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

Verfahren und apparat zur fehlertoleranten zeitgesteuerten echtzeitkommunikation Download PDF

Info

Publication number
WO2011123877A1
WO2011123877A1 PCT/AT2011/000167 AT2011000167W WO2011123877A1 WO 2011123877 A1 WO2011123877 A1 WO 2011123877A1 AT 2011000167 W AT2011000167 W AT 2011000167W WO 2011123877 A1 WO2011123877 A1 WO 2011123877A1
Authority
WO
WIPO (PCT)
Prior art keywords
switch
message
fault
tolerant
switches
Prior art date
Application number
PCT/AT2011/000167
Other languages
English (en)
French (fr)
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 CN201180018153.3A priority Critical patent/CN103039046B/zh
Priority to JP2013502952A priority patent/JP5593530B2/ja
Priority to EP11719144.5A priority patent/EP2556633B1/de
Priority to US13/639,456 priority patent/US9063837B2/en
Publication of WO2011123877A1 publication Critical patent/WO2011123877A1/de

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/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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Definitions

  • This invention relates to a method and apparatus for fault tolerant timed communication and establishing a fault tolerant global time of known precision in the communication system of a distributed real time computer system.
  • a distributed real-time system consists of a number of computer nodes, the end systems in which the application software runs, and a generic communication system via which the messages of the end systems are interchanged.
  • a global fault tolerant time base of good precision must be built so that the end systems can verify the time validity of the real-time information and perform synchronized distributed actions.
  • the construction of a fault-tolerant global time base requires the execution of complex synchronization algorithms.
  • the distributed error-tolerant clock synchronization is carried out according to the invention in the generic communication system, so that the end systems are supplied with the global time via a simple fault-tolerant master-slave synchronization (see textbook [5], chapter 3) can.
  • a fault tolerant time is built up not in the end systems but in the communication system.
  • a fault-tolerant switching unit ⁇ fault-tolerant switch which contains four independent switching units, each switching unit forming an Fault-Containment Unit (FCU). These four switching units share a fault-tolerant time base by exchanging messages. Two of the four switching units each form a switch pair, so that two switch pairs are contained in the fault-tolerant switching unit.
  • Each of the two switching units of a switch pair periodically sends a synchronization message to a comparator, which forwards a synchronization message to an end system only if both received synchronization messages arrive almost simultaneously and are identical in content. Since there are two switch pairs in the fault-tolerant switching unit, this method tolerates any error in a switch pair.
  • the object of the invention is achieved by a method for fault-tolerant clock synchronization and fault-tolerant timed real-time communication using a number of end systems and one or more fault-tolerant switches, each connected via at least two communication channels, each fault-tolerant switch containing a first and a second switch pair and where the first switch pair includes first and second switches, and where the second switch pair includes third and fourth switches, and where each of the four switches is connected via communication channels to the other three switches, and where the four switches have a known message-based switch internal fault tolerant
  • Synchronization algorithm via the communication channels build an internal global fault-tolerant time base with known precision, and where a plurality of end systems can each be connected via a comparator associated with an end system to the two switch pairs, and where a first end system each have a copy of a message to be sent to an end system sends via the first communication channel to the first switch pair and the second communication channel to the second switch pair and where the first comparator sends the incoming message via a communication channel to the first switch and a communication channel to the second switch and where the third comparator the incoming message sends via a communication channel to the third switch and via a communication channel to the fourth switch and where the four switches transmit the incoming messages and if a message is addressed to the second end system the switches each send a copy of the message via communication channels to the second comparator associated with the second end system, and where the second comparator opens a time slot of duration D immediately after the arrival of the first time message if in this interval D no second copy of this message arrives at the second comparator the second comparator discards the message
  • the two pairs of switches are arranged spatially separated.
  • signed messages are used in the context of clock synchronization.
  • a fault-tolerant switch adjusts its internal synchronized time to the time specified by the external synchronization message after receiving an external synchronization message.
  • the switches only delay the messages by a few bit lengths and in the cut-through process they are sent to the comparators.
  • the comparators only delay the messages by a few bit lengths and transmit them in the error-free-cut-through method to the end system.
  • the end systems connected to a fault-tolerant switch send a mix of event-driven, bandwidth-limited, or timed messages.
  • Planning information about the permitted temporal behavior of the end systems is loaded a priori into the switches, so that a switch can recognize a faulty temporal behavior of an end system.
  • the a priori planning information to the switch is provided with an electronic signature of the transmitter.
  • the a priori scheduling information can be changed dynamically during operation.
  • the comparators are operated in a multiplex process.
  • the different signal propagation times on the communication channels are compensated by the switch pairs.
  • the messages produced and consumed by the end systems conform to the Ethernet standard.
  • an apparatus for fault-tolerant time-controlled real-time communication comprising one or more fault-tolerant switches which are each connected via at least two communication channels, each fault-tolerant switch containing two switch pairs and where the first switch pair contains a first and a second switch and where the second switch pair includes a third and a fourth switch, and where each of the four switches is connected to the other three switches via the communication channels and where a plurality of end systems can each be connected to the two switch pairs via a dedicated comparator associated with the end system and where in this apparatus one or more of the above-mentioned process steps are realized.
  • the present invention aims to build a fault tolerant global time in a fault tolerant communication system of a distributed real time system.
  • a fault-tolerant message switching unit which consists of four independent switching units. These four independent switch units together build a fault-tolerant time.
  • the end systems are connected to a fault-tolerant messaging unit via two independent fail-silent communication channels, so that even if a part of the fault-tolerant switching unit or a communication channel fails, the clock synchronization and the network connections remain upright.
  • Fig. 1 shows an example of the structure of fault tolerant communication system consisting of several fault tolerant switching units.
  • Fig. 2 shows the internal structure of a fault-tolerant switching unit.
  • FIG. 1 shows a configuration with three fault-tolerant switching units 101, 102 and 103-referred to below as switches-and eight end systems 111 to 118.
  • An end system is a node processor in which a part of a distributed real-time application runs.
  • the three switches 101, 102 and 103 are interconnected by means of two respective communication channels 121 and 122, since the failure of a communication channel must be tolerated.
  • Each switch e.g., the switch 101, includes two switch pairs, 151 and 152, each switch pair consisting of two switches.
  • Each switch forms an autonomous Fault-Containment Unit (FCU).
  • the end system 111 is connected via the communication channel 121 to the left switch pair 151 and via the communication channel 122 to the right switch pair 152 of the fault tolerant switch 101.
  • the other end systems 112 to 118 are each connected via a communication channel to one switch pair and to the other communication channel with the other switch pair of a fault-tolerant switch.
  • n the number of end systems which can be connected to a switch is not defined by this invention and depends on the specific structure of the fault-tolerant switch. Typically, n is between 8 and 16. For example, four end systems can be connected in the fault-tolerant switch 101 on the top and bottom sides. To simplify FIG. 2, only two end systems, the first end system 221 and the second end system 222 are listed in the fault tolerant switch 200.
  • the fault-tolerant switch 200 consists of the two switch pairs 201 and 202.
  • the first switch pair 201 consists of the two (not fault-tolerant) switches 211 and 213, the first switch 211 and the second switch 213 and the comparators 231 and 233, the first comparator 231 and the second comparator 233.
  • the second switch pair 202 consists of the two (not fault tolerant) Switches 212 and 214, the third switch 212 and the fourth switch 214 and the comparators 232 and 234, the third comparator 232 and the fourth comparator 234th
  • Each end system is thus assigned two comparators, one from the right and one from the left switch pair.
  • the comparators can also be multiplexed so that there is one comparator with n inputs / outputs 251 or 252 to n end systems 221 or 222 in a switch pair.
  • Each of the four switches 211, 212, 213, 214 forms an autonomous fault containment unit.
  • the four switches 211, 212, 213, 214 are interconnected via communication channels 240, 241.
  • the first switch 211 is connected either via the communication channels 240 to the horizontally and vertically adjacent switches, in this case the second switch 213 and the third switch 212, and via this to the fourth switch 214 the first switch 211 is connected via the communication channel 241 to the fourth switch 214 and via this, or corresponding communication channels 240, 241, with the other switches.
  • the first switch 211 can be connected via communication channels 240 to the horizontally and vertically adjacent switches (second switch 213 and third switch 212) and connected to the fourth switch 214 via a communication channel 241.
  • the communication channels 241 can be dispensed with (see below).
  • the two connections 241 are not required.
  • a selected switch eg, switch 103 in FIG. 1, or an end system equipped with a time source, eg a GPS time receiver, can specify an external time base to the connected switches. This is done via external synchronization messages that contain the external time. After receiving such an external synchronization message, the receiving fault-tolerant switch must adapt its internal clock synchronization to the externally specified time. If the external time source fails, the fault tolerant internal synchronization algorithm maintains global time.
  • the external time source may also be used to dynamically adjust the clocking of the switches 211, 212, 213, 214 to the external time gear.
  • this message is sent in parallel via the first communication channel 251 to the first comparator 231 in the first switch pair 201 and via the third communication channel 253 to the third comparator 232 in the second switch pair 202 Posted.
  • the format of this message may conform to a given standard, eg the widely used Ethernet standard or the AFDX standard, but also any other standard that specifies that the address information must be included in the header of the message so that the messages from the switches 211, 212, 213 , 214 can be negotiated in a fast cut-through procedure.
  • the messages may be timed, bandwidth limited, or event driven by the first end system 221.
  • the switches 211, 212, 213, 214 may be provided a priori with scheduling information specifying the allowed times of sending a timed message from an end system. A timed message sent by the first end system 221 at a wrong time may then be detected and discarded by the switches 211, 212, 213, 214.
  • the switches 211, 212, 213, 214 may be a priori supplied with scheduling information that specifies the allowed bandwidth of transmitting bandwidth limited messages. If the bandwidth limited messages sent by the first end system 221 exceed the allowed bandwidth, the switches 211, 212, 213, 214 may refuse to accept further messages.
  • the a priori scheduling information sent to the switches 211, 212, 213, 214 prior to performing message transmission from a design system may be provided with an electronic signature so that the switches 211, 212, 213, 214 may check, Whether this information comes from an authorized design system.
  • the scheduling information can be sent encrypted.
  • the a priori scheduling information may be changed dynamically during operation by sending a new message with the new scheduling information and the time from when that new scheduling information is to be applied.
  • a message arriving from the first communication channel 251 in the first comparator 231 is relayed by the first comparator 231 via the communication channel 242 to the first switch 211 and via the communication channel 243 to the second switch 213 for switching. Because of the address information contained in the header of a message, the message is forwarded from the first switch 211 via the communication channel 244 and from the second switch 213 via the communication channel 245 to the addressed comparator in the example to the second comparator 233-. As soon as the message addressed in time to the second comparator 233 arrives at the second comparator 233 from one of the two switches 211 or 213, the second comparator 233 opens a time window of the duration predefined a priori.
  • the comparator discards the first message, and subsequently the second message (if it ever arrives). If, within this time window D, the second message arrives from the other switch of the first switch pair 201, then the second comparator 233 compares the two Messages bitwise and forwards them immediately via the second communication channel 252 to the addressed (second) end system 222 on. This comparison of the two messages can be done in the error-free-cut-through method, ie the incoming bit streams are only briefly delayed in the second comparator 233, continuously compared and forwarded immediately if the bit comparison is correct. In the event of an error, the bit stream to the (second) end system 222 is aborted. Since each message contains a CRC field, the (second) end system 222 can detect and discard an aborted message.
  • the duration of the necessary delay of a message in the second comparator 233 depends on the precision P of the clock synchronization, which is essentially determined by the duration of the synchronization period and the quality of the oscillators used.
  • the number of bits to be stored in the comparator depends on the precision P and the bandwidth of the data transmission.
  • the comparators 231, 232, 233, 234 are designed so that no complete message can be stored in a comparator and no comparator has the information on how to form a correct CRC field of a message. Thus, it is highly unlikely that a failed comparator may generate a syntactically correct but contentually incorrect message or may send a syntactically correct but substantively incorrect message to a different time than that produced by the first 211 or third switch 212.
  • a syntactically correct message is thus forwarded to the (second) end system 222 via the second communication channel 252 only if all four subsystems 231, 211, 213 and 233 function without errors and the message transport via the channels 251, 242, 243 , 244, 245, and 252 runs without errors.
  • the first switch pair 201 thus realizes the fail-silent abstraction on the second communication channel 252: it either produces messages which are correct in the range of values and in the time domain or it does not produce any messages.
  • the second switch pair 202 functions analogously to the first switch pair 201.
  • the fault-tolerant switch 200 In addition to the messages received from the end systems, the fault-tolerant switch 200 periodically sends two internally generated synchronization messages to all connected end systems, almost simultaneously a synchronization message from the left (first) switch pair 201 via the first 251 and second communication channel 252 and a second synchronization message from the right ( second) switch pair via the third 253 and fourth communication channel 254 is sent.
  • the time of arrival of a synchronization message at an end system corresponds to that time which is contained in the data field of the synchronization message. Since the signal propagation times on the communication channels 251, 252, 253, 254 are different due to the different length of these signal propagation times on the communication channels, a correction of the arrival time, a synchronization message to the end system may be required. This correction can be done either in the end system or in the switch pairs 201, 202.
  • the (second) end system 222 thus receives two correct synchronization messages, one via the (second) communication channel 252 and the other via the (fourth) communication channel 254, the arrival times of which differ at most by the precision P. If in a switch pair a Error occurs, the (second) end system 222 still receives a correct synchronization message.
  • the present invention allows standard components, i.e., components that do not have the self-checking capability, to construct a fault tolerant time base and a fault tolerant switch that tolerates any fault in a fault containment unit (FCU).
  • FCU fault containment unit
  • the following subsystems are error containment units: the four switches 211, 212, 213, 214 and the four comparators 231, 232, 233, 234.
  • Particular attention is paid to the last subsystem, the comparator, prior to issuing a message to the end system is arranged.
  • the construction measures described can preclude a faulty comparator from producing a syntactically correct but contentually incorrect message, even though the comparator itself does not have to be executed as a self-checking checker.
  • the clock synchronization algorithm only needs to be developed, tested and certified once and can be used in a variety of applications.

Landscapes

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

Abstract

Die vorliegende Erfindung hat zum Ziel in einem fehlertoleranten Kommunikations System eines verteilten Echtzeitsystems eine fehlertolerante globale Zeit aufzubauen. Zu diesem Zweck wird eine fehlertolerante Nachrichtenvermittlungseinheit 200 vorgestellt, die aus vier unabhängigen Vermittlungseinheiten 211, 212, 213, 214 besteht. Diese vier unabhängigen Vermittlungseinheiten 211, 212, 213, 214 bauen gemeinsam eine fehlertolerante Zeit auf. Die Endsysteme 221, 222 werden über zwei unabhängige fail-silent Kommunikationskanäle 251, 252, 253, 254 an eine fehlertolerante Nachrichtenvermittlungseinheit 200 angebunden, so dass selbst bei Ausfall eines Teils der fehlertoleranten Vermittlungseinheit 200 oder eines Kommunikationskanals die Uhrensynchronisation und die Netzwerkverbindungen aufrecht bleiben.

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

Claims

PATENTANSPRÜCHE
Verfahren zur fehlertoleranten Uhrensynchronisation und zur fehlertoleranten zeitgesteuerten Echtzeitkommunikation unter Verwendung einer Anzahl von Endsystemen (221, 222) und einem oder mehreren fehlertoleranten Switches
(200) die je über mindesten zwei Kommunikationskanäle verbunden sind, dadurch gekennzeichnet, dass jeder fehlertolerante Switch (200) ein erstes
(201) und ein zweites Switchpaar (202) enthält und wo das erste Switchpaar (201) einen ersten (211) und einen zweiten Switch (213) enthält und wo das zweite Switchpaar (202) einen dritten (212) und einen vierten Switch (214) enthält, und wo jeder der vier Switches (211, 212, 213, 214) über Kommunikationskanäle (240, 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, 241) eine interne globale fehlertolerante Zeitbasis mit bekannter Präzision (P) aufbauen, und wo eine Vielzahl von Endsystemen (221, 222) jeweils über einen einem Endsystem zugeordneten Vergleicher an die beiden Switchpaare (201, 202) angeschlossen werden kann, und wo ein erstes Endsystem (221) jeweils eine Kopie einer an ein Endsystem zu sendenden Nachricht über den ersten Kommunikationskanal (251) an das erste Switchpaar (201) und über den zweiten Kommunikationskanal (253) an das zweite Switchpaar (202) sendet und wo der erste Vergleicher (231) die eintreffende Nachricht über einen Kommunikationskanal (242) an den ersten Switch (211) und über einen Kommunikationskanal (243) an den zweiten Switch (213) sendet und wo der dritte Vergleicher (232) die eintreffende Nachricht über einen Kommunikationskanal (246) an den dritten Switch (212) und über einen Kommunikationskanal (247) an den vierten Switch (214) sendet und wo die vier Switches die eintreffenden Nachrichten vermitteln und falls eine Nachricht an das zweite Endsystem (222) adressiert ist die Switches (211, 213) je eine Kopie der Nachricht über Kommunikationskanäle (244, 245) an den dem zweiten Endsystem (222) zugeordneten zweiten Vergleicher (233) senden und wo der zweite 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 zweiten Vergleicher (233) eintrifft der zweite Vergleicher (233) die Nachricht verwirft und falls in diesem Intervall D eine zweite Kopie der Nachricht eintrifft der zweite 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 zweiten Kommunikationskanal (252) an das zweite Endsystem (222) sendet und wo das zweite Switchpaar (202) analog vorgeht und somit im fehlerfreien Fall beim Endsystem zwei überprüfte Kopien einer Nachricht eintreffen und falls eines der beiden Switchpaare (201, 202) fehlerhaft ist oder einen Fehler erkennt und die Nachricht verwirft noch immer eine korrekte Nachricht beim zweiten 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 ersten Switchpaar (201) gesendet wird und die andere Synchronisationsnachricht vom zweiten Switchpaar (202) gesendet wird, und wo der Zeitpunkt des Eintreffens einer Synchronisationsnachricht bei einem Endsystem dem Zeitpunkt entspricht, der im Datenfeld der Synchronisationsnachricht enthalten ist.
(2) Verfahren nach Anspruch (1), dadurch gekennzeichnet, dass die beiden Switchpaare (201, 202) räumlich getrennt voneinander angeordnet sind.
(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) Verfahren nach einem oder mehreren der Ansprüche (1) bis (3), dadurch gekennzeichnet, dass ein fehlertoleranter Switch (200) nach dem Empfang einer externen Synchronisationsnachricht seine interne synchronisierte Zeit an die durch die externe Synchronisationsnachricht vorgegebene Zeit anpasst.
(5) Verfahren nach einem oder mehreren der Ansprüche (1) bis (4), dadurch gekennzeichnet, dass die Switches (211, 212, 213, 214) die Nachrichten nur um einige Bitlängen verzögern und im cut-through Verfahren an die Vergleicher (231, 232, 233, 234) übermitteln.
(6) Verfahren nach einem oder mehreren der Ansprüche (1) bis (5), dadurch gekennzeichnet, dass die Vergleicher (231, 232, 233, 234) die Nachrichten nur um einige Bitlängen verzögern und im error-free-cut-through Verfahren an das Endsystem übermitteln.
(7) Verfahren nach einem oder mehreren der Ansprüche (1) bis (6), dadurch gekennzeichnet, dass die an einen fehlertoleranten Switch (200) angeschlossenen Endsysteme (221, 222) eine Mischung von ereignisgesteuerten, bandbreitenbegrenzten, oder zeitgesteuerten Nachrichten senden.
(8) Verfahren nach einem oder mehreren der Ansprüche (1) bis (7), dadurch gekennzeichnet, dass in die Switches (211, 212, 213, 214) a priori Planungsinformationen über das erlaubte zeitliche Verhalten der Endsysteme (221, 222) geladen werden, so dass ein Switch ein fehlerhaftes zeitliches Verhalten eines Endsystems erkennen kann.
(9) Verfahren nach Anspruch (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) Verfahren nach Anspruch (8) oder (9), dadurch gekennzeichnet dass die in Anspruch (8) angeführten a priori Planungsinformationen an den Switch verschlüsselt werden.
(11) Verfahren nach einem oder mehreren der Ansprüche (8) bis (10), dadurch gekennzeichnet, dass die in Anspruch (8) angeführten a priori Planungsinformationen dynamisch während des Betriebes geändert werden können. A Z
(12) Verfahren nach einem oder mehreren der Ansprüche (1) bis (11), dadurch gekennzeichnet, dass die Vergleicher (231, 232, 233, 234) im Multiplex- Verfahren betrieben werden.
(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, 254) von den Switchpaaren (201, 202) kompensiert werden.
(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) Apparat zur fehlertoleranten zeitgesteuerten Echtzeitkommunikation bestehend aus einem oder mehreren fehlertoleranten Switches die je über mindesten zwei Kommunikationskanäle verbunden sind, dadurch gekennzeichnet, dass jeder fehlertoleranten Switch (200) zwei Switchpaare (201, 202) enthält und wo das erste Switchpaar (201) einen ersten (211) und einen zweiten Switch (213) enthält und wo das zweite Switchpaar (202) einen dritten (212) und einen vierten Switch (214) enthält, und wo jeder der vier Switches (211, 212, 213, 214) über die Kommunikationskanäle (240, 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, 202) angeschlossen werden kann, und wo in diesem Apparat einer oder mehrere der in Anspruch (1) bis (14) angeführten Verfahrenschritte realisiert werden.
PCT/AT2011/000167 2010-04-07 2011-04-07 Verfahren und apparat zur fehlertoleranten zeitgesteuerten echtzeitkommunikation WO2011123877A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201180018153.3A CN103039046B (zh) 2010-04-07 2011-04-07 时间触发的容错实时通信系统和装置
JP2013502952A JP5593530B2 (ja) 2010-04-07 2011-04-07 フォールトトレラントなタイムトリガ方式のリアルタイム通信のための方法および装置
EP11719144.5A EP2556633B1 (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

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2011123877A1 true WO2011123877A1 (de) 2011-10-13

Family

ID=44461871

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AT2011/000167 WO2011123877A1 (de) 2010-04-07 2011-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 (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013090963A1 (de) * 2011-12-19 2013-06-27 Fts Computertechnik Gmbh Verfahren zur zeitrichtigen beobachtung von tt ethernet nachrichten
JP2013179583A (ja) * 2012-02-15 2013-09-09 Ge Aviation Systems Llc アビオニクス全二重交換イーサネットネットワーク
WO2013152379A1 (de) * 2012-04-11 2013-10-17 Fts Computertechnik Gmbh Verfahren und vermittlungseinheit zur zuverlässigen vermittlung von synchronisationsnachrichten
CN104618087A (zh) * 2015-01-30 2015-05-13 国家电网公司 一种广域电网pmu数据时延精确测量的方法
US9063837B2 (en) 2010-04-07 2015-06-23 Fts Computertechnik Gmbh Method and device for fault-tolerant, time-controlled real-time communication
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
EP3902206A1 (de) * 2020-04-21 2021-10-27 TTTech Computertechnik Aktiengesellschaft Fehlertolerante verteilereinheit und verfahren zur bereitstellung einer fehlertoleranten globalen zeit
EP3902166A1 (de) * 2020-04-21 2021-10-27 TTTech Computertechnik Aktiengesellschaft Fehlertoleranter zeitserver für ein echtzeitcomputersystem
EP4078862A1 (de) * 2019-12-20 2022-10-26 Continental Automotive Technologies GmbH Verfahren zur absicherung der zeitsynchronisation in einem server ecu

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6152425B2 (ja) * 2012-11-16 2017-06-21 エフティーエス コンピューターテクニク ジーエムビーエイチ リアルタイムメッセージの送信方法およびリアルタイムメッセージを送信するためのコンピュータネットワーク
US10241858B2 (en) * 2014-09-05 2019-03-26 Tttech Computertechnik Ag Computer system and method for safety-critical applications
EP3201774B1 (de) * 2014-10-01 2019-02-20 TTTech Computertechnik AG Verteiltes echtzeitcomputersystem und zeitgesteuerte verteilereinheit
FR3030126B1 (fr) * 2014-12-10 2017-01-13 Thales Sa Systeme de transmission d'information avioniques
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 中国航空无线电电子研究所 航空机载网络的设计方法和装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6195758B1 (en) * 1995-09-29 2001-02-27 Telefonaktiebolaget Lm Ericsson Operation and maintenance of clock distribution networks having redundancy
US20040153897A1 (en) * 2003-01-07 2004-08-05 Nec Corporation Synchronous clock supply system and synchronous clock supply method
EP1512254A1 (de) 2002-06-13 2005-03-09 FTS Computertechnik Ges.mbH Kommunikationsverfahren und system zur übertragung von zeitgesteuerten und ereignisgesteuerten ethernet-nachrichten
US7334014B2 (en) 2003-01-03 2008-02-19 Availigent, Inc. Consistent time service for fault-tolerant distributed systems
US20080122503A1 (en) * 2006-11-29 2008-05-29 Fujitsu Limited Information processing apparatus and phase control method
WO2009146471A1 (en) * 2008-06-02 2009-12-10 Fts Computertechnik Gmbh Method for synchronizing local clocks in a distributed computer 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
EP2145431A2 (de) 2007-04-11 2010-01-20 FTS Computertechnik Ges.mbH Kommunikationsverfahren und apparat zur effizienten und sicheren übertragung von tt-ethernet nachrichten

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE111277T1 (de) * 1990-04-27 1994-09-15 Siemens Ag 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
US6639895B1 (en) * 1998-10-05 2003-10-28 Performance Technologies, Incorporated Fault tolerant network switch
US6687751B1 (en) * 2000-01-28 2004-02-03 3Com Corporation Multi-point link aggregation spoofing
ATE289137T1 (de) * 2001-09-26 2005-02-15 Siemens Ag Verfahren zur synchronisation von knoten eines kommunikationssystems
US6925578B2 (en) * 2001-09-29 2005-08-02 Hewlett-Packard Development Company, L.P. Fault-tolerant switch architecture
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)
US20060215568A1 (en) * 2005-03-28 2006-09-28 Honeywell International, Inc. System and method for data collection in an avionics network
US8064347B2 (en) * 2006-03-29 2011-11-22 Honeywell International Inc. System and method for redundant switched communications
AT509700B1 (de) 2010-04-07 2019-05-15 Tttech Computertechnik Ag Verfahren und apparat zur fehlertoleranten zeitgesteuerten echtzeitkommunikation

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6195758B1 (en) * 1995-09-29 2001-02-27 Telefonaktiebolaget Lm Ericsson Operation and maintenance of clock distribution networks having redundancy
EP1512254A1 (de) 2002-06-13 2005-03-09 FTS Computertechnik Ges.mbH Kommunikationsverfahren und system zur übertragung von zeitgesteuerten und ereignisgesteuerten ethernet-nachrichten
US7334014B2 (en) 2003-01-03 2008-02-19 Availigent, Inc. Consistent time service for fault-tolerant distributed systems
US20040153897A1 (en) * 2003-01-07 2004-08-05 Nec Corporation Synchronous clock supply system and synchronous clock supply method
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
US20080122503A1 (en) * 2006-11-29 2008-05-29 Fujitsu Limited Information processing apparatus and phase control method
EP2145431A2 (de) 2007-04-11 2010-01-20 FTS Computertechnik Ges.mbH Kommunikationsverfahren und apparat zur effizienten und sicheren übertragung von tt-ethernet nachrichten
WO2009146471A1 (en) * 2008-06-02 2009-12-10 Fts Computertechnik Gmbh Method for synchronizing local clocks in a distributed computer network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KOPETZ, H.: "Real-Time Systems, Design Principlesfor Distributed Embedded Applications", 1997, KLUWER ACADEMIC PUBLISHERS

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9063837B2 (en) 2010-04-07 2015-06-23 Fts Computertechnik Gmbh Method and device for fault-tolerant, time-controlled real-time communication
US9614744B2 (en) 2011-12-19 2017-04-04 Fts Computertechnik Gmbh Method for monitoring, at the correct time, TT Ethernet messages
WO2013090963A1 (de) * 2011-12-19 2013-06-27 Fts Computertechnik Gmbh Verfahren zur zeitrichtigen beobachtung von tt ethernet nachrichten
JP2013179583A (ja) * 2012-02-15 2013-09-09 Ge Aviation Systems Llc アビオニクス全二重交換イーサネットネットワーク
JP2015521305A (ja) * 2012-04-11 2015-07-27 エフテーエス コンピューターテヒニク ゲゼルシャフト ミット ベシュレンクテル ハフツング 同期の信頼性のあるスイッチングのための方法及びスイッチングユニット
CN104412528A (zh) * 2012-04-11 2015-03-11 Fts电脑技术有限公司 可靠地交换同步讯息的方法和交换单元
US9503521B2 (en) 2012-04-11 2016-11-22 Fts Computertechnik Gmbh Method and switching unit for the reliable switching of synchronization of messages
WO2013152379A1 (de) * 2012-04-11 2013-10-17 Fts Computertechnik Gmbh Verfahren und vermittlungseinheit zur zuverlässigen vermittlung von synchronisationsnachrichten
CN104412528B (zh) * 2012-04-11 2017-08-18 Fts电脑技术有限公司 可靠地交换同步讯息的方法和交换单元
CN104618087A (zh) * 2015-01-30 2015-05-13 国家电网公司 一种广域电网pmu数据时延精确测量的方法
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
EP4078862A1 (de) * 2019-12-20 2022-10-26 Continental Automotive Technologies GmbH Verfahren zur absicherung der zeitsynchronisation in einem server ecu
EP3902206A1 (de) * 2020-04-21 2021-10-27 TTTech Computertechnik Aktiengesellschaft Fehlertolerante verteilereinheit und verfahren zur bereitstellung einer fehlertoleranten globalen zeit
EP3902166A1 (de) * 2020-04-21 2021-10-27 TTTech Computertechnik Aktiengesellschaft Fehlertoleranter zeitserver für ein echtzeitcomputersystem

Also Published As

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

Similar Documents

Publication Publication Date Title
EP2556633B1 (de) Verfahren und apparat zur fehlertoleranten zeitgesteuerten echtzeitkommunikation
EP2803155B1 (de) Verfahren und vermittlungseinheit zur zuverlässigen vermittlung von synchronisationsnachrichten
EP2258082B1 (de) Verfahren zur sicheren dynamischen bandbreitenallokation in tt-ethernet
WO2008124854A2 (de) Kommunikationsverfahren und apparat zur effizienten und sicheren übertragung von tt-ethernet nachrichten
DE112015004473T5 (de) Bestätigen der datengenauigkeit in einem verteilten steuerungssystem
DE19509558A1 (de) Verfahren zur fehlertoleranten Kommunikation unter hohen Echtzeitbedingungen
WO2001013230A1 (de) Verfahren zum erzwingen der fail-silent eigenschaft in einem verteilten computersystem und verteilereinheit eines solchen systems
WO2013170285A1 (de) Verfahren und apparat zur vermittlung von zeitgesteuerten und ereignisgesteuerten nachrichten
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
EP3152732A1 (de) Börsenhandelssystem
WO2015031926A1 (de) Verfahren zur übertragung von nachrichten in einem computernetzwerk sowie computernetzwerk
EP3273352B1 (de) Computerisiertes system
EP3902206B1 (de) Fehlertolerante verteilereinheit und verfahren zur bereitstellung einer fehlertoleranten globalen zeit
EP1484679B1 (de) Sicherstellung von maximalen Reaktionszeiten in komplexen oder verteilten sicheren und/oder nicht sicheren Systemen
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
AT513314A1 (de) Verfahren zum Aufbau von optimalen zeitgesteuerten Pfaden in einem großen Computernetzwerk
EP3902166B1 (de) Fehlertoleranter zeitserver für ein echtzeitcomputersystem
WO2016012139A1 (de) Verfahren und knoten zum senden von nachrichten sowie computerprogrammprodukt
DE102008004854B4 (de) Verfahren zum Übermitteln von Botschaften in einem Bussystem, Busgerät und Bussystem
EP1535156B1 (de) Verfahren und apparat zur fehlererkennung in einem verteilten echtzeitcomputersystem
WO2017186457A1 (de) Verfahren zur wegredundanzbewertung in einem backbone-netzwerk
EP1724970A2 (de) Zyklusbasiertes zeitgesteuertes Kommunikationssystem, Teilnehmer des Kommunikationssystems und Verfahren zur Datenübertragung zwischen Teilnehmern des Kommunikationssystems
EP1303080B1 (de) Verfahren zur Kommunikation über einen Bus zwischen einem Prozessdatenserver und mindestens einem Empfänger

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180018153.3

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11719144

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2013502952

Country of ref document: JP

Ref document number: 2011719144

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13639456

Country of ref document: US