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
Application number
DE69106414T
Other languages
English (en)
Other versions
DE69106414D1 (de
Inventor
Neville Lloyd Golding
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE69106414D1 publication Critical patent/DE69106414D1/de
Application granted granted Critical
Publication of DE69106414T2 publication Critical patent/DE69106414T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • H04L12/40189Flexible bus arrangements involving redundancy by using a plurality of bus systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2852Metropolitan area networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/417Bus 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.
DE69106414T 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. Expired - Fee Related DE69106414T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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