Virtual Machine Snapshot Copy-on-Write Intercepts

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtual machine snapshots and saves are time-consuming due to the need to stop virtual processors and devices, leading to prolonged downtime and inefficiencies in preserving and restoring virtual machine states.

Innovation Solution

Implementing a copy-on-write method that allows virtual processors to continue running by marking memory pages for intercepts, enabling efficient saving and restoring of virtual machine states while minimizing performance degradation, and allowing multiple snapshots to be taken concurrently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If virtual processors are stopped to save memory state, then snapshot accuracy is improved, but operation time increases

Engineering Contradiction:
Improvesnapshot accuracyVSAvoidoperation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary actions by copying memory pages to storage before the virtual processors actually write to them. Memory pages are marked with intercepts that trigger copying to storage in advance, ensuring the snapshot captures the correct state without requiring processors to stop.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

An intermediary mechanism (the intercept system) is introduced between the virtual processors and memory storage. The intercepts act as mediators that monitor memory access and coordinate the copying process, allowing processors to continue running while their memory state is being captured.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If virtual devices are busy during save operation, then productivity is maintained, but snapshot completeness deteriorates

Engineering Contradiction:
Improveprocessor productivityVSAvoidsnapshot completeness
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The useful action of processing continues uninterrupted. Virtual processors keep executing their tasks while the intercept system simultaneously captures memory state changes. This continuous operation ensures both productivity maintenance and snapshot completeness without requiring processors to idle.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The intercept mechanism provides feedback about memory page access patterns to the snapshot system. This feedback allows the system to dynamically track which pages need to be copied and when, ensuring complete snapshot capture even as processors continuously write to memory.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If memory is saved sequentially, then storage accuracy is improved, but time consumption increases

Engineering Contradiction:
Improvestorage accuracyVSAvoidtime consumption
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The memory saving process is segmented into individual page-level operations rather than a single monolithic copy. Each memory page can be independently tracked, copied, and saved, allowing parallel processing and reducing overall time while maintaining accuracy through systematic page-by-page capture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The memory saving process becomes dynamic rather than static. The system adapts its saving strategy based on real-time processor behavior, intercepting memory accesses as they occur and copying pages on-demand. This dynamic approach captures the correct state without requiring sequential processing of all memory.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8984244B2Concurrent virtual machine snapshots and restore
Publication Date: 2015.03.17 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8984244B2 patent drawing
  • US8984244B2 patent drawing
  • US8984244B2 patent drawing

AI summary

Various mechanisms are disclosed herein for the saving and restoring of virtual machine environment state. For example, virtual machine state can be either be saved or (multiple) snapshots can be taken of the virtual machine state. In the latter case, virtual processors can be allowed to run while the memory of the virtual machine state is being saved. In either case, virtual devices associated with the virtual machine environment can be quiesced such that these devices can prepare themselves to be saved. Once such virtual devices and memory are saved, they can also be restored. For example, restoration of memory can occur while virtual processors are running at the same time. And, moreover, restoration can occur in batches of pages, thus optimizing the response time for restoring saved data.