US20050047415A1 - Data traffic manager and method therefor - Google Patents

Data traffic manager and method therefor Download PDF

Info

Publication number
US20050047415A1
US20050047415A1 US10/649,924 US64992403A US2005047415A1 US 20050047415 A1 US20050047415 A1 US 20050047415A1 US 64992403 A US64992403 A US 64992403A US 2005047415 A1 US2005047415 A1 US 2005047415A1
Authority
US
United States
Prior art keywords
class
data
shaper
queues
cell
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/649,924
Inventor
Radhakrishna Channegowda
Dhananjay Patki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Priority to US10/649,924 priority Critical patent/US20050047415A1/en
Assigned to MOTOROLA, INC. reassignment MOTOROLA, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CHANNEGOWDA, RADHAKRISHNA, PAKTI, DHANANJAY S.
Publication of US20050047415A1 publication Critical patent/US20050047415A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/562Attaching a time tag to queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6225Fixed service order, e.g. Round Robin
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/627Queue scheduling characterised by scheduling criteria for service slots or service orders policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/568Load balancing, smoothing or shaping

Definitions

  • the present invention relates to a method and apparatus for data traffic management and, more particularly, to a time-spaced traffic management system for ATM data that uses per-class queues.
  • ATM Asynchronous Transfer Mode
  • An ATM network should be capable of providing differentiated Quality of Service (QoS) to these services and applications.
  • Traffic Management protects the network and the end systems from congestion and promotes efficient use of network resources. Generic functions such as Connection Admission Control, Feedback Control, Usage Parameter Control, Cell Loss Priority Control, Traffic Shaping, Network Resource Management and Frame Discard are provided to facilitate efficient traffic management.
  • An ATM multiplexer connects different user devices (for example, DS 1 , DS 3 , T 1 /E 1 , Ethernet) then translates the protocols to ATM cell format and multiplexes the cells into a UNI interface (OC- 3 c or DS 3 PLCP).
  • the UNI interface may connect to the ATM switch.
  • the combination of interfaces and services presents a difficult challenge to multiplexer implementation.
  • the interface between the multiplexer and the network should support statistical multiplexing, traffic management, cell buffering, cell queuing, priority schemes, and fairness algorithms in accordance with data transmission standards. Traditional approaches require separate hardware and general purpose CPUs for each interface type and protocol, which results in many individual designs and limited reuse of software.
  • per-VC queues Conventional shaping and scheduling algorithms used for ATM traffic management involve per-VC (Virtual Connection) queues. Such per-VC queues are processed with multi-level scheduling (two or more, for example, one for ATM classes and one for VCs) and shaping mechanisms.
  • Typical shaping and scheduling algorithms include GCRA (Generic Cell Rate Algorithm), Priority Scheduling, WFQ, Scoreboard Scheduling, Fair Share Scheduling, Timestamp Scheduling, etc.
  • GCRA Generic Cell Rate Algorithm
  • Priority Scheduling Priority Scheduling
  • WFQ Priority Scheduling
  • Scoreboard Scheduling Scoreboard Scheduling
  • Fair Share Scheduling Timestamp Scheduling
  • Per-VC queuing and multi-level scheduling involves as many queues as the number of VCs and all of the queues must be scanned for each cell transmission.
  • Some implementations compromise on the number of VCs that can be supported.
  • Other implementations use two-dimensional timing chains that need frequent chain manipulations adding to computational overheads.
  • Timestamp based scheduling mechanisms need a plurality of timers running at various time granularities making timer management complex.
  • Some prioritized queue shaping mechanisms treat different classes of traffic alike.
  • Some fair share schedulers perform round robin scheduling across VCs, however, do not distinguish between different classes of traffic.
  • One proposed method replaces per-VC shaping queues that must be processed during each cell-emission period with a sequence of shaping queues shared by a plurality of virtual circuits only one of which must be processed during each cell-emission period.
  • queuing cells of different VCs/classes to the shaper queues and scheduling of the shaper queues is quite complex.
  • a cell arriving late causes designation of serving queues of all the VCs to be shifted, the impact of which is not clear.
  • an additional overflow queue is required for variable-bit-rate VCs.
  • FIG. 1 is block diagram of a data traffic manager in accordance with an embodiment of the present invention
  • FIG. 2 is a block diagram of another data traffic manager in accordance with an embodiment of the present invention.
  • FIG. 3 is a flow chart illustrating a modified generic cell rate algorithm of a data traffic manager in accordance with an embodiment of the present invention.
  • the present invention is a data traffic manager that uses a time spaced round robin (TSRR) scheduler.
  • TSRR scheduler uses just per-class queues and avoids the use of per-VC queues and their associated complex processing.
  • the TSRR algorithm is computationally efficient as it uses a modified GCRA and simple round robin mechanisms for processing the class queues.
  • the TSRR scheduler significantly reduces the resources required, both processing and memory, thereby reducing the overall cost of ATM Traffic Management.
  • the present invention is a data traffic manager having an enqueue engine connected to at least one port for receiving cells of data and a plurality of per-class shaper queues connected to the enqueue engine that receive respective cells of data from the enqueue engine.
  • the shaper queues are spaced generally equally in time.
  • the enqueue engine determines whether a cell of data is one of conformant and non-conformant.
  • a conformant cell is queued to a currently served queue and a non-conformant cell is shaped based on a cell delay time.
  • a time spaced round robin (TSRR) scheduler connected to the plurality of per-class queues schedules cells of data from the shaper queues for transmission.
  • TSRR time spaced round robin
  • the present invention is a data traffic manager that receives cell data of various class types from one or more data ports.
  • the traffic manager includes a plurality of per-class queues connected to the one or more data ports, wherein at least one per-class queue is provided for each class of cell data and cell data from each class is queued in its respective queue.
  • a first scheduler is connected to the plurality of per-class queues for scheduling the cell data and associated virtual connection (VC) traffic and Quality of Service (QoS) parameters.
  • VC virtual connection
  • QoS Quality of Service
  • a shaper enqueue engine is connected to the first scheduler for managing the cells and their associated VC and QoS data.
  • a plurality of per-class shaper queues are connected to the enqueue engine.
  • the per-class shaper queues receive and queue respective cells and their associated data managed by the enqueue engine. At least one shaper queue is provided for each class.
  • a second scheduler is connected to the plurality of per-class shaper queues for scheduling cells of data from the shaper queues for transmission.
  • a timer is connected to the second scheduler and provides timing information thereto
  • the present invention provides a method of managing ATM data traffic, comprising the steps of:
  • GCRA generic cell rate algorithm
  • the data traffic manager 10 includes an enqueue engine 12 , a plurality of per-class shaper queues 14 , 16 and 18 , a scheduler 20 and a timer 22 .
  • the enqueue engine 12 is connected to at least one port 24 for receiving cells of data.
  • the port comprises ATM Adaptation Layers (AAL) or other ATM ports.
  • the enqueue engine 12 receives constant bit rate (CBR), real time-variable bit rate (rt-VBR) and non-real time variable bit rate (nrt-VBR) cells of data via the port 24 .
  • CBR constant bit rate
  • rt-VBR real time-variable bit rate
  • nrt-VBR non-real time variable bit rate
  • rt-VBR the difference between rt-VBR and nrt-VBR is the QoS parameters that they specify.
  • rt-VBR specifies the same QoS parameters as CBR, i.e., cell loss ratio, peak-to-peak cell delay variation and maximum cell transfer delay, while nrt-VBR specifies only CLR as a QoS parameter.
  • the enqueue engine 12 may also receive unspecified bit rate (UBR) cells of data. The enqueue engine 12 determines whether a cell of data is either conformant or non-conformant using a GCRA or preferably, a modified GCRA, such as the modified GCRA shown in FIG. 3 .
  • UBR unspecified bit rate
  • a conformant data cell is queued to a currently served queue or the queue that is going to be served next if the current queue is full so that the conformant cell gets transmitted right away.
  • the enqueue engine 12 determines whether the non-conformant cell has to be dropped or shaped based on how long the non-conformant cell has to be delayed to make it conformant and hence ready for transmission.
  • the plurality of per-class shaper queues 14 , 16 and 18 are connected to the enqueue engine 12 and receive respective cells of data from the enqueue engine 12 .
  • the plurality of per-class shaper queues includes at least one CBR class queue 14 , at least one rt-VBR class queue 16 and at least one non-real time variable bit rate nrt-VBR class queue 18 .
  • each class queue 14 , 16 and 18 includes a plurality of such queues.
  • the CBR class queue 14 could comprise thirty-two (32) queues such that each CBR class queue can hold about thirty-two cells of data.
  • the rt-VBR and nrt-VBR shaper queues 16 and 18 may include a similar number of similarly sized queues.
  • the data traffic manager 10 preferably also includes a UBR class queue 26 for UBR data.
  • the scheduler 20 is connected to the plurality of per-class shaper queues 14 , 16 and 18 and the UBR class queue 26 for scheduling cells of data from the shaper queues 14 , 16 , 18 and 26 for transmission.
  • the scheduler 20 is preferably a time spaced round robin (TSRR) scheduler and in this embodiment, performs scheduling based on predetermined weight and/or priority values for each class, as well as timing information generated by the timer 22 .
  • TSRR time spaced round robin
  • n shaper queues of size ‘s’ queue length—number of cells that a queue can hold
  • n and s may be different for each class depending on granularity and a total number of queues available.
  • the timer 22 which is connected to the scheduler 20 , generates ticks for the cell time Tc. For example, for OC-3c, 1 cell time Tc is about 2.8 ⁇ s.
  • each shaper queue within a class is serviced cyclically for s ticks in a cycle of n*s ticks.
  • the shaper queues 14 , 16 , 18 and 26 are serviced cyclically for ‘Ts’ duration and for each cell transmission only one queue from each class is scanned.
  • W/P RR Weighted/Priority Round-Robin scheduler 20 scans currently served queues (one from each class) based on class weight/priority.
  • priority round robin all the cells in the CBR queue 14 are scheduled before the rt-VBR queue 16 and all cells in the rt-VBR queue 16 are scheduled before the nrt-VBR queue 18 .
  • Cells from the UBR class queue 26 are scheduled only when there are no cells to be scheduled from the other class queues 14 , 16 , and 18 .
  • the CBR queue 14 is serviced Wcbr times
  • the rt-VBR queue 16 is serviced Wrt-VBR times
  • the nrt-VBR queue 18 is serviced Wnrt-VBR times
  • the UBR queue 26 is serviced Wu times, where W is a weight value.
  • Shaping is basically delaying the transmission of a cell by placing the cell in the appropriate shaper queue. While the scheduler 20 schedules cells from the shaper queues 14 , 16 , 18 and 26 for transmission, the enqueue engine 12 manages the shaper queues 14 , 16 and 18 (but not the UBR queue 26 ).
  • the time the cell has to be delayed is the difference between the current time and the time at which the cell should be transmitted. If this difference exceeds a predetermined value (referred to as maxCTD in FIG. 3 ), in one embodiment of the invention, the cell is immediately dropped.
  • the shaper queue to be used for delaying the cell is determined based on the time difference and the queue that is currently being served.
  • the cell is queued to the respective shaper queue based on queue thresholds. The cell is dropped or discarded if the shaper queue is above the non-conformant threshold of the class.
  • Step 30 indicates the arrival of a cell k at a time t a (k).
  • the time at which the cell is to be sent or transmitted is determined as TAT-L, where TAT is a theoretical arrival time and L is a limit value. TAT can have an initial value of current time.
  • the calculated time to send is compared to the cell arrival time t a (k). If the time to send is not greater than the arrival time, then the cell is a conforming cell and the algorithm proceeds to step 36 , where it is queued in the currently served queue for transmission. Step 38 follows step 36 .
  • TAT is compared to t a (k).
  • TAT is set to the value of t a (k) and at step 42 TAT is incremented by I (the increment value I equals 1/PCR for CBR, and 1/SCR for rt-VBR and nrt-VBR).
  • TAT is not less than t a (k)
  • TAT is incremented by I at step 42 .
  • the algorithm proceeds to step 44 to determine the time that the cell has to be delayed.
  • step 44 the time to send less the arrival time t a (k) is compared to a predetermined maximum value (maxCTD) and if the difference is greater than maxCTD, then the cell is dropped at step 48 . If the difference is not greater than maxCTD, then the algorithm proceeds to step 46 .
  • TAT is incremented by I, at step 42 and then the next received data cell is processed.
  • FIG. 2 another embodiment of a data manager 50 in accordance with the present invention is shown.
  • the data manager 50 may be implemented using a RISC processor, such as a Motorola C-Port Network processor.
  • the data manager 50 has two levels of scheduling, one at ingress, before shaping, and another at egress, before transmission. At ingress, Weighted Round Robin (WRR) scheduling is used and at egress strict priority scheduling is used.
  • WRR Weighted Round Robin
  • the data manager 50 is connected to an AALs (ATM Adaptation Layers—upper layers of ATM) or other ATM ports to receive ATM cells.
  • AALs ATM Adaptation Layers—upper layers of ATM
  • the received data cells are placed into respective class queues.
  • the data manager includes a CBR class queue 52 , an rt-VBR class queue 54 , a nrt-VBR class queue 56 and an UBR class queue 58 .
  • a WRR scheduler 60 receives the data cells from the class queues 52 , 54 and 56 based on weights assigned to each of the classes.
  • the CBR, rt-VBR and nrt-VBR class queues 52 , 54 and 56 are assigned weights of 4, 3 and 1 respectively so that the CBR class queue 52 is serviced four out of eight times, the rt-VBR class queue 54 is serviced three out of eight times and the nrt-VBR class queue 56 is serviced one out of eight times.
  • the WRR scheduler 60 is connected to a shaper enqueue engine 62 .
  • the shaper enqueue engine 62 receives the cells dequeued by the WRR scheduler 60 and shapes them by placing the cells in various queues. It should be understood that the shaper enqueue engine 62 receives not just cells of data, but also their associated VC and QoS data.
  • the enqueue engine 62 is connected to a plurality of CBR shaper queues 64 , a plurality of rt-VBR shaper queues 66 and a plurality of nrt-VBR shaper queues 68 .
  • the enqueue engine 62 maintains and manages the different sets of shaper queues for each class (except UBR class) with a simple tail drop mechanism and protects queue availability for conformant cells using thresholds.
  • the enqueue engine 62 determines the shaper queue to be used for the cell with a modified GCRA ( FIG. 3 ) as described above.
  • the shaper queues 64 , 66 and 68 and the UBR class queue 58 are connected to a PRR scheduler 70 that schedules cells from the shaper queues 64 , 66 and 68 and the UBR class queue 58 based on the class priority.
  • the present invention also provides a method of managing ATM cell data received at a data port.
  • the received data is analyzed with an enqueue engine, like the enqueue engines 12 and 62 using a modified generic cell rate algorithm (GCRA) as shown in FIG. 3 .
  • GCRA modified generic cell rate algorithm
  • the analyzed data is placed into one of a plurality of per-class shaper queues 14 , 16 and 18 and the cell data stored in the per-class shaper queues is scheduled for transmission using a weighted/priority round robin algorithm, such as the one implemented by the scheduler 20 .
  • the plurality of per-class shaper queues includes at least one CBR class queue, at least one rt-VBR class queue and at least one non-real time variable bit rate nrt-VBR class queue.
  • n shaper queues of size ‘s’, where n and s are different for each class depending on granularity and a total number of queues available.
  • Each shaper queue 14 , 16 , 18 and 26 within a class is serviced cyclically for ‘s’ ticks in a cycle of n*s ticks.
  • a traffic manager in accordance with the present invention needs just one timer and scans only one queue per-class during each cell time period, which makes the traffic manager computationally efficient, simple and scalable.
  • the present invention uses relatively simple to implement algorithms like the modified GCRA to determine the shaper queue for en-queuing cells and weighted or priority round robin scheduling for de-queuing cells from the shaper queues.
  • Different sets of shaper queues for CBR, rt-VBR and nrt-VBR traffic classes are used and the scheduler dequeues cells from these sets of queues in weighted/prioritized fashion, which provides class isolation and prioritization.
  • Cell Delay Variation is controlled with ‘n’, shaper queues, ‘s’ (queue length—number of cells that a queue can hold) and ‘Ts’ (time space between queues) for each class.
  • the shaping decision is based on GCRA and cells arriving in burst are placed in appropriate shaping queues, as opposed to using an overflow queue.
  • a data traffic manager can be used to manage other types of data besides ATM, such as variable size IP data. It is understood, therefore, that this invention is not limited to the particular embodiments disclosed, but covers modifications within the spirit and scope of the present invention as defined by the appended claims.

Abstract

A data traffic manager includes a time-spaced round robin (TSRR) scheduler and an enqueue engine. The enqueue engine is connected to an ATM data port and receives cells of data and determines whether the cell data is one of conformant and non-conformant. The data is placed into one of a plurality of per-class shaper queues that are spaced generally equally in time. A conformant cell is queued to a currently served queue and a non-conformant cell is shaped based on a cell delay time. The TSRR scheduler schedules cells of data from the shaper queues for transmission using a time-spaced round robin algorithm.

Description

    BACKGROUND OF THE INVENTION
  • The present invention relates to a method and apparatus for data traffic management and, more particularly, to a time-spaced traffic management system for ATM data that uses per-class queues.
  • The growth and popularity of the Internet has led to tremendous amounts of data (voice, video, etc.) being transmitted from point to point and between servers. Multimedia and other high-bandwidth applications support Asynchronous Transfer Mode (ATM), which supports a wide variety of services and applications. An ATM network should be capable of providing differentiated Quality of Service (QoS) to these services and applications. Traffic Management protects the network and the end systems from congestion and promotes efficient use of network resources. Generic functions such as Connection Admission Control, Feedback Control, Usage Parameter Control, Cell Loss Priority Control, Traffic Shaping, Network Resource Management and Frame Discard are provided to facilitate efficient traffic management.
  • An ATM multiplexer connects different user devices (for example, DS1, DS3, T1/E1, Ethernet) then translates the protocols to ATM cell format and multiplexes the cells into a UNI interface (OC-3 c or DS3 PLCP). The UNI interface may connect to the ATM switch. The combination of interfaces and services presents a difficult challenge to multiplexer implementation. The interface between the multiplexer and the network should support statistical multiplexing, traffic management, cell buffering, cell queuing, priority schemes, and fairness algorithms in accordance with data transmission standards. Traditional approaches require separate hardware and general purpose CPUs for each interface type and protocol, which results in many individual designs and limited reuse of software.
  • Conventional shaping and scheduling algorithms used for ATM traffic management involve per-VC (Virtual Connection) queues. Such per-VC queues are processed with multi-level scheduling (two or more, for example, one for ATM classes and one for VCs) and shaping mechanisms. Typical shaping and scheduling algorithms include GCRA (Generic Cell Rate Algorithm), Priority Scheduling, WFQ, Scoreboard Scheduling, Fair Share Scheduling, Timestamp Scheduling, etc. However, per-VC queue processing requires a lot of computational resources and as such, is typically done in hardware.
  • Per-VC queuing and multi-level scheduling involves as many queues as the number of VCs and all of the queues must be scanned for each cell transmission. The larger the number of VCs, the larger the number of scans, making the processing complex and requiring an increasing amount of computing resources. Hence, some implementations compromise on the number of VCs that can be supported. Other implementations use two-dimensional timing chains that need frequent chain manipulations adding to computational overheads. Timestamp based scheduling mechanisms need a plurality of timers running at various time granularities making timer management complex. Some prioritized queue shaping mechanisms treat different classes of traffic alike. Some fair share schedulers perform round robin scheduling across VCs, however, do not distinguish between different classes of traffic.
  • One proposed method replaces per-VC shaping queues that must be processed during each cell-emission period with a sequence of shaping queues shared by a plurality of virtual circuits only one of which must be processed during each cell-emission period. However, queuing cells of different VCs/classes to the shaper queues and scheduling of the shaper queues is quite complex. A cell arriving late causes designation of serving queues of all the VCs to be shifted, the impact of which is not clear. Also, for variable-bit-rate VCs, an additional overflow queue is required.
  • It would be desirable to provide a method and apparatus that performs efficient and cost-effective traffic management. It further would be desirable to have a traffic management process that does not cause defects.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The following detailed description of preferred embodiments of the invention, will be better understood when read in conjunction with the appended drawings. For the purpose of illustrating the invention, there is shown in the drawings embodiments that are presently preferred. It should be understood, however, that the invention is not limited to the precise arrangement and instrumentalities shown. In the drawings:
  • FIG. 1 is block diagram of a data traffic manager in accordance with an embodiment of the present invention;
  • FIG. 2 is a block diagram of another data traffic manager in accordance with an embodiment of the present invention; and
  • FIG. 3 is a flow chart illustrating a modified generic cell rate algorithm of a data traffic manager in accordance with an embodiment of the present invention.
  • DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
  • The detailed description set forth below in connection with the appended drawings is intended as a description of the presently preferred embodiment of the invention, and is not intended to represent the only form in which the present invention may be practiced. It is to be understood that the same or equivalent functions may be accomplished by different embodiments that are intended to be encompassed within the spirit and scope of the invention. As will be understood by those of skill in the art, the present invention can be applied to various packages and package types. In the drawings, like numerals are used to indicate like elements throughout.
  • The present invention is a data traffic manager that uses a time spaced round robin (TSRR) scheduler. The TSRR scheduler uses just per-class queues and avoids the use of per-VC queues and their associated complex processing. The TSRR algorithm is computationally efficient as it uses a modified GCRA and simple round robin mechanisms for processing the class queues. The TSRR scheduler significantly reduces the resources required, both processing and memory, thereby reducing the overall cost of ATM Traffic Management.
  • In one embodiment, the present invention is a data traffic manager having an enqueue engine connected to at least one port for receiving cells of data and a plurality of per-class shaper queues connected to the enqueue engine that receive respective cells of data from the enqueue engine. The shaper queues are spaced generally equally in time. The enqueue engine determines whether a cell of data is one of conformant and non-conformant. A conformant cell is queued to a currently served queue and a non-conformant cell is shaped based on a cell delay time. A time spaced round robin (TSRR) scheduler connected to the plurality of per-class queues schedules cells of data from the shaper queues for transmission.
  • In another embodiment, the present invention is a data traffic manager that receives cell data of various class types from one or more data ports. The traffic manager includes a plurality of per-class queues connected to the one or more data ports, wherein at least one per-class queue is provided for each class of cell data and cell data from each class is queued in its respective queue. A first scheduler is connected to the plurality of per-class queues for scheduling the cell data and associated virtual connection (VC) traffic and Quality of Service (QoS) parameters. A shaper enqueue engine is connected to the first scheduler for managing the cells and their associated VC and QoS data. A plurality of per-class shaper queues are connected to the enqueue engine. The per-class shaper queues receive and queue respective cells and their associated data managed by the enqueue engine. At least one shaper queue is provided for each class. A second scheduler is connected to the plurality of per-class shaper queues for scheduling cells of data from the shaper queues for transmission. A timer is connected to the second scheduler and provides timing information thereto
  • In yet another embodiment, the present invention provides a method of managing ATM data traffic, comprising the steps of:
  • receiving ATM cell data from a data port;
  • analyzing the received data with an enqueue engine using a modified generic cell rate algorithm (GCRA);
  • placing the analyzed cell data into one of a plurality of per-class shaper queues; and
  • scheduling the cell data stored in the per-class shaper queues for transmission using a weighted/priority round robin algorithm.
  • Referring now to FIG. 1, a functional block diagram of a data traffic manager 10 in accordance with an embodiment of the present invention is shown. The data traffic manager 10 includes an enqueue engine 12, a plurality of per- class shaper queues 14, 16 and 18, a scheduler 20 and a timer 22. The enqueue engine 12 is connected to at least one port 24 for receiving cells of data. In the embodiment shown, the port comprises ATM Adaptation Layers (AAL) or other ATM ports. The enqueue engine 12 receives constant bit rate (CBR), real time-variable bit rate (rt-VBR) and non-real time variable bit rate (nrt-VBR) cells of data via the port 24. As understood by those of skill in the art, the difference between rt-VBR and nrt-VBR is the QoS parameters that they specify. rt-VBR specifies the same QoS parameters as CBR, i.e., cell loss ratio, peak-to-peak cell delay variation and maximum cell transfer delay, while nrt-VBR specifies only CLR as a QoS parameter. The enqueue engine 12 may also receive unspecified bit rate (UBR) cells of data. The enqueue engine 12 determines whether a cell of data is either conformant or non-conformant using a GCRA or preferably, a modified GCRA, such as the modified GCRA shown in FIG. 3. A conformant data cell is queued to a currently served queue or the queue that is going to be served next if the current queue is full so that the conformant cell gets transmitted right away. For a non-conformant cell, the enqueue engine 12 determines whether the non-conformant cell has to be dropped or shaped based on how long the non-conformant cell has to be delayed to make it conformant and hence ready for transmission.
  • The plurality of per- class shaper queues 14, 16 and 18 are connected to the enqueue engine 12 and receive respective cells of data from the enqueue engine 12. The plurality of per-class shaper queues includes at least one CBR class queue 14, at least one rt-VBR class queue 16 and at least one non-real time variable bit rate nrt-VBR class queue 18. Preferably, each class queue 14, 16 and 18 includes a plurality of such queues. For example, the CBR class queue 14 could comprise thirty-two (32) queues such that each CBR class queue can hold about thirty-two cells of data. The rt-VBR and nrt- VBR shaper queues 16 and 18 may include a similar number of similarly sized queues. The data traffic manager 10 preferably also includes a UBR class queue 26 for UBR data.
  • The scheduler 20 is connected to the plurality of per- class shaper queues 14, 16 and 18 and the UBR class queue 26 for scheduling cells of data from the shaper queues 14, 16, 18 and 26 for transmission. The scheduler 20 is preferably a time spaced round robin (TSRR) scheduler and in this embodiment, performs scheduling based on predetermined weight and/or priority values for each class, as well as timing information generated by the timer 22.
  • More particularly, for each class (CBR, rt-VBR and nrt-VBR), there are ‘n’ shaper queues of size ‘s’ (queue length—number of cells that a queue can hold), where n and s may be different for each class depending on granularity and a total number of queues available. The shaper queues 14, 16, 18 and 26 are spaced generally equally in time with ‘Ts’ as a quantum of time where Ts=s*Tc (cell time). The timer 22, which is connected to the scheduler 20, generates ticks for the cell time Tc. For example, for OC-3c, 1 cell time Tc is about 2.8 μs. Put another way, each shaper queue within a class is serviced cyclically for s ticks in a cycle of n*s ticks.
  • The shaper queues 14, 16, 18 and 26 are serviced cyclically for ‘Ts’ duration and for each cell transmission only one queue from each class is scanned. For each tick Tc (cell time), W/P RR (Weighted/Priority Round-Robin) scheduler 20 scans currently served queues (one from each class) based on class weight/priority. In case of priority round robin, all the cells in the CBR queue 14 are scheduled before the rt-VBR queue 16 and all cells in the rt-VBR queue 16 are scheduled before the nrt-VBR queue 18. Cells from the UBR class queue 26 are scheduled only when there are no cells to be scheduled from the other class queues 14, 16, and 18. In the case of weighted round robin, the CBR queue 14 is serviced Wcbr times, the rt-VBR queue 16 is serviced Wrt-VBR times, the nrt-VBR queue 18 is serviced Wnrt-VBR times and the UBR queue 26 is serviced Wu times, where W is a weight value.
  • Shaping is basically delaying the transmission of a cell by placing the cell in the appropriate shaper queue. While the scheduler 20 schedules cells from the shaper queues 14, 16, 18 and 26 for transmission, the enqueue engine 12 manages the shaper queues 14, 16 and 18 (but not the UBR queue 26). The time the cell has to be delayed is the difference between the current time and the time at which the cell should be transmitted. If this difference exceeds a predetermined value (referred to as maxCTD in FIG. 3), in one embodiment of the invention, the cell is immediately dropped. The shaper queue to be used for delaying the cell is determined based on the time difference and the queue that is currently being served. The cell is queued to the respective shaper queue based on queue thresholds. The cell is dropped or discarded if the shaper queue is above the non-conformant threshold of the class.
  • Referring now to FIG. 3, a flow chart of a modified GCRA used by the enqueue engine 12 is shown. As mentioned above, in this embodiment the enqueue engine 12 manages the shaper queues 14, 16 and 18 with a threshold tail drop mechanism and protects queue availability for conformant cells. Step 30 indicates the arrival of a cell k at a time ta(k). At step 32, the time at which the cell is to be sent or transmitted (Time_to_send) is determined as TAT-L, where TAT is a theoretical arrival time and L is a limit value. TAT can have an initial value of current time. For CBR, L is equal to CDVT (Cell Delay Variation Tolerance) and for rt-VBR and nrt-VBR, L is equal to BT (burst tolerance)+CDVT, where, BT=(MBS−1)*(1/SCR−1/PCR). MBS is maximum burst size; SCR is sustainable cell rate; and PCR is peak cell rate. At step 34, the calculated time to send is compared to the cell arrival time ta(k). If the time to send is not greater than the arrival time, then the cell is a conforming cell and the algorithm proceeds to step 36, where it is queued in the currently served queue for transmission. Step 38 follows step 36. At step 38, TAT is compared to ta(k). If TAT is less than ta(k), then at step 40, TAT is set to the value of ta(k) and at step 42 TAT is incremented by I (the increment value I equals 1/PCR for CBR, and 1/SCR for rt-VBR and nrt-VBR). On the other hand, if TAT is not less than ta(k), then TAT is incremented by I at step 42. At step 34, if the time to send is greater than ta(k), then the algorithm proceeds to step 44 to determine the time that the cell has to be delayed. At step 44, the time to send less the arrival time ta(k) is compared to a predetermined maximum value (maxCTD) and if the difference is greater than maxCTD, then the cell is dropped at step 48. If the difference is not greater than maxCTD, then the algorithm proceeds to step 46. At step 46, the shaper queue to which the cell is queued (Qe) is determined as Qe=(Qc+Time_to_send−ta(k)+Qc—time_elapsed/s) modulo n. After the shaper queue Qe is determined, TAT is incremented by I, at step 42 and then the next received data cell is processed.
  • Several implementations of the data traffic manager in accordance with the present invention are possible. However, the concepts and fundamental blocks like modified GCRA, enqueue engine, round-robin schedulers remain the same. Referring now to FIG. 2, another embodiment of a data manager 50 in accordance with the present invention is shown. The data manager 50 may be implemented using a RISC processor, such as a Motorola C-Port Network processor. The data manager 50 has two levels of scheduling, one at ingress, before shaping, and another at egress, before transmission. At ingress, Weighted Round Robin (WRR) scheduling is used and at egress strict priority scheduling is used.
  • Like the data manager 10 in FIG. 1, the data manager 50 is connected to an AALs (ATM Adaptation Layers—upper layers of ATM) or other ATM ports to receive ATM cells. The received data cells are placed into respective class queues. Accordingly, the data manager includes a CBR class queue 52, an rt-VBR class queue 54, a nrt-VBR class queue 56 and an UBR class queue 58. A WRR scheduler 60 receives the data cells from the class queues 52, 54 and 56 based on weights assigned to each of the classes. In one embodiment, the CBR, rt-VBR and nrt- VBR class queues 52, 54 and 56 are assigned weights of 4, 3 and 1 respectively so that the CBR class queue 52 is serviced four out of eight times, the rt-VBR class queue 54 is serviced three out of eight times and the nrt-VBR class queue 56 is serviced one out of eight times.
  • The WRR scheduler 60 is connected to a shaper enqueue engine 62. The shaper enqueue engine 62 receives the cells dequeued by the WRR scheduler 60 and shapes them by placing the cells in various queues. It should be understood that the shaper enqueue engine 62 receives not just cells of data, but also their associated VC and QoS data. Like the enqueue engine 12, the enqueue engine 62 is connected to a plurality of CBR shaper queues 64, a plurality of rt-VBR shaper queues 66 and a plurality of nrt-VBR shaper queues 68. Also like the enqueue engine 12, the enqueue engine 62 maintains and manages the different sets of shaper queues for each class (except UBR class) with a simple tail drop mechanism and protects queue availability for conformant cells using thresholds. The enqueue engine 62 determines the shaper queue to be used for the cell with a modified GCRA (FIG. 3) as described above. The shaper queues 64, 66 and 68 and the UBR class queue 58 are connected to a PRR scheduler 70 that schedules cells from the shaper queues 64, 66 and 68 and the UBR class queue 58 based on the class priority. Shaper queues within a class are serviced cyclically based on a timer tick Tc generated by the timer 22 and time spacing between queues (Ts=s*Tc) and across classes, a strict priority scheduling is used. That is, all cells in currently serviced CBR queue 64 are scheduled before rt-VBR queue 66 and all cells in currently served rt-VBR queue 66 are scheduled before nrt-VBR queue 68. Cells belonging to the UBR class and stored in the UBR class queue 58 are not shaped and are scheduled only when there are no cells in the other class queues.
  • In addition to the data traffic managers 10 and 50 discussed above, the present invention also provides a method of managing ATM cell data received at a data port. In the method, the received data is analyzed with an enqueue engine, like the enqueue engines 12 and 62 using a modified generic cell rate algorithm (GCRA) as shown in FIG. 3. The analyzed data is placed into one of a plurality of per- class shaper queues 14, 16 and 18 and the cell data stored in the per-class shaper queues is scheduled for transmission using a weighted/priority round robin algorithm, such as the one implemented by the scheduler 20. For an ATM traffic manager, the plurality of per-class shaper queues includes at least one CBR class queue, at least one rt-VBR class queue and at least one non-real time variable bit rate nrt-VBR class queue. Preferably however, for each class there are ‘n’ shaper queues of size ‘s’, where n and s are different for each class depending on granularity and a total number of queues available. Each shaper queue 14, 16, 18 and 26 within a class is serviced cyclically for ‘s’ ticks in a cycle of n*s ticks.
  • A traffic manager in accordance with the present invention needs just one timer and scans only one queue per-class during each cell time period, which makes the traffic manager computationally efficient, simple and scalable. As compared to prior art data traffic shapers, the present invention uses relatively simple to implement algorithms like the modified GCRA to determine the shaper queue for en-queuing cells and weighted or priority round robin scheduling for de-queuing cells from the shaper queues. Different sets of shaper queues for CBR, rt-VBR and nrt-VBR traffic classes are used and the scheduler dequeues cells from these sets of queues in weighted/prioritized fashion, which provides class isolation and prioritization. Further, Cell Delay Variation is controlled with ‘n’, shaper queues, ‘s’ (queue length—number of cells that a queue can hold) and ‘Ts’ (time space between queues) for each class. It should also be noted that according to the present invention, the shaping decision is based on GCRA and cells arriving in burst are placed in appropriate shaping queues, as opposed to using an overflow queue.
  • The description of the preferred embodiments of the present invention have been presented for purposes of illustration and description, but are not intended to be exhaustive or to limit the invention to the forms disclosed. It will be appreciated by those skilled in the art that changes could be made to the embodiments described above without departing from the broad inventive concept thereof. For example, a data traffic manager can be used to manage other types of data besides ATM, such as variable size IP data. It is understood, therefore, that this invention is not limited to the particular embodiments disclosed, but covers modifications within the spirit and scope of the present invention as defined by the appended claims.

Claims (30)

1. A data traffic manager, comprising:
an enqueue engine connected to at least one port for receiving cells of data, wherein the enqueue engine determines whether a cell of data is one of conformant and non-conformant;
a plurality of per-class shaper queues connected to the enqueue engine that receive respective cells of data from the enqueue engine, wherein the shaper queues are spaced generally equally in time and wherein a conformant cell is queued to a currently served queue and a non-conformant cell is shaped based on a cell delay time; and
a time spaced round robin (TSRR) scheduler connected to the plurality of per-class queues for scheduling cells of data from the shaper queues for transmission.
2. The data traffic manager of claim 1, wherein the enqueue engine is connected to at least one ATM port.
3. The data traffic manager of claim 2, wherein the enqueue engine receives constant bit rate (CBR) cells, real time-variable bit rate (rt-VBR) cells and non-real time variable bit rate (nrt-VBR) cells.
4. The data traffic manager of claim 3, wherein the plurality of per-class shaper queues includes at least one CBR class queue, at least one rt-VBR class queue and at least one non-real time variable bit rate nrt-VBR class queue.
5. The data traffic manager of claim 4, wherein for each class, there are ‘n’ shaper queues of size ‘s’, wherein n and s are different for each class depending on a granularity and a total number of queues available.
6. The data traffic manager of claim 5, wherein each shaper queue within a class is serviced cyclically for ‘s’ ticks in a cycle of n*s ticks.
7. The data traffic manager of claim 6, wherein between classes, the TSRR scheduler performs scheduling based on predetermined weight and priority values for each class.
8. The data traffic manager of claim 4, wherein the plurality of per-class shaper queues includes a UBR class queue.
9. The data traffic manager of claim 8, further comprising a timer connected to the TSRR scheduler for providing timing information thereto.
10. The data traffic manager of claim 9, wherein the TSRR scheduler schedules cells from the shaper queues and the UBR class queue based on predetermined weight and priority values and timing information generated by the timer.
11. The data traffic manager of claim 9, wherein the enqueue engine manages the shaper queues with a threshold tail drop mechanism and protects queue availability for conformant cells.
12. The data traffic manager of claim 11, wherein the enqueue engine discards a cell that has to be delayed beyond a predetermined time period.
13. The data traffic manager of claim 9, wherein the enqueue engine discards a cell when the shaper queue thereof exceeds a predetermined threshold value.
14. The data traffic manager of claim 9, wherein the enqueue engine determines a shaper queue to be used for a data cell via a generic cell rate algorithm (GCRA).
15. The data traffic manager of claim 9, wherein the enqueue engine determines a shaper queue to be used for a data cell via a modified generic cell rate algorithm (GCRA).
16. A data traffic manager that receives cell data of various class types from one or more data ports, the traffic manager comprising:
a plurality of per-class queues connected to the one or more data ports, wherein at least one per-class queue is provided for each class of cell data and cell data from each class is queued in its respective queue;
a first scheduler connected to the plurality of per-class queues for scheduling the cell data and associated virtual connection (VC) traffic and Quality of Service (QoS) parameters;
a shaper enqueue engine connected to the first scheduler for managing the cells and their associated VC and QoS data;
a plurality of per-class shaper queues connected to the enqueue engine that receive and queue respective cells and their associated data managed by the enqueue engine, wherein at least one shaper queue is provided for each class;
a timer for generating timing information; and
a second scheduler, connected to the plurality of per-class shaper queues and the timer, for scheduling cells of data from the shaper queues for transmission.
17. The data traffic manager of claim 16, wherein the first scheduler schedules the cell data and associated VC and QoS parameters from the per-class queues using a weighted round robin algorithm.
18. The data traffic manager of claim 17, wherein the shaper enqueue engine determines which shaper queue is to be used for queuing cell data using a modified generic cell rate algorithm (GCRA).
19. The data traffic manager of claim 18, wherein the shaper enqueue engine manages the shaper queues with a threshold tail drop mechanism.
20. The data traffic manager of claim 19, wherein the shaper enqueue engine discards cell data that has to be delayed beyond a predetermined time limit.
21. The data traffic manager of claim 18, wherein the second scheduler schedules the cell data from the per-class shaper queues based on a class weight and priority algorithm.
22. The data traffic manager of claim 21, wherein the shaper enqueue engine manages the shaper queues within a class cyclically using the timing information generated by the timer.
23. The data traffic manager of claim 22, wherein the shaper enqueue engine manages the shaper queues such that between classes, scheduling is performed on a class priority basis.
24. The data traffic manager of claim 16, wherein the plurality of per-class queues includes constant bit rate (CBR), real time variable bit rate (rt-VBR), non-real time variable bit rate (nrt-VBR), and unspecified bit rate (UBR) class queues.
25. The data traffic manager of claim 24, wherein the plurality of per-class shaper queues includes CBR, rt-VBR, and nrt-VBR class queues.
26. A method of managing ATM data traffic, comprising the steps of:
receiving ATM cell data from a data port;
analyzing the received data with an enqueue engine using a modified generic cell rate algorithm (GCRA);
placing the analyzed cell data into one of a plurality of per-class shaper queues; and
scheduling the cell data stored in the per-class shaper queues for transmission using a weighted priority round robin algorithm.
27. The method of managing ATM data traffic of claim 25, wherein plurality of per-class shaper queues includes at least one CBR class queue, at least one rt-VBR class queue and at least one non-real time variable bit rate nrt-VBR class queue.
28. The method of managing ATM data traffic of claim 26, wherein for each class, there are ‘n’ shaper queues of size ‘s’, wherein n and s are different for each class depending on a granularity and a total number of queues available.
29. The method of managing ATM data traffic of claim 27, wherein each shaper queue within a class is serviced cyclically for ‘s’ ticks in a cycle of n*s ticks.
30. The method of managing ATM data traffic of claim 28, wherein the plurality of per-class shaper queues includes a UBR class queue.
US10/649,924 2003-08-28 2003-08-28 Data traffic manager and method therefor Abandoned US20050047415A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/649,924 US20050047415A1 (en) 2003-08-28 2003-08-28 Data traffic manager and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/649,924 US20050047415A1 (en) 2003-08-28 2003-08-28 Data traffic manager and method therefor

Publications (1)

Publication Number Publication Date
US20050047415A1 true US20050047415A1 (en) 2005-03-03

Family

ID=34217041

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/649,924 Abandoned US20050047415A1 (en) 2003-08-28 2003-08-28 Data traffic manager and method therefor

Country Status (1)

Country Link
US (1) US20050047415A1 (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020044529A1 (en) * 1995-10-11 2002-04-18 Natalie Giroux Fair queue servicing using dynamic weights (DWFQ)
US20050249220A1 (en) * 2004-05-05 2005-11-10 Cisco Technology, Inc. Hierarchical QoS behavioral model
US20060029079A1 (en) * 2004-08-05 2006-02-09 Cisco Technology, Inc. A California Corporation Pipeline scheduler including a hierarchy of schedulers and multiple scheduling lanes
US20070047553A1 (en) * 2005-08-25 2007-03-01 Matusz Pawel O Uplink scheduling in wireless networks
US20070070895A1 (en) * 2005-09-26 2007-03-29 Paolo Narvaez Scaleable channel scheduler system and method
US20070140122A1 (en) * 2005-12-21 2007-06-21 Murthy Krishna J Increasing cache hits in network processors using flow-based packet assignment to compute engines
US20080112318A1 (en) * 2006-11-13 2008-05-15 Rejean Groleau Traffic shaping and scheduling in a network
US20090064157A1 (en) * 2007-08-30 2009-03-05 International Business Machines Corporation Asynchronous data structure pull application programming interface (api) for stream systems
US20100142524A1 (en) * 2007-07-02 2010-06-10 Angelo Garofalo Application data flow management in an ip network
US7830889B1 (en) * 2003-02-06 2010-11-09 Juniper Networks, Inc. Systems for scheduling the transmission of data in a network device
CN102420747A (en) * 2011-11-17 2012-04-18 清华大学 Service source shaping method based on date packet achieving interval wave filtration
US20150063107A1 (en) * 2013-08-29 2015-03-05 Calix, Inc. System and method for automated quality of service configuration through the access network
US9031079B1 (en) * 2004-08-06 2015-05-12 Juniper Networks, Inc. Hierarchical shaping of network traffic
WO2015187946A1 (en) * 2014-06-05 2015-12-10 KEMP Technologies Inc. Adaptive load balancer and methods for intelligent data traffic steering
US9917781B2 (en) 2014-06-05 2018-03-13 KEMP Technologies Inc. Methods for intelligent data traffic steering
CN113612700A (en) * 2021-08-12 2021-11-05 北京邮电大学 Low-delay zero-jitter mixed time-sensitive traffic scheduling method and device
CN116755779A (en) * 2023-08-18 2023-09-15 腾讯科技(深圳)有限公司 Method, device, equipment, storage medium and chip for determining cycle interval

Citations (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5515363A (en) * 1994-06-30 1996-05-07 Digital Equipment Corporation Traffic shaping system with transmit latency feedback for asynchronous transfer mode networks
US5719865A (en) * 1994-12-08 1998-02-17 Nec Corporation Traffic shaping method and apparatus for ATM switching unit
US5724513A (en) * 1994-06-30 1998-03-03 Digital Equipment Corporation Traffic shaping system for asynchronous transfer mode networks
US5850399A (en) * 1997-04-04 1998-12-15 Ascend Communications, Inc. Hierarchical packet scheduling method and apparatus
US5898669A (en) * 1996-03-22 1999-04-27 Shimony; Ilan ATM traffic management device
US5974033A (en) * 1996-09-06 1999-10-26 Nec Corporation Dynamic shaping apparatus of traffic of ATM network
US5999515A (en) * 1996-12-06 1999-12-07 Nec Corporation Method and apparatus for shaping processing in which discard of ATM cell effectively performed
US6005866A (en) * 1996-12-02 1999-12-21 Conexant Systems, Inc. Scheduler utilizing dynamic schedule table
US6104700A (en) * 1997-08-29 2000-08-15 Extreme Networks Policy based quality of service
US6144637A (en) * 1996-12-20 2000-11-07 Cisco Technology, Inc. Data communications
US6163542A (en) * 1997-09-05 2000-12-19 Carr; David Walter Virtual path shaping
US6195333B1 (en) * 1996-10-28 2001-02-27 Fujitsu Network Communications, Inc. Unframed isochronous shaping method to reduce delay and delay variation in a CBR transmission system
US6198723B1 (en) * 1998-04-14 2001-03-06 Paxonet Communications, Inc. Asynchronous transfer mode traffic shapers
US6229788B1 (en) * 1998-05-27 2001-05-08 Nortel Networks Limited Method and apparatus for traffic shaping in a broadband fiber-based access system
US6266324B1 (en) * 1997-04-23 2001-07-24 Nec Corporation ATM device and shaping method
US6389019B1 (en) * 1998-03-18 2002-05-14 Nec Usa, Inc. Time-based scheduler architecture and method for ATM networks
US6438134B1 (en) * 1998-08-19 2002-08-20 Alcatel Canada Inc. Two-component bandwidth scheduler having application in multi-class digital communications systems
US6574220B1 (en) * 1999-07-06 2003-06-03 Avaya Technology Corp. Traffic shaper that accommodates maintenance cells without causing jitter or delay
US6621792B1 (en) * 1999-02-23 2003-09-16 Avaya Technology Corp. Computationally-efficient traffic shaper
US20040196788A1 (en) * 2003-04-02 2004-10-07 Sandeep Lodha Customer-specific traffic shaping
US20050010676A1 (en) * 2003-06-30 2005-01-13 Muthaiah Venkatachalam Time-based transmission queue for traffic management of asynchronous transfer mode virtual circuits on a multi-threaded, multi-processor system
US20050018601A1 (en) * 2002-06-18 2005-01-27 Suresh Kalkunte Traffic management
US6862265B1 (en) * 2000-04-13 2005-03-01 Advanced Micro Devices, Inc. Weighted fair queuing approximation in a network switch using weighted round robin and token bucket filter
US6993040B2 (en) * 1997-06-24 2006-01-31 Alcatel Canada Inc. Adaptive service weight assignments for ATM scheduling
US7161903B2 (en) * 2000-09-01 2007-01-09 Omron Corporation Control station, apparatus and network system

Patent Citations (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724513A (en) * 1994-06-30 1998-03-03 Digital Equipment Corporation Traffic shaping system for asynchronous transfer mode networks
US5515363A (en) * 1994-06-30 1996-05-07 Digital Equipment Corporation Traffic shaping system with transmit latency feedback for asynchronous transfer mode networks
US5719865A (en) * 1994-12-08 1998-02-17 Nec Corporation Traffic shaping method and apparatus for ATM switching unit
US5898669A (en) * 1996-03-22 1999-04-27 Shimony; Ilan ATM traffic management device
US5974033A (en) * 1996-09-06 1999-10-26 Nec Corporation Dynamic shaping apparatus of traffic of ATM network
US6195333B1 (en) * 1996-10-28 2001-02-27 Fujitsu Network Communications, Inc. Unframed isochronous shaping method to reduce delay and delay variation in a CBR transmission system
US6005866A (en) * 1996-12-02 1999-12-21 Conexant Systems, Inc. Scheduler utilizing dynamic schedule table
US5999515A (en) * 1996-12-06 1999-12-07 Nec Corporation Method and apparatus for shaping processing in which discard of ATM cell effectively performed
US6144637A (en) * 1996-12-20 2000-11-07 Cisco Technology, Inc. Data communications
US5850399A (en) * 1997-04-04 1998-12-15 Ascend Communications, Inc. Hierarchical packet scheduling method and apparatus
US6266324B1 (en) * 1997-04-23 2001-07-24 Nec Corporation ATM device and shaping method
US6993040B2 (en) * 1997-06-24 2006-01-31 Alcatel Canada Inc. Adaptive service weight assignments for ATM scheduling
US6104700A (en) * 1997-08-29 2000-08-15 Extreme Networks Policy based quality of service
US6163542A (en) * 1997-09-05 2000-12-19 Carr; David Walter Virtual path shaping
US6389019B1 (en) * 1998-03-18 2002-05-14 Nec Usa, Inc. Time-based scheduler architecture and method for ATM networks
US6198723B1 (en) * 1998-04-14 2001-03-06 Paxonet Communications, Inc. Asynchronous transfer mode traffic shapers
US7002916B2 (en) * 1998-04-14 2006-02-21 Conexant Systems, Inc. Asynchronous transfer mode traffic shapers
US6229788B1 (en) * 1998-05-27 2001-05-08 Nortel Networks Limited Method and apparatus for traffic shaping in a broadband fiber-based access system
US6438134B1 (en) * 1998-08-19 2002-08-20 Alcatel Canada Inc. Two-component bandwidth scheduler having application in multi-class digital communications systems
US6621792B1 (en) * 1999-02-23 2003-09-16 Avaya Technology Corp. Computationally-efficient traffic shaper
US6574220B1 (en) * 1999-07-06 2003-06-03 Avaya Technology Corp. Traffic shaper that accommodates maintenance cells without causing jitter or delay
US6862265B1 (en) * 2000-04-13 2005-03-01 Advanced Micro Devices, Inc. Weighted fair queuing approximation in a network switch using weighted round robin and token bucket filter
US7161903B2 (en) * 2000-09-01 2007-01-09 Omron Corporation Control station, apparatus and network system
US20050018601A1 (en) * 2002-06-18 2005-01-27 Suresh Kalkunte Traffic management
US20040196788A1 (en) * 2003-04-02 2004-10-07 Sandeep Lodha Customer-specific traffic shaping
US20050010676A1 (en) * 2003-06-30 2005-01-13 Muthaiah Venkatachalam Time-based transmission queue for traffic management of asynchronous transfer mode virtual circuits on a multi-threaded, multi-processor system

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7023866B2 (en) * 1995-10-11 2006-04-04 Alcatel Canada Inc. Fair queue servicing using dynamic weights (DWFQ)
US20020044529A1 (en) * 1995-10-11 2002-04-18 Natalie Giroux Fair queue servicing using dynamic weights (DWFQ)
US7830889B1 (en) * 2003-02-06 2010-11-09 Juniper Networks, Inc. Systems for scheduling the transmission of data in a network device
US20110019544A1 (en) * 2003-02-06 2011-01-27 Juniper Networks, Inc. Systems for scheduling the transmission of data in a network device
US20050249220A1 (en) * 2004-05-05 2005-11-10 Cisco Technology, Inc. Hierarchical QoS behavioral model
US7675926B2 (en) * 2004-05-05 2010-03-09 Cisco Technology, Inc. Hierarchical QoS behavioral model
US20060029079A1 (en) * 2004-08-05 2006-02-09 Cisco Technology, Inc. A California Corporation Pipeline scheduler including a hierarchy of schedulers and multiple scheduling lanes
US7876763B2 (en) * 2004-08-05 2011-01-25 Cisco Technology, Inc. Pipeline scheduler including a hierarchy of schedulers and multiple scheduling lanes
US9363186B2 (en) 2004-08-06 2016-06-07 Juniper Networks, Inc. Hierarchical shaping of network traffic
US9031079B1 (en) * 2004-08-06 2015-05-12 Juniper Networks, Inc. Hierarchical shaping of network traffic
US20070047553A1 (en) * 2005-08-25 2007-03-01 Matusz Pawel O Uplink scheduling in wireless networks
US20070070895A1 (en) * 2005-09-26 2007-03-29 Paolo Narvaez Scaleable channel scheduler system and method
US7675928B2 (en) * 2005-12-15 2010-03-09 Intel Corporation Increasing cache hits in network processors using flow-based packet assignment to compute engines
US20070140122A1 (en) * 2005-12-21 2007-06-21 Murthy Krishna J Increasing cache hits in network processors using flow-based packet assignment to compute engines
US20080112318A1 (en) * 2006-11-13 2008-05-15 Rejean Groleau Traffic shaping and scheduling in a network
US8891372B2 (en) * 2007-07-02 2014-11-18 Telecom Italia S.P.A. Application data flow management in an IP network
US9935884B2 (en) * 2007-07-02 2018-04-03 Telecom Italia S.P.A. Application data flow management in an IP network
US20150071073A1 (en) * 2007-07-02 2015-03-12 Telecom Italia S.P.A. Application data flow management in an ip network
US20100142524A1 (en) * 2007-07-02 2010-06-10 Angelo Garofalo Application data flow management in an ip network
US20090064157A1 (en) * 2007-08-30 2009-03-05 International Business Machines Corporation Asynchronous data structure pull application programming interface (api) for stream systems
US8141080B2 (en) * 2007-08-30 2012-03-20 International Business Machines Corporation Asynchronous data structure pull application programming interface (API) for stream systems
CN102420747A (en) * 2011-11-17 2012-04-18 清华大学 Service source shaping method based on date packet achieving interval wave filtration
US9185042B2 (en) * 2013-08-29 2015-11-10 Calix, Inc. System and method for automated quality of service configuration through the access network
US20150063107A1 (en) * 2013-08-29 2015-03-05 Calix, Inc. System and method for automated quality of service configuration through the access network
WO2015187946A1 (en) * 2014-06-05 2015-12-10 KEMP Technologies Inc. Adaptive load balancer and methods for intelligent data traffic steering
US9866487B2 (en) 2014-06-05 2018-01-09 KEMP Technologies Inc. Adaptive load balancer and methods for intelligent data traffic steering
US9917781B2 (en) 2014-06-05 2018-03-13 KEMP Technologies Inc. Methods for intelligent data traffic steering
CN113612700A (en) * 2021-08-12 2021-11-05 北京邮电大学 Low-delay zero-jitter mixed time-sensitive traffic scheduling method and device
CN116755779A (en) * 2023-08-18 2023-09-15 腾讯科技(深圳)有限公司 Method, device, equipment, storage medium and chip for determining cycle interval

Similar Documents

Publication Publication Date Title
US20050047415A1 (en) Data traffic manager and method therefor
CA2247367C (en) Event-driven cell scheduler and method for supporting multiple service categories in a communication network
US5850399A (en) Hierarchical packet scheduling method and apparatus
US6377583B1 (en) Rate shaping in per-flow output queued routing mechanisms for unspecified bit rate service
US7596086B2 (en) Method of and apparatus for variable length data packet transmission with configurable adaptive output scheduling enabling transmission on the same transmission link(s) of differentiated services for various traffic types
US5926459A (en) Rate shaping in per-flow queued routing mechanisms for available bit rate service
US6163542A (en) Virtual path shaping
EP0748086A1 (en) Method for scheduling message cells leaving an ATM node
Lenzini et al. Tradeoffs between low complexity, low latency, and fairness with deficit round-robin schedulers
JPH1084383A (en) Packet scheduling equipment and packet transfer method
GB2324679A (en) Communications cell scheduler
US7471688B2 (en) Scheduling system for transmission of cells to ATM virtual circuits and DSL ports
US6961342B1 (en) Methods and apparatus for switching packets
EP0817433B1 (en) Packet switched communication system and traffic shaping process
CA2371325A1 (en) Scheduler implementing weighted fair queuing by a weight limited first in-first out methodology
US6822939B2 (en) Method and apparatus for guaranteeing a minimum cell rate (MCR) for asynchronous transfer mode (ATM) traffic queues
Lund et al. Fair prioritized scheduling in an input-buffered switch
EP0817431B1 (en) A packet switched communication system
US6449252B1 (en) ATM path cell scheduling for constant and variable bit rate traffic
EP0817434A2 (en) A packet switched communication system and traffic shaping process
Yen et al. Sliding weighted fair queueing scheme for real-time applications
Al-Khasib et al. Mini round robin: an enhanced frame-based scheduling algorithm for multimedia networks
SHIM et al. A simple scheduling algorithm guaranteeing delay bounds in ATM networks
Al-Khasib et al. Fair and efficient frame-based scheduling algorithm for multimedia networks
Gupta et al. Performance Evaluation of ATM Networks with Round Robin and Weighted Round Robin Algorithm

Legal Events

Date Code Title Description
AS Assignment

Owner name: MOTOROLA, INC., ILLINOIS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHANNEGOWDA, RADHAKRISHNA;PAKTI, DHANANJAY S.;REEL/FRAME:014478/0247

Effective date: 20030813

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION