Virtual Machine Snapshot via Asynchronous Memory Queuing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional methods for creating virtual machine snapshots often require interrupting active user sessions and de-initializing virtualization services, which adversely affect the end-user experience and system efficiency, especially in interactive environments.
Innovation Solution
The method involves using a host RAM buffer to queue virtual memory pages and asynchronously save them to disk, allowing snapshot creation without interrupting user sessions by write-protecting memory pages and queuing them for compression and storage, thereby minimizing disk I/O operations and maintaining system efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional snapshot creation methods are used, then a virtual machine snapshot can be created, but active user sessions are interrupted and system efficiency deteriorates
Solution Approach 1:
The system performs preliminary actions by write-protecting memory pages before snapshot creation and queuing them in advance. This allows the snapshot to be created without interrupting user sessions, as the memory protection is established beforehand and the actual snapshot operation can proceed asynchronously.
Solution Approach 2:
A host RAM buffer is introduced as an intermediary to queue virtual memory pages during snapshot creation. This buffer acts as a mediator between the virtual machine memory and the disk storage, allowing snapshot operations to proceed without directly blocking user sessions while maintaining data integrity.
2Reliability
If conventional snapshot creation methods are used, then a virtual machine snapshot can be created, but user experience deteriorates due to session interruptions
Solution Approach 1:
The system performs preliminary actions by write-protecting memory pages before snapshot creation and queuing them in advance. This allows the snapshot to be created without interrupting user sessions, as the memory protection is established beforehand and the actual snapshot operation can proceed asynchronously.
Solution Approach 2:
A host RAM buffer is introduced as an intermediary to queue virtual memory pages during snapshot creation. This buffer acts as a mediator between the virtual machine memory and the disk storage, allowing snapshot operations to proceed without directly blocking user sessions while maintaining data integrity.
3Productivity
If memory pages are queued and saved asynchronously, then system efficiency is maintained, but device complexity increases
Solution Approach 1:
The snapshot creation process is segmented into distinct phases: write-protection of memory pages, queuing in the host RAM buffer, compression, and asynchronous disk saving. This segmentation allows each phase to be optimized independently and maintains system efficiency while managing complexity through modular organization.
Solution Approach 2:
The system maintains continuity of useful action by allowing user sessions to continue uninterrupted while snapshot operations proceed in the background. The asynchronous architecture ensures that snapshot creation does not block normal system operations, maintaining continuous productivity.
Data Source
AI summary
Systems and methods for creating virtual machine snapshots. An example method comprises: receiving a request to create a snapshot of a virtual machine running on a host computer system; protecting from modification a plurality of virtual memory pages of the virtual machine; responsive to detecting an attempt to modify a virtual memory page of the plurality of memory pages, copying the virtual memory page to a queue residing in a random access memory (RAM) of the host computer system; making the virtual memory page writable; retrieving the virtual memory page from the queue; writing the virtual memory page to a disk of the host computer system; and responsive to exhausting the queue, completing creation of the snapshot of the virtual machine.


