(57)【要約】【課題】  拡張アプリケーションが制御不能に陥っても適切な対策をとることができるアプリケーション管理装置を提供する。【解決手段】  基本的な機能を実現するための基本アプリケーション３1〜３nを記憶する基本アプリケーション記憶手段１と、基本アプリケーション記憶手段から基本アプリケーションを読み出して実行させる基本アプリケーション実行手段２と、付加的な機能を実現するための拡張アプリケーション７1〜７mを取得して記憶する拡張アプリケーション取得・記憶手段５と、拡張アプリケーション取得・記憶手段から拡張アプリケーションを読み出して実行させる拡張アプリケーション実行手段６と、拡張アプリケーションの実行によって消費されているリソースを監視し、該リソースの使用量が所定値を超えた場合に、基本アプリケーションを動作させたまま所定の拡張アプリケーションを停止させるリソース監視手段８とを備えている。【選択図】        図１
2006277062.tif 000002
【特許請求の範囲】
【請求項１】
基本的な機能を実現するための基本アプリケーションを記憶する基本アプリケーション記憶手段と、
前記基本アプリケーション記憶手段から基本アプリケーションを読み出して実行させる基本アプリケーション実行手段と、
付加的な機能を実現するための拡張アプリケーションを取得して記憶する拡張アプリケーション取得・記憶手段と、
前記拡張アプリケーション取得・記憶手段から拡張アプリケーションを読み出して実行させる拡張アプリケーション実行手段と、
前記拡張アプリケーションの実行によって消費されているリソースを監視し、該リソースの使用量が所定値を超えた場合に、基本アプリケーションを動作させたまま所定の拡張アプリケーションを停止させるリソース監視手段
とを備えたアプリケーション管理装置。
【請求項２】
リソース監視手段は、拡張アプリケーションによるリソースの使用量が所定値を超えた後は、前記拡張アプリケーションからのリソースの要求に対してエラーを返すことを特徴とする請求項１記載のアプリケーション管理装置。
【請求項３】
リソース監視手段は、拡張アプリケーションによるリソースの使用量が所定値を超えた後は、新たな拡張アプリケーションの起動を抑止することを特徴とする請求項１記載のアプリケーション管理装置。
【請求項４】
拡張アプリケーションによるリソースの使用量が所定値を超えた時に実行を停止させるべき拡張アプリケーションを選択する停止アプリケーション選択手段を備え、
リソース監視手段は、拡張アプリケーションによるリソースの使用量が所定値を超えた場合に、前記停止アプリケーション選択手段によって選択された拡張アプリケーションを停止させることを特徴とする請求項１記載のアプリケーション管理装置。
【請求項５】
リソース監視手段は、拡張アプリケーションの実行によって消費されているリソースとして、ＣＰＵ使用率、メモリ使用量、外部記憶装置の使用量、拡張アプリケーションの実行数、画面表示オブジェクトの個数または画面表示オブジェクトの面積の合計の少なくとも１つを監視することを特徴とする請求項１記載のアプリケーション管理装置。
【請求項６】
リソース監視手段は、拡張アプリケーションによるリソースの使用量に加えて基本アプリケーションによるリソースの使用量をも監視することを特徴とする請求項１記載のアプリケーション管理装置。
【請求項７】
リソース監視手段は、拡張アプリケーションによるリソースの使用量が所定値を超えた場合に、拡張アプリケーション実行手段を停止させることによって、拡張アプリケーションを停止させることを特徴とする請求項１記載のアプリケーション管理装置。
【請求項８】
リソース監視手段は、拡張アプリケーション実行手段を停止させた後、該拡張アプリケーション実行手段を初期状態から再起動し、さらに拡張アプリケーション実行手段を停止させた時に動作していた拡張アプリケーションを初期状態から再起動することを特徴とする請求項７記載のアプリケーション管理装置。
【請求項９】
リソース監視手段は、拡張アプリケーション実行手段を停止させた後、リソースの使用量が所定値以下に戻ったら、前記拡張アプリケーション実行手段を初期状態から再起動することを特徴とする請求項８記載のアプリケーション管理装置。
【請求項１０】
リソース監視手段は、拡張アプリケーションを停止させた後、リソースの使用量が所定値以下に戻ったら、停止させた拡張アプリケーションを初期状態から再起動することを特徴とする請求項１記載のアプリケーション管理装置。
【請求項１１】
リソース監視手段は、停止させた拡張アプリケーションを、各拡張アプリケーションにあらかじめ設定されている優先度が高い順、停止時に使用されていたリソースの量が少ない順、または、各拡張アプリケーションにあらかじめ設定されている最大使用リソース量が少ない順に初期状態から再起動し、該再起動によってリソースの量が所定値を越えた場合は再起動を抑止することを特徴とする請求項１０記載のアプリケーション管理装置。
【請求項１２】
外部ネットワークを介して通信を行う通信装置を備え、
リソース監視手段は、拡張アプリケーション実行手段を停止させた時に前記通信装置によって外部ネットワークと接続されている場合は該接続を切断し、その後、該拡張アプリケーション実行手段を初期状態から再起動し、さらに拡張アプリケーション実行手段を停止させた時に動作していた拡張アプリケーションを初期状態から再起動する時に前記通信装置によって外部ネットワークと再接続することを特徴とする請求項８記載のアプリケーション管理装置。
【請求項１３】
外部ネットワークを介して通信を行う通信装置を備え、
リソース監視手段は、拡張アプリケーションを停止させた時に前記通信装置によって外部ネットワークと接続されている場合は該接続を切断し、その後、リソースの使用量が所定値以下に戻ったら、停止させた拡張アプリケーションを初期状態から再起動する時に前記通信装置によって外部ネットワークと再接続することを特徴とする請求項１０記載のアプリケーション管理装置。
【請求項１４】
拡張アプリケーション実行手段が正常に動作しているかを定期的にチェックすることにより該拡張アプリケーション実行手段を監視するウォッチドグタイマを備え、
リソース監視手段は、拡張アプリケーション実行手段を停止させた時に前記ウォッチドグタイマによる監視を停止し、その後、該拡張アプリケーション実行手段を初期状態から再起動し、さらに拡張アプリケーション実行手段を停止させた時に動作していた拡張アプリケーションを初期状態から再起動する時に前記ウォッチドグタイマによる監視を再開することを特徴とする請求項８記載のアプリケーション管理装置。
【請求項１５】
拡張アプリケーションが正常に動作しているかを定期的にチェックすることにより該拡張アプリケーションを監視するウォッチドグタイマを備え、
リソース監視手段は、拡張アプリケーションを停止させた時に前記ウォッチドグタイマによる監視を停止し、その後、リソースの使用量が所定値以下に戻ったら、停止させた拡張アプリケーションを初期状態から再起動する時に前記ウォッチドグタイマによる監視を再開することを特徴とする請求項１０記載のアプリケーション管理装置。
【請求項１６】
リソース監視手段は、リソースの使用量が所定値を超えたかどうかを、所定の間隔ごと、または、拡張アプリケーションがリソース要求を行ったときにチェックすることを特徴とする請求項１記載のアプリケーション管理装置。
【請求項１７】
車両の状態を取得する車両状態取得手段を備え、
リソース監視手段は、リソースの使用量が所定値を超えたかどうかチェックする間隔を、前記車両状態取得手段で取得された車両の状態に応じて変更することを特徴とする請求項１記載のアプリケーション管理装置。
【請求項１８】
リソース監視手段は、拡張アプリケーションの１つ、拡張アプリケーション実行手段の機能の一部、基本アプリケーションの１つ、基本アプリケーション実行手段の機能の一部、または、外部ハードウェア上で動作する監視プログラムとして構成されていることを特徴とする請求項１記載のアプリケーション管理装置。
【請求項１９】
リソース監視手段は、拡張アプリケーションを停止させるリソースの使用量の所定値として、予め設定された一定の値、基本アプリケーションが使用するリソースの量に応じた変動値、拡張アプリケーションごとに設定された既定値またはユーザにより設定された値、拡張アプリケーションの種別に応じた既定値、または、拡張アプリケーションを起動したユーザごとに設定した既定値を用いることを特徴とする請求項１記載のアプリケーション管理装置。
【請求項２０】
車両の状態を取得する車両状態取得手段を備え、
リソース監視手段は、拡張アプリケーションを停止させるリソースの使用量の所定値として、前記車両状態取得手段で取得された車両の状態に応じた変動値を用いることを特徴とする請求項１記載のアプリケーション管理装置。
【請求項２１】
基本的な機能を実現するための基本アプリケーションを記憶する基本アプリケーション記憶手段から基本アプリケーションを読み出して実行させ、
付加的な機能を実現するための拡張アプリケーションを取得して記憶する拡張アプリケーション取得・記憶手段から拡張アプリケーションを読み出して実行させ、
前記拡張アプリケーションの実行によって消費されているリソースを監視し、該リソースの使用量が所定値を超えた場合に、基本アプリケーションを動作させたまま所定の拡張アプリケーションを停止させる、コンピュータで実行可能なソフトウェアを格納した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はアプリケーション管理装置およびそのソフトウェアを格納した記憶媒体に関し、特にアプリケーションが制御不能に陥った時に制御を回復する技術に関するものである。
【背景技術】
【０００２】
従来、例えばカーナビゲーション装置といった機器に組み込みまれ、種々のアプリケーションプログラム（以下、単に「アプリケーション」という）を管理し、適宜実行させるアプリケーション管理装置が知られている。このアプリケーション管理装置で管理されるアプリケーションには、当該機器の基本的な機能を実現するための基本アプリケーションと、当該機器の基本的な機能ではないが、当該機器の利便性を向上させるための付加的な機能を実現するための拡張アプリケーションとが含まれる。
【０００３】
このようなアプリケーション管理装置として、特許文献１は、拡張アプリケーション（追加アプリケーションとして記載されている）がハングアップしても、それを管理するアプリケーションマネージャを強制終了せずに、基本アプリケーション（既存のアプリケーションとして記載されている）を管理するアプリケーションマネージャによる管理画面へ戻すことを可能にしたアプリケーション管理装置を開示している。
【０００４】
この特許文献１に開示されたアプリケーション管理装置においては、基本アプリケーションは第１アプリケーションマネージャ、拡張アプリケーションは第２アプリケーションマネージャで管理されており、第２アプリケーションマネージャから第１アプリケーションマネージャへの切り替えを、第２アプリケーションマネージャとは独立して動作可能な画面制御部で行うように構成されている。これにより、拡張アプリケーションや第２アプリケーションマネージャがハングアップしても、第１アプリケーションマネージャの画面に切り換えることができる。
【０００５】
【特許文献１】特開２００３−２７１３９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述した特許文献１に開示されたアプリケーション管理装置では、拡張アプリケーションがハングアップした場合、それを管理するアプリケーションマネージャを強制終了せずに、基本アプリケーションを管理するアプリケーションマネージャによる管理画面へ戻すことはできる。しかしながら、拡張アプリケーションが暴走してシステム全体のメモリを枯渇させたり、無限ループなどに入ってＣＰＵ（Central Processing Unit）を占有し続けたりすることによって制御不能に陥り、基本アプリケーションの動作に影響を及ぼすような事態が発生しても適切な対策をとることができないという問題がある。
【０００７】
この発明は、このような問題を解消するためになされたものであり、拡張アプリケーションが制御不能に陥っても適切な対策をとることができるアプリケーション管理装置およびそのソフトウェアを格納した記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００８】
この発明に係るアプリケーション管理装置は、上記目的を達成するために、基本的な機能を実現するための基本アプリケーションを記憶する基本アプリケーション記憶手段と、基本アプリケーション記憶手段から基本アプリケーションを読み出して実行させる基本アプリケーション実行手段と、付加的な機能を実現するための拡張アプリケーションを取得して記憶する拡張アプリケーション取得・記憶手段と、拡張アプリケーション取得・記憶手段から拡張アプリケーションを読み出して実行させる拡張アプリケーション実行手段と、拡張アプリケーションの実行によって消費されているリソースを監視し、該リソースの使用量が所定値を超えた場合に、基本アプリケーションを動作させたまま所定の拡張アプリケーションを停止させるリソース監視手段とを備えている。
【０００９】
この発明に係る記憶媒体は、基本的な機能を実現するための基本アプリケーションを記憶する基本アプリケーション記憶手段から基本アプリケーションを読み出して実行させ、付加的な機能を実現するための拡張アプリケーションを取得して記憶する拡張アプリケーション取得・記憶手段から拡張アプリケーションを読み出して実行させ、拡張アプリケーションの実行によって消費されているリソースを監視し、該リソースの使用量が所定値を超えた場合に、基本アプリケーションを動作させたまま所定の拡張アプリケーションを停止させる、コンピュータで実行可能なソフトウェアを格納している。
【発明の効果】
【００１０】
この発明によれば、リソース監視手段でリソースの使用量を監視し、拡張アプリケーションが暴走したり無限ループに入ったりすることにより制御不能に陥ったことをリソースの使用量によって判断し、拡張アプリケーションを停止させるように構成したので、拡張アプリケーションが制御不能に陥っても、重要度が高い基本アプリケーションの動作に影響を及ぼさない。
【００１１】
また、この発明に係る記憶媒体に格納されたソフトウェアをアプリケーション管理装置に適用することにより、上述した第１の発明に係るアプリケーション管理装置と同様の効果を奏する。
【発明を実施するための最良の形態】
【００１２】
以下、この発明の実施の形態を、図面を参照しながら詳細に説明する。なお、以下では、この発明の実施の形態に係るアプリケーション管理装置が車載機器に適用された場合について説明する。
実施の形態１．
図１は、この発明の実施の形態１に係るアプリケーション管理装置の構成を示すブロック図である。このアプリケーション管理装置は、基本アプリケーション記憶手段１、基本アプリケーション実行手段２、基本アプリケーション３1〜３n、リソース４、拡張アプリケーション取得・記憶手段５、拡張アプリケーション実行手段６、拡張アプリケーション７1〜７m、リソース監視手段８、ウォッチドグタイマ９および通信装置１０から構成されている。基本アプリケーション実行手段２は、リソース管理手段２ａを含む。また、拡張アプリケーション実行手段６は、リソース管理手段６ａを含む。
【００１３】
基本アプリケーション記憶手段１は、例えばハードディスクやフラッシュメモリから構成されている。この基本アプリケーション記憶手段１は、車載機器がカーナビゲーション装置であれば、その基本的な機能である例えばナビゲーション機能、経路探索機能等を実現するための基本アプリケーション３1〜３nを記憶している。この基本アプリケーション記憶手段１に記憶されている基本アプリケーション３1〜３nは、基本アプリケーション実行手段２によって読み出される。
【００１４】
基本アプリケーション実行手段２は、基本アプリケーション記憶手段１から基本アプリケーション３1〜３nを読み出し、この読み出した基本アプリケーション３1〜３nを、リソース４を使用して実行させる機能を有する。基本アプリケーション実行手段２は、例えばオペレーティングシステム（以下、「ＯＳ：Operating System」と略する）から構成することができ、この場合、基本アプリケーション３1〜３nは、ＯＳ上で動作するプログラムである。基本アプリケーション実行手段２に含まれるリソース管理手段２ａは、基本アプリケーション３1〜３nに提供するリソースを管理する。
【００１５】
リソース４は、例えばＣＰＵ、メモリ、外部記憶装置から構成されており、基本アプリケーション３1〜３nおよび拡張アプリケーション７1〜７m（詳細は後述する）を実行するために必要な資源である。このリソース４は、基本アプリケーション実行手段２に含まれるリソース管理手段２ａを経由して、基本アプリケーション３1〜３nに提供されるとともに、拡張アプリケーション実行手段６に含まれるリソース管理手段６ａを経由して、拡張アプリケーション７1〜７mに提供される。
【００１６】
拡張アプリケーション取得・記憶手段５は、例えばハードディスクやフラッシュメモリから構成されている。この拡張アプリケーション取得・記憶手段５は、車載機器がカーナビゲーション装置であれば、その付加的な機能である例えば音楽再生機能、動画再生機能等を実現するための拡張アプリケーション７1〜７mを、外部ネットワークに接続された通信装置１０を経由して、またはＣＤ−ＲＯＭ（Compact Disk Read Only Memory）やＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory）といった記憶媒体が装着された外部記憶装置から取得して記憶する。この拡張アプリケーション取得・記憶手段５に記憶されている拡張アプリケーション７1〜７mは、拡張アプリケーション実行手段６によって読み出される。
【００１７】
拡張アプリケーション実行手段は６、拡張アプリケーション取得・記憶手段５から拡張アプリケーション７1〜７mを読み出し、この読み出した拡張アプリケーション７1〜７mを、リソース４を使用して実行させる機能を有する。リソース４は、拡張アプリケーション実行手段６に含まれるリソース管理手段６ａを経由して、各拡張アプリケーション７1〜７mに提供される。拡張アプリケーション実行手段は６、例えばＪａｖａ（登録商標）仮想マシンから構成することができ、この場合、拡張アプリケーション７1〜７mは、Ｊａｖａ（登録商標）仮想マシン上で動作するＪａｖａ（登録商標）プログラムである。なお、拡張アプリケーション実行手段６は、基本アプリケーション３1〜３nの１つとして実装される（例えば、ＯＳ上のＪａｖａ（登録商標）仮想マシン）。拡張アプリケーション実行手段６に含まれるリソース管理手段６ａは、拡張アプリケーション７1〜７mに提供するリソースを管理する。
【００１８】
リソース監視手段８は、拡張アプリケーション７1〜７mによるリソース４の使用状況を監視し、リソース４の使用量が所定値を超えた場合に、基本アプリケーション３1〜３nを動作させたまま、拡張アプリケーション７1〜７mの一部または全部を停止させる。このリソース監視手段８の詳細は後述する。
【００１９】
ウォッチドグタイマ９は、拡張アプリケーション７1〜７mの実行時間を監視するために使用される。拡張アプリケーション７1〜７mは、所定時間間隔でウォッチドグタイマ９をリセットするように構成されている。従って、ウォッチドグタイマ９は、拡張アプリケーション７1〜７mが何らかの理由（例えば自プログラム内でループする）により所定時間内に該ウォッチドグタイマ９をリセットできないときは警報を発する。
【００２０】
通信装置１０は、例えば携帯電話や無線ＬＡＮ制御装置から構成されており、外部ネットワークを経由して外部装置との間で通信を行う。この通信装置１０は、上述したように、拡張アプリケーション７1〜７mを外部装置から取得するために使用される。
【００２１】
次に、リソース監視手段８の詳細を説明する。アプリケーション管理装置では、上述した拡張アプリケーション７1〜７mを追加することにより、基本アプリケーション３1〜３nが備えていない機能を容易に追加することができ、また、拡張アプリケーション実行手段６でＣＰＵやＯＳの違いを吸収することによって、例えばＪａｖａ（登録商標）プログラムのように、ＣＰＵやＯＳに依存しないで所望の機能を実現することができる。
【００２２】
しかしながら、付加的な機能を実行している拡張アプリケーション７1〜７mがバグなどによって暴走し、リソースを大量に消費してしまうと、重要な機能を実行している基本アプリケーション３1〜３nの動作を妨げるおそれがある。今、カーナビゲーション装置において、ナビゲーション機能を基本アプリケーション３1〜３nで実現しつつ、拡張アプリケーション７1〜７mとしてインターネット経由でＪａｖａ（登録商標）によって記述されたゲームプログラムをダウンロードして実行する場合を考えると、ゲームプログラムが画面を頻繁に更新すると、ナビゲーション機能に支障（交差点の近くで適切なタイミングで案内を行うことができず遅れてしまう等）をきたすおそれがある。リソース監視手段８は、このような事態の発生を防止するために設けられている。
【００２３】
図２は、リソース監視手段８において行われるリソース監視処理を示すフローチャートである。リソース監視手段８では、まず、リソース４の使用量がチェックされる（ステップＳＴ１０）。そして、リソース４の使用量が所定値を越えているかどうかが調べられる（ステップＳＴ１１）。ここで、所定値を越えていないことが判断されると、所定の時間だけウエイトし（ステップＳＴ１２）、その後、シーケンスはステップＳＴ１０に戻る。上記ステップＳＴ１１で所定値を越えていることが判断されると、拡張アプリケーション７1〜７mのみが停止される（ステップＳＴ１３）。以上の処理により、所定の間隔で使用中のリソース４の量をチェックし、その量が所定値を超えたら、基本アプリケーション３1〜３nは動作させたまま、拡張アプリケーション７1〜７mのみを停止させるという機能が実現されている。
【００２４】
以上説明したように、この発明の実施の形態１に係るアプリケーション管理装置によれば、アプリケーションが暴走したり無限ループに入ったりすると、ＣＰＵやメモリといったアプリケーションの実行に必要なリソース４の量が減少するが、使用中のリソース４の量を監視し、それが所定値を超えたら、基本アプリケーション３1〜３nより一般的に重要度が低い拡張アプリケーション７1〜７mのみを停止させるように構成したので、重要度が高い基本アプリケーション３1〜３nの動作に悪影響を及ぼさないといった適切な対策をとることができる。
【００２５】
なお、上述した実施の形態１に係るアプリケーション管理装置では、リソース４の使用量のチェックを、図２のフローチャートに示すように、所定間隔で行うように構成してチェック処理を容易ならしめているが、リソース４の使用量のチェックは、拡張アプリケーション７1〜７mからリソース要求がなされたときに行うように構成できる。この構成によれば、リソース４の使用量が増えるのは、リソース要求処理のタイミングであることが多いと考えられるので、効果的にリソース４の使用量をチェックすることができる。
【００２６】
また、リソース監視手段８は、上記ステップＳＴ１１において、拡張アプリケーション７1〜７mによるリソース４の使用量が所定値を超えたと判断したときに、ステップＳＴ１３において拡張アプリケーション７1〜７mを停止させる代わりに、以後の拡張アプリケーション７1〜７mからのリソース４の要求に対してエラーを返すように構成できる。この構成によれば、基本アプリケーション３1〜３nを動作させ続けるだけでなく、拡張アプリケーション７1〜７mがリソース４を要求しなければ、その拡張アプリケーション７1〜７mをも動作させ続けることができる。
【００２７】
また、リソース監視手段８は、上記ステップＳＴ１１において、リソース４の使用量が所定値を超えたと判断したときに、ステップＳＴ１３において拡張アプリケーション７1〜７mを停止させる代わりに、以後の拡張アプリケーション７1〜７mの起動要求に対してエラーを返し、以て新たな拡張アプリケーション７1〜７mの起動を抑止するように構成できる。この構成によれば、基本アプリケーション３1〜３nを動作させ続けるだけでなく、既に動作している拡張アプリケーション７1〜７mをも動作させ続けることができる。
【００２８】
また、リソース監視手段８は、拡張アプリケーション７1〜７mの実行によって消費されているリソース４として、ＣＰＵ使用率、メモリ使用量、外部記憶装置の使用量、拡張アプリケーション７1〜７mの実行数、画面表示オブジェクトの個数、画面表示オブジェクトの面積の合計、または、その他の拡張アプリケーション７1〜７mの実行に必要なハードウェアリソースを監視するように構成することができる。この場合、拡張アプリケーション７1〜７mの用途または目的に応じて、これらのうちの１つまたは複数を組み合わせて監視するように構成できる。この構成により、拡張アプリケーション７1〜７mの用途または目的によって重要なリソース４が異なる場合にも対応できる。
【００２９】
また、リソース監視手段８は、拡張アプリケーション７1〜７mによるリソース４の使用量のみならず、基本アプリケーション３1〜３nによるリソース４の使用量をも監視するように構成できる。この構成によれば、基本アプリケーション３1〜３nによるリソース４の使用量が少なければ、より多くのリソース４を拡張アプリケーション７1〜７mに割り当てることができるので、基本アプリケーション３1〜３nでリソース４を多く使用していない場合は、拡張アプリケーション７1〜７mで多くのリソース４を利用できるようになる。
【００３０】
また、リソース監視手段８は、拡張アプリケーション７1〜７mによるリソース４の使用量が所定値を越えたときに、拡張アプリケーション７1〜７mを個々に停止させる代わりに、拡張アプリケーション実行手段６を停止させることによって、拡張アプリケーション７1〜７mのすべてを一度に停止させるように構成できる。この構成により、何らかの原因で拡張アプリケーション７1〜７mを個々に停止させることができなかった場合にも対応できる。
【００３１】
上述した拡張アプリケーション７1〜７mによるリソース４の使用量が所定値を越えたときに拡張アプリケーション実行手段６を停止させる構成の場合、リソース監視手段８は、拡張アプリケーション実行手段６を停止させた後、該拡張アプリケーション実行手段６を初期状態から再起動し、さらに拡張アプリケーション実行手段６を停止させた時に動作していた拡張アプリケーション７1〜７mのすべてまたは一部を初期状態から再起動するように構成することができる。この構成によれば、拡張アプリケーション実行手段６を停止させる前の状態またはそれに近い状態に回復できる。
【００３２】
リソース監視手段８は、拡張アプリケーション実行手段６を停止させた後、リソース４の使用量が所定値以下に戻ったら、拡張アプリケーション実行手段６を初期状態から再起動するように構成することができる。この構成によれば、使用できるリソース４の量が回復してきたら、拡張アプリケーション実行手段６を停止させる前の状態またはそれに近い状態に回復できる。
【００３３】
同様に、リソース監視手段８は、拡張アプリケーション７1〜７mのすべてまたは一部を停止させた後、リソース４の使用量が所定値以下に戻ったら、停止させた拡張アプリケーション７1〜７mのすべてまたは一部を初期状態から再起動するように構成することができる。この構成によれば、使用できるリソース４の量が回復してきたら、拡張アプリケーション７1〜７mを停止させる前の状態またはそれに近い状態に回復できる。
【００３４】
また、リソース監視手段８は、初期状態から再起動する拡張アプリケーション７1〜７mを、以下のいずれかの方法によって決定するように構成できる。
（１−１）拡張アプリケーション７1〜７mの各々にあらかじめ設定されている優先度が高い順に再起動する。
（１−２）停止時に使用していたリソース４の量が少ない順に再起動する。
（１−３）拡張アプリケーション７1〜７mの各々にあらかじめ設定されている最大使用リソース量が少ない順に再起動する。
また、（１−１）〜（１−３）のいずれかの方法で順次再起動していき、リソース４の使用量が所定値を越えた場合は、それ以上の拡張アプリケーション７1〜７mを再起動しないように構成できる。この構成によれば、リソース４を効率的に使用することができる。
【００３５】
また、リソース監視手段８は、拡張アプリケーション実行手段６を停止させた時に通信装置１０によって外部ネットワークと接続されている場合は該接続を切断し、その後、拡張アプリケーション実行手段６を初期状態から再起動し、さらに拡張アプリケーション実行手段６を停止させた時に動作していた拡張アプリケーション７1〜７mを初期状態から再起動する時に通信装置１０によって外部ネットワークと再接続するように構成できる。これにより、ネットワーク接続も回復できるようになる。
【００３６】
同様に、リソース監視手段８は、拡張アプリケーション７1〜７mを停止させた時に通信装置１０によって外部ネットワークと接続されている場合は該接続を切断し、その後、リソース４の使用量が所定値以下に戻ったら、停止させた拡張アプリケーション７1〜７mを初期状態から再起動する時に通信装置１０によって外部ネットワークと再接続するように構成できる。これにより、ネットワーク接続も回復できるようになる。
【００３７】
リソース監視手段８は、拡張アプリケーション実行手段６を停止させる場合、その拡張アプリケーション実行手段６が正常に動作しているか否かをウォッチドグタイマ９で定期的にチェックすることにより監視するように構成されていれば、拡張アプリケーション実行手段６を停止させるときにウォッチドグタイマ９にその旨を通知してウォッチドグタイマ９による監視を停止し、また拡張アプリケーション実行手段６を再起動するときにその旨をウォッチドグタイマ９に通知して、ウォッチドグタイマ９による監視を再開するように構成できる。この構成により、ウォッチドグタイマ９の誤動作によって、例えば、誤ってシステム異常と判断して、システム全体をリセットする等といった事態の発生を防止できる。
【００３８】
同様に、リソース監視手段８は、拡張アプリケーション７1〜７mを停止させる場合、その拡張アプリケーション７1〜７mが正常に動作しているか否かをウォッチドグタイマ９で監視するように構成されていれば、拡張アプリケーション７1〜７mを停止させるときにウォッチドグタイマ９にその旨を通知してウォッチドグタイマ９の誤動作を防止し、また拡張アプリケーション７1〜７mを再起動するときにウォッチドグタイマ９に通知して、ウォッチドグタイマ９による監視を再開するように構成できる。この構成により、ウォッチドグタイマ９の誤動作によって、例えば、誤ってシステム異常と判断して、システム全体をリセットする等といった事態の発生を防止できる。
【００３９】
リソース監視手段８は、以下のいずれかにより実現することができる。
（２−１）拡張アプリケーション７1〜７mの１つとして実現
（２−２）拡張アプリケーション実行手段６の機能の一部として実現
（２−３）基本アプリケーション３1〜３nの１つとして実現
（２−４）基本アプリケーション実行手段２の機能の一部として実現
（２−５）図示しない外部ハードウェア上で動作する監視プログラムとして実現
【００４０】
リソース監視手段８は、拡張アプリケーション７1〜７mを停止させるリソース４の使用量の所定値として、以下の値を用いることができる。
（３−１）予め設定された一定の値。
（３−２）基本アプリケーション３1〜３nが使用するリソース４の量に応じた変動値。この場合、基本アプリケーション３1〜３nが使用するリソース４の量が多い場合は、小さい値の変動値が使用される。
（３−３）拡張アプリケーション７1〜７mごとに設定された既定値、または、ユーザによって設定された値。
（３−４）拡張アプリケーション７1〜７mの種別に応じた既定値。例えば、信頼できるサイトからダウンロードした拡張アプリケーション７1〜７mに対しては、より多くのリソースを許容するようにする。
（３−５）拡張アプリケーションを起動したユーザごとに設定された既定値。例えば、ドライバが起動した拡張アプリケーションには、より多くのリソースを許容する。
【００４１】
実施の形態２．
この発明の実施の形態２に係るアプリケーション管理装置は、拡張アプリケーション７1〜７mによるリソース４の使用量が所定値を超えた時に実行を停止させる拡張アプリケーション７1〜７mを選択できるようにしたものである。
【００４２】
図３は、この発明の実施の形態２に係るアプリケーション管理装置の構成を示すブロック図である。このアプリケーション管理装置は、実施の形態１に係るアプリケーション管理装置に、ユーザインタフェース１１および停止アプリケーション選択手段１２が追加されて構成されている。
【００４３】
ユーザインタフェース１１は、例えば、表示装置と入力装置とから構成されている。表示装置は、動作中の拡張アプリケーション７1〜７mの一覧をユーザに提示するために使用される。入力装置は、表示装置に提示された拡張アプリケーション７1〜７mの中の１つをユーザが選択するために使用される。
【００４４】
停止アプリケーション選択手段１２は、リソース４の使用量が所定値を超えた時に、実行を停止させる拡張アプリケーション７1〜７mを選択する。この場合、停止アプリケーション選択手段１２は、以下のように動作するように構成できる。
（４−１）動作中の拡張アプリケーション７1〜７mをすべて停止させる。
（４−２）拡張アプリケーション７1〜７mによるリソース４の使用量を調べ、拡張アプリケーション７1〜７mの中の所定個数をリソース４の使用量が多い順に選択する。これにより、リソース４の使用量を大きく減らすことができる。
（４−３）拡張アプリケーション実行手段６で拡張アプリケーション７1〜７mを管理しているテーブル（図示しない）に、拡張アプリケーション７1〜７mの起動時に順番に番号を付けておき、起動された順に拡張アプリケーション７1〜７mを所定個数だけ停止させる。先に起動された拡張アプリケーション７1〜７mは、後から起動された拡張アプリケーション７1〜７mよりも、今後、利用されることが少ないと考えられる。従って、拡張アプリケーション７1〜７mを停止させた時の影響を少なくすることができる。
（４−４）拡張アプリケーション実行手段６で拡張アプリケーション７1〜７mを管理しているテーブル（図示しない）に、拡張アプリケーション７1〜７mの起動時に順番に番号を付けておき、起動された順番と逆の順番で拡張アプリケーション７1〜７mを所定個数だけ停止させる。上記（４−３）と逆に、短時間しか利用されていない拡張アプリケーション７1〜７mは、長時間利用された実績がある拡張アプリケーション７1〜７mより、今後、利用されることが少ない場合も考えられる。従って、拡張アプリケーション７1〜７mを停止させた時の影響を少なくすることができる。
（４−５）拡張アプリケーション７1〜７mを取得・記憶するときに、拡張アプリケーション７1〜７mの本体の他に、拡張アプリケーション７1〜７mの付加情報として優先度を同時に取得し、拡張アプリケーション７1〜７mの各々に優先度を設定しておき、優先度が低い順に拡張アプリケーション７1〜７mを所定個数だけ停止させる。これによって、優先度が低い拡張アプリケーション７1〜７m、つまり停止させても車載機器の動作に与える影響が少ない拡張アプリケーション７1〜７mのみを停止させることができる。
（４−６）動作中の拡張アプリケーション７1〜７mの一覧をユーザインタフェース１１の表示装置に表示させてユーザに提示し、停止させる拡張アプリケーション７1〜７mを所定個数だけユーザに選択させる。これにより、ユーザにとって停止させたくない拡張アプリケーション７1〜７mを誤って停止させないようにできる。
（４−７）上記（４−６）において、ユーザに提示する拡張アプリケーション７1〜７mをリソース４の使用量や優先度に基づいて決定する。これにより、リソース４の使用量および優先度が中程度の拡張アプリケーション７1〜７mのみユーザに提示して選択を求め、リソース４の使用量が大きいまたは優先度が低い拡張アプリケーション７1〜７mは無条件に停止させ、リソース４の使用量が小さいまたは優先度が高い拡張アプリケーション７1〜７mは無条件に動作させたままにするという機能を実現できる。
（４−８）上記（４−２）〜（４−７）で、拡張アプリケーション７1〜７mを所定個数だけ停止させるのではなく、リソース４の使用量が所定値以下になるまで、順次、停止させていく。これにより、不必要に拡張アプリケーション７1〜７mを停止させなくてすむようになる。
（４−９）拡張アプリケーション７1〜７mを取得・記憶するときに、拡張アプリケーション７1〜７mの本体の他に、拡張アプリケーション付加情報として停止可否のフラグを同時に取得し、拡張アプリケーション７1〜７mの各々に停止可否を設定しておき、停止可の拡張アプリケーション７1〜７mのみを停止させる。これにより、停止させると問題がある拡張アプリケーション７1〜７mを停止させなくてすむようになる。
（４−１０）リソース４の使用量が所定値以上の拡張アプリケーション７1〜７mをすべて停止させる。これにより、リソース４の使用量を大きく減らすことができる。
【００４５】
以上説明したように、この発明の実施の形態２に係るアプリケーション管理装置によれば、種々の条件の下に拡張アプリケーション７1〜７mを停止させることができるので、用途や目的に応じて好適なシステムを構築できる。
【００４６】
実施の形態３．
この発明の実施の形態３に係るアプリケーション管理装置は、当該アプリケーション管理装置が車載機器に適用された場合に、車両の情報を利用して拡張アプリケーション７1〜７mの停止等を制御するようにしたものである。車両においては、走行中は、安全性の観点から、例えばナビゲーション機能などといった基本アプリケーション３1〜３nを異常終了させないことが停車中の場合より重要となる。そこで、このアプリケーション管理装置では、車両が走行中であるか停車中であるかを判断して、よりきめ細かい処理を行うようにしている。
【００４７】
図４は、この発明の実施の形態３に係るアプリケーション管理装置の構成を示すブロック図である。このアプリケーション管理装置は、実施の形態１に係るアプリケーション管理装置に、車両状態取得手段１３が追加されて構成されている。車両状態取得手段１３は、図示しない車両状態検出手段、例えば車速センサから車両の状態を表す情報、例えば停止中であるか走行中であるかを示す情報を取得する。
【００４８】
上述した実施の形態１に係るアプリケーション管理装置では、リソース４の使用量のチェックを、所定間隔で、または、拡張アプリケーション７1〜７mからリソース要求がなされたときに行うように構成したが、この実施の形態３に係るアプリケーション管理装置においては、リソース監視手段８は、車両状態取得手段１３で取得された車両の状態に応じてチェックの間隔を変更しながらリソース４の使用量をチェックする。例えば、停止中は長い間隔、走行中は短い間隔でリソース４の使用量がチェックされる。
【００４９】
この構成によれば、リソース監視手段８によるリソース４の使用量のチェック間隔を、走行中は停車中より短くすることによって、リソース４の使用量が急激に増えた場合でも走行中は直ちにそれを検出し、拡張アプリケーション７1〜７mを停止させることができる。従って、危険度が高く、基本アプリケーション３1〜３nを停止させないことが重要な走行中におけるリソース４の使用量のチェックをきめ細かく行うことが可能となる。
【００５０】
また、上述した実施の形態１に係るアプリケーション管理装置では、リソース監視手段８は、拡張アプリケーション７1〜７mを停止させるリソース４の使用量の所定値として、予め設定された一定の値、基本アプリケーション３1〜３nが使用するリソース４の量に応じた変動値、拡張アプリケーション７1〜７mごとに設定した既定値またはユーザ設定値、拡張アプリケーション７1〜７mの種別に応じた既定値、または、拡張アプリケーション７1〜７mを起動したユーザごとに設定した既定値を用いるように構成したが、この実施の形態３に係るアプリケーション管理装置においては、リソース監視手段８は、拡張アプリケーション７1〜７mを停止させるリソース４の使用量の所定値として、車両状態取得手段１３で取得された車両の状態に応じた変動値を用いるように構成されている。具体的には、走行中は停車中の場合よりリソース４の使用量の許容値が小さくされる。この構成により、拡張アプリケーション７1〜７mによるリソース４の使用量がより小さい状態で拡張アプリケーション７1〜７mが停止されるので、基本アプリケーショシ３1〜３nヘ与える影響を小さくすることができる。
【００５１】
なお、上述した実施の形態１〜実施の形態３に係るアプリケーション管理装置を構成する基本アプリケーション実行手段２、リソース管理手段２ａ、拡張アプリケーション実行手段６、リソース管理手段６ａ、リソース監視手段８、停止アプリケーション選択手段１２および車両状態取得手段１３をコンピュータで実行可能なソフトウェアによって構成し、このソフトウェアを格納した記憶媒体を情報処理装置にインストールすることにより実行させるように構成できる。この場合、上述した実施の形態１〜実施の形態３に係るアプリケーション管理装置と同様の作用および効果を奏する。
【図面の簡単な説明】
【００５２】
【図１】この発明の実施の形態１に係るアプリケーション管理装置の構成を示すブロック図である。
【図２】この発明の実施の形態１に係るアプリケーション管理装置のリソース監視手段の動作を説明するためのフローチャートである。
【図３】この発明の実施の形態２に係るアプリケーション管理装置の構成を示すブロック図である。
【図４】この発明の実施の形態３に係るアプリケーション管理装置の構成を示すブロック図である。
【符号の説明】
【００５３】
１  基本アプリケーション記憶手段、２  基本アプリケーション実行手段、２ａ  リソース管理手段、３1〜３n  基本アプリケーション、４  リソース、５  拡張アプリケーション取得・記憶手段、６  拡張アプリケーション実行手段、６ａ  リソース管理手段、７1〜７m  拡張アプリケーション、８  リソース監視手段、９  ウォッチドグタイマ、１０  通信装置、１１  ユーザインタフェース、１２  停止アプリケーション選択手段、１３  車両状態取得手段。
【図１】
2006277062.tif 000003
【図２】
2006277062.tif 000004
【図３】
2006277062.tif 000005
【図４】
2006277062.tif 000006