DE112017006980T5 - Steuereinrichtung, Programmaktualisierungsverfahren und Computerprogramm - Google Patents

Steuereinrichtung, Programmaktualisierungsverfahren und Computerprogramm Download PDF

Info

Publication number
DE112017006980T5
DE112017006980T5 DE112017006980.7T DE112017006980T DE112017006980T5 DE 112017006980 T5 DE112017006980 T5 DE 112017006980T5 DE 112017006980 T DE112017006980 T DE 112017006980T DE 112017006980 T5 DE112017006980 T5 DE 112017006980T5
Authority
DE
Germany
Prior art keywords
program
update
updating
control
priority levels
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
DE112017006980.7T
Other languages
English (en)
Inventor
Ryusuke Seki
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.)
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Electric Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sumitomo Electric Industries Ltd filed Critical Sumitomo Electric Industries Ltd
Publication of DE112017006980T5 publication Critical patent/DE112017006980T5/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R25/00Fittings or systems for preventing or indicating unauthorised use or theft of vehicles
    • B60R25/30Detection related to theft or to other events relevant to anti-theft systems
    • B60R25/307Detection related to theft or to other events relevant to anti-theft systems using data concerning maintenance or configuration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • B60W2050/0083Setting, resetting, calibration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Bereitgestellt wird eine Steuereinrichtung, die konfiguriert ist, die Aktualisierung eines Steuerprogramms einer Fahrzeugsteuervorrichtung, welche in einem Fahrzeug installierte Zielausrüstung steuert, zu steuern. Die Steuereinrichtung beinhaltet: einen Speicher, der konfiguriert ist, ein Aktualisierungsprogramm für das Steuerprogramm zu speichern; eine Bestimmungseinheit, die konfiguriert ist, Prioritätsniveaus einer Vielzahl von Aktualisierungsprogrammen, die im Speicher gespeichert sind, zu bestimmen; und eine Steuereinheit, die konfiguriert ist, die Vielzahl von Aktualisierungsprogrammen anhand der bestimmten Prioritätsniveaus in absteigender Reihenfolge der Prioritätsniveaus herunterzuladen. Die Bestimmungseinheit bestimmt die Prioritätsniveaus auf Basis einer oder mehrerer Sicherheits-Indizes, die mit jedem der Vielzahl von in dem Speicher gespeicherten Aktualisierungsprogrammen assoziiert sind.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung bezieht sich auf eine Steuereinrichtung, ein Programm-Aktualisierungsverfahren und ein Computerprogramm.
  • Diese Anmeldung beansprucht die Priorität zur japanischen Patentanmeldung Nr. 2017-016606 , eingereicht am 1. Februar 2017, deren gesamte Inhalte hierin unter Bezugnahme inkorporiert sind.
  • HINTERGRUND
  • Auf dem Gebiet der Automobiltechnik sind in den letzten Jahren Fahrzeuge in ihrer Funktionalität weiterentwickelt worden und ein vielfältiges Spektrum an Vorrichtungen ist in Fahrzeugen installiert worden. Entsprechend sind Fahrzeuge mit einer großen Anzahl von Steuervorrichtungen, sogenannten ECUs (Elektronik-Steuereinheiten), zum Steuern dieser Fahrzeugvorrichtungen ausgerüstet worden.
  • Beispiele von Typen von ECUs beinhalten: Fahrtyp-ECUs, die einen Motor, eine Bremse, eine EPS (Elektrische Servolenkung) und dergleichen in Reaktion auf Bedienungen an einem Fahrpedal, einer Bremse und einem Lenkrad steuern; Karosserietyp-ECUs, die EIN/AUS von Innenlichtern und Scheinwerfern, den Ton einer Alarmeinheit und dergleichen in Reaktion auf einen Insassen durchgeführte Schaltbedienungen steuern, und Messtyp-ECUs, die Operationen von Messgeräten, die nahe dem Fahrersitz angeordnet sind, steuern.
  • Allgemein besteht die ECU aus einer Arithmetik-Verarbeitungseinheit, wie etwa einem Mikrocomputer, und implementiert eine Steuerung einer Fahrzeugvorrichtung durch Auslesen eines in einem ROM (Nurlesespeicher) gespeicherten Steuerprogramms und Ausführen des gelesenen Steuerprogramms.
  • Steuerprogramme von ECUs können sich unterscheiden abhängig von den Versandzielen, Ausstattungsnivau etc. von Fahrzeugen. Daher müssen alte Versionen von Steuerprogrammen mit neuen Versionen von Steuerprogrammen in Reaktion auf das Aktualisieren von Steuerprogrammen überschrieben werden.
  • Beispielsweise offenbart Patentliteratur 1 ein System, das ein Korrekturprogramm zum Korrigieren eines Fahrzeugsteuerprogramms aus einem Informations-Bereitstellzentrum empfängt, das eine externe Vorrichtung ist, und dass das Fahrzeug-Steuerprogramm unter Verwendung des Korrekturprogramms in Reaktion auf eine Anfrage aus dem Informations-Bereitstellzentrum neu schreibt.
  • Patentliteratur 2 offenbart ein System, in welchem Aktualisierungs-Information für Karteninformation an eine Fahrzeugnavigationsvorrichtung verteilt wird. In diesem System empfängt ein Fahrzeug vorzugsweise Aktualisierungs-Information, die zu seinem Zustand passen.
  • ZITATELISTE
  • (PATENTLITERATUR)
    • Patentliteratur 1: Japanische Patentoffenlegungsschrift Nr. 2007-65856
    • Patentliteratur 2: Japanische Patentoffenlegungsschrift Nr. 2012-123418
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß einer Ausführungsform ist eine Steuereinrichtung konfiguriert, die Aktualisierung eines Steuerprogramms einer Fahrzeugsteuervorrichtung zu steuern, welche Zielausrüstung steuert, die in einem Fahrzeug installiert ist. Die Steuereinrichtung beinhaltet: einen Speicher, der konfiguriert ist, ein Aktualisierungsprogramm für das Steuerprogramm zu speichern; eine Bestimmungseinheit, die konfiguriert ist, Prioritätsniveaus einer Vielzahl von Aktualisierungsprogrammen, die im Speicher gespeichert sind, zu bestimmen; und eine Steuereinheit, die konfiguriert ist, die Vielzahl von Aktualisierungsprogrammen anhand der vorbestimmten Prioritätsniveaus herunterzuladen, in absteigender Reihenfolge der Prioritätsniveaus. Die Bestimmungseinheit bestimmt die Prioritätsniveaus auf Basis einer oder mehrerer Sicherheits-Indizes, die mit jeder der Vielzahl von Aktualisierungsprogrammen, die im Speicher gespeichert sind, assoziiert sind.
  • Gemäß einer anderen Ausführungsform ist ein Programm-Aktualisierungsverfahren ein Verfahren des Aktualisierens eines Steuerprogramms einer Fahrzeugsteuervorrichtung, die in einem Fahrzeug installierte Zielausrüstung steuert. Das Verfahren beinhaltet die Schritte: Speichern eines Aktualisierungsprogramms für das Steuerprogramm in einem Speicher; Bestimmen von Prioritätsniveaus einer Vielzahl von Aktualisierungsprogrammen, die im Speicher gespeichert sind; und Herunterladen der Vielzahl von Aktualisierungsprogrammen anhand der bestimmten Prioritätsniveaus in absteigender Reihenfolge der Prioritätsniveaus. Im Schritt des Bestimmens der Prioritätsniveaus werden die Prioritätsniveaus auf Basis einer oder mehrerer Sicherheits-Indizes bestimmt, die mit jeder der Vielzahl von in dem Speicher gespeicherten Aktualisierungsprogrammen assoziiert sind.
  • Gemäß noch einer anderen Ausführungsform veranlasst ein Computerprogramm einen Computer, als eine Steuereinrichtung zu fungieren, die konfiguriert ist, die Aktualisierung eines Steuerprogramms einer Fahrzeugsteuervorrichtung zu steuern, welche in einem Fahrzeug installierte Zielausrüstung steuert. Der Computer beinhaltet einen Speicher, der konfiguriert ist, ein Aktualisierungsprogramm für das Steuerprogramm zu speichern. Das Computerprogramm veranlasst den Computer, zu fungieren als: eine Bestimmungseinheit, die konfiguriert ist, Prioritätsniveaus einer Vielzahl von Aktualisierungsprogrammen, die im Speicher gespeichert sind, zu bestimmen; und eine Steuereinheit, die konfiguriert ist, die Vielzahl von Aktualisierungsprogrammen anhand der vorbestimmten Prioritätsniveaus in absteigender Reihenfolge der Prioritätsniveaus herunterzuladen. Die Bestimmungseinheit bestimmt die Prioritätsniveaus auf Basis einer oder mehrerer Sicherheits-Indizes, die mit jeder der Vielzahl von in dem Speicher gespeicherten Aktualisierungsprogrammen assoziiert sind.
  • Figurenliste
    • 1 ist ein Diagramm, das eine Gesamtsystemkonfiguration eines Programmaktualisierungssystems gemäß einer Ausführungsform zeigt.
    • 2 ist ein Blockdiagramm, das eine interne Konfiguration eines Gateways zeigt.
    • 3 ist ein Blockdiagramm, das eine interne Konfiguration einer ECU zeigt.
    • 4 ist ein Blockdiagramm, das eine interne Konfiguration eines DL- (Download) Servers zeigt.
    • 5 ist ein Sequenzdiagramm, das ein Beispiel der Aktualisierung eines Steuerprogramms zeigt, welches in einem Programmaktualisierungssystem gemäß einer ersten Ausführungsform ausgeführt wird.
    • 6 zeigt ein spezifisches Beispiel eines RelationsGraphen, der die Korrespondenzbeziehung zwischen einer oder mehrerer Sicherheits-Indizes und von Prioritätswerten zeigt.
    • 7 ist ein Diagramm zum Beschreiben eines Verfahrens zum Bestimmen von Prioritätsniveaus für das Herunterladen im DL-Server.
    • 8 ist ein Flussdiagramm, das einen spezifischen Inhalt der durch den DL-Server durchgeführten Verarbeitung zeigt, um die in 5 gezeigte Sequenz zu realisieren.
    • 9 ist ein Flussdiagramm, das einen spezifischen Inhalt der durch den DL-Server gemäß einer zweiten Ausführungsform durchgeführten Verarbeitung zeigt.
  • BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
  • <Durch die vorliegende Offenbarung zu lösende Probleme>
  • Die Sicherheit eines Fahrzeugs berücksichtigend, muss ein Aktualisierungsprogramm mit einem hohen Dringlichkeitsniveau, wie etwa ein Aktualisierungsprogramm hinsichtlich Sicherheit, vorzugsweise heruntergeladen werden.
  • Eine Aufgabe in einem Aspekt der vorliegenden Offenbarung ist es, eine Steuereinrichtung, ein Programm-Aktualisierungsverfahren und ein Computerprogramm bereitzustellen, die das Herunterladen einer Vielzahl von Aktualisierungsprogrammen für Steuerprogramme in der Reihenfolge hinsichtlich Sicherheit eines Fahrzeugs gestatten.
  • <Effekt der vorliegenden Offenbarung>
  • Gemäß dieser Offenbarung kann eine Vielzahl von Aktualisierungsprogrammen für Steuerprogramme in der Reihenfolge hinsichtlich Sicherheit eines Fahrzeugs heruntergeladen werden.
  • [Beschreibung von Ausführungsformen]
  • Die vorliegende Ausführungsform beinhaltet zumindest das Nachfolgende.
  • Das heißt, dass eine in der vorliegenden Ausführungsform enthaltene Steuereinrichtung eine Steuereinrichtung ist, die konfiguriert ist, die Aktualisierung eines Steuerprogramms einer Fahrzeugsteuervorrichtung, welche in einem Fahrzeug installierte Zielausrüstung steuert, zu steuern. Die Steuereinrichtung beinhaltet: einen Speicher, der konfiguriert ist, ein Aktualisierungsprogramm für das Steuerprogramm zu speichern; eine Bestimmungseinheit, die konfiguriert ist, Prioritätsniveaus einer Vielzahl von in dem Speicher gespeicherten Aktualisierungsprogrammen zu bestimmen; und eine Steuereinheit, die konfiguriert ist, die Vielzahl von Aktualisierungsprogrammen anhand der bestimmten Prioritätsniveaus in absteigender Reihenfolge der Prioritätsniveaus herunterzuladen. Die Bestimmungseinheit bestimmt die Prioritätsniveaus auf Basis einer oder mehrerer Sicherheits-Indizes, die mit jeder der Vielzahl in dem Speicher gespeicherten Aktualisierungsprogrammen assoziiert sind.
  • Da die Vielzahl von Aktualisierungsprogrammen gemäß den Prioritätsniveaus heruntergeladen werden, basierend auf dem einen oder mehreren Sicherheits-Indizes in absteigender Reihenfolge der Prioritätsniveaus, wird ein Aktualisierungsprogramm mit einem höheren Prioritätsniveau, basierend auf den Sicherheits-Indizes, mit höherer Priorität heruntergeladen. Daher wird ein Steuerprogramm mit einem höheren Prioritätsniveau, basierend auf den Sicherheits-Indizes, prompter aktualisiert. Somit kann die Sicherheit des Fahrzeugs prompt verbessert werden.
  • Vorzugsweise beinhalten die Sicherheits-Indizes zumindest einen eines Index von Funktionssicherheit und eines Index von Sicherheit (Security).
  • Somit werden die Aktualisierungsprogramme in der Prioritätsreihenfolge heruntergeladen, in welcher zumindest eines von funktionaler Sicherheit (Safety) und Sicherheits-Sicherstellung (Security Assurance) berücksichtigt wird.
  • Vorzugsweise suspendiert in einem Fall, in welchem ein neues Aktualisierungsprogramm im Speicher gespeichert ist, während ein Aktualisierungsprogramm heruntergeladen wird, und falls das Prioritätsniveaus des neuen Aktualisierungsprogramms höher als das Prioritätsniveau des heruntergeladen werdenden Aktualisierungsprogramms ist, die Steuereinheit die Herunterladung des heruntergeladen werdenden Aktualisierungsprogramms und lädt das neue Aktualisierungsprogramm herunter.
  • Somit wird ein Aktualisierungsprogramm für ein Steuerprogramm mit einem höheren Dringlichkeitsniveau mit höherer Priorität in einer flexiblen Weise heruntergeladen und wird die Aktualisierung des Steuerprogramms mit höherer Priorität durchgeführt. Daher kann die Sicherheit des Fahrzeugs prompt verbessert werden.
  • Vorzugsweise in einem Fall, bei dem ein neues Aktualisierungsprogramm im Speicher gespeichert ist, während ein Aktualisierungsprogramm heruntergeladen wird, und falls das Prioritätsniveau des neuen Aktualisierungsprogramms höher als das Prioritätsniveau des heruntergeladen werdenden Aktualisierungsprogramms ist, lädt die Steuereinheit das neue Aktualisierungsprogramm nach Abschluss der Herunterladung des heruntergeladen werdenden Aktualisierungsprogramms herunter.
  • Somit kann das Herunterladen des Aktualisierungsprogramms ohne Unterbrechung abgeschlossen werden.
  • Vorzugsweise lädt die Steuereinheit die Vielzahl von Aktualisierungsprogrammen gemäß den Prioritätsniveaus in absteigender Reihenfolge der Prioritätsniveaus herunter und fordert die Aktualisierung von Steuerprogrammen in absteigender Reihenfolge der Prioritätsniveaus an.
  • Somit wird ein Steuerprogramm mit einem höheren Dringlichkeits-Niveau mit höherer Priorität aktualisiert.
  • Vorzugsweise ist ein Algorithmus zum Bestimmen der Prioritätsniveaus der Aktualisierungsprogramme durch die Bestimmungseinheit wechselbar.
  • Somit kann die Prioritätsreihenfolge flexibel verändert werden, zusammen mit einer Änderung bei der Evaluierung von Sicherheit, einem Anstieg bei der Leistung, etc..
  • Ein Programm-Aktualisierungsverfahren, das in der vorliegenden Ausführungsform beinhaltet ist, ist ein Verfahren zum Aktualisieren eines Steuerprogramms einer Fahrzeugsteuervorrichtung, welche Zielausrüstung, die in einem Fahrzeug installiert ist, steuert. Das Verfahren beinhaltet die Schritte: Speichern eines Aktualisierungsprogramms für das Steuerprogramm in einem Speicher; Bestimmen einer Prioritätsreihenfolge einer Vielzahl von Aktualisierungsprogrammen, die im Speicher gespeichert sind; Bestimmen von Prioritätsniveaus der Vielzahl von in dem Speicher gespeicherten Aktualisierungsprogrammen; und Herunterladen der Vielzahl von Aktualisierungsprogrammen anhand der bestimmten Prioritätsniveaus in absteigender Reihenfolge der Prioritätsniveaus. Im Schritt des Bestimmens der Prioritätsniveaus werden die Prioritätsniveaus auf Basis einer oder mehrerer Sicherheits-Indizes bestimmt, die mit jeder der Vielzahl in dem Speicher gespeicherten Aktualisierungsprogrammen assoziiert sind.
  • Da die mehreren Aktualisierungsprogramme anhand der Prioritätsniveaus heruntergeladen werden, basierend auf dem einen oder mehreren Sicherheits-Indizes in absteigender Reihenfolge der Prioritätsniveaus wird ein Aktualisierungsprogramm mit einem höheren Prioritätsniveaus basierend auf den Sicherheits-Indizes mit höherer Priorität heruntergeladen. Daher wird ein Steuerprogramm mit einem höheren Prioritätsniveaus prompter aktualisiert. Somit kann die Sicherheit des Fahrzeugs prompt verbessert werden.
  • Ein in der vorliegenden Ausführungsform enthaltenes Computerprogramm ist ein Computerprogramm, um einen Computer zu veranlassen, als eine Steuereinrichtung zu fungieren, die konfiguriert ist, die Aktualisierung eines Steuerprogramms einer Fahrzeugsteuervorrichtung zu steuern, welche in einem Fahrzeug installierte Zielausrüstung steuert. Der Computer beinhaltet einen Speicher, der konfiguriert ist, ein Aktualisierungsprogramm für das Steuerprogramm zu speichern. Das Computerprogramm veranlasst den Computer, zu fungieren als: eine Bestimmungseinheit, die konfiguriert ist, Prioritätsniveaus einer Vielzahl von in dem Speicher gespeicherten Aktualisierungsprogrammen zu bestimmen; und eine Steuereinheit, die konfiguriert ist, die Vielzahl von Aktualisierungsprogrammen anhand der bestimmten Prioritätsniveaus in absteigender Reihenfolge der Prioritätsniveaus herunterzuladen. Die Bestimmungseinheit bestimmt die Prioritätsniveaus auf Basis von einem oder mehreren Sicherheits-Indizes, die mit jeder der Vielzahl von in dem Speicher gespeicherten Aktualisierungsprogrammen assoziiert sind.
  • Da die Vielzahl von Aktualisierungsprogrammen anhand der Prioritätsniveaus heruntergeladen werden, basierend auf den einen oder mehreren Sicherheits-Indizes in absteigender Reihenfolge der Prioritätsniveaus, wird ein Aktualisierungsprogramm mit einem höheren Prioritätsniveau, basierend auf den Sicherheits-Indizes, mit höherer Priorität heruntergeladen. Daher wird ein Steuerprogramm mit einem höheren Prioritätsniveau prompter aktualisiert. Somit kann die Sicherheit des Fahrzeugs prompt verbessert werden.
  • [Detaillierte Beschreibung von Ausführungsformen]
  • Nachfolgend werden bevorzugte Ausführungsformen unter Bezugnahme auf die Zeichnungen beschrieben. In der nachfolgenden Beschreibung beziehen sich dieselben Bezugszeichen auf dieselben Komponenten und Bestandteilelemente. Die Namen und Funktionen derselben sind auch dieselben. Daher ist eine wiederholte Beschreibung derselben nicht notwendig.
  • <Erste Ausführungsform>
  • [Gesamtkonfiguration des Systems]
  • 1 ist ein Diagramm, das eine Gesamtsystemkonfiguration eines Programmaktualisierungssystems gemäß einer ersten Ausführungsform zeigt.
  • Wie in 1 gezeigt, beinhaltet das Programmaktualisierungssystem dieser Ausführungsform Fahrzeuge 1, einen Verwaltungsserver 5 und einen DL-(Download) Server 6, die miteinander über ein Weitbereichs-Kommunikationsnetzwerk 2 kommunizieren können.
  • Der Verwaltungsserver 5 verwaltet Aktualisierungs-Information jedes Fahrzeugs 1. Der DL-Server 6 speichert Aktualisierungsprogramme darin. Der Verwaltungsserver 5 und der DL-Server 6 werden beispielsweise durch den Automobilhersteller der Fahrzeuge 1 betrieben und sind in der Lage, mit großen Anzahlen von Fahrzeugen 1, die von Nutzern besessen werden, die als Mitglieder vorab registriert sind, zu kommunizieren.
  • Jedes Fahrzeug 1 ist mit einem Gateway 10, einer Drahtlos-Kommunikationseinheit 15, einer Vielzahl von ECUs 30 und verschiedenen Fahrzeugvorrichtungen (nicht gezeigt) versehen, welche durch die jeweiligen ECUs 30 gesteuert werden.
  • Eine Vielzahl von Kommunikationsgruppen, die alle durch eine Vielzahl von ECUs 30 gebildet werden, die mit einer gemeinsamen Fahrzeugkommunikationsleitung busverbunden sind, sind in jedem Fahrzeug 1 vorhanden und der Gateway 10 gibt Kommunikation zwischen den Kommunikationsgruppen weiter. Daher sind eine Vielzahl von Fahrzeugkommunikationsleitungen mit dem Gateway 10 verbunden.
  • Die Drahtlos-Kommunikationseinheit 15 ist kommunizierbar mit dem Weitbereichs-Kommunikationsnetzwerk 2, wie etwa einem Mobiltelefonnetzerk, verbunden und ist mit dem Gateway 10 durch eine Fahrzeugkommunikationsleitung verbunden. Der Gateway 10 sendet an die ECUs 30 Information, die durch die Drahtlos-Kommunikationseinheit 15 empfangen werden außer externen Vorrichtungen, wie etwa dem Verwaltungsserver 5 und dem DL-Server 6 durch das Weitbereichs-Kommunikationsnetzwerk 2.
  • Der Gateway 10 sendet aus den ECUs 30 ermittelte Information an die Drahtlos-Kommunikationseinheit 15 und die Drahtlos-Kommunikationseinheit 15 sendet die Information an die externen Vorrichtungen, wie etwa den Verwaltungsserver 5.
  • Als ein Beispiel der in dem Fahrzeug 1 montierten Drahtlos-Kommunikationseinheit 15 ist eine Vorrichtung, die vom Nutzer des Fahrzeugs 1 besessen wird, wie etwa ein Mobiltelefon, ein Smartphone, ein Endgerät vom Tablet-Typ, oder ein Notebook-PC (persönlicher Computer) vorstellbar, neben einem exklusiven Fahrzeugkommunikations-Endgerät.
  • In 1 kommuniziert der Gateway 10 mit den externen Vorrichtungen über die Drahtlos-Kommunikationseinheit 15. Wenn jedoch der Gateway 10 eine Funktion zur Drahtloskommunikation aufweist, kann der Gateway 10 konfiguriert sein, Drahtloskommunikation mit den externen Vorrichtungen wie etwa dem Verwaltungsserver 5 durchzuführen.
  • In dem in 1 gezeigten Programmaktualisierungssystem sind der Verwaltungsserver 5 und der DL-Server 6 als getrennte Server konfiguriert. Jedoch können diese Server 5 und 6 als eine einzelne Servereinheit konfiguriert sein.
  • [Interne Konfiguration von Gateway]
  • 2 ist ein Blockdiagramm, welches die interne Konfiguration des Gateway 10 zeigt. Wie in 2 gezeigt, beinhaltet der Gateway 10 eine CPU 11, ein RAM (Wahlfreizugriffsspeicher) 12, eine Speichereinheit 13, eine Fahrzeugkommunikationseinheit 14 und dergleichen. Obwohl der Gateway 10 mit der Drahtlos-Kommunikationseinheit 15 über die Fahrzeugkommunikationsleitung verbunden ist, können der Gateway 10 und die Drahtlos-Kommunikationseinheit 15 als eine einzelne Einheit konfiguriert sein.
  • Die CPU 11 veranlasst den Gateway 10, als eine Relaisvorrichtung zum Weiterreichen verschiedener Arten von Informationen zu fungieren, durch Auslesen eines der Vielzahl in der Speichereinheit 13 gespeicherten Programme an das RAM 12 und Ausführen der gelesenen Programme.
  • Die CPU 11 kann eine Vielzahl von Programmen durch Umschalten zwischen der Vielzahl von Programmen beispielsweise in einer Zeitteilerweise parallel ausführen. Die CPU 11 kann eine CPU sein, die eine Vielzahl von CPU-Gruppen repräsentiert. In diesem Fall ist eine durch die CPU 11 zu implementierende Funktion eine durch die Vielzahl von CPU-Gruppen in Kooperation miteinander zu implementierende Funktion. Das RAM 12 besteht aus einem Speicherelement wie etwa einem SRAM (statischem RAM) oder einem DRAM (dynamisches RAM) und speichert zeitweilig darin durch die CPU 11 auszuführende Programme, beim Ausführen der Programme erforderliche Daten und dergleichen.
  • Ein durch die CPU 11 zu implementierendes Computerprogramm kann in einem Zustand, in dem es auf einem bekannten Aufzeichnungsmedium wie etwa einer CD-ROM oder einer DVD-ROM aufgezeichnet ist, transferiert werden oder kann durch Datensendung aus einer Computervorrichtung wie etwa einem Server Computer-transferiert ? werden.
  • In diesem Aspekt gilt dasselbe für ein Computerprogramm, das durch eine CPU 31 der ECU 30 (siehe 3, die später beschrieben wird), auszuführen ist, und ein Computerprogramm, das durch eine CPU 51 des Verwaltungsservers 5 (siehe 4), der später zu beschreiben ist, auszuführen ist.
  • In der nachfolgenden Beschreibung wird Transfer (Sendung) eines Programms aus einer Wirtsvorrichtung zu einer Klienten-Vorrichtung auch als „Herunterladen/Downloaden“ bezeichnet.
  • Die Speichereinheit 13 besteht beispielsweise aus einem nicht-flüchtigen Speicherelement, wie etwa einem Flash-Speicher oder einem EEPROM (elektrisch löschbarer, programmierbarer Nurlesespeicher). Die Speichereinheit 13 speichert darin durch die CPU 11 auszuführende Programme, beim Ausführen der Programme erforderliche Daten und dergleichen, und speichert darin auch Aktualisierungsprogramme der jeweiligen ECUs 30, die aus dem DL-Server 6 empfangen werden.
  • Die Vielzahl von ECUs 30 sind mit der Fahrzeugkommunikationseinheit 14 über die in dem Fahrzeug 1 angeordneten Fahrzeugkommunikationsleitungen verbunden. Die Fahrzeugkommunikationseinheit 14 kommuniziert mit den ECUs 30 in Übereinstimmung mit beispielsweise einem Standard wie etwa CAN (Controller Area Network), CANFD (CAN mit flexibler Datenrate), LIN (Local Interconnect Netzwerk), Ethernet (registrierte Marke), oder MOST (Medien-orientierter Systemtransport: Most ist eine registrierte Marke).
  • Die Fahrzeugkommunikationseinheit 14 sendet Information, die aus der CPU 11 den Ziel-ECUs 30 bereitgestellt werden, und stellt Information, die aus den ECUs 30 empfangen werden, der CPU 11 bereit. Die Fahrzeugkommunikationseinheit 14 kann mit den ECUs 30 in Übereinstimmung mit anderen Kommunikations-Standards kommunizieren, die für ein Fahrzeugnetzwerk verwendet werden, neben den obigen Kommunikations-Standards.
  • Die Drahtlos-Kommunikationseinheit 15 besteht aus einer Drahtlos-Kommunikationseinrichtung, die eine Antenne und eine Kommunikationsschaltung enthält, welche Senden/Empfangen von Funksignalen über die Antenne ausführt. Die Drahtlos-Kommunikationseinheit 15 ist in der Lage, mit den externen Vorrichtungen bei Verbindung mit dem Weitbereichs-Kommunikationsnetzwerk 2, wie etwa einem Mobiltelefonnetzwerk, zu kommunizieren.
  • Die Drahtlos-Kommunikationseinheit 15 sendet aus der CPU 11 bereitgestellte Information an die externe Vorrichtung, wie etwa den Verwaltungsserver 5, über das Weitbereichs-Kommunikationsnetzwerk 2, das durch eine Basisstation (nicht gezeigt) gebildet ist, und stellt Information, die aus den externen Vorrichtungen empfangen werden, der CPU 11 bereit.
  • Statt der in 2 gezeigten Drahtlos-Kommunikationseinheit 15 kann eine verdrahtete Kommunikationseinheit, die als eine Relaisvorrichtung im Wirtsfahrzeug 1 dient, verwendet werden. Die verdrahtete Kommunikationseinheit weist einen Verbinder auf, mit welchem ein Kommunikationskabel verbunden ist, welches einem Standard wie etwa USB (Universal Serial Bus) oder RS232C entspricht, und führt verdrahtete Kommunikation mit einer andereren, damit über das Kommunikationskabel verbundenen Kommunikationsvorrichtung aus.
  • Wenn die andere Kommunikationsvorrichtung und eine externe Vorrichtung, wie etwa der Verwaltungsserver 5, in der Lage sind, Drahtloskommunikation über das Weitbereichs-Kommunikationsnetzwerk 2 durchzuführen, wird die externe Vorrichtung mit dem Gateway 10 über einen die externe Vorrichtung, die andere Kommunikationsvorrichtung, die verdrahtete Kommunikationsvorrichtung und den Gateway 10 beinhaltenden Kommunikationspfad kommunizierbar.
  • [Interne Konfiguration von ECU]
  • 3 ist ein Blockdiagramm, welches eine interne Konfiguration jeder ECU 30 zeigt. Wie in 3 gezeigt, beinhaltet die ECU 30 eine CPU 31, ein RAM 32, eine Speichereinheit 33, eine Kommunikationsleitung 34 und dergleichen. Die ECUs 30 sind Fahrzeugsteuervorrichtungen, die individuell in dem Fahrzeug 1 installierte Zielausrüstung steuern. Beispiele dieser Typen der ECUs 30 beinhalten eine Stromversorgungssteuer-ECU, eine Motorsteuer-ECU, eine Lenksteuer-ECU und eine Türverriegelungssteuer-ECU.
  • Die CPU 31 steuert den Betrieb der Zielausrüstung, für die die CPU 31 verantwortlich ist, durch Auslesen einer Vielzahl von zuvor in der Speichereinheit 33 gespeicherten Programmen an das RAM 32 und Ausführen der gelesenen Programme. Die CPU 31 kann auch eine CPU sein, welche eine Vielzahl von CPU-Gruppen repräsentiert und durch die CPU 31 durchzuführende Steuerung kann eine durch die Vielzahl von CPU-Gruppen in Kooperation miteinander durchzuführende Steuerung sein.
  • Das RAM 32 besteht aus einem Speicherelement wie etwa einem SRAM oder einem DRAM und speichert zeitweilig darin durch die CPU 31 auszuführende Programme, bei Ausführung der Programme benötigte Daten und dergleichen.
  • Die Speichereinheit 33 besteht beispielsweise aus einem nicht-flüchtigen Speicherelement, wie etwa einem Flash-Speicher oder einem EEPROM, oder einer Magnetspeichervorrichtung wie etwa einer Festplatte.
  • Die Speichereinheit 33 speichert darin die durch die CPU 31 einzulesenden und auszuführenden Programme. Die in der Speichereinheit 33 gespeicherte Information beinhaltet beispielsweise ein Computerprogramm (nachfolgend als „Steuerprogramm“ bezeichnet), welches die CPU 31 veranlasst, Informationsverarbeitung zum Steuern von Zielausrüstung, die ein Fahrzeugsteuerziel ist, auszuführen.
  • Der Gateway 10 ist mit der Kommunikationseinheit 34 über die im Fahrzeug 1 angeordnete Fahrzeugkommunikationsleitung verbunden. Die Kommunikationseinheit 34 kommuniziert mit dem Gateway 10 beispielsweise entsprechend einem Standard wie etwa CAN, Ethernet oder MOST.
  • Die Kommunikationseinheit 34 sendet aus der CPU 31 bereitgestellte Information an den Gateway 10 und stellt aus dem Gateway 10 empfangene Information der CPU 31 bereit. Die Kommunikationseinheit 34 kann mit dem Gateway 10 entsprechend anderen Kommunikations-Standards kommunizieren, die für das Fahrzeugnetzwerk verwendet werden, neben den obigen Kommunikations-Standards.
  • Die CPU 31 der ECU 30 beinhaltet eine Starteinheit 35, welche den Modus der Steuerung, welche durch die CPU 31 durchgeführt wird, zwischen einem „normalen Modus“ und einem „Reprogrammiermodus“ umschaltet (nachfolgend auch als „Repro-Modus“ bezeichnet).
  • Der Normalmodus ist ein Steuermodus, in welchem die CPU 31 der ECU 30 die ursprüngliche Steuerung für die Zielausrüstung ausführt (zum Beispiel Motorsteuerung für einen Kraftstoffmotor, Türverriegelungs-Steuerung für einen Türverriegelungsmotor, etc.).
  • Der Reprogrammiermodus ist ein Steuermodus zum Aktualisieren des Steuerprogramms, das für die Steuerung der Zielausrüstung verwendet wird.
  • Das heißt, dass der Reprogrammiermodus ein Steuermodus ist, in welchem die CPU 31 Löschen und Überschreiben des Steuerprogramms aus/in einen ROM-Bereich in der Speichereinheit 33 durchführt. Nur wenn die CPU 31 in diesem Steuermodus ist, ist der CPU 31 gestattet, das in dem ROM-Bereich der Speichereinheit 33 gespeicherte Steuerprogramm auf eine neue Version des Steuerprogramms zu aktualisieren.
  • Wenn die CPU 31 im Repro-Modus die neue Version des Steuerprogramms in die Speichereinheit 33 schreibt, startet die Starteinheit 35 zeitweilig die ECU 30 (setzt sie rück) und führt einen Verifizierungsprozess in einem Speicherbereich aus, wo die neue Version des Steuerprogramms geschrieben worden ist.
  • Nach Abschluss des Verifizierungsprozesses veranlasst die Starteinheit 35 die CPU 31, mit dem aktualisierten Steuerprogramm zu arbeiten.
  • [Interne Struktur von DL-Server]
  • 4 ist ein Blockdiagramm, welches die interne Struktur des DL-Servers 6 zeigt.
  • Wie in 4 gezeigt, beinhaltet der DL-Server 6 eine CPU 61, ein ROM 62, ein RAM 63, eine Speichereinheit 64, eine Kommunikationseinheit 65 und dergleichen.
  • Durch Auslesen eines oder einer Vielzahl von Programmen, die zuvor im ROM 62 gespeichert sind, in das RAM 63 und Ausführung der gelesenen Programme steuert die CPU 61 den Betrieb jeder Hardware-Komponente und veranlasst den DL-Server 6, als eine externe Vorrichtung zu fungieren, die in der Lage ist, mit dem Gateway 10 zu kommunizieren. Die CPU 61 kann auch eine CPU, die eine Vielzahl von CPU-Gruppen repräsentiert, oder eine Funktion, welche durch die CPU 61 zu implementieren ist, wenn eine durch die Vielzahl von CPU-Gruppen in Kooperation miteinander zu implementierende Funktion sein.
  • Das RAM 63 besteht aus einem Speicherelement, wie einem SRAM oder einem DRAM und speichert zeitweilig darin durch die CPU 51 auszuführende Programme, beim Ausführen der Programme erforderliche Daten und dergleichen.
  • Die Speichereinheit 64 besteht beispielsweise aus einem nicht-flüchtigen Speicherelement, wie etwa einem Flash-Speicher oder einem EEPROM oder einer Magnetspeichervorrichtung, wie etwa einer Festplatte. Die Speichereinheit 64 speichert darin Aktualisierungsprogramme, die herunterzuladen sind.
  • Die Kommunikationseinheit 65 besteht aus einer Kommunikationsvorrichtung, die einen Kommunikationsprozess in Übereinstimmung mit einem vorbestimmten Kommunikationsstandard ausführt. Die Kommunikationseinheit 65 führt den Kommunikationsprozess aus, während sie mit dem Weitbereichs-Kommunikationsnetzwerk 2 verbunden ist, wie etwa einem Mobiltelefon-Netzwerk. Die Kommunikationseinheit 65 sendet aus der CPU 51 bereitgestellte Information über das Weitbereichs-Kommunikationsnetzwerk 2 an externe Vorrichtungen und stellt über das Weitbereichs-Kommunikationsnetzwerk 2 empfangene Information der CPU 61 bereit.
  • [Steuerprogramm-Aktualisierungssequenz]
  • 5 ist ein Sequenzdiagramm, das ein Beispiel der Aktualisierung eines Steuerprogramms zeigt, welches in dem Programmaktualisierungssystem der vorliegenden Ausführungsform ausgeführt wird. Eine oder eine Vielzahl von Aktualisierungsprogrammen sind im DL-Server 6 gespeichert. Als ein Beispiel bestimmt der Verwaltungsserver 5 einen Zeitpunkt zum Aktualisieren eines Steuerprogramms einer ECU eines Fahrzeugs 1, das vorab registriert worden ist. Dieses Aktualisierungs-Timing kann beispielsweise durch den Automobilhersteller des Fahrzeugs 1 eingestellt werden.
  • Wenn das Timing zum Aktualisieren des Steuerprogramms der ECU eingetreten ist, sendet der Verwaltungsserver 5 eine Download-Anfrage und eine Speicherziel-URL des Aktualisierungsprogramms der ECU 30 an den Gateway 10 des entsprechenden Fahrzeugs 1 (Schritt S1). Beim Empfangen einer Aktivierungsanfrage aus dem Verwaltungsserver 5 fordert der Gateway 10 den DL-Server 6 auf, das Aktualisierungsprogramm herunterzuladen (Schritt S2).
  • In einem Fall, in dem eine Vielzahl von Aktualisierungsprogrammen, die herunterzuladen sind, in der Speichereinheit 64 gespeichert sind, bestimmt der DL-Server 6, der die Download-Anfrage aus dem Gateway 10 empfangen hat, eine Download-Reihenfolge (DL-Reihenfolge), in der die Vielzahl von Aktualisierungsprogrammen herunterzuladen sind (Schritt S3). Im Schritt S3 bestimmt der DL-Server 6 Prioritätsniveaus der entsprechenden Aktualisierungsprogramme auf Basis eines Index, der sich auf Sicherheit bezieht (nachfolgend als „Sicherheitsindex“ bezeichnet) und lädt die Vielzahl von Aktualisierungsprogrammen in der DL-Reihenfolge basierend auf den Prioritätsniveaus der entsprechenden Aktualisierungsprogramme herunter. Der DL-Reihenfolgen-Bestimmungsprozess in Schritt S3 wird später im Detail beschrieben.
  • Der DL-Server 6 sendet eine Vielzahl von Aktualisierungsprogrammen Δ1 bis Δ3 an den Gateway 10 gemäß der bestimmten DL-Reihenfolge und fordert die Aktualisierung der entsprechenden Steuerprogramme an (Schritte S4-1 bis S4-3) .
  • Nach Herunterladen der Aktualisierungsprogramme Δ1 bis Δ3 transferiert der Gateway 10 die Aktualisierungsprogramme Δ1 bis Δ3 an die ECUs 30 anhand der Herunterlad-Reihenfolge und fordert die Aktualisierung der Steuerprogramme an. Der Gateway 10 kann die Aktualisierung der Steuerprogramme an die Ziel-ECUs 30 beim Empfangen der Erlaubnis zum Aktualisieren der Steuerprogramme vom Anwender anfragen.
  • Spezifisch, nach Herunterladen des Aktualisierungsprogramms Δ1 aus dem DL-Server 6 (Schritt S4-1), transferiert der Gateway 10 das Aktualisierungsprogramm Δ1 an die Ziel-ECU 30 und fordert Aktualisierung des Steuerprogramms an (Schritt S7). Die Ziel-ECU 30, die das Aktualisierungsprogramm Δ1 heruntergeladen hat, expandiert das Aktualisierungsprogramm Δ1 anhand der Anfrage aus dem Gateway 10 und aktualisiert das Steuerprogramm (Schritt S8). Beim Abschließen der Aktualisierung teilt die Ziel-ECU 30 dem DL-Server 6 den Abschluss der Aktualisierung über den Gateway 10 mit (Schritt S9, S10).
  • Als Nächstes, nach Herunterladen des Aktualisierungsprogramms Δ2 aus dem DL-Server 6 (Schritt S4-2), überträgt der Gateway 10 das Aktualisierungsprogramm Δ2 an die Ziel-ECU 30 und fordert die Aktualisierung des Steuerprogramms an (Schritt S11). Die Ziel-ECU 30, die das Aktualisierungsprogramm Δ2 heruntergeladen hat, expandiert das Aktualisierungsprogramm Δ2 anhand der Anfrage aus dem Gateway 10 und aktualisiert das Steuerprogramm (Schritt S12). Bei Abschluss der Aktualisierung teilt die Ziel-ECU 30 dem Gateway 10 den Abschluss der Aktualisierung mit (Schritte S13, S14).
  • Als Nächstes, nach Herunterladen des Aktualisierungsprogramms Δ3 aus dem DL-Server 6 (Schritt S4-3), transferiert der Gateway 10 das Aktualisierungsprogramm Δ3 an die Ziel-ECU 30 und fordert Aktualisierung des Steuerprogramms an (Schritt S15). Die Ziel-ECU 30, welche das Aktualisierungsprogramm Δ3 heruntergeladen hat, expandiert das Aktualisierungsprogramm Δ3 anhand der Anfrage aus dem Gateway 10 und aktualisiert das Steuerprogramm (Schritt S16). Nach Abschluss der Aktualisierung teilt die Ziel-ECU 30 dem Gateway 10 den Abschluss der Aktualisierung mit (Schritte S17, S18).
  • [Funktionskonfiguration von DL-Server]
  • Die CPU 61 des DL-Servers 6 beinhaltet Funktionen, welche durch eine Bestimmungseinheit 611 und eine Steuereinheit 612 in 6 repräsentiert sind, als Funktionen zum Bestimmen der DL-Reihenfolge (Schritt S3) und Steuern des Herunterladens. Diese Funktionen werden durch die CPU 61 implementiert, wenn die CPU 61 eines oder einer Vielzahl von Programmen, die im ROM 62 gespeichert sind, ausliest und die gelesenen Programme ausführt. Jedoch kann zumindest ein Teil der Funktionen durch Hardware wie etwa eine Elektronikschaltung implementiert werden.
  • Wenn es eine Vielzahl von herunterzuladenden Aktualisierungsprogrammen gibt, bestimmt die durch die Bestimmungseinheit 611 (nachfolgend wird diese Funktion als „Bestimmungseinheit 611“ bezeichnet) repräsentierte Funktion der CPU 61 die Prioritätsniveaus zum Herunterladen der Vielzahl von Aktualisierungsprogrammen.
  • Jedes Aktualisierungsprogramm ist mit einem Sicherheitsindex assoziiert. Dieser Index wird zum DL-Server 6 übertragen, während er zum Aktualisierungsprogramm hinzugefügt oder damit assoziiert wird.
  • Beispiele der Sicherheit eines Fahrzeugs beinhalten: Funktionssicherheit einer Fahrfunktion, eine Lenkfunktion für die Sicherheit der Karosserie und des lebenden Nutzers des Fahrzeugs und Sicherheit einer Person oder eines Objekts außerhalb des Fahrzeugs; und Sicherheit (Security), welche für eine Fahrzeugkarosserie als eine Eigenschaft sicherstellt und mit einem Netzwerk verbundene Kommunikationsausrüstung. ?
  • Hinsichtlich eines Standards für Funktionssicherheit ist beispielsweise ISO 26262, die durch die ISO (International Organization for Standardization) definiert ist, bekannt gewesen. Die ISO 26262 definiert ASIL (Automotive Safety Integrity Level) als einen Index von Funktionssicherheit und weist Niveaus von QM (Qualitäts-Management) A, B, C und D Integritätsanforderungen zu. Eine Funktion, die „D“ zugewiesen ist, muss eine Höchstniveau-Sicherheitsmaßnahme ergreifen. Eine Funktion, der „A“ zugewiesen ist, muss eine Niedrigst-Niveau-Sicherheitsmaßnahme ergreifen. Eine Funktion, der „QM“ zugewiesen ist, ist für die Sicherheit nicht relevant. In der vorliegenden Ausführungsform wird für die jeweiligen Aktualisierungsprogramme ASIL als ein Index der Funktionssicherheit der Funktionen verwendet, welche die Zielprogramme entsprechend den Aktualisierungsprogrammen verwenden.
  • Jedes Aktualisierungsprogramm ist mit zumindest einem Sicherheitsindex assoziiert. Vorzugsweise ist jedes Aktualisierungsprogramm mit zwei Sicherheits-Indizes assoziiert. In der vorliegenden Ausführungsform ist jedes Aktualisierungsprogramm mit einem ASIL und einem Sicherheitsniveau assoziiert.
  • Für jedes der Vielzahl von Aktualisierungsprogrammen spezifiziert die Bestimmungseinheit 611 die mit dem Aktualisierungsprogramm assoziierten Sicherheits-Indizes. Dann, basierend auf den assoziierten Sicherheits-Indizes, spezifiziert die Bestimmungseinheit 611 einen Wert, der einen das Prioritätsniveau (nachfolgend als „Prioritätsniveau-Werte“ bezeichnet) angebenden Wert jedes Aktualisierungsprogramms.
  • Die Bestimmungseinheit 611 speichert darin Korrespondenzbeziehung zwischen einem oder mehreren Sicherheits-Indizes und Prioritätsniveau-Werten vorab. Als ein Beispiel der Korrespondenzbeziehung speichert die Bestimmungseinheit 611 darin einen Relationsgraphen, welcher die Prioritätsniveau-Werte in Bezug auf die Kombination der Sicherheits-Indizes, die in 6 gezeigt sind, angibt. Die Bestimmungseinheit 611 wendet die mit jedem Aktualisierungsprogramm assoziierten Sicherheits-Indizes auf den in 6 gezeigten Relationsgraphen an, wodurch der Prioritätsniveau-Wert des Aktualisierungsprogramms spezifiziert wird. Das heißt, dass die Bestimmungseinheit 611 den Prioritätsniveau-Wert des Aktualisierungsprogramms auf Basis der Kombination von zwei oder mehr Sicherheits-Indizes spezifiziert.
  • Der in 6 gezeigte Relationsgraph weist eine das ASIL repräsentierende vertikale Achse und eine das SicherheitsNiveau repräsentierende horizontale Achse auf. Das ASIL und die Sicherheitsniveaus steigen in aufsteigender Reihenfolge anhand der Skalen auf den Achsen. Der in 6 gezeigte Relationsgraph ist ein Beispiel eines Relationsgraphen, in welchem das Prioritätsniveau hoch ist, wenn zumindest eines vom ASIL und vom Sicherheitsniveau hoch ist, während das Prioritätsniveau niedrig ist, wenn beide Niveaus niedrig sind, und in welchen der Prioritätsniveau-Wert spezifiziert wird, wobei das ASIL erwogen wird, etwas wichtiger zu sein als das Sicherheitsniveau. Die in 6 gezeigte Relation ist ein Beispiel des Relationsgraphen. Die durch die Bestimmungseinheit 611 verwendete Korrespondenzbeziehung zum Spezifizieren der Prioritätsniveau-Werte ist nicht auf den in 6 gezeigten Relationsgraphen beschränkt. Statt des Relationsgraphen kann eine Funktion oder ein relationaler Ausdruck zum Berechnen von Prioritätsniveau-Werten mit den Sicherheits-Indizes als Variablen und eine Tabelle, welche in Korrespondenz zwischen den Sicherheits-Indizes und den Prioritätsniveau-Werten repräsentiert, verwendet werden. Die Korrespondenzbeziehung selbst, die in dem DL-Server 6 gespeichert ist, kann ein unter Verwendung eines aus einem Bereitsteller von Aktualisierungsprogrammen, wie etwa einem Automobilhersteller bereitgestellten Aktualisierungsprogramms zu aktualisierendes Ziel sein. Mit anderen Worten können ein Algorithmus zum Bestimmen der Prioritätsniveaus in der Bestimmungseinheit 611 und ein im Algorithmus verwendeter Parameter tauschbar sein. Der DL-Server 6 empfängt ein Programm oder einen Parameter für diese Änderung von dem Bereitsteller von Aktualisierungsprogrammen, wie etwa dem Automobilhersteller oder aus einer anderen Einrichtung und ändert den Algorithmus oder den Parameter. Somit können die Prioritätsniveaus flexibel zusammen mit einer Änderung bei der Evaluierung von Sicherheit, einem Anstieg bei der Leistung etc. geändert werden.
  • Statt der Sicherheits-Indizes kann jedes Aktualisierungsprogramm mit einem Prioritätsniveau-Wert assoziiert sein, der basierend auf den Sicherheits-Indizes spezifiziert wird. Mit anderen Worten kann jedes Aktualisierungsprogramm mit einem Prioritätsniveau-Wert statt ein oder mehreren Sicherheits-Indizes assoziiert sein. In diesem Fall kann der Prioritätsniveau-Wert im DL-Server 6 gespeichert werden, während er zum Aktualisierungsprogramm hinzugefügt wird, oder mit dem Aktualisierungsprogramm assoziiert wird.
  • Die Bestimmungseinheit 611 bestimmt die Prioritätsniveaus der Vielzahl von Aktualisierungsprogrammen, das heißt, der DL-Reihenfolge, basierend auf den für die jeweiligen Aktualisierungsprogramme spezifizierten Prioritätsniveau-Werten. Als ein Beispiel wird angenommen, dass, je kleiner der Prioritätsniveau-Wert ist, desto höher das Prioritätsniveau ist, und desto früher das Aktualisierungsprogramm heruntergeladen wird. Daher, wenn es keine Aktualisierungsprogramme mit demselben Prioritätsniveau-Wert aus der Vielzahl von Aktualisierungsprogrammen gibt, verwendet die Bestimmungseinheit 611 den Prioritätsniveau-Wert der entsprechenden Aktualisierungsprogramme, so wie sie sind. Wenn es Aktualisierungsprogramme mit demselben hohen Prioritätsniveau-Wert gibt, kann die Bestimmungseinheit 611 weiter die Prioritätsniveaus dieser Aktualisierungsprogramme durch Anwenden eines vorgegebenen Kriteriums auf die Aktualisierungsprogramme bestimmen. Beispiele des Kriteriums beinhalten: Datum und Zeit, wann jedes Aktualisierungsprogramm erzeugt wurde; die Reihenfolge, in der jedes Aktualisierungsprogramm von dem Bereitsteller von Aktualisierungsprogrammen, wie etwa dem Automobilhersteller, bereitgestellt wurde; und die Datengröße. Alternativ kann die Bestimmungseinheit 611 diese Aktualisierungsprogramme veranlassen, auf demselben Prioritätsniveau wie per DL-Reihenfolge zu verbleiben.
  • 7 ist ein Diagramm zum Beschreiben eines Verfahrens des Bestimmens von Prioritätsniveaus für das Herunterladen in der Bestimmungseinheit 611 der DL-Server 6. Im Beispiel von 7 sind Aktualisierungsprogramme Δ1 bis Δ4 eine Vielzahl von Aktualisierungsprogrammen, deren Prioritätsniveaus zu bestimmen sind. Das Aktualisierungsprogramm Δ1 ist beispielsweise ein Aktualisierungsprogramm zum Aktualisieren einer Lenksteuerfunktion. Das Aktualisierungsprogramm Δ2 ist beispielsweise ein Aktualisierungsprogramm zum Aktualisieren einer Navigationsfunktion. Das Aktualisierungsprogramm Δ3 ist beispielsweise ein Aktualisierungsprogramm zum Aktualisieren einer Sicherheitsfunktion. Das Aktualisierungsprogramm Δ4 ist beispielsweise ein Aktualisierungsprogramm zum Aktualisieren einer Karte.
  • Unter Bezugnahme auf 7 werden eine ASIL „C“ und ein Sicherheitsniveau „A“ für das Aktualisierungsprogramm Δ1 eingestellt. Es werden ein ASIL „QM“ und ein Sicherheitsniveau „QM“ für das Aktualisierungsprogramm Δ2 eingestellt. Es werden ein ASIL „QM“ und ein Sicherheitsniveau „C“ für das Aktualisierungsprogramm Δ3 eingestellt. Es werden ein ASIL „QM“ und ein Sicherheitsniveau „QM“ für das Aktualisierungsprogramm Δ4 eingestellt.
  • Unter Bezugnahme auf den in 6 gezeigten Relationsgraphen spezifiziert die Bestimmungseinheit 611 den Prioritätsniveau-Wert des Aktualisierungsprogramms Δ1 mit dem ASIL „C“ und dem Sicherheitsniveau „A“ als „1“. Die Bestimmungseinheit 611 spezifiziert den Prioritätsniveau-Wert des Aktualisierungsprogramms Δ2 mit dem ASIL „QM“ und dem Sicherheitsniveau „QM“ als „4“. Die Bestimmungseinheit 611 spezifiziert den Prioritätsniveau-Wert des Aktualisierungsprogramms Δ3 mit dem ASIL „QM“ und dem Sicherheitsniveau „C“ als „2“. Die Bestimmungseinheit 611 spezifiziert den Prioritätsniveau-Wert des Aktualisierungsprogramms Δ4 mit dem ASIL „QM“ und dem Sicherheitsniveau „QM“ als „4“.
  • Als ein Beispiel bestimmt die Bestimmungseinheit 611 die Prioritätsniveaus der entsprechenden Aktualisierungsprogramme so, dass, je kleiner der Prioritätsniveau-Wert eines Aktualisierungsprogramms ist, desto höher das Prioritätsniveau des Aktualisierungsprogramms ist, mit anderen Worten, desto früher das Aktualisierungsprogramm heruntergeladen wird. Spezifisch bestimmt für das Aktualisierungsprogramm Δ1, dessen Prioritätsniveau-Wert „1“ ist, und das Aktualisierungsprogramm Δ3, dessen Prioritätsniveau-Wert „2“ ist, die Bestimmungseinheit 611, dass das Prioritätsniveau des Aktualisierungsprogramms Δ1 „1“ ist, was das höchste Niveau angibt, und das Prioritätsniveau des Aktualisierungsprogramms Δ3 „2“ ist, was das zweithöchste Niveau angibt, auf Basis der Prioritätsniveau-Werte derselben, weil diese Prioritätsniveau-Werte nicht mit den Prioritätsniveau-Werten anderer Aktualisierungsprogramme überlappen. Hinsichtlich des Aktualisierungsprogramms Δ2 und des Aktualisierungsprogramms Δ4, die spezifiziert sind, denselben Prioritätsniveau-Wert „4“ aufzuweisen, bestimmt die Bestimmungseinheit 611 die Prioritätsniveaus in chronologischer Reihenfolge von Datum und Zeit, wenn beispielsweise die Aktualisierungsprogramme erzeugt wurden. Das heißt, in einem Fall bei dem das Aktualisierungsprogramm Δ4 früher als das Aktualisierungsprogramm Δ2 erzeugt wurde, bestimmt die Bestimmungseinheit 611, dass das Prioritätsniveau des Aktualisierungsprogramms Δ4 „3“ ist, was das höhere Niveau angibt, und das Prioritätsniveaus des Aktualisierungsprogramms Δ2 „4“ ist, was das niedrigere Niveau angibt.
  • Die Funktion der CPU 61, welche durch die Steuereinheit 612 (nachfolgend wird diese Funktion als „Steuereinheit 612“ bezeichnet) repräsentiert wird, führt Steuerung zum Herunterladen der Aktualisierungsprogramme durch, in der Reihenfolge ab dem, welches das höchste Prioritätsniveau aufweist, welches die DL-Reihenfolge gemäß der Prioritätslevel ist, welche durch die Bestimmungseinheit 611 bestimmt werden.
  • [Zeitplan-Bestimmungsprozess]
  • 8 ist ein Flussdiagramm, welches einen spezifischen Inhalt der Verarbeitung zeigt, die durch den DL-Server 6 durchgeführt wird, um die Abfolge, die in 5 gezeigt ist, zu realisieren. Die in dem Flussdiagramm von 8 gezeigte Verarbeitung wird hauptsächlich durch die CPU 61 des DL-Servers 6 implementiert, wenn die CPU 61 eines oder eine Vielzahl von Programmen, die im ROM 63 gespeichert sind, in das RAM 62 ausliest und die gelesenen Programme ausführt. Die in 8 gezeigte Verarbeitung wird gestartet, wenn der Gateway 10 das Herunterladen eines Aktualisierungsprogramms verlangt (Schritt S2).
  • Unter Bezugnahme auf 8, in einem Fall, bei dem eine Vielzahl von Aktualisierungsprogrammen, die herunterzuladen sind, in der Speichereinheit 64 gespeichert werden (JA in Schritt S101), bestimmt die CPU 61 des DL-Servers 60 ? eine DL-Reihenfolge auf Basis einer oder mehrerer Sicherheits-Indizes, die für jedes der Vielzahl von Aktualisierungsprogrammen eingestellt sind (Schritt S103).
  • Die CPU 61 lädt auf den Gateway 10 das Aktualisierungsprogramm mit der höchsten Priorität in der bestimmten DL-Reihenfolge herunter, das heißt das höchste Prioritätsniveau aufweisend, und fordert eine Aktualisierung an (Schritt S105). Bei Mitteilung des Abschlusses der Aktualisierung des Steuerprogramms aus der entsprechenden Ziel-ECU 30 (Schritt S107) überprüft die CPU 61, ob es ein nächstes herunterzuladendes Aktualisierungsprogramm gibt oder nicht. Wenn es ein nächstes herunterzuladendes Aktualisierungsprogramm gibt (JA in Schritt S111), wiederholt die CPU 61 die Verarbeitung ab Schritt S105. Somit werden die Vielzahl von Aktualisierungsprogrammen auf den Gateway 10 anhand der DL-Reihenfolge heruntergeladen, die im Schritt S103 bestimmt wird, und werden die Steuerprogramme in der entsprechenden Ziel-ECU 30 aktualisiert.
  • Wenn das Herunterladen des Aktualisierungsprogramms mit der niedrigsten Priorität in der DL-Reihenfolge und die Aktualisierung des entsprechenden Steuerprogramms abgeschlossen worden sind (NEIN in Schritt S111), beendet die CPU 61 die Reihe von Prozessschritten.
  • [Effekt der ersten Ausführungsform]
  • Im Programmaktualisierungssystem gemäß der ersten Ausführungsform, wenn es eine Vielzahl von Aktualisierungsprogrammen, die herunterzuladen sind, gibt, wird eine Herunterlad-Reihenfolge basierend auf ein oder mehreren Sicherheits-Indizes, die für jedes Aktualisierungsprogramm eingestellt sind, bestimmt, und werden die Aktualisierungsprogramme anhand der Herunterlad-Reihenfolge heruntergeladen, wodurch Steuerprogramme aktualisiert werden. Daher wird ein Steuerprogramm mit einem höheren Dringlichkeits-Niveau mit höherer Priorität aktualisiert. Das heißt, dass die Aktualisierung eines Steuerprogramms mit einem höheren Prioritätsniveau nicht durch ein Aktualisierungsprogramm mit einem niedrigeren Prioritätsniveau behindert wird und die Aktualisierung des Steuerprogramms mit dem höheren Prioritätsniveau prompt durchgeführt werden kann. Somit kann die Sicherheit des Fahrzeugs prompt verbessert werden.
  • <Modifikationen>
  • Im obigen Beispiel führt der DL-Server 6 das Herunterladen der Aktualisierungsprogramme anhand der bestimmten DL-Reihenfolge durch und fordert die Aktualisierung der Steuerprogramme an. Jedoch kann der DL-Server 6 nur das Herunterladen der Aktualisierungsprogramme durchführen.
  • Dasselbe gilt für die nachfolgenden Ausführungsformen. Somit wird ein Aktualisierungsprogramm mit einem höheren Prioritätsniveau mit höherer Priorität heruntergeladen. Das heißt, das Herunterladen des Aktualisierungsprogramms mit einem höheren Prioritätsniveau wird nicht durch ein Aktualisierungsprogramm mit einem niedrigeren Prioritätsniveaus behindert und das Herunterladen des Aktualisierungsprogramms mit dem höheren Prioritätsniveau kann prompt durchgeführt werden. Somit, je früher ein Aktualisierungsprogramm heruntergeladen wird, desto früher kann das entsprechende Steuerprogramm in der Ziel-ECU aktualisiert werden. Das heißt, dass das Steuerprogramm mit einem höheren Prioritätsniveau prompter aktualisiert werden kann. Daher kann die Sicherheit des Fahrzeugs prompt verbessert werden.
  • <Zweite Ausführungsform>
  • Im Programmaktualisierungssystem gemäß einer zweiten Ausführungsform, in einem Fall, bei dem ein Aktualisierungsprogramm durch einen Bereitsteller von Aktualisierungsprogrammen, wie etwa einen Automobilhersteller, hinzugefügt wird, während eine Vielzahl von Aktualisierungsprogrammen auf den Gateway 10 anhand einer bestimmten DL-Reihenfolge heruntergeladen werden, bestimmt der DL-Server 6 eine Herunterlad-Reihenfolge, welche das zur Vielzahl von Aktualisierungsprogrammen hinzugefügtes Aktualisierungsprogramm beinhaltet.
  • 9 ist ein Flussdiagramm, das einen spezifischen Inhalt der Verarbeitung, welche durch den DL-Server 6 gemäß der zweiten Ausführungsform durchgeführt wird, zeigt. Die im Flussdiagramm von 9 gezeigte Verarbeitung wird auch hauptsächlich durch die CPU 61 des DL-Servers 6 implementiert, wenn die CPU 61 eines oder eine Vielzahl von in dem ROM 63 gespeicherte Programme ins RAM 62 ausliest und die gelesenen Programme ausführt. Die in 9 gezeigte Verarbeitung wird parallel mit dem Prozess des Herunterladens der Aktualisierungsprogramme, die im DL-Server 6 ausgeführt werden, ausgeführt.
  • Unter Bezugnahme auf 9, wenn ein herunterzuladendes Aktualisierungsprogramm hinzugefügt wird, während ein Aktualisierungsprogramm heruntergeladen wird (JA in Schritt S201), spezifiziert die CPU 61 ein Prioritätsniveau, das auf einem oder mehreren Sicherheits-Indizes basiert, welche für das hinzugefügte Aktualisierungsprogramm eingestellt sind (Schritt S205). Dann vergleicht die CPU 61 das Prioritätsniveau des hinzugefügten Aktualisierungsprogramms mit dem Prioritätsniveau des heruntergeladen werdenden Aktualisierungsprogramms.
  • Wenn das Prioritätsniveau des hinzugefügten Aktualisierungsprogramms höher als das Prioritätsniveau des heruntergeladen werdenden Aktualisierungsprogramms ist (JA im Schritt S205), suspendiert die CPU 61 das Herunterladen des heruntergeladen werdenden Aktualisierungsprogramms (Schritt S207). Dann lädt die CPU 61 das hinzugefügte Aktualisierungsprogramm herunter (Schritt S209). Wenn mitgeteilt wird, dass das Herunterladen des hinzugefügten Aktualisierungsprogramms abgeschlossen ist und die Aktualisierung des entsprechenden Zielsteuerprogramms abgeschlossen ist (JA im Schritt S211), nimmt die CPU 61 das Herunterladen, das im Schritt S207 suspendiert worden ist, wieder auf (Schritt S215). Die CPU 61 wiederholt die vorgenannte Verarbeitung, bis das Herunterladen des Aktualisierungsprogramms abgeschlossen ist (NEIN in Schritt S217) .
  • <Wirkung der zweiten Ausführungsform>
  • Im Programmaktualisierungssystem gemäß der zweiten Ausführungsform, wenn ein Aktualisierungsprogramm mit einem höheren Prioritätsniveau übertragen wird, während ein gewisses Aktualisierungsprogramm heruntergeladen wird, wird das Herunterladen suspendiert und wird vorzugsweise das Aktualisierungsprogramm mit dem höheren Prioritätsniveau heruntergeladen. Somit wird ein Aktualisierungsprogramm für ein Steuerprogramm mit einem höheren Dringlichkeits-Niveau mit höherer Priorität in einer flexiblen Weise heruntergeladen und wird die Aktualisierung des Steuerprogramms vorzugsweise durchgeführt. Daher kann die Sicherheit des Fahrzeugs prompt verbessert werden.
  • [Modifikation]
  • Die vorstehende zweite Ausführungsform ist ein Beispiel. In einem anderen Beispiel kann das hinzugefügte Aktualisierungsprogramm heruntergeladen werden, nachdem das Herunterladen des heruntergeladen werdenden Aktualisierungsprogramms abgeschlossen ist. In diesem Fall kann das Herunterladen des heruntergeladen werdenden Aktualisierungsprogramms ohne Unterbrechung abgeschlossen werden.
  • <Dritte Ausführungsform>
  • Im Programmaktualisierungssystem gemäß der ersten und zweiten Ausführungsformen führt der DL-Server 6 den Prozess des Bestimmens einer DL-Reihenfolge einer Vielzahl von Aktualisierungsprogrammen auf Basis eines oder mehrerer Sicherheits-Indizes durch, die mit jedem der Aktualisierungsprogramme assoziiert sind, und Steuern des Herunterladens der Aktualisierungsprogramme. Jedoch kann dieser Prozess durch eine andere Einrichtung als den DL-Server 6 durchgeführt werden. In einem anderen Beispiel kann dieser Prozess durch den Gateway 10 durchgeführt werden.
  • Als ein Beispiel bestimmt im Programmaktualisierungssystem gemäß der dritten Ausführungsform, wenn eine Vielzahl von Aktualisierungsprogrammen aus dem DL-Server 6 an den Gateway 10 heruntergeladen wird, der Gateway 10 eine DL-Reihenfolge der Vielzahl von Aktualisierungsprogrammen auf Basis des einen oder mehreren Sicherheits-Indizes, die mit jedem der Aktualisierungsprogramme assoziiert sind. Dann überträgt der Gateway 10 die Aktualisierungsprogramme an die Ziel-ECUs 30 anhand der bestimmten DL-Reihenfolge und fordert die Aktualisierung von Steuerprogrammen an.
  • In diesem Fall, wie in 2 gezeigt, beinhaltet die CPU 11 des Gateway 10 die Bestimmungseinheit 111, die der Bestimmungseinheit 611 entspricht, und die Steuereinheit 112, die der Steuereinheit 612 entspricht, als Funktionen zum Bestimmen der DL-Reihenfolge und Steuern des Herunterladens. Diese Funktionen werden hauptsächlich durch die CPU 11 implementiert, wenn die CPU 11 eines oder eine Vielzahl von in dem ROM 12 gespeicherten Programmen ausliest und die ausgelesenen Programme ausführt. Jedoch kann zumindest ein Teil der Funktionen durch Hardware, wie etwa eine Elektronikschaltung, implementiert werden.
  • Die Bestimmungseinheit 111 des Gateway 10 entsprechend der dritten Ausführungsform bestimmt das Prioritätsniveau jedes Aktualisierungsprogramms unter Verwendung der Korrespondenzbeziehung zwischen einem oder mehreren Sicherheits-Indizes und dem Prioritätsniveau-Wert, wie im in 6 gezeigten Relationsgraphen. Die Korrespondenzbeziehung wird im DL-Server 6 gespeichert und kann auf den Gateway 10 zusammen mit dem Aktualisierungsprogramm heruntergeladen werden. Alternativ kann die Bestimmungseinheit 111 die in dem DL-Server 6 gespeicherte Korrespondenzbeziehung auslesen und verwenden, wenn das Prioritätsniveau bestimmt wird. Noch alternativ kann die Korrespondenzbeziehung im Gateway 10 gespeichert werden. In diesem Fall kann die Korrespondenzbeziehung selbst, die im Gateway 10 gespeichert ist, ein zu aktualisierendes Ziel sein. Mit anderen Worten kann ein Algorithmus zum Bestimmen der Prioritätsniveaus in der Bestimmungseinheit 111 und ein im Algorithmus verwendeter Parameter austauschbar sein. Der Gateway 10 empfängt ein Programm oder einen Parameter für diese Änderung aus beispielsweise dem DL-Server 6 oder dem Bereitsteller von Aktualisierungsprogrammen, wie etwa dem Automobilhersteller, und ändert den Algorithmus oder den Parameter.
  • Es ist anzumerken, dass die hierin offenbarten Ausführungsformen in allen Aspekten lediglich illustrativ sind und nicht als beschränkend angesehen werden sollten. Der Schutzumfang der vorliegenden Erfindung ist nicht durch die obige Beschreibung definiert, sondern durch den Schutzumfang der Ansprüche und dient dazu, Bedeutungs-Äquivalente zum Schutzumfang der Ansprüche und aller Modifikationen innerhalb des Schutzumfangs zu beinhalten.
  • Bezugszeichenliste
  • 1
    Fahrzeug
    2
    Weitbereichs-Kommunikationsnetzwerk
    5
    Verwaltungsserver
    6
    DL-Server
    10
    Gateway
    11, 31, 61
    CPU
    12, 32, 63
    RAM
    13, 33, 64
    Speichereinheit
    14
    Fahrzeugkommunikationseinheit
    15
    Drahtlos-Kommunikationseinheit
    30
    ECU
    34, 65
    Kommunikationseinheit
    35
    Starteinheit
    62
    ROM
    111, 611
    Bestimmungseinheit
    112, 612
    Steuereinheit
  • 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 2017016606 [0002]
  • Zitierte Nicht-Patentliteratur
    • ISO 26262 [0087]

Claims (8)

  1. Steuereinrichtung, die konfiguriert ist, eine Aktualisierung eines Steuerprogramms einer Fahrzeugsteuervorrichtung zu steuern, welche Zielausrüstung steuert, die in einem Fahrzeug installiert ist, wobei die Steuereinrichtung umfasst: einen Speicher, der konfiguriert ist, ein Aktualisierungsprogramm für das Steuerprogramm zu speichern; eine Bestimmungseinheit, die konfiguriert ist, Prioritätsniveaus einer Vielzahl von Aktualisierungsprogrammen, die im Speicher gespeichert sind, zu bestimmen; und eine Steuereinheit, die konfiguriert ist, die Vielzahl von Aktualisierungsprogrammen anhand der vorbestimmten Prioritätsniveaus herunterzuladen, in absteigender Reihenfolge der Prioritätsniveaus, wobei die Bestimmungseinheit die Prioritätsniveaus auf Basis einer oder mehrerer Sicherheits-Indizes bestimmt, die mit jeder der Vielzahl von Aktualisierungsprogrammen, die im Speicher gespeichert sind, assoziiert sind.
  2. Steuereinrichtung gemäß Anspruch 1, wobei die Sicherheits-Indizes einen Index funktionaler Sicherheit oder/und einen Index von Sicherheit beinhalten.
  3. Steuereinrichtung gemäß Anspruch 1 oder 2, wobei in einem Fall, bei dem ein neues Aktualisierungsprogramm im Speicher gespeichert wird, während ein Aktualisierungsprogramm heruntergeladen wird, und falls das Prioritätsniveau des neuen Aktualisierungsprogramms höher als das Prioritätsniveau des heruntergeladen werdenden Aktualisierungsprogramms ist, die Steuereinheit das Herunterladen des Aktualisierungsprogramms, das heruntergeladen wird, suspendiert und das neue Aktualisierungsprogramm herunterlädt.
  4. Steuereinrichtung gemäß Anspruch 1 oder 2, wobei In einem Fall, bei dem ein neues Aktualisierungsprogramm im Speicher gespeichert wird, während ein Aktualisierungsprogramm heruntergeladen wird, und falls das Prioritätsniveau des neuen Aktualisierungsprogramms höher als das Prioritätsniveau des heruntergeladen werdenden Aktualisierungsprogramms ist, die Steuereinheit das neue Aktualisierungsprogramm nach Abschluss des Herunterladens des heruntergeladen werdenden Aktualisierungsprogramms herunterlädt.
  5. Steuereinrichtung gemäß einem der Ansprüche 1 bis 4, wobei die Steuereinheit die Vielzahl von Aktualisierungsprogrammen anhand der Prioritätsniveaus in absteigender Reihenfolge der Prioritätsniveaus herunterlädt und die Aktualisierung der Steuerprogramme in absteigender Reihenfolge der Prioritätsniveaus anfordert.
  6. Steuereinrichtung gemäß einem der Ansprüche 1 bis 5, wobei ein Algorithmus zum Bestimmen des Prioritätsniveaus der Aktualisierungsprogramme durch die Bestimmungseinheit austauschbar ist.
  7. Verfahren des Aktualisierens eines Steuerprogramms einer Fahrzeugsteuervorrichtung, die in einem Fahrzeug installierte Zielausrüstung steuert, wobei das Verfahren die Schritte umfasst: Speichern eines Aktualisierungsprogramms für das Steuerprogramm in einem Speicher; Bestimmen von Prioritätsniveaus einer Vielzahl von Aktualisierungsprogrammen, die im Speicher gespeichert sind; und Herunterladen der Vielzahl von Aktualisierungsprogrammen anhand der bestimmten Prioritätsniveaus in absteigender Reihenfolge der Prioritätsniveaus, wobei im Schritt des Bestimmens der Prioritätsniveaus die Prioritätsniveaus auf Basis einer oder mehrerer Sicherheits-Indizes bestimmt werden, die mit jeder der Vielzahl von in dem Speicher gespeicherten Aktualisierungsprogrammen assoziiert sind.
  8. Computerprogramm, um einen Computer zu veranlassen, als eine Steuereinrichtung zu fungieren, die konfiguriert ist, die Aktualisierung eines Steuerprogramms einer Fahrzeugsteuervorrichtung zu steuern, welche in einem Fahrzeug installierte Zielausrüstung steuert, wobei der Computer einen Speicher beinhaltet, der konfiguriert ist, ein Aktualisierungsprogramm für das Steuerprogramm zu speichern, wobei das Computerprogramm den Computer veranlasst, zu fungieren als: eine Bestimmungseinheit, die konfiguriert ist, Prioritätsniveaus einer Vielzahl von Aktualisierungsprogrammen, die im Speicher gespeichert sind, zu bestimmen; und eine Steuereinheit, die konfiguriert ist, die Vielzahl von Aktualisierungsprogrammen anhand der vorbestimmten Prioritätsniveaus in absteigender Reihenfolge der Prioritätsniveaus herunterzuladen, wobei die Bestimmungseinheit die Prioritätsniveaus auf Basis einer oder mehrerer Sicherheits-Indizes bestimmt, die mit jeder der Vielzahl von in dem Speicher gespeicherten Aktualisierungsprogrammen assoziiert sind.
DE112017006980.7T 2017-02-01 2017-12-04 Steuereinrichtung, Programmaktualisierungsverfahren und Computerprogramm Pending DE112017006980T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017-016606 2017-02-01
JP2017016606 2017-02-01
PCT/JP2017/043512 WO2018142751A1 (ja) 2017-02-01 2017-12-04 制御装置、プログラム更新方法、およびコンピュータプログラム

Publications (1)

Publication Number Publication Date
DE112017006980T5 true DE112017006980T5 (de) 2019-10-17

Family

ID=63040443

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017006980.7T Pending DE112017006980T5 (de) 2017-02-01 2017-12-04 Steuereinrichtung, Programmaktualisierungsverfahren und Computerprogramm

Country Status (5)

Country Link
US (1) US10705826B2 (de)
JP (1) JP6525105B2 (de)
CN (1) CN110214308B (de)
DE (1) DE112017006980T5 (de)
WO (1) WO2018142751A1 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10909050B2 (en) * 2018-03-19 2021-02-02 Toyota Jidosha Kabushiki Kaisha Gateway apparatus and communication method
JP7367359B2 (ja) * 2018-08-10 2023-10-24 株式会社デンソー 車両用電子制御システム、ファイルの転送制御方法、ファイルの転送制御プログラム及び装置
JP2020040613A (ja) * 2018-09-13 2020-03-19 株式会社デンソー 車載器のソフトウェア更新システム、車載器及び情報処理装置
KR102540932B1 (ko) * 2018-11-16 2023-06-08 현대자동차주식회사 차량의 업데이트 제공 장치 및 컴퓨터 기록 매체
JP7177755B2 (ja) * 2019-07-24 2022-11-24 株式会社日立製作所 サーバ、ソフトウェア更新システム、およびソフトウェア更新装置
US11836475B2 (en) * 2020-11-27 2023-12-05 Denso Corporation Electronic control unit, software update method, software update program product and electronic control system
US11836476B2 (en) * 2020-11-27 2023-12-05 Denso Corporation Electronic control unit, software update method, software update program product and electronic control system
JP7419287B2 (ja) * 2021-03-26 2024-01-22 本田技研工業株式会社 車両プログラム更新管理システム、及び車両プログラム更新管理方法
JP7323569B2 (ja) 2021-04-07 2023-08-08 矢崎総業株式会社 車載ソフトウェア更新方法および車載システム
US11829748B1 (en) 2021-09-29 2023-11-28 Geotab Inc. Systems and methods for safe over-the-air update of electronic control units in vehicles
US11681518B2 (en) * 2021-09-29 2023-06-20 Geotab Inc. Systems and methods for safe over-the-air update of electronic control units in vehicles
CN113965473B (zh) * 2021-11-12 2023-08-29 重庆邮电大学 一种车载多路canfd网络的车载信息安全评估方法
JP2023106830A (ja) * 2022-01-21 2023-08-02 日立Astemo株式会社 ソフトウェア更新装置
GB202210783D0 (en) * 2022-07-22 2022-09-07 Microsoft Technology Licensing Llc Deploying a change to a network service
DE102022118843A1 (de) 2022-07-27 2024-02-01 Audi Aktiengesellschaft Verfahren zum Bereitstellen eines Updates für ein Kraftfahrzeug
KR20240080785A (ko) * 2022-11-30 2024-06-07 주식회사 엘지에너지솔루션 디바이스 관리 시스템 및 이의 프로그램 관리 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017016606A (ja) 2015-07-01 2017-01-19 株式会社エム・システム技研 2線式信号受信装置、及び、2線式信号受信装置の余剰電圧利用方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10057638C2 (de) * 2000-11-21 2002-11-28 Daimler Chrysler Ag Verfahren zur Dokumentation von Daten eines Verkehrsmittels
US20050107929A1 (en) * 2001-09-01 2005-05-19 Bayerische Motoren Werke Ag Method, device and computer product for updating data of a control device
KR20060008338A (ko) * 2003-06-24 2006-01-26 바이에리셰 모토렌 베르케 악티엔게젤샤프트 프로그래밍 가능한 읽기 전용 메모리의 부트 섹터에소프트웨어를 부팅 업 하는 방법
EP1723518A1 (de) * 2004-03-09 2006-11-22 Bayerische Motorenwerke Aktiengesellschaft Aktualisierung und/oder erweiterung der funktionalität der ablaufsteuerung mindestens eines steuergeräts
US7366589B2 (en) * 2004-05-13 2008-04-29 General Motors Corporation Method and system for remote reflash
JP2006079415A (ja) * 2004-09-10 2006-03-23 Konica Minolta Business Technologies Inc プログラム更新システムおよびプログラム更新方法
JP2007065856A (ja) 2005-08-30 2007-03-15 Fujitsu Ten Ltd 情報書き換えシステムおよび情報書き換え装置
JP4891605B2 (ja) * 2005-12-12 2012-03-07 株式会社東芝 ソフトウェア管理システム及びソフトウェア配信サーバ
WO2008050410A1 (fr) * 2006-10-25 2008-05-02 Pioneer Corporation Dispositif de distribution de données, processeur de données, procédé de distribution de données, procédé de traitement de données, programme de distribution de données, programme de traitement de données et support d'enregistrement
EP2141831A4 (de) * 2007-03-30 2011-05-18 Fujitsu Ltd Kommunikationssystem, servereinrichtung, kommunikationsendgerät und computerprogramm
JP2011090457A (ja) * 2009-10-21 2011-05-06 Toyota Motor Corp 車両診断装置
WO2011135629A1 (ja) * 2010-04-28 2011-11-03 株式会社日立製作所 計算機システムにおけるソフトウェアの配布管理方法、及び、ソフトウェアの配布管理のための計算機システム
JP5425953B2 (ja) 2012-03-13 2014-02-26 アイシン・エィ・ダブリュ株式会社 地図情報配信システム
JP5900390B2 (ja) * 2013-01-31 2016-04-06 株式会社オートネットワーク技術研究所 アクセス制限装置、車載通信システム及び通信制限方法
JP2014182571A (ja) * 2013-03-19 2014-09-29 Denso Corp 車載電子制御装置のプログラム書換システム及び車載中継装置
JP6129698B2 (ja) * 2013-09-18 2017-05-17 株式会社日立製作所 ソフトウェア配布システム、およびソフトウェア配布方法
CN104572141B (zh) * 2013-10-10 2019-03-12 上海信耀电子有限公司 车用电控单元ecu的引导程序的在线更新方法
JP5949732B2 (ja) * 2013-11-27 2016-07-13 株式会社オートネットワーク技術研究所 プログラム更新システム及びプログラム更新方法
WO2015170453A1 (ja) * 2014-05-08 2015-11-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 車載ネットワークシステム、不正検知電子制御ユニット及び不正対処方法
JP2016063233A (ja) * 2014-09-12 2016-04-25 株式会社東芝 通信制御装置
JP6618480B2 (ja) * 2014-11-12 2019-12-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 更新管理方法、更新管理システム及び制御プログラム
CN107660335B (zh) * 2015-05-14 2020-10-09 爱尔比奎特公司 对移动辅助机动车辆软件升级和车辆数据分析的集中管理
US10127036B2 (en) * 2015-06-15 2018-11-13 Lear Corporation Method for OTA updating vehicle electronic control unit
US10387976B2 (en) * 2015-12-02 2019-08-20 Metropolitan Washington Airports Authority Federated system for centralized management and distribution of content media
US10042629B2 (en) * 2016-07-28 2018-08-07 GM Global Technology Operations LLC Remote vehicle update installation scheduling

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017016606A (ja) 2015-07-01 2017-01-19 株式会社エム・システム技研 2線式信号受信装置、及び、2線式信号受信装置の余剰電圧利用方法

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
CN110214308A (zh) 2019-09-06
CN110214308B (zh) 2023-01-06
US10705826B2 (en) 2020-07-07
JPWO2018142751A1 (ja) 2019-02-07
WO2018142751A1 (ja) 2018-08-09
US20190354364A1 (en) 2019-11-21
JP6525105B2 (ja) 2019-06-05

Similar Documents

Publication Publication Date Title
DE112017006980T5 (de) Steuereinrichtung, Programmaktualisierungsverfahren und Computerprogramm
DE112017006978T5 (de) Steuervorrichtungen, Programmaktualisierungsverfahren und Computerprogramm
DE112009005344B4 (de) Fahrzeug-gateway-system
DE112019001514T5 (de) Programmaktualisierungssystem, Programmaktualisierungsverfahren und Computerprogramm
DE102020111880A1 (de) Datenfreigabe zur fahrzeugaktualisierung
DE112017005384T5 (de) Fahrzeuggebundenes Vorrichtungsermittlungssystem und Informationssammelvorrichtung
DE112017004311T5 (de) Bordeigene Aktualisierungsvorrichtung und bordeigenes Aktualisierungssystem
DE112018001894T5 (de) Steuervorrichtung, Übertragungsverfahren und Computerprogramm
DE102016210672A1 (de) Verfahren für die drahtlose Remote-Aktualisierung von Fahrzeug-Software
DE112018004203T5 (de) Steuereinrichtung, Steuerverfahren und Computerprogramm
DE112016006538T5 (de) Programmaktualisierungssystem, Programmaktualisierungsverfahren und Computerprogramm
DE102016210511A1 (de) Zentralisiertes System für die Software Aktualisierung von Fahrzeugkomponenten
DE102016210676A1 (de) Verfahren zum Aktualisieren von ECUs unter Verwendung von differenziellen Aktualisierungspaketen
DE102019109672A1 (de) Rückgängigmachung nach einem teilausfall in mehreren elektronischen steuergeräten mittels over-the-air-updates
DE102016210675A1 (de) Telematik-Steuereinheit mit einem differenziellen Aktualisierungspaket
DE112018001985T5 (de) Relais-Einrichtung, Transferverfahren und Computerprogramm
DE112017005462T5 (de) Steuervorrichtung, Programmaktualisierungsverfahren und Computerprogramm
DE102016210509A1 (de) Verfahren für die Aktualisierung von elektronischen Fahrzeug-Steuereinheiten per Luftschnittstelle
DE102016210674A1 (de) Verfahren für die Software Aktualisierung von Fahrzeugkomponenten
DE112018002998T5 (de) Aktualisierungssteuervorrichtung, Steuerverfahren und Computerprogramm
DE112018004181T5 (de) Steuereinrichtung, Steuerverfahren und Computerprogramm
DE112017002788T5 (de) Steuervorrichtung, Steuerverfahren und Computerprogramm
DE112020005928T5 (de) Masteragent und verteilte Agentenarchitektur für Fahrzeuge
DE112016006542T5 (de) Steuervorrichtung, Programmaktualisierungsverfahren und Computerprogramm
DE102017217668A1 (de) Verfahren und zentrale Datenverarbeitungsvorrichtung zum Aktualisieren von Software in einer Vielzahl von Fahrzeugen

Legal Events

Date Code Title Description
R081 Change of applicant/patentee

Owner name: SUMITOMO ELECTRIC INDUSTRIES, LTD., JP

Free format text: FORMER OWNER: SUMITOMO ELECTRIC INDUSTRIES, LTD., OSAKA-SHI, JP

R082 Change of representative

Representative=s name: HOFFMANN - EITLE PATENT- UND RECHTSANWAELTE PA, DE

R012 Request for examination validly filed