Request Router Load Balancing via Randomized Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing load balancing systems face challenges in accurately routing requests due to incomplete or delayed performance data from servers, leading to uneven distribution of requests across servers, resulting in some servers being overwhelmed while others are underutilized.

Innovation Solution

Implementing statistical approaches that use estimated back-end node loads and error calculations to dynamically select the most appropriate load balancing technique, such as least requests or round robin, based on the reliability and accuracy of load data, and combining deterministic and random selection methods for routing decisions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If load balancing is based on current server performance data, then request distribution should be optimized, but performance data may be incomplete or delayed leading to poor routing decisions

Engineering Contradiction:
Improverequest distribution efficiencyVSAvoidrouting decision accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by maintaining historical performance data and pre-calculating load estimates before actual routing decisions are needed. This allows the load balancer to have ready-to-use load information even when real-time data is unavailable, ensuring reliable routing decisions can be made based on pre-prepared estimates.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts its behavior based on data availability. When real-time performance data is available, it uses current load information; when data is incomplete or delayed, it automatically transitions to using historical data and statistical estimates. This dynamic adaptation resolves the contradiction by making the system flexible enough to maintain reliability under varying data conditions while preserving productivity.

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If load balancing uses deterministic selection based on current load, then routing precision should improve, but system complexity increases due to need for accurate real-time data

Engineering Contradiction:
Improveload measurement accuracyVSAvoiddata collection and processing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system extracts only the essential elements needed for load estimation - historical performance data and statistical parameters - rather than maintaining complex real-time monitoring of all server metrics. This extraction approach provides sufficient measurement precision for routing decisions while significantly reducing the complexity of data collection and processing infrastructure.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system changes parameters from requiring precise real-time load measurements to using statistical estimates with known error margins. By accepting and quantifying uncertainty through parameter changes (using mean and standard deviation instead of exact values), the system achieves adequate measurement precision without the complexity of real-time data collection systems.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If load balancing relies on frequent performance reports, then routing decisions should be more accurate, but data latency and volatility issues persist

Engineering Contradiction:
Improverouting decision reliabilityVSAvoiddata latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by continuously updating and storing historical performance data even when not immediately needed for routing. This creates a ready reservoir of historical information that can be quickly accessed and used for load estimation, reducing the impact of data latency while maintaining reliable routing decisions through pre-prepared statistical data.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11245628B1Load balancing based on randomized selection of a load value based on a load probability distribution
Publication Date: 2022.02.08 AMAZON TECH INC
  • US11245628B1 patent drawing
  • US11245628B1 patent drawing
  • US11245628B1 patent drawing

AI summary

Request routing in a network of computing devices. Back-end nodes associated with a request router send load reports to the request router that makes routing determinations for request from clients based on the reports. To select a back-end node for processing a request, a request router determines, based on the reports and one or more factors, load probability distributions for each of a group of back-end nodes selected from available back-end nodes. A load value is then randomly selected for each back-end node in the group, based on the node's probability distribution. The node in the group with the least randomly-selected value is chosen to process the request.