WO2000001120A9 - Cbr/vbr traffic scheduler - Google Patents

Cbr/vbr traffic scheduler

Info

Publication number
WO2000001120A9
WO2000001120A9 PCT/US1999/014268 US9914268W WO0001120A9 WO 2000001120 A9 WO2000001120 A9 WO 2000001120A9 US 9914268 W US9914268 W US 9914268W WO 0001120 A9 WO0001120 A9 WO 0001120A9
Authority
WO
WIPO (PCT)
Prior art keywords
shaper
counter
cnt
cbr
vcs
Prior art date
Application number
PCT/US1999/014268
Other languages
French (fr)
Other versions
WO2000001120A1 (en
Inventor
Simon Chong
Anguo Tony Huang
Ryszard Bleszynski
David A Stelliga
Original Assignee
Softcom Microsystems
Simon Chong
Anguo Tony Huang
Ryszard Bleszynski
David A Stelliga
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 Softcom Microsystems, Simon Chong, Anguo Tony Huang, Ryszard Bleszynski, David A Stelliga filed Critical Softcom Microsystems
Priority to AU47138/99A priority Critical patent/AU4713899A/en
Publication of WO2000001120A1 publication Critical patent/WO2000001120A1/en
Publication of WO2000001120A9 publication Critical patent/WO2000001120A9/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/4608LAN interconnection over ATM networks
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • H04L49/309Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9026Single buffer per packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • 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/5614User Network Interface
    • H04L2012/5617Virtual LANs; Emulation of LANs
    • 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/5679Arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/602Multilayer or multiprotocol switching, e.g. IP switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/323Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the physical layer [OSI layer 1]

Definitions

  • Patent Application No. _/ entitled "SYSTEM AND METHOD
  • Patent Application No. _/ entitled “SYSTEM AND METHOD FOR CONTROLLING A NETWORK PROCESSOR” (Attorney Docket No. 19148- 001300US);
  • Patent Application No. __/___ entitled “MULTI-PROTOCOL CONVERSION ASSISTANCE METHOD AND SYSTEM FOR A NETWORK ACCELERATOR” (Attorney Docket No. 19148-001100US); Patent Application No. / , , entitled “SYSTEMS AND
  • Patent Application No. _/ entitled "SYSTEM FOR MULTI- LAYER BROADBAND PROVISIONING IN COMPUTER NETWORKS" (Attorney Docket No. 19148-000900US); and
  • Patent Application No. _/ entitled “SYSTEMS AND METHODS FOR IMPLEMENTING ABR WITH GUARANTEED MCR", filed June 17, 1999 (Attorney Docket No. 19148-000300US); and
  • Patent Application No. 09/270,287 entitled “SYSTEMS AND METHODS FOR ON-CHIP STORAGE OF VIRTUAL CONNECTION DESCRIPTORS", filed March 16, 1999 (Attorney Docket No. 19148-000400US).
  • the present invention relates in general to traffic scheduling in networking systems, and more particularly to shaping Constant Bit Rate (CBR) and Variable Bit Rate (VBR) traffic in an Asynchronous Transfer Mode (ATM) networking system.
  • CBR Constant Bit Rate
  • VBR Variable Bit Rate
  • Network devices such as client computer systems, servers, hubs, routers, switches, network backbones, etc., are each complex devices that require digital processing in hardware and software to facilitate network communication.
  • Some tasks performed in a network device include translation between different network standards such as Ethernet and ATM, reformatting data, traffic scheduling, routing data cells, packets messages, etc. Depending on the particular protocol being implemented, some tasks may be performed at different points in the network.
  • VC Virtual Channel
  • VCs There are typically many VCs in each system and each VC has its own characteristics, such as packet type, packet size and protocols.
  • a descriptor which identifies the particular VC and its characteristics and requirements is stored in a memory. When a scheduler determines that a particular VC is ready for transmission, the VC descriptor is accessed and processed to determine the appropriate characteristics and requirements for cell transmission on the particular connection.
  • CBR Constant Bit Rate
  • VBR Variable Bit Rate
  • ABR Available Bit Rate
  • Traffic shaping is a mechanism that alters the traffic characteristic of a stream of cells on a connection to achieve better network efficiency while meeting the quality of service (QOS) objectives, or to ensure conformance at a subsequent interface. Traffic shaping must maintain cell sequence integrity on a connection. Traffic shaping is often implemented in the network by usage parameter control (UPC) or network parameter control (NPC) functions, and/or virtual source, destination. Traffic shaping may also be used by the end system to ensure that the cells generated by the source at the user network interface (UNI) are in conformance with the negotiated traffic contract.
  • UPC usage parameter control
  • NPC network parameter control
  • connection traffic descriptor Each connection has a set of parameters specified in the connection traffic descriptor.
  • the conformance algorithm and the parameters with the connection traffic descriptor define the conformance of a cell at an interface connection.
  • the set of conformance definitions supported at the public UNI interface is network specific.
  • CBR connection conformance is typically characterized by a Peak Cell Rate (PCR) parameter and the corresponding Cell Delay Variation Tolerance (CDVT) for one or more traffic flows.
  • PCR Peak Cell Rate
  • CDVT Cell Delay Variation Tolerance
  • CLP cell-loss priority
  • CDVT is mandatory in any CBR connection traffic descriptor.
  • VBR traffic can be further classified as real time (RT) or non-real time (NRT).
  • SCR Sustainable Cell Rate
  • RT-VBR and NRT- VBR are typically distinguished by their QOS parameter, and also by the magnitude of the Maximum Burst Size (MBS) supported. A larger MBS is more typical for NRT- VBR connections.
  • MBS Maximum Burst Size
  • a larger MBS is more typical for NRT- VBR connections.
  • the CDVT is a mandatory parameter in any connection traffic descriptor for a RT or NRT VBR connection.
  • the PCR traffic parameter generally specifies an upper bound on the rate at which traffic can be submitted on an ATM connection. Enforcement of the PCR parameter by the UPC allows the network to allocate sufficient resources to ensure that the network performance objectives, for example the cell loss ratio, can be achieved.
  • the PCR parameter for a given connection is typically negotiated during the signaling phase.
  • the PCR parameter is coded in cells per second, and the granularity supported by the signaling message is typically 1 cell per second.
  • An intuitive definition for PCR is the reciprocal of the minimum spacing of cells of an ATM connection on a transmission link.
  • the SCR parameter generally specifies an upper bound on the conforming average rate of an ATM connection. SCR is usually much smaller than PCR.
  • SCR is enforced by a usage parameter control (UPC) agent to allow the network operator to allocate sufficient resources to ensure that the network performance objectives can be achieved.
  • UPC usage parameter control
  • SCR is given in unit of cells per second, and the granularity supported by the signaling message is typically 1 cell per second.
  • the average rate is the number of cells transmitted divided by the duration of the connection.
  • the MBS parameter is generally determined from the burst tolerance, SCR and the generic cell rate algorithm (GCRA). MBS may be transmitted at PCR and still meet the conformance definition. In a signaling message, MBS is given in units of cells, and the granularity is typically 1 cell.
  • GCRA generic cell rate algorithm
  • the present invention provides novel techniques for shaping CBR and VBR traffic.
  • the techniques of the present invention provide enhanced traffic shaping and scheduling capabilities and increased data throughput.
  • a CBR VBR traffic scheduler includes multiple CBR/VBR shapers to shape traffic over a wide range of peak cell rates for multiple CBR and VBR connection.
  • Each shaper points to one or more VCs in a link list and includes a PCR counter initialized to a first value, an SCR counter initialized to a second and an arbitration counter. Each shaper is also connected to one of several clock sources, each having an associated clock cycle. A priority encoder, coupled to each arbitration counter, provides for determining priority between shapers having one or more associated VCs ready for transmission. Both the PCR counter and the SCR counter for each shaper is decremented during each associated clock cycle. For each shaper, when the PCR counter is decremented to a value of zero, the arbitration counter is initialized to a preset value and enabled for selection by the priority encoder.
  • a credit count parameter associated with each of the VCs in the associated link list is incremented by a predetermined value.
  • the shaper having the lowest arbitration count value is selected by the priority encoder for cell transmission.
  • the associated link list of VCs is walked through in order. Only VCs that have a credit count parameter above a threshold value are transmitted.
  • a network device coupled to one or more networks, is provided for shaping cell transmission traffic for a plurality of variable bit rate (VBR) and constant bit rate (CBR) virtual channels (VCs).
  • the device typically comprises a plurality of traffic shapers, wherein each shaper is connected to one of a plurality of clock sources, each clock source having a clock cycle, wherein each shaper is capable of shaping traffic for CBR and VBR VCs.
  • Each shaper typically includes a pointer to a first VC in a link list of one or more VCs, a first counter initialized to a first starting value, wherein the first counter is decremented continuously on each clock cycle of the associated clock source, and an arbitration counter.
  • the device also typically includes a priority encoder, coupled to each of the plurality of arbitration counters, for determining transmission priority between the plurality of shapers.
  • a priority encoder coupled to each of the plurality of arbitration counters, for determining transmission priority between the plurality of shapers.
  • the arbitration counter is initialized to a second starting value and enabled for selection by the priority encoder.
  • the arbitration counter is decremented after a cell transmission time associated with the shaper, and when one or more arbitration counters are enabled, the priority encoder selects for cell transmission the shaper that has the lowest value in its enabled arbitration counter.
  • Figure 1 is a block diagram of the architecture of a network processing engine according to the present invention.
  • Figure 2 shows the main components of a transmitter engine according to an embodiment of the present invention
  • Figure 3 illustrates the general architecture of a traffic shaper for shaping CBR and VBR traffic according to an embodiment of the present invention
  • Figure 4 illustrates the basic link list structure associated with multiple traffic shapers according to the present invention
  • Figure 5 illustrates the basic structure of a CBR/VBR scheduler including multiple CBR/VBR traffic shapers according to an embodiment of the present invention
  • Figure 6 displays the generic shape that can be generated by the scheduler shown in Figure 5 as well as the parameters that are associated with each aspect of the shape;
  • Figure 7 shows examples of the CBR stream when the associated SKIP_CNT is equal to 0 and 1 ;
  • Figure 8 shows a sampling of rates that are generated for various values of MBS_CNT and SKIP_CNT according to an embodiment of the present invention
  • Figure 9 shows an example of how the actual CBR shape differs from the ideal CBR shape.
  • FIG 1 is a block diagram of the architecture of a network processing engine 10 according to the present invention.
  • the network processing engine of the present invention is useful for a variety of network communications applications including implementation in multi-protocol network interface cards (NICs), server NICs, workgroup, IP and ATM switches, multi-protocol and IP routers, ATM backbone switch applications, multi-protocol and multi-protocol /ATM adapters and the like.
  • NICs network interface cards
  • server NICs workgroup
  • IP and ATM switches multi-protocol and IP routers
  • ATM backbone switch applications multi-protocol and multi-protocol /ATM adapters and the like.
  • processing engine 10 includes a local memory interface block 15, UTOPIA interface 20, Direct Memory Access Controller (DMAC) 25, PCI interface 30, first internal bus 40, second internal bus 45, third internal bus 50, and cell bus 55.
  • processing engine 10 also includes an internal memory 80 and a receiver block 60 and a transmitter block 70 for processing incoming and outgoing data transmissions, respectively, over a communications interface, such as UTOPIA interface 20.
  • Local memory interface block 15 provides a connection to a local, off-chip system memory, such as DRAM, SRAM, SDRAM, SSRAM or any combination thereof.
  • DMAC 25 provides control of data transfers between external memories (PCI), internal memory 80 and the local memory.
  • Internal memory 80 is used in one embodiment to store VC descriptors on-chip for fast access of the VC descriptors. Additionally, in one embodiment, internal memory 80 stores allowed cell rate (ACR) and minimum cell rate (MCR) bitmaps to provide enhanced ABR traffic scheduling capabilities.
  • ACR allowed cell rate
  • MCR minimum cell rate
  • PCI interface 30 provides a connection to external intelligence, such as a host computer system, and external packet memories.
  • First and second internal buses 40 and 45 in one embodiment are non-multiplexed 32 bit address and 64 bit data buses.
  • PCI interface 30 is configured to run at frequencies up to 33 MHz over a 32 bit PCI bus, or at frequencies up to 66 MHz over a 64 bit PCI bus. For example, to achieve a 622 Mbps line rate, a 64 bit interface is used with frequencies up to 66 MHz.
  • UTOPIA interface 20 supports connections to a broad range of layer 1 physical interfaces, including, for example, OC-1, OC-3, OC-12, OC-48, OC-192 and DS-3 interfaces and the like.
  • the UTOPIA data bus is 16 bits, whereas for a 155 Mbps line rate the UTOPIA bus is 8 bits.
  • Third internal data bus 50 is an 8 or 16 bit UTOPIA compatible interface.
  • Cell bus 55 is a 64 bit data path and is used to transfer cells or frames between internal cell/frame buffers of receiver block 60 and transmitter block 70 and the PCI memory space through DMAC 25. Cell bus 55 allows several transactions to occur in parallel. For example, data payload transfers and descriptor data movement may occur simultaneously. Additionally, for a 622 Mbps line rate, cell bus 55 is capable of off-loading up to 160 MBps of bandwidth from local memory.
  • FIG. 2 shows the main components of transmitter engine 70 according to an embodiment of the present invention.
  • transmitter engine 70 includes a VBR/CBR traffic shaper 71 , an ABR scheduler 72, a VC descriptor processor 73, a DMA control generator 74 and a transmit out module 75.
  • VBR/CBR shaper 71 (or multiple VBR/CBR shapers) and ABR scheduler 72 together comprise part of a timeslot scheduler.
  • VBR/CBR shaper 71 provides a mechanism for shaping traffic for VBR and CBR VCs as will be described in more detail below.
  • ABR scheduler 72 is an intelligent state machine that schedules ABR VCs for transmission. According to one embodiment, ABR scheduler 72 implements a timing wheel technique as disclosed in copending Application
  • the timing wheel mechanism disclosed therein provides for a guaranteed MCR and includes internally generated ACR and MCR bitmaps that provide for a fast search mechanism.
  • the appropriate VC descriptor pointer is sent to VC descriptor processor 73, which fetches the VC descriptor from internal memory 80 or local memory.
  • VC descriptor processor 73 then processes the VC descriptor and queues the necessary parameters within a transmit cell ready buffer for the DMA control generator 74 to initiate DMA transfer.
  • DMA control generator 74 transfers the cell from the PCI or local memory space into a transmit cell buffer.
  • Transmit out module 75 determines whether to transmit the cell from the transmit cell buffer or to transmit an idle cell instead. Transmit out module 75 is also responsible for stepping back the transmission rate depending on how much the network is congested.
  • VBR VC descriptor processor 73 determines whether the cell has credit to send before queuing the related parameters into the transmit cell ready buffer.
  • CBR VCs only use the PCR counter, whereas for VBR VCs, both the PCR counter and the SCR counter are used.
  • Related parameters within the VC descriptor used for determining credit include an MBS counter parameter, an MBS credit counter parameter and the SCR parameter.
  • FIG. 3 illustrates the general architecture of traffic shaper 71 for shaping CBR and VBR traffic according to an embodiment of the present invention.
  • shaper 71 includes two counters, PCR counter 100 and SCR counter 105, to keep track of timing related to the PCR parameter and the SCR parameter, respectively.
  • PCR counter is coupled to PCR register 110
  • SCR counter 115 is coupled to SCR register 115.
  • SCR register 115 and PCR register 110 hold the initial count as programmed by the local or host processors.
  • Shaper 71 also includes a multiplexer module 120 that allows shaper 71 to select from multiple clocks. For example, in one embodiment as shown, shaper 71 is able to select from two external clocks and a system clock.
  • Arbiter Counter 135 is provided for determining priority among multiple shapers as will be described in more detail below. In general, there are one or more VCs attached to shaper 71 via VC pointer
  • VC pointer 125 points to the first transmit VC descriptor in a linked list of VCs within internal memory 80 or local memory. Within the transmit VC descriptor there is a forward and backward pointer for the linked list of VCs within shaper 71.
  • the local microprocessor adds VCs to the link list.
  • An example of a two-dimensional link list data structure that is useful for a plurality of VCs can be found in copending Application Serial Number 09/271,061, (Atty. Docket No. 019148-000200) filed March 16, 1999, entitled “Two-Dimensional Queuing/De-Queuing Methods And Systems For Implementing the Same," the disclosure of which is hereby incorporated by reference in its entirety.
  • FIG. 4 illustrates an example of the basic link list structure associated with multiple traffic shapers according to the present invention.
  • each traffic shaper includes two VC pointers, one for a high priority VC list and the other for a low priority VC list.
  • the two VC pointers are programmed by the local microprocessor within a VC pointer register. In an alternate, only one VC list is used.
  • Transmit engine 70 services the shaper when either the PCR or SCR counter has elapsed and the shaper has credit to transmit. While servicing the shaper, transmit engine 70 traverses through the link list of VCs that are ready for transmission.
  • the high priority field within the shaper' s VC pointer register is used to form the descriptor pointer to the first VC within the high priority link list. After all the VCs within the high priority link list are serviced, the VCs in the low priority link list are serviced.
  • FIG. 5 illustrates the basic structure of a CBR/VBR scheduler 200 including multiple CBR/VBR traffic shapers, 71 0 to 71 15 , according to an embodiment of the present invention.
  • the following description refers to the exemplary embodiment including 16 shapers and 4 clock source blocks as shown in Figure 5, although it will be apparent to one of skill in the art that fewer or more shapers and clock sources may be implemented as desired for the particular application.
  • each of the clock source blocks 140 0 to 140 4 are able to select one of four clocks LM_CLK, LM_CLK/2, LM_CLK/4, and EXT_CLK.
  • each clock source 140 is preferably associated with a block of four of the sixteen shapers.
  • Each shaper 71 is associated with a linked list of active VCs.
  • Each VC has several parameters associated with the shapers, including MBS_CNT (Maximum Burst Size Counter), the maximum PCR burst size, SKIP_CNT (Skip Counter), the number of PCR intervals to skip between bursts, CREDITJCNT, the credit expressed in number of cells and SCR_INCR
  • PCR_CNT Peak Cell Rate Count
  • SCR_CNT Send Cell Rate Count
  • ABR_CNT Average Count
  • the clock sources 140 for each of the shapers are programmed and the reload, or initialization, values of the PCR_CNT, the ABR_CNT and the SCR_CNT for each of the shapers are programmed. Additionally, the MBS_CNT, the SKTP_CNT and the SCR_INCR for each of the active VCs are programmed. In preferred aspects, the clock sources, reload values, and counter and increment values are all programmed by software. Software also preferably determines which clock source is associated with each bank of 4 shapers (0-3, 4-7, 8-11, 12-15).
  • the PCR_CNT and the SCR_CNT are decremented continuously on each clock cycle of the associated clock source. Each time the PCR CNT is decremented to zero, the PCR_CNT is initialized to its reload value, and the ARB_CNT is initialized to its reload value and is enabled for selection by the priority encoder. Each time the SCR_CNT is decremented to zero, the SCR_CNT is initialized to its reload value and state is maintained to indicate that this shaper' s SCR count has elapsed. This state is reset after the transmission processing for the shaper has completed (which occurs the next time that PCR_CNT reaches zero).
  • the priority encoder 150 examines all the enabled ARB_CNTs and selects the shaper with the lowest ARB_CNT value to be serviced for transmission. While a shaper is waiting to be selected, its ARB_CNT is decremented once per cell transmission. Once a shaper is selected for transmission, the selected shaper inspects in order each of the VCs on its link list and causes cells to be transmitted. Cells may or may not be transmitted depending on the credit (number of tokens) available for a particular VC that is ready for transmission. The credit information is stored in the transmit VC descriptor and, therefore allows for shaping on a per-VC basis.
  • a cell is transmitted according to the following rules: If the shaper SCR count has elapsed, the CREDIT_CNT field is incremented by the SCR NCR with the CREDIT _CNT saturating at 65535. If the MBS_CNT is greater than zero and the CREDIT CNT is greater than zero, a cell is transmitted and the CREDIT_CNT and the MBS_CNT are decremented.
  • SKIP_CNT is loaded and decremented as each skip occurs.
  • the MBS_CNT is reloaded and cells are sent again. This burst and skip process repeats itself indefinitely.
  • Figure 6 displays the generic shape that is generated by the scheduler shown in Figure 5 as well as the parameters that are associated with aspects of the shape.
  • the PCR_CNT determines the minimum spacing between cells
  • the MBS_CNT determines the number of cells bursted at PCR before encountering a skip period
  • the SKIP_CNT determines the number of PCR cell slots to skip before transmitting another burst
  • the CREDIT_CNT combined with the SCR_CNT determines the number of cell slots to skip between groups of bursted cells.
  • the instantaneous value of CREDIT_CNT is a generally a function of SCR_INCR which is added to it each time SCR_CNT reaches zero.
  • one shaper is assigned to each CBR connection.
  • the shaper is preferably configured as follows:
  • VC descriptors for CELL_RATE CBR connections linked to this shaper are preferably configured as follows:
  • the clock source for a particular shaper is chosen to be the highest available frequency such that PCR_CNT as calculated above is represented in the available 24 bits. This ensures that the actual cell rate is as close as possible to the desired rate by minimizing rounding errors.
  • a CBR stream is approximated with a sequence of cell bursts.
  • the cell delay variation (CDV) introduced is relatively small and the cell stream produced will still be a conforming one.
  • CDV cell delay variation
  • keeping SKIP_CNT/MBS_CNT less than one optimizes the shapers ability to find a cell for transmission within a cell time. With this constraint, a single shaper can be used to generate granular rates between PCR and PCR/2. A sampling of rates that can be generated for various values of MBS_CNT and SKIP CNT is shown in Figure 8.
  • shaper 0's PCR is programmed at line_rate
  • shaper 1 's PCR is programmed at line_rate/2
  • so on for shape 5, the PCR is programmed at PCR/32K.
  • the ARB_CNT value of each shaper can be used to increase or decrease the average CDV experienced by a VC on a particular shaper.
  • ABR_CNT is set proportionally lower for shapers that have a lower programmed PCR_CNT.
  • a lower ARB_CNT value produces a lower average CDV.
  • the worst case CDV generated from an ideal source is determined by the line_rate (in cells/second), and the number of VCs associated with the high priority traffic class.
  • the cell delay variation is given by the following equation:
  • the calculation of the values for shaper and VC parameters needed in order to achieve a connection of a given PCR, MBS and SCR is substantially simplified if SCR_CNT is an integral multiple of PCR_ CNT. Given this constraint, for a given PCR, MBS, and SCR, in order to generate a cell stream of conforming maximum-sized bursts at the peak rate, the shaper and VC parameters are preferably configured such that:
  • source clock is chosen to be the maximum such that PCR_CNT ⁇ ⁇ 2 24 - 1 , and N is a positive non-zero integer in the range
  • MBS_CNT and SKIP_CNT are set to generate the required shaping with SCR_CNT and SCR_INCR set such that there is always enough credit.
  • the shaper and VC parameters are set to (choosing the maximal value for N):
  • PCR_CNT 9881
  • SCR_CNT 16758057
  • VBR VCs are preferably interleaved with CBR VCs when linked to a shaper. Preferably, at most 3 VBR VCs should be linked between full rate CBR connections. If a cell is not found for transmission within the cell time, then an idle cell is inserted in the transmission stream. This may be acceptable, but results in an under-utilization of the full bandwidth available for transmission.
  • priority encoder 150 together with a dequeue processor (not shown) determines the order in which the shapers are serviced, and therefore the order in which VCs are transmitted, when many shapers are vying for transmission.
  • An example of a traffic arbitration algorithm implemented by priority encoder 150 is as follows:
  • TS refers to the timeslot scheduler
  • TS_ARB_CNT refers to the timeslot scheduler's separate arbiter count value as used by priority encoder 150 for non VBR/CBR transmissions.

Abstract

A CBR/VBR traffic scheduler includes multiple CBR/VBR shapers to shape traffic over a wide range of peak cell rates for multiple CBR and VBR connection. Each shaper points to one or more VCs in a link list and includes a PCR counter (100) initialized to a first value, an SCR counter (105) initialized to a second and an arbitration counter (135). Each shaper is also connected to one of several clock sources, each having an associated clock cycle. A priority encoder, coupled to each arbitration counter, provides for determining priority between shapers having one or more associated VCs ready for transmission. Both the PCR counter (100) and the SCR counter (105) for each shaper is decremented during each associated clock cycle. For each shaper, when the PCR counter (100) is decremented to a value of zero, the arbitration counter (135) is initialized to a preset value and enabled for selection by the priority encoder.

Description

CBR/VBR TRAFFIC SCHEDULER
CROSS-REFERENCES TO RELATED APPLICATIONS
This application claims priority from U.S. Provisional Patent Application No. 60/090, 939, entitled "NETWORK ACCELERATOR SUBSYSTEM BASED ON SINGLE-CHIP NETWORK PROCESSOR AND INTERFACE PROTOCOL," filed June 27, 1998, the entire disclosure of which is herein incorporated by reference for all purposes. This application also claims priority from U.S. Patent Application No.
09/271,061, entitled "TWO-DIMENSIONAL QUEUING/DE-QUEUING METHODS AND SYSTEMS FOR IMPLEMENTING THE SAME," filed March 16, 1999, (Attorney Docket No. 19148-000200US) the entire disclosure of which is herein incorporated by reference for all purposes. The following patent applications, including this one, are being filed concurrently, and the disclosure of each other application is hereby incorporated by reference in its entirety into this application for all purposes:
Patent Application No. / , , entitled "METHOD AND
APPARATUS FOR CONTROLLING A NETWORK PROCESSOR" (Attorney Docket No. 19148-000600US);
Patent Application No. _/ , , entitled "SYSTEM AND METHOD
FOR PERFORMING CUT-THROUGH FORWARDING IN AN ATM NETWORK SUPPORTING LAN EMULATION" (Attorney Docket No. 19148-000700US);
Patent Application No. _/ , , entitled "SYSTEM AND METHOD FOR CONTROLLING A NETWORK PROCESSOR" (Attorney Docket No. 19148- 001300US);
Patent Application No. _/ , , entitled "CBR/VBR TRAFFIC
SCHEDULER" (Attorney Docket No. 19148-000800US);
Patent Application No. __/___, , entitled "MULTI-PROTOCOL CONVERSION ASSISTANCE METHOD AND SYSTEM FOR A NETWORK ACCELERATOR" (Attorney Docket No. 19148-001100US); Patent Application No. / , , entitled "SYSTEMS AND
METHODS FOR IMPLEMENTING POINTER MANAGEMENT" (Attorney Docket No. 19148-001200US);
Patent Application No. _/ , , entitled "SYSTEM FOR MULTI- LAYER BROADBAND PROVISIONING IN COMPUTER NETWORKS" (Attorney Docket No. 19148-000900US); and
Patent Application No. _/ , , entitled "NETWORK
ACCELERATOR SUBSYSTEM BASED ON SINGLE-CHIP NETWORK PROCESSOR AND INTERFACE PROTOCOL" (Attorney Docket No. 19148- 000110US).
Additionally, the disclosure of each of the following pending patent applications is hereby incorporated by reference in its entirety into this application for all purposes:
Patent Application No. _/ , , entitled "SYSTEMS AND METHODS FOR IMPLEMENTING ABR WITH GUARANTEED MCR", filed June 17, 1999 (Attorney Docket No. 19148-000300US); and
Patent Application No. 09/270,287, entitled "SYSTEMS AND METHODS FOR ON-CHIP STORAGE OF VIRTUAL CONNECTION DESCRIPTORS", filed March 16, 1999 (Attorney Docket No. 19148-000400US).
BACKGROUND OF THE INVENTION The present invention relates in general to traffic scheduling in networking systems, and more particularly to shaping Constant Bit Rate (CBR) and Variable Bit Rate (VBR) traffic in an Asynchronous Transfer Mode (ATM) networking system.
The need for faster communication among computers and other systems requires ever faster and more efficient networks. Today, networks typically use an amalgam of various software and hardware to implement a variety of network functions and standards. Network devices such as client computer systems, servers, hubs, routers, switches, network backbones, etc., are each complex devices that require digital processing in hardware and software to facilitate network communication. Some tasks performed in a network device include translation between different network standards such as Ethernet and ATM, reformatting data, traffic scheduling, routing data cells, packets messages, etc. Depending on the particular protocol being implemented, some tasks may be performed at different points in the network.
In conventional networking systems that implement ATM, data traffic is handled by a Virtual Channel, or Virtual Connection (VC). There are typically many VCs in each system and each VC has its own characteristics, such as packet type, packet size and protocols. For each VC, a descriptor which identifies the particular VC and its characteristics and requirements is stored in a memory. When a scheduler determines that a particular VC is ready for transmission, the VC descriptor is accessed and processed to determine the appropriate characteristics and requirements for cell transmission on the particular connection.
When scheduling transmissions and shaping traffic for many VCs, several service categories are typically available, including Constant Bit Rate (CBR), Variable Bit Rate (VBR) and Available Bit Rate (ABR), in order of typical priority. Because the ABR category typically has the lowest priority, one or more CBR or VBR VCs may be transmitted before an ABR VC that is scheduled for transmission.
Traffic shaping is a mechanism that alters the traffic characteristic of a stream of cells on a connection to achieve better network efficiency while meeting the quality of service (QOS) objectives, or to ensure conformance at a subsequent interface. Traffic shaping must maintain cell sequence integrity on a connection. Traffic shaping is often implemented in the network by usage parameter control (UPC) or network parameter control (NPC) functions, and/or virtual source, destination. Traffic shaping may also be used by the end system to ensure that the cells generated by the source at the user network interface (UNI) are in conformance with the negotiated traffic contract.
Each connection has a set of parameters specified in the connection traffic descriptor. The conformance algorithm and the parameters with the connection traffic descriptor define the conformance of a cell at an interface connection. The set of conformance definitions supported at the public UNI interface is network specific.
CBR connection conformance is typically characterized by a Peak Cell Rate (PCR) parameter and the corresponding Cell Delay Variation Tolerance (CDVT) for one or more traffic flows. For example, one PCR parameter could be for cell-loss priority (CLP) = 0 orl flow and another could be for CLP = 1 flow. One could define conformance to be the same for both CLP = 0 and CLP = 0 or 1 flows. In most cases, the same CDVT value is used for both PCR (CLP = 0 and CLP = 0 or 1) parameters. PCR is a mandatory traffic parameter in any CBR source traffic descriptor for CLP = 0 or 1. On the other hand, CDVT is mandatory in any CBR connection traffic descriptor.
VBR traffic can be further classified as real time (RT) or non-real time (NRT). The conformance for both RT and NRT VBR connection is typically characterized by a Sustainable Cell Rate (SCR) parameter and corresponding CDVT for at least the CLP = 0+1 flow. RT-VBR and NRT- VBR are typically distinguished by their QOS parameter, and also by the magnitude of the Maximum Burst Size (MBS) supported. A larger MBS is more typical for NRT- VBR connections. PCR for CLP = 0+1 is a mandatory traffic parameter in any source traffic descriptor for a RT or NRT VBR connection. The CDVT is a mandatory parameter in any connection traffic descriptor for a RT or NRT VBR connection.
The PCR traffic parameter generally specifies an upper bound on the rate at which traffic can be submitted on an ATM connection. Enforcement of the PCR parameter by the UPC allows the network to allocate sufficient resources to ensure that the network performance objectives, for example the cell loss ratio, can be achieved. The PCR parameter for a given connection is typically negotiated during the signaling phase. The PCR parameter is coded in cells per second, and the granularity supported by the signaling message is typically 1 cell per second. An intuitive definition for PCR is the reciprocal of the minimum spacing of cells of an ATM connection on a transmission link. The SCR parameter generally specifies an upper bound on the conforming average rate of an ATM connection. SCR is usually much smaller than PCR. SCR is enforced by a usage parameter control (UPC) agent to allow the network operator to allocate sufficient resources to ensure that the network performance objectives can be achieved. In a signaling message, SCR is given in unit of cells per second, and the granularity supported by the signaling message is typically 1 cell per second. The average rate is the number of cells transmitted divided by the duration of the connection.
The MBS parameter is generally determined from the burst tolerance, SCR and the generic cell rate algorithm (GCRA). MBS may be transmitted at PCR and still meet the conformance definition. In a signaling message, MBS is given in units of cells, and the granularity is typically 1 cell. SUMMARY OF THE INVENTION The present invention provides novel techniques for shaping CBR and VBR traffic. In particular, the techniques of the present invention provide enhanced traffic shaping and scheduling capabilities and increased data throughput. According to the invention, a CBR VBR traffic scheduler includes multiple CBR/VBR shapers to shape traffic over a wide range of peak cell rates for multiple CBR and VBR connection. Each shaper points to one or more VCs in a link list and includes a PCR counter initialized to a first value, an SCR counter initialized to a second and an arbitration counter. Each shaper is also connected to one of several clock sources, each having an associated clock cycle. A priority encoder, coupled to each arbitration counter, provides for determining priority between shapers having one or more associated VCs ready for transmission. Both the PCR counter and the SCR counter for each shaper is decremented during each associated clock cycle. For each shaper, when the PCR counter is decremented to a value of zero, the arbitration counter is initialized to a preset value and enabled for selection by the priority encoder. For each shaper, when the SCR counter is decremented to zero, a credit count parameter associated with each of the VCs in the associated link list is incremented by a predetermined value. The shaper having the lowest arbitration count value is selected by the priority encoder for cell transmission. When a shaper is selected for cell transmission, the associated link list of VCs is walked through in order. Only VCs that have a credit count parameter above a threshold value are transmitted.
According to an aspect of the invention, a network device, coupled to one or more networks, is provided for shaping cell transmission traffic for a plurality of variable bit rate (VBR) and constant bit rate (CBR) virtual channels (VCs). The device typically comprises a plurality of traffic shapers, wherein each shaper is connected to one of a plurality of clock sources, each clock source having a clock cycle, wherein each shaper is capable of shaping traffic for CBR and VBR VCs. Each shaper typically includes a pointer to a first VC in a link list of one or more VCs, a first counter initialized to a first starting value, wherein the first counter is decremented continuously on each clock cycle of the associated clock source, and an arbitration counter. The device also typically includes a priority encoder, coupled to each of the plurality of arbitration counters, for determining transmission priority between the plurality of shapers. In typical operation, for each shaper, when the first counter is decremented to a value of zero, the arbitration counter is initialized to a second starting value and enabled for selection by the priority encoder. Additionally, for each shaper, the arbitration counter is decremented after a cell transmission time associated with the shaper, and when one or more arbitration counters are enabled, the priority encoder selects for cell transmission the shaper that has the lowest value in its enabled arbitration counter.
Reference to the remaining portions of the specification, including the drawings and claims, will realize other features and advantages of the present invention. Further features and advantages of the present invention, as well as the structure and operation of various embodiments of the present invention, are described in detail below with respect to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements.
BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram of the architecture of a network processing engine according to the present invention;
Figure 2 shows the main components of a transmitter engine according to an embodiment of the present invention;
Figure 3 illustrates the general architecture of a traffic shaper for shaping CBR and VBR traffic according to an embodiment of the present invention; Figure 4 illustrates the basic link list structure associated with multiple traffic shapers according to the present invention;
Figure 5 illustrates the basic structure of a CBR/VBR scheduler including multiple CBR/VBR traffic shapers according to an embodiment of the present invention; Figure 6 displays the generic shape that can be generated by the scheduler shown in Figure 5 as well as the parameters that are associated with each aspect of the shape;
Figure 7 shows examples of the CBR stream when the associated SKIP_CNT is equal to 0 and 1 ;
Figure 8 shows a sampling of rates that are generated for various values of MBS_CNT and SKIP_CNT according to an embodiment of the present invention; and Figure 9 shows an example of how the actual CBR shape differs from the ideal CBR shape. DESCRIPTION OF THE SPECIFIC EMBODIMENTS Figure 1 is a block diagram of the architecture of a network processing engine 10 according to the present invention. In preferred aspects, the network processing engine of the present invention is useful for a variety of network communications applications including implementation in multi-protocol network interface cards (NICs), server NICs, workgroup, IP and ATM switches, multi-protocol and IP routers, ATM backbone switch applications, multi-protocol and multi-protocol /ATM adapters and the like. In preferred aspects, all components of processing engine 10 reside on a single chip (e.g., a single silicon chip), but all components may be spread across many chips such that processing engine 10 is implemented using many chips. Processing engine 10 includes a local memory interface block 15, UTOPIA interface 20, Direct Memory Access Controller (DMAC) 25, PCI interface 30, first internal bus 40, second internal bus 45, third internal bus 50, and cell bus 55. Processing engine 10 also includes an internal memory 80 and a receiver block 60 and a transmitter block 70 for processing incoming and outgoing data transmissions, respectively, over a communications interface, such as UTOPIA interface 20. Local memory interface block 15 provides a connection to a local, off-chip system memory, such as DRAM, SRAM, SDRAM, SSRAM or any combination thereof. DMAC 25 provides control of data transfers between external memories (PCI), internal memory 80 and the local memory. Internal memory 80 is used in one embodiment to store VC descriptors on-chip for fast access of the VC descriptors. Additionally, in one embodiment, internal memory 80 stores allowed cell rate (ACR) and minimum cell rate (MCR) bitmaps to provide enhanced ABR traffic scheduling capabilities.
PCI interface 30 provides a connection to external intelligence, such as a host computer system, and external packet memories. First and second internal buses 40 and 45 in one embodiment are non-multiplexed 32 bit address and 64 bit data buses. Depending on the desired line rate, PCI interface 30 is configured to run at frequencies up to 33 MHz over a 32 bit PCI bus, or at frequencies up to 66 MHz over a 64 bit PCI bus. For example, to achieve a 622 Mbps line rate, a 64 bit interface is used with frequencies up to 66 MHz. UTOPIA interface 20 supports connections to a broad range of layer 1 physical interfaces, including, for example, OC-1, OC-3, OC-12, OC-48, OC-192 and DS-3 interfaces and the like. To support a 622 Mbps line rate, the UTOPIA data bus is 16 bits, whereas for a 155 Mbps line rate the UTOPIA bus is 8 bits. Third internal data bus 50 is an 8 or 16 bit UTOPIA compatible interface. Cell bus 55 is a 64 bit data path and is used to transfer cells or frames between internal cell/frame buffers of receiver block 60 and transmitter block 70 and the PCI memory space through DMAC 25. Cell bus 55 allows several transactions to occur in parallel. For example, data payload transfers and descriptor data movement may occur simultaneously. Additionally, for a 622 Mbps line rate, cell bus 55 is capable of off-loading up to 160 MBps of bandwidth from local memory.
Figure 2 shows the main components of transmitter engine 70 according to an embodiment of the present invention. As shown, transmitter engine 70 includes a VBR/CBR traffic shaper 71 , an ABR scheduler 72, a VC descriptor processor 73, a DMA control generator 74 and a transmit out module 75. VBR/CBR shaper 71 (or multiple VBR/CBR shapers) and ABR scheduler 72 together comprise part of a timeslot scheduler. VBR/CBR shaper 71 provides a mechanism for shaping traffic for VBR and CBR VCs as will be described in more detail below. ABR scheduler 72 is an intelligent state machine that schedules ABR VCs for transmission. According to one embodiment, ABR scheduler 72 implements a timing wheel technique as disclosed in copending Application
Serial Number , filed June , 1999, entitled "Systems and Methods for
Implementing ABR with Guaranteed MCR," the disclosure of which is hereby incorporated by reference in its entirety. The timing wheel mechanism disclosed therein provides for a guaranteed MCR and includes internally generated ACR and MCR bitmaps that provide for a fast search mechanism. When an ABR, VBR or CBR VC is ready to be serviced for transmission, the appropriate VC descriptor pointer is sent to VC descriptor processor 73, which fetches the VC descriptor from internal memory 80 or local memory. VC descriptor processor 73 then processes the VC descriptor and queues the necessary parameters within a transmit cell ready buffer for the DMA control generator 74 to initiate DMA transfer. DMA control generator 74 transfers the cell from the PCI or local memory space into a transmit cell buffer. Transmit out module 75 determines whether to transmit the cell from the transmit cell buffer or to transmit an idle cell instead. Transmit out module 75 is also responsible for stepping back the transmission rate depending on how much the network is congested.
For VBR VCs, VC descriptor processor 73 also determines whether the cell has credit to send before queuing the related parameters into the transmit cell ready buffer. In general, CBR VCs only use the PCR counter, whereas for VBR VCs, both the PCR counter and the SCR counter are used. Related parameters within the VC descriptor used for determining credit include an MBS counter parameter, an MBS credit counter parameter and the SCR parameter.
Figure 3 illustrates the general architecture of traffic shaper 71 for shaping CBR and VBR traffic according to an embodiment of the present invention. As shown, shaper 71 includes two counters, PCR counter 100 and SCR counter 105, to keep track of timing related to the PCR parameter and the SCR parameter, respectively. PCR counter is coupled to PCR register 110, and SCR counter 115 is coupled to SCR register 115. SCR register 115 and PCR register 110 hold the initial count as programmed by the local or host processors. Shaper 71 also includes a multiplexer module 120 that allows shaper 71 to select from multiple clocks. For example, in one embodiment as shown, shaper 71 is able to select from two external clocks and a system clock. Arbiter Counter 135 is provided for determining priority among multiple shapers as will be described in more detail below. In general, there are one or more VCs attached to shaper 71 via VC pointer
125. The VCs attached to shaper 71 are linked within internal memory 80, the local memory or a combination of the local memory and internal memory 80. VC pointer 125 points to the first transmit VC descriptor in a linked list of VCs within internal memory 80 or local memory. Within the transmit VC descriptor there is a forward and backward pointer for the linked list of VCs within shaper 71. The local microprocessor adds VCs to the link list. An example of a two-dimensional link list data structure that is useful for a plurality of VCs can be found in copending Application Serial Number 09/271,061, (Atty. Docket No. 019148-000200) filed March 16, 1999, entitled "Two-Dimensional Queuing/De-Queuing Methods And Systems For Implementing the Same," the disclosure of which is hereby incorporated by reference in its entirety.
Figure 4 illustrates an example of the basic link list structure associated with multiple traffic shapers according to the present invention. According to an embodiment of the present invention, as shown, each traffic shaper includes two VC pointers, one for a high priority VC list and the other for a low priority VC list. The two VC pointers are programmed by the local microprocessor within a VC pointer register. In an alternate, only one VC list is used.
In operation, when a shaper elapses, i.e., when either PCR counter 100 or SCR counter 105 elapses, one or more cells for the linked VCs are ready for transmission. Transmit engine 70 services the shaper when either the PCR or SCR counter has elapsed and the shaper has credit to transmit. While servicing the shaper, transmit engine 70 traverses through the link list of VCs that are ready for transmission. In the embodiment with high and low priority VC link lists, the high priority field within the shaper' s VC pointer register is used to form the descriptor pointer to the first VC within the high priority link list. After all the VCs within the high priority link list are serviced, the VCs in the low priority link list are serviced.
Figure 5 illustrates the basic structure of a CBR/VBR scheduler 200 including multiple CBR/VBR traffic shapers, 710 to 7115, according to an embodiment of the present invention. The following description refers to the exemplary embodiment including 16 shapers and 4 clock source blocks as shown in Figure 5, although it will be apparent to one of skill in the art that fewer or more shapers and clock sources may be implemented as desired for the particular application. In a preferred embodiment, each of the clock source blocks 1400 to 1404 are able to select one of four clocks LM_CLK, LM_CLK/2, LM_CLK/4, and EXT_CLK. In this embodiment, each clock source 140 is preferably associated with a block of four of the sixteen shapers. Each shaper 71 is associated with a linked list of active VCs. Each VC has several parameters associated with the shapers, including MBS_CNT (Maximum Burst Size Counter), the maximum PCR burst size, SKIP_CNT (Skip Counter), the number of PCR intervals to skip between bursts, CREDITJCNT, the credit expressed in number of cells and SCR_INCR
(Sustained Cell Rate Increment). Each shaper itself has several parameters associated with it, including PCR_CNT (Peak Cell Rate Count), SCR_CNT (Sustained Cell Rate Count), and ABR_CNT (Arbitration Count).
The clock sources 140 for each of the shapers are programmed and the reload, or initialization, values of the PCR_CNT, the ABR_CNT and the SCR_CNT for each of the shapers are programmed. Additionally, the MBS_CNT, the SKTP_CNT and the SCR_INCR for each of the active VCs are programmed. In preferred aspects, the clock sources, reload values, and counter and increment values are all programmed by software. Software also preferably determines which clock source is associated with each bank of 4 shapers (0-3, 4-7, 8-11, 12-15).
Once the shapers are enabled, the PCR_CNT and the SCR_CNT are decremented continuously on each clock cycle of the associated clock source. Each time the PCR CNT is decremented to zero, the PCR_CNT is initialized to its reload value, and the ARB_CNT is initialized to its reload value and is enabled for selection by the priority encoder. Each time the SCR_CNT is decremented to zero, the SCR_CNT is initialized to its reload value and state is maintained to indicate that this shaper' s SCR count has elapsed. This state is reset after the transmission processing for the shaper has completed (which occurs the next time that PCR_CNT reaches zero). The priority encoder 150 examines all the enabled ARB_CNTs and selects the shaper with the lowest ARB_CNT value to be serviced for transmission. While a shaper is waiting to be selected, its ARB_CNT is decremented once per cell transmission. Once a shaper is selected for transmission, the selected shaper inspects in order each of the VCs on its link list and causes cells to be transmitted. Cells may or may not be transmitted depending on the credit (number of tokens) available for a particular VC that is ready for transmission. The credit information is stored in the transmit VC descriptor and, therefore allows for shaping on a per-VC basis. In preferred aspects, a cell is transmitted according to the following rules: If the shaper SCR count has elapsed, the CREDIT_CNT field is incremented by the SCR NCR with the CREDIT _CNT saturating at 65535. If the MBS_CNT is greater than zero and the CREDIT CNT is greater than zero, a cell is transmitted and the CREDIT_CNT and the MBS_CNT are decremented.
If the MBS_CNT is decremented to zero, then SKIP_CNT is loaded and decremented as each skip occurs. When the SKIP_CNT is equal to zero, then the MBS_CNT is reloaded and cells are sent again. This burst and skip process repeats itself indefinitely.
Figure 6 displays the generic shape that is generated by the scheduler shown in Figure 5 as well as the parameters that are associated with aspects of the shape. As shown, the PCR_CNT determines the minimum spacing between cells, the MBS_CNT determines the number of cells bursted at PCR before encountering a skip period, the SKIP_CNT determines the number of PCR cell slots to skip before transmitting another burst, and the CREDIT_CNT combined with the SCR_CNT determines the number of cell slots to skip between groups of bursted cells. The instantaneous value of CREDIT_CNT is a generally a function of SCR_INCR which is added to it each time SCR_CNT reaches zero.
According to one embodiment, to accommodate a wide range of CBR connections, one shaper is assigned to each CBR connection. In this embodiment, to set up a shaper for a particular rate (cells/second) the shaper is preferably configured as follows:
SCR_CNT = 0, and
SOURCE CLK FREQ
PCR_CNT = Roundup <=224 - l. PCR
Also, the VC descriptors for CELL_RATE CBR connections linked to this shaper are preferably configured as follows:
MBS_CNT ! = 0, and SKIP_CNT == 0.
As an example, if a CBR connection has a PCR of 167 cells per second, and the clock source selected is LM_CLOCK = 66 MHz, then
PCR CNT = 66 l° - 395210 = 0x607CA.
167
In preferred aspects, the clock source for a particular shaper is chosen to be the highest available frequency such that PCR_CNT as calculated above is represented in the available 24 bits. This ensures that the actual cell rate is as close as possible to the desired rate by minimizing rounding errors.
In this embodiment, 16 different CBR rates are supported using the 16 shapers as shown in Figure 5. In addition, by setting SKIP_CNT ! = 0, CBR VCs with rates that are an integral divisor of the CELL RATE can be configured. For instance, in the above case, a VC descriptor with SKIP_CNT = 1 yields a rate of 83 cells/sec. Figure 7 shows examples of the CBR stream when the associated SKTP_CNT is equal to 0 and 1. According to an embodiment of the present invention, to avoid the insertion of idle cells into the cell stream, the lower rate connections are alternated with full rate connections when linked to the shaper's list of VCs. This strategy allows an arbitrary number of CBR rates to be supported. According to an alternate embodiment, to accommodate a wide range of
CBR connections, a CBR stream is approximated with a sequence of cell bursts. As long as the inter-burst interval is small compared to the burst size then the cell delay variation (CDV) introduced is relatively small and the cell stream produced will still be a conforming one. Also, keeping SKIP_CNT/MBS_CNT less than one optimizes the shapers ability to find a cell for transmission within a cell time. With this constraint, a single shaper can be used to generate granular rates between PCR and PCR/2. A sampling of rates that can be generated for various values of MBS_CNT and SKIP CNT is shown in Figure 8. In one embodiment, shaper 0's PCR is programmed at line_rate, shaper 1 's PCR is programmed at line_rate/2, and so on (for shape 5, the PCR is programmed at PCR/32K). By assigning these PCR rates to the scheduler, the range of rates that the shapers can support runs from line_rate all the way down to line_rate/64K. The ARB_CNT value of each shaper can be used to increase or decrease the average CDV experienced by a VC on a particular shaper.
In preferred aspects, to achieve the lowest CDV as a percentage of the nominal cell time for a CBR connection, ABR_CNT is set proportionally lower for shapers that have a lower programmed PCR_CNT. A lower ARB_CNT value produces a lower average CDV.
The worst case CDV generated from an ideal source is determined by the line_rate (in cells/second), and the number of VCs associated with the high priority traffic class. The cell delay variation is given by the following equation:
_ number high priority VCs - 1 line_rate
The explanation of this equation is relatively simple. All the high priority VCs could possibly be scheduled for a single time slot. In this case, one VC will have to wait for all the other VCs to be transmitted before it can be transmitted. Since the scheduler implements various rates by purposely skipping transmission opportunities, the worst case CDV implemented by the scheduler is directly related to the SKIP_CNT. In fact the CDV generated by the scheduler can be approximated as SKIP_CNT x ideal_worst_case_CDV reduced by the ratio of the PCR/scheduled_PCR. Figure 9 shows an example of how the actual CBR shape differs from the ideal CBR shape.
The equations needed to calculate how the actual CDV differs from the ideal CDV are:
CR = scheduled PCR x MBS CNT ^
(MBS_CNT + SKIP_CNT)
PCR
Actual CDV = ideal worst case CDV + SKIP CNT x scheduled PCR
For VBR VCs, the SCR_CNT in the associated shaper must be configured. All VBR VCs linked to a particular shaper inherit the PCR as determined by the PCR_CNT. Thus, with 16 shapers, for example, at most 16 different PCRs can be supported for VBR connections. SCR_CNT is set at a value that is greater than or equal the PCR_CNT for any given shaper. Setting SCR_CNT less than PCR_CNT is equivalent to setting SCR_CNT = PCR_CNT. In one embodiment, the calculation of the values for shaper and VC parameters needed in order to achieve a connection of a given PCR, MBS and SCR is substantially simplified if SCR_CNT is an integral multiple of PCR_ CNT. Given this constraint, for a given PCR, MBS, and SCR, in order to generate a cell stream of conforming maximum-sized bursts at the peak rate, the shaper and VC parameters are preferably configured such that:
nrm ^τrrJT T ( SOURCE CLKFREQ PCR_CNT = RoundUp ' < = 2 24
1,
PCR
SCR CNT = N x PCR_CNT < = 224 - 1, MBS_CNT = MBS < = 2s - 1,
SCR
SCR INCR = RoundDown N x PCR CNT x- < = 2 , 1'0 - l, and
SOURCE_CLK_FREQ
1 1
SKIP_CNT - RoundUp I (MBS - 1 ) x (— — ) < 1,
V SCR PCR
where the source clock is chosen to be the maximum such that PCR_CNT < Λ224 - 1 , and N is a positive non-zero integer in the range
PCR ιo 1 λ SOURCE CLK FREQ
RoundUp MBS: <= N <= (2 - l) x SCR PCR CNT x SCR
Here, MBS_CNT and SKIP_CNT are set to generate the required shaping with SCR_CNT and SCR_INCR set such that there is always enough credit.
As an example, to generate a shaped VBR stream of maximal size bursts at the peak rate that conforms to PCR = 66780 cells per second, MBS=5 cells and SCR = 167 cells per second, with a shaper source clock frequency of 66 MHz, the shaper and VC parameters are set to (choosing the maximal value for N):
PCR_CNT = 9881, SCR_CNT = 16758057,
MBS_CNT = 5,
SKIP_COUNT = 156, and
SCR_INCR = 42,
which results in an actual conforming cell stream with PCR = 66779.49, SCR = 165.31 and MBS = 5.
Because the scheduler is able to process 4 VC table entries per cell time if there are no cells found for transmission, VBR VCs are preferably interleaved with CBR VCs when linked to a shaper. Preferably, at most 3 VBR VCs should be linked between full rate CBR connections. If a cell is not found for transmission within the cell time, then an idle cell is inserted in the transmission stream. This may be acceptable, but results in an under-utilization of the full bandwidth available for transmission.
According to one embodiment, priority encoder 150, together with a dequeue processor (not shown) determines the order in which the shapers are serviced, and therefore the order in which VCs are transmitted, when many shapers are vying for transmission. An example of a traffic arbitration algorithm implemented by priority encoder 150 is as follows:
If any CBR only shaper has a VC to send then
Pick CBR shaper with lowest ARB_CNT and send a VC from current pointer of list. If transmitted VC is the last VC on the link list then Reload the shaper' s ARB_CNT;
End If;
Decrement the ARB_CNT of all other shapers that have VCs pending; Else If a VBR shaper' s ABR_CNT < TS_ARB_CNT then
Pick VBR shaper with lowest ARB_CNT and send a VC from current pointer of list. If transmitted VC is the last VC on the link list then Reload the shaper' s ARB_CNT; End If;
Decrement the ARB_CNT of all other shapers that have VCs pending; Else - pick TS scheduler
Send a cell from TS scheduler's next timeslot VC; Reload the TS_ARB_CNT;
Decrement the ARB_CNT of all other shapers that have VCs pending; End If; End If;
In the above algorithm, TS refers to the timeslot scheduler, and TS_ARB_CNT refers to the timeslot scheduler's separate arbiter count value as used by priority encoder 150 for non VBR/CBR transmissions.
While the invention has been described by way of example and in terms of the specific embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. To the contrary, it is intended to cover various modifications and similar arrangements as would be apparent to those skilled in the art. Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.

Claims

WHAT IS CLAIMED IS: 1. A network device, coupled to one or more networks, for shaping cell transmission traffic for a plurality of variable bit rate (VBR) and constant bit rate (CBR) virtual channels (VCs), the device comprising: a plurality of traffic shapers, wherein each shaper is connected to one of a plurality of clock sources, each clock source having a different clock cycle, wherein each shaper is capable of shaping traffic for CBR and VBR VCs, and wherein each shaper includes: a pointer to a first VC in a link list of one or more VCs; a first counter initialized to a first starting value, wherein the first counter is decremented continuously on each clock cycle of the associated clock source; and an arbitration counter; and a priority encoder, coupled to each of the plurality of arbitration counters, for determining transmission priority between the plurality of shapers; wherein, for each shaper, when the first counter is decremented to a value of zero, the arbitration counter is initialized to a second starting value and enabled for selection by the priority encoder, and wherein, for each shaper, the arbitration counter is decremented after a cell transmission time associated with the shaper; and wherein when one or more arbitration counters are enabled, the priority encoder selects for cell transmission the shaper that has the lowest value in its enabled arbitration counter.
2. The device of claim 1 , wherein the entire link list of VCs associated with the shaper selected for cell transmission is walked through before another shaper is selected for cell transmission by the priority encoder.
3. The device of claim 1 , wherein each shaper further includes a third counter initialized to a third starting value, wherein the third counter is decremented continuously on each clock cycle of the associated clock source.
4. The device of claim 3, wherein for each shaper the third starting value is an integral multiple of the first starting value.
5. The device of claim 3, wherein for each shaper, each VC in the link list has a credit count parameter, wherein when the third counter is decremented to a value of zero, the credit count parameter for each associated VC is incremented by an increment value.
6. The device of claim 5, wherein when a shaper is selected for cell transmission only VCs that have a specified credit count parameter value or higher transmit a cell over the one or more networks.
7. The device of claim 1, wherein at least one of the shapers has at least one CBR VC and at least one VBR VC in the associated link list.
8. The device of claim 1 , wherein the associated link list for each of the shapers includes at least one CBR VC and at least one VBR VC.
PCT/US1999/014268 1998-06-27 1999-06-25 Cbr/vbr traffic scheduler WO2000001120A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU47138/99A AU4713899A (en) 1998-06-27 1999-06-25 Cbr/vbr traffic scheduler

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US9093998P 1998-06-27 1998-06-27
US60/090,939 1998-06-27
US09/271,061 US6724767B1 (en) 1998-06-27 1999-03-16 Two-dimensional queuing/de-queuing methods and systems for implementing the same
US09/271,061 1999-03-16

Publications (2)

Publication Number Publication Date
WO2000001120A1 WO2000001120A1 (en) 2000-01-06
WO2000001120A9 true WO2000001120A9 (en) 2000-03-23

Family

ID=26782804

Family Applications (7)

Application Number Title Priority Date Filing Date
PCT/US1999/014263 WO2000001116A1 (en) 1998-06-27 1999-06-25 Method and apparatus for controlling a network processor
PCT/US1999/014522 WO2000000910A1 (en) 1998-06-27 1999-06-25 System and method for controlling a network processor
PCT/US1999/014270 WO2000001121A1 (en) 1998-06-27 1999-06-25 Two-dimensional queuing/de-queuing methods and systems for implementing the same
PCT/US1999/014520 WO2000000892A1 (en) 1998-06-27 1999-06-25 Systems and methods for implementing pointer management
PCT/US1999/014527 WO2000001122A1 (en) 1998-06-27 1999-06-25 Multi-protocol conversion assistance method and system for a network accelerator
PCT/US1999/014268 WO2000001120A1 (en) 1998-06-27 1999-06-25 Cbr/vbr traffic scheduler
PCT/US1999/014264 WO2000001119A1 (en) 1998-06-27 1999-06-25 System and method for performing cut-through forwarding in an atm network supporting lan emulation

Family Applications Before (5)

Application Number Title Priority Date Filing Date
PCT/US1999/014263 WO2000001116A1 (en) 1998-06-27 1999-06-25 Method and apparatus for controlling a network processor
PCT/US1999/014522 WO2000000910A1 (en) 1998-06-27 1999-06-25 System and method for controlling a network processor
PCT/US1999/014270 WO2000001121A1 (en) 1998-06-27 1999-06-25 Two-dimensional queuing/de-queuing methods and systems for implementing the same
PCT/US1999/014520 WO2000000892A1 (en) 1998-06-27 1999-06-25 Systems and methods for implementing pointer management
PCT/US1999/014527 WO2000001122A1 (en) 1998-06-27 1999-06-25 Multi-protocol conversion assistance method and system for a network accelerator

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/US1999/014264 WO2000001119A1 (en) 1998-06-27 1999-06-25 System and method for performing cut-through forwarding in an atm network supporting lan emulation

Country Status (6)

Country Link
US (2) US6724767B1 (en)
EP (2) EP1092199A4 (en)
AT (1) ATE357789T1 (en)
AU (7) AU4722399A (en)
DE (1) DE69935608T2 (en)
WO (7) WO2000001116A1 (en)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6724767B1 (en) * 1998-06-27 2004-04-20 Intel Corporation Two-dimensional queuing/de-queuing methods and systems for implementing the same
US7194554B1 (en) 1998-12-08 2007-03-20 Nomadix, Inc. Systems and methods for providing dynamic network authorization authentication and accounting
US8713641B1 (en) 1998-12-08 2014-04-29 Nomadix, Inc. Systems and methods for authorizing, authenticating and accounting users having transparent computer access to a network using a gateway device
US8266266B2 (en) 1998-12-08 2012-09-11 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
US6976083B1 (en) * 1999-02-19 2005-12-13 International Business Machines Corporation Apparatus for providing direct data processing access using a queued direct input-output device
US7392279B1 (en) * 1999-03-26 2008-06-24 Cisco Technology, Inc. Network traffic shaping using time-based queues
WO2001013590A1 (en) * 1999-08-17 2001-02-22 Conexant Systems, Inc. Integrated circuit with a core processor and a co-processor to provide traffic stream processing
US6983350B1 (en) 1999-08-31 2006-01-03 Intel Corporation SDRAM controller for parallel processor architecture
US7301954B1 (en) * 1999-09-24 2007-11-27 United States Of America As Represented By The Secretary Of The Navy Multiple-buffer queueing of data packets with high throughput rate
US6697330B1 (en) * 1999-11-26 2004-02-24 Hewlett-Packard Development Company L.P. Method and system for output flow control in network multiplexers
US6532509B1 (en) 1999-12-22 2003-03-11 Intel Corporation Arbitrating command requests in a parallel multi-threaded processing system
US6694380B1 (en) 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
US6661794B1 (en) 1999-12-29 2003-12-09 Intel Corporation Method and apparatus for gigabit packet assignment for multithreaded packet processing
US20020027909A1 (en) * 2000-06-30 2002-03-07 Mariner Networks, Inc. Multientity queue pointer chain technique
EP1197695A3 (en) * 2000-10-13 2003-04-16 Honda Giken Kogyo Kabushiki Kaisha Spool valve
US6947416B1 (en) * 2000-12-13 2005-09-20 Cisco Technology, Inc. Generalized asynchronous HDLC services
AU2002242067A1 (en) * 2001-01-30 2002-08-12 Nomadix, Inc. Methods and systems providing fair queuing and priority scheduling to enhance quality of service in a network
US7342942B1 (en) 2001-02-07 2008-03-11 Cortina Systems, Inc. Multi-service segmentation and reassembly device that maintains only one reassembly context per active output port
US6877081B2 (en) * 2001-02-13 2005-04-05 International Business Machines Corporation System and method for managing memory compression transparent to an operating system
US6990115B2 (en) * 2001-02-26 2006-01-24 Seabridge Ltd. Queue control method and system
US7324509B2 (en) * 2001-03-02 2008-01-29 Broadcom Corporation Efficient optimization algorithm in memory utilization for network applications
US6937606B2 (en) * 2001-04-20 2005-08-30 International Business Machines Corporation Data structures for efficient processing of IP fragmentation and reassembly
US7286566B1 (en) 2001-05-08 2007-10-23 Cortina Systems, Inc. Multi-service segmentation and reassembly device that maintains reduced number of segmentation contexts
US7185105B2 (en) * 2001-05-11 2007-02-27 Bea Systems, Inc. Application messaging system with flexible message header structure
WO2002096043A1 (en) * 2001-05-21 2002-11-28 Xelerated Ab Method and apparatus for processing blocks in a pipeline
KR20020090556A (en) * 2001-05-28 2002-12-05 (주)한내테크놀러지 System for concentration using virtual channel connection between asynchronous transfer mode network and other network and method thereof
US7302684B2 (en) * 2001-06-18 2007-11-27 Microsoft Corporation Systems and methods for managing a run queue
US7210146B2 (en) * 2001-06-18 2007-04-24 Microsoft Corporation Sleep queue management
US7225281B2 (en) * 2001-08-27 2007-05-29 Intel Corporation Multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms
US6868476B2 (en) * 2001-08-27 2005-03-15 Intel Corporation Software controlled content addressable memory in a general purpose execution datapath
US7216204B2 (en) * 2001-08-27 2007-05-08 Intel Corporation Mechanism for providing early coherency detection to enable high performance memory updates in a latency sensitive multithreaded environment
US7487505B2 (en) * 2001-08-27 2009-02-03 Intel Corporation Multithreaded microprocessor with register allocation based on number of active threads
US7046628B2 (en) * 2001-09-24 2006-05-16 Intel Corporation Apparatus and method for just-in-time transfer of transmit commands to a network interface
US7079539B2 (en) * 2001-12-21 2006-07-18 Agere Systems Inc. Method and apparatus for classification of packet data prior to storage in processor buffer memory
CN1299477C (en) * 2001-12-28 2007-02-07 中兴通讯股份有限公司 Method for implementing multiplex line speed ATM interface in multi-layer network exchange
US7015919B1 (en) 2002-01-08 2006-03-21 Apple Computer, Inc. Virtualization of graphics resources
US6809736B1 (en) * 2002-01-08 2004-10-26 Apple Computer, Inc. Virtualization of graphics resources
US6809735B1 (en) * 2002-01-08 2004-10-26 Apple Computer, Inc. Virtualization of graphics resources
US7768522B2 (en) * 2002-01-08 2010-08-03 Apple Inc. Virtualization of graphics resources and thread blocking
US7610451B2 (en) * 2002-01-25 2009-10-27 Intel Corporation Data transfer mechanism using unidirectional pull bus and push bus
US7584262B1 (en) 2002-02-11 2009-09-01 Extreme Networks Method of and system for allocating resources to resource requests based on application of persistence policies
US7321926B1 (en) 2002-02-11 2008-01-22 Extreme Networks Method of and system for allocating resources to resource requests
US7298746B1 (en) * 2002-02-11 2007-11-20 Extreme Networks Method and system for reassembling and parsing packets in a network environment
US7814204B1 (en) 2002-02-11 2010-10-12 Extreme Networks, Inc. Method of and system for analyzing the content of resource requests
US7447777B1 (en) 2002-02-11 2008-11-04 Extreme Networks Switching system
US7725528B1 (en) 2002-03-06 2010-05-25 Rockwell Automation Technologies, Inc. System and methodology providing optimized data exchange with industrial controller
US7317721B1 (en) * 2002-04-12 2008-01-08 Juniper Networks, Inc. Systems and methods for memory utilization during packet forwarding
US20040006636A1 (en) * 2002-04-19 2004-01-08 Oesterreicher Richard T. Optimized digital media delivery engine
US7486678B1 (en) * 2002-07-03 2009-02-03 Greenfield Networks Multi-slice network processor
US7337275B2 (en) * 2002-08-13 2008-02-26 Intel Corporation Free list and ring data structure management
US7206858B2 (en) * 2002-09-19 2007-04-17 Intel Corporation DSL transmit traffic shaper structure and procedure
US20040100900A1 (en) * 2002-11-25 2004-05-27 Fulcrum Microsystems, Inc. Message transfer system
CN1640071A (en) * 2002-12-03 2005-07-13 富士通株式会社 Communication device and band control method
US7450599B2 (en) * 2003-02-08 2008-11-11 Hewlett-Packard Development Company, L.P. Apparatus and method for communicating with a network
DE10347762B4 (en) * 2003-10-14 2007-05-03 Infineon Technologies Ag Method for storing transmission units and network communication device
US7213099B2 (en) * 2003-12-30 2007-05-01 Intel Corporation Method and apparatus utilizing non-uniformly distributed DRAM configurations and to detect in-range memory address matches
US7284075B2 (en) * 2004-03-23 2007-10-16 Intel Corporation Inbound packet placement in host memory
US20050249228A1 (en) * 2004-05-05 2005-11-10 Linden Cornett Techniques for providing scalable receive queues
EP1772016A2 (en) * 2004-07-23 2007-04-11 Beach Unlimited LLC Trickmodes and speed transitions
US7366865B2 (en) * 2004-09-08 2008-04-29 Intel Corporation Enqueueing entries in a packet queue referencing packets
KR100930520B1 (en) 2007-01-25 2009-12-09 삼성전자주식회사 Methods and devices for processing queues in network systems
US7636761B1 (en) * 2008-09-29 2009-12-22 Gene Fein Measurement in data forwarding storage
US7599997B1 (en) 2008-08-01 2009-10-06 Gene Fein Multi-homed data forwarding storage
US9203928B2 (en) 2008-03-20 2015-12-01 Callahan Cellular L.L.C. Data storage and retrieval
US7636759B1 (en) * 2008-09-29 2009-12-22 Gene Fein Rotating encryption in data forwarding storage
US8458285B2 (en) * 2008-03-20 2013-06-04 Post Dahl Co. Limited Liability Company Redundant data forwarding storage
US8386585B2 (en) * 2008-04-25 2013-02-26 Tajitshu Transfer Limited Liability Company Real-time communications over data forwarding framework
US8452844B2 (en) * 2008-05-07 2013-05-28 Tajitshu Transfer Limited Liability Company Deletion in data file forwarding framework
US8370446B2 (en) 2008-07-10 2013-02-05 Tajitshu Transfer Limited Liability Company Advertisement forwarding storage and retrieval network
US8599678B2 (en) 2008-07-10 2013-12-03 Tajitshu Transfer Limited Liability Company Media delivery in data forwarding storage network
US20100017513A1 (en) * 2008-07-16 2010-01-21 Cray Inc. Multiple overlapping block transfers
US8478823B2 (en) * 2008-09-29 2013-07-02 Tajitshu Transfer Limited Liability Company Selective data forwarding storage
US8352635B2 (en) * 2008-09-29 2013-01-08 Tajitshu Transfer Limited Liability Company Geolocation assisted data forwarding storage
TWI378689B (en) * 2009-05-13 2012-12-01 Jmicron Technology Corp Packet receiving management method and network control circuit with packet receiving management functionality
US8156265B2 (en) * 2009-06-02 2012-04-10 Freescale Semiconductor, Inc. Data processor coupled to a sequencer circuit that provides efficient scalable queuing and method
US8995460B1 (en) * 2012-05-14 2015-03-31 Arris Enterprises, Inc. Embedded control data in communications systems
CN108462652B (en) * 2017-07-31 2019-11-12 新华三技术有限公司 A kind of message processing method, device and the network equipment
CN116955247B (en) * 2023-09-18 2024-02-09 北京云豹创芯智能科技有限公司 Cache descriptor management device and method, medium and chip thereof

Family Cites Families (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1499184A (en) 1974-04-13 1978-01-25 Mathematik & Datenverarbeitung Circuit arrangement for monitoring the state of memory segments
US4700294A (en) 1982-10-15 1987-10-13 Becton Dickinson And Company Data storage system having means for compressing input data from sets of correlated parameters
SE448919B (en) 1983-03-04 1987-03-23 Ibm Svenska Ab METHOD FOR TRANSFERING INFORMATION DEVICES IN A COMPUTER NETWORK, AND COMPUTER NETWORK FOR IMPLEMENTATION OF THE METHOD
US5287537A (en) 1985-11-15 1994-02-15 Data General Corporation Distributed processing system having plural computers each using identical retaining information to identify another computer for executing a received command
FR2645986B1 (en) 1989-04-13 1994-06-17 Bull Sa METHOD FOR ACCELERATING MEMORY ACCESS OF A COMPUTER SYSTEM AND SYSTEM FOR IMPLEMENTING THE METHOD
US5473772A (en) 1991-04-02 1995-12-05 International Business Machines Corporation Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs
US5495482A (en) * 1989-09-29 1996-02-27 Motorola Inc. Packet transmission system and method utilizing both a data bus and dedicated control lines
US5769978A (en) * 1990-07-27 1998-06-23 Compagnie Generale Des Etablissments Michelin - Michelin & Cie Tire having a thread with lateral ribs the surface of which is radially recessed with respect to the other ribs
EP0529127B1 (en) 1991-08-27 1996-10-23 Siemens Aktiengesellschaft Circuit for monitoring the bit rate in ATM-networks
US5379297A (en) 1992-04-09 1995-01-03 Network Equipment Technologies, Inc. Concurrent multi-channel segmentation and reassembly processors for asynchronous transfer mode
EP0611507B1 (en) 1991-11-08 1998-07-01 Teledesic LLC Switching method and apparatus for satellite communication system
US5524116A (en) * 1992-02-14 1996-06-04 At&T Corp. Packet framer
GB9205551D0 (en) 1992-03-13 1992-04-29 Inmos Ltd Cache memory
US5825765A (en) 1992-03-31 1998-10-20 Fore Systems, Inc. Communication network based on ATM for general purpose computers
JPH066362A (en) 1992-06-23 1994-01-14 Hitachi Ltd Message processing load distribution system for host system in lan
US6233702B1 (en) 1992-12-17 2001-05-15 Compaq Computer Corporation Self-checked, lock step processor pairs
US5619650A (en) 1992-12-31 1997-04-08 International Business Machines Corporation Network processor for transforming a message transported from an I/O channel to a network by adding a message identifier and then converting the message
EP0689748B1 (en) 1993-03-20 1998-09-16 International Business Machines Corporation Method and apparatus for extracting connection information from protocol headers
US5867712A (en) 1993-04-05 1999-02-02 Shaw; Venson M. Single chip integrated circuit system architecture for document instruction set computing
US5394402A (en) 1993-06-17 1995-02-28 Ascom Timeplex Trading Ag Hub for segmented virtual local area network with shared media access
US5640399A (en) 1993-10-20 1997-06-17 Lsi Logic Corporation Single chip network router
US5802287A (en) 1993-10-20 1998-09-01 Lsi Logic Corporation Single chip universal protocol multi-function ATM network interface
US5481536A (en) 1993-10-29 1996-01-02 Siemens Aktiengesellschaft Method for restoring a prescribed sequence for unordered cell streams in ATM switching technology
US5524110A (en) 1993-11-24 1996-06-04 Intel Corporation Conferencing over multiple transports
US5414707A (en) 1993-12-01 1995-05-09 Bell Communications Research, Inc. Broadband ISDN processing method and system
JP3169155B2 (en) 1993-12-22 2001-05-21 インターナショナル・ビジネス・マシーンズ・コーポレ−ション Circuit for caching information
US5974457A (en) 1993-12-23 1999-10-26 International Business Machines Corporation Intelligent realtime monitoring of data traffic
JP3354689B2 (en) 1994-02-28 2002-12-09 富士通株式会社 ATM exchange, exchange and switching path setting method thereof
US5652872A (en) 1994-03-08 1997-07-29 Exponential Technology, Inc. Translator having segment bounds encoding for storage in a TLB
US5515370A (en) 1994-03-31 1996-05-07 Siemens Aktiengesellschaft Circuit arrangement for line units of an ATM switching equipment
DE69428267D1 (en) 1994-04-28 2001-10-18 Hewlett Packard Co Generation of channel identifiers
US5666293A (en) * 1994-05-27 1997-09-09 Bell Atlantic Network Services, Inc. Downloading operating system software through a broadcast channel
JP3740195B2 (en) 1994-09-09 2006-02-01 株式会社ルネサステクノロジ Data processing device
US5548587A (en) * 1994-09-12 1996-08-20 Efficient Networks, Inc. Asynchronous transfer mode adapter for desktop applications
US5684654A (en) * 1994-09-21 1997-11-04 Advanced Digital Information System Device and method for storing and retrieving data
US5539729A (en) 1994-12-09 1996-07-23 At&T Corp. Method for overload control in a packet switch that processes packet streams having different priority levels
KR0132959B1 (en) 1994-12-22 1998-04-21 양승택 No-connection type server for service thereof in atm network
JPH08186585A (en) 1995-01-05 1996-07-16 Fujitsu Ltd Atm switchboard
US5857075A (en) 1995-01-11 1999-01-05 Sony Corporation Method and integrated circuit for high-bandwidth network server interfacing to a local area network
US5764895A (en) 1995-01-11 1998-06-09 Sony Corporation Method and apparatus for directing data packets in a local area network device having a plurality of ports interconnected by a high-speed communication bus
US5943693A (en) 1995-03-29 1999-08-24 Intel Corporation Algorithmic array mapping to decrease defect sensitivity of memory devices
US5659794A (en) 1995-03-31 1997-08-19 Unisys Corporation System architecture for improved network input/output processing
US5684797A (en) 1995-04-05 1997-11-04 International Business Machines Corporation ATM cell multicasting method and apparatus
US5535201A (en) 1995-05-10 1996-07-09 Mitsubishi Electric Research Laboratories, Inc. Traffic shaping system using two dimensional timing chains
EP1686742B1 (en) 1995-06-05 2008-10-01 NEC Electronics Corporation Communiction control device and method for an ATM system applicable to an ABR mode
US5638371A (en) 1995-06-27 1997-06-10 Nec Usa, Inc. Multiservices medium access control protocol for wireless ATM system
US5664116A (en) 1995-07-07 1997-09-02 Sun Microsystems, Inc. Buffering of data for transmission in a computer communication system interface
EP0752664A3 (en) 1995-07-07 2006-04-05 Sun Microsystems, Inc. Method and apparatus for reporting data transfer between hardware and software
US5805805A (en) 1995-08-04 1998-09-08 At&T Corp. Symmetric method and apparatus for interconnecting emulated lans
US5751951A (en) 1995-10-30 1998-05-12 Mitsubishi Electric Information Technology Center America, Inc. Network interface
CA2186795A1 (en) 1995-11-17 1997-05-18 Cormac John Sreenan Resource management system for a broadband multipoint bridge
US5826030A (en) 1995-11-30 1998-10-20 Excel Switching Corporation Telecommunication switch having a universal API with a single call processing message including user-definable data and response message each having a generic format
KR0157152B1 (en) 1995-12-23 1998-11-16 양승택 Apparatus with expansibility for processing atm layer function
US5751709A (en) 1995-12-28 1998-05-12 Lucent Technologies Inc. Adaptive time slot scheduling apparatus and method for end-points in an ATM network
IL116804A (en) * 1996-01-17 1998-12-06 R N S Remote Networking Soluti Application user interface redirector
US5745477A (en) 1996-01-25 1998-04-28 Mitsubishi Electric Information Technology Center America, Inc. Traffic shaping and ABR flow control
US5696930A (en) 1996-02-09 1997-12-09 Advanced Micro Devices, Inc. CAM accelerated buffer management
US6021263A (en) 1996-02-16 2000-02-01 Lucent Technologies, Inc. Management of ATM virtual circuits with resources reservation protocol
US5841772A (en) 1996-03-07 1998-11-24 Lsi Logic Corporation ATM communication system interconnect/termination unit
US5848068A (en) 1996-03-07 1998-12-08 Lsi Logic Corporation ATM communication system interconnect/termination unit
US5870561A (en) 1996-03-15 1999-02-09 Novell, Inc. Network traffic manager server for providing policy-based recommendations to clients
US5740171A (en) 1996-03-28 1998-04-14 Cisco Systems, Inc. Address translation mechanism for a high-performance network switch
US6199133B1 (en) * 1996-03-29 2001-03-06 Compaq Computer Corporation Management communication bus for networking devices
US5754530A (en) 1996-04-18 1998-05-19 Northern Telecom Limited Flow control of ABR traffic in ATM networks
US5768527A (en) 1996-04-23 1998-06-16 Motorola, Inc. Device, system and method of real-time multimedia streaming
US5748630A (en) 1996-05-09 1998-05-05 Maker Communications, Inc. Asynchronous transfer mode cell processing system with load multiple instruction and memory write-back
US5764896A (en) 1996-06-28 1998-06-09 Compaq Computer Corporation Method and system for reducing transfer latency when transferring data from a network to a computer system
US5983332A (en) 1996-07-01 1999-11-09 Sun Microsystems, Inc. Asynchronous transfer mode (ATM) segmentation and reassembly unit virtual address translation unit architecture
US5991854A (en) 1996-07-01 1999-11-23 Sun Microsystems, Inc. Circuit and method for address translation, using update and flush control circuits
US5912892A (en) 1996-08-30 1999-06-15 Hughes Electronics Corporation Method of providing fractional path service on an ATM network
US5956336A (en) 1996-09-27 1999-09-21 Motorola, Inc. Apparatus and method for concurrent search content addressable memory circuit
US6463477B1 (en) * 1996-09-27 2002-10-08 Mci Communications Corporation Detection of presence of multiprotocol encapsulation in a data packet
US6005943A (en) 1996-10-29 1999-12-21 Lucent Technologies Inc. Electronic identifiers for network terminal devices
JPH10136439A (en) 1996-10-30 1998-05-22 Fujitsu Ltd Mobile communication system, mobile terminal, base station, mobile exchange and mobile communication controlling method
US6075790A (en) * 1996-12-11 2000-06-13 Brooktree Corporation Asynchronous transfer mode system for, and method of, writing a cell payload between a control queue on one side of a system bus and a status queue on the other side of the system bus
US5878232A (en) 1996-12-27 1999-03-02 Compaq Computer Corporation Dynamic reconfiguration of network device's virtual LANs using the root identifiers and root ports determined by a spanning tree procedure
US6337863B1 (en) 1997-01-17 2002-01-08 Alcatel Interworking, Inc. Seamless communication service with intelligent edge devices
GB2324000B (en) 1997-01-17 1999-03-24 Dipak Mohan Lal Soni A hybrid distributed broadcast and unknown server for emulated local area networks
GB2322761B (en) 1997-01-17 1999-02-10 Donal Casey Method for selecting virtual channels based on address p;riority in an asynchronous transfer mode device
EP0866630A1 (en) 1997-02-14 1998-09-23 Nec Corporation ATM network with a filtering table for securing communication
US5935249A (en) 1997-02-26 1999-08-10 Sun Microsystems, Inc. Mechanism for embedding network based control systems in a local network interface device
JPH10242990A (en) 1997-02-28 1998-09-11 Nec Commun Syst Ltd Communication system for lec bridge device
JP3545570B2 (en) 1997-03-18 2004-07-21 富士通株式会社 Switching hub
US5974462A (en) 1997-03-28 1999-10-26 International Business Machines Corporation Method and apparatus for controlling the number of servers in a client/server system
US6114996A (en) * 1997-03-31 2000-09-05 Qualcomm Incorporated Increased bandwidth patch antenna
US5909441A (en) 1997-04-11 1999-06-01 International Business Machines Corporation Apparatus and method for reducing frame loss in route switched networks
US6041059A (en) 1997-04-25 2000-03-21 Mmc Networks, Inc. Time-wheel ATM cell scheduling
US6052383A (en) 1997-05-29 2000-04-18 3Com Corporation LAN to ATM backbone switch module
US6223292B1 (en) 1997-07-15 2001-04-24 Microsoft Corporation Authorization systems, methods, and computer program products
US6104700A (en) 1997-08-29 2000-08-15 Extreme Networks Policy based quality of service
US5978951A (en) 1997-09-11 1999-11-02 3Com Corporation High speed cache management unit for use in a bridge/router
US6434620B1 (en) * 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US6167049A (en) 1997-11-18 2000-12-26 Cabletron Systems, Inc. Non-zero minimum cell rate for available bit rate ATM service
US6198751B1 (en) 1997-11-19 2001-03-06 Cabletron Systems, Inc. Multi-protocol packet translator
US6003027A (en) 1997-11-21 1999-12-14 International Business Machines Corporation System and method for determining confidence levels for the results of a categorization system
US6058434A (en) 1997-11-26 2000-05-02 Acuity Imaging, Llc Apparent network interface for and between embedded and host processors
US6754206B1 (en) * 1997-12-04 2004-06-22 Alcatel Usa Sourcing, L.P. Distributed telecommunications switching system and method
WO1999030514A2 (en) 1997-12-12 1999-06-17 Alcatel Usa Sourcing, L.P. Network management
US6119170A (en) 1997-12-29 2000-09-12 Bull Hn Information Systems Inc. Method and apparatus for TCP/IP multihoming on a host system configured with multiple independent transport provider systems
US6351474B1 (en) * 1998-01-14 2002-02-26 Skystream Networks Inc. Network distributed remultiplexer for video program bearing transport streams
US6154776A (en) 1998-03-20 2000-11-28 Sun Microsystems, Inc. Quality of service allocation on a network
US6201971B1 (en) 1998-03-26 2001-03-13 Nokia Mobile Phones Ltd. Apparatus, and associated method for controlling service degradation performance of communications in a radio communication system
US6522188B1 (en) * 1998-04-10 2003-02-18 Top Layer Networks, Inc. High-speed data bus for network switching
US6073175A (en) 1998-04-27 2000-06-06 International Business Machines Corporation Method for supporting different service levels in a network using web page content information
US6144996A (en) 1998-05-13 2000-11-07 Compaq Computer Corporation Method and apparatus for providing a guaranteed minimum level of performance for content delivery over a network
US6311212B1 (en) 1998-06-27 2001-10-30 Intel Corporation Systems and methods for on-chip storage of virtual connection descriptors
US6425067B1 (en) 1998-06-27 2002-07-23 Intel Corporation Systems and methods for implementing pointer management
US6724767B1 (en) * 1998-06-27 2004-04-20 Intel Corporation Two-dimensional queuing/de-queuing methods and systems for implementing the same
US6272544B1 (en) 1998-09-08 2001-08-07 Avaya Technology Corp Dynamically assigning priorities for the allocation of server resources to completing classes of work based upon achievement of server level goals
US6452923B1 (en) 1998-12-31 2002-09-17 At&T Corp Cable connected wan interconnectivity services for corporate telecommuters
US6343078B1 (en) 2000-05-12 2002-01-29 3Com Corporation Compression of forwarding decisions in a network device

Also Published As

Publication number Publication date
WO2000001119A1 (en) 2000-01-06
WO2000000892A1 (en) 2000-01-06
US20040028067A1 (en) 2004-02-12
EP1131923B1 (en) 2007-03-21
WO2000001121A9 (en) 2000-03-30
AU4713899A (en) 2000-01-17
US7411968B2 (en) 2008-08-12
DE69935608D1 (en) 2007-05-03
AU4836599A (en) 2000-01-17
EP1131923A4 (en) 2004-07-07
WO2000001122A9 (en) 2000-03-23
DE69935608T2 (en) 2007-11-29
EP1131923A1 (en) 2001-09-12
WO2000001120A1 (en) 2000-01-06
AU4713699A (en) 2000-01-17
AU4714099A (en) 2000-01-17
AU4722399A (en) 2000-01-17
AU4713599A (en) 2000-01-17
AU4961599A (en) 2000-01-17
ATE357789T1 (en) 2007-04-15
WO2000001122A1 (en) 2000-01-06
EP1092199A4 (en) 2004-10-06
WO2000001121A1 (en) 2000-01-06
EP1092199A1 (en) 2001-04-18
US6724767B1 (en) 2004-04-20
WO2000001116A1 (en) 2000-01-06
WO2000000910A1 (en) 2000-01-06

Similar Documents

Publication Publication Date Title
US6501731B1 (en) CBR/VBR traffic scheduler
WO2000001120A9 (en) Cbr/vbr traffic scheduler
US5926459A (en) Rate shaping in per-flow queued routing mechanisms for available bit rate service
US6377583B1 (en) Rate shaping in per-flow output queued routing mechanisms for unspecified bit rate service
US6519595B1 (en) Admission control, queue management, and shaping/scheduling for flows
US6038217A (en) Rate shaping in per-flow output queued routing mechanisms for available bit rate (ABR) service in networks having segmented ABR control loops
US5530695A (en) UPC-based traffic control framework for ATM networks
US6064650A (en) Rate shaping in per-flow output queued routing mechanisms having output links servicing multiple physical layers
US6064677A (en) Multiple rate sensitive priority queues for reducing relative data transport unit delay variations in time multiplexed outputs from output queued routing mechanisms
US6466997B1 (en) Method and apparatus for performing TX raw cell status report frequency and interrupt frequency mitigation in a network node
US6064651A (en) Rate shaping in per-flow output queued routing mechanisms for statistical bit rate service
US7061860B1 (en) Network traffic shaping
US5970229A (en) Apparatus and method for performing look-ahead scheduling of DMA transfers of data from a host memory to a transmit buffer memory
EP0702472A1 (en) A method and an apparatus for shaping the output traffic in a fixed length cell switching network node
US20040233912A1 (en) Method and systems for controlling ATM traffic using bandwidth allocation technology
US5941952A (en) Apparatus and method for transferring data from a transmit buffer memory at a particular rate
US5822612A (en) Apparatus and method for managing schedule table pointers
US6961342B1 (en) Methods and apparatus for switching packets
EP0817433B1 (en) Packet switched communication system and traffic shaping process
US6067563A (en) Method and apparatus for avoiding control reads in a network node
US6115775A (en) Method and apparatus for performing interrupt frequency mitigation in a network node
US5999980A (en) Apparatus and method for setting a congestion indicate bit in an backwards RM cell on an ATM network
US5960215A (en) Transmit data FIFO for flow controlled data
US5862206A (en) Method and apparatus for performing raw cell status report frequency mitigation on transmit in a network node
US6285657B1 (en) System and method of scheduling data cells based upon sustainable cell rate and peak cell rate over a variable bandwidth channel

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: C2

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C2

Designated state(s): GH GM KE LS MW SD SL SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

COP Corrected version of pamphlet

Free format text: PAGES 1/9-9/9, DRAWINGS, REPLACED BY NEW PAGES 1/9-9/9; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase