(57)【要約】  制御装置は、複数の車載装置それぞれに対して、プログラムの更新処理の開始を指示する制御装置であって、前記車載装置は、以下の第１の記憶領域と第２の記憶領域とを有し、前記更新処理は、前記第２の記憶領域において新バージョンのプログラムが書き込まれた後に、実行するプログラムの読出対象を示す情報を、前記第１の記憶領域を示す情報から前記第２の記憶領域を示す情報へ書き換える書換処理と、前記読出対象を、前記第１の記憶領域から前記第２の記憶領域へ切り替える切替処理と、を含み、前記制御装置は、前記複数の車載装置と通信する車内通信部を備え、前記車内通信部は、前記複数の車載装置における前記書換処理を所定の同期タイミングに開始させる開始指示を送信する。    第１の記憶領域：プログラムの現バージョンが記憶された記憶領域    第２の記憶領域：プログラムを新バージョンに書換可能な記憶領域
2019187535.tif 000002
【特許請求の範囲】
【請求項１】
複数の車載装置それぞれに対して、プログラムの更新処理の開始を指示する制御装置であって、
前記車載装置は、以下の第１の記憶領域と第２の記憶領域とを有し、
前記更新処理は、前記第２の記憶領域において新バージョンのプログラムが書き込まれた後に、実行するプログラムの読出対象を示す情報を、前記第１の記憶領域を示す情報から前記第２の記憶領域を示す情報へ書き換える書換処理と、前記読出対象を、前記第１の記憶領域から前記第２の記憶領域へ切り替える切替処理と、を含み、
前記制御装置は、前記複数の車載装置と通信する車内通信部を備え、
前記車内通信部は、前記複数の車載装置における前記書換処理を所定の同期タイミングに開始させる開始指示を送信する、制御装置。
第１の記憶領域：プログラムの現バージョンが記憶された記憶領域
第２の記憶領域：プログラムを新バージョンに書換可能な記憶領域
【請求項２】
前記車内通信部を制御する制御部をさらに備え、
前記制御部は、前記開始指示の受信から前記同期タイミングまでの待機時間を前記車載装置ごとに算出し、
前記開始指示は、宛先である前記車載装置に対して算出された前記待機時間を含む、請求項１に記載の制御装置。
【請求項３】
前記車内通信部を制御する制御部をさらに備え、
前記制御部は、前記開始指示の送信予定時刻から、前記車載装置が前記同期タイミングに受信するための前記開始指示を送信するまでの待機時間を前記車載装置ごとに算出し、
前記車内通信部は、宛先である前記車載装置に対して算出された前記待機時間の経過後に前記開始指示を送信する、請求項１に記載の制御装置。
【請求項４】
前記制御部は、自装置と前記車載装置との間の通信遅延時間に基づいて前記待機時間を決定する、請求項２または請求項３に記載の制御装置。
【請求項５】
前記制御部は、前記車載装置に対する前記開始指示の送信間隔を用いて前記待機時間を決定する、請求項４に記載の制御装置。
【請求項６】
複数の車載装置それぞれに対して、プログラムの更新処理の開始を指示する方法であって、
前記車載装置は、以下の第１の記憶領域と第２の記憶領域とを有し、
前記更新処理は、前記第２の記憶領域において新バージョンのプログラムが書き込まれた後に、実行するプログラムの読出対象を示す情報を、前記第１の記憶領域を示す情報から前記第２の記憶領域を示す情報へ書き換える書換処理と、前記読出対象を、前記第１の記憶領域から前記第２の記憶領域へ切り替える切替処理と、を含み、
前記複数の車載装置における前記書換処理を所定の同期タイミングに開始させる開始指示を生成するステップと、
生成された前記開始指示を前記車載装置ごとに送信するステップと、を備える、制御方法。
第１の記憶領域：プログラムの現バージョンが記憶された記憶領域
第２の記憶領域：プログラムを新バージョンに書換可能な記憶領域
【請求項７】
複数の車載装置それぞれに対して、プログラムの更新処理の開始を指示する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、
前記車載装置は、以下の第１の記憶領域と第２の記憶領域とを有し、
前記更新処理は、前記第２の記憶領域において新バージョンのプログラムが書き込まれた後に、実行するプログラムの読出対象を示す情報を、前記第１の記憶領域を示す情報から前記第２の記憶領域を示す情報へ書き換える書換処理と、前記読出対象を、前記第１の記憶領域から前記第２の記憶領域へ切り替える切替処理と、を含み、
前記コンピュータに、
前記複数の車載装置における前記書換処理を所定の同期タイミングに開始させる開始指示を生成するステップと、
生成された前記開始指示を前記車載装置ごとに送信するステップと、
を実行させるための、コンピュータプログラム。
第１の記憶領域：プログラムの現バージョンが記憶された記憶領域
第２の記憶領域：プログラムを新バージョンに書換可能な記憶領域
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は制御装置、制御方法、およびコンピュータプログラムに関する。本出願は、２０１８年３月２８日出願の日本出願第２０１８−０６１０５８号に基づく優先権を主張し、前記日本出願に記載された全ての内容を援用するものである。
【背景技術】
【０００２】
近年、自動車の技術分野においては、車両の高機能化が進行しており、多種多様な車載機器が車両に搭載されている。従って、車両には、各車載機器を制御するための制御装置である、所謂ＥＣＵ（Electronic  Control  Unit）が多数搭載されている。
ＥＣＵの種類には、例えば、アクセル、ブレーキ、ハンドルの操作に対してエンジンやブレーキ、ＥＰＳ（Electric  Power  Steering）等の制御を行う走行系に関わるもの、乗員によるスイッチ操作に応じて車内照明やヘッドライトの点灯／消灯と警報器の吹鳴等の制御を行うボディ系ＥＣＵ、運転席近傍に配設されるメータ類の動作を制御するメータ系ＥＣＵなどがある。【０００３】
一般的にＥＣＵは、マイクロコンピュータ等の演算処理装置によって構成されており、ＲＯＭ（Read  Only  Memory）に記憶した制御プログラムを読み出して実行することにより、車載機器の制御が実現される。
ＥＣＵの制御プログラムは、バージョンアップに対応して、旧バージョンの制御プログラムを新バージョンの制御プログラムに書き換える必要がある。また、たとえば地図情報や制御用のパラメータなど、制御プログラムの実行に必要なデータも書き換える必要がある。【０００４】
制御プログラムの更新方法としては、たとえば、特許文献１および特許文献２は、複数領域を含むメモリを有したＥＣＵにおいて、１つのメモリ領域に新バージョンの制御プログラムの書き込みが完了すると、実行するプログラムを読み出すメモリ領域を、現バージョンの制御プログラムが書き込まれているメモリ領域から新バージョンの制御プログラムが書き込まれているメモリ領域に切り替える技術を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−２５４２６４号公報
【特許文献２】特開２００６−３０１９６０号公報
【発明の概要】
【０００６】
本開示の一態様に係る制御装置は、複数の車載装置それぞれに対して、プログラムの更新処理の開始を指示する制御装置であって、前記車載装置は、以下の第１の記憶領域と第２の記憶領域とを有し、前記更新処理は、前記第２の記憶領域において新バージョンのプログラムが書き込まれた後に、実行するプログラムの読出対象を示す情報を、前記第１の記憶領域を示す情報から前記第２の記憶領域を示す情報へ書き換える書換処理と、前記読出対象を、前記第１の記憶領域から前記第２の記憶領域へ切り替える切替処理と、を含み、前記制御装置は、前記複数の車載装置と通信する車内通信部を備え、前記車内通信部は、前記複数の車載装置における前記書換処理を所定の同期タイミングに開始させる開始指示を送信する。
第１の記憶領域：プログラムの現バージョンが記憶された記憶領域
第２の記憶領域：プログラムを新バージョンに書換可能な記憶領域
【０００７】
また、本開示の一の態様に係る制御方法は、複数の車載装置それぞれに対して、プログラムの更新処理の開始を指示する方法であって、前記車載装置は、以下の第１の記憶領域と第２の記憶領域とを有し、前記更新処理は、前記第２の記憶領域において新バージョンのプログラムが書き込まれた後に、実行するプログラムの読出対象を示す情報を、前記第１の記憶領域を示す情報から前記第２の記憶領域を示す情報へ書き換える書換処理と、前記読出対象を、前記第１の記憶領域から前記第２の記憶領域へ切り替える切替処理と、を含み、前記複数の車載装置における前記書換処理を所定の同期タイミングに開始させる開始指示を生成するステップと、生成された前記開始指示を前記車載装置ごとに送信するステップと、を備える。
第１の記憶領域：プログラムの現バージョンが記憶された記憶領域
第２の記憶領域：プログラムを新バージョンに書換可能な記憶領域
【０００８】
また、本開示の一の態様に係るコンピュータプログラムは、複数の車載装置それぞれに対して、プログラムの更新処理の開始を指示する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、前記車載装置は、以下の第１の記憶領域と第２の記憶領域とを有し、前記更新処理は、前記第２の記憶領域において新バージョンのプログラムが書き込まれた後に、実行するプログラムの読出対象を示す情報を、前記第１の記憶領域を示す情報から前記第２の記憶領域を示す情報へ書き換える書換処理と、前記読出対象を、前記第１の記憶領域から前記第２の記憶領域へ切り替える切替処理と、を含み、前記コンピュータに、前記複数の車載装置における前記書換処理を所定の同期タイミングに開始させる開始指示を生成するステップと、生成された前記開始指示を前記車載装置ごとに送信するステップと、を実行させる。
第１の記憶領域：プログラムの現バージョンが記憶された記憶領域
第２の記憶領域：プログラムを新バージョンに書換可能な記憶領域
【０００９】
本開示は、このような特徴的な処理部を備える制御装置、かかる特徴的な処理をステップとする制御方法、及びかかるステップをコンピュータに実行させるためのコンピュータプログラムとして実現することができるだけでなく、制御装置の一部又は全部を実現する半導体集積回路として実現することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態にかかるプログラム更新システムの全体構成および車両の構成を表した概略図である。
【図２】中継装置の内部構成を示すブロック図である。
【図３】ＥＣＵの内部構成を示すブロック図である。
【図４Ａ】ＥＣＵにおける制御プログラムの更新処理を、各記憶領域の状態の遷移を用いて説明するための図である。
【図４Ｂ】ＥＣＵにおける制御プログラムの更新処理を、各記憶領域の状態の遷移を用いて説明するための図である。
【図４Ｃ】ＥＣＵにおける制御プログラムの更新処理を、各記憶領域の状態の遷移を用いて説明するための図である。
【図５】決定部での待機時間の決定方法を説明するための図である。
【図６】第１の実施の形態にかかるプログラム更新システムにおける制御プログラムの更新処理において中継装置で実行される更新制御処理の流れを示すシーケンス図である。
【図７】比較例にかかるプログラム更新システムでの制御プログラムの更新処理の流れを表わしたシーケンス図である。
【図８】第２の実施の形態にかかるプログラム更新システムにおける制御プログラムの更新処理において中継装置で実行される更新制御処理の流れを示すシーケンス図である。
【発明を実施するための形態】
【００１１】
＜本開示が解決しようとする課題＞
車両の高機能化に伴って、１つの機能または互いに関連する複数の機能を複数のＥＣＵが協働して実現する場合がある。この場合、複数のＥＣＵの制御プログラムを同じタイミングで更新する必要がある。しかしながら、特許文献１，２に開示されている技術では、複数のＥＣＵのそれぞれにおいて、制御プログラムの書き換えが完了したタイミングで制御プログラムを読み出すメモリ領域の切替が行われると、現バージョンの制御プログラムが実行されるＥＣＵと新バージョンの制御プログラムが実行されるＥＣＵとが混在する場合がある。各ＥＣＵ間で制御プログラムのバージョンが一致しないと、対象の機能によっては当該機能が適切に実現されない可能性があるという課題がある。
【００１２】
＜本開示の効果＞
本開示によれば、複数の車載装置において、プログラムのバージョンの不一致の発生を抑えることができる。
【００１３】
＜本発明の実施形態の概要＞
以下、本発明の実施形態の概要を列記して説明する。
（１）  本実施形態に係る制御装置は、複数の車載装置それぞれに対して、プログラムの更新処理の開始を指示する制御装置であって、前記車載装置は、以下の第１の記憶領域と第２の記憶領域とを有し、前記更新処理は、前記第２の記憶領域において新バージョンのプログラムが書き込まれた後に、実行するプログラムの読出対象を示す情報を、前記第１の記憶領域を示す情報から前記第２の記憶領域を示す情報へ書き換える書換処理と、前記読出対象を、前記第１の記憶領域から前記第２の記憶領域へ切り替える切替処理と、を含み、前記制御装置は、前記複数の車載装置と通信する車内通信部を備え、前記車内通信部は、前記複数の車載装置における前記書換処理を所定の同期タイミングに開始させる開始指示を送信する。
第１の記憶領域：プログラムの現バージョンが記憶された記憶領域
第２の記憶領域：プログラムを新バージョンに書換可能な記憶領域
上記の開始指示によって、複数の車載装置での書換処理が同期タイミングに開始する。その結果、複数の車載装置において、記憶領域に書き込まれているプログラムのバージョンが不一致である期間を抑えることができる。このため、たとえ意図しないタイミングで車載装置において切替処理が実行された場合であっても、各車載装置のプログラムのバージョンが不一致となる可能性を抑えることができる。
【００１４】
（２）好ましくは、前記制御装置は、前記車内通信部を制御する制御部をさらに備え、前記制御部は、前記開始指示の受信から前記同期タイミングまでの待機時間を前記車載装置ごとに算出し、前記開始指示は、宛先である前記車載装置に対して算出された前記待機時間を含む。
かかる開始指示を受信した車載装置は、待機時間、書換処理の開始を待機し、当該期間の経過後に書換処理を開始する。そのため、複数の車載装置で書換処理を同期タイミングに開始させることができる。
【００１５】
（３）好ましくは、前記制御装置は、前記車内通信部を制御する制御部をさらに備え、
前記制御部は、前記開始指示の送信予定時刻から、前記車載装置が前記同期タイミングに受信するための前記開始指示を送信するまでの待機時間を前記車載装置ごとに算出し、前記車内通信部は、宛先である前記車載装置に対して算出された前記待機時間の経過後に前記開始指示を送信する。
当該開始指示を受信した車載装置は、当該開始指示を受信したタイミングで書換処理を開始するため、複数の車載装置で書換処理を同期タイミングに開始させることができる。また、このとき、車載装置では待機時間を計時するためのタイマを不要とすることができる。
【００１６】
（４）好ましくは、制御部は、自装置と車載装置との間の通信遅延時間に基づいて待機時間を決定する。
このように同期タイミングが決定されることによって、複数の車載装置で書換処理を高精度で同期タイミングに開始させることができる。
【００１７】
（５）好ましくは、制御部は、車載装置に対する開始指示の送信間隔を用いて待機時間を決定する。
このように同期タイミングが決定されることによって、複数の車載装置で書換処理をより高精度で同期タイミングに開始させることができる。
【００１８】
（６）本実施の形態に含まれる制御方法は、（１）〜（５）のいずれか１つに記載の制御装置における、複数の車載装置それぞれに対して、プログラムの更新処理の開始を指示する方法である。
かかる制御方法は、上記（１）〜（５）の制御装置と同様の効果を奏する。
【００１９】
（７）本実施の形態に含まれるコンピュータプログラムは、コンピュータを（１）〜（５）のいずれか１つに記載の制御装置として機能させる。
かかるコンピュータプログラムは、上記（１）〜（５）の制御装置と同様の効果を奏する。
【００２０】
＜本発明の実施形態の詳細＞
以下、図面を参照しつつ、本発明の実施形態の詳細を説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。なお、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【００２１】
＜第１の実施の形態＞
［システムの全体構成］
図１は本実施の形態にかかるプログラム更新システムの全体構成および車両の構成を表した概略図である。図１を参照して、プログラム更新システムは、インターネットなどの広域通信網２を介して通信可能な車両１およびサーバ５を含む。サーバ５は、車両１の更新情報を管理するとともに、更新用プログラムを保存する。サーバ５は、予め登録された多数の車両１と通信可能である。
【００２２】
［車両構成］
図１を参照して、本実施の形態にかかる車両１は、車外装置と通信するための車外通信機１５と、複数のＥＣＵ（Electronic  Control  Unit）３０Ａ，３０Ｂ，３０Ｃ，…と、車外装置と複数のＥＣＵ３０Ａ，３０Ｂ，３０Ｃ，…との通信を中継するＥＣＵである中継装置１０と、を含む。ＥＣＵ３０Ａ，３０Ｂ，３０Ｃ，…は車載装置の一例である。複数のＥＣＵ３０Ａ，３０Ｂ，３０Ｃ，…を代表させてＥＣＵ３０とも称する。複数のＥＣＵ３０それぞれを区別するときには、ＥＣＵ−１，ＥＣＵ−２，ＥＣＵ−３，…とも表現する。
【００２３】
各ＥＣＵ３０は、中継装置１０において終端する車内通信線１６Ａ，１６Ｂによって接続されて、中継装置１０とともに車内の通信システム４を構成する。複数の車内通信線１６Ａ，１６Ｂを代表させて車内通信線１６とも称する。通信システム４は、一例として、車内通信線１６ＡにＥＣＵ３０Ａ，３０Ｂが接続され、車内通信線１６ＢにＥＣＵ３０Ｃが接続される、バス型の通信システム（たとえば、ＣＡＮ（Controller  Area  Network））よりなる。ＣＡＮでは、通信フレームと呼ばれるフォーマットに情報を格納して送受信される。通信フレームは、ハイレベルまたはローレベルの２種類の信号の連続からなる。
【００２４】
通信システム４は、ＣＡＮだけでなく、ＬＩＮ（Local  Interconnect  Network）、ＣＡＮＦＤ（ＣＡＮ  with  Flexible  Data  Rate）、Ｅｔｈｅｒｎｅｔ（登録商標）、又はＭＯＳＴ（Media  Oriented  Systems  Transport：ＭＯＳＴは登録商標）などの通信規格を採用するネットワークであってもよい。
【００２５】
ＥＣＵ３０は、たとえば、アクセル、ブレーキ、ハンドルの操作に対してエンジンやブレーキ、ＥＰＳ（Electric  Power  Steering）等の制御を行うパワー・トレイン系ＥＣＵ、スイッチ操作に応じて車内照明やヘッドライトの点灯／消灯と警報器の吹鳴等の制御を行うボディ系ＥＣＵ、運転席近傍に配設されるメータ類の動作を制御するメータ系ＥＣＵなどである。
【００２６】
中継装置１０は、さらに、所定規格の通信線を介して車外通信機１５と接続されている。または、中継装置１０は、車外通信機１５を搭載していてもよい。車外通信機１５は、インターネット等の広域通信網２を介して、車外装置と無線通信する。車外装置は、たとえば、ＥＣＵ３０の更新用プログラムを保存するサーバ５である。または、車外通信機１５は図示しないプラグを有し、当該プラグに接続された車外装置と有線にて通信してもよい。車外通信機１５は、ユーザが所有する携帯電話機、スマートフォン、タブレット型端末、ノートＰＣ（Personal  Computer）等の装置であってもよい。
【００２７】
中継装置１０は、車外装置から車外通信機１５が受信した情報をＥＣＵ３０に中継する。また、中継装置１０は、ＥＣＵ３０から受信した情報を車外通信機１５に中継する。車外通信機１５は、中継された情報を車外装置に無線送信する。
【００２８】
［中継装置の構成］
図２は、中継装置１０の内部構成を示すブロック図である。
図を参照して、中継装置１０は、制御部１１、記憶部１２、および車内通信部１３などを備える。
【００２９】
中継装置１０の制御部１１は、ＣＰＵ（Central  Processing  Unit）を搭載したＭＣＵ（Micro  Controller  Unit）を含む。制御部１１のＣＰＵは、記憶部１２に記憶された１または複数のプログラムを読み出して、各種処理を実行するための機能を有している。
制御部１１のＣＰＵは、たとえば時分割で複数のプログラムを切り替えて実行することにより、複数のプログラムを並列的に実行可能である。
【００３０】
制御部１１のＣＰＵは、１または複数の大規模集積回路（ＬＳＩ）を含む。複数のＬＳＩを含むＣＰＵでは、複数のＬＳＩが協働して当該ＣＰＵの機能を実現する。
【００３１】
制御部１１のＣＰＵが実行するコンピュータプログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記録媒体に記録した状態で譲渡することもできるし、サーバコンピュータなどのコンピュータ装置からのダウンロードによって譲渡することもできる。
【００３２】
記憶部１２は、フラッシュメモリ若しくはＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read  Only  Memory）などの不揮発性のメモリ素子よりなる。
記憶部１２は、制御部１１のＣＰＵが実行するプログラムまたは実行に必要なデータなどを記憶する記憶領域を有する。
【００３３】
車内通信部１３には車内通信線１６が接続されている。車内通信部１３は、ＣＡＮなどの所定の通信規格に則って、ＥＣＵ３０と通信する通信装置よりなる。
車内通信部１３は、制御部１１のＣＰＵから与えられた情報を所定のＥＣＵ３０宛てに送信し、ＥＣＵ３０が送信元の情報を制御部１１のＣＰＵに与える。
【００３４】
車外通信機１５は、アンテナと、アンテナからの無線信号の送受信を実行する通信回路とを含む無線通信機よりなる。車外通信機１５は、携帯電話網等の広域通信網２に接続されることにより車外装置との通信が可能である。
車外通信機１５は、図示しない基地局により形成される広域通信網２を介して、制御部１１のＣＰＵから与えられた情報をサーバ５等の車外装置に送信するとともに、車外装置から受信した情報を制御部１１のＣＰＵに与える。
【００３５】
［ＥＣＵの構成］
図３は、ＥＣＵ３０の内部構成を示すブロック図である。
図３を参照して、ＥＣＵ３０は、制御部３１、記憶部３２、および車内通信部３３などを備える。
【００３６】
ＥＣＵ３０の制御部３１は、ＣＰＵを搭載したＭＣＵを含む。制御部３１のＭＣＵは、記憶部３２に記憶された１または複数のプログラムを読み出して、各種処理を実行するための機能を有している。
制御部３１のＭＣＵは、たとえば時分割で複数のプログラムを切り替えて実行することにより、複数のプログラムを並列的に実行可能である。
【００３７】
制御部３１のＭＣＵは、１または複数の大規模集積回路（ＬＳＩ）を含む。複数のＬＳＩを含むＭＣＵでは、複数のＬＳＩが協働して当該ＭＣＵの機能を実現する。
【００３８】
制御部３１のＭＣＵが実行するコンピュータプログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記録媒体に記録した状態で譲渡することもできるし、サーバコンピュータなどのコンピュータ装置からのダウンロードによって譲渡することもできる。
【００３９】
記憶部３２は、フラッシュメモリ若しくはＥＥＰＲＯＭなどの不揮発性のメモリ素子よりなる。
記憶部３２は、制御部３１のＭＣＵが実行するプログラムおよび実行に必要なデータなどを記憶する記憶領域を有する。詳しくは、記憶部３２は、制御部３１のＭＣＵが実行するコンピュータプログラムを記憶する領域として第１ファームウェア（ＦＷ）記憶領域３２１および第２ＦＷ記憶領域３２２と、ＭＣＵが実行する制御プログラムを記憶している記憶領域を記憶する領域として起動バージョン（Ｖｅｒ）記憶領域３２３と、を含む。
【００４０】
車内通信部３３には車内通信線１６が接続されている。車内通信部３３は、ＣＡＮなどの所定の通信規格に則って、中継装置１０および他のＥＣＵ３０と通信する通信装置よりなる。
車内通信部３３は、制御部３１のＭＣＵから与えられた情報を所定のＥＣＵまたは中継装置１０宛てに送信し、所定のＥＣＵまたは中継装置１０が送信元の情報を制御部３１のＭＣＵに与える。
【００４１】
［更新処理］
図４Ａ〜図４Ｃは、ＥＣＵ３０における制御プログラムの更新処理を、各記憶領域３２１，３２２，３２３の状態の遷移を用いて説明するための図である。第１ＦＷ記憶領域３２１および第２ＦＷ記憶領域３２２は制御プログラムを記憶する記憶領域であり、起動Ｖｅｒ記憶領域３２３は制御部３１が実行する制御プログラムを読み出す記憶領域を特定する情報（以下、起動情報とも称する）を記憶する記憶領域である。図４Ａ〜図４Ｃの例では、起動情報は、第１ＦＷ記憶領域３２１または第２ＦＷ記憶領域３２２を示す情報（記憶領域情報（＜１＞または＜２＞））、および、制御プログラムのバージョン情報である。起動情報は、記憶領域情報とバージョン情報とのいずれか一方であってもよい。
【００４２】
更新処理は、記憶部３２に含まれる第１ＦＷ記憶領域３２１と第２ＦＷ記憶領域３２２とのうちの、更新前（現バージョン）の制御プログラムが書き込まれている記憶領域ではない方の記憶領域に更新後（新バージョン）の制御プログラムを書き込む処理（書込処理）と、制御部３１が実行する制御プログラムの読出対象（第１ＦＷ記憶領域３２１または第２ＦＷ記憶領域３２２）を示す情報を新バージョンが書き込まれた記憶領域を示す情報に書き換える処理（書換処理）と、第１ＦＷ記憶領域３２１と第２ＦＷ記憶領域３２２との間で読出対象を切り替える処理（切替処理）と、を含む。切替処理の際にはＥＣＵ３０がリセットされる。
【００４３】
図４Ａ〜図４Ｃは更新処理の流れに沿って各記憶領域３２１，３２２，３２３の状態の遷移を示しており、図４Ａは書込処理および書換処理の前、図４Ｂは書込処理および書換処理の後、かつ、切替処理の前、ならびに、図４Ｃは切替処理の後を示している。
【００４４】
本例において、書込処理および書換処理の前は、図４Ａを参照して、制御プログラムの現バージョンはバージョン２（Ｖ２）であり、当該制御プログラムは第１ＦＷ記憶領域３２１に書き込まれている。この場合、起動Ｖｅｒ記憶領域３２３には、起動情報として、第１ＦＷ記憶領域３２１を特定する情報＜１＞と制御プログラムの現バージョンＶ２とが記憶されている。第１ＦＷ記憶領域３２１および第２ＦＷ記憶領域３２２のうち、第１ＦＷ記憶領域３２１が現バージョンの制御プログラムを記憶する記憶領域（第１の記憶領域）であり、第２ＦＷ記憶領域３２２が新バージョンに書換可能な記憶領域（第２の記憶領域）である。
【００４５】
制御部３１は、起動Ｖｅｒ記憶領域３２３に記憶されている起動情報に従って第１ＦＷ記憶領域３２１から制御プログラムを読み出して実行する。そのため、当該ＥＣＵ３０ではバージョン２（Ｖ２）の制御プログラムが実行されている。
【００４６】
書込処理および書換処理の後、かつ、切替処理の前は、図４Ｂを参照して、第２ＦＷ記憶領域３２２に新バージョンであるバージョン３（Ｖ３）の制御プログラムが書き込まれるとともに、起動Ｖｅｒ記憶領域３２３の起動情報が、第２ＦＷ記憶領域３２２を特定する情報＜２＞および制御プログラムの新バージョンＶ３に書き換えられる。書込処理は、書換処理前の制御部３１が現バージョンの制御プログラムの実行中に行われるため、図４Ｂの段階では、制御部３１は、起動Ｖｅｒ記憶領域３２３に記憶されていた起動情報に従って第１ＦＷ記憶領域３２１から制御プログラムを読み出して実行している。そのため、当該ＥＣＵ３０ではバージョン２（Ｖ２）の制御プログラムが実行されている。
【００４７】
切替処理では、書込処理の後の書換処理によって起動Ｖｅｒ記憶領域３２３が書き換えられたことに従ってＥＣＵ３０がリセットし、再起動後に上記第１の記憶領域と第２の記憶領域とが切り替わる。すなわち、第２ＦＷ記憶領域３２２が第１の記憶領域となり、第１ＦＷ記憶領域３２１が第２の記憶領域となる。
【００４８】
切替処理の後、図４Ｃを参照して、制御部３１は、書換処理によって書き換えられた起動Ｖｅｒ記憶領域３２３に記憶されている起動情報に従って第２ＦＷ記憶領域３２２から制御プログラムを読み出して実行する。そのため、当該ＥＣＵ３０ではバージョン３（Ｖ３）の制御プログラムが実行されている。
【００４９】
［更新制御処理］
本実施の形態にかかるプログラム更新システムでは、広域通信網２を介してサーバ５から更新用プログラムが中継装置１０にダウンロードされ、中継装置１０からの指示に従ってＥＣＵ３０で更新処理が実行される。以降の説明において、複数のＥＣＵ３０のうち、制御プログラムの更新を行うＥＣＵを対象ＥＣＵという。
【００５０】
複数のＥＣＵ３０の中には各制御プログラムのバージョンが規定の組合せであることが要求される複数のＥＣＵが含まれる。これら複数のＥＣＵを、以降の説明ではＥＣＵグループとも称する。ＥＣＵグループは、たとえば、ある１つの機能を実現するための複数の機構それぞれを制御するＥＣＵ群である。
【００５１】
ＥＣＵグループでは、各制御プログラムのバージョンを上記規定の組合せである状態を維持するために、制御プログラムの更新処理を同時に実行する必要がある。更新処理は、切替処理によって各対象ＥＣＵが新バージョンの制御プログラムで起動すると完了する。同時に更新処理を実行することは、同時に切替処理を実行することを指す。同時に切替処理が完了することで、ＥＣＵグループ内で制御プログラムのバージョンが上記の規定の組合せに維持される。
【００５２】
しかしながら、ＥＣＵ３０では予期しないタイミングで制御部１１のＣＰＵがリセットすることがある。リセットされたタイミングにＥＣＵグループ内で更新処理が完了していない場合、ＥＣＵグループ内で制御プログラムのバージョンが上記規定の組合せと一致しない場合が生じる。
【００５３】
そこで、本実施の形態にかかる中継装置１０は更新制御装置として機能して、ＥＣＵグループで更新処理を実行する際に更新制御処理を実行する。更新制御処理は、書換処理の開始を所定の同期タイミングに同期（一致）させるように、各対象ＥＣＵでの更新処理の開始を指示する処理である。なお、ここでの同期（一致）は、各対象ＥＣＵでの更新処理の開始時を完全に一致させることの他、一致しないまでも極めて短い期間に属することを含む。つまり、同期タイミングは完全な一点の時刻のみならず、極めて短い期間に属する時刻も含む。
【００５４】
更新処理の制御は、複数の対象ＥＣＵで更新処理を同時に開始するタイミング（以下、同期タイミングとも言う）とするための各対象ＥＣＵの後述する待機時間を決定する処理（決定処理）、および、各対象ＥＣＵでの書換処理の開始を同期タイミングに同期させる指示（書換指示）を生成し、各対象ＥＣＵに更新用プログラムとともに更新処理の実行を指示する処理（指示処理）を含む。更新制御処理を実行するための機能として、制御部１１は、決定処理を実行する決定部１１１と、指示処理を実行する指示部１１２とを含む。指示部１１２は、書換指示を生成する生成部１１３と、書換指示を車内通信部１３に出力させる出力部１１４と、を含む。これらの機能は、制御部１１のＣＰＵが記憶部１２に記憶されているプログラムを読み出して実行することによって実現される。
【００５５】
待機時間は、中継装置１０からの書換指示の受信時から書換処理の開始時までの期間を指し、中継装置１０と各対象ＥＣＵとの間の通信遅延時間を用いて決定される。決定部１１１は、遅延時間情報Ｄに基づいて、各対象ＥＣＵの待機時間を決定する。遅延時間情報Ｄは、各ＥＣＵ３０の通信遅延時間ＤＬを記憶した情報である。決定部１１１は、遅延時間情報Ｄを予め記憶しておく。
【００５６】
ＥＣＵ３０までの通信遅延時間ＤＬは、一例として、当該ＥＣＵ３０への計測用メッセージ（リクエスト）送信時刻Ｐ１、当該ＥＣＵ３０での受信時刻Ｐ２、中継装置１０へのレスポンスの送信時刻Ｐ３、および、当該ＥＣＵ３０からのレスポンスの受信時刻Ｐ４から、下の式によって算出される。
ＤＬ＝（（Ｐ２−Ｐ１）＋（Ｐ４−Ｐ３））／２
【００５７】
決定部１１１は、予め各ＥＣＵ３０の通信遅延時間を測定して記憶しておいてもよいし、通信状況が変化するたびに測定して遅延時間情報Ｄを更新してもよい。また、決定部１１１は、各ＥＣＵ３０の通信遅延時間を複数回測定し、その平均値や中央値などの統計値を遅延時間情報Ｄとして用いてもよい。
【００５８】
指示部１１２は、各対象ＥＣＵに更新用プログラムを渡して書換処理の開始を指示（書換指示）するとともに、当該対象ＥＣＵについて決定された待機時間、書換処理の開始の待機を指示する。そのために、生成部１１２は、対象ＥＣＵの更新用プログラムと、当該対象ＥＣＵに対する書換命令と、当該対象ＥＣＵの待機時間と、を含む通信フレーム（制御フレーム）を生成する。更新用プログラムと書換命令および待機時間とは、異なる通信フレームであってもよい。
【００５９】
出力部１１４は、通信フレームを車内通信部１３に渡して送信を指示する。また、指示部１１２は、各対象ＥＣＵに対して切替処理の実行を指示（切替指示）する。
【００６０】
ＥＣＵ３０の制御部３１は、更新処理を実行する機能である更新処理部３１１を有する（図３）。更新処理部３１１は、中継装置１０から更新用プログラムとともに書換指示を受信すると、当該指示に従って書換処理を実行する。このとき、書換指示である通信フレームに待機時間が含まれる場合、更新処理部３１１は、書換指示を受信すると所定のタイミングで書込処理を実行しておき、その後、待機時間経過するまで書換処理を開始せず待機する。待機時間経過すると書換処理を開始する。また、更新処理部３１１は、中継装置１０から切替指示を受信すると当該指示に従って切替処理を実行する。
【００６１】
図５は、決定部１１１での待機時間の決定方法の一例を説明するための図である。図５は、中継装置１０が、ＥＣＵ３０Ａ，３０Ｂ，３０Ｃの順で書換指示を送信する場合の、ＥＣＵ３０Ａ，３０Ｂ，３０Ｃそれぞれの待機時間ｄＡ，ｄＢ，ｄＣの決定方法を説明するための図である。通信プロトコルによっては、すべての対象ＥＣＵに対して書換指示をブロードキャストで送信することができない場合がある。この場合、中継装置１０は、時刻Ｔ１にＥＣＵ３０Ａに対する書換指示を送信し、時刻Ｔ１から時間間隔ｔ１の経過後にＥＣＵ３０Ｂに対する書換指示を送信し、さらに、時間間隔ｔ２の経過後にＥＣＵ３０Ｃに対する書換指示を送信するものとする。
【００６２】
なお、最後に書換指示を送信するＥＣＵ３０Ｃでの待機時間ｄＣは任意に決定される。待機時間ｄＣは０であってもよい。この場合、中継装置１０はＥＣＵ３０Ｃに対して待機時間ｄＣ＝０での待機を指示する。中継装置１０から待機時間ｄＣが指示されたＥＣＵ３０Ｃでは、中継装置１０からの書換指示を受信すると直ちに書込処理を実行し、書換指示を受信した時刻から待機時間ｄＣ経過後の時刻Ｔ２に書換処理が開始される。
【００６３】
ＥＣＵ３０Ｃ以外の対象ＥＣＵ３０Ａ，３０Ｂに対しては、書換処理の開始時刻がＥＣＵ３０Ｃでの書換処理の開始時刻と同一の時刻Ｔ２となるように、それぞれの待機時間ｄＡ，ｄＢが決定される。すなわち、時刻Ｔ２が同期タイミングとして、各対象ＥＣＵの書換処理の開始を同期するように、待機時間ｄＡ，ｄＢが決定される。
【００６４】
図５を参照して、各ＥＣＵの待機時間を用いて時刻Ｔ２を表すと、下の式（１）〜（３）となる。
Ｔ２＝Ｔ１＋ｄａ＋ｄＡ    …（１）
Ｔ２＝Ｔ１＋ｔ１＋ｄｂ＋ｄＢ    …（２）
Ｔ２＝Ｔ１＋ｔ１＋ｔ２＋ｄｃ＋ｄＣ    …（３）
【００６５】
ｄＣは任意に決定される定数であるため、式（１），（２）に式（３）を代入することで、ＥＣＵ３０Ａ，３０Ｂの待機時間ｄＡ，ｄＢは、下の式（４），（５）で表される。
ｄＡ＝ｔ１＋ｔ２＋ｄｃ＋ｄＣ−ｄａ    …（４）
ｄＢ＝ｔ２＋ｄｃ＋ｄＣ−ｄｂ    …（５）
【００６６】
中継装置１０から待機時間ｄＡが指示されたＥＣＵ３０Ａは、中継装置１０からの書換指示を受信すると直ちに書込処理を実行し、書換指示を受信した時刻から待機時間ｄＡ経過後である時刻Ｔ２に書換処理を開始する。また、中継装置１０から待機時間ｄＢが指示されたＥＣＵ３０Ｂは中継装置１０からの書換指示を受信すると直ちに書込処理を実行し、書換指示を受信した時刻から待機時間ｄＢ経過後である時刻Ｔ２に書換処理を開始する。
【００６７】
図６は、第１の実施の形態にかかるプログラム更新システムにおける制御プログラムの更新処理において中継装置１０で実行される更新制御処理の流れを示すシーケンス図である。図６を参照して、中継装置１０は、サーバ５から新バージョンの制御プログラムの更新用プログラム（ファームウェア）を受信すると（ステップＳ１）、更新制御処理を開始する。そして、中継装置１０の制御部１１は、待機時間を決定する決定処理を実行する（ステップＳ２）。
【００６８】
一例として、複数の対象ＥＣＵはＥＣＵ３０Ａ，３０Ｂ，３０Ｃであり、制御部１１は、その順で書換指示を出力する。この場合、ステップＳ２で中継装置１０の制御部１１は、図５に示された方法でＥＣＵ３０Ａ，３０Ｂ，３０Ｃの待機時間ｄＡ，ｄＢ，ｄＣを決定する。
【００６９】
ステップＳ２で待機時間ｄＡ，ｄＢ，ｄＣを決定すると、中継装置１０の制御部１１は、書換指示を生成し、予め規定している時間間隔ｔ１，ｔ２でＥＣＵ３０Ａ，３０Ｂ，３０Ｃに順に、車内通信部１３に書換指示を送信させる（ステップＳ３Ａ，Ｓ３Ｂ，Ｓ３Ｃ）。このとき、制御部１１は、車内通信部１３に、各対象ＥＣＵに対して、該当する更新用プログラムおよび書換命令とともに、該当する待機時間ｄＡ，ｄＢ，ｄＣを含む通信フレームを送信させる。
【００７０】
中継装置１０からステップＳ３Ａで送信された書換指示を受け取ったＥＣＵ３０Ａは所定のタイミングで書込処理を実行し、当該書換指示の受信時刻から待機時間ｄＡの経過後に書換処理を実行する（ステップＳ４Ａ）。中継装置１０からステップＳ３Ｂで送信された書換指示を受け取ったＥＣＵ３０Ｂは所定のタイミングで書込処理を実行し、当該書換指示の受信時刻から待機時間ｄＢの経過後に書換処理を実行する（ステップＳ４Ｂ）。中継装置１０からステップＳ３Ｃで送信された書換指示を受け取ったＥＣＵ３０Ｃは所定のタイミングで書込処理を実行し、当該書換指示の受信時刻から待機時間ｄＣの経過後に書換処理を実行する（ステップＳ４Ｃ）。各対象ＥＣＵは、書換処理が完了すると中継装置１０に完了を通知する。
【００７１】
各対象ＥＣＵでの書換処理が完了すると、中継装置１０は、各対象ＥＣＵに対して切替指示を送信し、切替処理の開始を指示する（ステップＳ５）。中継装置１０からステップＳ５で切替指示を受け取った各ＥＣＵ３０Ａ，３０Ｂ，３０Ｃは、一斉に切替処理を実行する（ステップＳ６Ａ，Ｓ６Ｂ，Ｓ６）。これにより、複数のＥＣＵ３０Ａ，３０Ｂ，３０ＣからなるＥＣＵグループは、同時に新バージョンの制御プログラムで起動する。
【００７２】
［第１の実施の形態の効果］
本実施の形態では、上記の更新制御処理が実行されることによって、ＥＣＵグループの各ＥＣＵは中継装置１０から指示された待機時間の後に書換処理を実行する。そのため、ＥＣＵグループの各ＥＣＵでの書換処理が、所定の同期タイミングで開始する。書換処理は起動Ｖｅｒ記憶領域３２３に記憶されている読出対象を示す情報を書き換える処理であって、極めて短時間の処理であるため、ＥＣＵグループで概ね同期したタイミングで書換処理が完了する。そのため、本実施の形態にかかるプログラム更新システムでは、ＥＣＵグループ内で記憶領域に書き込まれた読出対象の記憶領域に書き込まれている制御プログラムのバージョンが一致していない期間を抑えることができる。
【００７３】
これに対して、図７は、上記の更新制御処理を実行しない比較例にかかるプログラム更新システムでの制御プログラムの更新処理の流れを表わしたシーケンス図である。本実施の形態での更新制御処理の効果を、図７の更新処理の流れと比較して説明する。
図７を参照して、比較例にかかるプログラム更新システムでは、中継装置１０がステップＳ１でサーバ５から新バージョンの制御プログラムの更新用プログラム（ファームウェア）を受信すると、各対象ＥＣＵ３０Ａ，３０Ｂ，３０Ｃに対して更新用プログラムを渡すとともに書換指示を送信する（ステップＳ３１，Ｓ３１Ｂ，Ｓ３１Ｃ）。中継装置１０から書換指示を受け取った対象ＥＣＵは、直ちに書込処理および書換処理を実行する（ステップＳ４１Ａ，Ｓ４１Ｂ，Ｓ４１Ｃ）。
【００７４】
中継装置１０から各対象ＥＣＵまでには通信遅延時間が発生するため、書換指示はすべての対象ＥＣＵにおいて同時には受信されない。また、上記のように、通信プロトコルによっては書換指示をブロードキャストで送信せずに、所定の時間間隔で順次対象ＥＣＵに送信する。そのため、比較例にかかるプログラム更新システムでは、書換処理の実行を開始するタイミングが対象ＥＣＵごとに異なる。
【００７５】
図７の例では、ＥＣＵ３０Ａで最初に書換処理が実行され（ステップＳ４１Ａ）、ＥＣＵ３０Ｃで最後に書換処理が実行される（ステップＳ４１Ｃ）。そのため、ＥＣＵ３０Ａで書換処理が完了してからＥＣＵ３０Ｃで書換処理が完了するまでの期間Ｐにおいては、各対象ＥＣＵ３０Ａ，３０Ｂ，３０Ｃの記憶領域に書き込まれた読出対象の記憶領域に書き込まれている制御プログラムのバージョンが異なる。
【００７６】
対象ＥＣＵでは、ステップＳ５での中継装置１０からの切替指示に従って切替処理が実行され、新バージョンの制御プログラムで各対象ＥＣＵが起動する。しかしながら、中継装置１０からの切替指示と関わらず、意図しないタイミングでＥＣＵ３０がリセットする場合がある。図７に示された比較例にかかるプログラム更新システムにおいて、上記の期間Ｐでいずれかの対象ＥＣＵが意図せずリセットしてしまった場合、ＥＣＵグループ内で読出対象の記憶領域に書き込まれている制御プログラムのバージョンの不一致が生じる。この不一致は、期間Ｐが長いほど生じる可能性が高くなる。
【００７７】
一方、図６に示された本実施の形態にかかるプログラム更新システムでは、中継装置１０が更新制御処理を実行することによって、各ＥＣＵの記憶領域に書き込まれた読出対象の記憶領域に書き込まれている制御プログラムのバージョンが一致していない期間を抑えることができる。そのため、いずれかのＥＣＵ３０が意図しないタイミングでリセットすることによってＥＣＵグループ内で制御プログラムのバージョンの不一致が生じる可能性が大幅に抑えられる。
【００７８】
＜第２の実施の形態＞
他の例として、中継装置１０は、決定処理を実行して対象ＥＣＵごとに待機時間を決定すると、対象ＥＣＵごとに、送信の時間間隔ｔ１またはｔ２に加えて当該待機時間を待機してから書換指示を送信してもよい。つまり、中継装置１０側で、決定した待機時間、書換指示の送信を待機してもよい。この場合、書換指示には待機時間が含まれず、対象ＥＣＵは中継装置１０から書換指示を受信すると直ちに書換処理を開始する。なお、この例では、好ましくは、中継装置１０は書換指示に先だって書込処理の実行を各対象ＥＣＵに指示しておく。そのため、中継装置１０からの書換指示を受信した対象ＥＣＵでは、直ちに書換処理が開始される。
【００７９】
図８は、第２の実施の形態にかかるプログラム更新システムにおける制御プログラムの更新処理において中継装置１０で実行される更新制御処理の流れを示すシーケンス図である。第２の実施の形態にかかるプログラム更新システムでは、各対象ＥＣＵが中継装置１０から書換指示を所定の同期タイミングに受信させる。
【００８０】
図８を参照して、第２の実施の形態にかかるプログラム更新システムでも、中継装置１０の制御部１１は図５に示された方法で待機時間を決定する決定処理を実行して（ステップＳ２）、ＥＣＵ３０Ａ，３０Ｂ，３０Ｃの待機時間ｄＡ，ｄＢ，ｄＣを決定する。
【００８１】
ステップＳ２で待機時間ｄＡ，ｄＢ，ｄＣが決定されると、中継装置１０の制御部１１は、更新用プログラムを含む書換指示を生成し、車内通信部１３にＥＣＵ３０Ａ，３０Ｂ，３０Ｃに書換指示を送信する（ステップＳ３２Ａ，Ｓ３２Ｂ，Ｓ３２Ｃ）。第２の実施の形態において制御部１１は、待機時間ｄＡ，ｄＢ，ｄＣを含まない通信フレーム（制御フレーム）を生成する。第２の実施の形態において制御部１１は、予め規定している時間間隔ｔ１，ｔ２に待機時間ｄＡ，ｄＢ，ｄＣを加えた送信タイミングで、車内通信部１３にＥＣＵ３０Ａ，３０Ｂ，３０Ｃに対して書換指示を送信させる。
【００８２】
詳しくは、中継装置１０は、対象ＥＣＵ３０Ａに対しては、書換指示を送信する予定時刻Ｔ１（図５参照）に対して待機時間ｄＡ経過後に書換指示を送信する。ＥＣＵ３０Ａは、中継装置１０の送信時から遅延時間ｄａ分、遅れた時刻Ｔ２に書換指示を受信し（図５参照）、時刻Ｔ２に書換処理を開始する（ステップＳ４Ａ）。
【００８３】
対象ＥＣＵ３０Ｂに対しては、書換指示を送信する予定時刻（ＥＣＵ３０Ａに書換指示を送信する予定時刻Ｔ１から間隔ｔ１後（＝時刻（Ｔ１＋ｔ１）））に対して待機時間ｄＢ経過後に書換指示を送信する。ＥＣＵ３０Ｂは、中継装置１０の送信時から遅延時間ｄｂ分、遅れた時刻Ｔ２に書換指示を受信し（図５参照）、時刻Ｔ２に書換処理を開始する（ステップＳ４Ｂ）。
【００８４】
対象ＥＣＵ３０Ｃに対しては、書換指示を送信する予定時刻（ＥＣＵ３０Ｂに書換指示を送信する予定時刻（Ｔ１＋ｔ１）から間隔ｔ２後（＝時刻（Ｔ１＋ｔ１＋ｔ２）））に対して待機時間ｄＣ経過後に書換指示を送信する。ＥＣＵ３０Ｃは、中継装置１０の送信時から遅延時間ｄｃ分、遅れた時刻Ｔ２に書換指示を受信し（図５参照）、時刻Ｔ２に書換処理を開始する（ステップＳ４Ｃ）。
【００８５】
これにより、複数の対象ＥＣＵでの書換処理は同期タイミングである時刻Ｔ２に開始する。それにより、第１の実施の形態にかかるプログラム更新システムと同様にＥＣＵグループ内で、記憶領域に書き込まれている制御プログラムのバージョンが一致していない期間を抑えることができる。
【００８６】
第２の実施の形態では、中継装置１０側で待機時間を待機してから書換指示を送信する構成とすることによって、各ＥＣＵは、待機時間の経過を計時する必要がなく、待機時間の経過を計時するためのタイマを不要とすることができる。
【００８７】
＜第３の実施の形態＞
更新制御装置は中継装置１０に限定されず、他の車載装置であってもよい。たとえば、いずれかのＥＣＵであってもよい。
【００８８】
開示された特徴は、１つ以上のモジュールによって実現される。たとえば、当該特徴は、回路素子その他のハードウェアモジュールによって、当該特徴を実現する処理を規定したソフトウェアモジュールによって、または、ハードウェアモジュールとソフトウェアモジュールとの組み合わせによって実現され得る。
【００８９】
上述の動作をコンピュータに実行させるための、１つ以上のソフトウェアモジュールの組み合わせであるプログラムとして提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、ＣＤ−ＲＯＭ（Compact  Disk-Read  Only  Memory）、ＲＯＭ、ＲＡＭおよびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【００９０】
なお、本開示にかかるプログラムは、コンピュータのオペレーティングシステム（ＯＳ）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、本開示にかかるプログラムに含まれ得る。
【００９１】
また、本開示にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本開示にかかるプログラムに含まれ得る。提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【００９２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００９３】
１  車両
２  広域通信網
４  通信システム
５  サーバ
１０  中継装置（制御装置）
１１  制御部
１２  記憶部
１３  車内通信部
１５  車外通信機
１６，１６Ａ，１６Ｂ  車内通信線
３０，３０Ａ，３０Ｂ，３０Ｃ  ＥＣＵ（車載装置）
３１  制御部
３２  記憶部
３３  車内通信部
１１１  決定部
１１２  指示部
１１３  生成部
１１４  出力部
３１１  更新処理部
３２１  第１ＦＷ記憶領域（第１の記憶領域、第２の記憶領域）
３２２  第２ＦＷ記憶領域（第１の記憶領域、第２の記憶領域）
３２３  起動Ｖｅｒ記憶領域
【図１】
2019187535.tif 000003
【図２】
2019187535.tif 000004
【図３】
2019187535.tif 000005
【図４Ａ】
2019187535.tif 000006
【図４Ｂ】
2019187535.tif 000007
【図４Ｃ】
2019187535.tif 000008
【図５】
2019187535.tif 000009
【図６】
2019187535.tif 000010
【図７】
2019187535.tif 000011
【図８】
2019187535.tif 000012
【手続補正書】
【提出日】令和1年6月5日(2019.6.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の車載装置それぞれに対して、プログラムの更新処理の開始を指示する制御装置であって、
前記車載装置は、以下の第１の記憶領域と第２の記憶領域とを有し、
前記更新処理は、前記第２の記憶領域において新バージョンのプログラムが書き込まれた後に、実行するプログラムの読出対象を示す情報を、前記第１の記憶領域を示す情報から前記第２の記憶領域を示す情報へ書き換える書換処理と、前記読出対象を、前記第１の記憶領域から前記第２の記憶領域へ切り替える切替処理と、を含み、
前記制御装置は、
前記複数の車載装置と通信する車内通信部と、
前記車内通信部を制御する制御部と、
を備え、
前記制御部は、前記複数の車載装置における前記書換処理を所定の同期タイミングに開始させるための待機時間を、自装置と前記車載装置との間の通信遅延時間に基づいて前記車載装置ごとに決定し、
前記車内通信部は、前記待機時間に基づいて、複数の車載装置のそれぞれに対して、前記複数の車載装置における前記書換処理を前記同期タイミングに開始させる開始指示を送信する、制御装置。
第１の記憶領域：プログラムの現バージョンが記憶された記憶領域
第２の記憶領域：プログラムを新バージョンに書換可能な記憶領域
【請求項２】
前記待機時間は、前記開始指示の受信から前記同期タイミングまでの時間であり、
前記開始指示は、宛先である前記車載装置に対して算出された前記待機時間を含む、請求項１に記載の制御装置。
【請求項３】
前記待機時間は、前記開始指示の送信予定時刻から、前記車載装置が前記同期タイミングに受信するための前記開始指示を送信するまでの時間であり、
前記車内通信部は、宛先である前記車載装置に対して算出された前記待機時間の経過後に前記開始指示を送信する、請求項１に記載の制御装置。
【請求項４】
前記制御部は、前記車載装置に対する前記開始指示の送信間隔を用いて前記待機時間を決定する、請求項１から請求項３のいずれか１項に記載の制御装置。
【請求項５】
複数の車載装置それぞれに対して、プログラムの更新処理の開始を指示する方法であって、
前記車載装置は、以下の第１の記憶領域と第２の記憶領域とを有し、
前記更新処理は、前記第２の記憶領域において新バージョンのプログラムが書き込まれた後に、実行するプログラムの読出対象を示す情報を、前記第１の記憶領域を示す情報から前記第２の記憶領域を示す情報へ書き換える書換処理と、前記読出対象を、前記第１の記憶領域から前記第２の記憶領域へ切り替える切替処理と、を含み、
前記複数の車載装置における前記書換処理を所定の同期タイミングに開始させるための待機時間を、自装置と前記車載装置との間の通信遅延時間に基づいて前記車載装置ごとに決定するステップと、
前記複数の車載装置における前記書換処理を前記同期タイミングに開始させる開始指示を、前記待機時間に基づいて生成するステップと、
生成された前記開始指示を前記車載装置ごとに送信するステップと、を備える、制御方法。
第１の記憶領域：プログラムの現バージョンが記憶された記憶領域
第２の記憶領域：プログラムを新バージョンに書換可能な記憶領域
【請求項６】
複数の車載装置それぞれに対して、プログラムの更新処理の開始を指示する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、
前記車載装置は、以下の第１の記憶領域と第２の記憶領域とを有し、
前記更新処理は、前記第２の記憶領域において新バージョンのプログラムが書き込まれた後に、実行するプログラムの読出対象を示す情報を、前記第１の記憶領域を示す情報から前記第２の記憶領域を示す情報へ書き換える書換処理と、前記読出対象を、前記第１の記憶領域から前記第２の記憶領域へ切り替える切替処理と、を含み、
前記コンピュータに、
前記複数の車載装置における前記書換処理を所定の同期タイミングに開始させるための待機時間を、自装置と前記車載装置との間の通信遅延時間に基づいて前記車載装置ごとに決定するステップと、
前記複数の車載装置における前記書換処理を前記同期タイミングに開始させる開始指示を、前記待機時間に基づいて生成するステップと、
生成された前記開始指示を前記車載装置ごとに送信するステップと、
を実行させるための、コンピュータプログラム。
第１の記憶領域：プログラムの現バージョンが記憶された記憶領域
第２の記憶領域：プログラムを新バージョンに書換可能な記憶領域
【国際調査報告】
2019187535.tif 000013
2019187535.tif 000014
2019187535.tif 000015
2019187535.tif 000016