(57)【要約】【課題】ユーザの車両使用に関する利便性の低下を防止して車両に搭載された通信装置の更新処理を行うことができる車載更新システム、車載更新装置及び通信装置の更新方法を提供する。【解決手段】車載更新装置は、車両の走行情報を取得する走行情報取得部、取得した情報をサーバ装置へ送信する走行情報送信部、車両外のサーバ装置から車両の通信装置の更新用プログラムを取得する更新用情報取得部、及び、取得した更新用プログラムを通信装置へ送信する更新用情報送信部を有し、通信装置の記憶部に記憶されたプログラムを更新する。サーバ装置は、車載更新装置が送信した走行情報を受信する走行情報受信部と、受信した情報に基づいて車載更新装置による通信装置の更新処理を行うタイミングを決定する更新タイミング決定部と、決定したタイミングに基づいて車載更新装置へ更新処理の開始指示を送信する開始指示送信部とを有する。【選択図】図１
2018037022.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載された通信装置と、前記車両外に設けられたサーバ装置と、前記サーバ装置から前記通信装置の更新用のプログラム又はデータを取得する処理を行う更新用情報取得部並びに前記通信装置へ前記更新用情報取得部が取得した更新用のプログラム又はデータを送信する処理を行う更新用情報送信部を有し、前記通信装置の記憶部に記憶されたプログラム又はデータを更新する処理を行う車載更新装置とを備える車載更新システムであって、
前記車載更新装置は、前記車両の走行に係る情報を取得する走行情報取得部と、前記走行情報取得部が取得した情報を前記サーバ装置へ送信する走行情報送信部とを有し、
前記サーバ装置は、前記車載更新装置が送信した前記車両の走行に係る情報を受信する走行情報受信部と、前記走行情報受信部が受信した情報に基づいて、前記車載更新装置による前記通信装置の更新処理を行うタイミングを決定する更新タイミング決定部と、前記更新タイミング決定部が決定したタイミングに基づいて、前記車載更新装置へ更新処理の開始指示を送信する開始指示送信部とを有し、
前記車載更新装置は、前記サーバ装置から前記通信装置の更新処理の開始指示を受信する開始指示受信部を更に有し、
前記更新用情報送信部は、前記開始指示受信部が受信した開始指示に応じて更新用のプログラム又はデータを前記通信装置へ送信すること
を特徴とする車載更新システム。
【請求項２】
前記サーバ装置は、
前記走行情報受信部が受信した情報を蓄積して記憶する走行情報記憶部と、
前記走行情報記憶部に記憶された情報に基づいて、前記車両が走行しない時間帯を推定する非走行時間帯推定部と
を有し、
前記更新タイミング決定部は、前記非走行時間帯推定部が推定した時間帯に基づいて、更新処理を行うタイミングを決定すること
を特徴とする請求項１に記載の車載更新システム。
【請求項３】
前記非走行時間帯推定部は、前記走行情報記憶部に記憶された所定日数分の情報に基づいて、前記車両が走行しなかった時間帯を抽出し、抽出した時間帯の中から最長の時間帯を前記車両が走行しない時間帯と推定すること
を特徴とする請求項２に記載の車載更新システム。
【請求項４】
前記更新タイミング決定部は、前記非走行時間推定部が推定した時間帯の中央時点から、前記通信装置の更新処理に要する時間だけ前後する時間範囲の中で更新処理を行うタイミングを決定すること
を特徴とする請求項３に記載の車載更新システム。
【請求項５】
前記車載更新装置は、
前記車両のバッテリの蓄積電力量に係る情報を取得するバッテリ情報取得部と、
バッテリ情報取得部が取得したバッテリの蓄積電力量に応じて、前記通信装置の更新処理を行うことが可能であるか否かを判定する更新可否判定部と
を有し、
前記更新用情報送信部は、前記更新可否判定部が更新処理を行うことが可能であると判定した場合に、更新用のプログラム又はデータを前記通信装置へ送信すること
を特徴とする請求項１乃至請求項４のいずれか１つに記載の車載更新システム。
【請求項６】
前記車載更新装置は、
前記車両のＩＧ（イグニッション）信号の状態を取得するＩＧ状態取得部と、
前記更新可否判定部が更新処理を行うことが不可能であると判定した後、前記ＩＧ信号がオフ状態からオン状態へ変化した場合に、前記通信装置の更新処理を行うことを許可するか否かの選択を受け付ける選択受付部と
を有し、
前記更新用情報送信部は、前記選択受付部が更新処理を行うことを許可する選択を受け付けた場合に、更新用のプログラム又はデータを前記通信装置へ送信すること
を特徴とする請求項５に記載の車載更新システム。
【請求項７】
前記車載更新装置は、
前記車両のＩＧ（イグニッション）信号の状態を取得するＩＧ状態取得部と、
前記ＩＧ信号がオン状態である場合に、前記更新用情報送信部による更新用のプログラム又はデータの送信を中断し、前記通信装置を更新前のプログラム又はデータの動作に復帰させる処理を行う更新中断部と
を有することを特徴とする請求項１乃至請求項６のいずれか１つに記載の車載更新システム。
【請求項８】
車両に搭載された通信装置の更新用のプログラム又はデータを前記車両外に設けられたサーバ装置から取得する処理を行う更新用情報取得部と、前記通信装置へ前記更新用情報取得部が取得した更新用のプログラム又はデータを送信する処理を行う更新用情報送信部とを備え、前記通信装置の記憶部に記憶されたプログラム又はデータを更新する処理を行う車載更新装置であって、
前記車両の走行に係る情報を取得する走行情報取得部と、
前記走行情報取得部が取得した情報に基づいて、前記通信装置の更新処理を行うタイミングを決定する更新タイミング決定部と
を備え、
前記更新用情報送信部は、前記更新タイミング決定部が決定したタイミングに応じて更新用のプログラム又はデータを前記通信装置へ送信すること
を特徴とする車載更新装置。
【請求項９】
車両に搭載された通信装置の更新用のプログラム又はデータを前記車両外に設けられたサーバ装置から取得し、取得した更新用のプログラム又はデータを送信して、前記通信装置の記憶部に記憶されたプログラム又はデータを更新する通信装置の更新方法であって、
前記車両の走行に係る情報を取得し、
取得した情報を前記サーバ装置へ送信し、
送信された情報を受信した前記サーバ装置が、受信した情報に基づいて前記通信装置の更新処理を行うタイミングを決定し、
前記サーバ装置が、決定したタイミングに基づいて更新処理の開始指示を送信し、
前記サーバ装置からの更新処理の開始指示を受信し、
受信した開始指示に応じて更新用のプログラム又はデータを前記通信装置へ送信すること
を特徴とする通信装置の更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載された通信装置のプログラム又はデータを更新する車載更新システム、車載更新装置及び通信装置の更新方法に関する。
【背景技術】
【０００２】
従来、車両には複数のＥＣＵ（Electronic Control Unit）などの通信装置が搭載され、複数のＥＣＵがＣＡＮ（Controller Area Network）バスなどの通信線を介して接続されて相互に情報の送受信を行うことが可能とされている。各ＥＣＵは、フラッシュメモリ又はＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）等の記憶部に記憶されたプログラムをＣＰＵ（Central Processing Unit）などの処理装置が読み出して実行することにより、車両の制御などの種々の処理を行っている。ＥＣＵの記憶部に記憶されたプログラム又はデータは、例えば機能追加、不具合の修正又はバージョンアップ等の必要が生じた際には、新たなプログラム又はデータに書き換える更新処理を行う必要がある。この場合、更新処理の対象となるＥＣＵに対して、通信線を介して更新用のプログラム又はデータを送信することが行われている。
【０００３】
特許文献１においては、更新対象の制御装置に対する更新制御プログラムと、更新制御プログラムに係るダイジェスト値を算出する手段、更新後の制御装置の動作が正常であるか否かを判定する手段及び判定結果を返答する手段を実現するコンピュータプログラムとを含む更新データを制御装置が受信し、受信した更新データに含まれる更新制御プログラムにより制御プログラムを更新すると共に、前記コンピュータプログラムを実行して更新後の動作が正常であるか否かを判定することにより、プログラムの更新の正当性を検証できるプログラム更新システムが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１０３１６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年、車両のＥＣＵの更新を行うためのプログラム又はデータを無線通信などにて車外から取得し、取得したプログラム又はデータを用いてＥＣＵの更新を自動的に行うシステムが開発されている。このようなシステムにおいて、ＥＣＵの更新処理をどのようなタイミングで行うかが問題となる。ＥＣＵの記憶部に記憶されたプログラム又はデータの更新を行っている場合、このＥＣＵは更新処理が完了するまでの間には通常の処理を行うができない。このため、ＥＣＵの更新処理が完了するまで車両が走行できなくなり、ユーザの車両使用に関する利便性が低下するという問題があった。
【０００６】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、ユーザの車両使用に関する利便性の低下を防止して車両に搭載された通信装置の更新処理を行うことができる車載更新システム、車載更新装置及び通信装置の更新方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明に係る車載更新システムは、車両に搭載された通信装置と、前記車両外に設けられたサーバ装置と、前記サーバ装置から前記通信装置の更新用のプログラム又はデータを取得する処理を行う更新用情報取得部並びに前記通信装置へ前記更新用情報取得部が取得した更新用のプログラム又はデータを送信する処理を行う更新用情報送信部を有し、前記通信装置の記憶部に記憶されたプログラム又はデータを更新する処理を行う車載更新装置とを備える車載更新システムであって、前記車載更新装置は、前記車両の走行に係る情報を取得する走行情報取得部と、前記走行情報取得部が取得した情報を前記サーバ装置へ送信する走行情報送信部とを有し、前記サーバ装置は、前記車載更新装置が送信した前記車両の走行に係る情報を受信する走行情報受信部と、前記走行情報受信部が受信した情報に基づいて、前記車載更新装置による前記通信装置の更新処理を行うタイミングを決定する更新タイミング決定部と、前記更新タイミング決定部が決定したタイミングに基づいて、前記車載更新装置へ更新処理の開始指示を送信する開始指示送信部とを有し、前記車載更新装置は、前記サーバ装置から前記通信装置の更新処理の開始指示を受信する開始指示受信部を更に有し、前記更新用情報送信部は、前記開始指示受信部が受信した開始指示に応じて更新用のプログラム又はデータを前記通信装置へ送信することを特徴とする。
【０００８】
また、本発明に係る車載更新システムは、前記サーバ装置が、前記走行情報受信部が受信した情報を蓄積して記憶する走行情報記憶部と、前記走行情報記憶部に記憶された情報に基づいて、前記車両が走行しない時間帯を推定する非走行時間帯推定部とを有し、前記更新タイミング決定部は、前記非走行時間帯推定部が推定した時間帯に基づいて、更新処理を行うタイミングを決定することを特徴とする。
【０００９】
また、本発明に係る車載更新システムは、前記非走行時間帯推定部が、前記走行情報記憶部に記憶された所定日数分の情報に基づいて、前記車両が走行しなかった時間帯を抽出し、抽出した時間帯の中から最長の時間帯を前記車両が走行しない時間帯と推定することを特徴とする。
【００１０】
また、本発明に係る車載更新システムは、前記更新タイミング決定部が、前記非走行時間推定部が推定した時間帯の中央時点から、前記通信装置の更新処理に要する時間だけ前後する時間範囲の中で更新処理を行うタイミングを決定することを特徴とする。
【００１１】
また、本発明に係る車載更新システムは、前記車載更新装置が、前記車両のバッテリの蓄積電力量に係る情報を取得するバッテリ情報取得部と、バッテリ情報取得部が取得したバッテリの蓄積電力量に応じて、前記通信装置の更新処理を行うことが可能であるか否かを判定する更新可否判定部とを有し、前記更新用情報送信部は、前記更新可否判定部が更新処理を行うことが可能であると判定した場合に、更新用のプログラム又はデータを前記通信装置へ送信することを特徴とする。
【００１２】
また、本発明に係る車載更新システムは、前記車載更新装置が、前記車両のＩＧ（イグニッション）信号の状態を取得するＩＧ状態取得部と、前記更新可否判定部が更新処理を行うことが不可能であると判定した後、前記ＩＧ信号がオフ状態からオン状態へ変化した場合に、前記通信装置の更新処理を行うことを許可するか否かの選択を受け付ける選択受付部とを有し、前記更新用情報送信部は、前記選択受付部が更新処理を行うことを許可する選択を受け付けた場合に、更新用のプログラム又はデータを前記通信装置へ送信することを特徴とする。
【００１３】
また、本発明に係る車載更新システムは、前記車載更新装置は、前記車両のＩＧ（イグニッション）信号の状態を取得するＩＧ状態取得部と、前記ＩＧ信号がオン状態である場合に、前記更新用情報送信部による更新用のプログラム又はデータの送信を中断し、前記通信装置を更新前のプログラム又はデータの動作に復帰させる処理を行う更新中断部とを有することを特徴とする。
【００１４】
また、本発明に係る車載更新装置は、車両に搭載された通信装置の更新用のプログラム又はデータを前記車両外に設けられたサーバ装置から取得する処理を行う更新用情報取得部と、前記通信装置へ前記更新用情報取得部が取得した更新用のプログラム又はデータを送信する処理を行う更新用情報送信部とを備え、前記通信装置の記憶部に記憶されたプログラム又はデータを更新する処理を行う車載更新装置であって、前記車両の走行に係る情報を取得する走行情報取得部と、前記走行情報取得部が取得した情報に基づいて、前記通信装置の更新処理を行うタイミングを決定する更新タイミング決定部とを備え、前記更新用情報送信部は、前記更新タイミング決定部が決定したタイミングに応じて更新用のプログラム又はデータを前記通信装置へ送信することを特徴とする。
【００１５】
また、本発明に係る通信装置の更新方法は、車両に搭載された通信装置の更新用のプログラム又はデータを前記車両外に設けられたサーバ装置から取得し、取得した更新用のプログラム又はデータを送信して、前記通信装置の記憶部に記憶されたプログラム又はデータを更新する通信装置の更新方法であって、前記車両の走行に係る情報を取得し、取得した情報を前記サーバ装置へ送信し、送信された情報を受信した前記サーバ装置が、受信した情報に基づいて前記通信装置の更新処理を行うタイミングを決定し、前記サーバ装置が、決定したタイミングに基づいて更新処理の開始指示を送信し、前記サーバ装置からの更新処理の開始指示を受信し、受信した開始指示に応じて更新用のプログラム又はデータを前記通信装置へ送信することを特徴とする。
【００１６】
本発明においては、車両に搭載された通信装置のプログラム又はデータの更新処理を車載更新装置が行う。車載更新装置は、車両外に設置されたサーバ装置などから更新用のプログラム又はデータを取得する。車載更新装置は、更新処理の対象が複数である場合、各通信装置について更新用のプログラム又はデータをそれぞれ取得する。ただし、１つの更新用のプログラム又はデータを用いて、複数の通信装置の更新処理を行ってもよい。車載更新装置は、所定のタイミングでサーバ装置から取得した更新用のプログラム又はデータを更新対象の通信装置へ送信する。車載更新装置から更新用のプログラム又はデータを受信した通信装置は、自身の記憶部に受信した更新用のプログラム又はデータを書き込むことによって、プログラム又はデータを更新する。また車載更新装置がサーバ装置から更新用のプログラム又はデータを取得するタイミングと、車載更新装置が通信装置へ更新用のプログラム又はデータを送信するタイミングとは、別であってよい。例えば車載更新装置は、車両の走行中にサーバ装置から更新用のプログラム又はデータを取得して記憶しておき、車両が停車してエンジンが停止された後に記憶しておいた更新用のプログラム又はデータを更新対象の通信装置へ送信することができる。
【００１７】
本発明に係る車載更新システムでは、車載更新装置が更新用のプログラム又はデータを更新対象の通信装置へ送信するタイミング、即ち通信装置の更新処理を行うタイミングを、サーバ装置が決定する。このために車載更新装置は、車両の走行情報を取得してサーバ装置へ送信する処理を行う。サーバ装置は、車載更新装置から受信した走行情報に基づいて、更新処理を行うタイミングを決定し、車載更新装置へ更新処理の開始指示を送信する。車載更新装置は、サーバ装置からの開始指示を受信し、受信した開始指示に応じて通信装置への更新用のプログラム又はデータの送信を開始し、通信装置の更新処理を開始する。
【００１８】
なお、更新処理を行うタイミングを決定したサーバ装置は、決定したタイミングに開始指示を車載更新装置へ送信し、開始指示の受信後直ぐに又は遅滞なく車載更新装置が通信装置の更新処理を開始する構成とすることができる。また、更新処理を行うタイミングを決定したサーバ装置は、例えば更新処理を行う時刻を指定した開始指示をその時刻より前の時点で車載更新装置へ送信しておき、開始指示を受信した車載更新装置が指定された時刻に更新処理を開始する構成とすることもできる。この場合にサーバ装置は、更新用のプログラム又はデータと共に更新処理を行うタイミングを指定した開始指示を車載更新装置へ送信してもよい。
【００１９】
これにより本発明に係る車載更新システムは、サーバ装置が車両の走行情報を蓄積し、通信装置の更新処理を行う適切なタイミング（例えば車両が走行しない可能性が高い時間帯など）を決定して車載更新装置へ開始指示を送信し、このタイミングで車載更新装置が通信装置の更新処理を行うことができる。
【００２０】
また本発明においてサーバ装置は、車載更新装置から受信した走行情報を蓄積して記憶しておき、蓄積した走行情報に基づいて車両が走行しない時間帯を推定する。
例えばサーバ装置は、蓄積した所定日数分（例えば１ヶ月分など）の走行情報に基づいて、この期間中に車両が走行しなかった時間帯を抽出する。抽出した時間帯が１つであれば、サーバ装置はこの時間帯を車両が走行しない時間帯と推定することができる。抽出した時間帯が複数に分かれている場合、サーバ装置は、最も長い時間帯を選択して、この時間帯を車両が走行しない時間帯の推定結果とする。そしてサーバ装置は、推定した時間帯の中央の時点（即ち、推定した時間帯が午前１時から午前３時までの時間帯であれば、中央となる午前２時の時点）を算出し、この中央時点の前後の所定時間範囲内で更新処理を行うタイミングを決定する。所定時間範囲は、例えば通信装置の更新処理に必要な時間とすることができる。
これらによりサーバ装置は、車両が走行しない可能性が高い時間帯に更新処理を行うよう車載更新装置へ更新処理の開始指示を送信することができる。
【００２１】
また本発明においては、車載更新装置が車両のバッテリの蓄積電力量の情報を取得し、更新処理を行う前にバッテリの蓄積電力量に応じて更新処理が可能であるか否かを判定する。車載更新装置は、例えばバッテリの蓄積電力量が予め定められた閾値を超えるか否かに応じて、更新処理を行うことが可能であるか否かを判定する。車載更新装置は、バッテリの蓄積電力量に基づいて更新処理が可能であると判定した場合に、更新用のプログラム又はデータの通信装置への送信を開始する。これにより、例えば更新処理の途中でバッテリ切れなどが発生することを防止できる。
【００２２】
また本発明においては、車載更新装置が車両のＩＧ（イグニッション）信号の状態を取得する。車載更新装置は、バッテリの蓄積電力量に応じて更新処理が不可能であると判定した後、ＩＧ信号がオフ状態からオン状態へ変化した場合に、行うことができなかった更新処理を試みる。ただしＩＧ信号がオン状態へ変化した場合には、ユーザが車両を走行させようとしている可能性があり、更新処理を行うと更新処理完了までは車両を走行させることができなくなるため、車載更新装置は更新処理を行うことを許可するか否かをユーザに問合わせ、許可するか否かの選択を受け付ける。車載更新装置は、受け付けた選択に基づき、更新処理を行う許可が得られた場合に通信装置の更新処理を開始する。これにより、更新処理がユーザによる車両の使用の妨げとなることを防止できる。
【００２３】
また本発明においては、通信装置の更新処理を行うタイミングに至った際にＩＧ信号がオン状態である場合又は更新処理を行っている途中でＩＧ信号がオン状態となった場合、車載更新装置は、更新用のプログラム又はデータの通信装置への送信を中断し、更新対象の通信装置を更新前のプログラム又はデータによる動作に復帰させる。これにより、更新処理の途中であってもユーザは車両を使用することが可能となる。
【００２４】
また本発明においては、走行情報の記憶及び走行情報に基づく更新処理を行うタイミングの決定等の処理を、サーバ装置ではなく、車載更新装置が行う構成としてもよい。これにより、車載更新装置がサーバ装置との通信を頻繁に行うことができない環境であっても、更新処理を行うタイミングを適切に決定することができる。
【発明の効果】
【００２５】
本発明による場合は、車両の走行情報に基づいて通信装置の更新処理を行うタイミングを決定することによって、更新処理を行うことによるユーザの車両使用に関する利便性の低下を防止することができる。
【図面の簡単な説明】
【００２６】
【図１】本実施の形態に係る車載更新システムの構成を示す模式図である。
【図２】ＥＣＵの構成を示すブロック図である。
【図３】ＥＣＵが行う更新処理を説明するための模式図である。
【図４】ゲートウェイの構成を示すブロック図である。
【図５】サーバ装置の構成を示すブロック図である。
【図６】サーバ装置が行う非走行時間帯推定処理及び更新タイミング決定処理を説明するための模式図である。
【図７】ゲートウェイが行う走行情報収集及び送信の処理手順を示すフローチャートである。
【図８】ゲートウェイが行う更新プログラム取得処理の手順を示すフローチャートである。
【図９】ゲートウェイが行う更新処理の手順を示すフローチャートである。
【図１０】ゲートウェイが行う更新処理の手順を示すフローチャートである。
【図１１】サーバ装置が行う処理の手順を示すフローチャートである。
【図１２】サーバ装置が行う処理の手順を示すフローチャートである。
【図１３】ＥＣＵが行う更新処理の手順を示すフローチャートである。
【図１４】変形例に係るゲートウェイの構成を示すブロック図である。
【発明を実施するための形態】
【００２７】
図１は、本実施の形態に係る車載更新システムの構成を示す模式図である。本実施の形態に係る車載更新システムは、車両１に搭載された複数のＥＣＵ（Electronic Control Unit）２が、車両１内に配された通信線１ａ，１ｂ及びゲートウェイ１０を介して相互に通信を行うシステムである。本実施の形態に係る車載更新システムは、ゲートウェイ１０が車載更新装置に相当し、ＥＣＵ２が通信装置に相当する。また図示の例では、車内の通信線１ａに２つのＥＣＵ２及び１つの表示装置７が接続され、通信線１ｂに３つのＥＣＵ２が接続され、２本の通信線１ａ，１ｂがゲートウェイ１０に接続されたシステム構成であり、ゲートウェイ１０が通信線１ａ，１ｂ間の通信を中継することによって、全てのＥＣＵ２が他のＥＣＵ２又は表示装置７との間でデータの送受信を行うことができる。
【００２８】
また本実施の形態に係る車載更新システムでは、ゲートウェイ１０に通信線１ｃを介して無線通信装置３が接続されており、ゲートウェイ１０は無線通信装置３を介して車両１外に設置されたサーバ装置９との通信を行うことができる。またゲートウェイ１０には、車両１のＩＧスイッチ４からＩＧ信号が入力されると共に、車両１のバッテリ５の蓄積電力量を検知するバッテリ検知部６から検知結果が入力されている。
【００２９】
ＥＣＵ２は、例えば車両１のエンジンの動作を制御するＥＣＵ、ドアのロック／アンロックを制御するＥＣＵ、ライトの点灯／消灯を制御するＥＣＵ、エアバッグの動作を制御するＥＣＵ、及び、ＡＢＳ（Antilock Brake System）の動作を制御するＥＣＵ等の種々のＥＣＵが含まれ得る。各ＥＣＵ２は、車両１に配された通信線１ａ又は１ｂに接続され、通信線１ａ，１ｂを介して他のＥＣＵ２、表示装置７及びゲートウェイ１０との間でデータの送受信を行うことができる。
【００３０】
無線通信装置３は、例えば携帯電話通信網又は無線ＬＡＮ（Local Area Network）等の無線通信を行うことによって、サーバ装置９との間で情報の送受信を行うことができる。無線通信装置３は、通信線１ｃを介してゲートウェイ１０に接続されており、ゲートウェイ１０との間で有線通信による情報の送受信を行うことができる。これにより無線通信装置３は、ゲートウェイ１０及びサーバ装置９の間の通信を中継することができ、ゲートウェイ１０から与えられたデータをサーバ装置９へ送信すると共に、サーバ装置９から受信したデータをゲートウェイ１０へ与える。
【００３１】
ゲートウェイ１０は、車両１の車内ネットワークを構成する複数の通信線１ａ〜１ｃが接続され、通信線間のデータの送受信を中継する処理を行う。図１に示す例においては、ゲートウェイ１０には３つの通信線１ａ〜１ｃ、即ち２つのＥＣＵ２及び１つの表示装置７が接続された第１の通信線１ａ、３つのＥＣＵ２が接続された第２の通信線１ｂ及び無線通信装置３が接続された第３の通信線１ｃが接続されている。ゲートウェイ１０は、いずれかの通信線１ａ〜１ｃから受信したデータを他の通信線１ａ〜１ｃへ送信することによって、データの中継を行う。
【００３２】
ＩＧスイッチ４は、車両１のエンジン始動などをユーザが行うためのスイッチであり、オン／オフの２状態に切り替わる。本実施の形態においては、ＩＧ信号はＩＧスイッチ４の状態を示し、ＩＧオンは車両１のエンジンなどの原動機が動作しており、オルタネータなどによる発電が行われている状態であり、ＩＧオフは車両１の原動機が停止して発電が行われていない状態である。バッテリ検知部６は、バッテリ５の出力端子の電圧値及び／又は入出力される電流量の積算値等に基づいて、バッテリ２に蓄積されている電力量の検知を行う。表示装置７は、例えば液晶ディスプレイなどであり、ＥＣＵ２又はゲートウェイ１０から与えられる表示命令などに応じて、車両１のユーザに対するメッセージ表示などを行う。また図示は省略するが、表示装置７は、例えばタッチパネル又はハードウェアキー等の操作部を有しており、ユーザの操作を受け付けてＥＣＵ２又はゲートウェイ１０へ受け付けた操作内容を通知する。なお表示装置７は、例えばカーナビゲーション装置と共用のものであってよい。
【００３３】
サーバ装置９は、車両１に搭載されるＥＣＵ２にて実行されるプログラム及びデータを管理及び記憶している。サーバ装置９は、車両１からの問合わせに応じてプログラムなどの更新が必要であるか否かを通知すると共に、更新が必要である場合には更新用のプログラム及びデータを車両１へ配信する処理を行う。
【００３４】
本実施の形態に係る車載更新システムでは、車両１のエンジンが動作している際にゲートウェイ１０及びサーバ装置９の通信が行われ、サーバ装置９からゲートウェイ１０へ、更新に必要なプログラム及び／又はデータ等の取得（ダウンロード）が行われる。更新に必要なプログラム及び／又はデータ等の取得を完了したゲートウェイ１０は、その後に車両１のエンジンが停止した後（ＩＧスイッチ４がオフ状態へ切り替えられた後）、所定の更新タイミングに至った場合に、サーバ装置９から取得したプログラム及び／又はデータ等を更新対象のＥＣＵ２へ送信することにより、更新処理を行う。ゲートウェイ１０から更新に必要なプログラム及び／又はデータ等を受信したＥＣＵ２は、自身の記憶部にこのプログラム及び／又はデータ等を書き込むことによって、更新処理を行う。
【００３５】
また本実施の形態に係る車載更新システムでは、ゲートウェイ１０が車両１の走行に係る情報を収集し、これを定期的にサーバ装置９へ送信している。ゲートウェイ１０からサーバ装置９へ送信する走行情報は、例えば車両１のエンジンが始動した時刻、エンジンが停止した時刻、車両１のドアのロックが操作された時刻、車両１内の座席にユーザが座った時刻、シートベルトを着脱した時刻、シフトレバーが操作された時刻、及び、ブレーキが操作された時刻等の情報を含めることができる。ゲートウェイ１０は、車両１に搭載されたＥＣＵ２又はその他の車載機器からこれらの情報を収集する。本実施の形態において走行情報は、車両１のエンジンの始動及び停止の時刻に関する情報を含むものとする。
【００３６】
サーバ装置９は、車両１から送信された走行情報を受信し、受信した走行情報を記憶部に蓄積している。サーバ装置９は、蓄積した走行情報に基づいて、車両１が走行しない可能性が高い時間帯を推定する処理を行う。本実施の形態においてサーバ装置９が推定する時間帯は、例えば午前１時から午前５時までのように開始時刻及び終了時刻で示される時間間隔で表すことができ、更には毎週日曜日の午前１時から午前５時まで又は毎月１０日の午前１時から午前５時まで等のように曜日又は日付等の条件が付加されてもよい。サーバ装置９は、例えば過去３０日分又は１年分等の所定期間分の走行情報を参照して推定を行う。
【００３７】
またサーバ装置９は、推定した時間帯に含まれる一つの時点を、車両１のＥＣＵ２の更新処理を行うタイミングであると決定する。本実施の形態においてサーバ装置９が決定する更新タイミングは、例えば午前３時のような時刻として表すことができる。サーバ装置９は、決定した更新処理のタイミングに至った場合、車両１に対して更新処理の開始指示を送信する。この開始指示を受信した車両１のゲートウェイ１０は、予めサーバ装置９から取得して記憶していた更新用のプログラム及び／又はデータを更新対象のＥＣＵ２へ送信することによって更新処理を行う。又は、サーバ装置９は、決定した更新処理のタイミングに至る前に、このタイミングを指定した開始指示を車両１に対して送信してもよい。この開始指示を受信した車両１のゲートウェイ１０は、受信した開始指示にて指定されたタイミングに至った場合に、更新対象のＥＣＵ２の更新処理を行う。
【００３８】
図２は、ＥＣＵ２の構成を示すブロック図である。なお本図においては、複数のＥＣＵ２に共通の機能ブロックを抜き出して示しており、ＥＣＵ２毎に異なる機能ブロックについては図示を省略している。本実施の形態に係るＥＣＵ２は、処理部２１、記憶部２２及び通信部２３等を備えて構成されている。処理部２１は、例えばＣＰＵ（Central Processing Unit）又はＭＰＵ（Micro-Processing Unit）等の演算処理装置を用いて構成され、記憶部２２に記憶されたプログラム２２ａを読み出して実行することにより、種々の演算処理を行う。なお記憶部２２に記憶されるプログラム２２ａは、ＥＣＵ２毎にその内容が異なっている。
【００３９】
記憶部２２は、フラッシュメモリ又はＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）等の不揮発性のメモリ素子を用いて構成されている。記憶部２２は、処理部２１が実行するプログラム２２ａと、このプログラム２２ａの実行に必要なデータとを記憶する。なお以下において”プログラム２２ａ”との記載には、プログラム２２ａと、このプログラム２２ａの実行に必要なデータとを含み得る。
【００４０】
通信部２３は、車内ネットワークを構成する通信線１ａ又は１ｂに接続され、例えばＣＡＮ（Controller Area Network）などの通信プロトコルに従ってデータの送受信を行う。通信部２３は、処理部２１から与えられたデータを電気信号に変換して通信線１ａ又は１ｂへ出力することによってデータを送信すると共に、通信線１ａ又は１ｂの電位をサンプリングして取得することによりデータを受信し、受信したデータを処理部２１へ与える。
【００４１】
また本実施の形態に係るＥＣＵ２の処理部２１には、更新用情報受信部２１ａ、更新用情報書込処理部２１ｂ、更新処理部２１ｃ及び復帰処理部２１ｄが設けられている。更新用情報受信部２１ａ〜復帰処理部２１ｄは、記憶部２２に記憶されたプログラム２２ａの更新（アップデート）処理を行うための機能ブロックである。更新用情報受信部２１ａ〜復帰処理部２１ｄは、更新処理の対象となるプログラム２２ａとは別のプログラム（図示は省略する）を処理部２１が実行することにより実現されるソフトウェア的な機能ブロックである。
【００４２】
更新用情報受信部２１ａは、通信線を介してゲートウェイ４から送信される更新用のプログラムを通信部２３にて受信し、受信した更新用のプログラムをバッファメモリ（図示は省略する）などに蓄積する処理を行う。更新用情報書込処理部２１ｂは、更新用情報受信部２１ａが蓄積した更新用のプログラムを、記憶部２２の空き領域に書き込む処理を行う。更新処理部２１ｃは、更新用情報書込処理部２１ｂが更新用のプログラムの書き込みを完了した後、記憶部２２に記憶されている更新前のプログラムを無効化し、新たに書き込んだ更新用のプログラムを有効化することによって、プログラム２２ａの更新を行う。復帰処理部２１ｄは、ゲートウェイ４からの更新用のプログラムの送信が中断された場合に、記憶部２２に記憶されている更新前のプログラムによる処理を開始し、更新処理を行う前の状態での動作に復帰する処理を行う。
【００４３】
図３は、ＥＣＵ２が行う更新処理を説明するための模式図である。本実施の形態に係るＥＣＵ２の記憶部２２は、少なくともプログラム２２ａを２セット分記憶しておくのに十分な記憶容量を有している。図３の上段に示す例では、記憶部２２には、プログラム２２ａと、このプログラム２２ａと同程度の容量の空き領域２２ｂとが存在している。このときに記憶部２２に記憶されているプログラム２２ａは有効とされ、処理部２１がこのプログラム２２ａを読み出して実行している。
【００４４】
更新用情報受信部２１ａがゲートウェイ４から更新用のプログラムを受信した場合、更新用情報書込処理部２１ｂは、更新前のプログラム２２ａに上書きすることなく、記憶部２２の空き領域２２ｂに受信した更新用のプログラム２２ａを記憶する。更新用情報書込処理部２１ｂが更新用のプログラム２２ａをエラーなく記憶部２２に書き込み完了した後、更新処理部２１ｃは、更新前のプログラム２２ａを無効化し、新たに記憶した更新用のプログラム２２ａを有効化することによって、更新処理を完了する。その後、ＥＣＵ２の処理部２１は、有効化された更新用のプログラム２２ａを読み出して実行する。なお無効化した更新前のプログラム２２ａは、例えば何らかのタイミングで消去されてもよく、また例えば消去されることなく記憶部２２内に残され、次の更新処理の際に空き領域２２ｂと扱われてもよい。
【００４５】
このように、本実施の形態に係るＥＣＵ２は、更新前のプログラム２２ａを記憶する領域（第１の領域）と、更新用のプログラム２２ａを記憶する領域（第２の領域）とを少なくとも記憶部２２に設けている。即ち各ＥＣＵ２はプログラム２２ａを少なくとも２セット分は記憶することができる記憶領域を有している。更新処理のためにゲートウェイ１０が送信した更新用のプログラム２２ａを受信したＥＣＵ２は、更新前のプログラム２２ａが記憶された領域とは別の領域に、受信した更新用のプログラム２２ａを記憶する。即ちＥＣＵ２では、更新前のプログラム２２ａが上書きされることなく、更新用のプログラム２２ａが記憶部２２に記憶される。ＥＣＵ２は、更新用のプログラム２２ａを記憶部２２に記憶し終えた後、更新前のプログラム２２ａを無効化し、更新用のプログラム２２ａを有効化することによって、処理部２１が実行するプログラム２２ａを切り替える。即ちＥＣＵ２は、処理部２１のブート対象とするプログラムの切り替えを行うことによって、更新処理を完了する。
【００４６】
図４は、ゲートウェイ１０の構成を示すブロック図である。本実施の形態に係るゲートウェイ１０は、処理部１１、記憶部１２、及び、３つの車内通信部１３等を備えて構成されている。処理部１１は、例えばＣＰＵ又はＭＰＵ等の演算処理装置を用いて構成され、記憶部１２又は図示しないＲＯＭ（Read Only Memory）等に記憶されたプログラムを読み出して実行することにより、種々の演算処理を行う。本実施の形態において処理部１１は、車内ネットワークの通信線１ａ〜１ｃ間のデータ送受信を中継する処理、及び、ＥＣＵ２の更新処理等に必要な演算処理を行う。また車両１のＩＧスイッチ４から供給されるＩＧ信号及びバッテリ検知部６が検知するバッテリの蓄積電力量の情報は、処理部１１に入力されている。ただし、ＩＧ信号及び／又はバッテリの蓄積電力量は、通信線１ａ〜１ｃを利用した車内通信によりゲートウェイ１０へ入力されてもよい。
【００４７】
記憶部１２は、フラッシュメモリ又はＥＥＰＲＯＭ等の不揮発性のメモリ素子を用いて構成されている。記憶部１２は、例えばＥＣＵ２の更新に用いられるプログラム及びデータ等が記憶される。記憶部１２は、処理部１１が実行するプログラム及びこのプログラムの実行に必要なデータなどを記憶してもよい。また記憶部１２は、処理部１１の処理の過程で生成されたデータなどを記憶してもよい。
【００４８】
車内通信部１３は、車内ネットワークを構成する通信線１ａ〜１ｃに接続され、例えばＣＡＮなどの通信プロトコルに従ってデータの送受信を行う。車内通信部１３は、処理部１１から与えられたデータを電気信号に変換して通信線１ａ〜１ｃへ出力することによって情報を送信すると共に、通信線１ａ〜１ｃの電位をサンプリングして取得することによりデータを受信し、受信したデータを処理部１１へ与える。なおゲートウェイ１０が備える３つの車内通信部１３は、それぞれ異なる通信プロトコルに従って通信を行うものであってもよい。
【００４９】
また処理部１１には、記憶部１２又はＲＯＭ等に記憶されたプログラムが実行されることによって、走行情報取得部１１ａ、走行情報送信部１１ｂ、更新用情報取得部１１ｃ、開始指示受信部１１ｄ、ＩＧ状態取得部１１ｅ、バッテリ情報取得部１１ｆ、更新可否判定部１１ｇ、更新用情報送信部１１ｈ、選択受付部１１ｉ及び更新中断部１１ｊ等がソフトウェア的な機能ブロックとして実現される。
【００５０】
走行情報取得部１１ａは、ゲートウェイ１０へ直接的に入力される情報及び車内ネットワークを介して受信する情報から車両１の走行に係る情報を取得する処理を行う。本実施の形態において走行情報取得部１１ａが取得する走行情報は、車両１のエンジンの始動及び停止の時刻に関する情報である。走行情報取得部１１ａは、例えばＩＧスイッチ４から入力されるＩＧ信号のオン状態／オフ状態が切り替わった時刻を取得することによって、エンジンの始動及び停止の時刻に関する情報を取得することができる。なおこのような時刻の情報を取得するために、本実施の形態においては処理部１１に計時機能が備えられているものとするが、例えばＧＰＳ（Global Positioning System）の信号に含まれる時刻情報を利用することもできる。走行情報取得部１１ａは、ＩＧ信号がオフ状態からオン状態へ切り替わった時刻を車両１のエンジンが始動した時刻とし、オン状態からオフ状態へ切り替わった時刻をエンジンが停止した時刻として記憶部１２に記憶しておく。
【００５１】
走行情報送信部１１ｂは、走行情報取得部１１ａが取得した走行情報を、無線通信装置３にてサーバ装置９へ送信する処理を行う。走行情報送信部１１ｂが走行情報を送信するタイミングは、例えば１日毎又は１週間毎等のように所定周期としてよく、また例えば走行情報取得部１１ａが走行情報を取得する都度などとしてもよい。
【００５２】
更新用情報取得部１１ｃは、所定のタイミングで無線通信装置３を介したサーバ装置９との通信を行い、車両１に搭載されたＥＣＵ２のプログラム２２ａの更新が必要であるか否かを問い合わせる。更新要否の問合わせを行う所定のタイミングは、例えば１日毎又は１週間毎等のように所定周期としてよく、また例えばＩＧスイッチ４がオフ状態からオン状態へ切り替えられる都度などとしてもよい。更新が必要であるとの通知をサーバ装置９から与えられた場合、更新用情報取得部１１ｃは、無線通信装置３を介してサーバ装置９から更新に必要なプログラム及びデータ等（以下、単に更新用プログラムという）を取得して記憶部１２に記憶する。このときに更新用情報取得部１１ｃは、更新が必要な全てのＥＣＵ２について、更新用プログラムの取得を行う。
【００５３】
開始指示受信部１１ｄは、サーバ装置９が送信する更新処理の開始指示を、無線通信装置３を介して受信する処理を行う。サーバ装置９が更新処理を開始するタイミングで開始指示を送信する構成であれば、開始指示受信部１１ｄが開始指示を受信した場合にゲートウェイ１０は更新処理を開始してよい。サーバ装置９が更新処理を開始するタイミング以前にそのタイミングを指定した開始指示を送信する構成であれば、開始指示受信部１１ｄは、受信した開始指示にて指定された更新処理のタイミングを記憶部１２に記憶する。この場合、記憶部１２に記憶された更新処理のタイミングに至った場合に、ゲートウェイ１０は更新処理を開始する。
【００５４】
ＩＧ状態取得部１１ｅは、ＥＣＵ２の更新処理を開始するタイミングに至った場合、及び、更新処理を行っている間に、ＩＧスイッチ４から入力されるＩＧ信号を取得し、ＩＧスイッチ４のオン状態／オフ状態の変化を監視する処理を行う。本実施の形態に係る車載更新システムでは、基本的に車両１が走行していない場合、即ちＩＧスイッチ４がオフ状態である場合に更新処理を行う。このため、更新処理を開始するタイミングに至ったとしても、ＩＧスイッチ４がオン状態であれば更新処理は行われない。また更新処理を行っている途中でＩＧスイッチ４がオフ状態からオン状態へ変化した場合にも、更新処理は中断される。
【００５５】
バッテリ情報取得部１１ｆは、ＥＣＵ２の更新処理を行うタイミングに至った場合に、バッテリ検知部６から入力される蓄積電力量を取得することにより、車両１のバッテリ５にその時点で蓄積されている電力量を取得する。なおバッテリ検知部６がバッテリ５の蓄積電力量をゲートウェイ１０へ入力する構成である場合には、バッテリ情報取得部１１ｆは、単にバッテリ検知部６の検知結果を取得すればよい。ただし、バッテリ検知部６が例えばバッテリ５の端子電圧値を単に入力する構成である場合などには、バッテリ検知部６からの入力情報をバッテリ情報取得部１１ｆが取得し、取得した情報に基づいてバッテリ５の蓄積電力量を算出する処理を行う必要がある。
【００５６】
更新可否判定部１１ｇは、バッテリ情報取得部１１ｆが取得したバッテリ５の蓄積電力量と予め定められた閾値との比較結果に応じて、サーバ装置９から取得した更新用プログラムによる更新処理を行うことが可能であるか否かの判定を行う。例えばバッテリ５の蓄積電力量が９５％以上であれば更新処理を行ってもよいと定められている場合、更新可否判定部１１ｇは、バッテリ情報取得部１１ｆが取得した蓄積電力量が９５％以上であるか否かに応じて更新処理が可能であるか否かを判定することができる。更新可否判定部１１ｇが更新処理可能と判定した場合にゲートウェイ１０は更新処理を行い、更新処理不可能と判定した場合には更新処理は行わず、次の機会を待つ。
【００５７】
更新用情報送信部１１ｈは、更新用情報取得部１１ｃがサーバ装置９から取得して記憶部２２に記憶した更新用のプログラムを読み出し、読み出した更新用のプログラムを更新処理の対象となるＥＣＵ２へ送信することによって、このＥＣＵ２の記憶部２２に記憶されたプログラム２２ａの更新処理を行う。更新処理を行うと判定された更新用プログラムが複数存在する場合、更新用情報送信部１１ｈは、適宜の順序で更新用プログラムを順次的に送信してもよく、複数の更新用プログラムを並列的に送信してもよい。更新用情報送信部１１ｈによりＥＣＵ２に送信された更新用プログラムは、記憶部１２から消去される（ただし、消去せずに別のデータを書き込む必要が生じるまでは記憶しておいてもよい）。ただし更新可否判定部１１ｇにより更新処理を行わないと判定された更新用プログラムは、記憶部１２に記憶され、次に更新処理を行う機会を待つ。
【００５８】
選択受付部１１ｉは、更新可否判定部１１ｇが更新処理不可能と判定して更新処理が行われず、その後にＩＧスイッチ４がオフ状態からオン状態へ切り替わった場合に、行われなかった更新処理を行うか否かの選択をユーザから受け付ける処理を行う。このときに選択受付部１１ｉは、車内通信部１３を介して表示装置７へユーザへのメッセージを表示する指示を与える。この指示を受信した表示装置７は、例えば「バッテリ残量不足によりソフトウェアのアップデートを行うことができませんでした。これからアップデートを実行しますか？アップデートには約５分の時間が必要で、その間は車を走行させることはできません。」などのメッセージ表示を行う。表示装置７は、タッチパネル又はハードウェアキー等の操作部により、更新処理を行うか否かの選択操作の受け付けを行い、受け付けた操作内容をゲートウェイ１０へ送信する。ゲートウェイ１０の選択受付部１１ｉは、表示装置７からの情報に基づいて、更新処理を行うか否かの選択を受け付ける。選択受付部１１ｉが更新処理を行う選択を受け付けた場合、ゲートウェイ１０は、ＥＣＵ２の更新処理を行う。更新処理を行わない選択を受け付けた場合、ゲートウェイ１０は、更新処理を行わずに次の機会を待つ。
【００５９】
更新中断部１１ｊは、更新処理を行うタイミングに至って更新処理を開始し、更新処理を行っている途中でＩＧ状態取得部１１ｅが取得したＩＧスイッチ４の状態がオフ状態からオン状態へと切り替わった場合に、更新処理を中断する処理を行う。更新中断部１１ｊは、更新用情報送信部４１ｈによるＥＣＵ２への更新用プログラムの送信処理を中断し、ＥＣＵ２のプログラム２２ａの更新処理を中断する。またこのときに更新中断部１１ｊは、更新処理の中断をＥＣＵ２へ通知してもよい。更新処理が中断されたＥＣＵ２は、復帰処理部２１ｄにより更新前のプログラム２２ａによる動作に復帰する。
【００６０】
図５は、サーバ装置９の構成を示すブロック図である。本実施の形態に係るサーバ装置９は、例えば車両１の製造会社又は販売会社等が運営管理する装置であり、車両１外の適所に設置されている。サーバ装置９は、複数の車両１との通信を行うことができ、各車両１から情報を収集して管理する装置である。サーバ装置９は、処理部９１、記憶部９２及び通信部９３等を備えて構成されている。処理部９１は、例えばＣＰＵ又はＭＰＵ等の演算処理装置を用いて構成され、記憶部９２に記憶されたサーバプログラムを読み出して実行することにより、車両１の管理に関する種々の演算処理を行う。本実施の形態において処理部９１は、車両１に搭載されたＥＣＵ２の更新用プログラムを配信する処理、及び、この更新用プログラムを用いた更新処理を行うタイミングを決定する処理等を行う。
【００６１】
記憶部９２は、例えばハードディスクなどの大容量の記憶装置を用いて構成されている。記憶部９２は、処理部９１が実行するサーバプログラム及びこの実行に必要なデータを記憶していると共に、処理部９１の処理過程で生成されたデータを記憶する。また本実施の形態において記憶部９２には、車両１へ配信する更新用のプログラム又はデータを記憶した更新用プログラムＤＢ（データベース）９２ａが設けられている。更新用プログラムＤＢ９２ａには、複数種の車両１に搭載され得る様々なＥＣＵ２のための様々なバージョンのプログラムが更新用プログラムとして記憶されており、サーバ装置９はこれらの中から適切なものを選択して車両１へ送信する。
【００６２】
また記憶部９２には、各車両１に関する情報を記憶した車両情報ＤＢ９２ｂが設けられている。車両情報ＤＢ９２ｂには、例えば車両１の車種、型式、搭載されているＥＣＵ２の種別、及び、各ＥＣＵ２のソフトウェアのバージョン等の情報が記憶されている。サーバ装置９は、この車両情報ＤＢ９２ｂに基づいて、各車両１のＥＣＵ２の更新処理が必要であるか否かを判断することができる。また記憶部９２には、各車両１のゲートウェイ１０から受信した走行情報を記憶する走行情報ＤＢ９２ｃが設けられている。
【００６３】
通信部９３は、例えばインターネット及び携帯電話通信網等を介して、車両１との間の通信を行う。通信部９３は、処理部９１から与えられた送信用のメッセージを、所望の車両１に対して送信すると共に、車両１から受信したメッセージを処理部９１へ与える。
【００６４】
また処理部９１には、記憶部９２に記憶されたサーバプログラムが実行されることによって、更新用情報送信部９１ａ、走行情報受信部９１ｂ、非走行時間帯推定部９１ｃ、更新タイミング決定部９１ｄ及び開始指示送信部９１ｅ等がソフトウェア的な機能ブロックとして実現される。更新用情報送信部９１ａは、車両１のゲートウェイ１０から更新の有無の問合わせを受信した場合に、この車両１についての情報を車両情報ＤＢ９２ｂから取得して、プログラムの更新が必要であるか否かを判定し、判定結果を問合わせの応答として車両１へ送信する処理を行う。また更新用情報送信部９１ａは、車両１のゲートウェイ１０から更新用プログラムの送信要求を受信した場合、記憶部９２の更新用プログラムＤＢ９２ａに記憶された更新用プログラムから要求元の車両１に適したものを読み出して、要求元の車両１へ送信する処理を行う。
【００６５】
走行情報受信部９１ｂは、車両１のゲートウェイ１０から定期的に又は適宜のタイミングで送信される車両１の走行情報を受信する処理を行う。走行情報受信部９１ｂは、車両１からの走行情報を受信した場合、受信した走行情報をこの車両１の識別情報などに対応付けて記憶部９２の走行情報ＤＢ９２ｃに記憶する処理を行う。
【００６６】
非走行時間帯推定部９１ｃは、各車両１から送信されて記憶部９２の走行情報ＤＢ９２ｃに蓄積された各車両１の走行情報に基づいて、車両１が走行しない可能性が高い時間帯を推定する処理を行う。更新タイミング決定部９１ｄは、非走行時間帯推定部９１ｃが推定した時間帯に含まれる所定のタイミングを、車両１の更新処理を行うタイミングとして決定する処理を行う。
【００６７】
開始指示送信部９１ｅは、更新タイミング決定部９１ｄが決定した更新タイミングに基づいて、車両１へ更新処理の開始指示を送信する処理を行う。なお、開始指示送信部９１ｅは、更新タイミング決定部９１ｄが決定したタイミングに至った場合に車両１への開始指示を送信する構成としてよく、この場合には開始指示を受信した車両１にて更新処理が開始される。又は、開始指示送信部９１ｅは、更新タイミング決定部９１ｄが決定したタイミングに至る前に更新タイミングを指定した開始指示を車両１へ送信する構成としてもよく、この場合には開始指示を受信した車両１では直ぐに更新処理は開始されない。車両１のゲートウェイ１０は、開始指示にて指定された更新タイミングに至った場合に、車両１の更新処理を開始する。
【００６８】
図６は、サーバ装置９が行う非走行時間帯推定処理及び更新タイミング決定処理を説明するための模式図である。図６の上段には、サーバ装置９の記憶部９２の走行情報ＤＢ９２ｃに蓄積された車両１の３日分の走行情報の例を、上下に並べて示してある。各走行情報は、各日の０時から２４時までについて、車両１が走行した（ＩＧスイッチ４がオン状態であった）期間を”走行”のラベルを付した横長の長方形で示し、走行していない（ＩＧスイッチ４がオフ状態であった）期間を横実線で示してある。なお本例では、説明を簡略化するために、３日分の走行情報から非走行時間帯を推定する例を示すが、実際には例えば１ヶ月分又は半年分等のより多くの走行情報を用いて推定処理を行ってよい。
【００６９】
サーバ装置９の非走行時間帯推定部９１ｃは、３日分の走行情報から、車両１が全く走行していない時間帯を抽出する。本例では、１日の中央付近の時間帯と、１日の最初及び次の日の最初の部分に跨った時間帯との２つの時間帯が非走行時間帯として抽出されている。抽出された時間帯が１つであれば、非走行時間帯推定部９１ｃは、抽出された時間帯を非走行時間帯とすればよい。複数の時間帯が抽出された場合、非走行時間帯推定部９１ｃは、これらの時間帯の中から最も時間が長いものを１つ選択し、選択した１つの時間帯を非走行時間帯とする。本例では、１日の中央付近の時間帯を非走行時間帯の推定結果としている。
【００７０】
サーバ装置９の更新タイミング決定部９１ｄは、非走行時間帯推定部９１ｃが推定した非走行時間帯の開始時刻ｔ０及び終了時刻ｔ１に基づいて、非走行時間帯の中央時刻ｔ２＝（ｔ０＋ｔ１）／２を算出する。また更新タイミング決定部９１ｄは、車両１にて更新処理に要する時間Ｔを推定する処理を行う。更新処理に要する時間Ｔは、例えば更新用プログラムのデータサイズに基づいて推定することができる。更新タイミング決定部９１ｄは、非走行時間帯の中央時刻ｔ２が更新処理の時間内に含まれるように、更新開始時刻ｔ３を決定する。本例では、更新開始時刻ｔ３＝ｔ２−Ｔ／２としている。
【００７１】
サーバ装置９の開始指示送信部９１ｅは、更新タイミング決定部９１ｄが決定した更新開始時刻ｔ３に至った場合に車両１へ更新開始指示を送信するか、又は、更新タイミング決定部９１ｄが更新タイミングを決定した後から更新開始時億ｔ３に至るまでの間に、更新開始時刻ｔ３を指定した更新開始指示を車両１へ送信する。
【００７２】
図７は、ゲートウェイ１０が行う走行情報収集及び送信の処理手順を示すフローチャートである。なお本フローチャートは、車両１のＩＧスイッチ４がオン状態である場合を初期状態として処理を示してある。ゲートウェイ１０の処理部１１の走行情報取得部１１ａは、ＩＧスイッチ４から入力されるＩＧ信号を取得し、ＩＧ信号がオン状態からオフ状態へ切り替えられたか否かを判定する（ステップＳ１）。ＩＧ信号がオフ状態へ切り替えられていない場合（Ｓ１：ＮＯ）、走行情報取得部１１ａは、ＩＧ信号がオフ状態へ切り替えられるまで待機する。ＩＧ信号がオフ状態へ切り替えられた場合（Ｓ１：ＹＥＳ）、走行情報取得部１１ａは、ＩＧ信号の切り替えが行われた時刻を取得して、この切替時刻を記憶部１２に走行情報として記憶する（ステップＳ２）。
【００７３】
次いで、走行情報取得部１１ａは、ＩＧ信号がオフ状態からオン状態へ切り替えられたか否かを判定する（ステップＳ３）。ＩＧ信号がオン状態へ切り替えられていない場合（Ｓ３：ＮＯ）、走行情報取得部１１ａは、ＩＧ信号がオン状態へ切り替えられるまで待機する。ＩＧ信号がオン状態へ切り替えられた場合（Ｓ３：ＹＥＳ）、走行情報取得部１１ａは、ＩＧ信号の切り替えが行われた時刻を取得して、この切替時刻を記憶部１２に走行情報として記憶する（ステップＳ４）。また走行情報送信部１１ｂは、記憶部１２に記憶された走行情報を無線通信装置３にてサーバ装置９へ送信し（ステップＳ５）、ステップＳ１へ処理を戻す。
【００７４】
なお図７に示したフローチャートにおいては、ＩＧスイッチ４がオン状態へ切り替えられた際に、サーバ装置９への走行情報の送信を行う構成としてあるが、走行情報の送信は別のタイミングで行ってもよい。
【００７５】
図８は、ゲートウェイ１０が行う更新プログラム取得処理の手順を示すフローチャートである。ゲートウェイ１０の処理部１１の更新用情報取得部１１ｃは、ＩＧスイッチ４から入力されるＩＧ信号を取得し、ＩＧ信号がオフ状態からオン状態へ切り替えられたか否かを判定する（ステップＳ１１）。ＩＧ信号がオン状態へ切り替えられていない場合（Ｓ１１：ＮＯ）、更新用情報取得部１１ｃは、ＩＧ信号がオン状態へ切り替えられるまで待機する。ＩＧ信号がオン状態へ切り替えられた場合（Ｓ１１：ＹＥＳ）、更新用情報取得部１１ｃは、無線通信装置３を介した無線通信を行い、サーバ装置９へ車両１に搭載されたＥＣＵ２のプログラムの更新の有無を問い合わせる（ステップＳ１２）。
【００７６】
更新用情報取得部１１ｃは、問い合わせに対してサーバ装置９から送信される応答を、無線通信装置３を介して受信する（ステップＳ１３）。この応答には、更新の有無の他に、更新が必要なプログラムに係る情報、例えばプログラムの識別情報及びデータ量等の情報が含まれている。更新用情報取得部１１ｃは、サーバ装置９からの応答に基づいて、車両１に搭載されたＥＣＵ２のプログラムの更新の有無を判定する（ステップＳ１４）。更新がない場合（Ｓ１４：ＮＯ）、更新用情報取得部１１ｃは、ステップＳ１１へ処理を戻す。更新がある場合（Ｓ１４：ＹＥＳ）、更新用情報取得部１１ｃは、サーバ装置９へ更新用プログラムの送信を要求する（ステップＳ１５）。更新用情報取得部１１ｃは、要求に応じてサーバ装置９から送信される更新用プログラムを、無線通信装置３を介して受信し（ステップＳ１６）、受信した更新用プログラムを記憶部１２に記憶して（ステップＳ１７）、ステップＳ１１へ処理を戻す。
【００７７】
図９及び図１０は、ゲートウェイ１０が行う更新処理の手順を示すフローチャートである。ゲートウェイ１０の処理部１１の開始指示受信部１１ｄは、サーバ装置９から送信される更新処理の開始指示を、無線通信装置３にて受信したか否かを判定する（ステップＳ２１）。更新処理の開始指示を受信していない場合（Ｓ２１：ＮＯ）、開始指示受信部１１ｄは、サーバ装置９からの開始指示を受信するまで待機する。更新処理の開始指示を受信した場合（Ｓ２１：ＹＥＳ）、処理部１１のＩＧ状態取得部１１ｅは、ＩＧスイッチ４から入力されるＩＧ信号を取得して、ＩＧ信号がオフ状態であるか否かを判定する（ステップＳ２２）。ＩＧ信号がオン状態である場合（Ｓ２２：ＮＯ）、ＩＧ状態取得部１１ｅは、ステップＳ２１へ処理を戻す。なおこのときにゲートウェイ１０は、更新処理を行うことができなかった旨をサーバ装置９へ通知してもよい。
【００７８】
ＩＧ信号がオフ状態である場合（Ｓ２２：ＹＥＳ）、処理部１１のバッテリ情報取得部１１ｆは、バッテリ検知部６から入力されるバッテリ５の蓄積電力量を取得する（ステップＳ２３）。処理部１１の更新可否判定部１１ｇは、ステップＳ２３にて取得したバッテリ５の蓄積電力量が所定の閾値を超えるか否かに基づいて、更新処理を行うことができるか否かを判定する（ステップＳ２４）。更新処理を行うことができると判定した場合（Ｓ２４：ＹＥＳ）、処理部１１は、車内通信部１３にて、更新処理を行うＥＣＵ２に対して更新処理を行う旨を通知する（ステップＳ２５）。
【００７９】
次いで処理部１１のＩＧ状態取得部１１ｅは、ＩＧスイッチ４から入力されるＩＧ信号を取得して、ＩＧ信号がオン状態であるか否かを判定する（ステップＳ２２）。ＩＧ信号がオン状態でない場合（Ｓ２６：ＮＯ）、処理部１１の更新用情報送信部１１ｈは、記憶部１２に記憶された更新用のプログラムを読み出して、更新対象のＥＣＵ２へ送信する（ステップＳ２７）。このときに更新用情報送信部１１ｈは、記憶部４２に記憶された更新用のプログラムを所定のデータサイズに分割し、分割した更新用のプログラムを順次的にＥＣＵ２へ送信する。更新用情報送信部１１ｈは、記憶部１２に記憶されている更新用プログラムのＥＣＵ２への送信を完了したか否かを調べることにより、ＥＣＵ２の更新処理が完了したか否かを判定する（ステップＳ２９）。更新処理が完了していない場合（Ｓ２９：ＮＯ）、処理部１１は、ステップＳ２６へ処理を戻す。
【００８０】
またステップＳ２６にて、ＩＧ信号がオン状態である場合（Ｓ２６：ＹＥＳ）、処理部１１の更新中断部１１ｊは、更新用情報送信部１１ｈによる更新用プログラムの送信を中断し、更新処理を中断する旨をＥＣＵ２へ通知する処理を行う（ステップＳ２８）。更新中断部１１ｊは、ＩＧ信号がオフ状態となり、更新処理を中断する要因がなくなった場合、更新処理を中断したＥＣＵ２に対して更新処理を行う旨の通知を再送し、ステップＳ２６へ処理を戻す。処理部１１は、更新用プログラムのＥＣＵ２への送信と、必要に応じて送信の中断とを行いながら、更新用プログラムのＥＣＵ２への送信を継続して行う。更新処理が完了した場合（Ｓ２９：ＹＥＳ）、処理部１１は、更新完了した更新用プログラムを記憶部１２から消去する（ステップＳ３０）。処理部１１は、無線通信装置３にて更新完了をサーバ装置９へ通知して（ステップＳ３１）、ステップＳ２１へ処理を戻す。
【００８１】
またステップＳ２４にて、バッテリ５の蓄積電力量に基づき更新処理を行うことができないと判定した場合（Ｓ２４：ＮＯ）、処理部１１のＩＧ状態取得部１１ｅは、ＩＧスイッチ４から入力されるＩＧ信号を取得して、ＩＧ信号がオン状態であるか否かを判定する（ステップＳ３２）。ＩＧ信号がオン状態でない場合（Ｓ３２：ＮＯ）、処理部１１は、ＩＧ信号がオン状態となるまで待機する。ＩＧ信号がオン状態である場合（Ｓ３２：ＹＥＳ）、処理部１１の選択受付部１１ｉは、車内通信部１３にて表示装置７へメッセージの表示命令を送信することにより、更新処理を行うか否かの選択を促すメッセージを表示装置７に表示する（ステップＳ３３）。選択受付部１１ｉは、表示装置７の操作部に対する操作内容を表示装置７から受信することにより、更新処理を行うか否かの選択操作を受け付ける（ステップＳ３４）。
【００８２】
処理部１１は、選択受付部１１ｉが受け付けた選択に基づいて、更新処理が許可されたか否かを判定する（ステップＳ３５）。更新処理が許可された場合（Ｓ３５：ＹＥＳ）、処理部１１の更新用情報送信部１１ｈは、記憶部１２に記憶された更新用のプログラムを読み出して、更新対象のＥＣＵ２へ送信する（ステップＳ３６）。更新用情報送信部１１ｈは、記憶部１２に記憶されている更新用プログラムのＥＣＵ２への送信を完了したか否かを調べることにより、ＥＣＵ２の更新処理が完了したか否かを判定する（ステップＳ３７）。更新処理が完了していない場合（Ｓ３７：ＮＯ）、処理部１１は、ステップＳ３６へ処理を戻す。更新処理を完了した場合（Ｓ３７：ＹＥＳ）、処理部１１は、更新完了した更新用プログラムを記憶部１２から消去する（ステップＳ３８）。処理部１１は、無線通信装置３にて更新完了をサーバ装置９へ通知して（ステップＳ３９）、ステップＳ２１へ処理を戻す。
【００８３】
また、更新処理が許可されなかった場合（Ｓ３５：ＮＯ）、処理部１１は、更新処理が未完了である旨の通知を、無線通信装置３にてサーバ装置９へ送信し（ステップＳ４０）、ステップＳ２１へ処理を戻す。
【００８４】
図１１及び図１２は、サーバ装置９が行う処理の手順を示すフローチャートである。なおサーバ装置９は、管理対象となる各車両１について、本図のフローチャートに示された処理を個別に行っている。サーバ装置９の処理部９１の走行情報受信部９１ｂは、車両１から送信される走行情報を受信したか否かを判定する（ステップＳ５１）。走行情報を受信していない場合（Ｓ５１：ＮＯ）、走行情報受信部９１ｂは、ステップＳ５３へ処理を進める。走行情報を受信した場合（Ｓ５１：ＹＥＳ）、走行情報受信部９１ｂは、受信した走行情報を、記憶部９２の走行情報ＤＢ９２ｃに記憶して（ステップＳ５２）、ステップＳ５３へ処理を進める。
【００８５】
次いで処理部９１は、車両１からＥＣＵ２のプログラムの更新有無の問合わせを受信したか否かを判定する（ステップＳ５３）。問合わせを受信していない場合（Ｓ５３：ＮＯ）、処理部９１は、ステップＳ５６へ処理を進める。問合わせを受信した場合（Ｓ５３：ＹＥＳ）、処理部９１は、記憶部９２の車両情報ＤＢ９２ｂを参照することによって、問合わせに係る車両１のＥＣＵ２のプログラムについての更新の有無を調査する（ステップＳ５４）。処理部９１は、調査結果として得られた更新の有無を応答として問合わせ元の車両１へ送信し（ステップＳ５５）、ステップＳ５６へ処理を進める。
【００８６】
次いで処理部９１は、車両１から更新用プログラムの送信要求を受信したか否かを判定する（ステップＳ５６）。送信要求を受信していない場合（Ｓ５６：ＮＯ）、処理部９１は、ステップＳ５１へ処理を戻す。送信要求を受信した場合（Ｓ５６：ＹＥＳ）、処理部９１の更新用情報送信部９１ａは、要求元の車両１のＥＣＵ２にて更新処理を行うべき更新用プログラムを記憶部９２の更新用プログラムＤＢ９２ａから読み出して、要求元の車両１へ送信する（ステップＳ５７）。処理部９１の非走行時間帯推定部９１ｃは、走行情報ＤＢ９２ｃに記憶された走行情報を基に、更新用プログラムを送信した車両１について非走行時間帯（走行しない可能性が高い時間帯）を推定する処理を行う（ステップＳ５８）。処理部９１の更新タイミング決定部９１ｄは、非走行時間帯推定部９１ｃが推定した非走行時間帯に基づいて、更新処理を行うタイミングを決定する（ステップＳ５９）。
【００８７】
処理部９１は、自身が有する計時機能により計時された時刻と、ステップＳ５９にて更新タイミングとして決定された時刻とを比較することにより、決定された更新タイミングに至ったか否かを判定する（ステップＳ６０）。更新タイミングに至っていない場合（Ｓ６０：ＮＯ）、処理部９１は、更新タイミングに至るまで待機する。更新タイミングに至った場合（Ｓ６０：ＹＥＳ）、処理部９１の開始指示送信部９１ｅは、更新用プログラムを送信した車両１に対して開始指示を送信する（ステップＳ６１）。
【００８８】
その後、処理部９１は、車両１から更新処理完了の通知を受信したか否かに応じて、更新処理が完了したか否かを判定する（ステップＳ６２）。更新処理が完了していない場合（Ｓ６２：ＮＯ）、処理部９１は、更新処理が完了するまで待機する。更新処理が完了した場合（Ｓ６２：ＹＥＳ）、処理部９１は、プログラムの更新が完了した旨を記録するため、記憶部９２の車両情報ＤＢ９２ｂを更新し（ステップＳ６３）、ステップＳ５１へ処理を戻す。なお本フローチャートにおいては図示を省略するが、車両１から更新処理が未完了である旨の通知を受信した場合、処理部９１は、ステップＳ５８へ処理を戻し、非走行時間帯の推定及び更新タイミングの決定等を新たに行って、同様の処理を行えばよい。
【００８９】
図１３は、ＥＣＵ２が行う更新処理の手順を示すフローチャートである。ＥＣＵ２の処理部２１は、記憶部２２に記憶されたプログラム２２ａの更新処理を行う旨の通知をゲートウェイ１０から受信したか否かを判定する（ステップＳ７１）。通知を受信していない場合（Ｓ７１：ＮＯ）、処理部２１は、更新処理を行う旨の通知を受信するまで待機する。更新処理を行う旨の通知を受信した場合Ｓ（７１：ＹＥＳ）、処理部２１は、記憶部２２に記憶されたプログラム２２ａによる通常の処理を停止し（ステップＳ７２）、通常の動作モードから更新処理を行うモードへと切り替わる。
【００９０】
処理部２１の更新用情報受信部２１ａは、ゲートウェイ１０から送信される更新用プログラム（所定のデータサイズに分割された更新用プログラム）を受信したか否かを判定する（ステップＳ７３）。更新用プログラムを受信した場合（Ｓ７３：ＹＥＳ）、処理部２１の更新用情報書込処理部２１ｂは、受信した更新用プログラムを、記憶部２２の空き領域２２ｂへ書き込む（ステップＳ７５）。処理部２１は、ゲートウェイ１０から受信すべき更新用プログラムの全てを受信して書き込みを完了したか否かを判定する（ステップＳ７６）。更新用プログラムの全てについての書き込みが完了していない場合（Ｓ７６：ＮＯ）、処理部２１は、ステップＳ７３へ処理を戻す。更新用プログラムの全ての書き込みが完了した場合（Ｓ７６：ＹＥＳ）、処理部２１の更新処理部２１ｃは、記憶部２２に記憶されている更新前のプログラム２２ａを無効化し、新たに記憶した更新用プログラム２２ａを有効化することによって、処理部２１が実行するプログラム２２ａの切り替えを行い（ステップＳ７７）、ステップＳ７１へ処理を戻す。これによりＥＣＵ２は、更新処理を行うモードから、更新されたプログラム２２ａによる通常動作モードへと切り替わる。
【００９１】
ゲートウェイ１０から更新用プログラムを受信していない場合（Ｓ７３：ＮＯ）、処理部２１は、ゲートウェイ１０から更新処理を中断する旨の通知を受信したか否かを判定する（ステップＳ７４）。中断の通知を受信していない場合（Ｓ７４：ＮＯ）、処理部２１は、ステップＳ７３へ処理を戻し、ゲートウェイ１０から更新用プログラム又は更新処理中断の通知を受信するまで待機する。更新処理を中断する旨の通知を受信した場合（Ｓ７４：ＹＥＳ）、処理部２１の復帰処理部２１ｄは、更新用プログラムの受信及び書き込みを中断して、記憶部２２に記憶されている更新前のプログラム２２ａによる動作に復帰する処理を行い（ステップＳ７８）、ステップＳ７１へ処理を戻す。これによりＥＣＵ２は、更新処理を行うモードから、更新前のプログラム２２ａによる通常動作モードへと切り替わる。
【００９２】
以上の構成の本実施の形態に係る車載更新システムは、車両１に搭載されたＥＣＵ２の記憶部２２に記憶されたプログラム２２ａの更新処理をゲートウェイ１０が行う。ゲートウェイ１０は、車両１外に設置されたサーバ装置９から更新用プログラムを取得する。ゲートウェイ１０は、更新処理の対象となるＥＣＵ２が複数である場合、各ＥＣＵ２について更新用プログラムをそれぞれ取得する。ただし１つの更新用プログラムを用いて、複数のＥＣＵ２の更新処理を行ってもよい。ゲートウェイ１０は、所定のタイミングでサーバ装置から取得した更新用プログラムを更新対象のＥＣＵ２へ送信する。ゲートウェイ１０から更新用プログラムを受信したＥＣＵ２は、受信した更新用プログラムを記憶部１２に書き込むことによって、プログラム２２ａを更新する。またゲートウェイ１０がサーバ装置９から更新用プログラムを取得するタイミングと、ゲートウェイ１０がＥＣＵ２へ更新用プログラムを送信するタイミングとは、別であってよい。例えばゲートウェイ１０は、車両１の走行中にサーバ装置９から更新用プログラムを取得して記憶部１２に記憶して置き、車両１が停車してエンジンが停止された後に記憶しておいた更新用プログラムを更新対象のＥＣＵ２へ送信することができる。
【００９３】
本実施の形態に係る車載更新システムでは、ゲートウェイ１０が更新用プログラムを更新対象のＥＣＵ２へ送信するタイミング、即ちＥＣＵ２の更新処理を行うタイミングを、サーバ装置９が決定する。このためにゲートウェイ１０は、車両１の走行情報を取得してサーバ装置９へ送信する処理を行う。サーバ装置９は、ゲートウェイ１０から受信した走行情報に基づいて、更新処理を行うタイミングを決定し、ゲートウェイ１０へ更新処理の開始指示を送信する。ゲートウェイ１０は、サーバ装置９からの開始指示を受信し、受信した開始指示に応じてＥＣＵ２への更新用プログラムの送信を開始し、ＥＣＵ２の更新処理を開始する。
【００９４】
なお、更新処理を行うタイミングを決定したサーバ装置９は、決定したタイミングに開始指示をゲートウェイ１０へ送信し、開始指示の受信後すぐに又は遅滞なくゲートウェイ１０がＥＣＵ２の更新処理を開始する構成とすることができる。また、更新処理を行うタイミングを決定したサーバ装置９は、例えば更新処理を行う時刻を指定した開始指示を、その時刻より前の時点でゲートウェイ１０へ送信して置き、開始指示を受信したゲートウェイ１０が指定された時刻に更新処理を開始する構成とすることもできる。この場合にサーバ装置９は、更新用プログラムの送信を行う際に、更新用プログラムと共に更新処理を行うタイミングを指定した開始指示をゲートウェイ１０へ送信してもよい。
【００９５】
これにより本実施の形態に係る車載更新システムは、サーバ装置９が車両１の走行情報を蓄積し、ＥＣＵ２の更新処理を行う適切なタイミング（例えば車両１が走行しない可能性が高い時間帯など）を決定してゲートウェイ１０へ開始指示を送信し、このタイミングでゲートウェイ１０がＥＣＵ２の更新処理を行うことができる。車両１の走行情報に基づいてＥＣＵ２の更新処理を行うタイミングを決定することによって、更新処理を行うことによるユーザの車両１の使用に関する利便性の低下を防止することができる。
【００９６】
また本実施の形態においてサーバ装置９は、ゲートウェイ１０から受信した情報を記憶部９２の走行情報ＤＢ９２ｃに蓄積して記憶しておき、蓄積した走行情報に基づいて車両１が走行しない時間帯を推定する。例えばサーバ装置９は、蓄積した所定日数分（例えば１ヶ月分など）の走行情報に基づいて、この期間中に車両１が走行しなかった時間帯を抽出する。抽出した時間帯が１つであれば、サーバ装置９はこの時間帯を車両１が走行しない時間帯と推定することができる。抽出した時間帯が複数存在する場合、サーバ装置９は、最も長い時間帯を選択して、この時間帯を車両１が走行しない時間帯の推定結果とする。そしてサーバ装置９は、推定した時間帯の中央の時点を算出し、この中央時点の前後の所定時間範囲内で更新処理を行うタイミングを決定する。所定時間範囲は、例えばＥＣＵ２の更新処理に必要な時間とすることができる。これらによりサーバ装置９は、車両１が走行しない可能性が高い時間帯に更新処理を行うようゲートウェイ１０へ更新処理の開始指示を送信することができる。
【００９７】
また本実施の形態においては、ゲートウェイ１０が車両１のバッテリ５の蓄積電力量の情報を取得し、更新処理を行う前にバッテリ５の蓄積電力量に応じて更新処理が可能であるか否かを判定する。ゲートウェイ１０は、例えばバッテリ５の蓄積電力量が予め定められた閾値を超えるか否かに応じて、更新処理を行うことが可能であるか否かを判定するゲートウェイ１０は、バッテリ５の蓄積電力量に基づいて更新処理が可能であると判定した場合に、更新用プログラムのＥＣＵ２への送信を開始する。これにより、例えば更新処理の途中でバッテリ切れなどが発生することを防止できる。
【００９８】
また本実施の形態においては、ゲートウェイ１０が車両１のＩＧスイッチが出力するＩＧ信号の状態を取得する。ゲートウェイ１０は、バッテリ５の蓄積電力量に応じて更新処理が不可能であると判定した後、ＩＧ信号がオフ状態からオン状態へ変化した場合に、行うことができなかった更新処理を試みる。ただしＩＧ信号がオン状態へ変化した場合には、ユーザが車両１を走行させようとしている可能性があり、更新処理を行うと更新処理完了までは車両１を走行させることができなくなるため、ゲートウェイ１０は、更新処理を行うことを許可するか否かをユーザに問合わせ、許可するか否かの選択を受け付ける。ゲートウェイ１０は、受け付けた選択に基づき、更新処理を行う許可が得られた場合にＥＣＵ２の更新処理を開始する。これにより、更新処理がユーザによる車両１の使用の妨げとなることを防止できる。
【００９９】
また本実施の形態においては、ＥＣＵ２の更新処理を行うタイミングに至った際にＩＧ信号がオン状態である場合又は更新処理を行っている途中でＩＧ信号がオン状態となった場合、ゲートウェイ１０は、更新用プログラムのＥＣＵ２への送信を中断し、更新対象のＥＣＵ２を更新前のプログラム２２ａによる動作に復帰させる。これにより、更新処理の途中であってもユーザは車両１を使用することが可能となる。
【０１００】
なお本実施の形態においては、車両１に搭載されたゲートウェイ１０がサーバ装置９からの更新用のプログラムの取得及び各ＥＣＵ２への更新用のプログラムの送信等を行う構成、即ちゲートウェイ１０が車載更新装置として機能する構成としたが、これに限るものではない。ゲートウェイ１０以外の車載機器、例えばいずれかのＥＣＵ２が車載更新装置としての処理を行う構成としてもよい。また更新用のプログラムを無線通信にて車外のサーバ装置９から取得する構成としたが、これに限るものではない。例えば更新用のプログラムが記録された記録媒体をゲートウェイ１０が読み込むことによって更新用のプログラムを取得する構成としてもよい。また更新対象の通信装置をＥＣＵ２としたが、これに限るものではなく、ＥＣＵ２以外の種々の通信装置を更新処理の対象としてよい。
【０１０１】
また更新用プログラムをゲートウェイ１０へ送信する処理を行うサーバ装置と、車両１の走行情報の蓄積及び走行情報に基づく更新処理のタイミングの決定等を行うサーバ装置とは、別のサーバ装置であってもよい。また図６に示した非走行時間帯の推定及び更新タイミングの決定は、一例であって、これに限るものではない。例えばサーバ装置９は、図６の時刻ｔ２又はｔ０等を更新タイミングとしてもよい。
【０１０２】
（変形例）
上述の実施の形態においては、走行情報の蓄積及び更新処理タイミングの決定等を車両１外のサーバ装置９が行う構成としたが、これに限るものではない。
図１４は、変形例に係るゲートウェイ１１０の構成を示すブロック図である。変形例に係る車載更新システムでは、走行情報の蓄積及び更新処理タイミングの決定等を車両１に搭載されたゲートウェイ１１０が行う構成である。変形例に係るゲートウェイ１１０は、図４に示したゲートウェイ１０の走行情報送信部１１ｂ及び開始指示受信部１１ｄが処理部１１１に設けられず、これに代えて非走行時間帯推定部１１１ｋ及び更新タイミング決定部１１１ｌが処理部１１１に設けられた構成である。また変形例に係るゲートウェイ１１０の記憶部１１２には走行情報ＤＢ１１２ａが設けられている。
【０１０３】
変形例に係るゲートウェイ１１０は、走行情報取得部１１ａが取得した走行情報を、記憶部１２に設けられた走行情報ＤＢ１１２ａに記憶して蓄積する。非走行時間帯推定部１１１ｋは、走行情報ＤＢ１１２ａに蓄積された各車両１の走行情報に基づいて、車両１が走行しない可能性が高い時間帯を推定する処理を行う。更新タイミング決定部１１１ｌは、非走行時間帯推定部１１１ｋが推定した時間帯に含まれる所定のタイミングを、車両１の更新処理を行うタイミングとして決定する処理を行う。ゲートウェイ１１０は、更新タイミング決定部１１１ｌが決定したタイミングに至った場合に、サーバ装置９から取得した更新用プログラムのＥＣＵ２への送信を開始し、更新処理を開始する。
【０１０４】
以上の構成の変形例に係る車載更新システムは、走行情報の記憶及び走行情報に基づく更新処理のタイミングの決定等の処理を、サーバ装置９ではなく、ゲートウェイ１１０が行う構成である。これにより、ゲートウェイ１１０がサーバ装置９との通信を頻繁に行うことができない艦橋であっても、更新処理を行うタイミングを適切に決定することができる。
【符号の説明】
【０１０５】
１  車両
１ａ〜１ｃ  通信線
２  ＥＣＵ（通信装置）
３  無線通信装置
４  ＩＧスイッチ
５  バッテリ
６  バッテリ検知部
９  サーバ装置
１０  ゲートウェイ（車載更新装置）
１１  処理部
１１ａ  走行情報取得部
１１ｂ  走行情報送信部
１１ｃ  更新用情報取得部
１１ｄ  開始指示受信部
１１ｅ  ＩＧ状態取得部
１１ｆ  バッテリ情報取得部
１１ｇ  更新可否判定部
１１ｈ  更新用情報送信部
１１ｉ  選択受付部
１１ｊ  更新中断部
１２  記憶部
１３  車内通信部
２１  処理部
２１ａ  更新用情報受信部
２１ｂ  更新用情報書込処理部
２１ｃ  更新処理部
２１ｄ  復帰処理部
２２  記憶部
２２ａ  プログラム
２２ｂ  空き領域
２３  通信部
９１  処理部
９１ａ  更新用情報送信部
９１ｂ  走行情報受信部
９１ｃ  非走行時間帯推定部
９１ｄ  更新タイミング決定部
９１ｅ  開始指示送信部
９２  記憶部
９２ａ  更新用プログラムＤＢ
９２ｂ  車両情報ＤＢ
９２ｃ  走行情報ＤＢ（走行情報記憶部）
９３  通信部
１１０  ゲートウェイ（車載更新装置）
１１１  処理部
１１１ｋ  非走行時間帯推定部
１１１ｌ  更新タイミング決定部
１１２  記憶部
１１２ａ  走行情報ＤＢ
【図１】
2018037022.tif 000003
【図２】
2018037022.tif 000004
【図３】
2018037022.tif 000005
【図４】
2018037022.tif 000006
【図５】
2018037022.tif 000007
【図６】
2018037022.tif 000008
【図７】
2018037022.tif 000009
【図８】
2018037022.tif 000010
【図９】
2018037022.tif 000011
【図１０】
2018037022.tif 000012
【図１１】
2018037022.tif 000013
【図１２】
2018037022.tif 000014
【図１３】
2018037022.tif 000015
【図１４】
2018037022.tif 000016