Synchronization Bitmaps for Distributed Data Object Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed data objects, when a component becomes unavailable, it can become stale, leading to reduced data availability and durability, and synchronization processes can corrupt tracking data due to changes occurring in a different order than the original data writes, affecting future synchronization processes.
Innovation Solution
The use of synchronization bitmaps is introduced to track changes in stale components, involving the detection of a stale log sequence number (LSN) and last committed LSN, creation of a synchronization bitmap, identification of a matching tracking bitmap, and synchronization with an active component to update the stale component, thereby reducing data corruption and processing resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a stale component is synchronized with active components using traditional tracking methods, then the stale component is brought up to date, but the tracking data becomes corrupted due to changes occurring in a different order than the original data writes
Solution Approach 1:
The patent segments the tracking mechanism into two distinct bitmaps: a tracking bitmap that records original data write operations and a synchronization bitmap that records synchronization operations. This segmentation prevents mixing of operation types that causes corruption, as each bitmap independently tracks its specific operation sequence without interference from the other.
Solution Approach 2:
The synchronization bitmap acts as an intermediary structure that mediates between the stale component and active components during synchronization. It records synchronization operations separately and provides a clean interface for tracking changes without directly modifying the original tracking bitmap, thus preventing corruption of the original data write record.
2Productivity
If traditional synchronization methods are used without separate tracking, then synchronization can be performed, but tracking data corruption occurs affecting future synchronization processes
Solution Approach 1:
The patent performs preliminary action by creating and initializing the synchronization bitmap before the synchronization process begins. This preparation ensures that the bitmap structure is ready to accurately record synchronization operations from the start, preventing any potential corruption that would occur if tracking were attempted without proper preliminary setup.
Solution Approach 2:
The system implements feedback by using the synchronization bitmap to track which data blocks have been synchronized, and this tracking information feeds back into the synchronization process to determine which blocks need updating. This feedback mechanism ensures accurate tracking without corruption, as the bitmap is updated in a controlled manner based on actual synchronization outcomes.
3Device complexity
If synchronization operations are performed without separate tracking bitmaps, then the process is simpler, but data corruption occurs due to ordering conflicts between write operations and synchronization operations
Solution Approach 1:
The patent divides the tracking structure into two separate bitmaps to avoid the complexity of managing a single mixed tracking structure. This segmentation, while creating two separate data structures, actually simplifies the logic within each bitmap by giving each a single, well-defined purpose: tracking either original writes or synchronization operations, thereby reducing overall system complexity and preventing corruption.
Solution Approach 2:
The system changes the parameter of tracking granularity by moving from a single unified tracking structure to two separate tracking structures with different granularities. The tracking bitmap tracks at the operation level (original writes), while the synchronization bitmap tracks at the data block level (synchronization status). This parameter change allows each structure to operate independently without interference.
Data Source
AI summary
The disclosure herein describes tracking changes to a stale component using a synchronization bitmap. A first component of a plurality of mirrored components of the distributed data object becomes available from an unavailable state, and a stale log sequence number (LSN) and a last committed LSN are identified. A synchronization bitmap of the first component associated with a range of LSNs (e.g., from the stale LSN to the last committed LSN) is created and configured to track changes to data blocks of the first component. A second component is identified based on the second component including a tracking bitmap associated with an LSN that matches the stale LSN of the first component. The first component is synchronized with data from the second component based on, wherein the synchronizing includes updating the synchronization bitmap to track changes made to data blocks of the first component.


