DE102009042670A1 - Ein Schema zur Vermeidung eines Deadlocks in einer Multi-Ring-Kopplungsstruktur, mit zusätzlicher Anwendung zur Überlastkontrolle (Congestion Control) - Google Patents

Ein Schema zur Vermeidung eines Deadlocks in einer Multi-Ring-Kopplungsstruktur, mit zusätzlicher Anwendung zur Überlastkontrolle (Congestion Control) Download PDF

Info

Publication number
DE102009042670A1
DE102009042670A1 DE102009042670A DE102009042670A DE102009042670A1 DE 102009042670 A1 DE102009042670 A1 DE 102009042670A1 DE 102009042670 A DE102009042670 A DE 102009042670A DE 102009042670 A DE102009042670 A DE 102009042670A DE 102009042670 A1 DE102009042670 A1 DE 102009042670A1
Authority
DE
Germany
Prior art keywords
message
ring
source
station
destination
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.)
Granted
Application number
DE102009042670A
Other languages
English (en)
Other versions
DE102009042670B4 (de
Inventor
Ching-Tsun Palo Alto Chou
Naveen San Jose Cherukuri
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.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE102009042670A1 publication Critical patent/DE102009042670A1/de
Application granted granted Critical
Publication of DE102009042670B4 publication Critical patent/DE102009042670B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/13Flow control; Congestion control in a LAN segment, e.g. ring or bus
    • 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/43Loop networks with decentralised control with synchronous transmission, e.g. time division multiplex [TDM], slotted rings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4637Interconnected ring systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

Verfahren und System zur Vermeidung eines Multi-Ring-Deadlocks. Das Verfahren beinhaltet das Entfernen einer Nachricht an einer Multi-Ring-Kopplungsstruktur entweder mit einem Ringkonnektor, der mit dem Ziel der Nachricht verbunden ist, oder mittels der Quellstation der Nachricht, sodass die Nachricht nicht mehr als einmal um die unterteilte Ring-Kopplungsstruktur läuft, bevor sie entfernt wird. Das Verfahren kann ebenfalls bei Netzwerken mit einem einzelnen Ring zur Überlastkontrolle angewendet werden.

Description

  • Technischer Bereich
  • Erfindungsgemäße Ausführungsformen betreffen Multi-Ring-Kopplungsstrukturen und gemäß einer Ausführungsform, ein Schema zur Vermeidung eines Deadlocks in einer Multi-Ring-Kopplungsstruktur. Weitere Ausführungsformen beziehen sich auf Überlastkontrolle und Netzwerke, die Multi-Ring-Kopplungsstrukturen aufweisen, die Deadlocks vermeiden.
  • Hintergrund
  • Eine Link-Kopplungsstruktur ermöglicht die Kommunikation zwischen Geräten und Funktionsblöcken. Einige Beispiele von Kopplungsstrukturen sind gemeinsam benutzte Busse und Punkt-zu-Punkt-Links. Eine unterteilte Ring-Kopplungsstruktur besteht aus einer festen Anzahl an Slots, die in einer geschlossenen Schleife angeordnet sind. Jeder Ring-Slot ist entweder leer oder mit einer Nachricht belegt. Der Ring kann sowohl im Uhrzeigersinn als auch gegen den Uhrzeigersinn rotieren. Das heißt, dass eine Nachricht in einem Slot entweder im Uhrzeigersinn oder gegen den Uhrzeigersinn um den Ring laufen kann. Die Rotationsrichtung ist nicht von Belang. Die Grundoperation des Ringes ist einfach: bei jedem Takt wird der Inhalt eines jeden Slots typischerweise durch denjenigen seines vorgeschalteten Nachbarn (z. B. des Nachbarn entgegen des Uhrzeigersinnes, wenn die Ringrotation im Uhrzeigersinn erfolgt) ersetzt. Im Wesentlichen kann der gesamte Ring als ein zyklisches Schieberegister angesehen werden.
  • Typischerweise hat eine Teilmenge der Slots an einem Ring eine oder mehrere ihnen zugeordnete Stationen. Es können jedoch alle der Slots an einem Ring eine oder mehrere zugeordnete Stationen haben. Eine Station kann Nachrichten über den Slot, dem sie zugeordnet ist, senden und empfangen. Um eine Nachricht zu senden, wartet eine Station darauf, dass ihr zugeordneter Slot leer wird, und sobald dies der Fall ist, gibt sie die Nachricht, die sie senden will, in den Slot. Typischerweise trägt jede Nachricht die Kennung der Station für die sie bestimmt ist.
  • Im Allgemeinen überwacht eine Station ihren zugeordneten Slot auf Nachrichten, die an sie gerichtet sind. Sobald eine Nachricht eintrifft, entfernt die Station die Nachricht aus dem Slot, wenn sie die zum Empfang notwendige Ressource besitzt. Ob eine Station in demselben Takt empfangen und senden kann, hängt von Implementierungsdetails ab und ist für die vorliegende Erfindung nicht von Bedeutung.
  • Kurze Beschreibung der Zeichnungen
  • Die Erfindung wird am besten verstanden, indem auf die folgende Beschreibung und begleitenden Zeichnungen Bezug genommen wird, die zur Veranschaulichung der erfindungsgemäßen Ausführungsformen verwendet werden.
  • 1a ist eine schematische Darstellung einer Kopplungsstruktur-Topologie mit zwei Seite-an-Seite liegenden Ringen.
  • 1b ist eine schematische Darstellung einer Kopplungsstruktur-Topologie mit vier Seite-an-Seite liegenden Ringen.
  • 1c ist eine schematische Darstellung einer Kopplungsstruktur-Topologie mit hierarchischen Ringen.
  • Detaillierte Beschreibung
  • Eine erfindungsgemäße Ausführungsform bezieht sich auf Netzwerke mit mehreren unterteilten Ringen. Eine weitere erfindungsgemäße Ausführungsform bezieht sich auf ein Verfahren, sich dem Problem eines Interring-Deadlocks in solchen Netzwerken zu widmen. Eine weitere erfindungsgemäße Ausführungsform bezieht sich auf Überlastkontrolle, auch in einem einzelnen Ring.
  • Bei der folgenden Beschreibung wird eine bestimmte Terminologie verwendet, um erfindungsgemäße Merkmale zu beschreiben. Beispielsweise ist der Begriff „Gerät” oder „Agent” allgemein und kann verwendet werden, um irgendeine elektrische Komponente zu beschreiben, die an einen Link gekoppelt ist. Ein „Link” oder eine „Kopplungsstruktur” ist im Allgemeinen als ein informationstragendes Medium definiert, das einen Kommunikationspfad für Nachrichten, nämlich Informationen, die in einem bestimmten Format abgelegt sind, bereitstellt. Der Link oder die Kopplungsstruktur kann ein drahtgebundenes physikalisches Medium (z. B. ein Bus, ein oder mehrere elektrische Drähte, Trace, Kabel usw.) oder ein drahtloses Medium (z. B. Luft in Kombination mit drahtloser Signaltechnologie) sein.
  • Der Begriff „Netzwerk” kann sich auf irgendeine Kopplungsstrukturgruppe oder ein Kopplungsstruktursystem beziehen. Das heißt, dass ein Netzwerk Geräte beinhalten kann, die in der gleichen Maschine verlinkt sind, oder Geräte in verschiedenen Computer, die verlinkt sind, um Informationen zu teilen. Netzwerke umfassen, sind jedoch nicht beschränkt auf, lokales Netzwerk (LAN), Weitverkehrsnetz (WAN), drahtloses lokales Netzwerk (WLAN) und virtuelles Netzwerk (VLAN).
  • Wie vorstehend beschrieben, hat eine Teilmenge der Slots an einem Ring typischerweise eine oder mehrere ihnen zugeordnete Stationen. Eine Station ist im weitesten Sinne als irgendein Gerät definiert, das Nachrichten senden und empfangen kann. Stationen senden und empfangen Nachrichten typischerweise über den Slot dem sie zugeordnet sind. Um eine Nachricht zu senden, wartet eine Station darauf, dass der ihr zugeordnete Slot leer wird. Sobald der ihr zugeordnete Slot leer ist, legt die Station die Nachricht, die sie senden will, in den Slot. Typischerweise trägt jede Nachricht die Kennung der Station, für die sie bestimmt ist. Im Allgemeinen überwacht eine Station den ihr zugeordneten Slot auf an sie gerichtete Nachrichten. Sobald eine an die Station gerichtete Nachricht ankommt, entfernt die Station die Nachricht aus dem Slot, wenn sie die zum Empfang notwendige Ressource besitzt.
  • Eine unterteilte Ring-Kopplungsstruktur ist im Wesentlichen ein 1-dimensionales Kommunikationsmedium mit einer begrenzten Querschnittsbandbreite. Wenn die Anzahl an Stationen, die miteinander kommunizieren möchten, groß ist, ist es wünschenswert, die Stationen auf mehrere unterteilte Ring-Kopplungsstrukturen aufzuteilen, um die Gesamtkommunikationsbandbreite zu erhöhen. Die mehreren unterteilten Ring-Kopplungsstrukturen können in verschiedenen Topologien miteinander verbunden werden, wovon einige in 1a1c veranschaulicht sind.
  • 1a veranschaulicht eine Kopplungsstruktur-Topologie 10 mit zwei unterteilten Ring-Kopplungsstrukturen 14 in einer Seite-an-Seite-Topologie. Wie veranschaulicht, weist jede der unterteilten Ring-Kopplungsstrukturen 14 36 Slots 12 auf. Die Anzahl der veranschaulichten Slots 12 ist jedoch frei wählbar und nicht auf 36 beschränkt. Das heißt, dass die unterteilten Ring-Kopplungsstrukturen 14 mehr oder weniger Slots 12 aufweisen können. Außerdem ist es nicht notwendig, dass die verschiedenen unterteilten Ring-Kopplungsstrukturen 14 die gleiche Anzahl an Slots 12 aufweisen. Tatsächlich weisen bei einigen Ausführungsformen die verschiedenen unterteilten Ring-Kopplungsstrukturen 14 in einer Topologie eine unterschiedliche Anzahl an Slots 12 auf.
  • Die Doppelpfeile in 1a1c stellen Ringkonnektoren 16 dar, die Nachrichten zwischen den unterteilten Ring-Kopplungsstrukturen 14 verschieben. Die Ringkonnektoren 16 sind typischerweise Bridges, können jedoch jedes Gerät sein, wie beispielsweise Repeater, Router, Hubs oder Switches, die mehrere unterteilte Ringe 14 verbinden können.
  • 1b veranschaulicht eine Kopplungsstruktur-Topologie 20 mit vier unterteilten Ring-Kopplungsstrukturen 14 in einer Seite-an-Seite-Topologie, während 1c eine Kopplungsstruktur-Topologie 30 mit fünf unterteilten Ring-Kopplungsstrukturen 14 in einer hierarchischen Topologie veranschaulicht. Die Slots 12 sind in 1b und 1c nicht gezeigt. In der veranschaulichten hierarchischen Topologie müssen Nachrichten auf der linken Seite von 1c, die für eine Station auf der rechten Seite der Topologie bestimmt sind, den zentralen unterteilten Ring 15 passieren. Viele andere Topologien sind möglich. Die in 1a1c veranschaulichten Topologien dienen lediglich der Veranschaulichung.
  • Multi-Ring-Deadlock
  • Das Problem des Deadlocks in einem System mit Multi-Ring Kopplungsstrukturen kann unter Verwendung der 2-Ring Topologie in 1a veranschaulicht werden. Wenn das System jemals in einen Zustand gerät, bei dem alle Slots 12 der oberen (oder unteren) unterteilten Ring-Kopplungsstruktur 14 mit an die Stationen (nicht gezeigt) in dem unteren (oberen) Ring gerichteten Nachrichten belegt sind und alle Puffer in dem Ringkonnektor 16 voll sind, kommt es zu einem Deadlock, da kein Slot 12 in einem der unterteilten Ring-Kopplungsstrukturen 14 geleert werden kann. Es gibt einige Punkte, die man bei dieser Art Deadlock beachten muss.
  • Erstens kann der Deadlock eintreten, selbst wenn das endgültige Ziel (Zielstation) einer jeden Nachricht die Ressource, sie zu empfangen, besitzt. Dies ist der Fall, da das endgültige Ziel (Zielstation) sich auf einer unterteilten Ring-Kopplungsstruktur 14 befindet, während die Nachricht auf der anderen unterteilten Ring-Kopplungsstruktur 14 gefangen ist. Zweitens ist die genaue Topologie, in der die mehreren unterteilten Ring-Kopplungsstrukturen 14 miteinander verbunden sind, nicht wichtig. Es ist einfach, ähnliche Deadlock-Szenarien für irgendeine der vorstehenden Topologien 20, 30 und andere Multi-Ring-Topologien zu konstruieren. Drittens sind auch die Anzahl und Positionen der Ringkonnektoren 16 und die genauen Puffermechanismen in ihnen nicht wichtig. Sobald alle Slots 12 und Ringkonnektorpuffer (nicht gezeigt) gefüllt sind, kommt es zu einem Deadlock. Viertens ist die Tatsache, dass es mehr als eine unterteilte Ring-Kopplungsstruktur 14 in dem Netzwerk gibt, entscheidend für das Auftreten des Deadlocks. Bei einem einzelnen Ring besucht jede Nachricht ihre Zielstation immer wieder, solange sie auf der unterteilten Ring-Kopplungsstruktur 14 bleibt, womit die Zielstation unendlich viele Möglichkeiten erhält, die Nachricht zu empfangen. Bei zwei oder mehr unterteilten Ring-Kopplungsstrukturen 14 dagegen ist es möglich, dass jede unterteilte Ring-Kopplungsstruktur 14 mit Nachrichten gefüllt wird, deren Zielstationen sich auf anderen unterteilten Ring-Kopplungsstrukturen 14 befinden.
  • Schema zur Vermeidung eines Multi-Ring-Deadlocks
  • Die dem Schema zugrundeliegende Idee ist wie folgt. Vorzugsweise wird jede Nachricht von dem Ring entweder von einem Ziel auf einer unterteilten Ring-Kopplungsstruktur 14 (welche ein Ringkonnektor 16 wie beispielsweise eine Bridge sein kann) oder der Quellstation der Nachricht auf der unterteilten Ring-Kopplungsstruktur 14 entfernt. Somit wird der Slot 12, den die Nachricht belegt, in maximal einer Runde verfügbar. Wenn das Ziel der Nachricht die Nachricht empfangen kann, entfernt das Ziel die Nachricht von der unterteilten Ring-Kopplungsstruktur 14. Wenn beispielsweise somit der Ringkonnektor 16, der zwei unterteilte Ringe verbindet, die Nachricht empfangen kann, entfernt er die Nachricht von der ersten unterteilten Ring-Kopplungsstruktur 14 und gibt sie an die zweite unterteilte Ring-Kopplungsstruktur 14 weiter. Sobald eine Nachricht zu der anderen unterteilten Ring-Kopplungsstruktur 14 überwechselt, erhält sie schließlich das Endziel. Somit ist ein Deadlock kein Problem, sobald die Nachricht sich auf dem Weg zu der unterteilten Ring-Kopplungsstruktur 14 befindet, die das Endziel enthält. Wenn das Ziel die Nachricht nicht empfangen kann, markiert das Ziel (oder genauer gesagt die Bridgelogik, die die beiden unterteilten Ring-Kopplungsstrukturen verbindet), die Nachricht mit einer negativen Kennzeichnung. Das heißt, dass das Zwischenziel (z. B. Ringkonnektor 16 oder Bridge) für die Kennzeichnung verantwortlich ist. Die Nachricht kreist dann als eine negative Quittierung zu der Quellstation zurück.
  • Die Quellstation behält eine Kopie der Nachricht bis sie entweder eine negative oder eine positive Quittierung erhält. Wie bereits angegeben, ist eine negative Quittierung eine markierte Nachricht, die zu ihrer Quelle zurückkreist. Die Quelle entfernt sodann die markierte Nachricht von der unterteilten Ring-Kopplungsstruktur 14, um ihren Slot 12 verfügbar zu machen. Die Quellstation wird einen weiteren Versuch starten, die Nachricht später unter Verwendung der behaltenen Kopie zu senden. Da die gesamte Anzahl an Slots 12 in dem Ring feststeht und bekannt ist, kann die Quellstation die Zeit zählen und weiß genau, wann eine negative Quittierung, wenn überhaupt, ankommen sollte. Wenn in diesem Takt keine negative Quittierung ankommt, sieht die Quellstation dies als eine positive Quittierung an. Für den Fall einer positiven Quittierung, kann die Quellstation ihre Kopie der Nachricht verwerfen.
  • Beispiel
  • Nachstehend findet sich eine beispielhafte Implementierung des vorstehenden Schemas. Bei diesem Beispiel trägt jede Nachricht die folgenden Bits zusätzlich zu ihren Nutzdaten: (1) ein Gültigkeitsbit V, (2) ein negatives Quittierungsbit N und (3) für jede Station k auf der unterteilten Ring-Kopplungsstruktur 14 ein entsprechendes Zielbit D[k]. Im Folgenden ist die Wahl des Setzens der Bits auf 0 oder 1 willkürlich. Das heißt, dass man die entgegengesetzte Konvention oder irgendeine andere Konvention hätte wählen können.
  • Das Signalprotokoll zwischen einer Quellstation s und einer Zielstation t (wobei s und t unterschiedliche Stationen sind und eine davon oder beide eine Bridge sein kann, die diesen Ring mit einem anderen Ring verbindet) kann wie folgt beschrieben werden. Erstens wartet eine Quellstation s auf einen Slot 12 mit V = 0 und N = 0, um eine Nachricht zu senden. Die Nachricht wird gesendet, indem V := 1, D[s] := 1 und D[t] := 1 gesetzt werden. Zweitens wartet eine Zielstation t auf ein Slot mit V = 1 und N = 0 und D[t] = 1, um eine Nachricht zu empfangen. Die Nachricht wird empfangen, indem V := 0, D[s] := 0 und D[t] := 0 gesetzt werden. Drittens, wenn Zielstation t die Nachricht nicht empfangen kann, zeigt sie eine negative Quittierung an, indem V := 0, N := 1 und D[t] := 0 gesetzt werden. Viertens zählt Quellstation s die Zeit und führt die folgenden Überprüfungen in dem Takt durch, in welchem entweder eine positive oder negative Quittierung planmäßig eintreffen soll.
  • Wenn V = 0 und N = 1 und D[s] = 1 ist, dann weiß Quellstation s, dass eine negative Quittierung eingetroffen ist, die sie von dem unterteilten Kopplungsstrukturring 14 entfernt, indem N := 0, D[s] := 0 gesetzt wird. Bei einigen Ausführungsformen kann sie es auch vorziehen, den gleichen Slot 12 zu verwenden, um eine andere Nachricht zu senden, wenn die Randbedingungen der Implementierung dies erlauben. Wenn jedoch entweder D[s] = 0 oder (V = 1 und N = 0) ist, dann weiß Quellstation s, dass eine positive Quittierung eingetroffen ist. Bei diesem Szenario müssen zwei Unterfälle berücksichtigt werden. Erstens, wenn D[s] = 0 ist, ist dies eine rein positive Quittierung und Quellstation s muss nichts anderes tun, als die Kopie der Nachricht, die quittiert ist, zu verwerfen. Zweitens, wenn D[s] = 1 aber (V = 1 und N = 0) ist, ist dies sowohl eine positive Quittierung für die alte, von Quellstation s gesendete Nachricht, als auch für die Ankunft einer neuen Nachricht, die an Quellstation s von einer Station u, die die gleiche sein kann wie t oder nicht, gerichtet ist. Wenn Quellstation s die neue Nachricht empfangen kann, empfängt Quellstation s die Nachricht indem V := 0, D[s] := 0 und D[u] := 0 gesetzt wird. Wenn Quellstation s die neue Nachricht nicht empfangen kann, dann quittiert Quellstation s die neue Nachricht negativ, indem V := 0, N := 1 und D[s] := 0 gesetzt wird.
  • Dieses Protokoll weist mehrere nützliche Merkmale auf. Erstens belegt eine Nachricht einen Slot 12 immer maximal einen Zyklus um die unterteilte Ring-Kopplungsstruktur 14. Zweitens, sobald eine Nachricht erfolgreich von ihrem Ziel empfangen wurde, wird ihr Slot 12 sofort wiederverwendbar durch andere Nachrichten; nur eine negative Quittierung muss zur Quellstation der Nachricht zurückkreisen. Drittens muss jede Station k typischerweise nur die Bits V, N, und D[k] überwachen und muss nicht jedes D[j], wobei j ≠ k ist, überwachen. Viertens muss jede Station k maximal drei aus V, N, D[k] treiben (das Bit auf 0 oder 1 setzen) und ein D[j], wobei j ≠ k ist. Fünftens werden keine zusätzlichen Bits im Nutzdatenanteil benötigt, um die Quell- und Zielstationen einer Nachricht zu identifizieren. Optional kann es jedoch eine spezifische Implementierung vorziehen, zusätzliche Bits einzuschließen, um die Quell- und Zielstationen zu identifizieren, wenn dies von Nutzen ist.
  • Anwendung zur Überlastkontrolle an einer einzelnen unterteilten Ring-Kopplungsstruktur
  • Indem die Belegung des Slots 12 mit einer Nachricht auf maximal einen Zyklus um die unterteilte Ring-Kopplungsstruktur 14 begrenzt wird, kann das vorstehende Schema auch bei Überlastkontrolle angewandt werden. Eine Station kann die Belegungsrate der Slots 12 der unterteilten Ring-Kopplungsstruktur 14 überwachen, da die Slots an ihr vorbeirotieren, und sie kann diese Informationen nutzen, um zu kontrollieren, wie schnell negativ quittierte Nachrichten erneut an die unterteilte Ring-Kopplungsstruktur 14 gesendet werden sollen. Ist die Belegungsrate hoch, können die Stationen länger warten, bevor negativ quittierte Nachrichten erneut gesendet werden und somit können sie die Rate verringern, bei der Nachrichten in die unterteilte Ring-Kopplungsstruktur 14 eingespeist werden. Somit kann die Tatsache, dass man eine Nachricht dazu bringen kann, einen Slot 12 auf der unterteilten Ring-Kopplungsstruktur 14 für maximal einen Zyklus um den Ring zu belegen auch von Vorteil bei der Verringerung der Überlast an einer einzelnen unterteilten Ring-Kopplungsstruktur 14 sein.
  • Eine einzelne unterteilte Ring-Kopplungsstruktur braucht keine zur Deadlockvermeidung verwendeten Bits V und N, da ein Deadlock für einen einzelnen Ring keine Rolle spielt. Hat man diese Bits jedoch, wird eine bessere Reaktion auf Überlast ermöglicht. Als Beispiel kann jede Station vorbeikommende V-Bits überwachen, um die Ringaktivität zu überwachen. Wenn beispielsweise Bit V in 80% der Zeit beobachtet wird, kann eine Station Traffic mit einer langsameren Rate als normal einspeisen oder überhaupt nichts einspeisen bis die Ringauslastung sinkt. Wenn alle Stationen diesem Mechanismus folgen, ist Überlast von Natur aus selbstgeregelt und der Ring-Traffic sinkt wieder unterhalb eines wünschenswerten Schwellwertes (egal um welchen numerischen Wert es sich handelt, wie durch das System definiert). Fehlt ein Überlastkontrollmechanismus, speisen Agenten Traffic wann immer möglich in das Netzwerk ein, was zu einer weiteren Überlastung eines bereits überlasteten Netzwerkes führt. Eine Erholung von dieser Überlast, wenn die Aktivität hoch ist, dauert sehr lange. Die Folge von Überlast ist eine nicht lineare Erhöhung der Latenzzeit (oder der für die auftretende Kommunikation benötigten Zeit). Somit ist es im Allgemeinen besser, einen Betrieb ohne Überlast sicherzustellen, auch wenn dies bedeutet, dass Nachrichten von Stationen in den Ring vorübergehend verlangsamt oder unterbrochen werden.
  • Obwohl die Erfindung in Hinblick auf mehrere erfindungsgemäße Ausführungsformen beschrieben wurde, werden Fachleute erkennen, dass die Erfindung nicht auf die erfindungsgemäßen Ausführungsformen beschränkt ist, sondern mit Modifikationen und Änderungen innerhalb des Wesens und Rahmens der beigefügten Ansprüche ausgeübt werden kann. Die Beschreibung ist somit als illustrative Darstellung, jedoch in keiner Weise eingrenzend anzusehen.

Claims (31)

  1. Netzwerk, das Folgendes umfasst: mindestens eine Quellstation; mindestens eine Zielstation; mindestens eine unterteilte Quell-Ring-Kopplungsstruktur, die mehrere Slots umfasst, wobei die Quellstation operabel mit der unterteilten Quell-Ring-Kopplungsstruktur verbunden ist; mindestens eine unterteilte Ring-Kopplungsstruktur, die mehrere Slots umfasst, wobei die Zielstation operabel mit dem unterteilten Zielring verbunden ist; und mindestens einen Ringkonnektor, der die unterteilte Quell-Ring-Kopplungsstruktur und die unterteilte Ziel-Ring-Kopplungsstruktur verbindet, wobei das Netzwerk geeignet ist, eine Nachricht mit einem Ziel durch die Quellstation in einen Slot auf der unterteilten Quell-Ring-Kopplungsstruktur zu geben, wobei die Nachricht dazu geeignet ist, die unterteilte Quell-Ring-Kopplungsstruktur zu umlaufen, wobei das Netzwerk geeignet ist, die Nachricht von der unterteilten Quell-Ring-Kopplungsstruktur entweder mittels einer Zielstation, eines Ringkonnektors oder mittels der Quellstation zu entfernen, sodass die Nachricht nicht mehr als einmal um die unterteilte Quell-Ring-Kopplungsstruktur läuft, bevor sie entfernt wird.
  2. Netzwerk gemäß Anspruch 1, wobei das Ziel ein mit einer Zielstation verbundener Ringkonnektor ist, der operabel mit dem unterteilten Zielring verbunden ist.
  3. Netzwerk gemäß Anspruch 1, wobei die unterteilte Quell-Ring-Kopplungsstruktur geeignet ist, als ein zyklisches Schieberegister zu arbeiten.
  4. Netzwerk gemäß Anspruch 1, wobei die Nachricht eine Kennung einer Zielstation oder eines Ringkonnektors trägt.
  5. Netzwerk gemäß Anspruch 1, wobei die Quell- und/oder Zielstation den Slot, dem sie zugeordnet ist, auf an sie gerichtete Nachrichten überwacht.
  6. Netzwerk gemäß Anspruch 1, wobei die Zielstation die Nachricht von einem Slot entfernt, wenn die Station zum Empfang der Nachricht ausreichend Ressourcen besitzt.
  7. Netzwerk gemäß Anspruch 1, wobei der Ringkonnektor eine Bridge ist.
  8. Netzwerk gemäß Anspruch 1, wobei der Ringkonnektor einen Puffer beinhaltet, der in der Lage ist, die Nachricht zu halten.
  9. Netzwerk gemäß Anspruch 1, wobei die Quellstation eine Kopie der Nachricht behält, bis die Quellstation entweder eine negative oder eine positive Quittierung erhält.
  10. Verfahren zur Vermeidung eines Multi-Ring Deadlocks, der Folgendes umfasst: das Einfügen einer Nachricht von einer Quellstation s in einen Slot einer unterteilten Quell-Ring-Kopplungsstruktur, wobei die Nachricht ein endgültiges Ziel t auf einer unterteilten Ziel-Ring-Kopplungsstruktur aufweist, wobei die unterteilte Quell-Ring-Kopplungsstruktur und die unterteilte Ziel-Ring-Kopplungsstruktur unterschiedliche Kopplungsstrukturen sind; es der Nachricht zu ermöglichen, um die unterteilte Quell-Ring-Kopplungsstruktur zu laufen; und das Entfernen der Nachricht von der unterteilten Quell-Ring-Kopplungsstruktur entweder mit einem mit dem Ziel verbundenen Ringkonnektor oder mittels der Quellstation, sodass die Nachricht nicht mehr als einmal um die unterteilte Quell-Ring-Kopplungsstruktur läuft, bevor sie entfernt wird.
  11. Verfahren gemäß Anspruch 10, wobei der Ringkonnektor einen Puffer beinhaltet, der in der Lage ist, die Nachricht zu halten.
  12. Verfahren gemäß Anspruch 10, das weiter das Behalten einer Kopie der Nachricht auf der Quellstation umfasst, bis die Quellstation entweder eine negative oder eine positive Quittierung erhält.
  13. Verfahren gemäß Anspruch 10, wobei die Nachricht pro Station oder Ringkonnektor k auf dem Ring ein Gültigkeitsbit V, ein negatives Quittierungsbit N und ein Zielbit D[k] umfasst.
  14. Verfahren gemäß Anspruch 13, wobei die Nachricht mehrere Zielbits D beinhaltet, wobei jedes der mehreren Zielbits D einer Station entspricht, die operabel der unterteilten Quell-Ring-Kopplungsstruktur zugeordnet ist.
  15. Verfahren gemäß Anspruch 13, wobei eine Voraussetzung für den Quellslot zum Senden der Nachricht V = 0 und N = 0 ist.
  16. Verfahren gemäß Anspruch 15, weiter umfassend, dass V := 1, D[s] := 1 und D[t] := 1 gesetzt werden, wenn eine Nachricht gesendet wird, wobei D[s] das Zielbit der Quellstation und D[t] das Zielbit der Zielstation ist.
  17. Verfahren gemäß Anspruch 13, wobei das Ziel eine Nachricht empfängt, wenn V = 1 und N = 0 und D[t] = 1, wobei D[t] das Zielbit des endgültigen Ziels ist.
  18. Verfahren gemäß Anspruch 17, das weiter umfasst, dass V := 0, D[s] := 0 und D[t] := 0 gesetzt ist, wenn eine Nachricht empfangen wird.
  19. Verfahren gemäß Anspruch 13, das weiter umfasst, dass eine negative Quittierung gesetzt wird, indem V := 0 und N := 1 und D[s] := 1 gesetzt werden, wenn das Ziel die Nachricht nicht empfangen kann.
  20. Verfahren gemäß Anspruch 13, das weiter umfasst, dass die Quellstation die Zeit zählt und Überprüfungen in dem Takt durchführt, wenn entweder eine positive oder negative Quittierung planmäßig eintreffen soll.
  21. Verfahren gemäß Anspruch 20, das weiter umfasst, dass die Nachricht aus dem Ring entfernt wird, indem N := 0 und D[s] := 0 gesetzt werden, wenn die Nachricht mit V = 0 und N = 1 und D[s] = 1 ankommt.
  22. Verfahren gemäß Anspruch 21, wobei die Quellstation erkennt, dass D[s] = 1 eine negative Quittierung anzeigt und dass die Nachricht zu einem späteren Zeitpunkt erneut gesendet werden muss.
  23. Verfahren gemäß Anspruch 21, das weiter umfasst, dass der Quellstation ermöglicht wird, eine andere Nachricht zu senden, wenn die Quellstation eine andere Nachricht zu senden hat.
  24. Verfahren gemäß Anspruch 20, das weiter das Verwerfen der Nachricht umfasst, wenn die Nachricht mit D[s] = 0 ankommt.
  25. Verfahren gemäß Anspruch 24, wobei die Quellstation erkennt, dass D[s] = 0 eine positive Quittierung anzeigt und dass die ursprüngliche Nachricht erfolgreich ausgeliefert wurde.
  26. Verfahren gemäß Anspruch 20, wobei wenn D[s] = 1 und V = 1 und N = 0 und der Quellslot eine neue Nachricht empfangen kann V := 0, D[s] := 0 und D[u] := 0 gesetzt werden, wenn die neue Nachricht empfangen wurde, wobei D[u] das Zielbit einer Zieldestination u ist, die die gleiche sein kann wie Zieldestination t oder nicht.
  27. Verfahren gemäß Anspruch 20, wobei wenn D[s] = 1 und V = 1 und N = 0 und der Quellslot keine neue Nachricht empfangen kann, eine negative Quittierung gesetzt wird, indem V := 0 und N := 1 und D[s] := 0 gesetzt werden.
  28. Ein Verfahren zur Überlastkontrolle auf einem Netzwerk mit einer unterteilten Ring-Kopplungsstruktur, das das Begrenzen der Slotbelegung durch eine Nachricht auf maximal einen Zyklus um die unterteilte Ring-Kopplungsstruktur umfasst.
  29. Verfahren nach Anspruch 28, das weiter eine Quellstation in dem Netzwerk umfasst, die eine Belegungsrate mehrerer Slots überwacht, beinhaltend die unterteilte Ring-Kopplungsstruktur, da die Slots vorbeirotieren, und das Verwenden dieser Informationen zur Kontrolle, wie schnell negativ quittierte Nachrichten erneut gesendet werden sollen.
  30. Verfahren gemäß Anspruch 39, das das Verlängern einer Wartezeit umfasst, bevor negativ quittierte Nachrichten erneut gesendet werden.
  31. Verfahren gemäß Anspruch 30, wobei das Verlängern der Wartezeit die Überlast an der unterteilten Ring-Kopplungsstruktur verringert.
DE102009042670.1A 2008-09-25 2009-09-23 Ein Schema zur Vermeidung eines Deadlocks in einer Multi-Ring-Kopplungsstruktur, mit zusätzlicher Anwendung zur Überlastkontrolle (Congestion Control) Active DE102009042670B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/238,194 2008-09-25
US12/238,194 US8693319B2 (en) 2008-09-25 2008-09-25 Scheme for avoiding deadlock in multi-ring interconnect, with additional application to congestion control

Publications (2)

Publication Number Publication Date
DE102009042670A1 true DE102009042670A1 (de) 2010-04-29
DE102009042670B4 DE102009042670B4 (de) 2015-10-22

Family

ID=42037574

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102009042670.1A Active DE102009042670B4 (de) 2008-09-25 2009-09-23 Ein Schema zur Vermeidung eines Deadlocks in einer Multi-Ring-Kopplungsstruktur, mit zusätzlicher Anwendung zur Überlastkontrolle (Congestion Control)

Country Status (3)

Country Link
US (2) US8693319B2 (de)
CN (2) CN101686169B (de)
DE (1) DE102009042670B4 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8706936B2 (en) * 2011-11-14 2014-04-22 Arm Limited Integrated circuit having a bus network, and method for the integrated circuit
US10073779B2 (en) 2012-12-28 2018-09-11 Intel Corporation Processors having virtually clustered cores and cache slices
US9606959B1 (en) * 2015-11-12 2017-03-28 International Business Machines Corporation Indicating a sending buffer and receiving buffer in a message to use to validate the message in the receiving buffer
CN108400880B (zh) 2017-02-07 2020-11-03 华为技术有限公司 片上网络、数据传输方法和第一交换节点
WO2022246761A1 (zh) * 2021-05-27 2022-12-01 华为技术有限公司 死锁解除的方法和片上系统
CN113691434B (zh) * 2021-08-31 2022-09-20 深圳云天励飞技术股份有限公司 数据传输系统、方法、电子设备及存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8417910D0 (en) * 1984-07-13 1984-08-15 British Telecomm Communications network
US5107490A (en) * 1985-04-24 1992-04-21 Artel Communications Corporation Ring-type communication network
US7558557B1 (en) * 1991-11-12 2009-07-07 Broadcom Corporation Low-power messaging in a network supporting roaming terminals
AU2656892A (en) * 1991-10-04 1993-05-03 Wellfleet Communications, Inc. Method and apparatus for concurrent packet bus
US5243596A (en) * 1992-03-18 1993-09-07 Fischer & Porter Company Network architecture suitable for multicasting and resource locking
US5459725A (en) * 1994-03-22 1995-10-17 International Business Machines Corporation Reliable multicasting over spanning trees in packet communications networks
US5748900A (en) * 1996-03-13 1998-05-05 Cray Research, Inc. Adaptive congestion control mechanism for modular computer networks
US6091705A (en) * 1996-12-20 2000-07-18 Sebring Systems, Inc. Method and apparatus for a fault tolerant, software transparent and high data integrity extension to a backplane bus or interconnect
US6331985B1 (en) * 1997-08-21 2001-12-18 Adc Telecommunications, Inc. Telecommunication network with variable address learning, switching and routing
US6731648B1 (en) * 1997-09-17 2004-05-04 British Telecommunications Plc Method and apparatus for transmitting a return signal in a loop network
US6922390B1 (en) * 1999-06-15 2005-07-26 Nortel Networks Limited Method and apparatus for forecasting and controlling congestion in a data transport network
US6912608B2 (en) * 2001-04-27 2005-06-28 Pts Corporation Methods and apparatus for pipelined bus
US7174374B2 (en) * 2002-05-13 2007-02-06 Industrial Technology Research Institute Multi-priority media access control method for multi-channel slotted ring networks
US7525989B2 (en) * 2002-12-16 2009-04-28 Intel Corporation System, method and device for time slot status messaging among SONET nodes
US7573883B2 (en) * 2004-03-05 2009-08-11 Telefonaktiebolaget Lm Ericsson (Publ) System, method and operator for increasing the active window size in a NAK-based window protocol
US7733898B2 (en) * 2004-08-25 2010-06-08 Intel Corporation Method and apparatus for preventing starvation in a slotted-ring network
WO2006104285A1 (ja) * 2005-03-31 2006-10-05 Nec Corporation リングネットワークシステム、障害回復方法、障害検出方法、ノード、およびノード用プログラム
US7760669B2 (en) * 2006-06-27 2010-07-20 International Business Machines Corporation Method and apparatus for preventing starvation in a slotted ring data communications network
JP4838677B2 (ja) * 2006-09-20 2011-12-14 富士通株式会社 伝送装置

Also Published As

Publication number Publication date
US8693319B2 (en) 2014-04-08
US20100074106A1 (en) 2010-03-25
CN101686169A (zh) 2010-03-31
CN103560939A (zh) 2014-02-05
CN101686169B (zh) 2013-11-20
DE102009042670B4 (de) 2015-10-22
US20140112145A1 (en) 2014-04-24

Similar Documents

Publication Publication Date Title
DE60203221T2 (de) Verwendung von mehreren virtuellen Kanälen in Netzwerkgeräten
DE102005014727B4 (de) Hardwarekoordination von Power Management-Aktivitäten
DE102009042670B4 (de) Ein Schema zur Vermeidung eines Deadlocks in einer Multi-Ring-Kopplungsstruktur, mit zusätzlicher Anwendung zur Überlastkontrolle (Congestion Control)
DE69534334T2 (de) Stapelübertragungssystem und -verfahren für graphische Hochleistungsdarstellung von Netztopologie
DE60309414T2 (de) Metro-Ethernet Netzwerksystem mit einer selektiven aufwärtigen Pausenachrichtenübermittlung
DE69911711T2 (de) Vorrichtung und Verfahren zur Verwaltung von Bandbreite für eine paketbasierte Verbindung
EP0710904B1 (de) Backplane-Steuerung für Spinnereimaschine
DE60126934T2 (de) Vermittlungssystem
EP1868109A1 (de) Ereignissignalisierung zwischen Peripheriemodulen und einer Verarbeitungseinheit
DE60110934T2 (de) Modularer und skalierbarer switch und verfahren zum verteilen schneller ethernet-datenrahmen
DE69813657T2 (de) Architektur eines virtuellen Netzes
EP3017570B1 (de) Steuerungsvorrichtung, netzwerkknoten und verfahren zum austausch von daten über ein datennetz
DE102020105776A1 (de) Kostengünstige Überlastungsisolierung für verlustfreies Ethernet
DE102007017835A1 (de) Paketvermittlungsvorrichtung und lokales Kommunikationsnetz mit einer solchen Paketvermittlungsvorrichtung
EP3881499A1 (de) Fehlerrahmenabschirmeinheit für eine teilnehmerstation eines seriellen bussystems und verfahren zur kommunikation in einem seriellen bussystem
DE69534171T2 (de) Verfahren und Vorrichtung für verbesserten Durchfluss in einem Vielfachknoten-Kommunikationssystem mit einem gemeinsamen Betriebsmittel
EP2119124B1 (de) Verfahren zum betrieb einer netzwerkkomponente in einem automatisierungssystem, automatisierungssystem mit einer nach dem verfahren betriebbaren netzwerkkomponente, verfahren zur datenübermittlung in einem automatisierungssystem mit kommunikationsteilnehmern von denen zumindest einzelne nach dem verfahren zum betrieb einer netzwerkkomponente als netzwerkkomponente betrieben sind sowie korrespondierendes computerprogramm und computerprogrammprodukt
DE19715262A1 (de) Lokales Netzwerk zur Rekonfigurierung bei Leitungsbrüchen oder Knotenausfall
DE2628753A1 (de) Digitaldaten-uebertragungsnetz
DE60305560T2 (de) Eingebettetes System für die Überlastregelung von Rundfunkverkehr in einem Kommunikationsnetzwerk
AT410491B (de) Kommunikationsverfahren zur realisierung von ereigniskanälen in einem zeitgesteuerten kommunikationssystem
DE112020002165T5 (de) EINE SYSTEMKOMMUNIKATIONSTECHNIK ÜBER PCIe- (PERIPHERAL COMPONENT INTERCONNECTEXPRESS) VERBINDUNG
DE112012003005T5 (de) Netzwerk für die Übertragung von Informationen und entsprechender Netzwerkknoten
DE60202124T2 (de) Verfahren und Netzwerkelement zum sicheren Transport von Ethernet-Rahmen über ein SDH/SONET Transport-Netzwerk
DE69532069T2 (de) Schnittstellenvorrichtung zwischen Haus-Netzwerkübertragungsmedien

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R130 Divisional application to

Ref document number: 102009061759

Country of ref document: DE

R020 Patent grant now final