Virtual Machine Full Hardware Functionality via Driver Initialization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtual machine (VM) technologies often fail to provide full functionality of hardware components due to generic representations and loss of functionalities when using hypervisors, leading to incomplete or reduced performance, especially in cases where specific initialization instructions and drivers are required.

Innovation Solution

A system and method for full VM functionality that includes identifying hardware components, sending a complete initialization package containing specific drivers to the hypervisor, and assigning these drivers to the components, enabling the VM to provide the full functionality of the hardware components, similar to bare metal operation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If generic virtualized devices are used to represent hardware components in VMs, then the system complexity is reduced and compatibility is improved, but the functionality and performance of hardware components are lost or reduced

Engineering Contradiction:
ImprovecompatibilityVSAvoidfunctionality
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies preliminary action by capturing and storing initialization instructions (drivers) from the host system before the VM operates. These drivers are saved to a file system during a setup phase, so that when the VM needs full hardware functionality, the pre-captured drivers are already available for loading, eliminating the need for real-time driver extraction and ensuring full functionality is restored without complexity of real-time monitoring.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If device I/O, memory, and interrupt operations are passed through to a guest OS, then hardware component functionality is improved, but the system complexity and difficulty of maintenance increase

Engineering Contradiction:
ImprovefunctionalityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies copying by creating a file system copy of the host system's device I/O, memory, and interrupt operations. Instead of directly passing through these operations to the guest OS (which would increase system complexity), the patent captures them as initialization instructions and stores them in a file system. The VM then loads these copied instructions, achieving full hardware functionality through a simpler file-based approach rather than complex real-time operation passing.

Inventive Principle:
Principle #26Copying

3Reliability

If initialization instructions are updated to improve performance and functionality of hardware components, then the functionality is improved, but the cost and difficulty of updating increase

Engineering Contradiction:
ImprovefunctionalityVSAvoidease of updating
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent applies self-service by enabling the VM to automatically load its own initialization instructions (drivers) from the file system during boot or operation. When hardware components or drivers are updated on the host system, the updated initialization instructions are automatically captured and stored in the file system, and the VM subsequently loads these updated instructions without requiring manual intervention. This self-updating mechanism reduces the cost and difficulty of maintaining hardware functionality.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3161652B1Full virtual machine functionality
Publication Date: 2020.06.03 HEWLETT PACKARD DEVELOPMENT COMPANY LP
  • EP3161652B1 patent drawingFigure 1~2
  • EP3161652B1 patent drawingFigure 3
  • EP3161652B1 patent drawingFigure 4

AI summary

Full virtual machine (VM) functionality in one example implementation can include sending a complete initialization package to a location in memory of a machine accessible by a hypervisor and generating a VM capable of providing a respective full functionality of a hardware component in the machine.