Distributed Load Balancer State Synchronization via Atomic RMC
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Centralized load balancing architectures in data centers face performance limitations due to single points of failure and network bottlenecks, which can lead to inefficiencies and reliability issues.
Innovation Solution
A distributed load balancer system utilizing multiple service engines that synchronize load balancing state information using a distributed data store service supporting an atomic read-miss-create (RMC) function, ensuring global visibility and constant updates of load balancing data across service engines.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a centralized load balancer is used, then data management is straightforward, but system reliability deteriorates due to single point of failure
Solution Approach 1:
The patent divides the centralized load balancer into multiple distributed service engines that operate independently across different nodes. Each service engine maintains its own state information locally, eliminating the single point of failure while distributing the data management function across the network rather than concentrating it in one centralized location.
2Ease of operation
If a centralized load balancer is used, then data management is straightforward, but network throughput deteriorates due to network bottleneck
Solution Approach 1:
The patent segments the load balancing function across multiple distributed service engines, each handling connections locally without requiring all traffic to pass through a single centralized point. This distribution eliminates the network bottleneck that would exist in a centralized architecture where all connection decisions must converge at one location.
3Reliability
If a distributed load balancer is used, then system reliability is improved, but device complexity increases
Solution Approach 1:
The patent employs copying by having multiple service engines maintain local copies of load balancing state information. Instead of requiring complex real-time synchronization across all nodes, each service engine keeps its own copy of the state data, which simplifies the distributed system architecture while maintaining reliability through redundancy.
4Productivity
If a distributed load balancer is used, then network throughput is improved, but synchronization complexity increases
Solution Approach 1:
The patent uses copying by having each service engine maintain a local copy of load balancing state information. This approach improves network throughput by allowing parallel processing at multiple nodes while avoiding the complexity of centralized coordination. The local copies are updated independently based on local events, eliminating the need for complex global synchronization mechanisms.
Data Source
AI summary
Load balancing includes receiving, from a client, a connection request to establish a connection with a server; determining load balancing state information based at least in part on the connection request; synchronizing the load balancing state information across a plurality of service engines using a distributed data store service, the distributed data store service being configured to: determine whether in a distributed data store there is an existing entry that corresponds to the load balancing state information; in the event that it is determined that in the distributed data store there is no existing entry that corresponds to the load balancing state information, atomically create a new entry based on the load balancing state information; and distributing the connection to a selected server among a plurality of servers, the selected server being selected based at least in part on the load balancing state information.


