VM OS Device Assignment via Dynamic Descriptor Modification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Edge devices with limited resources face challenges in dynamically assigning hardware devices to guest virtual machines (VMs) due to the need for different devices by each VM, which is not efficiently addressed by existing virtualization frameworks.

Innovation Solution

A VM OS device assignment system that includes a processor executing a host VM, hypervisor, and device assigner, where the device assigner modifies a descriptor file to assign devices to guest VMs, installing the modified file into protected memory to configure the OS, allowing for dynamic device assignment without altering hypervisor configurations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If devices are statically assigned to guest VMs in the virtualization framework, then the system configuration is simple and stable, but the ability to dynamically assign devices to different guest VMs is lost

Engineering Contradiction:
Improvedynamic device assignment capabilityVSAvoidsystem configuration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic device assignment by allowing the device tree blob (dtb) to be modified at runtime. The device assigner can dynamically add or remove devices from the dtb without requiring system reconfiguration or reboot, enabling flexible device allocation to different guest VMs based on real-time needs while maintaining the simplicity of the virtualization framework.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent separates the device assignment function from the hypervisor by introducing an independent device assigner. This segmentation allows the device assigner to modify the dtb independently, providing dynamic device assignment capability without complicating the hypervisor configuration. The device assigner acts as a standalone module that can operate autonomously to manage device allocation.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If the hypervisor configuration is modified to enable device assignment, then device assignment functionality is achieved, but system security is compromised

Engineering Contradiction:
Improvedevice assignment functionalityVSAvoidsystem security
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent extracts the device assignment functionality from the hypervisor by introducing a separate device assigner module. This extraction allows device assignment to be performed independently of the hypervisor configuration, maintaining hypervisor security while enabling dynamic device assignment. The device assigner can modify the dtb without requiring changes to the hypervisor's core security mechanisms.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The device tree blob (dtb) serves as an intermediary between the device assigner and the guest VMs. The device assigner modifies the dtb to assign devices, and the modified dtb is then used by the guest VMs without directly involving hypervisor configuration changes. This intermediary approach maintains security by keeping the hypervisor unchanged while still enabling device assignment functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If multiple descriptor files are maintained for different device assignments, then device assignment flexibility is improved, but memory usage and system complexity increase

Engineering Contradiction:
Improvedevice assignment flexibilityVSAvoidmemory usage
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

Instead of maintaining multiple static descriptor files, the patent uses a single dynamic dtb that can be modified at runtime. The device assigner can add, remove, or modify device entries in the dtb as needed, providing the flexibility of multiple configurations without requiring multiple files to be stored in memory. This dynamic approach reduces memory usage while maintaining assignment flexibility.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20240419478A1Virtual machine operating system device assignment system and associated method and non-transitory machine-readable medium
Publication Date: 2024.12.19 MEDIATEK INC
  • US20240419478A1 patent drawing
  • US20240419478A1 patent drawing
  • US20240419478A1 patent drawing

AI summary

A virtual machine (VM) operating system (OS) device assignment system includes a processor, wherein the processor is configured to execute a host VM, a hypervisor, a device assigner, and a guest VM. The host VM is arranged to generate a driving signal for driving a booting of the guest VM. The hypervisor is arranged to generate a first trigger signal according to the driving signal, for triggering assignment of at least one device. The device assigner is arranged to modify a descriptor to generate a modified descriptor for assigning the at least one device among a plurality of devices to the guest VM, and install the modified descriptor into a protected memory, wherein an OS of the guest VM is configured according to the modified descriptor.