Server-Side ICA Protocol State Snapshots for Random Seeking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for recording and playing back remote presentation protocol data streams are inefficient, requiring client-side components and generating large file sizes due to the need for keyframes, and lack the ability for server-side recording and random seeking.

Innovation Solution

A system and method for recording and playing back remote presentation protocols that intercept and regenerate the protocol data stream on the server-side, eliminating the need for client-side components and keyframes, allowing for real-time seeking and compact storage by using state-snapshots to recreate display data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If conventional screen capture technologies are used, then display data can be recorded, but processor-intensive encoding or transcoding is required for playback

Engineering Contradiction:
Improveprocessing powerVSAvoiddeployment complexity
Core Design Contradiction:
Use of energy by moving objectVSEase of manufacture

Solution Approach 1:

Instead of capturing and encoding screen data on the client device, the patent inverts the approach by having the server capture and encode the display data stream before transmission. The server-side ICA encoder captures the display data and encodes it into the ICA protocol stream, which is then transmitted to the client for direct decoding and display. This eliminates the need for client-side screen capture and encoding operations.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The patent introduces an intermediary encoding layer on the server side that translates display data into the ICA protocol format. This intermediary encoder acts as a mediator between the display system and the network transmission, performing the encoding work centrally on the server rather than requiring intensive processing on each client device.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If keyframes are stored within the stream for seeking capability, then random access is enabled, but file size increases by several orders of magnitude

Engineering Contradiction:
Improveseeking capabilityVSAvoidstorage space
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent extracts the seeking capability function from the video stream data itself and implements it as a separate indexing mechanism. Instead of embedding keyframes within the ICA protocol stream, the system maintains an external index that maps time positions in the stream to corresponding state snapshot identifiers. This separates the seeking functionality from the data stream, allowing random access without increasing the stream's data volume.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent creates compact state snapshots that copy only the essential protocol state information at specific time points, rather than storing complete video frames. These state snapshots are much smaller than traditional keyframes and serve as reference points for seeking. The system copies only the necessary protocol state data needed to reconstruct display information at seek points.

Inventive Principle:
Principle #26Copying

3Reliability

If remote presentation protocols are recorded sequentially from the beginning, then the stateful nature of the protocol is maintained, but playback time is excessive

Engineering Contradiction:
Improveprotocol state integrityVSAvoidplayback time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary encoding and state snapshot creation during the initial recording phase. The server-side encoder captures display data and creates state snapshots at predetermined intervals as the stream is generated. This preliminary preparation of encoded data and reference points enables fast seeking during playback without requiring sequential processing of the entire stream.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the continuous ICA protocol stream into discrete, manageable state snapshots at specific time intervals. Each state snapshot represents a discrete state of the protocol at a particular moment. This segmentation allows the playback system to jump directly to specific segments (state snapshots) rather than processing the entire stream sequentially, significantly reducing playback time while maintaining protocol state integrity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7831728B2Methods and systems for real-time seeking during real-time playback of a presentation layer protocol data stream
Publication Date: 2010.11.09 CITRIX SYSTEMS INC
  • US7831728B2 patent drawing
  • US7831728B2 patent drawing
  • US7831728B2 patent drawing

AI summary

A method for real-time seeking during real-time playback of presentation layer protocol data streams includes the step of receiving, by a foreground protocol engine, a request for rendering the contents of a packet in a presentation layer protocol data stream comprising a first plurality of packets already received and a second plurality of packets yet to be received. The foreground protocol engine identifies a state-snapshot having an associated timestamp previous to that of the requested packet. The foreground protocol engine displays during transmission of the presentation layer protocol data stream from a first device to a second device, the requested packet responsive to the identified state-snapshot.