(57)【要約】【課題】  アプリケーションを使用できなくなるといったユーザービリティを損なうことなく、システムのリソースを無駄に消費することを回避する。【解決手段】  第１のアプリケーションのインストール処理を検知し、第１のアプリケーションと置換可能な第２のアプリケーションが、有効状態であるかを判定し、第２のアプリケーションが有効状態であると判定された場合、第２のアプリケーションを停止状態にする。停止状態にした第２のアプリケーションを起動するためのショートカットを作成し、第１のアプリケーションをインストールする。【選択図】  図５
2018088023.tif 000002
【特許請求の範囲】
【請求項１】
第１のアプリケーションのインストール処理を検知する第１の検知手段と、
前記第１のアプリケーションと置換可能な第２のアプリケーションが有効状態であるかを判定する第１の判定手段と、
前記第２のアプリケーションが有効状態であると判定された場合、前記第２のアプリケーションを停止状態にするアプリケーション停止手段と、
前記停止状態にした第２のアプリケーションを起動するためのショートカットを作成する作成手段と、
前記検知した第１のアプリケーションのインストールするインストール手段を有することを特徴とする情報処理装置。
【請求項２】
前記第１の判定手段で、前記第２のアプリケーションが有効状態であると判定された場合、前記第２のアプリケーションがシステムアプリケーションかを判定する第２の判定手段と、
前記第２の判定手段で、前記第２のアプリケーションがシステムアプリケーションであると判定された場合、前記アプリケーション停止手段で第２のアプリケーションの停止状態にした後、システム領域の変更を行う変更手段を有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２のアプリケーションのショートカットの押下を検知する第２の検知手段と、
前記ショートカットの押下を検知した場合、前記第２のアプリケーションの動作に必要なリソース量が確保できるかを判定する第３の判定手段と、
前記第３の判定手段で、前記第２のアプリケーションの動作に必要なリソース量が確保できると判定された場合、前記第２のアプリケーションを起動状態にするアプリケーション起動手段を有することを特徴とする請求項１又は請求項２に記載の情報処理装置。
【請求項４】
前記第３の判定手段で、前記第２のアプリケーションの動作に必要なリソース量が確保できないと判定された場合、前記アプリケーション停止手段が、前記インストール手段でインストールした第１のアプリケーションを停止状態にすることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
情報処理装置の制御方法であって、
第１のアプリケーションのインストール処理を検知する第１の検知工程と、
前記第１のアプリケーションと置換可能な第２のアプリケーションが有効状態であるかを判定する第１の判定工程と、
前記第２のアプリケーションが有効状態であると判定された場合、前記第２のアプリケーションを停止状態にするアプリケーション停止工程と、
前記停止状態にした第２のアプリケーションを起動するためのショートカットを作成する作成工程と、
前記検知した第１のアプリケーションのインストールするインストール工程を有することを特徴とする情報処理装置の制御方法。
【請求項６】
前記第１の判定工程で、前記第２のアプリケーションが有効状態であると判定された場合、前記第２のアプリケーションがシステムアプリケーションかを判定する第２の判定工程と、
前記第２の判定工程で、前記第２のアプリケーションがシステムアプリケーションであると判定された場合、前記アプリケーション停止工程で第２のアプリケーションの停止状態にした後、システム領域の変更を行う変更工程を有することを特徴とする請求項５に記載の情報処理装置の制御方法。
【請求項７】
前記第２のアプリケーションのショートカットの押下を検知する第２の検知工程と、
前記ショートカットの押下を検知した場合、前記第２のアプリケーションの動作に必要なリソース量が確保できるかを判定する第３の判定工程と、
前記第３の判定工程で、前記第２のアプリケーションの動作に必要なリソース量が確保できると判定された場合、前記第２のアプリケーションを起動状態にするアプリケーション起動工程を有することを特徴とする請求項５又は請求項６に記載の情報処理装置の制御方法。
【請求項８】
前記第３の判定工程で、前記第２のアプリケーションの動作に必要なリソース量が確保できないと判定された場合、前記インストール手段でインストールした第１のアプリケーションを停止状態にする工程をさらに有することを特徴とする請求項７に記載の情報処理装置の制御方法。
【請求項９】
請求項１乃至４の何れか１項に記載の情報処理装置としてコンピュータを機能させるための該コンピュータで読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
アプリケーションを複数インストールし、実行するための実行環境において、アプリケーションの状態を管理するアプリケーション管理装置、及び、アプリケーション管理方法に関する。
【背景技術】
【０００２】
アプリケーション実行環境において、一般的に、アプリケーションが使用するリソースの総量には制限があり、情報機器の資源量に依存する。それゆえアプリケーションが使用するリソース量について上限値を定め、該アプリケーションの検査段階で、当該アプリケーションの使用量がその上限値を越えないことを確認することを行う。そうすることで、アプリケーションが安定稼働することを保証することが考えられている（特許文献１）。
【０００３】
アプリケーションを複数稼働させることを想定している組み込みアプリケーション実行環境では、アプリケーション管理フレームワークが存在する。アプリケーション管理フレームワークは、アプリケーションの使用するリソース量の総量が情報機器の資源量を越えないように、インストールの許可不許可を制御する。
【０００４】
一方、このようなアプリケーションの実行環境においては、一度インストールしたアプリケーションの入れ替えは行われることは少ない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第５２５７０７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
同じような機能を持つアプリケーションを後から追加としたとしても、従来のアプリケーションは削除されずに残されているということが多い。前述のように情報機器の資源量は定められており、アプリケーションが使用するリソース総量には制限がある環境下において、削除されずに残されるアプリケーションは、資源の無駄使いをしていることにつながりかねない。
【０００７】
しかしながら、画像形成装置は、個人ではなく複数人で使用されることが想定されているため、アプリケーションを新しくした際に、従来のアプリケーションを削除して良いとは限らない。そのため、類似のアプリケーションを複数インストールすることになり、リソースを無駄に消費するという課題があった。
【０００８】
本発明は、アプリケーションを使用できなくなるといったユーザービリティを損なうことなく、システムのリソースを無駄に消費することを回避する技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の情報処理装置は、第１のアプリケーションのインストール処理を検知する第１の検知手段と、前記第１のアプリケーションと置換可能な第２のアプリケーションが有効状態であるかを判定する第１の判定手段と、前記第２のアプリケーションが有効状態であると判定された場合、前記第２のアプリケーションを停止状態にするアプリケーション停止手段と、前記停止状態にした第２のアプリケーションを起動するためのショートカットを作成する作成手段と、前記検知した第１のアプリケーションのインストールするインストール手段を有することを特徴とする。
【発明の効果】
【００１０】
本発明により、アプリケーションを使用できなくなるといったユーザービリティを損なうことなく、システムのリソースを無駄に消費することを回避することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の全体構成の一例を示す図である。
【図２】画像形成装置１００のハードウェア構成の一例を示す図である。
【図３】アプリケーションの実行環境の構成の一例を示す図である。
【図４】アプリケーションのファイル構成の一例を示した図である。
【図５】（ａ）は、アプリケーションのインストール時のフローチャートである。（ｂ）は、アプリケーションのインストール時の変形例のフローチャートである。
【図６】置換アプリケーションのショートカットアイコン押下時のフローチャートである。
【図７】置換アプリケーションのショートカットアイコン押下時の変形例のフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。
【００１３】
図１は、本発明の実施例の全体構成の一例を示した図である。
【００１４】
１００は、本実施例を実装した情報処理装置の一例である画像形成装置１００である。画像形成装置１００は、ネットワーク１３０を通して、情報処理装置１１０と接続する。
アプリケーションＡ（１０１）、アプリケーションＢ（１０２）、アプリケーションＣ（１０３）はそれぞれ画像形成装置１００上で動作するアプリケーションを示す。画像形成装置１００上では、一つ、あるいは複数のアプリケーションを動作させることが可能である。図１では、アプリケーションを３つ例示しているが、アプリケーションの数は３でなくてもよい。一般利用者及び管理者は画像形成装置１００の基本機能、アプリケーション（１０１、１０２、１０３）及び、画像形成装置１００やアプリケーションを管理するための手段が提供される。画像形成装置１００を直接操作、もしくは、ネットワーク１３０を経由して、情報処理装置１１０から操作することが可能である。
【００１５】
図２は画像形成装置１００のハードウェア構成の一例を示した図である。
【００１６】
画像形成装置１００は、コア部２００、ユーザーインターフェース部２０１、記憶部２０２、ネットワークインターフェース部２０３、スキャナー部２０４、プリンター部２０５、フィニッシャー部２０６から構成される。
【００１７】
図３は、本実施例における画像形成装置１００にて、各アプリケーション（１０１、１０２、１０３）を実行するための実行環境の一例を示した図である。
【００１８】
３０１はアプリケーションの実行基盤であり、アプリケーションは基本的にこの実行基盤３０１上で動作する。アプリケーション（１０１、１０２、１０３）のインストール、アンインストール、実行、停止といった処理は、実行基盤３０１上で動作するアプリケーション管理フレームワーク３０２によって管理されている。
【００１９】
アプリケーション管理フレームワーク３０２は、インストールなどの処理を行う際に、アプリケーションのアプリケーションリソース上限宣言ファイル４０２を参照する。ファイル中に宣言されているリソース上限値が、現在のアプリケーション実行環境内のリソースの空き容量に収まるか否かを判定する。そして、判定により、インストール処理の実行やエラーを返すといった処理を行う。３０３は、アプリケーション（１０１、１０２、１０３）が画像形成装置１００の様々な機能を利用するためのサポートライブラリである。３０４は、アプリケーション管理テーブルであり、インストールされているアプリケーションを管理するためのテーブルである。
【００２０】
図４（ａ）は、本実施例におけるアプリケーション（１０１、１０２、１０３）を構成する代表的なファイルについて示した図である。
【００２１】
アプリケーション（１０１、１０２、１０３）はいくつかの種類のファイルを有している。４０１はアプリケーションの実行コード等を含む、アプリケーション実行コードファイルである。４０２はアプリケーションが保持する定数や文字列等の固定データを収めた、アプリケーション固定データファイルを示す。４０３はアプリケーションの情報や、アプリケーションが使用するリソースを宣言するためのアプリケーションリソース宣言ファイルを示す。
【００２２】
図４（ｂ）は、アプリケーションリソース宣言ファイル４０３の内部構成の一例を示した図である。
【００２３】
アプリケーションリソース宣言ファイルは、アプリケーションの名称やＩＤやタイプといったアプリケーション情報を含む。本図では、一例として、画像形成装置１００内の画像のプレビューを表示するアプリケーションを示す。ＡｐｐｒｉｃａｔｉｏｎＮａｍｅ（４１２）には、“ＰｒｅｖｉｅｗＡｐｐ”のアプリケーション名が記載され、ＡｐｐｒｉｃａｔｉｏｎＩＤ（４１１）には、アプリケーション固有ＩＤ“ａｐｒｉ−ｉｍａｇ−ｖｉｅｗ”の記載があることを示す。
【００２４】
ＳｕｂｓｔｉｔｕｔｉｏｎＩＤ（４１３）は、置換ＩＤであって、使用するアプリケーションの置き換え対象となるアプリケーションのＩＤが記載されていることを示している。つまり、置換可能なアプリケーションのＩＤである。ＡｐｐｒｉｃａｔｉｏｎＲｅｓｏｕｒｃｅ（４１４）には、アプリケーションが使用する各リソースの上限の値が刻まれている。アプリケーションの情報とともに、アプリケーションが使用する各リソースの上限値４１４も保持する。本図では、アプリケーションの使用するストレージ、メモリー、スレッド、ファイルディスクリプター、ソケットの上限値を、バイト単位もしくは数値で記載している例を示している。
【００２５】
図５（ａ）は、アプリケーションのインストール時のフローチャートである。図５（ａ）は、アプリケーション管理フレームワーク３０２が、アプリケーションのインストールを検知するところから始まる。アプリケーション管理フレームワーク３０２がアプリケーション（第１のアプリケーション）のインストールのために、画像形成装置１００にインストールのためのファイルがアップロードされたことを検知する（Ｓ５０１）。アプリケーションを構成するファイルからアプリケーションリソース宣言ファイル４０３を読み取る。
【００２６】
そして、アプリケーションリソース宣言ファイルの中にＳｕｂｓｔｉｔｕｔｉｏｎＩＤ（４１３）があるか否かを判定する（Ｓ５０２）。アプリケーションリソース宣言ファイルに４０３にＳｕｂｓｔｉｔｕｔｉｏｎＩＤが存在しない場合は、Ｓ５０６へ進み、アプリケーションのインストール処理を行う。
【００２７】
ここで、本システムにおけるアプリケーションのインストールに関し、アプリケーション管理フレームワークがＯＳＧｉの仕組みを基本とすることを例として説明する。
【００２８】
まず、Ｓ５０１にて画像形成装置１００にネットワークインターフェース等を通してアップロードされたインストールのためファイルは、画像形成装置１００内のテンポラリーの位置に保持される。そして、アプリケーション管理フレームワークは、該インストールのためのファイルに対し、必要があれば解凍処理を行い、必要なファイルへ分割する。
そして、ファイル群の中からアプリケーションリソース宣言ファイル４０３から必要な情報を取得し、アプリケーションのインストールが可能か否かを判定する。
【００２９】
そして、アプリケーション管理フレームワーク３０２は、該アプリケーションをアプリケーション管理テーブル３０４に登録し、必要なファイル群を画像形成装置１００内の予め定められた場所に配置し、該アプリケーションの開始処理を行う。ここで、該アプリケーションがＵＩを持つアプレットアプリケーションの場合、アプリケーション管理フレームワークより開始処理が行われると、アプリケーションを構成するファイルからアイコンファイルを読み出す。そして、アプリケーション実行基盤に含まれるＵＩ制御モジュールに対してアイコン登録を行う。この処理によって、ＵＩパネルに該アプリケーションを起動するためのアイコンが登録され、ユーザーがいつでもアプリケーションを使用可能な状態となり、インストール処理が完了する。
【００３０】
Ｓ５０２のＳｕｂｓｔｉｔｕｔｉｏｎＩＤの判定により、アプリケーションリソース宣言ファイルに４０３にＳｕｂｓｔｉｔｕｔｉｏｎＩＤが存在する場合は、Ｓ５０３へ進む。アプリケーション管理フレームワークで保持するアプリケーション管理テーブルを参照する。そして、ＳｕｂｓｔｉｔｕｔｉｏｎＩＤが、アプリケーション管理テーブルに登録されており、ＳｕｂｓｔｉｔｕｔｉｏｎＩＤに対応するアプリケーションが有効状態にあるか否かを判定する。ＳｕｂｓｔｉｔｕｔｉｏｎＩＤに対応するアプリケーションが存在しなかった場合は、Ｓ５０６へ進み、アプリケーションのインストール処理を行う。
ＳｕｂｓｔｉｔｕｔｉｏｎＩＤに対応するアプリケーションが存在していた場合は、このアプリケーションを置換アプリケーションとして処理をするためにＳ５０４へ進む。
【００３１】
Ｓ５０４では、アプリケーション管理フレームワークが置換アプリケーション（第２のアプリケーション）の停止処理を行う（第２のアプリケーションを停止状態にする）。通常の停止処理では、アプリケーション管理フレームワークがアプリケーションに対して停止処理を通知する際に、アプリケーションは前述のＵＩ制御モジュールからアイコンの削除処理を行う。停止するアプリケーションが置換アプリケーションである場合、アプリケーション管理フレームワークは、アプリケーションからＵＩ制御モジュールへのアイコン削除処理を検知する。そして、ＵＩ制御モジュールから削除される前に置換アプリケーションのアイコン情報を取得する。そして、アプリケーション管理フレームワークは、置換アプリケーションの停止処理を完了する。
【００３２】
そして、Ｓ５０５では、アプリケーション管理フレームワークは、ＵＩ制御モジュールへ、置換アプリケーションを開始・起動するプログラムと、置換アプリケーションから取得したアイコン情報を登録する。置換アプリケーション起動用のショートカット（アイコン）を作成する。そして、Ｓ５０６にて、該アプリケーションのインストール処理を行い、本フローチャートを終了する。
【００３３】
図６は、置換アプリケーションの停止処理後、ＵＩパネルにおいて、置換アプリケーション起動用のショートカットアイコンが押下された場合のフローチャートである。
【００３４】
まず、ＵＩ制御モジュールが、ＵＩパネルにおいて置換アプリケーション起動用のショートカットアイコンの押下を検知するところから開始する（Ｓ６０１）。
ＵＩ制御モジュールがアイコン押下を検知すると、アプリケーション管理フレームワークへ通知する。すると、アプリケーション管理フレームワークは、置換アプリケーション起動用のアイコンの登録に紐づけられている置換アプリケーションのマニフェストファイルを取得する。そして、置換アプリケーションの起動に必要なリソース量を取得し（Ｓ６０２）、動作に必要なリソースを確保できるか否かを判定する（Ｓ６０３）。そして、動作に必要なリソース量を確保できると判定した場合は、置換アプリケーションの開始・起動を行い（第２のアプリケーションを起動状態にする）（Ｓ６０４）、本フローチャートを終了する。Ｓ６０３にて、置換アプリケーションを起動できるリソース量がないと判定した場合は、リソース不足により置換アプリケーションを起動できない旨のエラーメッセージを表示して（Ｓ６０５）、本フローチャートを終了する。
【００３５】
本実施例の説明では、置換アプリケーションに対する処理は、アプリケーションをインストールした状態のままで、停止、開始・起動の制御のみとして説明した。しかし、別の実施例においては、アプリケーションのインストール・アンインストールも行っても良い。その際は、既存の置換アプリケーションのアンインストール処理時に、置換アプリケーションを構成するファイルを一時的に画像形成装置内に保存しておく必要がある。
【００３６】
＜変形例１＞
図５（ｂ）は、アプリケーションのインストール時の変形例のフローチャートである。尚、Ｓ５０１〜Ｓ５０６は、図５（ａ）のＳ５０１〜Ｓ５０６と同様なので、説明を省略する。
【００３７】
アプリケーションリソース宣言ファイルの中にＳｕｂｓｔｉｔｕｔｉｏｎＩＤ（４１３）があるか否かを判定し（Ｓ５０２）、ＳｕｂｓｔｉｔｕｔｉｏｎＩＤに対応する置換アプリケーションが有効状態の際に、Ｓ５０７へ進む。
【００３８】
Ｓ５０７では、置換アプリケーションがシステムアプリケーションか否かを判定する。
システムアプリケーションは、画像形成装置内に予めインストールされており、システム内部で使用されるアプリケーションや、ユーザーに向けてプリインストールされているアプリケーションである。システムアプリケーションはシステム内部に深くかかわることから、システムアプリケーションの停止方法や、アンインストール方法は、一般ユーザーに伝えられることは少ない。また、システムアプリケーションは、画像形成装置内で後から追加する一般アプリケーションと分けられている管理されていることがある。一般に組み込みのアプリケーションのシステムにおいては、使用できるリソース量は限られている。そのため、まずはシステムアプリケーションように必要なリソース量を確保しておき、後から追加する一般アプリケーション用に割り当てられるリソース量を決めるといったことが行われている。
【００３９】
置換アプリケーションがシステムアプリケーションではないと判定された場合は、置換アプリケーションの停止処理（Ｓ５０４）へと進み、前述の実施例一と同様の処理を行う。
置換アプリケーションがシステムアプリケーションであると判定された場合は、Ｓ５０８にて、置換アプリケーションの停止処理を行う。アプリケーションの停止処理はＳ５０４と同様に進められ、置換アプリケーションを停止する際に、置換アプリケーションのアプリケーションリソース宣言ファイルから、置換アプリケーションが動作するのに必要としていたリソース量を取得する。
【００４０】
そして、Ｓ５０９にて、アプリケーション管理フレームワークは、該取得したリソース量を、前述のシステムアプリケーションが使用できるリソース量から減算し、一般アプリケーションが使用できるリソース量に加算する（システム領域の変更を行う）。この処理により、一般アプリケーションが使用できるリソース量を増やすことができ、さらに多くの一般アプリケーションを追加することが可能となる。そして、Ｓ５１０へ進み、Ｓ５０５と同様に置換アプリケーションの起動用のショートカット（アイコン）を作成し、アプリケーションのインストール（Ｓ５０６）を行い、本フローチャートを終了する。
本実施例により、予めインストールされていたアプリケーションを、置換アプリケーションとして停止処理を行い、システムアプリケーションの領域を減算できるような仕組みを提供することが可能となる。
【００４１】
＜変形例２＞
図７は、置換アプリケーションのショートカットアイコン押下時の動作の変形例のフローチャートである。尚、Ｓ６０１〜Ｓ６０４は、図６のＳ６０１〜Ｓ６０４と同様なので、説明を省略する。
【００４２】
Ｓ６０３にて、置換アプリケーションを起動できるリソース量がないと判定した場合、Ｓ７０５にて、置換アプリケーションの代わりにインストールを行ったアプリケーションに対して、Ｓ５０４と同様にアプリケーション停止処理を行う。該アプリケーションの停止処理により、該アプリケーションの動作のために確保されていたリソース量を一時的に開放することが可能となる。そして、アプリケーション管理フレームワークは、システム内のリソース量を再計測し、置換アプリケーションが動作するために必要なリソース量を確保できるか否かの再判定を行う（Ｓ７０６）。置換アプリケーションに必要なリソース量を確保出来ると判定した場合は、置換アプリケーションの起動を行う（Ｓ６０４）。システム内のリソース量を再計測しても、置換アプリケーションを動作させるためのリソース量が確保できないと判定した場合は、置換アプリケーションを起動できない旨のエラーメッセージを表示する。そして、アプリケーション管理フレームワークはＳ７０５にて停止したアプリケーションを再度、起動開始し（Ｓ７０８）、本フローチャートを終了する。
【００４３】
図７のフローチャートのように、一時的にでも置換アプリケーションの代わりにインストールしたアプリケーションを停止して、リソース量の確保を試みる。こうすることで、一度は動作させられないと判定したアプリケーションも、起動させることできるようになる。
【００４４】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2018088023.tif 000003
【図２】
2018088023.tif 000004
【図３】
2018088023.tif 000005
【図４】
2018088023.tif 000006
【図５】
2018088023.tif 000007
【図６】
2018088023.tif 000008
【図７】
2018088023.tif 000009