(57)【特許請求の範囲】
【請求項１】
車両に搭載される制御装置のプログラムを提供するサーバ装置であって、
前記車両に搭載される車載装置へ更新用プログラムを送信する送信手段と、
前記車両と前記車両のユーザとの距離を検出する距離検出手段と、
前記距離検出手段により検出された距離が前記プログラムの更新時間及び容量のいずれかに応じて定められる第１の距離以上の場合に、前記更新用プログラムにより前記プログラムの更新を行うよう前記車載装置へ指示する更新指示手段と、
を備えたことを特徴とするサーバ装置。
【請求項２】
請求項１に記載のサーバ装置において、
前記距離検出手段により検出された距離が前記第１の距離以上の場合に、前記ユーザが所持する可搬性装置へ前記プログラムの更新を許可するよう通知する第１通知手段と、
前記第１通知手段により通知された前記可搬性装置からの前記プログラムの更新を許可する許可信号を受信する受信手段と、
をさらに備え、
前記更新指示手段は、前記受信手段が前記許可信号を受信した場合に、前記更新用プログラムにより前記プログラムの更新を行うよう前記車載装置へ指示することを特徴とするサーバ装置。
【請求項３】
請求項１または２に記載のサーバ装置において、
前記プログラムの更新中に、前記距離検出手段により前記車両と前記車両のユーザとの距離が第２の距離以下と検出された場合に、前記プログラムの更新中である旨を前記ユーザに通知する第２通知手段と、
をさらに備えたことを特徴とするサーバ装置。
【請求項４】
請求項１ないし３のいずれかに記載のサーバ装置において、
前記プログラムの更新中に、前記距離検出手段により前記車両と前記車両のユーザとの距離が第３の距離以下と検出された場合に、前記プログラムの更新の中断を指示する中断指示手段と、
をさらに備えたことを特徴とするサーバ装置。
【請求項５】
請求項１ないし４のいずれかに記載のサーバ装置において、
前記距離検出手段は、前記車載装置から送信される前記車両の位置を示す信号と、前記ユーザが所持する可搬性装置から送信される前記可搬性装置の位置を示す信号とに基づいて、前記距離を検出することを特徴とするサーバ装置。
【請求項６】
プログラムの提供を行うプログラム提供システムであって、
車両に搭載される車載装置と、
前記車両に搭載される制御装置のプログラムの更新を行うよう前記車載装置へ指示するサーバ装置と、
を備え、
前記サーバ装置は、
前記車載装置へ更新用プログラムを送信する送信手段と、
前記車両と前記車両のユーザとの距離を検出する距離検出手段と、
前記距離検出手段により検出された距離が前記プログラムの更新時間及び容量のいずれかに応じて定められる第１の距離以上の場合に、前記更新用プログラムにより前記プログラムの更新を指示する指示信号を前記車載装置へ送信する更新指示手段と、
を備え、
前記車載装置は、
前記送信手段により送信された更新用プログラムを保存する保存手段と、
前記更新指示手段による前記指示信号を受信する受信手段と、
前記受信手段により前記指示信号を受信すると、前記保存手段に保存した更新用プログラムにより前記プログラムの更新を実行する更新実行手段と、
を備えたことを特徴とするプログラム提供システム。
【請求項７】
車両に搭載される制御装置のプログラムを提供するプログラム提供方法であって、
送信手段が、前記車両に搭載される車載装置へ更新用プログラムを送信する工程と、
距離検出手段が、前記車両と前記車両のユーザとの距離を検出する工程と、
更新指示手段が、前記距離が前記プログラムの更新時間及び容量のいずれかに応じて定められる第１の距離以上の場合に、前記更新用プログラムにより前記プログラムの更新を行うよう前記車載装置へ指示する工程と、
を実行することを特徴とするプログラム提供方法。
【請求項８】
車両に搭載される制御装置のプログラムを提供するサーバ装置に含まれるコンピュータによって実行可能なサーバ装置用プログラムであって、
前記コンピュータを、
前記車両に搭載される車載装置へ更新用プログラムを送信する送信手段と、
前記車両と前記車両のユーザとの距離を検出する距離検出手段と、
前記距離が前記プログラムの更新時間及び容量のいずれかに応じて定められる第１の距離以上の場合に、前記更新用プログラムにより前記制御装置のプログラムの更新を行うよう前記車載装置へ指示する更新指示手段として、
機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載される車載装置のプログラムを提供する技術に関する。
【背景技術】
【０００２】
近年、例えばエンジン制御装置やナビゲーション装置などの車両に搭載される制御装置においては、プログラムを実行することにより各種の機能が実現されている。このような制御装置のプログラムは、機能を追加する場合や事後的に不具合が発見された場合などにおいて、更新（リプログラミング）が必要となる場合がある。従来より、このような制御装置のプログラムの更新を、ネットワークを介して行う技術が提案されている。例えば特許文献１は、ナビゲーション装置に対し、ネットワークを介してプログラムを更新する技術を開示し、車両の走行中に不用意にプログラムが更新されないよう、車両が自宅等において駐車中にプログラムの更新を行うことを提案している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２４３３３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の装置は、ネットワークを介してプログラムの更新を行う技術を開示するが、今後、機能が複雑化して更新すべきプログラムの容量が増大するにつれ、更新時間も長時間化することが考えられる。このため、プログラムの更新中に、車両のユーザが車両に搭載される機器を不用意に操作する可能性も高くなる。
【０００５】
プログラムの更新中に、車両のユーザが車両の機器を操作した場合においては、車両のバッテリから供給される電圧が変動する。その結果、プログラムを更新する更新装置の動作が不安定となる場合があり、プログラムの更新が正常に完了しないおそれがある。
【０００６】
本発明は、上記課題に鑑みてなされたものであり、車両に搭載される制御装置のプログラムの更新中に、ユーザが車両機器の操作をすることを防止する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、請求項１の発明は、車両に搭載される制御装置のプログラムを提供するサーバ装置であって、前記車両に搭載される車載装置へ更新用プログラムを送信する送信手段と、前記車両と前記車両のユーザとの距離を検出する距離検出手段と、前記距離検出手段により検出された距離が前記プログラムの更新時間及び容量のいずれかに応じて定められる第１の距離以上の場合に、前記更新用プログラムにより前記プログラムの更新を行うよう前記車載装置へ指示する更新指示手段と、を備えている。
【０００８】
また、請求項２の発明は、請求項１に記載のサーバ装置において、前記距離検出手段により検出された距離が前記第１の距離以上の場合に、前記ユーザへ前記プログラムの更新を許可するよう通知する第１通知手段と、前記第１通知手段により通知されたユーザからの前記プログラムの更新を許可する許可信号を受信する受信手段と、をさらに備え、前記更新指示手段は、前記受信手段が前記許可信号を受信した場合に、前記更新用プログラムにより前記プログラムの更新を行うよう前記車載装置へ指示する。
【００１１】
また、請求項３の発明は、請求項１または２に記載のサーバ装置において、前記プログラムの更新中に、前記距離検出手段により前記車両と前記車両のユーザとの距離が第２の距離以下と検出された場合に、前記プログラムの更新中である旨を前記ユーザに通知する第２通知手段と、をさらに備えている。
【００１２】
また、請求項４の発明は、請求項１ないし３のいずれかに記載のサーバ装置において、前記プログラムの更新中に、前記距離検出手段により前記車両と前記車両のユーザとの距離が第３の距離以下と検出された場合に、前記プログラムの更新の中断を指示する中断指示手段と、をさらに備えている。
【００１３】
また、請求項５の発明は、請求項１ないし４のいずれかに記載のサーバ装置において、前記距離検出手段は、前記車載装置から送信される前記車両の位置を示す信号と、前記ユーザが所持する可搬性装置から送信される前記可搬性装置の位置を示す信号とに基づいて、前記距離を検出する。
【００１４】
また、請求項６の発明は、プログラムの提供を行うプログラム提供システムであって、車両に搭載される車載装置と、前記車両に搭載される制御装置のプログラムの更新を行うよう前記車載装置へ指示するサーバ装置と、を備え、前記サーバ装置は、前記車載装置へ更新用プログラムを送信する送信手段と、前記車両と前記車両のユーザとの距離を検出する距離検出手段と、前記距離検出手段により検出された距離が前記プログラムの更新時間及び容量のいずれかに応じて定められる第１の距離以上の場合に、前記更新用プログラムにより前記プログラムの更新を指示する指示信号を前記車載装置へ送信する更新指示手段と、を備え、前記車載装置は、前記送信手段により送信された更新用プログラムを保存する保存手段と、前記更新指示手段による前記指示信号を受信する受信手段と、前記受信手段により前記指示信号を受信すると、前記保存手段に保存した更新用プログラムにより前記プログラムの更新を実行する更新実行手段と、を備えている。
【００１５】
また、請求項７の発明は、車両に搭載される制御装置のプログラムを提供するプログラム提供方法であって、送信手段が、前記車両に搭載される車載装置へ更新用プログラムを送信する工程と、前記距離検出手段が、前記車両と前記車両のユーザとの距離を検出する工程と、更新指示手段が、前記距離が前記プログラムの更新時間及び容量のいずれかに応じて定められる第１の距離以上の場合に、前記更新用プログラムにより前記プログラムの更新を行うよう前記車載装置へ指示する工程と、を実行する。
【００１６】
また、請求項８の発明は、車両に搭載される制御装置のプログラムを提供するサーバ装置に含まれるコンピュータによって実行可能なサーバ装置用プログラムであって、前記コンピュータを、前記車両に搭載される車載装置へ更新用プログラムを送信する送信手段と、前記車両と前記車両のユーザとの距離を検出する距離検出手段と、前記距離が前記プログラムの更新時間及び容量のいずれかに応じて定められる第１の距離以上の場合に、前記更新用プログラムにより前記制御装置のプログラムの更新を行うよう前記車載装置へ指示する更新指示手段として、機能させる。
【発明の効果】
【００１７】
請求項１ないし８の発明によれば、車両と車両のユーザとの距離を検出し、検出された距離がプログラムの更新時間及び容量のいずれかに応じて定められる第１の距離以上の場合に、更新用プログラムによりプログラムの更新を行うよう車載装置へ指示する。これにより、ユーザが車両から十分離れている場合にプログラムの更新を指示するので、プログラムの更新中にユーザが車両に乗り込み、車両機器の操作をすることがないため、有効にプログラムの更新を完了できる。
【００１８】
また、特に請求項２の発明によれば、サーバ装置がプログラム更新を指示する前に、ユーザからプログラム更新の許可を得るので、ユーザが車両へ乗車予定である場合に、有効にプログラムの更新の開始を回避できる。
【００２１】
また、特に請求項３の発明によれば、プログラム更新中にユーザが車両に接近すると、プログラムの更新中である旨をユーザに通知するので、プログラム更新中にユーザが車両機器の操作を行うことがない。
【００２２】
また、特に請求項４の発明によれば、プログラム更新中にユーザが車両に接近するとプログラムの更新を中断するので、ユーザが車両機器の操作を行うことに起因するプログラムの誤更新を防止できる。
【００２３】
また、特に請求項５の発明によれば、車両とユーザとの距離を正確に検出することができる。
【図面の簡単な説明】
【００２４】
【図１】図１は、プログラム提供システムの概要を示す図である。
【図２】図２は、サーバ装置の構成を示す図である。
【図３】図３は、車載装置の構成を示す図である。
【図４】図４は、携帯機器の構成を示す図である。
【図５】図５は、サーバ装置におけるプログラムの提供処理の流れを示す図である。
【図６】図６は、サーバ装置におけるプログラムの提供処理の流れを示す図である。
【図７】図７は、サーバ装置におけるプログラムの提供処理の流れを示す図である。
【図８】図８は、プログラムの更新中を通知する一例を示す図である。
【図９】図９は、車載装置におけるプログラムの更新処理の流れを示す図である。
【図１０】図１０は、第２の実施の形態の車載装置の構成を示す図である。
【図１１】図１１は、第２の実施の形態の車載装置の処理の流れを示す図である。
【発明を実施するための形態】
【００２５】
以下、図面を参照しつつ本発明の実施の形態について説明する。
【００２６】
＜１．第１の実施の形態＞
＜１−１．システム構成＞
図１は、本実施の形態に係るプログラム提供システム１００の概要を示す図である。
【００２７】
プログラム提供システム１００は、自動車等の車両１に情報を提供するための機関である情報提供センター２に設けられるサーバ装置３、車両１に搭載される車載装置４、及び車両１のユーザ５の携帯する携帯機器６とを備えている。
【００２８】
サーバ装置３、車載装置４、及び携帯機器６は、インターネット等のネットワーク７を介し、互いに通信可能となっている。携帯機器６を携帯するユーザ５は、車両１の乗車者（代表的には運転者）や車両１の操作者であり、車両１のドアロックやエンジンスタータ、オーディオ機器等の車載機器を操作し得る者である。
【００２９】
サーバ装置３は、車両１に搭載された後に詳述するエンジンＥＣＵ（Electronic Control Unit：電子制御装置）等のプログラムを更新するための更新用プログラムを車載装置４へ送信するハードウェア及びソフトウェアからなるコンピュータシステムである。また、サーバ装置３は、ネットワーク７を介し、複数の車両１，１ａ，１ｂの車載装置４，４ａ，４ｂへ一斉に更新用プログラムを送信することもできる。なお、エンジンＥＣＵ、トランスミッションＥＣＵ、及び、ナビゲーションＥＣＵ等の車両の走行制御や運転操作を支援する制御装置を、以下、総称して車両制御装置という。
【００３０】
車両制御装置のプログラムは、車両１に備えられた制御対象とするエンジン、トランスミッション、及び、ナビゲーション装置等を予め決められた処理に従い動作させるためのプログラムである。更新用プログラムは、既に車両制御装置に記憶されているプログラムに対し、新しい機能を追加する場合や不具合が発見された場合等に、かかるプログラムを更新するためのプログラムである。
【００３１】
車載装置４は、サーバ装置３から送信される更新用プログラムを受信して、車両制御装置のプログラムを更新する電子制御装置である。
【００３２】
また、携帯機器６は、ユーザ５が所持する可搬性装置である。
【００３３】
＜１−２．サーバ装置の構成＞
図２は、サーバ装置３の構成を示す図である。サーバ装置３は、制御部８、通信部９、及びハードディスク１０を備えるコンピュータシステムである。サーバ装置３は、通信部９により、ネットワーク７を介して、車両１に搭載された車載装置４及び車両１のユーザ５の携帯する携帯機器６との間で、各種情報の送受信を行うことが可能である。
【００３４】
制御部８は、また図示しないＣＰＵ、ＲＡＭ、及びＲＯＭを備えるコンピュータである。制御部８のＲＯＭには、サーバ装置用プログラムが記憶されている。このサーバ装置用プログラムをＣＰＵが実行することで各種の機能が実現される。図中の更新用プログラム登録部８ａ、距離設定部８ｂ、距離検出部８ｃ、通知部８ｄ、更新指示部８ｅ、及び中断指示部８ｆは、このようにサーバ装置用プログラムをＣＰＵが実行することで実現される機能の一部である。また、制御部８は、通信部９及びハードディスク１０と接続され、各種情報の送受信を行うことが可能である。
【００３５】
更新用プログラム登録部８ａは、更新用プログラムを登録する。更新用プログラムは、情報提供センター２において作成され、図示しない入力装置によりサーバ装置３に入力されることにより、更新用プログラム登録部８ａに登録される。登録された更新用プログラムは、制御部８により通信部９へ送信され、通信部９からネットワーク７を介して車両１の車載装置４へ送信される。
【００３６】
距離設定部８ｂは、プログラムの更新を実行する条件となる車両１と車両１のユーザ５の携帯する携帯機器６との距離（以下、「更新実行距離」という）を設定する。なお、以下の説明においては、携帯機器６は、ユーザ５により常時携帯されているものとする。また、車両１とユーザ５との間の距離は、車両１とユーザ５の携帯する携帯機器６との間の距離を示す。
【００３７】
距離設定部８ｂで設定された距離が、後に詳述するように、車両１とユーザ５と間の距離より小さい場合に、プログラムの更新が実行される。すなわち、ユーザ５が車両１から一定の距離より離れていれば、プログラムの更新時間が長時間となっても、プログラムの更新が完了するまでの間に、ユーザ５が車両１に乗り込み、車載機器を操作することができないためである。したがって、距離設定部８ｂは、プログラムの更新時間に基いて、プログラムの更新が完了するまでの間にユーザ５が車両機器の操作をすることができない程度の距離を設定する。例えば、１０００[ｍ]等の距離が設定される。この際、距離設定部８ｂは、ハードディスク１０のテーブル１０ａを参照して、更新実行距離の設定を行う。
【００３８】
テーブル１０ａは、プログラムの容量、プログラムの更新処理を実行するコンピュータの種類、プログラムの更新時間、プログラムの更新に必要な距離、及びユーザ５の平均的な移動速度からなるデータにより構成されている。各データは互いに相関付けられている。例えば、更新用プログラムの容量が１[ＧＢ]である場合には、プログラムの更新処理を実行するコンピュータの種類に応じて、プログラムの更新時間として１５[分]及びプログラムの更新に必要な距離として１０００[ｍ]のデータがテーブル１０ａから参照される。
【００３９】
距離検出部８ｃは、車両１とユーザ５との現在の距離（以下、「車両・ユーザ間距離」という）を検出する。かかる距離の検出は、車両１の車載装置４及びユーザ５の携帯する携帯機器６から緯度及び経度の位置情報を示す信号を各々取得し、かかる位置情報を所定の演算方法で処理することにより行われる。また、距離検出部８ｃは、車載装置４及びユーザ５から位置情報がサーバ装置へ送信される毎に又は一定期間毎に、車両・ユーザ間距離を算出する。
【００４０】
通知部８ｄは、ユーザ５の携帯する携帯機器６に対し、各種通知を行う。かかる通知は、電子メールを送信することにより行うことができる。通知部８ｄは、サーバ装置３から車載装置４へ更新用プログラムが送信された後に、ユーザ５へプログラムの更新の可否を問う通知を行う。すなわち、通知部８ｄは、ユーザ５が所持する携帯機器６へプログラムの更新を許可するよう通知する。また、かかる通知は、距離設定部８ｂが設定した更新実行距離と、距離検出部８ｃが検出した車両・ユーザ間距離とを比較し、車両・ユーザ間距離の方が大きいと判断される場合、すなわちユーザ５が車両１から更新実行距離より遠くにいる場合に行われる。また、通知部８ｄは、プログラムの更新開始後プログラムの更新完了前に、ユーザ５が車両１へ接近し、乗車の可能性が発生したと判断される場合に、ユーザ５へプログラムの更新中である旨の通知を行う。ユーザ５に乗車の可能性が発生したと判断される場合とは、距離検出部８ｃが、ユーザ５が車両１から更新実行距離より近くにいると判断された場合である。
【００４１】
また、ユーザ５に乗車の可能性が発生したと判断する条件は、ユーザ５が車両１から更新実行距離より短い所定の距離（以下、「更新中通知距離」という）より近くにいる場合としてもよい。更新中通知距離は、例えば１０[ｍ]の距離が設定される。この場合は、ユーザ５に乗車の可能性が高く発生したと判断することができる。ユーザ５は、かかる通知を受信した場合には、車両１への乗車を断念し、プログラム更新途中での車両機器の操作を回避することができる。
【００４２】
また、通知部８ｄは、プログラムの更新を完了した旨、プログラムの更新を実行しなかった旨、及びプログラムの更新を中断した旨をプログラム更新の状況に応じてユーザ５へ送信する。
【００４３】
更新指示部８ｅは、車載装置４に対し、車両制御装置内のプログラムを更新用プログラムで更新するよう指示信号を送信する。指示信号は、通信部９及びネットワーク７を介して、車載装置４へ送信される。更新指示部８ｅは、通知部８ｄからユーザ５への更新可否の問いに対し、ユーザ５から更新許可の返信があった場合に指示信号を送信する。なお、更新指示部８ｅは、ユーザ５から更新許可の返信があった場合ではなく、更新実行距離と車両・ユーザ間距離とを比較し、車両・ユーザ間距離の方が大きいと判断される場合に指示信号を送信してもよい。
【００４４】
中断指示部８ｆは、プログラムの更新開始後プログラムの更新完了前に、プログラムの更新を中断するよう、車載装置４へ指示信号を送信する。かかる指示信号は、プログラムの更新開始後、更新実行距離と車両・ユーザ間距離とが一定距離（以下、「更新中断距離」という）より近くなった場合に送信される。すなわち、ユーザ５が車両１の至近距離まで接近し、ユーザ５の車両１への乗車や車両機器の操作が確実に予見される場合である。更新中断距離は、例えば０．８[ｍ]の距離が設定される。
【００４５】
通信部９は、サーバ装置３とネットワーク７とを接続し、両者のデータ通信を制御する。通信部９は、サーバ装置３からネットワーク７へデータを送信する場合には、かかるデータをネットワーク７内で通信され得る形式に変換し、データ送信を行う。また、通信部９は、ネットワーク７からサーバ装置３へのデータを受信する場合には、かかるデータをサーバ装置３で処理され得る形式に変換し、制御部８へ受信データを送信する。
【００４６】
ハードディスク１０は、テーブル１０ａ、及び地図データベース１０ｂを記憶する、繰り返しデータの上書きが可能な不揮発性の記録装置である。テーブル１０ａは、プログラムの容量、プログラムの更新処理を実行するコンピュータの種類、プログラムの更新時間及びプログラムの更新に必要な距離からなるデータにより構成されている。また、テーブル１０ａは、距離設定部８ｂが車両・ユーザ間距離を設定する際に参照される。地図データベース１０ｂは、地図データを記憶している。地図データは、車両１が走行可能な道路情報が含まれ、緯度及び経度からなる位置情報と対応付けられている。また、ハードディスク１０には、車載装置４から送信された車両１の位置情報が保存される。
【００４７】
＜１−３．車載装置の構成＞
図３は、車載装置４の構成を主に示す図である。車載装置４は、車両１の内部に配置され、制御部１１、通信部１２、ＧＰＳ受信部１３、及び一時記憶部１４を備える電子制御装置である。また、車載装置４は、エンジンＥＣＵ１５、トランスミッションＥＣＵ１６、ボディーＥＣＵ１７、及びナビゲーションＥＣＵ１８等の各種の車両制御装置と接続されている。車載装置４と車両制御装置１５，１６，１７，１８とは、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１９で相互に接続されている。ＣＡＮ１９で接続された各装置間において、速度、エンジンの回転数、ブレーキの状態、及び故障診断情報等の各種情報が送受信されている。また、これら送受信される情報には、更新用プログラム１４ａの他、更新時期、及びプログラムの改版情報等のプログラム識別情報が含まれる。
【００４８】
制御部１１は、更新部１１ａ及び中断部１１ｂを備え、また図示しないＣＰＵ、ＲＡＭ、及びＲＯＭを備えるマイクロコンピュータである。制御部１１は、ＲＯＭに予め記憶されたファームウェアとしてのプログラムに従いＣＰＵが演算処理を実行することにより、車載装置４を制御する。図中に示す、更新部１１ａ及び中断部１１ｂは、ＣＰＵが演算処理を実行することで実現される機能の一部である。
【００４９】
また、制御部１１は、ユーザ５により図示しない電源の供給が遮断された後は、いわゆるスリープモードを備えている。
【００５０】
更新部１１ａは、後に説明する一時記憶部１４に記憶された更新用プログラム１４ａを読み出し、車載装置４に接続されたエンジンＥＣＵ１５等の車両制御装置内のプログラムを更新する。
【００５１】
中断部１１ｂは、更新部１１ａによるプログラムの更新処理を中断させる。
【００５２】
通信部１２は、ＷｉＭＡＸ（Ｗｏｒｌｄｗｉｄｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ）等の無線通信技術を利用した通信機能を備える。通信部１２は、通信アンテナ１２ａで信号の送受信を行い、ネットワーク７を介して他の無線通信装置と情報通信を行う。車載装置４は、この通信部１２により、サーバ装置３及び携帯機器６との間で各種情報の送受信を行うことが可能となる。
【００５３】
ＧＰＳ受信部１３は、車両１上空の軌道上を周回する複数のＧＰＳ衛星２０から送信される信号をＧＰＳアンテナ１３ａにより受信する。ＧＰＳ衛星２０からの信号には、時刻データ及び衛星の軌道情報等が含まれる。ＧＰＳ受信部１３は、受信した信号を制御部１１へ送信する。制御部１１は、ＧＰＳ衛星２０からの信号の送信とＧＰＳ受信部１３の受信との時刻差に電波の伝播速度を掛けるなど所定の演算処理により、衛星から車両１までの距離を算出する。そして、複数のＧＰＳ衛星からの距離情報に基き、車両１の空間上の位置を緯度及び経度として算出する。
【００５４】
一時記憶部１４は、電気的にデータの読み書きが可能であり、電源を遮断されてもデータが消去されない不揮発性の半導体メモリである。一時記憶部１４は、たとえばＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリにより構成される。一時記憶部１４は、更新用プログラム１４ａを一時的に記憶し、新たな更新用プログラムが制御部１１から送信されると、それまで記憶していたプログラムに新たな更新用プログラムを上書きして記憶する。このように、一時記憶部１４は、いわゆるバッファとして機能する。
【００５５】
更新用プログラム１４ａは、車両制御装置に既に記憶されているプログラムに対し、機能を追加又は不具合を修復するプログラムである。更新用プログラム１４ａは、情報提供センター２内で作成され、サーバ装置３によりネットワーク７を介して車載装置４へ送信される。更新用プログラム１４ａには、プログラム更新の対象となる車両や車両制御装置の識別情報及びプログラムの改版情報が付加されている。なお、更新用プログラム１４ａは、更新部分のみのプログラムであっても良いし、更新されるプログラムの全体であってもよい。
【００５６】
エンジンＥＣＵ１５は、車両１に備えられたセンサから走行状態等に関するデータを受信し、エンジンの燃料噴射量や点火タイミング、回転数等を電子制御する。かかる電子制御は、記憶部１５ａに記憶された制御用プログラム１５ｂが実行されることにより行われる。記憶部１５ａは、エンジンを電子的に制御するための制御用プログラム１５ｂと、制御用プログラム１５ｂを更新する際に、いわゆるバックアップとなるバックアップ用プログラム１５ｃとを記憶している。バックアップ用プログラム１５ｃは、制御用プログラム１５ｂが更新される際に作成される。なお、記憶部１５ａ、記憶部１５ａに記憶されている制御用プログラム１５ｂ及びバックアップ用プログラム１５ｃは、下記のトランスミッションＥＣＵ１６、ボディーＥＣＵ１７、及びナビゲーションＥＣＵ１８等の車両制御装置にも備えられているが、図示は省略する。
【００５７】
トランスミッションＥＣＵ１６は、車両１に備えられたセンサからエンジン回転数や車両の走行速度、アクセルの開度等に関するデータを受信し、エンジンから伝達される動力の回転速度やトルクなどが適正な値となるよう車両１のトランスミッションを制御する。
【００５８】
ボディーＥＣＵ１７は、ドアロック、灯火、ワイパ、及びエアコン等の制御を行う。
【００５９】
ナビゲーションＥＣＵ１８は、地図データベース１８ａから地図情報を読み出し、ＧＰＳ受信部１３により受信された信号で特定される車両１の現在位置に対応し、地図を表示部１８ｂに表示する。地図データベース１８ａは不揮発性の記憶装置であり、地図データを記憶している。地図データは、車両１が走行可能な道路情報が含まれている。また、ナビゲーションＥＣＵ１８は、ユーザ５により設定された目的地までのルートを探索し、ルート情報を地図とともに表示部１８ｂに表示する。
【００６０】
＜１−４．携帯機器の構成＞
図４は、ユーザ５が携帯する携帯機器６の構成を示す図である。携帯機器６は、例えば携帯電話であるが、携帯機器６の所在する位置情報をサーバ装置３へ伝達可能であって、ユーザ５が携帯可能な機器であればよい。携帯機器６は、制御部２１、通信部２２、ＧＰＳ受信部２３、表示部２４、入力部２５及びスピーカ２６を備えている。
【００６１】
制御部２１は、通信部２２、ＧＰＳ受信部２３、表示部２４、入力部２５及びスピーカ２６と接続されたマイクロコンピュータである。制御部２１は、外部のサーバ装置３等と情報通信を行う場合には、通信部２２を制御して信号の送受信を行う。また、ＧＰＳ受信部２３が受信したＧＰＳ衛星２０からの信号に所定の演算処理を行い、衛星から携帯機器６までの距離を算出する。そして、複数のＧＰＳ衛星からの距離情報に基き、携帯機器６の空間上の位置を緯度及び経度として算出する。また、ユーザ５に対して情報を報知する場合に、表示部２４を制御して情報の表示を行い、ユーザ５が入力部２５に入力した信号を受け付ける処理を行う。
【００６２】
通信部２２は、ＷｉＭＡＸ等の無線通信技術を利用した通信機能を備える。また、通信部２２は、通信アンテナ２２ａで信号の送受信を行い、ネットワーク７を介して他の無線通信装置と情報通信を行う。携帯機器６は、この通信部２２により、サーバ装置３及び車載装置４との間で各種情報の送受信を行うことが可能となる。
【００６３】
ＧＰＳ受信部２３は、車両１上空の軌道上を周回する複数のＧＰＳ衛星２０から送信される信号をＧＰＳアンテナ２３ａにより受信する。ＧＰＳ衛星２０からの信号には、時刻データ及び衛星の軌道情報等が含まれる。ＧＰＳ受信部２３は、受信した信号を制御部２１へ送信する。
【００６４】
表示部２４は、図形や文字等の情報を表示して携帯機器６を携帯するユーザ５に情報を報知する画面である。
【００６５】
スピーカ部２６は、各種の音声を出力してユーザ５に情報を報知する。
【００６６】
入力部２５は、表示部２４の周囲に配置された複数のボタンを含み、ユーザ５の操作が入力される。入力部２５は、ユーザ５の操作が入力されると、入力された操作情報を制御部２１へ送信する。また、入力部２５は、表示部２４の表面にタッチセンサとして構成することもできる。
【００６７】
＜１−５．処理＞
次に、プログラム提供システム１００におけるサーバ装置３の処理について説明する。
【００６８】
図５及び図６は、サーバ装置３の処理の流れを示す図である。かかる処理は、情報提供センター２において作成された更新用プログラムが、サーバ装置３の更新用プログラム登録部８ａに登録されることにより、開始される。
【００６９】
まず、サーバ装置３の制御部８が、更新用プログラム登録部８ａに登録された更新用プログラムを通信部９によりネットワーク７を介して車載装置４へ送信する（ステップＳ１１）。更新すべきプログラムが複数の車両１，１ａ，１ｂ（図１参照。）を対象とする場合には、制御部８は、複数の車載装置４，４ａ，４ｂへ更新用プログラムを一斉に送信する。この際、制御部８は、送信する時間帯や車載装置４を搭載した車両１の位置、車両１が走行中か否かに係わらず送信する。車載装置４は、一時記憶部１４を備えているため、車両の状態に係わらず、更新用プログラムを受信しても、車両の走行等に影響を及ぼすことがないためである。
【００７０】
次に、距離設定部８ｂが、プログラムの更新の実行を許可する距離（以下、「更新実行距離」という）を設定する（ステップＳ１２）。かかる距離は、車両１とユーザ５との間の距離（車両・ユーザ間距離）である。この車両・ユーザ間距離が、設定された更新実行距離以上ある場合に、プログラムの更新の実行が許可される。更新実行距離は、プログラムの更新時間に応じて定められる。距離設定部８ｂは、プログラムの更新時間が長い場合には、更新実行距離を長く設定する。プログラムの更新時間と更新実行距離との関係は、予めハードディスク１０内のテーブル１０ａに入力されている。したがって、距離設定部８ｂは、テーブル１０ａを参照して更新実行距離を設定する。更新実行距離が設定されることにより、プログラムの更新中にユーザ５が車両１に乗り込み、車両機器を操作することがない。すなわち、プログラムの更新中に車両機器が操作されることによる、電源変動やノイズ発生がないため、プログラムの更新を正常に完了することができる。
【００７１】
次に、サーバ装置３の距離検出部８ｃが、通信部９を介して、車両１の位置情報を示す信号を受信する（ステップＳ１３）。かかる位置情報は、緯度及び経度の情報からなり、車両１に搭載された車載装置４から所定周期で送信される。なお、距離検出部８ｃは、更新用プログラムを送信した車両のみの位置情報を受信してもよいし、サーバ装置３とネットワーク７を介して接続された全ての車両の位置情報を受信してもよい。距離検出部８ｃは、受信した車両１の位置情報をハードディスク１０に既に記録した位置情報に上書きして保存する（ステップＳ１４）。これにより、ハードディスク１０には、常に車両１の最新の位置情報が保存される。
【００７２】
次に、距離検出部８ｃは、車両１の位置情報を前回受信したときから所定時間以上経過したか否か判断する（ステップＳ１５）。車両１から送信される位置情報は、車両１のイグニッションスイッチ（エンジンの始動や車載装置等の起動を可能にするためにバッテリ回路をオン・オフさせるスイッチ）がオンとなっている場合に送信される。従って、車両１の位置情報を前回受信したときから所定時間以上経過したと判断される場合（ステップＳ１５にてＹｅｓ）は、車両１が停止され、かつユーザ５が車両１から降車したと判断できる場合である。
【００７３】
車両１からは位置情報が所定の周期で繰り返し送信されるため、車両１が車両位置を送信する周期を所定時間として設定すればよい。例えば、所定時間には、車両１から位置情報が送信される周期である１０[分]を設定すればよい。
【００７４】
車両１の位置情報を前回受信したときから所定時間以上経過していないと判断される場合（ステップＳ１５にてＮｏ）は、再度、車両位置の受信（ステップＳ１３）及び保存を行う（ステップＳ１４）。
【００７５】
車両１の位置情報を前回受信したときから所定時間以上経過していると判断される場合は、次に、距離検出部８ｃは、ユーザ５の位置情報を受信する（ステップＳ１６）。ユーザ５の位置情報の受信は、ユーザ５が携帯する携帯機器６から送信される位置情報を示す信号を受信することで行われる。かかる位置情報は、緯度及び経度の情報からなり、携帯機器６から所定周期で送信されている。
【００７６】
次に、距離検出部８ｃは、車両・ユーザ間距離を算出する（ステップＳ１７）。距離検出部８ｃは、ハードディスク１０に保存された車両の位置情報とステップＳ１６で受信したユーザの位置情報とに基づき、車両・ユーザ間距離を算出する。車両・ユーザ間距離は、車両とユーザとの直線距離又は最短の道路距離である。距離検出部８ｃは、車両とユーザとの直線距離を算出する場合は、両者の緯度及び経度に基き所定の演算処理により算出する。距離検出部８ｃは、車両とユーザとの最短の道路距離を算出する場合は、両者の緯度及び経度に基きハードディスク１０内の地図データベース１０ｂを参照することで最短の道路距離を算出する。
【００７７】
次に、距離検出部８ｃが、車両・ユーザ間距離と更新実行距離とを比較する（ステップＳ１８）。車両・ユーザ間距離が、更新実行距離より大きいと判断される場合（ステップＳ１８にてＹｅｓ）は、車両１からユーザ５が十分離れており、プログラムの更新を実行しても、更新中にユーザ５が車両１に乗り込み、車両機器を操作することがないと判断される場合である。この場合は、更新実行処理に続くステップＳ２１へ進む。
【００７８】
一方、車両・ユーザ間距離が、更新実行距離より大きくないと判断される場合（ステップＳ１８にてＮｏ）は、ユーザ５が車両１の付近に存在し、プログラムの更新中にユーザ５が車両１に乗り込み、車両機器を操作する可能性があると判断される場合である。この場合は、更新実行処理に続くステップＳ２１へは進まず、ステップＳ１３へ戻り、車両位置の受信及び保存を再度実行する。すなわち、ステップＳ１８にてＮｏとなる場合は、ユーザが単に短時間の休憩等のため降車した場合があり、短時間の停車及び降車の後、再度乗車して走行を再開する恐れがある。このため、車両位置の受信及び保存を行い、再度、車両・ユーザ間距離を算出する必要がある。
【００７９】
ステップＳ１８にてＹｅｓであった場合は、次に、通知部８ｄが、プログラムの更新の可否を問う通知をユーザ５の携帯する携帯機器６へ送信する（図６のステップＳ２１）。プログラムの更新可否をユーザ５に問うのは、ユーザ５が、プログラムの更新を希望せず、現在の車両状態で車両１を継続して乗車したいと考える場合や、直ちに車両１の使用を希望する場合があるためである。かかる通知は、電子メールの形式でユーザ５の携帯機器６へ送信することができる。
【００８０】
次に、通知部８ｄは、通信部９を介して、ユーザ５の携帯機器６からの返信を受信する（ステップＳ２２）。ユーザ５からの返信は、プログラムの更新を許可する許可信号と、プログラムの更新を許可しない不許可信号とのいずれかとなる。更新指示部８ｅは、ユーザ５からの返信を受信するまでは、プログラムの更新を待機する。なお、更新指示部８ｅは、プログラムの更新の可否を問う通知後、所定時間経過してもユーザ５からの返信がない場合は、プログラムの更新を実行するようにしてもよい。プログラムの更新は、新しい機能を追加する場合や不具合が発見された場合等に行われ、車両１の性能を低下させるものでないからである。ただし、プログラムの更新後にユーザ５から不許可信号が返信された場合には、更新したプログラムを更新前の状態に戻すための更新用プログラムを、再度、サーバ装置３から車載装置４へ送信すればよい。
【００８１】
次に、更新指示部８ｅが、通知部８ｄが受信したユーザ５からの返信がプログラムの更新の「許可」であるか否か判断する（ステップＳ２３）。更新指示部８ｅは、ユーザ５から不許可信号が返信された場合（ステップＳ２３にてＮｏ）は、プログラムの更新の実行処理（以下、「更新実行処理」という）は行わず、ステップＳ２４に進む。
【００８２】
通知部８ｄは、このようにユーザ５から不許可信号が返信された場合に、ユーザ５の携帯機器６に対し、プログラムの更新の未実行を示す通知を送信する（ステップＳ２４）。ユーザ５は、かかる通知を受信することで、プログラムの更新が実行されなかった旨を知ることができる。これにより、ユーザ５は、後にプログラムの更新を希望する場合に、情報提供センターへその旨を連絡することで、再度、更新用プログラムの送信を受けることができる。
【００８３】
一方、ステップＳ２３において、ユーザ５からプログラムの更新を許可する許可信号が返信された場合（ステップＳ２３にてＹｅｓ）は、ステップＳ２５に進み、主に更新指示部８ｅがプログラムの更新を行うように車載装置４に指示する処理である更新実行処理がなされる（ステップＳ２５）。更新実行処理の詳細は、後に説明する。
【００８４】
通知部８ｄは、更新実行処理が完了したと判断された場合に、プログラムの更新の完了を示す通知をユーザ５の携帯機器６へ送信する（ステップＳ２６）。かかる通知を受けたユーザ５は、プログラムの更新が正常に完了した旨を知ることができ、安心して車両１へ乗車することができる。
【００８５】
＜１−６．更新実行処理＞
次に、サーバ装置３における、更新実行処理について説明する。図７は、サーバ装置３の更新実行処理の流れを示す図であり、図６のステップＳ２４の詳細を示すものである。
【００８６】
まず、更新指示部８ｅが、プログラムの更新の実行を指示する更新指示信号を車載装置４へ送信する（ステップＳ３１）。
【００８７】
次に、更新指示部８ｅは、車載装置４にてプログラムの更新が完了した後に送信される通知（以下、「更新完了通知」という）を車載装置４から受信したか否かを判断する（ステップＳ３２）。更新指示部８ｅは、更新完了通知を受信した場合（ステップＳ３２にてＹｅｓ）は、更新実行処理を終了する。一方、更新指示部８ｅが更新完了通知を受信していない場合（ステップＳ３２にてＮｏ）は、距離検出部８ｃがユーザ５の携帯する携帯機器６から送信される位置情報を示す信号を受信する（ステップＳ３３）。
【００８８】
ステップＳ３３以下の処理は、プログラムの更新の完了前にユーザ５が車両１へ接近した場合のサーバ装置３の処理である。すなわち、ユーザ５にとって車両１へ至急乗車すべき事態が発生した場合、ユーザ５は急速に車両１へ接近することとなる。この場合、ユーザ５の移動速度が、テーブル１０ａで予め記録されたユーザ５の平均的な移動速度を上回ると、更新用プログラム送信後に設定した（ステップＳ１２）更新実行距離では、足りない事態、すなわちプログラムの更新の完了前にユーザ５が車両１へ乗車する事態が発生する。したがって、このような事態に備え、更新指示部８ｅがプログラムの更新の実行を指示後、更新完了通知を受信するまでは、距離検出部８ｃがユーザ５の位置情報を継続的に受信する。そして、距離検出部８ｃが車両・ユーザ間距離が所定の距離である更新中通知距離より短いと判断すると、サーバ装置３において、この事態に対応する処理が実行される。
【００８９】
距離検出部８ｃは、ステップＳ３３でユーザ５の位置情報を受信すると、車両・ユーザ間距離を再度算出する（ステップＳ３４）。この車両・ユーザ間距離の算出は、図５のステップＳ１７と同様に行われる。
【００９０】
次に、距離検出部８ｃは、車両・ユーザ間距離が更新中通知距離より小さいか否か判断する（ステップＳ３５）。既に述べた通り、更新中通知距離は、例えば１０[ｍ]の距離が設定される。車両・ユーザ間距離が更新中通知距離より小さい場合は、ユーザ５に乗車の可能性が高く発生したと判断することができる。この場合、通知部８ｄが、既にユーザ５へプログラムの更新中である旨の通知がなされているか否か判断する（ステップＳ３６）。同通知がなされていない場合（ステップＳ３６にてＮｏ）は、通知部８ｄは、ユーザ５の携帯機器６へプログラムの更新中である旨の通知を送信する（ステップＳ３７）。ユーザ５は、かかる通知を受信した場合に、車両１への乗車を断念し、プログラム更新途中での車両機器の操作を回避できる。
【００９１】
一方、既にユーザ５へプログラムの更新中である旨の通知がなされていると判断した場合（ステップＳ３６にてＹｅｓ）は、ユーザ５へ同通知を行わず、ステップＳ３８へ進む。この場合に、ユーザ５へ同通知を行わないのは、車両・ユーザ間距離が更新中通知距離より短い間中、繰り返しユーザ５へ同一内容の通知が行われるのを回避するためである。
【００９２】
また、ステップＳ３５にてＮｏの場合、すなわち車両・ユーザ間距離が更新中通知距離より大きい場合は、ユーザ５へプログラムの更新中である旨の通知を行う必要がないので、ステップＳ３８へ進む。
【００９３】
次に、距離検出部８ｃは、車両・ユーザ間距離が更新中断距離より小さいか否か判断する（ステップＳ３８）。既に述べた通り、更新中断距離は、例えば０．８[ｍ]の距離が設定される。車両・ユーザ間距離が更新中断距離より小さい場合は、ユーザ５が車両１の至近距離まで接近し、ユーザ５が車両１へ乗車する場合や車両機器を操作する場合が確実に予見されるときである。
【００９４】
距離検出部８ｃが、車両・ユーザ間距離が更新中断距離より小さいと判断すると（ステップＳ３８にてＹｅｓ）、中断指示部８ｆはプログラムの更新の中断を指示する中断指示信号を車載装置４へ送信する（ステップＳ３９）。中断指示部８ｆがこの中断指示信号を送信すると、更新実行処理は終了する。また、車両・ユーザ間距離が更新中断距離より大きいと判断された場合（ステップＳ３８にてＮｏ）、処理はステップＳ３２に戻り、上述した処理と同様の処理が繰り返される。
【００９５】
次に、ユーザ５が携帯する携帯機器６の表示について説明する。図８は、ステップＳ３７のサーバ装置３からの通知に応答した携帯機器６の表示部２４における、表示の一例を示す図である。
【００９６】
表示部２４には、ユーザ５へプログラムの更新中である旨の通知が文字表示によりなされている。ユーザ５は、かかる表示を確認することにより、車両１への乗車を断念し、プログラム更新途中での車両機器の操作を回避できる。また、文字表示と同時に、表示された文字をスピーカ部２６から音声で通知することもできる。この場合、ユーザ５が携帯機器をバッグやポケットに収納していた場合であっても、効果的に通知を行うことができる。
【００９７】
なお、図８は、プログラムの更新中の通知（ステップＳ３７）に係る情報の表示例を示したが、表示の内容を変更することにより、プログラムの更新可否の通知（図６のステップＳ２１）、更新の完了の通知（ステップＳ２５）、及び更新の未実行の通知（ステップＳ２６）に係る情報を表示することができる。また、通知に対するユーザ５の返信は、入力部２５へユーザ５が所定の操作を入力することで行うよう構成することもできる。この場合、どのような操作を入力すべきか、表示部２４に表示することにより、ユーザ５の誤入力を防止できる。
【００９８】
次に、図５から図７で説明したサーバ装置３の処理に応答した車載装置４の処理について説明する。図９は、この車載装置４の処理の流れを示す図である。
【００９９】
まず、車載装置４の制御部１１は、通信部１２を介して、サーバ装置３から送信された更新用プログラムを受信する（ステップＳ４１）。なお、前述のように、制御部１１は、スリープモードを備え、ユーザ５により電源の供給が遮断された後は、所定周期で間欠的に起動しているため、電源供給の遮断後であっても更新用プログラムを受信することができる。
【０１００】
制御部１１は、更新用プログラムを受信すると、一時記憶部１４へ更新用プログラムを記憶する（ステップＳ４２）。
【０１０１】
次に、制御部１１は、通信部１２において、図７のステップＳ３１でサーバ装置３から送信される更新指示信号を受信したか否か判断する（ステップＳ４３）。この更新指示信号は、プログラムの更新の実行を指示するものである。制御部１１は、更新指示信号を受信していないと判断すると（ステップＳ４３にてＮｏ）、ステップＳ４３の判断を繰り返し、更新指示信号を受信する待機状態となる。
【０１０２】
制御部１１は、サーバ装置３からの更新指示信号を受信したと判断すると（ステップＳ４３にてＹｅｓ）、更新部１１ａが、プログラムの更新を実行する（ステップＳ４４）。
【０１０３】
次に、エンジンＥＣＵ１５の制御用プログラム１５ｂを更新用プログラム１４ａで更新する制御について説明する。まず、更新部１１ａは、エンジンＥＣＵ１５の記憶部１５ａに記憶されている制御用プログラム１５ｂの複製を作成する。この制御用プログラム１５ｂの複製は、バックアップ用プログラム１５ｃである。バックアップ用プログラム１５ｃを作成することにより、制御用プログラム１５ｂの更新が途中で中断された場合でも、エンジンＥＣＵ１５は、バックアップ用プログラム１５ｃを用いて、エンジン制御を行うことができる。また、プログラムの更新が途中で中断された場合でも、制御用プログラム１５ｂは、更新途中の状態で保存されるので、後にプログラムの更新を中断直後の状態から再開することができる。更新部１１ａは、記憶部１５ａにバックアップ用プログラム１５ｃを作成すると、一時記憶部１４に記憶した更新用プログラム１４ａを読み出して、制御用プログラム１５ｂの更新を実行する。更新用プログラム１４ａは、制御用プログラム１５ｂの全てを更新する場合や制御用プログラム１５ｂの一部を更新する場合がある。
【０１０４】
プログラムの更新が実行されると、制御部１１は、プログラムの更新が完了したか否か判断する（ステップＳ４５）。プログラムの更新が完了したか否かの判断は、例えば、更新プログラムの容量から算出された更新時間の経過を検知することにより判断することができる。制御部１１は、プログラムの更新が完了したと判断すると（ステップＳ４５にてＹｅｓ）、通信部１２を介してプログラムの更新が完了した旨の更新完了通知を携帯機器６及びサーバ装置３へ送信する（ステップＳ４６）。更新完了通知が送信されると、車載装置４における処理は終了する。
【０１０５】
一方、制御部１１は、プログラムの更新が完了していないと判断すると（ステップＳ４５にてＮｏ）、図７のステップＳ３９でサーバ装置３から送信される中断指示信号を受信しているか否か判断する（ステップＳ４７）。この中断指示信号は、プログラムの更新の中断を指示するものである。制御部１１は、サーバ装置３からの中断指示信号を受信していないと判断すると（ステップＳ４７にてＮｏ）、ステップＳ４５に戻り、再度、プログラムの更新が完了したか否か判断する。
【０１０６】
制御部１１がサーバ装置３からのプログラム更新の中断の指示信号を受信したと判断すると（ステップＳ４７にてＹｅｓ）、中断部１１ｂが制御用プログラム１５ｂの更新処理を中断する（ステップＳ４８）。そして、制御部１１は、中断情報の記憶を行う。中断情報の記憶処理は、プログラムの更新を行っていたＥＣＵの名称、制御用プログラム１５ｂの識別番号、更新用プログラムの識別番号及びプログラムの更新が実行された内容を一時記憶部１４に記憶することで行う。記憶されたこれらの情報は、再度、プログラムの更新を実行する際に制御部１１により利用される。制御部１１は、中断情報の記憶処理が行われると、通信部１２を制御してプログラムの更新を中断した旨の更新中断通知を携帯機器６及びサーバ装置３へ送信する（ステップＳ４９）。この際、制御部１１は、上記の中断情報の記憶処理において一時記憶部１４に記憶した各情報をサーバ装置３に対して併せて通知する。制御部１１によるプログラムの更新を中断した旨の通知が行われると、車載装置４における処理は終了する。
【０１０７】
以上のように、本実施の形態のプログラム提供システム１００においては、サーバ装置３の距離検出部８ｃが車両１と車両のユーザ５との距離を検出し、検出された距離が更新実行距離以上の場合に、更新指示部８ｅが更新用プログラムによりプログラムの更新を行うよう車載装置４へ指示する。これにより、ユーザ５が車両１から十分離れている場合にプログラムの更新を指示するので、プログラムの更新中にユーザ５が車両１に乗り込み、車両機器の操作をすることを防止できる。その結果、有効にプログラムの更新を完了できる。
【０１０８】
＜２．第２の実施の形態＞
上記第１の実施の形態では、サーバ装置３において、プログラムの更新の実行後、車両・ユーザ間距離が更新中断距離より小さいか判断し、小さいと判断される場合にプログラムの更新の中断を車載装置４へ指示していた。これに対し、車両１に搭載された車載装置４が、ユーザ５の接近を検知することにより、プログラムの中断を実行することもできる。第２の実施の形態では、車載装置４が携帯機器６と近距離通信を行うことにより、ユーザ５の接近を検知してプログラムの中断を行う。第２の実施の形態のプログラム提供システム１００の構成及び処理は、第１の実施の形態とほぼ同様であるため、以下、第１の実施の形態との相違点を中心に説明する。
【０１０９】
図１０は、第２の実施の形態の車載装置４の構成を示す図である。第２の実施の形態の車載装置４の構成は、図３に示す第１の実施の形態の車載装置４とほぼ同様であるが、一部で構成を相違している。具体的には、車載装置４は、近距離通信部３１を備えている。なお、図１０の各構成において、図３と同一の符号で示すものは、図３と同様の機能を発揮するものである。したがって、図１０の説明においては、図３と異なる構成について説明する。
【０１１０】
近距離通信部３１は、携帯機器６と無線通信により、直接通信可能となっている。かかる通信は、例えば車両の自動開錠を行ういわゆるスマートエントリのシステムと同様の手法で行うことができる。すなわち、近距離通信部３１は、所定周期で信号を発信し、携帯機器６の接近を監視する。発信した信号が到達するエリア（以下、「近距離通信エリア」という）に携帯機器６が進入すると、携帯機器６の通信部２２が信号を受信する。そして、携帯機器６の制御部２１が、受信信号が近距離通信部３１からの信号と判断した場合、通信部２２から近距離通信部３１へ信号を返信する。返信される信号には、携帯機器６の識別番号が含まれている。車載装置４の制御部１１は、携帯機器６から返信された信号の照合処理を行う。照合処理の結果、携帯機器６から返信された信号に含まれる識別番号が、予め記憶してある識別番号３１ａと同一である場合に、車載装置４はユーザ５が接近したと判別できる。なお、近距離通信エリアは、近距離通信部３１から約０．７から１．０メートル程度の距離の範囲である。また、近距離通信部３１が信号を発信する周期は、０．３秒程度である。また、近距離通信部３１は、車両１が駐車状態であっても常に所定周期で信号を発信する。
【０１１１】
次に、図１１を参照して、車載装置４の更新実行処理の第２の実施の形態について説明する。図１１は、近距離通信部３１を備えた車載装置４における更新実行処理の流れを示す図であり、図９に示す第１の実施の形態の更新実行処理とほぼ同様であるが、一部で構成を相違している。具体的には、図１１に示す更新実行処理は、ステップＳ５１を備えている。なお、図１１の各ステップにおいて、図９と同一の符号で示すものは、図９と同様の機能を発揮するものである。したがって、図１１の説明においては、図９と異なるステップについて説明する。
【０１１２】
車載装置４の制御部１１は、プログラムの更新が完了していないと判断した場合（ステップＳ４５にてＮｏ）に、ステップＳ５１へ進む。
【０１１３】
ステップＳ５１では、制御部１１が、近距離通信部３１によりユーザ５の携帯する携帯機器６と通信が行われたか否かが判断される。かかる判断は、携帯機器６から返信された信号に含まれる識別番号の照合処理により行われる。通信が行われたと判断される場合（ステップＳ５１にてＹｅｓ）には、ステップＳ４８へ進み、中断部１１ｂがプログラムの更新の中断を行う。一方、制御部１１が携帯機器６と通信が行われていないと判断される場合（ステップＳ５１にてＮｏ）には、制御部１１がサーバ装置３からのプログラム更新の中断の指示信号を受信しているか否かの判断を行う（ステップＳ４７）。
【０１１４】
以上のように、第２の実施の形態の車載装置４は、近距離通信部３１がユーザ５の携帯機器６との通信が行われたか否かに基づいて、実質的に車両１とユーザ５との距離を判定する。そして、携帯機器６との通信が行われた場合、すなわち、車両１とユーザ５との距離が通信が可能な程度に近い場合は、中断部１１ｂがプログラムの更新の中断する。したがって、サーバ装置３からユーザ５が接近した際のプログラムの更新の中断指示を受信しなくとも、車載装置４単体でユーザ５の接近を検知して、プログラムの更新の中断を行うことができる。
【０１１５】
＜３．変形例＞
以上、本発明の実施の形態について説明してきたが、この発明は上記実施の形態に限定されるものではなく、様々な変形が可能である。以下では、このような変形例について説明する。上記実施の形態で説明した形態及び以下で説明する形態を含む全ての形態は、適宜に組み合わせが可能である。
【０１１６】
上記第１の実施の形態では、車載装置４とエンジンＥＣＵ等の車両制御装置とを異なる装置として説明したが、両装置を一体に構成してもよい。また、エンジン制御装置等の制御装置は、更新用プログラムによりプログラムの更新を行う車載装置の一部として構成することができる。また、更新用プログラムによりプログラムの更新を行う車載装置は、エンジン制御装置等の制御装置の一部として構成することができる。
【０１１７】
プログラムの更新はエンジンＥＣＵ１５の制御用プログラム１５ｂを例に説明したが、プログラムの更新はトランスミッションＥＣＵ１６やその他の車両制御装置であってもよい。すなわち、プログラムの更新の対象となる制御装置は、車両に搭載されて、プログラムで制御されるものであればよい。
【０１１８】
携帯機器６は、携帯電話でもよいし、スマートフォンであってもよい。また、電波を発信して車両ドアの開錠を行ういわゆるキーレスエントリやスマートエントリに用いられる携帯型の発信機と一体に構成してもよい。
【０１１９】
近距離通信部３１は、第２の実施の形態で説明したスマートエントリのシステムのほか、例えばＤＳＲＣ（Ｄｅｄｉｃａｔｅｄ  Ｓｈｏｒｔ  Ｒａｎｇｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ：狭域通信）やＢｌｕｅｔｏｏｔｈ（ブルートゥース（登録商標））を用いてもよい。ＤＳＲＣを用いた場合には、発信機となる近距離通信部３１を車両上方に設置し、ユーザ５の携帯する携帯機器６の接近を検知してもよい。また、Ｂｌｕｅｔｏｏｔｈを用いた場合には、近距離通信部３１と携帯機器６との無線接続（いわゆるペアリング）が行われたことにより、ユーザ５の接近を検知してもよい。
【０１２０】
上記実施の形態では、プログラムに従ったＣＰＵの演算処理によってソフトウェア的に各種の機能が実現されると説明したが、これら機能のうちの一部は電気的なハードウェア回路により実現されてもよい。
【符号の説明】
【０１２１】
１００    プログラム提供システム
１    車両
２    情報提供センター
３    サーバ装置
４    車載装置
５    ユーザ
６    携帯機器
８ｂ    距離設定部
８ｃ    距離検出部
８ｄ    通知部
８ｅ    更新指示部
８ｆ    中断指示部
【図１】
0005829839.tif 000002
【図２】
0005829839.tif 000003
【図３】
0005829839.tif 000004
【図４】
0005829839.tif 000005
【図５】
0005829839.tif 000006
【図６】
0005829839.tif 000007
【図７】
0005829839.tif 000008
【図８】
0005829839.tif 000009
【図９】
0005829839.tif 000010
【図１０】
0005829839.tif 000011
【図１１】
0005829839.tif 000012