Delay-minimizing system with guaranteed bandwidth delivery for real-time traffic
First Claim
Patent Images
1. A method of allocating bandwidth within a contention cycle to information packets originating from traffic sources competing for access to a data network, the method comprising the steps of:
- receiving the information packets from the traffic sources and storing the information packets in one or more source queues, each of the stored information packets having a respective predefined quality of service parameter,assigning any information packet stored in one of the source queues and having a quality of service parameter greater than a predetermined value to a guaranteed service queue;
allocating bandwidth of the data network to at least one of the information packets assigned to the guaranteed service queue; and
if the guaranteed service queue is empty, allocating the bandwidth to the information packets stored in the source queue according to a predetermined criterion.
6 Assignments
0 Petitions
Accused Products
Abstract
A bandwidth allocation system allows packets or cells within traffic flows from different sources contending for access to a shared processing fabric to get access to that fabric in an order that is determined primarily on individual guaranteed bandwidth requirements associated with each traffic flow, and secondarily on overall system criteria, such as a time of arrival, or due date of packets or cells within traffic flows.
239 Citations
14 Claims
-
1. A method of allocating bandwidth within a contention cycle to information packets originating from traffic sources competing for access to a data network, the method comprising the steps of:
-
receiving the information packets from the traffic sources and storing the information packets in one or more source queues, each of the stored information packets having a respective predefined quality of service parameter, assigning any information packet stored in one of the source queues and having a quality of service parameter greater than a predetermined value to a guaranteed service queue; allocating bandwidth of the data network to at least one of the information packets assigned to the guaranteed service queue; and if the guaranteed service queue is empty, allocating the bandwidth to the information packets stored in the source queue according to a predetermined criterion. - View Dependent Claims (2, 3, 6)
-
-
4. A method of allocating bandwidth within a contention cycle to information packets originating from traffic sources competing for access to a data network, the method comprising the steps of:
-
receiving the information packets from the traffic sources and storing the information packets in one or more source queues, each of the stored information packets having a respective predefined quality of service parameter; assigning any information packet having a quality of service parameter greater than a predetermined value to a guaranteed service queue; allocating bandwidth of the data network to one of the information packets assigned to the guaranteed service queue; if the guaranteed service queue is empty, allocating the bandwidth to the remaining information packets according to a predetermined criterion; assigning a counter of a predetermined value to each traffic source; decrementing said counter by a counter rate determined as a function of the data network bandwidth that is to be allocated to the traffic source to satisfy the quality of service assigned to the traffic source, said decrementing step taking place only when a contending information packet from one of said traffic sources cannot be allocated bandwidth of the data network within a time slot; and allocating said bandwidth to an information packet received from one of the traffic sources if the counter assigned to that traffic source is less than or equal to zero. - View Dependent Claims (5)
-
-
7. A communications apparatus comprising:
-
a plurality of queuing means for storing information packets received from a plurality of traffic sources contending for access to a shared fabric; means for reassigning one of said stored information packets to a guaranteed service queue for as-soon as possible access to the shared fabric, the selection being based on a predetermined service guarantee associated with that one of said traffic sources from which said one of said information packets was received; means, responsive to a signal indicative of unused bandwidth on the shared fabric after said one of said information packets has accessed the shared fabric, for allocating bandwidth to another one of the stored information packets based on a predetermined criterion. - View Dependent Claims (8, 9)
-
-
10. A communications apparatus comprising:
-
a plurality of queuing means for storing information packets received from a plurality of traffic sources contending for access to a shared fabric; means for reassigning one of said stored information packets to a guaranteed service queue for as-soon as possible access to the shared fabric, the selection being based on a predetermined service guarantee associated with that one of said traffic sources from which said one of said information packets was received; means, responsive to a signal indicative of unused bandwidth on the shared fabric after said one of said information packets has accessed the shared fabric, for allocating bandwidth to another one of the stored information packets based on a predetermined criterion; means for assigning a counter of a predetermined value to each of said traffic sources; means for decrementing said counter by a counter rate that is determined as a function of the bandwidth that needs to be allocated to the respective traffic source to satisfy the associated service guarantee, said decrementing means being operative only when a contending information packet from another one of said traffic sources cannot granted access to the shared fabric within a time slot; and allocating said bandwidth of the shared fabric to an information packet received from one of the traffic sources if the counter for that traffic source is a less than or equal to zero. - View Dependent Claims (11)
-
-
12. A method of allocating bandwidth of a shared fabric to information packets within traffic flows, said information packets being received from respective traffic sources contending for access to the shared fabric, the method comprising the steps of:
-
storing the information packets in data queues as they are received from said sources, evaluating contending stored information packets received within a traffic flow from respective traffic sources in which said evaluating is based on predetermined bandwidth guarantees associated with said traffic flow; allocating bandwidth to at least one stored information packet based on said evaluation by associating the at least one stored information packet with a guaranteed service queue; and if unused bandwidth is still available on said shared fabric allocating bandwidth to at least one other stored information packet based on at least one predetermined criterion.
-
-
13. A method of allocating bandwidth of a shared fabric to information packets within traffic flows, said information packets being received from respective traffic sources contending for access to the shared fabric, the method comprising the steps of:
-
evaluating contending information packets received within a traffic flow from respective traffic sources in which said evaluating is based on predetermined bandwidth guarantees associated with said traffic flow; allocating bandwidth to at least one information packet based on said evaluation; if unused bandwidth is still available on said shared fabric allocating bandwidth to at least one other information packet based on at least one predetermined criterion; determining a value of a counter associated with each of said traffic sources; and allocating bandwidth to a contending information packet if said counter for the respective one of said traffic sources from which said contending information packet was received is less than or equal to zero. - View Dependent Claims (14)
-
Specification