(57)【特許請求の範囲】
【請求項１】
アプリケーションにより使用されている現在の記憶領域の使用量が、前記アプリケーションが宣言した前記記憶領域の宣言値を超えているか否かをアプリケーションごとに判定する判定手段と、
前記判定手段により前記使用量が前記宣言値を超えていると判定された前記アプリケーションを停止する停止手段と、
前記停止手段により停止された前記アプリケーションの動作を再開させる際に、前記記憶領域への書き込みを禁止し、前記アプリケーションの動作を再開させる再開手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記再開手段は、前記停止手段により停止された前記アプリケーションの動作を再開させる際に、前記記憶領域への読み込み及び削除を許可し、前記記憶領域への書き込みを禁止することを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記判定手段により前記使用量が前記宣言値を超えていると判定された前記アプリケーションに関して前記使用量が前記宣言値を超えていることを画面に表示する表示手段を更に有し、
前記停止手段は、前記画面を介して前記アプリケーションを停止することが選択された場合、前記判定手段により前記使用量が前記宣言値を超えていると判定された前記アプリケーションを停止することを特徴とする請求項１又は２記載の画像形成装置。
【請求項４】
前記再開手段は、前記停止手段により停止された前記アプリケーションの動作を再開させる際に、前記アプリケーション以外のアプリケーションを停止してから前記停止手段により停止された前記アプリケーションの動作を再開させることを特徴とする請求項１乃至３何れか１項記載の画像形成装置。
【請求項５】
前記再開手段は、前記停止手段により停止された前記アプリケーションの動作を再開させる際に、前記アプリケーションとセットで起動するアプリケーション以外のアプリケーションを停止してから前記停止手段により停止された前記アプリケーションの動作を再開させることを特徴とする請求項１乃至３何れか１項記載の画像形成装置。
【請求項６】
一のアプリケーションとセットで起動するアプリケーションを設定する設定手段を更に有し、
前記再開手段は、前記停止手段により停止された前記アプリケーションの動作を再開させる際に、前記設定手段により設定された前記アプリケーションとセットで起動するアプリケーション以外のアプリケーションを停止してから前記停止手段により停止された前記アプリケーションの動作を再開させることを特徴とする請求項５記載の画像形成装置。
【請求項７】
画像形成装置が実行するアプリケーションの制御方法であって、
アプリケーションにより使用されている現在の記憶領域の使用量が、前記アプリケーションが宣言した前記記憶領域の宣言値を超えているか否かをアプリケーションごとに判定する判定ステップと、
前記判定ステップにより前記使用量が前記宣言値を超えていると判定された前記アプリケーションを停止する停止ステップと、
前記停止ステップにより停止された前記アプリケーションの動作を再開させる際に、前記記憶領域への書き込みを禁止し、前記アプリケーションの動作を再開させる再開ステップと、
を含むことを特徴とする制御方法。
【請求項８】
コンピュータに、
アプリケーションにより使用されている現在の記憶領域の使用量が、前記アプリケーションが宣言した前記記憶領域の宣言値を超えているか否かをアプリケーションごとに判定する判定ステップと、
前記判定ステップにより前記使用量が前記宣言値を超えていると判定された前記アプリケーションを停止する停止ステップと、
前記停止ステップにより停止された前記アプリケーションの動作を再開させる際に、前記記憶領域への書き込みを禁止し、前記アプリケーションの動作を再開させる再開ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、制御方法及びプログラムに関する。
【背景技術】
【０００２】
従来、画像形成装置、及び画像形成装置の制御においては、リアルタイムＯＳ上に更に別の組み込みシステム向けの実行環境（例えばＪａｖａ（登録商標）等）を構築することを可能にしている。更には、画像形成装置の制御を行うことのできるアプリケーションを外部からダウンロードして搭載するアプリケーションプラットフォームが搭載されるようになった。
この場合、画像形成装置上で動作する実行環境では、ＰＣの世界とは異なり、画像形成装置に搭載されるメモリ等のハード的な資源がＰＣと比べて少ないため、限られた資源の中で複数のアプリケーションが共存する必要がある。また画像形成装置でのユーザビリティを鑑みると、操作に対してのリアルタイム性を確保するために、一定の利用制限を課す必要がある。例えば、画像形成装置のＵＩを利用するアプリケーションについては、ＵＩを利用可能なアプリケーション数に上限がある等の制限がある。より具体的には、特許文献１によれば、アプリケーションが利用可能なリソースに対してアプリケーションが利用要求するリソース量と、現在の使用量の合計が、予め決められた上限値に達したかどうかを判定し、アプリケーションの動作をコントロールしている。
【０００３】
一方、画像形成装置上で動作するアプリケーションでは、画像形成装置上の永続記憶領域を利用して、様々な機能を提供している。例えば、そのアプリケーションが動作するために必要な設定情報を永続記憶領域（ＨＤＤやＦｌａｓｈＲＯＭ等の不揮発性の記憶領域）に保持したり、アプリケーションのログを残したりする機能である。また、このように保持した情報を、画像形成装置から取り出す手段としては、アプリケーションが独自にダウンロード及びアップロード機能を有し、設定情報を更新したり、ログ情報をダウンロードしたりする等の機能を提供している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２８３００２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述したように資源に制限のある実行環境においてアプリケーションを動作させる場合には、以下のような問題が生じる場合がある。
まず、アプリケーションが利用要求した永続記憶領域サイズを超えて永続記憶領域を利用した場合、他のアプリケーションが利用可能な領域を圧迫することで、正常に動作できなくなる可能性がある。このような状態に陥った場合は、永続記憶領域サイズを超えたアプリケーションの動作を停止するしか手段がない。
また、アプリケーションをアンインストールすることで、適切でない動作をするアプリケーションを削除することは可能であるが、アプリケーションが保持する設定情報やログ情報も削除されてしまう。アプリケーションの適切でない動作を解消するためにアプリケーションをアンインストールすることは、ユーザの貴重な情報を削除することになり、避けなければならない。
【０００６】
一方、アプリケーションが保持する情報を画像形成装置からダウンロードするために、適切でない動作をしているアプリケーションの動作を一時的に再開する必要が出てくる。しかしながら、再度アプリケーションを開始してしまうと、そのアプリケーションが更に永続記憶領域に書き込みを行ってしまう可能性がある。そのため、更なる永続記憶領域の肥大化を招いてしまい、適切な状態でアプリケーションを再開する手段がないことが課題となる。
このように、利用を宣言した永続記憶領域サイズを超えてしまったアプリケーションは、停止若しくはアンインストールすることで回避は可能である。しかし、アプリケーションが保持するデータを取り出すためには、アプリを再開する必要があり、該当するアプリケーションを適切に開始する手段が必要となってくる。
【０００７】
本発明はこのような問題点に鑑みなされたもので、宣言値を超えて記憶領域を使用しているアプリケーションを適切に再開する手段を提供することを目的とする。
【課題を解決するための手段】
【０００８】
そこで、本発明の画像形成装置は、アプリケーションにより使用されている現在の記憶領域の使用量が、前記アプリケーションが宣言した前記記憶領域の宣言値を超えているか否かをアプリケーションごとに判定する判定手段と、前記判定手段により前記使用量が前記宣言値を超えていると判定された前記アプリケーションを停止する停止手段と、前記停止手段により停止された前記アプリケーションの動作を再開させる際に、前記記憶領域への書き込みを禁止し、前記アプリケーションの動作を再開させる再開手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、宣言値を超えて記憶領域を使用しているアプリケーションを適切に再開する手段を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】情報処理システムのシステム構成の一例を示す図である。
【図２】画像形成装置のハードウェア構成の一例を示す図である。
【図３】画像形成装置のソフトウェア構成の一例を示す図である。
【図４】画像形成装置上で動作可能なアプリケーション・ファイルの構造の一例を示す図である。
【図５】インストーラ・サービスが、アプリケーション・フレームワークを介して取得した、アプリケーション・リストの一例を示す図である。
【図６】インストーラ・サービスがアプリケーションを検出し、アプリケーションを停止する処理を示したフローチャートである。
【図７】Ｓ６０３の処理の一例を示すフローチャートである。
【図８】画像形成装置上で動作可能なアプリケーションが、宣言値を超えて永続記憶領域を使用したために、一時的に動作を停止された後に、アプリケーションを再度開始するために利用するインストーラ・サービスの画面の一例を示す図である。
【図９】画像形成装置上で動作可能なアプリケーションが、宣言値を超えて永続記憶領域を使用したために、一時的に動作を停止された後に、再開するための処理を示したフローチャートである。
【図１０】アプリケーションが使用する永続記憶領域の最大サイズを超えて永続記憶領域を使用した場合に、利用者に対してＵＩを利用して警告を行う処理を示したフローチャートである。
【図１１】宣言値を超えて永続記憶領域を使用したために、一時的に動作を停止されたアプリケーションの動作を再開する際の制御処理の一例を示すフローチャートである。
【図１２】セーフモード処理を行うかどうかの設定画面の一例を示す図である。
【図１３】セーフモードで起動する際にアプリケーションが、他のアプリケーションと同時に起動する必要がある設定をされていた場合のセーフモードでの制御処理の一例を示したフローチャートである。
【図１４】アプリケーションＡが起動する際に同時に起動する他のアプリケーションを設定する設定画面の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面に基づいて説明する。
【００１２】
＜第１の実施形態＞
図１は、情報処理システムのシステム構成の一例を示す図である。
ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１０４には、画像形成装置１０１とＰＣ１０２、１０３とが通信可能に接続されている。
【００１３】
図２は、画像形成装置１０１のハードウェア構成の一例を示す図である。
ＣＰＵ２１０を含む制御部２０９は、画像形成装置１０１全体の動作を制御する。ＣＰＵ２１０は、ＲＯＭ２１１に記憶された制御プログラムを読み出して読取制御や送信制御等の各種制御処理を実行する。ＲＡＭ２１２は、ＣＰＵ２１０の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ２０８は、画像データや各種プログラムを記憶する。
制御部２０９は、機能部２０１と接続され、操作部２０２、スキャナ部２０３、プリンタ部２０４の動作を制御する。
操作部２０２には、タッチパネル機能を有する液晶表示部やキーボード等が備えられている。
スキャナ部２０３は、原稿上の画像を読み取って画像データを生成し、制御部２０９に入力する。
プリンタ部２０４は、制御部２０９から入力された印刷すべき画像データを記録媒体上に印刷する。
インターフェース部２０６は、制御部２０９をＬＡＮ１０４に接続し、ネットワーク上のＰＣ１０２や１０３から印刷用の画像データを受信する、或いは、スキャナ部２０３で読み取った画面データを送信することが可能である。
なお、ＰＣ１０２や１０３から受信した印刷画像は画像メモリ２０７に一時的に格納され、制御部２０９を介してプリンタ部２０４で印刷される。
制御部２０９が、プログラムに基づき処理を実行することによって、後述するソフトウェア構成やフローチャートに関する処理が実現される。
【００１４】
図３は、画像形成装置１０１のソフトウェア構成の一例を示す図である。
ＯＳ３０１は、一般的にはリアルタイムＯＳが使用されるが、昨今ではＬｉｎｕｘ（登録商標）等の汎用ＯＳが使用されることもある。
仮想マシン３０２は、Ｊａｖａに代表される仮想マシンであり、アプリケーションの実行環境を提供する。
アプリケーション・フレームワーク３０３は、仮想マシン３０２上のアプリケーション・フレームワークであり、仮想マシン３０２上で動作するアプリケーションのライフ・サイクルを管理する機能とそれを制御するＩ／Ｆとを備えている。ライフ・サイクルとは、アプリケーションのインストール、起動、停止、アンインストールを含むアプリケーションの状態を示すものとする。
機器制御ライブラリ３０４は、仮想マシン３０２上で動作する機器制御ライブラリであり、後述のＮａｔｉｖｅ機能３０７が提供する、印刷やスキャン等の処理を、後述のアプリケーションＡ、Ｂから利用できるようにするためのＩ／Ｆを備えている。本Ｉ／Ｆでは、画像形成装置が提供する様々な機能を抽象化し、他の異なる画像形成装置においても、同一の手順で同一の機能が実現できるように構成されている。より具体的には、画像形成装置が提供する機能をオブジェクト化し、そのオブジェクトにパラメータを設定、或いはそのオブジェクトからパラメータを取得するＡＰＩを呼び出すことで様々な情報を設定・取得可能となっている。また、予め決められた手順に従い、ＡＰＩを呼び出すことで、印刷、及びスキャン等の機能を実行することが可能となっている。
【００１５】
操作部制御ライブラリ３０５は、仮想マシン３０２上で動作する操作部制御ライブラリである。操作部制御ライブラリ３０５は、後述のアプリケーションＡ、Ｂからの指示により、操作部２０２の液晶表示部に操作画面を表示する、或いは、キー入力等を各アプリケーションに伝える機能とＩ／Ｆとを備えている。
通信制御ライブラリ３０６は、仮想マシン３０２上で動作する通信制御ライブラリであり、インターフェース部２０６を介し、ＬＡＮ１０４上の他の通信機器と通信する機能とＩ／Ｆとを備えている。
Ｎａｔｉｖｅ機能３０７は、操作部２０２を使い、原稿のスキャンやコピー、印刷を始め、ＰＣ１０２等への画像送信等を行う画像形成装置本来の機能を提供するソフトウェアの総称である。Ｎａｔｉｖｅ機能３０７は、画像形成装置を生産する段階で組み込まれているソフトウェア群であり、ユーザの指示によりインストールされるものではない。一方で、ＪａｖａＶＭ上のアプリケーションは、ユーザの指示によりインストール可能であり、顧客環境でアプリケーションの管理・操作が可能である。また、アプリケーションは、機器制御ライブラリ３０４を使用することで、異なる画像形成装置においても同一の機器制御を行うことが可能となり、後付けで画像形成装置をカスタマイズすることが可能である。
【００１６】
インストーラ・サービス３０８は、後述のアプリケーションＡ、Ｂ等、複数のアプリケーションを、アプリケーション・フレームワーク３０３に登録することでインストール処理を行うものである。
システム・サービス群３０９は、インストーラ・サービス３０８以外の、様々な機能をアプリケーションに提供するものである。なお、インストーラ・サービス３０８、及びシステム・サービス群３０９は、Ｎａｔｉｖｅ機能３０７と同様に、画像形成装置を生産する段階で組み込まれているものとする。
アプリケーションＡ３１０、アプリケーションＢ３１１は、インストーラ・サービス３０８によってインストールされたアプリケーションであり、画像形成装置１０１上で様々な機能提供するものである。アプリケーションＡ３１０、アプリケーションＢ３１１は、操作部制御ライブラリ３０５を使用して、操作部２０２を介してユーザとやり取りを行うことが可能である。また、アプリケーションＡ３１０、アプリケーションＢ３１１は、通信制御ライブラリ３０６を使用して、インターフェース部２０６を介して、ＰＣ１０２等からデータを受信する。そして、アプリケーションＡ３１０、アプリケーションＢ３１１は、機器制御ライブラリ３０４を介し、プリンタ部２０４を使って印刷することも可能である。なお、インストーラ・サービス３０８は、ＰＣからブラウザを使用してアクセスされ、所定のアプリケーション・ファイルを受信するものとする。
【００１７】
図４は、画像形成装置上で動作可能なアプリケーション・ファイル４００の構造の一例を示す図である。
管理情報部４０１は、管理情報を保持する部であり、Ｊａｖａのプログラム・ファイルではＭＡＮＩＦＥＳＴ．ＭＦに代表されるものである。
実体部４０２は、アプリケーション・ファイル４００のプログラムの実体であり、Ｊａｖａのプログラム・ファイルであれば、拡張子がｃｌａｓｓのファイル群を示すものである。
管理情報４１０は、管理情報部４０１の内部の管理情報である。
ＩＤ４１１は、アプリケーションを一意に識別するためのＩＤである。本実施形態では、アプリケーション毎に個別のＵＵＩＤが定義されている。
アプリケーション名４１２は、アプリケーション・ファイル４００のアプリケーション名である。
最大サイズ４１３は、アプリケーション・ファイル４００が画像形成装置１０１上で使用するＨＤＤ２０８の最大サイズである。
識別情報４１４は、アプリケーション・ファイル４００の種類を識別するための識別情報である。
【００１８】
図５は、インストーラ・サービス３０８が、アプリケーション・フレームワーク３０３を介して取得した、アプリケーション・リスト５００の一例を示す図である。
アプリケーション・リスト５００には、アプリケーション・オブジェクトが配列として格納されている。
５０１は、１つ目のアプリケーション・オブジェクトを示しており、本実施形態では、図４のアプリケーションの情報が取得できているものとする。５０２から５０５までは、４１１から４１４までに相当する情報であり、インストーラ・サービス３０８はこれらの情報を、アプリケーション・オブジェクトから所定の取得ＡＰＩを使用して取得できるものとする。
【００１９】
図６は、画像形成装置上で動作可能なアプリケーションが、図４で説明したアプリケーションが使用する永続記憶領域の最大サイズである４１３の宣言値を超えて永続記憶領域を使用した場合の制御処理の一例を示すフローチャートである。より具体的には、図６は、インストーラ・サービスがアプリケーションを検出し、アプリケーションを停止する処理を示したフローチャートである。
Ｓ６０１において、インストーラ・サービス３０８は、アプリケーション・フレームワーク３０３を介して、アプリケーション・リスト５００を取得する。
Ｓ６０２において、インストーラ・サービス３０８は、取得したアプリケーション・リストの全オブジェクトをチェックするためのパラメータＮの初期化をする。
Ｓ６０３において、インストーラ・サービス３０８は、Ｎ番目のアプリケーションが、最大記憶領域サイズ（ＭａｘｉｍｕｍＦｉｌｅｓｐａｃｅＵｓａｇｅ）５０４を超えて動作しているかどうかをチェック（又は判定）する。なお、この処理の詳細は、図７を使って後述する。
【００２０】
Ｓ６０４において、インストーラ・サービス３０８は、Ｓ６０３の比較の結果を評価する。インストーラ・サービス３０８は、現在の使用量が、最大記憶領域サイズ５０４より大きい場合、Ｓ６０５に進み、そうでなければＳ６０７に進む。
Ｓ６０５において、インストーラ・サービス３０８は、アプリケーションの動作を強制的に停止する。
更にＳ６０６において、インストーラ・サービス３０８は、Ｎ番目のアプリケーションの使用量が最大記憶領域サイズを超えたことを示すＦｌａｇをＯｎ（値としては１）にして、Ｓ６０７に進む。
Ｓ６０７において、インストーラ・サービス３０８は、ステップ６０１で取得したアプリケーション・リスト５００の次のアプリケーションをチェックするためパラメータＮを加算する。
Ｓ６０８において、インストーラ・サービス３０８は、Ｓ６０１で取得したアプリケーション・リスト５００の全てについてチェックが完了したかを判定する。完了したと判定すると、インストーラ・サービス３０８は、本フローチャートの処理を終了する。完了していなければ、インストーラ・サービス３０８は、Ｓ６０３に戻り、次のアプリケーションの資源監視を行う。
【００２１】
図７は、図６で説明したフローチャートにおいて、Ｎ番目のアプリケーションが宣言値を超えて永続記憶領域を使用しているかどうかの超過チェックを行う処理の一例を示すフローチャートである。
Ｓ７０１において、インストーラ・サービス３０８は、アプリケーション・フレームワーク３０３を介して、Ｎ番目のアプリケーションの最大記憶領域サイズ５０４を取得する。
Ｓ７０２において、インストーラ・サービス３０８は、アプリケーション・フレームワーク３０３を介して、Ｎ番目のアプリケーションのパス情報５０６を取得する。
Ｓ７０３において、インストーラ・サービス３０８は、ＯＳ３０１を介して、Ｓ７０２で取得したパス情報で示されるフォルダの現在の使用量を取得する。
Ｓ７０４において、インストーラ・サービス３０８は、Ｓ７０１とＳ７０３とで取得したサイズを比較する。
【００２２】
図８は、画像形成装置上で動作可能なアプリケーションが、宣言値を超えて永続記憶領域を使用したために、一時的に動作を停止された後に、アプリケーションを再度開始するために利用するインストーラ・サービスの画面の一例を示す図である。より具体的には、操作者は、画像形成装置にネットワークで接続されたＰＣ１０２のＷＥＢブラウザを利用して、インストーラのＵＲＬを入力し本画面にアクセスする。ここでＵＲＬとは、例えば、ｈｔｔｐ：／／ｉｐ  ａｄｄｒｅｓｓ／ｉｎｓｔａｌｌ等である。本画面を利用したアプリケーションの再開処理の詳細については、図９を用いて後述する。
ＵＩ８０１は、画像形成装置上にインストールされているアプリケーションの一覧を表示したインストーラ・サービスのＵＩ（画面）の一例である。
開始ボタン８０２は、画像形成装置上にインストールされているアプリケーションＡを開始状態にするための開始ボタンである。
停止ボタン８０３は、アプリケーションＢを停止状態にするための停止ボタンである。
【００２３】
図９は、画像形成装置上で動作可能なアプリケーションが、宣言値を超えて永続記憶領域を使用したために、一時的に動作を停止された後に、再開するための処理を示したフローチャートである。
操作者は、画像形成装置１０１のインストーラ・サービス３０８を利用する。より具体的には、画像形成装置にネットワークで接続されたＰＣ１０２のＷＥＢブラウザを利用して、インストーラのＵＲＬを入力しインストール画面（図８）にアクセスする。ここでＵＲＬとは、例えば、ｈｔｔｐ：／／ｉｐ  ａｄｄｒｅｓｓ／ｉｎｓｔａｌｌ等である。このときインストーラ・サービス３０８は、Ｓ９０１において、アプリケーション管理画面表示のリクエストを受信する。
Ｓ９０２において、インストーラ・サービス３０８は、アプリケーション管理画面表示リクエストに対して、アプリケーション管理画面表示用のＨＴＭＬコンテンツをリクエスト元のＰＣに送信する。
操作者は、図８にてアプリケーションの開始ボタンを押下すると、インストーラ・サービスは、Ｓ９０３において、開始ボタン押下のリクエストを受信する。
【００２４】
Ｓ９０４では更に、インストーラ・サービス３０８は、アプリケーションが、宣言値を超えて永続記憶領域を使用した場合のＦｌａｇが１になっているかを判断する。Ｓ９０４において、Ｆｌａｇが１の場合、インストーラ・サービス３０８は、Ｓ９０５に進む。Ｓ９０４において、Ｆｌａｇが０の場合には、インストーラ・サービス３０８は、Ｓ９０６に進み、通常通り、アプリケーションの動作を開始する。
Ｓ９０５において、インストーラ・サービス３０８は、アプリケーションのファイルへのアクセス権設定（パーミッション）を読み込み（ｒｅａｄ）及び削除（ｄｅｌｅｔｅ）に変更する。つまり、インストーラ・サービス３０８は、アプリケーションのファイルへのアクセス権の設定において書き込みを禁止する。
Ｓ９０６において、インストーラ・サービス３０８は、アプリケーションの動作を開始し、図９に示す処理を終了する。
【００２５】
＜第２の実施形態＞
第１の実施形態では、アプリケーションが使用する永続記憶領域の最大サイズを超えて永続記憶領域を使用した場合に、アプリケーションを停止するように画像形成装置を構成した。しかし、アプリケーションの停止によりユーザにとっては業務停止等の不便を与える可能性がある。第２の実施形態では、異常を検知した場合に、警告を表示するように画像形成装置を構成した一例を示す。また、第２の実施形態では、より適切な形で停止したアプリケーションが再開できるように、他のアプリを停止するようなセーフモード機能で動作できるように画像形成装置を構成した一例を示す。
【００２６】
図１０は、図６で説明したように、アプリケーションが使用する永続記憶領域の最大サイズを超えて永続記憶領域を使用した場合に、利用者に対してＵＩを利用して警告を行う処理を示したフローチャートである。
図１０の処理は、図６の処理とは、Ｓ６０５の処理が異なる。Ｓ１００５において、インストーラ・サービス３０８は、使用量が宣言値をオーバーしている場合に、ＵＩに警告表示を行う。この実施形態では、アプリケーションを強制的に停止するのではなく、利用者に警告を促すことで、利用者の判断でアプリケーションの停止を行うことになる。つまり、インストーラ・サービス３０８は、使用量が制限値をオーバーしているアプリケーションに関してＵＩに警告を表示し、前記ＵＩを介してアプリケーションを停止する旨が選択された場合等に、アプリケーションを停止する。なお、インストーラ・サービス３０８は、前記ＵＩを操作部２０２等に表示する。
【００２７】
このようにアプリケーションが永続記憶領域の最大サイズを超えて永続記憶領域を使用した場合の処理については、警告表示及び停止の例を示したが、これに限るものではない。
図１１は、本実施形態において、宣言値を超えて永続記憶領域を使用したために、一時的に動作を停止されたアプリケーションの動作を再開する際の制御処理の一例を示すフローチャートである。より具体的には、図１１は、アプリケーション以外のアプリケーションの動作を停止してから再開するセーフモードにおいて処理を示したフローチャートである。
まず、図１２を用いて、セーフモード処理を行うかどうかの設定画面について説明する。
図１２は、セーフモード処理を行うかどうかの設定画面１２０１の一例を示す図である。チェックボックス１２０２で「する」のチェックボックスにチェックをいれてＯＫボタン１２０４が押下されると、セーフモードがＯＮになる。チェックボックス１２０３の「しない」のチェックボックスにチェックをいれてＯＫボタン１２０４が押下されると、セーフモードがＯＦＦになる。なお、図１２に示す設定画面は、操作部２０２等に表示される画面である。
【００２８】
次に図１１を用いてセーフモード処理について説明する。
なお、Ｓ１１０１からＳ１１０５までの処理は、図９で説明したＳ９０１からＳ９０５までの処理と同等である。図１１では、更にＳ１１０６において、インストーラ・サービス３０８は、画像形成装置のセーフモードの設定がＯｎになっているかどうか判断する。Ｏｆｆになっている場合には、インストーラ・サービス３０８は、Ｓ１１０８に進み、停止中だったアプリケーションの動作を再開して図１１に示す処理を終了する。
Ｓ１１０６でセーフモードの設定がＯｎになっていると判断した場合には、インストーラ・サービス３０８は、Ｓ１１０７に進む。Ｓ１１０７において、インストーラ・サービス３０８は、宣言値を超えて永続記憶領域を使用したアプリケーション以外のアプリケーションを全て停止する。
Ｓ１１０８において、インストーラ・サービス３０８は、宣言値を超えて永続記憶領域を使用したアプリケーションのみ、動作を再開させて図１１に示す処理を終了する。
【００２９】
図１３は、本実施形態において、図１１で説明したセーフモードで起動する際にアプリケーションが、他のアプリケーションと同時に起動する必要がある設定をされていた場合のセーフモードでの制御処理の一例を示したフローチャートである。
前述の図１１で説明したセーフモードでは、アプリケーション以外のアプリは自動的に停止してしまう。しかしながら、アプリケーション間に依存関係がある場合、あるアプリケーションと依存関係を持つアプリケーションが停止されてしまうと、あるアプリケーションの起動に支障をきたす可能性がある。例えば、１つのアプリケーションが、画像形成装置に装着されるＵＳＢデバイスを利用する場合には、そのＵＳＢデバイスをコントロールするＵＳＢドライバソフトが必要となる。複数の異なるＵＳＢデバイスをコントロールする場合には、それぞれのＵＳＢデバイスに対応したＵＳＢドライバソフトが必要となる。１つのアプリケーションの例としては、本体アプリケーションは、ＵＩを構成したり、デバイスをコントロールしたりする機能を有する。それに付随するドライバーアプリケーションは、複数の異なるＵＳＢデイバスをコントロールするＵＳＢドライバソフトを内包する。この２つのアプリケーションが連携して、本体アプリケーションは、ＵＳＢドライバソフトを利用して、ＵＳＢデバイスを制御可能となる。こうすることで、新たなＵＳＢデバイスに対応する場合には、本体アプリケーションはそのままで、ＵＳＢドライバソフトを更新することで新たなＵＳＢデバイスに対応することが可能となる。このように、依存関係のあるアプリケーションは他方が起動していない状態では正常な動作を行うことができない。このような場合に図１４以降で説明する同時に起動するアプリケーションの設定と、セーフモード時の処理と、が必要となる。
【００３０】
まず図１４を用いて、アプリケーションＡが起動する際に同時に起動する他のアプリケーションを設定する設定画面について説明する。図１４は、アプリケーションＡが起動する際に同時に起動する他のアプリケーションを設定する設定画面１４０１の一例を示す図である。１４０２のようにアプリケーションＢのチェックボックスにはチェックが入っている。１４０３では、アプリケーションＣのチェックボックスにはチェックが入っていない。この状態で、ＯＫボタン１４０４が押下されると、アプリケーションＡが起動する際に同時に起動するアプリケーションとしてアプリケーションＢが設定される。なお、図１４に示す設定画面は、操作部２０２等に表示される画面である。
【００３１】
次に図１３を用いてセーフモードで起動する際にアプリケーションが、他のアプリケーションと同時に起動する必要がある設定をされていた場合のセーフモード処理について説明する。
なお、Ｓ１３０１からＳ１３０６までの処理は、図１１で説明したＳ１１０１からＳ１１０６までの処理と同等である。図１３では、Ｓ１３０７において、インストーラ・サービス３０８は、アプリケーションがセットで起動するアプリケーションの設定があるかどうか判断する。ない場合には、インストーラ・サービス３０８は、Ｓ１３１０に進み、停止中のアプリケーションのうち、宣言値を超えて永続記憶領域を使用したアプリケーションのみ、動作を再開させて、図１３に示す処理を終了する。
Ｓ１３０７においてセットで起動するアプリケーションの設定があると判断した場合には、インストーラ・サービス３０８は、Ｓ１３０９に進む。
Ｓ１３０９において、インストーラ・サービス３０８は、宣言値を超えて永続記憶領域を使用したアプリケーション及び前記アプリケーションとセットで起動するアプリケーション以外のアプリケーションを全て停止する。
更にＳ１３１０において、インストーラ・サービス３０８は、停止中のアプリケーションのうち、宣言値を超えて永続記憶領域を使用したアプリケーションのみ、動作を再開させて、図１３に示す処理を終了する。
【００３２】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００３３】
以上、上述した各実施形態によれば、宣言値を超えて記憶領域を使用しているアプリケーションを適切に再開する手段を提供することができる。
より具体的に説明すると、上述した実施形態によれば、宣言値を超えて記憶領域を使用しているアプリケーションを停止させ、動作を再開（再起動）させる際に、前記アプリケーションから記憶領域への書き込みを禁止し、読み込み及び削除については許可する。この様にすることによって、前記アプリケーションが記憶領域を使うことによる記憶領域のひっ迫を防ぎつつ、前記アプリケーションが作成したファイルのダウンロードや削除が可能となり、宣言値を超えた記憶領域の使用状態を解消することができる。
【００３４】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図１】
0005836814.tif 000002
【図２】
0005836814.tif 000003
【図３】
0005836814.tif 000004
【図４】
0005836814.tif 000005
【図５】
0005836814.tif 000006
【図６】
0005836814.tif 000007
【図７】
0005836814.tif 000008
【図８】
0005836814.tif 000009
【図９】
0005836814.tif 000010
【図１０】
0005836814.tif 000011
【図１１】
0005836814.tif 000012
【図１２】
0005836814.tif 000013
【図１３】
0005836814.tif 000014
【図１４】
0005836814.tif 000015