Dual Role Controller Proxy Service for USB Mode Switching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In portable information handling systems, dual role host controller implementations vary across vendors, leading to compatibility issues and device redirection failures when switching between host and device modes, especially in VDI sessions, where USB device redirection works only in host mode and device mode stacks differ, preventing seamless device connections and data transfers.
Innovation Solution
A proxy service on the dual role controller monitors role change notifications, querying an agent service via a network to determine available devices and expose them to the software stack, allowing remote hardware and VDI applications to transfer data without a complex stack, using high-level commands and dynamic marshaling of commands and data between modes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If USB device redirection is implemented in host mode only, then device connectivity is achieved in host mode, but device redirection fails in device mode
Solution Approach 1:
The patent implements USB device redirection functionality in both host mode and device mode by creating a dual-role controller architecture. The controller can operate as either a host controller or a device controller depending on the operational mode, enabling universal device redirection capability across different USB role configurations. This resolves the contradiction by making the system adaptable to both modes while maintaining reliable connections in each.
Solution Approach 2:
The patent employs dynamic mode switching capability where the dual-role controller can transition between host mode and device mode based on operational requirements. This dynamic adaptability allows the system to optimize device redirection for the current operational context, ensuring both versatility across modes and reliability within each specific mode through appropriate controller configuration.
2Adaptability or versatility
If dual role controller switches between host mode and device mode, then versatility is improved, but compatibility issues and device redirection failures occur
Solution Approach 1:
The patent introduces a proxy service as an intermediary layer that manages the complexity of dual-role controller operations. This proxy service handles mode switching coordination, device enumeration, and command routing between the controller and applications. By mediating the interaction between different modes and components, the proxy service ensures compatible operations during mode transitions and maintains reliable device redirection across both host and device modes.
3Productivity
If different USB device controller stacks are used for host and device modes, then mode-specific functionality is optimized, but compatibility and seamless switching are prevented
Solution Approach 1:
The patent segments the USB controller functionality into distinct host mode stack and device mode stack components, each optimized for their specific operational requirements. The dual-role controller architecture separates the control logic into mode-specific segments that can be independently configured and optimized. This segmentation allows high productivity within each mode while the overarching dual-role framework provides the adaptability needed for seamless switching and cross-mode compatibility through standardized interfaces.
Data Source
AI summary
A system for supporting a dual role controller in an information handling systems configurable as a device or a host. When the information handling system is connected to another information handling system and configured for operating in a device mode, a proxy service and an agent service execute on the information handling system. Communications from the other information handling system are received by the proxy service and sent to the agent service, which translates generic requests into application specific requests and commands. Device functions like MTP (storage), Webcam (streaming) and generic-USB commands are enabled in device mode for virtual desktop interface (VDI) or hardware isolated applications.


