On-board update device, on-board update system, update process method, and update process program

Provided are an on-board update device, an on-board update system, an update process method, and an update process program. The on-board update device updates a program or data stored in a storage unit of an on-board device, the on-board update device includes a communication unit performing communication via a communication line connected to the on-board device, a storage unit stores history information regarding the timing of transmission and reception of data that is to be transmitted and received via the communication line, an estimation processing unit estimates an unused time period in which no data is transmitted or received via the communication line, based on the history information stored in the storage unit, and an update processing unit performs processing for transmitting, via the communication unit data for updating the on-board device to the on-board device in the unused time period estimated by the estimation processing unit.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is the U.S. national stage of PCT/JP2019/014565 filed on Apr. 2, 2019, which claims priority of Japanese Patent Application No. JP 2018-081433 filed on Apr. 20, 2018, the contents of which are incorporated herein.

TECHNICAL FIELD

The present disclosure relates to an on-board update device, an on-board update system, an update process method, and an update process program, for updating programs or data in on-board devices installed in a vehicle.

BACKGROUND

A vehicle is conventionally equipped with a plurality of on-board devices such as ECUs (Electronic Control Units), which are connected via communication lines such as CAN (Controller Area Network) buses and thereby capable of transmitting and receiving information to/from each other. In each ECU that is in charge of vehicle control or a like process, a processor such as a CPU (Central Processing Unit) retrieves and executes a program stored in a storage unit such as a flash memory or EEPROM (Electrically Erasable Programmable Read Only Memory). The program or data stored in the storage unit of each ECU needs to be updated with a new program or data, for example, when it is required to add a function, to correct a fault, to upgrade, etc. In this case, an update program or data is transmitted via a communication line to the ECU to be updated.

JP 2017-215890A discloses a program update method for storing a plurality of update programs with which a plurality of control devices need simultaneous updating and a topology of an on-board network, and for transmitting a plurality of programs in parallel to control devices that belongs to a plurality of on-board networks that are each connected to a relay apparatus and are independent of each other.

Programs or data for updating an on-board device are split into sizes suitable for in-vehicle communication, and are transmitted to the on-board device via a communication line arranged in the vehicle. However, data necessary for controlling vehicle movement and the like are transmitted and received via this communication line, and thus there is a concern that the communication load on the communication line may increase through transmission of update data. Although it is possible to reduce the amount of update data transmitted, the frequency of data transmission, and the like in order to inhibit an increase in the communication load, this increases the time required to complete the transmission of update data.

The present disclosure is made in view of such circumstances, and aims to provide an on-board update device, an on-board update system, an update process method, and an update process program with which it is expected that the influence of an increase in communication load is suppressed and the time taken to complete the transmission of update data is shortened.

SUMMARY

An on-board update device according to this aspect is configured to update a program or data stored in a storage unit of an on-board device installed in a vehicle, the on-board update device including a communication unit configured to perform communication via a communication line connected to the on-board device, a storage unit configured to store history information regarding timing of transmission and reception of data that is to be transmitted and received via the communication line, an estimation processing unit configured to estimate an unused time period in which no data is transmitted or received via the communication line, based on the history information stored in the storage unit, and an update processing unit configured to perform processing for transmitting, via the communication unit, data for updating the on-board device to the on-board device in the unused time period estimated by the estimation processing unit.

An on-board update system according to this aspect includes an on-board update device configured to update a program or data stored in a storage unit of an on-board device installed in a vehicle, and a server device that is provided outside the vehicle and is configured to communicate with the on-board update device. The on-board update device includes a communication unit configured to perform communication via a communication line connected to the on-board device, a storage unit configured to store history information regarding timing of transmission and reception of data that is to be transmitted and received via the communication line, an estimation processing unit configured to estimate an unused time period in which no data is transmitted or received via the communication line, based on the history information stored in the storage unit, and an update processing unit configured to perform processing for transmitting, via the communication unit, data for updating the on-board device to the on-board device in the unused time period estimated by the estimation processing unit.

An update process method according to this aspect is an update process method for updating a program or data stored in a storage unit of an on-board device installed in a vehicle, the update process method including storing, in the storage unit, history information regarding timing of transmission and reception of data that is to be transmitted and received via a communication line connected to the on-board device, estimating an unused time period in which no data is transmitted or received via the communication line, based on the history information stored in the storage unit, and transmitting data for updating the on-board device in the estimated unused time period.

An update process program according to this aspect is an update process program for causing a computer to perform processing for updating a program or data stored in a storage unit of an on-board device installed in a vehicle, the update process program causing the computer to perform processing for storing, in the storage unit, history information regarding timing of transmission and reception of data that is to be transmitted and received via a communication line connected to the on-board device, estimating an unused time period in which no data is transmitted or received via the communication line, based on the history information stored in the storage unit, and transmitting data for updating the on-board device in the estimated unused time period.

Note that this application can be realized as not only an on-board update device including such characteristic processing units but also an update process method including such characteristic processes as steps or an update process program for causing a computer to execute these steps. Also, this application can be realized as a semiconductor integrated circuit for realizing part or the entirety of the on-board update device or as another device or a system including the on-board update device.

Advantageous Effects of Disclosure

According to the above configuration, it is expected that the influence of an increase in communication load is suppressed, and the time taken to complete the transmission of update data is shortened.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Embodiments of the present disclosure will be described first. At least some embodiments described below may also be combined.

An on-board update device according to this aspect is configured to update a program or data stored in a storage unit of an on-board device installed in a vehicle, the on-board update device including a communication unit configured to perform communication via a communication line connected to the on-board device, a storage unit configured to store history information regarding timing of transmission and reception of data that is to be transmitted and received via the communication line, an estimation processing unit configured to estimate an unused time period in which no data is transmitted or received via the communication line, based on the history information stored in the storage unit, and an update processing unit configured to perform processing for transmitting, via the communication unit, data for updating the on-board device to the on-board device in the unused time period estimated by the estimation processing unit.

In this aspect, a program or data stored in the storage unit of the in-vehicle device is updated as a result of the on-board update device installed in the vehicle transmitting update data via the in-vehicle communication line to the on-board device. The on-board update device monitors data that is transmitted and received via the communication line connected to the on-board device, and stores history information about the timing of transmission and reception of data that is to be transmitted and received via this communication line. When the on-board update device performs an update process, the on-board update device estimates an unused time period in which no data is transmitted or received via the communication line, based on the history information stored about the communication line connected to the on-board device to be updated, and transmits update data in the estimated unused time period. Accordingly, the on-board communication device can transmit update data using a time period in which no normal communication is performed via the communication line, and thus can prevent the transmission of update data from inhibiting normal communication, and also can shorten the time taken to complete the transmission of update data due to an unused time period in which the communication line is not used being effectively utilized.

It is preferable that the on-board update device includes a generation processing unit configured to generate information about a probability distribution of timing when data is transmitted and received to/from the communication line, based on timing when data has been transmitted and received to/from the communication line, and the storage unit is configured to store, as the history information, information about the probability distribution generated by the generation processing unit.

In this aspect, the on-board update device generates information about the probability distribution of the timing when data is transmitted and received to/from this communication line, based on the timing when data has been actually transmitted and received to/from the communication line, and stores the generated information about the probability distribution as history information. Accordingly, the on-board update device can accurately find out the usage status of the communication line in normal communication.

It is preferable that data that is transmitted and received via the communication line includes an identification code for identifying the data, and the generation processing unit is configured to generate information about a probability distribution for each identification code.

In this aspect, data that is transmitted and received via the communication line includes an identification code, and the on-board communication device generates information about a probability distribution for each identification code, and stores the information as history information. Accordingly, it is possible to reduce the spread (variance) in the probability distribution of data or the like that is transmitted in a fixed cycle, for example, and to more accurately find out the usage status of the communication line.

It is preferable that the estimation processing unit is configured to estimate, based on the information about the probability distribution, as the unused time period, a time slot in which the probability that data is transmitted and received to/from the communication line is lower than a predetermined reference.

In this aspect, the on-board update device estimates, based on information about the probability distribution stored as history information, as an unused time period in which the communication line is not used, a time slot in which the probability that data is transmitted and received to/from the communication line is lower than the predetermined reference. Accordingly, the on-board update device can transmit update data using information about the probability distribution stored as history information, at the timing when the communication line is unlikely to be used.

It is preferable that the generation processing unit is configured to generate information about the probability distribution by updating initial information about the probability distribution that has been input from a device outside the vehicle.

In this aspect, the on-board update device acquires initial information about a probability distribution from a server device outside the vehicle, and generates information about the probability distribution by updating the acquired initial information. Accordingly, even if an update process needs to be performed immediately after the vehicle is manufactured, or immediately after the vehicle is sold, for example, and before sufficient history information is stored, the on-board update device can determine the timing of transmission of update data, based on the initial information.

It is preferable that the on-board update device includes a history information transmission unit configured to transmit the history information stored in the storage unit to the external device.

In this aspect, the on-board update device transmits the history information stored in the storage unit to an external server device. Accordingly, the server device can generate more accurate initial information based on the history information obtained from a plurality of vehicles, for example.

It is preferable that the storage unit is configured to store the history information for each state of the vehicle.

In this aspect, the on-board update device acquires the state of the vehicle, such as whether the engine of the vehicle is ON or OFF, or whether or not the vehicle is moving, for example, and stores history information for each state of the vehicle. If the state of the vehicle changes, the frequency and timing when the on-board device transmits data may change, for example. As a result of the on-board update device storing history information for each state of the vehicle, it is possible to estimate an unused time period suitable for the state of the vehicle.

An on-board update system according to this aspect includes an on-board update device configured to update a program or data stored in a storage unit of an on-board device installed in a vehicle, and a server device that is provided outside the vehicle and is configured to communicate with the on-board update device. The on-board update device includes a communication unit configured to perform communication via a communication line connected to the on-board device, a storage unit configured to store history information regarding timing of transmission and reception of data that is to be transmitted and received via the communication line, an estimation processing unit configured to estimate an unused time period in which no data is transmitted or received via the communication line, based on the history information stored in the storage unit, and an update processing unit configured to perform processing for transmitting, via the communication unit, data for updating the on-board device to the on-board device in the unused time period estimated by the estimation processing unit.

In this aspect, in a manner similar to that of Aspect (1), it is possible to prevent the transmission of update data from inhibiting normal communication, and to shorten the time taken to complete the transmission of update data.

It is preferable that the on-board update device includes a generation processing unit configured to generate, based on timing when data has been transmitted and received to/from the communication line, information about a probability distribution of timing when data is transmitted and received to/from the communication line, in which the storage unit is configured to store, as the history information, the information about the probability distribution generated by the generation processing unit.

In this aspect, in a manner similar to that of Aspect (2), the on-board update device can accurately find out the usage status of the communication line in normal communication.

It is preferable that the server device includes a delivering unit configured to deliver initial information about the probability distribution to the on-board update device, in which the generation processing unit is configured to generate information about the probability distribution by updating the initial information delivered by the server device.

In this aspect, in a manner similar to that of Aspect (5), even if an update process needs to be performed immediately after the vehicle is manufactured, or immediately after the vehicle is sold, for example, and before sufficient history information is stored, the on-board update device can determine the timing of transmission of update data, based on the initial information.

It is preferable that the on-board update device includes a history information transmission unit configured to transmit history information stored in the storage unit to the server device, in which the server device includes a history information receiving unit configured to receive history information transmitted by the on-board update device, and an initial information update unit configured to update the initial information based on the history information received by the history information receiving unit.

In this aspect, in a manner similar to that of Aspect (6), the server device can generate more accurate initial information based on the history information obtained from a plurality of vehicles, for example.

An update process method according to this aspect is an update process method for updating a program or data stored in a storage unit of an on-board device installed in a vehicle, the method including storing, in the storage unit, history information regarding timing of transmission and reception of data that is to be transmitted and received via a communication line connected to the on-board device, estimating an unused time period in which no data is transmitted or received via the communication line, based on the history information stored in the storage unit, and transmitting data for updating the on-board device in the estimated unused time period.

In this aspect, in a manner similar to that of Aspect (1), it is possible to prevent the transmission of update data from inhibiting normal communication, and to shorten the time taken to complete the transmission of update data.

An update process program according to this aspect is an update process program for causing a computer to perform processing for updating a program or data stored in a storage unit of an on-board device installed in a vehicle, the update process program causing the computer to perform processing for storing, in the storage unit, history information regarding timing of transmission and reception of data that is to be transmitted and received via a communication line connected to the on-board device, estimating an unused time period in which no data is transmitted or received via the communication line, based on the history information stored in the storage unit, and transmitting data for updating the on-board device in the estimated unused time period.

In this aspect, in a manner similar to that of Aspect (1), it is possible to prevent the transmission of update data from inhibiting normal communication, and to shorten the time taken to complete the transmission of update data.

Specific examples of an on-board update system according to embodiments of the present disclosure will be described with reference to the drawings. Note that the present disclosure is not limited to these examples, but is indicated by the scope of the claims, and all changes that come within the meaning and range of equivalency of the claims are intended to be embraced therein.

System Overview

FIG. 1is a block diagram showing the configuration of an on-board update system according to this embodiment. An on-board update system100according to this embodiment includes a plurality of ECUs2, one wireless communication device3, and one gateway10that are installed in a vehicle1. The ECUs2are each connected to either a communication line1aor1b, and can communicate with each other via the connected communication line1aor1b. In the example shown inFIG. 1, two ECUs2are connected to the communication line1a, three ECUs2are connected to the communication line1b, and the two communication lines1aand1bare connected to the gateway10. The gateway10relays communication between the communication lines1aand1b, and thereby the plurality of ECUs2enable communication via the communication lines1aand1band the gateway10.

Also, in the on-board update system100according to this embodiment, the wireless communication device3is connected to the gateway10via a communication line1c. Via the wireless communication device3, the gateway10can communicate with a server device9installed outside the vehicle1. Also, the gateway10receives an IG signal from an IG (ignition) switch4in the vehicle1.

The ECUs2may include various kinds of ECUs such as an ECU that controls the engine operation of the vehicle1, an ECU that controls locking/unlocking of the doors, an ECU that controls on/off of the lighting, an ECU that controls the airbag operation, and an ECU that controls the ABS (Antilock Brake System) operation. Each of the ECUs2is connected to the communication line1aor1barranged in the vehicle1, and is capable of transmitting data to and receiving data from the other ECUs2and the gateway10via the communication lines1aand1b.

The wireless communication device3can communicate with the server device9installed outside the vehicle1, for example, by wireless communication on a mobile telephone communication network, a wireless LAN (Local Area Network), or the like. The wireless communication device3can relay the communication between the gateway10and the server device9, by transmitting the data provided by the gateway10to the server device9and providing the data received from the server device9to the gateway10.

The gateway10is connected with the communication lines1ato1cthat constitute an in-vehicle network for the vehicle1, and relays data transmitted and received on these communication lines. In the example shown inFIG. 1, the gateway10is connected with three communication lines1ato1c, namely, the first communication line1aconnected with two ECUs2, the second communication line1bconnected with three ECUs2, and the third communication line1cconnected with the wireless communication device3. The gateway10relays data by receiving data from any of the communication lines1ato1cand transmitting the received data to the other communication lines1ato1c.

The IG switch4, which is a user-operated switch that is used to start the engine of the vehicle1or to perform a like operation, changes over between two states, i.e., between on and off. The IG signal indicates the state of the IG switch4. When the IG signal indicates on, the motor of the vehicle1(e.g., an engine) is in operation, and an alternator or the like is generating power. When the IG signal indicates off, the motor of the vehicle1is not in operation, and an alternator or the like generates no power.

The server device9manages and stores the programs and data to be executed by the ECUs2installed in the vehicle1. In response to an inquiry from the vehicle1, the server device9informs the vehicle whether any program or the like needs updating. If an update is necessary, the server device9delivers an update program and data to the vehicle1.

In the on-board update system100according to this embodiment, the gateway10periodically communicates with the server device9via the wireless communication device3, and checks whether a program or data stored in the ECUs2needs updating. If a program or data needs updating, the gateway10acquires an update program or data (simply referred to as “update data” hereinafter) from the server device9, and stores the acquired update data in a memory of the gateway10. The gateway10split the update data acquired from the server device9into appropriate data sizes, and transmits, in order, the split data to the communication lines1aand1bconnected to the ECUs2to be updated, and thereby updates the ECUs2. The ECUs2receive the update data transmitted from the gateway10and store the update data in their memories. After the ECUs2have received all the split data, the ECUs2update their programs or data by changing the programs or data to be executed by the ECUs2to the stored update data.

In the on-board update system100in this embodiment, the ECUs2perform normal operations while the vehicle1is moving, for example, and even if the ECUs2are performing normal communication, the gateway10can transmit update data to the ECUs2. At this time, the gateway10according to this embodiment estimates the unused time periods of the communication lines1aand1b(time periods in which no ECUs2transmit data to the communication lines1aand1b), and transmits update data in the estimated unused time period, so as not to prevent normal communication of the communication lines1aand1b. Thus, when a plurality of ECUs2are performing normal communication, the gateway10monitors data that is transmitted and received on the communication lines1aand1b, and acquires information about the timings and time periods in which data is transmitted and received, for example. The gateway10calculates, based on the acquired information, a distribution of the probability that data is transmitted and received via the communication lines1aand1b, and stores information about this distribution as history information. If update data needs to be transmitted, the gateway10transmits update data (data obtained by splitting update data) based on the stored history information in a time period in which the communication lines1aand1bare unlikely to be used.

Device Configuration

FIG. 2is a block diagram showing the configuration of the gateway10according to this embodiment. The gateway10according to this embodiment includes a processing unit (processor)11, a storage unit (storage)12, and in-vehicle communication units (transceivers)13, and the like. The processing unit11is constituted, for example, by an arithmetic processing unit such as a CPU (Central Processing Unit) or an MPU (Micro-Processing Unit). The processing unit11performs various arithmetic operations by retrieving and executing a program12astored in the storage unit12, a ROM (Read Only Memory) (not shown), or the like. In this embodiment, the processing unit11performs arithmetic operations necessary for relaying the transmission and reception of data between the communication lines1ato1con the in-vehicle network, and updating the ECUs2, and the like. The processing unit11also receives the IG signal supplied from the IG switch4in the vehicle1. However, the IG signal may also be input to the gateway10through in-vehicle communication, using the communication lines1ato1c.

The storage unit12is constituted by a non-volatile memory device such as a flash memory or EEPROM (Electrically Erasable Programmable Read Only Memory). The storage unit12stores various programs to be executed by the processing unit11and data necessary for processing performed by the processing unit11. In this embodiment, the storage unit12stores not only the program12ato be executed by the processing unit11but also history information12bas data necessary for execution of the program12a. Note that the program12amay be written to the storage unit12in the step of manufacturing the gateway10, the gateway10may acquire the program12adelivered by a remote server device or the like through communication, the gateway10may retrieve the program12arecorded in a recording medium101such as a memory card or an optical disk and store the program12ain the storage unit12, or a writing device may retrieve the program12arecorded in the recording medium101and write the program12ato the storage unit12of the gateway10, for example. The program12amay be delivered via a network, or may be recorded in the recording medium101and provided.

In this embodiment, the history information12bis stored in the storage unit12. The history information12bis information generated by the gateway10. The gateway10monitors the transmission and reception of data performed by the ECUs2to/from the communication lines1aand1b, acquires temporal information such as the timings and time periods in which data is transmitted and received, and generates the history information12b. The history information12bof the storage unit12is updated according to processing for monitoring the communication lines1aand1bperformed by the gateway10.

The gateway10includes three in-vehicle communication units13in this embodiment. The in-vehicle communication units13are each connected to one of the communication lines1ato1cthat constitute the in-vehicle network, and transmit and receive data according to a predetermined communication protocol. Although it is presumed that the in-vehicle communication units13transmit and receive data based on CAN communication standards in this embodiment, a communication standard other than CAN may also be applied. The in-vehicle communication units13transmit information by converting data provided by the processing unit11into an electric signal and outputting the electric signal to the communication lines1ato1c. The in-vehicle communication units13receive data by sampling the electrical potentials at the communication lines1ato1c, and provides the thus received data to the processing unit11. Note that the three in-vehicle communication units13provided in the gateway10may follow different communication protocols.

Also, the processing unit11executes the program12astored in the storage unit12, and thereby enables software-like functional blocks such as an update processing unit11a, a communication monitoring processing unit11b, a distribution information generation processing unit11c, an estimation processing unit11d, a vehicle state information acquisition unit11e, and a relay processing unit11f. The update processing unit11aperiodically makes an inquiry as to whether the programs or data in the ECUs2installed in the vehicle1need updating, through communication with the server device9via the wireless communication device3. If an update is necessary, the update processing unit11aacquires (downloads) the update data from the server device9and stores the acquired update data in the storage unit12. Then, the update processing unit11atransmits the update data to the communication line1aor1bconnected to the ECUs2to be updated, and thereby causes the ECUs2to update the programs or data.

The communication monitoring processing unit11bmonitors the transmission and reception of data performed via the communication lines1aand1bconnected to the ECUs2that can be updated. If one of the ECUs2transmits data to the communication lines1aand1b, the communication monitoring processing unit11bacquires information about the timing when the transmission of data is started, the timing when the transmission of data is complete, a time period in which data is transmitted, and an identification code (CAN-ID in this embodiment) included in data. The communication monitoring processing unit11bprovides the acquired information to the distribution information generation processing unit11c.

The distribution information generation processing unit11cgenerates information about a distribution of the probability that data is transmitted and received via the communication lines1aand1b, based on the information acquired by the communication monitoring processing unit11b. Information about the probability distribution generated by the distribution information generation processing unit11cis stored in the storage unit12as the history information12b. The distribution information generation processing unit11cgenerates information about a probability distribution for each state of the vehicle, for each of the communication lines1aand1b, and for each identification code included in data. A probability distribution may be expressed as a distribution of the probability that the next data will be transmitted with respect to the time passed since certain data is transmitted, for example.

The estimation processing unit11destimates a time period in which data is unlikely to be transmitted and received on the communication lines1aand1b, that is, unused time periods in which no communication lines1aand1bare used, based on the history information12bstored in the storage unit12, that is, based on information about a probability distribution generated by the distribution information generation processing unit11c. The estimation processing unit11dobtains a distribution of the probability that data is transmitted and received via the communication line1aby retrieving, from the storage unit12, information about a probability distribution of data that may be transmitted and received via the communication line1a, and combining information about a plurality of probability distributions. The estimation processing unit11dcan extract a time period in which the probability that data is transmitted and received is lower than a predetermined threshold, and estimate the extracted time period as an unused time period in which the communication line1ais not used. The update processing unit11atransmits update data in the unused time period estimated by the estimation processing unit11d.

The vehicle state information acquisition unit11eacquires information regarding the state of the vehicle1. In this embodiment, the vehicle state information acquisition unit11eacquires information by sampling the values of the IG signals input by the IG switch4, and determines whether the vehicle1is in a state where the IG signal is ON or in a state where the IG signal is OFF by determining whether the IG signal indicates ON or OFF. However, the state of the vehicle1is not limited to the states where the IG signal is ON and OFF, and the vehicle state information acquisition unit11emay acquire various states other than the states where the IG signals are ON and OFF. The vehicle state information acquisition unit11emay acquire various types of information such as the state of an ACC (accessory) switch of the vehicle1, the vehicle speed of the vehicle1, the open and closed states of doors of the vehicle1, and the locked state thereof, for example. If the vehicle1is a hybrid automobile, the vehicle state information acquisition unit11emay also acquire, as state information, whether the vehicle1moves with the power of the engine, or whether the vehicle1moves with the power of a motor. It is preferable that the vehicle state information acquisition unit11eacquires information about the state of the vehicle1in which the pattern of data transmission and reception that is performed by the ECUs2via the communication lines1aand1bin the vehicle1may change. The distribution information generation processing unit11cgenerate distribution information for each vehicle state acquired by the vehicle state information acquisition unit11e, and the estimation processing unit11dperforms estimation processing by retrieving the history information12baccording to the vehicle state acquired by the vehicle state information acquisition unit11e.

The relay processing unit11frelays data transmission and reception between the communication lines1ato1cby transmitting data received by any of the communication lines1ato1c, from the other communication lines1ato1c. The relay processing unit11fneed not relay all the received data, and determines whether or not the received data needs to be relayed, and decides where to relay the data, for example. The relay processing unit11ftransmits received data to be relayed to the communication lines1ato1cconnected to a device that needs the data. Note that the communication monitoring processing unit11balso monitors data that is transmitted and received by the gateway10.

FIG. 3is a block diagram showing the configuration of the ECU2according to this embodiment. Note thatFIG. 3focuses on the functional blocks common to the plurality of ECUs2, and omits the functional blocks that are different in the ECUs2. The ECU2according to this embodiment includes a processing unit (processor)21, a storage unit (storage)22, and a communication unit (transceiver)23, for example. The processing unit21is constituted, for example, by an arithmetic processing unit such as a CPU or an MPU. The processing unit21performs various arithmetic operations by retrieving and executing a program22astored in the storage unit22. Note that the content of the program22astored in the storage unit22changes for each of the ECUs2.

The storage unit22is constituted by a non-volatile memory device such as a flash memory or EEPROM. The storage unit22stores not only the program22ato be executed by the processing unit21but also data necessary for execution of the program22a. Note that the term “program22a” may encompass the program22aand the data necessary for execution of the program22ahereinafter. The earliest program22amay be written to the storage unit22in the step of manufacturing the ECU2, the ECU2may retrieve the program22arecorded in a recording medium such as a memory card or an optical disk and store the program22ain the storage unit22, or a writing device may retrieve the program22arecorded in a recording medium and write the program22ato the storage unit22of the ECU2, for example. Note that, in this embodiment, after the ECU2is installed in the vehicle1, the ECU2receives the update data from the gateway10via the communication lines1aand1b, and the ECU2updates the program22astored in the storage unit22using the received update data.

In this embodiment, the storage unit22of the ECU2is provided with two areas for storing the program22a. The two areas each have storage capacity sufficient for storing the program22a. The processing unit21performs operation by retrieving the program22afrom one area of the storage unit22, and the update data received from the gateway10is stored in the other area of the storage unit22. After the ECU2has received all the update data from the gateway10, the ECU2updates the program22aas a result of the processing unit21switching an area from which the program22ais retrieved.

The communication unit23is connected with the communication line1aor1bthat constitutes the in-vehicle network, and transmits and receives data according to, for example, a communication protocol such as CAN. The communication unit23transmits data by converting data provided by the processing unit21into an electric signal and outputting the electric signal to the communication line1aor1b. The communication unit23receives data by acquiring an electrical potential at the communication line1aor1bby sampling the electrical potential, and provides the thus received data to the processing unit21.

Also, the processing unit21of the ECU2according to this embodiment includes an update information receiving unit21aand an update processing unit21b. The update information receiving unit21aand the update processing unit21bare functional blocks for updating the program22astored in the storage unit22. The update information receiving unit21aand the update processing unit21bare software-like functional blocks that are enabled when the processing unit21executes a program (illustration omitted) different from the program22ato be updated. The update information receiving unit21areceives an update program transmitted via the communication line1aor1bvia the communication unit23, and stores the received update program in an unused area of the storage unit22.

After the update processing unit21bhas stored all the update data in an unused area of the storage unit22, the update processing unit21bswitches the area of the storage unit22where the processing unit21executes the program22afrom the area in which the program22athat is currently being executed is stored to an area in which the update data is stored. Accordingly, the processing unit21retrieves, from the storage unit22, a new program22aacquired from the gateway10as update data and executes the program22a, and thus an update of the program22ais complete. After an update is complete, the ECU2may also delete data from the area of the storage unit22in which the previous program22ais stored.

Generation of Probability Distribution and Estimation of Unused Time Period

FIG. 4is a schematic diagram showing an example of information about a probability distribution generated by the distribution information generation processing unit11cof the gateway10. It is presumed that three types of data with CAN ID10,20, and30are transmitted and received on the communication line1a, for example. If data is transmitted to the communication line1a, the communication monitoring processing unit11bof the gateway10acquires the ID of the data, and a transmission start timing and a transmission end timing (or transmission time). The distribution information generation processing unit11cuses, as a reference, the transmission start timing of previous data transmission and reception for data with ID10, for example, and sets, as data transmission time, the time taken from the transmission start timing of the current data transmission and reception to the transmission end timing. The distribution information generation processing unit11crepeatedly acquires information about the data transmission time for data with ID10, and calculates (the number of instances of data transmission and reception)/(the number of instances of transmission and reception of all the data) at each time. Accordingly, the distribution information generation processing unit11ccan generate distribution information where the horizontal axis indicates the time and the vertical axis indicates the probability that data is transmitted and received.

The top inFIG. 4shows an example of a probability distribution of transmission and reception of data with ID10. If data with ID10is repeatedly transmitted in a cycle T1, for example, the probability distribution of the data transmission and reception may be a normal distribution or a distribution that is close to a normal distribution with a point of time when time T1has passed since the previous data transmission being the center (average). In a similar manner, the distribution information generation processing unit11cgenerates probability distributions for data with ID20and ID30. An example of the probability distribution for data with ID20transmitted in a cycle T2is shown in the middle inFIG. 4. An example of the probability distribution for data with ID30transmitted in a cycle T3is shown in the bottom inFIG. 4.

Also, the distribution information generation processing unit11cgenerates information about a probability distribution for each state of the vehicle1(IG signal is ON or OFF) acquired by the vehicle state information acquisition unit11e, for each of the communication lines1aand1bconnected to the ECUs2, and for each ID included in data. The distribution information generation processing unit11cstores the generated information about the probability distribution in the storage unit12as the history information12b.

Also, the communication monitoring processing unit11bacquires information about data transmission start timing and transmission end timing, every time data is transmitted and received to/from the communication lines1aand1b, for example. Every time the communication monitoring processing unit11bacquires information, the distribution information generation processing unit11cgenerates information about a probability distribution corresponding to the acquired information, and updates the information about the probability distribution stored in the storage unit12as the history information12b.

FIGS. 5 and 6are schematic diagrams illustrating unused time period estimation processing performed by the estimation processing unit11dof the gateway10. If the program22aof an ECU2needs updating, the estimation processing unit11dof the gateway10retrieves, from the history information12bin the storage unit12, information about a probability distribution for data that is transmitted and received via the communication lines1aand1bconnected to the ECU2to be updated. At this time, the estimation processing unit11dretrieves, from the storage unit12, information corresponding to the vehicle state acquired by the vehicle state information acquisition unit11e.

Then, by combining information about one or more retrieved probability distributions, the estimation processing unit11dgenerates a probability distribution of transmission and reception of data with all the IDs that may be transmitted and received via the communication lines1aand1bon which data is to be transmitted and received. The top inFIG. 5shows superimposition of information about probability distributions for three data sets with ID10, ID20, and ID30shown inFIG. 4. If probability distributions overlap each other with regard to the transmission and reception of data with different IDs, the estimation processing unit11dcombines probability distributions of data with all the IDs by adding together the probabilities regarding this overlapping portions. The combined probability distribution is shown with a thick line in the bottom inFIG. 5.

Then, the estimation processing unit11destimates, as an unused time period in which the communication lines1aand1bto/from where data is to be transmitted and received are not used, a time period in which the probability is equal to or less than a predetermined threshold with respect to the combined probability distribution. The threshold for the combined probability distribution is indicated by a horizontal line in the top inFIG. 6. At this time, the threshold used by the estimation processing unit11dmay be predetermined in the step of designing the vehicle1or the like, and may be stored in the storage unit12of the gateway10or the like. Also, the threshold may be increased or reduced according to the state of the vehicle1, the communication states of the communication lines1aand1b, the importance of update data, or the like. Seven time periods (1) to (7) estimated by the estimation processing unit11das unused time periods are shown in the bottom inFIG. 6. Note that, if the duration of a time period is shorter than that of a predetermined time period as the unused time period (3) shown inFIG. 6, for example, the estimation processing unit11dmay exclude such a time period from the unused time periods.

FIG. 7is a schematic diagram showing an example of transmission of update data. The update processing unit11aof the gateway10transmits update data in the time period determined by the estimation processing unit11das the unused time period. Accordingly, the gateway10can transmit update data without inhibiting normal data transmission and reception, using the unused time periods in which no ECUs2perform normal data transmission and reception via the communication lines1aand1b.

FIG. 8is a flowchart of an update data acquisition process, showing process steps performed by the gateway10according to this embodiment. Note that, although a configuration is adopted in this example in which, if the IG switch4of the vehicle1is changed from OFF to ON, the gateway10queries the server device9whether or not programs or data of the ECUs2need updating, this configuration is an example, and an inquiry as to whether or not an update is necessary may be made at the other various timings. In the gateway10according to this embodiment, the update processing unit11aof the processing unit11determines whether or not the IG switch4of the vehicle1is changed from OFF to ON, based on the state of the IG signal acquired by the vehicle state information acquisition unit11e(step S1). If the IG switch4is not changed from OFF to ON (NO in step S1), that is, if the IG switch4is kept OFF, the update processing unit11awaits until the IG switch4is changed from OFF to ON.

If the IG switch4is changed from OFF to ON (YES in step S1), then the update processing unit11aqueries, using the wireless communication device3, the server device9whether or not programs or data stored in the ECUs2installed in the vehicle1need updating (step S2). The update processing unit11adetermines whether or not the response to this update inquiry has been received from the server device9via the wireless communication device3(step S3). If no update command has been received from the server device9(NO in step S3), the update processing unit11awaits until the response is received. Note that, if no response is obtained even if the update processing unit11awaits for a predetermined time, for example, the update processing unit11amay interrupt the process.

If the response has been received from the server device9(YES in step S3), the update processing unit11adetermines whether or not programs or data in the ECUs2need updating, based on the content of the received response (step S4). If no update is necessary (NO in step S4), then the update processing unit11aends processing. If an update is necessary (YES in step S4), then the update processing unit11acommunicates with the server device9using the wireless communication device3, and acquires update data from the server device9(step S5). The update processing unit11astores update data acquired from the server device9in the storage unit12(step S6), and ends processing.

FIG. 9is a flowchart of an in-vehicle communication monitoring process, showing process steps performed by the gateway10according to this embodiment. In the gateway10according to this embodiment, the communication monitoring processing unit11bof the processing unit11determines whether or not data is transmitted and received to/from the communication lines1aand1bconnected to the ECUs2that can be updated (step S11). If no data is transmitted or received to/from the communication lines1aand1b(NO in step S11), then the communication monitoring processing unit11bwaits until data is transmitted and received to/from the communication lines1aand1b.

If data is transmitted and received to/from the communication lines1aand1b(YES in step S11), then the communication monitoring processing unit11bacquires a transmission start timing (step S12) and acquires a transmission end timing (step S13) for data to be transmitted and received, and acquires an ID assigned to this data (step S14). Also, the vehicle state information acquisition unit11eof the processing unit11acquires the state of the vehicle1at this time (step S15). The start timing acquired in step S12, the end timing acquired in step S13, the ID of data acquired in step S14, and vehicle information acquired in step S15are provided to the distribution information generation processing unit11cof the processing unit11.

The distribution information generation processing unit11cretrieves information about the probability distribution stored in the storage unit12as the history information12b(step S16). At this time, the distribution information generation processing unit11cretrieves the vehicle information acquired in step S15, the ID acquired in step S14, and information about the probability distributions associated with the communication lines1aand1bvia which data is transmitted and received. The distribution information generation processing unit11cgenerates information about a new probability distribution by reflecting in the probability distribution that data is transmitted and received from the start timing acquired in step S12to the end timing acquired in step S13, based on the retrieved information about the probability distributions (step S17). The distribution information generation processing unit11cstores the generated information about the probability distribution in the storage unit12as the history information12b(step S18), and ends processing.

FIG. 10is a flowchart of an update process, showing process steps performed by the gateway10according to this embodiment. In the gateway10according to this embodiment, the update processing unit11aof the processing unit11determines whether it is the timing to update programs or data stored in the ECUs2, based on whether or not a predetermined condition is met, such as the acquisition of update data being complete, for example (step S31). If the timing of an update has not come (NO in step S31), the update processing unit11awaits until the update timing comes (step S31).

If the update timing has come (YES in step S31), the vehicle state information acquisition unit11eof the processing unit11acquires information about the state of the vehicle1(step S32). Then, the estimation processing unit11dof the processing unit11retrieves the information about the probability distribution stored in the storage unit12as the history information12b(step S33). At this time, the estimation processing unit11dretrieves the vehicle information acquired in step S32and the information about the probability distributions for all the IDs associated with the communication lines1aand1bconnected to the ECUs2to be updated. By combining the retrieved information about the probability distributions for all the IDs (step S34), the estimation processing unit11dobtains the distribution of the probability that data is transmitted and received on the communication lines1aand1bconnected to the ECUs2to be updated. The estimation processing unit11destimates the unused time periods of the communication lines1aand1bconnected to the ECUs2to be updated by comparing the probability distribution obtained in step S34with the predetermined threshold (step S35). At this time, the estimation processing unit11destimates, as an unused time period, a time period in which the probability that data is transmitted and received is less than a threshold.

The update processing unit11aoutputs, to the communication lines1aand1b, update data (transmission data obtained by splitting update data) in the unused time period estimated by the estimation processing unit11d, and transmits update data to the ECUs2to be updated, using the unused time periods in which no communication lines1aand1bare used (step S36). The update processing unit11adetermines whether or not the transmission of all the update data to be transmitted to the ECUs2to be updated is complete (step S37). If the transmission of all the update data is not complete (NO in step S37), then the update processing unit11areturns processing to step S36, and continues the transmission of the update data. If the transmission of all the update data is complete (YES in step S37), then the update processing unit11aends the update processes.

FIG. 11is a flowchart of an update process, showing process steps performed by the ECUs2according to this embodiment. The update information receiving unit21aof the processing unit21in the ECU2according to this embodiment determines whether or not update data has been received from the gateway10via the communication unit23(step S41). If no update data has been received (NO in step S41), the update information receiving unit21awaits until the update information receiving unit21areceives update data.

If update data has been received from the gateway10(YES in step S41), the update information receiving unit21astores the received update data in the storage unit22(step S42). At this time, the update information receiving unit21astores the received update data in an area that is different from the area in which the program22ais stored which is stored in the storage unit22and is executed by the processing unit21. The update information receiving unit21adetermines whether or not the reception of all the update data necessary for an update process is complete (step S43). If the reception of all the update data is not complete (NO in step S43), then the update information receiving unit21areturns processing to step S41, and continues the reception of the update data.

If the reception of all the update data is complete (YES in step S43), then the update processing unit21bof the processing unit21switches the program22aexecuted by the processing unit21(step S44). At this time, the update processing unit21bswitches the program22aexecuted by the processing unit21by switching the area of the storage unit22from which the processing unit21retrieves the program22a, from the area in which the previous program22ais stored to an area in which the update data is stored. After the program22ais switched, the processing unit21ends the update process.

SUMMARY

In the on-board update system100having the above-described configuration according to this embodiment, the gateway10installed in the vehicle1updates the programs22astored in the storage units22of the ECUs2by transmitting update data to the ECUs2via the communication lines1aand1bprovided in the vehicle1. The gateway10monitors data that is transmitted and received via the communication lines1aand1bconnected to the ECUs2, and stores history information12bregarding the timing of transmission and reception of data that is to be transmitted and received via the communication lines1aand1b. If the ECUs2are updated, the gateway10estimates an unused time period in which no data is transmitted or received via the communication lines1aand1b, based on the history information12bstored with regard to the communication lines1aand1bconnected to the ECUs2to be updated, and transmits update data in the estimated unused time period. Accordingly, the gateway10can transmit update data using the time period in which no normal communication is performed via the communication lines1aand1b. Thus, it is possible to prevent the transmission of update data from inhibiting normal communication, and also to shorten the time taken to complete the transmission of update data due to a time period in which the communication lines1aand1bare not used being effectively utilized.

Also, the gateway10generates information about a probability distribution of the timing when data is transmitted and received to/from the communication lines1aand1b, based on the timing when data has been actually transmitted and received to/from the communication lines1aand1b, and stores the generated information about the probability distribution in the storage unit12as the history information12b. Accordingly, the gateway10can accurately find out, based on the probability distribution, the usage statuses of the communication lines1aand1bin normal communication.

Also, the gateway10generates information about a probability distribution for each ID included in data that is transmitted and received, and stores the information as the history information12b. Accordingly, the gateway10can store information in which the spread of the probability distribution regarding data and the like that is transmitted in a fixed cycle is reduced, and can more accurately find out the usage statuses of the communication lines1aand1b.

Also, based on information about the probability distributions stored as the history information12b, the gateway10estimates, as the unused time period in which the communication lines1aand1bare not used, a time slot in which the probability that data is transmitted and received to/from the communication lines1aand1bis lower than a predetermined reference (threshold). Accordingly, the gateway10can transmit update data at the timing when the communication lines1aand1bare unlikely to be used, using information about the probability distributions stored as the history information12b.

Also, the gateway10acquires the state of the vehicle1, such as the ON and OFF states of the IG switch4, for example, and stores, as the history information12b, information about a probability distribution for each state of the vehicle1. Although, if the state of the vehicle1changes, the frequency and timing when the ECUs2transmit and receive data may change, for example, as a result of the gateway10storing the history information12bfor each state of the vehicle1, it is possible to estimate an unused time period suitable for the state of the vehicle.

Note that, although it is presumed that devices whose programs or data is to be updated are the ECUs2in the on-board update system100according to this embodiment, there is no limitation thereto, and a configuration may also be adopted in which programs or data regarding various on-board devices other than the ECUs2are updated. Also, although it is presumed that in the on-board update system100, a device for updating the ECUs2is the gateway10, there is no limitation thereto, and one of the ECUs2may be configured to acquire and transmit data for updating the other ECUs2, or various devices other than the gateway10and the ECUs2may be configured to perform an update process, for example. Also, although the gateway10is configured to communicate with the server device9using the wireless communication device3, there is no limitation thereto, and a configuration may also be adopted in which the gateway10has the function of wireless communication. Also, the probability distributions, threshold, unused time periods, and the like shown inFIGS. 4 to 7are examples, and there is no limitation thereto.

Variations

Also, the gateway10may not only transmit update data corresponding to the results of estimation of the unused time periods based on the history information12bstored in the storage unit12, but also transmit update data taking the other conditions into consideration. There are cases where, in the step of designing the vehicle1, it is known that there is a data non-transmission time period with a predetermined duration after data with a specific ID is transmitted, for example. In such a case, the gateway10can store the ID of this data and the duration of the data non-transmission time period thereafter, as exceptional conditions, in advance. The gateway10can retrieve the exceptional conditions when estimating unused time periods, and determine a time period corresponding to these conditions as the unused time periods of the communication lines1aand1b, regardless of the probability distributions.

In order for the gateway10to accurately perform an estimation process in the on-board update system100, information regarding the transmission and reception of data via the communication lines1aand1bneeds to be stored to some extent. Thus, there is a concern that the accuracy in the estimation process performed by the gateway10may be low before sufficient information is stored, such as the vehicle1immediately after the vehicle1is manufactured, or the vehicle1immediately after the vehicle1is sold, for example. In view of this, in the on-board update system100according to Embodiment 2, the server device9delivers, to the gateway10, initial information of the history information12bused by the gateway10to estimate the unused time periods of the communication lines1aand1b. Initial information delivered by the server device9may be pre-generated based on the results of simulation and the like in the step of designing the vehicle1, for example, may be history information that is stored in the other vehicle1and is acquired by the server device9, for example, or may be generated or acquired using the other methods. The gateway10that has received initial information from the server device9stores the received initial information in the storage unit12as the history information12b, and performs processes such as the generation of information about a probability distribution and the estimation of unused time periods based on this initial information.

Also, in the on-board update system100according to Embodiment 2, the history information12bgenerated by the gateway10is periodically transmitted to the server device9. The server device9that has received the history information12bfrom a plurality of the vehicles1can generate more accurate history information12bby combining a lot of history information12b. The server device9can deliver the generated history information12bto the vehicle1as the above-described initial information.

FIG. 12is a block diagram showing the configuration of the gateway10according to Embodiment 2. The gateway10according to Embodiment 2 is based on the gateway10according to Embodiment 1 shown inFIG. 2, and is further provided with, as software-like functional blocks, an initial information acquisition unit11gand a history information transmission unit11hin the processing unit11. After the gateway10is activated, the initial information acquisition unit11gchecks whether the history information12bis stored in the storage unit12. If no history information12bis stored therein, the initial information acquisition unit11gcommunicates with the server device9using the wireless communication device3, and acquires the initial information of the history information12bfrom the server device9.

The history information transmission unit11hperiodically transmits the history information12bstored in the storage unit12to the server device9. The history information transmission unit11hmay transmit the history information12bto the server device9every time the IG switch4of the vehicle1is changed from OFF to ON, for example. Also, the history information transmission unit11hmay transmit the history information12bto the server device9in a predetermined cycle such as once a day, once a week, or once a month, for example. The timing when the history information transmission unit11htransmits the history information12bto the server device9may be any timing.

The history information12bcan be used only by the vehicles1having the same hardware configuration. The history information transmission unit11htransmits system configuration information of the vehicle1to the server device9together with the history information12b. System configuration information includes information about the hardware configuration such as the number and types of ECUs2connected to the communication lines1aand1bin which the history information12bis transmitted, and information about the software configuration such as the versions of the programs22athat are being executed by the ECUs2. Also, similarly to the case where initial information is acquired, the initial information acquisition unit11gtransmits system configuration information to the server device9, and the server device9transmits initial information suitable for system configuration information to the vehicle1.

FIG. 13is a block diagram showing the configuration of the server device9according to Embodiment 2. The server device9according to Embodiment 2 includes a processing unit (processor)91, a storage unit (storage)92, a communication unit (transceiver)93, and the like. The processing unit91is constituted by an arithmetic processing unit such as a CPU or an MPU. The processing unit91performs various arithmetic operations by retrieving and executing a server program92astored in the storage unit92. In this embodiment, the processing unit91delivers initial information of the history information12bto the vehicle1, and receives history information transmitted from the vehicle1and updates initial information, for example. Note that functional blocks regarding processing for issuing a response to an inquiry regarding whether or not the ECUs2need updating from the vehicle1, processing for delivering update data to the vehicle1, and the like are not shown. The server device9for delivering initial information and the server device9for delivering update data are not necessarily a single device, and these processes may be distributed to and executed by different server devices9.

The storage unit92is constituted by a large-capacity storage device such as a hard disk drive. The storage unit92stores various programs executed by the processing unit91, and various data necessary for processing performed by the processing unit91. In Embodiment 2, the storage unit92stores the server program92aexecuted by the processing unit91, and is provided with an initial information DB (database)92bin which data necessary for the execution of this server program92ais stored. Note that the server device9may retrieve the server program92arecorded in a recording medium102such as a memory card or an optical disk and store the server program92ain the storage unit92, or the server device9may acquire the server program92adelivered by another server device, through communication, for example. The server program92amay also be delivered via a network, or may be recorded in the recording medium102and provided. Initial information to be delivered to the vehicle1is stored in the initial information DB92bin association with the system configuration information about the vehicle1.

The communication unit93communicates with the wireless communication device3installed in the vehicle1via a network such as the Internet, a wireless LAN, or a mobile telephone communication network. The communication unit93transmits data provided by the processing unit91to the vehicle1, and provides the data received from the vehicle1to the processing unit91.

Also, the processing unit91executes the server program92astored in the storage unit92, and thereby enables software-like functional blocks such as an initial information delivering unit91a, a history information receiving unit91b, and initial information update unit91c. If an initial information acquisition request is received from the vehicle1, the initial information delivering unit91aretrieves, from the initial information DB92bof the storage unit92, initial information suitable for the system configuration information of the vehicle1to be provided together with this request, and transmits the retrieved initial information to the vehicle1that has made the request.

The history information receiving unit91breceives the history information12bthat is periodically transmitted by the vehicle1, via the communication unit93, and provides the received history information12bto the initial information update unit91c. At this time, the history information receiving unit91breceives system configuration information transmitted by the vehicle1together with the history information12b, and provides the system configuration information to the initial information update unit91ctogether with the history information12b.

The initial information update unit91cupdates initial information stored in the initial information DB92bbased on the history information12breceived from the vehicle1. The initial information update unit91cretrieves the corresponding initial information from the initial information DB92bbased on the system configuration information received together with the history information12b. The initial information update unit91cgenerates information about a new probability distribution by combining the probability distribution for the retrieved initial information and the probability distribution for the received history information12b, and stores the generated probability distribution as new initial information in the initial information DB92b, and thereby updates the initial information.

FIG. 14is a flowchart of an initial information acquisition process, showing process steps performed by the gateway10according to Embodiment 2. In the gateway10according to Embodiment 2, after the gateway10is activated, the initial information acquisition unit11gof the processing unit11determines whether or not history information12bis stored in the storage unit12(step S61). If the history information12bis stored (YES in step S61), then the initial information acquisition unit11gends processing without acquiring initial information.

If no history information12bis stored in the storage unit12(NO in step S61), then the initial information acquisition unit11gcollects information about the types of ECUs2connected to the communication lines1aand1band the versions of the programs22a, and generates system configuration information (step S62). The initial information acquisition unit11gtransmits an initial information transmission request to the server device9using the wireless communication device3, together with the generated system configuration information (step S63).

The initial information acquisition unit11gdetermines whether or not initial information transmitted from the server device9has been received as the response to the transmission request (step S64). If no initial information has been received (NO in step S64), then the initial information acquisition unit11gwaits until the initial information acquisition unit11greceives initial information from the server device9. If initial information has been received (YES in step S64), then the initial information acquisition unit11gstores the received initial information in the storage unit12as the history information12b(step S65), and ends processing.

FIG. 15is a flowchart of an initial information delivering process, showing process steps performed by the server device9according to Embodiment 2. In the server device9according to Embodiment 2, the initial information delivering unit91aof the processing unit91determines whether or not an initial information transmission request has been received from the gateway10of the vehicle1(step S71). If no initial information transmission request has been received (NO in step S71), then the initial information delivering unit91awaits until the initial information delivering unit91areceives a transmission request.

If an initial information transmission request has been received (YES in S71), then the initial information delivering unit91aretrieves, from the initial information DB92bof the storage unit92, initial information corresponding to the system configuration information received together with the transmission request (step S72). The initial information delivering unit91atransmits the retrieved initial information to the vehicle1that has made the request (step S73), and ends processing.

FIG. 16is a flowchart of a history information transmission process, showing process steps performed by the gateway10according to Embodiment 2. In the gateway10according to Embodiment 2, if the IG switch4is changed from OFF to ON, or if a predetermined cycle has passed since the previous transmission, for example, the history information transmission unit11hof the processing unit11determines whether or not the timing to transmit the history information12bhas come (step S81). If the timing of the transmission of the history information12bhas not come (NO in step S81), the history information transmission unit11hwaits until the transmission timing comes.

If the transmission timing has come (YES in step S81), then the history information transmission unit11hcollects information about the types of ECUs2connected to the communication lines1aand1band the versions of the programs22a, and generates system configuration information (step S82). Also, the history information transmission unit11hretrieves the history information12bstored in the storage unit12(step S83). The history information transmission unit11hadds the system configuration information generated in step S82to the history information12bretrieved in step S83, transmits the history information12bto the server device9(step S84), and ends processing.

FIG. 17is a flowchart of an initial information update process, showing process steps performed by the server device9according to Embodiment 2. In the server device9according to Embodiment 2, the history information receiving unit91bof the processing unit91determines whether or not the history information12btransmitted from the gateway10of the vehicle1has been received (step S91). If no history information12bhas been received (NO in step S91), then the history information receiving unit91bwaits until the history information receiving unit91breceives the history information12b.

If the history information12bhas been received from the vehicle1(YES in S91), then the initial information update unit91cretrieves, from the initial information DB92bof the storage unit92, initial information based on the system configuration information received together with the history information12b(step S92). The initial information update unit91cgenerates information about a new probability distribution by combining the probability distribution received from the vehicle1as the history information12b, and the probability distribution retrieved in step S92as initial information (step S93). The initial information update unit91cupdates initial information by storing, as new initial information, the generated information about the probability distribution in the initial information DB92bof the storage unit92(step S94), and ends processing.

In the on-board update system100having the above-described configuration according to Embodiment 2, the gateway10acquires initial information about a probability distribution used in an estimation process, from the server device9provided outside the vehicle1, updates the acquired initial information, and generates information about a new probability distribution. Accordingly, even if an update process needs to be performed immediately after the vehicle1is manufactured, or immediately after the vehicle1is sold, for example, and before sufficient history information12bis stored, the gateway10can determine the timing of the transmission of update data based on the initial information.

Also, the gateway10according to Embodiment 2 transmits the history information12bstored in the storage unit12to the server device9. Accordingly, the server device9can generate more accurate initial information based on the history information12bobtained from a plurality of vehicles1, for example, and can deliver the more accurate initial information.

Note that, although the gateway10is configured to acquire initial information from the server device9in the on-board update system100according to Embodiment 2, there is no limitation thereto, and a configuration may also be adopted in which initial information is stored as the history information12bin the storage unit12of the gateway10in the process of manufacturing the vehicle1, or in the process of manufacturing the gateway10, for example. Also, although the gateway10is configured to acquire initial information from the server device9if no history information12bis stored in the storage unit12, there is no limitation thereto, and a configuration may also be adopted in which initial information is acquired from the server device9according to the other conditions. If the timing of data transmission and reception in the vehicle1may be changed by updating the ECUs2, for example, the gateway10may discard the history information12bthat is stored before the update process, and acquire initial information corresponding to a new system configuration from the server device9.

The other configurations in the on-board update system100according to Embodiment 2 are similar to those in the on-board update system100according to Embodiment 1. Hence, like components are given like reference numerals to omit their detailed description.

The embodiments that were disclosed here are to be considered in all aspects to be illustrative and not restrictive. The scope of the present disclosure is defined by the claims and not by the above description, and all changes that come within the meaning and range of equivalency of the claims are intended to be embraced therein.