DE102017207398A1 - Synchronisierung eines redundanten Verarbeitungssystems - Google Patents

Synchronisierung eines redundanten Verarbeitungssystems Download PDF

Info

Publication number
DE102017207398A1
DE102017207398A1 DE102017207398.5A DE102017207398A DE102017207398A1 DE 102017207398 A1 DE102017207398 A1 DE 102017207398A1 DE 102017207398 A DE102017207398 A DE 102017207398A DE 102017207398 A1 DE102017207398 A1 DE 102017207398A1
Authority
DE
Germany
Prior art keywords
processing
methods
processing method
input information
restarted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102017207398.5A
Other languages
English (en)
Inventor
Peter Munk
Rainer Baumgaertner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch 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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102017207398.5A priority Critical patent/DE102017207398A1/de
Priority to CN201880029110.7A priority patent/CN110582751B/zh
Priority to US16/607,467 priority patent/US11354203B2/en
Priority to PCT/EP2018/057115 priority patent/WO2018202356A1/de
Priority to JP2019560366A priority patent/JP7000456B2/ja
Publication of DE102017207398A1 publication Critical patent/DE102017207398A1/de
Pending legal-status Critical Current

Links

Images

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/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • G06F11/184Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/187Voting techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/181Eliminating the failing redundant component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/83Indexing scheme relating to error detection, to error correction, and to monitoring the solution involving signatures

Landscapes

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

Abstract

Ein Verarbeitungssystem umfasst mehrere Verarbeitungseinrichtungen und eine Vergleichseinrichtung. Ein Verfahren zum Steuern des Verarbeitungssystems umfasst Schritte des Verarbeitens gleicher Eingangsinformationen durch die Verarbeitungseinrichtungen mittels zugeordneter Verarbeitungsverfahren; des Bereitstellens einer Kenngröße jedes Verarbeitungsverfahrens, jeweils in Abhängigkeit der erfolgten Verarbeitung; des Vergleichens der Kenngrößen mittels der Vergleichseinrichtung; sowie des Bestimmens eines fehlerhaft arbeitenden Verarbeitungsverfahrens auf der Basis des Vergleichs. Dabei wird das fehlerhaft arbeitende Verarbeitungsverfahren durch ein auf der gleichen Verarbeitungseinrichtung neu gestartetes Verarbeitungsverfahren ersetzt.

Description

  • Die Erfindung betrifft ein redundantes Verarbeitungssystem mit mehreren Verarbeitungseinrichtungen. Insbesondere betrifft die Erfindung ein Verarbeitungssystem an Bord eines Kraftfahrzeugs.
  • Stand der Technik
  • Ein sicherheitskritischer Vorgang, beispielsweise die Steuerung eines Fahrzeugs, kann mittels mehrerer parallel arbeitender Verarbeitungseinrichtungen durchgeführt werden. Jeder Verarbeitungseinrichtung werden die gleichen Eingangsinformationen zur Verfügung gestellt und die Verarbeitung der Informationen erfolgt auf die gleiche Weise. Ergebnisse der Verarbeitungseinrichtungen können miteinander verglichen werden, um zu bestimmen, ob eine der Verarbeitungseinrichtungen fehlerhaft arbeitet. Diese Aufgabe wird üblicherweise durch eine Vorrichtung durchgeführt, die verschieden von den Verarbeitungseinrichtungen ist. Eine als fehlerhaft bestimmte Verarbeitungseinrichtung kann deaktiviert werden, um verarbeitete Informationen nicht zu kompromittieren. Die Verarbeitungseinrichtung kann wieder in Betrieb genommen werden, wenn alle Verarbeitungseinrichtungen neu gestartet werden. Ein Neustart erfolgt üblicherweise zwischen dem Anhalten und dem erneuten Inbetriebsetzen des Fahrzeugs.
  • DE 10 2005 037 245 A1 betrifft ein Verfahren und eine Vorrichtung zur Steuerung eines Rechnersystems mit wenigstens zwei Ausführungseinheiten.
  • Diese Herangehensweise wurde verfeinert, indem auf einer Verarbeitungseinrichtung auch mehrere Verfahren gleichzeitig ablaufen können. Mit steigenden Verfügbarkeitsanforderungen stellt sich die Frage, inwieweit ein erkannter Fehler repariert und das Verarbeitungssystem in einen fehlerfreien Systemzustand zurückgeführt werden kann. Das fehlerhaft arbeitende Verarbeitungsverfahren kann auf der Basis eines Systemzustands oder Parametern eines anderen Verarbeitungsverfahrens neu gestartet werden. Dies bedingt jedoch üblicherweise das vollständige Abspeichern des Systemzustands aller Verarbeitungsverfahren mit einer vorbestimmten Häufigkeit. Ist der Systemzustand komplex, umfasst er beispielsweise Eingangsdaten eines zurückliegenden Zeitbereichs und/oder ein Modell für die Verarbeitung der Informationen, so ist eine große Brandbreite erforderlich, um die beschriebenen Informationen von einem Verarbeitungssystem auf ein anderes zu übertragen. Insbesondere bei der Verarbeitung von Videodaten können derart viele Informationen zu übertragen sein, dass das Verarbeitungssystem im Fehlerfall länger als tolerierbar für die Reparatur benötigt.
  • Eine der vorliegenden Erfindung zugrundeliegende Aufgabe besteht daher darin, eine verbesserte Technik anzugeben, mit der ein Verarbeitungssystem, auf dem mehrere Verarbeitungsverfahren ablaufen, im Fehlerfall resynchronisiert werden kann. Die Erfindung löst diese Aufgabe mittels der Gegenstände der unabhängigen Ansprüche. Unteransprüche geben bevorzugte Ausführungsformen wieder.
  • Offenbarung der Erfindung
  • Ein Verarbeitungssystem umfasst mehrere Verarbeitungseinrichtungen und eine Vergleichseinrichtung. Ein Verfahren zum Steuern des Verarbeitungssystems umfasst Schritte des Verarbeitens gleicher Eingangsinformationen durch die Verarbeitungseinrichtungen mittels zugeordneter Verarbeitungsverfahren; des Bereitstellens einer Kenngröße jedes Bearbeitungsverfahrens, jeweils in Abhängigkeit der erfolgten Verarbeitung; des Vergleichens der Kenngrößen mittels der Vergleichseinrichtung; sowie des Bestimmens eines fehlerhaft arbeitenden Verarbeitungsverfahrens auf Basis des Vergleichs. Ein fehlerhaft arbeitendes Verarbeitungsverfahren kann durch ein auf der gleichen Verarbeitungseinrichtung neu gestartetes Verarbeitungsverfahren ersetzt werden.
  • Statt die für eine Ausführung eines Verarbeitungsverfahrens erforderlichen Parameter von einer Verarbeitungseinrichtung auf eine andere zu übertragen, wird vorgeschlagen, auf einer Verarbeitungseinrichtung nebenläufig mehrere Verarbeitungsverfahren zu starten. Das neu gestartete Verarbeitungsverfahren kann auf der Basis der Eingangsinformationen initialisiert werden, sodass beispielsweise ein physikalisches Modell, ein Algorithmus oder ein mathematischer Filter für die beabsichtigte Verarbeitung ausreichend eingeschwungen ist. Dazu kann beispielsweise die Verarbeitung einer vorbestimmten Anzahl von Epochen (Messdatenintervallen) erforderlich sein. Sobald das neu gestartete Verarbeitungsverfahren eingeschwungen ist, kann das auf der gleichen Verarbeitungseinrichtung ablaufende, ursprüngliche Verarbeitungsverfahren eingestellt werden. Das neue Verarbeitungsverfahren kann so das alte ersetzen, sodass die Verarbeitungsvorrichtung unterbrechungsfrei verarbeitete Informationen bereitstellen kann.
  • Zu dieser grundsätzlichen Vorgehensweise werden hier mehrere Varianten vorgestellt. Offensichtliche Abwandlungen dieser Verfahren oder Kombinationen von Merkmalen der Verfahren miteinander sind dabei ausdrücklich von der Erfindung mit umfasst.
  • In einer ersten Variante wird auf jeder Verarbeitungseinrichtung periodisch ein weiteres Verarbeitungsverfahren neu gestartet und mit den Eingangsinformationen initialisiert. Die bestehenden Verarbeitungsverfahren auf allen Verarbeitungseinrichtungen werden durch die weiteren Verarbeitungsverfahren ersetzt. Anders ausgedrückt kann auf jeder Verarbeitungseinrichtung unabhängig von dem Auftreten eines Fehlers ein periodischer Übergang von einem laufenden Verarbeitungsverfahren zu einem neu gestarteten Verarbeitungsverfahren erfolgen. Das weitere Verarbeitungsverfahren wird bevorzugt gestartet, während das originäre Verarbeitungsverfahren noch läuft. Sobald das weitere Verarbeitungsverfahren ausreichend eingeschwungen ist, kann der Übergang vom alten auf das neue Verarbeitungsverfahren erfolgen. Dazu kann das alte Verarbeitungsverfahren abgestellt und von der Verarbeitungseinrichtung entfernt werden.
  • Durch das periodische Neustarten von Verarbeitungsverfahren kann verhindert werden, dass Fehler wie beispielsweise ein Speicherleck größeren Schaden anrichten. Insbesondere können die Verarbeitungsverfahren auf den Verarbeitungseinrichtungen gestaffelt, also zeitlich versetzt neu gestartet werden. Dadurch können Fehler, die die Verarbeitung aller Verarbeitungsverfahren betreffen, zeitlich dekorreliert werden. Die Wahrscheinlichkeit, dass ein Fehler alle beteiligten Verarbeitungsverfahren beziehungsweise Verarbeitungseinrichtungen gleichzeitig betrifft, kann dadurch stark gesenkt werden.
  • In einer zweiten Variante wird ähnlich wie bei der ersten Variante auf jeder Verarbeitungseinrichtung ein weiteres Verarbeitungsverfahren neu gestartet und mit den Eingangsinformationen initialisiert. Nach dem Bestimmen, dass eines der Verarbeitungsverfahren fehlerhaft arbeitet, kann diejenige Verarbeitungseinrichtung, auf der das fehlerhaft arbeitende Verarbeitungsverfahren läuft, rückgesetzt werden (Reset). Alternativ kann auch das Verarbeitungsverfahren beendet und ein neues Verarbeitungsverfahren gestartet und initialisiert werden, ohne dass die Verarbeitungseinrichtung selbst neu gestartet wird. Ein auf der Verarbeitungseinrichtung ablaufendes Betriebssystem kann durchlaufen Die Verarbeitungseinrichtung kann dann erneut in einen betriebsfähigen Zustand hochlaufen (Systemstart, Booten) und anschließend auf dieser Verarbeitungseinrichtung ein Verarbeitungsverfahren neu gestartet und mit den eintreffenden Eingangsinformationen initialisiert werden. Sobald die Initialisierung vollständig ist, können auf den anderen Verarbeitungseinrichtungen die bestehenden Verarbeitungsverfahren durch die weiteren Verarbeitungsverfahren ersetzt werden. Dieser Übergang kann besonders rasch erfolgen, da die weiteren Verarbeitungsverfahren bereits initialisiert sind und unmittelbar verwendet werden können.
  • In einer dritten Variante wird diejenige Verarbeitungseinrichtung, auf der das fehlerhaft arbeitende Verarbeitungsverfahren läuft, zurückgesetzt, wie oben beschrieben wurde. Danach wird auf dieser Verarbeitungseinrichtung ein Verarbeitungsverfahren neu gestartet und mit Eingangsinformationen initialisiert. Auf den anderen Verarbeitungseinrichtungen wird jeweils ein weiteres Verarbeitungsverfahren neu gestartet und ebenfalls mit den Eingangsinformationen initialisiert. Dann werden auf den anderen Verarbeitungseinrichtungen die bestehenden Verarbeitungsverfahren durch die weiteren Verarbeitungsverfahren ersetzt.
  • In dieser Variante werden nichtzyklisch neue Verarbeitungsverfahren gestartet. Erst wenn ein fehlerhaft arbeitendes Verarbeitungsverfahren identifiziert wurde, wird auf den von diesem Fehler nicht betroffenen Verarbeitungseinrichtungen jeweils eine Kopie der laufenden Anwendung angefertigt. Das Wechseln vom alten auf das neue Verarbeitungsverfahren kann gleichzeitig mit dem Starten des initialisierten Verarbeitungsverfahren auf der Verarbeitungseinrichtung erfolgen, auf der zuvor das fehlerhaft arbeitende Verarbeitungsverfahren ablief.
  • Das Verfahren kann in unterschiedlichen Umfeldern und mit unterschiedlichen Techniken angewandt werden. Insbesondere können unterschiedliche Verarbeitungsverfahren auf den Verarbeitungseinrichtungen vorgesehen sein. Es ist jedoch bevorzugt, dass die Verarbeitungsverfahren wenigstens zweier Verarbeitungseinrichtungen gleich sind. Weiter bevorzugt ist, dass die Verarbeitungsverfahren aller Verarbeitungseinrichtungen gleich sind.
  • Zur Bestimmung, welches Verarbeitungsverfahren fehlerhaft arbeitet, sind bevorzugt wenigstens drei Verarbeitungsverfahren vorgesehen. Diese werden weiter bevorzugt auf paarweise voneinander verschiedenen Verarbeitungsvorrichtungen durchgeführt, sodass auch drei Verarbeitungsvorrichtungen erforderlich sind. Ein Verarbeitungsverfahren kann als fehlerhaft arbeitend bestimmt werden, wenn sich seine Kenngröße von den Kenngrößen der anderen Verarbeitungseinrichtungen unterscheidet. Die Kenngrößen der anderen Verarbeitungseinrichtungen stimmen dabei üblicherweise überein. Als Kenngröße kann beispielsweise ein Ausgangswert, ein Zwischenergebnis, eine Zusammenfassung einer Anzahl Parameter (insbesondere eine Signatur, beispielsweise ein Hashwert), ein Speicherabzug, ein Parameter- oder Variablensatz oder eine andere Information verwendet werden. Es ist bevorzugt, dass die Kenngröße derart bestimmt wird, dass sie sich ändert, wenn sich das Verarbeitungsverfahren ändert, beispielsweise aufgrund eines geänderten Modells, eines Speicherfehlers, eines unvorhergesehenen Ereignisses oder eines technischen Fehlers im Bereich der zugrundeliegenden Verarbeitungseinrichtung. Es ist weiterhin bevorzugt, dass die Kenngröße so bestimmt ist, dass sie leicht und möglichst ohne die Verarbeitungseinrichtung stark zu belasten bestimmt werden kann. Die Kenngröße sollte vorteilhaft auch geringen Umfang haben, um eine Übertragung zur Vergleichseinrichtung und eine dortige Auswertung zu erleichtern.
  • Ein Computerprogrammprodukt umfasst Programmcodemittel zur Durchführung des oben beschriebenen Verfahrens, wenn das Computerprogrammprodukt auf einer Verarbeitungseinrichtung abläuft oder auf einem computerlesbaren Datenträger gespeichert ist.
  • Sowohl das Verfahren als auch die genannten Verarbeitungsverfahren können jeweils auf einem programmierbaren Mikrocomputer oder Mikroprozessor ablaufen. Wie unten noch genauer beschriebenen wird, ist insbesondere eine verteilte oder nebenläufige (parallele) Ausführung von Teilen des Verfahrens beziehungsweise Teilen der Verarbeitungsverfahren möglich. Vorzüge oder Merkmale des Verfahrens können auf ein Verarbeitungssystem, wie es unten genauer beschriebenen wird, übertragen werden oder umgekehrt.
  • Ein Verarbeitungssystem umfasst mehrere Verarbeitungseinrichtungen, die dazu eingerichtet sind, die gleichen Eingangsinformationen jeweils mittels eines zugeordneten Verarbeitungsverfahrens zu verarbeiten und in Abhängigkeit der Verarbeitung eine Kenngröße bereitzustellen; eine Vergleichseinrichtung, die dazu eingerichtet ist, die Kenngrößen zu vergleichen und auf der Basis des Vergleichs ein fehlerhaft arbeitendes Verarbeitungsverfahren zu bestimmen. Dabei ist jede Verarbeitungseinrichtung dazu eingerichtet, das auf ihr ablaufende Verarbeitungsverfahren durch ein neu gestartetes Verarbeitungsverfahren zu ersetzen, falls das auf dieser Verarbeitungseinrichtung ablaufende Verarbeitungsverfahren als fehlerhaft arbeitend bestimmt wurde.
  • Jede Verarbeitungseinrichtung kann insbesondere einen programmierbaren Mikrocomputer, einen Mikroprozessor oder einen Verarbeitungskern eines Mikroprozessors umfassen. Die Vergleichseinrichtung kann einen weiteren Mikrocomputer, Mikroprozessor oder Mikrocontroller umfassen.
  • Es ist bevorzugt, dass wenigstens zwei der genannten Verarbeitungseinrichtungen gleich aufgebaut sind. Es ist weiter bevorzugt, dass alle Verarbeitungseinrichtungen gleich aufgebaut sind.
  • Figurenliste
  • Die Erfindung wird nun mit Bezug auf die beigefügten Figuren genauer beschrieben, in denen:
    • 1 ein Verarbeitungssystem;
    • 2 ein Ablaufdiagramm eines ersten Verfahrens;
    • 3 ein Ablaufdiagramm eines zweiten Verfahrens; und
    • 4 ein Ablaufdiagramm eines dritten Verfahrens
    dargestellt sind.
  • 1 zeigt ein Verarbeitungssystem 100, das zur redundanten Verarbeitung von Informationen eingerichtet ist. Das Verarbeitungssystem 100 kann insbesondere echtzeitfähig sein und beispielsweise für die fahrerunabhängige Steuerung eines Kraftfahrzeugs, insbesondere eines Personenkraftwagens, eingerichtet sein. In der beispielhaft dargestellten Ausführungsform umfasst das Verarbeitungssystem 100 eine erste Verarbeitungseinrichtung 105, eine zweite Verarbeitungseinrichtung 110, eine dritte Verarbeitungseinrichtung 115 und eine Vergleichseinrichtung 120. In der dargestellten Ausführungsform sind drei Verarbeitungseinrichtungen 105 bis 115 vorgesehen; in anderen Ausführungsformen können nur zwei oder mehr als drei eingesetzt werden. Jede Verarbeitungseinrichtung wird bevorzugt durch einen programmierbaren Mikrocomputer gebildet. Auf jeder Verarbeitungseinrichtung 105 bis 115 läuft ein zugeordnetes Verarbeitungsverfahren ab. Dabei ist der ersten Verarbeitungseinrichtung 105 ein erstes Verarbeitungsverfahren A1, der zweiten Verarbeitungseinrichtung 110 ein zweites Verarbeitungsverfahren A2 und der dritten Verarbeitungseinrichtung 115 ein drittes Verarbeitungsverfahren A3 zugeordnet. Die Vergleichseinrichtung 120 ist bevorzugt als Mikrocontroller ausgebildet, kann jedoch auch einen Mikrocomputer umfassen. In der dargestellten Ausführungsform läuft auf der Vergleichseinrichtung 120 ein Vergleichsverfahren V ab.
  • Das Verarbeitungssystem 100 ist dazu eingerichtet, Eingangsinformationen 125 zu verarbeiten, die beispielsweise mit einer vorbestimmten Häufigkeit von einer Videokamera 130 bereitgestellt werden können.
  • Vorliegend ist eine Eingangsschnittstelle 135 vorgesehen, über die die Eingangsinformationen 125 an das Verarbeitungssystem 100 übergeben werden können. Nach der Verarbeitung der Eingangsinformationen 125 mittels der Verarbeitungsverfahren A1 bis A3 auf den Verarbeitungseinrichtungen 105 bis 115 kann ein Verarbeitungsergebnis über eine Ausgangsschnittstelle 140 bereitgestellt werden.
  • Um sicherzustellen, dass kein fehlerhaft arbeitendes Verarbeitungsverfahren A1 bis A3 die verarbeitenden Daten kompromittiert, stellt jedes Verarbeitungsverfahren A1 bis A3 beziehungsweise jede Verarbeitungseinrichtung 105 bis 115 ereignisgesteuert oder periodisch eine Kenngröße 145 bereit, die auf die jeweilige Verarbeitung hinweist. Die Vergleichseinrichtung 120 beziehungsweise das Vergleichsverfahren V vergleicht die Kenngrößen 145 miteinander und/oder mit vorbestimmten Werten, um zu bestimmen, ob an einem der Verarbeitungsverfahren A1 bis A3 eine Anomalie vorliegt. Ist dies der Fall, so kann diejenige Verarbeitungseinrichtung 105 bis 115, auf der das als fehlerhaft arbeitende Verarbeitungsverfahren A1 bis A3 bestimmt wurde, mittels eines Signals der Vergleichseinrichtung 120 dazu aufgefordert werden, das Verarbeitungsverfahren A1 bis A3 neu zu starten beziehungsweise durch ein neu gestartetes Verarbeitungsverfahren A1 bis A3 abzulösen oder zu ersetzen. Dazu werden unterschiedliche Varianten vorgeschlagen, die im Folgenden mit Bezug auf die 2 bis 4 genauer ausgeführt wird. Die Vergleichseinrichtung V kann dazu eingerichtet sein, im Fall einer Anomalie eines der Vearbeitungsverfahren A1 bis A3 zu steuern, insbesondere bezüglich einer Auflösung eines Fehlerzustands und/oder ein Verarbeitungsergebnis der Verarbeitungsverfahren A1 bis A3 zu bestimmen oder zu verändern, insbesondere aufgrund einer Mehrheitsentscheidung.
  • Die 2 bis 4 folgen der gleichen Darstellungsweise. In horizontaler Richtung ist eine Zeit t eingetragen, in vertikaler Richtung sind übereinander die Verarbeitungsverfahren A1 bis A3 und das Vergleichsverfahren V als Balken dargestellt. Die dargestellten Balken sind unterbrochen, um anzuzeigen, wann das jeweilige Verfahren A1 bis A3, V abläuft und wann nicht. Die Darstellung erfolgt rein exemplarisch und figurativ. Ein dunkler Balken zeigt jeweils an, dass die zugrundeliegende Verarbeitungseinrichtung 105 bis 115 neu gestartet wird. Dieser Vorgang ist im Zusammenhang mit Computern als Booten bekannt und kann insbesondere ein Laden und Starten eines Betriebssystems auf der jeweiligen Verarbeitungseinrichtung 105 bis 115 umfassen, das die Ausführung der Verfahren A1 bis A3 steuert bzw. ermöglicht.
  • Ein schraffierter Balken zeigt an, dass ein Verarbeitungsverfahren A1 bis A3 initialisiert wird. Das Initialisieren erfordert das Zuführen von Eingangsinformationen 125 über einen gewissen Zeitraum oder eine gewisse Anzahl Messepochen. Auf der Basis der zugeführten Eingangsinformationen 125 werden Filter, Parameter oder ein Modell, die von den Verarbeitungsverfahren A1 bis A3 umfasst sein können, aufgebaut beziehungsweise eingeschwungen. Beispielsweise können die Verarbeitungsverfahren A1 bis A3 ein Kalman-Filter umfassen, das im Wesentlichen rekursiv arbeitet und erst nach einer Anzahl Eingangsinformationen 125 brauchbare Ergebnisse liefert. Ein hell dargestellter Balken stellt einen üblichen Ablauf eines Verarbeitungsverfahrens A1 bis A3 dar. Laufen zu einem Zeitpunkt auf einer Verarbeitungseinrichtung 105 bis 115 mehr als ein Verarbeitungsverfahren A1 bis A3, so wird das zuletzt gestartete Verarbeitungsverfahren mit einem Strich versehen und mit A'1 bis A'3 bezeichnet. Wird anschließend eines der auf der gleichen Verarbeitungseinrichtung 105 bis 115 ablaufenden Verarbeitungsverfahren A1 bis A3 beendet, so wird das verbleibende Verarbeitungsverfahren automatisch ohne Strich mit A1 bis A3 bezeichnet.
  • 2 zeigt ein Ablaufdiagramm eines ersten Verfahrens 200 zum Steuern eines Verarbeitungssystems 100 nach 1. Bevorzugt werden die Verarbeitungs- und Vergleichseinrichtungen 105 bis 120 in einem ersten Schritt 205 neu gestartet (gebootet). Anschließend werden die Verarbeitungsverfahren A1 bis A3 auf den Verarbeitungseinrichtungen 105 bis 115 in einem Schritt 210 initialisiert. Danach erfolgt in einem Schritt 215 ein üblicher Ablauf der Verarbeitungsverfahren A1 bis A3. In einem Schritt 220 werden auf allen Verarbeitungseinrichtungen 105 bis 115 jeweils neue Verarbeitungsverfahren A'1 bis A'3 gestartet, die nebenläufig zu den Verarbeitungsverfahren A1 bis A3 laufen.
  • In einem Schritt 225 werden die neu gestarteten Verarbeitungsverfahren A'1 bis A'3 initialisiert, während gleichzeitig die Verarbeitungsverfahren A1 bis A3 normal laufen und auf der Basis der Eingangsinformationen 125 verarbeitete Informationen bereitstellen. Sind die neuen Verarbeitungsverfahren A'1 bis A'3 vollständig initialisiert, so ersetzen sie in einem Schritt 230 die Verarbeitungsverfahren A1 bis A3. Die neu gestarteten Verarbeitungsverfahren A'1 bis A'3 werden zu den Verarbeitungsverfahren A1 bis A3 und das Verfahren 200 kann im Schritt 215 fortfahren.
  • 3 zeigt ein zweites Verfahren 300 zum Steuern des Verarbeitungssystems 100 von 1. In der Darstellung wird davon ausgegangen, dass die Schritte 205 und 210 bereits durchgeführt sind. Die Darstellung beginnt mit dem Schritt 215, in welchem die Verarbeitungsverfahren A1 bis A3 normal auf den zugeordneten Verarbeitungseinrichtungen 105 bis 115 durchgeführt werden. In einem Schritt 240 werden neue Verarbeitungsverfahren A'1 bis A'3 auf den Verarbeitungseinrichtungen 105 bis 115 zusätzlich zu den bestehenden Verarbeitungsverfahren A1 bis A3 gestartet und in einem nachfolgenden Schritt 245 initialisiert. Die Schritte 240 und 245 entsprechen im Wesentlichen den Schritten 220 und 225 des Verfahrens 200 von 2. Anschließend wird jedoch nicht von den Verarbeitungsverfahren A1 bis A3 auf die neuen Verarbeitungsverfahren A'1 bis A'3 gewechselt, sondern die neu gestarteten Verarbeitungsverfahren A'1 bis A'3 laufen im Hintergrund oder werden ausgesetzt, während in einem Schritt 250 eine normale Verarbeitung entsprechend dem Schritt 215 durchgeführt wird.
  • Wird eine fehlerhafte Ausführungsform 255 bestimmt, in der Darstellung das zweite Verarbeitungsverfahren A2, so wird die zugeordnete Verarbeitungseinrichtung 110 in einem Schritt 260 neu gestartet (vgl. Schritt 205). In einem Schritt 265 wird anschließend ein Verarbeitungsverfahren A'2 auf der neu gestarteten Verarbeitungseinrichtung 110 gestartet und initialisiert. Danach wird in einem Schritt 270 auf den Verarbeitungseinrichtungen 105, 115, die von dem Fehler 255 nicht betroffen waren, jeweils das aktuelle Verarbeitungsverfahren A1, A3 durch das danach gestartete Verarbeitungsverfahren A'1, A'3 ersetzt. Danach kann wieder eine Verarbeitung wie im Schritt 215 erfolgen.
  • 4 zeigt ein Ablaufdiagramm eines dritten Verfahrens 400 zum Steuern des Verarbeitungssystems 100 von 1. Die oben beschriebenen Schritte 205, 210 und 215 werden durchgeführt, bis ein Fehler 255 bestimmt wird, der hier exemplarisch wieder das zweite Verarbeitungsverfahren A2 auf der zweiten Verarbeitungseinrichtung 110 betrifft. In der Folge wird die betroffene zweite Verarbeitungseinrichtung 110 in einem Schritt 260 neu gestartet. In einem Schritt 275 werden dann auf allen Verarbeitungseinrichtungen 105 bis 115 neue Verarbeitungsverfahren A'1 bis A'3 gestartet. Danach kann auf die neu gestarteten Verarbeitungsverfahren A'1 bis A'3 in einem Schritt 270 umgeschaltet werden und der normale Ausführungsbetrieb im Schritt 215 kann wieder aufgenommen werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • DE 102005037245 A1 [0003]

Claims (9)

  1. Verfahren (200, 300, 400) zum Steuern eines Verarbeitungssystems (100) mit mehreren Verarbeitungseinrichtungen (105, 110, 115) und einer Vergleichseinrichtung (120), wobei das Verfahren folgende Schritte umfasst: - Verarbeiten (215) gleicher Eingangsinformationen (125) durch die Verarbeitungseinrichtungen (105-115) mittels zugeordneter Verarbeitungsverfahren (A1, A2, A3); - Bereitstellen einer Kenngröße (145) jedes Verarbeitungsverfahrens (A1-A3), jeweils in Abhängigkeit der erfolgten Verarbeitung; und - Vergleichen der Kenngrößen (145) mittels der Vergleichseinrichtung (120) und Bestimmen eines fehlerhaft arbeitenden Verarbeitungsverfahrens (A1-A3) auf der Basis des Vergleichs; - wobei das fehlerhaft arbeitende Verarbeitungsverfahren (A1-A3) durch ein auf der gleichen Verarbeitungseinrichtung (105-115) neu gestartetes Verarbeitungsverfahren (A'1, A'2, A'3) ersetzt wird.
  2. Verfahren (200) nach Anspruch 1, wobei - auf jeder Verarbeitungseinrichtung (105-115) periodisch ein weiteres Verarbeitungsverfahren (A'1-A'3) neu gestartet und mit den Eingangsinformationen (125) initialisiert (225) wird; - und die bestehenden Verarbeitungsverfahren (A1-A3) auf allen Verarbeitungseinrichtungen (105-115) durch die weiteren Verarbeitungsverfahren (A'1-A'3) ersetzt werden.
  3. Verfahren (300) nach Anspruch 1, wobei - auf jeder Verarbeitungseinrichtung (105-115) ein weiteres Verarbeitungsverfahren (A'1-A'3) neu gestartet und mit den Eingangsinformationen (125) initialisiert wird; - die Verarbeitungseinrichtung (110), auf der das fehlerhaft arbeitende Verarbeitungsverfahren (A2) läuft, rückgesetzt (260) wird; - auf dieser Verarbeitungseinrichtung (110) ein Verarbeitungsverfahren (A'2) neu gestartet und mit Eingangsinformationen (125) initialisiert (265) wird; - und auf den anderen Verarbeitungseinrichtungen (105, 115) die bestehenden Verarbeitungsverfahren (A1, A3) durch die weiteren Verarbeitungsverfahren (A'1, A'3) ersetzt (270) werden.
  4. Verfahren (300) nach Anspruch 1, wobei - die Verarbeitungseinrichtung (110), auf der das fehlerhaft arbeitende Verarbeitungsverfahren (A2) läuft, rückgesetzt wird; - auf dieser Verarbeitungseinrichtung (110) ein Verarbeitungsverfahren (A'2) neu gestartet und mit Eingangsinformationen (125) initialisiert (265) wird; - auf den anderen Verarbeitungseinrichtungen (105, 115) jeweils ein weiteres Verarbeitungsverfahren (A'1, A'3) neu gestartet und mit den Eingangsinformationen (125) initialisiert (275) wird; - und auf den anderen Verarbeitungseinrichtungen (105, 110) die bestehenden Verarbeitungsverfahren (A1, A3) durch die weiteren Verarbeitungsverfahren (A'1, A'3) ersetzt werden.
  5. Verfahren (200, 300, 400) nach einem der vorangehenden Ansprüche, wobei die Verarbeitungsverfahren (A1-A3) wenigstens zweier Verarbeitungseinrichtungen (105-115) gleich sind.
  6. Verfahren (200, 300, 400) nach einem der vorangehenden Ansprüche, wobei wenigstens drei Verarbeitungsverfahren (A1-A3) vorgesehen sind und ein Verarbeitungsverfahren (A1-A3) als fehlerhaft arbeitend bestimmt wird, wenn sich seine Kenngröße (145) von den Kenngrößen (145) der anderen Verarbeitungseinrichtungen (A1-A3) unterscheidet und die anderen Kenngrößen (145) übereinstimmen.
  7. Computerprogrammprodukt mit Programmcodemitteln zur Durchführung des Verfahrens (200, 300, 400) nach einem der vorangehenden Ansprüche, wenn das Computerprogrammprodukt auf einer Verarbeitungseinrichtung (105-115) abläuft oder auf einem computerlesbaren Datenträger gespeichert ist.
  8. Verarbeitungssystem (100), umfassend: - mehrere Verarbeitungseinrichtungen (105-115), die dazu eingerichtet sind, die gleichen Eingangsinformationen (125) jeweils mittels eines zugeordneten Verarbeitungsverfahrens (A1-A3) zu verarbeiten und in Abhängigkeit der Verarbeitung eine Kenngröße (145) bereitzustellen; - eine Vergleichseinrichtung (120), die dazu eingerichtet ist, die Kenngrößen (145) zu vergleichen und auf der Basis des Vergleichs ein fehlerhaft arbeitendes Verarbeitungsverfahren (A1-A3) zu bestimmen; - wobei jede Verarbeitungseinrichtung (105-115) dazu eingerichtet ist, das auf ihr ablaufende Verarbeitungsverfahren (A1-A3) durch ein neu gestartetes Verarbeitungsverfahren (A'1-A'3) zu ersetzen, falls das auf dieser Verarbeitungseinrichtung (105-115) ablaufende Verarbeitungsverfahren (A1-A3) als fehlerhaft arbeitend bestimmt wurde.
  9. Verarbeitungssystem (100) nach Anspruch 8, wobei wenigstens zwei Verarbeitungseinrichtungen (105-115) gleich aufgebaut sind.
DE102017207398.5A 2017-05-03 2017-05-03 Synchronisierung eines redundanten Verarbeitungssystems Pending DE102017207398A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE102017207398.5A DE102017207398A1 (de) 2017-05-03 2017-05-03 Synchronisierung eines redundanten Verarbeitungssystems
CN201880029110.7A CN110582751B (zh) 2017-05-03 2018-03-21 冗余处理***中的错误消除
US16/607,467 US11354203B2 (en) 2017-05-03 2018-03-21 Error correction in a redundant processing system
PCT/EP2018/057115 WO2018202356A1 (de) 2017-05-03 2018-03-21 Fehlerbehebung in einem redundanten verarbeitungssystem
JP2019560366A JP7000456B2 (ja) 2017-05-03 2018-03-21 冗長処理システムにおけるエラー補正

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102017207398.5A DE102017207398A1 (de) 2017-05-03 2017-05-03 Synchronisierung eines redundanten Verarbeitungssystems

Publications (1)

Publication Number Publication Date
DE102017207398A1 true DE102017207398A1 (de) 2018-11-08

Family

ID=61768293

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017207398.5A Pending DE102017207398A1 (de) 2017-05-03 2017-05-03 Synchronisierung eines redundanten Verarbeitungssystems

Country Status (5)

Country Link
US (1) US11354203B2 (de)
JP (1) JP7000456B2 (de)
CN (1) CN110582751B (de)
DE (1) DE102017207398A1 (de)
WO (1) WO2018202356A1 (de)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
JPH03273344A (ja) * 1990-03-22 1991-12-04 Nec Corp フォールトトレラントシステム
US5594915A (en) * 1991-11-13 1997-01-14 Atalla; Martin M. Microcell computer system and method using cell access switch and functionally partitioned moving memory architecture
US6408402B1 (en) * 1994-03-22 2002-06-18 Hyperchip Inc. Efficient direct replacement cell fault tolerant architecture
JP3273344B2 (ja) 1994-07-25 2002-04-08 株式会社生産日本社 合成樹脂製チャック付の袋体
DE102005037245A1 (de) 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Steuerung eines Rechnersystems mit wenigstens zwei Ausführungseinheiten

Also Published As

Publication number Publication date
JP7000456B2 (ja) 2022-01-19
WO2018202356A1 (de) 2018-11-08
CN110582751B (zh) 2024-06-11
US11354203B2 (en) 2022-06-07
CN110582751A (zh) 2019-12-17
JP2020518924A (ja) 2020-06-25
US20200050521A1 (en) 2020-02-13

Similar Documents

Publication Publication Date Title
EP3246771B1 (de) Verfahren zum betreiben eines redundanten automatisierungssystems
DE102012109614B4 (de) Verfahren zum Wiederherstellen von Stapelüberlauf- oder Stapelunterlauffehlern in einer Softwareanwendung
DE112016000992T5 (de) Programmneuschreibvorrichtung und programmneuschreibverfahren
DE102018113295A1 (de) Überwachungsvorrichtung zur Überwachung einer Mikrosteuereinheit mit mehreren Kernen und Verfahren zum Betreiben dieser Vorrichtung
DE102018203280A1 (de) Zustandsdiagnosevorrichtung
WO2017137222A1 (de) Rechner- und funktionsarchitektur zur erhöhung der ausfallsicherheit einer hilfskraftlenkung
DE102015216265A1 (de) Verfahren und Teilsystem zum Installieren eines Softwareupdates in einem Fahrzeug
EP2513796A1 (de) Verfahren zum betreiben einer recheneinheit
DE112006003504T5 (de) Detektion von Cachespeicher-Disassoziierung
DE102015220884A1 (de) Bildverarbeitungsvorrichtung
EP2221697A1 (de) Verfahren zum Test eines Steuergeräts und Testvorrichtung
DE102015207795A1 (de) Verfahren und Vorrichtung zum Aktualisieren von Software in einem Transportmittel
DE102015202326A1 (de) Verfahren zum Betreiben einer Datenverarbeitungseinheit eines Fahrerassistenzsystems und Datenverarbeitungseinheit
DE112016006057T5 (de) Steuerungsvorrichtung und Bearbeitungsvorrichtung
DE102018209108A1 (de) Schnelle Fehleranalyse für technische Vorrichtungen mit maschinellem Lernen
DE102010054041A1 (de) Gewinnungsmethodologie zum Beseitigen eines ungeeigneten Setzens von Defektbedingungen unter Verwendung von Betriebsparametern
WO2017178211A1 (de) Verfahren zum betreiben eines steuergeräts für ein fahrzeug, steuergerät, betriebssystem, kraftfahrzeug
DE102017207398A1 (de) Synchronisierung eines redundanten Verarbeitungssystems
DE102015218898A1 (de) Verfahren zur redundanten Verarbeitung von Daten
DE102004051991A1 (de) Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms
DE102012217312A1 (de) Aktualisierungen von Code in Verarbeitungssystemen
DE102009002898A1 (de) Verfahren zur Aktualisierung eines Steuergeräts eines Fahrzeugs
DE102016224253A1 (de) Verfahren zum Überwachen eines Sensorsystems eines Fahrzeugs und Sensorsystem
DE102017214610A1 (de) Verfahren zum Überprüfen von zumindest einer Fahrzeugfunktion sowie Prüfvorrichtung
DE102015214389A1 (de) Verfahren und Vorrichtung zum Aktualisieren einer auf einer physischen Maschine unter einem Hypervisor betriebenen virtuellen Maschine

Legal Events

Date Code Title Description
R012 Request for examination validly filed