Virtual Device Proxy for Multi-OS Hardware Sharing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtual machine technologies face challenges in sharing hardware devices among multiple operating systems, leading to device conflicts, compatibility issues, and poor performance due to emulated device functionality that cannot take advantage of host-side hardware capabilities.

Innovation Solution

The implementation of a Virtual Service Provider (VSP) and Virtual Device Proxy (VDP) system, where the host operating system projects a synthetic device to the guest operating system, allowing for device function mapping through a hardware abstraction and emulation layer, enabling seamless device access and management across multiple OS environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If emulated device functionality is used in virtual machines, then multiple operating systems can share hardware devices, but device conflicts and compatibility issues occur

Engineering Contradiction:
Improvedevice sharing capabilityVSAvoiddevice compatibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces a device proxy as an intermediary component that sits between the virtual machine and the physical hardware device. This device proxy translates and mediates device access requests, allowing multiple operating systems to share hardware devices without direct conflicts. The intermediary handles device state management and coordination, resolving compatibility issues while maintaining reliable device sharing.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If emulated device functionality is used in virtual machines, then multiple operating systems can access devices, but performance deteriorates due to inability to utilize host-side hardware capabilities

Engineering Contradiction:
Improvedevice accessibilityVSAvoiddevice performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements dynamic device function mapping that adapts based on the capabilities of the host hardware and the requirements of the guest operating system. The system dynamically determines which device functions to emulate and which to pass through directly to the physical hardware, optimizing performance by utilizing host-side hardware capabilities whenever possible while maintaining device accessibility for multiple operating systems.

Inventive Principle:
Principle #15Dynamics

3Productivity

If device functions are mapped directly through hardware abstraction layer, then performance is improved, but adaptability to different device capabilities is reduced

Engineering Contradiction:
Improvedevice function execution speedVSAvoiddevice capability compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments device functions into different categories: functions that can be executed directly through the hardware abstraction layer for high performance, and functions that require emulation for compatibility. This segmentation allows the system to optimize performance-critical paths while maintaining adaptability for diverse device capabilities through selective direct execution versus emulation.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7581229B2Systems and methods for supporting device access from multiple operating systems
Publication Date: 2009.08.25 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7581229B2 patent drawing
  • US7581229B2 patent drawing
  • US7581229B2 patent drawing

AI summary

A host operating system can take ownership of a device. The host can project the presence of a device proxy (VDP) into a guest operating system. The VDP provides a set of device functions corresponding to the particular device class. Interactions with the VDP in the guest are forwarded to a Virtual Service Provider (VSP) in the host. The VSP maps a set of device class functions onto physical devices through a hardware abstraction and emulation layer. Functions supported directly by a physical device can be delivered to the device by the hardware abstraction layer (HAL). Functions not directly supported can be implemented through the hardware emulation layer (HEL). A uniform and robust set of functions may be made available in the guest regardless of hardware changes in the host, migration to a new host, or use of the device by other competing operating systems.