System and method for updating vehicle software
The computer system addresses the complexity of vehicle software updates by using a library, configurator, and file creator to generate vehicle-specific update files, reducing costs and enhancing reliability in software updates.
Patent Information
- Application Number
- FR2023012629
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-11-17
- Publication Date
- 2025-05-23
AI Technical Summary
The increasing complexity of vehicle software management due to numerous control units with different hardware and software requirements leads to higher costs and risks of errors or malfunctions during software updates.
A computer system comprising a software library, an update configurator, and an update file creator, which selects and creates update files tailored to specific vehicles, considering compatibility, dependency, and vehicle-specific information, to ensure efficient and reliable software updates.
The system reduces costs and enhances reliability by sending vehicle-specific update files, simplifying configuration, and increasing the success rate of software updates, while managing the complexity of vehicle software updates effectively.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: System and method for updating software of a vehicle Technical field
[0001] The present disclosure relates to a computer system for updating software for a vehicle, as well as a method for updating software of a vehicle. State of the art
[0002] Systems and methods for updating a vehicle are known in the prior art. Document FR3067136 describes an example of a method for updating an on-board vehicle computer.
[0003] Statement of Disclosure
[0004] Vehicles increasingly include control units responsible for different functions, such as drive functions, safety functions, driver assistance functions or comfort functions. A modern vehicle thus comprises between 80 and 150 control units depending on its type, segment and equipment level. These control units can be based on different hardware, requiring different software. The software adapted for the control units can also have incompatibilities with other software or other control units of the vehicle.
[0005] The management of vehicle software updates is therefore becoming increasingly complex, thus increasing costs and the risk of error or malfunction for vehicles.
[0006] A first aspect of the disclosure relates to a computer system for updating vehicle software, each comprising a plurality of updatable control units, the computer system comprising: • A software library storing a plurality of software programs each of which can be installed on at least one control unit of one of the vehicles; • An update configurator configured to select at least one software suitable for at least one of the vehicles to be updated from said software library; • An update file creator configured to create at least one update file from the at least one software selected by the update configurator.
[0007] For example, the update file may include a portion of the software or more than one software. Control information may also be inserted into the file. update, such as a vehicle type, vehicle ID and / or control unit type.
[0008] Such a computer system allows the sending of an update file adapted for each vehicle, for a reduced cost and with a high level of reliability. This system therefore makes it possible to better manage the complexity of vehicle updates. In particular, grouping several software programs in the same library makes it possible to simplify the configuration of the update file. In addition, decoupling the update file from the selected software makes it possible to increase the success rate of the updates.
[0009] Advantageously, the software library contains for each stored software at least one of an identification reference, a memory size, a version number, an expected installation time, dependency information and compatibility information. This software information can be entered when loading the software into the software library or be generated by an algorithm of the software library. This makes the software library and therefore the computer system more efficient.
[0010] Advantageously, the compatibility information comprises at least one type of control unit and / or at least one identification reference of another software. For example, the compatibility information may comprise one or more types of control units compatible and / or incompatible with the software. In addition, the compatibility information may comprise one or more identification references compatible and / or incompatible with the software. This makes it possible to increase the level of reliability of the computer system, by taking into account the compatibility or incompatibility of the software with each other and / or with one or more control units.
[0011] Advantageously, the update configurator is configured to select the at least one software on the basis of the version number, the dependency information and / or the compatibility information. This contributes to increasing the reliability of the updates carried out by the computer system.
[0012] Advantageously, the update file creator is configured to create an update file with a total memory size less than a threshold value. For example, this threshold value can be set as a function of a memory space of the control unit to be updated, a memory space of the vehicle or the quality of the connection with the vehicle, such as a transfer speed of a data link with the vehicle. This makes it possible to increase a success rate of a software update of a vehicle.
[0013] Alternatively or in combination, the update file creator may take into account dependency information of the selected software and / or their time installation. Based on this, the update file creator can assemble one or more software programs into a single update file or split one software program into several update files. In addition, a first number of update files can be created based on a second number of software programs that differs from the first number, for example in the case of dependent software programs, in order to meet an optimal installation time or update file size.
[0014] Advantageously, the computer system comprises an update server configured to be remotely connected to the vehicle, in order to transmit the update file to the vehicle. Alternatively or in combination, the update server is configured to acquire, from the vehicle, vehicle information comprising at least one of a type of module installed on the vehicle, an identification reference of software installed on the vehicle and a version number of software installed on the vehicle. Such an update server therefore makes it possible to relieve the computer system of the tasks of connection with the vehicle and preferably to acquire relevant information to increase the success rate of the update, in particular vehicle information.
[0015] Advantageously, the computer system comprises a digital twin unit storing twin information of the vehicle comprising at least one of a type of module installed on the vehicle, an identification reference of software installed on the vehicle and a version number of software installed on the vehicle. This digital twin unit can make it possible to increase the quality of the update file generated by the computer system.
[0016] Advantageously, the update configurator is configured to select at least one software program based on the vehicle information and / or the vehicle twin information. Furthermore, the update configurator may be configured to select at least one software program based on a software configuration targeted for the vehicle. Such a configuration may make it possible to increase the quality of the update file generated by the computer system.
[0017] Advantageously, the digital twin unit is connected with the update server and the computer system is configured to update the vehicle twin information with the vehicle information.
[0018] A second aspect of the disclosure relates to a method for updating software of a vehicle comprising at least one control unit to be updated, the method comprising the following steps: • provide a software library storing a plurality of software programs each of which can be installed on at least one control unit, • select, using an update configurator, at least one software in said software library, • create, by an update file creator, at least one update file from the at least one software selected by the update configurator.
[0019] A third aspect of the disclosure relates to a computer program product comprising instructions enabling the steps of the second aspect of the disclosure to be carried out.
[0020] All of the advantageous aspects of the first aspect of the disclosure apply to the second aspect and third aspect.
[0021] A fourth aspect of the disclosure relates to a vehicle comprising a control unit and updatable software. This vehicle is adapted to be updated by one of the aspects described above or is updated by one of the aspects described above. Description of the figures
[0022] Other characteristics and advantages of the present disclosure will appear more clearly on reading the following detailed description of an embodiment of the disclosure given by way of non-limiting example and illustrated by the appended drawings, in which:
[0023] [Fig-1] represents an on-board system of a vehicle 100 which can be updated.
[0024] [Fig.2] represents a computer update system according to one aspect of the di popularization;
[0025] [Fig.3] shows an updating method according to one aspect of the disclosure.
[0026] Detailed description of embodiment(s)
[0027] Vehicle
[0028] A vehicle 100 to be updated may be a private, professional, military, agricultural, collective or utility vehicle. It comprises at least one control unit and preferably a plurality of control units, to control any type of function in the vehicle. For example, a control unit may control a vehicle sensor, a vehicle actuator or may be in charge of advanced vehicle functions such as infotainment, driving assistance or navigation. Each control unit may be connected to the internal network of the vehicle and comprises at least one software ensuring its operation.
[0029] [Fig.l] represents a general diagram of an on-board system 10 for a vehicle 100. The on-board system 10 comprises at least one control unit comprising a processor 11 and preferably at least one memory 12 storing software for this processor 11. The control unit may further comprise one or more actuators, one or more sensors and one or more input interfaces such as buttons or touch interfaces (not shown).
[0030] The on-board system 10 may comprise a wired interface 13 intended to communicate with an off-board computer system, for example a diagnostic socket and / or a wireless interface 15 such as Bluetooth, NFC, cellular and / or Wi-Fi. In addition, the on-board system 10 may comprise a network interface 14 or serial interface (CAN data bus and / or Ethernet) making it possible to connect several control units of the vehicle.
[0031] The embedded system 10 may comprise or be connected to a display 20, which may also comprise an input interface (touch screen). In addition, other input interfaces may be provided such as one or more buttons, touchpad, as well as one or more microphones enabling voice recognition. The display 20 may form one or more control units. The display 20 may include or be a remote display, for example, a mobile device or a computer connected directly or indirectly via the Internet to the embedded system 10.
[0032] Computer system
[0033] [Fig.2] represents a computer system 200 allowing the software update of the vehicle 100. Such a computer system 200 comprises a software library 220 connected to an update configurator 230, itself connected to an update file creator 240 and optionally to a digital twin unit 250. Finally, an update server 260 can be electronically connected to the vehicle 100 to be updated.
[0034] Each element or unit of the computer system 200 comprises a software component configured to perform one or more tasks and a hardware component, i.e. at least one calculation unit, at least one memory unit, at least one storage unit and at least one computer interface, as known to those skilled in the art.
[0035] Software Library
[0036] The software library 220 is a storage space comprising at least one software and preferably a plurality of software intended for the vehicle 100 and preferably for a plurality of vehicles, for example of different types, models, configurations and / or brands. The software library can thus be unique and for example store all the software for a type of vehicle, a range of vehicles or a brand of vehicle.
[0037] Each software can be installed on at least one control unit. The software can be image software, i.e. complete software ready for operation or installation, correction software, providing a correction, an addition of functionality and / or an update in the code of software already installed or even content data intended to be used by the software, such as user interface data, network data or mapping data. Software can be stored or transmitted in compiled form or in source code form. In addition, software may be stored in encrypted or unencrypted form and in compressed or uncompressed form.
[0038] For example, the software library 220 comprises a set of software and a set of data for each software. The software library 220 may store, for each software, an identification reference, a memory size, a version number, a file type (image, patch, or other), a description of the modifications made, an expected installation time, dependency information and / or compatibility information. Preferably, the identification reference of the software and / or the version number of the software are consistent for all the software in the software library 220.
[0039] The dependency information may indicate the dependency of a software, for example in a given version, on one or more other software for the vehicle 100, for example in given versions. It may therefore contain a list of software identification references and optionally version numbers.
[0040] The expected installation time is the expected time for installing the software on the vehicle control unit 100. This time can be determined during software validation tests, or can be estimated from the size of the software, the type of control unit or from other similar software whose installation time is known. The memory size can be the size that the software takes when it is stored, ready for installation or ready for operation, in compressed and / or decompressed form. Several memory sizes can thus be stored.
[0041] Compatibility information is information indicating the intended or known compatibility of software within a vehicle. For example, this information may include at least one type of control unit with which the software is compatible or incompatible. The control unit may be the control unit for which the software is intended or another control unit of the vehicle, for example a control unit connected or in relation to the control unit for which the software is intended. The compatibility information may include an identification reference, preferably with a version number, of other software with which the software is compatible or incompatible, for example other software in the software library or other software in the vehicle.
[0042] Thus, positive compatibility information can be determined from the design, testing or validation of the software and negative non-compatibility information can be determined at the design, from tests or by feedback from workshops, customers, by the vehicle 100 or by a failed update.
[0043] Update Configurator
[0044] The update configurator 230 selects from the software in the software library 220, one or more software programs in order to update the vehicle 100. This selection can be made on the basis of the data concerning each software program stored in the software library 220. For example, this selection is made on the basis of the identification reference and / or the version number. In addition, the dependency information and / or the compatibility information can be used, for example to at least ensure the compatibility of the selected software programs with each other.
[0045] The update configurator 230 may receive a target software configuration for the vehicle 100, i.e., a software configuration in which the vehicle 100 should be after the update operation. This target software configuration may be provided by the software library 220 or by another server.
[0046] The update configurator 230 may receive, from another server, from the digital twin unit 250 and / or from the update server 260, vehicle information such as an installed software configuration of the vehicle 100. This installed software configuration may be a list of identification references and version numbers of the software installed on the vehicle 100. In addition, the vehicle information may include a history of at least one past update and / or a list of control unit types of the vehicle 100.
[0047] The update configurator 230, by difference between the installed software configuration and the targeted software configuration of the vehicle 100, can then determine which software installed on the vehicle 100 is to be updated and also how to update it, on the basis of the information contained in the software library 220. This selected software, or only the list of selected software is provided to the update file creator 240.
[0048] Update File Creator
[0049] The update file creator 240 has the function of creating an update file to be transmitted to the vehicle 100. The creation of the update file is based on the software selected by the update configurator 230. The size, number and format of the update file can be determined by the update file creator 240, for example on the basis of the number and memory size of the selected files, their update times, but also data on the connection provided for transmitting the update, a size of a storage space of the vehicle 100 and / or the type of control unit to be updated or involved in the update.
[0050] This information may be provided by the software library 220 and / or by another type of server, for example the update server 260 or the digital twin unit 250 and / or be received from the vehicle 100 through the server of update 260. In the absence of this information or in addition to it, predetermined parameters may be used by the update file creator 240.
[0051] The update file creator 240 can take into account the dependency information, in order to group dependent software in the same update file, if possible, or on the contrary to separate them into several dependent update files, that is to say not allowing a software update on their own. The number of software and the number of update files correspond therefore not necessarily coincide.
[0052] Furthermore, the update file creator 240 may receive or take into account connection frequency information and / or availability information of the vehicle 100, for example determined by the update server 260, received from the vehicle user via a mobile device and / or indicated by the vehicle 100. This may be an average or minimum continuous connection time of the vehicle per connection session and / or the average or minimum time during which the vehicle is switched on without driving.
[0053] Based on this information, the update file creator 240 may assemble or split the selected software into one or more update files and may transmit them to the update server 260. Control information may also be inserted into the update file, such as a vehicle type, a vehicle identifier, and / or a control unit type.
[0054] Furthermore, a description of the update file may be created by the update file creator 240, for example based on the description of the modifications made by each of the software programs in the update file. Such a description of the update file may be inserted into the update file and / or be transmitted separately to the update server 260.
[0055] Update Server
[0056] The update server 260 receives the update files, for example with an identification of the vehicle to be updated, for example provided by the update configurator 230 and / or by the update creator 240. The update server 260 can then establish a connection with the vehicle 100, for example directly via the internet network 300 or via a mobile device connected to the vehicle 100, via an internal company network, or even via a dedicated connection with the vehicle 100. The at least one update file is then transmitted to the vehicle 100.
[0057] In addition, the update server 260 may send a request or at least collect the aforementioned vehicle information. The update server 260 may also determine or collect the connection frequency information, the availability information and / or the data on the connection with the vehicle 100.
[0058] Connection to the vehicle
[0059] The vehicle 100 can receive the at least one update file from the update server 260 via the wireless interface 15 or the wired interface 13 and store it until the time of installation on the at least one control unit. In addition, the vehicle 100 can report to the computer system 200, via the update server 260, the success or failure of this update, as well as some or all of the aforementioned information collected by the update server 260.
[0060] Digital Twin Unit
[0061] The digital twin unit 250 comprises twin information of the vehicle, identical or similar to the information of the vehicle. It is thus a system capable of replicating at least in software the vehicle 100, that is to say comprising at least the installed software configuration of the vehicle 100 and preferably the versions of content data, data generated by the vehicle and the types of the control units of the vehicle 100.
[0062] The replicated software configuration may be updated via the update server 260 before and / or after updating the vehicle 100. For example, an initial software configuration is created during the manufacture of the vehicle 100 and updated at each event in the life of the vehicle 100. Information on the control units (types of control unit of the vehicle 100) and / or an update history may also be stored.
[0063] The execution or use of one or more software of the vehicle 100 or the software library 220 may be simulated by the digital twin unit 250. The digital twin unit 250 may be connected to the update configurator 240, the update creator 240 and / or the update server 260.
[0064] Update method
[0065] [Fig. 3] shows an update method that can be followed by the computer system 200 of [Fig. 2]. In a first step E1, software is provided, i.e. at least stored. This software can come from several sources, for example directly from developers, validators or other databases.
[0066] In a second step E2, one or more software programs are selected for updating the vehicle 100, for example according to the criteria set out above.
[0067] In a third step E3, this or these software programs are assembled or cut into one or more update files in order to create at least one update file.
[0068] In a fourth step E4, this or these update files can be transmitted to the vehicle 100, as described previously.
[0069] In a fifth step E5, this or these files can be installed on the vehicle 100.
[0070] In a sixth step E6, feedback can be provided, for example regarding the partial or total success or failure of the update installation. In addition, bug information, history and / or vehicle information may be transmitted, allowing for improvements to the software and / or the update process, particularly for steps E2 and E3. Industrial application
[0071] A method and a computer system according to the present disclosure are capable of industrial application for updating any type of vehicle.
[0072] It will be understood that various modifications and / or improvements obvious to those skilled in the art may be made to the various embodiments of the disclosure described in the present description without departing from the scope of the disclosure. For example, the different elements of the update system may be different processes or software executed on the same computer unit. On the contrary, each element may comprise several software and / or hardware sub-elements each dedicated to a specific task.
Claims
Claims
1. A computer system (200) for updating software for vehicles (100) each comprising a plurality of updatable control units, the computer system (200) comprising: • A software library (220) storing a plurality of software programs each able to be installed on at least one control unit of one of the vehicles (100); • An update configurator (230) configured to select at least one software program suitable for at least one of the vehicles (100), to be updated, in said software library (220); • An update file creator (240) configured to create at least one update file from the at least one software program selected by the update configurator (230).
2. Computer system (200) according to the preceding claim, in which the software library (220) contains for each stored software at least one of an identification reference, a memory size, a version number, an expected installation time, dependency information and compatibility information.
3. Computer system (200) according to the preceding claim, wherein the accounting information comprises at least one type of control unit and / or at least one identification reference of other software.
4. A computer system (200) according to one of claims 2 and 3, wherein the update configurator (230) is configured to select the at least one software on the basis of the version number, the dependency information and / or the compatibility information.
5. The computer system (200) of one of claims 2 to 4, wherein the update file creator (240) is configured to create an update file with a total memory size less than a threshold value.
6. Computer system (200) according to one of the preceding claims, comprising an update server (260) configured to be remotely connected with the vehicle (100), the update server (260) is configured to transmit the update file created by the update file creator to the vehicle and / or to acquire, from the vehicle, vehicle information comprising at least one of a type of module installed on the vehicle, an identification reference of software installed on the vehicle and a version number of software installed on the vehicle (100).
7. A computer system (200) according to one of the preceding claims, comprising a digital twin unit (250) storing twin information of the vehicle comprising at least one of a type of module installed on the vehicle (100), an identification reference of software installed on the vehicle (100) and a version number of software installed on the vehicle (100).
8. A computer system (200) according to claims 6 and 7, wherein the update configurator (240) is configured to select at least one software based on the vehicle information and / or the vehicle twin information.
9. A computer system (200) according to claims 6 and 7 or claim 8, wherein the digital twin unit (250) is connected with the update server (260), the computer system (200) being configured to update the vehicle twin information with the vehicle information.
10. Method for updating software of vehicles (100) each comprising a plurality of control units to be updated, the method comprising the following steps: • Providing a software library (220) storing a plurality of software programs each capable of being installed on at least one control unit of one of the vehicles (100), • Selecting, by an update configurator (230), at least one software program suitable for at least one of the vehicles (100), to be updated, in said software library (220), • Creating, by an update file creator (240), at least one update file from the at least one software program selected by the update configurator (230).
Citation Information
Patent Citations
PROCEDURE FOR UPDATING AN ON-BOARD VEHICLE COMPUTER
FR3067136A1
Application program update processing method, device, unmanned vehicle and server
CN109343875A
Method and system for remote reflash
US20050256614A1
Methods and apparatus for software updating
US20170185391A1
Remote upgrade method and apparatus for vehicle, and server
WO2022227755A1