DE102021130897A1 - Elektronische steuerungseinheit, softwareaktualisierungsverfahren, softwareaktualisierungsprogramm und elektronisches steuerungssystem - Google Patents

Elektronische steuerungseinheit, softwareaktualisierungsverfahren, softwareaktualisierungsprogramm und elektronisches steuerungssystem Download PDF

Info

Publication number
DE102021130897A1
DE102021130897A1 DE102021130897.6A DE102021130897A DE102021130897A1 DE 102021130897 A1 DE102021130897 A1 DE 102021130897A1 DE 102021130897 A DE102021130897 A DE 102021130897A DE 102021130897 A1 DE102021130897 A1 DE 102021130897A1
Authority
DE
Germany
Prior art keywords
virtual machine
file
update
section
electronic control
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
DE102021130897.6A
Other languages
English (en)
Inventor
Fumihide Goto
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.)
Denso Corp
Original Assignee
Denso Corp
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
Priority claimed from JP2021178152A external-priority patent/JP2022085863A/ja
Application filed by Denso Corp filed Critical Denso Corp
Publication of DE102021130897A1 publication Critical patent/DE102021130897A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Eine elektronische Steuerungseinheit enthält: einen Dateibeschaffungsabschnitt (141), der eine Datei zum Aktualisieren von Software beschafft; und einen Speicherabschnitt (130, 144), der die Datei speichert. Eine erste virtuelle Maschine (140), die in der elektronischen Steuerungseinheit enthalten ist, enthält: einen Bestimmungsabschnitt (146), der auf der Grundlage einer ersten Sicherheitsintegrität, die einen Sicherheitslevel der ersten virtuellen Maschine angibt, und einer zweiten Sicherheitsintegrität, die einen Sicherheitslevel einer zweiten virtuellen Maschine angibt, bestimmt, ob die Datei an die zweite virtuelle Maschine (150, 160, 230) zu übertragen ist, die mit der ersten virtuellen Maschine verbunden ist; und einen Übertragungsabschnitt (147), der die Datei an die zweite virtuelle Maschine überträgt, wenn der Bestimmungsabschnitt bestimmt, dass die Datei an die zweite virtuelle Maschine zu übertragen ist.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft eine elektronische Steuerungseinheit, insbesondere eine elektronische Steuerungseinheit für ein Fahrzeug, ein Verfahren, das von der elektronischen Steuerungseinheit durchgeführt wird, ein Programm, das auf der elektronischen Steuerungseinheit ausführbar ist, und ein elektronisches Steuerungssystem, das die elektronische Steuerungseinheit aufweist.
  • Stand der Technik
  • In einem Fahrzeug sind verschiedene elektronische Steuerungseinheiten montiert, die über ein fahrzeugeigenes Netzwerk verbunden sind. Die Funktionen, die von Automobilen benötigt werden, sind mit der Entwicklung von automatischen bzw. automatisierten Betriebstechnologien in den vergangenen Jahren komplizierter geworden. Die Anzahl der in Automobilen montierten elektronischen Steuerungseinheiten erhöht sich. Daher wird vorgeschlagen, eine Virtualisierungstechnologie zu verwenden, die eine Erhöhung der Gesamtanzahl von elektronischen Steuerungseinheiten durch Integrieren von mehreren Funktionen in eine einzige elektronische Steuerungseinheit verhindern kann.
  • Die Patentliteratur 1 ( JP 2020 - 173 561 A ) offenbart beispielsweise, dass ein virtualisiertes Betriebssystem wie beispielsweise ein Hypervisor verwendet wird, um mehrere virtuelle ECUs auf einem fahrzeugeigenen Computer zu konfigurieren. Die Technologie, die in der Patentliteratur 1 beschrieben ist, kann physikalische Ressourcen durch Integrieren der physikalischen Ressourcen, die für Betriebe von Endgerätevorrichtungen benötigt werden, in den fahrzeugeigenen Computer effizient verwenden, wenn die Endgerätevorrichtungen mit dem fahrzeugeigenen Computer über die ECU verbunden sind.
  • Zusammenfassung der Erfindung
  • Von der Erfindung zu lösende Probleme
  • The Erfinder haben das folgende Problem herausgefunden.
  • Einige in einem Fahrzeug montierte elektronische Steuerungseinheiten steuern Fahrzeugbetriebe wie ein Fahren und ein Lenken. Die Software muss auf die neueste Version aktualisiert werden, um die Sicherheit des Fahrzeugs zu gewährleisten. Sogar wenn die Virtualisierungstechnologie verwendet wird, um eine Erhöhung der Anzahl der elektronischen Steuerungseinheiten zu verhindern, kann die Virtualisierung der elektronischen Steuerungseinheiten zu vielen virtuellen Maschinen führen. In einem derartigen Fall kann es dauern, bis sämtliche virtuelle Maschinen aktualisiert sind.
  • Es ist eine Aufgabe der vorliegenden Erfindung, die Zeit, die zum Aktualisieren der Software für eine virtuelle Maschine benötigt wird, zu verringern.
  • Mittel zum Lösen des Problems
  • Eine elektronische Steuerungseinheit gemäß einem Aspekt der vorliegenden Erfindung ist eine elektronische Steuerungseinheit, die eine virtuelle Maschine enthält, die von einem Hypervisor verwaltet wird. Die elektronische Steuerungseinheit enthält: einen Dateibeschaffungsabschnitt, der ausgelegt ist, eine Datei zum Aktualisieren von Software zu beschaffen; und einen Speicherabschnitt, der ausgelegt ist, die Datei zu speichern. Eine erste virtuelle Maschine als die virtuelle Maschine enthält: einen Bestimmungsabschnitt, der ausgelegt ist, auf der Grundlage einer Sicherheitsintegrität, die einen Sicherheitslevel bzw. Sicherheitsgrad der ersten virtuellen Maschine angibt, und einer zweiten Sicherheitsintegrität, die einen Sicherheitslevel bzw. Sicherheitsgrad der zweiten virtuellen Maschine angibt, zu bestimmen, ob die Datei an eine zweite virtuelle Maschine zu übertragen ist, die mit der ersten virtuellen Maschine verbunden ist; und einen Übertragungsabschnitt, der ausgelegt ist, die Datei an die zweite virtuelle Maschine zu übertragen, wenn der Bestimmungsabschnitt bestimmt, dass die Datei an die zweite virtuelle Maschine zu übertragen ist.
  • Ein Softwareaktualisierungsverfahren gemäß einem anderen Aspekt der vorliegenden Erfindung ist ein Softwareaktualisierungsverfahren, das von einer elektronischen Steuerungseinheit durchgeführt wird, die eine virtuelle Maschine enthält, die von einem Hypervisor verwaltet wird. Das Verfahren enthält: Beschaffen einer Datei zum Aktualisieren von Software; Speichern der Datei in einem Speicherabschnitt; Bestimmen auf der Grundlage einer ersten Sicherheitsintegrität, die einen Sicherheitslevel bzw. Sicherheitsgrad einer ersten virtuellen Maschine als die virtuelle Maschine angibt, und einer zweiten Sicherheitsintegrität, die einen Sicherheitslevel bzw. Sicherheitsgrad einer zweiten virtuellen Maschine angibt, die mit der ersten virtuellen Maschine verbunden ist, ob die Datei an die zweite virtuelle Maschine zu übertragen ist; und Übertragen der Datei an die zweite virtuelle Maschine, wenn bestimmt wird, dass die Datei an die zweite virtuelle Maschine zu übertragen ist.
  • Ein Softwareaktualisierungsprogramm gemäß einem weiteren Aspekt der vorliegenden Erfindung ist ein Softwareaktualisierungsprogramm, das auf einer elektronischen Steuerungseinheit ausführbar ist, die eine virtuelle Maschine enthält, die von einem Hypervisor verwaltet wird. Das Programm enthält die folgenden Befehle: Beschaffen einer Datei zum Aktualisieren von Software; Speichern der Datei in einem Speicherabschnitt; Bestimmen auf der Grundlage einer ersten Sicherheitsintegrität, die einen Sicherheitslevel bzw. Sicherheitsgrad einer ersten virtuellen Maschine als die virtuelle Maschine angibt, und einer zweiten Sicherheitsintegrität, die einen Sicherheitslevel bzw. Sicherheitsgrad einer zweiten virtuellen Maschine angibt, die mit der ersten virtuellen Maschine verbunden ist, ob die Datei an die zweite virtuelle Maschine zu übertragen ist; und Übertragen der Datei an die zweite virtuelle Maschine, wenn bestimmt wird, dass die Datei an die zweite virtuelle Maschine zu übertragen ist.
  • Ein elektronisches Steuerungssystem gemäß einem weiteren Aspekt der vorliegenden Erfindung ist ein elektronisches Steuerungssystem, das enthält: eine erste elektronische Steuerungseinheit, die eine erste virtuelle Maschine aufweist; und eine zweite elektronische Steuerungseinheit, die eine zweite virtuelle Maschine aufweist. Die erste elektronische Steuerungseinheit enthält: einen Dateibeschaffungsabschnitt, der ausgelegt ist, eine Datei zum Aktualisieren von Software zu beschaffen; und einen Speicherabschnitt, der ausgelegt ist, die Datei zu speichern. Die erste virtuelle Maschine enthält: einen Bestimmungsabschnitt, der ausgelegt ist, auf der Grundlage einer ersten Sicherheitsintegrität, die einen Sicherheitslevel bzw. Sicherheitsgrad der ersten virtuellen Maschine angibt, und einer zweiten Sicherheitsintegrität, die einen Sicherheitslevel bzw. Sicherheitsgrad der zweiten virtuellen Maschine angibt, zu bestimmen, ob die Datei an die zweite virtuelle Maschine zu übertragen ist; und einen Übertragungsabschnitt, der ausgelegt ist, die Datei an die zweite virtuelle Maschine zu übertragen, wenn der Bestimmungsabschnitt bestimmt, dass die Datei an die zweite virtuelle Maschine zu übertragen ist. Die zweite virtuelle Maschine enthält einen Aktualisierungsabschnitt, der ausgelegt ist, die zweite virtuelle Maschine zu aktualisieren durch: Zugreifen auf den Speicherabschnitt und Verwenden der Datei, die in dem Speicherabschnitt gespeichert ist; oder Verwenden der Datei, die von dem Übertragungsabschnitt übertragen wird.
  • Die elektronische Steuerungseinheit, das Softwareaktualisierungsverfahren, das Softwareaktualisierungsprogramm und das elektronische Steuerungssystem gemäß der vorliegenden Erfindung können die Zeit, die zum Aktualisieren der Software einer virtuellen Maschine benötigt wird, verringern.
  • Figurenliste
    • 1 ist ein Diagramm, das eine elektronische Steuerungseinheit gemäß einer ersten und zweiten Ausführungsform und ein elektronisches Steuerungssystem, das die elektronische Steuerungseinheit enthält, darstellt;
    • 2 ist ein Diagramm, das Betriebe des gesamten elektronischen Steuerungssystems gemäß der ersten Ausführungsform darstellt;
    • 3 ist ein Diagramm, das Betriebe eines Übertragungssteuerungsabschnitts gemäß der ersten und zweiten Ausführungsform darstellt;
    • 4 ist ein Diagramm, das Betriebe eines Aktualisierungsabschnitts gemäß der ersten und zweiten Ausführungsform darstellt;
    • 5 ist ein Diagramm, das Speicherbereiche in einem echten Speicher gemäß der zweiten Ausführungsform darstellt;
    • 6 ist ein Diagramm, das ein Bestimmungsverfahren darstellt, das von einem Bestimmungsabschnitt einer ersten virtuellen Maschine gemäß der zweiten Ausführungsform bereitgestellt wird;
    • 7 ist ein Diagramm, das Betriebe des gesamten elektronischen Steuerungssystems gemäß der zweiten Ausführungsform darstellt;
    • 8 ist ein Diagramm, das ein Bestimmungsverfahren darstellt, das von dem Bestimmungsabschnitt der ersten virtuellen Maschine gemäß einer Modifikation der zweiten Ausführungsform bereitgestellt wird;
    • 9 ist ein Diagramm, das eine Modifikation der elektronischen Steuerungseinheit gemäß der ersten und zweiten Ausführungsform und des elektronischen Steuerungssystems, das die elektronische Steuerungseinheit enthält, darstellt; und
    • 10 ist ein Diagramm, das eine Domänen-Architektur darstellt, für die das elektronische Steuerungssystem gemäß der ersten und zweiten Ausführungsform verwendet wird.
  • Beschreibung der Ausführungsformen
  • Im Folgenden werden Ausführungsformen der vorliegenden Erfindung mit Bezug auf die Zeichnungen beschrieben.
  • Die vorliegende Erfindung, die in den zugehörigen Ansprüchen oder in der Lösung für das Problem angegeben ist, ist nicht auf die folgenden Ausführungsformen beschränkt. Die in den Ansprüchen oder der Lösung für das Problem angegebene Erfindung wird nicht durch die folgenden Ausführungsformen beschränkt.
  • Die in den abhängigen Ansprüchen angegebenen Konfigurationen und Verfahren bezeichnen nicht spezifizierte Konfigurationen und Verfahren der Erfindung, die in den unabhängigen Ansprüchen angegeben sind. Die Konfigurationen und Verfahren der Ausführungsformen, die den Konfigurationen und Verfahren entsprechen, die in den abhängigen Ansprüchen beschrieben sind, und die Konfigurationen und Verfahren, die nur in den Ausführungsformen und nicht in den Ansprüchen beschrieben sind, bezeichnen nicht spezifizierte Konfigurationen und Verfahren der vorliegenden Erfindung. Wenn die Beschreibung eines Anspruches breiter als die Beschreibung einer Ausführungsform ist, bezeichnen die Konfigurationen und Verfahren, die in der Ausführungsform beschrieben sind, nicht spezifizierte Konfigurationen und Verfahren in der vorliegenden Erfindung in dem Sinne, dass die Konfigurationen und Verfahren, die in den Ausführungsformen beschrieben sind, Beispiele der Konfigurationen und Verfahren der vorliegenden Erfindung bereitstellen. In jedem dieser Fälle sind eine Konfiguration und ein Verfahren, wenn diese in einem unabhängigen Anspruch angegeben sind, für die vorliegende Erfindung unverzichtbar.
  • Eine Wirkung, die in der Ausführungsform beschrieben ist, gilt, wenn die Ausführungsform ein Beispiel der vorliegenden Erfindung bereitstellt. Die Wirkung ist nicht notwendigerweise der vorliegenden Erfindung inhärent.
  • Wenn mehrere Ausführungsformen verfügbar sind, ist die in einer jeweiligen Ausführungsform beschriebene Konfiguration nicht auf diese Ausführungsform beschränkt, sondern kann mit Konfigurationen anderer Ausführungsformen kombiniert werden. Die Konfiguration, die in einer Ausführungsform offenbart ist, kann beispielsweise mit einer anderen Ausführungsform kombiniert werden. Die in den Ausführungsformen offenbarten Konfigurationen können gesammelt und kombiniert werden.
  • Das durch die vorliegende Erfindung zu lösende Problem ist nicht öffentlich bekannt, sondern nur von den Erfindern privat bekannt, und stellt eine Tatsache dar, die vorteilhaft unterstützend hinsichtlich der erfinderischen Schritte der Erfindung ebenso wie die Konfigurationen und Verfahren der Erfindung wirkt.
  • 1. Den Ausführungsformen gemeinsame Konfigurationen
  • Die folgende Beschreibung erläutert die elektronische Steuerungseinheit gemäß den Ausführungsformen und das elektronische Steuerungssystem, das die elektronische Steuerungseinheit enthält, mit Bezug auf 1. Die elektronische Steuerungseinheit und das elektronische Steuerungssystem gemäß den jeweiligen Ausführungsformen sind als eine fahrzeugeigene Vorrichtung und ein fahrzeugeigenes System beschrieben, die in einem Fahrzeug als einem „bewegten Körper“ montiert sind, sind aber nicht darauf beschränkt.
  • Der „bewegte Körper“ bezeichnet ein Objekt, das sich zu bewegen in der Lage ist, und dessen Bewegungsgeschwindigkeit ist nicht spezifiziert. Unzweifelhaft kann der bewegte Körper stoppen, muss aber nicht stoppen. Die bewegten Körper enthalten beispielsweise Automobile, Motorräder, Fahrräder, Fußgänger, Schiffe, Luftfahrzeuge und Objekte, die an diesen montiert sind, sind aber nicht darauf beschränkt.
  • Der Ausdruck „montiert“ beinhaltet einen Zustand einer direkten Befestigung an dem bewegten Körper als auch einen Zustand einer Bewegung zusammen mit dem bewegten Körper ohne direkte Befestigung an diesem. Der Zustand einer Montage beinhaltet beispielsweise einen Fall, in dem eine Person, die sich mit und in oder auf dem bewegten Körper bewegt, ein Zielobjekt befördert oder das Zielobjekt an einer Fracht, die auf dem bewegten Körper angeordnet ist, montiert ist.
  • Ein elektronisches Steuerungssystem 1 enthält mehrere „elektronische Steuerungseinheiten“ (ECUs). Wie es in 1 dargestellt ist, enthält das elektronische Steuerungssystem 1 zwei ECUs (ECU 10 und ECU 20), kann aber eine beliebige Anzahl von ECUs enthalten. Die ECU 10 und die ECU 20 sind beispielsweise über ein fahrzeugeigenes Netzwerk wie ein CAN (Steuerbereichsnetzwerk) oder ein LIN (lokales Verbindungsnetzwerk), Ethernet (eingetragene Marke) oder ein Drahtloskommunikationsnetzwerk verbunden.
  • Die „elektronische Steuerungseinheit“ besteht beispielsweise hauptsächlich aus Halbleitervorrichtungen und kann als eine sog. Informationsverarbeitungsvorrichtung ausgebildet sein, die eine CPU (zentrale Verarbeitungseinheit) und einen flüchtigen Speicherabschnitt wie ein RAM (Speicher mit wahlfreiem Zugriff) enthält. Die Informationsverarbeitungsvorrichtung kann außerdem einen nichtflüchtigen Speicherabschnitt wie einen Flash-Speicher und einen Netzwerkschnittstellenabschnitt, der beispielsweise mit einem Kommunikationsnetzwerk verbunden ist, enthalten. Außerdem kann die Informationsverarbeitungsvorrichtung als eine gepackte Halbleitervorrichtung (Element) oder ein Satz aus Halbleitervorrichtungen, die auf einer Leiterplatte verdrahtet sind, ausgebildet sein.
  • Die ECU 10 basiert auf einer Plattform, die auch als adaptive Plattform (AP) bezeichnet wird, die in der Lage ist, in AUTOSAR (Automotive Open System ARchitecture) dynamisch Funktionen zu expandieren bzw. entwickeln. Die AP ist hauptsächlich für ECUs für automatische Betriebe bzw. Automatikbetriebe geeignet. Die ECU 20 basiert auf einer Plattform, die als klassische Plattform (CP) bezeichnet wird, die statische Funktionen in AUTOSAR optimiert. Die CP ist hauptsächlich für Fahrzeugsteuerungs-ECUs geeignet.
  • Die ECU 10 und die ECU 20, die das elektronische Steuerungssystem 1 ausbilden, enthalten jeweils mindestens eine virtuelle Maschine, die von einem Hypervisor verwaltet wird. Die folgende Beschreibung erläutert die Konfigurationen der ECU 10, der ECU 20 und der virtuellen Maschine, die in einer jeweiligen ECU installiert ist. In den Zeichnungen ist die virtuelle Maschine mit VM abgekürzt.
  • (1) ECU 10
  • Die ECU 10 enthält einen Hypervisor (HV) 110, einen Hypervisor 120, mehrere virtuelle Maschinen (140, 150 und 160), die von den Hypervisoren verwaltet werden, und einen echten Speicher 130 als Hardware.
  • Der Hypervisor 110 und der Hypervisor 120 sind Software, die die jeweilige ECU virtualisieren. Gemäß dem Beispiel der 1 sind eine erste virtuelle Maschine 140 und eine zweite virtuelle Maschine 150 in den Hypervisor 110 eingebaut. Eine dritte virtuelle Maschine 160 ist in den Hypervisor 120 eingebaut. Die virtuellen Maschinen, die in den Hypervisoren eingebaut sind, sind virtuell miteinander „verbunden“.
  • Die „Verbindung“ unter den virtuellen Maschinen bezeichnet Daten, die zwischen den virtuellen Maschinen austauschbar sind. Die Verbindung beinhaltet nicht nur die virtuelle Verbindung von virtuellen Maschinen, die auf derselben Hardware implementiert sind, sondern auch eine Netzwerkverbindung zwischen virtuellen Maschinen, die beispielsweise auf unterschiedlicher Hardware implementiert sind. Die Datenaustauschbarkeit bezeichnet nicht notwendigerweise den Zustand, in dem Daten praktisch ausgetauscht werden können. Es kann beispielsweise einen Zustand einer Datenaustauschbarkeit auch dann geben, wenn eine der virtuellen Maschinen aufgrund irgendeiner Fehlfunktion zeitweilig stoppt oder in einen Schlafzustand eintritt.
  • Der echte Speicher (vergleichbar einem „Speicherabschnitt“) 130 ist ein Hardwarespeicher, der als flüchtiger Speicher wie ein SRAM oder DRAM oder als nichtflüchtiger Speicher wie ein ROM, Flash-Speicher oder eine Festplatte vorhanden ist. Virtuelle Speicher für die erste virtuelle Maschine 140 bis dritte virtuellen Maschine 160 (wird später beschrieben) werden durch Virtualisieren von Speicherbereichen des echten Speichers 130 implementiert. Der echte Speicher 130 ist ein Speicherbereich, der von dem Hypervisor der ECU verwaltet wird. 1 stellt nur einen einzigen echten Speicher 130 dar. Der echte Speicher 130 kann jedoch durch mehrere Speicher ausgebildet werden.
  • Der echte Speicher 130 speichert Aktualisierungsdateien, die von einem Dateiseparationsabschnitt 145, der später beschrieben wird, separiert bzw. getrennt bzw. abgeteilt werden. Aktualisierungsdateien können in einem Bereich des echten Speichers 130, d.h. einem gemeinsamen Speicherbereich, der von mehreren virtuellen Maschinen gemeinsam verwendet wird, oder in einem Bereich eines virtuellen Speicherbereiches, der durch Virtualisieren eines Speicherbereiches des echten Speichers 130 bereitgestellt wird, gespeichert werden. Der gemeinsame Speicherbereich wird jedoch von mehreren virtuellen Maschinen verwendet, was die Sicherheit verschlechtert. Wenn die Aktualisierungsdatei in dem gemeinsamen Speicherbereich gespeichert wird, ist es daher vorteilhaft, einen Zugriff auf den gemeinsamen Speicherbereich nur dann zu erlauben, wenn eine jeweilige virtuelle Maschine Software der virtuellen Maschine unter Verwendung der Aktualisierungsdatei aktualisiert, die in dem gemeinsamen Speicherbereich gespeichert ist. D.h., ein Zugriff von der virtuellen Maschine auf den gemeinsamen Speicherbereich ist eingeschränkt, wenn die Aktualisierung ohne Verwendung der Aktualisierungsdateien, die in dem gemeinsamen Speicherbereich gespeichert sind, durchgeführt wird.
  • (i) Erste virtuelle Maschine 140
  • Die erste virtuelle Maschine 140, die von dem Hypervisor 110 verwaltet wird, enthält einen Dateibeschaffungsabschnitt 141, einen Übertragungssteuerungsabschnitt 142, einen Aktualisierungsabschnitt 143 und einen virtuellen Speicher 144.
  • Der Dateibeschaffungsabschnitt 141 beschafft bzw. erlangt Dateien von einer Servervorrichtung, die außerhalb des Fahrzeugsteuerungssystems 1 angeordnet ist, unter Verwendung von OTA (Over-the-Air bzw. drahtlos) oder einer drahtgebundenen Kommunikation. Die Dateien, die von dem Dateibeschaffungsabschnitt 141 beschafft werden, enthalten eine Aktualisierungsdatei zum Aktualisieren der Software für virtuelle Maschinen. Die Dateien können beispielsweise eine Aktualisierungsdateigruppe enthalten, die mehrere Aktualisierungsdateien zum Aktualisieren von mehreren virtuellen Maschinen enthält. Die Datei kann auch Informationen zum Identifizieren einer virtuellen Maschine, die ein Ziel der Softwareaktualisierung ist, enthalten. Der Dateibeschaffungsabschnitt 141 überträgt die beschaffte Aktualisierungsdateigruppe an den Übertragungssteuerungsabschnitt 142. Der Dateibeschaffungsabschnitt 141 wird auch als OTA-Client bezeichnet. Die Aktualisierungsdateien zum Aktualisieren der Software der virtuellen Maschine können nicht nur eine Datei zum Aktualisieren der Software, die die virtuelle Maschine implementiert, sondern auch eine Datei zum Aktualisieren von Anwendungen bzw. Applikationen oder Software, die auf der virtuellen Maschine installiert ist bzw. sind, enthalten.
  • Der Übertragungssteuerungsabschnitt 142 führt eine Folge von Prozessen durch, die benötigt werden, um eine Datei, die von dem Dateibeschaffungsabschnitt 141 übertragen wird, an die virtuelle Maschine zur Aktualisierung zu übertragen. Der Übertragungssteuerungsabschnitt 142 implementiert einen Dateiseparationsabschnitt 145, einen Bestimmungsabschnitt 146, einen Übertragungsabschnitt 147 und einen Aktualisierungsbefehlsabschnitt 148. Der Übertragungssteuerungsabschnitt 142 führt beispielsweise die gesamte Funktion oder einen Teil von dieser, die als UCM-Master (Aktualisierungs- und Konfigurationsverwaltungs-Master) in AUTOSAR bezeichnet wird, durch.
  • Der Dateiseparationsabschnitt 145 führt einen Parsen-Prozess (Analysierungsprozess) durch, der eine Aktualisierungsdateigruppe, die von dem Dateibeschaffungsabschnitt 141 übertragen wird, in Aktualisierungsdateien entsprechend den virtuellen Maschinen separiert bzw. trennt bzw. aufteilt. Die geparsten Aktualisierungsdateien werden in dem echten Speicher 130 gespeichert.
  • Der Bestimmungsabschnitt 146 bestimmt eine virtuelle Zielmaschine, die unter den virtuellen Maschinen, die mit der ersten virtuellen Maschine 140 verbunden sind, zu aktualisieren ist. Ob die virtuelle Maschine ein Ziel der Aktualisierung ist, kann auf der Grundlage der Informationen bestimmt werden, die in der Datei enthalten sind, die durch den Dateibeschaffungsabschnitt 141 beschafft wird und die zu aktualisierende virtuelle Maschine identifiziert. Die folgende Ausführungsform beschreibt einen Fall, in dem sämtliche virtuelle Maschinen, die in 1 dargestellt sind, das Ziel der Aktualisierung sind.
  • Der Bestimmungsabschnitt 146 bestimmt außerdem, ob die Aktualisierungsdatei an die zu aktualisierende virtuelle Maschine zu übertragen ist. Die erste und zweite Ausführungsform beschreiben später das Verfahren zum Bestimmen, ob die Aktualisierungsdatei an die zu aktualisierende virtuelle Maschine zu übertragen ist, durch den Bestimmungsabschnitt 146.
  • Der Bestimmungsabschnitt 146 kann einen Suchprozess zum Fragen der virtuellen Maschine hinsichtlich Informationen über die virtuellen Maschinen, wenn die zu aktualisierende virtuelle Maschine bestimmt wird, und hinsichtlich dessen, ob die Aktualisierungsdatei zu übertragen ist, durchführen. Der Bestimmungsabschnitt 146 überträgt beispielsweise ein Suchsignal an die virtuelle Maschine, die mit der ersten virtuellen Maschine 140 verbunden ist. Das Suchsignal fragt die Informationen über den Hypervisor, der die virtuellen Maschinen verwaltet, die ECU, die mit den virtuellen Maschinen ausgerüstet ist, oder die Funktionen oder die Konfiguration der ECU an.
  • Wenn die Softwareaktualisierung für sämtliche zu aktualisierenden virtuellen Maschinen beendet ist, teilt der Bestimmungsabschnitt 146 dem Dateibeschaffungsabschnitt 141 mit, dass die Aktualisierung beendet ist.
  • Wenn der Bestimmungsabschnitt 146 die Verteilung der Aktualisierungsdatei bestimmt, überträgt der Übertragungsabschnitt 147 die Aktualisierungsdatei, die von dem Dateiseparationsabschnitt 145 separiert wurde, an die virtuelle Maschine durch Übertragen der Aktualisierungsdatei über ein Kommunikationsnetzwerk. Der Übertragungsabschnitt 147 kann die Aktualisierungsdatei an die virtuelle Maschine als Reaktion bzw. Antwort auf einen Übertragungsbefehl von dem Bestimmungsabschnitt 146 hin übertragen. Gemäß der vorliegenden Erfindung bezeichnet „übertragen“ einer Aktualisierungsdatei nicht nur ein Übertragen der Aktualisierungsdatei über das Kommunikationsnetzwerk, sondern auch ein Bewegen des Speicherbereiches für die Aktualisierungsdatei an einen Bereich, auf den von einer speziellen virtuellen Maschine zugegriffen werden kann.
  • Der Aktualisierungsbefehlsabschnitt 148 befiehlt jeder virtuellen Maschine, die das Ziel der Aktualisierung ist, die Software der virtuellen Maschine zu aktualisieren. Wenn der Bestimmungsabschnitt 146 die Übertragung einer Aktualisierungsdatei für eine virtuelle Maschine bestimmt, befiehlt der Aktualisierungsbefehlsabschnitt 148 der virtuellen Maschine, die Software unter Verwendung der Aktualisierungsdatei zu aktualisieren, die von dem Übertragungsabschnitt 147 übertragen wird. Wenn der Bestimmungsabschnitt 146 bestimmt, dass die Aktualisierungsdatei nicht an eine virtuelle Maschine zu übertragen ist, greift der Aktualisierungsbefehlsabschnitt 148 auf den echten Speicher zu und befiehlt der virtuellen Maschine, die Software unter Verwendung der Aktualisierungsdatei zu aktualisieren, die in dem echten Speicher 130 gespeichert ist.
  • Der Aktualisierungsbefehlsabschnitt 148 kann einen Aktualisierungsbefehl, der die Adresse eines Speicherziels der Aktualisierungsdatei angibt, bereitstellen. Wenn beispielsweise der Aktualisierungsbefehl die Adresse angibt, bei der die Aktualisierungsdatei gespeichert ist, ist es möglich, der virtuellen Maschine indirekt zu befehlen, die Software unter Verwendung der Aktualisierungsdatei zu aktualisieren. Wenn der Aktualisierungsbefehl die Adresse des echten Speichers 130 angibt, bei der die Aktualisierungsdatei gespeichert ist, ist es möglich, der virtuellen Maschine indirekt zu befehlen, die Software durch Zugriff auf den echten Speicher 130 und unter Verwendung der Aktualisierungsdatei, die in dem echten Speicher 130 gespeichert ist, zu aktualisieren. Der Aktualisierungsbefehl kann auch Informationen enthalten, die angeben, ob die Aktualisierungsdatei an die virtuelle Maschine zu übertragen ist.
  • Der Aktualisierungsabschnitt 143 aktualisiert die Software der ersten virtuellen Maschine 140 auf der Grundlage des Befehls von dem Aktualisierungsbefehlsabschnitt 148. Wenn der Softwareaktualisierungsprozess auf der ersten virtuellen Maschine 140 beendet ist, teilt der Aktualisierungsabschnitt 143 dem Übertragungssteuerungsabschnitt 142 mit, dass die Aktualisierung beendet ist. Der Aktualisierungsabschnitt 143 und die Aktualisierungsabschnitte 151, 161 und 231 (werden später beschrieben) der anderen virtuellen Maschinen führen alle oder einen Teil der Funktionen, die als UCM-Untergeordnete (Subordinates) in AUTOSAR bezeichnet werden, durch.
  • Der virtuelle Speicher 144 ist ein Speicherbereich, der virtuell für die erste virtuelle Maschine 140 durch Virtualisieren eines Speicherbereiches des echten Speichers 130 bereitgestellt wird. Daher wird eine Datei, die in dem virtuellen Speicher 144 gesichert ist, auch als eine Datei betrachtet, die in dem echten Speicher 130 gespeichert ist. Dasselbe gilt für den virtuellen Speicher 152 der zweiten virtuellen Maschine 150 und den virtuellen Speicher 162 der dritten virtuellen Maschine 160, wie es später beschrieben wird.
  • (ii) Zweite virtuelle Maschine 150 und dritte virtuelle Maschine 160
  • Ähnlich wie die erste virtuelle Maschine 140 wird die zweite virtuelle Maschine 150 von dem Hypervisor 110 verwaltet. Die zweite virtuelle Maschine 150 enthält einen Aktualisierungsabschnitt 151 und einen virtuellen Speicher 152.
  • Im Vergleich zu der ersten virtuellen Maschine 140 und der zweiten virtuellen Maschine 150 wird die dritte virtuelle Maschine 160 von dem Hypervisor 120 verwaltet. Die dritte virtuelle Maschine 160 enthält einen Aktualisierungsabschnitt 161 und einen virtuellen Speicher 162.
  • Der Aktualisierungsabschnitt 151 und der Aktualisierungsabschnitt 161 aktualisieren die Software ihrer jeweiligen virtuellen Maschine auf der Grundlage eines Aktualisierungsbefehls von dem Aktualisierungsbefehlsabschnitt 148 der ersten virtuellen Maschine 140. Wenn der jeweilige Softwareaktualisierungsprozess beendet ist, teilen der Aktualisierungsabschnitt 151 und der Aktualisierungsabschnitt 161 dem Übertragungssteuerungsabschnitt 142 der ersten virtuellen Maschine 140 mit, dass die Aktualisierung beendet ist.
  • Der virtuelle Speicher 152 und der virtuelle Speicher 162 sind Speicherbereiche, die virtuell für die zweite virtuelle Maschine 150 bzw. die dritte virtuelle Maschine 160 bereitgestellt werden. Wenn der Übertragungsabschnitt 147 der ersten virtuellen Maschine 140 die Aktualisierungsdatei überträgt, wird die Aktualisierungsdatei in den virtuellen Speichern 152 und 162 gespeichert.
  • Wie es oben beschrieben ist, sind die zweite virtuelle Maschine 150 und die dritte virtuelle Maschine 160 virtuell mit der ersten virtuellen Maschine 140 verbunden. Daten können zwischen diesen virtuellen Maschinen ausgetauscht werden.
  • (2) ECU 20
  • Die ECU 20 enthält einen Hypervisor 210, einen echten Speicher 220 als Hardware und eine vierte virtuelle Maschine 230, die von dem Hypervisor 210 verwaltet wird.
  • Die ECU 10 und die ECU 20 sind über ein fahrzeugeigenes Netzwerk miteinander verbunden. Die erste virtuelle Maschine 140, die in der ECU 10 enthalten ist, und die vierte virtuelle Maschine 230, die in der ECU 20 enthalten ist, sind virtuell über das fahrzeugeigene Netzwerk miteinander verbunden.
  • Der Hypervisor 210 ist eine Software zum Virtualisieren der ECU 20. Die vierte virtuelle Maschine 230 ist in den Hypervisor 210 eingebaut.
  • Ähnlich wie der echte Speicher 130 der ECU 10 ist der echte Speicher 220 ein Hardwarespeicher, der als ein flüchtiger Speicher wie ein SRAM oder ein DRAM oder als ein nichtflüchtiger Speicher wie ein ROM, ein Flash-Speicher oder eine Festplatte bereitgestellt wird.
  • Ähnlich wie die zweite virtuelle Maschine 150 und die dritte virtuelle Maschine 160, die oben beschrieben sind, enthält die vierte virtuelle Maschine 230 in der ECU 20 einen Aktualisierungsabschnitt 231 und einen virtuellen Speicher 232.
  • Der Aktualisierungsabschnitt 231 aktualisiert die Software der vierten virtuellen Maschine 230 auf der Grundlage des Aktualisierungsbefehls von dem Aktualisierungsbefehlsabschnitt 148 der ersten virtuellen Maschine 140. Wenn der Softwareaktualisierungsprozess beendet ist, teilt der Aktualisierungsabschnitt 231 dem Übertragungssteuerungsabschnitt 142 der ersten virtuellen Maschine 140 mit, dass die Aktualisierung beendet ist.
  • Der virtuelle Speicher 232 ist ein Speicherbereich, der virtuell in dem echten Speicher 220 angeordnet ist. Wenn die Aktualisierungsdatei von dem Übertragungsabschnitt 147 übertragen wird, kann die Aktualisierungsdatei in dem virtuellen Speicher 232 gespeichert werden.
  • (3) Zwischenüberblick
  • Die Konfigurationen der elektronischen Steuerungseinheit und des elektronischen Systems, die der ersten und zweiten Ausführungsform gemeinsam sind, wurden oben beschrieben. Gemäß dem Beispiel der 1 enthält die ECU 10 zwei Hypervisoren (110 und 120), und die ECU 20 enthält einen Hypervisor (210). Die Anzahl der Hypervisoren ist nur ein Beispiel und nicht auf die obigen beschränkt. Die ECU 10 kann auch nur einen Hypervisor enthalten, und die ECU 20 kann zwei oder mehr Hypervisoren enthalten. Die Anzahl der virtuellen Maschinen, die in den Hypervisor eingebaut sind, ist ebenfalls nicht spezifiziert bzw. speziell.
  • Es wurde eine Konfiguration beschrieben, bei der nur die erste virtuelle Maschine 140 die Funktionen des Dateibeschaffungsabschnitts und des Übertragungssteuerungsabschnitts enthält. Ähnlich wie die erste virtuelle Maschine 10 können jedoch auch die anderen virtuellen Maschinen diese Funktionen enthalten.
  • 2. Erste Ausführungsform
  • Die vorliegende Ausführungsform beschreibt eine Konfiguration, die in Abhängigkeit davon, ob der Hypervisor der virtuellen Maschine, die zu aktualisieren ist, bestimmte Bedingungen erfüllt, bestimmt, ob eine Aktualisierungsdatei an die zu aktualisierende virtuelle Maschine zu übertragen ist.
  • (1) Konfiguration der ersten virtuellen Maschine 140
  • Der Bestimmungsabschnitt 146 gemäß der vorliegenden Ausführungsform bestimmt, ob der Hypervisor (vergleichbar einem „ersten Hypervisor“) 110, der die erste virtuelle Maschine 140 (vergleichbar einer „ersten virtuellen Maschine“) verwaltet, die den Übertragungssteuerungsabschnitt 142 enthält, und ein Hypervisor (vergleichbar einem „zweiten Hypervisor“) ist, der die zu aktualisierende virtuelle Maschine (vergleichbar einer „zweiten virtuellen Maschine“) verwaltet, dieselben sind. Wenn bestimmt wird, dass die Hypervisoren dieselben sind, bestimmt der Bestimmungsabschnitt 146, dass die Aktualisierungsdatei nicht an die zu aktualisierende virtuelle Maschine zu übertragen ist. Wenn bestimmt wird, dass die Hypervisoren unterschiedlich sind, bestimmt der Bestimmungsabschnitt 146, dass die Aktualisierungsdatei an die zu aktualisierende virtuelle Maschine zu übertragen ist.
  • „Dieselben“ bezeichnet nicht nur den gemeinsamen Hypervisor, sondern auch dieselben Funktionen oder Betriebe, auch wenn die Hypervisoren unterschiedlich sind.
  • Der Bestimmungsabschnitt 146 bestimmt auf der Grundlage von Antwortsignalen von den virtuellen Maschinen als Antwort auf das Suchsignal, das an die Aktualisierungsabschnitte der virtuellen Maschinen übertragen wird, ob der Hypervisor 110 derselbe wie der Hypervisor ist, der die zu aktualisierende virtuelle Maschine verwaltet. Daher enthält das Antwortsignal gemäß der vorliegenden Ausführungsform beispielsweise einen Identifizierer ID des Hypervisors, d.h. die Information, die in der Lage ist, den Hypervisor zu identifizieren, der eine jeweilige virtuelle Maschine verwaltet.
  • Der Bestimmungsabschnitt 146 kann ein Suchsignal an den Aktualisierungsabschnitt 143 der ersten virtuellen Maschine 140 ähnlich wie an die Aktualisierungsabschnitte der anderen virtuellen Maschinen übertragen. In diesem Fall bestimmt der Bestimmungsabschnitt 146, dass der Hypervisor 110 derselbe wie der Hypervisor ist, der die erste virtuelle Maschine 140 als zu aktualisierende virtuelle Maschine verwaltet, auf der Grundlage des Antwortsignals von dem Aktualisierungsabschnitt 143.
  • Gemäß dem Beispiel der 1 verwaltet derselbe Hypervisor 110 die erste virtuelle Maschine 140 und die zweite virtuelle Maschine 150. Daher bestimmt der Bestimmungsabschnitt 146, dass die Aktualisierungsdatei nicht an die zweite virtuelle Maschine 150 zu übertragen ist.
  • Der Hypervisor 110, der die erste virtuelle Maschine 140 verwaltet, unterscheidet sich von dem Hypervisor 120, der die dritte virtuelle Maschine 160 verwaltet. Dann bestimmt der Bestimmungsabschnitt 146, dass die Aktualisierungsdatei an die dritte virtuelle Maschine 160 zu übertragen ist.
  • Auf ähnliche Weise unterscheidet sich der Hypervisor 110, der die erste virtuelle Maschine 140 verwaltet, von dem Hypervisor 210, der die vierte virtuelle Maschine 230 verwaltet. Dann bestimmt der Bestimmungsabschnitt 146, dass die Aktualisierungsdatei an die dritte virtuelle Maschine 230 zu übertragen ist.
  • Die folgenden Ausführungsformen beschreiben eine Konfiguration, bei der der Bestimmungsabschnitt 146 auf der Grundlage des Antwortsignals bestimmt, ob der Hypervisor 110 derselbe wie der Hypervisor ist, der die zu aktualisierenden virtuellen Maschinen verwaltet. Der Bestimmungsabschnitt 146 kann jedoch die Hypervisoren unabhängig von dem Antwortsignal bestimmen. Wenn beispielsweise das fahrzeugeigene System im Voraus erkennt, welcher Hypervisor welche virtuelle Maschine verwaltet, wird angenommen, dass der Dateibeschaffungsabschnitt 141 und der Übertragungssteuerungsabschnitt 142 im Voraus die Informationen über die virtuellen Maschinen und die Hypervisoren, die die virtuellen Maschinen verwalten, erhalten. In diesem Fall kann der Bestimmungsabschnitt 146 auf der Grundlage des Befehls von dem Dateibeschaffungsabschnitt 141 oder der Informationen, die in dem Übertragungssteuerungsabschnitt 142 gehalten werden, ohne das Antwortsignal zu verwenden, bestimmen, ob der Hypervisor 110 derselbe wie der Hypervisor ist, der die zu aktualisierende virtuelle Maschine verwaltet.
  • Die vorliegende Ausführungsform beschreibt einen Fall, bei dem zwei Hypervisoren (110 und 120) der ECU 10 unterschiedlich sind. Wenn die Hypervisoren 110 und 120 jedoch für ein einziges Host-OS (Betriebssystem) bereitgestellt werden, kann der Bestimmungsabschnitt 146 bestimmen, dass die Hypervisoren 110 und 120 dieselben sind. Wenn mehrere Hypervisoren auf einem einzigen Host-OS installiert sind, kann ein Gast-OS, das in einen jeweiligen Hypervisor eingebaut ist, auf denselben Bereich in dem echten Speicher 130 zugreifen. In diesem Fall weisen die Hypervisoren 110 und 120 dieselben Funktionen oder Betriebe dahingehend auf, dass beide das Gast-OS bilden, das in der Lage ist, auf denselben Bereich zuzugreifen. Wenn die Funktionen oder Aktionen der Hypervisoren 110 und 120 dieselben sind, kann der Bestimmungsabschnitt 146 bestimmen, dass beide Hypervisoren „dieselben“ sind.
  • Der Übertragungsabschnitt 147 überträgt die Aktualisierungsdatei nur an eine virtuelle Maschine, für die der Bestimmungsabschnitt 146 bestimmt, die Aktualisierungsdatei zu übertragen, wenn sich der Hypervisor 110 von einem Hypervisor unterscheidet, der die zu verwaltende virtuelle Maschine verwaltet. Daher überträgt der Übertragungsabschnitt 147 gemäß der vorliegenden Ausführungsform die Aktualisierungsdatei an die dritte virtuelle Maschine 160 und die vierte virtuelle Maschine 230.
  • Der Aktualisierungsbefehlsabschnitt 148 befiehlt dem Aktualisierungsabschnitt der virtuellen Maschine, die das Ziel der Aktualisierung ist, die Software der virtuellen Maschine zu aktualisieren. Dann befiehlt der Aktualisierungsbefehlsabschnitt 148 dem Aktualisierungsabschnitt 143 der ersten virtuellen Maschine 140 und dem Aktualisierungsabschnitt 151 der zweiten virtuellen Maschine 150, die Software der zweiten virtuellen Maschine 150 durch Zugreifen auf den echten Speicher 130 und unter Verwendung der Aktualisierungsdatei, die in dem echten Speicher 130 gespeichert ist, zu aktualisieren.
  • Der Aktualisierungsbefehlsabschnitt 148 befiehlt dem Aktualisierungsabschnitt 161 der dritten virtuellen Maschine 160 und dem Aktualisierungsabschnitt 231 der vierten virtuellen Maschine 230, die Software der jeweiligen virtuellen Maschinen unter Verwendung der Aktualisierungsdatei, die von dem Übertragungsabschnitt 147 übertragen wird, zu aktualisieren.
  • (2) Konfiguration der zweiten virtuellen Maschine 150
  • Wenn der Aktualisierungsabschnitt 151 der zweiten virtuellen Maschine 150 einen Aktualisierungsbefehl von dem Aktualisierungsbefehlsabschnitt 148 empfängt, greift er auf den echten Speicher 130 zu, nimmt Bezug auf die Aktualisierungsdatei, die in dem echten Speicher 130 gespeichert ist, und aktualisiert die Software für die zweite virtuelle Maschine 150 unter Verwendung der Aktualisierungsdatei.
  • (3) Konfiguration der dritten virtuellen Maschine 160
  • Der virtuelle Speicher 162 der dritten virtuellen Maschine 160 speichert die Aktualisierungsdatei, die von dem Übertragungsabschnitt 147 übertragen wird.
  • Wenn der Aktualisierungsabschnitt 161 der dritten virtuellen Maschine 160 einen Aktualisierungsbefehl von dem Aktualisierungsbefehlsabschnitt 148 empfängt, aktualisiert er die Software für die dritte virtuelle Maschine 160 unter Verwendung der Aktualisierungsdatei, die in dem virtuellen Speicher 162 gespeichert ist.
  • (4) Konfiguration der vierten virtuellen Maschine 230
  • Der echte Speicher 220 oder der virtuelle Speicher 232 der vierten virtuellen Maschine 230 speichert die Aktualisierungsdatei, die von dem Übertragungsabschnitt 147 übertragen wird. Die Aktualisierungsdatei kann in dem echten Speicher 220 oder in dem virtuellen Speicher 232 gespeichert werden.
  • Wenn der Aktualisierungsabschnitt 231 der vierten virtuellen Maschine 230 einen Aktualisierungsbefehl von dem Aktualisierungsbefehlsabschnitt 148 empfängt, aktualisiert er die Software für die vierte virtuelle Maschine 230 unter Verwendung der Aktualisierungsdatei, die in dem echten Speicher 220 oder in dem virtuellen Speicher 232 gespeichert ist.
  • (5) Betriebe des elektronischen Steuerungssystems 1
  • Die folgende Beschreibung erläutert Betriebe betreffend die Softwareaktualisierung für virtuelle Maschinen unter Verwendung der 2 bis 4. 2 ist ein Diagramm, das Betriebe des elektronischen Steuerungssystems 1 als Ganzes darstellt. 3 stellt Betriebe des Übertragungssteuerungsabschnitts 142 der ersten virtuellen Maschine 140 dar. 4 stellt Betriebe des Aktualisierungsabschnitts dar, der in einer jeweiligen virtuellen Maschine enthalten ist. Die Bezugszeichen, die in 2 verwendet werden, entsprechen denjenigen, die in den 3 und 4 verwendet werden. Dieselben Bezugszeichen repräsentieren dieselben Prozesse.
  • Die Betriebe des Übertragungssteuerungsabschnitts 142 und des Aktualisierungsabschnitts, die in den 3 und 4 dargestellt sind, werden auch als Betriebe der elektronischen Steuerungseinheiten (ECU 10 und ECU 20) betrachtet. Die Betriebe einer jeweiligen elektronischen Steuerungseinheit repräsentieren nicht nur das Softwareaktualisierungsverfahren, das von der elektronischen Steuerungseinheit durchgeführt wird, sondern auch eine Verarbeitungsprozedur des Softwareaktualisierungsprogramms, das auf der elektronischen Steuerungseinheit ausführbar ist. Die Prozesse sind nicht auf die in den 2 bis 4 dargestellten Sequenzen bzw. Folgen beschränkt. D.h., die Sequenzen können geändert werden, so lange wie keine Beschränkung dahingehend besteht, dass beispielsweise ein bestimmter Schritt gezwungen ist, das Ergebnis eines vorhergehenden Schrittes zu verwenden. Dasselbe gilt für 7 der zweiten Ausführungsform.
  • Die folgende Beschreibung erläutert hauptsächlich Betriebe des Übertragungssteuerungsabschnitts 142 unter Verwendung der 2 und 3.
  • Der Übertragungssteuerungsabschnitt 142 empfängt eine Aktualisierungsdateigruppe, die von dem Dateibeschaffungsabschnitt 141 übertragen wird (2 und 3: S101). Die Aktualisierungsdateigruppe ist eine Datei, die verwendet wird, um die Software der virtuellen Maschinen zu aktualisieren, und wird durch den Dateibeschaffungsabschnitt 141 von einer Servervorrichtung außerhalb des elektronischen Steuerungssystems 1 beschafft.
  • Der Dateiseparationsabschnitt 145 des Übertragungssteuerungsabschnitts 142 führt einen Parsen-Prozess durch, der die Aktualisierungsdateigruppe, die in S101 empfangen wird, in Aktualisierungsdateien für die virtuellen Maschinen separiert bzw. trennt (2 und 3: S102).
  • Der Dateiseparationsabschnitt 145 speichert die Aktualisierungsdateien, die in S102 separiert wurden, in dem echten Speicher 130 (2 und 3: S103).
  • Der Bestimmungsabschnitt 146 des Übertragungssteuerungsabschnitts 142 überträgt ein Suchsignal an jede virtuelle Maschine, das Informationen über die virtuelle Maschine anfragt, um zu bestimmen, ob die Aktualisierungsdatei an die zu aktualisierende virtuelle Maschine zu übertragen ist (2 und 3: S104).
  • Der Bestimmungsabschnitt 146 empfängt die Antwortsignale, die von den Aktualisierungsabschnitten (143, 151, 161 und 231) der ersten bis vierten virtuellen Maschinen gesendet werden (2 und 3: S105).
  • Der Bestimmungsabschnitt 146 bestimmt, ob die Aktualisierungsdatei an die zu aktualisierende virtuelle Maschine zu übertragen ist, auf der Grundlage der Antwortsignale, die in S105 empfangen werden (2 und 3: S106). Wie es oben beschrieben ist, bestimmt der Bestimmungsabschnitt 146 gemäß der vorliegenden Ausführungsform, dass die Aktualisierungsdatei nicht zu übertragen ist, wenn der Hypervisor 110, der die erste virtuelle Maschine 140 verwaltet, derselbe wie der Hypervisor ist, der die zu aktualisierende virtuelle Maschine verwaltet. Der Bestimmungsabschnitt 146 bestimmt, dass die Aktualisierungsdatei zu übertragen ist, wenn die Hypervisoren unterschiedlich sind.
  • Wenn in S106 bestimmt wird, dass die Aktualisierungsdatei nicht zu übertragen ist, greift der Aktualisierungsbefehlsabschnitt 148 des Übertragungssteuerungsabschnitts 142 auf den echten Speicher 130 zu und überträgt dadurch einen Aktualisierungsbefehl zum Aktualisieren der Software der virtuellen Maschine (2 und 3: S107).
  • Wenn in S106 bestimmt wird, dass die Aktualisierungsdatei zu übertragen ist, überträgt der Aktualisierungsbefehlsabschnitt 148 des Übertragungssteuerungsabschnitts 142 einen Aktualisierungsbefehl zum Aktualisieren der Software der virtuellen Maschine unter Verwendung der Aktualisierungsdatei, die durch den Übertragungsabschnitt 147 übertragen wird (2 und 3: S108).
  • Der Übertragungsabschnitt 147 des Übertragungssteuerungsabschnitts 142 überträgt die Aktualisierungsdatei an die virtuelle Maschine, die in S106 für die Übertragung der Aktualisierungsdatei bestimmt wurde. D.h., die Aktualisierungsdatei wird an die virtuelle Maschine übertragen, für die bestimmt wurde, dass der erste Hypervisor derselbe wie der Hypervisor ist, der die zu aktualisierende virtuelle Maschine verwaltet (2 und 3: S109). Der Übertragungsabschnitt 147 gemäß der vorliegenden Ausführungsform überträgt die Aktualisierungsdatei an die dritte virtuelle Maschine 160 und die vierte virtuelle Maschine 230.
  • Der Aktualisierungsabschnitt jeder virtuellen Maschine führt den Aktualisierungsprozess durch (S110). Der Aktualisierungsprozess in dem Aktualisierungsabschnitt wird später beschrieben.
  • Der Übertragungssteuerungsabschnitt 142 empfängt eine Aktualisierungsbeendigungsmitteilung, die eine Beendigung des Aktualisierungsprozesses angibt, von dem Aktualisierungsabschnitt jeder virtuellen Maschine, die den Aktualisierungsprozess in S110 beendet hat (2 und 3: S111).
  • Der Übertragungssteuerungsabschnitt 142 empfängt die Mitteilung hinsichtlich der Beendigung des Aktualisierungsprozesses von dem Aktualisierungsabschnitt einer jeweiligen virtuellen Maschine und teilt dann dem Dateibeschaffungsabschnitt 141 mit, dass der Aktualisierungsprozess für die jeweilige virtuelle Maschine beendet ist ( 2 und 3: S112).
  • Die folgende Beschreibung erläutert hauptsächlich die Betriebe des Aktualisierungsabschnitts jeder virtuellen Maschine unter Verwendung der 2 und 4.
  • Die Aktualisierungsabschnitte (142, 151, 161 und 231) der ersten bis vierten virtuellen Maschinen empfangen das Suchsignal, das von dem Bestimmungsabschnitt 146 in S104 übertragen wird (S201).
  • Jeder Aktualisierungsabschnitt überträgt ein Antwortsignal als Antwort auf die Anfrage des Suchsignals an den Bestimmungsabschnitt 146 (S202).
  • Der Aktualisierungsabschnitt empfängt dann den Aktualisierungsbefehl, der von dem Aktualisierungsbefehlsabschnitt 148 in S107 und S108 übertragen wird (S203). Es kann einen Fall geben, in dem der Aktualisierungsbefehl, der in S203 empfangen wird, durch einen Zugriff auf den echten Speicher veranlasst wird (S204: ja). D.h., der Aktualisierungsbefehl kann von dem Aktualisierungsbefehlsabschnitt 148 in S107 übertragen werden. In diesem Fall wird die Aktualisierungsdatei, die in dem echten Speicher 130 gespeichert ist, verwendet, um die virtuelle Maschine zu aktualisieren (S110). Gemäß dem Beispiel der vorliegenden Ausführungsform empfangen der Aktualisierungsabschnitt 143 der ersten virtuellen Maschine 140 und der Aktualisierungsabschnitt 151 der zweiten virtuellen Maschine 150 den Aktualisierungsbefehl in S107. Daher greifen der Aktualisierungsabschnitt 143 und der Aktualisierungsabschnitt 151 auf den echten Speicher 130 zu und verwenden dadurch die Aktualisierungsdatei, die in dem echten Speicher 130 gespeichert ist, um die erste virtuelle Maschine 140 und die zweite virtuelle Maschine 150 jeweils zu aktualisieren (S110).
  • Es kann einen Fall geben, bei dem der Aktualisierungsbefehl, der in S203 empfangen wird, nicht durch einen Zugriff auf den echten Speicher veranlasst wird (S204: nein). D.h., der Aktualisierungsbefehl kann von dem Aktualisierungsbefehlsabschnitt 148 in S108 übertragen werden. Dann empfängt der Aktualisierungsabschnitt die Aktualisierungsdatei, die in S109 übertragen wird (S205). Gemäß dem Beispiel der vorliegenden Ausführungsform empfangen der Aktualisierungsabschnitt 161 der dritten virtuellen Maschine 160 und der Aktualisierungsabschnitt der 231 der vierten virtuellen Maschine 230 den Aktualisierungsbefehl in S108 und empfangen die Aktualisierungsdatei, die in S109 übertragen wird (S205). Der Aktualisierungsabschnitt 161 und der Aktualisierungsabschnitt 231 verwenden die Aktualisierungsdatei, die in S205 empfangen wurde, um die Software der virtuellen Maschine zu aktualisieren (S110).
  • Wenn der Aktualisierungsprozess in S110 beendet ist, überträgt der Aktualisierungsabschnitt einer jeweiligen virtuellen Maschine eine Aktualisierungsbeendigungsmitteilung, die die Beendigung der Aktualisierung angibt, an den Übertragungssteuerungsabschnitt 142 (S206).
  • (6) Zwischenüberblick
  • Gemäß der obigen Konfiguration überträgt die virtuelle Maschine, die die Verteilung der Aktualisierungsdatei zum Aktualisieren der Software der virtuellen Maschinen steuert, die Aktualisierungsdatei nur an die virtuelle Maschine, die von einem Hypervisor verwaltet wird, der sich von dem Hypervisor unterscheidet, der die virtuelle Maschine verwaltet, und überträgt die Aktualisierungsdatei nicht an die virtuellen Maschinen, die von demselben Hypervisor verwaltet werden. Dieses macht es möglich, einen Prozess zum Übertragen der Aktualisierungsdateien an einige virtuelle Maschinen wegzulassen. Es ist möglich, die Belastung für den Übertragungsprozess zu verringern und die Zeit, die benötigt wird, um die Software der virtuellen Maschinen zu aktualisieren, zu verkürzen.
  • Außerdem kann das Weglassen des Prozesses zum Übertragen der Aktualisierungsdateien für einige virtuelle Maschinen die Kommunikationsmenge zwischen den ECUs verringern, was es möglich macht, die Belastungen und den Stau auf einer Kommunikationsleitung zu verringern.
  • (7) Erste Modifikation der ersten Ausführungsform
  • 1 stellt eine Konfiguration dar, bei der die ECU 10 zwei Hypervisoren (Hypervisor 110 und 120) enthält. Es wird nun beispielsweise ein dualer Prozessor angenommen, der es ermöglicht, dass eine ECU mehrere Mikroprozessoren enthält. Eine mögliche Konfiguration ermöglicht es einer ECU, mehrere Hypervisoren zu enthalten.
  • Jede ECU, die das elektronische Steuerungssystem 1 ausbildet, kann jedoch ein einzelner Prozessor sein und nur einen einzigen Hypervisor enthalten. In diesem Fall kann jede ECU, die das elektronische Steuerungssystem 1 ausbildet, nicht mehrere Hypervisoren enthalten. Dann kann der Bestimmungsabschnitt 146 bestimmen, ob die ECU, die eine virtuelle Maschine enthält, die den Übertragungssteuerungsabschnitt 142 enthält, dieselbe wie ECU ist, die eine zu aktualisierende virtuelle Maschine enthält. Der Bestimmungsabschnitt 146 kann dadurch bestimmen, ob der Hypervisor 110, der die erste virtuelle Maschine 140 verwaltet, derselbe wie der Hypervisor ist, der eine jeweilige virtuelle Maschine verwaltet.
  • Der Bestimmungsabschnitt 146 überträgt beispielsweise ein Suchsignal, das die Vorrichtungs-ID der ECU anfragt, in der die virtuelle Maschine installiert ist, an jede virtuelle Maschine. Auf der Grundlage des Antwortsignals von einer jeweiligen virtuellen Maschine bestimmt der Bestimmungsabschnitt 146, ob die ECU 10, die die erste virtuelle Maschine 140 enthält, dieselbe wie die ECU ist, die die zu aktualisierende virtuelle Maschine enthält. Wenn bestimmt wird, dass die ECUs dieselben sind, bestimmt der Bestimmungsabschnitt 146, dass der Hypervisor 110, der die erste virtuelle Maschine 140 verwaltet, derselbe wie der Hypervisor ist, der ein Ziel der Aktualisierung ist.
  • Gemäß der vorliegenden Modifikation kann die auf der ECU durchgeführte Bestimmung bestimmen, ob der Hypervisor, der die virtuelle Maschine zum Steuern der Übertragung der Aktualisierungsdatei verwaltet, derselbe wie der Hypervisor ist, der die zu aktualisierende virtuelle Maschine verwaltet. Es ist möglich, auf einfache Weise zu bestimmen, ob die Aktualisierungsdatei an die zu aktualisierende virtuelle Maschine zu übertragen ist.
  • (8) Zweite Modifikation der ersten Ausführungsform
  • Die oben beschriebene Ausführungsform nimmt an, dass der Hypervisor 110, der in der ECU 10 enthalten ist, sich von dem Hypervisor 210 unterscheidet, der in der ECU 20 enthalten ist. Es kann jedoch ein gemeinsamer Hypervisor virtuelle Maschinen quer über die ECUs verwalten.
  • Gemäß der zweiten Modifikation ist der Hypervisor 110, der in der ECU 10 enthalten ist, derselbe wie der Hypervisor 210, der in der ECU 20 enthalten ist. Derselbe Hypervisor verwaltet die erste virtuelle Maschine 140 und die vierte virtuelle Maschine 230. Der Hypervisor 110, der die erste virtuelle Maschine 140 verwaltet, ist derselbe wie der Hypervisor 210, der die vierte virtuelle Maschine 230 verwaltet. Daher bestimmt der Bestimmungsabschnitt 146 gemäß der zweiten Modifikation, die Aktualisierungsdatei nicht an die vierte virtuelle Maschine 230 zu übertragen.
  • Die Aktualisierungsdatei wird nicht an die vierte virtuelle Maschine 230 übertragen. Daher greift der Aktualisierungsabschnitt 231 der vierten virtuellen Maschine 230 auf den echten Speicher 130 der ECU 10 zu und verwendet die Aktualisierungsdatei, die in dem echten Speicher 130 gespeichert ist, um die Software der vierten virtuellen Maschine 230 zu aktualisieren.
  • 3. Zweite Ausführungsform
  • Die vorliegende Ausführungsform beschreibt hauptsächlich die Unterschiede zu der ersten Ausführungsform, die eine Konfiguration zum Bestimmen auf der Grundlage einer Sicherheitsintegrität, die die Sicherheit einer virtuellen Maschine zum Steuern der Übertragung der Aktualisierungsdatei angibt, und einer Sicherheitsintegrität, die die Sicherheit der zu aktualisierenden virtuellen Maschine angibt, ob die Aktualisierungsdatei zu übertragen ist.
  • (1) Konfiguration der ECU 10
  • 5 ist ein Diagramm, das den echten Speicher 130 der ECU 10 gemäß der vorliegenden Ausführungsform darstellt. Der echte Speicher 130 gemäß der vorliegenden Ausführungsform enthält Speicherbereiche in Entsprechung zu fünf Sicherheitsintegritäten.
  • Die Sicherheitsintegritäten gemäß der vorliegenden Ausführungsform werden auf der Grundlage beispielsweise des Automotive Safety Integrity Level (ASIL) spezifiziert. ASIL stellt Indizes bereit, die durch den Standard ISO26262 definiert und entsprechend der Funktionssicherheit von Fahrzeugen klassifiziert sind. ASIL enthält ASIL-A, ASIL-B, ASIL-C und ASIL-D als Stufen in aufsteigender Reihenfolge des Sicherheitsintegritätslevels von der niedrigsten Stufe aus. Außerdem wird eine Qualitätskontrolle, die auch als QM (Qualitätsmanagement) bezeichnet wird, verwendet, wenn eine spezielle Funktionssicherheit verwendet werden muss. QM stellt einen niedrigeren Sicherheitsintegritätslevel als ASIL-A bereit. ASIL und QM werden der Hardware und Software zugewiesen.
  • Gemäß dem Beispiel der 5 enthält der echte Speicher 130 Speicherbereiche für QM, ASIL-A, ASIL-B, ASIL-C und ASIL-D. Der Speicherbereich in dem echten Speicher 130, der von der virtuellen Maschine verwendet wird, die in der ECU 10 enthalten ist, entspricht der Sicherheitsintegrität der virtuellen Maschine selbst oder derjenigen der Konfiguration der virtuellen Maschine. Wenn beispielsweise der virtuellen Maschine die Sicherheitsintegrität von ASIL-A zugewiesen ist, verwendet die virtuelle Maschine den Speicherbereich für ASIL-A in dem echten Speicher 130, wie es in 5 dargestellt ist. Sogar wenn die Sicherheitsintegrität der virtuellen Maschine ASIL-A ist, kann die virtuelle Maschine eine sehr unabhängige Konfiguration, der ASIL-B zugewiesen ist, enthalten. Dann kann die Konfiguration den Speicherbereich für ASIL-B verwenden.
  • Jede virtuelle Maschine oder die Konfiguration der virtuellen Maschine kann nicht auf einen Speicherbereich des echten Speichers 130 zugreifen, wenn dem Speicherbereich eine höhere Sicherheitsintegrität als der virtuellen Maschine oder deren Konfiguration zugewiesen ist. Die virtuelle Maschine, der die Sicherheitsintegrität von ASIL-B zugewiesen ist, kann nicht auf die Speicherbereiche für ASIL-C und ASIL-D zugreifen.
  • Die folgende Ausführungsform beschreibt eine Konfiguration zum Bestimmen, ob die Aktualisierungsdatei zu übertragen ist, unter Verwendung der Sicherheitsintegrität, die die Sicherheit der virtuellen Maschine angibt. Die Sicherheitsintegrität, die die Sicherheit einer virtuellen Maschine angibt, kann die Sicherheitsintegrität, die der virtuellen Maschine zugewiesen ist, oder die Sicherheitsintegrität, die einer speziellen Konfiguration der virtuellen Maschine zugewiesen ist, repräsentieren. Die Sicherheitsintegrität, die dem Übertragungssteuerungsabschnitt 142 der ersten virtuellen Maschine 140 zugewiesen ist, kann beispielsweise als Sicherheitsintegrität der ersten virtuellen Maschine 140 verwendet werden. Die Sicherheitsintegrität, die dem Aktualisierungsabschnitt 151 der zweiten virtuellen Maschine 150 zugewiesen ist, kann beispielsweise als Sicherheitsintegrität der zweiten virtuellen Maschine 150 verwendet werden.
  • Gemäß einem anderen Beispiel kann die Sicherheitsintegrität der virtuellen Maschine einen Wert repräsentieren, der gleich der niedrigsten Sicherheitsintegrität aus den Sicherheitsintegritäten ist, die den Konfigurationen der virtuellen Maschine zugewiesen sind. In diesem Fall wird die Sicherheitsintegrität von ASIL-C dem Dateibeschaffungsabschnitt 141, dem Übertragungssteuerungsabschnitt 142 und dem virtuellen Speicher 144 in der ersten virtuellen Maschine 140 zugewiesen. Wenn die Sicherheitsintegrität von ASIL-B dem Aktualisierungsabschnitt 143 zugewiesen wird, wird der ersten virtuellen Maschine 140 die Sicherheitsintegrität von ASIL-B zugewiesen.
  • Im Folgenden wird die vorliegende Ausführungsform unter der Annahme beschrieben, dass der ersten virtuellen Maschine 140 die Sicherheitsintegrität von ASIL-B zugewiesen ist, der zweiten virtuellen Maschine 150 die Sicherheitsintegrität von ASIL-A zugewiesen ist, der dritten virtuellen Maschine die Sicherheitsintegrität von ASIL-C zugewiesen ist, und der vierten virtuellen Maschine die Sicherheitsintegrität von QM zugewiesen ist.
  • (2) Konfiguration der ersten virtuellen Maschine 140
  • Der Bestimmungsabschnitt 146 gemäß der vorliegenden Ausführungsform überträgt ein Suchsignal, das die Sicherheitsintegrität einer jeweiligen virtuellen Maschine anfragt, an jede virtuelle Maschine. Dann empfängt der Bestimmungsabschnitt 146 ein Antwortsignal, das die Sicherheitsintegrität einer jeweiligen virtuellen Maschine angibt, von jeder virtuellen Maschine.
  • Der Bestimmungsabschnitt 146 bestimmt, ob die Aktualisierungsdatei an die zu aktualisierende virtuelle Maschine zu übertragen ist, auf der Grundlage der Sicherheitsintegrität A (vergleichbar einer „ersten Sicherheitsintegrität“), die die Sicherheit der ersten virtuellen Maschine 140 angibt, die den Übertragungssteuerungsabschnitt 142 enthält, und der Sicherheitsintegrität B (vergleichbar einer „zweiten Sicherheitsintegrität“), die die Sicherheit der zu aktualisierenden virtuellen Maschine angibt.
  • 6 stellt dar, wie der Bestimmungsabschnitt 146 auf der Grundlage der Sicherheitsintegrität A der ersten virtuellen Maschine 140 und der Sicherheitsintegrität B der zu aktualisierenden virtuellen Maschine bestimmt, ob die Aktualisierungsdatei zu übertragen ist.
  • 6 stellt ein Beispiel einer Bestimmung, ob die Aktualisierungsdatei zu übertragen ist, auf der Grundlage der Sicherheitsintegrität A der virtuellen Maschine selbst und der Sicherheitsintegrität B dar. Wie es oben beschrieben ist, ist die Sicherheitsintegrität A dem Übertragungssteuerungsabschnitt 142 der ersten virtuellen Maschine 140 zugewiesen. Die Sicherheitsintegrität B kann dem Aktualisierungsabschnitt der zu aktualisierenden virtuellen Maschine zugewiesen sein.
  • 6 stellt dar, dass der Bestimmungsabschnitt 146 bestimmt, dass die Aktualisierungsdatei an die zu aktualisierende virtuelle Maschine zu übertragen ist, wenn die Sicherheitsintegrität A der ersten virtuellen Maschine 140 höher „als“ die Sicherheitsintegrität B der zu aktualisierenden virtuellen Maschine ist. Wie es oben beschrieben ist, wenn die Sicherheitsintegrität A der ersten virtuellen Maschine höher die Sicherheitsintegrität B der zu aktualisierenden Maschine ist, kann der Aktualisierungsabschnitt der zu aktualisierenden virtuellen Maschine nicht auf den Speicherbereich des echten Speichers 130 zugreifen, der von der ersten virtuellen Maschine 140 verwendet wird. Dann bestimmt der Bestimmungsabschnitt 146, dass die Aktualisierungsdatei zu übertragen ist, wenn der Aktualisierungsabschnitt der zu aktualisierenden virtuellen Maschine nicht auf den Speicherbereich des echten Speichers 130 zugreifen kann, der von der ersten virtuellen Maschine 140 verwendet wird.
  • Größer oder kleiner bzw. höher oder niedriger als meint auch gleich oder größer oder gleich oder kleiner bzw. gleich oder höher oder gleich oder niedriger als.
  • Die Tabelle in 6 stellt ein Beispiel einer Bestimmung zum Übertragen einer Aktualisierungsdatei nur dann, wenn der Speicherbereich des echten Speichers 130, der von der ersten virtuellen Maschine 140 verwendet wird, nicht zugänglich ist, dar. Die Aktualisierungsdatei kann jedoch sogar dann übertragen werden, wenn die Sicherheitsintegrität A gleich der Sicherheitsintegrität B ist.
  • Der Bestimmungsabschnitt 146 kann die Sicherheitsintegrität der zu aktualisierenden virtuellen Maschine auf der Grundlage des Antwortsignals von einer jeweiligen virtuellen Maschine als Antwort auf das Suchsignal, das an den Aktualisierungsabschnitt der jeweiligen virtuellen Maschine übertragen wird, identifizieren. Daher enthält das Antwortsignal gemäß der vorliegenden Ausführungsform Informationen, die die Sicherheitsintegrität der jeweiligen virtuellen Maschine angeben.
  • Der Bestimmungsabschnitt 146 kann ein Suchsignal an den Aktualisierungsabschnitt 143 der ersten virtuellen Maschine 140 ähnlich wie an die Aktualisierungsabschnitte der anderen virtuellen Maschinen übertragen. In diesem Fall bestimmt der Bestimmungsabschnitt 146 auf der Grundlage des Antwortsignals von dem Aktualisierungsabschnitt 143, dass die Sicherheitsintegrität der ersten virtuellen Maschine 140 gleich der Sicherheitsintegrität der zu aktualisierenden Maschine ist.
  • Gemäß dem Beispiel der vorliegenden Ausführungsform ist die Sicherheitsintegrität (ASIL-B) der ersten virtuellen Maschine 140 höher als die Sicherheitsintegrität (ASIL-A) der zweiten virtuellen Maschine 150 und die Sicherheitsintegrität (QM) der vierten virtuellen Maschine 230. Daher bestimmt der Bestimmungsabschnitt 146, dass die Aktualisierungsdatei an die zweite virtuelle Maschine 150 und die vierte virtuelle Maschine 230 zu übertragen ist.
  • Die Sicherheitsintegrität (ASIL-B) der ersten virtuellen Maschine 140 ist niedriger als die Sicherheitsintegrität (ASIL-C) der dritten virtuellen Maschine 160. Daher bestimmt der Bestimmungsabschnitt 146, dass die Aktualisierungsdatei nicht an die dritte virtuelle Maschine 160 zu übertragen ist.
  • Der Aktualisierungsbefehlsabschnitt 148 befiehlt der zweiten virtuellen Maschine 150 und der vierten virtuellen Maschine 230, die Software der virtuellen Maschine unter Verwendung der Aktualisierungsdatei, die von dem Übertragungsabschnitt 147 übertragen wird, zu aktualisieren. Der Aktualisierungsbefehlsabschnitt 148 befiehlt der ersten virtuellen Maschine 140 und der dritten virtuellen Maschine 160, auf den ASIL-B-Speicherbereich des echten Speichers 130 zuzugreifen und die Software der virtuellen Maschine unter Verwendung der Aktualisierungsdatei, die in dem echten Speicher 130 gespeichert ist, zu aktualisieren.
  • (3) Konfiguration der zweiten virtuellen Maschine 150
  • Der virtuelle Speicher 152 für die zweite virtuelle Maschine 150 speichert Aktualisierungsdateien, die von dem Übertragungsabschnitt 147 übertragen werden.
  • Wenn der Aktualisierungsbefehl von dem Aktualisierungsbefehlsabschnitt 148 empfangen wird, aktualisiert der Aktualisierungsabschnitt 151 der zweiten virtuellen Maschine 150 die Software der zweiten virtuellen Maschine 150 unter Verwendung der Aktualisierungsdatei, die in dem virtuellen Speicher 152 gespeichert ist.
  • Der virtuelle Speicher 152 ist ein virtualisierter Speicherbereich, der dem Speicherbereich entspricht, der in dem echten Speicher 130 enthalten ist, und diesem ist ASIL-A entsprechend der Sicherheitsintegrität der zweiten virtuellen Maschine 150 zugewiesen.
  • (4) Konfiguration der dritten virtuellen Maschine 160
  • Der Aktualisierungsabschnitt 161, der in der dritten virtuellen Maschine 160 enthalten ist, greift auf den ASIL-B-Speicherbereich des echten Speichers 130 zu, nimmt Bezug auf die Aktualisierungsdatei, die in dem echten Speicher 130 gespeichert ist, und verwendet die Aktualisierungsdatei zum Aktualisieren der Software der dritten virtuellen Maschine 160.
  • (5) Konfiguration der vierten virtuellen Maschine 230
  • Der echte Speicher 220 oder der virtuelle Speicher 232 der vierten virtuellen Maschine 230 speichert die Aktualisierungsdatei, die von dem Übertragungsabschnitt 147 übertragen wird. Die Aktualisierungsdatei kann in dem echten Speicher 220 oder in dem virtuellen Speicher 232 gespeichert werden. Wenn der Aktualisierungsabschnitt 231 der vierten virtuellen Maschine 230 einen Aktualisierungsbefehl von dem Aktualisierungsbefehlsabschnitt 148 empfängt, aktualisiert er die Software der vierten virtuellen Maschine 230 unter Verwendung der Aktualisierungsdatei, die in dem echten Speicher 220 oder dem virtuellen Speicher 232 gespeichert ist.
  • (6) Betriebe der virtuellen Maschinen, die in dem elektronischen Steuerungssystem 1 und den ECUs 10 und 20 enthalten sind.
  • 7 stellt Betriebe des elektronischen Steuerungssystems 1 al Ganzes gemäß der vorliegenden Ausführungsform dar. Die Betriebe des Übertragungssteuerungsabschnitts 142 und des Aktualisierungsabschnitts der ersten virtuellen Maschine 140 gemäß der vorliegenden Ausführungsform gleichen denjenigen, die in den 3 und 4 gemäß der ersten Ausführungsform dargestellt sind. Die folgende Beschreibung nimmt Bezug auf die 3 und 4.
  • Die Prozesse in S101 bis S112, die in 7 dargestellt sind, gleichen denjenigen des elektronischen Steuerungssystems 1 gemäß der ersten Ausführungsform, das in 2 dargestellt ist. Die vorliegende Ausführungsform unterscheidet sich jedoch in S106 von der ersten Ausführungsform hinsichtlich des Bestimmungsverfahrens durch den Bestimmungsabschnitt 146 der ersten virtuellen Maschine 140, ob die Aktualisierungsdatei an die zu aktualisierende virtuelle Maschine zu übertragen ist. In S106 der vorliegenden Ausführungsform bestimmt der Bestimmungsabschnitt 146, ob die Aktualisierungsdatei an die zu aktualisierende virtuelle Maschine zu übertragen ist, auf der Grundlage der Sicherheitsintegrität der ersten virtuellen Maschine 140 und der Sicherheitsintegrität der zu aktualisierenden virtuellen Maschine. Gemäß der vorliegenden Ausführungsform ist die Sicherheitsintegrität der ersten virtuellen Maschine 140 höher als die Sicherheitsintegritäten der zweiten virtuellen Maschine 150 und der vierten virtuellen Maschine 230. Daher bestimmt der Bestimmungsabschnitt 146, dass die Aktualisierungsdatei an die zweite virtuelle Maschine 150 und die vierte virtuelle Maschine 230 zu übertragen ist. Die Sicherheitsintegrität der ersten virtuellen Maschine 140 ist niedriger als die Sicherheitsintegrität der dritten virtuellen Maschine 160. Daher bestimmt der Bestimmungsabschnitt 146, dass die Aktualisierungsdatei nicht an die dritte virtuelle Maschine 160 zu übertragen ist.
  • Der Aktualisierungsbefehlsabschnitt 148 des Übertragungssteuerungsabschnitts 142 befiehlt dem Aktualisierungsabschnitt 143 der ersten virtuellen Maschine 140 und dem Aktualisierungsabschnitt 161 der dritten virtuellen Maschine 160, die Software der virtuellen Maschinen durch Zugreifen auf den ASIL-B-Speicherbereich des echten Speichers 130 zu aktualisieren (7 und 3: S107).
  • Der Aktualisierungsbefehlsabschnitt 148 befiehlt außerdem dem Aktualisierungsabschnitt 151 der zweiten virtuellen Maschine 150 und dem Aktualisierungsabschnitt 231 der vierten virtuellen Maschine 230, die Software der virtuellen Maschinen unter Verwendung der Aktualisierungsdatei zu aktualisieren, die von dem Übertragungsabschnitt 147 übertragen wird (7 und 3: S108).
  • Der Übertragungsabschnitt 147 des Übertragungssteuerungsabschnitts 142 überträgt die Aktualisierungsdatei an die zweite virtuelle Maschine 150 und die vierte virtuelle Maschine 230 (7 und 3: S109).
  • Der Aktualisierungsabschnitt 143 der ersten virtuellen Maschine 140 empfängt den Aktualisierungsbefehl, der von dem Aktualisierungsbefehlsabschnitt 148 in S107 übertragen wird (S203). Dieser Aktualisierungsbefehl spezifiziert einen Zugriff auf den echten Speicher (S204: ja). Dann greift der Aktualisierungsabschnitt 143 auf den ASIL-B-Speicherbereich des echten Speichers 130 zu und aktualisiert die erste virtuelle Maschine 140 unter Verwendung der Aktualisierungsdatei, die in dem echten Speicher 130 gespeichert ist (7 und 4: S110).
  • Auf ähnliche Weise empfängt der Aktualisierungsabschnitt 161 der dritten virtuellen Maschine 160 den Aktualisierungsbefehl, der von dem Aktualisierungsbefehlsabschnitt 148 in S107 übertragen wird (S203, S204: ja). Dann greift der Aktualisierungsabschnitt 161 auf den ASIL-B-Speicherbereich des echten Speichers 130 zu und aktualisiert die dritte virtuelle Maschine 160 unter Verwendung der Aktualisierungsdatei, die in dem echten Speicher 130 gespeichert ist (7 und 4: S110).
  • Der Aktualisierungsabschnitt 151 der zweiten virtuellen Maschine 150 empfängt den Aktualisierungsbefehl, der von dem Aktualisierungsbefehlsabschnitt 148 in S108 übertragen wird (S203). Dieser Aktualisierungsbefehl spezifiziert keinen Zugriff auf den echten Speicher (S204: nein). Dann empfängt der Aktualisierungsabschnitt 151 die Aktualisierungsdatei, die von dem Übertragungsabschnitt 147 übertragen wird (S205). Der Aktualisierungsabschnitt 151 aktualisiert die zweite virtuelle Maschine 150 unter Verwendung der Aktualisierungsdatei, die von dem Übertragungsabschnitt 147 übertragen wird, auf der Grundlage des Aktualisierungsbefehls (7 und 4: S110).
  • Auf ähnliche Weise empfängt der Aktualisierungsabschnitt 231 der vierten virtuellen Maschine 230 den Aktualisierungsbefehl, der von dem Aktualisierungsbefehlsabschnitt 148 in S108 übertagen wird (S203, S204: nein), und empfängt die Aktualisierungsdatei, die von dem Übertragungsabschnitt 147 übertragen wird (S205). Dann aktualisiert der Aktualisierungsabschnitt 231 die vierte virtuelle Maschine 230 unter Verwendung der Aktualisierungsdatei, die von dem Übertragungsabschnitt 147 übertragen wird, auf der Grundlage des Aktualisierungsbefehls (7 und 4: S110).
  • (7) Zwischenüberblick
  • Gemäß der oben beschriebenen Konfiguration überträgt die virtuelle Maschine, die die Verteilung der Aktualisierungsdatei zum Aktualisieren der Software der virtuellen Maschinen steuert, die Aktualisierungsdatei nur an die virtuelle Maschine, deren Sicherheitsintegrität höher als die Sicherheitsintegrität der virtuellen Maschine ist. Es wird keine Aktualisierungsdatei an eine virtuelle Maschine übertragen, deren Sicherheitsintegrität gleich oder niedriger als diejenige der virtuellen Maschine ist. Dieses macht es möglich, den Prozess zum Übertragen der Aktualisierungsdateien für einige virtuelle Maschinen wegzulassen. Es ist möglich, die Belastung des Verteilungsprozesses zu verringern, und die Zeit, die zum Aktualisieren der Software der virtuellen Maschinen benötigt wird, zu verkürzen.
  • (8) Erste Modifikation der zweiten Ausführungsform
  • Gemäß der oben beschriebenen zweiten Ausführungsform wird die Aktualisierungsdatei nur dann übertragen, wenn die Sicherheitsintegrität der ersten virtuellen Maschine 140 höher als die Sicherheitsintegrität der zu aktualisierenden virtuellen Maschine ist. Die Aktualisierungsdatei kann jedoch auch nur dann übertragen werden, wenn sich die Sicherheitsintegrität der ersten virtuellen Maschine 140 von der Sicherheitsintegrität der zu aktualisierenden virtuellen Maschine unterscheidet.
  • 8 stellt dar, wie der Bestimmungsabschnitt 146 gemäß der ersten Modifikation auf der Grundlage der Sicherheitsintegrität A der ersten virtuellen Maschine 140 und der Sicherheitsintegrität B der zu aktualisierenden virtuellen Maschine bestimmt, ob die Aktualisierungsdatei zu übertragen ist.
  • Gemäß dem Beispiel, das in 8 dargestellt ist, bestimmt der Bestimmungsabschnitt 146, dass die Aktualisierungsdatei an die zu aktualisierende virtuelle Maschine zu übertragen ist, wenn sich die Sicherheitsintegrität A der ersten virtuellen Maschine 140 von der Sicherheitsintegrität B der zu aktualisierenden virtuellen Maschine unterscheidet. Der Bestimmungsabschnitt 146 bestimmt, dass die Aktualisierungsdatei nicht an die zu aktualisierende virtuelle Maschine zu übertragen ist, wenn die Sicherheitsintegrität A der ersten virtuellen Maschine 140 gleich der Sicherheitsintegrität B der zu aktualisierenden virtuellen Maschine ist.
  • Ähnlich wie in der oben beschriebenen zweiten Ausführungsform wird nun angenommen, dass die erste virtuelle Maschine 140 die Sicherheitsintegrität von ASIL-B aufweist, die zweite virtuelle Maschine 150 die Sicherheitsintegrität von ASIL-A aufweist, die dritte virtuelle Maschine die Sicherheitsintegrität von ASIL-C aufweist und die virtuelle Maschine die Sicherheitsintegrität von QM aufweist. Dann unterscheidet sich die Sicherheitsintegrität der ersten virtuellen Maschine 140 von den Sicherheitsintegritäten der zweiten bis vierten virtuellen Maschinen. Daher bestimmt der Bestimmungsabschnitt 146, dass die Aktualisierungsdatei an die zweiten bis vierten virtuellen Maschinen zu übertragen ist. Der Bestimmungsabschnitt 146 bestimmt, dass die Aktualisierungsdatei nicht an die erste virtuelle Maschine zu übertragen ist.
  • Die vorliegende Modifikation ermöglicht nur einen Zugriff von der virtuellen Maschine, die das Ziel der Aktualisierung ist und dieselbe Sicherheitsintegrität aufweist, auf den Speicherbereich des echten Speichers, der von der virtuellen Maschine verwendet wird, die die Verteilung der Aktualisierungsdateien steuert. Es ist möglich, eine Sicherheit des echten Speichers durch Beschränken des Zugriffs von virtuellen Maschinen, die andere Sicherheitsintegritäten aufweisen, zu gewährleisten.
  • (9) Zweite Modifikation der zweiten Ausführungsform
  • Die oben beschriebenen ersten und zweiten Ausführungsformen sind als separate Ausführungsformen beschrieben. Die vorliegende Modifikation verwendet der Merkmale der ersten Ausführungsform und der zweiten Ausführungsform.
  • Der Bestimmungsabschnitt 146 gemäß der vorliegenden Modifikation bestimmt, ob die Aktualisierungsdatei an die zu aktualisierende virtuelle Maschine zu übertragen ist, auf der Grundlage dessen, ob der Hypervisor 110, der die erste virtuelle Maschine 140 verwaltet, derselbe wie der Hypervisor ist, der die zu aktualisierende virtuelle Maschine verwaltet, und auf der Grundlage der Sicherheitsintegrität der ersten virtuellen Maschine 140 und der Sicherheitsintegrität der zu aktualisierenden virtuellen Maschine.
  • Der Bestimmungsabschnitt 146 bestimmt beispielsweise, dass die Aktualisierungsdatei an die zu aktualisierende virtuelle Maschine zu übertragen ist, wenn sich der Hypervisor 110, der die erste virtuelle Maschine 140 verwaltet, von dem Hypervisor unterscheidet, der die zu aktualisierende virtuelle Maschine verwaltet, und die Sicherheitsintegrität der ersten virtuellen Maschine 140 höher als die Sicherheitsintegrität der zu aktualisierenden virtuellen Maschine ist.
  • Alternativ kann der Bestimmungsabschnitt 146 durch Auswählen entweder des in der ersten Ausführungsform beschriebenen Bestimmungsverfahrens oder des in der zweiten Ausführungsform beschriebenen Bestimmungsverfahrens bestimmen, ob die Aktualisierungsdatei an die virtuellen Maschinen zu übertragen ist.
  • 4. Modifikation der elektronischen Steuerungseinheit und des elektronischen Steuerungssystems
  • Die folgende Beschreibung erläutert eine modifizierte Konfiguration der elektronischen Steuerungseinheit und des elektronischen Steuerungssystems, die der ersten und zweiten Ausführungsform gemeinsam sind.
  • Gemäß den oben beschriebenen Beispielen basiert die ECU 10 auf der AP und die ECU 20 basiert auf der CP. Jede virtuelle Maschine, die in die ECU eingebaut ist, kann jedoch AP- und CP-Plattformen verwenden.
  • 9 ist ein Diagramm, das jede virtuelle Maschine darstellt, die eine spezielle Plattform (PF) verwendet. In 9 ist die Beschreibung der Funktionen, die von dem Übertragungssteuerungsabschnitt 142 bereitgestellt werden, weggelassen. Auf ähnliche Weise wie in 1 implementiert der Übertragungssteuerungsabschnitt 142 den Dateiseparationsabschnitt 145, den Bestimmungsabschnitt 146, den Übertragungsabschnitt 147 und den Aktualisierungsbefehlsabschnitt 148.
  • In 9 enthält die erste virtuelle Maschine 140 eine erste PF 1401. Die zweite virtuelle Maschine 150 enthält eine zweite PF 1501. Die dritte virtuelle Maschine 160 enthält eine dritte PF 1601. Die vierte virtuelle Maschine 230 enthält eine vierte PF 2301. 9 stellt außerdem Anwendungen bzw. Applikationen (1402, 1502, 1602 und 2302) dar, die auf den PFs der virtuellen Maschinen laufen.
  • Zusätzlich zu AP und CP sind verschiedene Arten von PFs als erste bis vierte PFs (1401, 1501, 1601, 2301) verfügbar, die nach Bedarf verwendet werden können. Die erste PF 1401 kann beispielsweise eine AP sein. Die zweite PF 1501 kann beispielsweise eine CP sein. Die dritte PF 1601 kann eine andere PF als AP und CP sein. Eine ECU kann mehrere virtuelle Maschinen enthalten, die unterschiedliche PFs verwenden. Eine einzelne ECU kann mehrere Funktionen durch Mischen von mehreren virtuellen Maschinen, die unterschiedliche PFs verwenden, in einer ECU integrieren. Demzufolge ist es möglich, die Gesamtanzahl der ECUs zu verringern.
  • Gemäß dieser Konfiguration kann das OS der virtuellen Maschine zwischen dem Hypervisor und der PF angeordnet sein, in den Hypervisor integriert sein oder beispielsweise in dem PF enthalten sein.
  • Der Aktualisierungsabschnitt jeder virtuellen Maschine aktualisiert die Software der virtuellen Maschine. Gemäß der in 9 dargestellten Konfiguration kann der Aktualisierungsabschnitt jedoch die PF oder die Anwendung, die auf der PF abläuft, gemäß einer Softwareaktualisierung für die virtuelle Maschine aktualisieren. Der Aktualisierungsabschnitt 143 aktualisiert die erste PF 1401 oder die erste Anwendung 1402.
  • Wie es in 9 dargestellt ist, ist der Dateibeschaffungsabschnitt 141 in der ersten Anwendung 1402 enthalten. Der Übertragungssteuerungsabschnitt 142 und der Aktualisierungsabschnitt 143 sind in der ersten PF 1041 enthalten. Die Software, die in der ersten PF 1401 enthalten ist, kann jedoch sämtliche Funktionen oder einen Teil der Funktionen des Dateibeschaffungsabschnitts 141 implementieren. Alternativ kann die erste Anwendung 1402 sämtliche Funktionen oder einen Teil der Funktionen des Übertragungssteuerungsabschnitts 142 und des Aktualisierungsabschnitts 143 implementieren. Auf ähnliche Weise können die zweiten bis vierten Anwendungen (1502, 1602, 2302) sämtliche Funktionen oder einen Teil der Funktionen der Aktualisierungsabschnitte (151, 161, 231) implementieren.
  • 9 stellt außerdem dar, dass der echte Speicher 130 der ECU 10 drei Speicherbereiche, d.h. einen gemeinsamen Speicherbereich 131, einen Softwarespeicherbereich 132 und einen Übertragungsdateispeicherbereich 133 enthält.
  • Der gemeinsame Speicherbereich 131 speichert die Aktualisierungsdatei, die durch den Dateibeschaffungsabschnitt 141 beschafft und durch den Dateiseparationsabschnitt 145 geparst wurde. Der Softwarespeicherbereich 132 speichert eine Software, die die virtuelle Maschine bildet, als die ersten bis dritten PFs 1401, 1501 und 1601 und die ersten bis dritten Anwendungen 1402, 1502 und 1602. Der Übertragungsdateispeicherbereich 133 speichert die Aktualisierungsdatei, die von dem Übertragungsabschnitt 147 übertragen wird. Die virtuellen Speicher werden in die virtuellen Maschinen durch Virtualisierung des Übertragungsdateispeicherbereiches 133 eingebaut.
  • Gemäß der vorliegenden Modifikation kann der Aktualisierungsabschnitt angewiesen werden, die Software der virtuellen Maschine unter Verwendung der Aktualisierungsdatei zu aktualisieren, die in dem echten Speicher 130 gespeichert ist. In diesem Fall greift der Aktualisierungsabschnitt auf den gemeinsamen Speicherbereich 131 zu und verwendet die Aktualisierungsdatei, die in dem gemeinsamen Speicherbereich 131 gespeichert ist, um die Software der virtuellen Maschine, d.h. die Software, die in dem Softwarespeicherbereich 132 gespeichert ist, zu aktualisieren. Der Aktualisierungsabschnitt kann angewiesen werden, die Software der virtuellen Maschine unter Verwendung der Aktualisierungsdatei zu aktualisieren, die von dem Übertragungsabschnitt 147 übertragen wird. In diesem Fall aktualisiert der Aktualisierungsabschnitt die Software, die in dem Softwarespeicherbereich 132 gespeichert ist, unter Verwendung der Aktualisierungsdatei, die von dem Übertragungsabschnitt 147 übertragen und in dem Übertragungsdateispeicherbereich 133 gespeichert wird.
  • Ähnlich wie der echte Speicher 130 enthält der echte Speicher 220 der ECU 20 den Softwarespeicherbereich 222 und den Übertragungsdateispeicherbereich 223. Die ECU 20 muss jedoch die Aktualisierungsdatei, die von dem Dateibeschaffungsabschnitt beschafft wird, nicht speichern. Daher enthält der echte Speicher 220 keinen Speicherbereich vergleichbar zu dem gemeinsamen Speicherbereich 131. Ähnlich wie der Softwarespeicherbereich 132 und der Übertragungsdateispeicherbereich 133 speichern der Softwarespeicherbereich 222 und der Übertragungsdateispeicherbereich 223 die Software, die die virtuelle Maschine bildet, und die Aktualisierungsdatei, die von dem Übertragungsabschnitt 147 übertragen wird.
  • 9 stellt dar, dass der echte Speicher 130 den gemeinsamen Speicherbereich 131, den Softwarespeicherbereich 132 und den Übertragungsdateispeicherbereich 133 enthält. Der echte Speicher 130 kann jedoch unterschiedliche Speicher verwenden. Der Softwarespeicherbereich 132 gemäß der vorliegenden Modifikation ist ein nichtflüchtiger Speicher. Der gemeinsame Speicherbereich 131 und der Übertragungsdateispeicherbereich 133 können ein nichtflüchtiger Speicher oder ein flüchtiger Speicher sein. Daher können der gemeinsame Speicherbereich 131 und der Übertragungsdateispeicherbereich 133 für die Speicherbereiche des echten Speichers 130 als flüchtiger Speicher angeordnet sein. Der Softwarespeicherbereich 132 kann für den Speicherbereich des echten Speichers 130 als nichtflüchtiger Speicher angeordnet sein.
  • 5. Anwendung für die Domänen-Architektur
  • Die folgende Beschreibung erläutert eine Beispielkonfiguration, bei der das elektronische Steuerungssystem 1 gemäß der ersten und zweiten Ausführungsform für eine Domänen-Architektur verwendet wird. Die Domänen-Architektur klassifiziert mehrere ECUs in Gruppen, die als Domänen bezeichnet werden, entsprechend Funktionen, Rollen oder Netzwerkverbindungen. Außerdem weist jede Domäne eine Domänen-Steuerungs-ECU (DC-ECU) auf, die mehrere ECUs, die zu derselben Domäne gehören, verwaltet und steuert. Die Domänen-Architektur kann ECUs entsprechend Funktionen und Netzwerken organisieren und integrieren, was es einem System, das aus vielen ECUs besteht, beispielsweise einem fahrzeugeigenen System, ermöglicht, nicht nur Betriebe zum Aktualisieren von ECUs in der Zukunft zu erleichtern, sondern auch die Gesamtanzahl von ECUs nicht weiter zu erhöhen.
  • (1) Überblick über die Domänen-Architektur
  • 10 ist ein vereinfachtes Diagramm, das die Domänen-Architektur darstellt. Die in 10 dargestellte Domänen-Architektur enthält DC-ECUs 30A und 30B, eine Gateway-ECU (GW-ECU) 40 und ECUs 50A, 51A, 50B und 51B.
  • Die in 10 dargestellte Domänen-Architektur enthält zwei Domänen. Eine erste Domäne 2A enthält die DC-ECU 30A und die ECUs 50A und 51A. Eine zweite Domäne 2B enthält die DC-ECU 30B und die ECUs 50B und 51B. Wie es oben beschrieben ist, sind die Domänen entsprechend den ECU-Funktionen und den Netzwerken kategorisiert. Das fahrzeugeigene System enthält beispielsweise eine Domäne zum Steuern eines Fahrzeugantriebssystems, eine Domäne zum Steuern von Automatikbetrieben und eine Domäne zum Steuern von Unterhaltungsvorrichtungen wie fahrzeugeigenen TVs und fahrzeugeigenen Computern.
  • Die DC-ECU 30A steuert die ECUs 50A und 51A, die zu der ersten Domäne 2A gehören. Die DC-ECU 30B steuert die ECUs 50B und 51B, die zu der zweiten Domäne 2B gehören. Wenn die erste Domäne 2A Automatikbetriebe steuert, steuert beispielsweise die DC-ECU 30A eine Kamera-ECU, eine Radar-ECU, eine LIDAR-ECU, eine Ortungs-ECU oder die ECUs 50A und 51A einschließlich verschiedener Automatikbetriebsanwendungen. Die DC-ECU 30A enthält außerdem eine Sensorfusionsanwendung, die die Sensorinformationen, die von den ECUs 50A und 51A ausgegeben werden, integriert. Die Ausgänge von der Sensorfusionsanwendung können der ECU 50A und 51A zugeführt werden.
  • Die GW-ECU 40 dient als eine Gateway-Vorrichtung auf dem fahrzeugeigenen Netzwerk. Die GW-ECU 40 ist mit mehreren Bussen verbunden und ist mit den anderen ECUs über einen jeweiligen Bus verbunden. Die GW-ECU 40 vermittelt eine Kommunikation zwischen Domänen. Die GW-ECU 40 dient außerdem als ein Gateway zwischen der Außenseite des Fahrzeugs und der Domäne.
  • In 10 sind die DC-ECU 30A, die GW-ECU 40, ECU 50A und die ECU 51A als unterschiedliche ECUs dargestellt. Die oben beschriebenen ECU-Funktionen können in eine andere ECU integriert werden. Die Funktionen der ECUs 50A und 51A können beispielsweise teilweise in der DC-ECU 30 integriert sein. In diesem Fall können die Funktionen, die in die DC-ECU 30 integriert sind, durch die virtuelle Maschine implementiert werden, die auf der DC-ECU 30A installiert ist.
  • (2) Beispiele der Anwendungen der Domänen-Architektur für das elektronische Steuerungssystem 1
  • Die oben beschriebenen Ausführungsformen haben das elektronische Steuerungssystem 1 beschrieben, das die ECU 10 und ECU 20 enthält. Wenn die Domänen-Architektur der 10 für das elektronische Steuerungssystem 1 verwendet wird, ist die ECU 10 zum Beschaffen der Aktualisierungsdatei und zum Übertragen der Aktualisierungsdatei an die anderen virtuellen Maschinen in vorteilhafter Weise als die DC-ECUs 30A und 30B (vergleichbar einer „Domänen-Steuerung“) in 10 ausgebildet. In diesem Fall geben die DC-ECUs 30A und 30B auf der Grundlage der Domänen-Architektur jeweils die Aktualisierungsbefehle an die ECUs aus, die zu derselben Domäne gehören, und übertragen außerdem nach Bedarf die Aktualisierungsdateien. Daher übertragen die DC-ECUs 30A und 30B keine Aktualisierungsbefehle oder Aktualisierungsdateien an virtuelle Maschinen von ECUs, die zu unterschiedlichen bzw. anderen Domänen gehören.
  • Die ECU 10, die als die DC-ECU 30 ausgebildet ist, überträgt beispielsweise keine Aktualisierungsbefehle und Aktualisierungsdateien an die ECUs (DC-ECU 30B, ECUs 50B und 51 B), die in der zweiten Domäne 2B enthalten sind. Die ECU, der es erlaubt ist, auf den echten Speicher 130 der ECU 10 zuzugreifen, muss zu derselben Domäne, d.h. der ersten Domäne 2A, gehören. Auf ähnliche Weise überträgt die ECU 10, die als die DC-ECU 30B ausgebildet ist, keine Aktualisierungsbefehle und Aktualisierungsdateien an die ECUs, die in der ersten Domäne 2A enthalten sind.
  • Das elektronische Steuerungssystem 1, das auf der Domänen-Architektur basiert, kann eine Kommunikation zwischen ECUs derselben oder in Beziehung stehenden Domänen beschränken. Es ist möglich, den Verkehr auf dem gesamten fahrzeugeigenen Netzwerk einzuschränken und demzufolge das Reaktionsvermögen auf dem fahrzeugeigenen Netzwerk zu verbessern.
  • Außerdem wird ein Zugriff von ECUs, die zu anderen Domänen gehören, eingeschränkt. Sogar wenn eine ECU, die zu einer Domäne gehört, einem Angriff von der Außenseite ausgesetzt ist, ist es möglich, einen nicht autorisierten Zugriff auf andere Domänen zu verhindern.
  • Gemäß einem anderen Beispiel kann die ECU 10 als die GW-ECU 40 (vergleichbar einer „Gateway-Vorrichtung“) in 10 ausgebildet sein. In diesem Fall ist die ECU 20 als die DC-ECUs 30A und 30B und die ECUs 50A, 50B, 51A und 51B ausgebildet. Es wird nur auf den echten Speicher 130 der GW-ECU 40 von den ECUs zugegriffen, die zu verschiedenen Domänen gehören. Ähnlich wie bei dem Fall der Konfiguration der ECU 10 als DC-ECU ist es sogar dann, wenn eine ECU, die zu einer Domäne gehört, die einem Angriff von der Außenseite ausgesetzt ist, möglich, einen nicht autorisierten Zugriff auf andere Domänen zu verhindern.
  • 6. Allgemeiner Überblick
  • Oben wurden die Merkmale der elektronischen Steuerungseinheit und des elektronischen Steuerungssystems, das die elektronische Steuerungseinheit enthält, gemäß den Ausführungsformen der vorliegenden Erfindung beschrieben.
  • Die technischen Begriffe, die in den Ausführungsformen verwendet werden, sind nur Beispiele und können daher durch synonyme Ausdrücke oder Ausdrücke, die synonyme Funktionen enthalten, ersetzt werden.
  • Die Blockdiagramme, die für die Beschreibung der Ausführungsformen verwendet werden, dienen als Klassifizierung und Anordnung der Konfiguration der Vorrichtungen entsprechend den Funktionen. Der Block, der eine jeweilige Funktion repräsentiert, wird durch eine beliebige Kombination von Hardware und Software implementiert. Das Blockdiagramm, das die Funktionen darstellt, kann daher als Offenbarung der Erfindung des Verfahrens und der Erfindung des Programms, das das Verfahren implementiert, verstanden werden.
  • Jede Ausführungsform beschreibt die Prozesse, Abläufe und Funktionsblöcke, die als ein Verfahren betrachtet werden können. Die Sequenz bzw. Folge kann geändert werden, solange wie diese keine Beschränkung dahingehend aufweist, dass beispielsweise ein bestimmter Schritt gezwungen ist, das Ergebnis eines vorhergehenden Schrittes zu verwenden.
  • In den Ausführungsformen und den Ansprüchen werden Ausdrücke wie erster, zweiter usw. einschließlich N-ter (wobei N eine ganze Zahl ist) verwendet, um zwischen zwei oder mehr Konfigurationen oder Verfahren desselben Typs zu unterscheiden, und diese beschränken daher nicht die Sequenz, Überlegenheit oder Unterlegenheit.
  • Die elektronische Steuerungseinheit gemäß jeder Ausführungsform wird als eine fahrzeugeigene Vorrichtung, die an einem Fahrzeug montiert wird, angenommen. Die elektronische Steuerungseinheit gemäß der vorliegenden Erfindung kann jedoch für ein beliebiges elektronisches Steuerungssystem verwendet werden, wenn es nicht anders in den Ansprüchen angegeben ist.
  • Die Vorrichtung gemäß der vorliegenden Erfindung kann beispielsweise die folgenden Formen verwenden.
  • Die Form von Komponenten enthält Halbleiterelemente, elektronische Schaltungen, Module und Mikrocomputer.
  • Die Form von halbfertigen Produkten enthält elektronische Steuerungseinheiten (ECUs) und Systemplatten.
  • Die Form von Endprodukten enthält Mobiltelefone, Smartphones, Tablets, Personal Computer (PCs), Workstations und Server.
  • Andere Beispiele enthalten Vorrichtungen zum Unterstützen von Kommunikationsfunktionen von beispielsweise Videokameras, Standbildkameras und Fahrzeugnavigationssystemen.
  • Jede Vorrichtung kann zusätzlich notwendige Funktionen wie diejenigen einer Antenne und einer Kommunikationsschnittstelle enthalten.
  • Die vorliegende Erfindung kann nicht nur als zugehörige Hardware, die die Konfigurationen und Funktionen aufweist, die in einer jeweiligen Ausführungsform beschrieben sind, implementiert werden, sondern auch als eine Kombination aus einem Programm, das auf einem Aufzeichnungsmedium wie einem Speicher oder einer Festplatte aufgezeichnet ist, um die Erfindung auszuführen, und einer allgemeinen Hardware, die eine zugehörige oder allgemeine CPU und einen Speicher enthält, der in der Lage ist, das Programm auszuführen, implementiert werden.
  • Ein Programm wird in einem nichtflüchtigen dinglichen Speichermedium einer zugehörigen oder allgemeinen Hardware als einer externen Speichervorrichtung wie einer Festplatte, einem USB-Speicher oder einer CD/BD oder in einer internen Speichervorrichtung wie einem RAM oder ROM gespeichert. Das Programm kann auch einer zugehörigen oder allgemeinen Hardware unter Verwendung von Aufzeichnungsmedien oder über eine Kommunikationsleitung von einem Server ohne Verwendung von Aufzeichnungsmedien zugeführt werden. Dieses macht es möglich, das Programm upzugraden und stets die neuesten Merkmale bereitzustellen.
  • Die elektronische Steuerungseinheit gemäß der vorliegenden Erfindung wurde als eine fahrzeugeigene elektronische Steuerungseinheit beschrieben, die hauptsächlich an Automobilen montiert wird, kann aber auch für sämtliche bewegten Körper wie Motorräder, Schiffe, Schienenfahrzeuge und Luftfahrzeuge verwendet werden. Die elektronische Steuerungseinheit kann nicht nur für bewegte Körper, sondern auch für sämtliche Produkte verwendet werden, die mit Mikrocomputern ausgerüstet sind.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2020 [0003]
    • JP 173561 A [0003]

Claims (16)

  1. Elektronische Steuerungseinheit, die eine virtuelle Maschine enthält, die von einem Hypervisor verwaltet wird, wobei die elektronische Steuerungseinheit aufweist: einen Dateibeschaffungsabschnitt (141), der ausgelegt ist, eine Datei zum Aktualisieren von Software zu beschaffen; und einen Speicherabschnitt (130, 144), der ausgelegt ist, die Datei zu speichern, wobei eine erste virtuelle Maschine (140) als die virtuelle Maschine enthält: einen Bestimmungsabschnitt (146), der ausgelegt ist, auf der Grundlage einer ersten Sicherheitsintegrität, die einen Sicherheitslevel der ersten virtuellen Maschine angibt, und einer zweiten Sicherheitsintegrität, die einen Sicherheitslevel der zweiten virtuellen Maschine angibt, zu bestimmen, ob die Datei an eine zweite virtuelle Maschine (150, 160, 230) zu übertragen ist, die mit der ersten virtuellen Maschine verbunden ist; und einen Übertragungsabschnitt (147), der ausgelegt ist, die Datei an die zweite virtuelle Maschine zu übertragen, wenn der Bestimmungsabschnitt bestimmt, dass die Datei an die zweite virtuelle Maschine zu übertragen ist.
  2. Elektronische Steuerungseinheit nach Anspruch 1, wobei die erste virtuelle Maschine außerdem einen Aktualisierungsabschnitt enthält, der ausgelegt ist, Software der ersten virtuellen Maschine durch Zugreifen auf den Speicherabschnitt und Verwenden der Datei, die in dem Speicherabschnitt gespeichert ist, zu aktualisieren.
  3. Elektronische Steuerungseinheit nach Anspruch 1, wobei der Bestimmungsabschnitt ausgelegt ist, zu bestimmen, dass die Datei an die zweite virtuelle Maschine zu übertragen ist, wenn die erste Sicherheitsintegrität höher als die zweite Sicherheitsintegrität ist.
  4. Elektronische Steuerungseinheit nach Anspruch 1, wobei der Bestimmungsabschnitt ausgelegt ist, zu bestimmen, dass die Datei an die zweite virtuelle Maschine zu übertragen ist, wenn sich die erste Sicherheitsintegrität und die zweite Sicherheitsintegrität voneinander unterscheiden.
  5. Elektronische Steuerungseinheit nach Anspruch 1, wobei die erste virtuelle Maschine außerdem einen Aktualisierungsbefehlsabschnitt (148) enthält, der ausgelegt ist, der zweiten virtuellen Maschine zu befehlen, eine Aktualisierung durchzuführen, der Aktualisierungsbefehlsabschnitt ausgelegt ist, der zweiten virtuellen Maschine zu befehlen, eine Softwareaktualisierung unter Verwendung der Datei, die von dem Übertragungsabschnitt übertragen wird, durchzuführen, wenn der Bestimmungsabschnitt bestimmt, dass die Datei an die zweite virtuelle Maschine zu übertragen ist; und eine Softwareaktualisierung durch Zugreifen auf den Speicherabschnitt und Verwenden der Datei, die in dem Speicherabschnitt gespeichert ist, durchzuführen, wenn der Bestimmungsabschnitt bestimmt, dass die Datei nicht an die zweite virtuelle Maschine zu übertragen ist.
  6. Elektronische Steuerungseinheit nach Anspruch 1, wobei die erste Sicherheitsintegrität und die zweite Sicherheitsintegrität konform mit ASIL (Automotive Safety Integrity Level) sind.
  7. Elektronische Steuerungseinheit nach Anspruch 1, wobei der Speicherabschnitt ein Speicherabschnitt (130) ist, der von dem Hypervisor verwaltet wird, und die erste virtuelle Maschine und die zweite virtuelle Maschine auf den Speicherabschnitt nur dann zugreifen dürfen, wenn die Datei, die in dem Speicherabschnitt gespeichert ist, für die Aktualisierung verwendet wird.
  8. Elektronische Steuerungseinheit nach Anspruch 1, wobei der Bestimmungsabschnitt ausgelegt ist, zu bestimmen, ob die Datei an die zweite virtuelle Maschine zu übertragen ist, durch Bestimmen, ob ein erster Hypervisor (110), der die erste virtuelle Maschine verwaltet, und ein zweiter Hypervisor (110, 120, 210), der die zweite virtuelle Maschine verwaltet, dieselben sind.
  9. Elektronische Steuerungseinheit nach Anspruch 1, wobei die erste virtuelle Maschine eine Plattform (1401) und eine Anwendung (1402), die auf der Plattform betrieben wird, enthält.
  10. Elektronische Steuerungseinheit nach Anspruch 9, die außerdem aufweist. die zweite virtuelle Maschine (150, 160), wobei die Plattform eine erste Plattform ist, und die zweite virtuelle Maschine eine zweite Plattform (1501, 1601) enthält, die sich von der ersten Plattform unterscheidet.
  11. Elektronische Steuerungseinheit nach einem der Ansprüche 1 bis 10, wobei die elektronische Steuerungseinheit in einem bewegten Körper montiert ist.
  12. Softwareaktualisierungsverfahren, das von einer elektronischen Steuerungseinheit durchgeführt wird, die eine virtuelle Maschine enthält, die von einem Hypervisor verwaltet wird, wobei das Verfahren aufweist: Beschaffen (S101) einer Datei zum Aktualisieren von Software; Speichern (S103) der Datei in einem Speicherabschnitt (130, 144); Bestimmen (S106) auf der Grundlage einer ersten Sicherheitsintegrität, die einen Sicherheitslevel einer ersten virtuellen Maschine (140) als die virtuelle Maschine angibt, und einer zweiten Sicherheitsintegrität, die einen Sicherheitslevel einer zweiten virtuellen Maschine (150, 160, 230) angibt, die mit der ersten virtuellen Maschine verbunden ist, ob die Datei an die zweite virtuelle Maschine zu übertragen ist; und Übertragen (S109) der Datei an die zweite virtuelle Maschine, wenn bestimmt wird, dass die Datei an die zweite virtuelle Maschine zu übertragen ist.
  13. Softwareaktualisierungsprogramm, das auf einer elektronischen Steuerungseinheit ausführbar ist, die eine virtuelle Maschine enthält, die von einem Hypervisor verwaltet wird, wobei das Programm die folgenden Befehle aufweist zum: Beschaffen (S101) einer Datei zum Aktualisieren von Software; Speichern (S103) der Datei in einem Speicherabschnitt (130, 144); Bestimmen (S106) auf der Grundlage einer ersten Sicherheitsintegrität, die einen Sicherheitslevel einer ersten virtuellen Maschine (140) als die virtuelle Maschine angibt, und einer zweiten Sicherheitsintegrität, die einen Sicherheitslevel einer zweiten virtuellen Maschine (150, 160, 230) angibt, die mit der ersten virtuellen Maschine verbunden ist, ob die Datei an die zweite virtuelle Maschine zu übertragen ist; und Übertragen (S109) der Datei an die zweite virtuelle Maschine, wenn bestimmt wird, dass die Datei an die zweite virtuelle Maschine zu übertragen ist.
  14. Elektronisches Steuerungssystem, das aufweist: eine erste elektronische Steuerungseinheit (10), die eine erste virtuelle Maschine (140) aufweist; und eine zweite elektronische Steuerungseinheit (20), die eine zweite virtuelle Maschine (230) aufweist, wobei die erste elektronische Steuerungseinheit enthält: einen Dateibeschaffungsabschnitt (141), der ausgelegt ist, eine Datei zum Aktualisieren von Software zu beschaffen; und einen Speicherabschnitt (130, 144), der ausgelegt ist, die Datei zu speichern, die erste virtuelle Maschine enthält: einen Bestimmungsabschnitt (146), der ausgelegt ist, auf der Grundlage einer ersten Sicherheitsintegrität, die einen Sicherheitslevel der ersten virtuellen Maschine angibt, und einer zweiten Sicherheitsintegrität, die einen Sicherheitslevel der zweiten virtuellen Maschine angibt, zu bestimmen, ob die Datei an die zweite virtuelle Maschine (230) zu übertragen ist; und einen Übertragungsabschnitt (147), der ausgelegt ist, die Datei an die zweite virtuelle Maschine zu übertragen, wenn der Bestimmungsabschnitt bestimmt, dass die Datei an die zweite virtuelle Maschine zu übertragen ist, und die zweite virtuelle Maschine einen Aktualisierungsabschnitt (231) enthält, der ausgelegt ist, die zweite virtuelle Maschine zu aktualisieren durch: Zugreifen auf den Speicherabschnitt und Verwenden der Datei, die in dem Speicherabschnitt gespeichert ist; oder Verwenden der Datei, die von dem Übertragungsabschnitt übertragen wird.
  15. Elektronisches Steuerungssystem nach Anspruch 14, das außerdem aufweist: eine Domäne (2A, 2B), die die erste elektronische Steuerungseinheit und die zweite elektronische Steuerungseinheit enthält, wobei die erste elektronische Steuerungseinheit eine Domänen-Steuerung (30A, 30B) ist, die ausgelegt ist, eine elektronische Steuerungseinheit zu steuern, die in der Domäne enthalten ist.
  16. Elektronisches Steuerungssystem nach Anspruch 14, das außerdem aufweist: eine Domäne (2A, 2B), die die zweite elektronische Steuerungseinheit enthält, wobei die erste elektronische Steuerungseinheit eine Gateway-Vorrichtung (40) ist, die mit mehreren Bussen verbunden ist, die zweite elektronische Steuerungseinheit mit der Gateway-Vorrichtung über einen der Busse verbunden ist, und die zweite elektronische Steuerungseinheit folgendes ist: eine Domänen-Steuerung (30A, 30B), die ausgelegt ist, eine elektronische Steuerungseinheit zu steuern, die in der Domäne enthalten ist; oder die elektronische Steuerungseinheit (50A, 51A, 50B, 51B), die von der Domänen-Steuerung gesteuert wird.
DE102021130897.6A 2020-11-27 2021-11-25 Elektronische steuerungseinheit, softwareaktualisierungsverfahren, softwareaktualisierungsprogramm und elektronisches steuerungssystem Pending DE102021130897A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2020-197506 2020-11-27
JP2020197506 2020-11-27
JP2021178152A JP2022085863A (ja) 2020-11-27 2021-10-29 電子制御装置、ソフトウェア更新方法、ソフトウェア更新プログラム、及び電子制御システム
JP2021-178152 2021-10-29

Publications (1)

Publication Number Publication Date
DE102021130897A1 true DE102021130897A1 (de) 2022-06-02

Family

ID=81586362

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021130897.6A Pending DE102021130897A1 (de) 2020-11-27 2021-11-25 Elektronische steuerungseinheit, softwareaktualisierungsverfahren, softwareaktualisierungsprogramm und elektronisches steuerungssystem

Country Status (2)

Country Link
US (1) US11836475B2 (de)
DE (1) DE102021130897A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024071942A1 (ko) * 2022-09-27 2024-04-04 엘지전자 주식회사 신호 처리 장치 및 이를 구비하는 차량용 디스플레이 장치
WO2024071944A1 (ko) * 2022-09-27 2024-04-04 엘지전자 주식회사 신호 처리 장치 및 이를 구비하는 차량용 디스플레이 장치
WO2024085580A1 (ko) * 2022-10-18 2024-04-25 엘지전자 주식회사 신호 처리 장치 및 이를 구비하는 차량용 디스플레이 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020173561A (ja) 2019-04-09 2020-10-22 株式会社オートネットワーク技術研究所 車載コンピュータ、車載通信システム、コンピュータ実行方法及びコンピュータプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017056725A1 (ja) 2015-09-30 2017-04-06 日立オートモティブシステムズ株式会社 車載制御装置
JP6424797B2 (ja) 2015-11-02 2018-11-21 株式会社デンソー 車載装置
US20180107473A1 (en) * 2016-10-13 2018-04-19 GM Global Technology Operations LLC Determining whether to install a vehicle system update in a vehicle
US11301347B2 (en) * 2016-10-31 2022-04-12 Harman Becker Automotive Systems Gmbh Software update mechanism for safety critical systems
DE112017006980T5 (de) * 2017-02-01 2019-10-17 Sumitomo Electric Industries, Ltd. Steuereinrichtung, Programmaktualisierungsverfahren und Computerprogramm
WO2019168907A1 (en) * 2018-02-27 2019-09-06 Excelfore Corporation Broker-based bus protocol and multi-client architecture
EP3572939A1 (de) * 2018-05-25 2019-11-27 TTTech Auto AG Verfahren, vorrichtung und echtzeit-netzwerk für hochintegrierte kraftfahrzeugsysteme
GB2592647B (en) * 2020-03-05 2022-08-03 Jaguar Land Rover Ltd Power management on a vehicle

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020173561A (ja) 2019-04-09 2020-10-22 株式会社オートネットワーク技術研究所 車載コンピュータ、車載通信システム、コンピュータ実行方法及びコンピュータプログラム

Also Published As

Publication number Publication date
US20220171611A1 (en) 2022-06-02
US11836475B2 (en) 2023-12-05

Similar Documents

Publication Publication Date Title
DE102021130897A1 (de) Elektronische steuerungseinheit, softwareaktualisierungsverfahren, softwareaktualisierungsprogramm und elektronisches steuerungssystem
DE102019109672A1 (de) Rückgängigmachung nach einem teilausfall in mehreren elektronischen steuergeräten mittels over-the-air-updates
EP2912544B1 (de) Vorrichtung und verfahren zur bereitstellung multimedialer daten in einem kraftfahrzeug
DE112018001894T5 (de) Steuervorrichtung, Übertragungsverfahren und Computerprogramm
DE112020005928T5 (de) Masteragent und verteilte Agentenarchitektur für Fahrzeuge
DE102015214915B4 (de) Flexibles Scheduling-Verfahren und Scheduling-Vorrichtung bei einer LIN-Kommunikation
DE112012004247T5 (de) Passives Überwachen virtueller Systeme unter Verwendung einer erweiterbaren Indexierung
DE102017100751A1 (de) Verfahren und vorrichtung für fahrzeug-software-updateinstallation
DE102020122489A1 (de) Zugriffsautorisierung für verteiltes fahrzeugnetzwerk
DE112019002392T5 (de) Fahrzeugsteuergerät, verfahren zur verwaltung von interruptinformationen und programm zur verwaltung von interruptinformationen
EP4123448A1 (de) Absicherung eines einrichtevorgangs eines unterverzeichnisses und einer netzwerkschnittstelle für eine containerinstanz
DE102020208245A1 (de) Datenspeicherungsvorrichtung und Datenspeicherungsprogramm
DE102023112746A1 (de) Elektronische steuervorrichtung, softwareaktualisierungsverfahren, softwareaktualisierungsprogramm und elektronisches steuersystem
DE102021130896A1 (de) Elektronische steuerungseinheit, zeitinformationsbereitstellungsverfahren, zeitinformationsbereitstellungsprogramm und elektronisches steuerungssystem
DE102021130898A1 (de) Elektronische steuerungseinheit, softwareaktualisierungsverfahren, softwareaktualisierungsprogramm und elektronisches steuerungssystem
DE112019005132T5 (de) Simultanes testen, ob mehrere über ein kommunikationsnetzwerk verbundene elektronische vorrichtungen ausnahmen korrekt behandeln
DE102019217015A1 (de) Kommunikationsvorrichtung
DE102021130899A1 (de) Elektronische steuerungseinheit, software-aktualisierungsverfahren, software-aktualisierungsprogramm und elektronisches steuerungssystem
DE102022113922A1 (de) Ota-master, system, verfahren, nicht-transitorisches speichermedium und fahrzeug
DE102022110251A1 (de) Ota-master, center, system, verfahren, nicht-transitorisches speichermedium und fahrzeug
DE102016008957A1 (de) Direkter Zugriff auf Bussignale in einem Kraftfahrzeug
DE102023112890A1 (de) Elektronische steuerungseinheit, software-aktualisierungsverfahren und software-aktualisierungsprogramm
DE102023112740A1 (de) Aktualisierungssteuervorrichtung, aktualisierungssteuerverfahren und aktualisierungssteuerprogramm
DE102017100118A1 (de) Skalierbares Steuersystem für ein Kraftfahrzeug
DE102016216821A1 (de) Verfahren und Vorrichtung zum Betreiben einer Brennkraftmaschine

Legal Events

Date Code Title Description
R012 Request for examination validly filed