USB Interface Redirection Composite Device Reconstruction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtual desktop infrastructure (VDI) environments, existing USB device redirection technologies face challenges in seamlessly integrating and managing multiple interfaces of composite USB devices, leading to inconsistent and limited access to redirected devices across user sessions.

Innovation Solution

The implementation of a client-side proxy and server-side agent system that combines multiple redirected USB interfaces into a single composite device by including interface hints in device arrival notifications, allowing the server to recombine information and load appropriate drivers, thereby treating the interfaces as part of a composite device.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If multiple USB interfaces are redirected individually as simple devices, then each interface can be accessed independently, but the composite device structure is lost and drivers cannot be loaded correctly

Engineering Contradiction:
Improveinterface accessibilityVSAvoiddevice recognition accuracy
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The proxy introduces an intermediary mechanism that adds interface hints to device arrival notifications. These hints contain interface numbers that allow the agent to reconstruct the composite device structure on the server side, enabling correct driver loading while maintaining individual interface accessibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The solution adds a new dimension (interface hint information) to the existing device redirection process. By embedding interface numbers in the notification data, the system enables the server to understand the composite device structure without changing the fundamental redirection mechanism.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If interface hints are added to device arrival notifications, then composite device structure can be reconstructed on server, but communication protocol complexity increases

Engineering Contradiction:
Improvecomposite device recognitionVSAvoidnotification structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The interface hints are prepared in advance during the device enumeration phase on the client side. The proxy collects interface information and embeds it in the notifications before sending them to the server, so the server receives ready-to-use structure information without needing to perform complex analysis.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If all USB device interfaces are redirected to server, then central化管理 is achieved, but local functionality and performance are reduced

Engineering Contradiction:
Improvedevice management flexibilityVSAvoidlocal device performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system enables selective redirection where only specific interfaces of a composite device are redirected to the server, while other interfaces remain local. This allows each interface to be managed according to its specific needs, optimizing both central化管理 and local performance.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10223321B2Combining redirected USB interfaces into a single composite device
Publication Date: 2019.03.05 DELL PROD LP
  • US10223321B2 patent drawing
  • US10223321B2 patent drawing
  • US10223321B2 patent drawing

AI summary

When client-side USB redirection techniques redirect an interface as a simple device, multiple redirected interfaces can be combined on the server side into a single composite device. When redirecting an interface, the client-side proxy can include an interface hint identifying the interface number in the device arrival notification sent to the server-side agent. Upon receiving multiple device arrival notifications that each include an interface hint, the agent can recombine the appropriate information to generate composite device information which will represent a composite device that includes each interface. The agent can then provide this composite device information to the virtual bus driver to initiate the process of loading the appropriate drivers for the composite device. Accordingly, even though each redirected interface of the composite device is reported to the server-side agent individually, the operating system on the server will still see a composite device.