Consistent Hashing for Distributed Deduplication Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed deduplication storage systems face challenges in efficiently managing fluctuating numbers of deduplication nodes, leading to resource consumption and impediment of other requests or services due to significant data redistribution.

Innovation Solution

The implementation of consistent hashing to assign backup data to deduplication nodes based on metadata, including the data itself, allows for efficient redistribution when node numbers change, minimizing resource consumption by updating fewer hash keys and reassigning less data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If traditional data redistribution is performed when deduplication nodes are added or removed, then the system can maintain data balance, but significant I/O resources are consumed and other requests or services are impeded

Engineering Contradiction:
Improvedata distribution balanceVSAvoidI/O resource consumption
Core Design Contradiction:
Stability of the object's compositionVSUse of energy by moving object

Solution Approach 1:

The system segments the data space into discrete hash key buckets that can be independently assigned to nodes. When nodes are added or removed, only the specific buckets affected by the change need to be redistributed, rather than redistributing all data. This segmentation enables partial updates that maintain data balance while minimizing I/O resource consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial redistribution by identifying and updating only the subset of data buckets that need reassignment when node topology changes. Instead of performing a complete system-wide redistribution, the system calculates which specific hash keys are affected and redistributes only those portions, significantly reducing I/O overhead while maintaining overall data balance.

Inventive Principle:
Principle #16Partial or excessive action

2Adaptability or versatility

If traditional data redistribution is performed when node numbers fluctuate, then data can be reassigned to new or remaining nodes, but the process impedes other requests or services

Engineering Contradiction:
Improvenode number flexibilityVSAvoidservice request throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

By segmenting data into independent hash key buckets, the system can perform localized redistribution operations that do not block other service requests. The segmented structure allows parallel processing where data reassignment occurs in the background for affected buckets while other services continue to access unaffected data, maintaining productivity during node fluctuations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary calculations to identify which specific hash keys need reassignment before actual data movement begins. This preliminary action allows the system to prepare reassignment plans that minimize disruption, pre-compute new node assignments for affected buckets, and execute changes with reduced impact on ongoing service requests.

Inventive Principle:
Principle #10Preliminary action

3Stability of the object's composition

If all hash keys are updated when nodes change, then data can be evenly redistributed, but resource consumption increases significantly

Engineering Contradiction:
Improvedata distribution uniformityVSAvoidcomputational resource consumption
Core Design Contradiction:
Stability of the object's compositionVSLoss of energy

Solution Approach 1:

The system extracts and identifies only the specific hash keys that are affected by node additions or removals, rather than processing all hash keys in the system. By taking out only the relevant subset of hash keys for update, the system maintains data distribution uniformity where needed while avoiding the computational overhead of updating unrelated hash keys, thus reducing resource consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements partial hash key updates by calculating which specific buckets require reassignment based on the changed node topology. Only those specific hash keys are updated to maintain uniform data distribution, while the majority of hash keys remain unchanged, significantly reducing computational resource consumption compared to a full system-wide update.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8918372B1Content-aware distributed deduplicating storage system based on consistent hashing
Publication Date: 2014.12.23 EMC IP HLDG CO LLC
  • US8918372B1 patent drawing
  • US8918372B1 patent drawing
  • US8918372B1 patent drawing

AI summary

A set of metadata associated with backup data is obtained. A consistent hash key for the backup data is generated based at least in part on the set of metadata. The backup data is assigned to one of a plurality of deduplication nodes based at least in part on the consistent hash key.