Replicated I/O Stream Ordering via Atomic Sequence Numbers
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If packet loss occurs during transmission between controllers, then transmission reliability deteriorates, but implementing retransmission and sequencing mechanisms increases system 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.
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.
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
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.
Data Source
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.


