Resync Engine for VM Data Consistency via Signature Comparison
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for maintaining data consistency between primary and recovery virtual machines are inefficient, often requiring large data transfers that consume significant time and network bandwidth, especially when replication relationships are broken due to events like power outages or hardware failures, leading to delayed failover and increased network usage during initialization.
Innovation Solution
Implementing a resync engine that calculates and compares data signatures between primary and recovery virtual machines to identify differing data blocks, allowing for targeted data transfer and synchronization without interrupting existing backup configurations, thereby minimizing CPU, memory, and disk throughput usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If large amounts of data are transferred from primary virtual machine to recovery virtual machine to reestablish data consistency, then data consistency is restored, but network bandwidth consumption increases and time required for failover increases
Solution Approach 1:
The patent extracts only the differing data blocks from the complete data set by comparing data signatures between primary and recovery virtual machines. Instead of transferring all data, the system identifies and transfers only the specific portions that differ, significantly reducing network bandwidth consumption while restoring data consistency.
Solution Approach 2:
The patent applies partial action by transferring only the necessary portion of data (differing blocks) rather than the complete data set. The data signature comparison enables the system to perform exactly enough data transfer to achieve consistency without excessive transmission of redundant data.
2Reliability
If large amounts of data are transferred to initialize recovery virtual machine, then recovery virtual machine is properly initialized, but initialization time increases
Solution Approach 1:
The patent extracts only the differing data blocks that need to be transferred during initialization by comparing data signatures. This selective extraction of necessary data significantly reduces the time required to initialize the recovery virtual machine while ensuring proper initialization with all required data.
Solution Approach 2:
The patent performs preliminary data signature comparison before data transfer to identify which data blocks differ. This preliminary action enables the system to prepare an optimized transfer plan, reducing initialization time by avoiding transfer of data that already exists in the recovery virtual machine.
3Reliability
If complete data transfer is performed to reestablish replication relationship, then data consistency is ensured, but network bandwidth availability for other operations decreases
Solution Approach 1:
The patent extracts only the differing data blocks for transfer by comparing data signatures between primary and recovery virtual machines. This selective approach ensures data consistency is restored while minimizing network bandwidth consumption, leaving more bandwidth available for other operations.
Solution Approach 2:
The patent performs partial data transfer of only the necessary differing blocks rather than complete data transfer. This partial action achieves the goal of data consistency while preserving network bandwidth resources for other uses.
Data Source
AI summary
Data consistency between a primary virtual machine and a recovery virtual machine may employ a resync engine to detect differences in data blocks stored on both virtual machines. For example, the resync engine may calculate a signature (e.g., hash value) for a primary data block and a corresponding signature for a recovery data block, and compare the signature and the corresponding signature to identify a difference between the primary data block and the recovery data block. In some instances, by identifying a difference between the primary data block and the recovery data block, a data block (e.g., primary data block or recovery data block) may be identified to be transferred from a virtual machine to another virtual machine.


