Serverless Invoker Node Selection for Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Serverless computing platforms face challenges in handling performance peaks and maintaining operational flexibility, as they are hardware-limited and require overprovisioning to manage variable workloads, leading to inefficiencies in resource utilization and increased costs.

Innovation Solution

A distributed code execution method involving a serverless computing infrastructure with an invocation controller that selects an invoker node from a group of executing nodes and client nodes to execute application logic on-demand, allowing for load balancing across multiple serverless systems and external resources, thereby optimizing resource utilization and reducing the need for overprovisioning.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If serverless computing platforms overprovision hardware to handle variable workloads, then reliability is improved, but resource utilization deteriorates

Engineering Contradiction:
Improveability to handle performance peaksVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system segments the invoker group into multiple independent nodes (both internal executing nodes and external client nodes), allowing workload to be distributed across these segments. This enables the platform to handle variable workloads by activating only the necessary segments rather than maintaining all resources in a ready state, thus improving reliability during peaks while reducing overall resource consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically selects invoker nodes from the invoker group based on current workload conditions. The invocation controller adapts its behavior by choosing appropriate nodes in real-time, transitioning between using internal executing nodes and external client nodes as needed. This dynamic adaptation allows the system to maintain reliability during performance peaks while optimizing resource utilization by not keeping all potential invokers in a permanently active state.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If serverless computing platforms overprovision hardware to manage variable workloads, then adaptability is improved, but device complexity increases

Engineering Contradiction:
Improveoperational flexibilityVSAvoidinfrastructure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system creates a universal invoker group that can serve multiple purposes: internal executing nodes handle standard workloads while external client nodes provide additional capacity when needed. This multi-functional architecture allows the same infrastructure to adapt to varying workload demands without requiring separate dedicated hardware for each scenario, thus improving adaptability while avoiding the complexity of maintaining multiple specialized systems.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The invocation controller acts as an intermediary that manages the complexity of coordinating between internal executing nodes and external client nodes. By centralizing the selection and management logic in the invocation controller, the system achieves operational flexibility and adaptability without distributing complex management logic across all nodes, thus improving adaptability while containing device complexity in a single coordinating component.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If serverless computing platforms use traditional provisioning models, then productivity is maintained, but loss of substance increases

Engineering Contradiction:
Improvecode execution capabilityVSAvoidcost efficiency
Core Design Contradiction:
ProductivityVSLoss of substance

Solution Approach 1:

The system enables external client nodes to voluntarily join the invoker group and contribute their own computing resources to execute application logic. These client nodes essentially self-service by providing their own hardware resources, which reduces the need for the serverless platform to provision and maintain additional hardware. This maintains code execution capability (productivity) while reducing the platform's resource consumption and costs (loss of substance).

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11252220B2Distributed code execution involving a serverless computing infrastructure
Publication Date: 2022.02.15 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11252220B2 patent drawing
  • US11252220B2 patent drawing
  • US11252220B2 patent drawing

AI summary

A method for distributed code execution involving a first serverless computing infrastructure, the first serverless computing infrastructure comprising one or more first infrastructure nodes, the one or more first infrastructure nodes comprising a first invocation controller node and one or more first executing nodes, the one or more first infrastructure nodes being communicatively coupled to one or more client nodes, the one or more client nodes being external to the one or more first infrastructure nodes, the method comprising receiving event information, identifying application logic associated with the event information, selecting, from an invoker group, an invoker node for executing the application logic, causing the invoker node to execute the application logic, causing the invoker node to provide a result of the executed application logic, and receiving the result.