WO2017221436A1 - 中継装置、中継方法及びコンピュータプログラム - Google Patents

中継装置、中継方法及びコンピュータプログラム Download PDF

Info

Publication number
WO2017221436A1
WO2017221436A1 PCT/JP2016/080061 JP2016080061W WO2017221436A1 WO 2017221436 A1 WO2017221436 A1 WO 2017221436A1 JP 2016080061 W JP2016080061 W JP 2016080061W WO 2017221436 A1 WO2017221436 A1 WO 2017221436A1
Authority
WO
WIPO (PCT)
Prior art keywords
vehicle
update program
communication
communication unit
transfer source
Prior art date
Application number
PCT/JP2016/080061
Other languages
English (en)
French (fr)
Inventor
竜介 関
Original Assignee
住友電気工業株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 住友電気工業株式会社 filed Critical 住友電気工業株式会社
Publication of WO2017221436A1 publication Critical patent/WO2017221436A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/24Radio transmission systems, i.e. using radiation field for communication between two or more posts
    • H04B7/26Radio transmission systems, i.e. using radiation field for communication between two or more posts at least one of which is mobile

Definitions

  • the present invention relates to a relay device, a relay method, and a computer program.
  • This application claims priority based on Japanese Patent Application No. 2016-124109 filed on June 23, 2016, and incorporates all the description content described in the above Japanese application.
  • a gateway such as an in-vehicle communication device receives an update program from a management server, and an ECU (Electronic Control Unit) rewrites the control program from an old version to a new version using the received update program. Accordingly, a technique for remotely executing program update for each ECU of a vehicle by wireless communication is disclosed.
  • a relay device is a device that relays an update program of an in-vehicle control device to the in-vehicle control device, and communicates with a server of the update program via a mobile communication network.
  • a relay device is a device that relays an update program of an in-vehicle control device to the in-vehicle control device, and is communication via a mobile communication network with a server of the update program.
  • a wireless communication unit that performs first communication and second communication that is vehicle-to-vehicle communication with another vehicle, an in-vehicle communication unit that transmits the update program received by the wireless communication unit to the in-vehicle control device, and between vehicles
  • a processing unit that controls the wireless communication unit to receive the update program from the other vehicle when there is the other vehicle that can be selected as a transfer source of the update program through communication.
  • the present invention can be realized not only as a relay device including such a characteristic processing unit, but also as a program for causing a computer to execute the steps of such characteristic processing.
  • the present invention can be realized as a semiconductor integrated circuit that realizes part or all of the relay device, or can be realized as a system including the relay device.
  • FIG. 1 is an overall configuration diagram of a program update system according to an embodiment of the present invention. It is a block diagram which shows the internal structure of a gateway. It is a block diagram which shows the internal structure of ECU. It is a block diagram which shows the internal structure of a management server. It is a flowchart which shows an example of the download process of an update program. It is explanatory drawing which shows an example of the suitability determination of the transfer source of an update program. It is explanatory drawing which shows an example of the selection conditions of a transfer source. It is a sequence diagram which shows an example of the communication procedure regarding an update program. It is a sequence diagram which shows another example of the communication procedure regarding an update program.
  • an information source that holds the update program needs to communicate with an in-vehicle communication device of each vehicle via a mobile communication network, for example.
  • a mobile communication network for example.
  • download requests from a large number of vehicles are generated all at once, the processing load on the server may become excessive. This problem becomes more prominent as the number of vehicles managed by the server increases.
  • the present disclosure aims to efficiently transmit an update program while suppressing the processing load on the server.
  • the processing unit controls the first communication unit to receive the update program from the server when there is no other vehicle that can be selected as the transfer source. It is preferable to do. In this way, even when there is no other vehicle that can be selected as the transfer source of the update program by inter-vehicle communication, the host vehicle can receive the update program by communication with the server via the mobile communication network. become.
  • the processing unit determines whether or not the other vehicle can be selected as the transfer source according to a traveling state of the other vehicle. The reason is that, depending on the traveling state of the other vehicle, the transfer of the update program from the other vehicle may not be completed to the end.
  • the processing unit transfers at least one of the other vehicle that is waiting for a signal, the other vehicle that is parked, and the other vehicle that is running in a row with the host vehicle to the transfer source. It is preferable to determine that it can be selected. The reason is that it is highly possible that other vehicles in these running states can continue inter-vehicle communication with the own vehicle until the transfer of the update program is completed.
  • the said process part determines with the said other vehicle in which the advancing direction differs from the own vehicle being unselectable as said transfer origin. The reason is that it is highly possible that the other vehicle in the above running state cannot continue the inter-vehicle communication with the own vehicle until the transfer of the update program is completed.
  • the processing unit determines whether the other vehicle can be selected as the transfer source according to the transmission time of the update program by inter-vehicle communication. preferable. The reason is that it is possible to more accurately determine whether or not another vehicle should be selected as a transfer source in consideration of the amount of transmission time of the update program.
  • the processing unit determines whether the other vehicle can be selected as the transfer source according to the estimated connection time of inter-vehicle communication with the other vehicle. It is preferable. The reason is that it is possible to more accurately determine whether or not the other vehicle should be selected as the transfer source in consideration of the estimated connection time of the inter-vehicle communication with the other vehicle.
  • the processing unit can select, as the transfer source, the other vehicle whose estimated connection time of inter-vehicle communication with the other vehicle is longer than the transmission time of the update program by inter-vehicle communication. What is necessary is just to determine that it is. The reason is that if the estimated connection time is longer than the transmission time, it is estimated that the inter-vehicle communication with the host vehicle can be continued until the transfer of the update program is completed.
  • the relay device further includes a storage unit that stores the update program received by the first or second communication unit, and the processing unit uses the update program by the in-vehicle control device. It is preferable to hold the update program in the storage unit for a predetermined period after the update of the control program. In this way, when the other vehicle is requested to transmit the update program, the host vehicle can play the role of the transfer source of the update program.
  • the relay method of the present embodiment relates to a relay method executed by the relay devices (1) to (9) described above. Therefore, the relay method of this embodiment has the same effects as the relay devices (1) to (9) described above.
  • the computer program of the present embodiment relates to a computer program for causing a computer to function as the processing unit of the above-described relay devices (1) to (9). Therefore, the computer program of the present embodiment has the same operational effects as the above-described relay devices (1) to (9).
  • Another relay device of the present embodiment is a device that relays the update program of the in-vehicle control device to the in-vehicle control device, and is a communication via a mobile communication network with the server of the update program.
  • a wireless communication unit that performs one communication and second communication that is vehicle-to-vehicle communication with another vehicle, an in-vehicle communication unit that transmits the update program received by the wireless communication unit to the in-vehicle control device, and inter-vehicle communication
  • a processing unit that controls the wireless communication unit to receive the update program from the other vehicle when there is the other vehicle that can be selected as a transfer source of the update program.
  • the wireless communication unit when there is another vehicle that can be selected as a transfer source of the update program by inter-vehicle communication, the wireless communication unit is configured to receive the update program from the other vehicle. Therefore, the own vehicle can receive the update program not by the first communication with the server but by the second communication with another vehicle. For this reason, it is possible to efficiently transmit the update program while suppressing the processing load on the server.
  • the processing unit is configured to change the wireless communication unit so that the update program is received from the server when there is no other vehicle that can be selected as the transfer source. It is preferable to control. If it does in this way, even if the other vehicle which can be selected as a transfer source of the update program by vehicle-to-vehicle communication does not exist, the own vehicle can receive the update program through the first communication with the server.
  • FIG. 1 is an overall configuration diagram of a program update system according to an embodiment of the present invention.
  • the program update system of this embodiment includes a vehicle 1, a management server 5, and a DL (download) server 6 that can communicate via a wide area communication network 2.
  • the management server 5 and the DL server 6 are operated by, for example, a car manufacturer of the vehicle 1 and can communicate with a large number of vehicles 1 owned by a user who is registered as a member in advance.
  • the wide area communication network 2 includes a mobile communication network (cellular phone network).
  • the mobile communication network is, for example, LTE (Long Term Term Evolution) which is an extended version (3.9 G) of the third generation (3G) or WiMAX (Worldwide interoperability for Microwave Access), LTE- which is the fourth generation (4G). It consists of a mobile phone network that complies with communication standards such as Advanced, WiMAX2, or third generation (3G).
  • the first communication unit 15 includes a wireless communication device that wirelessly communicates with a base station (not shown) of the wide area communication network 2.
  • the first communication unit 15 is connected to the gateway 10 by an in-vehicle communication line.
  • the gateway 10 transmits the information received by the first communication unit 15 from the external devices such as the management server 5 and the DL server 6 to the ECU 30 through the wide area communication network 2.
  • the gateway 10 transmits information acquired from the ECU 30 to the first communication unit 15, and the first communication unit 15 transmits the information to an external device such as the management server 5.
  • the 1st communication part 15 mounted in the vehicle apparatuses, such as a mobile phone which a user owns, a smart phone, a tablet-type terminal, a notebook PC (Personal Computer), are considered, for example.
  • a mobile phone which a user owns a smart phone, a tablet-type terminal, a notebook PC (Personal Computer)
  • FIG. 1 the case where the gateway 10 communicates with an external device via the first communication unit 15 is illustrated, but when the gateway 10 has a portable communication function, the gateway 10 itself is a management server 5 or the like. It is good also as a structure which performs radio
  • the second communication unit 16 is composed of a wireless communication device that performs vehicle-to-vehicle communication. Conform to the standard. Therefore, the second communication unit 16 can receive the communication packet including the probe car data transmitted from the other vehicle 1, and can transmit the communication packet including the probe car data of the own vehicle to the other vehicle 2 by broadcasting. is there.
  • the second communication unit 16 is connected to the gateway 10 by an in-vehicle communication line.
  • the gateway 10 can transmit information such as probe car data received by the second communication unit 16 from the other vehicle 1 through inter-vehicle communication to the ECU 30.
  • the gateway 10 transmits information such as probe car data collected from the ECU 30 to the second communication unit 16.
  • the second communication unit 16 transmits the information to the other vehicle 1.
  • the data transmitted / received by the inter-vehicle communication includes an “update program” described later.
  • the probe car data transmitted and received by the inter-vehicle communication includes various vehicle information such as a vehicle ID, a data generation time, a vehicle position, a vehicle speed, and a vehicle direction. For this reason, the ECU 30 of the vehicle 1 detects an encounter collision or the like based on the vehicle position of the other vehicle included in the received probe car data and the vehicle position of the own vehicle obtained by a GPS (Global Positioning System) receiver. An ECU that performs safe driving control for notifying the passenger of the risk in advance is included.
  • GPS Global Positioning System
  • the gateway 10 transmits information such as probe car data collected from the ECU 30 to the first communication unit 15, and the first communication unit 15 transmits the information to the management server 5.
  • the management server 5 generates traffic information such as link travel time and traffic jam information on the basis of probe car data collected from a large number of vehicles registered as members, and the generated traffic information is transmitted to each registered member vehicle 1. Can be provided.
  • FIG. 1 a case where the gateway 10 performs vehicle-to-vehicle communication via the second communication unit 16 is illustrated, but when the gateway 10 has a vehicle-to-vehicle communication function, the gateway 10 itself is connected to the other vehicle 1. It is good also as a structure which performs vehicle-to-vehicle communication.
  • the management server 5 and the DL server 6 are configured as separate servers, but the servers 5 and 6 may be configured as a single server device.
  • FIG. 2 is a block diagram showing the internal configuration of the gateway 10.
  • the gateway 10 includes a CPU (Central Processing Unit) 11, a RAM (Random Access Memory) 12, a storage unit 13, an in-vehicle communication unit 14, and the like.
  • the gateway 10 is connected to the wireless communication units 15 and 16 via the in-vehicle communication line, but these may be configured by a single device.
  • the CPU 11 reads out one or more computer programs stored in the storage unit 13 to the RAM 12 and executes them, thereby causing the gateway 10 and the first and second communication units 15 and 16 to relay various information including an update program.
  • the CPU 11 can execute a plurality of programs in parallel, for example, by switching and executing a plurality of programs in a time division manner.
  • the CPU 11 may represent a plurality of CPU groups. In this case, the functions realized by the CPU 11 are realized by the cooperation of a plurality of CPU groups.
  • the RAM 12 is composed of a memory element such as SRAM (Static RAM) or DRAM (Dynamic RAM), and temporarily stores programs executed by the CPU 11, data necessary for execution, and the like.
  • the computer program executed by the CPU 11 can be transferred while being recorded on a known recording medium such as a CD-ROM or DVD-ROM, or can be transferred by information transmission (downloading) from a computer device such as a server computer. You can also. The same applies to a computer program executed by a CPU 31 (see FIG. 3) of an ECU 30 described later and a computer program executed by a CPU 51 (see FIG. 4) of a management server 5 described later.
  • the storage unit 13 includes a nonvolatile memory element such as a flash memory or an EEPROM (Electrically Erasable Programmable Read Only Memory).
  • the storage unit 13 has a storage area for storing programs executed by the CPU 11, data necessary for execution, and the like.
  • the storage unit 13 also stores an update program of each ECU 30 received from the DL server 6 or another vehicle 1 or the like.
  • the first communication unit 15 includes a wireless communication device including an antenna and a communication circuit that performs transmission and reception of a wireless signal from the antenna.
  • the first communication unit 15 is capable of wireless communication with an external device by being connected to the wide area communication network 2 including a mobile phone network.
  • the first communication unit 15 transmits information given from the CPU 11 to an external device such as the management server 5 via the wide area communication network 2 including a base station (not shown), and gives the information received from the external device to the CPU 11. .
  • the 2nd communication part 16 consists of a radio
  • the second communication unit 16 can perform wireless communication with other vehicles 1 (vehicle-to-vehicle communication), wireless communication with roadside communication devices (road-to-vehicle communication), and the like.
  • the second communication unit 16 transmits the information given from the CPU 11 to an external device such as another vehicle 1 or a roadside communication device, and gives the CPU 11 the information received from the external device.
  • a wired communication unit that functions as a relay device in the vehicle 1 may be employed.
  • the wired communication unit has a connector to which a communication cable conforming to a standard such as USB (Universal Serial Bus) or RS232C is connected, and performs wired communication with another communication apparatus connected via the communication cable.
  • a communication cable conforming to a standard such as USB (Universal Serial Bus) or RS232C is connected
  • RS232C Universal Serial Bus
  • the outside of the vehicle depends on the communication path of the outside device ⁇ another communication device ⁇ the wired communication unit ⁇ the gateway 10.
  • the apparatus and the gateway 10 can communicate with each other.
  • FIG. 3 is a block diagram showing an internal configuration of the ECU 30.
  • the ECU 30 includes a CPU 31, a RAM 32, a storage unit 33, a communication unit 34, and the like.
  • the ECU 30 is an in-vehicle control device that individually controls target devices mounted on the vehicle 1. Examples of the ECU 30 include an engine control ECU, a steering control ECU, a door lock control ECU, and a safe driving control ECU.
  • the CPU 31 controls one or more computer programs stored in advance in the storage unit 33 by reading them into the RAM 32 and executing them, thereby controlling the operation of the target device that the CPU 31 is responsible for.
  • the CPU 31 may also represent a plurality of CPU groups, and the control by the CPU 31 may be control by cooperation of a plurality of CPU groups.
  • the RAM 32 is composed of a memory element such as SRAM or DRAM, and temporarily stores programs executed by the CPU 31, data necessary for execution, and the like.
  • the storage unit 33 is configured by a nonvolatile memory element such as a flash memory or an EEPROM, or a magnetic storage device such as a hard disk.
  • the information stored in the storage unit 33 includes, for example, a computer program (hereinafter referred to as “control program”) for causing the CPU 31 to execute information processing for controlling a target device that is a control target in the vehicle.
  • the communication unit 34 is connected to the gateway 10 via an in-vehicle communication line disposed in the vehicle 1.
  • the communication unit 34 communicates with the gateway 10 according to a standard such as CAN, Ethernet, or MOST.
  • the communication unit 34 transmits the information given from the CPU 31 to the gateway 10 and gives the information received from the gateway 10 to the CPU 31.
  • the communication unit 34 may communicate according to other communication standards used for the in-vehicle network, in addition to the above communication standards.
  • the CPU 31 of the ECU 30 includes an activation unit 35 that switches the control mode by the CPU 31 to either “normal mode” or “reprogramming mode” (hereinafter also referred to as “repro mode”).
  • the normal mode is a control mode in which the CPU 31 of the ECU 30 executes an original control on the target device (for example, engine control on the fuel engine, door lock control on the door lock motor, etc.).
  • the reprogramming mode is a control mode in which a control program used for controlling the target device is updated. That is, the reprogramming mode is a control mode in which the CPU 31 erases or rewrites the control program in the ROM area of the storage unit 33. Only in this control mode, the CPU 31 can update the control program stored in the ROM area of the storage unit 33 to a new version.
  • the activation unit 35 When the CPU 31 writes the new version of the control program in the storage unit 33 in the repro mode, the activation unit 35 once restarts (resets) the ECU 30 and executes the verify process on the storage area in which the new version of the control program is written. .
  • the activation unit 35 causes the CPU 31 to operate according to the updated control program after the above-described verification processing is completed.
  • FIG. 4 is a block diagram showing the internal configuration of the management server 5.
  • the management server 5 includes a CPU 51, a ROM 52, a RAM 53, a storage unit 54, a communication unit 55, and the like.
  • the CPU 51 reads out one or more computer programs stored in advance in the ROM 52 to the RAM 53 and executes them, thereby controlling the operation of each hardware and causing the management server 5 to function as an external device that can communicate with the gateway 10.
  • the CPU 51 may also represent a plurality of CPU groups, and the functions realized by the CPU 51 may be realized by the cooperation of a plurality of CPU groups.
  • the RAM 53 is configured by a memory element such as SRAM or DRAM, and temporarily stores programs executed by the CPU 51 and data necessary for execution.
  • the information stored in the storage unit 54 includes a management table (not shown) for managing personal information of a registered member user, version information of a control program executed by the ECU 30 mounted on the vehicle 1, and the like. included.
  • the management table is, for example, a reference table that summarizes the vehicle identification number (VIN) of the vehicle 1 owned by the registered member, the type of ECU 30 for each vehicle identification number, and the history of version information of the control program executed by each ECU 30. It becomes more.
  • the DL server 6 stores an update program for each version of the control program executed by the ECU 30 for all types of ECUs 30.
  • the update program held by the DL server 6 may be the latest version of the control program installed in the ECU 30 or a difference program between the old version control program and the new version control program.
  • the gateway 10 of the vehicle 1 sends a communication packet (confirmation message) including the version information of the control program being used by the ECU 30 mounted on the host vehicle and the vehicle identification number of the host vehicle to the management server 5 every predetermined time. Sending.
  • the CPU 51 of the management server 5 determines whether or not the version information of the control program included in the confirmation message received from the gateway 10 is the latest version.
  • the CPU 51 of the management server 5 transmits a response message that does not need to be updated to the gateway 10.
  • the CPU 51 of the management server 5 transmits an update-needed response message to the gateway 10.
  • the response message that needs to be updated includes the URL (Uniform Resource Locator) of the DL server 6 that is the storage destination of the update program. Accordingly, the gateway 10 that has received the update-needed response message downloads a download request including the update program type and version information of the ECU 30 to be reprogrammed by the communication packet addressed to the URL notified from the management server 5. The server 6 is ready for transmission.
  • URL Uniform Resource Locator
  • FIG. 5 is a flowchart showing an example of update program download processing executed by the CPU 11 of the gateway 10.
  • the CPU 11 of the gateway 10 first inquires of the management server 5 about the presence or absence of an update program (step ST1). This process is performed by transmitting a confirmation message including the above-described version information and the like to the management server 5.
  • the CPU 11 determines from the response message from the management server 5 whether there is an update program necessary for the host vehicle (step ST2). Specifically, when the CPU 11 receives a response message that does not require updating from the management server 5, the CPU 11 determines that there is no update program necessary for the host vehicle, and when the CPU 11 receives a response message that requires updating from the management server 5. Determines that there is an update program necessary for the host vehicle.
  • step ST3 Details of the determination in step ST3 (hereinafter also referred to as “transfer source suitability determination”) will be described later with reference to FIG.
  • step ST3 If the determination result in step ST3 is affirmative, the CPU 11 downloads an update program through inter-vehicle communication with another vehicle executed by the second communication unit 16 (step ST4), and stores the received update program in the storage unit 13 is stored. If the determination result in step ST3 is negative, the CPU 11 downloads the update program by communication with the DL server 6 via the wide area communication network 2 executed by the first communication unit 15 (step ST5) and receives it. The updated program is stored in the storage unit 13.
  • FIG. 6 is an explanatory diagram showing an example of determining whether or not the transfer source of the update program is appropriate.
  • the vehicle 1 with the symbol X is a “host vehicle” that requires an update program
  • the vehicle 1 with the symbols A to C is a distance that allows vehicle-to-vehicle communication with the host vehicle X. It is a remote "other vehicle”.
  • the main communication control is the vehicle X and the vehicles A to C, but the actual communication control is executed by the CPU 11 of the gateway 10 of each vehicle 1.
  • the transfer source existence determination includes “update program holding confirmation” (FIG. 6A) and “transfer source selection process” (FIG. 6B).
  • the update program holding confirmation in FIG. 6A is a process of checking whether or not the other vehicles A to C hold the update program based on a response message corresponding to the inquiry message.
  • the transfer source selection process in FIG. 6B is a process of selecting another vehicle that requests transfer of the update program from a plurality of other vehicles A to C that communicate with the host vehicle X.
  • the vehicle X broadcasts an “inquiry message” of the update program by inter-vehicle communication.
  • the inquiry message includes type information and version information of the update program of the ECU 30 required by the host vehicle X.
  • the vehicles A to C that have received the inquiry message determine whether or not the storage unit 13 holds the update program of the type and version included in the message, and the response message is sent to the vehicle X only if it is held. Send.
  • the vehicle X can determine which of the surrounding vehicles A to C holds the necessary update program based on whether or not a response message corresponding to the inquiry message is received. For example, in the example of FIG. 6A, the vehicle A and the vehicle B return the response message, and the vehicle C does not return the response message, so that the vehicle X holds that the vehicle A and the vehicle B hold the update program. judge.
  • step ST3 of FIG. 5 when the reply of the response message is zero, the host vehicle X determines that there is no other vehicle that holds the necessary update program. In this case, since there is no other vehicle A to C that can transfer the update program by inter-vehicle communication, the determination result in step ST3 of FIG. 5 is negative.
  • the vehicle X selects the other vehicle (vehicle A in the illustrated example) that is a transfer source satisfying a predetermined selection condition from the vehicles A and B holding the update program, and the selected vehicle A request message for the update program is transmitted to A.
  • vehicle A that has received the request message transmits an update program held by itself to the vehicle X.
  • the vehicle X transmits a download completion notification to the vehicle A.
  • the vehicle X selects, for example, one other vehicle that is closest to the host vehicle X, or randomly selects one other vehicle, One other vehicle that transmits the request message is identified.
  • a request message is transmitted to all of a plurality of other vehicles that satisfy a predetermined selection condition, and an update program received from each other vehicle is stored individually, the possibility of completion of reception of the update program can be increased. it can.
  • the transfer source selection process (FIG. 6B) is executed first, and an inquiry message is multicasted to other vehicles that satisfy a predetermined selection condition, thereby confirming that the update program is retained. (FIG. 6A) may be executed later.
  • FIG. 7 is an explanatory diagram of an example of transfer source selection conditions.
  • the vehicle X selects another vehicle to be adopted as a transfer source according to the traveling state of the other vehicles A and B.
  • the transmission time of the update program required by the vehicle X is, for example, 20 seconds.
  • the transmission time of the update program of the ECU 30 is about several tens of seconds to several minutes.
  • the vehicle X is the transfer source of the update program for the vehicle A that is stopped within a predetermined distance (for example, 50 m) in the same traveling direction as the own vehicle. Is determined to be selectable. The reason is that the vehicle A in the above running state is presumed to stop before the intersection like the vehicle X, and therefore waiting for a signal to transfer the update program from the vehicle A with a transmission time of 20 seconds. This is because there is a high possibility of completion.
  • a predetermined distance for example, 50 m
  • the vehicle X is removed from the transfer source of the update program for the vehicle B whose traveling direction is opposite to that of the own vehicle. That is, it is determined that the vehicle B cannot be selected as the transfer source of the update program.
  • the reason is that the vehicle B in the above running state is presumed to be an oncoming vehicle that passes by the host vehicle X, and therefore the transfer from the vehicle B of the update program with a transmission time of 20 seconds may not be completed while waiting for a signal. Because it is expensive.
  • the vehicle B excluded from the transfer source is not limited to the other vehicle in the traveling direction opposite to the own vehicle X, and may be another vehicle in the traveling direction that intersects the traveling direction of the own vehicle X by approximately 90 degrees. Since the vehicle B in the above traveling state is estimated to be another vehicle passing on the cross road in the traveling direction of the own vehicle X, the transfer from the vehicle B of the update program with a transmission time of 20 seconds is completed while waiting for a signal. This is because there is a high possibility that this is not possible.
  • the vehicle X may determine that the vehicle A can be selected as the transfer source of the update program.
  • the reason is that the parked vehicle A is estimated to stop at a certain position for a long time, so if the vehicle X is parked in the vicinity thereof, an update program with a transmission time of 20 seconds is transferred from the other vehicle A. This is because there is a high possibility that the process can be completed.
  • Whether or not the vehicle A is parked can be determined from the operation information of the parking brake included in the probe car data.
  • the vehicle A that is executing CACC can be selected as the transfer source of the update program. May be determined. The reason is that the vehicle A running in a row with the host vehicle continues the inter-vehicle communication with the host vehicle for a long time with a constant inter-vehicle distance, and thus completes transfer of the update program from the vehicle A with a transmission time of 20 seconds. This is because it is highly possible.
  • the vehicle X may determine whether or not it can be selected as another vehicle A, B transfer source according to the transmission time of the update program by inter-vehicle communication. The reason is that it is possible to more accurately determine whether or not the other vehicles A and B should be selected as the transfer source in consideration of the amount of transmission time of the update program.
  • the vehicle X may determine whether it can be selected as the other vehicle A, B transfer source according to the estimated connection time of the inter-vehicle communication with the other vehicles A, B. The reason is that it is possible to more accurately determine whether or not the other vehicles A and B should be selected as the transfer source in consideration of the estimated connection time of the inter-vehicle communication with the other vehicles A and B.
  • the estimated connection time of the inter-vehicle communication with the vehicle B is the communicable distance (for example, 100 m) of the inter-vehicle communication, the speed difference between the vehicle speed of the vehicle B and the vehicle speed included in the probe car data (the vehicle B And the relative speed of the vehicle X).
  • the vehicle X may select the vehicle B as the transfer source of the update program when the calculated estimated connection time is longer than the required update program transmission time.
  • the transfer source of the update program can be selected only from the traveling state of the other vehicle B. Compared with the case of determining whether or not it is possible, the transfer source of the update program can be selected more accurately.
  • FIG. 8 is a sequence diagram illustrating an example of a communication procedure related to an update program executed in the program update system.
  • “ ⁇ ” in FIG. 8 means an update program.
  • the vehicle X receives the update program ⁇ from the other vehicle A.
  • the main communication control is the vehicle X and the vehicles A to C, but the actual communication control is executed by the CPU 11 of the gateway 10 of each vehicle 1.
  • the vehicle X transmits a confirmation message including the current version information of the control program related to the ECU 30 of the host vehicle and the vehicle identification number (VIN) of the host vehicle to the management server 5 (step S1). ).
  • the management server 5 determines whether the version information of the control program notified from the vehicle X is the latest version based on the version information notified from the vehicle X and the vehicle identification number, and a response including the determination result Send a message to vehicle X.
  • the management server 5 transmits a response message including the storage destination URL of the update program ⁇ of the ECU 30 to the vehicle X (step S2).
  • the vehicle X broadcasts an inquiry message to surrounding vehicles A to C by inter-vehicle communication (step S3).
  • step S4 it is assumed that the vehicles A and B have returned a response message (step S4), and it is assumed that the vehicle A is selected as the transfer source of the update program ⁇ by the transfer source selection process (FIG. 6B) described above ( Step S5).
  • the vehicle X transmits a request message for the update program ⁇ to the vehicle A (step S6).
  • the vehicle A that has received the request message transfers the update program ⁇ held by itself to the vehicle X (step S7).
  • the vehicle X acquires the update program ⁇ for the ECU 30 from the vehicle A.
  • the vehicle X stores the received update program ⁇ in the storage unit 13.
  • the vehicle X notifies the management server 5 that the download has been completed normally (step S8).
  • the management server 5 transmits an update request message to the vehicle X (step S9).
  • the vehicle X that has received the update request message transmits the update program ⁇ stored in the storage unit 13 to the corresponding ECU 30, and causes the ECU 30 to execute control program update processing (reprogramming) (step S10).
  • the vehicle X transmits an update completion message to the management server 5 (step S11).
  • the management server 5 senses that the update of the control program has been completed for the ECU 30 of the vehicle X.
  • the storage unit 13 holds the update program ⁇ in the storage unit 13 for a predetermined period (eg, about 1 day to 1 week) (step S12).
  • a predetermined period eg, about 1 day to 1 week
  • the predetermined period for holding the update program ⁇ may be defined not by time but by the number of transfers of the update program ⁇ (for example, at least once).
  • FIG. 9 is a sequence diagram illustrating another example of a communication procedure related to an update program executed in the program update system.
  • “ ⁇ ” in FIG. 9 means an update program.
  • the vehicle X receives the update program ⁇ from the DL server 6.
  • the main communication control is the vehicle X and the vehicles A to C, but the actual communication control is executed by the CPU 11 of the gateway 10 of each vehicle 1.
  • the vehicle X transmits a confirmation message including the current version information of the control program related to the ECU 30 of the host vehicle and the vehicle identification number (VIN) of the host vehicle to the management server 5 (step S21). ).
  • the management server 5 determines whether the version information of the control program notified from the vehicle X is the latest version based on the version information notified from the vehicle X and the vehicle identification number, and a response including the determination result Send a message to vehicle X.
  • the management server 5 transmits a response message including the storage destination URL of the update program ⁇ of the ECU 30 to the vehicle X (step S22).
  • the vehicle X broadcasts an inquiry message to the surrounding vehicles A to C by inter-vehicle communication (step S23).
  • Step S24 it is assumed that the vehicles A and B have returned a response message (step S24), and there is no other vehicle that can be selected as the transfer source of the update program ⁇ by the transfer source selection process (FIG. 6B) described above.
  • Step S25 the vehicle X transmits a request message for the update program ⁇ to the DL server 6 (step S26).
  • the DL server 6 that has received the request message transfers the update program ⁇ held by itself to the vehicle X (step S27).
  • the vehicle X acquires the update program ⁇ for the ECU 30 from the DL server 6.
  • the vehicle X stores the received update program ⁇ in the storage unit 13.
  • the vehicle X notifies the management server 5 that the download has been normally completed (step S28).
  • the management server 5 transmits an update request message to the vehicle X (step S29).
  • the vehicle X that has received the update request message transmits the update program ⁇ stored in the storage unit 13 to the corresponding ECU 30, and causes the ECU 30 to execute control program update processing (reprogramming) (step S30).
  • the vehicle X transmits an update completion message to the management server 5 (step S31).
  • the management server 5 senses that the update of the control program has been completed for the ECU 30 of the vehicle X.
  • the storage unit 13 keeps the update program ⁇ in the storage unit 13 for a predetermined period (for example, about one day to one week) (step S32).
  • a predetermined period for example, about one day to one week.
  • the predetermined period for holding the update program ⁇ may be defined not by time but by the number of transfers of the update program ⁇ (for example, at least once).
  • the CPU 11 receives the update program from the other vehicles A to C when the update program can be transferred from the other vehicles A to C.
  • the second communication unit 16 is controlled (step ST4 in FIG. 5). Therefore, the host vehicle X can receive the update program not by communication with the DL server 6 via the mobile communication network but by inter-vehicle communication with the other vehicles A to C. For this reason, it is possible to efficiently transmit the update program while suppressing the processing load on the DL server 6.
  • the CPU 11 controls the first communication unit 15 to receive the update program from the DL server 6 when the update program cannot be transferred from the other vehicles A to C. (Step ST5 in FIG. 5). Therefore, even when the own vehicle X cannot receive the update program by inter-vehicle communication with the other vehicles A to C, it can receive the update program by communication with the DL server 6 via the mobile communication network.
  • the first and second communication units 15 and 16 are composed of different wireless communication devices, but one wireless communication device (wireless communication unit) is connected via the mobile communication network 2. It is good also as a structure which performs both the 1st communication which is wireless communication, and the 2nd communication which is vehicle-to-vehicle communication with another vehicle. That is, in the above-described embodiment, the first and second communication units 15 and 16 may be configured by separate wireless communication devices (wireless communication units), or by one wireless communication device (wireless communication unit). It may be configured.
  • the embodiments disclosed herein are illustrative and non-restrictive in every respect.
  • the scope of rights of the present invention is not limited to the above-described embodiments, but includes all modifications within the scope equivalent to the configurations described in the claims.
  • the update program may be received from the DL server 6 by Wi-Fi communication.
  • a device that relays the update program of the in-vehicle control device to another vehicle A wireless communication unit that performs first communication that is communication via a mobile communication network with a server of the update program and second communication that is vehicle-to-vehicle communication with another vehicle; A storage unit for storing the update program received by the wireless communication unit;
  • a relay device comprising: a processing unit that controls the wireless communication unit so that the stored update program is transferred to the other vehicle that requests transfer of the update program by inter-vehicle communication.
  • (Appendix 2) A device that relays the update program of the in-vehicle control device to another vehicle, A wireless communication unit for performing inter-vehicle communication with the other vehicle; A storage unit for storing the update program received by the wireless communication unit; A relay device, comprising: a processing unit that controls the wireless communication unit so that the stored update program is transferred to the other vehicle that requests transfer of the update program by inter-vehicle communication.
  • Appendix 4 At least one relay device of the relay devices according to appendix 1 and appendix 2, which is a transfer source of the update program;
  • An update program relay system comprising: a wireless communication device for inter-vehicle communication mounted on the other vehicle, which is a transfer destination of the update program.
  • the processing unit controls the wireless communication unit so as to transfer the stored update program by inter-vehicle communication to another vehicle that requests transfer of the update program.
  • the other vehicle can receive the update program not by communication with the server via the mobile communication network but by inter-vehicle communication with the own vehicle. For this reason, it is possible to efficiently transmit the update program while suppressing the processing load on the server.
  • the processing unit controls the storage unit to hold the update program until the update program is transferred at least once.
  • the update program can be transferred reliably.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Mechanical Engineering (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本開示の一態様に係る装置は、車載制御装置の更新プログラムを前記車載制御装置に中継する装置に関する。この中継装置は、前記更新プログラムのサーバと移動体通信網を介して通信する第1通信部と、他車両と車車間通信を行う第2通信部と、前記第1又は第2通信部から受信した前記更新プログラムを前記車載制御装置に送信する車内通信部と、車車間通信による前記更新プログラムの転送元として選択可能な前記他車両が存在する場合に、前記更新プログラムを前記他車両から受信するように前記第2通信部を制御する処理部と、を備える。

Description

中継装置、中継方法及びコンピュータプログラム
 本発明は、中継装置、中継方法及びコンピュータプログラムに関する。
 本出願は、2016年6月23日出願の日本出願第2016-124109号に基づく優先権を主張し、前記日本出願に記載された全ての記載内容を援用するものである。
 例えば、特許文献1及び2には、車載通信機などのゲートウェイが管理サーバから更新プログラムを受信し、受信した更新プログラム用いてECU(Electronic Control Unit)が制御プログラムを旧バージョンから新バージョンに書き換えることにより、車両の各ECUに対するプログラム更新を無線通信によって遠隔で実行する技術が開示されている。
特開2007-65856号公報 特開2010-198155号公報
 (1) 本開示の一態様に係る中継装置は、車載制御装置の更新プログラムを前記車載制御装置に中継する装置であって、前記更新プログラムのサーバと移動体通信網を介して通信する第1通信部と、他車両と車車間通信を行う第2通信部と、前記第1又は第2通信部から受信した前記更新プログラムを前記車載制御装置に送信する車内通信部と、車車間通信による前記更新プログラムの転送元として選択可能な前記他車両が存在する場合に、前記更新プログラムを前記他車両から受信するように前記第2通信部を制御する処理部と、を備える。
 (10) 本開示の一態様に係る中継方法は、車載制御装置の更新プログラムを前記車載制御装置に中継する方法であって、前記更新プログラムのサーバと移動体通信網を介して通信する第1ステップと、他車両と車車間通信を行う第2ステップと、前記第1及び第2ステップのいずれかにより受信した前記更新プログラムを前記車載制御装置に送信する第3ステップと、を含み、前記第3ステップにおいて、車車間通信による前記更新プログラムの転送元として選択可能な前記他車両が存在する場合に、前記更新プログラムを前記他車両から受信する。
 (11) 本開示の一態様に係るコンピュータプログラムは、車載制御装置の更新プログラムを前記車載制御装置に中継する装置として、コンピュータを機能させるためのコンピュータプログラムであって、前記コンピュータを、前記更新プログラムのサーバと移動体通信網を介して通信する第1通信部の制御、他車両と車車間通信を行う第2通信部の制御、及び、前記第1又は第2通信部が受信した前記更新プログラムを前記車載制御装置に送信する車内通信部の制御を行う処理部として機能させ、前記処理部は、車車間通信による前記更新プログラムの転送元として選択可能な前記他車両が存在する場合に、前記更新プログラムを前記他車両から受信するように前記第2通信部を制御する。
 (12) 本開示の別態様に係る中継装置は、車載制御装置の更新プログラムを前記車載制御装置に中継する装置であって、前記更新プログラムのサーバとの移動体通信網を介した通信である第1通信と、他車両との車車間通信である第2通信とを行う無線通信部と、前記無線通信部が受信した前記更新プログラムを前記車載制御装置に送信する車内通信部と、車車間通信による前記更新プログラムの転送元として選択可能な前記他車両が存在する場合に、前記更新プログラムを前記他車両から受信するように前記無線通信部を制御する処理部と、を備える。
 本発明は、このような特徴的な処理部を備える中継装置として実現できるだけでなく、かかる特徴的な処理のステップをコンピュータに実行させるためのプログラムとして実現することができる。
 また、本発明は、中継装置の一部又は全部を実現する半導体集積回路として実現したり、中継装置を含むシステムとして実現したりすることができる。
本発明の実施形態に係るプログラム更新システムの全体構成図である。 ゲートウェイの内部構成を示すブロック図である。 ECUの内部構成を示すブロック図である。 管理サーバの内部構成を示すブロック図である。 更新プログラムのダウンロード処理の一例を示すフローチャートである。 更新プログラムの転送元の適否判定の一例を示す説明図である。 転送元の選択条件の一例を示す説明図である。 更新プログラムに関する通信手順の一例を示すシーケンス図である。 更新プログラムに関する通信手順の別例を示すシーケンス図である。
<本開示が解決しようとする課題>
 ECUに必要な更新プログラムを遠隔で多数の車両に提供するには、更新プログラムを保持する情報源(サーバ)が、例えば移動体通信網を介して各車両の車載通信機と通信する必要がある。
 しかし、多数の車両からのダウンロード要求が一斉に発生すると、サーバの処理負荷が過大となる可能性がある。この問題は、サーバが管理する車両台数が多くなるほど顕著になる。
 本開示は、かかる従来の問題点に鑑み、サーバの処理負荷を抑制しつつ、効率的に更新プログラムを伝送できるようにすることを目的とする。
<本開示の効果>
 本開示によれば、サーバの処理負荷を抑制しつつ、効率的に更新プログラムを伝送することができる。
<本発明の実施形態の概要> 
 以下、本発明の実施形態の概要を列記して説明する。
 (1) 本実施形態の中継装置は、車載制御装置の更新プログラムを前記車載制御装置に中継する装置であって、前記更新プログラムのサーバと移動体通信網を介して通信する第1通信部と、他車両と車車間通信を行う第2通信部と、前記第1又は第2通信部から受信した前記更新プログラムを前記車載制御装置に送信する車内通信部と、車車間通信による前記更新プログラムの転送元として選択可能な前記他車両が存在する場合に、前記更新プログラムを前記他車両から受信するように前記第2通信部を制御する処理部と、を備える。
 本実施形態の中継装置によれば、処理部が、車車間通信による更新プログラムの転送元として選択可能な他車両が存在する場合に、更新プログラムを他車両から受信するように第2通信部を制御するので、自車両は、移動体通信網を介したサーバとの通信ではなく、他車両との車車間通信により更新プログラムを受信できるようになる。
 このため、サーバの処理負荷を抑制しつつ、効率的に更新プログラムを伝送することができる。
 (2) 本実施形態の中継装置において、前記処理部は、前記転送元として選択可能な前記他車両が存在しない場合に、前記更新プログラムを前記サーバから受信するように前記第1通信部を制御することが好ましい。
 このようにすれば、自車両は、車車間通信による更新プログラムの転送元として選択可能な他車両が存在しない場合でも、移動体通信網を介したサーバとの通信により、更新プログラムを受信できるようになる。
 (3) 本実施形態の中継装置において、前記処理部は、前記他車両の走行状態に応じて、前記他車両を前記転送元として選択可能か否かを判定することが好ましい。
 その理由は、他車両の走行状態によっては、当該他車両からの更新プログラムの転送を最後まで完了できない場合があるからである。
 (4) 具体的には、前記処理部は、信号待ち中の前記他車両、駐車中の前記他車両、及び自車両と隊列走行中の前記他車両のうちの少なくとも1つを、前記転送元として選択可能であると判定することが好ましい。
 その理由は、これらの走行状態の他車両は、更新プログラムの転送が完了するまで自車両との車車間通信を継続できる可能性が高いからである。
 (5) また、前記処理部は、自車両と進行方向が異なる前記他車両を、前記転送元として選択不能であると判定することが好ましい。
 その理由は、上記の走行状態の他車両は、更新プログラムの転送が完了するまで自車両との車車間通信を継続できない可能性が高いからである。
 (6) 本実施形態の中継装置において、前記処理部は、車車間通信による前記更新プログラムの伝送時間の多寡に応じて、前記他車両を前記転送元として選択可能か否かを判定することが好ましい。
 その理由は、更新プログラムの伝送時間の多寡を考慮すれば、他車両を転送元として選択すべきか否かをより正確に判定できるからである。
 (7) 本実施形態の中継装置において、前記処理部は、前記他車両との車車間通信の推定接続時間の多寡に応じて、前記他車両を前記転送元として選択可能か否かを判定することが好ましい。
 その理由は、他車両との車車間通信の推定接続時間を考慮すれば、他車両を転送元として選択すべきか否かをより正確に判定できるからである。
 (8) 具体的には、前記処理部は、前記他車両との車車間通信の推定接続時間が車車間通信による前記更新プログラムの伝送時間よりも大きい前記他車両を、前記転送元として選択可能であると判定すればよい。
 その理由は、上記の推定接続時間が上記の伝送時間よりも大きい場合は、更新プログラムの転送が完了するまで自車両との車車間通信を継続できると推定されるからである。
 (9) 本実施形態の中継装置において、前記第1又は第2通信部が受信した前記更新プログラムを記憶する記憶部を更に備え、前記処理部は、前記車載制御装置による前記更新プログラムを用いた制御プログラムの更新終了後に、前記記憶部に前記更新プログラムを所定期間だけ保持させることが好ましい。
 このようにすれば、他車両から更新プログラムの送信を要求された場合に、逆に自車両が更新プログラムの転送元の役割を果たせるようになる。
 (10) 本実施形態の中継方法は、上述の(1)~(9)の中継装置が実行する中継方法に関する。
 従って、本実施形態の中継方法は、上述の(1)~(9)の中継装置と同様の作用効果を奏する。
 (11) 本実施形態のコンピュータプログラムは、上述の(1)~(9)の中継装置の処理部として、コンピュータを機能させるためのコンピュータプログラムに関する。
 従って、本実施形態のコンピュータプログラムは、上述の(1)~(9)の中継装置と同様の作用効果を奏する。
 (12) 本実施形態の別の中継装置は、車載制御装置の更新プログラムを前記車載制御装置に中継する装置であって、前記更新プログラムのサーバとの移動体通信網を介した通信である第1通信と、他車両との車車間通信である第2通信とを行う無線通信部と、前記無線通信部が受信した前記更新プログラムを前記車載制御装置に送信する車内通信部と、車車間通信による前記更新プログラムの転送元として選択可能な前記他車両が存在する場合に、前記更新プログラムを前記他車両から受信するように前記無線通信部を制御する処理部と、を備える。
 本実施形態の別の中継装置によれば、処理部が、車車間通信による更新プログラムの転送元として選択可能な他車両が存在する場合に、更新プログラムを他車両から受信するように無線通信部を制御するので、自車両は、サーバとの第1通信ではなく、他車両との第2通信により更新プログラムを受信できるようになる。
 このため、サーバの処理負荷を抑制しつつ、効率的に更新プログラムを伝送することができる。
 (13) 本実施形態の別の中継装置において、前記処理部は、前記転送元として選択可能な前記他車両が存在しない場合に、前記更新プログラムを前記サーバから受信するように前記無線通信部を制御することが好ましい。
 このようにすれば、自車両は、車車間通信による更新プログラムの転送元として選択可能な他車両が存在しない場合でも、サーバとの第1通信により、更新プログラムを受信できるようになる。
<本発明の実施形態の詳細> 
 以下、図面を参照して、本発明の実施形態の詳細を説明する。なお、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
 〔システムの全体構成〕
 図1は、本発明の実施形態に係るプログラム更新システムの全体構成図である。
 図1に示すように、本実施形態のプログラム更新システムは、広域通信網2を介して通信可能な車両1、管理サーバ5及びDL(ダウンロード)サーバ6を含む。
 管理サーバ5及びDLサーバ6は、例えば、車両1のカーメーカーにより運営されており、予め会員登録されたユーザが所有する多数の車両1と通信可能である。
 広域通信網2には、移動体通信網(携帯電話網)が含まれる。移動体通信網は、例えば、第3世代(3G)の拡張版(3.9G)であるLTE(Long Term Evolution)又はWiMAX(Worldwide interoperability for Microwave Access)、第4世代(4G)であるLTE-Advanced又はWiMAX2、或いは、第3世代(3G)などの通信規格に則った携帯電話網よりなる。
 車両1には、ゲートウェイ10と、第1及び第2通信部15,16と、複数のECU30と、各ECU30によりそれぞれ制御される各種の車載機器(図示せず)とが搭載されている。
 車両1には、共通の車内通信線にバス接続された複数のECU30による通信グループが存在し、ゲートウェイ10は、通信グループ間の通信を中継している。このため、ゲートウェイ10には、複数の車内通信線が接続されている。
 第1通信部15は、広域通信網2の基地局(図示せず)と無線通信する無線通信機よりなる。第1通信部15は、車内通信線によりゲートウェイ10に接続されている。ゲートウェイ10は、広域通信網2を通じて管理サーバ5及びDLサーバ6などの車外装置から第1通信部15が受信した情報を、ECU30に送信する。
 ゲートウェイ10は、ECU30から取得した情報を第1通信部15に送信し、第1通信部15は、その情報を管理サーバ5などの車外装置に送信する。
 車両1に搭載される第1通信部15としては、例えば、ユーザが所有する携帯電話機、スマートフォン、タブレット型端末、ノートPC(Personal Computer)等の装置が考えられる。
 図1では、ゲートウェイ10が第1通信部15を介して車外装置と通信を行う場合が例示されているが、ゲートウェイ10が携帯通信機能を有する場合には、ゲートウェイ10自身が管理サーバ5などの車外装置と無線通信を行う構成としてもよい。
 第2通信部16は、車車間通信を行う無線通信機よりなり、例えば、「Wireless Access in Vehicle Environment」(WAVE)、「700MHz帯高度道路交通システム標準規格(ARIB STD-T109)」などの通信規格に準拠する。
 従って、第2通信部16は、他の車両1が送信したプローブカーデータを含む通信パケットを受信可能であり、自車両のプローブカーデータを含む通信パケットをブロードキャストで他の車両2に送信可能である。
 第2通信部16は、車内通信線によりゲートウェイ10に接続されている。ゲートウェイ10は、第2通信部16が車車間通信により他の車両1から受信したプローブカーデータなどの情報を、ECU30に送信することができる。
 ゲートウェイ10は、ECU30から収集したプローブカーデータなどの情報を第2通信部16に送信する。第2通信部16は、その情報を他の車両1に送信する。車車間通信により送受信されるデータには、後述の「更新プログラム」も含まれる。
 車車間通信により送受信されるプローブカーデータには、例えば、車両ID、データ生成時刻、車両位置、車両速度及び車両方位などの各種の車両情報が含まれる。
 このため、車両1のECU30には、受信したプローブカーデータに含まれる他車両の車両位置と、GPS(Global Positioning System)受信機により得られる自車両の車両位置とに基づいて、出会い頭衝突などの危険性を事前に搭乗者に通知する、安全運転制御を行うECUが含まれる。
 ゲートウェイ10は、ECU30から収集したプローブカーデータなどの情報を第1通信部15にも送信し、第1通信部15は、その情報を管理サーバ5に送信する。
 管理サーバ5は、会員登録された多数の車両1から収集したプローブカーデータに基づいて、リンク旅行時間や渋滞情報などの交通情報を生成し、生成した交通情報を登録会員の各車両1に情報提供することができる。
 図1では、ゲートウェイ10が第2通信部16を介して車車間通信を行う場合が例示されているが、ゲートウェイ10が車車間通信機能を有する場合には、ゲートウェイ10自身が他の車両1と車車間通信を行う構成としてもよい。
 また、図1のプログラム更新システムでは、管理サーバ5とDLサーバ6が別個のサーバで構成されているが、これらのサーバ5,6を1つのサーバ装置で構成してもよい。
 〔ゲートウェイの内部構成〕
 図2は、ゲートウェイ10の内部構成を示すブロック図である。
 図2に示すように、ゲートウェイ10は、CPU(Central Processing Unit)11、RAM(Random Access Memory)12、記憶部13、及び車内通信部14などを備える。ゲートウェイ10は、無線通信部15,16と車内通信線を介して接続されているが、これらは一つの装置で構成してもよい。
 CPU11は、記憶部13に記憶された一又は複数のコンピュータプログラムをRAM12に読み出して実行することにより、ゲートウェイ10及び第1及び第2通信部15,16を、更新プログラムを含む各種情報の中継装置として機能させる。
 CPU11は、例えば時分割で複数のプログラムを切り替えて実行することにより、複数のプログラムを並列的に実行可能である。なお、CPU11は複数のCPU群を代表するものであってもよい。この場合、CPU11の実現する機能は、複数のCPU群が協働して実現するものである。RAM12は、SRAM(Static RAM)又はDRAM(Dynamic RAM)等のメモリ素子で構成され、CPU11が実行するプログラム及び実行に必要なデータ等が一時的に記憶される。
 CPU11が実行するコンピュータプログラムは、CD-ROMやDVD-ROMなどの周知の記録媒体に記録した状態で譲渡することもできるし、サーバコンピュータなどのコンピュータ装置からの情報伝送(ダウンロード)によって譲渡することもできる。
 この点は、後述のECU30のCPU31(図3参照)が実行するコンピュータプログラム、及び、後述の管理サーバ5のCPU51(図4参照)が実行するコンピュータプログラムについても同様である。
 記憶部13は、フラッシュメモリ若しくはEEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性のメモリ素子などにより構成されている。
 記憶部13は、CPU11が実行するプログラム及び実行に必要なデータ等を記憶する記憶領域を有する。記憶部13は、DLサーバ6又は他の車両1などから受信した各ECU30の更新プログラムなども記憶する。
 車内通信部14には、車両1に配設された車内通信線を介して複数のECU30が接続されている。車内通信部14は、例えばCAN(Controller Area Network)、CANFD(CAN with Flexible Data Rate)、LIN(Local Interconnect Network)、Ethernet(登録商標)、又はMOST(Media Oriented Systems Transport:MOSTは登録商標)等の規格に応じて、ECU30との通信を行う。
 車内通信部14は、CPU11から与えられた情報を対象のECU30へ送信するとともに、ECU30から受信した情報をCPU11に与える。車内通信部14は、上記の通信規格だけでなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
 第1通信部15は、アンテナと、アンテナからの無線信号の送受信を実行する通信回路とを含む無線通信機よりなる。第1通信部15は、携帯電話網等を含む広域通信網2に接続されることにより車外装置との無線通信が可能である。
 第1通信部15は、図示しない基地局を含む広域通信網2を介して、CPU11から与えられた情報を管理サーバ5等の車外装置に送信するとともに、車外装置から受信した情報をCPU11に与える。
 第2通信部16は、アンテナと、アンテナからの無線信号の送受信を実行する通信回路とを含む無線通信機よりなる。第2通信部16は、他の車両1との無線通信(車車間通信)や、路側通信機との無線通信(路車間通信)などが可能である。
 第2通信部16は、CPU11から与えられた情報を他の車両1や路側通信機などの車外装置に送信するとともに、車外装置から受信した情報をCPU11に与える。
 図2に示す第1通信部15に代えて、車両1内の中継装置として機能する有線通信部を採用してもよい。この有線通信部は、USB(Universal Serial Bus)又はRS232C等の規格に応じた通信ケーブルが接続されるコネクタを有し、通信ケーブルを介して接続された別の通信装置と有線通信を行う。
 別の通信装置と管理サーバ5等の車外装置とが広域通信網2を通じた無線通信が可能である場合には、車外装置→別の通信装置→有線通信部→ゲートウェイ10の通信経路により、車外装置とゲートウェイ10が通信可能になる。
 〔ECUの内部構成〕
 図3は、ECU30の内部構成を示すブロック図である。
 図3に示すように、ECU30は、CPU31、RAM32、記憶部33、通信部34などを備える。ECU30は、車両1に搭載された対象機器を個別に制御する車載制御装置である。ECU30の種類には、例えば、エンジン制御ECU、ステアリング制御ECU、ドアロック制御ECU及び安全運転制御ECUなどがある。
 CPU31は、記憶部33に予め記憶された一又は複数のコンピュータプログラムをRAM32に読み出して実行することにより、自身が担当する対象機器の動作を制御する。CPU31もまた複数のCPU群を代表するものであってもよく、CPU31による制御は、複数のCPU群が協働することによる制御であってもよい。
 RAM32は、SRAM又はDRAM等のメモリ素子で構成され、CPU31が実行するプログラム及び実行に必要なデータ等が一時的に記憶される。
 記憶部33は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子、或いは、ハードディスクなどの磁気記憶装置等により構成されている。
 記憶部33が記憶する情報には、例えば、車内の制御対象である対象機器を制御するための情報処理をCPU31に実行させるためのコンピュータプログラム(以下、「制御プログラム」という。)が含まれる。
 通信部34には、車両1に配設された車内通信線を介してゲートウェイ10が接続されている。通信部34は、例えばCAN、Ethernet、又はMOST等の規格に応じて、ゲートウェイ10との通信を行う。
 通信部34は、CPU31から与えられた情報をゲートウェイ10へ送信するとともに、ゲートウェイ10から受信した情報をCPU31に与える。通信部34は、上記の通信規格だけなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
 ECU30のCPU31には、当該CPU31による制御モードを、「通常モード」又は「リプログラミングモード」(以下、「リプロモード」ともいう。)のいずれかに切り替える起動部35が含まれる。
 ここで、通常モードとは、ECU30のCPU31が、対象機器に対する本来的な制御(例えば、燃料エンジンに対するエンジン制御や、ドアロックモータに対するドアロック制御など)を実行する制御モードのことである。
 リプログラミングモードとは、対象機器の制御に用いる制御プログラムを更新する制御モードである。
 すなわち、リプログラミングモードは、CPU31が、記憶部33のROM領域に対して、制御プログラムの消去や書き換えを行う制御モードのことである。CPU31は、この制御モードのときにのみ、記憶部33のROM領域に格納された制御プログラムを新バージョンに更新することが可能となる。
 リプロモードにおいてCPU31が新バージョンの制御プログラムを記憶部33に書き込むと、起動部35は、ECU30をいったん再起動(リセット)させ、新バージョンの制御プログラムが書き込まれた記憶領域についてベリファイ処理を実行する。
 起動部35は、上記のベリファイ処理の完了後に、CPU31を更新後の制御プログラムによって動作させる。
 〔管理サーバの内部構成〕
 図4は、管理サーバ5の内部構成を示すブロック図である。
 図4に示すように、管理サーバ5は、CPU51、ROM52、RAM53、記憶部54、及び通信部55などを備える。
 CPU51は、ROM52に予め記憶された一又は複数のコンピュータプログラムをRAM53に読み出して実行することにより、各ハードウェアの動作を制御し、管理サーバ5をゲートウェイ10と通信可能な車外装置として機能させる。CPU51もまた複数のCPU群を代表するものであってもよく、CPU51の実現する機能は、複数のCPU群が協働して実現するものであってもよい。
 RAM53は、SRAM又はDRAM等のメモリ素子で構成され、CPU51が実行するプログラム及び実行に必要なデータ等が一時的に記憶される。
 記憶部54は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子、又は、ハードディスクなどの磁気記憶装置等により構成されている。
 通信部55は、所定の通信規格に則って通信処理を実行する通信装置よりなり、携帯電話網等の広域通信網2に接続されて当該通信処理を実行する。通信部55は、CPU51から与えられた情報を、広域通信網2を介して外部装置に送信するとともに、広域通信網2を介して受信した情報をCPU51に与える。
 記憶部54が記憶する情報には、登録会員であるユーザの個人情報や、車両1に搭載されたECU30が実行する制御プログラムのバージョン情報などを管理するための管理テーブル(図示せず)などが含まれる。
 管理テーブルは、例えば、登録会員が所有する車両1の車両識別番号(VIN)と、車両識別番号ごとのECU30の種別と、各ECU30が実行する制御プログラムのバージョン情報の履歴とを纏めた参照テーブルよりなる。
 DLサーバ6には、すべての種別のECU30について、当該ECU30が実行する制御プログラムのバージョンごとの更新プログラムが格納されている。
 DLサーバ6が保持する更新プログラムは、当該ECU30にインストールさせる最新バージョンの制御プログラムそのものであってもよいし、旧バージョンの制御プログラムと新バージョンの制御プログラムとの差分プログラムであってもよい。
 車両1のゲートウェイ10は、自車両に搭載されたECU30が使用中の制御プログラムのバージョン情報と、自車両の車両識別番号とを含む通信パケット(確認メッセージ)を、所定時間おきに管理サーバ5に送信している。
 管理サーバ5のCPU51は、ゲートウェイ10から受信した確認メッセージに含まれる制御プログラムのバージョン情報が最新バージョンであるか否かを判定する。
 上記の判定の結果、ゲートウェイ10から通知された制御プログラムのバージョン情報が最新である場合には、管理サーバ5のCPU51は、更新不要の応答メッセージをゲートウェイ10に送信する。
 上記の判定の結果、ゲートウェイ10から通知された制御プログラムのバージョン情報が最新でない場合には、管理サーバ5のCPU51は、更新必要の応答メッセージをゲートウェイ10に送信する。
 更新必要の応答メッセージには、更新プログラムの保存先であるDLサーバ6のURL(Uniform Resource Locator)が含まれる。
 従って、更新必要の応答メッセージを受信したゲートウェイ10は、管理サーバ5から通知されたURL宛ての通信パケットにより、リプログラミングを実行すべきECU30の更新プログラムの種別及びバーション情報など含むダウンロード要求をDLサーバ6に送信可能な状態となる。
 〔更新プログラムのダウンロード処理〕
 図5は、ゲートウェイ10のCPU11が実行する、更新プログラムのダウンロード処理の一例を示すフローチャートである。
 図5に示すように、ゲートウェイ10のCPU11は、まず、更新プログラムの有無を管理サーバ5に問い合わせる(ステップST1)。この処理は、上述のバージョン情報等を含む確認メッセージを管理サーバ5に送信することにより行われる。
 次に、CPU11は、管理サーバ5からの応答メッセージから、自車両に必要な更新プログラムの有無を判定する(ステップST2)。
 具体的には、CPU11は、管理サーバ5から更新不要の応答メッセージを受信した場合には、自車両に必要な更新プログラムなしと判定し、管理サーバ5から更新必要の応答メッセージを受信した場合には、自車両に必要な更新プログラム有りと判定する。
 ステップST2の判定結果が否定的である場合は、CPU11は処理を終了する。
 ステップST2の判定結果が肯定的である場合は、CPU11は、更に、第2通信部16による他車両との車車間通信により、更新プログラムの転送元として選択可能な他車両が存在するか否かを判定する(ステップST3)。このステップST3の判定(以下、「転送元の適否判定」ともいう。)の詳細については、図6により後述する。
 ステップST3の判定結果が肯定的である場合は、CPU11は、第2通信部16が実行する他車両との車車間通信により、更新プログラムをダウンロードし(ステップST4)、受信した更新プログラムを記憶部13に記憶させる。
 ステップST3の判定結果が否定的である場合は、CPU11は、第1通信部15が実行する広域通信網2を介したDLサーバ6との通信により、更新プログラムをダウンロードし(ステップST5)、受信した更新プログラムを記憶部13に記憶させる。
 〔更新プログラムの転送元の適否判定〕
 図6は、更新プログラムの転送元の適否判定の一例を示す説明図である。
 図6において、符号Xを付した車両1は、更新プログラムを必要とする「自車両」であり、符号A~Cを付した車両1は、自車両Xとの車車間通信が可能な距離だけ離れた「他車両」である。以下の説明では、通信制御の主体が車両X及び車両A~Cとなっているが、実際の通信制御は各車両1のゲートウェイ10のCPU11が実行する。
 図6に示すように、転送元の存否判定(図5のステップST3)には、「更新プログラムの保持確認」(図6A)と、「転送元の選択処理」(図6B)とが含まれる。
 図6Aの更新プログラムの保持確認は、問い合わせメッセージに対応する応答メッセージに基づいて、他車両A~Cが更新プログラムを保持するか否かを確認する処理である。図6Bの転送元の選択処理は、自車両Xと車車間通信する複数の他車両A~Cから、更新プログラムの転送を要求する他車両を選択する処理である。
 図6Aに示すように、車両Xは、更新プログラムの「問い合わせメッセージ」を車車間通信によりブロードキャストする。問い合わせメッセージには、自車両Xが必要とするECU30の更新プログラムの種別情報とバーション情報が含まれる。
 問い合わせメッセージを受信した車両A~Cは、当該メッセージに含まれる種別及びバージョンの更新プログラムを、自身の記憶部13が保持するか否かを判定し、保持する場合に限り応答メッセージを車両Xに送信する。
 従って、車両Xは、問い合わせメッセージに対応する応答メッセージの受信の有無により、周囲の車両A~Cのうちのどの車両が、必要な更新プログラムを保持するかを判定することができる。
 例えば、図6Aの例では、車両A及び車両Bが応答メッセージを返信し、車両Cが応答メッセージを返信していないので、車両Xは、車両A及び車両Bが更新プログラムを保持中であると判定する。
 図6Aにおいて、応答メッセージの返信がゼロである場合は、自車両Xは、必要な更新プログラムを保持する他車両は存在しないと判定する。
 この場合、車車間通信により更新プログラムを転送できる他車両A~Cが存在しないことになるので、図5のステップST3の判定結果は否定的となる。
 図6Bに示すように、車両Xは、更新プログラムを保持する車両A及び車両Bの中から、所定の選択条件を満たす転送元の他車両(図例では車両A)を選択し、選択した車両Aに対して更新プログラムの「要求メッセージ」を送信する。
 要求メッセージを受信した車両Aは、自身が保持する更新プログラムを車両Xに送信する。車両Xは、更新プログラムの受信を無事に完了すると、ダウンロード完了通知を車両Aに送信する。
 所定の選択条件を満たす他車両が複数存在する場合には、車両Xは、例えば、自車両Xから最も近い1つの他車両を選択したり、1つの他車両をランダムに選択したりして、要求メッセージを送信する他車両を1つに特定する。
 或いは、所定の選択条件を満たす複数の他車両すべてに要求メッセージを送信し、各他車両から受信する更新プログラムを個別に記憶するようにすれば、更新プログラムの受信完了の可能性を高めることができる。
 図6の例とは逆に、転送元の選択処理(図6B)を先に実行し、所定の選択条件を満たす他車両に対して問い合わせメッセージをマルチキャストで送信することにより、更新プログラムの保持確認(図6A)を後に実行することにしてもよい。
 〔転送元の選択条件〕
 図7は、転送元の選択条件の一例を示す説明図である。
 図7に示すように、車両Xは、他車両A,Bの走行状態に応じて、転送元として採用する他車両を選択する。ここでは、車両Xが必要とする更新プログラムの伝送時間を例えば20秒とする。なお、一般に、ECU30の更新プログラムの伝送時間は、数十秒から数分程度である。
 図7において、車両Xは、自車両が交差点手前で停止中である場合に、自車両と同じ進行方向でかつ所定距離(例えば50m)以内に停止中の車両Aについては、更新プログラムの転送元として選択可能と判定する。
 その理由は、上記の走行状態の車両Aは、車両Xと同様に交差点手前で停止中であると推定されることから、伝送時間が20秒の更新プログラムの車両Aからの転送を信号待ち中に完了できる可能性が高いからである。
 逆に、車両Xは、自車両が交差点手前で停止中である場合に 自車両と進行方向が反対向きである車両Bについては、更新プログラムの転送元から外す。つまり、車両Bを更新プログラムの転送元として選択不能と判定する。
 その理由は、上記の走行状態の車両Bは、自車両Xにすれ違う対向車と推定されることから、伝送時間が20秒の更新プログラムの車両Bからの転送を信号待ち中に完了できない可能性が高いからである。
 転送元から除外する車両Bは、自車両Xと逆向きの進行方向である他車両に限らず、自車両Xの進行方向とほぼ90度交差する進行方向の他車両であってもよい。
 上記の走行状態の車両Bは、自車両Xの進行方向の交差道路を通行する他車両と推定されることから、伝送時間が20秒の更新プログラムの車両Bからの転送を信号待ち中に完了できない可能性が高いからである。
 車両Xは、車両Aが路肩又はパーキングエリアなどに駐車中である場合には、当該車両Aを更新プログラムの転送元として選択可能と判定してもよい。
 その理由は、駐車中の車両Aは、長時間一定位置に停止すると推定されるので、その近隣に車両Xが駐車するのであれば、伝送時間が20秒の更新プログラムの他車両Aからの転送を完了できる可能性が高いからである。なお、車両Aが駐車中であるか否かは、プローブカーデータに含まれるパーキングブレーキの動作情報から判定できる。
 車両Xは、自車両がCACC(Cooperative Adaptive Cruise Control)などの自動運転が可能である場合には、自車両とのCACC(隊列走行)を実行中の車両Aを更新プログラムの転送元として選択可能と判定することにしてもよい。
 その理由は、自車両と隊列走行する車両Aは、車間距離が一定のまま自車両との車車間通信を長時間継続するので、伝送時間が20秒の更新プログラムの車両Aからの転送を完了できる可能性が高いからである。
 車両Xは、車車間通信による更新プログラムの伝送時間の多寡に応じて、他車両A,B転送元として選択可能か否かを判定してもよい。
 その理由は、更新プログラムの伝送時間の多寡を考慮すれば、他車両A,Bを転送元として選択すべきか否かをより正確に判定できるからである。
 例えば、伝送時間が比較的短い(例えば3秒)の更新プログラムの場合には、図7に示す進行方向が異なる車両Bについても、転送を最後まで完了できると推定されるので、更新プログラムの転送元として選択することが可能となる。
 逆に、伝送時間が比較的長い(例えば5分)の更新プログラムの場合には、図7に示す進行方向が異なる車両Bについては、転送を最後まで完了できないと考えられるので、更新プログラムの転送元として選択すべきではない。
 車両Xは、他車両A,Bとの車車間通信の推定接続時間の多寡に応じて、他車両A,B転送元として選択可能か否かを判定してもよい。
 その理由は、他車両A,Bとの車車間通信の推定接続時間の多寡を考慮すれば、他車両A,Bを転送元として選択すべきか否かをより正確に判定できるからである。
 車両Bとの車車間通信の推定接続時間は、車車間通信の通信可能距離(例えば100m)を、プローブカーデータに含まれる車両Bの車両速度と車両Xの車両速度との速度差(車両Bと車両Xの相対速度)で除することによって算出することができる。
 この場合、車両Xは、算出した推定接続時間が、必要な更新プログラムの伝送時間よりも大きい場合には、車両Bを更新プログラムの転送元として選択すればよい。
 その理由は、車両Bとの推定接続時間が更新プログラムの伝送時間よりも大きい場合は、更新プログラムの転送が完了するまで車両Xと車両Bとの車車間通信を継続できると推定されるからである。
 このように、車車間通信の推定接続時間と車車間通信による更新プログラムの伝送時間との比較により転送元として選択可能か否かを判定すれば、他車両Bの走行状態のみから転送元として選択可能な否かを判定する場合に比べて、更新プログラムの転送元の選択をより正確に行うことができる。
 〔更新プログラムに関する通信手順の一例〕
 図8は、プログラム更新システムにおいて実行される、更新プログラムに関する通信手順の一例を示すシーケンス図である。図8中の「Δ」は、更新プログラムを意味する。図8のシーケンスでは、車両Xが他車両Aから更新プログラムΔを受信する。
 以下の説明では、通信制御の主体が車両X、車両A~Cとなっているが、実際の通信制御は各車両1のゲートウェイ10のCPU11が実行する。
 図8に示すように、車両Xは、自車両のECU30に関する制御プログラムの現状のバージョン情報と、自車両の車両識別番号(VIN)とを含む確認メッセージを、管理サーバ5に送信する(ステップS1)。
 管理サーバ5は、車両Xから通知されたバージョン情報と車両識別番号に基づいて、車両Xから通知された制御プログラムのバージョン情報が最新バージョンであるか否かを判定し、その判定結果を含む応答メッセージを車両Xに送信する。
 ここでは、最新バージョンでなかったと仮定する。この場合、管理サーバ5は、ECU30の更新プログラムΔの保存先URLを含む応答メッセージを車両X宛てに送信する(ステップS2)。
 次に、車両Xは、車車間通信により、問い合わせメッセージを周囲の車両A~Cにブロードキャストする(ステップS3)。
 ここでは、車両A,Bが応答メッセージを返信してきたと仮定し(ステップS4)、上述の転送元の選択処理(図6B)により、車両Aが更新プログラムΔの転送元として選択されたと仮定する(ステップS5)。
 この場合、車両Xは、更新プログラムΔの要求メッセージを車両Aに送信する(ステップS6)。要求メッセージを受信した車両Aは、自身が保持する更新プログラムΔを車両Xに転送する(ステップS7)。
 これにより、車両Xは、ECU30のための更新プログラムΔを車両Aから取得する。車両Xは、受信した更新プログラムΔを記憶部13に保存する。
 更新プログラムΔの保存が完了すると、車両Xは、ダウンロードが正常に完了したことを管理サーバ5に通知する(ステップS8)。その後、管理サーバ5は、更新要求メッセージを車両Xに送信する(ステップS9)。
 更新要求メッセージを受信した車両Xは、記憶部13に保存した更新プログラムΔを対応するECU30に送信し、制御プログラムの更新処理(リプログラミング)を当該ECU30に実行させる(ステップS10)。
 ECU30のリプログラミングが完了すると、車両Xは、更新完了メッセージを管理サーバ5に送信する(ステップS11)。これにより、管理サーバ5は、車両XのECU30について、制御プログラムの更新が完了したことを察知する。
 車両Xは、更新完了メッセージを管理サーバ5に送信した後も、記憶部13に更新プログラムΔを所定期間(例えば1日~1週間程度)だけ保持させる(ステップS12)。
 その理由は、他車両A~Cから更新プログラムΔの要求メッセージを受信した場合に、逆に自車両Xが更新プログラムΔの転送元の役割を果たせるようにするためである。
 なお、更新プログラムΔを保持する所定期間は、時間ではなく、更新プログラムΔの転送回数(例えば、少なくとも1回)で規定することにしてもよい。
 〔更新プログラムに関する通信手順の別例〕
 図9は、プログラム更新システムにおいて実行される、更新プログラムに関する通信手順の別例を示すシーケンス図である。図9中の「Δ」は、更新プログラムを意味する。図9のシーケンスでは、車両XがDLサーバ6から更新プログラムΔを受信する。
 以下の説明では、通信制御の主体が車両X、車両A~Cとなっているが、実際の通信制御は各車両1のゲートウェイ10のCPU11が実行する。
 図9に示すように、車両Xは、自車両のECU30に関する制御プログラムの現状のバージョン情報と、自車両の車両識別番号(VIN)とを含む確認メッセージを、管理サーバ5に送信する(ステップS21)。
 管理サーバ5は、車両Xから通知されたバージョン情報と車両識別番号に基づいて、車両Xから通知された制御プログラムのバージョン情報が最新バージョンであるか否かを判定し、その判定結果を含む応答メッセージを車両Xに送信する。
 ここでは、最新バージョンでなかったと仮定する。この場合、管理サーバ5は、ECU30の更新プログラムΔの保存先URLを含む応答メッセージを車両X宛てに送信する(ステップS22)。
 次に、車両Xは、車車間通信により、問い合わせメッセージを周囲の車両A~Cにブロードキャストする(ステップS23)。
 ここでは、車両A,Bが応答メッセージを返信してきたと仮定し(ステップS24)、上述の転送元の選択処理(図6B)により、更新プログラムΔの転送元として選択可能な他車両が存在しなかったと仮定する(ステップS25)。
 この場合、車両Xは、更新プログラムΔの要求メッセージをDLサーバ6に送信する(ステップS26)。要求メッセージを受信したDLサーバ6は、自身が保持する更新プログラムΔを車両Xに転送する(ステップS27)。
 これにより、車両Xは、ECU30のための更新プログラムΔをDLサーバ6から取得する。車両Xは、受信した更新プログラムΔを記憶部13に保存する。
 更新プログラムΔの保存が完了すると、車両Xは、ダウンロードが正常に完了したことを管理サーバ5に通知する(ステップS28)。その後、管理サーバ5は、更新要求メッセージを車両Xに送信する(ステップS29)。
 更新要求メッセージを受信した車両Xは、記憶部13に保存した更新プログラムΔを対応するECU30に送信し、制御プログラムの更新処理(リプログラミング)を当該ECU30に実行させる(ステップS30)。
 ECU30のリプログラミングが完了すると、車両Xは、更新完了メッセージを管理サーバ5に送信する(ステップS31)。これにより、管理サーバ5は、車両XのECU30について、制御プログラムの更新が完了したことを察知する。
 車両Xは、更新完了メッセージを管理サーバ5に送信した後も、記憶部13に更新プログラムΔを所定期間(例えば1日~1週間程度)だけ保持させる(ステップS32)。
 その理由は、他車両A~Cから更新プログラムΔの要求メッセージを受信した場合に、逆に自車両Xが更新プログラムΔの転送元の役割を果たせるようにするためである。
 なお、更新プログラムΔを保持する所定期間は、時間ではなく、更新プログラムΔの転送回数(例えば、少なくとも1回)で規定することにしてもよい。
 〔本実施形態の効果〕
 上述の通り、本実施形態のゲートウェイ(中継装置)10によれば、CPU11が、更新プログラムを他車両A~Cから転送可能である場合に、更新プログラムを他車両A~Cから受信するように第2通信部16を制御する(図5のステップST4)。
 従って、自車両Xは、移動体通信網を介したDLサーバ6との通信ではなく、他車両A~Cとの車車間通信により更新プログラムを受信できる。このため、DLサーバ6の処理負荷を抑制しつつ、効率的に更新プログラムを伝送することができる。
 また、本実施形態のゲートウェイ10によれば、CPU11が、更新プログラムを他車両A~Cから転送不能である場合に、更新プログラムをDLサーバ6から受信するように第1通信部15を制御する(図5のステップST5)。
 従って、自車両Xは、他車両A~Cとの車車間通信により更新プログラムを受信できない場合でも、移動体通信網を介したDLサーバ6との通信により、更新プログラムを受信できる。
 〔第1の変形例〕
 上述の実施形態では、第1及び第2通信部15,16が別の無線通信機よりなる場合を想定したが、1つの無線通信機(無線通信部)が、移動体通信網2を介した無線通信である第1通信と、他車両との車車間通信である第2通信の双方を行う構成としてもよい。
 すなわち、上述の実施形態において、第1及び第2通信部15,16は、それぞれ別個の無線通信機(無線通信部)により構成してもよいし、1つの無線通信機(無線通信部)により構成してもよい。
 〔その他の変形例〕
 今回開示した実施形態はすべての点で例示であって制限的なものではない。本発明の権利範囲は、上述の実施形態に限定されるものではなく、請求の範囲に記載された構成と均等の範囲内でのすべての変更が含まれる。
 例えば、Wi-Fi対応の無線通信機を更に備える車両1の場合には、Wi-Fi通信によってDLサーバ6から更新プログラムを受信することにしてもよい。
 〔他の中継装置等〕
 以上の説明は、下記に付記する特徴を含む。
 (付記1)
 車載制御装置の更新プログラムを他車両に中継する装置であって、
 前記更新プログラムのサーバとの移動体通信網を介した通信である第1通信と、他車両との車車間通信である第2通信とを行う無線通信部と、
 前記無線通信部が受信した前記更新プログラムを記憶する記憶部と、
 前記更新プログラムの転送を要求する前記他車両に対して、記憶した前記更新プログラムを車車間通信により転送するように前記無線通信部を制御する処理部と、を備える中継装置。
 (付記2)
 車載制御装置の更新プログラムを他車両に中継する装置であって、
 前記他車両と車車間通信を行う無線通信部と、
 前記無線通信部が受信した前記更新プログラムを記憶する記憶部と、
 前記更新プログラムの転送を要求する前記他車両に対して、記憶した前記更新プログラムを車車間通信により転送するように前記無線通信部を制御する処理部と、を備える中継装置。
 (付記3)
 前記処理部は、前記更新プログラムの転送が少なくとも1回行われるまで当該更新プログラムを保持するように、前記記憶部を制御する付記1又は付記2に記載の中継装置。
 (付記4)
 前記更新プログラムの転送元である、付記1及び付記2に記載の前記中継装置のうちの少なくとも1つの中継装置と、
 前記更新プログラムの転送先である、前記他車両に搭載された車車間通信用の無線通信機と、を備える更新プログラムの中継システム。
 付記1及び付記2の中継装置によれば、処理部が、更新プログラムの転送を要求する他車両に対して、記憶した更新プログラムを車車間通信により転送するように無線通信部を制御するので、他車両は、移動体通信網を介したサーバとの通信ではなく、自車両との車車間通信により更新プログラムを受信できるようになる。
 このため、サーバの処理負荷を抑制しつつ、効率的に更新プログラムを伝送することができる。
 付記3の中継装置によれば、処理部が、更新プログラムの転送が少なくとも1回行われるまで当該更新プログラムを保持するように、記憶部を制御するので、更新プログラムの転送を要求する他車両に当該更新プログラムを確実に転送できるようになる。
  1 車両
  2 広域通信網(移動体通信網)
  5 管理サーバ(サーバ)
  6 DLサーバ(サーバ)
 10 ゲートウェイ
 11 CPU(処理部)
 12 RAM
 13 記憶部
 14 車内通信部
 15 第1通信部(無線通信部)
 16 第2通信部(無線通信部)
 30 ECU(車載制御装置)
 31 CPU
 33 記憶部
 34 通信部
 35 起動部
 51 CPU
 52 ROM
 53 RAM
 54 記憶部
 55 通信部

Claims (13)

  1.  車載制御装置の更新プログラムを前記車載制御装置に中継する装置であって、
     前記更新プログラムのサーバと移動体通信網を介して通信する第1通信部と、
     他車両と車車間通信を行う第2通信部と、
     前記第1又は第2通信部から受信した前記更新プログラムを前記車載制御装置に送信する車内通信部と、
     車車間通信による前記更新プログラムの転送元として選択可能な前記他車両が存在する場合に、前記更新プログラムを前記他車両から受信するように前記第2通信部を制御する処理部と、を備える中継装置。
  2.  前記処理部は、前記転送元として選択可能な前記他車両が存在しない場合に、前記更新プログラムを前記サーバから受信するように前記第1通信部を制御する請求項1に記載の中継装置。
  3.  前記処理部は、前記他車両の走行状態に応じて、前記他車両を前記転送元として選択可能か否かを判定する請求項1又は請求項2に記載の中継装置。
  4.  前記処理部は、信号待ち中の前記他車両、駐車中の前記他車両、及び自車両と隊列走行中の前記他車両のうちの少なくとも1つを、前記転送元として選択可能であると判定する請求項1~請求項3のいずれか1項に記載の中継装置。
  5.  前記処理部は、自車両と進行方向が異なる前記他車両を、前記転送元として選択不能であると判定する請求項1~請求項4のいずれか1項に記載の中継装置。
  6.  前記処理部は、車車間通信による前記更新プログラムの伝送時間の多寡に応じて、前記他車両を前記転送元として選択可能か否かを判定する請求項1~請求項5のいずれか1項に記載の中継装置。
  7.  前記処理部は、前記他車両との車車間通信の推定接続時間の多寡に応じて、前記他車両を前記転送元として選択可能か否かを判定する請求項1~請求項6のいずれか1項に記載の中継装置。
  8.  前記処理部は、前記他車両との車車間通信の推定接続時間が車車間通信による前記更新プログラムの伝送時間よりも大きい前記他車両を、前記転送元として選択可能であると判定する請求項1~請求項7のいずれか1項に記載の中継装置。
  9.  前記第1又は第2通信部が受信した前記更新プログラムを記憶する記憶部を更に備え、
     前記処理部は、前記車載制御装置による前記更新プログラムを用いた制御プログラムの更新終了後に、前記記憶部に前記更新プログラムを所定期間だけ保持させる請求項1~請求項8のいずれか1項に記載の中継装置。
  10.  車載制御装置の更新プログラムを前記車載制御装置に中継する方法であって、
     前記更新プログラムのサーバと移動体通信網を介して通信する第1ステップと、
     他車両と車車間通信を行う第2ステップと、
     前記第1及び第2ステップのいずれかにより受信した前記更新プログラムを前記車載制御装置に送信する第3ステップと、を含み、
     前記第3ステップにおいて、車車間通信による前記更新プログラムの転送元として選択可能な前記他車両が存在する場合に、前記更新プログラムを前記他車両から受信する中継方法。
  11.  車載制御装置の更新プログラムを前記車載制御装置に中継する装置として、コンピュータを機能させるためのコンピュータプログラムであって、前記コンピュータを、
     前記更新プログラムのサーバと移動体通信網を介して通信する第1通信部の制御、
     他車両と車車間通信を行う第2通信部の制御、及び、
     前記第1又は第2通信部が受信した前記更新プログラムを前記車載制御装置に送信する車内通信部の制御を行う処理部として機能させ、
     前記処理部は、車車間通信による前記更新プログラムの転送元として選択可能な前記他車両が存在する場合に、前記更新プログラムを前記他車両から受信するように前記第2通信部を制御するコンピュータプログラム。
  12.  車載制御装置の更新プログラムを前記車載制御装置に中継する装置であって、
     前記更新プログラムのサーバとの移動体通信網を介した通信である第1通信と、他車両との車車間通信である第2通信とを行う無線通信部と、
     前記無線通信部が受信した前記更新プログラムを前記車載制御装置に送信する車内通信部と、
     車車間通信による前記更新プログラムの転送元として選択可能な前記他車両が存在する場合に、前記更新プログラムを前記他車両から受信するように前記無線通信部を制御する処理部と、を備える中継装置。
  13.  前記処理部は、前記転送元として選択可能な前記他車両が存在しない場合に、前記更新プログラムを前記サーバから受信するように前記無線通信部を制御する請求項12に記載の中継装置。
PCT/JP2016/080061 2016-06-23 2016-10-11 中継装置、中継方法及びコンピュータプログラム WO2017221436A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016124109A JP2017228107A (ja) 2016-06-23 2016-06-23 中継装置、中継方法及びコンピュータプログラム
JP2016-124109 2016-06-23

Publications (1)

Publication Number Publication Date
WO2017221436A1 true WO2017221436A1 (ja) 2017-12-28

Family

ID=60784448

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/080061 WO2017221436A1 (ja) 2016-06-23 2016-10-11 中継装置、中継方法及びコンピュータプログラム

Country Status (2)

Country Link
JP (1) JP2017228107A (ja)
WO (1) WO2017221436A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019039191A1 (ja) * 2017-08-23 2019-02-28 株式会社デンソー 移動体通信システム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10909050B2 (en) * 2018-03-19 2021-02-02 Toyota Jidosha Kabushiki Kaisha Gateway apparatus and communication method
WO2019187391A1 (ja) * 2018-03-26 2019-10-03 住友電気工業株式会社 制御装置、プログラム更新方法、コンピュータプログラム、プログラム送付方法、及びリムーバブルメディア
DE102018205615A1 (de) * 2018-04-13 2019-10-17 Audi Ag Verfahren zum Aktualisieren einer Fahrzeugsoftware
JP2019192027A (ja) * 2018-04-26 2019-10-31 株式会社オートネットワーク技術研究所 車両用ソフトウェア配信システム、車両用ソフトウェア配信装置、配信指示装置、車載通信装置、車両用ソフトウェア配信方法及びコンピュータプログラム
JP7338384B2 (ja) 2019-10-03 2023-09-05 トヨタ自動車株式会社 車両の演算処理装置、サーバコンピュータおよびプログラム
JP7327304B2 (ja) * 2020-07-08 2023-08-16 トヨタ自動車株式会社 ソフトウェア更新装置、方法、プログラムおよび車両
WO2024096088A1 (ja) * 2022-11-04 2024-05-10 株式会社デンソー 制御装置、制御方法、及び制御プログラム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004248084A (ja) * 2003-02-14 2004-09-02 Nissan Motor Co Ltd 車車間通信装置
JP2005148956A (ja) * 2003-11-12 2005-06-09 Denso It Laboratory Inc 情報配布方法及び情報配布処理用プログラム
JP2007194834A (ja) * 2006-01-18 2007-08-02 Fujitsu Ten Ltd 端末装置
JP2007318353A (ja) * 2006-05-24 2007-12-06 Fujitsu Ten Ltd 車載通信装置および車両用の通信方法
JP2010220050A (ja) * 2009-03-18 2010-09-30 Denso Corp コンテンツデータ取得システム
JP2012048489A (ja) * 2010-08-26 2012-03-08 Toyota Infotechnology Center Co Ltd キャッシュ管理装置およびデータ配信システム
US20140310702A1 (en) * 2013-04-15 2014-10-16 Flextronics Ap, Llc Vehicle and device software updates propagated via a viral communication contact
US20150220321A1 (en) * 2014-02-06 2015-08-06 Hyundai Motor Company Method of updating software for vehicle

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004248084A (ja) * 2003-02-14 2004-09-02 Nissan Motor Co Ltd 車車間通信装置
JP2005148956A (ja) * 2003-11-12 2005-06-09 Denso It Laboratory Inc 情報配布方法及び情報配布処理用プログラム
JP2007194834A (ja) * 2006-01-18 2007-08-02 Fujitsu Ten Ltd 端末装置
JP2007318353A (ja) * 2006-05-24 2007-12-06 Fujitsu Ten Ltd 車載通信装置および車両用の通信方法
JP2010220050A (ja) * 2009-03-18 2010-09-30 Denso Corp コンテンツデータ取得システム
JP2012048489A (ja) * 2010-08-26 2012-03-08 Toyota Infotechnology Center Co Ltd キャッシュ管理装置およびデータ配信システム
US20140310702A1 (en) * 2013-04-15 2014-10-16 Flextronics Ap, Llc Vehicle and device software updates propagated via a viral communication contact
US20150220321A1 (en) * 2014-02-06 2015-08-06 Hyundai Motor Company Method of updating software for vehicle

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019039191A1 (ja) * 2017-08-23 2019-02-28 株式会社デンソー 移動体通信システム

Also Published As

Publication number Publication date
JP2017228107A (ja) 2017-12-28

Similar Documents

Publication Publication Date Title
WO2017221436A1 (ja) 中継装置、中継方法及びコンピュータプログラム
JP6380461B2 (ja) 中継装置、プログラム更新システム、およびプログラム更新方法
JP6323480B2 (ja) プログラム更新システム、プログラム更新方法及びコンピュータプログラム
JP6519708B2 (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
JP6562134B2 (ja) 中継装置、プログラム更新システム、およびプログラム更新方法
JP2017157003A (ja) プログラム更新システム、プログラム更新方法及びコンピュータプログラム
JP4864543B2 (ja) 車載通信装置および車両用の通信方法
JP2017157003A5 (ja)
CN111066334B (zh) 移动体通信系统
JP6451899B2 (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
US11704104B2 (en) Control apparatus, control method, and computer program
GB2527270A (en) Updating vehicle software using a smartphone
US20190129710A1 (en) Control apparatus, method for determining whether or not a control program is updatable, and computer program
US11537382B2 (en) Updating control device, control method, and computer program
JP6394678B2 (ja) 制御装置、制御プログラムの更新可否の決定方法、及びコンピュータプログラム
US10970063B2 (en) Relay apparatus, transfer method, and computer program
KR102103823B1 (ko) V2x 통신 시스템 및 그 처리 방법
US20190073210A1 (en) Control apparatus, program distribution method, and computer program
JP2005156169A (ja) タイミング制御型ダウンロードシステム
JP2018181376A (ja) 中継装置、プログラム更新システム、およびプログラム更新方法
CN114667502A (zh) 车载更新装置、程序以及程序的更新方法
US20210191713A1 (en) Center device, reprogramming data distribution system, and reprogramming data distribution plan creation program product
JP2017228103A (ja) 制御装置、プログラム配信方法、およびコンピュータプログラム
WO2017149827A1 (ja) 制御装置、プログラム配信方法、およびコンピュータプログラム
WO2018189951A1 (ja) 中継装置、中継方法、およびコンピュータプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16906352

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16906352

Country of ref document: EP

Kind code of ref document: A1