Virtual USB Hub for Dynamic Function Enumeration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

USB peripheral devices are limited in dynamically configuring and reconfiguring USB functionalities due to static descriptor hierarchies, which restricts their ability to adapt to changing power needs and interactions with USB hosts, especially when battery-powered, leading to inefficiencies in charging and potential errors in re-enumeration processes.

Innovation Solution

Implementing virtual USB hub functionality that allows a USB peripheral device to enumerate a second functionality without reducing the charging current level, enabling it to draw high current for rapid recharging while initially enumerating at a low current level and maintaining high current for subsequent functionality enumeration via the virtual hub.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a USB peripheral device re-enumerates to add or remove functionalities by opening and closing USB circuitry, then the device can dynamically configure USB functions, but active application sessions are torn down unexpectedly and charging current is reduced from 500 mA to less than 100 mA

Engineering Contradiction:
Improvedynamic configuration of USB functionalitiesVSAvoidstability of active application sessions
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the USB device into multiple independent functional components (e.g., communication module, display module, audio module) that can be independently enumerated and managed. Each functional component has its own descriptor that can be dynamically added or removed without affecting other components, allowing the device to reconfigure functionalities while maintaining stable connections for active sessions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary enumeration mechanism that acts as a mediator between the USB device and host. Instead of directly opening and closing USB circuitry which causes session disruption, the intermediary mechanism manages the enumeration process to add or remove functional components while maintaining the overall USB connection stability, preventing unexpected session teardowns.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If a USB peripheral device reduces charging current during re-enumeration to comply with USB specification, then the device can reconfigure functionalities, but rapid recharging is prevented

Engineering Contradiction:
Improvereconfiguration of USB functionalitiesVSAvoidcharging current level
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent implements dynamic current level management where the USB device can operate at different current levels depending on the operational phase. During initial enumeration, the device operates at low current (less than 100 mA) to comply with USB specifications. After successful enumeration and before functional reconfiguration, the device transitions to high current mode (500 mA) for rapid charging, maintaining this high current level throughout the reconfiguration process without requiring current reduction.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent performs preliminary enumeration at low current levels before transitioning to high current operation. The device completes the initial USB enumeration protocol requirements at less than 100 mA, then establishes high current charging (500 mA) before actual functional reconfiguration occurs. This preliminary action sequence allows the device to meet USB specification requirements while enabling rapid charging during the critical reconfiguration phase.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If a USB peripheral device uses a static descriptor hierarchy, then the device structure is simple and stable, but additional interfaces cannot be added without physical disconnection and reconnection

Engineering Contradiction:
Improvesimplicity of device structureVSAvoidability to add interfaces dynamically
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent transforms the static descriptor hierarchy into a dynamic structure where functional components can be added or removed during runtime. The descriptor hierarchy maintains a simple base structure for stability but incorporates dynamic elements that allow interfaces to be enumerated on-demand. This enables the device to add or remove functional interfaces without physical disconnection while preserving the overall structural simplicity through modular design.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements a universal descriptor framework that can accommodate multiple types of functional interfaces (communication, display, audio, etc.) through a common structural template. This universal approach allows the device to dynamically add different types of interfaces without requiring separate complex structures for each interface type, maintaining simplicity while enabling versatile dynamic configuration capabilities.

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

Data Source

PatentEP2612252B1Virtual USB compound device enumeration
Publication Date: 2017.09.20 QUALCOMM INC
  • EP2612252B1 patent drawingFigure 1
  • EP2612252B1 patent drawingFigure 2
  • EP2612252B1 patent drawingFigure 3

AI summary

A system for implementing a virtual Universal Serial Bus (USB) compound device with a simulated hub enables a single physical USB device, such as a USB peripheral device, to expose multiple stand-alone functions on the USB bus. Logical functions on the single physical USB device can be added and removed dynamically without re-enumerating the entire device and without affecting the state of other functions. Logical functions can also be independently implemented on any of a number of processors in a system that has access to the USB hardware. Each processor can enumerate as one or more USB devices via the virtual hub. Initialization of logical functions can be performed via the virtual USB hub to maintain a charging current level from a USB host in a device having a discharged battery.