Patent ID: 8433783

Claim:
A method for providing quality of service of a plurality of applications via a flow controlled tunnel, the method comprising: (a) proxying, by an agent operating at a portion of a network stack of a client, a plurality of transport layer connections corresponding to each of a plurality of applications executing on the client; (b) receiving, by the agent, an indication from one or more of the plurality of proxied transport layer connections that data is available to be read; (c) receiving, by the agent, data from each of the plurality of proxied transport layer connections in an order according to an assigned priority from classification of each of the plurality of applications; (d) propagating, by the agent, the indication that data is available to read to a first tunneling application; (e) communicating, by the agent to the first tunneling application executing on the client, in the order according to the assigned priority, a predetermined amount of data received from each of the plurality of proxied transport layer connections, the first tunneling application having an established transport layer connection to a second tunneling application, wherein the first tunneling application accepts the predetermined amount of data from each of the one or more proxied transport layer connections in the order of the priority responsive to the indication that data is available to read.