Λ
Verfahren und Apparat zur fehlertoleranten
zeitgesteuerten Echtzeitkommunikation
Zitierte Patente
[1] EP 1 512 254 vom 10.5.2005: Zeitgesteuertes (Time-Triggered (TT)) Ethernet.
[2] EP 2 145 431 vom 07.04.2008: Kommunikationsverfahren und Apparat zur effizienten und sicheren Übertragung von TT-Ethernet Nachrichten.
[3] US 7,334,014 vom 19.02.2008: Consistent time Service for fault-tolerant distributed Systems.
[4] US 7,649,912 vom 19.01.2010: Time synchronizätion, deterministic data delivery and redundancy for cascaded nodes on füll duplex Ethernet networks
Sonstige Literatur:
[5] Kopetz, H. (1997). Real-Time Systems, Design Principles for Distributed
Embedded Applications; ISBN: 0-7923-9894-7. Boston. Kluwer Academic
Publishers.
TECHNISCHES UMFELD
Diese Erfindung betrifft ein Verfahren und einen Apparat zur fehlertoleranten zeitgesteuerten Kommunikation und zum Aufbau einer fehlertoleranten globalen Zeit von bekannter Präzision im Kommunikationssystem eines verteilten Echtzeitcomputersystems .
HINTERGRUND DIESER ERFINDUNG
Ein verteiltes Echtzeitsystem besteht aus einer Anzahl von Rechnerknoten, den Endsystemen, in denen die Applikationssoftware abläuft und einem generischen Kommunikationssystem, über das die Nachrichten der Endsysteme untereinander ausgetauscht werden. In verteilten Echtzeitsystemen muss eine globale fehlertolerante Zeitbasis von guter Präzision aufgebaut werden, damit die Endsysteme die zeitliche Gültigkeit der Echtzeitinformation überprüfen können und synchronisierte verteilte Aktionen ausführen können. Der Aufbau einer fehlertoleranten globalen Zeitbasis erfordert die Ausführung aufwendiger Synchronisationsalgorithmen. Um die Endsysteme von diesen Synchronisationsaufgaben zu entlasten, wird erfindungsgemäß- die-verteilte fehlertolerante Uhrensynchronisation im generischen Kommunikationssystem vorgenommen, so dass die Endsysteme über eine einfache fehlertolerante Master-Slave Synchronisation (siehe Lehrbuch [5], Kapitel 3) mit der globalen Zeit versorgt werden können.
Viele der bekannten Verfahren der Uhrensynchronisation, wie z.B. die in den zitierten Patenten [l]-[4] veröffentlichen Verfahren, verwenden die Uhren der Endsysteme, um eine globale Zeit aufzubauen. Um dies zu erreichen, müssen in den Endsystemen aufwendige Synchronisationsalgorithmen ausgeführt werden. Entsprechend der vorliegenden Erfindung wird eine fehlertolerante Zeit nicht in den Endsystemen, sondern innerhalb des Kommunikationssystems aufgebaut. Zu diesem Zweck wird eine fehlertoleranter Vermittlungseinheit {fehlertoleranter Switch) vorgestellt, die vier unabhängige Vermittlungseinheiten enthält, wobei jede Vermittlungseinheit eine autonome Fehlereindämmungseinheit (Fault-Containment Unit— FCU) bildet. Diese vier Vermittlungseinheiten bauen gemeinsam durch den Austausch von Nachrichten eine fehlertolerante Zeitbasis auf. Jeweils zwei der vier Vermittlungseinheiten bilden ein Switchpaar, so dass in der fehlertoleranten Vermittlungseinheit zwei Switchpaare enthalten sind. Jede der beiden Vermittlungseinheiten eines Switchpaares sendet periodisch je eine Synchronisationsnachricht an einen Vergleicher, der eine Synchronisationsnachricht nur dann an ein Endsystem weiterleitet, wenn beide empfangene Synchronisationsnachrichten nahezu gleichzeitig eintreffen und inhaltlich identisch sind. Da sich in der fehlertoleranten Vermittlungseinheit zwei Switchpaare befinden, wird durch dieses Verfahren ein beliebiger Fehler in einem Switchpaar toleriert.
Der genaue Ablauf des neuen Verfahrens zur fehlertoleranten Kommunikation und fehlertoleranten Uhrensynchronisation wird im folgenden Abschnitt anhand der Abbildungen genau beschrieben.
Die Aufgabe der Erfindung wird gelöst durch ein Verfahren zur fehlertoleranten Uhrensynchronisation und zur fehlertoleranten zeitgesteuerten Echtzeitkommunikation unter Verwendung einer Anzahl von Endsystemen und einem oder mehreren fehlertoleranten Switches, die je über mindesten zwei Kommunikationskanäle verbunden sind, wobei jeder fehlertolerante Switch ein erstes und ein zweites Switchpaar enthält und wo das erste Switchpaar einen ersten und einen zweiten Switch enthält und wo das zweite Switchpaar einen dritten und einen vierten Switch enthält, und wo jeder der vier Switches über Kommunikationskanäle mit den anderen drei Switches verbunden ist, und wo die vier Switches über einen bekannten nachrichtenbasierten internen fehlertoleranten
Synchronisationsalgorithmus über die Kommunikationskanäle eine interne globale fehlertolerante Zeitbasis mit bekannter Präzision aufbauen, und wo eine Vielzahl von Endsystemen jeweils über einen einem Endsystem zugeordneten Vergleicher an die beiden Switchpaare angeschlossen werden kann, und wo ein erstes Endsystem jeweils eine Kopie einer an ein Endsystem zu sendenden Nachricht über den ersten Kommunikationskanal an das erste Switchpaar und über den zweiten Kommunikationskanal an das zweite Switchpaar sendet und wo der erste Vergleicher die eintreffende Nachricht über einen Kommunikationskanal an den ersten Switch und über einen Kommunikationskanal an den zweiten Switch sendet und wo der dritte Vergleicher die eintreffende Nachricht über einen Kommunikationskanal an den dritten Switch und über einen Kommunikationskanal an den vierten Switch sendet und wo die vier Switches die eintreffenden Nachrichten vermitteln und falls eine Nachricht an das zweite Endsystem adressiert ist die Switches je eine Kopie der Nachricht über Kommunikationskanäle an den dem zweiten Endsystem zugeordneten zweiten Vergleicher senden und wo der zweite Vergleicher unmittelbar nach Eintreffen der zeitlich ersten Nachricht ein Zeitfenster von der Dauer D öffnet und
falls in diesem Intervall D keine zweite Kopie dieser Nachricht beim zweiten Vergleicher eintrifft der zweite Vergleicher die Nachricht verwirft und falls in diesem Intervall D eine zweite Kopie der Nachricht eintrifft der zweite Vergleicher die beiden Nachrichten bitweise vergleicht und falls der Vergleich einen Bitfehler offenbart die Nachrichtenübertragung unterbricht und die Nachricht verwirft und falls alle Bits dieser Nachricht identisch sind, die vollständige Nachricht über den zweiten Kommunikationskanal an das zweite Endsystem sendet und wo das zweite Switchpaar analog vorgeht und somit im fehlerfreien Fall beim Endsystem zwei überprüfte Kopien einer Nachricht eintreffen und falls eines der beiden Switchpaare fehlerhaft ist oder einen Fehler erkennt und die Nachricht verwirft noch immer eine korrekte Nachricht beim zweiten Endsystem eintrifft und wo der fehlertolerante Switch zusätzlich zu den von den Endsystemen empfangen Nachrichten periodisch zwei im Switch generierte Synchronisationsnachrichten an alle angeschlossenen Endsysteme sendet, wobei eine Synchronisationsnachricht vom ersten Switchpaar gesendet wird und die andere Synchronisationsnachricht vom zweiten Switchpaar gesendet wird, und wo der Zeitpunkt des Eintreffens einer Synchronisationsnachricht bei einem Endsystem dem Zeitpunkt entspricht, der im Datenfeld der Synchronisationsnachricht enthalten ist.
Günstigerweise" sind die beiden Switchpaare räumlich getrennt voneinander angeordnet.
In einer Variante des Verfahrens werden im Rahmen der Uhrensynchronisation signierte Nachrichten verwendet.
In einer weiteren Variante passt ein fehlertoleranter Switch nach dem Empfang einer externen Synchronisationsnachricht seine interne synchronisierte Zeit an die durch die externe Synchronisationsnachricht vorgegebene Zeit an.
Günstigerweise verzögern die Switches die Nachrichten nur um einige Bitlängen und im übermitteln sie im cut-through Verfahren an die Vergleicher.
In einer Variante der Erfindung verzögern die Vergleicher die Nachrichten nur um einige Bitlängen und übermitteln sie im error-free-cut-through Verfahren an das Endsystem.
Vorteilhafterweise senden die an einen fehlertoleranten Switch angeschlossenen Endsysteme eine Mischung von ereignisgesteuerten, bandbreitenbegrenzten, oder zeitgesteuerten Nachrichten.
In die Switches werden a priori Planungsinformationen über das erlaubte zeitliche Verhalten der Endsysteme geladen, so dass ein Switch ein fehlerhaftes zeitliches Verhalten eines Endsystems erkennen kann.
Vorteilhafterweise werden die a priori Planungsinformationen an den Switch mit einer elektronischen Unterschrift des Senders versehen.
Es ist weiters günstig, wenn die a priori Planungsinformationen an den Switch verschlüsselt werden.
In einer Variante der Erfindung können die a priori Planungsinformationen dynamisch während des Betriebes geändert werden.
Günstigerweise werden die Vergleicher im Multiplex-Verfahren betrieben.
U
In einer weiteren Variante der Erfindung werden die unterschiedlichen Signallaufzeiten auf den Kommunikationskanälen von den Switchpaaren kompensiert.
Vorteilhafterweise entsprechen die von den Endsystemen produzierten und konsumierten Nachrichten dem Ethernet Standard.
Die Aufgabe der Erfindung wird weiters gelöst durch einen Apparat zur fehlertoleranten zeitgesteuerten Echtzeitkommunikation bestehend aus einem oder mehreren fehlertoleranten Switches die je über mindesten zwei Kommunikationskanäle verbunden sind, wobei jeder fehlertoleranten Switch zwei Switchpaare enthält und wo das erste Switchpaar einen ersten und einen zweiten Switch enthält und wo das zweite Switchpaar einen dritten und einen vierten Switch enthält, und wo jeder der vier Switches über die Kommunikationskanäle mit den anderen drei Switches verbunden ist, und wo eine Vielzahl von Endsystemen jeweils über ein dem Endsystem zugeordnetes dediziertes Vergleicher an die beiden Switchpaare angeschlossen werden kann, und wo in diesem Apparat einer oder mehrere der oben angeführten Verfahrenschritte realisiert werden.
ZUSAMMENFASSUNG
Die vorliegende Erfindung hat zum Ziel in einem fehlertoleranten Kommunikationssystem eines verteilten Echtzeitsystems eine fehlertolerante globale Zeit aufzubauen. Zu diesem Zweck wird eine fehlertolerante Nachrichtenvermittlungseinheit vorgestellt, die aus vier unabhängigen Vermittlungseinheiten besteht. Diese vier unabhängigen Vermittlungseinheiten bauen gemeinsam eine fehlertolerante Zeit auf. Die Endsysteme werden über zwei unabhängige fail-silent Kommunikationskanäle an eine fehlertolerante Nachrichtenvermittlungseinheit angebunden, so dass selbst bei Ausfall eines Teils der fehlertoleranten Vermittlungseinheit oder eines Kommunikationskanals die Uhrensynchronisation und die Netzwerkverbindungen aufrecht bleiben.
s
KURZE BESCHREIBUNG DER ABBILDUNGEN
Das vorab beschriebene Ziel und andere neue Eigenschaften der vorliegenden Erfindung werden an Hand der angeführten Abbildungen erläutert.
Fig. 1 zeigt ein Beispiel für die Struktur fehlertoleranten Kommunikationssystems, das aus mehreren fehlertoleranten Vermittlungseinheiten besteht.
Fig. 2 zeigt den inneren Aufbau einer fehlertoleranten Vermittlungseinheit.
BESCHREIBUNG EINER REALISIERUNG
Im folgenden Abschnitt wird eine mögliche Realisierung des neuen Verfahrens an einem Beispiel mit drei Switches und einer Anzahl von Endsystemen gezeigt. Dieses Beispiel zeigt eine konkrete von vielen möglichen Realisierungen des in den Patentansprüchen beschriebenen Verfahrens.
Fig. 1 zeigt eine Konfiguration mit drei fehlertoleranten Vermittlungseinheiten 101,102 und 103— im folgenden Switches genannt— und acht Endsystemen 111 bis 118. Ein Endsystem ist ein Knotenrecher, in dem ein Teil einer verteilten Echtzeitapplikation abläuft. Die drei Switches 101, 102 und 103 sind untereinander mittels jeweils zwei Kommunikationskanäle 121 und 122 verbunden, da der Ausfall eines Kommunikationskanals toleriert werden muss. Jeder Switch, z.B., der Switch 101 beinhaltet zwei Switchpaare, 151 und 152, wobei jedes Switchpaar aus zwei Switches besteht. Jeder Switch bildet eine autonome Fehlereindämmungseinheit (Fault-Containment Unit— FCU). Das Endsystem 111 ist über den Kommunikationskanal 121 mit dem linken Switchpaar 151 und über den Kommunikationskanal 122 mit dem rechten Switchpaar 152 des fehlertoleranten Switches 101 verbunden. Analog sind die anderen Endsysteme 112 bis 118 über jeweils einen Kommunikationskanal mit dem einen Switchpaar und mit dem anderen Kommunikationskanal mit dem anderen Switchpaar eines fehlertoleranten Switches verbunden.
Fig. 2 zeigt den inneren Aufbau eines fehlertoleranten Switches 200. Die Anzahl n der Endsysteme, die an einem Switch angeschlossen werden können, wird durch diese Erfindung nicht fest gelegt und hängt von dem konkreten Aufbau des fehlertoleranten Switches ab. Typischerweise liegt n zwischen 8 und 16. Zum Beispiel lassen sich im fehlertoleranten Switch 101 auf der oberen und unteren Seite jeweils vier Endsysteme anschließen. Um die Fig. 2 zu vereinfachen sind im fehlertoleranten Switch 200 nur zwei Endsysteme, das erste Endsystem 221 und das zweite Endsystem 222 angeführt.
Der fehlertolerante Switch 200 besteht aus den beiden Switchpaaren 201 und 202. Das erste Switchpaar 201 besteht aus den beiden (nicht fehlertoleranten) Switches 211 und 213, dem ersten Switch 211 und dem zweiten Switch 213 sowie den Vergleichern 231 und 233, dem ersten Vergleicher 231 und dem zweiten Vergleicher 233. Das zweite Switchpaar 202 besteht aus den beiden (nicht fehlertoleranten)
Switches 212 und 214, dem dritten Switch 212 und dem vierten Switch 214 sowie den Vergleichern 232 und 234, dem dritten Vergleicher 232 und dem vierten Vergleicher 234.
Jedem Endsystem sind somit zwei Vergleicher zugeordnet, einer vom rechten und einer vom linken Switchpaar. Erfindungsgemäß können die Vergleicher auch multiplexed werden, so dass sich je ein Vergleicher mit n Ein/ Ausgängen 251 bzw. 252 zu n Endsystemen 221 bzw. 222 in einem Switchpaar befindet. Jeder der vier Switches 211, 212, 213, 214 bildet eine autonome Fehlereindämmungseinheit {Fault Containment Unit). Die vier Switches 211, 212, 213, 214 sind über Kommunikationskanäle 240, 241 miteinander verbunden.
Am Beispiel des ersten Switches 211: Der erste Switch 211 ist entweder über die Kommunikationskanäle 240 mit den horizontal und vertikal benachbarten Switches, in diesem Fall den zweiten Switch 213 und den dritten Switch 212, verbunden, und über diese mit dem vierten Switch 214. Oder der erste Switch 211 ist über den Kommunikationskanal 241 mit dem vierten Switch 214 verbunden und über diesen, bzw. entsprechende Kommunikationskanäle 240, 241, mit den anderen Switches. Des Weiteren kann der erste Switch 211 wie in Fig. 2 über Kommunikationskanäle 240 mit den horizontal und vertikal benachbarten Switches (zweiter Switch 213 und dritter Switch 212) verbunden sein und über einen Kommunikationskanal 241 mit dem vierten Switch 214 verbunden sein.
Es sind also zumindest Kommunikationskanäle 240 vorzusehen, auf die Kommunikationskanäle 241 kann verzichtet werden (siehe unten).
Über diese Kommunikationskanäle 240 und 241 werden periodisch interne Synchronisationsnachrichten ausgetauscht, um eine interne globale fehlertolerante Zeit mit der bekannten Präzision P aufzubauen. Dies geschieht mittels eines fehlertoleranten nachrichtenbasierten Uhrensynchronisationsalgorithmus für die interne Uhrensynchronisation, wie er z.B. in Kapitel 3 des Lehrbuchs [5] erklärt ist.
Wenn die internen Synchronisationsnachrichten mit einer elektronischen Unterschrift des Senders ausgestattet werden, so sind erfindungsgemäß die beiden Verbindungen 241 nicht erforderlich. In sicherheitskritischen Applikationen ist es vorteilhaft die beiden Switchpaare 201 und 202, die einen fehlertoleranten Switch bilden, räumlich entfernt anzuordnen, damit Fehler die an einem Ort im Raum auftreten (spatial proximity faults) toleriert werden können. In einem solchen Fall ist es vorteilhaft, wenn die Anzahl der Verbindungsleitungen zwischen den Switchpaaren auf die beiden Kanäle 240 reduziert wird.
Ein ausgewählter Switch, z.B., Switch 103 in Fig. 1, oder ein Endsystem das mit einer Zeitquelle, z.B. einen GPS Zeitempfänger ausgerüstet ist, kann an die angeschlossenen Switches eine externe Zeitbasis vorgeben. Dies geschieht über externe Synchronisationsnachrichten, die die externe Zeit enthalten. Nach dem Empfang einer solchen externen Synchronisationsnachricht muss der empfangende fehlertolerante Switch seine interne Uhrensynchronisation an die extern vorgegebene Zeit anpassen. Wenn die externe Zeitquelle ausfällt, so hält der fehlertolerante interne Synchronisationsalgorithmus die globale Zeit aufrecht. Die externe Zeitquelle kann auch benutzt werden, um den Uhrengang der Switches 211, 212, 213, 214 dynamisch an den Gang der externen Zeit anzupassen.
Wenn das erste Endsystem 221 eine Nachricht an das zweite Endsystem 222 zu senden beabsichtigt, so wird diese Nachrichte parallel über den ersten Kommunikationskanal 251 an den ersten Vergleicher 231 im ersten Switchpaar 201 und über den dritten Kommunikationskanal 253 an den dritten Vergleicher 232 im zweiten Switchpaar 202 gesendet. Das Format dieser Nachricht kann einem gegeben Standard entsprechen, z.B. dem weit verbreiteten Ethernet Standard oder dem AFDX Standard, aber auch jedem anderen Standard der vorgibt, dass die Adressinformation im Header der Nachricht enthalten sein muss damit die Nachrichten von den Switches 211, 212, 213, 214 im schnellen cut-through Verfahren vermittelt werden können.
Die Nachrichten können vom ersten Endsystem 221 zeitgesteuert, bandbreitenbegrenzt oder ereignisgesteuert gesendet werden. Bei zeitgesteuerten Nachrichten können die Switches 211, 212, 213, 214 a priori mit Planungsinformationen versorgt werden, die die erlaubten Zeitpunkte des Sendens einer zeitgesteuerten Nachricht von einem Endsystem vorgeben. Eine zu einem falschen Zeitpunkt vom ersten Endsystem 221 gesendete zeitgesteuerte Nachricht kann dann von den Switches 211, 212, 213, 214 erkannt und verworfen werden. Bei bandbreitenbegrenzten Nachrichten können die Switches 211, 212, 213, 214 a priori mit Planungsinformationen versorgt werden, die die erlaubte Bandbreite des Sendens von bandbreitenbegrenzten Nachrichten vorgeben. Wenn die vom ersten Endsystem 221 gesendete bandbreitenbegrenzten Nachrichten über die erlaubte Bandbreite hinausgehen, können die Switches 211, 212, 213, 214 die Annahme von weiteren Nachrichten verweigern.
Die a priori Planungsinformationen, die an die Switches 211, 212, 213, 214 vor der Durchführung einer Nachrichtenübertragung von einem Entwurfssystem zur gesendet werden, können mit einer elektronischen Unterschrift versehen werden, so dass die Switches 211, 212, 213, 214 überprüfen können, ob diese Informationen von einem autorisierten Entwurfs System stammen. Alternativ können die Planungsinformationen verschlüsselt gesendet werden. Die a priori Planungsinformationen können während des Betriebs durch das Senden einer neuen Nachricht mit den neuen Planungsinformationen und dem Zeitpunkt, ab wann diese neue Planungsinformationen anzuwenden sind, dynamisch geändert werden.
Im Folgenden wird die Nachrichtenbearbeitung im ersten Switchpaar 201 genau beschrieben. Eine vom ersten Kommunikationskanal 251 im ersten Vergleicher 231 eintreffende Nachricht wird vom ersten Vergleicher 231 über den Kommunikationskanal 242 an den ersten Switch 211 und über den Kommunikationskanal 243 an den zweiten Switch 213 zur Vermittlung weitergeleitet. Aufgrund der im Header einer Nachricht enthaltenen Adressinformation wird die Nachricht vom ersten Switch 211 über den Kommunikationskanal 244 und vom zweiten Switch 213 über den Kommunikationskanal 245 an den adressierten Vergleicher— im Beispiel an den zweiten Vergleicher 233— weitergeleitet. Sobald die zeitlich erste an den zweiten Vergleicher 233 adressierte Nachricht von einem der beiden Switches 211 oder 213 beim zweiten Vergleicher 233 eintrifft, eröffnet der zweite Vergleicher 233 ein Zeitfenster von der a priori vorgegebenen Dauer D. Wenn innerhalb dieses Zeitfensters D die zeitlich zweite Nachricht vom anderen Switch des ersten Switchpaares 201 nicht eintrifft, verwirft der Vergleicher die erste Nachricht und in der Folge auch die zweite Nachricht (falls sie jemals eintrifft). Wenn innerhalb dieses Zeitfensters D die zweite Nachricht vom anderen Switch des ersten Switchpaares 201 eintrifft, dann vergleicht der zweite Vergleicher 233 die beiden
Nachrichten bitweise und leitet sie umgehend über den zweiten Kommunikationskanal 252 an das adressierte (zweite) Endsystem 222 weiter. Dieser Vergleich der beiden Nachrichten kann im error-free-cut-through Verfahren erfolgen, d.h. die eintreffenden Bitströme werden im zweiten Vergleicher 233 nur kurz verzögert, laufend verglichen und sofort weitergeleitet falls der Bitvergleich richtig ist. Im Fehlerfall wird der Bitstrom zum (zweiten) Endsystem 222 abgebrochen. Da jede Nachricht ein CRC Feld enthält, kann das (zweite) Endsystem 222 eine abgebrochene Nachricht erkennen und verwerfen.
Die Dauer der notwendigen Verzögerung einer Nachricht im zweiten Vergleicher 233 hängt von der Präzision P der Uhrensynchronisation ab, die im wesentlichen von der Dauer der Synchronisationsperiode und der Qualität der verwendeten Oszillatoren bestimmt wird. Die Anzahl der Bits, die im Vergleicher gespeichert werden müssen, hängt von der Präzision P und der Bandbreite der Datenübertragung ab.
Die Vergleicher 231, 232, 233, 234 sind so ausgelegt, dass keine vollständige Nachricht in einem Vergleicher gespeichert werden kann und kein Vergleicher über die Informationen verfügt, wie ein korrektes CRC Feld einer Nachricht zu bilden ist. Es ist somit äußerst unwahrscheinlich, dass ein fehlerhafter Vergleicher eine syntaktische korrekte aber inhaltlich falsche Nachricht erzeugen kann oder eine syntaktische korrekte aber inhaltlich falsche Nachricht zu einem anderen als vom ersten 211 oder dritten Switch 212 produzierten Zeitpunkt senden kann. Vom ersten Switchpaar 201 wird somit nur dann eine syntaktisch korrekte Nachricht an das (zweite) Endsystem 222 über den zweiten Kommunikationskanal 252 weitergeleitet, wenn alle vier Subsysteme 231, 211, 213 und 233 fehlerfrei funktionieren und der Nachrichtentransport über die Kanäle 251, 242, 243, 244, 245, und 252 fehlerfrei abläuft. Das erste Switchpaar 201 realisiert somit am zweiten Kommunikationskanal 252 die fail-silent Abstrakion: es produziert entweder Nachrichten die im Wertebereich und im Zeitbereich richtig sind oder es produziert keine Nachrichten. Das zweite Switchpaar 202 funktioniert analog zum ersten Switchpaar 201.
Zusätzlich zu den von den Endsystemen empfangen Nachrichten sendet der fehlertolerante Switch 200 periodisch zwei intern generierte Synchronisationsnachrichten an alle angeschlossenen Endsystemen, wobei nahezu gleichzeitig eine Synchronisationsnachricht vom linken (ersten) Switchpaar 201 über den ersten 251 und zweiten Kommunikationskanal 252 und eine zweite Synchronisationsnachricht vom rechten (zweiten) Switchpaar über den dritten 253 und vierten Kommunikationskanal 254 gesendet wird. Der Zeitpunkt des Eintreffens einer Synchronisationsnachricht bei einem Endsystem entspricht jenem Zeitpunkt, der im Datenfeld der Synchronisationsnachricht enthalten ist. Da die Signallaufzeiten auf den Kommunikationskanälen 251, 252, 253, 254 aufgrund der unterschiedlichen Länge diese Signallaufzeiten auf den Kommunikationskanäle unterschiedlich sind, kann eine Korrektur des Eintreffenszeitpunkts eine Synchronisationsnachricht beim Endsystem erforderlich werden. Diese Korrektur kann entweder im Endsystem oder in den Switchpaaren 201, 202 erfolgen.
Im fehlerfreien Fall erhält das (zweite) Endsystem 222 somit zwei richtige Synchronisationsnachrichten, eine über den (zweiten) Kommunikationskanal 252 und die andere über den (vierten) Kommunikationskanal 254, deren Eintreffenszeitpunkte sich maximal um die Präzision P unterscheiden. Wenn in einem Switchpaar ein
Fehler auftritt, so erhält das (zweite) Endsystem 222 noch immer eine richtige Synchronisationsnachricht.
WIRTSCHAFTLICHE VORTEILE
Die vorliegende Erfindung ermöglicht es mit Standardkomponenten, d.h., Komponenten die nicht die self-checking Eigenschaft besitzen, eine fehlertolerante Zeitbasis und einen fehlertoleranten Switch aufzubauen, der einen beliebigen Fehler in einer Fehlereindämmungseinheit (Fault-Containment Unit— FCU) toleriert. In Fig. 2 sind folgende Subsysteme Fehlereindämmungseinheiten: die vier Switches 211, 212, 213, 214 und die vier Vergleicher 231, 232, 233, 234. Besonderes Augenmerk verdient das letzte Subsystem, der Vergleicher, der vor der Ausgabe einer Nachricht an das Endsystem angeordnet ist. Durch die beschriebenen Konstruktionsmaßnahmen kann ausgeschlossen werden, dass ein fehlerhafter Vergleicher eine syntaktisch korrekte aber inhaltlich falsche Nachricht produziert, obwohl der Vergleicher selbst nicht als self-checking Checker ausgeführt werden muss.
Durch den erfindungsgemäßen Aufbau eines fehlertoleranten Switches, der eine fehlertolerante Uhrensynchronisation beinhaltet, ergeben sich folgende weitere wesentliche wirtschaftliche Vorteile:
• Es wird verhindert, dass im Fehlerfall falsche Ergebnisse produziert werden.
Diese Eigenschaft ist in sicherheitskritischen Systemen von besonderer Wichtigkeit.
• Durch die Tolerierung eines Fehlers wird die Zuverlässigkeit eines fehlertoleranten Switches im Vergleich mit einem nicht-fehlertoleranten Switch wesentlich verbessert.
• Der Uhrensynchronisationsalgorithmus muss nur einmal entwickelt, getestet und zertifiziert und kann in einer Vielzahl von Anwendungen eingesetzt werden.
• Durch die Verlagerung der fehlertoleranten Uhrensynchronisation von den Endsystemen in das Kommunikationssystem werden die Endsysteme wesentlich einfacher und kostengünstiger.
• Eine generische Lösung der Uhrensynchronisation im Kommunikationssystem kann in einem VLSI Chip sehr kostengünstig implementiert werden.