Priority queueing
AssigneeLucent Technologies Inc.
InventorsVineet Mehta, Martin Ernst Mueller, Muralidharan Sampath Kodialam, Yung-Terng Wang
Life of this patent
Estimating the term…
Abstract
Apparatus and a method are disclosed for providing a priority queuing arrangement in the transmit direction in Inter-Working Units (IWUs) that permits Frame Relay data packets or ATM cells from channels that have contracted for a particular level of bandwidth service to be provided that service, even during heavy traffic periods when there is contention for resources in the IWU.
Claims15
A method for prioritizing data packets flowing through equipment in packet switched networks to provide contracted levels of bandwidth service through the equipment even when there is a backlog of data packets flowing through the equipment, and each level of bandwidth service has a corresponding priority level, said method comprising the steps of:
- receiving a plurality of data packets from the network and each of said packets has been assigned to one of said priority levels;
- segregating said received data packets into a plurality of groups based on the priority level assigned to each data packet, with each of said groups being associated with one of said priority levels;
- and
- wherein there are priority levels P1 through Px with level P1 having the highest priority level and level Px having the lowest priority level, a number N is assigned to each of priority levels P1 through Px indicating a number of visits to each priority level, a number M is assigned to each of priority levels P1 through Px indicating the maximum number of packets to be read out to the network during each visit to each priority level;
- forwarding said data packets from each of said plurality of priority groups to said network based on the priority level of each group, to provide the contracted level of bandwidth service per the following steps;
- (a) visiting priority level P1 a total of N1 times and during each visit up to M1 priority level P1 packets are forwarded to the network before a visit is made to priority level P2 to read out up to M2 priority level P2 packets to the network,
- (b) repeatedly visiting priority level P1 per step (a) until priority level P2 has been visited a total of N2 times, then priority level Px is visited to read out up to Mx priority level Px packets to the network,
- (c) repeating steps (a) and (b) until priority level Px is visited a total of Nx times with up to Mx priority level Px packets being read to the network each time, and
- (d) repeatedly visiting priority levels P1 through Px per steps (a) through (c) until priority level Px has been visited a total of Nx times, then steps (a) through (c) are repeated.
A method for approximating a variety of well-known traffic priority schedulers used in packet switched networks to provide contracted levels of bandwidth service through the networks, and each level of bandwidth service has a corresponding priority level, said method comprising the steps of:
- receiving a plurality of data packets and each of said packets has been assigned to one of said priority levels;
- (a) segregating said received data packets into a plurality of groups based on the priority level assigned to each data packet, with each of said groups being associated with one of said priority levels;
- (b) assigning a number N to each priority level group indicating a number of visits to each priority level;
- and
- (c) assigning a number M to each priority level group indicating the maximum number of packets of each priority level to be forwarded over the network during each visit to each priority level;
- (d) visiting the highest priority level group a number of times equal to its assigned number N and during each visit a number of packets up to its assigned number M are forwarded over the network;
- (e) visiting the second highest priority level group one time and during the visit a number of packets up to its assigned number M are forwarded over the network;
- (f) repeating steps (d) and (e) until the second highest priority level group has been visited a number of times equal to its assigned number N;
- (g) visiting each priority level group below the second highest priority level group one time in descending order of priority level after the priority level group having the next higher priority level has been visited a number of times up to its assigned number N and during the one time visit to each priority level group a number of packets equal to its assigned number M are forwarded over the network;
- (h) repeating steps (d) through (g) until a priority level group being visited in step (g) is visited a number of times equal to its assigned number N;
- and
- (i) repeating steps (d) through (h) after the priority level group having the lowest priority is visited a number of times equal to its assigned number N.
Apparatus for prioritizing data packets flowing through equipment in packet switched data networks, said equipment having a plurality of channels carrying data packets and each channel has a predetermined contracted bandwidth, said equipment providing said contracted levels of bandwidth service to each channel, and each level of bandwidth service has a corresponding priority level, said apparatus comprising:
- a plurality of buffer queues, a buffer queue being associated with each channel and its corresponding priority level, data packets for each channel being temporarily stored in an assigned one of said buffer queues, said buffer queues being visited starting from the highest priority and progressing to the lowest priority to transmit data packets to the network according to said predetermined contracted bandwidths;
- a first counter associated with each of said plurality of buffer queues, each said first counter being loaded with a number indicating the number of data packets to be transmitted from its associated buffer queue to the network each time the buffer queue is visited to read out data packets to the network;
- and
- a second counter associated with each of said plurality of buffer queues, each said second counter being loaded with a number indicating a number of visits to be made to its associated buffer queue to transmit to the network the number data packets indicated by the associated one of said first counters before progressing to the next lower priority queue to transmit the number of data packets indicated by its associated first counter.
Dependencies are inferred from the claim text.