Data Replication Synchronizer for Overwrite Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional data replication systems face challenges in keeping pace with high data transaction rates at production sites, leading to potential shutdowns due to backlog of un-logged transactions and inefficiencies in initialization processes, which hinder continuous data protection and recovery.
Innovation Solution
A method involving a synchronizer that directs intercepted IOs and initialization data, discarding overwritten data and sending unoverwritten data to a secondary LUN, enabling a single journal stream and eliminating the need for extra journal streams during initialization, thus improving performance and space efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If journaling is used for continuous data protection, then any point in time recovery is enabled, but the backup site cannot keep pace with high data transaction rates at the production site
Solution Approach 1:
The patent segments the journaling process by separating initialization data handling from ongoing transaction logging. A single journal stream is used for continuous transactions, while initialization data is handled through a separate synchronization mechanism that determines whether to discard or send data based on overwrite status, avoiding the bottleneck of multiple journal streams during initialization.
Solution Approach 2:
The system dynamically adapts to changing data transaction rates by implementing a synchronizer that monitors the state of the secondary LUN and dynamically decides whether to discard initialization data or send it to the second LUN based on whether the data has been overwritten by the splitter. This dynamic adaptation allows the system to maintain point-in-time recovery capability while keeping pace with high transaction rates.
2Reliability
If multiple journal streams are used during initialization, then complete data synchronization is achieved, but system complexity and space requirements increase
Solution Approach 1:
The patent merges the initialization data transfer and continuous transaction logging into a single journal stream. The synchronizer coordinates between the splitter and the journal, determining whether initialization data has been overwritten by the splitter before deciding to send it to the second LUN. This consolidation eliminates the need for separate journal streams during initialization, reducing system complexity and space requirements while maintaining synchronization completeness.
Solution Approach 2:
The synchronizer acts as an intermediary between the splitter and the journal stream. It receives both initialization data and splitter data, determines whether the initialization data has been overwritten, and makes the decision to either discard or forward the data to the second LUN. This intermediary mechanism simplifies the overall system architecture by providing a single point of coordination instead of multiple independent journal streams.
3Reliability
If the backup site processes all data transactions, then data protection is maintained, but the production site is forced to slow down due to backlog
Solution Approach 1:
The system performs preliminary actions by pre-synchronizing initialization data before continuous transaction logging begins. The synchronizer determines in advance whether initialization data has been overwritten by the splitter and makes decisions to discard or send data accordingly. This preliminary handling of initialization data eliminates backlogs that would otherwise slow down the production site, while maintaining continuous data protection through the single journal stream for ongoing transactions.
Data Source
AI summary
A computer implemented method, computer program product, and system for data replication comprising directing Input/Outputs (I/Os) intercepted by a splitter to a synchronizer, directing initialization data to the synchronizer from an initialization process, determining, at the synchronizer, whether the data arrived from the initialization process has been overwritten by the splitter, based on a determination that the data has been overwritten, discarding the data and based on a determination that the data has not been overwritten, sending the data to a Logical Unit.


