Real-Time Seeking in Remote Presentation Protocols

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Remote presentation protocols, such as ICA, X, and RDP, are stateful and require sequential playback, making real-time seeking during playback inefficient due to the need for keyframes, which increase file size significantly.

Innovation Solution

A method and system that enable real-time seeking in remote presentation protocols without using stored keyframes by generating and utilizing state-snapshots, allowing users to skip to any position in the stream during playback, using a foreground protocol engine to render requested packets based on state-snapshots generated by a background protocol engine.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If keyframes are stored within the stream to enable seeking, then seeking capability is improved, but file size increases by several orders of magnitude

Engineering Contradiction:
Improveseeking capabilityVSAvoidfile size
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The protocol stream is segmented into discrete packets with embedded sequence numbers and timestamps. Instead of storing complete keyframes, the system divides the stream into manageable units that can be independently referenced during seeking operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Sequence numbers and timestamps are preliminarily embedded within each packet during the recording phase. This preliminary tagging enables the playback system to calculate packet positions and reconstruct state without requiring pre-stored keyframes, eliminating the need for large overhead storage.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If sequential playback is used to view recorded protocol data, then storage requirements are reduced, but access time increases as playback must begin from the very beginning

Engineering Contradiction:
Improvestorage requirementsVSAvoidaccess time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

Timestamps are preliminarily embedded in each packet during recording. This allows the playback system to calculate the position of any desired packet relative to the stream start, enabling direct seeking without sequential playback while maintaining compact storage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Sequence numbers and timestamps act as intermediaries between the compact protocol stream and the playback system. These metadata elements enable the playback system to interpret packet positions and reconstruct state without requiring the stream to be played back sequentially from the beginning.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If state-snapshots are generated for every packet to enable fast seeking, then seeking speed is improved, but processing overhead and memory usage increase

Engineering Contradiction:
Improveseeking speedVSAvoidprocessing overhead
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

Instead of generating actual state-snapshots for every packet, the system copies sequence number and timestamp metadata from each packet. This lightweight copying approach enables fast seeking calculations without the heavy processing overhead of creating full state representations for every packet.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system changes from storing complete state snapshots to storing only critical parameters (sequence numbers and timestamps). This parameter reduction maintains seeking functionality while dramatically reducing processing overhead and memory requirements.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8145777B2Method and system for real-time seeking during playback of remote presentation protocols
Publication Date: 2012.03.27 CITRIX SYSTEMS INC
  • US8145777B2 patent drawing
  • US8145777B2 patent drawing
  • US8145777B2 patent drawing

AI summary

A foreground protocol engine receives a request for rendering the contents of a packet in a recording of a protocol data stream, the protocol data stream comprising a plurality of packets. The foreground protocol engine identifies a state-snapshot having an associated timestamp previous to that of the requested packet. The foreground protocol engine displays the requested packet responsive to the identified state-snapshot.