Data Replication Verification Using MD5 Hashes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data replication systems often fail to detect data corruption introduced by communication channels, particularly in wide area networks, due to the limitations of reliable protocols like TCP, which can result in undetected corrupt data being stored on the destination system, leading to potential irrecoverable data loss.

Innovation Solution

The implementation of additional verification information, such as a 128-bit MD5 hash, is used to strengthen data verification beyond the capabilities of existing protocols like TCP, ensuring that corrupt data undetected by the reliable protocol can be identified and corrected, thereby preventing data loss.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If additional verification information such as MD5 hash is added to strengthen data verification, then data integrity and reliability are improved, but device complexity and processing overhead increase

Engineering Contradiction:
Improvedata integrityVSAvoidverification mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-computing and attaching verification information (such as MD5 hash values) to data packets during the replication process. This allows the destination system to verify data integrity without performing complex real-time computations, thereby improving reliability while managing complexity through advance preparation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces verification information as an intermediary element that mediates between the source and destination systems. This intermediary (the hash value or verification data) enables the destination to detect corruption without requiring complex communication protocols or repeated transmissions, thus improving reliability while keeping the verification mechanism relatively simple.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If comprehensive data verification is performed to detect all corruption, then data reliability is improved, but processing time and system resources increase

Engineering Contradiction:
Improvecorruption detection capabilityVSAvoidverification processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies partial action by implementing verification at strategic points in the replication process rather than continuously verifying every byte of data. The system performs verification on critical data segments and uses efficient algorithms that provide sufficient corruption detection without exhaustive processing, thereby balancing reliability with processing time constraints.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8554725B2System and method for highly reliable data replication
Publication Date: 2013.10.08 EMC IP HLDG CO LLC
  • US8554725B2 patent drawing
  • US8554725B2 patent drawing
  • US8554725B2 patent drawing

AI summary

Data replication includes generating replication data that is part of a replicated file system to be sent over a communication channel to a destination replication device; adding additional verification information to at least a portion of the replication data to prevent data corruption; and sending the replication data and the additional verification information over the communication channel to the destination replication device. The replication data with additional verification information is sent over the communication channel using a reliable protocol that allows the replication data to be verified by the reliable protocol at the destination replication device. The reliable protocol is a protocol capable of detecting most but not all data corruption introduced by the communication channel. The additional verification information includes information for verifying that replication data sent using the reliable protocol does not include data corruption that was introduced by the communication channel and undetected by the reliable protocol.