JP2006285871A - 情報処理装置、制御方法、プログラム、及び記憶媒体 - Google Patents

情報処理装置、制御方法、プログラム、及び記憶媒体 Download PDF

Info

Publication number
JP2006285871A
JP2006285871A JP2005107920A JP2005107920A JP2006285871A JP 2006285871 A JP2006285871 A JP 2006285871A JP 2005107920 A JP2005107920 A JP 2005107920A JP 2005107920 A JP2005107920 A JP 2005107920A JP 2006285871 A JP2006285871 A JP 2006285871A
Authority
JP
Japan
Prior art keywords
application
memory usage
maximum memory
sum
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005107920A
Other languages
English (en)
Inventor
Koichi Oi
浩一 大井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2005107920A priority Critical patent/JP2006285871A/ja
Publication of JP2006285871A publication Critical patent/JP2006285871A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】 情報処理装置がメモリ不足でアプリケーションを起動できないエラーになる可能性を小さくし、新たなアプリケーションの起動やインストールができなくなるといった不都合を回避することなどを可能とした情報処理装置を提供する。
【解決手段】 情報処理装置は、CPU101、ディスプレイ102、メモリ103を備える。CPU101は、アプリケーション毎の最大メモリ使用量を取得し、アプリケーション毎の最大メモリ使用量の和を算出すると共に、最大メモリ使用量の和に、メモリ103に記憶された起動対象のアプリケーションの最大メモリ使用量を加算し、アプリケーションの起動要求時に、算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えたか否かを判断し、最大メモリ使用量の和が許容量を超えた場合、警告表示或いはエラーメッセージをディスプレイ102に表示する。
【選択図】 図3

Description

本発明は、複数のアプリケーションプログラム(以下アプリケーションと略称)を実行する時、それらのアプリケーションが使用するメモリ使用量を監視する機能を有する情報処理装置、制御方法、プログラム、及び記憶媒体に関する。
従来、複数のアプリケーションを実行する時、それらのアプリケーションが使用するメモリ量を監視する各種の情報処理装置システムが提案されている。例えば、アプリケーションを起動するために必要な資源(メモリを含む)の情報をアプリケーション毎に記憶しておき、情報処理装置本体の資源の情報とアプリケーションを起動するために必要な資源の情報とを比較し、アプリケーション起動のための資源が不足する場合は、アプリケーションのアイコン表示を資源確保ができない旨の表示に変更する提案が開示されている(例えば、特許文献1参照)。
特開2000−76085号公報
しかしながら、上述した従来例の情報処理装置システムでは、アプリケーションが使用するメモリ使用量を求める際に、アプリケーション起動前の空きメモリ容量とアプリケーション起動後の空きメモリ容量との差を求めるという手法を用いているため、メモリ使用量の計算に不正確な要素を含んでしまうという問題がある。
即ち、従来例では、第一に、アプリケーション起動前とアプリケーション起動後の空きメモリ容量の差を求める際、既に動作しているアプリケーションが、アプリケーション起動前の空きメモリ容量を求めてからアプリケーション起動後の空きメモリ容量を求めるまでの期間に、新たなメモリを消費するか、或いは使用していたメモリを解放するかも知れないということを無視しているという問題がある。
また、従来例では、第二に、アプリケーション起動後の空きメモリ容量を求めるのは、そのアプリケーションについてただ1回のみであり、その後にアプリケーションが新たなメモリを消費するかもしれないという可能性を考慮していないという問題がある。
本発明の目的は、情報処理装置がメモリ不足でアプリケーションを起動できないエラーになる可能性を小さくし、新たなアプリケーションの起動やインストールができなくなるといった不都合を回避することなどを可能とした情報処理装置、制御方法、プログラム、及び記憶媒体を提供することにある。
上述の目的を達成するために、本発明の情報処理装置は、複数のアプリケーションが使用するメモリ量を管理する情報処理装置であって、アプリケーション毎の最大メモリ使用量を取得する取得手段と、前記取得手段により取得したアプリケーション毎の最大メモリ使用量の和を算出する算出手段と、アプリケーションの起動要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えたか否かに基づいて、アプリケーションの起動の可否を判断する制御手段とを備えることを特徴とする。
上述の目的を達成するために、本発明の制御方法は、複数のアプリケーションが使用するメモリ量を管理する情報処理装置の制御方法であって、アプリケーション毎の最大メモリ使用量を取得する取得ステップと、前記取得ステップにより取得したアプリケーション毎の最大メモリ使用量の和を算出する算出ステップと、アプリケーションの起動要求時に、前記算出ステップにより算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えたか否かに基づいて、アプリケーションの起動の可否を判断する制御ステップとを備えることを特徴とする。
上述の目的を達成するために、本発明のプログラムは、複数のアプリケーションが使用するメモリ量を管理する情報処理装置の制御方法をコンピュータに実行させるプログラムであって、アプリケーション毎の最大メモリ使用量を取得する取得モジュールと、前記取得モジュールにより取得したアプリケーション毎の最大メモリ使用量の和を算出する算出モジュールと、アプリケーションの起動要求時に、前記算出モジュールにより算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えたか否かに基づいて、アプリケーションの起動の可否を判断する制御モジュールとを備えることを特徴とする。
本発明によれば、アプリケーションの起動要求時に、アプリケーション毎の最大メモリ使用量の和が許容量を超えたか否かを基に、アプリケーション起動の可否を判断するので、情報処理装置がメモリ不足エラーになる可能性を小さくすることができる。
また、アプリケーションを構成するタスクについて、スタックサイズ等に対応するメモリ領域や固有に割り当てられたメモリ領域の合計を最大メモリ使用量の和として算出するので、最大メモリ使用量の和を適正に求めることができる。これにより、最大メモリ使用量を大きく見積もりすぎて、実際はメモリが十分余っているにも関わらず、新たなアプリケーションの起動やインストールができなくなるといった不都合を回避することができる。
また、周期的に、各アプリケーションの最大メモリ使用量を取得するので、アプリケーション毎の最大メモリ使用量を正確に求めることができる。
また、ガーベジコレクション実行時に、各アプリケーションの最大メモリ使用量を取得するので、アプリケーション毎の最大メモリ使用量を正確に求めることができる。更に、最大メモリ使用量を求める処理がガーベジコレクションに含まれているので、別途、メモリ使用量を求める処理が不要になり、情報処理装置に対する負荷を小さくすることができる。
また、アプリケーションのインスタンス毎の最大メモリ使用量の和に起動対象のアプリケーションの最大メモリ使用量を加算したものが許容量を超えた場合、警告或いはエラーを報知するので、情報処理装置がメモリ不足エラーになる可能性を更に小さくすることができる。
また、アプリケーションの停止時或いはアンインストール時、所定の期間が経過した場合、記憶手段からアプリケーションの最大メモリ使用量の情報を削除するので、最大メモリ使用量の情報を記憶手段にいつまでも保存することで記憶手段を無駄に消費することを防止することができる。
以下、本発明の実施の形態を図面を参照して説明する。
図1は、本発明の本実施の形態に係る情報処理装置の構成を示すブロック図である。
図1において、情報処理装置は、CPU101、ディスプレイ102、メモリ103、タイマ104、I/Oインタフェース105、キーボード106、ハードディスクドライブ107、リムーバブルディスクドライブ108を備えている。109はネットワークである。
CPU101は、情報処理装置全体の制御を行う中央処理装置であり、メモリ102に格納された制御プログラムに基づいて各フローチャート(図2〜図5、図7〜図11、図14)に示す処理を実行する。ディスプレイ102は、各種情報の表示を行う。メモリ103は、情報処理装置の制御プログラム、後述の各種情報、各テーブル(図6、図12、図13)を記憶しておくためのものであり、書き込み/読み出しが可能である。図1ではメモリ種別の区別は行わずに単にメモリ103と図示しているが、メモリ103はROMやRAM等を含むものとする。タイマ104は、CPU101の命令に基づいて各種タイミング(時間)を計時する。
I/Oインタフェース105は、情報処理装置に各種I/O(入出力)機器を接続するためのインタフェースを司るものであり、各種I/O機器(キーボード106、ハードディスクドライブ107、リムーバブルディスクドライブ108)とネットワーク109が接続される。キーボード106は、文字/数字等を入力するためのキー入力装置である。ハードディスクドライブ107は、ハードディスク(不図示)に対する情報の書き込み/読み出しを行う。リムーバブルディスクドライブ108は、リムーバブルディスク(不図示)に対する情報の書き込み/読み出しを行う。
なお、I/Oインタフェース105には、上記各種I/O機器が接続される他に、これら以外のI/O機器(例えばマウスやタブレット等)が接続されていてもよい。また、ネットワーク109は、情報処理装置が有線方式で接続されるものだけでなく、情報処理装置が電波或いは赤外線を用いた無線方式で接続されるものであってもよい。
次に、本実施の形態の情報処理装置の動作について図1乃至図14を参照しながら詳細に説明する。
まず、情報処理装置におけるアプリケーション毎の最大メモリ使用量の更新とアプリケーションの起動について、図2及び図3を用いて説明する。
図2は、情報処理装置における周期的にアプリケーション毎の最大メモリ使用量を更新する手順を示すフローチャートである。
図2において、最初に、CPU101は、タイマ104を起動する(ステップS201)。タイマ104にセットする時間は、その情報処理装置にとって適当と思われる値でよい。タイマ104にセットする時間は、最大メモリ使用量をどのくらい正確に求めたいかという要求と、アプリケーション毎の最大メモリ使用量を求めるのにどのくらいCPU101の仕事を割いてもよいかということを考慮して決定される。一般的には数秒から数分の間に設定すればよい。
CPU101は、ステップS201の後は、上記タイマ104にセットした時間のタイムアウトを待つ(ステップS202)。ここでは、タイマセット時間のタイムアウトを待つのにループ処理を行っているようにフローチャートを図示しているが、勿論、CPU101を他のタスク実行に割当てておき、割り込み等の手段でタイムアウトがCPU101に通知されるようにしてもよい。CPU101は、タイマセット時間がタイムアウトした後は、起動している全アプリケーションについて最大メモリ使用量を求めていく。起動しているアプリケーションが一つでもある場合は、全アプリケーションについて最大メモリ使用量を求める処理が終了したかどうかの判断(ステップS203)がNOとなる。
ここで、アプリケーションとは、情報処理装置にとって一つの機能を実現するためのプログラム群を指しており、オペレーティングシステムの実行切り替え、すなわちスケジューリング単位であるタスク或いはスレッドとは独立した存在である。つまり、一つのアプリケーションがマルチタスクで実現されているということがあり得る。従って、アプリケーション毎のメモリ使用量を求める際、各アプリケーションがどのタスクから構成されているかというタスク情報が必要であるが、このタスク情報は、CPU101がアプリケーション実行時に更新し、メモリ103に記憶しておくものとする。
また、情報処理装置でどのアプリケーションを実行中かという情報も、CPU101がメモリ103に記憶している。同一アプリケーションを2個以上同時に実行させてもよい。その場合は、アプリケーションの種類の数ではなく、実際に起動しているアプリケーションの数だけ、ステップS204以降の最大メモリ使用量を求める処理が行われる。
さて、CPU101は、ステップS203の後は、最大メモリ使用量を求めようとするアプリケーションを選択し(ステップS204)、選択したアプリケーションについて現在の最大メモリ使用量を求める(ステップS205)。
最大メモリ使用量の具体的な算出方法としては、当該アプリケーションがどのタスクから構成されているかを、CPU101がメモリ103に記憶されている上記タスク情報を読み出すことにより調べ、該当するタスクについて、そのスタックサイズ、使用しているヒープ領域(アプリケーションが利用する領域のうち動的に割り当てる領域)のサイズを求め、該当する全タスク分についてサイズの和を求める。更に、もしあれば、アプリケーション毎に固有に割当てられたメモリ領域のサイズを求め、該サイズも上記サイズに加算する。そして、合計したサイズに対応するメモリ領域の量を、当該アプリケーションの現在のメモリ使用量とする。
上記のもの以外でも、情報処理装置が動作するオペレーティングシステムが規定する、アプリケーションが使用しているメモリ領域があれば、それらを加える。冗長な加算、例えばタスクは異なるがアプリケーション内で共有しているヒープ領域があれば加算の対象から外す。
以上のようにして求めたアプリケーションの現在のメモリ使用量が、メモリ103に以前記憶した該アプリケーションの最大使用量を超えた場合は(ステップS206でYES)、CPU101は、該アプリケーションの現在のメモリ使用量を、該アプリケーションの最大使用量としてメモリ103に記憶する(ステップS207)。そして、CPU101は、次のアプリケーションについて処理を行うため、ステップS203に戻る。
アプリケーションの現在のメモリ使用量が、メモリ103に以前記憶した該アプリケーションの最大使用量を超えない場合は(ステップS206でNO)、CPU101は、何もせず、次のアプリケーションについて処理を行うため、ステップS203に戻る。
以上のようにして全アプリケーションについて処理を終了すると(ステップS203でYES)、タイムアウト待ちとなる(ステップS202)。これは、タイマ104が動作を続けていると仮定した場合であり、もしタイムアウト時にタイマ104が停止するなら、ステップS201の前に戻り、タイマ104のセット及び起動から本処理を始める。
以上のシーケンスは同一アプリケーションが同時に複数個実行されている場合でも成立する。起動しているアプリケーション毎に現在のメモリ使用量を求め、それらを該アプリケーションの唯一の最大メモリ使用量と比較し、現在のメモリ使用量が最大メモリ使用量を超えた場合、該アプリケーションの唯一の最大メモリ使用量とすればよい。
次に、情報処理装置で新たにアプリケーションを起動する場合のシーケンスについて、図3のフローチャートを用いて説明する。
図3は、情報処理装置におけるアプリケーション毎の最大メモリ使用量が許容量以内かを確認しながらアプリケーションを起動する手順を示すフローチャートである。
図3において、CPU101は、キーボード106等からの入力により新たなアプリケーションの起動要求を受けると(ステップS301)、実行中のアプリケーションについて、図2のシーケンスにより求めた各々のアプリケーションの最大メモリ使用量の和を求める(ステップS302)。同一アプリケーションが複数実行されている場合は、その分、最大メモリ使用量を加算する。これは、それぞれのアプリケーションインスタンスが、その最大メモリ使用量までメモリ使用量を増やす可能性があるからである。
次に、CPU101は、上記のようにして求めた最大メモリ使用量の和が所定の許容量を超えたかどうかを判断する(ステップS303)。所定の許容量とは、本情報処理装置において予め定められたアプリケーション全体で使用できるメモリの総量である。これは、メモリ103のサイズに等しくはならない。他に、オペレーティングシステムや、その他、アプリケーションよりも優先してメモリが確保されなければならないモジュールが動作する分のメモリが必要であり、それらのメモリサイズが差し引かれたメモリサイズが上記所定の許容量となっている。許容量の値としては、メモリサイズの絶対値をとることも、また、メモリの総量に対する割合とすることも可能である。
最大メモリ使用量の和が許容量を超えない場合は(ステップS303でNO)、CPU101は、まだメモリ103に余裕があると見なし、要求された新アプリケーションの起動を行い(ステップS309)、本処理を終了する。新アプリケーションは、ハードディスクドライブ107のハードディスク、リムーバブルディスクドライブ108のリムーバブルディスク、或いはネットワーク109のいずれに置かれていてもよい。また、新アプリケーションは、CPU101が読み出すことができれば、これら以外の場所に置かれていてもよい。
最大メモリ使用量の和が許容量を超えた場合は(ステップS303でYES)、更に、CPU101は、ユーザに現在実行中のアプリケーションの停止をさせるかどうかを判別する(ステップS304)。アプリケーション停止の判別基準は、例えばメモリ103に記憶されているフラグとして実現されており、予め情報処理装置の動作環境設定における一項目として設定されている。
ユーザにアプリケーションの停止をさせない場合は(ステップS304でNO)、CPU101は、新たなアプリケーションの起動は無理と判断し、ディスプレイ102に「メモリが不足して、アプリケーションが起動できない」旨のエラー表示を行い(ステップS310)、本処理を終了する。
ユーザにアプリケーションの停止をさせる場合は(ステップS304でYES)、CPU101は、ディスプレイ102に「メモリが不足して、アプリケーションが起動できない可能性がある」旨の警告表示を行う(ステップS305)。
ユーザが上記警告表示を見て警告を無視せず、いずれかのアプリケーションを停止することを決定した場合は(ステップS306でNO)、CPU101は、現在実行中のアプリケーションの一覧をディスプレイ102に表示する(ステップS307)。
該表示に基づいて、ユーザが停止するアプリケーションを選択すると、CPU101は、選択されたアプリケーションを停止する(ステップS308)。そして、CPU101は、停止されたアプリケーションが保持していたメモリ103が解放されることにより、ステップS301において要求されたアプリケーションの起動が可能になったかを再度調べるために、ステップS302に戻る。
ユーザが警告無視を選択した場合は(ステップS306でYES)、CPU101は、要求されたアプリケーションを起動し(ステップS311)、本処理を終了する。ユーザがどうしてもそのアプリケーションを起動したいという場合や、起動しようとするアプリケーションはメモリの消費量が少ないから起動しても大丈夫であると判断する場合、或いは、現在のアプリケーション全体のメモリ使用量は最大メモリ使用量の和よりかなり少ないから大丈夫であると判断する場合には、このように警告無視を選択することも考えられる。
その際、ユーザにおける上記判断の補助材料として、ステップS305の警告表示の時に、現在のアプリケーション全体のメモリ使用量及び最大メモリ使用量の和を同時にディスプレイ102に表示するようにしてもよい。なお、その場合には、ステップS305を実行する以前に、CPU101は現在のアプリケーション全体のメモリ使用量を求めておく。
上記と同様の表示をステップS307においても行うことができる。すなわち、現在実行中のアプリケーション一覧をディスプレイ102に表示する際に、現在のアプリケーション全体のメモリ使用量、最大メモリ使用量の和、更には現在実行中のアプリケーション毎の最大メモリ使用量及び現在のメモリ使用量について表示を行えば、ユーザに停止させるアプリケーションを選択させる補助材料となる。なお、その場合には、ステップS307を実行する以前に、CPU101は現在実行中のアプリケーション毎の現在のメモリ使用量を求めておく。現在実行中のアプリケーション毎の最大メモリ使用量については、図2のシーケンスで求めたものを使用できる。
さて、図2のシーケンスでは、アプリケーション毎の最大メモリ使用量をタイマ104を使用して周期的に取得したが、ガーベジコレクション(GC:Garbage Collection)動作時にアプリケーション毎の最大メモリ使用量を求める手順について、図4のフローチャートを用いて説明する。
ガーベジコレクションとは、一般的に言うと、それまで使用していたがプログラムが必要としなくなったメモリをシステムが自動的に解放してくれる処理のことである。例えば、Java(登録商標)言語で記述したJava(登録商標)プログラムをJava(登録商標)仮想マシン上で実行させると、Java(登録商標)プログラムが必要としなくなったメモリをJava(登録商標)仮想マシンがガーベジコレクション(ゴミ集め)し、再利用できるよう未使用メモリに追加する。Java(登録商標)言語の他にも、ガーベジコレクションを行う言語、仮想マシン或いはシステムが存在する。
ガーベジコレクション機構を使用すると、ユーザがプログラミングする際、メモリ管理の煩雑さから解放され、またメモリ解放のし忘れというバグから逃れられるという効果がある。また、ガーベジコレクション動作には、使用しているメモリ領域、もう使用しなくなったメモリを判別する処理が含まれるので、アプリケーション毎にメモリ使用量を求める計算も簡単に行うことができ、メモリ使用量を求めるための別のタスクを実行しなくてよいという利点がある。
図4は、情報処理装置におけるガーベジコレクション動作時にアプリケーション毎の最大メモリ使用量を更新する手順を示すフローチャートである。
図4において、メモリ割当てを要求したアプリケーションに対し、未使用メモリが不足してメモリ割当てができない等の理由によりガーベジコレクションを実行しなければならない事態が発生した時、または、タイマ104による計時を基に周期的にガーベジコレクションを行おうとする時、CPU101は、本来のガーベジコレクション処理を行う(ステップS401)。
本情報処理装置がマルチタスクシステムであるなら、タスク毎にガーベジコレクションが行われる。タスクに割当てられたスタックやヒープ領域を調べて、使用しているメモリ、もう使用しなくなったメモリを判別し、どのタスクからも使用されていないメモリは解放される。
ガーベジコレクション処理の中では、同時に、タスク毎に使用されているメモリ領域を求めている。更に、各アプリケーションがどのタスクから構成されるかという情報がメモリ103に記憶されているので、アプリケーション毎にメモリ使用量を求めることができる。図2において説明したのと同様、タスク間で共有するメモリについては、メモリ使用量の重複部分を加算しない。
その後は、CPU101は、起動している全アプリケーションについて最大メモリ使用量を求めていく。起動しているアプリケーションが一つでもある場合は、全アプリケーションについて最大メモリ使用量を求める処理が終了したかの判断(ステップS402)がNOとなる。次に、CPU101は、最大メモリ使用量を求めようとするアプリケーションを選択する(ステップS403)。
選択したアプリケーションについて、ステップS401で求めた現在のメモリ使用量がメモリ103に以前記憶した該アプリケーションの最大使用量を超えた場合は(ステップS404でYES)、CPU101は、現在のメモリ使用量を該アプリケーションの最大使用量としてメモリ103に記憶する(ステップS405)。そして、CPU101は、次のアプリケーションについて処理を行うため、ステップS402に戻る。
選択したアプリケーションについて、ステップS401で求めた現在のメモリ使用量がメモリ103に以前記憶した該アプリケーションの最大使用量を超えない場合は(ステップS404でNO)、CPU101は、何もせず、次のアプリケーションについて処理を行うため、ステップS402に戻る。
以上のようにして、全アプリケーションについて処理を終了すると(ステップS402でYES)、本処理を終了する。
次に、情報処理装置で新たに起動しようとするアプリケーションの分まで最大メモリ使用量の和に含める手順について、図5、図6、図10、図11、図12を用いて説明する。
図6は、情報処理装置におけるアプリケーションインスタンス毎に記憶される情報を示すテーブルである。
図6において、本テーブルは、アプリケーションのインスタンス毎の、アプリケーション名601、インスタンスNo602、メモリ使用量603、最大メモリ使用量604の対応関係を示すものである。CPU101がこれらの情報を取得してメモリ103に記憶する。
インスタンスNoとは、同時に実行されている複数の同一アプリケーションを区別するために付与された識別子である。図6の例では、アプリケーションの起動順に1から番号が振られているが、同一アプリケーションを区別できさえすればどのような識別子でもよい。図6の例では、BBBという名前のアプリケーションが2個実行中であり、それぞれインスタンスNoとして1と2が割り振られている。
メモリ使用量は、アプリケーションの現在のメモリ使用量である。最大メモリ使用量とは、アプリケーションの今までの最大メモリ使用量である。アプリケーションのインスタンスが異なっても最大メモリ使用量は等しくする場合と、アプリケーションのインスタンス毎に最大メモリ使用量を記憶する場合との2つの方法がある。
図6の例は、前者の、アプリケーションのインスタンスが異なっても最大メモリ使用量は等しくする場合である。アプリケーションBBBのインスタンスNo.1とインスタンスNo.2の最大メモリ使用量が400KBで等しくなっている。これは、各インスタンスの最大メモリ使用量が等しく400KBであったことを意味するものではない。各インスタンスの最大メモリ使用量のうち最大のものを、全てのインスタンスの欄に設定している。このようにすれば、より大きな値を最大メモリ使用量として設定することになるので、新たなアプリケーション起動の条件が厳しくなり、情報処理装置をより安全に動作させることができる。
一方、後者の、アプリケーションのインスタンス毎に最大メモリ使用量を記憶する場合がある。この場合は、例えば引数を変えてアプリケーションの別のインスタンスを起動する等、実行しているアプリケーションインスタンスの条件が異なってメモリ使用量も大きく異なる時に、前者の方法では最大メモリ使用量として採用する値が大きくなり過ぎて、結果としてメモリが十分余っているにも関わらず、新たなアプリケーションの起動ができないといった点を防止することができる。
上記2つの方法のうちどちらの方法を採用するかは、情報処理装置の動作環境の設定または動作ポリシによる。
前者の方法を採用する際は、図2のステップS207或いは図4のステップS405において、最大メモリ使用量を記憶する時、該最大メモリ使用量を該当するアプリケーションの全てのインスタンスの欄に設定する。または、後者の方法のように最大メモリ使用量をアプリケーションインスタンス毎に記憶するのではなく、アプリケーション毎に記憶する方法も考えられる。この場合は、上記の最大メモリ使用量を該当するアプリケーションの全てのインスタンスの欄に設定する手順は不要になる。
ところで、図6では、CCCという名前のアプリケーションの行において、インスタンスNo601とメモリ使用量602の欄が「−」になっているが、この意味は、アプリケーションCCCが現在は実行されておらず、従って、アプリケーションインスタンスが存在せず、メモリも消費していないことを示している。しかし、以前、アプリケーションCCCが動作した時の最大メモリ使用量604の情報は、アプリケーションCCCが停止或いはアンインストールされた現在でも保持されている。
次に、最大メモリ使用量をアプリケーションインスタンス毎に記憶しておく場合であって、アプリケーションのインスタンスが異なっても最大メモリ使用量は等しくする場合における、アプリケーション停止時の図6のテーブルに対する処理の手順を、図10のフローチャートを用いて説明する。
図10は、情報処理装置におけるアプリケーション停止時の処理手順を示すフローチャートである。
図10において、アプリケーションを停止しようとする時、CPU101は、停止しようとするアプリケーションのインスタンスと同じアプリケーションの依然実行中であるインスタンスがないか、メモリ103に記憶された図6のテーブルを参照して探す(ステップS1001)。
該アプリケーションに対し、残っているインスタンスが停止しようとするインスタンス以外にない場合は(ステップS1001でYES)、CPU101は、停止しようとするインスタンスの行のインスタンスNo欄に「−」を入力する(ステップS1002)。実際には、インスタンスNoが無効であることを示す値をメモリ103に記憶する。更に、CPU101は、停止しようとするインスタンスの行のメモリ使用量欄に「−」を入力し(ステップS1003)、本処理を終了する。実際には、メモリ使用量が無効であることを示す値をメモリ103に記憶する。最大メモリ使用量の欄はそのままにして、本処理を終了する。
停止しようとするアプリケーションのインスタンスと同じアプリケーションの依然実行中であるインスタンスが他にもある場合は(ステップS1001でNO)、CPU101は、単に停止しようとするインスタンスの行を削除する処理だけを実行し(ステップS1004)、本処理を終了する。
以上の手順により、アプリケーションが停止した後も最大メモリ使用量をメモリ101に保存しておくことができる。尚、最大メモリ使用量は、アプリケーション停止後、タイマにより所定の期間の経過を計時した場合はメモリ103から削除する。
次に、最大メモリ使用量をアプリケーションインスタンス毎に記憶しておく場合であって、アプリケーションのインスタンス毎に最大メモリ使用量を記憶する場合における、アプリケーション停止時の図6のテーブルに対する処理の手順を、図11のフローチャート及び図12のテーブルを用いて説明する。
図12は、情報処理装置におけるアプリケーション毎の停止時最大メモリ使用量を示すテーブルである。
図12において、本テーブルは、インスタンス毎ではなく、アプリケーション毎の、アプリケーション名1201、停止時最大メモリ使用量1202の対応関係を示すものである。本テーブルは、アプリケーション停止時に更新されるが、その手順を図11のフローチャートに示す。
図11は、情報処理装置におけるアプリケーション停止時の処理手順を示すフローチャートである。
図11において、アプリケーションを停止しようとする時、CPU101は、停止しようとするアプリケーションのインスタンスと同じアプリケーションの依然実行中であるインスタンスが他にないか、メモリ103に記憶された図6のテーブルを参照して探す(ステップS1101)。
実行中である他のインスタンスがまだ存在する場合は(ステップS1101でNO)、CPU101は、停止しようとするアプリケーションインスタンスの最大メモリ使用量と、図12のテーブルに記憶された該当アプリケーションの停止時最大メモリ使用量とを比較する(ステップS1106)。図12のテーブルが初期化状態のままで、まだ有効なアプリケーションの停止時最大メモリ使用量が入力されていないときは、停止時最大メモリ使用量は0と見なす。
上記比較の結果、停止しようとするアプリケーションインスタンスの最大メモリ使用量が停止時最大メモリ使用量より大きい場合は(ステップS1106でYES)、CPU101は、新たな停止時最大メモリ使用量として上記最大メモリ使用量の値を設定し、図12のテーブルを更新する(ステップS1107)。最大メモリ使用量が停止時最大メモリ使用量より大きくない場合は(ステップS1106でNO)、CPU101は、ステップS1107の処理はスキップする。そして、CPU101は、停止しようとするアプリケーションインスタンスの行を図6のテーブルから削除し(ステップS1108)、本処理を終了する。
停止しようとするアプリケーションに対し、残っているインスタンスが停止しようとするインスタンス以外にない場合は(ステップS1101でYES)、CPU101は、停止しようとするインスタンスの行のインスタンスNo欄に「−」を入力する(ステップS1102)。実際には、インスタンスNoが無効であることを示す値をメモリ103に記憶する。更に、CPU101は、停止しようとするインスタンス行のメモリ使用量欄に「−」を入力する(ステップS1103)。実際には、メモリ使用量が無効であることを示す値をメモリ103に記憶する。
次いで、CPU101は、停止しようとするアプリケーションインスタンスの最大メモリ使用量と、図12のテーブルに記憶された該当アプリケーションの停止時最大メモリ使用量とを比較する(ステップS1104)。
上記比較の結果、停止しようとするアプリケーションインスタンスの最大メモリ使用量よりも停止時最大メモリ使用量の方が大きい場合は(ステップS1104でNO)、CPU101は、図6のテーブルにおいて該当アプリケーションインスタンスの最大メモリ使用量欄に、その停止時最大メモリ使用量を設定し(ステップS1105)、本処理を終了する。最大メモリ使用量が停止時最大メモリ使用量より大きい場合は(ステップS1104でYES)、CPU101は、単にステップS1105をスキップし、本処理を終了する。
以上の手順により、全てのアプリケーションインスタンスが停止または終了しても、実行させたアプリケーションインスタンスの中でも最大の最大メモリ使用量を図6のテーブルに記憶させておくことができる。
最大メモリ使用量をアプリケーションインスタンス毎に記憶するのではなくアプリケーション毎に記憶する場合は、全てのアプリケーションインスタンスが停止または終了した後においても、その記憶情報を残しておけば、簡単に後で参照することができる。この手順は簡単なので説明を省略する。
次に、図6のテーブルがメモリ103に記憶されている時、新たに起動しようとするアプリケーションの分まで最大メモリ使用量の和に含める手順について、図5のフローチャートを用いて説明する。
図5は、情報処理装置におけるアプリケーション毎の最大メモリ使用量が許容量以内かを確認しながらアプリケーションを起動する手順を示すフローチャートである。
図5において、まず、CPU101は、アプリケーションの起動要求を受ける(ステップS501)。起動が要求されたアプリケーションは、以前実行したことがあり、その最大メモリ使用量がメモリ103に記憶されているものとする。つまり、図6のテーブルにおいてはCCCのようなアプリケーションが対象となる。
CPU101は、実行中のアプリケーションについて、図2或いは図4のシーケンスにより求めた各々のアプリケーションの最大メモリ使用量の和を求める(ステップS502)。つまり、図6のテーブルにおいて最大メモリ使用量の列の和を求める。但し、あくまで実行中のアプリケーションについてである。CPU101は、そのアプリケーションが実行中かどうかを、インスタンスNoの欄が「−」であるかどうかを基に、或いは、アプリケーションが実行中かどうかを示すフラグ等の情報を基に、判断する。上記の方法により、同一アプリケーションが複数実行されている場合でも、その分、最大メモリ使用量を加算することを容易に行うことができる。
更に、CPU101は、起動しようとするアプリケーションの最大メモリ使用量をメモリ103から読み出し、上記の最大メモリ使用量の和に加算する(ステップS502)。
次に、CPU101は、上記のようにして求めた最大メモリ使用量の和が所定の許容量を超えたどうかを判断する(ステップS503)。最大メモリ使用量の和が許容量を超えない場合は(ステップS503でNO)、CPU101は、まだメモリに余裕があると見なし、要求された新アプリケーションの起動を行い(ステップS509)、本処理を終了する。最大メモリ使用量の和が許容量を超えた場合は(ステップS503でYES)、更に、CPU101は、ユーザに現在実行中のアプリケーションの停止をさせるかどうかを判別する(ステップS504)。
ユーザにアプリケーションの停止をさせない場合は(ステップS504でNO)、CPU101は、新たなアプリケーションの起動は無理と判断し、ディスプレイ102に「メモリが不足して、アプリケーションが起動できない」旨のエラー表示を行い(ステップS510)、本処理を終了する。その際、実行中のアプリケーションの最大メモリ使用量と、起動しようとするアプリケーションの最大メモリ使用量と、上記許容量とを同時にディスプレイ102に表示するようにしてもよい。
該表示により、メモリ不足でアプリケーションが起動できないという問題を解決するために、メモリを増設すればよいのか、許容量を増やすべきなのか、アプリケーションの起動をあきらめるべきなのか、ユーザに判断させる材料となり得る。
ユーザにアプリケーションの停止をさせる場合は(ステップS504でYES)、CPU101は、ディスプレイ102に「メモリが不足して、アプリケーションが起動できない可能性がある」旨の警告表示を行う(ステップS505)。その際、現在実行中のアプリケーション全体のメモリ使用量と、実行中のアプリケーション及び起動しようとするアプリケーションの最大メモリ使用量の和と、上記許容量とを同時にディスプレイ102に表示するようにしてもよい。
ユーザが上記警告表示を見て警告を無視せず、いずれかのアプリケーションを停止することを決定した場合は(ステップS506でNO)、CPU101は、現在実行中のアプリケーションの一覧をディスプレイ102に表示する(ステップS507)。その際、CPU101は、現在実行中のアプリケーション全体のメモリ使用量と、実行中のアプリケーション及び起動しようとするアプリケーションの最大メモリ使用量の和と、現在実行中のアプリケーション毎の最大メモリ使用量と、その現在のメモリ使用量とをメモリ103から読み出して、同時にディスプレイ102に表示する。
現在実行中のアプリケーション毎の最大メモリ使用量とは、上記で説明したように、アプリケーションインスタンス毎の最大メモリ使用量でもよいし、純粋にアプリケーション毎の最大メモリ使用量でもよい。これらの表示は、停止すべきアプリケーションをユーザが選択する際に有用となり得る。
該表示に基づいてユーザが停止するアプリケーションを選択すると、CPU101は、選択されたアプリケーションを停止する(ステップS508)。そして、停止されたアプリケーションが保持していたメモリが解放されることにより、CPU101は、ステップS501で要求されたアプリケーションの起動が可能になったかを再度調べるために、ステップS502に戻る。
ユーザが警告無視を選択した場合は(ステップS506でYES)、CPU101は、要求されたアプリケーションを起動し(ステップS511)、本処理を終了する。
アプリケーションの起動に関わる警告表示の方法や手順は上記図5を用いて説明したものにとどまらず、様々なシーケンスが考えられる。一つのバリエーションの手順を図9のフローチャートを用いて説明する。
図9は、情報処理装置におけるアプリケーション毎の最大メモリ使用量が許容量以内かを確認しながらアプリケーションを起動する手順を示すフローチャートである。
図9において、ステップS901からステップS903までは図5におけるステップS501からステップS503と同様であり、説明を省略する。最大メモリ使用量の和が許容量を超えない場合は(ステップS903でNO)、CPU101は、まだメモリに余裕があると見なし、要求された新アプリケーションの起動を行い(ステップS908)、本処理を終了する。
最大メモリ使用量の和が許容量を超えた場合は(ステップS903でYES)、CPU101は、ディスプレイ102に「メモリが不足して、アプリケーションが起動できない可能性がある」旨の警告表示を行うと共に、現在実行中のアプリケーション全体のメモリ使用量と、実行中のアプリケーション及び起動しようとするアプリケーションの最大メモリ使用量の和と、現在実行中のアプリケーション毎の最大メモリ使用量と、その現在のメモリ使用量とをメモリ103から読み出して、ディスプレイ102に表示する(ステップS904)。
同時に、CPU101は、「アプリケーション起動の中止」、「アプリケーション起動の強行」、「アプリケーションを選択して停止」の3つの選択肢をディスプレイ102に表示し、ユーザに選択させる。
ユーザが「アプリケーション起動の中止」を選択した場合は(ステップS905でYES)、CPU101は、ディスプレイ102に「メモリが不足して、アプリケーションが起動できない」旨のエラー表示を行い(ステップS909)、本処理を終了する。ユーザが「アプリケーション起動の強行」を選択した場合は(ステップS906でYES)、CPU101は、要求されたアプリケーションの起動を強行し(ステップS910)、本処理を終了する。
ユーザが上記2つの選択肢のどちらも選択しない場合は(ステップS905及びステップS906でNO)、「アプリケーションを選択して停止」を選択することになる。それに伴い、CPU101は、選択されたアプリケーションを停止する(ステップS907)。そして、停止されたアプリケーションが保持していたメモリが解放されることにより、CPU101は、ステップS901で要求されたアプリケーションの起動が可能になったかを再度調べるために、ステップS902に戻る。
次に、情報処理装置でアプリケーション毎の最大メモリ使用量を監視しながらアプリケーションのインストールを行う手順について、図7のフローチャートを用いて説明する。
図7は、情報処理装置におけるアプリケーション毎の最大メモリ使用量が許容量以内かを確認しながらアプリケーションをインストールする手順を示すフローチャートである。
図7において、まず、CPU101は、アプリケーションのインストール要求を受ける(ステップS701)。次に、CPU101は、実行中のアプリケーションについて、図2或いは図4のシーケンスにより求めた各々のアプリケーションの最大メモリ使用量の和を求める(ステップS702)。次に、CPU101は、上記のようにして求めた最大メモリ使用量の和が所定の許容量を超えたどうかを判断する(ステップS703)。
最大メモリ使用量の和が許容量を超えない場合は(ステップS703でNO)、CPU101は、まだメモリに余裕があると見なし、要求された新アプリケーションのインストールを行い(ステップS709)、本処理を終了する。最大メモリ使用量の和が許容量を超えた場合は、更に、CPU101は、ユーザに現在実行中のアプリケーションの停止をさせるかどうかを判別する(ステップS704)。
ユーザにアプリケーションの停止をさせない場合は(ステップS704でNO)、CPU101は、新たなアプリケーションの起動は無理と判断し、ディスプレイ102に「メモリが不足して、アプリケーションが起動できない」旨のエラー表示を行い(ステップS710)、本処理を終了する。その際、実行中のアプリケーションの最大メモリ使用量及び上記許容量を同時にディスプレイ102に表示するようにしてもよい。
ユーザにアプリケーションの停止をさせる場合は(ステップS704でYES)、CPU101は、ディスプレイ102に「メモリが不足して、アプリケーションが起動できない可能性がある」旨の警告表示を行う(ステップS705)。その際、現在実行中のアプリケーション全体のメモリ使用量と、実行中のアプリケーションの最大メモリ使用量の和と、上記許容量とを同時にディスプレイ102に表示するようにしてもよい。
ユーザが上記警告表示を見て警告を無視せず、いずれかのアプリケーションを停止することを決定した場合は(ステップS706でNO)、CPU101は、現在実行中のアプリケーションの一覧をディスプレイ102に表示する(ステップS707)。その際、現在実行中のアプリケーション全体のメモリ使用量と、実行中のアプリケーションの最大メモリ使用量の和と、現在実行中のアプリケーション毎の最大メモリ使用量と、その現在のメモリ使用量とを同時にディスプレイ102に表示する。
該表示に基づいてユーザが停止するアプリケーションを選択すると、CPU101は、選択されたアプリケーションを停止する(ステップS708)。そして、停止されたアプリケーションが保持していたメモリが解放されることにより、CPU101は、ステップS701で要求されたアプリケーションの起動が可能になったかを再度調べるために、ステップS702に戻る。
ユーザが警告無視を選択した場合は(ステップS706でYES)、CPU101は、要求されたアプリケーションをインストールし(ステップS711)、本処理を終了する。
以上、図7のシーケンスによれば、現在実行中のアプリケーションの最大メモリ使用量の和が許容量を超えたかどうかを判断することで、新たなアプリケーションのインストールの可否を判断するので、メモリ不足の場合には、アプリケーションを無駄にインストールする手間及び起動しようとする手間を省くことができる。
インストールしようとするアプリケーションは、ハードディスクドライブ107のハードディスク、リムーバブルディスクドライブ108のリムーバブルディスク、ネットワーク109、或いはネットワーク109に接続された他の情報処理装置のいずれに置かれていてもよい。また、インストールしようとするアプリケーションは、CPU101が読み出すことができれば、これら以外の場所に置かれていてもよい。
次に、情報処理装置でアプリケーション毎の最大メモリ使用量及び新たにインストールしようとするアプリケーションの最大メモリ使用量をチェックしながら、アプリケーションをインストールする手順について、図8のフローチャートを用いて説明する。
図8は、情報処理装置におけるアプリケーション毎の最大メモリ使用量が許容量以内かを確認しながらアプリケーションをインストールする手順を示すフローチャートである。
図8において、まず、CPU101は、アプリケーションのインストール要求を受ける(ステップS801)。インストールが要求されたアプリケーションは、以前、本情報処理装置上にインストールされ実行されたことがあり、その最大メモリ使用量がメモリ103に記憶されているものとする。つまり、図6のテーブルにおいてはCCCのようなアプリケーションが対象となる。ここで、最大メモリ使用量を示す情報は、アプリケーションがアンインストールされても、所定の期間はメモリ103から削除されないものとする。最大メモリ使用量を示す情報は、タイマにより所定の期間の経過を計時した場合は不要のものとしてメモリ103から削除するが、その手順は簡単なのでここでは説明を省略する。
CPU101は、実行中のアプリケーションについて、図2或いは図4のシーケンスにより求めた各々のアプリケーションの最大メモリ使用量の和を求める(ステップS802)。更に、CPU101は、インストールしようとするアプリケーションの最大メモリ使用量をメモリ103から読み出し、上記の最大メモリ使用量の和に加算する(ステップS802)。次に、CPU101は、上記のようにして求めた最大メモリ使用量の和が所定の許容量を超えたどうかを判断する(ステップS803)。
最大メモリ使用量の和が許容量を超えない場合は(ステップS803でNO)、CPU101は、まだメモリに余裕があると見なし、要求された新アプリケーションのインストールを行い(ステップS809)、本処理を終了する。最大メモリ使用量の和が許容量を超えた場合は(ステップS803でYES)、更に、CPU101は、ユーザに現在実行中のアプリケーションの停止をさせるかどうかを判別する(ステップS804)。
ユーザにアプリケーションの停止をさせない場合は(ステップS804でNO)、CPU101は、新たなアプリケーションのインストールは無理と判断し、ディスプレイ102に「メモリが不足して、アプリケーションがインストールできない」旨のエラー表示を行い(ステップS810)、本処理を終了する。その際、実行中のアプリケーションの最大メモリ使用量と、インストールしようとするアプリケーションの最大メモリ使用量と、上記許容量とを同時にディスプレイ102に表示するようにしてもよい。
ユーザにアプリケーションの停止をさせる場合は(ステップS804でYES)、CPU101は、ディスプレイ102に「メモリが不足して、アプリケーションが起動できない可能性がある」旨の警告表示を行う(ステップS805)。その際、現在実行中のアプリケーション全体のメモリ使用量と、実行中のアプリケーション及びインストール起動しようとするアプリケーションの最大メモリ使用量の和と、上記許容量とを同時にディスプレイ102に表示するようにしてもよい。
ユーザが上記警告表示を見て警告を無視せず、いずれかのアプリケーションを停止することを決定した場合は(ステップS806でNO)、CPU101は、現在実行中のアプリケーションの一覧をディスプレイ102に表示する(ステップS807)。その際、現在実行中のアプリケーション全体のメモリ使用量と、実行中のアプリケーション及びインストールしようとするアプリケーションの最大メモリ使用量の和と、現在実行中のアプリケーション毎の最大メモリ使用量と、その現在のメモリ使用量とを同時にディスプレイ102に表示する。
該表示に基づいてユーザが停止するアプリケーションを選択すると、CPU101は、選択されたアプリケーションを停止する(ステップS808)。そして、停止されたアプリケーションが保持していたメモリが解放されることにより、CPU101は、ステップS801で要求されたアプリケーションの起動が可能になったかを再度調べるために、ステップS802に戻る。
ユーザが警告無視を選択した場合は(ステップS806でYES)、CPU101は、要求されたアプリケーションをインストールし(ステップS811)、本処理を終了する。
以上、図8のシーケンスによれば、現在実行中のアプリケーション及びインストールしようとするアプリケーションの最大メモリ使用量の和が許容量を超えたかどうか判断することにより、より安全に、新たなアプリケーションのインストールの可否を判断することができる。つまり、新たなアプリケーションのメモリ使用量が予想よりも大きいといった不測の事態に備えることができる。
次に、情報処理装置で新たなアプリケーションをインストールしたいが、メモリ不足のため警告表示がなされる時、上記で説明したメモリ情報の他に更に情報を追加して表示し、停止するアプリケーションを決定するための参考となるようにする手順について、図13のテーブル及び図14のフローチャートを用いて説明する。
図13は、情報処理装置におけるアプリケーションインスタンス毎に記憶される情報を示すテーブルである。
図13において、本テーブルは、アプリケーションのインスタンス毎の、アプリケーション名1301、インスタンスNo1302、メモリ使用量1303、最大メモリ使用量1304、起動日時1305、CPU動作時間1306の対応関係を示すものである。本テーブルはメモリ103に記憶される。
本テーブルでは、図6のテーブルに掲げた項目の他に、アプリケーションインスタンスの起動日時1305及びアプリケーションインスタンスのCPU動作時間1306を追加している。CPU動作時間1306は、そのアプリケーションがCPU101を占有していた時間を起動時から累計したものである。起動日時1305及びCPU動作時間1306の値は、CPU101が情報処理装置動作中に収集し設定する。
次に、情報処理装置で新たなアプリケーションをインストールする手順について、図14のフローチャートを用いて説明する。
図14は、情報処理装置におけるアプリケーション毎の最大メモリ使用量が許容量以内かを確認しながらアプリケーションをインストールする手順を示すフローチャートである。
図14において、ステップS1401からステップS1403までは図8におけるステップS801からステップS803と同様であり、説明を省略する。最大メモリ使用量の和が許容量を超えない場合は(ステップS1403でNO)、CPU101は、まだメモリに余裕があると見なし、要求された新アプリケーションのインストールを行い(ステップS1408)、本処理を終了する。
最大メモリ使用量の和が許容量を超えた場合は(ステップS1403でYES)、CPU101は、ディスプレイ102に「メモリが不足して、アプリケーションが起動できない可能性がある」旨の警告表示を行うと共に、現在実行中のアプリケーション全体のメモリ使用量と、実行中のアプリケーション及び起動しようとするアプリケーションの最大メモリ使用量の和と、現在実行中のアプリケーション毎の最大メモリ使用量と、現在のアプリケーション毎のメモリ使用量と(以上メモリ情報)、図13のテーブルに設定されている現在実行中のアプリケーションインスタンスの起動日時及びCPU動作時間を、ディスプレイ102に表示する(ステップS1404)。
同時に、CPU101は、「アプリケーション起動の中止」、「アプリケーション起動の強行」、「アプリケーションを選択して停止」の3つの選択肢をディスプレイ102に表示し、ユーザに選択させる。
ユーザが「アプリケーション起動の中止」を選択した場合は(ステップS1405でYES)、CPU101は、ディスプレイ102に「メモリが不足して、アプリケーションが起動できない」旨のエラー表示を行い(ステップS1409)、本処理を終了する。ユーザが「アプリケーション起動の強行」を選択した場合は(ステップS1406でYES)、CPU101は、要求されたアプリケーションの起動を強行し、該アプリケーションをインストールし(ステップS1410)、本処理を終了する。
ユーザが上記2つの選択肢のどちらも選択しない場合は(ステップS1405及びステップS1406でNO)、ユーザは「アプリケーションを選択して停止」を選択することになる。それに伴い、CPU101は、選択されたアプリケーションを停止する(ステップS1407)。そして、停止されたアプリケーションが保持していたメモリが解放されることにより、CPU101は、ステップS1401で要求されたアプリケーションの起動が可能になったかを再度調べるために、ステップS1402に戻る。
以上の手順により、警告表示或いはエラー表示と同時に、メモリ情報の他にアプリケーションの起動日時及びCPU動作時間(アプリケーション動作時間)を示す情報をディスプレイ102に表示するので、「このアプリケーションは随分前に起動されたが、あまり動作はしていないようだ。停止すべきかもしれない」とか、「このアプリケーションは最近起動されたばかりだが、高い割合で実行されており、停止はできないな」とかの判断を下す一助とすることができる。
また、ディスプレイ102に表示する動作履歴としては、アプリケーションの起動日時やCPU動作時間にとどまらず様々なものが考えられる。例えば、CPU動作時間の代わりに、全てのアプリケーションのCPU動作時間に対する該当アプリケーションインスタンスのCPU動作時間の比率を示すCPU動作比率でもよい。
また、CPU動作比率にしても、単なるCPU動作比率では、古くから実行しているアプリケーションインスタンスが高い値をとる傾向が生じるので、最近の1日或いは1週間等、最近のデータを採用することも考えられる。
また、アプリケーションの起動回数をカウントしておいて、起動回数のカウント値をディスプレイ102に表示することも考えられる。起動回数が多いアプリケーションは停止しても問題が少ないと考えることもできるからである。
以上説明したように、本実施の形態によれば、全ての実行中アプリケーション及び起動しようとするアプリケーション(或いはインストールしようとするアプリケーション)のメモリ使用量が同時に最大値に達する場合を考慮して、新たなアプリケーション起動の可否(或いはアプリケーションインストールの可否)の判断を行うので、情報処理装置がメモリ不足でアプリケーションを起動できないエラーになる可能性を小さくすることができる。
また、アプリケーションを構成するタスクについて、スタックサイズやヒープ領域サイズに対応するメモリ領域、アプリケーション毎に固有に割り当てられたメモリ領域の合計を最大メモリ使用量の和として算出するので、最大メモリ使用量の和を適正に求めることができる。これにより、最大メモリ使用量を大きく見積もりすぎて、実際はメモリが十分余っているにも関わらず、新たなアプリケーションの起動やインストールができなくなるといった不都合を回避することができる。
また、周期的に、各アプリケーションの最大メモリ使用量を取得するので、アプリケーション毎の最大メモリ使用量を正確に求めることができる。
また、ガーベジコレクション実行時に、各アプリケーションの最大メモリ使用量を取得するので、アプリケーション毎の最大メモリ使用量を正確に求めることができる。更に、最大メモリ使用量を求める処理がガーベジコレクションに含まれているので、別途、メモリ使用量を求める処理が不要になり、情報処理装置に対する負荷を小さくすることができる。
また、新たなアプリケーションのインストールを行うために、いずれかの実行中アプリケーションを停止しようとする時、選択肢(アプリケーション起動中止、アプリケーション起動強行、アプリケーションを選択して停止)をディスプレイ102に表示するので、停止するアプリケーションを選択する材料をユーザに与えることができる。
また、アプリケーションの停止時或いはアンインストール時、タイマ104により所定期間の経過を計測した場合、メモリ103からアプリケーションの最大メモリ使用量情報を削除するので、最大メモリ使用量情報をメモリにいつまでも保存することでメモリを無駄に消費することを解消することができる。
また、アプリケーションを再起動或いは再インストールする際、該アプリケーションの最大メモリ使用量をアプリケーション毎の最大メモリ使用量の和に加算し、全ての実行中アプリケーション及び起動しようとするアプリケーションのメモリ使用量が同時に最大値に達する場合を考慮して、新たなアプリケーションインストールの可否の判断を行うので、情報処理装置がメモリ不足エラーになる可能性をより小さくすることができる。
[他の実施の形態]
上記実施の形態では、最大メモリ使用量が許容量を超えた場合に警告或いはエラーを表示出力したが、本発明は、これに限定されるものではなく、警告或いはエラーを音声出力する形態、もしくは警告或いはエラーを表示出力と同時に音声出力する形態としてもよい。
また、本発明の目的は、実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出して実行することによりも達成される。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。または、プログラムコードをネットワークを介してダウンロードしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれる。
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理により前述した各実施の形態の機能が実現される場合も、本発明に含まれることは言うまでもない。
この場合、上記プログラムは、該プログラムを記憶した記憶媒体から直接、又はインターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続された不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、OS(オペレーティングシステム)に供給されるスクリプトデータ等の形態から成ってもよい。
本発明の本実施の形態に係る情報処理装置の構成を示すブロック図である。 情報処理装置における周期的にアプリケーション毎の最大メモリ使用量を更新する手順を示すフローチャートである。 情報処理装置におけるアプリケーション毎の最大メモリ使用量が許容量以内かを確認しながらアプリケーションを起動する手順を示すフローチャートである。 情報処理装置におけるガーベジコレクション動作時にアプリケーション毎の最大メモリ使用量を更新する手順を示すフローチャートである。 情報処理装置におけるアプリケーション毎の最大メモリ使用量が許容量以内かを確認しながらアプリケーションを起動する手順を示すフローチャートである。 情報処理装置におけるアプリケーションインスタンス毎に記憶される情報を示すテーブルである。 情報処理装置におけるアプリケーション毎の最大メモリ使用量が許容量以内かを確認しながらアプリケーションをインストールする手順を示すフローチャートである。 情報処理装置におけるアプリケーション毎の最大メモリ使用量が許容量以内かを確認しながらアプリケーションをインストールする手順を示すフローチャートである。 情報処理装置におけるアプリケーション毎の最大メモリ使用量が許容量以内かを確認しながらアプリケーションを起動する手順を示すフローチャートである。 情報処理装置におけるアプリケーション停止時の処理手順を示すフローチャートである。 情報処理装置におけるアプリケーション停止時の処理手順を示すフローチャートである。 情報処理装置におけるアプリケーション毎の停止時最大メモリ使用量を示すテーブルである。 情報処理装置におけるアプリケーションインスタンス毎に記憶される情報を示すテーブルである。 情報処理装置におけるアプリケーション毎の最大メモリ使用量が許容量以内かを確認しながらアプリケーションをインストールする手順を示すフローチャートである。
符号の説明
101 CPU(取得手段、算出手段、制御手段)
102 ディスプレイ
103 メモリ(記憶手段、動作履歴記録手段)
104 タイマ(計測手段)

Claims (24)

  1. 複数のアプリケーションが使用するメモリ量を管理する情報処理装置であって、
    アプリケーション毎の最大メモリ使用量を取得する取得手段と、
    前記取得手段により取得したアプリケーション毎の最大メモリ使用量の和を算出する算出手段と、
    アプリケーションの起動要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えたか否かに基づいて、アプリケーションの起動の可否を判断する制御手段とを備えることを特徴とする情報処理装置。
  2. 前記取得手段は、アプリケーションを構成するタスクについて、スタックサイズに該当するメモリ領域、或いはアプリケーション毎に固有に割り当てられたメモリ領域の合計を、前記最大メモリ使用量の和として算出することを特徴とする請求項1記載の情報処理装置。
  3. 前記取得手段は、複数の同一アプリケーションが実行中の場合、該アプリケーションの各インスタンスの最大メモリ使用量のうち最大のものを該アプリケーションの最大メモリ使用量として取得することを特徴とする請求項1記載の情報処理装置。
  4. 前記取得手段は、周期的に、各アプリケーションの最大メモリ使用量を取得することを特徴とする請求項1記載の情報処理装置。
  5. 前記取得手段は、ガーベジコレクション実行時に、各アプリケーションの最大メモリ使用量を取得することを特徴とする請求項1記載の情報処理装置。
  6. 前記算出手段は、前記取得手段により取得したアプリケーション毎の最大メモリ使用量のうち、実行中のアプリケーション及び起動対象のアプリケーションの最大メモリ使用量の和を算出し、
    前記制御手段は、アプリケーションの起動要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えた場合、警告或いはエラーを報知することを特徴とする請求項1記載の情報処理装置。
  7. アプリケーションの各インスタンスの停止時、各インスタンスの最大メモリ使用量のうち最大のものを該アプリケーションの最大メモリ使用量として記憶する記憶手段を更に備え、
    前記算出手段は、前記取得手段により取得したアプリケーションのインスタンス毎の最大メモリ使用量の和を算出すると共に、該最大メモリ使用量の和に、前記記憶手段に記憶された起動対象のアプリケーションの最大メモリ使用量を加算し、
    前記制御手段は、アプリケーションの起動要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えた場合、警告或いはエラーを報知することを特徴とする請求項1記載の情報処理装置。
  8. 前記制御手段は、アプリケーションのインストール要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えた場合、警告或いはエラーを報知することを特徴とする請求項1記載の情報処理装置。
  9. 前記算出手段は、前記取得手段により取得したアプリケーション毎の最大メモリ使用量のうち、実行中のアプリケーション及びインストール対象のアプリケーションの最大メモリ使用量の和を算出し、
    前記制御手段は、アプリケーションのインストール要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えた場合、警告或いはエラーを報知することを特徴とする請求項1記載の情報処理装置。
  10. アプリケーションの各インスタンスの停止時、各インスタンスの最大メモリ使用量のうち最大のものを該アプリケーションの最大メモリ使用量として記憶する記憶手段を更に備え、
    前記算出手段は、前記取得手段により取得したアプリケーションのインスタンス毎の最大メモリ使用量の和を算出すると共に、該最大メモリ使用量の和に、前記記憶手段に記憶されたインストール対象のアプリケーションの最大メモリ使用量を加算し、
    前記制御手段は、アプリケーションのインストール要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えた場合、警告或いはエラーを報知することを特徴とする請求項1記載の情報処理装置。
  11. 前記制御手段は、アプリケーションのインストール要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えた場合、警告或いはエラーと、アプリケーション毎の最大メモリ使用量を報知することを特徴とする請求項1記載の情報処理装置。
  12. 前記算出手段は、前記取得手段により取得したアプリケーション毎の最大メモリ使用量のうち、実行中のアプリケーション及びインストール対象のアプリケーションの最大メモリ使用量の和を算出し、
    前記制御手段は、アプリケーションのインストール要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えた場合、警告或いはエラーと、アプリケーション毎の最大メモリ使用量を報知することを特徴とする請求項1記載の情報処理装置。
  13. アプリケーションの各インスタンスの停止時、各インスタンスの最大メモリ使用量のうち最大のものを該アプリケーションの最大メモリ使用量として記憶する記憶手段を更に備え、
    前記算出手段は、前記取得手段により取得したアプリケーションのインスタンス毎の最大メモリ使用量の和を算出すると共に、該最大メモリ使用量の和に、前記記憶手段に記憶されたインストール対象のアプリケーションの最大メモリ使用量を加算し、
    前記制御手段は、アプリケーションのインストール要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えた場合、警告或いはエラーと、インスタンス毎の最大メモリ使用量と、インストール対象のアプリケーションの最大メモリ使用量を報知することを特徴とする請求項1記載の情報処理装置。
  14. アプリケーション毎の動作履歴を記録する動作履歴記録手段を更に備え、
    前記制御手段は、アプリケーションのインストール要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えた場合、警告或いはエラーと、アプリケーション毎の最大メモリ使用量と、前記動作履歴記録手段に記録されたアプリケーション毎の動作履歴を報知することを特徴とする請求項1記載の情報処理装置。
  15. アプリケーション毎の動作履歴を記録する動作履歴記録手段を更に備え、
    前記算出手段は、前記取得手段により取得したアプリケーション毎の最大メモリ使用量のうち、実行中のアプリケーション及びインストール対象のアプリケーションの最大メモリ使用量の和を算出し、
    前記制御手段は、アプリケーションのインストール要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えた場合、警告或いはエラーと、アプリケーション毎の最大メモリ使用量と、前記動作履歴記録手段に記録されたアプリケーション毎の動作履歴を報知することを特徴とする請求項1記載の情報処理装置。
  16. アプリケーションの各インスタンスの停止時、各インスタンスの最大メモリ使用量のうち最大のものを該アプリケーションの最大メモリ使用量として記憶する記憶手段と、
    アプリケーションのインスタンス毎の動作履歴を記録する動作履歴記録手段とを更に備え、
    前記算出手段は、前記取得手段により取得したアプリケーションのインスタンス毎の最大メモリ使用量の和を算出すると共に、該最大メモリ使用量の和に、前記記憶手段に記憶されたインストール対象のアプリケーションの最大メモリ使用量を加算し、
    前記制御手段は、アプリケーションのインストール要求時に、前記算出手段により算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えた場合、警告或いはエラーと、インスタンス毎の最大メモリ使用量と、インストール対象のアプリケーションの最大メモリ使用量と、前記動作履歴記録手段に記録されたインスタンス毎の動作履歴を報知することを特徴とする請求項1記載の情報処理装置。
  17. 前記動作履歴は、アプリケーション起動日時、アプリケーション動作時間、全アプリケーション動作時間に対する該当アプリケーションインスタンス動作時間の比率を含む群から選択されることを特徴とする請求項14乃至16の何れかに記載の情報処理装置。
  18. アプリケーション毎の最大メモリ使用量を記憶する記憶手段を更に備え、
    前記制御手段は、アプリケーションの停止時、前記記憶手段から前記アプリケーションの最大メモリ使用量を削除しないことを特徴とする請求項1記載の情報処理装置。
  19. 時間を計測する計測手段を更に備え、
    前記制御手段は、前記計測手段によりアプリケーションの停止から所定の期間の経過を計測した場合、前記記憶手段から前記アプリケーションの最大メモリ使用量を削除することを特徴とする請求項1又は18記載の情報処理装置。
  20. アプリケーション毎の最大メモリ使用量を記憶する記憶手段を更に備え、
    前記制御手段は、アプリケーションのアンインストール時、前記記憶手段から前記アプリケーションの最大メモリ使用量を削除しないことを特徴とする請求項1記載の情報処理装置。
  21. 時間を計測する計測手段を更に備え、
    前記制御手段は、前記計測手段によりアプリケーションのアンインストールから所定の期間の経過を計測した場合、前記記憶手段から前記アプリケーションの最大メモリ使用量を削除することを特徴とする請求項1又は20記載の情報処理装置。
  22. 複数のアプリケーションが使用するメモリ量を管理する情報処理装置の制御方法であって、
    アプリケーション毎の最大メモリ使用量を取得する取得ステップと、
    前記取得ステップにより取得したアプリケーション毎の最大メモリ使用量の和を算出する算出ステップと、
    アプリケーションの起動要求時に、前記算出ステップにより算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えたか否かに基づいて、アプリケーションの起動の可否を判断する制御ステップとを備えることを特徴とする制御方法。
  23. 複数のアプリケーションが使用するメモリ量を管理する情報処理装置の制御方法をコンピュータに実行させるプログラムであって、
    アプリケーション毎の最大メモリ使用量を取得する取得モジュールと、
    前記取得モジュールにより取得したアプリケーション毎の最大メモリ使用量の和を算出する算出モジュールと、
    アプリケーションの起動要求時に、前記算出モジュールにより算出したアプリケーション毎の最大メモリ使用量の和が許容量を超えたか否かに基づいて、アプリケーションの起動の可否を判断する制御モジュールとを備えることを特徴とするプログラム。
  24. 前記請求項23記載のプログラムを格納することを特徴とするコンピュータ読み取り可能な記憶媒体。
JP2005107920A 2005-04-04 2005-04-04 情報処理装置、制御方法、プログラム、及び記憶媒体 Pending JP2006285871A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005107920A JP2006285871A (ja) 2005-04-04 2005-04-04 情報処理装置、制御方法、プログラム、及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005107920A JP2006285871A (ja) 2005-04-04 2005-04-04 情報処理装置、制御方法、プログラム、及び記憶媒体

Publications (1)

Publication Number Publication Date
JP2006285871A true JP2006285871A (ja) 2006-10-19

Family

ID=37407702

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005107920A Pending JP2006285871A (ja) 2005-04-04 2005-04-04 情報処理装置、制御方法、プログラム、及び記憶媒体

Country Status (1)

Country Link
JP (1) JP2006285871A (ja)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008186168A (ja) * 2007-01-29 2008-08-14 Kyocera Corp 電子機器及び電子機器における報知方法
JP2008210120A (ja) * 2007-02-26 2008-09-11 Kyocera Corp 電子機器及び電子機器における報知方法
JP2008269422A (ja) * 2007-04-23 2008-11-06 Sky Kk インストール管理方法とインストール管理プログラムとインストール管理装置
US20090019440A1 (en) * 2007-07-10 2009-01-15 Mitsuo Ando Program determining apparatus and program determining method
JP2010072854A (ja) * 2008-09-17 2010-04-02 Canon Inc 情報処理装置の支援装置、支援方法、およびコンピュータプログラム
JP2010117838A (ja) * 2008-11-12 2010-05-27 Canon Inc アプリケーションプラットフォーム、アプリケーションプラットフォームの制御方法、プログラム
JP2011048590A (ja) * 2009-08-26 2011-03-10 Ricoh Co Ltd 画像形成装置
WO2011058768A1 (ja) * 2009-11-12 2011-05-19 株式会社日立製作所 メモリ管理方法、計算機システム及びプログラム
JP2011192219A (ja) * 2010-03-16 2011-09-29 Fujitsu Ltd 復元装置及び復元プログラム
JP2011221825A (ja) * 2010-04-09 2011-11-04 Sony Computer Entertainment Inc 情報処理装置
WO2012023532A1 (en) * 2010-08-19 2012-02-23 Ricoh Company, Ltd. Information processing apparatus and information processing system
JP2012155741A (ja) * 2012-04-11 2012-08-16 Ricoh Co Ltd 処理状態が遷移する複数のプログラムを実行する装置及び方法
US8266625B2 (en) 2008-09-08 2012-09-11 Canon Kabushiki Kaisha Prioritization and termination of image processing apparatus applications based on memory usage and user login type
JP2012178116A (ja) * 2011-02-28 2012-09-13 Kyocera Document Solutions Inc 画像形成装置
JP2012185800A (ja) * 2011-02-16 2012-09-27 Ricoh Co Ltd 機器、プログラム管理方法、プログラム管理プログラム、及び記録媒体
WO2012172641A1 (ja) * 2011-06-14 2012-12-20 株式会社日立製作所 計算機、リソース使用量計算方法及びリソース使用量計算プログラム
KR101334172B1 (ko) 2007-01-05 2013-11-28 삼성전자주식회사 임베디드 시스템의 스택 오버플로우 방지 방법 및 장치
JP2015125525A (ja) * 2013-12-26 2015-07-06 日本電気株式会社 バッファを管理する情報処理装置、バッファ管理方法、及びそのためのプログラム
KR20150080859A (ko) * 2014-01-02 2015-07-10 삼성전자주식회사 어플리케이션 운용 방법 및 이를 이용한 전자 장치
KR20160132439A (ko) * 2014-03-10 2016-11-18 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 디바이스 특유의 또는 사용자 특유의 자원 사용 프로파일에 기초한 자원 관리
JP2017050634A (ja) * 2015-08-31 2017-03-09 沖電気工業株式会社 ゲートウェイ装置、通信コネクション管理方法、及びプログラム
US9891948B2 (en) 2013-11-28 2018-02-13 Sony Corporation Information processing to shut down application based on start-up time and network access time

Cited By (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9280500B2 (en) 2007-01-05 2016-03-08 Samsung Electronics Co., Ltd. Method and apparatus for preventing stack overflow in embedded system
KR101334172B1 (ko) 2007-01-05 2013-11-28 삼성전자주식회사 임베디드 시스템의 스택 오버플로우 방지 방법 및 장치
JP4743715B2 (ja) * 2007-01-29 2011-08-10 京セラ株式会社 電子機器及び電子機器における報知方法
JP2008186168A (ja) * 2007-01-29 2008-08-14 Kyocera Corp 電子機器及び電子機器における報知方法
JP2008210120A (ja) * 2007-02-26 2008-09-11 Kyocera Corp 電子機器及び電子機器における報知方法
JP2008269422A (ja) * 2007-04-23 2008-11-06 Sky Kk インストール管理方法とインストール管理プログラムとインストール管理装置
JP4749380B2 (ja) * 2007-04-23 2011-08-17 Sky株式会社 インストール管理方法とインストール管理プログラムとインストール管理装置
US20150186188A1 (en) * 2007-07-10 2015-07-02 Mitsuo Ando Program determining apparatus and program determining method
US20090019440A1 (en) * 2007-07-10 2009-01-15 Mitsuo Ando Program determining apparatus and program determining method
US9003394B2 (en) 2007-07-10 2015-04-07 Ricoh Company, Ltd. Program determining apparatus and program determining method
US9792159B2 (en) 2007-07-10 2017-10-17 Ricoh Company, Ltd. Program determining apparatus and program determining method
US8266625B2 (en) 2008-09-08 2012-09-11 Canon Kabushiki Kaisha Prioritization and termination of image processing apparatus applications based on memory usage and user login type
JP2010072854A (ja) * 2008-09-17 2010-04-02 Canon Inc 情報処理装置の支援装置、支援方法、およびコンピュータプログラム
JP2010117838A (ja) * 2008-11-12 2010-05-27 Canon Inc アプリケーションプラットフォーム、アプリケーションプラットフォームの制御方法、プログラム
JP2011048590A (ja) * 2009-08-26 2011-03-10 Ricoh Co Ltd 画像形成装置
WO2011058768A1 (ja) * 2009-11-12 2011-05-19 株式会社日立製作所 メモリ管理方法、計算機システム及びプログラム
JP2011107746A (ja) * 2009-11-12 2011-06-02 Hitachi Ltd メモリ管理方法、計算機システム及びプログラム
JP2011192219A (ja) * 2010-03-16 2011-09-29 Fujitsu Ltd 復元装置及び復元プログラム
JP2011221825A (ja) * 2010-04-09 2011-11-04 Sony Computer Entertainment Inc 情報処理装置
US8656304B2 (en) 2010-04-09 2014-02-18 Sony Corporation Information processing apparatus
KR101492748B1 (ko) 2010-08-19 2015-02-11 가부시키가이샤 리코 정보 처리 장치 및 정보 처리 시스템
AU2011291726B2 (en) * 2010-08-19 2015-01-15 Ricoh Company, Ltd. Information processing apparatus and information processing system
US9063810B2 (en) 2010-08-19 2015-06-23 Ricoh Company, Ltd. Information processing apparatus and information processing system
JP2012043168A (ja) * 2010-08-19 2012-03-01 Ricoh Co Ltd 情報処理装置、情報処理システム、インストール支援方法、及びインストール支援プログラム
WO2012023532A1 (en) * 2010-08-19 2012-02-23 Ricoh Company, Ltd. Information processing apparatus and information processing system
US9672027B2 (en) 2010-08-19 2017-06-06 Ricoh Company, Ltd. Information processing apparatus and information processing system
JP2012185800A (ja) * 2011-02-16 2012-09-27 Ricoh Co Ltd 機器、プログラム管理方法、プログラム管理プログラム、及び記録媒体
JP2012178116A (ja) * 2011-02-28 2012-09-13 Kyocera Document Solutions Inc 画像形成装置
JP5525658B2 (ja) * 2011-06-14 2014-06-18 株式会社日立製作所 計算機、リソース使用量計算方法及びリソース使用量計算プログラム
WO2012172641A1 (ja) * 2011-06-14 2012-12-20 株式会社日立製作所 計算機、リソース使用量計算方法及びリソース使用量計算プログラム
US9634912B2 (en) 2011-06-14 2017-04-25 Hitachi, Ltd. Computer, resource usage calculation method, and resource usage calculation program
JP2012155741A (ja) * 2012-04-11 2012-08-16 Ricoh Co Ltd 処理状態が遷移する複数のプログラムを実行する装置及び方法
US9891948B2 (en) 2013-11-28 2018-02-13 Sony Corporation Information processing to shut down application based on start-up time and network access time
JP2015125525A (ja) * 2013-12-26 2015-07-06 日本電気株式会社 バッファを管理する情報処理装置、バッファ管理方法、及びそのためのプログラム
KR20150080859A (ko) * 2014-01-02 2015-07-10 삼성전자주식회사 어플리케이션 운용 방법 및 이를 이용한 전자 장치
KR102176645B1 (ko) * 2014-01-02 2020-11-09 삼성전자 주식회사 어플리케이션 운용 방법 및 이를 이용한 전자 장치
KR20160132439A (ko) * 2014-03-10 2016-11-18 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 디바이스 특유의 또는 사용자 특유의 자원 사용 프로파일에 기초한 자원 관리
JP2017511940A (ja) * 2014-03-10 2017-04-27 マイクロソフト テクノロジー ライセンシング,エルエルシー デバイス固有又はユーザー固有のリソース使用プロファイルに基づくリソース管理
KR102275114B1 (ko) 2014-03-10 2021-07-07 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 디바이스 특유의 또는 사용자 특유의 자원 사용 프로파일에 기초한 자원 관리
JP2017050634A (ja) * 2015-08-31 2017-03-09 沖電気工業株式会社 ゲートウェイ装置、通信コネクション管理方法、及びプログラム

Similar Documents

Publication Publication Date Title
JP2006285871A (ja) 情報処理装置、制御方法、プログラム、及び記憶媒体
EP1769351B1 (en) Method, software and apparatus for using application state history information when re-launching applications
JP5091912B2 (ja) マルチコアプロセッサシステム
JP5691390B2 (ja) 電源装置およびプログラム
JP5516747B2 (ja) マルチコアプロセッサシステム、監視制御方法、および監視制御プログラム
JP5915406B2 (ja) 携帯端末装置の制御方法、制御プログラム及び携帯端末装置
JPH04332002A (ja) プログラマブル制御装置
JP2008165585A (ja) 情報処理装置および方法、プログラム、並びに記録媒体
JP2011107746A (ja) メモリ管理方法、計算機システム及びプログラム
CN103713950A (zh) 包括多核处理器的计算系统及其负载平衡方法
WO2018123456A1 (ja) プログラマブルコントローラ、管理装置および制御システム
US9864637B2 (en) Adaptable software resource managers based on intentions
CN113672263A (zh) 固件参数更新控制方法、装置及电子设备
US20100005475A1 (en) Information processing device and information processing method
JP2000250667A (ja) システム処理機能を提供するサスペンド・レジューム方法
CN116679962A (zh) 一种基本输入输出系统固件更新方法、装置、设备、介质
JP4405365B2 (ja) プログラム変換装置及び方法
JP2016051395A (ja) 画像形成装置およびリソース管理方法
JP2008139907A (ja) ジョブ割当プログラム及びジョブ割当方法
JP2006228163A (ja) プラント運転データ収集装置と方法
JP2004334679A (ja) 情報処理装置、情報処理装置のプログラム実行方式、情報処理装置のプログラム実行方式を記録した記憶媒体
JP2007164642A (ja) 資源管理装置および資源管理方法
JP2005346473A (ja) 情報処理方法、情報処理装置、撮像装置
JP2009093422A (ja) 利用者端末制御方法、および、省エネ制御装置
JP2008146204A (ja) サービス管理システム、サービス管理装置およびサービス管理方法

Legal Events

Date Code Title Description
RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20070626