Remote Desktop Display Encoder Using Drawing Primitives
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current remote desktop systems face performance degradation due to high network bandwidth requirements for transmitting display data differences between remote desktop servers and client terminals, especially when handling high-resolution frames at frequent update rates.
Innovation Solution
Implementing a secondary framebuffer and a display encoder that selectively transmits drawing primitives instead of entire display data changes, using a blitmap data structure to identify changed regions and a FIFO queue to manage drawing primitives, thereby reducing network bandwidth usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If display data differences are encoded and transmitted from remote desktop server to client terminal, then the graphical user interface can be transmitted to remote clients, but network bandwidth consumption increases significantly
Solution Approach 1:
The patent extracts only the essential drawing primitive information needed to reproduce display changes rather than transmitting complete framebuffer data or encoded pixel differences. By taking out only the critical instruction set that describes what drawing operations occurred, the system transmits minimal data while maintaining graphical output fidelity.
Solution Approach 2:
Instead of transmitting actual display data or pixel values, the patent transmits a copy of the drawing primitive instructions that generated the display changes. The client terminal then executes these copied instructions locally to reproduce the graphical output, eliminating the need to transmit large amounts of visual data.
2Quantity of substance
If encoding techniques are applied to compress display data differences, then transmission bandwidth is reduced, but computing overhead increases at both server and client
Solution Approach 1:
The patent enables the client terminal to self-generate the display output by executing received drawing primitive instructions locally. Rather than requiring the server to encode and compress visual data, or the client to decode complex compressed formats, each system performs the minimal processing needed for its role: the server captures primitive instructions and the client executes them to produce the graphical display.
3Manufacturing precision
If entire framebuffer data is transmitted at high resolution and update rate, then display quality is maintained, but network bandwidth requirements become prohibitively high
Solution Approach 1:
The patent extracts only the essential drawing primitive information needed to reproduce display changes rather than transmitting complete framebuffer data or encoded pixel differences. By taking out only the critical instruction set that describes what drawing operations occurred, the system transmits minimal data while maintaining graphical output fidelity.
Solution Approach 2:
Instead of transmitting display data and having the client render it, the patent inverts the approach by transmitting rendering instructions and having the client execute them locally. This inversion transforms a bandwidth-intensive data transmission problem into a lightweight instruction transmission problem, achieving high display quality with minimal network usage.
Data Source
AI summary
Remote desktop servers include a display encoder that maintains a secondary framebuffer that contains display data to be encoded and transmitted to a remote client display and a list of display primitives effectuating updated display data in the secondary framebuffer. The display encoder submits requests to receive the list of drawing primitives to a video adapter driver that receives and tracks drawing primitives that, when executed, update a primary framebuffer.


