Real-Time Seeking in Remote Presentation Protocols
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


