DE102022200754A1 - Verfahren zum Erzeugen eines Fähigkeitenprofils einer Recheneinheit - Google Patents

Verfahren zum Erzeugen eines Fähigkeitenprofils einer Recheneinheit Download PDF

Info

Publication number
DE102022200754A1
DE102022200754A1 DE102022200754.9A DE102022200754A DE102022200754A1 DE 102022200754 A1 DE102022200754 A1 DE 102022200754A1 DE 102022200754 A DE102022200754 A DE 102022200754A DE 102022200754 A1 DE102022200754 A1 DE 102022200754A1
Authority
DE
Germany
Prior art keywords
capability
function
profile
functions
real
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
DE102022200754.9A
Other languages
English (en)
Inventor
Konrad Hilarius
Albert Kos
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.)
Continental Automotive Technologies GmbH
Original Assignee
Continental Automotive Technologies 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 Continental Automotive Technologies GmbH filed Critical Continental Automotive Technologies GmbH
Priority to DE102022200754.9A priority Critical patent/DE102022200754A1/de
Priority to PCT/DE2022/200308 priority patent/WO2023138721A1/de
Publication of DE102022200754A1 publication Critical patent/DE102022200754A1/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
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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
    • 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/5055Allocation 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 software capabilities, i.e. software resources associated or available to the machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Erzeugen eines Fähigkeitenprofils einer Recheneinheit eines Fahrzeugs, wobei auf der Recheneinheit eine oder mehrere Funktionen mit Echtzeitanforderung und eine oder mehrere Funktionen ohne Echtzeitanforderung laufen, wobei ein Zustand der Recheneinheit erfasst und basierend darauf das Fähigkeitenprofil erzeugt wird.

Description

  • Die Erfindung betrifft ein Verfahren zum Erzeugen eines Fähigkeitenprofils einer Recheneinheit eines Fahrzeugs.
  • Recheneinheiten werden in modernen Kraftfahrzeugen verwendet, um eine deutlich zunehmende Anzahl an Funktionen auszuführen. Beispielsweise können Fahrassistenzfunktionen und Komfortfunktionen auf einer Recheneinheit ausgeführt werden. Als schwierig hat es sich bislang erwiesen, eine in einem Fahrzeug verwendete Recheneinheit so flexibel auszuführen, dass auch nach Auslieferung des Fahrzeugs ein flexibles Verwalten von Funktionen möglich ist.
  • Es ist eine Aufgabe der Erfindung, diesbezüglich eine alternative oder bessere Vorgehensweise bereitzustellen. Dies wird erfindungsgemäß durch ein Verfahren gemäß Anspruch 1 erreicht. Vorteilhafte Ausgestaltungen können beispielsweise den Unteransprüchen entnommen werden. Der Inhalt der Ansprüche wird durch ausdrückliche Inbezugnahme zum Inhalt der Beschreibung gemacht.
  • Die Erfindung betrifft ein Verfahren zum Erzeugen eines Fähigkeitenprofils einer Recheneinheit eines Fahrzeugs, wobei auf der Recheneinheit eine oder mehrere Funktionen mit Echtzeitanforderung und eine oder mehrere Funktionen ohne Echtzeitanforderung laufen. Das Verfahren weist folgende Schritte auf:
    • - Erfassen eines Zustands der Recheneinheit, und
    • - Erzeugen des Fähigkeitenprofils in Abhängigkeit von dem Zustand der Recheneinheit.
  • Mittels eines solchen Verfahrens kann ein Fähigkeitenprofil bereitgestellt werden, welches dazu dienen kann, die aktuellen Fähigkeiten der Recheneinheit anzuzeigen. Das Fähigkeitenprofil kann insbesondere dazu benutzt werden, um zu entscheiden, ob eine neue Funktion hinzugefügt werden kann. Insbesondere kann das Fähigkeitenprofil hierzu anzeigen, ob bestimmte Funktionen oder Komponenten verfügbar sind und/oder ob eine aktuelle Rechenkapazität oder eine erwartete Rechenkapazität ausreicht.
  • Das Fähigkeitenprofil kann beispielsweise in Form einer Tabelle oder einer Matrix, beispielsweise einer Fähigkeitenmatrix, bereitgestellt werden. Es kann insbesondere im Rahmen eines Verfahrens verwendet werden, welches entscheidet, ob eine Funktion hinzugefügt werden kann oder nicht. Auf die andernorts hierin gegebenen Ausführungen sei verwiesen, wobei auf alle beschriebenen Ausführungen und Varianten zurückgegriffen werden kann.
  • Unter einer Funktion mit Echtzeitanforderung kann insbesondere eine Funktion verstanden werden, welche in vordefinierten oder bestimmten Zeitabständen Informationen benötigt, bestimmte Zugriffe auf andere Fähigkeiten oder Funktionen oder auch auf Hardwarekomponenten benötigt, oder Informationen an andere Komponenten absenden muss. Dies wird typischerweise von einer jeweiligen Funktion vorgegeben, wobei insbesondere definiert sein kann, welche Echtzeitanforderungen eine bestimmte Funktion hat. Funktionen ohne Echtzeitanforderung haben derartige Anforderungen typischerweise nicht, wobei es bei Funktionen ohne Echtzeitanforderung typischerweise ausreicht, die Funktion dann auszuführen, wenn gerade Rechenkapazität verfügbar ist. In typischen Implementierungen sind Funktionen mit Echtzeitanforderung sicherheitskritische Funktionen, wohingegen Funktionen ohne Echtzeitanforderung nicht sicherheitskritische Funktionen sind. Funktionen mit Echtzeitanforderung können insbesondere in die Fahrt eines Kraftfahrzeugs eingreifen, beispielsweise aufgrund eines überwachten Abstands einen Bremsvorgang auslösen, oder vor einer drohenden Gefahr warnen.
  • Unter dem Zustand der Recheneinheiten kann insbesondere ein Merkmal oder eine Gesamtheit von Merkmalen verstanden werden, welche die Fähigkeiten der Recheneinheit repräsentieren. Das Fähigkeitenprofil zeigt dies in einer Art und Weise an, wie es für eine Weiterverarbeitung geeignet ist. Der Zustand kann insbesondere ein aktueller Zustand sein. Zustände können sich im Zeitverlauf verändern.
  • Das Fähigkeitenprofil kann insbesondere einen Indikator für eine aktuelle Auslastung beinhalten. Dabei kann es sich insbesondere um eine aktuelle Auslastung von Einheiten handeln, welche Berechnungen ausführen, Daten speichern und/oder Daten übertragen. Es können auch mehrere solche Indikatoren verwendet werden. Beispielsweise kann der Indikator eine CPU-Auslastung anzeigen, wodurch erkennbar wird, ob noch weitere Funktionen ausgeführt werden können.
  • Gemäß einer vorteilhaften Ausführung weist die Recheneinheit eine variable Anzahl an Hardwarekomponenten auf. Dies kann insbesondere bedeuten, dass es möglich ist, Hardwarekomponenten zur Recheneinheit hinzuzufügen und auch von ihr zu entfernen. Es ist somit nicht während der Lebenszeit eines Kraftfahrzeugs konstant, welche Fähigkeiten die Recheneinheit hat. Das Fähigkeitenprofil kann insbesondere eine Auflistung der aktuell vorhandenen Hardwarekomponenten beinhalten. Dies kann dazu dienen, bei eventuell hinzuzufügenden Funktionen zu ermitteln, ob die zur Ausführung einer Funktion erforderlichen Hardwarekomponenten überhaupt vorhanden sind. Beispielsweise kann abgeglichen werden, ob eine bestimmte Grafikbeschleunigereinheit vorhanden ist, welche von einer grafikintensiven Funktion benötigt wird. Die Auflistung der aktuell vorhandenen Hardwarekomponenten kann auch solche Hardwarekomponenten beinhalten, welche separate Einheiten sein können. Beispielsweise kann sie anzeigen, ob das Fahrzeug Sensoren wie beispielsweise einen Abstandssensor oder einen Regensensor aufweist. Dadurch kann beispielsweise bei einer Funktion, die einen Regensensor benötigt, vorab bereits ermittelt werden, ob ein Regensensor im Fahrzeug überhaupt vorhanden ist.
  • Beim Hinzufügen oder Entfernen einer Hardwarekomponente kann die Auflistung der aktuell vorhandenen Hardwarekomponenten vorteilhaft aktualisiert werden. Dadurch ist immer der aktuelle Zustand abgebildet, so dass immer aktuell ermittelt werden kann, ob die für eine bestimmte Funktion benötigten Hardwarekomponenten vorhanden sind.
  • Beim Hinzufügen oder Entfernen einer Hardwarekomponente können insbesondere eine oder mehrere der folgenden Hardwarekomponenten hinzugefügt oder entfernt werden:
    • - Rechenkomponente,
    • - Beschleunigerkomponente,
    • - Speicherkomponente.
  • Anders ausgedrückt kann es sich bei den variablen Hardwarekomponenten um derartige Komponenten handeln. Gerade bei derartigen Komponenten ist es besonders sinnvoll, eine aktuelle Auflistung darüber zu haben, so dass bei einer eventuell hinzuzufügenden Funktion unmittelbar ermittelt werden kann, ob ein Hinzufügen der Funktion möglich ist oder nicht.
  • Eine Rechenkomponente kann insbesondere zum Ausführen von Rechenoperationen konfiguriert sein. Eine Beschleunigerkomponente kann insbesondere zum Beschleunigen bestimmter Aufgaben, beispielsweise graphischer Berechnungen, konfiguriert sein. Eine Speicherkomponenten kann beispielsweise zum temporären und/oder zum dauerhaften Speichern von Daten konfiguriert sein.
  • Beim Hinzufügen oder Entfernen einer Hardwarekomponente können insbesondere ein oder mehrere Sensoren und/oder Aktoren hinzufügt oder entfernt werden. Anders ausgedrückt kann es sich bei den variablen Hardwarekomponenten oder zumindest einem Teil davon um Sensoren und/oder Aktoren handeln. Beispielsweise kann es sich um Sensoren wie Regensensor, Abstandssensor, Parksensor, Kamera oder andere Sensoren handeln. Es kann sich um Aktoren wie beispielsweise Motoren für Scheibenwischer oder Fensterheber, oder um Betätiger für Komponenten wie Kofferraumdeckel oder Türen handeln. Auch bei derartigen Komponenten ist es sinnvoll, eine aktuelle Auflistung darüber zu haben, um bei einer eventuell hinzuzufügenden Funktion unmittelbar ermitteln zu können, ob ein Hinzufügen der Funktion möglich ist.
  • Die Recheneinheit kann insbesondere eine variable Anzahl an Partitionen aufweisen. Das Fähigkeitenprofil kann insbesondere eine Auflistung der aktuell vorhandenen Partitionen beinhalten. Unter einer Partition kann dabei insbesondere ein Speicherbereich oder ein anderer Bereich verstanden werden, auf welchem eine Funktion lauffähig ist. Typischerweise ist jede Funktion einer Partition zugewiesen oder wird beim Hinzufügen einer Partition zugewiesen und entsprechend registriert.
  • Insbesondere können eine Partition oder einige der Partitionen echtzeitfähig sein. Zusätzlich oder alternativ können eine Partition oder einige der Partitionen nicht echtzeitfähig sein. Unter einer echtzeitfähigen Partition versteht man insbesondere eine Partition, bei welcher sichergestellt ist, dass eine darauf laufende Funktion in bestimmten Zeitabständen und/oder zu bestimmten Zeitpunkten auf gewisse andere Einheiten wie beispielsweise Hardwarekomponenten oder andere Funktionen zugreifen kann. Bei nicht echtzeitfähigen Partitionen ist eine derartige Fähigkeit nicht vorhanden. Insbesondere können Funktionen mit Echtzeitanforderung auf echtzeitfähigen Partitionen laufen, und Funktionen ohne Echtzeitanforderung können insbesondere auf nicht echtzeitfähigen Partitionen laufen.
  • Die Recheneinheit kann insbesondere eine variable Anzahl an Softwarefunktionen aufweisen. Beispielsweise können zur Laufzeit Funktionen hinzugefügt und/oder auch wieder entfernt werden. Das Fähigkeitenprofil kann insbesondere eine Auflistung der aktuell vorhandenen Softwarefunktionen beinhalten. Dies trägt der Tatsache Rechnung, dass manche Funktionen nicht nur auf besondere Hardwarekomponenten zugreifen müssen oder besondere Anforderungen bezüglich der Rechenkapazität haben, sondern dass sie auch auf andere Funktionen zugreifen müssen. Durch die Hinzunahme einer Auflistung der aktuell vorhandenen Softwarefunktionen in das Fähigkeitenprofil kann insbesondere erreicht werden, dass die diesbezüglich benötigte Information beim eventuellen Hinzufügen zur Verfügung steht.
  • Insbesondere ist es möglich, dass Softwarefunktionen aufeinander aufbauen. Eine neu hinzuzufügende Funktion kann also beispielsweise überprüfen, ob bestimmte Funktionen von anderen Softwarekomponenten bereits bereitgestellt werden, und kann dann zur Laufzeit auf diese zugreifen. Ein Entwickler kann sich somit auf die für ihn relevanten technischen Fähigkeiten beschränken.
  • Gemäß einer Weiterbildung kann das Verfahren ferner folgende Schritte aufweisen:
    • - Ermitteln eines Anforderungsprofils einer zur Recheneinheit hinzugefügten Funktion,
    • - Vergleichen des Anforderungsprofils mit dem Fähigkeitenprofil, und
    • - Hinzufügen des Anforderungsprofils nur dann, wenn das Anforderungsprofil zu dem Fähigkeitenprofil korrespondiert.
  • Dadurch kann sichergestellt werden, dass eine Funktion nur dann hinzugefügt wird, wenn das Anforderungsprofil zu dem Fähigkeitenprofil korrespondiert. Dies kann insbesondere bedeuten, dass das Anforderungsprofil anzeigt, dass alle von der Funktion benötigten Fähigkeiten, wie im Anforderungsprofil angegeben, bereitgestellt werden können. Beispielweise kann dies bedeuten, dass eine ausreichende freie Rechenkapazität vorhanden ist, dass benötigte Hardwarekomponenten vorhanden sind und/oder dass benötigte andere Funktionen, insbesondere Softwarefunktionen, vorhanden sind.
  • Nachfolgend werden weitere mögliche Aspekte beschrieben. Diese können als eigenständige Erfindungsaspekte betrachtet werden. Sie können jedoch auch beliebig untereinander und/oder mit anderen hierin beschriebenen Aspekten kombiniert werden.
  • Die Erfindung betrifft ein Verfahren zum Hinzufügen und/oder Orchestrieren von Funktionen auf einer Recheneinheit eines Fahrzeugs. Es handelt sich dabei um Funktionen mit Echtzeitanforderung und um Funktionen ohne Echtzeitanforderung. Das Verfahren weist folgende Schritte auf:
    • - Erfassen, für eine jeweilige hinzuzufügende Funktion, eines jeweiligen Anforderungsprofils,
    • - Erfassen eines Fähigkeitenprofils der Recheneinheit, und
    • - Hinzufügen der Funktion nur dann, wenn das Anforderungsprofil zu dem Fähigkeitenprofil korrespondiert.
  • Mittels eines solchen Verfahrens kann ein Hinzufügen und/oder ein Orchestrieren von Funktionen besonders flexibel gestaltet werden. Insbesondere kann sich dies sowohl auf Funktionen mit Echtzeitanforderung wie auch auf Funktionen ohne Echtzeitanforderung beziehen. Dadurch kann eine Recheneinheit für beide Arten von Funktionen verwendet werden. Integration und Flexibilität werden dadurch deutlich erhöht. Auf die andernorts hierin gegebene Beschreibung von Funktionen mit oder ohne Echtzeitanforderung sei verwiesen.
  • Bei der Recheneinheit kann es sich insbesondere um eine Einheit in einem Fahrzeug handeln, welche Rechenoperationen ausführt. Sie kann beispielsweise eine oder mehrere Hardwarekomponenten aufweisen, welche beispielsweise unterschiedliche Rechenaufgaben, Speicheraufgaben oder Datentransferaufgaben ausführen können. Der Begriff der Recheneinheit kann auch weiter gefasst werden und beispielsweise Komponenten wie Sensoren oder Ausgabegeräte beinhalten.
  • Ein Anforderungsprofil gibt insbesondere an, welche Anforderungen eine jeweilige Funktion hat. Dadurch identifiziert es für eine jeweilige Funktion die benötigten Fähigkeiten und erlaubt einen Abgleich mit den tatsächlich vorhandenen Fähigkeiten, welche durch das Fähigkeitenprofil repräsentiert werden. Ein Erfassen eines Fähigkeitenprofils kann insbesondere ein Erzeugen eines Fähigkeitenprofils beinhalten, oder das Erfassen eines Fähigkeitenprofils kann ein Erzeugen eines Fähigkeitenprofils sein. Bezüglich des Erzeugens eines Fähigkeitenprofils sei auf die andernorts hierin gegebene Beschreibung verwiesen. Alle beschriebenen Ausführungen und Varianten können angewandt werden. Das Erfassen eines Fähigkeitenprofils kann jedoch auch beispielsweise das Auslesen eines bereits vorher erzeugten Fähigkeitenprofils aus einer dafür vorgesehenen Speichervorrichtung beinhalten.
  • Das Anforderungsprofil kann insbesondere eine oder mehrere Anforderungen beinhalten. Eine Anforderung stellt typischerweise dar, was die jeweils betrachtete Funktion benötigt, um ordnungsgemäß funktionieren zu können. Das Anforderungsprofil kann insbesondere zu dem Fähigkeitenprofil korrespondieren, wenn alle im Anforderungsprofil beinhalteten Anforderungen auch im Fähigkeitenprofil enthalten sind.
  • Das Fähigkeitenprofil kann insbesondere mindestens einen Auslastungsindikator beinhalten. Dieser kann angeben, wie stark die Komponenten der Recheneinheit, insbesondere datenverarbeitende Einheiten, ausgelastet sind. Der Auslastungsindikator gibt somit an, wieviel Rechenkapazität oder Kapazität von Kommunikationsmodulen, z.B. Bandbreite oder Zykluszeit von Signalen, noch verfügbar ist. Der Auslastungsindikator kann insbesondere über einen vorgegebenen Zeitraum ermittelt werden. Dieser kann beispielsweise ein vorgegebener Zeitraum in der Vergangenheit von einem jeweils betrachteten Zeitpunkt aus sein.
  • Zur Ermittlung des Auslastungsindikators kann insbesondere ein eventbasierter Scheduler, ein Fähigkeitsmanager und/oder ein Fähigkeitsmonitor betrachtet werden. Derartige Komponenten können Daten liefern, welche zur Berechnung eines Auslastungsindikators herangezogen werden können. Dadurch kann ein realistischer Auslastungsindikator erzeugt werden. Auf die andernorts hierin gegebene Beschreibung sei verwiesen.
  • Das Anforderungsprofil kann insbesondere eine Rechenleistungsanforderung beinhalten. Das Anforderungsprofil kann insbesondere nur dann zum Fähigkeitenprofil korrespondieren, wenn die Rechenleistungsanforderung als voraussichtlich erfüllbar bewertet wird. Hierzu kann insbesondere der bereits erwähnte Auslastungsindikator herangezogen werden, wobei eine Rechenleistungsanforderung mit dem Auslastungsindikator abgeglichen werden kann. Der Auslastungsindikator kann insbesondere anzeigend dafür sein, welche Rechenleistungsanforderung voraussichtlich erfüllbar ist und welche nicht. Je höher der Auslastungsindikator ist, desto weniger Rechenleistungsanforderung ist typischerweise erfüllbar.
  • Echtzeitanforderungen können auch Redundanz ermöglichen, da beim rechtzeitigen Übermitteln von Ergebnissen Anforderungen bezüglich funktionaler Sicherheit durch Redundanz gewährleistet werden können.
  • Das Anforderungsprofil kann insbesondere eine oder mehrere Echtzeitanforderungen beinhalten. Dies kann insbesondere bei Funktionen mit Echtzeitanforderung der Fall sein. Das Anforderungsprofil kann insbesondere nur dann zum Fähigkeitenprofil korrespondieren, wenn die Echtzeitanforderungen laut Fähigkeitenprofil erfüllbar sind. Insbesondere kann dies bedeuten, dass eine Echtzeitanforderung wie beispielsweise der Zugriff auf bestimmte Funktionen oder Hardwarekomponenten innerhalb von bestimmten Zeiträumen oder in bestimmten Zeitabständen von der Recheneinheit bereitgestellt werden kann.
  • Ein eventueller Zugriff auf Fähigkeiten kann insbesondere beim Hinzufügen der Funktion gewährleistet werden. Dies kann sowohl eine Autorisierung wie auch eine Authentifizierung beinhalten. Dadurch kann insbesondere sichergestellt werden, dass die benötigten Anforderungen dann zur Laufzeit auch tatsächlich zur Verfügung gestellt werden.
  • Das Anforderungsprofil kann insbesondere eine oder mehrere Zugriffsanforderungen auf Fahrzeugkomponenten beinhalten. Das Anforderungsprofil kann insbesondere nur dann zum Fähigkeitenprofil korrespondieren, wenn die Zugriffsanforderungen laut Fähigkeitenprofil erfüllbar sind. Derartige Zugriffsanforderungen können beispielsweise den Zugriff auf Komponenten wie bestimmte Hardwarekomponenten beinhalten. Beispielsweise kann es sich um eine Zugriffsanforderung auf einen Regensensor, auf einen Abstandssensor oder auf ein bild- oder tonausgebendes Gerät handeln. Das Fähigkeitenprofil kann typischerweise anzeigen, ob derartige Komponenten vorhanden sind. Auf die andernorts hierin gegebene Beschreibung sei verwiesen.
  • Gemäß einer vorteilhaften Ausführung wird nach dem Hinzufügen einer Funktion ein Auslastungsindikator der Recheneinheit für einen Zeitraum überwacht. Die Funktion oder eine andere Funktion können insbesondere wieder entfernt werden, in eine andere Partition verschoben werden, mit einer geringeren Redundanz ausgeführt werden und/oder herunterskaliert werden, wenn der Auslastungsindikator während des Zeitraums für mindestens eine Kontrollzeit mindestens so groß ist wie ein Schwellenwert. Dadurch kann eine geeignete Mitigationsstrategie angewendet werden, wenn angezeigt wird, dass trotz der vorab erfolgten Überprüfung doch keine ausreichende Rechenkapazität für eine Funktion zur Verfügung steht. Die Mitigationsstrategie kann auch eine Signallaufzeit, beispielsweise aus dem Auslastungsindikator, in Betracht ziehen. Sie kann auch beinhalten, dass die Funktion in einem anderen Rechnersystem oder einer anderen Recheneinheit im Fahrzeug oder außerhalb des Fahrzeugs (vernetzte Cloud/Edge) ausgeführt oder platziert wird. Das Fahrzeug kann sich beispielsweise bewegen. Wenn ortsabhängige Hardware-Komponenten (z.B. ITS Stationen, IST = Intelligent Transport System) verfügbar sind, kann die Fähigkeit von einer externen Hardware angeboten werden, damit kann die lokale Softwarekomponente, welche die gleiche Fähigkeit bereitstellt, abgeschaltet und/oder herunterskaliert werden. Die genannten Vorgehensweisen können insbesondere als jeweilige Mitigationsstrategien bezeichnet werden. Die Funktion kann dann beispielsweise wieder entfernt werden. Es kann jedoch auch eine andere Funktion entfernt werden, wobei beispielsweise eine Priorisierung vorgesehen werden kann, welche Funktion im Fall einer erkannten Überlastung bzw. einer Schwellenwertüberschreitung zuerst entfernt werden soll. Dies kann auch bedeuten, dass eine zuletzt hinzugefügte Funktion erhalten bleibt, wohingegen eine andere Funktion entfernt wird, weil die zuletzt hinzugefügte Funktion wichtiger ist. Eine Funktion kann auch in eine andere Partition verschoben werden, in welcher beispielsweise mehr Rechenkapazität oder mehr Speicherplatz verfügbar ist. Das Ausführen mit einer geringeren Redundanz kann beispielsweise bedeuten, dass auf gewisse Sicherheitsvorkehrungen in der Funktion, welche Rechenkapazität benötigen, verzichtet wird. Sie kann auch herunterskaliert werden, d.h. beispielsweise mit einer niedrigeren Grafikauflösung oder mit längeren Überprüfungsintervallen ausgeführt werden.
  • Die Recheneinheit kann insbesondere eine variable Anzahl an Hardwarekomponenten aufweisen. Das Fähigkeitenprofil kann insbesondere eine Auflistung der aktuell vorhandenen Hardwarekomponenten beinhalten. Somit kann sichergestellt werden, dass benötigte Hardwareeinheiten, welche eine Funktion zum Ausführen benötigt, auch tatsächlich vorhanden sind, bevor die Funktion hinzugefügt wird. Auf die andernorts hierin gegebene Beschreibung sei verwiesen.
  • Insbesondere kann jede Funktion abstrahiert in ihrem eigenen Format, zum Beispiel in einem Container, einem Pod oder einem Web Assembly, unabhängig lauffähig sein. Vom Verfahren kann ihr eine Hardwareinstanz oder eine durch Partitionierung vorgegebene Softwarepartition zugeordnet werden. Auch andere Partitionen können entsprechend zugeordnet werden. Dadurch kann beispielsweise bereits beim Hinzufügen der Funktion eine Hardware und/oder eine Partition zugeordnet werden, so dass die Funktion die benötigten Ressourcen bekommt. Dies kann entsprechend registriert werden, beispielsweise in einem eventbasierten Scheduler, so dass die Funktion ausgeführt und zur Laufzeit vom einem Monitor, beispielsweise dem hierin beschriebenen Fähigkeitenmonitor, überwacht werden kann. Die Recheneinheit stellt typischerweise verschiedene Hardwareinstanzen bereit, die mehrere Partitionen haben. Dabei kann es sich insbesondere um echtzeitfähige und nicht echtzeitfähige Partitionen handeln. Dadurch können unterschiedliche Anforderungen von Funktionen berücksichtigt werden.
  • Unter einer Orchestrierung werden insbesondere eine oder mehrere der folgenden Funktionalitäten verstanden:
    • - Provisionierung und Deployment
    • - Konfiguration und Planung
    • - Ressourcenzuweisung
    • - Verwalten der Funktions-Verfügbarkeit
    • - Skalieren oder Entfernen von Funktionen, um Workloads gleichmäßig über Ihre Infrastruktur zu verteilen
    • - Load Balancing und Traffic Routing
    • - Überwachen des Funktionszustands
    • - Konfigurieren der Funktion basierend auf der Partition oder Hardwareeinheit, auf der sie ausgeführt wird
    • - Sichern von Interaktionen zwischen Funktionen.
  • Für eine jeweilige hinzuzufügende Funktion kann insbesondere eine Partition der Recheneinheit ausgewählt werden. Die Funktion kann der ausgewählten Partition zur Ausführung zugewiesen werden. Dies ermöglicht eine unmittelbare Zuweisung einer Partition, in welcher die Funktion platziert und registriert wird. Durch die Registrierung, beispielsweise in einem eventbasierten Scheduler, wird eine Überwachung zur Laufzeit ermöglicht.
  • Das Verfahren kann gemäß einer vorteilhaften Ausführung ferner folgenden Schritt aufweisen, nachdem bei einer hinzuzufügenden Funktion entschieden wurde, ob diese hinzugefügt wird oder nicht:
    • - Senden, an eine externe Einheit, einer Rückmeldung darüber, ob die Funktion hinzugefügt wurde oder nicht hinzugefügt wurde.
  • Dadurch wird einem Entwickler von Funktionen eine Rückmeldung gegeben, ob seine Funktion erfolgreich implementiert wurde oder nicht. Die Entscheidung, ob eine Funktion hinzugefügt wird oder nicht, kann insbesondere für jedes Fahrzeug separat getroffen werden. Dies ermöglicht beispielsweise eine einfache und automatisierte Verwaltung von Fahrzeugflotten, wobei Funktionen für die Fahrzeuge der Fahrzeugflotte bereitgestellt werden können und eine individuelle Entscheidung erfolgt. Durch die eben erwähnte Rückmeldung kann nachverfolgt werden, ob die jeweilige Funktion bei ausreichend vielen Fahrzeugen auch tatsächlich lauffähig ist oder nicht. Wird sie beispielsweise nur von einer geringen Anzahl von Fahrzeugen oder auch von gar keinem Fahrzeug akzeptiert, so ist davon auszugehen, dass die Funktion nicht erfolgreich entwickelt wurde und/oder angepasst werden sollte. Wird sie jedoch von vielen oder allen Fahrzeugen akzeptiert, ist von einem erfolgreichen Einsatz der Funktion auszugehen. So kann beispielsweise der Funktionsmonitor einen Kompatibilitätsindikator für die Funktion erstellen. Dieser Kompatibilitätsindikator beinhaltet beispielsweise eine Referenz auf das aktuelle Fähigkeitsprofil. Der Fähigkeitenmanager kann diesen Indikator mit anderen Managern teilen.
  • Weitere Merkmale und Vorteile wird der Fachmann den nachfolgend mit Bezug auf die beigefügte Zeichnung beschriebenen Ausführungsbeispielen entnehmen. Dabei zeigen:
    • 1: eine schematische Darstellung mehrerer Komponenten,
    • 2: ein Ablaufdiagramm,
    • 3: ein weiteres Ablaufdiagramm,
    • 4: ein weiteres Ablaufdiagramm, und
    • 5: einen Zusammenhang zwischen Funktionen und Hardware.
  • Grundsätzlich kann es sich bei einer Recheneinheit beispielsweise um ein hochperformantes Steuergerät (HPC, High Performance Computing) handeln. Dieses kann in einem Fahrzeug eine Vielzahl von Funktionen bereitstellen. Über den Lebenszyklus des Fahrzeugs können neue Funktionen entwickelt und hinzugefügt werden. Hierbei kann mittels eines Updates die komplette Steuergerätsoftware inklusive der neuen Funktion, oder mittels Funktionsupdate eine einzelne Funktion hinzugefügt werden. Typischerweise werden hierbei die Funktionen statisch allokiert und sind meist in der Softwarearchitektur an eine bestimmte Systempartition, an bestimmte Speicherbereiche und/oder bestimmte CPU-Kerne gebunden.
  • Bei bekannten Ausführungen wurde typischerweise durch gesamtheitliches Testen sichergestellt, dass die CPU-Kerne nie überlastet werden, um die Rechenoperationen in einer vorgegebenen Zeit rechtzeitig abschließen zu können. Dies ist bei der hierin beschriebenen Vorgehensweise nicht mehr nötig.
  • Weiterhin können Stecksysteme für Hardware verwendet werden, beispielsweise um einem Basisboard zusätzliche Rechenleistung hinzuzufügen. Dies geschieht beispielsweise über Steckkarten (PCIe) oder eigenständige SOM-Module. Diese modularen und erweiterbaren Hardwarekonzepte können auch als skalierbare Computing-Plattformen (SCP) bezeichnet werden.
  • Weiterhin können Ringspeicher und zugehörige Schnittstellen verwendet werden, die es beispielsweise ermöglichen, einen Echtzeitspeicherzugriff für mehrere zugreifende und schreibende Funktionen zu lösen.
  • Es können Hypervisorlösungen verwendet werden, um Ressourcen des Hardware-Zielsystems mittels Virtualisierungstechniken voneinander zu trennen.
  • Echtzeitbetriebssysteme können verwendet werden, welche die Rechtzeitigkeit bei der Bearbeitung von Daten in einer Laufzeitumgebung gewährleisten.
  • Orchestrierungssysteme können verwendet werden, welche beispielsweise eine Zuteilung von Ressourcen für abstrahierte Funktionen in Form von Containern ermöglichen, sowie entsprechende Interface-Spezifikationen und Runtimes. Zur Verwaltung von Informationen über Datensätze können unterschiedliche Methoden wie beispielsweise Hashing, Merkle trees etc. verwendet werden.
  • Bekannten Vorgehensweisen weisen insbesondere die folgenden Nachteile auf, welche mittels der hierin beschriebenen Vorgehensweisen vermieden werden können:
    • - dynamisches Allokieren von Ressourcen (CPU, Speicher, GPU-Zugriff, etc.) ist nicht möglich,
    • - abstrakte Definition von Fähigkeiten des Zielsystems (zum Beispiel Steuerung einer Sitzheizung) ist partitionsgebunden und kann nur mit großem Aufwand für neue Softwarefunktionen freigegeben oder geändert werden,
    • - keine dynamische Neuzuteilung von Ressourcen und Fähigkeiten zu Funktionen,
    • - keine Echtzeitfähigkeit für Partitionen für ein dynamisches Allokieren möglich (da eine Zertifizierung verschiedener Funktionskonfigurationen aufgrund der hohen Komplexität nicht möglich ist),
    • - keine partitionsübergreifende Funktions- und Fähigkeitsverwaltung,
    • - hohe Komplexität bei der Zuteilung von Funktionen zum Beispiel durch manuelles Testen der maximalen Auslastung in verschiedenen Szenarien.
  • Beispielsweise kann die Frage nicht beantwortet werden, ob alle Anforderungen einer Software zur Laufzeit erfüllt werden. Dies kann nur mit einem hohen Aufwand, beispielsweise durch Simulation, beantwortet werden.
  • Es existiert kein bekanntes Verfahren, um die Software mit den Fähigkeiten eines Steuergeräts abzugleichen und über die Partitionierung hinweg eine optimierte Allokation der Softwarekomponenten automatisiert zu halten. Dabei spielt nicht nur die Priorisierung der Softwarefunktionen in einer Laufzeitumgebung eine Rolle, sondern auch das Monitoring der Datenflüsse zwischen Aktorik, Sensorik und abstrakten Fähigkeiten, um den Einfluss der Softwarekomponenten untereinander beobachten zu können und gegebenenfalls Einfluss zu nehmen. Insbesondere ist die Verbindung zwischen Funktionen mit ihren abstrakten Fähigkeiten und Fahrzeugaktorik bzw. Sensorik von Bedeutung. Dies ist im bekannten Stand der Technik nicht möglich.
  • Mithilfe der hierin beschriebenen Vorgehensweise können auch nicht zertifizierte Softwarefunktionen Fahrzeugfunktionen verwenden, ohne sicherheitsrelevante Funktionen beeinflussen zu können. Wird die Rechenleistung in einem SCP erweitert oder ein einziges Modul geändert, wird typischerweise entsprechend auch die Funktionssoftware geändert. Hierbei kann es zu einer neuen Allokation von Software zu einer bestimmten Partition kommen. Eine Speicherverwaltung (zum Beispiel DMA) und Laufzeitverhalten werden typischerweise angepasst. Unbekannte Drittsoftware kann typischerweise nicht genutzt werden, da schädlicher Programmcode Einfluss auf das Laufzeitverhalten anderer Softwaremodule nehmen kann oder Sensor-/Aktor-Daten mitlesen oder ändern kann.
  • 1 zeigt rein schematisch eine Anordnung mit unterschiedlichen Komponenten. Daran wird eine grundlegende Funktionsweise der hierin beschriebenen Vorgehensweise beschrieben.
  • Ein Entwickler E hat eine neue Funktion entwickelt und möchte diese auf einer Recheneinheit RE eines ansonsten nicht weiter dargestellten Kraftfahrzeugs implementieren. Hierzu kann zunächst auf ein Fähigkeitenprofil FP zugegriffen werden, welches anzeigt, welche Fähigkeiten die Recheneinheit RE aktuell hat. Das Fähigkeitenprofil FP wird im Zusammenspiel zwischen einem Fähigkeitsmanager, einem Fähigkeitsmonitor sowie einem eventbasierten Scheduler erzeugt. Deren Aufgaben werden nachfolgend beschrieben.
  • Der eventbasierte Scheduler hat typischerweise eine Liste aller implementierten Funktionen in einer Funktionsregistrierung. Beispielhaft sind hier Funktionen 1, 2, 3, 4, n dargestellt. Diese werden in einer Laufzeitumgebung („service runtime“) ausgeführt. Sowohl zwischen der Funktionsregistrierung und dem eventbasierten Scheduler wie auch zwischen der Laufzeitumgebung und dem eventbasierten Scheduler werden Daten übertragen.
  • Der eventbasierte Scheduler sorgt typischerweise dafür, dass die Funktionen mit ihrer jeweiligen Echtzeitanforderung, sofern vorhanden, ausgeführt werden. Beispielsweise kann eine solche Echtzeitanforderung anzeigen, dass eine Funktion in bestimmten Abständen auf bestimmte Komponenten zugreifen muss oder bestimmte Berechnungen durchführen muss. Der eventbasierte Scheduler kann gegebenenfalls weniger wichtige oder weniger zeitkritische Funktionen verzögern oder abschalten, um dies sicherzustellen. Es kann auch eine Mitigationsstrategie angewandt werden, wie dies an anderer Stelle hierin beschrieben wird.
  • Der Fähigkeitsmanager steht unter anderem mit dem eventbasierten Scheduler in Verbindung und erzeugt aus Daten, welche er vom eventbasierten Scheduler erhält und welche beispielsweise eine aktuelle Auslastung anzeigen, das Fähigkeitenprofil FP. In das Fähigkeitenprofil FP gehen jedoch auch andere Informationen ein, beispielsweise über angeschlossene Komponenten. Hierauf wird weiter unten näher eingegangen werden.
  • Der Fähigkeitsmanager steht auch in Verbindung mit einem Fähigkeitsmonitor sowie einem Fähigkeitenspeicher. Im Fähigkeitenspeicher werden die aktuell vorhandenen Fähigkeiten gespeichert. Der Fähigkeitsmonitor überwacht die vorhandenen Fähigkeiten und steuert den Zugriff darauf. In der hier vorliegenden Implementierung sind als Fähigkeiten eine Bremse B, ein Temperatursensor T sowie ein Motor M vorhanden. Diese kommunizieren über vorliegend zwei Ringspeicher R1, R2 mit dem eventbasierten Scheduler und mit ihren jeweils zugeordneten Funktionen, welche auf sie zugreifen. Es können auch mehr oder weniger Ringspeicher verwendet werden. Typischerweise ist jeder Fähigkeit ein jeweils eigener Ringspeicher zugeordnet. Die Ringspeicher R1, R2 sind in üblicher Weise implementiert. Sie können von dem Fähigkeitsmonitor überwacht und gezielt gesteuert werden. Insbesondere kann der Scheduler den Zugriff für eine Funktion auf den Ringspeicher unterbinden oder erlauben, insbesondere durch Erteilen oder Löschen des zugehörigen Scheib- oder Lesepointers. Auf diese Weise kann gezielt der Zugriff von Funktionen auf die Ringspeicher verwaltet werden. Greift keine Funktion auf den Ringspeicher mehr zu, kann dieser deallokiert werden. Dies kann in einfacher Weise zum Deaktivieren einer Funktion genutzt werden, beispielsweise wenn der eventbasierte Scheduler wie bereits weiter oben erwähnt eine Funktion deaktivieren will, um einer anderen Funktion mehr Rechenkapazität zuzuweisen.
  • Eine Fähigkeitenabstraktion kann insbesondere dadurch erreicht werden, dass eine Fähigkeit einen Sensor oder einen Aktor zusammen mit zugehöriger Steuerung und Kommunikation abstrahiert. Beispielsweise kann die Fähigkeit „Regenerkennung“ einen Regensensor zusammen mit Steuergerät und Kommunikation abstrahieren. Die hier gezeigten Hardwarekomponenten Bremse B, Temperatursensor T und Motor M werden als Aktorik/Sensorik bezeichnet.
  • Ringspeicher stellen insbesondere eine schnelle Kommunikationslösung dar. Die hierin beschriebene Vorgehensweise erweitert insbesondere vorhandene Konzepte von Orchestratorkomponenten, um ein Fähigkeitsmanagement für echtzeitfähige Funktionsverwaltung und Allokierung bereitzustellen, insbesondere um die Nachteile vorhandener Automotive-Lösungen zu überwinden. Das intelligente Management durch den Fähigkeitsmanager, der insbesondere in Zusammenarbeit mit dem Fähigkeitsmonitor die Ringspeicher steuert, und mit dem eventbasierten Scheduler bildet eine besonders vorteilhafte Implementierung.
  • In 2 werden Vorgehensweisen zum Anmelden einer neuen Funktion und zum Abmelden einer vorhandenen Funktion gezeigt. Zum Anmelden einer neuen Funktion definiert zunächst ein Entwickler die Funktion und benötigte Fähigkeiten. Anschließend erfolgt eine Anfrage der benötigten Fähigkeiten im Zielsystem. Wenn die Fähigkeiten nicht verfügbar sind, kann die Funktion typischerweise nicht hinzugefügt werden. Wenn sie verfügbar sind, wird die Funktion dem Zielsystem in der Funktionsregistrierung hinzugefügt. Eine Fähigkeitsmatrix der Funktion wird signiert und dem Fähigkeitenspeicher hinzugefügt. Das Signieren kann insbesondere durch einen Funktionsanbieter, einen Fähigkeitsanbieter und/oder einen Fähigkeitsmanager erfolgen. Der Fähigkeitsmonitor findet anschließend eine neue Fähigkeit im Speicher. Die Funktion wird im eventbasierten Scheduler registriert, und anschließend wird die Funktion ausgeführt.
  • Zum Abmelden einer vorhandenen Funktion wird ein Event zum Löschen einer Funktion ausgelöst. Der Fähigkeitsmanager löscht den Eintrag der Funktion im eventbasierten Scheduler. Der Funktionsmanager stoppt anschließend die Funktion. Anschließend löscht der Funktionsmanager die Funktion in der Funktionsregistrierung und er löscht außerdem die zugehörige Fähigkeitsmatrix bzw. das zugehörige Fähigkeitenprofil.
  • Ein Entwickler kann beispielsweise eine Funktion entwickeln, welche er auf einem Fahrzeugsystem bzw. einer Recheneinheit applizieren möchte. Die Funktion hat typischerweise Abhängigkeiten von vorhandenen Fähigkeiten des Fahrzeugs und ändert bei der Allokation die Gesamtkonfiguration des Fahrzeugs. Im Verfahren kann sichergestellt werden, dass die neue Konfiguration lauffähig ist und alle benötigten Fähigkeiten und Abhängigkeiten vorhanden sind.
  • Zunächst kann insbesondere der Entwickler Fähigkeiten bei dem Fähigkeitsmanager anfordern, beispielsweise über eine mit der Funktions-Software referenzierte Fähigkeitsmatrix anfordern. Das Referenzieren kann beispielsweise über einen Hash erfolgen. Diese Referenz kann die neue Softwarekomponente inklusive ihrer Anforderungen an die Fähigkeiten des Zielsystems identifizieren. Optional kann der Fähigkeitsmanager auch weitere Fähigkeiten durch diese neu bereitgestellte Komponente ermitteln. Anschließend kann die Beschreibung der Funktion mit ihren Fähigkeitsabhängigkeiten im Fähigkeitenspeicher hinterlegt werden, beispielsweise in Form eines merkle tree. Der Programmcode der neuen Funktion kann der Funktionsregistrierung und dem eventbasierten Scheduler zur Ausführung hinzugefügt werden. Der Fähigkeitsmonitor kann den Zugriff aller Funktionen überwachen, und zwar insbesondere auf Fähigkeiten in Echtzeit während der Laufzeit und im Fehlerfall reagieren, beispielsweise wenn ermittelt wird, dass Fähigkeiten nicht rechtzeitig zur Verfügung stehen. Der Fähigkeitsmonitor kann dem Fähigkeitsmanager Laufzeitinformationen der Ringspeicher zur Verfügung stellen, damit der eventbasierte Scheduler die Partitionen der Funktionen gemäß ihrer Echtzeitanforderung triggern kann. Der Fähigkeitsmonitor kann vor der Benachrichtigung des Fähigkeitsmanagers die Signaturen aller Teilnehmer prüfen. Daten und Laufzeit einer Partition werden einer Funktion typischerweise nur zugewiesen, wenn die Funktion die Anforderungen der Fähigkeitsmatrix erfüllt. Die Überwachung der Lese- bzw. Schreibpointer der Ringspeicher ermöglichen die Ermittlung der Rechtzeitigkeit der Funktionsausführung. Weiterhin ermöglicht der Schreib- bzw. Lesepointer dem eventbasierten Scheduler die Ausführungsplanung aller Funktionen und das Teilen von gleichen Fähigkeiten im selben Speicherbereich. Eine Verschlüsselung und Zugriffsberechtigung eines Ringspeichers sowie eine Zuweisung der Zugriffspointer können über die Signaturen der Teilnehmer im Fähigkeitenspeicher über den Fähigkeitsmonitor gesteuert werden.
  • Die Ringspeicher der Fähigkeitsabstraktion können durch die Echtzeitmechanismen des Hypervisors getriggert werden. Der Fähigkeitsmonitor kann einen Pointer auf den Puffer empfangen, der eine Aktion zur Überprüfung der Signatur erfordert. Er interagiert typischerweise mit dem Fähigkeitsmanager, welcher im Konfliktfall entsprechende bzw. geeignete Mitigationsstrategien auslöst.
  • Nachfolgend wird eine Fähigkeitsabstraktion beschrieben. Als Beispiel dient hierbei eine Funktion der Niederschlagsermittlung. Eine neue Funktion zur Niederschlagsermittlung kann beispielsweise auf folgende Fähigkeiten zugreifen:
    • - Regensensor lesen,
    • - Fahrzeugmodell ermitteln.
  • Der Regensensor kann beispielsweise einen abstrakten Wert liefern (zum Beispiel 0 = kein Regen, 1 = wenig Regen, 2 = mehr Regen, 3 = viel Regen, usw.). Die neue Softwarefunktion kann anhand des Fahrzeugmodells die tatsächliche Niederschlagsmenge in Liter pro Quadratmeter ermitteln und diese Information als neue Fähigkeit anmelden oder bereitstellen.
  • Der Fähigkeitsmanager kann anhand der Fähigkeitsmatrix die Echtzeitanforderung der neuen Funktion ermitteln. Beispielsweise kann eine zeitliche Auflistung der Eingangswerte, beispielsweise ein Auslesen des Regensensors mit einer Frequenz von 1 Hz, bzw. der Ausgangswerte, wie beispielsweise der Niederschlagsmenge von 0,5 Hz, ermittelt werden. Weiterhin kann der Fähigkeitsmanager darüber informiert sein, ob eine Funktion von einer anderen benötigt wird und löscht diese gegebenenfalls aus dem Zeitplan des eventbasierten Schedulers. Dies geschieht insbesondere auch im Fehlerfall, zum Beispiel wenn die Funktion nicht rechtzeitig fertig wird. Mit diesem Prinzip können Echtzeitfähigkeiten zwischen Funktionen geteilt werden.
  • Die Fähigkeitsmatrix kann eine allgemeine Struktur zum Verbinden von Fähigkeiten und Funktionen liefern. Dabei können neue Fähigkeiten angefordert werden und auch angeboten werden. Es sei verstanden, dass die Begriffe Fähigkeitsmatrix und Fähigkeitenprofil hierin synonym verwendet werden.
  • Der Fähigkeitsmanager kann die Konfigurationsdatei mit dem Fähigkeitenspeicher abgleichen. Dabei ist der Schritt zur Prüfung, ob benötigte Fähigkeiten zu den angebotenen Fähigkeiten passend sind, entscheidend.
  • Für die Vergleichbarkeit der Fähigkeiten sind zwei Lösungsmöglichkeiten vorgesehen:
    • - fest definiert: eine im System bekannte festgelegte Liste definierter Fähigkeiten (zum Beispiel als String),
    • - formlos und eindeutig: ein automatisch aus den Daten einer Fähigkeit erzeugter eindeutig identifizierbarer Wert (Hash).
  • Diese Fähigkeiten können so in eine Datei geschrieben und vom Funktionsanbieter verschlüsselt und signiert im Fähigkeitenspeicher abgelegt werden. Dies kann als Fähigkeitsmatrix oder als Fähigkeitenprofil bezeichnet werden. Weiterhin kann ein Hash dieser Fähigkeitsspezifikation generiert werden und als Fingerabdruck der Spezifikation dienen. Damit kann der Vertrag zwischen Anbieter und Nutzer beliebigen Inhalt haben und flexibel verwaltet werden (zum Beispiel Commit Hash). Die Vereinbarung kann zwischen dem Fähigkeitsmanager, dem Funktionsanbieter und dem Nutzer bestätigt werden, beispielsweise indem der Hash einer Vereinbarung von allen Parteien digital unterzeichnet wird.
  • Zur Nutzung von Fähigkeiten können die Teilnehmer kryptografisch signierte Nachrichten über Fähigkeiten austauschen, bei denen es sich insbesondere um Transaktionen handeln kann, die den Status verteilen oder andere Aufgaben ausführen, die für das korrekte Ergebnis der Fähigkeit erforderlich sind. Als nächstes können die Teilnehmer den Status beispielsweise in einer 3-von-3-Multisignatur hinterlegen, auf die die Fähigkeitsmatrix verweisen kann. Neue kryptografisch signierte Zustandsaktualisierungen, die sich auf die ursprünglichen Verpflichtungen der Fähigkeit beziehen, können nun verwendet werden, um den Zustand der Funktion im eventbasierten Scheduler und/oder die Daten im Ringspeicher zu ändern, die von der Multisignatur über den Fähigkeitsmonitor kontrolliert werden.
  • Durch einen Challenge-Response-Mechanismus kann der Fähigkeitsmonitor Methoden implementieren, mit denen die Teilnehmer sicherstellen können, dass die letzte signierte, gültige Zustandsaktualisierung, die sich auf ihre Verpflichtung der Fähigkeit bezieht, an die Funktion übermittelt werden kann, wodurch das korrekte Ergebnis des Zustands und der Daten der Fähigkeit für alle Funktionen, die sich an das Protokoll halten, garantiert wird.
  • Der Anteil der Kontroll-API zur Anmeldung neuer Funktionen am Fähigkeitsmanager kann beispielsweise folgenden Aufbau haben:
 melde_service_an(Liste_Hash benötigte_fähigkeiten, Liste_Hash
 bereitgestellte_fähigkeiten, Anforderungen_Echtzeitfähigkeit)
 {
 a = benötigte_fähigkeiten
 b = bereitgestellte_fähigkeiten
 opt AE = Anforderungen_Echtzeitfähigkeit
 if (eventBasedScheduler.registerFunction(opt_AE) == true)
  bestätigung = gleiche_fähigkeiten_ab(a, b)
  if (bestätigung == fähigkeit_nicht_gefunden)
   return kontaktiere_service_provider
   if (bestätigung == keine_erlaubnis_zur_nutzung)
  return error
  if (bestätigung == OK)
  return Liste_Hash benötigte_fähigkeiten + bereitgestellte_fähigkeiten + signatur
  des Funktionsmanagers
  else (return error)
  }
  • Die Fähigkeitsmatrix hat gemäß einer möglichen Ausführung folgenden Aufbau:
    Identifikator Wert Beispiel
    ID Funktionsanbieter ID als Hash ID Erzeugung über Public Key Verfahren: Elliptic Curve Digital Signature Algorithm(ECDSA) Elliptic-curve Diffie-Hellman(ECDH) Ed25519andEd448(Ed DSA) X25519andX448(ECDH/EdDH) 0xA80b27e52a96778596F575f27A7E0A53aCEa88B3
    Liste benötigter Fähigkeiten Liste der benötigen Fähigkeiten als Hash Regensensor lesen Motorsteuerung
    Liste angebotene Fähigkeit (optional) Liste der angebotenen Fähigkeiten als Hash Niederschlagsmenge
    Echtzeitanforderungen RX (optional) Zeit in ms bis benötige Fähigkeiten ausgeführt wurden z.B. Regensensor <= 1000 ms
    Echtzeitanforderungen TX (optional) Zeit in ms bis Funktion ausgeführt werden muss z.B. Zeit bis Regenmenge in I/s zur Verfügung steht <= 2000 ms
    Multisignatur Signatur der Teilnehmer (Funktionsanbieter, Fähigkeitsanbieter, Fähigkeitsmanager) Wird nach erfolgreicher Prüfung erstellt Beispiel: ECDSA, ECGDSA oder Nyberg-Rueppel-Signaturen signECDSAsecp256k1 (msg. privKey)
  • Der Fähigkeitsmanager kann eine Liste der legitimierten Funktionsanbieter besitzen und neue Funktionen mit der Signatur des Funktionsanbieters im Fähigkeitenspeicher ergänzen.
  • 3 zeigt rein schematisch die Vorgehensweise beim Ausführen einer Funktion. Zunächst allokiert der Funktionsmanager Ringspeicher pro Partition. Der Funktionsmanager kann auch optional mehrere Ringspeicher pro Funktion allokieren. Entsprechende Lese- und Schreibpointer werden initialisiert. Ein Event wird erzeugt, zum Beispiel ein neuer Datensatz an einem Sensor. Der Datensatz wird in den Ringspeicher geschrieben und der Schreibpointer wird auf nächste Position im Ringspeicher gesetzt. Der Fähigkeitsmonitor prüft dann typischerweise Signaturen und überwacht Lesepointer. Sind diese valide, werden Daten von der Funktion gelesen und ausgewertet. Sind diese invalide, werden Lesepointer deinitialisiert.
  • Wenn das Zielgerät (zum Beispiel HPC eines Fahrzeugs) über die notwendigen Fähigkeiten verfügt und die neue Funktion mitsamt ihren neuen Fähigkeiten akzeptiert wird, wird der Container der neuen Softwarekomponenten dem Zeitplan des eventbasierten Schedulers hinzugefügt. Die Fähigkeitsmatrix einer Drittsoftwarekomponente liefert optional Echtzeitanforderungen zum Zugriff auf Aktoren, Sensoren und/oder Servicedaten, wie zum Beispiel dass die Motortemperatur alle 500 ms aktualisiert werden soll oder dass die Sollgeschwindigkeit alle 100 ms gesendet werden soll. Weiterhin sorgt der eventbasierte Scheduler typischerweise dafür, dass Fremdsoftware genügend Zeit zur Verarbeitung der Daten erhält. Sind keine aktuellen Daten verfügbar, ergibt es typischerweise keinen Sinn, die Drittsoftware zur Verarbeitung auszuführen. Ob Daten für eine Funktion bereitgestellt werden, prüft der Fähigkeitsmonitor über den Zugriffspointer der schreibenden Funktion (Drittsoftware) bzw. Sensor/Aktor. Ob die Drittsoftware mit der Verarbeitung im Zeitplan liegt, prüft der Fähigkeitsmonitor, indem der Schreibpointer des eventbasierten Schedulers überwacht wird. Beispielsweise wird die Sollgeschwindigkeit alle 100 ms geschrieben. Wenn eine Komponente keine Echtzeitanforderungen hat, wird diese vom eventbasierten Scheduler nur ausgeführt, wenn Rechenzeit übrig bleibt. Der Fähigkeitsmanager überwacht die globale Rechenkapazität und meldet neue Funktionen nur an, wenn ein Puffer x existiert. Daten können auf eine sichere Arte und Weise (Verschlüsselung oder separater Speicherbereich) typischerweise nur an die Funktion übertragen werden, welche gerade zur Ausführung im Zeitplan steht. Dies sorgt typischerweise dafür, dass der Systembus durch parallele Übertragung bzw. Recheneinheiten durch parallele Entschlüsselung nicht überlastet wird. Es bietet sich an, den Speicher zwischen Aktorik/Sensorik und Fremdsoftware als Ringspeicher auszulegen, da für ein solches System viele kleine Datenpakete mit hoher Echtzeitanforderung verwendet werden, da ein Fahrzeug viele Sensoren und Aktoren besitzt. Weiterhin kann ein Ringspeicher viele Lese- und Schreibpointer auf dem gleichen Speicherbereich verwalten. Damit wird wiederum der Systembus zwischen Funktion und Aktor/Sensor entlastet.
  • Die hierin beschriebene Vorgehensweise beschränkt sich nicht nur auf Softwarefunktionen, vielmehr können neue Fähigkeiten damit auch in Form von neuer Hardware hinzugefügt werden.
  • Eine beispielhafte Vorgehensweise beim Anmelden einer neuen Hardware zeigt 4. Dabei wird zunächst die neue Hardware physisch dem Gesamtsystem hinzugefügt. Die Hardware startet und liest den Fähigkeitenspeicher aus. Der Fähigkeitsmonitor erkennt die neue Hardware und fügt neue Fähigkeiten dem Fähigkeitenspeicher hinzu. Die Fähigkeiten der neuen Hardware stehen dann im Gesamtsystem zur Verfügung.
  • Nachfolgend erfolgt eine Beschreibung eines möglichen zugrunde liegenden Gesamtsystems für das hierin beschriebene Verfahren. Diesbezüglich sei auf die Darstellung von 5 verwiesen.
  • In der untersten Schicht befindet sich typischerweise die Hardware. Diese sind die SoCs der Steuergeräte, welche typischerweise die Rechenleistung und Speicher, Schnittstellen etc. enthalten. Für das Gesamtsystem werden eine Vielzahl solcher Hardwarekomponenten verbunden, und zwar insbesondere über Kommunikationsbusse (zum Beispiel PCI und/oder Automotive Ethernet). Hardware kann dabei flexibel hinzugefügt oder entfernt werden, um die Rechenleistung zu modifizieren. Jede Hardware kann optional direkt mit Sensoren und/oder Aktoren verbunden sein. Jede Hardware hat typischerweise einen Fähigkeitenspeicher. Dies ist ein spezieller Speicherbereich, in dem die verfügbaren Fähigkeiten abgelegt werden, um bei einem Aufstart eine schnelle Verfügbarkeit zu gewährleisten. Über die Kommunikationsschicht werden die Hardware 1 bis Hardware n miteinander verbunden. Zusätzlich können hier weitere Sensoren und/oder Aktoren direkt angebunden werden. Auf der Hardware kann optional ein Hypervisor (Typ 1 oder Typ 2) laufen, der die sichere Trennung verschiedener Partitionen durchführt. In den Partitionen kann der beschriebene gemischt kritische Orchestrator installiert werden. Der Orchestrator bestimmt dabei typischerweise auch die virtuelle Netzwerkkonfiguration, welche die Kommunikationsmöglichkeiten zwischen verschiedenen Funktionen definiert und kennt, und kennt das Echtzeitverhalten der gesamten Kommunikationskette, mit der eine direkte Kommunikation zwischen den Applikationen ermöglicht werden kann. Funktionen und/oder Applikationen können vom gemischt kritischen Orchestrator gestartet werden. Dabei handelt es sich typischerweise um die abstrahierte Funktionssoftware, die mit verschiedenen Technologien voneinander getrennt ausgeführt werden kann. Beispielsweise kann dies als Pod oder Multicontainer-Applikation, als Single Container-Applikation, als Sandbox, als virtuelle Maschine, als Web Assembly mit entsprechender Runtime, oder als Micro-VM erfolgen. Echtzeitfähige Funktionen können von Applikationen verwendet und angeboten werden, ohne die Sicherheit des Gesamtsystems zu beeinflussen.
  • Der in 5 dargestellte gemischt kritische Orchestrator kann insbesondere mit der Kombination aus eventbasiertem Scheduler, Fähigkeitsmanager und Fähigkeitsmonitor in 1 identifiziert werden.
  • Die hierin beschriebene Vorgehensweise ermöglicht insbesondere ein gemeinsames Orchestrieren von echtzeitfähigen und unkritischen Inhalten. Eine dynamische Allokation von Funktionen in allen Partitionen wird ermöglicht. Alle Ressourcen des Gesamtsystems können durch den gemischt kritischen Orchestrator genutzt werden. Der Orchestrator weist dabei typischerweise die Funktion einer Partition zu. Damit kann eine optimale Ausnutzung der Ressourcen jeder Partition erzielt werden. Es kann eine Neuzuteilung von Fähigkeiten zu Partitionen erfolgen, und damit einhergehende flexible Zuteilungsmöglichkeiten von Funktionen zu Fähigkeiten sind möglich. Der gemischt kritische Orchestrator kann die Fähigkeiten einer oder mehrerer Partitionen zuteilen und kann die Funktion genau da allokieren, wo ein Zugriff möglich ist, und diesen überwachen. Zudem kann durch die bekannten Abhängigkeiten auch eine Rekonfiguration der Fähigkeiten zu den Partitionen automatisiert und sicher durchgeführt werden. Die Echtzeitfähigkeit für Partitionen mit dynamischer Allokierung wird außerdem bereitgestellt. Durch die Kombination von Fähigkeitsmatrix und Fähigkeitenspeicher sind Anforderungen an die Echtzeitfähigkeit definiert. Der Fähigkeitsmonitor kann so durch den Abgleich der Anforderungen mit den Fähigkeiten prüfen, ob die Echtzeitanforderungen eingehalten werden können und ob weitere Funktionen dynamisch allokiert werden können. Eine partitionsübergreifende Funktionsverwaltung kann durch den gemischt kritischen Orchestrator bereitgestellt werden. Eine Kommunikation von mehreren Orchestratoren untereinander ermöglicht hardware- und partitionsübergreifende Funktionsverwaltung. Es kann auch ein performantes Ausführen durch die Verwendung von Ringspeichern erfolgen.
  • Nachfolgend werden beispielhaft drei mögliche Ausführungsbeispiele konkreter Implementierungen beschrieben:
  • Ausführungsbeispiel 1: Abstandssensor mit Audiowarnung
  • In einem Fahrzeugsystem mit 4 Zonen-HPCs und einer skalierbaren Computing Plattform (SCP) ist das beschriebene Verfahren mit den zugehörigen Architektur-Schichten installiert. Der Entwickler fügt nun eine Funktion zur Erkennung von Abständen mit zugehöriger Audiowarnung dem System hinzu. Dazu beschreibt er die benötigen Fähigkeiten in der Fähigkeitsmatrix (Abstandsensoren lesen, Audiowarnung ausgeben, Anforderungen an die Echtzeitfähigkeit des Ausgangsignals = 150 ms). Die Zonen-HPCs stellen jeweils für ihren Bereich die Fähigkeit Abstandsensoren und Audioausgabe bereit und die SCP entsprechende Rechenleistung auf einem Echtzeitfähigen CPU Kern. Der Fähigkeitsmonitor erkennt diese Fähigkeiten. Der Entwickler übergibt die Fähigkeitsmatrix an den Fähigkeitsmanager und dieser gibt die Rückmeldung, dass alle Anforderungen erfüllt werden können. Die Funktion wird dem Fahrzeug hinzugefügt.
  • Ausführungsbeispiel 2: ADAS-Trajektorien Prädiktion
  • Für eine Sicherheitsfunktion soll dem Fahrzeug eine Funktion zur Prädiktion der Trajektorie hinzugefügt werden. Diese muss in Echtzeit die Position des Fahrzeugs vorhersagen. Die Fähigkeitsmatrix ist wie folgt:
    • (Künstliche Intelligenz Hardware Beschleuniger, Umfeldmodell lesen, Telemetriedaten lesen, prädiktive Trajektorie ausgeben, Anforderung an die Echtzeitfähigkeit des Ausgangssignals = 20 ms). Nach der Überprüfung des Fähigkeitsmanagers wird festgestellt, dass eine solche Berechnung nur auf einer Hardware zur Verfügung steht. Die Funktion wird entsprechend dort allokiert, wo der Hardwarebeschleuniger zur Verfügung steht und entsprechend ausgeführt. Die Trajektorienprädiktion steht nun als neue Fähigkeit z.B. für ein Warnsystem zur Verfügung.
  • Ausführungsbeispiel 3: ADAS-Funktionspaket
  • Der Fahrer eines Fahrzeugs hat ein neues Funktionspaket mit 10 verschiedenen Funktionen gebucht. Die Funktionen sollen nun nachträglich seinem Fahrzeug hinzugefügt werden. Die zugehörigen Funktionsmatrizen werden geprüft vom Fähigkeitenmanager und es wird festgestellt, dass die Anforderungen an die Echtzeitfähigkeiten der Ausgangssignale nicht eingehalten werden können. Es können lediglich 4 von 10 Funktionen allokiert werden. In der skalierbaren Computing Plattform wird nun ein Hardware Modul hinzugefügt, welches sich entsprechend dem Verfahren im System anmeldet. Es steht nun mehr Rechenleistung zur Verfügung. Bei erneuter Allokation ergibt die Prüfung der Fähigkeitsmatrix, dass nun auch die restlichen 6 Funktionen allokiert werden können.
  • Erwähnte Schritte des erfindungsgemäßen Verfahrens können in der angegebenen Reihenfolge ausgeführt werden. Sie können jedoch auch in einer anderen Reihenfolge ausgeführt werden, soweit dies technisch sinnvoll ist. Das erfindungsgemäße Verfahren kann in einer seiner Ausführungen, beispielsweise mit einer bestimmten Zusammenstellung von Schritten, in der Weise ausgeführt werden, dass keine weiteren Schritte ausgeführt werden. Es können jedoch grundsätzlich auch weitere Schritte ausgeführt werden, auch solche welche nicht erwähnt sind.
  • Es sei darauf hingewiesen, dass in den Ansprüchen und in der Beschreibung Merkmale in Kombination beschrieben sein können, beispielsweise um das Verständnis zu erleichtern, obwohl diese auch separat voneinander verwendet werden können. Der Fachmann erkennt, dass solche Merkmale auch unabhängig voneinander mit anderen Merkmalen oder Merkmalskombinationen kombiniert werden können.
  • Rückbezüge in Unteransprüchen können bevorzugte Kombinationen der jeweiligen Merkmale kennzeichnen, schließen jedoch andere Merkmalskombinationen nicht aus.
  • Claims (10)

    1. Verfahren zum Erzeugen eines Fähigkeitenprofils einer Recheneinheit (RE) eines Fahrzeugs, wobei auf der Recheneinheit (RE) eine oder mehrere Funktionen mit Echtzeitanforderung und eine oder mehrere Funktionen ohne Echtzeitanforderung laufen, wobei das Verfahren folgende Schritte aufweist: - Erfassen eines Zustands der Recheneinheit (RE), und - Erzeugen des Fähigkeitenprofils in Abhängigkeit von dem Zustand der Recheneinheit (RE).
    2. Verfahren nach Anspruch 1, - wobei das Fähigkeitenprofil einen Indikator für eine aktuelle Auslastung beinhaltet.
    3. Verfahren nach einem der vorhergehenden Ansprüche, - wobei die Recheneinheit (RE) eine variable Anzahl an Hardwarekomponenten aufweist, und - wobei das Fähigkeitenprofil eine Auflistung der aktuell vorhandenen Hardwarekomponenten beinhaltet.
    4. Verfahren nach Anspruch 3, - wobei beim Hinzufügen oder Entfernen einer Hardwarekomponente die Auflistung der aktuell vorhandenen Hardwarekomponenten aktualisiert wird.
    5. Verfahren nach einem der Ansprüche 3 oder 4, - wobei beim Hinzufügen oder Entfernen einer Hardwarekomponente eine oder mehrere der folgenden Hardwarekomponenten hinzugefügt oder entfernt werden: - Rechenkomponente, - Beschleunigerkomponente, - Speicherkomponente.
    6. Verfahren nach einem der Ansprüche 3 bis 5, - wobei beim Hinzufügen oder Entfernen einer Hardwarekomponente ein oder mehrere Sensoren und/oder Aktoren hinzugefügt oder entfernt werden.
    7. Verfahren nach einem der vorhergehenden Ansprüche, - wobei die Recheneinheit (RE) eine variable Anzahl an Partitionen aufweist, und - wobei das Fähigkeitenprofil eine Auflistung der aktuell vorhandenen Partitionen beinhaltet.
    8. Verfahren nach Anspruch 7, - wobei eine oder einige der Partitionen echtzeitfähig sind, und - wobei eine oder einiger der Partitionen nicht echtzeitfähig sind.
    9. Verfahren nach einem der vorhergehenden Ansprüche, - wobei die Recheneinheit (RE) eine variable Anzahl an Softwarefunktionen aufweist, und - wobei das Fähigkeitenprofil eine Auflistung der aktuell vorhandenen Softwarefunktionen beinhaltet.
    10. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Verfahren ferner folgende Schritte aufweist: - Ermitteln eines Anforderungsprofils einer zur Recheneinheit (RE) hinzuzufügenden Funktion, - Vergleichen des Anforderungsprofils mit dem Fähigkeitenprofil, und - Hinzufügen des Anforderungsprofils nur dann, wenn das Anforderungsprofil zu dem Fähigkeitenprofil korrespondiert.
    DE102022200754.9A 2022-01-24 2022-01-24 Verfahren zum Erzeugen eines Fähigkeitenprofils einer Recheneinheit Pending DE102022200754A1 (de)

    Priority Applications (2)

    Application Number Priority Date Filing Date Title
    DE102022200754.9A DE102022200754A1 (de) 2022-01-24 2022-01-24 Verfahren zum Erzeugen eines Fähigkeitenprofils einer Recheneinheit
    PCT/DE2022/200308 WO2023138721A1 (de) 2022-01-24 2022-12-20 Verfahren zum erzeugen eines fähigkeitenprofils einer recheneinheit

    Applications Claiming Priority (1)

    Application Number Priority Date Filing Date Title
    DE102022200754.9A DE102022200754A1 (de) 2022-01-24 2022-01-24 Verfahren zum Erzeugen eines Fähigkeitenprofils einer Recheneinheit

    Publications (1)

    Publication Number Publication Date
    DE102022200754A1 true DE102022200754A1 (de) 2023-07-27

    Family

    ID=84981314

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    DE102022200754.9A Pending DE102022200754A1 (de) 2022-01-24 2022-01-24 Verfahren zum Erzeugen eines Fähigkeitenprofils einer Recheneinheit

    Country Status (2)

    Country Link
    DE (1) DE102022200754A1 (de)
    WO (1) WO2023138721A1 (de)

    Citations (7)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    EP1272983B1 (de) 2000-04-11 2004-11-10 Visa International Service Association Integriertes verfahren zur herstellung von chipkarten
    US20060007870A1 (en) 2004-07-08 2006-01-12 Steve Roskowski Collection of data at target wireless devices using data collection profiles
    US20060294515A1 (en) 2005-06-23 2006-12-28 International Business Machines Corporation Common operating system install method
    US8219983B1 (en) 2008-03-31 2012-07-10 Symantec Corporation Systems and methods for providing guidance on the potential impact of application and operating-system changes on a computing system
    US20150134815A1 (en) 2013-08-15 2015-05-14 International Business Machines Corporation Computer system productivity monitoring
    US20190188039A1 (en) 2017-12-18 2019-06-20 GM Global Technology Operations LLC System and method for managing system memory integrity in suspended electronic control units
    US20190370139A1 (en) 2018-05-31 2019-12-05 Dell Products L. P. Usage profile based recommendations

    Family Cites Families (1)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    EP3953814A4 (de) * 2019-04-12 2022-12-14 Harman International Industries, Incorporated Elastische berechnung für fahrzeuginterne rechensysteme

    Patent Citations (7)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    EP1272983B1 (de) 2000-04-11 2004-11-10 Visa International Service Association Integriertes verfahren zur herstellung von chipkarten
    US20060007870A1 (en) 2004-07-08 2006-01-12 Steve Roskowski Collection of data at target wireless devices using data collection profiles
    US20060294515A1 (en) 2005-06-23 2006-12-28 International Business Machines Corporation Common operating system install method
    US8219983B1 (en) 2008-03-31 2012-07-10 Symantec Corporation Systems and methods for providing guidance on the potential impact of application and operating-system changes on a computing system
    US20150134815A1 (en) 2013-08-15 2015-05-14 International Business Machines Corporation Computer system productivity monitoring
    US20190188039A1 (en) 2017-12-18 2019-06-20 GM Global Technology Operations LLC System and method for managing system memory integrity in suspended electronic control units
    US20190370139A1 (en) 2018-05-31 2019-12-05 Dell Products L. P. Usage profile based recommendations

    Also Published As

    Publication number Publication date
    WO2023138721A1 (de) 2023-07-27

    Similar Documents

    Publication Publication Date Title
    DE102017201789B4 (de) Verfahren zum Betrieb eines Kraftfahrzeugs und Kraftfahrzeug
    DE112010003554B4 (de) Symmetrische Direktmigration von Virtuellen Maschinen
    DE112012000946T5 (de) Versehsagbares Rechnen in virtualisierten verteilten Computersystemen basierend auf der Partitionierung von Rechenleistung und Kommunikationsleistung
    EP2235628A2 (de) Kraftfahrzeug-steuervorrichtung
    DE112021006554T5 (de) Architektur für hochleistungsdatenebenenanwendungen mit smart-network-interface auf rechenservern
    WO2013171122A2 (de) Funktional erweiterbares fahrzeugsteuergerät und verfahren zum ergänzen der funktionalität eines fahrzeugsteuergeräts
    EP3929740A1 (de) Verfahren zur orchestrierung einer container-basierten anwendung auf einem endgerät
    DE112016006514T5 (de) Verfahren und Datenverarbeitungssystem zum Verwalten von Datenstromverarbeitungstasks einervordefinierten Anwendungstopologie
    DE102013108924A1 (de) Verfahren zur Zuteilung von Netzwerkressourcen in einem Operationsnetzwerk für eine ausgewählte Umgebung
    DE102006046717A1 (de) Dynamisch migrierende Kanäle
    WO2021089310A1 (de) Verfahren und vorrichtung zum verwalten von zugriffen mehrerer softwarekomponenten auf softwareschnittstellen
    DE102022200754A1 (de) Verfahren zum Erzeugen eines Fähigkeitenprofils einer Recheneinheit
    DE102022200755A1 (de) Verfahren zum Hinzufügen und/oder Verwalten von Funktionen auf einer Recheneinheit
    DE102004011201B4 (de) Verfahren zum Management und zur Überwachung des Betriebs mehrerer in wenigstens ein Kommunikationsnetz eingebundener verteilter Hard- und/oder Softwaresysteme sowie System zur Durchführung des Verfahrens
    DE112019000666T5 (de) Dynamische rekonfiguration einer softwarearchitektur für eine ccap (converged cable access platform)
    DE102015207570A1 (de) Ressourcen-Optimierer für Software-Ökosysteme
    DE112020001541T5 (de) Informationsverarbeitungsvorrichtung, beweglicher gegenstand und informationsverarbeitungsverfahren
    DE112013006756T5 (de) Kommunikations-, Steuervorrichtung und Programm
    DE102020105613A1 (de) Echtzeit-steuersystem für ein fahrzeug und verfahren zur ausführung der steuerung des fahrzeugs über das echtzeit-steuerungssystem
    DE102019213562A1 (de) Verfahren zur Berechnung einer Funktion für ein Fahrzeug
    LU101163B1 (de) Verfahren und Vorrichtungen für eine Lastzuweisung und Überwachung für eine zuzuweisende versorgungssicherheitskritische Ressource in einem Netzwerk
    DE102017100118A1 (de) Skalierbares Steuersystem für ein Kraftfahrzeug
    DE102021204757A1 (de) Verwaltung von Laufzeitcontainern für ein industrielles Automatisierungssystem
    DE102021204789A1 (de) Verfahren und system zur zusicherung garantierter dienstgüte in fahrzeugen
    DE112020007654T5 (de) Servereinrichtung, Steuerschaltung, Speichermedium und Verkehrsunterstützungsverfahren

    Legal Events

    Date Code Title Description
    R012 Request for examination validly filed
    R081 Change of applicant/patentee

    Owner name: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH, DE

    Free format text: FORMER OWNER: CONTINENTAL AUTOMOTIVE GMBH, 30165 HANNOVER, DE

    R016 Response to examination communication
    R081 Change of applicant/patentee

    Owner name: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH, DE

    Free format text: FORMER OWNER: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH, 30165 HANNOVER, DE