Tokenizing USB Request Block Headers for Bulk Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
USB device redirection in virtual desktop infrastructure environments faces performance issues due to high overhead in bulk transfers, particularly in low bandwidth or high latency networks, leading to unsatisfactory delays and potential device malfunction.
Innovation Solution
Implementing a method where the server-side agent identifies bulk endpoints of redirected USB devices and creates tokens for them, which are shared with the client-side proxy to tokenize and compress USB request block headers and payloads, reducing data transferred over the network.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If USB device redirection is implemented in VDI environment, then USB device accessibility is improved, but network overhead increases causing delays and potential malfunction
Solution Approach 1:
The patent segments the USB request block (URB) into two parts: a header containing metadata and a payload containing actual data. By tokenizing only the header portion and selectively compressing the payload, the system reduces network overhead while maintaining device accessibility. This segmentation allows differential processing of URB components based on their compression and tokenization suitability.
Solution Approach 2:
The patent changes the parameter representation of URB headers by replacing original header fields with tokens that have smaller size. This parameter transformation reduces the byte size of header information transmitted over the network, directly addressing the overhead issue while preserving the ability to identify and route USB requests properly.
2Reliability
If bulk transfers are performed over network, then USB device functionality is maintained, but data transfer overhead increases causing performance degradation
Solution Approach 1:
The patent applies parameter changes by tokenizing URB header fields, replacing verbose header information with compact token representations. This reduces the amount of data transmitted over the network for each bulk transfer operation, decreasing bandwidth consumption while maintaining the reliability of USB device functionality through preserved token-to-header mapping on both client and server sides.
Solution Approach 2:
The patent creates token copies of the original URB header information that can be transmitted instead of the full header. These tokens serve as simplified representations that consume less network bandwidth while allowing the system to reconstruct or reference the original header information when needed, thus reducing energy/bandwidth loss without sacrificing functional reliability.
3Loss of information
If URB headers are transmitted as-is, then complete information is preserved, but network data volume increases causing delays
Solution Approach 1:
The patent transforms header parameters by replacing original header fields with tokens. This parameter change reduces the information representation size while maintaining information completeness through the bi-directional mapping between tokens and original headers. The system preserves all necessary information by maintaining the ability to reconstruct or reference original header values from tokens on both client and server sides.
Solution Approach 2:
The patent introduces tokens as intermediary representations between the original URB headers and the network transmission medium. These tokens serve as compact intermediaries that reduce transmission time while preserving information completeness, as they can be mapped back to the original header information when needed for processing USB requests.
Data Source
AI summary
When a USB device is redirected, any bulk endpoints of the device can be identified and a token can be created for each bulk endpoint. These tokens and their associated bulk endpoint information can be shared so that both the client-side proxy and the server-side agent maintain the tokens and information. When either the agent or proxy receives an URB, it can determine whether the URB pertains to a bulk endpoint. If so, the agent or proxy can tokenize the URB by replacing the URB header with the appropriate token. Depending on the size of the payload, the agent or proxy may also compress the payload to further reduce the amount of data to be transferred over the network. Similarly, upon receiving a tokenized URB, the agent or proxy can recreate the URB header, and decompress the payload if necessary, prior to passing the URB on.


