1. A method for adaptive generation of state-snapshots enabling real-time seeking during real-time playback of a presentation layer protocol data stream transmitted from an application server (i) executing an application for a client and (ii) streaming the output display generated by the application to the client, the method comprising: (a) displaying, by a foreground protocol engine, a presentation layer protocol data stream comprising a first plurality of packets received by a background protocol engine and a second plurality of packets yet to be received by the background protocol engine during transmission of the presentation layer protocol data stream from a first device to a second device; (b) monitoring, by the background protocol engine, an activity of the user during the presentation; (c) developing, by the background protocol engine, an activity profile responsive to the monitoring of the activity; (d) collecting and storing, by the background protocol engine, data related to the activity of the user; (e) modifying, by the background protocol engine, the activity profile responsive to the collected data related to the activity of the user; (f) generating, by the background protocol engine, at least one state-snapshot of the background protocol engine, responsive to the activity profile; (g) modifying, by the background protocol engine, the at least one state-snapshot, responsive to receiving at least one packet in the second plurality of packets. (h) identifying, by the foreground protocol engine, the at least one state-snapshot; and (i) displaying, by the foreground protocol engine, the presentation layer protocol data stream from the at least one state-snapshot while receiving the second plurality of packets by the background protocol engine during transmission of the presentation layer protocol data stream.