Hash-Based Back-End Server Arbitration in Distributed Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional methods for determining an appropriate back-end server in distributed computing environments face issues such as unbounded worst-case scenarios, efficiency drops with more objects, and resource-intensive retries, particularly in load balancing across multiple servers.
Innovation Solution
A method that creates a desired order of back-end servers based on a global function considering client ID and server ID, and selects a relevant subset to minimize performance impact, using load balancing services to compare arbitration order values from front-end servers to select the appropriate back-end server.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional lock-based arbitration is used to determine back-end server selection, then consistency in server selection is achieved, but system efficiency drops and resource consumption increases due to retries and unbounded worst-case scenarios
Solution Approach 1:
The patent replaces the mechanical lock-based arbitration system with a cryptographic hash-based selection mechanism. Instead of threads sequentially acquiring locks and attempting to modify shared state, each front-end server independently computes a deterministic back-end server selection using a hash function applied to the client session identifier and server farm configuration. This eliminates the need for inter-thread synchronization primitives while ensuring all servers arrive at the same back-end server selection, thereby resolving the contradiction between reliability and productivity.
2Reliability
If lock-based arbitration with retries is implemented, then eventual consistency is achieved, but resource consumption increases due to retry attempts between processes
Solution Approach 1:
The patent enables each front-end server to independently determine the appropriate back-end server without requiring communication, coordination, or retry logic with other servers. The hash-based selection function is purely local computation that uses the client session identifier and server farm configuration to deterministically select a back-end server. This self-service approach eliminates resource-intensive retry attempts while maintaining consistency across the distributed system.
3Reliability
If sequential lock acquisition is used for each back-end server object, then proper synchronization is achieved, but the complexity of the arbitration mechanism increases
Solution Approach 1:
The patent extracts the synchronization requirement from the arbitration mechanism entirely. Instead of implementing a complex lock acquisition and release protocol across multiple back-end server objects, the system uses a stateless hash-based selection that requires no shared state and no synchronization primitives. The selection logic is extracted from the concurrent execution domain and replaced with deterministic computation, eliminating the complexity of managing locks and synchronization while maintaining correctness.
Data Source
AI summary
The present invention extends to methods, systems, and computer program products for arbitrating an appropriate back-end server to receive channels of a client connection. Each front-end server in a server farm specifies a back-end server in the server farm that it deems appropriate for receiving channels of a client connection. Each specified back-end server is represented by an arbitration order, for example, a universally unique identifier. A relevant set of potential back-end servers that can receive channels of a client connection is selected according to function configured to minimize performance impact. A load balancing service compares arbitration orders for different back-end servers in the set of potential back-end servers to determine an appropriate back-end server for receiving channels of the client connection.


