Elevator-Stairs Data Structure for Fast Dictionary Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing dictionary data structures, such as search trees and hashing methods, are inefficient for big data applications due to slow search and update times, especially for range queries and longest common prefix matching, which are critical for handling massive data with continuous updates.

Innovation Solution

The construction of an elevator-stairs tree and/or log W elevators data structure, combined with a PATRICIA trie, allows for fast searches and updates by switching between these data structures based on query lengths, reducing the upper bound of running times for search, insert, delete, and range query operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If search trees (binary search tree, B+ tree) are used for dictionary operations, then the data can be stored in a structured manner, but the search and update times become too slow for big data applications

Engineering Contradiction:
Improvedata structure reliabilityVSAvoidsearch and update time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the dictionary data structure into multiple levels (e.g., level 0, level 1, level 2) where each level handles different ranges of keys. This segmentation allows parallel processing of search operations across different levels, reducing the overall search time from O(log n) to O(1) amortized by distributing the search workload across multiple concurrent structures.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension by using an array of dictionaries instead of a single hierarchical tree structure. Each dictionary in the array operates independently and can be accessed simultaneously, transforming the single-path search of traditional trees into a multi-path parallel search, effectively adding a dimensional aspect to the data access pattern.

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

2Speed

If hashing methods are used for fast search, then search speed improves, but range query operations incur very large time penalties

Engineering Contradiction:
Improvesearch speedVSAvoidrange query time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent creates a universal data structure that serves multiple functions: individual key search, range queries, and prefix matching. By maintaining an array of dictionaries with overlapping key ranges, the system can efficiently handle both point queries (using hash-based lookup) and range queries (by identifying and querying only the relevant subset of dictionaries), making the structure multi-functional without sacrificing performance in either case.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Loss of time

If PATRICIA trie is used for dictionary operations, then theoretical running times are good, but practical performance is slow due to many random memory accesses

Engineering Contradiction:
Improvetheoretical running timeVSAvoidpractical search performance
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent uses copying by maintaining multiple copies of dictionary data in an array structure, where each dictionary is a self-contained hash table. This eliminates the need for deep tree traversals and random memory accesses characteristic of PATRICIA tries, as all necessary data for a given key range is available in a single, contiguous memory location that can be accessed directly without following pointer chains through multiple levels.

Inventive Principle:
Principle #26Copying

4Quantity of substance

If traditional dictionary structures are used, then memory usage is manageable, but they cannot handle massive continuous updates and search requests efficiently

Engineering Contradiction:
Improvememory capacityVSAvoidupdate and search throughput
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-allocating and pre-organizing data into multiple dictionaries in an array structure, each prepared to handle specific key ranges. This pre-organization allows incoming update and search requests to be immediately routed to the appropriate dictionary without dynamic restructuring or rebalancing operations, enabling the system to handle massive continuous updates and searches at high throughput while maintaining efficient memory utilization.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10055439B2Fast, scalable dictionary construction and maintenance
Publication Date: 2018.08.21 INFINITEBIO
  • US10055439B2 patent drawing
  • US10055439B2 patent drawing
  • US10055439B2 patent drawing

AI summary

A computer-implemented method of constructing and maintaining a record keeping dictionary data structure can include: generating a PATRICIA trie from a set of strings; generating multiple kth-level elevator-stairs data structures at exponentially reducing k-levels, wherein each of the kth-level elevator-stairs data structure includes a kth-level trie corresponding to the PATRICIA trie and wherein nodes of the kth-level trie at string depths of integer multiples of k are accessible through hash table links; and linking nodes in neighboring kth-level tries of the multiple kth-level elevator-stairs data structures where the nodes represent a same node in the PATRICIA trie.