Consistency Interval Markers for Distributed Storage Replication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed storage environments, achieving consistent data replication across multiple nodes is challenging due to the complexity of managing write operations and resolving conflicts, particularly during consistency interval transitions, which can lead to data inconsistencies and prolonged recovery times.

Innovation Solution

The implementation of consistency interval marker based replication, where nodes suspend writes and include interval markers to ensure data consistency, with an interval coordinator managing transitions and resolving block conflicts by tracking and ordering writes, allowing for efficient generation of snapshots or checkpoints.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If asynchronous replication is used to reduce impact on primary storage performance, then replication performance is improved, but data consistency between primary and secondary storage systems deteriorates

Engineering Contradiction:
Improvereplication performanceVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by recording write operations in a write log before they are fully committed to secondary storage. This allows the system to maintain data consistency information in advance, enabling fast recovery without compromising primary storage performance during normal replication operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The replication process is segmented into distinct phases: write logging, checkpointing, and recovery. By dividing the replication task into manageable segments with clear boundaries marked by checkpoints, the system achieves both high replication performance and data consistency without requiring continuous synchronization.

Inventive Principle:
Principle #1Segmentation

2Reliability

If consistent snapshots are achieved by suspending writes at all nodes, then data consistency is improved, but system availability and write throughput deteriorate

Engineering Contradiction:
Improvedata consistencyVSAvoidwrite throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Instead of continuously suspending writes to maintain consistency, the system implements periodic checkpoints at predetermined intervals. Writes continue asynchronously between checkpoints, and consistency is established only when needed for snapshots or recovery, minimizing impact on write throughput while maintaining data consistency when required.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system introduces an intermediary checkpoint mechanism that mediates between ongoing writes and consistency requirements. Checkpoints act as intermediaries that capture the state of the system at specific points without requiring write suspension, allowing writes to proceed freely while periodic consistency snapshots are taken.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If entire volume contents are copied for consistency recovery, then data consistency is improved, but recovery time deteriorates

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

Solution Approach 1:

The system extracts only the necessary data for recovery by maintaining write logs and dirty region bitmaps that identify specifically which blocks have changed since the last checkpoint. During recovery, only these extracted changed regions need to be replayed or copied, rather than transferring entire volume contents, dramatically reducing recovery time while ensuring data consistency.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of performing a complete volume copy for recovery, the system applies partial action by replaying only the write log entries and restoring only the dirty regions identified by bitmaps. This partial recovery approach is sufficient to restore consistency without the excessive time required for full volume replication.

Inventive Principle:
Principle #16Partial or excessive action

4Loss of time

If dirty region bitmaps are maintained to track in-progress I/Os, then consistency recovery speed is improved, but memory usage and system complexity deteriorate

Engineering Contradiction:
Improverecovery timeVSAvoidsystem complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The dirty region bitmaps are temporary structures that are discarded after recovery completes. The system recovers by replaying write logs and clearing bitmaps once consistency is restored, then discards the bitmap structures. This allows the system to use bitmap tracking for fast recovery when needed, then recover memory and simplify the system state afterward, balancing recovery speed with ongoing system complexity.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS8401997B1System and method for replication using consistency interval markers in a distributed storage environment
Publication Date: 2013.03.19 COHESITY INC
  • US8401997B1 patent drawing
  • US8401997B1 patent drawing
  • US8401997B1 patent drawing

AI summary

Applications executing on various nodes in a distributed storage environment may write data to primary storage and may also replicate the data to secondary storage via a replication target. An interval coordinator may coordinate the periodic saving of checkpoints or snapshots of the replicated data. The interval coordinator may determine the length of consistency intervals between the saving of each of the checkpoints. Writes to the replication target from each of the nodes may be associated with the current consistency interval and, in some embodiments, with a unique per-node sequence number. When transitioning between consistency intervals, each node may be configured to temporarily suspend completion of the writes and to send the replication target a consistency interval marker indicating that the node has completed all writes for the current consistency interval.