B-tree Snapshot Replication for Cloud Storage Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional replication protocols in cloud-based storage systems face challenges in maintaining data consistency across copies, particularly in scenarios like power failures, and require in-depth knowledge of the data being replicated, limiting flexibility and scalability.
Innovation Solution
The approach involves generating a point-in-time snapshot of a master B-tree for a slave copy, allowing quick verification of storage allocation and updating references locally, ensuring consistency without extensive data transfer, and using a note-commit model to guarantee sequential ordering of operations across copies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional replication protocols are used to maintain data consistency across copies, then data redundancy is provided, but the system requires in-depth knowledge of the data being replicated and suffers from limited flexibility and scalability
Solution Approach 1:
The patent uses copy-on-write snapshots to replicate storage volumes. Instead of implementing complex replication protocols that require deep knowledge of the data, the system creates point-in-time copies of the volume's metadata (B-tree structure) and uses copy-on-write semantics to maintain consistency. This simplifies the replication mechanism while preserving data integrity across multiple copies.
Solution Approach 2:
The patent segments the replication process into metadata copying and data copying phases. The B-tree metadata structure is copied first to establish the volume structure, then data blocks are copied individually with version tracking. This segmentation allows the system to maintain consistency without requiring a monolithic replication protocol that understands all data formats.
2Reliability
If conventional replication protocols are used to maintain data consistency across copies, then data redundancy is provided, but the device complexity increases
Solution Approach 1:
The system copies the B-tree metadata structure and uses copy-on-write semantics to maintain consistency across replicas. This approach replaces complex replication protocols with a simpler mechanism based on snapshot copying and version tracking, reducing the overall system complexity while maintaining reliability.
Solution Approach 2:
The patent performs preliminary copying of the B-tree metadata structure before data replication. This preliminary action establishes the volume structure and enables subsequent data copying to proceed independently with simpler consistency mechanisms, reducing the complexity of the overall replication process.
3Reliability
If extensive data transfer is performed during slave copy provisioning, then complete replication is achieved, but resource usage increases and the likelihood of inconsistencies during transfer rises
Solution Approach 1:
The patent performs preliminary copying of the B-tree metadata structure before initiating full data replication. This preliminary action allows the system to verify storage allocation and establish the volume structure early, minimizing the window during which inconsistencies could occur and reducing the overall resource usage by avoiding re-provisioning if allocation fails.
Solution Approach 2:
The replication process is segmented into metadata copying and data copying phases. By completing the metadata structure first, the system enables incremental data replication with lower immediate resource demands and reduced exposure to consistency risks during the extended transfer process.
Data Source
AI summary
A slave storage is provisioned using metadata of a master B-tree and updates to references (e.g., offsets) pertaining to data operations of the master B-tree. Master-slave pairs can be used to provide data redundancy, and a master copy can include the master B-tree with references to corresponding data. When provisioning a slave copy, the master sends a B-tree copy to the slave, which stores the slave B-tree copy, allocates the necessary space on local storage, and updates respective offsets of the slave B-tree copy to point to the local storage. Data from the master can then be transferred to the slave and stored according to a note and commit process that ensures operational sequence of the data. Operations received to the master during the process can be committed to the slave copy until the slave is consistent with the master and able to take over as master in the event of a failure.


