Object Fingerprinting via Block Hash Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing hashing algorithms for generating object fingerprints in data storage systems either produce less unique hash values, impacting data deduplication efficiency, or require significant processing resources, leading to performance issues.

Innovation Solution

A data storage system architecture that divides objects into blocks, generates hash values for each block in a storage subsystem, and combines these hash values to create a robust object hash, reducing the need for repeated hashing of entire objects and optimizing processing resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If faster hash algorithms are used to generate object hashes, then processing speed is improved, but hash uniqueness deteriorates

Engineering Contradiction:
Improvehash generation speedVSAvoidhash uniqueness
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The object is divided into multiple blocks, and each block is hashed independently using fast hash algorithms. The individual block hashes are then combined to form the final object hash. This segmentation allows the use of faster algorithms on smaller data units while maintaining overall hash uniqueness through the combination process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The final object hash is constructed as a composite of multiple individual block hash values. By combining multiple hash results from different blocks through concatenation or other combination methods, the system achieves both speed (using fast algorithms on blocks) and uniqueness (through the composite structure of multiple hashes).

Inventive Principle:
Principle #40Composite materials

2Reliability

If slower hash algorithms are used to generate object hashes, then hash uniqueness is improved, but processing resources increase

Engineering Contradiction:
Improvehash uniquenessVSAvoidprocessing resources
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The object is divided into multiple blocks, and each block is hashed independently using fast hash algorithms. The individual block hashes are then combined to form the final object hash. This segmentation allows the use of faster algorithms on smaller data units while maintaining overall hash uniqueness through the combination process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of applying a slow, resource-intensive hash algorithm to the entire object, the system applies fast hash algorithms to only partial portions (blocks) of the object. This partial action approach significantly reduces processing resources while achieving sufficient uniqueness through the combination of multiple block hashes.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If entire object content is hashed by a lone device, then hash completeness is ensured, but processing time increases

Engineering Contradiction:
Improvehash completenessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The object is divided into multiple blocks that can be hashed in parallel by different processing units or devices. This segmentation enables concurrent processing of block hashes, significantly reducing total processing time while maintaining hash completeness through the combination of all block hashes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple individual block hash results are merged or combined to form the final object hash. This combining process ensures that the complete object content is represented in the final hash while the parallel processing of individual blocks reduces overall processing time.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9223840B2Fast object fingerprints
Publication Date: 2015.12.29 FUTUREWEI TECHNOLOGIES INC
  • US9223840B2 patent drawing
  • US9223840B2 patent drawing

AI summary

An embodiment computing device operating in a data storage system includes an object storage controller operable to divide an object into blocks and to create an object hash from hash values, and a network interface in communication with the object storage controller, the network interface operable to transmit the blocks to a storage subsystem that generates one of the hash values from each of the blocks, to receive the hash values from the storage subsystem, and to provide the hash values to the object storage controller for creation of the object hash from the hash values. In an embodiment, the object storage controller is operably coupled to a processor and a memory or stored on a computer readable medium.