# US 11,029,945 B2 · Electronic device, program update method, and non-transitory recording medium

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,029,945 B2
- Document ID: US11029945B2
- Status: Granted
- Kind: B2
- Application number: 16/279,490
- Filed: 2019-02-19
- Published: 2019-08-22
- Granted: 2021-06-08
- Earliest claimed: 2018-02-20
- Assignees: Panasonic Corporation; Toyota Jidosha Kabushiki Kaisha
- Applicants: Panasonic Corporation; Toyota Jidosha Kabushiki Kaisha
- Inventors: Yumeki Teraoka; Kazunori Watanabe
- Web page: https://patentgrep.com/patent/US11029945B2

## CPC

- G06F 8/658: Incremental updates; Differential updates
- G06F 8/654: using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- H04W 4/48: for in-vehicle communication
- H04W 4/50: Service provisioning or reconfiguring
- H04W 4/024: Guidance services
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

A storage includes a first area in which an own device program is stored and a second area in which an other device program is stored at factory shipment. A data processor executes data processing with the other device based on the own device program. A version getter gets the version of the other device program stored in the other device. When the version of the other device program got from the other device satisfies a predetermined condition, a program transmitter transmits the other device program stored in the second area to the other device to cause the other device to update the other device program stored in the other device. A program updater temporarily stores an own device update program input from outside in the second area in place of the other device program and updates the own device program stored in the first area.

## Claims

### Claim 1

An electronic device, comprising:
an interface, which, in operation, communicates with another device;
a memory in which an own device program that is a first computer program specifying an operation of the electronic device is stored in a first area in the memory, and in which another device program that is a second computer program specifying an operation of the another device is stored in a second area in the memory, the second area being different from the first area;
a data processor, which, in operation, executes data processing with the another device based on the own device program stored in the first area;
the interface, which, in operation, receives, from the another device, a version of a second another device program stored in the another device;
a transmitter, which, in operation, transmits the another device program stored in the second area to the another device to cause the another device to update the second another device program stored in the another device in response to the version of the second another device program received from the another device being older than a version of the another device program stored in the second area on condition that an operator inputs an update operation, the update operation being input on a confirmation screen and instructing the second another device program stored in the another device to be updated; and
an update processor, which, in operation, stores, in the second area in place of the another device program stored in the second area, an own device update program that is input from outside the electronic device, and updates the own device program stored in the first area using the own device update program,
wherein the interface, in operation, receives, from the another device, a version of a second own device program stored in the another device, and
in response to a version of the own device program stored in the first area being older than the version of the second own device program stored in the another device, the update processor receives, from the another device, the second own device program stored in the another device and updates the own device program stored in the first area using the second own device program stored in the another device on condition that the operator inputs a second update operation, the second update operation being on the confirmation screen and instructing the own device program stored in the first area to be updated.

### Claim 2 (depends on 1)

The electronic device according to claim 1 further comprising:
a display controller, which, in operation, displays version information indicating the version of the another device program stored in the second area and the version of the second another device program received from the another device on condition that the operator inputs a version display operation.

### Claim 3 (depends on 1)

The electronic device according to claim 1, wherein
the interface, in operation, receives, from the another device, version information indicating a major version and a minor version of the second another device program stored in the another device, and
in response to the major version of the second another device program stored in the another device being older than a major version of the another device program stored in the second area, the transmitter transmits the another device program stored in the second area to the another device, and
in response to the major version of the another device program stored in the second area and the major version of the second another device program stored in the another device being identical, the transmitter does not transmit the another device program stored in the second area to the another device even if the minor version of the second another device program stored in the another device is older than a minor version of the another device program stored in the second area.

### Claim 4 (depends on 3)

The electronic device according to claim 3, wherein
the interface, in operation, receives, from the another device, version information indicating a major version and a minor version of the second own device program stored in the another device, and
in response to a major version of the own device program stored in the first area being older than the major version of the second own device program stored in the another device, the update processor receives, from the another device, the second own device program stored in the another device and updates the own device program stored in the first area using the second own device program stored in the another device, and
in response to the major version of the second own device program stored in the another device and the major version of the own device program stored in the first area being identical, the update processor does not update the own device program stored in the first area even if a minor version of the own device program stored in the first area is older than the minor version of the second own device program stored in the another device.

### Claim 5 (depends on 1)

The electronic device according to claim 1, further comprising:
a determination processor, wherein
the interface, in operation, communicates with a first other device via a first bus and communicates with a second other device via a second bus different from the first bus,
a first other device program specifying an operation of the first other device and a second other device program specifying an operation of the second other device are stored in the second area,
the interface, in operation, receives, from the first other device, respective version information of the own device program, the first other device program, and the second other device program stored in the first other device, and receives, from the second other device, respective versions of the own device program, the first other device program, and the second other device program stored in the second other device, and
the determination processor, in operation, determines a device in which a latest version of program is stored for each of the own device program, the first other device program, and the second other device program, as an update program provider.

### Claim 6 (depends on 5)

The electronic device according to claim 5, wherein
in response to a latest version of the own device program and a latest version of the second other device program being stored in the first other device,
the update processor receives, from the first other device, the own device program and the second other device program stored in the first other device and updates the own device program stored in the first area, and the transmitter transmits the second other device program received by the update processor to the second other device.

### Claim 7 (depends on 1)

The electronic device according to claim 1, wherein
the version of the own device program stored in the first area and the version of the another device program stored in the second area are identical.

### Claim 8 (depends on 1)

The electronic device according to claim 1, wherein
the version of the another device program stored in the second area is compatible with the version of the own device program stored in the first area.

### Claim 9 (depends on 1)

The electronic device according to claim 1 wherein the electronic device is mounted on a vehicle.

### Claim 10 (depends on 9)

The electronic device according to claim 9, wherein
the another device is mounted on the vehicle, and
the interface communicates with the another device via an in-vehicle network.

### Claim 11

A program update method for an electronic device, the program update method comprising:
executing data processing with another device, the electronic device including a memory in which an own device program that is a first computer program specifying an operation of the electronic device is stored in a first area in the memory and in which another device program that is a second computer program specifying an operation of the another device is stored in a second area in the memory, the second area being different from the first area, the data processing with the another device being based on the own device program stored in the first area;
receiving, from the another device, a version of a second another device program stored in the another device;
transmitting the another device program stored in the second area to the another device to cause the another device to update the second another device program stored in the another device in response to the version of the second another device program received from the another device being older than a version of the another device program stored in the second area on condition that an operator inputs an update operation, the update operation being input on a confirmation screen and instructing the second another device program stored in the another device to be updated;
storing, in the second area in place of the another device program stored in the second area, an own device update program that is input from outside the electronic device, and updating the own device program stored in the first area using the own device update program;
receiving, from the another device, a version of a second own device program stored in the another device; and
in response to a version of the own device program stored in the first area being older than the version of the second own device program stored in the another device, receiving, from the another device, the second own device program stored in the another device, and updating the own device program stored in the first area using the second own device program stored in the another device on condition that the operator inputs a second update operation, the second update operation being on the confirmation screen and instructing the own device program stored in the first area to be updated.

### Claim 12

A non-transitory recording medium having a set of computer readable instruction that, when executed, cause an electronic device to:
execute data processing with another device, the electronic device including a memory in which an own device program that is a first computer program specifying an operation of the electronic device is stored in a first area in the memory and in which another device program that is a second computer program specifying an operation of the another device is stored in a second area in the memory, the second area being different from the first area, the data processing with the another device being based on the own device program stored in the first area;
receive, from the another device, a version of a second another device program stored in the other device;
transmit the another device program stored in the second area to the another device to cause the another device to update the second another device program stored in the another device in response to the version of the second another device program received from the another device being older than a version of the another device program stored in the second area on condition that an operator inputs an update operation, the update operation being input on a confirmation screen and instructing the second another device program stored in the another device to be updated;
store, in the second area in place of the another device program stored in the second area, an own device update program that is input from outside the electronic device, and update the own device program stored in the first area using the own device update program;
receive, from the another device, a version of a second own device program stored in the another device; and
in response to a version of the own device program stored in the first area being older than the version of the second own device program stored in the another device, receive, from the another device, the second own device program stored in the another device, and update the own device program stored in the first area using the second own device program stored in the another device on condition that the operator inputs a second update operation, the second update operation being on the confirmation screen and instructing the own device program stored in the first area to be updated.
