Cluster Data Replication via Timestamp Skew Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional data replication methods in clustered environments face inefficiencies due to the need to transfer dependency relationship data, which consumes resources and degrades performance, especially as cluster size increases, and struggle to maintain synchronization of write operations across nodes.

Innovation Solution

The method synchronizes system clocks across nodes in a cluster to identify independent write operations and replicate them in parallel, while accounting for clock skew, thereby reducing the need for expensive dependency data transfers and maintaining efficient replication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If each node replicates write operations in arbitrary order without regard to other nodes, then replication speed is improved, but data consistency and validity are compromised

Engineering Contradiction:
Improvereplication speedVSAvoiddata consistency
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent changes the timing parameter by introducing timestamp-based ordering. Each write operation is assigned a timestamp, and replicas apply operations in timestamp order rather than arbitrary order. This parameter change enables parallel processing while maintaining consistency, as multiple operations can be processed simultaneously if their timestamps indicate no dependency.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent performs preliminary actions by pre-assigning timestamps to write operations before replication. This preliminary timestamp assignment allows the system to determine operation ordering in advance, enabling parallel execution of independent operations while ensuring that dependent operations maintain their required sequence.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If strict serialization is enforced on write operation replication, then data consistency is maintained, but replication speed deteriorates

Engineering Contradiction:
Improvedata consistencyVSAvoidreplication speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments the replication process by dividing write operations into independent and dependent groups based on timestamp analysis. Independent operations (those without timestamp conflicts) are replicated in parallel, while only dependent operations require sequential processing. This segmentation enables the system to achieve partial parallelization while maintaining consistency for operations that require it.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial serialization by enforcing strict ordering only when necessary (when timestamp conflicts indicate dependency), rather than serializing all operations. This partial application of serialization maintains data consistency for critical operations while allowing parallel processing for independent operations, thus improving overall replication speed without compromising reliability.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If dependency relationship data is transferred between nodes to ensure global write order fidelity, then data consistency is improved, but computing resource consumption increases and performance degrades

Engineering Contradiction:
Improvewrite order fidelityVSAvoidcomputing resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the essential ordering information (timestamps) from the complete dependency relationship data. Instead of transferring and processing full dependency graphs between nodes, the system only exchanges timestamp values, which are sufficient to determine operation ordering. This extraction dramatically reduces communication overhead and computing resource consumption while maintaining write order fidelity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses lightweight timestamp values instead of complex dependency relationship structures. Timestamps are simple numeric values that require minimal storage and processing resources compared to full dependency graphs. These lightweight timestamp objects enable efficient comparison and ordering operations without consuming substantial computing resources, effectively replacing expensive dependency data with cheap timestamp markers.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

4Reliability

If dependency relationship data is transferred between nodes, then global write order fidelity is ensured, but cluster performance deteriorates especially as cluster size increases

Engineering Contradiction:
Improveglobal write order fidelityVSAvoidcluster performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts only the necessary ordering information (timestamps) from complete dependency relationships. This extraction reduces the data volume exchanged between nodes from complex dependency structures to simple numeric values, significantly improving communication efficiency and cluster performance while maintaining global write order fidelity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial dependency tracking by using timestamps to determine ordering only when necessary. This partial approach avoids the overhead of complete dependency relationship management for all operations, allowing the cluster to scale more efficiently while still ensuring global write order fidelity for operations that require it.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8478718B1Systems and methods for replicating data in cluster environments
Publication Date: 2013.07.02 COHESITY INC
  • US8478718B1 patent drawing
  • US8478718B1 patent drawing
  • US8478718B1 patent drawing

AI summary

A method for replicating data in cluster environments may include (1) identifying a cluster of nodes configured to replicate common storage of the cluster, (2) identifying a first write operation issued by a first node to the common storage, (3) identifying a second write operation issued by a second node to the common storage after the first write operation, (4) identifying a completion time of the first write operation, (5) identifying a start time of the second write operation, (6) identifying a maximum potential skew between the first system clock and the second system clock, (7) determining that the first and second write operations are mutually independent by determining that the start time of the second write operation precedes the completion time of the first write operation by a span greater than the maximum potential skew, and then (8) replicating the first and second write operations in parallel.