File Block Compression Using Hash Coalescing for Redundancy Removal

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing file compression methods using windows for data analysis are inefficient in achieving significant compression, especially when dealing with large files or streaming data, as they may not fully utilize the potential for redundancy reduction and require extensive processing.

Innovation Solution

A method involving the use of strong collision-resistant cryptographic hash representations to identify unique blocks of data, storing only the hash and offset in tables, allowing for efficient compression and decompression by eliminating redundant data storage and leveraging hash tables for quick lookups.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a window of certain size is used to review data for compression, then the compression process speed is improved, but the compression efficiency and amount of compression are reduced

Engineering Contradiction:
Improvecompression process speedVSAvoidcompression efficiency
Core Design Contradiction:
ProductivityVSLoss of substance

Solution Approach 1:

The patent divides the file into fixed-size blocks and processes them individually through hashing. Each block is segmented and its hash is computed independently, allowing parallel processing while maintaining the ability to detect redundancies across the entire file. This segmentation approach enables both speed (through independent block processing) and compression efficiency (through comprehensive redundancy detection via hash comparison).

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hash table as an intermediary structure to store block hashes and their positions. This intermediary enables efficient lookup and comparison of blocks without requiring direct comparison of the actual data blocks, thus speeding up the compression process while maintaining high compression efficiency through accurate redundancy detection.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If a small window of data is reviewed at once for streaming data compression, then the processing memory usage is reduced, but the compression efficiency is limited

Engineering Contradiction:
Improvememory usageVSAvoidcompression efficiency
Core Design Contradiction:
Quantity of substanceVSLoss of substance

Solution Approach 1:

The patent extracts the essential identifying feature of each data block (its hash value) and stores only that in memory, rather than storing the entire block data. This extraction approach dramatically reduces memory usage while preserving the ability to detect duplications, thereby maintaining compression efficiency with minimal memory requirements.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent transforms the data blocks into a different parameter representation (hash values) that is much more compact. By changing from storing actual block data to storing hash values, the memory requirement is reduced from block-size to fixed-hash-size, enabling efficient processing of streaming data with limited memory while maintaining compression capability.

Inventive Principle:
Principle #35Parameter changes

3Loss of substance

If the whole file is searched for redundancies without using a window, then the compression efficiency is improved, but the compression process speed is reduced

Engineering Contradiction:
Improvecompression efficiencyVSAvoidcompression process speed
Core Design Contradiction:
Loss of substanceVSProductivity

Solution Approach 1:

The patent replaces the mechanical approach of comparing entire data blocks (which is computationally expensive and slow) with a hash-based comparison system. By substituting the direct block comparison mechanism with hash value comparison, the system achieves both full-file redundancy detection (maintaining compression efficiency) and improved processing speed (since hash comparison is much faster than block comparison).

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS8909606B2Data block compression using coalescion
Publication Date: 2014.12.09 GOOGLE LLC
  • US8909606B2 patent drawing
  • US8909606B2 patent drawing
  • US8909606B2 patent drawing

AI summary

A method for processing blocks of data in a file is provided. The method includes determining a plurality of blocks of data in the file for a compression process used for compressing data in the file. This process is iterated over all the plurality of blocks of data in the file. A block of data is read into memory, and the offset from which it is read is also stored. A strong collision-resistant cryptographic hash representation, such as a strong collision-resistant cryptographic hash, of the block is determined. The cryptographic hash representation (CHR) of the block of data as well as the data itself, is added to a table with the CHR as a unique index. The offset of the block of data in the source file, as well as the CHR for that block are appended to a separate table.