WO2017149822A1 - プログラム配信システム、サーバ、プログラム配信方法、およびコンピュータプログラム - Google Patents

プログラム配信システム、サーバ、プログラム配信方法、およびコンピュータプログラム Download PDF

Info

Publication number
WO2017149822A1
WO2017149822A1 PCT/JP2016/080058 JP2016080058W WO2017149822A1 WO 2017149822 A1 WO2017149822 A1 WO 2017149822A1 JP 2016080058 W JP2016080058 W JP 2016080058W WO 2017149822 A1 WO2017149822 A1 WO 2017149822A1
Authority
WO
WIPO (PCT)
Prior art keywords
vehicle
program
download
control device
update
Prior art date
Application number
PCT/JP2016/080058
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
Priority claimed from JP2016039917A external-priority patent/JP6323480B2/ja
Priority claimed from JP2016110613A external-priority patent/JP6358286B2/ja
Application filed by 住友電気工業株式会社 filed Critical 住友電気工業株式会社
Publication of WO2017149822A1 publication Critical patent/WO2017149822A1/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

Definitions

  • the present invention relates to a program distribution system, a server, a program distribution method, and a computer program.
  • the present application includes Japanese application No. 2016-039917 filed on March 2, 2016, Japanese application No. 2016-110613 filed on June 2, 2016, and Japanese Application No. 2016- filed on June 23, 2016. The priority based on 124073 is claimed, and all the contents described in the Japanese application are incorporated.
  • a gateway such as an in-vehicle communication device receives an update program of an ECU (Electronic Control Unit) that is an in-vehicle control device from the management server, and the ECU uses the received update program to change the control program from the old version to the new version.
  • ECU Electronic Control Unit
  • Patent Document 1 There has been disclosed a technique for performing program update for each ECU of a vehicle remotely by wireless communication by rewriting.
  • a program distribution system relays communication between an in-vehicle device and an in-vehicle control device connected to the in-vehicle control device via an in-vehicle communication line in a vehicle equipped with the in-vehicle control device that controls the in-vehicle device.
  • a processing unit that determines the order; and a download control unit that starts the download process according to the determined priority order.
  • the server in a vehicle equipped with an in-vehicle control device that controls an in-vehicle device, the server is connected to the in-vehicle control device via an in-vehicle communication line and relays communication between the external device and the in-vehicle control device.
  • a server that downloads an update program for an in-vehicle control device to a device, a processing unit that determines the priority of the update program download process for each relay device of a plurality of vehicles, and the determined priority
  • a download control unit that starts the download process according to
  • the program distribution method is a method of distributing an update program of an in-vehicle control device that controls a target device mounted on a vehicle to a plurality of vehicles, and is updated for the plurality of vehicles.
  • a computer program causes a computer to function as a control device that controls downloading of an update program for an in-vehicle control device that controls a target device mounted on each of the plurality of vehicles.
  • a computer program comprising: a processing unit for determining a priority of a download process for an update program for a relay device of each of a plurality of vehicles; and a download control unit for starting a download process according to the determined priority. And make it work.
  • 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 sequence diagram which shows an example of the update of the control program of ECU. 6 is a flowchart illustrating an example of a flow of scheduling processing in step S2 of FIG. 5. It is the block diagram which showed the specific example of the function structure of the management server. It is a figure showing the specific example of the traveling model of a vehicle. It is a figure showing the specific example of the traveling model of a vehicle.
  • the program providing device transmits a vehicle control program corresponding to the vehicle type of the vehicle in a lump for each vehicle type.
  • the number of vehicles may be enormous, and if update programs are distributed all at once, the processing load on the distribution server may become excessive.
  • An object of an aspect of the present disclosure is to provide a program distribution system, a server, a program distribution method, and a program distribution system that can reliably distribute an update program to a plurality of vehicles while suppressing a processing load on the server when the update program is distributed to the plurality of vehicles. And providing a computer program.
  • the program distribution system included in the present embodiment is connected to an in-vehicle control device through an in-vehicle communication line in a vehicle equipped with an in-vehicle control device that controls the in-vehicle device, and communicates between the outside device and the in-vehicle control device.
  • a download control unit for starting download processing according to the determined priority.
  • the start of the download process is not concentrated on each of the plurality of relay apparatuses, but is started according to the determined priority order. That is, the start of the download process is distributed among the plurality of relay devices. Therefore, it is possible to reliably distribute the update program to each of the plurality of relay devices while suppressing an increase in the processing load on the server.
  • the processing unit determines the priority order based on a travel pattern predicted based on a travel history of each of the plurality of vehicles.
  • the download process is started earlier for a traveling pattern suitable for updating the control program. Therefore, it is possible to distribute update programs in an order suitable for a plurality of relay devices while suppressing an increase in server processing load.
  • the processing unit determines the priority order based on the usage status of each of the plurality of vehicles. Thereby, the download process is started in the order corresponding to the usage status. Therefore, it is possible to distribute update programs in an order suitable for a plurality of relay devices while suppressing an increase in server processing load.
  • the usage status includes at least one of the usage frequency of the vehicle, the version of the control program of the in-vehicle control device, and the setting for the in-vehicle device.
  • the update program can be distributed in an order suitable for a plurality of relay devices while suppressing an increase in the processing load of the server.
  • the processing unit determines the priority order based on a communication index indicating a communication state between each of the plurality of relay apparatuses and the server.
  • the download process is started in the order based on the communication index. Therefore, it is possible to distribute update programs in an order suitable for a plurality of relay devices while suppressing an increase in server processing load.
  • the processing unit determines the priority order based on the communication state of the vehicle during the download period of the update program.
  • the download process is started in the order based on the communication state of the vehicle during the download period. Therefore, it is possible to distribute update programs in an order suitable for a plurality of relay devices while suppressing an increase in server processing load.
  • the processing unit determines the priority order based on correlation information correlated with a communication state between each of the plurality of relay apparatuses and the server.
  • the download process is started in the order based on the correlation information. Therefore, it is possible to distribute update programs in an order suitable for a plurality of relay devices while suppressing an increase in server processing load.
  • the processing unit determines the priority order based on attributes set in advance for each of the plurality of vehicles. Thereby, the download process is started in the order based on the attributes of the vehicle. Therefore, it is possible to distribute update programs in an order suitable for a plurality of relay devices while suppressing an increase in server processing load.
  • the processing unit determines the priority when the type of the update program is not an exceptional type. As a result, it is possible to achieve both the reduction of the server processing load and the necessity of downloading the update program.
  • the exceptional type is a type indicating that the update program is highly important or urgent. As a result, it is possible to achieve both reduction in the processing load on the server and the importance and urgency of the update program.
  • the server included in the present embodiment is a relay device that is connected to an in-vehicle control device through an in-vehicle communication line and relays communication between an out-of-vehicle device and the in-vehicle control device in a vehicle equipped with an in-vehicle control device that controls the in-vehicle device.
  • it is a server that downloads an update program for an in-vehicle control device, and for each relay device of a plurality of vehicles, a processing unit that determines the priority of download processing of the update program, and the determined priority
  • a download control unit for starting the download process is a server that downloads an update program for an in-vehicle control device, and for each relay device of a plurality of vehicles, a processing unit that determines the priority of download processing of the update program, and the determined priority
  • the start of the download process is not concentrated on each of the plurality of relay apparatuses, but is started according to the determined priority order. That is, the start of the download process is distributed among the plurality of relay devices. Therefore, it is possible to reliably distribute the update program to each of the plurality of relay devices while suppressing an increase in the processing load on the server.
  • the program delivery method included in the present embodiment is a method of delivering an update program for an in-vehicle control device that controls a target device mounted on a vehicle to a plurality of vehicles, A step of determining the priority order of the download process of the update program; and a download control unit that starts the download process according to the determined priority order.
  • the start of the download process is not concentrated on each of the plurality of relay apparatuses, but is started according to the determined priority order. That is, the start of the download process is distributed among the plurality of relay devices. Therefore, it is possible to reliably distribute the update program to each of the plurality of relay devices while suppressing an increase in the processing load on the server.
  • a computer program included in the present embodiment is a computer for causing a computer to function as a control device that controls downloading of an update program for an in-vehicle control device that controls a target device mounted on each of the plurality of vehicles.
  • a processing unit that determines a priority of a download process of an update program for a relay device of each of a plurality of vehicles, and a download control unit that starts a download process according to the determined priority; To function as.
  • the start of the download process is not concentrated on each of the plurality of relay apparatuses, but is started according to the determined priority order. That is, the start of the download process is distributed among the plurality of relay devices. Therefore, it is possible to reliably distribute the update program to each of the plurality of relay devices while suppressing an increase in the processing load on 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 the present embodiment includes a plurality of vehicles 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 users who are registered as members in advance.
  • Each vehicle 1 is equipped with a gateway 10, a wireless communication unit 15, a plurality of ECUs 30, and various in-vehicle devices (not shown) controlled by the respective ECUs 30.
  • Each vehicle 1 has a communication group of a plurality of ECUs 30 that are bus-connected to a common in-vehicle communication line, and the gateway 10 relays communication between the communication groups. Therefore, a plurality of in-vehicle communication lines are connected to the gateway 10.
  • the wireless communication unit 15 is communicably connected to a wide area communication network 2 such as a mobile phone network, and is connected to the gateway 10 via an in-vehicle communication line.
  • the gateway 10 transmits information received by the wireless 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 wireless communication unit 15, and the wireless communication unit 15 transmits the information to an external device such as the management server 5.
  • Examples of the wireless communication unit 15 mounted on the vehicle 1 include devices such as mobile phones, smartphones, tablet terminals, and notebook PCs (Personal Computers) owned by users.
  • the gateway 10 communicates with an external device via the wireless communication unit 15 is illustrated, but when the gateway 10 has a wireless communication function, the gateway 10 itself is the management server 5 or the like It is good also as a structure which performs radio
  • the management server 5 and the DL server 6 are configured as separate servers, but these servers 5 and 6 may be configured as one 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 via the wireless communication unit 15 and the in-vehicle communication line, but these may be configured by a single device.
  • the CPU 11 causes the gateway 10 to function as a relay device for various types of information by reading one or more programs stored in the storage unit 13 into the RAM 12 and executing them.
  • 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 a program executed by the CPU 11, data necessary for execution, and the like.
  • the computer program realized 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 and data necessary for execution.
  • the storage unit 13 also stores an update program for each ECU 30 received from the DL server 6.
  • a plurality of ECUs 30 are connected to the in-vehicle communication unit 14 via an in-vehicle communication line disposed in the vehicle 1.
  • the in-vehicle communication unit 14 is, for example, CAN (Controller Area Network), CANFD (CAN with Flexible Data Rate), LIN (Local Interconnect Network), Ethernet (registered trademark), or MOST (Media Oriented Systems Transport: MOST is a registered trademark). Communication with the ECU 30 is performed according to the standard.
  • the in-vehicle communication unit 14 transmits the information given from the CPU 11 to the target ECU 30 and gives the information received from the ECU 30 to the CPU 11.
  • the in-vehicle communication unit 14 may communicate according to other communication standards used for the in-vehicle network as well as the above communication standards.
  • the wireless communication unit 15 includes a wireless communication device including an antenna and a communication circuit that performs transmission / reception of a wireless signal from the antenna.
  • the wireless communication unit 15 can communicate with an external device by being connected to a wide area communication network 2 such as a mobile phone network.
  • the wireless 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 formed by a base station (not shown), and receives information received from the external device to the CPU 11. give.
  • 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 device 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, and a door lock control ECU.
  • the CPU 31 controls the operation of the target device that it is in charge of by reading one or more programs stored in advance in the storage unit 33 into the RAM 32 and executing them.
  • 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 configured by 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 perform 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 for the target device (for example, engine control for the fuel engine, door lock control for 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 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 storage unit 54 includes a nonvolatile memory element such as a flash memory or an EEPROM, or a magnetic storage device such as a hard disk.
  • the communication unit 55 includes a communication device that executes communication processing in accordance with a predetermined communication standard, and is connected to the wide area communication network 2 such as a mobile phone network to execute the communication processing.
  • the communication unit 55 transmits the information given from the CPU 51 to the external device via the wide area communication network 2 and gives the information received via the wide area communication network 2 to the CPU 51.
  • FIG. 5 is a sequence diagram illustrating an example of control program update for the ECU, which is executed in the program update system of the present embodiment.
  • the update program is placed in the DL server 6 by a car maker of the vehicle 1, and it is set that the update program can be distributed to the management server 5.
  • the management server 5 acquires update information that is information related to the update program from the DL server 5 in which the update program is stored (step S1).
  • the update information is, for example, information related to the distribution destination of the update program and information related to the data size.
  • the management server 5 executes the scheduling process when the update program can be distributed (step S2).
  • the scheduling process is a process for determining an update program distribution schedule so that the update program download start times are distributed among the gateways 10A to 10C of each of the plurality of vehicles 1.
  • the management server 5 requests the gateways 10A to 10C to update the update program of the ECU 30 in the order according to the determined schedule (steps S3A to S3C).
  • the management server 5 transmits the update program storage destination URL and the download request to the gateway 10 of the corresponding vehicle 1.
  • each gateway 10 downloads the update program for the ECU 30 from the DL server 6 in the order according to the order of the request (steps S4A to S4C).
  • each gateway 10 executes an update process to update the control program using the update program downloaded and stored in the memory (steps S5A to S5C).
  • the gateway 10 requests the corresponding ECU 30 to update the control program.
  • the control mode of the ECU 30 is switched from the normal mode to the repro mode, and the ECU can be updated by the control program.
  • the ECU 30 rewrites the control program from the old version to the new version by developing the update program received from the gateway 10 and applying it to the control program of the old version.
  • FIG. 6 is a flowchart showing specific contents of the scheduling process in step S2 of FIG.
  • the processing shown in the flowchart of FIG. 6 is mainly realized by the CPU 51 when the CPU 51 of the management server 5 reads the program stored in the ROM 52 onto the RAM 53 and executes it. In the present embodiment, it is assumed that the operations after step S103 in FIG. 6 are performed. Step S101 in FIG. 6 will be described in the second embodiment.
  • the CPU 51 of the management server 5 acquires scheduling information that is information used for the scheduling process (step S103).
  • the CPU 51 determines the download priority order between the gateways 10A to 10C using the acquired scheduling information (step S105). The determination method in step S105 will be described later.
  • the CPU 51 requests download to the gateway 10 of the corresponding vehicle 1 in accordance with the determined priority order (step S107). Thereby, the download of the update program to the gateway 10 concerned is started.
  • FIG. 7 is a block diagram illustrating a specific example of a functional configuration of the management server 5 for performing the scheduling process.
  • Each function of FIG. 7 is mainly realized by the CPU 51 when the CPU 51 of the management server 5 reads the program stored in the ROM 51 onto the RAM 52 and executes it.
  • the CPU 51 of the management server 5 includes a scheduling information acquisition unit 511 for acquiring scheduling information, a scheduling unit 512 for determining a schedule, and a DL for controlling the download process.
  • a control unit 513 and an update information acquisition unit 514 for acquiring update information are included. Note that the determination unit 515 illustrated in FIG. 7 will be described in the second embodiment.
  • the download process is, for example, a process (step S3) for requesting the gateway 10 to download an update program (notification of necessary information). If the management server 5 and the DL server 6 are configured as a single server device as described above, the download process may be the start of transmission (download) of the update program to the gateway 10. Alternatively, the download may fail and another download (retry) may be started.
  • the travel model is a model of the travel pattern of the vehicle 1 that is generated based on the accumulation (travel history) of the travel state of the vehicle 1.
  • the travel model includes, for example, a travel pattern for each day of the week and time.
  • the scheduling information acquisition unit 511 includes a travel prediction unit 516 for performing travel prediction.
  • the travel prediction unit 516 acquires the current date and time and the travel model for each vehicle 1.
  • scheduling information acquisition unit 511 further includes learning unit 518.
  • the storage unit 54 is also provided with a model map storage unit 541 that stores a travel model for each vehicle 1 generated by the learning unit 518.
  • the learning unit 518 and the model map storage unit 541 are an example of a travel model acquisition unit that acquires a travel model.
  • the travel prediction unit 516 reads the travel model of the corresponding vehicle 1 from the model map storage unit 541.
  • Learning unit 518 generates a travel model for each vehicle 1 based on the accumulation of the travel state for a predetermined period.
  • the learning unit 518 communicates with the gateway 10 of the corresponding vehicle 1 through the communication unit 55, thereby obtaining a vehicle obtained from a user's mobile terminal device such as an ECU 30 of the vehicle 1 or a smartphone (not shown), a car navigation device, or the like.
  • Information indicating the running state of 1 is collected for a predetermined period.
  • the information indicating the traveling state of the vehicle 1 includes, for example, the traveling position of the vehicle 1, the ON / OFF state of the engine, the operating state, the ON / OFF state of the power source, and the like.
  • the learning unit 518 statistically processes these pieces of information for a predetermined period, thereby generating a travel pattern for each vehicle 1 such as every time zone, every day of the week, every season, and the like, and models it as a travel model.
  • the statistical processing method used to generate the running pattern is not limited to a specific method, and any method can be adopted.
  • the travel model acquisition unit may acquire a travel model generated by the gateway 10 of each vehicle 1 and stored in the storage unit 13 of the gateway 10 from the gateway 10.
  • FIG. 8 and 9 are diagrams showing specific examples of a traveling model of a certain vehicle 1, respectively.
  • FIG. 8 shows a specific example of a travel model when the vehicle 1 is used for commuting.
  • FIG. 9 shows a specific example of a travel model when the vehicle 1 is used mainly on holidays (Saturday and Sunday).
  • the learning unit 518 acquires the traveling state (running or stopped) of the vehicle 1 and date / time information at a predetermined timing such as a fixed time interval over a predetermined period. And as an example, the learning part 518 produces
  • the traveling model is generated as a model map MM that is information in a map format as shown in FIGS.
  • the learning unit 518 stores the generated model map MM in the model map storage unit 541 for each vehicle 1.
  • the travel prediction unit 516 predicts the travel pattern (travel position, travel route) after the current date and time represented in the travel model as the travel pattern of the vehicle 1. For example, it is assumed that the model map MM for a certain vehicle 1 represents the travel model of FIG. If the current date and time is immediately before 9:00 am on weekdays, the travel prediction unit 516 predicts that the vehicle 1 is likely to be parked on the go after the determination time based on the travel model of FIG. To do. If the current date and time is 18:30 on Thursday, the travel prediction unit 516 predicts that the vehicle 1 will continue to travel for a while after the determination time based on the travel model of FIG.
  • the travel prediction unit 516 may acquire a result of travel prediction by another device such as the gateway 10 of the corresponding vehicle 1 from the other device.
  • the scheduling unit 512 stores the correspondence between the running pattern and the priority order as the scheduling condition C in advance.
  • the scheduling condition C includes measures such as increasing the download priority for vehicles predicted to be parked soon, and decreasing the download priority for vehicles predicted to continue running for a while.
  • the priority order of download may rank one or a plurality of vehicles 1, and the above correspondence may be a correspondence with a specific rank. This is because the control mode of the corresponding ECU 30 is switched from the normal mode to the repro mode while the control program is being updated, and normal traveling is not possible. Therefore, the possibility that the control program can be updated becomes higher as the vehicle parks and stops, and the possibility that the control program can be updated becomes lower as the vehicle continues to travel.
  • the scheduling unit 512 determines the download priority for each vehicle 1 according to the correspondence relationship included in the scheduling condition C based on the traveling pattern of each vehicle 1.
  • the start of download is distributed among the plurality of gateways 10A to 10C, and the update program is efficient in accordance with the travel prediction of the corresponding vehicle 1 Downloaded automatically.
  • the scheduling information acquisition unit 511 acquires the usage frequency for each vehicle 1.
  • the usage frequency can be obtained, for example, by communicating with the ECU that controls the traveling of the vehicle 1 via the gateway 10.
  • the usage frequency may be obtained by reading the travel model for each vehicle 1 from the model map storage unit 541.
  • the scheduling unit 512 stores in advance the correspondence between the usage frequency and priority for each vehicle 1 as the scheduling condition C.
  • Scheduling condition C is, for example, when the weekly running time is less than 10 hours (low usage frequency), the download priority is increased, and the weekly running time is 30 hours or more (usage frequency is low). In the case of (high), it includes measures such as lowering the download priority. This is because the power source of the corresponding vehicle 1 needs to be in the ON state during the update of the control program. For this reason, the more frequently used vehicles are more likely to be able to update the control program, and the less frequently used vehicles are less likely to be able to update the control program.
  • the scheduling unit 512 determines the download priority for each vehicle 1 according to the correspondence relationship included in the scheduling condition C based on the usage frequency of each vehicle 1.
  • the start of the download is distributed among the plurality of gateways 10A to 10C, and the efficiency of the update program according to the frequency of use of the corresponding vehicle 1 Downloaded automatically.
  • the usage status may include version information of the corresponding control program of the ECU 30, and the priority order may be determined based on the version information.
  • the scheduling information acquisition unit 511 acquires the version information of the control program of the corresponding ECU 30 for each vehicle 1 by communicating with the gateway 10 of the vehicle 1.
  • the scheduling unit 512 stores in advance the correspondence between the version of the control program of the ECU 30 and the priority order as the scheduling condition C.
  • Scheduling condition C includes measures such as increasing the download priority as the version of the control program of ECU 30 is older. This is because update to the current (latest) version is urgent as the version of the control program is older.
  • the scheduling unit 512 determines the download priority for each vehicle 1 in accordance with the correspondence relationship included in the scheduling condition C based on the version of the control program of the corresponding ECU 30 of each vehicle 1.
  • the start of download is distributed among the plurality of gateways 10A to 10C, and the update program is downloaded according to the necessity of update.
  • the usage status may include ON / OFF setting of the function controlled by the corresponding ECU 30, and the priority order may be determined based on the setting.
  • the scheduling information acquisition unit 511 acquires information indicating ON / OFF setting of the function controlled by the corresponding ECU 30 for each vehicle 1 by communicating with the gateway 10 of the vehicle 1.
  • the scheduling unit 512 stores in advance the correspondence between the ON / OFF setting of the ECU 30 and the priority order as the scheduling condition C.
  • the scheduling condition C includes measures such as increasing the download priority when the function controlled by the ECU 30 is set ON, and decreasing the download priority when the function controlled by the ECU 30 is set OFF. This is less likely to be used when the function controlled by the ECU 30 is set to OFF, so the necessity for updating the control program of the ECU 30 is low, and may be used when the function is set to ON. This is because the necessity for updating is high.
  • the scheduling unit 512 determines the download priority for each vehicle 1 in accordance with the correspondence relationship included in the scheduling condition C based on the ON / OFF setting of the function controlled by the corresponding ECU 30 of each vehicle 1.
  • the start of the download is distributed among the plurality of gateways 10A to 10C, and the update program is downloaded according to the necessity of update. Is done.
  • the priority order of download may be determined by combining the second methods described above. That is, the download priority order may be determined using at least one of the use frequency of the vehicle, the version of the control program, and the setting for the ECU. That is, the priority order may be determined by combining two or three of the use frequency of the vehicle, the version of the control program, and the setting for the ECU.
  • (Scheduling method 3) As a third method for determining the schedule, there is a method for determining the priority order based on a communication index indicating a communication state with the DL server 6 of each vehicle 1.
  • the communication index is, for example, the number of packets transmitted in the wide area communication network 2 between the DL server 6 of the vehicle 1, the communication amount, the measured value (index value) of the communication speed, or the value calculated from the measured value. (Index value).
  • the scheduling information acquisition unit 511 acquires a communication index for each vehicle 1. It is assumed that the number of packets, the amount of communication, and the like are measured by, for example, a telecommunications carrier that manages the wide area communication network 2 and the measured values are provided on a website or the like.
  • the scheduling information acquisition unit 511 can store the URL of the website in advance and acquire a measurement value from the website. When using a value calculated from the actual measurement value as an index, the scheduling information acquisition unit 511 acquires the actual measurement value from the website and calculates the index value using the actual measurement value.
  • the index value calculated from the actual measurement value is, for example, a line usage rate.
  • the scheduling information acquisition unit 511 stores the maximum number of packets that can be transmitted in the wide area network 2 and calculates the line usage rate by dividing the actually measured number of packets by the maximum number of packets that can be transmitted. To do.
  • the scheduling unit 512 stores in advance the correspondence between the index value and the priority order for each vehicle 1 as the scheduling condition C.
  • the scheduling condition C includes measures such as increasing the download priority when the usage rate is less than 70%, and lowering the download priority when the usage rate is 70% or more. This is because the vehicle 1 having a high possibility that the communication line used for downloading the update program is congested will be downloaded later, and the vehicle 1 having a high possibility that the communication state of the communication line is good will be downloaded first. It is to do.
  • the scheduling unit 512 determines the download priority for each vehicle 1 according to the correspondence relationship included in the scheduling condition C.
  • the start of download is distributed among the plurality of gateways 10A to 10C, and the update program is reliably distributed to each vehicle 1.
  • the correlation information is information related to an event that is a causal event that can cause the number of communication accesses that imposes a strain on the communication circuit.
  • the above events are, for example, events that are temporally and geographically specified. For example, sports events (games, sports day, etc.), music events (concerts, etc.), festival events such as festivals, explosion accidents, public events, etc.
  • the correlation information includes the occurrence period and the influence range of the event.
  • the scheduling information acquisition unit 511 stores at least a part of the correlation information in advance.
  • the scheduling information acquisition unit 511 may access and acquire a server (not shown) that provides at least a part of the correlation information.
  • the scheduling information acquisition unit 511 can acquire the occurrence position and date of occurrence of the earthquake by accessing the site of the Japan Meteorological Agency.
  • the scheduling information acquisition unit 511 stores, as part of the correlation information, for example, the occurrence period as one week from the occurrence date and time, the affected area as the prefecture adjacent to the prefecture including the occurrence position, and the like.
  • the scheduling information acquisition unit 511 further acquires the current position of each vehicle 1.
  • the current position of the vehicle 1 is acquired, for example, by communicating with the gateway 10 of the corresponding vehicle 1.
  • the gateway 10 can obtain the position information of the vehicle 1 by communicating with, for example, a navigation device (not shown) or communicating with GPS (Global Positioning System).
  • the scheduling unit 512 stores in advance, as a scheduling condition C, a correspondence between an association with an event for each vehicle 1 and a priority order.
  • the scheduling condition C is such that the download priority is lowered when the current date and time are included in the occurrence period of the event and the current position is included in the influence range of the event, and the download is performed otherwise. Including measures such as increasing the priority of This is because the vehicle 1 having a high possibility that the communication line used for downloading the update program is congested will be downloaded later, and the vehicle 1 having a high possibility that the communication state of the communication line is good will be downloaded first. It is to do.
  • the scheduling unit 512 determines the download priority order for each vehicle 1 according to the correspondence relationship included in the scheduling condition C based on the association with the event of each vehicle 1.
  • the start of download is distributed among the plurality of gateways 10A to 10C, and the update program is reliably distributed to each vehicle 1.
  • the DL period refers to a period from when transmission of the update program is started in wireless communication from the DL server 6 to the wireless communication unit 15 of the gateway 10 until reception by the wireless communication unit 15 is completed.
  • the quality of the communication state of the vehicle 1 during the DL period can be determined by whether or not the travel route predicted to pass by the vehicle 1 is included in a dead area where the communication state is poor.
  • the scheduling information acquisition unit 511 acquires an area map including a dead area.
  • the area map is information indicating the communication strength at the position or range for each position or range, such as ⁇ 100 [dBm] for mountainous areas and ⁇ 120 [dBm] for tunnels and underground.
  • the area map is assumed to be generated by a communication company that manages wireless communication performed by the wireless communication unit 15 and provided on a website or the like.
  • the scheduling information acquisition unit 511 can store the URL of the website in advance and acquire an area map from the website.
  • the scheduling information acquisition unit 511 acquires a travel route.
  • the scheduling information acquisition unit 511 acquires a travel route from the navigation device by communicating with a navigation device (not shown) mounted on the vehicle 1 via the gateway 10.
  • the travel route generated by the navigation device includes the travel route and the time until the vehicle passes each position. Therefore, the travel prediction unit 516 predicts the travel route generated by the navigation device as the travel route of the vehicle 1.
  • the scheduling information acquisition unit 511 acquires a travel history of the vehicle 1 and predicts a travel route from the travel history.
  • the travel history is obtained by statistically processing the travel position (for example, latitude and longitude) of the vehicle 1 for each predetermined period such as day of the week and time, and can be said to be a model of a travel pattern for each predetermined period.
  • the statistical process is a process in which a position having the highest possibility of traveling every predetermined period is specified and determined as the traveling position of the period. For example, when the vehicle 1 is used for work from Monday to Friday, the travel history in the commuting time zone (for example, from 8 am to 8:30 am) indicates the travel route from home to the office.
  • the method of statistical processing is not limited to a specific method, and any method can be adopted.
  • the scheduling information acquisition unit 511 acquires the travel history by communicating with the gateway 10.
  • the management server 5 acquires the travel position of each vehicle 1 and accumulates it to generate a travel history
  • the scheduling information acquisition unit 511 acquires the travel history from the storage unit 54.
  • the travel prediction unit 516 predicts the travel route of the vehicle 1 based on the travel history of each vehicle 1. For example, the scheduling information acquisition unit 511 reads a travel history for a period corresponding to the current date and time and sets it as a predicted travel route.
  • the travel history for the period corresponding to the current date and time is predicted to be a route on which the vehicle 1 travels.
  • the scheduling unit 512 compares the predicted travel route with the area map, and determines whether the communication state is good or not based on whether at least a part of the predicted travel route is included in the insensitive area. That is, when the predicted travel route of the vehicle 1 does not pass through the dead area, the scheduling unit 512 determines that the communication state of the vehicle 1 is good. If not, or for the vehicle 1 that is not, the scheduling unit 512 does not determine that the communication state is good.
  • the scheduling unit 512 stores in advance the correspondence between the determination result of the communication state for each vehicle 1 and the priority order as the scheduling condition C.
  • the scheduling condition C includes measures such as increasing the download priority when it is determined that the communication state is good, and decreasing the download priority otherwise. This is because it is likely that the communication state of the wireless communication unit 15 during the DL period is good after downloading to the vehicle 1 where the communication state of the wireless communication unit 15 is likely to deteriorate during the DL period. This is to download the vehicle 1 first.
  • the scheduling unit 512 determines the download priority for each vehicle 1 according to the correspondence relationship included in the scheduling condition C.
  • the start of download is distributed among the plurality of gateways 10A to 10C, and the update program is reliably distributed to each vehicle 1.
  • the management server 5 may notify the gateway 10 of each vehicle 1 that there is an update program, and may notify information necessary for downloading such as access information of the DL server 6 in response to a request from the gateway 10.
  • the process of notifying information necessary for download is included in the download process.
  • the scheduling unit 512 may determine the download priority order based on the order of requests from the gateway 10. If the request is distributed, the start of the download is also distributed.
  • the scheduling unit 512 may have a random number generation function, and may use the random number to randomly determine download priorities for the plurality of gateways 10A to 10C. Such a scheduling method also distributes the start of download.
  • the scheduling unit 512 may determine download priorities based on preset attributes of each vehicle 1.
  • the attribute of the vehicle is a rank of a vehicle or a rank of a user of the vehicle set in advance, and may be registered in the management server 5 by, for example, a car manufacturer or the user himself / herself.
  • the scheduling information acquisition unit 511 reads the vehicle attribute from the storage unit 54.
  • the scheduling unit 512 stores in advance the correspondence between the attribute of the vehicle and the priority order, including the correspondence such that the higher the rank of the vehicle, the higher the priority of download, and the like for each vehicle 1 according to the correspondence relation. Determine download priority. When the ranks of a plurality of vehicles 1 are distributed, the start of download is distributed.
  • the start of downloading the update program of the ECU is distributed among the plurality of gateways 10A to 10C that are download destinations of the update program. Thereby, increase of the processing load of DL server 6 can be controlled.
  • the program update system in order to distribute the start of downloading, prediction of travel pattern for each vehicle 1, usage frequency, control program version, function ON / OFF setting, etc. Download priority order is determined based on the communication status indicating the communication status with the DL server 6, the correlation information correlated with the communication status, or the predicted value of the communication index. Thereby, the update program can be reliably distributed in an appropriate order while suppressing an increase in the processing load of the DL server 6.
  • the download process is executed without performing the scheduling process.
  • the exceptional type includes information representing a type such as the importance of the update program and the urgency of the update, and includes, for example, flag information such as an important flag and an urgent flag.
  • an update program related to information security such as dealing with security holes, an update program necessary to ensure driving safety, an update program that is highly urgent to update such as map information used for automatic operation mode, Etc.
  • the exceptional types such as the importance of the update program and the urgency of the update are set by a car manufacturer that provides the update program.
  • the management server 5 refers to the type information when executing the scheduling process, and determines whether the scheduling process is necessary or not (Ste S101). If it is determined that the scheduling process is necessary (YES in step S101), the processes after step S103 are executed.
  • the CPU 51 of the management server 5 further includes a determination unit 515 for determining whether or not scheduling processing is necessary.
  • the determination unit 515 determines whether or not scheduling processing is necessary with reference to the update information.
  • the update information includes type information indicating the above-mentioned exceptional type
  • the DL control unit 513 downloads the data to a plurality of gateways 10A to 10C at the same time, for example, at a timing set by the car manufacturer. Request. That is, update programs with high importance and urgency are transmitted even when the processing load of the DL server 6 increases, and update programs that are not so are distributed and distributed. As a result, it is possible to reduce the processing load on the DL server 6 and the importance and urgency of the update program.
  • Exceptional types may include that the data size is less than or equal to the specified size.
  • the data size of the update program is added to the update program as update information by, for example, a car manufacturer that provides the update program.
  • the determination unit 515 stores in advance a processing amount threshold that does not require scheduling processing.
  • the processing amount is, for example, the data size of the update program multiplied by the number of download destinations.
  • the processing amount threshold is a processing amount that does not give a large processing load to the DL server 6.
  • the determination unit 515 calculates the processing amount by multiplying the data size of the update program by the number of download destinations, and compares it with a threshold value. Then, the determination unit 515 determines that the scheduling process is performed when the calculated processing amount is larger than the threshold value.
  • update programs with a processing amount smaller than the threshold are distributed without being distributed, and update programs with a processing amount larger than the threshold are distributed and distributed. Thereby, the processing load of the DL server 6 can be efficiently reduced.
  • the scheduling process is executed in the management server 5 which is a control device that executes the update program download process.
  • the DL server 6 that downloads the update program may also function as a control device that executes the download process and execute the scheduling process. That is, in this case, each function of FIG. 7 is provided by a CPU (not shown) of the DL server 6.
  • Vehicle 2 Wide Area Communication Network 5 Management Server (Control Device) 6 DL server 10, 10A-10C Gateway (control device) 11 CPU 12 RAM DESCRIPTION OF SYMBOLS 13 Memory

Landscapes

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

Abstract

本開示の一態様に係るプログラム配信システムは、車載機器を制御する車載制御装置を搭載した車両において、車載制御装置と車内通信回線で接続されて、車外装置と車載制御装置との通信を中継する中継装置と、サーバから中継装置に対する、車載制御装置の更新プログラムのダウンロードを制御する制御装置と、を備える。制御装置は、複数の車両それぞれの中継装置に対して、更新プログラムのダウンロード処理の優先順位を決定する処理部と、決定された優先順位に従ってダウンロード処理を開始するダウンロード制御部と、を含む。

Description

プログラム配信システム、サーバ、プログラム配信方法、およびコンピュータプログラム
 この発明はプログラム配信システム、サーバ、プログラム配信方法、およびコンピュータプログラムに関する。
 本出願は、2016年3月2日出願の日本出願第2016-039917号、2016年6月2日出願の日本出願第2016-110613号、および2016年6月23日出願の日本出願第2016-124073号に基づく優先権を主張し、前記日本出願に記載された全ての記載内容を援用するものである。
 車載通信機などのゲートウェイが、管理サーバから、車載制御装置であるECU(Electronic Control Unit)の制御プログラムの更新プログラムを受信し、受信した更新プログラム用いてECUが制御プログラムを旧バージョンから新バージョンに書き換えることにより、車両の各ECUに対するプログラム更新を無線通信によって遠隔で実行する技術が開示されている(特許文献1参照)。
特開2007-65856号公報
 ある実施の形態に従うと、プログラム配信システムは、車載機器を制御する車載制御装置を搭載した車両において、車載制御装置と車内通信回線で接続されて、車外装置と車載制御装置との通信を中継する中継装置と、サーバから中継装置に対する、車載制御装置の更新プログラムのダウンロードを制御する制御装置と、を備え、制御装置は、複数の車両それぞれの中継装置に対して、更新プログラムのダウンロード処理の優先順位を決定する処理部と、決定された優先順位に従ってダウンロード処理を開始するダウンロード制御部と、を含む。
 他の実施の形態に従うと、サーバは、車載機器を制御する車載制御装置を搭載した車両において、車載制御装置と車内通信回線で接続されて、車外装置と車載制御装置との通信を中継する中継装置に対して、車載制御装置の更新プログラムをダウンロードするサーバであって、複数の車両それぞれの中継装置に対して、更新プログラムのダウンロード処理の優先順位を決定する処理部と、決定された優先順位に従ってダウンロード処理を開始するダウンロード制御部と、を含む。
 他の実施の形態に従うと、プログラム配信方法は車両に搭載された対象機器を制御する車載制御装置の更新プログラムを複数の車両に対して配信する方法であって、複数の車両に対して、更新プログラムのダウンロード処理の優先順位を決定するステップと、決定された優先順位に従ってダウンロード処理を開始するダウンロード制御部と、を備える。
 他の実施の形態に従うと、コンピュータプログラムは、複数の車両に対する、複数の車両それぞれに搭載された対象機器を制御する車載制御装置の更新プログラムのダウンロードを制御する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、コンピュータを、複数の車両それぞれの中継装置に対して、更新プログラムのダウンロード処理の優先順位を決定する処理部と、決定された優先順位に従ってダウンロード処理を開始するダウンロード制御部と、して機能させる。
本発明の実施形態に係るプログラム更新システムの全体構成図である。 ゲートウェイの内部構成を示すブロック図である。 ECUの内部構成を示すブロック図である。 管理サーバの内部構成を示すブロック図である。 ECUの制御プログラムの更新の一例を示すシーケンス図である。 図5のステップS2のスケジューリング処理の流れの一例を表したフローチャートである。 管理サーバの機能構成の具体例を示したブロック図である。 車両の走行モデルの具体例の表した図である。 車両の走行モデルの具体例の表した図である。
[本開示が解決しようとする課題]
 特許文献1の開示によれば、プログラム提供装置が車両の車種に応じた車両制御プログラムを、車両の車種ごとに一括して送信するものである。しかしながら、車種によっては車両の台数が膨大な場合もあり、一括して更新プログラムを配信すると配信用のサーバの処理負荷が過大になる可能性がある。
 本開示のある局面における目的は、更新プログラムを複数の車両に配信する際のサーバの処理負荷を抑えつつ、該複数の車両に確実に更新プログラムを配信できるプログラム配信システム、サーバ、プログラム配信方法、およびコンピュータプログラムを提供することである。
[本開示の効果]
 この開示によると、更新プログラムを配信するサーバの処理負荷を抑えつつ、確実に更新プログラムを配信できる。
[実施の形態の説明]
 本実施の形態には、少なくとも以下のものが含まれる。
 すなわち、本実施の形態に含まれるプログラム配信システムは、車載機器を制御する車載制御装置を搭載した車両において、車載制御装置と車内通信回線で接続されて、車外装置と車載制御装置との通信を中継する中継装置と、サーバから中継装置に対する、車載制御装置の更新プログラムのダウンロードを制御する制御装置と、を備え、制御装置は、複数の車両それぞれの中継装置に対して、更新プログラムのダウンロード処理の優先順位を決定する処理部と、決定された優先順位に従ってダウンロード処理を開始するダウンロード制御部と、を含む。
 この構成によれば、複数の中継装置それぞれに対してダウンロード処理の開始が一時に集中せず、決定された優先順位に従って開始される。つまり、ダウンロード処理の開始が複数の中継装置の間で分散される。そのため、サーバの処理負荷の増大を抑えつつ、複数の中継装置それぞれに確実に更新プログラムを配信することができる。
 好ましくは、処理部は、複数の車両それぞれの走行履歴に基づいて予測される走行パターンに基づいて優先順位を決定する。
 これにより、たとえば制御プログラムの更新に適した走行パターンほど早くダウンロード処理が開始される。そのため、サーバの処理負荷の増大を抑えつつ、複数の中継装置に適した順に更新プログラムを配信することができる。
 好ましくは、処理部は、複数の車両それぞれの利用状況に基づいて優先順位を決定する。
 これにより、利用状況に応じた順にダウンロード処理が開始される。そのため、サーバの処理負荷の増大を抑えつつ、複数の中継装置に適した順に更新プログラムを配信することができる。
 好ましくは、利用状況は、当該車両の利用頻度、車載制御装置の制御プログラムのバージョン、および車載機器についての設定のうちの少なくとも1つを含む。
 これにより、サーバの処理負荷の増大を抑えつつ、複数の中継装置に適した順に更新プログラムを配信することができる。
 好ましくは、処理部は、複数の中継装置それぞれとサーバとの通信状態を示す通信指標に基づいて優先順位を決定する。
 これにより、通信指標に基づいた順にダウンロード処理が開始される。そのため、サーバの処理負荷の増大を抑えつつ、複数の中継装置に適した順に更新プログラムを配信することができる。
 好ましくは、処理部は、更新プログラムのダウンロード期間中における車両の通信状態に基づいて優先順位を決定する。
 これにより、ダウンロード期間中における車両の通信状態に基づいた順にダウンロード処理が開始される。そのため、サーバの処理負荷の増大を抑えつつ、複数の中継装置に適した順に更新プログラムを配信することができる。
 好ましくは、処理部は、複数の中継装置それぞれとサーバとの通信状態に相関する相関情報に基づいて優先順位を決定する。
 これにより、相関情報に基づいた順にダウンロード処理が開始される。そのため、サーバの処理負荷の増大を抑えつつ、複数の中継装置に適した順に更新プログラムを配信することができる。
 好ましくは、処理部は、複数の車両それぞれについて予め設定されている属性に基づいて優先順位を決定する。
 これにより、車両の属性に基づいた順にダウンロード処理が開始される。そのため、サーバの処理負荷の増大を抑えつつ、複数の中継装置に適した順に更新プログラムを配信することができる。
 好ましくは、処理部は、更新プログラムの種別が例外的な種別ではない場合に優先順位を決定する。
 これにより、サーバの処理負荷の軽減と更新プログラムのダウンロードの必要性とを両立させることができる。
 好ましくは、例外的な種別は、更新プログラムの重要性や緊急性が高いことを示す種別である。
 これにより、サーバの処理負荷の軽減と更新プログラムの重要性や緊急性とを両立させることができる。
 本実施の形態に含まれるサーバは、車載機器を制御する車載制御装置を搭載した車両において、車載制御装置と車内通信回線で接続されて、車外装置と車載制御装置との通信を中継する中継装置に対して、車載制御装置の更新プログラムをダウンロードするサーバであって、複数の車両それぞれの中継装置に対して、更新プログラムのダウンロード処理の優先順位を決定する処理部と、決定された優先順位に従ってダウンロード処理を開始するダウンロード制御部と、を含む。
 この構成によれば、複数の中継装置それぞれに対してダウンロード処理の開始が一時に集中せず、決定された優先順位に従って開始される。つまり、ダウンロード処理の開始が複数の中継装置の間で分散される。そのため、サーバの処理負荷の増大を抑えつつ、複数の中継装置それぞれに確実に更新プログラムを配信することができる。
 本実施の形態に含まれるプログラム配信方法は、車両に搭載された対象機器を制御する車載制御装置の更新プログラムを、複数の車両に対して配信する方法であって、複数の車両に対して、更新プログラムのダウンロード処理の優先順位を決定するステップと、決定された優先順位に従ってダウンロード処理を開始するダウンロード制御部と、を備える。
 この構成によれば、複数の中継装置それぞれに対してダウンロード処理の開始が一時に集中せず、決定された優先順位に従って開始される。つまり、ダウンロード処理の開始が複数の中継装置の間で分散される。そのため、サーバの処理負荷の増大を抑えつつ、複数の中継装置それぞれに確実に更新プログラムを配信することができる。
 本実施の形態に含まれるコンピュータプログラムは、複数の車両に対する、複数の車両それぞれに搭載された対象機器を制御する車載制御装置の更新プログラムのダウンロードを制御する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、コンピュータを、複数の車両それぞれの中継装置に対して、更新プログラムのダウンロード処理の優先順位を決定する処理部、および、決定された優先順位に従ってダウンロード処理を開始するダウンロード制御部、として機能させる。
 この構成によれば、複数の中継装置それぞれに対してダウンロード処理の開始が一時に集中せず、決定された優先順位に従って開始される。つまり、ダウンロード処理の開始が複数の中継装置の間で分散される。そのため、サーバの処理負荷の増大を抑えつつ、複数の中継装置それぞれに確実に更新プログラムを配信することができる。
[実施の形態の詳細]
 以下に、図面を参照しつつ、好ましい実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
 <第1の実施の形態>
 〔システムの全体構成〕
 図1は、本発明の実施形態にかかるプログラム更新システムの全体構成図である。
 図1に示すように、本実施形態のプログラム更新システムは、広域通信網2を介して通信可能な複数台の車両1、管理サーバ5およびDL(ダウンロード)サーバ6を含む。
 管理サーバ5およびDLサーバ6は、たとえば、車両1のカーメーカーにより運営されており、予め会員登録されたユーザが所有する多数の車両1と通信可能である。
 各車両1には、ゲートウェイ10と、無線通信部15と、複数のECU30と、各ECU30によりそれぞれ制御される各種の車載機器(図示せず)とが搭載されている。
 各車両1には、共通の車内通信線にバス接続された複数のECU30による通信グループが存在し、ゲートウェイ10は、通信グループ間の通信を中継している。このため、ゲートウェイ10には、複数の車内通信線が接続されている。
 無線通信部15は、携帯電話網などの広域通信網2に通信可能に接続され、車内通信線によりゲートウェイ10に接続されている。ゲートウェイ10は、広域通信網2を通じて管理サーバ5およびDLサーバ6などの車外装置から無線通信部15が受信した情報を、ECU30に送信する。
 ゲートウェイ10は、ECU30から取得した情報を無線通信部15に送信し、無線通信部15は、その情報を管理サーバ5などの車外装置に送信する。
 車両1に搭載される無線通信部15としては、たとえば、ユーザが所有する携帯電話機、スマートフォン、タブレット型端末、ノートPC(Personal Computer)等の装置が考えられる。
 図1では、ゲートウェイ10が無線通信部15を介して車外装置と通信を行う場合が例示されているが、ゲートウェイ10が無線通信の機能を有する場合には、ゲートウェイ10自身が管理サーバ5などの車外装置と無線通信を行う構成としてもよい。
 また、図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と車内通信線とを介して接続されているが、これらは一つの装置で構成してもよい。
 CPU11は、記憶部13に記憶された一または複数のプログラムをRAM12に読み出して実行することにより、ゲートウェイ10を各種情報の中継装置として機能させる。
 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から受信した各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は、上記の通信規格だけでなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
 無線通信部15は、アンテナと、アンテナからの無線信号の送受信を実行する通信回路とを含む無線通信機よりなる。無線通信部15は、携帯電話網等の広域通信網2に接続されることにより車外装置との通信が可能である。
 無線通信部15は、図示しない基地局により形成される広域通信網2を介して、CPU11から与えられた情報を管理サーバ5等の車外装置に送信するとともに、車外装置から受信した情報をCPU11に与える。
 図2に示す無線通信部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などがある。
 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に与える。
 〔制御プログラムの更新シーケンス〕
 図5は、本実施形態のプログラム更新システムにおいて実行される、ECUに対する制御プログラムの更新の一例を示すシーケンス図である。更新プログラムは車両1のカーメーカーなどによってDLサーバ6に置かれ、管理サーバ5に対して更新プログラムが配信可能な状態となったことが設定される。
 好ましくは、管理サーバ5は、制御プログラムを配信可能な状態となると、更新プログラムが格納されているDLサーバ5から、更新プログラムに関する情報である更新情報を取得する(ステップS1)。更新情報は、たとえば、更新プログラムの配信先に関する情報やデータサイズに関する情報などである。
 管理サーバ5は、更新プログラムを配信可能な状態になるとスケジューリング処理を実行する(ステップS2)。スケジューリング処理は、複数の車両1それぞれのゲートウェイ10A~10C間で更新プログラムのダウンロードの開始時間を分散するように、更新プログラムの配信スケジュールを決定するための処理である。そして、管理サーバ5は、決定したスケジュールに従った順番でゲートウェイ10A~10Cに対して、ECU30の更新プログラムの更新を要求する(ステップS3A~S3C)。ステップS3A~S3Cで管理サーバ5は、たとえば、更新プログラムの保存先URLとダウンロード要求とを該当する車両1のゲートウェイ10宛てに送信する。
 これにより、各ゲートウェイ10は、上記要求の順番に従った順番で、ECU30のための更新プログラムをDLサーバ6からダウンロードする(ステップS4A~S4C)。
 更新プログラムがダウンロードされると、各ゲートウェイ10では、ダウンロードしてメモリに保存した更新プログラムを用いて制御プログラムを更新させるべく、更新処理を実行する(ステップS5A~S5C)。ステップS5A~S5Cの更新処理では、一例として、ゲートウェイ10は、該当するECU30に制御プログラムの更新を要求する。これにより、当該ECU30の制御モードが通常モードからリプロモードに切り替わり、当該ECUは制御プログラムの更新処理が可能な状態となる。ECU30は、ゲートウェイ10から受信した更新プログラムを展開して旧バージョンの制御プログラムに適用することにより、制御プログラムを旧バージョンから新バージョンに書き換える。
 [スケジューリング処理]
 図6は、図5のステップS2のスケジューリング処理の具体的な内容を表したフローチャートである。図6のフローチャートに表された処理は、管理サーバ5のCPU51がROM52に記憶されたプログラムをRAM53上に読み出して実行することによって、主にCPU51により実現される。なお、本実施の形態においては図6のステップS103以降の動作が行われるものとする。図6中のステップS101については第2の実施の形態において説明する。
 図6を参照して、管理サーバ5のCPU51はスケジューリング処理に用いるための情報であるスケジューリング情報を取得する(ステップS103)。CPU51は、取得したスケジューリング情報を用いて、ゲートウェイ10A~10C間のダウンロードの優先順位を決定する(ステップS105)。ステップS105の決定方法については後述する。CPU51は、決定された優先順位に従って、該当する車両1のゲートウェイ10に対してダウンロードを要求する(ステップS107)。これにより、当該するゲートウェイ10に対する更新プログラムのダウンロードが開始される。
 [管理サーバの機能構成]
 図7は、上記のスケジューリング処理を行うための、管理サーバ5の機能構成の具体例を示したブロック図である。図7の各機能は、管理サーバ5のCPU51がROM51に記憶されているプログラムをRAM52上に読み出して実行することによって、主にCPU51によって実現される。
 詳しくは、図7を参照して、管理サーバ5のCPU51は、スケジューリング情報を取得するためのスケジューリング情報取得部511と、スケジュールを決定するためのスケジューリング部512と、ダウンロード処理を制御するためのDL制御部513と、更新情報を取得するための更新情報取得部514と、を含む。なお、図7に示された判断部515については、第2の実施の形態において説明する。
 ダウンロード処理は、たとえば、更新プログラムのダウンロードをゲートウェイ10に要求(必要な情報の通知)する処理(ステップS3)である。また、先述のように管理サーバ5とDLサーバ6とが1つのサーバ装置で構成されている場合、ダウンロード処理は、ゲートウェイ10への更新プログラムの送信(ダウンロード)の開始であってもよい。また、ダウンロードに失敗し、再度のダウンロード(リトライ)の開始であってもよい。
 (スケジューリング方法1)
 スケジューリング部512においてダウンロードの優先順位を決定し、スケジュールを決定する第1の方法として、車両1の走行モデルを用いて各車両1の走行状態を予測(走行予測)し、予測される走行パターンに基づいて優先順位を決定する方法が挙げられる。走行モデルは、車両1の走行状態の蓄積(走行履歴)に基づいて生成される、車両1の走行パターンのモデルである。走行モデルは、たとえば、曜日、時間ごとの走行パターンを含む。
 スケジューリング情報取得部511は走行予測を行うための走行予測部516を含む。走行予測部516は、現在日時と車両1ごとの走行モデルとを取得する。好ましくは、スケジューリング情報取得部511は学習部518をさらに含む。また、記憶部54には、学習部518によって生成された車両1ごとの走行モデルを記憶するモデルマップ記憶部541が用意される。学習部518およびモデルマップ記憶部541は、走行モデルを取得する走行モデル取得部の一例である。走行予測部516は、一例としてモデルマップ記憶部541から該当する車両1の走行モデルを読み出す。
 学習部518は、所定期間の走行状態の蓄積に基づいて車両1ごとの走行モデルを生成する。一例として、学習部518は、通信部55で該当する車両1のゲートウェイ10と通信することによって、当該車両1のECU30や図示しないスマートフォンなどのユーザの携帯端末装置やカーナビゲーション装置などから得られる車両1の走行状態を示す情報を所定期間、収集する。車両1の走行状態を示す情報は、たとえば、車両1の走行位置や、エンジンのON/OFF状態、稼働状況や、電源のON/OFF状態などを含む。学習部518は所定期間のこれら情報を統計処理することによって、時間帯ごとや曜日ごとや季節ごとなどの当該車両1ごとの走行パターンを生成し、走行モデルとしてモデル化する。走行パターンを生成するために用いられる統計処理の方法は特定方法に限定されず、あらゆる方法が採用され得る。
 走行モデル取得部は他の例として、各車両1のゲートウェイ10によって生成され、当該ゲートウェイ10の記憶部13に記憶されている走行モデルを、当該ゲートウェイ10から取得するものであってもよい。
 図8および図9は、それぞれ、ある車両1の走行モデルの具体例の表した図である。図8は、車両1が通勤に用いられる場合の走行モデルの具体例を表している。図9は、車両1が主に休日(土曜日および日曜日)に用いられる場合の走行モデルの具体例を表している。
 この場合、学習部518は、所定期間にわたって、一定の時間間隔など所定のタイミングで当該車両1の走行状態(走行中か、停車中か、等)や日時情報を取得する。そして、一例として、学習部518は、曜日ごと、時間帯ごとに走行状態を集計してその傾向を把握することによって当該車両1の走行パターンを生成し、モデル化する。
 一例として、走行モデルは図8および図9に示されたようなマップ形式の情報であるモデルマップMMとして生成される。学習部518は、生成したモデルマップMMを、車両1ごとにモデルマップ記憶部541に格納する。
 走行予測部516は、走行モデルに表された現在日時の後の走行パターン(走行位置、走行経路)を、当該車両1の走行パターンと予測する。たとえば、ある車両1についてのモデルマップMMが図8の走行モデルを表すものであったとする。現在日時が平日の午前9時の直前であったとすると、走行予測部516は図8の走行モデルに基づいて、当該判定時点の後に当該車両1が外出先で駐車される可能性が高いと予測する。また、現在日時が木曜日の18時30分であったとすると、走行予測部516は図8の走行モデルに基づいて、当該判定時点の後もしばらく当該車両1の走行が継続すると予測する。
 なお、走行予測部516は、他の例として、該当する車両1のゲートウェイ10などの他の装置による走行予測の結果を当該他の装置から取得するものであってもよい。
 第1のスケジューリング方法において、スケジューリング部512は、走行パターンと優先順位との対応をスケジューリング条件Cとして予め記憶している。スケジューリング条件Cは、もうすぐ駐車と予測される車両についてはダウンロードの優先順位を高くする、しばらく走行が継続すると予測される車両についてはダウンロードの優先順位を低くする、などの対応を含む。なお、ダウンロードの優先順位は、1台または複数台の車両1をランク分けするものであってもよく、上記対応は、具体的なランクとの対応であってもよい。これは、制御プログラムの更新中には該当するECU30の制御モードが通常モードからリプロモードに切り替わり、通常の走行ができなくなるためである。そのため、駐停車する車両ほど制御プログラムの更新が可能な状態となる可能性が高く、走行を継続する車両ほど制御プログラムの更新が可能な状態となる可能性が低い。スケジューリング部512は、各車両1の走行パターンに基づいて、スケジューリング条件Cに含まれる上記対応関係に従って、車両1ごとにダウンロードの優先順位を決定する。
 上記の第1の方法に従ってダウンロードの優先順位が決定されることによって、複数のゲートウェイ10A~10Cの間においてダウンロードの開始が分散されると共に、更新プログラムが該当する車両1の走行予測に応じて効率的にダウンロードされる。
 (スケジューリング方法2-1)
 スケジュールを決定する第2の方法として、各車両1の利用状況に基づいて優先順位を決定する方法が挙げられる。利用状況は、車両1の利用頻度を含む。
 スケジューリング情報取得部511は、車両1ごとの利用頻度を取得する。利用頻度は、たとえば、ゲートウェイ10を介して当該車両1の走行を制御するECUと通信することによって得ることができる。または、上記の車両1ごとの走行モデルをモデルマップ記憶部541から読み出すことによって利用頻度が得られてもよい。
 スケジューリング部512は、車両1ごとの利用頻度と優先順位との対応をスケジューリング条件Cとして予め記憶している。スケジューリング条件Cは、たとえば、一週間の走行時間が10時間未満である(利用頻度が低い)場合にはダウンロードの優先順位を高くする、一週間の走行時間が30時間以上である(利用頻度が高い)場合にはダウンロードの優先順位を低くする、などの対応を含む。これは、制御プログラムの更新中には該当する車両1の電源がON状態である必要があるためである。そのため、利用頻度の高い車両ほど制御プログラムの更新が可能な状態となる可能性が高く、利用頻度の低い車両ほど制御プログラムの更新が可能な状態となる可能性が低い。スケジューリング部512は、各車両1の利用頻度に基づいて、スケジューリング条件Cに含まれる上記対応関係に従って、車両1ごとにダウンロードの優先順位を決定する。
 上記の第2の方法に従ってダウンロードの優先順位が決定されることによって、複数のゲートウェイ10A~10Cの間においてダウンロードの開始が分散されると共に、更新プログラムが該当する車両1の利用頻度に応じて効率的にダウンロードされる。
 (スケジューリング方法2-2)
 利用状況は、該当するECU30の制御プログラムのバージョン情報を含み、バージョン情報に基づいて優先順位が決定されてもよい。
 スケジューリング情報取得部511は、車両1ごとの該当するECU30の制御プログラムのバージョン情報を、当該車両1のゲートウェイ10と通信することによって取得する。
 スケジューリング部512は、ECU30の制御プログラムのバージョンと優先順位との対応をスケジューリング条件Cとして予め記憶している。スケジューリング条件Cは、たとえば、ECU30の制御プログラムのバージョンが古いほどダウンロードの優先順位を高くする、などの対応を含む。これは、制御プログラムのバージョンが古いほど現在の(最新の)バージョンへの更新が急がれるためである。スケジューリング部512は、各車両1の該当するECU30の制御プログラムのバージョンに基づいて、スケジューリング条件Cに含まれる上記対応関係に従って、車両1ごとにダウンロードの優先順位を決定する。
 上記の第2の方法に従ってダウンロードの優先順位が決定されることによって、複数のゲートウェイ10A~10Cの間においてダウンロードの開始が分散されると共に、更新プログラムが更新の必要性に応じてダウンロードされる。
 (スケジューリング方法2-3)
 利用状況は、該当するECU30が制御する機能のON/OFF設定を含み、該設定に基づいて優先順位が決定されてもよい。
 スケジューリング情報取得部511は、車両1ごとの該当するECU30が制御する機能のON/OFF設定を示す情報を、当該車両1のゲートウェイ10と通信することによって取得する。
 スケジューリング部512は、ECU30のON/OFF設定と優先順位との対応をスケジューリング条件Cとして予め記憶している。スケジューリング条件Cは、ECU30が制御する機能がON設定されている場合にはダウンロードの優先順位を高くし、OFF設定されている場合にはダウンロードの優先順位を低くする、などの対応を含む。これは、ECU30が制御する機能がOFF設定されている場合には利用する可能性が低いために当該ECU30の制御プログラムの更新の必要性は低く、ON設定されている場合には利用する可能性が高く更新の必要性が高いためである。スケジューリング部512は、各車両1の該当するECU30が制御する機能のON/OFF設定に基づいて、スケジューリング条件Cに含まれる上記対応関係に従って、車両1ごとにダウンロードの優先順位を決定する。
 上記の第2の方法に従ってダウンロードの優先順位が決定されることによって、複数のゲートウェイ10A~10Cの間においてダウンロードの開始が分散されると共に、更新プログラムが更新の必要性の高さに応じてダウンロードされる。
 なお、上記の第2の方法を組み合わせてダウンロードの優先順位が決定されてもよい。すなわち、当該車両の利用頻度、制御プログラムのバージョン、およびECUについての設定の少なくとも1つを用いてダウンロードの優先順位が決定されてもよい。つまり、当該車両の利用頻度、制御プログラムのバージョン、およびECUについての設定のうちの2つまたは3つが組み合わされて優先順位が決定されてもよい。
 (スケジューリング方法3)
 スケジュールを決定する第3の方法として、各車両1のDLサーバ6との間の通信状態を示す通信指標に基づいて優先順位を決定する方法が挙げられる。通信指標は、たとえば、車両1のDLサーバ6との間の広域通信網2にて伝送されるパケット数や通信量や通信速度の測定値(指標値)、または当該実測値から算出される値(指標値)である。
 スケジューリング情報取得部511は、車両1ごとの通信指標を取得する。パケット数や通信量などは、たとえば、広域通信網2を管理する通信事業者によって測定され、測定値がウェブサイトなどで提供されることが想定される。スケジューリング情報取得部511は、当該ウェブサイトのURLを予め記憶しておき、当該ウェブサイトから測定値を取得することができる。実測値から算出される値を指標として用いる場合、スケジューリング情報取得部511は、上記ウェブサイトから実測値を取得し、その実測値を用いて指標値を算出する。実測値から算出される指標値は、たとえば回線の使用率である。スケジューリング情報取得部511は、一例として、広域通信網2での伝送可能な最大パケット数を記憶しておき、実測されたパケット数を伝送可能な最大パケット数で除して回線の使用率を算出する。
 スケジューリング部512は、車両1ごとの指標値と優先順位との対応をスケジューリング条件Cとして予め記憶している。スケジューリング条件Cは、使用率が70%未満の場合にはダウンロードの優先順位を高くする、使用率が70%以上である場合にはダウンロードの優先順位を低くする、などの対応を含む。これは、更新プログラムのダウンロードに用いる通信回線が混雑している可能性が高い車両1に対してはダウンロードを後とし、該通信回線の通信状態がよい可能性の高い車両1ほどダウンロードを先にするためである。スケジューリング部512は、各車両1の指標値に基づいて、スケジューリング条件Cに含まれる上記対応関係に従って、車両1ごとにダウンロードの優先順位を決定する。
 上記の第3の方法に従ってダウンロードの優先順位が決定されることによって、複数のゲートウェイ10A~10Cの間においてダウンロードの開始が分散されると共に、更新プログラムが各車両1に確実に配信される。
 (スケジューリング方法4)
 スケジュールを決定する第4の方法として、各車両1のDLサーバ6との間の通信状態に相関する相関情報に基づいて優先順位を決定する方法が挙げられる。相関情報は、通信回路を逼迫させる通信アクセス数の原因となり得る原因事象であるイベントに関する情報である。上記イベントは、一例として、時間的および地理的に特定されるイベントであって、たとえば、スポーツイベント(試合、運動会等)、音楽イベント(コンサート等)、および祭事などの興行イベント、爆発事故、公共交通事故、およびテロ攻撃などの大規模人災、ならびに、異常気象(台風、局地的豪雨、洪水等)や自然災害(地震、津波等)などの自然現象、などを含む。相関情報は、当該イベントの発生期間および影響範囲を含む。
 スケジューリング情報取得部511は、上記相関情報の少なくとも一部を予め記憶している。また、スケジューリング情報取得部511は、上記の相関情報の少なくとも一部を提供する図示しないサーバにアクセスして取得してもよい。たとえば、イベントが地震である相関情報については、スケジューリング情報取得部511は、気象庁のサイトにアクセスすることによって地震の発生位置および発生日時を取得することができる。この場合、スケジューリング情報取得部511は、相関情報の一部として、たとえば、発生期間を発生日時から1週間、影響範囲を発生位置を含む都道府県に隣接する都道府県、などと記憶している。
 スケジューリング情報取得部511は、さらに、各車両1の現在位置を取得する。車両1の現在位置は、たとえば、該当する車両1のゲートウェイ10と通信することによって取得される。ゲートウェイ10は、たとえば、図示しないナビゲーション装置と通信したり、GPS(Global Positioning System)と通信したりすることで車両1の位置情報を得ることができる。
 スケジューリング部512は、車両1ごとのイベントとの関連と優先順位との対応をスケジューリング条件Cとして予め記憶している。たとえば、スケジューリング条件Cは、現在の日時が当該イベントの発生期間に含まれ、かつ、現在位置が当該イベントの影響範囲に含まれる場合にはダウンロードの優先順位を低くする、そうでない場合にはダウンロードの優先順位を高くする、などの対応を含む。これは、更新プログラムのダウンロードに用いる通信回線が混雑している可能性が高い車両1に対してはダウンロードを後とし、該通信回線の通信状態がよい可能性の高い車両1ほどダウンロードを先にするためである。スケジューリング部512は、各車両1のイベントとの関連に基づいて、スケジューリング条件Cに含まれる上記対応関係に従って、車両1ごとにダウンロードの優先順位を決定する。
 上記の第4の方法に従ってダウンロードの優先順位が決定されることによって、複数のゲートウェイ10A~10Cの間においてダウンロードの開始が分散されると共に、更新プログラムが各車両1に確実に配信される。
 (スケジューリング方法5)
 スケジュールを決定する第5の方法として、ダウンロード期間(DL期間)における車両1の無線通信部15の通信状態に基づいて優先順位が決定する方法が挙げられる。DL期間は、DLサーバ6からゲートウェイ10の無線通信部15までの無線通信において更新プログラムの伝送が開始されてから無線通信部15での受信が完了するまでの期間を指す。DL期間中の車両1の通信状態の良否は、車両1が通行すると予測される走行経路が、通信状態が不良な不感エリアに含まれるか否かにより判定できる。
 この場合、スケジューリング情報取得部511は不感エリアを含むエリアマップを取得する。エリアマップは、たとえば、山間部は-100[dBm]、トンネルや地下は-120[dBm]、などのように、位置または範囲ごとに、当該位置または範囲における通信強度を示す情報である。エリアマップは、たとえば、無線通信部15の行う無線通信を管理する通信会社などによって生成されて、ウェブサイトなどで提供されることが想定される。スケジューリング情報取得部511は当該ウェブサイトのURLを予め記憶しておき、当該ウェブサイトからエリアマップを取得することができる。
 また、スケジューリング情報取得部511は走行経路を取得する。スケジューリング情報取得部511は、一例として、ゲートウェイ10を介して車両1に搭載された図示しないナビゲーション装置と通信することで、ナビゲーション装置から走行経路を取得する。ナビゲーション装置で生成される走行経路は、走行経路と各位置を通過するまでの時間とを含む。従って、走行予測部516は、ナビゲーション装置で生成される走行経路を車両1の走行経路と予測する。
 また、スケジューリング情報取得部511は、他の例として、車両1の走行履歴を取得し、走行履歴から走行経路を予測する。走行履歴は、たとえば、曜日、時間などの所定期間ごとの車両1の走行位置(たとえば緯度経度)を統計処理したもので、所定期間ごとの走行パターンのモデルと言える。統計処理は、一例として、所定期間ごとに走行している可能性の最も高い位置を特定して当該期間の走行位置と決定する処理である。たとえば、月曜日から金曜日まで出勤に車両1が使用されている場合、通勤時間帯(たとえば朝8時から8時30分まで)の走行履歴は自宅から会社までの走行経路を示す。統計処理の方法は特定方法に限定されず、あらゆる方法が採用され得る。走行履歴が各車両1で生成され、ゲートウェイ10の記憶部13に記憶されている場合、スケジューリング情報取得部511はゲートウェイ10と通信することで走行履歴を取得する。管理サーバ5が各車両1の走行位置を取得し、蓄積して走行履歴を生成する場合、スケジューリング情報取得部511は記憶部54から走行履歴を取得する。走行予測部516は、各車両1の走行履歴に基づいて当該車両1の走行経路を予測する。たとえば、スケジューリング情報取得部511は、現在日時に対応した期間の走行履歴を読み出して、予測される走行経路とする。現在日時に対応した期間の走行履歴は、車両1が走行する経路であると予測される。
 スケジューリング部512は、予測される走行経路とエリアマップとを比較し、予測される走行経路の少なくとも一部でも不感エリアに含まれるか否かにより通信状態の良否を判定する。すなわち、車両1の予測される走行経路が不感エリアを通過しない場合に、スケジューリング部512は当該車両1の通信状態が良好であると判定する。そうでない場合、またはそうでない車両1については、スケジューリング部512は通信状態が良好であると判定しない。
 スケジューリング部512は、車両1ごとの通信状態の判定結果と優先順位との対応をスケジューリング条件Cとして予め記憶している。スケジューリング条件Cは、たとえば、通信状態がよいと判定される場合にはダウンロードの優先順位を高くする、そうでない場合にはダウンロードの優先順位を低くする、などの対応を含む。これは、DL期間中に無線通信部15の通信状態が悪くなる可能性が高い車両1に対してはダウンロードを後とし、DL期間中の無線通信部15の通信状態が良好な可能性の高い車両1ほどダウンロードを先にするためである。スケジューリング部512は、各車両1の通信状態の判定結果に基づいて、スケジューリング条件Cに含まれる上記対応関係に従って、車両1ごとにダウンロードの優先順位を決定する。
 上記の第5の方法に従ってダウンロードの優先順位が決定されることによって、複数のゲートウェイ10A~10Cの間においてダウンロードの開始が分散されると共に、更新プログラムが各車両1に確実に配信される。
 (スケジューリング方法の他の例)
 管理サーバ5が各車両1のゲートウェイ10に対して更新プログラムがあることを通知し、ゲートウェイ10からのリクエストに応じてDLサーバ6のアクセス情報などのダウンロードに必要な情報を通知してもよい。ダウンロードに必要な情報を通知する処理は、ダウンロード処理に含まれる。この場合、スケジューリング部512は、ゲートウェイ10からのリクエスト順に基づいてダウンロードの優先順位を決定してもよい。リクエストが分散されている場合、ダウンロードの開始も分散される。
 また他の例として、スケジューリング部512は乱数生成機能を有して、当該乱数を利用して複数のゲートウェイ10A~10Cに対してランダムにダウンロードの優先順位を決定してもよい。このようなスケジューリング方法によっても、ダウンロードの開始が分散される。
 また他の例として、スケジューリング部512は、予め設定されている各車両1の属性に基づいてダウンロードの優先順位を決定してもよい。車両の属性は、予め設定されている車両のランクや車両のユーザのランクなどであって、たとえばカーメーカーやユーザ自身などによって管理サーバ5に登録されていてもよい。この場合、スケジューリング情報取得部511は記憶部54から車両の属性を読出す。スケジューリング部512は、ランクの高い車両ほどダウンロードの優先順位を高くする、などの対応を含む、車両の属性と優先順位との対応をスケジューリング条件Cとして予め記憶し、当該対応関係に従って車両1ごとにダウンロードの優先順位を決定する。複数の車両1のランクが分散している場合、ダウンロードの開始が分散される。
 [第1の実施の形態の効果]
 第1の実施の形態にかかるプログラム更新システムによれば、ECUの更新プログラムのダウンロードの開始が、当該更新プログラムのダウンロード先である複数のゲートウェイ10A~10Cの間において分散される。これにより、DLサーバ6の処理負荷の増大を抑えることができる。
 また、第1の実施の形態にかかるプログラム更新システムでは、ダウンロードの開始を分散するために、車両1ごとの走行パターンの予測や、利用頻度、制御プログラムのバージョン、または機能のON/OFF設定などの利用状況、DLサーバ6との間の通信状態を示す通信指標、該通信状態に相関する相関情報、もしくは通信指標の予測値に基づいてダウンロードの優先順位が決定される。これにより、DLサーバ6の処理負荷の増大を抑えつつ、適切な順で確実に更新プログラムを配信できる。
 <第2の実施の形態>
 第2の実施の形態にかかるプログラム更新システムでは、ダウンロード対象の更新プログラムの更新情報に例外的な種別であることを示す種別情報が含まれる場合に、スケジューリング処理を行うことなくダウンロード処理が実行される。例外的な種別は、更新プログラムの重要性や更新の緊急性などの種別を表わす情報を含み、たとえば、重要フラグや緊急フラグなどのフラグ情報を含む。一例として、セキュリティホールへの対処などの情報セキュリティに関する更新プログラム、走行上の安全を確保するために必要な更新プログラム、自動運転モード用に用いられる地図情報などの更新の緊急性が高い更新プログラム、などである。更新プログラムの重要性や更新の緊急性などである上記例外的な種別は、当該更新プログラムを提供するカーメーカーなどによって設定されている。
 すなわち、図6を参照して、第2の実施の形態にかかるプログラム更新システムにおいて、管理サーバ5は、スケジューリング処理を実行する際に種別情報を参照して、スケジューリング処理の要否を判定する(ステップS101)。そして、スケジューリング処理が必要と判定された場合に(ステップS101でYES)、ステップS103以降の処理を実行する。
 第2の実施の形態にかかる管理サーバ5のCPU51は、図7に示されたように、スケジューリング処理の要否を判断するための判断部515をさらに含む。判断部515は、更新情報を参照してスケジューリング処理の要否を判断する。DL制御部513は、更新情報に上記の例外的な種別を示す種別情報が含まれている場合には、カーメーカーによって設定されたタイミングなどに、複数のゲートウェイ10A~10Cに対して一斉にダウンロードを要求する。つまり、重要性や緊急性の高い更新プログラムについてはDLサーバ6の処理負荷が増大する場合であっても送信され、そうでない更新プログラムは分散して配信される。これにより、DLサーバ6の処理負荷の軽減と、更新プログラムの重要性、緊急性とを労率させることができる。
 例外的な種別は、データサイズが規定サイズ以下であることを含んでもよい。更新プログラムのデータサイズは、たとえば、当該更新プログラムを提供するカーメーカーなどによって更新情報として更新プログラムに付加される。判断部515、スケジューリング処理を必要としない処理量の閾値を予め記憶している。処理量は、たとえば、更新プログラムのデータサイズにダウンロード先の数を乗じたものである。処理量の閾値は、DLサーバ6に大きな処理負荷を与えない程度の処理量である。判断部515は、更新プログラムのデータサイズにダウンロード先の数を乗じて処理量を算出し、閾値と比較する。そして、判断部515は、算出された処理量が閾値より大きい場合にスケジューリング処理を行うと判断する。これにより、処理量が閾値よりも小さい更新プログラムについては分散されずに配信され、処理量が閾値よりも大きい更新プログラムについては分散して配信される。これにより、効率的にDLサーバ6の処理負荷の軽減を図ることができる。
 <第3の実施の形態>
 第1、第2の実施の形態にかかるプログラム更新システムでは、更新プログラムのダウンロード処理を実行する制御装置である管理サーバ5においてスケジューリング処理が実行される。他の例として、更新プログラムをダウンロードするDLサーバ6もダウンロード処理を実行する制御装置として機能して、スケジューリング処理を実行してもよい。すなわち、この場合、図7の各機能はDLサーバ6の図示しないCPUが有する。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 1 車両
 2 広域通信網
 5 管理サーバ(制御装置)
 6 DLサーバ
 10,10A~10C ゲートウェイ(制御装置)
 11 CPU
 12 RAM
 13 記憶部
 14 車内通信部
 15 無線通信部
 30 ECU(車載制御装置)
 31 CPU
 32 RAM
 33 記憶部
 34 通信部
 35 起動部
 51 CPU
 52 ROM
 53 RAM
 54 記憶部
 55 通信部
 511 スケジューリング情報取得部
 512 スケジューリング部
 513 DL制御部
 514 更新情報取得部
 515 判断部
 516 走行予測部
 518 学習部
 541 モデルマップ記憶部

Claims (13)

  1.  車載機器を制御する車載制御装置を搭載した車両において、前記車載制御装置と車内通信回線で接続されて、車外装置と前記車載制御装置との通信を中継する中継装置と、
     サーバから前記中継装置に対する、前記車載制御装置の更新プログラムのダウンロードを制御する制御装置と、を備え、
     前記制御装置は、
      複数の車両それぞれの前記中継装置に対して、前記更新プログラムのダウンロード処理の優先順位を決定する処理部と、
      決定された前記優先順位に従って前記ダウンロード処理を開始するダウンロード制御部と、を含む、プログラム配信システム。
  2.  前記処理部は、前記複数の車両それぞれの走行履歴に基づいて予測される走行パターンに基づいて前記優先順位を決定する、請求項1に記載のプログラム配信システム。
  3.  前記処理部は、前記複数の車両それぞれの利用状況に基づいて前記優先順位を決定する、請求項1に記載のプログラム配信システム。
  4.  前記利用状況は、当該車両の利用頻度、前記車載制御装置の制御プログラムのバージョン、および前記車載機器についての設定のうちの少なくとも1つを含む、請求項3に記載のプログラム配信システム。
  5.  前記処理部は、複数の前記中継装置それぞれと前記サーバとの通信状態を示す通信指標に基づいて前記優先順位を決定する、請求項1に記載のプログラム配信システム。
  6.  前記処理部は、前記更新プログラムのダウンロード期間中における前記車両の通信状態に基づいて前記優先順位を決定する、請求項5に記載のプログラム配信システム。
  7.  前記処理部は、複数の前記中継装置それぞれと前記サーバとの通信状態に相関する相関情報に基づいて前記優先順位を決定する、請求項1に記載のプログラム配信システム。
  8.  前記処理部は、前記複数の車両それぞれについて予め設定されている属性に基づいて前記優先順位を決定する、請求項1に記載のプログラム配信システム。
  9.  前記処理部は、前記更新プログラムの種別が例外的な種別ではない場合に前記優先順位を決定する、請求項1~請求項8のいずれか一項に記載のプログラム配信システム。
  10.  前記例外的な種別は、前記更新プログラムの重要性や緊急性が高いことを示す種別である、請求項9に記載のプログラム配信システム。
  11.  車載機器を制御する車載制御装置を搭載した車両において、前記車載制御装置と車内通信回線で接続されて、車外装置と前記車載制御装置との通信を中継する中継装置に対して、前記車載制御装置の更新プログラムをダウンロードするサーバであって、
     複数の車両それぞれの前記中継装置に対して、前記更新プログラムのダウンロード処理の優先順位を決定する処理部と、
     決定された前記優先順位に従って前記ダウンロード処理を開始するダウンロード制御部と、を含む、サーバ。
  12.  車両に搭載された対象機器を制御する車載制御装置の更新プログラムを、複数の車両に対して配信する方法であって、
     複数の車両に対して、前記更新プログラムのダウンロード処理の優先順位を決定するステップと、
     決定された前記優先順位に従って前記ダウンロード処理を開始するダウンロード制御部と、を備える、プログラム配信方法。
  13.  複数の車両に対する、前記複数の車両それぞれに搭載された対象機器を制御する車載制御装置の更新プログラムのダウンロードを制御する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、前記コンピュータを、
     複数の車両それぞれの前記中継装置に対して、前記更新プログラムのダウンロード処理の優先順位を決定する処理部、および
     決定された前記優先順位に従って前記ダウンロード処理を開始するダウンロード制御部、として機能させる、コンピュータプログラム。
PCT/JP2016/080058 2016-03-02 2016-10-11 プログラム配信システム、サーバ、プログラム配信方法、およびコンピュータプログラム WO2017149822A1 (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2016-039917 2016-03-02
JP2016039917A JP6323480B2 (ja) 2016-03-02 2016-03-02 プログラム更新システム、プログラム更新方法及びコンピュータプログラム
JP2016110613A JP6358286B2 (ja) 2016-06-02 2016-06-02 制御装置、プログラム更新方法、およびコンピュータプログラム
JP2016-110613 2016-06-02
JP2016124073 2016-06-23
JP2016-124073 2016-06-23

Publications (1)

Publication Number Publication Date
WO2017149822A1 true WO2017149822A1 (ja) 2017-09-08

Family

ID=59742687

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/080058 WO2017149822A1 (ja) 2016-03-02 2016-10-11 プログラム配信システム、サーバ、プログラム配信方法、およびコンピュータプログラム

Country Status (1)

Country Link
WO (1) WO2017149822A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019101706A (ja) * 2017-11-30 2019-06-24 株式会社日立製作所 車載ソフトウェア配信システム、車載ソフトウェア配信サーバ、及び車載ソフトウェア配信方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001296994A (ja) * 2000-04-14 2001-10-26 Sharp Corp プログラムダウンロードシステム及びプログラムダウンロード方法
JP2004206390A (ja) * 2002-12-25 2004-07-22 Mitsubishi Electric Corp ソフトウェア管理装置及びソフトウェア管理サーバ
JP2004247951A (ja) * 2003-02-13 2004-09-02 Denso Corp 路車間通信システム、基地局、および車載端末
JP2007166593A (ja) * 2005-11-15 2007-06-28 Fujitsu Ltd データ通信サーバ、データ通信方法およびプログラム
JP2013009298A (ja) * 2011-05-26 2013-01-10 Sony Corp 無線通信装置、情報処理装置、通信システムおよび無線通信装置の制御方法
JP2013011927A (ja) * 2011-06-28 2013-01-17 Nec Corp 無線ネットワークシステム及びその通信方法
JP2013206075A (ja) * 2012-03-28 2013-10-07 Nec Corp 配信システム
WO2015159815A1 (ja) * 2014-04-16 2015-10-22 クラリオン株式会社 データ配信システム、制御サーバ及びデータ配信方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001296994A (ja) * 2000-04-14 2001-10-26 Sharp Corp プログラムダウンロードシステム及びプログラムダウンロード方法
JP2004206390A (ja) * 2002-12-25 2004-07-22 Mitsubishi Electric Corp ソフトウェア管理装置及びソフトウェア管理サーバ
JP2004247951A (ja) * 2003-02-13 2004-09-02 Denso Corp 路車間通信システム、基地局、および車載端末
JP2007166593A (ja) * 2005-11-15 2007-06-28 Fujitsu Ltd データ通信サーバ、データ通信方法およびプログラム
JP2013009298A (ja) * 2011-05-26 2013-01-10 Sony Corp 無線通信装置、情報処理装置、通信システムおよび無線通信装置の制御方法
JP2013011927A (ja) * 2011-06-28 2013-01-17 Nec Corp 無線ネットワークシステム及びその通信方法
JP2013206075A (ja) * 2012-03-28 2013-10-07 Nec Corp 配信システム
WO2015159815A1 (ja) * 2014-04-16 2015-10-22 クラリオン株式会社 データ配信システム、制御サーバ及びデータ配信方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019101706A (ja) * 2017-11-30 2019-06-24 株式会社日立製作所 車載ソフトウェア配信システム、車載ソフトウェア配信サーバ、及び車載ソフトウェア配信方法

Similar Documents

Publication Publication Date Title
JP2018005894A (ja) プログラム配信システム、サーバ、プログラム配信方法、およびコンピュータプログラム
JP6372521B2 (ja) 制御装置、プログラム配信方法、およびコンピュータプログラム
JP6525105B2 (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
CN107665121B (zh) 远程车辆更新安装排程
US10552143B2 (en) Relay device, program update system, and program update method
JP6376312B1 (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
WO2017149821A1 (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
US20190286454A1 (en) Control device, program update method, and computer program
JP6361671B2 (ja) プログラム更新システム、プログラム更新方法、中継装置及びコンピュータプログラム
US9184778B2 (en) Vehicle information gathering system
JP6332580B1 (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
JP6525109B2 (ja) 制御装置、転送方法、およびコンピュータプログラム
WO2018079004A1 (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
JP6465258B1 (ja) 制御装置、制御方法、およびコンピュータプログラム
JP2018181377A (ja) 中継装置、プログラム更新システム、およびプログラム更新方法
US20190129710A1 (en) Control apparatus, method for determining whether or not a control program is updatable, and computer program
WO2017149826A1 (ja) 制御装置、プログラム配信方法、およびコンピュータプログラム
US9338731B2 (en) Vehicle telematics unit management
JP6358286B2 (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
JP6620891B2 (ja) 中継装置、中継方法、およびコンピュータプログラム
JP2019036140A (ja) 制御装置、制御方法、およびコンピュータプログラム
WO2018230314A1 (ja) 制御装置、制御方法、およびコンピュータプログラム
JP2019034652A (ja) 制御装置、制御方法、およびコンピュータプログラム
CN105516272A (zh) 提醒方法、提醒装置和服务器
JP2018069870A (ja) 制御装置、制御方法及びコンピュータプログラム

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

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

Ref document number: 16892659

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16892659

Country of ref document: EP

Kind code of ref document: A1