USB HID Redirection Local Polling Decouples Network Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveremote access capabilityVSAvoidpolling rate
Core Design Contradiction:
Ease of operationVSSpeed

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvedevice forwarding capabilityVSAvoidnetwork bandwidth usage
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

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.

Inventive Principle:
Principle #2Taking out (Extraction)

3Loss of energy

If polling rate is reduced due to network latency, then network bandwidth usage decreases, but user experience deteriorates

Engineering Contradiction:
Improvenetwork bandwidth usageVSAvoiduser experience
Core Design Contradiction:
Loss of energyVSEase of operation

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12008381B2Universal serial bus (USB) redirection for USB human interface device (HID) class devices
Publication Date: 2024.06.11 OMNISSA LLC
  • US12008381B2 patent drawing
  • US12008381B2 patent drawing
  • US12008381B2 patent drawing

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.