Pseudo-relative mode WRED/tail drop mechanism
First Claim
Patent Images
1. A network device comprising:
- a memory that includes at least a first queue, the memory to store data transmitted via the network device; and
a processor to;
determine a current usage level of the memory,select, based on a characteristic of data stored in the first queue, a drop profile associated with a range of memory locations, of the memory,where each of the memory locations is associated with one of a plurality of random early detection (RED) rules, andwhere the drop profile comprises;
a first portion that is associated with a first range of normalized queue fullness values and includes a first plurality of memory locations, of the range of memory locations, anda second portion that is associated with a second range of normalized queue fullness values and includes a second plurality of memory locations, of the range of memory locations,calculate a normalized weighted average queue fullness value associated with the first queue,determine, based on the drop profile, whether the normalized weighted average queue fullness value is included in the first range of normalized queue fullness values or the second range of normalized queue fullness values,where, when the normalized weighted average queue fullness value is included in the first range of normalized queue fullness values, the processor is to;
determine that a drop probability associated with the first queue comprises a zero drop probability, andallow data to enter the first queue without dropping any of the data, based on the drop probability comprising the zero drop probability,where, when the normalized weighted average queue fullness value is included in the second range of normalized queue fullness values, the processor is to;
identify one of the plurality of random early detection (RED) rules based on the normalized weighted average queue fullness value and the range of memory locations, of the drop profile,determine, based on the identified one of the plurality of RED rules, a maximum threshold associated with the first queue,where a rate of change of a drop probability associated with the second range of normalized queue fullness values is based on a slope, associated with the second range of normalized queue fullness values, that varies based on the maximum threshold, andrandomly drop data from the first queue, based on a drop probability obtained from the drop profile when the normalized weighted average queue fullness exceeds the minimum threshold and does not exceed the maximum threshold.
1 Assignment
0 Petitions
Accused Products
Abstract
A buffer memory can be configured to temporarily store data in a number of queues. A processor can be configured to measure a fullness of the buffer memory. The processor can be configured to adjust thresholds and drop profiles based on a measured global resource usage for a weighted random early detection (WRED) technique with less resources than a conventional.
11 Citations
16 Claims
-
1. A network device comprising:
-
a memory that includes at least a first queue, the memory to store data transmitted via the network device; and a processor to; determine a current usage level of the memory, select, based on a characteristic of data stored in the first queue, a drop profile associated with a range of memory locations, of the memory, where each of the memory locations is associated with one of a plurality of random early detection (RED) rules, and where the drop profile comprises; a first portion that is associated with a first range of normalized queue fullness values and includes a first plurality of memory locations, of the range of memory locations, and a second portion that is associated with a second range of normalized queue fullness values and includes a second plurality of memory locations, of the range of memory locations, calculate a normalized weighted average queue fullness value associated with the first queue, determine, based on the drop profile, whether the normalized weighted average queue fullness value is included in the first range of normalized queue fullness values or the second range of normalized queue fullness values, where, when the normalized weighted average queue fullness value is included in the first range of normalized queue fullness values, the processor is to; determine that a drop probability associated with the first queue comprises a zero drop probability, and allow data to enter the first queue without dropping any of the data, based on the drop probability comprising the zero drop probability, where, when the normalized weighted average queue fullness value is included in the second range of normalized queue fullness values, the processor is to; identify one of the plurality of random early detection (RED) rules based on the normalized weighted average queue fullness value and the range of memory locations, of the drop profile, determine, based on the identified one of the plurality of RED rules, a maximum threshold associated with the first queue, where a rate of change of a drop probability associated with the second range of normalized queue fullness values is based on a slope, associated with the second range of normalized queue fullness values, that varies based on the maximum threshold, and randomly drop data from the first queue, based on a drop probability obtained from the drop profile when the normalized weighted average queue fullness exceeds the minimum threshold and does not exceed the maximum threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of providing congestion control for data stored in one or more queues associated with a network device, the method comprising:
-
determining, by the network device, a global resource usage level of the one or more queues; determining, by the network device, a weighted average queue fullness of a first queue, of the one or more queues; selecting, by the network device, a weighted random early detection (WRED) rule, of a plurality of WRED rules, based on a type of data stored in the first queue; calculating, by the network device, a minimum queue fullness threshold, of the first queue, responsive to the determined global resource usage level and based on the WRED rule; selecting, by the network device and based on the selected WRED rule, a drop profile, where the drop profile is implemented as a series of values stored in a range of memory locations, where each value, of the series of values, is associated with a corresponding one of a plurality of random early detection (RED) rules; normalizing, by the network device, the weighted average queue fullness to one of the series of values based on a quantity of memory locations, of the range of memory locations storing the series of values; identifying, by the network device, one of the series of values, based on normalizing the weighted average queue fullness; identifying, by the network device, a drop probability corresponding to the identified series of values based on the drop profile; identifying, by the network device and based on the identified one of the series of values, one of the plurality of RED rules; determining, by the network device and based on the identified one of the plurality of RED rules, a maximum queue fullness threshold associated with the first queue; and randomly dropping data from the first queue based on the drop probability when the weighted average queue fullness exceeds the minimum queue fullness threshold and does not exceed the maximum queue fullness threshold. - View Dependent Claims (9, 10)
-
-
11. A method of providing congestion control for data stored in one or more queues of a network device, the method comprising:
-
determining, by the network device, a weighted average queue fullness as an amount occupied of a first queue, of the one or more queues; selecting, by the network device, a drop profile associated with a single weighted random early detection (WRED) rule and a plurality of random early detection (RED) rules; determining, by the network device, a minimum queue fullness threshold based on the drop profile, where the WRED is associated with the first queue based on a characteristic of data stored in the first queue; implementing the drop profile as a series of values stored in a range of memory locations, each value, of the series of values, being associated with a corresponding one of the plurality of RED rules; normalizing, by the network device, the weighted average queue fullness to determine a normalized weighted average queue fullness value based on a quantity of memory locations included in the range of memory locations; identifying, by the network device, one of the series of values based on the normalized weighted average queue fullness value; identifying, by the network device and based on the identified one of the series of values, the corresponding one of the plurality of RED rules associated with the identified one of the series of values; calculating, by the network device, a maximum queue fullness threshold based on the identified one of the plurality of RED rules; identifying, by the network device, a drop percentage associated with dropping data from the first queue when the weighted average queue fullness exceeds the minimum queue fullness threshold and does not exceed the maximum queue fullness threshold, based on the normalized weighted average queue fullness value and a slope associated with the series of values and the maximum queue fullness threshold; and randomly dropping, by the network device, data from the first queue based on the drop percentage when the weighted average queue fullness exceeds the minimum queue fullness threshold and does not exceed the maximum queue fullness threshold. - View Dependent Claims (12, 13, 14, 15, 16)
-
Specification