DE102022205517A1 - Methods for processing data - Google Patents

Methods for processing data Download PDF

Info

Publication number
DE102022205517A1
DE102022205517A1 DE102022205517.9A DE102022205517A DE102022205517A1 DE 102022205517 A1 DE102022205517 A1 DE 102022205517A1 DE 102022205517 A DE102022205517 A DE 102022205517A DE 102022205517 A1 DE102022205517 A1 DE 102022205517A1
Authority
DE
Germany
Prior art keywords
data
processing
result data
value
processing path
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
DE102022205517.9A
Other languages
German (de)
Inventor
Jonas Guenther
Bernd Gassmann
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 DE102022205517.9A priority Critical patent/DE102022205517A1/en
Publication of DE102022205517A1 publication Critical patent/DE102022205517A1/en
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

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)

Abstract

Die Erfindung betrifft ein Verfahren zum Verarbeiten von Daten, umfassend die Schritte: Festlegen (204) eines Werts einer Kenngröße, welche eine Anzahl von Fehlern bei der Verarbeitung der Daten charakterisiert; Hinzufügen (206) von Markierungen zu den zu verarbeitenden Daten jeweils nach einer vorgegebenen Anzahl von Datennachrichten der zu verarbeitenden Daten und/oder nach einem vorgegebenen Zeitintervall; Übergeben (207) der zu verarbeitenden Daten an einen ersten Verarbeitungspfad und an einen zweiten Verarbeitungspfad; Verarbeiten (208) jeweils von Daten zwischen zwei hinzugefügten Markierungen in dem ersten Verarbeitungspfad gemäß einem ersten Verarbeitungsschema zu ersten Ergebnisdaten und in dem zweiten Verarbeitungspfad gemäß einem zweiten Verarbeitungsschema zu zweiten Ergebnisdaten; Hinzufügen (209) des festgelegten Werts der Kenngröße zu den ersten Ergebnisdaten und zu den zweiten Ergebnisdaten; Vergleichen (210) der ersten Ergebnisdaten und der zweiten Ergebnisdaten; Bereitstellen (211) der ersten Ergebnisdaten und/oder der zweiten Ergebnisdaten als ein Ergebnis, wenn die ersten Ergebnisdaten und die zweiten Ergebnisdaten einander entsprechen; Verwerfen (214) der ersten Ergebnisdaten und der zweiten Ergebnisdaten und Festlegen (213) eines neuen Werts der Kenngröße, wenn die ersten Ergebnisdaten und die zweiten Ergebnisdaten einander nicht entsprechen.The invention relates to a method for processing data, comprising the steps: determining (204) a value of a parameter which characterizes a number of errors in the processing of the data; adding (206) markings to the data to be processed after a predetermined number of data messages of the data to be processed and/or after a predetermined time interval; Transferring (207) the data to be processed to a first processing path and to a second processing path; processing (208) each of data between two added markers in the first processing path according to a first processing scheme into first result data and in the second processing path according to a second processing scheme into second result data; adding (209) the specified value of the parameter to the first result data and to the second result data; comparing (210) the first result data and the second result data; Providing (211) the first result data and/or the second result data as a result when the first result data and the second result data correspond to each other; Discarding (214) the first result data and the second result data and setting (213) a new value of the parameter if the first result data and the second result data do not correspond to one another.

Description

Die vorliegende Erfindung betrifft ein Verfahren zum Verarbeiten von Daten sowie ein Rechensystem und ein Computerprogramm zu dessen Durchführung.The present invention relates to a method for processing data as well as a computing system and a computer program for carrying it out.

Hintergrund der ErfindungBackground of the invention

In verschiedenen Bereichen, z.B. bei Fahrzeugen, werden Daten wie z.B. Sensordaten, verarbeitet, wobei z.B. verschiedene Berechnungen durchgeführt werden; die Ergebnisse können dann z.B. wieder im Fahrzeug verwendet werden. Aufgrund der hohen Datenmengen und oftmals aufwendigen Berechnungen kann eine solche Verarbeitung an ein fahrzeugfremdes, ggf. verteiltes, Rechensystem ausgelagert werden. In diesem Zusammenhang wird auch von der sog. „Cloud“ gesprochen.In various areas, e.g. in vehicles, data such as sensor data is processed, for example various calculations are carried out; The results can then be used again in the vehicle, for example. Due to the large amounts of data and often complex calculations, such processing can be outsourced to a non-vehicle, possibly distributed, computing system. In this context, the so-called “cloud” is also spoken of.

Für viele Anwendungen, insbesondere auch in Fahrzeugen, ist es zweckmäßig, oder oftmals auch erforderlich, eine bestimmte Sicherheit über die Richtigkeit der verarbeiteten Daten oder den Berechnungsvorgang zu gewährleisten. Mit anderen Worten sollen mögliche Fehler bei der Verarbeitung bzw. Berechnung weitestgehend ausgeschlossen bzw. die Wahrscheinlichkeit hierfür minimiert werden.For many applications, especially in vehicles, it is expedient or often necessary to ensure a certain degree of certainty about the accuracy of the processed data or the calculation process. In other words, possible errors in processing or calculation should be excluded as far as possible and the probability of this should be minimized.

Ein Prinzip, das hierzu herangezogen werden kann, ist ein sog. Lockstep-Verfahren. Damit wird im Bereich der Computertechnik, insbesondere bei Prozessoren und Mikrocontrollern, eine Methode zur Fehlertoleranz und Fehlererkennung in der Hardware bezeichnet, die durch den Einsatz mehrerer gleicher oder gleichartiger Einheiten wie CPU-Kerne in Mehrkernprozessoren erreicht wird. Prozessoren im Lockstep-Betrieb werden z.B. in sicherheitskritischen Anwendungen wie Motorsteuerungen (ECU) von Fahrzeugen und in autonomen Triebwerksregelungen (FADEC) von Flugzeugen eingesetzt.One principle that can be used for this is a so-called lockstep process. In the field of computer technology, especially in processors and microcontrollers, this refers to a method for fault tolerance and error detection in hardware, which is achieved by using several identical or similar units such as CPU cores in multi-core processors. Processors in lockstep operation are used, for example, in safety-critical applications such as engine control systems (ECU) in vehicles and in autonomous engine controls (FADEC) in aircraft.

Dieses Vorgehen lässt sich auch softwarebasiert umsetzen, z.B. in einem Rechensystem. Solche software-basierten Lockstep-Lösungen können z.B. entsprechend der Sicherheitsnormen ISO 26262 und IEC 61508 für sporadisch auftretende Fehler bei Rechenoperationen verwendet werden. Hierbei werden die zu verarbeitenden Daten in zwei getrennten Pfaden jeweils entsprechend einem vorgegebenen Verarbeitungsschema verarbeitet (es werden die gewünschten Berechnungen durchgeführt, und zwar dieselben in beiden Pfaden). Die in diesen zwei Pfaden verarbeiteten Daten werden dann im Rahmen einer Plausibilisierung gegeneinander plausibilisiert bzw. verglichen. Mit diesem Vorgehen können Fehler erkannt werden.This procedure can also be implemented using software, e.g. in a computing system. Such software-based lockstep solutions can be used, for example, in accordance with the security standards ISO 26262 and IEC 61508 for sporadic errors in arithmetic operations. Here, the data to be processed is processed in two separate paths, each according to a predetermined processing scheme (the desired calculations are carried out, namely the same ones in both paths). The data processed in these two paths are then checked for plausibility or compared against each other as part of a plausibility check. This procedure can be used to detect errors.

Ein Verarbeiten von Daten in einem Rechensystem im Zuge eines derartigen softwarebasierten Lockstep-Verfahrens wird beispielsweise in der nicht-vorveröffentlichten Patentanmeldung DE 10 2021 211 908.5 der Anmelderin beschrieben.Processing data in a computing system in the course of such a software-based lockstep process is described, for example, in the unpublished patent application DE 10 2021 211 908.5 described by the applicant.

Offenbarung der ErfindungDisclosure of the invention

Erfindungsgemäß werden ein Verfahren zum Verarbeiten von Daten sowie ein Rechensystem und ein Computerprogramm zu dessen Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.According to the invention, a method for processing data as well as a computing system and a computer program for carrying it out are proposed with the features of the independent patent claims. Advantageous refinements are the subject of the subclaims and the following description.

Die vorliegende Erfindung schlägt eine Möglichkeit vor, um ein softwarebasiertes Lockstep-Verfahren weiter zu verbessern. Im Rahmen der Erfindung wird dazu ein Wert einer Kenngröße festgelegt bzw. vorgegeben, welche eine Anzahl von Fehlern bei der Verarbeitung der Daten charakterisiert. Beispielsweise kann die Kenngröße ein (erster) Zählerwert sein, welcher fortlaufend erhöht wird. Zu Beginn des Verfahrens wird als ein initialer Schritt die Kenngröße auf einen initialen Wert festgelegt, z.B. auf den Wert null zu Beginn eines Betriebs einer entsprechenden Recheneinheit, etwa nach einem Hochfahrvorgang bzw. Aufstarten der Recheneinheit.The present invention proposes a way to further improve a software-based lockstep method. In the context of the invention, a value of a parameter is defined or specified, which characterizes a number of errors in the processing of the data. For example, the parameter can be a (first) counter value, which is continuously increased. At the beginning of the method, as an initial step, the parameter is set to an initial value, for example to the value zero at the beginning of operation of a corresponding computing unit, for example after a boot-up process or starting up the computing unit.

Den zu verarbeitenden Daten wird - ebenfalls in Form von Daten jeweils nach einer vorgegebenen Anzahl von Datennachrichten der zu verarbeitenden Daten und/oder nach einem vorgegebenen Zeitintervall eine Markierung hinzugefügt. Diese Markierung charakterisiert insbesondere eine vorgegebene oder vorgebbare Menge an Daten, welche zur gemeinsamen oder zeitglichen Verarbeitung übergeben werden sollen. Beispielsweise kann es sich bei der Markierung um einen (zweiten) Zählerwert handeln, der konsekutiv erhöht wird.A marking is added to the data to be processed - also in the form of data - after a predetermined number of data messages of the data to be processed and/or after a predetermined time interval. This marking in particular characterizes a predetermined or predeterminable amount of data that is to be transferred for joint or temporal processing. For example, the marking can be a (second) counter value that is consecutively increased.

Die zu verarbeitenden Daten werden dann an einen ersten Verarbeitungspfad und an einen zweiten Verarbeitungspfad übergeben. Daten zwischen zwei hinzugefügten Markierungen werden in dem ersten Verarbeitungspfad gemäß einem ersten Verarbeitungsschema zu ersten Ergebnisdaten und in dem zweiten Verarbeitungspfad gemäß einem zweiten Verarbeitungsschema zu zweiten Ergebnisdaten verarbeitet. Somit werden in den beiden Verarbeitungspfaden zeitgleich stets die identischen Datenmengen zu den jeweiligen Ergebnisdaten verarbeitet.The data to be processed is then passed to a first processing path and to a second processing path. Data between two added markers is processed into first result data in the first processing path according to a first processing scheme and into second result data in the second processing path according to a second processing scheme. This means that identical amounts of data are always processed in both processing paths at the same time to produce the respective result data.

Ferner wird der festgelegte aktuelle Wert der Kenngröße jeweils zu den ersten Ergebnisdaten und zu den zweiten Ergebnisdaten hinzugefügt bzw. diesen zugeordnet. Sollte ein Fehler in der Verarbeitung der Daten auftreten, durch welchen die Kenngröße erhöht wird, kann anhand des den Ergebnisdaten zugeordneten Werts der Kenngröße identifiziert werden, ob diese Daten im Zuge dieser fehlerhaften Verarbeitung bestimmt wurden.Furthermore, the specified current value of the parameter is added to or assigned to the first result data and to the second result data. Should there be an error in processing of the data occurs, through which the parameter is increased, it can be identified based on the value of the parameter assigned to the result data whether this data was determined in the course of this incorrect processing.

Die ersten Ergebnisdaten und die zweiten Ergebnisdaten werden miteinander verglichen bzw. gegeneinander plausibilisiert, beispielsweise in einer Vergleichs- bzw. Plausibilisierungseinheit. Wenn die ersten Ergebnisdaten und die zweiten Ergebnisdaten einander entsprechen, werden die ersten Ergebnisdaten und/oder die zweiten Ergebnisdaten als ein Ergebnis der Verarbeitung der Daten bereitgestellt. In diesem Fall liegt insbesondere kein Fehler bei der Verarbeitung der Daten vor. Die Verarbeitung in den beiden Verarbeitungspfaden kann zweckmäßigerweise mit den aktuellen Einstellungen bzw. aktuellen Zuständen fortgesetzt werden.The first result data and the second result data are compared with one another or checked against each other for plausibility, for example in a comparison or plausibility check unit. If the first result data and the second result data correspond to each other, the first result data and/or the second result data are provided as a result of processing the data. In this case, there is in particular no error in the processing of the data. Processing in the two processing paths can expediently be continued with the current settings or current states.

Wenn die ersten Ergebnisdaten und die zweiten Ergebnisdaten einander nicht entsprechen, werden die ersten Ergebnisdaten und die zweiten Ergebnisdaten verworfen und ein neuer Wert der Kenngröße wird festgelegt. Insbesondere wird die Kenngröße um ein Inkrement (z.B. eins) erhöht. In diesem Fall liegt insbesondere ein Fehler zumindest in einem der beiden Verarbeitungspfade vor. Zweckmäßigerweise können die beiden Verarbeitungspfade bzw. deren aktuelle Einstellungen oder Zustände zurückgesetzt werden. Ferner werden insbesondere alle Ergebnisdaten, welchen der Wert der Kenngröße vor deren Veränderung zugeordnet ist, verworfen.If the first result data and the second result data do not correspond to each other, the first result data and the second result data are discarded and a new value of the parameter is set. In particular, the parameter is increased by an increment (e.g. one). In this case, there is in particular an error in at least one of the two processing paths. The two processing paths or their current settings or states can expediently be reset. Furthermore, in particular, all result data to which the value of the parameter is assigned before it is changed is discarded.

Durch das Lockstep-Verfahren können besonders zweckmäßig eine funktionale Sicherheit („Safety“) und eine Informationssicherheit („Security“) bei der Verarbeitung der Daten erreicht werden. Jedoch besteht bei der herkömmlichen Verwendung von Lockstep-Verfahren oftmals die Gefahr, dass eine Synchronisation der einzelnen Verarbeitungspfade bei auftretenden Fehlern verloren geht und dass die Ergebnisse der einzelnen Pfade nicht mehr miteinander vergleichbar sind.The lockstep process makes it particularly useful to achieve functional safety and information security when processing data. However, when using lockstep methods conventionally, there is often a risk that synchronization of the individual processing paths will be lost if errors occur and that the results of the individual paths can no longer be compared with one another.

Der Einsatz eines Lockstep-Verfahrens ist bei Funktionen, die einen Dateneingabestrom zustandslos verarbeiten, zumeist unproblematisch, da zum einen jeder Eingangsdatennachricht ein Resultat entspricht und beim Auftreten von Ausnahmen die Vergleichseinheit ein Ergebnis falsifizieren und verwerfen kann, ohne dass dies Auswirkungen auf die Verarbeitung der nachfolgenden Eingangsdaten hat. Jedoch kann die Verarbeitung mehrerer Schritte auch an einen Zustand der zuvor bearbeiteten Eingangsdaten gebunden sein, z.B. beim autonomen Fahren, d.h. das Ergebnis einer Verarbeitung hängt vom Zustand ab, der bei der Verarbeitung vorangegangener Eingangsdaten errechnet wurde. Wird dieser Zustand in einem der synchronen Verarbeitungspfade durch eine Ausnahmesituation verfälscht, z.B. durch eine fehlerhafte Berechnung, einen Hardwarefehler, einen Übertragungsfehler usw., so führt auch jede weitere Berechnung nachfolgender Eingangsdaten mit großer Wahrscheinlichkeit zu fehlerhaften Ergebnissen, da sie auf dem fehlerhaften Zustand aufbaut. Folglich sollten die verschiedenen Verarbeitungspfade hinsichtlich ihres Zustands nach einem Fehler neu synchronisiert werden. Des Weiteren kann sich die Verarbeitung von Eingangsdaten, die kontinuierlich und nicht getaktet eingelesen werden (sog. „Streaming“), in den parallel arbeitenden Lockstep-Verarbeitungspfaden unterscheiden. Dies ist insbesondere bei Funktionen bzw. Anwendungen problematisch, welche keine 1:1-Relation zwischen Eingabe und Ergebnis haben, sondern eine n:1-Beziehung. Insbesondere bedeutet dies, dass mehrere Eingangsdaten verarbeitet werden, bis ein Ergebnis ausgegeben wird. Wenn dieses Ergebnis in einem festen Zeitintervall geschrieben wird, können zeitliche Unterschiede in Verarbeitung und Übertragung dazu führen, dass die Ergebnisse der verschiedenen Lockstep-Pfade sich in der Anzahl der Nachrichten unterscheiden, die zum Erhalt eines Ergebnisses verarbeitet wurden. Dadurch wären die ermittelten Ergebnisse - obwohl jeweils für sich genommen richtig - nicht mehr für einen Vergleich geeignet.The use of a lockstep method is usually unproblematic for functions that process a data input stream statelessly, since, on the one hand, each input data message corresponds to a result and, if exceptions occur, the comparison unit can falsify and reject a result without this affecting the processing of the subsequent ones Has input data. However, the processing of several steps can also be tied to a state of the previously processed input data, e.g. in autonomous driving, i.e. the result of processing depends on the state that was calculated when processing previous input data. If this state is corrupted in one of the synchronous processing paths by an exceptional situation, e.g. due to an incorrect calculation, a hardware error, a transmission error, etc., then any further calculation of subsequent input data will most likely lead to incorrect results because it is based on the incorrect state. Consequently, the various processing paths should be resynchronized in terms of their state after an error. Furthermore, the processing of input data that is read in continuously and not in a clocked manner (so-called “streaming”) can differ in the lockstep processing paths that work in parallel. This is particularly problematic for functions or applications that do not have a 1:1 relationship between input and result, but rather an n:1 relationship. In particular, this means that multiple input data is processed until a result is output. If this result is written at a fixed time interval, temporal differences in processing and transmission may cause the results of different lockstep paths to differ in the number of messages processed to obtain a result. As a result, the results obtained - although correct in their own right - would no longer be suitable for comparison.

Die vorliegende Erfindung stellt nun eine Möglichkeit bereit, um eine Synchronisation der Lockstep-Pfade zu gewährleisten. Dabei wird sowohl eine koordinierte Verarbeitung der eingehenden Datennachrichten durch insbesondere getaktetes Einschleusen der Markierungen erreicht, als auch eine Neusynchronisation der Wirkfunktionen in den Pfaden nach dem Auftreten von Ausnahmen, insbesondere von Software- oder Hardware-Fehlern, durch Einführung der Kenngröße.The present invention now provides a way to ensure synchronization of the lockstep paths. This achieves both coordinated processing of the incoming data messages by, in particular, clocked insertion of the markings, and resynchronization of the effective functions in the paths after exceptions occur, in particular software or hardware errors, by introducing the parameter.

Beispielsweise kann eine Markierungseinheit in Form einer separaten Software- und/oder Hardwareeinheit vorgesehen sein, welche die zu verarbeitenden Daten mit den Markierungen erweitert. Insbesondere können diese Markierungen einen Index zu deren Identifizierung umfassen. Der aktuell vergebene Index bzw. die aktuell hinzugefügte Markierung kann ferner insbesondere an einer vorgegebenen Speicherstelle bzw. in einer vorgegebenen Speichereinheit hinterlegt werden, auf welche die verschiedenen Verarbeitungspfade zweckmäßigerweise zugreifen können. Gibt es zwischen den eingehenden Datennachrichten und den ausgehenden Ergebnisdaten eine 1:1-Beziehung, kann die Häufigkeit der hinzugefügten Markierungen beispielsweise auch reduziert werden z.B. bis auf eine Indizierung der Nachrichten.For example, a marking unit can be provided in the form of a separate software and/or hardware unit, which expands the data to be processed with the markings. In particular, these markings can include an index for their identification. The currently assigned index or the currently added marking can also be stored in particular in a predetermined storage location or in a predetermined storage unit, which the various processing paths can expediently access. If there is a 1:1 relationship between the incoming data messages and the outgoing result data, the frequency of added markings can also be reduced, e.g. down to indexing the messages.

Die Anreicherung der eingehenden Nachrichten mit den Markierungen führt insbesondere dazu, dass alle Funktionen der verschiedenen Lockstep-Pfade dieselbe Menge an Daten für die Berechnung eines Ergebnisses verwenden. Somit kann zweckmäßigerweise der Fall ausgeschlossen werden, dass durch Unterschiede in Laufzeiten und Verarbeitungsgeschwindigkeiten eine unterschiedliche Menge an Nachrichten zu einem Ergebnis verarbeitet wird, wodurch ein Vergleich der Ergebnisse nicht möglich wäre. Zusätzlich kann insbesondere sichergestellt werden, dass jedes Ergebnis genau einem Index zuordenbar ist.In particular, enriching the incoming messages with the markings means that all functions of the different lockstep paths use the same amount of data to calculate a result. This means that the case can be expediently excluded in which a different amount of messages is processed into one result due to differences in runtimes and processing speeds, which would make it impossible to compare the results. In addition, it can be ensured in particular that each result can be assigned to exactly one index.

Mit Hilfe der Kenngröße kann insbesondere ein Zeitraum gekennzeichnet werden, in dem die Lockstep-Pfade synchron laufen. Erkennt die Vergleichseinheit einen Fehler, wird der Wert der Kenngröße inkrementiert, während die Ergebnisse verworfen werden. Eine Änderung der Kenngröße führt insbesondere zu einer Neusynchronisation der Funktionen auf allen Lockstep-Pfaden. Die Ergebnisse, die von den Verarbeitungspfaden weitergeleitet werden, enthalten den Kenngrößenwert, der zum Zeitpunkt ihrer Berechnung gültig war. Wurde dieser aktualisiert, so kann die Vergleichseinheit alle Ergebnisse mit einem alten Kenngrößenwert verwerfen.In particular, the parameter can be used to identify a period in which the lockstep paths run synchronously. If the comparison unit detects an error, the value of the parameter is incremented while the results are discarded. A change in the parameter leads in particular to a resynchronization of the functions on all lockstep paths. The results that are forwarded by the processing paths contain the parameter value that was valid at the time they were calculated. If this has been updated, the comparison unit can reject all results with an old parameter value.

Zweckmäßigerweise erfolgt das Verarbeiten der Daten im Rahmen des vorliegenden Verfahrens in einem ggf. verteilten Rechensystem, z.B. einem Rechenzentrum, insbesondere in einer sog. „Cloud“. Die Verarbeitung der Daten in den unterschiedlichen Verarbeitungspfaden kann beispielsweise in örtlich verteilten Recheneinheiten erfolgen, damit sich Fehler in einzelnen Recheneinheiten nicht auf alle Pfade auswirken können.The data is expediently processed in the context of the present method in a possibly distributed computing system, e.g. a data center, in particular in a so-called “cloud”. The processing of the data in the different processing paths can, for example, take place in locally distributed computing units so that errors in individual computing units cannot affect all paths.

Vorteilhafterweise werden der erste Verarbeitungspfad und der zweite Verarbeitungspfad bzw. ein Zustand oder ein Verarbeitungsvorschritt des ersten und zweiten Verarbeitungspfads zurückgesetzt, wenn der neue Wert der Kenngröße festgelegt wird. In dem ersten Verarbeitungspfad und in dem zweiten Verarbeitungspfad werden dann vorteilhafterweise die Daten nach der zuletzt hinzugefügten Markierung verarbeitet. Erkennt eine Funktion der Verarbeitungspfade eine Veränderung der Kenngröße, wird insbesondere die aktuelle bzw. die zuletzt hinzugefügte Markierung ausgelesen. Der innere Zustand des jeweiligen Verarbeitungspfads wird verworfen und es wird mit einem initialen Zustand begonnen, diejenigen Datennachrichten zu prozessieren, welche der zuletzt hinzugefügten Nachricht folgen. Auf diese Weise kann insbesondere sichergestellt werden, dass eine Änderung der Kenngröße zu einer Neusynchronisation der Funktionen auf allen Lockstep-Pfaden führt. Insbesondere kann somit automatisch ein Neustart und eine Neusynchronisation der einzelnen Verarbeitungspfade bei einer Änderung des Kenngrößenwerts durchgeführt werden. Zu diesem Zweck können die einzelnen Lockstep-Pfade beispielsweise kontinuierlich den aktuellen Kenngrößenwert auslesen. Alternativ oder zusätzlich kann der aktuelle Kenngrößenwert beispielsweise auch kontinuierlich oder in vorgegebenen Zeitabständen den einzelnen Verarbeitungspfaden mitgeteilt werden, z.B. mit Hilfe von Message-Queues, Event-Handling usw.Advantageously, the first processing path and the second processing path or a state or a processing step of the first and second processing paths are reset when the new value of the parameter is set. In the first processing path and in the second processing path, the data is then advantageously processed according to the last added marking. If a function of the processing paths detects a change in the parameter, the current or most recently added marking in particular is read out. The internal state of the respective processing path is discarded and the data messages that follow the last added message are started with an initial state. In this way, it can be ensured in particular that a change in the parameter leads to a resynchronization of the functions on all lockstep paths. In particular, a restart and a resynchronization of the individual processing paths can be carried out automatically when the parameter value changes. For this purpose, the individual lockstep paths can, for example, continuously read out the current parameter value. Alternatively or additionally, the current parameter value can, for example, be communicated to the individual processing paths continuously or at predetermined time intervals, e.g. with the help of message queues, event handling, etc.

Vorzugsweise umfasst das Hinzufügen der Markierungen zu den zu verarbeitenden Daten ein Hinzufügen von Markierungsnachrichten zu den zu verarbeitenden Daten, wobei jeweils nach einer vorgegebenen Anzahl von Datennachrichten der zu verarbeitenden Daten und/oder nach einem vorgegebenem Zeitintervall jeweils eine Markierungsnachrichten zwischen zwei Datennachrichten der zu verarbeitenden Daten hinzugefügt wird und wobei jede Markierungsnachrichten jeweils einen individuellen Markierungswert aufweist. Dieser Markierungswert kann insbesondere ein entsprechender Index sein, ferner insbesondere ein fortlaufend erhöhter Zählerwert, welcher mit jeder hinzugefügten Markierungsnachricht erhöht wird. Beispielsweise können die nach der hinzugefügten Markierungsnachricht nachfolgenden Datennachrichten, also denjenigen Datennachrichten die nach der hinzugefügten Markierungsnachricht an die Pfade übergeben werden, dem entsprechende Markierungswert dieser hinzugefügten Markierungsnachricht zugewiesen sein. Somit ist insbesondere den Datennachrichten zwischen zwei Markierungsnachrichten derjenige Markierungswert der zuerst hinzugefügten (früheren) Markierungsnachricht zugewiesen.Preferably, adding the markings to the data to be processed includes adding marking messages to the data to be processed, with one marking message between two data messages of the data to be processed after a predetermined number of data messages of the data to be processed and / or after a predetermined time interval is added and each marking message has an individual marking value. This marking value can in particular be a corresponding index, furthermore in particular a continuously increased counter value, which is increased with each added marking message. For example, the data messages following the added marking message, i.e. those data messages that are passed to the paths after the added marking message, can be assigned to the corresponding marking value of this added marking message. In particular, the data messages between two marking messages are therefore assigned the marking value of the first added (earlier) marking message.

Bevorzugt umfasst das Verarbeiten der Daten zwischen zwei hinzugefügten Markierungen in dem ersten Verarbeitungspfad und in dem zweiten Verarbeitungspfad jeweils ein Empfangen einer ersten der zwei hinzugefügten Markierung bzw. einer ersten entsprechenden Markierungsnachricht und eine Verarbeitung der nach dieser ersten Markierung empfangenen Daten gemäß dem jeweiligen Verarbeitungsschema des jeweiligen Verarbeitungspfads. Ferner wird jeweils eine zweite der zwei hinzugefügten Markierung bzw. eine entsprechende zweite Markierungsnachricht von den Verarbeitungspfaden empfangen, woraufhin die Verarbeitung der nach der ersten Markierung empfangenen Daten in den Verarbeitungspfaden jeweils beendet wird. Die ersten Ergebnisdaten bzw. die zweiten Ergebnisdaten werden bestimmt und zweckmäßigerweise an die Vergleichseinheit weitergeleitet. Daraufhin wird in den Verarbeitungspfaden zweckmäßigerweise mit der Verarbeitung der nach der zweiten Markierung empfangenen Daten zu weiteren Ergebnisdaten begonnen. Die Funktionen der verschiedenen Lockstep-Pfade verarbeiten die eingehenden Nachrichten und akkumulieren dabei insbesondere einen Zustand, dem die zuletzt empfangene Markierung bzw. der zuletzt empfangene Markierungswert zugeordnet ist. Empfangen die Pfade eine neue Markierungsnachricht bzw. einen neuen Markierungswert, so leiten sie das Ergebnis zweckmäßigerweise weiter und beginnen, ein neues Ergebnis aufzubauen, dem der neue Markierungswert zugeordnet ist, indem sie zweckmäßigerweise die nachfolgend eingehenden Datennachrichten verarbeiten.Preferably, processing the data between two added markers in the first processing path and in the second processing path each includes receiving a first of the two added markers or a first corresponding marker message and processing the data received after this first marker according to the respective processing scheme of the respective one processing path. Furthermore, a second of the two added markings or a corresponding second marking message is received by the processing paths, whereupon the processing of the data received after the first marking is ended in the processing paths. The first result data or the second result data are determined and expediently forwarded to the comparison unit. Processing of the data received after the second marking into further result data is then expediently started in the processing paths. The functions of the different lockstep paths process the incoming messages and accumulate one in particular State to which the last received marking or the last received marking value is assigned. If the paths receive a new marking message or a new marking value, they expediently forward the result and begin to build a new result to which the new marking value is assigned by expediently processing the subsequently incoming data messages.

Gemäß einer vorteilhaften Ausführungsform erfolgt das Verwerfen der ersten Ergebnisdaten und der zweiten Ergebnisdaten und das Festlegen des neuen Werts der Kenngröße ferner auch dann, wenn der den ersten Ergebnisdaten und/oder der den zweiten Ergebnisdaten hinzugefügte Wert der Kenngröße nicht dem aktuell festgelegten Wert der Kenngröße entspricht. Insbesondere werden bei dem Vergleich nicht nur die Ergebnisdaten miteinander verglichen, sondern es wird ferner überprüft, ob der in den einzelnen Ergebnisdaten hinterlegte Kenngrößenwert auch dem aktuell festgelegten Kenngrößenwert entspricht. Sollte dies nicht der Fall sein, deutet dies auf einen Fehler hin, so dass auch in diesem Fall die Verarbeitungspfade zweckmäßigerweise zurückgesetzt und neu synchronisiert werden.According to an advantageous embodiment, the first result data and the second result data are discarded and the new value of the parameter is also set if the value of the parameter added to the first result data and/or the second result data does not correspond to the currently set value of the parameter . In particular, the comparison not only compares the result data with one another, but it is also checked whether the characteristic value stored in the individual result data also corresponds to the currently defined characteristic value. If this is not the case, this indicates an error, so in this case too the processing paths should be reset and resynchronized.

Vorteilhafterweise erfolgt das Festlegen des neuen Werts der Kenngröße auch nach einem Neustart einer der Verarbeitungspfade. Durch den auf diese Weise veränderten Kenngrößenwert erfolgt zweckmäßigerweise automatisch auch ein Neustart des anderen Verarbeitungspfads. Ein Neustart und eine Neusynchronisation der Pfade wird somit insbesondere nicht nur nach einem detektierten Rechenfehler durchgeführt, sondern zweckmäßigerweise auch nach einem Neustart einer der Lockstep-Funktionen. Insbesondere kann daher auch nach einem Boot-Vorgang, z.B. bei einem Neustart, der Kenngrößenwert verändert werden.The new value of the parameter is advantageously set even after a restart of one of the processing paths. The parameter value changed in this way expediently also automatically restarts the other processing path. A restart and a resynchronization of the paths is therefore carried out not only after a detected calculation error, but expediently also after a restart of one of the lockstep functions. In particular, the parameter value can therefore be changed even after a boot process, e.g. during a restart.

Bevorzugt wird der neue Wert der Kenngröße ferner festgelegt, wenn die ersten Ergebnisdaten und/oder die zweiten Ergebnisdaten jeweils nicht nach einem vorgegebenen Zeitintervall vorliegen. Die Vergleichseinheit kann zu diesem Zweck das Eintreffen der zu vergleichenden Ergebnisdaten überwachen. Das Ausbleiben von Ergebnisdaten kann insbesondere als ein Fehler bzw. Ausnahme-Ereignis angesehen werden, woraufhin zweckmäßigerweise ebenfalls eine Veränderung des Kenngrößenwerts und damit eine Neusynchronisation der Verarbeitungspfade durchgeführt wird.Preferably, the new value of the parameter is also determined if the first result data and/or the second result data are not available after a predetermined time interval. For this purpose, the comparison unit can monitor the arrival of the result data to be compared. The absence of result data can in particular be viewed as an error or exception event, whereupon a change in the parameter value and thus a resynchronization of the processing paths is also expediently carried out.

Vorzugsweise wird ein Zeitintervall zwischen zwei nacheinander bestimmten ersten Ergebnisdaten und/oder zwei nacheinander bestimmten zweiten Ergebnisdaten bestimmt, also insbesondere ein Zeitintervall, mit welchem der erste Verarbeitungspfad bzw. der zweite Verarbeitungspfad die jeweiligen zu verarbeitenden Daten zu den jeweiligen Ergebnisdaten verarbeitet. Abhängig von diesem bestimmten Zeitintervall wird vorzugsweise eine Häufigkeit bzw. Frequenz angepasst, mit welcher die Markierungen zu den zu verarbeitenden Daten hinzugefügt werden. Je nach Anwendungsfall kann es beispielswiese notwendig sein, für das Aussenden der Ergebnisse eine bestimmte Frequenz einzuhalten. Diese Frequenz wird zweckmäßigerweise durch die hinzugefügten Markierungen festgelegt und somit insbesondere zeitlich vor der Verarbeitung der Daten. Eine statische Festlegung, z.B. im Zuge einer Implementierung vor Inbetriebnahme derjeweiligen Recheneinheit, könnte im späteren regulären Betrieb zu ungenau sein oder die Verarbeitungszeiten könnten durch Lastspitzen des jeweiligen Prozessors ungünstig beeinflusst werden. Besonders zweckmäßig kann die Häufigkeit der hinzugefügten Markierungen daher dynamisch im regulären Betrieb der Recheneinheit angepasst werden. Beispielsweise kann zu diesem Zweck die Vergleichseinheit das zeitliche Eintreffen der einzelnen Ergebnisdaten vermessen und bei Bedarf an die Markierungseinheit entsprechende Korrekturnachrichten schicken.Preferably, a time interval is determined between two successively determined first result data and/or two successively determined second result data, i.e. in particular a time interval with which the first processing path or the second processing path processes the respective data to be processed into the respective result data. Depending on this specific time interval, a frequency with which the markings are added to the data to be processed is preferably adjusted. Depending on the application, it may be necessary, for example, to maintain a certain frequency for sending the results. This frequency is expediently determined by the added markings and thus in particular in time before the data is processed. A static determination, e.g. in the course of an implementation before the respective computing unit is put into operation, could be too imprecise in later regular operation or the processing times could be unfavorably influenced by load peaks on the respective processor. The frequency of the added markings can therefore be particularly expediently adjusted dynamically during regular operation of the computing unit. For example, for this purpose, the comparison unit can measure the timing of the arrival of the individual result data and, if necessary, send corresponding correction messages to the marking unit.

Gemäß einer vorteilhaften Ausführungsform kann ferner ein Bereitschaftswert bzw. ein Standby-Wert oder ein Wartewert der Kenngröße festgelegt werden, woraufhin der erste Verarbeitungspfad und der zweite Verarbeitungspfad in einen Bereitschaftszustand bzw. Standby-Zustand oder Wartezustand überführt werden. Insbesondere erfolgt in diesem Bereitschaftszustand keine Verarbeitung von Daten, sondern die Verarbeitungspfade warten zweckmäßigerweise auf eine Freigabe für die Verarbeitung. Vorteilhafterweise wird dann ein Startwert der Kenngröße festgelegt, der Bereitschaftszustand des ersten Verarbeitungspfads und des zweiten Verarbeitungspfads wird beendet und das Verarbeiten der Daten in dem ersten Verarbeitungspfad und in dem zweiten Verarbeitungspfad wird begonnen. Den Verarbeitungspfaden ist der aktuell festgelegte Kenngrößenwert zweckmäßigerweise stets bekannt, z.B. weil die Pfade den Wert selbst auslesen oder weil der Wert den Pfaden mitgeteilt wird, so dass die Pfade bei Festlegen des Bereitschaftswerts sich zweckmäßigerweise automatisch in den Bereitschaftszustand überführen können und bei Festlegen des Startwerts den Bereitschaftszustand zweckmäßigerweise automatisch beenden können. Durch das Festlegen des derartigen Bereitschafts- und Startwerts kann zweckmäßigerweise ein synchroner Beginn der Datenverarbeitung ermöglicht werden, beispielsweise bei einem Hochfahren der jeweiligen Recheneinheit. Beim Hochfahren des Gesamtsystems werden der Kenngrößenwert sowie ferner insbesondere der Markierungswert jeweils mit einem initialen Wert vorbelegt. Je nach Reihenfolge, in der die verschiedenen Komponenten der Recheneinheit starten, könnte es zu Ausnahme-Ereignissen oder Fehlern kommen, was dazu führen kann, dass die Datennachrichten des ersten Markierungsintervalls verworfen werden. Ist dies aus Applikationssicht zu vermeiden, können zweckmäßigerweise alle Prozesse zwar hochgefahren, aber durch das Festlegen des Bereitschaftswerts zunächst in dem Bereitschaftszustand verbleiben. Sind alle Prozesse in diesem Zustand, kann der Startwert als Zeichen für alle Prozesse für einen gemeinsamen Start festgelegt werden.According to an advantageous embodiment, a readiness value or a standby value or a waiting value of the parameter can also be set, whereupon the first processing path and the second processing path are transferred to a ready state or standby state or waiting state. In particular, no processing of data takes place in this standby state, but rather the processing paths expediently wait for a release for processing. Advantageously, a starting value of the parameter is then set, the standby state of the first processing path and the second processing path is ended and the processing of the data in the first processing path and in the second processing path is started. The currently set parameter value is expediently always known to the processing paths, for example because the paths read out the value themselves or because the value is communicated to the paths, so that the paths can expediently automatically switch to the standby state when the standby value is set and when the start value is set The standby state can conveniently be ended automatically. By setting such a ready and start value, a synchronous start of data processing can expediently be made possible, for example when the respective computing unit is started up. When the entire system is started up, the parameter value and, in particular, the marking value are each preassigned with an initial value. Depending on the order in which the various components of the computing unit start, exception events or errors could occur, which could result in the data messages of the first marking interval being discarded. If this can be avoided from an application perspective, all processes can be started up but initially remain in the ready state by setting the ready value. If all processes are in this state, the start value can be set as a symbol for all processes to start together.

Obgleich in der vorliegenden Beschreibung von zwei Verarbeitungspfaden gesprochen wird, versteht sich, dass das erfindungsgemäße Verfahren auf entsprechende Weise mit einer größeren Anzahl von Lockstep-Verarbeitungspfaden durchgeführt werden kann.Although two processing paths are mentioned in the present description, it is understood that the method according to the invention can be carried out in a corresponding manner with a larger number of lockstep processing paths.

Hinsichtlich weitere Details bezüglich des Lockstep-Verfahrens sei ferner vollumfänglich auf die eingangs erläuterte DE 10 2021 211 908.5 der Anmelderin verwiesen, deren Offenbarung auch zum Inhalt dieser Anmeldung gemacht wird.With regard to further details regarding the lockstep process, please refer in full to those explained at the beginning DE 10 2021 211 908.5 referred to the applicant, the disclosure of which is also made part of the content of this application.

Das vorliegende Verfahren eignet sich besonders zweckmäßig zum Einsatz im (Kraft-) Fahrzeugbereich. Bei den zu verarbeitenden Daten kann es sich besonders zweckmäßig um Fahrzeugdaten handeln, die beispielsweise von Sensoren des Fahrzeugs erfasst werden. Beispielsweise kann die Verarbeitung der Daten im Zuge sicherheitskritischer Funktionen erfolgen, welche zum sicheren Betrieb und zur Steuerung des Fahrzeugs ausgeführt werden, beispielsweise im Zuge einer Motorsteuerung, im Zuge von Fahrassistenzfunktionen, im Zug des unterstützten autonomen Fahrens (IAD) oder allgemein des automatisierten oder teilautomatisierten Fahrens usw. Durch das Verfahren kann insbesondere eine Sicherheit bzw. Ausfallsicherheit und Integrität des Steuergeräts erhöht werden. Insbesondere können durch das Verfahren Sicherheitsanforderungen im (Kraft-) Fahrzeugbereich erfüllt werden, wie sie beispielsweise in der Norm ISO 26262 oder insbesondere von dem sog. „Automotive Safety Integrity Level“ (ASIL), eine von der ISO 26262 spezifizierte Sicherheitsanforderungsstufe für sicherheitsrelevante Systeme in Kraftfahrzeugen, vorgegeben werden.The present method is particularly suitable for use in the (motor) vehicle sector. The data to be processed can particularly usefully be vehicle data, which is recorded, for example, by the vehicle's sensors. For example, the data can be processed as part of safety-critical functions that are carried out for safe operation and control of the vehicle, for example as part of engine control, as part of driving assistance functions, as part of assisted autonomous driving (IAD) or generally automated or partially automated driving Driving, etc. The method can in particular increase the safety or reliability and integrity of the control unit. In particular, the method can be used to meet safety requirements in the (motor) vehicle sector, such as those in the standard ISO 26262 or in particular from the so-called “Automotive Safety Integrity Level” (ASIL), one of the ISO 26262 specified safety requirement level for safety-relevant systems in motor vehicles.

Im Rahmen des teilautomatisierten oder automatisierten Fahrens sind z.B. aufwendige Berechnungen mit Sensordaten nötig, um beurteilen zu können, welche Reaktion im Fahrzeug vorgenommen werden soll. Wie eingangs erwähnt, ist es aufgrund der hohen Datenmengen und oftmals aufwendigen Berechnungen insofern zweckmäßig, eine solche Verarbeitung an ein fahrzeugfremdes, ggf. verteiltes, leistungsfähiges Rechensystem (z.B. ein Rechenzentrum) auszulagern. Die Daten können hierzu über eine geeignete, in der Regel drahtlose, Kommunikationsverbindung vom Fahrzeug an das Rechensystem übermittelt werden. Zweckmäßigerweise werden die Daten dort im Rahmen des vorliegenden Verfahrens im Zuge des Lockstep-Verfahrens verarbeitet und ggf. anschließend zurück an das Fahrzeug übermittelt. Weil die Berechnungen in dem Rechensystem gegebenenfalls nicht auf einer zertifizierten Hardware bzgl. den Safety- bzw. Sicherheitsanforderungen gemäß ASIL durchgeführt werden können, werden die Berechnungen zweckmäßigerweise im Zuge des Lockstep-Verfahrens auf zwei oder mehreren Pfaden mehrfach durchgeführt und am Ende verglichen. Diese Pfade sind insbesondere unterschiedlich realisiert und können sich auf örtlich verteilten Recheneinheiten befinden, damit sich Fehler nicht auf alle Pfade auswirken. Nur wenn die Ergebnisse identisch sind, eventuell mit Mehrheitsvotum, werden die Ergebnisse an das Fahrzeug weitergegeben.In the context of partially automated or automated driving, for example, complex calculations with sensor data are necessary in order to be able to assess what reaction should be made in the vehicle. As mentioned at the beginning, due to the large amounts of data and often complex calculations, it is advisable to outsource such processing to a powerful computing system external to the vehicle, possibly distributed (e.g. a data center). For this purpose, the data can be transmitted from the vehicle to the computing system via a suitable, usually wireless, communication connection. The data is expediently processed there as part of the present procedure as part of the lockstep procedure and, if necessary, then transmitted back to the vehicle. Because the calculations in the computing system may not be able to be carried out on certified hardware with regard to the safety requirements according to ASIL, the calculations are expediently carried out several times on two or more paths in the course of the lockstep process and compared at the end. In particular, these paths are implemented differently and can be located on locally distributed computing units so that errors do not affect all paths. Only if the results are identical, possibly with a majority vote, will the results be passed on to the vehicle.

Ein erfindungsgemäßes Rechensystem, z.B. ein Rechenzentrum oder auch ein Rechnernetzwerk mit z.B. mehreren Rechenzentren, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen.A computing system according to the invention, for example a data center or a computer network with, for example, several data centers, is set up, in particular in terms of programming, to carry out a method according to the invention.

Auch die Implementierung eines erfindungsgemäßen Verfahrens in Form eines Computerprogramms oder Computerprogrammprodukts mit Programmcode zur Durchführung aller Verfahrensschritte ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Schließlich ist ein maschinenlesbares Speichermedium vorgesehen mit einem darauf gespeicherten Computerprogramm wie oben beschrieben. Geeignete Speichermedien bzw. Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich. Ein solcher Download kann dabei drahtgebunden bzw. kabelgebunden oder drahtlos (z.B. über ein WLAN-Netz, eine 3G-, 4G-, 5G- oder 6G-Verbindung, etc.) erfolgen.The implementation of a method according to the invention in the form of a computer program or computer program product with program code for carrying out all method steps is also advantageous because this causes particularly low costs, especially if an executing control device is used for additional tasks and is therefore present anyway. Finally, a machine-readable storage medium is provided with a computer program stored thereon as described above. Suitable storage media or data carriers for providing the computer program are, in particular, magnetic, optical and electrical memories, such as hard drives, flash memories, EEPROMs, DVDs, etc. It is also possible to download a program via computer networks (Internet, intranet, etc.). Such a download can be wired or wired or wireless (e.g. via a WLAN network, a 3G, 4G, 5G or 6G connection, etc.).

Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.Further advantages and refinements of the invention result from the description and the accompanying drawing.

Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.The invention is shown schematically in the drawing using exemplary embodiments and is described below with reference to the drawing.

Kurze Beschreibung der ZeichnungenBrief description of the drawings

  • 1 zeigt schematisch ein Fahrzeug mit einem Steuergerät, das dazu eingerichtet ist, eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens durchzuführen. 1 shows schematically a vehicle with a control device that is set up to carry out a preferred embodiment of a method according to the invention.
  • 2 zeigt schematisch eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens als ein Blockdiagramm. 2 shows schematically a preferred embodiment of a method according to the invention as a block diagram.

Ausführungsform(en) der ErfindungEmbodiment(s) of the invention

In 1 ist schematisch ein Fahrzeug dargestellt und mit 100 bezeichnet, insbesondere ein selbstfahrendes Fahrzeug im Rahmen des automatisierten oder teilautomatisierten Fahrens.In 1 A vehicle is shown schematically and designated 100, in particular a self-driving vehicle in the context of automated or partially automated driving.

Das Fahrzeug 100 weist eine Sensorik 110 mit einer Vielzahl von Sensoren, eine Aktorik 120 mit einer Vielzahl von Aktoren sowie ein Steuergerät 130 auf. Das Steuergerät 130 weist eine Prozessoreinheit 131 auf, z.B. einen Mehrkernprozessor. Die Sensorik 110 kann beispielsweise Kameras, Radar-Sensoren und/oder Lidar-Sensoren aufweisen.The vehicle 100 has a sensor system 110 with a large number of sensors, an actuator system 120 with a large number of actuators and a control device 130. The control device 130 has a processor unit 131, for example a multi-core processor. The sensor system 110 can have, for example, cameras, radar sensors and/or lidar sensors.

Das Steuergerät 130 ist dazu eingerichtet, Sensordaten der Sensorik 110 als Eingabe- oder Eingangsdaten über eine drahtlose Kommunikationsverbindung, z.B. das Internet, an ein entferntes Rechensystem 140 z.B. im Sinne des sog. Cloud-Computing zu übertragen. In dem Rechensystem 140 sollen diese Sensordaten im Zuge eines Lockstep-Verfahrens verarbeitet werden, um Ansteuerdaten für die Aktorik 120 zu bestimmen. Zu diesem Zweck empfängt eine Verteileinheit 141 des Rechensystems 140 die Sensordaten von dem Steuergerät 130 und übergibt diese Daten an zwei getrennte Verarbeitungspfade 142, 143, in welchen die Daten jeweils entsprechend einem vorgegebenen Verarbeitungsschema verarbeitet werden. Ergebnisdaten dieser beiden Pfade 142, 143 werden in einer Vergleichseinheit 144 gegeneinander plausibilisiert bzw. miteinander verglichen. Nur wenn diese Ergebnisse identisch sind, werden die Ergebnisse von der Vergleichseinheit 144 an das Steuergerät 130 zum Ansteuern der Aktoren 130 übertragen.The control device 130 is set up to transmit sensor data from the sensor system 110 as input data via a wireless communication connection, for example the Internet, to a remote computing system 140, for example in the sense of so-called cloud computing. These sensor data are to be processed in the computing system 140 as part of a lockstep process in order to determine control data for the actuators 120. For this purpose, a distribution unit 141 of the computing system 140 receives the sensor data from the control device 130 and transfers this data to two separate processing paths 142, 143, in which the data are each processed according to a predetermined processing scheme. Result data from these two paths 142, 143 are checked for plausibility or compared with one another in a comparison unit 144. Only if these results are identical are the results transmitted from the comparison unit 144 to the control device 130 for controlling the actuators 130.

Beispielsweise kann die Verarbeitung der Daten in dem Rechensystem 140 im Zuge sicherheitskritischer Funktionen des automatisierten oder teilautomatisierten Fahrens erfolgen. Die Sensordaten der Sensorik 110 ermöglichen beispielsweise eine Aussage, wo sich in einem Gebiet um das Fahrzeug 100 herum, z.B. auf einer Kreuzung, welche Objekte befinden, z.B. Fahrzeuge, Personen, Hindernisse usw. Im Zuge der Verarbeitung dieser Daten werden in dem Rechensystem 140 Ansteuerdaten für die Aktorik 130 des z.B. dahingehend bestimmt, welchen Weg das Fahrzeug 100 über die Kreuzung mit welcher Geschwindigkeit nehmen soll usw. Da die Berechnungen in dem Rechensystem 140 nicht auf einer zertifizierten Hardware bezüglich den Sicherheitsanforderungen im Fahrzeugbereich gemäß der Norm ISO 26262 und der darin spezifizierten „Automotive Safety Integrity Level“ (ASIL) durchgeführt werden können, erfolgt die Berechnungen auf mehreren Pfaden 142, 143 im Rahmen des Lockstep-Verfahrens.For example, the data can be processed in the computing system 140 as part of safety-critical functions of automated or partially automated driving. The sensor data from the sensor system 110, for example, make it possible to say where in an area around the vehicle 100, for example at an intersection, which objects are located, for example vehicles, people, obstacles, etc. In the course of processing this data, control data is stored in the computing system 140 for the actuators 130 of the e.g. determines which path the vehicle 100 should take over the intersection at what speed, etc. Since the calculations in the computing system 140 are not based on certified hardware with regard to the safety requirements in the vehicle area in accordance with the ISO 26262 standard and those specified therein “Automotive Safety Integrity Level” (ASIL) can be carried out, the calculations are carried out on several paths 142, 143 as part of the lockstep process.

Zu diesem Zweck ist das Rechensystem 140, insbesondere programmtechnisch, dazu eingerichtet, eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens durchzuführen, das in 2 schematisch als ein Blockdiagramm dargestellt ist und nachfolgend in Bezug auf die 1 und 2 erläutert werden soll.For this purpose, the computing system 140 is set up, in particular in terms of programming, to carry out a preferred embodiment of a method according to the invention, which is in 2 is shown schematically as a block diagram and hereinafter referred to 1 and 2 should be explained.

In einem Schritt 201 erfolgt ein Hochfahren bzw. Starten des Steuergeräts 130 und es wird eine Verbindung von dem Steuergerät 130 zu dem Rechensystem 140 aufgebaut. In einem Schritt 202 wird eine Kenngröße, welche eine Anzahl von Fehlern bei der Verarbeitung der Daten charakterisiert, auf einen Bereitschaftswert festgelegt. Dieser aktuelle Wert der Kenngröße kann in einer Speichereinheit in dem Rechensystem 140 hinterlegt werden.In a step 201, the control device 130 is powered up or started and a connection is established from the control device 130 to the computing system 140. In a step 202, a parameter that characterizes a number of errors in processing the data is set to a ready value. This current value of the parameter can be stored in a storage unit in the computing system 140.

In einem Schritt 203 erfolgt ein Hochfahren der einzelnen Funktionen in dem Rechensystem 140. Sobald alle Funktionen eines entsprechenden Verarbeitungspfads 142, 143 hochgefahren sind, liest der jeweilige Verarbeitungspfad 142, 143 den hinterlegten Wert der Kenngröße aus. Da es sich hierbei um den Startwert handelt, geht der jeweilige Verarbeitungspfad 142, 143 in einen Bereitschaftszustand über.In a step 203, the individual functions in the computing system 140 are started up. As soon as all functions of a corresponding processing path 142, 143 have been started up, the respective processing path 142, 143 reads out the stored value of the parameter. Since this is the starting value, the respective processing path 142, 143 goes into a standby state.

Sobald sich alle Verarbeitungspfade 142, 143 in einem derartigen Bereitschaftszustand befinden, wird in Schritt 204 ein Startwert der Kenngröße festgelegt. Beispielsweise kann als dieser Startwert bzw. als initialer Wert der Wert null festgelegt werden. Dieser neu festgelegte Wert der Kenngröße wird in der Speichereinheit in dem Rechensystem 140 hinterlegt.As soon as all processing paths 142, 143 are in such a ready state, a starting value of the parameter is set in step 204. For example, the value zero can be set as this start value or as the initial value. This newly determined value of the parameter is stored in the storage unit in the computing system 140.

Die beiden Verarbeitungspfade 142, 143 lesen in Schritt 205 diesen aktuellen Startwert aus und beenden ihren Bereitschaftszustand. Das Rechensystem 140 ist nun hochgefahren und bereit, um Daten im Zuge des automatisierten oder teilautomatisierten Fahrens des Fahrzeugs 100 zu verarbeiten.The two processing paths 142, 143 read out this current start value in step 205 and end their standby state. The computing system 140 is now booted up and ready to process data as part of the automated or partially automated driving of the vehicle 100.

Im Zuge dessen empfängt die Verteileinheit 141 des Rechensystems 140 in Schritt 206 im regulären Betrieb des Fahrzeugs 100 die Messwerte der Sensorik 110 als Eingangsdaten, welche als zu verarbeitende Daten an die Verarbeitungspfade 142, 143 übergeben werden sollen. Die Verteilereinheit 141 fügt diesen zu verarbeitenden Daten nach einer vorgegebenen Anzahl von Datennachrichten und/oder nach einem vorgegebenen Zeitintervall jeweils eine Markierung hinzu. Zu diesem Zweck wird jeweils nach einer vorgegebenen Anzahl von Datennachrichten und/oder nach dem vorgegebenen Zeitintervall jeweils eine Markierungsnachricht zwischen zwei Datennachrichten der zu verarbeitenden Daten hinzugefügt, wobei jede dieser Markierungsnachrichten jeweils einen individuellen Markierungswert aufweist. Dieser Markierungswert ist insbesondere ein Zählerwert, welcher mit jeder hinzugefügten Markierungsnachricht erhöht wird. Der aktuelle Zähler- bzw. Markierungswert wird wie der aktuelle Kenngrößenwert in der Speichereinheit hinterlegt.In the course of this, in step 206 during regular operation of the vehicle 100, the distribution unit 141 of the computing system 140 receives the measured values of the sensor system 110 as input data, which are to be transferred to the processing paths 142, 143 as data to be processed. The distribution unit 141 adds a marker to this data to be processed after a predetermined number of data messages and/or after a predetermined time interval. For this purpose, after a predetermined number of data messages and/or after the predetermined time interval, a marking message is added between two data messages of the data to be processed, each of these marking messages having an individual marking value. This marking value is in particular a counter value which is increased with each added marking message. The current counter or marking value is stored in the storage unit like the current characteristic value.

In Schritt 207 werden die zu verarbeitenden Daten von der Verteilereinheit 141 an den ersten Verarbeitungspfad 142 und an den zweiten Verarbeitungspfad 143 übergeben.In step 207, the data to be processed is transferred from the distribution unit 141 to the first processing path 142 and to the second processing path 143.

In Schritt 208 werden die Daten zwischen zwei hinzugefügten Markierungen bzw. zwischen zwei aufeinanderfolgenden Markierungswerten in dem ersten Verarbeitungspfad 142 gemäß einem ersten Verarbeitungsschema zu ersten Ergebnisdaten und in dem zweiten Verarbeitungspfad 143 gemäß einem zweiten Verarbeitungsschema zu zweiten Ergebnisdaten verarbeitet. Auf diese Weise wird von beiden Verarbeitungspfaden 142, 143 stets die identische Datenmenge zu den jeweiligen Ergebnisdaten verarbeitet, wodurch diese Ergebnisdaten miteinander vergleichbar sind. Zu diesem Zweck kann jeder der Verarbeitungspfade 142, 143 nach dem Empfang einer Markierungsnachricht die nachfolgend empfangenen Daten verarbeiten, bis die nächste Markierungsnachricht empfangen wird. Mit dem Empfang der nächsten Markierungsnachricht wird die Verarbeitung der empfangenen Daten beendet und die Ergebnisdaten werden bestimmt und weitergeleitet. Danach wird mit der Verarbeitung der nach der zuletzt empfangenen Markierungsnachricht empfangenen Daten begonnen.In step 208, the data between two added markers or between two consecutive marker values are processed into first result data in the first processing path 142 according to a first processing scheme and into second result data in the second processing path 143 according to a second processing scheme. In this way, the identical amount of data for the respective result data is always processed by both processing paths 142, 143, whereby these result data are comparable with one another. For this purpose, after receiving a marking message, each of the processing paths 142, 143 can process the subsequently received data until the next marking message is received. When the next marking message is received, the processing of the received data is ended and the result data is determined and forwarded. After that, processing of the data received after the last received marking message begins.

In einem Schritt 209 fügen die Verarbeitungspfade 142, 143 den jeweiligen ersten bzw. zweiten Ergebnisdaten jeweils den festgelegten, aktuellen, in der Speichereinheit hinterlegten Wert der Kenngröße hinzu.In a step 209, the processing paths 142, 143 add the specified, current value of the parameter stored in the storage unit to the respective first and second result data.

In Schritt 210 werden die ersten Ergebnisdaten und die zweiten Ergebnisdaten in der Vergleichseinheit 144 miteinander verglichen und somit gegeneinander plausibilisiert.In step 210, the first result data and the second result data are compared with one another in the comparison unit 144 and thus checked for plausibility against one another.

Wenn die ersten und zweiten Ergebnisdaten einander entsprechen, werden in Schritt 211 beispielsweise die ersten Ergebnisdaten als Ergebnis der Datenverarbeitung bereitgestellt und dem Steuergerät 130 als Ansteuerdaten für die Aktorik 120 übergeben. Da in diesem Fall kein Fehler in den beiden Verarbeitungspfaden 142, 143 vorliegt, bedarf es keiner Veränderungen in den Pfaden 142, 143 und es wird mit der Markierung der Daten, der Übergabe der Daten, der Verarbeitung der Daten zu neuen Ergebnisdaten, dem Hinzufügen des aktuellen Kenngrößenwerts und dem erneuten Vergleich der neuen Ergebnisdaten gemäß den Schritten 206, 207, 208, 209, 210 fortgefahren.If the first and second result data correspond to one another, in step 211, for example, the first result data is provided as the result of the data processing and is transferred to the control device 130 as control data for the actuator system 120. Since in this case there is no error in the two processing paths 142, 143, no changes are required in the paths 142, 143 and the marking of the data, the transfer of the data, the processing of the data into new result data, the addition of the current parameter value and the renewed comparison of the new result data continues according to steps 206, 207, 208, 209, 210.

Wenn jedoch die ersten und zweiten Ergebnisdaten einander nicht entsprechen, wird von der Vergleichseinheit 144 in Schritt 212 darauf geschlossen, dass zumindest in einem der beiden Verarbeitungspfade 142, 143 ein Fehler vorliegt. Auch wenn der Vergleichseinheit 144 die ersten Ergebnisdaten und/oder die zweiten Ergebnisdaten jeweils nicht nach einem vergebenen Zeitintervall für den Vergleich vorliegen, wird gemäß Schritt 212 darauf geschlossen, dass zumindest in einem der beiden Verarbeitungspfade 142, 143 ein Fehler vorliegt.However, if the first and second result data do not correspond to one another, the comparison unit 144 concludes in step 212 that there is an error in at least one of the two processing paths 142, 143. Even if the comparison unit 144 does not have the first result data and/or the second result data after an assigned time interval for the comparison, it is concluded in step 212 that there is an error in at least one of the two processing paths 142, 143.

Wenn auf einen derartigen Fehler geschlossen wird, wird in Schritt 213 der Kenngröße ein neuer Wert zugewiesen, beispielsweise indem der in der Speichereinheit hinterlegte Wert der Kenngröße um ein Inkrement erhöht wird. Dieser neue Kenngrößenwert wird in der Speichereinheit entsprechend hinterlegt.If such an error is concluded, a new value is assigned to the parameter in step 213, for example by increasing the value of the parameter stored in the storage unit by an increment. This new parameter value is stored accordingly in the storage unit.

In Schritt 214 werden daraufhin die Ergebnisdaten verworfen. Insbesondere werden alle Ergebnisdaten verworfen, welchen der vor der Änderung in Schritt 213 gültige Kenngrößenwert hinzugefügt wurde.In step 214 the result data is then discarded. In particular, all result data to which the characteristic value valid before the change in step 213 was added is discarded.

In Schritt 215 erfolgt ein Zurücksetzen des ersten Verarbeitungspfads 142 und des zweiten Verarbeitungspfads 143, insbesondere eines Zustands oder Verarbeitungsvorschritt des ersten und zweiten Verarbeitungspfads 142, 143. Beispielsweise lesen die Verarbeitungspfade 142, 143 den in der Speichereinheit hinterlegten aktuellen Kenngrößenwert kontinuierlich aus. Wenn die Verarbeitungspfade 142, 143 die Veränderung des Kenngrößenwerts gemäß Schritt 213 erkennen, können sich die Pfade 142, 143 automatisch selbst zurücksetzen.In step 215, the first processing path 142 and the second processing path 143, in particular a state or processing step of the first and second processing paths 142, 143, are reset. For example, the processing paths 142, 143 continuously read out the current characteristic value stored in the storage unit. If the processing paths 142, 143 detect the change in the parameter value according to step 213, the paths 142, 143 can automatically reset themselves.

Mit diesem Zurücksetzen beginnen die die Verarbeitungspfade 142, 143 gemäß Schritt 208 erneut mit dem Verarbeiten der Daten, die nach der zuletzt hinzugefügten Markierung bzw. nach der zuletzt empfangenen Markierungsnachricht empfangen wurden, zu den jeweiligen Ergebnisdaten.With this reset, the processing paths 142, 143 begin again according to step 208 with processing the data that was received after the last added marker or after the last received marker message into the respective result data.

Das vorliegende Verfahren ermöglicht es, eine Synchronisation der Lockstep-Pfade 142, 143 zu gewährleisten. Durch das getaktete Einschleusen der Markierungen kann eine koordinierte Verarbeitung der eingehenden Datennachrichten ermöglicht werden. Durch Einfügen der Kenngröße kann eine Neusynchronisation der Wirkfunktionen in den Pfaden 142, 143 nach Auftreten von Fehlern ermöglicht werden.The present method makes it possible to ensure synchronization of the lockstep paths 142, 143. The clocked insertion of the markings enables coordinated processing of the incoming data messages become. By inserting the parameter, a resynchronization of the active functions in the paths 142, 143 can be made possible after errors occur.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN THE DESCRIPTION

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.This list of documents listed by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • DE 102021211908 [0006, 0030]DE 102021211908 [0006, 0030]

Zitierte Nicht-PatentliteraturNon-patent literature cited

  • ISO 26262 [0031]ISO 26262 [0031]

Claims (12)

Verfahren zum Verarbeiten von Daten, umfassend die Schritte: Festlegen (204) eines Werts einer Kenngröße, welche eine Anzahl von Fehlern bei der Verarbeitung der Daten charakterisiert; Hinzufügen (206) von Markierungen zu den zu verarbeitenden Daten jeweils nach einer vorgegebenen Anzahl von Datennachrichten der zu verarbeitenden Daten und/oder nach einem vorgegebenen Zeitintervall; Übergeben (207) der zu verarbeitenden Daten an einen ersten Verarbeitungspfad (142) und an einen zweiten Verarbeitungspfad (143); Verarbeiten (208) jeweils von Daten zwischen zwei hinzugefügten Markierungen in dem ersten Verarbeitungspfad (142) gemäß einem ersten Verarbeitungsschema zu ersten Ergebnisdaten und in dem zweiten Verarbeitungspfad (143) gemäß einem zweiten Verarbeitungsschema zu zweiten Ergebnisdaten; Hinzufügen (209) des festgelegten Werts der Kenngröße zu den ersten Ergebnisdaten und zu den zweiten Ergebnisdaten; Vergleichen (210) der ersten Ergebnisdaten und der zweiten Ergebnisdaten; Bereitstellen (211) der ersten Ergebnisdaten und/oder der zweiten Ergebnisdaten als ein Ergebnis, wenn die ersten Ergebnisdaten und die zweiten Ergebnisdaten einander entsprechen; Verwerfen (214) der ersten Ergebnisdaten und der zweiten Ergebnisdaten und Festlegen (213) eines neuen Werts der Kenngröße, wenn die ersten Ergebnisdaten und die zweiten Ergebnisdaten einander nicht entsprechen.Method for processing data, comprising the steps: determining (204) a value of a parameter that characterizes a number of errors in processing the data; adding (206) markings to the data to be processed after a predetermined number of data messages of the data to be processed and/or after a predetermined time interval; Transferring (207) the data to be processed to a first processing path (142) and to a second processing path (143); processing (208) each of data between two added markers in the first processing path (142) according to a first processing scheme into first result data and in the second processing path (143) according to a second processing scheme into second result data; adding (209) the specified value of the parameter to the first result data and to the second result data; comparing (210) the first result data and the second result data; Providing (211) the first result data and/or the second result data as a result when the first result data and the second result data correspond to each other; Discarding (214) the first result data and the second result data and setting (213) a new value of the parameter if the first result data and the second result data do not correspond to one another. Verfahren nach Anspruch 1, ferner umfassend, wenn der neue Wert der Kenngröße festgelegt wird: Zurücksetzen (215) des ersten Verarbeitungspfads (142) und des zweiten Verarbeitungspfads (143); Verarbeiten (208) von Daten nach der zuletzt hinzugefügten Markierung in dem ersten Verarbeitungspfad (142) und in dem zweiten Verarbeitungspfad (143).Procedure according to Claim 1 , further comprising, when the new value of the parameter is set: resetting (215) the first processing path (142) and the second processing path (143); Processing (208) data after the last added mark in the first processing path (142) and in the second processing path (143). Verfahren nach Anspruch 1 oder 2, wobei das Hinzufügen (206) der Markierungen zu den zu verarbeitenden Daten umfasst: Hinzufügen von Markierungsnachrichten zu den zu verarbeitenden Daten, wobei jeweils nach einer vorgegebenen Anzahl von Datennachrichten der zu verarbeitenden Daten und/oder nach einem vorgegebenen Zeitintervall jeweils eine Markierungsnachricht zwischen zwei Datennachrichten der zu verarbeitenden Daten hinzugefügt wird und wobei jede Markierungsnachrichten jeweils einen individuellen Markierungswert aufweist.Procedure according to Claim 1 or 2 , wherein adding (206) the markings to the data to be processed includes: adding marking messages to the data to be processed, with a marking message between two data messages after a predetermined number of data messages of the data to be processed and / or after a predetermined time interval of the data to be processed and each marking message has an individual marking value. Verfahren nach einem der vorstehenden Ansprüche, wobei das Verarbeiten (208) der Daten zwischen zwei hinzugefügten Markierungen in dem ersten Verarbeitungspfad (142) und in dem zweiten Verarbeitungspfad (143) jeweils umfasst: Empfangen einer ersten der zwei hinzugefügten Markierungen, Verarbeiten der nach dieser ersten Markierung empfangenen Daten; Empfangen einer zweiten der zwei hinzugefügten Markierungen; Beenden der Verarbeitung der nach der ersten Markierung empfangenen Daten und Bestimmen der ersten Ergebnisdaten und der zweiten Ergebnisdaten.A method according to any preceding claim, wherein processing (208) the data between two added markers in the first processing path (142) and in the second processing path (143), respectively, comprises: Receiving a first of the two added markers, processing the data received after this first marking; receiving a second of the two added markers; Finishing processing the data received after the first mark and determining the first result data and the second result data. Verfahren nach einem der vorstehenden Ansprüche, ferner umfassend: Verwerfen (214) der ersten Ergebnisdaten und der zweiten Ergebnisdaten und Festlegen (213) des neuen Werts der Kenngröße, wenn der den ersten Ergebnisdaten und/oder der den zweiten Ergebnisdaten hinzugefügte Wert der Kenngröße nicht dem aktuell festgelegten Wert der Kenngröße entspricht.Method according to one of the preceding claims, further comprising: Discarding (214) the first result data and the second result data and setting (213) the new value of the characteristic variable if the value of the characteristic variable added to the first result data and/or the second result data does not correspond to the currently set value of the characteristic variable. Verfahren nach einem der vorstehenden Ansprüche, ferner umfassend: Festlegen (213) des neuen Werts der Kenngröße nach einem Neustart einer der Verarbeitungspfade (142, 143).Method according to one of the preceding claims, further comprising: Setting (213) the new value of the parameter after restarting one of the processing paths (142, 143). Verfahren nach einem der vorstehenden Ansprüche, ferner umfassend: Festlegen (213) des neuen Werts der Kenngröße, wenn die ersten Ergebnisdaten und/oder die zweiten Ergebnisdaten jeweils nicht nach einem vergebenen Zeitintervall vorliegen.Method according to one of the preceding claims, further comprising: Determining (213) the new value of the parameter if the first result data and/or the second result data are not available after an assigned time interval. Verfahren nach einem der vorstehenden Ansprüche, ferner umfassend: Bestimmen eines Zeitintervalls zwischen zwei nacheinander bestimmten ersten Ergebnisdaten und/oder zwei nacheinander bestimmten zweiten Ergebnisdaten und Anpassen einer Häufigkeit, mit welcher die Markierungen zu den zu verarbeitenden Daten hinzugefügt werden abhängig von dem bestimmten Zeitintervall.Method according to one of the preceding claims, further comprising: Determining a time interval between two successively determined first result data and/or two successively determined second result data and Adjusting a frequency at which the markers are added to the data to be processed depending on the specific time interval. Verfahren nach einem der vorstehenden Ansprüche, ferner umfassend: Festlegen (202) eines Bereitschaftswerts der Kenngröße; Überführen (203) des ersten Verarbeitungspfads (142) und des zweiten Verarbeitungspfads (143) in einen Bereitschaftszustand; Festlegen (204) eines Startwerts der Kenngröße; Beenden (205) des Bereitschaftszustands des ersten Verarbeitungspfads (142) und des zweiten Verarbeitungspfads (143) und Beginnen des Verarbeitens (208) der Daten in dem ersten Verarbeitungspfad (142) und in dem zweiten Verarbeitungspfad (143).Method according to one of the preceding claims, further comprising: determining (202) a readiness value of the parameter; transferring (203) the first processing path (142) and the second processing path (143) to a standby state; Setting (204) a starting value of the parameter; Terminating (205) the standby state of the first processing path (142) and the second processing path (143) and starting processing (208) of the data in the first Processing path (142) and in the second processing path (143). Rechensystem (140), insbesondere verteiltes Rechensystem, das dazu eingerichtet ist, alle Verfahrensschritte eines Verfahrens nach einem der vorstehenden Ansprüche durchzuführen.Computing system (140), in particular a distributed computing system, which is designed to carry out all method steps of a method according to one of the preceding claims. Computerprogramm, das ein Rechensystem (140) dazu veranlasst, alle Verfahrensschritte eines Verfahrens nach einem der Ansprüche 1 bis 9 durchzuführen, wenn es auf dem Rechensystem (140) ausgeführt wird.Computer program that causes a computing system (140) to carry out all procedural steps of a method according to one of the Claims 1 until 9 to be carried out when it is executed on the computing system (140). Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 11.Machine-readable storage medium with a computer program stored on it Claim 11 .
DE102022205517.9A 2022-05-31 2022-05-31 Methods for processing data Pending DE102022205517A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102022205517.9A DE102022205517A1 (en) 2022-05-31 2022-05-31 Methods for processing data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022205517.9A DE102022205517A1 (en) 2022-05-31 2022-05-31 Methods for processing data

Publications (1)

Publication Number Publication Date
DE102022205517A1 true DE102022205517A1 (en) 2023-11-30

Family

ID=88697251

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022205517.9A Pending DE102022205517A1 (en) 2022-05-31 2022-05-31 Methods for processing data

Country Status (1)

Country Link
DE (1) DE102022205517A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021211908A1 (en) 2021-10-21 2023-04-27 Robert Bosch Gesellschaft mit beschränkter Haftung Methods for processing data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021211908A1 (en) 2021-10-21 2023-04-27 Robert Bosch Gesellschaft mit beschränkter Haftung Methods for processing data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ISO 26262

Similar Documents

Publication Publication Date Title
DE102014102582A1 (en) Fault-tolerant control system
EP2513796B1 (en) Method for operating a processor
EP3211533A1 (en) Fault-tolerant system architecture for controlling a physical installation, particularly of a machine or of a motor vehicle
DE112011105021B4 (en) redundancy device
WO2018233934A1 (en) Device and method for controlling a vehicle module
DE102021211908A1 (en) Methods for processing data
DE102016001034A1 (en) Apparatus and method for controlling an electronic parking brake
DE112016006679B4 (en) Control device and recovery processing method for control device
DE102015218898A1 (en) Method for the redundant processing of data
DE102022205517A1 (en) Methods for processing data
WO2022084176A1 (en) Data processing network for performing data processing
DE102015218890A1 (en) Method and apparatus for generating an output data stream
DE102018222086A1 (en) Control arrangement for a vehicle, vehicle and method for configuring an in-vehicle system
DE102012212680A1 (en) Method and system for fault-tolerant control of actuators for a limited time based on pre-calculated values
EP3797352B1 (en) Method for exchanging a first executable program code and a second executable program code, and control unit
WO2021144271A1 (en) Method and apparatus for reconfiguring an autonomous vehicle in the event of a fault
WO2023066625A1 (en) Data processing network for performing data processing
DE102021211709A1 (en) Data processing network for data processing
DE102022208390A1 (en) Methods for processing data
DE19801992C2 (en) Process for improving system availability after processor processor failure
DE102021213472A1 (en) Method for executing a driving task in a decentralized control unit system and decentralized control unit system
EP2701065A1 (en) Method for operating a redundant automation system
DE102020216481A1 (en) Method of operating a controller and controller
DE102021206133A1 (en) Control system for at least one receiving device in safety-critical applications
EP3331740B1 (en) Method for operating a control device and diagnosis system