Virtual Machine Undo via Differential Memory Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtual machine migration techniques face challenges in alleviating overload at the destination computer, leading to prolonged service quality reduction due to the time-consuming process of transferring virtual machines, especially when the destination computer becomes overloaded.
Innovation Solution
A virtual machine handling system that includes a first computer and a second computer connected through a network, with a transfer unit for transmitting the virtual machine's memory image, a memory retaining unit for retaining the memory image, an update recording unit for recording partial updates, and a return unit for transmitting partial data updates back to the first computer upon an undo request, allowing the first computer to continue executing the virtual machine using the retained memory image and received data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a virtual machine is transferred from the first computer to the second computer through live migration, then the load balance and resource utilization are improved, but the destination computer may become overloaded and service quality deteriorates due to the time-consuming transfer process
Solution Approach 1:
The source computer retains the memory image of the virtual machine before transfer, preparing it in advance for potential undo operations. This preliminary action enables rapid recovery if the destination computer becomes overloaded, preventing service quality deterioration while maintaining resource utilization benefits.
Solution Approach 2:
The system allows the virtual machine to be discarded at the destination computer and recovered at the source computer through the undo function. When the destination computer becomes overloaded, the virtual machine can be quickly returned to the source computer using the retained memory image, thus recovering service quality without losing the migration benefits.
2Reliability
If the entire memory image is transferred during undo operation, then the virtual machine can be returned to the source computer, but the process takes a long time and consumes excessive network and CPU resources
Solution Approach 1:
Instead of transferring the entire memory image during undo operation, the system segments the transfer by only sending the differential data (changes) that occurred since the last snapshot. This segmentation dramatically reduces the amount of data to be transferred, enabling fast undo operations without consuming excessive network and CPU resources.
Solution Approach 2:
The system uses differential copying where only the changed portions of the memory image are copied from the destination computer back to the source computer. This copying approach is much more efficient than transferring the complete memory image, as it leverages the snapshot to avoid redundant data transmission.
3Reliability
If the source computer retains the memory image for potential undo operations, then rapid undo is enabled, but the memory resources of the source computer are consumed
Solution Approach 1:
The system extracts only the essential memory image data needed for undo operations, storing it in a compressed or optimized format. By taking out only the necessary portions rather than retaining complete high-resolution copies, the system enables rapid undo capability while minimizing memory resource consumption on the source computer.
Solution Approach 2:
The retained memory image is nested within the virtualization infrastructure, allowing efficient storage and retrieval. The memory image data is nested in a way that enables quick access for undo operations without requiring dedicated large-scale storage resources, thus balancing rapid undo capability with memory resource constraints.
Data Source
AI summary
A memory retaining unit (106) of a virtual machine handling system (10) retains a memory image (IMG) of a first computer (100). An update recording unit (203) records update information (UD) indicating a partial region of a memory image (IMG1) which is updated by the execution of a transferred virtual machine (VM) by a virtual machine execution unit (202) of a second computer (200). When receiving an undo request, a return unit (160) transmits partial data (PD) indicated by the update information (UD) from the second computer (200) to the first computer (100). A virtual machine execution unit (102) of the first computer (100) executes a continuing process of the virtual machine (VM) using the memory image (IMG) retained in the memory retaining unit (106) and the partial data (PD) received from the second computer (200).


