Data Chunk Similarity Search Using Fingerprint Trees

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems face inefficiencies in finding and compressing similar data chunks due to resource-intensive one-to-one similarity checks, especially when dealing with vast numbers of data chunks.

Innovation Solution

A method involving the use of similarity hashes to generate fingerprints for data chunks, which are then catalogued in trees ordered by predefined symbol sets, allowing for efficient comparison and compression by scanning tree paths and calculating deltas between similar chunks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If one-to-one similarity checks are performed between received data chunk and all stored data chunks, then compression accuracy is improved, but computational complexity and resource consumption increase significantly

Engineering Contradiction:
Improvesimilarity check accuracyVSAvoidsearch complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the large-scale similarity search problem into two stages: first, it divides stored data chunks into multiple groups using clustering algorithms based on their fingerprints; second, it performs similarity checks only within relevant groups rather than against all chunks. This segmentation reduces the search space from O(N) to O(k) where k << N, thereby resolving the contradiction between comprehensive similarity checking and search complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces clustering results as an intermediary structure between data storage and similarity search. By pre-organizing chunks into clusters based on fingerprint similarity, the system creates an intermediate index that enables efficient navigation to potentially similar chunks without exhaustive comparison. This intermediary clustering structure allows accurate similarity detection while avoiding the computational burden of one-to-one checks across all chunks.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If vast numbers of data chunks are stored in the storage system, then storage capacity is improved, but memory consumption and computational resources for similarity search increase

Engineering Contradiction:
Improvenumber of stored data chunksVSAvoidcomputational resource consumption
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The patent applies preliminary action by computing fingerprints and performing clustering on stored data chunks in advance, before similarity search is needed. These preprocessing steps create a organized structure (clusters with representative fingerprints) that remains static or updates incrementally. When a new chunk arrives, the system only needs to compare its fingerprint against cluster representatives rather than all individual chunks, dramatically reducing real-time computational resource consumption while maintaining the ability to handle vast numbers of stored chunks.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If compression is performed based on similar stored data chunks, then storage efficiency is improved, but the complexity of finding similar chunks increases

Engineering Contradiction:
Improvestorage efficiencyVSAvoidsimilarity search complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the similarity search process into two phases: a preprocessing phase that creates clustering structures from stored chunks, and a query phase that uses these structures to efficiently find similar chunks for compression. By pre-organizing data into clusters with representative fingerprints, the system enables compression-based storage efficiency without requiring complex real-time searches across all stored data, thus resolving the contradiction between storage efficiency and search complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12135691B1Searching for and storing data chunks based off similarity
Publication Date: 2024.11.05 VAST DATA LTD
  • US12135691B1 patent drawing
  • US12135691B1 patent drawing
  • US12135691B1 patent drawing

AI summary

A method for storing a received data chunk (DC) in a storage system, the method includes (a) obtaining a received fingerprint of the received DC, the received fingerprint may include received fingerprint elements that are indicative of occurrences, within the received DC, of content elements, the received fingerprint elements are ordered according to a given order; (b) searching, within a tree, for a similar stored fingerprint; the tree may include tree nodes that represent multiple stored fingerprints of stored data chunks that are stored in the storage system; different levels of the tree are allocated to different content elements; (c) compressing, when finding the similar stored fingerprint, the received DC based on a similar DC associated with the similar stored fingerprint, and updating storage system metadata to indicate that the received DC is stored in the storage system in a compressed form, and based on the similar stored DC.