Techniques for the hardware implementation of random early detection mechanisms
First Claim
Patent Images
1. A method of managing a queue of packets, comprising:
- receiving a packet;
calculating an average queue size;
if the average queue size is above a minimum threshold, dropping the packet according to a probability; and
if the packet is dropped, increasing the minimum threshold.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for managing queues of packets are provided. Once the average queue size crosses a minimum threshold, packets are dropped according to a probability. Once a packet is dropped, the minimum threshold is increased in order to decrease the likelihood that a subsequent packet will be dropped. As packets are accepted, the minimum threshold is decreased gradually to its original value so that the distribution of dropped packets is very uniform.
60 Citations
27 Claims
-
1. A method of managing a queue of packets, comprising:
-
receiving a packet;
calculating an average queue size;
if the average queue size is above a minimum threshold, dropping the packet according to a probability; and
if the packet is dropped, increasing the minimum threshold. - View Dependent Claims (2, 3)
-
-
4. A method of managing a queue of packets, comprising:
-
receiving a packet;
calculating an average queue size;
if the average queue size is above a minimum threshold, dropping the packet according to a probability; and
if the packet is dropped, increasing the minimum threshold, wherein increasing the minimum threshold includes setting the minimum threshold equal to a maximum threshold.
-
-
5. A method of managing a queue of packets, comprising:
-
receiving a packet;
calculating an average queue size;
if the average queue size is above a minimum threshold, dropping the packet according to a probability;
if the packet is dropped, increasing the minimum threshold; and
if a specified number of packets are received without dropping a packet, decreasing the minimum threshold. - View Dependent Claims (6, 7)
-
-
8. A method of managing a queue of packets, comprising:
-
receiving a packet;
calculating an average queue size;
determining a current queue size;
calculating a comparison queue size as a lesser of the average queue size and the current queue size; and
utilizing the comparison queue size to determine whether to drop the packet. - View Dependent Claims (9, 10, 11)
-
-
12. A method of managing a queue of packets, comprising:
-
receiving a packet;
calculating an average queue size;
determining a current queue size;
calculating a comparison queue size as a lesser of the average queue size and the current queue size; and
if the comparison queue size is above a minimum threshold, dropping the packet according to a probability; and
if the packet is dropped, increasing the minimum threshold. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A method of managing a queue of packets, comprising:
-
receiving a packet;
generating a random number;
utilizing a mask to mask the random number;
if a sum of a queue size and the masked random number is greater than a maximum threshold, dropping the packet and resetting the mask; and
when a specified number of packets are received without dropping a packet, shifting the mask to increase the potential size of the masked random number. - View Dependent Claims (21, 22, 23)
-
-
24. An apparatus that manages a queue of packets, comprising:
-
means for receiving a packet;
means for calculating an average queue size;
means for dropping the packet according to a probability if the average queue size is above a minimum threshold; and
means for increasing the minimum threshold if the packet is dropped.
-
-
25. An apparatus that manages a queue of packets, comprising:
-
means for receiving a packet;
means for calculating an average queue size;
means for determining a current queue size;
means for calculating a comparison queue size as a lesser of the average queue size and the current queue size; and
means for utilizing the comparison queue size to determine whether to drop the packet.
-
-
26. An apparatus that manages a queue of packets, comprising:
-
means for receiving a packet;
means for calculating an average queue size;
means for determining a current queue size;
means for calculating a comparison queue size as a lesser of the average queue size and the current queue size; and
means for dropping the packet according to a probability if the comparison queue size is above a minimum threshold; and
means for increasing the minimum threshold if the packet is dropped.
-
-
27. An apparatus that manages a queue of packets, comprising:
-
means for receiving a packet;
means for generating a random number;
means for utilizing a mask to mask the random number;
means for dropping the packet and resetting the mask if a sum of a queue size and the masked random number is greater than a maximum threshold; and
means for shifting the mask to increase the potential size of the masked random number when a specified number of packets are received without dropping a packet.
-
Specification