Hybrid Hash Algorithm Using Jump Table for Load Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing load balancing algorithms, such as consistent hash algorithms, face challenges in achieving uniform load distribution, consistency during failures, and efficient resource management, particularly in cloud-native environments with dynamic workloads and stateless architectures.

Innovation Solution

A jump table-assisted hybrid hash algorithm is employed to distribute loads across servers, utilizing a bit map with logmN levels to improve lookup time and reduce resource consumption by maintaining server availability indicators, allowing for efficient load balancing and fault tolerance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a consistent hash algorithm is used to distribute traffic to servers, then fault tolerance is achieved, but uniform load distribution and algorithmic performance are compromised

Engineering Contradiction:
Improvefault toleranceVSAvoidalgorithmic performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the hash table into multiple levels (L0 to Lk) where each level contains indices that map to the previous level. This hierarchical segmentation allows the system to perform lookups efficiently by traversing from the top level down to the leaf level, achieving O(log_m N) time complexity while maintaining consistent hashing properties for fault tolerance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a multi-dimensional hierarchical structure by organizing the hash table into multiple levels rather than using a flat single-level structure. Each level adds a dimension to the lookup process, allowing efficient navigation through the hash table while maintaining the consistent hashing algorithm's fault tolerance capabilities.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If existing open-source consistent hashing algorithms are used, then fault tolerance is achieved, but uniform load distribution is sacrificed

Engineering Contradiction:
Improvefault toleranceVSAvoiduniform load distribution
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

The patent applies local quality by making each level of the hierarchical hash table serve a specific function: upper levels provide efficient lookup paths while lower levels maintain detailed server mappings. The leaf level (L0) contains the actual server indices, ensuring uniform load distribution, while upper levels optimize for lookup speed and fault tolerance.

Inventive Principle:
Principle #3Local quality

3Device complexity

If a traditional hash table is used for server lookup, then simplicity is maintained, but lookup time increases

Engineering Contradiction:
Improvealgorithm simplicityVSAvoidlookup time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent performs preliminary action by pre-organizing the hash table into a hierarchical structure during initialization. The multi-level indices are pre-computed and stored, allowing lookup operations to efficiently traverse from the top level down to the leaf level in O(log_m N) time, significantly faster than traditional linear search while maintaining reasonable structural complexity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11528322B1Consistent distribution using jump table assisted hybrid hash
Publication Date: 2022.12.13 CITRIX SYSTEMS INC
  • US11528322B1 patent drawing
  • US11528322B1 patent drawing
  • US11528322B1 patent drawing

AI summary

Improving load distribution and consistency is provided. A device intermediary to clients and servers can maintain bit values indicative of server availability stored in indices arranged in various levels. A lowest level comprises indices corresponding to a list of servers repeated multiple times. Each index in a higher level maps to a set of indices in a lower level. The device can receive a request from a client to access a server. The device can identify an index in a highest level. The device can determine a second index in the highest level that is after the index in the highest level and has a bit value indicating server availability. The device can identify an index in the lowest level mapping to the second index in the highest level. The device can select a server corresponding to the index in the lowest level.