Dynamic Load Balancing via Continuous Performance Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing load balancing systems rely on predefined maximum capacities for servers, which may not accurately reflect actual operational capacities and can lead to suboptimal load distribution due to fluctuating demands over time.

Innovation Solution

Implementing continuous service performance testing (CSPT) that dynamically determines performance limits by iteratively allocating load to nodes and measuring their impact, allowing for real-time adjustment of load distribution to meet performance requirements without predefining capacities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If predefined maximum capacity is used for load balancing, then load distribution can be simplified, but accuracy of capacity reflection deteriorates

Engineering Contradiction:
Improveload balancing complexityVSAvoidcapacity measurement accuracy
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent implements dynamic capacity measurement by continuously monitoring server performance metrics (response time, error rates, throughput) and updating capacity estimates in real-time. This replaces static predefined capacities with dynamic, data-driven capacity values that adapt to changing server conditions, resolving the contradiction between simplicity and accuracy.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system establishes a feedback loop where performance data from servers is collected, analyzed, and used to adjust load distribution decisions. Capacity measurements are fed back into the load balancer to refine future routing decisions, enabling continuous improvement of capacity reflection accuracy without permanently increasing system complexity.

Inventive Principle:
Principle #23Feedback

2Ease of manufacture

If predefined maximum capacity is used, then system configuration is simplified, but adaptability to fluctuating demands deteriorates

Engineering Contradiction:
Improvesystem configuration easeVSAvoidadaptability to fluctuating demands
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The system transitions from static predefined capacities to dynamic capacity estimation that automatically adapts to fluctuating demand patterns. Capacity values are continuously updated based on observed server performance, enabling the system to respond to changing workloads without manual reconfiguration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The load balancing system performs self-measurement and self-adjustment of server capacities without external intervention. By automatically monitoring performance metrics and updating capacity estimates, the system serves itself in adapting to new conditions, eliminating the need for manual system reconfiguration when demands change.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If continuous performance testing is implemented, then capacity measurement accuracy is improved, but system complexity increases

Engineering Contradiction:
Improvecapacity measurement accuracyVSAvoidtesting system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system uses servers themselves as the testing apparatus by having them report their own performance metrics. This self-measurement approach eliminates the need for separate complex testing infrastructure, as servers naturally generate the data needed for capacity assessment through their own operational characteristics.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Performance data flows back through the existing load balancer infrastructure, utilizing current system components for measurement rather than requiring separate dedicated testing systems. The feedback mechanism leverages existing hardware and software resources, minimizing additional complexity while achieving accurate capacity measurement.

Inventive Principle:
Principle #23Feedback

4Productivity

If real-time load adjustment is implemented, then load balancing optimization is improved, but measurement and control complexity increases

Engineering Contradiction:
Improveload balancing optimizationVSAvoidmeasurement and control complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements real-time feedback-driven load adjustment where performance metrics continuously inform routing decisions. By maintaining a feedback loop between server performance monitoring and load distribution, the system achieves optimization without requiring complex predictive models or sophisticated control algorithms.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Rather than attempting to perfectly predict optimal load distribution, the system uses partial real-time adjustments based on current performance observations. This approach achieves sufficient optimization by reacting to actual conditions rather than attempting to anticipate future states, reducing measurement and control complexity.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11838193B1Real-time load limit measurement for a plurality of nodes
Publication Date: 2023.12.05 AMAZON TECH INC
  • US11838193B1 patent drawing
  • US11838193B1 patent drawing
  • US11838193B1 patent drawing

AI summary

A first node can be selected as a target node, and a second node can be selected as a control to determine a performance limit associated with providing a service. A request for the service can be determined to be routed to the first node. A first indication of a first performance measurement associated with processing a first load by the first node can be received. A second indication of a second performance measurement associated with processing a second load by the second node can be received. A performance error of the first node can be determined based on the first performance measurement and the second performance measurement. The performance limit can be determined based on the performance error, and an action can be triggered based on the performance limit.