VM Update While Keeping Directly Attached Devices Connected
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Adaptability or versatility
If devices are assigned to VM instances, then device functionality is provided, but the VM instances cannot participate in update operations
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.
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.
Data Source
Figure 1
Figure 2
Figure 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.