Virtual Machine Migration Using Block Matching and Local Replication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing methods for migrating virtual machines between network hosts are inefficient due to the high time and bandwidth requirements, especially when dealing with large VM sizes and asymmetric Internet links, which can hinder operations like load balancing and host stability management.
Innovation Solution
A virtual machine migration system that sends initial blocks of a VM image to a destination host while concurrently identifying matching blocks from local candidate images, using reverse network bandwidth to determine and copy matching blocks, thus reducing the need for full block transfer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If virtual machine images are transferred from source host to destination host via network, then the VM migration function is achieved, but the migration time and network bandwidth consumption increase significantly
Solution Approach 1:
The system performs preliminary actions by storing historical VM images at destination hosts before actual migration occurs. When migration is needed, the system compares incoming VM image blocks with locally stored historical images to identify matching blocks, eliminating the need to transfer these blocks over the network. This preliminary storage of candidate images enables significant bandwidth savings during subsequent migration operations.
Solution Approach 2:
Instead of transferring complete VM images over the network, the system creates a copy of the VM image at the destination host and performs block-level comparison between the source image and local historical images. Matching blocks are identified and copied locally without network transmission, while only non-matching blocks are transferred. This copying and comparison approach dramatically reduces network bandwidth consumption and migration time.
2Reliability
If complete VM image blocks are transferred over the network, then accurate VM state replication is achieved, but network bandwidth is consumed excessively
Solution Approach 1:
The VM image is segmented into individual blocks that can be independently processed and compared. The system divides the migration task into block-level operations, allowing each block to be individually matched against historical images. This segmentation enables precise identification of which blocks need transfer versus which can be replicated locally, ensuring VM state accuracy while minimizing network bandwidth usage.
Solution Approach 2:
The system changes the parameter of image transfer from complete-file level to block-level granularity. By operating at the block level, the system can selectively transfer only the necessary portions of the VM image while replicating matching blocks locally. This parameter change from holistic transfer to selective block transfer maintains VM state accuracy while dramatically reducing network bandwidth consumption.
3Productivity
If VM migration is performed using traditional file transfer protocols, then simplicity of implementation is maintained, but migration efficiency and speed are insufficient
Solution Approach 1:
The system introduces an intermediary component that acts as a bridge between the source and destination hosts during migration. This intermediary manages the block-level comparison process, coordinates with historical image repositories at destination hosts, and orchestrates the selective transfer of non-matching blocks. While this adds some system complexity, it dramatically improves migration efficiency by enabling intelligent block matching and local replication.
Solution Approach 2:
The destination host is given multiple functions: it serves as both the receiving endpoint for VM migration and as a repository for historical VM images that can be used to accelerate future migrations. This multi-functionality allows the system to leverage existing resources at destination hosts, improving overall migration efficiency without requiring separate dedicated infrastructure for each migration operation.
Data Source
AI summary
An example method may include generating a block list comprising a plurality of list items, wherein each list item identifies a respective block of a source virtual machine image, and the list items are ordered in the block list according to a timestamp of each respective block, wherein the timestamp indicates a time of a last access of the respective block, sending the block list to a destination computing device, receiving, from the destination computing device, one or more candidate blocks, determining whether the one or more candidate blocks are included in the source virtual machine image, and sending, to the destination computing device, a result indicating whether the one or more candidate blocks are included in the source virtual machine image.


