Global Server Load Balancer Using Distributed Test Units
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current global server load balancers (GSLBs) increase response time due to data gathering from routers and may be blocked by firewalls, and they do not effectively manage temporary bottlenecks in client-server communication links.
Innovation Solution
A GSLB that periodically receives communication data from test units distributed throughout the Internet to estimate client location and select servers based on up-to-date communication parameters, using a proprietary Layer 7 protocol for two-way communication to manage communication tests and select servers with optimal parameters for client requests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the GSLB queries routers near each server for route information, then the server selection can be optimized based on actual network conditions, but the response time to client requests increases due to data gathering delays
Solution Approach 1:
The system performs server selection and route optimization in advance by having test units continuously monitor network conditions and report to the GSLB before actual client requests arrive. This preliminary data gathering eliminates the need for real-time queries when clients connect, thus reducing response time while maintaining selection accuracy.
Solution Approach 2:
Test units distributed throughout the Internet autonomously perform communication tests with servers and automatically report results to the GSLB without requiring the GSLB to actively query routers. This self-service approach shifts the data collection burden from the GSLB to distributed test units, reducing the GSLB's processing delays.
2Adaptability or versatility
If the GSLB uses distributed directors to gather communication data from multiple routers, then the load balancing can optimize server selection, but the queries may be blocked by firewalls protecting clients
Solution Approach 1:
The patent introduces test units as intermediary elements that perform communication tests with servers from various network locations. These test units act as mediators between the GSLB and the actual network paths, collecting route information without requiring direct queries to client-protected routers, thus bypassing firewall restrictions while maintaining load balancing functionality.
3Productivity
If the GSLB periodically determines load on web servers, then the server selection can balance the load across servers, but the load balancing cannot effectively manage temporary bottlenecks in communication links
Solution Approach 1:
The system implements continuous feedback loops where test units repeatedly perform communication tests with servers and report results to the GSLB in real-time. This ongoing feedback enables the GSLB to detect temporary bottlenecks in communication links immediately and dynamically adjust server selection, maintaining both load distribution efficiency and communication reliability.
Solution Approach 2:
Test units perform communication tests at regular periodic intervals, continuously monitoring network conditions between clients and servers. This periodic monitoring allows the GSLB to detect temporary bottlenecks as they occur and re-route traffic accordingly, preventing bottlenecks from degrading service quality while maintaining effective load balancing.
Data Source
AI summary
A method of selecting, by a global server load balancer (GSLB), a server to represent a virtual server hosted by a plurality of servers. The method includes receiving, by the GSLB, values of one or more communication parameters of paths between at least one test unit and at least two servers from the plurality of servers, receiving, by the GSLB, a request to establish a connection with the virtual server from a client, selecting a test unit from the at least one test unit to represent the client, and selecting one of the plurality of servers to represent the virtual server before the client, responsive to the values of the one or more parameters for paths between the selected test unit and the at least two servers of the selected test units.


