Client-Side Load Balancing via Topology Service Endpoints
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Server performance degradation due to excessive service requests can be mitigated by implementing a load balancing system that includes multiple server devices and service endpoints, where a client computing system sends a topology service request to obtain target service endpoint resource identifiers and applies a load balancing algorithm to select an appropriate endpoint for service requests.
Innovation Solution
A server farm with topology and target service endpoints, where the client computing system receives target service endpoint URIs from a topology service endpoint, applies a load balancing algorithm to select a suitable endpoint, and sends service requests to the identified endpoint, allowing for efficient distribution of requests across multiple servers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a single server device handles all service requests, then device complexity is reduced, but server performance degrades due to excessive requests
Solution Approach 1:
The patent segments the server farm into multiple server devices, each handling a portion of service requests. This segmentation distributes the request load across multiple devices, preventing any single server from being overwhelmed while maintaining system reliability. The load balancing device facilitates this segmentation by routing requests to appropriate servers.
Solution Approach 2:
The patent introduces a load balancing device as an intermediary between client computing systems and server devices. This intermediary receives service requests from clients and forwards them to appropriate servers in the farm, managing the complexity of request distribution without requiring clients to directly manage multiple servers.
2Reliability
If a load balancing device is introduced to distribute requests, then server performance is maintained, but device complexity increases
Solution Approach 1:
The load balancing device serves as an intermediary that simplifies the system architecture by centralizing request distribution logic. Rather than requiring complex client-side management of multiple servers, the intermediary handles the routing decisions, maintaining server performance while managing complexity at a dedicated component level.
Solution Approach 2:
The load balancing device performs multiple functions including receiving service requests from clients, applying load balancing algorithms, selecting target servers, and forwarding requests. This multi-functionality consolidates complex operations into a single device, improving server performance without proportionally increasing overall system complexity.
3Productivity
If client computing systems apply load balancing algorithms, then request distribution is optimized, but ease of operation decreases
Solution Approach 1:
The load balancing device acts as an intermediary that performs the complex load balancing algorithm execution on behalf of client computing systems. This removes the operational burden from clients, who simply send requests to the load balancer, while the intermediary handles the intelligent request distribution and algorithm application.
Solution Approach 2:
The load balancing device autonomously applies load balancing algorithms to distribute requests without requiring client systems to implement or manage these algorithms. The system serves itself by having the load balancer automatically make routing decisions based on server status and request characteristics.
Data Source
AI summary
A server farm includes a plurality of server devices. The plurality of server devices includes a plurality of topology service endpoints and a plurality of target service endpoints. A client computing system sends a topology service request to one of the topology service endpoints. In response, the topology service endpoint sends target service endpoint Uniform Resource Identifiers (URIs) to the client computing system. When a client application at the client computing system needs to send a target service request to one of the target service endpoints, the client computing system applies a load balancing algorithm to select one of the target service endpoint URIs. The client computing system then sends a target service request to the target service endpoint identified by the selected one of the target service endpoint URIs. In this way, the client computing system may use a load balancing algorithm appropriate for the client application.


