Content-Aware Chunking for Data Deduplication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data deduplication techniques, such as fixed-size chunking, fail to efficiently handle data changes like insertions or deletions, leading to suboptimal chunk size distribution and deduplication savings, while variable-size chunking increases processing complexity and costs.
Innovation Solution
A content-aware chunking mechanism that partitions files into chunks based on fingerprint analysis, using probabilistic thresholds and signature matching to determine chunk boundaries, ensuring optimal chunk size distribution between minimum and maximum sizes, and employing regression chunking to enforce maximum size constraints while maintaining content dependency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If fixed-size chunking is used, then processing simplicity is maintained, but deduplication effectiveness deteriorates due to inability to handle data changes
Solution Approach 1:
The patent changes the parameter of chunk size from fixed to variable based on content analysis. By using fingerprint analysis and signature matching, the system dynamically determines chunk boundaries according to actual data content, allowing chunks to adapt to data changes while maintaining deduplication effectiveness.
Solution Approach 2:
The patent replaces the simple mechanical fixed-size splitting mechanism with a content-aware system using fingerprint analysis and signature matching. This substitution enables the system to intelligently identify chunk boundaries based on data content rather than predetermined sizes, resolving the contradiction between simplicity and effectiveness.
2Reliability
If variable-size chunking is used, then deduplication effectiveness is improved, but processing complexity increases
Solution Approach 1:
The patent segments the fingerprint analysis process into distinct stages: generating fingerprints, extracting signatures, comparing signatures against target patterns, and determining chunk boundaries. This segmentation of the complex variable-size chunking process into manageable steps reduces processing complexity while maintaining deduplication effectiveness.
Solution Approach 2:
The patent introduces fingerprints and signatures as intermediary elements between the raw data and chunk boundary determination. These intermediaries simplify the comparison process by providing condensed representations of data content, reducing the complexity of direct data analysis while preserving deduplication effectiveness.
3Adaptability or versatility
If very small chunks are created, then chunk size flexibility is improved, but overhead increases due to indexing and communication costs
Solution Approach 1:
The patent employs feedback mechanisms where chunk boundaries are determined based on signature matching results and target patterns. This feedback loop ensures that chunks are neither too small nor too large, optimizing the balance between flexibility and overhead by adjusting chunk sizes according to actual content similarity rather than creating uniformly small chunks.
4Quantity of substance
If very large chunks are created, then storage efficiency is improved, but cache/memory constraints are violated and matching difficulty increases
Solution Approach 1:
The patent changes the parameter of chunk size by enforcing maximum size constraints through the signature matching process. By configuring target patterns and signature sizes, the system ensures chunks remain within acceptable size limits, balancing storage efficiency with implementation feasibility and cache/memory constraints.
Data Source
AI summary
The subject disclosure is directed towards partitioning a file into chunks that satisfy a chunk size restriction, such as maximum and minimum chunk sizes, using a sliding window. For file positions within the chunk size restriction, a signature representative of a window fingerprint is compared with a target pattern, with a chunk boundary candidate identified if matched. Other signatures and patterns are then checked to determine a highest ranking signature (corresponding to a lowest numbered Rule) to associate with that chunk boundary candidate, or set an actual boundary if the highest ranked signature is matched. If the maximum chunk size is reached without matching the highest ranked signature, the chunking mechanism regresses to set the boundary based on the candidate with the next highest ranked signature (if no candidates, the boundary is set at the maximum). Also described is setting chunk boundaries based upon pattern detection (e.g., runs of zeros).


