Patent ID: 6904596

Claim:
A method of shared flow control of data between a transport layer interface provider and at least one application comprising the steps of: receiving from the at least one application a stream of data having a first aggregate downstream data rate, wherein the stream of data is made up of a plurality of streams of data; measuring the first aggregate downstream data rate of the stream of data; transmitting the stream of data to the transport layer interface provider; deciding, independent of the at least one application and the transport layer interface provider, to throttle the stream of data; and throttling the stream of data from the first aggregate downstream data rate to a second aggregate downstream data rate; wherein the step of measuring further comprises the step of counting with an aggregate downstream counter an amount of received data from the stream of data; wherein the step of counting further comprises the steps of incrementing the aggregate downstream counter by the amount of received data, and decrementing the aggregate downstream counter by a predetermined amount at a predetermined interval of time.