(57)【要約】【課題】サーバから車載機に新たなプログラムをダウンロードして実行することによって既存プログラムの動作に支障をきたすことを回避可能な「プログラムのダウンロード制御システムおよびダウンロード制御方法」を提供する。【解決手段】車載機２０からサーバ１０に対してプログラムのダウンロード要求があったときに、そのプログラムを車載機２０で実行するときに必要となるリソースの状態量を用いて所定の条件を満たすか否かを判定する状態量判定部３０と、所定の条件を満たさないと判定した場合に警告メッセージを発行する警告部３１とを備え、プログラムを実際にダウンロードして実行する前に、所定の条件を満たさないときには警告メッセージを発行することにより、警告が出された場合にはプログラムをダウンロードしないとか、ダウンロードしても既存プログラムと同時には稼動させないといった対策をユーザがとれるようにする。【選択図】図１
2012113394.tif 000002
【特許請求の範囲】
【請求項１】
サーバと車載機とが通信ネットワークを介して接続可能に構成され、上記サーバから上記車載機にプログラムをダウンロードする際の制御を行うダウンロード制御システムであって、
上記サーバは、ダウンロード対象のプログラムについて、当該プログラムを上記車載機で実行するときに必要となるリソースの状態量である必要リソース情報を上記プログラム毎にあらかじめ記憶する必要リソース情報記憶部を備え、
上記サーバまたは上記車載機は、上記車載機から上記サーバに対してダウンロードが要求されたプログラムに関して上記必要リソース情報記憶部から取得した上記必要リソース情報を用いて、所定の条件を満たすか否かを判定する状態量判定部と、
上記状態量判定部により上記所定の条件を満たさないと判定された場合に、警告メッセージを発行する警告部とを備えたことを特徴とするプログラムのダウンロード制御システム。
【請求項２】
上記車載機は、当該車載機が保有している既存プログラムの実行により使用されるリソースの状態量である使用リソース情報を取得する使用リソース情報取得部を備え、
上記状態量判定部は、上記車載機から上記サーバに対してダウンロードが要求されたプログラムに関して上記必要リソース情報記憶部から取得した上記必要リソース情報と、上記使用リソース情報取得部により取得した上記使用リソース情報とに基づいて、上記必要リソース情報で表されるリソースの状態量と上記使用リソース情報で表されるリソースの状態量との合計が、あらかじめ定められた許容状態量を超えるか否かを判定することによって、上記所定の条件を満たすか否かを判定することを特徴とする請求項１に記載のプログラムのダウンロード制御システム。
【請求項３】
上記状態量判定部は、上記車載機から上記サーバに対してダウンロードが要求されたプログラムに関して上記必要リソース情報記憶部から取得した上記必要リソース情報に基づいて、上記必要リソース情報で表されるリソースの状態量が、あらかじめ定められた許容状態量を超えるか否かを判定することによって、上記所定の条件を満たすか否かを判定することを特徴とする請求項１に記載のプログラムのダウンロード制御システム。
【請求項４】
上記車載機は、当該車載機が保有している既存プログラムを実行するときに必要となるリソースの状態量である第２の必要リソース情報を上記既存プログラム毎にあらかじめ記憶する第２の必要リソース情報記憶部を更に備え、
上記使用リソース情報取得部は、上記第２の必要リソース情報記憶部に記憶されている上記第２の必要リソース情報を用いて、上記車載機が保有している既存プログラムの全てを実行した場合に使用されるリソースの状態量を上記使用リソース情報として取得することを特徴とする請求項２または３に記載のプログラムのダウンロード制御システム。
【請求項５】
上記車載機は、当該車載機が保有している既存プログラムを実行するときに必要となるリソースの状態量である第２の必要リソース情報を上記既存プログラム毎にあらかじめ記憶する第２の必要リソース情報記憶部を更に備え、
上記使用リソース情報取得部は、上記第２の必要リソース情報記憶部に記憶されている上記第２の必要リソース情報を用いて、上記車載機が保有している既存プログラムのうち実行中の既存プログラムにより使用されるリソースの状態量を上記使用リソース情報として取得することを特徴とする請求項２または３に記載のプログラムのダウンロード制御システム。
【請求項６】
サーバから通信ネットワークを介して車載機にプログラムをダウンロードする際の制御を行うプログラムのダウンロード制御方法であって、
上記サーバが、上記車載機からプログラムのダウンロード要求を受け付ける第１のステップと、
上記車載機からプログラムのダウンロード要求を受け付けた場合、上記サーバが、当該サーバが保有しているダウンロード対象のプログラムを上記車載機で実行するときに必要となるリソースの状態量である必要リソース情報を上記プログラム毎にあらかじめ記憶している必要リソース情報記憶部から、上記ダウンロード要求されたプログラムに関する上記必要リソース情報を取得し、取得した上記必要リソース情報を上記車載機に送信する第２のステップと、
上記車載機が、上記ダウンロード要求されたプログラムに関して上記第２のステップで上記サーバから送られた上記必要リソース情報を用いて、所定の条件を満たすか否かを判定する第３のステップと、
上記第３のステップで上記所定の条件を満たさないと判定された場合に、上記車載機が警告メッセージを発行する第４のステップとを有することを特徴とするプログラムのダウンロード制御方法。
【請求項７】
サーバから通信ネットワークを介して車載機にプログラムをダウンロードする際の制御を行うプログラムのダウンロード制御方法であって、
上記サーバが、上記車載機からプログラムのダウンロード要求を受け付ける第１のステップと、
上記車載機からプログラムのダウンロード要求を受け付けた場合、上記サーバが、当該サーバが保有しているダウンロード対象のプログラムを上記車載機で実行するときに必要となるリソースの状態量である必要リソース情報を上記プログラム毎にあらかじめ記憶している必要リソース情報記憶部から、上記ダウンロード要求されたプログラムに関する上記必要リソース情報を取得する第２のステップと、
上記サーバが、上記ダウンロード要求されたプログラムに関して上記第２のステップで取得した上記必要リソース情報に基づいて、上記必要リソース情報で表されるリソースの状態量が所定の条件を満たすか否かを判定する第３のステップと、
上記第３のステップで上記所定の条件を満たさないと判定された場合に、上記サーバが上記車載機に対して警告メッセージを発行する第４のステップとを有することを特徴とするプログラムのダウンロード制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムのダウンロード制御システムおよびダウンロード制御方法に関し、特に、サーバから車載機へプログラムをダウンロードする際の制御技術に関するものである。
【背景技術】
【０００２】
近年、インターネットなどの通信ネットワークに接続可能に成された車載機が提供されており、インターネット上のサーバから所望のプログラムを車載機にダウンロードして利用することが可能となっている。ただし、車載機では、パーソナルコンピュータ等とは違って、メモリ容量やＣＰＵパワーなどのリソースの制約が厳しいのが通常である。そのため、複数のプログラムをダウンロードして同時に実行すると、許容できる範囲を超えてリソースを使うことになってしまい、プログラムの動作に支障をきたす恐れがある。
【０００３】
特に車載機の場合、運転の安全性を向上させるためのプログラム（例えば、車載カメラで撮影した映像を表示するためのプログラム、ハンズフリーで通話を行うためのプログラムなど）や、走行を支援するためのプログラム（例えば、所望の目的地に容易に到達できるようにしたナビゲーションのためのプログラムなど）が存在する。従来、これらのプログラム以外に、新たなプログラムをダウンロードして同時に実行すると、車載カメラの撮影映像の表示が遅れて安全性に影響を及ぼしたり、走行案内が遅れて間違った道に誘導してしまったりすることがあるという問題があった。
【０００４】
なお、アプリケーションの実行に関して、障害の予兆を検知できるようにした技術が提案されている（例えば、特許文献１参照）。この特許文献１では、アプリケーションを実行したときのプロセッサの負荷情報と、アプリケーションを実行したときのハードウェアの構成要素毎のセンサ測定値とを負荷情報毎にあらかじめ対応させてアプリケーションの特性情報として記憶しておく。そして、アプリケーション毎の特性情報から現在の負荷情報に対応する構成要素の状態量の予測値を構成要素毎に求めるとともに、現在の構成要素毎の状態量を現在値として求め、予測値と現在値とに基づいて障害の予兆を判定する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−７９８１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に係る従来技術によれば、アプリケーションの稼動状況とセンサの出力を監視してハードウェアの障害の予兆を検知することが可能である。しかしながら、実際にアプリケーションを実行している状態でなければ障害の予兆を検知することができない。すなわち、車載機に既に存在する既存プログラムと新たにダウンロードするプログラムとを同時に実行したときの動作がリソースの関係から保障されていない場合であっても、実際にプログラムをダウンロードして実行してみなければ、障害の予兆を検知することができない。
【０００７】
本発明は、このような問題を解決するために成されたものであり、サーバから車載機に新たなプログラムをダウンロードして実行することによって既存プログラムの動作に支障をきたすことを回避できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
上記した課題を解決するために、本発明では、車載機からサーバに対してプログラムのダウンロード要求があったときに、そのプログラムを車載機で実行するときに必要となるリソースの状態量を用いて所定の条件を満たすか否かを判定し、所定の条件を満たさないと判定した場合に警告メッセージを発行するようにしている。
【発明の効果】
【０００９】
上記のように構成した本発明によれば、車載機がサーバからプログラムを実際にダウンロードして実行する前に、ダウンロード要求のあったプログラムを既存プログラムが存在する車載機で実行した場合に必要となるリソースを用いて、所定の条件を満たすか否かが判定され、所定の条件を満たさない場合には警告が出される。そのため、ユーザは、警告が出された場合にはプログラムをダウンロードしないとか、ダウンロードしても既存プログラムと同時には稼動させないといった対策をとることが可能となる。これにより、サーバから車載機に新たなプログラムをダウンロードして実行することによって既存プログラムの動作に支障をきたすことを回避することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態によるプログラムのダウンロード制御システムの構成例を示す図である。
【図２】本実施形態によるプログラムのダウンロード制御システムの動作例を示すフローチャートである。
【図３】本実施形態によるプログラムのダウンロード制御システムの他の構成例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、本実施形態によるプログラムのダウンロード制御システムの構成例を示す図である。図１に示すように、本実施形態によるプログラムのダウンロード制御システムは、サーバ１０と車載機２０とがインターネットなどの通信ネットワーク１００を介して接続可能に構成され、サーバ１０から車載機２０にプログラムをダウンロードする際の制御を行うように成されている。
【００１２】
サーバ１０は、プログラム記憶部１１、必要リソース情報記憶部１２、一覧生成部１３、必要リソース情報取得部１４、プログラム取得部１５および通信部１６を備えて構成されている。
【００１３】
プログラム記憶部１１は、車載機２０に対してダウンロード可能なダウンロード対象のプログラムを１つ以上記憶している。また、プログラム記憶部１１は、ダウンロード対象のプログラムの各々について、それらの識別情報（例えば、プログラムＩＤ、プログラム名称、プログラムの種類を表すカテゴリ名など）を記憶している。
【００１４】
必要リソース情報記憶部１２は、プログラム記憶部１１に記憶されているダウンロード対象のプログラムについて、当該プログラムを車載機２０で実行するときに必要となる車載機２０のリソースの状態量を、必要リソース情報としてプログラム毎にプログラムＩＤと関連付けてあらかじめ記憶している。必要リソース情報は、例えば、プログラムを実行するのに必要となるＣＰＵパワー（○○[MIPS/MHz]など）、ＲＡＭアクセス量（○○msec周期、××msec占有など）、ＲＡＭエリア（○○[MIPS/MHz]など）である。
【００１５】
一覧生成部１３は、車載機２０からの要求に応じて、ダウンロード対象のプログラムの一覧を生成する。具体的には、一覧生成部１３は、プログラム記憶部１１に記憶されている各プログラムのプログラムＩＤ、プログラム名称、カテゴリ名を用いて、プログラム一覧を生成する。一覧生成部１３は、生成したプログラム一覧を通信部１６に供給する。
【００１６】
必要リソース情報取得部１４は、車載機２０からダウンロード要求のあったプログラムに関する必要リソース情報をプログラムＩＤと共に必要リソース情報記憶部１２から取得し、通信部１６に供給する。具体的には、必要リソース情報取得部１４は、ダウンロード要求の中に含まれるプログラムＩＤをもとに、該当するプログラムの必要リソース情報を必要リソース情報記憶部１２から取得し、プログラムＩＤと共に通信部１６に供給する。
【００１７】
プログラム取得部１５は、車載機２０からダウンロード実行要求のあったプログラムをプログラムＩＤと共にプログラム記憶部１１から取得し、通信部１６に供給する。具体的には、プログラム取得部１５は、ダウンロード実行要求の中に含まれるプログラムＩＤをもとに、該当するプログラムをプログラム記憶部１１ら取得し、プログラムＩＤと共に通信部１６に供給する。
【００１８】
通信部１６は、車載機２０から通信ネットワーク１００を介して種々の要求を受け取り、その応答を通信ネットワーク１００を介して車載機２０に返すための処理を行う。例えば、通信部１６は、車載機２０からプログラム一覧の表示要求を受け取り、その表示要求を一覧生成部１３に供給する。そして、通信部１６は、その表示要求に対する応答として一覧生成部１３により生成されたプログラム一覧を受け取り、車載機２０に送信する。
【００１９】
また、通信部１６は、車載機２０からプログラムのダウンロード要求を受け取り、そのダウンロード要求の中に含まれるプログラムＩＤを必要リソース情報取得部１４に供給する。すると、そのプログラムＩＤで示されるプログラムに関する必要リソース情報およびプログラムＩＤが必要リソース情報取得部１４により必要リソース情報記憶部１２から取得されるので、通信部１６はその必要リソース情報およびプログラムＩＤを受け取り、車載機２０に送信する。なお、ダウンロード要求を行った車載機２０においてプログラムＩＤを把握しているので、プログラムＩＤは必ずしも送信する必要はない。
【００２０】
また、通信部１６は、車載機２０からプログラムのダウンロード実行要求を受け取り、そのダウンロード実行要求の中に含まれるプログラムＩＤをプログラム取得部１５に供給する。すると、そのプログラムＩＤで示されるプログラムおよびプログラムＩＤがプログラム取得部１５によりプログラム記憶部１１から取得されるので、通信部１６はそのプログラムおよびプログラムＩＤを受け取り、車載機２０に送信する。なお、ダウンロード要求を行った車載機２０においてプログラムＩＤを把握しているので、プログラムＩＤの送信は必須ではない。
【００２１】
車載機２０は、プログラム記憶部２１、プログラム実行部２２、第２の必要リソース情報記憶部２３、要求受付部２４、通信部２５、表示制御部２６、必要リソース情報取得部２７、プログラム取得部２８、使用リソース情報取得部２９、状態量判定部３０、警告部３１および記録部３２を備えて構成されている。
【００２２】
プログラム記憶部２１は、車載機２０において実行可能なプログラムを１つ以上記憶している。このプログラム記憶部２１に記憶されるプログラムは、車載機２０の出荷時の初期状態であらかじめインストールされているプログラムのほかに、サーバ１０からダウンロードしてインストールされたプログラムが存在する。本実施形態では、プログラム記憶部２１に記憶されているプログラムを「既存プログラム」と称する。
【００２３】
プログラム実行部２２は、プログラム記憶部２１に記憶されている既存プログラムの１つまたは複数を実行する。基本的に、プログラム実行部２２は、ユーザにより実行の指示があったプログラムを選択的に実行する。ただし、バックグラウンドで常に動作する必要のあるタイプのプログラム（以下、常駐プログラムという）に関しては、車載機２０の電源がオンになったときに、ユーザからの指示がなくてもプログラム実行部２２が自動的に起動して実行する。
【００２４】
第２の必要リソース情報記憶部２３は、プログラム記憶部２１に記憶されている既存プログラムをプログラム実行部２２が実行するときに必要となる車載機２０のリソースの状態量を、第２の必要リソース情報として既存プログラム毎にプログラムＩＤと関連付けてあらかじめ記憶している。第２の必要リソース情報も必要リソース情報と同様の情報であり、プログラムを実行するのに必要となるＣＰＵパワー（○○[MIPS/MHz]など）、ＲＡＭアクセス量（○○msec周期、××msec占有など）、ＲＡＭエリア（○○[MIPS/MHz]など）などから成る。
【００２５】
要求受付部２４は、操作部４０に対するユーザの操作を通じて、種々の要求を受け付ける。例えば、要求受付部２４は、ダウンロード対象のプログラムの一覧を表示する旨の要求を受け付け、その表示要求を通信部２５に供給する。また、要求受付部２４は、所望のプログラムのダウンロード要求を受け付け、そのダウンロード要求を通信部２５に供給する。また、要求受付部２４は、所望のプログラムのダウンロード実行要求を受け付け、そのダウンロード実行要求を通信部２５に供給する。なお、ダウンロード要求およびダウンロード実行要求の中には、指定されたプログラムのプログラムＩＤが含まれる。
【００２６】
通信部２５は、要求受付部２４から受け取った種々の要求を通信ネットワーク１００を介してサーバ１０に送信し、その応答をサーバ１０から通信ネットワーク１００を介して受信するための処理を行う。例えば、通信部２５は、要求受付部２４からプログラム一覧の表示要求を受け取り、その表示要求をサーバ１０に送信する。そして、通信部２５は、その表示要求に対する応答としてサーバ１０から送られてくるプログラム一覧（プログラムＩＤ、プログラム名称、カテゴリ名を含む）を受信し、表示制御部２６に供給する。表示制御部２６は、通信部２５から受け取ったプログラム一覧を表示部５０に表示する。
【００２７】
また、通信部２５は、要求受付部２４からプログラムのダウンロード要求を受け取り、そのダウンロード要求をサーバ１０に送信する。そして、通信部２５は、そのダウンロード要求に対する応答としてサーバ１０から送られてくる必要リソース情報およびプログラムＩＤを受信し、表示制御部２６および必要リソース情報取得部２７に供給する。表示制御部２６は、通信部２５から受け取った必要リソース情報を表示部５０に表示する。
【００２８】
また、通信部２５は、要求受付部２４からプログラムのダウンロード実行要求を受け取り、そのダウンロード実行要求をサーバ１０に送信する。そして、通信部２５は、そのダウンロード実行要求に対する応答としてサーバ１０から送られてくるプログラムおよびプログラムＩＤを受信し、プログラム取得部２８に供給する。
【００２９】
必要リソース情報取得部２７は、車載機２０から所望のプログラムのダウンロード要求がサーバ１０に送られたときに、その応答としてサーバ１０から送られてくる必要リソース情報およびプログラムＩＤを取得する。必要リソース情報取得部２７は、サーバ１０から必要リソース情報およびプログラムＩＤを取得した場合、その旨を使用リソース情報取得部２９に通知する。
【００３０】
プログラム取得部２８は、車載機２０から所望のプログラムのダウンロード実行要求がサーバ１０に送られたときに、その応答としてサーバ１０から送られてくるプログラムおよびプログラムＩＤを取得する。そして、取得したプログラムおよびプログラムＩＤをプログラム記憶部１１に記憶し、当該プログラムをインストールする。また、プログラム取得部２８は、サーバ１０からプログラムおよびプログラムＩＤを取得した場合、その旨を記録部３２に通知する。
【００３１】
使用リソース情報取得部２９は、必要リソース情報を取得した旨の通知を必要リソース情報取得部２７から受けた場合、プログラム記憶部２１に記憶されている既存プログラムの全てをプログラム実行部２２が実行した場合に使用される車載機２０のリソースの状態量を、使用リソース情報として第２の必要リソース情報記憶部２３から取得する。すなわち、使用リソース情報取得部２９は、プログラム記憶部２１に記憶されている既存プログラムの全てに関する第２の必要リソース情報を、使用リソース情報として第２の必要リソース情報記憶部２３から取得する。
【００３２】
状態量判定部３０は、必要リソース情報取得部２７により取得された必要リソース情報（車載機２０からサーバ１０に対してダウンロード要求されたプログラムを仮に実行した場合に使用されるリソースの状態量）と、使用リソース情報取得部２９により取得された使用リソース情報（プログラム記憶部２１に記憶されている既存プログラムの全てを実行した場合に使用されるリソースの状態量）とに基づいて、必要リソース情報で表されるリソースの状態量と使用リソース情報で表されるリソースの状態量との合計が、あらかじめ定められた許容状態量を超えるか否かを判定する。
【００３３】
ここで、許容状態量は、全てのプログラムを同時に実行させた場合に、プログラムの動作に支障をきたす可能性がない、もしくは低いと考えられる値に設定する。動作に支障をきたすとは、例えば、プログラムの同時実行による負荷が大きすぎて、動作レスポンスが所定速度よりも遅くなるケースを言う。このような許容状態量は、事前の実際の測定結果に基づき設定することが可能である。
【００３４】
なお、本実施形態では、リソースの状態量としてＣＰＵパワー、ＲＡＭアクセス量、ＲＡＭエリアの３種類を用いている。状態量判定部３０は、これら３種類の状態量毎に、必要リソース情報で表される状態量と使用リソース情報で表される状態量との合計を算出し、３種類の状態量毎にあらかじめ設定された許容状態量を超えるか否かをそれぞれ判定する。
【００３５】
警告部３１は、状態量判定部３０により許容状態量を超えると判定された場合に、警告メッセージを表示制御部２６に対して発行する。具体的には、警告部３１は、３種類の状態量のうち何れか１つでも許容状態量を超えると状態量判定部３０により判定された場合に、警告メッセージを表示制御部２６に対して発行する。表示制御部２６は、警告部３１から発行された警告メッセージを表示部５０に表示する。
【００３６】
記録部３２は、サーバ１０からプログラムを取得（ダウンロード）した旨の通知をプログラム取得部２８から受けた場合、そのダウンロードしたプログラムのプログラムＩＤで特定される必要リソース情報（必要リソース情報取得部２７により取得されたもの）を第２の必要リソース情報記憶部２３に新たに追加して記憶する。
【００３７】
次に、上記のように構成した本実施形態によるプログラムのダウンロード制御システムの動作を説明する。図２は、本実施形態によるプログラムのダウンロード制御システムの動作例を示すフローチャートである。図２に示すフローチャートは、例えば、表示部５０に表示されるメニュー画面でプログラムのダウンロードメニューが選択されたときに開始する。
【００３８】
まず、車載機２０において、プログラム一覧の表示要求を要求受付部２４が受け付けると（ステップＳ１）、通信部２５はその表示要求をサーバ１０に送信する（ステップＳ２）。サーバ１０では、プログラム一覧の表示要求を通信部１６にて受信すると、通信部１６はその表示要求を一覧生成部１３に供給する。一覧生成部１３は、プログラム記憶部１１に記憶されている各プログラムのプログラムＩＤ、プログラム名称、カテゴリ名を用いてプログラム一覧を生成し、生成したプログラム一覧を通信部１６に供給する（ステップＳ３）。
【００３９】
通信部１６は、一覧生成部１３から受け取ったプログラム一覧を車載機２０に送信する（ステップＳ４）。車載機２０では、サーバ１０から送られたプログラム一覧を通信部２５にて受信し、表示制御部２６に供給する。表示制御部２６は、通信部２５から受け取ったプログラム一覧を表示部５０に表示する（ステップＳ５）。
【００４０】
プログラム一覧が表示された状態において、要求受付部２４は、一覧の中から何れかのプログラムを選択してダウンロード要求が行われたか否かを判定する（ステップＳ６）。なお、ステップＳ６の判定は、要求受付部２４がダウンロード要求を受け付けるまで繰り返し行われる。そして、要求受付部２４が何れかのプログラムに関するダウンロード要求を受け付けた場合、通信部２５はそのダウンロード要求をサーバ１０に送信する（ステップＳ７）。
【００４１】
サーバ１０では、車載機２０からプログラムのダウンロード要求を通信部１６にて受け付けると、通信部１６はそのダウンロード要求を必要リソース情報取得部１４に供給する。必要リソース情報取得部１４は、ダウンロード要求されたプログラムに関する必要リソース情報を必要リソース情報記憶部１２から取得し、取得した必要リソース情報を通信部１６に供給する（ステップＳ８）。通信部１６は、必要リソース情報取得部１４から受け取った必要リソース情報を車載機２０に送信する（ステップＳ９）。
【００４２】
車載機２０では、サーバ１０から送られた必要リソース情報を通信部２５にて受信し、表示制御部２６および必要リソース情報取得部２７に供給する。表示制御部２６は、通信部２５から受け取った必要リソース情報を表示部５０に表示する（ステップＳ１０）。また、必要リソース情報取得部２７は、通信部２５から取得した必要リソース情報を状態量判定部３０に供給するとともに、必要リソース情報を取得した旨を使用リソース情報取得部２９に通知する。
【００４３】
サーバ１０から必要リソース情報を取得した旨の通知を受けた使用リソース情報取得部２９は、車載機２０が保有している既存プログラムを実行した場合に使用されるリソースの状態量、すなわち、プログラム記憶部２１に記憶されている既存プログラムの全てに関する第２の必要リソース情報を、使用リソース情報として第２の必要リソース情報記憶部２３から取得する（ステップＳ１１）。
【００４４】
次に、状態量判定部３０は、ダウンロード要求されたプログラムに関してステップＳ９でサーバ１０から送られた必要リソース情報（必要リソース情報取得部２７により取得された必要リソース情報）と、ステップＳ１１で第２の必要リソース情報記憶部２３から取得した使用リソース情報とに基づいて、必要リソース情報で表されるリソースの状態量と使用リソース情報で表されるリソースの状態量との合計が、あらかじめ定められた許容状態量を超えるか否かを判定する（ステップＳ１２）。
【００４５】
そして、許容状態量を超えると状態量判定部３０にて判定された場合、警告部３１は、リソースの状態量が許容状態量を超える旨の警告メッセージを発行する（ステップＳ１３）。表示制御部２６は、この警告メッセージを表示部５０に表示する。なお、リソースの状態量が許容状態量を超えないと状態量判定部３０にて判定された場合、ステップＳ１３の処理は行わない。
【００４６】
次に、要求受付部２４は、ダウンロード要求したプログラムについて必要リソース情報や警告メッセージを見たユーザにより、そのプログラムを実際にダウンロードすることを要求するダウンロード実行要求が行われたか否かを判定する（ステップＳ１４）。ここで、ステップＳ１０で必要リソース情報を表示部５０に表示してから所定時間以内にダウンロード実行要求を要求受付部２４が受け付けない場合、図２の処理は終了する。
【００４７】
一方、所定時間以内にダウンロード実行要求を要求受付部２４が受け付けた場合、通信部２５はそのダウンロード実行要求をサーバ１０に送信する（ステップＳ１５）。サーバ１０では、車載機２０からプログラムのダウンロード実行要求を通信部１６にて受信すると、通信部１６はそのダウンロード実行要求をプログラム取得部１５に供給する。
【００４８】
プログラム取得部１５は、ダウンロード実行要求のあったプログラムをプログラム記憶部１１から取得し、取得したプログラムを通信部１６に供給する（ステップＳ１６）。通信部１６は、プログラム取得部１５から受け取ったプログラムを車載機２０に送信する（ステップＳ１７）。
【００４９】
車載機２０では、サーバ１０から送られたプログラムを通信部２５にて受信し、プログラム取得部２８に供給する。プログラム取得部２８は、通信部２５から取得したプログラムをプログラム記憶部１１に記憶してインストールする（ステップＳ１８）。また、プログラム取得部２８は、サーバ１０からプログラムを取得した旨を記録部３２に通知する。
【００５０】
サーバ１０からプログラムを取得（ダウンロード）した旨の通知を受けた記録部３２は、そのダウンロードしたプログラムのプログラムＩＤで特定される必要リソース情報（必要リソース情報取得部２７により取得されたもの）を第２の必要リソース情報記憶部２３に新たに追加して記憶する（ステップＳ１９）。これにより、図２の処理は終了する。
【００５１】
以上詳しく説明したように、本実施形態では、車載機２０からサーバ１０に対してプログラムのダウンロード要求があったときに、そのプログラムを車載機２０で実行するときに必要となるリソースの状態量（サーバ１０から車載機２０に送られる必要リソース情報）と、車載機２０が保有している既存プログラムの実行により使用されるリソースの状態量（車載機２０にて取得される使用リソース情報）との合計が、あらかじめ定められた許容状態量を超えるか否かを判定し、許容状態量を超える場合に警告メッセージを発行するようにしている。
【００５２】
このように構成した本実施形態によれば、車載機２０がサーバ１０からプログラムを実際にダウンロードして実行する前に、ダウンロード要求のあったプログラムと既存プログラムとを車載機２０で同時に実行した場合に許容範囲を超えて車載機２０のリソースを使うことになるかどうかが判定され、許容範囲を超える場合には警告が出される。そのため、ユーザは、警告が出された場合にはプログラムをダウンロードしないとか、ダウンロードしても既存プログラムと同時には稼動させないといった対策をとることが可能となる。これにより、サーバ１０から車載機２０に新たなプログラムをダウンロードして実行することによって既存プログラムの動作に支障をきたすことを回避することができる。
【００５３】
なお、上記実施形態では、ダウンロード要求のあったプログラムに関する必要リソース情報をサーバ１０から車載機２０に送り、車載機２０にてリソースの状態量の合計が許容状態量を超えるか否かを判定するようにしているが、本発明はこれに限定されない。例えば、既存プログラムに関する使用リソース情報を車載機２０からサーバ１０に送り、サーバ１０にてリソースの状態量の合計が許容状態量を超えるか否かを判定するようにしてもよい。この場合、リソースの状態量の合計が許容状態量を超えると判定されたときは、サーバ１０が車載機２０に対して警告メッセージを発行する。
【００５４】
図３は、このようにサーバ１０にて判定を行う場合におけるプログラムのダウンロード制御システムの構成例を示す図である。なお、この図３において、図１に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。
【００５５】
図３に示すように、車載機２０’は、図１に示した状態量判定部３０および警告部３１を備えていない。また、車載機２０’は、図１に示した必要リソース情報取得部２７および使用リソース情報取得部２９の代わりに、若干機能が異なる必要リソース情報取得部２７’および使用リソース情報取得部２９’を備えている。
【００５６】
また、サーバ１０’は、図１に示した構成に加えて、使用リソース情報取得部１７、状態量判定部３０’および警告部３１’を備えている。また、サーバ１０’は、図１に示した必要リソース情報取得部１４の代わりに、若干機能が異なる必要リソース情報取得部１４’を備えている。
【００５７】
サーバ１０’の必要リソース情報取得部１４’は、必要リソース情報記憶部１２から取得した必要リソース情報を、通信部１６に加えて状態量判定部３０’にも供給する。車載機２０’の使用リソース情報取得部２９’は、第２の必要リソース情報記憶部２３から取得した使用リソース情報を通信部２５に供給する。通信部２５は、使用リソース情報取得部２９から受け取った使用リソース情報をサーバ１０’に送信する。
【００５８】
サーバ１０’の使用リソース情報取得部１７は、車載機２０’から送られた使用リソース情報を、通信部１６を介して受け取る。そして、受け取った使用リソース情報を状態量判定部３０’に供給する。状態量判定部３０’は、必要リソース情報取得部１４’により取得された必要リソース情報と、使用リソース情報取得部１７により取得された使用リソース情報とに基づいて、必要リソース情報で表されるリソースの状態量と使用リソース情報で表されるリソースの状態量との合計が許容状態量を超えるか否かを判定する。
【００５９】
警告部３１’は、状態量判定部３０’により許容状態量を超えると判定された場合に、警告メッセージを通信部１６に対して発行する。通信部１６は、警告部３１’から受け取った警告メッセージを車載機２０’に送信する。車載機２０’では、通信部２５がこの警告メッセージを受信して表示制御部２６に供給する。表示制御部２６は、通信部２５から受け取った警告メッセージを表示部５０に表示する。
【００６０】
上述のように、必要リソース情報取得部１４’が必要リソース情報記憶部１２から取得した必要リソース情報を通信部１６に供給した場合、通信部１６はその必要リソース情報を車載機２０’に送信する。車載機２０’では、通信部２５がこの必要リソース情報を受信して表示制御部２６および必要リソース情報取得部２７’に供給する。必要リソース情報取得部２７’は、取得した必要リソース情報を記録部３２に供給する。
【００６１】
また、上記実施形態では、プログラムのダウンロード要求に応じて必要リソース情報をサーバ１０から車載機２０に送信し、リソースの状態量の合計が許容状態量を超えるか否かの判定を行った後に、ダウンロード実行要求が行われた場合にプログラムをサーバ１０から車載機２０にダウンロードするようにしているが、本発明はこれに限定されない。例えば、プログラムのダウンロード要求が行われたときに、必要リソース情報と共にプログラムをサーバ１０から車載機２０にダウンロードする。そして、その後にリソースの状態量の合計が許容状態量を超えるか否かを判定し、超えると判定した場合に警告メッセージを発行するようにしてもよい。
【００６２】
仮に、全ての既存プログラムが必要とするリソースの状態量とダウンロードするプログラムが必要とするリソースの状態量との合計が計算上は許容状態量を超える場合であっても、車載機２０へのダウンロードとインストールのみを行い、インストールしたプログラムの実行まで行わなければ、リソースの状態量の合計が許容状態量を直ちに超えるわけではない。よって、新たなプログラムのダウンロード（もしくはインストール）が終わった後で、リソースの状態量の合計が許容状態量を超えるか否かを判定して警告メッセージを発行すれば、警告メッセージを見たユーザは、全てのプログラムを同時には稼動させないといった対策をとることが可能となる。これにより、サーバ１０から車載機２０に新たなプログラムをダウンロードして実行することによって既存プログラムの動作に支障をきたすことを回避することができる。
【００６３】
なお、ダウンロードするプログラムが常駐プログラムの場合、プログラムのダウンロード、インストールおよび実行までが一連の動作として自動的に行われる可能性がある。そこで、プログラムのダウンロード要求のあったときに、まずはそのプログラムが常駐プログラムか否かを判定する。そして、常駐プログラムでなければ必要リソース情報と共にプログラムをダウンロードし、その後にリソースの状態量の合計が許容状態量を超えるか否かの判定を行う。一方、常駐プログラムであれば、ダウンロード要求に応じて必要リソース情報のみを送信して判定を行い、その後、ダウンロード実行要求が行われた場合にプログラムをダウンロードするようにしてもよい。
【００６４】
また、上記実施形態では、車載機２０のプログラム記憶部２１に記憶されている既存プログラムの全てを実行する場合に必要なリソースの状態量を使用リソース情報として取得する例について説明したが、本発明はこれに限定されない。例えば、プログラム記憶部２１に記憶されている既存プログラムのうち、実行中の既存プログラムが必要とするリソースの状態量を使用リソース情報として取得するようにしてもよい。この場合において、使用リソース情報取得部２９は、車載機２０における既存プログラムの稼動状況を監視し、当該既存プログラムの実行により使用中のリソースの状態量を使用リソース情報として第２の必要リソース情報記憶部２３から取得する。
【００６５】
ダウンロードしようとするプログラムが常駐プログラムで、ダウンロードからインストールを経て実行までが自動実行される場合であっても、現在実行中の既存プログラムが必要とするリソースの状態量と、ダウンロードする常駐プログラムが必要とするリソースの状態量との合計が許容状態量を超えていなければ、当該常駐プログラムをダウンロードして実行することが可能である。
【００６６】
また、上記実施形態では、プログラム一覧の中から何れかのプログラムを選択してダウンロード要求が行われたときに、サーバ１０から車載機２０に必要リソース情報を送信して表示するようにしたが、本発明はこれに限定されない。例えば、プログラム一覧の表示要求が行われたときに、サーバ１０がプログラム記憶部１１に保有している各プログラムの必要リソース情報をプログラム一覧と共に車載機２０に送信し、表示部５０に表示するようにしてもよい。このようにすれば、ユーザがプログラム一覧の中からダウンロード対象として所望のプログラムを選択するときに、負荷の重いプログラムかどうかを考慮しながら選択することが可能となる。
【００６７】
また、上記実施形態では、プログラムの必要リソース情報として、ＣＰＵパワー、ＲＡＭアクセス量、ＲＡＭエリアを用いる例について説明したが、本発明はこれに限定されない。例えば、プログラム割り込みの発生頻度や優先順位、タイマによる割り込みの発生頻度、ＤＭＡ（Direct Memory Access）の発生頻度などを用いてもよい。
【００６８】
この場合は、既存プログラムの使用リソース情報は用いず、ダウンロード対象のプログラムについて必要リソース情報で示されるリソースの状態量が許容状態量を超えたか否かを判定すればよい。このようにすれば、ダウンロードするプログラムによる割り込み処理やＤＭＡ処理によって既存プログラムの動作に遅延をきたすおそれがある場合に警告メッセージを発行することができる。
【００６９】
また、ダウンロードするプログラムの必要リソース情報として、プログラムが使用するＩ／Ｏの状態量（スピーカの数と使用チャンネル、通信ラインの数と種類、動画出力ポートの使用の有無など）、プログラムが使用する周辺チップ（オーディオＤＳＰやビデオＤＳＰなど）のクロック速度などを用いてもよい。
【００７０】
この場合は、既存プログラムが必要とするリソースの状態量とダウンロード対象のプログラムが必要とするリソースの状態量との合計が許容状態量を超えたか否かを判定する代わりに、ダウンロード対象のプログラムが使用するＩ／Ｏの状態量や周辺チップのクロック速度を車載機２０のリソースが満たしているか否かを判定すればよい。このようにすれば、プログラムをダウンロードしても、そのプログラムを実行するのに十分なリソースが車載機２０にないときに警告メッセージを発行することができる。
【００７１】
また、上記実施形態では、リソースの状態量の合計が許容状態量を超えたと判定した場合に警告メッセージを発行する例について説明したが、本発明はこれに限定されない。例えば、警告メッセージの発行に加えてまたは代えて、該当プログラムのダウンロードを禁止するように制御してもよい。
【００７２】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００７３】
１０，１０’  サーバ
１２  必要リソース情報記憶部
１４  必要リソース情報取得部
２０，２０’  車載機
２３  第２の必要リソース情報記憶部
２７，２７’  必要リソース情報取得部
２９，２９’  使用リソース情報取得部
３０，３０’  状態量判定部
３１，３１’  警告部
【図１】
2012113394.tif 000003
【図２】
2012113394.tif 000004
【図３】
2012113394.tif 000005