PatentDe  


Dokumentenidentifikation DE69921360T2 27.10.2005
EP-Veröffentlichungsnummer 0001142135
Titel VERTEILUNG VON NACHRICHTEN DURCH FLUTEN
Anmelder Honeywell, Inc., Minneapolis, Minn., US
Erfinder DRISCOLL, R., Kevin, Maple Grove, US
Vertreter derzeit kein Vertreter bestellt
DE-Aktenzeichen 69921360
Vertragsstaaten AT, BE, CH, CY, DE, DK, ES, FI, FR, GB, GR, IE, IT, LI, LU, MC, NL, PT, SE
Sprache des Dokument EN
EP-Anmeldetag 21.12.1999
EP-Aktenzeichen 999675382
WO-Anmeldetag 21.12.1999
PCT-Aktenzeichen PCT/US99/30682
WO-Veröffentlichungsnummer 0000041506
WO-Veröffentlichungsdatum 20.07.2000
EP-Offenlegungsdatum 10.10.2001
EP date of grant 20.10.2004
Veröffentlichungstag im Patentblatt 27.10.2005
IPC-Hauptklasse H04B 1/00

Beschreibung[de]
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 unabhä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 dargestellt 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 Ausgä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 untergeordnetes 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-Schaltung 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 senden.

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 bistabilen 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 Maschennetz-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.


Anspruch[de]
  1. Verfahren zum Fortpflanzen von Daten über ein Maschennetz (100) von Knoten (N), umfassend die folgenden Schritte:

    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 (150), die mit den 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.
  2. Verfahren nach Anspruch 1, wobei der Sendeknoten durch folgendes eingerichtet wird :

    a) Ausstatten jedes Knotens (N) in dem Maschennetz (100) mit einer identischen Zugangstabelle (20), wobei die Tabelle Einträge aufweist, die angibt, welche Knoten senden können;

    b) Bereitstellen einer Verweisadresse (31) in der Tabelle, wobei die Verweisadresse angibt, welche Knoten zu einer bestimmten Zeit senden dürfen; und

    c) Gestatten, dass die Verweisadresse die Tabelleneinträge der Reihe nach Schritt für Schritt durchgeht, um verschiedenen Knoten auf dem Maschennetz das Übertragen zu ermöglichen.
  3. Verfahren nach Anspruch 2, wobei die Verweisadresse (31) in der Tabelle (20) zeitbasiert ist und der Reihe nach jeden Eintrag Schritt für Schritt durchgeht, nachdem eine vorgegebene Zeitdauer verstrichen ist.
  4. Verfahren nach Anspruch 3, des weiteren die folgenden Schritte umfassend:

    a) Erhöhen eines Zählers (120) für jede Netzebene von Knoten (N), die von den Daten durchlaufen werden;

    b) Kalibrieren des Zählers zum Darstellen der durch jede Netzebene verursachten Zeitverzögerung; und

    c) Kalibrieren der zeitbasierten Verweisadresse (31) jedes Empfangsknotens auf der Basis des Zählers.
  5. Verfahren nach Anspruch 1, wobei der Schritt des willkürlichen Auswählens einer Nachricht, wenn eine Nachricht auf mehr als einer Übertragungsstrecke (150) eintrifft, des weiteren das Ausstatten jedes Knotens (N) mit einer Schaltung (102) umfaßt, die eine Entscheidungs- und Sperrlogik aufweist, wobei die Schaltung

    a) es gestattet, daß zwei oder mehr Nachrichten, die gleichzeitig eintreffen, logisch miteinander kombiniert werden, um eine einzige korrekte Ausgabe zu bilden; und

    b) sicherstellt, daß wenigstens eine Übertragungsstrecke eine korrekte Ausgabe bereitstellt, wenn zwei oder mehr Nachrichten an einem Knoten zeitlich so eng hintereinander eintreffen, daß dadurch verursacht wird, daß eine oder mehr Übertragungsstrecken metastabil werden.
  6. Verfahren nach Anspruch 2, wobei der Schritt des Einrichtens eines Sendeknotens folgendes umfaßt:

    a) Einrichten einer Vielzahl von untergeordneten Maschennetzen in dem Maschennetz (100);

    b) Gestatten, daß ein Knoten (N) in jedem untergeordneten Maschennetz als ein Sendeknoten bestimmt wird; und

    c) Einstellen der Knoten, die entlang der Begrenzungen jedes untergeordneten Maschennetzes liegen, auf für untergeordnete Maschennetze spezifische Parameter.
  7. Verfahren nach Anspruch 6, wobei für untergeordnete Maschennetze spezifische Parameter eingestellt werden durch temporäres Zusammenkoppeln der Übertragungsstrecken (150) des Knotens (N), so daß Nachrichten (M1), die von einem ersten untergeordneten Maschennetz empfangen werden, nur zu dem ersten untergeordneten Maschennetz weitergeleitet werden, und Nachrichten (M2), die von einem zweiten untergeordneten Maschennetz empfangen werden, nur zu einem zweiten untergeordneten Maschennetz weitergeleitet werden.
  8. Verfahren nach Anspruch 7, wobei die für untergeordnete Maschennetze spezifischen Parameter durch Hinzufügen eines zusätzlichen Datenbytes zu jedem Eintrag der Zugangstabelle (20, 22, 24) eingerichtet werden, das die Zusammenschaltung von Übertragungsstrecken (150) für jeden Tabelleneintrag kennzeichnet.
  9. Verfahren nach Anspruch 1, das des weiteren die folgenden Schritte umfaßt:

    Bereitstellen eines selbstprüfenden Knotenpaars (200, 201) für jeden Knoten (N) in dem Maschennetz;

    Vergleichen der Daten, die von einem Knoten des selbstprüfenden Paars empfangen werden, mit den Daten, die von dem zweiten Knoten des selbstprüfenden Paars empfangen werden;

    Gestatten, daß die Daten nur dann weitergeleitet werden, wenn die von den Knoten in dem selbstprüfenden Paar empfangenen Daten übereinstimmen.
  10. Entscheidungs- und Sperrschaltung (102) für den Einsatz mit einem Knoten (N) in einem Maschennetz (100) zum Sperren aller Übertragungsstrecken, die nicht als eine Quelle bestimmt sind, umfassend: eine Vielzahl von Eingangs-Übertragungsstrecken (1N; LINK #1–#N);

    eine Vielzahl von bistabilen Kippschaltungen (120), wobei jede bistabile Kippschaltung an eine einzelne Eingangs-Übertragungsstrecke gekoppelt ist, wobei die Eingangs-Übertragungsgstrecke mit dem Eingang der bistabilen Kippschaltung gekoppelt ist;

    eine Vielzahl von UND-Schaltungen (130), wobei jede UND-Schaltung einen ersten Eingang (131) und einen zweiten Eingang (132) 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 (140), 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 (142) für den Knoten bereitstellt und auch ein Taktsignal für jede der Vielzahl der bistabilen Kippschaltungen bereitstellt.
  11. Schaltung (102) nach Anspruch 10, des weiteren umfassend einen freien Eingang (122) in jeder der Vielzahl von bistabilen Kippschaltungen (120), wobei der freie Eingang verursacht, daß der Ausgang des bistabilen Kippschalters auf Hoch gesetzt wird, wenn der freie Eingang 25 ausgelöst wird.
  12. Schaltung (102) nach Anspruch 11, wobei die Vielzahl von bistabilen Kippschaltungen (120) so ausgelegt ist, daß, wenn die ODER-Schaltung (140) ein Taktsignal ausgibt, jede der Vielzahl von bistabilen Kippschaltungen, die einen niedrigen Eingang aufweist, dazu veranlaßt wird, ihren Ausgang auf Niedrig zu setzen, während diejenigen Ausgänge mit einem hohen Eingang einen hohen Ausgang beibehalten.
  13. Schaltung (102) nach Anspruch 12, wobei jede der Vielzahl von bistabilen Kippschaltungen (120), die dazu veranlaßt wurde, einen niedrigen Ausgang aufzuweisen, weiterhin einen niedrigen Ausgang aufweisen wird, bis der freie Eingang ausgelöst wird.
  14. Schaltung (102) nach Anspruch 13, wobei der freie Eingang (122) nach einer vorgegebenen Zeitspanne ausgelöst wird.
  15. Schaltung (102) nach Anspruch 14, wobei die vorgegebene Zeitspanne in einer Zugangstabelle in dem Knoten definiert ist, wobei die Zugangstabelle (20, 22, 24) die Länge der Zeit definiert, die jeder Knoten (N) in dem Maschennetz senden darf.
  16. Schaltung (102) nach Anspruch 13, wobei der freie Eingang (122) ausgelöst wird, wenn ein Ende des Nachrichten-Indikators von dem Knoten (N) empfangen wird.
  17. Knoten (N) zum Einsatz in einem Maschennetz (100), 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 Ausgä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ß der Knoten des weiteren umfaßt:

    eine Entscheidungs- und Sperr-Logikschaltung (102), wobei die Schaltung umfaßt:

    Mittel, um ein korrektes Senden von Daten von der einen Übertragungsstrecke zu gestatten, wenn Daten von nur einer Übertragungsstrecke empfangen werden;

    Mittel, um ein korrektes Senden von Daten von der einen Übertragungsstrecke zu gestatten, wenn Daten gleichzeitig von einer Vielzahl von Übertragungsstrecken-Eingängen empfangen werden; und

    Mittel, um ein korrektes Senden von Daten von der einen Übertragungsstrecke zu gestatten, wenn Daten von einer Vielzahl von Übertragungsstrecken in einer solchen zeitlichen Abfolge empfangen werden, daß ein oder mehr Übertragungsstrecken-Eingänge veranlaßt werden, metastabil zu werden.
  18. Knoten (N) nach Anspruch 17, des weiteren umfassend:

    eine Zugangstabelle (20, 22, 24), wobei die Zugangstabelle eine Abfolge aller auf dem Maschennetz (100) miteinander verbundenen Knoten kennzeichnet, die senden können; und

    einen Indikator, der angibt, welche Knoten senden dürfen.
  19. Knoten (N) nach Anspruch 18, wobei der Indikator zeitbasiert ist.
  20. Knoten (N) nach Anspruch 18, wobei der Indikator vorgerückt wird, wenn ein Ende eines Nachrichten-Indikators an dem Knoten empfangen wird.
  21. Knoten (N) nach Anspruch 18, wobei die Zugangstabelle (20, 22, 24) Software-basiert ist.
  22. Knoten (N) nach Anspruch 18, wobei die Zugangstabelle (20, 22, 24) Hardware-basiert ist.
  23. Knoten (N) nach Anspruch 18, wobei die Zugangstabelle (20, 22, 24) nur gestattet, daß jeweils nur ein Knoten auf dem Maschennetz zu jedem beliebigen Zeitpunkt sendet.
  24. Knoten (N) nach Anspruch 18, wobei die Zugangstabelle (22, 24) eine Vielzahl von untergeordneten Maschennetzen in dem Maschennetz (100) definiert und ein gleichzeitiges Senden von einem Knoten aus jedem untergeordneten Maschennetz gestattet.
  25. Knoten (N) nach Anspruch 24, des weiteren umfassend Mittel zum temporären Einrichten verschiedener Zusammenschaltungsverbindungen von Übertragungsstrecken.
  26. Knoten (200, 201) nach Anspruch 17, des weiteren umfassend:

    eine zweite Empfangsvorrichtung;

    eine zweite Sendevorrichtung, die mit der zweiten Empfangsvorrichtung gekoppelt ist;

    eine zweite Vielzahl von Übertragungsstrecken, wobei jede Übertragungsstrecke einen Eingang aufweist, der mit der zweiten Empfangsvorrichtung gekoppelt ist und einen Ausgang, der mit der Sendevorrichtung gekoppelt ist; und

    eine Vergleichsschaltung, wobei die Vergleichsschaltung von der ersten Empfangsvorrichtung empfangene Daten mit Daten vergleicht, die von der zweiten Empfangsvorrichtung empfangen wurden, und die Weiterleitung von Daten nur gestattet, wenn die Daten von der ersten Empfangsvorrichtung mit den Daten von der zweiten Empfangsvorrichtung übereinstimmen.
Es folgen 14 Blatt Zeichnungen






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com