Consistency Interval Marker In-Band Commands Distributed Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed shared storage environments, achieving consistent data replication across multiple nodes is challenging due to write conflicts and the need for efficient consistency recovery, especially when writes from different nodes arrive out of order, leading to data inconsistencies and prolonged recovery times.

Innovation Solution

Consistency interval marker based replication manages consistency points using interval coordinators, which suspend writes, identify conflict blocks, and resolve conflicts by prioritizing the latest writes, ensuring data consistency through snapshot checkpoints and in-band commands, allowing for efficient IO performance and asynchronous copy services.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If synchronous replication is used to ensure data consistency, then data integrity is improved, but IO performance deteriorates due to waiting for confirmation from all replicas

Engineering Contradiction:
Improvedata consistencyVSAvoidIO performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system uses periodic consistency intervals with markers to establish consistency points at regular intervals rather than requiring synchronous confirmation for every write operation. This allows the system to maintain data consistency periodically while enabling asynchronous writes during intervals, thus improving IO performance while preserving reliability.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The replication process is segmented into distinct consistency intervals marked by consistency markers. Each interval represents a discrete unit of replication work, allowing the system to process writes asynchronously within intervals while ensuring consistency at interval boundaries. This segmentation resolves the contradiction by separating the consistency guarantee from every individual write operation.

Inventive Principle:
Principle #1Segmentation

2Productivity

If asynchronous replication is used to improve IO performance, then productivity is improved, but data consistency deteriorates due to lagging replica states

Engineering Contradiction:
ImproveIO performanceVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements periodic consistency intervals that periodically synchronize replica states through consistency markers. During intervals, asynchronous writes improve IO performance, while the periodic markers ensure that consistency is restored at regular intervals, preventing prolonged inconsistency and maintaining reliability.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system uses consistency markers as feedback mechanisms to track and verify replication progress across intervals. These markers provide feedback on the state of replicas, allowing the system to detect and resolve inconsistencies while maintaining asynchronous operation, thus preserving both IO performance and data consistency.

Inventive Principle:
Principle #23Feedback

3Reliability

If consistency recovery is performed by copying entire volume contents, then data consistency is improved, but loss of time increases due to the lengthy recovery process

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

Solution Approach 1:

The system extracts and stores only the essential consistency information in consistency markers rather than maintaining complete volume copies for recovery. These markers contain sufficient information to reconstruct consistent states without requiring full volume copying, dramatically reducing recovery time while maintaining consistency.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of continuously maintaining complete backup copies, the system discards redundant data and recovers only the essential consistency information stored in markers when recovery is needed. This approach minimizes storage overhead and enables rapid recovery by replaying only the necessary marker information rather than copying entire volumes.

Inventive Principle:
Principle #34Discarding and recovering

4Loss of time

If scoreboarding with dirty region mapping is used to reduce consistency recovery impact, then loss of time is improved, but device complexity increases due to maintaining and managing bitmaps

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

Solution Approach 1:

The system extracts only the critical consistency tracking information into compact consistency markers rather than maintaining comprehensive dirty region bitmaps. This extraction reduces the complexity of tracking mechanisms while still enabling efficient recovery by focusing on essential consistency points rather than every modified block.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system uses lightweight consistency marker copies to track replication state instead of maintaining complex bitmap structures. These markers serve as simplified representations of consistency information, reducing the computational and storage overhead associated with detailed dirty region tracking while preserving recovery efficiency.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8150805B1Consistency interval marker assisted in-band commands in distributed systems
Publication Date: 2012.04.03 COHESITY INC
  • US8150805B1 patent drawing
  • US8150805B1 patent drawing
  • US8150805B1 patent drawing

AI summary

In-band commands may be associated with a particular consistency interval and may indicate requested actions to be performed for that consistency interval. An application may desire to perform actions, such as additional backup, snapshots, etc. on stored data, when that data is in a consistent state from the application's point of view. In order to ensure that the data is in a consistent state, a consistency interval may be created on demand. A node may request a consistency interval by sending a consistency request message to a consistency interval coordinator, which in turn, establishes the consistency interval with all nodes in the distributed environment. After sending all write requests for the consistency interval, the node may then send the command message. Command messages may be stored in consistency logs along with write requests and a replication target, or other device, may read both the write requests and the command message.