VM Update with Attached Devices and In-Memory State Preservation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional virtual machine (VM) updates in virtualization hosts require rebooting, leading to workload downtime due to slow operations like writing RAM contexts to disk and the inability to pause or quiesce devices, resulting in detectable outages and inefficiencies.
Innovation Solution
A method where first VM components are suspended, their state is saved, and identification pointers are stored in physical memory, allowing devices to remain attached and operational during the update, with underlying data structures remaining loaded, enabling quick restoration post-update.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If VM memory contents are written to disk during update operation, then VM state can be preserved, but the operation becomes slow and results in detectable outages
Solution Approach 1:
The patent segments the VM components into two categories: first VM components (virtual devices, worker processes) that are shut down and restored, and second VM components (hypervisor partitions, virtual processors, page mappings) that remain loaded in physical hardware. This segmentation allows the critical state data to be preserved in memory rather than written to disk, dramatically improving update speed while maintaining reliability.
2Ease of manufacture
If VM operation is suspended and components are torn down for update, then servicing can be performed, but devices cannot remain attached and operational continuity is lost
Solution Approach 1:
The patent divides VM components into first components that require shutdown for servicing and second components that remain operational. Devices remain attached to the VM throughout the update operation, maintaining productivity. The segmented approach allows servicing of critical components without complete VM shutdown.
Solution Approach 2:
The patent performs preliminary actions by saving the state of first VM components and saving identification pointers for second VM components before shutting down the first components. This preliminary state capture enables rapid restoration after servicing, minimizing downtime while maintaining device attachment.
3Ease of manufacture
If all VM components are shut down and rebuilt during update, then complete servicing is achieved, but downtime increases and resource consumption increases
Solution Approach 1:
The patent segments VM components into those that are shut down/restored (first components) and those that remain loaded (second components). This segmentation enables complete servicing of the first components while the second components continue to operate, dramatically reducing downtime compared to complete shutdown approaches.
Solution Approach 2:
The patent discards the state of first VM components to disk and recovers it after servicing. Meanwhile, second VM components are discarded from active use but recovered by loading their identification pointers from physical memory, enabling rapid restoration without complete rebuild and minimizing time loss.
4Ease of manufacture
If devices are paused or quiesced during update operation, then VM can be serviced, but device functionality is lost and power consumption increases
Solution Approach 1:
The patent segments devices from the VM components requiring shutdown. Devices remain attached and operational throughout the update operation, continuing to function and consume power efficiently. Only the first VM components are shut down for servicing, while devices maintain their operational state.
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.