Delta Component Synchronization for Distributed Storage Maintenance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed data objects face reduced data availability and durability when components become unavailable for maintenance, and upon returning online, they may be stale due to missed I/O traffic, leading to synchronization challenges.

Innovation Solution

Generating a delta component with an address space matching the base component and a tracking bitmap to route write operations, synchronize data blocks, and remove the delta component once the base component is up-to-date.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of repair

If a component is taken offline for maintenance, then the component can be updated and maintained, but data availability and durability are reduced during the maintenance period

Engineering Contradiction:
Improvecomponent maintenanceVSAvoiddata availability
Core Design Contradiction:
Ease of repairVSReliability

Solution Approach 1:

A delta component is created in advance before the base component is taken offline. This delta component serves as a temporary placeholder that can immediately accept write operations, ensuring data availability is maintained during the maintenance window without requiring the base component to be online.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The delta component acts as an intermediary between the unavailable base component and incoming write operations. It receives and stores data changes during maintenance, then synchronizes these changes back to the base component when it comes online, effectively mediating the data flow disruption caused by maintenance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If a component returns online after maintenance, then the component becomes available again, but it becomes stale due to missed I/O traffic

Engineering Contradiction:
Improvecomponent availabilityVSAvoiddata synchronization
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

A tracking bitmap is implemented that continuously monitors and records which data blocks have been modified in the delta component. When the base component comes online, this bitmap provides feedback information about exactly which blocks need to be synchronized, enabling efficient selective updates rather than blind full-synchronization.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The tracking bitmap is maintained continuously during the maintenance period, preliminarily identifying all modified data blocks before synchronization is needed. This preliminary tracking eliminates the need for expensive full-data comparisons when bringing the component back online, as the sync process can immediately target only the identified changed blocks.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If traditional synchronization methods are used to update the base component, then data consistency is restored, but bandwidth and processing requirements increase significantly

Engineering Contradiction:
Improvedata consistencyVSAvoidbandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The tracking bitmap extracts and isolates only the specific data blocks that have changed during maintenance, separating them from the unchanged majority of the data. When synchronizing, only these extracted changed blocks are transferred back to the base component, dramatically reducing the bandwidth and processing requirements compared to traditional methods that would synchronize all data.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of performing a complete full-data synchronization, the system applies partial action by synchronizing only the subset of data blocks that actually changed. The tracking bitmap enables this selective partial synchronization, avoiding the excessive bandwidth consumption and processing overhead of transferring and comparing entire data sets that contain mostly unchanged information.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11947827B2Synchronizing a stale component of a distributed object using a delta component during maintenance
Publication Date: 2024.04.02 VMWARE INC
  • US11947827B2 patent drawing
  • US11947827B2 patent drawing
  • US11947827B2 patent drawing

AI summary

The disclosure herein describes enhancing data durability of a base component using a delta component. A delta component is generated based on the base component becoming unavailable. The delta component is configured to include unwritten storage space with an address space matching the base component and a tracking bitmap associated with data blocks of the address space of the delta component. Write operations targeted for the base component are routed to the delta component. Based on the routed write operations, bits associated with data blocks affected by the write operations are changed in the tracking bitmap. Based on the base component becoming available, data blocks affected by routed write operations are identified based on the tracking bitmap and the identified data blocks are synchronized from the delta component to the base component. The delta component is then removed.