Unified algorithm for frame scheduling and buffer management in differentiated services networks
First Claim
1. A method for guaranteeing different packet delays for different packet classes, wherein each packet class having a corresponding priority class, input queue having a queue length and a delay bound, comprising:
- receiving a packet for forwarding to an output port, the packet having a packet class determining the sum of the product of queue lengths and delay bounds for all classes;
determining the product of the queue length and delay bound for the packet'"'"'s class; and
discarding the packet when the sum of the product of queue lengths and delay bounds for all classes exceeds a predetermined congestion plane and when the product of the queue length and delay bound for the packet'"'"'s class exceeds a bandwidth allocated for the packet'"'"'s class.
12 Assignments
0 Petitions
Accused Products
Abstract
A frame forwarding and discard architecture in a Differentiated Services network environment. The architecture comprises a discard logic for discarding a frame from a stream of incoming frames of the network environment in accordance with a discard algorithm, the frame being discarded if a predetermined congestion level in the network environment has been reached, and a predetermined backlog limit of a queue associated with the frame, has been reached. Scheduling logic is also provided for scheduling the order in which to transmit one or more enqueued frames of the network environment.
90 Citations
30 Claims
-
1. A method for guaranteeing different packet delays for different packet classes, wherein each packet class having a corresponding priority class, input queue having a queue length and a delay bound, comprising:
-
receiving a packet for forwarding to an output port, the packet having a packet class determining the sum of the product of queue lengths and delay bounds for all classes; determining the product of the queue length and delay bound for the packet'"'"'s class; and discarding the packet when the sum of the product of queue lengths and delay bounds for all classes exceeds a predetermined congestion plane and when the product of the queue length and delay bound for the packet'"'"'s class exceeds a bandwidth allocated for the packet'"'"'s class. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A weighted random early drop method, comprising:
-
forwarding all inbound low drop packets and discarding a first fixed percentage of inbound high drop packets when the sum of products of the queue length for each class times the delay bound for the class divided by the delay bound for the highest priority class exceeds a first predetermined threshold; and discarding a second percentage of inbound low drop packets and a third percentage of inbound high priority packets when the sum of products of the queue length for each class times the delay bound for the class divided by the delay bound for the highest priority class exceeds a second predetermined threshold; wherein the first predetermined threshold is lower than the second predetermined threshold. - View Dependent Claims (9)
-
-
10. A method for routing packets received from an input stream to a port, the input stream having n classes where n is an integer greater than 1, and the port having a bandwidth, comprising:
-
receiving a packet belonging to a class i, where i is an integer between 1 and n; calculating the sum of λ
iQi for i equals 1 to i equals n, where λ
i is the ratio of the delay bound for the class i, δ
i, divided by the delay bound of the highest priority class δ
1, and Qi is the current queue size for the class i forwarding a packet that exceeds for a class exceeding its allocated queue length defined as the product of the allocated bandwidth for the class ri and the delay bound for the class, δ
i, when the sum of λ
iQi is less than a predetermined threshold value. - View Dependent Claims (11, 12)
-
-
13. A method for dynamically adjusting queue sizes for n queues, where n is an integer greater than 1, each queue corresponding to a class Ci, where i is an integer between 1 and n, the class having a priority based on a delay bound δ
-
i, comprising;
allocating each class a bandwidth, ri; allocating each class an allocated queue size determined by the product of the class bandwidth and the class delay bound, riδ
i;determining a congestion plane as a sum of the products for i equals 1 to n of a priority factor, λ
i, the priority factor based on the delay bound of the class δ
i divided by the delay bound of the highest priority class δ
1 and a current queue length Qi, wherein the sum λ
iQi for i equals 1 to n is one equal to a predetermined threshold;increasing the queue size for a class i when a packet is received for class i when the increase of queue size does not exceed the congestion plane. - View Dependent Claims (14, 15)
-
i, comprising;
-
16. An apparatus for guaranteeing different packet delays for different packet classes, wherein each packet class having a corresponding priority class, input queue having a queue length and a delay bound, comprising:
-
means adapted for receiving a packet for forwarding to an output port, the packet having a packet class means adapted for determining the sum of the product of queue lengths and delay bounds for all classes; means adapted for determining the product of the queue length and delay bound for the packet'"'"'s class; and means adapted for discarding the packet when the sum of the product of queue lengths and delay bounds for all classes exceeds a predetermined congestion plane and when the product of the queue length and delay bound for the packet'"'"'s class exceeds a bandwidth allocated for the packet'"'"'s class. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
-
23. An apparatus configured to perform a weighted random early drop method, comprising:
-
means adapted for forwarding all inbound low drop packets and discarding a first fixed percentage of inbound high drop packets when the sum of products of the queue length for each class times the delay bound for the class divided by the delay bound for the highest priority class exceeds a flint predetermined threshold; and means adapted for discarding a second percentage of inbound low drop packets and a third percentage of inbound high priority packets when the sum of products of the queue length for each class times the delay bound for the class divided by the delay bound for the highest priority class exceeds a second predetermined threshold; wherein the first predetermined threshold is lower than the second predetermined threshold. - View Dependent Claims (24)
-
-
25. An apparatus for guaranteeing different packet delays for n different packet classes, wherein n is an integer greater than 1, comprising:
-
n input queues, each of the n input queues is assigned to a corresponding packet class; discard logic adapted to receiving a packet for forwarding to an output port, the packet belonging to a class i, that is one of the n packet classes; the discard logic being suitably adapted for determining the sum of the product of queue lengths and delay bounds for all classes; the discard logic being suitably adapted for determining the product of the queue length and delay bound for the packet'"'"'s class; and the discard logic configured for discarding the packet when the sum of the product of queue lengths and delay bounds for all classes exceeds a predetermined congestion plane and when the product of the queue length and delay bound for the packet'"'"'s class exceeds a bandwidth allocated for the packet'"'"'s class. - View Dependent Claims (26, 27, 28, 29, 30)
-
Specification