Load Balancer Task ID Assignment via Consistent Hashing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvetask routing accuracyVSAvoidrouting table storage
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #26Copying

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

Engineering Contradiction:
Improvetask ID securityVSAvoidload distribution uniformity
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If the worker pool changes dynamically, then system adaptability is improved, but maintaining consistent task assignments becomes more difficult

Engineering Contradiction:
Improveworker pool flexibilityVSAvoidtask assignment consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improveuser session consistencyVSAvoidload balancing flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10331493B2Systems and methods for distributed assignment of task identifiers
Publication Date: 2019.06.25 NEC CORP
  • US10331493B2 patent drawing
  • US10331493B2 patent drawing
  • US10331493B2 patent drawing

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.