Single cycle weighted random early detection circuit and method
First Claim
1. A method for regulating network packet traffic, the method comprising the steps of:
- determining a minimum threshold and a maximum threshold;
calculating an average queue size according to a following formula;
average=(old_average*(1−
½
^n))+(current_queue_size*½
^n),wherein the average is the average size of a queue;
the old-average is a previous average of the queue;
the current_queue_size is a current size of the queue; and
n is an exponential weight factor and a user-configurable value;
when the average queue size is less than the minimum threshold, enqueuing an arriving packet;
when the average queue size is greater than the maximum threshold, dropping the packet;
when the average queue size is between the minimum threshold and the maximum threshold,calculating a packet drop probability (Pdrop); and
performing one of a set consisting of enqueuing and dropping the packet, according to the calculated probability.
4 Assignments
0 Petitions
Accused Products
Abstract
A system and method is provided for traffic management and regulation in a packet-based communication network, the system and method facilitating proactive, discriminating congestion control on a per flow basis of packets traversing the Internet via use of a Weighted Random Early Detection (WRED) algorithm that monitors the incoming packet queue and optimizes enqueuing or discard of incoming packets to stabilize queue length and promote efficient packet processing. During optimized discard conditions, the system and method discern a relative priority among incoming packets, distribute packets with a relatively high priority and discard packets with a relatively low priority. Additionally, packet traffic are policed and discarded according to packet type, quantity or other predetermined criteria. The present invention performs in periodic mode, demand mode or both, and can be implemented as a hardware solution, a software solution, or a combination thereof.
-
Citations
17 Claims
-
1. A method for regulating network packet traffic, the method comprising the steps of:
-
determining a minimum threshold and a maximum threshold; calculating an average queue size according to a following formula;
average=(old_average*(1−
½
^n))+(current_queue_size*½
^n),wherein the average is the average size of a queue;
the old-average is a previous average of the queue;
the current_queue_size is a current size of the queue; and
n is an exponential weight factor and a user-configurable value;when the average queue size is less than the minimum threshold, enqueuing an arriving packet; when the average queue size is greater than the maximum threshold, dropping the packet; when the average queue size is between the minimum threshold and the maximum threshold, calculating a packet drop probability (Pdrop); and performing one of a set consisting of enqueuing and dropping the packet, according to the calculated probability. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for regulating network packet traffic, the method comprising the steps of:
-
determining a minimum threshold and a maximum threshold; calculating an average queue size according to a following formula,
average=(old average*(1−
½
^n))+(current_queue_size*½
^n),wherein the average is the average size of a queue;
the old-average is a previous average of the queue;
the current_queue_size is a current size of the queue; and
n is an exponential weight factor and a user-configurable value;when the average queue size is less than the minimum threshold, enqueuing an arriving packet; when the average queue size is greater than the maximum threshold, dropping the packet; when the average queue size is between the minimum threshold and the maximum threshold, calculating a packet drop probability in a single cycle, and either enqueuing or dropping the packet according to the calculated probability; and policing packets according to a predetermined criterion. - View Dependent Claims (9)
-
-
10. A system for management of packet traffic, the system comprising:
-
an interface block for initiating memory references for label reads and updates, and interacting with an Ingress Control Unit (ICU); a calculation block for calculating an average queue size according to a formula and calculating packet drop probability depending on the average queue size, the calculation block associated with the interface block, the formula being;
average=(old average*(1−
½
^n))+(current_queue_size*½
^n),wherein the average is the average size of a queue;
the old-average is a previous average of the queue;
the current_queue_size is a current size of the queue; and
n is an exponential weight factor and a user-configurable value; anda policing block for performing police updates, the policing block associated with the interface block. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
Specification