複数のアプリケーションプログラムが動作する一つのプロセスのメモリ使用量を監視する監視手段と、前記プロセスのメモリ使用量が第一の閾値を超えた場合に、いずれかの前記アプリケーションプログラムを停止させる制御手段とを有する情報処理装置。前記制御手段は、前記プロセスのメモリ使用量が第二の閾値を下回った場合に、いずれかの前記アプリケーションプログラムを起動させる請求項1記載の情報処理装置。前記複数のアプリケーションプログラムのそれぞれの優先度を記憶する記憶手段を有し、前記制御手段は、前記優先度に基づいて、停止対象とする前記アプリケーションプログラムを選択する請求項1又は2記載の情報処理装置。前記複数のアプリケーションプログラムのそれぞれに関して、当該情報処理装置が有する表示手段の使用の有無を示す情報を記憶する記憶手段を有し、前記制御手段は、前記情報に基づいて、停止対象とする前記アプリケーションプログラムを選択する請求項1又は2記載の情報処理装置。前記複数のアプリケーションプログラムのそれぞれに関して、利用回数を記憶する記憶手段を有し、前記制御手段は、前記利用回数に基づいて、停止対象とする前記アプリケーションプログラムを選択する請求項1又は2記載の情報処理装置。複数のアプリケーションプログラムが動作する一つのプロセスのメモリ使用量を監視する監視手順と、前記プロセスのメモリ使用量が第一の閾値を超えた場合に、いずれかの前記アプリケーションプログラムを停止させる停止手順とをコンピュータが実行する制御方法。前記プロセスのメモリ使用量が第二の閾値を下回った場合に、いずれかの前記アプリケーションプログラムを起動させる起動手順を前記コンピュータが実行する請求項6記載の制御方法。複数のアプリケーションプログラムが動作する一つのプロセスのメモリ使用量を監視する監視手順と、前記プロセスのメモリ使用量が第一の閾値を超えた場合に、いずれかの前記アプリケーションプログラムを停止させる制御手順とをコンピュータに実行させる制御プログラム。前記プロセスのメモリ使用量が第二の閾値を下回った場合に、いずれかの前記アプリケーションプログラムを起動させる起動手順を前記コンピュータに実行させる請求項8記載の制御プログラム。請求項8又は9記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。1プロセス複数アプリに関しては、複数のアプリケーションによってメモリ空間が共有される。したがって、いずれかのアプリケーションによるメモリ使用量の予想以上の増加等により、メモリ不足となった場合、その影響は、当該アプリケーションのみならず、他のアプリケーションにも波及する可能性がある。例えば、他のアプリケーションが動作不正又は動作不能となる可能性がある。本発明は、上記の点に鑑みてなされたものであって、同一プロセス上で動作する複数のアプリケーションプログラムのメモリ使用量を適切に制御することのできる情報処理装置、制御方法、制御プログラム、及び記録媒体の提供を目的とする。そこで上記課題を解決するため、本発明は、複数のアプリケーションプログラムが動作する一つのプロセスのメモリ使用量を監視する監視手段と、前記プロセスのメモリ使用量が第一の閾値を超えた場合に、いずれかの前記アプリケーションプログラムを停止させる制御手段とを有する。このような情報処理装置では、同一プロセス上で動作する複数のアプリケーションプログラムのメモリ使用量を適切に制御することができる。本発明によれば、同一プロセス上で動作する複数のアプリケーションプログラムのメモリ使用量を適切に制御することができる。以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態では、画像形成装置を情報処理装置の一例として説明する。図1は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。同図において、画像形成装置10は、コントローラ11、スキャナ12、プリンタ13、モデム14、操作パネル15、ネットワークインタフェース16、及びSDカードスロット17等のハードウェアを有する。コントローラ11は、CPU111、RAM112、ROM113、HDD114、及びNVRAM115等を有する。ROM113には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。RAM112は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU111は、RAM112にロードされたプログラムを処理することにより、各種の機能を実現する。HDD114には、プログラムやプログラムが利用する各種のデータ等が記録される。NVRAM115には、各種の設定情報等が記録される。スキャナ12は、原稿より画像データを読み取るためのハードウェア画像読取手段である。プリンタ13は、印刷データを印刷用紙に印刷するためのハードウェア印刷手段である。モデム14は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。操作パネル15は、ユーザからの入力の受け付けを行うためのボタン等の入力手段や、液晶パネル等の表示手段等を備えたハードウェアである。ネットワークインタフェース16は、LAN等のネットワーク有線又は無線の別は問わない。に接続するためのハードウェアである。SDカードスロット17は、SDカード80に記録されたプログラムを読み取るために利用される。すなわち、画像形成装置10では、ROM113に記録されたプログラムだけでなく、SDカード80に記録されたプログラムもRAM112にロードされ、実行されうる。なお、他の記録媒体例えば、CD-ROM又はUSBUniversalSerialBusメモリ等によってSDカード80が代替されてもよい。すなわち、SDカード80の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、SDカードスロット17は、記録媒体の種類に応じたハードウェアによって代替されればよい。図2は、本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。同図において、画像形成装置10は、標準アプリ151、SDKアプリ152、SDKプラットフォーム153、VMVirtualMachine154、監視部155、制御対象選択部156、制御情報記憶部157、コントロールサービス158、及びOSOperatingSystem159等を有する。標準アプリ151は、画像形成装置10に標準的に出荷時に予め実装されているアプリケーションの集合である。同図では、スキャンアプリ1511、印刷アプリ1512、コピーアプリ1513、及びFAXアプリ1514が例示されている。スキャンアプリ1511は、スキャンジョブを実行する。印刷アプリ1512は印刷ジョブを実行する。コピーアプリ1513は、コピージョブを実行する。FAXアプリ1514は、FAXの送信ジョブ又は受信ジョブを実行する。なお、各標準アプリ151は、それぞれ一つのプロセスとして起動される。コントロールサービス158は、各種のハードウェアリソース等を制御するための機能を上位アプリケーション等に対して提供したり、画像形成装置10の基盤的な機能等を実行したりするソフトウェアモジュール群である。SDKアプリ152は、画像形成装置10の出荷後において、画像形成装置10の機能拡張等を図るためのプラグインとして追加的にインストールされるアプリケーションプログラムである。したがって、SDKアプリ152の機能は、所定のものに限定されない。例えば、各SDKアプリ152は、SDカード80から又はネットワークを介して画像形成装置10にインストールされる。SDKプラットフォーム153は、SDKアプリ152の実行環境及び共通機能を実現する。各SDKアプリ152は、SDKプラットフォーム153が提供するAPIApplicationProgramInterface以下、SDKAPIという。を利用して開発される。例えば、SDKプラットフォーム153は、スキャン機能を利用させるためのSDKAPI、印刷機能を利用させるためのSDKAPI、コピー機能を利用させるためのSDKAPI等をSDKアプリ152に提供する。或るSDKAPIの呼び出しに応じ、SDKプラットフォーム153は、当該SDKAPIに対応する要求をコントロールサービス158に入力し、画像形成装置10に所定の処理を実行させる。SDKAPIは公開されており、サードベンダ等によってもSDKアプリ152は開発されうる。また、SDKAPIは、異機種間において平滑化されている。したがって、SDKアプリ152に関して、機種に応じて異なる実装が行われる必要性は低い。なお、SDKプラットフォーム153は、それ自体、画像形成装置10にインストールされるアプリケーションの一種である。例えば、SDKプラットフォーム153は、SDカード80から又はネットワークを介して画像形成装置10にインストールされる。なお、本実施の形態では、便宜上、画像形成装置10にインストール可能なプログラムとして、SDKアプリ152及びSDKプラットフォーム153等が例示されているが、画像形成装置10にインストール可能なプログラムは、SDKアプリ152及びSDKプラットフォーム153等に限定されない。画像形成装置10にインストール可能なプログラムには、画像形成装置10に追加的にインストールされるプログラム全般が含まれうる。同図において、SDKプラットフォーム153は、アプリ管理部1531及びアプリ情報記憶部1532等を含む。アプリ管理部1531は、SDKアプリ152のインストール及びアンインストールや、SDKアプリ152の起動制御及び停止制御等を実行する。アプリ情報記憶部1532は、SDKアプリ152の属性情報等が記述されたファイル以下、アプリ情報ファイルという。をSDKアプリ152ごとに記憶する。例えば、各SDKアプリ152のインストールパッケージ例えば、書庫ファイルには、SDKアプリ152の実行形式ファイルと、アプリ情報ファイルとが含まれている。アプリ管理部1531は、SDKアプリ152のインストールの際に、当該SDKアプリ152のインストールパッケージに含まれているアプリ情報ファイルをアプリ情報記憶部1532に記録する。なお、アプリ情報記憶部1532は、例えば、HDD114又はNVRAM115等と用いて実現可能である。VM154は、例えば、Java登録商標仮想マシンである。同図において、SDKアプリ152、SDKプラットフォーム153、監視部155、及び制御対象選択部156は、VM154上で動作するプログラムである。したがって、VM154がJava登録商標仮想マシンである場合、VM154上で動作するプログラムは、Java登録商標のプログラムである。なお、VM154上のプログラム破線Pによって囲まれた範囲は、一つのプロセス内又は一つのプロセス上において動作する。以下、当該プロセスをプロセスPという。例えば、各SDKアプリ152は、プロセスP上においてそれぞれ一つのスレッドとして起動される。したがって、各SDKアプリ152は、OS159によってプロセスPに割り当てられたメモリ資源等を共有する。すなわち、SDKアプリ152は、1プロセス複数アプリの一例である。監視部155は、プロセスPに関するメモリ使用量又はメモリ消費量ともいう。を継続的に監視する。監視部155は、プロセスPに関するメモリ使用量を予め設定された条件と比較し、当該条件が満たされた場合、その旨を制御対象選択部156に通知する。制御対象選択部156は、監視部155からの通知に応じ、制御情報記憶部157が記憶する制御情報ファイルの記述内容制御情報に基づいて、起動制御又は停止制御の対象制御対象とするSDKアプリ152を選択する。制御対象選択部156は、制御対象とされたSDKアプリ152の起動又は停止をアプリ管理部1531に要求する。制御情報記憶部157は、監視部155がプロセスPに関するメモリ使用量と照合する上記条件や、制御対象選択部156が制御対象とするSDKアプリ152を選択するための方針を示す情報等が記述された制御情報ファイルを記憶する。制御情報記憶部157は、例えば、HDD114又はNVRAM115等と用いて実現可能である。OS159は、いわゆるOSOperatingSystemである。以下、画像形成装置10が実行する処理手順について説明する。図3は、メモリ使用量に応じたSDKアプリの制御処理の処理手順の一例を説明するためのシーケンス図である。ステップS101~S105は、例えば、画像形成装置10の起動時において実行される。ステップS101において、アプリ管理部1531は、画像形成装置10にインストールされている各SDKアプリ152のアプリ情報ファイルすなわち、アプリ情報記憶部1532が記憶するアプリ情報ファイルの記述内容を、例えば、RAM112に読み込む。図4は、アプリ情報ファイルの記述内容の一例を示す図である。同図において、アプリ情報ファイルは、XMLeXtensibleMarkupLanguageを用いて記述されている。但し、アプリ情報ファイルの形式は、CSVCommaSeparatedValues等、他の形式であってもよい。なお、同図の行番号は、説明の便宜上付されたものである。同図において、6行目から10行目までは、当該アプリ情報ファイルが対象とするSDKアプリ152以下、対象アプリという。を識別するための情報である。例えば、7行目は、対象アプリの識別子プロダクトIDを示す。また、12行目から15行目までは、対象アプリを構成するファイルを示している。同図の例に係るSDKアプリ152は、demo.jarというファイル名のファイルによって構成されることが分かる。17行目から23行目までは、対象アプリの動作条件に関する情報が含まれている。すなわち、18行目は、対象アプリのメインクラスのクラス名DemoApplicationを示す。メインクラスとは、アプリ管理部1531から見て、操作対象とされるクラスをいう。すなわち、各SDKアプリ152のメインクラスは、アプリ管理部1531との間で約束されているインタフェースメソッド等を備える。アプリ管理部1531は、当該メソッド等を介して、各SDKアプリ152を制御する。19行目は、対象アプリの優先度を示す。本実施の形態において、優先度には、high高、middle中、又はlow低が指定される。優先度は、制御対象とするSDKアプリ152の選択等に用いられる。20行目は、対象アプリを、プロセスPのメモリ使用量に応じた制御対象の範囲に含めるか否かを示す。すなわち、auto-appli-manage=trueである場合、対象アプリは、当該制御対象の範囲に含まれる。一方、auto-appli-manage=falseである場合、対象アプリは、当該制御対象の範囲に含まれない。なお、当該制御対象の範囲に含まれるか否かということは、プロセスPのメモリ使用量に応じて、強制的又は自動的な停止又は起動の対象とされるか否かということを意味する。21行目は、対象アプリが必要とする最小限のメモリ量を示す。22行目は、対象アプリが使用する最大のメモリ量を示す。同図の例において、対象アプリのメモリ使用量は、0.3MB以上、1.5MB以下であることが分かる。続いて、アプリ管理部1531は、読み込んだアプリ情報ファイルの記述内容以下、アプリ情報という。を制御対象選択部156に通知するS102。当該通知では、アプリ情報の実体が転送されるのではなく、アプリ情報の読み込み先の記憶領域のアドレス値ポインタが通知されてもよい。続いて、制御対象選択部156は、制御情報記憶部157より制御情報ファイルを読み込むS103。図5は、制御情報ファイルの第一の例を示す図である。同図において、制御情報ファイルは、XMLを用いて記述されている。但し、制御情報ファイルの形式は、CSV等、他の形式であってもよい。なお、行番号は、説明の便宜上付されたものである。同図において、5行目は、制御対象の選択方針を示す。memory-priorityは、優先度の高いSDKアプリ152の起動状態が優先されることを示す。すなわち、優先度を基準として制御対象のSDKアプリ152が選択されることを示す。6行目及び7行目は、起動又は停止等の制御条件又はタイミングを示す。すなわち、7行目は、プロセスPのメモリ使用量が28MB上限の閾値を超えた場合超えたタイミングで、5行目の選択方針によって選択されるSDKアプリ152を強制的に停止させることを示す。6行目は、プロセスPのメモリ使用量が20MB下限の閾値を下回った場合下回ったタイミングで、停止中のSDKアプリ152を起動させることを示す。したがって、同図では、プロセスPのメモリ使用量が28MBを超えたこと、又はプロセスPのメモリ使用量が20MBを下回ったことが、それぞれ制御条件となる。なお、上限の閾値及び下限の閾値は、プロセスPのメモリ使用量の許容範囲に対して或る程度余裕の値であることが好ましい。具体的には、上限の閾値は、プロセスPのメモリ使用量の許容範囲の上限-所定値であり、下限の閾値は、プロセスPのメモリ使用量の許容範囲の上限所定値であることが好ましい。なお、5行目の情報は、制御対象選択部156が利用し、6行目及び7行目の情報は、監視部155が利用する。続いて、制御対象選択部156は、監視対象とするSDKアプリ152の識別子と、制御情報ファイルより読み込まれた制御情報図5に含まれる制御条件とを、監視部155に通知するS104。監視対象とするSDKアプリ152は、アプリ情報ファイルにおいて、20行目図4参照の値がtrueであるSDKアプリ152ある。また、当該SDKアプリ152の識別子は、当該SDKアプリ152に係るアプリ情報ファイルの7行目より取得される。続いて、制御対象選択部156は、監視部155に対して、プロセスPのメモリ使用量の監視の開始を要求するS105。当該要求に応じ、監視部155は、プロセスPに関して監視を開始する。なお、本実施の形態のように、監視部155がプロセスPに含まれる場合、監視対象のプロセスは容易に特定可能である。但し、監視部155がプロセスPに含まれない場合であっても、プロセスPの識別情報が通知されれば、監視部155は、監視対象のプロセスを特定することができる。または、監視対象の各SDKアプリ152のメモリ使用量が監視され、その総和が制御条件と比較されてもよい。SDKアプリ152がJava登録商標のプログラムである場合、Java登録商標ManagementExtensionsJMXやJava登録商標VirtualMachineToolInterfaceJVMTI等の公知技術を利用することで、メモリ使用量を監視することができる。監視の過程において、制御条件が満たされたことを検知すると、監視部155は、満たされた制御条件を制御対象選択部156に通知するS106。図5の例に基づけば、プロセスPのメモリ使用量が上限の閾値を超えたこと、又はプロセスPのメモリ使用量が下限の閾値を下回ったことが制御対象選択部156に通知される。続いて、制御対象選択部156は、各SDKアプリ152のアプリ情報図4、制御情報図5、及び通知された制御条件満たされた制御条件等に基づいて、制御の形態起動又は停止と、制御対象とするSDKアプリ152とを選択又は判定するS107。具体的には、プロセスPのメモリ使用量が上限の閾値を超えたことが通知された場合、制御対象選択部156は、起動状態のSDKアプリ152のいずれかを停止すべきことを判断する。そこで、制御対象選択部156は、制御情報に示される選択方針に基づいて、監視対象であって、かつ、起動状態のSDKアプリ152の中で、優先度が相対的に低いSDKアプリ152を停止対象として選択する。各SDKアプリ152の優先度は、それぞれのアプリ情報を参照することにより特定することができる。また、各SDKアプリ152が起動状態であるか又は停止状態であるかは、アプリ管理部1531に問い合わせることにより判定可能である。アプリ管理部1531は、各SDKアプリ152の起動制御又は停止制御を行うため、各SDKアプリ152が起動状態であるか又は停止状態であるかを把握しているからである。なお、優先度に基づいて複数のSDKアプリ152が選択された場合、例えば、最大のメモリ使用量又は最小のメモリ使用量が、当該複数のSDKアプリ152の中で最大であるSDKアプリ152に停止対象が限定されてもよい。当該SDKアプリ152が停止されれば、停止状態とされるSDKアプリ152を最小限に抑えつつ、プロセスPのメモリ使用量を効果的に低下させることができるからである。但し、優先度に基づいて選択された複数のSDKアプリ152が停止対象とされてもよい。一方、プロセスPのメモリ使用量が下限の閾値を下回ったことが通知された場合、制御対象選択部156は、停止状態のSDKアプリ152のいずれかを起動すべきことを判断する。そこで、制御対象選択部156は、監視対象であって、かつ、最小のメモリ使用量をプロセスPの現在のメモリ使用量に加算しても上限の閾値を超えない停止状態のSDKアプリ152の中で、優先度が相対的に高いSDKアプリ152を起動対象として選択する。優先度に基づいて複数のSDKアプリ152が選択された場合、例えば、最大のメモリ使用量又は最小のメモリ使用量が、当該複数のSDKアプリ152の中で最小であるSDKアプリ152に起動対象が限定されてもよい。当該SDKアプリ152が起動対象とされることにより、他のSDKアプリ152が起動される場合に比べて、プロセスPのメモリ使用量が上限の閾値を超える可能性を低下させることができるからである。続いて、制御対象選択部156は、制御形態起動又は停止及び選択されたSDKアプリ152の識別子を指定して、当該SDKアプリ152の起動又は停止をアプリ管理部1531に要求するS108。当該要求に応じ、アプリ管理部1531は、指定されたSDKアプリ152を起動又は停止させるS109。SDKアプリ152が停止された場合、当該SDKアプリ152が使用していたメモリ領域は解放される。その結果、プロセスPのメモリ使用量を低下させることができる。一方、SDKアプリ152が起動された場合、より多くのSDKアプリ152を起動状態とすることができる。上述したように、本実施の形態によれば、プロセスPのメモリ使用量が上限の閾値を超えた場合、当該プロセスP上で動作するいずれかのSDKアプリ152が停止される。したがって、同一のプロセスPのメモリ使用量すなわち、プロセスP上で動作する複数のSDKアプリ152のメモリ使用量を適切に制御することができる。また、プロセスPのメモリ使用量が下限の閾値を下回った場合、停止状態のSDKアプリ152が起動される。この場合、起動状態のSDKアプリ152を増加させることができ、ユーザにより多くのサービスを提供可能な状態を構築することができる。なお、上記では、優先度に基づいて制御対象が選択される例について説明した。但し、他の基準に基づいて制御対象が選択されてもよい。例えば、図6は、制御情報ファイルの第二の例を示す図である。同図に示される制御情報ファイルでは、5行目において、memory-panel-ownerが制御対象の選択方針として指定されている。これは、操作パネル15のオーナ権限を有しているSDKアプリ152の起動状態が優先されることを示す。操作パネル15のオーナ権限とは、操作パネル15を利用してユーザインタフェースを提供する権限をいう。当該権限を有するSDKアプリ152は、ユーザからの指示入力や、ユーザへの情報提供等を操作パネル15を介して行うことを示す。なお、操作パネル15のオーナ権限を有さないSDKアプリ152は、例えば、ネットワークを介して要求を受け付け、要求に応じた処理結果をネットワークを介して応答するようなサーバ型のアプリケーションである。図6に示される制御情報ファイルが適用された場合、ステップS107において、制御対象選択部156は、停止対象を選択するときは、操作パネル15のオーナ権限の無いSDKアプリ152を優先的に選択する。また、制御対象選択部156は、起動対象を選択するときは、操作パネル15のオーナ権限の有るSDKアプリ152を優先的に選択する。操作パネル15のオーナ権限を有するSDKアプリ152の起動状態が優先されることで、操作パネル15を介して利用されるSDKアプリ152の利用に関して利便性を向上させることができる。すなわち、アプリ管理部1531が操作パネル15に表示させる、SDKアプリ152の制御用画面を介して、ユーザの手動によって、当該オーナ権限を有するSDKアプリ152の起動指示が入力されるといった状況の発生を低減させることができる。なお、操作パネル15のオーナ権限の有無は、例えば、アプリ情報ファイルに記録されていればよい。また、図7は、制御情報ファイルの第三の例を示す図である。同図に示される制御情報ファイルでは、5行目において、memory-frequencyが制御対象の選択方針として指定されている。これは、利用頻度の高い利用回数の多いSDKアプリ152の起動状態が優先されることを示す。図7に示される制御情報ファイルが適用される場合、ステップS107において、制御対象選択部156は、停止対象を選択するときは、利用頻度が相対的に低いSDKアプリ152を優先的に選択する。一方、制御対象選択部156は、起動対象を選択するときは、利用頻度が相対的に高いSDKアプリ152を優先的に選択する。利用頻度の高いSDKアプリ152の起動状態が優先されることで、アプリ管理部1531が操作パネル15に表示させる、SDKアプリ152の制御用画面を介して、ユーザの手動によって、SDKアプリ152の起動指示が入力されるといった状況の発生を低減させることができる。なお、SDKアプリ152の利用頻度又は利用回数は、利用対象のSDKアプリ152が選択された際に、アプリ管理部1531が、HDD114又はNVRAM115等に記録すればよい。また、優先度、操作パネル15のオーナ権限、及び利用頻度等が組み合わされて制御対象が選択されてもよい。更に、本実施の形態では、メモリ使用量を調整する例について説明したが、例えば、CPU使用率等、他のハードウェア資源に関する使用状況に応じて、SDKアプリ152の起動又は停止が行われてもよい。以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形変更が可能である。