B-tree Snapshot Replication for 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 the face of events like power failures, and require in-depth knowledge of the data being replicated, making them complex and inefficient.
Innovation Solution
The system generates a point-in-time snapshot of a master copy's B-tree to provision a slave copy, allowing for quick verification of storage allocation and minimizing resource usage, and enables one peer to act as a solo master during disconnections, with options to synchronize or provision new slaves based on the effort needed to bring peers up to date.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional replication protocols are used to maintain data consistency across copies, then data redundancy and consistency are improved, but the system complexity increases due to requiring in-depth knowledge of the data being replicated
Solution Approach 1:
The patent uses a B-tree snapshot to create a copy of the data structure state at a specific point in time. This snapshot is transferred to the slave copy, allowing the slave to initialize its B-tree structure without requiring complex replication protocols to understand the underlying data format. The copying approach simplifies the replication mechanism while ensuring data consistency.
Solution Approach 2:
The system performs a preliminary snapshot of the master copy's B-tree before initiating the replication process. This preliminary action captures the entire data structure state in advance, allowing the slave copy to be provisioned with a complete and consistent data structure without requiring complex real-time synchronization protocols during the initialization phase.
2Reliability
If full data replication is performed to provision a slave copy, then data completeness is improved, but resource usage and provisioning time increase
Solution Approach 1:
Instead of replicating data block-by-block or record-by-record, the system creates a single B-tree snapshot that captures the entire data structure state. This snapshot is then copied to the slave copy in one operation, significantly reducing provisioning time while ensuring the slave receives a complete and consistent data structure.
Solution Approach 2:
The patent changes the replication approach from incremental data copying to a snapshot-based parameter change. By capturing the B-tree structure at a specific point in time and transferring it as a complete unit, the system transforms the replication process from a time-consuming incremental operation to a efficient bulk transfer operation.
3Measurement precision
If the slave copy is provisioned with a full B-tree snapshot, then storage allocation verification is improved, but initial resource usage during snapshot creation increases
Solution Approach 1:
The system performs the snapshot creation as a preliminary action before the slave copy needs to be fully operational. The B-tree snapshot is created on the master copy and then transferred to the slave, allowing the master to verify storage allocation requirements in advance without impacting the slave's operational resource usage.
Solution Approach 2:
The B-tree snapshot is copied from the master to the slave as a complete data structure. This copying approach allows the master to verify that the snapshot can be created and transferred successfully, providing accurate storage allocation verification without requiring the slave to consume excessive resources during the snapshot creation process itself.
Data Source
AI summary
Master-slave pairs can be used to provide data redundancy in an electronic data environment. A master peer can include a B-tree with references to the corresponding data. When provisioning a slave, the master can send a point-in-time copy of the B-tree to the slave, which can allocate the necessary space on local storage and update the references of the B-tree to point to the local storage for the slave. If the master and slave become disconnected, one of the peers can function as a solo master until the peers are again connected, at which point the old peer can be brought current or a new slave provisioned. A log peer can also be provisioned by a solo master, which can store data for operations received during the disconnect for use in catching up a slave peer, which could be the old slave, the log peer, or a new peer.


