USB Redirection Session Reliability via I/O Request Queuing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

USB device redirection in virtual desktop infrastructure (VDI) environments is unreliable over wide area networks due to frequent disconnections, leading to issues like incomplete I/O operations, device removal, and reconnection problems, which often result in user experience disruptions and prevent VDI providers from supporting USB device redirection.

Innovation Solution

Implementing a client-side proxy and server-side agent that queue I/O requests during session disconnections and wait for a specified time to allow resumed operations when the session is restored, or complete requests with error status and remove the device if the session does not reconnect within the time frame.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If USB device redirection is implemented over wide area networks, then user accessibility to USB devices is improved, but session reliability deteriorates due to frequent disconnections

Engineering Contradiction:
ImproveUSB device accessibilityVSAvoidsession reliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system performs preliminary actions by queuing I/O requests before session disconnection occurs and preparing to resume them after reconnection. The proxy and agent queue pending I/O requests during disconnection and automatically resume them after a waiting period, preventing data loss and operation failures that would otherwise occur with network disconnections.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system provides beforehand cushioning by implementing a waiting period mechanism that cushions against the harmful effects of frequent disconnections. Instead of immediately removing devices or failing operations upon disconnection, the system waits for a specified period to allow session restoration, thereby protecting against premature device removal and operation failure.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

2Reliability

If I/O requests are immediately failed on disconnection, then session stability is improved, but productivity deteriorates due to lost operations

Engineering Contradiction:
Improvesession stabilityVSAvoidI/O operation completion
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary action by queuing I/O requests during the disconnection period rather than immediately failing them. This allows operations to be preserved and automatically resumed after session restoration, maintaining productivity while still providing session stability through the structured queue management and waiting period mechanism.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If USB devices are removed on disconnection, then device management is simplified, but device reconnection reliability deteriorates

Engineering Contradiction:
Improvedevice management complexityVSAvoiddevice reconnection reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The system performs preliminary action by maintaining device state information in queues during disconnection rather than immediately removing devices. This preserves device context and enables automatic reconnection after session restoration, improving reconnection reliability while keeping device management straightforward through the automated queue-based approach.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates a virtual copy of the device state through queued I/O requests and device information during disconnection. This virtual representation allows the device to be effectively 'reconnected' after session restoration without requiring physical reconnection or complex device management, as the queued operations are simply resumed with the restored session.

Inventive Principle:
Principle #26Copying

4Reliability

If a waiting period is implemented before device removal, then session restoration is enabled, but response time increases

Engineering Contradiction:
Improvesession restoration capabilityVSAvoiddevice removal delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system applies dynamics by making the waiting period configurable and adaptive rather than fixed. The specified waiting period can be adjusted based on network conditions and user requirements, allowing optimization between session restoration capability and response time. This dynamic parameter enables the system to adapt to different operational contexts and network qualities.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10142425B2Session reliability for a redirected USB device
Publication Date: 2018.11.27 DELL MARKETING CORP
  • US10142425B2 patent drawing
  • US10142425B2 patent drawing
  • US10142425B2 patent drawing

AI summary

Session reliability can be improved when a USB device is redirected over a remote session. If a remote session is disconnected while a USB device is redirected over the remote session, a server-side agent and a client-side proxy will both receive a session disconnection notification. In response to this session disconnection notification, the agent and the proxy can each queue any I/O requests pertaining to a USB device that was being redirected over the now-disconnected remote session and commence waiting for a specified period of time. If the disconnected remote session is restored within the specified period of time, the agent and the proxy can send the queued I/O requests over the remote session. Otherwise, the agent and proxy can cause the queued I/O requests to be completed with the proper error status or discarded and can take appropriate steps to remove the device from the server and connect the device to the client.