Hash-Based Work Load Distribution for Server Affinity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional work load distribution systems, such as those using a round-robin algorithm, fail to ensure consistent assignment of work to the same server process from a particular source, lacking both fairness and affinity in work distribution across multiple server processes.
Innovation Solution
A method involving a mixing function, such as a hash function, applied to request identifiers to generate reproducible outputs, followed by a modulo operation to determine server process assignments, ensuring fair and consistent distribution of work across multiple server processes while allowing for configurable server process numbers and hosting hierarchy points.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a round-robin algorithm is used for work distribution, then fairness of work distribution is ensured, but affinity to a particular server process for one application is lost
Solution Approach 1:
The patent changes the parameter of the distribution algorithm from sequential (round-robin) to hash-based. By applying a mixing function (hash) to the request identifier and using the result to select the server process, the system achieves both fairness (uniform distribution across n processes) and affinity (consistent selection for the same request identifier).
Solution Approach 2:
The patent replaces the mechanical sequential selection mechanism of round-robin with a mathematical hash function. This substitution transforms the distribution mechanism from one that cycles through processes sequentially to one that deterministically maps request identifiers to processes, achieving both fairness and stability simultaneously.
2Device complexity
If random server process assignment is used, then simplicity of the algorithm is maintained, but consistent assignment from a particular source to the same server process is lost
Solution Approach 1:
The patent uses the request identifier (such as a session ID or client ID) as a key to deterministically select the server process. This approach copies the stability of the identifier into the server process selection, ensuring that the same identifier always maps to the same process while maintaining algorithmic simplicity through the use of hash functions.
3Stability of the object's composition
If affinity to a particular server process is implemented, then consistent work assignment from a source is achieved, but fairness of work distribution across server processes may be compromised
Solution Approach 1:
The patent changes the selection criterion from sequential indexing to hash-based mapping. The mixing function distributes request identifiers uniformly across the range of server process indices, ensuring that affinity (same identifier → same process) does not bias the overall distribution. The fairness emerges from the uniform distribution properties of the hash function.
Data Source
AI summary
Technologies relating to work load distribution. A request is received for access to one of n server processes, where n is an integer greater than one. A mixing function is applied to an identifier associated with the request to generate a reproducible output representative of the identifier. A modulo operation is applied to the output, where a dividend in the modulo operation is the output and a divisor in the modulo operation is n, to determine a remainder. The request is assigned to a server process from the n server processes in accordance with the remainder.


