Virtual Host Controller Driver for USB Device Sharing Across Power Modes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current technologies for sharing device connections, such as USB connections, between multiple domains of a dual operating system computer are limited in allowing concurrent and atomic access, and fail to efficiently manage power save modes, leading to difficulties in sharing devices across different operating systems like Windows and Linux.

Innovation Solution

The method involves a processor-operated virtual host controller driver that manages device requests between a host and client, enabling device sharing by receiving and passing requests across different power modes, and utilizing a sharing switch to connect device ports appropriately, allowing concurrent and atomic access through software techniques like USB/IP bridging.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If device connection sharing is enabled between multiple domains, then device accessibility is improved, but power management efficiency deteriorates

Engineering Contradiction:
Improvedevice accessibilityVSAvoidpower management efficiency
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The system dynamically switches between virtual host controller driver mode and native driver mode based on the host's power state. When the host is in power save mode, the virtual host controller driver passes device requests to the native driver, enabling the system to adapt its architecture to power consumption requirements while maintaining device sharing capability.

Inventive Principle:
Principle #15Dynamics

2Productivity

If concurrent access is enabled for device sharing, then device utilization is improved, but access control complexity increases

Engineering Contradiction:
Improvedevice utilizationVSAvoidaccess control complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The virtual host controller driver acts as an intermediary between the host and client domains. It receives device requests from the virtual host controller driver of the client and manages the passing of requests to the native driver when needed, thereby mediating concurrent access control between different operating systems without requiring direct complex interaction.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If multiple physical ports are used for device sharing, then device connectivity is improved, but device portability deteriorates

Engineering Contradiction:
Improvedevice connectivityVSAvoiddevice portability
Core Design Contradiction:
Adaptability or versatilityVSWeight of moving object

Solution Approach 1:

The system enables a single physical device connection port to serve multiple functions by allowing different operating systems (host and client domains) to access the same USB device through software-based sharing mechanisms. This eliminates the need for multiple physical ports while maintaining connectivity for both domains.

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

Data Source

PatentUS9081703B2Method and apparatuses for facilitating sharing device connections between a host and client based on the power mode of the host
Publication Date: 2015.07.14 WSOU INVESTMENTS LLC
  • US9081703B2 patent drawing
  • US9081703B2 patent drawing
  • US9081703B2 patent drawing

AI summary

Methods and apparatuses are provided for facilitating sharing device connections across multiple physical and/or virtual (logical) computers. A method may include receiving a USB device request from a virtual host controller driver of a client when a host is not in a power save mode and passing a USB device request to a host controller driver of the client when the host is in a power save mode. A method may also include activating a sharing switch of a host controller to connect a device connection port to the host when the host is not in a power save mode and to connect the device connection port to the client when the host is in a power save mode. Corresponding apparatuses and computer program products are also provided.