WO2020025372A1 - Procédé, dispositif de commande, programme informatique et progiciel informatique destiné à actualiser un logiciel pour un dispositif de commande - Google Patents

Procédé, dispositif de commande, programme informatique et progiciel informatique destiné à actualiser un logiciel pour un dispositif de commande Download PDF

Info

Publication number
WO2020025372A1
WO2020025372A1 PCT/EP2019/069641 EP2019069641W WO2020025372A1 WO 2020025372 A1 WO2020025372 A1 WO 2020025372A1 EP 2019069641 W EP2019069641 W EP 2019069641W WO 2020025372 A1 WO2020025372 A1 WO 2020025372A1
Authority
WO
WIPO (PCT)
Prior art keywords
target
software version
file
information
content
Prior art date
Application number
PCT/EP2019/069641
Other languages
German (de)
English (en)
Inventor
Andreas Klenk
David Fuhrmann
Original Assignee
Bayerische Motoren Werke Aktiengesellschaft
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 Bayerische Motoren Werke Aktiengesellschaft filed Critical Bayerische Motoren Werke Aktiengesellschaft
Publication of WO2020025372A1 publication Critical patent/WO2020025372A1/fr

Links

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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1873Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files

Definitions

  • the invention relates to a method, a control device, a computer program and a computer program product for updating software for a control device.
  • Updating software enables software problems to be fixed and / or resolved
  • the object on which the invention is based is a
  • the invention is characterized by a method for updating software for a Control device from.
  • a method for updating software for a Control device from.
  • the source software version includes at least one source file, with the
  • Source file a source file content and a
  • Update information is representative of information about a target software version and includes at least target file information.
  • the target file information is a
  • the target file content information being representative of a target file content.
  • Determining the target software version includes checking at the file level whether the target file information indicates that the source file content matches the target file content
  • a target file is created by assigning the target file name and referencing the source file content. Otherwise, the target file is created by mapping the target file name, saving the target file content, and referencing the target file content.
  • the control device is implemented, for example, in a control unit of a vehicle.
  • the control device is
  • control device for example a control device with a
  • the double memory includes in particular an active memory area and an inactive memory area.
  • the source software version is, for example
  • Output software version is stored, for example, in the active memory area of the control device.
  • the respective software version i.e. both
  • the source software version and the target software version include, for example, file system structure information and file contents.
  • the file system structure information comprises in particular at least one directory name and a file name, the directory name being representative of a name of a directory of the respective software version and the file name being a name of a file of the
  • the update information is, for example
  • the update information is determined, for example, in a server device and to the control device
  • the update information is created especially outside the vehicle.
  • Update information is provided, for example, by means of a wireless connection to the control device.
  • the target software version is representative of an updated software version.
  • Target software version is stored in the inactive memory area, for example. This makes it possible to determine the target software version during normal operation of the control device, for example while the vehicle is traveling. The normal operation of the control device
  • the control device is, for example, representative of a functional operation of the control device.
  • the output file name is, for example, representative of a unique identifier of the output file.
  • the source file name can be a string, for example and / or some other characteristic of the source file.
  • the target file name is, for example, representative of a unique identifier of the target file.
  • the target file name can be one
  • Referencing the source file content means that identical data is not saved twice.
  • the target software version and the source software version can access the source file content. This makes it possible to reduce the memory requirement for updating the software version. This will save several
  • the source file content and the target file content are stored, for example, in a partition, the partition for a common storage area for the Source software version and target software version is representative.
  • the source file and / or the target file can be any suitable source file and / or the target file.
  • Metadata for example, include metadata.
  • the metadata include, for example, information about access rights and / or a time stamp.
  • the metadata or part of the metadata can be assigned to the source file content or the target file content.
  • the invention is characterized by a method for updating software for a
  • Control device from. uses a
  • Output software version of the control device provided.
  • the source software version includes at least one
  • a source file content and a source file name are assigned to the source file.
  • the source file content comprises at least one source file content block. Update information is provided.
  • Update information is representative of information about a target software version and includes at least target file information.
  • the target file information is a
  • the target file content information is representative of target file content.
  • a target file is created by mapping the target file name if the
  • Target file content block with none of the at least one
  • the first and second aspects can be combined with one another as desired.
  • Source software version at least one source directory.
  • the home directory includes at least the home file.
  • a home directory name and a home directory content are assigned to the home directory.
  • Home directory content includes at least that
  • the update information includes a target directory information to which a target directory name and target directory information are assigned.
  • the target directory information is for one
  • Target directory content includes at least the target file content. Determining the target software version includes checking whether the target directory content information shows that the source directory content matches the target directory content matches. If this is the case, a target directory is created by assigning the
  • Target software version at file level based on the respective target directory content information.
  • Referencing the home directory name enables easy referencing. This enables separate referencing to all source files of the
  • referencing takes place by means of a hard link and / or a symbolic link.
  • the hard link enables, for example, referencing the source file content.
  • the symbolic link is used, for example, to reference the
  • the target file is generated by means of copy-on-write and / or
  • the generation of the target file by means of copy-on-write and / or redirect-on-write enables the efficient generation of the target software version with a low memory requirement.
  • the target software version with a low memory requirement.
  • the currently activated software version is, for example, one used to operate the control device
  • the update information comprises a delta update package.
  • the delta update package is for a change between the
  • the delta update package makes it possible to reduce the amount of data required to update the software version. This enables the software version to be updated efficiently, since the small size of the delta means that transmission to the control unit can be carried out more quickly.
  • the update information comprises a first check information.
  • a second test information is determined. It is determined whether the second test information matches the first test information. If the second test information matches the first test information, the
  • the first check information is, for example, representative of a first checksum and the second check information is, for example, representative of a second checksum.
  • the first test information is determined, for example, in the server device.
  • the second test information is created in the vehicle, for example. If the first test information with the second test information
  • the target software version is activated, for example. If the second check information is not
  • the output software version continues to be used to operate the control device and the vehicle can continue to be operated. Comparing the first
  • Test information with the second test information enables a reliable and safe update of the
  • the is dependent on receiving the update information or activating the target software version
  • Source software version deleted In the event of deletion, the target software version available at the time is used as the source software version for the future procedure
  • Source file content and / or source file content block are referenced by the target software version. If so, the home directory name and / or home file content and / or home file content block are not released for deletion.
  • Deleting the source software version allows more storage space to update the software version.
  • the target software version can be based on your
  • Determination can be used as the source software version.
  • the main update is for a given significant change between the source software version and the
  • Target software version representative if the
  • Update information is representative of the main update
  • the target software version is used as the source software version after its determination.
  • the main update includes, for example, features that are new compared to the source software version.
  • Source software version is used, for example, to determine the update information for a further update of the software version. This enables the update information in the
  • the invention relates to a
  • Control device the control device for this purpose
  • the method is designed according to the first aspect
  • the control device includes, for example, a data processing device that is coupled to the server device in terms of signal technology.
  • the control device is implemented, for example, in a control unit of a vehicle.
  • the invention relates to a
  • Computer program for updating a software version for a control device The computer program is designed to carry out the method according to the first aspect and / or the second aspect.
  • the invention relates to a
  • Computer program product comprising executable program code, the program code being executed by a
  • Data processing device performs the method according to the first aspect and / or the second aspect.
  • the computer program product in particular comprises a medium that can be read by the data processing device and on which the program code is stored.
  • Figure 1 shows a first flow chart of a program for
  • Figure 2 shows a second flow chart of a program for updating a software version for a
  • Figure 3 is an illustration of a control device.
  • FIG. 1 shows a flow diagram of a first program for updating a software version for a
  • Control device SV (see Figure 3).
  • the program is started in a step S1, in which, for example, variables are initialized.
  • the program is then continued in a step S3.
  • step S3 a source software version
  • the source software version includes
  • the source software version includes, for example, at least one source directory.
  • the home directory includes at least the home file.
  • the home directory is a home directory name and a
  • Home directory content includes at least that
  • the source software version is for example in an active memory area AB
  • Control device SV stored.
  • the program will be described below.
  • Update information is provided in step S5.
  • the update information is representative of information about a target software version and comprises at least one target file information, the one
  • Target file name and target file content information are assigned.
  • the target file content information is for one
  • Target file content representative The update information includes, for example, target directory information, the target directory name and one
  • Target directory content information is assigned.
  • Target directory content information is for one
  • Target directory content includes at least the target file content.
  • the update information includes, for example, a delta update package, the delta update package for one
  • Target software version is representative.
  • Update information includes, for example, first check information.
  • the update information will be described
  • the program is then continued in an optional step S7.
  • step S7 it is checked whether it follows from the target directory content information that the
  • a target directory is created by assigning a target directory name and referencing the source directory name or the
  • Home directory names are created using a symbolic link, for example. This makes it easy to create the first target directory.
  • the determined target software version is stored, for example, in an inactive memory area IB of the control device SV.
  • the source file contents and target file contents are stored in a partition.
  • the partition is, for example, a common memory area GSB which the source software version and the target software version can access.
  • step Sil it is checked whether further target directories are to be created.
  • step S13 it is checked whether it emerges from the target file information that the source file content matches the target file content.
  • step S15 the target file is generated by assigning the target file name and referencing it
  • Output file content is done, for example, by means of a hard link. This enables the target file to be created easily.
  • step S17 the target file is generated by assigning the target file name, storing the target file content and
  • step S19 it is checked whether further target files are to be created in the target directory.
  • step S13 If this is the case, the program continues in step S13.
  • the program continues in the optional step Sil. If it is determined in the optional step Sil that no further target directories are to be generated, the program is continued in an optional step S21.
  • step S21 is determined depending on the
  • Target software version determined a second test information.
  • the program is in an optional step S23
  • step S23 it is determined whether the second test information matches the first test information.
  • test information matches, the program is continued in an optional step S25.
  • the target software version is classified as correctly created. This enables a safe update of the software version with a higher fault tolerance.
  • the program continues in an optional step S27.
  • step S27 the target software version is activated.
  • test information matches, the program is continued in an optional step S29.
  • step S29 for example
  • Target software version is not activated.
  • the program is ended in a step S31 and can optionally be started again in step S1.
  • FIG. 2 shows a second flow chart of a program for updating a software version for a
  • Control device SV Control device SV.
  • the program is started in a step S41 in which, for example, variables are initialized.
  • the program is then continued in a step S43.
  • step S43 the initial software version
  • the source software version includes
  • the output file being assigned an output file content and an output file name and the output file content being at least one
  • Output file content block includes.
  • the program continues in a step S45.
  • the update information is provided in step S45.
  • the update information is representative of information about a target software version and comprises at least one target file information, the one
  • Target file name and a target file content information are assigned, the target file content information for one
  • Target file content is representative and the target file content comprises at least one target file content block.
  • the program continues in a step S47.
  • a target file name is determined in step S47.
  • the program continues in a step S49.
  • step S49 a check is made for the respective target file content blocks of the respective target file information, depending on the target file content information of the respective target file information and the output file content
  • Target file content block matches. If this is the case, the program continues in a step S51.
  • step S51 reference is made to the respective one
  • step S53 If the respective target file content block does not match any of the at least one output file content block, the program continues in a step S53.
  • step S53 the output file content block
  • the target file is determined
  • the program continues in a step S55.
  • step S55 it is checked whether further content blocks are present in the file.
  • step S55 If it is determined in step S55 that there are further content blocks in the file, the program continues in step S59.
  • step S57 it is checked whether there are further files in the target software version. If so, the program continues in step S47. If this is not the case, the program continues in a step S59.
  • the second test information is determined in step S59.
  • the program continues in a step S61.
  • step S61 it is checked whether the first check information matches the second check information.
  • step S63 continued.
  • step S63 the target software version is classified as correctly created.
  • the program continues in an optional step S65.
  • step S65 the target software version is activated.
  • step S69 The program is then ended with a step S69 and can optionally be started again in step S41.
  • Step S69 ends and can optionally be started again in step S41.
  • Figure 3 shows the control device.
  • Control device is implemented, for example, in a control unit of a vehicle.
  • the update information is determined, for example, outside the vehicle.
  • the source software version is stored, for example, in the active memory area AB of the control device SV and the target software version generated is in the inactive
  • a first output file directory is a first one
  • Home directory includes a first home file and a second home file.
  • the first output file is a first output file name AD1 and a first one
  • Output files are assigned a second output file name AD2 and a second output file content ADI2.
  • Target directory content matches. A first one
  • Target directory is generated, for example, by assigning a first target directory name ZV1 and referencing the first source directory name AVI.
  • a second output directory is a second one
  • Home directory includes a third home file and a fourth home file.
  • the third output file is a third output file name AD3 and a third
  • Output files are assigned a fourth output file name AD4 and a fourth output file content ADI4. It results, for example, from a second one
  • Target directory content information that a second
  • the second target directory is generated, for example, by assigning a second target directory name ZV2, and
  • the target software version When the target software version is generated at the file level, it results, for example, that the third source file content ADI3 matches a third target file content of the third target file.
  • the third target file is created by
  • the fourth target file is generated by assigning a fourth target file name ZD4, storing the fourth target file content ZDI4 and referencing the fourth target file content ZDI4.
  • a file system structure is created in such a way that it can be used for
  • Software version gives a self-contained and complete data set.
  • the control device can, for example, be operated completely by means of the respective software version.
  • Referencing enables a quick installation of the target software version, a reduction in write cycles on a memory of the control device and a reliable update of the source software version.
  • Control devices are also made possible.
  • the determination of the target software version enables a
  • Update of the source software version while driving Furthermore, greater flexibility in data structuring and avoidance of file system re-partitioning is made possible.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

L'invention concerne une version logicielle de sortie qui est préparée par un dispositif de commande, qui comprend au moins une donnée de sortie, un contenu de donnée de sortie et un nom de donnée de sortie étant associés à la donnée de sortie. Une information d'actualisation est préparée. L'information d'actualisation est représentative d'une information pour une version logicielle cible et comprend au moins une information de donnée cible. Un nom de donnée cible et une information de contenu de donnée cible sont associés à l'information de donnée cible, l'information de contenu de donnée cible est représentative d'un contenu de donnée cible. La détermination de la version logicielle cible comprend sur un plan de donnée : vérifier si l'information de contenu de donnée cible indique que le contenu de donnée de sortie est conforme au contenu de donnée cible, dans l'affirmative, produire une donnée cible en associant le nom de donnée cible et en référençant par rapport au contenu de donnée de sortie, dans la négative, produire la donnée cible en associant le nom de donnée cible, en sauvegardant le contenu de donnée cible et en référençant par rapport au contenu de donnée cible.
PCT/EP2019/069641 2018-08-03 2019-07-22 Procédé, dispositif de commande, programme informatique et progiciel informatique destiné à actualiser un logiciel pour un dispositif de commande WO2020025372A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102018213045.0 2018-08-03
DE102018213045.0A DE102018213045A1 (de) 2018-08-03 2018-08-03 Verfahren, Steuervorrichtung, Computerprogramm und Computerprogrammprodukt zum Aktualisieren einer Software für eine Steuervorrichtung

Publications (1)

Publication Number Publication Date
WO2020025372A1 true WO2020025372A1 (fr) 2020-02-06

Family

ID=67539457

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2019/069641 WO2020025372A1 (fr) 2018-08-03 2019-07-22 Procédé, dispositif de commande, programme informatique et progiciel informatique destiné à actualiser un logiciel pour un dispositif de commande

Country Status (2)

Country Link
DE (1) DE102018213045A1 (fr)
WO (1) WO2020025372A1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130332916A1 (en) * 2012-06-08 2013-12-12 Apple Inc. System and method for updating application archive files
EP3301565A1 (fr) * 2016-09-30 2018-04-04 Hitachi, Ltd. Système informatique, procédé de mise à jour de logiciel avec un système informatique, et programme associé

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130332916A1 (en) * 2012-06-08 2013-12-12 Apple Inc. System and method for updating application archive files
EP3301565A1 (fr) * 2016-09-30 2018-04-04 Hitachi, Ltd. Système informatique, procédé de mise à jour de logiciel avec un système informatique, et programme associé

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HEWLETT-PACKARD COMPANY ET AL: "Sharing of common data blocks between different files of computer file systems to avoid data duplication problem", RESEARCH DISCLOSURE, KENNETH MASON PUBLICATIONS, HAMPSHIRE, UK, GB, vol. 526, no. 50, 1 February 2008 (2008-02-01), pages 168, XP007137981, ISSN: 0374-4353 *

Also Published As

Publication number Publication date
DE102018213045A1 (de) 2020-02-06

Similar Documents

Publication Publication Date Title
DE69905946T2 (de) Verfahren und vorrichtung zum laden von betriebssystemen in einer set-top box umgebung
DE102019109672A1 (de) Rückgängigmachung nach einem teilausfall in mehreren elektronischen steuergeräten mittels over-the-air-updates
DE10315490B4 (de) Verfahren und System zum Wechsel zwischen zwei oder mehreren Firmwareabbildungen auf einer Hostvorrichtung
EP2318920B1 (fr) Appareil de commande destiné à un véhicule et procédé d'actualisation de données pour un appareil de commande destiné à un véhicule
DE102009019271A1 (de) Übertragen von Sequenzzahlen für das Wiederherstellen nach Stromausfall bei einem nichtflüchtigen Speicher
DE10308545A1 (de) Verfahren und Vorrichtung zum Aktualisieren eines verteilten Programms
WO2016074663A1 (fr) Mise à jour d'un microprogramme
DE102020208245A1 (de) Datenspeicherungsvorrichtung und Datenspeicherungsprogramm
EP1721248B1 (fr) Procede et appareil de traitement de donnees pour la mise a jour de programmes informatiques par transmission de donnees
DE102022110251A1 (de) Ota-master, center, system, verfahren, nicht-transitorisches speichermedium und fahrzeug
DE112019000179T5 (de) Fahrzeugsteuervorrichtung und programmaktualisierungssystem
DE102008001162A1 (de) Zurücksetzverfahren und Informationsverarbeitungsvorrichtung, die dieses ausführt
DE102018213616A1 (de) Kryptografiemodul und Betriebsverfahren hierfür
WO2020099023A2 (fr) Appareil de commande pour un composant de véhicule, kit comprenant un appareil de commande et un dispositif d'essai, véhicule, procédé pour la mise à jour d'un appareil de commande et support de stockage lisible par ordinateur
DE102022110824A1 (de) Ota-master, system, verfahren, nicht-transitorisches speichermedium und fahrzeug
DE102019135079A1 (de) Installation von firmware-bundles abbrechen
WO2020025372A1 (fr) Procédé, dispositif de commande, programme informatique et progiciel informatique destiné à actualiser un logiciel pour un dispositif de commande
DE102018210868A1 (de) Elektronische Steuereinheit
DE102021002079B3 (de) Verfahren zum effizienten Ablegen von Daten
DE102009047974B4 (de) Verfahren zur Programmierung eines Steuergeräts
WO2009103728A1 (fr) Procédé et dispositif de stockage de données d’information
DE10260103A1 (de) Verfahren und Vorrichtung zur Änderung von Software in einem Steuergerät sowie entsprechendes Steuergerät
EP4099163A1 (fr) Procédé et système de détection et de suppression des points de défaillances dans les couches individuelles d'u système de fichiers d'une image de conteneur
DE102023104008B3 (de) Verfahren zum Austausch von Daten zwischen einem flüchtigen Speichermedium und einem nicht-flüchtigen Speichermedium, Datenverarbeitungsvorrichtung, Computerprogramm, computerlesbares Speichermedium und Kraftfahrzeug
DE112021000801T5 (de) Informationsverarbeitungsvorrichtung und Informationsverarbeitungsverfahren

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19749261

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19749261

Country of ref document: EP

Kind code of ref document: A1