Deduplicated Data Search Using Segment Boundary Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems, particularly deduplicated systems, face inefficiencies in search operations due to the large size of indexes and limitations in processing character and binary byte searches, which are not supported by traditional indexing techniques.

Innovation Solution

A microservices architecture is employed to perform text searches on deduplicated data without constructing a large index, utilizing object storage, deduplication service, and search service to segment and fingerprint data, allowing parallel processing of segments and efficient search term matching across segment boundaries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a traditional index is built on client-written objects for searching, then search functionality is provided, but the index becomes enormously large and consumes excessive resources

Engineering Contradiction:
Improvesearch functionalityVSAvoidindex size
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent segments data into fixed-size chunks and builds indexes only on unique chunks after deduplication, rather than indexing entire client-written objects. This segmentation approach reduces index size by eliminating redundant entries for duplicate data while maintaining search capability on the actual stored data segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and indexes only the unique data segments from deduplicated storage, separating the indexing process from the original object structure. By taking out only the essential unique segments for indexing, the system avoids creating enormously large indexes while preserving search functionality on actual stored data.

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If traditional indexing techniques are used, then text searches can be performed, but character searches and binary byte searches are not supported

Engineering Contradiction:
Improvesearch type supportVSAvoidindexing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal indexing structure that handles multiple search types (text, character, and binary byte searches) through the same mechanism. The fixed-size chunk indexing approach provides a unified solution that works for all search types, eliminating the need for separate indexing strategies for different search functionalities.

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

3Productivity

If segments are read multiple times due to multiple references, then all referencing objects can be searched, but search time and resource utilization increase

Engineering Contradiction:
Improvesearch efficiencyVSAvoidsearch time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent creates a virtual copy of the index structure that maps multiple object references to unique data segments. Instead of physically reading segments multiple times, the system uses reference tracking and virtual indexing to allow simultaneous search operations on the same underlying data without actual repeated I/O operations.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12596684B2Systems and methods for searching deduplicated data
Publication Date: 2026.04.07 EMC IP HLDG CO LLC
  • US12596684B2 patent drawing
  • US12596684B2 patent drawing
  • US12596684B2 patent drawing

AI summary

A deduplicated storage system storing objects receives a search term. Storage includes metadata and segments into which the objects have been split and deduplicated. Metadata includes fingerprint sequences according to which the segments should be assembled. A partial match is found when a prefix of the term is found at an end of a segment or a suffix is found at a beginning of the segment. The partial matches are recorded and merged to form full matches. Each full match includes a first fingerprint of a first segment in which the prefix was found and a second fingerprint of a second segment in which the suffix was found. A check is made of whether a fingerprint and a next fingerprint from a first sequence of fingerprints associated with a first object have been recorded in the database. If so, the first object is reported as having the search term.