DE4412310A1 - Fehlertolerantes Rechnersystem - Google Patents

Fehlertolerantes Rechnersystem

Info

Publication number
DE4412310A1
DE4412310A1 DE19944412310 DE4412310A DE4412310A1 DE 4412310 A1 DE4412310 A1 DE 4412310A1 DE 19944412310 DE19944412310 DE 19944412310 DE 4412310 A DE4412310 A DE 4412310A DE 4412310 A1 DE4412310 A1 DE 4412310A1
Authority
DE
Germany
Prior art keywords
computer
data
computers
stage
connection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE19944412310
Other languages
English (en)
Inventor
Ernst Dr Ing Kutschbach
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CINDATEC INGENIEURTECHNISCHE DIENSTE GMBH COMPUTER
Original Assignee
KSP INGENIEURTECHNISCHE DIENST
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KSP INGENIEURTECHNISCHE DIENST filed Critical KSP INGENIEURTECHNISCHE DIENST
Priority to DE19944412310 priority Critical patent/DE4412310A1/de
Publication of DE4412310A1 publication Critical patent/DE4412310A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/182Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits based on mutual exchange of the output between redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/187Voting techniques
    • G06F11/188Voting techniques where exact match is not required

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Description

Die Erfindung betrifft ein fehlertolerantes Rechnersystem, das bei bis zu zwei gleichzeitig auftretenden Fehlern aus toleranzbehafteten Eingangsdaten in der Mehrheit gleiche und fehlerfreie Ergebnisse erzeugt.
Nun läßt sich die Fehlerwahrscheinlichkeit durch bessere Technologien bei der Herstellung und Prüfung der Komponenten und Anlagen reduzieren, eine Restfehlerwahrscheinlichkeit kann aber in keinem Fall beseitigt werden. Eine Fehlererkennung und -Korrektur, wie sie bei der Speicherung und Übertragung von Daten angewendet werden kann, versagt aber, sobald verschiedene Verarbeitungsfunktionen ausgeführt werden. Hier ist die Anwendung fehlertoleranter Systeme erforderlich, die durch mehrfache Anordnung von Teilsystemen realisiert werden, die alle die gleiche Funktion ausführen.
Das Grundprinzip für ein 1-Fehler-tolerantes System besteht darin, daß man eine Aufgabe an drei Rechner gibt und von jedem Rechner ein Ergebnis ermitteln läßt (Theuretzbacher, N.; "Votrics": Voting triple modular computing system, Digest of Papers FTCS-11, conference proceedings IEEE 1981, Pages 159-164). Anschließend wird durch einen "Voter" das richtige Ergebnis dadurch ausgewählt, daß diejenigen Ergebnisse als richtig angesehen werden, die identisch gleich sind. Dabei geht man davon aus, daß die Fehlerwahrscheinlichkeit klein ist, also die Wahrscheinlichkeit für zwei Fehler noch wesentlich kleiner ist und die Wahrscheinlichkeit, daß zwei absolut gleiche Fehler (außer einem Totalausfall, der erkennbar ist) auftreten, vernachlässigt werden kann. Dieses Prinzip der Mehrheitsentscheidung läßt sich auch auf mehrfach fehlertolerante Systeme nach der Beziehung
N ⇒ 2m + 1
anwenden, wenn m die Anzahl der Fehler und N die Anzahl der vorzusehenden Rechner ist. Der wesentliche Nachteil eines solchen Prinzips ist, daß beim Ausfall des Voters das Gesamtsystem ausfällt, das heißt, daß diese Komponente nicht fehlertolerant ist. Die fehlertolerante Ausführung des Voters ist zwar mit zusätzlichem Aufwand möglich, bedingt aber wiederum eine Entscheidung, welcher Voter das richtige Ergebnis liefert. Hierin besteht ein erstes Problem fehlertoleranter Systeme.
Ein zweites Problem besteht darin, daß Rechner nicht nur ausfallen, sondern auch bedingt ausfallen, undefinierte Fehlfunktionen ausführen sowie durch Kurzschlüsse oder Überspannung an Verbindungen zu anderen Komponenten auch die Funktionsfähigkeit der anderen Komponenten beeinträchtigen können. Das Ausfallen eines fehlertoleranten Gesamtsystems durch diese "bösartigen" (byzantinischen) Fehler wurde nach Literaturangaben schon beobachtet.
Das dritte Problem ergibt sich dadurch, daß ein System seine Daten aus der Umwelt mit Hilfe von Sensoren gewinnen muß. Diese liefern aber Daten, die toleranzbehaftet sind. Nun muß ein fehlertolerantes System aber in allen Teilsystemen mit genau gleichen Daten arbeiten, damit am Ausgang eine Mehrheitsentscheidung für gleiche Ergebnisse gebildet werden kann. Eine vermaschte Verbindung der Sensoren mit den Eingängen der Rechner ist aufwendig und sichert nicht, daß alle Rechner die Daten zu genau dem gleichen Zeitpunkt erhalten und somit bei zeitabhängigen Daten auch gleiche Daten erhalten oder es wird eine zentrale Steuerung für die Verteilung der Eingangsdaten vorgesehen, bei deren Ausfall ebenfalls das Gesamtsystem ausfällt.
Auf diese Probleme wurde hingewiesen von
  • - Lamport, L., Shostak, R. und Pease, M. in dem Artikel:
    "The Byzantine Generals Problem"
    ACM Transactions on Languages and Systems, Vol. 4, No. 3, July 1982 Pages 382-401
  • - Lamport, L., Shostak, R. und Pease, M. in dem Artikel:
    "Reaching Agreement in the present of Faults"
    Journal of the Assoziation for Computer Machinery, Vol. 27, No. 2, April 1980, Pages 228-234
  • - Lala, J.H., Harper, R.E. und Alger, L.S. in dem Artikel:
    "A design approach for ultrareliable Real-Time-Systems"
    Computer, May 1991, Pages 12-22
  • - Harper, R.E. und Lala, J.H. in dem Artikel:
    "Fault Tolerant Parallel Processors"
    American Institute of Aeronautics and Astronautics, Vol. 14, No. 3, 1991, Pages 554-563
und weiteren Autoren, die sich auf die obengenannten Artikel beziehen. Durch den Vergleich mit den byzantinischen Generälen, die eine fremde Stadt belagern und bei dem sich alle loyalen Generäle auch bei Anwesenheit von Verrätern auf einen einheitlichen und guten Plan durch den Nachrichtenaustausch über Boten einigen müssen, wird folgende Arbeitsweise entwickelt:
  • - Jeder Rechner erhält die Daten von einem Sensor. (Jeder General beobachtet den Feind)
  • - Jeder Rechner erhält die Daten von den anderen Prozessoren durch Nachrichtenaustausch. (Die Generäle verständigen sich über Boten)
  • - Alle fehlerfreien Rechner müssen sich auf die gleichen und richtigen Daten einigen. (Die loyalen Generäle müssen sich auf einen einheitlichen und guten Plan einigen)
  • - Kein Rechner kann die Arbeitsweise eines anderen Rechners beeinflussen. (Jeder General entscheidet für sich).
Durch den Datenaustausch kann jeder fehlerfreie Rechner für sich auf die richtigen Daten schließen, wodurch ein getrennter Voter mit seinen Problemen entfällt. Während von den genannten Autoren stillschweigend vorausgesetzt wird, daß beim Vorhandensein einheitlicher Anfangsdaten für die Tolerierung von m Fehlern
N ⇒ 2m + 1
Rechner erforderlich sind, wird von den genannten Autoren angegeben, daß zur Gewinnung einheitlicher Anfangsdaten folgende Forderungen zu erfüllen sind, wenn jeder Rechner nur die Daten von einem Sensor erhält:
N ⇒ 3m + 1: Anzahl Rechner,
K ⇒ 2m + 1: Verbindungsdichte (Anzahl Anschlüsse an jedem Rechner),
R ⇒ m + 1: Anzahl der Runden des Datenaustausches.
Nach diesem Prinzip aufgebaute Rechner, die völlig unabhängig voneinander arbeiten, also mit getrennter Strom- und Taktversorgung und Sicherung gegen Beeinflussung durch Überspannung oder Kurzschluß, berechnen unabhängig von der Art der Fehler immer in der Mehrheit gleiche und richtige Ergebnisse. Durch die direkte Verbindung von Rechner und Sensor sind diese Einheiten jeweils als ein "Fehlerenthaltender Bereich" (FCR = Fault Containment Region) anzusehen, das heißt unabhängig davon, ob ein Fehler im Sensor oder in dem mit dem Sensor verbundenen Rechner auftritt, ist dieser Bereich fehlerhaft. Die Rechner selbst bilden untereinander getrennte FCRs.
Obwohl das dargestellte Prinzip eine vollständige Sicherheit bis zu den projektierten Grenzen gewährleistet, hat es zwei entscheidende Nachteile:
  • 1. Es ist eine höhere Anzahl von Rechnern zur Gewinnung einheitlicher Anfangsdaten erforderlich, als zur Arbeit mit gleichen Daten notwendig wäre.
  • 2. Die Anzahl auszutauschender Daten wächst mit steigender Anzahl von Rechnern überproportional an.
Das zeigen die folgenden Beispiele:
Aus diesen Zahlen folgt, daß 2-Fehler-tolerante Systeme einen erheblichen Aufwand (7 Rechner) erfordern und auf Grund des umfangreichen Datenaustausches mit erheblichen Effektivitätsverlusten arbeiten. Die Realisierung von 3-Fehler-toleranten Systemen verbietet sich somit von selbst. Es wird in der Literatur zwar darauf hingewiesen, daß mit gekennzeichneten Nachrichten Vereinfachungen möglich sein können, Lösungen werden aber nicht angegeben.
Aufgabe der Erfindung ist es, den Aufwand und die Effektivität fehlertoleranter Systeme bei vollständiger Einhaltung der Fehlertoleranzeigenschaften zu verbessern.
Erfindungsgemäß wird die Aufgabe dadurch gelöst, daß für ein 2-Fehler-tolerantes System fünf untereinander über bidirektionale Verbindungswege voll vernetzte Rechner angeordnet werden und die Gewinnung fehlertoleranter Anfangsdaten durch den Austausch von Daten erfolgt und für den Datenaustausch mit gekennzeichneten Nachrichten gearbeitet wird, d. h. die Daten werden vor dem ersten Senden mit einem zyklischen Kontrollzeichen (CRC) ergänzt. Hierbei arbeitet jeder Prozessor mit einem eigenen CRC-Polynom. In einer ersten Runde sendet der Rechner seine Daten an die anderen vier Rechner. In einer zweiten Runde sendet jeder Rechner die empfangenen Daten aus der ersten Runde jeweils unverändert an diejenigen drei Rechner, die nicht Quelle dieser Daten sind. In einer dritten Runde sendet jeder Rechner die in der zweiten Runde empfangenen Daten unverändert an diejenigen zwei Rechner, die nicht Quelle dieser Daten in der ersten und zweiten Runde waren. Eine erste Auswertung erfolgt, indem aus den Quell- und den zwei Zieldaten der dritten Runde, die von der gleichen Quelle in der zweiten und ersten Runde stammen, 4*3=12 erste Ergebnisse gebildet werden, die dann einen gültiger Wert erhalten, wenn die als CRC-fehlerfrei erkannten Daten gleich sind und wenigstens ein CRC-fehlerfreier Wert empfangen wurde, in jedem anderen Fall erhalten sie einen ungültiger Wert. In einer zweiten Auswertung werden in jedem Rechner vier Zwischenergebnisse von den Daten ermittelt, die aus der ersten Runde und aus der ersten Auswertung jeweils vom gleichen Rechner als Quelle stammen, sie erhalten dann einen gültigen Wert, wenn alle gültigen und CRC-fehlerfreien Daten gleich sind und die Anzahl der gültigen Daten und CRC-feh­ lerfreien Daten mindestens zwei beträgt. Für alle fehlerfreien Rechner ergeben sich dann die endgültigen Anfangsdaten aus dem Mittelwert der eigenen Daten und der vier Zwischenergebnisse, wobei zu stark abweichende Werte aus der Mittelwertsbildung eliminiert werden können.
Zur Verkürzung des Ablaufes im fehlerfreien Fall und in Fällen einfacher Fehler wird von jedem Rechner ein vorläufiger Mittelwert gebildet, der in einer ersten Zwischenrunde von jedem Rechner an jeden anderen Rechner übertragen wird. Die Mehrheit dieser fünf Mittelwerte stellt für jeden Rechner bereits dann die gültigen Anfangsdaten dar, wenn wenigstens vier der fünf Rechner mindestens drei gleiche Daten zur Mittelwertsbildung hatten. Dazu wird bei der Mittelwertsbildung die Anzahl gleicher Daten gezählt und diese Zahl wird in einer zweiten Zwischenrunde wiederum zwischen allen Rechnern ausgetauscht. Die Gültigkeit wird- nun dadurch ermittelt daß jeder Rechner in der zweiten Zwischenrunde wenigstens viermal eine Zahl gleich oder größer als drei empfangen hat, anderenfalls wird die vollständige Auswertung nach der ersten Runde fortgesetzt. Alle Schritte des Datenaustausches werden von allen Rechnern parallel in der gleichen Weise ausgeführt, indem die Vernetzung der Rechner so erfolgt, daß bei zyklischer Anordnung der Rechner die Verbindung zum darauffolgenden Rechner über einen ersten Anschluß, die Verbindung zum übernächsten Rechner über einen zweiten Anschluß, die Verbindung zum dritten Rechner über einen dritten Anschluß und die Verbindung zum vierten Rechner über einen vierten Anschluß hergestellt wird.
Es ist aber auch möglich, daß die fehlerfreien Rechner eines fehlertolerantes Rechnersystem, das entsprechend einem Pipelinesystem aus zwei Stufen mit jeweils fünf Rechnern besteht, von denen die fünf Rechner der ersten Stufe einen Eingang für Datenquellen haben, bei zwei beliebigen Fehlern in der einen Stufe und einem beliebigen Fehler in der anderen Stufe aus toleranzbehafteten Eingangsdaten richtige Ergebnisse berechnen. Hierzu sind die fünf Rechner der ersten Stufe und die fünf Rechner der zweiten Stufe jeweils über bidirektionale Datenwege zu einem Ring zusammengeschaltet und es ist je ein bidirektionaler Verbindungsweg von einem Rechner der ersten Stufe zu dem jeweils nachfolgenden Rechner der zweiten Stufe und ein Verbindungsweg zu dem jeweils vorhergehenden Rechner der zweiten Stufe vorgesehen. Für die Erzeugung der Fehlertoleranz wird mit einem Austausch von Daten gearbeitet, die vor dem ersten Senden mit einem zyklischen Kontrollzeichen ergänzt werden, wobei jeder Rechner ein ihm individuell zugeordnetes CRC-Polynom verwendet.
Für den Datenaustausch innerhalb einer Stufe erfolgen die Übertragungen zum jeweils benachbarten Rechner direkt und zu den anderen Rechnern über Rechner der zweiten Stufe, wobei die Übertragungen dadurch fehlertolerant sind, daß die Übertragungen doppelt ausgeführt werden, indem sie in der einen Richtung über einen Rechner der zweiten Stufe und in der anderen Richtung über zwei nebeneinanderliegende Rechner der zweiten Stufe geführt werden. Die Überprüfung des Datenaustausches zu den nicht direkt erreichbaren Rechnern erfolgt dadurch, daß die empfangenen Daten dann einen gültigen Wert erhalten, wenn die CRC-fehlerfreien Daten gleich sind und die Anzahl der CRC-fehlerfreien Daten wenigstens eins ist.
Für die Übertragung von der ersten Stufe zur zweiten Stufe empfängt jeder Rechner der zweiten Stufe die Ergebnisse des vorhergehenden und des nachfolgenden Rechners der ersten Stufe direkt. Die Ergebnisse der anderen Rechner erhält jeder Rechner 3-Fehler-tolerant über die vier möglichen voneinander völlig unabhängigen Wege und wertet diese Ergebnisse aus, indem das Ergebnis aller von einem Rechner kommenden Daten dann einen gültigen Wert erhält, wenn alle CRC-fehlerfreien Daten gleich sind und die Anzahl der CRC-fehlerfrei empfangenen Daten wenigstens eins ist. Aus diesen fünf Ergebnissen werden durch Mehrheitsentscheidung über die gleichen Daten bei allen fehlerfreien Rechnern gleiche und fehlerfreie Anfangsdaten für die zweite Stufe berechnet. Alle Rechner einer Stufe können alle Datenaustauschfunktionen parallel und in der gleichen Weise ausführen, indem die Verbindung eines Rechners der einen Stufe zu dem darauffolgenden Rechner dieser Stufe über einen ersten Anschluß, zu dem darauffolgenden Rechner der anderen Stufe über einen zweiten Anschluß, zu dem davorliegenden Rechner der anderen Stufe über einen dritten Anschluß und zu dem davorliegenden Rechner der gleichen Stufe über einen vierten Anschluß erfolgt.
Ebenso kann aber auch ein fehlertolerantes Rechnersystem, das entsprechend einem Pipelinesystem aus zwei Stufen mit je fünf Rechnern aufgebaut ist in jeder Stufe zwei beliebige Fehler tolerieren, indem die Rechner in jeder Stufe untereinander vollständig über bidirektionale Datenwege vernetzt sind und die fehlerfreien Rechner der ersten Stufe aus den toleranzbehafteten Eingangsdaten gleiche und fehlerfreie Anfangsdaten berechnen. Danach werden die Ergebnisse der Berechnungen mit zyklischen Kontrollzeichen ergänzt und von jedem Rechner der ersten Stufe über je fünf unabhängige Wege zu jedem Rechner der zweiten Stufe übertragen, indem jeder Rechner der ersten Stufe das Ergebnis seiner Berechnung an alle anderen Rechner der ersten Stufe überträgt, jeder Rechner der ersten Stufe sein Ergebnis und die Ergebnisse der anderen Rechner der ersten Stufe zu dem ihm zugeordneten Rechner der zweiten Stufe überträgt und jeder Rechner der zweiten Stufe alle zu ihm übertragenen Ergebnisse zu allen anderen Rechnern der zweiten Stufe überträgt. Die Rechner der zweiten Stufe ermitteln nun die richtigen Daten aus den je fünffach übertragenen Ergebnissen jedes Rechners der ersten Stufe, indem sie in einem ersten Schritt jeweils alle Ergebnisse, die von einem der Rechner der ersten Stufe als Quelle kommen auf fehlerfreie Übertragung durch Nachrechnung des zyklischen Kontrollzeichens überprüft werden und daß sich aus diesen Werten dann ein gültiges Ergebnis ergibt, wenn alle Werte mit fehlerfreien Kontrollzeichen gleich sind und wenigstens ein Wert mit fehlerfreiem Kontrollzeichen übertragen wurde und in jedem anderen Fall einen ungültigen Wert erhält. In einem zweiten Schritt werden die gültigen Anfangsdaten der zweiten Stufe aus der Mehrheitsentscheidung der gültigen Ergebnisse der fünf Rechner der ersten Stufe gebildet.
Alle Schritte des Datenaustausches werden von allen Rechnern einer Stufe parallel und in der gleichen Weise ausgeführt, indem die Vernetzung der Rechner in jeder Stufe so erfolgt, daß bei zyklischer Anordnung der Rechner die Verbindung zum darauffolgenden Rechner der gleichen Stufe über einen ersten Anschluß, die Verbindung zum übernächsten Rechner über einen zweiten Anschluß, die Verbindung zum dritten Rechner der gleichen Stufe über einen dritten Anschluß und die Verbindung zum vierten Rechner der gleichen Stufe über einen vierten Anschluß hergestellt wird.
Weitere Merkmale der Erfindung sind in den Unteransprüchen beschrieben.
So benutzt eine Ausgestaltung der erfindungsgemäßen Lösung Verbindungswege zwischen den Rechnern und zu den Ein- und Ausgangseinheiten, die bitseriell arbeiten und bei denen die elektrische Trennung der Rechner untereinander und zu den Ein- und Ausgangseinheiten über zwischengeschaltete Optokoppler erfolgt.
Eine weitere Ausgestaltung besteht darin, daß die Kopplung zu den Ein- und Ausgängen über an das Bussystem angeschlossene Ports erfolgt.
Als Ausgestaltungsbeispiel werden die Verarbeitungseinheiten der Rechner mit Transputern aufgebaut und die Verbindungswege durch Links gebildet.
Als weiteres Ausgestaltungsbeispiel werden die seriellen Verbindungswege zu den Ein- und Ausgängen des Rechnersystems über an das Bussystem der Rechner angeschlossene Linkadapter hergestellt.
Vorteile dieser Lösung sind
  • - die Reduzierung der Anzahl der Rechner von sieben auf fünf, um bei bis zu zwei gleichzeitig auftretenden Fehlern mit Hilfe des Datenaustausches aus toleranzbehafteten Eingangsdaten gleiche und in der Mehrzahl richtige Ergebnisse zu berechnen. Damit reduziert sich auch die Anzahl der für die Vernetzung erforderlichen Anschlüsse je Rechner sowie die zur Gewährleistung der Fehlertoleranz erforderliche Anzahl auszutauschender Daten.
  • - nur vier erforderliche Anschlüsse je Rechner für die Vernetzung, um mit fünf Rechnern je Stufe in einem zweistufigen System auch dann noch in der Mehrzahl gleiche und richtige Ergebnisse aus toleranzbehafteten Eingangsdaten zu berechnen, wenn gleichzeitig in der einen Stufe zwei und in der anderen Stufe ein Fehler auftritt.
  • - die Tolerierung von zwei Fehlern je Stufe in einem mehrstufigen System mit je fünf Rechnern in jeder Stufe wobei nur eine einfache 1 : 1-Verbindung der Rechner von Stufe zu Stufe erforderlich ist.
  • - ein sehr einfacher Aufbau, der sich beim Einsatz von Transputern als zentrale Verarbeitungseinheit in den Rechnern ergibt.
Das Prinzip und die Einzelheiten der erfindungsgemäßen Lösung werden anhand von Ausführungsbeispielen dargestellt. Zur Erklärung dient die nachstehende Zeichnung. Diese zeigt im Einzelnen:
Fig. 1 Den Aufbau eines 1-Fehler-toleranten Rechnerystems, wie es in der Literatur angegeben ist.
Fig. 2 Den Aufbau eines 1-Fehler-toleranten Rechnersystems nach dem erfindungsgemäßen Prinzip.
Fig. 3 Die erfindungsgemäße Lösung eines 2-Fehler-toleranten Rechnersystems.
Fig. 4 Eine Tabelle für die Datenaustausche und die Anordnung der Daten im Speicher.
Fig. 5 Eine Tabelle für die Durchführung des Datenaustausches für Rechner, die mit ihren Anschlüssen im Halbduplexbetrieb parallel arbeiten können.
Fig. 6 Die Zusammenschaltung in einem zweistufigen System mit 1-Fehler-toleranten Stufen.
Fig. 7 Die erfindungsgemäße Zusammenschaltung in einem zweistufigen System mit 2-Fehler-toleranten Stufen.
Fig. 8 Tabellen für die Datenaustausche und die Anordnung der Daten im Speicher.
Fig. 9 Eine Tabelle für die Durchführung des Datenaustausches für Rechner, die mit ihren Anschlüssen im Halbduplexbetrieb parallel arbeiten können.
Fig. 10 Eine erfindungsgemäße Lösung eines zweistufigen Systems mit 2-Fehler-toleranten Stufen.
Fig. 11 Tabellen für die Datenaustausche und die Anordnung der Daten im Speicher.
Fig. 12 Eine Tabelle für die Durchführung des Datenaustausches für Rechner, die mit ihren Anschlüssen im Halbduplexbetrieb parallel arbeiten können.
In der Zeichnung werden Rechner P₁ bis Pn durch Kreise und die Verbindungswege durch Doppellinien dargestellt.
Das Prinzip der in der Literatur angegebenen Lösung eines 1-Fehler-toleranten Systems zeigt Fig. 1. Das System enthält vier Rechner, die untereinander voll vernetzt sind, das heißt, jeder Rechner ist mit jedem anderen Rechner verbunden. Jeder Rechner Pi erhält von einer nicht dargestellten Datenquelle seine eigenen Daten Vii . Die Herstellung einheitlicher Anfangsdaten erfolgt mit Hilfe des Datenaustausches nach dem folgenden Schema:
In einer ersten Runde des Datenaustausches sendet jeder Rechner seine eigenen Daten an jeden anderen Rechner. Damit entstehen die als Viÿ gekennzeichneten Werte. In einer zweiten Runde sendet jeder Rechner die in der ersten Runde empfangenen Daten an die anderen Rechner, die nicht Quelle der Daten in der ersten Runde waren. Damit ergeben sich die als Viÿk gekennzeichneten Werte. Die Auswertung erfolgt in zwei Schritten. Der erste Schritt ist eine Mehrheitsentscheidung, d. h. die (2 aus 3) Mehrheit der Daten wird als richtiger Wert angesehen. Dabei werden in jedem Rechner aus den Quell- und Zielwerten der zweiten Runde, die von einer Quelle in der ersten Runde stammenden Daten ausgewertet. Das wird für die Rechner Pi, Pj, Pk und Pm dargestellt durch:
Vi′ik = majority {Viik, Viÿk, Viimk}
Damit ist gesichert, daß jeder fehlerfreie Rechner mit den gleichen Daten arbeitet. In dem zweiten Schritt der Auswertung wird daraus ein Mittelwert gebildet. Dieser soll als "begrenzter Mittelwert" (limited mean value) bezeichnet werden, bei dem zu stark abweichende Werte aus der Mittelwertsbildung ausgeschlossen werden:
V′i = lmv{Vii , Vj′ji, Vk′ki,Vm′mi}
Somit haben auch alle fehlerfreien Rechner bei jeder beliebigen Art eines auftretenden Fehlers den gleichen Mittelwert, mit dem anschließend gearbeitet wird. Für dieses Verfahren sind aber immer
N = 3m + 1
Rechner erforderlich, um bei der Erzeugung übereinstimmender Anfangsdaten m Fehler tolerieren zu können, obwohl anschließend mit
N = 2m + 1
Rechnern gearbeitet werden kann, weil dann einheitliche Anfangsdaten vorausgesetzt werden können. Das Prinzip funktioniert auch dann noch, wenn nur drei der vier Rechner eigene Daten haben.
Die Anordnung nach Fig. 2. dient zur Darstellung des erfindungsgemäßen Prinzips. Es sind drei Rechner P₁, P₂ und P₃ dargestellt, die zu einem Ring zusammengeschaltet sind, wodurch die Bedingung der vollständigen Vernetzung erfüllt wird. Mit dieser Anordnung wird für alle fehlerfreien Rechner auch dann noch die Erzeugung einheitlicher Anfangsdaten gewährleistet, wenn ein beliebiger Fehler auftritt. Dazu ist folgender Datenaustausch erforderlich:
Vor Beginn des Datenaustausches ergänzt jeder Rechner Pi seine eigenen Daten Vi i mit einem zyklischen Kontrollzeichen, wobei jeder Rechner sein eigenes CRC-Polynom verwendet. Diese Vorgehensweise wird auch als Arbeit mit gekennzeichneten Nachrichten bezeichnet. Der Datenaustausch erfolgt ebenfalls in zwei Runden, wobei aber wesentlich weniger Daten ausgetauscht werden müssen. Das Ergebnis der ersten Runde ist mit Viÿ und das Ergebnis der zweiten Runde mit Viÿk gekennzeichnet. Die Lösung ist aber nur dadurch anwendbar, daß eine andere Auswertung im ersten Auswertungsschritt anstelle der Mehrheitsentscheidung angewendet wird. Zunächst werden die empfangenen Daten auf CRC-Fehler überprüft. Eine Verfälschung durch einen fehlerhaften Rechner ist damit erkennbar. Die Sicherheit, daß sich nach einer Verfälschung eine fehlerfreie CRC-Kontrolle ergibt, kann durch geeignete Wahl der Polynome beliebig hoch gewählt werden. Alle Daten können somit durch zwischengeschaltete Rechner nicht verfälscht werden, ohne daß es erkannt wird. Um Eindeutigkeit auch für den Fall zu erreichen, daß der Rechner, der als Datenquelle arbeitet, unterschiedliche Daten mit richtigem CRC-Zeichen aussendet, müssen die Daten, die zweimal mit richtigem CRC-Zeichen aber unterschiedlichem Inhalt empfangen wurden, als ungültig gekennzeichnet werden. Bezeichnet man mit
Vi′ÿ = ident1,2 {Viÿ, Viikj}
die Funktion, die Vi′ÿ nur dann den Wert aus der Klammer zuordnet, wenn die in der Klammer stehenden CRC-fehlerfreien Werte gleich sind und wenigstens einer der zwei Werte CRC-fehlerfrei ist, dann können damit für alle fehlerfreien Rechner gleiche Anfangsdaten auch dann erzeugt werden, wenn ein Rechner ein beliebiges Fehlerverhalten zeigt. Mit Hilfe der bereits dargestellten lmv-Funktion werden dann gleiche Mittelwerte für alle fehlerfreien Rechner erzeugt. Daraus folgt, daß diese fehlerfreien Rechner nach der Ausführung ihres Programms auch alle das gleiche Ergebnis berechnen. Für jede weitere Berechnung und Auswertung kann danach durch eine 2-aus-3-Mehrheitsentscheidung immer auf die richtigen Daten geschlossen werden.
Für 2-Fehler-tolerante Systeme müßten nach der bekannten Lösung sieben untereinander voll vernetzte Rechner vorgesehen werden, bei denen mit 156 auszutauschenden Daten je Rechner einheitliche Anfangsdaten ermittelt werden können.
Fig. 3 zeigt die erfindungsgemäße Lösung eines 2-Fehler-toleranten Rechnersystems mit fünf Rechnern P₁ bis P₅. Jeder Rechner hat vier Anschlüsse a, b, c, d und ist über bidirektionale Verbindungswege a-d, b-c, c-b, d-a mit jedem anderen Rechner verbunden, d. h. die Anordnung ist voll vernetzt. Jeder der Rechner P₁ bis P₅ erhält seine eigenen Daten Vii über die gestrichelt dargestellten Wege z. B. von dem einem dem Rechner zugeordneten Sensor, der in Fig. 3 nicht dargestellt ist. Damit bildet jeweils ein Rechner zusammen mit seinem Sensor eine FCR. Zur Erzeugung einheitlicher Anfangsdaten werden diese Daten vor dem ersten Senden mit zyklischen Kontrollzeichen ergänzt, wobei jeder Rechner ein individuell zugeordnetes CRC-Polynom verwendet. Danach überträgt jeder Rechner seine Daten Vii in einer ersten Runde an die vier anderen der Rechner P₁ bis P₅. In einer zweiten Runde sendet jeder Rechner P₁ bis P₅ die in der ersten Runde empfangenen Daten Viÿ unverändert an diejenigen drei anderen Rechner, die nicht Quelle der Daten in der ersten Runde waren. In einer dritten Runde sendet jeder Rechner P₁ bis P₅ seine in der zweiten Runde empfangenen Daten Vi ÿk unverändert an diejenigen zwei Rechner weiter, die nicht Quelle der Daten in der ersten und zweiten Runde des Datenaustausches waren. Diese Daten sind mit Viÿkm bzw. Viÿkn bezeichnet. Die Verteilung der vom Rechner P₁ ausgehenden Daten zeigt die nachfolgende Tabelle:
Von jedem Rechner P₁ bis P₅ als erste Quelle wird die gleiche Anzahl Daten mit den anderen Rechnern ausgetauscht.
Für die Auswertung wird die bereits dargestellte ident-Funktion benutzt, die in verallgemeinerter Form als
ident x, y { }
bezeichnet werden soll. Das bedeutet, daß das Ergebnis den Wert erhält, den die CRC-fehlerfreien Daten haben, wenn diese gleich sind und wenigstens x von den insgesamt y in der Klammer stehenden Daten CRC-fehlerfrei sind. In allen anderen Fällen ergibt sich ein ungültiger Wert (NIL). Die erste Auswertung faßt die Daten der dritten Runde des Datenaustausches so zusammen, daß aus den Quell- und Zieldaten, die in der zweiten und ersten Runde von der gleichen Quelle stammen, in jedem Rechner (P1 bis P5) 4*3=12 erste Ergebnisse gebildet werden:
Vi′ÿk = ident1,3{Vi ÿk, Viÿmk,Viÿnk}
In einer zweiten Auswertung werden vier Zwischenergebnisse ermittelt, indem die Ergebnisse der ersten Auswertung und die Daten aus der ersten Runde, die alle von der gleichen Quelle der ersten Runde stammen, so zusammengefaßt werden, daß sie dann einen gültigen Wert bilden, wenn alle CRC-fehlerfreien Daten gleich sind und die Zahl der CRC-fehlerfreien Daten mindestens zwei beträgt:
Vi′ik = ident2,4 {fViik, Vi′ÿk ,Vi′imk, Vi′ink}
Damit hat jeder fehlerfreie Rechner genau die gleichen Daten mindestens von jedem anderen fehlerfreien Rechner erhalten. Aus den vier Zwischenergebnissen der zweiten Auswertung und den eigenen Daten des Rechners wird dann der Mittelwert berechnet, wobei durch die lmv-Funktion zu weit abweichende Werte eliminiert werden:
V′k = lmv{Vkk , Vi′ik, Vj′jk, Vm′mk, Vn′nk}
Somit hat jeder fehlerfreie Rechner genau die gleichen Anfangsdaten, mit dem er seine Arbeitsaufgabe durchführen kann und wird das gleiche Ergebnis berechnen.
Dieses Verhalten soll nachstehend anhand der von dem Rechner P₁ als erste Quelle gesendeten Daten überprüft werden. In einem ersten Beispiel wird angenommen, daß die Rechner P₂ und P₃ fehlerhaft sind. Dabei werden die durch den Rechner P₂ verfälschten Daten V1 als V1 (2) und die durch den Rechner P₃ verfälschten Daten V1 als V1 (3) gekennzeichnet. Ein unterschiedliches Verhalten auf getrennten Übertragungswegen wird durch (2′) bzw. (2′′) bezeichnet. Können beide fehlerhaften Rechner P₂ und P₃ die Daten V1 verfälschen, dann wird das durch V1 (23) dargestellt.
Nach der ident1,3-Funktion ergeben sich bei den fehlerhaften Rechnern P₂ und P₃ beliebige Ergebnisse Y und Z und die zwei Rechner P₄ und P₅ erhalten je vier Zwischenergebnisse. Diese können in Abhängigkeit von der Verfälschung durch P₂ bzw. P₃ NIL oder V1 sein, dargestellt durch NIL(V1). Alle fehlerfreien Rechner erhalten nach der ident2,4-Funktion den Wert V1.
Für den Fall, daß die Rechner P₁ und P₂ fehlerhaft sind, müssen drei verschiedene Fehlerarten des Rechners P₁ betrachtet werden:
  • A) Der Rechner P₁ sendet an P₂ den Wert a, an P₃ bis P₅ den Wert b.
  • B) Der Rechner P₁ sendet an P₂ und P₃ den Wert a, an P₄ und P₅ den Wert b.
  • C) Der Rechner P₁ sendet an P₂ bis P₄ den Wert a, an P₅ den Wert b.
Bei diesen Darstellungen wird immer angesetzt, daß ein fehlerhafter, die Quelle bildender Rechner P₁ anstelle seiner Daten V1₁ beliebige Werte a oder b mit richtigem CRC-Kontrollzeichen sendet und daß das Ergebnis der ident1,3-Funktion und damit auch der ident2,4-Funktion bei den fehlerhaften Rechnern einen beliebigen Wert X oder Y ergeben kann. Es entstehen dabei immer gleiche Daten bei den fehlerfreien Rechnern. Die Ergebnisse für alle anderen Fälle sind einfach zu erkennen:
  • - P₁ sendet vier unterschiedliche Daten: Es entsteht NIL.
  • - P1 sendet vier gleiche Daten: Diese werden von der ident2,4-Funktion immer als gültig erkannt.
  • - P1 sendet mehr als zweimal NIL: Es entsteht NIL.
Zur Verkürzung des Ablaufes im fehlerfreien Fall und in Fällen einfacher Fehler wird nach der ersten Runde des Datenaustausches ein vorläufiger Mittelwert gebildet. Dieser wird in einer ersten Zwischenrunde von jedem Rechner P₁ bis P₅ an jeden anderen der Rechner P₁ bis P₅ übertragen. Die Mehrheit dieser fünf Mittelwerte stellt bereits dann gültige Anfangsdaten dar, wenn wenigstens vier der fünf Rechner mindestens drei gleiche Daten zur Mittelwertsbildung hatten. Dazu wird bei der Mittelwertsbildung die Zahl der gleichen Daten gezählt und diese Zahl in einer zweiten Zwischenrunde wiederum zwischen allen Rechnern ausgetauscht. Jeder Rechner ermittelt die Gültigkeit der nach der ersten Zwischenrunde berechneten Anfangsdaten dadurch, daß er in der zweiten Zwischenrunde wenigstens viermal eine Zahl gleich oder größer als drei in der zweiten Zwischenrunde empfangen hat. Anderenfalls wird die vollständige Auswertung nach der ersten Runde des Datenaustausches fortgesetzt.
Für den vollständigen Datenaustausch sind von jedem der fünf Rechner insgesamt 40 Nachrichten zu senden und zu empfangen. Verbindet man die fünf Rechner mit ihren vier Anschlüssen a, b, c und d so miteinander, wie es in Fig. 3 dargestellt ist, also man verbindet den Anschluß a mit dem nachfolgenden Rechner, den Anschluß b mit dem übernächsten Rechner, den Anschluß c mit dem dritten und den Anschluß d mit dem vierten Rechner, dann können alle Rechner die gleichen Schritte des Datenaustausches parallel in der gleichen Weise, d. h. mit dem gleichen Programm, ausführen.
In Fig. 4 ist als Tabelle dargestellt, in welchen Speicherplatz (Nr.) mit welchem Transfer welche Daten bei den einzelnen Rechnern (P₁ bis P₅) eingetragen werden (Ergebnis am Ziel). Es ist sofort zu erkennen, daß innerhalb der Bereiche Nr. 2 . . . Nr. 11, Nr. 12 . . . Nr. 21, Nr. 22 . . . Nr. 31 und Nr. 32 . . . Nr. 41 gleiche CRC-Polynome gelten, da die Daten vom gleichen Rechner als Quelle ausgesendet wurden. Die erste Auswertung mit der ident1,3-Funktion ist bei jedem Rechner für die Bereiche 3-5, 6-8, 9-11, 13-15, 16-18 usw. bis 39-41 durchzuführen. Die ident2,4-Funktion faßt dann immer die Ergebnisse aus den Bereichen gleicher CRC-Polynome zusammen.
Fig. 5 zeigt eine Tabelle für die Ausführung des Datenaustausches. In jedem Schritt kann jeder der Rechner P₁ bis P₅ über je zwei Anschlüsse (a und b bzw. c und d) senden und gleichzeitig über je zwei Anschlüsse (c und d bzw. a und b) empfangen. Dabei wird vorausgesetzt, daß jeder Rechner mit allen vier Anschlüssen gleichzeitig im Halbduplexbetrieb arbeiten kann. Hier ist zu erkennen, daß die insgesamt 5*40=200 Nachrichten in 20 Schritten ausgetauscht werden. Für den Fall, daß Vollduplexbetrieb möglich ist, lassen sich jeweils zwei Schritte gleichzeitig ausführen.
Als Möglichkeit zur Erhöhung der Leistung ist die Anwendung des Pipeline-Prinzipes bekannt, bei dem das Programm auf zwei oder mehr hintereinandergeschaltete Rechner (Stufen) aufgeteilt wird und die Teile aufeinanderfolgender Aufgaben in den Stufen gleichzeitig bearbeitet werden.
Ein zweistufiges System mit 1-Fehler-toleranten Stufen ist in Fig. 6 dargestellt. Die drei Rechner P₁ bis P₃ der ersten Stufe und die drei Rechner P′₁ bis P′₃ der zweiten Stufe sind jeweils zu einem Ring zusammengeschaltet, d. h. sie sind jeweils untereinander voll vernetzt. Jeder Rechner Pi der ersten Stufe ist mit dem ihm zugeordneten Rechner P′i der zweiten Stufe verbunden. Weiterhin wird jeder der Rechner der ersten Stufe (P₁ bis P₃) über die gestrichelt dargestellten Wege mit einer Datenquelle (z. B. einem Sensor) und jeder der Rechner der zweiten Stufe (P₁′ bis P₃′) über die gestrichelt dargestellten Wege mit einer Datensenke (z. B. einem Aktor) verbunden. Wird für die Übertragung von den Rechnern P₁ bis P₃ zu den Rechnern P₁′ bis P₃′ nur die direkte Verbindung genutzt, dann kann in dem System nur dann ein zweiter Fehler toleriert werden, wenn dieser in der gleichen Spalte auftritt, da sonst in der zweiten Stufe nicht in der Mehrheit gleiche Anfangsdaten für die fehlerfreien Rechner bereitstehen, weil nur einer der fehlerfreien Rechner der zweiten Stufe fehlerfreie Ergebnisse von der ihm zugeordneten ersten Stufe erhält. Diese Eigenschaft läßt sich verbessern, wenn man für die Übertragung von der ersten Stufe zur zweiten Stufe alle möglichen Übertragungswege nutzt:
Verwendet man für die Übertragung auch hier gekennzeichnete Nachrichten, d. h. ergänzt die Daten vor dem Senden durch zyklische Kontrollzeichen, dann sind alle über Umwege geführten Übertragungen auf Grund der drei unabhängigen Wege 2-Fehler-tolerant. Jeder fehlerfreie Rechner erhält mit Hilfe der ident1,3-Funktion alle Ergebnisse der ersten Stufe und kann durch Mehrheitsentscheidung die richtigen Ergebnisse als Anfangsdaten ermitteln. Somit kann das System einen beliebigen Fehler in der ersten Stufe und einen beliebigen Fehler in der zweiten Stufe tolerieren.
Das gleiche Problem tritt auch bei Systemen auf, deren Stufen selbst 2-Fehler-tolerant sind. Hier ist entweder nur ein Fehler je Stufe zulässig oder es sind je Stufe maximal dann zwei Fehler zulässig, wenn diese in zwei gleichen Spalten auftreten. Diese Nachteile können mit der erfindungsgemäßen Anordnung nach Fig. 7 beseitigt werden.
In Fig. 7 sind die fünf Rechner P₁ bis P₅ der ersten Stufe und die fünf Rechner P₁′ bis P₅′ der zweiten Stufe über bidirektionale Verbindungswege a-d, d-a zu einem Ring zusammengeschaltet. Weiterhin ist jeder der Rechner P₁ bis P₅ der ersten Stufe mit dem jeweils nachfolgenden der Rechner P₁′ bis P₅′ über einen bidirektionalen Verbindungsweg b-c und dem jeweils vorhergehenden der Rechner P₁′ bis P₅′ der zweiten Stufe über einen bidirektionalen Verbindungsweg c-b verbunden. Zur Erzeugung der Fehlertoleranz wird mit einem Austausch von Daten gearbeitet, die vor dem ersten Senden mit einem zyklischen Kontrollzeichen ergänzt werden, wobei jeder Rechner ein ihm individuell zugeordnetes CRC-Polynom verwendet. Die Übertragungen für den Datenaustausch zum jeweils benachbarten Rechner erfolgt in jeder Stufe direkt. Die in Fig. 7 für die volle Vernetzung der einzelnen Stufen nicht direkt vorhandenen Verbindungen zum jeweils übernächsten Rechner werden über die zweite Stufe hergestellt. Dabei wird diese Verbindung dann 1-Fehler-tolerant, wenn die Übertragungen doppelt über zwei unabhängige Wege ausgeführt werden:
Diese Wege sind auch in entgegengesetzter Richtung nutzbar. Durch die Anwendung gekennzeichneter Nachrichten und Auswertung mit der ident1,2-Funktion wird die Fehlertoleranz erreicht, d. h. der Datenaustausch zu den nicht direkt erreichbaren Rechnern wird dadurch überprüft, daß die empfangenen Daten dann einen gültigen Wert erhalten, wenn die CRC-fehlerfreien Daten gleich sind und die Anzahl der CRC-feh­ lerfreien Daten wenigstens eins ist. Damit kann jede Stufe so arbeiten, als wäre sie in sich voll vernetzt.
Für die Übertragung von der ersten Stufe zur zweiten Stufe erhält jeder Rechner P₁′ bis P₅′ der zweiten Stufe das Ergebnis von jedem Rechner P₁ bis P₅ der ersten Stufe, indem jeder Rechner der zweiten Stufe die Ergebnisse des vorhergehenden und des nachfolgenden Rechners der ersten Stufe direkt empfängt und die Ergebnisse der anderen Rechner der ersten Stufe 3-Fehler-tolerant über die vier möglichen, völlig voneinander unabhängigen Wege vierfach erhält. Hierbei ergeben sich zum Beispiel für die Übertragungen vom Rechner P₁ aus die folgenden Wege:
Die Übertragungswege für das Senden der anderen Rechner (P₂ bis P₅) ergeben sich hieraus durch zyklisches Vertauschen.
Hierbei werden alle nicht direkt vorhandenen Verbindungen durch vier unabhängige Wege realisiert und sind somit bei Anwendung gekennzeichneter Nachrichten 3-Fehler-tolerant, wenn sie mit der ident1,4-Funktion ausgewertet werden, d. h. die Daten sind dann gültig, wenn alle von einem Rechner der ersten Stufe kommenden und CRC-fehlerfreien Daten gleich sind und die Zahl der CRC-fehlerfreien Daten wenigstens eins ist. Durch Mehrheitsentscheidung ermitteln alle fehlerfreien Rechner der zweiten Stufe gleiche und fehlerfreie Anfangsdaten. Damit wird die Bedingung erfüllt, daß in einer Stufe zwei beliebige Fehler und in der anderen Stufe ein beliebiger Fehler auftreten darf.
Wendet man dabei die Zuordnung der Anschlüsse zu den Verbindungen an, wie sie in Fig. 7 dargestellt sind, also zum nachfolgenden Rechner der jeweils gleichen Stufe Anschluß a, zum nachfolgenden Rechner der jeweils anderen Stufe Anschluß b, zum vorhergehenden Rechner der jeweils anderen Stufe Anschluß c und zum vorhergehenden Rechner der jeweils gleichen Stufe Anschluß d, so können immer alle Rechner die gleichen Funktionen für die Datenaustauschfunktion parallel und in der gleichen Weise anwenden, d. h. mit gleichem Programm ausführen.
In Fig. 8 ist als Tabelle dargestellt, in welche Speicherbereiche (Nr.) bei jedem Rechner (P₁ bis P₅ bzw. P₁′ bis P₅′) welche Daten zu speichern sind und mit welchen Transfers sich die jeweiligen Daten an dieser Stelle ergeben. Dabei zeigt Fig. 8a die Speicherbelegung der ersten Stufe und Fig. 8b die Speicherbelegung der zweiten Stufe. Auch sind die Daten so geordnet, daß die Bereiche 1′-4′, 6′-9′ und 10′-13′ je mit gleichem CRC-Polynom zu kontrollieren sind. Die Anwendung der ident1,4-Funktion erfolgt ebenfalls auf diese Bereiche. Damit stehen in jedem Rechner der zweiten Stufe die Ergebnisse von allen fünf Rechnern der ersten Stufe zur Verfügung. Die gültigen Anfangsdaten der zweiten Stufe ergeben sich in jedem Rechner aus der Mehrheitsentscheidung über diese fünf Ergebnisse.
Die Reihenfolge für die Ausführung der einzelnen Transfers für Rechner die mit ihren Anschlüssen im Halbduplexbetrieb parallel arbeiten können, zeigt die Tabelle in Fig. 9. In jedem Schritt ist angegeben, über welchen Anschluß jeder der Rechner P₁ bis P₅ und P₁′ bis P₅′ sendet oder empfängt, wenn alle Anschlüsse parallel im Halbduplexbetrieb arbeiten können. Die insgesamt 18*5=90 Transfers können bei dieser Arbeitsweise in sieben Schritten ausgeführt werden.
Fig. 10 zeigt ein zweistufiges System, bei dem jede Stufe 2-Fehler-tolerant ist. Die fünf Rechner P₁ bis P₅ der ersten Stufe und die fünf Rechner P₁′ bis P₅′ der zweiten Stufe sind über bidirektionale Datenwege a-d, b-c, c-b, d-a jeweils untereinander vollständig vernetzt. Jeder Rechner Pi der ersten Stufe ist mit dem ihm zugeordneten Rechner Pi′ der zweiten Stufe über einen Datenweg e-e direkt verbunden. Weiterhin ist jeder Rechner P₁ bis P₅ der ersten Stufe über eine gestrichelt dargestellte Verbindung mit einer ihm zugeordneten Datenquelle (z. B. einem Sensor) und jeder Rechner P₁′ bis P₅′ der zweiten Stufe mit einer ihm zugeordneten Datensenke (z. B. einem Aktor) verbunden, wobei in Fig. 10 Datenquellen und Datensenken nicht dargestellt sind.
In der ersten Stufe werden aus den toleranzbehafteten Eingangsdaten in der bereits dargestellten Weise in der Mehrheit einheitliche und richtige Anfangsdaten berechnet, indem jeder Rechner P₁ bis P₅ der ersten Stufe seine eigenen Daten mit einem zyklischen Kontrollzeichen ergänzt, die Daten in drei Runden austauscht, zwei Auswertungen durchführt sowie über die vier Zwischenergebnisse und die eigenen Daten die Mehrheitsentscheidung durchführt. Die Ergebnisse der Berechnungen der ersten Stufe werden mit zyklischen Kontrollzeichen ergänzt. Um die richtigen Ergebnisse der ersten Stufe auch richtig an die fehlerfreien Rechner der zweiten Stufe übertragen zu können, muß diese Übertragung 4-Fehler-tolerant sein, denn es sollen zwei Fehler in der ersten Stufe und zwei Fehler in der zweiten Stufe toleriert werden. Das erfordert bei der Anwendung gekennzeichneter Nachrichten die Übertragung über fünf unabhängige Wege, wenn keine direkte Verbindung vorhanden ist. Dazu überträgt jeder Rechner P₁ bis P₅ das Ergebnis seiner Berechnung an jeden der Rechner P₁ bis P₅ der ersten Stufe, jeder Rechner der ersten Stufe überträgt sein Ergebnis und alle zu ihm übertragenen Ergebnisse zu dem ihm zugeordneten Rechner der zweiten Stufe und jeder Rechner P₁′ bis P₅′ der zweiten Stufe überträgt alle zu ihm übertragenen Ergebnisse zu allen anderen Rechnern der zweiten Stufe. Als Beispiel sollen die Übertragungen dienen, die vom Rechner P₁ ausgehen:
Die Übertragungen, die von den anderen Rechnern der ersten Stufe ausgehen, erhält man durch zyklische Vertauschung. Somit hat jeder Rechner die Daten von den Rechnern, die nicht direkt miteinander verbunden sind fünffach erhalten. Vor der Übertragung werden die Ergebnisse mit einem jedem Rechner P₁ bis P₅ individuell zugeordneten CRC-Zeichen ergänzt. Zur Ermittlung der richtigen Daten werden diese in zwei Schritten ausgewertet. In einem ersten Schritt werden jeweils alle Ergebnisse, die von einem der Rechner P₁ bis P₅ der ersten Stufe kommen, auf CRC-Fehlerfreiheit überprüft und das gültige Ergebnis für einen sendenden Rechner wird von jedem empfangenden Rechner durch die ident1,5-Funktion ermittelt, das heißt, alle CRC-fehlerfreien Daten dieses Rechners müssen gleich sein, und es muß wenigstens ein Wert ohne CRC-Fehler empfangen worden sein. Anderenfalls wird für diesen Rechner der Wert NIL eingesetzt. Somit hat jeder Rechner von jedem sendenden Rechner einen gültigen Wert oder NIL empfangen. In einem zweiten Schritt werden die gültigen Anfangsdaten für jeden Rechner der zweiten Stufe durch Mehrheitsentscheidung aller gültigen Ergebnisse der fünf Rechner der ersten Stufe gebildet.
Alle Schritte des Datenaustausches werden parallel ausgeführt, indem die Vernetzung der Rechner P₁ bis P₅ und P₁′ bis P₅′ in jeder Stufe so erfolgt, daß bei zyklischer Anordnung der Rechner die Verbindung zum darauffolgenden Rechner der gleichen Stufe über einen ersten Anschluß a, die Verbindung zum übernächsten Rechner der gleichen Stufe über einen zweiten Anschluß b, die Verbindung zum dritten Rechner der gleichen Stufe über einen dritten Anschluß c und die Verbindung zum vierten Rechner der gleichen Stufe über einen vierten Anschluß d hergestellt wird.
Fig. 11 zeigt als Tabelle, in welche Speicherbereiche (Nr.) welche Daten bei den Rechnern (P₁ bis P₅ und P₁′ bis P₅′) zu speichern sind und mit welchen Transfers sich diese Daten ergeben. Dabei zeigt Fig. 11a die Speicherbelegung der ersten Stufe und Fig. 11b die Speicherbelegung der zweiten Stufe. Die Daten sind in der zweiten Stufe so geordnet, daß die Bereiche 1′, 2′-6′, 7′-11′, 12′-16′ und 17′-21′ jeweils mit den gleichen CRC-Polynomen zu kontrollieren sind. Die Anwendung der ident1,5-Funktion erfolgt auf die gleichen Bereiche (außer Bereich 1′). Die gültigen Anfangsdaten ergeben sich dann aus der Mehrheitsentscheidung über die fünf Bereiche.
Die Reihenfolge für die Ausführung der einzelnen Transfers für Rechner die mit ihren Anschlüssen im Halbduplexbetrieb parallel arbeiten können zeigt die Tabelle in Fig. 12. In jedem Schritt ist angegeben, über welche Anschlüsse jeder der Rechner P₁ bis P₅ bzw. P₁′ bis P₅′ sendet bzw. empfängt, wenn die Anschlüsse an jedem Rechner gleichzeitig im Halbduplexbetrieb arbeiten können. Die insgesamt 25 * 5=125 Transfers können bei dieser Arbeitsweise in 9 Schritten ausgeführt werden.
Es ergeben sich einfache Lösungen, wenn die Verbindungswege a-d, b-c, c-b, d-a zwischen den Rechnern P1 bis P5 bzw. P1′ bis P5′ sowie von dem Rechnersystem zu den Ein- und Ausgangseinheiten bitseriell arbeiten. Für die elektrische Trennung zum Schutz vor Überspannung und Kurzschlüssen sind Optokoppler zwischenzuschalten.
In einer Ausgestaltung des Rechnersystems werden die Datenquellen und -senken für die Ein- und Ausgabe mit Ports verbunden, die an das Bussystem der Rechnern P₁ bis P₅ bzw. P₁′ bis P₅′ angeschlossen sind. Das ist besonders dann günstig, wenn die Ein- und Ausgabeeinheiten mit paralleler Datenübertragung arbeiten.
Besonders einfache Lösungen ergeben sich, wenn die Verarbeitungseinheiten für die Rechner mit Transputern aufgebaut werden und die Verbindungen a-d, b-c, c-b, d-a an die Links angeschlossen werden.
Zur Erhöhung der Anzahl der Übertragungswege werden Linkadapter zwischen Datenquellen und Datensenken mit serieller Übertragung und die Bussysteme der Rechner P₁ bis P₅ bzw. P₁′ bis P₅′ geschaltet. Bei Transputersystemen erhält man einheitliche Anschlüsse, wenn die Portseite des Linkadapters mit dem Bussystem verbunden wird.

Claims (7)

1. Fehlertolerantes Rechnersystem mit selbständig arbeitenden Rechnern und je einem Dateneingang an jedem Rechner, der mit jeweils einer Datenquelle verbunden ist, dessen fehlerfreie Rechner bei bis zu zwei beliebigen, gleichzeitig auftretenden Fehlern aus toleranzbehafteten Eingangsdaten gleiche und fehlerfreie Ergebnisse erzeugen, dadurch gekennzeichnet,
daß fünf Rechner (P₁ bis P₅) über bidirektionale Verbindungswege (a-d, b-c, c-b, d-a) untereinander vollständig vernetzt sind, daß die Gewinnung der fehlertoleranten Anfangsdaten durch einen Austausch von Daten in drei Runden derart erfolgt, daß die Daten vor dem ersten Senden mit einem zyklischen Kontrollzeichen ergänzt werden, wobei jeder Rechner (P₁ bis P₅) ein individuell zugeordnetes CRC-Polynom verwendet, daß jeder Rechner (P₁ bis P₅) seine Daten in einer ersten Runde an die vier anderen der Rechner (P₁ bis P₅) sendet, in einer zweiten Runde jeder Rechner (P₁ bis P₅) die empfangenen Daten aus der ersten Runde jeweils unverändert an diejenigen drei der Rechner (P₁ bis P₅) weitersendet, die nicht Quelle dieser Daten sind und in einer dritten Runde jeder Rechner (P₁ bis P₅) die in der zweiten Runde empfangenen Daten unverändert an diejenigen zwei der Rechner (P₁ bis P₅) weitersendet, die nicht Quelle dieser Daten in der ersten und in der zweiten Runde des Datenaustausches waren und daß in einer ersten Auswertung jeweils aus den Quell- und den zwei Zieldaten der dritten Runde, die von der gleichen Quelle in der zweiten und ersten Runde stammen, in jedem Rechner (P₁ bis P₅) 4*3=12 erste Ergebnisse gebildet werden, die jeweils dann einen gültigen Wert besitzen, wenn die als CRC-fehlerfrei erkannten Daten gleich sind und wenigstens ein CRC-fehlerfreier Wert empfangen wurde und in jedem anderen Fall einen ungültigen Wert erhalten, und in einer zweiten Auswertung in jedem Rechner (P₁ bis P₅) vier Zwischenergebnisse ermittelt werden, indem von den Daten, die aus der ersten Runde und den vier Ergebnissen aus der ersten Auswertung, die jeweils vom gleichen Rechner (P₁ bis P₅) als Quelle der ersten Runde stammen, die dann einen gültigen Wert erhalten, wenn alle gültigen und CRC-fehlerfreien Daten gleich sind und die Anzahl der gültigen Daten und CRC-fehlerfreien Daten mindestens zwei beträgt, wobei sich die für alle der Rechner (P₁ bis P₅), die fehlerfrei sind, die endgültigen Anfangsdaten dann aus dem Mittelwert der eigenen Daten und den vier Zwischenergebnissen aus der zweiten Auswertung ergibt, wobei in jedem Rechner zu stark abweichende Werte aus der Mittelwertbidung eliminiert werden,
daß zur Verkürzung des Ablaufes im fehlerfreien Fall und in Fällen einfacher Fehler nach der ersten Runde des Datenaustausches ein vorläufiger Mittelwert von jedem Rechner (P₁ bis P₅) gebildet wird, der in einer ersten Zwischenrunde von jedem Rechner (P₁ bis P₅) an jeden anderen der Rechner (P₁ bis P₅) übertragen wird und daß die Mehrheit dieser fünf Mittelwerte für jeden Rechner (P₁ bis P₅) dann bereits gültige Anfangsdaten darstellen, wenn wenigstens vier der fünf Rechner (P1 bis P5) mindestens drei gleiche Daten zur Mittelwertbildung hatten, indem bei der Mittelwertsbildung die Anzahl gleicher Daten gezählt wird und diese Zahl in einer zweiten Zwischenrunde wiederum zwischen allen Rechnern (P₁ bis P₅) ausgetauscht wird, so daß jeder Rechner (P₁ bis P₅) die Gültigkeit dadurch ermittelt, daß er wenigstens viermal eine Zahl gleich oder größer als drei in der zweiten Zwischenrunde empfangen hat und anderenfalls die vollständige Auswertung nach der ersten Runde des Datenaustausches fortsetzt,
und daß alle Schritte des Datenaustausches von alle Rechnern (P₁ bis P₅) parallel in der gleichen Weise durchgeführt werden, indem die Vernetzung der Rechner (P₁ bis P₅) so erfolgt, daß bei zyklischer Anordnung der Rechner (P₁ bis P₅) die Verbindung zum darauffolgenden Rechner über einen ersten Anschluß (a), die Verbindung zum übernächsten Rechner über einen zweiten Anschluß (b), die Verbindung zum dritten Rechner über einen dritten Anschluß (c) und die Verbindung zum vierten Rechner über einen vierten Anschluß (d) hergestellt wird.
2. Fehlertolerantes Rechnersystem, das entsprechend einem Pipelinesystem aus zwei Stufen mit jeweils mehreren Rechnern besteht, von denen die Rechner der ersten Stufe einen Eingang für Datenquellen haben und dessen fehlerfreie Rechner bei zwei beliebigen Fehlern in der einer Stufe und bei einem beliebigen Fehler in der jeweils anderen Stufe aus toleranzbehafteten Eingangsdaten gleiche und fehlerfreie Ergebnisse berechnen, dadurch gekennzeichnet,
daß fünf Rechner (P₁ bis P₅) in der ersten Stufe und fünf Rechner (P₁′ bis P₅′) in der zweiten Stufe vorhanden sind, die jeweils zu einem Ring über bidirektionale Verbindungswege (a-d, d-a) zusammengeschaltet sind und daß je ein bidirektionaler Verbindungsweg (b-c) von einem der Rechner (P₁ bis P₅) der ersten Stufe zu dem jeweils nachfolgenden der Rechner (P₁′ bis P₅′) der zweiten Stufe und je ein Verbindungsweg (c-b) zu dem jeweils vorhergehenden der Rechner (P₁′ bis P₅′) der zweiten Stufe vorhanden ist, daß für die Erzeugung der Fehlertoleranz mit einem Austausch von Daten gearbeitet wird, die vor dem ersten Senden mit einem zyklischen Kontrollzeichen ergänzt werden, wobei jeder Rechner ein ihm individuell zugeordnetes CRC-Polynom verwendet,
daß für den Datenaustausch innerhalb einer Stufe die Übertragungen zum jeweils benachbarten der Rechner (P₁ bis P₅) direkt und zu den anderen der Rechner (P₁ bis P₅) über Rechner (P₁′ bis P₅′) der zweiten Stufe erfolgen, die dadurch fehlertolerant sind, daß die Übertragungen doppelt ausgeführt werden, indem sie in der einen Richtung über einen Rechner (P₁′ bis P₅′) der zweiten Stufe und in der anderen Richtung über zwei nebeneinanderliegende Rechner (P₁′ bis P₅′) der zweiten Stufe geführt werden und der Datenaustausch zu den nicht direkt erreichbaren Rechnern dadurch überprüft wird, daß die empfangenen Daten dann einen gültigen Wert erhalten, wenn die CRC-fehlerfreien Daten gleich sind und die Anzahl der CRC-fehlerfrei empfangenen Daten wenigstens eins ist,
daß für die Übertragung von der ersten Stufe zur zweiten Stufe jeder Rechner (P₁′ bis P₅′) der zweiten Stufe das Ergebnis von jedem Rechner (P₁ bis P₅) der ersten Stufe erhält, indem jeder Rechner (P₁′ bis P₅′) der zweiten Stufe die Ergebnisse des vorhergehenden und des nachfolgenden Rechners (P₁ bis P₅) der ersten Stufe direkt empfängt und die Ergebnisse der anderen Rechner 3-Fehler-tolerant über die vier möglichen, voneinander völlig unabhängigen Wege vierfach erhält und diese Ergebnisse auswertet, indem das Ergebnis aller von einem Rechner kommenden Daten dann einen gültigen Wert erhält, wenn alle CRC-fehlerfreien Daten gleich sind und die Anzahl der CRC-fehlerfrei empfangenen Daten wenigstens eins ist und aus diesen fünf Ergebnissen durch Mehrheitsentscheidung über die gleichen Daten bei allen fehlerfreien Rechnern gleiche und fehlerfreie Anfangsdaten für die zweite Stufe berechnet werden,
und daß die Rechner (P₁ bis P₅, P₁′ bis P₅′) in jeder Stufe alle Datenaustauschfunktionen parallel und in der gleichen Weise ausführen, indem die Verbindung eines Rechners (P₁ bis P₅ bzw. P₁′ bis P₅′) der einen Stufe zu dem darauffolgenden der Rechner (P₁ bis P₅ bzw. P₁′ bis P₅′) dieser Stufe über einen ersten Anschluß (a), zu dem darauffolgenden der Rechner (P₁′ bis P₅′ bzw. P₁ bis P₅) der jeweils anderen Stufe über einen zweiten Anschluß (b), zu dem davorliegenden der Rechner (P₁′ bis P₅′ bzw. P₁ bis P₅) der jeweils anderen Stufe über einen dritten Anschluß (c) und zu dem davorliegenden der Rechner (P₁ bis P₅ bzw. P₁′ bis P₅′) der gleichen Stufe über einen vierten Anschluß (d) erfolgt.
3. Fehlertolerantes Rechnersystem, das entsprechend einem Pipelinesystem aus mehreren Stufen mit jeweils mehreren Rechnern besteht, wobei jeder Rechner einen Anschluß zum Empfangen von Eingangsdaten und einen Anschluß zum Senden der Ergebnisse hat und dessen fehlerfreie Rechner aus toleranzbehafteten Eingangsdaten fehlerfreie Ergebnisse berechnen, wobei in jeder Stufe zwei beliebige Fehler toleriert werden können, dadurch gekennzeichnet,
daß in jeder Stufe fünf Rechner (P₁ bis P₅, P₁′ bis P₅′) über bidirektionale Datenwege (a-d, b-c, c-b, d-a) untereinander vollständig vernetzt sind und jeder Rechner (P₁ bis P₅) der ersten Stufe mit dem entsprechenden Rechner (P₁′ bis P₅′) verbunden ist, daß in der ersten Stufe aus den toleranzbehafteten Eingangsdaten in der Mehrheit gleiche und fehlerfreie Anfangsdaten berechnet werden, indem jeder der Rechner (P₁ bis P₅) der ersten Stufe seine eigenen Daten mit einem zyklischen Kontrollzeichen ergänzt, die Daten in drei Runden austauscht, zwei Auswertungen durchführt sowie über die vier Zwischenergebnisse und die eigenen Daten die Mehrheitsentscheidung durchführt und daß die Ergebnisse der Berechnungen von jedem Rechner (P₁ bis P₅) der ersten Stufe mit zyklischen Kontrollzeichen ergänzt und von jedem Rechner (P₁ bis P₅) der ersten Stufe zu jedem Rechner (P₁′ bis P₅′) der zweiten Stufe über fünf unabhängige Wege übertragen werden, indem jeder der Rechner (P₁ bis P₅) der ersten Stufe das Ergebnis seiner Berechnung an alle anderen der Rechner (P₁ bis P₅) der ersten Stufe überträgt, daß jeder der Rechner (P₁ bis P₅) der ersten Stufe sein Ergebnis und die Ergebnisse der anderen der Rechner (P₁ bis P₅) zu dem ihm zugeordneten der Rechner (P₁′ bis P₅′) der zweiten Stufe überträgt und daß jeder Rechner (P₁′ bis P₅′) der zweiten Stufe alle zu ihm übertragenen Ergebnisse zu allen anderen der Rechner (P₁′ bis P₅′) der zweiten Stufe überträgt und daß die Rechner (P₁′ bis P₅′) der zweiten Stufe die richtigen Daten aus den je fünffach übertragenen Ergebnissen der Rechner (P₁ bis P₅) der ersten Stufe ermitteln, indem in einem ersten Schritt jeweils alle Ergebnisse, die von einem der Rechner (P₁ bis P₅) der ersten Stufe als Quelle kommen auf fehlerfreie Übertragung durch Nachrechnung des zyklischen Kontrollzeichens überprüft werden und daß aus diesen Werten dann ein gültiges Ergebnis dieses Rechners (P1 bis P₅) gebildet wird, wenn alle Werte mit fehlerfreiem Kontrollzeichen gleich sind und wenigstens einer der Werte mit fehlerfreiem Kontrollzeichen übertragen wurde und in jedem anderen Fall einen ungültigen Wert erhalten und daß in einem zweiten Schritt die gültigen Anfangsdaten der zweiten Stufe aus der Mehrheitsentscheidung aller gültigen Ergebnisse der fünf Rechner (P₁ bis P₅) der ersten Stufe gebildet wird,
und daß alle Schritte des Datenaustausches von allen Rechnern (P₁ bis P₅, P₁′ bis P₅′) einer Stufe parallel und in der gleichen Weise ausgeführt werden, indem die Vernetzung der Rechner (P₁ bis P₅, P₁′ bis P₅′) in jeder Stufe so erfolgt, daß bei zyklischer Anordnung der Rechner (P₁ bis P₅, P₁′ bis P₅′) die Verbindung zum darauffolgenden der Rechner (P₁ bis P₅, P₁′ bis P₅′) der gleichen Stufe über einen ersten Anschluß (a), die Verbindung zum übernächsten der Rechner (P₁ bis P₅, P₁′ bis P₅′) der gleichen Stufe über einen zweiten Anschluß (b), die Verbindung zum dritten der Rechner (P₁ bis P₅, P₁′ bis P₅′) der gleichen Stufe über einen dritten Anschluß (c) und die Verbindung zum vierten der Rechner (P₁ bis P₅, P₁′ bis P₅′) der gleichen Stufe über einen vierten Anschluß (d) hergestellt wird.
4. Fehlertolerantes Rechnersystem nach Anspruch 1, 2 oder 3, dadurch gekennzeichnet, daß die Verbindungswege (a-d, b-c, c-b, d-a) zwischen den Rechnern (P₁ bis P₅, P₁′ bis P₅′) sowie von dem Rechnersystem zu den Ein- und Ausgangseinheiten bitseriell arbeiten und daß zur elektrischen Trennung der Rechner (P₁ bis P₅, P₁′ bis P₅′) untereinander und zu den Ein- und Ausgangseinheiten Optokoppler zwischengeschaltet sind.
5. Fehlertolerantes Rechnersystem nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß Datenquellen und -senken für die Ein- und Ausgabe mit Ports verbunden werden, die an das Bussystem der Rechner (P₁ bis P₅, P₁′ bis P₅′) angeschlossen sind.
6. Fehlertolerantes Rechnersystem nach Anspruch 4 oder 5, dadurch gekennzeichnet, daß die Verarbeitungseinheit jedes der Rechner (P₁ bis P₅, P₁′ bis P₅′ mit Transputern aufgebaut ist und die Verbindungen (a-d, b-c, c-b, d-a) an die Links angeschlossen werden.
7. Fehlertolerantes Rechnersystem nach Anspruch 6, dadurch gekennzeichnet, daß zwischen Datenquellen und Datensenken mit serieller Übertragung und die Bussysteme der Rechner (P₁ bis P₅, P₁′ bis P₅′) Linkadapter geschaltet werden.
DE19944412310 1994-04-09 1994-04-09 Fehlertolerantes Rechnersystem Withdrawn DE4412310A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19944412310 DE4412310A1 (de) 1994-04-09 1994-04-09 Fehlertolerantes Rechnersystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19944412310 DE4412310A1 (de) 1994-04-09 1994-04-09 Fehlertolerantes Rechnersystem

Publications (1)

Publication Number Publication Date
DE4412310A1 true DE4412310A1 (de) 1995-11-30

Family

ID=6515032

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19944412310 Withdrawn DE4412310A1 (de) 1994-04-09 1994-04-09 Fehlertolerantes Rechnersystem

Country Status (1)

Country Link
DE (1) DE4412310A1 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19742918A1 (de) * 1997-09-29 1999-04-01 Cit Alcatel Verfahren zum Austausch von Datenpaketen innerhalb eines sicheren Mehrrechnersystems
DE19745963A1 (de) * 1997-10-17 1999-04-22 Cit Alcatel Rechnerknotennetzwerk für den Datenaustausch zwischen Rechnerknoten in sicherheitskritischen Anwendungen sowie Verfahren hierfür
EP1059835A2 (de) * 1999-06-11 2000-12-13 BODENSEEWERK GERÄTETECHNIK GmbH Datenübermittlung zwischen Modulen eines elektrischen Geräts
EP1193949A2 (de) * 2000-08-21 2002-04-03 Alcatel Rechnersystem mit mehrkanaligen, signaltechnish sicheren Ubertragung

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19742918A1 (de) * 1997-09-29 1999-04-01 Cit Alcatel Verfahren zum Austausch von Datenpaketen innerhalb eines sicheren Mehrrechnersystems
DE19745963A1 (de) * 1997-10-17 1999-04-22 Cit Alcatel Rechnerknotennetzwerk für den Datenaustausch zwischen Rechnerknoten in sicherheitskritischen Anwendungen sowie Verfahren hierfür
EP1059835A2 (de) * 1999-06-11 2000-12-13 BODENSEEWERK GERÄTETECHNIK GmbH Datenübermittlung zwischen Modulen eines elektrischen Geräts
US6651112B1 (en) 1999-06-11 2003-11-18 Bodenseewerk Geratetechnik Gmbh Data transmission between connected modules wherein each module separately and directly communication with each other modules
EP1059835B1 (de) * 1999-06-11 2004-01-02 BODENSEEWERK GERÄTETECHNIK GmbH Datenübermittlung zwischen Modulen eines elektrischen Geräts
EP1193949A2 (de) * 2000-08-21 2002-04-03 Alcatel Rechnersystem mit mehrkanaligen, signaltechnish sicheren Ubertragung
EP1193949A3 (de) * 2000-08-21 2003-12-10 Alcatel Rechnersystem mit mehrkanaligen, signaltechnish sicheren Ubertragung

Similar Documents

Publication Publication Date Title
DE60309928T2 (de) Verfahren zur erhöhung der sicherheitsintegritätsstufe eines kontrollsystems
EP0512240B1 (de) System zur Steuerung eines Kraftfahrzeuges
DE2908316C2 (de) Modular aufgebaute Multiprozessor-Datenverarbeitungsanlage
DE2724409A1 (de) Datenverarbeitungssystem
DE3840969A1 (de) Integrierte halbleiter-schaltungsvorrichtung
DE102017210156B4 (de) Vorrichtung und Verfahren zum Ansteuern eines Fahrzeugmoduls
WO2008040641A2 (de) Verfahren und vorrichtung zur fehlerverwaltung
DE19831720A1 (de) Verfahren zur Ermittlung einer einheitlichen globalen Sicht vom Systemzustand eines verteilten Rechnernetzwerks
EP4235323A2 (de) Verfahren und vorrichtung zur automatischen validierung von sicherheitsfunktionen an einem modular aufgebauten sicherheitssystem
DE4412310A1 (de) Fehlertolerantes Rechnersystem
DE2441351C2 (de) Selbstprüfende Fehlerprüfschaltung
EP3273352B1 (de) Computerisiertes system
DE1125208B (de) Elektrisches Vergleichsschaltungssystem
DE102015222321A1 (de) Verfahren zum Betrieb eines Mehrkernprozessors
EP0246218B1 (de) Fehlertolerantes Datenverarbeitungssystem
DE1187403B (de) Verfahren und Einrichtung zur logischen Verknuepfung zweier Operanden
DE19905841A1 (de) Vorrichtung zum Verarbeiten sicherheitsrelevanter Daten
DE10302456A1 (de) Vorrichtung für sicherheitskritische Anwendungen und sichere Elektronik-Architektur
EP2198349A1 (de) Verfahren zum beschreiben eines verhaltens einer technischen einrichtung
DE1946365A1 (de) Einrichtung zum Erkennen oder Korrigieren von einzelnen Blockfehlern
DE1937259C3 (de) Selbstprüf ende Fehlererkennungsschaltung
EP1050814A2 (de) Fehlertolerantes System nach byzantinem Algorithmus
WO2005001692A2 (de) Verfahren und vorrichtung zur überwachung eines verteilten systems
EP0193711B1 (de) Schaltungsanordnung zur Funktionsüberwachung eines arithmetische Operationen ausführenden Rechenwerkes anhand von Paritätsbits
DE19619886C2 (de) Steuer- und Datenübertragungsanlage mit teilweise redundantem Bussystem

Legal Events

Date Code Title Description
8127 New person/name/address of the applicant

Owner name: CINDATEC INGENIEURTECHNISCHE DIENSTE GMBH COMPUTER

8139 Disposal/non-payment of the annual fee