Distributed Load Balancer Health Checking via Gossip Protocol
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional load balancers face scalability issues in large network environments, such as cloud computing services, and rely on outdated techniques like max connections and round robin for load balancing, which are inefficient and difficult to manage in distributed systems.
Innovation Solution
A distributed load balancing system that employs multipath routing, consistent hashing, and health checking, allowing load balancer nodes to randomly select server nodes and enabling servers to manage TCP connections directly, without terminating client traffic, thus improving scalability and efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional load balancers use single dedicated boxes with multiple NICs, then connection handling capability is maintained, but scalability fails in large network environments with hundreds or thousands of host devices
Solution Approach 1:
The patent segments the load balancer into multiple distributed nodes (first load balancer node and second load balancer node) that operate independently but coordinate through health checking mechanisms. Each node manages a subset of host devices, allowing the system to scale by adding more nodes rather than expanding a single complex device.
Solution Approach 2:
The patent transitions from a single-point load balancing architecture to a multi-dimensional distributed architecture where load balancer nodes are distributed across multiple network locations. This dimensional expansion enables the system to handle larger numbers of host devices by leveraging spatial distribution and network infrastructure.
2Ease of operation
If conventional load balancers use max connections, round robin, and least connections techniques, then load balancing is achieved, but management becomes difficult in distributed systems
Solution Approach 1:
The patent implements self-service through autonomous health checking where load balancer nodes automatically monitor the status of host devices and each other without centralized control. Nodes independently detect failures and adjust routing decisions based on health status, eliminating the need for complex centralized management of load balancing decisions.
Solution Approach 2:
The patent employs feedback mechanisms through health checking protocols where load balancer nodes continuously monitor host device status and exchange this information with other nodes. This feedback loop enables automatic adaptation to changing system conditions without requiring manual reconfiguration or complex control algorithms.
3Adaptability or versatility
If conventional load balancers terminate TCP connections as proxies, then connection control is achieved, but direct communication between host devices and clients is prevented
Solution Approach 1:
The patent extracts the connection termination function from the load balancer nodes, allowing TCP connections to pass through to host devices without being terminated. This enables direct communication between clients and servers while the load balancer nodes continue to perform routing and load balancing functions without interfering with the TCP connection lifecycle.
Data Source
AI summary
A health check method for a distributed load balancer in which a router receives packets from at least one client and routes packet flows to multiple load balancer (LB) nodes, which in turn distribute the packet flows among multiple server nodes. Each LB node may be responsible for health checking one or more other LB nodes. In addition, each LB node may health check one or more of the server nodes. Heartbeat information for the nodes may be disseminated among the LB nodes according to a gossip protocol. The LB nodes may send LB node membership information to the server nodes. Failure of a node may be detected by the LB nodes according to the heartbeat information, and appropriate actions taken.


