(57)【要約】【課題】応用プログラムがインストール又は起動するか否かをより正確に判断することができる情報処理装置等を提供する。【解決手段】動作している応用プログラムおよび動作させたい応用プログラムについて、複数の動作モード毎に使用するリソース量を取得する応用プログラム情報取得部と、応用プログラム情報取得部により取得したリソース量を基にして、動作させたい応用プログラムがインストール又は起動可能か否かを判断する動作判断部と、を備え、動作判断部の結果に基づいて動作させたい応用プログラムをインストール又は起動させることを特徴とする画像形成装置１０。【選択図】図１
2014075768.tif 000002
【特許請求の範囲】
【請求項１】
動作している応用プログラムおよび動作させたい応用プログラムについて、複数の動作モード毎に使用するリソース量を取得する応用プログラム情報取得部と、
前記応用プログラム情報取得部により取得した前記リソース量を基にして、動作させたい応用プログラムがインストール又は起動可能か否かを判断する動作判断部と、
を備え、
前記動作判断部の結果に基づいて前記動作させたい応用プログラムをインストール又は起動させることを特徴とする情報処理装置。
【請求項２】
自装置のリソース量を取得するリソース情報取得部をさらに備え、
前記動作判断部は、前記応用プログラムの前記動作モード毎に使用するリソース量の最大値と前記リソース情報取得部で取得した値との比較に基づいて、前記動作させたい応用プログラムをインストール又は起動可能か否かを判断することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記動作判断部は、各動作モードにおいて、動作可能なプログラムの数だけ、前記応用プログラムのリソース量のうち上位の使用量を合算した値が、前記リソース情報取得部で取得した値以下である場合に、前記動作させたい応用プログラムをインストール又は起動可能と判断することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
自装置の操作を行なう操作部と、
自装置を動作させるための応用プログラムについて、前記操作部を使用して動作するときと当該操作部を使用しないで動作するときとで必要なリソース量を取得し、取得した当該リソース量を基にして当該応用プログラムがインストール又は起動可能か否かを判断する動作判断部と、
を備えることを特徴とする情報処理装置。
【請求項５】
前記動作判断部は、新たな応用プログラムをインストールするときに前記応用プログラムが動作するか否かを判断し、当該新たな応用プログラムをインストールするか否かを決定することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記動作判断部は、前記応用プログラムの各々が前記操作部を使用して動作するときに使用するリソース量のうち最大値と、全ての応用プログラムが前記操作部を使用しないで動作するときに使用するリソース量との総計が、装置で使用可能なリソース量以下である場合に、当該応用プログラムがインストール又は起動可能と判断することを特徴とする請求項４または５に記載の情報処理装置。
【請求項７】
前記リソース量は、前記応用プログラムを記憶する記憶部の使用量であることを特徴とする請求項４乃至６の何れか１項に記載の情報処理装置。
【請求項８】
情報処理装置に新たな応用プログラムをインストールする際に、当該新たな応用プログラムおよび当該情報処理装置に既にインストールされている応用プログラムについて、使用者が当該情報処理装置の操作を行なう操作部を使用して動作するときと当該操作部を使用しないで動作するときとで必要なリソース量を取得するリソース情報取得部と、
取得した前記リソース量を基にして、前記新たな応用プログラムおよび前記情報処理装置に既にインストールされている応用プログラムが動作するか否かを判断する動作判断部と、
を備えることを特徴とする応用プログラム導入装置。
【請求項９】
コンピュータに、
動作している応用プログラムおよび動作させたい応用プログラムについて、複数の動作モード毎に使用するリソース量を取得する応用プログラム情報取得機能と、
取得した前記リソース量を基にして、動作させたい応用プログラムがインストール又は起動可能か否かを判断する動作判断機能と、
を実現させ、
前記動作判断機能の結果に基づいて前記動作させたい応用プログラムをインストール又は起動させることを特徴とするプログラム。
【請求項１０】
自装置のリソース量を取得するリソース情報取得機能をさらに備え、
前記動作判断機能は、前記応用プログラムの前記動作モード毎に使用するリソース量の最大値と前記リソース情報取得機能で取得した値との比較に基づいて、前記動作させたい応用プログラムをインストール又は起動可能か否かを判断することを特徴とする請求項９に記載のプログラム。
【請求項１１】
コンピュータに、
情報処理装置を動作させるための応用プログラムについて、操作部を使用して動作するときと当該操作部を使用しないで動作するときとで必要なリソース量を取得する機能と、
取得した当該リソース量を基にして前記応用プログラムがインストール又は起動可能か否かを判断する機能と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、応用プログラム導入装置、プログラムに関する。
【背景技術】
【０００２】
特許文献１には、アプリケーションをインストール可能に構成された画像形成装置において、アプリケーションを画像形成装置にインストールすることが可能か否かを判断するために使用されるアプリケーション情報の取得を行うアプリケーション情報取得手段を備えるものが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１１８６６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
情報処理装置の応用プログラムが複数同時に動作した場合、動作する応用プログラムに必要なリソース量は、その動作条件により変化する。そのため上記判定方法を実施する場合、本来動作可能なアプリケーションプログラムのインストール又は起動まで阻害する。
このような事態を抑制するため、応用プログラムが動作するか否かを予め判断できることが望ましい。
【課題を解決するための手段】
【０００５】
請求項１に記載の発明は、動作している応用プログラムおよび動作させたい応用プログラムについて、複数の動作モード毎に使用するリソース量を取得する応用プログラム情報取得部と、前記応用プログラム情報取得部により取得した前記リソース量を基にして、動作させたい応用プログラムがインストール又は起動可能か否かを判断する動作判断部と、を備え、前記動作判断部の結果に基づいて前記動作させたい応用プログラムをインストール又は起動させることを特徴とする情報処理装置である。
【０００６】
請求項２に記載の発明は、自装置のリソース量を取得するリソース情報取得部をさらに備え、前記動作判断部は、前記応用プログラムの前記動作モード毎に使用するリソース量の最大値と前記リソース情報取得部で取得した値との比較に基づいて、前記動作させたい応用プログラムをインストール又は起動可能か否かを判断することを特徴とする請求項１に記載の情報処理装置である。
請求項３に記載の発明は、前記動作判断部は、各動作モードにおいて、動作可能なプログラムの数だけ、前記応用プログラムのリソース量のうち上位の使用量を合算した値が、前記リソース情報取得部で取得した値以下である場合に、前記動作させたい応用プログラムをインストール又は起動可能と判断することを特徴とする請求項２に記載の情報処理装置である。
【０００７】
請求項４に記載の発明は、自装置の操作を行なう操作部と、自装置を動作させるための応用プログラムについて、前記操作部を使用して動作するときと当該操作部を使用しないで動作するときとで必要なリソース量を取得し、取得した当該リソース量を基にして当該応用プログラムがインストール又は起動可能か否かを判断する動作判断部と、を備えることを特徴とする情報処理装置である。
【０００８】
請求項５に記載の発明は、前記動作判断部は、新たな応用プログラムをインストールするときに前記応用プログラムが動作するか否かを判断し、当該新たな応用プログラムをインストールするか否かを決定することを特徴とする請求項４に記載の情報処理装置である。
請求項６に記載の発明は、前記動作判断部は、前記応用プログラムの各々が前記操作部を使用して動作するときに使用するリソース量のうち最大値と、全ての応用プログラムが前記操作部を使用しないで動作するときに使用するリソース量との総計が、装置で使用可能なリソース量以下である場合に、当該応用プログラムがインストール又は起動可能と判断することを特徴とする請求項４または５に記載の情報処理装置である。
請求項７に記載の発明は、前記リソース量は、前記応用プログラムを記憶する記憶部の使用量であることを特徴とする請求項４乃至６の何れか１項に記載の情報処理装置である。
【０００９】
請求項８に記載の発明は、情報処理装置に新たな応用プログラムをインストールする際に、当該新たな応用プログラムおよび当該情報処理装置に既にインストールされている応用プログラムについて、使用者が当該情報処理装置の操作を行なう操作部を使用して動作するときと当該操作部を使用しないで動作するときとで必要なリソース量を取得するリソース情報取得部と、取得した前記リソース量を基にして、前記新たな応用プログラムおよび前記情報処理装置に既にインストールされている応用プログラムが動作するか否かを判断する動作判断部と、を備えることを特徴とする応用プログラム導入装置である。
【００１０】
請求項９に記載の発明は、コンピュータに、動作している応用プログラムおよび動作させたい応用プログラムについて、複数の動作モード毎に使用するリソース量を取得する応用プログラム情報取得機能と、取得した前記リソース量を基にして、動作させたい応用プログラムがインストール又は起動可能か否かを判断する動作判断機能と、を実現させ、前記動作判断機能の結果に基づいて前記動作させたい応用プログラムをインストール又は起動させることを特徴とするプログラムである。
【００１１】
請求項１０に記載の発明は、自装置のリソース量を取得するリソース情報取得機能をさらに備え、前記動作判断機能は、前記応用プログラムの前記動作モード毎に使用するリソース量の最大値と前記リソース情報取得機能で取得した値との比較に基づいて、前記動作させたい応用プログラムをインストール又は起動可能か否かを判断することを特徴とする請求項９に記載のプログラムである。
【００１２】
請求項１１に記載の発明は、コンピュータに、情報処理装置を動作させるための応用プログラムについて、操作部を使用して動作するときと当該操作部を使用しないで動作するときとで必要なリソース量を取得する機能と、取得した当該リソース量を基にして前記応用プログラムがインストール又は起動可能か否かを判断する機能と、を実現させるプログラムである。
【発明の効果】
【００１３】
請求項１の発明によれば、本構成を採用しない場合に比較して、応用プログラムがインストール又は起動するか否かをより正確に判断することができる情報処理装置が提供できる。
請求項２の発明によれば、自装置のリソース量を基準にして応用プログラムがインストール又は起動するかを判断することができる。
請求項３の発明によれば、本構成を採用しない場合に比較して、より容易な手法で応用プログラムがインストール又は起動するか否かを判断することができる。
請求項４の発明によれば、本構成を採用しない場合に比較して、操作部を使用して動作するときと操作部を使用しないで動作するときとで必要なリソース量を基にすることで、応用プログラムがインストール又は起動するか否かをより正確に判断することができる情報処理装置が提供できる。
請求項５の発明によれば、本構成を採用しない場合に比較して、新たな応用プログラムを導入した後に、応用プログラムがインストール又は起動しない場合が生じるのを抑制することができる。
請求項６の発明によれば、本構成を採用しない場合に比較して、より容易な手法で応用プログラムがインストール又は起動するか否かを判断することができる。
請求項７の発明によれば、リソース量が不足しやすいリソースである記憶部を基準にして応用プログラムがインストール又は起動するか否かを判断することができる。
請求項８の発明によれば、本構成を採用しない場合に比較して、情報処理装置において応用プログラムがインストール又は起動するか否かをより正確に判断することができる応用プログラム導入装置が提供できる。
請求項９の発明によれば、本構成を採用しない場合に比較して、応用プログラムがインストール又は起動するか否かをより正確に判断することができる機能をコンピュータにより実現できる。
請求項１０の発明によれば、自装置のリソース量を基準にして応用プログラムがインストール又は起動するかを判断することができる機能をコンピュータにより実現できる。
請求項１１の発明によれば、本構成を採用しない場合に比較して、操作部を使用して動作するときと操作部を使用しないで動作するときとで必要なリソース量を基にすることで、応用プログラムがインストール又は起動するか否かをより正確に判断することができる機能をコンピュータにより実現できる。
【図面の簡単な説明】
【００１４】
【図１】本実施の形態の情報処理装置の一例である画像形成装置のハードウェア構成例を示した図である。
【図２】第１の実施の形態における動作判断部の機能構成例を示したブロック図である。
【図３】第１の実施の形態における動作判断部の動作例を示したフローチャートである。
【図４】第２の実施の形態における動作判断部の機能構成例を示したブロック図である。
【図５】第２の実施の形態における動作判断部の動作例を示したフローチャートである。
【図６】第３の実施の形態における動作判断部の機能構成例を示したブロック図である。
【図７】第３の実施の形態における動作判断部の動作例を示したフローチャートである。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
【００１６】
図１は、本実施の形態の情報処理装置の一例である画像形成装置のハードウェア構成例を示した図である。
図示するように、画像形成装置１０は、ＣＰＵ１１と、ＲＡＭ（Random Access Memory）１２と、ＲＯＭ（Read Only Memory）１３と、ＨＤＤ（Hard Disk Drive）１４と、操作パネル１５と、画像読取部１６と、画像形成部１７と、通信Ｉ／Ｆ１８とを備える。
【００１７】
ＣＰＵ１１は、ＲＯＭ１３、ＨＤＤ１４等に記憶された各種アプリケーションプログラム（応用プログラム）をＲＡＭ１２にロードして実行することにより、画像形成装置１０が有するコピー機能やファクシミリ機能等の各機能を実現する。
ＲＡＭ１２は、ＣＰＵ１１の作業用メモリ等として用いられるメモリである。本実施の形態では、ＲＡＭ１２は、アプリケーションプログラムを記憶する記憶部として機能する。
ＲＯＭ１３は、ＣＰＵ１１が実行する各種プログラム等を記憶するメモリである。
ＨＤＤ１４は、画像読取部１６が読み取った画像データや画像形成部１７における画像形成にて用いる画像データ等を記憶する例えば磁気ディスク装置である。本実施の形態では、ＣＰＵ１１によりアプリケーションプログラムのインストール（導入）が行なわれると、ＨＤＤ１４にこのアプリケーションプログラムが記憶される。
詳しくは後述するが、本実施の形態では、ＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、ＨＤＤ１４は、画像形成装置１０を動作させるためのアプリケーションプログラムについて、動作しているアプリケーションプログラムおよび動作させたいアプリケーションプログラムについて、複数の動作モード毎に使用する必要なリソース量を取得する応用プログラム情報取得部として機能する。また取得したリソース量を基にして、アプリケーションプログラムが動作するか否かを判断する動作判断部として機能する。取得するリソース量は、例えば、操作パネル１５を使用して動作するときと操作パネル１５を使用しないで動作するときに必要なリソース量である。
【００１８】
操作パネル１５は、各種情報の表示やユーザからの操作入力の受付を行う例えばタッチパネルである。本実施の形態では、操作パネル１５は、自装置の操作を行なう操作部として機能する。
画像読取部１６は、画像情報を読み取る画像情報読み取り手段の一例であり、紙等の記録媒体に記録された画像を読み取る。ここで、画像読取部１６は、例えばスキャナであり、光源から原稿に照射した光に対する反射光をレンズで縮小してＣＣＤ(Charge Coupled Devices)で受光するＣＣＤ方式や、ＬＥＤ光源から原稿に順に照射した光に対する反射光をＣＩＳ(Contact Image Sensor)で受光するＣＩＳ方式のものを用いるとよい。
【００１９】
画像形成部１７は、記録媒体（記録材、用紙）に画像の形成を行なう印刷機構の一例である。ここで、画像形成部１７は、例えばプリンタであり、感光体に付着させたトナーを記録媒体に転写して像を形成する電子写真方式や、インクを記録媒体上に吐出して像を形成するインクジェット方式のものを用いるとよい。
通信Ｉ／Ｆ１８は、直接またはネットワークを介して他の装置との間で各種情報の送受信を行う。ここでネットワークは、例えば、ＬＡＮ（Local Area Network）やインターネットである。
【００２０】
ここで近年、組み込み機器である画像形成装置１０に対しても、アプリケーションプログラムを追加インストールする仕組みが導入され始めている。アプリケーションプログラムを追加インストールすることで、画像形成装置１０の機能を後から拡張することができる。この機能は、例えば、ユーザを認証する認証機能や、外部Ｗｅｂサービスにアクセスする機能などである。
しかし複数のアプリケーションを使用する場合、組み込み機器ゆえにＲＡＭ１２等のリソース上の制約からアプリケーションプログラムが動作しない場合がある。またアプリケーションプログラムを起動（動作）させることで、メモリ不足が生じて画像形成装置１０の動作が不安定になり、画像形成装置１０の本来の機能であるコピー機能やファクシミリ機能等の動作に影響を与える場合がある。
【００２１】
そこで本実施の形態では、アプリケーションプログラムの動作モードによって、画像形成装置１０で使用するＲＡＭ１２のリソース量が大きく変化することに着目し、以下の方法により上記問題が生じるのを抑制し、ユーザの利便性の向上を図っている。動作モードとしては、例えば、アプリケーションプログラムが操作パネル１５を使用して動作する場合と操作パネル１５を使用せずにバックグラウンドで動作する場合とのように機能差によるモードや、アプリケーションの処理速度が高速の場合、通常の場合、低速の場合のように処理速度（動作速度）差によるモード等がある。ここで本実施の形態では、動作判断部が、アプリケーションプログラムをインストールするか否かを決定する。
【００２２】
［第１の実施の形態］
図２は、第１の実施の形態における動作判断部の機能構成例を示したブロック図である。ここで図２では、動作判断部が有する種々の機能のうちアプリケーションプログラムをインストールするか否かを決定する機能に関する部分について図示している。
図示するように動作判断部は、追加のアプリケーションプログラム（新たなアプリケーションプログラム）をインストールする要求を受け付けるインストール受付部１０１と、画像形成装置１０のリソース情報を取得するリソース情報取得部１０２と、既にインストールされている各アプリケーションプログラムおよび追加のアプリケーションプログラムに関する情報を取得するアプリケーションプログラム情報取得部１０３と、画像形成装置１０のリソース情報とアプリケーションプログラムに関する情報を基にして、アプリケーションプログラムが動作するか否かを判断し、追加のアプリケーションプログラムをインストールするか否かを決定する判断部１０４と、判断部１０４により決定された決定結果を送信する判断結果送信部１０５と、インストールが可能であると判断された場合にインストール処理を実行するインストール実行部１０６とを備える。
【００２３】
次に、第１の実施の形態における動作判断部の動作について説明する。
図３は、第１の実施の形態における動作判断部の動作例を示したフローチャートである。
以下、図２、図３を使用して第１の実施の形態における動作判断部の動作の説明を行なう。
【００２４】
ここでは、アプリケーションプログラムの動作モードが３つあり、各動作モード（それぞれ動作モード１、動作モード２、動作モード３とする）で同時に動作可能なアプリケーションプログラムの数が、動作モード１では２つ、動作モード２では３つ、動作モード３では数に制限が無い、という場合について例示して説明する。なお、１つのアプリケーションプログラムが同時に複数動作する場合はないものとする。このような動作モードの例としては、アプリケーションプログラムの処理速度が、高速で動作する場合（動作モード１）、通常の速度で動作する場合（動作モード２）、低速で動作する場合（動作モード３）のような場合である。一般にＲＡＭ１２等のリソースの使用量を多くするほど、処理速度は速くなる。また、ＲＡＭ１２等のリソース資源が限られていることから、上位のモード（より高速のモード）で動作するアプリケーションプログラムの数は少なく制限される。
【００２５】
今、アプリケーションプログラムＢ、アプリケーションプログラムＣ、アプリケーションプログラムＤ、アプリケーションプログラムＥ、アプリケーションプログラムＦ、アプリケーションプログラムＧ、アプリケーションプログラムＨ（以下、それぞれ「アプリＢ」、「アプリＣ」、「アプリＤ」、「アプリＥ」、「アプリＦ」、「アプリＧ」、「アプリＨ」と言う）がインストール済みであり、アプリケーションプログラムＡ（以下、「アプリＡ」と言う）を追加してインストールする場合について例示する。なお以下、それぞれのアプリケーションプログラムを区別しないときは、単に「アプリ」と言うことがある。
【００２６】
まずインストール受付部１０１が、インストーラから追加したいアプリＡをインストールする要求を受け付ける（ステップ３０１）。このときインストール受付部１０１は、アプリＡのインストールの要求とともにアプリＡの実行ファイルと定義ファイルを受け取る。このインストーラは、本実施の形態では、通信Ｉ／Ｆ１８（図１参照）に接続されるパーソナルコンピュータ（ＰＣ）等の外部装置で動作するプログラムである。ただし画像形成装置１０で動作するアプリの１つとすることもできる。
【００２７】
次にリソース情報取得部１０２が、画像形成装置１０においてアプリを動作させるためのリソース情報を取得する（ステップ３０２）。具体的には、リソース情報としてリソース情報取得部１０２は、アプリケーションフレームワークバージョン（以下、「ＦＷ−ｖｅｒ」と記載する）を取得する。またリソース情報取得部１０２は、さらに画像形成装置１０のＲＡＭ１２においてアプリを動作させるために使用できる最大のメモリサイズ（以下、「ＦＷ−ｍｅｍ」と記載する）を取得する。つまり、「ＦＷ−ｍｅｍ」は、アプリＡのインストール要求があったときにアプリを動作させるために用意できる最大のメモリサイズである。
【００２８】
そしてアプリケーションプログラム情報取得部１０３が、アプリＡの情報を取得する（ステップ３０３）。具体的には、アプリＡの情報として、アプリケーションプログラム情報取得部１０３は、アプリＡの定義ファイルからアプリＡが動作可能なアプリケーションフレームワークバージョン（以下、「Ａ−ｅｎａｂｌｅＦＷ−ｖｅｒ」と記載する）を取得する。さらにアプリケーションプログラム情報取得部１０３は、アプリＡの定義ファイルから、アプリＡの各動作モードでのＲＡＭ１２の使用量を取得する。
【００２９】
次に判断部１０４が、「ＦＷ−ｖｅｒ」と「Ａ−ｅｎａｂｌｅＦＷ−ｖｅｒ」とを比較し、アプリＡが動作可能なバージョンであるか否かを判断する（ステップ３０４）。具体的には、「ＦＷ−ｖｅｒ」≧「Ａ−ｅｎａｂｌｅＦＷ−ｖｅｒ」であるか否かを判断する。
【００３０】
そして「ＦＷ−ｖｅｒ」＜「Ａ−ｅｎａｂｌｅＦＷ−ｖｅｒ」であった場合（アプリＡが動作可能なバージョンでない場合）（ステップ３０４でＮｏ）、判断部１０４は、アプリＡがインストール不可であると決定し、インストーラに対し、判断結果送信部１０５を通じ、アプリＡがインストール不可である旨を送信する（ステップ３０５）。
【００３１】
一方、「ＦＷ−ｖｅｒ」≧「Ａ−ｅｎａｂｌｅＦＷ−ｖｅｒ」であった場合（アプリＡが動作可能なバージョンである場合）（ステップ３０４でＹｅｓ）、アプリケーションプログラム情報取得部１０３は、インストール済みのアプリの情報を取得する（ステップ３０６）。具体的には、アプリケーションプログラム情報取得部１０３は、インストール済みのアプリＢ、アプリＣ、アプリＤ、アプリＥ、アプリＦ、アプリＧ、アプリＨについてそれぞれの定義ファイルを取得し、各アプリの各動作モードでのＲＡＭ１２の最大使用量を取得する。ＲＡＭ１２での最大使用量とは、アプリが各動作モードで動作している間のメモリ消費量のうち予想される最大値（ピーク値）のことである。
【００３２】
そして判断部１０４は、取得した各アプリの情報を基にして、アプリＡがインストール可能であるか否かを判断する（ステップ３０７）。
より具体的には、以下の処理を行なう。
【００３３】
まずアプリＡを含めた全てのアプリについて、ＲＡＭ１２の最大使用量が多い上位のものを各動作モードにおいて予め定められた数だけ選択し、そして選択されたアプリの各動作モードにおけるＲＡＭ１２の最大使用量の合計値を算出する。
【００３４】
これにはまず動作モード１でのＲＡＭ１２の最大使用量が多い上位２つのアプリについて、ＲＡＭ１２の最大使用量の合計値を算出する。即ちこの場合、ＲＡＭ１２の最大使用量が多い上位のアプリを動作モード１において動作可能な数だけ選択し、そして選択されたアプリの動作モード１におけるＲＡＭ１２の最大使用量の合計値を算出する。
今、アプリＢとアプリＣの動作モード１でのＲＡＭ１２の最大使用量が、それぞれ「Ｂ−ｍｅｍ−ｍｏｄｅ１」と「Ｃ−ｍｅｍ−ｍｏｄｅ１」で、これらが上位２つであった場合、合計値である「Ｂ−ｍｅｍ−ｍｏｄｅ１」＋「Ｃ−ｍｅｍ−ｍｏｄｅ１」を「Ｍａｘ−ｍｅｍ−ｍｏｄｅ１」とする。
【００３５】
次に動作モード２について、動作モード２でのＲＡＭ１２の最大使用量が多い上位３つ（動作モード２で動作可能なアプリの数）のアプリについて、ＲＡＭ１２の最大使用量の合計値を算出する。
今、アプリＡとアプリＢ、それにアプリＥが動作モード２での上位３つであった場合は、それらの合計値を、「Ｍａｘ−ｍｅｍ−ｍｏｄｅ２」（＝「Ａ−ｍｅｍ−ｍｏｄｅ２」＋「Ｂ−ｍｅｍ−ｍｏｄｅ２」＋「Ｅ−ｍｅｍ−ｍｏｄｅ２」）とする。
【００３６】
次に動作モード３について、ＲＡＭ１２の最大使用量が多いアプリを全てのアプリの数から動作モード１と動作モード２で動作できるアプリの数を引いた数だけ選択し、これらのアプリについて、ＲＡＭ１２の最大使用量の合計値を算出する。今の例の場合、全アプリの数が８つで、動作モード１で動作できるアプリの数が２つ、動作モード２では３つであるので、選択するアプリの数は、８−（２＋３）＝３となる。よって動作モード３でのＲＡＭ１２の最大使用量が多い上位３つのアプリについて、ＲＡＭ１２の最大使用量を合算する。今、アプリＡとアプリＢとアプリＥが上位の３つであった場合は、それらの合計値を「Ｍａｘ−ｍｅｍ−ｍｏｄｅ３」（＝「Ａ−ｍｅｍ−ｍｏｄｅ３」＋「Ｂ−ｍｅｍ−ｍｏｄｅ３」＋「Ｅ−ｍｅｍ−ｍｏｄｅ３」)とする。
【００３７】
そして、算出された「Ｍａｘ−ｍｅｍ−ｍｏｄｅ１」、「Ｍａｘ−ｍｅｍ−ｍｏｄｅ２」、「Ｍａｘ−ｍｅｍ−ｍｏｄｅ３」を基に、アプリＡがインストール可能であるか否かを判断する。
具体的には、各動作モードで動作する最大のＲＡＭ１２の使用量の合計がＦＷ−ｍｅｍ以下であるかを判断する。即ち、「Ｍａｘ−ｍｅｍ−ｍｏｄｅ１」＋「Ｍａｘ−ｍｅｍ−ｍｏｄｅ２」＋「Ｍａｘ−ｍｅｍ−ｍｏｄｅ３」≦「ＦＷ−ｍｅｍ」であるか否かを判断する。
【００３８】
そして「Ｍａｘ−ｍｅｍ−ｍｏｄｅ１」＋「Ｍａｘ−ｍｅｍ−ｍｏｄｅ２」＋「Ｍａｘ−ｍｅｍ−ｍｏｄｅ３」≦「ＦＷ−ｍｅｍ」であった場合（インストール可能である場合）（ステップ３０７でＹｅｓ）、判断部１０４は、アプリＡがインストール可能であると決定し、インストール実行部１０６がアプリＡのインストール処理を行なう（ステップ３０８）。そしてインストール処理が終了すると、インストーラに対し、判断結果送信部１０５を通じ、アプリＡのインストールが終了した旨を送信する（ステップ３０９）。
【００３９】
一方、「Ｍａｘ−ｍｅｍ−ｍｏｄｅ１」＋「Ｍａｘ−ｍｅｍ−ｍｏｄｅ２」＋「Ｍａｘ−ｍｅｍ−ｍｏｄｅ３」＞「ＦＷ−ｍｅｍ」であった場合（インストール不可である場合）（ステップ３０７でＮｏ）、判断部１０４は、アプリＡがインストール不可であると決定し、インストーラに対し、判断結果送信部１０５を通じ、アプリＡがインストール不可である旨を送信する（ステップ３０５）。
【００４０】
なお上述した場合は動作モードが３つの場合であったが、動作モードがそれ以上存在する場合でも同様な方法で判断することができる。
【００４１】
［第２の実施の形態］
第２の実施の形態では、アプリの動作モードとして動作モード１と動作モード２があり、１つのアプリが動作モード１で動作するときには、他のアプリは、動作モード２でしか動作できないものとする。ただし、１つのアプリは複数の動作モードで同時に動作するものとする。つまり、１つのアプリが動作モード１と動作モード２で同時に動く場合もあるとする。このような動作モードの一例として、以下ではアプリが、操作パネル１５を使用して動作するとき（動作モード１）と、使用しないでバックグラウンドで動作するとき（動作モード２）、という例で説明する。操作パネル１５が１つであることから、操作パネル１５を使用した動作モード１のアプリは１つしか動作しない。また、各動作モードでの使用最大メモリ量が各アプリの定義ファイルに記述されているものとする。
【００４２】
以下、第２の実施の形態における動作判断部の動作について説明する。
なお第２の実施の形態における動作判断部の機能構成は、図２の場合と同様である。また第２の実施の形態における動作判断部の動作例についても図３と同様である。
以下、図２、図３を使用して第２の実施の形態における動作判断部の動作の説明を行なう。
【００４３】
第２の実施の形態において、ステップ３０１〜３０５は、第１の実施の形態と同様である。なおステップ３０３において、アプリケーションプログラム情報取得部１０３は、アプリＡの定義ファイルから、アプリＡの各動作モードでのＲＡＭ１２の使用量を取得する。このとき取得するＲＡＭ１２の使用量は、アプリＡが、操作パネル１５を使用して動作するときのＲＡＭ１２の使用量（以下、「Ａ−ｍｅｍ−ｆｕｌｌ」と記載する）と、操作パネル１５を使用しないで動作するとき（バックグラウンドで動作するとき）のＲＡＭ１２の使用量（以下、「Ａ−ｍｅｍ−ｌｉｍｉｔｅｄ」と記載する）である。
【００４４】
以下、ステップ３０６以降の処理について説明を行なう。
「ＦＷ−ｖｅｒ」≧「Ａ−ｅｎａｂｌｅＦＷ−ｖｅｒ」であった場合（アプリＡが動作可能なバージョンである場合、アプリケーションプログラム情報取得部１０３は、（ステップ３０４でＹｅｓ）、インストール済みのアプリの情報を取得する（ステップ３０６）。具体的には、アプリケーションプログラム情報取得部１０３は、既にインストールされている各アプリの定義ファイルを取得する。ここでは、既にインストールされているアプリとして「アプリＢ」、「アプリＣ」、「アプリＤ」の３つがあるとし、このアプリＢ、アプリＣ、アプリＤについての定義ファイルを取得する。
【００４５】
そしてアプリケーションプログラム情報取得部１０３は、取得した定義ファイルから既にインストールされている各アプリについて、操作パネル１５を使用して動作するときのＲＡＭ１２の使用量と、操作パネル１５を使用しないで動作するときのＲＡＭ１２の使用量を取得する。
ここでは、アプリＢ、アプリＣ、アプリＤについて、操作パネル１５を使用して動作するときのＲＡＭ１２の使用量をそれぞれ「Ｂ−ｍｅｍ−ｆｕｌｌ」、「Ｃ−ｍｅｍ−ｆｕｌｌ」、「Ｄ−ｍｅｍ−ｆｕｌｌ」とする。またアプリＢ、アプリＣ、アプリＤについて、操作パネル１５を使用しないで動作するときのＲＡＭ１２の使用量をそれぞれ「Ｂ−ｍｅｍ−ｌｉｍｉｔｅｄ」、「Ｃ−ｍｅｍ−ｌｉｍｉｔｅｄ」、「Ｄ−ｍｅｍ−ｌｉｍｉｔｅｄ」とする。
【００４６】
そして判断部１０４は、取得したアプリの情報を基にして、アプリＡがインストール可能であるか否かを判断する（ステップ３０７）。
より具体的には、以下の処理を行なう。
【００４７】
次に判断部１０４が、「Ａ−ｍｅｍ−ｆｕｌｌ」、「Ｂ−ｍｅｍ−ｆｕｌｌ」、「Ｃ−ｍｅｍ−ｆｕｌｌ」、「Ｄ−ｍｅｍ−ｆｕｌｌ」の中から最大のものを判断する。ここではこれを「ｍａｘ−ｍｅｍ−ｆｕｌｌ」とする。
【００４８】
判断部１０４は、「ｍａｘ−ｍｅｍ−ｆｕｌｌ」と、「Ａ−ｍｅｍ−ｌｉｍｉｔｅｄ」、「Ｂ−ｍｅｍ−ｌｉｍｉｔｅｄ」、「Ｃ−ｍｅｍ−ｌｉｍｉｔｅｄ」、「Ｄ−ｍｅｍ−ｌｉｍｉｔｅｄ」の総和が「ＦＷ−ｍｅｍ」以下である否かを判断する。即ち、「ｍａｘ−ｍｅｍ−ｆｕｌｌ」＋「Ａ−ｍｅｍ−ｌｉｍｉｔｅｄ」＋「Ｂ−ｍｅｍ−ｌｉｍｉｔｅｄ」＋「Ｃ−ｍｅｍ−ｌｉｍｉｔｅｄ」＋「Ｄ−ｍｅｍ−ｌｉｍｉｔｅｄ」≦「ＦＷ−ｍｅｍ」であるか否かを判断する。
【００４９】
そして「ｍａｘ−ｍｅｍ−ｆｕｌｌ」＋「Ａ−ｍｅｍ−ｌｉｍｉｔｅｄ」＋「Ｂ−ｍｅｍ−ｌｉｍｉｔｅｄ」＋「Ｃ−ｍｅｍ−ｌｉｍｉｔｅｄ」＋「Ｄ−ｍｅｍ−ｌｉｍｉｔｅｄ」≦「ＦＷ−ｍｅｍ」であった場合（インストール可能である場合）（ステップ３０７でＹｅｓ）、判断部１０４は、アプリＡがインストール可能であると決定し、インストール実行部１０６がアプリＡのインストール処理を行なう（ステップ３０８）。そしてインストール処理が終了すると、インストーラに対し、判断結果送信部１０５を通じ、アプリＡのインストールが終了した旨を送信する（ステップ３０９）。
【００５０】
一方、「ｍａｘ−ｍｅｍ−ｆｕｌｌ」＋「Ａ−ｍｅｍ−ｌｉｍｉｔｅｄ」＋「Ｂ−ｍｅｍ−ｌｉｍｉｔｅｄ」＋「Ｃ−ｍｅｍ−ｌｉｍｉｔｅｄ」＋「Ｄ−ｍｅｍ−ｌｉｍｉｔｅｄ」＞「ＦＷ−ｍｅｍ」であった場合（インストール不可である場合）（ステップ３０７でＮｏ）、判断部１０４は、アプリＡがインストール不可であると決定し、インストーラに対し、判断結果送信部１０５を通じ、アプリＡがインストール不可である旨を送信する（ステップ３０５）。
【００５１】
なおインストーラは、判断結果送信部１０５からアプリＡのインストールが終了した旨を受信したときは、ユーザに対し、アプリＡのインストールが成功したことを通知する。また判断結果送信部１０５からアプリＡがインストール不可である旨を受信したときは、ユーザに対し、アプリＡのインストールが失敗したことを通知する。またこの際に動作判断部からインストールが失敗した理由を取得し、この理由を併せてユーザに通知してもよい。
【００５２】
このように第２の実施の形態では、判断部１０４は、ステップ３０７において、アプリＡがＲＡＭ１２を使用する上で、動作可能であるかをチェックする。ここで操作パネル１５を使用して動作するアプリは、操作パネル１５が１つの場合、１つとなる。また他のアプリは、バックグラウンドで動作する。そして１つのアプリが動作するとき、この１つのアプリのＲＡＭ１２の使用量は、最大で、「ｍａｘ−ｍｅｍ−ｆｕｌｌ」となる。そしてその他の全てのアプリを、操作パネル１５を使用しないで動作（バックグラウンドで動作）させた場合でも、バックグラウンドで動作するアプリによるＲＡＭ１２の使用量は、「Ａ−ｍｅｍ−ｌｉｍｉｔｅｄ」＋「Ｂ−ｍｅｍ−ｌｉｍｉｔｅｄ」＋「Ｃ−ｍｅｍ−ｌｉｍｉｔｅｄ」＋「Ｄ−ｍｅｍ−ｌｉｍｉｔｅｄ」を超えることはない。即ち、これらの総計である「ｍａｘ−ｍｅｍ−ｆｕｌｌ」＋「Ａ−ｍｅｍ−ｌｉｍｉｔｅｄ」＋「Ｂ−ｍｅｍ−ｌｉｍｉｔｅｄ」＋「Ｃ−ｍｅｍ−ｌｉｍｉｔｅｄ」＋「Ｄ−ｍｅｍ−ｌｉｍｉｔｅｄ」が、「ＦＷ−ｍｅｍ」以下であれば、「アプリＡ」、「アプリＢ」、「アプリＣ」、「アプリＤ」を全て動作させたとしてもＲＡＭ１２に不足が生じることはない。
【００５３】
よって、「ｍａｘ−ｍｅｍ−ｆｕｌｌ」＋「Ａ−ｍｅｍ−ｌｉｍｉｔｅｄ」＋「Ｂ−ｍｅｍ−ｌｉｍｉｔｅｄ」＋「Ｃ−ｍｅｍ−ｌｉｍｉｔｅｄ」＋「Ｄ−ｍｅｍ−ｌｉｍｉｔｅｄ」≦「ＦＷ−ｍｅｍ」であれば、アプリＡを追加でインストールしてもＲＡＭ１２が不足し、アプリが動作しない状況が生じないことがわかる。
【００５４】
以上説明したように、動作判断部は、画像形成装置１０を動作させるためのアプリを動作させるために必要なリソース量に関する情報を取得する。そして動作判断部は、新たなアプリをインストールするときに、操作パネル１５を使用して動作するときと操作パネル１５を使用しないで動作するときのリソース量を基にして、アプリが動作するか否かを判断し、新たなアプリをインストールするか否かを決定する。
【００５５】
なおこのとき動作判断部は、アプリが操作パネル１５を使用して動作する場合と操作パネル１５を使用せずにバックグラウンドで動作する場合の例では、アプリの各々が操作パネル１５を使用して動作するときに使用するリソース量のうち最大値と、全てのアプリが操作パネル１５を使用しないで動作するときに使用するリソース量との総計が、画像形成装置１０で使用可能なリソース量以下である場合に、アプリが動作すると判断する。
【００５６】
［第３の実施の形態］
上述した例では、動作判断部において追加のアプリのインストールの可否を判断していたが、これに限られるものではなく、例えば、まずインストールを行い、その後、アプリを動作させるときに、アプリが動作できるか否かを判断してもよい。
図４は、第３の実施の形態における動作判断部の機能構成例を示したブロック図である。
図示するように本実施の形態の動作判断部は、アプリケーションプログラムを起動する要求を受け付ける起動要求受付部１０７と、画像形成装置１０のリソース情報を取得するリソース情報取得部１０２と、インストールされている各アプリケーションプログラムに関する情報を取得するアプリケーションプログラム情報取得部１０３と、画像形成装置１０のリソース情報とアプリケーションプログラムに関する情報を基にして、起動要求されたアプリケーションプログラムが動作するか否かを判断する判断部１０４と、判断部１０４により決定された決定結果を送信する判断結果送信部１０５とを備える。
図４の動作判断部の構成は、図２の動作判断部の構成に比較して、インストール実行部１０６がなく、またインストール受付部１０１の替わりに起動要求受付部１０７が存在する。
【００５７】
次に、第３の実施の形態における動作判断部の動作について説明する。
図５は、第３の実施の形態における動作判断部の動作例を示したフローチャートである。
以下、図４、図５を使用して第３の実施の形態における動作判断部の動作の説明を行なう。ここでは、アプリの動作モードとして、動作モード１、動作モード２、および動作モード３の３つがあり、各動作モードでアプリが動作可能な数として、動作モード１では１つ、動作モード２では２つ、動作モード３では数に制限が無い場合について例示して説明する。なお、１つのアプリは同時に複数動作する場合はないものとする。
【００５８】
まず起動要求受付部１０７が、既にインストールされているアプリの１つ（以下、「アプリＡ」と記載する）をどの動作モードで起動するかの要求を受け付ける（ステップ５０１）。ここでアプリＡは、動作モード２で動作するものとする。
【００５９】
次のステップ５０２〜ステップ５０４は、図３で説明したステップ３０２〜ステップ３０４と同様である。
【００６０】
またステップ５０５以降は、動作判断部は、以下のような処理を行なう。
「ＦＷ−ｖｅｒ」＜「Ａ−ｅｎａｂｌｅＦＷ−ｖｅｒ」であった場合（アプリＡが動作可能なバージョンでない場合）（ステップ５０４でＮｏ）、判断部１０４は、アプリＡが起動不可であると決定する。そして操作パネル１５に対し、判断結果送信部１０５を通じ、アプリＡが起動不可である旨を送信する（ステップ５０５）。
【００６１】
一方、「ＦＷ−ｖｅｒ」≧「Ａ−ｅｎａｂｌｅＦＷ−ｖｅｒ」であった場合（アプリＡが動作可能なバージョンである場合）（ステップ５０４でＹｅｓ）、アプリケーションプログラム情報取得部１０３は、既に起動済みの各アプリの情報を取得する（ステップ５０６）。具体的には、既に起動済みのアプリとして「アプリＢ」、「アプリＣ」、「アプリＤ」、「アプリＥ」、「アプリＦ」の５つがあるとし、さらにアプリＢは動作モード１で、アプリＣは動作モード２で、アプリＤ、アプリＥ、アプリＦは動作モード３で動作しているものとする。この場合、アプリケーションプログラム情報取得部１０３は、アプリＢ、アプリＣ、アプリＤ、アプリＥ、アプリＦについての定義ファイルを取得する。
【００６２】
そしてアプリケーションプログラム情報取得部１０３は、取得した定義ファイルから既に起動済みの各アプリについて、各動作モードでのＲＡＭ１２の最大使用量を取得する。
本実施の形態では、起動済みのアプリＢ、アプリＣ、アプリＤ、アプリＥ、アプリＦについて、動作している各動作モードでのＲＡＭ１２の最大使用量をそれぞれ取得する。ここでアプリＢの動作モード１での最大使用メモリ量を、「Ｂ−ｍｏｄｅ１−ｍｅｍ」とし、アプリＣの動作モード２での最大使用メモリ量を、「Ｃ−ｍｏｄｅ２−ｍｅｍ」とし、アプリＤ、アプリＥ、アプリＦの動作モード３での最大使用メモリ量を、それぞれ「Ｄ−ｍｏｄｅ３−ｍｅｍ」、「Ｅ−ｍｏｄｅ３−ｍｅｍ」、「Ｆ−ｍｏｄｅ３−ｍｅｍ」とする。
【００６３】
そして、上記のようにして取得したアプリＢ、アプリＣ、アプリＤ、アプリＥ、アプリＦのＲＡＭ１２の最大使用量とアプリＡの動作モード２でのＲＡＭ１２の最大使用量の合計が、アプリの動作可能最大メモリ量（ＦＷ−ｍｅｍ）以下か否かで起動可否を判断する（ステップ５０７）。即ち、図３で説明したステップ３０７と同様である。今の例だと、「Ａ−ｍｏｄｅ２−ｍｅｍ」＋「Ｂ−ｍｏｄｅ１−ｍｅｍ」＋「Ｃ−ｍｏｄｅ２−ｍｅｍ」＋「Ｄ−ｍｏｄｅ３−ｍｅｍ」＋「Ｅ−ｍｏｄｅ３−ｍｅｍ」＋「Ｆ−ｍｏｄｅ３−ｍｅｍ」≦「ＦＷ−ｍｅｍ」であるか否かで起動可否を判断する。また、動作モード２で動作しているアプリが既に２つあった場合は、起動不可と判断する。
【００６４】
そして「Ａ−ｍｏｄｅ２−ｍｅｍ」＋「Ｂ−ｍｏｄｅ１−ｍｅｍ」＋「Ｃ−ｍｏｄｅ２−ｍｅｍ」＋「Ｄ−ｍｏｄｅ３−ｍｅｍ」＋「Ｅ−ｍｏｄｅ３−ｍｅｍ」＋「Ｆ−ｍｏｄｅ３−ｍｅｍ」≦「ＦＷ−ｍｅｍ」の場合（起動可能である場合）（ステップ５０７でＹｅｓ）、判断部１０４は、アプリＡが起動可能であると決定し、アプリＡの起動が行なわれる（ステップ５０８）。そして起動が終了すると、操作パネル１５に対し、判断結果送信部１０５を通じ、アプリＡの起動が終了した旨を送信する（ステップ５０９）。
【００６５】
一方、「Ａ−ｍｏｄｅ２−ｍｅｍ」＋「Ｂ−ｍｏｄｅ１−ｍｅｍ」＋「Ｃ−ｍｏｄｅ２−ｍｅｍ」＋「Ｄ−ｍｏｄｅ３−ｍｅｍ」＋「Ｅ−ｍｏｄｅ３−ｍｅｍ」＋「Ｆ−ｍｏｄｅ３−ｍｅｍ」＞「ＦＷ−ｍｅｍ」であった場合（起動不可である場合）（ステップ５０７でＮｏ）、判断部１０４は、アプリＡが起動不可であると決定し、操作パネル１５に対し、判断結果送信部１０５を通じ、アプリＡが起動不可である旨を送信する（ステップ５０５）。
【００６６】
なお操作パネル１５は、判断結果送信部１０５からアプリＡの起動が完了した旨を受信したときは、ユーザに対し、アプリＡの起動が成功したことを通知表示する。また判断結果送信部１０５からアプリＡが起動不可である旨を受信したときは、ユーザに対し、アプリＡの起動が失敗したことを通知表示する。
【００６７】
なお上述した場合で、起動要求受付部１０７が、アプリを起動する要求を受け付けるのは、アプリの機能を有効にしたいときである。またユーザが操作パネル１５から特定のアプリの機能を使用する操作をした場合などもある。さらに画像形成部１７などの要求により特定のアプリの機能を使用したい場合などもある。
【００６８】
上記の例では、起動させるアプリＡの動作モードはアプリ起動時に決定しているものとしていたが、この限りではない。例えば、上位の動作モードから順に起動が可能かを試していくようなやり方をしても良い。その場合は、まず上位の動作モードである動作モード１で動作しているアプリが決められた数以下か否かを判断し、次に順次下位の動作モードで起動可能か否かを判断していき、最終的に起動可能な動作モードでメモリが足りているかを判断すれば良い。また、上位の動作モードでメモリ不足だった場合も、下位の動作モードで起動した場合はどうかを追加で判断するようなやり方をしても良い。このようなやり方は、動作モードが処理速度で決められているような場合に好適である。
【００６９】
［第４の実施の形態］
第１の実施の形態では、画像形成装置１０側において追加のアプリケーションプログラムのインストールの可否を判断していたが、これに限られるものではなく、例えば、インストーラの側で同様の判断を行なうこともできる。
図６は、第４の実施の形態における動作判断部の機能構成例を示したブロック図である。
図示するように本実施の形態のインストーラは、追加のアプリケーションプログラムをインストールする要求を送信するインストール要求部１０８と、画像形成装置１０のリソース情報を取得するリソース情報取得部１０２と、既にインストールされている各アプリケーションプログラムおよび追加のアプリケーションプログラムに関する情報を取得するアプリケーションプログラム情報取得部１０３と、画像形成装置１０のリソース情報とアプリケーションプログラムに関する情報を基にして、アプリケーションプログラムが動作するか否かを判断し、追加のアプリケーションプログラムをインストールするか否かを決定する判断部１０４と、判断部１０４により決定された決定結果を送信する判断結果送信部１０５とを備える。
図６の動作判断部の構成は、図２の動作判断部の構成に比較して、インストール実行部１０６がなく、またインストール受付部１０１の替わりにインストール要求部１０８が存在する。
【００７０】
次に、第４の実施の形態における動作判断部の動作について説明する。
図７は、第４の実施の形態におけるインストーラの動作例を示したフローチャートである。
以下、図６、図７を使用して第４の実施の形態における動作判断部の動作の説明を行なう。
【００７１】
まずインストール要求部１０８が、追加したいアプリ（以下、「アプリＡ」と記載する）をインストールする要求を画像形成装置１０に送信する（ステップ７０１）。
【００７２】
次のステップ７０２〜ステップ７０４は、図３で説明したステップ３０２〜ステップ３０４と同様である。ただし、ステップ７０２では、画像形成装置１０から「ＦＷ−ｖｅｒ」と「ＦＷ−ｍｅｍ」を取得する。またステップ７０３では、インストーラの中にあるアプリＡの定義ファイルから情報を取得する。
【００７３】
またステップ７０５以降は、インストーラは、以下のような処理を行なう。
「ＦＷ−ｖｅｒ」＜「Ａ−ｅｎａｂｌｅＦＷ−ｖｅｒ」であった場合（ステップ７０４でＮｏ）、判断部１０４は、アプリＡがインストール不可であると決定する（ステップ７０５）。
【００７４】
次のステップ７０６〜ステップ７０７は、図３で説明したステップ３０６〜ステップ３０７と同様である。ただし、ステップ７０６では、画像形成装置１０に対してインストール済みアプリの情報取得要求を行い、情報を取得する。
【００７５】
またステップ７０８以降は、インストーラは、以下のような処理を行なう。
インストール可であった場合（ステップ７０７でＹｅｓ）、判断部１０４は、アプリＡがインストール可能であると決定し、画像形成装置１０にアプリＡのインストール処理を要求する（ステップ７０８）。そして画像形成装置１０でインストール処理が終了すると、インストール要求の戻りとしてインストーラ側にインストール成功が通知される（ステップ７０９）。
【００７６】
一方、インストール不可であった場合（ステップ７０７でＮｏ）、判断部１０４は、アプリＡがインストール不可であると決定する（ステップ７０５）。
【００７７】
なおインストーラが動作するパーソナルコンピュータ等は、アプリＡのインストールが終了した旨を画像形成装置１０から受信したときは、ユーザに対し、アプリＡのインストールが完了したことを通知表示する。またインストーラが、アプリＡがインストール不可である旨を決定したときは、ユーザに対し、アプリＡのインストールが失敗したことを通知表示する。
【実施例】
【００７８】
なお本発明は、その要旨を越えない限りこれらの実施例により限定されるものではない。
【００７９】
（実施例１）
第２の実施の形態の場合と同様に、アプリＢ、アプリＣ、アプリＤが既にインストールされており、アプリＡを追加でインストールする場合を考える。
このとき、画像形成装置１０のＲＡＭ１２においてアプリを動作させることができる最大のメモリサイズである「ＦＷ−ｍｅｍ」は、１００Ｍｂｙｔｅであったとする。
またアプリＡ、アプリＢ、アプリＣ、アプリＤについて、操作パネル１５を使用して動作するときのＲＡＭ１２の使用量である「Ａ−ｍｅｍ−ｆｕｌｌ」、「Ｂ−ｍｅｍ−ｆｕｌｌ」、「Ｃ−ｍｅｍ−ｆｕｌｌ」、「Ｄ−ｍｅｍ−ｆｕｌｌ」は、以下の表１の「操作パネル使用」に示す値であったとする。さらにアプリＡ、アプリＢ、アプリＣ、アプリＤについて、操作パネル１５を使用しないで動作するときのＲＡＭ１２の使用量である「Ａ−ｍｅｍ−ｌｉｍｉｔｅｄ」、「Ｂ−ｍｅｍ−ｌｉｍｉｔｅｄ」、「Ｃ−ｍｅｍ−ｌｉｍｉｔｅｄ」、「Ｄ−ｍｅｍ−ｌｉｍｉｔｅｄ」は、以下の表１の「操作パネル不使用」に示す値であったとする。
なおアプリＤについて、「Ｄ−ｍｅｍ−ｌｉｍｉｔｅｄ」が０Ｍｂｙｔｅであるのは、アプリＤが、操作パネル１５を必ず使用するアプリであって、バックグラウンドで動作することはないことを意味する。
【００８０】
【表１】
2014075768.tif 000003
【００８１】
ここで判断部１０４は、次のような計算を行なう。
つまり「ｍａｘ−ｍｅｍ−ｆｕｌｌ」は、「Ｃ−ｍｅｍ−ｆｕｌｌ」の４０Ｍｂｙｔｅであるので、「ｍａｘ−ｍｅｍ−ｆｕｌｌ」＋「Ａ−ｍｅｍ−ｌｉｍｉｔｅｄ」＋「Ｂ−ｍｅｍ−ｌｉｍｉｔｅｄ」＋「Ｃ−ｍｅｍ−ｌｉｍｉｔｅｄ」＋「Ｄ−ｍｅｍ−ｌｉｍｉｔｅｄ」＝４０＋１０＋１５＋１０＋０＝７５Ｍｂｙｔｅとなる。
一方、「ＦＷ−ｍｅｍ」＝１００Ｍｂｙｔｅであるので、「ｍａｘ−ｍｅｍ−ｆｕｌｌ」＋「Ａ−ｍｅｍ−ｌｉｍｉｔｅｄ」＋「Ｂ−ｍｅｍ−ｌｉｍｉｔｅｄ」＋「Ｃ−ｍｅｍ−ｌｉｍｉｔｅｄ」＋「Ｄ−ｍｅｍ−ｌｉｍｉｔｅｄ」≦「ＦＷ−ｍｅｍ」の関係が成り立つ。
よってこの場合、判断部１０４は、アプリＡがインストール可能である決定をする。
【００８２】
（比較例１）
ここで各アプリが全ての機能を発揮するときのＲＡＭ１２の使用量を、単に加算することで判断する従来技術の方式では、この総計は、「Ａ−ｍｅｍ−ｆｕｌｌ」、「Ｂ−ｍｅｍ−ｆｕｌｌ」、「Ｃ−ｍｅｍ−ｆｕｌｌ」、「Ｄ−ｍｅｍ−ｆｕｌｌ」の合計となる。
よってこの総計は、３０＋３０＋４０＋２０＝１２０Ｍｂｙｔｅとなるため、アプリＡは、インストール不可であるという結論となる。しかしながら上述の通りアプリＡをインストールしても、アプリを動作させるときに支障は生じない。よってこの方法によりアプリのインストール可否を判断するのは、ユーザに対し利便性の低下を招く結果となる。
【００８３】
よって実施例１に例示される本実施の形態では、追加のアプリプログラムのインストール後に、アプリが動作しないという状況が生じにくくなる。さらに追加のアプリが動作することが保証できない場合、本実施の形態では、これをインストール不可としてインストールを中止する。そのためユーザにとっては、そうでない場合より対処がより容易であり、アプリのインストールやアンインストールを繰り返すことも生じにくくなる。よってユーザの利便性が向上する。
【００８４】
なお以上詳述した例では、各アプリについて、各動作モードでのＲＡＭ１２の使用量をそれぞれ取得できることが前提となっていたが、アプリの定義ファイルにＲＡＭ１２の使用量が１通りしか記載されない場合もある。この場合は、全ての動作モードでこの値をＲＡＭ１２の使用量として計算すれば良い。
【００８５】
さらにアプリの定義ファイルにＲＡＭ１２の使用量が記載されていない場合もある。これに対処する１つの方法として各動作モードでのＲＡＭ１２の使用量を予め調査しておく。そしてアプリにＩＤを付し、そしてこのＩＤに対し、動作モード毎のＲＡＭ１２の使用量を関連付ける対応表を作成しておく。アプリケーションプログラム情報取得部１０３は、アプリの定義ファイルにＲＡＭ１２の使用量が記載されていない場合は、この対応表を参照してＲＡＭ１２の使用量を取得する。
【００８６】
または、動作モード毎のＲＡＭ１２の使用量を予め定められた値として用意しておき、この値を適用することも考えられる。この予め定められた値としては、なるべく大きめの値とすることが好ましい。例えば、画像形成装置１０を動作させるのに作成した過去のアプリの中で、ＲＡＭ１２の使用量が最大のものを、予め定められた値として選択することが考えられる。
【００８７】
また、上述した例では各アプリの各動作モードでのＲＡＭ１２の最大使用量を定義ファイルから取得したが、これに限られるものではない。例えば、各アプリのＡＰＩ（Application Program Interface）から各動作モードでのＲＡＭ１２の最大使用量を取得する等の方法もある。
また、各動作モードで動作するアプリの数については、あらかじめ決められた数をプログラム内に保持しておいても良いし、後から変更できるように例えばＨＤＤ１４内に保持しておき、その値を参照するようにしても良い。
【００８８】
また上述した例では、判断部１０４は、ステップ３０６において、「ＦＷ−ｖｅｒ」と「Ａ−ｅｎａｂｌｅＦＷ−ｖｅｒ」とを比較し、「ＦＷ−ｖｅｒ」が「Ａ−ｅｎａｂｌｅＦＷ−ｖｅｒ」より新しいバージョンであるか否かを判断した。これによりまずアプリＡがアプリケーションフレームワークバージョン上、動作可能であるかがチェックされる。しかし、本処理はアプリケーションフレームワークのバージョンが複数存在する場合に好適であるが、必須な処理ではない。
【００８９】
なお上述した例では、リソース量は、ＲＡＭ１２の容量や使用量であったが、これに限られるものではなく、例えばＨＤＤ１４の容量や使用量であってもよい。また、ＣＰＵ１１のＣＰＵコアの使用数や使用時間等であってもよい。
また上述した例では、情報処理装置の一例として、画像形成装置１０を例示して説明を行なったが、これに限られるものではなく、本実施の形態は、応用プログラムが動作する画像処理装置に対し、動作させたい応用プログラムがインストール又は起動可能か否かを判断する必要がある場合に適用が可能である。
【００９０】
なお本実施の形態における動作判断部が行なう処理は、例えば、ＣＰＵ１１が、ＲＯＭ１３やＨＤＤ１４に記憶された各種プログラムをＲＡＭ１２にロードして実行することにより行なわれる。
【００９１】
よって動作判断部が行なう処理は、コンピュータに、動作している応用プログラムおよび動作させたい応用プログラムについて、複数の動作モード毎に使用するリソース量を取得する応用プログラム情報取得機能と、取得したリソース量を基にして、動作させたい応用プログラムがインストール又は起動可能か否かを判断する動作判断機能と、を実現させ、動作判断機能の結果に基づいて動作させたい応用プログラムをインストール又は起動させることを特徴とするプログラムとして捉えることもできる。
また動作判断部が行なう処理は、コンピュータに、情報処理装置を動作させるための応用プログラムについて、操作部を使用して動作するときと操作部を使用しないで動作するときとで必要なリソース量を取得する機能と、取得したリソース量を基にして応用プログラムがインストール又は起動可能か否かを判断する機能と、を実現させるプログラムとして捉えることもできる。
【００９２】
なお、本実施の形態を実現するプログラムは、通信手段により提供することはもちろん、ＣＤ−ＲＯＭ等の記録媒体に格納して提供することも可能である。
【符号の説明】
【００９３】
１０…画像形成装置、１２…ＲＡＭ、１４…ＨＤＤ、１５…操作パネル、１０１…インストール受付部、１０２…リソース情報取得部、１０３…アプリケーションプログラム情報取得部、１０４…判断部、１０５…判断結果送信部
【図１】
2014075768.tif 000004
【図２】
2014075768.tif 000005
【図３】
2014075768.tif 000006
【図４】
2014075768.tif 000007
【図５】
2014075768.tif 000008
【図６】
2014075768.tif 000009
【図７】
2014075768.tif 000010