DE69631589T2 - Verknüpfte listenstrukturen für mehrere steuerebenen in einer atm-vermittlung - Google Patents

Verknüpfte listenstrukturen für mehrere steuerebenen in einer atm-vermittlung Download PDF

Info

Publication number
DE69631589T2
DE69631589T2 DE69631589T DE69631589T DE69631589T2 DE 69631589 T2 DE69631589 T2 DE 69631589T2 DE 69631589 T DE69631589 T DE 69631589T DE 69631589 T DE69631589 T DE 69631589T DE 69631589 T2 DE69631589 T2 DE 69631589T2
Authority
DE
Germany
Prior art keywords
list
queue
disposition
queues
lists
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.)
Expired - Fee Related
Application number
DE69631589T
Other languages
English (en)
Other versions
DE69631589D1 (de
Inventor
A. Stephen CALDARA
A. Stephen HAUSER
A. Thomas MANNING
L. Raymond STROUBLE
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 DE69631589D1 publication Critical patent/DE69631589D1/de
Application granted granted Critical
Publication of DE69631589T2 publication Critical patent/DE69631589T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • 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
    • 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
    • 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

Landscapes

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

Description

  • Diese Anmeldung beansprucht das Vorrecht aus der vorläufigen US-Anmeldung mit der Seriennr. 60/001,498, eingereicht am 19. Juli 1995.
  • GEBIET DER ERFINDUNG
  • Die Erfindung betrifft allgemein das Gebiet von Telekommunikationsnetzwerken und insbesondere hierarchische Datenstrukturen, die mehrfache Steuerebenen bei einer Vermittlung bzw. bei einem Schalter für ein asynchrones Übertragungsverfahren zur Verfügung stellen.
  • HINTERGRUND DER ERFINDUNG
  • Telekommunikationsnetzwerke, wie beispielsweise Netzwerke für ein asynchrones Übertragungsverfahren ("ATM" = asynchronous transfer mode) werden zur Übertragung von Audio-, Video- und anderen Daten verwendet. ATM-Netzwerke liefern Daten durch Führen von Dateneinheiten, wie beispielsweise ATM-Zellen, von einer Quelle über Schalter bzw. Vermittlungsstellen zu einem Zielort. Die Schalter enthalten Eingangs/Ausgangs("I/O"-)Ports, über welche ATM-Zellen empfangen und gesendet werden. Das geeignete Ausgangsport zum Senden der Zelle wird basierend auf dem Zellenanfangsblock bestimmt.
  • Beim Konfigurieren eines Netzwerkelements, wie beispielsweise eines Schalters für die optimale Übertragung von verschiedenen Verkehrstypen (die manchmal Dienstklassen genannt werden), die durch ATM-Netzwerke unterstützt werden, müssen mehrere Faktoren berücksichtigt werden, wie beispielsweise eine Durchsatzverzögerung und eine erwünschte Bandbreite. Solche Verkehrstypen, die jeweils ihre eigenen Verzögerungs- und Bandbreitenanforderungen haben, enthalten die Dienstklasse für eine konstante Bitrate ("CBR" = constant bit rate), die Dienstklasse für eine variable Bitrate ("VBR" = variable bit rate), die Dienstklasse für eine verfügbare Bitrate ("ABR" = available bit rate) und die Dienstklasse für eine nichtspezifizierte Bitrate ("UBR" = unspecified bit rate).
  • Der Hauptunterschied zwischen den Dienstklassen besteht in der Verzögerung. Anwendungen von Telekommunikationsnetzwerken, wie beispielsweise ein Durchführen einer Telefonkonferenz, erfordern ganz bestimmte Verzögerungsgrenzen und sind typischerweise der CBR-Dienstklasse zugeordnet. Anwendungen von Transaktionsverarbeitungen, wie beispielsweise automatisierte Bankmaschinen, erfordern eine "fest begrenzte" Verzögerungsspezifikation, um akzeptierbare Reaktionszeiten zur Verfügung zur stellen. Solche Anwendungen sind typischerweise der VBR-Dienstklasse zugeordnet. Anwendungen für Dateienübertragungen, wie beispielsweise ein Internetverkehr, erfordern lediglich eine "begrenzte" Verzögerung und verwenden somit typischerweise die ABR-Dienstklassen. Die UBR-Dienstklasse stellt normalerweise keine Verzögerungsgrenze zur Verfügung.
  • Weiterhin muss die Bandbreite beim Bilden einer akzeptierbaren Vermittlungs- bzw. Schalterkonfiguration berücksichtigt werden. Videoanwendungen haben typischerweise eine vorhersagbare Bandbreitenanforderung, während Anwendungen für Dateienübertragungen viel aperiodischer oder "diskontinuierlich" sind.
  • Eine geringfügige Verzögerung und eine vollständige Leitungsausnutzung sind entgegenwirkende Ziele beim Multiplexen von asynchronen Quellen. Eine starke Ausnutzung wird dadurch erreicht, dass man eine Gruppe von Verbindungen eine Bandbreite gemeinsam nutzen lässt, die nicht Verbindungen zugeordnet ist, die eine sehr geringfügige Verzögerung benötigen. Diese gemeinsam genutzte Bandbreite ist als dynamische Bandbreite bekannt, weil sie basierend auf momentanen Betriebsbedingungen auf Verbindungen verteilt wird. VBR, ABR und UBR verwenden eine dynamische Bandbreite zum Erreichen einer starken Leitungsausnutzung.
  • Es ist ein Netzwerkschalter erforderlich, der einen Netzwerkverkehr mit solchen ungleichen Verzögerungs- und Bandbreitenanforderungen adaptiv anpassen kann, und somit billige, äußerst effiziente, integrierte Dienste zur Verfügung stellen kann. Ein solcher Schalter ist beispielsweise aus Endo et al., "Shared Buffer Memory Switch for an ATM Exchange", IEEE Transactions on Communications 41 (1993), Januar, Nr. 1, S. 237–245 bekannt.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Ein integrierter Dienst ist die Unterbringung von verschiedenen Verkehrstypen, wobei jeder der Verkehrstypen durch Verzögerungsgrenzen und durch eine garantierte Bandbreite charakterisiert ist und wobei jeder der Verkehrstypen eine zugeteilte Bandbreite, eine dynamische Bandbreite oder eine Kombination von beiden empfängt. Die gegenwärtig offenbarte Erfindung ist ein ATM-Netzwerkschalter und ein Verfahren, die adaptiv äußerst effiziente und somit billige integrierte Dienste darin zur Verfügung stellen können. Beim Bereitstellen von solchen integrierten Diensten kann dann, wenn die Eingangsrate für eine Verbindung größer als ihre zugeteilte Bandbreite ist, die Verbindung optional eine dynamische Bandbreite verwenden.
  • In einer allgemeinen Übersicht enthält der Schalter wenigstens ein Eingangsport, wenigstens ein Ausgangsport und Eingangs- und Ausgangspuffer, die zu den jeweiligen Eingangsund Ausgangsports gehören. Zellen treten über das Eingangsport in den Schalter ein und werden in den Eingangspuffern gepuffert. Die Zellen werden dann unter der Steuerung von jeweiligen Portprozessoren und einem Bandbreitenzuteiler ("BA" = Bandwidth Arbiter) von den Eingangspuffern zu den Ausgangspuffern gesendet und dann zum geeigneten Ausgangsport gesendet.
  • Zum Bereitstellen von sowohl einer Verbindung als auch einer Verkehrstypenisolation sind die Puffer in Warteschlangen gruppiert und ist eine Flusssteuerung auf einer Pro-Warteschlangen-Basis implementiert. Jede Warteschlange enthält mehrere Puffer und jeder Schalter enthält mehrere Eingangswarteschlangen und mehrere Ausgangswarteschlangen. Auf ein Eintreten in den Schalter hin wird jede Zelle in einen Eingangszellenpuffer, der zu einer bestimmten Eingangswarteschlange gehört, für ein eventuelles Senden zu einem Ausgangszellenpuffer, der zu einer bestimmten Ausgangswarteschlange gehört, geladen. Eine Warteschlangenbildung pro VC ermöglicht eine Verbindungsebenen-Flusssteuerung, da Zellen gemäß dem Eingangs- und Ausgangsportpaar gruppiert werden, die sie durchlaufen. Individuelle Warteschlangen werden dann Verkehrstypengruppen zugeordnet, um eine Verkehrstypen-Flusssteuerung zu ermöglichen. Beispielsweise ist jede Warteschlange für einen bestimmten Verkehrstypen (der manchmal Dienstklasse genannt wird), wie beispielsweise für die Dienstklasse für eine variable Bitrate ("VBR") und für die Dienstklasse für eine verfügbare Bitrate ("ABR"), wie sie oben beschrieben sind, bestimmt.
  • Zusätzlich zu der Unterscheidung eines Zellenverkehrs in die oben beschriebenen Dienstkategorien werden weitere Prioritätsebenen innerhalb jeder Kategorie eingeführt, weil unterschiedliche Anwendungen innerhalb einer Kategorie eine unterschiedliche Empfindlichkeit gegenüber einer Verzögerung haben können. Beispielsweise kann ein durch eine Sicherungsanwendung durchgeführte Dateienübertragung längere Verzögerungen als eine Dateienübertragung eines medizinischen Bilds zu einem wartenden Arzt tolerieren. Eine Flusssteuerung kann auch bei diesen Verkehrsuntertypen implementiert sein, wobei jede Warteschlange einer bestimmten Verbindung zugeordnet wird, um dadurch eine Flusssteuerung auf einer Pro-Verbindungs-Basis sowie auf einer Pro-Dienstkategorien-Basis zur Verfügung zu stellen.
  • Es ist dann für den gegenwärtig offenbarten Netzwerkschalter möglich, integrierte Dienste durch Übertragen von Eingangszellen zu Ausgangspuffern unter Verwendung einer Bandbreite zur Verfügung zu stellen, die insbesondere solchen Verbindungen zugeordnet ist ("zugeteilte Bandbreite"), indem Eingangszellen zu Ausgangspuffern unter Verwendung einer Bandbreite übertragen werden, die momentan nicht Zellen zugeordnet ist, die eine zugeteilte Bandbreite erfordern ("dynamische Bandbreite"), und indem Eingangszellen zu Ausgangspuffern unter Verwendung einer Mischung aus sowohl einer zugeteilten als auch einer dynamischen Bandbreite übertragen werden.
  • Eine Bandbreitenzuteilung oder die Anpassung von verfügbaren Empfängern an Sender, die Zellen zu dieser Gruppe von Empfängern senden müssen, beginnt mit einer Bestimmung davon, welche Bandbreite verfügbar ist.
  • Ein Zum-Schalterport-Prozessor ("TSPP" = To Switch Port Processor) ist verantwortlich für ein Empfangen einer Zelle von einem in einer Richtung verlaufenden Übertragungspfad, der als "Verbindung" bzw. "Zink" bekannt ist, für ein Analysieren einer Zellenanfangsblockinformation zum Identifizieren einer Verbindung, zu welcher die Zelle gehört, und für ein Puffern der Zelle gemäß der Dienstklasse und der Unterklassenpriorität, die der jeweiligen Verbindung zugeordnet sind. Weiterhin ist der TSPP verantwortlich für ein Übertragen der Zelle vom Puffer zu einem oder mehreren Vom-Schalterport-Prozessoren ("FSPP" = From Switch Port Processors) unter Verwendung des zugehörigen Schalteraufbaus.
  • Die für eine solche Übertragung verwendete Bandbreite kann entweder zugeteilt oder dynamisch oder beides sein, wie es zuvor charakterisiert ist.
  • Zum Managen der zugeteilten Bandbreite verwendet der TSPP ein Zeitschlitz-Rahmenkonzept durch die Verwendung einer Schalterzuteilungstabelle ("SAT = Switch Allocation Table). Der TSPP verwendet auch zwei Datenstrukturen beim Managen unterschiedlicher Betriebsmittel, nämlich eine Warteschlange und eine Liste. Eine Warteschlange wird zum Managen von Puffern verwendet und besteht aus einer Gruppe von einer oder mehreren gepufferten Zellen, die als FIFO organisiert sind und als verbundene Liste unter Verwendung von Zeigern manipuliert werden. Ankommende Zellen werden zum Ende der Warteschlange hinzugefügt (in die Warteschlange eingereiht). Zellen, die zum Schalteraufbau bzw. zur Vermittlungsstruktur gesendet werden, werden vom Anfang der Warteschlange entfernt (aus der Warteschlange herausgenommen). Eine Zellenreihenfolge wird immer beibehalten. Für eine gegebene Verbindung ist die Sequenz von Zellen, die zum Schalteraufbau gesendet wird, identisch zu derjenigen, in welcher sie ankam, obwohl die Zeitintervalle zwischen jeder abgehenden Zelle von den Ankunftszeiten zwischen Zellen unterschiedlich sein kann.
  • Gültige SAT-Einträge stellen einen Zeiger zu einer "Zeitplanungsliste" zur Verfügung, in welcher eine Liste von Warteschlangen gehalten wird, die Zellen haben kann, die für eine Übertragung zu einem bestimmten Ausgangsport beabsichtigt sind. Eine Zeitplanungsliste besteht aus einer oder mehreren Warteschlangennummern, die als zirkulare Liste organisiert sind. Wie bei Warteschlangen werden Listen als Struktur einer verbundenen Liste unter Verwendung von Zeigern manipuliert. Warteschlangennummern werden zum Ende einer Liste hinzugefügt und vom Anfang der Liste entfernt. Eine Warteschlangennummer kann nur einmal in irgendeiner gegebenen Zeitplanungsliste erscheinen. Zusätzlich dazu, dass sie hinzugefügt und entfernt werden, werden Warteschlangennummern in einer Liste durch ein Entfernen vom Anfang und dann durch ein Hinzufügen der entfernten Warteschlangennummer zurück an das Ende erneut zirkuliert. Dies resultiert in einem Round-Robin-Dienst der Warteschlangen bei einer bestimmten Liste.
  • Zugeteilte Zeitschlitze, die zu einem gegebenen Zeitpunkt verwendet werden können, oder gültige SAT-Einträge, wo es keine Zelle zum Senden für diese Verbindung gibt, veranlassen, dass der TSPP den BA darüber benachrichtigt, dass er diesen Zeitschlitz als Zellenzeit mit dynamischer Bandbreite für irgendeinen der dem Schalter zugeordneten TSPPs verwenden kann. Auf diese Weise werden Dienstklassen, die eine oder beide einer zugeteilten und einer dynamischen Bandbreite erfordern, untergebracht.
  • Über den Schalteraufbau empfangene Zellen werden durch den zum geeigneten Ausgangsport gehörenden FSPP empfangen. Basierend auf einer Prioritätsgebungsinformation, die zu der Zelle bei den TSPPs gehört, wird den Zellen eine Priorität zugeteilt und werden sie gesendet, wobei jede Zelle relativ zu anderen Zellen bei einer Verbindung, in derselben Reihenfolge beibehalten wird, in welcher sie empfangen wurde.
  • Die Struktur einer verbundenen Liste, für die zuvor angedeutet ist, dass sie mehrere Ebenen von Listen enthält, stellt mehrere Ebenen einer Steuerung zur Verfügung. Theoretisch enthält eine Liste einer oberen Ebene Einträge, die jeweils Referenzen zu einer jeweiligen, nachfolgenden verbundenen Liste sind. Einträge in jeder der nachfolgenden verbundenen Listen sind selbst verbundene Listen. Die Struktur kann durch Hinzufügen einer verbundenen Liste in jedem Eintrag in einer nachfolgenden Liste auf noch weitere Ebenen erweitert werden. Wenn eine Aufgabe unter Verwendung einer solchen Struktur ausgeführt wird, wird eine Gerechtigkeit unter Listenelementen auf jeder Ebene erreicht.
  • Diese Struktur findet Anwendung in Zusammenhang mit dem gegenwärtig offenbarten Netzwerkschalter in mehreren Fällen. Beispielsweise verwendet eine TSPP-Punkt-zu-Punkt-Zuteilung eine solche Struktur beim Erzeugen dynamischer Listen von Zellen, um über eine dynamische Bandbreite durch den Schalter gesendet zu werden. Eine TSPP-Mehrfachpunkt-zu-Punkt-Zuteilung verwendet auch eine solche Struktur, aber mit einer weiteren Ebene von verbundenen Listen. Eine FSPP-Ausgabezeitplanung wird auch unter Verwendung dieser Struktur einer verbundenen Liste erreicht.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Erfindung wird vollständiger durch Bezugnahme auf die folgende Beschreibung und die beigefügten Zeichnungen verstanden werden, von welchen:
  • 1 ein Blockdiagramm eines Schalters gemäß der vorliegenden Erfindung ist,
  • 2 ein Blockdiagramm ist, das einen Punkt-zu-Punktund einen Punkt-zu-Mehrfachpunkt-Betrieb im Schalter der 1 darstellt;
  • 3 Schalterzuteilungstabellen gemäß der vorliegenden Erfindung darstellt;
  • 4 eine Zeitplanungsliste und zugehörige Warteschlangen gemäß der vorliegenden Erfindung darstellt;
  • 5 eine Struktur einer verbundenen Liste für eine Mehrfachpunkt-zu-Punkt- und eine Punkt-zu-Punkt-Übertragungszuteilung gemäß der vorliegenden Erfindung darstellt;
  • 6 die Verwendung von Prioritätslisten bei der vorliegenden Erfindung darstellt;
  • 7 die Beziehung zwischen einer dynamischen Bandbreitenschwelle, einer zugeteilten Bandbreite und einer dynamischen Bandbreite bei der vorliegenden Erfindung darstellt;
  • 8 die Verteilung von nicht zugeteilten Ausgangsports für einen Einsatz einer dynamischen Bandbreite bei der vorliegenden Erfindung darstellt;
  • 9 eine beispielhafte Warteschlange ist, wie sie bei der vorliegenden Erfindung verwendet wird;
  • 10 die Anordnung von Warteschlangen bei bevorzugten und/oder dynamischen Listen innerhalb des FSPP bei der vorliegenden Erfindung darstellt; und
  • 11 bevorzugte und dynamische Listen in einem FSPP gemäß der vorliegenden Erfindung darstellt.
  • DETAILLIERTE BESCHREIBUNG
  • Nimmt man nun Bezug auf 1, enthält der gegenwärtig offenbarte Schalter 10 eine Vielzahl von Eingangsports 20, eine Vielzahl von Ausgangsports 22 und einen N × N-Schalteraufbau bzw. eine N × N-Vermittlungsstruktur 11, wie beispielsweise einen Kreuzstellenschalter, der zwischen den Eingangsports 20 und den Ausgangsports 22 gekoppelt ist. Jedes Eingangsport 20 enthält einen Zum-Schalterport-Prozessor-("TSPP"-)ASIC 14 und jedes Ausgangsport 22 enthält einen Vom-Schalterport-Prozessor-("FSPP"-)ASIC 16. Ein Mehrfachpunkt-Topologiesteuerungs-("MTC" = Multipoint Topology Controller)-ASIC 18 ist zwischen jedem TSPP 14 und einem Bandbreitenzuteiler-("BA"-)ASIC 12 gekoppelt, und auch zwischen dem Bandbreitenzuteiler 12 und jedem FSPP 16, wie es gezeigt ist. Bei einem Ausführungsbeispiel unterstützt jede MTC bis zu vier TSPPs 14 oder FSPPs 16.
  • Der Schalteraufbau 11 enthält eine Datenkreuzschiene 13 für einen Datenzellentransport und den Bandbreitenzuteiler 12 und die MTCs 18 für einen Steuersignaltransport. Der Bandbreitenzuteiler-("BA")-ASIC 12 steuert u. a. einen Transport von Datenzellen von einem TSPP 14 zu einem oder mehreren FSPPs 16 über die Datenkreuzschiene 13 (d. h. Schalterportplanung), einschließlich der dynamischen Zeitplanung einer momentan nicht zugeordneten Bandbreite (wie es nachfolgend weiter beschrieben ist). Jeder FSPP 16 empfängt Zellen von der Datenkreuzschiene 13 und plant ein Senden von diesen Zellen auf Netzwerkverbindungen 30 (d. h. eine Verbindungsplanung).
  • Jeder der Eingangsports 20 und der Ausgangsports 22 enthält jeweils eine Vielzahl von Eingangspuffern 26 und Ausgangspuffern 28 (2). Die Puffer 26, 28 sind jeweils in eine Vielzahl von Eingangswarteschlangen 32am (die hierin allgemein Eingangswarteschlangen 32 genannt werden) und eine Vielzahl von Ausgangswarteschlangen 34am (die hierin allgemein Ausgangswarteschlangen 34 genannt werden) organisiert. Genauer gesagt enthält jedes Eingangsport 20 eine Vielzahl von Eingangswarteschlangen 32 und enthält jedes Ausgangsport eine Vielzahl von Ausgangswarteschlangen 34, wie es gezeigt ist. Die Eingangswarteschlangen 32 werden in einem Steuer-RAM 41 und einem Zeiger-RAM 50 des Eingangsports 20 gespeichert und die Ausgangswarteschlangen 34 werden in einem CR1 RAM 61 und einem CR2 RAM 63 des Ausgangsports 22 gespeichert. Die aktuelle Zellenpufferung erfolgt im Zellenpuffer-RAM 17, wobei die Warteschlangen 32 Zeiger zu diesem Puffer RAM 17 haben.
  • Zum Durchqueren des Schalters 10 tritt eine Datenzelle 24 über ein Eingangsport 20 in den Schalter ein und wird in eine Eingangswarteschlange 32 bei dem jeweiligen TSPP 14 eingereiht. Die Zelle wird dann von der Eingangswarteschlange 32 zu einer oder mehreren Ausgangswarteschlangen 34 über die Datenkreuzschiene 13 gesendet. Steuersignale werden von einem TSPP 14 über die jeweilige MTC 18 und den Bandbreitenzuteiler 12 zu einem oder mehreren FSPPs 16 gesendet. Insbesondere können Daten- und Steuersignale im Fall einer Punkt-zu-Punkt-Verbindung 40 von einer Eingangswarteschlange 32 zu einer bestimmten der Ausgangswarteschlangen 34 gesendet werden. Alternativ dazu können Daten- und Steuersignale im Fall einer Punkt-zu-Mehrfachpunkt-Verbindung 42 von einer Eingangswarteschlange 32 zu einer ausgewählten Gruppe von Ausgangswarteschlangen 34 gesendet werden. Von der (den) Rusgangswarteschlange(n) 34 wird die Datenzelle 24 über ein Netzwerk 30 zur Außenseite des Schalters 10 gesendet, wie beispielsweise zu einem anderen Schalter 21.
  • Der Bandbreitenzuteiler 12 enthält eine Kreuzschienensteuerung 15, die eine Sondenkreuzschiene, eine XAUS-Kreuzschiene und eine XEIN-Kreuzschiene enthält, von welchen jede ein N × N-Schalter ist. Eine Übertragungsanfragennachricht oder ein Sondensteuersignal fließt durch die Sondenkreuzschiene und wird dazu verwendet, anzufragen, ob genügend Platz bei einer Zielort-Ausgangswarteschlange, oder bei Warteschlangen 34, verfügbar ist oder nicht, um eine Zelle einzureihen. Die Anfragenachricht wird als "Vorwärts"-Steuersignal angesehen, da ihre Richtung von einem TSPP 14 zu einem oder mehreren FSPPs 16 ist (d. h. dieselbe Richtung wie die Daten). Ein Zwei-Bit-Steuersignal fließt in der Rückwärtsrichtung (von einem oder mehreren FSPPs zu einem TSPP) durch die XAUS-Kreuzschiene und antwortet auf die Anfragenachrichtenanfrage durch Anzeigen, ob die Zielort-Ausgangswarteschlange, oder die Warteschlangen 34, gegenwärtig Datenzellen annehmen können oder nicht, und somit, ob der sendende TSPP Zellen über die Datenkreuzschiene 13 senden kann oder nicht. In dem Fall, dass das XAUS-Steuersignal anzeigt, dass die angefragte(n) bzw. untersuchte(n) Ausgangswarteschlange(n) 34 gegenwärtig nicht zum Empfangen von Daten fähig ist (sind), benachrichtigt ein weiteres Rückwärts-Steuersignal, das durch die XEIN-Kreuzschiene fließt, den sendenden TSPP dann, wenn einmal Platz bei der (den) Zielort-Ausgangswarteschlange(n) 34 verfügbar wird.
  • Jedes Ausgangsport 22 enthält vier Speicher: einen Steuer-RAM 1 (CR1 RAM) 61, einen Setuer-RAM 2 (CR2 RAM) 53, einen Zellenpuffer-RAM 19 und einen Quantenflusssteuerungs-RAM (QFC RAM). Der Zellenpuffer-RAM 19 ist dort, wo die aktuellen Zellen gepuffert werden, während sie auf ein Senden warten. Der CR1 RAM 61 und der CR2 RAM 63 enthalten die Ausgangswarteschlangen 34, wobei jede Warteschlange 34 Zeiger zu Zellen im Zellenpuffer-RAM 19 enthält. Der CR1 RAM 61 enthält Information, die dazu erforderlich ist, Zeitplanungslisten zu implementieren, die zum Planen eines Verbindungszugriffs durch die Ausgangswarteschlangen 34 verwendet werden, die jeder Verbindung 30 zugeordnet sind, die durch den FSPP 16 unterstützt wird. Der QFC RAM 67 speichert Aktualisierungsinformation für eine Übertragung zu einem anderen Schalter 29 über eine Netzwerkverbindung 30. Aktualisierungszellen werden in Reaktion auf die durch einen TSPP 14 gelieferte Aktualisierungsinformation erzeugt und spezifizieren, ob der bestimmte TSPP 14 gegenwärtig Datenzellen annehmen kann.
  • Um sowohl eine Verbindung als auch eine Verkehrstypenisolation zur Verfügung zu stellen, sind die Puffer 26, 28 jeweils in Warteschlangen 32, 34 organisiert, und eine Flusssteuerung ist auf einer Pro-Warteschlangen-Basis implementiert. Jede Warteschlange enthält mehrere Puffer und jeder Schalter enthält mehrere Eingangswarteschlangen 32 und mehrere Ausgangswarteschlangen 34. Auf ein Eintreten in den Schalter hin wird jede Zelle 24 in eine bestimmte Eingangswarteschlange 32 für ein eventuelles Senden zu einer bestimmten Ausgangswarteschlange 34 geladen. Durch Organisieren von Eingangszellen in Warteschlangen durch ein Empfangs-(Eingangs-)Port und ein Zielort-(Ausgangs-)Port wird eine Verbindungsebenen-Flusssteuerung ermöglicht. Beispielsweise könnten Warteschlangen 32a, 34a einer bestimmten Verbindung zugeordnet sein. Zusätzlich können verschachtelte Warteschlangen von Warteschlangen verwendet werden, um eine Flusssteuerung pro Unterklasse zur Verfügung zu stellen.
  • Nimmt man wiederum Bezug auf 1, wird nun die Erfindung detaillierter beschrieben. Bei der bevorzugten Architektur enthält jedes Eingangsport einen TSPP 14 und enthält jedes Ausgangsport einen FSPP 16. Die TSPPs und FSPPs enthalten jeweils einen Zellenpuffer-RAM, der jeweils in Warteschlangen 32, 34 organisiert ist. Alle Zellen in einer Verbindung 40 laufen während der Verbindungsdauer durch eine einzige Warteschlange bei jedem Port, und zwar eine bei dem TSPP und eine bei dem FSPP. Die Warteschlangen bewahren eine Zellenordnung. Diese Strategie lässt auch Dienstqualitäts("QoS" = Quality of Service)-Garantien auf einer pro-Verbindungs-Basis zu. Im Mehrfachpunkt-zu-Punkt-Fall werden zwei oder mehrere Warteschlangen gebildet, um die mehreren Quellen zu bedienen.
  • Wenn eine Zelle im TSPP 14 empfangen wird, besteht die erste durch den TSPP durchgeführte Aktion darin, den Zellenanfangsblock auf Fehler zu prüfen und dann zu prüfen, dass die Zelle einer gültigen Verbindung zugeordnet ist. Um dies durchzuführen, werden die in jedem Zellenanfangsblock spezifizierten VPI/VCI-Felder als Index in eine Umsetzungstabelle bzw. Übersetzungstabelle verwendet, die als VXT bekannt ist, welche im Steuer-RAM 41 gespeichert ist. Der TSPP prüft zuerst, um zu sehen, ob diese Verbindung eine zuvor durch die Steuersoftware aufgebaute Verbindung ist. Wenn sie erkannt wird, wird der Zelle dann eine Warteschlangennummer zugeordnet werden, die zu der Verbindung gehört. Gleichzeitig wird die Zelle durch den TSPP in ein internes Zellenformat umgewandelt.
  • Die Warteschlangennummer gehört zu einem Warteschlangendeskriptor, der eine Tabelle von Zustandsinformation ist, die für diese Quelle eindeutig ist. Nachdem einer Zelle eine Warteschlangennummer von der VXT zugeordnet ist, schaut der TSPP auf den entsprechenden Warteschlangendeskriptor für weitere Information darüber, wie die Zelle zu verarbeiten ist. Die nächste Operation besteht im Versuchen, einen Puffer für die Zelle zuzuordnen. Wenn sie verfügbar ist, wird die Zellenpuffernummer an das Ende ihrer jeweiligen Warteschlange in die Warteschlange gebracht und wird die Zelle zu einem externen Zellenpuffer-RAM 32 geschrieben.
  • Zusätzlich zu einem Verarbeiten und Puffern von ankommenden Zellenströmen muss der TSPP die Zellen vom Zellenpuffer zu einer Gruppe aus einem oder mehreren FSPPs unter Verwendung des Schalteraufbaus 11 übertragen. Die für eine solche Übertragung verwendete Bandbreite kann entweder vorher zugeordnet sein (d. h. zugeteilte Bandbreite) oder dynamisch zugeordnet sein (d. h. dynamische Bandbreite). Die zugeteilte Bandbreite wird durch eine Anrufannahmesteuerungs-(CAC = Call Acceptance Control)-Software zugeordnet. Die Zuordnung einer dynamischen Bandbreite hängt von der momentanen Ausnutzung der Schalterbetriebsmittel ab und wird durch den Bandbreitenzuteiler 12 gesteuert.
  • Eine zugeteilte Bandbreite wird unter Verwendung eines Zeitschlitz-Rahmenkonzepts gemanagt. In Bezug auf 3 hat jeder TSPP eine Datenstruktur, die Schalterzuteilungstabelle ("SAT") 23 genannt wird, welche zum Managen der zugeteilten Bandbreite verwendet wird. Alle TSPPs im Schalter werden so synchronisiert, dass sie unter Verwendung eines SAT-Zeigers 25 zu irgendeiner gegebenen Zellenzeit alle zu demselben Offset in der SAT zeigen. Bei einem bevorzugten Ausführungsbeispiel ist jeder Schlitz in der SAT für 32 Taktzyklen bei 50 MHz aktiv, was etwa 64 Kbps von Zellennutzlastbandbreite zur Verfügung stellt. Bei einer gegebenen SAT-Tiefe von 8192 tasten die Zeiger die SATs etwa alle 6 msek ab, um dadurch eine maximale Verzögerung für eine Sendegelegenheit von etwa 6 msek zur Verfügung zu stellen. Die CAC-Software ist verantwortlich für ein Zuordnen einer zugeteilten Bandbreite von TSPPs zu FSPPs auf eine konfliktfreie Weise.
  • Zu jeder Zellenzeit schaut der TSPP auf den SAT-Eintrag für diese Zellenzeit. Ein SAT-Eintrag ist entweder nicht gültig oder zeigt auf eine Liste von Warteschlangen in einem TSPP-Steuer-RAM 41, der Zeitplanungsliste 27 genannt wird (siehe 4). Warteschlangendeskriptoren für jede der Warteschlangen sind auch im Steuer-RAM 41 gespeichert. Wenn der SAT-Eintrag ungültig ist, wird diese Zellenzeit dem Bandbreitenzuteiler zur Verwendung beim Zuordnen einer dynamischen Bandbreite zur Verfügung gestellt, wie es nachfolgend beschrieben ist. Eine durch einen bestimmten TSPP aufgegebene zugeteilte Zellenzeit kann als Zellenzeit für eine dynamische Bandbreite verwendet werden; sie kann durch den TSPP, der den Schlitz aufgab, verwendet werden, oder sie kann einem anderen TSPP zur Verwendung zugeteilt werden. Die Entscheidung darüber, welcher TSPP eine gegebene dynamische Zellenzeit bekommt, wird durch den Bandbreitenzuteiler durchgeführt.
  • Wenn der SAT-Eintrag eine gültige Zeitplanungslistennummer enthält, wie es in 3 als SLIST 4 27 dargestellt ist, wird der TSPP die erste Warteschlange bei der Bezugs-Zeitplanungsliste als die Quelle der während dieser Zellenzeit zu übertragenen Zelle verwenden. Dies wird dadurch erreicht, dass die Zeitplanungsliste einen "Anfang"-Zeiger 29 und einen "Ende"-Zeiger 31 enthält, wie es in 4 gezeigt ist. Der Anfangszeiger 29 ist ein Zeiger zu einer ersten Warteschlange 33 mit einer zu einem bestimmten Ausgangsport zu sendenden Zelle. Der Endzeiger 31 ist ein Zeiger zu einer letzten Warteschlange 35 mit einer zum selben Ausgangsport zu sendenden Zelle. Weiterhin hat jede zu dieser Liste gehörende Warteschlange einen "nächste"-Zeiger, der in 4 mit "N" bezeichnet ist, welcher zur nächsten Warteschlange in einer Sequenz von Warteschlangen zeigt. Obwohl es in 4 nicht dargestellt ist, ist jede Warteschlange eine verbundene Liste, wobei der Warteschlangendeskriptor einen Anfangszeiger hat, der zu der in dieser Warteschlange gepufferten ersten Zelle zeigt, und einen Endzeiger, der zu der in dieser Warteschlange gepufferten letzten Zelle zeigt. Jede gepufferte Zelle hat einen nächste-Zeiger, der zur nächsten Zelle in der Warteschlange gezeigt. Somit zeigt, wie es dargestellt ist, die SAT für einen TSPPO gegenwärtig an, dass eine Zellenzeit verfügbar ist, und zwar zur Zeitplanungsliste 4 27 (SLIST 4). Der Anfangszeiger 29 dieser Zeitplanungsliste zeigt zur Warteschlange 4 33, die vier Zellen dafür bereit hat, zum jeweiligen Ausgangsport gesendet zu werden. Nachdem die erste Zelle von der Warteschlange 4 durch den Schalteraufbau gesendet worden ist und die internen Zeiger der Warteschlange 4 modifiziert worden sind, um zur zweiten Zelle als der nächsten Zelle für ein Senden zu zeigen, wird nun die Warteschlange 4 33 die letzte der drei Warteschlangen, die zu SLIST 4 gehören, um nächstes Mal ausgewählt zu werden. Insbesondere wird der Anfangszeiger von SLIST 4 modifiziert, um zur Warteschlange 7 zu zeigen, wird der Endzeiger modifiziert, um zur Warteschlange 4 zu zeigen, und werden die Anfangsblockdaten der Warteschlange 2 modifiziert, um zur Warteschlange 4 zu zeigen. Wenn die Warteschlange 4 keine andere zu sendende Zelle hat, wird die Warteschlange aus der Warteschlange genommen, wird die Warteschlange 7 die nächste Warteschlange und wird die Warteschlange 2 die letzte Warteschlange.
  • Zellenzeiten werden den Bandbreitenzuteiler zur Zuordnung als dynamische Bandbreite unter den folgenden Bedingungen verfügbar gemacht:
    • 1) Wenn die durch die SAT identifizierte Zeitplanungsliste keinen Warteschlangeneintrag verfügbar hat, wobei dieser Fall als "zugeteilt, nicht verwendet" bezeichnet wird, oder
    • 2) wenn die SAT keine für einen bestimmten Zellenzeitschlitz spezifizierte Zeitplanungsliste hat, wobei dieser Fall als "nicht zugeteilt" bezeichnet wird.
  • Eine weitere Bedingung existiert in dem Fall, in welchem ein Pacing-Schema bzw. ein Datenflussdotierungsschema im TSPP implementiert ist, um eine Anfangsverzögerung beim Übertragen einer Zelle unter Verwendung einer zugeteilten Bandbreite zu minimieren. Wenn ein SAT-Schlitz für eine bestimmte Zeitplanungsliste angezeigt wird, aber der Datenflussdotierungszähler für diese Liste nicht den geeigneten Wert erreicht hat, wird verhindert, dass eine Zelle von einer zugeordneten Warteschlange übertragen wird, und wird der Schlitz für eine Übertragung mit einer dynamischen Bandbreite verfügbar.
  • Zellenzeiten für eine dynamische Bandbreite werden durch Ziehen eines Vorteils aus einer verschachtelten Gruppe von Zeigern gemanagt, oder dadurch, was "Liste von Listen"-Technik genannt wird. Allgemein ist eine solche Struktur in 5 dargestellt. Eine Gruppe von Listen, die mit Listen für eine dynamische Bandbreite bezeichnet sind, hat mehrere Einträge, die mit Port 01, Port 02, Port 03, Port 04, Port 11, Port 12, Port 13,... bezeichnet sind. Jeder Eintrag stellt eine Liste für eine dynamische Bandbreite für jedes Port und eine Priorität (nachfolgend diskutiert) dar und hat ein Anfangszeiger/Endzeiger-Paar, das auf Dispositionslisten bzw. Zeitplanungslisten für Port 0, Priorität 3 zeigt. Somit bestehen "Listen für eine dynamische Bandbreite" aus Einträgen, die selbst Listen sind, oder ist anders ausgedrückt eine Liste von Listen. Der Anfangszeiger für das Port 03 zeigt auf eine Zeitplanungsliste 12 (SLIST 12). SLIST 12 ist die erste von mehreren Zeitplanungslisten in der Datenstruktur einer verbundenen Liste, die die Liste für eine dynamische Bandbreite für das Port und die Priorität genannt wird. Der Endzeiger für das Port 03 zeigt auf den letzten Eintrag in dieser Struktur einer verbundenen Liste, SLIST 5. Jede Zeitplanungslist in der Struktur hat einen Zeiger zur nächsten Zeitplanungsliste in derselben Struktur.
  • Jede der SLISTs 12, 2 und 5 hat auch ein Anfangszeiger/Endzeiger-Paar, das auf wenigstens eine Warteschlange mit einer Datenstruktur einer verbundenen Liste zeigt. Insbesondere zeigt der Anfangszeiger von SLIST 12 zur Warteschlange 3 (die mit Q3 bezeichnet ist) und zeigt der Endzeiger von SLIST 12 zur letzten Warteschlange in dieser verbundenen Liste auf Warteschlangenebene, Warteschlange 11 (die mit Q 11 bezeichnet ist). Gleichermaßen zeigen die Anfang- und Endzeiger von SLIST 2 zu einer einzigen Warteschlange, der Warteschlange 8 (Q8), und zeigen die Anfang- und Endzeiger von SLIST 5 jeweils zu Warteschlangen 2 und 6.
  • Auf der Warteschlangenebene zeigt ein Anfangszeiger für Q3 zur ersten gepufferten Zelle in der Warteschlange, die mit C1 bezeichnet ist, mit einem Zeiger zu den gepufferten Zellendaten ("C"), und einem Zeiger ("N) zur nächsten Zelle in der Warteschlange.
  • Für ein Senden von Punkt-zu-Punkt gibt es eine Eins-zu-Eins-Entsprechung zwischen einer Zeitplanungsliste und einer Warteschlange. Dies ist in 5 mit SLIST 2 und der Warteschlange 8 dargestellt. Für ein Senden von Mehrfachpunkt-zu-Punkt kann es mehrere Warteschlangen pro Zeitplanungsliste geben. Dies ist der Fall bei SLIST 12 und den Warteschlangen 3 und 11 und bei SLIST 5 und den Warteschlangen 2 und 6.
  • Durch Implementieren dieser Gesamtstruktur "Liste von Listen" im gegenwärtig offenbarten ATM-Schalter werden mehrere Ebenen einer Steuerung zur Verfügung gestellt. Beispielsweise wird das erste Mal, zu welchem ein Ergebnis auftritt, welches ermöglicht, dass eine Zelle zum Port 03 gesendet wird, eine Zelle von der ersten Zelle in der ersten Warteschlange, die zu der Zeitplanungsliste 12 gehört, ausgewählt werden. Dies ist die Zelle C1 der Warteschlange 3. Die Zeiger der Liste "Listen für dynamische Bandbreite" und SLISTs 12 und 5 werden so eingestellt, dass SLIST 2 die nächste Zeitplanungsliste ist, von welcher eine Zelle geliefert wird, wenn eine dynamische Bandbreite für ein Senden einer Zelle zum Ausgangsport 03 verfügbar wird. SLIST 5 wäre eine zweite und SLIST 12 wäre dann die letzte. Gleichermaßen wird die Warteschlange 3, die gerade eine Zelle zur Verfügung gestellt hat, die letzte Warteschlange, um auswählbar zu sein, um eine Zelle gegenüber der SLIST 12 zur Verfügung zu stellen, wobei die Warteschlange 11 die nächste ist. Dies erfolgt durch die Manipulation von Zeigern in SLIST 12 und in den Warteschlangen 3 und 11. Schließlich wird die Zelle C1, die gesendet worden ist, aus der Warteschlange 3 entfernt, was bedeutet, dass die Zeiger der Warteschlange 3 neu eingestellt werden, um zu C2 als nächste zu sendende Zelle zu zeigen. Nur dann, wenn eine weitere Zelle in die Warteschlange 3 empfangen wird, wird eine weitere Zelle in die Leitung hinter die Zelle 4 fallen.
  • Eine Round-Robin-Auswahl wird somit zwischen den Zeitplanungslisten und den Warteschlangen ermöglicht, wobei eine gleichmäßige Bandbreitenverteilung auf jeder Ebene zur Verfügung gestellt wird. Eine andere Zeitplanungspolitik kann implementiert werden, wenn andere Bandbreitenverteilungen erwünscht sind.
  • Wie es gezeigt ist, wird der Ansatz für eine Liste von Listen auf die Zuteilung einer dynamischen Bandbreite in der Form von Listen für eine dynamische Bandbreite intern vom TSPP ASIC angewendet. 260 Listen für eine dynamische Bandbreite werden im TSPP ASIC bei einem bevorzugten Ausführungsbeispiel verwendet. Die ersten 256 dieser Listen werden für Punkt-zu-Punkt-("P2P"-) und Mehrfachpunkt-zu-Punkt-("M2P"-)Verbindungen verwendet. Vier Listen sind jedem der Schalter-Ausgangsports zugeordnet. Vier andere Listen werden für Punkt-zu-Mehrfachpunkt-("P2M"-)Verbindungen verwendet. Dies ist auf einer oberen Ebene in 6 gezeigt, wo es für jeden TSPP eine Struktur einer Liste von Listen gleich derjenigen der 5 gibt.
  • In jedem Fall von P2P oder M2P wird dann, wenn genügend Zellen aus einer Warteschlange entfernt worden sind, um eine dynamische Bandbreitenschwelle (die nachfolgend diskutiert wird) zu erreichen, die Warteschlange fallengelassen oder aus der Warteschlange entfernt, und zwar aus der verbundenen Liste von Warteschlangen. Weiterhin wird dann, wenn alle Warteschlangen für eine bestimmte Zeitplanungsliste aus der Warteschlange entfernt worden sind, die Zeitplanungsliste aus der verbundenen Liste von Listen entfernt. Wenn alle Zeitplanungslisten für einen bestimmten Eintrag in der verbundenen Liste entfernt sind, werden den Zeigern in der Liste für eine dynamische Bandbreite Null-Werte zugeteilt.
  • Ein weiteres Beispiel für die Anwendung der Struktur einer Liste von Listen bei dem vorliegenden ATM-Schalter wird nachfolgend in Bezug auf eine Ausgangsverbindungs-Zeitplanung beschrieben.
  • Die Priorität der Zeitplanungslisten wird zum BA gesendet. Der BA verwendet diese Prioritätsinformation zum Bewirken der Reihenfolge, in welcher er eine dynamische Bandbreite zum TSPP gewährt. Diese Prioritätsgebung wird beim Zuordnen von Zeitplanungslisten zu einer der vier Listen für eine dynamische Bandbreite verwendet. Bei einem Ausführungsbeispiel des offenbarten Schalters, das in 6 dargestellt ist, werden Zellen aus den VBR- und ABR- Dienstkategorien einer Zuordnung zu irgendeiner der vier Prioritäten unterzogen und werden UBR-Zellen nur einer Zuordnung zu der Liste für eine dynamische Bandbreite mit niedrigster Priorität unterzogen.
  • Jede Warteschlange für jede Verbindung hat eine dazu gehörende dynamische Bandbreitenschwelle 37, wie es in 4 gezeigt ist. Wenn eine Warteschlangenpuffertiefe die durch die jeweilige dynamische Bandbreitenschwelle 37 gezeigte Zellentiefe übersteigt, wird die Zeitplanungsliste für diese Warteschlange zu der geeigneten Liste für eine dynamische Bandbreite entsprechend dem geeigneten Ausgangsport und der Priorität hinzugefügt werden. Für jedes Ausgangsport liefert die Liste für eine dynamische Bandbreite eine Anzeige dafür, ob irgendwelche Zellen zu dem jeweiligen Ausgangsport unter Verwendung einer dynamischen Bandbreite zu senden sind. Die dynamische Bandbreitenschwelle wird bei einer Anrufeinstellzeit gebildet. Bei einem weiteren Ausführungsbeispiel des vorliegenden Schalters wird jedoch der Schwellenwert basierend auf einer empirischen Analyse eines Verkehrs durch den Schalter dynamisch eingestellt.
  • In Bezug auf 7 würde eine dynamische Bandbreitenschwelle für eine Warteschlange von CBR-Zellen oder Zellen, die eine bestimmte Bandbreite erfordern, so gebildet werden, dass die angefragte Bandbreite (die in 7 mit "A" bezeichnet ist) die Anforderung erfüllt oder sie übersteigt. Für andere Anwendungen, die dynamischer sein können, die aber noch eine fest begrenzte Verzögerung erfordern, kann eine dynamische Bandbreitenschwelle, wie beispielsweise diejenige, die in 7 mit "B" bezeichnet ist, geeignet sein, wobei die Mehrheit des Verkehrs durch eine zugeteilte Bandbreite gehandhabt wird, während momentane Bursts durch eine dynamische Bandbreite hoher Priorität gehandhabt werden. In jedem Fall wird eine spezifisch zugeteilte aber nicht verwendete Bandbreite dem BA durch den TSPP für eine dynamische Bandbreitenzuteilung verfügbar gemacht.
  • Es ist zu beachten, dass für Kategorien von Diensten, die nur auf einer zugeteilten Bandbreite beruhen, die dynamische Bandbreitenschwelle oberhalb irgendwelcher erwarteten Spitzen beim Zellenempfang eingestellt ist. Gegensätzlich dazu ist für Kategorien eines Dienstes mit keinen (oder geringfügigen) Verzögerungsgrenzen und keiner garantierten Bandbreite, wie beispielsweise UBR, die dynamische Bandbreitenschwelle auf Null eingestellt.
  • Wie es diskutiert ist, ist jede Warteschlange auch eine verbundene Liste, wobei der Warteschlangendeskriptor, der im Steuer-RAM 41 sitzt, einen Anfangszeiger hat, der zum ersten Puffer zeigt, der zu der Warteschlange gehört und eine Zelle enthält, und einen Endzeiger, der zum letzten Puffer zeigt, der zu der Warteschlange gehört und eine Zelle enthält. Die Eingangszellen werden im Zellenpuffer-RAM 32 gepuffert. Der Warteschlangen-Anfangsblock einer leeren Warteschlange hat einen Anfangszeiger = 0 und einen Endzeiger = Anfang. Somit ist die verbundene Liste, die die Warteschlange bildet, nur eine Kette von Zeigern. Die Inhalte von einem Zeiger zeigen zum nächsten Zeiger, etc. Die Zeigernummer ist sowohl die logische Adresse des Zeigers als auch die logische Adresse des Zellenpuffers (d. h. die Zellenpuffernummer). Es gibt eine Eins-zu-Eins-Abbildung eines Zellenzeigers und seines entsprechenden Zellenpuffers. Die Mehrheit der Zeiger ist innerhalb des Zeiger-RAM 50 zusammen mit der SAT gespeichert.
  • Eine Zellreihenfolge wird bewahrt, da Zellen von der Warteschlange auf eine zuerst-hinein-zuerst-heraus(FIFO-)Weise entfernt werden, gleichgültig ob eine zugeteilte oder eine dynamische Bandbreite verwendet wird. Dies ist trotz der Tatsache so, dass eine Zeitplanungsliste gewährte Sendegelegenheiten sein kann, und zwar entweder durch die SAT oder durch eine Liste für eine dynamische Bandbreite. Bei einem ersten Ausführungsbeispiel nutzen alle Warteschlangen in jeder Liste für eine dynamische Bandbreite auf eine Round- Robin-Weise die verfügbare dynamische Bandbreite für dieses Port.
  • Es soll angenommen werden, dass die Warteschlange 4 aus der 4 zu einer Zeitplanungslisten bei der Liste für eine dynamische Bandbreite der 5 hinzugefügt wird. In Wirklichkeit werden nur Zeiger der Liste für eine dynamische Bandbreite, die jeweiligen Zeitplanungsliste und irgendwelche anderen Warteschlangen bei der Zeitplanungsliste eingestellt, um eine Warteschlange in diese Liste anzuordnen; keine physikalische Neuanordnung der Warteschlange ist beteiligt. Es soll angenommen sein, dass über ein Intervall keine Zelle zu der Warteschlange 4, wie sie in 4 dargestellt ist, hinzugefügt werden und keine Zellen von der Warteschlange entfernt werden, und zwar als Ergebnis dessen, dass eine zugeteilte Bandbreite verfügbar gemacht wird. Wenn als Ergebnis dessen, dass eine dynamische Bandbreite während dieses Intervalls verfügbar gemacht wird, zwei Zellen von dieser Warteschlange gesendet werden, würde dann die Zellenzahl in der Warteschlange unter der jeweiligen dynamischen Bandbreitenschwelle 37 sein. Die Warteschlange würde dann aus der Liste für eine dynamische Bandbreite durch Einstellen der Zeiger der geeigneten Zeitplanungsliste und irgendwelcher anderer Warteschlangen, die zu dieser Zeitplanungsliste gehören, entfernt werden. Das Gegenteil ist für eine Warteschlange wahr, die Zellen oberhalb ihrer jeweiligen dynamischen Bandbreitenschwelle empfängt. Es ist zu beachten, dass die erste innerhalb einer Warteschlange zu puffernde Zelle immer die erste ist, die zu senden ist, gleichgültig ob ein solches Senden über eine zugeteilte oder dynamische Bandbreite erfolgt. Dies ist nötig, um die richtige Reihenfolge der Zellen zu bewahren.
  • Daher wird zu jeder Zellenzeit den TSPP entweder eine zugeteilte oder eine dynamische Bandbreite zugeordnet. Der TSPP verwendet diese Information beim Entscheiden darüber, welche Verbindung beim Zuführen einer während dieser Zellenzeit zu übertragenden bestimmten Zelle zu verwenden ist.
  • Der Bandbreitenzuteiler 12 ("BA") verteilt eine nicht zugeteilte und eine nicht verwendete, zugeteilte Schalterbandbreite, nämlich die dynamische Bandbreite. Die Verteilung basiert auf Anfragen und Informationen, die durch jeden TSPP gesendet werden. Jeder TSPP identifiziert zu den BA-Ausgangsports, die zu ihnen gesendete Zellen haben werden, für eine bestimmte Zellenzeit als Ergebnis einer zugeteilten Bandbreite. Zusätzlich liefert jeder TSPP zu dem BA eine Anzeige davon, welche Ausgangsports nach einem Zugriff über eine dynamische Bandbreite gefragt sind, ein Produkt der Listen für eine dynamische Bandbreite. Wenn ein TSPP keine Zuteilung in der SAT für eine spezifische Zellenzeit hat, kann er um eine dynamische Bandbreite wetteifern. Jeder TSPP kann mehrere ausstehende Anfragen haben, die im BA gespeichert sind.
  • Jeder TSPP liefert seine Anfrage(n) für eine dynamische Bandbreite für ein Port(s) zum BA über eine seriell kommunizierte Anfrage, um die Bits für die angefragten Ausgangsports einzustellen. Jeder TSPP kann Bits in seinem jeweiligen Anfragevektor einstellen oder löschen oder kann eine Priorität in Bezug auf eine jeweilige Anfrage ändern – jede Anfrage hat eine Prioritätsebene, die in Verbindung damit gespeichert ist. Diese drei Befehle werden über einen seriellen Drei-Bit-Befehl ausgeführt, der von dem jeweiligen TSPP zum BA gesendet wird. Bis zu 16 Ports können durch den TSPP angefragt werden. Anders ausgedrückt kann jeder TSPP alle Ausgangsports in einem Schalter mit sechzehn Ausgangsports anfragen. Eine Anfrage bleibt eingestellt, solange sie nicht explizit durch den TSPP gelöscht wird. In dem Fall, in welchem eine Anfrage durch den BA an ein verfügbares Ausgangsport angepasst ist, wird eine Gewährung in der Form einer Portnummer durch den BA zum anfragenden TSPP zurückgebracht. Der BA interpretiert die Anfragen und speichert sie in der Form einer Registerbank, und zwar eine für jede Priorität mit einem eingestellten Bit, das ein angefragtes Port anzeigt.
  • Diese Anfragen für eine dynamische Bandbreite von allen wetteifernden TSPPs werden in eine dynamische Zuteilungseinheit 43 des BA zugeführt, der versucht, die Anfragen an die verfügbaren (nicht zugeteilten oder zugeteilten aber nicht verwendeten) Ports anzupassen. Angepasste Anfragen werden zu den TSPPs zurückkommuniziert, welche sich auf ihre Listen für eine dynamische Bandbreite (oben beschrieben) beim entsprechenden Senden von Zellen beziehen. Zustandsinformation wird durch den BA gehalten, um ein Round-Robin-Dienstschema zu implementieren und um zu bestimmen, welcher der letzte bediente TSPP war. Ein TSPP wird dann bedient, wenn ein Vektor für ein freies Ausgangsport im BA an eine TSPP-Anfrage angepasst ist, wodurch das angefragte Port gewährt wird und die Anfrage von dem Vektor für ein freies Ausgangsport subtrahiert wird. Der Vektor für ein freies Ausgangsport wird dann auf die nächste TSPP-Anfrage bei einem Versuch angewendet, nicht zugeordnete Ports an angefragte Ports anzupassen. Möglicherweise wird der Vektor für ein freies Ausgangsport insgesamt oder nahezu insgesamt Null sein, und keine weitere Anpassung zwischen nicht zugeordneten Ports und angefragten Ports kann gefunden werden.
  • 8 stellt den Anpassungsprozess dar. Hier hat der TSPP 0 eine serielle Anfrage für die Ports 0 und 2 geliefert. Der BA zeigt an, dass die Ports 0, 1 und 2 für eine Zellenübertragung mit einer dynamischen Bandbreite verfügbar sind, und zwar über den Vektor für ein freies Ausgangsport. Unter der Annahme, dass der TSPP 0 der erste in der Round-Robin-Liste von TSPPs ist, um angepasst zu werden, wird eine Anpassung für die Ports 0 und 2 angezeigt. Bei einer Punktzu-Punkt-("P2P"-)Kommunikation wird nur ein passendes Port zum TSPP 0 gewährt, welches bei der Darstellung das Port 0 ist. Der BA hat nun die Ports 1 und 2 im Vektor für ein freies Ausgangsport für ein Anpassen an den nächsten anfragenden TSPP zurückgelassen. Der TSPP 1 hat angefragte Ports 0–3. Die Ports 1 und 2 stimmen mit der übriggelassenen verfügbaren Liste überein. Das Port 2 wird gewährt, und der neue Vektor für ein übriggelassenes freies Ausgangsport enthält das Port 1. Der BA-Anpassungsprozess fährt fort, bis alle verfügbaren Ports durch den BA gewährt sind, oder bis keine nicht angepassten TSPP-Anfragen übrigbleiben.
  • Bei einem Ausführungsbeispiel, das eine Punkt-zu-Mehrfachpunkt-("P2M"-)Zellenübertragung unterstützt, werden Anpassungen an die P2M-Anfrage vor einem Suchen von Anpassungen an P2P-Anfragen gesucht, da es schwieriger ist, alle angefragten Ports von einem TSPP auf einmal anzupassen.
  • Zum Zulassen der Verwendung von zugeteilten und gemeinsam genutzten (d. h. dynamischen) Betriebsmitteln am Ausgangsport durch eine einzige Verbindung werden Übertragungen mit einer Kennung versehen, um anzuzeigen, ob sie über oder unter ihrer zugeteilten Zellenrate waren. Das Versehen mit einer Kennung wird durch den BA durchgeführt. Wenn eine Zelle unter Verwendung eines SAT-Schlitzes versendet wird, wird sie als geplant mit einer Kennung versehen. Wenn die Zelle versendet wird, weil sie eine Bandbreitenzuteilung gewann, wird sie als nicht geplant mit einer Kennung versehen. Diese Information wird bei einer FSPP-Verarbeitung verwendet, wie es nachfolgend beschrieben ist.
  • Ein Verkehr von unterschiedlichen Prioritätsebenen wird bei dem gegenwärtig offenbarten Schalter durch die Zuordnung von Anfragen zu einer von vier Prioritätsebenen durch den Ursprungs-TSPP unterstützt. Der BA trennt diese vier Ebenen in entweder eine "hohe" oder eine "niedrige" Priorität und versucht, alle Anfragen hoher Priorität anzupassen, vor einem Versuchen, alle Anfragen niedriger Priorität anzupassen.
  • Vor einem Empfangen einer Zelle durch den Schalteraufbau empfängt ein FSPP Steuerinformation, die anzeigt, ob die Zellenübertragung eine geplante Bandbreite oder eine dynamische Bandbreite verwendet. Die Steuerinformation zeigt weiterhin die Warteschlange(n) an, innerhalb welcher die Zelle einzureihen ist. Diese Information lässt zu, dass der FSPP bestimmt, ob er genügend Betriebsmittel, wie beispielsweise einen Warteschlangenraum, einen Pufferraum, eine Bandbreite, etc., hat, um die Zelle zu empfangen.
  • Wenn der FSPP keine genügenden Betriebsmittel hat, um eine Zelle zu empfangen, zeigt er dies durch Aktivieren eines geeigneten Steuersignals an. Die Aktivierung dieses Signals bedeutet, dass der FSPP die Zelle empfangen kann oder der FSPP nicht vorhanden ist.
  • Wie es in 1 dargestellt ist, sind extern zum FSPP 16 vier Speicher, nämlich der Steuer-RAM 1 61, der Steuer-RAM 2 63, der Zellenpuffer-RAM 19 und der QFC-RAM 67. Der Steuer-RAM 1, der Steuer-RAM 2 und der Zellenpuffer-RAM werden verwendet, um Zellen in die und aus der Warteschlange zu bringen. Der Steuer-RAM 1 und der Steuer-RAM 2 enthalten die Information, die zum Implementieren der Warteschlangen, der dynamischen Listen und von bevorzugten Listen (die nachfolgend diskutiert sind) zu implementieren, die zum Bereitstellen der FSPP-Funktionen nötig sind. Der Zellenpuffer-RAM ist dort, wo die aktuellen Zellen gepuffert werden, während sie auf ein Senden warten. Der QFC-RAM enthält primär einen Speicher für Flusssteuerinformation, die vom TSPP empfangen wird, und auf ihn wird während der Erzeugung von Flusssteuerungs-Aktualisierungszellen zugegriffen.
  • Der Zellenpuffer ist in Zellenpufferstellen aufgeteilt, die jeweils eine einzige Zelle halten können. Auf Zellenpufferstellen innerhalb des Zellenpuffers wird unter Verwendung von Zellennummern gezeigt. Die Startadresse einer Zellenpufferstelle wird aus der Zellennummer abgeleitet; jede Zellenpufferstelle hat eine eindeutige Zellennummer, die zu dieser Zellenpufferstelle innerhalb des Zellenpuffers zeigt.
  • Die Gesamtanzahl von Zellenpufferstellen ist auf mehrere Zellenpufferpools verteilt, die jeweils zu einem internen Zellenplanungsbetriebsmittel bestimmt sind. Jeder Pool ist unter Verwendung von zwei internen Registern implementiert. Das Zellenpufferpool-Zahlenregister enthält die gegenwärtige Anzahl von Zellenpufferstellen, die für diesen Pool im Einsatz sind. Das Zellenpufferpool-Grenzregister enthält die maximale Anzahl von Zellenpufferstellen, die für diesen Pool zugelassen sind.
  • Zellennummern werden manipuliert, um Zellenpufferstellen in Warteschlangen anzuordnen. Wenn eine Zellenpufferstelle im Zellenpuffer mit einer Zelle beschrieben wird, wird dann die Zellennummer, die auf diese Zellenpufferstelle zeigt, in einer Warteschlange angeordnet. Zellen werden von den Warteschlangen in der Reihenfolge gesendet, in welcher sie empfangen wurden; die erste empfangene ist die erste gesendete. Eine logische Darstellung einer solchen Warteschlange ist in 9 dargestellt. Jede Warteschlange ist als verbundene Liste von Zellennummern implementiert; jede Zelle in der Warteschlange zeigt auf die nächste Zelle in der Warteschlange unter Verwendung ihrer Zellennummer als Zeiger, wie es zuvor beschrieben ist. Jede Warteschlange hat eine getrennte Struktur, die als der Warteschlangendeskriptor bekannt ist, welche in dem Steuer-RAM 2 zum Zeigen auf den Anfang und das Ende der Warteschlange gehalten ist. Die verbundene Liste, die eine Warteschlange bildet, ist als Gruppe von Zeigern im Steuer-RAM 1 implementiert, so dass jede Zellenpufferstelle einen Eintrag hat. Die Zeiger werden unter Verwendung der Zellennummer indiziert, wobei jeder Eintrag eine andere Zellennummer enthält. Somit kann eine Zellennummer zu einer anderen Zellennummer zeigen. Der Warteschlangendeskriptor enthält auch eine Anzahl der Zellen in der Warteschlange.
  • Wenn einmal eine Zelle in einer Warteschlange angeordnet ist, muss diese Warteschlange dann für ein Senden geplant werden. Dies wird durch Anordnen der Warteschlangennummer von dieser Warteschlange in einer Liste durchgeführt. Es gibt unterschiedliche Typen und Prioritäten von Listen innerhalb des FSPP. Listen sind verbundene Listen von Warteschlangennummern, gleich den Zeitplanungslisten des TSPP. Jede Liste hat eine separate Struktur, die als der Listendeskriptor bekannt ist, welche intern zum FSPP ist, um auf den Anfang und das Ende der Liste zu zeigen.
  • Es gibt zwei Kategorien von Verkehr, der für ein Senden zu planen ist: einen zugeteilten Verkehr und einen dynamischen Verkehr. Die Steuerinformation, die zu einer jeweiligen Zelle gehört, die im FSPP empfangen wird, zeigt an, zu welchen dieser zwei Kategorien die Zelle gehört.
  • Zwei Typen von Listen werden zum Planen der zwei Typen von Verkehr verwendet: bevorzugte Listen und dynamische Listen. Die Warteschlangennummern von Warteschlangen mit zugeteiltem Verkehr werden in der bevorzugten Liste angeordnet. Die Warteschlangennummern von Warteschlangen mit dynamischem Verkehr werden in der dynamischen Liste angeordnet. Warteschlangen können in sowohl der bevorzugten Liste als auch der dynamischen Liste gefunden werden, da jede Warteschlange sowohl geplante als auch nicht geplante Zellen haben kann, wie es in 10 gezeigt ist. Hier ist der erste Eintrag in der bevorzugten Liste ein Zeiger zur Warteschlange 7, bezeichnet mit Q7. Es ist zu beachten, dass auf Q7 auch durch den zweiten Eintrag in der dargestellten dynamischen Liste gezeigt wird. Die bevorzugte Liste wird vor der dynamischen Liste bedient werden.
  • Wenn eine Warteschlange keine ihr zugeordneten Zellen hat, ist sie offensichtlich weder in der bevorzugten Liste noch in der dynamischen Liste. Wenn die Warteschlange eine Zelle über eine dynamische Bandbreite empfängt, ist die Warteschlange in der dynamischen Liste angeordnet. Wenn die Warteschlange eine zweite Zelle empfängt, aber dieses Mal über eine zugeteilte Bandbreite, ist die Warteschlange ebenso in der bevorzugten Liste angeordnet. Da ein Bedienen von bevorzugten Listen einem Bedienen von dynamischen Listen voransteht, wird die in der Warteschlange empfangene erste Zelle für ein Senden aus dem Schalter über die bevorzugte Liste ausgewählt, und nicht über die dynamische Liste. Die Warteschlange wird in der dynamischen Liste bleiben, nachdem sie aus der bevorzugten Liste entfernt ist, bis die übrige Zelle für ein Senden ausgewählt ist. Daher wird selbst dann, wenn die Warteschlange zuerst in der dynamischen Liste angeordnet war, und dann in der bevorzugten Liste, die erste Zelle über die bevorzugte Liste aus der Warteschlange entfernt. Dies ist nötig, um eine richtige Zellenreihenfolge sicherzustellen und beizubehalten.
  • Der BA ist verantwortlich für ein Kennzeichnen jeder Zelle als entweder versendet in einem zugeteilten SAT-Schlitz oder als versendet in einem ungeplanten dynamischen Schlitz. Es ist diese Information, die beim Zuordnen von Warteschlangen zu bevorzugten und/oder dynamischen Listen verwendet wird.
  • Einige Warteschlangen haben einen vermischten Dienstverkehr mit sowohl zugeteilten als auch dynamischen Zellen. Dies ist ein Ergebnis eines Bereitstellens von integrierten Diensten, wodurch eine bestimmte Verbindung Zellen zum Senden über die jeweilige dynamische Bandbreitenschwelle hinausgehend haben kann (siehe die obige Diskussion, die zur 7 gehört). Zellen unter der Schwelle werden als zugeteilter Verkehr gesendet. Zellen über der Schwelle können als dynamischer Verkehr gesendet werden. Warteschlangennummern für den zugeteilten Verkehr werden in der bevorzugten Liste angeordnet und Warteschlangennummern für den dynamischen Verkehr werden in der dynamischen Liste angeordnet. Ungeachtet einer Reihenfolge eines Empfangs zwischen zugeteilten und dynamischen Zellen werden Zellen von den Warteschlangennummern in der bevorzugten Liste zuerst geplant und entfernt werden. Jedoch werden die Zellen noch in der Reihenfolge aus dem FSPP gesendet, da die Zellennummern in der Warteschlange in einer Reihenfolge bleiben und Zellennummern immer vom Anfang der Warteschlange entfernt werden. Daher wird selbst dann, wenn eine einzelne Zelle am Anfang einer Ausgangswarteschlange im FSPP als eine nicht geplante empfangen wurde, nämlich als eine dynamische Zelle, sie zuerst gesendet werden, selbst wenn die Warteschlange als nächste in einer bevorzugten Liste identifiziert wird.
  • Wenn einmal eine Warteschlangennummer zu einer Liste hinzugefügt worden ist, und zwar entweder zu einer bevorzugten Liste oder einer dynamischen Liste, bleibt sie in dieser Liste, bis die Warteschlange keine Zellen vom geeigneten Typ mehr hat. Wenn eine Warteschlangennummer sie zum Anfang der Liste macht, wird diese Warteschlange die nächste Warteschlange innerhalb der Liste, von welcher eine Zelle gesendet wird. Wenn die Zelle gesendet wird, wird die Warteschlangennummer vom Anfang der Liste entfernt und wird die Zahl von entweder zugeteilten Zellen für eine bevorzugte Liste oder von dynamischen Zellen für eine dynamische Zelle innerhalb des Warteschlangendeskriptors dekrementiert. Wenn der dekrementierte Zähler nicht Null ist, wird die Warteschlangennummer zum Ende der Liste zurückgebracht. Sonst wird sie von der Liste fallengelassen.
  • Durch Bedienen der Warteschlangennummer vom Anfang der Liste und durch Zurückbringen von ihr zum Ende der Liste empfangen die Warteschlangen innerhalb einer Liste eine Round-Robin-Zeitplanung.
  • Gemäß 11 sind vier Prioritäten von bevorzugten Listen für jede Ausgangsverbindung zur Verfügung gestellt, um Verzögerungsgrenzen durch den Schalter für eine Unterscheidung von unterschiedlichen Dienstebenen zur Verfügung zu stellen. Jede Ausgangsverbindung wird unabhängig geplant, so dass es keine Interaktion zwischen den bevorzugten Listen für unterschiedliche Verbindungen gibt. Neu empfangene Zellen in einer Liste mit höherer Priorität werden vor zuvor empfangenen Zellen in einer bevorzugten Liste niedrigerer Priorität gesendet.
  • Alle bevorzugten Listen mit zugeteiltem Verkehr für eine Verbindung werden mit einer Priorität über die dynamischen Listen mit einem dynamischen Verkehr für diese Verbindung geplant.
  • Es gibt drei Typen von dynamischen Listen mit vier Prioritäten für jeden Typ: VBR, ABR, UBR, wie es in 10 gezeigt ist. Jeder Typ von Liste ist permanent jeder Ausgangsverbindung zugeordnet. Bei einem bevorzugten Ausführungsbeispiel des gegenwärtig offenbarten Schalters sind die vier Prioritäten für jede der dynamischen Listen VBR und ABR weiterhin auf zwei Prioritätsebenen aufgeteilt, die durch den BA zugeteilt sind: hoch (Bandbreite nicht erfüllt); und niedrig (Bandbreite überschritten). Diese zwei Ebenen ermöglichen, dass die VBR-Dienstklasse einen vorausgewählten Prozentsatz an dynamischer Bandbreite erreicht, bevor zugelassen wird, dass eine Dienstklasse niedrigerer Priorität, nämlich ABR, die dynamische Bandbreite gemeinsam nutzt. Wenn ABR einmal ihren vorausgewählten Prozentsatz erreicht hat, wird die übrige dynamische Bandbreite zwischen VBR, ABR und UBR gemeinsam genutzt.
  • Es existieren vier Prioritäten für VBR-Listen, nämlich VBRO-3. VBR hat eine niedrigere Latenzzeit, kann aber einen Zellenverlust haben. Dynamischen VBR-Listen wird eine minimale Bandbreite an einer Ausgangsverbindung garantiert.
  • Wenn die dynamischen VBR-Listen mit einem Verkehr ihre garantierte Bandbreite einmal empfangen haben, sendet die dynamische ABR-Liste, wenn ihre Bandbreite noch nicht erreicht worden ist. Wenn die minimale Bandbreite für sowohl VBR als auch ABR erfüllt worden sind, dann wetteifern die dynamischen Listen UBR, VBR und ABR auf eine Round-Robin-Weise um die übrige Bandbreite.
  • ABR stellt auch vier Prioritätsebenen zur Verfügung. Es ist diesbezüglich unterschiedlich von VBR, dass es keinen Zellenverlust garantiert, weil eine Flusssteuerung verwendet wird. Dynamischen ABR-Listen wird auch eine minimale Bandbreite an einer Ausgangsverbindung garantiert. Wie es oben angegeben ist, wetteifern dann, wenn einmal eine minimale ABR-Bandbreite erfüllt worden ist, UBR, VBR und ABR alle auf eine Round-Robin-Weise um eine übrige Bandbreite.
  • Die Struktur einer Liste von Listen, die unter Bezugnahme auf die 5 und 7 eingeführt ist, ist auch auf die Verarbeitung von Zellen beim FSPP anwendbar. Insbesondere ist noch einmal in Bezug auf 10 jede "Zelle", die in einer der bevorzugten und dynamischen Listen dargestellt ist, tatsächlich ein Paar von Zeigern auf eine Warteschlange mit einer oder mehreren Zellen, die vom jeweiligen Port mit der jeweiligen Priorität zu senden ist oder sind. Jede Warteschlange wird nur einmal in eine bestimmte Liste eingegeben. Wenn diese Warteschlange mehr als eine zu sendende Zelle hat, wird die Warteschlange wieder in die Liste gelegt, aber hinter alle anderen Warteschlangen, die bereits in der Liste sind. Eine Round-Robin-Warteschlangenbedienung wird somit ermöglicht. Zusammenfassend zeigt jeder Listeneintrag auf eine verbundene Liste von zu sendenden Zellen -es ist eine Liste von Listen. Zwischen Warteschlangen gleicher Priorität ist eine Fairness bzw. Gerechtigkeit zur Verfügung gestellt, eine Prioritätsgebung zwischen Listen ist ermöglicht und eine Zellenprioritätsgebung wird beibehalten.
  • Auf diese Weise wird zugeteilter Verkehr zuerst gesendet. Irgendeine übrige Bandbreite wird gemäß einem Schema mit zugeteilter Priorität gesendet. Somit können mehrere Klassen von Dienst durch denselben Schalter zur Verfügung gestellt werden, was ermöglicht, dass ein Kunde für das erwünschte Dienstausmaß zahlt (in Bezug auf eine Bandbreite und eine Latenzzeit), während die Ausnutzung der Schalterbandbreite maximiert wird.
  • Nachdem bevorzugte Ausführungsbeispiele der Erfindung beschrieben sind, wird es Fachleuten auf dem Gebiet offensichtlich werden, dass andere Ausführungsbeispiele, die die Konzepte enthalten, verwendet werden können. Beispielsweise sind einfache Variationen an den hierin spezifizierten Datenraten als innerhalb des Schutzumfangs dieser Offenbarung liegend anzusehen.

Claims (17)

  1. Vermittlungsstruktur zum Gebrauch in einem Kommunikationsnetzwerk, wobei die Vermittlungsstruktur zum Implementieren der Entscheidungsinstanz zwischen mehreren Warteschlangen ein Verarbeitungselement und einen zugeordneten Speicher aufweist, wobei jede der mehreren Warteschlangen zu einer entsprechenden Dispositionsliste von mehreren Dispositionslisten gehört, die durch einen Eintrag von mehreren Einträgen in einer Hauptliste adressiert ist, wobei die Struktur aufweist: ein Steuerungselement; eine verkettete Liste von mindestens einer der mehreren Warteschlangen, wobei jede Warteschlange ein gemeinsames erstes Charakteristikum aufweist, wobei die verkettete Liste von Warteschlangen durch das Steuerelement organisiert und durch eine entsprechende Dispositionsliste adressiert ist; und eine verkettete Liste von mindestens einer der mehreren Dispositionslisten, wobei jede Dispositionsliste ein gemeinsames zweites Charakteristikum aufweist, wobei die verkettete Liste von Dispositionslisten durch das Steuerelement organisiert und durch die Hauptliste adressiert ist, wobei das Steuerungselement dem Erkennen der Auswahl eines ersten Eintrags in der Hauptliste und zum Adressieren einer ersten Dispositionsliste aus der verketteten Liste von Dispositionslisten in Abhängigkeit davon und zum Adressieren einer ersten Warteschlange der verketteten Liste von Warteschlangen unter Verwendung der adressierten ersten Dispositionsliste dient.
  2. Verfahren zur Entscheidungsfindung durch ein Steuerungselement zwischen mehreren Warteschlangen, von denen jede zu einer von mehreren Dispositionslisten gehört, die durch einen Eintrag aus den mehreren Einträgen in einer Hauptliste adressiert sind, wobei das Verfahren umfasst: Organisieren durch das Steuerungselement, dass mindestens eine der Warteschlangen ein gemeinsames erstes Charakteristikum als eine durch die entsprechende Dispositionsliste adressierte verkettete Liste von Warteschlangen aufweist; Organisieren durch das Steuerungselement, dass mindestens eine der Dispositionslisten ein gemeinsames zweites Charakteristikum als eine durch einen ersten Eintrag der mehreren Einträge in der Hauptliste adressierte verkettete Liste von Dispositionslisten aufweist; Erkennen der Auswahl des ersten Eintrags in der Hauptliste durch die Steuerungseinheit; Adressieren einer ersten Dispositionsliste aus der verketteten Liste von Dispositionslisten mit dem gemeinsamen zweiten Charakteristikum durch das Steuerungselement unter Verwendung des ersten Eintrags; und Adressieren einer ersten Warteschlange aus der verketteten Liste von Warteschlangen mit dem gemeinsamen ersten Charakteristikum durch das Steuerungselement unter Verwendung der ersten Dispositionsliste.
  3. Struktur nach Anspruch 1, wobei jeder Eintrag von den mehreren Einträgen der Hauptliste ein Kopf- und Abschluss-Zeigerpaar beinhaltet.
  4. Struktur nach Anspruch 3, wobei die verkettete Liste von Dispositionslisten durch ein entsprechendes Kopf- und Abschlusszeigerpaar aus den Kopf- und Abschlusszeigerpaaren adressiert wird.
  5. Struktur nach Anspruch 1, wobei jede Dispositionsliste aus der verketteten Liste von Dispositionslisten mindestens einen Satz von Kopf-, Abschluss- und Folgeelement-Zeigern beinhaltet.
  6. Struktur nach Anspruch 5, wobei die verkettete Liste von Warteschlangen durch einen entsprechenden Satz von Kopf-, Abschluss- und Folgeelement-Zeigern aus den Sätzen von Kopf-, Abschluss- und Folgeelement-Zeigern adressiert wird.
  7. Struktur nach Anspruch 1, wobei jede Warteschlange aus der verketteten Liste von Warteschlagen mindestens einen Kopfzeiger, einen Abschlusszeiger und einen Folgeelementzeiger beinhaltet.
  8. Struktur nach Anspruch 7, gekennzeichnet durch mehrere verkettete Listen mit je einem Datenzellenzeiger, wobei jeder der Warteschlangen-Kopfzeiger einen ersten Datenzellenzeiger in einer entsprechenden verketteten Liste von Datenzellenzeigern adressiert, wobei jeder der Warteschlangen-Abschlusszeiger einen letzten Datenzellenzeiger in einer entsprechenden verketteten Liste von Datenzellenzeigern adressiert, und wobei jeder der Warteschlangen-Folgeelement-Zeiger eine nächste aufeinander folgende verkettete Warteschlange in der verketteten Liste von Warteschlangen adressiert, falls diese existiert.
  9. Struktur nach Anspruch 8, wobei jeder der mindestens einmal vorhandenen Datenzellenzeiger ferner umfasst: einen Adresszeiger zu einer Datenspeicherzelle; und einen Folgeelementzeiger zu einem nächsten aufeinander folgenden Datenzellenzeiger in einer entsprechenden verketteten Liste von Datenzellenzeigern, falls dieser existiert.
  10. Verfahren nach Anspruch 2, wobei der Schritt des Organisierens der verketteten Liste von Warteschlangen ferner umfasst: Initialisieren eines Folgeelementzeigers für jede Warteschlange in der verketteten Liste von Warteschlangen, so dass dieser der Reihe nach auf eine nächste Warteschlange in der verketteten Liste von Warteschlangen oder, falls keine nächste Warteschlange der Reihe nach existiert, auf einen leeren Wert zeigt.
  11. Verfahren nach Anspruch 2, wobei der Schritt des Organisierens der verketteten Liste von Dispositionslisten ferner umfasst: Initialisieren eines Folgeelementzeigers für jede Dispositionsliste in der verketteten Liste von Dispositionslisten, so dass dieser der Reihe nach auf eine nächste Dispositionsliste in der verketteten Liste von Dispositionslisten oder, falls eine derartige nächste Dispositionsliste nicht existiert, auf einen leeren Wert zeigt.
  12. Verfahren nach Anspruch 2, wobei der Schritt des Adressierens der ersten Dispositionsliste aus der verketteten Liste von Dispositionslisten ferner umfasst: Setzen eines ersten Hauptlisten-Kopfzeigereintrags, so dass dieser auf die erste Dispositionsliste in der verketteten Liste von Dispositionslisten zeigt; Setzen eines ersten Hauptlisten-Abschlusszeigereintrages, so dass dieser auf eine letzte Dispositionsliste in der verketteten Liste von Dispositionslisten zeigt.
  13. Verfahren nach Anspruch 2, wobei der Schritt des Adressierens der ersten Warteschlange aus der verketteten Liste von Warteschlangen ferner umfasst: Setzen eines ersten Dispositionslisten-Kopfzeigers, so dass dieser auf die erste Warteschlange in der verketteten Liste von Warteschlangen zeigt; Setzen eines ersten Dispositionslisten-Abschlusszeigers, so dass dieser auf eine letzte Warteschlange in der verketteten Liste von Warteschlangen zeigt.
  14. Verfahren nach Anspruch 2, mit folgenden weiteren Schritten: Neuanordnen der verketteten Liste von Warteschlangen nach einem vorgeschriebenen Ereignis, wobei die erste Warteschlange aus der verketteten Liste von Warteschlangen zu einer letzten Warteschlange in der verketteten Liste von Warteschlangen gemacht wird, und wobei der Reihe nach eine nächste Warteschlange aus der verketteten Liste von Warteschlangen zur neuen ersten Warteschlange in der verketteten Liste von Warteschlangen gemacht wird.
  15. Verfahren nach Anspruch 14, wobei der Schritt des Neuanordnens der verketteten Liste von Warteschlangen ferner folgende Schritte umfasst: Anpassen eines ersten Dispositionslisten-Abschlusszeigers, so dass dieser auf eine erste Warteschlange aus der verketteten Liste von Warteschlangen zeigt; und Anpassen eines ersten Dispositionslisten-Kopfzeigers, so dass dieser der Reihe nach auf die nächste Warteschlange in der verketteten Liste von Warteschlangen zeigt.
  16. Verfahren nach Anspruch 2, ferner folgende Schritte aufweisend: Neuanordnen der verketteten Liste von Dispositionslisten nach einem vorgeschriebenen Ereignis, wobei die erste Dispositionsliste aus der verketteten Liste von Dispositionslisten zur letzten Dispositionsliste in der verketteten Liste von Dispositionslisten gemacht wird, und wobei der Reihe nach eine nächste Dispositionsliste aus der verketteten Liste von Dispositionslisten zur neuen ersten Dispositionsliste in der verketteten Liste der Dispositionslisten gemacht wird.
  17. Verfahren nach Anspruch 16, wobei der Schritt des Neuanordnens der verketteten Liste ferner folgende Schritte aufweist: Anpassen eines ersten Hauptlisten-Abschlusszeigereintrags, so dass dieser auf die erste Dispositionsliste in der verketteten Liste von Dispositionslisten zeigt; und Anpassen eines ersten Hauptlisten-Kopfzeigereintrages, so dass dieser der Reihe nach auf die nächste Dispositionsliste in der verketteten Liste von Dispositionslisten zeigt.
DE69631589T 1995-07-19 1996-07-18 Verknüpfte listenstrukturen für mehrere steuerebenen in einer atm-vermittlung Expired - Fee Related DE69631589T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US149895P 1995-07-19 1995-07-19
US1498P 1995-07-19
PCT/US1996/011881 WO1997004558A1 (en) 1995-07-19 1996-07-18 Linked-list structures for multiple levels of control in an atm switch

Publications (2)

Publication Number Publication Date
DE69631589D1 DE69631589D1 (de) 2004-03-25
DE69631589T2 true DE69631589T2 (de) 2004-09-16

Family

ID=38659400

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69631589T Expired - Fee Related DE69631589T2 (de) 1995-07-19 1996-07-18 Verknüpfte listenstrukturen für mehrere steuerebenen in einer atm-vermittlung

Country Status (5)

Country Link
EP (1) EP0839422B1 (de)
JP (1) JPH11510323A (de)
AU (1) AU6761896A (de)
DE (1) DE69631589T2 (de)
WO (1) WO1997004558A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60115998T2 (de) * 2000-07-05 2006-06-22 Roke Manor Research Ltd., Romsey Verbesserungen in oder zu Vermittlungsvorrichtungen
US6754795B2 (en) * 2001-12-21 2004-06-22 Agere Systems Inc. Methods and apparatus for forming linked list queue using chunk-based structure
US7336662B2 (en) 2002-10-25 2008-02-26 Alcatel Lucent System and method for implementing GFR service in an access node's ATM switch fabric
US8045539B2 (en) 2002-10-25 2011-10-25 Alcatel Lucent Virtual group connection scheme for ATM architecture in an access node
US7283532B2 (en) 2002-10-25 2007-10-16 Alcatel Lucent Hierarchical scheduler architecture for use with an access node
US7236495B2 (en) 2002-10-25 2007-06-26 Alcatel Lucent Calendar heap system and method for efficient sorting
US7280542B2 (en) * 2002-10-25 2007-10-09 Alcatel Lucent Multicasting system and method for use in an access node's ATM switch fabric
CN101621478A (zh) 2009-08-07 2010-01-06 中兴通讯股份有限公司 队列调度的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0522224B1 (de) * 1991-07-10 1998-10-21 International Business Machines Corporation Hochgeschwindigkeitspufferverwaltung

Also Published As

Publication number Publication date
EP0839422B1 (de) 2004-02-18
EP0839422A4 (de) 2001-08-08
DE69631589D1 (de) 2004-03-25
EP0839422A1 (de) 1998-05-06
WO1997004558A1 (en) 1997-02-06
JPH11510323A (ja) 1999-09-07
AU6761896A (en) 1997-02-18

Similar Documents

Publication Publication Date Title
DE69634857T2 (de) Ablaufsteuerung für eine informationspaketvermittlung
DE60036682T2 (de) Maschine zur gewichteten ringförmigen Ablaufsteuerung
DE69533695T2 (de) Busarbitrierungsverfahren für fernmeldevermittlung
DE69937219T2 (de) Torablauffolgesteuerung und Verfahren zur Dienstenablaufsteuerung mit Garantieen und hierarchische Ratenlimitierung mit oder ohne Überbuchungsmöglichkeit
DE60113967T2 (de) Mehrstufige ablaufsteuerungsverfahren zum paketmultiplexen in einem kommunikationsnetzwerk
DE69934165T2 (de) Neues Verfahren und Vorrichtung zur Verkehrsformung in einem auf Glasfaser basiertes Breitbandanschlusssystem
DE69839334T2 (de) Verfahren zur Zuweisung von Aufwartszeitschlitzen zu einer Netzwerkendeinrichtung , sowie Netzwerkendeinrichtung und Zugriffssteuerung zur Durchführung eines solchen Verfahrens
DE69121268T2 (de) Steuerungsvorrichtung zur Lastverteilung auf Anrufbehandlungseinheiten
DE69937862T2 (de) Bandbreitensteuerung mit zwei Komponenten, zur Anwendung in digitalen Kommunikationssystemen mit mehreren Klassen
DE69534540T2 (de) Apparat und Methode zur Verarbeitung von Bandbreitenanforderungen in einer ATM-Vermittlungsstelle
DE69636825T2 (de) Verzögerungsminimalisierungssystem mit garantierter Bandbreite für Echtzeitverkehr
DE69114084T2 (de) Unterstützung für Datenverkehr mit konstanter Bitrate in Breitbandvermittlungsschaltern.
DE69717455T2 (de) Verfahren und anlage zur steuerung von quellengeschwindigkeit in einem atm netzwerk
DE69432655T2 (de) Verbesserungen in ATM-Nachrichtensystemen
DE60110760T2 (de) Auslese-ablaufsteuerung für nicht aufeinander-folgende daten
DE69931587T2 (de) RRGS-Round-Robin-Greedy Ablaufsteuerung für Eingangs-/Ausgangsgepufferte Terabitswitches
DE69726223T2 (de) Verkehrsformer mit virtuellen Pfaden mit mehrfachen Warteschlangen
DE69233588T2 (de) ATM-Vermittlungsanordnung
DE69111657T2 (de) Breitband ISDN Paketvermittlungsanordnungen.
DE69731606T2 (de) Anlage und verfahren zur änderung von schwellen für überlastkontrolle in atm-vermittlungsstellen
DE102015017100B3 (de) Verteilte Switch-Architektur
DE69912172T2 (de) Verfahren und Vorrichtung zur Steuerung der Verkehrsflüsse in einem Paketvermittlungsnetz
DE60022243T2 (de) Verfahren in ATM Vermittlungsstellen zur optimalen Verwaltung eines Puffers mit dynamischen Schwellwerten für die Länge von Warteschlangen
DE29825153U1 (de) Schalteraufbau eines ATM-Schalters mit großer Kapazität und Mehrklassenkern
EP0639014A1 (de) Zugangskontrollverfahren für einen Pufferspeicher sowie Vorrichtung zum Zwischenspeichern von Datenpaketen und Vermittlungsstelle mit einer solchen Vorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee