Patent ID: 8340130

Claim:
A method for generating playback instructions for rendering a recorded session and rendering the recorded session, the method comprising: receiving, by a protocol engine executing on a client computing device over a network connection, the recorded session comprising a plurality of packets representing display data generated by an application program executed on a server device; processing, by the protocol engine, the plurality of packets to determine a type of user input stored in the plurality of packets; generating, by the protocol engine, metadata playback instructions for regenerating the display data generated by the application program in the recorded session; and storing, by the protocol engine, the generated metadata playback instructions in a playback data structure; receiving, by a background portion of the protocol engine, a first request for playback the recorded session; rendering, by a foreground portion of the protocol engine, the recorded session responsive to the first request; and generating, by the background portion of the protocol engine, a state-snapshot of the recorded session and storing the state snapshot to a buffer while the foreground portion of the protocol engine renders the recorded session, wherein the state-snapshot comprises data representing a state of the background protocol engine rendering the recorded session.