1. A method for joining a real-time user session of presentation layer protocol data, the method comprising: (a) receiving, by a user session executing on a server, a presentation layer protocol data stream from a client agent executing on a client computing device, wherein the user session comprises a single presentation layer protocol stack; (b) sending, by the single presentation layer protocol stack, to a virtual channel module stored in memory, a request to reinitialize; (c) processing, by the virtual channel module stored in memory and executed by a processing circuit, an existing request until the request to reinitialize is encountered; and (d) modifying, by the single presentation layer protocol stack, the presentation layer protocol data stream to contain a marker; and (e) resetting, by the single presentation layer protocol stack, a virtual channel state machine to an original state in response to the request to reinitialize; wherein the request to reinitialize the virtual channel is sent in response to receiving a request to initiate a rollover from a shadowing agent service executing on the server; and (f) receiving, by the user session, a second presentation layer protocol data stream from a shadowing agent service executing on a server.