Bitmap Fragmentation for RDP Bandwidth and Tearing Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In server-client systems, large and dynamically updating bitmaps often cause tearing effects and inefficient compression when transmitted over protocols like RDP, leading to bandwidth issues and desynchronization of metadata with the graphics stream, particularly affecting window positioning and memory management at the client computer.

Innovation Solution

A method that allows the client computer to inform the server about its capabilities for receiving bitmaps, enabling the server to structure and transmit bitmaps as multi-fragment protocol data units with synchronized metadata, which can be reassembled and processed efficiently, using protocols like RDP and TCP/IP, and employing a decoder to manage the state of the data stream for seamless interruption handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the bitmap is broken down into smaller pieces and communicated to the client computer, then the client computer can display or process each piece individually, but this causes a tearing effect when displaying large graphics images

Engineering Contradiction:
Improveclient computer processing capabilityVSAvoiddisplay quality
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent applies segmentation by dividing the large bitmap into multiple smaller bitmap pieces that can be transmitted separately over the network. Each piece is processed and displayed individually by the client computer, enabling efficient handling of large graphics images while maintaining display quality through proper synchronization of the segmented pieces.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If the bitmap is sent at one time to the client computer, then the client computer can decide how the bitmap is displayed with specific constraints, but the bitmap may have to be compressed which degrades the graphics image

Engineering Contradiction:
Improveclient computer display controlVSAvoidbitmap quality
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The patent segments the large bitmap into multiple smaller pieces before transmission. This segmentation allows the client computer to receive and process pieces individually without requiring aggressive compression of the entire large bitmap, thereby preserving image quality while enabling client-side display control.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If the compressed bitmap is further decompressed into a standardized uncompressed format to allow a communication protocol encoder to compress the bitmap for transmission, then the bitmap can be transmitted using a communication protocol, but this involves significant and redundant work for the server computer and results in lower compression ratios

Engineering Contradiction:
Improveprotocol compatibilityVSAvoidserver computer processing efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by performing the compression of bitmap pieces at the server computer before transmission. The server computer compresses each bitmap piece using an appropriate compression algorithm, then transmits the already-compressed pieces directly to the client computer. This eliminates the redundant decompression and re-compression steps, significantly improving server processing efficiency while maintaining protocol compatibility.

Inventive Principle:
Principle #10Preliminary action

4Quantity of substance

If a separate channel or virtual channel is implemented to provide metadata information related to the bitmap, then metadata can be transmitted, but this channel is not synchronous with the bitmaps or graphics stream which limits synchronization capability

Engineering Contradiction:
Improvemetadata transmission capabilityVSAvoidsynchronization accuracy
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent merges the metadata transmission with the bitmap piece transmission by including metadata as accompanying data within the same data stream. Each bitmap piece is transmitted together with its associated metadata, ensuring that both the graphical data and its descriptive information arrive synchronously at the client computer, thereby eliminating synchronization issues.

Inventive Principle:
Principle #5Merging (Combining)

5Ease of operation

If the buffer at the client computer is used to accommodate the bitmaps and/or bitmap pieces, then the bitmaps can be received and reassembled, but the buffer may not be sufficiently large enough to accommodate the bitmaps and/or bitmap pieces

Engineering Contradiction:
Improveclient computer memory managementVSAvoidbuffer capacity
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent segments the large bitmap into multiple smaller pieces that fit within the client computer's available buffer capacity. Each piece is received, processed, and displayed individually without requiring the entire large bitmap to be held in memory simultaneously. This segmentation approach enables efficient memory management at the client computer while still supporting large graphics images.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP1920353B1Remote protocol support for communication of large objects in arbitrary format
Publication Date: 2018.09.19 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP1920353B1 patent drawingFigure 1
  • EP1920353B1 patent drawingFigure 2
  • EP1920353B1 patent drawingFigure 3

AI summary

A server computer (102) provides objects (122) such as bitmaps representing graphics image for processing by a client computer or device. The object may be of any arbitrary size or format, and is converted to a data structure (122) that can be received by the client computer. Synchronized metadata may be included in the data structure, where such metadata data is used by an application in the client computer or device (104).