Load Rebalancing via Early Close Keep-Alive Connections

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In network-based services, some endpoints become overloaded due to varying client requests, leading to imbalanced loads and longer wait times for clients, as existing load balancing mechanisms fail to effectively redistribute workload from overloaded endpoints.

Innovation Solution

Implementing a load shedding mechanism that identifies overloaded endpoints and reassigned client keep-alive connections to different endpoints using a non-disruptive early close request, allowing the endpoint selection mechanism to rebalance the load and prevent endpoint hardware failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional load balancers distribute client traffic among nodes using techniques like round robin or least connections, then traffic distribution is achieved, but endpoints still become overloaded due to varying client request patterns and keep-alive connections

Engineering Contradiction:
Improvetraffic distribution efficiencyVSAvoidendpoint load balance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system continuously monitors endpoint load metrics including active connection counts, request rates, and response times. Based on this feedback, the load balancer dynamically adjusts traffic distribution in real-time, shifting connections away from overloaded endpoints to underutilized ones, thereby preventing endpoint overload while maintaining efficient traffic distribution

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The load balancing approach transitions from static algorithms like round robin to dynamic load-based distribution. The system continuously adapts traffic routing decisions based on current endpoint conditions, adjusting the weighting and selection of endpoints in real-time to reflect actual load states, ensuring both efficient distribution and reliable load balancing

Inventive Principle:
Principle #15Dynamics

2Reliability

If load balancers terminate and restart client connections to redistribute traffic, then workload can be shifted from overloaded endpoints, but this disrupts client connections and increases wait times

Engineering Contradiction:
Improveload redistributionVSAvoidclient wait time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The load balancer acts as an intermediary that maintains client connections while dynamically routing traffic to different endpoints. Instead of terminating connections, it proxies requests through the connection to appropriate endpoints, enabling load redistribution without disrupting the client's connection state or increasing wait times

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system proactively monitors endpoint load conditions and begins redistributing traffic before endpoints become overloaded. By detecting early signs of overload and preemptively shifting connections, the system prevents overload conditions from developing, eliminating the need for disruptive connection terminations and avoiding increased client wait times

Inventive Principle:
Principle #10Preliminary action

3Productivity

If multiple load balancers are deployed to handle large-scale services, then client traffic capacity increases, but the complexity of load rebalancing across load balancers and endpoints increases

Engineering Contradiction:
Improvetraffic handling capacityVSAvoidload balancing system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The load balancing system is segmented into hierarchical layers with each load balancer managing its own set of endpoints independently. Each load balancer implements autonomous load monitoring and traffic distribution logic, allowing the system to scale to multiple load balancers without requiring centralized coordination, thereby increasing traffic capacity while managing complexity through modular decomposition

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10623319B1Load rebalancing in a network-based system
Publication Date: 2020.04.14 AMAZON TECH INC
  • US10623319B1 patent drawing
  • US10623319B1 patent drawing
  • US10623319B1 patent drawing

AI summary

A load shedding mechanism and an endpoint selection mechanism may be used to rebalance loads of endpoints of a network-based service. The load shedding mechanism may monitor health information of one or more endpoints and determine whether to perform a load shedding operation based on the health information. In response to determining to perform the load shedding operation for a selected endpoint, the load shedding mechanism may, prior to a client close request for a keep-alive connection of the selected endpoint, trigger an early close of the keep-alive connection. In response to a corresponding client attempting to reconnect based at least in part on the early close, the endpoint selection mechanism may select another endpoint to form a keep-alive connection with the client.