Random early packet discard (RED)
First Claim
1. A method of controlling a queue of a communications system, comprising steps of:
- (a) deciding an accept/discard operation on a packet arriving at the queue, based on comparison between a discard probability sum for the packet and a random variable;
(b) calculating a discard probability for the packet, using an average depth of the queue, and (c) generating a new discard probability sum for a next packet arriving at the queue, by summing the discard probability sum and the calculated discard probability.
10 Assignments
0 Petitions
Accused Products
Abstract
At telecommunications switches and routers, RED (random early packet discard) uses the queue depth to determine whether to keep or discard each packet as it arrives at a queue. This is done by determining a discard probability (P), which is dependent on the average depth of the queue, and comparing the discard probability to a random number. One way of performing the invention uses the summed discard probabilities, instead of counting the number of packets (count) and multiplying that by the current discard probability, as in the prior art. The resulting sum is compared to the random number for discard operation. The disclosure further describes a more accurate way of calculating average depth of a queue, especially when the queue encounters periods of idleness.
21 Citations
20 Claims
-
1. A method of controlling a queue of a communications system, comprising steps of:
-
(a) deciding an accept/discard operation on a packet arriving at the queue, based on comparison between a discard probability sum for the packet and a random variable;
(b) calculating a discard probability for the packet, using an average depth of the queue, and (c) generating a new discard probability sum for a next packet arriving at the queue, by summing the discard probability sum and the calculated discard probability. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. In performing a random early packet discard procedure in a telecommunications system, a method of calculating an average depth of a queue when a packet arrives thereat, comprising steps of:
-
measuring a current queue depth, Ncur;
retaining a previous average queue depth, Previous Navg;
monitoring whether or not the queue is empty, and updating the average queue depth, New Navg, by the following formulae;
if the queue is not empty, New Navg=Previous Navg+W×
(Ncur−
Previous Navg);if the queue is empty, New Navg=Previous Navg×
function(idle time, W), andif the queue is empty and also New Navg=Previous Navg, New Navg=Previous Navg+W×
(Ncur−
Previous Navg);where W is a running weight between 0 and 1, and the function is a function that returns values based on the idle time of the queue and W. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A mechanism for controlling a queue of a communications system, comprising:
-
a receiver for receiving and sending a packet to a queue for storage;
discard probability calculation module for calculating the discard probability sum which is the summation of discard probabilities of all packets that have arrived at the queue since a packet was last discarded from the queue;
a random number generator for generating a random number when instructed, and discard module for discarding the just arrived packet from the queue if the discard probability sum is greater than the random number, and instructing the discard probability calculation module to set the discard probability sum to zero and to generate another random number to replace the aforementioned random number. - View Dependent Claims (18, 19, 20)
-
Specification