USB HID Redirection Local Polling Decouples Network Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
USB redirection in Virtual Desktop Infrastructure (VDI) environments results in degraded performance for USB Human Interface Device (HID) class devices due to high network latency, leading to reduced polling rates and poor user experience.
Innovation Solution
Implementing a client-side polling mechanism that decouples the HID interface polling from network latency by saving an initial poll message copy for local polling, and using a server-side queue to manage subsequent poll replies, thereby reducing the reliance on network roundtrips for each polling cycle.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If conventional USB redirection with network roundtrip polling is used, then USB HID class devices can be accessed remotely, but polling rate is reduced due to network latency
Solution Approach 1:
The system performs preliminary actions by establishing a persistent polling mechanism on the client side before actual device interaction occurs. The client system maintains a continuous polling thread that periodically queries the USB HID device, so that when data is generated, it is already available or near-available for immediate transmission to the virtual desktop, eliminating the need for server-initiated roundtrip polling requests.
Solution Approach 2:
The client system acts as an intermediary between the USB HID device and the virtual desktop. Instead of the server directly polling the device over the network, the client system locally polls the device and maintains a buffer of data, then transmits only the necessary data updates to the virtual desktop. This intermediary role eliminates network roundtrips for each polling operation while maintaining data synchronization.
2Adaptability or versatility
If conventional USB redirection is used, then device functionality is forwarded from client to virtual desktop, but network bandwidth is consumed for each polling roundtrip
Solution Approach 1:
The system extracts the polling function from the network communication stream and relocates it to the client side. By separating the polling operation from the data transmission over the network, the system eliminates redundant network roundtrips. The client system independently polls the USB HID device and maintains a local buffer, transmitting data to the virtual desktop only when necessary, thereby reducing network bandwidth consumption while preserving device forwarding capability.
3Loss of energy
If polling rate is reduced due to network latency, then network bandwidth usage decreases, but user experience deteriorates
Solution Approach 1:
The system performs preliminary actions by pre-establishing a continuous polling mechanism on the client side, maintaining a buffer of device data ready for transmission. This preliminary data collection ensures that when data is transmitted to the virtual desktop, it is done so at high rates without waiting for network roundtrip acknowledgments, thereby maintaining responsive user experience while controlling network bandwidth usage through efficient data transmission timing.
Data Source
AI summary
Techniques for implementing improved USB redirection of USB HID class devices are provided. In one set of embodiments a client system can receive, from a virtual desktop running on a server system, a poll message directed to an HID interface of a USB HID class device plugged into the client system and identify a polling thread associated with the HID interface. The client system can further save a copy of the poll message in the polling thread and initiate local polling of the HID interface, where the local polling comprises providing, via the polling thread, the copy of the poll message to the HID interface.


