Virtual USB Hub Emulation for Legacy OS Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtual Machines (VMs) running older operating systems struggle to support super speed external devices like USB 3.0 due to lack of driver support, resulting in compatibility issues and limited functionality.

Innovation Solution

A method that replaces the metadata of a new external device with that of an older device, allowing the Guest OS to handle packets using native drivers, effectively 'patching' device descriptors from USB 3.0 to USB 2.0, enabling VMs to recognize and utilize external devices by emulating them as USB 2.0 devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If USB 3.0 super speed device is connected to VM running older OS, then data transmission speed is improved, but compatibility is worsened due to lack of driver support

Engineering Contradiction:
Improvedata transmission speedVSAvoidcompatibility with older OS
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent creates a virtual copy of the USB 3.0 device that presents USB 2.0 device descriptors to the Guest OS. The virtualization layer intercepts device enumeration requests and returns modified descriptors that indicate USB 2.0 compatibility, allowing the older OS to recognize and driver the device through USB 2.0 drivers while the actual data transmission occurs over the USB 3.0 connection at higher speeds.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces a virtualization layer as an intermediary between the physical USB 3.0 device and the Guest OS running on older hardware. This intermediary translates USB 3.0 device descriptors into USB 2.0 compatible descriptors, enabling communication between incompatible components without modifying either the physical device or the Guest OS.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If USB 3.0 device metadata is presented to Guest OS, then performance is improved, but driver compatibility is worsened

Engineering Contradiction:
Improvesystem productivityVSAvoiddriver compatibility
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent dynamically changes the device descriptor parameters presented to the Guest OS based on the capabilities of the virtualization layer and the Guest OS. When USB 3.0 support is detected in the virtualization layer, USB 3.0 descriptors are presented for optimal performance. When USB 2.0 compatibility is required, the descriptors are modified to indicate USB 2.0 specifications, ensuring driver compatibility while maintaining USB 3.0 physical connection performance.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If virtual hub emulation is implemented, then device recognition is improved, but system complexity is worsened

Engineering Contradiction:
Improvedevice recognition capabilityVSAvoidvirtualization layer complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal virtual USB hub emulation layer that handles multiple USB versions (1.1, 2.0, and 3.0) through a single unified interface. This multi-functional hub can present different device descriptors based on the Guest OS capabilities and virtualization layer support, eliminating the need for separate emulation code for each USB version and reducing overall system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8973019B1Method and system for emulation of super speed devices in virtual machines
Publication Date: 2015.03.03 PARALLELS INT GMBH
  • US8973019B1 patent drawing
  • US8973019B1 patent drawing
  • US8973019B1 patent drawing

AI summary

A method and system for emulation of super speed external devices in a virtual machine (VM), including checking the ability of the VM Guest OS to support the super speed external device. If the super speed device is not supported by the Guest OS, device metadata is substituted by the metadata of the devices supported by the Guest OS. The method replaces the metadata of a new external device by the metadata of an older or different (supported) device. A VM acquires a descriptor of the external device configuration and “patches” the device by replacing device version data from a new device version to an older (or different) device.