(57)【要約】【課題】  インストールされるアプリケーションを記憶手段の空き容量に応じた適切な動作モードで実行する。【解決手段】  アプリ管理部２０４は、画像形成装置が備える記憶手段の空き容量を取得する（Ｓ１３０１）。そして、アプリ管理部２０４は、取得する前記空き容量と前記管理手段が管理するアプリケーションが必要とする各動作モードの使用容量とをそれぞれ比較して（Ｓ１３０３、Ｓ１３０４）、アプリ管理部２０４は、起動要求を受け付けたアプリケーションの動作モードを決定する（Ｓ１３０６）。【選択図】  図１０
2011070394.tif 000002
【特許請求の範囲】
【請求項１】
データ処理装置にインストールされるアプリケーションを管理する管理装置であって、
アプリケーションを実行するのに必要な記憶手段の使用容量を動作モード毎に管理する管理手段と、
インストールされたアプリケーションに対する起動要求を受け付ける受付手段と、
前記記憶手段の空き容量を取得する取得手段と、
前記取得手段が取得する前記空き容量と前記管理手段が管理するアプリケーションが必要とする各動作モードの使用容量とをそれぞれ比較して、前記受付手段が前記起動要求を受け付けたアプリケーションの動作モードを決定する決定手段と、
前記決定手段が決定した動作モードに従い前記起動要求を受け付けたアプリケーションを起動させる起動手段と、
を備えることを特徴とする管理装置。
【請求項２】
前記起動要求を受け付けたアプリケーションを起動可能であるかどうかを前記記憶手段の空き容量に従い判断する判断手段と、
前記判断手段が前記起動要求を受け付けたアプリケーションを起動可能でないと判断した場合、前記管理手段により管理されるアプリケーションの各動作モードで使用する記憶手段の使用量をユーザにより選択される変更条件に基づいて変更する変更手段と、
を備えることを特徴とする請求項１記載の管理装置。
【請求項３】
前記変更条件は、各アプリケーションが使用していない未使用領域、各アプリケーションの使用頻度、ユーザ設定のいずれかであることを特徴とする請求項２記載の管理装置。
【請求項４】
実行されるアプリケーションで使用した前記記憶手段の使用量の最大値を日時情報に対応づけて管理する使用量管理手段と、
前記使用量管理手段により管理される各アプリケーションが使用した前記記憶手段の使用量の最大値が変更されてから所定期間が経過する毎に、前記最大値が変化しないアプリケーションに設定された各動作モードに対応づけられた前記記憶手段の使用量を変更する動作モード変更手段と、
を備えることを特徴とする請求項１記載の管理装置。
【請求項５】
前記動作モード変更手段は、各動作モードで使用する前記記憶手段の使用量を削減することを特徴とする請求項４記載の管理装置。
【請求項６】
データ処理装置にインストールされるアプリケーションを管理する管理装置におけるアプリケーション管理方法であって、
アプリケーションを実行するのに必要な記憶手段の使用容量を動作モード毎に管理する管理工程と、
インストールされたアプリケーションに対する起動要求を受け付ける受付工程と、
前記記憶手段の空き容量を取得する取得工程と、
前記取得工程が取得する前記空き容量と前記管理工程が管理するアプリケーションが必要とする各動作モードの使用容量とをそれぞれ比較して、前記受付工程が前記起動要求を受け付けたアプリケーションの動作モードを決定する決定工程と、
前記決定工程が決定した動作モードに従い前記起動要求を受け付けたアプリケーションを起動させる起動工程と、を備えることを特徴とするアプリケーション管理方法。
【請求項７】
前記起動要求を受け付けたアプリケーションを起動可能であるかどうかを前記記憶手段の空き容量に従い判断する判断工程と、
前記判断工程が前記起動要求を受け付けたアプリケーションを起動可能でないと判断した場合、前記管理工程により管理されるアプリケーションの各動作モードで使用する記憶手段の使用量をユーザにより選択される変更条件に基づいて変更する変更工程と、
を備えることを特徴とする請求項６記載のアプリケーション管理方法。
【請求項８】
前記変更条件は、各アプリケーションが使用していない未使用領域、各アプリケーションの使用頻度、ユーザ設定のいずれかであることを特徴とする請求項７記載のアプリケーション管理方法。
【請求項９】
実行されるアプリケーションで使用した前記記憶手段の使用量の最大値を日時情報に対応づけて管理する使用量管理工程と、
前記使用量管理工程により管理される各アプリケーションが使用した前記記憶手段の使用量の最大値が変更されてから所定期間が経過する毎に、前記最大値が変化しないアプリケーションに設定された各動作モードに対応づけられた前記記憶手段の使用量を変更する動作モード変更工程と、
を備えることを特徴とする請求項６記載のアプリケーション管理方法。
【請求項１０】
前記動作モード変更工程は、各動作モードで使用する前記記憶手段の使用量を削減することを特徴とする請求項９記載のアプリケーション管理方法。
【請求項１１】
請求項６乃至１０のいずれか１項に記載のアプリケーション管理方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションに割り当てる資源情報を管理する管理装置に関するものである。
【背景技術】
【０００２】
従来、画像形成装置において、組み込みアプリケーションの資源管理は、アプリケーションを実行するために必要な資源情報と、アプリケーション実行環境において使用可能な資源情報とを比較して、事前に資源割り当てを行う方式をとっていた。つまりアプリケーションを実行するために必要な資源が事前に確保できる場合にのみアプリケーションが起動可能となる。このような制御を行うことによりPCアプリケーションのように実行中に資源不足によるエラーが発生することを防ぐことができ安定して画像形成装置の機能を利用できるようにしていた（例えば、特許文献１参照）。
【０００３】
また、近年、製品の出荷後にアプリケーションを追加する仕組みを持った画像形成装置が増加しており、メンテナンスの問題から同一のアプリケーションで複数機種に対応することが増えている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2004-122773号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、異なる画像形成装置上で同一アプリケーションを実行させる場合、各画像形成装置のシステム環境に応じて消費資源を切り替える必要があるが、当該消費資源を切り替えるることが難しい。このため、同一のアプリケーションを異なる画像形成装置で共通化することが困難となる場合が多かった。
また、アプリケーションが定義する資源量はアプリケーションの機能を最大限利用した場合のピーク値であったため、アプリケーションの機能を最大まで使わないユーザの環境では資源を有効に活用できなかった。
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、インストールされるアプリケーションを記憶手段の空き容量に応じた適切な動作モードで実行できる仕組みを提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成する本発明の管理装置は以下に示す構成を備える。
データ処理装置にインストールされるアプリケーションを管理する管理装置であって、アプリケーションを実行するのに必要な記憶手段の使用容量を動作モード毎に管理する管理手段と、インストールされたアプリケーションに対する起動要求を受け付ける受付手段と、前記記憶手段の空き容量を取得する取得手段と、前記取得手段が取得する前記空き容量と前記管理手段が管理するアプリケーションが必要とする各動作モードの使用容量とをそれぞれ比較して、前記受付手段が前記起動要求を受け付けたアプリケーションの動作モードを決定する決定手段と、前記決定手段が決定した動作モードに従い前記起動要求を受け付けたアプリケーションを起動させる起動手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、インストールされるアプリケーションを記憶手段の空き容量に応じた適切な動作モードで実行できる。
【図面の簡単な説明】
【０００８】
【図１】画像形成装置の構成を説明するブロック図である。
【図２】管理装置のソフトウエアの構成を示すブロック図である。
【図３】アプリ管理部で管理するアプリケーション情報を示す図である。
【図４】管理装置におけるＵＩの一例を示す図である。
【図５】管理装置におけるＵＩの一例を示す図である。
【図６】管理装置におけるＵＩの一例を示す図である。
【図７】管理装置におけるＵＩの一例を示す図である。
【図８】管理装置におけるＵＩの一例を示す図である。
【図９】管理装置におけるアプリ管理処理を示すフローチャートである。
【図１０】管理装置におけるアプリ管理処理を示すフローチャートである。
【図１１】管理装置におけるアプリ管理処理を示すフローチャートである。
【図１２】管理装置におけるアプリ管理処理を示すフローチャートである。
【図１３】管理装置におけるアプリ管理処理を示すフローチャートである。
【図１４】管理装置のソフトウエアの構成を示すブロック図である。
【図１５】管理装置におけるアプリ管理処理を示すフローチャートである。
【図１６】アプリ管理部で管理するアプリケーション情報を示す図である。
【発明を実施するための形態】
【０００９】
次に本発明を実施するための最良の形態について図面を参照して説明する。
＜システム構成の説明＞
〔第１実施形態〕
図１は、本発明の実施形態を示す管理装置を適用するデータ処理装置の構成を説明するブロック図である。本実施形態に示す管理装置が管理すべきデータ処理装置は、本実施形態における画像形成装置に限定されるものではなく、ＭＦＰ（Multi Function Peripheral）やその他の情報処理装置等が含まれる。
図１において、スキャナＩ／Ｆ制御部１０１は、スキャナ１１２を制御する装置である。ＣＰＵ１０２は、画像形成装置１００のソフトウエアプログラムを実行し、装置全体の制御を行う。ＲＯＭ１０３は、リードオンリーメモリであり、装置のブートプログラムや固定パラメータ等が格納されている。ＲＡＭ１０４は、ランダムアクセスメモリであり、ＣＰＵ１０２が装置を制御する際に、一時的なデータ格納やソフトウエアプログラムのロードに利用する。
【００１０】
記憶装置１０５は、ハードディスクドライブやフラッシュメモリ等の不揮発性の記憶装置であり、さまざまなデータの格納に使用する。記憶装置１０５には、本実施形態に示すアプリケーションプログラムやそのデータも格納される。
プリンタＩ／Ｆ制御部１０６はプリンタ１１１を制御する装置である。ＮＶＲＡＭ１０７は、不揮発性のメモリであり印刷装置の各種設定値を保存するためのものである。
【００１１】
パネル制御部１０８は、オペレーションパネル１１３を制御し、各種情報の表示、使用者からの指示入力を行う。ネットワークＩ／Ｆ制御部１０９は、ネットワークとのデータの送受信を制御するためのものであり、ＰＤＬデータ、アプリケーションプログラム、アプリケーション管理指示の受信等を行う。
バス１１０には、スキャナＩ／Ｆ制御部１０１、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４、記憶装置１０５、プリンタＩ／Ｆ制御部１０６、ＮＶＲＡＭ１０７が接続される。さらに、バス１１０には、パネル制御部１０８、ネットワークＩ／Ｆ制御部１０９が接続され、ＣＰＵ１０２からの制御信号や各種装置間のデータ信号が送受信されるシステムバスである。
【００１２】
図２は、図１で示した管理装置で動作するコントローラソフトウエアの構成を示すブロック図である。図２の（Ａ）は、システム全体のモジュール構成を示し、図２の（Ｂ）はアプリケーション管理部のモジュール構成を示す。
図２の（Ａ）において、２０１はオペレーティングシステム（ＯＳ）である。デバイス制御ライブラリ２０２は、スキャナ１１２やプリンタ１１１等のデバイスをアプリケーションから制御するためのモジュールである。アプリケーションフレームワーク２０３は、アプリケーションのライフサイクルを管理するためのモジュールである。
アプリ管理部２０４は、アプリケーションフレームワーク２０３の機能を用いてアプリケーションの管理（インストール・アンインストール・開始・停止・資源管理など）を行うためのモジュールである。
【００１３】
ログアプリ２０５は、ログを保管するためのシステムアプリケーションである。認証アプリ２０６は、ユーザ認証を行うためのシステムアプリケーションである。
２０７は一般アプリケーションであり、画像形成装置１００でコピー機能、センド機能、ボックス機能を実現するためのアプリケーションである。
図２の（Ｂ）に示すようにアプリ管理部２０４は、以下のモジュールを備えて構成される。
【００１４】
図２の（Ｂ）において、アプリ管理部２０４は、ユーザインタフェース制御部３０１、アプリ制御部３０２、アプリ情報取得部３０３、資源情報管理部３０４とから構成される。
ユーザインタフェース制御部３０１は、アプリケーションを管理するためのユーザインタフェースを制御する。本実施形態のユーザインタフェース制御部３０１は、ウェブアプリケーションであり、ユーザはウェブブラウザ上から画像形成装置１００にアクセスしてアプリケーションの管理操作を行うことができる。
アプリ制御部３０２は、ユーザインタフェースからの要求を受け取りアプリケーションの実行を制御する。アプリ情報取得部３０３はアプリケーションを管理する際に利用する情報をアプリケーションから取得する。資源情報管理部３０４は画像形成装置１００上で利用可能な資源量や動作中のアプリケーションの利用資源などを管理する。ここで、資源情報には、ワークメモリの空き容量、記憶装置１０５の空き容量も含まれる。
【００１５】
図３は、図２に示したアプリ管理部２０４で管理されるアプリケーション情報を示す図である。本例は、インストールされるアプリケーションの各動作モード毎に使用する記憶手段の使用量を管理する例である。
図３の（Ａ）において、各アプリケーションは図３の（Ｂ）に示すようなアリケーション情報を含んでいる。アプリ管理部２０４はアプリケーションを画像形成装置１００にインストールする際に、アプリケーションが持つアプリケーション情報を解析し、図３の（Ａ）のような管理テーブルに追加する。
そして、アプリケーション開始時に、アプリケーション管理部２０４はアプリケーションが必要とする資源情報と画像形成装置１００上で利用可能な資源量を元に、起動要求されたアプリケーションをどの動作モードで起動するかを決定する。そして、アプリケーション管理部２０４が、決定した動作モードでアプリケーションを起動する。以降、アプリケーション起動時の具体的な処理について詳細に説明する。
【００１６】
図４は、本実施形態を示す管理装置におけるユーザインタフェースの一例を示す図である。本例は、ユーザがオペレーションパネル１１３に表示されるブラウザから画像形成装置のアプリケーション管理のページにアクセスする際に表示される画面である。
図４において、タブ領域５０１は、ユーザがオペレーションパネル１１３上のブラウザ上でそれぞれの項目をクリックすることで、アプリケーションをインストールするためのページ（不図示）やシステム設定を行うページに遷移することができる。
【００１７】
アプリ操作ボタン５０２は、アプリケーションの操作を行うためのボタンであり、ラジオボタン５０３で選択されたアプリに対して開始、停止、アンインストールの操作を行うことができる。
５０４はアプリケーション名で、各アプリケーション名はリンクになっており、ユーザがブラウザ上からクリックすることで各アプリケーションの詳細情報ページ（不図示）に遷移することが可能である。
５０５はアプリケーションの状態であり、アプリケーションが動作していれば「開始」、動作していなければ「停止」と表示される。５０６は資源残量表示部で、画像形成装置１００で利用可能な資源の残量を示している。ここでは、ワークメモリやハードディスク等の空き容量を資源の残量として表示している例である。
【００１８】
図５は、本実施形態を示す管理装置におけるユーザインタフェースの一例を示す図である。本例の図５の（Ａ）は、アプリケーションを開始する際に表示される画面の一例を示す図であり、図４に示した資源残量の状況でセンドアプリを開始した場合の例である。
ここで、センドアプリの動作には図３の（Ａ）で示した資源が必要であるが、画像形成装置１００で利用可能な資源量はそれよりも多いので資源を最大限に消費する動作モード（Color600dpiモード）で起動する。つまり、図４に示す資源残量は、メモリが９ＭＢで、ストレージが１５０ＭＢであるため、図３の（Ａ）に示すセンドアプリでは、動作モード（Color600dpiモード）を起動可能であるため、上記動作モードが起動される。
【００１９】
図５の（Ａ）において、アプリケーション情報表示領域６０１には、開始指示されたアプリケーションの情報が表示される。また、起動条件表示領域６０２には、アプリケーションがどのようなモードで起動するかが表示される。
資源情報表示領域６０３には、アプリケーションをインストールしたあとの資源の残量情報が表示される。ＯＫボタン６０４は、起動条件表示領域６０２に表示された条件でアプリケーションを起動するためのボタンである。
キャンセルボタン６０５は、アプリケーションの開始を中止するためのボタンである。他モード選択ボタン６０６は、起動条件表示領域６０２で提示された条件以外でアプリケーションを動作させたい場合に、他のモードを選択するために利用するボタンである。
【００２０】
図５の（Ｂ）は、例えばボックスアプリケーションを開始する際に、そのままでは資源が足りないため開始アプリケーションの動作モード変更をして開始しようとした際に表示される画面の一例である。
図５の（Ｂ）において、画面構成は図５の（Ａ）の画面例と同じであるが、起動条件表示領域６０２に表示されるメッセージの内容が異なり、動作モードを変更して開始する旨のメッセージが表示される。この場合、動作モードは、処理能力を制限した動作モードが選択される。
図５の（Ｃ）は、アプリケーションを開始する際に、そのままでは資源が足りなかったため動作中のアプリケーションの動作モードを変更してアプリケーションを開始しようとした際に表示される画面の一例である。この画面も構成要素は図５の（Ａ）の画面と同じであるが、起動条件表示領域６０２に他のアプリケーションの動作モードをどのように切り替えるかを示すメッセージが表示される。なお、この例では一つのアプリケーションの動作モードを切り替えるのみであるが、複数のアプリケーションの動作モードを切り替える場合もあり得る。
【００２１】
図６は、本実施形態を示す管理装置におけるユーザインタフェースの一例を示す図である。本例は、アプリケーションを開始する際に、他のアプリケーションの動作モードを切り替えても必要資源を確保できない場合に表示されるエラー画面の例である。
図６において、アプリケーション情報表示領域９０１には開始しようとしたアプリケーションの情報が表示される。エラーメッセージ表示領域９０２にはエラーメッセージが表示される。ＯＫボタン９０３は、アプリケーション管理画面（図４）に遷移するためのボタンである。
【００２２】
図７は、本実施形態を示す管理装置におけるユーザインタフェースの一例を示す図である。本例は、図５の（Ａ）〜（Ｃ）の画面で表示されていた他モード選択ボタン６０６をクリックした場合に表示される画面の一例である。
図７において、メッセージ表示領域１００１には、ユーザに操作を促すメッセージが表示される。アプリケーション資源設定領域１００２には、動作中アプリケーションおよび、開始しようとしたアプリケーションの一覧が表示され、それぞれの動作モードを、ラジオボタンを選択することで設定することができる。資源残量表示エリア１００３には、アプリケーション資源設定領域１００２にて設定を行った場合の画像形成装置の資源残量が表示される。
なお、この値はアプリケーション資源設定領域１００２にて設定を変更すると即座に値が更新される。ＯＫボタン１００４は、アプリケーション資源設定領域１００２の設定を確定するためのボタンである。資源残量表示エリア１００３に表示される値がマイナスになる場合は、このボタンは押下できない。キャンセルボタン１００５は、他モード選択を中止するためのボタンであり、押下することで直前に表示されていた画面に遷移する。
【００２３】
図８は、本実施形態を示す管理装置におけるユーザインタフェースの一例を示す図である。本例は、図４の画面のタブ領域５０１にあるシステム設定タブ内にある設定画面の一例である。この画面ではアプリケーションを開始時に、アプリケーションが必要とする最大の資源量で動作できない場合、動作モードを変更するアプリケーションの優先度を設定することが可能である。つまり、ユーザは、動作モードを変更する変更条件は、後述する設定項目を選択することで、変更処理を切り替えることができる。
【００２４】
図８において、１１０１〜１１０３の各設定項目は排他的にどれか一つが必ず選択されるようになっている。設定項目１１０１が選択されると使用頻度が低いアプリケーションから順に動作モードを変更して利用可能資源を確保する。設定項目１１０２が選択されるとアプリケーションに割り当てられた資源量と実際の使用量の差が大きいものから動作モードを変更し利用可能資源を確保する。設定項目１１０３が選択されると、ユーザが自由に優先度を設定できる。設定項目１１０４はチェックボックスになっており動作中のアプリケーションを優先的に動作モード変更させたい場合にチェックする。１１０５はＯＫボタンで、１１０６はキャンセルボタンである。
ここがチェックされない場合は起動しようとしたアプリケーションの動作モードが優先的に変更される。
【００２５】
図９は、本実施形態を示す管理装置におけるアプリケーション処理手順の一例を示すフローチャートである。本例は、ブラウザからのアプリケーション管理要求を受信した場合におけるアプリ管理部２０４の処理の流れである。なお、Ｓ１２０１〜Ｓ１２０６は各ステップを示し、各ステップは図１に示したＣＰＵ１０２がＲＯＭ１０３、記憶装置１０５に記憶されるアプリ管理部２０４をＲＡＭ１０４にロードして実行することで実現される。ここで、制御プログラムとは、図２に示したアプリケーションに対応する。
まず、Ｓ１２０１で、ＣＰＵ１０２が実行するアプリ管理部２０４がブラウザにより表示される図４に示す画面を介して、ユーザからの選択指示に従うアプリケーション管理要求を受信すると、Ｓ１２０２へ進む。そして、Ｓ１２０２で、アプリ管理部２０４が受信した要求の種類を判定する。
ここで、もし要求が「アプリケーション開始依頼」とアプリ管理部２０４が判定した場合は、Ｓ１２０３にてアプリ管理部２０４はアプリケーション開始依頼処理（後述する図１０）を行い、処理を終了する。
【００２６】
ここで、「アプリケーション開始依頼」はアプリケーション管理画面（図４）でユーザがアプリケーションの開始ボタン（アプリケーション操作ボタン５０２）をクリックするとブラウザから送信される。
また、Ｓ１２０２にて要求が「アプリケーション開始指示」とアプリ管理部２０４が判定した場合は、Ｓ１２０４に進む。そして、Ｓ１２０４で、アプリ管理部２０４はアプリケーション開始処理（図１２）を行い、処理を終了する。
ここで、「アプリケーション開始指示」はアプリケーション起動確認画面（図５の（Ａ）〜（Ｃ））で、ユーザがＯＫボタン６０４をクリックするとブラウザから送信される。
また、Ｓ１２０２にて、要求が「他モード選択」であるとアプリ管理部２０４が判定した場合は、Ｓ１２０５に進む。そして、Ｓ１２０５で、アプリ管理部２０４はユーザインタフェース制御部３０１により、他モード選択画面をオペレーションパネル１１３に表示して、本処理を終了する。具体的には、アプリ管理部２０４が他モード選択画面を生成してユーザインタフェース制御部３０１によりブラウザに送信することで他モード選択画面が表示される。
ここで、「他モード選択」はアプリケーション起動確認画面（図５の（Ａ）〜（Ｃ））でユーザが他モード選択ボタン６０６をクリックした場合にブラウザから送信される。
また、Ｓ１２０２にて、それ以外の要求（キャンセル要求含む）とアプリ管理部２０４が判定した場合は、Ｓ１２０６に進む。そして、Ｓ１２０６で、アプリ管理部２０４はアプリケーション管理画面（図４）を生成しブラウザに送信して、処理を終了する。
【００２７】
図１０は、本実施形態を示す管理装置におけるアプリケーション処理手順の一例を示すフローチャートである。本例は、アプリ管理部２０４によるＳ１２０３のアプリケーション開始依頼処理の詳細手順である。なお、Ｓ１３０１〜Ｓ１３０８は各ステップを示し、各ステップは図１に示したＣＰＵ１０２がＲＯＭ１０３、記憶装置１０５に記憶されるアプリ管理部２０４をＲＡＭ１０４にロードして実行することで実現される。
【００２８】
まず、Ｓ１３０１で、アプリ管理部２０４は、画像形成装置の空き資源情報を取得する。ここで、空き資源情報とは、メモリ（ＲＡＭ１０４）とストレージ（記憶装置１０５）に関わる空き容量に対応する情報である。
次に、Ｓ１３０２で、アプリ管理部２０４は、開始依頼されたアプリケーションの必要資源情報を図３の（Ａ）に示すアプリケーションの資源情報を管理する管理テーブルから取得する。次に、Ｓ１３０３で、アプリ管理部２０４は、画像形成装置１００の空きメモリ容量と開始依頼を受付たアプリケーションが起動される際に必要とするメモリ容量（メモリの使用容量）を比較する。ここで、もし画像形成装置の空きメモリ容量の方が大きいとアプリ管理部２０４が判断した場合は、Ｓ１３０４に進む。
【００２９】
そして、Ｓ１３０４で、アプリ管理部２０４は画像形成装置１００の空きストレージ容量とアプリケーションが必要とするストレージの容量を比較する。ここで、もし画像形成装置１００のストレージの空き容量の方が大きいとアプリ管理部２０４が判断した場合は、Ｓ１３０５に進む。ここで、ストレージとは、例えばハードディスク装置で構成される記憶装置１０５に対応する。
そして、Ｓ１３０５で、アプリ管理部２０４は開始確認画面（図５の（Ａ））を生成してブラウザに送信して、本処理を終了する。
一方、Ｓ１３０３で、開始依頼アプリが必要とするメモリ容量の方が大きいとアプリ管理部２０４が判定した場合は、Ｓ１３０６に進む。そして、Ｓ１３０６で、アプリ管理部２０４は動作モード変更アプリ決定処理（後述する図１１）を行い、Ｓ１３０７に進む。
【００３０】
そして、Ｓ１３０７で、Ｓ１３０６の処理結果がエラーであるかどうかをアプリ管理部２０４が判定する。ここで、もし、処理結果がエラーであるとアプリ管理部２０４が判断した場合は、Ｓ１３０８に進む。そして、Ｓ１３０８で、アプリ管理部２０４はエラー画面（図６）を生成してブラウザに送信して、本処理を終了する。
一方、Ｓ１３０７で、エラーでないとアプリ管理部２０４が判定した場合は、Ｓ１３０５に進む。そして、Ｓ１３０５で、アプリ管理部２０４、開始確認画面（図５の（Ｂ）、（Ｃ））を生成して、ブラウザに送信して、本処理を終了する。
【００３１】
図１１は、本実施形態を示す管理装置におけるアプリケーション処理手順の一例を示すフローチャートである。本例は、アプリ管理部２０４によるＳ１３０６の動作モード変更アプリ決定処理の詳細手順である。なお、Ｓ１４０１〜Ｓ１４１３は各ステップを示し、各ステップは図１に示したＣＰＵ１０２がＲＯＭ１０３、記憶装置１０５に記憶されるアプリ管理部２０４をＲＡＭ１０４にロードして実行することで実現される。なお、図１１において、アプリケーションをアプリと略記する。
まず、Ｓ１４０１で、アプリ管理部２０４は優先度設定の設定内容を判定する。なお、優先度設定は、ユーザが図８に示した画面の設定項目１１０１〜１１０４のいずれかを選択することで設定可能となっている。ここで、「未使用領域が大きいもの優先」に対応する設定項目１１０２を選択しているとアプリ管理部２０４が判定した場合、Ｓ１４０２に進む。
そして、Ｓ１４０２では、アプリ管理部２０４は、実行している各アプリケーションの未使用領域を算出する。次に、Ｓ１４０３で、アプリ管理部２０４は算出した未使用領域を基に未使用領域が大きい順番となるアプリケーション情報リストをＲＡＭ１０４上に生成する。なお、動作中のアプリが無い場合は、アプリ管理部２０４は開始依頼されたアプリケーションの情報のみが含まれるアプリケーション情報リストを生成する。
【００３２】
また、動作中のアプリケーションが存在する場合は、アプリ管理部２０４は動作中のアプリケーションを未使用領域順に並べ替える。そして、アプリ管理部２０４は当該並べ替えを行った後、設定項目１１０４に基づきリストの先頭もしくは末尾に開始依頼されたアプリケーションの情報を付加したアプリケーション情報リストを生成する。
次に、Ｓ１４０４で、アプリ管理部２０４はアプリケーション情報リストにアプリケーション情報が存在するかどうかを判定する。ここで、もしアプリケーション情報が存在するとアプリ管理部２０４が判定した場合は、Ｓ１４０５に進む。
そして、Ｓ１４０５で、アプリ管理部２０４は、アプリケーション情報リストの先頭からアプリケーション情報を取り出し（アプリケーション情報リストから削除される）、Ｓ１４０６に進む。
そして、Ｓ１４０６で、アプリ管理部２０４は、取り出したアプリケーション情報に対応するアプリケーションが使用資源を削減することが可能かどうかを判定する。
具体的には現在選択されている動作モードで必要としている資源量よりも小さい資源量の動作モードがあるかどうかをアプリ管理部２０４が判定する。ここで、もし削減できないとアプリ管理部２０４が判定した場合は、Ｓ１４０４に戻り、削減可能と判定した場合は、Ｓ１４０７に進む。
【００３３】
そして、Ｓ１４０７で、アプリ管理部２０４は、そのアプリケーション情報および資源削減情報をＲＡＭ１０４上で管理する資源削減候補リストに登録する。次に、Ｓ１４０８で、アプリ管理部２０４は、ＲＡＭ１０４上の資源削減候補リストの資源削減情報を全て適用した場合の資源量を算出する。
次に、Ｓ１４０９で、アプリ管理部２０４はＳ１４０８で算出した情報を元に開始依頼アプリが起動可能かどうかを判定する。ここで、もし起動できないとアプリ管理部２０４が判定した場合は、Ｓ１４０６に戻る。
【００３４】
一方、Ｓ１４０９で、起動可能とアプリ管理部２０４が判定した場合はＳ１４１０に進む。そして、Ｓ１４１０で、アプリ管理部２０４は資源削減候補リストの内容を処理の呼び出し元に返して、本処理を終了する。
また、Ｓ１４０４で、リストにアプリケーション情報が存在しないとアプリ管理部２０４が判定した場合は、Ｓ１４１１に進む。そして、Ｓ１４１１で、アプリ管理部２０４は、エラーを返して、本処理を終了する。
また、Ｓ１４０１にて「使用頻度が低いもの優先」に設定されているとアプリ管理部２０４が判定した場合、Ｓ１４１２に進む。
そして、Ｓ１４１２で、アプリ管理部２０４は、アプリケーションの使用頻度が低い順となるアプリケーション情報リストを生成し、Ｓ１４０４に進む。以降の処理は前述した流れと同様である。
また、Ｓ１４０１で、優先度設定が「ユーザ設定」であるとアプリ管理部２０４が判定した場合は、Ｓ１４１３に進む。そして、Ｓ１４１３では優先度設定のユーザ設定で設定されている順番となるアプリケーション情報リストを生成し、Ｓ１４０４に進み、上述した処理と同様の処理を実行する。
【００３５】
図１２は、本実施形態を示す管理装置におけるアプリケーション処理手順の一例を示すフローチャートである。本例は、アプリ管理部２０４によるＳ１２０４のアプリ開始指示処理の詳細手順である。なお、Ｓ１５０１〜Ｓ１５０４は各ステップを示し、各ステップは図１に示したＣＰＵ１０２がＲＯＭ１０３、記憶装置１０５に記憶されるアプリ管理部２０４をＲＡＭ１０４にロードして実行することで実現される。
まず、Ｓ１５０１で、アプリ管理部２０４は、動作中のアプリケーションのモード変更が必要になるかどうかを判定する。ここで、もしモード変更が必要であるとアプリ管理部２０４が判定した場合は、Ｓ１５０２に進む。そして、Ｓ１５０２で、アプリ管理部２０４は、アプリケーションに対してモード変更指示を行い、Ｓ１５０３に進む。
一方、Ｓ１５０１で、モード変更が必要ないとアプリ管理部２０４が判定した場合もＳ１５０３に進む。
そして、Ｓ１５０３で、アプリ管理部２０４がアプリケーションに対して起動をかける。次に、Ｓ１５０４で、アプリ管理部２０４がアプリケーション管理画面（図４）をオペレーションパネル１１３に表示して、本処理を終了する。
【００３６】
図１３は、本実施形態を示す管理装置におけるアプリケーション処理手順の一例を示すフローチャートである。なお、図１３の（Ａ）は図１２に示したＳ１５０３にてアプリ管理部２０４からアプリケーションに対して開始が指示された場合のアプリケーション処理の流れに対応する。また、図１３の（Ｂ）は、図１２に示した、Ｓ１５０２にてアプリ管理部２０４から動作中のアプリケーションに対して動作モード変更が指示された場合のアプリケーションによる処理の流れに対応する。さらに、図１３の（Ｃ）は、アプリ管理部２０４がアプリケーションから動作モードの問い合わせを受けた時の処理の流れに対応する。
【００３７】
なお、Ｓ１６０１〜Ｓ１６０３，Ｓ１７０１〜Ｓ１７０３、Ｓ１８０１、Ｓ１８０２は各ステップを示し、各ステップは図１に示したＣＰＵ１０２がＲＯＭ１０３、記憶装置１０５に記憶されるアプリ管理部２０４をＲＡＭ１０４にロードして実行することで実現される。
まず、Ｓ１６０１で、アプリケーションは、アプリ管理部２０４から開始指示を受け取る。次に、Ｓ１６０２で、アプリケーションは、アプリ管理部２０４に問い合わせて、自分が動作すべき動作モードを取得する。次に、Ｓ１６０３で、Ｓ１６０２において取得した動作モードにあわせた初期化処理および起動処理を行い、本処理を終了する。
Ｓ１５０２において、アプリ管理部２０４から動作中のアプリケーションに対して動作モード変更が指示された場合は、図１３の（Ｂ）に示す処理を実行する。
まず、Ｓ１７０１で、アプリケーションは、アプリ管理部２０４から動作モード変更指示を受信する。次に、Ｓ１７０２で、アプリケーションは、アプリ管理部２０４に問い合わせ自分が動作すべき動作モードを取得する。次に、Ｓ１７０３で、アプリケーションは、Ｓ１７０２において取得した動作モードに合わせて移行処理を行い、本処理を終了する。ここで、移行処理の例としては自分が確保していたデータファイルの縮小処理やメモリ開放処理などがある。
【００３８】
アプリ管理部２０４がアプリケーションから動作モードの問い合わせを受けた時は、図１３の（Ｃ）に示す処理を開始する。
まず、Ｓ１８０１で、アプリ管理部２０４は、アプリ情報管理テーブル（図３の（Ａ））から問い合わせ元のアプリケーションの動作モードを取得する。次に、Ｓ１８０２で、取得した動作モードをアプリケーションに通知し、本処理を終了する。
上記実施形態によれば、異なるデバイスにおいてアプリケーションを共通化することが容易になり、アプリケーション開発者の開発負荷が軽減されるという効果がある。
これによりユーザの利用状況によっては従来以上の数のアプリケーションを動作させることも可能となるためユーザの利便性も向上する。
【００３９】
〔第２実施形態〕
次に、第１実施形態において定期的な動作モードの変更処理が追加になった第２実施形態について説明する。アプリ管理部２０４の構成以外は第１実施形態と同様であるため、詳細な説明は割愛する。
図１４は、本実施形態を示す画像形成装置におけるソフトウエアの構成を説明するブロック図である。本例は、第２実施形態におけるアプリ管理部２０４の構成例である。
図１４において、アプリ管理部２０４は、ユーザインタフェース制御部１９０１、アプリ制御部１９０２、アプリ情報取得部１９０３、資源情報管理部１９０４、資源利用監視部１９０５、定期監視部１９０６とから構成される。
ユーザインタフェース制御部１９０１は、アプリケーションを管理するためのユーザインタフェースを制御する。本実施形態におけるユーザインタフェース制御部１９０１は、ウェブアプリケーションであり、ユーザはウェブブラウザ上から画像形成装置にアクセスしてアプリケーションの管理操作を行うことができる。
【００４０】
アプリ制御部１９０２は、ユーザインタフェースからの要求を受け取りアプリケーションの実行を制御する。アプリ情報取得部１９０３はアプリケーションを管理する際に利用する情報をアプリケーションから取得するためのものである。
資源情報管理部１９０４は、画像形成装置上で利用可能な資源量や動作中のアプリケーションの利用資源などを管理する。また、資源利用監視部１９０５は、各アプリケーションの資源利用を監視し、各アプリケーションの資源利用のピーク値を検出して、検出された資源使用量のピーク値を日時情報に対応づけて管理する使用量管理処理を実行する。
定期監視部１９０６は、定期的に各アプリケーションのピーク値の変化を監視し、アプリケーションの動作モードを変更しても支障がないかを判定しアプリケーションの動作モードを変更する。
【００４１】
図１５は、本実施形態を示す管理装置におけるアプリケーション処理手順の一例を示すフローチャートである。なお、図１５の（Ａ）は図１４に示した資源利用監視部１９０５がアプリケーションの資源利用を検出した際の処理の流れに対応する。また、図１５の（Ｂ）は図１４に示した定期監視部１９０６が定期的に実行する処理の流れに対応する。なお、Ｓ２００１〜Ｓ２００４、並びにＳ２１０１〜Ｓ２１０６は各ステップを示し、図１に示したＣＰＵ１０２がＲＯＭ１０３、記憶装置１０５に記憶される制御プログラムをＲＡＭ１０４にロードして実行することで実現される。なお、図１５の（Ｂ）は動作中のアプリケーション分だけ定期的に実行される。ここで、実行の間隔はシステム設定画面からユーザが設定可能である。
まず、Ｓ２００１で、資源利用監視部１９０５はアプリケーションが資源を利用したことを検出する。次に、Ｓ２００２で、資源利用監視部１９０５は資源情報管理部１９０４から過去の資源利用ピーク値情報を取得する。次に、Ｓ２００３で、資源情報管理部１９０４は、現在の資源使用量が過去のピーク値を越えているかどうかを判定する。ここで、もしピーク値を超えていないと資源情報管理部１９０４が判定した場合は、本処理を終了する。
【００４２】
一方、Ｓ２００３で、もしピーク値を超えていると資源情報管理部１９０４が判定した場合、Ｓ２００４で、資源利用監視部１９０５は、現在の資源使用量をピーク値として資源情報管理部１９０４に保存して、本処理を終了する。なお、この際、資源利用監視部１９０５は、定期監視部１９０６での処理のために日時情報も保存しておく。
定期監視部１９０６が定期的に実行する処理を開始すると、まず、Ｓ２１０１で、定期監視部１９０６は資源情報管理部１９０４からアプリケーションの資源利用ピーク値情報を取得する。次に、Ｓ２１０２で、定期監視部１９０６はそのピーク値（最大値）が更新されてから所定期間（例えば1週間）以上経過しているかを判定する。ここで、もし所定期間が経過していないと定期監視部１９０６が判定した場合は、本処理を終了する。
一方、Ｓ２１０２で、もし一定期間を経過していると定期監視部１９０６が判定した場合は、Ｓ２１０３で、定期監視部１９０６は現在設定されている動作モードで必要とされる資源よりも少ない資源で動作する動作モードが存在するかどうかを判定する。ここで、もし存在しないと定期監視部１９０６が判定した場合は、本処理を終了する。
【００４３】
一方、Ｓ２１０３で、もし動作モードが存在すると定期監視部１９０６が判定した場合は、Ｓ２１０４で、定期監視部１９０６はその動作モードで必要とされる資源量がピーク値よりも大きいかどうか判定する。ここで、ピーク値の方が大きいと定期監視部１９０６が判定した場合は、本処理を終了する。
一方、Ｓ２１０４で、ピーク値の方が小さいと定期監視部１９０６が判定した場合は、Ｓ２１０５で、定期監視部１９０６は、そのアプリ制御部１９０２を経由してアプリケーションに対して動作モードを変更する処理を行う。
次に、Ｓ２１０６で、定期監視部１９０６はシステム設定等で事前にユーザによって設定された管理者に対して動作モードを変更した旨を示すメール通知を行い、本処理を終了する。
なお、本実施形態では、Ｓ２１０２で期間を固定としているが、ユーザが設定画面から設定可能としてもよい。
上記実施形態によれば、画像形成装置が備える記憶資源の使用状況やアプリケーションの利用状況に応じてアプリケーションへの記憶資源割り当て量を自在に変更できる。したがって、画像形成装置が備える記憶資源を有効に活用できるようになる。
【００４４】
〔他の実施形態〕
上記第１、第２実施形態ではアプリケーションの資源構成の定義として、動作モード（アプリケーションの機能）と資源構成の対応を管理しているが本発明はこれに限られるものではなく、様々な情報を適用することが可能である。
例えば図１６の（Ａ）に示すように、画像形成装置で利用可能な資源条件とアプリケーションの資源構成とを対応付けて資源使用量を定義してもよい。また、図１６の（Ｂ）に示すように、画像形成装置のモデルによってアプリケーションの資源構成を決定するようにしてもよい。
【００４５】
また、固定の資源構成の定義だけでなく、図１６の（Ｃ）に示すように、最低限必要な資源を定義しておき、ユーザの利用状況にあわせた設定で柔軟に資源使用量を設定可能としてもよい。
図１６の（Ｃ）に示す例では、最小構成（管理可能なユーザ数が１００ユーザまで）ではメモリ２ＭＢ、ストレージ１０ＭＢを消費する。
しかしアプリケーションの設定によりユーザ数の上限を１００単位で上限８０００まで増やすことが可能である。ユーザ上限を増やすと情報ファイルに記載されている単位でアプリケーションへの割り当て資源を増やすことが可能である。
この例ではユーザ数上限を１００増やす毎にメモリ使用量が０．１ＭＢ、ストレージ使用量が１ＭＢずつ増える。
以上説明したように、アプリケーションの動作時に必要な記憶手段の使用量を定義しておき、起動時に状況にあわせて適切な動作モードを選択して起動することにより、異なる機種向けのアプリケーションを一本化できる。
また、アプリケーションの機能を制限することで画像形成装置の資源を有効に活用することも可能となる。
なお、本実施形態では説明を簡単にするため、メモリ量とハードディスク容量のみを資源として扱う場合を説明した。しかしながら、本発明はこれらの資源情報に限定されるものではなくスレッド数、ソケット数、ファイルディスクリプタ数などを様々な資源情報を利用するシステムに適用可能である。
【００４６】
本発明の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウエア（プログラム）をパソコン（コンピュータ）等の処理装置（CPU、プロセッサ）にて実行することでも実現できる。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。
【符号の説明】
【００４７】
１００  画像形成装置
２０４  アプリ管理部
【図１】
2011070394.tif 000003
【図２】
2011070394.tif 000004
【図３】
2011070394.tif 000005
【図４】
2011070394.tif 000006
【図５】
2011070394.tif 000007
【図６】
2011070394.tif 000008
【図７】
2011070394.tif 000009
【図８】
2011070394.tif 000010
【図９】
2011070394.tif 000011
【図１０】
2011070394.tif 000012
【図１１】
2011070394.tif 000013
【図１２】
2011070394.tif 000014
【図１３】
2011070394.tif 000015
【図１４】
2011070394.tif 000016
【図１５】
2011070394.tif 000017
【図１６】
2011070394.tif 000018