Replication Sequencing With Crash-Consistent State Markers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage systems face challenges in ensuring crash consistency and proper sequencing of replication tasks in large distributed systems, particularly when network conditions are unfavorable, leading to inconsistencies and unsatisfactory latency in data replication.
Innovation Solution
A transaction protocol generates replication management metadata as part of an atomic transaction and uses a file system directory structure to persistently store and manage replication tasks, ensuring crash consistency and proper sequencing through the use of crash consistent replication markers (CCRM) and a crash consistent replication queue (CCRQ), along with object metadata as a single source of truth for replication status.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If asynchronous replication is used to reduce latency, then replication speed is improved, but crash consistency and sequencing reliability deteriorate
Solution Approach 1:
The system performs preliminary actions by writing replication markers to a crash-consistent queue before the actual replication operation. This allows the system to establish a reliable sequence record in advance, ensuring that even if crashes occur during asynchronous replication, the original sequence information is preserved and can be used to restore consistency after recovery.
Solution Approach 2:
The patent introduces replication markers as an intermediary element between the source and destination storage systems. These markers serve as mediators that carry sequence information through the asynchronous replication process, enabling the system to track and reconstruct the correct replication order even when network conditions cause delays or failures.
2Productivity
If replication tasks are processed asynchronously to improve throughput, then productivity is improved, but sequencing accuracy deteriorates
Solution Approach 1:
The system assigns sequence numbers to replication tasks as a preliminary action before they are processed asynchronously. This pre-sequencing ensures that even though tasks may be executed in parallel or out of order due to network conditions, the original sequence information is preserved and can be used to restore correct ordering after recovery.
Solution Approach 2:
The patent implements a feedback mechanism where the system continuously monitors the replication queue and detects out-of-order arrivals. When out-of-order replication is detected, the system uses the stored sequence information from markers to identify and correct the sequencing error, ensuring that the final state maintains accurate chronological order despite asynchronous processing.
3Reliability
If replication metadata is stored persistently to ensure crash consistency, then reliability is improved, but device complexity increases
Solution Approach 1:
The patent segments the replication state information into discrete, independently manageable replication markers that are written to the crash-consistent queue. Each marker represents a specific replication event with its sequence number, allowing the system to track and recover individual events without needing to manage the entire replication state as a single complex structure.
Solution Approach 2:
The system creates simplified copies of replication state information in the form of markers that are stored persistently. These markers contain only the essential sequence information needed for crash consistency, rather than storing complete replication task details, thus reducing the complexity of persistent storage requirements while maintaining reliability.
Data Source
AI summary
Systems and methods are provided for replication sequencing and state management in a distributed storage system. A storage system may receive, from a remote storage system, a request to replicate first tag data for a data object replicated from the remote storage system to the storage system, wherein the first tag data is associated with a request sequence identifier; evaluate an object marker in object metadata for the data object, the object marker comprising an object marker sequence identifier associated with replication of second tag data previously stored for the data object; determine, based on an analysis of the request sequence identifier and the object marker sequence identifier, whether to replace the second tag data with the first tag data, wherein tag data replacement is prohibited if the object marker sequence identifier is after the request sequence identifier; and perform a storage operation associated with the data object.


