-
Stand der Technik
-
Die Offenbarung betrifft ein Verfahren zum Verarbeiten von Daten.
-
Die Offenbarung betrifft ferner eine Vorrichtung zum Verarbeiten von Daten.
-
Offenbarung der Erfindung
-
Beispielhafte Ausführungsformen beziehen sich auf ein Verfahren, beispielsweise computerimplementiertes Verfahren, zum Verarbeiten von Daten, beispielsweise für Anwendungen im Bereich Cloud-Computing und/oder Edge-Computing, beispielsweise für Fahrzeuge, aufweisend: Bereitstellen mehrerer Computing-Dienste, unter Verwendung wenigstens zwei verschiedener Hardware-Ressourcen, Verwenden der mehreren Computing-Dienste. Dadurch kann bei weiteren beispielhaften Ausführungsformen die Sicherheit gesteigert werden, so dass z.B. auch sicherheitskritische Anwendungen bzw. Berechnungen mittels der mehreren Computing-Dienste zuverlässig ausführbar sind.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass wenigstens zwei der mehreren Computing-Dienste jeweils unterschiedliche Ressourcen, beispielsweise Hardware-Ressourcen und/oder Software-Ressourcen verwenden.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass wenigstens einer der mehreren Computing-Dienste zur Ausführung von wenigstens einem der folgenden Elemente ausgebildet ist: a) Computerprogramm, b) Berechnungsaufgabe, beispielsweise computation task, c) Auswertung eines Algorithmus, beispielsweise auf dem Gebiet der künstlichen Intelligenz bzw. des maschinellen Lernens, d) Inferenz.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass wenigstens zwei der mehreren Computing-Dienste, beispielsweise zumindest teilweise, redundant zueinander sind.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Bereitstellen einer ersten Verarbeitungseinheit, beispielsweise Verarbeitungs-Pipeline, wobei der ersten Verarbeitungseinheit eine erste Anzahl von, beispielsweise redundanten, Computing-Diensten, beispielsweise der mehreren Computing-Dienste, zugeordnet sind, und, optional, Bereitstellen einer zweiten Verarbeitungseinheit, beispielsweise Verarbeitungs-Pipeline, wobei der zweiten Verarbeitungseinheit eine zweite Anzahl von, beispielsweise redundanten, Computing-Diensten, beispielsweise der mehreren Computing-Dienste, zugeordnet sind.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren wenigstens eines der folgenden Elemente aufweist: a) Skalieren von mit wenigstens einem Computing-Dienst der mehreren Computing-Dienste assoziierten Ressourcen, b) Skalieren von mit wenigstens einer Verarbeitungseinheit assoziierten Ressourcen, wobei beispielsweise das Skalieren der Ressourcen ein Verringern oder ein Vergrößern der Ressourcen aufweist, c) Skalieren einer Anzahl der Verarbeitungseinheiten.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Skalieren während eines Betriebs, beispielsweise während der Verwendung der mehreren Computing-Dienste, beispielsweise während der Verwendung von wenigstens einer mit den mehreren Computing-Diensten assoziierten Verarbeitungseinheit, ausgeführt wird.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Ausführen eines Lastausgleichs, beispielsweise load balancing, beispielsweise zwischen den mehreren Computing-Diensten und/oder zwischen mehreren Verarbeitungseinheiten.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Skalieren und/oder das Ausführen des Lastausgleichs basierend auf wenigstens einem der folgenden Elemente ausgeführt wird: a) Anzahl von Anfragen, beispielsweise von Clients, b) wenigstens ein vorgebbares Kriterium, beispielsweise Qualitätskriterium, beispielsweise wenigstens ein mit einer Anwendung bzw. einem Dienst assoziiertes Qualitätskriterium, c) wenigstens eine Sicherheitsanforderung.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Verwenden von Hardware-Ressourcen wenigstens eines der folgenden Typen: a) Recheneinrichtung mit einem oder mehreren Rechenkernen, b) Prozessor, beispielsweise Zentralprozessor, CPU, c) Grafikprozessor, GPU, d) programmierbare Logikschaltung, beispielsweise FPGA, e) Hardwareschaltung, f) anwendungsspezifischer Schaltkreis, z.B. ASIC, g) Mikrocontroller, h) Cloud-System.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Ermitteln und/oder zumindest zeitweises Speichern einer Identifikation, die wenigstens eine Hardware-Ressource der zwei verschiedenen Hardware-Ressourcen charakterisiert, und, optional, Auswerten bzw. Validieren einer Konfiguration der Hardware-Ressourcen, und, optional, Bewerten einer Validität von mittels der mehreren Computing-Dienste erhaltenen bzw. erhaltbaren Ergebnisse, beispielsweise Berechnungsergebnisse.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Ermitteln und/oder Überwachen einer Integrität wenigstens eines der folgenden Elemente: a) wenigstens ein Computing-Dienst, beispielsweise der mehreren Computing-Dienste, b) wenigstens eine Hardware-Ressource, beispielsweise der wenigstens zwei verschiedenen Hardware-Ressourcen, c) wenigstens eine Verarbeitungseinheit.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Austauschen wenigstens eines der folgenden Elemente: a) a) wenigstens ein Computing-Dienst, beispielsweise der mehreren Computing-Dienste, b) wenigstens eine Hardware-Ressource, beispielsweise der wenigstens zwei verschiedenen Hardware-Ressourcen, c) wenigstens eine Verarbeitungseinheit, wobei beispielsweise das Austauschen vorgenommen wird, wenn ein Fehler erkannt worden ist, beispielsweise eine Verletzung der Integrität ermittelt bzw. erkannt worden ist.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Identifizieren einer fehlerhaften Komponente, und, optional, zumindest zeitweises Verwenden der fehlerhaften Komponente, beispielsweise um einen Zustand bzw. eine Integrität der fehlerhaften Komponente zu bewerten.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Verlagern einer, beispielsweise geografischen, Position wenigstens eines der folgenden Elemente: a) wenigstens ein Computing-Dienst, beispielsweise der mehreren Computing-Dienste, b) wenigstens eine Hardware-Ressource, beispielsweise der wenigstens zwei verschiedenen Hardware-Ressourcen, c) wenigstens eine Verarbeitungseinheit, beispielsweise basierend auf wenigstens einem der folgenden Elemente: A) einer, beispielsweise geografischen, Position wenigstens eines Nutzers wenigstens eines der mehreren Computing-Dienste, beispielsweise eines Clients, B) einer Signallaufzeit zwischen dem wenigstens einen Nutzer und wenigstens einem der mehreren Computing-Dienste.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Bereitstellen einer Berechnungsaufgabe für ein Fahrzeug, beispielsweise Kraftfahrzeug, wobei beispielsweise die Berechnungsaufgabe redundant und außerhalb des Fahrzeugs ausgeführt werden soll, Ausführen der Berechnungsaufgabe, beispielsweise redundant, beispielsweise mittels redundanter Software-Ressourcen und/oder mittels redundanter Hardware-Ressourcen, und außerhalb des Fahrzeugs, beispielsweise mittels wenigstens zwei Computing-Diensten der mehreren Computing-Dienste, wobei beispielsweise die wenigstens zwei Computing-Dienste jeweils mit wenigstens einem Edge-Server und/oder wenigstens einem Cloud-Server assoziiert sind, wobei beispielsweise mehrere Berechnungsergebnisse erhalten werden.
-
Bei weiteren beispielhaften Ausführungsformen erfolgt das Bereitstellen der Berechnungsaufgabe für das Fahrzeug beispielsweise durch das Fahrzeug bzw. eine Komponente (z.B. Steuergerät) des Fahrzeugs.
-
Bei weiteren beispielhaften Ausführungsformen erfolgt das Bereitstellen der Berechnungsaufgabe für das Fahrzeug z.B. durch eine extern des Fahrzeugs angeordnete Einheit bzw. eine andere Einheit als das Fahrzeug (z.B. Leitstelle, Infrastrukturkomponente, digitaler Zwilling des Fahrzeugs, usw.).
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Übermitteln der mehreren Berechnungsergebnisse an das Fahrzeug.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Empfangen der mehreren Berechnungsergebnisse, beispielsweise in dem Fahrzeug und Vergleichen der mehreren Berechnungsergebnisse, und, optional, basierend auf dem Vergleichen, Verifizieren der mehreren Berechnungsergebnisse (und, optional, Verwenden der Berechnungsergebnisse) oder, optional, Ausführen einer Ersatzreaktion (z.B. Verwerfen wenigstens eines der mehreren Berechnungsergebnisse und/oder der Berechnungsaufgabe, Fehlermeldung, z.B. an eine weitere Komponente z.B. des Fahrzeugs, Überführen wenigstens einer Komponente bzw. wenigstens eines Systems des Fahrzeugs in einen vorgebbaren, beispielsweise sicheren, Zustand).
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein Verfahren aufweisend wenigstens eines der folgenden Elemente: a) Bereitstellen einer Berechnungsaufgabe für ein Fahrzeug, beispielsweise Kraftfahrzeug, wobei beispielsweise die Berechnungsaufgabe redundant und außerhalb des Fahrzeugs ausgeführt werden soll, b) Ausführen der Berechnungsaufgabe, beispielsweise redundant, beispielsweise mittels redundanter Software-Ressourcen und/oder mittels redundanter Hardware-Ressourcen, und außerhalb des Fahrzeugs, beispielsweise mittels wenigstens zwei Computing-Diensten der mehreren Computing-Dienste, wobei beispielsweise die wenigstens zwei Computing-Dienste jeweils mit wenigstens einem Edge-Server und/oder wenigstens einem Cloud-Server assoziiert sind, wobei beispielsweise mehrere Berechnungsergebnisse erhalten werden, c) Übermitteln der mehreren Berechnungsergebnisse an das Fahrzeug, d) Empfangen der mehreren Berechnungsergebnisse, beispielsweise in dem Fahrzeug, e) Vergleichen der mehreren Berechnungsergebnisse, z.B. mittels einer Komponente des Fahrzeugs, und, optional, basierend auf dem Vergleichen, f) Verifizieren der mehreren Berechnungsergebnisse, g) Verwenden der Berechnungsergebnisse, h) Ausführen einer Ersatzreaktion (z.B. Verwerfen wenigstens eines der mehreren Berechnungsergebnisse und/oder der Berechnungsaufgabe, Fehlermeldung, z.B. an eine weitere Komponente z.B. des Fahrzeugs, Überführen wenigstens einer Komponente bzw. wenigstens eines Systems des Fahrzeugs in einen vorgebbaren, beispielsweise sicheren, Zustand).
-
Weitere beispielhafte Ausführungsformen beziehen sich auf eine Vorrichtung zur Ausführung des Verfahrens gemäß den Ausführungsformen.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein System, beispielsweise ein Cloud-System, aufweisend wenigstens eine Vorrichtung gemäß den Ausführungsformen und wenigstens zwei, beispielsweise voneinander verschiedene, Hardware-Ressourcen.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein Verfahren, beispielsweise ein computerimplementiertes Verfahren, zum Verarbeiten von Daten, beispielsweise für Fahrzeuge, aufweisend: Verwenden wenigstens eines Computing-Dienstes, der mittels eines Verfahrens gemäß den Ausführungsformen und/oder mittels einer Vorrichtung gemäß den Ausführungsformen und/oder einem System gemäß den Ausführungsformen bereitgestellt wird bzw. bereitstellbar ist.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren weiter aufweist: Senden einer Anfrage, beispielsweise einer Anfrage für die Berechnung einer Rechenaufgabe, und, optional, Empfangen wenigstens einer, beispielsweise ein Ergebnis der Berechnung charakterisierenden, Antwort.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren weiter wenigstens eines der folgenden Elemente aufweist: a) beispielsweise im Falle eines Empfangens mehrerer Antworten, Vergleichen der mehreren Antworten, b) beispielsweise im Falle eines Empfangens mehrerer Antworten, Auswählen wenigstens einer der mehreren Antworten.
-
Bei weiteren beispielhaften Ausführungsformen können bei einer erkannten Abweichung der mehreren Ergebnisse bzw. Antworten voneinander die Ergebnisse bzw. die Antworten verworfen werden. Beispielsweise kann bei weiteren beispielhaften Ausführungsformen bei einer erkannten Abweichung der mehreren Ergebnisse bzw. Antworten voneinander wenigstens eine neue Anfrage gestellt werden, und/oder es kann wenigstens eine, z.B. von den Ergebnissen unabhängige, Reaktion des Fahrzeugs erfolgen (zum Beispiel Übergang in einen „Safe State“).
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein computerlesbares Speichermedium, umfassend Befehle, die bei der Ausführung durch einen Computer diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein Computerprogramm, umfassend Befehle, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein Datenträgersignal, das das Computerprogramm gemäß den Ausführungsformen überträgt und/oder charakterisiert.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein Fahrzeug, beispielsweise Kraftfahrzeug, mit wenigstens einer Vorrichtung gemäß den Ausführungsformen.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf eine Verwendung des Verfahrens gemäß den Ausführungsformen und/oder der Vorrichtung gemäß den Ausführungsformen und/oder des Systems gemäß den Ausführungsformen und/oder des computerlesbaren Speichermediums gemäß den Ausführungsformen und/oder des Computerprogramms gemäß den Ausführungsformen und/oder des Datenträgersignals gemäß den Ausführungsformen und/oder des Fahrzeugs gemäß den Ausführungsformen für wenigstens eines der folgenden Elemente: a) Vermeiden eines systematischen Mehrfachausfalls, b) Vermeiden von common cause failures, c) Erkennen von Fehlern, beispielsweise während einer Ausführung eines Computerprogramms, d) Bereitstellen wenigstens eines sicheren Computing-Dienstes und/oder wenigstens einer sicheren Verarbeitungseinheit, e) Ermöglichen einer sicheren und/oder zuverlässigen Ausführung von Software, beispielsweise sicherheitskritischer Software, beispielsweise unter Verwendung eines Cloud-Systems, f) Auslagern von Berechnungen, beispielsweise sicherheitskritischer Berechnungen eines Fahrzeugs, aus einem System des Fahrzeugs, beispielsweise aus einem Steuergerät und/oder Fahrzeugcomputer des Fahrzeugs, beispielsweise in ein entfernt angeordnetes System, beispielsweise ein Cloud-System und/oder ein Edge-Computing-System bzw. wenigstens einen Edge-Server, g) Verwenden von Ressourcen wenigstens eines Edge-Servers und/oder wenigstens eines Cloud-Servers für eine redundante Ausführung einer Berechnungsaufgabe für ein Fahrzeug außerhalb des Fahrzeugs und Bewerten von bei der redundanten Ausführung der Berechnungsaufgabe erhaltenen Berechnungsergebnissen, beispielsweise Vergleichen der erhaltenen Berechnungsergebnissen, durch eine Komponente, beispielsweise ein Steuergerät, des Fahrzeugs.
-
Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen der Erfindung, die in den Figuren der Zeichnung dargestellt sind. Dabei bilden alle beschriebenen oder dargestellten Merkmale für sich oder in beliebiger Kombination den Gegenstand der Erfindung, unabhängig von ihrer Zusammenfassung in den Ansprüchen oder deren Rückbeziehung sowie unabhängig von ihrer Formulierung bzw. Darstellung in der Beschreibung bzw. in der Zeichnung.
-
In der Zeichnung zeigt:
- 1 schematisch ein vereinfachtes Flussdiagramm gemäß beispielhaften Ausführungsformen,
- 2 schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 3A schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 3B schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 4 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 5 schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 6 schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 7 schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 8 schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 9 schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 10 schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 11 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 12 schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 13 schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 14 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 15 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 16 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 17 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 18 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 19 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen,
- 20 schematisch Aspekte von Verwendungen gemäß weiteren beispielhaften Ausführungsformen, und
- 21 schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen.
-
Beispielhafte Ausführungsformen, vgl. 1, beziehen sich auf ein Verfahren, beispielsweise ein computerimplementiertes Verfahren, zum Verarbeiten von Daten, beispielsweise für Anwendungen im Bereich Cloud-Computing und/oder Edge-Computing, beispielsweise für Fahrzeuge 10 (15), aufweisend: Bereitstellen 100 (1) mehrerer Computing-Dienste CD1, CD2, unter Verwendung wenigstens zwei verschiedener Hardware-Ressourcen HR1, HR2 (bzw. allgemein unter Verwendung wenigstens zwei verschiedener (Hardware- und/oder Software-) Ressourcen RES1, RES2, Verwenden 102 der mehreren Computing-Dienste CD1, CD2. Dadurch kann bei weiteren beispielhaften Ausführungsformen die Sicherheit gesteigert werden, so dass z.B. auch sicherheitskritische Anwendungen bzw. Berechnungen mittels der mehreren Computing-Dienste CD1, CD2 zuverlässig ausführbar sind.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass wenigstens zwei der mehreren Computing-Dienste CD1, CD2 jeweils unterschiedliche Ressourcen RES1, RS2, beispielsweise Hardware-Ressourcen HR1, HR2 und/oder Software-Ressourcen (nicht gezeigt) verwenden.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass wenigstens einer der mehreren Computing-Dienste CD1, CD2 zur Ausführung von wenigstens einem der folgenden Elemente ausgebildet ist: a) Computerprogramm, b) Berechnungsaufgabe, beispielsweise computation task, c) Auswertung eines Algorithmus, beispielsweise auf dem Gebiet der künstlichen Intelligenz bzw. des maschinellen Lernens, d) Inferenz.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass wenigstens zwei der mehreren Computing-Dienste CD1, CD2, beispielsweise zumindest teilweise, redundant zueinander sind, also beispielsweise zumindest zeitweise dieselben Computerprogramme und/oder Berechnungen oder dergleichen ausführen.
-
Bei weiteren beispielhaften Ausführungsformen, 2, 3A, 3B, ist vorgesehen, dass das Verfahren aufweist: Bereitstellen 110 einer ersten Verarbeitungseinheit, beispielsweise Verarbeitungs-Pipeline, VP1 wobei der ersten Verarbeitungseinheit VP1 eine erste Anzahl von, beispielsweise redundanten, Computing-Diensten CD1-1, CD1-2, beispielsweise der mehreren Computing-Dienste CD1, CD2, zugeordnet sind, und, optional, Bereitstellen 112 einer zweiten Verarbeitungseinheit, beispielsweise Verarbeitungs-Pipeline, VP2 wobei der zweiten Verarbeitungseinheit VP2 eine zweite Anzahl von, beispielsweise redundanten, Computing-Diensten CD2-1, CD2-2, beispielsweise der mehreren Computing-Dienste CD1, CD2, zugeordnet sind.
-
Bei weiteren beispielhaften Ausführungsformen, 4, ist vorgesehen, dass das Verfahren wenigstens eines der folgenden Elemente aufweist: a) Skalieren 115 von mit wenigstens einem Computing-Dienst CD1, CD2 (1) der mehreren Computing-Dienste assoziierten Ressourcen (z.B. Hardware- und/oder Software- Ressourcen), b) Skalieren 116 von mit wenigstens einer Verarbeitungseinheit VP1, VP2 (2, 3A, 3B) assoziierten Ressourcen (z.B. Hardware- und/oder Software-Ressourcen), wobei beispielsweise das Skalieren 115, 116 der Ressourcen ein Verringern oder ein Vergrößern der Ressourcen aufweist, c) Skalieren 117 einer Anzahl der Verarbeitungseinheiten VP1, VP2.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Skalieren 115, 116, 117 während eines Betriebs, beispielsweise während der Verwendung der mehreren Computing-Dienste CD1, CD2, beispielsweise während der Verwendung von wenigstens einer mit den mehreren Computing-Diensten assoziierten Verarbeitungseinheit VP1, VP2, ausgeführt wird.
-
Bei weiteren beispielhaften Ausführungsformen, 5, ist vorgesehen, dass das Verfahren aufweist: Ausführen 120 eines Lastausgleichs, beispielsweise load balancing, beispielsweise zwischen den mehreren Computing-Diensten CD1, CD2 und/oder zwischen mehreren Verarbeitungseinheiten VP1, VP2. Der optionale Block 122 symbolisiert eine optionale Verwendung der mehreren Computing-Dienste CD1, CD2, z.B. nach dem Lastausgleich 120.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Skalieren 115, 116, 117 (4) und/oder das Ausführen 120 (5) des Lastausgleichs basierend auf wenigstens einem der folgenden Elemente ausgeführt wird: a) Anzahl NA von Anfragen, beispielsweise von Clients, b) wenigstens ein vorgebbares Kriterium QK, beispielsweise Qualitätskriterium QK, beispielsweise wenigstens ein mit einer Anwendung bzw. einem Dienst assoziiertes Qualitätskriterium QK, c) wenigstens eine Sicherheitsanforderung SA.
-
Bei weiteren beispielhaften Ausführungsformen kann als vorgebbares Kriterium QK z.B. eine geringstmögliche Latenz oder eine kleinste Streuung einer Berechnungsdauer usw. dienen.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, basierend auf der wenigstens einen Sicherheitsanforderung SA eine, beispielsweise Sicherheitsanforderungen berücksichtigende Konfiguration z.B. eines Cloud-Systems 1000 (11, 15, ...) bereitzustellen und/oder anzuwenden und/oder durchzusetzen und/oder anzupassen.
-
Bei weiteren beispielhaften Ausführungsformen, 6, ist vorgesehen, dass das Verfahren aufweist: Verwenden 130 von Hardware-Ressourcen wenigstens eines der folgenden Typen: a) Recheneinrichtung RE mit einem oder mehreren Rechenkernen, b) Prozessor CPU, beispielsweise Zentralprozessor, c) Grafikprozessor GPU (z.B. zum Trainieren und/oder Ausführen bzw. Auswerten (Inferenz) wenigstens eines künstlichen neuronalen Netzes, KNN), d) programmierbare Logikschaltung PL, beispielsweise FPGA (field programmable gate array), e) Hardwareschaltung HWS, f) anwendungsspezifischer Schaltkreis AC, z.B. ASIC, g) Mikrocontroller MC, h) Cloud-System CS.
-
Der optionale Block 132 symbolisiert eine optionale Verwendung der mehreren Computing-Dienste CD1, CD2, z.B. basierend auf einer oder mehrere der vorstehend genannten Ressourcen.
-
Bei weiteren beispielhaften Ausführungsformen, 7, ist vorgesehen, dass das Verfahren aufweist: Ermitteln 135 und/oder Bereitstellen und/oder zumindest zeitweises Speichern 136 einer Identifikation HW-ID, die wenigstens eine Hardware-Ressource HR1 (1) der zwei verschiedenen Hardware-Ressourcen HR1, HR2 charakterisiert, und, optional, Auswerten 137 bzw. Validieren einer Konfiguration der Hardware-Ressourcen, und, optional, Bewerten 138 einer Validität von mittels der mehreren Computing-Dienste CD1, CD2 erhaltenen bzw. erhaltbaren Ergebnisse, beispielsweise Berechnungsergebnisse.
-
Bei weiteren beispielhaften Ausführungsformen kann die Identifikation HW-ID z.B. (mit) übermittelt und z.B. in späteren Verarbeitungsschritten ausgewertet werden, z.B., um sicherzustellen, dass wirklich redundant gerechnet wurde und/oder um potenziell fehlerhafte Verarbeitungseinheiten eindeutig identifizieren zu können.
-
Bei weiteren beispielhaften Ausführungsformen, 8, ist vorgesehen, dass das Verfahren aufweist: Ermitteln 140 und/oder Überwachen 141 einer Integrität INT wenigstens eines der folgenden Elemente: a) wenigstens ein Computing-Dienst, beispielsweise der mehreren Computing-Dienste CD1, CD2, b) wenigstens eine Hardware-Ressource, beispielsweise der wenigstens zwei verschiedenen Hardware-Ressourcen HR1, HR2, c) wenigstens eine Verarbeitungseinheit VP1, VP2.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Austauschen 142 wenigstens eines der folgenden Elemente: a) wenigstens ein Computing-Dienst, beispielsweise der mehreren Computing-Dienste CD1, CD2, b) wenigstens eine Hardware-Ressource, beispielsweise der wenigstens zwei verschiedenen Hardware-Ressourcen HR1, HR2, c) wenigstens eine Verarbeitungseinheit VP1, VP2, wobei beispielsweise das Austauschen 142 vorgenommen wird, wenn ein Fehler erkannt worden ist, beispielsweise eine Verletzung der Integrität INT ermittelt bzw. erkannt worden ist, vgl. z.B. Block 140 gemäß 8.
-
Der optionale Block 14 symbolisiert eine optionale Verwendung der mehreren Computing-Dienste CD1, CD2, beispielsweise nach dem Austausch 142.
-
Bei weiteren beispielhaften Ausführungsformen, 9, ist vorgesehen, dass das Verfahren aufweist: Identifizieren 150 einer fehlerhaften Komponente FK (z.B. charakterisierbar durch Hardware und/oder Software), und, optional, zumindest zeitweises Verwenden 152 der fehlerhaften Komponente FK, beispielsweise um einen Zustand ZUST bzw. eine Integrität der fehlerhaften Komponente FK zu bewerten.
-
Bei weiteren beispielhaften Ausführungsformen können ein oder mehrere statistische Auswertungen bezüglich fehlerhafter Komponenten bzw. fehlerhafter Berechnungen ausgeführt werden, beispielsweise um ein Diagnose-Framework bereitzustellen. Bei weiteren beispielhaften Ausführungsformen ist das Diagnose-Framework dazu ausgebildet, fehlerhafte Komponenten FK z. B. von Verarbeitungs-Pipelines VP1, VP2 zu identifizieren und/oder zu ersetzen und/oder eine gesamte Verarbeitungs-Pipeline zu ersetzen, beispielsweise während eines Betriebs.
-
Bei weiteren beispielhaften Ausführungsformen können fehlerhafte Komponenten FK weiter betrieben werden, beispielsweise zur Ausführung von redundanten Berechnungen, z.B. um zu testen, ob die fehlerhafte Komponente dauerhaft fehlerhaft arbeitet oder ob z.B. nur ein singulärer Fehler aufgetreten ist. Bei weiteren beispielhaften Ausführungsformen werden die Berechnungsergebnisse einer solchen zu testenden fehlerhaften Komponente FK zumindest zunächst nicht verwendet, bzw. allenfalls für einen Vergleich mit Berechnungsergebnissen von nicht fehlerhaften Komponenten. Sofern bei weiteren beispielhaften Ausführungsformen Fehler fortbestehen bzw. erneut auftreten kann eine fehlerhafte Komponente FK bei weiteren beispielhaften Ausführungsformen deaktiviert werden. Andernfalls kann die fehlerhafte Komponente FK bei weiteren beispielhaften Ausführungsformen z.B. als nicht mehr fehlerhaft betrachtet und z.B. erneut regulär eingesetzt werden.
-
Bei weiteren beispielhaften Ausführungsformen, 10, ist vorgesehen, dass das Verfahren aufweist: Verlagern 160 einer, beispielsweise geografischen, Position POS wenigstens eines der folgenden Elemente: a) wenigstens ein Computing-Dienst, beispielsweise der mehreren Computing-Dienste CD1, CD2, b) wenigstens eine Hardware-Ressource, beispielsweise der wenigstens zwei verschiedenen Hardware-Ressourcen HR1, HR2, c) wenigstens eine Verarbeitungseinheit VP1, VP2, beispielsweise basierend auf wenigstens einem der folgenden Elemente: A) einer, beispielsweise geografischen, Position wenigstens eines Nutzers 10 (11, 15, ...) wenigstens eines der mehreren Computing-Dienste CD1, CD2, beispielsweise eines Clients, B) einer Signallaufzeit zwischen dem wenigstens einen Nutzer und wenigstens einem der mehreren Computing-Dienste CD1, CD2.
-
Der optionale Block 162 symbolisiert eine optionale Verwendung der mehreren Computing-Dienste CD1, CD2, z.B. nach dem Verlagern 160 der Position POS.
-
Beispielsweise kann bei weiteren beispielhaften Ausführungsformen eine Edge-Computing Infrastruktur bzw. ein Cloud- bzw. Edge-Computing System bereitgestellt werden, bei dem zuverlässige Verarbeitungs-Pipelines VP1, VP2 z.B. mit geringer Latenz nutzbar sind. Beispielsweise kann hierzu z.B. dynamisch wenigstens eine Hardware-Ressource für die Verarbeitungs-Pipelines VP1, VP2 gewählt werden, die möglichst nahe an einem Client (z.B. Fahrzeug 10 bzw. Steuergerät oder Fahrzeug-Computer des Fahrzeugs 10) angeordnet ist, beispielsweise im Bereich einer Basisstation z.B. eines drahtlosen Kommunikationssystems, in deren Wirkungsbereich sich das Fahrzeug befindet.
-
Bei weiteren beispielhaften Ausführungsformen kann eine Konfiguration bzw. Ressourcenplanung („scheduling“) der Verarbeitungs-Pipelines VP1, VP2 z.B. dem Fahrzeug 10 „folgen“, wobei z.B. die Verarbeitungs-Pipelines VP1, VP2 räumlich, z.B. geografisch, verlagert werden basierend auf einer Position des Fahrzeugs 10, so dass z.B. kommunikationsbedingte Latenzen minimiert werden können.
-
Bei weiteren beispielhaften Ausführungsformen kann das Verlagern ein Starten bzw. Neustarten von Verarbeitungs-Pipelines VP1, VP2 z.B. auf einem neuen Edge-Server bzw. Edge-Computer aufweisen, an den sich das Fahrzeug angenähert hat.
-
Bei weiteren beispielhaften Ausführungsformen kann das Verlagern ein „Umziehen“ („Handover“) der Verarbeitungs-Pipelines VP1, VP2 z.B. von einem ersten Edge-Computer zu einem zweiten Edge-Computer aufweisen. Bei weiteren beispielhaften Ausführungsformen kann ein solcher Handover z.B. auch das Übermitteln von Zwischenergebnissen von Berechnungen der Verarbeitungs-Pipelines VP1, VP2 z.B. von dem ersten Edge-Computer zu dem zweiten Edge-Computer aufweisen, z.B. basierend auf einer Anwendung.
-
Weitere beispielhafte Ausführungsformen, 11, beziehen sich auf eine Vorrichtung 200, 200' zur Ausführung des Verfahrens gemäß den Ausführungsformen.
-
Die Vorrichtung 200 weist eine wenigstens einen Rechenkern 202a, 202b, 202c aufweisende Recheneinrichtung 202 („Computer“) und eine der Recheneinrichtung 202 zugeordnete Speichereinrichtung 204 zur zumindest zeitweisen Speicherung von Daten DAT und/oder Computerprogrammen PRG aufweist. Die Speichereinrichtung 204 kann z.B. einen flüchtigen Speicher 204a (z.B. Arbeitsspeicher, RAM) aufweisen, und/oder einen nichtflüchtigen Speicher 204b (z.B. Flash-EEPROM).
-
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Vorrichtung 200 eine, vorzugsweise bidirektionale, Datenschnittstelle 206 aufweist, z.B. für eine Datenkommunikation mit wenigstens einem der Computing-Dienste CD1, CD2 und/oder wenigstens einer der Verarbeitungs-Pipelines VP1, VP2 und/oder mit assoziierten Hardware-Ressourcen HR-1, HR-2, und/oder mit assoziierten Software-Ressourcen SR-1, SR-2 und/oder mit wenigstens einem Client 10, z.B. über ein System zur drahtlosen Datenkommunikation, beispielsweise in öffentliches und/oder privates zelluläres Mobilfunknetz, beispielsweise nach dem 5G-Standard.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein System 1000, beispielsweise ein Cloud-System 1000, aufweisend wenigstens eine Vorrichtung 200, 200' gemäß den Ausführungsformen und wenigstens zwei, beispielsweise voneinander verschiedene, Hardware-Ressourcen HR-1, HR-2.
-
Weitere beispielhafte Ausführungsformen, 12, beziehen sich auf ein Verfahren, beispielsweise ein computerimplementiertes Verfahren, zum Verarbeiten von Daten, beispielsweise für Fahrzeuge 10, aufweisend: Verwenden 300 wenigstens eines Computing-Dienstes CD1, CD2 (1), der mittels eines Verfahrens gemäß den Ausführungsformen und/oder mittels einer Vorrichtung 200 (11) gemäß den Ausführungsformen und/oder einem System 1000 gemäß den Ausführungsformen bereitgestellt wird bzw. bereitstellbar ist. Der optionale Block 302 gemäß 12 symbolisiert eine optionale Steuerung des Betriebs eines technischen Systems, beispielsweise des Fahrzeugs 10, basierend auf dem wenigstens einen Computing-Dienst CD1, CD2 bzw. hierdurch erhaltbaren Berechnungsergebnissen.
-
Bei weiteren beispielhaften Ausführungsformen kann der beispielhafte Ablauf gemäß 12 beispielsweise durch ein Fahrzeug, z.B. Kraftfahrzeug 10, genutzt werden, z.B. um rechenintensive, insbesondere auch sicherheitskritische rechenintensive, Berechnungsaufgaben (z.B. für Aspekte des autonomen Fahrens) mittels des Cloud-Systems 1000 ausführen zu lassen.
-
Bei weiteren beispielhaften Ausführungsformen, 13, ist vorgesehen, dass das Verfahren weiter aufweist: Senden 310 einer Anfrage ANFR, beispielsweise einer Anfrage für die Berechnung einer Rechenaufgabe, beispielsweise an das Cloud-System 1000 bzw. die Vorrichtung 200, und, optional, Empfangen 312 wenigstens einer, beispielsweise ein Ergebnis der Berechnung charakterisierenden, Antwort AW1, AW2, ....
-
Bei weiteren beispielhaften Ausführungsformen, 14, ist vorgesehen, dass das Verfahren weiter wenigstens eines der folgenden Elemente aufweist: a) beispielsweise im Falle eines Empfangens 312 mehrerer Antworten AW1, AW2, Vergleichen 320 (14) der mehreren Antworten AW1, AW2, b) beispielsweise im Falle eines Empfangens 312 mehrerer Antworten AW1, AW2, Auswählen 322 wenigstens einer der mehreren Antworten AW1, AW2.
-
Bei weiteren beispielhaften Ausführungsformen kann beispielsweise eine Vorrichtung 200' (z.B. ähnlich zu der Vorrichtung 200) vorgesehen sein, die zur Ausführung von Aspekten gemäß 12, 13, 14 ausgebildet ist. Die Vorrichtung 200' kann beispielsweise in einem Fahrzeug 10 verwendet werden.
Weitere beispielhafte Ausführungsformen beziehen sich auf ein computerlesbares Speichermedium SM (11), umfassend Befehle PRG, die bei der Ausführung durch einen Computer 202 diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein Computerprogramm PRG, umfassend Befehle, die bei der Ausführung des Programms durch einen Computer 202 diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein Datenträgersignal DCS, das das Computerprogramm PRG gemäß den Ausführungsformen überträgt und/oder charakterisiert.
-
Weitere beispielhafte Ausführungsformen, 15, beziehen sich auf ein Fahrzeug 10, beispielsweise Kraftfahrzeug, mit wenigstens einer Vorrichtung 200, 200' gemäß den Ausführungsformen.
-
Nachfolgend werden unter Bezugnahme auf 15 bis 19 weitere beispielhafte Ausführungsformen und Aspekte beschrieben, die, jeweils einzeln für sich oder in Kombination miteinander mit wenigstens einer der vorstehend beispielhaften beschriebenen Ausführungsformen kombinierbar sind.
-
15 zeigt schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen. Das Bezugszeichen 10 symbolisiert ein Kraftfahrzeug, das eine Vorrichtung 200', z.B. ausgebildet gemäß 11 oder ähnlich dazu, aufweist.
-
Bei weiteren beispielhaften Ausführungsformen kann eine sichere Ausführung von z.B. sicherheitskritischer Software unter Nutzung eines Cloud-Systems 1000a gemäß den Ausführungsformen erfolgen, wobei beispielsweise für die Ausführung der Software auszuführende Berechnungen, beispielsweise mehrfach, redundant ausgeführt und die dabei erhaltenen Ergebnisse miteinander verglichen werden.
-
Bei weiteren beispielhaften Ausführungsformen kann ein Datenaustausch bzw. eine Datenkommunikation zwischen einem Client, z.B. dem Fahrzeug 10, und dem Cloud-System 1000a bzw. mittels des Cloud-Systems 1000a bereitstellbaren Computing-Dienstend CD1, CD2 (1) bzw. Verarbeitungseinheiten VP1, VP2 geschützt werden, beispielsweise durch Fehlerkorrekturcodes (z.B. Prüfsummen, z.B. zum Erkennen und/oder Korrigieren von Fehlern), Zählern (z.B. zum Erkennen von Datenverlusten, z.B. Paketverlusten, und/oder von wiederholten Übertragungen ggf. bereits veralteter Daten).
-
Bei weiteren beispielhaften Ausführungsformen kann ein Szenario beispielsweise wie folgt ablaufen: Zunächst wird eine Anfrage ANFR zur Berechnung, z.B. zusammen mit entsprechenden Eingangsdaten, von dem Client 10 an das Cloud-System 1000a bzw. einen entsprechenden Dienst des Cloud-Systems 1000a gesendet, beispielsweise über ein drahtloses Kommunikationssystem 10 ( 11), z.B. über wenigstens einen Edge-Server (nicht gezeigt), der z.B. die Vorrichtung 200 aufweisen kann oder in Datenverbindung mit der Vorrichtung 200 steht.
-
Bei weiteren beispielhaften Ausführungsformen werden zur Bearbeitung der Anfrage ANFR n viele Instanzen (nachfolgend vereinfacht auch als „Kopie“ bzw. „replica“ bezeichnet), mit n größer gleich 2, von Verarbeitungseinheiten VP1, VP2 ausgeführt, beispielswiese durch Hardware- und/oder Software-Ressourcen e6, e6', die bei weiteren beispielhaften Ausführungsformen z.B. in Form eines Datenzentrums bzw. Rechenzentrums („data center“) organisierbar bzw. bereitstellbar sind. Bei weiteren beispielhaften Ausführungsformen sind den Verarbeitungseinheiten VP1, VP2 jeweils unterschiedliche Hardware- und/oder Software-Ressourcen e6, e6' zugeordnet. Somit ist durch das data center sicherstellbar, dass jede der Verarbeitungseinheiten VP1, VP2 z.B. keine Speicherressourcen und/oder Prozessorressourcen mit anderen Verarbeitungseinheiten VP1, VP2 teilt, wodurch Fehler bei den betreffenden Ressourcen auf die jeweilige Verarbeitungseinheit beschränkt sind, nicht jedoch andere Verarbeitungseinheiten beeinträchtigen, die z.B. dieselbe Anfrage ANFR bearbeiten.
-
Bei weiteren beispielhaften Ausführungsformen können die Hardware-Ressourcen e6 beispielsweise in Form eines Servers bereitgestellt werden, der bei weiteren beispielhaften Ausführungsformen z.B. 16 Rechenkerne und z.B. vier Grafikprozessoren, GPU, aufweist. Bei weiteren beispielhaften Ausführungsformen können die Hardware-Ressourcen e6' identisch oder ähnlich zu den Hardware-Ressourcen e6 ausgebildet sein. Vorliegend weisen die Hardware-Ressourcen e6' z.B. einen Server auf, der bei weiteren beispielhaften Ausführungsformen z.B. 48 Rechenkerne und z.B. 16 Grafikprozessoren, GPU, aufweist.
-
Bei weiteren beispielhaften Ausführungsformen ist jeder Verarbeitungseinheit VP1, VP2 eine entsprechende Kopie ANFR-1, ANFR-2 der Anfrage ANFR zuführbar, beispielsweise mittels dem Block e1, der bei
weiteren beispielhaften Ausführungsformen auch einen Lastausgleich ausführen kann.
-
Bei weiteren beispielhaften Ausführungsformen ermittelt bzw. berechnet jede Kopie VP1, VP2 das entsprechende Ergebnis für die Anfrage ANFR, ANFR-1, ANFR-2, z.B. durch Ausführen der entsprechenden Berechnungen, z.B. vollständig unabhängig von den anderen Kopien, die dieselbe Anfrage ANFR bearbeiten.
-
Block e2 symbolisiert beispielhaft einen ersten Berechnungsschritt der ersten Verarbeitungseinheit VP1, Block e3 symbolisiert beispielhaft ein Zwischenergebnis des ersten Berechnungsschritts e2, und Block e4 symbolisiert beispielhaft einen zweiten Berechnungsschritt der ersten Verarbeitungseinheit VP1. Die Blöcke e2', e3', e4' der zweiten Verarbeitungseinheit VP2 entsprechen beispielhaft jeweils den Blöcken e2, e3, e4 der ersten Verarbeitungseinheit VP1.
-
Sobald alle Kopien VP1, VP2 ihre Berechnungen beendet haben, sind n viele Ergebnisse e5, e5' verfügbar. Bei weiteren beispielhaften Ausführungsformen können die Verarbeitungseinheiten VP1, VP2 auch die Zwischenergebnisse e3, e3' bereitstellen, beispielsweise für einen Handover zu einem anderen Edge-Computer vor der Fertigstellung der Ergebnisse e5, e5'.
-
Bei weiteren beispielhaften Ausführungsformen können die Ergebnisse e5, e5' und/oder die Zwischenergebnisse e3, e3' miteinander verglichen werden, z.B. durch den Client 10, z.B. eine Vorrichtung 200' (s. auch 11) des Clients 10 (15), beispielsweise, um sie zu validieren.
-
Bei weiteren beispielhaften Ausführungsformen können, sofern der Vergleich negativ ist (z.B. im Falle unterschiedlicher Ergebnisse e5, e5'), ein oder mehrere der folgenden z.B. konfigurierbaren Reaktionen ausgeführt werden: a) Verwerfen der, beispielsweise aller, Ergebnisse bzw. Zwischenergebnisse, beispielsweise ohne sie einer aufrufenden Einheit („caller“ bzw. Aufrufer) zu übergeben (dieses Verhalten kann z.B. als „fail-silent“ Verhalten bezeichnet werden, weil die aufrufende Einheit durch das Ausbleiben der Ergebnisse innerhalb einer vorgebbaren Zeit implizit darüber informiert wird, dass ein Fehler vorliegt), b) Übergeben der, beispielsweise aller, Ergebnisse bzw. Zwischenergebnisse, beispielsweise mit der Information, dass möglicherweise ein Fehler vorliegt, c) sofern mehr als zwei redundante Berechnungen ausgeführt worden sind, übergeben desjenigen Ergebnisses, das am häufigsten vorkommt („voting“).
-
Bei weiteren beispielhaften Ausführungsformen ermöglicht die redundante Konfiguration eine Vermeidung vieler möglicher Ursachen für Fehlberechnungen wie z.B. permanente Fehler von Hardwarekomponenten wie z.B. Prozessoren bzw. Rechenkernen, Speicher, unerwünschte, z.B. interne, Zustände von Software-Stapelspeichern („stacks“) (z.B. bei Betriebssystem, Treiber, Firmware, usw.), z.B. hervorgerufen durch vorangehende Hardware- und/oder Softwarefehler.
-
16 zeigt schematisch ein Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen. Abweichend von der Konfiguration 1000a gemäß 15 weist die Konfiguration 1000b gemäß 16 drei Verarbeitungs-Pipelines VP1, VP2, VP3 mit jeweils zugeordneten Hardware- bzw. Softwareressourcen e6, e6', e6" auf, die z.B. basierend auf Anfragen ANFR-1, ANFR-2, ANFR-3 z.B. drei Ergebnisse e5-1, e5-2, e5-3 bereitstellen.
-
Bei weiteren beispielhaften Ausführungsformen erfolgt gemäß 16 keine Validierung der Ergebnisse e5-1, e5-2, e5-3 in dem Cloud-System 1000b, sondern z.B. durch die Vorrichtung 200' des Fahrzeugs 10, beispielsweise mittels Voting. Dies hat den Vorteil, dass kein komplexer und ggf. fehleranfälliger Voting-Mechanismus in dem Cloud-System 1000b eingerichtet wird.
-
Bei weiteren beispielhaften Ausführungsformen kann ein Voting-Mechanismus der Vorrichtung 200' beispielsweise dasjenige der drei Ergebnisse e5-1, e5-2, e5-3 auswählen, das wenigstens zweimal in den Ergebnissen e5-1, e5-2, e5-3 vorkommt. Sofern keines der Ergebnisse wenigstens zweimal in den Ergebnissen e5-1, e5-2, e5-3 vorkommt, kann beispielsweise eine Fehlerreaktion eingeleitet werden.
-
Bei weiteren beispielhaften Ausführungsformen kann eine z.B. software-basierte Validierung der Korrektheit der Ergebnisse e7-1, e7-2 in dem Cloud-System 1000b erfolgen, s. 17. Hierzu können die vorliegend beispielhaft zwei Verarbeitungseinheiten VP1, VP2 z.B. Zwischenergebnisse untereinander austauschen, s. die Blockpfeile a1. Dementsprechend kann das Cloud-System 1000b z.B. bereits in der Cloud validierte Ergebnisse e5-1', e5-1" für den Client 10 bereitstellen.
-
Bei weiteren beispielhaften Ausführungsformen kann beispielsweise ein Voting-Mechanismus („voter“) in dem Cloud-System 1000b vorgesehen sein.
-
Bei weiteren beispielhaften Ausführungsformen kann, beispielsweise für jede der n vielen (vorliegend beispielhaft zwei) Kopien VP1, VP2 eine entsprechende Instanz des voters vorgesehen sein, die z.B. von den, z.B. allen, anderen Kopien und/oder voters isoliert ist, z.B. durch Zuweisung verschiedener Ressourcen.
-
Bei weiteren beispielhaften Ausführungsformen kann jeder voter für eine vorgebbare Zweit auf Ergebnisse der Kopien VP1, VP2 warten, und sobald genügend Ergebnisse eingetroffen sind (z.B. zwei Ergebnisse für einen Vergleich ohne Voting, mehr als n/2 viele Ergebnisse für ein Voting), wird ein Vergleich/Voting ausgeführt, das z.B. konfigurierbar ist, z.B. basierend auf einem bitweisen Vergleich oder einer Ähnlichkeit.
-
Bei weiteren beispielhaften Ausführungsformen wird das Ergebnis nach erfolgreichem Vergleich/Voting an den Aufrufer 10 übergeben. Andernfalls kann eine z.B. konfigurierbare Aktion, z.B. Fehlerreaktion, ausgeführt werden, z.B. gemäß dem fail-silent-Prinzip oder durch eine aktive Information des Aufrufers 10 und einen optionalen Neustart der (z.B. gesamten) Berechnung.
-
18 zeigt schematisch ein Blockdiagramm eines Cloud-Systems 1000d gemäß weiteren beispielhaften Ausführungsformen, bei der die drei Verarbeitungseinheiten VP1, VP2, VP3 ihre Zwischenergebnisse und/oder Ergebnisse untereinander vergleichen, s. die Blockpfeile a2, a3 und die Blöcke e7-1, e7-2, e7-3, wobei bereits verglichene Ergebnisse e5-1', e5-1", e5-1''' ausgebbar sind.
-
Bei weiteren beispielhaften Ausführungsformen können die Ressourcen e6" wenigstens einer Verarbeitungseinheit VP3 z.B. auch wesentlich größer bzw. Leistungsfähiger sein, z.B. aufweisend 96 Rechenkerne und/oder 8 GPUs, verglichen zu z.B. 16 bzw. 48 Rechenkernen (e6 bzw. e6') bzw. zu 4 bzw. 16 GPUs (e6 bzw. e6'), was bei weiteren beispielhaften Ausführungsformen ein effizientes Skalieren ermöglicht.
-
19 zeigt schematisch ein Blockdiagramm eines Cloud-Systems 1000e gemäß weiteren beispielhaften Ausführungsformen, bei der zwei Verarbeitungseinheiten VP1, VP2 ihre Zwischenergebnisse und/oder Ergebnisse untereinander vergleichen, s. die Blockpfeile a4, a5 und den Block e8, bei dem es sich z.B. um ein eingebettetes System bzw. einen Mikrocontroller, z.B. einen automotive Mikrocontroller, z.B. mit spezialisierter (z.B. gegen Fehler, z.B. bedingt durch harte Strahlung usw., gehärtete) Hardware, handelt. Der Block e8 kann z.B. beliebig in den Hardware-Ressourcen des Cloud-Systems 1000e angeordnet sein, z.B. auch in einem oder mehreren Edge-Servern (nicht gezeigt), und kann z.B. bezüglich einer funktionalen Sicherheit sicherer ausgebildet sein als die Ressourcen e6, e6'.
-
Bei weiteren beispielhaften Ausführungsformen kann der Block e8 eine vertrauenswürdige Instanz repräsentieren, die z.B. in Servern von Datenzentren integrierbar ist. Dadurch können die angefragten Berechnungen z.B. nach wie vor von den i.d.R. wesentlich leistungsfähigeren Ressourcen e6, e6' der Verarbeitungseinheiten VP1, VP2 ausgeführt werden, wohingegen z.B. ein Vergleich bzw. Voting durch den Block e8 ausführbar ist. Dies ermöglicht vorteilhaft, vertrauenswürdige Ergebnisse des Vergleichs / Voting in dem Cloud-System 1000e bereitzustellen.
Basierend auf dem Vergleich / Voting durch den Block e8 kann z.B. ggf. eine Fehlerreaktion (z.B. Neustart der Berechnungen zu der Anfrage AN FR) eingeleitet werden.
-
Bei weiteren beispielhaften Ausführungsformen können die Ergebnisse des Vergleichs / Votings z.B. auch zusammen mit den Ergebnissen an den Client 10 übermittelt werden, wobei z.B. eine (ggf. zusätzliche) Prüfsumme verwendbar ist, die z.B. durch den Block e8 ermittelt wird. Durch diese Prüfsumme sind Fehler bei der Übertragung zu dem Client 10 effizient erkennbar.
-
Bei weiteren beispielhaften Ausführungsformen kann ein Protokoll über verwendete Ressourcen e6, e6' usw. angefertigt werden, beispielsweise über alle für eine bestimmte Berechnung verwendeten Ressourcen. Das Protokoll kann bei weiteren beispielhaften Ausführungsformen z.B. das Erzeugen bzw. Hinzufügen von Metadaten z.B. zu Zwischenergebnissen oder Ergebnissen vorsehen, die wenigstens eines der folgenden Elemente charakterisieren: Identifikation (ID) eines Prozessors bzw. Rechenkerns, Computername, ID(s) der GPU(s).
-
Bei weiteren beispielhaften Ausführungsformen kann das Protokoll bzw. Daten hieraus auch dazu verwendet werden, um sicherzustellen, dass keine gemeinsamen Ressourcen für die verschiedenen Verarbeitungseinheiten verwendet werden, z.B. durch Vergleichen der Protokolle/Daten.
-
Weitere beispielhafte Ausführungsformen, 20, beziehen sich auf eine Verwendung 400 des Verfahrens gemäß den Ausführungsformen und/oder der Vorrichtung 200, 200' gemäß den Ausführungsformen und/oder des Systems 1000 gemäß den Ausführungsformen und/oder des computerlesbaren Speichermediums SM gemäß den Ausführungsformen und/oder des Computerprogramms PRG gemäß den Ausführungsformen und/oder des Datenträgersignals DCS gemäß den Ausführungsformen und/oder des Fahrzeugs 10 gemäß den Ausführungsformen für wenigstens eines der folgenden Elemente: a) Vermeiden 402 eines systematischen Mehrfachausfalls, b) Vermeiden 404 von common cause failures, c) Erkennen 406 von Fehlern, beispielsweise während einer Ausführung eines Computerprogramms, d) Bereitstellen 408 wenigstens eines sicheren Computing-Dienstes und/oder wenigstens einer sicheren Verarbeitungseinheit, e) Ermöglichen 410 einer sicheren und/oder zuverlässigen Ausführung von Software, beispielsweise sicherheitskritischer Software, beispielsweise unter Verwendung eines Cloud-Systems 1000, Auslagern 412 von Berechnungen, beispielsweise sicherheitskritischer Berechnungen eines Fahrzeugs 10, aus einem System des Fahrzeugs, beispielsweise aus einem Steuergerät und/oder Fahrzeugcomputer des Fahrzeugs, beispielsweise in ein entfernt angeordnetes System, beispielsweise ein Cloud-System 1000 und/oder ein Edge-Computing-System bzw. wenigstens einen Edge-Server, g) Verwenden 414 von Ressourcen wenigstens eines Edge-Servers und/oder wenigstens eines Cloud-Servers für eine redundante Ausführung einer Berechnungsaufgabe BA (21) für ein Fahrzeug 10 außerhalb des Fahrzeugs 10 und Bewerten von bei der redundanten Ausführung der Berechnungsaufgabe BA erhaltenen Berechnungsergebnissen BE, beispielsweise Vergleichen der erhaltenen Berechnungsergebnissen BE, durch eine Komponente 200', beispielsweise ein Steuergerät, des Fahrzeugs 10.
-
Bei weiteren beispielhaften Ausführungsformen, 21, ist vorgesehen, dass das Verfahren aufweist: Bereitstellen 170 einer Berechnungsaufgabe BA für ein Fahrzeug 10, beispielsweise Kraftfahrzeug, wobei beispielsweise die Berechnungsaufgabe BA redundant und außerhalb des Fahrzeugs 10 ausgeführt werden soll, Ausführen 172 der Berechnungsaufgabe BA, beispielsweise redundant, beispielsweise mittels redundanter Software-Ressourcen SR-1, SR-2 (11) und/oder mittels redundanter Hardware-Ressourcen HR-1, HR-2, und außerhalb des Fahrzeugs 10, beispielsweise mittels wenigstens zwei Computing-Diensten CD-1, CD-2 der mehreren Computing-Dienste CD-1, CD-2 (1), wobei beispielsweise die wenigstens zwei Computing-Dienste CD-1, CD-2 jeweils mit wenigstens einem Edge-Server und/oder wenigstens einem Cloud-Server assoziiert sind, wobei beispielsweise mehrere Berechnungsergebnisse BE erhalten werden.
-
Bei weiteren beispielhaften Ausführungsformen erfolgt das Bereitstellen 170 der Berechnungsaufgabe BA für das Fahrzeug 10 beispielsweise durch das Fahrzeug 10 bzw. eine Komponente (z.B. Steuergerät) des Fahrzeugs.
-
Bei weiteren beispielhaften Ausführungsformen erfolgt das Bereitstellen 170 der Berechnungsaufgabe BA für das Fahrzeug z.B. durch eine extern des Fahrzeugs angeordnete Einheit (nicht gezeigt) bzw. eine andere Einheit als das Fahrzeug 10 (z.B. Leitstelle, Infrastrukturkomponente, digitaler Zwilling des Fahrzeugs, usw.).
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Übermitteln 174 der mehreren Berechnungsergebnisse BE an das Fahrzeug 10.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Empfangen 176 der mehreren Berechnungsergebnisse BE, beispielsweise in dem Fahrzeug 10, und, optional, Vergleichen 178 der mehreren Berechnungsergebnisse BE, und, optional, basierend auf dem Vergleichen 178, Verifizieren 179 der mehreren Berechnungsergebnisse (und, optional, Verwenden der Berechnungsergebnisse) oder, optional, Ausführen 179a einer Ersatzreaktion, wie z.B. Verwerfen wenigstens eines der mehreren Berechnungsergebnisse BE und/oder der Berechnungsaufgabe BA, Fehlermeldung, z.B. an eine weitere Komponente z.B. des Fahrzeugs, Überführen wenigstens einer Komponente bzw. wenigstens eines Systems des Fahrzeugs 10 in einen vorgebbaren, beispielsweise sicheren, Zustand.