WO2017149826A1 - 制御装置、プログラム配信方法、およびコンピュータプログラム - Google Patents

制御装置、プログラム配信方法、およびコンピュータプログラム Download PDF

Info

Publication number
WO2017149826A1
WO2017149826A1 PCT/JP2016/080069 JP2016080069W WO2017149826A1 WO 2017149826 A1 WO2017149826 A1 WO 2017149826A1 JP 2016080069 W JP2016080069 W JP 2016080069W WO 2017149826 A1 WO2017149826 A1 WO 2017149826A1
Authority
WO
WIPO (PCT)
Prior art keywords
download
communication
timing
update program
control device
Prior art date
Application number
PCT/JP2016/080069
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 JP2016124088A external-priority patent/JP6372521B2/ja
Application filed by 住友電気工業株式会社 filed Critical 住友電気工業株式会社
Priority to US16/080,760 priority Critical patent/US20190073210A1/en
Publication of WO2017149826A1 publication Critical patent/WO2017149826A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • 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
    • 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
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Definitions

  • the present invention relates to a control device, a program distribution method, and a computer program.
  • the present application claims priority based on Japanese application No. 2016-039917 filed on March 2, 2016 and Japanese application No. 2016-1224088 filed on June 23, 2016, and is described in the aforementioned Japanese application. All the descriptions 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.
  • the control device is a control device that controls downloading of an update program of an in-vehicle control device that controls a target device mounted on a vehicle, and communication related to a congestion state of a communication line used for downloading.
  • An acquisition unit that acquires determination information, which is at least one of correlation information correlated with an index and a congestion status, and a process that determines the timing for executing update program download processing based on the acquired determination information A section.
  • the program distribution method obtains determination information that is at least one of a communication index related to a congestion status of a communication line used for download and correlation information correlated with the congestion status. And a step of determining a timing for executing the download processing of the update program based on the acquired determination information.
  • the computer program is a computer program for causing a computer to function as a control device that controls downloading of an update program of an in-vehicle control device that controls a target device mounted on the vehicle, Based on the acquisition unit for acquiring the determination information, which is at least one of the communication index related to the congestion status of the communication line used for download and the correlation information correlated with the congestion status, and the acquired determination information , And function as a processing unit that determines the timing for executing the download processing of the update program.
  • 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 timing determination 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.
  • an update program for updating a control program is distributed from a server to a gateway mounted on the corresponding vehicle in response to a request from the vehicle side. For this reason, if distribution of an update program is requested at the time when communication is concentrated on the communication line and congestion occurs, the distribution time becomes longer or, in some cases, a communication error occurs and the update program is not distributed. There is a risk of In addition, since the communication line is further tightened, other communications are also affected.
  • An object of an aspect of the present disclosure is to provide a control device, a program distribution method, and a computer program that can efficiently distribute an update program in consideration of a communication state.
  • the control device included in the present embodiment is a control device that controls the download of the update program of the in-vehicle control device that controls the target device mounted on the vehicle, and is related to the congestion status of the communication line used for the download.
  • An acquisition unit that acquires information for determination, which is at least one of correlation information correlated with a communication index and congestion status, and timing for executing update program download processing based on the acquired information for determination A processing unit.
  • the update program download process is executed at a timing based on at least one of the communication index related to the congestion state of the communication line of the line used for download and the correlation information correlated with the congestion state.
  • the processing unit determines the timing for executing the download processing of the update program according to the number of communication indexes.
  • the download process is executed at an appropriate timing by setting the condition used for the determination to be a condition that can be used to determine whether or not the communication line is considered to be in a predefined state. Will be.
  • the correlation information includes a generation event of a first event that is a cause event that may cause a number of communication accesses that imposes on the communication circuit, and is specified in terms of time and is not specified geographically.
  • the timing is determined depending on whether or not the current time is included in the generation period of the first event.
  • the update program download process is executed at a timing based on the generation period of the first event, which is correlation information correlated with the congestion status of the communication line of the line used for the download.
  • the influence on the communication line due to the download can be suppressed.
  • the correlation information is a causal event that may cause the number of communication accesses that tighten the communication line, and includes an occurrence period and an influence range of a second event that is specified temporally and geographically.
  • the timing is determined based on whether or not the current time is included in the generation period of the second event, and whether or not the vehicle requiring the update program is included in the influence range of the second event.
  • the download process of the update program is executed at the timing based on the generation period and the influence range of the second event, which is the correlation information correlated with the communication line congestion status of the line used for the download.
  • the influence on the communication line due to the download can be suppressed.
  • the download process is a process for notifying that the update program can be downloaded, a process for starting the download of the update program, or a process for changing the download speed of the update program.
  • the download of the update program is started at a suitable timing or executed at a suitable speed. For this reason, it is possible to increase the possibility of avoiding a long download time or a failed download due to a congested communication line. In addition, the influence on the communication line due to the download can be suppressed.
  • the processing unit determines a timing for executing the download process when the type of the update program is not an exceptional type.
  • the processing unit determines a timing for executing the download process when the type of the update program is not an exceptional type.
  • the exceptional type is a type indicating that the update program is highly important or urgent.
  • the exceptional type is a type indicating that the update program is highly important or urgent.
  • the processing unit determines a timing for executing the download process every predetermined period, and does not determine a timing for executing the download process, and a timing for executing the download process even after the predetermined period
  • the processing unit executes the download process after a period longer than the predetermined period. Thereby, the timing of the update program download process is efficiently determined.
  • the distribution method included in the present embodiment is a distribution method of an update program for an in-vehicle control device that controls a target device mounted on a vehicle, and includes a communication index and a congestion state related to a congestion state of a communication line used for downloading.
  • the update program download process is executed at a timing based on at least one of the communication index related to the congestion state of the communication line of the line used for download and the correlation information correlated with the congestion state.
  • the computer program included in the present embodiment is a computer program 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 a vehicle, Based on the acquisition unit for acquiring the determination information, which is at least one of the communication index related to the congestion status of the communication line used for download and the correlation information correlated with the congestion status, and the acquired determination information, It functions as a processing unit that determines the timing for executing the download processing of the update program.
  • the update program download process is executed at a timing based on at least one of the communication index related to the congestion state of the communication line of the line used for download and the correlation information correlated with the congestion state.
  • 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 users who are registered as members in advance.
  • the 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 ECUs 30.
  • a communication group including 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 management server 5 determines the timing for updating the control program of the ECU of the vehicle 1 for the vehicle 1 owned by a user who is registered as a member in advance.
  • the update timing may be set by, for example, the car manufacturer of the vehicle 1.
  • the management server 5 acquires update information, which is information related to the update program, from the DL server 5 in which the update program is stored before the timing of updating the control program (step S1).
  • the update information is, for example, information on the data size of the update program, update program type information, or the like.
  • the management server 5 executes a timing determination process (step S2).
  • the timing determination process includes information correlating the execution timing of the download process, which is a process related to downloading (transmission) of the update program to the gateway 10 of the vehicle 1, with the congestion status of the communication line used for transmission of the update program, etc. It is the process which determines based on.
  • the management server 5 notifies the gateway 10 of the corresponding vehicle 1 of the presence of the update program of the ECU 30 (step S3).
  • step S ⁇ b> 3 for example, the management server 5 transmits the update program storage destination URL and the download request to the gateway 10 of the corresponding vehicle 1. Thereby, the gateway 10 requests an update program for the ECU 30, and downloads it from the DL server 6 (step S4).
  • the gateway 10 executes an update process to update the control program using the update program downloaded and stored in the memory (step S5).
  • 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 timing determination 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.
  • the CPU 51 of the management server 5 acquires determination information that is information used for timing determination (step S101).
  • the determination information acquired in step S101 is at least one of the communication index related to the congestion status and the correlation information correlated with the congestion status in the wide area communication network 2 such as a mobile phone network for transmitting the update program. .
  • the CPU 51 determines the execution timing of the update program download process based on the determination information (step S103).
  • the CPU 51 determines the timing for executing the download process (YES in step S103)
  • the CPU 51 notifies the notification in step S3 in FIG. 5, that is, the gateway 10 of the corresponding vehicle 1 (step S105). That is, in this case, the program update system starts downloading the update program.
  • step S103 when it is not determined that the download process is to be executed based on the communication state of the wide area communication network 2 (NO in step S103), the CPU 51 notifies the notification of step S3 in FIG. Do not request download for. That is, in this case, the program update system does not start downloading the update program. In this case, the CPU 51 periodically repeats the operation from step S101 at regular intervals.
  • step S103 the CPU 51 does not determine the timing for executing the download process when the determination information satisfies a predetermined determination condition. Otherwise, it is determined as the timing for executing the download process.
  • the determination condition is a condition for determining whether or not the communication in the wide area communication network 2 is in a predetermined state that is considered to be congested to a predetermined degree (congestion degree).
  • the download of the update program is not started until the determination condition is not satisfied.
  • downloading of the update program is started.
  • the communication condition of the wide area communication network 2 is considered to be congested, such as being in a congested state, when it is determined by the above-described determination condition that it is a pre-defined state, until the state is resolved, That is, the download of the update program is not started until the communication state is considered to have been resolved. That is, in this program update system, the update program download timing is determined based on information related to or correlated with the congestion status of the wide area communication network 2.
  • FIG. 7 is a block diagram showing a specific example of a functional configuration of the management server 5 for performing the timing determination 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 is an acquisition unit 511 for acquiring determination information, and a determination unit that determines the execution timing of download processing using the determination information.
  • the determination information is at least one of a communication index related to the congestion status and the correlation information correlated with the congestion status in the wide area communication network 2 such as a mobile phone network for transmitting the update program, and will be described later.
  • This is information according to the timing determination method in the determination unit 512.
  • the determination unit 512 stores in advance a determination condition C corresponding to the timing determination method.
  • the determination condition C includes a threshold and a condition for determining whether or not the wide area communication network 2 is considered to be congested and is in a predetermined state.
  • the determination unit 512 determines whether or not the acquired determination information satisfies the determination condition C, and determines the execution timing of the download process based on the determination result.
  • the determination unit 512 determines that the determination information satisfies the determination condition C, that is, a state that is preliminarily defined as a state in which the wide area communication network 2 is considered to be in a congested state such as a congested state. In this case, it is not determined as the timing for executing the download process, and is determined as the timing for executing the download process when the determination condition C is not satisfied.
  • the DL control unit 513 executes control program download processing.
  • the download process is a process of notifying the gateway 10 that there is a downloadable update program as described above (step S3), for example. Further, as described above, when the management server 5 and the DL server 6 are configured by one server device, the download process may start transmission (download) of an update program to the gateway 10.
  • Timing determination method 1 As a first method for determining the timing for executing the download process in the determination unit 512, there is a method for determining the timing according to the number of communication indexes related to the congestion status in the wide area communication network 2 such as a mobile phone network. .
  • the acquisition unit 511 acquires, for example, measurement values such as the number of packets transmitted over the wide area communication network 2, the communication amount, and the communication speed as the determination information. These values are measured by, for example, a telecommunications carrier that manages the wide area communication network 2 and are assumed to be provided on a website or the like.
  • the acquisition unit 511 can store the URL of the website in advance, and can acquire a measurement value as determination information from the website.
  • the determination unit 512 stores the maximum number of packets that can be transmitted, the communication amount, and the communication speed in the wide area communication network 2, and the current usage rate of the wide area network 2 as a communication index related to the congestion situation. Is calculated.
  • the usage rate is obtained by dividing the number of packets indicated in the determination information by the maximum number of packets that can be transmitted.
  • the usage rate may be calculated by a telecommunications carrier that manages the wide area communication network 2 and provided as a communication index related to the congestion situation.
  • the acquisition unit 511 acquires the usage rate from the website as determination information.
  • the determination unit 512 stores in advance, as the determination condition C, a usage rate threshold value for determining whether or not the communication line is considered to be in a predetermined state.
  • the usage rate threshold is, for example, 85%.
  • the determination unit 512 compares the current usage rate, which is a communication index, with a threshold value for the usage rate.
  • the determination unit 512 determines the execution timing of the download process based on the comparison result. That is, in this example, when the usage rate is less than 85%, it is determined as the timing for executing the download process. Otherwise, it is not determined as the timing for executing the download process.
  • the determination unit 512 predicts the current communication index using the previous measured values of the number of packets, the communication amount, and the communication speed transmitted as the determination information, and the predicted value of the communication index.
  • the download process execution timing may be determined based on the above.
  • the acquisition unit 511 acquires the previous measurement values of the number of packets, the communication amount, and the communication speed transmitted in the wide area communication network 2 as the determination information.
  • the previous measurement value is, for example, a measurement value for a predetermined period (for example, one week) from the present time.
  • the determination unit 512 uses the measurement values such as the same time zone and day of the week as the current time as the predicted number of packets, the communication amount, and the communication speed at the current time. Then, the determination unit 512 calculates the usage rate as the predicted value of the communication index using the predicted value as described above, and determines the execution timing of the download process by comparing the usage rate and the threshold value.
  • Timing determination method 2-1 As a second method of determining the timing for executing the download process in the determination unit 512, there is a determination method based on correlation information correlated with the congestion status in the wide area communication network 2 such as a mobile phone network.
  • the information is information related to an event that is a causal event that may cause the number of communication accesses that tighten the communication line.
  • the event is an event that is specified only in terms of time, that is, an event that is specified in terms of time and is not specified geographically (first event).
  • the first event is an event that is specified in a predetermined period of the year, such as New Year holidays, Bon holidays, Christmas, Golden Week, Halloween, and the like.
  • the correlation information includes the occurrence period of the event.
  • the above correlation information which is information for determination, is stored in advance in the storage unit 54, and the acquisition unit 511 acquires the information for determination by reading it from the storage unit 54.
  • the occurrence period of the event for each event is registered in advance in the storage unit 54 by, for example, a car manufacturer.
  • the acquisition unit 511 may acquire information for determination by accessing a server (not shown) that provides the correlation information.
  • the determination unit 512 determines, as the determination condition C, the current date and time, which is a condition for determining whether or not the communication line is congested and is in a predetermined state, as the generation period of the event. Is previously stored.
  • the determination unit 512 determines the timing for executing the download process by comparing the current date and time with the event generation period. That is, the determination unit 512 determines the timing for executing the download process when the current date and time are not included in the event occurrence period. Otherwise, it is not determined as the timing for executing the download process.
  • the event that is the cause phenomenon is, as another example, an event that is specified temporally and geographically (second event).
  • the above events include, for example, sports events (games, sports events, etc.), music events (concerts, etc.), entertainment events such as festivals, large-scale man-made disasters such as explosion accidents, public traffic accidents, and terrorist attacks, and abnormal weather ( Natural phenomena such as typhoons, local heavy rains, floods, etc.) and natural disasters (earthquakes, tsunamis, etc.).
  • the correlation information includes the occurrence period and the influence range of the event.
  • At least part of the correlation information that is determination information is stored in the storage unit 54 in advance, and the acquisition unit 511 acquires at least a part of the determination information by reading from the storage unit 54. Or the acquisition part 511 may access the server which does not show in figure which provides at least one part of said correlation information, and may acquire the information for determination.
  • the acquisition unit 511 can acquire the occurrence position and the occurrence date and time by accessing the site of the Japan Meteorological Agency.
  • the correlation information is registered in the storage unit 54 as, for example, the occurrence period of one week from the occurrence date and time, the prefecture adjacent to the prefecture including the occurrence position, and the like.
  • Such correlation information may be set or changed with respect to the management server 5 by an operator of the DL server 6 or a car manufacturer, for example.
  • the acquisition unit 511 can specify the occurrence period and the influence range of an event of a natural disaster such as an earthquake.
  • the acquisition unit 511 acquires the current position of the vehicle 1 as determination information.
  • the position information indicating 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 determination unit 512 determines, as the determination condition C, the current date and time, which is a condition for determining whether or not the communication line is congested and is in a predetermined state, as the generation period of the event. And a condition that the current position of the vehicle 1 is included in the influence range of the event is stored in advance.
  • the determination unit 512 determines the timing for executing the download process by comparing the current date and time with the event occurrence period and comparing the current position of the vehicle 1 with the event influence range. That is, the determination unit 512 does not satisfy the determination condition C when the current date and time are not included in the event occurrence period, or when the current position of the vehicle 1 is not included in the event influence range. In this case, it is determined that the download process is executed. Otherwise, it is not determined as the timing for executing the download process.
  • the third method for determining the timing for executing the download process in the determination unit 512 may be a combination of the first method and the second method. That is, the timing may be determined based on both the communication index related to the congestion status in the wide area communication network 2 such as a mobile phone network and the correlation information correlated with the congestion status.
  • the download timing of the update program of the ECU is suitable based on the communication index related to the congestion status of the wide area communication network 2 and / or the correlated information correlated. Start with. That is, the update program download is not started when the determination condition indicating the predetermined state, which is considered that the wide area communication network 2 is congested, is satisfied, and the download is started otherwise. As a result, it is possible to increase the possibility that the download time of the update program will be prolonged due to the wide area communication network 2 being congested or that the download will fail. In addition, it is possible to increase the possibility that the wide area communication network 2 is further congested or the resolution of the congestion is delayed due to the download of the update program.
  • the timing of the download process is determined using the determination condition C based on the correlation information correlated with the congestion status of the wide area communication network 2, so that the number of packets transmitted in the wide area network 2, the communication amount, and the communication Even when a communication index related to a congestion situation such as a speed measurement value (actual measurement value) cannot be obtained, the timing of the download process can be determined with high accuracy.
  • the download process is executed without performing the timing determination process
  • the timing to perform is determined.
  • the exceptional type is information indicating a type such as the importance of the update program or the urgency of the update, and may be flag information such as an important flag or an urgent flag, for example.
  • 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 determination unit 512 performs the download process without performing the timing determination process. decide. In this case, the update program is transmitted to the corresponding vehicle 1 regardless of the congestion status of the wide area communication network 2. In other words, an update program with high importance or urgency is transmitted even when communication in the wide area communication network 2 is somewhat congested, and the above determination condition C is used for an update program that is not so. Is transmitted at the determined timing. Thereby, avoidance of the problem caused by the transmission of the update program when communication in the wide area communication network 2 is congested and the importance and urgency of the update program can both be achieved.
  • Exceptional classification may be that the data size is less than or equal to the specified size as another example.
  • 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 512 stores in advance a data size threshold that does not require timing determination processing.
  • the threshold value is a data size that does not significantly affect communication in the wide area communication network 2. If the data size of the update program is smaller than the threshold, the determination unit 512 determines the timing for executing the download process without performing the timing determination process, and otherwise executes the timing determination process.
  • ⁇ Third Embodiment> In the timing determination process shown in FIG. 6, if it is not determined that the download process is to be executed (NO in step S103), for example, after a certain period such as one day later (24 hours later), again, The timing determination process is repeated. That is, the timing determination process is performed periodically. At this time, in the program update system according to the third embodiment, when it is predicted that the timing for executing the download process is not determined even after a certain period, it does not follow the period and is longer than the certain period. The timing determination process is executed after the period.
  • the determination unit 512 determines whether the date and time after the predetermined period is also included in the event generation period. No is predicted at the time when the download process is not determined as the execution timing. Then, the determination unit 512 determines whether the period until the next timing determination process is performed is the above-described fixed period or a period longer than that according to the prediction result. For example, the timing determination process is performed at 9:00 am on December 31 and is determined as the timing for executing the download process because it is included in the year-end and New Year period (for example, from 9:00 am on December 31 to 12:00 pm on January 1).
  • the determination unit 512 performs the timing determination process after a period longer than a specified fixed period (one day), for example, on January 2nd.
  • the timing at which the timing determination process is repeated is an appropriate time. That is, the timing determination process is not performed again at a timing that is predicted in advance if it is not determined as the timing for executing the download process, so that the timing for executing the update program download process can be determined efficiently.
  • ⁇ Fourth embodiment> Another example of the download process is a process for controlling the communication speed of the update program.
  • the control of the communication speed of the update program is, for example, control of the transmission cycle or control of the transmission speed (transmission data amount per unit time) itself.
  • the management server 5 requests the gateway 10 to download together with designation of a transmission cycle and a download speed (communication speed) in step S3.
  • the DL control unit 513 controls the transmission rate such as the transmission period of the update program and the amount of transmission data per unit time based on the communication state of the wide area communication network 2.
  • the DL control unit 513 controls the update program to be transmitted at a second communication speed that is lower than the first communication speed that is a normal speed defined in advance. . Otherwise, the DL control unit 513 controls the update program to be transmitted at the first communication speed.
  • the program update system it is possible to increase the possibility that failure of downloading the update program due to congestion of the wide area communication network 2 can be avoided. In addition, the influence on the wide area communication network 2 due to the download of the update program can be suppressed.
  • the timing determination process is executed in the management server 5, which is a control device that executes the update program download process.
  • the update program is downloaded from the DL server 6 in response to the update program request from the gateway 10. Therefore, it can be said that the gateway 10 is also the above control device. Therefore, the timing determination process may be performed in the gateway 10 which is an example of the control device.
  • each function of FIG. 7 is realized by the CPU 11 of the gateway 10 reading the program stored in the storage unit 13 onto the RAM 12 and executing it.
  • the gateway 10 executes the timing determination process described above, and updates the DL server 6 with the update program at a timing determined based on the communication state of the wide area communication network 2. Request and download.
  • the present embodiment may further include the following. That is, the control device included in the present embodiment is a control device that controls the download of the update program of the in-vehicle control device that controls the target device mounted on the vehicle, the communication index of the communication line used for the download, and , An acquisition unit for acquiring determination information, which is at least one of information related to a cause event that may cause the number of communication accesses to tighten the communication circuit, and update program download processing based on the acquired determination information And a processing unit that determines the timing for executing the operation.
  • the control device included in the present embodiment is a control device that controls the download of the update program of the in-vehicle control device that controls the target device mounted on the vehicle, the communication index of the communication line used for the download, and , An acquisition unit for acquiring determination information, which is at least one of information related to a cause event that may cause the number of communication accesses to tighten the communication circuit, and update program download processing based on the acquired determination information
  • a processing unit that determines the
  • Vehicle 2 Wide Area Communication Network 5 Management Server (Control Device) 6 DL server 10 Gateway (control device) 11 CPU 12 RAM DESCRIPTION OF SYMBOLS 13 Memory

Landscapes

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

Abstract

本開示の一態様に係る制御装置は、車両に搭載された対象機器を制御する車載制御装置の更新プログラムのダウンロードを制御する制御装置である。この制御装置は、ダウンロードに用いる通信回線の混雑状況と関連する通信指標および混雑状況と相関する相関情報のうちの少なくとも1つである、判定用情報を取得する取得部と、取得した判定用情報に基づいて、更新プログラムのダウンロード処理を実行するタイミングを決定する処理部と、を備える。

Description

制御装置、プログラム配信方法、およびコンピュータプログラム
 この発明は制御装置、プログラム配信方法、およびコンピュータプログラムに関する。
 本出願は、2016年3月2日出願の日本出願第2016-039917号および2016年6月23日出願の日本出願第2016-124088号に基づく優先権を主張し、前記日本出願に記載された全ての記載内容を援用するものである。
 車載通信機などのゲートウェイが、管理サーバから、車載制御装置であるECU(Electronic Control Unit)の制御プログラムの更新プログラムを受信し、受信した更新プログラム用いてECUが制御プログラムを旧バージョンから新バージョンに書き換えることにより、車両の各ECUに対するプログラム更新を無線通信によって遠隔で実行する技術が開示されている(特許文献1参照)。
特開2007-65856号公報
 ある実施の形態に従うと、制御装置は、車両に搭載された対象機器を制御する車載制御装置の更新プログラムのダウンロードを制御する制御装置であって、ダウンロードに用いる通信回線の混雑状況と関連する通信指標および混雑状況と相関する相関情報のうちの少なくとも1つである、判定用情報を取得する取得部と、取得した判定用情報に基づいて、更新プログラムのダウンロード処理を実行するタイミングを決定する処理部と、を備える。
 他の実施の形態に従うと、プログラム配信方法は、ダウンロードに用いる通信回線の混雑状況と関連する通信指標および混雑状況と相関する相関情報のうちの少なくとも1つである、判定用情報を取得するステップと、取得した判定用情報に基づいて、更新プログラムのダウンロード処理を実行するタイミングを決定するステップと、を備える。
 他の実施の形態に従うと、コンピュータプログラムは、車両に搭載された対象機器を制御する車載制御装置の更新プログラムのダウンロードを制御する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、コンピュータを、ダウンロードに用いる通信回線の混雑状況と関連する通信指標および混雑状況と相関する相関情報のうちの少なくとも1つである、判定用情報を取得する取得部、および、取得した判定用情報に基づいて、更新プログラムのダウンロード処理を実行するタイミングを決定する処理部、として機能させる。
本発明の実施形態に係るプログラム更新システムの全体構成図である。 ゲートウェイの内部構成を示すブロック図である。 ECUの内部構成を示すブロック図である。 管理サーバの内部構成を示すブロック図である。 ECUの制御プログラムの更新の一例を示すシーケンス図である。 図5のステップS2のタイミング判定処理の流れの一例を表したフローチャートである。 管理サーバの機能構成の具体例を示したブロック図である。
[本開示が解決しようとする課題]
 特許文献1の開示によれば、制御プログラムを更新するための更新プログラムは、車両側からの要求に応じてサーバから該当する車両に搭載されたゲートウェイに向けて配信される。そのため、通信回線に通信が集中して輻輳が生じているタイミングに更新用のプログラムの配信が要求されると、配信時間が長くなったり、場合によっては通信エラーとなって更新プログラムが配信されなかったりするおそれがある。また、通信回線がさらに逼迫されるために、他の通信に影響を及ぼすことにもなる。
 本開示のある局面における目的は、更新プログラムを、通信状態を考慮して効率的に配信することができる制御装置、プログラム配信方法、およびコンピュータプログラムを提供することである。
[本開示の効果]
 この開示によると、車両に搭載された対象機器を制御する車載制御装置の更新プログラムを、通信回線の通信状態を考慮して効率的に配信することができる。
[実施の形態の説明]
 本実施の形態には、少なくとも以下のものが含まれる。
 すなわち、本実施の形態に含まれる制御装置は、車両に搭載された対象機器を制御する車載制御装置の更新プログラムのダウンロードを制御する制御装置であって、ダウンロードに用いる通信回線の混雑状況と関連する通信指標および混雑状況と相関する相関情報のうちの少なくとも1つである、判定用情報を取得する取得部と、取得した判定用情報に基づいて、更新プログラムのダウンロード処理を実行するタイミングを決定する処理部と、を備える。
 この構成によれば、更新プログラムのダウンロード処理が、ダウンロードに用いる回線の通信回線の混雑状況と関連する通信指標および混雑状況と相関する相関情報のうちの少なくとも1つに基づくタイミングで実行される。これにより、通信回線が混雑していることによってダウンロード時間が長くなったり、ダウンロードに失敗したりすることが回避される可能性を高めることができる。また、ダウンロードによる通信回線への影響も抑えられる。
 好ましくは、処理部は、通信指標の多寡に応じて更新プログラムのダウンロード処理を実行するタイミングを決定する。
 これにより、前記決定に用いる条件を、通信回線が混雑しているとみなされる、予め規定された状態であるか否かを判定し得る条件とすることによって、ダウンロード処理が適切なタイミングに実行されることになる。
 好ましくは、相関情報は、通信回路を逼迫させる通信アクセス数の原因となり得る原因事象であって、時間的に特定されて地理的には特定されない第1イベントの発生期間を含み、処理部は、現在時刻が第1イベントの発生期間に含まれるか否かにより、タイミングを決定する。
 これにより、更新プログラムのダウンロード処理が、ダウンロードに用いる回線の通信回線の混雑状況と相関する相関情報である第1イベントの発生期間に基づくタイミングで実行される。これにより、第1イベントの発生に伴って通信回線が混雑していることによってダウンロード時間が長くなったり、ダウンロードに失敗したりすることが回避される可能性を高めることができる。また、ダウンロードによる通信回線への影響も抑えられる。
 好ましくは、相関情報は、通信回線を逼迫させる通信アクセス数の原因となり得る原因事象であって、時間的および地理的に特定される第2イベントの発生期間および影響範囲を含み、処理部は、現在時刻が第2イベントの発生期間に含まれるか否か、および、更新プログラムを必要とする車両が第2イベントの影響範囲に含まれるか否かにより、タイミングを決定する。
 これにより、更新プログラムのダウンロード処理が、ダウンロードに用いる回線の通信回線の混雑状況と相関する相関情報である第2イベントの発生期間および影響範囲に基づくタイミングで実行される。これにより、第2イベントの発生に伴って通信回線が混雑していることによってダウンロード時間が長くなったり、ダウンロードに失敗したりすることが回避される可能性を高めることができる。また、ダウンロードによる通信回線への影響も抑えられる。
 好ましくは、ダウンロード処理は、更新プログラムがダウンロード可能であることを通知する処理、更新プログラムのダウンロードを開始する処理、または更新プログラムのダウンロード速度を変更する処理である。
 これにより、更新プログラムのダウンロードが、適したタイミングに開始、または適した速度で実行される。このため、通信回線が混雑していることによってダウンロード時間が長くなったり、ダウンロードに失敗したりすることが回避される可能性を高めることができる。また、ダウンロードによる通信回線への影響も抑えられる。
 好ましくは、処理部は、更新プログラムの種別が例外的な種別ではない場合に、ダウンロード処理を実行するタイミングを決定する。
 これにより、通信回線が混雑しているときに更新プログラムが送信されることによって引き起こされる課題の回避と、更新プログラムのダウンロードの重要性や緊急性とを両立させることができる。
 好ましくは、例外的な種別は、更新プログラムの重要性や緊急性が高いことを示す種別である。
 これにより、通信回線が混雑しているときに更新プログラムが送信されることによって引き起こされる課題の回避と、更新プログラムの重要性や緊急性とを両立させることができる。
 好ましくは、処理部は、一定期間ごとにダウンロード処理を実行するタイミングを決定し、ダウンロード処理を実行するタイミングと決定しなかった場合であって、かつ、一定期間の後もダウンロード処理を実行するタイミングと決定されないと予測される場合には、処理部は、上記一定期間よりも長い期間の後にダウンロード処理を実行する。
 これにより、更新プログラムのダウンロード処理のタイミングが効率的に判定される。
 本実施の形態に含まれる配信方法は、車両に搭載された対象機器を制御する車載制御装置の更新プログラムの配信方法であって、ダウンロードに用いる通信回線の混雑状況と関連する通信指標および混雑状況と相関する相関情報のうちの少なくとも1つである、判定用情報を取得するステップと、取得した判定用情報に基づいて、更新プログラムのダウンロード処理を実行するタイミングを決定するステップと、を備える。
 この構成によれば、更新プログラムのダウンロード処理が、ダウンロードに用いる回線の通信回線の混雑状況と関連する通信指標および混雑状況と相関する相関情報のうちの少なくとも1つに基づくタイミングで実行される。これにより、通信回線が混雑していることによってダウンロード時間が長くなったり、ダウンロードに失敗したりすることが回避される可能性を高めることができる。また、ダウンロードによる通信回線への影響も抑えられる。
 本実施の形態に含まれるコンピュータプログラムは、車両に搭載された対象機器を制御する車載制御装置の更新プログラムのダウンロードを制御する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、コンピュータを、ダウンロードに用いる通信回線の混雑状況と関連する通信指標および混雑状況と相関する相関情報のうちの少なくとも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に対する制御プログラムの更新の一例を示すシーケンス図である。一例として、管理サーバ5が、予め会員登録されたユーザが所有する車両1について、当該車両1のECUの制御プログラムを更新するタイミングを決定する。更新のタイミングは、たとえば、車両1のカーメーカーなどによって設定されてもよい。
 好ましくは、管理サーバ5は、制御プログラムを更新するタイミングより前に、更新プログラムが格納されているDLサーバ5から、更新プログラムに関する情報である更新情報を取得する(ステップS1)。更新情報は、たとえば、更新プログラムのデータサイズに関する情報や更新プログラムの種別情報などである。
 管理サーバ5は、タイミング判定処理を実行する(ステップS2)。タイミング判定処理は、更新プログラムの該当する車両1のゲートウェイ10へのダウンロード(送信)に関する処理であるダウンロード処理の実行のタイミングを、当該更新プログラムの送信に用いる通信回線の混雑状況に相関する情報等に基づいて判定する処理である。ダウンロード処理を実行するタイミングと判定された場合、管理サーバ5は、該当する車両1のゲートウェイ10にECU30の更新プログラムの存在を通知する(ステップS3)。ステップS3で管理サーバ5は、たとえば、更新プログラムの保存先URLとダウンロード要求とを該当する車両1のゲートウェイ10宛てに送信する。
 これにより、ゲートウェイ10は、ECU30のための更新プログラムを要求し、DLサーバ6からダウンロードする(ステップS4)。
 更新プログラムがダウンロードされると、ゲートウェイ10では、ダウンロードしてメモリに保存した更新プログラムを用いて制御プログラムを更新させるべく、更新処理を実行する(ステップS5)。ステップS5の更新処理では、一例として、ゲートウェイ10は、該当するECU30に制御プログラムの更新を要求する。これにより、当該ECU30の制御モードが通常モードからリプロモードに切り替わり、当該ECUは制御プログラムの更新処理が可能な状態となる。ECU30は、ゲートウェイ10から受信した更新プログラムを展開して旧バージョンの制御プログラムに適用することにより、制御プログラムを旧バージョンから新バージョンに書き換える。
 [タイミング判定処理]
 図6は、図5のステップS2のタイミング判定処理の具体的な内容を表したフローチャートである。図6のフローチャートに表された処理は、管理サーバ5のCPU51がROM52に記憶されたプログラムをRAM53上に読み出して実行することによって、主にCPU51により実現される。
 図6を参照して、管理サーバ5のCPU51はタイミング判定に用いるための情報である判定用情報を取得する(ステップS101)。ステップS101で取得する判定用情報は更新プログラムを送信するための、携帯電話網等の広域通信網2における混雑状況と関連する通信指標および混雑状況と相関する相関情報のうちの少なくとも1つである。
 CPU51は、判定用情報に基づいて更新プログラムのダウンロード処理の実行のタイミングを決定する(ステップS103)。CPU51は、ダウンロード処理を実行するタイミングと決定した場合(ステップS103でYES)、図5のステップS3の通知、すなわち、該当する車両1のゲートウェイ10に対してダウンロードを要求する(ステップS105)。つまり、この場合、当該プログラム更新システムでは、更新プログラムのダウンロードが開始される。
 一方、広域通信網2の通信状態に基づいてダウンロード処理を実行するタイミングと決定しなかった場合(ステップS103でNO)、CPU51は図5のステップS3の通知、すなわち、該当する車両1のゲートウェイ10に対するダウンロードの要求を行わない。つまり、この場合、当該プログラム更新システムでは、更新プログラムのダウンロードが開始されない。この場合、CPU51は、一定期間ごとに、上記ステップS101からの動作を周期的に繰り返す。
 具体的には、ステップS103でCPU51は、判定用情報が予め規定された判定条件を満たす場合には、ダウンロード処理を実行するタイミングと決定しない。そうでない場合には、ダウンロード処理を実行するタイミングと決定する。上記判定条件は、広域通信網2における通信が予め規定された程度(輻輳度合い)に混雑しているとみなす、予め規定された状態であるか否かを判定するための条件である。
 ステップS2のタイミング判定処理が実行されることによって、上記判定条件がみたされる場合には、該判定条件が満たされなくなるまで更新プログラムのダウンロードが開始されない。そして、当該判定条件が満たされない状態に復帰すると、更新プログラムのダウンロードが開始される。つまり、輻輳状態であるなど広域通信網2の通信状態が混雑しているとみなされる、予め規定された状態であると上記判定条件によって判定される場合には、当該状態が解消されるまで、すなわち通信状態の混雑が解消されたとみなされる状態となるまで、更新プログラムのダウンロードが開始されない。つまり、本プログラム更新システムでは、広域通信網2の混雑状況に関連する、または相関する情報に基づいて、更新プログラムのダウンロードのタイミングが決定される。
 [管理サーバの機能構成]
 図7は、上記のタイミング判定処理を行うための、管理サーバ5の機能構成の具体例を示したブロック図である。図7の各機能は、管理サーバ5のCPU51がROM51に記憶されているプログラムをRAM52上に読み出して実行することによって、主にCPU51によって実現される。
 詳しくは、図7を参照して、管理サーバ5のCPU51は、判定用情報を取得するための取得部511と、判定用情報を用いてダウンロード処理の実行のタイミングを決定する処理部である判定部512と、ダウンロード処理を制御するためのDL制御部513とを含む。
 判定用情報は、更新プログラムを送信するための、携帯電話網等の広域通信網2における混雑状況と関連する通信指標および混雑状況と相関する相関情報のうちの少なくとも1つであって、後述する判定部512でのタイミングの決定方法に応じた情報である。判定部512は、タイミングの決定方法に応じた判定条件Cを予め記憶している。判定条件Cは、広域通信網2が混雑しているとみなされる、予め規定された状態であるかを判定するための閾値や条件を含む。判定部512は、取得された判定用情報が判定条件Cを満たすか否かを判定し、判定結果に基づいてダウンロード処理の実行のタイミングを決定する。判定部512は、判定用情報が判定条件Cを満たす場合、すなわち、広域通信網2がたとえば輻輳状態であるような混雑した状態であるとみなす状態と予め規定された状態であると判定された場合にはダウンロード処理を実行するタイミングと決定せず、判定条件Cを満たさない場合にはダウンロード処理を実行するタイミングと決定する。
 DL制御部513は、制御プログラムのダウンロード処理を実行する。ダウンロード処理は、たとえば、上記のように、ダウンロード可能な更新プログラムがあることをゲートウェイ10に通知する処理(ステップS3)である。また、先述のように管理サーバ5とDLサーバ6とが1つのサーバ装置で構成されている場合、ダウンロード処理は、ゲートウェイ10に更新プログラムの送信(ダウンロード)の開始であってもよい。
 (タイミングの決定方法1)
 判定部512においてダウンロード処理を実行するタイミングを決定する第1の方法として、携帯電話網等の広域通信網2における混雑状況と関連する通信指標の多寡に応じて上記タイミングを決定する方法が挙げられる。
 この場合、取得部511は、判定用情報として、たとえば、広域通信網2にて伝送されるパケット数や通信量や通信速度などの測定値を取得する。これらの値は、たとえば、広域通信網2を管理する通信事業者によって測定され、ウェブサイトなどで提供されることが想定される。取得部511は、当該ウェブサイトのURLを予め記憶しておき、当該ウェブサイトから判定用情報としての測定値を取得することができる。
 判定部512は、一例として、広域通信網2での、伝送可能な最大パケット数や通信量や通信速度を記憶しておき、混雑状況と関連する通信指標として広域通信網2の現在の使用率を算出する。使用率は、判定用情報に示されるパケット数などを伝送可能な最大パケット数などで除して得られる。または、当該使用率は、広域通信網2を管理する通信事業者によって算出され、混雑状況と関連する通信指標として提供されてもよい。この場合、取得部511は、判定用情報として上記ウェブサイトから使用率を取得する。
 判定部512は、上記判定条件Cとして、通信回線が混雑しているとみなされる、予め規定された状態であるか否かを判定するための使用率の閾値を予め記憶している。使用率の閾値は、たとえば85%などである。判定部512は、通信指標である現在の使用率と使用率の閾値とを比較する。
 判定部512は、上記の比較結果に基づいてダウンロード処理の実行のタイミングを決定する。つまり、この例の場合、使用率が85%未満であった場合にはダウンロード処理を実行するタイミングと決定する。そうでない場合には、ダウンロード処理を実行するタイミングと決定しない。
 または、判定部512は、判定用情報として、広域通信網2にて伝送されるパケット数や通信量や通信速度の以前の測定値を用いて現在の通信指標を予測し、通信指標の予測値に基づいてダウンロード処理の実行のタイミングを決定してもよい。
 この場合、取得部511は、判定用情報として、広域通信網2にて伝送されるパケット数や通信量や通信速度の以前の測定値を取得する。以前の測定値は、たとえば、現時点から所定期間(たとえば1週間)の測定値などである。判定部512は、一例として、現時点と同じ時間帯や曜日など測定値を、現時点のパケット数や通信量や通信速度の予想値とする。そして、判定部512は、上記のように予想値を用いて通信指標の予測値としての使用率を算出し、使用率と閾値とを比較することでダウンロード処理の実行のタイミングを決定する。
 (タイミングの決定方法2-1)
 判定部512においてダウンロード処理を実行するタイミングを決定する第2の方法として携帯電話網等の広域通信網2における混雑状況と相関する相関情報に基づく判定方法が挙げられる。上記情報は、該通信回線を逼迫させる通信アクセス数の原因となり得る原因事象であるイベントに関する情報である。上記イベントは、一例として、時間的にのみ特定されるイベント、つまり、時間的に特定されて地理的には特定されない(第1イベント)である。第1イベントは、たとえば、年末年始、お盆休み、クリスマス、ゴールデンウィーク、ハロウィンなどの、一年のうちの予め規定された期間で特定されるイベントである。この場合、相関情報は、当該イベントの発生期間を含む。
 判定用情報である上記の相関情報は予め記憶部54に記憶されており、取得部511は記憶部54から読み出すことによって上記判定用情報を取得する。イベントごとの当該イベントの発生期間は、たとえばカーメーカーなどによって記憶部54に予め登録されている。または、取得部511は、上記の相関情報を提供する図示しないサーバにアクセスして判定用情報を取得してもよい。
 判定部512は、上記判定条件Cとして、通信回線が混雑しているとみなされる、予め規定された状態であるか否かを判定するための条件である、現在の日時が当該イベントの発生期間に含まれるか否かという条件を予め記憶している。判定部512は、現在の日時とイベントの発生期間とを比較することでダウンロード処理を実行するタイミングを決定する。すなわち、判定部512は、現在の日時がイベントの発生期間に含まれない場合にダウンロード処理を実行するタイミングと決定する。そうでない場合には、ダウンロード処理を実行するタイミングと決定しない。
 (タイミングの決定方法2-2)
 上記原因事象であるイベントは、他の例として、時間的および地理的に特定されるイベント(第2イベント)である。上記イベントは、たとえば、スポーツイベント(試合、運動会等)、音楽イベント(コンサート等)、および祭事などの興行イベント、爆発事故、公共交通事故、およびテロ攻撃などの大規模人災、ならびに、異常気象(台風、局地的豪雨、洪水等)や自然災害(地震、津波等)などの自然現象である。この場合、相関情報は、当該イベントの発生期間および影響範囲を含む。
 判定用情報である上記の相関情報の少なくとも一部は予め記憶部54に記憶されており、取得部511は記憶部54から読み出すことによって上記判定用情報の少なくとも一部を取得する。または、取得部511は、上記の相関情報の少なくとも一部を提供する図示しないサーバにアクセスして判定用情報を取得してもよい。たとえば、イベントが地震等の自然災害の場合、取得部511は、気象庁のサイトにアクセスすることによって発生位置および発生日時を取得することができる。この場合、相関情報として、たとえば、発生期間が発生日時から1週間、影響範囲が発生位置を含む都道府県に隣接する都道府県、などとして記憶部54に登録されている。このような相関情報は、たとえばDLサーバ6の運用者やカーメーカーなどによって管理サーバ5に対して設定、変更可能であってもよい。取得部511は、この相関情報を記憶部54から読み出すことによって、地震等の自然災害のイベントについては、その発生期間および影響範囲を特定することができる。
 さらに、取得部511は、判定用情報として、車両1の現在位置を取得する。車両1の現在位置を示す位置情報は、たとえば、該当する車両1のゲートウェイ10と通信することによって取得される。ゲートウェイ10は、たとえば、図示しないナビゲーション装置と通信したり、GPS(Global Positioning System)と通信したりすることで車両1の位置情報を得ることができる。
 判定部512は、上記判定条件Cとして、通信回線が混雑しているとみなされる、予め規定された状態であるか否かを判定するための条件である、現在の日時が当該イベントの発生期間に含まれ、かつ、車両1の現在位置が当該イベントの影響範囲に含まれる、という条件を予め記憶している。判定部512は、現在の日時をイベントの発生期間と比較し、また、車両1の現在位置をイベントの影響範囲と比較することによって、ダウンロード処理を実行するタイミングを決定する。すなわち、判定部512は、現在の日時がイベントの発生期間に含まれない場合、または、車両1の現在位置が当該イベントの影響範囲に含まれない場合に、つまり、上記判定条件Cを満たさない場合にダウンロード処理を実行するタイミングと決定する。そうでない場合には、ダウンロード処理を実行するタイミングと決定しない。
 (タイミングの決定方法3)
 なお、判定部512においてダウンロード処理を実行するタイミングを決定する第3の方法として、上記第1の方法と第2の方法との組み合わせであってもよい。すなわち、携帯電話網等の広域通信網2における混雑状況に関連する通信指標と混雑状況と相関する相関情報との両方に基づいてタイミングが決定されてもよい。
 [第1の実施の形態の効果]
 第1の実施の形態にかかるプログラム更新システムによれば、ECUの更新プログラムのダウンロードが、広域通信網2の混雑状況に関連する通信指標、および/または相関する相関情報に基づいた、適したタイミングで開始される。すなわち、広域通信網2が混雑しているとみなされる、予め規定された状態を示す判定条件を満たす場合には更新プログラムのダウンロードが開始されず、そうでない場合にダウンロードが開始される。これにより、広域通信網2が混雑していることによって更新プログラムのダウンロード時間が長くなったり、ダウンロードに失敗したりすることが回避される可能性を高めることができる。また、更新プログラムのダウンロードによって広域通信網2がさらに混雑したり混雑の解消が遅れたりすることも回避される可能性を高めることができる。
 また、広域通信網2の混雑状況に相関する相関情報に基づいた判定条件Cを用いてダウンロード処理のタイミングが決定されることによって、広域通信網2にて伝送されるパケット数や通信量や通信速度の測定値(実測値)などの混雑状況と関連する通信指標が得られない場合であっても、高精度にダウンロード処理のタイミングを決定することができる。
 <第2の実施の形態>
 第2の実施の形態にかかるプログラム更新システムでは、ダウンロード対象の更新プログラムの更新情報に例外的な種別であることを示す種別情報が含まれる場合に、タイミング判定処理を行うことなくダウンロード処理を実行するタイミングが決定される。例外的な種別は、更新プログラムの重要性や更新の緊急性などの種別を表わす情報であって、たとえば、重要フラグや緊急フラグなどのフラグ情報であってもよい。一例として、セキュリティホールへの対処などの情報セキュリティに関する更新プログラム、走行上の安全を確保するために必要な更新プログラム、自動運転モード用に用いられる地図情報などの更新の緊急性が高い更新プログラム、などである。更新プログラムの重要性や更新の緊急性などである上記例外的な種別は、当該更新プログラムを提供するカーメーカーなどによって設定されている。
 判定部512は、送信対象の更新プログラムについての更新情報に上記の例外的な種別を示す種別情報が含まれている場合には上記のタイミング判定処理を行なわずに、ダウンロード処理を実行するタイミングと決定する。この場合、当該更新プログラムは広域通信網2の混雑状況に関わらずに該当の車両1に送信される。つまり、重要性や緊急性の高い更新プログラムについては広域通信網2における通信が多少混雑している場合であっても送信されることになり、そうでない更新プログラムについては上記の判定条件Cを用いて判定されたタイミングに送信される。これにより、広域通信網2における通信が混雑しているときに更新プログラムが送信されることによって引き起こされる課題の回避と、更新プログラムの重要性や緊急性とを両立させることができる。
 例外的な種別は、他の例として、データサイズが規定サイズ以下であることであってもよい。更新プログラムのデータサイズは、たとえば、当該更新プログラムを提供するカーメーカーなどによって更新情報として更新プログラムに付加される。この場合、判定部512は、タイミング判定処理を必要としないデータサイズの閾値を予め記憶している。この閾値は、広域通信網2における通信に大きな影響を与えない程度のデータサイズである。判定部512は、更新プログラムのデータサイズが当該閾値より小さい場合にはタイミング判定処理を行なわずにダウンロード処理を実行するタイミングと決定し、そうでない場合にタイミング判定処理を実行する。これにより、データサイズの小さい更新プログラムについては広域通信網2における通信が多少混雑している場合であっても送信されることになり、そうでない更新プログラムについては上記の判定条件Cを用いて判定されたタイミングに送信される。これにより、広域通信網2における通信が混雑しているときに更新プログラムが送信されることによって引き起こされる課題をより効果的に回避することができる。
 <第3の実施の形態>
 図6に示されたタイミング判定処理においては、ダウンロード処理を実行するタイミングと決定されなかった場合(ステップS103でNO)には、たとえば一日後(24時間後)などの一定期間の後に、再度、タイミング判定処理が繰り返される。つまり、タイミング判定処理は周期的に行われる。このとき、第3の実施の形態にかかるプログラム更新システムでは、一定期間の後にもダウンロード処理を実行するタイミングと決定されないと予測される場合には、上記周期に従わず、上記一定期間よりも長い期間の後にタイミング判定処理を実行する。
 具体的に、判定用情報として上記第1イベントのイベント情報が用いられる場合(タイミングの決定方法2-1)、判定部512は、上記一定期間の後の日時もイベントの発生期間に含まれるか否かを、ダウンロード処理を実行するタイミングと決定しなかった時点において予測する。そして、判定部512は、この予測結果に応じて、次回のタイミング判定処理を実行するまでの期間を上記一定期間とするかそれよりも長い期間とするか、を決定する。たとえば、12月31日の朝9時にタイミング判定処理を行って、年末年始の期間(たとえば12月31日朝9時~1月1日夜12時)に含まれることからダウンロード処理を実行するタイミングと決定しなかった場合であって、上記一定期間が1日(24時間)であった場合、1日後の1月1日の朝9時も依然として年末年始の期間に含まれることが12月31日の朝9時の時点において予測される。この場合、判定部512は、規定された一定期間(1日)よりも長い期間の後、たとえば1月2日などにタイミング判定処理を実行する。
 第3の実施の形態にかかるプログラム更新システムによれば、タイミング判定処理によって更新プログラムのダウンロード処理を実行するタイミングと決定されなかった場合に、再度、タイミング判定処理を繰り返す時期が適切な時期となる。すなわち、ダウンロード処理を実行するタイミングと決定されないと予め予測されるタイミングでタイミング判定処理を再度行うことがないため、更新プログラムのダウンロード処理の実行のタイミングを、効率的に決定することができる。
 <第4の実施の形態>
 ダウンロード処理は、他の例として、更新用プログラムの通信速度を制御する処理が挙げられる。更新用プログラムの通信速度の制御は、たとえば、送信周期の制御や、送信速度(単位時間あたりの送信データ量)そのものの制御である。たとえば、図5に示された例の場合、管理サーバ5は、ステップS3において、送信周期やダウンロード速度(通信速度)の指定と共にゲートウェイ10にダウンロードを要求する。この場合、DL制御部513は、広域通信網2の通信状態に基づいて更新用プログラムの送信周期や単位時間あたりの送信データ量などの送信速度を制御する。
 具体的には、判定部512において上記タイミング判定処理が実行されて上記判定条件Cが満たされた場合、つまり、広域通信網2が混雑しているとみなされる、予め規定された状態であると判定された場合には、DL制御部513は、更新用プログラムを、予め規定されている通常時の速度である第1の通信速度よりも遅い第2の通信速度にて送信するように制御する。そうでない場合には、DL制御部513は、更新用プログラムを、第1の通信速度にて送信するように制御する。
 第4の実施の形態にかかるプログラム更新システムによれば、広域通信網2が混雑していることによって更新プログラムのダウンロードに失敗することが回避される可能性を高めることができる。また、更新プログラムのダウンロードによる広域通信網2への影響も抑えることができる。
 <第5の実施の形態>
 第1~第4の実施の形態にかかるプログラム更新システムでは、更新プログラムのダウンロード処理を実行する制御装置である管理サーバ5においてタイミング判定処理が実行される。ここで、図5に示された例では、ゲートウェイ10からの更新プログラムの要求に応じてDLサーバ6から更新プログラムがダウンロードされている。そのため、ゲートウェイ10も上記の制御装置であると言える。そこで、タイミング判定処理は、上記の制御装置の一例であるゲートウェイ10において行われてもよい。
 この場合、ゲートウェイ10のCPU11が記憶部13に記憶されているプログラムをRAM12上に読み出して実行することによって図7の各機能が実現される。ゲートウェイ10は、上記ステップS3で管理サーバ5から更新プログラムが通知されると上記のタイミング判定処理を実行し、広域通信網2の通信状態に基づいて決定されたタイミングでDLサーバ6に更新プログラムを要求し、ダウンロードする。
 [補記1]
 なお、本実施の形態には、以下のものがさらに含まれてもよい。
 すなわち、本実施の形態に含まれる制御装置は、車両に搭載された対象機器を制御する車載制御装置の更新プログラムのダウンロードを制御する制御装置であって、ダウンロードに用いる通信回線の通信指標、および、通信回路を逼迫させる通信アクセス数の原因となり得る原因事象に関する情報のうちの少なくとも1つである、判定用情報を取得する取得部と、取得した判定用情報に基づいて、更新プログラムのダウンロード処理を実行するタイミングを決定する処理部と、を備える。
 [補記2]
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 1 車両
 2 広域通信網
 5 管理サーバ(制御装置)
 6 DLサーバ
 10 ゲートウェイ(制御装置)
 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制御部

Claims (10)

  1.  車両に搭載された対象機器を制御する車載制御装置の更新プログラムのダウンロードを制御する制御装置であって、
     前記ダウンロードに用いる通信回線の混雑状況と関連する通信指標および前記混雑状況と相関する相関情報のうちの少なくとも1つである、判定用情報を取得する取得部と、
     取得した判定用情報に基づいて、前記更新プログラムのダウンロード処理を実行するタイミングを決定する処理部と、を備える、制御装置。
  2.  前記処理部は、前記通信指標の多寡に応じて、前記タイミングを決定する、請求項1に記載の制御装置。
  3.  前記相関情報は、前記通信回路を逼迫させる通信アクセス数の原因となり得る原因事象であって、時間的に特定されて地理的には特定されない第1イベントの発生期間を含み、
     前記処理部は、現在時刻が前記第1イベントの発生期間に含まれるか否かにより、前記タイミングを決定する、請求項1または請求項2に記載の制御装置。
  4.  前記相関情報は、前記通信回線を逼迫させる通信アクセス数の原因となり得る原因事象であって、時間的および地理的に特定される第2イベントの発生期間および影響範囲を含み、
     前記処理部は、現在時刻が前記第2イベントの発生期間に含まれるか否か、および、前記更新プログラムを必要とする前記車両が前記第2イベントの影響範囲に含まれるか否かにより、前記タイミングを決定する、請求項1~請求項3のいずれか一項に記載の制御装置。
  5.  前記ダウンロード処理は、前記更新プログラムがダウンロード可能であることを通知する処理、前記更新プログラムのダウンロードを開始する処理、または前記更新プログラムのダウンロード速度を変更する処理である、請求項1~請求項4のいずれか一項に記載の制御装置。
  6.  前記処理部は、前記更新プログラムの種別が例外的な種別ではない場合に、前記ダウンロード処理を実行するタイミングを決定する、請求項1~請求項5のいずれか一項に記載の制御装置。
  7.  前記例外的な種別は、前記更新プログラムの重要性や緊急性が高いことを示す種別である、請求項6に記載の制御装置。
  8.  前記処理部は、一定期間ごとに前記ダウンロード処理を実行するタイミングを決定し、
     前記ダウンロード処理を実行するタイミングと決定しなかった場合であって、かつ、前記一定期間の後も前記ダウンロード処理を実行するタイミングと決定されないと予測される場合には、前記処理部は、前記一定期間よりも長い期間の後に前記ダウンロード処理を実行するタイミングを決定する、請求項1~請求項7のいずれか一項に記載の制御装置。
  9.  車両に搭載された対象機器を制御する車載制御装置の更新プログラムの配信方法であって、
     前記ダウンロードに用いる通信回線の混雑状況と関連する通信指標および前記混雑状況と相関する相関情報のうちの少なくとも1つである、判定用情報を取得するステップと、
     取得した判定用情報に基づいて、前記更新プログラムのダウンロード処理を実行するタイミングを決定するステップと、を備える、プログラム配信方法。
  10.  車両に搭載された対象機器を制御する車載制御装置の更新プログラムのダウンロードを制御する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、前記コンピュータを、
     前記ダウンロードに用いる通信回線の混雑状況と関連する通信指標および前記混雑状況と相関する相関情報のうちの少なくとも1つである、判定用情報を取得する取得部、および、
     取得した判定用情報に基づいて、前記更新プログラムのダウンロード処理を実行するタイミングを決定する処理部、として機能させる、コンピュータプログラム。
PCT/JP2016/080069 2016-03-02 2016-10-11 制御装置、プログラム配信方法、およびコンピュータプログラム WO2017149826A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/080,760 US20190073210A1 (en) 2016-03-02 2016-10-11 Control apparatus, program distribution method, and computer program

Applications Claiming Priority (4)

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

Publications (1)

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

Family

ID=59742804

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/080069 WO2017149826A1 (ja) 2016-03-02 2016-10-11 制御装置、プログラム配信方法、およびコンピュータプログラム

Country Status (2)

Country Link
US (1) US20190073210A1 (ja)
WO (1) WO2017149826A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108241498A (zh) * 2017-12-21 2018-07-03 北京车和家信息技术有限公司 一种车载设备升级方法、装置及车辆

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11146659B2 (en) * 2018-06-07 2021-10-12 Ford Global Technologies, Llc Optimized TCU transit power
JP6699764B1 (ja) 2019-01-16 2020-05-27 株式会社富士通ゼネラル 空気調和システム
JP2022100031A (ja) * 2020-12-23 2022-07-05 キヤノン株式会社 処理装置、装置、システム、方法およびプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005122367A (ja) * 2003-10-15 2005-05-12 Fujitsu Ten Ltd 車載用端末装置
JP2005349878A (ja) * 2004-06-08 2005-12-22 Fujitsu Ten Ltd ソフトウェア管理装置
WO2011007413A1 (ja) * 2009-07-13 2011-01-20 株式会社Pfu 配信システム、サーバ装置、端末装置、および、配信方法
JP2015153252A (ja) * 2014-02-17 2015-08-24 株式会社リコー 通信システム、通信装置及びプログラム
WO2015159815A1 (ja) * 2014-04-16 2015-10-22 クラリオン株式会社 データ配信システム、制御サーバ及びデータ配信方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005122367A (ja) * 2003-10-15 2005-05-12 Fujitsu Ten Ltd 車載用端末装置
JP2005349878A (ja) * 2004-06-08 2005-12-22 Fujitsu Ten Ltd ソフトウェア管理装置
WO2011007413A1 (ja) * 2009-07-13 2011-01-20 株式会社Pfu 配信システム、サーバ装置、端末装置、および、配信方法
JP2015153252A (ja) * 2014-02-17 2015-08-24 株式会社リコー 通信システム、通信装置及びプログラム
WO2015159815A1 (ja) * 2014-04-16 2015-10-22 クラリオン株式会社 データ配信システム、制御サーバ及びデータ配信方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108241498A (zh) * 2017-12-21 2018-07-03 北京车和家信息技术有限公司 一种车载设备升级方法、装置及车辆
CN108241498B (zh) * 2017-12-21 2021-03-30 北京车和家信息技术有限公司 一种车载设备升级方法、装置及车辆

Also Published As

Publication number Publication date
US20190073210A1 (en) 2019-03-07

Similar Documents

Publication Publication Date Title
JP6372521B2 (ja) 制御装置、プログラム配信方法、およびコンピュータプログラム
JP2018005894A (ja) プログラム配信システム、サーバ、プログラム配信方法、およびコンピュータプログラム
JP6361671B2 (ja) プログラム更新システム、プログラム更新方法、中継装置及びコンピュータプログラム
US10552143B2 (en) Relay device, program update system, and program update method
JP5949732B2 (ja) プログラム更新システム及びプログラム更新方法
WO2017149826A1 (ja) 制御装置、プログラム配信方法、およびコンピュータプログラム
US10705826B2 (en) Control apparatus, program updating method, and computer program
US10027672B2 (en) Access restriction device, on-board communication system and method for communication restriction
US20190286454A1 (en) Control device, program update method, and computer program
JPWO2018185994A1 (ja) 制御装置、転送方法、およびコンピュータプログラム
JP6465258B1 (ja) 制御装置、制御方法、およびコンピュータプログラム
WO2017149821A1 (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
JPWO2018142750A1 (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
JP2018181377A (ja) 中継装置、プログラム更新システム、およびプログラム更新方法
JP2017123012A (ja) 車載更新装置、更新システム及び更新処理プログラム
JPWO2018079004A1 (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
JP6620891B2 (ja) 中継装置、中継方法、およびコンピュータプログラム
JP6358286B2 (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
WO2018154949A1 (ja) プログラム更新システム、制御装置、プログラム更新方法、及びコンピュータプログラム
WO2018142749A1 (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
WO2017209049A1 (ja) プログラム配信システム、サーバ、プログラム配信方法、およびコンピュータプログラム
JP2018181376A (ja) 中継装置、プログラム更新システム、およびプログラム更新方法
WO2017149822A1 (ja) プログラム配信システム、サーバ、プログラム配信方法、およびコンピュータプログラム
JP2017228103A (ja) 制御装置、プログラム配信方法、およびコンピュータプログラム
WO2017149827A1 (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: 16892663

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16892663

Country of ref document: EP

Kind code of ref document: A1