Virtual Machine Suspension via Guest OS Notification and RAM State Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional virtual machine suspension methods are either slow and resource-intensive or disadvantageous as they do not notify the guest OS, leading to issues with application data integrity and unexpected clock changes during resumption.

Innovation Solution

A method that coordinates between the guest OS and hypervisor to suspend and resume a virtual machine by using 'suspend to RAM' mode, followed by external storage of VM memory and state information, ensuring the guest OS is aware of the process and allowing quicker and more accurate operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the guest OS uses S4 ACPI capabilities to suspend the virtual machine to a disk, then the suspension is accurate and the guest OS is aware of the suspension, but the suspension is slow and consumes a significant amount of resources

Engineering Contradiction:
Improvesuspension accuracyVSAvoidsuspension speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The suspension process is divided into two distinct phases: (1) guest OS-level suspend to RAM using S4 ACPI capabilities, which ensures accurate suspension state capture, and (2) hypervisor-level external suspension that migrates the suspended VM memory to host storage. This segmentation allows each phase to optimize for its specific function without compromising the other.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The guest OS performs preliminary suspension actions by saving its state to RAM before the hypervisor performs the final external suspension and storage migration. This preliminary action ensures that when the VM is resumed, the guest OS is already in the correct state to continue execution, improving both accuracy and speed.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the host computing system pauses the virtual machine externally and saves the virtual machine memory and state information into host OS memory, then the suspension is faster, but the guest OS is not aware that it is being suspended, which may create problems for applications running on the guest OS

Engineering Contradiction:
Improvesuspension speedVSAvoidapplication data integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements feedback by having the guest OS notify applications of the upcoming suspension before it occurs. This allows applications to perform necessary cleanup operations, flush buffers to disk, and save state information, ensuring data integrity even though the suspension itself is fast.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Applications are given preliminary notice of the suspension before it occurs, allowing them to perform preparatory actions such as flushing data to disk and saving state. This preliminary action ensures that when the fast suspension occurs, no data is lost.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the virtual machine is suspended to disk, then the suspension is accurate, but it consumes a significant amount of resources and is slow

Engineering Contradiction:
Improvesuspension accuracyVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The invention changes the storage parameter from disk (persistent storage) to RAM (volatile storage) for the suspension state. By suspending to RAM instead of disk, the system achieves both accuracy and speed while reducing resource consumption, as RAM operations are faster and consume less energy than disk operations.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system creates a copy of the VM memory state in host storage after the guest OS has suspended to RAM. This copying approach allows the original suspended state to remain in fast RAM while creating a persistent backup, enabling fast resumption while maintaining data safety.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10481942B2Virtual machine suspension
Publication Date: 2019.11.19 RED HAT ISRAEL
  • US10481942B2 patent drawing
  • US10481942B2 patent drawing
  • US10481942B2 patent drawing

AI summary

A method and system for suspending operation of a virtual machine executed by a processing device of a host computing system. The method and system include storing state information of the virtual machine to a memory of the guest operating system. A notification is sent to an application of the virtual machine to enable the application to flush data prior to suspension of the operation of the virtual machine. Upon receipt of a confirmation that the state information is stored in the memory of the guest operating system, the state information is migrated to storage of the host computing system.