DE69732689T2 - Durchfluss- und überlastregeleung in paketvermittelten netzen - Google Patents

Durchfluss- und überlastregeleung in paketvermittelten netzen Download PDF

Info

Publication number
DE69732689T2
DE69732689T2 DE69732689T DE69732689T DE69732689T2 DE 69732689 T2 DE69732689 T2 DE 69732689T2 DE 69732689 T DE69732689 T DE 69732689T DE 69732689 T DE69732689 T DE 69732689T DE 69732689 T2 DE69732689 T2 DE 69732689T2
Authority
DE
Germany
Prior art keywords
cells
rate
cell
queue length
source
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
DE69732689T
Other languages
English (en)
Other versions
DE69732689D1 (de
Inventor
Gunnar Per JOHANSSON
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of DE69732689D1 publication Critical patent/DE69732689D1/de
Application granted granted Critical
Publication of DE69732689T2 publication Critical patent/DE69732689T2/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/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
    • 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/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

Description

  • Technisches Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich in einem ersten Aspekt auf ein Verfahren und ein System in einem ATM-System zum Steuern von Flüssen von Datenzellen und Flusssteuerungsmanagementzellen von einer Zahl von Quellen zu einem Ziel über Verbindungen, die ein Netzelement passieren, während die Flusssteuerungsmanagementzellen von dem Ziel über das Netzelement zu den jeweiligen Quellen zurückkehren. Das Netzelement kann wegen Konkurrenz zwischen Verbindungen Verstopfung ausgesetzt sein, was Schlangenbildung der Verbindungen notwendig macht. Die Datenzellen inkludieren Zellen geringerer Priorität und Zellen höherer Priorität. Die Flusssteuerungsmanagementzellen haben ein explizites Ratenfeld für einen expliziten Ratenwert, der verwendet wird, eine Quellenmaximalzulässigkeitszellenrate auf einen spezifischen Wert zu begrenzen, und ein Feld einer aktuellen (gegenwärtigen) Zellenrate zum Empfangen des spezifischen Wertes.
  • Beschreibung des Standes der Technik
  • Die Verwendung von ATM als eine neue und übergreifende Lösung für Datenkommunikation, die von dem lokalen Bereich zu dem weiten Bereich reicht, hat sich als mit einer beträchtlichen Menge von Problemen belastet erwiesen. Die meisten dieser Probleme sind mehr oder weniger inhärent mit den Eigenschaften des Datenkommunikationsverkehrs als solchem verbunden, die sich zu einem großen Ausmaß von Charakteristika unter scheiden, die von dem Telekommunikationsgebiet gut bekannt sind.
  • Im allgemeinen erfordern Anwendungen, die Datenkommunikationsdienste verwenden, einen großen Umfang an Bandbreite während eher kurzen Zeitperioden, was angebotenen Verkehr mit häufungsartigen Charakteristika verursacht. Außerdem muss die Information, die zwischen typischen Computeranwendungen gesendet wird, fehlerfrei sein, kann aber durch irgendeine Transferverzögerung beeinflusst sein, ohne verschlechtertes Leistungsverhalten aufzuweisen. Von Anwendungen innerhalb des Telekommunikationsgebietes könnte gesagt werden, dass sie die entgegengesetzten Charakteristika aufweisen, d.h. die Bandbreite wird konstant gehalten und sie sind gegenüber Bitfehlern nicht zu empfindlich, aber gegenüber Verzögerungen und Variation von Verzögerungen empfindlich.
  • Folglich muss Datenkommunikationsverkehr verschieden von dem Telekommunikationsverkehr innerhalb der ATM-Netze gemanagt werden, falls der Kompromiss zwischen Netznutzung und Qualität des Dienstes (QoS, quality of service) in einem akzeptablen Gleichgewicht zu halten ist.
  • Jüngste Bemühungen innerhalb von Standardisierungsgremien spiegeln die Notwendigkeit für einen spezifischen ATM-Dienst wider, um Verkehr mit "reinen" Datenkommunikationseigenschaften zu behandeln. Ein Dienst, der der Available Bit Rate ABR Service (Dienst verfügbarer Bitrate ABR) genannt wird, wird in der ATM Forum Traffic Management Specification 4.0, ATMF 95-0013R10, Feb. 1996 spezifiziert. Dieser Dienst wird ebenso in den ITU-T-Empfehlungen inkludiert sein, vgl. z.B. ITU-T-Empfehlung I.371, "Congestion Management for the B-ISDN", 1995.
  • Der ABR-Dienst nutzt ein ratenbasiertes Verstopfungssteuerkonzept. Das Netz steuert die Rate, bei der die Benutzer Daten übertragen können, mittels Rückkopplungsinformation, die zu den Quellen gesendet wird.
  • In dem TWELFTH NORDIC TELETRAFFIC SEMINAR, August 1995, (Espoo Finnland), P. JOHANSSON et al, "Transient Analysis of a Closed Loop Rate Control Algorithm for ATM", Seiten 33–46 und in GLOBECOM 1995, Vol. 1, November 1995, (USA), H. OHSAKI et al "Analysis of Rate-Based Congestion Control Algorithms for ATM Networks", Seiten 296–303 wird Stand der Technik offenbart. Beide diese Dokumente beziehen sich auf einen Enhanced Proportional Rate Control Algorithm (ECPRCA, erweiterter proportionaler Ratensteueralgorithmus) in einem ATM-Netz, worin ein Knoten Ressourcenmanagementzellen (RM-Zellen) von dem nächsten Knoten mit einem expliziten Zellenraten-(ER-)Wert empfängt. Die Zellenrate in dem Knoten wird auf den ER-Wert der RM-Zelle gesetzt, falls dies kleiner als die aktuelle Zellenrate ist, und falls keine RM-Zellen empfangen werden, wird die Zellenrate allmählich verringert. Dieser Algorithmus wird als eine Vorsichtsmaßnahme für den Fall durchgeführt, wo die Rückwärtsrichtung verstopft ist, sodass keine RM-Zellen gesendet werden können, und er sieht eine positive Rückkopplungsschleife vor. Keine dieser Literaturstellen offenbart jedoch Handhabung von Verkehr mit unterschiedlichen Eigenschaften noch irgendeine Kalkulation des ER-Wertes.
  • Zusammenfassung
  • Innerhalb des Rahmens der ABR-Dienstentwicklung wurde eine Reihe von unterschiedlichen Steueralgorithmen expliziter Rate vorgeschlagen. Die Komplexität dieser Algorithmen hängt zu einem großen Ausmaß von der Wahl von Pufferplanungsprinzipien in dem Switch ab. Um die Komplexität zu begrenzen, haben die meisten der Algorithmen so weit auf Switches abgezielt, die FIFO-Planung (FIFO-Scheduling) verwenden. Einige dieser Algorithmen verwenden jedoch, was eine "Abrechnung pro VC" genannt werden könnte, um z.B. die Zahl von aktiven Verbindungen in einem Switch und/oder die Zahl von gespeicherten Zellen pro VC zu beobachten.
  • In den meisten der Algorithmen wird eine Pufferschwelle auf die eine oder andere Weise genutzt um zu bestimmen, ob ein Switch verstopft ist oder nicht. Die Aktionen, die während Verstopfung unternommen werden, unterscheiden sich häufig drastisch von denen, die während nicht-verstopften Bedingungen unternommen werden, um die Verstopfungsbedingung abzumildern. In einigen etwas mehr hoch entwickelten Algorithmen wird die Gesamteingangsrate mit einem gewünschten Ratenbezug, oder Arbeitslast, verglichen, und es wird eine Änderung in der Eingangsrate in Proportion zu der Differenz geordnet, vgl. z.B. A. W. Barnhart, Hughes Network Systems, ATM Forum Contribution 95-0195, Februar 1995, "Example Switch Algorithm for Section 5.4 of TM Spec". Simulationen des Algorithmus, der in dieser Literaturstelle vorgeschlagen wird, haben angezeigt, dass wenn kleine Werte eines Verstärkungsparameters verwendet werden, der Algorithmus Schwierigkeiten hat, die genaue Rate (faire Rate) schnell genug zu finden, um die ungenutzte Bandbreite effizient zu verwenden. Wenn dem Verstärkungsparameter ein höherer Wert gegeben wird, tendiert die Rate stattdessen dazu zu schwingen und verursacht dadurch eine instabile Situation in dem Netz. Ein anderer ähnlicher Algorithmus wurde durch Raj Jain et. al., Ohio State University, ATM Forum Contribution 95-0195, Oktober 1995, "ERICA+: Extensions to the ERICA Switch Algorithm" vorgeschlagen.
  • Es ist ein Ziel der vorliegenden Erfindung, einen expliziten Ratenmechanismus vorzusehen, der sowohl Information über die Pufferbelegung als auch die Eingangsrate, die einem Switch angeboten wird, kombiniert, und der in einem Switch unter Verwendung eines "gewöhnlichen" FIFO-Schemas verwendet werden kann.
  • Dieses Ziel wurde durch das Verfahren und das System gemäß den Aspekten erreicht, die die Merkmale erreicht haben, die aus Ansprüchen 1–22 erscheinen.
  • In einer wichtigen Ausführungsform werden Werte einer Menge von Parametern und Variablen erhalten, die inkludieren:
    y(t): eine Konkurrenzrate in dem Ausgangspuffer zur Zeit t,
    ytot(t): eine gemessene angebotene Rate zu dem Ausgangspuffer zur Zeit t,
    C(t): verfügbare Rate in dem Puffer für Zellen geringerer Priorität zur Zeit t,
    Q(t): Gesamtschlangenlänge in dem Puffer zur Zeit t,
    p: Anteil einer verfügbaren Rate in dem Puffer, wonach gestrebt wird,
    M: ein Pufferschlangenlängenbezug,
    ai und bi: proportionale Konstanten für eine Verbindung i, die den Ausgangspuffer passiert,
    Basierend auf diesen Werten wird der explizite Ratenwert xi(t) zur Zeit t für die Verbindung i als
    Figure 00050001
    kalkuliert.
  • Der explizite Ratenwert xit, der so kalkuliert wird, wird dem expliziten Ratenfeld einer Rückwärtsfluss-Steuermanagementzelle zugewiesen.
  • Durch die Erfindung wird die "Rundenzeit" in der Steuerschleife verkürzt, indem Information über den Switch auf dem Weg zurück zu der Quelle abgefangen wird. Dieser Zustand tritt auf, nachdem Senden zuerst mit einer Verzögerung gestartet ist, die durch ein Vollschleifen-Quellen-Switch-Ziel verursacht wird.
  • Kurze Beschreibung der Zeichnungen
  • Die Erfindung wird nun nachstehend mit Bezug auf die Zeichnungen genauer beschrieben, in denen:
  • 1 eine schematische Ansicht einer ABR-Verbindung ist, die sich in beiden Richtungen zwischen einem Quellenendsystem und einem Zielendsystem über einen Switch erstreckt;
  • 2 eine Ansicht ist, die einen Teil der Verbindung gemäß 1 detaillierter zeigt, der sich zwischen einem Eingangsport und einem Ausgangsport des Switches erstreckt, wobei der Eingangsport und der Ausgangsport jeweils eine Eingangseinrichtung und eine Ausgangseinrichtung inkludieren;
  • 3a–b und 4a–d Flussdiagramme sind, die Operationsschritte veranschaulichen, die in der Eingangseinrichtung und der Ausgangseinrichtung, die in 2 dargestellt wird, durchgeführt werden;
  • 5 und 6 Blockdiagramme sind, die die Struktur der Eingangseinrichtung bzw. der Ausgangseinrichtung von 2 detaillierter darstellen;
  • 7 und 8 Fluidflussannäherungen eines Algorithmus zeigen, der zum Beschreiben eines Systems verwendet wird gemäß der Erfindung, wie mittels 16 veranschaulicht wird;
  • 9 ein Kurvendiagramm ist, das das Verhalten zweier Konstanten veranschaulicht, die in dem Algorithmus gemäß der Erfindung verwendet werden;
  • 10a, b und 11a, b Kurvendiagramme sind, die das transiente Verhalten des Systems gemäß der Erfindung veranschaulichen;
  • 12a, b Kurvendiagramme sind, die das transiente Verhalten eines Systems veranschaulichen, das gemäß einem Algorithmus des Standes der Technik arbeitet;
  • 13 eine Ansicht ähnlich zu der in 2 ist, die einen Switch in einer weiteren Ausführungsform der Erfindung veranschaulicht;
  • 14 einen Teil des Switches von 13 detaillierter veranschaulicht.
  • Detaillierte Beschreibung der Ausführungsformen.
  • 1 ist eine schematische Ansicht einer beispielhaften Verbindung, in der die vorliegende Erfindung verwendet werden kann. Genauer ist es die Frage einer ABR-Ende-zu-Ende-Verbindung (ABR: verfügbare Bitrate), die eine Zahl von Netzelementen durchläuft, z.B. eine Zahl von Switches, von denen einer bei 102 schematisch angezeigt wird, in einem ATM-Netz. Der Switch 102 ist die Engstelle entlang der Verbindung und wird angenommen, ausgangsgepuffert oder logisch mit einem gemeinsamen Puffer pro Ausgangsport zu sein. Gemäß dem zuvor erwähnten ATM-Forumverweis ist ABR eine ATM-Dienstschichtkategorie, für die sich die begrenzenden ATM-Schichttransfercharakteristika, die durch ein Netz vorgesehen werden, anschließend zu einer Verbindungsherstellung ändern können. Der Dienst inkludiert einen Flusssteuermechanismus, der eine Rückkopplung unterstützt, um die Zellentransferrate der Quel lenrate als Reaktion auf sich ändernde ATM-Transfercharakteristika zu steuern. Eine Zellentransferrate in unterschiedlichen Standorten entlang einer Verbindung, wie etwa die eine, die hier ein Beispiel bildet, wird gewöhnlich als Zellen/ms oder Mbps ausgedrückt und wird nachstehend nur als Rate bezeichnet. Die Rückkopplung wird zu der Quelle durch spezifische Steuerzellen, die Ressourcenmanagementzellen oder RM-Zellen genannt werden, übermittelt. Genauer tritt in 1 ABR-Flusssteuerung zwischen einem sendenden Quellenendsystem 104, nachstehend als Quelle bezeichnet, und einem empfangenden Zielendsystem 106, nachstehend als Ziel bezeichnet, auf, was eine jeweilige Leitungsterminierung darstellt und über bidirektionale Verbindungen zusammengeschaltet ist. Per se ist für eine bidirektionale ABR-Verbindung jeder Verbindungsterminierungspunkt sowohl eine Quelle als auch ein Ziel. Der Einfachheit halber wird jedoch hier nur der Informationsfluss von der Quelle 104 zu dem Ziel 106 mit seinen zugehörigen RM-Zellenflüssen betrachtet. Mit Vorwärtsrichtung ist hier die Richtung von der Quelle 102 zu dem Ziel 104 gemeint, und die Rückwärtsrichtung wird die Richtung von dem Ziel 104 zu der Quelle 102 sein.
  • In 1 ist das Quellenendsystem 104 gezeigt, mit einem Switchport, nicht gezeigt, des Switches 102 bidirektional verbunden zu sein. Die bidirektionale Verbindung wird durch Verknüpfungen (links) 108 und 110 für die Vorwärts- bzw. Rückwärtsrichtung dargestellt. Die Verknüpfungen 108 und 110 sind einer Ausbreitungsverzögerung ausgesetzt, die durch d1 bzw. d4 innerhalb von Kreisen dargestellt wird. Das Zielendsystem 106 ist mit dem gleichen Switchport des Switches 102 bidirektional verbunden. Die bidirektionale Verbindung wird durch Verknüpfungen 112 und 114 für die Vorwärts- bzw. Rückwärtsrichtung dargestellt. Die Verknüpfungen 112 und 114 sind einer Ausbreitungsverzögerung ausgesetzt, die durch d2 bzw. d3 innerhalb von Kreisen dargestellt wird. Bei 116 und 118 werden Ausgangspuffer, die in den Verknüpfungen 112 bzw. 110 enden, angezeigt. Boxen, die mit N bezeichnet sind, stellen andere Verbindungen dar, die den gleichen Ausgangspuffer verwenden, d.h. die Ausgangspuffer 116 und 118 sind einem angehäuften Zellenfluss von allen aktiven Verbindungen ausgesetzt, was Verstopfung in den Puffern verursachen kann, wobei dies wiederum eine Konkurrenzsituation verursacht, die zwischen den in Frage kommenden Verbindungen auftritt. Übertragungsverzögerung, die dadurch von den Puffern 116 und 118 verursacht wird, wird durch Symbole 120 und 122 angezeigt. Mit Verstopfung ist hier das gleiche gemeint, wie in B-ISDN definiert, d.h. ein Zustand von Netzelementen (z.B. Switches, Konzentratoren, Kreuzverbindungen und Übertragungsverknüpfungen), in dem ein Netz nicht in der Lage ist, verhandelte Netzleistungsverhaltensziele für bereits hergestellte Verbindungen und/oder für neue Verbindungsanforderungen zu erfüllen. Im allgemeinen kann Verstopfung durch nicht vorhersehbare statistische Schwankungen von Verkehrsflüssen und Störungsbedingungen innerhalb des Netzes verursacht werden.
  • Für den Vorwärtsinformationsfluss von der Quelle 104 zu dem Ziel 106 in 1 gibt es eine Steuerschleife, die aus zwei RM-Zellenflüssen besteht, einem in der Vorwärts- und einem in der Rückwärtsrichtung. Die Quelle 102 generiert Vorwärts-RM-Zellen, die durch das Ziel 104 umgedreht und zu der Zelle als Rückwärts-RM-Zellen zurück gesendet werden. Diese Rückwärts-RM-Zellen tragen Rückkopplungsinformation, die durch die Netzelemente und/oder das Ziel vorgesehen werden, zurück zu der Quelle. Wie in dem ATM-Forumverweis angeführt, kann ein Netzelement:
    • – Direkt Rückkopplungssteuerinformation in RM-Zellen einfügen, wenn sie in der Vorwärts- oder Rückwärtsrichtung passieren.
    • – Indirekt die Quelle über Verstopfung durch Setzen eines expliziten Vorwärtsverstopfungsanzeigebits in dem Datenzellenheader der Zellen des Vorwärtsinformationsflusses informieren. In diesem Fall wird das Ziel die Rückwärts-RM-Zellen basierend auf dieser Verstopfungsinformation aktualisieren.
    • – Rückwärts-RM-Zellen generieren.
  • Eine Box 124 in 1 repräsentiert verschiedene auf ABR bezogene Funktionen, wie etwa Messungen in den Puffern 116 und 118 von Pufferschlangenlänge und/oder angebotener Rate, ebenso wie RM-Zellenlese- und Schreiboperationen. Der Switch 102 kann auch Rückwärts-RM-Zellen einfügen, um Rückkopplungsverzögerungen zu reduzieren.
  • Rückkopplungsinformation von dem Switch 102 zu der Quelle 104 wird in den Rückwärts-RM-Zellen bei einer Rate proportional zu der Ausgangsrate übermittelt. Falls ein explizites Ratenschema verwendet wird, ergibt sich die Engstellenrate für eine Verbindung durch das Minimum von expliziten Raten, die in jedem Switch oder in dem Zielendsystem 106 kalkuliert werden. Die explizite Rate wird hier als ER bezeichnet.
  • Die ER ist in einem ER-Feld in der RM-Zelle gegeben und wird verwendet, eine Quellenmaximalzulässigkeitszellenrate, bezeichnet als ACR (allowed cell rate), auf einen spezifischen Wert zu begrenzen. Ein Feld in der Vorwärts-RM-Zelle, bezeichnet als aktuelle (gegenwärtige) Zellenrate (CCR, Current Cell Rate) wird der ACR in der Quelle zugewiesen, wenn eine Vorwärts-RM-Zelle weggesendet wird. Die ER wird anfangs durch die Quelle auf eine angeforderte Rate gesetzt und kann anschließend durch ein beliebiges Netzelement in dem Pfad auf einen Wert reduziert werden, den das Element auf rechterhalten kann.
  • Basierend auf der obigen Beschreibung wird nun mit Bezug auf 1 die Erfindung durch die Verwendung eines Algorithmus erläutert. Das Zielsystem für den Algorithmus kann ein Netzelement sein, z.B. in der Form eines physisch oder logisch ausgangsgepufferten Switches, wie etwa der Switch 102 in 1 mit seinen Ausgangspuffern 116 und 118.
  • Um die Rückkopplungsverzögerung zu verkürzen, wird den RM-Zellen Information in der Umkehrrichtung durch den Switch zugewiesen, was bedeutet, dass Verbindungen mit der gleichen Verzögerung in einer Schleife inkludierend nur Quelle und Switch an Stelle in einer Schleife inkludierend auch das Ziel die gleiche Steuerungsschleifenverzögerung haben werden. Die Breite von Verzögerungswerten innerhalb einer Gruppe wird durch die erforderliche Toleranz von Stabilität einerseits und Begrenzungen wegen Implementierungsaspekten andererseits bestimmt. Der Algorithmus verwendet zwei proportionale Konstanten, bezeichnet als ai bzw. bi, für jede Gruppe, entsprechend bezeichnet als Gi, von Verbindungen, die eine ähnliche Ausbreitungsverzögerung d = d1 + d4 haben. Die Genauigkeit dafür, wie Verbindungen in der Praxis in Gruppen partitioniert werden, wird gelockert und Verzögerungen innerhalb einer Gruppe werden als identisch angenommen. Die Konstanten ai und bi werden als proportionale Konstanten für den gemessenen Fehler in Rate bzw. Schlangenlänge verwendet. Regeln, um diese Konstanten zu setzen, werden weiter nachstehend erörtert. Optional könnten alle Verbindungen in ein und die gleiche Gruppe von Verbindungen gebracht werden, was eine Suche nach dem geeigneten Paar von Konstanten vermeidet, wenn einer Rückwärts-RM-Zelle ein ER-Wert gegeben werden soll.
  • In dem nachstehend gezeigten Algorithmus wird die explizite Rate in Zeit t für die Gruppe Gi als xi(t) bezeichnet und in dem Switch durch die folgende Formel kalkuliert:
    Figure 00120001
    und dem ER-Feld der RM-Zelle zugewiesen, es sei denn, es wurde bereits ein geringerer ER-Wert zugewiesen. Der Algorithmus verwendet die folgenden Variablen:
    • – y(t): gemessene einzelne Rate von konkurrierenden Verbindungen zur Zeit t, von hier an auch Konkurrenzrate genannt
    • – Ytot(t): gemessene angebotene Rate zu dem Puffer zur Zeit t,
    • – C(t): Bandbreitenkapazität, die zur Zeit t verfügbar ist, von hier an auch verfügbare Rate genannt,
    • – Q(t): die Pufferbelegung zur Zeit t, von hier an auch Schlangenlänge genannt,
    • – p: Anteil der verfügbaren Bandbreite, die der Algorithmus versucht zuzuordnen,
    • – M: ein Schlangenlängenbezug.
  • Wie oben erörtert, wird dem CCR-Feld in der Vorwärts-RM-Zelle die maximal zulässige Zellenrate ACR in der Quelle zugewiesen, wenn eine Vorwärts-RM-Zelle weg gesendet wurde. Die CCR wird verwendet, um die Konkurrenzrate y(t) in dem Puffer zu kalkulieren und wird nachstehend als die Rate eines fairen Anteils (fair share rate) bezeichnet. Die Kalkulationen werden mittels exponenzieller Mittelwertbildung des Wertes in den CCR-Feldern durchgeführt, d.h. y(t) = αCCRcon + (1 – α)y(t), (2)wobei α eine exponenzielle Mittelwertbildungskonstante (in dem Intervall [0,1]) ist,
    CCRcon jene CCRs bezeichnet, die mit einem Wert gleich oder größer βy(t) angetroffen werden, wobei β ein Anteil der Rate fairen Anteils ist, den eine CCR überschreiten muss, um Teil vom Mittelwert zu sein.
  • Diese Bedingung stellt sicher, dass nur Verbindungen, die tatsächlich ihre Engstelle in dem in Frage kommenden Switchpuffer haben, oder mindestens eine Rate haben, die der Rate fairen Anteils nahe ist, in Betracht gezogen werden und vermeidet dadurch Unterlauf des Puffers. Die exponenzielle Mittelwertbildungsfunktion (2) wird gewöhnlich in anderen FIFO-basierten ABR-Algorithmen expliziter Rate verwendet, um ein Maß der Rate fairen Anteils abzuleiten und wird dann häufig als MACR-Kalkulationen bezeichnet, vgl. A. W. Barnhart, Hughes Network Systems, ATM Forum Contribution 95-0195, Februar 1995, "Example Switch Algorithm for Section 5.4 of TM Spec". In dem hier vorgeschlagenen Algorithmus wird die Mittelwertbildung leicht modifiziert, um Entkräftung von Aktualisierungen zu vermeiden, falls große sofortige Änderungen an den Eingangsraten auftreten. Ein Zähler zählt die Zahl von empfangenen unterlaufenden CCR-Werten und behält die Zählung bei. Falls die Zählung eine Grenze überschreitet, wird der CCR-Wert auf jeden Fall verwendet. Jeder Empfang eines CCR-Wertes von einer konkurrierenden Verbindung wird den Zähler zurücksetzen.
  • Die Messungen der angebotenen Rate ytot(t) und der verfügbaren Rate C(t) werden durch Nehmen von Verhältnissen von Zellenzählungen und Zeitintervallen, definiert durch eine minimale Zahl von Zellen, durchgeführt. C(t) wird durch Nehmen der Differenz zwischen der gesamten Verknüpfungsrate und Bandbreite, zugeordnet durch Verkehr mit höherer Priorität abgeleitet, d.h. variable Bitrate VBR und kontinuierliche Bitrate CBR. In dem VBR-Fall könnte dies innerhalb eines relativ kurzen Zeitrahmens geschehen, während sich die CBR-Zu ordnung nur ändert, wenn Verbindungen eingerichtet oder freigegeben werden.
  • Wie oben festgehalten, arbeitet der Algorithmus in dem Punkt in dem Switch, wo ABR-Verbindungen um die Ausgangsverknüpfungskapazität konkurrieren, z.B. in einem Ausgangspuffer. Aus Implementierungsgründen kann es jedoch schwierig sein, ausreichende Pufferungskapazität in dem Ausgangsport zu lokalisieren. Stattdessen befinden sich die Puffer auf der Eingangsseite, und in einem derartigen Fall arbeitet die Erfindung in einem logischen Ausgangspuffer und verwendet Maße, die aus der verteilten Pufferungsstruktur extrahiert werden.
  • Weiter nachstehend wird ein Fall einer Aufstellung des Algorithmus beschrieben. Diese Aufstellung sollte als optional betrachtet werden und es sind alternative Aufstellungen in Bezug auf den Algorithmus als solchen vollauf möglich, aus Implementierungsgründen jedoch begrenzt.
  • Obwohl der Zweck von ABR darin besteht, ungenutzte Bandbreite zu nutzen, wird einige Bandbreite statisch reserviert, z.B. nur für CBR-Verkehr, und darf nicht durch ABR zugeordnet werden. In einem Pseudocode, der weiter nachstehend noch zu beschreiben ist, wird die statische zugeordnete Bandbreite stets von der Verknüpfungsrate subtrahiert.
  • Eine typische Switchlösung mit verteilter Pufferung hat, wie oben erwähnt, große Eingangspuffer in den Eingangsports und relativ kleine Puffer in den Ausgangsports. Zellenverluste in dem kleinen Ausgangspuffer werden mittels eines internen Flusssteuermechanismus vermieden, der nicht einen Teil der Erfindung bildet. Um Blockierung eines Kopfes der Leitung zu vermeiden, sollten die Eingangspuffer in getrennte Puffer für jeden Ausgangsport logisch unterteilt werden. Die Verteilung von Pufferung bedeutet, dass die tatsächliche angebotene Rate und Schlange zwischen den Eingangspuffern ausgebreitet werden, aber der Algorithmus muss mit der Gesamtrate und Schlangenlänge arbeiten, um die Fairnessziele zu bewältigen. Der Weg, um dies zu erreichen, schematisch in 2 veranschaulicht, besteht darin, ein Switch-internes Zellenformat Zählungen von angekommenen Zellen und Maße von Schlangenlängen von jedem logischen Eingangspuffer zu einem Ausgangspuffer übermitteln zu lassen, wo die tatsächliche Kalkulation einer explizite Rate und Rückwärts-RM-Zellenzuweisung stattfinden.
  • 2 ist eine Ansicht, die einen Teil der Verbindung gemäß 1 detaillierter zeigt, der sich zwischen einem Eingangsport und einem Ausgangsport des Switches erstreckt. In 2 zeigt ein Pfeil 202 Zellen an, die von der Quelle in einem logischen Eingangspuffer 204 einer Eingangseinrichtung 206i ankommen. Die Eingangseinrichtung 206i ist ein Element einer Zahl von Eingangseinrichtungen 2061-N , die zu dem Switch gehören, hier bei 212 angezeigt. Alle diese Eingangseinrichtungen inkludieren logische Eingangspuffer, wie etwa den Puffer 204. In jeder Eingangseinrichtung werden die Gesamtzahl von ankommenden Zellen und die Zahl von Schlangenbildungszellen gezählt, um eine Ankunftszellenzählung Cyi bzw. eine Schlangenbildungszellenzählung Qi zu erzeugen. Zellen, die den Puffer 204 verlassen und in einen Ausgangspuffer 214 in einem Ausgangsport, nicht gezeigt, des Switches 212 eintreten, werden durch einen Pfeil 216 angezeigt. Der Ausgangsport, der den Puffer 214 inkludiert, ist ein Element von N Ausgangsports, die zu dem Switch 212 gehören. Pfeile 218 und 220 zeigen Zellenflüsse von den logischen Puffern der anderen der Eingangseinrichtungen 2061-N an, die auch in den gleichen Switch-Ausgangspuffer 214 eintreten. Zellen, die den Puffer 214 und den Switch 212 verlassen, werden in der Vorwärtsrichtung, angezeigt durch einen Pfeil 222, über eine Ausgangseinrichtung 224 zu einem Ziel, nicht gezeigt, gesendet. Die Ausgangseinrichtung 224 ist den N Ausgangsports gemeinsam. Zel len, die durch das Ziel in der Rückwärtsrichtung zu dem Switch 212 über die Ausgangseinrichtung 224 zurückgegeben werden, werden durch einen Pfeil 226 angezeigt.
  • Die Eingangszellenzählung und Schlangenmessungen, wie etwa Qi und Cyi von der Eingangseinrichtung 206i , werden von jedem logischen Eingangspuffer zu der Ausgangseinrichtung 224 in zwei Feldern eines internen Zellenformates, angezeigt bei 228, übermittelt. In der Ausgangseinrichtung 224 finden die tatsächliche Kalkulation der expliziten Rate und Rückwärts-RM-Zellenzuweisung in einer Funktion statt, die durch einen Block 230 angezeigt wird, und ein Datensatz der Summe von Zählungen angekommener Zellen und Schlangenlängenwerten für jede der Eingangseinrichtungen 2061-N muss dort unterhalten werden. Ein Pfeil 232, der zu dem Block 228 zeigt, zeigt den Transfer der Werte Cyi und Qi ebenso wie eine Leseoperation in Vorwärts-RM-Zellen an. Die Verzögerung, die durch den Ausgangspuffer 214 verursacht wird, bevor die Zählungen die Ausgangseinrichtung 224 erreichen, wird im Vergleich mit der Gesamtausbreitungsverzögerung kurz sein. Die gesamte angebotene Rate wird in kontinuierlichen Intervallen kalkuliert und die momentane gesamte Schlangenlänge ist einfach die Summe der Schlangenlängen, die von den Eingangsports übermittelt werden. Wenn eine Rückwärts-RM-Zelle weitergeleitet wird, werden der Gesamtschlangenwert und der letzte Ratenwert verwendet, um den expliziten Ratenwert zu kalkulieren. Ein doppelter Pfeil 234 zwischen dem Pfeil 226 und dem Block 228 zeigt Lese- und Schreiboperationen in einer Rückwärts-RM-Zelle an.
  • Es kann ein ähnliches Verfahren, um Zellenzählungen und Schlangenlängenmessungen zu übermitteln, wie das oben mit Bezug auf 2 beschriebene verwendet werden, wenn sich große Puffer in dem Ausgangsport befinden. In diesem Fall ist jedoch keine Ansammlung der Messungen von unterschiedlichen Eingangsports notwendig. Stattdessen können die übermittelten Werte direkt in der ER-Kalkulation verwendet werden.
  • Die Operationen, die in 2 durchgeführt werden, werden nun nachstehend mit Bezug auf 36 beschrieben. 3 und 4 enthalten Flussdiagramme, die Operationsschritte veranschaulichen, die in der Eingangseinrichtung 206 bzw. der Ausgangseinrichtung 224 durchgeführt werden, und sind in Pseudocode-Blöcken, die nachstehend folgen, dargestellt. Ankünfte von Daten oder RM-Zellen werden die Ereignisse sein, die die Operationen durch unterschiedliche Sequenzen takten. Die Beschreibung mit Bezug auf 5 und 6, die Teile der Struktur von 2 detaillierter zeigen, werden die Durchführung der Operationen weiter erklären.
  • Die folgenden Variablen und Parameter werden in den Flussdiagrammen und dem Pseudocode verwendet:
    NoRec: Gesamtzählung von empfangenen Zellen.
    NoSentHP: Zählung der Zahl von Zellen höherer Priorität, die mit variabler Bitrate (VBR) gesendet werden.
    HPlimitstep: Die maximale Intervalllänge für die Ausgangsverknüpfungsratenkalkulation.
    InputRateLimitstep: Die maximale Intervalllänge für die Eingangsratenkalkulation.
    StaticAlloc: Wert von statischer zugeordneter Bandbreite für CBR-Verkehr. Er wird durch die Signalisierungsanwendung oder das Managementsystem für das Netz bereitgestellt.
    InputRateIntLimit: Zahl von Zellen, die für Kalkulation angebotener Rate notwendig sind.
    OutputRateIntLimit: Zahl von Zellen, die für Ausgangsratenkalkulation notwendig sind.
    Q: Vektor von Schlangenwerten für jeden logischen Eingangspuffer.
    Qtot: Die Summe der Elemente in Q.
    Rho: Lastfaktor, der für eine Aktivierung der Steuerung des Systems zu einer Last zwischen 0 und 1 in einem stetigen Zustand verwendet wird.
    β: Bruchteil des fairen Anteils, den eine CCR überschreiten muss, um Teil vom Mittelwert zu sein.
    α: Exponenzielle Mittelwertbildungskonstante (in dem Intervall [0,1]).
    a: Vektor von Ratenproportionalitätsfaktoren für jede Gruppe von Verbindungen mit ähnlicher Ausbreitungsverzögerung.
    b: Vektor von Schlangenproportionalitätsfaktoren für jede Gruppe von Verbindungen mit ähnlicher Ausbreitungsverzögerung.
  • Das Flussdiagramm in 3a und 3b zeigt Operationsschritte, die in ABR-Zellen in der Eingangseinrichtung 206i durchgeführt werden. 3a behandelt ABR-Zellenankünfte zu der Eingangseinrichtung. Warten auf eine Ankunft von ABR-Zellen wird durch Block 302 und einen Fortsetzungswartezustandspfeil 303 dargestellt. Falls eine ABR-Zelle empfangen wird, angezeigt durch Pfeil 304, folgen Zellenzählung und Schlangenlängenzählung in Schritten 306 bzw. 308. Die jeweiligen Zählungen werden durch Cyi und Qi in 3a angezeigt. In dem Block, der Schritt 308 anzeigt, und auf der entsprechenden Zeile des Pseudocodes (c1) nachstehend zeigt ein Stern * an, dass dieser Schritt nicht verwendet wird, falls eine alternative Schlangenlängenkalkulation verwendet wird, was später beschrieben wird. Schritt 308, oder Schritt 306 in dem alternativen Fall, folgt Rückkehr zu dem Wartezustand entsprechend Pfeil 310.
  • Codeblock (c1) nachstehend inkludiert den Zustand und Operationen, die in Blöcken 302, 306 und 308 gezeigt werden.
  • Figure 00180001
  • Figure 00190001
  • Schritte, die eine Übertragung von ABR-Zellen zu der Ausgangseinrichtung 224 vorbereiten, werden in 3b gezeigt. Warten auf eine Übertragung von ABR-Zellen zu der Ausgangseinrichtung 224 wird durch Block 312 und Fortsetzungswartezustandspfeil 313 dargestellt. Falls eine ABR-Zelle übertragen werden soll, angezeigt durch Pfeil 314, folgen Schritte 316 und 318. In diesen Schritten werden die Werte, die aus den Operationen von 3a resultieren, in die jeweiligen zwei Felder des internen Zellenformates, angezeigt bei 228 in 2, eingeführt, gefolgt durch Setzen auf 0 von Cyi, Schritt 316, und Reduzieren der Zählung Qi um 1, Schritt 318. In dem Block, der Schritt 318 anzeigt, und auf den entsprechenden Zeilen des Pseudocodes (2) nachstehend zeigt ein Stern an, dass dieser Schritt nicht verwendet wird, falls die alternative Schlangenlängenkalkulation verwendet wird. Schritt 318, oder Schritt 316 in dem alternativen Fall, folgt eine Rückkehr zu dem Wartezustand entsprechend Pfeil 320.
  • Codeblock (c2) nachstehend inkludiert den Zustand und Operationen, die in Blöcken 312, 316 und 318 gezeigt werden, wobei die in Frage kommenden Felder des internen Zellenformates als "Cell_Cy_field" und "Cell_Q_field" bezeichnet werden:
  • Figure 00190002
  • Das Flussdiagramm von 4a veranschaulicht Schritte zum Kalkulieren von angesammelter angebotener Rate ytot und Schlangenlänge in der Ausgangseinrichtung 224. Warten auf Übertragung von ABR-Zellen zur Ausgangsverknüpfung wird durch einen Startschritt 402 und eine Rückkehrschleife 403, die einen alternativen Startschritt 404 enthält, dargestellt.
  • Falls eine ABR-Zelle übertragen werden soll, folgen Schritte 406 und 408, in denen der Inhalt Cyi und Qi der Ankunftszellenzählungs- und Schlangenlängenfelder 228 des internen Formates gelesen und addiert werden, um eine Gesamtankunftsratenzählung bzw. eine Gesamtschlangenlängenzählung Qtot zu erzeugen. In dem Block von Schritt 408 und im Codeblock (c3) nachstehend zeigt ein Schlangenlängenkalkulationsausdruck folgend einem Stern * an, dass diese Kalkulation in dem Fall nicht verwendet wird, dass das alternative Verfahren verwendet wird, um die Gesamtschlangenlänge zu kalkulieren.
  • Die Zählerwerte, die über das Feld Cy in dem internen Zellenformat erhalten werden, zeigen die Zahl von Zellen an, die zu dem Switch-Eingangsport, der den Eingangspuffer 204 enthält (wobei der Eingangsport mit dem Switch-Ausgangsport über die Ausgangseinrichtung 224 logisch verbunden ist), seit dem letzten Zellenstart angekommen sind. Der Zählerwert wird Null sein können, falls es Zellen gibt, die in dem Puffer 204 gespeichert sind, und keine Zellen zu ihm ankommen. Die gleiche Prozedur wird in allen Switch-Eingangsports durchgeführt, sodass die Zellen, die zu der Eingangseinrichtung 224 ankommen, mit sich die Zahl von Zellen, die zwischen zwei Ankünften ankommen, zu dem jeweiligen logischen Eingangspuffer bringen werden. Falls diese Zählerwerte nun summiert werden, wird die Gesamtzahl von Zellen, die zu einem gewissen Ausgangsport über eine Zahl von Eingängen ankommen, erhalten. Falls dieser Wert durch die Zeit dividiert wird, während der die Zählung durchgeführt wird, wird es ein Gesamtratenmaß geben.
  • Falls im Gegensatz dazu die Zahl von Ankünften kontinuierlich summiert wird und gleichzeitig diese Summe um 1 (Qtot) für jede ABR-Zelle verringert wird, die passiert und einen Wert Cy übergibt, wird ein Netto der Zahl von Zellen, die in dem System zur Zeit existieren, empfangen, d.h. die Schlangenlänge. Falls die Werte Cy, die ankommen, Null sind, wird sich somit die Summe kontinuierlich verringern. In der Tat ist dies genau die Operation, die zum Erhalten der Schlangenlänge durchgeführt werden müsste, falls es nur einen großen Ausgangspuffer gegeben hätte, aber in diesem Fall müssen die Zählerwerte zu dem Ausgang transferiert werden, was eine gewisse Verzögerung zwischen der so erhaltenen Schlangenlängenkalkulation und dem Inhalt der Eingangspufferschlangen in einem gewissen beliebigen Zeitpunkt bedeutet.
  • Der alternative Weg zum Zählen der Schlangenlänge basiert auf den obigen Betrachtungen. Falls das alternative Verfahren verwendet wird, werden ein Schlangenzähler in dem Eingang und Register, die in dem Ausgang zum Summieren der einzelnen Schlangenlängen verwendet werden, nicht benötigt.
  • Gemäß dem alternativen Verfahren kann die Gesamtschlangenlänge in der Ausgangseinrichtung rein basierend auf der Zellenankunftszählung kalkuliert werden. Genauer wird in der Ausgangseinrichtung 224 eine Gesamtschlangenlänge Qtot durch Summieren der Ankunftszellenzählungen Cyi, gezählt in der Eingangseinrichtung 206 und übermittelt zu der Ausgangseinrichtung 224 in dem internen Zellenformat 228, wie zuvor beschrieben, und Subtrahieren von dort des Betrages von 1 für jede Zelle, die zu dem gesteuerten ABR-Zellenfluss gehört, der weiter in der Ausgangsverknüpfung zu dem Ziel gesendet wird, kalkuliert. In dem Block von Schritt 408 und in dem Codeblock (c3) nachstehend wird diese alternative Kalkulation als [Qtot = max((Qtot + Cell_Cy) – 1, 0)] ausgedrückt, wobei die Verringerung –1 die Zelle darstellt, die mit der Zellenan kunftszählung Cy ankommt, und 0 negative Q-Werte ausschließt. Der gesamte alternative Ausdruck ist in Klammern platziert, um seinen Charakter einer Alternative anzuzeigen.
  • Das alternative Verfahren impliziert, dass keine Trennung zwischen den Werten notwendig ist, die von unterschiedlichen Eingangseinrichtungen ankommen. Außerdem muss nur ein Wert in dem internen Zellenformat übermittelt werden. Das alternative Verfahren könnte einige Probleme mit Synchronisation zwischen der tatsächlichen Zahl von gespeicherten Zellen und des Maßes Q in dem Fall einführen, dass Zellen intern in dem Switch verloren gehen. Diese Eventualität sollte jedoch eine extreme Ausnahme sein, falls der Switch richtig gestaltet ist.
  • Schritt 410 bestimmt, wann eine vorbestimmte Zahl InputRateLimit von Zellen empfangen sind. Falls dies nicht der Fall ist, folgt eine Rückkehr zu dem Startschritt 402 gemäß Schritt 412.
  • Schritt 404 in der Rückkehrschleife 403 stellt fest, ob Zellen für eine bestimmte Zeitperiode InputTimeLimit nicht empfangen wurden. Dieser Schritt dient zum Erhalten eines neuen Wertes von ytot in dem Fall, sollten Zellen während einer verlängerten Zeitperiode nicht ankommen. Falls beliebige der zwei Bedingungen gemäß den jeweiligen Schritten 404 und 410 erfüllt sind, folgt Schritt 414, in dem ein Zeitrahmen InputTdiff kalkuliert wird, seit dieser Schritt zuletzt gearbeitet hat. Dieser Zeitrahmen wird in Schritt 436 verwendet, der als nächster folgt, in dem ytot als das Verhältnis zwischen der Gesamtzahl von empfangenen Zellen und diesem Zeitrahmen kalkuliert wird.
  • In dem letzten Schritt 418 wird die Startzeit eines neuen Zeitrahmens als die Endzeit des vorangehenden Zeitrahmens gesetzt, die Zählung von empfangenen Zellen wird auf Null ge setzt und es wird ein neuer Startzeitpunkt der bestimmten Zeitperiode InputTimeLimit gesetzt. Gemäß Pfeil 420 folgt dann die Rückkehr zu dem Startschritt 402.
  • Codeblock (c3) nachstehend definiert die Operationen des Flussdiagramms von 4a.
  • Wie zuvor angeführt und aus dem obigen folgt, wird ytot(t) durch Nehmen des Verhältnisses von Zellenzählung und Zeitintervall gemessen, ausgedrückt nachstehend als "NoRec/InputTdiff", wobei das Zeitintervall "InputTdiff" durch "NowInputTlast" bestimmt wird.
  • Figure 00230001
  • Das Flussdiagramm von 4b veranschaulicht Operationen in Verbindung mit einer Kalkulation von Bandbreitekapazität, die für ABR-Zellen verfügbar ist, d.h. die verfügbare Rate C(t), in der Ausgangseinrichtung 224.
  • Warten auf das Erscheinen von HP-Zellen hoher Priorität, die dem Ausgang zusteuern, wird durch einen Startschritt 422 und eine Rückkehrschleife 424, die einen alternativen Startschritt 426 enthält, dargestellt. Falls eine HP-Zelle in Schritt 422 empfangen wird, folgt ein HP-Zellenzählschritt 426. Der nächste Schritt 430 stellt fest, ob mehr als eine vorbestimmte Zahl OutputRatelntLimit von HP-Zellen empfangen sind. Falls nicht, folgt eine Rückkehr zu Startschritt 422 gemäß Pfeil 432.
  • Schritt 426 in der Rückkehrschleife 424 stellt fest, ob HP-Zellen für eine bestimmte Zeitperiode HPtimelimit nicht empfangen wurden. Dieser Schritt dient zum Erhalten eines neuen Wertes von C im Fall, sollten HP-Zellen während einer langen Zeitperiode nicht ankommen. Falls beliebige der zwei Bedingungen gemäß den jeweiligen Schritten 426 und 430 erfüllt sind, folgt Schritt 434, in dem ein Zeitrahmen OutputTdiff kalkuliert wird, seit dieser Schritt zuletzt gearbeitet hat. Dieser Zeitrahmen wird in Schritt 436, der als nächster folgt, verwendet, in dem die verfügbare Rate C(t) kalkuliert wird.
  • Wie früher festgehalten, wird die verfügbare Rate C(t) durch Nehmen der Differenz zwischen der gesamten Verknüpfungsrate und Bandbreite, die durch Verkehr mit höherer Priorität zugeordnet wird, gemessen. Dies wird in dem Block 436 und in dem folgenden Codeblock (c4) als "C:=LinkRate-StaticAllocNoSentHP/OutputTdiff" ausgedrückt. "LinkRate" ist ein Konfigurationsparameter, der durch das Managementsystem für das Netz bereitgestellt wird und den Typ der Rate angibt, die durch die Schicht unter ATM bereitgestellt wird. Die Bedeutung von "NoSentHP" and "StaticAlloc" wurde zuvor erläutert.
  • In dem letzten Schritt 438 wird die Startzeit eines neuen Zeitrahmens OutputTdiff als die Endzeit des vorangehenden Zeitrahmens gesetzt, die Zählung von empfangenen Zellen in Schritt 428 wird auf Null gesetzt, und es wird ein neuer Startzeitpunkt der bestimmten Zeitperiode HPtimelimit gesetzt. Es folgt dann die Rückkehr zu dem Startschritt 422 gemäß Pfeil 440.
  • Codeblock (c4) nachstehend inkludiert die Zustände und Operationen, die in 4b gezeigt werden.
  • Figure 00250001
  • Das Flussdiagramm von 4c veranschaulicht Operationen in Verbindung mit einer Kalkulation der Rate fairen Anteils y in der Ausgangseinrichtung 224.
  • Warten auf eine RM-Zelle, die dem Ausgang zusteuert, wird durch Block 442 und Fortsetzungswartezustandspfeil 444 dargestellt. Falls eine RM-Zelle für den Ausgang fällig ist, angezeigt durch Pfeil 446, stellt Schritt 448 fest, ob eine beliebige von zwei Bedingungen erfüllt ist. Die erste eine dieser Bedingungen besteht darin, dass CCRs einen Wert haben, der gleich oder höher βy(t) ist, ausgedrückt als "RM(CCR)>=(Beta*y)OR(UF_Count>UFlimit)", und die zweite Bedingung besteht darin, dass eine Zählung, ausgedrückt als "UF_Count", der Zahl von empfangenen unterlaufenden CCR-Werten eine Grenze überschreitet, die als "UFlimit" ausgedrückt wird. Falls beliebige der zwei Bedingungen erfüllt sind, folgt Schritt 450, anderenfalls Schritt 452.
  • In Schritt 450 wird die Operation durchgeführt, die durch Formel (2) oben ausgedrückt wird, wobei dies in Pseudocode in 4c und in Codeblock (c5) nachstehend als "y:=RM(CCR)*α + y*(1-Alpha)" ausgedrückt wird. Diesem folgen Schritt 454, in dem OF_count auf Null gesetzt wird, und Rückkehr zu dem Wartezustand 442, 444, wie durch Pfeil 456 angezeigt.
  • In Schritt 452 wird die Operation durchgeführt, die in Pseudocode in Codeblock (c5) nachstehend als "UF_count:=OF_Count + 1" ausgedrückt wird, gefolgt durch Rückkehr zu dem Wartezustand 442, 444 gemäß Pfeil 458.
  • Codeblock (c5) nachstehend inkludiert die Zustände und Operationen, die in 4c gezeigt werden.
  • Figure 00260001
  • Figure 00270001
  • 4d ist ein Flussdiagramm, das die Schritte für eine Kalkulation der expliziten Rate veranschaulicht. Warten auf Ankunft von RM-Zellen wird durch Block 460 und Fortsetzungswartezustandspfeil 462 dargestellt. Falls eine RM-Zelle empfangen wird, angezeigt durch Pfeil 464, wird eine Bestimmung von Identität der Gruppe Gi in Schritt 466 zum Ermöglichen einer Auswahl von relevanten Konstanten ai und bi durchgeführt. Darauf folgt Summierung aller empfangenen Schlangenwerte in Schritt 468, falls nicht die alternative Schlangenlängenkalkulation zu verwenden ist, vgl. den Stern * in dem Block von Schritt 468 und in dem Pseudocode (c6) nachstehend.
  • In Schritten 470 und 472 folgen Operationen zum Kalkulieren der expliziten Rate xi(t) gemäß Formel (1) in der Ausgangseinrichtung 24. In Schritt 470 wird ein Änderungsfaktor für die Konkurrenzrate y(t) kalkuliert, und in Schritt 472 wird der explizite Ratenwert durch Multiplizieren des Änderungsfaktors mit der aktuellen Konkurrenzrate y(t) kalkuliert.
  • In Schritt 474 wird der kalkulierte explizite Ratenwert dem ER-Feld einer Rückwärts-RM-Zelle zugewiesen, die zu dem Switch ankommt, es sei denn es wurde diesem ER-Feld bereits ein geringerer ER-Werte zugewiesen. Dies wird durch den Ausdruck Min(RM(ER),ExplicitRate) ausgedrückt, der in dem Block von Schritt 474 inkludiert ist. Schritt 474 folgt Rückkehr zum Wartezustand 460, 462 gemäß Pfeil 476.
  • Der Pseudocode (c6) nachstehend bezieht sich auf die Schritte von 4d.
  • Figure 00270002
  • Figure 00280001
  • 5 zeigt ein detaillierteres Blockdiagramm über die Eingangseinrichtung 206i in 2. Zellen, die von der Quelle ankommen, nicht gezeigt, treten gemäß dem Pfeil 202 (2) in eine Funktion 502 ein, die ATM-Zellenheaderoperationen durchführt. Die Funktion 502 enthält Basis-ATM-Funktionen, wie etwa VPI/VCI-(virtueller Pfadidentifikator/virtueller Kanalidentifikator, Virtual Path Identifier/Virtual Channel Identifier) Übersetzung, PTI-(Nutzlasttypindikator, Payload Type Indicator) Operationen, die ein switch-internes Zellenformat hinzufügen. Blöcke 504 und 506 repräsentieren einen Zellenankunftszähler bzw. einen Schlangenlängenzähler, die durch die ATM-Zellenheaderoperationsfunktion 502 zu steuern sind, angezeigt durch Pfeile 508 bzw. 510.
  • Bezug nehmend auf das Flussdiagramm von 3a sorgt sich die Funktion 502 um den Wartezustand gemäß Schritten 302, 303, und die Zähler 504 und 506 führen die Operationen von Schritten 306 und 308 durch. Wie zuvor angezeigt wurde, wird der Schritt 308 nicht verwendet, falls die alternative Schlangenlängenkalkulation verwendet wird, und deshalb ist der Zähler 506 in diesem Fall überflüssig.
  • Der Zellenankunftszähler 504 besteht aus N getrennten Zählerregistern, eines für jeden der N Ausgangsports des Switches 212. Für jede angekommene ABR-Zelle wird ein entsprechendes dieser Zählerregister gemäß Schritt 306 und in wie in Zeile 2 vom Codeblock (c1) ausgedrückt inkrementiert, um die Ankunftszellenzählung Cyi zu erzeugen. Bei Übertragung der ABR-Zelle wird das Register als Teil von Schritt 316 und wie durch Zeile 3 von Codeblock (c2) oben ausgedrückt auf Null zurückgesetzt.
  • Der Schlangenlängenzähler 506 umfasst, falls verwendet, N getrennte Zählerregister, eines für jeden der N Ausgangsports des Switches 212. Für jede angekommene ABR-Zelle wird ein entsprechendes dieser Zählerregister gemäß Schritt 308 und wie in Zeile 3 von Codeblock (c1) ausgedrückt inkrementiert, um die Schlangenbildungszzellenzählung Qi zu erzeugen. Bei Übertragung der ABR-Zelle wird das Register als Teil von Schritt 318 und wie in Zeile 4 von Codeblock (c2) ausgedrückt dekrementiert.
  • Ein Pufferspeicher 512 empfängt, Pfeil 514, die Zellen von der Funktion 502 und speichert diese Zellen logisch pro Ausgangsport, um Blockierung eines Kopfes der Leitung zu vermeiden. Zellen von CBR- und VBR-Verbindungen wird höhere Priorität gegeben, z.B. durch Implementieren eines Prioritätsschemas für den Kopf der Leitung.
  • Eine Zellenplanungseinrichtung 516 ist mit den Zählern 504 und 506 für gegenseitige Steuerung verbunden, wie durch doppelte Pfeile 518 bzw. 520 angezeigt. Die Zellenplanungseinrichtung 516 fragt, angezeigt durch Pfeil 552, Zellen von dem Pufferspeicher 512 auf eine derartige Weise ab, dass es stets eine Zelle (CBR, VBR oder ABR) in jedem Zellenzeitschlitz, der zu dem Ausgangsport gesendet wird, geben wird, die von einem der logischen Eingangspuffer stammt. Die einzige Bedingung, wo dies nicht der Fall ist, tritt ein, falls alle Ausgangspuffer gleichzeitig blockiert sind, d.h. die interne Flusssteuerung stoppt den Fluss von allen Eingangseinrichtungen. Falls ein Zellenschlitz für eine Übertragung einer ABR-Zelle zu Ausgangsport i zugelassen wird, und im Fall, dass die alternative Schlangenlängenkalkulation nicht verwendet wird, werden die aktuellen Werte Cyi und Qi des Registers i des Zellenankunftszählers 504 bzw. des Registers i des Schlangenlängenzählers 506 den jeweiligen Feldern des internen Zellenformates gemäß Schritten 316 und 318 in 3b zugewiesen. Auf jede Zuweisung hin setzt die Zellenplanungseinrichtung 516 das Register i des Zellenankunftszählers 504 auf Null und dekrementiert das Register i des Schlangenlängenzählers 506 als Teil dieser Schritte und wie oben beschrieben zurück. Falls die alternative Schlangenlängenkalkulation verwendet wird, gibt es keinen Schlangenlängenzähler, und deshalb werden die damit in Verbindung stehenden Schritte weggelassen.
  • Ein Switchport 524 empfängt, Pfeil 526, Zellen von der Zellenplanungseinrichtung 516 und behandelt die Übertragung jeder Zelle (CBR, VBR, ABR) in den Switchkern gemäß Pfeil 216 (2).
  • 6 ist ein Blockdiagramm, das die Ausgangseinrichtung 224 und die Funktion 230 von 2 detaillierter veranschaulicht. Die Zellenflüsse 222 und 226, vgl. 2, sind in 6 inkludiert. Lesen der Zellenzählung Cyi und der Schlangenlänge Qi, die letztere wird im Fall des alternativen Verfahrens einer Kalkulation der Schlangenlänge nicht verwendet, in den ankommenden internen Formatfeldern 228 (2) wird durch einen Block 602 und Pfeile 604 bzw. 606 angezeigt. Die gelesenen Cyi-Werte werden gemäß Schritt 406 in 4a und Zeile 2 in Codeblock (c3) in einer addierenden Funktion 608 addiert, um eine Gesamtankunftsratenzählung zu bilden. Die Lesewerte Qi gemäß Zeile 3 in Codeblock (c3) werden in Schlangenlängenregistern 6101-N gespeichert.
  • In der addierenden Funktion 608 wird eine Anhäufungszählung gemäß Schritt 406 in 4a von allen ABR-Zellenankünften, die einem Ausgangsport zusteuern, gespeichert. Wenn eine vorbestimmte Zahl von Zellen empfangen sind, wie durch Schritt 410 bestimmt und gemäß Zeile 5 in Codeblock (c3) kalkuliert, wird ein Ratenmaß in der Form eines Verhältnisses durch die Funktion 608 gemäß Schritten 414 und 416, und Zeilen 6 und 7 in Codeblock (c3) kalkuliert, d.h. es wird ytot kalkuliert. Alternativ triggert eine Überschreitung eines maximalen Zeitwertes die Kalkulation, wie gemäß Pfeil 611 von einem Zellenzähler 612 signalisiert. Der Zellenzähler 612 zählt, angezeigt durch Pfeil 613, die Zellen, die in dem Fluss 222 in der Form von CBR, VBR, ABR oder nicht-zugewiesenen Zellen synchron ankommen, und wird als eine Taktfunktion verwendet, um die maximale Zeit zum Kalkulieren jeder Eingangsrate ytot durch die Funktion 608 zu beobachten.
  • Die verfügbare Ausgangsrate C für ABR-Zellen wird durch eine Funktion 614 kalkuliert. Die Funktion 614 zählt, Pfeil 615, die Zahl von gesendeten Zellen höherer Priorität NoSentHP durch Identifizieren von Zellen, die zu einer VBR-Verbindung gehören, und ist mit dem Zellenzähler 612 verbunden, um die Zeitperiode HPtimelimit zu beobachten. Die Funktion 614 hat auch Zugriff auf den Wert einer statischen zugeordneten Bandbreite StaticAlloc für CBR-Verkehr.
  • Die Schlangenlängenwerte Qi werden in einem jeden der Register 6101-N gespeichert, und eine Gesamtzählung wird aus ihren Inhalten summiert, gemäß der ersten Zeile des Blocks von Schritt 408 und Zeile 3 von Codeblock (c3).
  • Falls das alternative Verfahren zum Kalkulieren der Schlangenlänge verwendet wird, dann werden die Schlangenlängenregister 6101-N und Lese- und Summierungsschlangenlängenwerte Qi durch ein einzelnes Register [610] ersetzt, verbunden, gemäß einem gestrichelten Pfeil 610', mit der addierenden Funktion 608 zum Empfangen der Gesamtzählung gemäß Schritt 406 von dort. Das einzelne Register [610] wird gemäß der zweiten Zeile des Blocks von Schritt 408 und Zeile 4 von Codeblock (c3) aktualisiert.
  • Der Inhalt des CCR-Feldes von jeder RM-Zelle, die die Ausgangseinrichtung 224 in dem Fluss 222 passiert, angezeigt durch Block 616 und Pfeil 617, wird durch eine Mittelwertbildungsfunktion 618 gelesen. Die Bestimmung gemäß Schritt 448 in 4c wird durchgeführt. Vorausgesetzt, dass beliebige der Bedingungen in diesem Schritt erfüllt sind, wird eine exponenzielle Mittelwertbildung der CCR-Werte in Schritt 450 durchgeführt, gefolgt durch Schritt 454 in der Funktion 618 in Übereinstimmung mit Formel (2) und wie in Zeilen 3 und 4 in Codeblock (c5) ausgedrückt. Diese Mittelwertbildung wird als eine Annäherung der Rate fairen Anteils des Switches 212 verwendet (2). Falls die Bedingungen von Schritt 448 nicht erfüllt sind, ersetzt Schritt 452 Schritte 450 und 454.
  • Wenn ein ER-Wert zu kalkulieren ist, sind die Zählung und der Wert einer angebotenen Rate der Funktion 608, der Wert der fairen Rate der Mittelwertbildungsfunktion 618, die verfügbare Ausgangsrate C der Funktion 614 und Qtot, angezeigt durch Pfeil 620, 622, 623 bzw. 624, für eine ER-Kalkulationsfunktion 626 verfügbar. Wie aus dem obigen gefolgt, wird Qtot entweder als der aufsummierte Inhalt aller Register 6101-N oder, im Fall, dass das alternative Verfahren verwendet wird, der aktualisierte Inhalt eines einzelnen Registers [610] kalkuliert.
  • Die ER-Kalkulation wird für jede Ankunft einer Rückwärts-RM-Zelle durchgeführt, wie durch Schritt 460 in 4d bestimmt. Fortlaufende Kalkulation könnte jedoch auf dem gleichen Wert basieren, falls RM-Zellen zeitlich eng ankommen. Abhängig von der Gruppe Gi von Verbindungen, wozu die RM-Zelle gehört, wie durch Schritt 466 bestimmt, wird ein Paar von proportionalen Konstanten a und b, doppelter Pfeil 628, aus einem Register 630 abgefragt. Die verfügbare Rate C(t) wird gemäß Schritt 436, vorausgegangen durch Schritte 422434 und beendet durch Schritt 438 in 4b, kalkuliert, vgl. auch Codeblock (c4). Die Kalkulation der expliziten Rate wird gemäß Schritten 470 und 472, vorausgegangen durch Schritt 468 in 4d durchgeführt.
  • Ein Block 632 und ein doppelter Pfeil 634 zu der ER-Kalkulationsfunktion 626 zeigen das Lesen und Schreiben von Rückwärts-RM-Zellen gemäß Schritten 460 bzw. 474 an. Der Block 632 kann auch eine Funktion inkludieren, die Einfügung von neuen Rückwärts-RM-Zellen ermöglicht, falls erforderlich, falls das Zeitintervall zwischen von einer Quelle veranlassten RM-Zellen zu lang wird.
  • Es wird nun das transiente Verhalten eines Systems der Art, wie oben mit Bezug auf 16 beschrieben, zusammen mit den Formeln (1) und (2) erörtert. Für diesen Zweck werden Fluidflussannäherungen des Systems gemäß 7 und 8 verwendet. In 7 wird das System in Form eines Blockdiagramms gezeigt, worin Eingangs- und Ausgangssignale durch kontinuierliche Funktionen angenähert werden. Einige der Signale und Funktionen wurden in den vorherigen Teilabschnitten erläutert.
  • In Bezug auf die Eingangsrate, oder tatsächlich Rate einer Schlangenlänge, ist der Steueralgorithmus gemäß Formel (1) ein proportionaler und integrierender (PI) Algorithmus, wo a die Konstante für den proportionalen Term und b die Konstante für den integrierenden Term sind. Folglich wird die Schlangenlänge durch einen Term mit der Schlangenableitung entsprechend dem proportionalen Term, und einen proportionalen Term (PD) entsprechend dem integrierenden Term in Bezug auf die Rate gesteuert. Abhängig davon, was untersucht wird, arbeitet die Steuerung somit entweder als ein PI- oder PD-Algorithmus.
  • In 7 repräsentiert ein Block 702 eine Kalkulationsfunktion des expliziten Ratenwertes, die als eine Ausgabe, Flusspfeil 704, den expliziten Ratenwert x(t) erzeugt. Der explizite Ratenwert x(t) wird gemäß Flusspfeil 706 zu dem Quellenendsystem zurückgesendet. Genauer wird der explizite Ratenwert x(t), wie durch die Ausbreitungsverzögerung d1 beeinflusst, in einer addierenden Funktion 708 einem Signal ijt überlagert, das in der addierenden Funktion 708 gemäß Flusspfeil 710 empfangen wird. Das Ergebnis, gemäß Flusspfeil 712, der Überlagerung wird durch die Ausbreitungsverzögerung d4 beeinflusst, um das Signal yjt zu bilden, Flusspfeil 714.
  • Der Hintergrund des Signals ijt ist der folgende. Jede Steuerschleife wird den Ratenwert zurückgeben, den die Quellen verwenden sollen, wenn gesendet wird, um Verstopfung zu bewältigen, d.h. x(t) von Formel (1). Es kann jedoch geeignet sein, in einem Modell Abweichungen von dem idealen Eingangssignal, das die Quelle vielleicht vorsehen kann durch z.B. Senden bei einer langsameren Rate oder überhaupt nicht einzuführen. Diese Abweichung wird mittels des Signals i(t) modelliert, um Allgemeinheit in dem Modell einzuführen. Während der Startphase einer Verbindung ist des weiteren keine Steuerschleife eingerichtet, da noch keine RM-Zellen zurückgegeben wurden. In diesem Fall senden die Quellen mit der so genannten Anfangsrate ICR.
  • Das Signal yj(t) repräsentiert die Eingangsrate von Verbindung j und wird, in dem System, durch eine exponenzielle Mittelwertbildung gemäß Formel (2) angenähert. In der vorherigen Beschreibung des Algorithmus wurde keine Diskretion in den Eingangsraten durchgeführt, somit entspricht yj(t) y(t) in (1).
  • Das Signal yjt bildet eine Eingabe zu der Funktion 702 gemäß Pfeil 716, und zu einer addierenden Funktion 718, um ein Signal N(t) zu treffen, das eine andere Eingabe zu der addierenden Funktion 718 gemäß Pfeil 720 bildet. Das Signal N(t) modelliert den Verkehr von anderen Verbindungen. Falls es Nvc aktive Verbindungen gibt, dann N(t) = Nvc-1j=1 yj(t). (3)
  • Der Ausgangsfluss, angezeigt durch Pfeil 724, von der addierenden Funktion 718 ist das Signal ytot(t), das eine andere Eingabe gemäß Pfeil 722 zu der Funktion 702, und eine Eingabe gemäß einem Pfeil 724 zu der subtrahierenden Funktion 726 bildet. Die Bandbreitenkapazität oder verfügbare Rate C(t) ist eine weitere Eingabe gemäß Pfeil 728 zu der subtrahierenden Funktion 726.
  • In einem Fluidflussmodell kann die Pufferbelegung oder Schlangenlänge Q(t) als die positive Seite einer Integration der Gesamteingangsrate ytot(t), subtrahiert durch die verfügbare Rate C(t), ausgedrückt werden. Die Subtraktionsfunktion 726 erzeugt die Differenz ytot(t) – C(t), die eine Eingabe gemäß Pfeil 729 zu einer integrierenden Funktion 730 bildet, die die Integration dieser Differenz durchführt, d.h. Q(t) = max{(ytot(t) – C(t)dt, 0} + Q(t0) (4)
  • Die Ausgabe Q(t) von der Funktion 730 bildet eine Eingabe gemäß Pfeil 732 zu einer subtrahierenden Funktion 734, die als eine weitere Eingabe den Schlangenlängenbezug M gemäß Pfeil 736 empfängt und die Differenz Q(t) – M erzeugt. Diese Differenz bildet gemäß Pfeil 738 eine weitere Eingabe zu der Funktion 702.
  • Für positive Schlangenwerte der Formel (4) wird die Ableitung der Schlangenlänge
    Figure 00360001
    sein.
  • In der Analyse des Systems wird die Zahl von aktiven und konkurrierenden Verbindungen, Nvc, angenommen, während der Ausgleichsvorgänge konstant zu sein, und von allen Verbindungen wird angenommen, dass sie die gleichen Verzögerungen in der Schleife haben. Des weiteren wird auch von den Eingangsraten pro Verbindungen angenommen, gleich zu sein, was zu der folgenden Annäherung führt: Ytot (t) ≈ Nvc·yj (t) (6)
  • Die explizite Rate, x(t), vgl. die Formel (1), und die Schlangenableitung können nun als
    Figure 00360002
    umgeschrieben werden.
  • Die Steuerschleife können nun gemäß 7 geschlossen werden. Um einen expliziten Ausdruck der Schlangenlänge anzugeben, wurden die Laplace-Transformationen der kontinuierlichen Funktionen genutzt. Der endgültige Ausdruck für die Schlangenlänge ergibt sich in Gleichung
  • Figure 00370001
  • 8 gibt die Steuerschleife in einer Form eines Blockdiagramms unter Verwendung der Laplace-transformierten Signale an.
  • Die Nullen des Nenners von Gleichung (9) werden für das Systemverhalten kritisch sein, und es wurde auch eine Stabilitätsanalyse durchgeführt, um Richtlinien für das Einstellen der Parameter a und b zu setzen. Bei einem gegebenen gewissen Wert a (sollte in dem Bereich 0,1 sein) kann gezeigt werden, dass die vorliegende Grenze für den Wert b gültig ist, um ein stabiles System zu erreichen.
  • Figure 00370002
  • Es ist jedoch zu vermerken, dass dies nur für ein System mit gleichen Verzögerungen gültig ist. Eine Vielfalt von Verzögerungen wird anderes Verhalten verursachen, und die Einstellung der Parameter ai und bi in derartigen Fällen sollte mit notwendigen Spielräumen geschehen und durch Simulationen gestützt werden.
  • Der obige Ausdruck enthüllt, dass b mit der Verzögerung in der Schleife skaliert werden muss.
  • 9 ist ein Diagramm über die proportionalen Konstanten a und b für unterschiedliche Quelle-zu-Switch-Ausbreitungsverzögerungen d, wobei die x-Achse bzw. die y-Achse a und b zeigen. Eine Erhöhung der Verzögerung d führt zu einer umgekehrt proportionalen Verringerung der Konstanten b. Es wird vermerkt, dass 9 die Maximalwerte von b für jeden Wert von a zeigt, der eine hergestellte Steuerschleife stabil unterhält. Wenn jedoch d in der gleichen Größenordnung der Größe wie die Zeitdifferenz zwischen zwei Ankünften von RM-Rückwärts-Zellen ist, geht die Genauigkeit des linearen Modells zurück, was zu einem geringeren Wert b führt. Eine Simulation zeigt, dass für a, eingestellt auf 0,8, Werte von b kleiner als 1 sein sollten, um Schwingungen zu vermeiden.
  • 10a–b und 11a–b zeigen Kurven, die als ein Ergebnis von Simulationen eines Falls erhalten werden, in einer Struktur der Art, die oben mit Bezug auf 26 beschrieben wird, wo vier Quellen beginnen, jede mit einer anfänglichen Zellenrate (ICR) = 150 Zellen/ms (63,6 Mbps) zu übertragen. 10a und 11a zeigen in der y-Achse die zulässige Zellenrate ACR in Zellen/ms. 10b und 11b zeigen in der x-Achse die Zeit T in ms. In beiden Simulationen war die Quelle-zu-Switch-Ausbreitungsverzögerung d 5 ms und die Ratenproportionalitätskonstante a wurde auf 0,8 gesetzt. In 10 ist die Konstante b auf 0,1 gesetzt, was gemäß 9 in einer stabilen Region für die Steuerschleife ist. Wie erwartet weist der Ausgleichsvorgang keinerlei Schwingungen auf. Die Simulationskurven in 11 haben b = 0,3, was eine instabile Steuerschleife mit ungedämpften Schwingungen ergibt.
  • Eine vergleichende Simulation eines Algorithmus, offenbart in A. W. Barnhart, Hughes Network Systems, ATM Forum Contribution 95-0195, Februar 1995, "Example Switch Algorithm for Section 5.4 of TM Spec.", die zuvor erwähnt wird, wird in 12a und b dargestellt, die Kurven in Koordinatensystemen ähnlich zu jenen von 10a, 11a bzw. 10b, 11b zeigen. Der Algorithmus, auf dem 12 basiert, ergibt eine langsamere Konvergenz zu der Rate fairen Anteils als der Algorithmus gemäß Formel (1), bleibt aber in dem fairen Anteil stabil, wenn er für den ausgewählten Verstärkungswert erreicht wird (G = 0,006). Wie zuvor angezeigt, verursachen höhere Ver stärkungswerte ungedämpfte Schwingung um die Rate fairen Anteils herum.
  • Die obige Beschreibung setzt so weit nur FIFO-Planung voraus, aber der Algorithmus kann modifiziert werden, um ebenso im Kontext fairer Schlangenbildung (fair queuing) zu arbeiten.
  • Im wesentlichen zielt faire Schlangenbildung, nachstehend FQ bezeichnet, darauf ab, gleiche Mitbenutzung (sharing) der Ausgangsressourcen einer Switching-Einrichtung, z.B. der Ausgangsverknüpfungsbandbreite, vorzusehen. Im Gegensatz zu einem FIFO-Planungsschema kann Verkehr, der zu einem FQ-Switch ankommt, früher bedient werden als Verkehr, der zu einem früheren Zeitpunkt angekommen ist. Ein direkter Weg, ein FQ-Schema zu implementieren, besteht darin, einzelne Schlangen für jede Verbindung in dem Switch zu haben und diese zyklisch zu bedienen, was jeder Verbindung (Sitzung) je eine Zeitscheibe eines Dienstes gibt. Insbesondere würde für ein ATM-Netz eine derartige Zeitscheibe eine Zelle sein, d.h. eine Zelle von jeder aktiven ATM-Verbindung wird auf eine zyklischer Art und Weise gesendet, was auch als "Wettkampf-Planung" ("round robin scheduling") bezeichnet wird. Dieser Typ eines Mechanismus vermeidet Bedingungen, wo eine häufungsartige Quelle die gesamte Ausgangskapazität für lange Zeitperioden zuordnet, was in einem FIFO-Fall geschehen kann. Für weitere Details bezüglich FQ wird auf die Berichte verwiesen, die nachstehend angegeben sind, in denen unterschiedliche alternative Verfahren, um faire Schlangenbildung zu bewerkstelligen, beschrieben und analysiert werden.
    • S. Golestani, "A Self-Clocked Fair Queueing Scheme for Broadband Applications", Infocom 1994.
    • K. Parekh, R. Gallager, "A generalized Processor Sharing Approach to Flow Control in integrated Services Network: The Single Node Case", IEE/ACM Transactions on Networking, Vol. 1, Nr. 3, Juni 1993.
    • Die britische Patentanmeldung entsprechend EUA's Literaturstelle X95 5181, "Distributed Weighted Fair Queuing".
  • Der Hauptunterschied im Vergleich zu einem FIFA-Planungsschema, wenn die Erfindung in einem Switch fairer Schlangenbildung (FQ) verwendet wird, besteht darin, dass es möglich ist, die Belegung in den einzelnen VC-Schlangen zu steuern. Außerdem ist es möglich, die tatsächliche Rate fairen Anteils des Switches durch Messen der Ausgangsrate einer Verbindung abzuleiten. Dies ist jedoch nur gültig, falls es Zellen in den Schlangen gibt, d.h. die Last des Switches 1 ist. Es ist deshalb wichtig, dass der explizite Ratenwert, der zu dem Quellenendsystem zurückgesendet wird, auf den aktuellen fairen Anteil des Switches bezogen ist. Anderenfalls werden einige Verbindungen größere Abschnitte an Bandbreite als andere erhalten, da Wettkampf-Planung nicht zu fairer Zuordnung von Verknüpfungskapazität führen wird, falls es nicht jederzeit Zellen in allen Schlangen gibt.
  • Mit Last ist hier und konventionell eine tatsächliche Ausgangsrate von einem System in Bezug auf die maximale Ausgangsrate des Systems gemeint, d.h. falls Zellen in das System mit einer Rate gleich oder höher der der Ausgangsverknüpfung gesendet werden, wird die Last 1 (oder 100%) sein. Im Fall fairer Schlangenbildung, was nachstehend genauer zu beschreiben ist, besteht die Frage nicht in einer Betrachtung der Gesamteingangsrate (ytot) zu dem System und Beziehen dessen auf: die Verknüpfungsrate in einem "Änderungsfaktor" wie in dem FIFO-Fall. Unter Verwendung von Verkehrstheoriebegriffen wird in dem Fall fairer Schlangenbildung ausgeführter Verkehr betrachtet, und in dem FIFO-Fall wird angebotener Verkehr betrachtet (das Konzept Verkehr wird in Erlang gemes sen und wird im wesentlichen immer in Switch-Kontexten als ein Maß von Kapazität verwendet).
  • Mit einigen kleineren Modifikationen kann das gleiche Modell der Steuerschleife wie für den FIFO-Fall auch in dem FQ-Fall verwendet werden. Das Signal N(t) wird auf Null gesetzt, da keine anderen Verbindungen die Schlange verwenden. Die Wirkung der anderen aktiven Verbindungen wird stattdessen in der verfügbaren Rate beobachtet, die mit der Zahl von aktiven Verbindungen linear variieren wird. Die resultierende Ausgangskapazität für jede Verbindung wird durch die Zahl von anderen aktiven ABR-Verbindungen (FQ arbeitet in jeder Verbindung) plus natürlich Einfluss von VBR und CBR beeinflusst. Wie gerade erwähnt, wird angebotener Verkehr nicht länger als Teil des Änderungsfaktors verwendet, sondern nun wird ausgeführter Verkehr, oder in anderen Worten die Last in dem System, verwendet.
  • In der Version der Erfindung bezüglich des FQ-Switches wird die explizite Rate gemäß
    Figure 00410001
    kalkuliert, wobei rj(t) der faire Anteil oder die Ausgangsrate für Verbindung j ist und p(t) die gesamte Last in der Ausgangsverknüpfung ist, kalkuliert als der Quotient: Zahl von gesendeten ABR-Zellen pro Zeiteinheit/die Zahl von Gelegenheiten, eine ABR-Zelle zu senden pro Zeiteinheit. Die Last wird somit 1 sein, falls alle Gelegenheiten einer Zulassung zum Senden einer Zelle verwendet werden. An Stelle einer Messung der Eingangsrate ytot wie in dem FQ-Fall wird die Last in dem Puffer, p(t), gemessen, was dem ausgeführten Verkehr entspricht. In der obigen Formel wird dieses Maß auf eine Bezugslast pref bezogen, die die gewünschte Last in dem System ist. Wenn die Last p(t) kleiner als die Bezugslast ist, wird der Term mit einem positiven Wert beitragen, die Last zu erhöhen. Die Schlangenlänge wird auf einer Basis pro Verbindung gemessen, was in einer FQ-Umgebung möglich ist. Die max Operation, die in den einzelnen Verbindungsausgangsraten rj(t) durchgeführt wird, geschieht, um die gemeinsame Rate fairen Anteils des Switches zu finden und somit eine Divergenz in den einzelnen Verbindungsraten zu vermeiden. Der Grund für einen Bezug vom Änderungsfaktor auf einen Wert für alle Verbindungen besteht darin, dass es ein Risiko gibt, dass die Verbindungen zu unterschiedlichen Raten streben, d.h. dass sich der Änderungsfaktor zu 1 bewegt, aber die zugehörigen Verbindungen in unterschiedlichen Raten gelandet sind. Obwohl die Gleichungssysteme mehrere unterschiedliche Lösungen für einen stabilen Zustand haben, ist hiermit anderen Worten die eine wünschenswert, in der alle Raten gleich sind.
  • Eine Ausführungsform von ER-Kalkulation für ein FQ-Schema, wo alle Operationen in dem Eingangsport stattfinden, wird nun mit Bezug auf 13 und 14 beschrieben.
  • 13 ist eine schematische Ansicht, ähnlich zu 2, des Eingangsports, die einen Teil einer Zweiweg-Verbindung zeigt, die sich durch einen Switch zwischen einer Quelle und einem Ziel erstreckt. In 13 zeigt ein Pfeil 1302 Zellen an, die von der Quelle, nicht gezeigt, in einem logischen Eingangspuffer 1304 des Eingangsports, bezeichnet mit 1306i , ankommen. Der Eingangsport 1306i ist ein Element einer Zahl von Eingangsports 13061-N , die zu dem Switch gehören, angezeigt bei 1312. Alle dieser Eingangsports inkludieren logischen Eingangspuffer, wie etwa den Puffer 1304. In jedem Eingangsport wird die Zahl von Schlangenbildungszellen gezählt, um eine Schlangenbildungszellenzählung Qi zu erzeugen. Zellen, die den Puffer 1304 verlassen und in einen Ausgangspuffer 1314 eintreten, der sich in einem Ausgangsport, nicht gezeigt, des Switches 1312 befindet, werden durch einen Pfeil 1316 angezeigt. Der Ausgangsport, der den Puffer 1314 inkludiert, ist ein Element von N Ausgangsports, die zu dem Switch 1312 gehören. Pfeile 1318 und 1320 zeigen Zellenflüsse von den logischen Puffern der anderen der Eingangsports 13061-N an, die auch in den gleichen Switch-Ausgangspuffer 1314 eintreten.
  • Zellen, die durch das Ziel in der Rückwärtsrichtung durch den Switch 1312 und den Eingangsport 1306 zurückgegeben werden, werden durch einen Pfeil 1322 angezeigt.
  • In dem Eingangsport 1306 finden die tatsächliche Kalkulation der expliziten Rate und Rückwärts-RM-Zellenzuweisung in einer Funktion statt, die durch einen Block 1324 angezeigt wird. Ein Pfeil 1326, der zu dem Block 1324 zeigt, zeigt einen Transfer der Zählung Qi an. Ein doppelter Pfeil 1328 zwischen dem Pfeil 1322 und dem Block 1324 zeigt Lese- und Schreiboperationen in einer Rückwärts-RM-Zelle an.
  • 14 zeigt ein detaillierteres Blockdiagramm über den Eingangsport 1306i in 13. Zellen, die von der Quelle ankommen, nicht gezeigt, treten gemäß dem Pfeil 1302 (13) in eine Funktion 1402 ein, die ATM-Zellenheaderoperationen durchführt. Die Funktion 1402 enthält Basis-ATM-Funktionen, wie etwa VPI/VCI-(virtueller Pfadidentifikator/virtueller Kanalidentifikator) Übersetzung, PTI-(Nutzlasttypindikator) Operationen, die ein switch-internes Zellenformat hinzufügen. Ein Block 1406 repräsentiert einen Schlangenlängenzähler, der durch die ATM-Zellenheaderoperationsfunktion 1402 zu steuern ist, angezeigt durch Pfeil 1410.
  • Der Schlangenlängenzähler 1406 wird für jede angekommene ABR-Zelle inkrementiert, um die Schlangenbildungszellenzählung Qi zu erzeugen. Bei Übertragung der ABR-Zelle wird das Register dekrementiert.
  • Ein Pufferspeicher 1412 empfängt, Pfeil 1414, die Zellen von der Funktion 1402 und speichert diese Zellen logisch pro Ausgangsport, um Blockierung des Kopfes der Leitung zu vermeiden. Zellen von CBR- und VBR-Verbindungen wird höhere Priorität gegeben, z.B. durch Implementieren eines Prioritätsschemas vom Kopf der Leitung.
  • Eine Zellenplanungseinrichtung 1416 ist mit dem Zähler 1406 für gegenseitige Steuerung verbunden, wie durch einen doppelten Pfeil 1420 angezeigt. Die Zellenplanungseinrichtung 1416 fragt, angezeigt durch Pfeil 1452, Zellen von dem Pufferspeicher 1412 auf eine derartige Weise ab, dass es stets eine Zelle (CBR, VBR oder ABR) in jedem Zellenzeitschlitz geben wird, der zu dem Switch-Ausgangsport gesendet wird, entspringend von dem logischen Eingangspuffer 1304. Die Zellenplanungseinrichtung 1416 ist mit den entsprechenden Zellenplanungseinrichtungen aller Eingänge koordiniert, was impliziert, dass sie die Zeit T für jeden neuen "Durchlauf" über die Verbindungen zählen kann, die der FQ-Algorithmus tut (es wird eine Zelle von jeder Verbindung ausgesendet). 1/T sieht dann die Rate fairen Anteils rj(t) vor, die das System in dem Moment zu einem gewissen Ausgang hat. Des weiteren wird die Last p(t) in der Ausgangsverknüpfung 1316 als der Quotient: Zahl von gesendeten ABR-Zellen pro Zeiteinheit/die Zahl von Gelegenheiten, eine ABR-Zelle zu senden pro Zeiteinheit kalkuliert, wie zuvor erwähnt wurde. Dies geschieht getrennt für jeden Eingangspuffer 1304, aber falls der FQ-Algorithmus arbeitet wie er sollte, sieht dies ein Maß der Gesamtlast in dem Ausgang von dem Ausgangspuffer 1314 vor.
  • Wenn ein ER-Wert zu kalkulieren ist, ist die Zählung in dem Schlangenlängenzähler, angezeigt durch Pfeil 1428, für eine ER-Kalkulationsfunktion 1430 verfügbar. Die Werte der Last p(t) und der Rate fairen Anteils rj(t) sind, Pfeil 1432, in der FQ-Zellenplanungseinrichtung 1416 verfügbar.
  • Die ER-Kalkulation wird für jede Ankunft einer Rückwärts-RM-Zelle 1322 durchgeführt. Ein Switchport 1434 empfängt, Pfeil 1436, Zellen von der Zellenplanungseinrichtung 1416 und handhabt die Übertragung jeder Zelle (CBR, VBR, ABR) in den Switchkern gemäß Pfeil 1316 (13).
  • Es wird ein Paar von proportionalen Konstanten a und b, doppelter Pfeil 1438, von einem Register 1440 abgerufen. Ein Block 1442 und ein doppelter Pfeil 1444 zu der ER-Kalkulationsfunktion 1430 zeigen das Lesen und Schreiben von Rückwärts-RM-Zellen an. Der Block 1442 kann auch eine Funktion inkludieren, die Einfügung von neuen Rückwärts-RM-Zellen ermöglicht, falls erforderlich, falls das Zeitintervall zwischen von einer Quelle stammenden RM-Zellen zu lang wird.
  • Auch in dem FQ-Fall kann der Algorithmus auf ein System angewendet werden, das die Verwendung von großen Ausgangspuffern erlaubt, was bedeutet, dass auf die Koordinierung von Zellenplanungseinrichtungen verzichtet werden kann. In diesem Fall müssen die Zählerwerte zu dem Ausgang wie für den FIFO-Fall transferiert werden, was eine gewisse Verzögerung inzwischen der Schlangenlängenkalkulation in dem Ausgang und dem Inhalt in den Eingangspufferschlangen in einem gewissen beliebigen Zeitpunkt bedeutet.

Claims (22)

  1. Verfahren in einem ATM-System zum Steuern von Flüssen von Datenzellen und Flusssteuerungsmanagementzellen von einer Zahl von Quellen (104) zu einem Ziel (106) über Verbindungen (108114), die ein Netzelement (102, 212) passieren, während die Flusssteuerungsmanagementzellen von dem Ziel über das Netzelement zu den jeweiligen Quellen zurückkehren, wobei das Netzelement einer Überlastung wegen einer Konkurrenzsituation zwischen den Verbindungen ausgesetzt ist, wobei die Konkurrenzsituation Schlangenbildung der Verbindungen notwendig macht, die Flusssteuerungsmanagementzellen ein Feld ein explizites Ratenfeld für einen expliziten Ratenwert, der verwendet wird, um eine maximal zulässige Zellenrate einer Quelle auf einen spezifischen Wert zu begrenzen, und ein gegenwärtiges Zellenratenfeld zum Empfangen des spezifischen Wertes haben, gekennzeichnet dadurch, dass die Datenzellen Zellen geringerer Priorität und Zellen höherer Priorität inkludieren, umfassend eine Durchführung in dem Netzelement der Schritte: – Zählen einer vorbestimmten Zahl von Zellen höherer Priorität, die auf einer Ausgangsverknüpfung von dem Netzelement zu dem Ziel zu senden sind, während das Zeitintervall beobachtet wird, das für eine Durchführung des Zählens genommen wird, um eine höhere Prioritätszellenrate in der Form eines Verhältnisses zwischen den gezählten Zellen höherer Priorität und dem Zeitintervall zu erzeugen, – Kalkulieren eines verfügbaren Ratenwertes (C) für Zellen geringerer Priorität als eine Differenz zwischen einem gesamten verfügbaren Verknüpfungsratenwert und der Zellenrate höherer Priorität, – Herstellen eines Schlangenlängenbezugs (M), der eine wünschenswerte Schlangenlänge bildet, – Kalkulieren von Abweichungen von dem verfügbaren Ratenwert und dem Schlangenlängenbezug wegen Empfangen variierender Mengen von Zellen in konkurrierenden Verbindungen, – Kalkulieren eines modifizierten expliziten Ratenwertes als eine Funktion dieser Abweichungen, und – Einführen des modifizierten expliziten Ratenwertes in das explizite Ratenfeld der rückwärts gerichteten Flusssteuerungsmanagementzellen.
  2. Verfahren nach Anspruch 1, umfassend eine Durchführung in dem Netzelement der weiteren Schritte: – Zählen von Zellen, die von den jeweiligen Quellen ankommen, um quellenspezifische Zellenzählungen (Cy) zu erzeugen, – Zählen der quellenspezifischen Zellenzählungen, um eine bestimmte Gesamtzählung von empfangenen Zellen zu erzeugen, während das Intervall beobachtet wird, das zum Durchführen des Zählens genommen wird, um einen angebotenen Ratenwert (ytot) als ein Verhältnis zwischen dem bestimmten Gesamtzählwert und einem Zeitintervall zu erzeugen, – Kalkulieren einer Gesamtschlangenlänge (Qtot) für alle ankommenden Zellen, – Kalkulieren der Abweichung von dem verfügbaren Ratenwert (C) als eine Differenz zwischen dem verfügbaren Ratenwert und dem angebotenen Ratenwert (ytot) – Kalkulieren der Abweichung von dem Schlangenlängenbezug (M) als eine Differenz zwischen der Gesamtschlangenlänge (Qtot) und dem Schlangenlängenbezug (M).
  3. Verfahren nach Anspruch 2, umfassend eine Durchführung in dem Netzelement der weiteren Schritte: – Beobachten einer ersten Bedingung, die impliziert, dass Feldwerte einer empfangenen gegenwärtigen Zellenrate (CCR) gleich oder größer einem Schwellwert sind, und einer zweiten Bedingung, die impliziert, das eine Grenzzahl von empfangenen Feldwerten einer gegenwärtigen Zellenrate (CCR) kleiner als der Schwellwert überschritten wurde, – Kalkulieren, vorausgesetzt, dass beliebige dieser Bedingungen erfüllt sind, einer Konkurrenzrate (y) als eine expotenzielle Mittelwertbildung der Feldwerte einer gegenwärtigen Zellenrate (CCR), – Durchführen der Kalkulation des expliziten Ratenwertes, während die Konkurrenzrate als ein Multiplikationsfaktor verwendet wird.
  4. Verfahren nach Anspruch 2 oder 3, umfassend eine Durchführung in dem Netzelement des weiteren Schrittes: – Multiplizieren der Abweichungen von dem verfügbaren Ratenwert (C) bzw. des Schlangenlängenwertes (M) mit je einer proportionalen Konstante.
  5. Verfahren nach Anspruch 4, umfassend eine Durchführung in dem Netzelement des weiteren Schrittes: – Bestimmen der Werte der jeweiligen Konstanten von jedem Paar von Konstanten für jede Verbindung als abhängig von der Ausbreitungsverzögerung in einer Schleife, die sich über die Quelle und das Netzelement erstreckt.
  6. Verfahren nach beliebigen von Ansprüchen 2–5, umfassend eine Durchführung in dem Netzelement des weiteren Schrittes: – Verringern des verfügbaren Ratenwertes (C) mittels eines Multiplikationsfaktors.
  7. Verfahren nach beliebigen von Ansprüchen 2–6, umfassend eine Durchführung in dem Netz der weiteren Schritte: – Zählen von Schlangenbildungszellen, die von den jeweiligen Quellen ankommen, um quellenspezifische Schlangenbildungszellenzählungen (Cy) zu erzeugen, und – Kalkulieren der Gesamtschlangenlänge (Qtot) durch Summieren aller quellenspezifischen Schlangenbildungszellenzählungen.
  8. Verfahren nach Anspruch 2–6, umfassend eine Durchführung in dem Netzelement der weiteren Schritte: – Zählen von Zellen, die von den jeweiligen Quellen ankommen, um quellenspezifische Zellenzahlen (Cy) zu erzeugen, – Kalkulieren der Gesamtschlangenlänge (Qtot) durch Summieren dieser Zahlen und Subtrahieren davon des Betrags von 1 für jede Zelle, die in der Ausgangsverknüpfung gesendet wird.
  9. Verfahren nach Anspruch 1, wobei das Netzelement einen Ausgangspuffer (116, 118) eines Schalters (102) umfasst, das Verfahren ferner umfassend die Schritte zum Erhalten einer Menge von Parametern und Variablen, inkludierend: y(t): eine Konkurrenzrate in dem Ausgangspuffer zur Zeit t, < RTI, ytot(t): eine gemessene angebotene Rate zu dem Ausgangspuffer zur Zeit t, C(t): verfügbare Rate in dem Puffer für Zellen geringerer Priorität zur Zeit t, Q(t): Gesamtschlangenlänge in dem Puffer zur Zeit t, p: Anteil einer verfügbaren Rate in dem Puffer, wonach gestrebt wird, M: ein Pufferschlangenlängenbezug ai und bi: proportionale Konstanten für eine Verbindung i, die den Ausgangspuffer passiert, Bestimmen des expliziten Ratenwertes xi(t) zur Zeit t für die Verbindung i als xit = y(t)[1 – ail ~ pC(t) – bi{O(t) – M}]y0(t)ytot(t)wobei der explizite Ratenwert xit dem expliziten Ratenfeld einer rückwärts gerichteten Flusssteuerungsmanagementzelle zugewiesen wird.
  10. Verfahren nach Anspruch 9, umfassend die weiteren Schritte: – Zählen von Zellen, die von den jeweiligen Quellen ankommen, um quellenspezifische Zellenzählungen (Cy) zu erzeugen, – Zählen der quellenspezifischen Zellenzählungen, um einen bestimmten Gesamtzählwert von empfangenen Zellen zu erzeugen, während das Zeitintervall beobachtet wird, das zum Durchführen des Zählens genommen wird, um den angebotenen Ratenwert ytot(t) als ein Verhältnis zwischen dem bestimmten Gesamtzählwert und dem Zeitintervall zu erzeugen.
  11. Verfahren nach Anspruch 10, umfassend die weiteren Schritte: – Beobachten einer ersten Bedingung, die impliziert, dass empfangene Feldwerte einer gegenwärtigen Zellenrate (CCR) gleich oder größer einem Schwellwert sind, und einer zweiten Bedingung, die impliziert, dass eine Grenzzahl von empfangenen Feldwerten einer gegenwärtigen Zellenrate (CCR) kleiner als der Schwellwert überschritten wurde, – Kalkulieren, vorausgesetzt, dass beliebige dieser Bedingungen erfüllt sind, der Konkurrenzrate (y(t)) als eine expotenzielle Mittelwertbildung der Feldwerte der gegenwärtigen Zellenrate (CCR).
  12. Verfahren nach Anspruch 11, den weiteren Schritt umfassend: Bestimmen der Werte der jeweiligen Konstanten ai und bi als abhängig von der Ausbreitungsverzögerung in einer Schleife, die sich über den Switch und die Quelle erstreckt, von der die Verbindung i startet.
  13. Verfahren nach beliebigen von Ansprüchen 9–11, umfassend den weiteren Schritt: – Zählen von Schlangenbildungszellen, die von den jeweiligen Quellen ankommen, um quellenspezifische Schlangenbildungszellenzählungen (Qy) zu erzeugen, und Kalkulieren der Gesamtschlangenlänge (Qtot) durch Summieren aller quellenspezifischen Schlangenbildungszellenzählungen.
  14. Verfahren nach beliebigen von Ansprüchen 9–11, umfassend den weiteren Schritt: – Zählen von Zellen, die von den jeweiligen Quellen ankommen, um quellenspezifische Zellenzählungen (Cy) zu erzeugen, und Kalkulieren der Gesamtschlangenlänge (Qtot) durch Summieren dieser Zählungen und Subtrahieren von dort des Betrags von 1 für jede Zelle, die in der Ausgangsverknüpfung gesendet wird.
  15. Steuersystem in einem ATM-System zum Steuern von Flüssen von Datenzellen und Flusssteuerungsmanagementzellen von einer Zahl von Quellen (104) zu einem Ziel (106) über Verbindungen (108114; 202, 216, 222, 226), die ein Netzelement (102, 212) passieren, während die Flusssteuerungsmanagementzellen von dem Ziel über das Netzelement zu den jeweiligen Quellen zurückkehren, wobei das Netzelement einer Überlastung wegen einer Konkurrenzsituation zwischen den Verbindungen ausgesetzt ist, wobei die Konkurrenzsituation Schlangenbildung der Verbindungen notwendig macht, die Flusssteuerungsmanagementzellen ein explizites Ratenfeld für einen expliziten Ratenwert, der verwendet wird, um eine maximal zulässige Zellenrate einer Quelle auf einen spezifischen Wert zu begrenzen, und ein gegenwärtiges Zellenratenfeld zum Empfangen des spezifischen Wertes haben, gekennzeichnet dadurch, dass die Datenzellen Zellen geringerer Priorität und Zellen höherer Priorität inkludieren, das System ferner umfassend: Mittel (614) zum Zählen einer vorbestimmten Zahl von Zellen höherer Priorität, die in einer Ausgangsverknüpfung von dem Netzelement zu dem Ziel zu senden sind, während das Zeitintervall beobachtet wird, das zum Durchführen des Zählens genommen wird, um eine höhere Prioritätszellenrate in der Form eines Verhältnisses zwischen den gezählten Zellen höherer Priorität und dem Zeitintervall zu erzeugen, und Mittel (626) zum Kalkulieren eines verfügbaren Ratenwertes (C) für Zellen geringerer Priorität als eine Differenz zwischen einem gesamten verfügbaren Verknüpfungsratenwert und der Zellenrate höherer Priorität, Herstellen eines Schlangenlängenbezugs (M), der eine wünschenswerte Schlangenlänge bildet, Kalkulieren von Abweichungen von dem verfügbaren Ratenwert und dem Schlangenlängenbezug wegen Empfangen variierender Mengen von Zellen in konkurrierenden Verbindungen, Kalkulieren eines modifizierten expliziten Ratenwertes als eine Funktion dieser Abweichungen, und Einführen des modifizierten expliziten Ratenwertes in das explizite Ratenfeld der rückwärts gerichteten Flusssteuerungsmanagementzellen.
  16. System nach Anspruch 15, umfassend Mittel (504) zum Zählen von Zellen, die von den jeweiligen Quellen ankommen, um quellenspezifische Zellenzählungen (Cy) zu erzeugen, Mittel (608) zum Zählen der quellenspezifischen Zellenzählungen, um eine bestimmte Gesamtzahl von empfangenen Zellen zu erzeugen, während das Zeitintervall beobachtet wird, das zum Durchführen des Zählens genommen wird, um einen angebotenen Ratenwert (ytot) als ein Verhältnis zwischen dem bestimmten Gesamtzählwert und einem Zeitintervall zu erzeugen, und Mittel (626) zum Kalkulieren einer Gesamtschlangenlänge (Qtot) für alle ankommenden Zellen, Kalkulieren der Abweichung von dem verfügbaren Ratenwert (C) als eine Differenz zwischen dem verfügbaren Ratenwert und dem angebotenen Ratenwert (ytot), Kalkulieren der Abweichung von dem Schlangenlängenbezug (M) als eine Differenz zwischen der Gesamtschlangenlänge (Qtot) und dem Schlangenlängenbezug (M).
  17. System nach Anspruch 16, umfassend Mittel (626) zum Beobachten einer ersten Bedingung, die impliziert, dass empfangene Feldwerte einer gegenwärtigen Zellenrate (CCR) gleich oder größer einem Schwellwert sind, und einer zweiten Bedingung, die impliziert, dass eine Grenzzahl von empfangenen Feldwerten einer gegenwärtigen Zellenrate (CCR) kleiner als der Schwellwert überschritten wurde, Kalkulieren, vorausgesetzt, dass beliebige dieser Bedingungen erfüllt sind, einer Konkurrenzrate (y) als eine expotenzielle Mittelwertbildung der Feldwerte einer gegenwärtigen Zellenrate (CCR), Durchführen der Kalkulation des expliziten Ratenwertes, während die Konkurrenzrate als ein Multiplikationsfaktor verwendet wird.
  18. System nach Anspruch 15 oder 16, umfassend Mittel (626) zum Multiplizieren der Abweichungen von dem verfügbaren Ratenwert (C) bzw. dem Schlangenlängenwert (M) mit je einer proportionalen Konstante.
  19. System nach Anspruch 18, umfassend Mittel (626) zum Bestimmen der Werte der jeweiligen Konstanten von jedem Paar von Konstanten für jede Verbindung als abhängig von der Ausbreitungsverzögerung in einer Schleife, die sich über die Quelle und das Netzelement erstreckt.
  20. System nach beliebigen von Ansprüchen 16–19, umfassend Mittel (626) zum Durchführen in dem Netzelement des weiteren Schrittes zum Verringern des verfügbaren Ratenwertes (C) mittels eines Multiplikationsfaktors.
  21. System nach beliebigen von Ansprüchen 16–20, umfassend Mittel (610) zum Zählen von Schlangenbildungszellen, die von den jeweiligen Quellen ankommen, um quellenspezifische Schlangenbildungszellenzählungen (Q1) zu erzeugen, und Kalkulieren der Gesamtschlangenlänge (Qtot) durch Summieren aller quellenspezifischen Schlangenbildungszellenzählungen.
  22. System nach beliebigen von Ansprüchen 16–20, umfassend Mittel (608) zum Zählen von Zellen, die von den jeweiligen Quellen ankommen, um quellenspezifische Zellenzählungen (Cy) zu erzeugen, Kalkulieren der Gesamtschlangenlänge (Qtot) durch Summieren dieser Zählungen und Subtrahieren von dort des Betrags von 1 für jede Zelle, die in der Ausgangsverknüpfung gesendet wird.
DE69732689T 1996-03-15 1997-03-14 Durchfluss- und überlastregeleung in paketvermittelten netzen Expired - Lifetime DE69732689T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE9601000A SE508284C2 (sv) 1996-03-15 1996-03-15 Metod och anordning för flödesstyrning i paketförmedlande nät
SE9601000 1996-03-15
PCT/SE1997/000439 WO1997034392A1 (en) 1996-03-15 1997-03-14 Flow and congestion control in packet switched networks

Publications (2)

Publication Number Publication Date
DE69732689D1 DE69732689D1 (de) 2005-04-14
DE69732689T2 true DE69732689T2 (de) 2006-04-13

Family

ID=20401807

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69732689T Expired - Lifetime DE69732689T2 (de) 1996-03-15 1997-03-14 Durchfluss- und überlastregeleung in paketvermittelten netzen

Country Status (7)

Country Link
US (1) US6061330A (de)
EP (1) EP0879520B1 (de)
JP (1) JP2000506695A (de)
AU (1) AU2185497A (de)
DE (1) DE69732689T2 (de)
SE (1) SE508284C2 (de)
WO (1) WO1997034392A1 (de)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0700229B1 (de) * 1994-08-22 2006-06-28 Fujitsu Limited Verbindungsloses Kommunikationssystem, Testmethode und Intra-Station-Steuerungssystem
US6018527A (en) * 1996-08-13 2000-01-25 Nortel Networks Corporation Queue service interval based cell scheduler with hierarchical queuing configurations
FI103457B (fi) * 1997-05-13 1999-06-30 Nokia Telecommunications Oy Menetelmä pakettivälitteiseen tiedonsiirtoon
JP2968757B2 (ja) * 1997-05-16 1999-11-02 日本電気株式会社 Atmトラヒツクのレート制御方式
US6377550B1 (en) * 1997-10-28 2002-04-23 Texas Instruments Incorporated Nested measurement period switch algorithm for flow control of available bit rate ATM communications
FR2776155B1 (fr) * 1998-03-12 2000-06-23 France Telecom Procede de controle de la conformite de debit des cellules de donnees emises par un terminal source en communication avec un terminal destinataire
US6597662B1 (en) * 1998-03-24 2003-07-22 Nortel Networks Limited Apparatus and method for optimizing max-min fair rate control in ABR sessions
CA2238795A1 (en) * 1998-05-28 1999-11-28 Newbridge Networks Corporation Er information acceleration in abr traffic
JP2955561B1 (ja) * 1998-05-29 1999-10-04 株式会社ディジタル・ビジョン・ラボラトリーズ ストリーム通信システム及びストリーム転送制御方法
US6456592B1 (en) * 1998-08-05 2002-09-24 Marconi Communications, Inc. Method and apparatus for a simple explicit rate indication algorithm (SERIA)
US6430155B1 (en) * 1998-11-30 2002-08-06 Cisco Technology, Inc. Congestion avoidance on communications networks
KR20000044353A (ko) * 1998-12-30 2000-07-15 윤종용 비동기 전송 모드 교환기에서 스위치 포트 통합장칭
US6442140B1 (en) * 1999-01-04 2002-08-27 3Com Corporation Method for automatic setup of missing RM cell count parameter CRM in an ATM traffic management descriptor
FI106497B (fi) * 1999-01-15 2001-02-15 Nokia Networks Oy Vuonohjausmenetelmä tietoliikennejärjestelmässä
US6519695B1 (en) * 1999-02-08 2003-02-11 Alcatel Canada Inc. Explicit rate computational engine
US6470016B1 (en) * 1999-02-09 2002-10-22 Nortel Networks Limited Servicing output queues dynamically according to bandwidth allocation in a frame environment
US6925068B1 (en) 1999-05-21 2005-08-02 Wi-Lan, Inc. Method and apparatus for allocating bandwidth in a wireless communication system
US7006530B2 (en) * 2000-12-22 2006-02-28 Wi-Lan, Inc. Method and system for adaptively obtaining bandwidth allocation requests
US8462810B2 (en) 1999-05-21 2013-06-11 Wi-Lan, Inc. Method and system for adaptively obtaining bandwidth allocation requests
US20090219879A1 (en) 1999-05-21 2009-09-03 Wi-Lan, Inc. Method and apparatus for bandwidth request/grant protocols in a wireless communication system
KR100321784B1 (ko) * 2000-03-20 2002-02-01 오길록 중재 지연 내성의 분산형 입력 버퍼 스위치 시스템 및그를 이용한 입력 데이터 처리 방법
US6732209B1 (en) * 2000-03-28 2004-05-04 Juniper Networks, Inc. Data rate division among a plurality of input queues
US6754216B1 (en) * 2000-05-08 2004-06-22 Nortel Networks Limited Method and apparatus for detecting congestion and controlling the transmission of cells across a data packet switch
US7161938B1 (en) * 2000-07-26 2007-01-09 Infineon Technologies North America Corp. Network switch
US7146630B2 (en) * 2000-09-22 2006-12-05 Narad Networks, Inc. Broadband system with intelligent network devices
US20020075875A1 (en) * 2000-09-22 2002-06-20 Narad Networks, Inc. Broadband system with transmission scheduling and flow control
US20020075805A1 (en) * 2000-09-22 2002-06-20 Narad Networks, Inc. Broadband system with QOS based packet handling
US20020105965A1 (en) * 2000-09-22 2002-08-08 Narad Networks, Inc. Broadband system having routing identification based switching
US7027394B2 (en) * 2000-09-22 2006-04-11 Narad Networks, Inc. Broadband system with traffic policing and transmission scheduling
US20020097674A1 (en) * 2000-09-22 2002-07-25 Narad Networks, Inc. System and method for call admission control
US6948000B2 (en) * 2000-09-22 2005-09-20 Narad Networks, Inc. System and method for mapping end user identifiers to access device identifiers
US7072360B2 (en) * 2000-09-22 2006-07-04 Narad Networks, Inc. Network architecture for intelligent network elements
US7139247B2 (en) * 2000-09-22 2006-11-21 Narad Networks, Inc. Broadband system with topology discovery
US7006514B2 (en) * 2001-05-31 2006-02-28 Polytechnic University Pipelined maximal-sized matching cell dispatch scheduling
USRE42600E1 (en) 2000-11-20 2011-08-09 Polytechnic University Scheduling the dispatch of cells in non-empty virtual output queues of multistage switches using a pipelined arbitration scheme
US6996071B2 (en) * 2001-04-30 2006-02-07 Adtran Inc. Binary decision tree-based arbitrator for packetized communications
EP1397892B1 (de) * 2001-05-31 2008-07-02 Telefonaktiebolaget LM Ericsson (publ) Lastregelung in umts-zugriffsnetzen unter verwendung von ip-sondenpaketen
US7020080B1 (en) * 2001-10-09 2006-03-28 Cisco Technology, Inc. Method and apparatus for prevention of flow starvation with weighted fair queuing
US20040196843A1 (en) * 2003-02-20 2004-10-07 Alcatel Protection of network infrastructure and secure communication of control information thereto
US7317727B2 (en) * 2003-05-21 2008-01-08 International Business Machines Corporation Method and systems for controlling ATM traffic using bandwidth allocation technology
US7567508B2 (en) * 2005-05-23 2009-07-28 Cisco Technology, Inc. Method and system for providing delay bound and priortized packet dropping
US8184643B2 (en) * 2005-09-14 2012-05-22 Ciena Corporation Device, system, and method for transporting data using combined broadband and legacy network infrastructures
US20070070894A1 (en) * 2005-09-26 2007-03-29 Fan Wang Method to determine a scheduling priority value for a user data connection based on a quality of service requirement
US20070116007A1 (en) * 2005-11-18 2007-05-24 Weimin Xiao Method and system for scheduling and resource allocation in a data communication network
CN100418313C (zh) * 2005-12-21 2008-09-10 中国科学院计算技术研究所 适于带宽变化的链路分层共享和管理域的带宽重分配方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319638A (en) * 1991-09-12 1994-06-07 Bell Communications Research, Inc. Link-by-link congestion control for packet transmission systems
MX9306994A (es) * 1992-12-15 1994-06-30 Ericsson Telefon Ab L M Sistema de control de flujo para interruptores de paquete.
US5457687A (en) * 1993-09-02 1995-10-10 Network Equipment Technologies, Inc. Method and apparatus for backward explicit congestion notification (BECN) in an ATM network
US5793747A (en) * 1996-03-14 1998-08-11 Motorola, Inc. Event-driven cell scheduler and method for supporting multiple service categories in a communication network

Also Published As

Publication number Publication date
US6061330A (en) 2000-05-09
SE9601000L (sv) 1997-09-16
SE9601000D0 (sv) 1996-03-15
JP2000506695A (ja) 2000-05-30
WO1997034392A1 (en) 1997-09-18
SE508284C2 (sv) 1998-09-21
DE69732689D1 (de) 2005-04-14
EP0879520A1 (de) 1998-11-25
AU2185497A (en) 1997-10-01
EP0879520B1 (de) 2005-03-09

Similar Documents

Publication Publication Date Title
DE69732689T2 (de) Durchfluss- und überlastregeleung in paketvermittelten netzen
DE69910450T2 (de) Verfahren zur messungsbasierten verbindungszulassungsssteuerung (mbac) in einem paketnetzwerk
DE60034120T2 (de) Routing-vorrichtung
DE69835781T2 (de) Vorrichtung mit einem gewichteten gerechten Warteschlangenverfahren und mit adaptiver Umverteilung der Bandbreite
DE69833588T2 (de) Dynamische, geschwindigkeitsbasierte Ablauffolgesteuerung für ATM-Netzwerke
DE69635880T2 (de) Anlage und Methode zur Übertragung von Paketen, geeignet für eine grosse Anzahl von Eingangstoren
DE60314205T2 (de) Arbiter für ein Vermittlungssystem mit Eingangspuffer
DE60027639T2 (de) Buffersystem mit Überlastregelung mit verbindungsweiser Verkehrsverwaltung
DE69530641T2 (de) Verkehrssteuerungssystem mit verteilter Rate-Berechnung und verbindungsgestützter Flusssteuerung
DE69634857T2 (de) Ablaufsteuerung für eine informationspaketvermittlung
DE69634541T2 (de) Anordnung und verfahren in bezug auf paketflusssteuerung
DE602004004831T2 (de) Verfahren und Vorrichtung zur Ablauffolgeplanung von Paketen auf einer Netzwerkverbindung mit einer auf der Eingangsrate basierenden Priorität
DE69635470T2 (de) System zum Steuern der Dienstqualität einer Kommunikation
DE69920893T2 (de) Berichtigung der Verbindungsbandbreite auf der Basis der Beobachtung der Belegung der Ressourcen des Netzes
DE69927252T2 (de) Auf der Überwachung der Belegung von Puffern basierte Planung der Netzwerkkapazität
DE69534540T2 (de) Apparat und Methode zur Verarbeitung von Bandbreitenanforderungen in einer ATM-Vermittlungsstelle
DE69937862T2 (de) Bandbreitensteuerung mit zwei Komponenten, zur Anwendung in digitalen Kommunikationssystemen mit mehreren Klassen
DE19709258B4 (de) Rückkopplungssteuerverfahren und zugehörige Vorrichtung in einem ATM-Schaltsystem
DE69733129T2 (de) Verfahren und Vorrichtung zur Übertragung von Datenpaketen mit Prioritäten
DE29825153U1 (de) Schalteraufbau eines ATM-Schalters mit großer Kapazität und Mehrklassenkern
DE60132437T2 (de) Verfahren und einrichtung zur steuerung von informationen unter verwendung von kalendern
DE69634443T2 (de) Verfahren und Vorrichtung zur Verkehrssteuerung in einem Kommunikationssystem
EP0639014A1 (de) Zugangskontrollverfahren für einen Pufferspeicher sowie Vorrichtung zum Zwischenspeichern von Datenpaketen und Vermittlungsstelle mit einer solchen Vorrichtung
DE60031284T2 (de) Ablauffolgesteuerung für Paketvermittlungen und passive optischen Netzwerke
DE69633915T2 (de) Verfahren zur abweisung von zellen an einem überlasteten knotenpuffer

Legal Events

Date Code Title Description
8364 No opposition during term of opposition