(57)【要約】  サーバの処理負荷を軽減することができるデータ配信システムを提供する。  制御サーバ２００は、更新データを配信するＴＣＵ３００を、配信対象のＴＣＵ３００に対応付けて設定された優先度に基づいて選択する選択部２１５と、選択部２１５により選択されたＴＣＵ３００に、ＴＣＵ３００が、更新データを受け入れ可能な状態にあるか否かを問い合わせるメッセージを生成して送信するメッセージ生成部２１６と、送信したメッセージに対してＴＣＵ３００から送信された応答メッセージを受信し、受信した応答メッセージに基づいて、更新データを配信するＴＣＵ３００を選択し、選択したＴＣＵ３００への更新データの配信を配信サーバ１００に要求する配信制御部２１７と、を備えている。
2015159815.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信装置と、更新データを配信する通信装置を前記複数の通信装置から選択する制御サーバとを備えるデータ配信システムであって、
前記制御サーバは、
前記更新データを配信する通信装置を、配信対象の通信装置に対応付けて設定された優先度に基づいて選択する選択部と、
前記選択部により選択された通信装置に、前記通信装置が、前記更新データを受け入れ可能な状態にあるか否かを問い合わせるメッセージを送信する送信部と、
前記送信部が送信した前記メッセージに対して前記通信装置が送信する応答メッセージを受信する受信部と、
前記受信部により受信した前記応答メッセージに基づいて、前記更新データを配信する通信装置を選択し、前記選択した通信装置への前記更新データの配信を、前記更新データを記憶する配信サーバに要求する配信要求部と、
を備えることを特徴とするデータ配信システム。
【請求項２】
前記配信要求部は、前記更新データの配信にかかる処理負荷に基づいて、前記更新データを配信する通信装置を選択することを特徴とする請求項１記載のデータ配信システム。
【請求項３】
前記配信要求部は、前記更新データの配信にかかる前記配信サーバの処理負荷が、予め設定された値以上である場合に、前記配信サーバの処理負荷が、前記予め設定された値よりも小さくなる更新データと、前記更新データを配信する通信装置とを新たに選択することを特徴とする請求項２記載のデータ配信システム。
【請求項４】
前記選択部は、前記通信装置が、データの更新を許可する設定に設定されているか否かの情報と、前記通信装置が起動状態にあるのか、前記起動状態よりも電力消費量を削減した待機状態にあるのかを示す情報との少なくとも一方に基づいて、前記配信対象の通信装置の前記優先度を設定することを特徴とする請求項１から３のいずれか一項に記載のデータ配信システム。
【請求項５】
前記複数の通信装置は、所定時間ごとに、前記通信装置が起動状態にあるのか、前記待機状態にあるのかを示す情報と、前記通信装置が、データの更新を許可する設定に設定されているか否かの情報とを前記制御サーバに送信することを特徴とする請求項４記載のデータ配信システム。
【請求項６】
前記送信部は、前記選択された通信装置に、移動体通信網を介して前記メッセージを送信して、電力消費量を削減した待機状態にある通信装置を起動させ、
前記配信要求部は、前記メッセージに対する前記応答メッセージを受信した前記通信装置への前記更新データの配信を、前記配信サーバに要求することを特徴とする請求項１から５のいずれか一項に記載のデータ配信システム。
【請求項７】
前記選択部は、前記更新データが、前記通信装置にインストールされたデータの不具合を解消するためのデータである場合に、前記更新データを配信する通信装置の優先度を、他の更新データを配信する通信装置の優先度よりも高く設定することを特徴とする請求項１から６のいずれか一項に記載のデータ配信システム。
【請求項８】
通信装置から、前記通信装置の識別情報を含む、更新データの取得要求を受信する受信部と、
前記受信部により前記取得要求を受信した場合に、前記識別情報に基づいて前記通信装置に対応する更新データがあるか否かを判定する判定部と、
前記通信装置に対応する更新データがあると判定した場合に、前記更新データの配信を、前記更新データを記憶する配信サーバに要求する配信要求部と、
を備えることを特徴とする制御サーバ。
【請求項９】
複数の通信装置と、更新データを配信する通信装置を前記複数の通信装置から選択する制御サーバとを備えるデータ配信システムにおけるデータ配信方法であって、
前記制御サーバにおいて、前記更新データを配信する通信装置を、配信対象の通信装置に対応付けて設定された優先度に基づいて選択する選択ステップと、
選択された通信装置に、前記通信装置が、前記更新データを受け入れ可能な状態にあるか否かを問い合わせるメッセージを送信部により送信する送信ステップと、
前記送信部が送信した前記メッセージに対して前記通信装置が送信する応答メッセージを受信部で受信する受信ステップと、
前記受信部で受信した前記応答メッセージに基づいて、前記更新データを配信する通信装置を選択し、前記選択した通信装置への前記更新データの配信を、前記更新データを記憶する配信サーバに要求する配信要求ステップと、
を有することを特徴とするデータ配信方法。
【請求項１０】
前記配信要求ステップは、前記更新データの配信にかかる処理負荷に基づいて、前記更新データを配信する通信装置を選択することを特徴とする請求項９記載のデータ配信方法。
【請求項１１】
前記配信要求ステップは、前記更新データの配信にかかる前記配信サーバの処理負荷が、予め設定された値以上である場合に、前記配信サーバの処理負荷が、前記予め設定された値よりも小さくなる更新データと、前記更新データを配信する通信装置とを新たに選択することを特徴とする請求項１０記載のデータ配信方法。
【請求項１２】
前記選択ステップは、前記通信装置が、データの更新を許可する設定に設定されているか否かの情報と、前記通信装置が起動状態にあるのか、前記起動状態よりも電力消費量を削減した待機モードにあるのかを示す情報との少なくとも一方に基づいて、前記配信対象の通信装置の前記優先度を設定することを特徴とする請求項９から１１のいずれか一項に記載のデータ配信方法。
【請求項１３】
前記送信ステップは、前記選択された通信装置に、移動体通信網を介して前記メッセージを送信して、電力消費量を削減した待機状態にある通信装置を起動させ、
前記配信要求ステップは、前記メッセージに対する前記応答メッセージを受信した前記通信装置への前記更新データの配信を、前記配信サーバに要求することを特徴とする請求項９から１２のいずれか一項に記載のデータ配信方法。
【請求項１４】
前記選択ステップは、前記更新データが、前記通信装置にインストールされたデータの不具合を解消するためのデータである場合に、前記更新データを配信する通信装置の優先度を、他の更新データを配信する通信装置の優先度よりも高く設定することを特徴とする請求項９から１３のいずれか一項に記載のデータ配信方法。
【請求項１５】
通信装置から、前記通信装置の識別情報を含む、更新データの取得要求を受信する受信ステップと、
前記受信ステップにより前記取得要求を受信した場合に、前記識別情報に基づいて前記通信装置に対応する更新データがあるか否かを判定する判定ステップと、
前記通信装置に対応する更新データがあると判定した場合に、前記更新データの配信を、前記更新データを記憶する配信サーバに要求する配信要求ステップと、
を有することを特徴とするデータ配信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ配信システム、制御サーバ及びデータ配信方法に関する。
【背景技術】
【０００２】
本技術分野の背景技術として、特開２００４−２４９９１４号公報（特許文献１）がある。この公報には、センターサーバ２００との無線通信によりプログラムの更新ファイルを受信する無線通信制御手段１０５と、受信した更新ファイルを記憶するＲＡＭ１０４と、エンジンの状態を検知するエンジン状態検知手段１０７と、エンジン状態検知手段１０７により車両エンジン停止を検知した場合に、ＲＡＭ１０４に記憶した更新ファイルを基にプログラムを更新するプログラム更新手段１０６とを備えた車載装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２４９９１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１には、センターサーバ２００の処理負荷を軽減する方法については開示されていない。【０００５】
本発明は、上記事情に鑑みてなされたものであり、サーバの処理負荷を軽減することができるデータ配信システム、制御サーバ及びデータ配信方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この明細書には、２０１４年４月１６日に出願された日本国特許出願・特願２０１４−０８４２１８の全ての内容が含まれる。
かかる目的を達成するために、本発明のデータ配信システムは、複数の通信装置と、更新データを配信する通信装置を前記複数の通信装置から選択する制御サーバとを備えるデータ配信システムであって、前記制御サーバは、前記更新データを配信する通信装置を、配信対象の通信装置に対応付けて設定された優先度に基づいて選択する選択部と、前記選択部により選択された通信装置に、前記通信装置が、前記更新データを受け入れ可能な状態にあるか否かを問い合わせるメッセージを送信する送信部と、前記送信部が送信した前記メッセージに対して前記通信装置が送信する応答メッセージを受信する受信部と、前記受信部により受信した前記応答メッセージに基づいて、前記更新データを配信する通信装置を選択し、前記選択した通信装置への前記更新データの配信を、前記更新データを記憶する配信サーバに要求する配信要求部と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、サーバの処理負荷を軽減することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、本実施形態のシステム構成の一例を示す図である。
【図２】図２は、制御サーバ及び配信サーバのハードウェア構成の一例を示す図である。
【図３】図３は、ＴＣＵ管理テーブルの一例を示す図である。
【図４】図４は、更新管理テーブルの一例を示す図である。
【図５】図５は、処理負荷管理テーブルの一例を示す図である。
【図６】図６は、制御サーバの備える機能ブロックの構成の一例を示す図である。
【図７】図７は、ＴＣＵのハードウェア構成の一例を示す図である。
【図８】図８は、ＴＣＵの制御部の処理手順を示すフローチャートである。
【図９】図９は、ＴＣＵの制御部の処理手順の続きを示すフローチャートである。
【図１０】図１０は、制御サーバの処理手順を示すフローチャートである。
【図１１】図１１は、制御サーバの処理手順を示すフローチャートである。
【図１２】図１２は、ＴＣＵの制御部の処理手順を示すフローチャートである。
【図１３】図１３は、制御サーバの処理手順を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照しながら本発明の実施形態について説明する。
まず、図１を参照しながら本実施形態のシステム構成について説明する。図１は、本実施形態のシステム構成を模式的に示す構成図である。本実施形態は、配信サーバ１００と、制御サーバ２００と、各車両５０に搭載されたＴＣＵ（Telematics control unit）３００とを備えている。配信サーバ１００と制御サーバ２００とは、ネットワーク１０に接続され、ＴＣＵ３００は、移動体通信網３０に接続可能に構成されている。ネットワーク１０は、双方向に通信が可能な通信回線網である。このネットワーク１０には、例えば、インターネット、電話回線網、衛星通信網、同報通信路等の公衆回線網や、ＷＡＮ（Wide Area Network）、ＬＡＮ（Local Area Network）、ＩＰ−ＶＰＮ（Internet Protocol-Virtual Private Network）、Ｅｔｈｅｒｎｅｔ（登録商標）、ワイヤレスＬＡＮ等の専用回線網などを用いることができ、有線又は無線を問わない。また、移動体通信網３０は、無線基地局４０、基地局制御装置、交換機等の多数のネットワーク装置によって通信網が構成されている。また、ネットワーク１０と移動体通信網３０とは、アクセスポイント２０を介して接続されている。アクセスポイント２０は、制御サーバ２００や配信サーバ１００が実施するネットワーク１０を介した通信を、移動体通信網３０に中継するものである。このようなアクセスポイント２０として、例えば、移動体通信網３０を提供する事業者のサーバ等を挙げることができる。
【００１０】
配信サーバ１００は、ＴＣＵ３００に配信するソフトウェア及びこのソフトウェアの更新データ（以下、これらを総称して更新データと呼ぶ）を記憶している。配信サーバ１００は、制御サーバ２００により指定されたＴＣＵ３００に更新データを配信する。
制御サーバ２００は、後述する優先順位等の条件に従って更新データを配信するＴＣＵ３００を選択し、選択したＴＣＵ３００に、更新データを配信するように配信サーバ１００に指示する。
本実施形態では、配信サーバ１００がＴＣＵ３００に配信するデータとして、ソフトウェアの更新データを例に挙げて説明するが、配信サーバ１００がＴＣＵ３００に配信するデータは、更新データに限られない。例えば、車両５０に搭載された車載装置６０が利用するコンテンツデータを配信サーバ１００からＴＣＵ３００に配信することもできる。コンテンツデータには、地図データ（道路の形状データ、道路の幅員データ、道路の規制データ、地形データ、マークデータ、交差点データ、施設のデータ等）や、音声データ、楽曲データ、映像データ、ゲーム等のアプリケーションデータ等が含まれる。
また、配信サーバ１００がＴＣＵ３００に配信する更新データは、ＴＣＵ３００にインストールされたソフトウェアを更新するデータであってもよいし、車載装置６０或いはＥＣＵ７０にインストールされたソフトウェアを更新するデータであってもよい。
また、通信装置は、制御サーバ２００や配信サーバ１００にネットワーク１０や移動体通信網３０を介して接続し、制御サーバ２００や配信サーバ１００とデータ通信を行うことができる装置であれば、本発明の特徴を逸脱しない限りどのような構成であってもよい。例えば、車載装置６０で利用される更新データ又はコンテンツデータの配信を配信サーバ１００から受ける場合に、車載装置６０自体を移動体通信網３０に接続して、配信サーバ１００や制御サーバ２００とデータの送受信を行うようにしてもよい。また、ＴＣＵ３００が車載装置６０から当該車載装置６０の情報（例えば、車載装置６０にインストールされたソフトウェアのバージョン情報等）を収集して、制御サーバ２００に車載装置６０の情報を送信するようにしてもよい。ＴＣＵ３００は、配信サーバ１００から配信される、車載装置６０の更新データや、車載装置６０で利用されるコンテンツデータを受信して、車載装置６０に提供するようにしてもよい。
【００１１】
車両５０には、ＴＣＵ３００の他に、車載装置６０やＥＣＵ（Electronic Control Unit）７０が搭載され、車載装置６０、ＥＣＵ７０及びＴＣＵ３００はＣＡＮ（Controller Area network）バス８０で接続されている。ＴＣＵ３００は、配信サーバ１００や制御サーバ２００とデータの送受信を行う。
車載装置６０は、車両５０に搭載される、ナビゲーション装置やオーディオ装置である。ＥＣＵ７０は、例えば、車両５０を制御する電子制御装置であって、イグニッションスイッチがオンされると、ＴＣＵ３００に、イグニッションスイッチの状態がオン状態に変化したことを通知する。
【００１２】
次に、図２を参照しながらＴＣＵ３００のハードウェア構成の一例について説明する。ＴＣＵ３００は、制御部３１０、記憶部３２０、電源管理部３３０、通信部３４０、ＣＡＮ−Ｉ／Ｆ部３５０を備えている。制御部３１０は、不図示のＣＰＵ（Central Processing Unit）やメモリを備え、ＴＣＵ３００を統括制御する。ＣＰＵやメモリ等のハードウェアと、記憶部３２０に記憶したプログラムとの協働によって、図２に示す制御部３１０内に示す機能ブロックが実現される。制御部３１０は、機能ブロックとして、ＴＣＵ情報管理部３１１と、更新制御部３１２とを備えている。
記憶部３２０は、フラッシュメモリや、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）等の不揮発性の記憶装置である。記憶部３２０は、制御プログラム等のＴＣＵ３００の電源がオフされた後も保存しておく必要のあるデータ等を記憶している。
【００１３】
ＴＣＵ情報管理部３１１は、ＴＣＵ３００のＴＣＵ情報を収集し、収集したＴＣＵ情報に、ＴＣＵ３００を識別するＴＣＵ識別番号を付加して、所定時間ごとに制御サーバ２００に送信する。ＴＣＵ情報には、ＴＣＵ３００のハードウェア情報、ソフトウェア情報及びＴＣＵ状態が含まれる。ハードウェア情報は、ＴＣＵ３００に搭載されたハードウェアを識別する情報であり、ＴＣＵ３００に搭載されたハードウェアのモデル名と、仕向け地とを含む。ソフトウェア情報は、ＴＣＵ３００にインストールされたソフトウェアを識別する情報であり、ソフトウェア名と、バージョン情報とを含む。ＴＣＵ状態は、ＴＣＵ３００の状態を管理する情報であり、モード情報と、更新可否情報とを含む。モード情報には、起動モードと、待機モード（低消費電力モード）と、超低消費電力モードとが含まれる。これらのモード情報については、電源管理部３３０の説明の際に説明する。更新可否情報は、ソフトウェアの更新を許可するか否かを示す情報である。この更新可否情報は、例えば、車両５０のユーザによって設定可能な情報であり、更新可否情報が更新拒否に設定されている場合、該当のソフトウェアが更新されても、ソフトウェアの更新を行わない。
【００１４】
更新制御部３１２は、通信部３４０を制御して配信サーバ１００、制御サーバ２００と通信を行い、ＴＣＵ３００にインストールされているソフトウェアの更新を制御する。更新制御部３１２は、制御サーバ２００から送信されるＳＭＳ（Short Message Service）メッセージを、通信部３４０を介して入力し、入力したＳＭＳメッセージを解析する。ＳＭＳメッセージには、更新されたソフトウェアのソフトウェア名、バージョン情報等が記載されている。更新制御部３１２は、ＳＭＳメッセージにより通知されたソフトウェアを取得する必要があると判断した場合に、通信部３４０を介して制御サーバ２００に更新データの取得要求を送信する。
【００１５】
電源管理部３３０は、制御部３１０、記憶部３２０、通信部３４０、ＣＡＮ−Ｉ／Ｆ部３５０等に接続している。ＴＣＵ３００は、動作モードとして、起動モードと、待機モードと、超低消費電力モードとを備えており、電源管理部３３０が制御部３１０の制御に従ってＴＣＵ３００の各部への電源供給を制御することで、起動モード、待機モード、超低消費電力モードの各動作モードが実現される。起動モード（起動状態）は、制御部３１０、記憶部３２０、通信部３４０、ＣＡＮ−Ｉ／Ｆ部３５０に電源が供給され、制御部３１０が起動した状態にあるモードである。
待機モード（待機状態）は、通信部３４０に電源が供給され、制御部３１０、記憶部３２０等の他のハードウェアへの電源供給はオフ、又は起動モードよりも供給電力を削減した状態である。待機モードにおいて、例えば、後述するＳＭＳメッセージを通信部３４０が受信すると、通信部３４０は、制御部３１０に割込信号を出力する。制御部３１０は、通信部３４０から割込信号を入力すると起動し、電源管理部３３０を制御してＴＣＵ３００の各部への電源供給を再開させる。超低消費電力モード（待機状態）は、制御部３１０、記憶部３２０、通信部３４０、ＣＡＮ−Ｉ／Ｆ部３５０への電源供給がすべてオフされたモードである。超低消費電力モードにおいて、車両５０のイグニッションスイッチがオンされると、電源管理部３３０による電源供給が再開され、ＴＣＵ３００は起動モードへ移行する。
【００１６】
通信部３４０は、通信モジュールであり、移動体通信網３０に接続して無線通信を行う。
ＣＡＮ−Ｉ／Ｆ部３５０は、ＣＡＮバス８０に接続されるインターフェースである。制御部３１０は、ＣＡＮ−Ｉ／Ｆ部３５０を通じて、ＥＣＵ７０や車載装置６０との間で信号を送受信する。
【００１７】
次に、図３を参照しながら配信サーバ１００及び制御サーバ２００のハードウェア構成の一例について説明する。但し、配信サーバ１００と制御サーバ２００とはほぼ同一の構成を備えているため、ここでは代表して制御サーバ２００の構成について説明する。また、図３に括弧書きで示す符号が、配信サーバ１００の備えるハードウェアの符号を表す。
制御サーバ２００は、制御部２１０を備えている。制御部２１０は、ＣＰＵ２１１と、メモリ２１２とを備えている。ＣＰＵ２１１及びメモリ２１２は、バス２６０に接続している。メモリ２１２には、ＣＰＵ２１１が制御に使用する制御プログラム等が保存されている。ＣＰＵ２１１は、制御プログラムをハードディスク装置（以下、ＨＤＤと表記する）２５０から読み出してメモリ２１２に保存する。その後、ＣＰＵ２１１は、メモリ２１２に保存した制御プログラムに従って処理（演算）を行う。メモリ２１２は、ＣＰＵ２１１のワークメモリとして使用され、メモリ２１２には、ＣＰＵ２１１が演算に使用するデータや、ＣＰＵ２１１による演算後のデータ等が保存される。ＣＰＵ２１１、メモリ２１２などのハードウェアと、制御プログラムとの協働によって実現される機能ブロックについては、図７を参照しながら後述する。
【００１８】
制御サーバ２００は、入力装置２２１と、入力インターフェース（以下、インターフェースをＩ／Ｆと略記する）２２２とを備えている。入力Ｉ／Ｆ２２２は、入力装置２２１と、バス２６０とに接続している。入力装置２２１は、マウス、キーボード等の入力デバイスである。入力装置２２１が利用者によって操作されると、入力装置２２１は、受け付けた操作内容を示す操作情報を、入力Ｉ／Ｆ２２２を介して制御部２１０に送る。入力Ｉ／Ｆ２２２は、入力装置２２１から操作情報を入力し、入力した操作情報を、バス２６０を介して制御部２１０に送る。
【００１９】
制御サーバ２００は、グラフィックＩ／Ｆ２３２と、表示装置２３１とを備えている。グラフィックＩ／Ｆ２３２は、バス２６０と表示装置２３１とに接続している。グラフィックＩ／Ｆ２３２は、制御部２１０で処理されたグラフィックデータを表示装置２３１に表示させるためのインターフェースである。グラフィックＩ／Ｆ２３２は、制御部２１０から受け取ったグラフィックデータを波形電気信号に変換して表示装置２３１の表示画面に表示させる。
【００２０】
制御サーバ２００は、ネットワークＩ／Ｆ２４０を備えている。ネットワークＩ／Ｆ２４０は、バス２６０と、ネットワーク１０とに接続する。ネットワークＩ／Ｆ２４０は、制御部２１０から送られたデータを入力し、入力したデータを、ネットワーク１０に出力する。また、ネットワークＩ／Ｆ２４０は、ネットワーク１０を介して受信したデータを制御部２１０に送る。
【００２１】
制御サーバ２００は、ＨＤＤ２５０を備えている。ＨＤＤ２５０は、ＣＰＵ２１１が制御に使用する制御プログラムを記憶している。また、ＨＤＤ２５０は、図４〜図６に示す管理テーブルを記憶している。なお、図３には、記憶装置の一例としてＨＤＤ２５０を示したが、ハードディスク装置に限定されるものではない。例えば、ＨＤＤ２５０は、コンピュータで読み込み可能なフレキシブルディスク（ＦＤ）、ＤＶＤ（DigitalVersatile Disc）、ＤＶＤ−ＲＡＭ等の可搬記憶媒体でもよい。また、ＨＤＤ２５０は、ＣＤ−ＲＯＭ（Compact Disc ReadOnly Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（Rewritable）、光磁気ディスク、ＩＣカードなどの可搬記憶媒体であってもよい。
【００２２】
次に、図４〜図６を参照しながら制御サーバ２００のＨＤＤ２５０に記憶された管理テーブルの構成について説明する。
まず、ＴＣＵ管理テーブルについて図４を参照しながら説明する。ＴＣＵ管理テーブルは、ＴＣＵ３００に搭載されたハードウェアや、ＴＣＵ３００にインストールされたソフトウェア等、各ＴＣＵ３００の情報を管理するテーブルである。ＴＣＵ管理テーブルは、各ＴＣＵ３００から送信されるＴＣＵ情報に、ＳＭＳ送信可否及び電話番号を、各ＴＣＵ３００を識別するＴＣＵ識別番号に対応付けて登録される。ＳＭＳ送信可否は、ＴＣＵ３００へのＳＭＳメッセージの送信が許可されているか否かを示す情報である。制御サーバ２００は、ソフトウェアが更新された場合に、更新されたソフトウェアの旧バージョンがインストールされているＴＣＵ３００に、ＳＭＳメッセージによりソフトウェアの更新を通知する。電話番号は、ＳＭＳメッセージの宛先に使用する、ＴＣＵ３００の電話番号である。
【００２３】
次に、更新管理テーブルについて図５を参照しながら説明する。更新管理テーブルは、更新データのＴＣＵ３００への配信を管理するテーブルである。更新管理テーブルには、優先順位、ＳＭＳ送信可否、ＳＭＳ送信状況、ＴＣＵ状態、バージョン情報が、ＴＣＵ識別番号に対応付けられて登録されている。優先順位は、更新データを配信するＴＣＵ３００の順番を設定した情報である。制御サーバ２００は、ＴＣＵ状態や、ＴＣＵ３００にインストールされているソフトウェアのバージョン、ＳＭＳ送信可否等の情報に基づいて優先順位を設定する。ＳＭＳ送信状況は、ＳＭＳメッセージのＴＣＵ３００への送信状況を示す情報である。バージョン情報は、ＴＣＵ３００にインストールされたソフトウェアのバージョンを示す情報である。
【００２４】
図６に、処理負荷管理テーブルの一例を示す。処理負荷管理テーブルは、配信サーバ１００の処理負荷、例えば、配信サーバ１００のＣＰＵ１１１の使用率を管理するテーブルである。処理負荷管理テーブルには、処理負荷と、配信状況と、ＳＭＳ送信状況とが、ＴＣＵ識別番号に対応づけて登録されている。処理負荷は、ＴＣＵ識別番号の示すＴＣＵ３００への更新データの配信にかかる処理負荷である。配信状況は、ＴＣＵ識別番号の示すＴＣＵ３００への更新データの配信状況である。本実施形態では、処理負荷を、更新データの配信先のＴＣＵ３００ごとに管理している。また、処理負荷管理テーブルには、配信先ごとの処理負荷の合計である、トータルの処理負荷が登録されている。
なお、図６には、１つの配信サーバ１００の処理負荷が登録された処理負荷管理テーブルを示すが、配信サーバ１００を複数設けた構成の場合、処理負荷管理テーブルには、各配信サーバ１００の処理負荷が、配信サーバ１００ごとに登録される。
【００２５】
次に、図７を参照しながら制御サーバ２００の制御部２１０が備える機能ブロックについて説明する。制御部２１０は、機能ブロックとして、選択部２１５と、メッセージ生成部（送信部）２１６と、配信制御部（受信部、判定部、配信要求部）２１７とを備えている。
選択部２１５は、ネットワークＩ／Ｆ２４０に接続され、ソフトウェアが更新された場合に、この更新されたソフトウェアをＨＤＤ１５０に記憶する配信サーバ１００から通知される更新通知を受信する。更新通知には、例えば、更新されたソフトウェアのソフトウェア名や、バージョン情報等の情報が記録されている。選択部２１５は、配信サーバ１００から更新通知が入力されると、ＴＣＵ管理テーブルを参照して、まず、更新通知に記録されたソフトウェアの旧バージョンがインストールされたＴＣＵ３００の情報を検出する。次に、選択部２１５は、検出したＴＣＵ３００のＴＣＵ状態が、更新許可に設定されているか否かを判定する。選択部２１５は、ＴＣＵ状態が更新許可に設定されたＴＣＵ３００の情報をＴＣＵ管理テーブルから取得して、新たに作成する更新管理テーブルに登録する。ＴＣＵ管理テーブルから取得するＴＣＵ３００の情報には、図５に示すＴＣＵ識別番号、ＳＭＳ送信可否、ＴＣＵ状態、バージョン情報等が含まれる。
【００２６】
次に、選択部２１５は、更新管理テーブルに登録した情報を参照して、更新データを配信するＴＣＵ３００の優先順位を設定する。選択部２１５は、例えば、ＴＣＵ３００のＳＭＳ送信可否、ＴＣＵ状態、バージョン情報等に基づいて優先順位を設定する。例えば、選択部２１５は、ＴＣＵ３００に配信されるソフトウェアが、ＴＣＵ３００のファームウェアである場合、ＴＣＵ３００のＴＣＵ状態が待機モードであり、ＳＭＳ送信可否が送信可に設定されたＴＣＵ３００の優先順位が、他のＴＣＵ状態のＴＣＵ３００よりも高くなるように設定する。ファームウェアの更新を行う場合、ＴＣＵ３００は待機モードにあることが好ましい。ＴＣＵ３００が起動モードにある場合には、ＴＣＵ３００が処理を実行中で、ファームウェアの更新を行うことができない場合があるからである。
また、ＴＣＵ３００が待機モードとなる場合とは、例えば、車両５０のイグニッションスイッチがオフされ、ＴＣＵ３００が車載装置６０や、ＥＣＵ７０と通信を行っていない状態である。ＴＣＵ３００のモードが待機モードである場合、制御サーバ２００がＴＣＵ３００にＳＭＳメッセージを送信することで、ＴＣＵ３００を起動させることができる。ＴＣＵ３００の通信部３４０は、ＳＭＳメッセージを受信すると、制御部３１０に割込信号を出力して制御部３１０を起動させる。ＳＭＳメッセージを受信して起動したＴＣＵ３００の制御部３１０は、受信したＳＭＳメッセージを解析して、必要であれば更新データの取得要求を制御サーバ２００又は配信サーバ１００に送信する。
【００２７】
また、選択部２１５は、ＴＣＵ状態が、更新許可に設定されているＴＣＵ３００のうち、インストールされているソフトウェアのバージョンが古いＴＣＵ３００の優先順位が、バージョンが新しいＴＣＵ３００の優先順位よりも高くなるように設定してもよい。
また、選択部２１５は、更新データが複数ある場合、ソフトウェアの不具合を解消するための更新データの配信の優先順位を、他の更新データの配信の優先順位よりも高く設定する。ソフトウェアの不具合を解消するための更新データは、更新が遅れると、危険を伴う場合もあるため、優先順位を高く設定する。
選択部２１５は、優先順位を設定すると、設定した優先順位に従って、ＳＭＳメッセージを送信するＴＣＵ３００を選択する。選択されるＴＣＵ３００は、１機であってもよいし、複数機であってもよい。選択部２１５は、選択したＴＣＵ３００の電話番号と、更新されたソフトウェアのソフトウェア名、バージョン情報等をメッセージ生成部２１６に渡す。また、選択部２１５は、作成した更新管理テーブルをメモリ２１２に記憶させる。
【００２８】
メッセージ生成部２１６は、選択部２１５から電話番号、ソフトウェア名、バージョン情報等の情報を取得する。メッセージ生成部２１６は、取得した情報に基づいてソフトウェアの更新を知らせるＳＭＳメッセージを生成する。ＳＭＳメッセージには、ソフトウェア名、バージョン情報等が含まれる。また、メッセージ生成部２１６は、生成したＳＭＳメッセージの宛先に選択部２１５から取得した電話番号を設定して、ネットワークＩ／Ｆ２４０に渡す。ＳＭＳメッセージは、ネットワークＩ／Ｆ２４０を介してネットワーク１０に出力され、不図示の交換機や、無線基地局４０等を介して、該当のＴＣＵ３００に送信される。なお、以下の説明において、ＳＭＳメッセージは、電話番号を宛先とする回線交換（Circuit Switching）方式により制御サーバ２００と通信部３４０との間で、移動体通信網３０を経由して送受信されるメッセージである。また、ＳＭＳメッセージの送受信に関し、移動体通信網３０の一部を構成する回線交換機又は移動体通信網３０に接続されたＣＴＩ（Computer Telephony Integration）サーバ等の図示しない装置を経由してもよい。また、制御サーバ２００と通信部３４０とはパケット交換（Packet Switching）方式によりデータ通信を行うことが可能な構成としてもよいが、このデータ通信とは別に、ＳＭＳメッセージを送受信してもよい。
【００２９】
配信制御部２１７は、ＴＣＵ３００から送信される、ＳＭＳメッセージに対する応答（以下、応答メッセージという）をネットワークＩ／Ｆ２４０を介して入力する。配信制御部２１７は、ＴＣＵ３００から応答メッセージを受信すると、まず、配信サーバ１００に、配信サーバ１００の処理負荷情報の取得要求を送信する。配信サーバ１００は、制御サーバ２００から処理負荷情報の取得要求を受信すると、処理負荷として、例えば、配信サーバ１００のＣＰＵ使用率を取得する。ＣＰＵ使用率は、例えば、タスクマネージャから取得することができる。配信サーバ１００は、タスクマネージャからＣＰＵ使用率を更新データの配信先ごとに取得する。配信サーバ１００は、取得したＣＰＵ使用率を処理負荷情報として制御サーバ２００に送信する。制御サーバ２００は、配信サーバ１００から取得した処理負荷情報を、図６に示す処理負荷管理テーブルに登録する。
配信制御部２１７は、配信サーバ１００から受信した処理負荷情報と、ＴＣＵ３００から受信した応答メッセージとに基づいて、更新データを配信するＴＣＵ３００を選択する。すなわち、配信制御部２１７は、配信サーバ１００の処理負荷が規定値よりも大きくならないように、応答メッセージを受信したＴＣＵ３００の中からＴＣＵ３００を選択する。配信制御部２１７は、更新データを配信するＴＣＵ３００を選択すると、選択したＴＣＵ３００に更新データを配信するように配信サーバ１００に指示する。
【００３０】
次に、図８及び図９に示すフローチャートを参照しながらＴＣＵ３００の第１の処理手順を説明する。
ＴＣＵ３００の制御部３１０は、まず、イグニッションスイッチのオフを検知したか否かを判定する（ステップＳ１）。制御部３１０は、例えば、車両５０に搭載されたＥＣＵ７０から、ＣＡＮバス８０を介して入力される信号に基づいて、イグニッションスイッチがオフされたか否かを判定する（ステップＳ１）。イグニッションスイッチがオフされたと判定すると（ステップＳ１／ＹＥＳ）、制御部３１０は、ＴＣＵ情報を制御サーバ２００に送信する（ステップＳ２）。ＴＣＵ情報には、ソフトウェア情報、ハードウェア情報、ＴＣＵ状態、ＴＣＵ識別番号等が含まれる。制御部３１０は、ＴＣＵ情報を制御サーバ２００に送信すると、電源管理部３３０を制御して、電力消費量を削減した待機モードに移行させる（ステップＳ３）。
また、ステップＳ１において、イグニッションスイッチのオフを検知できなかった場合（ステップＳ１／ＮＯ）、制御部３１０は、前回のＴＣＵ情報の送信から所定時間を経過したか否かを判定する（ステップＳ４）。前回のＴＣＵ情報の送信から所定時間を経過していない場合（ステップＳ４／ＮＯ）、制御部３１０は、ステップＳ１の判定に戻る。また、前回のＴＣＵ情報の送信から所定時間を経過している場合（ステップＳ４／ＹＥＳ）、制御部３１０は、ＴＣＵ情報を、再度、制御サーバ２００に送信する（ステップＳ５）。
【００３１】
次に、制御部３１０は、制御サーバ２００から送信されるＳＭＳメッセージを受信したか否かを判定する（ステップＳ６）。また、ＴＣＵ３００が待機モードにある場合に、通信部３４０が制御サーバ２００から送信されるＳＭＳメッセージを受信した場合には（ステップＳ６／ＹＥＳ）、ＴＣＵ３００は起動する（ステップＳ７）。ＳＭＳメッセージを受信した場合（ステップＳ６／ＹＥＳ）又はＳＭＳメッセージを受信して起動すると（ステップＳ７）、制御部３１０は、ＴＣＵ情報を制御サーバ２００に送信する（ステップＳ８）。ＴＣＵ情報を制御サーバ２００に送信すると、制御部３１０は、ステップＳ６で受信したＳＭＳメッセージを解析して、配信サーバ１００より更新データの配信を受ける必要があるか否かを判定する（ステップＳ９）。更新データの配信を受ける必要があると判定すると（ステップＳ１０／ＹＥＳ）、制御部３１０は、配信サーバ１００に、更新データの配信を要求する（ステップＳ１１）。配信サーバ１００による更新データの配信が開始されると、ＴＣＵ３００は、配信サーバ１００から配信される更新データを通信部３４０で受信する。制御部３１０は、通信部３４０が受信した更新データを入力して、ソフトウェアの更新を開始する（ステップＳ１２）。次に、制御部３１０は、ソフトウェアの更新が完了したか否かを判定する（ステップＳ１３）。ソフトウェアの更新が完了した場合（ステップＳ１３／ＹＥＳ）、制御部３１０は、ソフトウェアの更新完了を配信サーバ１００に通知する（ステップＳ１４）。
【００３２】
また、ステップＳ１３において、ソフトウェアの更新が完了していない場合（ステップＳ１３／ＮＯ）、制御部３１０は、更新を開始してからの経過時間がタイムアウト時間を経過したか否かを判定する（ステップＳ１５）。タイムアウト時間を経過していない場合（ステップＳ１５／ＮＯ）、制御部３１０は、ステップＳ１３に戻り、再度、ソフトウェアの更新が完了したか否かを判定する（ステップＳ１３）。また、タイムアウト時間を経過した場合（ステップＳ１５／ＹＥＳ）、制御部３１０は、リトライ回数をカウントするカウンタの値が規定値Ｎ（Ｎは、任意の自然数）に達しているか否かを判定する（ステップＳ１６）。リトライ回数とは、例えば、通信障害等により所定時間（タイムアウト時間）内に更新データを取得することができず、ソフトウェアの更新が完了しなかった場合に、ＴＣＵ３００が配信サーバ１００に更新データの配信を要求した回数である。制御部３１０は、カウンタの値が規定値Ｎに達していないと判定すると（ステップＳ１６／ＮＯ）、カウンタの値を１加算して（ステップＳ１７）、更新データの配信を配信サーバ１００に再度要求する（ステップＳ１１）。また、カウンタの値が規定値Ｎに達している場合（ステップＳ１６／ＹＥＳ）、制御部３１０は、更新データによるソフトウェアの更新を終了させて、更新前のバージョンのソフトウェアにロールバックさせる（ステップＳ１８）。ソフトウェアを、更新前のバージョンにロールバックすると、制御部３１０は、ＴＣＵ情報を制御サーバ２００に送信して（ステップＳ１９）、この処理を終了する。
【００３３】
次に、制御サーバ２００の処理手順を図１０に示すフローチャートを参照しながら説明する。
制御サーバ２００の制御部２１０は、配信サーバ１００の記憶するソフトウェアが更新され、配信サーバ１００からソフトウェアの更新通知を受信すると（ステップＳ２１／ＹＥＳ）、更新管理テーブルを参照して、更新データを配信するＴＣＵ３００を選択する（ステップＳ２２）。制御部２１０は、図５に示す更新管理テーブルに設定された優先順位に従って、例えば、優先順位が上位のＴＣＵ３００を所定数選択する（ステップＳ２２）。制御部２１０は、ＴＣＵ３００を選択すると、ＳＭＳメッセージを生成して、生成したＳＭＳメッセージを選択したＴＣＵ３００に送信する（ステップＳ２３）。ＳＭＳメッセージを送信すると、制御部２１０は、ＴＣＵ３００から応答メッセージとして更新データの取得要求を受信したか否かを判定する（ステップＳ２４）。更新データの取得要求を受信していない場合（ステップＳ２４／ＮＯ）、制御部２１０は、ＳＭＳメッセージを送信してからの経過時間が所定時間となったか否かを判定する（ステップＳ２５）。ＳＭＳメッセージの送信から所定時間を経過していない場合（ステップＳ２５／ＮＯ）、制御部２１０はステップＳ２４に戻り、メッセージの取得要求を受信するまで待機する。また、ＳＭＳメッセージを送信してから所定時間を経過している場合（ステップＳ２５／ＹＥＳ）、制御部２１０は、更新許可に設定されたすべてのＴＣＵ３００に更新データを送信したか否かを判定する（ステップＳ３２）。更新許可に設定されたすべてのＴＣＵ３００に更新データを送信済みであると判定すると（ステップＳ３２／ＹＥＳ）、制御部２１０は、この処理を終了させる。また、更新許可に設定されたすべてのＴＣＵ３００に更新データを送信済みではないと判定すると（ステップＳ３２／ＮＯ）、制御部２１０は、ステップＳ２２に戻り、ＳＭＳメッセージを送信するＴＣＵ３００を選択する（ステップＳ２２）。
【００３４】
また、ステップＳ２４において、ＴＣＵ３００から取得要求を受信した場合（ステップＳ２４／ＹＥＳ）、制御部２１０は、配信サーバ１００に、配信サーバ１００の処理負荷情報の取得を要求する（ステップＳ２６）。取得要求を受信した配信サーバ１００は、例えば、タスクマネージャからＣＰＵ使用率等の処理負荷情報を取得して、取得した処理負荷情報を制御サーバ２００に送信する。配信サーバ１００から処理負荷情報を取得すると（ステップＳ２７／ＹＥＳ）、制御部２１０は、配信サーバ１００の処理負荷が規定値以上であるか否かを判定する（ステップＳ２８）。配信サーバ１００の処理負荷が規定値以上である場合（ステップＳ２８／ＹＥＳ）、制御部２１０は、新たなＴＣＵ３００への更新データの配信は行わないと判定し、配信サーバ１００へのデータ配信要求は行わず、現在実行中の他の処理があれば、この処理を継続して行う（ステップＳ２９）。その後、制御部２１０は、ステップＳ２８の判定から所定時間を経過したか否かを判定する（ステップＳ３０）。制御部２１０は、ステップＳ２８の判定から所定時間を経過したと判定すると（ステップＳ３０／ＹＥＳ）、ステップＳ２６に戻り、配信サーバ１００に処理負荷情報の取得要求を送信する（ステップＳ２６）。
【００３５】
また、ステップＳ２８の判定において、配信サーバ１００の処理負荷が規定値よりも小さいと判定すると（ステップＳ２８／ＮＯ）、制御部２１０は、取得要求を受信したＴＣＵ３００に更新データを配信するように配信サーバ１００に要求する（ステップＳ３１）。そして、制御部２１０は、更新許可に設定されたすべてのＴＣＵ３００に更新データを送信したか否かを判定する（ステップＳ３２）。更新許可に設定されたすべてのＴＣＵ３００に更新データを送信済みであると判定すると（ステップＳ３２／ＹＥＳ）、制御部２１０は、この処理を終了させる。また、更新許可に設定されたすべてのＴＣＵ３００に更新データを送信済みではないと判定すると（ステップＳ３２／ＮＯ）、制御部２１０は、ステップＳ２２に戻り、ＳＭＳメッセージを送信するＴＣＵ３００を選択する（ステップＳ２２）。
【００３６】
図１０に示す処理フローでは、配信サーバ１００の処理負荷を、ＣＰＵ使用率等の処理負荷情報に基づいて判定し、配信サーバ１００が更新データを配信可能であるか否かを判定していたが、更新データを配信する回線の負荷に基づいて、配信サーバ１００が更新データを配信可能か否かを判定してもよい。
例えば、複数の配信サーバ１００を備えるシステム構成であって、複数の配信サーバ１００の数よりも少ない数の回線によりネットワーク１０に接続する構成であるとする。この場合、制御サーバ２００は、更新データを配信する配信サーバ１００を選択するため、まず、各配信サーバ１００からネットワーク使用率（配信サーバ１００のネットワークＩ／Ｆ１４０の使用率）を取得する。配信サーバ１００は、ネットワーク使用率をタスクマネージャから取得することができる。
制御サーバ２００は、各配信サーバ１００からネットワーク使用率及びＣＰＵ使用率を取得すると、取得したネットワーク使用率に基づいて回線負荷（配信サーバ１００と、配信サーバ１００をネットワーク１０に接続する接続装置（図示略）とを接続する通信回線の最大通信容量に対する使用量の割合）を算出する。
制御サーバ２００は、算出した各回線の回線負荷がすべて規定値以上であった場合、回線負荷が予め設定された値に低下するまで配信サーバ１００に更新データの配信要求を送信しない。
【００３７】
また、制御サーバ２００は、回線負荷が規定値よりも小さい回線を検出した場合、現在、ＴＣＵ３００に配信中の更新データを除いて、ＴＣＵ３００に配信予定の各更新データのデータ量に基づいて、各更新データをＴＣＵ３００に配信する場合の回線負荷を算出する。制御サーバ２００は、算出した回線負荷に基づいて、更新データを配信可能な回線を検出し、この回線に接続した配信サーバ１００を特定する。制御サーバ２００は、特定した配信サーバ１００のＣＰＵ使用率に基づいて、特定した配信サーバ１００が更新データの配信が可能な状態にあるか否かを判定する。特定した配信サーバ１００が更新データの配信が可能であると判定した場合には、ＴＣＵ３００に更新データを配信するように特定した配信サーバ１００に要求する。
また、特定した配信サーバ１００が更新データの配信が可能ではないと判定した場合には、予め設定された時間だけ待機して、回線の回線負荷が低下するまで待機する。
また、通信に使用していない回線が存在する場合、制御サーバ２００は、ＣＰＵ使用率が最も低い配信サーバ１００を検出して、この配信サーバ１００に更新データの配信を要求する。
【００３８】
また、図１０に示す制御サーバ２００の処理フローは、図１１に示す処理フローであってもよい。なお、ステップＳ２８までの処理フローは、図１０に示すフローと同一であるため説明を省略する。
制御サーバ２００の制御部（配信制御部２１７）２１０は、配信サーバ１００から処理負荷情報を取得し、取得した処理負荷情報に基づいて配信サーバ１００の処理負荷が規定値以上であるか否かを判定する（ステップＳ２８）。制御部２１０は、配信サーバ１００の処理負荷が規定値以上であると判定すると（ステップＳ２８／ＹＥＳ）、配信サーバ１００の処理負荷が規定値を超えない範囲内で配信可能な更新データ及びこの更新データを配信するＴＣＵ３００を検出する（ステップＳ５１）。
例えば、ＴＣＵ３００に配信予定のデータが、ソフトウェアの更新データだけの場合よりも、ソフトウェアの更新データとコンテンツデータとの両方を配信する場合のほうがデータ量は大きくなり、配信サーバ１００の処理負荷は大きくなる。また、更新データによってデータ量が異なる場合、データ量の大きい更新データをＴＣＵ３００に配信すると、配信サーバ１００の処理負荷が規定値以上となるが、データ量の小さい更新データの場合、配信サーバ１００の処理負荷が規定値を超えない範囲で、更新データをＴＣＵ３００に配信できる場合がある。このため、制御部２１０は、配信サーバ１００の処理負荷が規定値を超えない範囲で、更新データを配信可能な他のＴＣＵ３００が存在するか否かを判定する。
【００３９】
処理負荷が規定値を超えない範囲で配信可能な更新データ、及びこの更新データを配信する配信先を検出した場合（ステップＳ５２／ＹＥＳ）、制御部２１０は、検出したＴＣＵ３００に検出した更新データを配信するように配信サーバ１００に要求する（ステップＳ５３）。また、ステップＳ５１において、配信可能な更新データ及び配信先を検出することができなかった場合（ステップＳ５２／ＮＯ）、制御部２１０は、予め設定された時間待機し（ステップＳ５４）、ステップＳ５５の処理に移行する。ステップＳ５５の判定では、制御部２１０は、ステップＳ２４で取得要求を受信したＴＣＵ３００に、配信を中止した更新データの配信が可能であるか否かを判定する（ステップＳ５５）。すなわち、制御部２１０は、取得要求を受信したＴＣＵ３００に、配信を中止していた更新データを配信しても、配信サーバ１００の処理負荷が規定値以内となるか否かを判定する。配信可能であると判定した場合（ステップＳ５５／ＹＥＳ）、制御部２１０は、取得要求を受信したＴＣＵ３００に、配信を中止していた更新データを配信するように配信サーバ１００に要求する（ステップＳ５６）。その後、制御部２１０は、図１０に示すステップＳ３２の処理に移行する。また、ステップＳ５５の判定において、配信を中止していた更新データを配信することができないと判定した場合（ステップＳ５５／ＮＯ）、制御部２１０は、図１０に示すステップＳ２２に戻り、新たな更新対象のＴＣＵ３００を選択する。
【００４０】
次に、図１２及び図１３に示すフローチャートを参照しながらＴＣＵ３００及び制御サーバ２００の第２の処理手順を説明する。図１２に、ＴＣＵ３００の処理手順を示し、図１３に、制御サーバ２００の処理手順を示す。
ＴＣＵ３００の制御部３１０は、車両５０のアクセサリースイッチがオンされて起動すると（ステップＳ６１）、通信部３４０により制御サーバ２００に接続して制御サーバ２００にＴＣＵ識別番号（通信装置の識別情報）を通知する（ステップＳ６２）。
【００４１】
ＴＣＵ識別番号を通知された制御サーバ２００の処理手順を、図１３を参照しながら説明する。
制御サーバ２００は、ＴＣＵ３００が送信したＴＣＵ識別番号を受信すると（ステップＳ８１／ＹＥＳ）、ＴＣＵ管理テーブルを参照して、ＴＣＵ識別番号を受信したＴＣＵ（このフローにおいて、対象ＴＣＵという）３００にインストールされたソフトウェア及びこのソフトウェアのバージョン情報を取得する（ステップＳ８２）。制御サーバ２００は、対象ＴＣＵ３００にインストールされたソフトウェア及びバージョン情報を取得すると、対象ＴＣＵ３００にインストールされたソフトウェアのバージョンが最新バージョンであるか否かを判定する（ステップＳ８３）。インストールされたソフトウェアのバージョンが最新バージョンであると判定した場合（ステップＳ８３／ＹＥＳ）、制御サーバ２００は、対象ＴＣＵ３００に、ソフトウェアの「更新なし」を通知して処理を終了する（ステップＳ８４）。また、インストールされたソフトウェアのバージョンが最新バージョンではないと判定した場合（ステップＳ８３／ＮＯ）、制御サーバ２００は、対象ＴＣＵ３００に、ソフトウェアの「更新あり」を通知する（ステップＳ８５）。
その後、制御サーバ２００は、図１０に示すステップＳ２６〜Ｓ３１までの処理を行う。すなわち、制御サーバ２００は、配信サーバ１００から処理負荷情報を取得して（ステップＳ２７）、配信サーバ１００の処理負荷が規定値以上であるか否かを判定する（ステップＳ２８）。配信サーバ１００の処理負荷が規定値以上ではない場合（ステップＳ２８／ＮＯ）、制御サーバ２００は、受信したＴＣＵ識別番号のＴＣＵ３００に、更新データを配信するように配信サーバ１００に要求する（ステップＳ３１）。また、配信サーバ１００の処理負荷が規定値以上である場合（ステップＳ２８／ＹＥＳ）、制御サーバ２００は、予め設定された所定時間待機し（ステップＳ３０／ＹＥＳ）、配信サーバ１００から処理負荷情報を取得して、配信サーバ１００の処理負荷が規定値以上であるか否かを判定する処理を繰り返す。
【００４２】
図１２に示すフローチャートに戻り、ＴＣＵ３００の処理手順について引き続き説明する。
ＴＣＵ３００は、制御サーバ２００から「更新なし」の通知を受けた場合（ステップＳ６３／ＮＯ）、制御サーバ２００との接続を切断して、この処理フローを終了させる。
また、ＴＣＵ３００は、制御サーバ２００から「更新あり」の通知を受けた場合（ステップＳ６３／ＹＥＳ）、制御サーバ２００の制御により配信サーバ１００に接続される。配信サーバ１００は、対象ＴＣＵ３００が接続されると、制御サーバ２００から指定されたソフトウェアの更新データを対象ＴＣＵ３００に配信する。
【００４３】
ＴＣＵ３００の制御部３１０は、配信サーバ１００から配信される更新データの受信が始まると、タイマーにより経過時間の計時を開始する。制御部３１０は、タイマーの計時する計時時間が予め設定された時間（タイムアウト時間という）を経過するまでは（ステップＳ６４／ＮＯ、かつＳ６５／ＮＯ）、更新データの受信完了を待機する。制御部３１０は、タイマーの計時時間がタイムアウト時間を経過しても、更新データの受信が完了していない場合（ステップＳ６４／ＮＯ、かつＳ６５／ＹＥＳ）、更新データの受信を終了させて、この処理フローを終了させる。
また、制御部３１０は、タイマーの計時時間がタイムアウト時間を経過する前に更新データの受信を完了した場合（ステップＳ６４／ＹＥＳ）、受信した更新データをインストールして、ソフトウェアの更新を開始する（ステップＳ６６）。以降の処理フローは、図８及び図９において説明した処理フローと同一であるため、説明を省略する。
【００４４】
図１２に示す処理フローでは、ＴＣＵ３００の制御部３１０が起動した際に、更新データの取得を制御サーバ２００に要求する構成であったが、制御部３１０が更新データの取得を制御部３１０に要求するタイミングは、制御部３１０の起動時だけに限定されない。
例えば、週に１回、事前に設定された曜日の事前に設定された時間にＴＣＵ３００が制御サーバ２００に更新データの取得を要求してもよいし、操作者が車載装置６０を操作して、ＴＣＵ３００に、更新データの取得を制御サーバ２００に要求するように指示してもよい。
また、車載装置６０が操作され、経路検索が行われたタイミングで、ＴＣＵ３００が制御サーバ２００に更新データの取得を要求してもよい。さらに、車載装置６０において経路検索が実施され、誘導経路が検出された際に、ＴＣＵ３００が誘導経路の情報を制御サーバ２００に送信して、誘導経路を含む地図データに更新があるか否かを問い合わせてもよい。制御サーバ２００は、ＴＣＵ３００から受信した誘導経路の情報に基づいて、誘導経路を含む地図データに更新があるか否かを判定し、更新された地図データがある場合には、更新された地図データの配信を配信サーバ１００に指示する。
【００４５】
また、制御サーバ２００の他の処理フローとして、ＴＣＵ３００に配信するデータの重要度を考慮して、制御サーバ２００が実施する処理を変更してもよい。
例えば、更新されたデータが地図データ等のコンテンツデータである場合、制御サーバ２００は、ＴＣＵ３００からの更新の問い合わせを受け付けた場合に、このＴＣＵ３００に配信するコンテンツデータを検出して、検出したコンテンツデータをＴＣＵ３００に配信するように配信サーバ１００に要求する。
また、更新されたデータが、ソフトウェアの更新データである場合や、特に、ソフトウェアの不具合を解消するための更新データである場合には、制御サーバ２００は、重要なデータであると判定して、自ら該当のソフトウェアがインストールされたＴＣＵ３００を検出する。そして、制御サーバ２００は、検出したＴＣＵ３００にソフトウェアや、ソフトウェアの更新データを配信するように配信サーバ１００に要求する。
【００４６】
以上、詳細に説明したように本実施形態の制御サーバ２００は、配信対象のＴＣＵ３００に対応付けて設定された優先度に基づいて更新データを配信するＴＣＵ３００を選択する。そして、制御サーバ２００は、選択したＴＣＵ３００にＳＭＳメッセージを送信して、ＳＭＳメッセージに対する応答のあったＴＣＵ３００に更新データを配信する。従って、本実施形態は、優先度が高く、更新データを配信可能なＴＣＵ３００を選択して更新データを配信することができる。このため、複数のＴＣＵ３００に更新データを一斉送信する場合と比較して、配信サーバ１００の処理負荷を軽減させることができる。
【００４７】
また、制御サーバ２００は、更新データの配信にかかる処理負荷に基づいて、更新データを配信するＴＣＵ３００を選択するので、配信サーバ１００の処理負荷が高負荷となるのを未然に防止することができる。
【００４８】
また、優先順位を、少なくとも、ソフトウェアの更新が許可されたＴＣＵ３００であるか否かの情報と、ＴＣＵ３００の状態が起動モードにあるのか、待機モードにあるのかを示す情報とに基づいて設定するので、更新データを受信可能なＴＣＵ３００に優先的に更新データを配信することができる。
【００４９】
また、ＴＣＵ３００が待機モードにある場合には、ＴＣＵ３００にＳＭＳメッセージを送信してＴＣＵ３００を起動モードにしてから更新データを配信する。このため、待機モードのＴＣＵ３００に更新データを配信してしまい、ＴＣＵ３００が更新データを受信できないといった状態が生じない。
【００５０】
また、更新データが、ＴＣＵ３００にインストールされたソフトウェアの不具合を解消するためのデータである場合に、この更新データを配信するＴＣＵ３００の優先順位を、他の更新データを配信するＴＣＵ３００の優先順位よりも高くする。ソフトウェアの不具合を解消するための更新データは、更新が遅れると、危険を伴う場合もあるため、優先順位を高く設定して、優先的に更新データを配信することができる。
【００５１】
上述した実施形態は、本発明の好適な実施の形態である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形実施が可能である。
例えば、上述した実施形態では、更新データを記憶して、更新データを配信する配信サーバ１００と、更新データを配信する配信先のＴＣＵ３００を選択する制御サーバ２００とを別々のサーバで構成していた。これ以外に、配信サーバ１００に、制御サーバ２００の機能を持たせ、配信サーバ１００により更新データを配信するＴＣＵ３００の選択と、選択したＴＣＵ３００への更新データの配信とを実現してもよい。
【００５２】
また、車載装置６０がナビゲーション機能を備える場合に、車載装置６０が経路案内を実行中であるか否かにより、対応するＴＣＵ３００に更新データを配信するか否かを設定してもよい。
例えば、ＴＣＵ３００は、車両５０の車載装置６０が経路案内を実行中であるか否かの情報を取得して、制御サーバ２００に送信する。制御サーバ２００の制御部２１０は、ＴＣＵ３００から送信される、車載装置６０が経路案内を実行中であるか否かの情報をＴＣＵ識別番号に対応付けてＴＣＵ管理テーブルに登録する。
そして、制御部２１０は、車載装置６０が経路案内を実行中である場合には、この車載装置６０が搭載された車両５０のＴＣＵ３００に更新データを配信しないように設定する。また、制御部２１０は、経路案内を実行中の車載装置６０が搭載された車両５０のＴＣＵ３００に設定する、更新データを配信する優先順位が、経路案内を実行していない車載装置６０が搭載された車両５０のＴＣＵ３００の優先順位よりも低くなるように設定する。
【００５３】
また、車両５０が自動運転システムを搭載した車両である場合に、車両５０が自動運転を実行中であるか否かにより、対応するＴＣＵ３００に更新データを配信するか否かを判定してもよい。
例えば、ＴＣＵ３００は、車両５０の自動運転システムが自動運転制御を実行中であるか否かの情報を取得して、制御サーバ２００に送信する。制御サーバ２００の制御部２１０は、ＴＣＵ３００から送信される、自動運転システムが自動運転制御を実行中であるか否かの情報をＴＣＵ識別番号に対応付けてＴＣＵ管理テーブルに登録する。
そして、制御部２１０は、自動運転システムが自動運転制御を実行中である場合には、この自動運転システムが搭載された車両５０のＴＣＵ３００に更新データを配信しないように設定する。また、制御部２１０は、自動運転システムが自動運転制御を実行中の車両５０のＴＣＵ３００に設定する優先順位が、自動運転制御を実行していない車載装置６０が搭載された車両５０のＴＣＵ３００の優先順位よりも低くなるように設定する。
【００５４】
また、ＴＣＵ識別番号に、車両５０のユーザのユーザ名と、ユーザを識別する識別情報と、ユーザの属性情報とを対応付けてＴＣＵ管理テーブルに登録し、ユーザに応じて更新データ配信の優先度を設定してもよい。ユーザの属性情報とは、例えば、有料会員であるか、無料会員であるかの情報であり、有料会員への更新データ配信の優先度を、無料会員への更新データ配信の優先度よりも高く設定する。
【００５５】
また、車両５０が自動運転システムを搭載した車両であるか否かに応じて、更新データを配信する優先度を設定してもよい。
車両５０が自動運転システムを搭載した車両であるのか、自動運転システムを搭載していない車両であるかの情報を、車両５０に搭載されたＴＣＵ３００のＴＣＵ識別番号に対応付けてＴＣＵ管理テーブルに登録する。制御サーバ２００の制御部２１０は、更新データを配信するＴＣＵ３００の優先度を設定する際に、更新データを配信する対象となるＴＣＵ３００に、車両５０の自動運転システムが動作中であるか否かを問い合わせる。制御部２１０は、ＴＣＵ３００から自動運転システムが動作中であるか否かの情報を取得すると、ＴＣＵ管理テーブルを参照して、自動運転システムが搭載された車両５０であって、現在、自動運転中ではない車両５０のＴＣＵ３００の優先度が最も高くなるように設定する。また、制御部２１０は、自動運転システムが搭載されていない車両５０のＴＣＵ３００の優先度を、自動運転システムが搭載された車両５０であって、現在自動運転システムが動作中の車両５０のＴＣＵ３００よりも高く設定する。
【００５６】
また、前回の更新からの経過時間に基づいて、更新データを配信する優先度を設定してもよい。
例えば、制御サーバ２００の制御部２１０は、更新データの配信が完了すると、配信が完了した日時（更新完了日時という）を、更新データを配信したＴＣＵ３００のＴＣＵ識別番号に対応付けてＴＣＵ管理テーブルに登録する。そして、制御部２１０は、新たな更新データの発生により更新管理テーブルを作成する際に、ＴＣＵ管理テーブルに登録された更新完了日時が古いＴＣＵ３００の優先順位が高くなるように設定する。
【符号の説明】
【００５７】
１０  ネットワーク
２０  アクセスポイント
３０  移動体通信網
４０  無線基地局
５０  車両
６０  車載装置
７０  ＥＣＵ
８０  ＣＡＮバス
１００  配信サーバ
２００  制御サーバ
２１０  制御部
２１５  選択部
２１６  メッセージ生成部
２１７  配信制御部
３００  ＴＣＵ
３１０  制御部
３１１  ＴＣＵ情報管理部
３１２  更新制御部
３２０  記憶部
３３０  電源管理部
３４０  通信部
【図１】
2015159815.tif 000003
【図２】
2015159815.tif 000004
【図３】
2015159815.tif 000005
【図４】
2015159815.tif 000006
【図５】
2015159815.tif 000007
【図６】
2015159815.tif 000008
【図７】
2015159815.tif 000009
【図８】
2015159815.tif 000010
【図９】
2015159815.tif 000011
【図１０】
2015159815.tif 000012
【図１１】
2015159815.tif 000013
【図１２】
2015159815.tif 000014
【図１３】
2015159815.tif 000015
【手続補正書】
【提出日】平成28年10月11日(2016.10.11)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
【図１】図１は、本実施形態のシステム構成の一例を示す図である。
【図２】図２は、ＴＣＵのハードウェア構成の一例を示す図である。
【図３】図３は、制御サーバ及び配信サーバのハードウェア構成の一例を示す図である。
【図４】図４は、ＴＣＵ管理テーブルの一例を示す図である。
【図５】図５は、更新管理テーブルの一例を示す図である。
【図６】図６は、処理負荷管理テーブルの一例を示す図である。
【図７】図７は、制御サーバの備える機能ブロックの構成の一例を示す図である。
【図８】図８は、ＴＣＵの制御部の処理手順を示すフローチャートである。
【図９】図９は、ＴＣＵの制御部の処理手順の続きを示すフローチャートである。
【図１０】図１０は、制御サーバの処理手順を示すフローチャートである。
【図１１】図１１は、制御サーバの処理手順を示すフローチャートである。
【図１２】図１２は、ＴＣＵの制御部の処理手順を示すフローチャートである。
【図１３】図１３は、制御サーバの処理手順を示すフローチャートである。
【国際調査報告】
2015159815.tif 000016
2015159815.tif 000017
2015159815.tif 000018
2015159815.tif 000019