AT512665B1 - Verfahren und Apparat zur Bildung von Software Fault Containment Units in einem verteilten Echtzeitsystem - Google Patents

Verfahren und Apparat zur Bildung von Software Fault Containment Units in einem verteilten Echtzeitsystem Download PDF

Info

Publication number
AT512665B1
AT512665B1 ATA342/2012A AT3422012A AT512665B1 AT 512665 B1 AT512665 B1 AT 512665B1 AT 3422012 A AT3422012 A AT 3422012A AT 512665 B1 AT512665 B1 AT 512665B1
Authority
AT
Austria
Prior art keywords
encapsulated
communication
swfcu
time
communication controller
Prior art date
Application number
ATA342/2012A
Other languages
English (en)
Other versions
AT512665A1 (de
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 ATA342/2012A priority Critical patent/AT512665B1/de
Priority to US14/379,728 priority patent/US20150039929A1/en
Priority to JP2015500711A priority patent/JP2015517140A/ja
Priority to CN201380012025.7A priority patent/CN104145248A/zh
Priority to EP13716172.5A priority patent/EP2801030A1/de
Priority to PCT/AT2013/050068 priority patent/WO2013138833A1/de
Publication of AT512665A1 publication Critical patent/AT512665A1/de
Application granted granted Critical
Publication of AT512665B1 publication Critical patent/AT512665B1/de

Links

Classifications

    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0712Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Verfahren zur Eingrenzung der Auswirkungen von Softwarefehlern in einem verteilten Echtzeitsystem in dem mehrere verteilte Anwendungssysteme gleichzeitig exekutiert werden, wobei jedes Anwendungssystem eine abgekapselte Software-Fault-Containment-Unit (SWFCU) bildet, wobei eine SWFCU die Software eines verteilten Anwendungssystems umfasst, die auf einem oder mehreren virtuellen Rechnerknoten und einem oder mehreren dedizierten Rechnerknoten (230, 233) exekutiert wird und die über einen oder mehrere abgekapselte virtuelle Kommunikationssysteme, wobei ein Kommunikationssystem aus den Kommunikationskontrollern (213, 223), den Vermittlungseinheiten (250) und den physikalischen Verbindungen (253, 256) besteht, Nachrichten austauschen, und wo die unmittelbaren Auswirkungen eines Softwarefehler einer SWFCU auf die SWFCU beschränkt bleiben.

Description

österreichisches Patentamt AT512 665B1 2013-12-15
Beschreibung VERFAHREN UND APPARAT ZUR BILDUNG VON SOFTWARE FAULT-CONTAINMENT UNITS (SWFCUS) IN EINEM VERTEILTEN ECHTZEITSYSTEM.
ZITIERTE LITERATUR PATENTE: [0001] [1] US Pat. 4,949,254. Shorter. Method to manage concurrent execution of a distributed application program by a host Computer and a large plurality of intelligent work stations on an SNA network. Granted August 14, 1990 SONSTIGE: [0002] [2] Klein, G. et al..(2009). Formal Verification of an OS Kernel. Proc. Of the ACM Sl-GOPS 22nd Symposium on Operating System Principles. ACM Press.
[0003] [3] Peripheral Component Interconnect (PCI) Standard, Wikipedia. Accessed March 3, 2012.
[0004] [4] Kopetz, H. Real-Time Systems, Design Principles for Distributed Embedded Applications. Springer Verlag. 2011.
[0005] [5] SAE Standard von TTEthernet. URL: http://standards.sae.org/as6802 [0006] [6] ARINC 653P1-3 Avionics Application Software Standard Interface, Part 1, Required
Services: https://www.arinc.com/cf/störe/catalog_detail.cfm?item_id=1487, 653P2-1 Avionics Application Software Standard Interface, Part 2 - Extended Services: https://www.arinc.com/cf/store/catalog_detailxfm?item_id=1072
TECHNISCHES UMFELD
[0007] Die vorliegende Erfindung liegt im Bereich der Computertechnik. Sie beschreibt ein innovatives Verfahren und die unterstützende Hardware, wie in einem verteilten Echtzeitcomputersystem Software Fault Containment Units (SWFCU) gebildet werden können, um die Folgen von auftretenden Softwarefehlern auf klar abgegrenzte Bereiche einzugrenzen.
KURZE BESCHREIBUNG DER ERFINDUNG
[0008] In vielen Echtzeitanwendungen müssen Aufgaben von unterschiedlicher Kritikalität durchgeführt werden. In einer federated Computer Architektur wird jede dieser Aufgaben auf einem verteilten Hardwaresystem mit dedizierten Rechnerknoten und einem eigenen Kommunikationssystemen gelöst, um zu verhindern, dass Fehler von einem System einer unteren Kritika-litätsklasse ein System einer höheren Kritikalitätsklasse beeinflussen können. Dieser Lösungsansatz führt zu einer Vielzahl von Rechnern, einem hohen Verkabelungsaufwand für die Kommunikation und damit zu hohen Kosten.
[0009] Aus dem Dokument WO 2011/003121 A1 ist ein Verfahren zur Fehlererkennung in einem System-on-Chip bekannt geworden. In einer Veröffentlichung von Obermaisser, R. mit dem Titel "Fault and Error Containment of Gateways in Distributed Real-Time Systems" im Journal of Software, Vol 4, No 7 (2009) sind Gateways beschrieben, die eine Verbreitung von Fehlern zwischen Clustern verhindern. Des Weiteren sind Informationen zu Echtzeitsystemen aus dem Buch von Hermann Kopetz mit dem Titel ,"Real-Time Systems - Design Principles for Distributed Embedded Applications"; Springer Verlag, 2011; bekannt. Eine weitere Veröffentlichung von Obermaisser, R. vom Juli 2007 mit dem Titel "Detection of Out-of-Norm Behaviors in Event-Triggered Virtual Networks" zeigt eine „DECOS"-Systemarchitektur, in welcher zeitgesteuerte und eventgesteuerte Regelungsmechanismen beschrieben werden. Die Druckschrift WO 1994/06080 A1 beschreibt eine Kommunikationskontrolleinheit und ein Verfahren zur 1 /6 österreichisches Patentamt AT512 665 B1 2013-12-15 Übermittlung von Nachrichten innerhalb einer verteilten Echtzeit- Computerarchitektur.
[0010] Die aufgrund der höheren Integrationsdichte zunehmende Leistungssteigerung der Rechnerhardware ermöglicht es - aus der Sicht der Performanz - viele Anwendungssysteme unterschiedlicher Kritikalität auf einem einzigen leistungsfähigen verteilten Computersystem zu integrieren. Dies ist jedoch nur machbar, wenn durch die Systemarchitektur und die zertifizierte System Software die Anwendungssoftware eines verteilten Anwendungssystems so abgekapselt werden kann, dass gewährleistet ist, dass ein beliebiger Softwarefehler in einem Anwendungssystem die Funktionalität eines anderen Anwendungssystems weder im Zeitbereich noch im Wertebereich beeinflussen kann.
[0011] Die vorliegende Erfindung legt ein neues Verfahren offen, wie eine räumliche und zeitliche Abkapselung eines verteilten Anwendungssystems innerhalb eines verteilten Computersystems realisiert werden kann, sodass auf einem einzigen verteilten Computersystem mehrere verteilte Anwendungssysteme von unterschiedlicher Kritikalität integriert werden können.
[0012] Wenn mehrere Anwendungssysteme auf einer verteilten Computerarchitektur realisiert werden, so ist es zweckmäßig, zwischen folgenden Arten von Rechnerknoten zu unterscheiden: Ein physikalischer Rechnerknoten ist ein Computer mit CPU, Speicher und Kommunikationsinterface, z.B. ein Personal Computer. Ein shared Rechnerknoten ist ein physikalischer Rechnerknoten, auf dem mehrere Anwendungssysteme realisiert sind, z.B. ein Personal Computer auf dem mittels eines Hypervisors oder eines entsprechenden partitionierten Betriebssystems, wie z.B. vom ARINC 653 Standard definiert [6], mehrere virtuelle Maschinen installiert sind. Der Hypervisor kapselt die virtuellen Maschinen räumlich und zeitlich voneinander ab. Ein virtueller Rechnerknoten ist eine der virtuellen Maschinen eines shared Rechnerknotens einschließlich des dazugehörigen Kommunikationskontrollers, der die Nachrichten der virtuellen Maschinen abkapselt. Ein dedizierter Rechnerknoten ist ein physikalischer Rechnerknoten (einschließlich des Kommunikationskontrollers) auf dem nur ein einziges Anwendungssystem realisiert ist.
[0013] Ein physikalisches Kommunikationssystem ermöglicht den Nachrichtentransport zwischen den Kommunikationskontrollern der physikalischen Rechnerknoten. Ein physikalisches Kommunikationssystem besteht aus den in den Rechnern installierten Kommunikationskontrollern, den physikalischen Leitungen und den Vermittlungseinheiten. Auf einem physikalischen Kommunikationssystem können mittels Zeitsteuerung eine Anzahl von Partitions, d.s. virtuelle Kommunikationssysteme, eingerichtet werden. Eine Partition ist aktiv, wenn sie Nachrichten versendet. Wenn innerhalb eines gegebenen Zeitintervalls mehrere Partitions aktiv sind, so regelt das physikalische Kommunikationssystem welche Nachrichten welcher Partitions auf den physikalischen Leitungen zu welchen Zeitpunkten versendet werden.
[0014] Eine Partition ist abgekapselt, wenn die zeitlichen Garantien in Bezug auf das Kommunikationsverhalten einer Partition von dem Verhalten der anderen gleichzeitig aktiven Partitions nicht beeinflusst werden kann. Abgekapselte Partitions sind vorhanden, wenn das physikalisches Kommunikationssystem als zeitgesteuertes Kommunikationssystem realisiert ist. Da in einem zeitgesteuerten Kommunikationssystem die periodischen Zeitschlitze zur Übertragung der Daten und damit die Bandbreiten a priori den einzelnen Teilnehmern zugeordnet werden, ist eine wechselseitige zeitliche Beeinflussung der auf einem physikalischen Kommunikationssystem eingerichteten Partitions ausgeschlossen.
[0015] Nachrichten werden vordefinierten so genannten Virtual links zugeordnet, wobei Virtual link <identifier> den Namen des Virtual links angibt. Virtual links haben genau einen vordefinierten Sender und eine vordefinierte Gruppe an Empfängern. Nachrichten können entweder time-triggered, rate-constrained, oder nach dem best-effort Prinzip übertragen werden. Time-triggered bedeutet, dass die Nachrichten zu vordefinierten Zeitpunkten anhand einer synchronisierten Zeitbasis versendet werden. Rate-constrained bedeutet, dass zwischen zwei Nachrichten eines virtual links ein vordefinierter Mindestabstand eingehalten wird. Best-effort bedeutet, dass die Übertragung von Nachrichten nicht garantiert wird [4], [0016] In einer Partition können Nachrichten von einem oder mehreren virtual links gesendet 2/6 österreichisches Patentamt AT512 665 B1 2013-12-15 werden. Entsprechend der Art der Kommunikation der Nachrichten sprechen wir von time-triggered Partition, rate-constrained Partition, oder best-effort Partition. Außerdem sind Partiti-ons möglich, die Nachrichten nach unterschiedlichen Prinzipien verschicken; solche Partitions werden mixed Partitions genannt. Im folgenden wird ein identifizierter Kommunikationskanal im Kommunikationssystem wie folgt benannt: virtual link <identifier>, wobei <identifier> den Namen des virtual links angibt. In einer Partition können mehrere virtual links gleichzeitig aktiv sein.
[0017] Ein physikalisches Kommunikationssystem, das als zeitgesteuertes Kommunikationssystem realisiert ist und in dem eine oder mehrere rate-constrained Partitions und/oder best-effort Partitions und/oder mixed Partitions aktiv sind, weist nicht jeder einzelnen Nachricht der rate-constrained/best-effort/mixed Partition einen Zeitschlitz zu, sondern nur einen Zeitschlitz für die Summe aller Nachrichten der entsprechenden Partition. Damit wird gewährleistet dass sich Nachrichten unterschiedlicher Partitions zeitlich nicht beeinflussen können.
[0018] Im Bereich der Computerzuverlässigkeit hat der Begriff einer Fault-Containment Unit (FCU) eine zentrale Bedeutung [4, S. 136]. Unter einer FCU wird eine abgekapselte Gesamtheit von Subsystemen verstanden, wobei die unmittelbaren Auswirkungen einer Fehlerursache in einem Subsystem der Gesamtheit auf die spezifizierte Gesamtheit eingegrenzt sind. Ein Anwendungssystem bildet eine solche Gesamtheit, die aus folgenden Subsystemen bestehen kann: (i) der Software die auf einem oder mehreren virtuelle Rechnerknoten abläuft, (ii) der Software die auf einem oder mehreren dedizierten Rechnerknoten abläuft und (iii) ein oder mehrere abgekapselte virtuelle Kommunikationssysteme, die den Nachrichtentransport zwischen den virtuellen und dedizierten Rechnerknoten des Anwendungssystems vornehmen. Wir bezeichnen eine abgekapselte Gesamtheit der Software eines verteilten Anwendungssystems, die auf einem oder mehreren virtuellen Rechnerknoten und einem oder mehreren dedizierten Rechnerknoten exekutiert wird, und wo die unmittelbaren Auswirkungen eines Softwarefehlers dieser Gesamtheit abgekapselt sind eine Software Fault-Containment Unit (SWFCU). Die unmittelbaren Folgen eines Fehler einer SWFCU sind somit auf diese SWFCU eingegrenzt und können eine andere im verteilten Echtzeitsystem realisierte SWFCU weder im Wertebereich noch im Zeitbereich beeinflussen. Wenn in einem integrierten verteilten Echtzeitsystem jedes Anwendungssystem eine eigene verteilte SWFCU bildet, so kann die wechselseitige Beeinflussung der Anwendungssysteme durch Softwarefehler in den Anwendungssystemen ausgeschlossen werden.
ZUSAMMENFASSUNG
[0019] Die vorliegende Erfindung legt ein innovatives Verfahren offen, wie in einem verteilten Echtzeitsystem verteilte Software-Fault-Containment Units (SWFCUs) gebildet werden können. Es wird vorgeschlagen, dass jedes der auf einem verteilten Echtzeitsystem realisierten Anwendungssysteme eine eigene SWFCU bildet. Somit wird gewährleistet, dass ein Softwarefehler in einer SWFCU die richtige Funktion der anderen SWFCUs nicht beeinflussen kann.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
[0020] Die vorliegende Erfindung wird an Hand der folgenden Zeichnungen genau erklärt.
[0021] Fig. 1 zeigt einen physikalischen Rechnerknoten auf dem drei virtuelle Rechnerkno ten realisiert sind.
[0022] Fig. 2 zeigt ein SWFCU bestehend aus zwei virtuellen Rechnerknoten, einem virtuel len Kommunikationssystem und zwei dedizierten Rechnerknoten.
BESCHREIBUNG EINER REALISIERUNG
[0023] Das folgende konkrete Beispiel behandelt eine der vielen möglichen Realisierungen des neuen Verfahrens.
[0024] In Fig. 1 ist ein physikalischer Rechnerknoten dargestellt, auf dem drei virtuelle Maschinen 101,102, und 103 realisiert sind. Ein dedizierter Speicherbereich 111 der virtuellen Maschi- 3/6 österreichisches Patentamt AT512 665 B1 2013-12-15 ne 101 kann sowohl von der virtuellen Maschine 101 wie auch von dem Kommunikationskontroller 120 angesprochen werden. Dieser dedizierte Speicherbereich 111 ist der Endpunkt eines virtuellen Kommunikationskanals, der auf dem physikalischen Kommunikationskanal 130 realisiert ist. Auf dem physikalischen Kommunikationskanal 130 können durch Zeitsteuerung mehrere zeitlich abgekapselte virtuelle Kommunikationskanäle eingerichtet werden. Der Kommunikationskontroller 120 bildet die räumliche abgekapseltes Daten, die im Speicherbereich 111 liegen in eine zeitlich zugeordnete abgekapselte Nachricht ab (und umgekehrt). Der Kommunikationskontroller 120 stellt die drei abgekapselten Partitionen 111, 112, und 113 zur Verfügung, wobei je eine Partition einer der drei durch den Hypervisor verwalteten Virtual Machines (VM) 101, 102, und 103 exklusiv zugeordnet ist.
[0025] Die Speicherbereiche 111, 112, und 113 die den virtuellen Maschinen 101,102, und 103 zugeordnet sind bilden die Endpunkte dieser virtuellen Kommunikationssysteme. Vor Systemstart müssen mittels der zertifizierten Systemsoftware (ZSW) die Parameter der virtuellen Maschinen 101, 102, und 103 und des physikalischen Kommunikationskontrollers 120 so gesetzt werden, dass die Software einer virtuellen Maschine keine Zugriffsrechte auf die Speicherbereiche der anderen virtuellen Maschine erhält, und dass zeitgesteuerten Nachrichten, die auf dem physikalischen Kommunikationskanal 130 transportiert werden, den entsprechenden Speicherbereichen 111,112, und 113 der virtuellen Maschinen 101, 102, und 103 zugeordnet werden. Die Methodik des Aufbaus von virtuellen Maschinen durch Hypervisor wurde bereits in [1] offengelegt. In der Zwischenzeit gibt es Methoden die es ermöglichen, die Korrektheit der Software eines Hypervisors formal nachzuweisen [2]. Die Schnittstelle des Kommunikationskontrollers 120 zur CPU und/oder Speichers des physikalischen Rechnerknoten kann entsprechend dem PCI Standard [3] ausgelegt sein. Die Schnittstelle des Kommunikationskontrollers 120 zum zeitgesteuerten Kommunikationssystem 130 kann entsprechend dem TTEthernet Standard [5] ausgelegt sein.
[0026] Fig. 2 zeigt ein verteiltes Echtzeitsystem bestehend aus zwei physikalischen Knotenrechnern 210 und 220, einer Vermittlungseinheit 250 und vier dedizierte Knotenrechner 230, 231, 232, und 233, wobei die Knotenrechner 231 und 232 über je eine Verbindung 255 bzw. 254 mit der Vermittlungseinheit verbunden sind. In diesem Echtzeitsystem gibt es mehrere Software Fault-Containment Units (SWFCUs). Die stark umrandeten Teile von Fig. 1 bilden eine dieser SWFCUs. Diese ausgewählte SWFCU umfasst die virtuellen Maschine 211, den Kommunikationskontroller 213 und den dazwischen liegenden gemeinsamen Speicher 212, den Kommunikationskanal 251 zur Vermittlungseinheit 250, die virtuellen Maschine 221, den Kommunikationskontroller 223 und den dazwischen liegenden gemeinsamen Speicher 222, den Kommunikationskanal 252 zur Vermittlungseinheit 250, sowie den dedizierten Rechnerknoten 230 mit dem Sensor 215 und den dedizierten Rechnerknoten 233 mit dem Aktuator 216 einschließlich die entsprechenden Verbindungen 256 und 253 zur Vermittlungseinheit 250. Die beiden Hypervisor in den physikalischen Rechnerknoten 210 und 220, die Kommunikationskontroller 213 und 223 sowie das Kommunikationsprotokoll in der Vermittlungseinheit 250 verhindern dass ein Softwarefehler außerhalb dieser SWFCU die Funktionsweise dieser SWFCU beeinflussen kann. In der Vermittlungseinheit 250 kann das TTEthernet Protokoll [5] zur Abkapselung der Kommunikation dieser SWFCU eingesetzt werden. Dieses Protokoll unterstützt eine deterministische zeitgesteuerte Kommunikation, sowie eine rate-constrained Kommunikation und eine best effort ereignisgesteuerte Kommunikation. Alternativ kann auch ein anderes Protokoll, das die Kommunikationskanäle zeitlich abkapselt in der Vermittlungseinheit 250 eingesetzt werden.
[0027] Die Kommunikation zwischen unterschiedlichen SWFCUs die auf einem verteilten Echtzeitsystem realisiert sind, soll über Nachrichten erfolgen, wobei es von Vorteil ist, wenn diese Nachrichten von einem unabhängigen Monitor beobachtet werden können. Dies lässt sich erreichen, wenn die Vermittlungseinheit 250 eine Multicast Kommunikation unterstützt. 4/6

Claims (10)

  1. österreichisches Patentamt AT512 665 B1 2013-12-15 Patentansprüche 1. Verfahren zur Eingrenzung der Auswirkungen von Softwarefehlern in einem verteilten Echtzeitsystem in dem mehrere verteilte Anwendungssysteme gleichzeitig exekutiert werden, dadurch gekennzeichnet, dass jedes Anwendungssystem eine abgekapselte Soft-ware-Fault-Containment-Unit (SWFCU) bildet, wobei eine SWFCU die Software eines verteilten Anwendungssystems umfasst, die auf einem oder mehreren virtuellen Rechnerknoten und einem oder mehreren dedizierten Rechnerknoten (230, 233) exekutiert wird und die über einen oder mehrere abgekapselte virtuelle Kommunikationssysteme, wobei ein Kommunikationssystem aus den Kommunikationskontrollern (213, 223), den Vermittlungseinheiten (250) und den physikalischen Verbindungen (253, 256) besteht, Nachrichten aus-tauschen, und wo die unmittelbaren Auswirkungen eines Softwarefehler einer SWFCU auf die SWFCU beschränkt bleiben.
  2. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass ein virtueller Rechnerknoten aus einer auf einem Computer durch einen Hypervisor verwalteten Virtual Machine (VM) und einem der VM exklusiv zugeordneten abgekapselten Partition (111) eines Kommunikationskontrollers besteht.
  3. 3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass der Kommunikationskontroller (120) die in der Partition (111) räumlich abgekapselten Ausgangsdaten in eine zugeordnete zeitlich abgekapselte Nachricht umsetzt und den Inhalt einer eintreffenden zeitlich abgekapselten Nachricht in einen der Nachricht zugeordneten räumlich abgekapselten Speicherbereich legt.
  4. 4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass virtual link Identifier genutzt werden, um die Zuordnung zwischen zeitlich abgekapselten Nachrichten und zugeordneten abgekapselten Partitions eines Kommunikationskontrollers herzustellen.
  5. 5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass in einem zeitgesteuerten Kommunikationssystem ein Zeitschlitz für die Summe aller Nachrichten (time-triggered, rate constrainted, best effort) einer mixed Partition vorgesehen wird.
  6. 6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass unterschiedliche SWFCUs ausschließlich über Nachrichten kommunizieren.
  7. 7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass die Vermittlungseinheit (250) eine Multicast Kommunikation unterstützt, so dass die Nachrichten, die zwischen den SWFCUs ausgetauscht werden, von einer unabhängigen Monitorkomponente beobachtet werden können.
  8. 8. Kommunikationskontroller für einen physikalischen Rechnerknoten zum Durchführen eines Verfahrens nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass der Kommunikationskontroller die im Speicherbereich einer virtuellen Maschine räumlich abgekapselten Ausgangsdaten in eine zugeordnete zeitlich abgekapselte Nachricht umsetzt und die in einer zeitgesteuerten Nachricht eintreffenden Daten in einen zugeordneten räumlich abgekapselten Speicherbereich einer virtuellen Maschine ablegt.
  9. 9. Kommunikationskontroller für einen Personal Computer zum Durchführen eines Verfahrens nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass der Kommunikationskontroller den PCI Schnittstellenstandard unterstützt und die in einer zeitgesteuerten Nachricht eintreffenden Daten in einem zugeordneten räumlich abgekapselten Speicherbereich einer virtuellen Maschine abgelegt werden.
  10. 10. Kommunikationskontroller für einen Personal Computer nach Anspruch 8 oder 9, dadurch gekennzeichnet, dass der Kommunikationskontroller den TTEthernet Standard unterstützt. Hierzu 1 Blatt Zeichnungen 5/6
ATA342/2012A 2012-03-20 2012-03-20 Verfahren und Apparat zur Bildung von Software Fault Containment Units in einem verteilten Echtzeitsystem AT512665B1 (de)

Priority Applications (6)

Application Number Priority Date Filing Date Title
ATA342/2012A AT512665B1 (de) 2012-03-20 2012-03-20 Verfahren und Apparat zur Bildung von Software Fault Containment Units in einem verteilten Echtzeitsystem
US14/379,728 US20150039929A1 (en) 2012-03-20 2013-03-19 Method and Apparatus for Forming Software Fault Containment Units (SWFCUS) in a Distributed Real-Time System
JP2015500711A JP2015517140A (ja) 2012-03-20 2013-03-19 分散リアルタイムシステムにおけるソフトウェア故障封じ込めユニット(SWFCUs)を形成するための方法および装置
CN201380012025.7A CN104145248A (zh) 2012-03-20 2013-03-19 用于在分布式实时系统形成软件故障包容单元的方法和设备
EP13716172.5A EP2801030A1 (de) 2012-03-20 2013-03-19 Verfahren und apparat zur bildung von software fault-containment units (swfcus) in einem verteilten echtzeitsystem
PCT/AT2013/050068 WO2013138833A1 (de) 2012-03-20 2013-03-19 Verfahren und apparat zur bildung von software fault-containment units (swfcus) in einem verteilten echtzeitsystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ATA342/2012A AT512665B1 (de) 2012-03-20 2012-03-20 Verfahren und Apparat zur Bildung von Software Fault Containment Units in einem verteilten Echtzeitsystem

Publications (2)

Publication Number Publication Date
AT512665A1 AT512665A1 (de) 2013-10-15
AT512665B1 true AT512665B1 (de) 2013-12-15

Family

ID=48095449

Family Applications (1)

Application Number Title Priority Date Filing Date
ATA342/2012A AT512665B1 (de) 2012-03-20 2012-03-20 Verfahren und Apparat zur Bildung von Software Fault Containment Units in einem verteilten Echtzeitsystem

Country Status (6)

Country Link
US (1) US20150039929A1 (de)
EP (1) EP2801030A1 (de)
JP (1) JP2015517140A (de)
CN (1) CN104145248A (de)
AT (1) AT512665B1 (de)
WO (1) WO2013138833A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3189436B1 (de) * 2014-09-05 2018-07-18 FTS Computertechnik GmbH Computersystem und verfahren für sicherheitskritische anwendungen
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
US10324797B2 (en) 2016-02-26 2019-06-18 Tttech Auto Ag Fault-tolerant system architecture for the control of a physical system, in particular a machine or a motor vehicle
US11687400B2 (en) * 2018-12-12 2023-06-27 Insitu Inc., A Subsidiary Of The Boeing Company Method and system for controlling auxiliary systems of unmanned system
EP3816741B1 (de) * 2019-10-31 2023-11-29 TTTech Auto AG Sicherheitsmonitor für erweiterte fahrerassistenzsysteme

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3268456B2 (ja) * 1992-09-04 2002-03-25 フォールト トレラント システムズ エフテーエス−コンピュータ テクニク ゲセムベーハー 通信制御装置及び情報伝達方法
US6075938A (en) * 1997-06-10 2000-06-13 The Board Of Trustees Of The Leland Stanford Junior University Virtual machine monitors for scalable multiprocessors
AT408382B (de) * 2000-03-02 2001-11-26 Fts Computertechnik Gmbh Rechnerknotenarchitektur mit dediziertem middleware computer
AT410490B (de) * 2000-10-10 2003-05-26 Fts Computertechnik Gmbh Verfahren zur tolerierung von ''slightly-off- specification'' fehlern in einem verteilten fehlertoleranten echtzeitcomputersystem
US7134050B2 (en) * 2003-08-15 2006-11-07 Hewlett-Packard Development Company, L.P. Method and system for containing software faults
US8396934B2 (en) * 2007-04-11 2013-03-12 Tttech Computertechnik Aktiengesellschaft Communication method and apparatus for the efficient and reliable transmission of TT ethernet messages
JP5381194B2 (ja) * 2009-03-16 2014-01-08 富士通株式会社 通信プログラム、中継ノード、および通信方法
EP2452264A1 (de) * 2009-07-09 2012-05-16 FTS Computertechnik GmbH System-on-chip fehlererkennung
US8589947B2 (en) * 2010-05-11 2013-11-19 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for application fault containment
US8908675B2 (en) * 2012-01-13 2014-12-09 Honeywell International Inc. Virtual pairing for consistent data broadcast

Also Published As

Publication number Publication date
WO2013138833A1 (de) 2013-09-26
AT512665A1 (de) 2013-10-15
CN104145248A (zh) 2014-11-12
EP2801030A1 (de) 2014-11-12
JP2015517140A (ja) 2015-06-18
US20150039929A1 (en) 2015-02-05

Similar Documents

Publication Publication Date Title
DE102012212511B4 (de) Betriebsverfahren eines Datenverarbeitungssystems, Datenverarbeitungsvorrichtung und Computerprogrammprodukt zum Bereitstellen einer Checkpoint-basierten Hochverfügbarkeit mit Netzwerkpaketpufferung in der Hardware
DE112013003180B4 (de) Verfahren, Zonenserver und Speichermedium zum Verwalten von Server-Hardware-Ressourcen in einer Cloud-Datenzentrum-Umgebung
DE602004004942T2 (de) Virtuelle Netzwerkadressen
DE112012001198B4 (de) Verfahren zum Bereitstellen ortsunabhängigen Anschlussspiegelns auf verteilten virtuellen Switches
DE102022114301A1 (de) Software-definiertes prozesssteuerungssystem für industrielle prozessanlagen
DE69637142T2 (de) Netzwerkverwaltung mit Erfassung von formatierten Abzugdaten aus einem Fernprozess
DE112011102443T5 (de) Server-Verwaltung unter Verwendung eines Baseboard Management Controllers zum Aufbau eines Drahtlosnetzwerks
DE112013000506B4 (de) Verwaltungsprotokoll für verteilte Strukturen
DE112012002404B4 (de) Konfiguration und Management virtueller Netzwerke
AT512665B1 (de) Verfahren und Apparat zur Bildung von Software Fault Containment Units in einem verteilten Echtzeitsystem
EP4176545B1 (de) Verfahren und system zur bereitstellung von zeitkritischen diensten
DE112011101705T5 (de) Migrieren virtueller Maschinen zwischen vernetzten Servern nach Erkennung der Verschlechterung der Funktion der Netzwerkverbindung
DE102015004128A1 (de) Verfahren und System zum Testen cloud-basierter Anwendungen und Dienste in einer Produktionsumgebung unter Verwendung von getrennten Back-End-Systemen
EP3211533A1 (de) Fehlertolerante systemarchitektur zur steuerung einer physikalischen anlage, insbesondere einer maschine oder eines kraftfahrzeugs
EP3843332A1 (de) Verfahren zur überwachung von datenverkehr in einem kommunikationsnetz und zugriffssteuerungssystem
DE102016204030A1 (de) Controller und Verfahren zum Migrieren von RDMA-Arbeitsspeicherzuordnungen einer virtuellen Maschine
DE112016004319T5 (de) Technologien zur Schätzung der Netzwerkpaketumlaufzeit
DE102013209306A1 (de) Bereitstellen von Echtzeit-Interrupts über Ethernet
DE112016005840B4 (de) Drahtloses kommunikationsgerät, drahtloses kommunikationsverfahren und programm für drahtlose kommunikation
DE112014004208T5 (de) Integrationsverfahren und -System
DE112008004245T5 (de) Kommunikationsverwaltungsvorrichtung, Kommunikationsvorrichtung und Kommunikationsverfahren
DE112022003383T5 (de) Hierarchisches verbindungsnetzwerk auf ringgrundlage für symmetrische mehrprozessoren
DE112012004554B4 (de) Serielle Verarbeitung des Zugriffs auf Daten bei Datenverarbeitungsumgebungen mitmehreren Grossrechnern
CN112929206B (zh) 一种云网环境下云物理机配置的方法与装置
DE102012218945B4 (de) Zugriffssteuerung in einer hybriden Umgebung

Legal Events

Date Code Title Description
PC Change of the owner

Owner name: TTTECH COMPUTERTECHNIK AG, AT

Effective date: 20180926

MM01 Lapse because of not paying annual fees

Effective date: 20240320