DE69733103T2 - Paketvermitteltes Kommunikationssystem - Google Patents

Paketvermitteltes Kommunikationssystem Download PDF

Info

Publication number
DE69733103T2
DE69733103T2 DE69733103T DE69733103T DE69733103T2 DE 69733103 T2 DE69733103 T2 DE 69733103T2 DE 69733103 T DE69733103 T DE 69733103T DE 69733103 T DE69733103 T DE 69733103T DE 69733103 T2 DE69733103 T2 DE 69733103T2
Authority
DE
Germany
Prior art keywords
queue
traffic
packet
flow
cell
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69733103T
Other languages
English (en)
Other versions
DE69733103D1 (de
Inventor
Joseph B. Mountain View Lyles
Christopher J. Charlestown Kappler
Landis C. Kingston Rogers
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.)
Nokia Canada Inc
Xerox Corp
Original Assignee
Alcatel Canada Inc
Xerox Corp
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
Priority claimed from US08/872,327 external-priority patent/US6064677A/en
Priority claimed from US08/872,906 external-priority patent/US6377583B1/en
Application filed by Alcatel Canada Inc, Xerox Corp filed Critical Alcatel Canada Inc
Publication of DE69733103D1 publication Critical patent/DE69733103D1/de
Application granted granted Critical
Publication of DE69733103T2 publication Critical patent/DE69733103T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L12/5602Bandwidth control in ATM Networks, e.g. leaky bucket
    • 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
    • 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
    • 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
    • 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/5615Network termination, e.g. NT1, NT2, PBX
    • 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/5619Network Node Interface, e.g. tandem connections, transit switching
    • 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]
    • 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/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/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5636Monitoring or policing, e.g. compliance with allocated rate, corrective actions
    • 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/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/568Load balancing, smoothing or shaping

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • Die vorliegende Erfindung betrifft paketvermittelte Kommunikationssysteme und insbesondere Verkehrsgestaltung, um die zeitmultiplexierten Paketflüsse an Einreihungspunkten in solchen Systemen oder Systemelementen zu veranlassen, spezifizierten Verkehrs-Deskriptoren zu entsprechen.
  • A. Verkehrskontrakte/Definitionen
  • Die meisten Anwendungen, die gegenwärtig auf paketvermittelten Kommunikationsnetzwerken laufen, können mit jeder beliebigen Bandbreite, die sie gerade von dem Netzwerk erlangen, annehmbar arbeiten, weil sie "elastische" Bandbreiten-Anforderungen aufweisen. Die Serviceklassen, die diese Anwendungen unterstützen, sind als Service "nach bestem Bemühen" (Best-Effort) in der Internet-Gemeinschaft und als "Verfügbare Bitrate" (ABR) in der Breitband-ISDN/ATM-Gemeinschaft bekannt.
  • Es besteht jedoch ein wachsender Bedarf an Netzwerkdiensten, die begrenztes Zittern oder, mit anderen Worten, begrenzte Paketverzögerungsschwankung (in einem ATM-Kontext gewöhnlich als Zellenverzögerungsschwankung bezeichnet) bereitstellen. Diese Art von Service wird z. B. für Echtzeit-Anwendungen, wie etwa Schaltungsemulation und Video, benötigt. Es ist nicht klar, ob und wie die Internet-Gemeinschaft auf diesen Bedarf reagieren wird, aber die Breitband-ISDN/ATM-Gemeinschaft hat durch Einführen des Begriffes eines ausgehandelten Benutzernetzwerk-Verkehrskontraktes reagiert.
  • Wie man weiß, ist ein Benutzernetzwerk-ATM-Kontrakt durch einen Verkehrs-Deskriptor definiert, der Verkehrsparameter, Toleranzen und Qualität von Serviceanforderungen enthält. Eine Übereinstimmungs-Definition ist für jeden der relevanten Verkehrsparameter spezifiziert. ATM-Services können folglich von diesen Verkehrsparametern und ihren entsprechenden Übereinstimmungs-Spezifikationen Gebrauch machen, um verschiedene Kombinationen von Qualität-des-Services-(QoS) Zielsetzungen und Multiplex-Schemas zu unterstützen.
  • Sätze von ATM-Verkehrsklassen, die sich teilweise überschneiden, sind von dem Telekommunikations-Standardisierungssektor der Internationalen Telekommunikationsunion (ITU-T) und dem ATM-Forum definiert worden. In einigen Fällen sind Verkehrsklassen, die im Wesentlichen identische Attribute besitzen, verschiedene Namen von diesen zwei Gruppen gegeben worden. Die folgende Namensübersetzungstabelle identifiziert daher die bestehenden gleichwertigen Gegenstücke:
    ITU-T-Verkehrsklasse ABR ATM-Forum-Verkehrsklasse ABR
    Deterministische Bitrate (DBR) Konstante Bitrate (CBR)
    Statistische Bitrate (SBR) Variable Bitrate (VBR)
    (Kein bestehendes Gegenstück, aber Ersatz) Echtzeit variable Bitrate (rt-VBR)
    (Kein bestehendes Gegenstück, aber Ersatz) Nicht spezifizierte Bitrate (UBR)
  • Ein ATM-Servicekontrakt für eine virtuelle Kreis- (VC) Verbindung oder eine virtuelle Pfad- (VP) Verbindung kann mehrfache Parameter enthalten, die die Servicerate der Verbindung beschreiben. Dies umfasst die Spitzenzellenrate (PCR), die aufrechtzuerhaltende Zellenrate (SCR), die intrinsiche Burst-Toleranz (IBT) und die minimale Zellenrate (MCR). Nicht alle dieser Parameter sind für jede Verbindung oder jede Serviceklasse relevant, aber wenn sie inbegriffene oder explizit spezifizierte Elemente des Servicekontraktes sind, müssen sie respektiert werden. VC-Verbindungen sind der Hauptbrennpunkt der folgenden Erörterung, aber man wird verstehen, dass die VP-Verbindungen ebenfalls spezifiziert werden können. Die Datentransporteinheit für eine ATM-Verbindung wird gewöhnlich als eine "Zelle" bezeichnet. In dieser Offenbarung wird jedoch manchmal der Begriff "Paket" benutzt, um auf die Datentransporteinheit zu verweisen, weil diese allgemeinere Terminologie mit einigen der breiteren Aspekte der Neuerungen vereinbar ist.
  • Der Generische Zellenraten-Algorithmus (GCRA), der in ITU-T Empfehlung 1371 spezifiziert ist, ist gut geeignet, um einen Paket- oder Zellenfluss auf Übereinstimmung mit einem Verkehrs-Deskriptor zu prüfen. Um eine solche Prüfung durchzuführen, benötigt der GCRA die Spezifikation eines Emissionsintervalls (d. h. der Kehrwert einer Flussrate) und einer Toleranz τ. In der Praxis kann diese Toleranz von einer Vielfalt von Faktoren abhängen, einschließlich der Verbindung, der Verbindungs-Einstellparameter oder der Serviceklasse. Wie man sehen wird, kann der GCRA als eine Boolesche Funktion eingesetzt werden, wo für einen Fluss von Paketen fester Länge oder Zellen auf einer Verbindung der GCRA (Emissions-Intervall, Toleranz) unwahr ist, wenn der Fluss einer Spitzenrate entspricht, oder wahr ist, wenn der Fluss einer Minimalrate entspricht. Zum Beispiel entspricht eine Quelle von Zellen einer PCR, wenn GCRA (1/PCR, τPCR) unwahr ist. Desgleichen entspricht eine Verbindung oder Fluss einer MCR, wenn GCRA (1/MCR, τMCR) unwahr ist. Wie einzusehen ist, ist das "Emissionsintervall" der Kehrwert der "Zellenrate".
  • Ein DBR-Verkehrskontrakt ist geeignet für eine Quelle, die eine Verbindung in der Erwartung errichtet, dass ein statischer Betrag an Bandbreite für die Verbindung während ihrer ganzen Lebensdauer fortlaufend verfügbar sein wird. Die Bandbreite, die das Netzwerk einer DBR-Verbindung verspricht, ist daher durch einen PCR-Wert gekennzeichnet. Werter erfüllt der Zellen- oder Paketfluss auf einer solchen Verbindung den Verkehrskontrakt, wenn er GCRA (1/PCR, τPCR) entspricht. Andererseits ist ein SBR-Verkehrskontrakt für eine Anwendung geeignet, die bekannte Verkehrsmerkmale aufweist, die eine informierte Auswahl einer SCR und τIBT sowie einer PCR und τPCR erlauben. Ein SBR- oder rtSBR-Fluss erfüllt seinen Verkehrskontrakt, wenn der Fluss nicht nur GCRA (1/PCR, τPCR), sondern auch GCRA (1/SCR, τIBT) entspricht.
  • Wie zuvor angedeutet, ist ein ABR-Verkehrskontrakt für Anwendungen geeignet, die die dynamischen Schwankungen in der Informationsübertragungsrate tolerieren können, die aus dem Gebrauch von unreservierter Bandbreite resultieren. Eine PCR und MCR werden durch die Quelle spezifiziert, die eine solche Verbindung errichtet, und diese Parameter können der Verhandlung mit dem Netzwerk unterliegen. Die Bandbreite, die auf einer ABR-Verbindung verfügbar ist, ist daher die Summe der MCR (die 0 sein kann) und einer variablen Zellenrate, die aus der gemeinsamen Nutzung von unreservierter Bandbreite unter ABR-Verbindungen über eine definierte Zuteilungstaktik resultiert (d. h. die Bandbreite, die eine Quelle über ihrer spezifizierten MCR empfängt, hängt nicht nur von der ausgehandelten PCR, sondern auch von Netzwerktaktik ab). Eine Rückmeldung von dem Netzwerk ermöglicht der Quellenanwendung, dynamisch die Rate zu justieren, mit der sie Zellen oder Pakete in eine ABR-Verbindung einspeist. Ein ABR-Fluss erfüllt immer seinen Verkehrskontrakt, wenn er GCRA (1/MCR, τMCR) entspricht, und erfüllt ihn immer nicht, wenn er nicht GCRA (1/PCR, τPCR) entspricht. Eine Übereinstimmung in dem Bereich zwischen einer MCR und PCR ist abhängig von der ABR-Rückmeldung und wird daher dynamisch bestimmt.
  • Ein UBR-Verkehrskontrakt ist ähnlich dem ABR-Kontrakt, außer dass der UBR-Kontrakt nicht die Spezifikation einer MCR akkommodiert und keine dynamische Übereinstimmungs-Definition aufweist. Ein UBR-Fluss erfüllt daher seinen Verkehrskontrakt wenn er GCRA (1/PCR, τPCR) entspricht.
  • B. Verkehrsgestaltung
  • ITU-T Empfehlung 1.371 spricht die Möglichkeit der Umgestaltung von Verkehr an einem Netzwerkelement mit dem Zweck an, den Verkehr mit einem Verkehrs-Deskriptor in den folgenden Begriffen in Übereinstimmung zu bringen:
    "Verkehrsgestaltung ist ein Mechanismus, der die Verkehrseigenschaften eines Stromes von Zellen auf einem VCC oder einem VPC ändert, um eine gewünschte Modifikation dieser Verkehrseigenschaften zu erreichen, um eine bessere Netzwerkeffizienz zu erzielen, während die QoS-Ziele erfüllt werden, oder um Übereinstimmung an einer nachfolgenden Schnittstelle sicherzustellen. Verkehrsgestaltung muss die Zellenfolgeintegrität auf einer ATM-Verbindung bewahren. Das Gestalten modifiziert Verkehrseigenschaften eines Zellenflusses mit der Konsequenz einer Zunahme der mittleren Zellenübertragungsverzögerung.
  • Beispiele von Verkehrsgestaltung sind Spitzenzellenratenreduktion, Burstlängenbegrenzung, Verringerung von CDV durch geeignete zeitliche Beabstandung und Warteschlangen-Serviceschemas, wie werter in "Spacing Cells Protects and Enhances Utilization of ATM Network Links", Pierre E. Boyen, beschrieben.
  • Es ist die Wahl eines Operators, zu bestimmen, ob und wo Verkehrsgestaltung durchgeführt wird. Zum Beispiel kann ein Netzwerkoperator wählen, eine Verkehrsgestaltung in Verbindung mit geeigneten UPC/NPC-Funktionen durchzuführen.
  • Es ist die Option eines Operators, eine Verkehrsgestaltung auf getrennten oder angesammelten Zellenflüssen durchzuführen.
  • Als Konsequenz kann jede ATM-Verbindung der Verkehrsgestaltung unterworfen sein.
  • Die dem Netzwerkoperator/Serviceprovider zur Verfügung stehenden Optionen sind die Folgenden:
    • a. Keine Gestaltung
    • – Dimensionieren des Netzwerks, um jeden Fluss von entsprechenden Zellen am Netzwerkeingang unterzubringen, während Übereinstimmung am Netzwerkausgang ohne jede Gestaltungsfunktion sichergestellt wird.
    • b. Gestaltung
    • – Dimensionieren und Betreiben des Netzwerks so, dass jeder Fluss von entsprechenden Zellen am Eingang durch das Netzwerk oder Netzwerksegment befördert wird, während QoS-Ziele erfüllt werden, und Anwenden von Ausgangsgestaltung auf den Verkehr, um Übereinstimmungstests am Ausgang zu erfüllen.
    • – Gestalten des Verkehrs am Eingang des Netzwerks oder Netzwerksegments und Zuteilen von Ressourcen entsprechend den durch Gestalten erhaltenen Verkehrseigenschaften, wäh rend QoS-Ziele und nachfolgende Übereinstimmungstests am Netzwerk- oder Netzwerksegmentausgang erfüllt werden.
  • Die Verkehrsgestaltung kann auch in den Kundeneinrichtungen oder an der Quelle verwendet werden, um sicherzustellen, dass die durch die Quelle oder an der UNI erzeugten Zellen dem ausgehandelten Verkehrskontrakt entsprechen, der für den ATC, der benutzt wird, relevant ist. "ITU-T Empfehlung 1.371, Abschnitt 6.2.5.
  • C. Planung für Echtzeit- und Nicht-Echtzeit-Verbindungen/Bestehende Werkzeuge und Verfahren
  • Wie man weiß, kann, wenn die Bandbreite zwischen Anwendungen, die Internet-Servive "nach bestem Bemühen" oder ABR ATM Servive einsetzen, nicht "fair" geteilt wird, eine Vielfalt unerwünschter Phänomene auftreten. Siehe Lefelhocz, Lyles, Shenker und Zhang, "Congestion Control for Best-Effort Service: Why we need a new paradigm, "IEEE Network, Januar/Februar 1996 zu werteren Einzelheiten über Mechanismen für Best-Effort/ABR-Verkehr.
  • Die meisten ATM-Schalter werden gegenwärtig mit FIFO-Queuing implementiert. FIFO-Queuing zeigt pathologisches Verhalten, wenn es für ABR-Verkehr benutzt wird (siehe "On Traffic Phase Effects in Packet-Switched Gateways", Sally Floyd und Van Jocobson, Internetworking: Research and Exiperience, Vol. 3, Seiten 115–156 (1992) und "Observations on the Dynamics of a Congestion Control Algorithm: The effects of Two-Way Traffic", Lixia Zhang, Scott Shenker und David Clark, ACM SigComm 91 Conference, 3. bis 6. September 1991, Zürich, Schweiz, Seiten 133–148.). FIFO ist auch nicht in der Lage, sich korrekt verhaltende Benutzer vor sich fehlverhaltenden Benutzern zu schützen (es stellt keine Trennung bereit). Als Folge dieser Mängel werden Nicht-FIFO-Queuing-Mechanismen, z. B. gewichtetes faires Queuing (siehe z. B. A. Demers, S. Keshave und S. Shenker, "Analysis and Simulation of a Fair Queuing Algorithm", Proceedings of ACM SigComm, Seiten 1–12, September 1989; und A. K. Parekh "A Generalized Processor Sharing Approach to Flow Control in Integrated Service Networks", Pd. D. Thesis, Department of Electrical Engineering and Computer Science, MIT, 1992) oder Annäherungen an Fair-Queuing, z. B. Round-Robin (Ellen L. Hahne, "Round-robin Sheduling for Max-Min Fairness in Data Networks", IEEE Journal on Selected Areas in Communications, Vol. 9, Seiten 1024–1039, Sept. 1991) oft vorgeschlagen.
  • Serviceklassen, die unelastische Bandbreitenanforderungen haben, verlangen oft, dass Daten mit begrenztem Zittern durch das Netzwerk gesendet werden (d. h. begrenzte Zellen- oder Paketverzögerungsschwankung). Wie durch das vorgenannte Papier von Parekh ge zeigt, kann Fair-Queuing benutzt werden, um begrenztes Zittern für Echtzeit-Ströme bereit zustellen. Außerdem sind die Ergebnisse von Parekh kürzlich (Pawan Goyal, Simon S. Lam und Harrik M. Vin, "Determining End-to-End Delay Bounds in Heterogeneous Networks", Proceedings of The 5th International Workshop on Network and Operating System Support for Digital Audio and Video (NOSSDAV), Durham, N. H., 18. bis 22. April, 1995) erweitert worden, um Verzögerungsgrenzen für Systeme zu nachzuweisen, die eng verwandte Mechanismen von Virtuellem Takt (Lixia Thang, "Virtual Click: A New Traffic Control Algorithm for Packet Switching Networks", Proceedings of ACM SigComm, Seiten 19–29, August 1990) und selbstgetaktetes Fair-Queuing (S. J. Golestani, "A Self Clocked Fair Queuing Scheme for High Speed Applications", Proceedings of INFOCOM, Seiten 636–646, 1994).
  • Es ist daher bekannt, dass sowohl elastische (Best-Effort/ABR) als auch unelastische (oder Echtzeit) Services vom Gebrauch des Fair-Queuing und verwandten Algorithmen profitieren können.
  • 1. Gewichtetes Fair-Queuing und virtueller Takt
  • Fair-Queuing und verwandte Algorithmen (z. B. rahmenbasiertes Fair-Queuing, Defizit-Round-Robin usw.) arbeiten auf Folgen von Paketen oder anderen Datentransporteinheiten (z. B. ist zum Zweck dieser Erörterung ein ATM-Zelle ein Paket). Für ATM werden diese Folgen entweder durch die CPI oder die VPI identifiziert, während in der Internet-Protokollsuite die Identifikation auf der Basis von <IP-Adresse, Protokoll, Port> Triples (IPv4) oder Fluss-Identifizierern (IPv6) erfolgt. Sowohl im selbstgetakteten gewichteten Fair-Queuing als auch beim virtuellen Takt, werden Pakete durch Zeitstempel geordnet (sortiert) (Schemas wie Round-Robin stellen Annäherungen zum Ordnen von Paketen durch Zeitstempel bereit). Diese Zeitstempel stellen die virtuelle Beendigungszeit (oder gleichwertig die virtuelle Anfangszeit) für das Paket dar und werden berechnet, indem ein Startzeitwert genommen und ein Offset addiert werden, der durch Multiplizieren der Länge des Pakets mit einem Gewicht erhalten wird, das den Anteil der einzelnen Paketfolge an der Bandbreite darstellt.
  • Das heißt, für virtuellen Takt wird die virtuelle Beendigungszeit berechnet als: VT(f, 0) = 0 VT(f, j + 1) = max{Ankunft(f, j + 1), VT(f, j)} + Länge(f, j + 1)/Rate(f) (1)wo: VT(f j) die virtuelle Beendigungszeit ist, die mit Paket j von Fluss (virtueller Kreis) f verbunden ist; Ankunft(f, j) die Ankunftszeit von Paket j von Fluss f ist, und Länge(f, j) die Länge des Pakets j von Fluss f ist.
  • Selbstgetaktetes gewichtetes Fair-Queuing weist virtuelle Beendigungszeiten entsprechend der folgenden Formel zu: VT(f, 0) = 0 VT(f, j + 1) = max{SystemVirtualTime, VT(f, j)} + Länge(f, j + 1)*Gewicht(f) (2)wo: SystemVirtualTime die virtuelle Zeit ist, die mit dem Paket, das bedient (ausgegeben) wird, zu der Zeit, wenn Paket(j + 1) ankommt, verbunden ist. Für ATM ist die Paketlänge konstant, weil die Zellen eine feste Länge haben (53 Bytes). Der Term ganz rechts in Ausdruck (1) und Ausdruck (2) wird folglich eine pro Fluss Konstante. Für virtuellen Takt ist der vereinfachte Ausdruck: VT(f, j + 1) = max{Ankunft(f, j + 1), VT(f, j)} + Konstante(f) (3)
  • Für selbstgetaktetes gewichtetes Fair-Queuing ist andererseits der vereinfachte Ausdruck: VT(f, j + 1) = max{SystemVirtualTime, VT(f, j)} + Konstante(f) (4)
  • Mit anderen Worten, ein ATM-Queuing-Punkt, der entweder virtuellen Takt oder selbstgetaktetes gewichtetes Fair-Queuing implementiert, führt die folgenden Schritte durch:
    • 1) Berechnen des Maximums von (a) der momentanen virtuellen Zeit für den VC und (b) entweder i) der Ankunftszeit der Zelle oder ii) der virtuellen Systemzeit.
    • 2) Addieren zu dem Ergebnis von Schritt 1 oben eine pro-VC-Konstante, die darstellt, dass sich VC's in die Bandbreite teilen.
    • 3) Zellen bedienen (sie senden) in der Reihenfolge von zunehmenden Werten der durch die Schritte 1 und 2 zugeteilten virtuellen Zeitstempel.
  • 2. Priorität
  • Das Erteilen von Priorität einer Verkehrsklasse vor einer anderen bedeutet, dass, wenn die Verkehrsklasse höherer Priorität zum Übertragen bereite Zellen besitzt, diese Zellen immer mit Vorrang vor der Verkehrsklasse niedrigerer Priorität gesendet werden.
  • Prioritätsmechanismen können präventiv oder nicht-präventiv sein. Diese Terminologie kommt aus der Betriebssystemliteratur. Ein nicht-präventiver Prioritätsmechanismus weist eine Priorität einem Objekt (ein Prozess in der Betriebssystemwelt, ein VC in der ATM-Welt) zu einem Planungszeitpunkt zu, und das Objekt behält dann diese Priorität, bis es bedient wird. Präventive Prioritätsmechanismen, andererseits, können die Priorität von Objekten ändern, während sie darauf warten, bedient zu werden. In einem präventiven System könnte man z. B. sagen "plane diesen VC mit Priorität 3, aber wenn er nicht in 200 μs bedient wird, erhöhe die Priorität bis auf 2".
  • 3. Arbeitssparendes und nicht-arbeitssparendes Queuing
  • Kleinrock, Queuing Systems, Vol. 2: Computer Applications, John Wiley & Sons, N. Y., N. Y. 1996, Seite 113 benutzt die Terminologie "arbeitssparend", um irgendein Queuing-System zu bezeichnen, in dem Arbeit weder geschaffen noch vernichtet wird. In Übereinstimmung mit dieser Terminologie ist ein Schalter, der, wenn ihm Zellen in einer Queue gegeben werden, immer Zellen auf der ausgehenden Strecke sendet, ein "arbeitssparender Schalter". Schalter, die einen reinen FIFO, gewichtetes Fair-Queuing oder Planungsalgorithmus mit virtuellem Takt verwenden, sind alle arbeitssparend. Im Gegensatz dazu kann ein nicht-arbeitssparender Schalter wählen, Zellen nicht zu senden, selbst wenn sie zum Senden eingereiht sind. Wie man sehen wird, besteht ein Verfahren, dies zu tun, darin, den Schalter zu programmieren, zu warten, bis die momentane Zeit gleich oder größer als der mit einer bestimmten Zelle verbundene Zeitstempel ist, bevor diese Zelle gesendet wird.
  • Arbeitssparende Schalter versuchen, die Übertragungsstrecke voll auszunutzen, entfernen oder verhindern aber nicht unbedingt Bursts. Im Gegensatz dazu können nicht arbeitssparende Schalter Zellen strategisch verzögern, um den Verkehr umzugestalten, um einen strengeren Übereinstimmungstest (d. h. einen GCRA mit einem kleineren τ) zu erfüllen. Außerdem kann ein nicht-arbeitssparender Schalter, in dem einer gegebenen Verbindung nur ein spezifizierter Betrag an Pufferung zugeteilt ist, eine überwachende Funktion durchführen (in ITU-Begriffen ein UPC/NPC), durch Wegwerfen oder Markieren von Zellen, die den zugeteilten Pufferraum zum Überlaufen bringen. Ein Beispiel eines nicht-arbeitssparenden Queuing-Systems ist der zum Stillstand gebrachte virtuelle Takt (Sugih Jamin, "Stalled Virtual Clock" Arbeitsnotiz, Department of Computer Science, UCLA, 21. März, 1994), der eine Adaption von Lixia Zhang's virtuellem Taktalgorithmus ist, wo es virtueller Zeit nicht erlaubt ist, schneller zu laufen (sie steht still oder wird nicht-arbeitssparend) als Echtzeit. Siehe auch Arbeit von Scott Shenker, die durch FTP bei FTP.PARC.XEROX.com verfügbar ist.
  • 4. Kalender-Queues
  • Eine Kalender-Queue ist eine zeitlich geordnete Liste von Aktionen, von denen jede aus der Queue entnommen und ausgeführt wird, wenn die Echtzeit gleich oder größer als die mit der Aktion verbundene Zeit ist. Kalender-Queues mit begrenzten Zeitintervallen können als eine lineare Anordnung dargestellt werden, die als "Zeitrad" oder "Zeitlinie" bekannt ist. Zeiträder weisen Ereignisse Behältern in Bezug auf einen Zeiger zu, wo der Behälterindex mit Modulo-Arithmetik in Bezug auf die Radgröße berechnet wird. Diese Datenstrukturen sind in der Literatur als Queuing-Mechanismen bekannt. In einem Zeitrad wird die Absolutzeit als ein Offset in Bezug auf die momentane Zeit ("Echtzeit") dargestellt, und jedes Element in der Anord nung ist ein Behälter, der eine oder mehrere Aktionen (typischerweise in Form verknüpfter Listen) enthält, die zu der Zeit auszuführen sind, die dem Behälter, in dem sie liegen, zugewiesen ist. Jeder der Behälter eines solchen Zeitrades kann leer sein, d. h. keine mit ihm verbundenen Ereignisse aufweisen.
  • Für jedes Zeitrad gibt es zwei interessierende Zeiten: tearliest und tlatest, die dem Kopf- und Schwanzzeiger der aktiven Einträge in der Anordnung entsprechen, wobei tearliest die Zeit des nächsten zu bedienenden Eintrags (z. B. Paket oder Zelle) ist, und tlatest die Zeit ist, die mit dem letzten (zeitlich am wertesten entfernt) Behälter, der ein geplantes Ereignis enthält, verbunden ist. Die Differenz zwischen tearliest und tlatest kann nicht größer als die Länge des Zeitrades, b, minus 1 sein. Dies kann sichergestellt werden, indem die Zeit als Modulo b gehalten betrachtet und dann sichergestellt wird, dass kein Offset (die Paketlänge) multipliziert mit entweder der Rate oder dem Gewicht im virtuellen Takt bzw. gewichteten Fair-Queuing größer als b – 1 ist. Für eine ATM-Strecke, die bei OC-3 Geschwindigkeiten (149.76 Mbps – SONET-Nutzlastrate) läuft, gibt es etwa 353208 Zellen/s auf der Strecke. Wenn 64 Kbps (Rate für Sprachtelefonie) Flüsse (etwa 174 Zellen/s, wenn AAL-Typ 1 benutzt wird), die Verbindungen mit der niedrigsten Geschwindigkeit sind, die unterstützt werden müssen, dann beträgt das Verhältnis der höchsten unterstützten Rate zu der niedrigsten Rate 2029, was gerundet 211 ergibt. Dieses Verhältnis ist der maximale Offset, der während des Berechnens von virtuellen Zeiten addiert werden wird. Ein Zeitrad der Länge 2030 (2048, um das Aufrunden auf eine Potenz von zwei zu erlauben) ist daher genug, um die mit den Kreisen verbundenen virtuellen Zeiten zu codieren, die in Raten von 64 Kbps bis zur vollen OC-3 Streckenrate reichen.
  • Die Länge einer Zeitrad-Anordnung kann verringert werden, indem einem Anordnungselement erlaubt wird, mehr als einen Zeitoffset zu enthalten. Wenn z. B. das oben beschriebene Zeitrad von 2048 auf 256 Elemente verkleinert wird, würde jeder Behälter acht in ihn abgebildete Zeitoffsets besitzen. Aktionen in einem einzelnen Behälter, der mehrfache Offsets überspannt, können außerhalb der Reihenfolge durchgeführt werden, aber zwischen Behältern werden Aktionen werden in Reihenfolge bleiben. Dies verringert die Menge an Speicher, die einem solchen Zeitrad zugeteilt werden muss auf Kosten einer Verringerung der Genauigkeit des Ordnens von Aktionen in der Kalender-Queue.
  • D. Verkehrsgestaltung für zeitmultiplexierte Flüsse auf mehrfachen Ausgabekanälen
  • Jede Verkehrsgestaltung, die benötigt wird, um zeitgemultiplexte Paket- oder Zellenflüsse mit ihren Verkehrskontrakten zur Übereinstimmung zu bringen, wird vorzugsweise nach dem Abschluss aller Schalt- und Routing-Operationen durchgeführt, die nötig sind, um Flüsse für verschiedene Ausgangskanäle voneinander zu trennen. Dies erlaubt es, die Durchsatzeffizienz des Multiplexers zu optimieren.
  • Frühere ATM-Schalter mit Ausgangs-Queuing haben jedoch im Allgemeinen FIFO- (first in – first out) Ausgangspuffer eingesetzt. Diese Puffer sind nicht imstande, an einer kontrollierten Umgestaltung eines der Flüsse, die sie durchlaufen, teilzunehmen. Stattdessen sind pro-VC zeitmultiplexierte Flüsse, die von diesen Puffern ausgegeben werden, im Wesentlichen zeitgemultiplexte Mischungen der Eingangsflüsse, die in sie geladen werden. Natürlich sind diese Ausgangsflüsse in Bezug auf die Eingangsflüsse wegen der inhärenten Latenz der Puffer zeitlich verzögert. Außerdem kann die Zellenverzögerungsschwankung (CDV) von einem oder mehreren Ausgangsflüssen erhöht werden, wenn Planungskonflikte unter den Datentransportgrenzen der verschiedenen Flüsse auftreten, weil diese Konflikte so genannte "Sende-Kollisionen" verursachen.
  • Wie einzusehen ist, ist erhöhte CDV besonders lästig für Verkehr, z. B. DBR-Verkehr, der gewöhnlich eine relativ enge Toleranz aufweist. Wenn jeder Sprung zwischen einer Quelle und einem Ziel eine einfache FIFO-Ausgabequeue des vorangehenden Typs enthält, kann es daher erforderlich sein, die Zahl von Sprüngen zu begrenzen, die diesem CDV-sensitiven Verkehr zu machen erlaubt ist, um Übereinstimmung mit seiner spezifizierten Toleranz sicherzustellen.
  • Es wird folglich offensichtlich sein, dass eine Notwendigkeit für effizientere und effektivere Verkehrsgestaltungsmechanismen und Prozesse für ATM-Schalter und andere Router besteht, die Verkehr von mehrfachen Eingängen zu mehrfachen Ausgänge zur zeitlich gemultiplexten Ausgangsemission leiten.
  • Die vorliegende Erfindung entspricht der obigen Notwendigkeit durch Bereitstellen einer Raten-Gestaltung in Pro-Fluss-Ausgangswarteschlangen-Routing-Mechanismen für unspezifizierten Bitraten-Service. Die vorliegende Erfindung ist folglich wie in den anliegenden Ansprüchen definiert.
  • Die vorliegende Erfindung wird weiter in Form von Beispielen mit Verweis auf die begleitenden Zeichnungen beschrieben. Inhalt der Zeichnungen:
  • 1 ist ein vereinfachtes Blockdiagramm eines ATM-Schalters, in dem die vorliegende Erfindung vorteilhaft verwendet werden kann.
  • 2 verfolgt schematisch die verschiedenen Formen, die eine ATM-Zelle geeignet annehmen kann, während sie den in 1 gezeigten Schalter quert.
  • 3 ist ein ausführlicheres Blockdiagramm eines repräsentativen Kanals auf der Ausgab- oder Sendeseite des in 1 gezeigten Chips.
  • 4 zeigt schematisch eine Kalender-Queue-Implementierung mit stehen gebliebenem virtuellem Takt der vorliegenden Erfindung.
  • 5 zeigt schematisch eine andere Kalender-Queue-Implementierung mit stehen gebliebenem virtuellem Takt der Erfindung.
  • 6 zeigt schematisch eine noch andere Kalender-Queue-Implementierung mit stehen gebliebenem virtuellem Takt dieser Erfindung.
  • 7 zeigt schematisch eine ABR-Verbindung mit einer Quellle-zu-Ziel-Steuerschleife.
  • 8 zeigt schematsich eine ABR-Verbindung mit einer segmentierten Steuerschleife.
  • A. Eine repräsentative Umgebung
  • Nun auf die Zeichnungen und hier speziell auf 1 verweisend sind die Eingangs- und Ausgangsports eines ATM-Schalters 21 typischerweise mit einer oder mehreren physikalischen Schichten über jeweilige Utopia 2 Schnittstellen und mit einem Schaltersteuerprozessormodul 22 über eine zweite geeignete Schnittstelle verbunden. Dies ermöglicht dem Schalter 21, Daten und Steuerzellen mit allen physikalischen Schichten, die mit ihnen verbunden sind, auszutauschen und auch die Steuerzellen mit dem Steuerprozessormodul 22 auszutauschen. Nach üblicher Praxis sind die Kommunikationskanäle unidirektional, sodass für bidirektionale Kommunikationen ein Kanalpaar benötigt wird.
  • Der Schalter 21 umfasst eine Schaltstruktur 24, ein Struktursteuermodul 25 und einen Reservierungsring 26 zum Schalten von Daten und Steuerzellen von Eingangs-Queues an pro-VC-Ausgangs-Queues. Die Zellen in diesen Queues werden in dem Datenpfad im Datenspeicher 27 gespeichert, und diese Eingangs- und Ausgangs-Queues werden von einem Queue-Steuermodul 28 verwaltet. Typischerweise ist der Datenspeicher 27 bemessen, um bis zu etwa 12000 Zellen zu halten. Verbindungssätze für die Daten- und Steuerzellenflüsse werden in dem Steuerpfad im Steuerspeicher 29 zusammen mit bestimmten Typen von Steuerzellen gespeichert, die durch eine ratenbasierte Maschine und Verkehrsmultiplexer 31 zum Leiten an das Steuerprozessormodul 22 abgefanden werden. Das Steuer-RAM 29 ist geeigneter weise in der Lage, bis zu etwa 8200 Verbindungssätze und 64 K Zellensätze zu akkommodieren. Die Interaktion des Steuerprozessormoduls 22 mit dem Schalter 21 liegt außerhalb des Umfangs der vorliegenden Erfindung und wird daher hierin nicht beschrieben. Personen, die mit ATM-Schalterkonstruktion vertraut sind, werden jedoch einsehen, dass der Steuerprozessor hauptsächlich für die Verbindungsherstellung und -Beendigung sowie für OAM (Betriebs und Wartungs) Funktionen zuständig ist.
  • Der Datenpfad des Schalters 21 wird mit einer vorbestimmten Rate, z. B. 40 MHz, durch eine nicht gezeigte Einrichtung synchron getaktet. In Übereinstimmung mit herkömmlichen Synchron-Pipeline-Konstruktionspraktiken wird jedoch das Taktsignal durch eine ebenfalls nicht gezeigte Einrichtung um unterschiedliche Beträge an unterschiedlichen Punkten entlang dem Datenpfad verzögert, um den Daten eine angemessene Zeit zu geben, sich zu setzen, bevor sie von einer Pipelinestufe zur nächsten übertragen werden.
  • Der üblichen Praxis entsprechend leitet eine Quelle, die mit einem Ziel zu kommunizieren wünscht, Verhandlungen mit dem ATM-Netzwerk, in dem der Schalter 21 liegt, durch Senden einer SETUP-Nachricht an das Netzwerk ein. Diese Nachricht identifiziert das Ziel und spezifiziert explizit oder inbegriffen alle relevanten Verkehrsparameter für die verlangte Verbindung. Wenn das Netzwerk bereit ist, sich an den Verkehrsvertrag zu binden, der durch diese Verkehrsparameter (oder eine modifizierte Version der Parameter, die die Quelle zu akzeptieren bereit ist) definiert wird, leitet das Netzwerk die SETUP-Nachricht an das Ziel. Dann, wenn das Ziel bereit ist, Nachrichtenverkehr von der Quelle entsprechend den Bedingungen des Verkehrsvertrages zu empfangen, gibt das Ziel eine CONNECT-Nachricht an die Quelle zurück. Diese CONNECT-Nachricht bestätigt, dass eine Verbindung auf einem spezifizierten virtuellen Kreis (VC) in einem spezifizierten virtuellen Pfad (VP) für einen Zellenfluss errichtet wurde, der dem Verkehrskontrakt entspricht. Siehe ITU-T Empfehlung 0.2391 und ATN Forum UNI 4.0 Spezifikation. "Permanente" virtuelle Verbindungen können durch Vorkehren errichtet werden, ohne diese Signalisierungsprotokolle aufzurufen.
  • Datenzellen beginnen zu fließen, nachdem die Verbindung hergestellt ist. Wie in 2 gezeigt, ändert sich die Form der Zellen, wenn sie den Schalter durchlaufen, wegen der Operationen, die der Schalter durchführt. Zellen können für Multicasting in dem Schalter 21 wiederholt werden, aber die folgende Erörterung wird auf Unicast-Operationen begrenzt, um unnötige Komplexität zu vermeiden.
  • Wie in 2 bei 41 angedeutet, hat jede ankommende Zelle, die der Schalter 21 empfängt, einen Vorspann, der einen VP-Index und einen VC-Index enthält. Diese Indexe kombinieren sich, um eine einmalige Adresse für einen Sprung der Verbindung zu definieren. Eine Verbindung kann aus mehrfachen Sprüngen bestehen, sodass die VP- und VC-Indexe für den nächsten Sprung in den Vorspann der Zelle geschrieben werden, wenn sie den Schalter 21 durchläuft, wie in 2 bei 42 angedeutet.
  • Der Schalter 21 verwendet die VP- und VC-Indexe der ankommenden Zelle (2 bei 41), um die Adresse zu berechnen, an der der Verbindungssatz für den zugehörigen Fluss in dem Steuer-RAM 29 liegt. Dieser Verbindungssatz enthält typisch einen Bitvektor zum Identifizieren des Ausgangsports (d. h. die Schaltstufe "Ziel"), an dem der Fluss den Schalter 21 verlässt, einen Prioritätsindex zum Identifizieren der relativen Priorität des Flusses auf einer körnigen Prioritätsskala, und einen Kreisindex ("Kreisindex"), der den internen Fluss des Schalters 21 eindeutig identifiziert. Wie in 2 bei 43 gezeigt, werden diese Verbindungsparameter in den Zellenvorspann geschrieben. Dann wird die Zelle in den Daten-RAM-Speicher 29 geschrieben, während ein Zeiger auf die Zelle mit einer geeigneten der Vielzahl von FIFO-Eingangs-Queues verknüpft wird, wobei die Auswahl der Queue auf der Priorität des zugehörigen Flusses basiert.
  • Die relativen Prioritäten des Kopfes von Queue-Zellen in diesen Eingangs-Queues werden während jeder Zellenzeit untersucht, und der Kopf der Queue mit der höchsten Priorität wird für die Arbitration während der nächsten Arbitrationssitzung ausgewählt. Des Weiteren wird die Priorität jeder Queue-Kopfzelle niedrigerer Priorität (d. h. jede nicht ausgewählte Queue-Kopfzelle) schrittweise durch eine nicht gezeigte Einrichtung erhöht, um so die Möglichkeit zu erhöhen, dass diese Zelle zur Arbitration während der nächsten Arbitrationssitzung ausgewählt wird. Selbst wenn die Eingangs-Queues höherer Priorität einen größeren Durchsatz pro Zeiteinheit haben als die Queues niedrigerer Priorität, haben die Queues niedrigerer Priorität eine begrenzte Verzögerung, weil die Priorität ihrer Queue-Kopfzellen als eine Funktion der Zeit zunimmt.
  • Jeder Arbitrationszyklus benötigt eine Zellenzeit des Schalters 21, sodass die Routing-Information für die Zellen, die zur Arbitration ausgewählt werden, in den Reservierungsring 26 eine Zellenzeit vor dem Loslassen in die Schaltstruktur 24 der Nutzlasten der Zelle oder Zellen, die die Arbitration gewinnen, geführt. Mit anderen Worten, wie in 2 bei 44 gezeigt, bestehen die Zellen, die durch den Reservierungsring 31 und die Schaltstruktur 32 empfangen werden, aus dem Vorspann der Zellen für den nächsten Arbitrationszyklus (d. h. die "momentanen Zellen") gefolgt von den Körpern oder Nutzlasten der während des vorherigen Arbitrationszyklusses (d. h. die "vorherigen Zellen") erfolgreich arbitrierten Zellen. Wenn die Zellenkörper die Struktur 32 erreichen, ist daher die Struktur bereits durch die Struktursteuerung 33 konfiguriert, um diese Zellen zu ihrem jeweiligen Ausgangszielport zu leiten. Zu weiterer Information über den Reservierungsring 31 und die Arbitration, die er durchführt, siehe Cisneros, A., "Large Packet Switch and Contention Resolution Device", Proceedings of the XIII International Switching Symposium, 1990, Papier 14, Vol. III, Seiten 77–83 und Lyles U.S.P 5,519,698, erteilt am 21. Mai 1996.
  • In der gezeigten Ausführung werden Zellen in vier Bit breite Nibbel zum Arbitrieren und Routen zerlegt. Danach werden (mit Ausnahme von "Leerlauf-Zellen", die zum Prüfen der Schaltprozesse bereitgestellt werden können) die Zellen wieder zusammengesetzt und in den Datenpfad, den Steuerpfad oder beide (a) zur zeitgeplanten Übertragung an die geeigneten Ausgangsports des Schalters 21 und/oder (b) zur Übertragung an das Steuerprozessormodul 22 eingereiht. Die zeitgeplante Übertragung von Zellen an die Ausgangsports des Schalters 21 steht im Mittelpunkt dieser Erfindung sodass diese Angelegenheit unten weiter erörtert wird. Andererseits sind die Zerlegung und erneute Zusammensetzung von Zellen, die Prüfprozesse und die Interaktion des Steuerprozessors 22 mit RM- (Ressource-Management) und OAM- (Betrieb und Wartung) Zellen identische Themen, die nicht eingehend betrachtet werden müssen.
  • Auf 3 verweisend wird man verstehen, dass der Schalter 21 auf der Ausgangs- oder Sendeseite des Schalters 21 ausfächert. Während ein Ausgangskanal des Schalters 21 gezeigt wird, wird man daher einsehen, dass dieser Kanal für die anderen Kanäle allgemein repräsentativ ist.
  • Wie gezeigt, gibt es geeigneterweise ein Füllzellenmodul 51 zum Annehmen von Zellenkörpern und ihrer zugehörigen Kreisindizes von der Schaltstruktur 24. Die "effektive Zellenzeit" auf der Ausgangsseite der Schaltstruktur 24 wird durch das Verhältnis der nominalen Zellenzeit zu dem Beschleunigungsfaktor "k" bestimmt. Wenn z. B. die nominale Zellenzeit 113 Taktzyklen/Zelle beträgt, ist daher die effektive Zellenzeit auf der Ausgangsseite der Schaltstruktur 24 56.5 Zyklen/Zelle, wenn k = 2.
  • Wenn eine gültige Zelle empfangen wird, benutzt das Füllzellemodul 51 typischerweise Zellenstrukturen von einer verbundenen und nummerierten Frei-Liste 52 solcher Datenstrukturen, um die Zelle in den Datenspeicher 27 zu schreiben. Zu diesem Zweck enthält das Füllzellenmodul 51 zweckmäßig eine Holen-Zustandsmaschine 53, um bei Bedarf Zellenstrukturen von der Spitze der Frei-Liste 52 zu holen. Dies ermöglicht dem Füllzellenmodul 51, den Kreisindex für die Zelle und einen Zeiger auf die Stelle der Zelle im Datenspeicher 27 in eine "Ankunfts"-Nachricht einzufügen, die es sendet, um eine Zellenfluss-Steuerein heit 55 von der Ankunft der Zelle zu informieren. Der Kreisindex ermöglicht der Flusssteuereinheit 55, aus dem Verbindungssatz im Steuerspeicher 29 den VC oder Fluss zu ermitteln, zu dem die Zelle gehört. Dies wiederum ermöglicht der Zellenfluss-Steuereinheit 55, den Verkehrsgestaltungsstatus des Flusses zu prüfen. Ein QAM/RM-Erkennungseinrichtung 57 wird vorteilhaft bereitgestellt, um der Flusssteuereinheit 55 zu ermöglichen, diese Steuerzellen zu identifizieren und festzustellen, ob sie in die Queue in dem Datenpfad, dem Steuerpfad oder in beiden einzureihen sind.
  • Die Speicherzeiger für Zellen von verkehrskontraktverträglichen Flüssen werden in pro-VC-Queues als Reaktion auf "addCell"-Nachrichten eingereiht, die die Zellenfluss-Steuereinheit 55 an eine Queue-Steuereinheit sendet. Jede addCell-Nachricht identifiziert die Zelle, zu der sie gehört, und den Kreisindex des zugehörigen Flusses oder VC. Des Weiteren gibt die addCell-Nachricht auch an, ob die Zelle in die Queue in dem Datenpfad, dem Steuerpfad oder in beiden einzureihen ist. Wenn die Zelle richtig eingereiht ist, gibt die Queue-Steuereinheit 58 eine "added"-Nachricht an die Zellenfluss-Steuereinheit 55, um die Flusssteuereinheit 55 zu informieren, dass die neu eingereihte Zelle bei künftigen Ratengestaltungs-Berechnungen auf dem VC, zu dem sie gehört, in Betracht gezogen werden muss.
  • Vorteilhafterweise überwacht die Queue-Steuereinheit 58 die Länge der pro-VC-Queues in Bezug auf die Tiefensteuergrenzen, die auf den jeweiligen Queues festgelegt sind. Dies ermöglicht der Steuereinheit 58, eine Überfüllungs-Steueraktion auf ABR-Flüssen einzuleiten, wenn ihre pro-VC-Queues übermäßig lang werden. Es ermöglicht auch der Steuereinheit 58, Flüsse zu identifizieren, die ihren Verkehrskontrakt überschreiten, sodass eine geeignete Kontrollfunktion (nicht gezeigt) aufgerufen werden kann, um Zellen von solchen unverträglichen Flüssen abzuwerfen oder zu registrieren.
  • Eine Zugangssteuerung 61 überwacht die "hinzugefügten"-Nachrichten, die von der Queue-Steuereinheit 58 zurückgegeben werden, um einen Scheduler 62 zu veranlassen, die Queue-Kopfzellen für die nicht-leeren pro-VC-Queues auf einer Kalender-Queue 63 zum Senden zu geplanten Zeiten zu planen. Der Scheduler 62 enthält geeigneterweise einen pro-VC virtuellen Takt, um diese Queue-Kopfzellen auf der Kalender-Queue 63 entsprechend den jeweiligen virtuellen Beendigungszeiten VT(f, j + 1) zu planen, die der Scheduler 62 für sie berechnet (oder alternativ "virtuelle Startzeiten"). Siehe bitte Abschnitt III.C.1 oben.
  • Die Kalender-Queue 63 vorfolgt die System-"Echtzeit" oder "Momentanzeit", um zu verhindern, dass irgendwelche der geplanten Zellen vor ihrer geplanten Zeit zum Senden freigegeben werden. Mit anderen Worten, der Scheduler 62 und die Kalender-Queue 63 imple mentieren einen still stehenden virtuellen Takt, sodass die Zellen, die zum Senden geplant sind, zum Senden nur freigegeben werden, wenn die System-Echtzeit wenigstens ihre jeweiligen geplanten Sendezeiten erreicht hat. Wie gezeigt, sind Verbindungen mit Zellen, die von der Kalender-Queue 63 zum Senden freigegeben wurden, mit einer Link-Liste von Verbindungen verbunden, die auf einer Sendeliste 65 zum Senden bereite Zellen besitzen.
  • Die Kalender-Queue 63 informiert die Flussteuereinheit 55 wann immer sie eine Zelle zum Senden auf einer gegebenen Verbindung freigibt. Die Flusssteuereinheit 55 fordert den Verweis auf die nächste Zelle (d. h. die neue Queue-Kopfzelle), wenn vorhanden, auf der pro-VC-Queue für die gegebene Verbindung an und teilt der Zugangssteuerung 61 mit, dass sie diesen Verweis in den Scheduler 62 zum Planen einlassen sollte. Die Zugangssteuerung 61 begibt sich effektiv in Closed-Loop-Kommunikationen mit der Kalender-Queue 63, um sicherzustellen, dass die Queue-Kopfzellen, die sie zum Planen darauf einlässt, unter Ausschluss aller anderen Zellen in den pro-VC-Queues eingelassen werden. Die Kalender-Queue 63 kann daher implementiert werden, indem ein oder mehrere Zeiträder oder Zeitlinien verwendet werden. Siehe bitte Abschnitt III.C.4 oben. Die Zeitspanne dieser Zeiträder muss mindestens so lang sein wie die Periode der Flüsse mit der niedrigsten Frequenz, die das System zu unterstützen bestimmt ist, um durch Zeitumgriff bewirkte Mehrdeutigkeiten zu verhindern, und ist vorzugsweise zweimal so lang, sodass relative Zeiten unter Verwendung von Zweierkomplement-Berechnungen verglichen werden können.
  • B. Gestalten von Flüssen von Datentransportgrenzen fester Bitlänge zu spezifizierten Spitzenflussraten
  • Auf 4 verweisend wird ersichtlich sein, dass Sendesteuerung mit still stehendem virtuellen Takt zum Gestalten von zeitgemultiplexten Flüssen von Datentransporteinheiten fester Bitlänge, z. B. ATM-Zellen, von einem Routing-Mechanismus mit Ausgabe-Queuing zu spezifizierten Spitzendateneinheitsflussraten, z. B. PCRs für DBR/CBR-Service gut geeignet ist. Wie vorher beschrieben, werden die Datentransporteinheiten der Flüsse, die zu einem gegebenen Ausgangsport geleitet werden, nach dem Leiten in pro-Fluss-Queues eingereiht. Die Datentransporteinheiten an den Köpfen dieser Queues werden dann durch eine Zugangssteuerung 61 (unter Ausschluss aller anderen Transporteinheiten) zum Planen auf einer Zeitlinien-Kalender-Queue 63 durch den Scheduler 62 zugelassen. Der Scheduler 62 wiederum führt pro-Fluss-virtuelle-Takt-Berechnungen auf diesen Queue-Kopf-Transporteinheiten durch, um sie zum Entlassen aus der Kalender-Queue 63 entsprechend ihren jeweiligen theoretischen Endzeiten VT(f, j + 1) oder ihren jeweiligen theoretischen Startzeiten zu planen. Siehe bitte Abschnitt III.C.4 oben.
  • Echtzeit wird vorteilhafterweise auf der Zeitlinie 63 mit einer Rate inkrementiert, die dem gestalteten zeitgemultiplexten Ausgangsverkehr ermöglicht, die Bandbreite einer Ausgangsstrecke (nicht gezeigt) im Wesentlichen zu füllen. Wie man erinnern wird, basiert die maximale Zahl von auflösbaren Zeitschlitzen, in die der Scheduler 62 die Queue-Kopfelemente der jeweiligen Flüsse abbilden kann, auf dem Verhältnis der maximal zulässigen Frequenz zu der minimal zulässigen Frequenz dieser Flüsse. Die Rate, mit der Echtzeit von Behälter zu Behälter inkrementiert wird, ist daher ein rationales Vielfaches der Zellenrate.
  • Datentransporteinheiten, die in Zeitschlitzen liegen, die Zeiten darstellen, die früher als die oder gleich der momentanen Referenz-Echtzeit für die Zeitlinie 63 sind, sind zum Senden geeignet und werden daher mit einer Transportliste 65 verbunden, wie vorher beschrieben. Solche Transporteinheiten, die in Zeitschlitzen liegen, die mit späteren Zeitschlitzen der Zeitlinie 63 verbunden sind, bleiben jedoch in einem anhängigen Zustand, bis die Echtzeit ausreichend vorrückt, um diese Zeitschlitze zu erreichen. Um Überroll-Mehrdeutigkeiten zu vermeiden, ist die Zeitlinie 63 bestimmt, sicherzustellen, dass alle Verweise auf früher geplante Datentransporteinheiten aus jedem Zeitschlitz entfernt werden, bevor irgendwelche Verweise auf später geplante Transporteinheiten in Erwartung der nächsten Abtastung darin eingefügt werden.
  • Während die oben beschriebene Anordnung übereinstimmende DBR/CBR-ATM-Flüsse wirkungsvoll in die durch ihre Verkehrskontrakte spezifizierten PCRs formt, hilft sie nicht, die Zellenverzögerungsschwankung (CDV) dieser Flüsse mit den τPCR Parametern ihrer Verkehrskontrakte in Übereinstimmung zu bringen.
  • C. Mehrfache Prioritätsstufen zur Minimierung der relativen CDV
  • Erfindungsgemäß werden Datentransporteinheiten, die durch Flüsse mit verschiedenen Frequenzen an einen multiplexenden Punkt zu liefern sind, so priorisiert, dass den Datentransporteinheiten von höherfrequenten Flüssen Sendepriorität vor Datentransporteinheiten von niederfrequenten Flüssen, mit denen sie gerade kollidieren, eingeräumt wird. Wie in 3 gezeigt, kann diese Sendepriorität durch Lenken der Transporteinheiten, die zum Planen durch einen Planungsmechanismus mit still stehendem virtuellen Takt 63 oder dergleichen zugelassen sind, an eine oder eine andere einer Vielzahl von prioritätsranggeordneten Zeitlinien 66a66e oder Ausgangs-FIFO-Queues basierend auf der Frequenz der Flüsse, zu denen die betreffenden Transporteinheiten gehören, implementiert werden. Für einem ATM-Schalter kann es z. B. ratsam sein, die Reihenfolge von fünf verschiedenen frequenzabhängigen/serviceklassenabhängigen Ausgangsprioritäten zu implementieren, einschließlich (1) einer höchsten Priorität für Zellen von Flüssen, die ausgehandelte Ausgangsraten von wenigstens 1/16 der vollen Raten der Ausgangsstrecke haben (d. h. ihre angesammelte Bandbreite haben), (2) einer zweiten Priorität für Zellen von Flüssen, die ausgehandelte Ausgangsraten im Bereich von 1/16 bis 1/256 der Ausgangsstreckenrate haben, und (3) einer dritten Priorität für Zellen von Flüssen mit ausgehandelten Ausgangsraten im Bereich von 1/256 bis 1/4096 der Streckenrate. Die unteren zwei Prioritäten werden dann geeigneterweise für ABR-Verbindungen eingerichtet, die nicht-null ausgehandelte MCR-Raten haben, und für UBR-Verbindungen und ABR-Verbindungen, die jeweils MCR-Raten von 0 aufweisen.
  • Wie einzusehen ist, reduziert die vorliegende Erfindung wirkungsvoll CDVs der höherfrequenten Flüsse, ohne die CDVs der niederfrequenten Flüsse substanziell zu erhöhen. Als allgemeine Regel ist die CDV, die tolerierbar ist, eine Funktion der ausgehandelten Rate für einen Fluss. Zum Beispiel ist eine CDV von 100 Zellenzeiten in Bezug auf ein erwartetes Emissionsintervall von einer Zelle alle 10 Zellen sehr groß, aber im Allgemeinen unbedeutend, wenn das ausgehandelte Emissionsintervall nur eine Zelle alle 2029 Zellen ist.
  • Wenn ein Kalender-Queue-Mechanismus eingesetzt wird, um die Datentransporteinheiten oder Zellen der Flüsse verschiedener Frequenz zum Senden zu planen, müssen die Flüsse mit hoher Frequenz und hoher Priorität auf die Genauigkeit einer einzelnen Zelle aufgelöst werden, während sie geplant werden, eine annehmbar niedrige CDV zu erzielen, aber die Flüsse mit niedriger Frequenz und niedriger Priorität grober auf eine Genauigkeit von z. B. 16 Zellenzeiten aufgelöst werden können. Dies bedeutet, dass die Zahl von Zeitschlitzen auf der Kalender-Queue 63 reduziert werden kann. Dies ermöglicht es, die Menge an Speicher, die zum Implementieren der Kalender-Queue 63 benötigt wird, auf Kosten des Verlusts von einiger typischerweise unbenötigten Genauigkeit beim Planen der Queue-Kopfzellen der niederfrequenten Flüsse zu reduzieren.
  • Man sollte verstehen, dass die frequenzbasierte Priorisierungstechnik, die die vorliegende Erfindung zum Auflösen von Sendekonflikten an Multiplexpunkten zwischen Flüssen mit verschiedenen, nominal festen Frequenzen bereitstellt, in vielen verschiedenen Anwendungen zum Reduzieren des relativen Zitterns der Flüsse eingesetzt werden kann, einschließlich in Anwendungen mit arbeitssparenden pro-Fluss-Ausgangs-Queues zum Einspeisen von Zellen oder anderen Datentransporteinheiten in einen solchen Multiplexpunkt.
  • D. Verkehrsgestaltung zu MCR- und PCR-Parametern für ABR-Service in Netzwerken mit Quelle-Ziel-ABR-Steuerschleifen
  • Wie man erinnern wird, erwägt der Standard-ABR-Verkehrskontrakt explizit oder implizit spezifizierte PCR- und MCR-Parameter, wo MCR 0 sein kann. Ein ABR-Fluss, der seinem GCRA (1/MCR, τMCR) entspricht, ist gültig und zum Service berechtigt, aber das Netzwerk kann dem Fluss nicht die Bandbreite geben, zu der er berechtigt ist. Im Gegensatz dazu ist ein Fluss, der sein GCRA (1/PCR, τPCR) verletzt, nicht konform. ABR-Verbindungen oder Flüsse, die zum Ausgang eines Netzwerks oder Netzwerkelements, z. B. durch den Schalter 21, geleitet werden, werden daher vorteilhaft gestattet, um sicherzustellen: (1) dass ABR-Flüsse mit Nicht-Null-MCR-Garantien eine angemessene Ausgabebandbreite erhalten, um diese Garantien wirksam zu erfüllen, und (2) dass keiner der ABR-Flüsse seine PCR-Verpflichtung bei einer solchen Ausgabe verletzt. In Netzwerken, die mehrfache Multiplexpunkte aufweisen, ist es nützlich, diese Gestaltung an jedem der Multiplexpunkte vorzunehmen.
  • 4 veranschaulicht eine Technik zum Gestalten von ABR-Flüssen oder VC-Verbindungen, um sie an einem Ausgang eines Netzwerks oder Netzwerkelements an ihre Verkehrskontrakte anzupassen. Wie gezeigt, werden die Raten, bei denen die jeweiligen Flüsse Ausgabeservice anfordern, überwacht, um erstens in 85 festzustellen, ob die Flüsse GCRA (1/MCR, τMCR) verträglich sind oder nicht, und dann in 86 festzustellen, ob die GCRA (1/MCR, τMCR) unverträglichen Flüsse GCRA (1/PCR, τPCR) verträglich sind oder nicht. Steuersignale, die die Ergebnisse dieser gestaffelten Tests 85 und 86 widerspiegeln, werden zu dem Scheduler 62 und seiner zugehörigen Steuerlogik 87 zurückgeführt, um zu erlauben, dass geeignete Ratengestaltungsjustierungen an den Raten vorgenommen werden, mit denen die Datentransporteinheiten (z. B. Zellen) der jeweiligen Flüsse zu dem Ausgang geführt werden. Wie einzusehen ist, ist der gewünschte Zustand für alle ABR-Flüsse GCRA (1/MCR, τMCR) unverträglich (oder nur knapp verträglich) und GCRA (1/PCR, τPCR) unwahr/verträglich, weil diese Algorithmen auf minimale bzw. maximale annehmbare Flussraten prüfen.
  • Das heißt, GCRA (1/MCR, τMCR) verträgliche Flüsse können nicht die Ausgangsbandbreite erhalten, die sie zum Erfüllen ihrer MCR-Garantien benötigen. Wenn ein solcher Fluss in 85 identifiziert wird, sind daher der Scheduler 62 und seine Steuerlogik 87 eingerichtet, um nachträglich empfangene Verweise auf Datentransporteinheiten (z. B. Zellen) dieses Flusses auf einer relativ hoch priorisierten Kalender-Queue mit stehen gebliebenem virtuellen Takt 88 zur Ausgabe bei einer Rate etwas über seiner garantierten MCR zu planen. Zum Beispiel werden diese nachträglich empfangenen Zellen- oder Paketverweise geeignet auf der Kalender-Queue 88 zur Emission bei einer Rate geplant, die durch Multiplizieren der MCR für den Fluss mit einem vorbestimmten Beschleunigungsfaktor bestimmt wird. Dies veranlasst das Netzwerk, diesen zusätzlichen, möglicherweise "nacheilenden" Flüssen die zusätzliche Aus gabebandbreite zu geben, die zum Erfüllen ihrer MCR-Garantien nötig ist.
  • GCRA (1/MCR, τMCR) unverträgliche ABR-Flüsse werden werter in 86 geprüft, um festzustellen, ob sie Ausgabeservice bei annehmbar niedrigen oder unannehmbar hohen GCRA (1/PCR, τPCR) verträglichen oder unverträglichen Raten verlangen. Die Ergebnisse dieser Prüfung werden durch ein anderes Steuersignal erfasst, das zu dem Scheduler 62 und seiner Steuerlogik 87 zurückgeführt wird, um sie zum ratensensitiven Einreihen der nachträglich empfangenen Verweise auf diese GCRA (1/MCR, τMCR) unverträglichen Flüsse in eine Queue niedrigerer Priorität 89 einzustellen. Das heißt, nachträglich empfangene Verweise auf einen Fluss, der in 86 als GCRA (1/PCR, τPCR) verträglich befunden wird, werden an den Schwanz der Sendeliste für die ABR-Flüsse mit MCR-Garantien angehängt, denn sie wird in Round-Robin-Reihenfolge bedient. Demgegenüber werden, wenn ein Fluss in 86 als GCRA (1/PCR, τPCR) unverträglich befunden wird, die nachträglich empfangenen Verweise für diesen Fluss durch den Scheduler 62 auf einer nicht-arbeitssparenden Kalender-Queue mit stehen gebliebenem virtuellen Takt 89 entsprechend der PCR für diesen Fluss geplant, um dadurch dem Fluss eine PCR-Grenze aufzuerlegen.
  • Grundsätzlich wird ersichtlich sein, dass die Ausführung von 4 den folgenden ABR-Verkehrsgestaltungs-Algorithmus implementiert:
    Wenn GCRA (1/MRC, τMCR) verträglich, dann Einreihen in Queue hoher Priorität bei einer Rate MCR × Beschleunigung
    andernfalls, wenn GCRA (1/PCR, τPCR) verträglich, dann Einreihen in arbeitssparende Queue niedriger Priorität, andernfalls Einreihen in nicht-arbeitssparende Queue niedriger Priorität basierend auf PCR-Emissionsintervall.
  • Alternativen, die auf ähnlichen oder anderen Prinzipien basieren, werden sich jedoch selbst empfehlen.
  • Zum Beispiel besteht, wie in 5 gezeigt, eine potenziell attraktive Alternative darin, die Verweise auf die Datentransporteinheiten oder Zellen von Flüssen, die als GCRA (1/MRC, τMCR) unverträglich und GCRA (1/PCR, τMCR) verträglich in 85 bzw. 86 (4) befunden werden, in sowohl (1) die Kalender-Queue hoher Priorität 88 in einem MCR-Planungsintervall als auch (2) in den arbeitssparenden Bereich der Queue niedriger Priorität einzureihen. Dies erzeugt einen "Rennen"-Zustand, weil, wann immer eine Version eines solchen doppelt eingereihten Verweises zum Service in einer der Queues erreicht wird, ein De-Linker 91 die andere Version dieses Verweises aus der anderen Queue entfernt. Dies bedeutet, dass ei ne engere Bindung auf der Toleranz τ aufrechterhalten werden kann. Der Verkehrsgestaltungs-Algoritmnus dieser modifizierten Ausführung ist:
    Beim Einreihen:
    Einreihen in Queue hoher Priorität mit Rate MCR;
    wenn GCRA (1/PCR, τPCR) verträglich, dann Einreihen in arbeitssparende Queue niedriger Priorität;
    andernfalls Einreihen in nicht-arbeitssparende Queue niedriger Priorität basierend auf PCR-Emissionsintervall;
    Beim Ausreihen:
    wenn Ausreihen aus Queue hoher Priorität, dann von Queue niedriger Priorität lösen, andernfalls von Queue hoher Priorität lösen.
  • 6 zeigt noch eine andere Alternative zum Gestalten von ABR-Verbindungen oder Flüssen. In dieser Ausführung wird die Ausgabebandbreite, die für jeden MCR-unverträglichen ABR-Fluss bereitgestellt wird, der eine Nicht-Null-MCR-Garantie hat, basierend auf der mittleren Beabstandung zwischen ABR-Zellen auf der Ausgangsverbindung (d. h. auf der Sendeseite einer Leitungsschnittstelle) und der aktuellen Länge der ABR-"Bereit-Queue" dynamisch justiert. Die aktuelle Länge, Len, dieser ABR-"Bereit-Queue" wird bequem bestimmt, indem die Länge der arbeitssparenden Queue auf den ABR-Sendelisten 65e und 65f, wie bei 93 gezeigt, gemessen wird. Anderseits kann die mittlere Beabstandung, S, zwischen ABR-Zellen auf der Kalender-Queue das Bestimmen des Prozentsatzes der Verbindung in 94 sein, indem die Bandbreite, die für ABR-Flüsse verfügbar ist, nachdem eine Erlaubnis für alle Nicht-ABR-Flüsse erteilt ist, geteilt wird. Die von diesen Nicht-ABR-Flüssen benötigte Bandbreite wird geeignet bestimmt, indem in 94 die angesammelte Bandbreite berechnet wird, die zum Bedienen der Einträge der Sendeliste 65 für die Nicht ABR-Flüsse nötig ist.
  • Wenn z. B. in 94 festgestellt wird, dass 50% der Bandbreite der Ausgangsverbindung für die ABR-Flüsse verfügbar ist, folgt, dass der mittlere Abstand, S, zwischen ABR-Zellen oder Datentransporteinheiten auf der Ausgangsverbindung dann zwei Zellenzeiten beträgt. Diese Information, zusammen mit der berechneten Länge, Len, der ABR-"Bereit-Queue", ermöglicht es, den Service für die MCR-unverträglichen ABR-Flüsse zu optimieren, indem man den Scheduler 62 die ankommenden Verweise für diese Flüsse auf der nicht-arbeitssparenden Kalender-Queue 89 bei jeweiligen Emissionsintervallen Tt planen lässt: Tt = Min(St, Max (Pt, R)) (3)Wo: R = eine geschätzte Round-Robin-ABR
    Servicezeit (R = aktuelle Zeit + S*Len);
    Pt = der früheste Servicekontrakt-verträgliche Weggang für die nächste Zelle von Fluss t (Pt = aktuelle Zeit + 1/PCR), und
    St = der späteste Servicekontrakt-verträgliche Weggang für die nächste Zelle von Fluss t (St = aktuelle Zeit + 1/MCR).
  • E. Verkehrsgestaltung für segmentierte ABR-Verbindungen
  • Wie man weiß, können ABR-Verbindungen mit Quelle-Ziel-Steuerschleifen, wie z. B. in 7 bei 101 gezeigt, oder mit segmentierten Steuerschleifen arbeiten, wie z. B. in 8 bei 102 gezeigt. Wenn segmentierte Steuerschleifen eingesetzt werden, funktioniert jedes der getrennt gesteuerten Segmente als eine virtuelle Quelle VS für das nächste Segment. Jedes ABR-Steuersegment (außer dem ersten) wird daher von einer virtuellen Quelle gespeist, die das Verhalten eines ABR-Quellen-Endpunktes annimmt. Rückwärts-Ressourcenverwaltungs- (RM) Zellen werden aus der Steuerschleife entfernt, wenn sie durch eine virtuelle Quelle empfangen werden. Jede Quelle oder virtuelle Quelle kann jedoch eine Schätzung der verfügbaren Bandbreite zu ihrem Ziel oder virtuellen Ziel VD basierend auf dieser Rückmeldung berechnen, die wiederum als eine erlaubte Zellenrate (ACR) auf einer Pro-Segment-Basis ausgedrückt werden kann. ABR-Verkehrsgestaltung wird daher vorteilhaft Segment für Segment für diese ABR-Verbindungen mit segmentierten Steuerschleifen unter Verwendung einer maximal zulässigen Pro-Fluss-Datentransporteinheiten- oder Zellenrate von Max(MCR, MIN(ACR, PCR) durchgeführt. Die Ausführungen von 46 können eine solche Verkehrsgestaltung implementieren, indem PCR' gleich Max(MCR, MIN(ACR, PCR) gesetzt und dann PCR' anstatt PCR in den Berechnungen verwendet wird.
  • F. Verkehrsgestaltung zu PCR für URB-Service
  • Die Ausführung von 4 kann vereinfacht werden, um Verkehr zu einer spezifizierten PCR für URB-Service zu gestatten. Der URB-Service erwägt eine explizit oder implizit spezifizierte PCR, aber keine MCR. Die getroffene Vorkehrung, um die ABR MCR Garantien durchzusetzen, können daher beseitigt werden, was bedeutet, dass die ankommenden Verweise auf die Datentransporteinheiten oder Zellen eines UBR-Flusses oder -Verbindung in die Queue 89 entsprechend den folgenden Einreihungsregeln eingereiht werden können:
  • Wenn GCRA (1/PCR, τPCR) verträglich, dann Einreihen in Behälter am Ende des arbeitssparenden Bereichs, andernfalls Einreihen in nicht-arbeitssparenden Bereich basierend auf PCR-Emissionsintervall.

Claims (5)

  1. Paketvermitteltes Kommunikationssystem, das einen Verkehrsgestalter zum Gestalten von mehrfachen zeitmultiplexierten, seriellen Flüssen von Paketen zu betreffenden Netzwerk-Verkehrskontrakten enthält, einschließlich wenigstens eines Kontraktes, der eine Spitzen-Paketausgaberate mit einer zugehörigen Toleranz für einen betreffenden der Flüsse festsetzt, wobei der Verkehrsgestalter umfasst: einen Einreihungsmechanismus (28) zum Organisieren von Paketen von aktiven Flüssen, einschließlich des einen Flusses, in betreffenden Warteschlangen entsprechend einer Reihenfolge, bei der sich das älteste anhängige Paket am Kopf der Warteschlange befindet, und einen Planungsmechanismus (62, 63) mit einer arbeitssparenden Warteschlange und einer nicht-arbeitssparenden Kalender-Warteschlange, wobei der Planungsmechanismus (62, 63) mit dem Einreihungsmechanismus (28) verbunden ist, um (i) Pakete des einen Flusses in die arbeitssparende Warteschlange einzureihen, wenn Pakete des einen Flusses durch den Verkehrsgestalter mit einer Rate ausgegeben werden, die mit dem Verkehrskontrakt vereinbar ist, und (ii) Pakete des einen Flusses in der nicht-arbeitssparenden Kalender-Warteschlange zum Ausgeben mit einer Rate zu planen, die nicht größer ist als die vertraglich festgesetzte Spitzenpaketrate für den Fluss, wenn die Rate, mit der Pakete des einen Flusses durch den Verkehrsgestalter ausgegeben werden, in Bezug auf die vertraglich festgesetzte Spitzenrate außer Toleranz ist.
  2. Paketvermitteltes Kommunikationssystem nach Anspruch 1, wobei die Kalender-Warteschlange und die arbeitssparende Warteschlange jeweilige, dynamisch neu zugeteilte Segmente einer echtzeitindizierten, verbundenen Datenstruktur sind, und die Datenstruktur durch einen Zeiger indiziert wird, der die Datenstruktur als eine Funktion von Echtzeit zyklisch durchquert.
  3. Paketvermitteltes Kommunikationssystem nach Anspruch 1 und Anspruch 2, wobei die Pakete von gleichmäßiger, fester Bitlänge sind.
  4. Paketvermitteltes Kommunikationssystem nach Anspruch 1, wobei Pakete aus der arbeitssparenden Warteschlange in ungefährer Round-Robin-Reihenfolge in Bezug auf die Flüsse, die darin eingereihte Pakete aufweisen, entnommen werden.
  5. Paketvermitteltes Kommunikationssystem nach einem der Ansprüche 1 bis 4, wobei die Pakete Zellen mit fester Bytelänge zur Kommunikation im Asynchron-Übertragungsmodus sind.
DE69733103T 1996-06-27 1997-06-27 Paketvermitteltes Kommunikationssystem Expired - Lifetime DE69733103T2 (de)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US872906 1992-04-23
US2064496P 1996-06-27 1996-06-27
US20644P 1996-06-27
US872327 1997-06-10
US08/872,327 US6064677A (en) 1996-06-27 1997-06-10 Multiple rate sensitive priority queues for reducing relative data transport unit delay variations in time multiplexed outputs from output queued routing mechanisms
US08/872,906 US6377583B1 (en) 1996-06-27 1997-06-11 Rate shaping in per-flow output queued routing mechanisms for unspecified bit rate service

Publications (2)

Publication Number Publication Date
DE69733103D1 DE69733103D1 (de) 2005-06-02
DE69733103T2 true DE69733103T2 (de) 2005-09-29

Family

ID=27361482

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69733103T Expired - Lifetime DE69733103T2 (de) 1996-06-27 1997-06-27 Paketvermitteltes Kommunikationssystem

Country Status (2)

Country Link
EP (1) EP0817432B1 (de)
DE (1) DE69733103T2 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389019B1 (en) * 1998-03-18 2002-05-14 Nec Usa, Inc. Time-based scheduler architecture and method for ATM networks
US6438104B1 (en) * 1998-08-07 2002-08-20 Telefonaktiebolaget L M Ericsson (Publ) Link-level flow control method for an ATM server
JP2001127766A (ja) * 1999-10-25 2001-05-11 Toshiba Corp ラインインターフェース装置、及び、パケット交換機
EP3654596B1 (de) * 2018-11-15 2024-05-15 Nokia Solutions and Networks Oy Einkapselung von datenpaketen

Also Published As

Publication number Publication date
EP0817432A3 (de) 2003-11-05
EP0817432B1 (de) 2005-04-27
EP0817432A2 (de) 1998-01-07
DE69733103D1 (de) 2005-06-02

Similar Documents

Publication Publication Date Title
DE69732507T2 (de) Paketvermitteltes Kommunikationssystem
DE69717455T2 (de) Verfahren und anlage zur steuerung von quellengeschwindigkeit in einem atm netzwerk
DE69833588T2 (de) Dynamische, geschwindigkeitsbasierte Ablauffolgesteuerung für ATM-Netzwerke
DE69811619T2 (de) ATM-Zellenübertragung
US6064650A (en) Rate shaping in per-flow output queued routing mechanisms having output links servicing multiple physical layers
US6377583B1 (en) Rate shaping in per-flow output queued routing mechanisms for unspecified bit rate service
DE69510536T2 (de) Breitbandvermittlungsnetz
US5926459A (en) Rate shaping in per-flow queued routing mechanisms for available bit rate service
US6064651A (en) Rate shaping in per-flow output queued routing mechanisms for statistical bit rate service
US6038217A (en) Rate shaping in per-flow output queued routing mechanisms for available bit rate (ABR) service in networks having segmented ABR control loops
DE69634857T2 (de) Ablaufsteuerung für eine informationspaketvermittlung
DE69937862T2 (de) Bandbreitensteuerung mit zwei Komponenten, zur Anwendung in digitalen Kommunikationssystemen mit mehreren Klassen
DE69114084T2 (de) Unterstützung für Datenverkehr mit konstanter Bitrate in Breitbandvermittlungsschaltern.
DE60036682T2 (de) Maschine zur gewichteten ringförmigen Ablaufsteuerung
DE69931302T2 (de) Zeitbasierte Ablaufsteuerungsarchitektur und Verfahren für ATM Netzwerke
DE69818846T2 (de) Paketnetzwerk
DE10350504B4 (de) Verfahren und Vorrichtung zum Festlegen bzw. Zuteilen einer verfügbaren Verknüpfungsbandbreite zwischen paketvermittelten Datenflüssen
DE69636825T2 (de) Verzögerungsminimalisierungssystem mit garantierter Bandbreite für Echtzeitverkehr
DE60207077T2 (de) Methode und vorrichtung zur bereitstellung von kommunikationsbandbreite an benutzer mit garantierter datenrate basierend auf prioritätszuweisung
DE69726223T2 (de) Verkehrsformer mit virtuellen Pfaden mit mehrfachen Warteschlangen
DE60113967T2 (de) Mehrstufige ablaufsteuerungsverfahren zum paketmultiplexen in einem kommunikationsnetzwerk
DE69817756T2 (de) ATM Zellenübertragungsplanung
DE69637027T2 (de) Steuereinrichtung für dynamische übertragungsraten
DE69912172T2 (de) Verfahren und Vorrichtung zur Steuerung der Verkehrsflüsse in einem Paketvermittlungsnetz
DE69736623T2 (de) Paketvermitteltes Kommunikationssystem und Verfahren zur Verkehrsformung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition