Time-reversed linear probing for hash table timeout management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current approaches for implementing timeouts in hash tables, such as tumbling windows, require maintaining and searching through multiple hash tables, leading to excessive space usage and time consumption.

Innovation Solution

Implementing timeouts using time-reversed linear probing within a single hash table, where the new key and arrival time replace the previous key and arrival time at the corresponding index, and the previous key is moved to the nearest eligible sequential index, allowing for efficient expiration and memory management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If tumbling windows with two separate hash tables are used to implement timeouts, then timeout functionality is achieved, but space usage increases and search time is excessive

Engineering Contradiction:
Improvetimeout functionalityVSAvoidmultiple hash tables
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the timeout management functionality into a single hash table by integrating expiration time information directly into the table entries. Instead of maintaining separate hash tables for active and expired entries, the invention combines both functionalities in one structure, using the same hash table for both storage and timeout management through the use of expiration timestamps and linear probing techniques.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent segments the hash table entries by including expiration time information as a distinct field within each entry. This allows the system to differentiate between active and expired entries without requiring separate data structures. The segmentation of entry information (key, value, expiration time) enables efficient timeout handling while maintaining a unified hash table structure.

Inventive Principle:
Principle #1Segmentation

2Reliability

If tumbling windows with two separate hash tables are used to implement timeouts, then timeout functionality is achieved, but search time increases

Engineering Contradiction:
Improvetimeout functionalityVSAvoidsearch time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-calculating and storing expiration timestamps for each entry when it is inserted into the hash table. This allows the system to determine entry validity in constant time during search operations, rather than requiring complex window-based checks. The expiration time is prepared in advance, enabling efficient timeout detection during lookups.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

By merging timeout management into the single hash table structure, the invention eliminates the need to search through multiple separate tables to determine entry validity. The combined structure allows the search algorithm to check both the presence of a key and its expiration status in a single pass through the hash table using linear probing, significantly reducing search time compared to checking multiple separate tables.

Inventive Principle:
Principle #5Merging (Combining)

3Device complexity

If a single hash table with time-reversed linear probing is used, then space efficiency improves, but handling collisions and expirations becomes more complex

Engineering Contradiction:
Improvehash table structureVSAvoidimplementation complexity
Core Design Contradiction:
Device complexityVSEase of manufacture

Solution Approach 1:

The patent applies inversion by using time-reversed linear probing, where the probing sequence follows the reverse chronological order of insertions. When resolving collisions or checking for expired entries, the algorithm probes in the opposite direction of traditional linear probing, starting from the insertion point and moving backwards through time. This inverted approach simplifies the detection of expired entries by naturally encountering them in reverse temporal order.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The patent changes the probing parameter by incorporating expiration timestamps as a key factor in the probing sequence. Instead of using only the hash function output as the starting point, the algorithm uses the expiration time information to determine the probing direction and sequence. This parameter change allows the single hash table to efficiently handle both collisions and expirations by integrating temporal information into the collision resolution mechanism.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8306958B2Time-outs with time-reversed linear probing
Publication Date: 2012.11.06 AT&T INTELLECTUAL PROPERTY I L P
  • US8306958B2 patent drawing
  • US8306958B2 patent drawing
  • US8306958B2 patent drawing

AI summary

A current key is received at a current arrival time at a computer. An index in an array corresponding to the current key is determined using a hash function. A previous key and a previous arrival time are retrieved from the array at the index. The array is transformed by replacing the previous key and the previous arrival time with the current key and the current arrival time in the array at the index. The previous key and the previous arrival time are inserted into a nearest eligible sequential index in the array.