(57)【要約】【課題】  使用するメモリ容量が管理容量を越えようとした時、Ｊａｖａ（Ｒ）アプリケーションがハングアップしないようにする。【解決手段】  アプリケーションの起動や停止を管理するアプリケーションマネージャと、実際にアプリケーションの制御を行う仮想マシンを有するアプリケーション制御装置において、アプリケーションをローディングするための読込み手段と、前記読込み手段でローディングしたアプリケーションを管理するためのアプリケーション管理手段と、前記アプリケーションに関する情報を記憶するためのアプリケーション情報記憶手段と、前記アプリケーションマネージャが前記仮想マシンとデータや命令の送受信を行うための通信手段とを備える。【選択図】        図３
2005202652.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションの起動や停止を管理するアプリケーションマネージャと、実際にアプリケーションの制御を行う仮想マシンを有するアプリケーション制御装置において、アプリケーションをローディングするための読込み手段と、前記読込み手段でローディングしたアプリケーションを管理するためのアプリケーション管理手段と、前記アプリケーションに関する情報を記憶するためのアプリケーション情報記憶手段と、前記アプリケーションマネージャが前記仮想マシンとデータや命令の送受信を行うための通信手段とを備えたことを特徴とするアプリケーション制御装置。
【請求項２】
前記仮想マシンは、前記アプリケーションマネージャとデータや命令の送受信を行うための通信手段と、前記アプリケーションのメモリの使用状況を監視するためのメモリ監視手段と、前記アプリケーションの起動や停止などの制御を行うためのプログラム制御手段を有することを特徴とする請求項１記載のアプリケーション制御装置。
【請求項３】
前記アプリケーションマネージャのアプリケーション情報記憶手段は、前記アプリケーションの名前、実行結果、前回使用したメモリ使用量、最終使用日時、使用頻度や次回起動を許可するかどうかの情報を記憶することを特徴とする請求項１記載のアプリケーション制御装置。
【請求項４】
前記アプリケーションマネージャのアプリケーション管理手段は、前記読込み手段でローディングしたアプリケーションの起動や停止の指示を、前記通信手段を用いて前記仮想マシンに指示することを特徴とする請求項１記載のアプリケーション制御装置。
【請求項５】
前記アプリケーションマネージャのアプリケーション管理手段は、実行中の全てのアプリケーションが使用しているメモリ容量に関する情報を、前記通信手段を用いて前記仮想マシンから獲得することを特徴とする請求項１記載のアプリケーション制御装置。
【請求項６】
前記アプリケーションマネージャのアプリケーション管理手段は、実行中の全てのアプリケーションのメモリ使用量の合計が、前記仮想マシンが管理しているメモリ容量を越えそうになった場合、前記アプリケーション情報記憶手段を用いて停止するアプリケーションを選択し、前記通信手段を用いて前記仮想マシンに停止の指示を行うことを特徴とする請求項１記載のアプリケーション制御装置。
【請求項７】
前記アプリケーションマネージャのアプリケーション管理手段は、停止するアプリケーションを選択する方法として、前記アプリケーション情報記憶手段を用いて記憶されている情報の中から、前回の実行結果が異常終了したものを優先して選択するポリシーを有することを特徴とする請求項１記載のアプリケーション制御装置。
【請求項８】
前記アプリケーションマネージャのアプリケーション管理手段は、停止するアプリケーションを選択する方法として、前記アプリケーション情報記憶手段を用いて記憶されている情報の中から、前回使用したメモリ使用量が最大であるものを優先して選択するポリシーを有することを特徴とする請求項１記載のアプリケーション制御装置。
【請求項９】
前記アプリケーションマネージャのアプリケーション管理手段は、停止するアプリケーションを選択する方法として、前記アプリケーション情報記憶手段を用いて記憶されている情報の中から、最終使用日時が一番古いものを優先して選択するポリシーを有することを特徴とする請求項１記載のアプリケーション制御装置。
【請求項１０】
前記アプリケーションマネージャのアプリケーション管理手段は、停止するアプリケーションを選択する方法として、前記アプリケーション情報記憶手段を用いて記憶されている情報の中から、使用頻度が一番少ないものを優先して選択するポリシーを有することを特徴とする請求項１記載のアプリケーション制御装置。
【請求項１１】
前記アプリケーションマネージャのアプリケーション管理手段は、停止するアプリケーションを選択する方法として、様々なポリシーを組み合わせることが可能なことを特徴とする請求項１記載のアプリケーション制御装置。
【請求項１２】
前記アプリケーションマネージャのアプリケーション管理手段は、停止するアプリケーションを選択する方法のポリシーを、追加したり削除したりすることが可能なことを特徴とする請求項１記載のアプリケーション制御装置。
【請求項１３】
前記アプリケーションマネージャのアプリケーション管理手段は、前記読込み手段を用いてローディングしたアプリケーションが、前記アプリケーション情報記憶手段を用いて記憶されている情報に次回起動が禁止となっている場合、ローディングしたアプリケーションの起動を禁止することを特徴とする請求項１記載のアプリケーション制御装置。
【請求項１４】
アプリケーションの起動や停止を管理するアプリケーションマネージャと、実際にアプリケーションの制御を行う仮想マシンを有するアプリケーション制御装置の制御方法において、アプリケーションをローディングするための読込み工程と、前記読込み工程でローディングしたアプリケーションを管理するためのアプリケーション管理工程と、前記アプリケーションに関する情報を記憶するためのアプリケーション情報記憶工程と、前記アプリケーションマネージャが前記仮想マシンとデータや命令の送受信を行うための通信工程とを備えたことを特徴とするアプリケーション制御装置の制御方法。
【請求項１５】
前記仮想マシンは、前記アプリケーションマネージャとデータや命令の送受信を行うための通信工程と、前記アプリケーションのメモリの使用状況を監視するためのメモリ監視工程と、前記アプリケーションの起動や停止などの制御を行うためのプログラム制御工程を有することを特徴とする請求項１４記載のアプリケーション制御装置の制御方法。
【請求項１６】
前記アプリケーションマネージャのアプリケーション情報記憶工程は、前記アプリケーションの名前、実行結果、前回使用したメモリ使用量、最終使用日時、使用頻度や次回起動を許可するかどうかの情報を記憶することを特徴とする請求項１４記載のアプリケーション制御装置の制御方法。
【請求項１７】
前記アプリケーションマネージャのアプリケーション管理工程は、前記読込み工程でローディングしたアプリケーションの起動や停止の指示を、前記通信工程を用いて前記仮想マシンに指示することを特徴とする請求項１４記載のアプリケーション制御装置の制御方法。
【請求項１８】
前記アプリケーションマネージャのアプリケーション管理工程は、実行中の全てのアプリケーションが使用しているメモリ容量に関する情報を、前記通信工程を用いて前記仮想マシンから獲得することを特徴とする請求項１４記載のアプリケーション制御装置の制御方法。
【請求項１９】
前記アプリケーションマネージャのアプリケーション管理工程は、実行中の全てのアプリケーションのメモリ使用量の合計が、前記仮想マシンが管理しているメモリ容量を越えそうになった場合、前記アプリケーション情報記憶工程を用いて停止するアプリケーションを選択し、前記通信工程を用いて前記仮想マシンに停止の指示を行うことを特徴とする請求項１４記載のアプリケーション制御装置の制御方法。
【請求項２０】
前記アプリケーションマネージャのアプリケーション管理工程は、停止するアプリケーションを選択する方法として、前記アプリケーション情報記憶工程を用いて記憶されている情報の中から、前回の実行結果が異常終了したものを優先して選択するポリシーを有することを特徴とする請求項１４記載のアプリケーション制御装置の制御方法。
【請求項２１】
前記アプリケーションマネージャのアプリケーション管理工程は、停止するアプリケーションを選択する方法として、前記アプリケーション情報記憶工程を用いて記憶されている情報の中から、前回使用したメモリ使用量が最大であるものを優先して選択するポリシーを有することを特徴とする請求項１４記載のアプリケーション制御装置の制御方法。
【請求項２２】
前記アプリケーションマネージャのアプリケーション管理工程は、停止するアプリケーションを選択する方法として、前記アプリケーション情報記憶工程を用いて記憶されている情報の中から、最終使用日時が一番古いものを優先して選択するポリシーを有することを特徴とする請求項１４記載のアプリケーション制御装置の制御方法。
【請求項２３】
前記アプリケーションマネージャのアプリケーション管理工程は、停止するアプリケーションを選択する方法として、前記アプリケーション情報記憶工程を用いて記憶されている情報の中から、使用頻度が一番少ないものを優先して選択するポリシーを有することを特徴とする請求項１４記載のアプリケーション制御装置の制御方法。
【請求項２４】
前記アプリケーションマネージャのアプリケーション管理工程は、停止するアプリケーションを選択する方法として、様々なポリシーを組み合わせることが可能なことを特徴とする請求項１４記載のアプリケーション制御装置の制御方法。
【請求項２５】
前記アプリケーションマネージャのアプリケーション管理工程は、停止するアプリケーションを選択する方法のポリシーを、追加したり削除したりすることが可能なことを特徴とする請求項１４記載のアプリケーション制御装置の制御方法。
【請求項２６】
前記アプリケーションマネージャのアプリケーション管理工程は、前記読込み工程を用いてローディングしたアプリケーションが、前記アプリケーション情報記憶工程を用いて記憶されている情報に次回起動が禁止となっている場合、ローディングしたアプリケーションの起動を禁止することを特徴とする請求項１４記載のアプリケーション制御装置の制御方法。
【請求項２７】
アプリケーションの起動や停止を管理するアプリケーションマネージャと、実際にアプリケーションの制御を行う仮想マシンを有するアプリケーション制御装置が実行するプログラムコードが格納された記憶媒体において、前記プログラムコードは、アプリケーションをローディングするための読込み手順と、前記読込み手順でローディングしたアプリケーションを管理するためのアプリケーション管理手順と、前記アプリケーションに関する情報を記憶するためのアプリケーション情報記憶手順と、前記アプリケーションマネージャが前記仮想マシンとデータや命令の送受信を行うための通信手順とを含むことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組込み機器内で複数のアプリケーションを同時実行する場合における効率的なメモリの使用方法、および信頼性を向上して安定的に運用するための処理方法に関するものである。
【背景技術】
【０００２】
従来、組込み機器におけるアプリケーションは、システムの作成時に静的にコンパイルとリンクが行われてシステムに組み込まれており、システムの稼動中にアプリケーションを動的にインストールすることが不可能な場合が多かった。また、組込み機器においては、メモリ容量が限られているという制限から、同時実行するアプリケーションが使用するメモリ容量の合計も、機器に搭載されている物理的なメモリ容量を越えないことが大前提になっている。もし、メモリ容量を超える場合は、システムが停止するなどの異常状態に陥る。しかし、インターネット接続機能を備えた組込み機器が多くなり、パーソナルコンピュータ（ＰＣ）やワークステーション（ＷＳ）上のＷｅｂブラウザから組込み機器にアプリケーションを動的にインストールしたり、組込み機器自身がインターネットまたは企業内のファイルサーバから必要なアプリケーションを動的にダウンロードして実行することも行われるようになりつつある。一例として、米国およびその他の国における米国Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ，  Ｉｎｃ．の商標または登録商標であるＪａｖａ（Ｒ）言語で記述されたＪａｖａ（Ｒ）アプレットやＪａｖａ（Ｒ）アプリケーションが、Ｊａｖａ（Ｒ）の実行環境であるＪａｖａ（Ｒ）仮想マシン（Ｊａｖａ（Ｒ）  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ、以後ＪＶＭ）が実装された組込み機器に動的にダウンロードし実行することが行われている。
【０００３】
従来、複数のアプリケーションを同時実行した場合のメモリ不足における対処方法としては、アプリケーションをロードする際、メモリが不足している場合は削除可能なアプリケーションを停止しメモリを解放する方法がとられている（例えば、特許文献１を参照）。また、ユーザによりあらかじめプログラムの同時実行可能制限数を定義することで安定的に運用できるようにすることが考案されている（例えば、特許文献２を参照）。
【特許文献１】特開平５−６３１８号公報
【特許文献２】特開平８−３２８８８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来例の特許文献１では、アプリケーションをロードする際にはメモリがあったが、アプリケーションの実行中に動的にメモリを獲得する場合に陥るメモリ不足には対応できないという問題がある。また、上記特許文献２のように、ユーザによりあらかじめプログラムの同時実行可能制限数を定義する方法では、メモリはまだ十分あるのにプログラムの同時実行可能制限のため、それ以上プログラムを実行できないことになり、メモリを有効に使用できないという問題がある。
【０００５】
一方、Ｊａｖａ（Ｒ）の実行環境が実装された組込み機器で複数のＪａｖａ（Ｒ）アプリケーションやＪａｖａ（Ｒ）アプレットを同時実行する場合も、メモリ不足という問題が発生する。Ｊａｖａ（Ｒ）の場合には、Ｊａｖａ（Ｒ）アプリケーションが使用するメモリはＪａｖａ（Ｒ）仮想マシン（ＪＶＭ）によって管理されるが、実行中のＪａｖａ（Ｒ）アプリケーションが使用するメモリ容量が、ＪＶＭが管理するメモリ容量を越え時には、Ｊａｖａ（Ｒ）アプリケーションが終了することになる。特に問題なのは、１つのＪＶＭで複数のＪａｖａ（Ｒ）アプリケーションを同時実行した場合、実行中のＪａｖａ（Ｒ）アプリケーションが使用するメモリ容量の合計が、ＪＶＭが管理するメモリ容量を越え時には、全てのＪａｖａ（Ｒ）アプリケーションがハングアップしたり、最悪の場合には組込み機器の再起動しなければいけなくなる。
【０００６】
本発明は、このような背景の下になされたもので、その課題は、アプリケーション、特に、１つのＪＶＭで複数のＪａｖａ（Ｒ）アプリケーションを同時実行した場合に、実行中のＪａｖａ（Ｒ）アプリケーションが使用するメモリ容量の合計が、ＪＶＭが管理するメモリ容量を越えようとした時、Ｊａｖａ（Ｒ）アプリケーションがハングアップしないようにするアプリケーション制御装置、その制御方法及び記憶媒体を提供することにある。また、異常にメモリを消費する不正なＪａｖａ（Ｒ）アプリケーションを記憶しておき、次回その不正なＪａｖａ（Ｒ）アプリケーションを実行しようとした時には、記憶しておいた情報を事前にチェックし、実行させないようにするアプリケーション制御装置、その制御方法及び記憶媒体を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の請求項１に記載のアプリケーション制御装置は、アプリケーションの起動や停止を管理するアプリケーションマネージャと、実際にアプリケーションの制御を行う仮想マシンを有するアプリケーション制御装置において、アプリケーションをローディングするための読込み手段と、前記読込み手段でローディングしたアプリケーションを管理するためのアプリケーション管理手段と、前記アプリケーションに関する情報を記憶するためのアプリケーション情報記憶手段と、前記アプリケーションマネージャが前記仮想マシンとデータや命令の送受信を行うための通信手段とを備えたことを特徴とする。
【０００８】
請求項２に記載のアプリケーション制御装置は、請求項１に係るプログラム実行装置において、前記仮想マシンは、前記アプリケーションマネージャとデータや命令の送受信を行うための通信手段と、前記アプリケーションのメモリの使用状況を監視するためのメモリ監視手段と、前記アプリケーションの起動や停止などの制御を行うためのプログラム制御手段を有することを特徴とする
請求項３に記載のアプリケーション制御装置は、請求項１に係るプログラム実行装置において、前記アプリケーションマネージャのアプリケーション情報記憶手段は、前記アプリケーションの名前、実行結果、前回使用したメモリ使用量、最終使用日時、使用頻度や次回起動を許可するかどうかの情報を記憶することを特徴とする。
【０００９】
請求項４に記載のアプリケーション制御装置は、請求項１に係るプログラム実行装置において、前記アプリケーションマネージャのアプリケーション管理手段は、前記読込み手段でローディングしたアプリケーションの起動や停止の指示を、前記通信手段を用いて前記仮想マシンに指示することを特徴とする。
【００１０】
請求項５に記載のアプリケーション制御装置は、請求項１に係るプログラム実行装置において、前記アプリケーションマネージャのアプリケーション管理手段は、実行中の全てのアプリケーションが使用しているメモリ容量に関する情報を、前記通信手段を用いて前記仮想マシンから獲得することを特徴とする。
【００１１】
請求項６に記載のアプリケーション制御装置は、請求項１に係るプログラム実行装置において、前記アプリケーションマネージャのアプリケーション管理手段は、実行中の全てのアプリケーションのメモリ使用量の合計が、前記仮想マシンが管理しているメモリ容量を越えそうになった場合、前記アプリケーション情報記憶手段を用いて停止するアプリケーションを選択し、前記通信手段を用いて前記仮想マシンに停止の指示を行うことを特徴とする。
【００１２】
請求項７に記載のアプリケーション制御装置は、請求項１に係るプログラム実行装置において、前記アプリケーションマネージャのアプリケーション管理手段は、停止するアプリケーションを選択する方法として、前記アプリケーション情報記憶手段を用いて記憶されている情報の中から、前回の実行結果が異常終了したものを優先して選択するポリシーを有することを特徴とする。
【００１３】
請求項８に記載のアプリケーション制御装置は、請求項１に係るプログラム実行装置において、前記アプリケーションマネージャのアプリケーション管理手段は、停止するアプリケーションを選択する方法として、前記アプリケーション情報記憶手段を用いて記憶されている情報の中から、前回使用したメモリ使用量が最大であるものを優先して選択するポリシーを有することを特徴とする。
【００１４】
請求項９に記載のアプリケーション制御装置は、請求項１に係るプログラム実行装置において、前記アプリケーションマネージャのアプリケーション管理手段は、停止するアプリケーションを選択する方法として、前記アプリケーション情報記憶手段を用いて記憶されている情報の中から、最終使用日時が一番古いものを優先して選択するポリシーを有することを特徴とする。
【００１５】
請求項１０に記載のアプリケーション制御装置は、請求項１に係るプログラム実行装置において、前記アプリケーションマネージャのアプリケーション管理手段は、停止するアプリケーションを選択する方法として、前記アプリケーション情報記憶手段を用いて記憶されている情報の中から、使用頻度が一番少ないものを優先して選択するポリシーを有することを特徴とする。
【００１６】
請求項１１に記載のアプリケーション制御装置は、請求項１に係るプログラム実行装置において、前記アプリケーションマネージャのアプリケーション管理手段は、停止するアプリケーションを選択する方法として、様々なポリシーを組み合わせることが可能なことを特徴とする。
【００１７】
請求項１２に記載のアプリケーション制御装置は、請求項１に係るプログラム実行装置において、前記アプリケーションマネージャのアプリケーション管理手段は、停止するアプリケーションを選択する方法のポリシーを、追加したり削除したりすることが可能なことを特徴とする。
【００１８】
請求項１３に記載のアプリケーション制御装置は、請求項１に係るプログラム実行装置において、前記アプリケーションマネージャのアプリケーション管理手段は、前記読込み手段を用いてローディングしたアプリケーションが、前記アプリケーション情報記憶手段を用いて記憶されている情報に次回起動が禁止となっている場合、ローディングしたアプリケーションの起動を禁止することを特徴とする。
【００１９】
請求項１４に記載のアプリケーション制御装置の制御方法は、アプリケーションの起動や停止を管理するアプリケーションマネージャと、実際にアプリケーションの制御を行う仮想マシンを有するアプリケーション制御装置の制御方法において、アプリケーションをローディングするための読込み工程と、前記読込み工程でローディングしたアプリケーションを管理するためのアプリケーション管理工程と、前記アプリケーションに関する情報を記憶するためのアプリケーション情報記憶工程と、前記アプリケーションマネージャが前記仮想マシンとデータや命令の送受信を行うための通信工程とを備えたことを特徴とする。
【００２０】
請求項１５に記載のアプリケーション制御装置の制御方法は、請求項１４に係るアプリケーション制御装置の制御方法において、前記仮想マシンは、前記アプリケーションマネージャとデータや命令の送受信を行うための通信工程と、前記アプリケーションのメモリの使用状況を監視するためのメモリ監視工程と、前記アプリケーションの起動や停止などの制御を行うためのプログラム制御工程を有することを特徴とする。
【００２１】
請求項１６に記載のアプリケーション制御装置の制御方法は、請求項１４に係るアプリケーション制御装置の制御方法において、前記アプリケーションマネージャのアプリケーション情報記憶工程は、前記アプリケーションの名前、実行結果、前回使用したメモリ使用量、最終使用日時、使用頻度や次回起動を許可するかどうかの情報を記憶することを特徴とする。
【００２２】
請求項１７に記載のアプリケーション制御装置の制御方法は、請求項１４に係るアプリケーション制御装置の制御方法において、前記アプリケーションマネージャのアプリケーション管理工程は、前記読込み工程でローディングしたアプリケーションの起動や停止の指示を、前記通信工程を用いて前記仮想マシンに指示することを特徴とする。
【００２３】
請求項１８に記載のアプリケーション制御装置の制御方法は、請求項１４に係るアプリケーション制御装置の制御方法において、前記アプリケーションマネージャのアプリケーション管理工程は、実行中の全てのアプリケーションが使用しているメモリ容量に関する情報を、前記通信工程を用いて前記仮想マシンから獲得することを特徴とする。
【００２４】
請求項１９に記載のアプリケーション制御装置の制御方法は、請求項１４に係るアプリケーション制御装置の制御方法において、前記アプリケーションマネージャのアプリケーション管理工程は、実行中の全てのアプリケーションのメモリ使用量の合計が、前記仮想マシンが管理しているメモリ容量を越えそうになった場合、前記アプリケーション情報記憶工程を用いて停止するアプリケーションを選択し、前記通信工程を用いて前記仮想マシンに停止の指示を行うことを特徴とする。
【００２５】
請求項２０に記載のアプリケーション制御装置の制御方法は、請求項１４に係るアプリケーション制御装置の制御方法において、前記アプリケーションマネージャのアプリケーション管理工程は、停止するアプリケーションを選択する方法として、前記アプリケーション情報記憶工程を用いて記憶されている情報の中から、前回の実行結果が異常終了したものを優先して選択するポリシーを有することを特徴とする。
【００２６】
請求項２１に記載のアプリケーション制御装置の制御方法は、請求項１４に係るアプリケーション制御装置の制御方法において、前記アプリケーションマネージャのアプリケーション管理工程は、停止するアプリケーションを選択する方法として、前記アプリケーション情報記憶工程を用いて記憶されている情報の中から、前回使用したメモリ使用量が最大であるものを優先して選択するポリシーを有することを特徴とする。
【００２７】
請求項２２に記載のアプリケーション制御装置の制御方法は、請求項１４に係るアプリケーション制御装置の制御方法において、前記アプリケーションマネージャのアプリケーション管理工程は、停止するアプリケーションを選択する方法として、前記アプリケーション情報記憶工程を用いて記憶されている情報の中から、最終使用日時が一番古いものを優先して選択するポリシーを有することを特徴とする。
【００２８】
請求項２３に記載のアプリケーション制御装置の制御方法は、請求項１４に係るアプリケーション制御装置の制御方法において、前記アプリケーションマネージャのアプリケーション管理工程は、停止するアプリケーションを選択する方法として、前記アプリケーション情報記憶工程を用いて記憶されている情報の中から、使用頻度が一番少ないものを優先して選択するポリシーを有することを特徴とする。
【００２９】
請求項２４に記載のアプリケーション制御装置の制御方法は、請求項１４に係るアプリケーション制御装置の制御方法において、前記アプリケーションマネージャのアプリケーション管理工程は、停止するアプリケーションを選択する方法として、様々なポリシーを組み合わせることが可能なことを特徴とする。
【００３０】
請求項２５に記載のアプリケーション制御装置の制御方法は、請求項１４に係るアプリケーション制御装置の制御方法において、前記アプリケーションマネージャのアプリケーション管理工程は、停止するアプリケーションを選択する方法のポリシーを、追加したり削除したりすることが可能なことを特徴とする。
【００３１】
請求項２６に記載のアプリケーション制御装置の制御方法は、請求項１４に係るアプリケーション制御装置の制御方法において、前記アプリケーションマネージャのアプリケーション管理工程は、前記読込み工程を用いてローディングしたアプリケーションが、前記アプリケーション情報記憶工程を用いて記憶されている情報に次回起動が禁止となっている場合、ローディングしたアプリケーションの起動を禁止することを特徴とする。
【００３２】
請求項２７に記載の記憶媒体は、アプリケーションの起動や停止を管理するアプリケーションマネージャと、実際にアプリケーションの制御を行う仮想マシンを有するアプリケーション制御装置が実行するプログラムコードが格納された記憶媒体において、前記プログラムコードは、アプリケーションをローディングするための読込み手順と、前記読込み手順でローディングしたアプリケーションを管理するためのアプリケーション管理手順と、前記アプリケーションに関する情報を記憶するためのアプリケーション情報記憶手順と、前記アプリケーションマネージャが前記仮想マシンとデータや命令の送受信を行うための通信手順とを含むことを特徴とする。
【発明の効果】
【００３３】
本発明の請求項１に記載のアプリケーション制御装置によれば、アプリケーションの起動や停止を管理するアプリケーションマネージャと、実際にアプリケーションの制御を行う仮想マシンを有するアプリケーション制御装置において、アプリケーションをローディングするための読込み手段と、読込み手段でローディングしたアプリケーションを管理するためのアプリケーション管理手段と、アプリケーションに関する情報を記憶するためのアプリケーション情報記憶手段と、アプリケーションマネージャが仮想マシンとデータや命令の送受信を行うための通信手段を備えているので、ダウンロードしたアプリケーションを実行するのが適切かどうか事前に判断でき、さらにアプリケーションの起動と停止を適切に仮想マシンに指示できるという効果がある。尚、請求項１４に記載のアプリケーション制御装置の制御方法においても同様の効果を得ることができる。
【００３４】
請求項２に記載のアプリケーション制御装置によれば、仮想マシンはアプリケーションマネージャとデータや命令の送受信を行うための通信手段と、アプリケーションのメモリの使用状況を監視するためのメモリ監視手段と、アプリケーションの起動や停止などの制御を行うためのプログラム制御手段を有するので、仮想マシン上で実行中の全てのアプリケーションのメモリ使用量をアプリケーションマネージャに通知することができ、その結果、メモリの空き容量が少なくなった場合でも、アプリケーションの終了など適切な対処が行えるという効果がある。尚、請求項１５に記載のアプリケーション制御装置の制御方法においても同様の効果を得ることができる。
【００３５】
請求項３に記載のアプリケーション制御装置によれば、アプリケーションマネージャのアプリケーション情報記憶手段は、アプリケーションの名前、実行結果、前回使用したメモリ使用量、最終使用日時、使用頻度や次回起動を許可するかどうかの情報を記憶するので、ダウンロードしたアプリケーションを実行するのが適切かどうか事前に判断でき、さらに、仮想マシンが管理するメモリの空き容量が少なくなった場合に、どのアプリケーションを終了すればよいかという適切な判断を行えるという効果がある。尚、請求項１６に記載のアプリケーション制御装置の制御方法においても同様の効果を得ることができる。
【００３６】
請求項４に記載のアプリケーション制御装置によれば、アプリケーションマネージャのアプリケーション管理手段は、読込み手段でローディングしたアプリケーションの起動や停止の指示を、通信手段を用いて仮想マシンに指示するので、実際のアプリケーションの制御を行う複雑な処理をアプリケーションマネージャが実装する必要がないので、処理速度も軽快になるという効果がある。尚、請求項１７に記載のアプリケーション制御装置の制御方法においても同様の効果を得ることができる。
【００３７】
請求項５に記載のアプリケーション制御装置によれば、アプリケーションマネージャのアプリケーション管理手段は、実行中の全てのアプリケーションが使用しているメモリ容量に関する情報を、通信手段を用いて仮想マシンから獲得するので、仮想マシンが管理するメモリの空き容量を常にチェックすることが出来、メモリの空き容量がなくなった場合もアプリケーションの終了など適切な処理を指示することが出来るという効果がある。尚、請求項１８に記載のアプリケーション制御装置の制御方法においても同様の効果を得ることができる。
【００３８】
請求項６に記載のアプリケーション制御装置によれば、アプリケーションマネージャのアプリケーション管理手段は、実行中の全てのアプリケーションのメモリ使用量の合計が、仮想マシンが管理しているメモリ容量を越えそうになった場合、アプリケーション情報記憶手段を用いて停止するアプリケーションを選択し、通信手段を用いて仮想マシンに停止の指示を行うので、どのアプリケーションを停止するかということを迅速に判断し仮想マシンに指示することが出来るという効果がある。尚、請求項１９に記載のアプリケーション制御装置の制御方法においても同様の効果を得ることができる。
【００３９】
請求項７に記載のアプリケーション制御装置によれば、アプリケーションマネージャのアプリケーション管理手段は、停止するアプリケーションを選択する方法として、アプリケーション情報記憶手段を用いて記憶されている情報の中から、前回の実行結果が異常終了したものを優先して選択するポリシーを有するので、不正と思われるアプリケーションをなるべく起動しないで済むことが出来るという効果がある。尚、請求項２０に記載のアプリケーション制御装置の制御方法においても同様の効果を得ることができる。
【００４０】
請求項８に記載のアプリケーション制御装置によれば、アプリケーションマネージャのアプリケーション管理手段は、停止するアプリケーションを選択する方法として、アプリケーション情報記憶手段を用いて記憶されている情報の中から、前回使用したメモリ使用量が最大であるものを優先して選択するポリシーを有するので、メモリの使用量を減らすには一番効果があるだけでなく、さらに多くのアプリケーションも起動することが出来るようになるという効果がある。尚、請求項２１に記載のアプリケーション制御装置の制御方法においても同様の効果を得ることができる。
【００４１】
請求項９に記載のアプリケーション制御装置によれば、アプリケーションマネージャのアプリケーション管理手段は、停止するアプリケーションを選択する方法として、アプリケーション情報記憶手段を用いて記憶されている情報の中から、最終使用日時が一番古いものを優先して選択するポリシーを有するので、最近まで実行されていなかったアプリケーションなので停止されることによる影響を少なくすることが出来るという効果がある。尚、請求項２２に記載のアプリケーション制御装置の制御方法においても同様の効果を得ることができる。
【００４２】
請求項１０に記載のアプリケーション制御装置によれば、アプリケーションマネージャのアプリケーション管理手段は、停止するアプリケーションを選択する方法として、アプリケーション情報記憶手段を用いて記憶されている情報の中から、使用頻度が一番少ないものを優先して選択するポリシーを有するので、頻繁に実行されないアプリケーションなので停止されることによる影響を少なくすることが出来るという効果がある。尚、請求項２３に記載のアプリケーション制御装置の制御方法においても同様の効果を得ることができる。
【００４３】
請求項１１に記載のアプリケーション制御装置によれば、アプリケーションマネージャのアプリケーション管理手段は、停止するアプリケーションを選択する方法として、様々なポリシーを組み合わせることが可能なので、使用される場所、時間帯やユーザの使用状況に応じて柔軟に対応出来るという効果がある。尚、請求項２４に記載のアプリケーション制御装置の制御方法においても同様の効果を得ることができる。
【００４４】
請求項１２に記載のアプリケーション制御装置によれば、アプリケーションマネージャのアプリケーション管理手段は、停止するアプリケーションを選択する方法のポリシーを、追加したり削除したりすることが可能なので、使用される場所、時間帯やユーザの使用状況に応じて、登録されていないポリシーを後で登録したり置き換えるなど、柔軟に対応出来るという効果がある。尚、請求項２５に記載のアプリケーション制御装置の制御方法においても同様の効果を得ることができる。
【００４５】
請求項１３に記載のアプリケーション制御装置によれば、アプリケーションマネージャのアプリケーション管理手段は、読込み手段を用いてローディングしたアプリケーションが、アプリケーション情報記憶手段を用いて記憶されている情報に次回起動が禁止となっている場合、ローディングしたアプリケーションの起動を禁止するので、メモリ不足によってシステムがハングアップすることを回避でき、その結果としてシステムを安全に運用できるという効果がある。尚、請求項２６に記載のアプリケーション制御装置の制御方法においても同様の効果を得ることができる。
【００４６】
請求項２７に記載の記憶媒体によればアプリケーション制御装置によって実行されるプログラムコードが格納された記憶媒体において、プログラムコードは、アプリケーションをローディングするための読込み手順と、読込み手順でローディングしたアプリケーションを管理するためのアプリケーション管理手順と、アプリケーションに関する情報を記憶するためのアプリケーション情報記憶手順と、アプリケーションマネージャが仮想マシンとデータや命令の送受信を行うための通信手順とを含むので、プログラム実行装置の拡張性、汎用性を高めることができるという効果がある。
【発明を実施するための最良の形態】
【００４７】
以下本発明を実施するための最良の形態を、実施例により詳しく説明する。
【実施例１】
【００４８】
以下、本発明の第１の実施例を図１〜図７を参照しながら説明する。
【００４９】
図１は第１の実施形態におけるアプリケーション制御装置の概略構成を示すブロック図である。同図において１０１は組込み機器を示す。
【００５０】
１０２は後述する各種の処理を実行するマイクロプロセッサ等で構成された中央処理装置（ＣＰＵ）である。
【００５１】
１０３はＲＡＭ等により構成された主記憶装置で、この主記憶装置１０３は、外部記憶装置１０６から読み込んだオペレーティングシステム（ＯＳ）やプログラムを格納し実行するために利用される。
【００５２】
１０４はＣＲＴディスプレイや液晶ディスプレイ等の表示装置であり、実行中のプログラムの状態を表示したりするために利用される。
【００５３】
１０５はキーボードやポインティングデバイス等の入力装置である。
【００５４】
１０６は機器１０１内の外部記憶装置で、例えばハードディスク、光磁気ディスク、ＰＣカードメモリやフラッシュメモリ等の記憶媒体を備えており、オペレーティングシステム（ＯＳ）や各種アプリケーションプログラムを記憶するために利用される。
【００５５】
１０７はバスで、機器１０１内の上記構成要素間でデータや信号を授受するために利用される。
【００５６】
１０８はＰＣやＷＳで、必要に応じて組込み機器１０１に接続し、ＰＣやＷＳに格納されているアプリケーションを転送したり、逆に、組込み機器１０１が１０８のＰＣやＷＳに接続し、アプリケーションをダウンロードすることができる。
【００５７】
１０９は、ネットワークで、組込み機器１０１とＰＣやＷＳ  １０８の間でアプリケーションを送受信するために利用される。
【００５８】
上記構成を有するアプリケーション制御装置では、組込み機器１０１の中央処理装置１０２がネットワーク上のＰＣやＷＳ  １０８からアプリケーションのダウンロードを開始すると、ダウンロードされたアプリケーションが主記憶装置１０３に読み込まれて実行が開始される。アプリケーションの実行結果やアプリケーションに関する情報などは、外部記憶装置１０６に格納される。また、アプリケーションのダウンロード中の途中経過やアプリケーションの実行中の経過は表示装置１０４に表示し、アプリケーションに必要なデータ入力は入力装置１０５で行うことができる。
【００５９】
図２は組込み機器内のアプリケーション制御機能を示す基本的なブロック図である。同図において２０１は、ＰＣやＷＳ  １０８からダウンロードしたアプリケーション１である。
【００６０】
２０２はＰＣやＷＳ  １０８からダウンロードしたアプリケーションｎである。
２０３はアプリケーションの起動や停止を管理するアプリケーションマネージャであり、仮想マシン２０４間でデータや命令の送受信を行う。
【００６１】
２０４は仮想マシンであり、アプリケーションマネージャ２０３からの命令を受信し、実際にアプリケーションの起動や停止などの制御を行う。また、アプリケーションのメモリ使用量の監視も行い、アプリケーションマネージャ２０３にその情報を送信する。
【００６２】
２０５はＯＳであり、アプリケーションのダウンロード、アプリケーションマネージャ２０３や仮想マシン２０４など、各種制御プログラムを実行するための基本的な機能を提供する。
【００６３】
図３はアプリケーションマネージャ２０３と仮想マシン２０４の機能を示すブロック図である。同図において３０１は読込み手段であり、ＰＣやＷＳ  １０８から２０１のアプリケーション１をダウンロードし主記憶装置１０３に格納する。
【００６４】
３０２はアプリケーション管理手段であり、読込み手段３０１でローディングしたアプリケーションの起動や停止の指示を通信手段３０４を用いて仮想マシン２０４に指示すると共に、実行中の全てのアプリケーションが使用しているメモリ容量に関する情報を、仮想マシン２０４から獲得する。また、実行中の全てのアプリケーションのメモリ使用量の合計が、仮想マシン２０４が管理しているメモリ容量を越えそうになった場合に、アプリケーション情報記憶手段３０３を用いて停止するアプリケーションを選択し、通信手段３０４を用いて仮想マシン２０４に停止の指示を行う。この場合、停止するアプリケーションを選択する方法は、アプリケーション情報記憶手段３０３が記憶するアプリケーション情報を基に様々なポリシーを選択することが可能である。
【００６５】
３０３はアプリケーション情報記憶手段であり、実行中のアプリケーションや過去に実行したアプリケーションに関する情報が記憶されている。
【００６６】
３０４はアプリケーションマネージャ２０３の通信手段であり、アプリケーションマネージャ２０３と仮想マシン２０４の間のデータや命令を送受信する。
【００６７】
３０５は仮想マシン２０４の通信手段であり、アプリケーションマネージャ２０３と仮想マシン２０４の間のデータや命令を送受信する。
【００６８】
３０６はメモリ監視手段であり、仮想マシン上で実行中の全てのアプリケーションのメモリ使用状況を監視し、通信手段３０５を用いてアプリケーションマネージャ２０３にその情報を送信する。
【００６９】
３０７はプログラム制御装置であり、アプリケーションの起動、実行や停止などの実際の制御を行う。
【００７０】
図４は、アプリケーション情報記憶手段３０３が記憶しているアプリケーション情報の例を示す図で、この例では、前回起動のアプリケーション名、実行結果、メモリ使用量、最終使用日時、使用頻度と次回起動に関する情報が含まれている。
【００７１】
４０１はアプリケーション名ＡＰＬ１に関する情報で、前回の実行結果が正常終了、メモリ使用量が１２８ＫＢ、最終使用日時が２００１年０６月２８日１０時１０分、使用頻度が２１０回、次回起動は許可という情報を示している。
【００７２】
４０２はアプリケーション名ＡＰＬ２に関する情報で、前回の実行結果が異常終了、メモリ使用量が４ＭＢ、最終使用日時が２００１年０４月１２日１３時５２分、使用頻度が１回、次回起動は禁止という情報を示している。これは、仮想マシンが管理しているメモリ容量の制限を超えて４ＭＢものメモリを使用しようとしたため強制的に停止され、次回の起動は禁止されているという例を示している。
【００７３】
４０３はアプリケーション名ＡＰＬ３に関する情報で、前回の実行結果が停止、メモリ使用量が２５０ＫＢ、最終使用日時が２００１年０１月１８日１８時２０分、使用頻度が８０回、次回起動は許可という情報を示している。これは、ＡＰＬ３そのものが使用するメモリ容量は少ないが、実行中の全てのアプリケーションが使用しているメモリ容量の合計が、仮想マシンが管理しているメモリ容量の制限を超えようとしたため、あるポリシーに基づいてアプリケーション管理手段３０２がＡＰＬ３を停止したが、次回の起動は許可されているという例を示している。
【００７４】
図５は、アプリケーション制御装置におけるアプリケーションの起動処理の制御処理手順を示すフローチャートである。この処理プログラムのプログラムコードは主記憶装置１０３に格納されており、中央処理装置１０２がこのプログラムコードを実行することによって実現される読込み手段３０１、アプリケーション管理手段３０２、アプリケーション情報記憶手段３０３、アプリケーションマネージャの通信手段３０４、仮想マシンの通信手段３０５、メモリ監視手段３０６、プログラム制御手段３０７によって処理が行われる。
【００７５】
このプログラムコードは、本実施形態のアプリケーション制御装置が、ネットワーク上のＰＣやＷＳからアプリケーションをダウンロードし、アプリケーションの過去の起動状態を調べ、十分なメモリ容量があった場合にアプリケーションを起動するまでの制御手順に対応する。
【００７６】
本実施例では、図５において、ネットワーク上のＰＣやＷＳからアプリケーションをダウンロードし、読込み手段３０１によって主記憶装置１０３に格納する（ステップ１）。アプリケーション管理手段３０２は、アプリケーション情報記憶手段３０３を用い、アプリケーションの過去の起動状況を調べる（ステップ２）。アプリケーション情報の次回起動の項目が「許可」となっているならば（ステップ３）、次に仮想マシン２０４が管理するメモリの空き容量を調べ（ステップ４）、システムで規定されたアプリケーションの実行に最低必要なメモリ容量以上の空きがあるならば、通信手段３０４を用いて仮想マシン２０４にダウンロードしたアプリケーションを実行するよう指示する（ステップ４）。ステップ４において、アプリケーションの実行に最低必要なメモリ容量以上の空きがないならば、アプリケーションの実行を行わずにアプリケーションの起動処理を終了する。また、ステップ３において、アプリケーション情報の次回起動の項目が「禁止」となっている場合も、アプリケーションの実行を行わずにアプリケーションの起動処理を終了する。
【００７７】
図６は、アプリケーション制御装置におけるメモリ使用量の監視処理の制御処理手順を示すフローチャートである。
【００７８】
このプログラムコードは、本実施形態のアプリケーション管理手段が、仮想マシン上で実行している全てのアプリケーションのメモリ使用量に関する情報を定期的に受信し、メモリの空き容量がシステムで規定された最低の空き容量より少なくなった時、空き容量が十分になるまで実行中のアプリケーションを順番に終了していくまでの制御手順に対応する。
【００７９】
本実施例では、図６において、仮想マシン２０４上で実行している全てのアプリケーションのメモリ使用量に関する情報を、通信手段３０４を用いて受信し（ステップ１１）、メモリの空き容量がシステムで規定された最低の空き容量より少なくなったかどうか調べ（ステップ１２）、メモリの空き容量が十分にある場合は、ステップ１１に戻って次のメモリ使用量に関する情報を受信する。ステップ１２において、メモリの空き容量がシステムで規定された最低の空き容量より少なくなった場合、実行中のアプリケーションの中の１つを選択し終了処理を行い（ステップ１３）、アプリケーションの終了によってメモリが開放されたことで、メモリの空き容量が十分になったかを調べる（ステップ１４）。ステップ１４において、まだメモリの空き容量が十分でない場合は次のアプリケーションを終了させるためにステップ１３に戻る。ステップ１４において、メモリの空き容量が十分になったならば、ステップ１１に戻って次のメモリ使用量に関する情報を受信する。なお、このメモリ使用量の監視処理は、システムが停止するまで継続して実行される。
【００８０】
図７は、アプリケーション制御装置におけるアプリケーションの終了処理の制御処理手順の１例を示すフローチャートである。
【００８１】
このプログラムコードは、本実施形態のアプリケーション管理手段が、仮想マシン上で実行している全てのアプリケーションの中からメモリ使用量の多いアプリケーションを選択し終了するまでの制御手順に対応する。
【００８２】
本実施例では、図７において、個々のアプリケーションが使用しているメモリ容量が、システムで規定されている１つのアプリケーションが使用可能なメモリ容量の閾値を超えているものがあるかどうか調べる（ステップ２１）。越えているものが見つかった場合、アプリケーション情報記憶手段３０３に記憶されているアプリケーション情報にそのアプリケーションが登録されているならば次回起動の項目を「禁止」に設定し、登録されていなかったならばそのアプリケーションを新規に登録してから次回起動の項目を「禁止」に設定する（ステップ２２）。次に、アプリケーション情報の実行結果の項目を「異常終了」に設定し（ステップ２３）、その他の項目、すなわちメモリ使用量、最終使用日時、使用頻度を更新し（ステップ２４）、通信手段３０４を用いて仮想マシン２０４にアプリケーションの終了を指示する（ステップ２５）。
【００８３】
一方、ステップ２１において、メモリ容量の閾値を超えているものがない場合は、アプリケーションが使用しているメモリ容量の多いものを優先して選択し（ステップ２６）、アプリケーション情報記憶手段３０３に記憶されているアプリケーション情報にそのアプリケーションが登録されているならば次回起動の項目を「許可」に設定し、登録されていなかったならばそのアプリケーションを新規に登録してから次回起動の項目を「許可」に設定する（ステップ２７）。次に、アプリケーション情報の実行結果の項目を「停止」に設定して（ステップ２８）、ステップ２４に進む。
【００８４】
以上説明したように、本実施形態のアプリケーション制御装置によれば、ネットワーク上のＰＣやＷＳからアプリケーションを組込み機器にダウンロードすると、本アプリケーション制御装置はアプリケーションの過去の起動状況を調べ、仮想マシンが管理するメモリ容量を超えてメモリを大量に消費するため起動を禁止されているものであれば、そのアプリケーションを起動しないので、システムのハングアップを避けることができるという効果がある。
【００８５】
また、仮想マシン上で実行中の全てのメモリ使用量を常時監視しているため、複数のアプリケーションを同時実行中に仮想マシンが管理するメモリ容量を超えそうになった場合は、メモリ使用量が多いアプリケーションから順番に終了させてメモリを開放するため、システムのハングアップを避けることができるだけでなく、メモリも有効に使用できるという効果がある。
【実施例２】
【００８６】
前記第１の実施例では、複数のアプリケーションを同時実行中に仮想マシンが管理するメモリ容量を超えそうになった場合は、メモリ使用量が多いアプリケーションから順番に終了させてメモリを開放する場合の例であったが、前回の最終使用日時の最も古いものから順番に終了させてメモリを開放する場合でも、本発明のアプリケーション制御装置の機能を実現することが可能になる。
【００８７】
以下、本発明の第２の実施例を説明するが、第２の実施例は、仮想マシンが管理するメモリ容量を超えそうになった場合、前回の最終使用日時の最も古いものから順番に終了させてメモリを開放すること以外は、第１の実施例と同じ処理を行うため、ここではアプリケーション制御装置におけるアプリケーションの終了処理の制御処理手順のみ説明する。
【００８８】
図８は、アプリケーション制御装置におけるアプリケーションの終了処理の制御処理手順の１例を示すフローチャートである。
【００８９】
このプログラムコードは、本実施形態のアプリケーション管理手段が、仮想マシン上で実行している全てのアプリケーションの中から前回の最終使用日時の最も古いアプリケーションを選択し終了するまでの制御手順に対応する。
【００９０】
本実施例では、図８において、個々のアプリケーションが使用しているメモリ容量が、システムで規定されている１つのアプリケーションが使用可能なメモリ容量の閾値を超えているものがあるかどうか調べる（ステップ３１）。越えているものが見つかった場合、アプリケーション情報記憶手段３０３に記憶されているアプリケーション情報にそのアプリケーションが登録されているならば次回起動の項目を「禁止」に設定し、登録されていなかったならばそのアプリケーションを新規に登録してから次回起動の項目を「禁止」に設定する（ステップ３２）。次に、アプリケーション情報の実行結果の項目を「異常終了」に設定し（ステップ３３）、その他の項目、すなわちメモリ使用量、最終使用日時、使用頻度を更新し（ステップ３４）、通信手段３０４を用いて仮想マシン２０４にアプリケーションの終了を指示する（ステップ３５）。
【００９１】
一方、ステップ３１において、メモリ容量の閾値を超えているものがない場合は、前回の最終使用日時の最も古いものを優先して選択し（ステップ３６）、アプリケーション情報記憶手段３０３に記憶されているアプリケーション情報にそのアプリケーションが登録されているならば次回起動の項目を「許可」に設定し、登録されていなかったならばそのアプリケーションを新規に登録してから次回起動の項目を「許可」に設定する（ステップ３７）。次に、アプリケーション情報の実行結果の項目を「停止」に設定して（ステップ３８）、ステップ３４に進む。
【００９２】
以上説明したように、本実施形態のアプリケーション制御装置によれば、ネットワーク上のＰＣやＷＳからアプリケーションを組込み機器にダウンロードすると、本アプリケーション制御装置はアプリケーションの過去の起動状況を調べ、仮想マシンが管理するメモリ容量を超えてメモリを大量に消費するため起動を禁止されているものであれば、そのアプリケーションを起動しないので、システムのハングアップを避けることができるという効果がある。
【００９３】
また、仮想マシン上で実行中の全てのメモリ使用量を常時監視しているため、複数のアプリケーションを同時実行中に仮想マシンが管理するメモリ容量を超えそうになった場合は、前回の最終使用日時の最も古いアプリケーションから順番に終了させてメモリを開放するため、システムのハングアップを避けることができるだけでなく、メモリも有効に使用できるという効果がある。
【００９４】
尚、上記実施形態では、上記図５〜図８に示すプログラムコード群を主記憶装置１０３に格納していたが、外部記憶装置１０６の記憶媒体または内部の記憶資源に図５〜図８に示すプログラムコード群を記憶させ、この記憶媒体から中央処理装置（ＣＰＵ）１０２がプログラムコードを読み出して実行するようにしてもよい。
【００９５】
図９はＣＰＵで読み出し可能な各種制御プログラムのプログラムコード群を格納する記憶媒体のメモリマップを示す図である。この記憶媒体には、図５〜図８のフローチャートに示すプログラムコード、すなわち、第１の実施形態におけるプログラムコードが、第１の制御プログラムに対応するプログラムコード群として格納されている。また、第２の実施形態におけるプログラムコードが第２の制御プログラムに対応するプログラムコード群として格納されている。
【００９６】
特に図示しないが、この記憶媒体には、記憶されるプログラム群を管理する情報、例えばバージョン情報、作成者等を記憶し、かつプログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等を記憶するようにしてもよい。
【００９７】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合、解凍するプログラム等を記憶するようにしてもよい。
【００９８】
また、図５〜図８に示すプログラムコード群の機能が、外部からインストールされるプログラムによって本システムにより遂行されてもよい。この場合、ＣＤ−ＲＯＭやフラッシュメモリ、ＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体からプログラムを含む情報群を本システムに供給することが可能である。
【００９９】
このように、本実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵやＭＭＵ）が記憶媒体に格納されたプログラムコードを読み出して実行することによっても、本発明の目的が達成される。
【０１００】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１０１】
プログラムコードを供給するための媒体としては、例えば、フロッピー（Ｒ）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ等を用いることができる。
【０１０２】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているオペレーティングシステム等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も本発明に含まれる。
【０１０３】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も本発明に含まれる。
【０１０４】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。さらに、本発明を達成するためのソフトウェアによって表されるプログラムを、システムあるいは装置がネットワーク上のデータベースから通信プログラムによりダウンロードして読み出すことによっても、本発明の効果を享受することができる。
【図面の簡単な説明】
【０１０５】
【図１】本発明の第１の実施例を示すアプリケーション制御装置の概略構成を説明するブロック図である。
【図２】本発明に係るアプリケーション制御装置の第１の実施例における組込み機器内のアプリケーション制御機能を示す基本的なブロック図である。
【図３】本発明に係るアプリケーション制御装置の第１の実施例におけるアプリケーションマネージャと仮想マシンの機能を示すブロック図である。
【図４】本発明に係るアプリケーション制御装置の第１の実施例におけるアプリケーション情報記憶手段が記憶しているアプリケーション情報の一例を示す図である。
【図５】本発明に係るアプリケーション制御装置の第１の実施例におけるアプリケーションの起動処理の手順を示すフローチャートである。
【図６】本発明に係るアプリケーション制御装置の第１の実施例におけるメモリ使用量の監視処理の手順を示すフローチャートである。
【図７】本発明に係るアプリケーション制御装置の第１の実施例におけるアプリケーションの終了処理の手順の１例を示すフローチャートである。
【図８】本発明に係るアプリケーション制御装置の第２の実施例におけるアプリケーションの終了処理の手順の１例を示すフローチャートである。
【図９】ＣＰＵで読み出し可能な各種制御プログラムのプログラムコード群を格納する記憶媒体のメモリマップを示す図である。
【符号の説明】
【０１０６】
１０１  組込み機器
１０２  中央処理装置
１０３  主記憶装置
１０４  表示装置
１０５  入力装置
１０６  外部記憶装置
１０７  バス
【図１】
2005202652.tif 000003
【図２】
2005202652.tif 000004
【図３】
2005202652.tif 000005
【図４】
2005202652.tif 000006
【図５】
2005202652.tif 000007
【図６】
2005202652.tif 000008
【図７】
2005202652.tif 000009
【図８】
2005202652.tif 000010
【図９】
2005202652.tif 000011