Proxy Hash Table for Load Balancer Data Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Load balancers face challenges in rapidly reacting to changes in available computing devices while efficiently managing hardware and software resources, and existing data storage methods are inefficient due to large record sizes and potential hash collisions.

Innovation Solution

Implementing a hash-addressed memory system that uses two hash functions to store and retrieve data, where a hash value serves as a proxy for the search key, reducing record size but potentially leading to hash collisions, which are managed by distributing data messages to tolerant nodes, and using DNAT table versioning to handle changes in compute nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a hash value is stored as a proxy replacement for the search key in hash-addressed memory, then the size of each record is greatly reduced, but hash collisions increase

Engineering Contradiction:
Improvenumber of recordsVSAvoidhash collision rate
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent introduces a load balancer as an intermediary component between the hash-addressed memory and the data compute nodes. The load balancer receives data messages, retrieves data tuples from the hash-addressed memory using hash functions, and intelligently distributes these messages to appropriate compute nodes. This intermediary handles the complexity of hash collisions and node management, allowing the hash-addressed memory to use compact hash values while maintaining system reliability through the load balancer's collision tolerance and distribution logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the load balancer dynamically reacts quickly to changes in the pool of computing devices, then the service availability is improved, but the consumption of hardware and software resources increases

Engineering Contradiction:
Improvedynamic reaction speedVSAvoidresource consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent implements preliminary action by pre-computing and storing data tuples in the hash-addressed memory before they are needed for load balancing decisions. The system proactively maintains the hash-addressed memory structure with pre-hashed keys and values, so that when changes occur in the compute node pool, the load balancer can quickly retrieve appropriate data tuples without performing complex real-time computations. This preliminary preparation reduces the computational burden during dynamic adaptations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by maintaining the hash-addressed memory as a separate, simplified data structure that mirrors essential load balancing information without duplicating the full complexity of the compute node pool management. The hash-addressed memory stores compact hash values and data tuples that copy only the necessary routing information, allowing the load balancer to make quick decisions without processing entire node configurations, thus reducing resource consumption during dynamic reactions.

Inventive Principle:
Principle #26Copying

3Productivity

If two different search keys produce the same hash value, then the hash function efficiency is maintained, but the data retrieval accuracy decreases due to hash collisions

Engineering Contradiction:
Improvehash function speedVSAvoiddata retrieval accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent applies dimensionality change by using multiple hash functions instead of a single hash function. The load balancer retrieves data tuples by applying a first hash function to get an initial address, then applies a second hash function to verify or alternative-address the data tuple. This multi-dimensional approach to hashing allows the system to maintain the speed benefits of hash functions while reducing retrieval errors caused by collisions, as the probability of multiple hash functions producing the same collision is significantly lower.

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

Data Source

PatentUS11080252B1Proxy hash table
Publication Date: 2021.08.03 INTEL CORP
  • US11080252B1 patent drawing
  • US11080252B1 patent drawing
  • US11080252B1 patent drawing

AI summary

Some embodiments of the invention provide novel methods for storing data in a hash-addressed memory and retrieving stored data from the hash-addressed memory. In some embodiments, the method receives a search key and a data tuple. The method then uses a first hash function to generate a first hash value from the search key, and then uses this first hash value to identify an address in the hash-addressed memory. The method also uses a second hash function to generate a second hash value, and then stores this second hash value along with the data tuple in the memory at the address specified by the first hash value. To retrieve data from the hash-addressed memory, the method of some embodiments receives a search key. The method then uses the first hash function to generate a first hash value from the search key, and then uses this first hash value to identify an address in the hash-addressed memory. At the identified address, the hash-addressed memory stores a second hash value and a data tuple. The method retrieves a second hash value from the memory at the identified address, and compares this second hash value with a third hash value that the method generates from the search key by using the second hash function. When the second and third hash values match, the method retrieves the data tuple that the memory stores at the identified address.