IP Library Granted Patent US 12,346,686
Granted Patent B2
US 12,346,686 · App. 18/731,587 · Granted Jul 1, 2025

Program update system, program transmission device, and program transmission method

Inventors: Kunihiro Miyauchi (Toyota, JP); Isao Watanabe (Nagoya, JP); Hiroya Andou (Toyota, JP)
Assignee: TOYOTA JIDOSHA KABUSHIKI KAISHA
G06F8/65H04L67/34H04W4/48G07C5/008
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,346,686
App. No.
18/731,587
Granted
Jul 1, 2025
Kind
B2
Abstract

A program update system includes a vehicle including a first and second electronic device, and a program transmission device. The program transmission device is configured to communicate with the vehicle and transmit a program for the first electronic device and a program for the second electronic device to the vehicle. The program transmission device transmits an update program for a first electronic device to a second electronic device. The program transmission device transmits a program in a state before the update for backup. The second electronic device updates the program for the first electronic device based on the update program. The second electronic device stores the program in the state before the update.

Claims (28)

1. A program update system comprising:

a vehicle including a first electronic device and a second electronic device; and

a program transmission device configured to communicate with the vehicle and transmit a program for the first electronic device to the vehicle, wherein

the second electronic device is configured to store data received from the program transmission device,

the first electronic device does not have a sufficient storage area to simultaneously store a current program that is a current version of a program to be executed by the first electronic device and an update program that is an updated version of the current program,

the second electronic device is configured to communicate with the program transmission device and the first electronic device, and has a sufficient storage area to simultaneously store the current program and the update program,

the program transmission device is configured to transmit, upon receiving a request from the vehicle, first data representing the current program and second data representing the update program to the vehicle,

the second electronic device is configured to receive and store the first data and the second data,

the second electronic device is configured to be able to execute an update process of changing a program stored in the first electronic device from the current program to the update program based on the second data stored in the second electronic device,

the second electronic device is configured to be able to execute, after the update process, a restoration process for restoring the program stored in the first electronic device to the current program from the update program, based on the first data stored in the second electronic device, and

the second electronic device is configured to delete the first data representing the current program in response to a completion of the restoration process for restoring the program stored in the first electronic device to the current program from the update program.

2. The program update system according to claim 1 , wherein the restoration process is performed in response to a user's instruction to initiate the restoration process.

3. The program update system according to claim 1 , wherein the first electronic device is configured to perform a predetermined operation test, after execution of the update process, and the second electronic device is configured to execute the restoration process when a result of the predetermined operation test falls outside an allowable range.

4. The program update system according to claim 1 , wherein the second data representing the update program is data representing a difference between the update program and the current program.

5. The program update system according to claim 1 , wherein the first data representing the current program is data representing a difference between the current program and the update program.

6. The program update system according to claim 1 , wherein the second electronic device is configured to delete the second data in response to a completion of the update process.

7. A method of controlling a program update system comprising:

controlling a program transmission device to communicate with a vehicle including a first electronic device and a second electronic device, and transmit a program for the first electronic device to the vehicle, wherein the second electronic device is configured to store data received from the program transmission device, the first electronic device does not have a sufficient storage area to simultaneously store a current program that is a current version of a program to be executed by the first electronic device and an update program that is an updated version of the current program, and the second electronic device is configured to communicate with the program transmission device and the first electronic device, and has a sufficient storage area to simultaneously store the current program and the update program,

controlling the program transmission device to transmit, upon receiving a request from the vehicle, first data representing the current program and second data representing the update program to the vehicle,

controlling the second electronic device to receive and store the first data and the second data,

controlling the second electronic device to execute an update process of changing a program stored in the first electronic device from the current program to the update program based on the second data stored in the second electronic device,

controlling the second electronic device to execute, after the update process, a restoration process for restoring the program stored in the first electronic device to the current program from the update program, based on the first data stored in the second electronic device, and

controlling the second electronic device to delete the first data representing the current program in response to a completion of the restoration process for restoring the program stored in the first electronic device to the current program from the update program.

8. The method of controlling a program update system according to claim 7 , wherein the restoration process is performed in response to a user's instruction to initiate the restoration process.

9. The method of controlling a program update system according to claim 7 , wherein the first electronic device performs a predetermined operation test, after execution of the update process, and the second electronic device executes the restoration process when a result of the predetermined operation test falls outside an allowable range.

10. The method of controlling a program update system according to claim 7 , wherein the second data representing the update program is data representing a difference between the update program and the current program.

11. The method of controlling a program update system according to claim 7 , wherein the first data representing the current program is data representing a difference between the current program and the update program.

12. The method of controlling a program update system according to claim 7 , wherein the second electronic device deletes the second data in response to a completion of the update process.

Priority Claims (1)
JP 2019-184535 · Oct 7, 2019 · national
Continuity (3)
Continuation 18207743 · Jun 9, 2023
Continuation 16914590 · Jun 29, 2020
Related Publication 20240319986A1 · Sep 26, 2024
References Cited (45)
US 10394548B2 · Fox · 2019 [cited by applicant]
US 10447483B1 · Su · 2019 [cited by examiner]
US 10735260B2 · Maeda · 2020 [cited by examiner]
US 11714628B2 · Miyauchi et al. · 2023 [cited by applicant]
US 12032946B2 · Miyauchi et al. · 2024 [cited by applicant]
US 20050256614A1 · Habermas · 2005 [cited by examiner]
US 20100204878A1 · Drew · 2010 [cited by examiner]
US 20120041638A1 · Johnson et al. · 2012 [cited by applicant]
US 20160306624A1 · Vangelov et al. · 2016 [cited by applicant]
US 20170139778A1 · Kito · 2017 [cited by examiner]
US 20170192770A1 · Ujiie et al. · 2017 [cited by applicant]
US 20170315797A1 · Vangelov · 2017 [cited by examiner]
US 20180189049A1 · Madrid · 2018 [cited by examiner]
US 20190050219A1 · Seki · 2019 [cited by examiner]
US 20190050220A1 · Daum et al. · 2019 [cited by applicant]
US 20190193653A1 · Nakamura · 2019 [cited by examiner]
US 20190212997A1 · Sangameswaran · 2019 [cited by examiner]
US 20190236857A1 · Watanabe · 2019 [cited by examiner]
US 20190294429A1 · Mizutani · 2019 [cited by examiner]
US 20190324858A1 · Sarkar · 2019 [cited by examiner]
US 20200050378A1 · Sakurai et al. · 2020 [cited by applicant]
US 20200183676A1 · Sakurai · 2020 [cited by examiner]
US 20200241771A1 · Sakurai et al. · 2020 [cited by applicant]
US 20200372157A1 · Singer et al. · 2020 [cited by applicant]
US 20210011709A1 · Itatsu · 2021 [cited by examiner]
US 20210103435A1 · Miyauchi et al. · 2021 [cited by applicant]
US 20210155177A1 · Harata · 2021 [cited by examiner]
US 20210157902A1 · Sakurai et al. · 2021 [cited by applicant]
US 20230315436A1 · Miyauchi et al. · 2023 [cited by applicant]
JP 2000207681A · 2000 [cited by applicant]
JP 2014191574A · 2014 [cited by applicant]
JP 2017097851A · 2017 [cited by applicant]
JP 2019074847A · 2019 [cited by applicant]
Mansor, “Don't Brick Your Car: Firmware Confidentiality and Rollback for Vehicles”, 2015, 10th International Conference on Availability, Reliability and Security (Year: 2015). [cited by examiner]
Nice, “How car computer work”, 2021, HowStuffWorks (Year: 2021). [cited by applicant]
Dec. 14, 2021 Office Action issued in U.S. Appl. No. 16/914,590. [cited by applicant]
Mar. 31, 2022 Office Action issued In U.S. Appl. No. 16/914,590. [cited by applicant]
Aug. 2, 2022 Office Action issued In U.S. Appl. No. 16/914,590. [cited by applicant]
Nov. 16, 2022 Office Action issued In U.S. Appl. No. 16/914,590. [cited by applicant]
Mar. 10, 2023 Notice of Allowance issued In U.S. Appl. No. 16/914,590. [cited by applicant]
Mar. 6, 2024 Notice of Allowance issued in U.S. Appl. No. 18/207,743. [cited by applicant]
U.S. Appl. No. 16/914,590, filed Jun. 29, 2020. [cited by applicant]
Jun. 13, 2022 Advisory Action issued in U.S. Appl. No. 16/914,590. [cited by applicant]
Feb. 7, 2023 Advisory Action issued in U.S. Appl. No. 16/914,590. [cited by applicant]
U.S. Appl. No. 18/207,743, filed Jun. 9, 2023. [cited by applicant]