A computing system comprising: a server configured to host virtual computing sessions; and a client device configured to remotely access a virtual computing session from the server, receive user input data associated with the virtual computing session including a group of data packets 1 through N, where data packet 1 corresponds to a beginning of the user input data and data packet N corresponds to an ending of the user input data, divide the group of data packets into first and second data packets, where the first data packets correspond to data packets 1 and N to define anchor points of the user input data, and where the second data packets correspond to data packets 2 through N-1, where the first data packets have a higher priority than the second data packets, send the first data packets to the server via a first reliable virtual channel, and send the second data packets along with references to the anchor points to the server via a second lossy virtual channel having a higher packet loss rate associated therewith than the first virtual channel; wherein the server is configured to assemble the second data packets to reconstruct and inject the user input data into the virtual computing session based upon the references to the anchor points. a server configured to host virtual computing sessions; and a client device configured to remotely access a virtual computing session from the server, receive user input data associated with the virtual computing session including a group of data packets 1 through N, where data packet 1 corresponds to a beginning of the user input data and data packet N corresponds to an ending of the user input data, divide the group of data packets into first and second data packets, where the first data packets correspond to data packets 1 and N to define anchor points of the user input data, and where the second data packets correspond to data packets 2 through N-1, where the first data packets have a higher priority than the second data packets, send the first data packets to the server via a first reliable virtual channel, and send the second data packets along with references to the anchor points to the server via a second lossy virtual channel having a higher packet loss rate associated therewith than the first virtual channel; remotely access a virtual computing session from the server, receive user input data associated with the virtual computing session including a group of data packets 1 through N, where data packet 1 corresponds to a beginning of the user input data and data packet N corresponds to an ending of the user input data, divide the group of data packets into first and second data packets, where the first data packets correspond to data packets 1 and N to define anchor points of the user input data, and where the second data packets correspond to data packets 2 through N-1, where the first data packets have a higher priority than the second data packets, send the first data packets to the server via a first reliable virtual channel, and send the second data packets along with references to the anchor points to the server via a second lossy virtual channel having a higher packet loss rate associated therewith than the first virtual channel; wherein the server is configured to assemble the second data packets to reconstruct and inject the user input data into the virtual computing session based upon the references to the anchor points.