JP2018005894A - Program distribution system, server, program distribution method, and computer program - Google Patents

Program distribution system, server, program distribution method, and computer program Download PDF

Info

Publication number
JP2018005894A
JP2018005894A JP2017104688A JP2017104688A JP2018005894A JP 2018005894 A JP2018005894 A JP 2018005894A JP 2017104688 A JP2017104688 A JP 2017104688A JP 2017104688 A JP2017104688 A JP 2017104688A JP 2018005894 A JP2018005894 A JP 2018005894A
Authority
JP
Japan
Prior art keywords
vehicle
download
program
priority
update
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2017104688A
Other languages
Japanese (ja)
Inventor
泉 達也
Tatsuya Izumi
達也 泉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Electric Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sumitomo Electric Industries Ltd filed Critical Sumitomo Electric Industries Ltd
Priority to PCT/JP2017/019915 priority Critical patent/WO2017209049A1/en
Publication of JP2018005894A publication Critical patent/JP2018005894A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a program distribution system capable of assuredly distributing an update program to a plurality of vehicles, while suppressing processing load of a server at the time of distributing the update program to the plurality of vehicles.SOLUTION: When an update program of an ECU which is an on-board control device for controlling object equipment mounted on a vehicle is distributed to gate ways 10A to 10C of each of a plurality of vehicles, a management server 5 for controlling download of an update program executes scheduling processing (step S2), and determines the priority of the download processing of the update program for a plurality of gate ways. The management server starts the download according to the determined priority (S3A to 3C).SELECTED DRAWING: Figure 5

Description

この発明はプログラム配信システム、サーバ、プログラム配信方法、およびコンピュータプログラムに関し、特に、車載制御装置の更新プログラムを、複数の車両に対して配信するプログラム配信システム、サーバ、プログラム配信方法、およびコンピュータプログラムに関する。   The present invention relates to a program distribution system, a server, a program distribution method, and a computer program. In particular, the present invention relates to a program distribution system, a server, a program distribution method, and a computer program that distribute an update program for an in-vehicle control device to a plurality of vehicles. .

近年、自動車の技術分野においては、車両の高機能化が進行しており、多種多様な車載機器が車両に搭載されている。従って、車両には、各車載機器を制御するための制御装置である、所謂ECU(Electronic Control Unit)が多数搭載されている。
ECUの種類には、例えば、アクセル、ブレーキ、ハンドルの操作に対してエンジンやブレーキ、EPS(Electric Power Steering)等の制御を行う走行系に関わるもの、乗員によるスイッチ操作に応じて車内照明やヘッドライトの点灯/消灯と警報器の吹鳴等の制御を行うボディ系ECU、運転席近傍に配設されるメータ類の動作を制御するメータ系ECUなどがある。
In recent years, in the technical field of automobiles, functions of vehicles have been advanced, and a wide variety of in-vehicle devices are mounted on vehicles. Therefore, a large number of so-called ECUs (Electronic Control Units), which are control devices for controlling each in-vehicle device, are mounted on the vehicle.
The types of ECUs include, for example, those related to the traveling system that controls the engine, brakes, EPS (Electric Power Steering), etc. for the operation of the accelerator, brake, and steering wheel. There are body-type ECUs that control the turning on / off of lights and the sounding of alarm devices, and meter-type ECUs that control the operation of meters arranged near the driver's seat.

一般的にECUは、マイクロコンピュータ等の演算処理装置によって構成されており、ROM(Read Only Memory)に記憶した制御プログラムを読み出して実行することにより、車載機器の制御が実現される。
ECUの制御プログラムは、車両の仕向け地やグレードなど応じて異なることがあり、制御プログラムのバージョンアップに対応して、旧バージョンの制御プログラムを新バージョンの制御プログラムに書き換える必要がある。
In general, the ECU is configured by an arithmetic processing device such as a microcomputer, and the control of the in-vehicle device is realized by reading and executing a control program stored in a ROM (Read Only Memory).
The ECU control program may differ depending on the destination, grade, etc. of the vehicle, and it is necessary to rewrite the old version control program to the new version control program in response to the upgrade of the control program.

たとえば、特許文献1には、車載通信機などのゲートウェイが管理サーバから更新プログラムを受信し、受信した更新プログラム用いてECUが制御プログラムを旧バージョンから新バージョンに書き換えることにより、車両の各ECUに対するプログラム更新を無線通信によって遠隔で実行する技術が開示されている。   For example, in Patent Document 1, a gateway such as an in-vehicle communication device receives an update program from a management server, and an ECU rewrites a control program from an old version to a new version by using the received update program. A technique for performing program update remotely by wireless communication is disclosed.

特開2007−65856号公報JP 2007-65856 A

特許文献1の開示によれば、プログラム提供装置が車両の車種に応じた車両制御プログラムを、車両の車種ごとに一括して送信するものである。しかしながら、車種によっては車両の台数が膨大な場合もあり、一括して更新プログラムを配信すると配信用のサーバの処理負荷が過大になる可能性がある。   According to the disclosure of Patent Document 1, the program providing device transmits a vehicle control program corresponding to the vehicle type of the vehicle in a lump for each vehicle type. However, depending on the vehicle model, 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 invention is to provide a program distribution system, a server, a program distribution method, and a program distribution system capable of reliably distributing 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.

ある実施の形態に従うと、プログラム配信システムは、車載機器を制御する車載制御装置を搭載した車両において、車載制御装置と車内通信回線で接続されて、車外装置と車載制御装置との通信を中継する中継装置と、サーバから中継装置に対する、車載制御装置の更新プログラムのダウンロードを制御する制御装置と、を備え、制御装置は、複数の車両それぞれの中継装置に対して、更新プログラムのダウンロード処理の優先順位を決定する処理部と、決定された優先順位に従ってダウンロード処理を開始するダウンロード制御部と、を含む。   According to an embodiment, 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 relay device, and a control device that controls downloading of the update program of the in-vehicle control device from the server to the relay device, the control device prioritizing the update program download process for each of the plurality of vehicles. A processing unit that determines the order; and a download control unit that starts the download process according to the determined priority order.

他の実施の形態に従うと、サーバは、車載機器を制御する車載制御装置を搭載した車両において、車載制御装置と車内通信回線で接続されて、車外装置と車載制御装置との通信を中継する中継装置に対して、車載制御装置の更新プログラムをダウンロードするサーバであって、複数の車両それぞれの中継装置に対して、更新プログラムのダウンロード処理の優先順位を決定する処理部と、決定された優先順位に従ってダウンロード処理を開始するダウンロード制御部と、を含む。   According to another embodiment, 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 And a download control unit that starts the download process according to

他の実施の形態に従うと、プログラム配信方法は車両に搭載された対象機器を制御する車載制御装置の更新プログラムを複数の車両に対して配信する方法であって、複数の車両に対して、更新プログラムのダウンロード処理の優先順位を決定するステップと、決定された優先順位に従ってダウンロード処理を開始するダウンロード制御部と、を備える。   According to another embodiment, 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 step of determining a priority of the download process of the program; and a download control unit that starts the download process according to the determined priority.

他の実施の形態に従うと、コンピュータプログラムは、複数の車両に対する、複数の車両それぞれに搭載された対象機器を制御する車載制御装置の更新プログラムのダウンロードを制御する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、コンピュータを、複数の車両それぞれの中継装置に対して、更新プログラムのダウンロード処理の優先順位を決定する処理部と、決定された優先順位に従ってダウンロード処理を開始するダウンロード制御部と、して機能させる。   According to another embodiment, 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.

この発明によると、更新プログラムを配信するサーバの処理負荷を抑えつつ、確実に更新プログラムを配信できる。   According to the present invention, it is possible to reliably distribute the update program while suppressing the processing load on the server that distributes the update program.

本発明の実施形態に係るプログラム更新システムの全体構成図である。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. ECUの内部構成を示すブロック図である。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. ECUの制御プログラムの更新の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the update of the control program of ECU. 図5のステップS2のスケジューリング処理の流れの一例を表したフローチャートである。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. 第5の実施の形態にかかるゲートウェイの内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the gateway concerning 5th Embodiment. 第5の実施の形態にかかるプログラム更新システムでの、ECUの制御プログラムの更新の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the update of the control program of ECU in the program update system concerning 5th Embodiment.

[実施の形態の説明]
本実施の形態には、少なくとも以下のものが含まれる。
すなわち、本実施の形態に含まれるプログラム配信システムは、車載機器を制御する車載制御装置を搭載した車両において、車載制御装置と車内通信回線で接続されて、車外装置と車載制御装置との通信を中継する中継装置と、サーバから中継装置に対する、車載制御装置の更新プログラムのダウンロードを制御する制御装置と、を備え、制御装置は、複数の車両それぞれの中継装置に対して、更新プログラムのダウンロード処理の優先順位を決定する処理部と、決定された優先順位に従ってダウンロード処理を開始するダウンロード制御部と、を含む。
この構成によれば、複数の中継装置それぞれに対してダウンロード処理の開始が一時に集中せず、決定された優先順位に従って開始される。つまり、ダウンロード処理の開始が複数の中継装置の間で分散される。そのため、サーバの処理負荷の増大を抑えつつ、複数の中継装置それぞれに確実に更新プログラムを配信することができる。
[Description of Embodiment]
This embodiment includes at least the following.
That is, 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 relay device for relaying, and a control device for controlling downloading of the update program of the in-vehicle control device from the server to the relay device, wherein the control device downloads the update program to each relay device of the plurality of vehicles. And a download control unit for starting download processing according to the determined priority.
According to this configuration, 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.

好ましくは、処理部は、複数の車両それぞれの走行履歴に基づいて予測される走行パターンに基づいて優先順位を決定する。
これにより、たとえば制御プログラムの更新に適した走行パターンほど早くダウンロード処理が開始される。そのため、サーバの処理負荷の増大を抑えつつ、複数の中継装置に適した順に更新プログラムを配信することができる。
Preferably, 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.
Thereby, for example, 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.

好ましくは、処理部は、複数の車両それぞれの利用状況に基づいて優先順位を決定する。
これにより、利用状況に応じた順にダウンロード処理が開始される。そのため、サーバの処理負荷の増大を抑えつつ、複数の中継装置に適した順に更新プログラムを配信することができる。
Preferably, 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.

好ましくは、利用状況は、当該車両の利用頻度、車載制御装置の制御プログラムのバージョン、および車載機器についての設定のうちの少なくとも1つを含む。
これにより、サーバの処理負荷の増大を抑えつつ、複数の中継装置に適した順に更新プログラムを配信することができる。
Preferably, 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.
Thereby, 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.

好ましくは、処理部は、複数の中継装置それぞれとサーバとの通信状態を示す通信指標に基づいて優先順位を決定する。
これにより、通信指標に基づいた順にダウンロード処理が開始される。そのため、サーバの処理負荷の増大を抑えつつ、複数の中継装置に適した順に更新プログラムを配信することができる。
Preferably, 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.
Thereby, 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.

好ましくは、処理部は、更新プログラムのダウンロード期間中における車両の通信状態に基づいて優先順位を決定する。
これにより、ダウンロード期間中における車両の通信状態に基づいた順にダウンロード処理が開始される。そのため、サーバの処理負荷の増大を抑えつつ、複数の中継装置に適した順に更新プログラムを配信することができる。
Preferably, the processing unit determines the priority order based on the communication state of the vehicle during the download period of the update program.
Thereby, 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.

好ましくは、処理部は、複数の中継装置それぞれとサーバとの通信状態に相関する相関情報に基づいて優先順位を決定する。
これにより、相関情報に基づいた順にダウンロード処理が開始される。そのため、サーバの処理負荷の増大を抑えつつ、複数の中継装置に適した順に更新プログラムを配信することができる。
Preferably, 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.
Thereby, 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.

好ましくは、処理部は、複数の車両それぞれについて予め設定されている属性に基づいて優先順位を決定する。
これにより、車両の属性に基づいた順にダウンロード処理が開始される。そのため、サーバの処理負荷の増大を抑えつつ、複数の中継装置に適した順に更新プログラムを配信することができる。
Preferably, 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.

好ましくは、処理部は、複数の車両それぞれに搭載されている車載制御装置および/または中継装置の属性に基づいて優先順位を決定する。
これにより、車両それぞれに搭載されている車載制御装置および/または中継装置の属性に基づいた順にダウンロード処理が開始される。属性に基づいた順は、たとえば、メモリの空き容量の多い順、などである。そのため、サーバの処理負荷の増大を抑えつつ、複数の中継装置に適した順に更新プログラムを配信することができる。
Preferably, a processing part determines a priority based on the attribute of the vehicle-mounted control apparatus and / or relay apparatus which are mounted in each of several vehicles.
Thereby, the download process is started in the order based on the attributes of the in-vehicle control device and / or the relay device mounted on each vehicle. The order based on the attribute is, for example, the order in which the free space of the memory is large. 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.

好ましくは、処理部は、複数の車両それぞれの走行履歴に基づいて予測される走行パターンをスケジューリング条件として用いて優先順位を決定する。
この構成によっても、複数の車両それぞれの中継装置に対してダウンロード処理の開始が一時に集中せず、複数の中継装置の間で分散される。
Preferably, the processing unit determines a priority using a traveling pattern predicted based on a traveling history of each of the plurality of vehicles as a scheduling condition.
Even with this configuration, the start of the download process is not concentrated on the relay devices of the plurality of vehicles at once, but is distributed among the relay devices.

好ましくは、ダウンロードは、車載制御装置が起動中に実行可能であって、中継装置は、サーバからダウンロードのスケジュールの通知を受信する通信部と、スケジュールに基づいたタイミングに、車載制御装置を起動する処理を実行する処理部と、を含む。
車載制御装置への更新プログラムのダウンロードのスケジュールに基づいたタイミングを、少なくともダウンロードのスケジュールより前のタイミングとすることによって、ダウンロードの開始時に車載制御装置を起動状態とすることができる。そのため、当該スケジュールに従ってダウンロードを実行することが可能になる。
Preferably, the download can be executed while the in-vehicle control device is activated, and the relay device activates the in-vehicle control device at a timing based on the schedule and the communication unit that receives the notification of the download schedule from the server. And a processing unit that executes processing.
By setting the timing based on the download schedule of the update program to the in-vehicle control device to be at least a timing before the download schedule, the in-vehicle control device can be activated at the start of the download. Therefore, it is possible to execute download according to the schedule.

好ましくは、処理部は、更新プログラムの種別が例外的な種別ではない場合に優先順位を決定する。
これにより、サーバの処理負荷の軽減と更新プログラムのダウンロードの必要性とを両立させることができる。
Preferably, 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.

好ましくは、例外的な種別は、更新プログラムの重要性や緊急性が高いことを示す種別である。
これにより、サーバの処理負荷の軽減と更新プログラムの重要性や緊急性とを両立させることができる。
Preferably, 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. On the other hand, 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.
According to this configuration, 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.

好ましくは、処理部は、優先順位に基づいて中継装置に対するダウンロードのスケジュールを決定し、サーバは、スケジュールを中継装置に通知する通信部をさらに備える。
決定されたスケジュールが中継装置に通知されることによって、中継装置は、たとえば上記のスケジュールに基づいたタイミングに車載制御装置を起動する処理などの、ダウンロードのスケジュールに応じた所定の処理を実行することができる。
Preferably, the processing unit determines a download schedule for the relay device based on the priority, and the server further includes a communication unit that notifies the relay device of the schedule.
By notifying the determined schedule to the relay apparatus, the relay apparatus executes a predetermined process according to the download schedule, such as a process of starting the in-vehicle control apparatus at a timing based on the above schedule, for example. Can do.

本実施の形態に含まれるプログラム配信方法は、車両に搭載された対象機器を制御する車載制御装置の更新プログラムを、複数の車両に対して配信する方法であって、複数の車両に対して、更新プログラムのダウンロード処理の優先順位を決定するステップと、決定された優先順位に従ってダウンロード処理を開始するダウンロード制御部と、を備える。
この構成によれば、複数の中継装置それぞれに対してダウンロード処理の開始が一時に集中せず、決定された優先順位に従って開始される。つまり、ダウンロード処理の開始が複数の中継装置の間で分散される。そのため、サーバの処理負荷の増大を抑えつつ、複数の中継装置それぞれに確実に更新プログラムを配信することができる。
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.
According to this configuration, 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.
According to this configuration, 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.

[実施の形態の詳細]
以下に、図面を参照しつつ、好ましい実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
[Details of the embodiment]
Hereinafter, preferred embodiments will be described with reference to the drawings. In the following description, the same parts and components are denoted by the same reference numerals. Their names and functions are also the same. Therefore, these descriptions will not be repeated.

<第1の実施の形態>
〔システムの全体構成〕
図1は、本発明の実施形態にかかるプログラム更新システムの全体構成図である。
図1に示すように、本実施形態のプログラム更新システムは、広域通信網2を介して通信可能な複数台の車両1、管理サーバ5およびDL(ダウンロード)サーバ6を含む。
管理サーバ5およびDLサーバ6は、たとえば、車両1のカーメーカーにより運営されており、予め会員登録されたユーザが所有する多数の車両1と通信可能である。
<First Embodiment>
[Overall system configuration]
FIG. 1 is an overall configuration diagram of a program update system according to an embodiment of the present invention.
As shown in FIG. 1, 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.

各車両1には、ゲートウェイ10と、無線通信部15と、複数のECU30と、各ECU30によりそれぞれ制御される各種の車載機器(図示せず)とが搭載されている。
各車両1には、共通の車内通信線にバス接続された複数のECU30による通信グループが存在し、ゲートウェイ10は、通信グループ間の通信を中継している。このため、ゲートウェイ10には、複数の車内通信線が接続されている。
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.

無線通信部15は、携帯電話網などの広域通信網2に通信可能に接続され、車内通信線によりゲートウェイ10に接続されている。ゲートウェイ10は、広域通信網2を通じて管理サーバ5およびDLサーバ6などの車外装置から無線通信部15が受信した情報を、ECU30に送信する。
ゲートウェイ10は、ECU30から取得した情報を無線通信部15に送信し、無線通信部15は、その情報を管理サーバ5などの車外装置に送信する。
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.

車両1に搭載される無線通信部15としては、たとえば、ユーザが所有する携帯電話機、スマートフォン、タブレット型端末、ノートPC(Personal Computer)等の装置が考えられる。
図1では、ゲートウェイ10が無線通信部15を介して車外装置と通信を行う場合が例示されているが、ゲートウェイ10が無線通信の機能を有する場合には、ゲートウェイ10自身が管理サーバ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.
In FIG. 1, the case where 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 a management server 5 or the like. It is good also as a structure which performs radio | wireless communication with an external device.

また、図1のプログラム更新システムでは、管理サーバ5とDLサーバ6とが別個のサーバで構成されているが、これらのサーバ5,6を1つのサーバ装置で構成してもよい。   In the program update system of FIG. 1, the management server 5 and the DL server 6 are configured as separate servers, but the servers 5 and 6 may be configured as a single server device.

〔ゲートウェイの内部構成〕
図2は、ゲートウェイ10の内部構成を示すブロック図である。
図2に示すように、ゲートウェイ10は、CPU(Central Processing Unit)11、RAM(Random Access Memory)12、記憶部13、および車内通信部14などを備える。ゲートウェイ10は、無線通信部15と車内通信線とを介して接続されているが、これらは一つの装置で構成してもよい。
[Internal configuration of gateway]
FIG. 2 is a block diagram showing the internal configuration of the gateway 10.
As shown in FIG. 2, 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.

CPU11は、記憶部13に記憶された一または複数のプログラムをRAM12に読み出して実行することにより、ゲートウェイ10を各種情報の中継装置として機能させる。
CPU11は、たとえば時分割で複数のプログラムを切り替えて実行することにより、複数のプログラムを並列的に実行可能である。RAM12は、SRAM(Static RAM)またはDRAM(Dynamic RAM)等のメモリ素子で構成され、CPU11が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
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 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.

記憶部13は、フラッシュメモリ若しくはEEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性のメモリ素子などにより構成されている。
記憶部13は、CPU11が実行するプログラムおよび実行に必要なデータ等を記憶する記憶領域を有する。記憶部13は、DLサーバ6から受信した各ECU30の更新プログラムなども記憶する。
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.

車内通信部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は、上記の通信規格だけでなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
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.

無線通信部15は、アンテナと、アンテナからの無線信号の送受信を実行する通信回路とを含む無線通信機よりなる。無線通信部15は、携帯電話網等の広域通信網2に接続されることにより車外装置との通信が可能である。
無線通信部15は、図示しない基地局により形成される広域通信網2を介して、CPU11から与えられた情報を管理サーバ5等の車外装置に送信するとともに、車外装置から受信した情報をCPU11に与える。
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.

図2に示す無線通信部15に代えて、車両1内の中継装置として機能する有線通信部を採用してもよい。この有線通信部は、USB(Universal Serial Bus)またはRS232C等の規格に応じた通信ケーブルが接続されるコネクタを有し、通信ケーブルを介して接続された別の通信装置と有線通信を行う。
別の通信装置と管理サーバ5等の車外装置とが広域通信網2を通じた無線通信が可能である場合には、車外装置→別の通信装置→有線通信部→ゲートウェイ10の通信経路により、車外装置とゲートウェイ10とが通信可能になる。
Instead of the wireless communication unit 15 illustrated in FIG. 2, 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.
When another communication device and an outside device such as the management server 5 are capable of wireless communication through the wide area communication network 2, 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.

〔ECUの内部構成〕
図3は、ECU30の内部構成を示すブロック図である。
図3に示すように、ECU30は、CPU31、RAM32、記憶部33、および通信部34などを備える。ECU30は、車両1に搭載された対象機器を個別に制御する車載制御装置である。ECU30の種類には、たとえば、エンジン制御ECU、ステアリング制御ECU、およびドアロック制御ECUなどがある。
[Internal configuration of ECU]
FIG. 3 is a block diagram showing an internal configuration of the ECU 30.
As shown in FIG. 3, 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.

CPU31は、記憶部33に予め記憶された一または複数のプログラムをRAM32に読み出して実行することにより、自身が担当する対象機器の動作を制御する。
RAM32は、SRAMまたはDRAM等のメモリ素子で構成され、CPU31が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
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 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.

記憶部33は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子、或いは、ハードディスクなどの磁気記憶装置等により構成されている。
記憶部33が記憶する情報には、たとえば、車内の制御対象である対象機器を制御するための情報処理をCPU31に実行させるためのコンピュータプログラム(以下、「制御プログラム」という。)が含まれる。
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.

通信部34には、車両1に配設された車内通信線を介してゲートウェイ10が接続されている。第1通信部34は、たとえばCAN、Ethernet、またはMOST等の規格に応じて、ゲートウェイ10との通信を行う。
通信部34は、CPU31から与えられた情報をゲートウェイ10へ送信するとともに、ゲートウェイ10から受信した情報をCPU31に与える。第1通信部34は、上記の通信規格だけなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
The communication unit 34 is connected to the gateway 10 via an in-vehicle communication line disposed in the vehicle 1. The first 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 first communication unit 34 may communicate according to other communication standards used for the in-vehicle network, as well as the above communication standards.

ECU30のCPU31には、当該CPU31による制御モードを、「通常モード」または「リプログラミングモード」(以下、「リプロモード」ともいう。)のいずれかに切り替える起動部35が含まれる。
ここで、通常モードとは、ECU30のCPU31が、対象機器に対する本来的な制御(たとえば、燃料エンジンに対するエンジン制御や、ドアロックモータに対するドアロック制御など)を実行する制御モードのことである。
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”).
Here, 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.).

リプログラミングモードとは、対象機器の制御に用いる制御プログラムを更新する制御モードである。
すなわち、リプログラミングモードは、CPU31が、記憶部33のROM領域に対して、制御プログラムの消去や書き換えを行う制御モードのことである。CPU31は、この制御モードのときにのみ、記憶部33のROM領域に格納された制御プログラムを新バージョンに更新することが可能となる。
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.

リプロモードにおいてCPU31が新バージョンの制御プログラムを記憶部33に書き込むと、起動部35は、ECU30をいったん再起動(リセット)させ、新バージョンの制御プログラムが書き込まれた記憶領域についてベリファイ処理を実行する。
起動部35は、上記のベリファイ処理の完了後に、CPU31を更新後の制御プログラムによって動作させる。
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.

〔管理サーバの内部構成〕
図4は、管理サーバ5の内部構成を示すブロック図である。
図4に示すように、管理サーバ5は、CPU51、ROM52、RAM53、記憶部54、および通信部55などを備える。
[Management Server internal configuration]
FIG. 4 is a block diagram showing the internal configuration of the management server 5.
As shown in FIG. 4, 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.

CPU51は、ROM52に予め記憶された一または複数のプログラムをRAM53に読み出して実行することにより、各ハードウェアの動作を制御し、管理サーバ5をゲートウェイ10と通信可能な車外装置として機能させる。
RAM53は、SRAMまたはDRAM等のメモリ素子で構成され、CPU51が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
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 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.

記憶部54は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子、または、ハードディスクなどの磁気記憶装置等により構成されている。
通信部55は、所定の通信規格に則って通信処理を実行する通信装置よりなり、携帯電話網等の広域通信網2に接続されて当該通信処理を実行する。通信部55は、CPU51から与えられた情報を、広域通信網2を介して外部装置に送信するとともに、広域通信網2を介して受信した情報をCPU51に与える。
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.

〔制御プログラムの更新シーケンス〕
図5は、本実施形態のプログラム更新システムにおいて実行される、ECUに対する制御プログラムの更新の一例を示すシーケンス図である。更新プログラムは車両1のカーメーカーなどによってDLサーバ6に置かれ、管理サーバ5に対して更新プログラムが配信可能な状態となったことが設定される。
[Control program update sequence]
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.

好ましくは、管理サーバ5は、制御プログラムを配信可能な状態となると、更新プログラムが格納されているDLサーバ5から、更新プログラムに関する情報である更新情報を取得する(ステップS1)。更新情報は、たとえば、更新プログラムの配信先に関する情報やデータサイズに関する情報などである。   Preferably, when the management server 5 is in a state where the control program can be distributed, the management server 5 acquires update information that is information about 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.

管理サーバ5は、更新プログラムを配信可能な状態になるとスケジューリング処理を実行する(ステップS2)。スケジューリング処理は、複数の車両1それぞれのゲートウェイ10A〜10C間で更新プログラムのダウンロードの開始時間を分散するように、更新プログラムの配信スケジュールを決定するための処理である。そして、管理サーバ5は、決定したスケジュールに従った順番でゲートウェイ10A〜10Cに対して、ECU30の更新プログラムの更新を要求する(ステップS3A〜S3C)。ステップS3A〜S3Cで管理サーバ5は、たとえば、更新プログラムの保存先URLとダウンロード要求とを該当する車両1のゲートウェイ10宛てに送信する。
これにより、各ゲートウェイ10は、上記要求の順番に従った順番で、ECU30のための更新プログラムをDLサーバ6からダウンロードする(ステップS4A〜S4C)。
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. Then, 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). In steps S3A to S3C, 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, each gateway 10 downloads the update program for ECU30 from the DL server 6 in the order according to the order of the said request | requirement (step S4A-S4C).

更新プログラムがダウンロードされると、各ゲートウェイ10では、ダウンロードしてメモリに保存した更新プログラムを用いて制御プログラムを更新させるべく、更新処理を実行する(ステップS5A〜S5C)。ステップS5A〜S5Cの更新処理では、一例として、ゲートウェイ10は、該当するECU30に制御プログラムの更新を要求する。これにより、当該ECU30の制御モードが通常モードからリプロモードに切り替わり、当該ECUは制御プログラムの更新処理が可能な状態となる。ECU30は、ゲートウェイ10から受信した更新プログラムを展開して旧バージョンの制御プログラムに適用することにより、制御プログラムを旧バージョンから新バージョンに書き換える。   When the update program is downloaded, 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). In the update process of steps S5A to S5C, for example, the gateway 10 requests the corresponding ECU 30 to update the control program. As a result, 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.

[スケジューリング処理]
図6は、図5のステップS2のスケジューリング処理の具体的な内容を表したフローチャートである。図6のフローチャートに表された処理は、管理サーバ5のCPU51がROM52に記憶されたプログラムをRAM53上に読み出して実行することによって、主にCPU51により実現される。なお、本実施の形態においては図6のステップS103以降の動作が行われるものとする。図6中のステップS101については第2の実施の形態において説明する。
[Scheduling process]
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.

図6を参照して、管理サーバ5のCPU51はスケジューリング処理に用いるための情報であるスケジューリング情報を取得する(ステップS103)。CPU51は、取得したスケジューリング情報を用いて、ゲートウェイ10A〜10C間のダウンロードの優先順位を決定する(ステップS105)。ステップS105の決定方法については後述する。CPU51は、決定された優先順位に従って、該当する車両1のゲートウェイ10に対してダウンロードを要求する(ステップS107)。これにより、当該するゲートウェイ10に対する更新プログラムのダウンロードが開始される。   Referring to FIG. 6, CPU 51 of 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.

[管理サーバの機能構成]
図7は、上記のスケジューリング処理を行うための、管理サーバ5の機能構成の具体例を示したブロック図である。図7の各機能は、管理サーバ5のCPU51がROM51に記憶されているプログラムをRAM52上に読み出して実行することによって、主にCPU51によって実現される。
[Functional configuration of Management Server]
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.

詳しくは、図7を参照して、管理サーバ5のCPU51は、スケジューリング情報を取得するためのスケジューリング情報取得部511と、スケジュールを決定するためのスケジューリング部512と、ダウンロード処理を制御するためのDL制御部513と、更新情報を取得するための更新情報取得部514と、を含む。なお、図7に示された判断部515については、第2の実施の形態において説明する。   Specifically, referring to FIG. 7, 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.

ダウンロード処理は、たとえば、更新プログラムのダウンロードをゲートウェイ10に要求(必要な情報の通知)する処理(ステップS3)である。また、先述のように管理サーバ5とDLサーバ6とが1つのサーバ装置で構成されている場合、ダウンロード処理は、ゲートウェイ10への更新プログラムの送信(ダウンロード)の開始であってもよい。また、ダウンロードに失敗し、再度のダウンロード(リトライ)の開始であってもよい。   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.

(スケジューリング方法1)
スケジューリング部512においてダウンロードの優先順位を決定し、スケジュールを決定する第1の方法として、車両1の走行モデルを用いて各車両1の走行状態を予測(走行予測)し、予測される走行パターンに基づいて優先順位を決定する方法が挙げられる。走行モデルは、車両1の走行状態の蓄積(走行履歴)に基づいて生成される、車両1の走行パターンのモデルである。走行モデルは、たとえば、曜日、時間ごとの走行パターンを含む。
(Scheduling method 1)
As a first method for determining the download priority in the scheduling unit 512 and determining the schedule, the travel state of each vehicle 1 is predicted (travel prediction) using the travel model of the vehicle 1, and the predicted travel pattern is set. There is a method for determining the priority order based on this. 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.

スケジューリング情報取得部511は走行予測を行うための走行予測部516を含む。走行予測部516は、現在日時と車両1ごとの走行モデルとを取得する。好ましくは、スケジューリング情報取得部511は学習部518をさらに含む。また、記憶部54には、学習部518によって生成された車両1ごとの走行モデルを記憶するモデルマップ記憶部541が用意される。学習部518およびモデルマップ記憶部541は、走行モデルを取得する走行モデル取得部の一例である。走行予測部516は、一例としてモデルマップ記憶部541から該当する車両1の走行モデルを読み出す。   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. Preferably, 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. For example, the travel prediction unit 516 reads the travel model of the corresponding vehicle 1 from the model map storage unit 541.

学習部518は、所定期間の走行状態の蓄積に基づいて車両1ごとの走行モデルを生成する。一例として、学習部518は、通信部55で該当する車両1のゲートウェイ10と通信することによって、当該車両1のECU30や図示しないスマートフォンなどのユーザの携帯端末装置やカーナビゲーション装置などから得られる車両1の走行状態を示す情報を所定期間、収集する。車両1の走行状態を示す情報は、たとえば、車両1の走行位置や、エンジンのON/OFF状態、稼働状況や、電源のON/OFF状態などを含む。学習部518は所定期間のこれら情報を統計処理することによって、時間帯ごとや曜日ごとや季節ごとなどの当該車両1ごとの走行パターンを生成し、走行モデルとしてモデル化する。走行パターンを生成するために用いられる統計処理の方法は特定方法に限定されず、あらゆる方法が採用され得る。   The learning unit 518 generates a travel model for each vehicle 1 based on the accumulation of the travel state for a predetermined period. As an example, 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.

走行モデル取得部は他の例として、各車両1のゲートウェイ10によって生成され、当該ゲートウェイ10の記憶部13に記憶されている走行モデルを、当該ゲートウェイ10から取得するものであってもよい。   As another example, 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.

図8および図9は、それぞれ、ある車両1の走行モデルの具体例の表した図である。図8は、車両1が通勤に用いられる場合の走行モデルの具体例を表している。図9は、車両1が主に休日(土曜日および日曜日)に用いられる場合の走行モデルの具体例を表している。   FIGS. 8 and 9 are diagrams illustrating specific examples of a traveling model of a certain vehicle 1. 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).

この場合、学習部518は、所定期間にわたって、一定の時間間隔など所定のタイミングで当該車両1の走行状態(走行中か、停車中か、等)や日時情報を取得する。そして、一例として、学習部518は、曜日ごと、時間帯ごとに走行状態を集計してその傾向を把握することによって当該車両1の走行パターンを生成し、モデル化する。   In this case, the learning unit 518 acquires the traveling state of the vehicle 1 (whether traveling or stopped) 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 | generates and models the driving | running | working pattern of the said vehicle 1 by totaling a driving | running state for every day of the week and every time slot | zone, and grasping | ascertaining the tendency.

一例として、走行モデルは図8および図9に示されたようなマップ形式の情報であるモデルマップMMとして生成される。学習部518は、生成したモデルマップMMを、車両1ごとにモデルマップ記憶部541に格納する。   As an example, the travel model is generated as a model map MM, which 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.

走行予測部516は、走行モデルに表された現在日時の後の走行パターン(走行位置、走行経路)を、当該車両1の走行パターンと予測する。たとえば、ある車両1についてのモデルマップMMが図8の走行モデルを表すものであったとする。現在日時が平日の午前9時の直前であったとすると、走行予測部516は図8の走行モデルに基づいて、当該判定時点の後に当該車両1が外出先で駐車される可能性が高いと予測する。また、現在日時が木曜日の18時30分であったとすると、走行予測部516は図8の走行モデルに基づいて、当該判定時点の後もしばらく当該車両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.

なお、走行予測部516は、他の例として、該当する車両1のゲートウェイ10などの他の装置による走行予測の結果を当該他の装置から取得するものであってもよい。   In addition, as another example, the travel prediction unit 516 may acquire a travel prediction result by another device such as the gateway 10 of the corresponding vehicle 1 from the other device.

第1のスケジューリング方法において、スケジューリング部512は、走行パターンと優先順位との対応をスケジューリング条件Cとして予め記憶している。スケジューリング条件Cは、もうすぐ駐車と予測される車両についてはダウンロードの優先順位を高くする、しばらく走行が継続すると予測される車両についてはダウンロードの優先順位を低くする、などの対応を含む。なお、ダウンロードの優先順位は、1台または複数台の車両1をランク分けするものであってもよく、上記対応は、具体的なランクとの対応であってもよい。これは、制御プログラムの更新中には該当するECU30の制御モードが通常モードからリプロモードに切り替わり、通常の走行ができなくなるためである。そのため、駐停車する車両ほど制御プログラムの更新が可能な状態となる可能性が高く、走行を継続する車両ほど制御プログラムの更新が可能な状態となる可能性が低い。スケジューリング部512は、各車両1の走行パターンに基づいて、スケジューリング条件Cに含まれる上記対応関係に従って、車両1ごとにダウンロードの優先順位を決定する。   In the first scheduling method, the scheduling unit 512 stores in advance the correspondence between the running pattern and the priority order as the scheduling condition C. 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. Note that 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.

上記の第1の方法に従ってダウンロードの優先順位が決定されることによって、複数のゲートウェイ10A〜10Cの間においてダウンロードの開始が分散されると共に、更新プログラムが該当する車両1の走行予測に応じて効率的にダウンロードされる。   By determining the download priority according to the first method, the start of the download is distributed among the plurality of gateways 10A to 10C, and the update program is efficient according to the travel prediction of the corresponding vehicle 1 Downloaded automatically.

(スケジューリング方法2−1)
スケジュールを決定する第2の方法として、各車両1の利用状況に基づいて優先順位を決定する方法が挙げられる。利用状況は、車両1の利用頻度を含む。
(Scheduling method 2-1)
As a second method for determining the schedule, there is a method for determining the priority order based on the usage situation of each vehicle 1. The usage status includes the usage frequency of the vehicle 1.

スケジューリング情報取得部511は、車両1ごとの利用頻度を取得する。利用頻度は、たとえば、ゲートウェイ10を介して当該車両1の走行を制御するECUと通信することによって得ることができる。または、上記の車両1ごとの走行モデルをモデルマップ記憶部541から読み出すことによって利用頻度が得られてもよい。   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. Alternatively, the usage frequency may be obtained by reading the travel model for each vehicle 1 from the model map storage unit 541.

スケジューリング部512は、車両1ごとの利用頻度と優先順位との対応をスケジューリング条件Cとして予め記憶している。スケジューリング条件Cは、たとえば、一週間の走行時間が10時間未満である(利用頻度が低い)場合にはダウンロードの優先順位を高くする、一週間の走行時間が30時間以上である(利用頻度が高い)場合にはダウンロードの優先順位を低くする、などの対応を含む。これは、制御プログラムの更新中には該当する車両1の電源がON状態である必要があるためである。そのため、利用頻度の高い車両ほど制御プログラムの更新が可能な状態となる可能性が高く、利用頻度の低い車両ほど制御プログラムの更新が可能な状態となる可能性が低い。スケジューリング部512は、各車両1の利用頻度に基づいて、スケジューリング条件Cに含まれる上記対応関係に従って、車両1ごとにダウンロードの優先順位を決定する。   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.

上記の第2の方法に従ってダウンロードの優先順位が決定されることによって、複数のゲートウェイ10A〜10Cの間においてダウンロードの開始が分散されると共に、更新プログラムが該当する車両1の利用頻度に応じて効率的にダウンロードされる。   By determining the download priority in accordance with the second method described above, the start of download is distributed among the plurality of gateways 10A to 10C, and the update program is efficient according to the usage frequency of the corresponding vehicle 1 Downloaded automatically.

(スケジューリング方法2−2)
利用状況は、該当するECU30の制御プログラムのバージョン情報を含み、バージョン情報に基づいて優先順位が決定されてもよい。
(Scheduling method 2-2)
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.

スケジューリング情報取得部511は、車両1ごとの該当するECU30の制御プログラムのバージョン情報を、当該車両1のゲートウェイ10と通信することによって取得する。   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.

スケジューリング部512は、ECU30の制御プログラムのバージョンと優先順位との対応をスケジューリング条件Cとして予め記憶している。スケジューリング条件Cは、たとえば、ECU30の制御プログラムのバージョンが古いほどダウンロードの優先順位を高くする、などの対応を含む。これは、制御プログラムのバージョンが古いほど現在の(最新の)バージョンへの更新が急がれるためである。スケジューリング部512は、各車両1の該当するECU30の制御プログラムのバージョンに基づいて、スケジューリング条件Cに含まれる上記対応関係に従って、車両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.

上記の第2の方法に従ってダウンロードの優先順位が決定されることによって、複数のゲートウェイ10A〜10Cの間においてダウンロードの開始が分散されると共に、更新プログラムが更新の必要性に応じてダウンロードされる。   By determining the download priority in accordance with the second method described above, 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.

(スケジューリング方法2−3)
利用状況は、該当するECU30が制御する機能のON/OFF設定を含み、該設定に基づいて優先順位が決定されてもよい。
(Scheduling method 2-3)
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.

スケジューリング情報取得部511は、車両1ごとの該当するECU30が制御する機能のON/OFF設定を示す情報を、当該車両1のゲートウェイ10と通信することによって取得する。   The scheduling information acquisition unit 511 acquires information indicating ON / OFF setting of a function controlled by the corresponding ECU 30 for each vehicle 1 by communicating with the gateway 10 of the vehicle 1.

スケジューリング部512は、ECU30のON/OFF設定と優先順位との対応をスケジューリング条件Cとして予め記憶している。スケジューリング条件Cは、ECU30が制御する機能がON設定されている場合にはダウンロードの優先順位を高くし、OFF設定されている場合にはダウンロードの優先順位を低くする、などの対応を含む。これは、ECU30が制御する機能がOFF設定されている場合には利用する可能性が低いために当該ECU30の制御プログラムの更新の必要性は低く、ON設定されている場合には利用する可能性が高く更新の必要性が高いためである。スケジューリング部512は、各車両1の該当するECU30が制御する機能のON/OFF設定に基づいて、スケジューリング条件Cに含まれる上記対応関係に従って、車両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.

上記の第2の方法に従ってダウンロードの優先順位が決定されることによって、複数のゲートウェイ10A〜10Cの間においてダウンロードの開始が分散されると共に、更新プログラムが更新の必要性の高さに応じてダウンロードされる。   By determining the download priority according to the second method described above, the start of download is distributed among the plurality of gateways 10A to 10C, and the update program is downloaded in accordance with the necessity of update. Is done.

なお、上記の第2の方法を組み合わせてダウンロードの優先順位が決定されてもよい。すなわち、当該車両の利用頻度、制御プログラムのバージョン、およびECUについての設定の少なくとも1つを用いてダウンロードの優先順位が決定されてもよい。つまり、当該車両の利用頻度、制御プログラムのバージョン、およびECUについての設定のうちの2つまたは3つが組み合わされて優先順位が決定されてもよい。   The download priority may be determined by combining the second methods. 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.

(スケジューリング方法3)
スケジュールを決定する第3の方法として、各車両1のDLサーバ6との間の通信状態を示す通信指標に基づいて優先順位を決定する方法が挙げられる。通信指標は、たとえば、車両1のDLサーバ6との間の広域通信網2にて伝送されるパケット数や通信量や通信速度の測定値(指標値)、または当該実測値から算出される値(指標値)である。
(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).

スケジューリング情報取得部511は、車両1ごとの通信指標を取得する。パケット数や通信量などは、たとえば、広域通信網2を管理する通信事業者によって測定され、測定値がウェブサイトなどで提供されることが想定される。スケジューリング情報取得部511は、当該ウェブサイトのURLを予め記憶しておき、当該ウェブサイトから測定値を取得することができる。実測値から算出される値を指標として用いる場合、スケジューリング情報取得部511は、上記ウェブサイトから実測値を取得し、その実測値を用いて指標値を算出する。実測値から算出される指標値は、たとえば回線の使用率である。スケジューリング情報取得部511は、一例として、広域通信網2での伝送可能な最大パケット数を記憶しておき、実測されたパケット数を伝送可能な最大パケット数で除して回線の使用率を算出する。   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. For example, 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.

スケジューリング部512は、車両1ごとの指標値と優先順位との対応をスケジューリング条件Cとして予め記憶している。スケジューリング条件Cは、使用率が70%未満の場合にはダウンロードの優先順位を高くする、使用率が70%以上である場合にはダウンロードの優先順位を低くする、などの対応を含む。これは、更新プログラムのダウンロードに用いる通信回線が混雑している可能性が高い車両1に対してはダウンロードを後とし、該通信回線の通信状態がよい可能性の高い車両1ほどダウンロードを先にするためである。スケジューリング部512は、各車両1の指標値に基づいて、スケジューリング条件Cに含まれる上記対応関係に従って、車両1ごとにダウンロードの優先順位を決定する。   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. Based on the index value of each vehicle 1, the scheduling unit 512 determines the download priority for each vehicle 1 according to the correspondence relationship included in the scheduling condition C.

上記の第3の方法に従ってダウンロードの優先順位が決定されることによって、複数のゲートウェイ10A〜10Cの間においてダウンロードの開始が分散されると共に、更新プログラムが各車両1に確実に配信される。   By determining the download priority according to the third method, 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.

(スケジューリング方法4)
スケジュールを決定する第4の方法として、各車両1のDLサーバ6との間の通信状態に相関する相関情報に基づいて優先順位を決定する方法が挙げられる。相関情報は、通信回路を逼迫させる通信アクセス数の原因となり得る原因事象であるイベントに関する情報である。上記イベントは、一例として、時間的および地理的に特定されるイベントであって、たとえば、スポーツイベント(試合、運動会等)、音楽イベント(コンサート等)、および祭事などの興行イベント、爆発事故、公共交通事故、およびテロ攻撃などの大規模人災、ならびに、異常気象(台風、局地的豪雨、洪水等)や自然災害(地震、津波等)などの自然現象、などを含む。相関情報は、当該イベントの発生期間および影響範囲を含む。
(Scheduling method 4)
As a fourth method for determining the schedule, there is a method for determining the priority order based on the correlation information correlated with the communication state with the DL server 6 of 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 (matches, athletic meet, etc.), music events (concerts, etc.), festival events such as festivals, explosion accidents, public events, etc. Includes large-scale man-made disasters such as traffic accidents and terrorist attacks, and natural phenomena such as abnormal weather (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.

スケジューリング情報取得部511は、上記相関情報の少なくとも一部を予め記憶している。また、スケジューリング情報取得部511は、上記の相関情報の少なくとも一部を提供する図示しないサーバにアクセスして取得してもよい。たとえば、イベントが地震である相関情報については、スケジューリング情報取得部511は、気象庁のサイトにアクセスすることによって地震の発生位置および発生日時を取得することができる。この場合、スケジューリング情報取得部511は、相関情報の一部として、たとえば、発生期間を発生日時から1週間、影響範囲を発生位置を含む都道府県に隣接する都道府県、などと記憶している。   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. For example, for the correlation information in which the event is an earthquake, 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. In this case, 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.

スケジューリング情報取得部511は、さらに、各車両1の現在位置を取得する。車両1の現在位置は、たとえば、該当する車両1のゲートウェイ10と通信することによって取得される。ゲートウェイ10は、たとえば、図示しないナビゲーション装置と通信したり、GPS(Global Positioning System)と通信したりすることで車両1の位置情報を得ることができる。   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. For example, the gateway 10 can obtain position information of the vehicle 1 by communicating with a navigation device (not shown) or communicating with a GPS (Global Positioning System).

スケジューリング部512は、車両1ごとのイベントとの関連と優先順位との対応をスケジューリング条件Cとして予め記憶している。たとえば、スケジューリング条件Cは、現在の日時が当該イベントの発生期間に含まれ、かつ、現在位置が当該イベントの影響範囲に含まれる場合にはダウンロードの優先順位を低くする、そうでない場合にはダウンロードの優先順位を高くする、などの対応を含む。これは、更新プログラムのダウンロードに用いる通信回線が混雑している可能性が高い車両1に対してはダウンロードを後とし、該通信回線の通信状態がよい可能性の高い車両1ほどダウンロードを先にするためである。スケジューリング部512は、各車両1のイベントとの関連に基づいて、スケジューリング条件Cに含まれる上記対応関係に従って、車両1ごとにダウンロードの優先順位を決定する。   The scheduling unit 512 stores in advance the association between the event for each vehicle 1 and the correspondence between the priorities as the scheduling condition C. For example, 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.

上記の第4の方法に従ってダウンロードの優先順位が決定されることによって、複数のゲートウェイ10A〜10Cの間においてダウンロードの開始が分散されると共に、更新プログラムが各車両1に確実に配信される。   By determining the download priority according to the fourth method, the start of the download is distributed among the plurality of gateways 10A to 10C, and the update program is reliably distributed to each vehicle 1.

(スケジューリング方法5)
スケジュールを決定する第5の方法として、ダウンロード期間(DL期間)における車両1の無線通信部15の通信状態に基づいて優先順位が決定する方法が挙げられる。DL期間は、DLサーバ6からゲートウェイ10の無線通信部15までの無線通信において更新プログラムの伝送が開始されてから無線通信部15での受信が完了するまでの期間を指す。DL期間中の車両1の通信状態の良否は、車両1が通行すると予測される走行経路が、通信状態が不良な不感エリアに含まれるか否かにより判定できる。
(Scheduling method 5)
As a fifth method for determining the schedule, there is a method in which the priority order is determined based on the communication state of the wireless communication unit 15 of the vehicle 1 in the download period (DL period). 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.

この場合、スケジューリング情報取得部511は不感エリアを含むエリアマップを取得する。エリアマップは、たとえば、山間部は−100[dBm]、トンネルや地下は−120[dBm]、などのように、位置または範囲ごとに、当該位置または範囲における通信強度を示す情報である。エリアマップは、たとえば、無線通信部15の行う無線通信を管理する通信会社などによって生成されて、ウェブサイトなどで提供されることが想定される。スケジューリング情報取得部511は当該ウェブサイトのURLを予め記憶しておき、当該ウェブサイトからエリアマップを取得することができる。   In this case, 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, for example, −100 [dBm] for mountainous areas, −120 [dBm] for tunnels and underground. For example, 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.

また、スケジューリング情報取得部511は走行経路を取得する。スケジューリング情報取得部511は、一例として、ゲートウェイ10を介して車両1に搭載された図示しないナビゲーション装置と通信することで、ナビゲーション装置から走行経路を取得する。ナビゲーション装置で生成される走行経路は、走行経路と各位置を通過するまでの時間とを含む。従って、走行予測部516は、ナビゲーション装置で生成される走行経路を車両1の走行経路と予測する。   The scheduling information acquisition unit 511 acquires a travel route. As an example, 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.

また、スケジューリング情報取得部511は、他の例として、車両1の走行履歴を取得し、走行履歴から走行経路を予測する。走行履歴は、たとえば、曜日、時間などの所定期間ごとの車両1の走行位置(たとえば緯度経度)を統計処理したもので、所定期間ごとの走行パターンのモデルと言える。統計処理は、一例として、所定期間ごとに走行している可能性の最も高い位置を特定して当該期間の走行位置と決定する処理である。たとえば、月曜日から金曜日まで出勤に車両1が使用されている場合、通勤時間帯(たとえば朝8時から8時30分まで)の走行履歴は自宅から会社までの走行経路を示す。統計処理の方法は特定方法に限定されず、あらゆる方法が採用され得る。走行履歴が各車両1で生成され、ゲートウェイ10の記憶部13に記憶されている場合、スケジューリング情報取得部511はゲートウェイ10と通信することで走行履歴を取得する。管理サーバ5が各車両1の走行位置を取得し、蓄積して走行履歴を生成する場合、スケジューリング情報取得部511は記憶部54から走行履歴を取得する。走行予測部516は、各車両1の走行履歴に基づいて当該車両1の走行経路を予測する。たとえば、スケジューリング情報取得部511は、現在日時に対応した期間の走行履歴を読み出して、予測される走行経路とする。現在日時に対応した期間の走行履歴は、車両1が走行する経路であると予測される。   As another example, 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. As an example, 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. When the travel history is generated in each vehicle 1 and stored in the storage unit 13 of the gateway 10, the scheduling information acquisition unit 511 acquires the travel history by communicating with the gateway 10. When 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.

スケジューリング部512は、予測される走行経路とエリアマップとを比較し、予測される走行経路の少なくとも一部でも不感エリアに含まれるか否かにより通信状態の良否を判定する。すなわち、車両1の予測される走行経路が不感エリアを通過しない場合に、スケジューリング部512は当該車両1の通信状態が良好であると判定する。そうでない場合、またはそうでない車両1については、スケジューリング部512は通信状態が良好であると判定しない。   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.

スケジューリング部512は、車両1ごとの通信状態の判定結果と優先順位との対応をスケジューリング条件Cとして予め記憶している。スケジューリング条件Cは、たとえば、通信状態がよいと判定される場合にはダウンロードの優先順位を高くする、そうでない場合にはダウンロードの優先順位を低くする、などの対応を含む。これは、DL期間中に無線通信部15の通信状態が悪くなる可能性が高い車両1に対してはダウンロードを後とし、DL期間中の無線通信部15の通信状態が良好な可能性の高い車両1ほどダウンロードを先にするためである。スケジューリング部512は、各車両1の通信状態の判定結果に基づいて、スケジューリング条件Cに含まれる上記対応関係に従って、車両1ごとにダウンロードの優先順位を決定する。   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. Based on the determination result of the communication state of each vehicle 1, the scheduling unit 512 determines the download priority for each vehicle 1 according to the correspondence relationship included in the scheduling condition C.

上記の第5の方法に従ってダウンロードの優先順位が決定されることによって、複数のゲートウェイ10A〜10Cの間においてダウンロードの開始が分散されると共に、更新プログラムが各車両1に確実に配信される。   By determining the download priority according to the fifth method, the start of the download is distributed among the plurality of gateways 10A to 10C, and the update program is reliably distributed to each vehicle 1.

(スケジューリング方法の他の例)
管理サーバ5が各車両1のゲートウェイ10に対して更新プログラムがあることを通知し、ゲートウェイ10からのリクエストに応じてDLサーバ6のアクセス情報などのダウンロードに必要な情報を通知してもよい。ダウンロードに必要な情報を通知する処理は、ダウンロード処理に含まれる。この場合、スケジューリング部512は、ゲートウェイ10からのリクエスト順に基づいてダウンロードの優先順位を決定してもよい。リクエストが分散されている場合、ダウンロードの開始も分散される。
(Other examples of scheduling methods)
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. In this case, 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.

また他の例として、スケジューリング部512は乱数生成機能を有して、当該乱数を利用して複数のゲートウェイ10A〜10Cに対してランダムにダウンロードの優先順位を決定してもよい。このようなスケジューリング方法によっても、ダウンロードの開始が分散される。   As another example, 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.

また他の例として、スケジューリング部512は、予め設定されている各車両1の属性に基づいてダウンロードの優先順位を決定してもよい。車両の属性は、予め設定されている車両のランクや車両のユーザのランクなどであって、たとえばカーメーカーやユーザ自身などによって管理サーバ5に登録されていてもよい。この場合、スケジューリング情報取得部511は記憶部54から車両の属性を読出す。スケジューリング部512は、ランクの高い車両ほどダウンロードの優先順位を高くする、などの対応を含む、車両の属性と優先順位との対応をスケジューリング条件Cとして予め記憶し、当該対応関係に従って車両1ごとにダウンロードの優先順位を決定する。複数の車両1のランクが分散している場合、ダウンロードの開始が分散される。   As another example, the scheduling unit 512 may determine download priorities based on preset attributes of the vehicles 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. In this case, 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.

[第1の実施の形態の効果]
第1の実施の形態にかかるプログラム更新システムによれば、ECUの更新プログラムのダウンロードの開始が、当該更新プログラムのダウンロード先である複数のゲートウェイ10A〜10Cの間において分散される。これにより、DLサーバ6の処理負荷の増大を抑えることができる。
[Effect of the first embodiment]
According to the program update system according to the first embodiment, 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.

また、第1の実施の形態にかかるプログラム更新システムでは、ダウンロードの開始を分散するために、車両1ごとの走行パターンの予測や、利用頻度、制御プログラムのバージョン、または機能のON/OFF設定などの利用状況、DLサーバ6との間の通信状態を示す通信指標、該通信状態に相関する相関情報、もしくは通信指標の予測値に基づいてダウンロードの優先順位が決定される。これにより、DLサーバ6の処理負荷の増大を抑えつつ、適切な順で確実に更新プログラムを配信できる。   Moreover, in the program update system according to the first embodiment, 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.

<第2の実施の形態>
第2の実施の形態にかかるプログラム更新システムでは、ダウンロード対象の更新プログラムの更新情報に例外的な種別であることを示す種別情報が含まれる場合に、スケジューリング処理を行うことなくダウンロード処理が実行される。例外的な種別は、更新プログラムの重要性や更新の緊急性などの種別を表わす情報を含み、たとえば、重要フラグや緊急フラグなどのフラグ情報を含む。一例として、セキュリティホールへの対処などの情報セキュリティに関する更新プログラム、走行上の安全を確保するために必要な更新プログラム、自動運転モード用に用いられる地図情報などの更新の緊急性が高い更新プログラム、などである。更新プログラムの重要性や更新の緊急性などである上記例外的な種別は、当該更新プログラムを提供するカーメーカーなどによって設定されている。
<Second Embodiment>
In the program update system according to the second embodiment, when the update information of the update program to be downloaded includes type information indicating an exceptional type, the download process is executed without performing the scheduling process. The 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. As an 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.

すなわち、図6を参照して、第2の実施の形態にかかるプログラム更新システムにおいて、管理サーバ5は、スケジューリング処理を実行する際に種別情報を参照して、スケジューリング処理の要否を判定する(ステップS101)。そして、スケジューリング処理が必要と判定された場合に(ステップS101でYES)、ステップS103以降の処理を実行する。   That is, with reference to FIG. 6, in the program update system according to the second embodiment, the management server 5 refers to the type information when executing the scheduling process, and determines whether the scheduling process is necessary or not ( Step S101). If it is determined that the scheduling process is necessary (YES in step S101), the processes after step S103 are executed.

第2の実施の形態にかかる管理サーバ5のCPU51は、図7に示されたように、スケジューリング処理の要否を判断するための判断部515をさらに含む。判断部515は、更新情報を参照してスケジューリング処理の要否を判断する。DL制御部513は、更新情報に上記の例外的な種別を示す種別情報が含まれている場合には、カーメーカーによって設定されたタイミングなどに、複数のゲートウェイ10A〜10Cに対して一斉にダウンロードを要求する。つまり、重要性や緊急性の高い更新プログラムについてはDLサーバ6の処理負荷が増大する場合であっても送信され、そうでない更新プログラムは分散して配信される。これにより、DLサーバ6の処理負荷の軽減と、更新プログラムの重要性、緊急性とを両立させることができる。   As shown in FIG. 7, the CPU 51 of the management server 5 according to the second embodiment 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. When 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. Thereby, reduction of the processing load of DL server 6 and the importance and urgency of an update program can be made compatible.

例外的な種別は、データサイズが規定サイズ以下であることを含んでもよい。更新プログラムのデータサイズは、たとえば、当該更新プログラムを提供するカーメーカーなどによって更新情報として更新プログラムに付加される。判断部515、スケジューリング処理を必要としない処理量の閾値を予め記憶している。処理量は、たとえば、更新プログラムのデータサイズにダウンロード先の数を乗じたものである。処理量の閾値は、DLサーバ6に大きな処理負荷を与えない程度の処理量である。判断部515は、更新プログラムのデータサイズにダウンロード先の数を乗じて処理量を算出し、閾値と比較する。そして、判断部515は、算出された処理量が閾値より大きい場合にスケジューリング処理を行うと判断する。これにより、処理量が閾値よりも小さい更新プログラムについては分散されずに配信され、処理量が閾値よりも大きい更新プログラムについては分散して配信される。これにより、効率的にDLサーバ6の処理負荷の軽減を図ることができる。   The exceptional type may include that the data size is equal to or less than a 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. As a result, 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.

<第3の実施の形態>
第1、第2の実施の形態にかかるプログラム更新システムでは、更新プログラムのダウンロード処理を実行する制御装置である管理サーバ5においてスケジューリング処理が実行される。他の例として、更新プログラムをダウンロードするDLサーバ6もダウンロード処理を実行する制御装置として機能して、スケジューリング処理を実行してもよい。すなわち、この場合、図7の各機能はDLサーバ6の図示しないCPUが有する。
<Third Embodiment>
In the program update system according to the first and second embodiments, the scheduling process is executed in the management server 5 which is a control device that executes the update program download process. As another example, 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.

<第4の実施の形態>
上記の、車両の属性に基づいたスケジューリング処理における車両の属性は、他の例として、制御プログラムをダウンロードするECU30(対象ECUとも称する)およびゲートウェイ10の両装置の属性、または、対象ECUとゲートウェイ10との少なくとも一方の装置の属性であってもよい。属性は、たとえばメモリの空き容量などである。この場合、スケジューリング情報取得部511は、各車両のゲートウェイ10から、当該車両1の対象ECU30および/またはゲートウェイ10のメモリの空き容量を取得する。スケジューリング部512は、対象ECU30および/またはゲートウェイ10のメモリの空き容量の多い車両ほどダウンロードの優先順位を高くする、などの対応を含む、車両の属性と優先順位との対応をスケジューリング条件Cとして予め記憶し、当該対応関係に従って車両1ごとにダウンロードの優先順位を決定する。複数の車両1における対象ECU30および/またはゲートウェイ10のメモリの空き容量が分散している場合、ダウンロードの開始が分散される。
<Fourth embodiment>
As another example, the attribute of the vehicle in the scheduling process based on the attribute of the vehicle described above is the attribute of both the ECU 30 (also referred to as the target ECU) and the gateway 10 that download the control program, or the target ECU and the gateway 10. And at least one of the attributes of the device. The attribute is, for example, an available memory capacity. In this case, the scheduling information acquisition unit 511 acquires the available capacity of the target ECU 30 of the vehicle 1 and / or the memory of the gateway 10 from the gateway 10 of each vehicle. The scheduling unit 512 preliminarily sets the correspondence between the attribute of the vehicle and the priority order as the scheduling condition C, including the correspondence such that the priority of the download is increased as the vehicle has a larger memory capacity in the target ECU 30 and / or the gateway 10. The priority order of download is determined for each vehicle 1 according to the correspondence relationship. When the free capacity of the memory of the target ECU 30 and / or the gateway 10 in a plurality of vehicles 1 is distributed, the start of download is distributed.

<第5の実施の形態>
第1〜第4の実施の形態にかかるプログラム更新システムでは、車両1が電源ON状態(起動中)であるときに当該車両1のゲートウェイ10に対する更新プログラムのダウンロードが可能であるものとしている。そのため、スケジューリング処理では、複数の車両1それぞれが電源ON状態であるタイミングを予測して、そのタイミングに基づいて、ダウンロードの優先順位を決定している。
<Fifth embodiment>
In the program update system according to the first to fourth embodiments, it is assumed that the update program can be downloaded to the gateway 10 of the vehicle 1 when the vehicle 1 is in the power ON state (starting up). Therefore, in the scheduling process, the timing when each of the plurality of vehicles 1 is in the power-on state is predicted, and the download priority order is determined based on the timing.

しかしながら、決定された優先順位にしたがったタイミングに更新プログラムのダウンロードを実行しても、そのタイミングに対象の車両1が電源ON状態でなかった場合には、ダウンロードが成功しない。   However, even if the update program is downloaded at a timing according to the determined priority, if the target vehicle 1 is not in the power-on state at that timing, the download is not successful.

そこで、第5の実施の形態にかかるプログラム更新システムでは、第1〜第4の実施の形態にかかるプログラム更新システムでの処理に加えて、少なくともダウンロードの開始の際に対象の車両1を電源ON状態とする(起動させる)処理であるウェイクアップ処理を実行する。   Therefore, in the program update system according to the fifth embodiment, in addition to the processing in the program update system according to the first to fourth embodiments, the target vehicle 1 is turned on at least at the start of download. A wake-up process, which is a process for setting (activating) the state, is executed.

図10は、第5の実施の形態にかかるゲートウェイ10の内部構成を示すブロック図である。図10を参照して、ゲートウェイ10のCPU11はタイマ111を含む。また、ゲートウェイ10のCPU11は、ウェイクアップ処理を実行するための機能であるウェイクアップ処理部112を含む。この機能は、CPU11が記憶部13に記憶されている1つまたは複数のプログラムを読み出して実行することによって、CPU11において実現される機能である。しかしながら、少なくとも一部が、電子回路などのハードウェアによって実現されてもよい。   FIG. 10 is a block diagram illustrating an internal configuration of the gateway 10 according to the fifth embodiment. Referring to FIG. 10, CPU 11 of gateway 10 includes a timer 111. The CPU 11 of the gateway 10 includes a wakeup processing unit 112 that is a function for executing the wakeup process. This function is a function realized in the CPU 11 when the CPU 11 reads and executes one or more programs stored in the storage unit 13. However, at least a part may be realized by hardware such as an electronic circuit.

ウェイクアップ処理部112は、ECU30を電源ON状態とさせるメッセージを生成し、車内通信部14に該当するECU30に送信させる。これにより、該当するECU30が電源ON状態となる。ウェイクアップ処理部112は、車両1に搭載されるすべてのECU30についての電源状態を確認し、電源OFF状態のECU30を電源ON状態とする。これにより、簡易な処理で、車両1に搭載されているすべてのECU30を電源ON状態とすることができる。   The wake-up processing unit 112 generates a message for turning on the ECU 30 and causes the ECU 30 corresponding to the in-vehicle communication unit 14 to transmit the message. As a result, the corresponding ECU 30 is turned on. The wake-up processing unit 112 confirms the power state of all the ECUs 30 mounted on the vehicle 1 and sets the ECU 30 in the power-off state to the power-on state. Thereby, all ECU30 mounted in the vehicle 1 can be made into a power ON state by simple process.

好ましくは、ウェイクアップ処理部112は、制御プログラムの更新対象のECU30および当該更新ならびに更新プログラムのダウンロードに必要なECU30のみについての電源状態を確認し、この中で電源OFF状態のECU30のみ電源ON状態とさせる。更新プログラムのダウンロードに必要なECU30は、たとえば、ゲートウェイ10と更新対象のECU30とを接続する車内通信線に接続されている他のECU30や、ゲートウェイ10と更新対象のECU30との接続を中継する他のECU30などである。これにより、消費電力を抑えることができる。更新プログラムのダウンロードに必要なECU30は、制御プログラムの更新対象とするECU30ごとに予め記憶されていてもよいし、図1に示された車載ネットワークの構成を記憶しておいて、当該ネットワーク構成から特定してもよい。   Preferably, the wake-up processing unit 112 confirms the power supply state of only the ECU 30 that is the update target of the control program and the ECU 30 that is necessary for the update and download of the update program. Let me. The ECU 30 necessary for downloading the update program is, for example, another ECU 30 connected to an in-vehicle communication line connecting the gateway 10 and the ECU 30 to be updated, or relaying the connection between the gateway 10 and the ECU 30 to be updated. ECU 30 and the like. Thereby, power consumption can be suppressed. The ECU 30 necessary for downloading the update program may be stored in advance for each ECU 30 to be updated of the control program, or the configuration of the in-vehicle network shown in FIG. You may specify.

図11は、第5の実施の形態にかかるプログラム更新システムにおいて実行される、ECUに対する制御プログラムの更新の一例を示すシーケンス図である。図11において、図5のシーケンス図と同じステップ番号が付されている処理は、図5のシーケンス図に示された処理と共通する。   FIG. 11 is a sequence diagram illustrating an example of a control program update for the ECU, which is executed in the program update system according to the fifth embodiment. In FIG. 11, the process with the same step number as that in the sequence diagram of FIG. 5 is common to the process shown in the sequence diagram of FIG.

図11を参照して、第5の実施の形態にかかるプログラム更新システムでは、管理サーバ5におけるスケジューリング処理によって各ゲートウェイに対する更新プログラムのダウンロードのスケジュールが決定される(ステップS2’)。ステップS2’で管理サーバ5は、上記のスケジューリング処理を実行して優先順位を決定し、当該優先順位に基づいて各ゲートウェイ10に対するダウンロードのタイミング(スケジュール)をそれぞれ決定する。たとえば、優先順位の最上位のゲートウェイ10のダウンロードのタイミングをスケジューリング処理完了直後とし、その後、規定の時間間隔で、優先順位順に各ゲートウェイ10のダウンロードのタイミングとすることができる。   Referring to FIG. 11, in the program update system according to the fifth exemplary embodiment, a schedule for downloading an update program for each gateway is determined by the scheduling process in management server 5 (step S2 '). In step S <b> 2 ′, the management server 5 executes the scheduling process described above to determine the priority order, and determines the download timing (schedule) for each gateway 10 based on the priority order. For example, the download timing of the gateway 10 with the highest priority may be set immediately after the completion of the scheduling process, and thereafter, the download timing of each gateway 10 may be set in the priority order at a predetermined time interval.

第5の実施の形態にかかるプログラム更新システムでは、管理サーバ5でダウンロードのスケジュールが決定されると、管理サーバ5から対象のゲートウェイ10に対して、当該ゲートウェイ10に対する更新プログラムのダウンロードのスケジュールが通知される(ステップS11)。ステップS11での通知は、少なくとも、ダウンロードが開始されるタイミングが特定可能な情報を含む。ダウンロードが開始されるタイミングが特定可能な情報は、たとえば、当該通知からスケジューリング処理によって決定されたダウンロードが開始するまでの期間t1を示す情報である。ダウンロードが開始されるタイミングが特定可能な情報の他の例は、スケジューリング処理によって決定されたダウンロードが開始する日時を示す情報であってもよい。   In the program update system according to the fifth embodiment, when the download schedule is determined by the management server 5, the update schedule download schedule for the gateway 10 is notified from the management server 5 to the target gateway 10. (Step S11). The notification in step S11 includes at least information that can specify the timing at which the download is started. The information with which the download start timing can be specified is, for example, information indicating a period t1 from the notification until the download determined by the scheduling process starts. Another example of the information that can specify the timing at which the download is started may be information indicating the date and time when the download starts, which is determined by the scheduling process.

当該通知を受けたゲートウェイ10は、期間t1に基づいて、当該通知を受けてから後述するウェイクアップ処理を実行するまでの期間t2を計時するためのタイマを設定する(ステップS12)。期間t2は期間t1以下の期間であって、期間t1に基づいて規定される期間である。ゲートウェイ10は期間t1と期間t2との関係を予め記憶していて、期間t1に基づいて期間t2を特定する。期間t1と期間t2との関係は、たとえば、t2=α×t1(αはたとえば0.8などの係数)や、t2=t1−β(βはたとえば1[ms]などの定数)などである。   The gateway 10 that has received the notification sets a timer for measuring a period t2 from the reception of the notification to execution of a wake-up process described later based on the period t1 (step S12). The period t2 is a period that is equal to or less than the period t1 and is defined based on the period t1. The gateway 10 stores the relationship between the period t1 and the period t2 in advance, and specifies the period t2 based on the period t1. The relationship between the period t1 and the period t2 is, for example, t2 = α × t1 (α is a coefficient such as 0.8) or t2 = t1−β (β is a constant such as 1 [ms]). .

タイマによって期間t2が計時されると、ゲートウェイ10はウェイクアップ処理を実行する(ステップS13)。   When the time period t2 is counted by the timer, the gateway 10 executes a wake-up process (step S13).

ステップS13のウェイクアップ処理によって車両1が電源ON状態となった後に、管理サーバ5は、決定したスケジュールに従って当該ゲートウェイ10に対して、ECU30の更新プログラムの更新を要求する(ステップS3)。これにより、当該ゲートウェイ10は、更新プログラムをDLサーバ6からダウンロードする。   After the vehicle 1 is turned on by the wake-up process in step S13, the management server 5 requests the gateway 10 to update the update program of the ECU 30 according to the determined schedule (step S3). Thereby, the gateway 10 downloads the update program from the DL server 6.

第5の実施の形態にかかるプログラム更新システムでは、少なくともスケジューリング処理によって決定された更新プログラムのダウンロードの開始時には、少なくとも制御プログラムの更新に必要なECU30を電源ON状態とすることができる。このため、当該タイミングで更新プログラムのダウンロードを実行することができる。   In the program update system according to the fifth embodiment, at least when the update program determined by the scheduling process is started, at least the ECU 30 necessary for updating the control program can be turned on. For this reason, the update program can be downloaded at the timing.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

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 通信部
111 タイマ
112 ウェイクアップ処理部(処理部)
511 スケジューリング情報取得部
512 スケジューリング部
513 DL制御部
514 更新情報取得部
515 判断部
516 走行予測部
518 学習部
541 モデルマップ記憶部
1 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 | storage part 14 In-vehicle communication part 15 Wireless communication part 30 ECU (vehicle-mounted control apparatus)
31 CPU
32 RAM
33 Storage Unit 34 Communication Unit 35 Start-up Unit 51 CPU
52 ROM
53 RAM
54 storage unit 55 communication unit 111 timer 112 wake-up processing unit (processing unit)
511 Scheduling information acquisition unit 512 Scheduling unit 513 DL control unit 514 Update information acquisition unit 515 Judgment unit 516 Travel prediction unit 518 Learning unit 541 Model map storage unit

Claims (17)

車載機器を制御する車載制御装置を搭載した車両において、前記車載制御装置と車内通信回線で接続されて、車外装置と前記車載制御装置との通信を中継する中継装置と、
サーバから前記中継装置に対する、前記車載制御装置の更新プログラムのダウンロードを制御する制御装置と、を備え、
前記制御装置は、
複数の車両それぞれの前記中継装置に対して、前記更新プログラムのダウンロード処理の優先順位を決定する処理部と、
決定された前記優先順位に従って前記ダウンロード処理を開始するダウンロード制御部と、を含む、プログラム配信システム。
In a vehicle equipped with a vehicle-mounted control device that controls a vehicle-mounted device, the relay device connected to the vehicle-mounted control device via an in-vehicle communication line and relaying communication between an external device and the vehicle-mounted control device;
A control device that controls the download of the update program of the in-vehicle control device from the server to the relay device, and
The controller is
A processing unit that determines the priority of the download process of the update program for the relay device of each of a plurality of vehicles;
A download control unit that starts the download process according to the determined priority order.
前記処理部は、前記複数の車両それぞれの走行履歴に基づいて予測される走行パターンに基づいて前記優先順位を決定する、請求項1に記載のプログラム配信システム。   The program distribution system according to claim 1, wherein 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. 前記処理部は、前記複数の車両それぞれの利用状況に基づいて前記優先順位を決定する、請求項1に記載のプログラム配信システム。   The program distribution system according to claim 1, wherein the processing unit determines the priority order based on a usage situation of each of the plurality of vehicles. 前記利用状況は、当該車両の利用頻度、前記車載制御装置の制御プログラムのバージョン、および前記車載機器についての設定のうちの少なくとも1つを含む、請求項3に記載のプログラム配信システム。   The program distribution system according to claim 3, wherein the usage status includes at least one of a usage frequency of the vehicle, a version of a control program of the in-vehicle control device, and a setting for the in-vehicle device. 前記処理部は、複数の前記中継装置それぞれと前記サーバとの通信状態を示す通信指標に基づいて前記優先順位を決定する、請求項1に記載のプログラム配信システム。   The program distribution system according to claim 1, wherein the processing unit determines the priority based on a communication index indicating a communication state between each of the plurality of relay devices and the server. 前記処理部は、前記更新プログラムのダウンロード期間中における前記車両の通信状態に基づいて前記優先順位を決定する、請求項5に記載のプログラム配信システム。   The program distribution system according to claim 5, wherein the processing unit determines the priority order based on a communication state of the vehicle during a download period of the update program. 前記処理部は、複数の前記中継装置それぞれと前記サーバとの通信状態に相関する相関情報に基づいて前記優先順位を決定する、請求項1に記載のプログラム配信システム。   The program distribution system according to claim 1, wherein the processing unit determines the priority based on correlation information correlated with a communication state between each of the plurality of relay apparatuses and the server. 前記処理部は、前記複数の車両それぞれについて予め設定されている属性に基づいて前記優先順位を決定する、請求項1に記載のプログラム配信システム。   The program distribution system according to claim 1, wherein the processing unit determines the priority order based on attributes set in advance for each of the plurality of vehicles. 前記処理部は、前記複数の車両それぞれに搭載されている前記車載制御装置および/または前記中継装置の属性に基づいて前記優先順位を決定する、請求項1に記載のプログラム配信システム。   The program distribution system according to claim 1, wherein the processing unit determines the priority order based on attributes of the in-vehicle control device and / or the relay device mounted on each of the plurality of vehicles. 前記処理部は、前記複数の車両それぞれの走行履歴に基づいて予測される走行パターンをスケジューリング条件として用いて前記優先順位を決定する、請求項1に記載のプログラム配信システム。   The program distribution system according to claim 1, wherein the processing unit determines the priority by using a traveling pattern predicted based on a traveling history of each of the plurality of vehicles as a scheduling condition. 前記ダウンロードは、前記車載制御装置が起動中に実行可能であって、
前記中継装置は、
前記サーバから前記ダウンロードのスケジュールの通知を受信する通信部と、
前記スケジュールに基づいたタイミングに、前記車載制御装置を起動する処理を実行する処理部と、を含む、請求項1〜請求項10のいずれか一項に記載のプログラム配信システム。
The download can be executed while the in-vehicle control device is running,
The relay device is
A communication unit for receiving a notification of the download schedule from the server;
The program delivery system as described in any one of Claims 1-10 including the process part which performs the process which starts the said vehicle-mounted control apparatus at the timing based on the said schedule.
前記処理部は、前記更新プログラムの種別が例外的な種別ではない場合に前記優先順位を決定する、請求項1〜請求項11のいずれか一項に記載のプログラム配信システム。   The program distribution system according to any one of claims 1 to 11, wherein the processing unit determines the priority when the type of the update program is not an exceptional type. 前記例外的な種別は、前記更新プログラムの重要性や緊急性が高いことを示す種別である、請求項12に記載のプログラム配信システム。   The program delivery system according to claim 12, wherein the exceptional type is a type indicating that the update program is highly important or urgent. 車載機器を制御する車載制御装置を搭載した車両において、前記車載制御装置と車内通信回線で接続されて、車外装置と前記車載制御装置との通信を中継する中継装置に対して、前記車載制御装置の更新プログラムをダウンロードするサーバであって、
複数の車両それぞれの前記中継装置に対して、前記更新プログラムのダウンロード処理の優先順位を決定する処理部と、
決定された前記優先順位に従って前記ダウンロード処理を開始するダウンロード制御部と、を含む、サーバ。
In a vehicle equipped with an in-vehicle control device that controls an in-vehicle device, the in-vehicle control device is connected to the in-vehicle control device via an in-vehicle communication line and relays communication between an external device and the in-vehicle control device. A server for downloading the update program of
A processing unit that determines the priority of the download process of the update program for the relay device of each of a plurality of vehicles;
A download control unit that starts the download process in accordance with the determined priority order.
前記処理部は、前記優先順位に基づいて前記中継装置に対する前記ダウンロードのスケジュールを決定し、
前記スケジュールを前記中継装置に通知する通信部をさらに備える、請求項14に記載のサーバ。
The processing unit determines the download schedule for the relay device based on the priority,
The server according to claim 14, further comprising a communication unit that notifies the relay apparatus of the schedule.
車両に搭載された対象機器を制御する車載制御装置の更新プログラムを、複数の車両に対して配信する方法であって、
複数の車両に対して、前記更新プログラムのダウンロード処理の優先順位を決定するステップと、
決定された前記優先順位に従って前記ダウンロード処理を開始するダウンロード制御部と、を備える、プログラム配信方法。
An update program for an in-vehicle control device that controls a target device mounted on a vehicle is a method of distributing to a plurality of vehicles,
Determining a priority of the update program download process for a plurality of vehicles;
And a download control unit that starts the download process in accordance with the determined priority order.
複数の車両に対する、前記複数の車両それぞれに搭載された対象機器を制御する車載制御装置の更新プログラムのダウンロードを制御する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、前記コンピュータを、
複数の車両それぞれの前記中継装置に対して、前記更新プログラムのダウンロード処理の優先順位を決定する処理部、および
決定された前記優先順位に従って前記ダウンロード処理を開始するダウンロード制御部、として機能させる、コンピュータプログラム。
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 each of the plurality of vehicles for a plurality of vehicles, the computer comprising:
A computer that causes the relay device of each of a plurality of vehicles to function as a processing unit that determines a priority of download processing of the update program, and a download control unit that starts the download processing according to the determined priority. program.
JP2017104688A 2016-06-02 2017-05-26 Program distribution system, server, program distribution method, and computer program Pending JP2018005894A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/019915 WO2017209049A1 (en) 2016-06-02 2017-05-29 Program distribution system, server, program distribution method, and computer program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016124073 2016-06-23
JP2016124073 2016-06-23

Publications (1)

Publication Number Publication Date
JP2018005894A true JP2018005894A (en) 2018-01-11

Family

ID=60949480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017104688A Pending JP2018005894A (en) 2016-06-02 2017-05-26 Program distribution system, server, program distribution method, and computer program

Country Status (1)

Country Link
JP (1) JP2018005894A (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020149093A1 (en) * 2019-01-16 2020-07-23 株式会社富士通ゼネラル Air conditioning system
CN112783521A (en) * 2019-11-08 2021-05-11 丰田自动车株式会社 Program update system and vehicle management server
CN112817618A (en) * 2019-11-15 2021-05-18 丰田自动车株式会社 Vehicle control device
WO2022004447A1 (en) * 2020-07-03 2022-01-06 ソニーグループ株式会社 Information processing device, information processing method, information processing system, and program
WO2022004446A1 (en) * 2020-07-03 2022-01-06 ソニーグループ株式会社 Information processing device, information processing method, information processing system, and program
CN114006791A (en) * 2021-10-29 2022-02-01 东风商用车有限公司 Low-delay message forwarding method and gateway
US11567749B2 (en) 2019-11-14 2023-01-31 Denso Corporation Vehicle electronic control system, data relay device, campaign information delivery control method, and campaign information delivery control program
US11614930B2 (en) 2019-11-14 2023-03-28 Denso Corporation Center device, vehicle electronic control system, program update progress control method, and program update progress control program
JP7280144B2 (en) 2019-08-08 2023-05-23 矢崎エナジーシステム株式会社 In-vehicle device management system
US11836482B2 (en) 2018-09-11 2023-12-05 Denso Corporation Center device, reprogramming data distribution system, and reprogramming data distribution plan creation program product

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11836482B2 (en) 2018-09-11 2023-12-05 Denso Corporation Center device, reprogramming data distribution system, and reprogramming data distribution plan creation program product
WO2020149093A1 (en) * 2019-01-16 2020-07-23 株式会社富士通ゼネラル Air conditioning system
JP2020112335A (en) * 2019-01-16 2020-07-27 株式会社富士通ゼネラル Air conditioning system
US11828479B2 (en) 2019-01-16 2023-11-28 Fujitsu General Limited Server based air conditioning system adaptor for updating control program
JP7280144B2 (en) 2019-08-08 2023-05-23 矢崎エナジーシステム株式会社 In-vehicle device management system
CN112783521A (en) * 2019-11-08 2021-05-11 丰田自动车株式会社 Program update system and vehicle management server
US11567749B2 (en) 2019-11-14 2023-01-31 Denso Corporation Vehicle electronic control system, data relay device, campaign information delivery control method, and campaign information delivery control program
US11614930B2 (en) 2019-11-14 2023-03-28 Denso Corporation Center device, vehicle electronic control system, program update progress control method, and program update progress control program
US11597398B2 (en) 2019-11-15 2023-03-07 Toyota Jidosha Kabushiki Kaisha Vehicle control apparatus
JP7243589B2 (en) 2019-11-15 2023-03-22 トヨタ自動車株式会社 vehicle controller
JP2021081250A (en) * 2019-11-15 2021-05-27 トヨタ自動車株式会社 Vehicle control device
CN112817618A (en) * 2019-11-15 2021-05-18 丰田自动车株式会社 Vehicle control device
WO2022004446A1 (en) * 2020-07-03 2022-01-06 ソニーグループ株式会社 Information processing device, information processing method, information processing system, and program
WO2022004447A1 (en) * 2020-07-03 2022-01-06 ソニーグループ株式会社 Information processing device, information processing method, information processing system, and program
CN114006791A (en) * 2021-10-29 2022-02-01 东风商用车有限公司 Low-delay message forwarding method and gateway
CN114006791B (en) * 2021-10-29 2023-05-30 东风商用车有限公司 Low-delay message forwarding method and gateway

Similar Documents

Publication Publication Date Title
JP2018005894A (en) Program distribution system, server, program distribution method, and computer program
JP6372521B2 (en) Control device, program distribution method, and computer program
JP6376312B1 (en) Control device, program update method, and computer program
JP6525105B2 (en) CONTROL DEVICE, PROGRAM UPDATE METHOD, AND COMPUTER PROGRAM
CN108701065B (en) Control device, program update method, and computer program
JP6519708B2 (en) CONTROL DEVICE, PROGRAM UPDATE METHOD, AND COMPUTER PROGRAM
JP6332580B1 (en) Control device, program update method, and computer program
JP6465258B1 (en) Control device, control method, and computer program
WO2018079004A1 (en) Control device, program update method, computer program
JP2017215890A (en) Relay device, program update system, and program update method
JP6525109B2 (en) Control device, transfer method, and computer program
US20190129710A1 (en) Control apparatus, method for determining whether or not a control program is updatable, and computer program
JP6358286B2 (en) Control device, program update method, and computer program
JP2018181377A (en) Relay device, program update system, and program update method
JP6394678B2 (en) Control device, control program update determination method, and computer program
JP2019036855A (en) Control device, control method, and computer program
WO2017149826A1 (en) Control device, program distribution method, and computer program
WO2018230314A1 (en) Control device, control method and computer program
CN105516272A (en) Reminding method, reminding apparatus and server
JP2020160736A (en) Vehicle parking/stopping hours prediction device, vehicle parking/stopping hours prediction method, and program
WO2017209049A1 (en) Program distribution system, server, program distribution method, and computer program
JP2019034652A (en) Control device, control method, and computer program
JP2018181376A (en) Relay device, program update system, and program update method
WO2018142749A1 (en) Control device, program updating method, and computer program
WO2017149822A1 (en) Program delivery system, server, program delivery method, and computer program