-
Die Erfindung, die Gegenstand der vorliegenden Anmeldung
ist, ist insbesondere in einem System nützlich, das eine
oder mehrere Erfindungen umfaßt, die in den nachfolgenden
Anmeldungen, auf die allgemein Bezug genommen wird und die
am gleichen Tag wie die vorliegende Anmeldung eingereicht
wurden, erläutert werden:
-
US-Patent Nr. 44 50 572 mit dem Titel "Interface for Serial
Data Communications Link", von Robert E. Steward, Robert
Giggi und John E. Buzynski,
US-Patent Nr. 4777595 mit dem Titel "Method And Apparatus
For Direct Memory to Memory Intercomputer Communication"
von William Strecker, Robert Steward und Samuel Fuller und
US-Patent Nr. 4560985 mit dem Titel "Dual-Count, Round-
Robin Distributed Arbritration Technique For Contention-
Arbitrated Serial Buses" von William D. Strecker, John E.
Buzynski und David Thompson.
-
Im dem Maße, das für ein Verständnis der Eigenschaften der
vorliegenden Erfindung notwendig ist, die in der
vorliegenden Schrift nicht vollständig erläutert sind, wenn es
welche gibt, und in dem Maße, das für ein vollständigeres
Verständnis der Nützlichkeit oder der Vorteile der
vorliegenden Erfindung hilfreich ist, werden die Erläuterungen, die
in den oben genannten Anmeldungen enthalten sind, hiermit
durch Verweis auf diese Anmeldungen miteinbezogen, obwohl
eine vollständige Erläuterung nachfolgend gegeben wird.
Feld der Erfindung
-
Die vorliegende Erfindung betrifft das Feld von
Computersystem-Verbindungen, und genauer eine Vorrichtung zum
Übertragen von Informationen zwischen unterschiedlichen
Computern oder Computersystemelementen eines
Computernetzwerks. Sie umfaßt die Verwendung nicht nur eines sondern
zweier oder mehrerer alternativer Busse oder
Verbindungssubsysteme' um die unterschiedlichen Computer des Netzwerks in
die Lage zu versetzen, miteinander kommunizieren zu können.
Hintergrund der Erfindung
-
In einem verteilten Computernetzwerk, das ein System von
miteinander verbundenen Computerknoten aufweist, müssen
Kommandos, Antworten und Daten, die Informationen
aufweisen, oft zwischen zwei oder mehreren Knoten und
Knotenkombinationen übermittelt werden, um den verschiedenen
Komponenten des Netzwerks zu erlauben, miteinander in Dialog
zu treten. Im allgemeinen verbindet ein sogenannter "Bus"
die verschiedenen Knoten und dient als
Kommunikationsleitung, die die Knoten miteinander verbindet.
Offensichtlich fällt die Kommunikation zwischen den Knoten aus, wenn
der Bus ausfällt oder nicht verfügbar ist.
-
Ein "Anschluß", der auch als "Interface" oder "Adapter"
bezeichnet wird, ist die Einrichtung durch die ein (Haupt-)
Computer oder eine andere Vorrichtung einen Zugriff auf
einen Bus zum Kommunizieren mit anderen Computern und
Vorrichtungen gewinnt. Ein Anschluß enthält einen
Anschlußprozessor, einen Anschlußpuffer und Verbindungskomponenten.
Die Funktionen dieser Komponenten werden weiter unten
erläutert.
-
Ein "Knoten" umfaßt einen Hauptcomputer und zumindest einen
Anschluß; ein Knoten kann auch mehrere Anschlüsse haben
oder einsetzen und diese Anschlußports können miteinander
über den Bus kommunizieren.
-
Ein "Bus" ist eine Zwischenverbindung zwischen
Einrichtungen, über die Informationen von einer Einrichtung zur
anderen übertragen werden können. Er enthält einen
Kommunikationskanal und zugeordnete Komponenten und Steuerung.
-
Ein "Netzwerk" ist ein System aus Knoten, die mittels eines
gemeinsamen Busses miteinander verbunden sind.
-
Für viele Anwendungen sind die Folgen eines Busausfalls
schwerwiegend, da eine Kommunikation zwischen Computern
wesentlich ist. Ein primäres Entwicklungsziel für solche
Netzwerke besteht deshalb darin, eine hohe Busverfügbarkeit
und Buszuverlässigkeit zu erzielen. Eine Lösung, die in der
Vergangenheit verwendet worden ist, um die Verfügbarkeit
und Zuverlässigkeit der Knoten-Zu-Knoten-Verbindung solcher
Netzwerke zu erhöhen, besteht darin, zwei voll redundante
Buswege vorzusehen, die parallel von Knoten zu Knoten
verlaufen. Auf diese Art und Weise, wenn ein Weg nicht
verfügbar ist, kann der andere Weg verwendet werden. Volle
Redundanz, so wie dieser Ausdruck hier verwendet wird, bedeutet
nicht nur die Verdopplung der Verkabelung zwischen
Systemknoten, sondern auch, daß jeder Knoten und für jeden
Anschluß an jeden Knoten eine vollständig eigene
Verarbeitungsschaltung und Software zum Bewerkstelligen von
Kommunikationen über jeden der Wege vorhanden ist.
-
Die meisten Busausfälle passieren jedoch nicht wegen der
Unzuverlässigkeit der Übertragungs- oder
Empfangsverarbeitungsschaltungen oder der Software eines Knotens, sondern
vielmehr wegen eines tatsächlichen Ausfalls eines Weges,
das heißt, der Verkabelung, der Stecker usw. Zum zweiten
treten Fehler in den Schaltungen, die am nächsten an der
Verkabelung sind, auf, z. B. in den Leitungstreibern und
-empfängern usw. Demzufolge ist die Anwendung einer
vollen Redundanz unnötigerweise aufwendig und verursacht
eine überflüssige Komplexität.
-
Des weiteren erfordert eine volle Redundanz, daß die
Auswahl des Weges für einen bestimmten Austausch an einen
Punkt innerhalb oder sehr nahe an der
Hostcomputer-Interface-Verbindung ausgeführt wird, was allgemein Bewußtsein
der Software und vielleicht sogar eine Aktion durch die
Software des Host-Computers erfordert. Eine Möglichkeit, um
den Schwierigkeiten zu begegnen, die dadurch erzeugt
werden, besteht darin, einem Weg die Primärverantwortlichkeit
zuzuordnen und den anderen Weg bzw. die anderen Wege
nur zu verwenden, wenn der primäre Weg ausfällt. Dies führt
jedoch dazu, daß der Ausfall des Sicherheitsweges bzw. der
Sicherheitswege für eine längere Zeit unerkannt bleibt, bis
dieser Weg oder diese Wege einmal nicht verfügbar sind,
wenn sie benötigt werden, was wiederum das Auftreten eines
Gesamtausfalls der Kommunikationsfähigkeit bedeutet.
-
Eine Vollredundanz hilft auch nicht, die Unversehrtheit
einer logischen Verbindung zwischen Knoten im Falle eines
Busausfalles zu schützen.
-
Demzufolge ist es eine Aufgabe der vorliegenden Erfindung,
ein Computerverbindungssystem hoher Verfügbarkeit und hoher
Zuverlässigkeit anzugeben, das effizienter als ein
einzelner Busweg aber weniger kostenaufwendig als ein voll
redundantes Bussystem ist. Eine weitere Aufgabe der vorliegenden
Erfindung besteht darin, ein solches Bussystem anzugeben,
in dem jeder Knoten ein Minimum an redundanten Teilen
enthält, die dafür vorgesehen sind, die Buswege zu trennen,
wobei eine Mehrheit der Teile für mehrere Buswege zur
Verfügung steht, um eine höhere Zuverlässigkeit und
Verfügbarkeit ohne die Kosten eines vollreduntanten
Zweibussystems zu erzeugen.
-
Eine weitere Aufgabe der vorliegenden Erfindung ist es,
eine solche Zwischenverbindung zu schaffen, die zwei (oder
mehrere) Buswege verwendet, wobei sowohl die Auswahl als
auch der Betrieb des Busweges und auch der Ausfall des
Busweges (mit resultierendem Umschalten) nicht unmittelbar den
Hauptcomputern sichtbar ist, die über das System
kommunizieren.
-
Eine weitere Aufgabe der Erfindung besteht darin, ein
Knotenverbindungsnetzwerk mit mehreren Wegen anzugeben, wobei
der Ausfall eines Weges während eines Austausches die
logische Verbindung zwischen den kommunizierenden Knoten nicht
verfälscht.
Überblick über die Erfindung
-
Die obenstehenden Aufgaben und weitere Aufgaben und
Vorteile der vorliegenden Erfindung werden mittels einer
Busstruktur mit hoher Geschwindigkeit, hoher Verfügbarkeit
und hoher Zuverlässigkeit mit mehreren (z. B. zwei) Wegen
bewerkstelligt, wobei getrennte Leitungstreiber und
-empfänger für jeden Busweg vorgesehen sind, aber ein
einziger Komponentensatz (z. B. gemeinsame Sende- und
Empfangslogikschaltungen usw.) für zwei Wege zur Verfügung steht.
Aus Gründen der Vereinfachung werden nur zwei Buswege
gezeigt. Es wird aber darauf hingewiesen, daß eine größere
Anzahl von Bussen in ähnlicher Weise verwendet werden kann.
Beide Wege werden konstant unter Zuordnung auf einer
zufälligen aber gleichwahrscheinlichen Basis verwendet, so daß
ein Ausfall leicht gefunden werden kann und nicht verborgen
bleibt. Die Verwendung der Wege wird bei jedem Knoten im
Businterface überwacht, so daß ein Umschalten von einem
Weg zum anderen Weg ausgeführt werden kann, wenn ein
Ausfall auftritt oder Fehler auf einem bestimmten Weg
beobachtet werden.
-
Indem die Wegauswahl und die Schalteinrichtung nahe an den
Wegen selbst und von der
Hauptrechner-Schnittstellen-Verbindung entfernt vorgesehen sind, wird die Wegauswahl für
die Hauptrechner transparent gemacht. Das heißt, daß die
Hauptrechner nicht wissen müssen (und nicht wissen),
welcher Busweg für eine bestimmte Übertragung verwendet wird.
-
Übertragungen von einem Knoten zu einem anderen, wie es
vollständiger in dem zuvor erwähnten US-Patent Nr. 4 777
595 mit dem Titel "Method And Apparatus For Direct Memory
To Memory Intercomputer Communication" erläutert wird, auf
das direkt Bezug genommen wird, umfassen Kommunikationen
vom Hauptspeicher an einem Knoten zum Hauptspeicher an
einem anderen Knoten über eine sogenannte (virtuelle)
Schaltung. Virtuelle Schaltungen werden zwischen den
Businterfaces (die auch als Anschluß-Ports bezeichnet werden) der
Knoten angeordnet und zwar gemäß Knotenpaaren.
Informationen über den Zustand der virtuellen Schaltung und über
den Zustand des Weges sind in einem gemeinsamen Ort
integriert. Deshalb wird verhindert, daß ein Ausfall des Weges
einen Ausfall der virtuellen Schaltung verursacht. Es gibt
damit keinen Verlust oder eine Verdopplung von
Übertragungen in Folge eines Wegausfalls. Beim Ausfall eines Weges
während der Übertragung, wird die ausgefallene Übertragung
mit der gleichen Sequenznummer einfach wiederholt. Sie wird
automatisch über den alternativen Weg übertragen und wird
von dem Empfänger als Wiederholung einer fehlgeschlagenen
Übertragung gesehen, wodurch eine doppelte Zuführung
vermieden wird. Das heißt, die gleiche virtuelle Schaltung
wird über den alternativen Weg fortgesetzt.
-
Mehrere Buswege werden primär deshalb vorgesehen, um die
Zuverlässigkeit von Kommunikationen zwischen Knoten zu
verbessern - und zwar so, daß der Ausfall einer einzelnen
Komponente, eines Knotens oder einer Schnittstelle nicht
vollkommen die Kommunikationen zwischen anderen
funktionierenden Knoten und Anschlüssen verhindert. Als zusätzlicher
Vorteil, der mit fast keinen Kosten erreicht wird, kann
der Informationsdurchsatz um ungefähr 50% verglichen mit
einem einzelnen Busweg erhöht werden. Natürlich wird diese
Leistungsfähigkeit beim Ausfall eines Weges verschlechtert,
bis die Reparaturen ausgeführt sind.
-
Jedes Interface ist für das Multiplexen und Demultiplexen
von Paketen auf den Wegen verantwortlich. Wie in dem o.g.
US-Patent Nr. 4777595, auf das hier ausdrücklich Bezug
genommen wird, erläutert wird, enthält jedes Interface einen
Anschlußprozessor, Paketpuffer und eine "Verbindung" (oder
Datenverbindung). Nur der Datenverbindungsabschnitt des
Interfaces muß für jeden Weg logisch dupliziert werden.
-
Zwei Typen von Wegauswahl für die Übertragung sind
vorgesehen. Diese werden mit "Auswahl" und "Automatik" bezeichnet.
Im Auswahl-Modus kann ein Hauptrechner einen bestimmten
Weg spezifizieren. Dieser Modus wird für die Kontroller-
Konfiguration-Transaktionen verwendet und erfordert, daß
Datenpakete auf dem gleichen Weg in Antwort auf ein
Nachfragepaket zurückgegeben werden. Er ist ebenfalls für
diagnostische Zwecke nützlich. Die Mehrzahl der Pakete werden
jedoch im Automatik-Modus gesendet. In diesem Modus wird
die Auswahl des Weges für die Übertragung eines Pakets
durch eine zweiweg-gleichwahrscheinliche, statistische
Auswahl (das heißt durch "Münzwerfen") bewerkstelligt. Dies
resultiert in einem häufigen Überprüfen beider Wege, um
eine frühe Ausfalldetektion durchzuführen. Wenn eine
Übertragung
ausfällt, werden alle Wiederholungsversuche für die
Übertragung des gleichen Pakets auf dem selben Busweg
durchgeführt, bis voreingestellte Wiederholungsgrenzen erreicht
werden. An diesem Punkt kann es dann auf dem anderen Weg
versucht werden, wobei dem gleichen Algorithmus für
Übertragungswiederholung gefolgt wird, bis dessen
Wiederholungsgrenzen überschritten werden. An diesem Punkt ist es am
wahrscheinlichsten, daß ein Hardware-Ausfall aufgetreten
ist oder daß das Ziel-Interface nicht in einem Zustand ist,
wo Kommunikationen ausgeführt werden können.
-
Jeder Anschluß hält eine Tabelle des Wegstatus zwischen
ihm und allen anderen Anschlüssen des Netzwerks. Eine
solche Tabelle zeigt an, ob der Weg zu einem gegebenen
Anschluß richtig funktioniert oder nicht. Die Tabellenwerte
basieren auf früheren Übertragungsergebnissen. Im
Automatik-Modus werden Wege nur aus bekannten guten Wegen, wie
es in der Wegstatustabelle angegeben wird, ausgewählt. Dies
verhindert, daß bekannte schlechte Wege ausgewählt werden,
da solche Auswahlen in fehlgeschlagenen Übertragungen und
in einem darausfolgenden Verlust verfügbarer Bandbreite
resultieren würden. Wenn ein bekannter schlechter Weg
erneut angesprochen wird, um zu sehen, ob er repariert worden
ist, wird er mit einer viel niedrigeren Häufigkeit
ausgewählt, als normal.
-
Der einleitende Teil des Anspruchs 1 basiert auf der
Beschreibung des Artikels Proceedings of the IEEE, 1981,
National Aerospace and Electronics Conference Naecon 1981,
19.-21. Mai 1981, vol. 1, Seiten 309 bis 317, IEEE, New
York, US; Capt. S.J. Laimer et al.: "A solution to bus
contention in a system of autonomous microprocessors". Die
vorliegende Erfindung schafft ein Netzwerk zum Erzeugen
von Kommunikationen zwischen mehreren Computerknoten, wie
es im Anspruch 1 gekennzeichnet ist.
-
Die vorliegende Erfindung wird insbesondere in den
anhängenden Ansprüchen erläutert. Die obenstehenden und weitere
Aufgaben und Vorteile der vorliegenden Erfindung werden
deutlicher durch Bezug auf die nachfolgende Beschreibung
einer Ausführungsform, die in Verbindung mit den
beiliegenden Zeichnungen zu sehen ist.
Kurzbeschreibung der Zeichnungen
-
Fig. 1 ist ein Blockdiagramm eines Businterfaces gemäß
der vorliegenden Erfindung, das ausgelegt ist, ein
Paar von Buswegen zu benutzen; und
-
Fig. 2 ist ein Flußdiagramm des Verfahrens zum Auswählen
eines Busweges für eine Übertragung in
Übereinstimmung mit der vorliegenden Erfindung.
Beschreibung der erläuternden Ausführungsform
-
Einzelweg-Interfaces können auch mit dem Netzwerk verbunden
werden, aber werden nicht angeregt. Alle
Einzelweganschlüsse müssen mit einem vorbestimmten Weg verbunden sein,
um sicher zu stellen, daß alle Knoten in dem Netzwerk
kommunizieren können. Die Gefahr, die aus der Verwendung von
zu vielen Einzelweganschlüssen entsteht, besteht darin,
daß die Wegbelastung (die Ausnutzung) ungleich in einem
Maße verteilt wird, das sowohl die Leistungsfähigkeit als
auch die Zuverlässigkeit verschlechtert..
-
Wenn ein ausreichender Teil jedes Anschlusses real
verdoppelt wird, kann es ermöglicht werden, Pakete auf beiden
Wegen simultan zu übertragen. Wegen der gegenseitigen
Abhängigkeit von wiederholten Übertragungen kann die
Reihenfolge der Paketankünfte unterschiedlich zu der Reihenfolge
ihrer Ausgabe an den erzeugenden Anschluß sein. Um die
Paket-Sequenz auf einer Knoten-zu-Knoten-Basis einzuhalten,
die erforderlich ist, muß die Übertragung eines Datenpakets
zu einem entfernten Anschluß in ihrer Gesamtheit
abgeschlossen sein, bevor ein anderes Paket für den gleichen
Zielort an die Datenverbindung ausgegeben wird. Der
Empfangsanschluß muß die empfangenen Pakete in der
Reihenfolge ihrer Echtzeitankunft verarbeiten.
-
Der Wegauswahlmodus für Paket-Übertragung wird durch den
Wert des Wegauswahlfeldes (PS = Path Select) des Befehls
spezifiziert. Z.B. kann PS = O den Automatik-Modus angeben,
kann PS = 1 den Auswahl-Modus für den Weg 0 angeben, kann
PS = 2 des Auswahl-Modus für den Weg 1 angeben und kann PS
= 3 reserviert werden. Die Wegstatustabelle ist Teil der
Deskriptortabelle der virtuellen Schaltung, die durch jeden
Anschluß aufrechterhalten wird und aus zwei Bits für jedes
Interface-Paar besteht. Es gibt ein Bit für jeden der zwei
Wege, um einen "Gut"- oder "Schlecht"-Status für den
jeweiligen Weg anzugeben. Es wird darauf hingewiesen, daß die
Wegstatustabelle angeben kann, daß der gleiche Weg gut für
einen Zielanschluß und schlecht für einen anderen
Zielanschluß ist, da der Status auf Basis eines Anschluß-Paares
gehalten wird. Zur weiteren Diskussion und Erläuterung des
PS-Feldes und der Beschreibungstabelle für die virtuelle
Schaltung wird auf das o.g. US-Patent Nr. 4777595 Bezug
genommen.
-
Wenn ein Kommando den Automatik-Modus spezifiziert, wird
der Weg für jedes Paket des Kommandos individuell von dem
Weg ausgewählt, der in der Weg-Statustabelle als gut
gekennzeichnet ist. Wenn nur einer der Wege gegenwärtig als gut
markiert ist, wird er verwendet. Wenn beide Wege als gut
markiert sind, werden sie zufallsmäßig ausgewählt.
-
Im Auswahl-Modus wird die Tabelle für eine bestimmte
Übertragung ignoriert, wird aber auf der Basis der Ergebnisse
der Übertragung aktualisiert. Der Status des Weges kann
von schlecht nach gut oder von gut nach schlecht gemäß dem
Ergebnis der Übertragung wechseln.
-
Zum Zeitpunkt der Initialisierung zeigen alle Wegstatustabelleneinträge
an, daß alle Wege gut sind.
-
Für jedes Interface in dem Netzwerk, das nur für den
Betrieb eines einzigen Weges ausgelegt ist, wird nur ein Bit
der Wegstatustabelle festgehalten, und zwar für den
gleichen vorausgewählten Weg in allen Fällen, so daß alle Teile
zumindest einen Weg gemeinsam haben. Im Automatik-Modus
wird dieser Weg verwendet, bis das Bit der Wegstatustabelle
anzeigt, daß der Weg schlecht ist. Im letzten Fall schlägt
das Kommando fehl, da die Kommunikation unmöglich ist.
-
Es wird auf Fig. 1 hingewiesen, wo ein Blockdiagramm
relevanter Abschnitte des Bus-Interface (das heißt eines
Anschlußports) 1 so gezeigt wird, wie es konfiguriert wird,
um zwei Bus-Wege (2A und 2B) gemäß der vorliegenden
Erfindung zu benutzen. Jeder Weg, wie z. B. der Weg 2A, wird
wiederum von einer Sendeleitung 3A und Empfangsleitung 4A
gebildet, die mittels eines Kopplers 5A miteinander verbunden
sind. Der Anschluß umfaßt einen Anschlußprozessor 10,
Sende- und Empfangspaketpuffer 20A und 20B und eine
Verbindung 30. Die Verbindung 30 ist wiederum in drei
Hauptuntereinrichtungen aufgeteilt, nämlich einen Sender 40, einen
Empfänger 50 und einer Arbitationsschaltung 60. Die
letztere kann real in dem Anschlußprozessor implementiert
werden, wird aber als funktional isoliert dargestellt.
-
Zuerst wird der Sendebetrieb beschrieben, wobei der
Anschlußprozessor 10 ein Wegauswahl (PS)-Signal auf die
Leitung 62 zu einem Wegauswahl-Flip-Flop 64 ausgibt, wobei
das letztere von einem Sendetaktsignal (XMIT CLK) getaktet
wird. Das Ausgangssignal des Wegauswahl-Flip-Flops 64
steuert ein Paar von Treibersperrschaltungen 66A und 668
an, von denen jeweils eine für einen ersten Busweg (das
heißt Busweg A) bzw. für einen zweiten Busweg (das heißt
Busweg B) vorgesehen ist. Das Ausgangssignal der Treibersperrschaltungen
steuert die Freigabe der Leitungstreiber
68A bzw. 688. Wenn ein Weg nicht ausgewählt wird, wird
dessen Leitungstreiber gesperrt. Die
Treibersperrschaltungen 66A reagieren auch auf ein Arbitration-Erhalten-Signal,
das auf der Leitung 72 mittels der Arbitrationsschaltung
60 zugeführt wird. Damit ein Leitungstreiber
freigegeben werden kann, muß der zugeordnete Busweg von dem
PS-Signal ausgewählt werden und der Anschluß muß die Arbitration
(das heißt den Zugriff auf) den Bus erhalten haben.
-
Informationspakete, die übertragen werden sollen, werden
mittels Sendepaketpuffern 20A bitseriell einem Kodierer
74 zugeführt. Der Kodierer kombiniert die Informationen
mit einem Sendetakt, wie z. B. durch die sogenannte Manchester-Kodiertechnik.
Die kodierten Sendedaten werden durch
den Kodierer 74 den Leitungstreibern 68A und 68B zur
Übertragung durch den freigegebenen Treiber über den
ausgewählten Busweg zugeführt.
-
Das PS-Signal wird mittels eines Wegauswahl-Algorithmusses
12, der auf dem Anschlußprozessor 10 läuft, erzeugt. Der
Wegauswahl-Algorithmus ermittelt das PX-Feld des
Sendekommandos und wählt einen Weg in Abhängigkeit von diesem
Feld, einem Zufallszahlengenerator und den
Wegstatuseinträgen aus der Wegstatustabelle 110 aus, die auch in dem
Anschlußprozessor 10 aufrechterhalten werden. Fig. 2 liefert
ein vollständigeres Verständnis des
Wegauswahlalgorithmusses.
-
Im nachfolgenden wird der Empfänger behandelt, wobei
Signale auf den Buswegen A und B detektiert werden und von einem
geeigneten Leitungsempfänger 82A bzw. 82B verstärkt werden.
Jeder der Leitungsempfänger versorgt einen Multiplexer
(Mux) 84 und einen Trägerdetektor 86A bzw. 86B. Die
Trägerdetektoren versorgen einen Trägerschalter 88,. der wiederum
den Mux 84 steuert. Genauer veranlaßt der Trägerschalter 88
den Multiplexer 84 dazu, den Eingang entsprechend dem
geeigneten Busweg auszuwählen, auf dem eine Transaktion auftritt
(das heißt, auf dem ein Sendesignal - ein Träger -
detektiert wird). Das Wegumschalten wird nur zu Beginn der
Übertragung durchgeführt, und nicht in der Mitte. Der
Trägerschalter steuert auch die Arbitrationsschaltung 60. Die
letztere wird mit größerer Genauigkeit in dem oben
erwähnten US-Patent Nr. 4560985, auf das hier Bezug genommen
wird, erläutert.
-
Das Ausgangssignal des Mux 84 ist die kodierte
Datenübertragung, die über den ausgewählen Busweg empfangen wird.
Ein Dekodierer 92, wie er z. B. in dem oben erwähnten US-
Patent Nr. 4450572, auf das hier ausdrücklich Bezug
genommen wird, erwähnt ist, trennt das Informationssignal von
dem Takt ab und führt dieses den Empfangspaketpuffern 20B
für Seriell-zu-Parallel-Umwandlung der Informationsbytes zu.
-
Die Ausgangssignale des Dekodierers 92 werden auch einem
Anerkennungsdekodierer 94 zugeführt. Der
Anerkennungsdekodierer ermittelt die Anerkennungssignale, die von dem
Zielanschluß empfangen werden und führt die Ergebnisse einem
Sendestatusregister 96 zu. Das Sendestatusregister wiederum
teilt dem Anschlußprozessor 10 mit, ob die Übertragung
erfolgreich oder erfolglos war, und, wenn das letztere der
Fall ist, ob ein Weg als schlecht gefunden wurde. Wenn ein
Weg als schlecht gefunden wurde, wird der Eintrag der
Wegstatustabelle aktualisiert, um diese Situation
wiederzugeben.
-
Der Betrieb der Wegauswahl wird grafisch im Flußdiagramm
nach Fig. 2 gezeigt. Beim Empfang eines Sendekommandos,
Schritt 102, fängt der Prozeß an. Zuerst wählt der
Anschlußprozessor den Wegauswahlmodus (Schritt 104) aus, das heißt
den Auswahl-Modus (gezeigt auf Leitung 106) oder den
Automatik- Modus (gezeigt auf Leitung 108).
-
Angenommen, der Auswahl-Modus wurde gewählt, dann wird der
ausgewählte Weg beim nächsten Schritt 112 erhalten. Der
Anschluß versucht den Zugriff auf den Bus zu erlangen,
Schritt 118, und sendet, nachdem er die Arbitration beim
Schritt 120 erlangt hat. Beim Abschluß einer Übertragung
(das heißt die Wiederholungsversuche sind erschöpft oder
die Übertragung ist gelungen) wird bestimmt, ob die
Übertragung erfolgreich war, Schritt 121. Wenn das der Fall ist,
verläßt der Algorithmus das Programm, Schritt 122. Wenn die
Übertragung fehlgeschlagen ist, wird die Wegstatustabelle
aktualisiert, um den Weg anzuzeigen, der schlecht ist,
Schritt 121B, und das Programm ist beendet, Schritt 121C
und 121D. Es wird darauf aufmerksam gemacht, daß der
Schritt 120 wiederholt versucht wird, wenn es notwendig
ist. Wenn der Automatik-Modus ausgewählt wird, wird der
Weg wie folgt (Schritt 124) ausgewählt: anfänglich wird
die Wegauswahl zufällig vorgenommen, und zwar auf einer
Basis gleicher Wahrscheinlichkeit. Bei nachfolgenden
Versuchen, einen Weg wegen einer vorhergehenden Auswahl eines
schlechten Weges auszuwählen, wird die vorhergehende
schlechte Auswahl bzw. Auswahlen ausgeschlossen und eine
Zufallsauswahl unter den noch übrigen Wegen wird
durchgeführt. Wenn alle Möglichkeiten ausgeschöpft sind, ohne daß
ein guter Weg gefunden worden ist, ist die Prozedur mit
einer geeigneten Auswahlanzeige, Schritt 126, beendet.
Nachfolgend nach jeder versuchsweisen Wegauswahl, wird der
Status des ausgewählten Weges aus der Wegstatustabelle
erhalten, Schritt 128, und daraufhin überprüft, um zu sehen, ob
er gut oder schlecht ist, Schritt 130. Wenn er schlecht
ist, wird ein Versuch gemacht, einen alternativen Weg
(Schritte 134, 136 und 138) zu finden. Wenn er gut ist,
wird das PS-Signal erzeugt, um die Verbindung auf den
ausgewählten Weg umzuschalten (Schritt 132), und die Arbitration
hat begonnen, Schritt 118.
-
Vom Schritt 121C oder vom Schritt 130 aus startet die alternative
Wegauswahl, indem ein anderer Weg ausgewählt wird,
Schritt 134. Der Status dieses alternativen Weges wird von
der Wegstatustabelle 110, Schritt 136, erhalten und
überprüft, um zu sehen, ob der Weg gut ist, Schritt 138. Wenn
der alternative Weg gut ist, verzweigt die Steuerung zum
Schritt 132. Ansonsten ist die Routine mit einer Anzeige
beendet, daß alle Wege schlecht sind, Schritt 126.
-
Sonst ist eine Beteiligung des Hauptrechners bei der
Durchführung einer Wegauswahl oder Wegumschaltung nicht
notwendig, wobei beide Wege häufig überprüft werden, und eine
minimale Hardware ist dazu notwendig, den zweiten Bus
hinzuzufügen. Es ist eine einfache Sache, diese Konzepte auf
mehr als zwei Wege anzuwenden. Die Hauptänderung würde dann
darin bestehen, daß ein Entscheidungsblock in Fig. 2
zwischen dem "Nein"-Ausgang des Schrittes 138 und dem
Ausgangsschritt 126 hinzugefügt wird, um zum Schritt 134 in
einer Schleife zurückzukommen, wenn nicht alle Wege
ausprobiert worden sind. Die Wegstatustabelle müßte auch
vergrößert werden.