Virtual USB Manager Latency Reduction via FIFO Buffering

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

VSEngineering 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

Engineering Contradiction:
ImproveUSB device accessibilityVSAvoidlatency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If packets are queued in the USB stack to maintain continuous data flow, then data streaming reliability is improved, but latency increases

Engineering Contradiction:
Improvedata streaming reliabilityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improveoperation reliabilityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8850090B2USB redirection for read transactions
Publication Date: 2014.09.30 RED HAT INC
  • US8850090B2 patent drawing
  • US8850090B2 patent drawing
  • US8850090B2 patent drawing

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.