Software update system, software update device, software update method, and program
The software update system addresses the issue of non-conforming date and time logs during power loss by acquiring and updating this information post-restoration, ensuring accurate logging and reliable update failure records.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- HONDA MOTOR CO LTD
- Filing Date
- 2024-12-09
- Publication Date
- 2026-06-19
AI Technical Summary
Existing software update systems fail to accurately capture date and time information during power loss during Over-the-Air updates of vehicle ECUs, resulting in logs with non-conforming date and time formats.
A software update system and method that includes a date and time information acquisition unit to acquire date and time information after power restoration, generating and transmitting logs with conforming formats to a server device.
Ensures that logs contain accurate date and time information, improving the reliability and integrity of software update failure records.
Smart Images

Figure 2026100250000001_ABST
Abstract
Description
Technical Field
[0004] ,
[0006] , , , ,
[0005] , , , ,
[0001] The present disclosure relates to a software update system, a software update device, a software update method, and a program.
Background Art
[0002] Japanese Patent Application Laid-Open No. 2018-037022 discloses an in-vehicle update system. The in-vehicle update system acquires an update program via a wireless communication device and updates the software of an electronic control unit of a vehicle with the acquired update program.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] There is a long-felt need for a better software update system, a better software update device, a better software update method, and a program for causing a computer to execute a better software update method.
[0005] The present disclosure aims to solve the above-described problems.
Means for Solving the Problems
[0006] A first aspect of the present disclosure is a software update system comprising a vehicle and a server device capable of communicating with the vehicle via a network, the system comprising: an update processing unit that performs a software update process on an electronic control unit provided in the vehicle; an update failure determination unit that determines whether the software update process has failed due to a loss of power supply to the electronic control unit; a date and time information acquisition unit that acquires date and time information; a log generation unit that generates a log including information relating to the software update process and the date and time information acquired by the date and time information acquisition unit; and a log transmission unit that transmits the log generated by the log generation unit to the server device, wherein if it is determined that the software update process has failed due to a loss of power supply, the date and time information acquisition unit acquires the date and time information after the power supply is restored, the log generation unit generates the log based on the date and time information acquired by the date and time information acquisition unit after the power supply is restored, and the log transmission unit transmits the log generated based on the date and time information acquired by the date and time information acquisition unit after the power supply is restored to the server device.
[0007] A second aspect of the present disclosure is a software update system comprising a vehicle and a server device capable of communicating with the vehicle via a network, the system comprising: an update processing unit that performs a software update process on an electronic control unit provided in the vehicle; a date and time information acquisition unit that acquires date and time information; a log generation unit that generates a log including information relating to the software update process and the date and time information acquired by the date and time information acquisition unit; and a log transmission unit that transmits the log generated by the log generation unit to the server device, wherein the log transmission unit determines whether a predetermined numerical value is included in the date and time information included in the log before transmitting the log, and if it is determined that the predetermined numerical value is included in the date and time information included in the log, the log transmission unit does not transmit the log, the date and time information acquisition unit reacquires the date and time information, the log generation unit regenerates the log including the date and time information reacquired by the date and time information acquisition unit, and the log transmission unit transmits the log regenerated by the log generation unit to the server device.
[0008] A third aspect of this disclosure is a software update device in a software update system according to the first aspect, comprising: an update processing unit; an update failure determination unit; a date and time information acquisition unit; a log generation unit; and a log transmission unit.
[0009] A fourth aspect of this disclosure is a software update device in a software update system according to the second aspect, comprising: an update processing unit; a date and time information acquisition unit; a log generation unit; and a log transmission unit.
[0010] A fifth aspect of this disclosure is a software update method for performing a software update process for an electronic control device provided in a vehicle, comprising: an update process step in which an update processing unit executes the software update process; an update failure determination step in which an update failure determination unit determines whether the software update process failed due to a loss of power supply to the electronic control device; a date and time information acquisition step in which a date and time information acquisition unit acquires date and time information; a log generation step in which a log generation unit generates a log including information related to the software update process and the date and time information acquired by the date and time information acquisition unit; and a log generation step in which the log generated by the log generation unit logs The software update method comprises: a log transmission step in which a transmission unit transmits a log to a server device; if it is determined that the software update process has failed due to a loss of power, in the date and time information acquisition step, the date and time information acquisition unit acquires the date and time information after the power is restored; in the log generation step, the log generation unit generates the log based on the date and time information acquired by the date and time information acquisition unit after the power is restored; and in the log transmission step, the log transmission unit transmits the log generated based on the date and time information acquired by the date and time information acquisition unit after the power is restored to the server device.
[0011] A sixth aspect of this disclosure is a program that causes a computer to perform the software update method according to the fifth aspect. [Effects of the Invention]
[0012] This disclosure provides a better software update system, a better software update device, a better software update method, and a program that causes a computer to execute the better software update method. [Brief explanation of the drawing]
[0013] [Figure 1] Figure 1 is a schematic diagram showing a software update system according to one embodiment. [Figure 2]Figure 2 is a flowchart of the software update process in one embodiment. [Figure 3] Figure 3 is a flowchart showing the software update process performed by a software update device in one embodiment. [Figure 4] Figure 4 is a flowchart showing the software update process performed by a software update device in one embodiment. [Figure 5] Figure 5 is a flowchart showing the campaign application process performed by a server device in one embodiment. [Figure 6] Figures 6A and 6B illustrate the operation of the software update device. [Modes for carrying out the invention]
[0014] Traditionally, software updates for the Electronic Control Unit (ECU) installed in vehicles were performed at dealerships or similar locations. In recent years, vehicles that can have their ECU software updated via OTA (Over The Air) using wireless communication have become commercially available, making it possible to update the ECU software without having to bring the vehicle to a dealership or similar location.
[0015] During OTA (Over-the-Air) software update processes, a restart of the ECU may be required during the software activation process. Therefore, software activation is performed while the vehicle is parked and the engine, drive motors, and other power sources are stopped.
[0016] During software activation, the power supply to the ECU may be lost, for example, if the vehicle battery is removed. If power is lost, software activation will be aborted. If software activation is aborted, a log containing information indicating that the software update process failed will be generated and sent to the server device that manages software updates.
[0017] The log contains date and time information. However, conventionally, when a software update process fails due to a power loss, the process of acquiring the date and time information is not performed, so the log contains date and time information that does not conform to the format.
[0018] For example, date and time information that conforms to the format indicating 14:17 on October 31, 2024 is represented by 12 digits of numbers such as "202410311417". An example of date and time information that does not conform to the format is "000000000000". This is the initial value of the date and time information. Since the date and time information is not acquired, the initial value is not updated, and the log contains the initial value.
[0019] In the present disclosure, even when a software update process fails due to a power loss, it is possible to suppress the log from containing date and time information that does not conform to the format.
[0020] 〔One Embodiment〕 A software update system, a software update device, a software update method, and a program according to one embodiment will be described below with reference to the drawings. The program (computer program, computer software) according to this embodiment may also be referred to as a computer program product. The computer program product is not limited to a computer program stored in a storage medium, and includes a computer program transmitted, distributed, and downloaded via the Internet or the like.
[0021] [Configuration of Software Update System] FIG. 1 is a schematic diagram showing a software update system 10 according to one embodiment. The software update system 10 includes a vehicle 12 and a server device 14. The server device 14 can communicate with the vehicle 12 via a network 16.
[0022] Vehicle 12 is equipped with multiple ECUs 18. Each ECU 18 performs control to realize the driving function and other functions of vehicle 12. Each ECU 18 has an arithmetic unit 20 and a storage unit 22. The arithmetic unit 20 is a processor such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit). At least a portion of the arithmetic unit 20 may be implemented by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field-Programmable Gate Array). At least a portion of the arithmetic unit 20 may be implemented by an electronic circuit including discrete devices.
[0023] The storage unit 22 is a computer-readable, non-transient, tangible storage medium. The storage unit 22 is composed of volatile memory (not shown) and non-volatile memory (not shown). The volatile memory is, for example, RAM (Random Access Memory). The non-volatile memory is, for example, ROM (Read Only Memory), flash memory, etc. Data is stored in the volatile memory, for example. Programs, tables, maps, etc. are stored in the non-volatile memory, for example. At least a portion of the storage unit 22 may be provided in the processor, integrated circuit, etc. mentioned above. At least a portion of the storage unit 22 may be mounted on equipment connected to the vehicle 12 by a network 16.
[0024] Vehicle 12 is equipped with a software update device 24. The software update device 24 may be composed of, for example, a CGW-ECU (Central Gateway-Electronic Control Unit). The software update device 24 has a calculation unit 26 and a storage unit 28. The calculation unit 26 is, for example, a processor such as a CPU or GPU. The calculation unit 26 has an information transmission unit 30, an information acquisition unit 32, a display control unit 34, a permission confirmation unit 36, a transmission request unit 38, an update processing unit 40, a discard processing unit 42, an update failure determination unit 72, a date and time information acquisition unit 74, a log generation unit 76, and a log transmission unit 78. The information transmission unit 30, information acquisition unit 32, display control unit 34, permission confirmation unit 36, transmission request unit 38, update processing unit 40, discard processing unit 42, update failure determination unit 72, date and time information acquisition unit 74, log generation unit 76, and log transmission unit 78 are realized by the execution of a program stored in the storage unit 28 in the calculation unit 26. At least a portion of the information transmission unit 30, information acquisition unit 32, display control unit 34, permission confirmation unit 36, transmission request unit 38, update processing unit 40, discard processing unit 42, update failure determination unit 72, date and time information acquisition unit 74, log generation unit 76, and log transmission unit 78 may be implemented by integrated circuits such as ASICs and FPGAs. At least a portion of the information transmission unit 30, information acquisition unit 32, display control unit 34, permission confirmation unit 36, transmission request unit 38, update processing unit 40, discard processing unit 42, update failure determination unit 72, date and time information acquisition unit 74, log generation unit 76, and log transmission unit 78 may be implemented by electronic circuits including discrete devices.
[0025] The storage unit 28 is a computer-readable, non-transient, tangible storage medium. The storage unit 28 is composed of volatile memory (not shown) and non-volatile memory (not shown). The volatile memory is, for example, RAM. The non-volatile memory is, for example, ROM, flash memory, etc. Data is stored, for example, in the volatile memory. Programs, tables, maps, etc. are stored, for example, in the non-volatile memory. At least a portion of the storage unit 28 may be provided in the processor, integrated circuit, etc. described above. At least a portion of the storage unit 28 may be mounted on equipment connected to the vehicle 12 by a network 16. The storage unit 28 has a campaign information storage unit 44.
[0026] The software update device 24 performs the software update process for the ECU 18. The software update process includes downloading the software, installing the software, and activating the software.
[0027] Software download refers to obtaining update data transmitted from the server device 14 via the network 16 and storing it in the storage unit 28 of the software update device 24. The update data includes data such as the updated software program. The update data may also include an installer.
[0028] Software installation refers to the process of deploying the update data from the memory unit 28 to the ROM of the ECU 18. Software installation may be performed using an installer. Alternatively, software installation may be performed by copying the update data to the ROM.
[0029] Software activation refers to the process of authenticating the license of installed software. During software activation, executable files and other data used by the software before the update may be overwritten. Once software activation is complete, the ECU18 is permitted to run the software. Activation may be performed by the software update device 24 or by each ECU18.
[0030] The information transmission unit 30 transmits various information to the server device 14. The information acquisition unit 32 acquires various information transmitted from the server device 14. The display control unit 34 controls the IVI 50 (described later) to display campaign information, downtime permission confirmation information, etc., described later on the display unit 58 of the IVI 50. The permission confirmation unit 36 performs a confirmation process to ask the user whether or not to perform software update processing such as software download and software activation. The transmission request unit 38 sends an update data request to the server device 14. The update data request is a signal to request the server device 14 to send update data to the software update device 24. The update processing unit 40 performs update processing for software download, software installation, and software activation. The discard processing unit 42 performs a discard process to discard acquired campaign information stored in the campaign information storage unit 44.
[0031] The update failure determination unit 72 determines whether the software update process has failed. If software activation is interrupted due to a loss of power supply to the ECU 18, the update failure determination unit 72 determines that the software update process has failed. On the other hand, if software activation is completed, the update failure determination unit 72 determines that the software update process has been successful. The date and time information acquisition unit 74 acquires the current date and time information. The date and time information acquisition unit 74 may acquire date and time information from signals sent from artificial satellites used in a Global Positioning System (GPS), etc. The date and time information acquisition unit 74 may acquire date and time information from signals sent from the server device 14.
[0032] The log generation unit 76 generates a result log. The log generation unit 76 generates a result log when the software update process is completed, when the software update process is interrupted before completion, or when the software update process fails. The result log includes information about the software update process and date and time information. The log generation unit 76 may also generate an event log. An event log is generated when a predetermined process of the software update process starts or when a predetermined process is completed. The log transmission unit 78 transmits the result log or event log to the server device 14.
[0033] The software update device 24 and the ECU 18 are connected by CAN (Controller Area Network) (registered trademark) and can communicate with each other. The communication line connecting the software update device 24 and the ECU 18 is not limited to CAN; Ethernet (registered trademark) may also be used, or both CAN and Ethernet may be used. Furthermore, communication lines conforming to standards other than CAN and Ethernet may also be used.
[0034] The software update device 24 can communicate with a base station 48 connected to the network 16 via cellular communication through a Telematics Control Unit (TCU) 46. The network 16 is, for example, the Internet.
[0035] The IVI 50 is connected to the software update device 24. The IVI 50 has an arithmetic unit 52 and a storage unit 54. The arithmetic unit 52 is, for example, a processor such as a CPU or GPU.
[0036] The storage unit 54 is a computer-readable, non-transient, tangible storage medium. The storage unit 54 is composed of volatile memory (not shown) and non-volatile memory (not shown). The volatile memory is, for example, RAM. The non-volatile memory is, for example, ROM, flash memory, etc. Data is stored, for example, in the volatile memory. Programs, tables, maps, etc. are stored, for example, in the non-volatile memory. At least a portion of the storage unit 54 may be provided in the processor, integrated circuit, etc. described above. At least a portion of the storage unit 54 may be mounted on equipment connected to the vehicle 12 by a network 16.
[0037] IVI50 provides information such as route guidance and road traffic information, as well as entertainment such as audio, DVDs, and TV tuners.
[0038] The IVI 50 has a display unit 58. The display unit 58 is installed on the dashboard of the vehicle 12 or the like. The display unit 58 is a touch panel display. The display unit 58 provides information to the user through images, text, etc., and accepts user input. The screen of the display unit 58 is liquid crystal, organic electroluminescence (organic EL), etc., and is not particularly limited. The touch panel of the display unit 58 is resistive, capacitive, etc., and is not particularly limited. Instead of the display unit 58 which is a touch panel display, a combination of a display device such as a head-up display and a pointing device such as motion capture may be used.
[0039] Vehicle 12 is equipped with a Start Stop Switch (SSSW) 60. The power mode of vehicle 12 can be switched by operating the SSSW 60. If vehicle 12 is an engine vehicle, the power modes are IG-ON, IG-OFF, ACC-ON, ACC-OFF, and START. If vehicle 12 is a hybrid vehicle or an electric vehicle, the power modes are IG-ON, IG-OFF, ACC-ON, ACC-OFF, and READY.
[0040] With the ignition on (IG-ON), all 12 electrical components of the vehicle can be used. With the ACC on (ACC-ON), some electrical components, such as the audio system, can be used. With the ACC off (ACC-OFF), most electrical components cannot be used, except for some, such as the keyless entry system.
[0041] In START mode, the starter motor is activated to start the engine. After the engine has started, the system transitions to IG-ON. In READY mode, the drive motor is capable of operating, and the vehicle 12 can move using the drive motor. When a hybrid vehicle or electric vehicle is ready to move, the power mode is IG-ON and READY.
[0042] Vehicle 12 is equipped with a shift position sensor 62. The shift position sensor 62 detects the selected shift position. The shift position can be selected from the parking position (P position), neutral position (N position), drive position (D position), reverse position (R position), etc.
[0043] The server device 14 has an arithmetic unit 64 and a storage unit 66. The arithmetic unit 64 is, for example, a processor such as a CPU or GPU. The arithmetic unit 64 has an information acquisition unit 68 and a transmission processing unit 70. The information acquisition unit 68 and the transmission processing unit 70 are realized by the execution of a program stored in the storage unit 66 in the arithmetic unit 64. At least a part of the information acquisition unit 68 and the transmission processing unit 70 may be realized by an integrated circuit such as an ASIC or FPGA. At least a part of the information acquisition unit 68 and the transmission processing unit 70 may be realized by an electronic circuit including discrete devices.
[0044] The storage unit 66 is a computer-readable, non-transient, tangible storage medium. The storage unit 66 is composed of volatile memory (not shown) and non-volatile memory (not shown). The volatile memory is, for example, RAM. The non-volatile memory is, for example, ROM, flash memory, etc. Data is stored, for example, in the volatile memory. Programs, tables, maps, etc. are stored, for example, in the non-volatile memory. At least a portion of the storage unit 66 may be provided in the processor, integrated circuit, etc., as described above. At least a portion of the storage unit 66 may be mounted on equipment connected to the server device 14 by a network 16.
[0045] Multiple vehicles 12 are registered in the server device 14, and the server device 14 manages the software update status of the ECU 18 of each vehicle 12. The server device 14 provides update data to each vehicle 12 for updating the software of the ECU 18 of each vehicle 12.
[0046] [Software update process flow] Figure 2 is a flowchart of the software update process in one embodiment.
[0047] When a campaign is registered with the server device 14 (P1), the transmission processing unit 70 sends a configuration synchronization request to the vehicle 12's software update device 24 (P2). The campaign, along with update data for updating the ECU 18's software, is registered with the server device 14 by the ECU 18's software developer, the vehicle 12's manufacturer, etc.
[0048] When the information acquisition unit 32 of the software update device 24 acquires a configuration synchronization request (Q1), the information transmission unit 30 transmits configuration synchronization information to the server device 14 (Q2). The configuration synchronization information includes information on the unique identifier assigned to each ECU 18 of the vehicle 12, information on the software version of each ECU 18, and so on.
[0049] When the information acquisition unit 68 of the server device 14 acquires configuration synchronization information (P3), the transmission processing unit 70 transmits campaign information regarding the software update process of each ECU 18 to the software update device 24 (P4).
[0050] The information acquisition unit 32 of the software update device 24 acquires campaign information (Q3) and stores the campaign information in the campaign information storage unit 44. The display control unit 34 displays the campaign information on the display unit 58 of the IVI 50. A confirmation process is performed by the permission confirmation unit 36 to ask the user whether or not to allow the software download. In this confirmation process, if the user allows the software download (Q4), the transmission request unit 38 sends an update data request to the server device 14 (Q5).
[0051] When the information acquisition unit 68 of the server device 14 acquires an update data request (P5), the transmission processing unit 70 transmits the update data to the software update device 24 (P6).
[0052] The update processing unit 40 of the software update device 24 downloads the software by acquiring update data and storing the update data in the storage unit 28 (Q6). Subsequently, the update processing unit 40 expands the update data from the storage unit 28 into the ROM of the ECU 18 and installs the software (Q7).
[0053] Before software activation begins, the authorization confirmation unit 36 of the software update device 24 performs a confirmation process to ask the user whether or not to authorize downtime. The confirmation process is executed when the shift position detected by the shift position sensor 62 is "P" at the timing when the power mode transitions from IG-ON (or READY) to IG-OFF. If the user authorizes downtime in this confirmation process (Q8), the update processing unit 40 of the software update device 24 performs software activation of the ECU 18 (Q9). Downtime refers to the period of time during which the power mode of the vehicle 12 cannot be set to START mode or READY mode, and the vehicle 12 cannot be driven.
[0054] Once the software activation of ECU18 is complete, the log generation unit 76 of the software update device 24 generates a result log (Q10). The log transmission unit 78 of the software update device 24 sends the result log to the server device 14 (Q11). After the power mode transitions from IG-OFF to IG-ON (or READY), the result log is sent to the server device 14.
[0055] When the information acquisition unit 68 of the server device 14 acquires the result log (P7), the software update is completed.
[0056] [Software update process] Figures 3 and 4 are flowcharts showing the software update process performed by the software update device 24 in one embodiment. This process is executed at predetermined intervals when the power mode is IG-ON (or READY).
[0057] In step S1, the software update device 24 determines whether or not it has received a configuration synchronization request from the server device 14. If it is determined that a configuration synchronization request has been received (step S1: YES), the process proceeds to step S2.
[0058] In step S2, the information transmission unit 30 of the software update device 24 transmits configuration synchronization information to the server device 14. Then, the process proceeds to step S3.
[0059] In step S3, the information acquisition unit 32 of the software update device 24 acquires campaign information. After that, the process proceeds to step S5.
[0060] If it is determined in step S1 that a configuration synchronization request has not been received (step S1: NO), the process proceeds to step S4. In step S4, the software update device 24 determines whether or not there is already acquired campaign information in the campaign information storage unit 44. If it is determined that there is already acquired campaign information in the campaign information storage unit 44 (step S4: YES), the process proceeds to step S5.
[0061] In step S5, the display control unit 34 of the software update device 24 displays campaign information on the display unit 58 of the IVI 50. Then, the process proceeds to step S6.
[0062] In step S6, the license confirmation unit 36 of the software update device 24 determines whether the user has authorized the download of the software. If the software download is authorized (step S6: YES), the process proceeds to step S7.
[0063] In step S7, the transmission request unit 38 of the software update device 24 sends an update data request to the server device 14. Then, the process proceeds to step S8.
[0064] In step S8, the update processing unit 40 of the software update device 24 downloads the software. Then, the process proceeds to step S9.
[0065] In step S9, the update processing unit 40 of the software update device 24 installs the software. After that, the process proceeds to step S11.
[0066] If, in step S4 described above, it is determined that there is no campaign information already acquired in the campaign information storage unit 44 (step S4: NO), or if, in step S6 described above, the software download is rejected (step S6: NO), the process proceeds to step S10. In step S10, the update processing unit 40 of the software update device 24 determines whether or not there is already installed software. If it is determined that there is already installed software (step S10: YES), the process proceeds to step S11. If it is determined that there is no already installed software (step S10: NO), the software update process is terminated.
[0067] In step S11, the update processing unit 40 of the software update device 24 determines whether the power mode of the vehicle 12 is IG-OFF. If it is determined that the power mode is IG-OFF (step S11: YES), the process proceeds to step S12. If it is determined that the power mode is not IG-OFF (step S11: NO), the software update process is terminated.
[0068] In step S12, the update processing unit 40 of the software update device 24 determines whether the shift position is the P position. If it is determined that the shift position is the P position (step S12: YES), the process proceeds to step S13.
[0069] In step S13, the display control unit 34 of the software update device 24 displays downtime permission confirmation information on the display unit 58 of the IVI 50. Then, the process proceeds to step S14.
[0070] In step S14, the authorization confirmation unit 36 of the software update device 24 determines whether the user has authorized the downtime. If it is determined that the downtime has been authorized (step S14: YES), the process proceeds to step S15.
[0071] In step S15, the update processing unit 40 of the software update device 24 performs software activation. After that, the process proceeds to step S16.
[0072] In step S16, the update failure determination unit 72 of the software update device 24 determines whether the software update process has failed. As described above, if the software activation is interrupted due to a loss of power supply to the ECU 18, the update failure determination unit 72 determines that the software update process has failed. On the other hand, if the software activation is completed, the update failure determination unit 72 determines that the software update process has been successful.
[0073] If it is determined in step S16 that the software update process was successful (step S16: NO), the process proceeds to step S17. In step S17, the date and time information acquisition unit 74 of the software update device 24 acquires date and time information. After that, the process proceeds to step S18.
[0074] In step S18, the log generation unit 76 of the software update device 24 generates a result log. Then, the process proceeds to step S19. The result log generated in step S18 includes information indicating that the software update process was successful, and the date and time information obtained in step S17.
[0075] In step S19, the discard processing unit 42 of the software update device 24 discards the campaign information stored in the campaign information storage unit 44. Then, the process proceeds to step S26.
[0076] If it is determined in step S16 that the software update has failed (step S16: YES), the process proceeds to step S20. In step S20, the date and time information acquisition unit 74 of the software update device 24 determines whether the power has been restored. If it is determined that the power has been restored (step S20: YES), the process proceeds to step S21. If it is determined that the power has not been restored (step S20: NO), the process in step S20 is repeated.
[0077] In step S21, the date and time information acquisition unit 74 of the software update device 24 acquires date and time information. Then, the process proceeds to step S22.
[0078] In step S22, the log generation unit 76 of the software update device 24 generates a result log. Then, the process proceeds to step S26. The result log generated in step S22 includes information indicating that the software update process failed, and the date and time information obtained in step S21.
[0079] If, in step S12, it is determined that the shift position is not the P position (step S12: NO), or if, in step S14, it is determined that downtime has been rejected (step S14: NO), the process proceeds to step S23. In step S23, the display control unit 34 of the software update device 24 displays update unavailable information on the display unit 58, indicating that the software update is not possible. The process then proceeds to step S24.
[0080] In step S24, the date and time information acquisition unit 74 of the software update device 24 acquires date and time information. Then, the process proceeds to step S25.
[0081] In step S25, the log generation unit 76 of the software update device 24 generates a result log. Then, the process proceeds to step S26. The result log generated in step S25 includes information indicating that the software update process is incomplete, and the date and time information obtained in step S24.
[0082] In step S26, the log transmission unit 78 of the software update device 24 determines whether the power mode of the vehicle 12 is IG-ON or not. If it is determined that the power mode is IG-ON (step S26: YES), the process proceeds to step S27. If it is determined that the power mode is not IG-ON (step S26: NO), the process in step S26 is repeated.
[0083] In step S27, the log transmission unit 78 of the software update device 24 sends the result log to the server device 14. After that, the software update process is terminated.
[0084] [Campaign Application Process] Figure 5 is a flowchart showing the campaign application process performed by the server device 14 in one embodiment. This process is executed at predetermined intervals.
[0085] In step S31, the server device 14 determines whether the campaign has been registered. If it is determined that the campaign has been registered (step S31: YES), the process proceeds to step S33.
[0086] If it is determined that no campaign is registered (Step S31: NO), the process proceeds to Step S32. In Step S32, the server device 14 determines whether there are any campaigns for which an update data request has not yet been received. If it is determined that there are campaigns for which an update data request has not yet been received (Step S32: YES), the process proceeds to Step S33. If it is determined that there are no campaigns for which an update data request has not yet been received (Step S32: NO), the campaign application process is terminated.
[0087] In step S33, the transmission processing unit 70 of the server device 14 sends a configuration synchronization request to the vehicle 12. Then, the process proceeds to step S34.
[0088] In step S34, the information acquisition unit 68 of the server device 14 acquires configuration synchronization information from the vehicle 12. Then, the process proceeds to step S35.
[0089] In step S35, the transmission processing unit 70 of the server device 14 transmits campaign information to the vehicle 12. Then, the process proceeds to step S36.
[0090] In step S36, the server device 14 determines whether or not it has received an update data request. If it is determined that an update data request has been received (step S36: YES), the process proceeds to step S37. If it is determined that an update data request has not been received (step S36: NO), the campaign application process is terminated.
[0091] In step S37, the transmission processing unit 70 of the server device 14 transmits the update data to the vehicle 12. After that, the campaign application process is terminated.
[0092] [Regarding the operation of the software update device] Figures 6A and 6B illustrate the operation of the software update device 24. Figure 6A shows the operation of a conventional software update device 24. Figure 6B shows the operation of the software update device 24 in one embodiment.
[0093] If software activation is interrupted due to a loss of power supply to the ECU18, the log generation unit 76 of the software update device 24 generates a result log after power is restored.
[0094] In conventional software update devices 24, the process of acquiring date and time information by the date and time information acquisition unit 74 is not performed after power is restored. Therefore, the date and time information is not updated from its initial value, and the result log generated by the log generation unit 76 contains date and time information that does not conform to the format.
[0095] On the other hand, in the software update device 24 of one embodiment, the date and time information acquisition unit 74 acquires date and time information after the power supply is restored. As a result, the date and time information is updated from the initial value, and the result log generated by the log generation unit 76 contains date and time information that conforms to the format.
[0096] [Other embodiments] The software update system 10 of the above embodiment may be modified as follows.
[0097] The log transmission unit 78 of the software update device 24 may determine whether a predetermined numerical value is included in the date and time information contained in the result log before sending the result log to the server device 14. The predetermined numerical value is, for example, the initial value of the date and time information. The predetermined numerical value should be a number that allows determination that the date and time information contained in the result log does not conform to the format.
[0098] If the date and time information included in the result log contains a predetermined numerical value, the log transmission unit 78 may cancel the transmission of the result log. The date and time information acquisition unit 74 of the software update device 24 may reacquire the date and time information. The log generation unit 76 of the software update device 24 may regenerate the result log including the date and time information reacquired by the date and time information acquisition unit 74. The log generation unit 76 may transmit the regenerated result log to the server device 14.
[0099] If the date and time information included in the event log contains a predetermined numerical value, the event log containing the newly acquired date and time information may be regenerated in the same manner as described above, and the regenerated event log may be sent to the server device 14.
[0100] The following additional information is disclosed regarding the above embodiments.
[0101] (Note 1) The software update system (10) of this disclosure is a software update system comprising a vehicle (12) and a server device (14) capable of communicating with the vehicle via a network (16), and includes an update processing unit (40) that executes a software update process on an electronic control device provided in the vehicle, an update failure determination unit (72) that determines whether the software update process failed due to a loss of power supply to the electronic control device, a date and time information acquisition unit (74) that acquires date and time information, and information relating to the software update process and the date and time information acquired by the date and time information acquisition unit. The system includes a log generation unit (76) that generates logs, and a log transmission unit (78) that transmits the logs generated by the log generation unit to the server device. If it is determined that the software update process has failed due to a loss of power, the date and time information acquisition unit acquires the date and time information after the power is restored, the log generation unit generates logs based on the date and time information acquired by the date and time information acquisition unit after the power is restored, and the log transmission unit transmits the logs generated based on the date and time information acquired by the date and time information acquisition unit after the power is restored to the server device.
[0102] (Note 2) In the software update system described in Appendix 1, the log transmission unit may, before transmitting the log, determine whether a predetermined numerical value is included in the date and time information contained in the log, and if it is determined that the predetermined numerical value is included in the date and time information contained in the log, the log transmission unit may not transmit the log, the date and time information acquisition unit may reacquire the date and time information, the log generation unit may regenerate the log including the date and time information reacquired by the date and time information acquisition unit, and the log transmission unit may transmit the log regenerated by the log generation unit to the server device.
[0103] (Note 3) The software update system of this disclosure is a software update system comprising a vehicle and a server device capable of communicating with the vehicle via a network, comprising: an update processing unit that executes a software update process on an electronic control device provided in the vehicle; a date and time information acquisition unit that acquires date and time information; a log generation unit that generates a log including information related to the software update process and the date and time information acquired by the date and time information acquisition unit; and a log transmission unit that transmits the log generated by the log generation unit to the server device, wherein before transmitting the log, the log transmission unit determines whether a predetermined numerical value is included in the date and time information included in the log, and if it is determined that the predetermined numerical value is included in the date and time information included in the log, the log transmission unit does not transmit the log, the date and time information acquisition unit reacquires the date and time information, the log generation unit regenerates the log including the date and time information reacquired by the date and time information acquisition unit, and the log transmission unit transmits the log regenerated by the log generation unit to the server device.
[0104] (Note 4) The software update device (24) of this disclosure is a software update device in a software update system described in Appendix 1 or 2, comprising: an update processing unit; an update failure determination unit; a date and time information acquisition unit; a log generation unit; and a log transmission unit.
[0105] (Note 5) The software update device of this disclosure is a software update device in the software update system described in Appendix 3, comprising the update processing unit, the date and time information acquisition unit, the log generation unit, and the log transmission unit.
[0106] (Note 6) The software update method of this disclosure is a software update method for performing a software update process on an electronic control device provided in a vehicle, comprising: an update process step in which an update processing unit executes the software update process; an update failure determination step in which an update failure determination unit determines whether the software update process failed due to a loss of power supply to the electronic control device; a date and time information acquisition step in which a date and time information acquisition unit acquires date and time information; a log generation step in which a log generation unit generates a log including information related to the software update process and the date and time information acquired by the date and time information acquisition unit; and a log generation unit generating The system includes a log transmission step in which the log transmission unit transmits the generated log to a server device, and if it is determined that the software update process has failed due to a loss of power, in the date and time information acquisition step, the date and time information acquisition unit acquires the date and time information after the power is restored, in the log generation step, the log generation unit generates the log based on the date and time information acquired by the date and time information acquisition unit after the power is restored, and in the log transmission step, the log transmission unit transmits the log generated based on the date and time information acquired by the date and time information acquisition unit after the power is restored to the server device.
[0107] (Note 7) In the software update method described in Appendix 6, before the log transmission step, the method further includes a date and time information determination step in which a date and time information determination unit determines whether a predetermined numerical value is included in the date and time information included in the log, and if the predetermined numerical value is included in the date and time information included in the log, the method may include a log transmission cancellation step in which the transmission of the log generated in the log generation step is canceled, a date and time information reacquisition step in which the date and time information is reacquisitioned by the date and time information acquisition unit, a log regeneration step in which the log generation unit regenerates the log including the date and time information reacquisitioned by the date and time information acquisition unit, and a log retransmission step in which the log transmission unit transmits the log regenerated in the log regeneration step to the server device.
[0108] (Note 8) The program of this disclosure causes a computer to execute the software update method described in Appendix 6 or 7.
[0109] While this disclosure has been described in detail, it is not limited to the individual embodiments described above. These embodiments can be added, replaced, modified, partially deleted, etc., in any way that does not depart from the gist of this disclosure or from the intent of this disclosure derived from the claims and their equivalents. These embodiments can also be implemented in combination. For example, the order of operations and processes in the embodiments described above are given as examples only and are not limited thereto. The same applies when numerical values or mathematical formulas are used in the description of the embodiments described above. [Explanation of symbols]
[0110] 10…Software update system 12…Vehicle 14…Server equipment 16…Network 24...Software update device 40...Update processing unit 72...Update failure determination unit 74...Date and time information acquisition unit 76...Log generation unit 78...Log transmission unit
Claims
1. A software update system comprising a vehicle and a server device capable of communicating with the vehicle via a network, An update processing unit that performs a software update process on an electronic control unit installed in the aforementioned vehicle, An update failure determination unit that determines whether the software update process failed due to a loss of power supply to the electronic control unit, A date and time information acquisition unit that acquires date and time information, A log generation unit generates a log that includes information related to the software update process and the date and time information acquired by the date and time information acquisition unit. A log transmission unit transmits the log generated by the log generation unit to the server device. Equipped with, If it is determined that the software update process has failed due to the loss of power, the date and time information acquisition unit shall acquire the date and time information after the power has been restored. The log generation unit generates the log based on the date and time information acquired by the date and time information acquisition unit after the power supply is restored. The log transmission unit transmits the log generated based on the date and time information acquired by the date and time information acquisition unit after the power supply has been restored to the server device, in a software update system.
2. In the software update system according to claim 1, Before transmitting the log, the log transmission unit determines whether or not a predetermined numerical value is included in the date and time information contained in the log. If it is determined that the date and time information included in the log contains the predetermined numerical value, The log transmission unit does not transmit the log. The aforementioned date and time information acquisition unit reacquires the aforementioned date and time information, The log generation unit regenerates the log including the date and time information reacquired by the date and time information acquisition unit. The log transmission unit is a software update system that transmits the log, which has been regenerated by the log generation unit, to the server device.
3. A software update system comprising a vehicle and a server device capable of communicating with the vehicle via a network, An update processing unit that performs a software update process on an electronic control unit installed in the aforementioned vehicle, A date and time information acquisition unit that acquires date and time information, A log generation unit generates a log that includes information related to the software update process and the date and time information acquired by the date and time information acquisition unit. A log transmission unit transmits the log generated by the log generation unit to the server device. Equipped with, Before transmitting the log, the log transmission unit determines whether or not a predetermined numerical value is included in the date and time information contained in the log. If it is determined that the date and time information included in the log contains the predetermined numerical value, The log transmission unit does not transmit the log. The aforementioned date and time information acquisition unit reacquires the aforementioned date and time information, The log generation unit regenerates the log including the date and time information reacquired by the date and time information acquisition unit. The log transmission unit is a software update system that transmits the log, which has been regenerated by the log generation unit, to the server device.
4. A software update device in the software update system according to claim 1 or 2, A software update device comprising the update processing unit, the update failure determination unit, the date and time information acquisition unit, the log generation unit, and the log transmission unit.
5. A software update device in the software update system according to claim 3, A software update device comprising the update processing unit, the date and time information acquisition unit, the log generation unit, and the log transmission unit.
6. A software update method for performing a software update process on an electronic control unit installed in a vehicle, The update process step includes executing the aforementioned software update process by the update processing unit, An update failure determination step in which the update failure determination unit determines whether the software update process failed due to a loss of power supply to the electronic control unit, A date and time information acquisition step in which date and time information is acquired by a date and time information acquisition unit, A log generation step in which a log generation unit generates a log including information related to the software update process and the date and time information acquired by the date and time information acquisition unit, A log transmission step in which the log generated by the log generation unit is transmitted to the server device by the log transmission unit, It has, If it is determined that the software update process has failed due to the loss of power, in the date and time information acquisition step, the date and time information acquisition unit acquires the date and time information after the power has been restored. In the log generation step, the log generation unit generates the log based on the date and time information acquired by the date and time information acquisition unit after the power supply is restored. A software update method in which, in the log transmission step, the log transmission unit transmits the log generated based on the date and time information acquired by the date and time information acquisition unit after the power supply has been restored to the server device.
7. In the software update method described in claim 6, Prior to the log transmission step, the system further includes a date and time information determination step in which a date and time information determination unit determines whether or not a predetermined numerical value is included in the date and time information contained in the log. If the date and time information included in the log contains the predetermined numerical value, A log transmission cancellation step which cancels the transmission of the log generated in the log generation step, A date and time information retrieval step in which the date and time information is re-acquired by the date and time information acquisition unit, A log regeneration step in which the log generation unit regenerates the log, which includes the date and time information reacquired by the date and time information acquisition unit, A log retransmission step in which the log regenerated in the log regeneration step is transmitted to the server device by the log transmission unit, A software update method that performs this update.
8. A program that causes a computer to execute the software update method described in claim 6 or 7.