(57)【要約】    【課題】  情報処理装置がメモリ不足でアプリケーションを起動できないエラーになる可能性を小さくし、新たなアプリケーションの起動やインストールができなくなるといった不都合を回避することなどを可能とした情報処理装置を提供する。  【解決手段】  情報処理装置は、ＣＰＵ１０１、ディスプレイ１０２、メモリ１０３を備える。ＣＰＵ１０１は、アプリケーション毎の最大メモリ使用量を取得し、アプリケーション毎の最大メモリ使用量の和を算出すると共に、最大メモリ使用量の和に、メモリ１０３に記憶された起動対象のアプリケーションの最大メモリ使用量を加算し、アプリケーションの起動要求時に、算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えたか否かを判断し、最大メモリ使用量の和が許容量を超えた場合、警告表示或いはエラーメッセージをディスプレイ１０２に表示する。【選択図】      図３
2006285871.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションが使用するメモリ量を管理する情報処理装置であって、
アプリケーション毎の最大メモリ使用量を取得する取得手段と、
前記取得手段により取得したアプリケーション毎の最大メモリ使用量の和を算出する算出手段と、
アプリケーションの起動要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えたか否かに基づいて、アプリケーションの起動の可否を判断する制御手段とを備えることを特徴とする情報処理装置。
【請求項２】
前記取得手段は、アプリケーションを構成するタスクについて、スタックサイズに該当するメモリ領域、或いはアプリケーション毎に固有に割り当てられたメモリ領域の合計を、前記最大メモリ使用量の和として算出することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記取得手段は、複数の同一アプリケーションが実行中の場合、該アプリケーションの各インスタンスの最大メモリ使用量のうち最大のものを該アプリケーションの最大メモリ使用量として取得することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記取得手段は、周期的に、各アプリケーションの最大メモリ使用量を取得することを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記取得手段は、ガーベジコレクション実行時に、各アプリケーションの最大メモリ使用量を取得することを特徴とする請求項１記載の情報処理装置。
【請求項６】
前記算出手段は、前記取得手段により取得したアプリケーション毎の最大メモリ使用量のうち、実行中のアプリケーション及び起動対象のアプリケーションの最大メモリ使用量の和を算出し、
前記制御手段は、アプリケーションの起動要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えた場合、警告或いはエラーを報知することを特徴とする請求項１記載の情報処理装置。
【請求項７】
アプリケーションの各インスタンスの停止時、各インスタンスの最大メモリ使用量のうち最大のものを該アプリケーションの最大メモリ使用量として記憶する記憶手段を更に備え、
前記算出手段は、前記取得手段により取得したアプリケーションのインスタンス毎の最大メモリ使用量の和を算出すると共に、該最大メモリ使用量の和に、前記記憶手段に記憶された起動対象のアプリケーションの最大メモリ使用量を加算し、
前記制御手段は、アプリケーションの起動要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えた場合、警告或いはエラーを報知することを特徴とする請求項１記載の情報処理装置。
【請求項８】
前記制御手段は、アプリケーションのインストール要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えた場合、警告或いはエラーを報知することを特徴とする請求項１記載の情報処理装置。
【請求項９】
前記算出手段は、前記取得手段により取得したアプリケーション毎の最大メモリ使用量のうち、実行中のアプリケーション及びインストール対象のアプリケーションの最大メモリ使用量の和を算出し、
前記制御手段は、アプリケーションのインストール要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えた場合、警告或いはエラーを報知することを特徴とする請求項１記載の情報処理装置。
【請求項１０】
アプリケーションの各インスタンスの停止時、各インスタンスの最大メモリ使用量のうち最大のものを該アプリケーションの最大メモリ使用量として記憶する記憶手段を更に備え、
前記算出手段は、前記取得手段により取得したアプリケーションのインスタンス毎の最大メモリ使用量の和を算出すると共に、該最大メモリ使用量の和に、前記記憶手段に記憶されたインストール対象のアプリケーションの最大メモリ使用量を加算し、
前記制御手段は、アプリケーションのインストール要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えた場合、警告或いはエラーを報知することを特徴とする請求項１記載の情報処理装置。
【請求項１１】
前記制御手段は、アプリケーションのインストール要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えた場合、警告或いはエラーと、アプリケーション毎の最大メモリ使用量を報知することを特徴とする請求項１記載の情報処理装置。
【請求項１２】
前記算出手段は、前記取得手段により取得したアプリケーション毎の最大メモリ使用量のうち、実行中のアプリケーション及びインストール対象のアプリケーションの最大メモリ使用量の和を算出し、
前記制御手段は、アプリケーションのインストール要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えた場合、警告或いはエラーと、アプリケーション毎の最大メモリ使用量を報知することを特徴とする請求項１記載の情報処理装置。
【請求項１３】
アプリケーションの各インスタンスの停止時、各インスタンスの最大メモリ使用量のうち最大のものを該アプリケーションの最大メモリ使用量として記憶する記憶手段を更に備え、
前記算出手段は、前記取得手段により取得したアプリケーションのインスタンス毎の最大メモリ使用量の和を算出すると共に、該最大メモリ使用量の和に、前記記憶手段に記憶されたインストール対象のアプリケーションの最大メモリ使用量を加算し、
前記制御手段は、アプリケーションのインストール要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えた場合、警告或いはエラーと、インスタンス毎の最大メモリ使用量と、インストール対象のアプリケーションの最大メモリ使用量を報知することを特徴とする請求項１記載の情報処理装置。
【請求項１４】
アプリケーション毎の動作履歴を記録する動作履歴記録手段を更に備え、
前記制御手段は、アプリケーションのインストール要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えた場合、警告或いはエラーと、アプリケーション毎の最大メモリ使用量と、前記動作履歴記録手段に記録されたアプリケーション毎の動作履歴を報知することを特徴とする請求項１記載の情報処理装置。
【請求項１５】
アプリケーション毎の動作履歴を記録する動作履歴記録手段を更に備え、
前記算出手段は、前記取得手段により取得したアプリケーション毎の最大メモリ使用量のうち、実行中のアプリケーション及びインストール対象のアプリケーションの最大メモリ使用量の和を算出し、
前記制御手段は、アプリケーションのインストール要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えた場合、警告或いはエラーと、アプリケーション毎の最大メモリ使用量と、前記動作履歴記録手段に記録されたアプリケーション毎の動作履歴を報知することを特徴とする請求項１記載の情報処理装置。
【請求項１６】
アプリケーションの各インスタンスの停止時、各インスタンスの最大メモリ使用量のうち最大のものを該アプリケーションの最大メモリ使用量として記憶する記憶手段と、
アプリケーションのインスタンス毎の動作履歴を記録する動作履歴記録手段とを更に備え、
前記算出手段は、前記取得手段により取得したアプリケーションのインスタンス毎の最大メモリ使用量の和を算出すると共に、該最大メモリ使用量の和に、前記記憶手段に記憶されたインストール対象のアプリケーションの最大メモリ使用量を加算し、
前記制御手段は、アプリケーションのインストール要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えた場合、警告或いはエラーと、インスタンス毎の最大メモリ使用量と、インストール対象のアプリケーションの最大メモリ使用量と、前記動作履歴記録手段に記録されたインスタンス毎の動作履歴を報知することを特徴とする請求項１記載の情報処理装置。
【請求項１７】
前記動作履歴は、アプリケーション起動日時、アプリケーション動作時間、全アプリケーション動作時間に対する該当アプリケーションインスタンス動作時間の比率を含む群から選択されることを特徴とする請求項１４乃至１６の何れかに記載の情報処理装置。
【請求項１８】
アプリケーション毎の最大メモリ使用量を記憶する記憶手段を更に備え、
前記制御手段は、アプリケーションの停止時、前記記憶手段から前記アプリケーションの最大メモリ使用量を削除しないことを特徴とする請求項１記載の情報処理装置。
【請求項１９】
時間を計測する計測手段を更に備え、
前記制御手段は、前記計測手段によりアプリケーションの停止から所定の期間の経過を計測した場合、前記記憶手段から前記アプリケーションの最大メモリ使用量を削除することを特徴とする請求項１又は１８記載の情報処理装置。
【請求項２０】
アプリケーション毎の最大メモリ使用量を記憶する記憶手段を更に備え、
前記制御手段は、アプリケーションのアンインストール時、前記記憶手段から前記アプリケーションの最大メモリ使用量を削除しないことを特徴とする請求項１記載の情報処理装置。
【請求項２１】
時間を計測する計測手段を更に備え、
前記制御手段は、前記計測手段によりアプリケーションのアンインストールから所定の期間の経過を計測した場合、前記記憶手段から前記アプリケーションの最大メモリ使用量を削除することを特徴とする請求項１又は２０記載の情報処理装置。
【請求項２２】
複数のアプリケーションが使用するメモリ量を管理する情報処理装置の制御方法であって、
アプリケーション毎の最大メモリ使用量を取得する取得ステップと、
前記取得ステップにより取得したアプリケーション毎の最大メモリ使用量の和を算出する算出ステップと、
アプリケーションの起動要求時に、前記算出ステップにより算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えたか否かに基づいて、アプリケーションの起動の可否を判断する制御ステップとを備えることを特徴とする制御方法。
【請求項２３】
複数のアプリケーションが使用するメモリ量を管理する情報処理装置の制御方法をコンピュータに実行させるプログラムであって、
アプリケーション毎の最大メモリ使用量を取得する取得モジュールと、
前記取得モジュールにより取得したアプリケーション毎の最大メモリ使用量の和を算出する算出モジュールと、
アプリケーションの起動要求時に、前記算出モジュールにより算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えたか否かに基づいて、アプリケーションの起動の可否を判断する制御モジュールとを備えることを特徴とするプログラム。
【請求項２４】
前記請求項２３記載のプログラムを格納することを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のアプリケーションプログラム（以下アプリケーションと略称）を実行する時、それらのアプリケーションが使用するメモリ使用量を監視する機能を有する情報処理装置、制御方法、プログラム、及び記憶媒体に関する。
【背景技術】
【０００２】
従来、複数のアプリケーションを実行する時、それらのアプリケーションが使用するメモリ量を監視する各種の情報処理装置システムが提案されている。例えば、アプリケーションを起動するために必要な資源（メモリを含む）の情報をアプリケーション毎に記憶しておき、情報処理装置本体の資源の情報とアプリケーションを起動するために必要な資源の情報とを比較し、アプリケーション起動のための資源が不足する場合は、アプリケーションのアイコン表示を資源確保ができない旨の表示に変更する提案が開示されている（例えば、特許文献１参照）。
【特許文献１】特開２０００−７６０８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述した従来例の情報処理装置システムでは、アプリケーションが使用するメモリ使用量を求める際に、アプリケーション起動前の空きメモリ容量とアプリケーション起動後の空きメモリ容量との差を求めるという手法を用いているため、メモリ使用量の計算に不正確な要素を含んでしまうという問題がある。
【０００４】
即ち、従来例では、第一に、アプリケーション起動前とアプリケーション起動後の空きメモリ容量の差を求める際、既に動作しているアプリケーションが、アプリケーション起動前の空きメモリ容量を求めてからアプリケーション起動後の空きメモリ容量を求めるまでの期間に、新たなメモリを消費するか、或いは使用していたメモリを解放するかも知れないということを無視しているという問題がある。
【０００５】
また、従来例では、第二に、アプリケーション起動後の空きメモリ容量を求めるのは、そのアプリケーションについてただ１回のみであり、その後にアプリケーションが新たなメモリを消費するかもしれないという可能性を考慮していないという問題がある。
【０００６】
本発明の目的は、情報処理装置がメモリ不足でアプリケーションを起動できないエラーになる可能性を小さくし、新たなアプリケーションの起動やインストールができなくなるといった不都合を回避することなどを可能とした情報処理装置、制御方法、プログラム、及び記憶媒体を提供することにある。
【課題を解決するための手段】
【０００７】
上述の目的を達成するために、本発明の情報処理装置は、複数のアプリケーションが使用するメモリ量を管理する情報処理装置であって、アプリケーション毎の最大メモリ使用量を取得する取得手段と、前記取得手段により取得したアプリケーション毎の最大メモリ使用量の和を算出する算出手段と、アプリケーションの起動要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えたか否かに基づいて、アプリケーションの起動の可否を判断する制御手段とを備えることを特徴とする。
【０００８】
上述の目的を達成するために、本発明の制御方法は、複数のアプリケーションが使用するメモリ量を管理する情報処理装置の制御方法であって、アプリケーション毎の最大メモリ使用量を取得する取得ステップと、前記取得ステップにより取得したアプリケーション毎の最大メモリ使用量の和を算出する算出ステップと、アプリケーションの起動要求時に、前記算出ステップにより算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えたか否かに基づいて、アプリケーションの起動の可否を判断する制御ステップとを備えることを特徴とする。
【０００９】
上述の目的を達成するために、本発明のプログラムは、複数のアプリケーションが使用するメモリ量を管理する情報処理装置の制御方法をコンピュータに実行させるプログラムであって、アプリケーション毎の最大メモリ使用量を取得する取得モジュールと、前記取得モジュールにより取得したアプリケーション毎の最大メモリ使用量の和を算出する算出モジュールと、アプリケーションの起動要求時に、前記算出モジュールにより算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えたか否かに基づいて、アプリケーションの起動の可否を判断する制御モジュールとを備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、アプリケーションの起動要求時に、アプリケーション毎の最大メモリ使用量の和が許容量を超えたか否かを基に、アプリケーション起動の可否を判断するので、情報処理装置がメモリ不足エラーになる可能性を小さくすることができる。
【００１１】
また、アプリケーションを構成するタスクについて、スタックサイズ等に対応するメモリ領域や固有に割り当てられたメモリ領域の合計を最大メモリ使用量の和として算出するので、最大メモリ使用量の和を適正に求めることができる。これにより、最大メモリ使用量を大きく見積もりすぎて、実際はメモリが十分余っているにも関わらず、新たなアプリケーションの起動やインストールができなくなるといった不都合を回避することができる。
【００１２】
また、周期的に、各アプリケーションの最大メモリ使用量を取得するので、アプリケーション毎の最大メモリ使用量を正確に求めることができる。
【００１３】
また、ガーベジコレクション実行時に、各アプリケーションの最大メモリ使用量を取得するので、アプリケーション毎の最大メモリ使用量を正確に求めることができる。更に、最大メモリ使用量を求める処理がガーベジコレクションに含まれているので、別途、メモリ使用量を求める処理が不要になり、情報処理装置に対する負荷を小さくすることができる。
【００１４】
また、アプリケーションのインスタンス毎の最大メモリ使用量の和に起動対象のアプリケーションの最大メモリ使用量を加算したものが許容量を超えた場合、警告或いはエラーを報知するので、情報処理装置がメモリ不足エラーになる可能性を更に小さくすることができる。
【００１５】
また、アプリケーションの停止時或いはアンインストール時、所定の期間が経過した場合、記憶手段からアプリケーションの最大メモリ使用量の情報を削除するので、最大メモリ使用量の情報を記憶手段にいつまでも保存することで記憶手段を無駄に消費することを防止することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態を図面を参照して説明する。
【００１７】
図１は、本発明の本実施の形態に係る情報処理装置の構成を示すブロック図である。
【００１８】
図１において、情報処理装置は、ＣＰＵ１０１、ディスプレイ１０２、メモリ１０３、タイマ１０４、Ｉ／Ｏインタフェース１０５、キーボード１０６、ハードディスクドライブ１０７、リムーバブルディスクドライブ１０８を備えている。１０９はネットワークである。
【００１９】
ＣＰＵ１０１は、情報処理装置全体の制御を行う中央処理装置であり、メモリ１０２に格納された制御プログラムに基づいて各フローチャート（図２〜図５、図７〜図１１、図１４）に示す処理を実行する。ディスプレイ１０２は、各種情報の表示を行う。メモリ１０３は、情報処理装置の制御プログラム、後述の各種情報、各テーブル（図６、図１２、図１３）を記憶しておくためのものであり、書き込み／読み出しが可能である。図１ではメモリ種別の区別は行わずに単にメモリ１０３と図示しているが、メモリ１０３はＲＯＭやＲＡＭ等を含むものとする。タイマ１０４は、ＣＰＵ１０１の命令に基づいて各種タイミング（時間）を計時する。
【００２０】
Ｉ／Ｏインタフェース１０５は、情報処理装置に各種Ｉ／Ｏ（入出力）機器を接続するためのインタフェースを司るものであり、各種Ｉ／Ｏ機器（キーボード１０６、ハードディスクドライブ１０７、リムーバブルディスクドライブ１０８）とネットワーク１０９が接続される。キーボード１０６は、文字／数字等を入力するためのキー入力装置である。ハードディスクドライブ１０７は、ハードディスク（不図示）に対する情報の書き込み／読み出しを行う。リムーバブルディスクドライブ１０８は、リムーバブルディスク（不図示）に対する情報の書き込み／読み出しを行う。
【００２１】
なお、Ｉ／Ｏインタフェース１０５には、上記各種Ｉ／Ｏ機器が接続される他に、これら以外のＩ／Ｏ機器（例えばマウスやタブレット等）が接続されていてもよい。また、ネットワーク１０９は、情報処理装置が有線方式で接続されるものだけでなく、情報処理装置が電波或いは赤外線を用いた無線方式で接続されるものであってもよい。
【００２２】
次に、本実施の形態の情報処理装置の動作について図１乃至図１４を参照しながら詳細に説明する。
【００２３】
まず、情報処理装置におけるアプリケーション毎の最大メモリ使用量の更新とアプリケーションの起動について、図２及び図３を用いて説明する。
【００２４】
図２は、情報処理装置における周期的にアプリケーション毎の最大メモリ使用量を更新する手順を示すフローチャートである。
【００２５】
図２において、最初に、ＣＰＵ１０１は、タイマ１０４を起動する（ステップＳ２０１）。タイマ１０４にセットする時間は、その情報処理装置にとって適当と思われる値でよい。タイマ１０４にセットする時間は、最大メモリ使用量をどのくらい正確に求めたいかという要求と、アプリケーション毎の最大メモリ使用量を求めるのにどのくらいＣＰＵ１０１の仕事を割いてもよいかということを考慮して決定される。一般的には数秒から数分の間に設定すればよい。
【００２６】
ＣＰＵ１０１は、ステップＳ２０１の後は、上記タイマ１０４にセットした時間のタイムアウトを待つ（ステップＳ２０２）。ここでは、タイマセット時間のタイムアウトを待つのにループ処理を行っているようにフローチャートを図示しているが、勿論、ＣＰＵ１０１を他のタスク実行に割当てておき、割り込み等の手段でタイムアウトがＣＰＵ１０１に通知されるようにしてもよい。ＣＰＵ１０１は、タイマセット時間がタイムアウトした後は、起動している全アプリケーションについて最大メモリ使用量を求めていく。起動しているアプリケーションが一つでもある場合は、全アプリケーションについて最大メモリ使用量を求める処理が終了したかどうかの判断（ステップＳ２０３）がＮＯとなる。
【００２７】
ここで、アプリケーションとは、情報処理装置にとって一つの機能を実現するためのプログラム群を指しており、オペレーティングシステムの実行切り替え、すなわちスケジューリング単位であるタスク或いはスレッドとは独立した存在である。つまり、一つのアプリケーションがマルチタスクで実現されているということがあり得る。従って、アプリケーション毎のメモリ使用量を求める際、各アプリケーションがどのタスクから構成されているかというタスク情報が必要であるが、このタスク情報は、ＣＰＵ１０１がアプリケーション実行時に更新し、メモリ１０３に記憶しておくものとする。
【００２８】
また、情報処理装置でどのアプリケーションを実行中かという情報も、ＣＰＵ１０１がメモリ１０３に記憶している。同一アプリケーションを２個以上同時に実行させてもよい。その場合は、アプリケーションの種類の数ではなく、実際に起動しているアプリケーションの数だけ、ステップＳ２０４以降の最大メモリ使用量を求める処理が行われる。
【００２９】
さて、ＣＰＵ１０１は、ステップＳ２０３の後は、最大メモリ使用量を求めようとするアプリケーションを選択し（ステップＳ２０４）、選択したアプリケーションについて現在の最大メモリ使用量を求める（ステップＳ２０５）。
【００３０】
最大メモリ使用量の具体的な算出方法としては、当該アプリケーションがどのタスクから構成されているかを、ＣＰＵ１０１がメモリ１０３に記憶されている上記タスク情報を読み出すことにより調べ、該当するタスクについて、そのスタックサイズ、使用しているヒープ領域（アプリケーションが利用する領域のうち動的に割り当てる領域）のサイズを求め、該当する全タスク分についてサイズの和を求める。更に、もしあれば、アプリケーション毎に固有に割当てられたメモリ領域のサイズを求め、該サイズも上記サイズに加算する。そして、合計したサイズに対応するメモリ領域の量を、当該アプリケーションの現在のメモリ使用量とする。
【００３１】
上記のもの以外でも、情報処理装置が動作するオペレーティングシステムが規定する、アプリケーションが使用しているメモリ領域があれば、それらを加える。冗長な加算、例えばタスクは異なるがアプリケーション内で共有しているヒープ領域があれば加算の対象から外す。
【００３２】
以上のようにして求めたアプリケーションの現在のメモリ使用量が、メモリ１０３に以前記憶した該アプリケーションの最大使用量を超えた場合は（ステップＳ２０６でＹＥＳ）、ＣＰＵ１０１は、該アプリケーションの現在のメモリ使用量を、該アプリケーションの最大使用量としてメモリ１０３に記憶する（ステップＳ２０７）。そして、ＣＰＵ１０１は、次のアプリケーションについて処理を行うため、ステップＳ２０３に戻る。
【００３３】
アプリケーションの現在のメモリ使用量が、メモリ１０３に以前記憶した該アプリケーションの最大使用量を超えない場合は（ステップＳ２０６でＮＯ）、ＣＰＵ１０１は、何もせず、次のアプリケーションについて処理を行うため、ステップＳ２０３に戻る。
【００３４】
以上のようにして全アプリケーションについて処理を終了すると（ステップＳ２０３でＹＥＳ）、タイムアウト待ちとなる（ステップＳ２０２）。これは、タイマ１０４が動作を続けていると仮定した場合であり、もしタイムアウト時にタイマ１０４が停止するなら、ステップＳ２０１の前に戻り、タイマ１０４のセット及び起動から本処理を始める。
【００３５】
以上のシーケンスは同一アプリケーションが同時に複数個実行されている場合でも成立する。起動しているアプリケーション毎に現在のメモリ使用量を求め、それらを該アプリケーションの唯一の最大メモリ使用量と比較し、現在のメモリ使用量が最大メモリ使用量を超えた場合、該アプリケーションの唯一の最大メモリ使用量とすればよい。
【００３６】
次に、情報処理装置で新たにアプリケーションを起動する場合のシーケンスについて、図３のフローチャートを用いて説明する。
【００３７】
図３は、情報処理装置におけるアプリケーション毎の最大メモリ使用量が許容量以内かを確認しながらアプリケーションを起動する手順を示すフローチャートである。
【００３８】
図３において、ＣＰＵ１０１は、キーボード１０６等からの入力により新たなアプリケーションの起動要求を受けると（ステップＳ３０１）、実行中のアプリケーションについて、図２のシーケンスにより求めた各々のアプリケーションの最大メモリ使用量の和を求める（ステップＳ３０２）。同一アプリケーションが複数実行されている場合は、その分、最大メモリ使用量を加算する。これは、それぞれのアプリケーションインスタンスが、その最大メモリ使用量までメモリ使用量を増やす可能性があるからである。
【００３９】
次に、ＣＰＵ１０１は、上記のようにして求めた最大メモリ使用量の和が所定の許容量を超えたかどうかを判断する（ステップＳ３０３）。所定の許容量とは、本情報処理装置において予め定められたアプリケーション全体で使用できるメモリの総量である。これは、メモリ１０３のサイズに等しくはならない。他に、オペレーティングシステムや、その他、アプリケーションよりも優先してメモリが確保されなければならないモジュールが動作する分のメモリが必要であり、それらのメモリサイズが差し引かれたメモリサイズが上記所定の許容量となっている。許容量の値としては、メモリサイズの絶対値をとることも、また、メモリの総量に対する割合とすることも可能である。
【００４０】
最大メモリ使用量の和が許容量を超えない場合は（ステップＳ３０３でＮＯ）、ＣＰＵ１０１は、まだメモリ１０３に余裕があると見なし、要求された新アプリケーションの起動を行い（ステップＳ３０９）、本処理を終了する。新アプリケーションは、ハードディスクドライブ１０７のハードディスク、リムーバブルディスクドライブ１０８のリムーバブルディスク、或いはネットワーク１０９のいずれに置かれていてもよい。また、新アプリケーションは、ＣＰＵ１０１が読み出すことができれば、これら以外の場所に置かれていてもよい。
【００４１】
最大メモリ使用量の和が許容量を超えた場合は（ステップＳ３０３でＹＥＳ）、更に、ＣＰＵ１０１は、ユーザに現在実行中のアプリケーションの停止をさせるかどうかを判別する（ステップＳ３０４）。アプリケーション停止の判別基準は、例えばメモリ１０３に記憶されているフラグとして実現されており、予め情報処理装置の動作環境設定における一項目として設定されている。
【００４２】
ユーザにアプリケーションの停止をさせない場合は（ステップＳ３０４でＮＯ）、ＣＰＵ１０１は、新たなアプリケーションの起動は無理と判断し、ディスプレイ１０２に「メモリが不足して、アプリケーションが起動できない」旨のエラー表示を行い（ステップＳ３１０）、本処理を終了する。
【００４３】
ユーザにアプリケーションの停止をさせる場合は（ステップＳ３０４でＹＥＳ）、ＣＰＵ１０１は、ディスプレイ１０２に「メモリが不足して、アプリケーションが起動できない可能性がある」旨の警告表示を行う（ステップＳ３０５）。
【００４４】
ユーザが上記警告表示を見て警告を無視せず、いずれかのアプリケーションを停止することを決定した場合は（ステップＳ３０６でＮＯ）、ＣＰＵ１０１は、現在実行中のアプリケーションの一覧をディスプレイ１０２に表示する（ステップＳ３０７）。
【００４５】
該表示に基づいて、ユーザが停止するアプリケーションを選択すると、ＣＰＵ１０１は、選択されたアプリケーションを停止する（ステップＳ３０８）。そして、ＣＰＵ１０１は、停止されたアプリケーションが保持していたメモリ１０３が解放されることにより、ステップＳ３０１において要求されたアプリケーションの起動が可能になったかを再度調べるために、ステップＳ３０２に戻る。
【００４６】
ユーザが警告無視を選択した場合は（ステップＳ３０６でＹＥＳ）、ＣＰＵ１０１は、要求されたアプリケーションを起動し（ステップＳ３１１）、本処理を終了する。ユーザがどうしてもそのアプリケーションを起動したいという場合や、起動しようとするアプリケーションはメモリの消費量が少ないから起動しても大丈夫であると判断する場合、或いは、現在のアプリケーション全体のメモリ使用量は最大メモリ使用量の和よりかなり少ないから大丈夫であると判断する場合には、このように警告無視を選択することも考えられる。
【００４７】
その際、ユーザにおける上記判断の補助材料として、ステップＳ３０５の警告表示の時に、現在のアプリケーション全体のメモリ使用量及び最大メモリ使用量の和を同時にディスプレイ１０２に表示するようにしてもよい。なお、その場合には、ステップＳ３０５を実行する以前に、ＣＰＵ１０１は現在のアプリケーション全体のメモリ使用量を求めておく。
【００４８】
上記と同様の表示をステップＳ３０７においても行うことができる。すなわち、現在実行中のアプリケーション一覧をディスプレイ１０２に表示する際に、現在のアプリケーション全体のメモリ使用量、最大メモリ使用量の和、更には現在実行中のアプリケーション毎の最大メモリ使用量及び現在のメモリ使用量について表示を行えば、ユーザに停止させるアプリケーションを選択させる補助材料となる。なお、その場合には、ステップＳ３０７を実行する以前に、ＣＰＵ１０１は現在実行中のアプリケーション毎の現在のメモリ使用量を求めておく。現在実行中のアプリケーション毎の最大メモリ使用量については、図２のシーケンスで求めたものを使用できる。
【００４９】
さて、図２のシーケンスでは、アプリケーション毎の最大メモリ使用量をタイマ１０４を使用して周期的に取得したが、ガーベジコレクション（ＧＣ：Garbage Collection）動作時にアプリケーション毎の最大メモリ使用量を求める手順について、図４のフローチャートを用いて説明する。
【００５０】
ガーベジコレクションとは、一般的に言うと、それまで使用していたがプログラムが必要としなくなったメモリをシステムが自動的に解放してくれる処理のことである。例えば、Java（登録商標）言語で記述したJava（登録商標）プログラムをJava（登録商標）仮想マシン上で実行させると、Java（登録商標）プログラムが必要としなくなったメモリをJava（登録商標）仮想マシンがガーベジコレクション（ゴミ集め）し、再利用できるよう未使用メモリに追加する。Java（登録商標）言語の他にも、ガーベジコレクションを行う言語、仮想マシン或いはシステムが存在する。
【００５１】
ガーベジコレクション機構を使用すると、ユーザがプログラミングする際、メモリ管理の煩雑さから解放され、またメモリ解放のし忘れというバグから逃れられるという効果がある。また、ガーベジコレクション動作には、使用しているメモリ領域、もう使用しなくなったメモリを判別する処理が含まれるので、アプリケーション毎にメモリ使用量を求める計算も簡単に行うことができ、メモリ使用量を求めるための別のタスクを実行しなくてよいという利点がある。
【００５２】
図４は、情報処理装置におけるガーベジコレクション動作時にアプリケーション毎の最大メモリ使用量を更新する手順を示すフローチャートである。
【００５３】
図４において、メモリ割当てを要求したアプリケーションに対し、未使用メモリが不足してメモリ割当てができない等の理由によりガーベジコレクションを実行しなければならない事態が発生した時、または、タイマ１０４による計時を基に周期的にガーベジコレクションを行おうとする時、ＣＰＵ１０１は、本来のガーベジコレクション処理を行う（ステップＳ４０１）。
【００５４】
本情報処理装置がマルチタスクシステムであるなら、タスク毎にガーベジコレクションが行われる。タスクに割当てられたスタックやヒープ領域を調べて、使用しているメモリ、もう使用しなくなったメモリを判別し、どのタスクからも使用されていないメモリは解放される。
【００５５】
ガーベジコレクション処理の中では、同時に、タスク毎に使用されているメモリ領域を求めている。更に、各アプリケーションがどのタスクから構成されるかという情報がメモリ１０３に記憶されているので、アプリケーション毎にメモリ使用量を求めることができる。図２において説明したのと同様、タスク間で共有するメモリについては、メモリ使用量の重複部分を加算しない。
【００５６】
その後は、ＣＰＵ１０１は、起動している全アプリケーションについて最大メモリ使用量を求めていく。起動しているアプリケーションが一つでもある場合は、全アプリケーションについて最大メモリ使用量を求める処理が終了したかの判断（ステップＳ４０２）がＮＯとなる。次に、ＣＰＵ１０１は、最大メモリ使用量を求めようとするアプリケーションを選択する（ステップＳ４０３）。
【００５７】
選択したアプリケーションについて、ステップＳ４０１で求めた現在のメモリ使用量がメモリ１０３に以前記憶した該アプリケーションの最大使用量を超えた場合は（ステップＳ４０４でＹＥＳ）、ＣＰＵ１０１は、現在のメモリ使用量を該アプリケーションの最大使用量としてメモリ１０３に記憶する（ステップＳ４０５）。そして、ＣＰＵ１０１は、次のアプリケーションについて処理を行うため、ステップＳ４０２に戻る。
【００５８】
選択したアプリケーションについて、ステップＳ４０１で求めた現在のメモリ使用量がメモリ１０３に以前記憶した該アプリケーションの最大使用量を超えない場合は（ステップＳ４０４でＮＯ）、ＣＰＵ１０１は、何もせず、次のアプリケーションについて処理を行うため、ステップＳ４０２に戻る。
【００５９】
以上のようにして、全アプリケーションについて処理を終了すると（ステップＳ４０２でＹＥＳ）、本処理を終了する。
【００６０】
次に、情報処理装置で新たに起動しようとするアプリケーションの分まで最大メモリ使用量の和に含める手順について、図５、図６、図１０、図１１、図１２を用いて説明する。
【００６１】
図６は、情報処理装置におけるアプリケーションインスタンス毎に記憶される情報を示すテーブルである。
【００６２】
図６において、本テーブルは、アプリケーションのインスタンス毎の、アプリケーション名６０１、インスタンスＮｏ６０２、メモリ使用量６０３、最大メモリ使用量６０４の対応関係を示すものである。ＣＰＵ１０１がこれらの情報を取得してメモリ１０３に記憶する。
【００６３】
インスタンスＮｏとは、同時に実行されている複数の同一アプリケーションを区別するために付与された識別子である。図６の例では、アプリケーションの起動順に１から番号が振られているが、同一アプリケーションを区別できさえすればどのような識別子でもよい。図６の例では、ＢＢＢという名前のアプリケーションが２個実行中であり、それぞれインスタンスＮｏとして１と２が割り振られている。
【００６４】
メモリ使用量は、アプリケーションの現在のメモリ使用量である。最大メモリ使用量とは、アプリケーションの今までの最大メモリ使用量である。アプリケーションのインスタンスが異なっても最大メモリ使用量は等しくする場合と、アプリケーションのインスタンス毎に最大メモリ使用量を記憶する場合との２つの方法がある。
【００６５】
図６の例は、前者の、アプリケーションのインスタンスが異なっても最大メモリ使用量は等しくする場合である。アプリケーションＢＢＢのインスタンスＮｏ．１とインスタンスＮｏ．２の最大メモリ使用量が４００ＫＢで等しくなっている。これは、各インスタンスの最大メモリ使用量が等しく４００ＫＢであったことを意味するものではない。各インスタンスの最大メモリ使用量のうち最大のものを、全てのインスタンスの欄に設定している。このようにすれば、より大きな値を最大メモリ使用量として設定することになるので、新たなアプリケーション起動の条件が厳しくなり、情報処理装置をより安全に動作させることができる。
【００６６】
一方、後者の、アプリケーションのインスタンス毎に最大メモリ使用量を記憶する場合がある。この場合は、例えば引数を変えてアプリケーションの別のインスタンスを起動する等、実行しているアプリケーションインスタンスの条件が異なってメモリ使用量も大きく異なる時に、前者の方法では最大メモリ使用量として採用する値が大きくなり過ぎて、結果としてメモリが十分余っているにも関わらず、新たなアプリケーションの起動ができないといった点を防止することができる。
【００６７】
上記２つの方法のうちどちらの方法を採用するかは、情報処理装置の動作環境の設定または動作ポリシによる。
【００６８】
前者の方法を採用する際は、図２のステップＳ２０７或いは図４のステップＳ４０５において、最大メモリ使用量を記憶する時、該最大メモリ使用量を該当するアプリケーションの全てのインスタンスの欄に設定する。または、後者の方法のように最大メモリ使用量をアプリケーションインスタンス毎に記憶するのではなく、アプリケーション毎に記憶する方法も考えられる。この場合は、上記の最大メモリ使用量を該当するアプリケーションの全てのインスタンスの欄に設定する手順は不要になる。
【００６９】
ところで、図６では、ＣＣＣという名前のアプリケーションの行において、インスタンスＮｏ６０１とメモリ使用量６０２の欄が「−」になっているが、この意味は、アプリケーションＣＣＣが現在は実行されておらず、従って、アプリケーションインスタンスが存在せず、メモリも消費していないことを示している。しかし、以前、アプリケーションＣＣＣが動作した時の最大メモリ使用量６０４の情報は、アプリケーションＣＣＣが停止或いはアンインストールされた現在でも保持されている。
【００７０】
次に、最大メモリ使用量をアプリケーションインスタンス毎に記憶しておく場合であって、アプリケーションのインスタンスが異なっても最大メモリ使用量は等しくする場合における、アプリケーション停止時の図６のテーブルに対する処理の手順を、図１０のフローチャートを用いて説明する。
【００７１】
図１０は、情報処理装置におけるアプリケーション停止時の処理手順を示すフローチャートである。
【００７２】
図１０において、アプリケーションを停止しようとする時、ＣＰＵ１０１は、停止しようとするアプリケーションのインスタンスと同じアプリケーションの依然実行中であるインスタンスがないか、メモリ１０３に記憶された図６のテーブルを参照して探す（ステップＳ１００１）。
【００７３】
該アプリケーションに対し、残っているインスタンスが停止しようとするインスタンス以外にない場合は（ステップＳ１００１でＹＥＳ）、ＣＰＵ１０１は、停止しようとするインスタンスの行のインスタンスＮｏ欄に「−」を入力する（ステップＳ１００２）。実際には、インスタンスＮｏが無効であることを示す値をメモリ１０３に記憶する。更に、ＣＰＵ１０１は、停止しようとするインスタンスの行のメモリ使用量欄に「−」を入力し（ステップＳ１００３）、本処理を終了する。実際には、メモリ使用量が無効であることを示す値をメモリ１０３に記憶する。最大メモリ使用量の欄はそのままにして、本処理を終了する。
【００７４】
停止しようとするアプリケーションのインスタンスと同じアプリケーションの依然実行中であるインスタンスが他にもある場合は（ステップＳ１００１でＮＯ）、ＣＰＵ１０１は、単に停止しようとするインスタンスの行を削除する処理だけを実行し（ステップＳ１００４）、本処理を終了する。
【００７５】
以上の手順により、アプリケーションが停止した後も最大メモリ使用量をメモリ１０１に保存しておくことができる。尚、最大メモリ使用量は、アプリケーション停止後、タイマにより所定の期間の経過を計時した場合はメモリ１０３から削除する。
【００７６】
次に、最大メモリ使用量をアプリケーションインスタンス毎に記憶しておく場合であって、アプリケーションのインスタンス毎に最大メモリ使用量を記憶する場合における、アプリケーション停止時の図６のテーブルに対する処理の手順を、図１１のフローチャート及び図１２のテーブルを用いて説明する。
【００７７】
図１２は、情報処理装置におけるアプリケーション毎の停止時最大メモリ使用量を示すテーブルである。
【００７８】
図１２において、本テーブルは、インスタンス毎ではなく、アプリケーション毎の、アプリケーション名１２０１、停止時最大メモリ使用量１２０２の対応関係を示すものである。本テーブルは、アプリケーション停止時に更新されるが、その手順を図１１のフローチャートに示す。
【００７９】
図１１は、情報処理装置におけるアプリケーション停止時の処理手順を示すフローチャートである。
【００８０】
図１１において、アプリケーションを停止しようとする時、ＣＰＵ１０１は、停止しようとするアプリケーションのインスタンスと同じアプリケーションの依然実行中であるインスタンスが他にないか、メモリ１０３に記憶された図６のテーブルを参照して探す（ステップＳ１１０１）。
【００８１】
実行中である他のインスタンスがまだ存在する場合は（ステップＳ１１０１でＮＯ）、ＣＰＵ１０１は、停止しようとするアプリケーションインスタンスの最大メモリ使用量と、図１２のテーブルに記憶された該当アプリケーションの停止時最大メモリ使用量とを比較する（ステップＳ１１０６）。図１２のテーブルが初期化状態のままで、まだ有効なアプリケーションの停止時最大メモリ使用量が入力されていないときは、停止時最大メモリ使用量は０と見なす。
【００８２】
上記比較の結果、停止しようとするアプリケーションインスタンスの最大メモリ使用量が停止時最大メモリ使用量より大きい場合は（ステップＳ１１０６でＹＥＳ）、ＣＰＵ１０１は、新たな停止時最大メモリ使用量として上記最大メモリ使用量の値を設定し、図１２のテーブルを更新する（ステップＳ１１０７）。最大メモリ使用量が停止時最大メモリ使用量より大きくない場合は（ステップＳ１１０６でＮＯ）、ＣＰＵ１０１は、ステップＳ１１０７の処理はスキップする。そして、ＣＰＵ１０１は、停止しようとするアプリケーションインスタンスの行を図６のテーブルから削除し（ステップＳ１１０８）、本処理を終了する。
【００８３】
停止しようとするアプリケーションに対し、残っているインスタンスが停止しようとするインスタンス以外にない場合は（ステップＳ１１０１でＹＥＳ）、ＣＰＵ１０１は、停止しようとするインスタンスの行のインスタンスＮｏ欄に「−」を入力する（ステップＳ１１０２）。実際には、インスタンスＮｏが無効であることを示す値をメモリ１０３に記憶する。更に、ＣＰＵ１０１は、停止しようとするインスタンス行のメモリ使用量欄に「−」を入力する（ステップＳ１１０３）。実際には、メモリ使用量が無効であることを示す値をメモリ１０３に記憶する。
【００８４】
次いで、ＣＰＵ１０１は、停止しようとするアプリケーションインスタンスの最大メモリ使用量と、図１２のテーブルに記憶された該当アプリケーションの停止時最大メモリ使用量とを比較する（ステップＳ１１０４）。
【００８５】
上記比較の結果、停止しようとするアプリケーションインスタンスの最大メモリ使用量よりも停止時最大メモリ使用量の方が大きい場合は（ステップＳ１１０４でＮＯ）、ＣＰＵ１０１は、図６のテーブルにおいて該当アプリケーションインスタンスの最大メモリ使用量欄に、その停止時最大メモリ使用量を設定し（ステップＳ１１０５）、本処理を終了する。最大メモリ使用量が停止時最大メモリ使用量より大きい場合は（ステップＳ１１０４でＹＥＳ）、ＣＰＵ１０１は、単にステップＳ１１０５をスキップし、本処理を終了する。
【００８６】
以上の手順により、全てのアプリケーションインスタンスが停止または終了しても、実行させたアプリケーションインスタンスの中でも最大の最大メモリ使用量を図６のテーブルに記憶させておくことができる。
【００８７】
最大メモリ使用量をアプリケーションインスタンス毎に記憶するのではなくアプリケーション毎に記憶する場合は、全てのアプリケーションインスタンスが停止または終了した後においても、その記憶情報を残しておけば、簡単に後で参照することができる。この手順は簡単なので説明を省略する。
【００８８】
次に、図６のテーブルがメモリ１０３に記憶されている時、新たに起動しようとするアプリケーションの分まで最大メモリ使用量の和に含める手順について、図５のフローチャートを用いて説明する。
【００８９】
図５は、情報処理装置におけるアプリケーション毎の最大メモリ使用量が許容量以内かを確認しながらアプリケーションを起動する手順を示すフローチャートである。
【００９０】
図５において、まず、ＣＰＵ１０１は、アプリケーションの起動要求を受ける（ステップＳ５０１）。起動が要求されたアプリケーションは、以前実行したことがあり、その最大メモリ使用量がメモリ１０３に記憶されているものとする。つまり、図６のテーブルにおいてはＣＣＣのようなアプリケーションが対象となる。
【００９１】
ＣＰＵ１０１は、実行中のアプリケーションについて、図２或いは図４のシーケンスにより求めた各々のアプリケーションの最大メモリ使用量の和を求める（ステップＳ５０２）。つまり、図６のテーブルにおいて最大メモリ使用量の列の和を求める。但し、あくまで実行中のアプリケーションについてである。ＣＰＵ１０１は、そのアプリケーションが実行中かどうかを、インスタンスＮｏの欄が「−」であるかどうかを基に、或いは、アプリケーションが実行中かどうかを示すフラグ等の情報を基に、判断する。上記の方法により、同一アプリケーションが複数実行されている場合でも、その分、最大メモリ使用量を加算することを容易に行うことができる。
【００９２】
更に、ＣＰＵ１０１は、起動しようとするアプリケーションの最大メモリ使用量をメモリ１０３から読み出し、上記の最大メモリ使用量の和に加算する（ステップＳ５０２）。
【００９３】
次に、ＣＰＵ１０１は、上記のようにして求めた最大メモリ使用量の和が所定の許容量を超えたどうかを判断する（ステップＳ５０３）。最大メモリ使用量の和が許容量を超えない場合は（ステップＳ５０３でＮＯ）、ＣＰＵ１０１は、まだメモリに余裕があると見なし、要求された新アプリケーションの起動を行い（ステップＳ５０９）、本処理を終了する。最大メモリ使用量の和が許容量を超えた場合は（ステップＳ５０３でＹＥＳ）、更に、ＣＰＵ１０１は、ユーザに現在実行中のアプリケーションの停止をさせるかどうかを判別する（ステップＳ５０４）。
【００９４】
ユーザにアプリケーションの停止をさせない場合は（ステップＳ５０４でＮＯ）、ＣＰＵ１０１は、新たなアプリケーションの起動は無理と判断し、ディスプレイ１０２に「メモリが不足して、アプリケーションが起動できない」旨のエラー表示を行い（ステップＳ５１０）、本処理を終了する。その際、実行中のアプリケーションの最大メモリ使用量と、起動しようとするアプリケーションの最大メモリ使用量と、上記許容量とを同時にディスプレイ１０２に表示するようにしてもよい。
【００９５】
該表示により、メモリ不足でアプリケーションが起動できないという問題を解決するために、メモリを増設すればよいのか、許容量を増やすべきなのか、アプリケーションの起動をあきらめるべきなのか、ユーザに判断させる材料となり得る。
【００９６】
ユーザにアプリケーションの停止をさせる場合は（ステップＳ５０４でＹＥＳ）、ＣＰＵ１０１は、ディスプレイ１０２に「メモリが不足して、アプリケーションが起動できない可能性がある」旨の警告表示を行う（ステップＳ５０５）。その際、現在実行中のアプリケーション全体のメモリ使用量と、実行中のアプリケーション及び起動しようとするアプリケーションの最大メモリ使用量の和と、上記許容量とを同時にディスプレイ１０２に表示するようにしてもよい。
【００９７】
ユーザが上記警告表示を見て警告を無視せず、いずれかのアプリケーションを停止することを決定した場合は（ステップＳ５０６でＮＯ）、ＣＰＵ１０１は、現在実行中のアプリケーションの一覧をディスプレイ１０２に表示する（ステップＳ５０７）。その際、ＣＰＵ１０１は、現在実行中のアプリケーション全体のメモリ使用量と、実行中のアプリケーション及び起動しようとするアプリケーションの最大メモリ使用量の和と、現在実行中のアプリケーション毎の最大メモリ使用量と、その現在のメモリ使用量とをメモリ１０３から読み出して、同時にディスプレイ１０２に表示する。
【００９８】
現在実行中のアプリケーション毎の最大メモリ使用量とは、上記で説明したように、アプリケーションインスタンス毎の最大メモリ使用量でもよいし、純粋にアプリケーション毎の最大メモリ使用量でもよい。これらの表示は、停止すべきアプリケーションをユーザが選択する際に有用となり得る。
【００９９】
該表示に基づいてユーザが停止するアプリケーションを選択すると、ＣＰＵ１０１は、選択されたアプリケーションを停止する（ステップＳ５０８）。そして、停止されたアプリケーションが保持していたメモリが解放されることにより、ＣＰＵ１０１は、ステップＳ５０１で要求されたアプリケーションの起動が可能になったかを再度調べるために、ステップＳ５０２に戻る。
【０１００】
ユーザが警告無視を選択した場合は（ステップＳ５０６でＹＥＳ）、ＣＰＵ１０１は、要求されたアプリケーションを起動し（ステップＳ５１１）、本処理を終了する。
【０１０１】
アプリケーションの起動に関わる警告表示の方法や手順は上記図５を用いて説明したものにとどまらず、様々なシーケンスが考えられる。一つのバリエーションの手順を図９のフローチャートを用いて説明する。
【０１０２】
図９は、情報処理装置におけるアプリケーション毎の最大メモリ使用量が許容量以内かを確認しながらアプリケーションを起動する手順を示すフローチャートである。
【０１０３】
図９において、ステップＳ９０１からステップＳ９０３までは図５におけるステップＳ５０１からステップＳ５０３と同様であり、説明を省略する。最大メモリ使用量の和が許容量を超えない場合は（ステップＳ９０３でＮＯ）、ＣＰＵ１０１は、まだメモリに余裕があると見なし、要求された新アプリケーションの起動を行い（ステップＳ９０８）、本処理を終了する。
【０１０４】
最大メモリ使用量の和が許容量を超えた場合は（ステップＳ９０３でＹＥＳ）、ＣＰＵ１０１は、ディスプレイ１０２に「メモリが不足して、アプリケーションが起動できない可能性がある」旨の警告表示を行うと共に、現在実行中のアプリケーション全体のメモリ使用量と、実行中のアプリケーション及び起動しようとするアプリケーションの最大メモリ使用量の和と、現在実行中のアプリケーション毎の最大メモリ使用量と、その現在のメモリ使用量とをメモリ１０３から読み出して、ディスプレイ１０２に表示する（ステップＳ９０４）。
【０１０５】
同時に、ＣＰＵ１０１は、「アプリケーション起動の中止」、「アプリケーション起動の強行」、「アプリケーションを選択して停止」の３つの選択肢をディスプレイ１０２に表示し、ユーザに選択させる。
【０１０６】
ユーザが「アプリケーション起動の中止」を選択した場合は（ステップＳ９０５でＹＥＳ）、ＣＰＵ１０１は、ディスプレイ１０２に「メモリが不足して、アプリケーションが起動できない」旨のエラー表示を行い（ステップＳ９０９）、本処理を終了する。ユーザが「アプリケーション起動の強行」を選択した場合は（ステップＳ９０６でＹＥＳ）、ＣＰＵ１０１は、要求されたアプリケーションの起動を強行し（ステップＳ９１０）、本処理を終了する。
【０１０７】
ユーザが上記２つの選択肢のどちらも選択しない場合は（ステップＳ９０５及びステップＳ９０６でＮＯ）、「アプリケーションを選択して停止」を選択することになる。それに伴い、ＣＰＵ１０１は、選択されたアプリケーションを停止する（ステップＳ９０７）。そして、停止されたアプリケーションが保持していたメモリが解放されることにより、ＣＰＵ１０１は、ステップＳ９０１で要求されたアプリケーションの起動が可能になったかを再度調べるために、ステップＳ９０２に戻る。
【０１０８】
次に、情報処理装置でアプリケーション毎の最大メモリ使用量を監視しながらアプリケーションのインストールを行う手順について、図７のフローチャートを用いて説明する。
【０１０９】
図７は、情報処理装置におけるアプリケーション毎の最大メモリ使用量が許容量以内かを確認しながらアプリケーションをインストールする手順を示すフローチャートである。
【０１１０】
図７において、まず、ＣＰＵ１０１は、アプリケーションのインストール要求を受ける（ステップＳ７０１）。次に、ＣＰＵ１０１は、実行中のアプリケーションについて、図２或いは図４のシーケンスにより求めた各々のアプリケーションの最大メモリ使用量の和を求める（ステップＳ７０２）。次に、ＣＰＵ１０１は、上記のようにして求めた最大メモリ使用量の和が所定の許容量を超えたどうかを判断する（ステップＳ７０３）。
【０１１１】
最大メモリ使用量の和が許容量を超えない場合は（ステップＳ７０３でＮＯ）、ＣＰＵ１０１は、まだメモリに余裕があると見なし、要求された新アプリケーションのインストールを行い（ステップＳ７０９）、本処理を終了する。最大メモリ使用量の和が許容量を超えた場合は、更に、ＣＰＵ１０１は、ユーザに現在実行中のアプリケーションの停止をさせるかどうかを判別する（ステップＳ７０４）。
【０１１２】
ユーザにアプリケーションの停止をさせない場合は（ステップＳ７０４でＮＯ）、ＣＰＵ１０１は、新たなアプリケーションの起動は無理と判断し、ディスプレイ１０２に「メモリが不足して、アプリケーションが起動できない」旨のエラー表示を行い（ステップＳ７１０）、本処理を終了する。その際、実行中のアプリケーションの最大メモリ使用量及び上記許容量を同時にディスプレイ１０２に表示するようにしてもよい。
【０１１３】
ユーザにアプリケーションの停止をさせる場合は（ステップＳ７０４でＹＥＳ）、ＣＰＵ１０１は、ディスプレイ１０２に「メモリが不足して、アプリケーションが起動できない可能性がある」旨の警告表示を行う（ステップＳ７０５）。その際、現在実行中のアプリケーション全体のメモリ使用量と、実行中のアプリケーションの最大メモリ使用量の和と、上記許容量とを同時にディスプレイ１０２に表示するようにしてもよい。
【０１１４】
ユーザが上記警告表示を見て警告を無視せず、いずれかのアプリケーションを停止することを決定した場合は（ステップＳ７０６でＮＯ）、ＣＰＵ１０１は、現在実行中のアプリケーションの一覧をディスプレイ１０２に表示する（ステップＳ７０７）。その際、現在実行中のアプリケーション全体のメモリ使用量と、実行中のアプリケーションの最大メモリ使用量の和と、現在実行中のアプリケーション毎の最大メモリ使用量と、その現在のメモリ使用量とを同時にディスプレイ１０２に表示する。
【０１１５】
該表示に基づいてユーザが停止するアプリケーションを選択すると、ＣＰＵ１０１は、選択されたアプリケーションを停止する（ステップＳ７０８）。そして、停止されたアプリケーションが保持していたメモリが解放されることにより、ＣＰＵ１０１は、ステップＳ７０１で要求されたアプリケーションの起動が可能になったかを再度調べるために、ステップＳ７０２に戻る。
【０１１６】
ユーザが警告無視を選択した場合は（ステップＳ７０６でＹＥＳ）、ＣＰＵ１０１は、要求されたアプリケーションをインストールし（ステップＳ７１１）、本処理を終了する。
【０１１７】
以上、図７のシーケンスによれば、現在実行中のアプリケーションの最大メモリ使用量の和が許容量を超えたかどうかを判断することで、新たなアプリケーションのインストールの可否を判断するので、メモリ不足の場合には、アプリケーションを無駄にインストールする手間及び起動しようとする手間を省くことができる。
【０１１８】
インストールしようとするアプリケーションは、ハードディスクドライブ１０７のハードディスク、リムーバブルディスクドライブ１０８のリムーバブルディスク、ネットワーク１０９、或いはネットワーク１０９に接続された他の情報処理装置のいずれに置かれていてもよい。また、インストールしようとするアプリケーションは、ＣＰＵ１０１が読み出すことができれば、これら以外の場所に置かれていてもよい。
【０１１９】
次に、情報処理装置でアプリケーション毎の最大メモリ使用量及び新たにインストールしようとするアプリケーションの最大メモリ使用量をチェックしながら、アプリケーションをインストールする手順について、図８のフローチャートを用いて説明する。
【０１２０】
図８は、情報処理装置におけるアプリケーション毎の最大メモリ使用量が許容量以内かを確認しながらアプリケーションをインストールする手順を示すフローチャートである。
【０１２１】
図８において、まず、ＣＰＵ１０１は、アプリケーションのインストール要求を受ける（ステップＳ８０１）。インストールが要求されたアプリケーションは、以前、本情報処理装置上にインストールされ実行されたことがあり、その最大メモリ使用量がメモリ１０３に記憶されているものとする。つまり、図６のテーブルにおいてはＣＣＣのようなアプリケーションが対象となる。ここで、最大メモリ使用量を示す情報は、アプリケーションがアンインストールされても、所定の期間はメモリ１０３から削除されないものとする。最大メモリ使用量を示す情報は、タイマにより所定の期間の経過を計時した場合は不要のものとしてメモリ１０３から削除するが、その手順は簡単なのでここでは説明を省略する。
【０１２２】
ＣＰＵ１０１は、実行中のアプリケーションについて、図２或いは図４のシーケンスにより求めた各々のアプリケーションの最大メモリ使用量の和を求める（ステップＳ８０２）。更に、ＣＰＵ１０１は、インストールしようとするアプリケーションの最大メモリ使用量をメモリ１０３から読み出し、上記の最大メモリ使用量の和に加算する（ステップＳ８０２）。次に、ＣＰＵ１０１は、上記のようにして求めた最大メモリ使用量の和が所定の許容量を超えたどうかを判断する（ステップＳ８０３）。
【０１２３】
最大メモリ使用量の和が許容量を超えない場合は（ステップＳ８０３でＮＯ）、ＣＰＵ１０１は、まだメモリに余裕があると見なし、要求された新アプリケーションのインストールを行い（ステップＳ８０９）、本処理を終了する。最大メモリ使用量の和が許容量を超えた場合は（ステップＳ８０３でＹＥＳ）、更に、ＣＰＵ１０１は、ユーザに現在実行中のアプリケーションの停止をさせるかどうかを判別する（ステップＳ８０４）。
【０１２４】
ユーザにアプリケーションの停止をさせない場合は（ステップＳ８０４でＮＯ）、ＣＰＵ１０１は、新たなアプリケーションのインストールは無理と判断し、ディスプレイ１０２に「メモリが不足して、アプリケーションがインストールできない」旨のエラー表示を行い（ステップＳ８１０）、本処理を終了する。その際、実行中のアプリケーションの最大メモリ使用量と、インストールしようとするアプリケーションの最大メモリ使用量と、上記許容量とを同時にディスプレイ１０２に表示するようにしてもよい。
【０１２５】
ユーザにアプリケーションの停止をさせる場合は（ステップＳ８０４でＹＥＳ）、ＣＰＵ１０１は、ディスプレイ１０２に「メモリが不足して、アプリケーションが起動できない可能性がある」旨の警告表示を行う（ステップＳ８０５）。その際、現在実行中のアプリケーション全体のメモリ使用量と、実行中のアプリケーション及びインストール起動しようとするアプリケーションの最大メモリ使用量の和と、上記許容量とを同時にディスプレイ１０２に表示するようにしてもよい。
【０１２６】
ユーザが上記警告表示を見て警告を無視せず、いずれかのアプリケーションを停止することを決定した場合は（ステップＳ８０６でＮＯ）、ＣＰＵ１０１は、現在実行中のアプリケーションの一覧をディスプレイ１０２に表示する（ステップＳ８０７）。その際、現在実行中のアプリケーション全体のメモリ使用量と、実行中のアプリケーション及びインストールしようとするアプリケーションの最大メモリ使用量の和と、現在実行中のアプリケーション毎の最大メモリ使用量と、その現在のメモリ使用量とを同時にディスプレイ１０２に表示する。
【０１２７】
該表示に基づいてユーザが停止するアプリケーションを選択すると、ＣＰＵ１０１は、選択されたアプリケーションを停止する（ステップＳ８０８）。そして、停止されたアプリケーションが保持していたメモリが解放されることにより、ＣＰＵ１０１は、ステップＳ８０１で要求されたアプリケーションの起動が可能になったかを再度調べるために、ステップＳ８０２に戻る。
【０１２８】
ユーザが警告無視を選択した場合は（ステップＳ８０６でＹＥＳ）、ＣＰＵ１０１は、要求されたアプリケーションをインストールし（ステップＳ８１１）、本処理を終了する。
【０１２９】
以上、図８のシーケンスによれば、現在実行中のアプリケーション及びインストールしようとするアプリケーションの最大メモリ使用量の和が許容量を超えたかどうか判断することにより、より安全に、新たなアプリケーションのインストールの可否を判断することができる。つまり、新たなアプリケーションのメモリ使用量が予想よりも大きいといった不測の事態に備えることができる。
【０１３０】
次に、情報処理装置で新たなアプリケーションをインストールしたいが、メモリ不足のため警告表示がなされる時、上記で説明したメモリ情報の他に更に情報を追加して表示し、停止するアプリケーションを決定するための参考となるようにする手順について、図１３のテーブル及び図１４のフローチャートを用いて説明する。
【０１３１】
図１３は、情報処理装置におけるアプリケーションインスタンス毎に記憶される情報を示すテーブルである。
【０１３２】
図１３において、本テーブルは、アプリケーションのインスタンス毎の、アプリケーション名１３０１、インスタンスＮｏ１３０２、メモリ使用量１３０３、最大メモリ使用量１３０４、起動日時１３０５、ＣＰＵ動作時間１３０６の対応関係を示すものである。本テーブルはメモリ１０３に記憶される。
【０１３３】
本テーブルでは、図６のテーブルに掲げた項目の他に、アプリケーションインスタンスの起動日時１３０５及びアプリケーションインスタンスのＣＰＵ動作時間１３０６を追加している。ＣＰＵ動作時間１３０６は、そのアプリケーションがＣＰＵ１０１を占有していた時間を起動時から累計したものである。起動日時１３０５及びＣＰＵ動作時間１３０６の値は、ＣＰＵ１０１が情報処理装置動作中に収集し設定する。
【０１３４】
次に、情報処理装置で新たなアプリケーションをインストールする手順について、図１４のフローチャートを用いて説明する。
【０１３５】
図１４は、情報処理装置におけるアプリケーション毎の最大メモリ使用量が許容量以内かを確認しながらアプリケーションをインストールする手順を示すフローチャートである。
【０１３６】
図１４において、ステップＳ１４０１からステップＳ１４０３までは図８におけるステップＳ８０１からステップＳ８０３と同様であり、説明を省略する。最大メモリ使用量の和が許容量を超えない場合は（ステップＳ１４０３でＮＯ）、ＣＰＵ１０１は、まだメモリに余裕があると見なし、要求された新アプリケーションのインストールを行い（ステップＳ１４０８）、本処理を終了する。
【０１３７】
最大メモリ使用量の和が許容量を超えた場合は（ステップＳ１４０３でＹＥＳ）、ＣＰＵ１０１は、ディスプレイ１０２に「メモリが不足して、アプリケーションが起動できない可能性がある」旨の警告表示を行うと共に、現在実行中のアプリケーション全体のメモリ使用量と、実行中のアプリケーション及び起動しようとするアプリケーションの最大メモリ使用量の和と、現在実行中のアプリケーション毎の最大メモリ使用量と、現在のアプリケーション毎のメモリ使用量と（以上メモリ情報）、図１３のテーブルに設定されている現在実行中のアプリケーションインスタンスの起動日時及びＣＰＵ動作時間を、ディスプレイ１０２に表示する（ステップＳ１４０４）。
【０１３８】
同時に、ＣＰＵ１０１は、「アプリケーション起動の中止」、「アプリケーション起動の強行」、「アプリケーションを選択して停止」の３つの選択肢をディスプレイ１０２に表示し、ユーザに選択させる。
【０１３９】
ユーザが「アプリケーション起動の中止」を選択した場合は（ステップＳ１４０５でＹＥＳ）、ＣＰＵ１０１は、ディスプレイ１０２に「メモリが不足して、アプリケーションが起動できない」旨のエラー表示を行い（ステップＳ１４０９）、本処理を終了する。ユーザが「アプリケーション起動の強行」を選択した場合は（ステップＳ１４０６でＹＥＳ）、ＣＰＵ１０１は、要求されたアプリケーションの起動を強行し、該アプリケーションをインストールし（ステップＳ１４１０）、本処理を終了する。
【０１４０】
ユーザが上記２つの選択肢のどちらも選択しない場合は（ステップＳ１４０５及びステップＳ１４０６でＮＯ）、ユーザは「アプリケーションを選択して停止」を選択することになる。それに伴い、ＣＰＵ１０１は、選択されたアプリケーションを停止する（ステップＳ１４０７）。そして、停止されたアプリケーションが保持していたメモリが解放されることにより、ＣＰＵ１０１は、ステップＳ１４０１で要求されたアプリケーションの起動が可能になったかを再度調べるために、ステップＳ１４０２に戻る。
【０１４１】
以上の手順により、警告表示或いはエラー表示と同時に、メモリ情報の他にアプリケーションの起動日時及びＣＰＵ動作時間（アプリケーション動作時間）を示す情報をディスプレイ１０２に表示するので、「このアプリケーションは随分前に起動されたが、あまり動作はしていないようだ。停止すべきかもしれない」とか、「このアプリケーションは最近起動されたばかりだが、高い割合で実行されており、停止はできないな」とかの判断を下す一助とすることができる。
【０１４２】
また、ディスプレイ１０２に表示する動作履歴としては、アプリケーションの起動日時やＣＰＵ動作時間にとどまらず様々なものが考えられる。例えば、ＣＰＵ動作時間の代わりに、全てのアプリケーションのＣＰＵ動作時間に対する該当アプリケーションインスタンスのＣＰＵ動作時間の比率を示すＣＰＵ動作比率でもよい。
【０１４３】
また、ＣＰＵ動作比率にしても、単なるＣＰＵ動作比率では、古くから実行しているアプリケーションインスタンスが高い値をとる傾向が生じるので、最近の１日或いは１週間等、最近のデータを採用することも考えられる。
【０１４４】
また、アプリケーションの起動回数をカウントしておいて、起動回数のカウント値をディスプレイ１０２に表示することも考えられる。起動回数が多いアプリケーションは停止しても問題が少ないと考えることもできるからである。
【０１４５】
以上説明したように、本実施の形態によれば、全ての実行中アプリケーション及び起動しようとするアプリケーション（或いはインストールしようとするアプリケーション）のメモリ使用量が同時に最大値に達する場合を考慮して、新たなアプリケーション起動の可否（或いはアプリケーションインストールの可否）の判断を行うので、情報処理装置がメモリ不足でアプリケーションを起動できないエラーになる可能性を小さくすることができる。
【０１４６】
また、アプリケーションを構成するタスクについて、スタックサイズやヒープ領域サイズに対応するメモリ領域、アプリケーション毎に固有に割り当てられたメモリ領域の合計を最大メモリ使用量の和として算出するので、最大メモリ使用量の和を適正に求めることができる。これにより、最大メモリ使用量を大きく見積もりすぎて、実際はメモリが十分余っているにも関わらず、新たなアプリケーションの起動やインストールができなくなるといった不都合を回避することができる。
【０１４７】
また、周期的に、各アプリケーションの最大メモリ使用量を取得するので、アプリケーション毎の最大メモリ使用量を正確に求めることができる。
【０１４８】
また、ガーベジコレクション実行時に、各アプリケーションの最大メモリ使用量を取得するので、アプリケーション毎の最大メモリ使用量を正確に求めることができる。更に、最大メモリ使用量を求める処理がガーベジコレクションに含まれているので、別途、メモリ使用量を求める処理が不要になり、情報処理装置に対する負荷を小さくすることができる。
【０１４９】
また、新たなアプリケーションのインストールを行うために、いずれかの実行中アプリケーションを停止しようとする時、選択肢（アプリケーション起動中止、アプリケーション起動強行、アプリケーションを選択して停止）をディスプレイ１０２に表示するので、停止するアプリケーションを選択する材料をユーザに与えることができる。
【０１５０】
また、アプリケーションの停止時或いはアンインストール時、タイマ１０４により所定期間の経過を計測した場合、メモリ１０３からアプリケーションの最大メモリ使用量情報を削除するので、最大メモリ使用量情報をメモリにいつまでも保存することでメモリを無駄に消費することを解消することができる。
【０１５１】
また、アプリケーションを再起動或いは再インストールする際、該アプリケーションの最大メモリ使用量をアプリケーション毎の最大メモリ使用量の和に加算し、全ての実行中アプリケーション及び起動しようとするアプリケーションのメモリ使用量が同時に最大値に達する場合を考慮して、新たなアプリケーションインストールの可否の判断を行うので、情報処理装置がメモリ不足エラーになる可能性をより小さくすることができる。
【０１５２】
［他の実施の形態］
上記実施の形態では、最大メモリ使用量が許容量を超えた場合に警告或いはエラーを表示出力したが、本発明は、これに限定されるものではなく、警告或いはエラーを音声出力する形態、もしくは警告或いはエラーを表示出力と同時に音声出力する形態としてもよい。
【０１５３】
また、本発明の目的は、実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出して実行することによりも達成される。
【０１５４】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１５５】
また、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【０１５６】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれる。
【０１５７】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれる。
【０１５８】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳなどが実際の処理の一部または全部を行い、その処理により前述した各実施の形態の機能が実現される場合も、本発明に含まれることは言うまでもない。
【０１５９】
この場合、上記プログラムは、該プログラムを記憶した記憶媒体から直接、又はインターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続された不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。
【０１６０】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、ＯＳ（オペレーティングシステム）に供給されるスクリプトデータ等の形態から成ってもよい。
【図面の簡単な説明】
【０１６１】
【図１】本発明の本実施の形態に係る情報処理装置の構成を示すブロック図である。
【図２】情報処理装置における周期的にアプリケーション毎の最大メモリ使用量を更新する手順を示すフローチャートである。
【図３】情報処理装置におけるアプリケーション毎の最大メモリ使用量が許容量以内かを確認しながらアプリケーションを起動する手順を示すフローチャートである。
【図４】情報処理装置におけるガーベジコレクション動作時にアプリケーション毎の最大メモリ使用量を更新する手順を示すフローチャートである。
【図５】情報処理装置におけるアプリケーション毎の最大メモリ使用量が許容量以内かを確認しながらアプリケーションを起動する手順を示すフローチャートである。
【図６】情報処理装置におけるアプリケーションインスタンス毎に記憶される情報を示すテーブルである。
【図７】情報処理装置におけるアプリケーション毎の最大メモリ使用量が許容量以内かを確認しながらアプリケーションをインストールする手順を示すフローチャートである。
【図８】情報処理装置におけるアプリケーション毎の最大メモリ使用量が許容量以内かを確認しながらアプリケーションをインストールする手順を示すフローチャートである。
【図９】情報処理装置におけるアプリケーション毎の最大メモリ使用量が許容量以内かを確認しながらアプリケーションを起動する手順を示すフローチャートである。
【図１０】情報処理装置におけるアプリケーション停止時の処理手順を示すフローチャートである。
【図１１】情報処理装置におけるアプリケーション停止時の処理手順を示すフローチャートである。
【図１２】情報処理装置におけるアプリケーション毎の停止時最大メモリ使用量を示すテーブルである。
【図１３】情報処理装置におけるアプリケーションインスタンス毎に記憶される情報を示すテーブルである。
【図１４】情報処理装置におけるアプリケーション毎の最大メモリ使用量が許容量以内かを確認しながらアプリケーションをインストールする手順を示すフローチャートである。
【符号の説明】
【０１６２】
１０１  ＣＰＵ（取得手段、算出手段、制御手段）
１０２  ディスプレイ
１０３  メモリ（記憶手段、動作履歴記録手段）
１０４  タイマ（計測手段）
【図１】
2006285871.tif 000003
【図２】
2006285871.tif 000004
【図３】
2006285871.tif 000005
【図４】
2006285871.tif 000006
【図５】
2006285871.tif 000007
【図６】
2006285871.tif 000008
【図７】
2006285871.tif 000009
【図８】
2006285871.tif 000010
【図９】
2006285871.tif 000011
【図１０】
2006285871.tif 000012
【図１１】
2006285871.tif 000013
【図１２】
2006285871.tif 000014
【図１３】
2006285871.tif 000015
【図１４】
2006285871.tif 000016