Systems and methods for grouping of bandwidth allocations
First Claim
1. A data traffic shaping system, comprising:
- a plurality of burst groups, each burst group having a burst group credit allocation mechanism configured to earn credit over time;
a shaping engine configured to classify incoming entries of traffic and to assign an incoming entry of traffic to a selected queue of one of the burst groups depending on characteristics of the entry;
a plurality of queues, respective queues belonging to respective burst groups; and
a bandwidth allocation table including locations identifying a queue and an amount of bandwidth credit to allocate to that queue, the shaping engine being configured to traverse the locations, to determine the bandwidth earned by the queues, and to process an entry in that queue only if both the queue and the burst group with which the queue is associated have respectively earned a predetermined minimum amount of credit.
2 Assignments
0 Petitions
Accused Products
Abstract
A data traffic shaping system, comprises a plurality of burst groups, each burst group having a burst group credit allocation mechanism configured to earn credit over time; a shaping engine configured to manage incoming entries of traffic and to assign each incoming entry of traffic to a selected queue of the burst group depending on the characteristics of the entry; a plurality of queues, respective queues belonging to respective burst groups; and a bandwidth allocation table including locations identifying a queue and an amount of bandwidth credit to allocate to that queue, the shaping engine being configured to traverse the locations, to determine the bandwidth earned by the queues, such credit only being made available to the queue if its assigned burst group has at least that much credit available at that instant in time, and to process an entry in that queue only if the queue has earned a predetermined minimum amount of credit, relative to the current entry on the queue in question.
42 Citations
25 Claims
-
1. A data traffic shaping system, comprising:
-
a plurality of burst groups, each burst group having a burst group credit allocation mechanism configured to earn credit over time;
a shaping engine configured to classify incoming entries of traffic and to assign an incoming entry of traffic to a selected queue of one of the burst groups depending on characteristics of the entry;
a plurality of queues, respective queues belonging to respective burst groups; and
a bandwidth allocation table including locations identifying a queue and an amount of bandwidth credit to allocate to that queue, the shaping engine being configured to traverse the locations, to determine the bandwidth earned by the queues, and to process an entry in that queue only if both the queue and the burst group with which the queue is associated have respectively earned a predetermined minimum amount of credit. - View Dependent Claims (2, 4, 5, 6, 7, 8, 9, 10)
-
-
3. A data traffic shaping system in accordance with claim 3 wherein the bandwidth allocation table is traversed at a fixed rate.
-
11. A method for shaping traffic from a plurality of data streams, the method comprising:
-
providing a plurality of FIFO queues;
assigning each queue to a burst group;
assigning traffic to the queues depending on the characteristics of the traffic; and
controlling traffic flow out of the queues using a bandwidth allocation table and a burst group credit allocation mechanism. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method for shaping data traffic, comprising:
-
providing a plurality of queues;
assigning the queues to burst groups, each burst group earning bandwidth over time;
classifying incoming entries of traffic and assigning an incoming entry of traffic to a selected queue of a selected burst group depending on characteristic of the entry;
providing a memory including locations identifying a queue and the amount of bandwidth credit to allocate to that queue;
allocating bandwidth to each of the queues using timed division multiplexing by traversing the memory locations in a repeating order to determine the bandwidth allocatable to each of the queues; and
releasing an entry from a queue when the queue has earned a predetermined amount of credit provided that the burst group to which the queue is assigned has also earned a predetermined amount of bandwidth. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25)
-
Specification