Method and apparatus for guaranteeing a minimum cell rate (MCR) for asynchronous transfer mode (ATM) traffic queues
Abstract
An apparatus for guaranteeing MCR in an ATM device includes at least one queue for each service category, a scheduler for dequeuing cells from the queues, a queue status block for indicating which queues are empty, and an MCR service block. The MCR service block includes a plurality of timers, at least one for each service category. According to the methods of the invention, an MCR value is selected for each queue (or service category) and a timer in the MCR service block is set according to the MCR value. The scheduler dequeues cells in strict priority from non-empty queues as determined by the queue status block. The scheduler is preempted, however, by the MCR service block when a queue fails to be serviced before its associated timer expires. The arrangement of queues and associated timers is subject to alternate embodiments.

Term
Term ended
Expired 13 May 2023, 3.4 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
6 claims: 2 independent, 4 dependent
- 1An apparatus (10) for guaranteeing minimum cell rate, MCR, in an asynchronous transfer mode, ATM, device, said apparatus (10) comprising:a) a first plurality of queues (12a to 12n) at least one for each of a plurality of service categories;b) a scheduler (18) coupled to said queues (12a to 12n) for de-queuing cells from said queues (12a to 12n) in order of priority;c) a plurality of timers (24a to 24m) each associated with a respective one of said plurality of service categories;and d) pre-emption means (22) coupled to said plurality of timers (24a to 24m) and to said scheduler (18) for pre-empting said scheduler (18), wherein said pre-emption means (22) comprises a plurality of registers (26a to 26m) each associated with a respective one of said plurality of timers (24a to 24m) each register (26a to 26m) indicating which queues have been serviced before the timer (24a to 24m) associated with the register (26a to 26m) expires, wherein said pre-emption means . (22) always causes said scheduler to dequeue a cell from a queue having a service category associated with a timer (24a to 24m) whenever said timer (24a to 24m) expires if a cell from said queue is not de-queued by said scheduler (18) before said timer expires.
- 4A method for guaranteeing minimum cell rate, MCR, in an asynchronous transfer mode, ATM, device, said method comprising:a) establishing a first plurality of queues (12a to 12n) at least one for each of a plurality of service categories;b) de-queuing cells from said queues (12a to 12n) in order of priority;c) establishing a plurality of timers (24a to 24m) each associated with a respective one of said plurality of service categories;and d) establishing a plurality of registers (26a to 26m) each associated with a respective one of said plurality of timers (24a to 24m) each register (26a to 26m) indicating which queues have been serviced before the timer (24a to 24m) associated with the register (26a to 26m) expires;e) always de-queueing a cell from a queue having a service category associated with a timer (24a to 24m) whenever said timer (24a to 24m) expires if a cell from said queue is not de-queued before said timer expires.
Independent claims2
23 paragraphs in 4 sections, as filed
BACKGROUND OF THE INVENTION
1. Field of the Invention
0001The invention relates to the allocation of bandwidth in an ATM (Asynchronous Transfer Mode) network. More particularly, the invention relates to methods and apparatus for guaranteeing a minimum cell rate (MCR) in ATM traffic queues.
2. State of the Art
0002Perhaps the most awaited, and now fastest growing technology in the field of telecommunications is known as Asynchronous Transfer Mode (ATM) technology. ATM was designed to be a carrier of integrated traffic, e.g. voice, data, and video. ATM utilizes fixed length packets (called "cells") of 53 octets (5 octets header and 48 octets payload). Current ATM service is offered in different categories according to a user's needs. These categories include, in order of priority: constant bit rate (CBR), variable bit rate-real time (VBR or VBR-rt), variable bit rate-non-real time (VBR-nrt), guaranteed frame rate (GFR), available bit rate (ABR), unspecified bit rate plus (UBR+), and unspecified bit rate (UBR). CBR and VBR-rt are "real-time" categories suitable for streaming video and voice connections. These categories are given the highest priority in the ATM network. The other five categories are considered "non-real-time". For GFR, ABR, and UBR+, users pay for a minimum cell rate (or guaranteed frame rate) which is an average rate taken over time during which there may be bursts up to a specified peak cell rate (PCR). For convenience, these three categories are referred to as MCR (minimum cell rate) services. According to ATM Forum standards, both VBR-rt and VBR-nrt require a "sustained cell rate" (SCR) which is substantially the same requirement as MCR. For UBR, no minimum bandwidth is guaranteed. UBR connections are serviced last if there is any available bandwidth after servicing all of the higher categories of service. UBR, is referred to as "best effort" service. Service categories and traffic management issues are specified in the ATM Traffic Management Specification Version 4.1, AF-TM-0121.000, March 1999.
0003ATM traffic management systems vary in complexity and cost. The simplest method of managing traffic is strict priority queuing. According to strict priority queuing, each traffic flow (virtual circuit or virtual path) is assigned a service category bulk queue. These queues are then serviced in strict priority order. The more complex systems assign a separate queue to each traffic flow and shapes each one according to a specific traffic contract so that it meets a required SCR or MCR and does not exceed a PCR (peak cell rate) and limits the cell delay variation (burstiness).
0004The strict priority mechanism is quite simple and inexpensive to implement but provides only minimum quality of service (QOS) since there are no individual guarantees for each traffic flow. Also, the lowest categories of service are subject to starvation with no guarantee of any service at all. The shaping mechanisms provide all the necessary guarantees for individual traffic flows but shaping mechanisms are very complex and costly to develop. <patcit id="pcit0001" dnum="US5953318A"><text>US Patent No. 5,953,318 (Sep.14, 1999</text></patcit>) discloses an apparatus for guaranteeing MCR in an ATM device, said apparatus comprising a timer whose expiration causes a scheduler to dequeue a cell from a low priority queue if a cell from said queue has not been dequeued by the scheduler before said timer expires.
SUMMARY OF THE INVENTION
0005It is therefore an object of the invention to provide methods and apparatus for guaranteeing MCR in ATM traffic queues.
0006It is also an object of the invention to provide methods and apparatus for guaranteeing MCR in ATM traffic queues which guarantees MCR in each traffic flow of an ATM device.
0007It is another object of the invention to provide methods and apparatus for guaranteeing MCR in ATM traffic queues which prevents starvation of lower service categories.
0008It is a further object of the invention to provide methods and apparatus for guaranteeing MCR in ATM traffic queues which are relatively simple and inexpensive to implement as compared to known traffic shaping systems.
0009According to the invention there is provided an apparatus according to claim 1.
0010According to the invention there is also provided a method according to claim 4.
0011In accord with these objects which will be discussed in detail below, an apparatus embodying the present invention includes at least one queue for each service category, a scheduler for dequeuing cells from the queues, a queue status block for indicating which queues are empty, and an MCR service block. The MCR service block includes a plurality of timers, at least one for each service category. According to methods embodying the invention, an MCR value is selected for each queue (or service category) and a timer in the MCR service block is set according to the MCR value. The scheduler dequeues cells in strict priority from non-empty queues as determined by the queue status block until a timer expires. When a timer expires, it is determined whether any queues associated with the timer failed to receive service during the timer interval. If such "starved queues" exist, the scheduler is preempted by the MCR service block so that the starved queues receive service. The arrangement of queues and associated timers is subject to alternate embodiments. As stated above, at least one queue is provided for each service category. However, according to an alternate embodiment, separate queues for each traffic flow are implemented. According to still another embodiment, multiple queues are implemented for some service categories, e.g. three separate priority queues for UBR service so that different classes of IP traffic can be mapped into UBR traffic. As stated above, at least one timer is provided for each service category. When a timer expires, the scheduler is directed to service all of the unserviced queues in the associated service category. According to an alternate embodiment, a separate timer is associated with each queue. The invention may be implemented in either a single port or multi-port device.
0012Additional objects and advantages of the invention will become apparent to those skilled in the art upon reference to the detailed description taken in conjunction with the provided figures.
BRIEF DESCRIPTION OF THE DRAWINGS
0013<ul id="ul0001" list-style="none"><li>Figure 1 is a simplified block diagram of an apparatus according to the invention;</li><li>Figure 2 is a simplified block diagram of the MCR Service Block of Figure 1; and</li><li>Figure 3 is a simplified flowchart illustrating the methods of the invention.</li></ul>
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
0014Referring now to Figure 1, an apparatus 10 embodying the invention includes a plurality of queues 12a, 12b, 12c, ..., 12n, feeding to a multiplexer 14 having a single port output 16. Although not shown in Figure 1, an apparatus embodying the invention could have multiple output ports and the methods described below takes into consideration multiple ports. A scheduler 18 controls the dequeuing of cells from the queues 12a, 12b, 12c, ..., 12n by controlling the multiplexer 14. A queue status block 20 receives status information from the queues 12a, 12b, 12c, ..., 12n and provides status information to the scheduler 18. The queue status block is preferably an n-bit word or vector where n is the number of queues. Each bit indicates whether the associated queue is empty (e.g. 0=empty, 1-not empty). The scheduler 18 reads the queue status block 20 when servicing the queues 12a, 12b, 12c, ..., 12n, and ignores the empty queues. The number of queues is at least equal to the number of service categories supported by the apparatus 10. With the minimum number of queues, all traffic flows in the same service category share the same queue. Alternatively, separate queues may be provided for each traffic flow or some service categories may be provided with a single queue while others are provided with multiple queues. An example of an implementation in which multiple queues are set up for a single service category is when mapping different classes of IP service into UBR traffic. In any event, according to the methods of the invention, an MCR is associated with each queue requiring such and all of the queues in the same service category are associated with the same MCR or SCR.
0015According to the presently preferred embodiment the MCR or SCR is expressed as a number of clock ticks during which at least one cell must be sent from this queue. For example, if a minimum cell rate (MCR) of 1,000/sec is desired and the clock used is a 100 MHz clock then the MCR value is 100,000.
0016According to an embodiment of the invention, an MCR service block 22 is coupled to the scheduler 18 and the queue status block 20. Figure 2 illustrates the main components of the MCR service block 22. The MCR service block 22 includes a plurality of timers 24a-24m, a corresponding plurality of queue service registers 26a-26m and an MCR service register 28. The number of timers is at least equal to the number of service categories. It will be appreciated, however, that the number of timers may be fewer than the number of queues.
0017Referring to Figures 1 and 2, the general operation of the apparatus includes the queue status block 20 supplying a queue status signal to the queue service registers 26a-26m. The queue status signal is a word indicating which queues are not empty. This word is latched into the queue service registers 26a-26m when the timers 24a-24m are started. It will be appreciated that the queue status word includes the status of all queues whereas each queue service register refers to a subset of the queues. As the scheduler 18 services queues, it generates a service_q signal which is sent to the multiplexer 14, the queue service registers 26a-26m, and the MCR service register 28. The service_q signal alters the bits in the queue service registers to indicate which queues have been serviced. For example, when the queue status word is generated a 1 bit is used to indicate a non-empty queue. As queues are serviced, the 1 bits are zeroed. When a timer expires, the queue service register associated with the timer is latched into the MCR service register 28. This represents a list of "starved queues". The MCR service register then signals the scheduler to service the starved queues.
0018Figure 3 illustrates a presently preferred embodiment of the methods of the invention as applied to a multiport device. Starting at 100, queues and timers are set up at 102. The queue service registers and the MCR service register are initialized at 104 and all timers are started at 106. An egress port is selected at 108 and the MCR service register associated with that port is checked at 110. If the MCR service register is empty, the queues associated with the selected port are checked at 112. If there is at least one non-empty queue, the queue with highest priority is serviced at 114. The bit in the queue service register associated with the serviced queue is then reset at 116 to indicate that the queue was serviced. At 118 it is determined whether any of the timers associated with this port have expired. If no timers have expired, the next port is selected at 108 and the process is repeated.
0019If it is determined at 118 that a timer has expired, the expired timer is restarted at 120, the queue service register is latched into the MCR service register at 122 and the queue service register is updated at 124.
0020If it is determined at 110 that the MCR service register lists unserviced (starved) queues, the starved queues are serviced at 126 and the MCR service register is reset to zero at 128.
0021There have been described and illustrated herein several embodiments of methods and apparatus for guaranteeing a minimum cell rate for asynchronous transfer mode traffic queues. While particular embodiments of the invention have been described, it is not intended that the invention be limited thereto, as it is intended that the invention be as broad in scope as the art will allow and that the specification be read likewise. For example, while it is preferred that there be at least one queue per service category and at least one timer per service category, it is possible that there be fewer timers, e.g. one timer per MCR class(es) of service. It will therefore be appreciated by those skilled in the art that yet other modifications could be made to the provided invention without deviating from its scope as so claimed.
Contents4
3 sheets
Sheet 1 Sheet 2 Sheet 3
Every citation, both ways
| Document | Relation | Office |
|---|---|---|
| US5390184A | Cites | United States of America |
| US5889779A | Cites | United States of America |
| US5953318A | Cites | United States of America |
12 members in 6 offices
Priority claims7
| Document | Office | Kind | Date |
|---|---|---|---|
| 151617 | United States of America | – | |
| 15161702 | United States of America | A | |
| 0314935 | United States of America | W | |
| 151617 | – | – | – |
| US20020151617 | – | – | – |
| US2003014935 | – | – | – |
| WO2003US14935 | – | – | – |
Members12
| Document | Office | Kind | |
|---|---|---|---|
| US2003214952A1 | United States of America | A1 | |
| WO03101053A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO03101053A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU2003239426A1 | Australia | A1 | |
| US6822939B2 | United States of America | B2 | |
| EP1510049A1 | European Patent Office (EPO) | A1 | |
| EP1510049A4 | European Patent Office (EPO) | A4 | |
| EP1510049B1This record | European Patent Office (EPO) | B1 | |
| AT379907T | Austria | T | |
| ATE379907T1 | Austria | T1 | |
| DE60317786D1 | Germany | D1 | |
| DE60317786T2 | Germany | T2 |
60 legal events, as 6 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Gb: european patent ceased through non-payment of renewal feeCeasedGBPC | GBPC | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Fee paymentPLFP | PLFP | FR | |
| Fee paymentPLFP | PLFP | FR | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Fee paymentPLFP | PLFP | FR | |
| Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal feeWithdrawnR119 | R119 | DE | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Transmission of propertyTP | TP | FR | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)732E | 732E | GB | |
| No opposition filedOpposition26N | 26N | EP | |
| No opposition filed within time limitOppositionORIGINAL CODE: 0009261PLBE | PLBE | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: NO OPPOSITION FILED WITHIN TIME LIMITSTAA | STAA | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Fr: translation filedET | ET | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Patent ceasedCeasedPL | PL | CH | |
| Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents actLapsedNLV1 | NLV1 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Corresponds to:REF | REF | EP | |
| European patent takes effect as a national patent in ch/liEP | EP | CH | |
| European patents granted designating irelandGrantedFG4D | FG4D | IE | |
| Designated contracting statesAK | AK | EP | |
| European patent grantedGrantedFG4D | FG4D | GB | |
| (expected) grantORIGINAL CODE: 0009210GRAA | GRAA | EP | |
| Grant fee paidORIGINAL CODE: EPIDOSNIGR3GRAS | GRAS | EP | |
| Title (correction)METHOD AND APPARATUS FOR GUARANTEEING A MINIMUM CELL RATE (MCR) FOR ASYNCHRONOUS TRANSFER MODE (ATM) TRAFFIC QUEUESRTI1 | RTI1 | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOSNIGR1GRAP | GRAP | EP | |
| Request for extension of the european patent (deleted)DAX | DAX | EP | |
| Supplementary search report drawn up and despatchedA4 | A4 | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Request for examination filed17P | 17P | EP | |
| Designated contracting statesAK | AK | EP | |
| Request for extension of the european patentAX | AX | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 1510049
- Publication, DOCDB
- 1510049
- Publication, EPODOC
- EP1510049
- Application
- 3734003
- Application, DOCDB
- 03734003
- Application, EPODOC
- EP20030734003
Titles3
- German
- Verfahren und Vorrichtung zum Garantieren einer minimalen Zellenrate (MCR) für Verkehrswarteschlangen im Asynchronen Transfermodus (ATM)
- English
- Method and apparatus for guaranteeing a minimum cell rate (MCR) for asynchronous transfer mode (ATM) traffic queues
- French
- Procédé et appareil permettant de garantir un taux de cellules minimum (MCR) pour les files d'attente à mode de transfert asynchrone (ATM)
Classification
- CPC, 11
- H04L47/6215
- H04L12/5601
- H04L12/5602
- H04L47/562
- H04L47/566
- H04L2012/5651
- H04L2012/5679
- H04L2012/5681
- H04L69/28
- H04L47/50
- H04L9/40
- IPC, 2
- H04L12 56
- H04L29 06
Designated states1
- Contracting states, 1
- Türkiye