DE60037361T2 - Verfahren und Vorrichtung zur Mediumzugriffssteuerung zur Paketübertragung über einen Puffereinfügungsring - Google Patents

Verfahren und Vorrichtung zur Mediumzugriffssteuerung zur Paketübertragung über einen Puffereinfügungsring Download PDF

Info

Publication number
DE60037361T2
DE60037361T2 DE60037361T DE60037361T DE60037361T2 DE 60037361 T2 DE60037361 T2 DE 60037361T2 DE 60037361 T DE60037361 T DE 60037361T DE 60037361 T DE60037361 T DE 60037361T DE 60037361 T2 DE60037361 T2 DE 60037361T2
Authority
DE
Germany
Prior art keywords
rate
node
ring
advertised
buffer
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
DE60037361T
Other languages
English (en)
Other versions
DE60037361D1 (de
Inventor
Bijan Nepean Raahemi
Lutful Nepean Khan
Peter Martin Kenneth Ashton Cottreau
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.)
Nortel Networks Ltd
Original Assignee
Nortel Networks Ltd
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 Nortel Networks Ltd filed Critical Nortel Networks Ltd
Publication of DE60037361D1 publication Critical patent/DE60037361D1/de
Application granted granted Critical
Publication of DE60037361T2 publication Critical patent/DE60037361T2/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/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/427Loop networks with decentralised control
    • H04L12/433Loop networks with decentralised control with asynchronous transmission, e.g. token ring, register insertion

Description

  • Diese Erfindung bezieht sich auf einen Medien-Zugriffs-Steuermechanismus zur Paketübertragung über einen Puffer-Einfügungs-Ring, und insbesondere auf einen Algorithmus zur Sicherstellung einer örtlichen Fairness bei der gemeinsamen Nutzung von Übertragungs-Ressourcen in einem Puffer-Einfügungs-Ring.
  • Die Zugangskontrolle in einem Puffer-Einfügungs-Ring ist für die asynchrone Übertragung von eine veränderliche Größe aufweisenden Paketen bestimmt. Ein Knoten in einem Puffer-Einfügungs-Ring kann ein Paket senden, solange sein Einfügungs-Puffer leer ist. Einem Paket, das an einem ringaufwärts gelegenen Ring-Zugangs-Punkt (AP) ankommt, wird eine nicht-präemptive Priorität gegenüber Rahmen erteilt, die an einem ringabwärts gelegenen AP eines Puffer-Einfügungs-Ringes hinzuzufügen sind. Dies heißt mit anderen Worten, dass der Ring-Verkehr eine präemptive Priorität gegenüber Knoten-Verkehr hat, der auf den Ring auszusenden ist. Wenn ein ringabwärts gelegener AP sich in dem Prozess der Hinzufügung eines Paketes zu dem Ring befindet, wenn ein Paket von einem ringaufwärts gelegenen AP ankommt, so wird das Paket des ringaufwärts gelegenen AP vorübergehend gepuffert. Wenn das Ende des hinzugefügten Paketes ausgesandt wird, folgt auf dieses unmittelbar das gepufferte Paket. Das Puffer-Einfügungs-Schema kann jedoch zu einem Phänomen führen, das als „Aushungerung" bekannt ist. Ein AP leidet an einer Aushungerung, wenn ein ringaufwärts gelegener AP kontinuierlich sendet und einen ringabwärts gelegenen AP an einem Zugang an den Ring hindert. Wenn dies eintritt, so wird gesagt, dass der ringabwärts gelegene AP durch ringaufwärts gelegene Ring-Verkehrs-Quellen „vergedeckt" ist. Das Verhindern eines Aushungerns in einem Puffer-Einfügungs-Ring erfordert einen Medien-Zugriffs-Fairness-Mechanismus, um den Zugang an den Ring zu regeln. Eine optimale Lösung erzielt sehr schnell eine Fairness zwischen den Verkehrs-Quellen, und macht den Netzwerk-Durchsatz zu einem Maximum, während eine minimale Ring-Zugangs-Verzögerung aufrecht erhalten wird und ein minimaler Beitrag zum Betriebs-Zusatzaufwand hervorgerufen wird.
  • Es wurden verschieden Fairness-Algorithmen entwickelt, um den Verkehr auf einem Puffer-Einfügungs-Ring zu steuern. Ein derartiger Algorithmus ist der „SAT"-Algorithmus, der von Cidon in einer Veröffentlichung mit dem Titel „MetaRing a full-duplex ring with fairness and spatial reuse" IEEE Transactions an Communications, Band 41, Nummer 1, Januar 1993, Seiten 110–120 beschrieben wurde. Der Algorithmus regelt den Zugang an den Ring durch die Verwendung eines Steuersignals, das als ein SAT bezeichnet wird, das in einer Richtung entgegengesetzt zum Datenverkehr zirkuliert. Jedem AP in dem Ring wird eine feste Sende-Quote zugeordnet. Der AP leitet das SAT in Ringaufwärtsrichtung ohne Verzögerung weiter, sofern er nicht in der Lage war, seine Quote zu erfüllen. Das SAT wird von dem AP festgehalten, bis dieser seine Quote erfüllt hat, worauf er das SAT in Ringaufwärtsrichtung weiterleitet. Dieser Algorithmus leidet an den Nachteilen, die mit einer Token-Steuerung in einer Ring-Topologie verbunden sind. Dies bedeutet, dass der Algorithmus den Durchsatz beeinflusst, wenn eine kleine Quoten-Zuteilung ausgewählt ist. Der Algorithmus führt weiterhin zu einer verschlechterten Zugangs-Verzögerung, wenn dem Knoten große Quoten gewährt werden. Der Algorithmus ruft in gleicher Weise unnötige Verluste an Durchsatz in asymmetrisch belasteten Ringen hervor.
  • Ein weiterer Algorithmus, der als der „FULL"-Algorithmus bezeichnet wird, wird von Saito et al in einer Veröffentlichung mit dem Titel „QOS Guarantees for high-speed variable-length Paket LANs" beschrieben, die auf der Web-Seite: www.sail.t.u-tokyo.ac.jp/pisai/research verfügbar ist. Der FULL-Algorithmus ist eine Verbesserung gegenüber dem SAT-Algorithmus. Die Verbesserung wird durch die Annahme ermöglicht, dass die Ring-Zugangs-Logik eine Weiterleitungs-Richtlinie des kürzesten Pfades implementiert. Unter der Voraussetzung einer derartigen Richtlinie wird mehr als ein SAT-Token gleichzeitig an jeder Hälfte des Ringes angewandt. Der FULL-Algorithmus ergibt eine nur geringe Verbesserung von ungefähr 10% hinsichtlich der Betriebsleistung des ursprünglichen SAT-Algorithmus, teilt jedoch dessen Nachteile, wie sie oben erwähnt wurden.
  • Ein weiterer Algorithmus, der für die Zugangs-Steuerung auf Puffer-Einfügungs-Ringen entwickelt wurde, ist der REQ-/GNT-Algorithmus, der in einer Veröffentlichung von Chen et al mit dem Titel „A local fairness algorithm for Gigabit LANs/MANs with spatial reuse" IEEE Journal an Selected Areas in Communications, Band 11, Nummer 8, Oktober 1993, Seiten 1183–1192 beschrieben ist. Gemäß dem REQ-/GNT-Algorithmus arbeitet jeder AP in zwei Betriebsarten: einer beschränkten und einer unbeschränkten Betriebsart. In einer beschränkten Betriebsart kann ein Knoten nur eine vorher definierte Quote von Daten-Einheiten senden. In der unbeschränkten Betriebsart hat der AP freien Zugang zu dem Ring, was eine nicht-präemptive Priorität gegenüber dem Ringaufwärts-Verkehr ergibt. Ein ausgehungerter Knoten triggert den Fairness-Mechanismus durch Senden einer Anforderungs-Mitteilung (REQ) in Ringaufwärts-Richtung. Bei Empfang einer derartigen Mitteilung tritt der ringaufwärts gelegene AP in eine beschränkte Betriebsart ein. Wenn ein AP, der die REQ-Mitteilung empfängt, keine Stille liefern kann, weil er Verkehr von ringaufwärts gelegenen Quellen empfängt, leitet er seinerseits die REQ-Mitteilung in Ringaufwärts-Richtung weiter. Ein Knoten in einer beschränkten Betriebsart darf eine feste Quote an Verkehr zu dem Ring hinzufügen. Sobald diese Quote erreicht ist, muss der Knoten die Aussendung beenden. Nachdem alle APs ihre Quote ausgesandt haben, hat der ausgehungerte AP eine Sende-Gelegenheit. Nachdem der ausgehungerte AP seine Quote an Verkehr ausgesandt hat, entläßt er die ringaufwärts gelegenen Knoten aus dem beschränkten Zustand durch Abgabe einer GNT-Mitteilung. Bei Empfang einer GNT-Mitteilung folgt der ringaufwärts gelegene AP einer ähnlichen Regel. Der ringaufwärts gelegene AP leitet seinerseits eine GNT-Mitteilung bei Befriedigung seiner Quote weiter. Der REQ-/GNT-Algorithmus bietet eine bessere Betriebsleistung als die SAT- und FULL-Algorithmen und erzielt einen optimaleren Durchsatz in asymmetrisch belasteten Ringen. Der REQ-/GNT-Algorithmus erreicht jedoch nicht den optimalen Durchsatz für bestimmte Verkehrsmuster und leidet an einer hohen Ring-Verzögerung am Kopf der Leitung.
  • Jeder der vorstehend beschriebenen Algorithmen leidet an Nachteilen, die gut bekannt sind und von ihren Erfindern anerkannt werden. Im Einzelnen drosseln die Algorithmen den Durchsatz und tragen zu der Verzögerung am Kopf der Leitung (HOL) bei. Die HOL-Verzögerung ist als die Zeitdauer definiert, die ein erstes Paket in einem Einfügungs-Puffer eines Knotens warten muss, bevor es in den Ring eingefügt wird. Entsprechend wird eine Bandbreiten-Nutzung nicht in optimaler Weise unter Verwendung dieser Algorithmen erzielt. Ein Faktor, der hierzu beiträgt, besteht darin, das ein hoher Durchsatz und eine kurze HOL-Verzögerung in vielen Fällen miteinander in Konflikt stehende Ziele sind.
  • Es besteht daher ein Bedarf an einem Fairness-Algorithmus, der sowohl eine kurze HOL-Verzögerung als auch eine hohe Bandbreiten-Nutzung ergibt. Es besteht weiterhin ein Bedarf an einem Algorithmus, der sehr schnell auf eine faire Rate konvergiert, einfach zu implementieren ist und sehr einfach bei einem Wachstum in der Ring-Topologie skalierbar ist.
  • Gemäß der Erfindung wird ein Verfahren zur Medien-Zugriffs-Steuerung für eine Paketübertragung über einen Puffer-Einfügungs-Ring geschaffen, bei dem jedem Knoten in dem Puffer-Einfügungs-Ring eine vorgegebene Quote von Datenpaketen zugeteilt wird, die in einem vorgegebenen Zeitintervall zu senden sind, und wobei die Quote von Datenpaketen bei Empfang einer Mitteilung von einem ringabwärts gelegenen Knoten ausgesandt wird, wobei:
    jeder Knoten unter regelmäßigen Intervallen eine örtliche Paket-Einfügungs-Rate und eine angekündigte Paket-Einfügungs-Rate für einen ringaufwärts gelegenen Verbindungsstrecken-Partner-Knoten berechnet;
    jeder Knoten die angekündigte Einfügungs-Rate an den ringaufwärts gelegenen Verbindungsstrecken-Partner-Knoten übermittelt; und
    jeder Knoten Pakete in den Puffer-Einfügungs-Ring mit einer Rate einfügt, die die örtliche Paket-Einfügungs-Rate nicht übersteigt, bis eine neue Paket-Einfügungs-Rate von dem Knoten berechnet wird.
  • Gemäß einem weiteren Gesichtspunkt der Erfindung wird ein Knoten in einem Puffer-Einfügungs-Ring geschaffen, bei dem jedem Knoten in dem Puffer-Einfügungs-Ring eine vorgegebene Quote von Datenpaketen zugeordnet ist, die in einem vorgegebene Zeitintervall auszusenden sind, und wobei die Quote von Datenpaketen bei Empfang einer Mitteilung von einem ringabwärts gelegenen Knoten durch den Knoten ausgesandt wird, wobei der Knoten Folgendes aufweist:
    Einrichtungen zur Berechnung, unter regelmäßigen Intervallen nT, einer örtlichen Paket-Einfügungs-Rate für den Knoten unter Verwendung der Gleichung: Add_Rate(nT) = (Add_Rate(cT – T) + DS_Rate(nT))/2worin:
    Add_Rate die Einfügungs-Rate für den Knoten während eines unmittelbar vorhergehenden Intervalls T ist; und
    DS_Rate eine angekündigte Rate ist, die von einem ringabwärts gelegenen Verbindungsstrecken-Nachbar-Knoten empfangen wird;
    Einrichtungen zur Berechnung, bei jedem Intervall nT, einer Einfügungs-RAte für einen ringaufwärts gelegenen Verbindungsstrecken-Partner-Knoten in dem Puffer-Einfügungs-Ring unter Verwendung der Formel:
    Figure 00050001
    worin:
    Tandem_Rate eine Anzahl von Bytes, die durch einen Tandem-Puffer des Knotens hindurchlaufen, normalisiert auf eine Verbindungsstrecken-Rate der ringaufwärts gelegenen Verbindungsstrecke während eines Intervalls TSTAT, T ≤ TSTAT ist;
    EMPT eine Boolsche Variable ist, die anzeigt, ob der Knoten irgendwelche auf den Ring zu sendende Pakete hat; und
    DS_Rate die angekündigte Rate eines ringabwärts gelegenen Verbindungsstrecken-Partner-Knotens ist;
    Einrichtungen zum Übermitteln der angekündigten Einfügungs-Rate an den ringaufwärts gelegenen Verbindungsstrecken-Partner-Knoten; und
    Einrichtungen zum Hinzufügen von Paketen zu dem Ring mit einer Rate, die die örtliche Paket-Einfügungs-Rate nicht übersteigt, bis eine nächste örtliche Paket-Einfügungs-Rate berechnet wird.
  • Die Erfindung ergibt daher ein Verfahren für eine Medien-Zugangs-Steuerung auf der Grundlage eines adaptiven Raten-Steuerungs-(ARC-)Algorithmus, der auf der Grundlage von Raten-Berechnungen arbeitet, die an jedem Knoten durchgeführt werden. Die Raten-Berechnungen werden unter Verwendung einer Raten-Information durchgeführt, die an jedem Knoten verfügbar ist, sowie an einer Raten-Information, die an dem Knoten von einem ringabwärts gelegenen Verbindungsstrecken-Partner empfangen wird. Die an jedem Knoten verfügbare Raten-Information ist die Rate, mit der Pakete in dem Einfügungs-Puffer empfangen werden, was als die Tandem-Verkehrs-Rate bekannt ist. Die Information, die von dem ringabwärts gelegenen Verbindungsstrecken-Partner empfangen wird, bezieht sich auf eine Rate, die der ringabwärts gelegene Verbindungsstrecken-Partner als eine faire Hinzufügungs-Rate für den Knoten betrachtet. Dies wird als die angekündigte Rate bezeichnet. Die Tandem-Verkehrs-Rate und die angekündigte Rate werden zur Berechnung einer örtlichen fairen Einfügungs-Rate verwendet. Jeder Knoten verwendet seine Einfügungs-Rate als die faire Einfügungs-Rate, bis der Algorithmus fordert, dass er eine neue Raten-Berechnung ausführt. Der Knoten kann Verkehr während eines Intervalls zwischen Einfügungs-Raten-Berechnungen nur bis zu dem Maximum einfügen, der von der berechneten Einfügungs-Rate zugelassen wird. Sobald der Knoten seine Einfügungs-Raten-Quote erreicht hat, wird nicht zugelassen, dass der Knoten weiteren Verkehr zu dem Ring hinzufügt, bevor nicht eine neue Einfügungs-Raten-Berechnung durchgeführt wurde.
  • Jeder Knoten übermittelt die angekündigte Rate, die er berechnet, an seinen ringaufwärts gelegenen Verbindungsstrecken-Partner. Der ringaufwärts gelegene Verbindungsstrecken-Partner-Knoten verwendet die angekündigte Rate bei ihrem Empfang in den Berechnungen einer eigenen Einfügungs-Rate sowie einer neuen angekündigten Rate, die er an seinen eigenen ringaufwärts gelegenen Verbindungsstrecken-Partner-Knoten sendet. Dieser Prozess läuft kontinuierlich auf dem Ring ab, wobei dauernd der Zugang jedes Knotens an den Ring geregelt wird. Simulations-Ergebnisse haben bestätigt, dass der ARC-Fairness-Algorithmus die Einfügungs-Rate jedes Knotens auf einen fairen Wert einstellt. Die Einstellung wird selbst unter starken Verkehrs-Lasten sehr schnell erreicht, bei denen jeder Knoten mit seiner vollen Rate an seinem weiter ringabwärts gelegenen Knoten sendet. Der Algorithmus trägt nur wenig zu dem Betriebs-Zusatzaufwand auf dem Ring bei.
  • Die Erfindung wird nunmehr lediglich in Form eines Beispiels unter Bezugnahme auf die folgenden Zeichnungen beschrieben, in denen:
  • 1 eine schematische Darstellung eines Puffer-Einfügungs-Ringes ist, wie er als ein dualer gegenläufig rotierender Puffer-Einfügungs-Ring bekannt ist;
  • 2 ein Ablaufdiagramm ist, das die Logik des ARG-Algorithmus zeigt;
  • 3a die auf dem erste Blatt der Zeichnungen erscheint, eine schematische Darstellung eines Puffer-Einfügungs-Ringes ist, wie er in 1 gezeigt ist, wobei lediglich der Knoten 1 Pakete an den Knoten 3 sendet, und die Pakete mit einer vollen Verbindungsstrecken-Rate gesendet werden;
  • 3b, die auf dem ersten Blatt der Zeichnungen erscheint, einen Puffer-Einfügungs-Ring nach 2 zeigt, wenn der Knoten 2 mit dem Senden von Verkehr an den Knoten 3 beginnt, und die Knoten 1 und 2 ihre jeweiligen Sende-Raten auf eine faire Rate unter dem Einfluss des ARC-Algorithmus ausgleichen;
  • 4a eine graphische Darstellung der normalisierten Einfügungs-Rate des Knotens 1 während einer Zeitperiode ist, die schematisch in den 3a und 3b gezeigt ist;
  • 4b eine graphische Darstellung ist, die die normalisierte Einfügungs-Rate des Knotens 2 während der Zeitperiode zeigt, die schematisch in den 3a und 3b gezeigt ist;
  • 5a5e schematisch ein Beispiel zeigen, in dem der Knoten 1 Pakete mit einer vollen Rate an den Knoten 4 sendet, während die Knoten 2 und 3 ebenfalls Pakete an den Knoten 4 für eine kurze Zeitperiode senden; und
  • 6 eine graphische Darstellung ist, die die normalisierte Einfügungs-Rate des Knotens 1 während der Paket-Sende-Sequenz zeigt, die in den 5a5e gezeigt ist.
  • Diese Erfindung bezieht sich auf ein Verfahren zur Medien-Zugangs-Steuerung für die Paket-Übertragung über einen Puffer-Einfügungs-Ring zum Sicherstellen einer örtlichen Fairness unter Verwendung eines eine Gegenkopplung aufweisenden Steuersystems zur weitestgehenden Verringerung des Fehlers zwischen einer tatsächlichen Einfügungs-Rate jedes Knotens und einem idealen Wert für die Einfügungs-Rate. Das Verfahren stellt sicher, dass eine ausreichende Information an ringaufwärts gelegene Knoten übertragen wird, um es jedem Knoten zu ermöglichen, die Information bei einer Berechnung einer örtlichen Fairen Einfügungs-Rate anzuwenden.
  • Das Verfahren der Medien-Zugangs-Steuerung, das nachfolgend als der adaptive Raten-Steuer-(ARC-)Algorithmus bezeichnet wird, arbeitet auf der Grundlage von Raten-Berechnungen, die an jedem Knoten in einem Puffer-Einfügungs-Ring ausgeführt werden. Ein Beispiel eines Puffer-Einfügungs-Ringes 10 ist in 1 gezeigt, diese Art von Ring ist als ein dualer gegenläufig rotierender Puffer-Einfügungs-Ring bekannt, dessen Konstruktion und Betriebsweise in der Technik gut bekannt sind. Der Puffer-Einfügungs-Ring 10 besteht aus einer Vielzahl von Knoten 12, die auch als Zugangspunkte (AP) bezeichnet werden. In diesem Dokument sind die Ausdrücke „Knoten" und „AP" synonym. Jeder Knoten 12 ist mit benachbarten Nachbar-Knoten über ein Paar von Lichtleitfaser-Verbindungsstrecken 14 und 16 verbunden, die jeweils Information in entgegengesetzten Richtungen zwischen den Knoten übertragen. Die Kapazitäten der Lichtleitfaser-Verbindungsstrecken 14 und 16 sind nicht notwendigerweise zwischen Knoten oder innerhalb des Puffer-Einfügungs-Ringes 10 symmetrisch.
  • ARC-Raten-Berechnungen werden an jedem Knoten 12 ausgeführt. Die Raten-Berechnungen werden unter Verwendung einer Tandem-Verkehrs-Rate ausgeführt, die an jedem Knoten verfügbar ist, und von Raten-Information, die an dem Knoten von einem ringabwärts gelegenen Verbindungsstrecken-Partner empfangen wird. Die Tandem-Verkehrs-Rate ist eine normalisierte Zählung der Anzahl von Bytes, die während einer vorher definierten Zeitperiode durch den Tandem-Puffer des Knotens hindurchlaufen, wie dies weiter unten ausführlicher erläutert wird. Die Raten-Information, die an dem Knoten von dem ringabwärts gelegenen Verbindungsstrecken-Partner empfangen wird, wird als die angekündigte Rate bezeichnet, deren Berechnung ebenfalls weiter unten ausführlich erläutert wird. Unter regelmäßigen Intervallen berechnet jeder Knoten 12 zwei Raten, eine örtliche Einfügungs-Rate, die nachfolgend als die Add_Rate bezeichnet wird, und die Rate, die der örtliche Knoten als eine faire Einfügungs-Rate für seinen ringaufwärts gelegenen Verbindungsstrecken-Partner betrachtet, die nachfolgend als die Advertised_Rate (angekündigte Rate) bezeichnet wird. Der Knoten 12 verwendet die Add_Rate als seine faire Einfügungs-Rate bis zur nächsten Raten-Berechnung. Jeder Knoten 12 fügt daher Verkehr während eines Intervalls zwischen Berechnungen bis zu einem Maximum ein, das von der berechneten Add_Rate zugelassen wird. Sobald der Knoten Verkehr eingefügt hat, der äquivalent zu der Add_Rate ist, stoppt der Knoten die Einfügung von Verkehr bis eine neue Add_Rate berechnet ist.
  • Jeder Knoten 12 übermittelt seine Advertised_Rate an seinen ringaufwärts gelegenen Verbindungsstrecken-Partner. Der ringaufwärts gelegene Knoten 12 wendet bei Empfang der Advertised_Rate diese auf die Berechnungen seiner Add_Rate sowie einer neuen Advertised_Rate an, die an seinen ringaufwärts gelegenen Verbindungsstrecken-Partner gesandt wird, dieser Prozess läuft kontinuierlich auf dem Ring ab, wodurch der Zugang jedes Knotens 12 an den Ring geregelt wird.
  • Raten-Berechnungen
  • Raten-Berechnungen beruhen auf Information, die über ein vorgegebenes Intervall gesammelt werden. Das vorgegebene Intervall ist als TSTAT definiert. Das Intervall wird als ein „statistisches Fenster" bezeichnet, während dessen ein Knoten seine Tandem_Rate berechnet. Die Tandem_Rate ist eine laufende Gesamtsumme der Anzahl von Bytes, die den Tandem-Puffer des Knotens während der Zeit TSTAT durchlaufen. Die Tandem_Rate und alle anderen nachfolgend genannten berechneten Raten werden auf die Verbindungsstrecken-Rate normalisiert. Die zwei Raten-Berechnungen werden periodisch zu einer Zeit durchgeführt, die unabhängig von dem statistischen Fenster sein kann. Das Raten-Berechnungs-Intervall wird als ein Mitteilungs-Übermittlungs-Intervall T bezeichnet, worin T ≤ TSTAT ist. Wenn ein Mitteilungs-Übermittlungs-Intervall zu einer Zeit nT abläuft, oder wenn eine Advertised_Rate von dem ringabwärts gelegenen Knoten empfangen wird, wird eine neue Add_Rate für den Knoten berechnet, und eine neue Advertised_Rate wird berechnet und an den ringaufwärts gelegenen Verbindungsstrecken-Partner gesandt. Die von einem ringabwärts gelegenen Verbindungsstrecken-Partner empfangene Advertised_Rate wird als die DS_Rate an dem empfangenden Knoten 12 bezeichnet.
  • Add Rate
  • Wenn das Zeit-Intervall nT abläuft, oder wenn eine Advertised_Rate von dem ringabwärts gelegenen Knoten empfangen wird, so wird eine Add_Rate durch den Knoten 12 wie folgt berechnet: Add_Rate(nT) = (Add_Rate(nT – T) + DS_Rate(nT))/2
  • Diese Gleichung modelliert einen Integrator und zwingt die Add_Rate auf die DS_Rate nach einigen wenigen Byte-Intervallen nT zu konvergieren. Dies kann dadurch gezeigt werden, dass eine z-Transformation der vorstehenden Gleichung genommen, sie in der z-Domäne gelöst und das Ergebnis in die diskrete Zeit- Domäne umgewandelt wird. Das Ergebnis des vorstehenden Integrators kann wie folgt ausgedrückt werden: Add_Rate(nT) = (1 – (½)n)DS_Rate(nT) + (½)nAdd_Rate(0). Wenn n → ∞ dann Add_Rate → DS_Rate.
  • In der Praxis sind lediglich wenige Zeit-Intervalle nT erforderlich, bevor sich das Ausgangssignal der Integrators stabilisiert. Beispielsweise sind weniger als fünf Zeit-Intervalle T erforderlich, damit die Add_Rate auf einen Wert innerhalb von 97% der DS_Rate konvergiert. Im Ergebnis wird die Add_Rate jedes Knotens auf eine Rate eingestellt, die von ihrem ringabwärt gelegenen Knoten angekündigt wurde. Dieser Einstellprozess läuft sanft und in wenigen Zeit-Intervallen T ab.
  • Advertised Rate
  • Jedesmal wenn das Zeit-Intervall nT abläuft, oder eine Advertised_Rate (angekündigte Rate) von dem ringabwärts gelegenen Knoten empfangen wird, so wird eine neue Advertised_Rate wie folgt berechnet:
    Figure 00100001
  • Wenn die Tandem_Rate 0 ist, was anzeigt, dass kein ringaufwärts gelegener Knoten Verkehr gesendet hat, der durch einen diese Berechnung durchführenden Knoten hindurchläuft, so wird eine Rate von 1 an den ringaufwärts gelegenen Verbindungsstrecken-Partner angekündigt. Diese Advertised_Rate informiert den ringaufwärts gelegenen Verbindungsstrecken-Partner, dass er während des nächsten Mitteilungs-Übermittlungs-Intervalls nT den vollen Zugang an dem Ring hat. Die Ankündigung einer Rate von 1 zeigt an, dass ein Knoten 12 keine Auswirkung auf den geregelten Verkehr von irgendeinem anderen Segment des Ringes hat, und verhindert, dass örtlicher Verkehr auf getrennten Segmenten des Ringes eine gegenseitige Störung ergibt. Bei der vorstehend angegebenen Berechnung kompensiert die „ELSE"-Bedingung einen Fall, bei dem ein Knoten 12 Verkehr in seinem Tandem-Puffer enthält. In diesem Fall wird das Minimum der DS_Rate und (1 – Tandem_Rate·(1 – EMPT)) an den ringaufwärts gelegenen Knoten angekündigt. Die Variable EMPT ist ein Boole'scher-Wert, der anzeigt, ob der Knoten zu dem Ring hinzuzufügende Pakete hat. Wenn der Knoten keine in den Ring einzufügende Pakete hat, so wird die EMPT-Flagge auf 1 gesetzt, und der linke Ausdruck in der Min-Funktion wird zu 1. Entsprechend wird in jedem Fall das, was in der DS_Rate enthalten ist, an den ringaufwärts gelegenen Knoten angekündigt. Wenn EMPT auf 0 gesetzt ist, was anzeigt, dass der Knoten in den Ring einzufügende Pakete hat, so wird die angekündigte Rate zu Folgendem: Advertised_Rate(nT) = Min(1 – Tandem_Rate(nT), DS_Rate(nT)).
  • Die Min-Funktion stellt sicher, dass die von einem ringabwärts gelegenen Verbindungsstrecken-Partner empfangene DS_Rate-Mitteilung von einem Knoten 12 in Richtung auf seinen ringaufwärts gelegenen Verbindungsstrecken-Partner weitergeleitet wird, so dass sie schließlich einen Knoten erreicht, der für einen unfairen Beitrag an Verkehrs-Last an irgendeinem anderen AP in dem Ring verantwortlich ist. Ein Knoten 12, der der überlasteten Verbindungsstrecke am nächsten liegt, berechnet (1 – Tandem_Rate) und die anderen Knoten leiten diese Advertised_Rate an ihre ringaufwärts gelegenen Verbindungsstrecken-Partner aufgrund der Min-Funktion weiter. Wenn eine Gruppe K Knoten eine Verbindungsstrecke gemeinsam nutzt, um Verkehr an einen bestimmten AP zu übertragen, so senden, wenn ein eingeschwungener Zustand erreicht ist, alle K Knoten mit einer fairen Raten 1/K. Die Tandem_Rate an dem Knoten, der der überlasteten Verbindungsstrecke am nächsten liegt, würde (K – 1)/K sein. Wenn der der überlasteten Verbindungsstrecke nächstgelegene Knoten (1 – Tandem_Rate) ankündigt, so ist dies äquivalent zu 1 – (K – 1)/K = 1/K. Entsprechend ist die von dem einer überlasteten Verbindungsstrecke nächstgelegenen Knoten angekündigte Rate gleich den fairen Raten für alle Knoten, die die überlastete Verbindungsstrecke gemeinsam nutzen. Weil die Knoten ihre Add_Rate an die Advertised_Rate anpassen, wird ein fairer Zugang sehr schnell für jeden Knoten 12 in einer Gruppe von Knoten erreicht, die Verkehr zu dem Ring hinzufügen. Es sei bemerkt, dass die Wirkung dieser Berechnung darin besteht, dass die Advertised_Rate die Add_Rate eines Knotens 12 während jeder Mitteilungs-Übermittlungs-Periode nT drosselt, so dass ein Knoten 12 diesen Grenzwert niemals überschreiten kann.
  • Der Ausdruck (1 – Tandem_Rate) kann als eine negative Rückführung oder Gegenkopplung betrachtet werden, die an den ringaufwärts gelegenen Verbindungsstrecken-Partner gesandt wird. Wenn während eines vorhergehenden Mitteilungs-Übermittlungs-Intervalls nT die Tandem_Rate eine große Zahl war, was bedeutet, dass der ringaufwärts gelegenen Verbindungsstrecken-Partner eine sehr gute Gelegenheit hatte, einen Verkehr in den Ring einzufügen, und in einer nachfolgenden Mitteilung die Advertised_Rate eine kleine Zahl ist, wird die Add_Rate an dem ringaufwärts gelegenen Verbindungsstrecken-Partner für das nächste Intervall nT entsprechend verringert. Der Algorithmus regelt den Verkehr sehr schnell, weil jeder Knoten die Advertised_Rate lediglich an seinen ringaufwärts gelegenen Verbindungsstrecken-Partner sendet, und das Mitteilungs-Übermittlungs-Intervall nT relativ kurz ist. Die Mitteilungen werden unabhängig von jedem Knoten 12 an seinen ringaufwärts gelegenen Verbindungsstrecken-Partner gesandt. Daher passen alle Knoten kontinuierlich ihre Raten an, und sie fügen ihre Pakete in den Ring mit der angepassten Rate ein. Dies beseitigt lange Verzögerungen und die resultierende Vergeudung an Bandbreite, die bei Tokenbasierten Algorithmen beobachtet wurde.
  • Algorithmus-Logik
  • 2a ist ein Ablaufdiagramm der Logik, die in einem ersten Prozess verwendet wird, der von dem ARC-Fairness-Algorithmus ausgeführt wird. Im Schritt 18 wird ein Zeitgeber geprüft, um festzustellen, ob das Intervall T abgelaufen ist. Wenn dies nicht der Fall ist, wird im Schritt 20 ein Register im Schritt 20 geprüft, um festzustellen, ob eine neue Advertised_Rate von einem ringabwärts gelegenen Verbindungsstrecken-Partner empfangen wurde. Wenn dies nicht der Fall ist, läuft das Programm zum Schritt 18 zurück. Wenn eine neue Advertised_Rate empfangen wird oder der Zeitgeber abgelaufen ist, so wird eine New_Add_Rate im Schritt 22 unter Verwendung der vorstehend beschriebenen Gleichung berechnet.
  • Die Add_Rate wird auf die New_Add_Rate im Schritt 24 gesetzt, und eine neue Advertised_Rate wird im Schritt 26 berechnet. Im Schritt 30 wird die Tandem_Rate überprüft, um festzustellen, ob irgendwelche Pakete in dem Tandem-Puffer während des Intervalls T angeordnet wurden. Wenn keine Pakete in dem Tandem-Puffer angeordnet wurden (Tandem_Rate = 0) so wird die Advertised_Rate im Schritt 32 auf „1" gesetzt. Dies stellt sicher, das ein Knoten keine angekündigte Rate von weniger als 1 weiterleitet, wenn der Knoten selbst die Quelle des Verkehrs ist. Die Advertised_Rate wird dann an den ringaufwärts gelegenen Verbindungsstrecken-Nachbar im Schritt 34 gesandt. Der Zeitgeber T wird auf einen Ausgangswert im Schritt 36 zurückgesetzt, und der Prozess läuft zum Schritt 18 zurück.
  • 2b ist ein Ablaufdiagramm der Logik, die in einem zweiten Prozess verwendet wird, der von dem ARC-Fairness-Algorithmus ausgeführt wird. Die ersten und zweiten Prozesse, die in den 2a, 2b gezeigt sind, laufen unabhängig voneinander parallel.
  • Im Schritt 38 wird die Anzahl von in dem Tandem-Puffer angeordneten Paketen summiert, um die Tandem_Rate zu berechnen. Die im Tandem-Puffer angeordneten Pakete werden vorzugsweise unter Verwendung eines gleitenden Fensters (TSTAT) verfolgt, das nachfolgend ausführlicher beschrieben wird. Im Schritt 40 wird die Anzahl der Pakete, die in dem Ring eingefügt werden, summiert, um eine Actual_Add_Rate zu berechnen. Die Actual_Add_Rate wird in gleicher Weise unter Verwendung eines gleitenden Fensters (TSTAT) verfolgt. Die Actual_Add_Rate wird mit der Add_Rate im Schritt 42 verglichen. Wenn die Actual_Add_Rate größer als die Add_Rate oder gleich dieser ist, so verzweigt sich der Prozess zurück zum Schritt 38. Andernfalls prüft der Prozess den Add_Buffer im Schritt 44. Wenn der Add_Buffer leer ist, so verzweigt sich der Schritt zurück zum Schritt 38. Wenn nicht, so wird ein Paket im Schritt 46 ausgesandt, und der Prozess verzweigt sich zurück zum Schritt 38, nachdem das Paket ausgesandt wurde.
  • Wie dies vorstehend beschrieben wurde, stellt der Algorithmus sicher, das die DS_Rate in Richtung auf den Knoten weitergeleitet wird, der für die Unfairheit an irgendeinem anderen Teil des Ringes verantwortlich ist. Entsprechend stellt die in den 2a, 2b gezeigte Logik die faire Verteilung der Ressourcen in Abhängigkeit von aktuellen Verkehrslasten sicher.
  • Berechnung des Mitteilungs-Übermittlungs-Zeitgebers (T)
  • Die Advertised_Rate sollte mit einer minimalen Verzögerung verbreitet werden. Dies bedeutet, dass die Advertised_Rate in das Kopffeld jedes Rahmens eingefügt werden sollte, der ringaufwärts läuft. Wenn nach dem Warten über eine Zeit, die äquivalent zu einer Übertragungs-Zeit für eine maximale Größe aufweisendes Paket ist, kein Rahmen den Knoten in einer Ringaufwärts Richtung durchlaufen hat, so sollte ein neuer Rahmen erzeugt und ringaufwärts gesandt werden, um die Advertised_Rate zu übermitteln. Dann wird der Mitteilungs-Übermittlungs-Zeitgeber vorzugsweise auf: T = MaxPacketSize·S/LineRategesetzt, worin:
    T die Periode des Mitteilungs-Übermittlungs-Zeitgebers ist;
    MaxPacketSize die Zeit erforderlich ist, um ein Paket mit der maximalen Größe zu senden, die von dem Ring unterstützt wird, und
    LineRate die Geschwindigkeit in Bits/Sekunden der Verbindungsstrecke ist.
  • Berechnung des statistischen Fensters (TSTAT)
  • Das gleitende statistische Fenster (TSTAT) sollte groß genug sein, um die aktuellen Raten wiederzugeben und ein unnötiges Über- und Unter-Schwingen in den berechneten Raten zu verhindern. Je größer TSTAT ist, desto sanfter sind die Änderungen in den Raten, andererseits sammelt ein großes statistisches Fenster eine lange Historie, macht die Übergänge langsam und gibt keine unmittelbare Änderung der Rate wieder. Dies kann Probleme für Knoten hervorrufen, die einen unmittelbaren Zugang an dem Ring haben müssen, um einen Datenstrom burstartig einzufügen. Eine Formel, die die Größe des gleitenden Fensters zu den Netzwerk-Parametern in Beziehung setzt, wird anhand der Tabelle 1 erläutert. Die in der Tabelle dargestellten Knoten sind ein Knoten „j" und ein Knoten „i", der ringaufwärts von dem Knoten j liegt, sowie zwischenliegende Knoten „j – 1", der ein erster ringaufwärts von dem Knoten j gelegener Knoten ist, und ein Knoten „l + 1 ", der ein erster ringabwärts von dem Knoten i gelegener Knoten ist.
  • Der Knoten i sendet Pakete an den Knoten j. Der Knoten j kündigt eine Rate an den Knoten i an, um den Verkehr zu regeln. Die maximale Entfernung zwischen dem Knoten i und j in einem dualen gegensinnig rotierenden Ring ist N/2, worin N die Gesamtzahl von Knoten an dem Ring ist. Jedes Ereignis auf diesem Netzwerk erfordert eine Zeit, die in der Tabelle 1 aufgeführt ist. In der Tabelle 1 wird angenommen, dass die Ausbreitungs-Verzögerung auf dem Medium 5 μs/km ist, AveLinkLength die mittlere Entfernung zwischen zwei Knoten in km ist, und LineRate die Ring-Bandbreite in bit/s ist.
    Zeit Aktion
    0 Knoten j berechnet eine neue Advertised_Rate
    T (oder MaxPacketSite·8/LineRate) Noten j fügt die Advertised_RAte in das Kopffeld des nächsten Paketes ein.
    5 μs·AveLinkLength Advertised_Rate läuft vom Konten j zum Konten j – 1.
    5 μs·AveLinkLentth Das erste von dem Knoten i unter Verwendung der neuen Add_Rate ausgesandte Paket kommt an Knoten i + 1 an.
    MaxPacketSize·8/LineRate Die maximale Verzögerung, die dieses Paket an den Knoten i + 1 (aufgrund des Einfügungs-Puffers) erfährt, bevor es den Konten i + 1 verlässt.
    Tabelle 1: Die Zeit, die für die verschiedenen Ereignisse auf dem Netzwerk erforderlich ist.
  • In einem Extremfall benötigt der von dem Knoten i ausgesandte Verkehr die folgende Zeit, um zum Konten j zu gelangen: N/2·[(5 μsec·AveLinkLength) + (MaxPacketSize·8/LineRate)].
  • Entsprechend benötigt die Änderung der Tandem_Rate des Knotens j (und seiner Advertised_Rate) die folgende Zeit, um zum Knoten i zu gelangen: N/2·[T + (5 μsec·AveLinkLength)]
  • Die Gesamtzeit, die der Knoten j benötigt, um eine Änderung seiner Tandem_Rate festzustellen, ist die Summe der zwei vorstehend berechneten Zeiten: N/2·[(10 μsec·AveLinkLength) + (MaxPacketSize·8/LineRate) + T]
  • Um ein gutes Maß der Tandem_Rate des Knotens j zu gewinnen, sollte das gleitende statistische Fenster um einen Faktor von 2 oder 3 größer als die Gesamtzeit sein: TSTAT >> N/2·[(10 μsec·AveLinkLength) + (MaxPacketSize·8/LineRate) + T].
  • Beispiel 1
  • 3a, b und 4a, b zeigen, wie der ARC-Algorithmus-Verkehr auf einem Puffer-Einfügungs-Ring beeinflusst. Wie dies schematisch in 3a gezeigt ist, sendet der Knoten 1 Verkehr mit der vollen Rate an den Knoten 3, während der Knoten 2 still ist. Weil die Tandem_Rate des Knotens 3 gleich 0 ist, sendet er eine Advertised_Rate-Mitteilung 50 mit einem Wert von 1 an den Knoten 2. Der Knoten 2 kündigt ebenfalls eine Rate von 1 an den Knoten 1 an, indem er eine Mitteilung 52 sendet, weil sein Einfügungs-Puffer leer ist (EMPT = 1). Entsprechend wird der Knoten 1 angewiesen, dass er den Verkehr mit der vollen Raten an den Knoten 3 senden kann. Tatsächlich vergrößert, wenn der Knoten 1 mit der Einfügung seines Verkehrs mit einer Rate von weniger als 1 beginnt, er sehr schnell seine Add_Rate auf die volle Rate nach einigen wenigen Intervallen nT. Wie dies aus den vorstehenden Erläuterungen ersichtlich ist, wird die Add_Rate der Knoten 2 und 3 ebenfalls auf 1 vergrößert, obwohl die Knoten 2 und 3 derzeit keine in den Puffer-Einfügungs-Ring 10 einzufügenden Pakete haben.
  • Wie dies in 3b zu erkennen ist, empfängt der Knoten 2 Verkehr, der in den Ring einzufügen ist. Bei dem nächsten Mitteilungs-Intervall nT kündigt der Knoten 3 eine Rate von 1 an den Knoten 2 in einer Mitteilung 54 an, doch kündigt der Knoten 2 eine Rate von nahezu 0 an den Knoten 1 in einer Mitteilung 56 an. Dies ergibt sich aufgrund der Tatsache, dass der Knoten 2 die Pakete in seinem Einfügungs-Puffer hat, die in den Ring einzufügen sind (EMPT = 0). Die Advertised_Rate-Mitteilung 56 von dem Knoten 2 verlangsamt dramatisch die Senderate des Knotens 1. In der Zwischenzeit beginnt der Knoten 2 die Aussendung, wie dies das Puffer-Einfügungs-Schema zulässt. Entsprechend puffert der Knoten 2 Ringaufwärts-Verkehr, der zu seinem Tandem-Puffer kommt, während er die Aussendung seiner eigenen Pakete auf dem Puffer-Einfügungs-Ring 10 startet. Für jedes Paket, das der Knoten 2 in den Puffer-Einfügungs-Ring 10 einfügt, gibt es ein oder mehrere Pakete, die vorübergehend in seinem Tandem-Puffer empfangen und gespeichert werden, der lediglich so bemessen ist, dass er eine maximale Paket-Länge zulässt, die auf dem Puffer-Einfügungs-Ring 10 zugelassen wird. Wenn das Intervall nT am Knoten 2 abläuft, vergrößert dieser seine Add_Rate. Die Advertised_Rate wird entsprechend geändert. Wenn die Advertised_Rate nahezu 0 während des vorhergehenden Intervalls war, wurde der Knoten 1 im Wesentlichen am Senden von Paketen während dieses Intervalls gehindert, und das Ergebnis des Ausdruckes (1 – Tandem_Rate) vergrößert sich entsprechend. Dieser Prozess wird für einige wenige Intervalle nT fortgesetzt, bis sowohl der Knoten 1 als auch der Knoten 2 den gleichen Zugang an dem Puffer-Einfügungs-Ring 10 erhalten. Die 4a und 4b zeigen jeweils die normalisierten Einfügungs-Raten des Knotens 1 beziehungsweise des Knotens 2 während des Intervalls, das schematisch in den 3a und 3b dargestellt ist.
  • Dieses Beispiel wurde unter Verwendung eines Ereignis-gesteuerten Simulators simuliert. Der Puffer-Einfügungs-Ring 10 wurde mit OC-12 mit 16 Gigabit-Knoten auf dem Ring betrieben. Der Abstand zwischen jedem Knoten betrug ungefähr 1 Kilometer. Das Mitteilungs-Übemittlungs-Intervall nT war 200 μs, und das statistische Fenster TSTAT hat eine Länge von 500 μs.
  • Beispiel 2
  • Die 5a5e zeigen ein weiteres Beispiel, bei dem der Knoten 1 mit einer vollen Rate sendet. In 5a ist die faire Rate für den Knoten 1 gleich 1, weil alle anderen Knoten still sind. Wie dies in 5b gezeigt ist, beginnt der Knoten 2 Verkehr in den Puffer-Einfügungs-Ring 10 einzufügen. Die faire Rate der Knoten 1 und 2 unter dem Einfluss des ARC-Algorithmus wandert sehr schnell auf jeweils 0,5. Nach einer gewissen Zeit beginnt der Knoten 3 mit der Einfügung von Paketen in den Puffer-Einfügungs-Ring 10, wie dies in 5c gezeigt ist. Die faire Rate für die Knoten 1, 2 und 3 wandert zu dieser Zeit auf 0,333. Um festzustellen, wie schnell die Raten konvergieren, werden der Knoten 3 und nachfolgend der Knoten 2 an der Einfügung von Verkehr in den Ring gehindert, wie dies in den 5d und 5e gezeigt ist. Als Antwort hierauf steigt die faire Rate des Knotens 1 auf 0,5 an und kehrt dann auf 1 zurück.
  • Dieses Beispiel wurde unter Verwendung der gleichen Netzwerk-Konfiguration simuliert, wie sie vorstehend anhand des Beispiels 1 beschrieben wurde. Das Mitteilungs-Übermittlungs-Intervall nT war 20 μs, und das Statistik-Fenster TSTAT hatte eine Länge von 500 μs. Das Simulations-Ergebnis für die Add_Rate des Knotens 1 ist in 6 gezeigt. Wie dies zu erkennen ist, konvergiert die Rate auf einen fairen Wert innerhalb von sehr wenigen Mitteilungs-Intervallen nT.
  • Schnelle Konvergenz
  • Wenn ein Knoten eine neue Advertised_Rate berechnet und die neue Rate an seinen ringaufwärts gelegenen Verbindungsstrecken-Partner sendet, so trifft der ringaufwärts gelegene Verbindungsstrecken-Partner Maßnahmen, um zu antworten. Entsprechend sind höchstens 2 Mitteilungs-Perioden-Verzögerungen erforderlich, bis ein Knoten 12, der eine Advertised_Rate gesandt hat, eine Änderung an dem ankommenden Verkehr für seine Tandem-Puffer feststellen kann. Unter Annahme der Weiterleitung auf dem kürzesten Pfad ist die Entfernung zwischen den am weitesten voneinander entfernten Knoten in einem Puffer-Einfügungs-Ring gleich N/2 Hops oder Sprungabschnitte, worin N die Gesamtzahl von Knoten in dem Ring ist. Wenn ein am weitesten entfernt liegender Knoten die Quelle einer Überlastung auf einer Verbindungsstrecke ist, so erfordert dies eine Umlauf-Verzögerung, bevor der Knoten, dem eine Advertised_Rate gesandt wurde, die Änderung in seinem Tandem-Verkehr feststellen kann. Die Raten konvergieren gleichförmig auf faire Werte, weil der Integrator, der in dem Algorithmus implementiert ist, die Raten in einer gleichförmigen schrittweisen Folge ändert.
  • Zusatzdaten-Beitrag
  • Wie dies weiter oben erwähnt wurde, fügt der Algorithmus lediglich ein Byte pro Rahmen pro Mitteilungs-Übermittlungs-Intervall zu den Betriebs-Zusatz-Daten des Puffer-Einfügungs-Ringes hinzu. Wenn es Rahmen gibt, die einen Knoten in dessen Ringaufwärts-Richtung durchlaufen, so kann das Zusatz-Daten-Byte in die Kopffelder der Rahmen geschrieben werden, unter der Annahme, dass das Netzwerk-Protokoll einen derartigen Prozess ermöglicht. Verbindungsstrecken-Integritäts-Mitteilungen werden häufig von jedem Knoten 12 zu seinem ringaufwärts gelegenen Verbindungsstrecken-Partner gesandt. Die Advertised_Rate kann in derartige Rahmen geschrieben werden. Selbst wenn die Verbindungsstrecke zu dem ringaufwärts gelegenen Knoten leer ist, wenn nT = 0 ist, kann ein neues Minimum-Size-Paket erzeugt werden, um die Advertised_Rate an den ringaufwärts gelegenen Verbindungsstrecken-Partner zu übertragen. In diesem Fall beeinflussen, weil die Verbindungsstrecke leer ist, die durch die Mitteilung erzeugten Zusatzdaten den Verkehr auf dem Ring nicht.
  • Verteilter Algorithmus
  • Die zur Berechnung einer neuen Raten an jedem Knoten erforderliche Information wird örtlich in wenigen Registern gesammelt. Der Mitteilungs-Zeitgeber an jedem Knoten kann unabhängig von Zeitgebern in allen anderen Knoten arbeiten, und es gibt keine Notwendigkeit, die Zeitgeber zwischen Knoten zu synchronisieren.
  • Lineare Topologie
  • Es sollte weiterhin festgestellt werden, dass solange wie ein Knoten Zugang an seinen ringaufwärts gelegenen Verbindungsstrecken-Nachbarn hat und eine Advertised_Rate an seinen ringaufwärts gelegenen Verbindungsstrecken-Nachbarn senden kann, der Verkehr unter Verwendung des ARC-Algorithmus geregelt werden kann. Entsprechend arbeitet, selbst wenn der Ring unterbrochen ist, der Algorithmus immer noch auf irgendeinem verbleibenden Teil des Ringes.
  • HOL-Verzögerung
  • Der Algorithmus stellt weiterhin eine kurze Leitungskopf-(HOL-)Verzögerung sicher. Die HOL-Verzögerung ist als die Zeit definiert, die ein Rahmen an dem Kopf eines Einfügungs-Puffers wartet, bevor er Zugang an dem Puffer-Einfügungs-Ring 10 erhält. Zur Unterstützung der Dienstgüte muss die HOL-Verzögerung so kurz wie möglich sein. Bei bekannten Algorithmen konnte die HOL-Verzögerung unter bestimmten Umständen erheblich sein. Der ARC-Algorithmus versorgt alle Knoten mit einem kontinuierlichen Zugang an dem Ring, und der Zugang wird zwischen Knoten abgewechselt, die gemeinsam eine Verbindungsstrecke nutzen. Die HOL-Verzögerung wird daher verringert und innerhalb annehmbarer Grenzen gehalten. Die Bereitstellung einer niedrigen HOL-Verzögerung stellt einen wichtigen Vorteil des ARC-Algorithmus in Vergleich mit bekannten Fairness-Algorithmen dar.
  • Bandbreiten-Reservierung
  • Um eine obere Grenze für ein HOL-Verzögerung für Echtzeit- und missionskritischen Verkehr zu garantieren, kann ein Bruchteil der Bandbreite des Puffer-Einfügungs-Ringes 10 reserviert werden. Dies ermöglicht es außerdem einem im Leerlauf befindlichen Knoten, das Hinzufügen von Verkehr unmittelbar mit einer reservierten Rate zu beginnen, bevor sich seine Advertised-Rate zu ringaufwärts gelegenen Knoten ausgebreitet hat und die Raten-Regelung durchgesetzt wird. Die Bandbreiten-Reservierung kann sehr einfach in einem Netzwerk implementiert werden, das unter dem ARC-Algorithmus arbeitet. Bei der anhand der 2 beschriebenen Programm-Logik sind alle Raten auf die Verbindungsstrecken-Raten normalisiert, und die Advertised_Rate wird als eine Zahl zwischen 0 und 1 dargestellt. In der Angabe (1 – Tandem_Rate), die bei der Berechnung der vorstehend beschriebenen Advertised_Rate verwendet wird, stellt die Zahl 1 die Gesamt-Bandbreite des Ringes dar. Wenn die 1 durch eine kleinere Zahl kleiner als 1 ersetzt wird, die als die maximal unreservierte Rate Max_Unreserved_Rate bezeichnet wird, so wird ein Bruchteil der Bandbreite des Puffer-Einfügungs-Ringes 10 nicht durch den ARC-Algorithmus gesteuert und er wird reserviert. Die reservierte Bandbreite kann in gleichförmiger Weise unter den Knoten gemeinsam genutzt werden, wenn dies erwünscht ist. Wenn beispielsweise die Max_Unreserved_Rate auf 0,8 gesetzt wird, werden 20% der Kapazität des Ringes 10 für Echtzeit- und missionskritischen Verkehr reserviert, und 80% der Ring-Kapazität werden für Verzögerungs-Toleranten-Verkehr verwendet.
  • Änderungen und Modifikationen der vorstehend beschriebenen Ausführungsformen sind zweifellos für den Fachmann ersichtlich. Der Schutzumfang der Erfindung soll daher lediglich durch den Schutzumfang der beigefügten Ansprüche begrenzt sein.

Claims (16)

  1. Verfahren zur Medien-Zugriffs-Steuerung für eine Paketübertragung über einen Puffer-Einfügungs-Ring, bei dem jedem Knoten in dem Puffer-Einfügungs-Ring eine vorgegebene Quote von Datenpaketen zugeteilt wird, die in einem vorgegebenen Zeitintervall zu senden sind, und wobei die Quote von Datenpaketen bei Empfang einer Mitteilung von einem ringabwärts gelegenen Knoten durch den Knoten ausgesandt wird, dadurch gekennzeichnet, dass: jeder Knoten unter regelmäßigen Intervallen eine örtliche Paket-Einfügungs-Rate und eine angekündigte Paket-Einfügungs-Rate für einen ringaufwärts gelegenen Verbindungsstrecken-Partner-Knoten berechnet; jeder Knoten die angekündigte Einfügungs-Rate an den ringaufwärts gelegenen Verbindungsstrecken-Partner-Knoten übermittelt; und jeder Knoten Pakete in den Puffer-Einfügungs-Ring mit einer Rate einfügt, die die örtliche Paket-Einfügungs-Rate nicht übersteigt, bis eine neue Paket-Einfügungs-Rate von dem Knoten berechnet wird.
  2. Verfahren nach Anspruch 1, bei dem die Einfügungs-Raten-Berechnungen auf Information beruhen, die über ein Intervall TSTAT gesammelt werden, und wobei das regelmäßige Intervall, mit dem die örtliche Paket-Einfügungs-Rate und die angekündigte Rate berechnet werden, eine Dauer T aufweist, worin: T ≤ TSTAT ist
  3. Verfahren nach Anspruch 1 oder 2, bei dem die örtliche Paket-Einfügungs-Rate unter Verwendung der Gleichung: Add_Rate(nT) = (Add_Rate(nT – T) + DS_Rate(nT))/2 berechnet wird, worin Add_Rate(nT – T) die Einfügungs-Rate des unmittelbar vorhergehenden Intervalls T ist; und DS-Rate die angekündigte Rate eines ringabwärts gelegenen Verbindungsstrecken-Nachbarknotens ist.
  4. Verfahren nach Anspruch 1 oder 2, bei dem jeder Knoten eine Tandem_Rate über ein Statistik-Fenster mit einer Dauer von TSTAT berechnet, wobei die Tandem_Rate eine Anzahl von Bytes ist, die durch einen Tandem-Puffer des Knotens hindurchlaufen, normalisiert auf die Verbindungsstrecken-Rate der ringaufwärts gelegenen Verbindungsstrecke.
  5. Verfahren nach Anspruch 4, bei dem das Statistik-Fenster TSTAT ein Gleit-Fenster zur Aufrechterhaltung einer Historie der örtlichen Einfügungs-Rate und der Tandem-Rate zur Ermöglichung einer genauen Berechnung der Raten ist.
  6. Verfahren nach Anspruch 4 oder 5, bei dem die angekündigte Rate wie folgt berechnet wird:
    Figure 00220001
    worin: EMPT eine Boole'sche Variable ist, die anzeigt, ob der Knoten irgendwelche auf den Ring zu sendende Pakete hat.
  7. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die angekündigte Rate an den ringaufwärts gelegenen Verbindungsstrecken-Partner-Knoten durch Einfügen der angekündigten Rate in das Kopffeld eines Rahmen übermittelt wird, der in der Ringaufwärts-Richtung ausgesandt wird.
  8. Verfahren nach Anspruch 7, bei dem die angekündigte Rate an dem ringaufwärts gelegenen Verbindungsstrecken-Partner-Knoten in einem Verbindungsstrecken-Integritäts-Mitteilungs-Rahmen übermittelt wird, der an den ringaufwärts gelegenen Verbindungsstrecken-Partner-Knoten gesandt wird.
  9. Verfahren nach Anspruch 8, bei dem die angekündigte Rate in einen eine neue minimale Größe aufweisenden Rahmen eingefügt wird, wenn die Verbindungsstrecke zu dem ringaufwärts gelegenen Verbindungsstrecken-Partner-Knoten leer ist, und der neue Rahmen an den ringaufwärts gelegenen Verbindungsstrecken-Partner-Knoten übermittelt wird.
  10. Verfahren nach einem der Ansprüche 2–9, bei dem die Zeitintervalle T und TSTAT unter Verwendung von zumindest einem Zeitgeber in jedem Knoten berechnet werden und die Zeitgeber in unterschiedlichen Knoten nicht synchronisiert sind.
  11. Verfahren nach einem der Ansprüche 4–10, bei dem ein Teil einer Bandbreite des Ringes fair aufgeteilt wird und ein Teil für einen anderen Zweck reserviert wird, und wobei die angekündigte Rate unter Verwendung der folgenden Gleichung berechnet wird:
    Figure 00230001
    worin: Max_Unreserved_Rate der fair aufgeteilte Teil der Bandbreite des Ringes ist; und EMPT eine Boole'sche Variable ist, die anzeigt, ob der Knoten irgendwelche auf den Ring zu sendende Pakete hat.
  12. Verfahren nach Anspruch 11, bei dem der Puffer-Einfügungs-Ring ein dualer gegenläufig rotierender Puffer-Einfügungs-Ring ist.
  13. Knoten in einem Puffer-Einfügungs-Ring, bei dem jedem Knoten in dem Puffer-Einfügungs-Ring eine vorgegebene Quote von Datenpaketen zugeordnet ist, die in einem vorgegebenen Zeitintervall auszusenden sind, und wobei die Quote von Datenpaketen bei Empfang einer Mitteilung von einem ringabwärts gelegenen Knoten durch den Knoten ausgesandt wird, gekennzeichnet durch: Einrichtungen zur Berechnung, unter regelmäßigen Intervallen nT, einer örtlichen Paket-Einfügungs-Rate für den Knoten unter Verwendung der Gleichung: Add_Rate(nT) = (Add_Rate(nT – T) + DS_Rate(nT))/2worin: Add_Rate(nT – T) die Einfügungs-Rate für den Knoten während eines unmittelbar vorhergehenden Intervalls T ist; und DS_Rate eine angekündigte Rate ist, die von einem ringabwärts gelegenen Verbindungsstrecken-Nachbar-Knoten empfangen wird; Einrichtungen zur Berechnung, bei jedem Intervall nT, einer Einfügungs-Rate für einen ringaufwärts gelegenen Verbindungsstrecken-Partner-Knoten in dem Puffer-Einfügungs-Ring unter Verwendung der Gleichung:
    Figure 00240001
    worin: Tandem_Rate eine Anzahl von Bytes, die durch einen Tandem-Puffer des Knotens hindurch laufen, normalisiert auf eine Verbindungsstrecken-Rate der ringaufwärts gelegenen Verbindungsstrecke während eines Intervalls TSTAT, T ≤ TSTAT ist; EMPT eine Boole'sche Variable ist, die anzeigt, ob der Knoten irgendwelche auf den Ring zu sendende Pakete hat; und DS_Rate die angekündigte Rate eines ringabwärts gelegenen Verbindungsstrecken-Partner-Knotens ist; Einrichtungen zum Übermitteln der angekündigten Einfügungs-Rate an den ringaufwärts gelegenen Verbindungsstrecken-Partner-Knoten; und Einrichtungen zum Hinzufügen von Paketen zu dem Ring mit einer Rate, die die örtliche Paket-Einfügungs-Rate nicht übersteigt, bis eine nächste örtliche Paket-Einfügungs-Rate berechnet wird.
  14. Knoten nach Anspruch 13, bei dem der Puffer-Einfügungs-Ring ein dualer gegenläufig rotierender Puffer-Einfügungs-Ring ist.
  15. Knoten nach Anspruch 13 oder 14, bei dem der Knoten zumindest einen Zeitgeber einschließt, der zur Berechnung der Zeitintervalle T und TSTAT verwendet wird, und der Zeitgeber unabhängig von äquivalenten Zeitgebern in anderen Knoten läuft.
  16. Knoten nach einem der Ansprüche 13–15, bei dem der Knoten die angekündigte Rate an den ringaufwärts gelegenen Verbindungsstrecken-Partner-Knoten durch Einfügen der angekündigten Rate in das Kopffeld eines Rahmens übermittelt, der in der ringaufwärts-Richtung ausgesandt wird.
DE60037361T 1999-05-27 2000-05-25 Verfahren und Vorrichtung zur Mediumzugriffssteuerung zur Paketübertragung über einen Puffereinfügungsring Expired - Lifetime DE60037361T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/320,585 US6614805B1 (en) 1999-05-27 1999-05-27 Method and apparatus for media access control for packet transmission over a buffer insertion ring
US320585 1999-05-27

Publications (2)

Publication Number Publication Date
DE60037361D1 DE60037361D1 (de) 2008-01-24
DE60037361T2 true DE60037361T2 (de) 2008-04-03

Family

ID=23247061

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60037361T Expired - Lifetime DE60037361T2 (de) 1999-05-27 2000-05-25 Verfahren und Vorrichtung zur Mediumzugriffssteuerung zur Paketübertragung über einen Puffereinfügungsring

Country Status (4)

Country Link
US (1) US6614805B1 (de)
EP (1) EP1056244B1 (de)
CA (1) CA2299127C (de)
DE (1) DE60037361T2 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4999244B2 (ja) 1999-06-08 2012-08-15 ザ トラスティーズ オブ コロンビア ユニヴァーシティ イン ザ シティ オブ ニューヨーク インターネット電話用のネットワーク電話器具およびシステム
JP4041944B2 (ja) * 2001-10-18 2008-02-06 日本電気株式会社 ネットワークの混雑制御システムと混雑制御ノード、及び混雑制御プログラム
DE10157103A1 (de) 2001-11-21 2003-05-28 Sel Alcatel Ag Verfahren und Steuergerät zur Zuteilung von variablen Zeitschlitzen für eine Datenübertragung in einem paketorientierten Datennetzwerk
US7174374B2 (en) * 2002-05-13 2007-02-06 Industrial Technology Research Institute Multi-priority media access control method for multi-channel slotted ring networks
WO2004105330A2 (en) * 2003-05-20 2004-12-02 Matsushita Electric Industrial Co., Ltd. Access control method and system
US7774506B2 (en) * 2003-08-19 2010-08-10 Cisco Technology, Inc. Systems and methods for alleviating client over-subscription in ring networks
DE602005005303T2 (de) * 2005-04-19 2008-06-26 Alcatel Lucent Verfahren zum Betreiben eines auf Paketen basierten Datennetzes
US8804513B2 (en) * 2010-02-25 2014-08-12 The Trustees Of Columbia University In The City Of New York Methods and systems for controlling SIP overload

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4538147A (en) * 1982-03-05 1985-08-27 Burroughs Corp. Bandwidth allocation in a token controlled loop communications network
US4926418A (en) 1989-04-11 1990-05-15 International Business Machines Corporation Fairness algorithm for full-duplex buffer insertion ring
US5229993A (en) * 1991-02-25 1993-07-20 Old Dominion University Control of access through local carrier sensing for high data rate networks and control of access of synchronous messages through circulating reservation packets
US5475685A (en) 1993-10-27 1995-12-12 International Business Machines Corporation Multi-media flow control over FDDI synchronous networks
US5467352A (en) 1994-02-07 1995-11-14 International Business Machines Corporation Method and apparatus for improved throughput in a multi-node communication system with a shared resource
US5446737A (en) * 1994-02-07 1995-08-29 International Business Machines Corporation Method and apparatus for dynamically allocating shared resource access quota
KR960015601B1 (ko) 1994-02-08 1996-11-18 조백제 버퍼를 갖는 링 통신망 노드 장치 및 그 제어 방법
US6026425A (en) * 1996-07-30 2000-02-15 Nippon Telegraph And Telephone Corporation Non-uniform system load balance method and apparatus for updating threshold of tasks according to estimated load fluctuation
US6314110B1 (en) * 1998-03-06 2001-11-06 Cisco Technology, Inc. Method and apparatus for distributed bandwidth allocation for a bi-directional ring media with spatial and local reuse

Also Published As

Publication number Publication date
EP1056244B1 (de) 2007-12-12
CA2299127A1 (en) 2000-11-27
EP1056244A2 (de) 2000-11-29
CA2299127C (en) 2007-09-04
DE60037361D1 (de) 2008-01-24
US6614805B1 (en) 2003-09-02
EP1056244A3 (de) 2002-10-23

Similar Documents

Publication Publication Date Title
DE69835781T2 (de) Vorrichtung mit einem gewichteten gerechten Warteschlangenverfahren und mit adaptiver Umverteilung der Bandbreite
DE69433919T2 (de) Vorrichtung und verfahren zur regulierung des zellflusses am ende eines atm systems
DE69922180T2 (de) Verfahren und Vorrichtung zur Datenflusssteuerung
DE69434841T2 (de) Dynamische Zugriffsteuerung für ein ATM-Netz
DE60017622T2 (de) Auf RSVP-basiertes Tunnelprotokoll zum Bereitstellen von integrierten Diensten
DE69829203T2 (de) Paketnetzwerk
DE60127120T2 (de) Verfahren und netzwerk zur ausbreitung von statusinformationen
DE69633051T2 (de) Verfahren zur Kontrolle der Datenstromgeschwindigkeit, des Warteschlangenetzknoten und des Paketvermittlungsnetzwerkes
EP1529384B1 (de) Zugangskontrolle bei paketorientierten netzen
DE10357582A1 (de) Klassenbasierte Ratensteuerung unter Verwendung eines Leaky Bucket mit einer Vielzahl von Grenzwerten
WO2003055154A1 (de) Verfahren zur übertragung von daten von applikationen mit unterschiedlicher qualität
DE602004010056T2 (de) Verfahren und System zur Verwaltung des Netzwerkverkehrs unter Berücksichtung von mehreren Zwangsbedingungen
DE69534171T2 (de) Verfahren und Vorrichtung für verbesserten Durchfluss in einem Vielfachknoten-Kommunikationssystem mit einem gemeinsamen Betriebsmittel
DE60037361T2 (de) Verfahren und Vorrichtung zur Mediumzugriffssteuerung zur Paketübertragung über einen Puffereinfügungsring
DE60130587T2 (de) Asymmetrische bandbreitenzuteilung
DE102004057496B4 (de) Verfahren und Vorrichtung zur automatischen Neueinstellung von Grenzen für Zugangskontrollen zur Beschränkung des Verkehrs in einem Kommunikationsnetz
EP1588234B1 (de) Zuordnung von verteilungsgewichten zu verbindungsabschnitten in einem paketnetz mit verkehrsverteilung
DE60217728T2 (de) Planung von einem verteilten betriebsmittel zwischen synchronen und asynchronen paketflüssen
DE602004001605T2 (de) Verbesserung vom frühen Zufallsverwerfen von Datenpaketen (RED)
DE60305866T2 (de) System und Verfahren zum Anbieten von differenzierten Diensten
DE102018202902A1 (de) Dynamische TCP Proxy Auswahl zur Beschleunigung von kurzen Netzwerkflüssen
WO2001054448A1 (de) Verfahren und vorrichtung zur zugangssteuerung eines kommunikationsnetzes
DE602004004390T2 (de) Verfahren zur Übertragung von Datenpaketen zwischen Knoten in einem Kommunikationsnetz
EP1815648B1 (de) Abschätzung des bandbreitenbedarfs in einem kommunikationsnetz mit zugangskontrollen
EP1244256A2 (de) Verfahren und Vorrichtung zur dynamischen Regelung der Ressourcenaufteilung in einem Kommunikationsnetz

Legal Events

Date Code Title Description
8364 No opposition during term of opposition