-
ALLGEMEINER
STAND DER TECHNIK GEBIET DER ERFINDUNG
-
Diese
Erfindung betrifft im allgemeinen Kommunikationsverfahren und -topographien.
Insbesondere betrifft die Erfindung einen Schaltkreis und ein Protokoll,
die für
die Fortpflanzung von Informationen durch eine Maschennetz-Topographie
in einer für Echtzeit-Anwendungen
zuverlässigen
Weise von Nutzen sind.
-
BESCHREIBUNG
DES STANDS DER TECHNIK
-
Um
elektronische Informationen von einem Punkt zu einem anderen zu übertragen,
müssen
diese Informationen von dem Sendepunkt, aus an den Empfangspunkt über ein
verbindendes Medium weitergeleitet werden. In einem Telegraphen
wird beispielsweise ein elektrischer Schaltkreis in einer vorhersehbaren
und verständlichen
Weise geöffnet
und geschlossen, so daß Signale,
die an einem Ende einer Leitung erzeugt werden, am anderen empfangen und
verstanden werden. Dies funktioniert äußerst gut, wenn es nur einen
Sendepunkt und einen Empfangspunkt gibt. Probleme beginnen aufzutreten, wenn
beide Punkte in der Lage sind, über
die gleiche Leitung zu senden. Wenn beide Punkte zufällig Signale
an beiden Enden der Leitung erzeugen, wird ein nicht unterscheidbares
Rauschen erzeugt und keine Seite kann die Nachricht des anderen
verstehen. Infolgedessen ist ein Wahrscheinlichkeitsproblem hinsichtlich
dessen vorhanden, daß das
System problemlos arbeitet, wenn nur ein Ende sendet, und daß es nur
zusammenbricht, wenn zufällig
beide Seiten gleichzeitig senden.
-
Um
die Brauchbarkeit des Systems zu erhöhen, ist es nützlich,
mehrere verbundene Stationen entlang einer einzelnen Leitung zu
haben, die sich über
eine große Entfernung
erstreckt. In dieser Auslegung gäbe
es viele Stationen, die zu einem Kommunikations-Netzwerk Zugang
hätten.
Trotz des offenkundigen Vorteils mehrerer Stationen, die auf das Netzwerk
zugreifen, erhöht
sich die Wahrscheinlichkeit, daß zwei
beliebige Stationen zur gleichen Zeit senden, in hohem Maße. Wie
vorher erläutert,
entsteht dadurch das Risiko, daß eine
bestimmte Nachricht nicht erhalten wird.
-
Obwohl
man sich heute sicherlich nicht auf Telegraphen verläßt, um Informationen
zu übermitteln,
sind viele moderne elektronische Einrichtungen von den gleichen
Problemen betroffen, wie vorher beschrieben. Beispielsweise müssen verschiedene Komponenten
in einem Personal Computer sowohl miteinander als auch mit einer
Zentraleinheit kommunizieren. Auf einer höheren Ebene ist es möglich, daß eine Vielzahl
von Computern miteinander über
ein Intranet oder sogar das Internet kommunizieren möchten. Das
Problem ist in jedem Fall das gleiche: wie können miteinander verbundene
elektronische Komponenten über
eine gemeinsam genutzte Leitung kommunizieren?
-
In
der Vergangenheit wurden viele Lösungsarten
angewendet, um dieses Kommunikationsproblem zu beheben. 2 zeigt
eine frühere
Lösung,
die als eine "Bus"-Topographie gut
bekannt ist. Jeder Knoten N im Netzwerk 100 ist mit dem
Bus 10 im wesentlichen in Reihe verbunden. Wenn ein Knoten
N eine Nachricht sendet, wird sie rasch von allen anderen Knoten
N empfangen, indem sie den Bus 10 durchläuft. Jeder
Knoten N, für
den die Nachricht bestimmt war, wird die Nachricht empfangen und
die Informationen verarbeiten. Bei diesem Typ von Topologie treten
drei deutliche Probleme auf. Erstens können wie im Telegraphen-Beispiel
mehrere Knoten N gleichzeitig senden wollen. Zweitens, wenn die Übertragungsstrecke
zwischen irgendeinem Paar von Knoten N abgetrennt ist, ist das gesamte
System zumindest schwer beeinträchtigt
und möglicherweise vollständig außer Betrieb
gesetzt. Drittens, in Anwendungen der realen Welt ist es nicht wahrscheinlich, daß die Auslegung
der Knoten N so symmetrisch ist, wie dies schematisch dargestellt
wird.
-
Eine
Möglichkeit,
sich mit dem ersten Problem auseinanderzusetzen, besteht darin,
ein Protokoll zu verwenden, das als tabellengesteuerter Proportionalzugriff
(Table Driven Proportional Access) (TDPA) bekannt ist, wie in 11 gezeigt.
Bei diesem Protokoll hat jeder Knoten N eine identische Tabelle 20.
Die Tabellen 20 geben an, welcher bestimmte Knoten N zu
einer bestimmten Zeit senden kann. In dem dargestellten Beispiel
gibt es vier Knoten, von 1–4
nummeriert. Jeder Knoten N hat eine Knoten-Verweisadresse 30,
welche die Tabelle der Reihe nach durchläuft und allen Knoten N gleichzeitig
angibt, welcher Knoten N bestimmt ist zu senden. In 11 gibt
die Verweisadresse 30 an, daß der Knoten 3 senden kann.
An diesem Punkt "horchen" alle anderen Knoten
N nach einer Nachricht, die vom Knoten 3 gesendet werden kann oder
nicht. Nachdem die Nachricht gesendet worden ist, bewegt sich die
Verweisadresse 30 zu der nächsten Index-Kennung weiter,
die zufällig
angibt, daß Knoten
1 zum Senden frei ist. Die Verweisadresse durchläuft die Tabelle, und wenn sie
das Ende erreicht, wird sie auf den Anfang zurückgesetzt. Auf diese Weise
weiß jeder
Knoten N, wann er "sprechen" kann und wann er "horchen" muß, wodurch
das Problem vermieden wird, das zwei Knoten N gleichzeitig versuchen,
zur gleichen Zeit zu senden.
-
TDAP
ist ein handelsübliches
und bekanntes Protokoll, es ist allerdings eine große Bandbreite
von anderen Protokollen vorhanden, die mit einem Standardbus verwendet
werden können.
In einigen dieser Protokolle, wie beispielsweise CSMA, könnten mehrere
Knoten N zur gleichen Zeit senden. Wenn dies passiert, "krachen" zwei Signale ineinander.
Das System erkennt dann diesen Zusammenstoß, und jeder Knoten N wird
versuchen, seine jeweilige Nachricht erneut zu senden. Um ein erneutes
Zusammenstoßen
zu vermeiden, wählen
zwei Knoten unab hängig
voneinander willkürliche
Verzögerungszeiten
aus, (bei denen es in hohem Maße
wahrscheinlich ist, daß sie
sich voneinander unterscheiden), und warten diese Zeitdauer ab,
bevor sie erneut senden. Die Wahrscheinlichkeit läßt vermuten,
daß die
zwei Nachrichten jeweils letztendlich gesendet werden, obwohl nachfolgende
Zusammenstöße möglich sind,
(wodurch jeder Knoten wieder veranlaßt wird, eine beliebige Verzögerungszeit
zu wählen
und den Prozeß erneut
zu starten). Wenn dieses Protokoll verwendet wird, kann der Zusammenstoß an jedem
beliebigen Punkt im Bus auftreten. Daher können einer oder mehr Knoten
N eine der Nachrichten vor dem Zusammenstoß erhalten haben und würden daher
nicht erkennen, daß ein
Zusammenstoß stattgefunden
hat. Letztendlich würden
diese Knoten N, wenn die Nachricht erneut gesendet wird, die Nachricht
als eine neue, und nicht als Wiederholung der alten interpretieren.
Um dies bei einem Auftreten eines Zusammenstoßes zu vermeiden, sendet jeder
Knoten, der den Zusammenstoß erkennt,
sofort ein Stausignal an die restlichen Knoten, um den aufgetretenen
Zusammenstoß anzuzeigen.
Dieses Protokoll bringt die Informationen schließlich zu ihrer richtigen Zieladresse,
ist aber inhärent
langsam und einfach ins Stocken zu bringen.
-
Das
zweite große
Problem bei der Verwendung eines Datenbusses tritt auf, wenn eine Übertragungsstrecke 150 zwischen
einem Paar von Knoten N abgetrennt wird, oder ein bestimmter Knoten
Funktionsstörungen
aufweist (und falsche Informationen aussendet). In diesem Fall wird
das gesamte System beeinträchtigt.
Diese Funktionsstörung
könnte
entweder in der Verbindung zwischen dem Knoten N und dem Bus oder
im Bus zwischen den einzelnen Knoten N auftreten. 5 zeigt
einen Bus 10, der vier Knoten N1–N4 aufweist. Wie durch das
X durch den Bus 10 dargestellt ist, wurde die Übertragungsstrecke
zwischen N3 und N4 abgetrennt. Dies könnte das System vollständig stillegen.
-
Um
einen Totalausfall zu verhindern, der durch das Abtrennen einer
Verbindung verursacht wird, kann die redundante Busleitung 10' hinzugefügt werden.
Kurz gesagt, 100% der vorhandenen Busleitungen werden dupliziert,
um eine Redundanz-Ebene zu erhalten. 8 zeigt,
wie drei Busse verwendet werden können, um zwei Redundanz-Ebenen
zu erhalten. Offensichtlich erfordert dieses Schutzverfahren eine übermäßige Menge
an Verkabelungen, wodurch sich die Kosten und die Komplexität des Systems
erhöhen.
-
Unter
erneuter Bezugnahme auf 5 wird ein zweites potentielles
Problem veranschaulicht, bei dem ein Problem mit dem Knoten selbst
vorhanden ist (siehe durchkreuztes N2). Der Knoten kann beliebige
oder falsche Signale generieren und damit sowohl auf dem Bus 10 als
auch 10' ein
Rauschen erzeugen. Ein solcher Knoten mit Fehlfunktion kann auch
eine Änderung
in der Impedanz der verbindenden Medien verursachen. Wenn dieser
Fall eintritt, wird der Knoten als babbelnder Knoten bezeichnet. Daher
kann ein einzelner babbelnder Knoten ungeachtet der erreichten Redundanz-Ebene
das gesamte System stillegen.
-
Das
dritte große
Problem bei der Verwendung eines Datenbusses sind die physikalischen
Parameter des Verbindungskabels. Wie in 13 gezeigt,
sind die verschiedenen Knoten N selten symmetrisch beabstandet,
daher müssen
Verbindungskabel oder Übertragungsstrecken 150 mit
unterschiedlichen Längen
verwendet werden. Aufgrund der Art der Fortpflanzung von Signalen
kann eine maximale Verbindungskabel-Länge nicht überschritten werden, wodurch
die physikalische Auslegung des Datenbusses eingeschränkt wird.
-
Eine
weitere allgemein verwendete Topologie ist der in 3 gezeigte
Ring. Daher bildet das Netzwerk 100 eine seriell verbundene
geschlossene Schleife von Knoten N. Der Ring wird durch viele der gleichen
Probleme wie der vorher beschriebene Bus beeinträchtigt. In den 6 und 9 ist
die zusätzliche
Verkabelung dargestellt, die zum Herstellen einer einfachen und
doppelten Redundanz erforderlich ist. In ähnlicher Weise zeigt 14 einen
Ring, der symmetrisch konfiguriert ist. Wie ersichtlich ist, sind für diese
Auslegung viele Kabel unterschiedlicher Länge erforderlich.
-
Eine
weitere bekannte Topographie ist ein Maschennetz 100, wie
in den 1 und 7 dargestellt. In einem Maschennetz
ist jeder Knoten N mit einer Vielzahl von anderen Knoten N in einer
gitterähnlichen
Art verbunden. Daher besteht zwischen einem bestimmten Paar von
Knoten N eine Vielzahl von Übertragungswegen.
-
Der
große
Vorteil bei der Verwendung eines Maschennetzes ist die inhärente Zuverlässigkeit
der Struktur. Ein Maschennetz ist die einzige inhärent fehlertolerante
Topologie. Unter Bezugnahme auf 4 ist eine
alternative Route immer noch verfügbar, wenn eine bestimmte Übertragungsstrecke 150 abgetrennt
wird. In größeren Netzwerken
wird eine gewaltige Kosteneinsparung dadurch erzielt, daß eine höhere Zuverlässigkeit
erzielt wird, obwohl weniger Kabel als in anderen Topologien verwendet werden.
-
Unter
Bezugnahme auf 10 wird das Sendeprotokoll eines
Maschennetzes 100 beschrieben. Die Fortpflanzung eines
Signals wird durch Fluten des Netzwerks 100 erreicht. Das
heißt,
ein Signal wird von einer Quelle erzeugt und an alle mit ihr verbundenen
Knoten gesendet. Jeder Empfangsknoten leitet die Nachricht dann
weiter. Die Knoten N, die dieses Signal empfangen, leiten das Signal
weiter, bis schließlich
jeder Knoten in dem Netzwerk wenigstens einen Teil der Übertragung
empfangen hat. In 4 stellt der Knoten S den Ausgangspunkt
der Übertragung
dar und Knoten D ist die beabsichtigte Zieladresse. Der Knoten S
sendet ein Signal an seine vier verbundenen Knoten, (von denen drei
dar gestellt sind). Jeder dieser Knoten N sendet dann, bis schließlich Knoten
D erreicht wird. Angenommen, der durch die durchgezogenen Pfeile
dargestellte Übertragungsweg
ist der erste Übertragungsweg, über den
die Daten den Knoten D erreichen. Sobald dies erreicht ist, wird
dieser zum ausgewählten Übertragungsweg,
und die gesamte Nachricht wird über
den Übertragungsweg
gesendet, der mit den durchgezogenen Pfeilen vom Knoten S zum Knoten
D dargestellt ist. Daher wird das Flutprotokoll nur verwendet, um
einen Übertragungsweg
zu bestimmen, und sobald dies geschehen ist, werden die redundanten Übertragungen
von den anderen Knoten N ignoriert. Sobald ein Ausgangspunkt das
nächste
Mal senden möchte,
wird das Flutprotokoll erneut ausgeführt, um einen Übertragungsweg
herzustellen. Wenn eine Übertragungsstrecke 150 zwischen Übertragungen abgetrennt
wurde, kann auf diese Weise immer noch ein funktionierender verbindender Übertragungsweg hergestellt
werden. Es ist anmerkenswert, daß der von den durchgezogenen
Pfeilen dargestellte Übertragungsweg
nur einer von vielen ist, die auftreten könnten. Wenn diese Maschennetz-Auslegung
verwendet wird, wäre
das Abtrennen vieler Übertragungsstrecken
möglich,
und trotzdem könnte
das Netzwerk zu 100 % genutzt werden.
-
Es
gibt zwei allgemein bekannte Netzwerke, die ähnliche Protokolle in einem
Maschennetz verwenden. Und zwar arbeiten das Telefonsystem und das
Internet unter Verwendung dieser Prinzipien. Wenn eine Telefonnummer
gewählt
wird, ermöglichen
die ersten paar Zahlen eine Verbindung mit einem nahegelegenen Knoten;
die nächsten
paar ermöglichen
die Verbindung zu einem weiter entfernten Knoten, und so weiter,
bis die Verbindung mit dem Empfänger
hergestellt ist. Sobald die Verbindung hergestellt ist, wird dieser
einzelne Übertragungsweg für die Dauer
des Anrufs beibehalten. Alle Daten werden über diesen einzelnen Übertragungsweg
gesendet. Wenn, unter Bezugnahme auf 10, der
Knoten S der Anrufer und Knoten D der Empfänger ist, wird die Verbindung wiederum
durch die durchgezogenen Pfeile dargestellt.
-
Das
Internet arbeitet nach einem leicht unterschiedlichen Prinzip. Das
heißt,
anstatt das Flutungsverfahren zu verwenden, um einen Übertragungsweg herzustellen
und die Informationen anschließend über diesen Übertragungsweg
weiterzuleiten, veranlaßt
das Internet-Protokoll, daß die
gesamte Nachricht (Paket) an jeden Knoten gesendet wird. Informationen
in den Kopfdaten der Nachricht definieren die endgültige Zieladresse.
Unter Bezugnahme auf 10 sendet der Knoten 10 eine
gesamte Nachricht an die mit ihm verbundenen Knoten. Die verbundenen
Knoten warten, bis die gesamte Nachricht empfangen wurde und leiten
die gesamte Nachricht dann weiter. Wie vorher beschrieben, wird
damit der Knoten D schließlich
erreicht, und die Nachricht wird richtig empfangen.
-
Das
Problem mit diesem "Internet"-Protokoll besteht
darin, daß jeder
Knoten N nur eine finite Menge von Informationen zu jedem Zeitpunkt
halten kann. Wenn der Knoten S daher an einen verbundenen Knoten
N sendet, dieser verbundene Knoten aber eine unzureichenden Speicherkapazität aufweist,
um die Nachricht speichern zu können,
ist die Nachricht verloren. Die Maschennetz-Anordnung ermöglicht es
den Informationen, schließlich
einen entfernten Knoten zu erreichen, wie beispielsweise Knoten
D. Wenn der beabsichtigte Empfänger
jedoch ein Knoten ist, der mit dem Knoten S verbunden ist, oder wenn
alle diejenigen Knoten, die Übertragungswege zur
Zieladresse darstellen, in ähnlicher
Weise unzureichende Speicherkapazität aufweisen, würde die Nachricht
nie empfangen.
-
Ein
weiteres Problem mit dem Internet-Protokoll ist, daß es ziemlich
langsam ist. Da die gesamte Nachricht als ein Ganzes von einem Ausgangsknoten
zu jedem anderen Knoten gesendet werden muß, ist das Ergebnis eine relativ
langsame Übertragung.
Dies macht eine solche Anordnung für viele Echtzeit-Benutzer lästig. Des
weiteren kommt viel Verzögerung
durch die vorher erläuterten
Probleme mit fehlendem Speicherplatz hinzu.
-
Ein
letztes Problem mit der Verwendung einer Maschennetz-Topologie ist
die Wahrscheinlichkeit, daß ein
bestimmter Knoten N Nachrichten von zwei verschiedenen Knoten N
zur exakt gleichen Zeit empfängt.
Der Knoten N ist normalerweise so ausgelegt, daß er die Nachricht, die er
zuerst empfängt, auswählt und
diese Nachricht verarbeitet. Es gibt jedoch immer Fälle, in
denen der Abstand für
einen Abruf zu eng ist, und die zum Erfassen der Nachrichten verwendeten
elektronischen Einrichtungen werden metastabil. Wenn dieser Fall
eintritt, bricht der Knoten N zusammen; im wesentlichen schwingt
er zwischen den zwei möglichen
Eingängen
hin und her, ohne einen verwendbaren Ausgang zu erzeugen.
-
Hutchison
und andere, "The
Flooding Sink – A
New Approach to Local Area Networking", Computer Networks und ISDN Systems,
NL, North Holland Publishing, Amsterdam, Band 11, Nr. 1, 1986, Seite 1–14, XP000619292
schlägt
eine Lösung
zum Begrenzen der Flut von Informationen zwischen Knoten durch Verwerfen
von alten Nachrichten vor.
-
Es
gibt viele Anwendungen, bei denen ein entsprechend arbeitendes Maschennetz
vorteilhaft wäre,
doch werden sie nicht verwendet, weil die aktuellen Maschennetz-Protokolle ungeeignet
sind. Beispielsweise erfordern Echtzeit-Steuersysteme in Flugzeugen
und großen
Fahrzeugen, wie beispielsweise Busse, eine schnelle, zuverlässige und
genaue Datenübertragung.
Daher besteht ein Bedarf an einem äußerst zuverlässigen Maschennetz,
das rasche Übertragungen
ermöglicht,
um Echtzeit-Anwendungen zu erleichtern.
-
Gemäß der vorliegenden
Erfindung wird ein Verfahren zum Fortpflanzen von Daten über ein
Maschennetz mit Knoten bereitgestellt, das die folgenden Schritte
umfaßt:
- a) Einrichten eines Knotens als einen Sendeknoten
für eine
vorgegebene Zeitspanne;
- b) Einrichten der restlichen Knoten als Empfangsknoten für eine vorgegebene
Zeitspanne;
- c) Übertragen
einer Datennachricht von dem Sendeknoten entlang aller Übertragungsstrecken,
die mit dem Sendeknoten verbunden sind;
- d) wobei jeder Empfangsknoten
1) nach einer eingehenden
Nachricht auf allen seinen Übertragungsstrecken
horcht; und
2) eine Nachricht als eine Quelle auswählt, wenn es
sich um die einzige Nachricht handelt, die auf irgendeiner seiner Übertragungsstrecken
eintrifft, oder willkürlich
eine Nachricht als die Quelle auswählt, wenn eine Nachricht auf
mehr als einer Übertragungsstrecke
eintrifft;
wobei das Verfahren gekennzeichnet ist durch die Schritte
jedes Empfangsknotens:
3) Sperren aller Übertragungsstrecken, die nicht als
eine Quelle bestimmt wurden, wodurch sie daran gehindert werden,
für den
Rest der Nachricht Daten zu empfangen;
4) Weiterleiten jedes
Datenbits auf allen Übertragungsstrecken
unmittelbar nach dem Empfang jedes Datenbits durch den Empfangsknoten;
und
5) Aufheben der Sperre für alle Übertragungsstrecken, wenn die
Nachricht abgeschlossen ist.
-
Gemäß der vorliegenden
Erfindung wird des weiteren eine Entscheidungs- und Logikschaltung
für die
Verwendung mit einem Knoten in einem Maschennetz bereitgestellt,
umfassend:
eine Vielzahl von Eingangs-Übertragungsstrecken;
eine
Vielzahl von bistabilen Kippschaltungen, wobei jede bistabile Kippschaltung
an eine einzelne Eingangs-Übertragungsstrecke
gekoppelt ist, wobei die Eingangs-Übertragungsstrecke
mit dem Eingang der bistabilen Kippschaltung gekoppelt ist;
eine
Vielzahl von UND-Schaltungen, wobei jede UND-Schaltung einen ersten Eingang und einen zweiten
Eingang aufweist, wobei der erste Eingang direkt mit der Eingangs-Übertragungsstrecke
gekoppelt ist und der zweite Eingang mit einem Ausgang der bistabilen
Kippschaltung gekoppelt ist; und
eine ODER-Schaltung, wobei
die ODER-Schaltung eine Vielzahl von Eingängen und einen Ausgang aufweist,
wobei ein Ausgang von jeder UND-Schaltung einen Eingang in die ODER-Schaltung
bereitstellt, wobei der Ausgang der ODER-Schaltung einen Ausgang
für den
Knoten bereitstellt und auch ein Taktsignal für jede der Vielzahl der bistabilen
Kippschaltungen bereitstellt.
-
Des
weiteren wird gemäß der vorliegenden Erfindung
ein Knoten zur Verwendung in einem Maschennetz bereitgestellt, umfassend:
eine
erste Daten-Empfangsvorrichtung;
eine erste Daten-Sendevorrichtung,
die mit der Empfangsvorrichtung gekoppelt ist;
eine erste Vielzahl
von Übertragungsstrecken
(LINK #1–#N),
wobei jede Übertragungsstrecke
einen Eingang (IN) und einen Ausgang (OUT) aufweist, wobei die Eingänge mit
der Empfangsvorrichtung gekoppelt sind und die Aus gänge mit
der Sendevorrichtung gekoppelt sind, so daß Daten, die über einen Übertragungsstrecken-Eingang
empfangen werden, sofort auf alle Übertragungsstrecken-Ausgänge weitergeleitet
werden, dadurch gekennzeichnet, daß das Maschennetz des weiteren
umfaßt:
eine
Entscheidungs- und Sperr-Logikschaltung (102), wobei die
Schaltung umfaßt:
Mittel,
um ein korrektes Senden von Daten zu gestatten, wenn Daten nur über eine Übertragungsstrecke empfangen
werden;
Eingangsmittel, um ein korrektes Senden von Daten zu
gestatten, wenn Daten gleichzeitig über eine Vielzahl von Übertragungsstrecken-Eingängen empfangen
werden; und
Mittel, um ein korrektes Senden von Daten zu gestatten,
wenn Daten über
eine Vielzahl von Übertragungsstrecken
in einer solchen zeitlichen Abfolge empfangen werden, daß ein oder
mehr Übertragungsstrecken-Eingänge veranlaßt werden,
metastabil zu werden.
-
Die
vorliegende Erfindung betrifft die Fortpflanzung von Datensignalen über ein
Maschennetz von Knoten. Ein Maschennetz ist einfach eine Vielzahl
von Knoten, die miteinander entlang einer Vielzahl von verschiedenen Übertragungswegen
verbunden sind. Wenn irgendeine bestimmte Übertragungsstrecke abgetrennt
oder beschädigt
wird, stehen daher alternative Routen für die Weiterleitung von Daten
zur Verfügung.
-
Aktuelle
Maschennetz-Protokolle sind für
die Verwendung in Systemen nicht durchführbar, die eine zuverlässige Echtzeit-Datenübertragung
erfordern. Die vorliegende Erfindung modifiziert das Konzept des
Flutens, um ein Protokoll bereitzustellen, das sowohl schnell als
auch zuverlässig
ist.
-
In
der vorliegenden Erfindung ist es einem einzelnen Knoten gestattet,
jederzeit zu senden. Wenn irgendein bestimmter Knoten sendet, verwenden
die Knoten für
die Korrelierung das TDPA-Protokoll. Das heißt, die Knoten besitzen jeweils
entsprechende Tabellen, die für
alle Knoten angeben, wann und von welchem Knoten gesendet werden
darf. Die Tabelle ist zeitbasiert. Daher verfügt jeder Knoten über eine
gewisse Zeitspanne, in der er senden kann. Wenn diese Zeit abgelaufen
ist, gibt die Tabelle an, daß jetzt
ein anderer Knoten senden kann. Sobald der Knoten bestimmt ist,
beginnt er eine Nachricht Bit für
Bit zu übertragen.
Das erste Bit wird auf allen Übertragungsstrecken
des Knotens gesendet und wird von den anderen auf diese Weise verbundenen Knoten
empfangen. Unmittelbar nach dem Empfang des ersten Datenbits leiten
die Empfangsknoten dieses Bit auf allen Übertragungsstrecken weiter,
mit denen sie verbunden sind. Auf dieses Weise wird in kurzer Zeit
das gesamte Netzwerk durch das erste Datenbit geflutet.
-
Sofort
danach sendet der Sendeknoten das zweite Bit, dann das dritte usw.,
bis die gesamte Nachricht gesendet ist oder seine Zeit abgelaufen
ist. Auf diese Weise flutet die gesamte Nachricht das Netzwerk Bit
für Bit.
-
Um
dies zu bewerkstelligen, müssen
die Empfangsknoten einen Mechanismus besitzen, um die Übertragungsstrecken
zu sperren, die keine Daten empfangen haben. Die Knoten müssen auch
einen Mechanismus besitzen, durch den sie zwischen zwei Nachrichten
unterscheiden können,
die auf verschiedenen Übertragungsstrecken
gleichzeitig oder in etwa zur gleichen Zeit eintreffen. Ohne solche
Mechanismen könnte
die Nachricht ein zweites Mal von einem Knoten empfangen werden.
Tatsächlich
würde dies
dazu führen,
daß die
Nachricht an Knoten gesendet wird, welche die Nachricht bereits
weitergegeben haben. Wenn dieser Fall einträte, könnte eine einzelne Nachricht
endlos durch das Netzwerk weiterverbreitet werden. Wenn des weiteren
zwei Nachrichten gleichzeitig oder etwa zur gleichen Zeit eintreffen,
ist es möglich,
daß gegenwärtige Knoten-Elektronikeinrichtungen
veranlaßt
werden, metastabil zu werden, wodurch ein Verlust der Nachricht verursacht
wird.
-
Die
vorliegende Erfindung verwendet eine neuartige Entscheidungs- und
Sperrschaltung, um diese Probleme zu lösen. Sobald das erste Bit einer Nachricht
empfangen worden ist, sperrt die Schaltung den Knoten in einer speziellen
Konfiguration für den
Rest der Nachricht. In dieser Konfiguration ist es nur der ursprünglichen
empfangenden Übertragungsstrecke
gestattet, sich auf den Knotenausgang auszuwirken. Wenn Daten zu
einem vorherigen Knoten zurück übertragen
werden, werden sie auf diese Weise ignoriert. Die Schaltung besitzt
auch eine Entscheidungsfunktion. Diese ermöglicht es der Übertragungsstrecke,
die das Signal zuerst empfängt,
den Ausgang zu steuern. Wenn jedoch zwei Übertragungsstrecken die Nachricht
zur exakt gleichen Zeit empfangen, ist es beiden gestattet, sich
auf den Ausgang auszuwirken. Da das TDPA-Protokoll nur gestattet,
daß immer
nur eine Nachricht zur gleichen Zeit gesendet wird, würde dies
bedeuten, daß beide Übertragungsstrecken
die exakt gleichen Daten zur exakt gleichen Zeit empfangen. Auch
wenn sich damit zwei Übertragungsstrecken
auf den Ausgang auswirken, bleibt das Ergebnis im Netz das gleiche aufgrund
der Fähigkeit
der Schaltung, die Signale zu kombinieren. Wenn schließlich zwei
Signale sehr kurz nacheinander, aber nicht gleichzeitig eintreffen, wird
dem ersten Signal das Durchqueren gestattet und zum Ausgang zu werden.
Das zweite Signal kann verursachen, daß die Übertragungsstrecke, auf der
es empfangen wurde, metastabil wird. Die vorliegende Schaltung kalkuliert
mit ein, daß dieser
Abschnitt des Knotens metastabil wird, während es der ersten Übertragungsstrecke
immer noch ermöglicht wird,
Daten aus dem Knoten korrekt auszugeben.
-
Das
vorliegende Maschennetz-Protokoll verwendet auch eine zeitbasierte
Verweisadresse für das
Durchlaufen der TDPA-Tabelle. Wie vorher erläutert, wird jedem Knoten nur
eine bestimmte Zeit zum Senden zugewiesen, danach rückt die
Verweisadresse in der Tabelle automatisch vor. Da Daten einige Zeit
benötigen,
um sich zwischen den verschiedenen Knoten fortzupflanzen, wird eine
Verzögerung
hinzugefügt.
Durch Überwachen
der Anzahl von Knoten, welche die Daten von ihren Ausgangspunkt
bis zu einem Empfangsknoten durchlaufen, ist dieser Knoten in der
Lage, die aufgezwungene Verzögerung
zu berechnen und deren zeitbasierte Verweisadresse mit demjenigen
des Sendeknotens zu kalibrieren. Auf diese Weise bleibt das Netzwerk
synchronisiert.
-
Ein
weiterer Gesichtspunkt der vorliegenden Erfindung ist die gleichzeitige
Fortpflanzung von mehreren Nachrichten über ein einzelnes Maschennetz.
Wie vorher erläutert,
gestattet der tabellengesteuerte Proportionalzugriff immer nur einem
einzelnen Knoten, zu einer bestimmten Zeit zu senden. Wenn jedoch
das Maschennetz in eine Vielzahl von untergeordneten Maschennetzen
unterteilt wird, könnte
sich eine einzelne Nachricht über
jedes untergeordnete Maschennetz fortpflanzen, wodurch sich die
Bandbreite des gesamten Systems erweitert.
-
Jeder
Knoten weist in einer bevorzugten Ausführungsform vier Knoten und
eine lokale Verbindung auf. Daher ist jeder Knoten in der Lage,
zwei verschiedene Nachrichten gleichzeitig zu bearbeiten. Innerhalb
eines definierten untergeordneten Maschennetzes selbst verhalten
sich die Knoten genau wie ein Knoten in einem einzelnen Maschennetz. Entlang
einer Begrenzung, welche die verschiedenen untergeordneten Maschennetze
voneinander trennt, verhalten sich die Knoten anders. Das heißt, eine
Nachricht, die in einem bestimmten untergeordneten Maschennetz generiert
wird, muß in
diesem untergeordneten Maschennetz bleiben und darf nicht in ein
anderes unter geordnetes Maschennetz gelangen. Die Knoten entlang
der Begrenzung weisen im allgemeinen zwei Übertragungsstrecken in einem
untergeordneten Maschennetz auf und zwei Übertragungsstrecken in einem
anderen untergeordneten Maschennetz. Es wird ein Protokoll erstellt,
das diese zwei Übertragungsstrecken
vorübergehend
verbindet. Angenommen, der Knoten weist Übertragungsstrecken auf, die
mit 1, 2, 3 und 4 nummeriert sind, dann wird einer ersten Nachricht
der Eingang und Ausgang nur über
die Übertragungsstrecken
1 und 2 gestattet, während
eine zweite Nachricht der Eingang und Ausgang nur über die Übertragungsstrecken
3 und 4 gestattet wird. Die besondere Konnektivität der Übertragungsstrecken
kann statisch oder mit jedem Tabelleneintrag veränderlich sein.
-
Um
die Integrität
des Netzwerks des weiteren zu vereinfachen, können selbstprüfende Paare verwendet
werden. Das heißt,
jeder ursprüngliche Knoten
wird durch ein Knotenpaar und ein Kabelpaar (anstatt nur eines Kabels)
von jeder Übertragungsstrecke
ersetzt. Auf diese Weise vergleicht jedes Knotenpaar die Daten,
die es über
die zwei Anschlüsse
der Übertragungsstrecke
empfängt.
Wenn die beiden identisch sind, legen die Knoten die Nachricht als richtig
fest. Wenn in der Nachricht jedoch ein Unterschied vorliegt, entscheiden
die Knoten, daß die Nachricht
verfälscht
worden ist und berücksichtigen die
Nachricht nicht.
-
Es
ist eine Aufgabe der vorliegenden Erfindung, ein Protokoll für ein Maschennetz
bereitzustellen, das die zuverlässige
Echtzeit-Nutzung eines Systems gestattet. Es ist eine weitere Aufgabe
der vorliegenden Erfindung, ein Maschennetz bereitzustellen, das
Knoten besitzt, die zwischen gleichzeitigen Nachrichten unterscheiden
können
und auch dann unbeeinflußt
bleiben, wenn verschiedene elektronische Komponenten metastabil
werden.
-
Es
ist eine weitere Aufgabe der vorliegenden Erfindung, ein Maschennetz
mit der Fähigkeit
bereitzustellen, mehrere Nachrichten gleichzeitig entlang verschiedener
untergeordneter Maschennetze zu senden.
-
Es
ist eine weitere Aufgabe der vorliegenden Erfindung, ein minimales
Datensignal bereitzustellen, um das Konnektivitätsprotokoll der Übertragungsstrecken
in den verschiedenen Übertragungsstrecken
eines Knotens auszulösen,
der an der Begrenzung eines untergeordneten Maschennetzes liegt.
-
Es
ist eine weitere Aufgabe der vorliegenden Erfindung, eine synchronisierende
Komponente für einen
Nachrichtenstrom bereitzustellen, um die Tabellen und zeitbasierten
Verweisadressen in jedem Knoten eines Netzwerks zu korrelieren.
-
Es
ist eine weitere Aufgabe der vorliegenden Erfindung, ein Maschennetz
bereitzustellen, das selbstprüfende
Paare aufweist, durch die sich die Integrität der gesendeten Daten überprüfen läßt.
-
Es
ist eine weitere Aufgabe der vorliegenden Erfindung, einen Mechanismus
bereitzustellen, durch den neu hinzugefügte oder nochmals mit einem
Maschennetz verbundene Knoten sich selbst mit dem Rest der Knoten
synchronisieren können.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
eine schematische Zeichnung, die eine Vielzahl von Knoten zeigt,
die in einem Maschennetz verbunden sind.
-
2 ist
eine schematische Zeichnung, die eine Vielzahl von Knoten zeigt,
die mit einem Bus verbunden sind.
-
3 ist
eine schematische Zeichnung, die eine Vielzahl von Knoten zeigt,
die in einem Ring verbunden sind.
-
4 ist
eine schematische Zeichnung, die ein Maschennetz zeigt, das einen
fehlerhaften Knoten und eine abgetrennte Übertragungsstrecke aufweist.
-
5 ist
eine schematische Zeichnung, die einen Duplex-Bus zeigt, der einen
fehlerhaften Knoten und eine abgetrennte Übertragungsstrecke aufweist.
-
6 ist
eine schematische Zeichnung, die ein Duplex-Ring-Netzwerk zeigt,
das einen fehlerhaften Knoten und eine abgetrennte Übertragungsstrecke
aufweist.
-
7 ist
eine schematische Zeichnung, die einMaschennetz zeigt.
-
8 ist
eine schematische Zeichnung, die einen Triplex-Bus zeigt,
-
9 ist
eine schematische Zeichnung, die einen Triplex-Ring zeigt.
-
10 ist
eine schematische Zeichnung, die das Fortpflanzungsmuster eines
Maschennetzes darstellt.
-
11 ist
die schematische Darstellung einer Sequenzialisierungstabelle in
einem TDPA-Protokoll.
-
12 ist
eine schematische Zeichnung, die ein asymmetrische Maschennetz darstellt.
-
13 ist
eine schematische Zeichnung, die einen asymmetrischen Bus darstellt.
-
14 ist
eine schematische Zeichnung, die einen asymmetrischen Ring darstellt.
-
15 ist
eine schematische Zeichnung, welche die Fortpflanzungssequenz eines
Maschennetzes darstellt.
-
16 ist
ein Stromlaufplan einer Ausführungsform
einer Entscheidungs- und Sperr-Logikschaltung.
-
17 ist
eine schematische Zeichnung, die eine Vielzahl von Knoten und ihre
zugehörigen
Tabellen zeigt.
-
18 ist
eine schematische Zeichnung, die ein Maschennetz mit zwei untergeordneten
Maschennetzen zeigt.
-
19 ist
eine Tabelle, welche die Übertragungsstrecken-Interkonnektivität eines
Knotens in einem untergeordneten Maschennetz zeigt.
-
20 ist
eine schematische Zeichnung, die ein Maschennetz mit zwei untergeordneten
Maschennetzen zeigt.
-
21 ist
eine Tabelle, welche die Übertragungsstrecken-Interkonnektivität eines
Knotens in einem untergeordneten Maschennetz zeigt.
-
22 ist
eine schematische Zeichnung, die ein Maschennetz mit selbstprüfenden Paaren
zeigt.
-
23 ist
eine schematische Zeichnung, die ein Maschennetz in Verbindung mit
der Fortpflanzung eines Datensignals zeigt.
-
DETAILLIERTE
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGS-FORM
-
Die
vorliegende Erfindung verwendet ein einzigartiges Datenübertragungsprotokoll
und dazugehörige
Mechanismen, um eine genaue und zuverlässige Nutzungsebene auf einer
Maschennetz-Topologie zu erhalten. 15 zeigt
ein Netzwerk 100 mit einer Vielzahl von Knoten N, die durch
eine Vielzahl von Kabeln 110 miteinander verbunden sind,
die Übertragungsstrecken 150 bilden.
Die Knoten stellen beliebige elektronische Kommunikationskomponenten
dar, einschließlich
verschiedener Komponenten, die in einem einzelnen Computer verbunden
sind, einer Vielzahl von miteinander verbundenen Computern oder
einer Vielzahl von Komponenten, die miteinander verbunden sind,
um ein System auszubilden. Jeder Knoten N weist eine Empfangsvorrichtung und
eine Sendevorrichtung irgendeiner Art auf, die in ihn integriert
sind. Die Kabel 110 können
jede Art von elektrischen Verbindungen sein, einschließlich Drahtverbindungen
oder Glasfaserkabel.
-
Das
gegenwärtige
Netzwerk 100 verwendet ein Flutungsprotokoll, um Informationen
von einem Knoten N zu einem anderen zu befördern. Wenn ein bestimmter
Knoten N Informationen an eine bestimmte Zieladresse senden möchte, beginnt
er, die Nachricht an alle Knoten N zu senden, mit denen er verbunden
ist. Beispielsweise möchte
der Knoten S in 15 ein Signal an Knoten D senden.
Die Nachricht wird zunächst
zu den mit ihm verbundenen (mit N' gekennzeichneten) Nachbarn gesendet
und wird durch die durchgezogenen Pfeile 40 dargestellt.
Unmittelbar nach Empfang des ersten Informationsbits beginnen alle
Empfangsknoten, die Nachricht an ihre Nachbarn weiterzuleiten. Das
heißt,
das gegenwärtige
Protokoll leitet die gesamte Nachricht Bit für Bit durch jeden Knoten N,
anstatt darauf zu warten, die gesamte Nachricht zu empfangen, bevor
es mit der Weiterleitung beginnt oder nur die Flutungsparameter
zum Herstellen eines einzigen Übertragungswegs verwendet.
Sobald das erste Datenbit von den verbundenen Knoten N' empfangen wird,
leiten sie dieses Bit weiter. Diese zweite Übertragungsebene wird von den
gestrichelten Pfeilen 42 dargestellt. Sobald diese zweite
Netzebene von Knoten N dieses erste Bit empfängt, wird es von ihnen weitergeleitet.
Diese dritte Übertragungsebene
wird durch die punktierten Pfeile 44 dargestellt. Wenn
diese dritte Netzebene von Knoten N das erste Informationsbit empfängt, wird
es von ihnen weitergeleitet. Diese vierte Übertragungsebene wird durch
die punktierten und gestrichelten Pfeile 46 dargestellt.
Dieser Prozeß wird
fortgesetzt, bis alle Knoten N, einschließlich Knoten D, das bestimmte
Informationsbit empfangen haben. Unmittelbar nach dem Senden des
ersten Informationsbits sendet der Knoten S das zweite, dann das dritte
und so weiter, bis die gesamte Nachricht gesendet ist. Daher wird
die gesamte Nachricht Bit für
Bit durch jeden Knoten N in dem System gesendet.
-
Um
das Problem zu vermeiden, daß mehrere Nachrichten
gleichzeitig verbreitet werden und Störungen verursachen, wird ein
einzelner Knoten N ausgewählt,
um für
eine vorgegebene Zeitdauer zu senden. Die Auswahl dieses Knotens
N wird später erläutert. Die
restlichen Knoten führen
dann die folgenden Schritte aus. Zuerst werden alle nicht-sendenden
Knoten N so eingestellt, daß sie
auf allen Übertragungsstrecken
nach eingehenden Nachrichten horchen. Zweitens, wenn eine eingehende
Nachricht auf einer bestimmten Übertragungsstrecke
ankommt, wird diese Übertragungsstrecke
dann als die Quelle ausgewählt.
Wenn zwei Nachrichten gleichzeitig ankommen, wird eine als die Quelle
ausgewählt.
Drittens wird der Eingang an alle anderen Übertragungsstrecken 150 weitergeleitet,
während gleichzeitig
jeder andere Eingang gesperrt wird. Viertens wird am Ende der Nachricht
die Sperre aller Übertragungsstrecken
aufgehoben, und sie kehren zum ersten Schritt zurück.
-
Wie
vorher erläutert,
sind in der Vergangenheit Probleme aufgetreten, wenn ein Knoten
N zwei Nachrichten gleichzeitig oder etwa zur gleichen Zeit empfängt und
die Elektronik nicht zwischen ihnen unterscheiden kann. In dieser
Situation wird der Knoten N metastabil. Wird er in diesem Zustand
belassen, ist es möglich,
daß das
erste Informationsbit (oder jedes nachfolgende Bit) endlos geschleift
wird, indem es mehr als einmal einen bestimmten Knoten durchläuft. Um
dieses Problem zu beheben, wird eine Entscheidungs- und Sperr-Logik
(A&LL) in jedem
Knoten N eingesetzt. Eine Auslegung für diese Schalttechnik ist in 16 dargestellt.
-
In
verschiedenen anderen Figuren wird jeder Knoten N mit vier Übertragungsstrecken 150 zu
den anderen Knoten N dargestellt. Diese bestimmte Anzahl von Übertragungsstrecken 150 ist
willkürlich
und kann größer oder
kleiner sein, was von der letztendlichen Nutzung des Systems abhängt. Die
Schaltung in 16 zeigt zwei Übertragungsstrecken 150 eines einzelnen
Knotens N. Für
jede zusätzlich
verwendete Übertragungsstrecke
wird die Schaltung wiederholt, was ein Fachmann versteht.
-
Die
A&LL-Schaltung 102 in 16 arbeitet wie
folgt. Wenn eine bestimmte Übertragungsstrecke 150 unbelegt
ist, (d.h. es wird keine Nachricht empfangen), wird die Übertragungsstrecke 150 in
einem Horch-Status gehalten. Innerhalb des Kommunikationssystems
beginnen alle Nachrichten mit einer "1". Wenn
eine "1" empfangen wird,
wird die Übertragungsstrecke 150 auf
einen Empfangs-Status
gesetzt. Immer, wenn ein Knoten N in unbelegtem Zustand sein soll,
wird ein freier Eingang 122 getaktet, um die bistabilen
Kippschaltungen 120 so einzustellen, daß eine "1" (hoher
Logik-Ausgang) am Q-Ausgang jeder der bistabilen Kippschaltungen 120 aufrechterhalten
wird. Wenn das erste Datenbit von der Nachricht an dem freien Übertragungsstrecken-Eingang 160 ankommt, "durchläuft" es die bistabile
Kippschaltung 120, (weil der Q-Ausgang bereits hoch ist), und
wird direkt zu einem ersten Eingang 131 einer UND-Schaltung 130 geführt. Da
die "freie" bistabile Kippschaltung 120 eine "1" an ihrem Q-Ausgang aufweist, (der mit
einem zweiten Eingang 132 gekoppelt ist), und auf der Übertragungsstrecke 150 ebenfalls eine "1" vorhanden ist, die mit dem ersten Eingang 131 gekoppelt
ist, ist am Ausgang der UND-Schaltung 130 ein hohes Signal
vorhanden. Diese "1" wird dann an eine
ODER-Schaltung 140 weitergegeben.
-
Der
Ausgang der ODER-Schaltung 140 wird für diesen bestimmten Knoten
dann der Ausgang 142, und ist damit das Signal, das auf
allen Ausgangs-Übertragungsstrecken 162 des
Knotens N generiert wird. Das Signal von der ODER-Schaltung 140 wird
ebenfalls gleichzeitig an den Takteingang 121 von allen
bistabilen Kippschaltungen 120 in dem bestimmten Knoten
N zurückgegeben.
Wenn das Taktsignal empfangen wird, weist nur die Übertragungsstrecke 150,
welche die Nachricht als erste empfangen hat, eine "1" am D-Ausgang ihrer bistabilen Kippschaltung 120 auf.
Die restlichen bistabilen Kippschaltungen 120 weisen eine "0" (niedriges Logik-Signal) an ihren D-Eingängen auf.
Wenn das Taktsignal von der ODER-Schaltung 140 empfangen wird,
erzeugen diese bistabilen Kippschaltungen 120 daher eine "0" am Q-Ausgang. Diese "0" am Q-Ausgang wird dann an die zugehörige UND-Schaltung 130 weitergegeben.
Dadurch wird veranlaßt,
daß jede
UND-Schaltung ihren Ausgang weiterhin auf "0" hält. Daher
haben diese bistabilen Kippschaltungen (und damit ihre zugehörigen Übertragungsstrecken 150)
keine Auswirkung auf den Ausgang des Knotens N für den Rest der Nachricht.
-
Die Übertragungsstrecke 150,
welche die Nachricht zuerst empfängt
und eine "1" an ihrem D-Eingang
aufweist, leitet, da sie weiterhin eine "1" an
ihrem Q-Ausgang aufweist, die gesamte Nachricht durch die bistabile
Kippschaltung 120, durch die UND-Schaltung 130 und
letztendlich durch die ODER-Schaltung 140 am Ausgang 142 des
Knotens N. Am Ende der Nachricht wird der freie Eingang 122 ausgelöst, wodurch
alle Übertragungsstrecken 150 und
ihre bistabilen Kippschaltungen 120 in den Horch-Modus
zurückgesetzt
werden, in dem alle eine "1" an ihrem Q-Ausgang
aufweisen.
-
Auf
diese Weise kann sich nur die Übertragungsstrecke 150,
die eine bestimmte Nachricht zuerst empfangen hat, auf den Ausgang
des Knotens N auswirken. Alle anderen Eingänge werden in wirksamer Weise
ignoriert.
-
Es
besteht eine finite Wahrscheinlichkeit, daß zwei verschiedene Übertragungsstrecken 150 in dem
gleichen Knoten N gleichzeitig oder innerhalb eines kleinen Zeitfensters
eine Nachricht empfangen, die in historischer Hinsicht ein Problem
für die
Knoten darstellt. Damit wird ein potentielles Problem geschaffen,
da die alternativen Übertragungsstrecken noch
nicht "ausgesperrt" worden sind. Damit
zwei Signale "gleichzeitig" ankommen und diesen
Zustand beenden können,
müssen
sie ihre jeweiligen Übertragungsstrecken 150 innerhalb
des winzigen Zeitfensters erreichen, das durch die Summe der UND-
und ODER-Schaltungsverzögerungen
abzüglich
der Einrichtungszeit der bistabilen Kippschaltung 120 definiert
wird.
-
Wenn
zwei Signale gleichzeitig ankommen, sind sie notwendigerweise die
gleiche Nachricht (wie später
erläutert
wird). Daher sind beide bistabilen Kippschaltungen 120 und
abschließend
beide UND-Schaltungen 130 aktiv am Ausgang des gleichen
Signals beteiligt. Da diese Signale durch eine ODER-Schaltung 140 gelangen,
bleibt der endgültige Ausgang 142 des
Knotens N nahezu unbeeinflußt. Das
heißt,
die korrekte Nachricht wird durch den Knoten N ausgegeben.
-
Wenn
jetzt eine Nachricht an zwei oder mehr Übertragungsstrecken 150 in
einem relativ engen Zeitrahmen ankommt, besteht eine Möglichkeit,
daß eine
(oder mehr) der bistabilen Kippschaltungen 120 metastabil
werden. Unter erneuter Bezugnahme auf 16 wird
angenommen, daß eine
mit einer "1" beginnende Nachricht
an der obersten Übertragungsstrecke 150 ankommt.
Wie vorher beschrieben, wird die "1" direkt
zu dem ersten Eingang 131 der UND-Schaltung 130 geleitet.
Da die bistabile Kippschaltung 120 unbelegt war und am
Q-Ausgang eine "1" vorhanden ist, sind
beide Eingänge
zur UND-Schal tung 130 "1". Demzufolge wird
eine "1" an die ODER-Schaltung 140 weitergegeben.
Die ODER-Schaltung 140 gibt eine "1" aus,
die danach zur Taktung der bistabilen Kippschaltungen 120 zurückgeführt wird.
Des weiteren wird angenommen, daß, während dies eintritt, die Nachricht
an der unteren Übertragungsstrecke 150 ankommt.
Diese Nachricht beginnt ebenfalls mit einer "1",
daher wird dieser Impuls zum D-Eingang der bistabilen Kippschaltung 120 geleitet.
Wenn das Taktsignal die untere bistabile Kippschaltung 120 erreicht,
kann etwas anderes als eine "0" oder eine "1", d.h. ein Halbimpuls, an dem D-Eingang
vorhanden sein. Dies kann verursachen, daß die bistabile Kippschaltung 120 vor-
und zurückschwingt
und metastabil wird. Solange es die gleiche Nachricht ist, die von
beiden Übertragungsstrecken 150 empfangen
wird, ist es irrelevant, daß die
untere bistabile Kippschaltung 120 metastabil ist, weil
die obere bistabile Kippschaltung 120 nicht metastabil
ist und ein Signal erzeugt. Wenn die metastabile bistabile Kippeschaltung 120 zufällig so
schwingt, daß ein Ausgang
erzeugt wird, entsteht daraus kein Schaden, weil er sich mit der
funktionierenden bistabilen Kippschaltung 120 deckt.
-
Um
das vorgenannte Ergebnis zu erzielen, ist es wichtig, daß, wenn
zwei Nachrichten gleichzeitig oder fast zur gleichen Zeit empfangen
werden, es sich um die gleiche Nachricht handelt. Wenn es den Knoten
N einfach gestattet wird, jederzeit unabhängig Nachrichten zu generieren,
besteht die Wahrscheinlichkeit, daß zwei verschiedene Nachrichten gleichzeitig
an zwei verschiedenen Übertragungsstrecken 150 eines
einzelnen Knotens N ankommen könnten.
Wenn dieser Fall eintritt, würde
eine falsche Nachricht durch diesen Knoten N generiert und danach
weitergeleitet. Daher muß ein
Protokoll erstellt werden, um abzugrenzen, wann ein bestimmter Knoten
N sich im Sendemodus befinden soll, und wann er sich im Empfangsmodus
befinden soll.
-
Wie
vorher erläutert,
ist eine Möglichkeit, dies
zu bewerkstelligen, die Verwendung des tabellengesteuerten Proportionalzugriffs
(TDPA). Unter Bezugnahme auf 17 werden
vier Maschennetz-Knoten N als die Knoten 1–4 gezeigt. Über den Knoten
N sind ihre jeweiligen Tabellen 20 schematisch dargestellt.
Dies wäre
natürlich
eine interne Programmierfunktion. Die Tabellen 20 grenzen
ab, wann ein bestimmter Knoten N eine Nachricht senden kann. Wenn
ein Knoten N nicht als sendend bestimmt ist, wird er für eingehende
Nachrichten auf Empfangen oder "Horchen" gesetzt. Wie in 17 gezeigt, ist
der Knoten 3 gegenwärtig
als der sendende Knoten bestimmt. Die Knoten 1, 2 und 4 (und alle
anderen verbundenen Knoten) warten eine vorgegebene Zeitdauer darauf,
daß der
Knoten 3 eine Nachricht sendet. Die zeitbasierte Verweisadresse 31 legt
fest, daß der
Knoten 3 aktiviert ist. Diese zeitbasierte Verweisadresse 31 durchläuft einfach
schrittweise die Tabelle 20 der Reihenfolge nach und beginnt,
wenn das Ende erreicht ist, wieder am Anfang der Tabelle 20.
Die Reihenfolge der Knoten in der Tabelle ist willkürlich, und
jede Sequenz kann gewählt
werden, solange sich die Tabelle jedes Knotens damit deckt.
-
Es
gibt verschiedene Möglichkeiten,
die Verweisadresse vorzurücken.
Jedem Knoten N kann einfach eine vorgegebene Zeitspanne zum Senden einer
Nachricht zugewiesen werden. Der ausgewählte Knoten kann senden oder
stumm bleiben, während die
restlichen Knoten N so eingestellt sind, daß sie während dieser Zeitdauer empfangen.
Wenn diese Zeitdauer abgelaufen ist, hört der Knoten N einfach auf
zu senden, und die zeitbasierte Verweisadresse 31 bewegt
sich weiter. Alternativ könnten
Daten als ein Nachrichtenende-Indikator (EOM) aufgenommen werden.
Auf diese Weise würde
der sendende Knoten N ohne Berücksichtigung
der Zeitdauer die gesamte Nachricht senden. Wenn die Nachricht abgeschlossen
ist, verursacht das Nachrichtenende, daß die (nicht mehr zeitbasierte)
Verweisadresse auf den nächsten
Knoten N in der Tabelle 20 vorrückt.
Dies ist jedoch kein wünschenswertes
Protokoll, da es nicht allen Knoten N im Maschennetz möglich ist,
das Nachrichtenende gleichzeitig wahrzunehmen. Gegenwärtige Maschennetz-Protokolle
(sowie viele Bus-Protokolle) verwenden die Nachrichtenende-Indikatoren
jedoch, um langsame Driften von einzelnen Taktsignalen in jedem
Knoten N zu berücksichtigen, die
beim zeitbasierten Protokoll auftreten.
-
In
einer bevorzugten Ausführungsform
wird eine zeitbasierte Verweisadresse 30 mit dem TDPA-Protokoll
verwendet, während
gleichzeitig ein zusätzliches
Datensegment aufgenommen wird. Dieses Datensegment gibt die Anzahl
der Übertragungsstrecken
an, die von der Nachricht durchlaufen werden. Wie vorher erläutert, wird
für jede
Netzebene von Knoten N, die von den Daten durchlaufen wird, (ab
dem ursprünglichen Übertragungspunkt)
eine Zeitverzögerung
hinzugefügt.
Indem bekannt ist, wie viele Netzebenen die Informationen durchlaufen
haben, und indem die verursachte durchschnittliche Verzögerung bekannt
ist, kann jeder Knoten N im wesentlichen die Zeit der ursprünglichen Übertragung berechnen.
Daher werden die zeitbasierten Verweisdressen 30 der verschiedenen
Empfangsknoten N genau auf diejenige des Sendeknotens N kalibriert. Um
das Hinzufügen
dieses Datensegments auszuführen,
wird der Nachricht ein Feld hinzugefügt, das die Netzebenen zählt, die
durchlaufen werden. Die Zählung
wird beim Durchlaufen von jedem Knoten N mit einem seriellen Einbitaddierer
so erhöht,
daß durch
den Zähler
selbst keine weitere Verzögerung mehr
verursacht wird.
-
Unter
erneuter Bezugnahme auf 17 werden
nur vier Knoten N gezeigt, und die Tabelle 20 berücksichtigt
nur diese vier Knoten N. Wenn weitere Knoten N hinzugefügt werden,
müssen
sie natürlich in
der Tabelle 20 berücksichtigt
werden. Wie angegeben, ist der Knoten 3 der gegenwärtig sendende
Knoten N. Dies wird durch einen durchgezogenen Pfeil 162 dargestellt,
der vom Knoten 3 ausgeht. Alle Ausgänge von den anderen Knoten
N werden als ein offener Pfeil 163 dargestellt. Es ist
anzumerken, daß der
Knoten 3 in alle vier Richtungen sendet, wodurch alle über oder
unter dem Knoten 3 hinzugefügten Knoten
N die Nachricht ebenfalls empfangen würden. Sobald ein einzelnes
Informationsbit von einem dieser Knoten N empfangen worden ist,
wird es unmittelbar wiederholt. Daher gibt es einen Unterschied zwischen
der Fähigkeit
eines Knotens N, eine ursprüngliche
Nachricht zu senden und eine empfangene Nachricht einfach zu wiederholen.
-
24 zeigt
die gleichen Knoten 1–4
wie in 17, nur daß jetzt eine winzige Zeit verstrichen
ist. Der Knoten 3 hat das erste Bit seiner Datennachricht erfolgreich
an die Knoten 2 und 4 übertragen.
Unmittelbar nach dem Empfang dieses Datenbits leiten die Knoten
2 und 4 dieses Datenbit auf allen ihren ausgehenden Übertragungsstrecken 165 weiter.
Die Übertragungsstrecken 165 waren
vorher offene Pfeile und sind jetzt durchgezogen, wodurch angegeben wird,
daß sie
eine empfangene Nachricht weiterleiten. Die ausgehenden Übertragungsstrecken 162 von
Knoten 3 bleiben durchgezogene Pfeile, weil der Knoten 3 das zweite
und die nachfolgenden Datenbits der bestimmten Nachricht sendet.
Die ausgehenden Übertragungsstrecken 163 von
Knoten 1 bleiben offene Pfeile, weil der Knoten 1 noch kein Datenbit zum
Weiterleiten empfangen hat, und durch die Tabelle 20 nicht
angegeben ist, daß er
eine ursprüngliche
Nachricht senden kann.
-
Alles
vorher beschriebene bezieht sich darauf, daß ein einzelner Knoten N auf
dem Maschennetz sendet und jeder andere Knoten N empfängt (und
wiederholt). Das Maschennetz ist jedoch fähig, mehrere Nachrichten gleichzeitig
zu bearbeiten. Unter Bezugnahme auf 18 wird
ein Maschennetz mit 54 Knoten gezeigt. Dieses Maschennetz ist in
der Lage, wie vorher beschrieben zu arbeiten, d.h. ein einzelner
Knoten sendet, während
jeder andere Knoten N empfängt
und wiederholt. Zusätzlich
kann jeder einzelne Knoten N zwei getrennte Nachrichten bearbeiten.
Aus Gründen
der Verdeutlichung werden diese als Nachricht 1 und Nachricht 2
beschrieben. In dem gesamten Netz kann jede Anzahl von untergeordneten
Maschennetzen definiert werden. Danach kann ein einzelner Knoten
N in jedem untergeordneten Maschennetz gleichzeitig senden. Beispielsweise trennt
eine künstliche
Begrenzung, die durch die gestrichelte Linie X-X definiert ist,
das Maschennetz diagonal in Hälften.
Diese Begrenzung kann in jeder Form oder Auslegung definiert werden,
um jede Anzahl von untergeordneten Maschennetzen zu erstellen. Die
Knoten N, die vollständig
in einem untergeordneten Maschennetz liegen, verhalten sich genau wie
vorher beschrieben, das heißt,
jede auf einer Übertragungsstrecke 150 empfangene
Nachricht wird auf allen Übertragungsstrecken 150 wiederholt. Der
Vorteil beim Erstellen von untergeordneten Maschennetzen und gleichzeitigen
Senden von mehreren Nachrichten besteht in der Erweiterung der Bandbreite,
die sich daraus ergibt. Dieses Potential steht bei Standard-Bussen
nicht zur Verfügung.
-
Diese
Knoten N, die auf der Begrenzung liegen, müssen für die Bearbeitung von zwei
verschiedenen Nachrichten konfiguriert sein. Jeder bestimmte Knoten
N weist vier Übertragungsstrecken
zuzüglich
seiner lokalen Verbindung auf. Unter Bezugnahme auf den Knoten 22
sind die Übertragungsstrecken mit
Nord, Süd,
West und Ost bezeichnet. In dem in 18 gezeigten
Beispiel teilt die Linie X-X das Maschennetz in ein rechtes untergeordnetes
Maschennetz und ein linkes untergeordnetes Maschennetz. Daher muß eine Nachricht,
die von einem Knoten N in dem rechten untergeordneten Maschennetz
gesendet wird, innerhalb des rechten untergeordneten Maschennetzes
bleiben. Um dies zu bewerkstelligen, weisen die Knoten N entlang
der Begrenzung X-X ein spezielles Übertragungsstrecken-Protokoll
auf. Das heißt,
jede Nachricht, die von Nord her eingeht, wird nur nach Ost übertragen
und umgekehrt. Jede Nachricht, die von Süd her eingeht, wird nur nach
West übertragen
und umgekehrt. Es ist anzumerken, daß der Knoten N zwei verschiedene
Nachrichten gleichzeitig bearbeiten kann. Es können verschiedene Begrenzungen
erstellt werden, so daß beliebige
zwei Übertragungsstrecken
wie beschrieben gekoppelt werden können. In 18 nähert sich
die Nachricht 1 (M1) dem Knoten 22 von rechts. Die Nachricht 2 (M2)
nähert
sich dem Knoten 22 von links. Angenommen, daß M1 an der Übertragungsstrecke
Ost ankommt, wiederholt der Knoten 22 diese Nachricht nur auf der Übertragungsstrecke
Nord. Des weiteren und möglicherweise
gleichzeitig kommt M2 an der Übertragungsstrecke
Süd an
und wird dann nur auf der Übertragungsstrecke
West wiederholt. Um dies zu bewerkstelligen, kann die A&LL-Logik zwischen
diesen verschiedenen Übertragungsstrecken-Konfigurationen
umgeschaltet werden.
-
Die
vorher beschriebene Anordnung könnte eine
permanente Teilung des Maschennetzes sein, doch würde dies
die volle Nutzung des Maschennetzes ausschließen. Eine bevorzugte Ausführungsform wird
in 19 gezeigt, die einen hybriden Teil (Tabelle 22)
der TDPA-Tabelle 20 darstellt, der zum Bezeichnen derjenigen
Knoten verwendet wird, die in einem System senden können. Die
Tabelle 22 enthält ein
zusätzliches
Datenbyte, das zu der vorher beschriebenen TDPA-Tabelle 20 hinzugefügt würde. Jetzt
würde Tabelle 20 so
definiert, daß mehrere
Knoten N zu gewissen Zeitpunkten in der Lage wären, gleichzeitig zu senden.
Zu anderen Zeitpunkten darf nur ein einzelner Knoten N senden. In 19 wird die
Tabelle 22 auf den Knoten 22 in 18 angewendet.
In der Tabelle 22 gibt der erste Eintrag an, daß der Knoten
15 und der Knoten 38 gleichzeitig senden werden. Daher müssen die
vier Übertragungsstrecken
von Knoten 22 so eingestellt werden, daß dies aufgenommen wird. Der
Knoten 22 liegt entlang der erstellten künstlichen Begrenzung (X-X).
Nachricht 1 wird durch Nullen bezeichnet, und Nachricht 2 wird durch
Einsen bezeichnet. Die ersten vier Bits des Bytes in Tabelle 22 beschreiben,
welche Nachricht empfangen wird, und die letzten vier Bits geben
an, wo diese Nachricht wiederholt wird. Wie ersichtlich ist, sind
Nord und Ost auf Nachricht 1 eingestellt, und Süd und West sind auf Nachricht
2 eingestellt. Sobald die Zeitdauer für diese Nachrichten abgelaufen ist,
rückt die
zeitbasierte Verweisadresse 31 auf den nächsten Tabelleneintrag 20, 22 vor,
der zufällig
angibt, daß der
Knoten 26 der einzige Knoten N ist, der sendet. Daher werden alle Übertragungsstrecken
so eingestellt, daß sie
diese einzelne Nachricht empfangen, indem Nord, Süd, Ost und
West auf die gleiche Nachricht eingestellt werden. Das Byte, das
dies darstellt, besteht willkürlich
nur aus Nullen. Nachdem die Zeitdauer für diese Nachricht abgelaufen
ist, rückt
die zeitbasierte Verweisadresse 31 erneut vor, wodurch angegeben
wird, daß Knoten
6 und Knoten 19 beide senden. Daher wird die künstliche Begrenzung erneut
erstellt. Auf diese Weise wird zeitweilig das gesamte Netz genutzt,
und zu anderen Zeitpunkten werden untergeordnete Maschennetze erstellt.
Jede Kombination von beiden ist durchführbar. Dieses Merkmal ist insbesondere
von Vorteil, wenn bekannt ist, daß gewisse Knoten nur mit anderen
bekannten Segmenten des Maschennetzes kommunizieren.
-
20 zeigt
eine weitere mögliche
untergeordnete Maschennetz-Kombination eines Maschennetzes mit 54
Knoten. Die gestrichelte Linie X-X bezeichnet ein untergeordnetes
Maschennetz im Quadranten rechts unten. Die Übertragungsstrecken des Knotens
33 wurden als Nord, Süd,
Ost und West bezeichnet. Tabelle 24 in 21 gibt
das Protokoll für diese
Kombination aus Maschennetz/untergeordnetem Maschennetz an und funktioniert ähnlich wie
Tabelle 22. Daher wird eine detaillierte Erläuterung
bis auf die Anmerkung weggelassen, dass jetzt die Übertragungsstrecken
Nord und West miteinander kommunizieren und die Übertragungsstrecken Süd und Ost
miteinander kommunizieren, wenn Knoten in verschiedenen untergeordneten
Maschennetzen gleichzeitig sen den.
-
Ein
Hauptvorteil der vorliegenden Erfindung besteht darin, daß ein Maschennetz
zuverlässig
und in Echtzeit verwendet werden kann. Der Vorteil eines Maschennetzes
selbst ist die inhärente
Fehlertoleranz, die es erzeugt. Eine Vielzahl von alternativen Übertragungswegen
ist nämlich
verfügbar,
wenn eine bestimmte Übertragungsstrecke 150 abgetrennt wird.
Wenn des weiteren ein Knoten N seinen Betrieb einstellt, kann ihn
die Nachricht vollständig
umgehen und über
die restlichen Knoten N immer noch an der Zieladresse empfangen
werden. Babbelnde Knoten haben nur ein gewisses Zeitfenster zum
Senden, daher beeinträchtigen
sie die Gesamtleistung des Systems nicht. Es kommt vor, daß dieser
Prozeß umgekehrt
werden muß.
Wenn ein fehlerhafter Knoten N oder eine abgetrennte Übertragungsstrecke
repariert wird, oder wenn ein neuer Knoten zu dem Maschennetz hinzugefügt wird,
muß das
Protokoll nämlich
die hinzugefügten
Verbindungen berücksichtigen.
Durch einfaches Verbinden oder erneutes Verbinden der Übertragungsstrecken 150 mit
einem Knoten N werden die Daten automatisch übertragen, wenn sie empfangen
werden usw. Die Frage, die bleibt, ist, wie der neue oder wieder
angeschlossene Knoten in den Parametern der TDPA-Zeitsteuerung synchronisiert wird.
Das heißt,
die zeitbasierte Verweisadresse 31 für den neuen oder wieder angeschlossenen
Knoten muß mit
dem Rest der Knoten in dem Maschennetz synchronisiert werden.
-
Wenn
in der vorliegenden Erfindung ein Knoten N zum Maschennetz hinzugefügt oder
erneut an dieses angeschlossen wird, wartet der Knoten N auf eine
Lücke zwischen
Nachrichten. An diesem Punkt entnimmt der Knoten N den Eintrag der
Tabelle 20 aus der nächsten
Nachricht auf und bereitet sich darauf vor, die gleiche Nachricht
beim nächsten
Durchgang durch die Tabelle 20 zu empfangen. Dieser Prozeß räumt die
Dauer einer gesamten Tabelle 20 ein, in der sich der Knoten
N auf den Empfang einer Nachricht vorbereiten kann.
-
Wie
durchgängig
erwähnt,
stattet das Maschennetz-Flutungsprotokoll das System mit einem höheren Fehlertoleranz-Grad
aus, doch stellt dieses System allein nicht notwendigerweise irgendeine
Integritätsmaßnahme bereit.
Das heißt,
es gibt keine Möglichkeit
festzustellen, ob die richtige Nachricht empfangen wird, oder ob
ein gewisses Maß an
Verfälschung
eingetreten ist. Um dem System dieses Maß an Zuverlässigkeit und damit an Integrität zu verleihen,
nimmt 22 das Konzept von selbstprüfenden Paaren
auf. Mit diesem Konzept wird alles dupliziert. Für jeden Knoten N sind in Wirklichkeit
zwei kombinierte Knoten 200, 201 vorhanden. Auch
für jede Übertragungsstrecke 150 sind
zwei Datenleitungen 210, 211 vorhanden. Dies unterscheidet
sich wesentlich vom Duplex- und Triplex-Betrieb von Busleitungen,
wie vorher erläutert.
Dort wurden einfach zusätzliche
Leitungen hinzugefügt,
um einen weiteren Übertragungsweg
bereitzustellen, wenn ein Übertragungsweg
abgetrennt werden sollte. Hier ist das Konzept, daß beide
Datenleitungen 210, 211 die gleiche Nachricht
zur gleichen Zeit übertragen,
und daß jeder der
zwei separaten Knoten 200, 201 jeweils eine Nachricht
von den Datenleitungen 210, 211 empfängt. Danach
führen
die zwei Knoten 200, 201 einen bitweisen Vergleich
zwischen der jeweils über
die Datenleitungen 210, 211 empfangenen Nachricht
durch. Die selbstprüfenden
Paare enthalten eine Vergleichsschaltung zum Ausführen dieser
Funktion. Wenn beide Nachrichten identisch sind, wird sie als zuverlässig beurteilt.
Wenn sich eine Nachricht von der anderen unterscheidet, ist etwas
schief gegangen, und diese bestimmte Nachricht wird ignoriert. Dann
leitet der bestimmte Knoten N die verfälschte Nachricht nicht weiter.
Da die A&LL-Logik
aller Voraussicht nach verhindert hat, daß der Rest der Übertragungsstrecken 150 die
gleiche Nachricht empfangen hat, wird dieser Knoten N für den Rest
der Nachricht effektiv aus dem Maschennetz entfernt. Da das Maschennetz
jedoch immer noch inhärent
fehlertolerant ist, umgeht die Nachricht den Knoten N einfach über die
vorher beschriebene Routine.
-
Unter
Bezugnahme auf 23 wird das Protokoll der vorliegenden
Erfindung zusammengefaßt. 23 zeigt
ein 55-Knoten-Maschennetz mit dem Knoten 300 als seinem
Mittelpunkt. Jeder Knoten N weist eine Tabelle 20 auf,
die in seine Hardware oder Software integriert ist. Zu einem bestimmten
Zeitpunkt rückt
die zeitbasierte Verweisadresse 31 von Tabelle 20 auf
den Punkt vor, an dem der Knoten 300 als der sendende Knoten
N bestimmt wird. Wenn der Knoten 300 zu diesem Zeitpunkt
eine zu generierende Nachricht hat, beginnt er, die Nachricht Bit
für Bit zu übertragen.
Angenommen, der Knoten 300 in 23 weist
eine zu sendende Nachricht auf. Das erste Bit dieser Nachricht wird
auf allen vier seiner mit ihm verbundenen Übertragungsstrecken 150 ausgesendet.
Das erste Bit wird dann von einer Übertragungsstrecke der Knoten 310, 302, 303 und 304 empfangen.
Dies stellt die Netzebene 1 dar. Da es keine Möglichkeit gibt, daß irgendein
anderer Knoten N zu diesem Zeitpunkt sendet, wird dies die einzige Übertragungsstrecke 150 zu
den Knoten 301, 302, 303 und 304 sein,
die zufällig
zu diesem Zeitpunkt eine Nachricht empfängt. Daher sind die anderen
drei Übertragungsstrecken 150 der
Knoten 301, 302, 303 und 304 "ausgesperrt", das heißt, daß keine
eingehenden Nachrichten angenommen werden. Sofort leiten diese vier
Knoten 301, 302, 303 und 304 das erste
Bit dieser Nachricht weiter. Daher senden die Knoten 301, 302, 303 und 304 das
erste Bit an die Knoten 305, 330, 331, 332, 333, 334, 335 und 336. Die
Knoten 301, 302, 303 und 304 können die
Nachricht auch zum Knoten 300 zurück übertragen, doch kann der Knoten 300 sie
nicht empfangen. Daher wird eine infinite Fortpflanzung vermieden.
Das gleiche geschieht in außerhalb
liegenden Empfangsknoten. Das heißt, ein Knoten kann die Nachricht,
die er gerade empfangen hat, an den Knoten übertragen, der sie gerade gesendet
hat. Die Übertragung
ist erlaubt, doch wird der Empfang durch den vorherigen Knoten durch
die A&LL-Schaltung
ausgeschlossen.
-
Dies
stellt die Netzebene 2 her. Da das Datenbit die Netzebene 1 durchlaufen
hat, wurde durch das Durchlaufen des Knotens N eine Verzögerung hinzugefügt. Diese
Zeitverzögerung
wird durch aufeinander folgendes Zählen der Anzahl von Netzebenen
angegeben, so daß die
Netzebenen-Anzahl jetzt 1 wäre.
Dieser Zeit/Verzögerungs-Faktor
wird mit der TDPA-Tabelle 20 korreliert. Es besteht einige
Möglichkeit,
daß mehrere Übertragungsstrecken 150 der Knoten 305, 330, 331, 332, 333, 334, 335 und 336 das
Nachrichtenbit zur gleichen Zeit empfangen, doch ist diese Möglichkeit
entfernt und wird hier nicht behandelt. Eine solche Situation würde in der
nachfolgend beschriebenen Weise behandelt werden. Angenommen, nur
eine Übertragungsstrecke 150 empfängt die
Nachricht in den Knoten 305, 330, 331, 332, 333, 334, 335 und 336,
dann ist diese Übertragungsstrecke
die einzige empfangende. Dieses erste Bit der Nachricht wird weiterhin
auf diese Weise weitergeleitet, bis alle 54 der Empfangsknoten das
Bit empfangen haben. Sie müssen
nicht alle im Detail beschrieben werden. Wenn eine bestimmte Übertragungsstrecke
oder Übertragungsstrecken 150 zufällig deaktiviert
sind, umgeht das Signal sie einfach.
-
In
einer angenommenen normalen Arbeitsumgebung sollten die Knoten 335 und 336 das erste
Bit zur gleichen Zeit empfangen. Wenn die Knoten 335, 336 mit
den gleichen Geschwindigkeiten verarbeiten, ist es sehr gut möglich, daß das erste
Bit zum Knoten 337 gleichzeitig entlang zweier verschiedener Übertragungsstrecken 151, 152 übertragen wird.
Wie vorher beschrieben, besitzt der Knoten 337 eine A&LL-Schaltung,
die dies erledigt. Wenn die Bits an den Übertragungsstrecken 151, 152 exakt
zur gleichen Zeit ankommen, werden beide auf Empfangen gesetzt,
und beide wirken sich auf den Ausgang des Knotens 337 aus.
Da es sich aber um die gleiche Nachricht handelt, ist der Ausgang
immer noch richtig. Wenn die Bits an den Übertragungsstrecken 151, 152 zeitversetzt
ankommen, jedoch innerhalb der eingestellten Zeit einer bistabilen
Kippschaltung 120 liegen, dann kann das letztere ankommende
Signal durch die bistabile Kippschaltung 120 verursachen, daß die Übertragungsstrecken
(151 und 152) metastabil werden. Dies stellt jedoch
kein Problem dar, weil die bistabile Kippschaltung 120 der
anderen Übertragungsstrecken
(151 oder 152) es ermöglicht, daß die Nachricht verarbeitet
und durch den Knoten 337 ausgegeben wird.
-
Unmittelbar,
nachdem der Knoten 300 sein erstes Bit überträgt, überträgt er das zweite Bit, und dieses
pflanzt sich in der gleichen Weise fort, wie vorher beschrieben.
Dies geschieht, weil die empfangenden Übertragungsstrecken bereits
hergestellt worden sind, und selbst, wenn das Bit auf einer anderen Übertragungsstrecke
in einem außerhalb
liegenden Knoten schneller ankommen könnte, kann nur die empfangende Übertragungsstrecke
den Eingang verarbeiten (ohne eine gleichzeitige Verbindung, als das
erste Bit angekommen war). Zu diesem Zeitpunkt werden alle Knoten
N, die das erste Bit empfangen haben, in einen bestimmten Modus "gesperrt". Die gesamte Nachricht
durchläuft
sie auf diese Weise Bit für
Bit. Zu einem bestimmten Zeitpunkt überträgt der Knoten 300 das
letzte Bit der gegenwärtigen
Nachricht. Dieses pflanzt sich durch die Knoten N in der gleichen
Weise wie jedes andere Bit fort. Dieses letzte Bit kann sich oder
kann sich nicht mit dem Ende der Zeitdauer decken, die der Knoten 300 senden darf.
Die Datenbits pflanzen sich durch das Maschennetz genau wie eine
Welle fort. Die Vorderseite 310 der Welle stellt das erste
Datenbit dar. Das Ende 320 der Welle stellt das Ende der Übertragungs-Zeitdauer für den sendenden
Knoten 300 dar. Wenn das Ende 320 der Welle die
aufeinander folgenden Knoten N durchläuft, "entsperrt" sie die Knoten wieder, indem sie sie
auf einen Horch-Modus
setzt. Dies würde
mit der A&LL-Schaltung
in Beziehung gesetzt, indem der freie Eingang 122 der bista bilen
Kippschaltung 120 ausgelöst wird. Daher wird in 23 eine
krapfenförmige
Welle durch die Vorderseite der Welle 310 und das Ende
der Welle 320 ausgebildet. Wie dargestellt, ist die Vorderseite 310 gerade
in den Knoten 306 gelangt, wodurch angegeben wird, daß er das
erste Bit gerade empfangen hat. Die Knoten außerhalb der Welle, wie beispielsweise
der Knoten 307, befinden sich in einem Horch-Modus und
haben noch keinen Teil der vom Knoten 300 generierten Nachricht
empfangen. Der Knoten 300 hat seine gesamte Nachricht übertragen,
und die ganze Nachricht hat die Knoten 301, 302, 303 und 304 vollständig durchlaufen.
Daher warten diese Knoten 301, 302, 303 und 304 jetzt auf
die nächste
Nachricht. Die Knoten 305, 330, 331, 332, 333, 334, 335 und 336 empfangen
das letzte Informationsbit oder warten einfach, während die
Zeitdauer für
den Knoten 300 abläuft.
-
Nachdem
eine bestimmte Zeitdauer abgelaufen ist, rückt die zeitbasierte Verweisadresse 31 in der
Tabelle 20 jedes Knotens N auf den nächsten Eintrag vor, der angibt,
welcher Knoten N als nächster
senden wird. Die zeitbasierte Verweisadresse jedes Knotens N wird
korreliert, indem die Netzebenen-Anzahl zum Berücksichtigen jeder Verzögerung in
der Fortpflanzung überwacht
wird.
-
Der
gleiche Prozeß,
wie vorher beschrieben, tritt in jedem untergeordneten Maschennetz
ein, das in einem Maschennetz erstellt wurde. Die Knoten an den
Begrenzungen können
zwei separate Nachrichten bearbeiten und entsprechend weiterleiten.
-
Selbstverständlich hätte das
in 23 gezeigte Maschennetz mit selbstprüfenden Paaren konstruiert
werden können,
um dem System durch das Ignorieren von verfälschten Daten Integrität zu verleihen.
-
Schließlich ist
in die vorher beschriebenen Maschen netz-Fortpflanzungssysteme ein
TDPA-Protokoll integriert. Verschiedene andere bewährte Protokolle,
wie beispielsweise CSMA, könnten
so angepaßt
werden, daß sie
im Sinne und Umfang der vorliegenden Erfindung arbeiten. Beispielsweise
gibt es bei CSMA keine Angabe hinsichtlich dessen, wann ein bestimmter
Knoten sendet. Daher besteht die Wahrscheinlichkeit, daß Nachrichten
kollidieren können.
Wenn dieser Fall eintritt, wird ein Stausignal ausgesendet, um die
Nachricht auszuschließen.
Des weiteren verwendet dieses System einen Nachrichtenende-Indikator
(EOM), der in die Nachricht eingebettet ist, um jeden Knoten N davon
in Kenntnis zu setzen, wann die Nachricht vollständig ist. Dieses Nachrichtenende
würde dem
Ende 320 der Welle in 23 entsprechen.
Dieses System ist zwar funktionsfähig, aber in Systemen, bei
denen Zugriff und Steuerung in Echtzeit erforderlich sind, wegen
der nichtdeterministischen Art der Fortpflanzung nicht wünschenswert.
Das heißt,
Kollisionen und Stausignale fügen
falsche und nicht vorhersehbare Zeitverzögerungen hinzu, die sich auf
präzise
gesteuerte Systeme nachteilig auswirken können.