Trie-Based Multimap Encoding for Multi-Value Key Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage methods using tries are limited in that they can only map each key to one value, whereas multimap structures allow multiple values per key, and there is a need for a data structure that can efficiently store and retrieve key-value pairs where keys and values can be strings or integers, and each key can map to multiple values.

Innovation Solution

A trie-based data structure is developed where each key can map to multiple values by encoding the key and value, using a hash value of the original value as the value for the encoded key, and appending a fixed string to create a second key, allowing for efficient insertion and retrieval of key-value pairs where each key can map to multiple values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a traditional trie structure is used, then the data structure is simple and efficient for single-value mapping, but it cannot store multiple values for each key

Engineering Contradiction:
Improvemulti-value mapping capabilityVSAvoiddata structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the single-value trie into multiple parallel tries, each handling a specific value position. By dividing the storage structure into multiple segments (tries), the system can store multiple values for each key while maintaining the efficiency of individual trie structures. Each trie in the array stores values at a specific position, and the collection of tries enables multi-value mapping.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary array structure that maps keys to multiple trie structures. This intermediary layer enables the transition from single-value to multi-value mapping by routing each key to multiple corresponding tries, each containing values at different positions. The intermediary structure resolves the conflict between simplicity and multi-value capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If a multimap structure is used to allow multiple values per key, then the multi-value mapping capability is achieved, but the retrieval efficiency decreases compared to traditional tries

Engineering Contradiction:
Improvemulti-value mapping capabilityVSAvoiddata retrieval speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

By segmenting the multimap into multiple independent tries, each try maintains the O(log n) retrieval efficiency of traditional tries. The segmentation allows parallel access to multiple value sets, enabling fast retrieval of all values for a given key by querying each trie in the array and combining results.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a new dimension to the data structure by creating an array of tries rather than a single trie. This dimensional transformation enables multi-value storage while preserving retrieval speed, as each try in the array can be queried independently and efficiently, and results can be aggregated across the array dimension.

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

3Speed

If each key maps to only one value in a trie, then the retrieval operation is fast and efficient, but the data structure cannot accommodate multiple values for the same key

Engineering Contradiction:
Improvedata retrieval speedVSAvoidmulti-value mapping capability
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent makes the trie structure universal by creating an array of tries that can handle both single-value and multi-value scenarios. Each try in the array serves a specific function (storing values at a particular position), and collectively they provide multi-functionality, enabling the same key to map to multiple values while maintaining fast retrieval through efficient querying of each individual try.

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

Data Source

PatentUS9536016B2On-disk multimap
Publication Date: 2017.01.03 GOOGLE LLC
  • US9536016B2 patent drawing
  • US9536016B2 patent drawing
  • US9536016B2 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for storing data on in a storage medium. In one aspect, a method includes receiving a key-value pair including a key k and a value v. The method further includes encoding the key-value pair as (i) a first key-value pair including a first key k1 and first value v1, and (ii) a second key-value pair including a second key k2. The method further includes inserting the first key-value pair and the second key-value pair in a trie.