VDI User-Level Virtual Channel Prioritization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtual desktop infrastructure (VDI) systems lack a mechanism for prioritizing user-level data within Transmission Control Protocol (TCP) connections, which can lead to suboptimal handling of different data types such as display, audio, and video data.
Innovation Solution
The implementation of user-level virtual channels (VCs) with priority queues allows for the prioritization of data services within TCP connections by establishing named pipes and communication modules at the user level, ensuring that higher-priority data is processed and transmitted first.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single TCP connection is used for all services, then network connection simplicity is maintained, but data prioritization capability is lost
Solution Approach 1:
The patent segments the single TCP connection into multiple virtual channels (VCs), each capable of carrying different types of data with different priorities. This segmentation allows the system to maintain a single physical connection while providing differentiated service levels for various data streams through logical division into multiple VCs with associated priority queues.
2Adaptability or versatility
If multiple virtual channels are established for different services, then data prioritization is enabled, but system complexity increases
Solution Approach 1:
The patent introduces a communication module as an intermediary layer between the user-level application and the service modules. This communication module manages the complexity of multiple virtual channels and priority queues by providing a standardized interface, thereby enabling data prioritization without requiring complex modifications to individual service modules or the underlying TCP connection.
3Ease of manufacture
If data is processed in FIFO order, then processing simplicity is maintained, but quality of service for real-time data deteriorates
Solution Approach 1:
The patent applies different processing qualities to different data streams by assigning priority levels to each virtual channel. Instead of a uniform FIFO processing approach, each VC has its own priority queue that determines processing order, allowing real-time data to be processed with higher priority while maintaining simple processing logic within each individual queue.
4Adaptability or versatility
If user-level virtual channels are implemented, then data prioritization is achieved, but kernel-level performance overhead increases
Solution Approach 1:
The communication module serves as a user-level intermediary that handles virtual channel management and priority queue operations without requiring kernel-level intervention. This approach achieves data prioritization at the user level, avoiding the performance overhead and complexity associated with kernel-level modifications while still providing effective QoS control.
Data Source
AI summary
Embodiments for provided for using virtual desktop infrastructure (VDI) user level virtual channels (VCs) which allows client data prioritization within a Transmission Control Protocol (TCP) connection to a client. An embodiment method includes establishing a communication module at a user level of operation of a server, and establishing a TCP connection between the server and a client device. Additionally, the server establishes, at the user level of operation, a plurality of VCs for a plurality of respective services provided to the client device. The communication module at the user level communicates with service modules running at the server for executing the services. The data of the VCs are arranged into a plurality of respective priority queues according to priority of the services. The communication module exchanges the data of the services in the VCs on the TCP connection with the client device according to the priority queues.


