Virtual Machine Live Update Using Shared Memory Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for updating an operating system in a virtual machine require downtime, leading to unavailable applications and inefficient memory transfer processes, especially when dealing with large data volumes, which are time-consuming and degrade system performance.

Innovation Solution

A method involving the instantiation of a second virtual machine (VM) on the same physical machine to virtualize physical adapters, deploying it with the same memory mapping as the first VM, checkpointing applications, and migrating them to the second VM for live updates without copying large memory portions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional operating system update methods are used in virtual machines, then updates can be applied, but system downtime occurs and applications become unavailable

Engineering Contradiction:
Improveapplication availabilityVSAvoidsystem downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

A second virtual machine is instantiated and configured with the updated operating system before the update is needed. The second VM is prepared in advance with all update components, so when the update is required, the system can switch to the pre-prepared second VM immediately, eliminating downtime and maintaining application availability.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If large portions of memory are copied during VM updates, then application state can be transferred, but memory transfer time increases and system performance degrades

Engineering Contradiction:
Improveapplication state continuityVSAvoidmemory transfer time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Only the essential application state data is extracted and transferred to the second VM, rather than copying entire memory portions. The checkpointing mechanism identifies and transfers only the necessary state information needed to restore application execution, significantly reducing memory transfer time and performance impact.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of operation

If memory mapping is used to virtualize physical memory, then memory management is simplified, but updating process data to use new memory mapping becomes complex

Engineering Contradiction:
Improvememory managementVSAvoidprocess data update complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The second VM acts as an intermediary that handles the complexity of memory mapping transitions. Process data is updated to use the new memory mapping through the second VM's memory management structures, which mediate between the application and the underlying physical memory, simplifying the update process while maintaining ease of operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12561154B2Live updating a virtual machine virtualizing physical resources
Publication Date: 2026.02.24 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12561154B2 patent drawing
  • US12561154B2 patent drawing
  • US12561154B2 patent drawing

AI summary

For a first virtual machine (VM) executing in a physical machine, a second VM is instantiated in the physical machine, the first VM using a physical adapter installed in the physical machine, the first VM virtualizing a portion of physical memory of the physical machine, the second VM virtualizing the physical adapter. The second VM is deployed using a memory mapping virtualizing the portion of physical memory. Checkpointing of an application executing in the first VM is caused, generating application state data of the application. The application is caused to execute in the second VM using the application state data. Process data of the application is caused to be updated in the second VM, the updating instructing the application to use the memory mapping.