Distributed Load Balancer Health Checking via BGP Advertisement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional load balancers face scalability issues in large network environments, such as cloud computing, and rely on outdated techniques like max connections, round robin, and least connections 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, where load balancer nodes randomly select server nodes to handle connections, and local load balancer modules on server nodes make decisions based on current resource metrics, maintaining direct TCP connections between clients and servers without terminating them.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional load balancers are used with centralized control, then load balancing decisions can be made using traditional algorithms, but the system cannot scale well in large network environments with hundreds or thousands of host devices
Solution Approach 1:
The patent divides the centralized load balancer into multiple distributed load balancer nodes that operate independently. Each node manages a portion of the host devices and makes local load balancing decisions, enabling the system to scale to hundreds or thousands of hosts without a single point of failure or bottleneck.
Solution Approach 2:
The patent transitions from a single-dimensional centralized architecture to a multi-dimensional distributed architecture where load balancing decisions occur at multiple levels: local node decisions, regional coordinator decisions, and global system coordination. This dimensional expansion enables scalability while maintaining control.
2Ease of operation
If conventional load balancers terminate TCP connections and act as proxies, then connection management is centralized, but direct communication between clients and servers is blocked and connection integrity is lost
Solution Approach 1:
The patent introduces health check nodes as intermediaries that monitor server status without terminating client connections. These nodes act as observers that can assess server health and inform load balancing decisions while allowing direct TCP connections to pass through unchanged between clients and servers.
Solution Approach 2:
The load balancing system enables servers to self-report their health status and capacity through health check mechanisms. Servers actively participate in the load balancing process by providing real-time information about their availability and current load, eliminating the need for centralized connection termination.
3Productivity
If traditional load balancing algorithms are used without health checking, then simple routing decisions can be made, but the system cannot detect or respond to server failures or degraded performance
Solution Approach 1:
The patent implements preliminary health checks that continuously assess server status before routing new connections. Health check nodes proactively monitor server metrics such as response time, error rates, and resource utilization, enabling the system to detect potential failures before they impact client connections.
Solution Approach 2:
The system establishes feedback loops where health check results are continuously fed back to load balancer nodes. This real-time information allows the system to dynamically adjust routing decisions based on current server conditions, improving both routing efficiency and reliability by avoiding failed or degraded servers.
Data Source
AI summary
A distributed load balancer in which a router receives packets from at least one client and routes packet flows to multiple load balancer nodes. The router exposes a public IP address and the load balancer nodes all advertise the same public IP address to the router. The router may implement a per-flow hashed multipath routing technique, for example an equal-cost multipath (ECMP) routing technique, to distribute the flows across the load balancer nodes. Thus, the multiple load balancer nodes may service a single public endpoint. The load balancer nodes may advertise to the router according to the Border Gateway Protocol (BGP). Rather than advertising itself, however, a load balancer node may be advertised to the router by one or more neighbor load balancer nodes; the neighbor nodes may terminate the BGP sessions with the router in response to determining that the load balancer node has failed.


