Load Balancer Offloading via Client-Side Service Listings
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional load balancing systems are limited by the resources available on the load balancer, leading to a restricted number of requests that can be processed simultaneously and increased latency due to the need for clients to query the load balancer for server connections.
Innovation Solution
The system offloads redundant queries to client devices by storing service listings locally, allowing clients to determine suitable servers independently and reducing the reliance on load balancer resources, with configuration updates managed through a gateway node.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If all connection requests from client devices pass through the load balancer, then the load balancer can determine the most suitable server using performance counters, but the number of requests that can be accepted simultaneously is limited by load balancer resources
Solution Approach 1:
The patent extracts the server selection logic from the load balancer and implements it in client devices. Clients download service listings that map services to servers and independently determine which server to connect to, removing the bottleneck of centralized load balancer processing while maintaining informed server selection
Solution Approach 2:
The load balancer pre-computes and distributes service listings to client devices before requests are made. These listings contain pre-analyzed server suitability information based on performance counters, allowing clients to make immediate connection decisions without real-time load balancer intervention
2Measurement precision
If clients query the load balancer for server connections, then accurate server selection can be achieved, but latency is increased due to the additional communication step
Solution Approach 1:
Service listings with server mapping information are pre-computed and distributed to clients in advance. When clients need to connect to a service, they can immediately use the cached listing without querying the load balancer, eliminating the latency of real-time communication while maintaining accurate server selection
Solution Approach 2:
The server selection decision-making process is extracted from the load balancer and embedded in client devices through the service listings. Clients independently determine which server to connect to based on the pre-provided mappings, removing the latency-inducing query step
3Extent of automation
If the load balancer processes all queries, then centralized control and monitoring are maintained, but resources on the load balancer are consumed limiting scalability
Solution Approach 1:
The centralized load balancing function is segmented into distributed client-side operations. Each client device independently processes server selection using local service listings, transforming the monolithic load balancer workload into numerous small, independent client decisions that don't compete for load balancer resources
Solution Approach 2:
Client devices are empowered to self-determine server connections using locally stored service listings. This self-service approach eliminates the need for clients to continuously query the load balancer for routing decisions, freeing load balancer resources while maintaining distributed system coordination
Data Source
AI summary
A system and method for reducing load on a load balancer by offloading redundant queries to the client. The system and method includes receiving an optimized service listing and determining if a suitable server can be identified without submitting a query to the load balancer. An exemplary method includes receiving, from a load balancing node, a listing of client services hosted by servers remotely coupled to the load balancing node, locally storing this listing and identifying one or more the client services to be transmitted to the client device. The method further includes accessing the listing of client services to determine if one or more of the servers is hosting the identified client service, establishing a connection between the client device and the server, and transmitting the identified client service from the server to the client device.


