Remote Desktop Protocol Bandwidth Optimization via Caching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Remote desktop protocols (RDP) face performance degradation due to high bandwidth utilization and network latency, especially in environments with packet loss and delays, leading to choppy or incomplete graphical user interfaces.
Innovation Solution
The implementation of a Virtual Desktop Accelerator (VDA) system that intercepts RDP connections, uses caching and advanced compression algorithms like JPEG and ZIP, and switches to UDP transport protocol to optimize bandwidth usage and reduce latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If RDP transports large quantities of image data over the network to provide real-time graphical interface, then the graphical interface quality is improved, but bandwidth utilization increases and performance suffers in limited bandwidth environments
Solution Approach 1:
The patent implements a cache memory system that stores copies of previously transmitted desktop image data. Instead of transmitting complete image data for every frame, the system transmits only differential data representing changes from the cached copy, significantly reducing bandwidth requirements while maintaining graphical interface quality.
Solution Approach 2:
The patent segments the image data transmission into differential updates rather than complete frames. By dividing the transmission into minimal change increments and using compression algorithms, the system reduces the quantity of data transmitted while preserving the necessary graphical interface quality.
2Loss of information
If RDP transmits complete image data to ensure complete graphical interface display, then display completeness is improved, but network latency increases leading to choppy user experience
Solution Approach 1:
The cache memory stores complete copies of previous desktop images, allowing the receiver to reconstruct complete displays by combining cached copies with received differential data. This eliminates the need to transmit complete images, reducing transmission time and latency while maintaining display completeness.
Solution Approach 2:
The system performs preliminary actions by pre-transmitting and caching complete desktop image data before differential updates are needed. This allows the receiver to have complete image data already available in cache, so that subsequent updates can be applied immediately without waiting for complete data transmission, thereby reducing perceived latency.
3Quantity of substance
If RDP uses compression algorithms to reduce bandwidth utilization, then bandwidth consumption is reduced, but processing complexity increases
Solution Approach 1:
The cache memory system maintains copies of uncompressed or lightly compressed desktop images. By comparing differential data against cached copies, the system achieves efficient compression without requiring complex real-time compression algorithms at the transmission point, thereby reducing bandwidth consumption while managing processing complexity.
4Quantity of substance
If RDP transmits differential data to minimize bandwidth usage, then bandwidth efficiency is improved, but data loss and incompleteness may occur in packet loss environments
Solution Approach 1:
The cache memory system provides a cushion by storing complete copies of previous desktop images. When packet loss occurs and differential data is lost or corrupted, the receiver can reconstruct the desktop display using the cached copy, ensuring data completeness and reliability while maintaining bandwidth efficiency through differential transmission.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The processing of a first data stream to generate a second stream conforming to a remote desktop protocol (RDP) is described. Operations may include facilitating storage of first data from the first stream at a first index indicated in the first stream, facilitating retrieval of second data from a second index included in the first stream, and facilitating generation of the second stream conforming to the RDP and including the first and second data. Additionally, the processing of a third data stream conforming to the RDP to stream a fourth stream is described. Operations include facilitating processing of the third stream to identify a package data unit (PDU), facilitating storing of a hash value corresponding to the PDU, and facilitating generating an altered PDU for inclusion in the fourth stream and including an index identifying a location in memory storing the hash value.