DE102015216265A1 - Method and subsystem for installing a software update in a vehicle - Google Patents

Method and subsystem for installing a software update in a vehicle Download PDF

Info

Publication number
DE102015216265A1
DE102015216265A1 DE102015216265.6A DE102015216265A DE102015216265A1 DE 102015216265 A1 DE102015216265 A1 DE 102015216265A1 DE 102015216265 A DE102015216265 A DE 102015216265A DE 102015216265 A1 DE102015216265 A1 DE 102015216265A1
Authority
DE
Germany
Prior art keywords
baseline
vehicle
rollback
software update
client
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
DE102015216265.6A
Other languages
German (de)
Inventor
Volker Blaschke
Gafur Zymeri
Klaus Schneider
Ralf Luebben
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102015216265.6A priority Critical patent/DE102015216265A1/en
Priority to KR1020160107039A priority patent/KR102639949B1/en
Priority to CN201610724052.2A priority patent/CN106484456B/en
Publication of DE102015216265A1 publication Critical patent/DE102015216265A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Verfahren (30) zum Installieren eines Softwareupdates in einem Fahrzeug, gekennzeichnet durch folgende Merkmale: – in einem ersten Schritt (31) werden eine von dem Softwareupdate abhängige Ziel-Baseline und von der Ziel-Baseline betroffene Steuergeräte des Fahrzeuges bestimmt (35) und mindestens ein Steuergerät unter den von der Ziel-Baseline betroffenen Steuergeräten wird gemäß der Ziel-Baseline aktualisiert (36), – falls der erste Schritt (31) fehlschlägt (37), werden in einem zweiten Schritt (32) eine ursprüngliche Baseline und von der ursprünglichen Baseline betroffene Steuergeräte bestimmt (38) und mindestens ein Steuergerät unter den von der ursprünglichen Baseline betroffenen Steuergeräten wird gemäß der ursprünglichen Baseline aktualisiert (39) und – falls der zweite Schritt (32) fehlschlägt (40), werden in einem dritten Schritt (33) mindestens eine Rollback-Baseline zwischen der ursprünglichen Baseline und der Ziel-Baseline und von der Rollback-Baseline betroffene Steuergeräte bestimmt (41) und mindestens ein Steuergerät unter den von der Rollback-Baseline betroffenen Steuergeräten wird gemäß der Rollback-Baseline aktualisiert (42).Method (30) for installing a software update in a vehicle, characterized by the following features: - in a first step (31), a software update-dependent target baseline and control units of the vehicle affected by the target baseline are determined (35) and at least a controller among the target baseline affected controllers is updated according to the target baseline (36), - if the first step (31) fails (37), in a second step (32) an original baseline and from the original one Baseline affected ECUs (38) and at least one controller among the controllers affected by the original baseline is updated (39) according to the original baseline and if the second step (32) fails (40), in a third step (33) at least one rollback baseline between the original baseline and the target baseline and from the rollback baseline determined ECUs (41) and at least one ECU among the affected by the rollback baseline ECUs is updated according to the rollback baseline (42).

Description

Die vorliegende Erfindung betrifft ein Verfahren zum Installieren eines Softwareupdates in einem Fahrzeug. Die vorliegende Erfindung betrifft darüber hinaus ein entsprechendes Teilsystem für ein Fahrzeug sowie ein entsprechendes Fahrzeug.The present invention relates to a method for installing a software update in a vehicle. The present invention further relates to a corresponding subsystem for a vehicle and a corresponding vehicle.

Stand der TechnikState of the art

In der Funktechnik wird die Übertragung von Daten mittels elektromagnetischer Wellen, also scheinbar durch das Medium Luft (over the air, OTA), mitunter als Luftschnittstelle bezeichnet. Eine solche Luftschnittstelle ist insbesondere dadurch gekennzeichnet, dass kein festkörperliches Übertragungsmedium wie Kupfer- oder Glasfaserkabel verwendet wird, was für die Zwecke der nachfolgenden Ausführungen die Übertragung im Vakuum nicht ausschließt. Telekommunikationstechnische Ansätze, die sich einer solchen Übertragung bedienen, sind etwa als Over-the-Air-Programmierung (OTA), Over-the-Air Service Provisioning (OTASP), Over-the-Air Provisioning (OTAP) oder Over-the-Air Parameter Administration (OTAPA) bekannt.In radio technology, the transmission of data by means of electromagnetic waves, so apparently by the medium air (over the air, OTA), sometimes referred to as air interface. Such an air interface is particularly characterized in that no solid-state transmission medium such as copper or fiber optic cable is used, which for the purposes of the following embodiments does not preclude transmission in a vacuum. Telecommunications approaches using such transmission include over-the-air programming (OTA), over-the-air service provisioning (OTASP), over-the-air provisioning (OTAP) or over-the-air Parameter Administration (OTAPA).

Von besonderer Bedeutung sind die genannten Technologien für die Aktualisierung sogenannter Firmware (FW), also solcher Software (SW), die in elektronische Geräte eingebettet ist. Auf Firmware angepasste Abwandlungen der oben genannten OTA-Technologien werden in der Telekommunikation unter dem Oberbegriff der Firmware-Over-the-Air-Programmierung (FOTA) zusammengefasst.Of particular importance are the technologies mentioned for updating so-called firmware (FW), ie software (SW) embedded in electronic devices. Firmware-adapted modifications of the above-mentioned OTA technologies are summarized in telecommunications under the generic term of firmware over-the-air programming (FOTA).

DE 10105454 A1 schlägt ein Verfahren zur automatischen Ergänzung von Software über eine Luftschnittstelle vor, das dazu dient, Software, die auf einem System läuft, durch neue Softwaremodule zu ergänzen, wobei diese Softwaremodule zunächst getestet werden und von diesen Softwaremodulen dann Applikationsmodule abgeleitet werden. DE 10105454 A1 proposes a method for automatically supplementing software over an air interface, which serves to supplement software running on a system with new software modules, which software modules are first tested and then derived from these software modules application modules.

Offenbarung der ErfindungDisclosure of the invention

Die Erfindung stellt ein Verfahren zum Installieren eines Softwareupdates in einem Fahrzeug, ein entsprechendes Teilsystem für ein Fahrzeug sowie ein Fahrzeug mit einem solchen Teilsystem gemäß den unabhängigen Ansprüchen bereit.The invention provides a method of installing a software update in a vehicle, a corresponding subsystem for a vehicle, and a vehicle having such a subsystem according to the independent claims.

Ein Vorzug dieser Lösung liegt in der Fähigkeit des beschriebenen Algorithmus im Fahrzeug, möglichst intelligent auf Probleme während des Update-Vorgangs zu reagieren und eine jeweils optimale sogenannte Baseline zu verwenden. Unter letzterem Begriff wird im Softwarekonfigurationsmanagement (software configuration management, SCM) eine Menge von Konfigurationseinheiten – hier: durch ihre jeweiligen Versionen definierter Firmware- oder Softwaremodule – verstanden, die angesichts ihrer wechselseitigen Abhängigkeiten als zusammengehörig gekennzeichnet sind. Hierzu können seitens des Erstellers – typischerweise eines Erstausrüsters (original equipment manufacturer, OEM) oder Systemlieferanten – entsprechende Daten generiert werden. Einschlägige Mechanismen für diese Kennzeichnung sind dementsprechend in der Fachsprache als „Baselining“ oder auch „Tagging“ bekannt.One advantage of this solution lies in the ability of the described algorithm in the vehicle to respond as intelligently as possible to problems during the update process and to use an optimal so-called baseline. The latter term in software configuration management (SCM) is understood to mean a set of configuration units - here by their respective versions of defined firmware or software modules - that are identified as belonging together given their interdependencies. For this purpose, the originator - typically an original equipment manufacturer (OEM) or system supplier - can generate corresponding data. Relevant mechanisms for this labeling are accordingly known in technical jargon as "baselining" or "tagging".

Vorgeschlagen wird somit ein System, dass einen flexiblen und dynamischen Umgang im Fehlerfall ermöglicht. Vorteil dieses Ansatzes ist es, bei einem fehlgeschlagenen OTA-Update die „optimale“ Lösungsstrategie zu finden. „Optimal“ in diesem Zusammenfang bedeutet eine bestmögliche Abwägung von Kosten, Aufwand sowie Kundenerleben. Diese Strategie gestattet es, bei teilweisem oder völligem Scheitern eines OTA-SW/FW-Updates dennoch den Ausgangszustand des Fahrzeugs wieder herzustellen oder zumindest einen abgesicherten Zustand des Fahrzeugs wieder herzustellen. Thus, a system is proposed that enables flexible and dynamic handling in the event of a fault. The advantage of this approach is to find the "optimal" solution strategy in case of a failed OTA update. "Optimal" in this combination means the best possible balance of costs, effort and customer experience. This strategy allows for the partial or complete failure of an OTA SW / FW update to restore the initial state of the vehicle or at least restore a safe state of the vehicle.

Die Erfindung fußt dabei auf folgender Erkenntnis: Schlägt ein Updatevorgang an einem Steuergerät (electronic control unit, ECU) fehl, so genügt es nicht, dieses eine Steuergerät in den „alten" Zustand zu versetzen; vielmehr bedarf es einer Zurücksetzung aller damit über die Baseline verbundenen Steuergeräte. Ein derartiges sogenanntes Rollback ist dem Fachmann aus der Datenbanktheorie bekannt. Dort dient es zur Vermeidung von Inkonsistenzen bei Transaktionssystemen, welche durch das Rollback vollständig auf den Zustand vor dem Beginn einer Transaktion zurückgeführt werden.The invention is based on the following finding: If an update process fails at a control unit (electronic control unit, ECU), then it is not enough to put this one control unit in the "old" state, but instead it requires a reset of all over the baseline Such a so-called rollback is known to the person skilled in the art from the database theory, where it serves to avoid inconsistencies in transaction systems, which are returned by the rollback completely to the state before the start of a transaction.

Vorgeschlagen wird daher, weitere Baselines zu definieren, die wenig Zusatzkosten, insbesondere Testkosten, bedeuten, aber ein stufenweises Rollback ermöglichen. Diese zusätzlichen, vorzugsweise unter dem Gesichtspunkt eines möglichst robusten Updateprozesses abgestuften Baselines werden im Folgenden „Rollback-Baselines“ genannt. Eine Baseline dieser Art bietet die Chance, dass das Fahrzeug noch problemlos und sicher im Straßenverkehr bewegt werden kann.It is therefore proposed to define further baselines, which mean little additional costs, in particular test costs, but allow a gradual rollback. These additional baselines, which are preferably graduated from the standpoint of a robust update process, are referred to below as "rollback baselines". A baseline of this kind offers the chance that the vehicle can still be easily and safely moved on the road.

Durch die in den abhängigen Ansprüchen aufgeführten Maßnahmen sind vorteilhafte Weiterbildungen und Verbesserungen des im unabhängigen Anspruch angegebenen Grundgedankens möglich. So kann vorgesehen sein, dass das zur Ausführung des vorgeschlagenen Verfahrens eingerichtete Fahrzeugteilsystem folgende Merkmale umfasst: einen über eine Luftschnittstelle mit einem Gerätemanagement-Server des Backends verbundenen Gerätemanagement-Client zum Austauschen von Geräte-, Fahrzeug- und von Diagnose- sowie Softwareupdateinformationen, einen über die Luftschnittstelle mit einem Download-Server des Backends verbundenen Download-Client zum Herunterladen des Softwareupdates von dem Backend in das Fahrzeug, mit dem Download-Client verbundene Softwareupdate-Clients zum Anwenden des Softwareupdates und einen mit dem Download-Client und den Softwareupdate-Clients verbundenen Fahrzeugupdate-Client zum Bestimmen der Rollback-Baseline. Ein Vorzug dieser Ausführungsform liegt in ihrer Modularität sowohl auf der Backend- als auch auf der Fahrzeugseite. Dies ermöglicht es, OEM-spezifische Varianten leicht zu integrieren, da die Funktionalitäten schon auf der Architekturebene voneinander getrennt sind. Die Komponente des Fahrzeugupdate-Clients kann dabei alle Update- und Rollbackprozesse fahrzeugweit verantworten. Somit ist sie der richtige Ort für die erfindungsgemäße Funktion.The measures listed in the dependent claims advantageous refinements and improvements of the independent claim basic idea are possible. Thus, it can be provided that the vehicle subsystem set up for carrying out the proposed method comprises the following features: a device management client connected via an air interface with a device management server of the backend for exchanging device, vehicle and diagnostic update information the air interface with a download server of the backend associated download client for downloading the software update from the backend to the vehicle, software update clients associated with the download client for applying the software update, and a vehicle update client associated with the download client and software update clients for determining the rollback baseline , An advantage of this embodiment lies in its modularity both on the backend and on the vehicle side. This makes it easy to integrate OEM-specific variants, since the functionalities are already separated at the architectural level. The component of the vehicle update client can be responsible for all update and rollback processes throughout the vehicle. Thus, it is the right place for the function of the invention.

Kurze Beschreibung der ZeichnungenBrief description of the drawings

Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigt:Embodiments of the invention are illustrated in the drawings and explained in more detail in the following description. It shows:

1 eine geeignete Architektur für FW/SW-Updates über eine Luftschnittstelle. 1 a suitable architecture for FW / SW updates over an air interface.

2 schematisch eine Rollback-Baseline zwischen zwei abgesicherten Ständen. 2 schematically a rollback baseline between two hedged stalls.

3 das Flussdiagramm eines Verfahrens gemäß einer Ausführungsform der Erfindung. 3 the flowchart of a method according to an embodiment of the invention.

Ausführungsformen der ErfindungEmbodiments of the invention

1 illustriert ein System, welches aus einem Backend 20 und dem zugehörigen Teilsystem eines Fahrzeuges 10 besteht. Der Kern des Systems besteht aus den im Folgenden beschriebenen Komponenten und deren Interaktion. 1 illustrates a system which consists of a backend 20 and the associated subsystem of a vehicle 10 consists. The core of the system consists of the components described below and their interaction.

Der Daten-Download ist in einer Komponente separiert, welche sowohl als Download-Server 21 im Backend 20 als auch als Download-Client 11 im Fahrzeug 10 implementiert wird. Das Device-Management ist in einer Komponente separiert, welche sowohl als Gerätemanagement-Server 26 im Backend 20 als auch als Gerätemanagement-Client 16 mit zugehörigen Agenten 15 im Fahrzeug 10 implementiert wird. Ein fahrzeugseitiger Proxy wird genutzt, um verteilte Implementierungen des Device-Managements – zum Beispiel in mehreren Domänen – zu einer einzigen Implementierung zu bündeln.The data download is separated in a component which both as a download server 21 in the backend 20 as well as a download client 11 in the vehicle 10 is implemented. The device management is separated in a component, which both as a device management server 26 in the backend 20 as well as device management client 16 with associated agents 15 in the vehicle 10 is implemented. A vehicle-side proxy is used to bundle distributed implementations of device management - for example, in multiple domains - into a single implementation.

Das Software-Update und -Management ist in einer Komponente separiert, welche sowohl als SCOS-Server 22 und FCOS-Server 23 im Backend 20 als auch als Anwendungssoftware-Update-Client 12 und Firmware-Update-Client 13 im Fahrzeug 10 implementiert wird. The software update and management is separated into a component, which both as a SCOS server 22 and FCOS servers 23 in the backend 20 as well as an application software update client 12 and firmware update client 13 in the vehicle 10 is implemented.

Ein Fahrzeugmanagement 25 dient der Konkretisierung eines „Devices“ zu dem Fahrzeug 10 inklusive seiner relevanten Topologie, also Steuergeräte und Sub-Systeme.A vehicle management 25 serves to concretize a "device" to the vehicle 10 including its relevant topology, ie ECUs and sub-systems.

Das fachliche Datenhandling seitens des Backends 20 ist in einem Fahrzeug-Content-Management 28 separiert, welches die unterschiedlichen Versionen und Varianten von Datenständen an das Fahrzeug 10 bindet. Separiert ist auch die Update-Logik einschließlich der Kampagnensteuerung, welche sowohl als Fahrzeugupdate-Server 24 mit Datenmanagement 27 im Backend 20 als auch als Fahrzeugupdate-Client 14 im Fahrzeug 10 implementiert wird.The technical data handling on the part of the backend 20 is in a vehicle content management 28 separates the different versions and variants of data statuses to the vehicle 10 binds. Also separated is the update logic including the campaign control, which both as a vehicle update server 24 with data management 27 in the backend 20 as well as a vehicle update client 14 in the vehicle 10 is implemented.

Als Content-Management 18 ist das Daten-Management im Fahrzeug 10 separiert. Entsprechendes gilt für die zur ECU-Aktualisierung im Fahrzeug 10 separierte Firmware-Update-Komponente, welche in mehreren Varianten und Instanzen – etwa jener eines Anwendungssoftware-Update-Clients 12 oder eines Firmware-Update-Clients 13 – vorliegen kann und in der Lage ist, die unterschiedlichen Systeme und Technologien zu aktualisieren.As content management 18 is the data management in the vehicle 10 separated. The same applies to the ECU update in the vehicle 10 Separated firmware update component, which in several variants and instances - such as that of an application software update client 12 or a firmware update client 13 - be able to and be able to update the different systems and technologies.

Das Beispiel der 2 zeigt eine Rollback-Baseline 47 zwischen einer abgesicherten ursprünglichen Baseline 46 und Ziel-Baseline 48, die im Falle eines Scheiterns der Ziel-Baseline 48 verwendet werden kann. Diese Rollback-Baseline 47 kann funktionale Einbußen für den Fahrer bedeuten, z. B. Ausfall von Komfort-Funktionen. Die exakte Definition ist abhängig von den betroffenen Steuergeräten 51, 52, 53, 54, 55, 56 und deren Abhängigkeiten und Funktionen, kann also nicht allgemeingültig beschrieben werden. The example of 2 shows a rollback baseline 47 between a secured original baseline 46 and target baseline 48 in case of failure of the target baseline 48 can be used. This rollback baseline 47 can mean functional losses for the driver, eg. B. Failure of comfort features. The exact definition depends on the affected ECUs 51 . 52 . 53 . 54 . 55 . 56 and their dependencies and functions, so can not be described universally valid.

In der vorliegenden Ausführungsform wird nun der folgende Regelsatz vorgeschlagen:
Die erste Rollbackebene definiert eine Baseline, die die Fahrzeugsicherheit weiterhin gewährleistet, d. h. das Fahrzeug 10 kann bewegt werden. Betroffene Komfortfunktionen können nicht funktional sein. Somit kann der Nutzer/Fahrer das Fahrzeug 10 noch ohne fremde Hilfe zur Werkstatt bewegen resp. ist auch in Notsituationen einsetzbar.
In the present embodiment, the following rule set is proposed:
The first rollback level defines a baseline that continues to provide vehicle safety, ie the vehicle 10 can be moved. Affected comfort features may not be functional. Thus, the user / driver can drive the vehicle 10 still move without help to the workshop resp. is also usable in emergency situations.

Auch die zweite Rollbackebene definiert eine Baseline, die die Fahrzeugsicherheit weiterhin gewährleistet, d. h. das Fahrzeug 10 kann bewegt werden. Definierte Zusatzfunktionen wie ABS können hier jedoch nicht funktional sein. The second rollback level also defines a baseline that continues to ensure vehicle safety, ie the vehicle 10 can be moved. Defined additional functions like ABS can not be functional here.

Die dritte Rollbackebene bildet nun eine Baseline, die die Fahrzeugsicherheit eingeschränkt gewährleistet, d. h. auch hier kann das Fahrzeug 10 bewegt werden. Bestimmte Grundfunktionen jedoch werden im Notlauf betrieben, z. B. das Getriebe. The third rollback plane now forms a baseline, which ensures restricted vehicle safety, ie here too the vehicle can 10 to be moved. Certain basic functions, however, are operated in emergency mode, eg. B. the transmission.

Die vierte Rollbackebene schließlich bildet eine Baseline, die die Fahrzeugsicherheit nicht gewährleistet, d. h. das Fahrzeug 10 kann nicht bewegt werden. Eine Diagnose, insbesondere eine Ferndiagnose, ist jedoch möglich. Finally, the fourth rollback plane forms a baseline that does not guarantee vehicle safety, ie the vehicle 10 can not be moved. However, a diagnosis, in particular a remote diagnosis, is possible.

Dieser Vorschlag folgt dem Prinzip der Auswirkungsminimierung, d. h. schlägt ein abgestuftes Konzept vor im Umgang mit Fehlern. Zur Einbringung dieses Wissens ins Fahrzeug 10 dient das Content-Management 18. Diese in 1 gezeigte Komponente legt das Wissen und Definitionen der Rollback-Baseline 47 ab. Dies kann technisch als relationale Datenbank oder in einem Dateisystem (file system) erfolgen.This proposal follows the principle of impact minimization, ie proposes a graduated approach to dealing with errors. To introduce this knowledge into the vehicle 10 serves the content management 18 , This in 1 component shown sets the knowledge and definitions of the rollback baseline 47 from. This can be done technically as a relational database or in a file system.

Zum Erkennen des Rollback-Falls wird das nunmehr anhand der 3 beleuchtete Verfahren 30 vorgeschlagen: In einem ersten Schritt 31 werden die von dem Softwareupdate abhängige Ziel-Baseline 48 und die von der Ziel-Baseline 48 betroffenen Steuergeräte 51, 52, 53, 54 des Fahrzeuges 10 bestimmt (35). Daraufhin werden die von der Ziel-Baseline 48 betroffenen Steuergeräte 51, 52, 53, 54, 55, 56 gemäß der Ziel-Baseline 48 auf die Versionen V3.0, V2.0, V4.0 bzw. V3.0 aktualisiert (36). To recognize the rollback case that is now based on the 3 illuminated procedures 30 Suggested: In a first step 31 become the target software baseline dependent on the software update 48 and those of the target baseline 48 affected ECUs 51 . 52 . 53 . 54 of the vehicle 10 certainly ( 35 ). This will be followed by the target baseline 48 affected ECUs 51 . 52 . 53 . 54 . 55 . 56 according to the target baseline 48 updated to versions V3.0, V2.0, V4.0 or V3.0 ( 36 ).

Falls dieser erste Schritt 31 fehlschlägt (37), werden in einem zweiten Schritt 32 die ursprüngliche Baseline 46 und die von der ursprünglichen Baseline 46 betroffenen Steuergeräte 51, 52, 53, 54 bestimmt (38). Sodann werden die von der ursprünglichen Baseline 46 betroffenen Steuergeräte 51, 52, 53, 54 gemäß der ursprünglichen Baseline 46 auf die Versionen V1.0, V1.0, V2.0 bzw. V2.0 aktualisiert (39). If this first step 31 fails ( 37 ), in a second step 32 the original baseline 46 and those from the original baseline 46 affected ECUs 51 . 52 . 53 . 54 certainly ( 38 ). Then the ones from the original baseline 46 affected ECUs 51 . 52 . 53 . 54 according to the original baseline 46 updated to versions V1.0, V1.0, V2.0 or V2.0 ( 39 ).

Falls nun auch der zweite Schritt 32 fehlschlägt (40), werden in einem dritten Schritt 33 die Rollback-Baseline 47 und die von der Rollback-Baseline 47 betroffenen Steuergeräte 51, 52, 53, 54 bestimmt (41) und mindestens die von der Rollback-Baseline 47 betroffenen Steuergeräten 51, 53 werden gemäß der Rollback-Baseline 47 auf die Versionen V2.0 bzw. V3.0 aktualisiert (42). If so, now the second step 32 fails ( 40 ), in a third step 33 the rollback baseline 47 and those of the rollback baseline 47 affected ECUs 51 . 52 . 53 . 54 certainly ( 41 ) and at least those of the rollback baseline 47 affected control units 51 . 53 be according to the rollback baseline 47 updated to versions V2.0 or V3.0 ( 42 ).

Falls schließlich selbst der dritte Schritt 33 fehlschlägt (43), werden in einem vierten Schritt 34 Protokolle zu den Schritten 31, 32, 33 und Informationen 44 zu dem Fahrzeug 10 und dessen Steuergeräten 51, 52, 53, 54, 55, 56 gesammelt. Aufgrund der gesammelten Informationen 44 ergeht eine Fehlermeldung 45 an den Führer des Fahrzeuges 10 sowie das Backend 20.Eventually, even the third step 33 fails ( 43 ), in a fourth step 34 Protocols to the steps 31 . 32 . 33 and information 44 to the vehicle 10 and its controllers 51 . 52 . 53 . 54 . 55 . 56 collected. Based on the information collected 44 an error message is issued 45 to the driver of the vehicle 10 as well as the backend 20 ,

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

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.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • DE 10105454 A1 [0004] DE 10105454 A1 [0004]

Claims (10)

Verfahren (30) zum Installieren eines Softwareupdates in einem Fahrzeug (10), gekennzeichnet durch folgende Merkmale: – in einem ersten Schritt (31) werden eine von dem Softwareupdate abhängige Ziel-Baseline (48) und von der Ziel-Baseline (48) betroffene Steuergeräte (51, 52, 53, 54, 55, 56) des Fahrzeuges (10) bestimmt (35) und mindestens ein Steuergerät (51, 52, 53, 54, 55, 56) unter den von der Ziel-Baseline (48) betroffenen Steuergeräten (51, 52, 53, 54, 55, 56) wird gemäß der Ziel-Baseline (48) aktualisiert (36), – falls der erste Schritt (31) fehlschlägt (37), werden in einem zweiten Schritt (32) eine ursprüngliche Baseline (46) und von der ursprünglichen Baseline (46) betroffene Steuergeräte (51, 52, 53, 54, 55, 56) bestimmt (38) und mindestens ein Steuergerät (51, 52, 53, 54, 55, 56) unter den von der ursprünglichen Baseline (46) betroffenen Steuergeräten (51, 52, 53, 54, 55, 56) wird gemäß der ursprünglichen Baseline (46) aktualisiert (39) und – falls der zweite Schritt (32) fehlschlägt (40), werden in einem dritten Schritt (33) mindestens eine Rollback-Baseline (47) zwischen der ursprünglichen Baseline (46) und der Ziel-Baseline (48) und von der Rollback-Baseline (47) betroffene Steuergeräte (51, 52, 53, 54, 55, 56) bestimmt (41) und mindestens ein Steuergerät (51, 52, 53, 54, 55, 56) unter den von der Rollback-Baseline (47) betroffenen Steuergeräten (51, 52, 53, 54, 55, 56) wird gemäß der Rollback-Baseline (47) aktualisiert (42). Procedure ( 30 ) for installing a software update in a vehicle ( 10 ), characterized by the following features: - in a first step ( 31 ), a software baseline dependent target baseline ( 48 ) and the target baseline ( 48 ) affected ECUs ( 51 . 52 . 53 . 54 . 55 . 56 ) of the vehicle ( 10 ) certainly ( 35 ) and at least one control device ( 51 . 52 . 53 . 54 . 55 . 56 ) below those of the target baseline ( 48 ) concerned control devices ( 51 . 52 . 53 . 54 . 55 . 56 ) is calculated according to the target baseline ( 48 ) ( 36 ), - if the first step ( 31 ) fails ( 37 ), in a second step ( 32 ) an original baseline ( 46 ) and from the original baseline ( 46 ) affected ECUs ( 51 . 52 . 53 . 54 . 55 . 56 ) certainly ( 38 ) and at least one control device ( 51 . 52 . 53 . 54 . 55 . 56 ) below those of the original baseline ( 46 ) concerned control devices ( 51 . 52 . 53 . 54 . 55 . 56 ) according to the original baseline ( 46 ) ( 39 ) and - if the second step ( 32 ) fails ( 40 ), in a third step ( 33 ) at least one rollback baseline ( 47 ) between the original baseline ( 46 ) and the target baseline ( 48 ) and the rollback baseline ( 47 ) affected ECUs ( 51 . 52 . 53 . 54 . 55 . 56 ) certainly ( 41 ) and at least one control device ( 51 . 52 . 53 . 54 . 55 . 56 ) below those of the rollback baseline ( 47 ) concerned control devices ( 51 . 52 . 53 . 54 . 55 . 56 ) according to the Rollback Baseline ( 47 ) ( 42 ). Verfahren (30) nach Anspruch 1, gekennzeichnet durch folgendes Merkmal: – falls der dritte Schritt (33) fehlschlägt (43), werden in einem vierten Schritt (34) Protokolle zu den vorangehenden Schritten (31, 32, 33) und Informationen (44) zu dem Fahrzeug (10), insbesondere zu den Steuergeräten (51, 52, 53, 54, 55, 56), gesammelt.Procedure ( 30 ) according to claim 1, characterized by the following feature: if the third step ( 33 ) fails ( 43 ), in a fourth step ( 34 ) Protocols to the preceding steps ( 31 . 32 . 33 ) and information ( 44 ) to the vehicle ( 10 ), in particular to the control units ( 51 . 52 . 53 . 54 . 55 . 56 ), collected. Verfahren (30) nach Anspruch 2, gekennzeichnet durch folgendes Merkmal: – aufgrund der gesammelten Informationen (44) ergeht eine Fehlermeldung (45) an einen Führer des Fahrzeuges (10) und ein mit dem Fahrzeug (10) verbundenes Backend (20).Procedure ( 30 ) according to claim 2, characterized by the following feature: - on the basis of the information collected ( 44 ) an error message ( 45 ) to a driver of the vehicle ( 10 ) and one with the vehicle ( 10 ) connected backend ( 20 ). Teilsystem für ein Fahrzeug (10), welches eingerichtet ist, das Verfahren (30) nach Anspruch 3 auszuführen.Subsystem for a vehicle ( 10 ), which is set up, the method ( 30 ) according to claim 3. Teilsystem nach Anspruch 4, gekennzeichnet durch folgende Merkmale: – einen über eine Luftschnittstelle (29) mit einem Gerätemanagement-Server (26) des Backends (20) verbundenen Gerätemanagement-Client (16) zum Austauschen von Geräte-, Fahrzeug- und von Diagnose- sowie Softwareupdateinformationen, – einen über die Luftschnittstelle (29) mit einem Download-Server (21) des Backends (20) verbundenen Download-Client (11) zum Herunterladen des Softwareupdates von dem Backend (20) in das Fahrzeug (10), – mit dem Download-Client (11) verbundene Softwareupdate-Clients (12, 13) zum Anwenden des Softwareupdates und – einen mit dem Download-Client (11) und den Softwareupdate-Clients (12, 13) verbundenen Fahrzeugupdate-Client (14) zum Bestimmen der Rollback-Baseline (47). Subsystem according to Claim 4, characterized by the following features: - one via an air interface ( 29 ) with a device management server ( 26 ) of the backend ( 20 ) connected device management client ( 16 ) for exchanging device, vehicle and diagnostic and software update information, - one via the air interface ( 29 ) with a download server ( 21 ) of the backend ( 20 Download client ( 11 ) to download the software update from the backend ( 20 ) in the vehicle ( 10 ), - with the download client ( 11 ) related software update clients ( 12 . 13 ) to apply the software update and - one with the download client ( 11 ) and the software update clients ( 12 . 13 vehicle update client ( 14 ) for determining the rollback baseline ( 47 ). Teilsystem nach Anspruch 5, gekennzeichnet durch folgendes Merkmal: – mindestens einen Content-Speicher (17) zum Speichern des Softwareupdates und – ein mit dem Download-Client (11), den Softwareupdate-Clients und dem Fahrzeugupdate-Client (14) verbundenes Content-Management (18) zum Verwalten des Content-Speichers (17) und der Rollback-Baseline (47). Subsystem according to Claim 5, characterized by the following feature: - at least one content memory ( 17 ) for saving the software update and - one with the download client ( 11 ), the software update clients, and the vehicle update client ( 14 ) connected content management ( 18 ) for managing the content memory ( 17 ) and the rollback baseline ( 47 ). Teilsystem nach Anspruch 6, gekennzeichnet durch folgendes Merkmal: – eine mit dem Content-Management (18) verbundene vorzugsweise relationale Datenbank zum Ablegen der Rollback-Baseline (47). Subsystem according to Claim 6, characterized by the following feature: - one with content management ( 18 ) preferably relational database for storing the rollback baseline ( 47 ). Teilsystem nach Anspruch 6, gekennzeichnet durch folgendes Merkmal: – ein mit dem Content-Management (18) verbundenes Dateisystem zum Ablegen der Rollback-Baseline (47). Subsystem according to Claim 6, characterized by the following feature: - one with content management ( 18 ) associated file system for storing the rollback baseline ( 47 ). Teilsystem nach einem der Ansprüche 5 bis 8, gekennzeichnet durch folgendes Merkmal: – die Softwareupdate-Clients umfassen mindestens einen Anwendungssoftware-Update-Client (12) und mindestens einen Firmware-Update-Client (13).Subsystem according to one of Claims 5 to 8, characterized by the following feature: the software update clients comprise at least one application software update client ( 12 ) and at least one firmware update client ( 13 ). Fahrzeug (10) mit einem Teilsystem nach einem der Ansprüche 4 bis 9.Vehicle ( 10 ) with a subsystem according to one of claims 4 to 9.
DE102015216265.6A 2015-08-26 2015-08-26 Method and subsystem for installing a software update in a vehicle Pending DE102015216265A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102015216265.6A DE102015216265A1 (en) 2015-08-26 2015-08-26 Method and subsystem for installing a software update in a vehicle
KR1020160107039A KR102639949B1 (en) 2015-08-26 2016-08-23 Method and subsystem for installing a software update in a vehicle
CN201610724052.2A CN106484456B (en) 2015-08-26 2016-08-25 Method and subsystem for installing software updates in a vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015216265.6A DE102015216265A1 (en) 2015-08-26 2015-08-26 Method and subsystem for installing a software update in a vehicle

Publications (1)

Publication Number Publication Date
DE102015216265A1 true DE102015216265A1 (en) 2017-03-02

Family

ID=58011159

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015216265.6A Pending DE102015216265A1 (en) 2015-08-26 2015-08-26 Method and subsystem for installing a software update in a vehicle

Country Status (3)

Country Link
KR (1) KR102639949B1 (en)
CN (1) CN106484456B (en)
DE (1) DE102015216265A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020011678A1 (en) * 2018-07-10 2020-01-16 Bayerische Motoren Werke Aktiengesellschaft Method for resetting a vehicle, method for operating a vehicle, and system for a vehicle
WO2020043361A1 (en) * 2018-08-29 2020-03-05 Jaguar Land Rover Limited Installing application program code on a vehicle control system
EP3620914A1 (en) * 2018-09-05 2020-03-11 Hyundai Motor Company Apparatus for providing update of vehicle and computer-readable storage medium
DE102019131087A1 (en) * 2019-11-18 2021-05-20 Audi Ag Software installation in vehicle control units

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3399411A1 (en) * 2017-05-04 2018-11-07 Volvo Car Corporation Method and system for fault handling during remote installation of software in a vehicle
US20190324858A1 (en) * 2018-04-24 2019-10-24 GM Global Technology Operations LLC Rollback recovery from partial failure in multiple electronic control unit over-the-air updates
CN109144550A (en) * 2018-09-03 2019-01-04 北京新能源汽车股份有限公司 A kind of data processing method, apparatus and system
CN110278543B (en) * 2019-06-27 2021-11-02 奇瑞汽车股份有限公司 Method and device for updating control system of automobile and storage medium
WO2022205200A1 (en) * 2021-03-31 2022-10-06 华为技术有限公司 Version management method and apparatus

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10105454A1 (en) 2001-02-07 2002-08-29 Bosch Gmbh Robert Procedure for the automatic addition of software

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0214303D0 (en) * 2002-06-21 2002-07-31 Koninkl Philips Electronics Nv Server side configuration management
US8978028B2 (en) * 2007-10-10 2015-03-10 Microsoft Technology Licensing, Llc Transactional multi-package installation
US8214470B2 (en) * 2007-11-02 2012-07-03 Telefonaktiebolaget L M Ericsson (Publ) Upgrading software in radio base station nodes
US9557981B2 (en) * 2011-07-26 2017-01-31 Ford Global Technologies, Llc Method and apparatus for automatic module upgrade
CN102609328B (en) * 2012-01-29 2015-04-15 华为终端有限公司 System difference upgrade method and device and mobile terminal
US9369867B2 (en) * 2012-06-29 2016-06-14 Intel Corporation Mobile platform software update with secure authentication
US20140282470A1 (en) * 2013-03-13 2014-09-18 Arynga Inc. Remote transfer of electronic images to a vehicle
CN103226484A (en) * 2013-04-15 2013-07-31 浙江大学 On-orbit update method for satellite-borne integrated electronic system program
JP5975964B2 (en) * 2013-10-18 2016-08-23 富士通株式会社 Information processing program, information processing method, information processing apparatus, and information processing system
CN103677902A (en) * 2013-11-25 2014-03-26 上海斐讯数据通信技术有限公司 Method for ensuring safety and success of updating of line-card software in distributed OLT system
CN104182299A (en) * 2014-07-29 2014-12-03 捷开通讯科技(上海)有限公司 Software rejuvenation system and method for electronic equipment
CN104156244B (en) * 2014-08-06 2018-09-04 北京奇虎科技有限公司 A kind of method and apparatus of software upgrading
CN104461648B (en) * 2014-12-22 2017-10-31 广东欧珀移动通信有限公司 A kind of method and system of intelligent terminal OTA upgradings backup

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10105454A1 (en) 2001-02-07 2002-08-29 Bosch Gmbh Robert Procedure for the automatic addition of software

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020011678A1 (en) * 2018-07-10 2020-01-16 Bayerische Motoren Werke Aktiengesellschaft Method for resetting a vehicle, method for operating a vehicle, and system for a vehicle
WO2020043361A1 (en) * 2018-08-29 2020-03-05 Jaguar Land Rover Limited Installing application program code on a vehicle control system
US11768669B2 (en) 2018-08-29 2023-09-26 Jaguar Land Rover Limited Whitley Installing application program code on a vehicle control system
EP3620914A1 (en) * 2018-09-05 2020-03-11 Hyundai Motor Company Apparatus for providing update of vehicle and computer-readable storage medium
US10956144B2 (en) 2018-09-05 2021-03-23 Hyundai Motor Company Apparatus for providing update of vehicle and computer-readable storage medium
DE102019131087A1 (en) * 2019-11-18 2021-05-20 Audi Ag Software installation in vehicle control units

Also Published As

Publication number Publication date
KR102639949B1 (en) 2024-02-27
CN106484456A (en) 2017-03-08
KR20170026186A (en) 2017-03-08
CN106484456B (en) 2021-07-27

Similar Documents

Publication Publication Date Title
DE102015216265A1 (en) Method and subsystem for installing a software update in a vehicle
DE102019109672A1 (en) CANCELLATION AFTER PARTIAL FAILURE IN MULTIPLE ELECTRONIC CONTROL UNITS BY OVER THE AIR UPDATE
DE102015221330A1 (en) A method and apparatus for robustly updating firmware of a vehicle over an air interface
EP0685086B1 (en) Device for automatically generating a knowledgebase for an expert diagnostic system
EP3330816A1 (en) Method for updating software in cloud gateways, computer program with an implementation of the method and processing unit for executing the method
EP1430369A1 (en) Dynamic access to automation resources
WO2008095518A1 (en) Use of a distributed diagnostic architecture in autosar
DE102017210787A1 (en) Method and apparatus for detecting anomalies in a communication network
EP3311550A1 (en) Method for communication between software components in a motor vehicle
EP2745205B1 (en) Method for operating a control network, and control network
DE102013211772A1 (en) Method and device for exchanging data in a motor vehicle for operating an actuator, preferably an automated friction clutch and / or an automated transmission
DE102010039021A1 (en) Method for reconfiguring software parameters in a microcontroller and microcontroller and controller
DE102017109132A1 (en) Method and IT infrastructure for model-based testing of software for a vehicle application system and for providing corresponding test results
WO2005022382A2 (en) Method for the installation of a program component
DE102014002593A1 (en) Dynamic programmable logic controller
WO2021144271A1 (en) Method and apparatus for reconfiguring an autonomous vehicle in the event of a fault
DE102013003271A1 (en) Method for setting up and / or updating a programming of a control device of a means of transport
DE102009047974B4 (en) Procedure for programming a control unit
DE102018201710A1 (en) Method and device for checking a function of a neural network
DE102013201933A1 (en) Method for checking software compatibility of control devices, involves completing review as correct, if software version identifiers of checked control devices are valid and equal, and/or both are considered as valid
DE102015214389A1 (en) Method and device for updating a virtual machine operated on a physical machine under a hypervisor
DE102017204212A1 (en) Method and device for managing applications for vehicles
WO2009103728A1 (en) Method and device for storing information data
EP2204704A1 (en) Method for operating an industrial automation system comprising multiple networked computing units and industrial automation system
DE102020216481A1 (en) Method of operating a controller and controller

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0009445000

Ipc: G06F0008650000