B-tree Snapshot Replication for Storage Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata consistencyVSAvoidreplication protocol complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #26Copying

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.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If full data replication is performed to provision a slave copy, then data completeness is improved, but resource usage and provisioning time increase

Engineering Contradiction:
Improvedata completenessVSAvoidprovisioning time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #26Copying

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improvestorage verification accuracyVSAvoidresource usage during snapshot
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10452680B1Catch-up replication with log peer
Publication Date: 2019.10.22 AMAZON TECH INC
  • US10452680B1 patent drawing
  • US10452680B1 patent drawing
  • US10452680B1 patent drawing

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.