DE69027362T2 - Fairnessalgorithmus für Vollduplex-Puffereinfügungsring - Google Patents
Fairnessalgorithmus für Vollduplex-PuffereinfügungsringInfo
- Publication number
- DE69027362T2 DE69027362T2 DE69027362T DE69027362T DE69027362T2 DE 69027362 T2 DE69027362 T2 DE 69027362T2 DE 69027362 T DE69027362 T DE 69027362T DE 69027362 T DE69027362 T DE 69027362T DE 69027362 T2 DE69027362 T2 DE 69027362T2
- Authority
- DE
- Germany
- Prior art keywords
- node
- packets
- ring
- packet
- control message
- 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
Links
- 239000000872 buffer Substances 0.000 title claims description 90
- 238000003780 insertion Methods 0.000 title claims description 39
- 230000037431 insertion Effects 0.000 title claims description 39
- 230000005540 biological transmission Effects 0.000 claims description 49
- 238000000034 method Methods 0.000 claims description 31
- 230000001105 regulatory effect Effects 0.000 claims description 6
- 230000002457 bidirectional effect Effects 0.000 claims description 2
- 230000000875 corresponding effect Effects 0.000 description 14
- 102100040149 Adenylyl-sulfate kinase Human genes 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 4
- 238000012026 site acceptance test Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 3
- XDDAORKBJWWYJS-UHFFFAOYSA-N glyphosate Chemical compound OC(=O)CNCP(O)(O)=O XDDAORKBJWWYJS-UHFFFAOYSA-N 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
- H04L12/427—Loop networks with decentralised control
- H04L12/433—Loop networks with decentralised control with asynchronous transmission, e.g. token ring, register insertion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Description
- Diese Erfindung bezieht sich im allgemeinen auf ein Verfahren und eine Vorrichtung zum Übertragen von Datenpaketen auf einem Datenübertragungsring. Spezieller sieht diese Erfindung das Weiterleiten einer Steuernachricht auf dem Ring vor, wobei die Nachricht jeden Knoten des Rings darüber informiert, wie viele Pakete er in einem gegebenen Zeitintervall übertragen kann, und das Halten der Steuernachricht durch jeden Knoten des Rings, bis er eine entsprechende minimale Anzahl von Paketen übertragen hat, ohne mehr als diejenige Anzahl von Paketen, die ihm zu übertragen erlaubt war, zu übertragen.
- Viele vorherige Versuche, die Komplexität von lokalen Netzwerken (LAN) zu verringern, konzentrieren sich auf einfache topologische Strukturen in der Form eines Busses, Sterns oder Rings. Um die Architektur weiter zu vereinfachen, ermöglichen die jüngsten lokalen und gebietsweiten Netzwerke keinen gleichzeitigen Zugriff auf das LAN durch mehr als einen Benutzer oder keine räumliche Weiterverwendung [1, 2, 3, 4]. Bei einigen der LAN-Netz- Werke werden die obigen Einschränkungen durch die passive Eigenschaft der Übertagungsmedium (z.B. Etherne, passiver optischer Stern) verursacht. Andere Ausführungen wie die Zweifach-Token- Ringnetzwerke (FDDI [1, 2]) oder Zweifachbusnetzwerke sind angepaßt worden, um Einfachheit und Fairneß zui erreichen. Jedoch liegen mit diesen Lösungen verbundene Probleme vor. Erstens gibt es keine räumliche Weiterverwendung auf deisen Netzwerken und folglich kann nur ein Knoten neue Daten in das Netzwerk hinein gleichzeitig übertragen. Der Systemdurchsatz ist deshalb geringer als die Bandbreite einer einzelnen Verbindung. Zweitens verringert sich der Wirkungsgrad mit höherer Bandbreite oder größerer physikalischer Größe.
- Der Token-Ring ist eine bekannte LAN-Struktur, die auf der Weitergabe eines Tokens (Erlaubnis zum Übertragen) zwischen Knoten des Rings in einer Umlaufreihenfolge basiert. Das Token selbst ist an den Anfang oder das Ende einer übertragenen Nachricht angehängt. Der Token-Ring hängt in hohen Maße von der Zuverlässigkeit der Token-Technik ab., und Verlust oder Verdopplung des Tokens führt zu der Notwendigkeit nach vollständiger Neuinitialisierung des Netzwerks.
- Eine neue Lösung für ein Hochgeschwindigkeits-LAN ist das QPSX oder DQDB, das eine geschlitzte Zweifachbusstruktur mit zentralisierter Steuerung aufweist 3. Bei dieser Busstruktur basiert eine Fairneß- und Zugriffstechnik darauf, daß veranlaßt wird, daß Stationen leere Schlitze anfordern und daß diese Anforderungen gezählt werden.
- Das japanische Patent 60-180353 offenbart ein Token-Bussteuerungssystem, in dem das Token in die entgegengesetzte Richtung der Datenübertragung umläuft. Dieses Patent sieht jedoch keine räumliche Weiterverwendung vor und, ermöglicht es nur einem Knoten, zu einem bestimmten Zeitpunkt zu senden.
- Das japanische Patent 59-91757 und die US-Patentschrift 4 491 946 offenbaren beide die Verwendung einer Zeitsteuerung, um den Verlust eines Tokens festzustellen, wobei veranlaßt wird, das Token bei einem Ausfall desjenigen Knoten, von dem ursprünglich angenommen wurde, daß er das Token empfangen hat, an einen anderen Knoten weiterzugeben. Keines der obigen zwei Patente jedoch sieht räumliche Weiterverwendung vor oder ermöglicht es, daß mehrere Benutzer gleichzeitig senden.
- Die US-Patentschrift 4 566 098 offenbart ein Ringübertragungs netzwerk, das eine verbesserte Fehlerkorrekturtechnik aufweist. Diese Netzwerk verwendet ein umschaltsignal, wobei der Wechsel des signais von einem Rahmen zu einem anderen anzeigt, daß der Ring belegt ist. Dieses Patent lehrt jedoch keine gleichzeitige Übertragung von mehreren Knoten.
- Die US-Pätentschrift 4 663 748 offenbart ein Übertragungssystem, das eine doppelte Ringtopologie mit einem Token-Weitergabeschema verwendet. Dieses System arbeitet unter einem genauen Zeitsteuerschema, indem ein Systemzyklus mit im wesentlichen fester Periode eingestellt wird, und der erste Umlauf des Tokens um den Ring während des Systemzyklusses wird verwendet, um die Übertragung der Daten mit höchster Priorität zu beginnen, wobei nachfolgende Umläufe des Token die Übertragung von Daten mit zunehmend niedrigeren Prioritäten beginnen. Bei diesem System ist nur der Knoten, der gegenwärtig das Token hält, berechtigt, Daten zu übertragen, und es liegt keine Möglichkeit einer gleichzeitigen Übertragung durch mehrere Knoten vor.
- Die US-Patentschrift 4 745 598 offenbart einen dynamischen logischen Ring in einem LAN mit Token-Weitergabe. Dieser Ring weist eine Netzwerksteuerzentrale auf, die Informationssignale des ersten und des zweiten Übertragungskanals sendet und empfängt. Die Netzwerksteuerzentrale fordert vorausschauend Zugang zum Ring an und löst eine Kollision zwischen ihnen über den ersten Übertragungskanal, während die Netzwerksteuerzentrale mit aktiven Stationen über den zweiten Kanal kommuniziert, um einen neuen Teilnehmer dem Ring hinzuzufügen. Diese Patent ermöglicht jedoch nur einem Benutzer, auf den Ring gleichzeitig zuzugreifen.
- Die US-Patentschrift 4 482 999 offenbart einen unidirektionalen Übertragungsring, wobei der Zugriff auf den Ring einer Station jeweils gewährt wird, indem eine Token-Anzeige umläuft. Das in diesem Patent offenbarte Verfahren sorgt dafür, daß an autorisierte Stationen eine Übertragungsmöglichkeit für synchrone oder schaltungsgetaktete Daten in periodischen Zeitintervallen garantiert wird.
- Zugriffssteuerung mit Puffereinfügung [5, 6] ist für asynchrone Übertragung von Paketen mit variabler Größe bestimmt. Bei Puffereinfügung kann ein Knoten ein Paket übertragen, solange sein Einfügungspuffer leer ist, d.h. der Ringverkehr weist eine Vorzugspriorität über Knotenverkehr, der auf dem Ring zu übertragen ist, auf. Das Puffereinfügungsschema kann jedoch zum Blockieren führen, da ein vorgeschalteter Knoten fortlaufend übertragen kann und einen nachgeschalteten Knoten blockieren kann. Keine der existierenden Abwandlungen des Puffereinfügungsringprotokolls sieht vollständige Fairneß vor. Eine Technik darüber, wie ein gewisses Maß von Fairneß in einem Puffer- oder Registereinfügungsring zu erhalten ist, ist in einem IEEE-Artikel [7] von Mission et äl. beschrieben. Dieser Artikel beschreibt einen synchronen und geschlitzten Ring, wobei Fairneß und Steuerung des Rings durch eine Monitorstation erreicht werden. Die darin beschriebene Lösung ist jedoch zentralisiert und damit einer verteilten entgegengesetzt.
- Vorliegende Protokolle wie der Token-Ring (IEEE Standard 802.5), Ethernet (JEEE Standard 802.3), FDDI (American National Standard, ASC X3T9.5), DQDB oder QPSX (IEEE Standard 802.6) sehen keine räumliche Bandbreitenweiterverwendung vor, und folglich würde die Kapazität von Systemen, die diese Protokolle benutzen, durch die Kapazität einer einzigen Verbindung begrenzt werden.
- 1. W. E. Burr, "The FDDI Optical Data Link", IEEE Communication Magazine, Band 24, Nr. 5, Mai, 1986, S. 18 bis 23.
- 2. F.E. Ross, "FDDI - A tutorial", IEEE Communication Magazine, Band 24, Nr. 5, Mai 1986, S. 10 bis 17.
- 3. J. L. Hullet und P. Evans, "New Proposal Extends the Reach of Metro Area Nets", Daßta Communications, Februar, 1988, S. 139 bis 147.
- 4. A. Hopper und R. M. Needham, "The Cambridge Fast Ring Networking System", IEEE Trans. on Computers, Band 37, Nr. 10, Oktober 1988, S. 1214 bis 1223.
- 5. M. T. Liu und D. M. Rouse, "A Study of Ring Networks", Proc. IFIP WG 6.4, S. 1 bis 39.
- 6. D. E. Huber, W. Steinlin und P. J. Wild, "SILK: An Implementation of a Buffer Insertion Ring", IEEE J. on Selected Areas in Communications, Band SAC-1, Nr. 5, November 1983, S. 766 bis 744.
- 7. M. Mission, J-J. Mercier und A. El Oussoul, "A Fair Management of Communication for a Ring LAN", 1988 Local Computer Network Conference, S. 395 bis 404.
- Die vorliegende Erfindung gibt ein Verfahren und eine Vorrichtung zum Übertragen von Paketen auf einem Datenübertragungsring an, um die oben erwähnten Probleme zu lösen.
- Es ist folglich eine Aufgabe dieser Erfindung, für Fairneß auf einem Puffereinfügungsring zu sorgen, so daß belegte Knoten auf dem Ring dieselbe Menge von Paketen in einem gegebenen Zeitintervall übertragen werden.
- Es ist auch eine Aufgabe dieser Erfindung, einen Datenübertragungsring anzugeben, der verklemmungsfrei ist.
- Es ist auch eine Aufgabe dieser Erfindung, einen Puffereinfügungsring anzugeben, der mit mehreren Steuernachrichten (SATs) arbeiten wird.
- Diese und andere Aufgaben werden grundsätzlich in vorteilhafter Weise durch Anwendung der in den unabhängigen Ansprüchen festgelegten Merkmal gelöst. Weiterentwicklungen ,sind in den entsprechenden Unteransprüchen- zu finden.
- Demgemäß gibt die vorliegende Erfindung eine Verfahrensaufstellung zum Steuern der Übertragung von Paketen von den Knoten auf einem Datenübertragungsring an.. Diese Erfindung sieht das Weiterleiten einer momentanen Steuernachricht auf dem Ring vor, um jedem der Knoten auf dem Ring eine erste entsprechende maximale Anzahl von Paketen anzuzeigen, deren Übertragung in einem entsprechenden Zeitintervall jedem Knoten erlaubt ist. Diese Erfindung sieht auch das Halten einer Steuernachricht durch jeden Knoten vor, bis der die Steuernachricht haltende Knoten zufriedengestellt ist. Zufriedenstellung bedeutet, daß der Knoten wenigstens eine zweite (gleich der ersten oder niedriger als die erste) entsprechende Anzahl von Paketen oder alle Pakete, die er übertragen muß, wenn die Anzahl von Paketen, die er übertragen muß, geringer als die zweite entsprechende Anzahl ist, übertragen hat. Spezieller reicht das obige Zeitintervall von dem Zeitpunkt, von dem an ein Knoten eine momentane Steuernachricht, empfängt, bis zu dem Zeitpunkt, an dem er eine nachfolgende Steuernachricht weiterleitet Wiederum spezieller ist diese Erfindung auf einen Puffereinfügungsring angewandt. Bei der speziellen Anwendung wird jeder Knoten Pakete übertragen, solange sein Einfügungspuffer weniger als eine vorbestimmte Anzahl von Bits enthält und solange der Knoten nicht mehr als seine erste entsprechende maximale Anzahl von Paketen während des oben angegebenen Intervalls übertragen hat. In dieser speziellen Anwendung kann auch jeder Knoten Pakete übertragen, ohne irgendeine Steuernachricht halten zu müssen.
- FIG. 1 ist eine schematische Darstellung eines Vollduplex-Datenübertragungsrings, der in dieser Erfindung verwendet wird;
- FIG. 2 stellt schematisch die Püffereinfügungsschnittstellen an einem Knoten auf dem Ring dar;
- FIG. 3 stellt schematisch gleichzeitige Knotenübertragung dar, die möglicherweise zu Knotenblockierung führen könnte;
- FIG. 4A und 4B stellen schematisch die Übertragung von Steuernachrichten und Daten in entgegengesetzte Richtungen auf dem Vollduplex-Datenübertragungsring dar;
- FIG. 5A stellt schematisch ein Paket dar, und FIG. 5B zeigt eine Steuernachricht (SAT), die in der Mitte eines Pakets übertragen wird;
- FIG. 6 ist eine Tabelle, die einen 4B/5B-Code zur Ausführung der Übertragung einer eindeutigen SAT-Nachricht darstellt;
- FIG. 7 stellt schematisch den seriellen Übertragungskanal und die Parallel-Seriell- und Seriell-Parallel-Umsetzer dar;
- FIG. 8 ist eine Tabelle von möglichen Steuerwörtern und entsprechenden codierten Symbolen für die Steuernachricht;
- FIG. 9 ist ein Flußdiagramm, das darstellt, wie eine Steuernachricht die Übertragung von Paketen auf einem Dätenübertragungsring steuert, wobei die erste entsprechende maximale Anzahl von Paketen, die dem Knoten zu übertragen erlaubt ist, 1 ist;
- FIG. 10 ist ein Flußdiagramm, das darstellt, wie ein Knoten auf den Empfang einer Steuernachricht reagiert. Der Knoten wird die Steuernachricht weiterleiten, wenn die zweite entsprechende Anzahl von Paketen übertragen worden ist;
- FIG. 11 stellt schematisch die Situation von mehreren Steuernachrichten auf dem Datenübertragungsring dar. Wenn zwei Steuernachrichten am selben Knoten ankommen werden, werden sie zusammengefaßt werden; und
- FIG. 12 ist ein detaillierterer Schaltplan einer Vollduplexschnittstelle 11 für einen Knoten dieser Erfindung.
- Das Vollduplexpuffereinfügungssystem weist eine bidirektionale Ringtopologie auf, die zwei unidirektionale Ringe wie in FIG. 1 gezeigt, aufweist. Dieses System weist als Knoten 10 bezeichnete Schalteinheiten auf, von denen jede eine Vollduplexverbindungsschnittstelleneinheit 11 und eine Hauptrechnerschnittstelle 12 enthält. Die Vollduplexverbindungsschnittstellen sind durch zwei unidirektionale Verbindungen 13 und 14 verbunden. Knoten können Pakete an andere Knoten über den Satz von Verbindungen zwischen ihnen senden. Jedes Paar von Verbindungen 13 und 14, das zwei benachbarte Knoten verbindet, kann durch ein einziges Übertragungsmedium (z.B. Fasern) realisiert werden oder durch zwei getrennte Übertragungsmedien (z.B. ein Paar von Koaxialkabeln oder Fasern). Die Übertragung eines Pakets aus einem Quellenknoten zu einem Zielknoten kann über zwei mögliche Wege ausgeführt werden: unter Verwendung der Verbindungen 14 im Uhrzeigersinn oder der Verbindungen 13 im Gegenuhrzeigersinn. Das Paket wird durch den Zielknoten vom Ring entfernt. Knoten werden entweder in einer beliebigen Weise oder nach einer linearen Ordnung bezeichnet.
- Puffereinfügung oder Registereinfügung ist eine Zugriffstechnik für ein verteiltes Medium, die in einem unidirektionalen Ring verwendet werden kann. FIG. 2 stellt schematisch zwei unidirektionale Puffereinfügungsschnittstellen 20 dar, eine ist mit den Verbindungen 14 im Uhrzeigersinn verbunden und die andere Schnittstelle ist mit den Verbindungen 13 im Gegenuhrzeigersinn verbunden. Die zwei Einfügungsschnittstellen bilden den Hauptteil der Vollduplexschnittstelleneinheit 11 von FIG. 1. Weitere Details der Schnittstelleneinheit 11 zusammen mit verschiedenen Steuersignalen sind in FIG. 12 gezeigt. Am empfangenden Ende jeder Verbindung befindet sich ein Einfügungspuffer (EP) 22, von der Größe eines Pakets mit maximaler Größe. Über die Hauptrechnerschnittstelle 12 liest und schreibt der Hauptrechner seine Pakete unter Verwendung von Eingabepuffer 24 bzw. Ausgabepuffer 25. Paketübertragung vom Ausgabepuffer 25 kann über die Übertragungseinheit 23 nur dann begonnen werden, wenn der Einfügungspuffer 22 leer ist. Falls der Ringverkehr bei Empfänger 21 ankommt, wenn sich der Knoten in der Mitte einer Paketübertragung befindet, dann wird der Ringverkehr im Einfügungspuffer 22 gespeichert, bis diese Paketübertragung vollendet ist. Der Knoten kann nicht länger übertragen, außer wenn der Einfügungspuffer 22 wieder in Ruhe kommt, d.h. dem Ringverkehr wird eine Nichtvorzugspriorität gegeben. Wenn der Knoten in Ruhe ist, wird der Ringverkehr durch den Einfügungspuffer 22 hindurchgehen. Dies bedeutet, daß ein Paket nicht vollständig im Einfügungspuffer 22 empfangen werden muß, bevor begonnen wird, es weiterzuleiten.
- Wenn das empfangene Paket an diesen Knoten gerichtet ist, wird der Empfänger 21 das Paket ah den Eingabepuffer 24 übertragen, dann wird das Paket über die Hauptrechnerschnittstelle 12 an den Hauptrechner übertragen. Wenn der Hauptrechner ein Paket zur Übertragung vorliegen hat, wird er es über die Hauptrechnerschnittstelle 12 an den Ausgabepuffer 25 übertragen.
- Die Zugriffssteuerung des Mediums für die Puffereinfügung ermöglicht die gleichzeitige oder simultane Übertragung von Paketen. Das Beispiel von FIG. 3 zeigt die mögliche gleichzeitige Übertragung von Knoten 1 an 5, von 6 an 7, von 9 an 12, von 2 an 10 und von 8 an 6 zu derselben Zeit.
- Die gleichzeitige Übertragung über den Vollduplexring garantiert keinen fairen Zugriff, da ein vorgeschalteter Knoten einen nachgeschalteten Knoten blockieren kann. Unter extremen Verkehrszuständen kann es einem Knoten eine sehr lange Zeit lang unmöglich sein zu übertragen, d.h. ein Knoten kann blockiert. werden. Wenn in FIG. 3 beispielsweise Knoten 2 fortlaufend an Knoten 10 übertragen wird und wenn Knoten 9 fortlaufend an Knoten 12 übertragen wird, dann wird Knoten 11 nicht in der Lage sein zu übertragen.
- Zum Regeln oder Ausgleichen der Dateneingabe in jede Richtung des Rings wird eine spezielle Steuernachricht, SAT, verwendet. Der Ausdruck "SAT-Nachricht" und "Steuernachricht" wird in dieser Anmeldung austauschbar verwendet werden. Jede Richtung des Rings hält ihre eigene SAT-Nachricht aufrecht, die von einem Knoten an seinen Nachbarn übertragen wird. In FIG. 4A werden die Datenpakete, die in eine Richtung im Uhrzeigersinn über Verbindungen 14 übertragen werden, durch eine SAT-Steuernachricht geregelt, die in die Richtung im Gegenuhrzeigersinn über Verbindungen 13 übertragen wird. Zum Regeln des Eingangsdatenverkehrs in eine Richtung im Gegenuhrzeigersinn über Verbindungen 13 wird eine SAT-Nachricht, die im Uhrzeigersinn in eine Richtung im Uhrzeigersinn über Verbindungen 14 fließt, wie in FIG. 4B gezeigt verwendet.
- Die SAT-Nachricht wird von einem Knoten an seinen Nachbarn übertragen. Ein Knoten, der ein SAT empfängt, kann diese Nachricht sofort weiterleiten oder sie halten, bis einige Bedingungen zufriedengestellt sind. Die verschiedenen Szenarios zum Weiterleiten oder Halten des SAT werden später beschrieben werden.
- Die SAT-Nachricht weist die folgenden Eigenschaften auf:
- Sehr kurz - wenige Zeichen (möglicherweise eines).
- Vorzugspriorität - kann in der Mitte eines Datenpakets gesendet werden.
- Nicht störend - zerstört nicht die Datenpakete, denen sie vorgeht.
- Ein Paket kann über die serielle Verbindung als ein einziger fortlaufender Strom wie in FIG. 5A gezeigt gesandt werden oder kann durch eine oder mehrere SAT-Nachrichten wie in FIG. 5B gezeigt unterbrochen werden.
- Ein Weg zum Ausführen der Übertragung einer eindeutigen SAT- Nachricht besteht in der Verwendung eines der nicht verwendeten seriellen Codewörter des 4B/5B-Codes. Das 4B/5B-Codierungsschema ist ein Standard, der in FDDI verwendet wird. In diesem Schema werden 4 Datenbits in ein Codewort von 5 Bits umgesetzt, wie es in der Tabelle in FIG. 6 gezeigt ist. Die nicht verwendeten Codewörter können für die Übertragung von Steuerinformation von einem Knoten an seinen Nachbar verwendet werden. Dasselbe gilt auch für andere Codes, die redundante Codewörter enthalten.
- Unter Verwendung des AMD TAXI-Chipsets (Sender am7968 71 und Empfänger am7969 81) ist es möglich, eindeutige Steuercodewörter wie in FIG. 7 gezeigt zu senden. FIG. 7 zeigt, daß Sender AM 7968 Teil des seriellen Senders 23 ist und daß Empfänger AM 7969 Teil des seriellen Empfängers 21 ist. Wenn der Sender den Befehl 73 STEUERZEICHEN SENDEN empfängt, wird ein Steuercodewort von 10 Bits gesendet, nachdem das momentane serielle Wort gesendet worden ist. Das zu sendende Codewort wird durch die Leitung 72 STEUERZEICHEN festgelegt, und SAT ist eines der möglichen Codewörter. Die Liste von verschiedenen Steuercodewörtern ist in der Tabelle in FIG. 8 gezeigt. Die SAT-Steuernachricht kann aus einem der 15 verschiedenen Codewörter ausgewählt werden. Zum Übertragen von Daten wird das Signal 74 DATEN SENDEN verwendet, und dann werden 8 Datenbits 75 in den Sender 71 eingegeben. Die Codewörter (sowohl Steuerung als auch Daten) werden in einer seriellen Form über die Übertragungsmedien 13 oder 14 an den Empfänger 81 übertragen. Der Empfänger 81 decodiert den ankommenden seriellen Bitstrom; wenn Daten empfangen werden, werden die 8 Bits auf den Datenleitungen 85 mit dem Signal 84 DATEN EMPFANGEN ausgegeben. Wenn eine Steuernachricht decodiert wird, wird das Steuerwort auf den Steuerleitungen 82 mit dem Signal 83 STEUERZEICHEN EMPFANGEN ausgegeben.
- Die Zugriffssteuerung für die Puffereinfügung erzwingt für den Zugriff von Knoten auf den Ring keine Fairneß. Außerdem kann ein Knoten unter der Zugriffssteuerung für die Puffereinfügung für unbegrenzte Zeit blockiert werden. Der Zugriff auf den Ring wird deshalb durch die SAT-Steuernachricht mit dem folgenden Algorithmus geregelt.
- Wie in FIG. 9 gezeigt kann der Knoten, wenn er nicht leer ist (91), nur ein Paket aus seinem Ausgabepuffer übertragen, wenn die folgenden zwei Bedingungen erfüllt sind (wie in FIG. 9 gezeigt) : (i) Die Variable ZÄHLEN ist eins (92), und (ii) der Einfügungspuffer ist leer (93). Nachdem der Knoten das Paket gesendet hat, wird die Variable ZÄHLEN auf Null gesetzt (94).
- FIG. 10 beschreibt, was der Knoten ausführt, wenn der die SAT- Nachricht empfängt (101). Wenn die SAT-Nachricht nicht ankommt, nachdem eine gewisse maximal mögliche SAT-Umlaufzeit vergangen ist, wird Zeitüberschreitung auftreten (102). Der Knoten wird auf die Zeitüberschreitung reagieren, als ob er eine SAT-Nachricht empfangen hätte (101). Dann wird der Knoten das SAT weiterleiten, wenn die Variable ZÄHLEN Null ist (103) oder wenn der Ausgabepuffer 25 leer ist. Der Knoten wird das SAT halten, wenn die Variable ZÄHLEN eins ist (103) und der Ausgabepuffer 25 nicht leer ist. Der Knoten wird das SAT halten, bis ZÄHLEN Null wird (nachdem ein Paket übertragen ist) . Der Knoten hält das SAT, um Blockierung zu vermeiden. Wenn während der Zeit, während welcher der Knoten das SAT hält, ein anderes SAT ankommt (104) wird das zweite, SAT gelöscht werden; und wenn Zeitüberschreitung auftritt (105), wird sie ignoriert werden. Nachdem der Knoten das SAT weitergeleitet hat, wird er das ZÄHLEN := 1 setzen und den Zeitgeber neu laden (106).
- FIG. 11 stellt die Situation dar, wenn mehr als eine SAT-Nachricht in der gleichen Richtung im Ring umläuft. Wenn sich zwei SAT-Nachrichten am selben Knoten treffen, wird das zweite SAT gelöscht, d.h. die zwei SAT-Nachrichten werden zusammengefaßt.
- Die Zeitüberschreitungstechnik und die Fähigkeit, mehrere SAT- Nachrichten zu erzeugen und zusammenzufassen, sind für die Fairneßalgorithmen Verbesserungen, so daß sie Verlust und Verdopplung des SAT tolerieren können. Diese fehlertolerante Technik arbeitet an jedem Knoten unabhängig. Der Zeitgeber wird mit seinem Anfangswert jedesmal neu geladen, wenn eine SAT-Nachricht durch den Knoten empfangen wird. Der Knoten kann beginnen, diesen Zeitgeber zu dekrementieren, wenn die SAT-Nachricht weitergeleitet wird, und er wird dekrementiert werden, solange die SAT-Nachricht nicht zurückgekommen ist. Der Anfangswert des Zeitgebers wird als die maximale Zeit festgelegt, die ein Knoten warten kann, bevor eine SAT-Nachricht empfangen wird. Eine andere Technik, die ausgeführt werden könnte, ist das Hinzufügen einer beliebigen Verzögerung zur Erzeugung des SAT. Dies kann die Wahrscheinlichkeit von mehreren SATs verringern.
- Das Folgende gibt eine formale Beschreibung von verschiedenen Techniken für Fairneß an. Jeder Knoten unterhält zwei Variablen:
- ZÄHLEN wird verwendet, um die Anzahl von Nachrichten, die vom letzten Empfang der SAT-Nachricht an gesendet werden, zu zählen.
- SAT_HALTEN, das feststellt, ob der Knoten momentan die SAT- Nachricht hält.
- Zusätzlich kann der Knoten die folgenden Bedingungen überprüfen:
- EINFÜGUNGSPUFFER, der LEER oder nicht LEER sein kann.
- AUSGABEPUFFER, der LEER oder nicht LEER sein kann.
- SAT-UNLAUFZEIT, diejenige Zeit, die das SAT benötigt, um einen Umlauf zu vollenden (jeder Knoten mißt diese Zeit unabhängig).
- Jeder der folgenden Algorithmen weist eine ereignisgesteuerte Beschreibung auf. In dieser Beschreibung entspricht ein großer Punkt einem Ereignis, und die jedem Ereignis folgenden Anweisungen sind seine entsprechenden Aktionen. Jedes Ereignis wird in einem ungestörten Schritt, d.h. einer unteilbaren Aktion, ausge-, führt. In der folgenden Beschreibung des Algorithmus werden die SAT-Nachrichten rückwärts weitergeleitet und die Datenpakete werden vorwärts gesendet.
- Dies ist eine formale Beschreibung des Algorithmus, der in FIG. 9 und FIG. 10 beschrieben wurde. In diesem Algorithmus kann der Knoten ein Paket vorwärts senden, nachdem das SAT rückwärts, weitergeleitet wurde, und der Knoten wird das SAT halten, wenn er seit dem vorherigen SAT kein Paket senden konnte und er ein Paket senden muß. Eine verallgemeinerte Version dieses Algorithmus wird unten als der allgemeine Fairneßalgorithmus beschrieben werden.
- Für SAT-Nachricht von Knoten i - 1 --
- Wenn (ZÄHLEN = 0 oder AUSGABEPUFFER = LEER), dann
- ZÄHLEN := 1;
- SAT senden an Knoten i + 1;
- SAT_HALTEN := 0;
- Zeitgeber neu laden;
- Sonst wenn (ZÄHLEN = 1 und AUSGABEPUFFER nicht LEER), dann
- SAT HALTEN := 1;
- AUSGABEPUFFER wird nicht LEER
- Wenn (ZÄHLEN = 1 und EINFÜGUNGSPUFFER = LEER), dann
- Ein Paket vorwärts senden
- (** in Richtung Knoten i - 1 **);
- ZÄHLEN := 0;
- EINFÜGUNGSPUFFER wird LEER (** Knoten i überträgt nicht **)
- Wenn (ZÄHLEN = 1 und AUSGABEPUFFER nicht LEER), dann
- Beginne, Paket vorwärts zu senden
- (** in Richtung Knoten i-1 *+);
- Wenn SAT_HALTEN = 1 dann
- SAT senden an Knoten i + 1;
- SAT_HALTEN := 0;
- Zeitgeber neu laden;
- Oder ZÄHLEN := 0;
- ZEITÜBERSCHREITUNG aufgetreten
- (** der Zeitgeberwert erreicht Null **)
- ZÄHLEN := 1;
- SAT senden an Knoten i + 1;
- SAT_HALTEN := 0;
- Zeitgeber neu laden;
- Die vorherige Technik zum Regeln des Verkehrs in den Ring kann wie folgt verallgemeinert werden. Zwischen zwei aufeinanderfolgenden SAT-Nachrichten (oder jedem SAT-Umlauf) kann der Knoten höchstens die erste vorbestimmte entsprechende maximale Anzahl von k (k ≥ 1) Paketen senden und wenigstens die zweite vorbestimmte entsprechende Anzahl von 1 (k ≥ 1 ≥ 1) Paketen (wenn er 1 Pakete in seinem AUSGABEPUFFER hat). Im oben beschriebenen einfachen Fairneßalgorithmus ist k = 1 = 1.
- Der Knoten wird die SAT-Nachricht (Steuernachricht) nur weiterleiten, wenn er zufriedengestellt ist, und die folgende Bedingung wird festgelegt:
- Der Knoten ist zufriedengestellt - wenn zwischen zwei SAT- Nachrichten der Knoten wenigstens 1 Pakete gesendet hat (eine zweite entsprechende Anzahl von Paketen) oder wenn alle Pakete im Ausgabepuffer des Knotens zu dem Zeitpunkt, an dem, die vorherige SAT rückwärts gesendet wurde, gesendet war.
- Der Knoten wird die SAT-Nachricht gemäß dem folgenden Algorithmus weiterleiten:
- Der allgemeine Fairneßalgorithmus (formlos)
- AUSFÜHREN, wenn die SAT-Nachricht empfangen wird:
- Wenn der Knoten zufriedengestellt ist, dann SAT rückwärts weiterleiten, oder halten, bis zufriedengestellt (dann SAT rückwärts weiterleiten).
- Nachdem ein Knoten SAT weiterleitet, kann er k weitere Pakete senden, k ≥ 1 (ein einfacher Fall ist k = 1 = 1).
- Das Folgende gibt die formale ereignisgesteuerte Beschreibung des allgemeinen Algorithmuses an.
- Für SAT-Nachricht von Knoten i - 1 --
- Wenn (ZÄHLEN ≤ k - 1 oder AUSGABEPUFFER = LEER), dann Proc_A ausführen
- Sonst wenn (ZÄHLEN > k - 1 und AUSGABEPUFFER nicht LEER),
- dann
- SAT_HALTEN := 1;
- Für Ende der Paketübertragung
- Wenn SAT_HALTEN := 0, dann
- Wenn (AUSGABEPUFFER nicht LEER und EINFÜGUNGSPUFFER = LEER und ZÄHLEN > 0), dann Proc_B ausführen
- Sonst
- Wenn (AUSGABEPUFFER nicht LEER und EINFÜGUNGSPUFFER = LEER), dann Proc_B ausführen
- Wenn (ZÄHLEN = k - 1 oder AUSGABEPUFFER = LEER), dann
- Proc_A ausführen
- AUSGABEPUFFER wird nicht LEER
- Wenn (ZÄHLEN > 0 und EINFÜGUNGSPUFFER = LEER), dann Proc_B ausführen
- EINFÜGUNGSPUFFER wird LEER und Knoten i überträgt nicht
- Wenn SAT_HALTEN := 0, dann
- Wenn (ZÄHLEN > 0 und AUSGABEPUFFER niöht LEER), dann
- Proc_B ausführen
- Sonst
- Wenn (ZÄHLEN > k - 1 und AUSGABEPUFFER nicht LEER), dann
- Proc_B ausführen
- Wenn ZÄHLEN = k - 1, dann Proc_A ausführen
- ZEITÜBERSCHREITUNG aufgetreten (** der Zeitgeberwert erreicht Null **)
- Proc_A ausführen
- Proc_A
- ZÄHLEN := k;
- SAT senden an Knoten i + 1;
- SAT_HALTEN := 0;
- Zeitgeber neu laden;
- Proc_B
- Beginnen, Paket vorwärts zu übertragen (** in Richtung Knoten i - 1 **)
- ZÄHLEN : = ZÄHLEN - 1;
- Man beachte, daß im obigen Algorithmus das Erfordernis, daß der Einfügungspuffer leer ist, geändert werden könnte in das Erfordernis, daß der Einfügungspuffer weniger als eine vorbestimmte Anzahl von Paketen aufweist.
- Dieser Algorithmus ist eine andere Verallgemeinerung des einfachen Algorithmus. In diesem Fall hängt die Anzahl von Paketen, die der Knoten übertragen kann, davon ab, wie viele er bereits in vorherigen Umläufen gesendet hat. Jedesmal, wenn der Knoten SAT empfängt, kann er ZÄHLEN um m inkrementieren, solange sein Wert nicht +kmax überschreitet. Während jedes SAT-Umlaufs kann der Knoten übertragen, wenn sein ZÄHLEN nicht niedriger als -kmin ist. Ein Knoten wird die SAT-Nachricht halten,, wenn sein ZÄHLEN größer als Null ist; andererseits wird er sie sofort weiterleiten.
- Für SAT-Nachricht von Knoten i - 1 --
- Wenn (ZÄHLEN ≤ 0 oder AUSGABEPUFFER = LEER), dann Proc_A ausführen
- Sonst wenn (ZÄHLEN > 0 und AUSGABEPUFFER nicht LEER), dann
- SAT_HALTEN := 1;
- Für Ende der Paketübertragung
- Wenn SAT_HALTEN := 0, dann
- Wenn (AUSGABEPUFFER nicht LEER und EINFÜGUNGSPUFFER = LEER und ZÄHLEN > -kmin), dann Proc_B ausführen
- Sonst
- Wenn (AUSGABEPUFFER nicht LEER und EINFÜGUNGSPUFFER = LEER), dann Proc_B ausführen
- Wenn (ZÄHLEN = 0 oder AUSGABEPUFFER = LEER), dann Proc_A ausführen
- AUSGABEPUFFER wird nicht LEER
- Wenn (ZÄHLEN > -kmin und EINFÜGUNGSPUFFER = LEER), dann Proc_B ausführen
- EINFÜGUNGSPUFFER wird LEER und Knoten 1 überträgt nicht
- Wenn SAT_HALTEN := 0, dann
- Wenn (ZÄHLEN > -kmin und AUSGABEPUFFER nicht LEER), dann
- Proc_B ausführen
- Sonst
- Wenn (ZÄHLEN > 0 und AUSGABEPUFFER nicht LEER), dann
- Proc_B ausführen
- Wenn ZÄHLEN := 0, dann Proc_A ausführen
- ZEITÜBERSCHREITUNG aufgetreten (** der Zeitgeberwert erreicht Null **)
- Proc_A ausführen
- Proc_A
- ZÄHLEN := min {kmax, ZÄHLEN + m};
- SAT senden an Knoten i + 1;
- SAT_HALTEN := 0;
- Zeitgeber neu laden;
- Proc_B
- Beginnen, Paket vorwärts zu senden
- ZÄHLEN : = ZÄHLEN - 1;
- Dieser Algorithmus ist ein spezielleres Beispiel des allgemeinen Fairneßalgorithmus. In diesem Fall werden die Werte der ersten und zweiten vorbestimmten Anzahlen, k und l, nach dem momentanen Wert des Parameters SAT-UMLAUFZEIT berechnet. Die Absicht besteht darin, daß dann, wenn SAT-UMLAUFZEIT abnimmt, 1 und k erhöht werden können und umgekehrt. Die tatsächliche Funktion sollte durch Analyse, Simulation und/oder Experimente festgelegt werden.
- In FIG. 12 ist eine schematische Darstellung einer Vollduplexschnittstelle 11 zwischen einem IBM PS/2-Hauptrechner und einem Vollduplexring gezeigt. Oben in der Erläuterung von FIG. 2 wurde beschrieben, wie der Knoten dem Puffereinfügungsprotokoll folgend überträgt. Hier wird gezeigt, wie die verschiedenen Fairneßtechniken in die Vollduplexschnittstelle eingebettet sind.
- Der Fairneßalgorithmus wird durch das Zustandsrechenwerk für den Sender (SENDER FSM) 122 ausgeführt. Jeder SENDER FSM 122 steuert die Paketübertragung in eine Richtung des Rings. Wenn der SENDER FSM das Signal PAKET SENDEN an den seriellen Sender (SERIELLER SENDER) 121 abgibt, dann wird ein, Paket gesendet werden. Der SENDER FSM empfängt drei Zustandsleitungen aus der Richtung, durch die er gesteuert wird:
- 1. EP LEER - Einfügungspuffer ist leer, was den Zustand des Einfügungspuffers 22 anzeigt.
- 2. AGP LEER - Ausgabepuffer ist leer, was den Zustand des Ausgabepuffers 25 anzeigt.
- 3. ZEITÜBERSCHREITUNG - Die maximale SAT-Umlaufzeit, die in den Zeitgeber 123 geladen wurde, ist abgelaufen.
- Zusätzlich empfängt das SENDER FSM das Signal "SAT ?" vom seriellen Empfänger (SERIELLER EMPF) 21. Das Signal "SAT ?" zeigt dem SENDER FSM an, daß eine SAT-Steuernachricht in der entgegengesetzten Richtung empfangen wurde. Wenn sich das SENDER FSM in einem zufriedengestellten Zustand befindet, wird er das Signal SAT SENDEN an den SERIELLEN SENDER 121 in die entgegengesetzte Richtung ausgeben, so daß der SERIELLE CODER das SAT rückwärts weiterleiten wird. Wenn sich das SENDER FSM nicht in einem zufriedengestellten Zustand befindet, wird der SERIELLE CODER das SAT halten, bis SENDER FSM einen zufriedengestellten Zustand einnimmt, und dann wird SENDER FSM das Signal SAT SENDEN an den SERIELLEN CODER 121 in die entgegengesetzte Richtung ausgeben, so daß er das SAT rückwärts weiterleiten wird. Nachdem das SEN- DER FSM ein Signal SAT SENDEN weiterleitet, geht er in einen nicht zufriedengestellten Zustand über.
- Wenn das Signal ZEITABLAUF vom Zeitgeber 123 abgegeben wird, wird das SENDER FSM das Signal SAT SENDEN an den SERIELLEN CODER 121 in die entgegengesetzte Richtung ausgeben, so daß er das SAT rückwärts weiterleiten wird, d.h. eine neue SAT-Nachricht wird erzeugt. Wenn das SENDER FSM zwei SATs empfängt, bevor er den zufriedengestellten Zustand einnimmt, dann wird das zweite SAT ignoriert, d.h. die zwei SATs werden zusammengefaßt.
- Das Signal PAKET SENDEN wird ausgegeben, wenn sich das SENDER FSM nicht in einem zufriedengestellten Zustand befindet und wenn sowohl der Einfügungs- als auch der Ausgabepuffer nicht leer sind. Nachdem ein Paket gesendet ist, überprüft das SENDER FSM, ob es zufriedengestellt ist oder nicht.
- Der SERIELLE EMPF 21 stellt das Ziel eines ankommenden Pakets fest. Wenn das Paket an diesen Knoten gerichtet ist, wird das Paket in den EINGABEPUFFER (EGP) 24 geschrieben, indem das Signal EGP SCHREIBEN verwendet wird. Wenn das Paket nicht an diesen Knoten gerichtet ist, wird das Paket in den EINFÜGUNGSPUFFER (EP) 22 geschrieben, indem das Signal EP SCHREIBEN verwendet wird.
- Der SERIELLE CODER 121 kann Daten vom EINFÜGUNGSPUFFER 22 lesen, indem das Signal EP LESEN verwendet wird, und kann Daten vom AUSGABEPUFFER 25 lesen, indem das Signal AGP LESEN verwendet wird.
Claims (16)
1. Verfahren zum Regeln der Übertragung von Paketen von einem
Knoten (10) in einem Datenübertragungsring, der eine Anzahl
der Knoten (10) aufweist,
wobei das Verfahren die folgenden Schritte umfaßt:
a. Weiterleiten einer momentanen Steuernachricht auf dem
Ring, die jedem der Knoten (10) eine erste
entsprechende maximale Anzahl von Paketen anzeigt, die jedem
Knoten (10) in einem entsprechendem Zeitintervall zu
übertragen erlaubt ist; und
b. Halten einer nachfolgenden Steuernachricht durch jeden
Knoten (10), wenn sie durch jeden Knoten (10)
empfangen wird, bis jeder Knoten (10) wenigstens eine zweite
entsprechende Anzahl von Paketen übertragen hat oder
bis jeder Knoten (10) alle Pakete, die er übertragen
muß, übertragen hat, wenn die Anzahl der Pakete, die
er übertragen muß, geringer ist als seine zweite
entsprechende Anzahl von Paketen.
2. Verfahren nach Anspruch 1, wobei
das entsprechende Zeitintervall das Intervall ist, von dem
Zeitpunkt, an dem jeder Knoten (10) die momentante
Steuernachricht empfängt, bis zu dem Zeitpunkt, an dem er eine
nachfolgende Steuernachricht weiterleitet
3. Verfahren nach Anspruch 1 oder 2 in einem
Puffereinfügungsring, der eine Anzahl von Knoten (10) aufweist, wobei jeder
Knoten (10) wenigstens einen Einfügungspuffer (22)
aufweist,
wobei das Verfahren darüber hinaus den Schritt umfaßt, daß
jeder Knoten (10) Pakete überträgt, solange sein
Einfügungspuffer (22) ,weniger als eine vorbestimmte Anzahl von
Bits darin aufweist und solange jeder Knoten (10) nicht
mehr als seine erste entsprechende Anzahl von Paketen
während des Intervälls übertragen hat, wobei jeder Knoten (10)
Pakete überträgt, ohne irgendeine der Steuernachrichten zur
Zeit, während der er ein Paket überträgt, halten zu müssen.
4. Verfahren nach einem der Ansprüche 1 bis 3, wobei
alle Pakete, die jeder Knoten (10) übertragen muß, alle
Pakete in einem Ausgabepuffer (25) des Knotens (10) sind,
die während eines ausgewählten Zeitintervalls darin
gespeichert wurden.
5. Verfahren nach einem der Ansprüche 2 bis 4, wobei
die momentane und die nachfolgende Steuernachricht in die
den entsprechenden Datenpaketen entgegengesetzte Richtung
übertragen werden.
6. Verfahren nach einem der Ansprüche 1 bis 5, wobei
die Übertragung von Paketen in eine Richtung durch
momentane und nachfolgende Steuernachrichten geregelt wird, die in
dieselbe Richtung auf einem unidirektionalen Ring
weitergeleitet werden oder in die entgegengesetzte oder dieselbe
Richtung auf einem bidirektionalen Ring.
7. Verfahren nach einem der Ansprüche 1 bis 6, wobei
für jeden der Knoten (10) jede erste entsprechende maximale
Anzahl, die jedem Knoten (10) angezeigt wird, gleich jeder
zweiten entsprechenden Anzahl ist, die jedem Knoten (10)
angezeigt wird.
8. Verfahren nach einem der Ansprüche 1 bis 7, wobei
für jeden Knoten (10) jede erste entsprechende maximale
Anzahl größer als die zweite entsprechende Anzahl ist.
9. Verfahren nach einem der Ansprüche 1 bis 7, wobei
die erste entsprechende maximale Anzahl und die zweite
entsprechende Anzahl von der Umlaufzeit der Steuernachricht
abhängig sind.
10. Verfahren nach einem der Ansprüche 1 bis 7, wobei
für jeden der Knoten (10) die erste entsprechende maximale
Anzahl und die zweite entsprechende Anzahl gleich eins ist.
11. Verfahren nach einem der Ansprüche 1 bis 10, wobei
eine Steuernachricht von jedem der Knoten (10), der keine
Steuernachricht empfangen hat, nachdem ein vorbestimmter
Zeitabschnitt abgelaufen ist, übertragen wird.
12. Verfahren nach einem der Ansprüche 1 bis 11, wobei
eine Steuernachricht gelöscht wird, wenn sie durch einen
der Knoten (10) empfangen wird, der bereits eine
Steuernachricht hält.
13. Verfahren nach einem der Ansprüche 1 bis 12, wobei
jeder Knoten (10) die momentane oder nachfolgende
Steuernachricht mit Vorzugspriorität übertragen wird, das heißt
sogar während der Übertragung eines Pakets von jedem Knoten
(10), ohne zu warten, bis jeder Knoten (10) die Übertragung
des Pakets auf dem Ring vollendet hat, oder mit
Nichtvorzugspriorität, das heißt nach der Übertragung eines Pakets
von jedem Knoten (10) und nicht während der Übertragung des
Pakets von jedem Knoten (10) auf dem Ring.
14. Verfahren nach einem der Ansprüche 1 bis 13, wobei
jedes auf dem Ring übertragene Paket durch jeden
Einfügungspuffer (22) des Rings durchgeführt wird, das heißt,
daß Bits jedes Pakets von jedem Einfügungspuffer (22)
weitergeleitet werden, ohne auf alle in jedem Einfügungspuffer
(22) zu speichernde Bits jedes Pakets zu warten, oder
gespeichert wird und durch jeden Einfügungspuffer (22) des
Rings weitergeleitet wird, das heißt, daß keines der Bits
jedes Pakets von jedem Einfügungspuffer (22) übertragen
wird, bis alle Bits jedes Pakets in jedem Einfügungspuffer
(22) gespeichert sind.
15. Knoten (10) in einem Datenübertragungsring zum Regeln der
Übertragung von Paketen von dem Knoten (10) und auf dem
Ring,
wobei der Knoten (10) umfaßt:
Mittel zum Übertragen von Paketen auf dem Ring;
Mittel zum Weiterleiten einer momentanen Steuernachricht
auf dem Ring, die jedem der Knoten (10) eine erste
entsprechende maximale Anzahl von Paketen anzeigt, die jedem
Knoten (10) in einem Intervall von dem Zeitpunkt, an dem er
die momentane Steuernachricht empfängt, bis zu dem
Zeitpunkt, an dem er eine nachfolgende Steuernachricht
weiterleitet, zu übertragen erlaubt ist; und
Mittel zum Halten der nachfolgenden Steuernachricht, wenn
sie durch jeden Knoten (10) empfangen wird, bis jeder
Knoten (10) wenigstens eine zweite entsprechende Anzahl von
Paketen übertragen hat oder bis jeder Knoten (10) alle
Pakete übertragen hat, die er übertragen muß, wenn die Anzahl
der Pakete, die er übertragen muß, geringer ist als die
zweite entsprechende Anzahl von Paketen.
16. Knoten (10) nach Anspruch 15, wobei
der Datenübertragungsring ein Datenübertragungsring mit
Puffereinfügung ist,
jeder Knoten (10) einen Einfügungspuffer (22) umfaßt, und
jeder Knoten (10) nicht mehr als die erste entsprechende
Anzahl von Paketen im Zeitintervall überträgt, wobei jeder
Knoten (10) Pakete überträgt, solange sein Einfügungspuffer
(22) weniger als eine vorbestimmte Anzahl von Bits darin
aufweist und wobei jeder Knoten (10) Pakete überträgt, ohne
irgendeine der Steuernachrichten zu der Zeit, während der
er ein Paket überträgt, halten zu müssen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/336,364 US4926418A (en) | 1989-04-11 | 1989-04-11 | Fairness algorithm for full-duplex buffer insertion ring |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69027362D1 DE69027362D1 (de) | 1996-07-18 |
DE69027362T2 true DE69027362T2 (de) | 1996-12-05 |
Family
ID=23315754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69027362T Expired - Lifetime DE69027362T2 (de) | 1989-04-11 | 1990-02-23 | Fairnessalgorithmus für Vollduplex-Puffereinfügungsring |
Country Status (4)
Country | Link |
---|---|
US (1) | US4926418A (de) |
EP (1) | EP0392173B1 (de) |
JP (1) | JPH0716203B2 (de) |
DE (1) | DE69027362T2 (de) |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5337411A (en) * | 1988-10-20 | 1994-08-09 | Westinghouse Electric Corporation | Multi-processor computer system bus architecture |
FR2639166B1 (fr) * | 1988-11-14 | 1990-12-14 | Cit Alcatel | Systeme d'echange de messages en temps reel entre stations reliees par une liaison en boucle, notamment entre stations d'un central de telecommunications |
NL8802884A (nl) * | 1988-11-22 | 1990-06-18 | Philips Nv | Werkwijze en stelsel voor het overdragen van gebufferde datapakketten via een communicatienetwerk. |
US5072443A (en) * | 1989-07-28 | 1991-12-10 | At&T Bell Laboratories | Communications system |
US4964113A (en) * | 1989-10-20 | 1990-10-16 | International Business Machines Corporation | Multi-frame transmission control for token ring networks |
US5001707A (en) * | 1989-11-02 | 1991-03-19 | Northern Telecom Limited | Method of providing reserved bandwidth in a dual bus system |
US5046182A (en) * | 1989-12-01 | 1991-09-03 | National Semiconductor Corporation | Code points for transferring data from a network transmission medium to a station on the network |
US4977557A (en) * | 1989-12-14 | 1990-12-11 | Northern Telecom Limited | Method of providing effective priority access in a dual bus system |
US5155726A (en) * | 1990-01-22 | 1992-10-13 | Digital Equipment Corporation | Station-to-station full duplex communication in a token ring local area network |
US5285448A (en) * | 1990-03-01 | 1994-02-08 | Hitachi, Ltd. | Transmission system of system of system control information in a ring LAN system |
AU7453491A (en) * | 1990-03-29 | 1991-10-21 | Sf2 Corporation | Method and apparatus for scheduling access to a csma communication medium |
US5214645A (en) * | 1990-06-06 | 1993-05-25 | At&T Bell Laboratories | TDM system and method having time slot request signaling |
US5182747A (en) * | 1990-06-26 | 1993-01-26 | International Business Machines Corporation | Method for controlling the insertion of stations into fddi network |
US5245609A (en) * | 1991-01-30 | 1993-09-14 | International Business Machines Corporation | Communication network and a method of regulating the transmission of data packets in a communication network |
CA2061171A1 (en) * | 1991-02-19 | 1992-08-20 | Peter C. Digiulio | Serial bus interface and method |
US5128937A (en) * | 1991-04-17 | 1992-07-07 | Bell Communications Research, Inc. | Adaptive bandwidth balancing for distributed queue dual bus networks |
US5241540A (en) * | 1991-07-31 | 1993-08-31 | International Business Machines Corporation | Reverse ordered control information transmission |
US5245605A (en) * | 1991-10-04 | 1993-09-14 | International Business Machines Corporation | Integration of synchronous and asynchronous traffic on rings |
US5301283A (en) * | 1992-04-16 | 1994-04-05 | Digital Equipment Corporation | Dynamic arbitration for system bus control in multiprocessor data processing system |
ES2162659T3 (es) * | 1992-06-12 | 2002-01-01 | Dow Chemical Co | Sistema de comunicacion cabeza-cola seguro y metodo para el procedimiento en ordenadores de control. |
US5490145A (en) * | 1993-05-25 | 1996-02-06 | Matsushita Electric Industrial Company, Ltd. | Communication system for a ring-type network |
US5475685A (en) * | 1993-10-27 | 1995-12-12 | International Business Machines Corporation | Multi-media flow control over FDDI synchronous networks |
JP2656741B2 (ja) * | 1994-01-31 | 1997-09-24 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 情報管理方法及びブリッジノード |
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 | 조백제 | 버퍼를 갖는 링 통신망 노드 장치 및 그 제어 방법 |
US5651003A (en) * | 1995-06-07 | 1997-07-22 | Whitetree, Inc. | Stackable data cell switch architecture |
JP3561853B2 (ja) * | 1995-06-20 | 2004-09-02 | 富士通株式会社 | 二重リングネットワークシステム |
US5946315A (en) * | 1995-12-28 | 1999-08-31 | Dynarc Inc. | Method and device for synchronizing dynamic synchronous transfer mode in a ring topology |
US5802321A (en) * | 1996-06-20 | 1998-09-01 | Square D Company | Synchronous serial communication network for controlling single point I/O devices |
US6262993B1 (en) | 1996-11-08 | 2001-07-17 | Kevin Kirmse | Computer and peripheral networking device permitting the practical use of buffer insertion-based networks while communicating over unshielded twisted pair conductive media |
US6748451B2 (en) | 1998-05-26 | 2004-06-08 | Dow Global Technologies Inc. | Distributed computing environment using real-time scheduling logic and time deterministic architecture |
US6272131B1 (en) | 1998-06-11 | 2001-08-07 | Synchrodyne Networks, Inc. | Integrated data packet network using a common time reference |
US6529518B1 (en) * | 1998-06-11 | 2003-03-04 | Sun Microsystems, Inc. | Method and apparatus for providing a network interface |
US6138187A (en) * | 1998-08-21 | 2000-10-24 | International Business Machines Corporation | Method and system for increasing spatial reuse in a serial storage architecture subsystem |
DE19922171B4 (de) * | 1999-05-12 | 2009-08-27 | Infineon Technologies Ag | Kommunikationssystem mit einem Kommunikationsbus |
US6614805B1 (en) | 1999-05-27 | 2003-09-02 | Nortel Networks Limited | Method and apparatus for media access control for packet transmission over a buffer insertion ring |
US6650618B1 (en) * | 1999-07-01 | 2003-11-18 | Nortel Networks Limited | Method and apparatus for managing communications between nodes in a bi-directional ring network |
US6760328B1 (en) * | 1999-10-14 | 2004-07-06 | Synchrodyne Networks, Inc. | Scheduling with different time intervals |
US6731638B1 (en) | 1999-10-14 | 2004-05-04 | Synchrodyne Networks, Inc. | Switch scheduling with common time reference |
US6745262B1 (en) | 2000-01-06 | 2004-06-01 | International Business Machines Corporation | Method, system, program, and data structure for queuing requests having different priorities |
US6891828B2 (en) * | 2001-03-12 | 2005-05-10 | Network Excellence For Enterprises Corp. | Dual-loop bus-based network switch using distance-value or bit-mask |
US7117278B2 (en) * | 2001-07-12 | 2006-10-03 | Sun Micro Systems, Inc. | Method for merging a plurality of data streams into a single data stream |
US6691185B2 (en) | 2001-07-13 | 2004-02-10 | Sun Microsystems, Inc. | Apparatus for merging a plurality of data streams into a single data stream |
US6842817B2 (en) | 2001-07-13 | 2005-01-11 | Sun Microsystems, Inc. | Method for generating configuration tables and for forwarding packets through a network |
KR100471928B1 (ko) * | 2002-11-18 | 2005-03-11 | 한국전자통신연구원 | 이중 링형 네트워크의 링 선택 방법 |
US7369514B1 (en) * | 2003-06-18 | 2008-05-06 | Nortel Networks Limited | Source credit based fairness scheme |
US20050066036A1 (en) * | 2003-09-19 | 2005-03-24 | Neil Gilmartin | Methods, systems and computer program products for facilitating the design and analysis of virtual networks based on total hub value |
US7624187B1 (en) | 2003-09-19 | 2009-11-24 | At&T Intellectual Property, I, L.P. | Method, system and computer program product for providing Ethernet VLAN capacity requirement estimation |
US7640359B1 (en) | 2003-09-19 | 2009-12-29 | At&T Intellectual Property, I, L.P. | Method, system and computer program product for facilitating the design and assignment of ethernet VLANs |
US7958208B2 (en) * | 2004-09-22 | 2011-06-07 | At&T Intellectual Property I, L.P. | System and method for designing a customized switched metro Ethernet data network |
US7613205B1 (en) * | 2006-03-24 | 2009-11-03 | Trend Micro Incorporated | Token-assignment networks over ethernet and methods therefor |
US7536441B1 (en) | 2008-07-09 | 2009-05-19 | International Business Machines Corporation | System and method for motivating delayed responses to messages |
ES2942150T3 (es) * | 2018-09-25 | 2023-05-30 | Siemens Schweiz Ag | Método y nodo de red para comunicarse a través de una red de paso de testigos |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4556098A (en) * | 1978-08-18 | 1985-12-03 | Laboratoire Suisse De Recherches Horlogeres | Hot chamber die casting of aluminum and its alloys |
EP0054077B1 (de) * | 1980-12-08 | 1984-11-21 | International Business Machines Corporation | Verfahren zur Übertragung von Information zwischen Stationen, die an eine unidirektionale Ringleitung angeschlossen sind |
US4491946A (en) * | 1981-03-09 | 1985-01-01 | Gould Inc. | Multi-station token pass communication system |
US4566097A (en) * | 1983-12-23 | 1986-01-21 | International Business Machines Corp. | Token ring with secondary transmit opportunities |
US4663748A (en) * | 1984-04-12 | 1987-05-05 | Unisearch Limited | Local area network |
GB8417910D0 (en) * | 1984-07-13 | 1984-08-15 | British Telecomm | Communications network |
JPS61100046A (ja) * | 1984-10-22 | 1986-05-19 | Mitsubishi Electric Corp | ル−プ伝送方法 |
US4745598A (en) * | 1985-11-27 | 1988-05-17 | General Electric Company | Method and apparatus for maintaining a dynamic logical ring in a token passing LAN |
US4768190A (en) * | 1986-04-30 | 1988-08-30 | Og Corporation | Packet switching network |
AU586927B2 (en) * | 1986-06-27 | 1989-07-27 | Fujitsu Limited | Packet data communication system with ring type transmission line |
US4805170A (en) * | 1987-04-29 | 1989-02-14 | American Telephone And Telegraph Company, At&T Bell Laboratories | Data communication network |
-
1989
- 1989-04-11 US US07/336,364 patent/US4926418A/en not_active Expired - Lifetime
-
1990
- 1990-02-23 DE DE69027362T patent/DE69027362T2/de not_active Expired - Lifetime
- 1990-02-23 EP EP90103523A patent/EP0392173B1/de not_active Expired - Lifetime
- 1990-04-10 JP JP2093313A patent/JPH0716203B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US4926418A (en) | 1990-05-15 |
EP0392173B1 (de) | 1996-06-12 |
EP0392173A3 (de) | 1992-12-02 |
JPH0716203B2 (ja) | 1995-02-22 |
DE69027362D1 (de) | 1996-07-18 |
EP0392173A2 (de) | 1990-10-17 |
JPH03205936A (ja) | 1991-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69027362T2 (de) | Fairnessalgorithmus für Vollduplex-Puffereinfügungsring | |
DE69223482T2 (de) | Integration von synchronen und asynchronen Daten in Ringnetzwerken | |
DE3587092T2 (de) | Kommunikationssystem. | |
DE69106414T2 (de) | Verfahren zur Steuerung des Zugangs zu einem Bus in einem (DBDQ)-Netzwerk, bestehend aus zwei Bussen und einer verteilten Warteschlange. | |
DE69017203T2 (de) | Breitbandringkommunikationssystem und Zugriffssteuerungsverfahren. | |
DE3689635T2 (de) | Netzwerk mit Tokenübergabe für industrielle Zwecke. | |
DE69320143T2 (de) | Rahmenbasierte Datenübertragung | |
DE2953444C2 (de) | Anordnung und Verfahren für ein digitales Datenübertragungsnetzwerk | |
DE69636547T2 (de) | Integrierter Repeater | |
DE3586280T2 (de) | Gesteuertes sternnetz. | |
DE69219141T2 (de) | Übertragungsemulator für lokales netz | |
DE68917592T2 (de) | Fernmeldevermittlungssystem. | |
DE69429508T2 (de) | Bus-sender/empfänger mit binärem datenübertragungssmodus und ternären steuersignalübertragungssmodus | |
DE69117106T2 (de) | Verfahren zum Kontrollieren der Einfügung von Stationen in einem Netzwerk mit optischen Fasern (FDDI-Netzwerk) | |
DE19532422C1 (de) | Lokales, nach dem asynchronen Transfermodus (ATM) arbeitendes Netzwerk mit wenigstens zwei Ringsystemen | |
EP1868109A1 (de) | Ereignissignalisierung zwischen Peripheriemodulen und einer Verarbeitungseinheit | |
DE68913230T2 (de) | Lokale Netzwerkverbindungsvorrichtung mit einstellbarer Betriebsart. | |
EP0118767A2 (de) | Verfahren für eine Fernmelde-, insbesondere Fernsprechnebenstellenanlage mit einem Datenübertragungsleitungssystem, insbesondere mit einem optischen Datenübertragungsleitungssystem | |
DE69028266T2 (de) | Paketvermittlungsnetzwerk für unterschiedliche Typen von Paketen | |
DE69408956T2 (de) | Verbindungsaufbauverfahren in einem Ringzugriffsnetz für ein mobiles Funknetz | |
DE69031438T2 (de) | Kommunikationsprotokoll für statistische Datenmultiplexer in einer Weitbereichsnetzanordnung | |
DE602004011594T2 (de) | Redundantes Vollduplex Ethernet Vermittlungskommunikationsnetzwerk und Redundanzverwaltung eines derartigen Netzwerks, besonders in der Avionik | |
DE102007017835A1 (de) | Paketvermittlungsvorrichtung und lokales Kommunikationsnetz mit einer solchen Paketvermittlungsvorrichtung | |
DE69022942T2 (de) | Schrittablauf innerhalb eines Knotens für ein schnelles Netzwerk. | |
EP0351014B1 (de) | Koppelfeld für ein Vermittlungssystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8320 | Willingness to grant licences declared (paragraph 23) |