Deduplication System Checkpoint Error Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data deduplication systems face inefficiencies in large data file copying due to high metadata overhead and increased deduplication time, especially when dealing with large files, and they lack effective error handling mechanisms to ensure data integrity during copying, leading to potential data loss in disaster recovery scenarios.

Innovation Solution

The system employs a fingerprint-based approach where 20-byte SHA-1 hash fingerprints are generated for data segments, allowing for efficient comparison and deduplication, and implements a generation identifier mechanism to track service instances and restart from checkpoints, ensuring data integrity and reducing the need for full file retransmission.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of substance

If data files are divided into small data segments for deduplication, then more duplicates can be identified and storage space is saved, but metadata size increases and deduplication time increases

Engineering Contradiction:
Improvestorage spaceVSAvoiddeduplication time
Core Design Contradiction:
Loss of substanceVSLoss of time

Solution Approach 1:

The patent divides large data files into smaller data segments for processing. This segmentation enables the deduplication system to identify duplicates more effectively at the segment level while managing metadata overhead through selective processing of unique segments only.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and processes only the metadata necessary for deduplication identification, separating essential deduplication information from complete segment data. This extraction approach reduces metadata processing time while maintaining duplicate detection accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

2Loss of substance

If data files are divided into small data segments for deduplication, then more duplicates can be identified and storage space is saved, but the total size of metadata increases

Engineering Contradiction:
Improvestorage spaceVSAvoidmetadata size
Core Design Contradiction:
Loss of substanceVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential metadata required for deduplication identification, separating necessary deduplication information from complete segment data. This extraction approach reduces metadata processing time while maintaining duplicate detection accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of storing complete metadata for all segments, the patent inverts the approach by storing only references to unique segments and their fingerprints, significantly reducing metadata size while preserving deduplication functionality.

Inventive Principle:
Principle #13The other way round (Inversion)

3Reliability

If the copying process restarts from the beginning after an error is detected, then data integrity can be verified, but copying time increases significantly for large files

Engineering Contradiction:
Improvedata integrityVSAvoidcopying time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by generating and storing fingerprints for data segments during the initial copying process. These fingerprints serve as verification markers that enable error detection without requiring complete re-copying, thus maintaining data integrity while reducing recovery time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses fingerprint copies of data segments as verification markers. Instead of copying and verifying entire data segments, the system copies and verifies compact fingerprint representations, enabling efficient error detection and recovery for large files.

Inventive Principle:
Principle #26Copying

4Reliability

If all fingerprints and segments are retransmitted after an error, then data integrity can be ensured, but the time required increases for large data files

Engineering Contradiction:
Improvedata integrityVSAvoidretransmission time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts and retransmits only the specific data segments and their fingerprints that contain errors, rather than retransmitting all fingerprints and segments. This selective extraction approach maintains data integrity while significantly reducing retransmission time for large files.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses fingerprint copies to identify and retrieve only the necessary data segments for retransmission. By copying and comparing fingerprints, the system determines exactly which segments need retransmission, avoiding unnecessary data transfer.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11593332B1Destination file copying and error handling
Publication Date: 2023.02.28 EMC IP HLDG CO LLC
  • US11593332B1 patent drawing
  • US11593332B1 patent drawing
  • US11593332B1 patent drawing

AI summary

Object service receives communication of fingerprints stream, corresponding to file segments, from file source, and identifies sequential fingerprints in fingerprints stream as fingerprints group. Object service identifies group identifier for fingerprints group, and communicates fingerprints group to deduplication service associated with group identifier range including group identifier. Deduplication service identifies fingerprints in fingerprints group which are missing from fingerprint storage, and communicates identified fingerprints to object service, which communicates request for file segments, corresponding to identified fingerprints, to file source. Deduplication service receives communication of requested segments from file source, and stores requested segments. System identifies generation identifier associated with time of communicating by object service or deduplication service and identifies generation identifier associated with another time of communicating by object service or deduplication service. If generation identifier associated with time differs from generation identifier associated with other time, object service or deduplication service restarts communication.