Patent ID: 7047312

Claim:
A method for controlling the transmission of data packets through a network by controlling a Transmission Control Protocol (TCP) rate in a network device having a shared buffer with shared buffer space, the method comprising: organizing a forward data buffer into one or more queues that store at least one forward data packet; calculating the network device's advertised window size by: (1) initializing a timer to a predetermined time interval Δt, and an iteration counter to a predetermined initial value n; (2) sampling a current queue size q i (n) during the predetermined time interval Δt; (3) calculating a current error signal e i (n) based, at least in part, upon the current queue size q i (n); (4) calculating the network device's advertised window size W i (n), based, at least in part, upon the current error signal e i (n) according to the equation: W i (n)=[W i (n−1)+αe i (n)] W min W max , where α, W max , and W min , are predetermined parameters; (5) resetting the timer, upon expiration of the predetermined interval Δt; and (6) iterating the iteration counter, upon expiration of the predetermined time interval Δt; providing the network device's advertised window size to a TCP source; and calculating a dynamic buffer threshold based, at least in part, upon the sum of the queue sizes and the shared buffer space.