Prefix-Preserving String Compression for Efficient Search

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for compressing text strings, such as using ZIP files or one-way hash functions like MD5, do not allow for efficient searching or random access, leading to issues with caching and lookup efficiency when dealing with similar strings, as they fail to provide proximity feedback and require multiple searches for exact matches.

Innovation Solution

The use of arithmetic coding (AC) to compress strings into prefix-preserving compressed strings, allowing for efficient searching and fuzzy matching by generating numeric hash values that indicate proximity, enabling the identification of the closest matching string with the longest common prefix.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If one-way hash functions like MD5 are used to compress strings, then collision avoidance and length are improved, but the ability to perform efficient searching and fuzzy matching deteriorates because even slight variations in input string cause large variations in the resultant hash

Engineering Contradiction:
Improvecollision avoidanceVSAvoidsearching efficiency
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces an intermediary data structure (trie or sorted list with binary search) between the hash function and the search operation. This intermediary preserves the prefix property of strings while enabling efficient searching, thus mediating between the collision avoidance of hash functions and the searching efficiency requirement.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the parameter representation from fixed-length hash values to variable-length prefix-preserving compressed strings. This parameter change allows the system to maintain both collision avoidance (through the compression algorithm) and searching efficiency (through prefix matching capability).

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If traditional compression algorithms like ZIP are used, then data compression is improved, but random access and searching capability deteriorate because they do not allow searching for specific compressed strings

Engineering Contradiction:
Improvecompression ratioVSAvoidrandom access capability
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The patent segments the compressed data into individual prefix-preserving compressed strings that can be independently accessed and searched. Each string maintains its prefix property, allowing random access and searching without requiring decompression of the entire data set.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary compression of strings while preserving their prefix structure. This preliminary action enables subsequent random access and searching operations to be performed directly on the compressed data without full decompression, improving both compression ratio and access efficiency.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If hash functions uniformly distribute hash keys, then collision avoidance is improved, but the ability to utilize caching mechanisms deteriorates because spatial and temporal locality is reduced

Engineering Contradiction:
Improvecollision avoidanceVSAvoidcaching efficiency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent changes the hash output parameter from uniformly distributed fixed-length values to prefix-preserving variable-length compressed strings. This parameter change maintains collision avoidance while preserving spatial locality, allowing similar strings to be stored near each other in memory and thus improving caching efficiency.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9558241B2System and method for performing longest common prefix strings searches
Publication Date: 2017.01.31 OPEN TEXT CORPORATION
  • US9558241B2 patent drawing
  • US9558241B2 patent drawing
  • US9558241B2 patent drawing

AI summary

A method and system a method for compressing and searching a plurality of strings. The method includes inputting a plurality of strings into a compression engine. The method also includes converting each of the plurality of strings into a new, prefix-preserving compressed string, using the compression engine. For every string P that is a strict prefix of a string S, P's resulting compressed string is a strict prefix of S's resulting compressed string.