Incremental Checkpointing for Virtual Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Frequent and fast checkpointing of virtual machines is challenging due to the time-expensiveness of saving all state data, making it impractical for symmetric multiprocessing (SMP) based virtual machines, which cannot utilize conventional non-deterministic instruction stream record-replay techniques.

Innovation Solution

Implementing an incremental checkpoint method that tracks changes in virtual devices, generating checkpoints only for devices that have modified state data since the last checkpoint, reducing the amount of data to be captured and transmitted, and using a collector process to maintain a backup VM for immediate resumption upon failure.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all state data of virtual devices is saved for checkpointing, then complete VM state restoration is achieved, but checkpoint generation time becomes too long for frequent checkpointing

Engineering Contradiction:
ImproveVM state restoration completenessVSAvoidcheckpoint generation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts only the changed portions of virtual device state data since the last checkpoint, rather than saving all state data. This is achieved by comparing current state with previous state and identifying modifications, then saving only these changed portions to reduce checkpoint generation time while maintaining restoration capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the virtual device state data into individual device states and further into changed and unchanged portions. By dividing the checkpointing task into per-device and per-state-change components, the system processes only necessary data segments, reducing overall checkpoint time while preserving complete restoration ability.

Inventive Principle:
Principle #1Segmentation

2Productivity

If checkpoint frequency is increased for better fault tolerance, then recovery speed improves, but the overhead of saving all state data becomes impractical

Engineering Contradiction:
Improvefault tolerance efficiencyVSAvoidcheckpoint overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts only the modified state data of virtual devices since the last checkpoint, significantly reducing the amount of data that needs to be processed and saved. This extraction approach makes frequent checkpointing practical by minimizing checkpoint overhead while maintaining effective fault tolerance capabilities.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary identification of changed state data before completing the checkpoint process. By pre-identifying which virtual device states have changed since the last checkpoint, the system prepares only the necessary data for saving, reducing the overall time and overhead of frequent checkpoint operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9329958B2Efficient incremental checkpointing of virtual devices
Publication Date: 2016.05.03 VMWARE INC
  • US9329958B2 patent drawing
  • US9329958B2 patent drawing
  • US9329958B2 patent drawing

AI summary

A virtualization platform provides fault tolerance for a primary virtual machine by continuously transmitting checkpoint information of the primary virtual machine to a collector process, such as a backup virtual machine. The virtualization platform includes virtual devices configured to keep track of state changes, for example, by using state flags or saving copies of prior state data. The virtualization platform generates incremental checkpoints by querying the virtual devices, which return state data based on whether the virtual devices have changed state since a prior checkpoint operation.