Server Load Distribution via Client Assignment Redirection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing server selection mechanisms fail to intelligently distribute load among servers, leading to overloading of some servers while others remain underutilized, and cause lengthy disruptions when a server fails, especially in real-time communications services.
Innovation Solution
A system that redirects incoming client requests to other servers to distribute traffic load, using existing protocol mechanisms to assign clients to specific servers, with a database managing client-to-server assignments, allowing for centralized maintenance and reallocation of resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If random or round-robin server selection is used, then server selection is simple to implement, but load distribution is unintelligent causing some servers to be overloaded while others remain underutilized
Solution Approach 1:
The system implements feedback by having servers query a name service to determine client assignments before handling requests. The name service receives feedback about server availability and client assignments, and uses this information to redirect clients to appropriate servers, creating a closed-loop system that optimizes load distribution based on real-time server status and assignment data.
Solution Approach 2:
The name service acts as an intermediary between clients and servers. Instead of clients directly selecting servers or servers passively accepting connections, the name service mediates the interaction by querying client assignments and redirecting clients to their designated servers, enabling intelligent load distribution without requiring clients to have complex selection logic.
2Device complexity
If existing server selection mechanisms are used, then protocol changes are not required, but server failure causes lengthy disruptions before clients are rehomed
Solution Approach 1:
The system performs preliminary action by pre-establishing client-to-server assignments in the name service database before server failures occur. When a server fails, the name service already has the assignment information ready and can immediately redirect affected clients to alternative servers without requiring clients to perform discovery or reselection operations, thereby minimizing disruption time.
3Reliability
If multiple servers provide common services, then service availability increases, but load distribution becomes problematic causing some servers to fail with too many clients
Solution Approach 1:
The name service implements feedback mechanisms to monitor server status and client assignments. When servers become overloaded or fail, the name service receives feedback about their status and automatically redirects clients to healthier servers, maintaining service availability while preventing any single server from becoming overloaded with too many clients.
Data Source
AI summary
Disclosed is a system for servers to redirect client requests to other servers in order to distribute client traffic among the servers. A client is assigned to a server although the client may be unaware of that assignment. When the client accesses a server, a server possibly identified to the client by a name service, the server checks the client's assignment. If the client is not assigned to this server, then in some scenarios this server redirects the client to its assigned server. The client responds by sending its request to the assigned server. In other scenarios, the first server accessed by the client proxies the client's traffic to the assigned server. A database is kept of client-to-server assignments. If the present load distribution is less than ideal (e.g., clients are assigned to an unavailable server), then the assignment database is updated to reflect how the load should be distributed.


