EP0839420A1 - Gestion de largeurs de bande attribuees et dynamiques - Google Patents

Gestion de largeurs de bande attribuees et dynamiques

Info

Publication number
EP0839420A1
EP0839420A1 EP96924622A EP96924622A EP0839420A1 EP 0839420 A1 EP0839420 A1 EP 0839420A1 EP 96924622 A EP96924622 A EP 96924622A EP 96924622 A EP96924622 A EP 96924622A EP 0839420 A1 EP0839420 A1 EP 0839420A1
Authority
EP
European Patent Office
Prior art keywords
cell
bandwidth
queue
input
dynamic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP96924622A
Other languages
German (de)
English (en)
Other versions
EP0839420A4 (fr
Inventor
Stephen A. Caldara
Stephen A. Hauser
Thomas A. Manning
Robert B. Mcclure
Matthias L. Colsman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Fujitsu Network Communications Inc
Original Assignee
Fujitsu Ltd
Fujitsu Network Communications Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd, Fujitsu Network Communications Inc filed Critical Fujitsu Ltd
Publication of EP0839420A1 publication Critical patent/EP0839420A1/fr
Publication of EP0839420A4 publication Critical patent/EP0839420A4/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • 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/18End to end
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17375One dimensional, e.g. linear array, ring
    • 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
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L12/5602Bandwidth control in ATM Networks, e.g. leaky bucket
    • 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
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/11Identifying congestion
    • 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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • 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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/266Stopping or restarting the source, e.g. X-on or X-off
    • 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/29Flow control; Congestion control using a combination of thresholds
    • 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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/621Individual queue per connection or flow, e.g. per VC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/104Asynchronous transfer mode [ATM] switching fabrics
    • H04L49/105ATM switching elements
    • H04L49/106ATM switching elements using space switching, e.g. crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/104Asynchronous transfer mode [ATM] switching fabrics
    • H04L49/105ATM switching elements
    • H04L49/107ATM switching elements using shared medium
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • H04L49/153ATM switching fabrics having parallel switch planes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1553Interconnection of ATM switching modules, e.g. ATM switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1553Interconnection of ATM switching modules, e.g. ATM switching fabrics
    • H04L49/1576Crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • H04L49/203ATM switching fabrics with multicast or broadcast capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/255Control mechanisms for ATM switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/256Routing or path finding in ATM switching fabrics
    • 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
    • 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/45Arrangements for providing or supporting expansion
    • H04L49/455Provisions for supporting expansion in ATM switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/552Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/555Error detection
    • 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/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/14Flow control between communication endpoints using intermediate storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0682Clock or time synchronisation in a network by delay compensation, e.g. by compensation of propagation delay or variations thereof, by ranging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0685Clock or time synchronisation in a node; Intranode synchronisation
    • 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
    • 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/5616Terminal equipment, e.g. codecs, synch.
    • 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/5625Operations, administration and maintenance [OAM]
    • H04L2012/5627Fault tolerance and recovery
    • 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/5628Testing
    • 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/5629Admission control
    • 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/5629Admission control
    • H04L2012/5631Resource management and allocation
    • 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/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5632Bandwidth allocation
    • 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/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5632Bandwidth allocation
    • H04L2012/5634In-call negotiation
    • 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/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5632Bandwidth allocation
    • H04L2012/5635Backpressure, e.g. for ABR
    • 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/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/564Connection-oriented
    • H04L2012/5642Multicast/broadcast/point-multipoint, e.g. VOD
    • 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/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/564Connection-oriented
    • H04L2012/5643Concast/multipoint-to-point
    • 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/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5647Cell loss
    • 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/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5647Cell loss
    • H04L2012/5648Packet discarding, e.g. EPD, PTD
    • 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/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5649Cell delay or jitter
    • 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/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5651Priority, marking, classes
    • 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/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5652Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
    • 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/5672Multiplexing, e.g. coding, scrambling
    • 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
    • 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/5681Buffer or queue management
    • 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/5681Buffer or queue management
    • H04L2012/5682Threshold; Watermark
    • 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/5681Buffer or queue management
    • H04L2012/5683Buffer or queue management for avoiding head of line blocking
    • 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/5685Addressing issues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/041Speed or phase control by synchronisation signals using special codes as synchronising signal
    • H04L7/046Speed or phase control by synchronisation signals using special codes as synchronising signal using a dotting sequence

Definitions

  • the invention generally relates to the field of telecommunications networks, and specifically to bandwidth allocation and delay management in an asynchronous transfer mode switch.
  • Telecommunications networks such as asynchronous transfer mode (“ATM") networks are used for transfer of audio, video and other data.
  • ATM networks deliver data by routing data units such as ATM cells from source to destination through switches.
  • Switches include input/output ("I/O") ports through which ATM cells are received and transmitted. The appropriate output port for transmission of the cell is determined based on the cell header.
  • Such traffic types include the constant bit rate (“CBR”) service class, the variable bit rate (“VBR”) service class, the available bit rate (“ABR”) service class, and the unspecified bit rate (“UBR”) service class.
  • CBR constant bit rate
  • VBR variable bit rate
  • ABR available bit rate
  • URR unspecified bit rate
  • Telecommunications network applications such as teleconferencing require deterministic delay bounds, and are typically assigned to the CBR service class.
  • Transaction processing applications such as automated teller machines require a "tightly bounded" delay specification to provide acceptable response times.
  • Such applications typically are assigned to the VBR service class.
  • File transfer applications such as internetwork traffic merely require a "bounded" delay, and thus typically employ the ABR service classes.
  • the UBR service class normally provides no delay bound.
  • Bandwidth is another consideration in establishing an acceptable switch configuration. Video applications typically have a predictable bandwidth requirement, while file transfer applications are much more aperiodic, or "bursty. "
  • Low-delay and complete line utilization are opposing goals when multiplexing asynchronous sources.
  • High utilization is achieved by having a set of connections share bandwidth that is unused by connections that need very low delay. This shared bandwidth is known as dynamic bandwidth because it is distributed to connections based on instantaneous operating conditions.
  • VBR, ABR and UBR utilize dynamic bandwidth to achieve high line utilization.
  • a network switch capable of adaptively accommodating network traffic having such dissimilar delay and bandwidth requirements, and thus providing low-cost, highly efficient integrated services, is required.
  • Integrated services is the accommodation of various traffic types, wherein each of the traffic types is characterized by delay bounds and by guaranteed bandwidth, and wherein each of the traffic types receives allocated bandwidth, dynamic bandwidth, or a combination of both.
  • the presently disclosed invention is an ATM network switch and method capable of adaptively providing highly efficient, and thus low cost, integrated services therein. In providing such integrated service ⁇ , if the input rate for a connection is greater than its allocated bandwidth, the connection can optionally use dynamic bandwidth.
  • the switch includes at least one input port, at least one output port, and input and output buffers associated with the respective input and output ports.
  • Cells enter the switch through the input port and are buffered in the input buffers.
  • the cells are then transmitted from the input buffers to the output buffers, under the control of respective port processors and a Bandwidth Arbiter ("BA”) , and then transmitted to the appropriate output port.
  • BA Bandwidth Arbiter
  • each queue includes multiple buffers, and each switch includes multiple input queues and multiple output queues.
  • each cell Upon entering the switch, each cell is loaded into an input cell buffer belonging to a particular input queue for eventual transmission to an output cell buffer belonging to a particular output queue.
  • Per VC queuing enables connection- level flow control, since cells are grouped according to the input and output port pair they traverse.
  • Individual queues are then assigned to traffic type groups in order to facilitate traffic type flow control. For example, each queue is dedicated to a particular traffic type (sometimes referred to as a service class) such as the variable bit rate (“VBR”) service class and the available bit rate (“ABR”) service class as described above.
  • VBR variable bit rate
  • ABR available bit rate
  • each category In addition to the differentiation of cell traffic into the service categories described above, further levels of priority are introduced within each category because different applications within a category may have different sensitivity to delay. For example, a file transfer performed by a back-up application can tolerate longer delays than a file transfer of a medical image to an awaiting physician.
  • Flow control can also be implemented on these traffic sub- types, with each queue being assigned to a particular connection, thereby providing flow control on a per- connection basis as well as on a per-service category basis.
  • the presently disclosed network switch provides integrated services by transferring input cells to output buffers using bandwidth assigned specifically to such connections (“allocated bandwidth”) , by transferring input cells to output buffers using bandwidth which is instantaneously unallocated by connections requiring allocated bandwidth (“dynamic bandwidth”) , and by transferring input cells to output buffers utilizing a mix of both allocated and dynamic bandwidth.
  • Bandwidth arbitration or the matching of available receivers to transmitters needing to transmit cells to that set of receivers, begins with a determination of what bandwidth is available.
  • a To Switch Port Processor is responsible for receiving a cell from a unidirectional transmission path known as a "link,” for analyzing cell header information to identify a connection with which the cell is associated, and for buffering the cell in accordance with the service class and subclass priority associated with the respective connection. Further, the TSPP is responsible for transferring the cell from the buffer to one or more From Switch Port Processors (“FSPPs”) using the associated switch fabric.
  • FSPPs From Switch Port Processors
  • the bandwidth employed for such transfer can be either allocated or dynamic, or both, as previously characterized.
  • the TSPP employs a time slotted frame concept through the use of a Switch
  • the TSPP also uses two data structures in managing different resources, a queue and a list.
  • a queue is used to manage buffers, and consists of a group of one or more buffered cells organized as a FIFO and manipulated as a linked list using pointers.
  • Incoming cells are added (enqueued) to the tail of the queue.
  • Cells which are sent to the switch fabric are removed (dequeued) from the head of the queue. Cell ordering is always maintained. For a given connection, the sequence of cells that is sent to the switch fabric is identical to that in which they arrived although the time intervals between each departing cell may be different from the inter-cell arrival times.
  • Valid SAT entries provide a pointer to a "scheduling list," in which is maintained a list of queues which may have cells intended for transfer to a particular output port.
  • a scheduling list consists of one or more queue numbers organized as a circular list. As with queues, lists are manipulated as a linked-list structure using pointers. Queue numbers are added to the tail of a list and removed from the head of the list. A queue number can appear only once on any given scheduling list. In addition to being added and removed, queue numbers are recirculated on a list by removing from the head and then adding the removed queue number back onto the tail. This results in round-robin servicing of the queues on a particular list.
  • Allocated time slots which cannot be used at a given instant in time or valid SAT entries where there is no cell to send for that connection cause the TSPP to notify the BA that it can use that time slot as a dynamic bandwidth cell time for any of the TSPPs associated with the switch. In this way, service classes requiring either or both of allocated and dynamic bandwidth are accommodated.
  • Cells received through the switch fabric are received by the FSPP associated with the appropriate output port. Based upon prioritization information associated with the cell at the TSPP, the cells are prioritized and transmitted, with each cell maintained in the same order, relative to other cells on a connection, in which it was received.
  • Fig. 1 is a block diagram of a switch according to the present invention.
  • Fig. 2 is a block diagram illustrating point-to-point and point-to-multipoint operation in the switch of Fig. 1;
  • Fig. 3 illustrates Switch Allocation Tables according to the present invention
  • Fig. 4 illustrates a scheduling list and associated queues according to the present invention
  • Fig. 5 illustrates a linked-list structure for multipoint-to-point and point-to-point transfer arbitration according to the present invention
  • Fig. 6 illustrates the use of priority lists in the present invention
  • Fig. 7 illustrates the relationship between a dynamic bandwidth threshold, allocated bandwidth, and dynamic bandwidth in the present invention
  • Fig. 8 illustrates the distribution of unallocated output ports for dynamic bandwidth utilization in the present invention
  • Fig. 9 is an exemplary queue as used in the present invention.
  • Fig. 10 illustrates the placement of queues on preferred and/or dynamic lists within the FSPP in the present invention.
  • Fig. 11 illustrates preferred and dynamic lists in an FSPP according to the present invention.
  • each MTC 10 includes a plurality of input ports 20, a plurality of output ports 22 and an NxN switch fabric 11, such as a cross point switch, coupled between the input ports 20 and output ports 22.
  • Each input port 20 includes a To Switch Port Processor (“TSPP”) ASIC 14 and each output port 22 includes a From Switch Port Processor (“FSPP”) ASIC 16.
  • TSPP To Switch Port Processor
  • FSPP From Switch Port Processor
  • BA bandwidth arbiter
  • each MTC supports up to four TSPPs 14 or FSPPs 16.
  • the switch fabric 11 includes a data crossbar 13 for data cell transport and the bandwidth arbiter 12 and MTCs 18 for control signal transport.
  • the Bandwidth Arbiter (“BA") ASIC 12 controls, inter alia, transport of data cells from a TSPP 14 to one or more FSPPs 16 through the data crossbar 13 (i.e., switch port scheduling), including the dynamic scheduling of momentarily unassigned bandwidth (as further described below) .
  • Each FSPP 16 receives cells from the data crossbar 13 and schedules transmission of those cells onto network links 30 (i.e., link scheduling).
  • Each of the input ports 20 and output ports 22 includes a plurality of input buffers 26 and output buffers 28, respectively (Fig. 2) .
  • the buffers 26, 28 are organized into a plurality of input queues 32a-m (referred to herein generally as input queues 32) and a plurality of output queues 34a-m (referred to herein generally as output queues 34) , respectively.
  • each input port 20 includes a plurality of input queues 32 and each output port includes a plurality of output queues 34, as shown.
  • the input queues 32 are stored in a Control RAM 41 and a Pointer
  • RAM 50 of the input port 20 and the output queues 34 are stored in a CR1 RAM 61 and a CR2 RAM 63 of the output port 22.
  • the actual cell buffering occurs in Cell Buffer RAM 17, with the queues 32 having pointers to this buffer RAM 17.
  • a data cell 24 enters the switch through an input port 20 and is enqueued on an input queue 32 at the at the respective TSPP 14. The cell is then transmitted from the input queue 32 to one or more output queues 34 via the data crossbar 13.
  • Control signal ⁇ are transmitted from a TSPP 14 to one or more FSPPs 16 via the respective MTC 18 and the bandwidth arbiter 12.
  • data and control signals may be transmitted from an input queue 32 to a particular one of the output queues 34, in the case of a point-to-point connection 40.
  • data and control signals may be transmitted from an input queue 32 to a selected set of output queues 34, in the case of a point-to-multipoint connection 42.
  • the data cell 24 is transmitted outside of the switch 10, for example, to another switch 21 via a network 30.
  • the bandwidth arbiter 12 contains a crossbar controller
  • a transfer request message, or probe control signal flows through the probe crossbar and is used to query whether or not sufficient space is available at a destination output queue, or queues 34, to enqueue a cell.
  • the request message is considered a "forward" control signal since its direction is from a TSPP 14 to one or more FSPPs 16 (i.e., the same direction as data) .
  • a two bit control signal flows in the reverse direction (from one or more FSPPs to a TSPP) through the XOFF crossbar and responds to the request message query by indicating whether or not the destination output queue, or queues 34, are presently capable of accepting data cells and thus, whether or not the transmitting TSPP can transmit cells via the data crossbar 13.
  • the XOFF control signal indicates that the queried output queue(s) 34 are not presently capable of receiving data
  • another reverse control signal which flows through the XON crossbar, notifies the transmitting TSPP once space becomes available at the destination output queue(s) 34.
  • Each output port 22 contains four memories: a Control RAM 1 (CR1 RAM) 61, a Control RAM 2 (CR2 RAM) 63, a Cell Buffer RAM 19, and a Quantum Flow Control RAM (QFC RAM) .
  • the Cell Buffer RAM 19 is where the actual cells are buffered while they await transmission.
  • the CRl RAM 61 and the CR2 RAM 63 contain the output queues 34, with each queue 34 containing pointers to cells in the Cell Buffer RAM 19.
  • the CRl RAM 61 contains information required to implement scheduling lists used to schedule link access by the output queues 34 associated with each link 30 supported by the FSPP 16.
  • the QFC RAM 67 stores update information for transfer to another switch 29 via a network link 30.
  • Update cells are generated in response to the update information provided by a TSPP 14 and specify whether the particular TSPP 14 is presently capable of accepting data cells.
  • the buffers 26, 28 are organized into queues 32, 34 respectively and flow control is implemented on a per queue basis.
  • Each queue includes multiple buffers, and each switch includes multiple input queues 32 and multiple output queues 34.
  • each cell 24 i ⁇ loaded into a particular input queue 32 for eventual transmission to a particular output queue 34.
  • connection level flow control is facilitated.
  • queues 32a, 34a could be dedicated to a particular connection.
  • nested queues of queues may be employed to provide per subclass flow control.
  • each input port includes a TSPP 14, and each output port includes an FSPP 16.
  • the TSPPs and FSPPs each include cell buffer RAM which is organized into queues 32, 34, respectively. All cells in a connection 40 pas ⁇ through a single queue at each port, one at the TSPP and one at the FSPP, for the life of the connection.
  • the queues preserve cell ordering. Thi ⁇ ⁇ trategy also allows quality of service (“QoS”) guarantees on a per connection basis. In the multipoint-to-point case, two or more queues are established to service the multiple source ⁇ .
  • the first action performed by the TSPP is to check the cell header for errors and then to check that the cell is associated with a valid connection.
  • the VPI/VCI fields specified in each cell header are employed as an index into a translation table known as the VXT which is stored in the Control RAM 41.
  • the TSPP first checks to see if this connection is one previously set up by the control software. If recognized, the cell will then be assigned a queue number associated with the connection. At the same time, the cell is converted into an internal cell format by the TSPP.
  • the queue number is associated with a queue descriptor which is a table of state information that is unique to that source.
  • the TSPP After a cell is assigned a queue number from the VXT, the TSPP looks at the corresponding queue descriptor for further information on how to process the cell. The next operation is to try to assign a buffer for the cell. If available, the cell buffer number is enqueued to the tail of its respective queue and the cell is written out to external cell buffer RAM 32.
  • the TSPP In addition to processing and buffering incoming cell streams, the TSPP must transfer the cells from the cell buffer to a group of one or more FSPPs using the switch fabric 11.
  • the bandwidth used for such transfer can either be preassigned (i.e., allocated bandwidth) or dynamically assigned (i.e., dynamic bandwidth).
  • the allocated bandwidth is assigned by Call Acceptance Control (CAC) software.
  • CAC Call Acceptance Control
  • the assignment of dynamic bandwidth depends on the instantaneous utilization of the switch resources, and is controlled by the Bandwidth Arbiter 12.
  • each TSPP has a data structure called a Switch Allocation Table ("SAT") 23 which is used to manage the allocated bandwidth.
  • SAT Switch Allocation Table
  • All TSPPs in the switch are synchronized such that they are all pointing, using a SAT pointer 25, to the same offset in the SAT at any given cell time.
  • each slot in the SAT is active for 32 clock cycles at 50 Mhz, providing approximately 64Kbps of cell payload bandwidth.
  • the pointers scan the SATs every approximately 6msec, thereby providing a maximum delay for transmission opportunity of approximately 6msec.
  • the CAC software is responsible for assigning allocated bandwidth from TSPPs to FSPPs in a conflict-free manner.
  • TSPP look ⁇ at the SAT entry for that cell time.
  • a SAT entry is either not valid or points to a list of queues in TSPP Control RAM 41 called a scheduling list 27 (see Fig. 4). Queue descriptors for each of the queues are also stored in the Control RAM 41. If the SAT entry is invalid, that cell time is made available to the Bandwidth Arbiter for use in as ⁇ igning dynamic bandwidth, as described below. Allocated cell time given up by a particular TSPP may be used as a dynamic bandwidth cell time; it may be used by the TSPP that gave up the slot or it may be given to a different TSPP for use.
  • the decision of which TSPP gets a given dynamic cell time is made by the Bandwidth Arbiter. If the SAT entry contains a valid scheduling list number, as illustrated in Fig. 3 as SLIST 4 27, the TSPP will use the first queue on the referenced scheduling list as the source of the cell to be transferred during that cell time. This is accomplished by the scheduling list containing a "head" pointer 29 and a "tail” pointer 31, as shown in Fig. 4.
  • the head pointer 29 is a pointer to a first queue 33 having a cell to be transmitted to a particular output port.
  • the tail pointer 31 is a pointer to a last queue 35 having a cell to be transmitted to the same output port.
  • each queue a ⁇ sociated with this li ⁇ t ha ⁇ a "next" pointer labelled "N" in Fig. 4 which point ⁇ to the next queue in a ⁇ equence of queues.
  • each queue i ⁇ a linked li ⁇ t wherein the queue de ⁇ criptor has a head pointer pointing to the first cell buffered in this queue, and a tail pointer pointing to the last cell buffered in this queue.
  • Each buffered cell has a next pointer pointing to the next cell in the queue.
  • the SAT for TSPPO presently indicates that a cell time is available to scheduling list 4 27 (SLIST 4) .
  • the head pointer 29 of this scheduling list is pointing to queue 4 33, which has four cells ready to be transmitted to the respective output port.
  • queue 4 33 now becomes the last of the three queues associated with SLIST 4 to be selected next time.
  • the head pointer of SLIST 4 is modified to point to queue 7
  • the tail pointer is modified to point to queue 4
  • the header data of queue 2 is modified to point to queue 4. If queue 4 does not have another cell to be tran ⁇ mitted, the queue i ⁇ dequeued, queue 7 is the next queue, and queue 2 is the last queue.
  • Each entry represents a dynamic bandwidth list for each port and priority (discussed below) , and has a head pointer-tail pointer pair pointing to scheduling lists for port 0, priority 3.
  • "Dynamic Bandwidth Lists" is comprised of entries which are themselves list ⁇ , or in other words, i ⁇ a list of lists.
  • the head pointer for Port 0 3 points to scheduling list 12 (SLIST 12) .
  • SLIST 12 is the first of plural scheduling lists in the linked-list data structure called the dynamic bandwidth list for the port and priority.
  • the tail pointer for Port 0 3 points to the last entry in this linked-list structure, SLIST 5.
  • Each scheduling li ⁇ t in the structure has a pointer to the next scheduling list in the same structure.
  • Each of SLISTs 12, 2 and 5 al ⁇ o has a head pointer-tail pointer pair pointing to at least one queue having a linked- list data structure.
  • the head pointer of SLIST 12 point ⁇ to Queue 3 (labelled Q3)
  • the tail pointer of SLIST 12 points to the last queue in that queue-level linked list, Queue 11 (labelled Qll) .
  • the head and tail pointers of SLIST 2 point to a ⁇ ingle queue, Queue 8 (Q8)
  • the head and tail pointer ⁇ of SLIST 5 point to Queue ⁇ 2 and 6, respectively.
  • a head pointer for Q3 points to the first buffered cell in the queue, labelled Cl, having a pointer to the buffered cell data ("C") , and a pointer ("N") to the next cell in the queue.
  • scheduling list For point-to-point transmission, there is a one-to-one correspondence between scheduling list and queue. This is illustrated in Fig. 5 with SLIST 2 and Queue 8. For multipoint-to-point, there can be plural queues per scheduling list. Such is the case with SLIST 12 and Queues 3 and 11, and with SLIST 5 and Queues 2 and 6.
  • this overall "list of lists" structure By implementing this overall "list of lists" structure in the presently disclosed ATM switch, multiple levels of control are provided. For instance, the first time an event occurs which enables one cell to be transmitted to Port 0 3 , a cell from the first cell in the first queue associated with scheduling list 12 will be selected. This is cell Cl of Queue 3.
  • the pointers of the "Dynamic Bandwidth Lists" list and SLISTs 12 and 5 are adjusted such that SLIST 2 is the next scheduling list from which a cell is provided if dynamic bandwidth becomes available for transmission of a cell to output Port 0 3 .
  • SLIST 5 would be second, and SLIST 12 would then be last.
  • Queue 3 having just provided a cell, becomes the last queue to be eligible to provide a cell vis a vis SLIST 12, with Queue 11 being the next. This occur ⁇ through the manipulation of pointers in SLIST 12 and Queues 3 and 11.
  • Round-robin selection is thus enabled between the scheduling lists and the queues, with even bandwidth distribution being provided at each level.
  • Other scheduling policies can be implemented if other bandwidth distributions are desired.
  • the list of lists approach is applied to the allocation of dynamic bandwidth in the form of Dynamic Bandwidth Lists internal to the TSPP ASIC.
  • 260 dynamic bandwidth lists are employed in the TSPP ASIC in a preferred embodiment.
  • the first 256 of these lists are used for point- to-point ("P2P") and multipoint-to-point (“M2P”) connections.
  • P2P point- to-point
  • M2P multipoint-to-point
  • Four lists are assigned to each one of the switch output ports.
  • Four other list ⁇ are used for point-to-multipoint (“P2M”) connection ⁇ . This is shown at an upper-level in Fig. 6, where for each TSPP, there is a li ⁇ t of lists structure similar to that of Fig. 5.
  • the queue is dropped, or dequeued, from the linked list of queues. Further, when all queues for a particular scheduling list have been dequeued, the scheduling list is removed from the linked list of lists. If all scheduling lists for a particular entry in the linked list are removed, the pointers in the Dynamic Bandwidth List are given null values.
  • Another example of the application of the list of lists structure to the present ATM switch is described below with respect to Output Link Scheduling.
  • the BA utilize ⁇ this priority information to effect the order in which it grants dynamic bandwidth to the TSPP.
  • This prioritization is employed in assigning scheduling lists to one of the four dynamic bandwidth lists.
  • cells from the VBR and ABR service categories are subject to being assigned to any of the four priorities, and UBR cells are subject only to being assigned to the lowest priority dynamic bandwidth list.
  • Each queue for each connection has a dynamic bandwidth threshold 37 associated therewith, as shown in Fig. 4. If a queue buffer depth exceeds the cell depth indicated by the respective dynamic bandwidth threshold 37, the scheduling list for that queue will be added to the appropriate dynamic bandwidth list corresponding to the appropriate output port and priority. For each output port, the dynamic bandwidth list provides an indication of which if any cells are to be transmitted to the respective output port using dynamic bandwidth.
  • a dynamic bandwidth threshold for a queue of CBR cells, or cells requiring a dedicated bandwidth would be established such that the requested bandwidth (labelled "A" in Fig. 7) meets or exceeds the requirement.
  • a dynamic bandwidth threshold such as that labelled "B" in Fig. 7 may be suitable, wherein the majority of the traffic is handled by allocated bandwidth, with momentary bursts handled by high-priority dynamic bandwidth. In either case, bandwidth specifically allocated but unused is made available to the BA by the TSPP for dynamic bandwidth allocation.
  • the dynamic bandwidth threshold is set above any expected peaks in cell reception. Conversely, for categories of service having no (or low) delay bounds and no guaranteed bandwidth, such as UBR, the dynamic bandwidth threshold is set to zero.
  • each queue is also a linked list, wherein the queue descriptor, resident in the control RAM 41, has a head pointer pointing to the first buffer belonging to the queue and containing a cell, and a tail pointer pointing to the last buffer belonging to the queue and containing a cell.
  • the input cells are buffered in the cell buffer RAM 32.
  • the linked list that form ⁇ the queue is just a chain of pointers.
  • the contents of one pointer points to the next pointer, etc.
  • the pointer number is both the logical address of the pointer as well as the logical address of the cell buffer (i.e., the cell buffer number) .
  • the majority of the pointers are stored within Pointer RAM 50 along with the SAT.
  • ⁇ ince cells are removed from the queue in a fir ⁇ t-in-first-out (FIFO) fa ⁇ hion, no matter whether allocated or dynamic bandwidth is u ⁇ ed. This is despite the fact that a scheduling list can be granted transmission opportunities by either the SAT or by a dynamic bandwidth list.
  • FIFO fir ⁇ t-in-first-out
  • all of the queues in each dynamic bandwidth list share, in round-robin fashion, the available dynamic bandwidth for that port.
  • queue 4 from Fig. 4 is added to one of the scheduling lists on the dynamic bandwidth list of Fig. 5.
  • pointers of the dynamic bandwidth list, the respective scheduling list, and any other queues on the scheduling list are adjusted to place a queue on this list; no physical relocation of the queue is involved.
  • no cell ⁇ are added to queue 4 as illustrated in Fig. 4 and no cells are removed from the queue as a result of allocated bandwidth being made available. If two cells are transmitted from this queue as a result of dynamic bandwidth being made available over time during this interval, the cell count in the queue would then be below the respective dynamic bandwidth threshold 37.
  • the queue would then be removed from the dynamic bandwidth list by adjusting the pointers of the appropriate scheduling list and any other queues associated with that scheduling list.
  • the TSPP is assigned either allocated or dynamic bandwidth.
  • the TSPP uses this information in deciding which connection to use in supplying a particular cell to be transferred during that cell time.
  • the Bandwidth Arbiter 12 (“BA") distributes unallocated and unused-allocated ⁇ witch bandwidth, the dynamic bandwidth. The distribution is based on request ⁇ and information ⁇ ent by each TSPP. Each TSPP identifies to the BA output port ⁇ which will have cells sent to them for a particular cell time as a result of allocated bandwidth. In addition, each TSPP provides to the BA an indication of which output ports are requested for access via dynamic bandwidth, a product of the dynamic bandwidth lists. If a TSPP does not have an allocation on the SAT for a specific cell time, it may vie for dynamic bandwidth. Each TSPP can have several outstanding requests stored in the BA.
  • Each TSPP provides its dynamic bandwidth request(s) for a port(s) to the BA via a serially-communicated request to set the bits for the requested output ports.
  • Each TSPP can set or delete bits in its respective request vector, or can change priority with respect to each request - each request has a priority level stored in conjunction therewith.
  • These three commands are executed via a three-bit serial command sent from the respective TSPP to the BA.
  • Up to 16 ports can be requested by the TSPP.
  • each TSPP can request all of the output ports in a switch having sixteen output ports. A request remains set unless it is explicitly deleted by the TSPP.
  • a grant in the form of a port number is returned by the BA to the requesting TSPP.
  • the BA interprets the request ⁇ and stores them in the form of a register bank, one for each priority with a ⁇ et bit indicating a requested port.
  • These dynamic bandwidth requests of all vying TSPPs are fed into a Dynamic Arbitration Unit 43 of the BA, which tries to match the requests with the available (not allocated or allocated but unused) ports.
  • Matched requests are communicated back to the TSPPs, which refer to their dynamic bandwidth lists (described above) in sending cells accordingly. State information is retained by the BA to implement a round-robin service scheme and to determine which was the la ⁇ t TSPP served.
  • a TSPP is served when a Free Output Port Vector in the BA is matched to a TSPP request, whereby the reque ⁇ ted port is granted and the request is subtracted from the Free Output Port Vector.
  • the Free Output Port Vector is then applied to the next TSPP request in an attempt to match unassigned ports to requested ports. Eventually, the Free Output Port Vector will be all or almost all zeroes, and no further match between unassigned ports and requested ports can be found.
  • Fig. 8 illustrates the matching process.
  • TSPP 0 has provided a serial request for ports 0 and 2.
  • the BA indicates that ports 0, 1, and 2 are available for dynamic bandwidth cell transfer via the Free Output Port Vector.
  • P2P point-to-point
  • TSPP 1 has requested ports 0 - 3.
  • Ports 1 and 2 match with the left-over available list.
  • Port 2 is granted, and the new left-over Free Output Port Vector includes port 1.
  • the BA matching process continues until all available ports are granted by the BA, or no unmatched TSPP requests remain.
  • P2M point-to-multipoint
  • matches to P2M request are sought prior to seeking matches to P2P requests, since it i ⁇ more difficult to match all requested ports from one TSPP at once.
  • cell transfer ⁇ are tagged to indicate whether they were above or below their allocated cell rate. The tagging i ⁇ performed by the BA. If a cell is shipped using a SAT slot, it is tagged as scheduled. If the cell i ⁇ ⁇ hipped because it won bandwidth arbitration, it is tagged as not scheduled. This information is employed in FSPP processing, as described below.
  • Traffic of different priority levels is supported in the presently disclosed switch through the assignment of requests to one of four priority levels by the originating TSPP.
  • the BA separates these four levels into either "high” or “low” priority, and attempts to match all high-priority requests prior to attempting to match all low-priority requests.
  • an FSPP Prior to receiving a cell through the switch fabric, an FSPP receives control information indicative of whether the cell transfer utilizes scheduled bandwidth or a dynamic bandwidth.
  • the control information further indicates the queue(s) within which the cell is to be enqueued. This information allows the FSPP to determine whether it has sufficient resources such as queue space, buffer space, bandwidth, etc., to receive the cell.
  • the FSPP does not have sufficient resources to receive a cell, it indicates thi ⁇ by asserting an appropriate control signal.
  • the as ⁇ ertion of this ⁇ ignal means the FSPP is able to receive the cell or the FSPP is not present.
  • Control RAM 1 61 external to the FSPP 16 are four memories, Control RAM 1 61, Control RAM 2 63, Cell Buffer RAM 19, and QFC RAM 67.
  • Control RAM 1 Control RAM 2, and Cell Buffer RAM are used to enqueue and dequeue cells.
  • Control RAM 1 and Control RAM 2 contain the information required to implement the queues, dynamic lists and preferred lists (discussed below) necessary to provide the FSPP functions.
  • the Cell Buffer RAM is where the actual cells are buffered while they await tran ⁇ mi ⁇ sion.
  • the QFC RAM primarily contains storage for a flow control information received from the TSPP, and is accessed during the generation of flow control update cells.
  • the cell buffer pool count register contains the current number of cell buffer locations in use for that pool.
  • the cell buffer pool limit register contains the maximum number of cell buffer locations allowed for that pool.
  • Cell numbers are manipulated to place cell buffer locations into queues. When a cell buffer location in the cell buffer is written with a cell, the cell number pointing to that cell buffer location is then placed on a queue. Cells are transmitted from the queues in the order in which they were received; the first received is the first transmitted. A logical representation of such a queue is illustrated in Fig. 9. Each queue is implemented as a linked list of cell numbers; each cell on the queue points to the next cell on the queue using its cell number as a pointer, as previously described. Each queue has a separate structure, known as the queue descriptor, maintained in Control RAM 2 to point to the head and tail of the queue.
  • the linked list making up a queue is implemented as a set of pointers in Control RAM 1 such that each cell buffer location has one entry.
  • the pointers are indexed using the cell number, with each entry containing another cell number. Thus, one cell number can point to another cell number.
  • the queue descriptor also contains a count of the cells in the queue.
  • a cell Once a cell is placed on a queue, that queue must then be scheduled for transmission. This is done by placing the queue number of that queue on a list.
  • Lists are linked lists of queue numbers, similar to the scheduling lists of the TSPP. Each list has a ⁇ eparate ⁇ tructure, known as the list descriptor, maintained internal to the FSPP to point to the head and tail of the list.
  • Two types of lists are used for scheduling the two types of traffic: preferred lists and dynamic lists.
  • the queue numbers of queues having allocated traffic are placed on the preferred list.
  • the queue numbers of queues having dynamic traffic are placed on the dynamic list. Queues can be found on both the preferred list and the dynamic list since each queue may have both scheduled and unscheduled cells, as shown in Fig. 10.
  • the first entry in the preferred list is a pointer to queue 7, labelled Q7.
  • Q7 is also pointed to by the second entry in the illustrated dynamic list.
  • the preferred list will be serviced before the dynamic list.
  • a queue has no cells assigned to it, it is obviously on neither the preferred list nor the dynamic list. If the queue receives one cell via dynamic bandwidth, the queue is placed on the dynamic list. If the queue receives a second cell, but this time via allocated bandwidth, the queue is also placed on the preferred list. Since servicing of preferred lists take precedence over servicing of dynamic lists, the first cell received in the queue will be chosen for transmission out of the switch via the preferred list, not the dynamic list. The queue will remain on the dynamic list after being removed from the preferred list until the remaining cell is chosen for transmission. Therefore, even though the queue was first placed on the dynamic list, then the preferred list, the first cell is dequeued via the preferred list. This is neces ⁇ ary to ensure and maintain proper cell ordering.
  • the BA is responsible for tagging each cell as either shipped in an allocated SAT slot, or as shipped in an unscheduled dynamic slot. It is thi ⁇ information which is used in assigning queues to preferred and/or dynamic lists.
  • Some queues have mixed service traffic with both allocated and dynamic cells. This is a result of providing integrated services whereby a particular connection may have cells to transmit beyond the respective dynamic bandwidth threshold (see discussion pertaining to Fig. 7 above) .
  • Cells below the threshold are sent as allocated traffic.
  • Cells above the threshold may be sent as dynamic traffic.
  • Queue numbers for the allocated traffic are placed on the preferred list, and queue numbers for the dynamic traffic are placed on the dynamic list. Regardless of order of receipt between allocated and dynamic cells, cells from the queue numbers on the preferred list will be scheduled and removed first. The cells are still transmitted in order out of the FSPP, however, since the cell numbers on the queue remain in order and cell numbers are always removed from the head of the queue. Therefore, even if an individual cell at the head of an output queue was received in the FSPP as an unscheduled, dynamic cell, it will be transmitted first, even if the queue is identified next on a preferred list.
  • a queue number Once a queue number has been added to a list, either a preferred list or a dynamic list, it remains on that list until the queue has no more cells of the appropriate type.
  • a queue number makes it to the head of the list, that queue becomes the next queue within the list from which a cell is tran ⁇ mitted.
  • the queue number is removed from the head of the list and the count of either allocated cells for a preferred list or dynamic cells for a dynamic list is decremented within the queue descriptor. If the decremented counter is non-zero, the queue number is returned to the tail of the list. Otherwi ⁇ e it is dropped from the list.
  • the queues within a list receive round-robin scheduling.
  • each output link is scheduled independently, so there is no interaction between the preferred lists for different links. Newly received cells in a higher priority list are transmitted before previously received cells in a lower priority preferred list.
  • All the preferred lists with allocated traffic for a link are scheduled with a priority above dynamic lists with dynamic traffic for that link.
  • VBR virtual resource pool
  • ABR ABR
  • UBR Universal Resource Block
  • Each type of list is permanently assigned to each output link.
  • the four priorities for each of the VBR and ABR dynamic lists are further divided among two priority levels assigned by the BA: high (bandwidth not met) ; and low (bandwidth exceeded) . These two levels enable the VBR service class to achieve a preselected percentage of dynamic bandwidth before allowing a lower priority service class, ABR, to share in the dynamic bandwidth. Once ABR has achieved its preselected percentage, the remaining dynamic bandwidth is shared among VBR, ABR and UBR.
  • VBR list ⁇ has a lower latency, but may have cell loss.
  • VBR dynamic list ⁇ are guaranteed a minimum bandwidth on an output link. Once the VBR dynamic lists with traffic have received their guaranteed bandwidth, the ABR dynamic list transmits if its minimum bandwidth has not been reached. When the minimum bandwidth for both VBR and ABR have both been sati ⁇ fied, the UBR, VBR and ABR dynamic lists vie in round robin fashion for the remaining bandwidth.
  • ABR also provides four levels of priority. It differs from VBR in that it guarantees no cell loss because flow control is utilized.
  • ABR dynamic list ⁇ are also guaranteed minimum bandwidth on an output link. A ⁇ noted above, once ABR minimum bandwidth has been satisfied, UBR, VBR, and ABR all vie in round-robin fashion for remaining bandwidth.
  • the list of lists structure introduced with respect to Figs. 5 and 7 is also applicable to the processing of cells at the FSPP. Specifically, with regard to Fig. 10 once again, each "cell" illustrated on one of the preferred and dynamic lists is actually a pair of pointers to a queue having one or more cells to be transmitted from the respective port at the respective priority. Each queue is entered only once on a particular list.
  • each list entry points to a linked list of cells to be transmitted - it is a list of lists. Fairness is provided between queues of like priority, prioritization between lists is enabled, and cell prioritization i ⁇ maintained.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

L'invention porte sur un commutateur de réseau MTA (mode de transfert asynchrone) et son procédé d'utilisation destinés à procurer des services intégrés adaptatifs. Lorsque de tels services sont fournis, si la largeur de bande attribuée pour une connexion a été consommée ou que la connexion n'est pas habilitée à recevoir une largeur de bande attribuée, la connexion peut éventuellement recourir à un arbitrage de largeur de bande dynamique, ou à une combinaison de largeurs de bande dynamiques et attribuées. Le commutateur comporte un processeur de ports d'entrée (14), un arbitre de largeur de bande (12), et un processeur de ports de sortie (16). Les cellules transitent de l'entrée vers la sortie sous le contrôle de leurs processeurs de ports respectifs et de l'arbitre de largeur de bande. La régulation du débit se fait par connexion. Les files d'attente individuelles sont alors attribuées à des groupes de types de trafic de manière à assurer une répartition du flux par type de trafic. En fonction des informations de priorité associées à la cellule à l'entrée, les cellules sont affectées d'un ordre de priorité puis émises par la sortie, chacune d'elles conservant dans la connexion son ordre de réception.
EP96924622A 1995-07-19 1996-07-18 Gestion de largeurs de bande attribuees et dynamiques Withdrawn EP0839420A4 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US149895P 1995-07-19 1995-07-19
US1498P 1995-07-19
PCT/US1996/011943 WO1997004564A1 (fr) 1995-07-19 1996-07-18 Gestion de largeurs de bande attribuees et dynamiques

Publications (2)

Publication Number Publication Date
EP0839420A1 true EP0839420A1 (fr) 1998-05-06
EP0839420A4 EP0839420A4 (fr) 2001-07-18

Family

ID=38659695

Family Applications (1)

Application Number Title Priority Date Filing Date
EP96924622A Withdrawn EP0839420A4 (fr) 1995-07-19 1996-07-18 Gestion de largeurs de bande attribuees et dynamiques

Country Status (4)

Country Link
EP (1) EP0839420A4 (fr)
JP (1) JPH11510010A (fr)
AU (1) AU6502496A (fr)
WO (1) WO1997004564A1 (fr)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3471588B2 (ja) 1997-10-30 2003-12-02 株式会社エヌ・ティ・ティ・ドコモ パケット交換網におけるパケット・データの帯域制御方法およびパケット交換網システム
US6044061A (en) * 1998-03-10 2000-03-28 Cabletron Systems, Inc. Method and apparatus for fair and efficient scheduling of variable-size data packets in an input-buffered multipoint switch
US6421348B1 (en) * 1998-07-01 2002-07-16 National Semiconductor Corporation High-speed network switch bus
US7215678B1 (en) 2000-04-10 2007-05-08 Switchcore, A.B. Method and apparatus for distribution of bandwidth in a switch
US7408959B2 (en) * 2002-06-10 2008-08-05 Lsi Corporation Method and apparatus for ensuring cell ordering in large capacity switching systems and for synchronizing the arrival time of cells to a switch fabric
US9942027B2 (en) 2016-03-23 2018-04-10 Rockley Photonics Limited Synchronization and ranging in a switching system
US10091784B1 (en) 2016-12-31 2018-10-02 Sprint Communications Company L.P. Device-to-device (D2D) scheduling control in orthogonal frequency division multiplexing (OFDM) wireless system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2015248C (fr) * 1989-06-30 1996-12-17 Gerald R. Ash Reseau de communication a partage total
GB2266033B (en) * 1992-03-09 1995-07-12 Racal Datacom Ltd Communications bus and controller
JP3042267B2 (ja) * 1993-07-22 2000-05-15 ケイディディ株式会社 適応的呼接続規制制御装置及びその方法
US5485455A (en) * 1994-01-28 1996-01-16 Cabletron Systems, Inc. Network having secure fast packet switching and guaranteed quality of service
US5526344A (en) * 1994-04-15 1996-06-11 Dsc Communications Corporation Multi-service switch for a telecommunications network

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
FAN R ET AL: "EXPANDABLE ATOM SWITCH ARCHITECTURE (XATOM) FOR ATM LANS" NEW ORLEANS, MAY 1 - 5, 1994,NEW YORK, IEEE,US, vol. -, 1 May 1994 (1994-05-01), pages 402-409, XP000438948 *
NOBORU ENDO: "SHARED BUFFER MEMORY SWITCH FOR AN ATM EXCHANGE" IEEE TRANSACTIONS ON COMMUNICATIONS,US,IEEE INC. NEW YORK, vol. 41, no. 1, 1993, pages 237-245, XP000367768 ISSN: 0090-6778 *
See also references of WO9704564A1 *

Also Published As

Publication number Publication date
EP0839420A4 (fr) 2001-07-18
JPH11510010A (ja) 1999-08-31
WO1997004564A1 (fr) 1997-02-06
AU6502496A (en) 1997-02-18

Similar Documents

Publication Publication Date Title
US5748629A (en) Allocated and dynamic bandwidth management
US6438134B1 (en) Two-component bandwidth scheduler having application in multi-class digital communications systems
US6295295B1 (en) Scheduler for an information packet switch
US6064677A (en) Multiple rate sensitive priority queues for reducing relative data transport unit delay variations in time multiplexed outputs from output queued routing mechanisms
US6377583B1 (en) Rate shaping in per-flow output queued routing mechanisms for unspecified bit rate service
US5926459A (en) Rate shaping in per-flow queued routing mechanisms for available bit rate service
US6038217A (en) Rate shaping in per-flow output queued routing mechanisms for available bit rate (ABR) service in networks having segmented ABR control loops
US6064650A (en) Rate shaping in per-flow output queued routing mechanisms having output links servicing multiple physical layers
EP0839422B1 (fr) Structures de listes enchainees pour niveaux multiples de commande dans un commutateur mta
US6865156B2 (en) Bandwidth control method, cell receiving apparatus, and traffic control system
EP1111851B1 (fr) Système ordonnanceur pour l'ordonnancement de cellules ATM
WO1997004564A1 (fr) Gestion de largeurs de bande attribuees et dynamiques
EP0817435B1 (fr) Commutateur pour un système de communication de paquets
EP0817434A2 (fr) Système de communication et procédé de mise en forme du trafic
WO1997004561A1 (fr) Ordonnancement des liaisons
WO1997004542A2 (fr) Arbitrage multipoint a point dans un commutateur de reseau
WO1997004562A1 (fr) Arbitrage pour transmission en point-a-multipoint
WO1997004570A1 (fr) Controle des attributions de largeur de bande a l'aide d'un compteur de cadence
WO1997004565A9 (fr) Arbitrage des priorites lors de transmissions de point a point ou de point a plusieurs points
WO1997004565A1 (fr) Arbitrage des priorites lors de transmissions de point a point ou de point a plusieurs points
WO1997004541A2 (fr) Traitement des echos multipoint-a-multipoint dans un commutateur de reseau possedant des files d'attente de mise en memoire tampon de donnees
WO1997004568A1 (fr) Commutateur de consolidation de service a mode de transfert asynchrone

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 19980216

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): DE FR GB

A4 Supplementary search report drawn up and despatched

Effective date: 20010607

AK Designated contracting states

Kind code of ref document: A4

Designated state(s): DE FR GB

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20050202