DE69106414T2 - Verfahren zur Steuerung des Zugangs zu einem Bus in einem (DBDQ)-Netzwerk, bestehend aus zwei Bussen und einer verteilten Warteschlange. - Google Patents
Verfahren zur Steuerung des Zugangs zu einem Bus in einem (DBDQ)-Netzwerk, bestehend aus zwei Bussen und einer verteilten Warteschlange.Info
- Publication number
- DE69106414T2 DE69106414T2 DE69106414T DE69106414T DE69106414T2 DE 69106414 T2 DE69106414 T2 DE 69106414T2 DE 69106414 T DE69106414 T DE 69106414T DE 69106414 T DE69106414 T DE 69106414T DE 69106414 T2 DE69106414 T2 DE 69106414T2
- Authority
- DE
- Germany
- Prior art keywords
- bus
- node
- access
- request
- cell
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 16
- 238000012544 monitoring process Methods 0.000 claims 2
- 238000011144 upstream manufacturing Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 7
- 230000001934 delay Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- 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/40—Bus networks
- H04L12/40169—Flexible bus arrangements
- H04L12/40176—Flexible bus arrangements involving redundancy
- H04L12/40189—Flexible bus arrangements involving redundancy by using a plurality of bus systems
-
- 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/2852—Metropolitan area networks
-
- 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/40—Bus networks
- H04L12/407—Bus networks with decentralised control
- H04L12/417—Bus networks with decentralised control with deterministic access, e.g. token passing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf Kommunikationsnetze und insbesondere auf ein Verfahren zur Steuerung des Zugriffs von einzelnen Knoten auf Busse in einem (DQDB)-Netzwerk mit zwei Bussen und einer verteilten Warteschlange.
- Ein DQDB-Netzwerk ist definiert als ein Netzwerk mit doppelten einseitig gerichteten Bussen, die Daten in entgegengesetzten Richtungen befördern.
- Ein DQDB-Netzwerk kann eine bedeutende Komponente oder ein Unternetzwerk in einem Hochgeschwindigkeitsnetz sein, eine Bezeichnung, die im allgemeinen so definiert ist, daß sie ein Netzwerk betrifft, das sowohl Sprach- wie Dateninformation über einen begrenzten geographischen Bereich bei Datengeschwindigkeiten übertragen kann, die eine vorher bestimmte Schwellengeschwindigkeit übertreffen. Die Größe des Bereichs und die Schwellendatengeschwindigkeit sind Diskussionsgegenstand in Arbeitsgruppen zur industriellen Normung.
- Knoten in einem DQDB-Netzwerk sind mit den beiden einseitig gerichteten Bussen parallel verbunden. Jeder Knoten kann Daten lesen, die auf einem Bus transportiert werden, und kann Daten modifizieren, wenn sie den Knoten am Bus durchlaufen; das heißt, er kann aus dem Bus lesen und in ihm schreiben.
- Jeder Bus wird so betrachtet, als ob er seinen Ursprung an einem einzelnen Knoten hat, der als Buskopf-(oder einfach Kopf-)Knoten bezeichnet wird, und als ob er an einem einzelnen Knoten endet, der als Busend- oder Endknoten bezeichnet wird. Der gleiche Knoten dient als Kopf eines der Busse und Ende des anderen. Die Daten, die auf den Bussen transportiert werden, werden am Endknoten nach dem Lesen abgelegt oder gehen verloren. Es gibt an einem beliebigen Knoten kein Überlaufen der Daten von dem einen Bus zum anderen, dies schließt den Kopf- und den Endknoten ein.
- Obgleich die Zeitgebersignale für beide Busse aus einer einzigen Zeitgeberquelle abgeleitet werden können, werden die Lese- Schreibvorgänge hinsichtlich jedes Busses unabhängig und asynchron ausgeführt, indem sie effektiven vollen Duplexinformationsaustausch zwischen zwei beliebigen Knoten bereitstellen.
- Daten werden normalerweise entlang jedes Busses in aufeinanderfolgenden Schlitzen mit fester Länge transportiert. In dieser Beschreibung wird der Ausdruck Schlitz benutzt, um das Zeitsegment zu bezeichnen, in dem die Daten transportiert werden können, während der Ausdruck Zelle dafür benutzt wird, um die Dateneinheit zu bezeichnen, die in diesem Schlitz transportiert werden. Gemäß einem Normentwurf ist jede Datenzelle dreiundfünfzig Bytes lang. Die dreiundfünfzig Bytes sind in einen Kennsatz zu fünf Bytes und in ein Datensegment mit achtundvierzig Bytes unterteilt, das manchmal als das Nutzlastsegment der Zelle bezeichnet wird. Da ein Byte aus 8 Bits besteht, werden die einzelnen Bytes manchmal Oktett genannt.
- Das erste Byte oder Oktett in jedem Kennsatz ist ein Zugriffssteuerungsfeld, das ein Besetztbit und ein Unterfeld von vier Reservierungsbits umfaßt. Die drei restlichen Bits im Zugriffssteuerungsfeld sind reserviert oder führen definierte Funktionen aus, die für die vorliegende Erfindung nicht von Bedeutung sind.
- Der Wert des Besetztbits zeigt an, ob der Schlitz besetzt ist (schon von Information eingenommen wird, die von einem datenstromaufwärts liegenden Knoten in den Schlitz geschrieben wird) oder leerläuft (für Daten verfügbar ist, wenn der Knoten irgendwelche abzusenden hat). Üblicherweise zeigt eine binäre 1 in der Position des Besetztbits einen besetzten Schlitz an, während eine binäre 0 einen leerlaufenden oder verfügbaren Zeitschlitz anzeigt.
- Jedes der vier Bits im Reservierungsfeld zeigt an, ob ein datenstromabwärts gelegener Knoten Daten abzusenden hat. Jede Bitposition im Reservierungsfeld ist einer von vier Prioritätsebenen zugeordnet. Um die folgende Erklärung zu vereinfachen, soll zeitweilig angenommen werden, daß das System ein System mit einer einzelnen Priorität ist; das heißt, daß es ein einzelnes Bit im Reservierungsfeld des Zugriffssteuerungsfeldes gibt.
- In einem grundlegenden DQDB-System, z.B. IEEE Communication Nagazine vom April 1988, Bd. 26, Nr. 4, New York, USA, Seiten 20 bis 28, fordert ein Knoten, der Daten auf einem der Busse absenden muß, hier willkürlich als Bus A bezeichnet, Zugriff auf Bus A an, indew er ein Reservierungsbit in die nächste verfügbare Zelle auf Bus B schreibt. Die nächste verfügbare Zelle ist diejenige, die bei Ankunft am Knoten über Bus B eine binäre 0 im Bit des Reservierungsfeldes hat. Ein Knoten, der einen Zugriff anfordert, ändert den Bitwert in eine binäre 1, wenn die Zelle durchläuft.
- Jeder auf Bus B nachfolgende Knoten liest den binären Wert des Reservierungsfeldbits. Wenn der Knoten selbst aktuell keinen Zugriff auf Bus A anfordert, wird ein Anforderungszähler (RQ) bei jedem empfangenen Reservierungsbit in einer Zelle auf Bus B inkrementiert. Der RQ-Zähler wird für jeden leerlaufenden Schlitz, der den Knoten auf Bus A durchläuft, um eine Zählung dekrementiert, da der leerlaufende Schlitz von einem der datenstromabwärts auf Bus A liegenden Knoten genutzt werden kann. Damit zeigt die aktuelle RQ-Zählung die Anzahl der aktuell nicht befriedigten Reservierungsanforderungen von datenstromabwärts auf Bus A liegenden Knoten für einen Zugriff auf Bus A an.
- Wenn ein Knoten eine Anforderung für den Zugriff auf Bus A auslöst, dann wird die aktuelle RQ-Zählung an einen Abwärtszähler (CD> im Knoten übertragen. Der RQ-Zähler wird dann auf Null zurückgesetzt. Der CD-Zähler wird für jeden leerlaufenden Schlitz, der den Knoten auf Bus A durchläuft, um eins dekrementiert, während der RQ-Zähler von neuem beginnt, die angekommenen Reservierungsbits zu zählen. Wenn der CD-Zähler Null erreicht, dann schreibt der Knoten seine Daten zur Übertragung entlang Bus A in den durchlaufenden leerlaufenden Schlitz.
- Die obige Beschreibung setzt ein Einzelprioritätssystem voraus. Ein Mehrfachprioritätsystem ist mit verhältnismäßig wenigen Veränderungen anzupassen. In einem Mehrfachprioritätssystem sind jeder Prioritätsebene ein RQ-Zähler und ein CD-Zähler zugeordnet. In einem Mehrfachprioritätssystem, bei dem ein Knoten keinen Zugriff auf Bus A abfordert, zählt der RQ-Zähler des Knotens (für eine spezielle Prioritätsebene) die Reservierungsbits, die für diese Prioritätsebene und alle höheren Ebenen empfangen wurden. Wenn der Knoten Zugriff auf Bus A abfordert, dann wird der CD-Zähler weiterhin bei jedem auf Bus A gefundenen leerlaufenden Schlitz dekrementiert, aber er wird ebenfalls für jedes im RQ- Zähler gezählte Reservierungsbit inkrementiert.
- In einem idealen System würde das oben beschriebene grundlegende DQDB-Protokoll es dem ersten Knoten gestatten, mit einer Zugriffsanforderung den ersten verfügbaren Schlitz zu belegen, und jeder Schlitz würde perfekt genutzt. Unglücklicherweise hindern die in jedem beliebigen realen System existierenden Übertragungsverzögerungen das DQDB-System daran, ideal zu reagieren. Zugriffsanforderungen, die in stromabwärts gelegenen Knoten ihren Ursprung haben, können während der Übertragung entlang eines Busses so verzögert werden, daß ein stromaufwärts liegender Knoten mit einer späteren Zugriffsanforderung der erste bei der Belegung eines verfügbaren Zeitschlitzes sein wird. Übertragungsverzögerungen in Verbindung mit Verzögerungen, die auf die Verarbeitung von Zugriffsanforderungssignalen zurückzuführen sind, können zu einer bevorzugten Behandlung von Knoten führen, die näher am Buskopf liegen.
- Die Unausgewogenheit des grundlegenden DQDB-Protokolls ist bekannt, und es sind mehrere Zugriffssteuerungsverfahren vorgeschlagen worden, um diese Unausgewogenheit zu vermindern.
- Eine solche Methode wird als Bandbreitenausgleich oder BWB bezeichnet. Dieses Verfahren erfordert das Vorhandensein eines BWB-Zählers an jedem Knoten und die Auswahl eines BWB-Modulus. Bandbreitenausgleich erfolgt, wenn der BWB-Modulus einen von Null verschiedenen positiven Wert hat. Wenn ein Knoten Daten in einen leerlaufenden Schlitz auf einem der Busse (angenommen Bus A) schreibt, wird der BWB-Zähler am Knoten inkrementiert. Wenn die inkrementierte BWB-Zählung dem gewählten Modulus gleich ist, dann wird der BWB-Zähler auf Null zurückgesetzt.
- Bei jeder Nullzählung darf ein leerlaufender Schlitz den Knoten passieren, so daß er von einen stromabwärts gelegenen Knoten benutzt werden kann. Der leerlaufende Schlitz darf sogar dann passieren, wenn der betreffende Knoten eine weitere Zugriffsanforderung anstehen hat. Dies wird dadurch erreicht, daß jeder RQ-Zähler an dem Knoten für Prioritätsebenen inkrementiert wird, für die sich keine Zugriffsanforderungen in der Warteschlange befinden, und daß alle CD-Zähler an dem Knoten für diejenigen Prioritätsebenen inkrementiert werden, die in der Warteschlange befindliche Zugriffsanforderungen haben.
- Das BWB-Verfahren bietet keine vollständige Lösung des Problems der Unausgewogenheit. Einerseits betrachtet das Verfahren die den Zugriffsanforderungen zugeordneten Prioritätsebenen nicht angemessen und kann zu einer ungeeigneten Behandlung der Zugriffsanforderung mit hoher Priorität führen. Zum anderen nutzt das Verfahren die verfügbaren Zeitschlitze nicht vollständig und kann einfach dadurch keine Ausgewogenheit erreichen, daß es so viel Zeit braucht. In der Zeit hat das System die Bandbreite wieder ausgemittelt, wodurch leere Schlitze zu einem stromabwärts liegenden Knoten durchgelassen werden, wenn dieser Knoten die Schlitze nicht mehr braucht.
- Ein vorgeschlagenes alternatives Verfahren würde es erfordern, daß ein Knoten statt bei jeder Dateneinheit, die er absenden möchte, er dann eine einzelne Reservierungsanforderung absendet, wenn er zum ersten Mal heraus findet, daß er Zugriff auf Bus haben muß. Der Knoten würde auch ein Leerlaufsignal absenden, wenn der Zugriff nicht länger erforderlich ist. Die Verwendung einer einzelnen Reservierungsanforderung setzt die Anzahl der zu verarbeitenden Anforderungen und möglicherweise jegliche mit dieser Verarbeitung verbundenen Verzögerungen herab, die bei der Einreihung in eine Warteschlange entstehen. Die Wirkung von Übertragungsverzögerungen wird ebenfalls herabgesetzt.
- Die Urheber dieser Verfahrensweise haben zumindest zwei Probleme erkannt. Erstens gestattet die Struktur des Zugriffssteuerungsfeldes des gegenwärtig definierten DQDB-Systems keine vier Ebenen von Anforderungs- und Leerlaufsignalen. Zweitens erfordert das Verfahren gelegentliche Rücksetzsignale, damit beim Vorhandensein von Leitungssignalfehlern Korrekturvorgänge sichergestellt sind. Das Auftreten der Rückstellsignale kann zu Übertragungs- und Zugriffsverzögerungen führen.
- Die vorliegende Erfindung ist deshalb ein einfaches Verfahren zur Zugriffssteuerung, bei dem keine neue Definition des DQDB- Zugriffssteuerungsfeldes erforderlich ist, das aber die Auswirkung von Übertragungsverzögerungen minimiert und die Ausnutzung der vorhandenen Bandbreite des Busses optimiert.
- Die Erfindung wird in einem System mit zwei Bussen realisiert, bei dem angenommen wird, daß der erste Bus in der einen Richtung Busanforderungssingale transportiert, während ein zweiter Bus Daten in einer zweiten Richtung transportieren soll. Gemäß der vorliegenden Erfindung verfolgt jeder Knoten kontinuierlich die Anzahl der Knoten, die Zugriff auf den zweiten Bus anfordern, indem er die aufeinanderfolgenden Busanforderungssignale zählt, die auf dem ersten Bus empfangen werden. Wenn der zählende Knoten ebenfalls Zugriff auf den zweiten Bus wünscht, dann fügt er dem Strom ein Busanforderungssignal hinzu, womit er die Anzahl der aufeinanderfolgenden Signale erhöht, die vom nächsten Knoten auf dem ersten Bus gesehen werden. Der Knoten sucht gleichzeitig nach leerlaufenden Schlitzen auf dem zweiten Bus. Der Knoten wird in den ersten verfügbaren leerlaufenden Schlitz Daten einschreiben und dann eine Anzahl von leerlaufenden Schlitzen passieren lassen, ehe er versucht, wieder Zugriff auf den zweiten Bus zu gewinnen. Die Anzahl der leerlaufenden Schlitze, die passieren dürfen, ist gleich der Anzahl der stromabwärts liegenden Knoten auf dem zweiten Bus, für die der betrachtete Knoten Zugriffsanforderungen erhalten hat.
- Einzelheiten von bevorzugten Ausführungsformen der Erfindung können aus der folgenden ausführlichen Beschreibung leicht ermittelt werden, wenn sie in Zusammenhang mit den zugehörigen Zeichnungen gelesen wird, wobei:
- Figur 1 ein Blockdiagramm der Systemebenen ist, das eine Umgebung für ein öffentliches DQDB-System erläutert;
- Figur 2 ein Blockdiagramm der Systemebenen ist, das eine Umgebung für ein privates DQDB-System erläutert;
- Figur 3 ein Blockdiagramm der zwei Busse und der Knoten ist, die in einem beliebigen DQDB-Netzwerk vorkommen;
- Figur 4 ein etwas ausführlicheres Diagramm eines einzelnen Knotens in einen DQDB-System ist;
- Figur 5 das Format einer Standardinformationszelle in einem DQDB-System zeigt;
- Figur 6 eine Zeittabelle ist, welche die aufeinanderfolgenden Bitmuster zeigt, die bei einer gegebenen Prioritätsebene in einem System mit fünf Knoten für eine gegebene Abfolge von Zugriffsanforderungen vorkommen; und
- Figur 7, die aus den Figuren 7A und 7B besteht, die zusammen zu betrachten sind, ein Flußdiagramm eines Verfahrens ist, das die vorliegende Erfindung realisiert.
- Figur 1 zeigt auf der Ebene eines Blockdiagramms die verschiedenen Komponenten eines Hochgeschwindigkeitsnetzes 10. Ein Stadtbereichsnetzwerk ist eins, das integrierte Sprach- und Datenübertragungsdienste für verschiedene Firmen- oder Einzelbenutzer innerhalb eines begrenzten geographischen (städtischen) Bereichs bietet. Ein Hochgeschwindigkeitsnetz kann DQDB-Unternetzwerke 12 umfassen, die Sprach- und Datensignale transportieren, die ihren Ursprung bei den verschiedenen Benutzern im gesamten Bereich haben. DQDB-Netzwerke können über andere bekannte Arten von Netzwerken verbunden sein, wie etwa ein Hochgeschwindigkeitsnetz mit Paketvermittlung 14 oder ein leitungsvermitteltes Netzwerk 16. DQDB-Netzwerke können auch über eine Mehrfachzugriffsbrücke 18 verbunden sein.
- Jede Netzwerkkomponente in einem Hochgeschwindigkeitsnetz kann sowohl als ein Unternetzwerk oder auch als ein Netzwerk angesehen werden, was von dem Sinn abhängt, in dem die Komponente betrachtet werden soll. Wenn sie als Teil des Hochgeschwindigkeitsnetzes betrachtet wird, in dem sie sich befindet, dann hat die Komponente den Status eines Unternetzwerkes. Wenn sie für sich selbst betrachtet wird, dann wird die gleiche Komponente so betrachtet, daß sie Netzwerkstatus hat.
- DQDB-Unternetzwerke innerhalb eines Hochgeschwindigkeitsnetzes können mit externen Datenquellen/-senken verbunden sein, wie etwa einem privaten Host 20, einem lokalen Netz oder LAN 20 oder sogar mlt einem privaten DQDB-Netzwerk 24.
- Weder die einzelne Konfiguration des Hochgeschwindigkeitsnetzes noch die Einzelheiten der verschiedenen Komponenten (die keine DQDB-Unternetzwerke sind) des Hochgeschwindigkeitsnetzes sind für das Verständnis der vorliegenden Erfindung von Bedeutung.
- Ein privates DQDB-Netzwerk, wie etwa Netzwerk 24, kann eine Anzahl von dlrekt angeschlossenen Komponenten unterstützen. Wie in Figur 2 dargestellt, kann das private DQDB-Netzwerk 24 sowohl mit dem öffentlichen DQDB-Netzwerk 12 wie mit privaten Datenverarbeitungssystemen, wie etwa einem Token-Ring-LAN 26, einem Token-Bus-LAN 28, einem PBX 30 und einem Host 32 verbunden sein. Das private DQDB-Netzwerk 24 kann sogar direkt damit verbundene integrierte Sprach/Daten-Arbeitsstationen unterstützen, wie etwa der Arbeitsplatzrechner 34.
- Figur 3 zeigt ein einfaches DQDB-Netzwerk, das aus den fünf Knoten 36, 38, 40, 42 und 44 besteht. Die Knoten sind parallel mit zwei einseitig gerichteten Bussen 46 (oder Bus A) und 48 (oder Bus B) verbunden. Der Knoten 36 wird so betrachtet, daß er der Kopf des Busses A und das Ende des Busses B ist. Knoten 44 wird so betrachtet, daß er das Ende von Bus A und der Kopf von Bus B ist. Alle Daten auf einem Bus fließen von seinem Kopf zu seinem Ende. Bus A und Bus B funktionieren unabhängig voneinander, sogar dann, wenn die Zeitsteuerung für Vorgänge auf beiden Bussen aus einer einzelnen Zeittaktquelle an einem der Knoten abgeleitet wird.
- Die beiden Busse, die zusammen betrachtet werden, stellen effektive Duplexkommunikationen zwischen zwei beliebigen Knoten zur Verfügung. Zum Beispiel kann der Knoten 36 auf Bus A Daten an Knoten 42 senden, während zur selben Zeit Knoten 42 auf Bus B Daten an Knoten 36 sendet.
- Figur 4 ist eine etwas ausführlichere Darstellung eines Knotens. Der Knoten ist willkürlich als Knoten 38 bezeichnet worden, obgleich die folgende Beschreibung auf jeden beliebigen verallgemeinerten Knoten in einem DQDB-System gilt. Der Knoten umfaßt eine Zugriffseinheit 50, die Daten aus beiden Bussen 46 und 48 lesen und diese Daten modifizieren kann, wenn sie die Zugriffseinheit auf dem Bus durchlaufen. Die den Knoten 38 auf dem Bus 46 durchlaufenden Daten werden über die Verwendung einer Exclusiv-ODER-Schaltung 54 modifiziert oder geschrieben, die Eingänge von Bus 46 und von der Zugriffseinheit 50 hat. Daten, die auf Bus 48 transportiert werden, können an einer Exclusiv-ODER- Schaltung 52 modifiziert werden, die sowohl mit diesem Bus wie mit der Zugriffseinheit 50 verbunden ist. Mit Ausnahme der nachstehenden Anmerkung sind die Einzelheiten der Zugriffseinheit 50 für das Verständnis der vorliegenden Erfindung nicht von Bedeutung. Weiterhin sollte angemerkt werden, das Exclusiv-ODER- Schaltungen nur eine Möglichkeit haben, auf dem Bus eine Schreibfunktion auszuführen. Eine weitere Möglichkeit zur Ausführung der gleichen Funktion würde in der Verwendung einer üblichen Lese-/Lösch-/Schreiblogik in der Zugriffseinheit 50 bestehen.
- Zugriffssteuerung zu den Bussen durch die Knoten umfaßt mehrfache Sätze von Zugriffsteuerungszählern und -registern. Jeder Prioritätsebene an jedem Bus wird ein Satz zugeordnet, und er umfaßt drei verschiedene Zähler und ein Register. Ein einzelner Satz wird nachstehend beschrieben.
- Die folgende Beschreibung benutzt die Ausdrücke stromaufwärts und stromabwärts, um den Standort eines Knoten in Bezug auf einen anderen (örtlichen) Knoten zu definieren. Ein stromaufwärts liegender Knoten ist einer, der Daten vor dem örtlichen Knoten empfängt. Ein stromabwärts liegender Knoten ist einer, der Daten nach dem örtlichen Knoten empfängt. Bei jeglicher Beschreibung eines DQDB-Systems muß mit der Interpretation der Ausdrücke sorgfältig umgegangen werden, da ein Knoten, der von einem örtlichen Knoten aus stromaufwärts auf einem der beiden Busse liegt, so betrachtet wird, daß er zu dem gleichen örtlichen Knoten auf dem anderen der beiden Busse stromabwärts liegt.
- Einer der Zähler in jedem Satz ist ein Zähler für die stromabwärts liegenden Zugriffsanforderungen oder DAR-Zähler 56, der dazu verwendet wird, die Anzahl der stromabwärts liegenden Knoten zu zählen, die aktuell Zugriff auf einen speziellen Bus anfordern.
- Zugriffsanforderungen zu einem Bus werden in Form von Anforderungsbits in Zellen, die auf dem anderen Bus ankommen, an den örtlichen Knoten geschickt. Es können beispielsweise stromabwärts zum Knoten 38 auf dem Bus 46 liegende Knoten Zugriff auf zu diesen Bus anfordern, indem sie Anforderungsbits in Zellen umfassen, die auf dem Bus 48 zum Knoten 38 transportiert werden. Wie später ausführlicher beschrieben wird, zählt jeder DAR-Zähler aktuell die Anzahl der aufeinanderfolgenden Busanforderungsbits auf jeder Prioritätsebene in den auf Bus 48 transportierten Zellen.
- Jeder Zugriffssteuerungssatz umfaßt auch ein DAR-Register 58, das dazu benutzt wird, eine Zählung von stromabwärts liegenden Zugriffsanforderungen zu speichern. Die Beziehung zwischen dem DAR-Zähler 56 und dem DAR-Register 58 wird später diskutiert.
- Jeder Satz umfaßt weiterhin einen Zähler für leerlaufende Schlitze 60, dessen grundlegende Funktion darin besteht, sicherzustellen, daß der Knoten eine angemessene Anzahl von leerlaufenden Schlitzen an die stromabwärts liegenden Knoten abliefern soll, damit die Zugriffsanforderungen dieser Knoten zufriedengestellt werden. Weitere Einzelheiten über den Betrieb des Zählers 60 werden später zur Verfügung gestellt.
- Abschließend umfaßt jeder Satz einen Anforderungsketten- oder RS-Zähler, dessen grundlegende Funktion darin besteht, die geeignete Anzahl von aufeinander folgenden Anforderungsbits an den nächsten stromaufwärts liegenden Knoten weiterzugeben. Der Betrieb des RS-Zählers wird später beschrieben.
- Figur 5 zeigt das Format der Informationszellen, die in aufeinanderfolgenden Zeitschlitzen entlang jedes der beiden Busse transportiert werden. Die Figur zeigt die Zellenbegrenzer und jegliche Prüfzeichen für die Datenunversehrtheit, die benutzt werden könnten, nicht, da sie allgemein bekannt sind.
- Jede Zelle wird aktuell definiert als Zelle mit einer festen Länge oder als Dreiundfünfzig-Byte-Zelle. Die Zelle ist unterteilt in einen Kennsatz 64 zu fünf Bytes und in ein Daten- oder Nutzlastsegment 66 zu 48 Bytes. Das erste Byte oder Oktett 68 im Kennsatz 64 ist ein Zugriffssteuerungsfeld 68, das in der Figur in vergrößerter Form dargestellt wird.
- Das Zugriffssteuerungsfeld für eine Zelle umfaßt die Position eines Besetztbits 70, das anzeigt, ob das Nutzlastsegment der Zelle belegt ist (Daten transportiert, die an einem stromaufwärts liegenden Knoten zur Verfügung gestellt wurden) oder leerläuft. Wenn das Nutzlastsegment leerläuft, dann kann der die Zelle empfangende Knoten Daten in das Segment einschreiben, falls gewisse Bedingungen erfüllt sind. Diese Bedingungen werden nachstehend diskutiert. Üblicherweise zeigt eine binäre 1 in der Bitposition 70 eine besetzte oder belegte Zelle an, während eine binäre 0 eine leerlaufende Zelle anzeigt.
- Das Zugriffssteuerungsfeld umfaßt in einem Segment 72 drei zusätzliche Bitpositionen. Diese Bits werden bei dem zu beschreibenden Verfahren der Zugriffssteuerung nicht benutzt und sollen vernachlässigt werden.
- Der Rest des Zugriffssteuerungsfeldes umfaßt ein Anforderungsfeld 74, das mit 4 Bitpositionen dargestellt ist. Jede der Bitpositionen ist in einer bevorzugten Ausführungsform der Erfindung mit einer speziellen Prioritätsebene verbunden. Eine in einer speziellen Bitposition im Anforderungsfeld 74 empfangene binäre 1 wird als eine Anforderung eines anderen Knotens für Zugriff auf den anderen Bus bei der mit der Bitposition verbundenen Prioritätsebene ausgelegt. Wenn zum Beispiel REQ3 als die höchste Prioritätsebene angesehen wird und REQ3 als die niedrigste, wird ein auf Bus 48 empfangenes Anforderungsfeld mit einem Bitmuster 1001 so ausgelegt, daß es Anforderungen zum Zugriff auf Bus 46 durch zwei stromabwärts liegende (auf Bus 46) Knoten enthält, jeweils eine auf der höchsten und eine auf der niedrigsten Prioritätsebene.
- Bei dieser gegebenen Struktur ist es implizit, daß jede Zelle pro Prioritätsebene nur eine Zugriffsanforderung enthalten kann, aber insgesamt vier Zugriffsanforderungen enthalten kann, jeweils eine für jede der vier möglichen Prioritätsebenen.
- Gemäß der vorliegenden Erfindung ist der Zugriff auf einen Bus eine Funktion der Anzahl der stromabwärts liegenden Knoten, die Zugriff auf diesen Bus haben möchten. Zugriff ist keine Funktion der Anzahl der Datensegmente, die diese Knoten auf den Bus schreiben möchten. Daher wird unter Bezugnahme auf Figur 6, wenn der Knoten 76D zwei Datensegmente auf Bus A und der Knoten 76C fünfzig Datensegmente auf Bus A schreiben möchten, der Knoten 6B nur wissen, daß zwei stromabwärts gelegene Knoten den Bus A benutzen möchten. Knoten 76B will nicht wissen, welche zwei Knoten oder wie viele Daten jeder der Knoten senden muß.
- Jeder örtliche Knoten erwirbt Kenntnisse über die Anzahl der stromabwärts liegenden Knoten, die Zugriff anfordern, indem er die Anzahl der Busanforderungssignale (binäre 1en) zählt, die in jeder Bitposition in den Anforderungsfeldern in den nacheinander empfangenen Zellen ankommen. Wenn der örtliche Knoten selbst Zugriff auf den Bus haben will, dann benutzt er den ersten verfügbaren leerlaufenden Schlitz auf dem Bus für seine Daten. Dann erlaubt er den leerlaufenden Schlitzen, zu den stromabwärts liegenden Knoten durchzulaufen, um deren Zugriffsanforderungen zu bedienen, ehe er wieder versucht, Zugriff auf den Bus zu gewinnen.
- Figur 6 ist eine Zeittabelle der Ergebnisse des Vorganges und setzt zur Vereinfachung der Erklärung ein einfaches Prioritätssystem voraus. Am Anfang wird angenommen, daß keiner der Knoten 76B bis 76E Zugriff auf Bus A anfordert, aber daß Knoten 76A zur Zeit jeden Schlitz auf Bus A benutzt. Die anfängliche Situation ist zum Zeitpunkt T0 dargestellt. Unter diesen Bedingungen sieht jeder Knoten vier aufeinanderfolgende 0-Anforderungsbits in vier aufeinanderfolgenden Zellen, die entlang Bus B übertragen werden.
- Wenn zum Zeitpunkt T1 der Knoten 76D Zugriff auf Bus A anfordert, dann benachrichtigt er die Knoten 76A, 76B und 76C von diesen Anforderungen, indem er das Muster der Anforderungsbits verändert, die auf Bus B transportiert werden. Das neue an diese Knoten gelieferte Muster (in vier aufeinanderfolgenden Zellen auf Bus B) hat die Form von abwechselnden 0en und 1en oder 0101. Dieses Muster wird von den Knoten 76A, 76B und 76C dahingehend übersetzt, daß es bedeutet, daß ein stromabwärts liegender Knoten Zugriff auf Bus A anfordert.
- Wenn zum Zeitpunkt T2 der Knoten 76B Zugriff auf Bus A anfordert, dann benachrichtigt dieser Knoten den Knoten 76A dadurch von der Anforderung, daß er eine binäre 1 zum Anforderungsbitmuster auf Bus B hinzufügt. Knoten 76A empfängt dann ein wiederholtes Muster 011. Knoten 76B und Knoten 76C schließen sich mit dem Empfang des wiederholten Musters 01 an, da nur ein zu diesen Knoten stromabwärts liegender Knoten Zugriff auf Bus A anfordert.
- Zum Zeitpunkt T3 wird angenommen, daß Knoten 76C Zugriff auf Bus A anfordert, indem er eine binäre 1 in das Muster 01 einfügt, das er empfangen hat. Wenn die hinzugefügte binäre 1 am Knoten 76B erkannt wird, dann fügt dieser Knoten ebenfalls eine binäre 1 zu dem Muster hinzu, das er abgesandt hat, so daß Knoten 76A dann ein wiederholtes Muster 0111 empfängt.
- Zum Zeitpunkt T3 hat der Knoten 76A eine Zählung der stromabwärts liegenden Zugriffsanforderungen oder eine DAR-Zählung von 3, Knoten 76B hat eine DAR-Zählung von 2 und Knoten 76C hat eine DAR-Zählung von 1. Die Zählung an einem speziellen Knoten zeigt natürlich die aktuelle Anzahl von Knoten an, die stromabwärts zu dem speziellen Knoten liegen, die Zugriff anfordern.
- Zum Zeitpunkt T4 wird angenommen, daß ein freier oder leerlaufender Schlitz vom Knoten 76A dem Knoten 76B zur Verfügung gestellt wird. Knoten 76B benutzt diesen Schlitz für Daten, die er auf Bus A schreiben möchte. Knoten 76B gestattet es, sogar wenn eine weitere Zugriffsanforderung unmittelbar erfolgt, den nächsten beiden leerlaufenden Schlitzen, auf Bus A durchzulaufen, da er weiß, daß zwei stromabwärts liegende Knoten Zugriffsanforderungen anstehen haben. Knoten 76B verändert dann das Anforderungsbitmuster, das auf Bus B transportiert wird, zu einem wiederholten Muster 011, um damit Knoten 76A zu benachrichtigen, daß nur noch zwei stromabwärts liegende Knoten Zugriff anfordern.
- Wenn zum Zeitpunkt T5 der erste der beiden leerlaufenden Schlitze Knoten 76C erreicht, dann benutzt dieser Knoten den leerlaufenden Schlitz, gestattet dem zweiten leerlaufenden Schlitz den Durchgang und verändert das Anforderungsbitmuster, das auf Bus B transportiert wird, zu einem wiederholten Muster 01.
- Wenn der zweite leerlaufende Schlitz Knoten 76D erreicht, benutzt dieser Knoten den Schlitz und verändert das Anforderungsbitmuster auf Bus B in aufeinanderfolgende 0en. Das neue oder vollständig aus Nullen bestehende Muster benachrichtigt Knoten 6A, 76B und 76C davon, daß es keine ausstehenden Zugriffsanforderungen für Bus A gibt.
- Bei dem Verfahren gibt es drei herausragende Punkte. Erstens zählt jeder Knoten die Anzahl der stromabwärts liegenden Knoten, die Zugriff auf Bus A anfordern, einfach dadurch, daß er die Anzahl der aufeinanderfolgenden binären len in den geeigneten Bitpositionen in den Anforderungsfeldern der Zellen zählt, die auf Bus B empfangen werden. Zweitens benutzt ein Knoten, der eine Zugriffsanforderung anstehen hat, den ersten verfügbaren leerlaufenden Schlitz, den er entdeckt. Drittens gestattet dieser Knoten dann einer Anzahl von leerlaufenden Schlitzen den Durchgang, die gleich der Anzahl der stromabwärts anstehenden Zugriffsanforderungen ist.
- Figur 7, die aus den zusammen zu betrachtenden Figuren 7A und 7B besteht, ist ein Flußdiagramm der Schritte, die an jedem Knoten in einem DQDB-System unternommen werden, um die oben beschriebenen Vorgänge zu erreichen. Da die Vorgänge die Verarbeitung von mehrfachen Zellen erfordern, ist eine Anzahl von Iterationen des Flußdiagramms erforderlich, um eben die Schritte durchzuführen, die theoretisch dabei auftreten, was als ein einzelner Zeitpunkt in der Zeittabelle der Figur 6 beschrieben wird.
- Der erste Schritt in dem Vorgang beginnt, wenn eine Zelle auf einem der Busse empfangen wird, willkürlich bezeichnet als Bus B. Der Knoten liest in einem Vorgang 78 eins der Bits in dem Anforderungsfeld mit vier Bits. Wenn eine Prüfung 80 einen Bitwert von 1 ergibt, dann wird die aktuelle Zählung in dem Zähler der stromabwärts liegenden Zugriffsanforderungen oder DAR-Zähler für die mit dem Bit verbundenen Prioritätsebene in einem Vorgang 82 inkrementiert.
- Es wird dann eine Prüfung 88 vorgenommen, um zu bestimmen, ob die aktuelle DAR-Zählung einen DAR-Registerwert übersteigt, der während eines früheren Vorganges festgelegt wurde. Wenn die DAR- Zählung größer als der Registerwert ist, dann wird die Zählung in einem Vorgang 90 an das Register übertragen. Wenn die Zählung geringer als der Registerwert oder diesem gleich ist, dann wird der Registerwert unverändert belassen.
- Wenn die Prüfung 80 eine binäre 0 in der aktuellen Bitposition im Anforderungsfeld ergibt, wird eine unterschiedliche Reihe von Vorgängen ausgeführt. Eine binäre 0 signalisiert das Kettenende der aufeinanderfolgenden Busanforderungssignale. Die DAR-Zählung, die dann die Anzahl der stromabwärts liegenden Knoten widerspiegelt, die aktuell Zugriff auf Bus A anfordern, wird in Vorgang 92 an das DAR-Register übermittelt, und der DAR-Zähler wird genullt (Vorgang 94).
- Vom Knoten wird eine Prüfung 84 vorgenommen, um zu sehen, ob er an einer Prioritätsebene, die von der aktuellen Bitposition definiert wird, Zugriff auf Bus A anfordert. Wenn der örtliche Knoten auf der in Betracht gezogenen Prioritätsebene keinen Zugriff anfordert, dann wird die Länge der empfangenen Anforderungskette in Richtung stromaufwärts beibehalten. Die Zählung im Anforderungskettenzähler wird in einem Vorgang 85 mit dem Wert des DAR-Registers verglichen. Wenn beide nicht gleich sind (die Anforderungskettenzählung kann nur kleiner oder gleich dem DAR- Registerwert sein), wird in Vorgang 86 eine binäre 1 zwangsweise in die Bitposition in der durchlaufenden Zelle eingeschrieben, und in einem Vorgang 87 wird die Anforderungskettenzählung inkrementiert.
- Wenn die Prüfung 85 zeigt, daß die Anforderungskettenzählung dem DAR-Registerwert gleich ist, dann wird in Vorgang 89 zwangsweise eine binäre 0 in die durchlaufende Bitposition eingeschrieben, und der Anforderungskettenzähler wird in einem Vorgang 91 auf Null rückgesetzt.
- Wenn der örtliche Knoten bei der in Betracht stehenden Prioritätsebene Zugriff anfordert, dann wird die Länge der empfangenen Anforderungskette um eins in Richtung stromaufwärts vergrößert. Um dies zu bewerkstelligen, wird eine Prüfung 93 vorgenommen, um zu sehen, ob die aktuelle Anforderungskettenzählung den DAR-Registerwert überschreitet. Wenn dies der Fall ist, schreibt der Vorgang 89 zwangsweise eine binäre 0 in die aktuelle Bitposition ein, und der Anforderungskettenzähler wird in Vorgang 91 rückgesetzt.
- Wenn Vorgang 93 anzeigt, daß die Anforderungskettenzählung geringer als der DAR-Registerwert oder diesem gleich ist, dann wird in Vorgang 95 zwangsweise eine binäre 1 in die aktuelle Bitposition eingeschrieben, und der Anforderungskettenzähler wird in einem Vorgang 96 inkrementiert.
- Die mit Vorgang 84 beginnenden und mit den Vorgängen 87, 91 oder 96 endenden Schritte vervollständigen die Verfahrensweise der Steuerung der stromaufwärts verlaufenden Anforderungsfolge, und die Prüfung 100 wird dann ausgeführt, um zu sehen, ob alle Bits im Anforderungsfeld gelesen worden sind. Wenn nicht, wählt ein Vorgang 102 die nächste Bitposition aus (die einer unterschiedlichen Prioritätsebene gleichgesetzt wird), und die mit Vorgang 78 beginnenden und mit Vorgang 100 endenden Schritte werden wieder durchgeführt.
- Wenn Prüfung 100 zeigt, daß das Anforderungsfeld vollständig gelesen wurde, wird eine weitere Prüfung durchgeführt, um zu bestimmen, ob der örtliche Knoten auf einer beliebigen Prioritätsebene Zugriff auf Bus A anfordert. Wenn es keine anstehenden Zugriffsanforderungen gibt, dann wartet das System einfach (Vorgang 106) auf die nächste Zelle, die auf Bus B ankommen soll.
- Wenn jedoch der örtliche Knoten selbst Zugriff auf Bus A anfordert, dann muß eine Reihe von Schritten ausgeführt werden, um zu bestimmen, ob der örtliche Knoten den nächsten verfügbaren leerlaufenden Schlitz belegen kann, den er auf Bus A empfängt.
- Der örtliche Knoten überwacht in einem Vorgang 108 das Besetztbit jeder Zelle, die er auf Bus A empfängt. Wenn die Zelle Daten enthält, die von einem stromaufwärts liegenden Knoten auf Bus A in das Nutzlastsegment eingeschrieben wurden, dann ist sie für den örtlichen Knoten nicht verfügbar. Der örtliche Knoten unternimmt kelne Aktivität, außer daß er auf die nächste Zelle auf Bus B wartet.
- Wenn jedoch die nächste an dem örtlichen Knoten ankommende Zelle leerlaufend ist, wie es von einer binären 0 in der Besetztbitposition des Zugriffssteuerungsfeldes angezeigt wird, dann prüft die örtliche Zelle (Vorgang 110), um zu sehen, ob es irgendwelche stromabwärts liegenden Zugriffsanforderungen gibt, die auf höheren Prioritätsebenen anstehen, wie es durch von Null verschiedene Werte in den örtlichen DAR-Registern angezeigt wird, die diesen höheren Prioritätsebenen zugeordnet sind. Eine stromabwärts anstehende Zugriffsanforderung bei einer höheren Prioritätsebene hat ein höheres Vorrecht auf den leerlaufenden Schlitz, wodurch er den örtlichen Knoten dazu zwingt, daß er einfach auf die nächste Zelle auf Bus B wartet.
- Wenn es keine stromabwärts anstehenden Zugriffsanforderungen mit einer höheren Prioritätsebene gibt, wie es durch Nullwerte in den örtlichen DAR-Registern für diese Prioritätsebenen angezeigt wird, dann kann der örtliche Knoten zum Zugriff auf Bus A in der Lage sein oder auch nicht, was jeweils von den Ergebnissen des nächsten Vorgangs 112 abhängt.
- Wie früher angemerkt, muß eine Zelle, die Daten in einen Bus geschrieben hat, dann einer ausreichenden Anzahl von leerlaufenden Schlitzen den Durchgang erlauben, damit stromabwärts anstehende Zugriffsanforderungen mit der gleichen Prioritätsebene bedient werden. Um zu bestimmen, ob eine ausreichende Anzahl von leerlaufenden Schlitzen den örtlichen Knoten passiert hat, wird für die Anzahl der leerlaufenden Schlitze, die den örtlichen Knoten seit dem letzten Mal passiert haben, als er Daten in den Bus lud, eine Zählung der leerlaufenden Schlitze aufrechterhalten. Wenn die Zählung der leerlaufenden Schlitze sich in Vorgang 112 als gleich dem oder geringer als der DAR-Registerwert bei der gleichen Prioritätsebene herausgestellt hat, dann wird in einem Vorgang 118 die Zählung der leerlaufenden Schlitze inkrementiert, und der örtliche Knoten wartet einfach auf die nächste Zelle auf Bus B. Der leerlaufende Schlitz auf Bus A darf zur Verwendung durch einen der stromabwärts liegenden Knoten auf Bus A passieren.
- Wenn jedoch Vorgang 112 anzeigt, daß die Zählung der leerlaufenden Schlitze den DAR-Registerwert übersteigt, dann darf der örtliche Knoten in einem Vorgang 114 auf den Bus schreiben, und die Zählung der leerlaufenden Schlitze wird in einem Vorgang 116 auf Null gesetzt.
- Das oben beschriebene Verfahren bietet eine effiziente Nutzung der DQDB-Busse bei einem Systemtyp, der ein Anforderungsfeld mit vier Bit im Zugriffssteuerungsfeld hat, wobei jedes Bit einer unterschiedlichen Zugriffsprioritätsebene zugeordnet ist. Die Erfindung kann leicht auf ein System mit fünfzehn Prioritätsebenen ausgedehnt werden, indem man die vier Bits in dem Anforderungsfeld einfach zusammen benutzt, um eine der fünfzehn Prioritätsebenen zu bezeichnen, bei der ein stromabwärts liegender Knoten Zugriff anfordert.
- Um den Betrieb an fünfzehn Prioritätsebenen anzupassen, ist es notwendig, an jedem Knoten einen Decoder einzubeziehen, um die von dem Anforderungsfeld dargestellt Bitmuster zu decodieren, weiterhin fünfzehn Sätze DAR-Zähler, DAR-Register, Anforderungskettenzähler und Zähler für leerlaufende Schlitze; das heißt einen Satz für jede Prioritätsebene. Mit Ausnahme dieser Veränderungen würden die gleichen grundlegenden Verfahrensschritte ablaufen.
- Obwohl hier das beschrieben worden ist, was als bevorzugte Ausführungsformen der Erfindung zu betrachten ist, können Fachleute Veränderungen und Modifikationen an diesen Ausführungsformen vornehmen, wenn ihnen die grundlegenden Konzepte der Erfindung einmal zugänglich sind, die nur vom Umfang der beigefügten Ansprüche begrenzt wird.
Claims (4)
1. Ein Verfahren der Zugriffssteuerung auf einen Bus in einem
Netzwerk, das eine Vielzahl von parallelen Knoten (3G bis
44) hat, wobei ein erster Bus (48) die Knoten in einer
ersten Richtung zur Übertragung der von den Knoten
gelieferten Busanforderungssignale verbindet und ein zweiter Bus
(46) die Knoten zur Übertragung aufeinanderfolgender
Informationszellen in einer zweiten Richtung verbindet, wobei
jede Zelle entweder als besetzt betrachtet wird, wenn sie
von einem der Knoten in die Zelle eingeschriebene Daten
transportiert, oder als leerlaufend, wenn sie keine solche
Daten transportiert; dieses Verfahren wird an jedem Knoten
ausgeübt, um Zugriff auf den zweiten Bus zu erhalten, und
ist dadurch gekennzeichnet, das es die Schritte umfaßt:
Zählen (78, 80) der Anzahl der Busanforderungssignale, die
am betrachteten Knoten empfangen werden, um die Anzahl der
stromabwärts liegenden Knoten zu bestimmen, die Zugriff auf
den zweiten Bus wünschen,
Erhöhen (82) der Anzahl der an den nächsten Knoten
weitergegebenen Busanforderungssignale nur dann, wenn der
betrachtete Knoten Zugriff auf den zweiten Bus wünscht,
Überwachen (84 bis 112) der den betrachteten Knoten auf dem
zweiten Bus passierenden Zellen und Schreiben von Daten in
die erste leerlaufende Zelle, wenn der betrachtete Knoten
Zugriff auf den zweiten Bus wünscht, und
Durchlassen einer Anzahl von leerlaufenden Zellen, die
gleich der Anzahl der stromabwärts gelegenen Knoten ist,
die Zugriff auf den zweiten Bus wünschen, durch den
betrachteten Knoten, ehe ein weiterer Versuch zum Zugriff auf
den zweiten Bus unternommen wird.
2. Das Verfahren gemäß Anspruch 1, wobei jede in der zweiten
Richtung übertragene Zelle mindestens ein Besetztbit und
mindestens ein Busanforderungsbit hat, wobei das Verfahren
die Schritte umfaßt:
Lesen (78) des Busanforderungsbits in jeder Zelle, die den
Knoten auf einem ersten Bus durchläuft,
Zählen (80) der Anzahl der aufeinanderfolgenden
Busanforderungsbits, die einen ersten Wert haben,
Aktualisieren (90) eines Anforderungswertregisters, um die
Zählung immer dann gleichzusetzen, wenn die Zählung größer
wird als der aktuelle Registerwert oder wenn ein
Busanforderungsbit mit einem zweiten Wert angetroffen wird,
Verändern (95, 96, 89, 91, 86, 87) des Musters der
Busanforderungsbits, die nur über den ersten Bus übertragen
werden, wenn der Knoten auf dem zweiten Bus Daten übertragen
soll, wobei die Veränderung die Erhöhung der Anzahl der
aufeinanderfolgenden Busanforderungsbits mit dem ersten
Wert umfaßt,
Lesen (108) des Besetztbits in jeder Zelle, die den Knoten
auf dem zweiten Bus passiert,
Schreiben (114) von Daten in die erste durchlaufende Zelle
auf dem zweiten Bus, die ein Besetztbit mit einem ersten
Wert hat, und
Durchlassen (118) aller Zellen mit einem Besetztbit mit
einem zweiten Wert und einer Anzahl von Zellen mit einem
Besetztbit mit dem ersten Wert, wobei die Anzahl der im
Anforderungswertregister gespeicherten Zählung gleich ist,
ehe ein weiterer Versuch unternommen wird, Zugriff auf den
zweiten Bus zu erhalten.
3. System zur Zugriffssteuerung zu einem Bus in einem
Netzwerk, das eine Vielzahl von parallelen Knoten (36 bis 44),
einen ersten Bus (48), der die Knoten in einer ersten
Richtung zur Übertragung der von den Knoten gelieferten Bus
anforderungssignale verbindet, und einen zweiten Bus (46)
hat, der die Knoten in einer zweiten Richtung zur
Übertragung aufeinanderfolgender Informationszellen verbindet,
wobei jede Zelle entweder als besetzt betrachtet wird, wenn
sie von einem Knoten in die Zelle eingeschriebene Daten
transportiert, oder als leerlaufend, wenn sie keine solche
Daten transportiert; dieses System wird an jedem Knoten
ausgeführt, um Zugriff auf den zweiten Bus zu erhalten und
ist dadurch gekennzeichnet, daß es umfaßt:
Mittel (56) zum Zählen der Anzahl der
Busanforderungssignale, die an dem betrachteten Knoten empfangen wurden, um die
Anzahl der stromabwärts gelegenen Knoten zu bestimmen, die
Zugriff auf den zweiten Bus wünschen,
Mittel (58) zum Erhöhen der Anzahl der an den nächsten
Knoten gelieferten Busanforderungssignale nur dann, wenn der
betrachtete Knoten Zugriff auf den zweiten Bus (46)
wünscht,
Mittel (50, 52) zum Überwachen der den betrachteten Knoten
auf dem zweiten Bus (46) passierenden Zellen und zum
Einschreiben von Daten in die erste leerlaufende Zelle, wenn
der betrachtete Knoten Zugriff auf den zweiten Bus (46)
wünscht, und
Mittel (60), die einer Anzahl von leerlaufenden Zellen, die
gleich der Anzahl der stromabwärts gelegenen Knoten ist,
die Zugriff auf den zweiten Bus wünschen, es gestatten, den
betrachteten Knoten zu passieren, ehe ein weiterer Versuch
begonnen wird, Zugriff auf den zweiten Bus zu erhalten.
4. Das System gemäß Anspruch 3, wobei jede in der zweiten
Richtung übertragene Zelle mindestens ein Besetztbit und
mindestens ein Busanforderungsbit hat, wobei das System
umfaßt:
Mittel (50) zum Lesen des Busanforderungsbits in jeder
Zelle, die den Knoten auf einem ersten Bus passiert,
Mittel (50) zum Zählen der Anzahl der aufeinanderfolgenden
Busanforderungsbits mit einem ersten Wert,
Mittel (50) zum Aktualisieren eines
Anforderungswertregisters, um die Zählung immer dann gleichzusetzen, wenn die
Zählung größer wird als der aktuelle Registerwert oder wenn
ein Busanforderungsbit mit einem zweiten Wert angetroffen
wird,
Mittel (50) zum Ändern des Musters der auf dem ersten Bus
übertragenen Busanforderungsbits nur dann, wenn der Knoten
auf dem zweiten Bus Daten übertragen soll, wobei die
Veränderung das Erhöhen der Anzahl der aufeinanderfolgenden
Busanforderungsbits mit dem ersten Wert umfaßt,
Mittel (50) zum Lesen des Besetztbits in jeder Zelle, die
den Knoten auf dem zweiten Bus passiert,
Mittel (50) zum Einschreiben von Daten in die erste
durchlaufende Zelle auf dem zweiten Bus, die ein Besetztbit mit
einem ersten Wert hat, und
Mittel zum Durchlassen aller Zellen, die ein Besetztbit mit
einem zweiten Wert haben, und einer Anzahl von Zellen, die
ein Besetztbit mit dem ersten Wert haben, wobei die Anzahl
gleich der im Anforderungswertregister gespeicherten
Zählung ist, ehe ein weiterer Versuch unternommen wird,
Zugriff auf den zweiten Bus zu erhalten.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/494,636 US5124981A (en) | 1990-03-09 | 1990-03-09 | Access control method for dqdb network |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69106414D1 DE69106414D1 (de) | 1995-02-16 |
DE69106414T2 true DE69106414T2 (de) | 1995-07-13 |
Family
ID=23965312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69106414T Expired - Fee Related DE69106414T2 (de) | 1990-03-09 | 1991-01-25 | Verfahren zur Steuerung des Zugangs zu einem Bus in einem (DBDQ)-Netzwerk, bestehend aus zwei Bussen und einer verteilten Warteschlange. |
Country Status (4)
Country | Link |
---|---|
US (1) | US5124981A (de) |
EP (1) | EP0448494B1 (de) |
JP (1) | JPH0732398B2 (de) |
DE (1) | DE69106414T2 (de) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5425022A (en) * | 1989-06-16 | 1995-06-13 | British Telecommunications Public Limited Company | Data switching nodes |
US5504748A (en) * | 1989-09-13 | 1996-04-02 | Telstra Corporation Limited | Method of erasing slots |
NL9001173A (nl) * | 1990-05-21 | 1991-12-16 | Nederland Ptt | Werkwijze ter verbetering van de overdracht van informatie in de vorm van datapakketten, volgens een gedistribueerd-wachtrij protocol. |
US5282198A (en) * | 1990-07-18 | 1994-01-25 | At&T Bell Laboratories | Initialization of data stations on a dual bus data subnetwork |
DE69117487T2 (de) * | 1991-03-27 | 1996-10-02 | Ibm | Verfahren zum Zugriff auf den Übertragungsweg lokaler Netze |
US5369748A (en) * | 1991-08-23 | 1994-11-29 | Nexgen Microsystems | Bus arbitration in a dual-bus architecture where one bus has relatively high latency |
NL9200405A (nl) * | 1992-03-04 | 1993-10-01 | Nederland Ptt | Werkwijze ter verbetering van de overdracht van datapakketten met verschillende prioriteiten volgens het dqdb protocol. |
US5392033A (en) * | 1993-01-05 | 1995-02-21 | International Business Machines Corporation | Priority generator for providing controllable guaranteed fairness in accessing a shared bus |
US5412651A (en) * | 1993-02-11 | 1995-05-02 | Nec America, Inc. | Structure and method for combining PCM and common control data on a backplane bus |
US5390181A (en) * | 1993-06-04 | 1995-02-14 | Illinois Institute Of Technology | Method for detecting collisions on and controlling access to a transmission channel |
US5446737A (en) * | 1994-02-07 | 1995-08-29 | International Business Machines Corporation | Method and apparatus for dynamically allocating shared resource access quota |
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 |
US5799018A (en) * | 1994-05-19 | 1998-08-25 | Nippon Telegraph And Telephone Corp. | Method and system for private communication with efficient use of bus type transmission path |
US5535340A (en) * | 1994-05-20 | 1996-07-09 | Intel Corporation | Method and apparatus for maintaining transaction ordering and supporting deferred replies in a bus bridge |
KR0123064B1 (ko) * | 1994-12-02 | 1997-11-24 | 양승택 | 노드 또는 링크의 장애 발생시에도 절체없이 패킷 데이타의 전달이 가능한 패킷전달망 시스템 |
DE59408447D1 (de) * | 1994-12-23 | 1999-08-05 | Hewlett Packard Gmbh | Datennetzwerk und Verfahren zur zeitrichtigen Übertragung von Datenpaketen in einem Datennetzwerk |
US5790806A (en) * | 1996-04-03 | 1998-08-04 | Scientific-Atlanta, Inc. | Cable data network architecture |
US6026460A (en) * | 1996-05-10 | 2000-02-15 | Intel Corporation | Method and apparatus for sequencing system bus grants and disabling a posting buffer in a bus bridge to improve bus efficiency |
US5850557A (en) * | 1996-05-10 | 1998-12-15 | Intel Corporation | Method and apparatus for reducing bus bridge thrashing by temporarily masking agent requests to allow conflicting requests to be completed |
US6081536A (en) | 1997-06-20 | 2000-06-27 | Tantivy Communications, Inc. | Dynamic bandwidth allocation to transmit a wireless protocol across a code division multiple access (CDMA) radio link |
US6542481B2 (en) | 1998-06-01 | 2003-04-01 | Tantivy Communications, Inc. | Dynamic bandwidth allocation for multiple access communication using session queues |
SE521824C2 (sv) | 1997-11-18 | 2003-12-09 | Ericsson Telefon Ab L M | En metod för att kontrollera access till ett kundlokaliserat nätverk |
US6049541A (en) * | 1997-12-04 | 2000-04-11 | Alcatel Usa Sourcing, L.P. | Distributed telecommunications switching system and method |
US6222832B1 (en) | 1998-06-01 | 2001-04-24 | Tantivy Communications, Inc. | Fast Acquisition of traffic channels for a highly variable data rate reverse link of a CDMA wireless communication system |
US7394791B2 (en) | 1997-12-17 | 2008-07-01 | Interdigital Technology Corporation | Multi-detection of heartbeat to reduce error probability |
US8175120B2 (en) | 2000-02-07 | 2012-05-08 | Ipr Licensing, Inc. | Minimal maintenance link to support synchronization |
US9525923B2 (en) | 1997-12-17 | 2016-12-20 | Intel Corporation | Multi-detection of heartbeat to reduce error probability |
US7936728B2 (en) | 1997-12-17 | 2011-05-03 | Tantivy Communications, Inc. | System and method for maintaining timing of synchronization messages over a reverse link of a CDMA wireless communication system |
US8134980B2 (en) | 1998-06-01 | 2012-03-13 | Ipr Licensing, Inc. | Transmittal of heartbeat signal at a lower level than heartbeat request |
US7773566B2 (en) | 1998-06-01 | 2010-08-10 | Tantivy Communications, Inc. | System and method for maintaining timing of synchronization messages over a reverse link of a CDMA wireless communication system |
US6356548B1 (en) | 1998-06-29 | 2002-03-12 | Cisco Technology, Inc. | Pooled receive and transmit queues to access a shared bus in a multi-port switch asic |
US6473801B1 (en) * | 1999-03-23 | 2002-10-29 | Lsi Logic Corporation | System and method for arbitrating bandwidth on segmented network topologies |
US6529983B1 (en) | 1999-11-03 | 2003-03-04 | Cisco Technology, Inc. | Group and virtual locking mechanism for inter processor synchronization |
US8155096B1 (en) | 2000-12-01 | 2012-04-10 | Ipr Licensing Inc. | Antenna control system and method |
US7551663B1 (en) | 2001-02-01 | 2009-06-23 | Ipr Licensing, Inc. | Use of correlation combination to achieve channel detection |
US6954448B2 (en) | 2001-02-01 | 2005-10-11 | Ipr Licensing, Inc. | Alternate channel for carrying selected message types |
EP2479904B1 (de) | 2001-06-13 | 2017-02-15 | Intel Corporation | Vorrichtungen zur Senden eines Herzschlagsignals mit einem niedrigeren Pegel als eine Herzschlaganforderung |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE82097T1 (de) * | 1984-12-03 | 1992-11-15 | Univ Western Australia | Protokoll fuer warteschlange. |
GB8518133D0 (en) * | 1985-07-18 | 1985-08-21 | British Telecomm | Communications network |
US4701910A (en) * | 1985-11-29 | 1987-10-20 | General Electric Company | Reliable local area network including active stations |
EP0381868B1 (de) * | 1989-01-17 | 1994-09-07 | Koninklijke Philips Electronics N.V. | Verfahren und System zur Übertragung von gepufferten Datenpaketen auf einem Übertragungsnetz |
US5001707A (en) * | 1989-11-02 | 1991-03-19 | Northern Telecom Limited | Method of providing reserved bandwidth in a dual bus system |
US4977557A (en) * | 1989-12-14 | 1990-12-11 | Northern Telecom Limited | Method of providing effective priority access in a dual bus system |
-
1990
- 1990-03-09 US US07/494,636 patent/US5124981A/en not_active Expired - Lifetime
-
1991
- 1991-01-25 DE DE69106414T patent/DE69106414T2/de not_active Expired - Fee Related
- 1991-01-25 EP EP91480016A patent/EP0448494B1/de not_active Expired - Lifetime
- 1991-02-12 JP JP3060760A patent/JPH0732398B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH04220035A (ja) | 1992-08-11 |
DE69106414D1 (de) | 1995-02-16 |
JPH0732398B2 (ja) | 1995-04-10 |
EP0448494A2 (de) | 1991-09-25 |
US5124981A (en) | 1992-06-23 |
EP0448494A3 (en) | 1992-01-22 |
EP0448494B1 (de) | 1995-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69106414T2 (de) | Verfahren zur Steuerung des Zugangs zu einem Bus in einem (DBDQ)-Netzwerk, bestehend aus zwei Bussen und einer verteilten Warteschlange. | |
DE69027362T2 (de) | Fairnessalgorithmus für Vollduplex-Puffereinfügungsring | |
DE3586280T2 (de) | Gesteuertes sternnetz. | |
DE69332558T2 (de) | Multiport-Brücke für lokales Netz | |
DE3855925T2 (de) | Nachrichtenübertragung in einem multiplexsystem | |
DE69031266T2 (de) | Übertragungsarchitektur für Hochgeschwindigkeitsnetzwerk | |
DE69221338T2 (de) | Steuervorrichtung für Wiederholerschnittstelle | |
DE69116249T2 (de) | Wiederholer | |
DE2953444C2 (de) | Anordnung und Verfahren für ein digitales Datenübertragungsnetzwerk | |
DE69404284T2 (de) | Verfahren und vorrichtung zur reduzierung der uebertragung von wiederholten rundsendedatagrammen ueber nachrichten-verbindungen | |
DE68911695T2 (de) | Überlastfreies paketvermittlungsnetzwerk. | |
DE69219141T2 (de) | Übertragungsemulator für lokales netz | |
DE3687190T2 (de) | Kommunikationsverfahren. | |
DE69323547T2 (de) | Verfahren zur gruppenbildung von umbindungen in einer paketvermittlung | |
DE68913230T2 (de) | Lokale Netzwerkverbindungsvorrichtung mit einstellbarer Betriebsart. | |
DE69429508T2 (de) | Bus-sender/empfänger mit binärem datenübertragungssmodus und ternären steuersignalübertragungssmodus | |
DE69015901T2 (de) | Verfahren zum Zusammenfügen von zwei zellulären Datenstömen in einen einzigen zellulären Datenstrom in einem ATD-Multiplexer. | |
DE69032502T2 (de) | Drahtloses telekommunikationssystem innerhalb eines gebäudes für sprach- und datenkommunikation | |
DE69217437T2 (de) | WIEDERHOLER FüR DIGITALE DATENNETZWERKE | |
DE69431846T2 (de) | System für asynchronen datentransfer und steuerung des quellenverkehrs | |
DE69223482T2 (de) | Integration von synchronen und asynchronen Daten in Ringnetzwerken | |
DE69021790T2 (de) | Mehrstufiges Netz mit verteilter Steuerung. | |
EP0351014B1 (de) | Koppelfeld für ein Vermittlungssystem | |
DE68918077T2 (de) | Verfahren und System zur Übertragung von gepufferten Datenpaketen auf einem Übertragungsnetz. | |
DE69534171T2 (de) | Verfahren und Vorrichtung für verbesserten Durchfluss in einem Vielfachknoten-Kommunikationssystem mit einem gemeinsamen Betriebsmittel |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |