DE102020104652A1 - Programmupdatesystem, Steuerungssystem, mobiler Körper, Programmupdateverfahren und Programm - Google Patents

Programmupdatesystem, Steuerungssystem, mobiler Körper, Programmupdateverfahren und Programm Download PDF

Info

Publication number
DE102020104652A1
DE102020104652A1 DE102020104652.9A DE102020104652A DE102020104652A1 DE 102020104652 A1 DE102020104652 A1 DE 102020104652A1 DE 102020104652 A DE102020104652 A DE 102020104652A DE 102020104652 A1 DE102020104652 A1 DE 102020104652A1
Authority
DE
Germany
Prior art keywords
program
memory
storage area
stored
control system
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
DE102020104652.9A
Other languages
English (en)
Inventor
Daiki Matsuda
Yasushi Kojima
Takahiko Kamitsuji
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.)
PANASONIC AUTOMOTIVE SYSTEMS CO., LTD., YOKOHA, JP
Original Assignee
Panasonic Intellectual Property Management Co 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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Publication of DE102020104652A1 publication Critical patent/DE102020104652A1/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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • B60W2050/0083Setting, resetting, calibration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Programmupdatesystem zum Aktualisieren von Programmen, umfassend: eine erste Steuerungsvorrichtung, die ein in ihrem primären Speicherbereich gespeichertes Programm ausführt; eine zweite Steuerungsvorrichtung, die ein in ihrem primären Speicherbereich gespeichertes Programm ausführt; einen Programmspeicher, der ein erlangtes Programm vorübergehend speichert; einen Programmerlanger, der vorzugsweise ein in der ersten Steuerungsvorrichtung zu speicherndes erstes Programm erlangt und in den Programmspeicher speichert und ein in der zweiten Steuerungsvorrichtung zu speicherndes zweites Programm erlangt und in den Programmspeicher speichert; und eine Updateeinheit, die das im Programmspeicher gespeicherte erste Programm in den primären Speicherbereich der ersten Steuerungsvorrichtung speichert, das im Programmspeicher gespeicherte zweite Programm in den primären Speicherbereich der zweiten Steuerungsvorrichtung speichert und den primären Speicherbereich und den sekundären Speicherbereich der ersten Steuerungsvorrichtung umschaltet.

Description

  • Hintergrund der Erfindung
  • Technisches Gebiet
  • Die vorliegende Offenbarung betrifft ein Programmupdatesystem, ein Steuerungssystem, einen mobilen Körper, ein Programmupdateverfahren und ein Programm.
  • Beschreibung des Stands der Technik
  • Im japanischen Patent Nr. 6361671 ist beschrieben, dass, wenn Programme durch eine in einem Fahrzeug montierte Steuerungsvorrichtung aktualisiert werden, vielfache Updateprogramme, von denen bestätigt ist, dass sie nach dem Update gemeinsam arbeiten, in einer Speichereinheit in Priorität zu einem Updateprogramm, das allein aktualisierbar ist, gespeichert werden. Mit dieser im japanischen Patent Nr. 6361671 beschriebenen Technik können, sogar wenn ein freier Speicherplatz einer Übertragungseinheit unzureichend ist, vielfache Steuerungsvorrichtungen aktualisiert werden, von denen bestätigt ist, dass sie gemeinsam arbeiten.
  • Zusammenfassung
  • Die vorliegende Offenbarung schafft ein Programmupdatesystem, ein Steuerungssystem, einen mobilen Körper, ein Programmupdateverfahren und ein Programm, die das Aktualisieren von Programmen betreffen, die in Steuerungsvorrichtungen in einem Steuerungssystem mit vielfachen Steuerungsvorrichtungen benutzt werden.
  • Ein Programmupdatesystem der vorliegenden Offenbarung ist ein Programme aktualisierendes Programmupdatesystem, umfassend: einen Managementserver zum Verwalten von Informationen bezüglich eines Programmupdates; und ein Steuerungssystem, das mit dem Managementserver verbunden ist und eine Vielzahl von die Programme ausführenden Steuerungsvorrichtungen enthält, wobei der Managementserver einen Sender enthält, der an das Steuerungssystem Daten sendet, die eine zum Erlangen eines Programms, das aktualisiert werden muss, verwendete Adresse enthalten, und wobei das Steuerungssystem enthält: eine erste Steuerungsvorrichtung, enthaltend einen primären Speicherbereich und einen sekundären Speicherbereich, die ein in ihrem primären Speicherbereich gespeichertes Programm ausführt; eine zweite Steuerungsvorrichtung, enthaltend einen primären Speicherbereich ohne einen sekundären Speicherbereich, die ein in ihrem primären Speicherbereich gespeichertes Programm ausführt; einen Programmspeicher, der ein erlangtes Programm vorübergehend speichert; einen Programmerlanger, der vorzugsweise ein in der ersten Steuerungsvorrichtung gemäß vom Managementserver empfangenen Daten zu speicherndes erstes Programm erlangt und in den Programmspeicher speichert, das erste Programm aus dem Programmspeicher löscht, wenn das erste Programm aus dem Programmspeicher in den sekundären Speicherbereich der ersten Steuerungsvorrichtung gespeichert wird, und ein in der zweiten Steuerungsvorrichtung zu speicherndes zweites Programm erlangt und in den Programmspeicher speichert; und eine Updateeinheit, die das im Programmspeicher gespeicherte erste Programm in den primären Speicherbereich der ersten Steuerungsvorrichtung speichert, das im Programmspeicher gespeicherte zweite Programm in den primären Speicherbereich der zweiten Steuerungsvorrichtung speichert und den primären Speicherbereich und den sekundären Speicherbereich der ersten Steuerungsvorrichtung umschaltet.
  • Diese allgemeinen und spezifischen Aspekte können durch ein System, ein Verfahren und ein Computerprogramm sowie eine Kombination davon umgesetzt sein.
  • Das Programmupdatesystem, das Steuerungssystem, der mobile Körper, das Programmupdateverfahren und das Programm der vorliegenden Offenbarung ermöglichen ein gleichzeitiges Update beim Programmupdate und kann eine Zeit verkürzen, während der ein Benutzer ein Steuerungssystem aufgrund des Updates nicht nutzen kann.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das einen Aufbau eines Programmupdatesystems gemäß einer ersten Ausführungsform zeigt.
    • 2 ist ein Blockdiagramm, das einen Aufbau eines Steuerungssystems gemäß der ersten Ausführungsform zeigt.
    • 3 ist ein konzeptuelles Diagramm zum Erläutern einer Beziehung zwischen einer Speicherkapazität eines in dem Steuerungssystem enthaltenen Programmspeichers und einer Datenkapazität von zu speichernden Programmen.
    • 4A ist ein konzeptuelles Diagramm zum Erläutern eines Beispiels des Schreibens und Löschens von Daten in dem Steuerungssystem.
    • 4B ist ein konzeptuelles Diagramm zum Erläutern eines weiteren Beispiels des Schreibens und Löschens von Daten in dem Steuerungssystem.
    • 5 ist ein Flussdiagramm zum Erläutern eines Beispiels eines Ablaufs in dem Steuerungssystem gemäß der ersten Ausführungsform.
    • 6 ist ein Flussdiagramm zum Erläutern eines Beispiels eines Ablaufs in einem Managementserver gemäß der ersten Ausführungsform.
    • 7 ist ein Blockdiagramm, das einen Aufbau eines Steuerungssystems gemäß einer zweiten Ausführungsform zeigt.
    • 8 ist ein Flussdiagramm zum Erläutern eines Beispiels eines Ablaufs in dem Steuerungssystem gemäß der zweiten Ausführungsform.
    • 9 ist ein Flussdiagramm zum Erläutern eines Beispiels eines Ablaufs in einem Managementserver gemäß der zweiten Ausführungsform.
    • 10 ist ein Blockdiagramm, das einen Aufbau eines Programmupdatesystems gemäß einer dritten Ausführungsform zeigt.
    • 11 ist ein Flussdiagramm zum Erläutern eines Beispiels eines Ablaufs in dem Steuerungssystem gemäß der dritten Ausführungsform.
    • 12A ist ein Flussdiagramm zum Erläutern eines Beispiels eines Ablaufs der Managementdatenerlangung in einem Managementserver gemäß der dritten Ausführungsform.
    • 12B ist ein Flussdiagramm zum Erläutern eines Beispiels eines Ablaufs des Adressdatensendens in dem Managementserver gemäß der dritten Ausführungsform.
  • Genaue Beschreibung
  • [Der vorliegenden Offenbarung zugrunde liegende Kenntnisse]
  • Ein Automobil ist beispielsweise mit vielfachen, ECUs (elektronische Steuereinheiten) genannten Steuerungsvorrichtungen ausgestattet. Jede der ECUs steuert beispielsweise eine Arbeitsweise eines Fahrpedals, einer Bremse, eines Lenkrads, die Fahrzeuginnenbeleuchtung, das Ein-/Ausschalten eines Scheinwerfers, ein Audiosystem, ein Autonavigationssystem usw. Solche ECUs werden durch jeweilige verschiedene Programme betrieben, und die Programme in den ECUs können gemäß Versionsupgrades der Programme aktualisiert werden.
  • Sogar ein mobiler Körper, wie etwa ein Automobil, weist verschiedene Kommunikationsfunktionen auf und kann durch Hacker angegriffen werden. Das Erleiden eines solchen Angriffs kann einen Unfall verursachen. Daher wird ein Programmupdate, d.h. eine so genannte FOTA-Technik (Firmware Over-the-Air), verwendet, um Maßnahmen gegen Programmverwundbarkeit zu ergreifen, Bugs zu beseitigen und Funktionen zu ergänzen.
  • Vielfache in einem Automobil montierte ECUs können miteinander verbunden sein, um erweiterte Funktionen zu erreichen, wie etwa automatisches Fahren. Programme vielfacher verknüpfter ECUs können zur selben Zeit aktualisiert werden. Wenn vielfache Programme auf diese Weise zur selben Zeit aktualisiert werden, müssen diese vielfachen Programme einmal in einer Speichereinheit einer Übertragungseinheit gespeichert werden, bevor sie insgesamt zur selben Zeit aktualisiert werden. Jedoch weist die Speichereinheit eine begrenzte Speicherkapazität auf, was es schwierig macht, Programme, die diese Kapazität übersteigen, effizient zu erlangen. Da beispielsweise die Steuerungsvorrichtungen nicht arbeiten, wenn Programme aktualisiert werden, kann ein Automobil während dieses Zeitraums nicht benutzt werden, was den Komfort des Benutzers einschränken kann. Insbesondere verursacht ein Starten eines solchen Programmupdates beim Fahren eines Automobils Schwierigkeiten, dass ein Benutzer lange Zeit nicht fahren kann.
  • Wenn in der vorliegenden Offenbarung Programme von Steuerungsvorrichtungen in einem vielfache Steuerungsvorrichtungen enthaltenden Steuerungssystem aktualisiert werden, wird ein Erlangungszeitablauf von Updateprogrammen abhängig von einer Anordnung von Speichern von Steuerungsvorrichtungen festgelegt. Als Ergebnis kann in der vorliegenden Offenbarung das Programmupdate effizient durchgeführt werden. Insbesondere ermöglichen ein Programmupdatesystem, ein Steuerungssystem, ein mobiler Körper, ein Programmupdateverfahren und ein Programm der vorliegenden Offenbarung ein gleichzeitiges Update beim Programmupdate und können eine Ausfallzeit eines Steuerungssystems eines Benutzers aufgrund des Updates verkürzen.
  • [Ausführungsformen]
  • Ein Programmupdatesystem, ein Steuerungssystem, ein mobiler Körper, ein Programmupdateverfahren und ein Programm gemäß Ausführungsformen sind nun mit Bezugnahme auf die Zeichnung beschrieben. Das Programmupdatesystem gemäß Ausführungsformen ist als ein System beschrieben, das Programme aktualisiert, die vielfache in einem mobilen Körper enthaltene Steuerungsvorrichtungen (ECUs) betreiben; jedoch ist die vorliegende Offenbarung nicht auf solche Programme beschränkt. Insbesondere können das Programmupdatesystem, das Steuerungssystem, der mobile Körper, das Programmupdateverfahren und das Programm gemäß den Ausführungsformen verwendet werden, solange vielfache verschiedene Programme gleichzeitig in vielfachen Steuerungsvorrichtungen aktualisiert werden. In der folgenden Beschreibung sind gleiche Bestandteile mit denselben Bezugsnummern bezeichnet und sind nicht beschrieben.
  • In der genauen Beschreibung können unnötige Teile in der Beschreibung hinsichtlich herkömmlicher Techniken und im Wesentlichen derselben Anordnungen zur Vereinfachung der Beschreibung weggelassen sein. Die folgende Beschreibung und die begleitende Zeichnung sind offenbart, um Fachleute zu befähigen, die vorliegende Offenbarung genügend zu verstehen, und sollen den Gegenstand der Ansprüche nicht einschränken.
  • In der folgenden Beschreibung ist ein „mobiler Körper“ als ein Automobil beschrieben; jedoch kann der mobile Körper ein beliebiges sich bewegende Objekt sein, das durch eine Steuerungsvorrichtung gesteuert sein kann. Zum Beispiel ist der mobile Körper ein sich bewegendes Objekt, wie etwa ein Zug, ein Flugzeug, eine Drohne, ein Baustellenfahrzeug und ein Schiff.
  • Das „gleichzeitige Update“ wird beim Update vielfacher Programme bei einer einmalig statt mehrmals wiederholt angehaltenen Systemaktivierung durchgeführt.
  • <Erste Ausführungsform>
  • <Programmupdatesystem>
  • Wie in 1 gezeigt, ist ein Programmupdatesystem 1A gemäß einer ersten Ausführungsform in einem mobilen Körper enthalten, und ein Steuerungssystem 10A, das verschiedene Steuerungen des mobilen Körpers vorsieht, ein Managementserver 20A, der Informationen bezüglich des Programmupdates verwaltet, und ein Vorhalteserver 30, der ein in dem Steuerungssystem 10A verwendetes Programm vorhält, sind über ein Netzwerk 40 verbunden und können eine Datenkommunikation miteinander durchführen.
  • Das Steuerungssystem 10A enthält einen Kommunikator 11, eine Übertragungseinheit 12 und vielfache Steuerungsvorrichtungen (ECUs) 13 (13a, 13b), 14 (14a, 14b) und ist in dem mobilen Körper (nicht gezeigt) angeordnet. Die ECUs 13, 14 speichern jeweilige verschiedene Programme und sehen eine Steuerung verschiedener Anordnungen vor, die in einem Automobil enthalten sind, das der mobile Körper ist.
  • Das Steuerungssystem 10A erlangt Informationen bezüglich eines Updates beliebiger der in den ECUs 13, 14 gespeicherten Programme vom Managementserver 20A und erlangt dann ein aktualisiertes Programm vom Vorhalteserver 30. Der Aufbau des Steuerungssystems 10A ist weiter unten beschrieben. In dem in 1 gezeigten Beispiel ist der einfachen Beschreibung halber das eine Steuerungssystem 10A im Programmupdatesystem 1A enthalten; jedoch ist die Anzahl von Steuerungssystemen nicht beschränkt. Daher können vielfache Steuerungssysteme 10A, enthalten in vielfachen verschiedenen mobilen Körpern, mit dem Managementserver 20A und dem Vorhalteserver 30 verbunden sein.
  • Der Managementserver 20A verwaltet Informationen bezüglich eines Programmupdates. Der Managementserver 20A sendet Adressdaten, die Informationen über den Vorhalteserver 30 sind, der neueste Programme für das Steuerungssystem 10A vorhält. Der Aufbau des Managementservers 20A ist weiter unten beschrieben.
  • Der Vorhalteserver 30 sendet die neuesten Programme an das Steuerungssystem 10A als Antwort auf eine Anfrage vom Steuerungssystem 10A. In dem in 1 gezeigten Beispiel ist der einfachen Beschreibung halber der eine Vorhalteserver 30 im Programmupdatesystem 1A enthalten; jedoch ist die Anzahl von Vorhalteservern nicht beschränkt. Zum Beispiel kann das Steuerungssystem die vielfachen ECUs 13, 14 enthalten, für die jeweils ein Programm von einem anderen Vorhalteserver vorgehalten wird. Daher kann das Steuerungssystem 10A mit vielfachen Vorhalteservern 30 verbunden sein.
  • Das Netzwerk 40 ist ein für ein Datensenden/-empfangen unter dem Steuerungssystem 10A, dem Managementserver 20A und dem Vorhalteserver 30 verwendetes Netzwerk, und sein Kommunikationsverfahren ist nicht eingeschränkt. Wie oben beschrieben, ist das Steuerungssystem 10A im mobilen Körper enthalten. Daher ist beispielsweise ein Teil des Netzwerks 40 mit dem Steuerungssystem 10A unter Verwendung drahtloser Kommunikation verbunden.
  • <Steuerungssystem>
  • Wie in 2 gezeigt, enthält das Steuerungssystem 10A den Kommunikator 11, der eine Kommunikation über das Netzwerk 40 erzielt, die Übertragungseinheit 12, erste ECUs 13 (13a, 13b), und zweite ECUs 14 (14a, 14b).
  • Die ersten ECUs 13 enthalten jeweils einen primären Speicherbereich und einen sekundären Speicherbereich, während die zweiten ECUs 14 jeweils nur einen primären Speicherbereich und keinen sekundären Speicherbereich enthalten. Zum Beispiel ist ein erster Speicher 132 der primäre Speicherbereich, der ein Hauptspeicher ist, und ist ein zweiter Speicher 132 der sekundäre Speicherbereich, der ein Reservespeicher ist. Die ersten ECUs 13 führen jeweils ein im primären Speicherbereich gespeichertes Programm aus, der der Hauptspeicher ist.
  • Der „sekundäre Speicherbereich“ ist ein Speicherbereich, der vorab zum Zweck des Speicherns eines Versions-upgegradeten Programms vorbereitet ist, und der ein anderer ist als ein Bereich, in dem das aktuell ausgeführte Programm gespeichert ist, aus den vielfachen Speichereinheiten oder in einem in vielfache Abschnitte zum Speichern von Programmen unterteilten Bereich.
  • Zum Beispiel enthält, wie in 2 gezeigt, die erste ECU 13a den ersten Speicher 132 und den zweiten Speicher 133, sodass die Steuerungseinheit 131 den primären Speicherbereich und den sekundären Speicherbereich unter Verwendung eines Umschalters 134 umschalten kann. Insbesondere sind in dem in 2 gezeigten Beispiel die Steuerungseinheit 131 und der erste Speicher 132 über den Umschalter 134 verbunden. Daher dient der erste Speicher 132 als der primäre Speicherbereich, und die Steuerungseinheit 131 führt ein im ersten Speicher 132 gespeichertes Programm aus. In diesem Fall ist der zweite Speicher 133 der sekundäre Speicherbereich. Wenn der Umschalter 134 umgeschaltet ist und die Steuerungseinheit 131 vom ersten Speicher 132 getrennt und mit dem zweiten Speicher verbunden ist, dient der erste Speicher 132 als der sekundäre Speicherbereich, während der zweite Speicher 133 als der primäre Speicherbereich dient, und daher führt die Steuerungsvorrichtung 131 ein im zweiten Speicher 133 gespeichertes Programm aus, der als der primäre Speicherbereich dient. In dem nachstehend beschriebenen Beispiel werden der erste Speicher 132, der als der primäre Speicherbereich dient, und der zweite Speicher 133 umgeschaltet, der als der sekundäre Speicherbereich dient. Wenn kein Programm ausgeführt wird, während ein Programm aktualisiert wird, kann in einigen Fällen sowohl auf den primären Speicherbereich, der das gerade ausgeführte Programm speichert, als auch den sekundären Speicherbereich zugegriffen werden, der zum Schreiben und Überprüfen des Updateprogramms verwendet wird; jedoch ist dieser Fall nicht beschrieben.
  • Obwohl nicht gezeigt, ist die erste ECU 13b auch ausgelegt, beispielsweise die Steuerungseinheit 131, die Speicher 132, 133 und den Umschalter 134 zu enthalten, wie bei der ersten ECU 13a. Daher enthält die erste ECU 13b auch den primären Speicherbereich und den sekundären Speicherbereich der Speicher, und die Steuerungseinheit 131 kann die Speicher benutzen, während sie den zu verbindenden Bereich umschaltet.
  • Das Umschalten der Steuerungseinheit 131 und der Speicher 132, 133 ist nicht auf die Anordnung beschränkt, die den in 2 gezeigten Umschalter 134 benutzt. Insbesondere ist es nicht notwendig, die Anordnung zu benutzen, in der zwei Speicher 132, 133 physisch genutzt und durch den Umschalter 134 umgeschaltet werden. Zum Beispiel können Schreib-/Lesebereiche in einem Speicher ausgelegt sein, abhängig von der Zeitsteuerung umgeschaltet zu werden. Daher können die Speicher mit dem primären Speicherbereich und dem sekundären Speicherbereich in verschiedenen Formen erreicht werden, einschließlich einer Anordnung mit vielfachen Speicherbanken, wie etwa einer 2-Bank-Anordnung, einer Vielfach-Verzeichnis-Anordnung, der Verwendung vielfacher SD-Karten, der Verwendung eines Netzwerkspeichers usw.
  • Ein in den Speichern 132, 133 der ersten ECU 13 gespeichertes Programm ist als „erstes Programm“ bezeichnet, und ein in dem Speicher 142 der zweiten ECU 14 gespeichertes Programm ist als „zweites Programm“ bezeichnet. Mit anderen Worten, ein durch die erste ECU 13 mit dem primären Speicherbereich und dem sekundären Speicherbereich ausgeführtes Programm ist als das erste Programm bezeichnet, und ein durch die zweite ECU 14 ohne sekundären Speicherbereich ausgeführtes Programm ist als das zweite Programm bezeichnet. Daher führt jede der ECUs 13 einen Ablauf gemäß dem in dem Speicher 132 oder 133 gespeicherten ersten Programm aus, und jede der ECUs 14 führt einen Ablauf gemäß dem in dem Speicher 142 gespeicherten zweiten Programm aus. Zum Beispiel sehen die Steuerungseinheiten 131, 141 jeweils Steuerungen eines Fahrpedals, einer Bremse, eines Lenkrads, der Fahrzeuginnenbeleuchtung, des Ein-/Ausschaltens eines Scheinwerfers, eines Audiosystems, eines Autonavigationssystems usw. vor.
  • In dem in 2 gezeigten Beispiel enthält das Steuerungssystem 10A einfachheitshalber die beiden ersten ECUs 13a, 13b und die beiden zweiten ECUs 14a, 14b; jedoch sind ihre Anzahlen nicht beschränkt. Automobile enthalten oft eine Vielzahl von ECUs, und ihre Anzahl kann beispielsweise 100 oder 200 überschreiten.
  • Die ECUs 13, 14 können nicht mit einer externen Vorrichtung kommunizieren. Wenn daher die Programme der ECUs 13, 14 in dem Steuerungssystem 10A aktualisiert werden, erlangt zuerst die Übertragungseinheit 12 einmal die in den ECUs 13, 14 verwendeten Programme und speichert die Programme vorübergehend in einem Programmspeicher 129b. Anschließend schreibt die Übertragungseinheit 12 das im Programmspeicher 129b gespeicherte Programm in die Speicher 132, 133, 142 der entsprechenden ECUs 13, 14.
  • Wie in (1) von 3 gezeigt, ist angenommen, dass der Programmspeicher 129b im Steuerungssystem 10A eine maximale Speicherkapazität von „B“ aufweist. Wie in (2) von 3 gezeigt, ist auch angenommen, dass ein durch die erste ECU 13a ausgeführtes Programm P11 ein Datenvolumen von „B1“ aufweist, dass ein durch die erste ECU 13b ausgeführtes Programm P12 ein Datenvolumen von „B2“ aufweist, dass ein durch die zweite ECU 14a ausgeführtes Programm P21 ein Datenvolumen von „B3“ aufweist, und dass ein durch die zweite ECU 14b ausgeführtes Programm P22 ein Datenvolumen von „B4“ aufweist.
  • In dem in 3 gezeigten Beispiel übersteigt das gesamte Datenvolumen (B1+B2+B3+B4) der Programme P11, P12, P21, P22 die Speicherkapazität (B) des Programmspeichers 129b der Übertragungseinheit 12. Daher kann in diesem Beispiel die Übertragungseinheit 12 nicht alle Programme P11 bis P22 zur gleichen Zeit im Programmspeicher 129b speichern. Somit erlangt das Steuerungssystem 10A gemäß der vorliegenden Offenbarung die Programme P11 bis P22 nacheinander mit einem weiter unten beschriebenen Verfahren, um das Programmupdate effizient zu erzielen.
  • Der Kommunikator 11 ist ein Schnittstellenschaltkreis (-modul), der eine Kommunikation mit dem Managementserver 20A über das Netzwerk 40 ermöglicht. Zum Beispiel führt der Kommunikator 11 die Kommunikation gemäß Standards, wie etwa Wi-Fi, IEEE 802.2, IEEE 802.3, 3G, LTE und 5G, durch.
  • Die Übertragungseinheit 12 überträgt die Kommunikation zwischen einer externen Vorrichtung, die ein so genanntes Gateway ist, und den vielfachen ECUs 13, 14 und enthält beispielsweise eine Steuerungseinheit 122 und eine Speichereinheit 129.
  • Die Speichereinheit 129 ist ein nichtflüchtiges computerlesbares Aufzeichnungsmedium, das Programm und Informationen speichert, und ist beispielsweise ein Aufzeichnungsmedium, das verschiedene Arten von Informationen aufzeichnet. Die Speichereinheit 129 ist beispielsweise ausgeführt als RAM, ROM, Flashspeicher, SSD (Festkörperlaufwerk), Festplatte, andere Speichervorrichtung oder eine geeignete Kombination davon.
  • Die Speichereinheit 129 enthält mindestens einen Managementdatenspeicher 129a, der Managementdaten speichert, und den Programmspeicher 129b, der ein von dem oben mit Bezugnahme auf 1 beschriebenen Vorhalteserver 30 erlangtes Programm vorübergehend speichert. Die Speichereinheit 129 speichert auch ein Updateausführungsprogramm P zum Ausführen eines Programmupdatevorgangs im Steuerungssystem 10A.
  • Die im Managementdatenspeicher 129a gespeicherten Managementdaten sind Daten, die ECU-Identifikationsinformationen, wie etwa Modellnummern der ECUs 13, 14, mit Versionsnummern usw. verknüpfen, die die Versionen der in den Speichern der ECUs 13, 14 gespeicherten Programme kennzeichnen. Zum Beispiel können diese Managementdaten zum Bestimmen benutzt werden, ob jede der ECUs 13, 14 den sekundären Speicherbereich aufweist.
  • Obwohl nicht mit Bezugnahme auf die Zeichnung beschrieben, werden, wenn neue Programm in den Speichern 132, 133, 142 der ECUs 13, 14 gespeichert werden, die im Managementdatenspeicher 129a gespeicherten Managementdaten als Daten neu geschrieben, die die Informationen mit den Versionsnummern usw. verknüpfen, die die Versionen der neu gespeicherten Programme kennzeichnen. Daher werden die Versionen der aktuell in den ECUs 13, 14 benutzten Programme mit den Managementdaten verwaltet.
  • Der Programmspeicher 129b speichert beim Programmupdate der ECUs 13, 14 erlangte neue Programme. Wie oben mit Bezugnahme auf 3 beschrieben, weist der Programmspeicher 129b eine im Vorhinein beschränkte Speicherkapazität auf und kann keine Programme mit einem Datenvolumen speichern, das die Speicherkapazität überschreitet. Wenn es daher vielfache Programme mit einem gesamten Datenvolumen erlangt, das die Speicherkapazität des Programmspeichers 129b überschreitet, erlangt das Steuerungssystem 10A die Daten zu mehreren Zeiten in einer aufgeteilten Weise.
  • Die Steuerungseinheit 122 ist eine CPU, MPU usw., die als Steuerungseinheit dient, die für die Steuerung des gesamten Steuerungssystems 10A verantwortlich ist. Die Steuerungseinheit 122 erlangt das in der Speichereinheit 129 gespeicherte Updateausführungsprogramm P und führt es aus, um Vorgänge als Managementdatensender 123, Listenerlanger 124, Bestimmer 125, Programmerlanger 126 und Updateeinheit 127, wie in 2 gezeigt, auszuführen. Die Steuerungseinheit 122 ist nicht auf eine Einheit beschränkt, die eine vorgegebene Funktion durch ein Zusammenwirken zwischen Hardware und Software erzielt, und kann ein exklusiv zum Erzielen einer vorgegebenen Funktion ausgelegter Hardwareschaltkreis sein. Daher kann die Steuerungseinheit 122 durch verschiedene Prozessoren ausgeführt sein, wie etwa CPU, MPU, GPU, FPGA, DSP und ASIC.
  • Der Managementdatensender 123 sendet die im Managementdatenspeicher 129a gespeicherten Managementdaten zu einer vorgegebenen Zeit an den Managementserver 20A. Die vorgegebene Zeit ist ein Zeitpunkt zum Überprüfen, ob ein Programm zum Ausführen jeder der ECUs aktualisiert ist, und ist beispielsweise ein Zeitpunkt, zu dem eine Zubehörstromquelle des Automobils eingeschaltet wird, sodass der Kommunikator kommunizieren kann. Ferner ist die vorgegebene Zeit beispielsweise ein Zeitpunkt eines regelmäßigen Updates, wenn ein bestimmter Zeitraum seit dem vorherigen Programmupdate verstrichen ist.
  • Der Listenerlanger 124 erlangt Adressdaten, die Informationen bezüglich eines Programmupdates sind, vom Managementserver 20A. Zum Beispiel sind die Adressdaten Daten, die die Modellnummern der ECUs 13, 14, die das Programmupdate benötigen, im Steuerungssystem 10A mit zum Erlangen der Programme benutzten Adressen verknüpfen.
  • Der Bestimmer 125 bestimmt, ob die ECU mit einem zu aktualisierenden Programm den sekundären Speicherbereich aufweist. Wie oben beschrieben, kann bestimmt werden, ob die Speicher den sekundären Speicherbereich aufweisen, indem eine Modellnummer usw. verwendet wird, die in den im Managementdatenspeicher 129a gespeicherten Managementdaten enthalten ist. Daher liest der Bestimmer 125 die Managementdaten im Managementdatenspeicher 129a aus und benutzt sie für die Bestimmung.
  • Wenn die Bestimmung durch den Bestimmer 125 abgeschlossen ist, beginnt der Programmerlanger 126, ein neues Programm für das Update zu erlangen. Der Programmerlanger 126 erlangt vorzugsweise das erste Programm, das aktualisiert werden muss, bevor er das zweite Programm erlangt, das aktualisiert werden muss.
  • Insbesondere erlangt der Programmerlanger 126 vorzugsweise das erste Programm vom Vorhalteserver 30 und speichert es in den Programmspeicher 129b und gibt eine Meldung über den Abschluss der Erlangung des ersten Programms an die Updateeinheit 127 aus. Wenn eine Abschlussmeldung von der Updateeinheit 127 hinsichtlich des Schreibens des ersten Programms aus dem Programmspeicher 129b in den zweiten Speicher 133, der als der sekundäre Speicherbereich der ersten ECU 13a dient, eingegeben wird, löscht der Programmerlanger 126 das erste Programm im Programmspeicher 129b. Anschließend erlangt der Programmerlanger 126 vorzugsweise das zweite Programm vom Vorhalteserver 30 und speichert es in den Programmspeicher 129b und gibt eine Meldung über den Abschluss der Erlangung des zweiten Programms an die Updateeinheit 127 aus. Wenn beispielsweise eine Abschlussmeldung von der Updateeinheit 127 hinsichtlich des Speicherns des zweiten Programms in den Speicher 142 eingegeben wird, kann der Programmerlanger 126 das im Programmspeicher 129b gespeicherte zweite Programm löschen.
  • Wenn mehrere erste Programme aktualisiert werden müssen und eine gesamte Datenmenge aufweisen, die die Speicherkapazität des Programmspeichers 129b überschreitet, erlangt der Programmerlanger 126 die ersten Programme zu mehreren Zeiten in einer aufgeteilten Weise . Wenn mehrere zweite Programme aktualisiert werden müssen und eine gesamte Datenmenge aufweisen, die die Speicherkapazität des Programmspeichers 129b überschreitet, erlangt der Programmerlanger 126 die zweiten Programme zu mehreren Zeiten in einer aufgeteilten Weise.
  • Der Programmerlanger 126 kann ein gesamtes aktualisiertes Programm, d.h. neues Programm, erlangen oder kann einen Teil des aktualisierten Programms erlangen. Das Erlangen eines Teils bedeutet, nur einen Unterschied zwischen dem Programm der durch die im Managementdatenspeicher 129a gespeicherten Managementdaten angegebenen Version und dem Programm der neuesten Version zu erhalten. Zum Beispiel wird in einigen Fällen nur ein Teil eines alten Programms in einem Updateprogramme neu geschrieben, und in einem solchen Fall kann das Erlangen nur des neu geschriebenen Teils die Zeit verkürzen, die für die Programmerlangung erforderlich ist, und kann die im Programmspeicher 129b beim Programmupdate genutzte Kapazität verringern.
  • Wenn eine Meldung über das Speichern des neuen ersten Programms im Programmspeicher 129b vom Programmerlanger 126 eingegeben ist, speichert die Updateeinheit 127 das im Programmspeicher 129b gespeicherte neue erste Programm in den Speicher 133, der als der sekundäre Speicherbereich der ersten ECU 13 dient. Wenn eine Meldung über das Speichern des neuen zweiten Programms im Programmspeicher 129b vom Programmerlanger 126 eingegeben ist, speichert die Updateeinheit 127 das im Programmspeicher 129b gespeicherte neue zweite Programm in den Speicher 142 der zweiten ECU.
  • Ferner startet die Updateeinheit 127 die ECUs 13, 14 neu, um die neuen Programme auszuführen. Insbesondere hält die Updateeinheit 127 nach dem Speichern des ersten Programms in den zweiten Speicher 133 die Ausführung der Programme in den vielfachen Steuerungsvorrichtungen an, um die zweite ECU 14 aus einem normalen Zustand des Ausführens des Programms in einen Repro-Modus zu bringen (einen Modus zum Ausführen eines dedizierten Verfahrens zum Aktualisieren eines Programms) . Als Ergebnis wird der Repro-Modus erzielt, sodass das neue zweite Programm in den Speicher 142 der zweiten ECU gespeichert werden kann. Die Updateeinheit 127 schreibt das zweite Programm in den Speicher 142 der zweiten ECU 14, schaltet den ersten Speicher 132 und den zweiten Speicher 133 der ersten ECU 13a um, um den zweiten Speicher 133 als den primären Speicherbereich festzulegen, und startet dann alle ECUs 13, 14 neu, um das Programmupdateverfahren auszuführen. Zum Beispiel kann die Updateeinheit 127 das zweite Programm aus dem Programmspeicher 129b zu dem Zeitpunkt löschen, wenn das zweite Programm in den Speicher 142 gespeichert wird.
  • (Programmupdate)
  • Ein Beispiel in dem Fall des Erlangens der Programme P11, P12, P21, P22 ist mit Bezugnahme auf 4A beschrieben. Der Programmerlanger 126 erlangt das erste Programm P11 und schreibt es in den Programmspeicher 129b. Die Updateeinheit 127 speichert das erste Programm P11 im Programmspeicher 129b in den zweiten Speicher 133, der als der sekundäre Speicherbereich der ersten ECU 13a dient (Erlangung 1). Anschließend löscht der Programmerlanger 126 das erste Programm P11 im Programmspeicher 129b (Löschung 1).
  • Der Programmerlanger 126 erlangt dann das erste Programm P12 und schreibt es in den Programmspeicher 129b. Die Updateeinheit 127 speichert das erste Programm P12 im Programmspeicher 129b in den zweiten Speicher 133, der als der sekundäre Speicherbereich der ersten ECU 13b dient (Erlangung 2). Anschließend löscht der Programmerlanger 126 das erste Programm P12 im Programmspeicher 129b (Löschung 2).
  • Anschließend erlangt der Programmerlanger 126 die zweiten Programme P21, P22 und schreibt sie in den Programmspeicher 129b. Die Updateeinheit 127 speichert das zweite Programm P21 im Programmspeicher 129b in den Speicher 142 der zweiten ECU 14a und speichert das zweite Programm P22 in den Speicher 142 der zweiten ECU 14b (Erlangung 3).
  • Wenn die Programme aktualisiert werden, muss das Steuerungssystem 10A das System anhalten. Das System wird angehalten, da kein Vorgang während der Zeit ausgeführt werden kann, die zum Schreiben und Neustarten der Speicher in den ECUs 13, 14 erforderlich ist. Wenn in dem Beispiel von 4A der als der sekundäre Speicherbereich dienende zweite Speicher 133 nicht benutzt werden kann, muss das System von dem Zeitpunkt des Beginns des Schreibens des ersten Programms P11 aus dem Programmspeicher 129b in den ersten Speicher 132 in „Erlangung 1“ an bis zum Zeitpunkt des Ende des Schreibens der zweiten Programme P21, P22 aus dem Programmspeicher 129b in die Speicher 142 angehalten sein. Insbesondere ist dies so, weil der als der sekundäre Speicherbereich dienende zweite Speicher 133 für die Ausführung der ECU 13 nicht benötigt wird, und daher kann das im als der primäre Speicherbereich dienenden ersten Speicher 132 gespeicherte Programm zum Ausführen eines Ablaufs ohne ein Anhalten des Steuerungssystems 10A verwendet werden.
  • In dem Beispiel des in 4A gezeigten Verfahrens werden die ersten Programme P11, P12 in den als der sekundäre Speicherbereich dienenden Speicher 133 geschrieben statt in den als der primäre Speicherbereich dienenden Speicher 132, in dem das auszuführende Programm gespeichert ist, sodass das System beim Schreiben in die Speicher nicht angehalten werden muss. Daher braucht in dem in 4A gezeigten Beispiel das System nur angehalten zu werden, während in der „Erlangung 3“ die zweiten Programme P21, P22 aus dem Programmspeicher 129b in die Speicher 142 geschrieben werden. Daher kann ein Verwenden des in 4A gezeigten Verfahrens die Zeit minimieren, während der ein Benutzer das Steuerungssystem 10A nicht benutzen kann.
  • Das Programmschreibverfahren ist nicht auf das in 4A gezeigten Verfahren beschränkt und kann beispielsweise wie in 4B gezeigt durchgeführt werden. In dem in 4B gezeigten Beispiel erlangt der Programmerlanger 126 die ersten Programme P11, P12 und schreibt sie in den Programmspeicher 129b. Die Updateeinheit 127 speichert das erste Programm P11 im Programmspeicher 129b in den zweiten Speicher 133, der als der sekundäre Speicherbereich der ersten ECU 13a dient und speichert das erste Programm P12 in den zweiten Speicher 133, der als der sekundäre Speicherbereich der ersten ECU 13b dient (Erlangung 1). Anschließend löscht der Programmerlanger 126 das erste Programm P11 und das erste Programm P12 im Programmspeicher 129b (Löschung 1).
  • Dann erlangt der Programmerlanger 126 die zweiten Programme P21, P22 und schreibt sie in den Programmspeicher 129b, und die Updateeinheit 127 speichert das zweite Programm P21 im Programmspeicher 129b in den Speicher 142 der zweiten ECU 14a und speichert das zweite Programm P22 in den Speicher 142 der zweiten ECU 14b (Erlangung 2).
  • Ähnlich braucht in dem in 4B gezeigten Beispiel das System nur angehalten zu werden, während in der „Erlangung 2“ die zweiten Programme P21, P22 aus dem Programmspeicher 129b in die Speicher 142 geschrieben werden. Daher kann wie in dem oben mit Bezugnahme auf 4A beschriebenen Fall das Verfahren die Zeit minimieren, während der ein Benutzer das Steuerungssystem 10A nicht benutzen kann.
  • <Managementserver>
  • Der Managementserver 20A ist mit Bezugnahme auf 1 beschrieben. Der Managementserver 20A enthält einen Kommunikator 21, eine Steuerungseinheit 22 und eine Speichereinheit 23.
  • Der Kommunikator 21 ist ein Schnittstellenschaltkreis (-modul) zum Ermöglichen einer Kommunikation mit dem Steuerungssystem 10A über das Netzwerk 40. Der Kommunikator 21 führt die Kommunikation gemäß Standards, wie etwa Wi-Fi, IEEE 802.2, IEEE 802.3, 3G, LTE und 5G, durch.
  • Die Speichereinheit 23 ist ein Speichermedium, das Informationen speichert, und ist beispielsweise ein Aufzeichnungsmedium, das verschiedene Arten von Informationen aufzeichnet. Die Speichereinheit 23 ist beispielsweise ausgeführt als RAM, ROM, Flashspeicher, SSD (Festkörperlaufwerk), Festplatte, andere Speichervorrichtung oder eine geeignete Kombination davon. Die Speichereinheit 23 speichert Listendaten D1 und Updatedaten D2.
  • Die Steuerungseinheit 22 ist eine Steuerungseinheit, die für die Steuerung des gesamten Managementservers 20A verantwortlich ist. Die Steuerungseinheit 22 enthält einen Mehrzweckprozessor, wie etwa eine CPU oder eine MPU, die eine vorgegebene Funktion durch ein Ausführen eines Programms erzielt. Zum Beispiel wird in dem Managementserver 20A ein in der Speichereinheit 23 gespeichertes Managementprogramm (nicht gezeigt) ausgelesen und ausgeführt, sodass die Steuerungseinheit 22 Vorgänge als Erlanger 221, Bestimmer 222 und Sender 223 ausführt. Die Steuerungseinheit 22 ist nicht auf eine Einheit beschränkt, die eine vorgegebene Funktion durch ein Zusammenwirken zwischen Hardware und Software erzielt, und kann ein exklusiv zum Erzielen einer vorgegebenen Funktion ausgelegter Hardwareschaltkreis sein. Daher kann die Steuerungseinheit 22 durch verschiedene Prozessoren ausgeführt sein, wie etwa CPU, MPU, GPU, FPGA, DSP und ASIC.
  • Der Managementserver 20A kann durch einen Einzelcomputer umgesetzt sein oder kann durch eine Kombination von über ein Netzwerk verbundenen vielfachen Computern umgesetzt sein. Zum Beispiel können alle oder ein Teil der in der Speichereinheit 23 gespeicherten Daten in einem über das Netzwerk 40 verbundenen externen Speichermedium gespeichert sein, und der Managementserver 20A kann ausgelegt sein, die in dem externen Speichermedium gespeicherten Daten zu nutzen. Insbesondere können die Listendaten D1 und die Updatedaten D2 in dem externen Speichermedium gespeichert sein.
  • Die Listendaten D1 sind Daten bezüglich des neuesten Programms, das die Ausführung der ECUs 13, 14 ermöglicht. Zum Beispiel verknüpfen die Listendaten D1 die Identifikationsinformationen des Steuerungssystems 10A, die als die Identifikationsinformationen der ECUs 13, 14 definierten, in dem Steuerungssystem 10A enthaltenen Modellnummern usw. und die neuesten Versionsnummern des Programms.
  • Die Updatedaten D2 sind Daten bezüglich Zugriffsinformationen des Vorhalteservers 30, der die Programme vorhält, die die Ausführung der ECUs 13, 14 ermöglichen. Zum Beispiel verknüpfen die Updatedaten D2 die als die Identifikationsinformationen der ECUs 13, 14 definierten Modellnummern usw. mit der Adresse des Vorhalteservers 30, der die durch die ECUs verwendeten Programme vorhält. Insbesondere enthalten die Updatedaten D2 die IP-Adresse und den Domainnamen des Vorhalteservers 30, der die Programme vorhält.
  • Der Erlanger 221 erlangt die vom Steuerungssystem 10A gesendeten Managementdaten. Die erlangten Managementdaten werden zum Bestimmer 222 ausgegeben.
  • Der Bestimmer 222 bestimmt die Notwendigkeit des Programmupdates danach, ob das durch jede der ECUs 13, 14 benutzte Programm die neueste Version ist. Genauer liest der Bestimmer 222 die Listendaten D1 aus der Speichereinheit 23 aus und vergleicht die in den Managementdaten enthaltene Versionsnummer mit der in den Listendaten D1 enthaltenen Versionsnummer. Wenn als Ergebnis des Vergleichs die für die ECUs 13, 14 aktuell verfügbaren Programme nicht die neueste Version sind, bestimmt der Bestimmer 222, dass das Programmupdate erforderlich ist. Genauer, wenn die in den Managementdaten enthaltenen Versionsnummern der Programme verschieden sind von den Versionsnummern der Programme in den Listendaten D1, bestimmt der Bestimmer 222, dass die Programme nicht die neueste Version sind und aktualisiert werden müssen.
  • Wenn bestimmt ist, dass die Steuerungsvorrichtung vorhanden ist, die ein Programmupdate erfordert, sendet der Sender 223 die für das Programmupdate benutzten Adressdaten. Insbesondere erzeugt der Sender 223 die Adressdaten, einschließlich der als die Identifikationsinformationen der ECUs 13, 14 definierten Modellnummer usw. und der in den Updatedaten D2 für das Programm, das aktualisiert werden muss, enthaltenen Adresse des Vorhalteservers. Der Sender 223 sendet die erzeugten Adressdaten an das Steuerungssystem 10A.
  • Das Programmupdatesystem 1A gemäß der oben beschriebenen ersten Ausführungsform ermöglicht ein gleichzeitiges Update vielfacher Programme beim Programmupdate in dem Steuerungssystem 10A und kann die Ausfallzeit aufgrund des gleichzeitigen Updates in dem Steuerungssystem 10A verkürzen, sodass das effiziente Programmupdate ausgeführt werden kann.
  • <Programmupdateverfahren>
  • Ein Beispiel des Programmupdateablaufs ist mit Bezugnahme auf in 5 und 6 gezeigte Flussdiagramme beschrieben.
  • (Steuerungssystem)
  • Der Ablauf in dem Steuerungssystem 10A ist zuerst mit Bezugnahme auf 5 beschrieben.
  • Das Steuerungssystem 10A sendet die Managementdaten zu einer vorgegebenen Zeit an den Managementserver 20A (S01).
  • Wenn keine Adressdaten vom Managementserver 20A als Antwort auf die bei Schritt S01 gesendeten Managementdaten erlangt werden (Nein bei S02), beendet das Steuerungssystem 10A den Ablauf, da kein Programm zu aktualisieren ist.
  • Wenn dagegen die Adressdaten erlangt werden (Ja bei S02), bestimmt das Steuerungssystem 10A, ob das erste Programm vorhanden ist, das aktualisiert werden muss (S03).
  • Wenn das erste Programm vorhanden ist, das aktualisiert werden muss (Ja bei S03), erlangt das Steuerungssystem 10A das erste Programm, das aktualisiert werden muss, gemäß dem Erlangungsverfahren, das in den bei Schritt S02 erlangten Adressdaten enthalten ist, und speichert das erste Programm in die Speichereinheit 129b (S04).
  • Anschließend speichert das Steuerungssystem 10A das im Programmspeicher 129b gespeicherte erste Programm in den zweiten Speicher 133, der als der sekundäre Speicherbereich der ersten ECU 13 dient(S05).
  • Das Steuerungssystem 10A löscht dann das im Programmspeicher 129b gespeicherte erste Programm (S06).
  • Wenn kein Programm aktualisiert werden muss (Nein bei S03) , geht das Steuerungssystem 10A zu Schritt S07, ohne die Vorgänge der Schritte S04 bis S06 auszuführen.
  • Das Steuerungssystem 10A erlangt dann das zweite Programm, das aktualisiert werden muss, gemäß dem Erlangungsverfahren, das in den bei Schritt S02 erlangten Adressdaten enthalten ist, und speichert das zweite Programm in die Speichereinheit 129b (S07) .
  • Anschließend ändert das Steuerungssystem 10A die zweite ECU in den Repro-Modus (S08) . Als Ergebnis hält die Ausführung des Programms in der zweiten ECU an.
  • Das Steuerungssystem 10A speichert dann das im Programmspeicher 129b gespeicherte zweite Programm in den Speicher 142 der zweiten ECU 14 (S09).
  • Das Steuerungssystem 10A bestimmt, ob das erste Programm aktualisiert ist (S10). Mit anderen Worten, das Steuerungssystem 10A bestimmt bei Schritt S05, ob das erste Programm im zweiten Speicher 133 gespeichert ist, der als der sekundäre Speicherbereich dient.
  • Wenn das erste Programm aktualisiert ist (Ja bei S10), schaltet das Steuerungssystem 10A den zweiten Speicher 133, der als der sekundäre Speicherbereich dient, zum primären Speicherbereich um (S11).
  • Wenn das erste Programm nicht aktualisiert ist (Nein bei S10), geht das Steuerungssystem 10A zu Schritt S12, ohne den Vorgang von Schritt S11 auszuführen.
  • Anschließend startet das Steuerungssystem 10A alle ECUs zur selben Zeit neu (S12) . Als Ergebnis werden die ECUs 13, 14 des Steuerungssystems 10A mit den neuesten Programmen ausgeführt.
  • Das Steuerungssystem 10A aktualisiert die Managementdaten im Managementdatenspeicher 129a mit der Version des aktualisierten Programms (S13).
  • (Managementserver)
  • Der Ablauf im Managementserver 20A ist dann mit Bezugnahme auf 6 beschrieben.
  • Der Managementserver 20A empfängt die vom Steuerungssystem 10A gesendeten Managementdaten (S21).
  • Anschließend liest der Managementserver 20A die Listendaten D1 aus der Speichereinheit 23 aus, vergleicht die bei Schritt S21 empfangenen Managementdaten mit den ausgelesenen Listendaten D1 und bestimmt, ob ein Programm vorhanden ist, das aktualisiert werden muss (S22). Mit anderen Worten, es wird bestimmt, ob jede der ECUs 13, 14 des Steuerungssystems 10A das neueste Programm nutzt.
  • Wenn kein Programm aktualisiert werden muss (Nein bei S22) , beendet der Managementserver 20A den Ablauf.
  • Wenn ein Programm vorhanden ist, das aktualisiert werden muss (Ja bei S22) , liest der Managementserver 20A die Updatedaten D2 aus der Speichereinheit 23 aus und erzeugt die Adressdaten (S23). Insbesondere extrahiert der Managementserver 20A die Adresse des Vorhalteservers 30, der das zu aktualisierende Programm vorhält, aus den ausgelesenen Updatedaten D2, um die Adressdaten zu erzeugen.
  • Der Managementserver 20A sendet die bei Schritt S23 erzeugten Adressdaten zum Steuerungssystem 10A (S24).
  • Die vom Managementserver 20A auf diese Weise gesendeten Adressdaten werden durch das Steuerungssystem 10A empfangen und verwendet (Schritt S02 und anschließende Schritte von 5) .
  • Das oben beschriebene Programmupdateverfahren ermöglicht ein gleichzeitiges Update vielfacher Programme und kann die Ausfallzeit aufgrund des gleichzeitigen Updates in dem Steuerungssystem 10A verkürzen, sodass das effiziente Programmupdate ausgeführt werden kann.
  • <Zweite Ausführungsform>
  • <Programmupdatesystem>
  • Der Aufbau des Programmupdatesystems gemäß einer zweiten Ausführungsform ist der oben mit Bezugnahme auf 1 beschriebene Aufbau und ist mit Bezugnahme auf 1 beschrieben. 7 zeigt ein Steuerungssystem 10B gemäß der zweiten Ausführungsform.
  • <Steuerungssystem>
  • Das in 7 gezeigte Steuerungssystem 10B gemäß der zweiten Ausführungsform ist von dem in 2 gezeigten Steuerungssystem 10A gemäß der ersten Ausführungsform darin verschieden, dass der Bestimmer 125 nicht enthalten ist.
  • In dem Steuerungssystem 10A erlangt der Listenerlanger 124 die Adressdaten einschließlich Adressen zum Erlangen aller zu aktualisierender Programme. Ferner bestimmt der Bestimmer 125, ob das unter Verwendung jeder der in den Adressdaten enthaltenen Adressen erlangte Programm das erste Programm, das in der ersten ECU 13 mit dem sekundären Speicherbereich des Speichers benutzt ist, oder das zweite Programm ist, das in der zweiten ECU 14 ohne den sekundären Speicherbereich des Speichers benutzt ist.
  • Dagegen erlangt in dem Steuerungssystem 10B der Listenerlanger 124 getrennt eine Adresse zum Erlangen des ersten Programms und eine Adresse zum Erlangen des zweiten Programms vom Managementserver 20A. Insbesondere unterscheidet und erlangt der Listenerlanger 124 erste Adressdaten, die nur die Adresse zum Erlangen des ersten Programms enthalten, und zweite Adressdaten, die nur die Adresse zum Erlangen des zweiten Programms enthalten. Daher ist es nicht notwendig zu bestimmen, ob in der Übertragungseinheit 12 das bei jeder Adresse erlangte Programm das erste Programm oder das zweite Programm ist.
  • Der Programmerlanger 126 erlangt vorzugsweise das erste Programm, das aktualisiert werden muss, auf Grundlage der durch den Listenerlanger 124 erlangten ersten Adressdaten. Nach dem Abschluss der Erlangung auf Grundlage der ersten Adressdaten erlangt der Programmerlanger 126 ein zweites Programm, das aktualisiert werden muss, auf Grundlage der durch den Listenerlanger 124 erlangten zweiten Adressdaten.
  • Daher kann das Steuerungssystem 10B gemäß der zweiten Ausführungsform eine Verarbeitungslast in der Übertragungseinheit 12 zum Bestimmen reduzieren, ob das an jeder der in den Adressdaten enthaltenen Adressen erlangte Programm das erste Programm oder das zweite Programm ist.
  • <Managementserver>
  • Wie oben beschrieben, sendet der Managementserver 20A ( 1) gemäß der zweiten Ausführungsform die ersten Adressdaten und die zweiten Adressdaten getrennt.
  • Daher bestimmt in der zweiten Ausführungsform der Bestimmer 222, ob ein Programm, das aktualisiert werden muss, in jeder der ECUs 13, 14 des Steuerungssystems 10B vorhanden ist, und ob jedes Programm das in der ersten ECU 13 verwendete erste Programm mit dem sekundären Speicherbereich des Speichers oder das in der zweiten ECU 14 verwendete zweite Programm ohne den sekundären Speicherbereich des Speichers ist. In diesem Fall bestimmt der Bestimmer 222, ob das Programm das erste Programm oder das zweite Programm ist, auf Grundlage der durch den Erlanger 221 vom Steuerungssystem 10B erlangten Managementdaten. Der Bestimmer 222 erkennt, ob der Speicher den sekundären Speicherbereich aufweist, auf Grundlage von Informationen, wie etwa der in den Managementdaten enthaltenen Modellnummern der ECUs 13, 14.
  • Der Sender 223 erzeugt die ersten Adressdaten für das erste Programm, das aktualisiert werden muss, erzeugt die zweiten Adressdaten für das zweite Programm, das aktualisiert werden muss, und sendet die erzeugten ersten und zweiten Adressdaten an das Steuerungssystem 10B.
  • Das Programmupdatesystem gemäß der oben beschriebenen zweiten Ausführungsform ermöglicht ein gleichzeitiges Update vielfacher Programme beim Programmupdate in dem Steuerungssystem 10B, kann die Ausfallzeit aufgrund des gleichzeitigen Updates in dem Steuerungssystem 10B verkürzen und reduziert die Verarbeitungslast des Steuerungssystems 10B, sodass das effiziente Programmupdate ausgeführt werden kann.
  • <Programmupdateverfahren>
  • Ein Beispiel eines Programmupdateablaufs gemäß der zweiten Ausführungsform ist mit Bezugnahme auf in 8 und 9 gezeigte Flussdiagramme beschrieben.
  • (Steuerungssystem)
  • Der Ablauf in dem Steuerungssystem 10B der zweiten Ausführungsform ist zuerst mit Bezugnahme auf 8 beschrieben. Gleiche Vorgänge wie die oben mit Bezugnahme auf 5 beschriebenen sind mit denselben Bezugsnummern bezeichnet und sind nicht beschrieben.
  • Das Steuerungssystem 10B bestimmt, ob die ersten Adressdaten vom Managementserver 20A für die bei Schritt S01 gesendeten Managementdaten erlangt sind (S31).
  • Wenn die ersten Adressdaten erlangt sind (Ja bei S31), ist das zu aktualisierende erste Programm vorhanden, sodass das Steuerungssystem 10B die Vorgänge der Schritte S04 bis S06 ausführt.
  • Wenn dagegen die ersten Adressdaten nicht erlangt sind (Nein bei S31), ist kein zu aktualisierendes erstes Programm vorhanden, sodass das Steuerungssystem 10B zu Schritt S32 geht, ohne die Vorgänge der Schritte S04 bis S06 auszuführen.
  • Das Steuerungssystem 10B bestimmt, ob die zweiten Adressdaten vom Managementserver 20A für die bei Schritt S01 gesendeten Managementdaten erlangt sind (S32).
  • Wenn die zweiten Adressdaten erlangt sind (Ja bei S32), ist das zu aktualisierende zweite Programm vorhanden, sodass das Steuerungssystem 10B die Vorgänge der Schritte S07 bis S09 ausführt.
  • Wenn dagegen die zweiten Adressdaten nicht erlangt sind (Nein bei S32), ist kein zu aktualisierendes zweites Programm vorhanden, sodass das Steuerungssystem 10B zu Schritt S10 geht, ohne die Vorgänge der Schritte S07 bis S09 auszuführen.
  • Nach den Schritten S10 und S11 bestimmt das Steuerungssystem 10B, ob das Programm aktualisiert ist (S33).
  • Wenn das Programm aktualisiert ist (Ja bei S33), startet das Steuerungssystem 10B alle ECUs zur selben Zeit neu (S12). Als Ergebnis werden die ECUs 13, 14 des Steuerungssystems 10B mit den neuesten Programmen ausgeführt.
  • Ferner aktualisiert das Steuerungssystem 10B die Managementdaten im Managementdatenspeicher 129a mit der Version des aktualisierten Programms (S13).
  • Wenn das Programm nicht aktualisiert ist (Nein bei S33), d.h. wenn keine aus den ersten und den zweiten Adressdaten erlangt sind und das Programm nicht aktualisiert ist, ist der Neustart der ECUs nicht erforderlich, sodass das Steuerungssystem 10B den Ablauf beendet.
  • (Managementserver)
  • Der Ablauf im Managementserver 20A der zweiten Ausführungsform ist dann mit Bezugnahme auf 9 beschrieben. Gleiche Vorgänge wie die oben mit Bezugnahme auf 6 beschriebenen sind mit denselben Bezugsnummern bezeichnet.
  • Der Managementserver 20A empfängt die vom Steuerungssystem 10A gesendeten Managementdaten (S21).
  • Anschließend liest der Managementserver 20A die Listendaten D1 aus der Speichereinheit 23 aus und vergleicht die bei Schritt S21 empfangenen Managementdaten mit den ausgelesenen Listendaten D1, und wenn kein Programm aktualisiert werden muss (Nein bei S22), beendet der Managementserver 20A den Ablauf.
  • Wenn dagegen ein oder mehrere Programme vorhanden sind, die aktualisiert werden müssen (Ja bei S22), bestimmt der Managementserver 20A, ob das durch die ECU 13 benutzte erste Programm mit dem sekundären Speicherbereich des Speichers in dem einen oder den vielfachen Programmen vorhanden ist, die aktualisiert werden müssen (S41).
  • Wenn das erste Programm vorhanden ist, das aktualisiert werden muss (Ja bei S41), erzeugt der Managementserver 20A die ersten Adressdaten, die die Adresse des ersten Programms enthalten, das aktualisiert werden muss (S42).
  • Der Managementserver 20A sendet die bei Schritt S42 erzeugten ersten Adressdaten zum Steuerungssystem 10B (S43).
  • Die vom Managementserver 20A auf diese Weise gesendeten Adressdaten werden durch das Steuerungssystem 10B empfangen und zum Bestimmen verwendet (Schritt S31 von 8).
  • Wenn kein Programm vorhanden ist, das aktualisiert werden muss (Nein bei S41), geht der Ablauf zu Schritt S44 ohne ein Ausführen der Vorgänge der Schritte S42 und S43.
  • Wenn das zweite Programm vorhanden ist, das aktualisiert werden muss (Ja bei S44), erzeugt der Managementserver 20A die zweiten Adressdaten, die die Adresse des zweiten Programms enthalten, das aktualisiert werden muss (S45).
  • Der Managementserver 20A sendet die bei Schritt S45 erzeugten zweiten Adressdaten zum Steuerungssystem 10B (S46).
  • Die vom Managementserver 20A auf diese Weise gesendeten Adressdaten werden durch das Steuerungssystem 10B empfangen und verwendet (Schritt S02 und anschließende Schritte von 8).
  • Das oben beschriebene Programmupdateverfahren ermöglicht ein gleichzeitiges Update vielfacher Programme, kann die Ausfallzeit aufgrund des gleichzeitigen Updates in dem Steuerungssystem 10B verkürzen und reduziert die Verarbeitungslast des Steuerungssystems 10B, sodass das effiziente Programmupdate ausgeführt werden kann.
  • <Dritte Ausführungsform>
  • <Programmupdatesystem>
  • Wie in 10 gezeigt, weist ein Programmupdatesystem 1C gemäß einer dritten Ausführungsform einen Aufbau auf, in dem ein Steuerungssystem 10C, ein Managementserver 20C und der Vorhalteserver 30 über das Netzwerk 40 verbunden sind.
  • In dem Programmupdatesystem 1A gemäß der ersten und der zweiten Ausführungsform erlangen die Steuerungssysteme 10A, 10B die Adressdaten durch eine Abruf-Verteilung. Dagegen erlangt in dem Programmupdatesystem 1C gemäß der dritten Ausführungsform das Steuerungssystem 10C die Adressdaten durch eine Push-Verteilung.
  • <Steuerungssystem>
  • Das Steuerungssystem 10C gemäß der dritten Ausführungsform weist denselben Aufbau auf wie das oben mit Bezugnahme auf 7 beschriebene Steuerungssystem 10B und ist daher mit Bezugnahme auf 7 beschrieben, statt es erneut zu zeigen.
  • Das Steuerungssystem 10B gemäß der oben mit Bezugnahme auf 7 beschriebenen zweiten Ausführungsform sendet die Managementdaten an den Managementserver 20A zu einem vorgegebenen Zeitpunkt zum Überprüfen, ob die Programme der ECUs 13, 14 aktualisiert sind. Dagegen sendet das Steuerungssystem 10C gemäß der dritten Ausführungsform die Managementdaten an den Managementserver 20C zu dem Zeitpunkt, wenn die Programme der ECUs 13, 14 aktualisiert werden. Daher braucht das Steuerungssystem 10C gemäß der dritten Ausführungsform den Zeitpunkt des Updates nicht zu verwalten.
  • Genauer sendet zu dem Zeitpunkt, wenn ein beliebiges der Programme der ECUs 13, 14 aktualisiert ist, der Managementdatensender 123 an den Managementserver 20C die Managementdaten bezüglich der ECUs 13, 14, deren Programme aktualisiert sind. Ferner sendet auch, wenn die Inhalte der im Managementdatenspeicher 129a gespeicherten Managementdaten durch ein Ersetzen einer beliebigen der ECUs 13, 14 geändert sind, der Managementdatensender 123 die Managementdaten bezüglich der ECUs 13, 14 an den Managementserver 20C.
  • Der Listenerlanger 124 empfängt die Adressdaten, wenn die Programme aktualisiert werden, die durch die in dem Steuerungssystem 10C enthaltenen ECUs 13, 14 benutzt werden.
  • Daher brauchen in dem Steuerungssystem 10C gemäß der dritten Ausführungsform nur die Managementdaten zum Managementserver 20C gesendet zu werden, wenn die Managementdaten beim Programmupdate aktualisiert werden, sodass eine Verarbeitungslast hinsichtlich der Verwaltung des Sendezeitablaufs der Managementdaten in der Übertragungseinheit 12 reduziert sein kann.
  • <Managementserver>
  • Wie in 10 gezeigt, speichert der Managementserver 20C der dritten Ausführungsform Managementdaten D3 in der Speichereinheit 23, um die Adressdaten durch eine Push-Verteilung zu senden.
  • Die Managementdaten D3 sind Daten, die die Identifikationsinformationen des Steuerungssystems 10C, enthaltend die Identifikationsinformationen der ECUs, wie etwa die Modellnummern der ECUs 13, 14 des Steuerungssystems 10C, und die Versionsnummern usw. verknüpfen, die die Versionen der in den Speichern der ECUs 13, 14 gespeicherten Programme kennzeichnen.
  • Daher speichert in der dritten Ausführungsform der Erlanger 221 die vom Steuerungssystem 10C erlangten Managementdaten in der Speichereinheit 23 als die Managementdaten D3 zusammen mit den Identifikationsinformationen des Steuerungssystems 10C.
  • Der Bestimmer 222 liest die Managementdaten D3 und die Listendaten D1 aus der Speichereinheit 23 zu einem vorgegebenen Zeitpunkt aus statt dem Zeitpunkt des Erlangens der Managementdaten durch den Erlanger 221 vom Steuerungssystem 10C und bestimmt die Notwendigkeit des Programmupdates der ECUs 13, 14 des Steuerungssystems 10C. Der vorgegebene Zeitpunkt in diesem Fall ist beispielsweise ein periodischer Zeitpunkt oder ein Zeitpunkt, wenn die Listendaten D1 oder die Managementdaten D3 aktualisiert werden.
  • Das Programmupdatesystem 1C gemäß der oben beschriebenen dritten Ausführungsform ermöglicht ein gleichzeitiges Update vielfacher Programme beim Programmupdate in dem Steuerungssystem 10C, kann die Ausfallzeit aufgrund des gleichzeitigen Updates in dem Steuerungssystem 10C verkürzen und reduziert die Verarbeitungslast des Steuerungssystems 10C, sodass das effiziente Programmupdate ausgeführt werden kann.
  • <Programmupdateverfahren>
  • Ein Beispiel des Programmupdateablaufs gemäß der dritten Ausführungsform ist mit Bezugnahme auf in 11, 12A und 12B gezeigte Flussdiagramme beschrieben.
  • (Steuerungssystem)
  • Der Ablauf in dem Steuerungssystem 10C der dritten Ausführungsform ist zuerst mit Bezugnahme auf 11 beschrieben.
  • In dem oben mit Bezugnahme auf 5 beschriebenen Beispiel erlangt das Steuerungssystem 10A die Adressdaten als Antwort auf das Senden der Managementdaten. Andererseits erlangt das Steuerungssystem 10C die Adressdaten durch eine Push-Verteilung vom Managementserver 20C und empfängt daher die Adressdaten ungeachtet des Sendens der Managementdaten (S51).
  • Es ist anzumerken, dass die Vorgänge der Schritte S03 bis S13 dieselben sind wie die oben mit Bezugnahme auf 5 beschriebenen und daher mit denselben Bezugsnummern bezeichnet sind und nicht beschrieben sind.
  • Das Steuerungssystem 10C sendet die bei Schritt S13 aktualisierten Managementdaten an den Managementserver 20C (S52) .
  • (Managementserver)
  • Der Ablauf im Managementserver 20C der dritten Ausführungsform ist dann mit Bezugnahme auf 12A und 12B beschrieben. Gleiche Vorgänge wie die oben mit Bezugnahme auf 6 beschriebenen sind mit denselben Bezugsnummern bezeichnet. Im Managementserver 20C sind das Empfangen der Managementdaten und das Senden der Adressdaten unabhängig voneinander. Daher ist das Empfangen der Managementdaten mit Bezugnahme auf 12A beschrieben, und das Senden der Adressdaten ist mit Bezugnahme auf 12B beschrieben.
  • Wie in 12A gezeigt, speichert der Managementserver 20C, wenn er die vom Steuerungssystem 10A gesendeten Managementdaten empfängt (Ja bei S61), die Managementdaten als die Managementdaten D3 in der Speichereinheit 23 (S62).
  • Wie in 12B gezeigt, vergleicht zu einem vorgegebenen Zeitpunkt (Ja bei S63) der Managementserver 20C die Listendaten D1 und die Managementdaten D3, die in der Speichereinheit 23 gespeichert sind, um zu bestimmen, ob ein Programm vorhanden ist, das aktualisiert werden muss (S64).
  • Wenn kein Programm aktualisiert werden muss (Nein bei S64), beendet der Managementserver 20C den Ablauf.
  • Wenn ein Programm vorhanden ist, das aktualisiert werden muss (Ja bei S64), erzeugt der Managementserver 20C die Adressdaten, die die Adresse des Programms enthalten, das aktualisiert werden muss (S23) , und sendet die erzeugten zweiten Adressdaten an das Steuerungssystem 10C (S24).
  • Das oben beschriebene Programmupdateverfahren ermöglicht ein gleichzeitiges Update vielfacher Programme, kann die Ausfallzeit aufgrund des gleichzeitigen Updates in dem Steuerungssystem 10C verkürzen und reduziert die Verarbeitungslast des Steuerungssystems 10C, sodass das effiziente Programmupdate ausgeführt werden kann.
  • <Modifikation>
  • Das Programmupdatesystem 1C gemäß der oben mit Bezugnahme auf 10 bis 12B beschriebenen dritten Ausführungsform ist mit dem Beispiel beschrieben, in dem der Managementserver 20C an das Steuerungssystem 10C die Adressdaten sendet, die alle Adressen zum Erlangen der zu aktualisierenden Programme enthalten. Jedoch kann der Managementserver 20C wie in dem Programmupdatesystem 1B gemäß der zweiten Ausführungsform die ersten Adressdaten, die nur die Adresse zum Erlangen des ersten Programms enthalten, und die zweiten Adressdaten, die nur die Adresse zum Erlangen des zweiten Programms enthalten, getrennt an das Steuerungssystem 10C senden. Dies beseitigt die Notwendigkeit, zwischen der Adresse zum Erlangen des ersten Programms und der Adresse zum Erlangen des zweiten Programms im Steuerungssystem 10C zu unterscheiden. Daher kann die Verarbeitungslast für das Steuerungssystem 10C reduziert sein.
  • <Wirkungen und Ergänzungen>
  • Die Ausführungsformen sind oben als Veranschaulichungen der in dieser Anmeldung offenbarten Technik beschrieben. Jedoch sind die Techniken dieser Offenbarung nicht darauf beschränkt und sind auf Ausführungsformen mit nach Bedarf vorgenommener Modifikation, Ersetzung, Hinzufügung, Weglassung usw. anwendbar.
  • <Übersicht von Ausführungsformen>
  • (1) Ein Programmupdatesystem der vorliegenden Offenbarung ist ein Programme aktualisierendes Programmupdatesystem, umfassend: einen Managementserver zum Verwalten von Informationen bezüglich eines Programmupdates; und ein Steuerungssystem, das mit dem Managementserver verbunden ist und eine Vielzahl von die Programme ausführenden Steuerungsvorrichtungen enthält, wobei der Managementserver einen Sender enthält, der an das Steuerungssystem Daten sendet, die eine zum Erlangen eines Programms, das aktualisiert werden muss, verwendete Adresse enthalten, und wobei das Steuerungssystem enthält: eine erste Steuerungsvorrichtung, enthaltend einen primären Speicherbereich und einen sekundären Speicherbereich, die ein in dem primären Speicherbereich gespeichertes Programm ausführt; eine zweite Steuerungsvorrichtung, enthaltend einen primären Speicherbereich ohne einen sekundären Speicherbereich, die ein in dem primären Speicherbereich gespeichertes Programm ausführt; einen Programmspeicher, der ein erlangtes Programm vorübergehend speichert; einen Programmerlanger, der vorzugsweise ein in der ersten Steuerungsvorrichtung gemäß vom Managementserver empfangenen Daten zu speicherndes erstes Programm erlangt und in den Programmspeicher speichert, das erste Programm aus dem Programmspeicher löscht, wenn das erste Programm aus dem Programmspeicher in den sekundären Speicherbereich der ersten Steuerungsvorrichtung gespeichert wird, und ein in der zweiten Steuerungsvorrichtung zu speicherndes zweites Programm erlangt und in den Programmspeicher speichert; und eine Updateeinheit, die das im Programmspeicher gespeicherte zweite Programm in den primären Speicherbereich der zweiten Steuerungsvorrichtung speichert und den primären Speicherbereich und den sekundären Speicherbereich der ersten Steuerungsvorrichtung umschaltet.
  • Dies ermöglicht ein gleichzeitiges Update vielfacher Programme beim Programmupdate und kann eine Ausfallzeit aufgrund des gleichzeitigen Updates verkürzen, sodass das effiziente Programmupdate ausgeführt werden kann.
  • (2) Ein Steuerungssystem der vorliegenden Offenbarung ist ein mit einem Managementserver verbundenes Steuerungssystem, der Informationen bezüglich eines Programmupdates verwaltet, und das eine Vielzahl von Steuerungsvorrichtungen enthält, die Programme ausführen, wobei das Steuerungssystem umfasst: eine erste Steuerungsvorrichtung, enthaltend einen primären Speicherbereich und einen sekundären Speicherbereich, die ein in dem primären Speicherbereich gespeichertes Programm ausführt; eine zweite Steuerungsvorrichtung, enthaltend einen primären Speicherbereich ohne einen sekundären Speicherbereich, die ein in dem primären Speicherbereich gespeichertes Programm ausführt; einen Programmspeicher, der ein erlangtes Programm vorübergehend speichert; einen Programmerlanger, der vorzugsweise ein in der ersten Steuerungsvorrichtung zu speicherndes erstes Programm erlangt und in den Programmspeicher speichert, das erste Programm aus dem Programmspeicher löscht, wenn das erste Programm aus dem Programmspeicher in den sekundären Speicherbereich der ersten Steuerungsvorrichtung gespeichert wird, und ein in der zweiten Steuerungsvorrichtung zu speicherndes zweites Programm erlangt und in den Programmspeicher speichert; und eine Updateeinheit, die das im Programmspeicher gespeicherte zweite Programm in den primären Speicherbereich der zweiten Steuerungsvorrichtung speichert und den primären Speicherbereich und den sekundären Speicherbereich der ersten Steuerungsvorrichtung umschaltet.
  • Dies ermöglicht ein gleichzeitiges Update vielfacher Programme beim Programmupdate und kann die Ausfallzeit aufgrund des gleichzeitigen Updates verkürzen, sodass das effiziente Programmupdate ausgeführt werden kann.
  • (3) Das Steuerungssystem nach (2) umfasst weiter einen Managementdatenspeicher, der Managementdaten speichert, die Identifikationsinformationen der Steuerungsvorrichtungen und Updateinformationen von Programmen enthalten, die jeweils in Speichern der Steuerungsvorrichtungen gespeichert sind, und einen Managementdatensender, der im Managementdatenspeicher gespeicherte Managementdaten zum Managementserver sendet, wobei, wenn der Programmerlanger vom Managementserver Adressdaten empfängt, die eine zum Erlangen eines Programms, das aktualisiert werden muss, benutzte Adresse bezüglich eines in den Managementdaten enthaltenen Programms enthalten, der Programmerlanger das Erlangen des ersten Programms gemäß den Adressdaten beginnt.
  • Dies ermöglicht ein gleichzeitiges Update vielfacher Programme beim Programmupdate und kann die Ausfallzeit aufgrund des gleichzeitigen Updates verkürzen, sodass das effiziente Programmupdate ausgeführt werden kann.
  • (4) Wenn das zweite Programm im Programmspeicher gespeichert ist, kann die Updateeinheit des Steuerungssystems nach (3) das Ausführen der Programme in der Vielzahl von Steuerungsvorrichtungen anhalten, das zweite Programm in den Speicher der zweiten Steuerungsvorrichtung speichern und die Steuerungsvorrichtungen neu starten.
  • Dies kann die Ausfallzeit verkürzen, wenn die Programme aktualisiert werden, sodass das effiziente Programmupdate ausgeführt werden kann.
  • (5) Der Programmerlanger des Steuerungssystems nach (2) kann einen Unterschied zwischen einem im Speicher der Steuerungsvorrichtung gespeicherten Programm und einem neuesten Programm erlangen.
  • Dies kann die Ausfallzeit verkürzen, wenn die Programme aktualisiert werden, sodass das effiziente Programmupdate ausgeführt werden kann.
  • (6) Ein mobiler Körper nach der vorliegenden Offenbarung kann das Steuerungssystem nach (2) bis (5) umfassen.
  • Dies ermöglicht ein gleichzeitiges Update vielfacher Programme beim Programmupdate in einem Steuerungssystem eines mobilen Körpers und kann die Ausfallzeit aufgrund des gleichzeitigen Updates verkürzen, sodass das effiziente Programmupdate ausgeführt werden kann.
  • (7) Ein Programmupdateverfahren der vorliegenden Offenbarung ist ein Programmupdateverfahren des Aktualisierens von Programmen in einem Steuerungssystem, das mit einem Managementserver verbunden ist, der Informationen bezüglich eines Programmupdates verwaltet, und das eine Vielzahl von die Programme ausführenden Steuerungsvorrichtungen enthält, wobei das Verfahren umfasst: einen Programmspeicher; einen Schritt des vorzugsweisen Erlangens eines ersten Programms, das in einer ersten Steuerungsvorrichtung zu speichern ist, die einen primären Speicherbereich und einen sekundären Speicherbereich enthält und ein im primären Speicherbereich gespeichertes Programm ausführt, und des Speicherns des ersten Programms in den Programmspeicher, der ein Programm vorübergehend speichert; einen Schritt des Speicherns des ersten Programms aus dem Programmspeicher in den sekundären Speicherbereich der ersten Steuerungsvorrichtung; einen Schritt des Löschens des ersten Programms aus dem Programmspeicher; einen Schritt des Erlangens eines zweiten Programms, das in einer zweiten Steuerungsvorrichtung zu speichern ist, die einen primären Speicherbereich ohne einen sekundären Speicherbereich enthält und ein im primären Speicherbereich gespeichertes Programm ausführt, und des Speicherns des zweiten Programms in den Programmspeicher; einen Schritt des Speicherns des im Programmspeicher gespeicherten zweiten Programms in den primären Speicherbereich der zweiten Steuerungsvorrichtung; und ein Umschalten des primären Speicherbereichs und des sekundären Speicherbereichs der ersten Steuerungsvorrichtung.
  • (8) Ein Programm, betreibbar, einen Computer anzusteuern, das Verfahren nach (7) durchzuführen.
  • Dies ermöglicht ein gleichzeitiges Update vielfacher Programme beim Programmupdate und kann die Ausfallzeit aufgrund des gleichzeitigen Updates verkürzen, sodass das effiziente Programmupdate ausgeführt werden kann.
  • Das Programmupdatesystem, das Steuerungssystem, der mobile Körper, das Programmupdateverfahren und das Aufzeichnungsmedium, das ein Programm speichert, gemäß allen Ansprüchen der vorliegenden Offenbarung sind umgesetzt durch ein Zusammenwirken usw. mit Hardwaremitteln, beispielsweise einem Prozessor, einem Speicher und einem Programm.
  • Gewerbliche Anwendbarkeit
  • Das Programmupdatesystem, das Steuerungssystem, der bewegliche Körper, das Programmupdateverfahren und das Programm der vorliegenden Offenbarung sind nutzbar zum Programmupdate in einer beispielsweise in dem mobilen Körper enthaltenen Steuereinheit.
  • Bezugszeichenliste
  • 1A, 1B, 1C
    Programmupdatesystem
    10A, 10B, 10C
    Steuerungssystem
    11
    Kommunikator
    12
    Übertragungseinheit
    122
    Steuerungseinheit
    123
    Managementdatensender
    124
    Listenerlanger
    125
    Bestimmer
    126
    Programmerlanger
    127
    Updateeinheit
    129
    Speicher
    129a
    Managementdatenspeicher
    129b
    Programmspeicher
    13 (13a, 13b)
    erste Steuerungsvorrichtung (ECU)
    131
    Steuerungseinheit
    132
    erster Speicher
    133
    zweiter Speicher
    134
    Umschalter
    14 (14a, 14b)
    zweite Steuerungsvorrichtung (ECU)
    141
    Steuerungseinheit
    142
    Speicher
    20A,
    20C Managementserver
    21
    Kommunikator
    22
    Steuerungseinheit
    221
    Erlanger
    222
    Bestimmer
    223
    Sender
    23
    Speichereinheit
    D1
    Listendaten
    D2
    Updatedaten
    D3
    Managementdaten
    30
    Vorhalteserver
    40
    Netzwerk
  • 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 6361671 [0002]

Claims (8)

  1. Programmupdatesystem zum Aktualisieren von Programmen, umfassend: einen Managementserver zum Verwalten von Informationen bezüglich eines Programmupdates; und ein Steuerungssystem, das mit dem Managementserver verbunden ist und eine Vielzahl von die Programme ausführenden Steuerungsvorrichtungen enthält, und wobei der Managementserver enthält: einen Sender, der an das Steuerungssystem Daten sendet, die eine zum Erlangen eines Programms, das aktualisiert werden muss, verwendete Adresse enthalten, und wobei das Steuerungssystem enthält: eine erste Steuerungsvorrichtung, enthaltend einen primären Speicherbereich und einen sekundären Speicherbereich, die ein in ihrem primären Speicherbereich gespeichertes Programm ausführt, eine zweite Steuerungsvorrichtung, enthaltend einen primären Speicherbereich ohne einen sekundären Speicherbereich, die ein in ihrem primären Speicherbereich gespeichertes Programm ausführt, einen Programmspeicher, der ein erlangtes Programm vorübergehend speichert, einen Programmerlanger, der vorzugsweise ein in der ersten Steuerungsvorrichtung gemäß vom Managementserver empfangenen Daten zu speicherndes erstes Programm erlangt und in den Programmspeicher speichert, das erste Programm aus dem Programmspeicher löscht, wenn das erste Programm aus dem Programmspeicher in den sekundären Speicherbereich der ersten Steuerungsvorrichtung gespeichert wird, und ein in der zweiten Steuerungsvorrichtung zu speicherndes zweites Programm erlangt und in den Programmspeicher speichert, und eine Updateeinheit, die das im Programmspeicher gespeicherte erste Programm in den primären Speicherbereich der ersten Steuerungsvorrichtung speichert, das im Programmspeicher gespeicherte zweite Programm in den primären Speicherbereich der zweiten Steuerungsvorrichtung speichert und den primären Speicherbereich und den sekundären Speicherbereich der ersten Steuerungsvorrichtung umschaltet.
  2. Steuerungssystem, verbunden mit einem Managementserver, der Informationen bezüglich eines Programmupdates verwaltet, und das eine Vielzahl von Steuerungsvorrichtungen enthält, die Programme ausführen, wobei das Steuerungssystem umfasst: eine erste Steuerungsvorrichtung, enthaltend einen primären Speicherbereich und einen sekundären Speicherbereich, die ein in ihrem primären Speicherbereich gespeichertes Programm ausführt; eine zweite Steuerungsvorrichtung, enthaltend einen primären Speicherbereich ohne einen sekundären Speicherbereich, die ein in ihrem primären Speicherbereich gespeichertes Programm ausführt; einen Programmspeicher, der ein erlangtes Programm vorübergehend speichert; einen Programmerlanger, der vorzugsweise ein in der ersten Steuerungsvorrichtung zu speicherndes erstes Programm erlangt und in den Programmspeicher speichert, das erste Programm aus dem Programmspeicher löscht, wenn das erste Programm aus dem Programmspeicher in den sekundären Speicherbereich der ersten Steuerungsvorrichtung gespeichert wird, und ein in der zweiten Steuerungsvorrichtung zu speicherndes zweites Programm erlangt und in den Programmspeicher speichert; und eine Updateeinheit, die das im Programmspeicher gespeicherte erste Programm in den primären Speicherbereich der ersten Steuerungsvorrichtung speichert, das im Programmspeicher gespeicherte zweite Programm in den primären Speicherbereich der zweiten Steuerungsvorrichtung speichert und den primären Speicherbereich und den sekundären Speicherbereich der ersten Steuerungsvorrichtung umschaltet.
  3. Steuerungssystem nach Anspruch 2, weiter umfassend: einen Managementdatenspeicher, der Managementdaten speichert, die Identifikationsinformationen der Steuerungsvorrichtungen und Updateinformationen von Programmen enthalten, die jeweils in Speichern der Steuerungsvorrichtungen gespeichert sind, und und einen Managementdatensender, der im Managementdatenspeicher gespeicherte Managementdaten zum Managementserver sendet, wobei, wenn der Programmerlanger vom Managementserver Adressdaten empfängt, die eine zum Erlangen eines Programms, das aktualisiert werden muss, benutzte Adresse bezüglich eines in den Managementdaten enthaltenen Programms enthalten, der Programmerlanger das Erlangen des ersten Programms gemäß den Adressdaten beginnt.
  4. Steuerungssystem nach Anspruch 3, wobei, wenn das zweite Programm im Programmspeicher gespeichert ist, die Updateeinheit das Ausführen der Programme in der Vielzahl von Steuerungsvorrichtungen anhält, das zweite Programm in den primären Speicher der zweiten Steuerungsvorrichtung speichert und die Steuerungsvorrichtungen neu startet.
  5. Steuerungssystem nach einem beliebigen der Ansprüche 2 bis 4, wobei der Programmerlangungsteil einen Unterschied zwischen einem im primären Speicherbereich der Steuerungsvorrichtung gespeicherten Programm und einem neuesten Programm erlangt.
  6. Mobiler Körper, umfassend: das Steuerungssystem nach einem beliebigen der Ansprüche 2 bis 5.
  7. Programmupdateverfahren des Aktualisierens von Programmen in einem Steuerungssystem, das mit einem Managementserver verbunden ist, der Informationen bezüglich eines Programmupdates verwaltet, und das eine Vielzahl von die Programme ausführenden Steuerungsvorrichtungen enthält, wobei das Verfahren umfasst: einen Schritt des vorzugsweisen Erlangens eines ersten Programms, das in einer ersten Steuerungsvorrichtung zu speichern ist, die einen primären Speicherbereich und einen sekundären Speicherbereich enthält und ein im primären Speicherbereich gespeichertes Programm ausführt, und des Speicherns des ersten Programms in den Programmspeicher, der ein Programm vorübergehend speichert; einen Schritt des Speicherns des ersten Programms aus dem Programmspeicher in den sekundären Speicherbereich der ersten Steuerungsvorrichtung; einen Schritt des Löschens des ersten Programms aus dem Programmspeicher; einen Schritt des Erlangens eines zweiten Programms, das in einer zweiten Steuerungsvorrichtung zu speichern ist, die einen primären Speicherbereich ohne einen sekundären Speicherbereich enthält und ein im primären Speicherbereich gespeichertes Programm ausführt, und des Speicherns des zweiten Programms in den Programmspeicher; einen Schritt des Speicherns des im Programmspeicher gespeicherten zweiten Programms in den primären Speicherbereich der zweiten Steuerungsvorrichtung; und ein Umschalten des primären Speicherbereichs und des sekundären Speicherbereichs der ersten Steuerungsvorrichtung.
  8. Programm, betreibbar, einen Computer anzusteuern, das Verfahren nach Anspruch 7 durchzuführen.
DE102020104652.9A 2019-03-07 2020-02-21 Programmupdatesystem, Steuerungssystem, mobiler Körper, Programmupdateverfahren und Programm Pending DE102020104652A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019041675A JP6902722B2 (ja) 2019-03-07 2019-03-07 プログラム更新システム、制御システム、移動体、プログラム更新方法及びプログラム
JP2019-041675 2019-03-07

Publications (1)

Publication Number Publication Date
DE102020104652A1 true DE102020104652A1 (de) 2020-09-10

Family

ID=72147017

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020104652.9A Pending DE102020104652A1 (de) 2019-03-07 2020-02-21 Programmupdatesystem, Steuerungssystem, mobiler Körper, Programmupdateverfahren und Programm

Country Status (3)

Country Link
US (1) US11126422B2 (de)
JP (1) JP6902722B2 (de)
DE (1) DE102020104652A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021135777A (ja) * 2020-02-27 2021-09-13 株式会社小松製作所 作業機械のコンポーネントのソフトウェア更新システムおよびソフトウェア更新方法
CN112783549A (zh) * 2021-01-08 2021-05-11 东风汽车股份有限公司 一种汽车电控件数据版本号升级方法
JP7323569B2 (ja) 2021-04-07 2023-08-08 矢崎総業株式会社 車載ソフトウェア更新方法および車載システム
JP2022163546A (ja) * 2021-04-14 2022-10-26 日立Astemo株式会社 制御装置及び制御システム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5622473A (en) 1979-07-31 1981-03-03 Sharp Kk Liquid crystal display unit
JP4548601B2 (ja) * 2005-04-20 2010-09-22 株式会社デンソー 自動車用制御ユニット
JP6292045B2 (ja) * 2014-06-16 2018-03-14 富士通株式会社 ソフトウェア情報管理プログラム、ソフトウェア情報管理装置およびソフトウェア情報管理方法
JP6361671B2 (ja) * 2016-03-02 2018-07-25 住友電気工業株式会社 プログラム更新システム、プログラム更新方法、中継装置及びコンピュータプログラム
EP3575954B1 (de) * 2017-01-25 2023-08-02 Hitachi Astemo, Ltd. Fahrzeugsteuerungsvorrichtung und programmaktualisierungssystem
JP6465258B1 (ja) * 2017-08-10 2019-02-06 住友電気工業株式会社 制御装置、制御方法、およびコンピュータプログラム

Also Published As

Publication number Publication date
JP6902722B2 (ja) 2021-07-14
JP2020144682A (ja) 2020-09-10
US11126422B2 (en) 2021-09-21
US20200285458A1 (en) 2020-09-10

Similar Documents

Publication Publication Date Title
DE102020104652A1 (de) Programmupdatesystem, Steuerungssystem, mobiler Körper, Programmupdateverfahren und Programm
DE112010004947B4 (de) Wiederherstellung einer vollständigen Systemsicherung und inkrementeller Sicherungen unter Verwendung von mehreren gleichzeitigen Datenströmen von Einheiten
DE112017004311T5 (de) Bordeigene Aktualisierungsvorrichtung und bordeigenes Aktualisierungssystem
DE112016006538T5 (de) Programmaktualisierungssystem, Programmaktualisierungsverfahren und Computerprogramm
DE112017005868T5 (de) Verwaltung von e/a-abläufen für datenobjekte in einem speichersystem
DE112017006978T5 (de) Steuervorrichtungen, Programmaktualisierungsverfahren und Computerprogramm
DE10112941A1 (de) System und Verfahren für das parallele Lesen von primären und sekundären Sicherungen zur Wiederherstellung mehrerer gemeinsam benutzter Datenbankdateien
DE102009019271A1 (de) Übertragen von Sequenzzahlen für das Wiederherstellen nach Stromausfall bei einem nichtflüchtigen Speicher
DE112019002411T5 (de) Fahrzeuggebundene Aktualisierungseinrichtung, Aktualisierungsprozessverfahren und Aktualisierungsprozessprogramm
DE112018001894T5 (de) Steuervorrichtung, Übertragungsverfahren und Computerprogramm
DE112013000465T5 (de) Verwaltung einer fernen Datenreplikation
DE112014000340T5 (de) Vorablesezugriff auf Daten für einen Chip mit einem übergeordneten Kern und einem Scout-Kern
DE102008012979A1 (de) Verfahren und Programm zum Bereitstellen von Datenkohärenz in Netzwerken
DE102008001162A1 (de) Zurücksetzverfahren und Informationsverarbeitungsvorrichtung, die dieses ausführt
DE112021001129T5 (de) Mastervorrichtung, datenverteilungssystem und aktualisierungssteuerprogramm
DE102017220526A1 (de) Verfahren und Vorrichtung zur Aktualisierung von Software
DE102022110251A1 (de) Ota-master, center, system, verfahren, nicht-transitorisches speichermedium und fahrzeug
DE102021131057A1 (de) System und Verfahren zur Ausführung einer Aufgabe eines Betriebssystems für ein Fahrzeug
DE112021007528T5 (de) Verfahren zur synchronisierung von speicherdatenbank undrelationaler datenbank eines auf merkmalskennzeichnungen basierenden stromnetzüberwachungssystems
DE102015218589A1 (de) Verfahren und Vorrichtung zum Betreiben eines Many-Core-System
DE112020001541T5 (de) Informationsverarbeitungsvorrichtung, beweglicher gegenstand und informationsverarbeitungsverfahren
DE102017202282B4 (de) Fahrzeugeigene steuerungsvorrichtung und fahrzeugeigenes netzwerk mit der fahrzeugeigenen steuerungsvorrichtung
DE112019002469T5 (de) Elektronische steuereinheit und sitzungsaufbau-programm
DE112021000801T5 (de) Informationsverarbeitungsvorrichtung und Informationsverarbeitungsverfahren
DE102022110824A1 (de) Ota-master, system, verfahren, nicht-transitorisches speichermedium und fahrzeug

Legal Events

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

Owner name: PANASONIC AUTOMOTIVE SYSTEMS CO., LTD., YOKOHA, JP

Free format text: FORMER OWNER: PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO., LTD., OSAKA, JP