Dynamic behavioral queue classification and weighting
First Claim
1. A method of forwarding packets comprising:
- classifying a packet from a plurality of packets according to a classification, wherein the classification is one of a plurality of classifications;
storing the packet in one of a plurality of behavioral queues corresponding to the classification, whereineach behavioral queue corresponds to one of a plurality of flow behaviors associated with the classification;
assigning a weighting to said plurality of behavioral queues; and
forwarding the packet from said behavioral queue according to said weighting.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention defines a method and apparatus to extend class-based queuing (CBQ) with multiple “behavioral” queues per class, to include a dynamic weighting mechanism between these queues. The packets are forwarded from the behavioral queues according to the weighting assigned to each queue. The weighting for packet scheduling of the queues is adjusted to account for additional flow going through the queues. The weight of a queue is controlled relative to the weight available to other queues. When a flow is reclassified, the queue weights is readjusted accordingly. Well behaved flows experience low delay and can thus achieve a fair bandwidth allocation without having to have multiple packets queued to compete with non-adaptive aggressive flows.
80 Citations
104 Claims
-
1. A method of forwarding packets comprising:
-
classifying a packet from a plurality of packets according to a classification, wherein the classification is one of a plurality of classifications; storing the packet in one of a plurality of behavioral queues corresponding to the classification, wherein each behavioral queue corresponds to one of a plurality of flow behaviors associated with the classification; assigning a weighting to said plurality of behavioral queues; and forwarding the packet from said behavioral queue according to said weighting. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52)
-
-
27. A network element comprising:
-
means for classifying a packet from a plurality of packets according to a classification, wherein the classification is one of a Plurality of classifications; means for storing the packet in one of a plurality of behavioral queues corresponding to the classification, wherein each behavioral queue corresponds to one of a plurality of flow behaviors associated with the classification; means for assigning a weighting to said plurality of behavioral queues; and means for forwarding the packet from said behavioral queue according to said weighting. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
53. A computer program product for forwarding packets, encoded in computer readable media, said program product comprising a set of instructions executable on a computer system, said set of instructions is configured to
classify a packet from a plurality of packets according to a classification, wherein the classification is one of a plurality of classifications; -
store the packet in one of a plurality of behavioral queues corresponding to the classification, wherein each behavioral queue corresponds to one of a plurality of flow behaviors associated with the classification; assign a weighting to said plurality of behavioral queues; and forward the packet from said behavioral queue according to said weighting. - View Dependent Claims (54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78)
-
-
79. A network element comprising:
-
a processor; a memory coupled to said processor; and a network interface coupled to said processor, said processor is configured to classify a packet from a plurality of packets according to a classification, wherein the classification is one of a plurality of classifications; store the packet in one of a plurality of behavioral queues corresponding to the classification, wherein each behavioral queue corresponds to one of a plurality of flow behaviors associated with the classification, assign a weighting to said plurality of behavioral queues, and forward the packet from said behavioral queue according to said weighting. - View Dependent Claims (80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104)
-
Specification