USB Mass Storage Virtualization in High Latency VDI
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing USB virtualization solutions in high latency networks experience significant delays and packet loss due to multiple transaction requests required for read/write operations, making virtualized USB mass storage devices unusable or costly.
Innovation Solution
Virtualizing a USB mass storage device as a 'generic disk' at the server, where read/write requests are processed by a proxy server and client, reducing transaction overhead to only two requests per operation, and supporting large data transfers without USB packet overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional USB virtualization solutions are used in high latency networks, then USB mass storage devices can be virtualized and accessed remotely, but multiple transaction requests cause significant delays and packet loss
Solution Approach 1:
The patent merges multiple USB transaction requests into a single consolidated request. Instead of sending separate read requests, write requests, and status check requests to the USB mass storage device, the system combines these operations into one unified transaction, reducing the total number of network round-trips and minimizing delay in high latency environments.
Solution Approach 2:
The system performs preliminary actions by pre-fetching data and pre-processing transactions on the client side before they need to be transmitted over the network. This includes buffering USB transactions locally and preparing them for efficient batch transmission, reducing the impact of network latency on overall transaction time.
2Reliability
If multiple transaction requests are used for read/write operations, then USB mass storage device functionality is maintained, but transaction overhead increases making the device unusable or costly
Solution Approach 1:
Multiple USB transaction requests are merged into a single consolidated transaction. The system combines read requests, write requests, and status inquiries into one unified communication exchange between the client and server, significantly reducing transaction overhead while preserving complete USB mass storage device functionality.
Solution Approach 2:
The patent implements a universal transaction framework that handles multiple USB operations (read, write, status check, configuration) through a single multi-functional transaction protocol. This universal approach allows one transaction structure to serve multiple purposes, reducing the need for separate specialized requests for each operation type.
3Adaptability or versatility
If USB packet overhead is transmitted over the network, then USB protocol compatibility is maintained, but bandwidth consumption increases
Solution Approach 1:
The patent extracts and removes USB packet overhead from the network transmission stream. Instead of transmitting complete USB packets with their protocol headers and control information over the network, the system extracts only the essential data payloads and transmits those efficiently, maintaining USB protocol compatibility at the client side while minimizing network bandwidth consumption.
Solution Approach 2:
The system creates optimized copies of USB transactions that eliminate redundant protocol overhead. Rather than transmitting original USB packets with full protocol structures, the client creates streamlined copies containing only necessary data, reducing network bandwidth usage while preserving USB functionality through local protocol emulation.
Data Source
AI summary
In certain information handling system environments, physical devices connected to a client are redirected to a server or other information handling system. Read and write transaction requests to these redirected devices will use and occupy network bandwidth. Allowing the client to unmount its file system (if present) and locking its disk stack while permitting the server to load a virtual disk enumerator and file system stack for the processing of transaction requests to the virtual disk provides efficiency in the amount of network bandwidth required for any given transaction request. In such a system, the server processes overhead related to the transaction requests at the server and thus executes fewer transactions requests to the client.


