AT509700A1 - Verfahren und apparat zur fehlertoleranten zeitgesteuerten echtzeitkommunikation - Google Patents

Verfahren und apparat zur fehlertoleranten zeitgesteuerten echtzeitkommunikation Download PDF

Info

Publication number
AT509700A1
AT509700A1 AT0055710A AT5572010A AT509700A1 AT 509700 A1 AT509700 A1 AT 509700A1 AT 0055710 A AT0055710 A AT 0055710A AT 5572010 A AT5572010 A AT 5572010A AT 509700 A1 AT509700 A1 AT 509700A1
Authority
AT
Austria
Prior art keywords
switch
message
switches
fault
tolerant
Prior art date
Application number
AT0055710A
Other languages
English (en)
Other versions
AT509700B1 (de
Inventor
Guenther Bauer
Stefan Poledna
Wilfried Steiner
Original Assignee
Fts Computertechnik Gmbh
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 Fts Computertechnik Gmbh filed Critical Fts Computertechnik Gmbh
Priority to ATA557/2010A priority Critical patent/AT509700B1/de
Priority to JP2013502952A priority patent/JP5593530B2/ja
Priority to PCT/AT2011/000167 priority patent/WO2011123877A1/de
Priority to US13/639,456 priority patent/US9063837B2/en
Priority to EP11719144.5A priority patent/EP2556633B1/de
Priority to CN201180018153.3A priority patent/CN103039046B/zh
Publication of AT509700A1 publication Critical patent/AT509700A1/de
Application granted granted Critical
Publication of AT509700B1 publication Critical patent/AT509700B1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2005Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication controllers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0685Clock or time synchronisation in a node; Intranode synchronisation
    • H04J3/0688Change of the master or reference, e.g. take-over or failure of the master
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • H04L12/40182Flexible bus arrangements involving redundancy by using a plurality of communication lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • H04L49/1523Parallel switch fabric planes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/205Quality of Service based
    • H04L49/206Real Time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/552Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Hardware Redundancy (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

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-Ethemet 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 synchronization, deterministic data delivery and redundancy for cascaded nodes on full duplex Ethernet netwoiks
Sonstige Literatur: [5] Kopetz, H. (1997). Real-Time Systems, Design Principles for Distributed Embedided 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 Zcitbasis erfordert die Ausführung aufwendige 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-
Einreichkopie, 7. April, 2010
Slave Synchronisation (siehe Lehrbuch [5], Kapitel 3) mit der globalen Zeit versorgt werden können.
Viele der bekannten Verfahren der Uhrensynchronisation, wie zB. 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 Vemüttlungseinheit zwei Switchpaare befinden, wird durch dieses Verfahren ein beliebiger Fehler in einem Switchpaar tolerieret.
Der genaue Ablauf des neuen Verfahrens zur fehlertoleranten Kommunikation und fehlertoleranten Uhrensynchronisation wird im folgenden Abschnitt anhand der Abbildungen genau beschrieben.
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 Nackrichtenvermittlungseinheit 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 jml-silent Kommunikationskanäle an eine fehlerlolerante Nachrichtenvermittlungseinheit angebunden, so dass selbst bei Ausfall eines Teils der fehlertoleranten Vermittlungseinheit oder eines Kommunikationskanals die Uhrensynchronisation und die Netzwerkverbindungen aufrecht bleiben.
Einreichkopie, 7. April, 2010
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. 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 it 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 Endsystem 221 und das Endsystem 222 angeführt.
Der fehlertolerante Switch 200 besteht aus den beiden Switchpaaren 201 und 202. Das Switchpaar 201 besteht aus den beiden (nicht fehlertoleranten) Switches 211 und 213 sowie den Vergleichern 231 und 233. Das Switchpaar 202 besteht aus den beiden (nicht fehlertoleranten) Switches 212 und 214 sowie den Vergleichern 232 und 234, Jedem Endsystem sind somit zwei Vergleicher zugeordnet, einer vom rechten und
Einreichkopie, 7. April, 2010 einer vom linken Switchpaar. Erfindungsgemäß können die Vergleicher auch multiplexed weiden, so dass sich je ein Vergleicher mit it Ein/Ausgängen 251 bzw. 252 zu n Endsystemen 221 bzw. 222 in einem Switchpaar befindet. Jeder der vier Switches 211, 212, 213, und 214 bildet eine autonome Fehlereindämmungseinheit (Fault Containment Unit). Die vier Switches 211, 212, 213, und 214 sind über die Kommunikationskanäle 240 und 241 miteinander verbunden. Über diese Kommunikationskanäle 240 und 241 weiden periodisch interne Synchronisationsnachrichten ausgetauscht, um eine interne globale fehlertolerante Zeit mit der bekannten Präzision P aufzubauen. Dies geschieht mittels eines fehlertoleranten nachrichtenbasierten Uhiensynchronisationsalgorithmus für die interne Uhiensynchronisation, 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 Applikation 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, und 214 dynamisch an den Gang der externen Zeit anzupassen.
Wenn das Endsystem 221 eine Nachricht an das Endsystem 222 zu senden beabsichtigt, so wird diese Nachrichte parallel über den Kommunikationskanal 251 an den Vergleicher 231 im Switchpaar 201 und über den Kommunikationskanal 253 an den Vergleicher 232 im 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, und 214 im schnellen cut-through Verfahren vermittelt werden können.
Die Nachrichten können vom Endsystem 221 zeitgesteuert, bandbreitenbegrenzt oder ereignisgesteuert gesendet werden. Bei zeitgesteuerten Nachrichten können die Switches 211, 212, 213, und 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 Endsystem 221 gesendete zeitgesteuerte Nachricht kann dann von den Switches 211, 212, 213, und 214 erkannt und verworfen werden. Bei bandbreitenbegrenzten Nachrichten können die Switches 211, 212, 213, und 214 a priori mit Planungsinformationen versorgt werden, die die erlaubte Bandbreite des Sendens von bandbreitenbegrenzten Nachrichten vorgeben. Wenn die vom Endsystem 221 gesendete
Einreichkopie, 7. April, 2010 bandbreitenbegrenzten Nachrichten über die erlaubte Bandbreite hinausgehen, können die Switches 211, 212, 213, und 214 die Annahme von weiteren Nachrichten verweigern.
Die a priori Planungsinformationen, die an die Switches 211,212,213, und 214 vor der Durchführung einer Nachrichtenübertragung von einem Entwurfs System zur gesendet werden, können mit einer elektronischen Unterschrift versehen werden, so dass die Switches 211,212,213, und 214 überprüfen können, ob diese Informationen von einem autorisierten Entwurfssystem 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 Switchpaar 201 genau beschrieben. Eine vom Kommunikationskanal 251 im Vergleicher 231 eintreffende Nachricht wird vom Vergleicher 231 über den Kommunikationskanal 242 an den Switch 211 und über den Kommunikationskanal 243 an den Switches 213 zur Vermittlung weitergeleitet. Aufgrund der im Header einer Nachricht enthaltenen Adressinformation wird die Nachricht vom Switch 211 über den Kommunikationskanal 244 und vom Switch 213 über den Kommunikationskanal 245 an den adressierten Vergleicher—im Beispiel an den Vergleicher 233— weitergeleitet. Sobald die zeitlich erste an den Vergleicher 233 adressierte Nachricht von einem der beiden Switches 211 oder 213 beim Vergleicher 233 eintrifft, eröffnet der Vergleicher 233 ein Zeitfenster von der a priori vorgegebenen Dauer D. Wenn innerhalb dieses Zeitfensters D die zeitlich zweite Nachricht vom anderen Switch des 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 Switchpaares 201 eintrifft, dann vergleicht der Vergleicher 233 die beiden Nachrichten bitweise und leitet sie umgehend über den Kommunikationskanal 252 an das adressierte Endsystem 222 weiter. Dieser Vergleich der beiden Nachrichten kann im error-free-cut-through Verfahren erfolgen, d.h. die eintreffenden Bitströme werden im Vergleicher 233 nur kurz verzögert, laufend verglichen und sofort weitergeleitet falls der Bitvergleich richtig ist. Im Fehlerfall wird der Bitstrom zum Endsystem 222 abgebrochen. Da jede Nachricht ein CRC Feld enthält, kann das Endsystem 222 eine abgebrochene Nachricht erkennen und verwerfen.
Die Dauer der notwendigen Verzögerung eiuer Nachricht im Vergleicher 233 hängt von der Präzision P der Uhlensynchronisation 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, und 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 Switch 211 oder 212 produzierten Zeitpunkt senden kann. Vom Switchpaar 201 wird somit nur dann eine syntaktisch korrekte Nachricht an das Endsystem 222 über den
Einreichkopie, 7. April, 2010
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 Switchpaar 201 realisiert somit am Kommunikationskanal 252 die fail-silent Abstrakten: es produziert entweder Nachrichten die im Wertebereich und im Zeitbereich richtig sind oder es produziert keine Nachrichten. Das Switchpaar 202 funktioniert analog zum Switchpaar 201.
Zusätzlich zu den von den Endsystemen empfangen Nachrichten sendet der fehlertolerante Switch 200 periodisch zwei intern generierte Synchromsationsnachrichten an alle angeschlossenen Endsystemen, wobei nahezu gleichzeitig eine Synchronisationsnachricht vom linken Switchpaar 201 über den Kommunikationskanal 251 und 252 und eine zweite Synchronisationsnachricht vom rechten Switchpaar über den Kommunikationskanal 253 und 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 und 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 und 202 erfolgen.
Im fehlerfreien Fall erhält das Endsystem 222 somit zwei richtige Synchronisationsnachrichten, eine über den Kommunikationskanal 252 und die andere über den Kommunikationskanal 254, deren Eintreffenszeitpunkte sich maximal um die Präzision P unterscheiden. Wenn in einem Switchpaar ein Fehler auftritt, so erhält das 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, und 214 und die vier Vergleicher 231,232, 233 und 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 weiden muss.
Durch den erfindungsgemäßen Aufbau eines fehlertoleranten Switches, der eine fehlertolerante Uhrensynchronisation beinhaltet, ergeben sich folgende weitere wesentliche wirtschaftliche Vorteile:
Einreichkopie, 7. April, 2010 7 ·» » · ♦ • * · • · · « · ·
* Es wird verhindert, dass im Fehlerfall falsche Ergebnisse produziert werden. Diese Eigenschaft ist in sicherfaeitskritischen 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 fehleitoleranten Uhrensynchroiiisation von den Endsystemen in das Kommunikationssystem werden die Endsysteme wesentlich einfacher und kostengünstiger. * Eine generische Txisung der Uhrensynchronisation im Kommunikationssystem kann in einem VLSI Chip sehr kostengünstig implementiert werden.
Einreichkopie, 7. April, 2010

Claims (15)

  1. PATENTANSPRÜCHE (1) 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älc verbunden sind dadurch gekennzeichnet dass jeder fehlertoleranten Switch 200 zwei Switchpaare 201 und 202 enthält und wo das Switchpaar 201 die Switches 211 und 213 enthält und wo das Switchpaar 202 die Switches 212 und 214 enthält, und wo jeder der vier Switches 211,212,213 und 214 über die Kommunikationskanäle 240 und 241 mit den anderen drei Switches verbunden ist, und wo die vier Switches über einen bekannten nachrichtenbasierten internen fehlertoleranten Synchronisationsalgorithmus über die Kommunikationskanäle 240 und 241 eine interne globale fehlertolerante Zeitbasis mit bekannter Präzision P aufbauen, und wo eine Vielzahl von Endsystemen jeweils über einen einem Endsystem zugeordnete Vergleicher an die beiden Switchpaare 201 und 202 angeschlossen werden kann, und wo ein Endsystem 221 jeweils eine Kopie einer an ein Endsystem zu sendenden Nachricht über den Kommunikationskanal 251 an das Switchpaar 201 und über den Kommunikationskanal 253 an das Switchpaar 202 sendet und wo der Vergleicher 231 die eintreffende Nachricht über den Kommunikationskanal 242 an den Switch 211 und über den Kommunikationskanal 243 an den Switch 213 sendet und wo der Vergleicher 232 die eintreffende Nachricht über den Kommunikationskanal 246 an den Switch 212 und über den Kommunikationskanal 247 an den Switch 214 sendet und wo die vier Switches die eintreffenden Nachrichten vermitteln und falls eine Nachricht an das Endsystem 222 adressiert ist die Switches 211 und 213 je eine Kopie der Nachricht über die Kommunikationskanäle 244 und 245 an den dem Endsystem 222 zugeordneten Vergleicher 233 senden und wo der Vergleicher 233 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 Vergleicher 233 eintrifft der Vergleicher 233 die Nachricht verwirft und falls in diesem Intervall D eine zweite Kopie der Nachricht eintrifft der Vergleicher 233 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 Kommunikationskanal 252 an das Endsystem 222 sendet und wo das Switchpaar 202 analog vorgeht und somit im fehlerfreien Fall beim Endsystem zwei übcTprüftc Kopien einer Nachricht cintrcffen und falls eines der beiden Switchpaare 201 oder 202 fehlerhaft ist oder einen Fehler erkennt und die Nachricht verwirft noch immer eine korrekte Nachricht beim Endsystem 222 eintrifft und wo der fehlertolerante Switch 200 zusätzlich zu den von den Endsystemen empfangen Nachrichten periodisch zwei im Switch 200 generierte Synchronisationsnachrichten an alle angeschlossenen Endsysteme sendet, wobei eine Synchronisationsnachricht vom Switchpaar 201 gesendet wird und die andere Synchronisationsnachricht vom Switchpaar 202 gesendet Einreichkopie, 7. April, 2010 wird, und wo der Zeitpunkt des Eintreffens einer Synchronisationsnachricht bei einem Endsystem dem Zeitpunkt entspricht, der im Datenfeld der Synchronisationsnachricht enthalten ist.
  2. (2) Verfahren nach Anspruch (1) dadurch gekennzeichnet dass die beiden Switchpaare 201 und 202 räumlich getrennt voneinander angeordnet sind.
  3. (3) Verfahren nach einem oder mehreren der Ansprüche (1) bis (2) dadurch gekennzeichnet dass im Rahmen der Uhrensynchronisation signierte Nachrichten verwendet werden und daher auf die beiden Kommunikationskanäle 241 verzichtet werden kann.
  4. (4) Verfahren nach einem oder mehreren der Ansprüche (1) bis (3) dadurch gekennzeichnet dass im ein fehlertoleranter Switch nach dem Empfang einer externen Synchronisationsnachricht seine interne synchronisierte Zeit an die durch die externe Synchronisationsnachricht vorgegebene Zeit anpasst.
  5. (5) Verfahren nach einem oder mehreren der Ansprüche (1) bis (4) dadurch gekennzeichnet dass die Switches 211,212, 213 und 214 die Nachrichten nur um einige Bitlängen verzögern und im cut-through Verfahren an die Vergleicher 231,232,233, und 234 übermitteln.
  6. (6) Verfahren nach einem oder mehreren der Ansprüche (1) bis (5) dadurch gekennzeichnet dass die Vergleicher 231, 232, 233 und 234 die Nachrichten nur um einige Bitlängen verzögern und im error-free-cut-through Verfahren an das Endsystem übermitteln.
  7. (7) Verfahren nach einem oder mehreren der Ansprüche (1) bis (6) dadurch gekennzeichnet dass die an einen fehlertoleranten Switch angeschlossenen Endsysteme eine Mischung von ereignisgesteuerten, bandbreitenbegrenzten, oder zeitgesteuerten Nachrichten senden.
  8. (8) Verfahren nach einem oder mehreren der Ansprüche (1) bis (7) dadurch gekennzeichnet dass in die Switches 211, 212, 213 und 214 a priori Planungsinformationen über das erlaubte zeitliche Verhalten der Endsysteme geladen werden, so dass ein Switch ein fehlerhaftes zeitliches Verhalten eines Endsystems erkennen kann.
  9. (9) Verfahren mich einem oder mehreren der Ansprüche (1) bis (8) dadurch gekennzeichnet dass die in Anspruch (8) angeführten a priori Planungsinformationen an den Switch mit einer elektronischen Unterschrift des Senders versehen werden.
  10. (10) Verfahren nach einem oder mehreren der Ansprüche (1) bis (9) dadurch gekennzeichnet dass die in Anspruch (8) angeführten a priori Planungsinformationen an den Switch verschlüssselt werden.
  11. (11) Verfahren nach einem oder mehreren der Ansprüche (1) bis (10) dadurch gekennzeichnet dass die in Anspruch (7) angeführten a priori Planungsinformationen dynamisch während des Betriebes geändert werden können.
  12. (12) Verfahren nach einem oder mehreren der Ansprüche (1) bis (11) dadurch gekennzeichnet dass die Vergleicher 231, 232, 233, und 234 im Multiplex-Verfahren betrieben werden. Einreichkopie, 7. April, 2010
  13. (13) Verfahren nach einem oder mehreren der Ansprüche (1) bis (12) dadurch gekennzeichnet dass die unterschiedlichen Signallaufzeiten auf den Kommunikationskanälen 251,252, 253 und 254 von den Switchpaaren 201 und 202 kompensiert werden.
  14. (14) Verfahren nach einem oder mehreren der Ansprüche (1) bis (13) dadurch gekennzeichnet dass die von den Endsystemen produzierten und konsumierten Nachrichten dem Ethernet Standard entsprechen.
  15. (15) Apparat zur fehlertoleranten zeitgesteuerten Echtzeitkommunikation bestehend aus einem oder mehreren fehlcrtolcranten Switches die je über mindesten zwei Kommunikationskanäle verbunden sind dadurch gekennzeichnet dass jeder fehlertoleranten Switch 200 zwei Switchpaare 201 und 202 enthält und wo das Switchpaar 201 die Switches 211 und 213 enthält und wo das Switchpaar 202 die Switches 212 und 214 enthält, und wo jeder der vier Switches 211,212,213 und 214 über die Kommunikationskanäle 240 und 241 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 201 und 202 angeschlossen werden kann, und wo in diesem Apparat einer oder mehrere der in Anspruch (1) bis (14) angeführten Verfahrenschritte realisiert werden. Einreichkopie, 7. April, 2010
ATA557/2010A 2010-04-07 2010-04-07 Verfahren und apparat zur fehlertoleranten zeitgesteuerten echtzeitkommunikation AT509700B1 (de)

Priority Applications (6)

Application Number Priority Date Filing Date Title
ATA557/2010A AT509700B1 (de) 2010-04-07 2010-04-07 Verfahren und apparat zur fehlertoleranten zeitgesteuerten echtzeitkommunikation
JP2013502952A JP5593530B2 (ja) 2010-04-07 2011-04-07 フォールトトレラントなタイムトリガ方式のリアルタイム通信のための方法および装置
PCT/AT2011/000167 WO2011123877A1 (de) 2010-04-07 2011-04-07 Verfahren und apparat zur fehlertoleranten zeitgesteuerten echtzeitkommunikation
US13/639,456 US9063837B2 (en) 2010-04-07 2011-04-07 Method and device for fault-tolerant, time-controlled real-time communication
EP11719144.5A EP2556633B1 (de) 2010-04-07 2011-04-07 Verfahren und apparat zur fehlertoleranten zeitgesteuerten echtzeitkommunikation
CN201180018153.3A CN103039046B (zh) 2010-04-07 2011-04-07 时间触发的容错实时通信系统和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ATA557/2010A AT509700B1 (de) 2010-04-07 2010-04-07 Verfahren und apparat zur fehlertoleranten zeitgesteuerten echtzeitkommunikation

Publications (2)

Publication Number Publication Date
AT509700A1 true AT509700A1 (de) 2011-10-15
AT509700B1 AT509700B1 (de) 2019-05-15

Family

ID=44461871

Family Applications (1)

Application Number Title Priority Date Filing Date
ATA557/2010A AT509700B1 (de) 2010-04-07 2010-04-07 Verfahren und apparat zur fehlertoleranten zeitgesteuerten echtzeitkommunikation

Country Status (6)

Country Link
US (1) US9063837B2 (de)
EP (1) EP2556633B1 (de)
JP (1) JP5593530B2 (de)
CN (1) CN103039046B (de)
AT (1) AT509700B1 (de)
WO (1) WO2011123877A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118897750A (zh) * 2024-09-27 2024-11-05 华能澜沧江水电股份有限公司 基于相似数据的容错分析系统

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT509700B1 (de) 2010-04-07 2019-05-15 Tttech Computertechnik Ag Verfahren und apparat zur fehlertoleranten zeitgesteuerten echtzeitkommunikation
AT512290B1 (de) * 2011-12-19 2013-07-15 Fts Computertechnik Gmbh Verfahren zur zeitrichtigen beobachtung von ttethernet nachrichten
US20130208630A1 (en) * 2012-02-15 2013-08-15 Ge Aviation Systems Llc Avionics full-duplex switched ethernet network
AT512742A1 (de) * 2012-04-11 2013-10-15 Fts Computertechnik Gmbh Verfahren und Verteilereinheit zur zuverlässigen Vermittlung von Synchronisationsnachrichten
JP6152425B2 (ja) * 2012-11-16 2017-06-21 エフティーエス コンピューターテクニク ジーエムビーエイチ リアルタイムメッセージの送信方法およびリアルタイムメッセージを送信するためのコンピュータネットワーク
WO2016033629A2 (de) * 2014-09-05 2016-03-10 Fts Computertechnik Gmbh Computersystem und verfahren für sicherheitskritische anwendungen
WO2016049670A1 (de) * 2014-10-01 2016-04-07 Fts Computertechnik Gmbh Verteiltes echtzeitcomputersystem und zeitgesteuerte verteilereinheit
FR3030126B1 (fr) * 2014-12-10 2017-01-13 Thales Sa Systeme de transmission d'information avioniques
CN104618087B (zh) * 2015-01-30 2018-07-17 国家电网公司 一种广域电网pmu数据时延精确测量的方法
US10019292B2 (en) 2015-12-02 2018-07-10 Fts Computertechnik Gmbh Method for executing a comprehensive real-time computer application by exchanging time-triggered messages among real-time software components
EP3468115B1 (de) * 2017-10-09 2020-06-17 TTTech Computertechnik AG Verfahren zur verbesserung der erreichbarkeit von echtzeit-computernetzwerken
CN110493040B (zh) * 2019-08-02 2022-06-14 中国航空无线电电子研究所 航空机载网络的设计方法和装置
DE102019220498B4 (de) * 2019-12-20 2021-09-16 Continental Automotive Gmbh Verfahren zur Absicherung der Zeitsynchronisation in einem Server ECU
EP3902166B1 (de) * 2020-04-21 2022-03-23 TTTech Computertechnik Aktiengesellschaft Fehlertoleranter zeitserver für ein echtzeitcomputersystem
EP3902206B1 (de) * 2020-04-21 2022-02-16 TTTech Computertechnik Aktiengesellschaft Fehlertolerante verteilereinheit und verfahren zur bereitstellung einer fehlertoleranten globalen zeit
US11539757B1 (en) * 2020-12-22 2022-12-27 Fuze, Inc. Interoperability between RCS networks and proprietary messaging platforms
US12452140B1 (en) * 2024-05-28 2025-10-21 Oracle International Corporation Methods, systems, and computer readable media for providing end-to-end message integrity checking for service-based interface (SBI) messages communicated via a service communication proxy (SCP)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003028258A1 (de) * 2001-09-26 2003-04-03 Siemens Aktiengesellschaft Verfahren zur synchronisation von knoten eines kommunikationssystems
US20030065974A1 (en) * 2001-09-29 2003-04-03 Lam An H. Fault-tolerant switch architecture
US6639895B1 (en) * 1998-10-05 2003-10-28 Performance Technologies, Incorporated Fault tolerant network switch

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0453606B1 (de) * 1990-04-27 1994-09-07 Siemens Aktiengesellschaft Verfahren und Schaltungsanordnung zur Reduzierung des Verlustes von Nachrichtenpaketen, die über eine Paketvermittlungseinrichtung übertragen werden
US5269016A (en) * 1990-09-24 1993-12-07 Charles Stark Draper Laboratory, Inc. Byzantine resilient fault tolerant shared memory data processing system
SE506739C2 (sv) * 1995-09-29 1998-02-09 Ericsson Telefon Ab L M Drift och underhåll av klockdistributionsnät med redundans
US6687751B1 (en) * 2000-01-28 2004-02-03 3Com Corporation Multi-point link aggregation spoofing
AT411948B (de) 2002-06-13 2004-07-26 Fts Computertechnik Gmbh Kommunikationsverfahren und apparat zur übertragung von zeitgesteuerten und ereignisgesteuerten ethernet nachrichten
US7193994B1 (en) * 2002-08-16 2007-03-20 Intel Corporation Crossbar synchronization technique
US7194661B1 (en) * 2002-12-23 2007-03-20 Intel Corporation Keep alive buffers (KABs)
US7334014B2 (en) 2003-01-03 2008-02-19 Availigent, Inc. Consistent time service for fault-tolerant distributed systems
JP4030880B2 (ja) * 2003-01-07 2008-01-09 Necインフロンティア株式会社 同期用クロック供給システムおよび同期用クロック供給方法
US20060215568A1 (en) * 2005-03-28 2006-09-28 Honeywell International, Inc. System and method for data collection in an avionics network
US7649912B2 (en) 2005-04-27 2010-01-19 Rockwell Automation Technologies, Inc. Time synchronization, deterministic data delivery and redundancy for cascaded nodes on full duplex ethernet networks
US8064347B2 (en) * 2006-03-29 2011-11-22 Honeywell International Inc. System and method for redundant switched communications
JP2008139903A (ja) * 2006-11-29 2008-06-19 Fujitsu Ltd 情報処理装置および位相制御方法
CN101707954B (zh) 2007-04-11 2013-01-09 Tttech电脑技术股份公司 有效及可靠地传输时间触发以太网信息的通信方法及设备
JP5413750B2 (ja) * 2008-06-02 2014-02-12 ティティーテフ コンピュータテクニーク アクティエンゲゼルシャフト 分散形コンピュータネットワーク内のローカルクロックに同期させるための方法
AT509700B1 (de) 2010-04-07 2019-05-15 Tttech Computertechnik Ag Verfahren und apparat zur fehlertoleranten zeitgesteuerten echtzeitkommunikation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6639895B1 (en) * 1998-10-05 2003-10-28 Performance Technologies, Incorporated Fault tolerant network switch
WO2003028258A1 (de) * 2001-09-26 2003-04-03 Siemens Aktiengesellschaft Verfahren zur synchronisation von knoten eines kommunikationssystems
US20030065974A1 (en) * 2001-09-29 2003-04-03 Lam An H. Fault-tolerant switch architecture

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118897750A (zh) * 2024-09-27 2024-11-05 华能澜沧江水电股份有限公司 基于相似数据的容错分析系统
CN118897750B (zh) * 2024-09-27 2024-11-29 华能澜沧江水电股份有限公司 基于相似数据的容错分析系统

Also Published As

Publication number Publication date
JP2013531402A (ja) 2013-08-01
CN103039046A (zh) 2013-04-10
EP2556633A1 (de) 2013-02-13
US20130086432A1 (en) 2013-04-04
AT509700B1 (de) 2019-05-15
US9063837B2 (en) 2015-06-23
JP5593530B2 (ja) 2014-09-24
EP2556633B1 (de) 2014-01-08
WO2011123877A1 (de) 2011-10-13
CN103039046B (zh) 2015-07-22

Similar Documents

Publication Publication Date Title
AT509700B1 (de) Verfahren und apparat zur fehlertoleranten zeitgesteuerten echtzeitkommunikation
EP2803155B1 (de) Verfahren und vermittlungseinheit zur zuverlässigen vermittlung von synchronisationsnachrichten
EP2258082A1 (de) Verfahren zur sicheren dynamischen bandbreitenallokation in tt-ethernet
EP2145431A2 (de) Kommunikationsverfahren und apparat zur effizienten und sicheren übertragung von tt-ethernet nachrichten
EP0658257B1 (de) Kommunikationskontrolleinheit und verfahren zur übermittlung von nachrichten
AT512528A4 (de) Verfahren und Apparat zur Vermittlung von zeitgesteuerten und ereignisgesteuerten Nachrichten
EP3353960A1 (de) Kommunikationsnetzwerk, verfahren zum betreiben eines solchen und teilnehmer in einem kommunikationsnetzwerk
EP2801174B1 (de) Verfahren und vorrichtung zur konsistenten änderung der zeitpläne in einer zeitgesteuerten vermittlung
EP3110061B1 (de) Verteiltes echtzeitcomputersystem sowie verfahren zur erzwingung des fail-silent-verhaltens eines verteilten echtzeitcomputersystems
EP3042473A1 (de) Verfahren zur übertragung von nachrichten in einem computernetzwerk sowie computernetzwerk
EP3172869B1 (de) Verfahren zur nachbildung von laufzeiten in netzwerken, sowie entsprechendes gateway
EP3273352B1 (de) Computerisiertes system
EP0720337B1 (de) Verfahren zur hochzuverlässigen und konsistenten Nachrichtenübertragung
EP1484679B1 (de) Sicherstellung von maximalen Reaktionszeiten in komplexen oder verteilten sicheren und/oder nicht sicheren Systemen
WO2015058224A1 (de) Verfahren zur übertragung von nachrichten in einem computernetzwerk sowie computernetzwerk
EP3902206B1 (de) Fehlertolerante verteilereinheit und verfahren zur bereitstellung einer fehlertoleranten globalen zeit
EP3363165A1 (de) Verfahren und computersystem zur schnellen übertragung von zeitgesteuerten echtzeitnachrichten
EP2965560B1 (de) Verfahren und netzwerkinfrastruktur zum redundanten übertragen von nachrichten in einem verteilten echtzeitsystem
EP3157187B1 (de) Zeitgesteuertes verfahren zum periodischen fehlertoleranten transport von echtzeitdaten in einem verteilten computersystem
EP3902166B1 (de) Fehlertoleranter zeitserver für ein echtzeitcomputersystem
DE102008004854B4 (de) Verfahren zum Übermitteln von Botschaften in einem Bussystem, Busgerät und Bussystem
DE102015119377B4 (de) Verfahren zur Kommunikation von Komponenten in einem Netzwerk
WO2016012139A1 (de) Verfahren und knoten zum senden von nachrichten sowie computerprogrammprodukt
EP1535156A2 (de) Verfahren und apparat zur fehlererkennung in einem verteilten echtzeitcomputersystem
EP3939241A1 (de) Zugerfassungssystem sowie verfahren zum übermitteln von nachrichten in einem zugerfassungssystem

Legal Events

Date Code Title Description
PC Change of the owner

Owner name: TTTECH AUTO AG, AT

Effective date: 20190718

MM01 Lapse because of not paying annual fees

Effective date: 20240407