DE102021202057A1 - Verfahren und Vorrichtung zum Verarbeiten von Daten - Google Patents

Verfahren und Vorrichtung zum Verarbeiten von Daten Download PDF

Info

Publication number
DE102021202057A1
DE102021202057A1 DE102021202057.7A DE102021202057A DE102021202057A1 DE 102021202057 A1 DE102021202057 A1 DE 102021202057A1 DE 102021202057 A DE102021202057 A DE 102021202057A DE 102021202057 A1 DE102021202057 A1 DE 102021202057A1
Authority
DE
Germany
Prior art keywords
vehicle
computing services
computing
exemplary embodiments
resources
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
DE102021202057.7A
Other languages
English (en)
Inventor
Andreas Nauerz
Markus Schweizer
Tobias Gehrmann
Peter Munk
Eike Martin Thaden
Andreas Heyl
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 DE102021202057.7A priority Critical patent/DE102021202057A1/de
Priority to US17/681,189 priority patent/US20220283859A1/en
Priority to CN202210196944.5A priority patent/CN115033372A/zh
Publication of DE102021202057A1 publication Critical patent/DE102021202057A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/181Eliminating the failing redundant component

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)

Abstract

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.

Description

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

Claims (29)

  1. 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 (100) mehrerer Computing-Dienste (CD1, CD2), unter Verwendung wenigstens zwei verschiedener Hardware-Ressourcen (HR1, HR2), Verwenden (102) der mehreren Computing-Dienste (CD1, CD2).
  2. Verfahren nach Anspruch 1, wobei wenigstens zwei der mehreren Computing-Dienste (CD1, CD2) jeweils unterschiedliche Ressourcen (RES1, RES2), beispielsweise Hardware-Ressourcen (HR1, HR2) und/oder Software-Ressourcen (SR1, SR2) verwenden.
  3. Verfahren nach wenigstens einem der vorstehenden Ansprüche, wobei 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.
  4. Verfahren nach wenigstens einem der vorstehenden Ansprüche, wobei wenigstens zwei der mehreren Computing-Dienste (CD1, CD2), beispielsweise zumindest teilweise, redundant zueinander sind.
  5. Verfahren nach wenigstens einem der vorstehenden Ansprüche, aufweisend: 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.
  6. Verfahren nach wenigstens einem der vorstehenden Ansprüche, aufweisend wenigstens eines der folgenden Elemente: a) Skalieren (115) von mit wenigstens einem Computing-Dienst der mehreren Computing-Dienste (CD1, CD2) assoziierten Ressourcen, b) Skalieren (116) von mit wenigstens einer Verarbeitungseinheit (VP1) assoziierten 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).
  7. Verfahren nach Anspruch 6, wobei das Skalieren (115, 116, 117) während eines Betriebs, beispielsweise während der Verwendung (102) der mehreren Computing-Dienste (CD1, CD2), beispielsweise während der Verwendung (102) von wenigstens einer mit den mehreren Computing-Diensten (CD1, CD2) assoziierten Verarbeitungseinheit (VP1), ausgeführt wird.
  8. Verfahren nach wenigstens einem der vorstehenden Ansprüche, aufweisend: Ausführen (120) eines Lastausgleichs, beispielsweise load balancing, beispielsweise zwischen den mehreren Computing-Diensten (CD1, CD2) und/oder zwischen mehreren Verarbeitungseinheiten (VP1, VP2).
  9. Verfahren nach wenigstens einem der Ansprüche 6 bis 8, wobei das Skalieren (115, 116, 117) und/oder das Ausführen (120) des Lastausgleichs basierend auf wenigstens einem der folgenden Elemente ausgeführt wird: a) Anzahl von Anfragen (NA), beispielsweise von Clients, b) wenigstens ein vorgebbares Kriterium, beispielsweise Qualitätskriterium (QK), beispielsweise wenigstens ein mit einer Anwendung bzw. einem Dienst assoziiertes Qualitätskriterium, c) wenigstens eine Sicherheitsanforderung (SA).
  10. Verfahren nach wenigstens einem der vorstehenden Ansprüche, aufweisend: Verwenden (130) von Hardware-Ressourcen wenigstens eines der folgenden Typen: a) Recheneinrichtung (RE) mit einem oder mehreren Rechenkernen, b) Prozessor (CPU), beispielsweise Zentralprozessor, CPU, c) Grafikprozessor, GPU (GPU), d) programmierbare Logikschaltung (PL), beispielsweise FPGA, e) Hardwareschaltung (HWS), f) anwendungsspezifischer Schaltkreis (AS), z.B. ASIC, g) Mikrocontroller (MC), h) Cloud-System (CS).
  11. Verfahren nach wenigstens einem der vorstehenden Ansprüche, aufweisend: Ermitteln (135) und/oder Bereitstellen und/oder zumindest zeitweises Speichern (136) einer Identifikation (HW-ID), die wenigstens eine Hardware-Ressource (HR1) der zwei verschiedenen Hardware-Ressourcen (HR1, HR1) charakterisiert, und, optional, Auswerten (137) bzw. Validieren einer Konfiguration der Hardware-Ressourcen (HR1, HR1), und, optional, Bewerten (138) einer Validität von mittels der mehreren Computing-Dienste (CD1, CD2) erhaltenen bzw. erhaltbaren Ergebnisse (ERG), beispielsweise Berechnungsergebnisse.
  12. Verfahren nach wenigstens einem der vorstehenden Ansprüche, aufweisend: Ermitteln (140) und/oder Überwachen (141) einer Integrität (INT) wenigstens eines der folgenden Elemente: a) wenigstens ein Computing-Dienst (CD1), beispielsweise der mehreren Computing-Dienste (CD1, CD2), b) wenigstens eine Hardware-Ressource (HR1), beispielsweise der wenigstens zwei verschiedenen Hardware-Ressourcen (HR1, HR2), c) wenigstens eine Verarbeitungseinheit (VP1).
  13. Verfahren nach Anspruch 12, weiter aufweisend: Austauschen (142) wenigstens eines der folgenden Elemente: a) a) wenigstens ein Computing-Dienst (CD1), beispielsweise der mehreren Computing-Dienste (CD1, CD2), b) wenigstens eine Hardware-Ressource (HR1), beispielsweise der wenigstens zwei verschiedenen Hardware-Ressourcen (HR1, HR2), c) wenigstens eine Verarbeitungseinheit (VP1), 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.
  14. Verfahren nach wenigstens einem der vorstehenden Ansprüche, aufweisend: Identifizieren (150) einer fehlerhaften Komponente (FK), 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.
  15. Verfahren nach wenigstens einem der vorstehenden Ansprüche, aufweisend: Verlagern (160) einer, beispielsweise geografischen, Position (POS) wenigstens eines der folgenden Elemente: a) wenigstens ein Computing-Dienst (CD1), beispielsweise der mehreren Computing-Dienste (CD1, CD2), b) wenigstens eine Hardware-Ressource (HR1), beispielsweise der wenigstens zwei verschiedenen Hardware-Ressourcen (HR1, HR2), c) wenigstens eine Verarbeitungseinheit (VP1), beispielsweise basierend auf wenigstens einem der folgenden Elemente: A) einer, beispielsweise geografischen, Position wenigstens eines Nutzers 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).
  16. Vorrichtung (200) zur Ausführung des Verfahrens nach wenigstens einem der vorstehenden Ansprüche.
  17. System (1000), beispielsweise Cloud-System, aufweisend wenigstens eine Vorrichtung (200) nach Anspruch 16 und wenigstens zwei, beispielsweise voneinander verschiedene, Hardware-Ressourcen (HR1, HR2).
  18. Verfahren, beispielsweise computerimplementiertes Verfahren, zum Verarbeiten von Daten, beispielsweise für Fahrzeuge, aufweisend: Verwenden (300) wenigstens eines Computing-Dienstes (CD1, CD2), der mittels eines Verfahrens gemäß wenigstens einem der Ansprüche 1 bis 15 und/oder mittels einer Vorrichtung (200) gemäß Anspruch 16 und/oder einem System (1000) gemäß Anspruch 17 bereitgestellt wird.
  19. Verfahren nach Anspruch 18, weiter aufweisend: Senden (310) einer Anfrage (ANFR), beispielsweise einer Anfrage für die Berechnung einer Rechenaufgabe, und, optional, Empfangen (312) wenigstens einer, beispielsweise ein Ergebnis der Berechnung charakterisierenden, Antwort (AW1, AW2).
  20. Verfahren nach Anspruch 19, weiter aufweisend wenigstens eines der folgenden Elemente: a) beispielsweise im Falle eines Empfangens (312) mehrerer Antworten (AW1, AW2, ..), Vergleichen (320) 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, ..).
  21. Verfahren nach wenigstens einem der Ansprüche 18 bis 20, aufweisend: 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 und/oder mittels redundanter Hardware-Ressourcen, und außerhalb des Fahrzeugs (10), beispielsweise mittels wenigstens zwei Computing-Diensten (CD1, CD2) der mehreren Computing-Dienste (CD1, CD2), wobei beispielsweise die wenigstens zwei Computing-Dienste (CD1, CD2) jeweils mit wenigstens einem Edge-Server und/oder wenigstens einem Cloud-Server assoziiert sind, wobei beispielsweise mehrere Berechnungsergebnisse (BE) erhalten werden.
  22. Verfahren nach Anspruch 21, aufweisend: Übermitteln (174) der mehreren Berechnungsergebnisse (BE) an das Fahrzeug (10).
  23. Verfahren nach Anspruch 22, aufweisend: Empfangen (176) der mehreren Berechnungsergebnisse (BE), beispielsweise in dem Fahrzeug (10) und Vergleichen (178) der mehreren Berechnungsergebnisse (BE), und, optional, basierend auf dem Vergleichen (178), Verifizieren (179) der mehreren Berechnungsergebnisse (BE) oder, optional, Ausführen (179a) einer Ersatzreaktion.
  24. Vorrichtung (200') zur Ausführung des Verfahrens nach wenigstens einem der Ansprüche 18 bis 23.
  25. Computerlesbares Speichermedium (SM), umfassend Befehle (PRG), die bei der Ausführung durch einen Computer (202) diesen veranlassen, das Verfahren nach wenigstens einem der Ansprüche 1 bis 15 und/oder 18 bis 23 auszuführen.
  26. Computerprogramm (PRG), umfassend Befehle, die bei der Ausführung des Programms (PRG) durch einen Computer (202) diesen veranlassen, das Verfahren nach wenigstens einem der Ansprüche 1 bis 15 und/oder 18 bis 23 auszuführen.
  27. Datenträgersignal (DCS), das das Computerprogramm (PRG) nach Anspruch 26 überträgt und/oder charakterisiert.
  28. Fahrzeug (10), beispielsweise Kraftfahrzeug, mit wenigstens einer Vorrichtung (200, 200') nach wenigstens einem der Ansprüche 16 oder 24.
  29. Verwendung (400) des Verfahrens nach wenigstens einem der Ansprüche 1 bis 15 und/oder 18 bis 23 und/oder der Vorrichtung (200; 200') nach wenigstens einem der Ansprüche 16 oder 24 und/oder des Systems (1000) nach Anspruch 17 und/oder des computerlesbaren Speichermediums (SM) nach Anspruch 25 und/oder des Computerprogramms (PRG) nach Anspruch 26 und/oder des Datenträgersignals (DCS) nach Anspruch 27 und/oder des Fahrzeugs (10) nach Anspruch 28 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 (CD1) und/oder wenigstens einer sicheren Verarbeitungseinheit (VP1), beispielsweise über ein Cloud-System (1000) und/oder über wenigstens einen Edge-Server, e) Ermöglichen (410) einer sicheren und/oder zuverlässigen Ausführung von Software, beispielsweise sicherheitskritischer Software, beispielsweise unter Verwendung eines Cloud-Systems (1000), f) Auslagern (412) von Berechnungen, beispielsweise sicherheitskritischer Berechnungen eines Fahrzeugs (10), aus einem System des Fahrzeugs (10), beispielsweise aus einem Steuergerät und/oder Fahrzeugcomputer des Fahrzeugs (10), 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) 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).
DE102021202057.7A 2021-03-03 2021-03-03 Verfahren und Vorrichtung zum Verarbeiten von Daten Pending DE102021202057A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102021202057.7A DE102021202057A1 (de) 2021-03-03 2021-03-03 Verfahren und Vorrichtung zum Verarbeiten von Daten
US17/681,189 US20220283859A1 (en) 2021-03-03 2022-02-25 Method and device for processing data
CN202210196944.5A CN115033372A (zh) 2021-03-03 2022-03-02 用于处理数据的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021202057.7A DE102021202057A1 (de) 2021-03-03 2021-03-03 Verfahren und Vorrichtung zum Verarbeiten von Daten

Publications (1)

Publication Number Publication Date
DE102021202057A1 true DE102021202057A1 (de) 2022-09-08

Family

ID=82898459

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021202057.7A Pending DE102021202057A1 (de) 2021-03-03 2021-03-03 Verfahren und Vorrichtung zum Verarbeiten von Daten

Country Status (3)

Country Link
US (1) US20220283859A1 (de)
CN (1) CN115033372A (de)
DE (1) DE102021202057A1 (de)

Also Published As

Publication number Publication date
CN115033372A (zh) 2022-09-09
US20220283859A1 (en) 2022-09-08

Similar Documents

Publication Publication Date Title
DE102013001627B4 (de) System und Verfahren zur Berechnung mittels Signaturanalyse
DE102012102770A1 (de) System und Verfahren zur Fehleranalyse und Fehlereingrenzung basierend auf Netzmodellierung
DE112019000309B4 (de) Dynamisches batching von berechtigungen in einem verteilten speichernetzwerk
DE102012214324A1 (de) Datenüberprüfung mithilfe eines Prüfsummen-Sidefile
DE2619159A1 (de) Fehlererkennungs- und korrektureinrichtung
DE112021003747T5 (de) Erkennen von anomalien in einer netzwerktopologie
DE112018001561B4 (de) Verteiltes speichernetzwerk
DE102019200565A1 (de) Vorrichtung und Verfahren zur Klassifizierung von Daten insbesondere für ein Controller Area Netzwerk oder ein automotive Ethernet Netzwerk.
DE102018116911A1 (de) Verfahren zur Erzeugung von Quellcode
DE102018109195A1 (de) Diagnosesystem und Verfahren zum Verarbeiten von Daten eines Kraftfahrzeugs
DE102015115287A1 (de) Verfahren und vorrichtung zum prüfen eines identifikators
DE112011105021T5 (de) Redundanzeinrichtung
DE102020121075A1 (de) Einrichtung und Verfahren zur Authentifizierung von Software
DE102022201663A1 (de) Erzeugen synthetischer Prüffälle zur Fuzz-Prüfung
DE102018213616A1 (de) Kryptografiemodul und Betriebsverfahren hierfür
CN112835718A (zh) 任务处理的方法和装置、众核系统、计算机可读介质
DE102021202057A1 (de) Verfahren und Vorrichtung zum Verarbeiten von Daten
DE102020110010A1 (de) Vorrichtung und verfahren zum sicheren aktualisieren binärer daten in einem fahrzeug
DE102009007318A1 (de) Hardware-Passwort-Abgleichsystem Vorrichtung und Verfahren
DE112022000344T5 (de) Anwenden von änderungen in einem ziel-datenbanksystem
EP2224340B1 (de) Verfahren und Managementsystem zum Konfigurieren eines dynamischen Informationssystems sowie Computerprogrammprodukt
DE102014114157B4 (de) Verfahren zur Datenverarbeitung zum Ermitteln, ob bei einer Ausführung eines Programms ein Fehler aufgetreten ist und Datenverarbeitungsanordnungen zum Erzeugen von Programm-Code
DE112021005752T5 (de) Fehlertoleranz für Transaktionsspiegelung
DE102012217312B4 (de) Verfahren und System zur Aktualisierung von Code in Verarbeitungssystemen
DE102018105847A1 (de) Datenwiederherstellung und Datenregeneration mittels Paritätscode