Replicated I/O Stream Ordering via Atomic Sequence Numbers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data replication systems, ensuring the integrity and ordered execution of write operations across multiple storage locations is challenging due to the potential loss of data packets during transmission, which can lead to incomplete command sequences and sequencing number gaps.

Innovation Solution

A system that buffers data operations in non-volatile memory with a group sequence number, ensuring atomic storage and propagation across controllers, maintaining continuous ordering of operations through global sequence numbers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data operations are transmitted across multiple controllers in a replication system, then data redundancy and availability are improved, but packet loss during transmission can cause sequencing number gaps and disrupt command order

Engineering Contradiction:
Improvedata availabilityVSAvoidsequencing information
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The system pre-allocates sequence numbers to data operations before transmission begins. The source controller assigns sequence numbers to write operations in the order they are received, and these pre-assigned sequence numbers are transmitted along with the data operations to the remote controller. This preliminary assignment ensures that even if packets are lost or arrive out of order, the sequence information is already embedded and can be used to reconstruct the correct order without gaps.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements acknowledgment mechanisms where remote controllers send feedback to the source controller confirming receipt of data operations with their sequence numbers. This feedback loop allows the source controller to track which operations have been successfully transmitted and received, enabling it to detect and handle any sequencing issues that arise during transmission.

Inventive Principle:
Principle #23Feedback

2Reliability

If packet loss occurs during transmission between controllers, then transmission reliability deteriorates, but implementing retransmission and sequencing mechanisms increases system complexity

Engineering Contradiction:
Improvetransmission reliabilityVSAvoidprotocol complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent combines multiple functions into a unified sequence number assignment and tracking mechanism. The source controller integrates sequence number assignment, transmission tracking, and order verification into a single coherent protocol layer. The remote controller similarly integrates receipt confirmation, sequence verification, and ordered execution. This merging reduces the need for separate complex retransmission protocols and sequencing mechanisms that would otherwise be required.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The data operations themselves carry their sequence number identifiers, making them self-identifying and self-describing. Each data operation packet includes its assigned sequence number, allowing the remote controller to autonomously sort and process operations in the correct order without requiring complex external coordination or acknowledgment protocols for each individual operation.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If commands are transmitted in multiple phases across the network, then transmission flexibility and error handling are improved, but the probability of packet loss increases and command integrity becomes harder to maintain

Engineering Contradiction:
Improvetransmission flexibilityVSAvoidpacket loss probability
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The system segments data operations into discrete transmittable units, each assigned a unique sequence number. This segmentation allows the data replication protocol to transmit operations in multiple phases while maintaining the ability to track and reassemble them in the correct order. Each segmented operation is independently numbered, so if packet loss occurs, the sequence gaps become apparent and can be handled through selective retransmission of only the missing numbered operations rather than requiring retransmission of entire multi-phase commands.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7542986B2System and method for maintaining order for a replicated multi-unit I/O stream
Publication Date: 2009.06.02 HEWLETT PACKARD ENTERPRISE DEV LP
  • US7542986B2 patent drawing
  • US7542986B2 patent drawing
  • US7542986B2 patent drawing

AI summary

A system in which data operations for a data replication group are received in-order, and buffered. When the operations are complete, they are stored in a non-volatile memory atomically with a group sequence number. The cache is preferably mirrored. This creates a persistent association between the data operation and the sequence number. After the atomic store is performed in at least one non-volatile cache, the data operation is propagated to another member of the data replication group along with the group sequence number. In the other member, the data operation is cached at least once in a non-volatile cache atomically with the group sequence number. In this manner, the set of group sequence numbers for a plurality of operations forms a continuous ordering of the data operations.