Deduplication in Eventually Consistent Storage via Hash Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In eventually consistent distributed data storage systems, data deduplication methods face challenges in safely deleting deduplicated data due to race conditions and the need to avoid sending existing data over the network, as clients may not coordinate their operations, leading to inconsistencies and inefficiencies.

Innovation Solution

The system calculates a hash for incoming data, writes it to an object for deduplication, tracks reference counts, and delays deletion to ensure safety, using idempotent operations and hierarchical naming to manage references and avoid race conditions, allowing for efficient data management and storage optimization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data deduplication is implemented in an eventually consistent distributed storage system, then storage space efficiency is improved, but race conditions occur during deletion operations causing data inconsistency

Engineering Contradiction:
Improvestorage space efficiencyVSAvoiddata consistency during deletion
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system performs preliminary actions by checking hash values against a dictionary before writing data, and by maintaining reference counts before deletion operations. This allows the system to identify duplicate data in advance and safely determine when deduplicated data can be deleted, preventing race conditions while maintaining storage efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces intermediary mechanisms including a dictionary that stores hash values as intermediaries between data writing operations, and reference counts that act as intermediaries between multiple clients and the deduplicated data. These intermediaries enable safe coordination without requiring direct client coordination, resolving the race condition problem while preserving deduplication benefits.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If clients write data without coordination in an eventually consistent system, then system availability and partition tolerance are improved, but duplicate data may be stored across replicas increasing storage requirements

Engineering Contradiction:
Improvesystem availabilityVSAvoidduplicate data storage
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The system uses cryptographic hash values as copies of data identifiers stored in a dictionary. Instead of storing actual data copies across all replicas, the system stores compact hash representations that enable duplicate detection. This allows clients to write data independently while the system efficiently identifies and eliminates actual data duplicates, maintaining both availability and storage efficiency.

Inventive Principle:
Principle #26Copying

3Quantity of substance

If deletion of deduplicated data is performed immediately when reference count reaches zero, then storage optimization is improved, but race conditions may cause deletion of data still being accessed

Engineering Contradiction:
Improvestorage optimizationVSAvoidsafety of deletion operation
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system performs preliminary checks by maintaining reference counts that track all clients referencing deduplicated data before deletion. The deletion operation is delayed until the reference count reaches zero, ensuring that no client is actively accessing the data. This preliminary tracking mechanism enables safe storage optimization without risking premature deletion.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms through reference counts that continuously monitor data usage. When a client writes or reads deduplicated data, the reference count is updated, providing feedback about current data usage. This feedback loop enables the system to make informed deletion decisions, optimizing storage while ensuring safety by only deleting when the reference count indicates no active usage.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9697224B1Data deduplication for an eventually consistent system
Publication Date: 2017.07.04 MAPLEBEAR INC
  • US9697224B1 patent drawing
  • US9697224B1 patent drawing
  • US9697224B1 patent drawing

AI summary

Aspects of the present invention include a method, system and computer program product for performing data deduplication for eventually consistent distributed data storage (DDS) system. The method includes receiving data content from one or more clients by a DDS system, wherein the one or more clients do not coordinate transmitting of the data content. The method also includes calculating a hash for the data content by the distributed data storage system, writing the data content to an object used for data deduplication, wherein a name of the object is based on the hash and determining whether the data content is present in the distributed data storage system based on the name of an object previously stored on the DDS system. The method further includes keeping track of a number of references to the data content and delaying deletion of the data content for a predetermined period of time.