Rendezvous Hashing Lookup Table for Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing load balancing techniques using rendezvous hashing require significant computational resources to determine resource allocation for data storage, leading to high computational costs due to the need for continuous database repopulation upon resource allocation or removal.

Innovation Solution

A method and system that generate a lookup table using rendezvous hashing, where each cell's hash result is calculated and sorted based on an index and resource identifier, allowing for precomputation and reduced resource intensity for each request, with the ability to store the sorted table in memory for efficient access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If rendezvous hashing is used to determine resource allocation for data storage, then load balancing is achieved, but computational resources are significantly consumed due to continuous database repopulation

Engineering Contradiction:
Improveload balancingVSAvoidcomputational resources
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent precomputes hash values for all possible resource allocations and stores them in a lookup table before runtime. When a load balancing decision is needed, the system simply queries the precomputed table rather than performing hash calculations in real-time. This preliminary action eliminates continuous computational overhead while maintaining accurate load balancing, directly resolving the contradiction between reliability and energy consumption.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If rendezvous hashing continuously repopulates databases to track storage space allocation, then resource allocation accuracy is maintained, but computational cost increases

Engineering Contradiction:
Improveresource allocation accuracyVSAvoidcomputational cost
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent creates a static copy of the hash computation results in the form of a lookup table that mirrors the resource allocation decisions. Instead of continuously recomputing and updating database entries, the system uses this copied structure to quickly determine storage allocations. This copying approach maintains measurement precision while dramatically reducing computational cost by eliminating repeated calculations.

Inventive Principle:
Principle #26Copying

3Reliability

If hash computations are performed for each resource allocation request, then accurate load distribution is achieved, but request processing time increases

Engineering Contradiction:
Improveload distributionVSAvoidrequest processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs hash computations in advance and stores the results in a lookup table indexed by resource identifiers. When a request arrives, the system immediately retrieves the precomputed hash result from the table using the resource identifier as a key, avoiding any real-time computation. This preliminary action ensures accurate load distribution while minimizing request processing time to simple table lookups.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11233739B2Load balancing system and method
Publication Date: 2022.01.25 QWILT INC
  • US11233739B2 patent drawing
  • US11233739B2 patent drawing
  • US11233739B2 patent drawing

AI summary

A system and method for load balancing using a rendezvous hashing load balancer. The method includes generating a lookup table, the lookup table having cells that define a row and a column, wherein each of the row of the lookup table corresponds to an index, and each of the column corresponding to an identifier of a resource of a plurality of resources towards which the load balancer provides access, generating, for each of the cells, a first hash result based on an index of the each of the cells, and a corresponding resource identifier, each of the corresponding resource identifier associated with a unique resource of the plurality of resources, sorting the column of the lookup table for each of the row, based on the first hash result, and storing the sorted lookup table in a memory of the load balancer.