Server Frame Aggregation for Screen Sharing Bandwidth

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Screen sharing applications face issues when participants have differing bandwidth capabilities, leading to lag and inability to view shared screens, and late joiners miss initial shared information due to missing key frames.

Innovation Solution

Implementing frame aggregation by receiving key frames and delta frames, updating and aggregating them on a server, and transmitting the aggregated frames to ensure all participants, including late joiners, receive the current screen state, reducing bandwidth requirements and duplicative data transmission.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the presenter transmits screen data at a high rate (200 kbps), then the screen sharing quality is improved, but viewers with lower bandwidth capabilities (100 kbps) experience lag and cannot view the shared screen

Engineering Contradiction:
Improvescreen data transmission rateVSAvoidviewing capability for bandwidth-constrained users
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The screen sharing data stream is segmented into key frames and delta frames. Key frames contain complete screen information, while delta frames contain only incremental changes. This segmentation allows viewers with limited bandwidth to receive and reconstruct screen content more efficiently, resolving the contradiction between high transmission quality and bandwidth constraints.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple delta frames are aggregated into a single aggregated delta frame that combines all incremental changes. This merging reduces the total number of transmissions required and decreases bandwidth consumption while maintaining complete screen update information, enabling reliable viewing for users with lower bandwidth capabilities.

Inventive Principle:
Principle #5Merging (Combining)

2Adaptability or versatility

If a late joiner attempts to access an ongoing screen sharing session, then session accessibility is improved, but the late joiner misses initial shared information and cannot view the shared screen

Engineering Contradiction:
Improvesession accessibility for late joinersVSAvoidinitial shared information
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The server maintains an aggregated current key frame that continuously incorporates all screen updates from key frames and delta frames. This preliminary preparation of aggregated frame data ensures that when a late joiner connects, the complete current screen state is already available for immediate transmission, preventing information loss.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The server acts as an intermediary that aggregates screen sharing data from the presenter and reconstructs complete screen states for late joiners. By maintaining and managing the aggregated current key frame, the server mediates between the presenter's continuous stream and the late joiner's need for complete screen information, ensuring no initial data is lost.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Manufacturing precision

If multiple delta frames are transmitted separately to viewers, then screen update accuracy is improved, but bandwidth consumption increases and efficiency decreases

Engineering Contradiction:
Improvescreen update accuracyVSAvoiddata transmission efficiency
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

Multiple separate delta frames are merged into a single aggregated delta frame that contains all incremental screen changes. This combining maintains complete screen update accuracy while reducing the number of individual transmissions, thereby improving data transmission efficiency and reducing bandwidth consumption.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The aggregated delta frame serves multiple functions simultaneously: it maintains screen update accuracy, reduces transmission overhead, and provides complete screen state information for both ongoing viewers and late joiners. This multi-functionality resolves the contradiction between precision and efficiency.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10732917B2Systems, methods, and apparatuses for implementing frame aggregation with screen sharing
Publication Date: 2020.08.04 SALESFORCE INC
  • US10732917B2 patent drawing
  • US10732917B2 patent drawing
  • US10732917B2 patent drawing

AI summary

In accordance with disclosed embodiments, there are provided methods, systems, and apparatuses for implementing frame aggregation with screen sharing including, for example, means for receiving, at a server, a stream of delta frames from a publishing client as part of a screen sharing session with one or more viewing clients; establishing a FIFO buffer for each of the respective one or more viewing clients on 1:1 basis; queuing a copy of the stream of delta frames into each of the FIFO buffers corresponding to the one or more viewing clients, wherein the stream of delta frames are transmitted from the respective FIFO buffers to the corresponding one or more client viewers; monitoring each of the respective FIFO buffers for each of the one or more viewing clients to determine if two or more delta frames are concurrently queued in any single one of the respective FIFO buffers at any given time; aggregating the two or more delta frames into a single aggregated delta frame; re-queuing the aggregated delta frame; and transmitting the aggregated delta frame to the respective viewing client. Other related embodiments are disclosed.