US 9,813,346 B2
Systems and methods for allocation of classes of service to network connections corresponding to virtual channels
Bradley J. Pedersen, Parkland, FL (US)
Assigned to Citrix Systems, Inc., Fort Lauderdale, FL (US)
Filed by Citrix Systems, Inc., Fort Lauderdale, FL (US)
Filed on Feb. 26, 2016, as Appl. No. 15/54,444.
Application 15/054,444 is a continuation of application No. 13/103,318, filed on May 9, 2011, granted, now 9,288,137.
Claims priority of provisional application 61/332,803, filed on May 9, 2010.
Prior Publication US 2016/0182383 A1, Jun. 23, 2016
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 15/16 (2006.01); H04L 12/851 (2013.01); H04L 12/707 (2013.01); H04L 12/26 (2006.01); H04L 12/807 (2013.01); H04L 12/911 (2013.01); H04L 12/927 (2013.01); H04L 12/859 (2013.01); H04L 12/863 (2013.01); H04L 12/801 (2013.01)
CPC H04L 47/24 (2013.01) [H04L 43/08 (2013.01); H04L 45/24 (2013.01); H04L 47/193 (2013.01); H04L 47/27 (2013.01); H04L 47/781 (2013.01); H04L 47/10 (2013.01); H04L 47/2475 (2013.01); H04L 47/621 (2013.01); H04L 47/6215 (2013.01); H04L 47/803 (2013.01); H04L 47/805 (2013.01); H04L 47/808 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system for allocating a different quality of service to each network connection in a plurality of network connections, where each network connection corresponds to one or more virtual channels, the system comprising:
a first computing device; and
a second computing device in communication with the first computing device via a remote-display protocol session, the remote-display protocol session comprising a plurality of virtual channels, each servicing at least a portion of network traffic of the remote-display protocol session,
a plurality of transport layer network connections comprising a network connection between the first computing device and the second computing device, a first transport layer network connection carrying a first virtual channel and assigned a first quality of service, the first virtual channel configured to transmit remote display protocol data via the first transport layer network connection responsive to the first quality of service and one of an application type and a user of the data, and a second transport layer network connection carrying a second virtual channel and assigned a second quality of service, the second quality of service different from the first quality of service; and
a flow controller to control data transfer rates on the plurality of transport layer network connections, wherein the flow controller executes operations to:
receive a data packet transmitted by the first computing device to the second computing device;
copy the data packet for retransmission by the flow controller;
forward the received data packet to the second computing device;
generate an acknowledgement packet in response to receiving the forwarded data packet;
transmit the acknowledgement packet to the first computing device, to cause one or more resources associated with the first computing device to become available for subsequent processing of one or more data packets;
monitor one or more data packet acknowledgements generated by the second computing device in response to receipt of the forwarded data packet; and
retransmit the forwarded data packet to the first computing device in response to non-receipt of the one or more data packet acknowledgements from the second computing device within a temporal window of time.