VM Update While Keeping Directly Attached Devices Connected

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional methods for updating host operating systems in virtualization environments require rebooting, leading to workload downtime and inefficiencies due to slow operations, especially when dealing with large memory quantities and guest to host page mappings, and devices assigned to VM instances cannot participate in updates.

Innovation Solution

A computing system and method that suspends the operation of first VM components, saves their state, and maintains directly attached devices in communication, allowing the components to remain loaded in physical hardware during servicing, and reconnects them post-servicing without rebuilding underlying data structures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If VM memory contents are written to disk for preservation, then VM state can be restored, but the operation becomes slow and results in detectable outages

Engineering Contradiction:
ImproveVM state preservationVSAvoidupdate operation speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent extracts the VM state information from physical memory and stores it in a data structure in page tables, separating the state preservation mechanism from the memory contents themselves. This allows the VM to be restored without writing large amounts of memory data to disk, thereby improving speed while maintaining reliability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent creates a copy of the VM state information in the form of identification pointers stored in page tables. These pointers reference the original memory pages without requiring the actual memory contents to be copied or written to disk, enabling fast restoration through pointer reassignment rather than data copying.

Inventive Principle:
Principle #26Copying

2Reliability

If VM artifacts are destroyed and reconstructed during update, then new software can be loaded, but the duration of the operation and downtime window increases

Engineering Contradiction:
Improvesoftware update capabilityVSAvoiddowntime window
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by cataloging VM memory pages and creating identification pointers in the page tables before the update operation begins. This preliminary state capture allows the VM to be quickly restored after the update without requiring time-consuming reconstruction of memory mappings during the update process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces the mechanical process of destroying and reconstructing VM artifacts with a software-based pointer manipulation approach. Instead of physically rebuilding memory mappings, the system simply updates pointers in the page table to reference the same memory pages, dramatically reducing the time required for the update operation.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Adaptability or versatility

If devices are assigned to VM instances, then device functionality is provided, but the VM instances cannot participate in update operations

Engineering Contradiction:
Improvedevice assignment capabilityVSAvoidupdate operation participation
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent extracts the device state information from the running VM and stores it in the page table data structures. This separation allows the physical devices to remain assigned to the VM while the VM's software components are updated, as the device state is preserved independently through the pointer mechanism.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces the page table identification pointers as an intermediary between the VM and its assigned devices. During update operations, these pointers maintain the connection between the VM's memory space and the physical devices, allowing devices to remain functional while the VM software is updated without requiring device state to be saved and restored.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP4446888B1Virtual machine update while keeping devices attached to the virtual machine
Publication Date: 2026.04.01 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP4446888B1 patent drawingFigure 1
  • EP4446888B1 patent drawingFigure 2
  • EP4446888B1 patent drawingFigure 3A

AI summary

An operation of a VM running first and second VM components is suspended so that a servicing operation for the VM can be performed. The VM has devices directly attached to it. A state of the first VM components is saved. An identification pointer for the second VM components is saved in a portion of the computing system physical memory without removing any underlying data structures of second VM components from computing system physical hardware. The directly attached devices remain configured as attached to the VM and remain configured to communicate with the VM while the VM is suspended and while the servicing operation is performed. The first VM components are shut down and then restored at the completion of the servicing operation using the saved state. The restored first VM components are reconnected to the second VM components using the identification pointers. The operation of the VM is restored.