Load Balancer Task ID Assignment via Consistent Hashing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing load balancing systems face challenges in ensuring task distribution across multiple worker entities while maintaining task ID uniqueness, handling worker pool changes, and ensuring security and privacy, especially in scenarios where tasks may have different referral times and require backup workers.
Innovation Solution
The proposed method generates unique task IDs using a haphazard randomization function (HAPH) that appends a counter to an ID, allowing for randomization and subsequent changes, ensuring that tasks from the same user are directed to the same worker, and uses a consistent hashing concept to distribute tasks uniformly across workers, avoiding storage of large routing tables.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional load balancing systems use routing tables to track task assignments, then task routing can be maintained, but the system complexity and storage requirements increase significantly
Solution Approach 1:
The patent extracts the routing table from the load balancer and redistributes it to individual workers. Each worker maintains a local mapping of task IDs to worker identifiers, eliminating the need for a centralized routing table at the load balancer. This extraction reduces the storage complexity at the load balancer while maintaining routing accuracy through distributed storage at workers.
Solution Approach 2:
The patent implements copying by having each worker create and maintain its own copy of the task-to-worker mapping. Instead of a single centralized routing table, multiple copies of the mapping information are distributed across workers, allowing each worker to independently manage its routing decisions without requiring the load balancer to store all routing information.
2Reliability
If task IDs are made unique and random for security, then security and privacy are improved, but task distribution uniformity becomes harder to achieve
Solution Approach 1:
The patent segments the task ID space into different ranges or buckets that can be independently managed. By dividing the unique task IDs into segments and distributing these segments across different workers, the system can maintain security through uniqueness while achieving uniform distribution through controlled allocation of segments to workers based on their capacity and availability.
Solution Approach 2:
The patent changes the parameter of task ID generation by using a combination of randomization for security and structured assignment for distribution. Task IDs are generated with random components for security, but the assignment process uses configurable parameters such as worker capacity, priority, and availability to control which worker receives which task, thereby achieving uniform distribution despite the random nature of task IDs.
3Adaptability or versatility
If the worker pool changes dynamically, then system adaptability is improved, but maintaining consistent task assignments becomes more difficult
Solution Approach 1:
The patent implements dynamics by making the worker pool and task assignments dynamically configurable. Workers can be added, removed, or reassigned without requiring changes to the core routing mechanism. The distributed mapping at each worker allows the system to dynamically adapt to pool changes while maintaining assignment consistency through local updates at each worker node.
Solution Approach 2:
The patent uses feedback mechanisms where workers report their status, capacity, and availability to the load balancer, which then adjusts task assignments accordingly. This feedback loop allows the system to maintain consistent task assignments even as the worker pool changes, by continuously monitoring worker states and redistributing tasks based on current conditions.
4Reliability
If all jobs from the same user are assigned to the same worker, then user session consistency is improved, but load balancing flexibility is reduced
Solution Approach 1:
The patent segments user jobs into different categories or priorities while maintaining the constraint that all jobs from the same user go to the same worker. By segmenting tasks based on type, priority, or resource requirements, the system can maintain session consistency while providing flexibility in how tasks are distributed across different workers for different user segments.
Solution Approach 2:
The patent applies local quality by allowing different load balancing strategies for different users or task types. While the general rule is that all jobs from the same user go to the same worker, the system can apply local variations such as prioritizing certain workers for specific user groups or task types, thereby maintaining consistency where needed while providing flexibility where appropriate.
Data Source
AI summary
A system and method are provided. The method includes a base station receiving a plurality of tasks from a plurality of user devices, each of the plurality of tasks involving a respective one of multiple sets of jobs. The method further includes a load balancer generating task allocations for the plurality of tasks, responsive to receiving the plurality of tasks from the base station. A unique task ID is generated for and assigned to each task, from which a task allocation is generated by the load balancer. The task allocations for the plurality of tasks are generated such that all the jobs received from a respective same one of the plurality of user devices are assigned to a same one of the worker entities in the set. The method also includes a set of worker entities performing the plurality of tasks in accordance with the task allocations.


