Virtual USB Manager Latency Reduction via FIFO Buffering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtualized computing environments, redirecting USB traffic from a USB device to a remote client machine over a network introduces significant latency due to packet queuing and network delays, particularly affecting isochronous transfers which require continuous and timely data streaming, leading to noticeable delays in applications like audio and video.
Innovation Solution
Implementing a virtual USB manager that uses a FIFO buffer to ensure continuous packet streaming by dequeuing and re-queuing packets at standard isochronous intervals, adapting to latency and jitter, and maintaining at least one packet queued to prevent data loss and maintain timing integrity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If USB traffic is redirected through a virtual machine to a remote client machine over a network, then USB device accessibility is improved, but latency increases significantly
Solution Approach 1:
The patent implements a packet queue in the virtual USB device driver that pre-queues USB packets before they are transmitted over the network. This preliminary action ensures that packets are ready to send immediately when network bandwidth becomes available, reducing the latency introduced by network transmission while maintaining USB device accessibility across the network.
2Reliability
If packets are queued in the USB stack to maintain continuous data flow, then data streaming reliability is improved, but latency increases
Solution Approach 1:
The patent dynamically adjusts the packet queuing behavior based on the specific USB transfer type. For isochronous transfers, it maintains minimal queuing to preserve timing characteristics. For other transfer types, it applies appropriate queuing strategies. This dynamic approach allows the system to maintain data streaming reliability while minimizing latency for time-sensitive isochronous data flows.
3Reliability
If the USB device driver queues minimum packets to ensure reliable operation, then operation reliability is improved, but latency is minimized only under local conditions
Solution Approach 1:
The patent introduces a network buffer as an intermediary between the USB device driver and the network transmission layer. This buffer decouples the USB packet generation from network transmission timing, allowing the driver to queue packets at USB timing rates while the network buffer absorbs the variable network latency. This intermediary mechanism maintains operation reliability while enabling networked USB access without excessive latency accumulation.
Data Source
AI summary
Methods and systems for conducting a transaction between a virtual USB device driver and a USB device are provided. A virtual USB manager of a hypervisor receives a one or more data packets from a client. The virtual USB manager stores of the one or more data packets in a buffer. The virtual USB manager dequeues a data packet from the buffer. The virtual USB manager transmits the data packet to the virtual USB device driver for processing.


