Hypervisor Control of Directly Assigned Hardware Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current machine virtualization systems cannot control the state of virtual machines (VMs) with directly assigned hardware devices, as these devices are outside the purview of the hypervisor, making operations like pausing, saving, and migrating VMs challenging, especially in cloud environments.

Innovation Solution

The hypervisor directly assigns physical hardware devices to VMs, allowing communication with the guest operating system to perform state operations such as pausing, saving, and restoring by using mechanisms like host drivers, virtual bus services, and device managers to manage directly assigned hardware devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If hardware devices are directly assigned to VMs to improve performance, then VM access speed and device utilization are improved, but the hypervisor loses control over the hardware device state

Engineering Contradiction:
ImproveVM access speedVSAvoidHypervisor control capability
Core Design Contradiction:
SpeedVSEase of operation

Solution Approach 1:

The patent introduces a device driver as an intermediary component that resides in the VM and communicates with the directly assigned hardware device. This driver acts as a mediator, allowing the hypervisor to control the device state indirectly through VM-to-hypervisor communication protocols, thus maintaining both direct hardware access performance and hypervisor control capability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The control functionality is segmented between the hypervisor and the VM's device driver. The hypervisor maintains high-level control through state manipulation requests, while the device driver handles low-level hardware interactions. This segmentation allows performance optimization through direct assignment while preserving management control through the hypervisor's ability to send control requests

Inventive Principle:
Principle #1Segmentation

2Productivity

If hardware devices are directly assigned to VMs, then device performance is improved, but VM state manipulation operations become impossible

Engineering Contradiction:
ImproveDevice performanceVSAvoidVM state manipulation capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The device driver serves as an intermediary that receives state manipulation requests from the hypervisor (such as pause, save, restore operations) and translates them into appropriate hardware device commands. This allows the hypervisor to manipulate VM state even when hardware is directly assigned, as the driver mediates between the hypervisor's control requests and the hardware device

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by having the device driver pre-configured with the capability to respond to hypervisor control requests. Before state manipulation is needed, the driver is already in place and registered with the hypervisor, enabling seamless state operations without requiring hardware reassignment or VM reconfiguration

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If cloud providers need to perform host updates and reboots, then system maintenance is improved, but tenant VM operations are interrupted

Engineering Contradiction:
ImproveSystem maintenance capabilityVSAvoidVM operation interruption
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

Before the host system is updated or rebooted, the hypervisor sends state manipulation requests to the VM's device driver to pause or save the VM state. This preliminary action ensures that the VM is in a controlled state before maintenance operations begin, allowing the host to be updated without interfering with tenant VM operations

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The device driver provides feedback to the hypervisor about the VM's current state and the status of state manipulation operations. This feedback mechanism allows the hypervisor to coordinate host maintenance activities with VM state, ensuring that VM operations are properly suspended or saved before host updates, thereby minimizing tenant operation interruptions

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP3701373B1Virtualization operations for directly assigned devices
Publication Date: 2022.09.14 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3701373B1 patent drawingFigure 1
  • EP3701373B1 patent drawingFigure 2
  • EP3701373B1 patent drawingFigure 3

AI summary

Embodiments relate to enabling state manipulation of virtual machines (VMs) that have directly assigned hardware devices. A hypervisor manages execution of a VM with a guest operating system. The hypervisor directly assigns a physical (non-virtual) hardware device to the VM, such that the VM has exclusive use of the hardware device and the guest operating system uses the hardware without needing virtualization abstraction/mapping by the hypervisor. When the VM needs to be pauses, suspended, restored, or similarly manipulated, the hypervisor communicates with the VM to cause the guest operating system to perform whatever operations might be necessary by the hardware device. The hypervisor and VM/guest may communicate with a variety of mechanisms, such as a host driver communicating with a guest driver, a virtual bus service backed by a hardware bus of the computer, a virtual bus channel, or the like.