DE112017006978T5 - Steuervorrichtungen, Programmaktualisierungsverfahren und Computerprogramm - Google Patents

Steuervorrichtungen, Programmaktualisierungsverfahren und Computerprogramm Download PDF

Info

Publication number
DE112017006978T5
DE112017006978T5 DE112017006978.5T DE112017006978T DE112017006978T5 DE 112017006978 T5 DE112017006978 T5 DE 112017006978T5 DE 112017006978 T DE112017006978 T DE 112017006978T DE 112017006978 T5 DE112017006978 T5 DE 112017006978T5
Authority
DE
Germany
Prior art keywords
control
update
programs
program
updating
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
DE112017006978.5T
Other languages
English (en)
Inventor
Takayuki Nakano
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 DE112017006978T5 publication Critical patent/DE112017006978T5/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
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/445Program loading or initiating
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station

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)
  • Mechanical Engineering (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Bereitgestellt wird eine Steuervorrichtung, ausgebildet zum Steuern eines Aktualisierens eines Steuerprogramms einer Board-Fahrzeugsteuervorrichtung, ausgebildet zum Steuern einer an einem Fahrzeug installierten Zielvorrichtung. Die Steuervorrichtung umfasst: einen Speicher, ausgebildet zum Speichern darin von Aktualisierungsprogrammen für Steuerprogramme; und eine Steuereinheit, ausgebildet zum Aktualisieren einer Vielzahl von Steuerprogrammen entsprechend bei einer Vielzahl von in dem Speicher gespeicherten Aktualisierungsprogrammen eingestellten Aktualisierungsreihenfolgen. Die Steuereinheit einen Bestimmungsprozess zum Bestimmen ausführt, ob ein Aktualisieren der Vielzahl von Steuerprogrammen entsprechend den Aktualisierungsreihenfolgen auszuführen ist oder nicht, basierend auf einem Ergebnis eines Vergleichs zwischen benötigten Aktualisierungszeiten der Vielzahl von Steuerprogrammen und einem vorbestimmten Schwellenwert.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft eine Steuervorrichtung, ein Programmaktualisierungsverfahren und ein Computerprogramm.
  • Diese Anmeldung beansprucht die Priorität der am 1. Februar 2017 eingereichten japanischen Patentanmeldung mit der Nummer 2017-016539 , wobei deren gesamte Inhalte hierin durch Bezugnahme eingebunden sind.
  • Stand der Technik
  • In der Automobilbranche haben sich in den vergangenen Jahren Fahrzeuge in Funktionalität weiterentwickelt und verschiedene Arten von Vorrichtungen werden in Fahrzeugen installiert. Entsprechend sind Fahrzeuge mit vielen Steuervorrichtungen sogenannten ECUs (elektronische Steuereinheiten) zum Steuern dieser Board-Fahrzeugvorrichtungen ausgestattet.
    Jedes Fahrzeug ist mit verschiedenen Typen von ECUs ausgestattet, wie beispielsweise: eine Fahrt betreffende ECUs, welche einen Motor, eine Bremse, eine EPS(elektrische Servolenkung) und so weiter steuern, in Reaktion auf Bedienungen bei einem Beschleuniger, einer Bremse und einem Hebel; Karosserie betreffende ECUs, welche Innenlichter und Scheinwerfer, den Ton einer Alarmeinheit und so weiter ein- und ausschalten, in Reaktion auf von einem Insassen ausgeführten Schaltbedienungen; und Messgeräte betreffende ECUs, welche Operationen von in der Nähe des Fahrersitzes angeordneten Messinstrumenten (Messgeräte) steuern.
  • Im Allgemeinen besteht jede ECU aus einer arithmetischen Verarbeitungseinheit wie beispielsweise einem Mikrocomputer, und setzt eine Steuerung einer Bordfahrzeugvorrichtung durch Auslesen eines in einem ROM (Nurlesespeicher) gespeicherten Steuerprogramms und Ausführen des ausgelesenen Steuerprogramms um. Steuerprogramme von ECUs können in Abhängigkeit von den Zielen, Graden und etwas Ähnlichem von Fahrzeugen unterschiedlich sein. Daher müssen alte Versionen von Steuerprogrammen mit neuen Versionen von Steuerprogrammen in Reaktion auf eine Versionsaktualisierung von Steuerprogrammen überschrieben werden.
  • Während ein Steuerprogramm einer ECU aktualisiert wird, kann eine durch die ECU zu steuernde Funktion unbrauchbar werden. Daher muss ein Aktualisieren eines Steuerprogramms zu einem geeigneten Zeitpunkt ausgeführt werden.
  • Um das obige Problem zu lösen, wurden verschiedene Techniken zum Ausführen einer Aktualisierung eines Steuerprogramms zu einem geeigneten Zeitpunkt vorgeschlagen. Beispielsweise beschreibt Patentliteratur 1 eine Technik zum Überwachen des Kommunikationszustands in einem Fahrzeug und Aktualisieren eines Steuerprogramms entsprechend des Kommunikationszustands. Patentliteratur 2 beschreibt eine Technik zum Abschätzen basierend auf dem Plan eines Fahrzeugs, einer Zeitperiode, während welcher das Fahrzeug nicht verwendet werden wird, und zum Erzeugen eines Plans, um ein Steuerprogramm in der Zeitperiode zu aktualisieren. Patentliteratur 3 beschreibt eine Technik zum Bestimmen, ob ein sicherheitsbezogenes Programm aktualisierbar ist, basierend auf den Zuständen einer fahrt-bezogenen Vorrichtung und einer lenk-bezogenen Vorrichtung und zum Aktualisieren des Programms entsprechend dem Ergebnis der Bestimmung.
  • Literaturliste
  • [Patentliteratur]
    • Patentliteratur 1: japanische Patentveröffentlichungsschrift mit der Nummer 2012-178035
    • Patentliteratur 2: japanische Patentveröffentlichungsschrift mit der Nummer 2012-14253
    • Patentliteratur 3: japanische Patentveröffentlichungsschrift mit der Nummer 2014-118071
  • Zusammenfassung der Erfindung
  • Eine Steuervorrichtung gemäß einer Ausführungsform ist eine Steuervorrichtung, welche zum Steuern eines Aktualisierens eines Steuerprogramms einer Board-Fahrzeugsteuervorrichtung ausgebildet ist, welche ausgebildet ist zum Steuern einer an einem Fahrzeug installierten Zielvorrichtung. Die Steuervorrichtung umfasst: einen Speicher, ausgebildet zum Speichern darin von Aktualisierungsprogrammen für Steuerprogramme; und eine Steuereinheit, ausgebildet zum Aktualisieren einer Vielzahl von Steuerprogrammen entsprechend Aktualisierungsreihenfolgen (Aktualisierungsrangfolgen), welche bei einer Vielzahl von in dem Speicher gespeicherten Aktualisierungsprogrammen eingestellt sind. Die Steuereinheit führt ein Bestimmungsprozess zum Bestimmen aus, ob ein Aktualisieren der Vielzahl von Steuerprogrammen entsprechend den Aktualisierungsreihenfolgen auszuführen ist, basierend auf einem Vergleich zwischen benötigten Aktualisierungszeiten der Vielzahl von Steuerprogrammen und einem vorbestimmten Schwellenwert.
  • Ein Programmaktualisierungsverfahren gemäß einer anderen Ausführungsform ist ein Verfahren zum Aktualisieren eines Steuerprogramms einer Board-Fahrzeugsteuervorrichtung, ausgebildet zum Steuern einer an einem Fahrzeug installierten Zielvorrichtung, und das Verfahren umfasst die Schritte:
  • Speichern eines Aktualisierungsprogramms für ein Steuerprogramm in einem Speicher; und Aktualisieren einer Vielzahl von Steuerprogrammen entsprechend Aktualisierungsreihenfolgen, welche bei einer Vielzahl von in dem Speicher gespeicherten Aktualisierungsprogrammen eingestellt sind. Der Schritt zum Aktualisieren der Steuerprogramme umfasst ein Bestimmen, ob ein Aktualisieren der Vielzahl von Steuerprogrammen entsprechend den Aktualisierungsreihenfolgen auszuführen ist oder nicht, basierend auf einem Vergleich zwischen benötigten Aktualisierungszeiten der Vielzahl von Steuerprogrammen und einem vorbestimmten Schwellenwert.
  • Ein Computerprogramm gemäß einer weiteren Ausführungsform ist ein Computerprogramm zum Veranlassen eines Computers zu fungieren als eine Steuervorrichtung, ausgebildet zum Steuern eines Aktualisierens eines Steuerprogramms einer Board-Fahrzeugsteuervorrichtung, ausgebildet zum Steuern einer an einem Fahrzeug installierten Zielvorrichtung. Der Computer weist einen Speicher auf, ausgebildet zum Speichern darin von Aktualisierungsprogrammen für Steuerprogramme. Das Roboterprogramm veranlasst den Computer zu fungieren als eine Steuereinheit, ausgebildet zum Aktualisieren einer Vielzahl von Steuerprogrammen entsprechend Aktualisierungsreihenfolgen, welche bei einer Vielzahl von in dem Speicher gespeicherten Aktualisierungsprogrammen eingestellt sind. Die Steuereinheit führt einen Bestimmungsprozess zum Bestimmen aus, ob ein Aktualisieren der Vielzahl von Steuerprogrammen entsprechend den Aktualisierungsreihenfolgen auszuführen ist oder nicht, basierend auf einem Vergleich zwischen benötigten Aktualisierungszeiten der Vielzahl von Steuerprogrammen und einem vorbestimmten Schwellenwert.
  • Figurenliste
    • 1 ist ein Diagramm, welches eine Gesamtkonfiguration eines Programmaktualisierungssystems gemäß einer Ausführungsform zeigt.
    • 2 ist ein Blockdiagramm, welches interne Konfigurationen eines Gateways und einer Drahtloskommunikationsvorrichtung zeigt.
    • 3 ist ein Blockdiagramm, welches interne Konfigurationen einer Managervorrichtung und einer ECU zeigt.
    • 4 ist ein Sequenzdiagramm, welches ein Beispiel eines Kommunikationsverfahren in einem Board-Fahrzeugkommunikationssystem in dem Programmaktualisierungssystem gemäß einer ersten Ausführungsform zeigt.
    • 5 ist ein Flussdiagramm, welches ein Beispiel eines bestimmten Inhalts eines Reihenfolge-Bestimmungsprozesses in Schritt S3A in 4 zeigt.
    • 6 ist ein Sequenzdiagramm, welches ein Beispiel eines Kommunikationsmittels in einem Board-Fahrzeugkommunikationssystems in einem Programmaktualisierungssystem gemäß einer dritten Ausführungsform zeigt.
    • 7 ist ein Flussdiagramm, welches ein Beispiel eines bestimmten Inhalts eines Reihenfolge-Bestimmungsprozesses im Schritt S3B in 6 zeigt.
  • Beschreibung von Ausführungsformen
  • <Durch die vorliegende Offenbarung gelöste Probleme>
  • Da viele ECUs an einem Fahrzeug installiert sind, kann es eine Vielzahl von zu aktualisierenden Steuerprogrammen geben. Die Vielzahl von Steuerprogrammen werden in der Reihenfolge einer Benachrichtigung an das Fahrzeug aktualisiert werden. Zu diesem Zeitpunkt, falls die Techniken der oben beschriebenen Patentliteratur 1 bis 3 verwendet werden, wird ein geeigneter Zeitpunkt für ein frühestes Steuerprogramm in einer eingestellten Aktualisierungsreihenfolge bestimmt, und das Steuerprogramm wird zu diesem Zeitpunkt aktualisiert. Für nachfolgende Steuerprogramme werden geeignete Zeitpunkte sequenziell bestimmt und die Steuerprogramme werden sequenziell bei den Zeitpunkten aktualisiert. Daher, falls eine Aktualisierung eines vorhergehenden Steuerprogramms verzögert wird, wird ein Aktualisieren eines nachfolgenden Steuerprogramms ebenso verzögert, was in einer Verzögerung beim Abschluss einer Aktualisierung aller Steuerprogramme resultiert. Das heißt, die Steuerprogramme werden bei den geeigneten Zeitpunkten entsprechend der eingestellten Aktualisierungsreihenfolge aktualisiert, ohne dass die Aktualisierungsreihenfolge eingestellt wird.
  • Beispielsweise wird angenommen, dass ein zu aktualisierendes Steuerprogramm ein Steuerprogramm einer ECU ist, dessen Steuerziel (das heißt eine durch die ECU zu steuernde Funktion) eine Funktion ist, welche durch eine Vielzahl von Vorrichtungen umgesetzt wird, welche miteinander in einer komplexen Weise verbunden sind. Solch eine ECU gehört zu einer ECU, deren Steuerziel ein eine Steuerung betreffendes System ist. Wenn ein Aktualisieren des Steuerprogramms ausgeführt wird, muss die Energieversorgung für das System des gesamten Fahrzeugs zeitweise ausgeschaltet werden oder muss eine Nutzung von anderen Vorrichtungen ausgesetzt werden.
  • Indessen wird angenommen, dass ein zu aktualisierendes Steuerprogramm ein Steuerprogramm einer ECU ist, deren Steuerziel eine durch eine einzelne Vorrichtung umzusetzende Funktion ist. Solch eine ECU gehört zu einer ECU, deren Steuerziel eine Anwendung einer Navigationsvorrichtung, einer Anzeige oder etwas Ähnlichem ist. Wenn ein Aktualisieren des Steuerprogramms ausgeführt wird, muss eine Nutzung der zugehörigen Vorrichtung zeitweise angehalten werden. Allerdings muss eine Nutzung von anderen Vorrichtungen nicht ausgesetzt werden und die Energieversorgung für das System des gesamten Fahrzeugs muss nicht ausgeschaltet werden.
  • Falls das zu aktualisierende Steuerprogramm das vorhergehende Steuerprogramm ist, wird ein Zeitpunkt zum Aktualisieren des Steuerprogramms basierend auf den Nutzungszuständen einer Vielzahl von Vorrichtungen oder dem Nutzungsausfall des Systems des gesamten Fahrzeugs bestimmt, entsprechend den in Patentliteratur 1 bis 3 beschriebenen Techniken. Daher kann der Aktualisierungszeitpunkt verzögert werden. Andererseits, falls das zu aktualisierende Steuerprogramm das letztere Steuerprogramm ist, da ein Zeitpunkt zum Aktualisieren des Steuerprogramms basierend auf dem Nutzungszuständen der einzelnen Vorrichtung bestimmt wird, welche die durch die ECU zu steuernde Funktion umsetzt, ist ein Auftreten einer Verzögerung bei dem Aktualisierungszeitpunkt weniger wahrscheinlich als in dem Fall des vorhergehenden Steuerprogramms.
  • Allerdings, falls es eine Vielzahl von zu aktualisierenden Steuerprogrammen gibt und das vorhergehende Steuerprogramm vor dem letzteren Steuerprogramm aktualisiert wird, kann eine Verzögerung beim Aktualisieren des vorhergehenden Steuerprogramms eine Verzögerung beim Aktualisieren des letzteren Steuerprogramms, welches nachfolgt, verursachen. Das heißt, falls ein Aktualisieren der Vielzahl von Steuerprogrammen gemäß der eingestellten Aktualisierungsreihenfolge ohne Einstellen der Aktualisierungsreihenfolge ausgeführt wird, kann ein Aktualisieren aller Steuerprogramme verzögert werden. Weiter, falls Programme zum Aktualisieren in den ECUs oder Vorrichtungen auf einem Weiterleitungspfad gespeichert bleiben und Speicherressourcen keinen Spielraum aufweisen, können die Programme zum Aktualisieren Funktionen wie beispielsweise eine Weiterleitungsfunktion negativ beeinflussen.
  • Eine Aufgabe in einem Aspekt der vorliegenden Offenbarung ist es eine Steuervorrichtung, ein Programmaktualisierungsverfahren und ein Computerprogramm bereitzustellen, welche es ermöglichen, wenn eine Aktualisierung einer Vielzahl von Steuerprogrammen ausgeführt wird, dass jedes Steuerprogramm zu einem geeigneten Zeitpunkt aktualisiert wird.
  • <Effekt der Offenbarung>
  • Gemäß dieser Offenbarung, wenn ein Aktualisieren einer Vielzahl von Steuerprogrammen ausgeführt wird, kann jedes Steuerprogramm zu einem geeigneten Zeitpunkt aktualisiert werden.
  • [Beschreibung von Ausführungsformen]
  • Ausführungsformen der vorliegenden Erfindung umfassen zumindest das Nachstehende.
  • Das heißt, eine Steuervorrichtung, umfasst in den Ausführungsformen, ist eine Steuervorrichtung, welche zum Steuern eines Aktualisierens eines Steuerprogramms einer Board-Fahrzeugsteuervorrichtung ausgebildet ist, welche zum Steuern einer an einem Fahrzeug installierten Zielvorrichtung ausgebildet ist. Die Steuervorrichtung umfasst: einen Speicher, ausgebildet zum Speichern darin von Aktualisierungsprogrammen für Steuerprogramme; und eine Steuereinheit, ausgebildet zum Aktualisieren einer Vielzahl von Steuerprogrammen entsprechend Aktualisierungsreihenfolgen, welche eine Vielzahl von in dem Speicher gespeicherten Aktualisierungsprogrammen eingestellt sind. Die Steuereinheit führt einen Bestimmungsprozess zum Bestimmen aus, ob ein Aktualisieren der Vielzahl von Steuerprogrammen entsprechend den Aktualisierungsreihenfolgen auszuführen ist oder nicht, basierend auf einem Vergleich zwischen benötigten Aktualisierungszeiten der Vielzahl von Steuerprogrammen und einem vorbestimmten Schwellenwert. Da die Steuereinheit den Bestimmungsprozess zum Bestimmen ausführt, ob ein Aktualisieren der Vielzahl von Steuerprogrammen entsprechend den Aktualisierungsreihenfolgen ausgeführt werden soll oder nicht, welche bei der Vielzahl von Aktualisierungsprogrammen eingestellt sind, kann ein Aktualisieren der Vielzahl von Steuerprogrammen entsprechend dem Bestimmungsergebnis verändert werden.
  • In einem Beispiel, für ein Steuerprogramm, für welches das Ergebnis des Bestimmungsprozesses negativ ist, speichert die Steuereinheit ein Aktualisierungsprogramm, welches zu diesem Steuerprogramm gehört, in dem Speicher und setzt die Aktualisierungsreihenfolge des Aktualisierungsprogramms auf einen späteren Zeitpunkt als die zuvor eingestellte Aktualisierungsreihenfolgen davon. Somit wird für ein Steuerprogramm, für welches das Vergleichsergebnis zwischen der benötigten Aktualisierungszeit und dem vorbestimmten Schwellenwert ein vorbestimmtes Vergleichsergebnis ist, die Aktualisierungsreihenfolge davon in der Aktualisierungsreihenfolge später als die zuvor eingestellte Aktualisierungsreihenfolgen davon, das heißt, ein Aktualisieren des Steuerprogramms wird auf später verschoben im Vergleich zu anderen Steuerprogrammen. Somit kann ein Aktualisieren der Vielzahl von Steuerprogrammen effizient ausgeführt werden.
  • In einem anderen Beispiel für ein Steuerprogramm, für welches das Ergebnis des Bestimmungsprozesses negativ ist, löscht die Steuereinheit das zu diesem Steuerprogramm gehörige Aktualisierungsprogramm von dem Speicher. Somit wird das Aktualisierungsprogramm des Steuerprogramms, für welches das Ergebnis des Bestimmungsprozesses negativ ist, das heißt, für welches nicht bestimmt ist, dass dieses gemäß der Aktualisierungsreihenfolge davon aktualisiert wird, von dem Speicher gelöscht. Daher wird das Aktualisierungsprogramm nicht in dem Speicher gehalten, bis das Aktualisieren ausgeführt wird. Das heißt, es wird verhindert, dass der Speicher mit dem Aktualisierungsprogramm für das Steuerprogramm überladen wird, welches nicht gemäß der Aktualisierungsreihenfolgen davon aktualisiert wird.
  • Vorzugsweise, wenn die benötigte Aktualisierungszeit länger als der vorbestimmte Schwellenwert ist, bestimmt die Steuereinheit das Ergebnis des Bestimmungsprozesses als negativ.
  • Somit wird, unbeachtlich der Aktualisierungsreihenfolgen, welche bei der Vielzahl von Steuerprogrammen eingestellt sind, ein Aktualisieren eines Steuerprogramms, dessen benötigte Aktualisierungszeit innerhalb des Schwellenwerts liegt, bevorzugt ausgeführt, während ein Aktualisieren eines Steuerprogramms, dessen benötigte Aktualisierungszeit länger als der Schwellenwert ist, verschoben wird. Daher kann ein Aktualisieren von mehr Steuerprogrammen innerhalb einer kürzeren Zeitperiode abgeschlossen werden.
  • Vorzugsweise, wenn die benötigte Aktualisierungszeit länger als der vorbestimmte Schwellenwert ist und eine Anwenderauthentifikation erfolgreich ist, bestimmt die Steuereinheit das Ergebnis des Bestimmungsprozesses als negativ.
  • Somit kann ein autorisierter Anwender wie beispielsweise der Besitzer des Fahrzeugs ein Aktualisieren der Steuerprogramme verwalten.
  • Vorzugsweise, wenn die benötigte Aktualisierungszeit kürzer als der vorbestimmte Schwellenwert ist, bestimmt die Steuereinheit das Ergebnis des Bestimmungsprozesses als negativ.
  • Somit wird unbeachtlich der Aktualisierungsreihenfolgen, welche bei der Vielzahl von Steuerprogrammen eingestellt sind, ein Aktualisieren eines Steuerprogramms, dessen benötigte Aktualisierungszeit länger als der Schwellenwert ist, bevorzugt ausgeführt, während ein Aktualisieren eines Steuerprogramms, dessen benötigte Aktualisierungszeit kürzer als der Schwellenwert ist, verschoben wird. Daher, wenn ein Aktualisieren von Steuerprogrammen über eine lange Zeitperiode ausgeführt werden kann, kann ein Aktualisieren eines Steuerprogramms, dessen benötigte Aktualisierungszeit lang ist, bevorzugt ausgeführt werden.
  • Vorzugsweise, wenn die benötigte Aktualisierungszeit kürzer als der vorbestimmte Schwellenwert ist und eine Anwenderauthentifikation erfolgreich ist, bestimmt die Steuereinheit das Ergebnis des Bestimmungsprozesses als negativ. Somit kann ein autorisierter Anwender wie beispielsweise der Besitzer des Fahrzeugs ein Aktualisieren der Steuerprogramme verwalten.
  • Vorzugsweise ist es zulässig, dass die Steuereinheit auswählt, zwischen einem Bestimmen des Ergebnisses des Bestimmungsprozesses als negativ, wenn die benötigte Aktualisierungszeit länger als der vorbestimmte Schwellenwert ist, und einem Bestimmen des Ergebnisses des Bestimmungsprozesses als negativ, wenn die benötigte Aktualisierungszeit kürzer als der vorbestimmte Schwellenwert ist.
  • Somit können die Aktualisierungsreihenfolgen, welche bei der Vielzahl von Steuerprogrammen eingestellt sind, flexibel entsprechend individuellen Situationen verändert werden.
  • Vorzugsweise ist der vorbestimmte Schwellenwert variabel.
  • Somit können die Aktualisierungsreihenfolgen, welche bei der Vielzahl von Steuerprogrammen eingestellt sind, flexibel entsprechend den individuellen Situationen verändert werden.
  • Ein Programmaktualisierungsverfahren, umfasst in den Ausführungsformen, ist ein Verfahren zum Aktualisieren eines Steuerprogramms einer Board-Fahrzeugsteuervorrichtung, ausgebildet zum Steuern einer an einem Fahrzeug installierten Zielvorrichtung. Das Verfahren umfasst die Schritte: Speichern eines Aktualisierungsprogramms für ein Steuerprogramm in einem Speicher; und ein Aktualisieren einer Vielzahl von Steuerprogrammen entsprechend Aktualisierungsreihenfolgen, welche bei einer Vielzahl von in dem Speicher gespeicherten Aktualisierungsprogrammen eingestellt sind. Der Schritt zum Aktualisieren der Steuerprogramme umfasst ein Bestimmen, ob ein Aktualisieren der Vielzahl von Steuerprogrammen entsprechend den Aktualisierungsreihenfolgen auszuführen ist oder nicht, basierend auf einem Vergleich zwischen benötigten Aktualisierungszeiten der Vielzahl von Steuerprogrammen und einem vorbestimmten Schwellenwert.
  • Da der Schritt zum Aktualisieren der Steuerprogramme ein Bestimmen umfasst, ob ein Aktualisieren der Vielzahl von Steuerprogrammen entsprechend den Aktualisierungsreihenfolgen, welche bei der Vielzahl von Steuerprogrammen eingestellt sind, auszuführen ist oder nicht, kann es Fälle geben, bei welchen ein Aktualisieren der Vielzahl von Steuerprogrammen nicht entsprechend den eingestellten Aktualisierungsreihenfolgen ausgeführt wird, in Abhängigkeit von dem Ergebnis der Bestimmung. Daher kann beispielsweise ein Aktualisieren eines Steuerprogramms, dessen Aktualisierungsreihenfolgen auf später eingestellt ist, allerdings dessen benötigte Aktualisierungszeit für eine Zeitperiode geeignet ist, während welcher ein Aktualisieren ausgeführt werden kann, ein Aktualisieren eines Steuerprogramms bevorzugt ausgeführt werden, dessen Aktualisierungsreihenfolgen auf später eingestellt ist. Mit anderen Worten können die bei der Vielzahl von Steuerprogrammen eingestellten Aktualisierungsreihenfolgen flexibel verändert werden. Somit kann ein Aktualisieren der Vielzahl von Steuerprogrammen effizient ausgeführt werden.
  • Ein Computerprogramm, umfasst in den Ausführungsformen ist ein Computerprogramm zum veranlassen, dass ein Computer als eine Steuervorrichtung fungiert, welche zum Steuern eines Aktualisierens eines Steuerprogramms einer Board-Fahrzeugsteuervorrichtung ausgebildet ist, welche zum Steuern einer an einem Fahrzeug installierten Zielvorrichtung ausgebildet ist. Der Computer weist einen Speicher auf, welcher zum Speichern darin von Aktualisierungsprogrammen für Steuerprogramme ausgebildet ist. Das Computerprogramm veranlasst den Computer dazu als eine Steuereinheit zu fungieren, welche zum Aktualisieren einer Vielzahl von Steuerprogrammen entsprechend bei einer Vielzahl von in dem Speicher gespeicherten Aktualisierungsprogrammen eingestellten Aktualisierungsreihenfolgen ausgebildet ist. Die Steuereinheit führt einen Bestimmungsprozess zum Bestimmen aus, ob ein Aktualisieren der Vielzahl von Steuerprogrammen entsprechend den Aktualisierungsreihenfolgen auszuführen ist oder nicht, basierend auf einem Vergleich zwischen benötigten Aktualisierungszeiten der Vielzahl von Steuerprogrammen und einem vorbestimmten Schwellenwert.
  • Da die Steuereinheit den Bestimmungsprozess zum Bestimmen ausführt, ob ein Aktualisieren der Vielzahl von Steuerprogrammen entsprechend der bei der Vielzahl von Steuerprogrammen eingestellten Aktualisierungsreihenfolgen auszuführen ist oder nicht, kann es Fälle geben, bei welchen ein Aktualisieren der Vielzahl von Steuerprogrammen nicht entsprechend der eingestellten Aktualisierungsreihenfolgen ausgeführt wird, in Abhängigkeit von dem Ergebnis der Bestimmung. Daher kann beispielsweise ein Aktualisieren eines Steuerprogramms, dessen Aktualisierungsreihenfolge auf später eingestellt ist, aber dessen benötigte Aktualisierungszeit für eine Zeitperiode geeignet ist, während welcher ein Aktualisieren ausgeführt werden kann, ein Aktualisieren eines Steuerprogramms bevorzugt ausgeführt werden, dessen Aktualisierungsreihenfolge auf früher eingestellt ist. Mit anderen Worten können die bei der Vielzahl von Steuerprogrammen eingestellten Aktualisierungsreihenfolgen flexibel verändert werden. Somit kann ein Aktualisieren der Vielzahl von Steuerprogrammen effizient ausgeführt wird.
  • [Detaillierte Beschreibung von Ausführungsformen]
  • Nachfolgend werden bevorzugte Ausführungsformen mit Bezug zu den Figuren beschrieben. In der nachstehenden Beschreibung bezeichnen dieselben Bezugszeichen dieselben Komponenten und Merkmale. Die Namen und Funktionen davon sind ebenso dieselben. Daher ist eine wiederholte Beschreibung davon nicht notwendig.
  • <Erste Ausführungsform>
  • [Gesamtkonfiguration des Systems]
  • 1 ist ein Diagramm, welches eine Gesamtkonfiguration eines Programmaktualisierungssystems gemäß einer ersten Ausführungsform zeigt.
  • Wie in 1 gezeigt, umfasst das Programmaktualisierungssystem dieser Ausführungsform Fahrzeuge 1, einen Managementserver 3 und einen DL (Download) Server 4, welche miteinander über ein Weitbereichskommunikation 2 kommunizieren können.
  • Der Managementserver 3 und der DL Server 4 werden beispielsweise von dem Automobilhersteller der Fahrzeuge 1 betrieben und sind dazu geeignet mit einer großen Anzahl von Fahrzeugen 1 zu kommunizieren, welche im Besitz von Antennen sind, die als Mitglieder vorab registriert sind.
  • Wie in 1 gezeigt, umfasst jedes Fahrzeug 1 ein Board-Fahrzeugkommunikationssystem 10. Das Board-Fahrzeugnavigationssystem 10 umfasst ein erstes Netzwerk, welches mit einer Drahtloskommunikationsvorrichtung 19 über einen Gateway 20 verbunden ist. Das Board-Fahrzeugkommunikationssystems 10 kann weiter ein zweites Netzwerk umfassen, welches direkt mit der Drahtloskommunikationsvorrichtung 19 ohne Eingriff des Gateways 20 verbunden ist.
  • Das erste Netzwerk umfasst: Board-Fahrzeugkommunikationsleitungen 13A, 13B und 13C, welche mit dem Gateway 20 verbunden sind; eine Managervorrichtung 14, welche mit der Board-Fahrzeugkommunikationsleitungen 13A verbunden ist; eine Boardfahrzeug-Kommunikationsleitung 15, welche mit der Managervorrichtung 14 verbunden ist; und eine Vielzahl von Board-Fahrzeugsteuervorrichtung 100 (nachfolgend als „ECUs“ bezeichnet) 16, welche mit der Board-Fahrzeug Kommunikation Leitung 15 oder den Board-Fahrzeugkommunikationsleitungen 13B und 13C verbunden sind.
  • Jede der Board-Fahrzeugkommunikationsleitungen 13A, 13B und 13C besteht aus einem Kommunikationsnetzwerk eines Bus-Typs. Dieses Netzwerk ist ein Kommunikationsnetzwerk, welches eine Kommunikation mit einer relativ niedrigen Geschwindigkeit ausführt, wie beispielsweise ein CAN (Steuereinheit-Bereichsnetzwerk).
  • Die Board-Fahrzeugkommunikationsleitung 15 lässt eine wechselseitige Kommunikation zwischen den ECUs 16 zu und besteht aus einem Kommunikationsnetzwerk eines Master/Slave-Typs (beispielsweise ein LIN (lokales Zwischenverbindungsnetzwerk)) wobei die Managervorrichtung 14 ein Endgeräteknoten (Mastereinheit) ist.
  • Das zweite Netzwerk umfasst eine oder mehrere ECUs 16, welche direkt mit der Drahtloskommunikationsvorrichtung 19 über eine Boardfahrzeug-Kommunikationsleitung 13D verbunden sind.
  • Die Boardfahrzeug-Kommunikationsleitung 13D ist ein Netzwerk, welches eine Hochgeschwindigkeitskommunikation ausführt und einen Kommunikationsstandard wie beispielsweise CANFD (CAN mit flexibler Datenrate), Ethernet (registrierte Handelsmarke) oder MOST (medien-orientierter Systemtransport: MOST ist eine eingetragene Handelsmarke) beispielsweise annimmt.
  • In der nachstehenden Beschreibung ist ein den Board-Fahrzeugkommunikationsleitungen gemeinsames Bezugszeichen „13“ und den Boardfahrzeug-Kommunikationsleitungen einzelnen zugewiesene Bezugszeichen sind „13A, 13B, 13C, 13D“.
  • Die Managervorrichtung 14 besteht aus einer ECU beispielsweise einer karosseriebezogenen ECU, deren Steuerziel Geräte, betreffend die Karosserie des Fahrzeugs 1, sind. Das Board-Fahrzeugkommunikationssystem 10 kann als andere Managementvorrichtungen eine Managervorrichtung umfassen, welche aus einer eine Leistung betreffenden ECU besteht, deren Steuerziel Geräte betreffend ein Fahren des Fahrzeugs 1 sind, und eine Managervorrichtung, welche aus einer ein Fahrgestell betreffenden ECU besteht, deren Steuerziel Geräte, betreffend ein Fahren des Fahrzeugs 1, sind. Die Steuerfelder sind nicht auf die oben beschriebenen 3 Felder beschränkt, sondern 4 oder mehr Felder können angenommen werden. Die Steuerfelder sind veränderlich, in Abhängigkeit von einem Designkonzept des Fahrzeugherstellers, und ein Teilen der Steuerfelder ist nicht auf das oben beschriebene beschränkt.
  • Die Boardfahrzeug-Kommunikationsleitung 13A ist ein eine Karosserie betreffender Bus, die Boardfahrzeug-Kommunikationsleitung 13B ist ein eine Leistung betreffender Bus und die Boardfahrzeug-Kommunikationsleitung 13C ist ein ein Fahrgestell betreffender Bus. Zu jedem Bus sind ECUs 16 des zu dem Steuerfeld des zugehörigen Typs verbunden.
  • Insbesondere umfassen die ECUs 16, welche mit der Managervorrichtung 14 als eine eine Karosserie betreffende ECU verbunden sind, beispielsweise eine ECU zum Steuern von Innenlicht, eine ECU zum Steuern von Scheinwerfern, eine ECU zum Steuern von Scheibenwischer und so weiter.
  • Die ECUs 16, welche mit der Boardfahrzeug-Kommunikation Leitung 13B verbunden sind, umfassen beispielsweise eine ECU zum Steuern eines Motors, eine ECU zum Steuern eines Energieversorgungssystems (wie beispielsweise Ein/AusSteuerung für einem Relais) und so weiter.
  • Die ECUs 16, welche mit der Boardfahrzeug-Kommunikationsleitung 13C verbunden sind, umfassen beispielsweise eine ECU zum Steuern eines ABS(Antiblockiersystems), eine ECU für eine normale Bremssteuerung und so weiter.
  • Jede der ECUs 16, welche zu dem zweiten Netzwerk gehören, ist eine ECU, welche zum Aktualisieren eines Steuerprogramms davon durch eine unabhängige Kommunikation mit dem DL Server 4 über die Drahtloskommunikationsvorrichtung 19 geeignet ist. Die ECUs 16, welche zu dem zweiten Netzwerk gehören, umfassen beispielsweise Multimedia betreffende ECUs. Insbesondere umfassen die Multimedia betreffenden ECUs eine ECU zum Steuern einer Navigationsvorrichtung, eine ECU zum Steuern einer Anzeige und so weiter.
  • Das Board-Fahrzeugkommunikationssystems 10 umfasst weiter die Drahtloskommunikationsvorrichtung 19 und das Gateway 20.
  • Die Drahtloskommunikationsvorrichtung 19 ist mit dem Breitbereichskommunikationsnetzwerk 2 wie beispielsweise einem Mobiltelefonnetzwerk kommunikativ verbunden und ist mit dem Gateway 20 über eine Kommunikationsleitung eines vorgeschriebenen Standards verbunden. Eine oder mehrere ECUs 16 können mit der Drahtloskommunikationsvorrichtung 19 direkt über die Boardfahrzeug-Kommunikationsleitungen 13D verbunden sein.
  • Für die in dem Fahrzeug 1 installierte Drahtloskommunikationsvorrichtung 19 ist eine Vorrichtung im Besitz des Anwenders wie beispielsweise ein Mobiltelefon, von, ein Endgerät eines Tablet-Typs oder ein Notebook-PC (Computer) denkbar.
  • Das Gateway 20 leitet eine von externen Vorrichtungen wie beispielsweise dem Managementserver 3 und dem DL Server 4 empfangene Information durch die Drahtloskommunikationsvorrichtung 19 weiter an die Managervorrichtung 14 und die ECUs 16.die durch die Drahtloskommunikationsvorrichtung 19 empfangene Information kann direkt an die ECUs 16 durch die Boardfahrzeug-Kommunikationsleitung 13B ohne Eingriff des Gateways 20 weitergeleitet werden. Das Gateway 20 leitet eine von der Managervorrichtung 14 und den ECUs 16 empfangene Information an die Drahtloskommunikationsvorrichtung 19 weiter. Die Drahtloskommunikationsvorrichtung 19 überträgt die weitergeleitete Information an die externen Vorrichtungen wie beispielsweise den Managementserver 3 drahtlos.
  • 1 zeigt einen beispielhaften Fall, bei welchem das Gateway 20 mit den externen Vorrichtungen über die Drahtloskommunikationsvorrichtung 19 kommuniziert. Allerdings, falls das Gateway 20 eine Funktion einer drahtlosen Kommunikation aufweist, kann das Gateway 20 ausgebildet sein, sodass dieses mit den externen Vorrichtungen wie beispielsweise dem Managementserver 3 drahtlos kommuniziert.
  • In dem in 1 gezeigten Programmaktualisierungssystem können der Managementserver 3 und der DL Server 4 als eine einzelne Servereinheit ausgebildet sein.
  • [Interne Konfiguration der Drahtlos-Kommunikationseinheit]
  • 2 ist ein Blockdiagramm, welches interne Konfigurationen der Drahtloskommunikationsvorrichtung 19 und des Gateways 20 zeigt.
  • Wie in 2 gezeigt, umfasst die Drahtloskommunikationsvorrichtung 19 eine Steuereinheit 91, eine Speichereinheit 92, eine erste Kommunikationseinheit 93 und eine zweite Kommunikationseinheit 94.
  • Die Steuereinheit 91 der Drahtloskommunikationsvorrichtung 19 umfasst eine CPU (zentrale Prozesseinheit) und einen RAM (Arbeitsspeicher). Die CPU der Steuereinheit 91 liest einen oder eine Vielzahl von in der Speichereinheit 92 gespeicherten Programmen in den RAM der Steuereinheit 91 aus und führt die Programme aus, wodurch diese als eine Repro-Steuereinheit 95 zum Steuern eines Aktualisierens von Steuerprogrammen fungiert.
  • Die CPU der Steuereinheit 91 kann eine Vielzahl von Programmen parallel durch Schalten zwischen der Vielzahl von Programmen in einer Zeitteilungsweise beispielsweise ausführen.
  • Die CPU der Steuereinheit 91 umfasst einen oder eine Vielzahl von großformatigen integrierten Schaltkreisen (LSIs). In der CPU, umfassend eine Vielzahl von LSIs, setzt die Vielzahl von LSIs die Funktion der CPU in Zusammenarbeit miteinander um.
  • Der RAM der Steuereinheit 91 besteht aus einem Speicherelement wie beispielsweise einem SRAM (statischer RAM) oder einem DRAM (dynamischen RAM) und speichert darin zeitweise durch die CPU der Steuereinheit 91 auszuführende Programme und beim Ausführen der Programme benötigte Daten.
  • Ein durch die CPU der Steuereinheit 91 auszuführendes Computerprogramm kann in einem Zustand übertragen werden, bei welchem dieses in einem Speichermedium wie beispielsweise einer CD-ROM oder einer DVD-ROM aufgezeichnet ist, oder kann durch einen Download von einer Computervorrichtungen wie beispielsweise einem Servercomputer übertragen werden.
  • Diesbezüglich gilt das gleiche für Computerprogramme, welche durch die Steuereinheit 21 des Gateways 20, die CPU der Steuereinheit 31 (siehe 3) der Managervorrichtung 14 und der CPU der Steuereinheit 41 (siehe 3) der ECU 16 auszuführen sind.
  • Die Speichereinheit 92 besteht aus einem nichtflüchtigen Speicherelement wie beispielsweise einem Flash-Speicher oder einem EEPROM (elektrisch löschbarer programmierbarer Nurlesespeicher). Die Speichereinheit 92 weist einen Speicherbereich auf, bei welchem durch die CPU der Steuereinheit 91 auszuführende Programme, bei einem Ausführen der Programme benötigte Daten und etwas Ähnliches gespeichert sind. Die Speichereinheit 92 speichert darin ebenso Aktualisierungsprogramme für die Managervorrichtung 14 und die ECUs 16, welche von dem DL Server 4 empfangen sind.
  • Die erste Kommunikationseinheit 93 besteht aus einer Drahtloskommunikationsvorrichtung, welche einen Kommunikationsschaltkreis zum Ausführen einer Übertragung/Empfang von Funksignalen von einer Antenne umfasst. Die erste Kommunikationseinheit 93 ist geeignet, um mit den externen Vorrichtungen zu kommunizieren, wenn diese mit dem Breitbereichskommunikationsnetzwerk 2 wie beispielsweise einem Mobiltelefonnetzwerk verbunden ist.
  • Die erste Kommunikationseinheit 93 überträgt eine von der Steuereinheit 91 bereitgestellte Information an die externen Vorrichtungen wie beispielsweise den Managementserver 3 über das Breitbereichskommunikationsnetzwerk 2, welches durch eine Basisstation (nicht gezeigt) gebildet ist, und stellt eine von den externen Vorrichtungen empfangene Information der Steuereinheit 91 bereit.
  • Die zweite Kommunikationseinheit 94 besteht aus einer Kombinationsvorrichtung, welche mit dem Gateway 20 entsprechend einem vorbestimmten Kommunikationsstandards wie beispielsweise einem CAN kommuniziert. Die zweite Kommunikationseinheit 94 überträgt eine von der CPU der Steuereinheit 91 bereitgestellte Information an das Gateway 20 und stellt eine Information an dem Gateway 20 der CPU der Steuereinheit 91 bereit.
  • Die Drahtloskommunikationsvorrichtung 19 kann eine Kommunikationsvorrichtung sein, welche eine verdrahtete Kommunikation ausführt und als eine Relaisvorrichtung in dem Fahrzeug 1 dient. In diesem Fall weist die Kommunikationsvorrichtung ein Verbindungselement auf, mit welchem ein einen Standard wie beispielsweise USB (Universal Serienbus) oder RS232C erfüllenden Kommunikationskabel verbunden ist, und führt eine verdrahtete Kommunikation mit einer anderen Kommunikationsvorrichtung aus, welche damit über das Kommunikationskabel verbunden ist.
  • Falls die andere Kommunikationsvorrichtung und die externe Vorrichtung wie beispielsweise der Managementserver 3 miteinander über das Breitbereichskommunikationsnetzwerk 2 drahtlos kommunizieren können, sind die externe Vorrichtung und das Gateway 20 dazu geeignet miteinander über einen Kommunikationspfad zu kommunizieren, welcher in dieser Reihenfolge aus der externen Vorrichtung, der anderen Kommunikationsvorrichtung, der Kommunikationsvorrichtung und dem Gateway 20 besteht.
  • [Interne Konfiguration eines Gateways]
  • Wie in 2 gezeigt, umfasst das Gateway 20 eine Steuereinheit 21, eine Speichereinheit 22, eine erste Kommunikationseinheit 24, eine zweite Kommunikationseinheit 23, eine dritte Kommunikationseinheit 26, eine vierte Kommunikationseinheit 27 und etwas Ähnliches.
  • Die Steuereinheit 21 des Gateways 20 umfasst eine CPU und einen RAM. Die CPU der Steuereinheit 21 liest einen oder eine Vielzahl von in der Speichereinheit 22 gespeicherten Programmen in den RAM der Steuereinheit 21 aus und führt die Programme aus, wodurch das Gateway 20 dazu veranlasst wird, als eine Relaisvorrichtung für verschiedene Arten von Informationen zu fungieren. Weiter liest die CPU der Steuereinheit 21 eine oder eine Vielzahl von in der Speichereinheit 22 gespeicherten Programmen in den RAM der Steuereinheit 21 aus und führt die Programme aus, wodurch diese als eine Repro-Steuereinheit 25 zum Steuern eines Aktualisierens von Steuerprogrammen fungiert.
  • Die CPU der Steuereinheit 21 kann eine Vielzahl von Programmen parallel durch schalten zwischen der Vielzahl von Programmen in einer Zeitteilungsweise beispielsweise ausführen.
  • Die CPU der Steuereinheit 21 umfasst einen oder eine Vielzahl von großformatigen integrierten Schaltkreisen (LSIs). In der CPU, umfassend eine Vielzahl von LSIs, setzt die Vielzahl von LSIs die Funktion der CPU in Zusammenarbeit miteinander um.
  • Der RAM der Steuereinheit 21 besteht aus einem Speicherelement wie beispielsweise einem SRAM oder einem D RAM und speichert darin zeitweise durch die CPU der Steuereinheit 21 auszuführende Programme und dann Ausführen der Programme benötigte Daten.
  • Die Speichereinheit 22 besteht aus einem nichtflüchtigen Speicherelement wie beispielsweise einem Flash-Speicher oder einem EEPROM. Die Speicher einer 22 weist einen Speicherbereich auf, in welchem durch die CPU der Steuereinheit 21 auszuführende Programme, bei einem Ausführen der Programme benötigte Daten und etwas Ähnliches gespeichert werden. Die Speichereinheit 22 speichert darin ebenso Aktualisierungsprogramme für die Managervorrichtung 14 und die ECUs 16, welche von dem DL Server 4 empfangen sind.
  • Die Drahtloskommunikationsvorrichtung 19 ist mit der ersten Kommunikationseinheit 24 verbunden. Die erste Kommunikationseinheit 24 besteht aus einer Kommunikationsvorrichtung, welche mit der Drahtloskommunikationsvorrichtung 19 entsprechend einem vorbestimmten Kommunikationsstandards wie beispielsweise CAN kommuniziert.
  • Die erste Kommunikationseinheit 24 stellt einen die CPU der Steuereinheit 21 einen von der Drahtloskommunikationsvorrichtung 19 bereitgestellte Information bereit. Zusätzlich stellt die erste Kommunikationseinheit 24 an die Drahtloskommunikationsvorrichtung 19 eine von der CPU der Steuereinheit 21 bereitgestellte Information bereit.
  • Die Board-Fahrzeugkommunikationsleitungen 13A, 13B und 13C sind mit der zweiten Kommunikationseinheit 23, der dritten Kommunikationseinheit 26 und der vierten Kommunikationseinheit 27 jeweils verbunden. Die zweite Kommunikationseinheit 23, die dritte Kommunikationseinheit 26 und die vierte Kommunikationseinheit 27 bestehen jeweils aus einer Kommunikationsvorrichtung, welche mit der Managervorrichtung 14 oder den ECUs 16 entsprechend einem vorbestimmten Kommunikationsstandards wie beispielsweise CAN kommuniziert. Die zweite Kommunikationseinheit 23, die dritte Kommunikationseinheit 26 und die vierte Kommunikationseinheit 27 übertragen jeweils an die vorbestimmte Managervorrichtung 14 oder die ECUs 16 eine von der CPU der Steuereinheit 21 bereitgestellte Information und stellen an die CPU der Steuereinheit 21 eine von der Managervorrichtung 14 oder den ECUs 16 übertragene Information bereit.
  • [Interne Konfiguration einer Managervorrichtung]
  • 3 ist ein Blockdiagramm, welches die internen Konfigurationen der Managervorrichtung 14 und der ECU 16 zeigt.
  • Wie in 3 gezeigt, umfasst die Managervorrichtung 14 eine Steuereinheit 31, eine Speichereinheit 32, eine erste Kommunikationseinheit 33, eine zweite Kommunikationseinheit 34 und etwas Ähnliches.
  • Die Steuereinheit 31 der Managervorrichtung 14 umfasst eine CPU und einen RAM. Die CPU der Steuereinheit 31 liest einen oder eine Vielzahl von in der Speichereinheit 32 gespeicherten Programmen in den RAM der Steuereinheit 31 aus und führt die Programme aus, wodurch die Managervorrichtung 14 dazu veranlasst wird, als eine Masterstation zum integralen Steuern der mit der Managervorrichtung 14 verbundenen ECUs 16 zu fungieren.
  • Die CPU der Steuereinheit 31 kann eine Vielzahl von Programmen parallel durch schalten zwischen der Vielzahl von Programmen in einer Zeitteilungsweise beispielsweise ausführen.
  • Die CPU der Steuereinheit 31 umfasst eine Vielzahl von großformatigen integrierten Schaltkreisen (LSIs). In der CPU, umfassend eine Vielzahl von LSIs setzt die Vielzahl von LSIs die Funktion der CPU in Zusammenarbeit miteinander um.
  • Der RAM der Steuereinheit 31 besteht aus einem Speicherelement wie beispielsweise einem SRAM oder einem DRAM und speichert darin zeitweise durch die CPU der Steuereinheit 31 auszuführende Programme und beim Ausführen der Programme benötigte Daten.
  • Die Speichereinheit 32 besteht aus einem nichtflüchtigen Speicherelement wie beispielsweise einem Flash-Speicher oder einem EEPROM oder einer magnetischen Speichervorrichtung wie beispielsweise einer Festplatte.
  • Eine in der Speichereinheit 32 gespeicherte Information umfasst beispielsweise ein Computerprogramm (nachfolgend als „Steuerprogramm“ bezeichnet), welches die CPU der Steuereinheit 31 dazu veranlasst, eine Informationsverarbeitung zum Steuern eines Steuerziels (ECU 16 oder etwas Ähnliches) eines Fahrzeugs 1, für welches die Managervorrichtung 14 zuständig ist, auszuführen.
  • Die Board-Fahrzeugkommunikationsleitung 13A ist mit der ersten Kommunikationseinheit 33 verbunden. Die erste Kommunikationseinheit 33 besteht aus einer Kommunikationsvorrichtung, welche mit dem Gateway 20 entsprechend einem vorbestimmten Kommunikationsstandard wie beispielsweise CAN kommuniziert.
  • Die erste Kommunikationseinheit 33 überträgt an das Gateway 20 eine von der CPU der Steuereinheit 31 bereitgestellte Information und stellt an die CPU der Steuereinheit 31 eine von dem Gateway 20 übertragene Information bereit.
  • Die Board-Fahrzeugkommunikationsleitung 15 ist mit der zweiten Kommunikationseinheit 34 verbunden. Die zweite Kommunikationseinheit 34 besteht aus einer Kommunikationsvorrichtung, welche mit den mit der Boardfahrzeug-Kommunikationsleitung 15 verbundenen ECUs 16 entsprechend einem vorbestimmten Kommunikationsstandards wie beispielsweise LIN kommuniziert.
  • Die zweite Kommunikationseinheit 34 überträgt an eine vorbestimmte ECU 16 eine von der CPU der Steuereinheit 31 bereitgestellte Information und stellt an die CPU der Steuereinheit 31 eine von der ECU 16 übertragene Information bereit.
  • Die CPU der Steuereinheit 31 umfasst eine Einschalteinheit 35, welche den Steuerungsmodus der CPU zwischen einem „normalen Modus „einem „Neuprogrammiermodus“ (nachfolgend ebenso als „Repromodus“ bezeichnet) umschaltet.
  • Der normale Modus der Managervorrichtung 14 ist ein Steuermodus, bei welchem die Managervorrichtung 14 dessen ursprünglicher Steuerung ausführt, das heißt ein Steuermodus, bei welchem die Managervorrichtung 14 als eine Masterstation zum integralen Steuern der ECUs 16 dient.
  • Der Neuprogrammiermodus ist ein Steuermodus, bei welchem der Steuerprogramme der Mainzer Vorrichtung 14 aktualisiert wird. Das heißt, der Neuprogrammiermodus ist ein Steuermodus, bei welchem die CPU der Steuereinheit 31 ein Löschen/Neuschreiben des Steuerprogramms zu/von einem ROM-Bereich in der Speichereinheit 32 ausführt.
  • Nur wenn die CPU der Steuereinheit 31 in diesem Steuermodus ist, kann die CPU das in dem ROM-Bereich in der Speichereinheit 32 gespeicherte Steuerprogramm auf die neue Version aktualisieren.
  • Wenn die CPU der Steuereinheit 31 in dem Repromodus die neue Version des Steuerprogramms in eine Speichereinheit 32 schreibt, startet die Einschalteinheit 35 zeitweise die Managervorrichtung 14 neu und führt einen Bestätigungsprozess an dem Speicherbereich aus, bei welchem die neue Version des Steuerprogramms geschrieben wurde.
  • Nach einem Abschluss des Bestätigungsprozesses betreibt die Einschalteinheit 35 die CPU der Steuereinheit 31 gemäß dem aktualisierten Steuerprogramm.
  • [Interne Konfiguration einer ECU]
  • Wie in 3 gezeigt umfasst die ECU 16 eine Steuereinheit 41, eine Speichereinheit 42, eine Kommunikationseinheit 43 und etwas Ähnliches.
  • Die Steuereinheit 41 der ECU 16 umfasst eine CPU und einen RAM. Die CPU der Steuereinheit 41 liest einen oder eine Vielzahl von in der Speichereinheit 42 gespeicherten Programmen in den RAM der Steuereinheit 41 aus und führt die Programme aus, wodurch die ECU 16 dazu veranlasst wird, als eine Board-Fahrzeugsteuervorrichtung zum Steuern des Betriebs einer Zielvorrichtung, für welchen die ECU 16 zuständig ist, zu fungieren.
  • Die CPU der Steuereinheit 41 kann eine Vielzahl von Programmen parallel durch schalten zwischen der Vielzahl von Programmen in einer Zeitteilungsweise beispielsweise ausführen.
  • Die CPU der Steuereinheit 41 umfasst einen oder eine Vielzahl von großformatigen integrierten Schaltkreisen (LSIs). In der CPU, umfassend eine Vielzahl von LSIs, setzt die Vielzahl von LSIs die Funktion der CPU in Zusammenarbeit miteinander um.
  • Der RAM der Steuereinheit 41 besteht aus einem Speicherelement wie beispielsweise einem SRAM oder einem DRAM und speichert darin zeitweise durch die CPU der Steuereinheit 41 auszuführende Programme und dann Ausführen der Programme benötigte Daten.
  • Die Speichereinheit 42 besteht aus einem nichtflüchtigen Speicherelement wie beispielsweise einem Flash-Speicher oder einem EEPROM oder einer magnetischen Speichervorrichtung wie beispielsweise einer Festplatte.
  • Eine in der Speichereinheit 42 gespeicherte Information umfasst ein Steuerprogramm zum veranlassen der CPU der Steuereinheit 41 eine Informationsverarbeitung zum Steuern eines Boardfahrzeug Steuerziel (Zielvorrichtung wie beispielsweise Innenlicht, Scheinwerfer oder Scheibenwischer, im Fall der ECU 16), für welche die ECU 16 zuständig ist, auszuführen.
  • Die untergeordnete Boardfahrzeug-Kommunikationsleitung 15 ist mit der Kommunikationseinheit 43 verbunden Kommunikationseinheit 43 besteht aus einer Kommunikationsvorrichtung, welche mit der Managervorrichtung 14 als eine Masterstation der ECU 16 oder mit anderen ECUs 16 entsprechend einem vorbestimmten Kommunikationsstandards wie beispielsweise LIN kommuniziert.
  • Die Kommunikationseinheit 43 überträgt an die anderen ECUs 16 oder die Managervorrichtung 14 eine von der CPU der Steuereinheit 41 bereitgestellte Information und stellt an die Steuereinheit 41 einer von anderen ECUs 16 oder der Managervorrichtung 14 übertragene Information bereit.
  • Die CPU der Steuereinheit 41 umfasst eine Einschalteinheit 44, welche den Steuermodus der CPU zwischen dem „normalen Modus „dem „Neuprogrammiermodus“ wechselt.
  • Der normale Modus der ECU 16 ist ein Steuermodus, bei welchem die ECU 16 deren ursprüngliche Steuerung ausführt, das heißt ein Steuermodus, bei welchem die ECU 16 ein Boardfahrzeug Steuerziel steuert, für welches die ECU 16 zuständig ist.
  • Der Neuprogrammiermodus ist ein Steuermodus, bei welchem das Steuerprogramm der ECU 16 aktualisiert wird. Das heißt, der Neuprogrammiermodus ist ein Steuermodus, bei welchem die CPU der Steuereinheit 41 ein Löschen/Neuschreiben des Steuerprogramms von/auf einen ROM-Bereich in der Speichereinheit 42 ausführt.
  • Nur wenn die CPU der Steuereinheit 41 in diesem Steuermodus ist, kann die CPU das in dem ROM-Bereich in der Speichereinheit 42 gespeicherte Steuerprogramm auf die neue Version aktualisieren.
  • Wenn die CPU der Steuereinheit 41 in dem Repromodus die neue Version des Steuerprogramms in die Speichereinheit 42 schreibt startet die Einschalteinheit 44 zeitweise die ECU 16 und führt einen Bestätigungsprozess an dem Speicherbereich aus, bei welchem die neue Version des Steuerprogramms geschrieben wurde. Nach einem Abschluss des Bestätigungsprozesses betreibt die Einschalteinheit 44 die CPU der Steuereinheit 41 dem aktualisierten Steuerprogramm
  • [Sequenz einer Boardfahrzeug-Kommunikation bei einem Programmaktualisieren]
  • 4 ist ein Sequenzdiagramm, welches ein Beispiel eines Konversionsverfahrens in dem Board-Fahrzeugkommunikationssystems 10 in dem Programmaktualisierungssystem gemäß der ersten Ausführungsform zeigt. In der ersten Ausführungsform wird ein Fall beschrieben, bei welchem eine eine Managervorrichtung 14 umfassende ECU 16 ein Steuerprogramm aktualisiert.
  • In 4 ist eine „Slavestation-ECU“ eine mit der Managervorrichtung 14 über die Boardfahrzeug-Kommunikationsleitung 13A verbundene ECU 16 oder eine mit dem Gateway 20 über die Boardfahrzeug-Kommunikationsleitung 13B oder 13C verbundene ECU 16. In 4 bezeichnet „Δ“ ein Aktualisierungsprogramm (Differenzprogramm) für ein Steuerprogramm der ECU 16, welche die Managervorrichtung 14 umfasst.
  • Obwohl ein Aktualisierungsprogramm für ein Steuerprogramm eine neue Version des Steuerprogramms selbst sein kann, wird angenommen, dass in dieser Ausführungsform ein Aktualisierungsprogramm ein Differenzprogramm der alten Version ist. Absatz in diesem Fall, falls ein Aktualisierungsprogramm Δ, welches eine Differenzinformation von Dateien zwischen der alten Version und der neuen Version enthält, in demselben Speicherbereich gespeichert ist, kann die Steuereinheit 41 der ECU 16, umfassend die Managervorrichtung 14, dass Steuerprogramm auf die neue Version durch Anwenden des Aktualisierungsprogramms Δ auf die alte Version aktualisieren.
  • Mit Bezug zu 4 bestätigte erst der Managementserver 3, ob es ein Aktualisierungsprogramm Δ gibt, welches von dem DL Server 4 über das Breitbereichskommunikationsnetzwerk 2 verteilt wurde, das heißt, ob es ein Aktualisierungsprogramm Δ gibt, welches für ein Aktualisieren zu verwenden ist (Schritt S0). Diese Bestätigung kann in der Drahtloskommunikationsvorrichtung 19 ausgeführt werden. Wenn es ein Aktualisierungsprogramm Δ, welches für ein Aktualisieren verwendet werden soll, gibt, wird die nachstehende Sequenz gestartet. Wenn es keinen Aktualisierungsprogramm Δ, welches für ein Aktualisieren zu verwenden ist, gibt, wird die in 4 gezeigte Sequenz nicht gestartet.
  • Wenn es einen für ein Aktualisieren zu verwendendes Aktualisierungsprogrammen gibt, überträgt der Managementserver 3 das Aktualisierungsprogramm Δ an das Gateway 20 (Schritt S1). Ein Übertragen des Aktualisierungsprogramms Δ durch den Managementserver 3 kann in Reaktion auf eine Downloadstartbefehl Anfrage von dem Gateway 20 ausgeführt werden. Das Gateway 20 überprüft, dass der Hersteller des heruntergeladenen Aktualisierungsprogramms Δ gültig ist und dass das Aktualisierungsprogramm Δ nicht verändert wurde, und speichert dann das Aktualisierungsprogramm Δ Internet 22 (S2A).
  • Zu einem vorbestimmten Zeitpunkt nach einem Download des Aktualisierungsprogramms Δ aktualisiert das Gateway 20 ein zu dem Aktualisierungsprogramm Δ gehöriges Steuerprogramm entsprechend einer Aktualisierung der Reihenfolge, welche bei dem Aktualisierungsprogramm Δ eingestellt ist. Zu diesem Zeitpunkt, falls eine Vielzahl von Aktualisierungsprogrammen Δ in der Speichereinheit 22 gespeichert sind, bestimmt das Gateway 20, ob die zugehörigen Steuerprogramme entsprechend der bei den entsprechenden Steuerprogrammen Δ eingestellten Aktualisierungsreihenfolgen zu aktualisieren sind oder nicht. Wenn das Ergebnis der Bestimmung negativ ist, für das Gateway 20 einen Prozess zum neueinstellen der Aktualisierungsreihenfolgen aus (Schritt S3 A). Dann überträgt das Gateway 20 die Aktualisierungsprogramme Δ entsprechend den eingestellten Aktualisierungsreihenfolgen oder der neu eingestellten Aktualisierungsreihenfolgen, wodurch ein Aktualisieren angefragt wird (Schritt S4A-1, S4A-2).
  • Die Managervorrichtung 14, welche eine Aktualisierungsanfrage von dem Gateway 20 oder der ECU 16 empfangen hat, welche eine Aktualisierungsanfrage von dem Gateway 20 über die Managervorrichtung 14 empfangen hat, entwickelt das Aktualisierungsprogramm Δ und wendet das Aktualisierungsprogramm Δ auf die alte Version an, wodurch das Steuerprogramm auf die neue Version überschrieben wird (Schritt S5, S6).
  • Wenn ein Aktualisieren des Steuerprogramms abgeschlossen ist, benachrichtigt die Managervorrichtung 14 das Gateway 20 über den Abschluss der Aktualisierung (Schritt S7-1). Die ECU 16 benachrichtigt das Gateway 20 über den Abschluss des Aktualisierens über die Managervorrichtung 14 (Schritt S7-2). Das Gateway 20 benachrichtigt den Managementserver 3 über den Abschluss der Aktualisierung über die Drahtloskommunikationsvorrichtung 19 (Schritt S7-3, S7-4). Somit kann der Managementserver 3 den Abschluss des Aktualisierens in dem Fahrzeug 1 bestätigen und danach verhindern, dass das Aktualisierungsprogramm Δ des Steuerprogramms von dem DL Server 4 verteilt wird. Falls der Managementserver 3 nicht über den Abschluss des Aktualisierens des Steuerprogramms benachrichtigt wird, veranlasst der Managementserver 3, dass der DL Server 4 ein Aktualisierungsprogramm Δ für das Steuerprogramm erneut verteilt. Auf einen Empfang der Bestätigung lehrt das Gateway 20 den Speicher (Schritt S8A).
  • In der in 4 gezeigten Sequenz, für das Gateway 20 eine Steuerung wie folgt aus. Das heißt, das Gateway 20 aktualisiert Steuerprogramme entsprechend den bei einer Vielzahl von Aktualisierungsprogrammen Δ eingestellten Aktualisierungsreihenfolgen oder führt einen Bestimmungsprozess zum Bestimmen aus, ob eine Vielzahl von Steuerprogrammen entsprechend den Aktualisierungsreihenfolgen aktualisiert werden soll, und aktualisiert die Steuerprogramme entsprechend den Aktualisierungsreihenfolgen, welche neu eingestellt sind, basierend auf dem Ergebnis der Bestimmung. Daher gehört in der ersten Ausführungsform das Gateway 20 zu einer Steuervorrichtungen, welche ein Aktualisieren von Aktualisierungsprogrammen einer Board-Fahrzeugsteuervorrichtung steuert.
  • [Details einer Reihenfolge-Bestimmungsverarbeitung]
  • Wenn ein Aktualisieren eines Steuerprogramms in der Managervorrichtung 14 ausgeführt wird, nachdem die Managervorrichtung 14 in den Repromodus übergeht, werden ein Vorbereitungsprozess zum Neuschreiben des Steuerprogramms auf den ROM-Bereich in der Speichereinheit 32, ein neu Schreibprozess auf dem ROM-Bereich und ein Neustart der Managervorrichtung 14 ausgeführt. Wenn die Managervorrichtung 14 neu gestartet wird, ist die Steuerung gemäß der Vorrichtung 14 für die mit der Managervorrichtung 14 verbundenen ECUs 16 ausgesetzt und diese ECUs 16 klären in die gesteuerten Zustände mit dem Neustart der Managervorrichtung 14 zurück. Die Managervorrichtung 14 und die ECUs 16, welche zu dem ersten Netzwerk gehören, sind miteinander in Kommunikation und sind miteinander in einer komplizierten Weise gebunden. Daher kann der zuvor beschriebene Neustart ein Neustart des gesamten Board-Fahrzeugkommunikationssystems 10 sein.
  • Ebenso, wenn ein Aktualisieren eines Steuerprogramms in einer mit der Managervorrichtung 14 verbundenen ECU 16 ausgeführt wird, oder wenn ein Aktualisieren eines Steuerprogramms in einer ECU 16, welche mit dem Gateway 20 über die Board-Fahrzeugkommunikationsleitung 13B oder 13C verbunden ist, ausgeführt wird, nachdem die ECU 16 in den Repromodus übergeht, werden ein Vorbereitungsprozess zum Neuschreiben des Steuerprogramms auf den ROM-Bereich in der Speichereinheit 42, ein Neuschreibungsprozess auf den ROM-Bereich und einen Neustart der ECU 16 ausgeführt. Wenn die ECU 16 neu gestartet wird, werden Operationen von anderen ECUs 16 in Verbindung mit der ECU 16 wie beispielsweise andere mit derselben Managervorrichtung 14 wie die ECU 16 verbundene ECUs 16 oder andere ECUs 16, welche zu demselben Steuerfeld wie die ECU 16 gehören, ausgesetzt und diese ECUs 16 klären ebenso zu deren normalen Betriebszustände mit dem Neustart der ECU 16 zurück. Ebenso, wenn ein Aktualisieren eines Steuerprogramms in einer ECU 16 ausgeführt wird, welche zu dem ersten Netzwerk gehört, kann der zuvor beschriebene Neustart ein Neustart des gesamten Board-Fahrzeugkommunikationssystems 10 sein.
  • Entsprechend, wenn ein Aktualisieren eines Steuerprogramms in dem ersten Netzwerk ausgeführt wird, kann das Boardfahrzeug-Kommunikation System 10 nicht dessen normalen Betrieb während einer Zeitperiode ausführen, welche zu der Summe gehört: eine Zeitperiode für den Vorbereitungsprozess zum Neuschreiben; eine Zeitperiode zum Neuschreiben; und eine Zeitperiode, von welcher ein Neustart der zugehörigen ECU 16 abgeschlossen ist, bis zu einem Zeitpunkt, wenn die ECUs 16 in Verbindung mit der ECU 16 zu deren normalen Betriebszuständen zurückkehren. Diese Gesamtzeit wird ebenso als eine benötigte Repro-(Aktualisierung) Zeit Tr in der nachstehenden Beschreibung bezeichnet. Die benötigte Reprozeit Tr ist eine Zeitperiode zum Wechseln von dem Repromodus bis zum Zurückkehren in den normalen Modus mit anderen Worten eine Zeitperiode von einem Start eines Aktualisierung eines Steuerprogramms bis zu einem zurückkehren zu dem mit dem aktualisierten Steuerprogramm steuerbaren Zustand. Das heißt, in der ersten Ausführungsform kann die benötigte Reprozeit Tr nicht nur als eine Zeitperiode angenommen werden, während welcher nur die Funktionen der ECU 16, dessen Steuerprogramm zu aktualisieren ist, nicht verwendet werden kann, sondern ebenso eine Zeitperiode, während welcher ein Aktualisieren des Steuerprogramms Vorrichtungen außer der durch die ECU 16 zu steuernden Vorrichtung beeinflusst.
  • Die benötigte Reprozeit Tr schwankt von Steuerprogramm zu Steuerprogramm, in Abhängigkeit von der für ein Aktualisieren eines jeden Steuerprogramms benötigten Speicherkapazität, der Anzahl von neu zu startenden Vorrichtungen und etwas Ähnlichem. Beispielsweise, wenn nur eine ECU 16, deren Steuerprogramm aktualisiert ist, neu gestartet wird, ist die Zeit bis zu einem Abschluss des Neustarts kürzer und die benötigte Reprozeit Tr ist ebenso kürzer als in dem Fall, bei welchem das gesamte Board-Fahrzeugkommunikationssystems 10 neu gestartet wird. Zusätzlich wird, je höher die Prozessleistungsfähigkeit der CPU der Steuereinheit 41 der Ziel-ECU 16 ist, desto kürzer die benötigte Reprozeit Tr.
  • Wenn eine Vielzahl von Aktualisierungsprogrammen Δ in der Speichereinheit 22 gespeichert sind, falls eine Aktualisierung mit einem Aktualisierungsprogramm Δ mit einer längeren benötigten Reprozeit Tr zuerst ausgeführt wird, wird ein Start einer Aktualisierung mit dem nachfolgenden Aktualisierungsprogramm Δ verzögert. Daher, wenn die Anzahl von Steuerprogrammen, deren Aktualisierung innerhalb einer vorbestimmten Zeitperiode abgeschlossen werden soll, betont wird, mit anderen Worten, wenn gewünscht ist, dass ein Aktualisieren von mehreren Steuerprogrammen innerhalb einer kürzeren Zeitperiode abgeschlossen wird, sollte ein Aktualisieren mit einem Aktualisierungsprogramm Δ mit einer längeren benötigten Reprozeit Tr nicht zuerst ausgeführt werden.
  • Daher bestimmt das Gateway 20, welche als eine Steuervorrichtung in der ersten Ausführungsform fungiert, ob Steuerprogramme entsprechend Aktualisierungsreihenfolgen zu aktualisieren sind, welche bei der Vielzahl von in der Speichereinheit 22 gespeicherten Aktualisierungsprogrammen Δ eingestellt sind, basierend auf den benötigten Reprozeiten Tr der entsprechenden Aktualisierungsprogramme Δ. Wenn das Ergebnis der Bestimmung negativ ist, stellt das Gateway 20 die Aktualisierungsreihenfolgen erneut ein, welche bei der Vielzahl von Aktualisierungsprogrammen Δ eingestellt sind.
  • 5 ist ein Flussdiagramm, welches ein Beispiel eines bestimmten Inhalts der Reihenfolge-Bestimmungsverarbeitung im Schritt S3 A zeigt, welche in 4 gezeigt ist. Die CPU der Steuereinheit 21 des Gateways 20 fungiert als die Repro-Steuereinheit 25 durch auslesen von einem oder einer Vielzahl von in der Speichereinheit 22 gespeicherten Programmen in den RAM und durch Ausführen des ausgelesenen Programms, und die in dem Flussdiagramm von 5 gezeigte Verarbeitung wird durch die Repro-Steuereinheit 25 umgesetzt.
  • Mit Bezug zu 5 sortiert die CPU der Steuereinheit 21 die in der Speichereinheit 22 gespeicherten Aktualisierungsprogramme Δ entsprechend vorgeschriebenen Bedingungen (Schritt S101). Die vorgeschriebenen Bedingungen umfassen beispielsweise eine Reihenfolge, in welche die Aktualisierungsprogramme Δ von dem DL Server 4 heruntergeladen sind, eine durch den DL Server 4 angegebenen Reihenfolge, eine Reihenfolge von Größen der Aktualisierungsprogramme Δ und etwas Ähnliches.
  • Als Nächstes bestimmt die CPU für jedes in der Speichereinheit 22 gespeicherten Aktualisierungsprogramme Δ eine benötigte Reprozeit Tr aufgrund der Aktualisierung des Aktualisierungsprogramms Δ (Schritt S103). Alternativ können benötigte repro-Zeiten Tr von dem DL Server 4 bereitgestellt werden. Eine weitere Alternative ist, dass die CPU benötigte Reprozeiten Tr basierend auf einer Information bezüglich Aktualisierungsprogrammen Δ wie beispielsweise der Größe der Aktualisierungsprogramme Δ, bereitgestellt von dem DL Server 4, berechnet.
  • In einer Reihenfolge von einem Aktualisierungsprogramm Δ mit der frühesten Aktualisierungsreihenfolge (mit dem höchsten Ordnungsrang), bestimmt die CPU, ob das zugehörige Steuerprogramm entsprechend der eingestellten Aktualisierungsreihenfolge zu aktualisieren ist oder nicht (Schritte S105 bis S113). Insbesondere vergleicht für das Steuerprogramm Δ mit dem höchsten Ordnungsrang die CPU die benötigte Reprozeit Tr des Aktualisierungsprogramms Δ mit einer vorgeschriebenen Zeit Th, welche vorab gespeichert ist (Schritt S105). Die vorgeschriebene Zeit Th ist ungefähr mehrere 10 Sekunden bis mehrere Minuten.
  • Wenn die benötigte Reprozeit Tr des Aktualisierungsprogramms Δ mit dem höchsten Ordnungsrang länger als die vorgeschriebene Zeit Th ist (Ja im Schritt S105) und andere Aktualisierungsprogramme Δ, deren eingestellte Aktualisierungsreihenfolgen später als die Aktualisierungsreihenfolge des Aktualisierungsprogramms Δ sind, in der Speichereinheit 22 gespeichert sind (Ja im Schritt S106), bestimmt die CPU, dass das zugehörige Steuerprogramm nicht entsprechend der eingestellten Aktualisierungsreihenfolgen aktualisiert werden soll. Wenn das negative Bestimmungsergebnis ankommt, stellt die CPU die Aktualisierungsreihenfolge des Aktualisierungsprogramms Δ auf eine Aktualisierungsreihenfolge ein, welche sich von der frühesten Reihenfolge (dem höchsten Ordnungsrang) unterscheidet, welche eingestellt wurde (Schritt S111). Insbesondere stellt die CPU die Aktualisierungsreihenfolge des Aktualisierungsprogramms Δ später als andere Aktualisierungsprogramme Δ neu ein, deren Aktualisierungsreihenfolge später als die des Aktualisierungsprogramms Δ war. Hierbei wird beispielsweise angenommen, dass die Aktualisierungsreihenfolge des Aktualisierungsprogramms Δ auf die letzte Aktualisierungsreihenfolge neu eingestellt wird (niedrigster Ordnungsrang). In einem anderen Beispiel kann die Aktualisierungsreihenfolge des Aktualisierungsprogramms Δ auf die zweitfrüheste Aktualisierungsreihenfolgen neu eingestellt werden (zweithöchste Ordnungsrang) durch austauschen der Aktualisierungsreihenfolgen zwischen dem Aktualisierungsprogramm Δ und einem Aktualisierungsprogramm Δ der zweitfrühesten Aktualisierungsreihenfolge (zweithöchster Ordnungsrang).
  • Wenn die benötigte Reprozeit Tr innerhalb der vorgeschriebenen Zeit Th ist, bestimmt die CPU, dass das Steuerprogramm unter Verwendung des Aktualisierungsprogramms Δ entsprechend der eingestellten Aktualisierungsreihenfolge aktualisiert wird (Schritt S113). Bei einem Ankommen bei diesem positiven Bestimmungsergebnis führt die CPU die in 4 gezeigte Sequenz bei und nach dem Schritt S4A-1 aus. Somit wird ein Aktualisieren des Steuerprogramms ausgeführt.
  • Auf ein Ankommen bei dem negativen Bestimmungsergebnis in der zuvor beschriebenen Bestimmungsverarbeitung, löscht die CPU vorzugsweise das Aktualisierungsprogramm Δ, welches in der Speichereinheit 22 gespeichert ist (Schritt S109). Somit, wenn ein Aktualisieren eines Steuerprogramms nicht in einer zu aktualisierenden Vorrichtung ausgeführt wird, wird ein unnötiges Aktualisierungsprogramm Δ nicht in der Speichereinheit 22 gespeichert, wodurch verhindert wird, dass der Speicher überlastet wird.
  • Falls die benötigte Reprozeit Tr länger als die vorgeschriebene Zeit Th ist, kann die CPU eine Anwenderauthentifikation ausführen und wenn der Anwender (Fahrer) ein autorisierter Anwender ist und die CPU durch den Anwender zum Verschieben eines Aktualisierens des Aktualisierungsprogramms Δ unbeachtlich der Aktualisierungsreihenfolge angewiesen ist (Ja im Schritt S107), kann die CPU die Aktualisierungsreihenfolge des Aktualisierungsprogramm Δ auf eine Aktualisierungsreihenfolgen neueinstellen, welche sich von der frühesten Reihenfolge (höchster Ordnungsrang) unterscheidet, welche eingestellt wurde (Schritt S111). Somit kann ein autorisierter Anwender wie beispielsweise der Besitzer des Fahrzeugs 1 ein Aktualisieren von Steuerprogrammen verwalten.
  • Wenn die zuvor beschriebene Bestimmung für das Aktualisierungsprogramm Δ der frühesten Aktualisierungsreihenfolge beendet ist, überprüft die CPU, ob andere Aktualisierungsprogramme Δ, deren eingestellte Aktualisierungsreihenfolgen später als die Aktualisierens Reihenfolge des Aktualisierungsprogramms Δ sind, in der Speichereinheit 22 gespeichert sind. Wenn die anderen Aktualisierungsprogramme Δ gespeichert sind (Ja im Schritt S115), wiederholt die CPU die Verarbeitung von Schritt S105, um die zuvor beschriebene Bestimmung an allen in der Speichereinheit 22 gespeicherten Aktualisierungsprogrammen Δ auszuführen (Nein im Schritt S115).
  • [Effekte der ersten Ausführungsform]
  • Gemäß dem Programmaktualisierungssystem der ersten Ausführungsform, wenn eine Vielzahl von Aktualisierungsprogrammen Δ in der Speichereinheit 22 gespeichert sind und ein Aktualisierungsprogramm Δ, dessen benötigte Reprozeit Tr länger als die vorgeschriebene Zeit Th ist, in den Aktualisierungsprogrammen Δ umfasst ist, wird bestimmt, dass ein Aktualisieren von Steuerprogrammen nicht entsprechend Aktualisierungsreihenfolgen ausgeführt werden soll, welche bei diesen Aktualisierungsprogrammen Δ eingestellt sind, und die Aktualisierungsreihenfolgen neu eingestellt werden. Insbesondere für das Aktualisierungsprogramm Δ, dessen benötigte Reprozeit Tr länger als die vorgeschriebene Zeit Th ist, wird die Aktualisierungsreihenfolgen davon derart neu eingestellt, dass ein Aktualisieren des zugehörigen Steuerprogramms auf später als ein Aktualisieren von anderen Steuerprogrammen verschoben wird.
  • Des Aktualisierungsprozess Δ, dessen Aktualisierung verschoben ist, wird von der Speichereinheit 22 gelöscht. Wer Steuerprogramm nicht aktualisiert wird, wird ein Abschluss des Aktualisierens davon nicht an den Managementserver 3 gemeldet. Daher wird in Aktualisierungsprogramm Δ für das Steuerprogramm von dem DL Server 4 erneut runtergeladen. Folglich wird ein Aktualisieren des Steuerprogramms auf einen späteren Zeitpunkt verschoben als ein nächster Download des Aktualisierungsprogramms Δ von dem DL Server 4.
  • Somit wird ein Aktualisieren eines Steuerprogramms unter Verwendung eines Aktualisierungsprogramms Δ, dessen benötigte Reprozeit Tr innerhalb der vorgeschriebenen Zeit Th ist, bevorzugt ausgeführt. Daher kann ein Aktualisieren von mehr Steuerprogrammen innerhalb einer kürzeren Zeitperiode abgeschlossen werden. Das heißt der Aktualisierungsreihenfolgen können flexibel entsprechend der Zeitperiode verändert werden, während welcher ein Aktualisieren ausgeführt werden kann, was in einem effizienten Aktualisieren von Steuerprogrammen resultiert.
  • <Zweite Ausführungsform>
  • In dem obigen Beispiel wird, wenn die benötigte Reprozeit Tr länger als die vorgeschriebene Zeit Th ist, die Aktualisierens Reihenfolge derart zurückgestellt, dass ein Aktualisieren verschoben wird. Allerdings, wenn die benötigte Reprozeit Tr kürzer als die vorgeschriebene Zeit Th ist, kann die Aktualisierungsreihenfolge derart neu eingestellt werden, dass ein Aktualisieren verschoben wird. Beispielsweise, wenn die Zeitperiode, während welcher ein Aktualisieren ausgeführt werden kann, lang ist, kann ein Aktualisieren in einer absteigenden Reihenfolge einer benötigten Reprozeit Tr ausgeführt werden.
  • Die Bedingung für ein Aktualisieren eines Steuerprogramms kann zwischen der Bedingung, dass die benötigte Zeit Tr kürzer als die vorgeschriebene Zeit Th ist, und der Bedingung, dass die benötigte Reprozeit Tr länger als die vorgeschriebene Zeit Th ist, verändert werden. Nur wenn ein bestimmter Anwender zugelassen ist, die Bedingung zu verändern. Weiter kann die vorgeschriebene Zeit Th variabel sein. Nur ein bestimmter Anwender kann zugelassen sein vorgeschriebene Zeit Th zu verändern.
  • Wenn ein Aktualisieren eines Steuerprogramms, dessen benötigte Reprozeit Tr kürzer als die vorgeschriebene Zeit Th ist, bevorzugt ausgeführt wird, kann ein Aktualisieren mit einer langen benötigten Reprozeit Tr zuerst abgeschlossen werden, wenn er Aktualisieren von Steuerprogrammen über eine lange Zeitperiode ausgeführt werden kann. Das heißt, die zuvor Vielzahl von Steuerprogrammen eingestellten Aktualisierungsreihenfolgen können flexibel entsprechend der Zeitperiode geändert werden, während welcher ein Aktualisieren ausgeführt werden kann, was in einem effizienten Aktualisieren von Steuerprogrammen resultiert.
  • <Dritte Ausführungsform>
  • Jede der ECUs 16, welche zu dem zweiten Netzwerk gehören und direkt mit der Drahtloskommunikationsvorrichtung 19 über die Boardfahrzeug-Kommunikationsleitung 13B verbunden sind, ist eine ECU wie beispielsweise eine Multimedia betreffende ECU, welche zum Aktualisieren von Steuerprogrammen durch eine unabhängige Kommunikation mit dem DL Server 4 über die Drahtloskommunikationsvorrichtung 19 geeignet ist. Daher, wenn ein Aktualisieren des Steuerprogramms der ECU 16 ausgeführt wird, nachdem die CPU 16 in den Repromodus übergibt, werden ein Prozess zum Neuschreiben des Steuerprogramms auf dem ROM-Bereich in der Speichereinheit 42 und einen Neustart einer Anwendung, welche auf einer durch die ECU 16 zu steuernden Vorrichtung installiert ist, ausgeführt.
  • Daher, wenn er Aktualisieren eines Steuerprogramms in dem zweiten Netzwerk ausgeführt wird, kann die Anwendung in der zugehörigen Vorrichtung während einer Zeitperiode nicht verwendet werden, welche zu der Summe gehört: eine Zeitperiode für neu Schreibprozess; und eine Zeitperiode, bis ein Neustart der Anwendung abgeschlossen ist. Das heißt, wenn ein Aktualisieren eines Steuerprogramms in dem zweiten Netzwerk ausgeführt wird, gehört die benötigte Reprozeit Tr zu der Summe von: der Zeitperiode für den neu Schreibprozess; und der Zeitperiode, bis ein Neustart der Anwendung abgeschlossen ist. Das heißt, in dieser dritten Ausführungsform kann die benötigte Reprozeit Tr als eine Zeitperiode angenommen werden, während welcher nur die Funktion der ECU 16, deren Steuerprogramms zu aktualisieren ist, nicht verwendet werden kann.
  • 6 ist ein Sequenzdiagramm, welches ein Beispiel eines Kommunikationsmittels in dem On-Board-Fahrzeugkommunikationssystem 10 in dem Programmaktualisierungssystem gemäß der dritten Ausführungsform zeigt. In dieser dritten Ausführungsform wird eine Beschreibung eines Falls gegeben, bei welchem ein Steuerprogramm einer ECU 16, welche zu dem zweiten Netzwerk gehört und direkt mit der Kommunikationsvorrichtung 19 über die Boardfahrzeug-Kommunikationsleitung 13B verbunden ist, aktualisiert wird.
  • Mit Bezug zu 6 speichert in diesem Fall die Drahtloskommunikationsvorrichtung 19 einen von dem DL Server 4 heruntergeladenes Aktualisierungsprogramm Δ in der Speichereinheit 92, nachdem die Sicherheit des Aktualisierungsprogramms Δ überprüft ist (Schritt S2B). Zu einem vorbestimmten Zeitpunkt nach einem herunterladen des Aktualisierungsprogramms Δ aktualisiert die drahtlos Kommunikationsvorrichtung 19 ein zu dem Regierungsprogramm Δ gehöriges Steuerprogramm entsprechend einer bei dem Aktualisierungsprogramm Δ eingestellten Aktualisierungsreihenfolge. Zu diesem Zeitpunkt, falls eine Vielzahl von Aktualisierungsprogrammen Δ in der Speichereinheit 92 gespeichert sind, bestimmt die Drahtloskommunikationsvorrichtung 19, ob die zugehörigen Steuerprogramme entsprechend den beiden entsprechenden Aktualisierungsprogramm Δ eingestellten Aktualisierungsreihenfolgen zu aktualisieren sind oder nicht. Wenn das Ergebnis der Bestimmung negativ ist, führt die Drahtlospublikation Vorrichtung 19 einen Prozess zum neueinstellen der Aktualisierungsreihenfolgen aus (Schritt S3 B). Dann überträgt die drahtlos Kommunikationsvorrichtung 19 die Aktualisierungsprogramme Δ an die Ziel ECUs 16 entsprechend der eingestellten Aktualisierungsreihenfolgen oder der neu eingestellten Aktualisierungsreihenfolgen und fordert die ECUs 16 auf, ein Aktualisieren auszuführen (Schritt S4B). Auf einen Empfang der Aktualisierungsanfrage von der Drahtlospublikation Vorrichtung 19 entwickelt jeder ECU 16 das Aktualisierungsprogramm Δ und wendet das Aktualisierungsprogramm Δ auf die alte Version an, wodurch das Steuerprogramm auf die neue Version überschrieben wird (Schritt S5).
  • Wenn ein Aktualisieren des Steuerprogramms abgeschlossen ist, benachrichtigt die ECU 16 das Gateway 20 über einen Abschluss der Aktualisierung (Schritt S7-5). Das Gateway 20 benachrichtigt den Managementserver 3 über einen Abschluss der Aktualisierung über die Drahtlospublikation Vorrichtung 19 (Schritt S7-6). Somit kann der Managementserver 3 einen Abschluss der Aktualisierung in dem Fahrzeug 1 bestätigen und danach verhindern, dass das Aktualisierungsprogramm Δ des Steuerprogramms von dem DL Server 4 verteilt wird. Wenn der Managementserver 3 nicht über den Abschluss einer Aktualisierung des Steuerprogramms benachrichtigt wird, veranlasste Managementserver 3, dass der DL Server 4 ein neues Programm Δ des Steuerprogramms verteilt. Auf einen Empfang der Benachrichtigung die Drahtlospublikation Vorrichtung 19 den Speicher (Schritt S8B).
  • In der Sequenz von 6 aktualisiert die Drahtloskommunikationsvorrichtung 19 Steuerprogramme entsprechend den einer Vielzahl von Aktualisierungsprogramm Δ eingestellten Aktualisierungsreihenfolgen, oder führt einen Bestimmungsprozess zum Bestimmen aus, ob die Steuerprogramme entsprechend den Aktualisierungsreihenfolgen zu aktualisieren sind oder nicht, und aktualisiert die Steuerprogramme entsprechend den Aktualisierungsreihenfolgen, welche neu eingestellt sind, basierend auf dem Bestimmungsergebnis. Daher gehört in dieser dritten Ausführungsform die Drahtloskommunikation Vorrichtung 19 zu einer Steuervorrichtung, welche ein Aktualisieren von Aktualisierungsprogrammen einer Board-Fahrzeugsteuervorrichtung steuert.
  • In dem Programmaktualisierungssystem gemäß der dritten Ausführungsform führt die Drahtloskommunikationsvorrichtung 19, welche als eine Steuervorrichtung fungiert, den Reihenfolge-Bestimmungsprozess im Schritt S3 B aus. Der Reihenfolge-Bestimmungsprozess im Schritt S3 B ist derselbe wie der Prozess, welcher in dem Flussdiagramm von 5 gezeigt ist. Das heißt, in dem Programmaktualisierungssystem gemäß der dritten Ausführungsform liest die CPU der Steuereinheit 91 der Drahtloskommunikation Vorrichtung 19 ein oder eine Vielzahl von in der Speichereinheit 92 gespeicherten Programmen in den RAM aus und führt das Programm aus, wodurch diese als die Repro-Steuereinheit 95 fungiert. Der in 5 gezeigt Reihenfolge-Bestimmungsprozess wird durch die Repro-Steuereinheit 95 umgesetzt.
  • [Effekte der dritten Ausführungsform]
  • Ebenso wird in dem Programmaktualisierungssystem gemäß der dritten Ausführungsform für ein Aktualisierungsprogramm Δ, dessen benötigte Reprozeit Tr länger als die vorgeschriebene Zeit Th ist, ein Aktualisieren mit diesem Aktualisierungsprogramm Δ verschoben. Das heißt, Aktualisieren unter Verwendung eines Aktualisierungsprogramms Δ, dessen benötigte Reprozeit Tr innerhalb der vorbestimmten Zeit Th ist, wird bevorzugt ausgeführt. Daher kann ein Aktualisieren von mehr Aktualisierungsprogrammen Δ innerhalb einer kürzeren Zeitperiode abgeschlossen werden.
  • <Vierte Ausführungsform>
  • Jede der ECUs 16, welche zu dem zweiten Netzwerk gehören, ist beispielsweise eine Multimedia betreffende ECU und ein Aktualisieren eines Steuerprogramms davon ist beispielsweise ein Aktualisieren einer Anwendung zum Steuern der Multimediavorrichtung. Daher wird eine Hochgeschwindigkeitskommunikation zwischen einer Kommunikationsvorrichtung und der ECU eingerichtet und die Kombinationsvorrichtung kann nicht sicherstellen, dass ein Speicher eine Differenz in einer Kommunikationsgeschwindigkeit aufnimmt. Zusätzlich, da die Kapazität des Speichers der Multimedia betreffenden ECU groß ist, kann die Größe eines jeden Aktualisierungsprogramms Δ keinen signifikanten Einfluss auf die Speicherkapazität haben, selbst wenn das Aktualisierungsprogramm Δ in der Speichereinheit 92 gespeichert wird. Daher, wenn ein Aktualisieren eines Steuerprogramms verschoben wird, weil dessen benötigte Reprozeit Tr länger als die vorgeschriebene Zeit Th ist, kann ein neueinstellen der Aktualisierungsreihenfolge ausgeführt werden, während das zugehörige Aktualisierungsprogramm Δ in der Speichereinheit 92 verbleibt, ohne dieses davon zu löschen.
  • 7 ist ein Flussdiagramm, welches ein Beispiel eines bestimmten Inhalts des Reihenfolge-Bestimmungsprozesses im Schritt S3 B in 6 zeigt. Wenn die CPU der Steuereinheit 91 der Drahtloskommunikation Vorrichtung 19 ein oder eine Vielzahl von in der Speichereinheit 92 gespeicherten Programmen in den RAM ausliest und das Programm ausführt, fungiert die CPU als die Repro-Steuereinheit 95 und die durch das Flussdiagramm von 7 gezeigte Verarbeitung wird durch die Repro-Steuereinheit 95 umgesetzt. In 7 bezeichnen dieselben Schrittnummern wie in dem in 5 gezeigten Flussdiagramm dieselben Prozesse. Daher werden dieselben Prozesse wie in dem in 5 gezeigten Flussdiagramm nicht erneut beschrieben.
  • Mit Bezug zu 7, wenn die CPU der Steuereinheit 91 bestimmt, dass ein Aktualisieren eines Steuerprogramms nicht entsprechend der eingestellten Aktualisierungsreihenfolge ausgeführt werden soll, basierend auf dem Vergleichsergebnis zwischen der benötigten Reprozeit Tr und der vorgeschriebenen Zeit Th (Ja im Schritt S105), stellt die CPU die Aktualisierungsreihenfolge des zugehörigen Aktualisierungsprogramms Δ auf später als die eingestellte Aktualisierungsreihenfolge neu ein (Schritt S201). Beispielsweise stellt die CPU die Aktualisierungsreihenfolge des Aktualisierungsprogramms Δ auf die letzte Aktualisierungsreihenfolge neu ein.
  • In dem Programmaktualisierungssystem gemäß der vierten Ausführungsform wird das Aktualisierungsprogramm Δ, dessen Aktualisierungsreihenfolge entsprechend dem Vergleichsergebnis zwischen der benötigten Reprozeit Tr und der vorgeschriebenen Zeit Th verschoben ist, in der Speichereinheit 92 der ECU 16 gespeichert. Daher kann ein Aktualisieren eines Steuerprogramms unter Verwendung des in der Speichereinheit 92 gespeicherten Aktualisierungsprogramms Δ zu einem Zeitpunkt ausgeführt werden, wenn ein Aktualisieren möglich ist, ohne dass auf den nächsten Download von dem DL Server 4 gewartet werden muss.
  • <Fünfte Ausführungsform>
  • Eine Vielzahl von Aktualisierungsprogrammen Δ, welche von dem DL Server 4 auf die drahtlos Kommunikationsvorrichtungen 19 heruntergeladen sind, kann sowohl Aktualisierungsprogrammen Δ für Vorrichtungen (Managervorrichtung 14 oder ECUs 16), welche zu dem ersten Netzwerk gehören, und Aktualisierungsprogrammen Δ für Vorrichtungen (ECUs 16) umfassen, welche zu dem zweiten Netzwerk gehören. In diesem Fall kann die CPU der Steuereinheit 91 der Drahtloskommunikation Vorrichtung 19 alle Aktualisierungsprogrammen Δ zeitweise in der Speichereinheit 92 speichern und den Reihenfolge-Bestimmungsprozess an der Vielzahl von Aktualisierungsprogrammen Δ ausführen. Das heißt, während in 4 das Gateway 20 als eine Steuervorrichtung zum Ausführen des Reihenfolge-Bestimmungsprozesses (Schritt S3A) an den Aktualisierungsprogrammen Δ für die zu dem ersten Netzwerk gehörigen Vorrichtungen fungiert, kann die Drahtloskommunikationsvorrichtung 19 als eine Steuervorrichtung zum Ausführen des Reihenfolge-Bestimmungsprozesses (Schritt S3B) an allen Aktualisierungsprogrammen Δ fungieren.
  • In diesem Fall, selbst wenn die Aktualisierungsprogramme Δ für die Vorrichtungen (Managervorrichtung 14 oder ECU 16), welche zu dem ersten Netzwerk gehören, und den Aktualisierungsprogrammen Δ für die Vorrichtungen (ECUs 16), welche zu dem zweiten Netzwerk gehören, zusammen von dem DL Server 4 auf die Drahtlospublikation Vorrichtung 19 heruntergeladen werden, wird ein Aktualisieren mit einem Aktualisierungsprogramm Δ, dessen benötigte Reprozeit Tr länger als die vorgeschriebene Zeit Th ist, verschoben. Das heißt, ein Aktualisieren mit einem Aktualisierungsprogramm Δ, dessen benötigte Reprozeit innerhalb der vorgeschriebenen Zeit Th ist, wird bevorzugt ausgeführt. Daher kann ein Aktualisieren von mehr Aktualisierungsprogrammen Δ innerhalb einer kürzeren Zeitperiode abgeschlossen werden.
  • Es wird drauf hingewiesen, dass die hier beschriebenen Ausführungsformen lediglich in allen Aspekten darstellend sind und nicht als einschränkend erkannt werden sollen. Der Schutzbereich der vorliegenden Erfindung wird nicht durch die obige Beschreibung sondern durch den Schutzbereich der Ansprüche definiert und ist dazu gedacht eine Bedeutung zu umfassen, welche zu dem Schutzbereich der Ansprüche äquivalent ist, und alle Modifikationen innerhalb des Schutzbereichs.
  • Bezugszeichenliste
  • 1
    Fahrzeug
    2
    Breitbereich-Kommunikationsnetzwerk
    3
    Managementserver
    4
    Server
    10
    Boardfahrzeug-Kommunikationssystem
    13A, 13B, 13C, 13B, 15
    Boardfahrzeug-Kommunikationsleitung
    14
    Managervorrichtung
    16
    ECU
    19
    Drahtloskommunikationsvorrichtung
    20
    Gateway
    21, 31, 41, 91
    Steuereinheit
    22, 32, 42, 92
    Speichereinheit
    23, 34, 94
    zweite Kommunikationseinheit
    24, 33, 93
    erste Kommunikationseinheit
    26
    dritte Kommunikationseinheit
    27
    vierte Kommunikationseinheit
    25, 95
    Repro-Steuereinheit
    35, 44
    Einschalteinheit
    43
    Kommunikationseinheit
  • 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 2017016539 [0002]

Claims (11)

  1. Eine Steuervorrichtung, ausgebildet zum Steuern eines Aktualisierens eines Steuerprogramms einer Board-Fahrzeugsteuervorrichtung, ausgebildet zum Steuern einer an einem Fahrzeug installierten Zielvorrichtung, wobei die Steuervorrichtung umfasst: einen Speicher, ausgebildet zum Speichern darin von Aktualisierungsprogrammen für Steuerprogramme; und eine Steuereinheit, ausgebildet zum Aktualisieren einer Vielzahl von Steuerprogrammen entsprechend bei einer Vielzahl von in dem Speicher gespeicherten Aktualisierungsprogrammen eingestellten Aktualisierungsreihenfolgen, wobei die Steuereinheit einen Bestimmungsprozess zum Bestimmen ausführt, ob ein Aktualisieren der Vielzahl von Steuerprogrammen entsprechend der Aktualisierungsreihenfolgen auszuführen ist oder nicht, basierend auf einem Vergleich zwischen benötigten Aktualisierungszeiten der Vielzahl von Steuerprogrammen und einem vorbestimmten Schwellenwert.
  2. Die Steuervorrichtung gemäß Anspruch 1, wobei für ein Steuerprogramm, für welches ein Ergebnis des Bestimmungsprozesses negativ ist, die Steuereinheit ein zu diesem Steuerprogramm gehöriges Aktualisierungsprogramm in dem Speicher speichert und die Aktualisierungsreihenfolge des Aktualisierungsprogramms auf später als die zuvor eingestellte Aktualisierungsreihenfolge davon neu einstellt.
  3. Steuervorrichtung gemäß Anspruch 1, wobei für ein Steuerprogramm, für welches ein Ergebnis des Bestimmungsprozesses negativ ist, die Steuereinheit ein zu diesem Steuerprogramm gehöriges Aktualisierungsprogramm von dem Speicher löscht.
  4. Steuervorrichtung gemäß einem der Ansprüche 1 bis 3, wobei, wenn die benötigte Aktualisierungszeit länger als der vorbestimmte Schwellenwert ist, die Steuereinheit ein Ergebnis des Bestimmungsprozesses als negativ bestimmt.
  5. Steuervorrichtung gemäß Anspruch 4, wobei, wenn die benötigte Aktualisierungszeit länger als der vorbestimmte Schwellenwert ist und eine Anwenderauthentifikation erfolgreich ist, die Steuereinheit das Ergebnis des Bestimmungsprozesses als negativ bestimmt.
  6. Steuervorrichtung gemäß einem der Ansprüche 1 bis 3, wobei, wenn die benötigte Aktualisierungszeit kürzer als der vorbestimmte Schwellenwert ist, die Steuereinheit ein Ergebnis des Bestimmungsprozesses als negativ bestimmt.
  7. Steuervorrichtung gemäß Anspruch 6, wobei, wenn die benötigte Aktualisierungszeit kürzer als der vorbestimmte Schwellenwert ist und eine Anwenderauthentifikation erfolgreich ist, die Steuereinheit das Ergebnis des Bestimmungsprozesses als negativ bestimmt.
  8. Steuervorrichtung gemäß einem der Ansprüche 1 bis 3, wobei die Steuereinheit auswählen kann, zwischen einem Bestimmen eines Ergebnisses des Bestimmungsprozesses als negativ, wenn die benötigte Aktualisierungszeit länger als der vorbestimmte Schwellenwert ist, und einem Bestimmen eines Ergebnisses des Bestimmungsprozesses als negativ, wenn die benötigte Aktualisierungszeit kürzer als der vorbestimmte Schwellenwert ist.
  9. Steuervorrichtung gemäß einem der Ansprüche 1 bis 8, wobei der vorbestimmte Schwellenwert variabel ist.
  10. Ein Programmaktualisierungsverfahren zum Aktualisieren eines Steuerprogramms einer Board-Fahrzeugsteuervorrichtung, ausgebildet zum Steuern einer an einem Fahrzeug installierten Zielvorrichtung, wobei das Verfahren die Schritte umfasst: Speichern eines Aktualisierungsprogramms für ein Steuerprogramm in einem Speicher; und Aktualisieren einer Vielzahl von Steuerprogrammen entsprechend bei einer Vielzahl von in dem Speicher gespeicherten Aktualisierungsprogrammen eingestellten Aktualisierungsreihenfolgen, wobei der Schritt zum Aktualisieren der Steuerprogramme ein Bestimmen umfasst, ob ein Aktualisieren der Vielzahl von Steuerprogrammen entsprechend der Aktualisierungsreihenfolgen auszuführen ist oder nicht, basierend auf einem Vergleich zwischen benötigten Aktualisierungszeiten der Vielzahl von Steuerprogrammen und einem vorbestimmten Schwellenwert.
  11. Ein Computerprogramm zum Veranlassen eines Computers als eine Steuervorrichtung zu fungieren, ausgebildet zum Steuern eines Aktualisierens eines Steuerprogramms einer Board-Fahrzeugsteuervorrichtung, ausgebildet zum Steuern einer an einem Fahrzeug installierten Zielvorrichtung, wobei der Computer einen Speicher aufweist, ausgebildet zum Speichern darin von Aktualisierungsprogrammen für Steuerprogramme, das Computerprogramm den Computer dazu veranlasst als eine Steuereinheit zu fungieren, ausgebildet zum Aktualisieren einer Vielzahl von Steuerprogrammen entsprechend bei einer Vielzahl von in dem Speicher gespeicherten Aktualisierungsprogrammen eingestellten Aktualisierungsreihenfolgen, wobei die Steuereinheit einen Bestimmungsprozess zum Bestimmen ausführt, ob ein Aktualisieren der Vielzahl von Steuerprogrammen entsprechend den Aktualisierungsreihenfolgen auszuführen ist oder nicht, basierend auf einem Vergleich zwischen benötigten Aktualisierungszeiten der Vielzahl von Steuerprogrammen und einem vorbestimmten Schwellenwert.
DE112017006978.5T 2017-02-01 2017-12-04 Steuervorrichtungen, Programmaktualisierungsverfahren und Computerprogramm Pending DE112017006978T5 (de)

Applications Claiming Priority (3)

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

Publications (1)

Publication Number Publication Date
DE112017006978T5 true DE112017006978T5 (de) 2019-10-10

Family

ID=63040447

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017006978.5T Pending DE112017006978T5 (de) 2017-02-01 2017-12-04 Steuervorrichtungen, Programmaktualisierungsverfahren und Computerprogramm

Country Status (5)

Country Link
US (1) US10963241B2 (de)
JP (1) JP6376312B1 (de)
CN (1) CN110300954B (de)
DE (1) DE112017006978T5 (de)
WO (1) WO2018142750A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022118843A1 (de) 2022-07-27 2024-02-01 Audi Aktiengesellschaft Verfahren zum Bereitstellen eines Updates für ein Kraftfahrzeug

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6135723B2 (ja) * 2015-08-20 2017-05-31 コベルコ建機株式会社 建設機械及びこれを備えたプログラム書き換えシステム
CN111133412A (zh) * 2017-07-25 2020-05-08 奥罗拉实验室有限公司 基于工具链构建车辆ecu软件的软件增量更新和异常检测
WO2019168907A1 (en) * 2018-02-27 2019-09-06 Excelfore Corporation Broker-based bus protocol and multi-client architecture
US10909050B2 (en) * 2018-03-19 2021-02-02 Toyota Jidosha Kabushiki Kaisha Gateway apparatus and communication method
EP3546355B1 (de) * 2018-03-29 2021-07-07 Airbus Operations GmbH Flugzeugbereich mit einer textilanzeige, und ein flugzeug mit einem solchen flugzeugbereich
US11560240B2 (en) 2018-03-29 2023-01-24 Airbus Operations Gmbh Aircraft area having a textile display, aircraft passenger seat having a textile display, and aircraft including an aircraft area
JP7212736B2 (ja) * 2019-02-22 2023-01-25 本田技研工業株式会社 ソフトウェア更新装置、車両及びソフトウェア更新方法
JP6943903B2 (ja) * 2019-02-22 2021-10-06 本田技研工業株式会社 ソフトウェア更新装置、車両及びソフトウェア更新方法
US11269762B2 (en) 2019-03-25 2022-03-08 Aurora Labs Ltd. Using line-of-code behavior and relation models to anticipate impact of hardware changes
KR20200141296A (ko) * 2019-06-10 2020-12-18 현대자동차주식회사 차량 업데이트 제어 장치 및 방법
JP7415345B2 (ja) * 2019-07-03 2024-01-17 オムロン株式会社 制御システム、サポート装置および設定プログラム
DE112020004103T5 (de) * 2019-08-28 2022-06-15 Denso Corporation Elektronisches fahrzeugsteuersystem, fahrzeugmastervorrichtung, umschreibanweisungsverfahren basierend auf einem überschreiben von konfigurationsfestlegungsinformationen und umschreibanweisungsprogramm basierend auf einem überschreiben von konfigurationsfestlegungsinformationen
CN113094062A (zh) * 2019-12-23 2021-07-09 华为技术有限公司 升级方法及装置
CN111273931B (zh) * 2020-01-20 2023-05-26 宁波吉利汽车研究开发有限公司 一种车载行车电脑并行升级方法及装置
US11463555B2 (en) * 2020-08-04 2022-10-04 Nxp B.V. Local interconnect network (LIN) messaging between LIN partitions separated by a backbone communication network
KR20220028879A (ko) * 2020-08-31 2022-03-08 현대자동차주식회사 차량의 ecu 업데이트 관리 장치 및 그 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017016539A (ja) 2015-07-06 2017-01-19 日本電気株式会社 商品棚認識装置、商品棚認識方法、プログラム及び画像処理装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3726726B2 (ja) * 2001-08-20 2005-12-14 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置および管理ユニット
JP4849968B2 (ja) * 2006-06-13 2012-01-11 コニカミノルタビジネステクノロジーズ株式会社 プログラム更新管理装置
US7802083B2 (en) * 2006-12-20 2010-09-21 Intel Corporation Utilization based installation on a computing system
JP2011070307A (ja) * 2009-09-24 2011-04-07 Toyota Motor Corp プログラム更新装置
JP5240248B2 (ja) 2010-06-29 2013-07-17 トヨタ自動車株式会社 制御装置
JP5267598B2 (ja) 2011-02-25 2013-08-21 トヨタ自動車株式会社 車両制御装置のデータ書き換え支援システム及びデータ書き換え支援方法
US8813061B2 (en) * 2012-10-17 2014-08-19 Movimento Group Module updating device
DE112012007197T5 (de) * 2012-12-05 2015-08-20 Bendix Commercial Vehicle Systems Llc Verfahren und Vorrichtung zum Aktualisieren von Softwarekomponenten in Koordination mit Betriebsablaufbedingungen eines Motorfahrzeugs
JP5939149B2 (ja) 2012-12-18 2016-06-22 トヨタ自動車株式会社 車両用情報処理装置およびプログラム更新方法
EP3046031A4 (de) 2013-09-09 2017-05-17 Nec Corporation Stromspeicherzellensystem, verfahren zur aktualisierung eines stromspeicherzellensystems und programm
JP6216730B2 (ja) 2015-03-16 2017-10-18 日立オートモティブシステムズ株式会社 ソフト更新装置、ソフト更新方法
DE112016000992T5 (de) * 2015-03-30 2017-11-16 Honda Motor Co., Ltd. Programmneuschreibvorrichtung und programmneuschreibverfahren
JP6147790B2 (ja) * 2015-03-30 2017-06-14 本田技研工業株式会社 プログラム書換装置及びプログラム書換方法
JP6009622B1 (ja) * 2015-06-12 2016-10-19 三菱電機株式会社 更新マネジャおよびこれを用いた車載ソフトウェア更新システム
DE112015007179T5 (de) * 2015-12-10 2018-08-23 Mitsubishi Electric Corporation Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Informationsverarbeitungsprogramm
JP6380461B2 (ja) * 2016-06-02 2018-08-29 住友電気工業株式会社 中継装置、プログラム更新システム、およびプログラム更新方法
JP6697357B2 (ja) * 2016-09-15 2020-05-20 株式会社日立製作所 ソフトウェア更新システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017016539A (ja) 2015-07-06 2017-01-19 日本電気株式会社 商品棚認識装置、商品棚認識方法、プログラム及び画像処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022118843A1 (de) 2022-07-27 2024-02-01 Audi Aktiengesellschaft Verfahren zum Bereitstellen eines Updates für ein Kraftfahrzeug
WO2024022732A1 (de) 2022-07-27 2024-02-01 Audi Ag Verfahren zum bereitstellen eines updates für ein kraftfahrzeug

Also Published As

Publication number Publication date
CN110300954B (zh) 2021-05-18
CN110300954A (zh) 2019-10-01
WO2018142750A1 (ja) 2018-08-09
JP6376312B1 (ja) 2018-08-22
US10963241B2 (en) 2021-03-30
US20190361696A1 (en) 2019-11-28
JPWO2018142750A1 (ja) 2019-02-28

Similar Documents

Publication Publication Date Title
DE112017006978T5 (de) Steuervorrichtungen, Programmaktualisierungsverfahren und Computerprogramm
DE112017006980T5 (de) Steuereinrichtung, Programmaktualisierungsverfahren und Computerprogramm
DE102019109672A1 (de) Rückgängigmachung nach einem teilausfall in mehreren elektronischen steuergeräten mittels over-the-air-updates
DE112016006538T5 (de) Programmaktualisierungssystem, Programmaktualisierungsverfahren und Computerprogramm
DE112018004203T5 (de) Steuereinrichtung, Steuerverfahren und Computerprogramm
DE112017004311T5 (de) Bordeigene Aktualisierungsvorrichtung und bordeigenes Aktualisierungssystem
DE112018001894T5 (de) Steuervorrichtung, Übertragungsverfahren und Computerprogramm
DE112016006931T5 (de) Relaisvorrichtung, Programmaktualisierungssystem und Programmaktualisierungsverfahren
DE112017005979T5 (de) Parallelprozessvorrichtung und Parallelprozessprogramm
DE102015014049A1 (de) Steuergeräte-Update im Kraftfahrzeug
DE112017005433T5 (de) Steuervorrichtung, Programmaktualisierungsverfahren und Computerprogramm
DE112017002788T5 (de) Steuervorrichtung, Steuerverfahren und Computerprogramm
DE112009005344T5 (de) Fahrzeug-gateway-vorrichtung
DE102017123252A1 (de) Softwareaktualisierungsverfahren und -vorrichtung für Fahrzeug
DE102016224501A1 (de) System und Verfahren zum Bereitstellen von Software-Updates
DE112018002998T5 (de) Aktualisierungssteuervorrichtung, Steuerverfahren und Computerprogramm
DE112018004090T5 (de) Steuervorrichtung, Steuerverfahren und Computerprogramm
DE112019002411T5 (de) Fahrzeuggebundene Aktualisierungseinrichtung, Aktualisierungsprozessverfahren und Aktualisierungsprozessprogramm
DE112018002400T5 (de) Fahrzeuggebundene Vermittlungseinrichtung, Steuerprogramm und gemeinsames Speichernutzungsverfahren
DE102020104551A1 (de) Sicherung und wiederherstellung einer fahrzeugsteuerungskonfiguration unter verwendung von datenschnappschüssen
DE112018001985T5 (de) Relais-Einrichtung, Transferverfahren und Computerprogramm
DE112018004199T5 (de) Steuervorrichtung, Steuerverfahren und Computerprogramm
DE102020213219A1 (de) Verfahren und Vorrichtung für Over-The-Air-Update eines Fahrzeugs
DE102020104652A1 (de) Programmupdatesystem, Steuerungssystem, mobiler Körper, Programmupdateverfahren und Programm
WO2019096840A1 (de) Verfahren und system zum aktualisieren einer fahrzeugsoftware