Resumable Replica Resynchronization Using Bitmap Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed storage systems, resynchronization of replicas after disconnection is a time-consuming process, and replicas may become unavailable again during synchronization, leading to inefficient use of resources and prolonged synchronization times.

Innovation Solution

The use of bitmaps, such as resyncing and tracking bitmaps, to track unsynchronized data blocks, allowing for targeted data copying during resynchronization, thereby avoiding redundant data transfers and optimizing resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If full resynchronization is performed when a replica reconnects, then data consistency is ensured, but resynchronization time and resource consumption increase significantly

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

Solution Approach 1:

The patent divides the resynchronization process into segments by using bitmaps to identify and track specific data blocks that require synchronization. Instead of synchronizing all data blocks, the system segments the work into only those blocks marked as unsynchronized in the bitmap, significantly reducing the time and resources needed for resynchronization while maintaining data consistency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by maintaining bitmaps that track the synchronization status of data blocks before resynchronization begins. When a replica disconnects and reconnects, the bitmap already contains information about which blocks need updating, allowing the system to immediately resume synchronization from the correct point without retransmitting already-synchronized data.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If full resynchronization is performed when a replica reconnects, then data consistency is ensured, but network bandwidth and CPU cycles are wasted on redundant data transfers

Engineering Contradiction:
Improvedata consistencyVSAvoidnetwork bandwidth and CPU cycles
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts only the necessary information for resynchronization by using bitmaps to identify specific unsynchronized data blocks. The system extracts and transmits only those blocks that require synchronization, eliminating redundant data transfers and reducing network bandwidth consumption and CPU cycle usage while ensuring data consistency.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If resynchronization resumes after replica disconnection, then synchronization progress is maintained, but tracking and managing partial synchronization states increases system complexity

Engineering Contradiction:
Improvesynchronization efficiencyVSAvoidbitmap management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent uses bitmaps as simplified copies or representations of the actual data blocks' synchronization status. Instead of managing complex state information for each data block, the system maintains a compact bitmap copy that tracks which blocks need synchronization, making it easier to manage partial synchronization states while maintaining high productivity.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11157195B2Resumable replica resynchronization
Publication Date: 2021.10.26 VMWARE INC
  • US11157195B2 patent drawing
  • US11157195B2 patent drawing
  • US11157195B2 patent drawing

AI summary

Systems and techniques are described for transferring data. A described technique includes determining that a first replica of an object stored at a first host has become available to a distributed storage system after previously being unavailable to the distributed storage system. The object includes a range of memory addresses at which data of the object is stored. In response to determining that the first replica has become available, resyncing data for the first replica is obtained. The resyncing data indicates whether each range of memory addresses is synchronized at the first replica with other replicas of the object. Tracking data for the first replica is obtained. The tracking data indicates whether data stored at the range of memory addresses of the object has been modified at a second replica while the first replica was unavailable. The resyncing data is updated based on the tracking data.