(57)【特許請求の範囲】
【請求項１】
機器にインストール可能な第一のプログラムの種別の組み合わせに応じて、当該組み合わせに係るメモリ消費量を含む情報を記憶した共存条件記憶手段と、
インストール対象とされた前記第一のプログラムの種別と該プログラムのインストール先の機器に関する機器情報とを受信するインストール情報受信手段と、
前記インストール対象の前記第一のプログラムの種別と、前記機器情報に含まれている、前記機器にインストールされている前記第一のプログラムの種別とに係る第一の組み合わせに対応するメモリ消費量を前記共存条件記憶手段を用いて判定し、判定されたメモリ消費量と前記機器情報に含まれている前記インストール先の機器のメモリ容量を示す情報とを比較して、前記インストールの当否を判定する当否判定手段とを有する情報処理装置。
【請求項２】
前記共存条件記憶手段は、前記組み合わせごとに、当該組み合わせに係る前記第一のプログラムのそれぞれについて、バージョン情報を記憶し、
前記機器情報は、前記機器にインストールされている前記第一のプログラムごとに当該プログラムのバージョン情報を含み、
前記当否判定手段は、前記機器にインストールされている前記第一のプログラムのそれぞれについて、前記機器情報に含まれているバージョン情報が、前記共存条件記憶手段において前記第一の組み合わせに対応するバージョン情報に合致するか否かを判定し、合致しない前記第一のプログラムが有る場合は、当該第一のプログラムの更新が必要であることを通知するための情報を生成する請求項１記載の情報処理装置。
【請求項３】
前記共存条件記憶手段は、前記組み合わせごとに、当該組み合わせに係る前記第一のプログラムが利用する第二のプログラムの種別の一覧を記憶し、
前記機器情報は、前記機器にインストールされている前記第二のプログラムの種別を含み、
前記当否判定手段は、前記第一の組み合わせに係る前記第一のプログラムが利用する前記第二のプログラムの種別を前記共存条件記憶手段を用いて判定し、判定された該種別が前記機器情報に含まれていない場合は、当該種別に係る第二のプログラムのインストールが必要であることを通知するための情報を生成する請求項１又は２記載の情報処理装置。
【請求項４】
前記共存条件記憶手段は、前記組み合わせごとに、当該組み合わせに係る前記第一のプログラムが利用する第二のプログラムの種別及び該第二のプログラムのバージョン情報の一覧を記憶し、
前記当否判定手段は、前記第一の組み合わせに係る前記第一のプログラムが利用する前記第二のプログラムの種別及びバージョンを前記共存条件記憶手段を用いて判定し、判定された前記種別及びバージョン情報が前記機器情報に含まれていない場合は、当該種別及びバージョン情報に係る第二のプログラムのインストールが必要であることを通知するための情報を生成する請求項３記載の情報処理装置。
【請求項５】
情報処理装置と機器とを有する情報処理システムであって、
前記情報処理装置は、
機器にインストール可能な第一のプログラムの種別の組み合わせに応じて、当該組み合わせに係るメモリ消費量を含む情報を記憶した共存条件記憶手段と、
インストール対象とされた前記第一のプログラムの種別と、インストール先の機器より取得される、該機器に関する機器情報とを受信するインストール情報受信手段と、
前記インストール対象の前記第一のプログラムの種別と、前記機器情報に含まれている、前記機器にインストールされている前記第一のプログラムの種別とに係る第一の組み合わせに対応するメモリ消費量を前記共存条件記憶手段を用いて判定し、判定されたメモリ消費量と前記機器情報に含まれている前記インストール先の機器のメモリ容量を示す情報とを比較して、前記インストールの当否を判定する当否判定手段とを有する情報処理システム。
【請求項６】
コンピュータが、
インストール対象とされた第一のプログラムの種別と該プログラムのインストール先の機器に関する機器情報とを受信するインストール情報受信手順と、
前記インストール対象の前記第一のプログラムの種別と、前記機器情報に含まれている、前記機器にインストールされている前記第一のプログラムの種別とに係る第一の組み合わせに対応するメモリ消費量を、機器にインストール可能な前記第一のプログラムの種別の組み合わせに応じて当該組み合わせに係るメモリ消費量を含む情報を記憶する共存条件記憶手段を用いて判定し、判定されたメモリ消費量と前記機器情報に含まれている前記インストール先の機器のメモリ容量を示す情報とを比較して、前記インストールの当否を判定する当否判定手順とを実行するインストール支援方法。
【請求項７】
前記共存条件記憶手段は、前記組み合わせごとに、当該組み合わせに係る前記第一のプログラムのそれぞれについて、バージョン情報を記憶し、
前記機器情報は、前記機器にインストールされている前記第一のプログラムごとに当該プログラムのバージョン情報を含み、
前記当否判定手順は、前記機器にインストールされている前記第一のプログラムのそれぞれについて、前記機器情報に含まれているバージョン情報が、前記共存条件記憶手段において前記第一の組み合わせに対応するバージョン情報に合致するか否かを判定し、合致しない前記第一のプログラムが有る場合は、当該第一のプログラムの更新が必要であることを通知するための情報を生成する請求項６記載のインストール支援方法。
【請求項８】
前記共存条件記憶手段は、前記組み合わせごとに、当該組み合わせに係る前記第一のプログラムが利用する第二のプログラムの種別の一覧を記憶し、
前記機器情報は、前記機器にインストールされている前記第二のプログラムの種別を含み、
前記当否判定手順は、前記第一の組み合わせに係る前記第一のプログラムが利用する前記第二のプログラムの種別を前記共存条件記憶手段を用いて判定し、判定された該種別が前記機器情報に含まれていない場合は、当該種別に係る第二のプログラムのインストールが必要であることを通知するための情報を生成する請求項６又は７記載のインストール支援方法。
【請求項９】
前記共存条件記憶手段は、前記組み合わせごとに、当該組み合わせに係る前記第一のプログラムが利用する第二のプログラムの種別及び該第二のプログラムのバージョン情報の一覧を記憶し、
前記当否判定手順は、前記第一の組み合わせに係る前記第一のプログラムが利用する前記第二のプログラムの種別及びバージョンを前記共存条件記憶手段を用いて判定し、判定された前記種別及びバージョン情報が前記機器情報に含まれていない場合は、当該種別及びバージョン情報に係る第二のプログラムのインストールが必要であることを通知するための情報を生成する請求項８記載のインストール支援方法。
【請求項１０】
コンピュータに、
インストール対象とされた第一のプログラムの種別と該プログラムのインストール先の機器に関する機器情報とを受信するインストール情報受信手順と、
前記インストール対象の前記第一のプログラムの種別と、前記機器情報に含まれている、前記機器にインストールされている前記第一のプログラムの種別とに係る第一の組み合わせに対応するメモリ消費量を、機器にインストール可能な前記第一のプログラムの種別の組み合わせに応じて当該組み合わせに係るメモリ消費量を含む情報を記憶する共存条件記憶手段を用いて判定し、判定されたメモリ消費量と前記機器情報に含まれている前記インストール先の機器のメモリ容量を示す情報とを比較して、前記インストールの当否を判定する当否判定手順とを実行させるためのインストール支援プログラム。
【請求項１１】
前記共存条件記憶手段は、前記組み合わせごとに、当該組み合わせに係る前記第一のプログラムのそれぞれについて、バージョン情報を記憶し、
前記機器情報は、前記機器にインストールされている前記第一のプログラムごとに当該プログラムのバージョン情報を含み、
前記当否判定手順は、前記機器にインストールされている前記第一のプログラムのそれぞれについて、前記機器情報に含まれているバージョン情報が、前記共存条件記憶手段において前記第一の組み合わせに対応するバージョン情報に合致するか否かを判定し、合致しない前記第一のプログラムが有る場合は、当該第一のプログラムの更新が必要であることを通知するための情報を生成する請求項１０記載のインストール支援プログラム。
【請求項１２】
前記共存条件記憶手段は、前記組み合わせごとに、当該組み合わせに係る前記第一のプログラムが利用する第二のプログラムの種別の一覧を記憶し、
前記機器情報は、前記機器にインストールされている前記第二のプログラムの種別を含み、
前記当否判定手順は、前記第一の組み合わせに係る前記第一のプログラムが利用する前記第二のプログラムの種別を前記共存条件記憶手段を用いて判定し、判定された該種別が前記機器情報に含まれていない場合は、当該種別に係る第二のプログラムのインストールが必要であることを通知するための情報を生成する請求項１０又は１１記載のインストール支援プログラム。
【請求項１３】
前記共存条件記憶手段は、前記組み合わせごとに、当該組み合わせに係る前記第一のプログラムが利用する第二のプログラムの種別及び該第二のプログラムのバージョン情報の一覧を記憶し、
前記当否判定手順は、前記第一の組み合わせに係る前記第一のプログラムが利用する前記第二のプログラムの種別及びバージョンを前記共存条件記憶手段を用いて判定し、判定された前記種別及びバージョン情報が前記機器情報に含まれていない場合は、当該種別及びバージョン情報に係る第二のプログラムのインストールが必要であることを通知するための情報を生成する請求項１２記載のインストール支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、インストール支援方法、及びインストール支援プログラムに関し、特にインストール作業を支援する情報処理装置、情報処理システム、インストール支援方法、及びインストール支援プログラムに関する。
【背景技術】
【０００２】
近年では、画像形成装置のような組み込み機器（以下、単に「機器」という。）においても、その出荷後に、新たなアプリケーションのインストールが可能とされている。但し、機器自体のコストの増大を抑制するため、機器に搭載されるメモリの容量は、汎用的なコンピュータに比べて制限される傾向にある。
【０００３】
したがって、インストールされている複数のアプリケーションが同時に動作する場合、メモリの空き容量が枯渇しまう可能性は、汎用的なコンピュータに比べて機器の方が高いと考えられる。
【０００４】
そこで、従来、画像形成装置にアプリケーションをインストールする際に、当該アプリケーションのメモリの使用量と、画像形成装置に既にインストールされているアプリケーションのメモリ使用量との総和に基づいて、インストールの適否を判断することが検討されている（例えば、特許文献１）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、複数のアプリケーションが同時に動作する場合に消費されるメモリ量は、必ずしも各アプリケーションが単独で使用するメモリ量の総和に一致するとは限らない。例えば、複数のアプリケーションから共用されるライブラリのメモリの使用量は、同時に動作するアプリケーションの数に比例するとは限らない。
【０００６】
当該ライブラリのメモリの使用量が略一定の場合、各アプリケーションが使用するメモリ量の単純な総和は、当該ライブラリによるメモリの使用量の重複加算を招き、実際に使用されるメモリ量に対して過大評価となる可能性がある。この場合、インストールが可能な場合に、インストールが拒否されてしまう可能性がある。
【０００７】
一方、当該ライブラリのメモリの使用量が、同時に動作するアプリケーションの数に対して指数的に増加する場合、各アプリケーションが使用するメモリ量の単純な総和は、実際に使用されるメモリ量に対して過小評価となる可能性がある。この場合、インストールが適切でない場合に、インストールが許可されてしまう可能性がある。
【０００８】
本発明は、上記の点に鑑みてなされたものであって、プログラムのインストールの当否の判断の精度を向上させることのできる情報処理装置、情報処理システム、インストール支援方法、及びインストール支援プログラムの提供を目的とする。
【課題を解決するための手段】
【０００９】
そこで上記課題を解決するため、本発明は、機器にインストール可能な第一のプログラムの種別の組み合わせに応じて、当該組み合わせに係るメモリ消費量を含む情報を記憶した共存条件記憶手段と、インストール対象とされた前記第一のプログラムの種別と該プログラムのインストール先の機器に関する機器情報とを受信するインストール情報受信手段と、前記インストール対象の前記第一のプログラムの種別と、前記機器情報に含まれている、前記機器にインストールされている前記第一のプログラムの種別とに係る第一の組み合わせに対応するメモリ消費量を前記共存条件記憶手段を用いて判定し、判定されたメモリ消費量と前記機器情報に含まれている前記インストール先の機器のメモリ容量を示す情報とを比較して、前記インストールの当否を判定する。
【００１０】
このような情報処理装置では、プログラムのインストールの当否の判断の精度を向上させることができる。
【発明の効果】
【００１１】
本発明によれば、プログラムのインストールの当否の判断の精度を向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態におけるインストール支援システムのシステム構成例を示す図である。
【図２】本発明の実施の形態におけるプログラム管理サーバのハードウェア構成例を示す図である。
【図３】本発明の実施の形態におけるインストール支援システムの機能構成例を示す図である。
【図４】インストール支援システムが実行する画像形成装置へのプログラムのインストール処理の処理手順を説明するためのシーケンス図である。
【図５】機器情報の構成例を示す図である。
【図６】インストール当否判定処理の処理手順の一例を説明するためのフローチャートである。
【図７】プロダクトキー対応情報記憶部の構成例を示す図である。
【図８】組み合わせ情報記憶部の構成例を示す図である。
【図９】一つの共存条件の構成例を示す図である。
【図１０】通知情報の構成例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態におけるインストール支援システムのシステム構成例を示す図である。
【００１４】
インストール支援システム１において、プログラム管理サーバ１０と機器管理装置２０とは、インターネット等のネットワーク４０を介して接続されている。また、機器管理装置２０と、一台以上の画像形成装置３０とは、ＬＡＮ（Local Area Network）等のネットワーク５０（有線又は無線の別は問わない。）を介して接続されている。
【００１５】
機器管理装置２０及びの画像形成装置３０は、例えば、ユーザ環境Ｅ１に配置される。ユーザ環境Ｅ１は、画像形成装置３０のユーザ（顧客）のシステム環境である。
【００１６】
画像形成装置３０は、機器の一例であり、印刷、スキャン、コピー、及びファクス送受信等の複数の機能を一台の筐体において実現する複合機である。但し、画像形成装置３０は、必ずしも複合機でなくてもよい。プリンタやスキャナ等、単一の機能を実現する機器であってもよい。また、画像形成装置以外の機器が、画像形成装置３０の代わりに用いられてもよい。画像形成装置３０は、プログラムを追加又は更新することにより随時機能拡張等を図ることができる。なお、本実施の形態において、プログラムは、アプリケーションプログラム（以下、単に「アプリケーション」という。）とプラットフォームとに大別される。アプリケーションは、第一のプログラムの一例であり、ユーザから直接的に操作され、所定のジョブを画像形成装置３０に実行させる、上位層のプログラムである。プラットフォームは、第二のプログラムの一例であり、アプリケーションの実行環境を実現する下位層のプログラムモジュール群より構成される。プラットフォームは、複数のアプリケーションプログラムから共用される。
【００１７】
機器管理装置２０は、画像形成装置３０に対するプログラムのインストール処理を制御する、ＰＣ（Personal Computer）等のコンピュータである。
【００１８】
プログラム管理サーバ１０は、画像形成装置３０にインストール可能なプログラムの管理や、画像形成装置３０に対するアプリケーションのインストールの当否（又は可否若しくは適否）の判定等を行う、ＰＣ等のコンピュータである。なお、プログラム管理サーバ１０は、例えば、メーカー環境Ｅ２に配置される。メーカー環境Ｅ２は、画像形成装置３０のメーカーにおけるシステム環境である。
【００１９】
図２は、本発明の実施の形態におけるプログラム管理サーバのハードウェア構成例を示す図である。図２のプログラム管理サーバ１０は、それぞれバスBで相互に接続されているドライブ装置１００と、補助記憶装置１０２と、メモリ装置１０３と、ＣＰＵ１０４と、インタフェース装置１０５とを有する。
【００２０】
プログラム管理サーバ１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００２１】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従ってプログラム管理サーバ１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００２２】
図３は、本発明の実施の形態におけるインストール支援システムの機能構成例を示す図である。
【００２３】
同図において、機器管理装置２０は、要求受付部２１、機器情報取得部２２、インストール当否照会部２３、及びインストール制御部２４等を有する。これら各部は、機器管理装置２０にインストールされたプログラムが、機器管理装置２０のＣＰＵに実行させる処理により実現される。
【００２４】
要求受付部２１は、機器管理装置２０の表示装置に画面を表示させ、当該画面を介して、画像形成装置３０へのアプリケーションのインストール指示を操作者より受け付ける。
【００２５】
機器情報取得部２２は、インストール指示においてインストール先として選択された画像形成装置３０（以下、「対象機器」という。）より、当該画像形成装置３０に関する情報（以下、「機器情報」という。）を取得する。
【００２６】
インストール当否照会部２３は、インストール指示においてインストール対象として選択されたアプリケーション（以下、「対象アプリ」という。）の対象機器へのインストールが妥当であるか否か（インストールの当否）を、プログラム管理サーバ１０に問い合わせる（照会する）。
【００２７】
インストール制御部２４は、インストールが妥当であると判定された場合は、対象アプリをプログラム管理サーバ１０よりダウンロードし、対象機器へのインストール処理を制御する。
【００２８】
画像形成装置３０は、機器情報提供部３１及びインストール部３２等を有する。機器情報提供部３１は、機器管理装置２０からの機器情報の取得要求に応じ、機器情報に含めるべき情報を自機の内部より収集し、収集された情報を含む機器情報を返信する。
【００２９】
インストール部３２は、機器管理装置２０のインストール制御部２４の指示に従って、対象アプリのインストール処理を実行する。
【００３０】
プログラム管理サーバ１０は、要求受信部１１、インストール当否判定部１２、プログラム提供部１３、プロダクトキー対応情報記憶部１４、組み合わせ情報記憶部１５、共存条件記憶部１６、及びプログラム記憶部１７等を有する。これら各部は、プログラム管理サーバ１０にインストールされたプログラムが、ＣＰＵ１０４に実行させる処理により実現される。
【００３１】
要求受信部１１は、機器管理装置２０からの要求を受信する。当該要求としては、インストールの当否の判定要求及びプログラムのダウンロード要求等がある。
【００３２】
インストール当否判定部１２は、機器管理装置２０からのインストールの当否の判定要求に応じ、当該インストールの当否を判定する。
【００３３】
プログラム提供部１３は、機器管理装置２０からのプログラムのダウンロード要求に応じ、ダウンロード対象として指定されたプログラムを返信する。
【００３４】
プロダクトキー対応情報記憶部１４は、プロダクトキーとプロダクトＩＤとの対応情報を補助記憶装置１０２を用いて記憶する。プロダクトＩＤとは、プログラムの種別ごとに付与されるＩＤ（識別子）である。プロダクトＩＤは、プログラム種別ごとに一意であってもよい。例えば、アプリケーションＡとアプリケーションＢとが有る場合、アプリケーションＡとアプリケーションＢとのプロダクトＩＤは異なる。一方、プロダクトキーは、アプリケーションが購入されるごとに発行される（又は割り当てられる）識別子であり、アプリケーションの購入者であることを証明するための情報として用いられる。すなわち、アプリケーションの購入時において、アプリケーションの実体は購入者には配布されず、プロダクトキーが購入者に配布される。なお、プロダクトキーは、アプリケーションの購入ごとに一意であってもよい。
【００３５】
したがって、同一のプロダクトＩＤ（アプリケーション）に関して、複数のプロダクトキーが発生しうる。例えば、アプリケーションが購入された場合、当該購入に応じて割り当てられたプロダクトキーが、当該アプリケーションのプロダクトＩＤに関連付けられてプロダクトキー対応情報記憶部１４に記録される。
【００３６】
組み合わせ情報記憶部１５は、プログラム管理サーバ１０が管理するアプリケーション（すなわち、画像形成装置３０にインストール可能なアプリケーション）の中で、共存可能な組み合わせの一覧情報を補助記憶装置１０２を用いて記憶する。共存可能とは、一台の画像形成装置３０に対して、共にインストール可能であることをいう。例えば、動作可能な環境（プラットフォームのバージョン等）が、相互に排他的である場合や、一方の動作によって、他方の動作が不正となる場合等は、共存は不可能であるとされる。
【００３７】
共存条件記憶部１６は、共存可能な組み合わせごとに、当該組み合わせに属するアプリケーションが共存するために満たされることが必要な（又は満たされることが望ましい）条件を補助記憶装置１０２を用いて記憶する。
【００３８】
プログラム記憶部１７は、プロダクトＩＤに関連付けて、各プログラムの実体（プログラムファイル）を補助記憶装置１０２を用いて記憶する。
【００３９】
以下、インストール支援システム１の処理手順について説明する。図４は、インストール支援システムが実行する画像形成装置へのプログラムのインストール処理の処理手順を説明するためのシーケンス図である。同図においては、機器管理装置２０が操作対象とされる。
【００４０】
ステップＳ１０１において、機器管理装置２０の要求受付部２１は、操作者より、対象機器及び対象アプリのプロダクトキーが指定された、対象アプリのインストール指示を受け付ける。対象機器の指定は、例えば、要求受付部２１が表示させる、画像形成装置３０の一覧画面の中から、操作者がインストール先を選択することにより行われる。画像形成装置３０の一覧情報は、機器管理装置２０に予め保存されていてもよいし、操作者の入力に応じて、ネットワーク５０上より検索されてもよい。対象機器の指定（選択）により、対象機器のＩＰアドレス等が特定される。
【００４１】
また、プロダクトキーの指定は、例えば、要求受付部２１が表示させる、プロダクトキーの入力画面において、操作者が、予め購入されているプロダクトキーを入力することにより行われる。
【００４２】
なお、対象機器及びプロダクトキーは、複数指定可能である。
【００４３】
続いて、機器情報取得部２２は、機器情報の取得要求を対象機器に（対象機器のＩＰアドレス宛に）送信する（Ｓ１０２）。対象機器の機器情報提供部３１は、機器情報を構成する情報を、当該対象機器の内部より収集し、収集された情報を含む機器情報を返信する（Ｓ１０３）。
【００４４】
図５は、機器情報の構成例を示す図である。同図において、一台の画像形成装置３０より取得される機器情報は、機器ＩＤ、アプリケーション情報、プラットフォーム情報、及びメモリ情報等を含む。
【００４５】
機器ＩＤは、当該画像形成装置３０の識別子である。ＩＰアドレスが機器ＩＤとして使用されてもよい。アプリケーション情報は、当該画像形成装置３０にインストールされているアプリケーションごとに、プロダクトＩＤ及びバージョン情報等を含む。プラットフォーム情報は、当該画像形成装置３０にインストールされているプラットフォームを構成するプログラムモジュールごとに、モジュールＩＤ及びバージョン情報等を含む。モジュールＩＤは、プログラムモジュールの種別ごとに付与される識別子である。モジュールＩＤは、プログラムモジュールの種別ごとに一意であってもよい。メモリ情報は、当該画像形成装置３０のメモリ容量に関する情報であり、スタック領域設定値、スタック領域上限値、ヒープ領域設定値、及びヒープ領域上限値等を含む。スタック領域設定値は、当該画像形成装置３０において設定されているスタック領域のサイズである。スタック領域上限値は、当該画像形成装置３０のスタック領域のサイズの上限値である。当該画像形成装置３０において設定されているヒープ領域のサイズである。ヒープ領域上限値は、当該画像形成装置３０のヒープ領域のサイズの上限値である。なお、スタック領域及びヒープ領域に関して、設定値は上限値の範囲内において変更可能である。画像形成装置３０は、設定値の範囲内でプログラムを実行させる。
【００４６】
機器管理装置２０において、機器情報取得部２２によって機器情報が受信されると、インストール当否照会部２３は、入力されたプロダクトキー及び対象機器の機器情報を指定して、インストールの当否の判定要求をプログラム管理サーバ１０に送信する（Ｓ１０４）。当該判定要求は、プログラム管理サーバ１０において、要求受信部１１によって受信される。
【００４７】
続いて、プログラム管理サーバ１０のインストール当否判定部１２は、判定要求に指定されたプロダクトキー及び機器情報、並びにプロダクトキー対応情報、組み合わせ情報記憶部１５、及び共存条件記憶部１６等に基づいて、当該インストールの当否を判定し、判定結果を機器管理装置２０のインストール当否照会部２３に返信する（Ｓ１０５）。少なくともインストールが妥当（又は可能）であると判定された場合、判定結果には、対象アプリのプロダクトＩＤが含まれる。
【００４８】
インストールは妥当であることを示す判定結果が返信された場合、機器管理装置２０のインストール制御部２４は、当該判定結果に応じて、対象アプリのプロダクトＩＤを指定して、ダウンロード要求をプログラム管理サーバ１０に送信する（Ｓ１０６）。なお、判定結果の内容によっては、プラットフォームの一部のモジュールのモジュールＩＤも、ダウンロード対象として指定される。
【００４９】
プログラム管理サーバ１０のプログラム提供部１３は、ダウンロード要求に指定されたプロダクトＩＤ等に対応するプログラムをプログラム記憶部１７より取得し、インストール制御部２４に返信する（Ｓ１０７）。
【００５０】
続いて、インストール制御部２４は、返信されたプログラム（対象アプリ等）を伴ったインストール指示を、対象機器に送信する（Ｓ１０８）。画像形成装置３０のインストール部３２は、インストール指示と共に受信されたプログラムのインストール処理を実行し、当該インストール処理の処理結果（インストール処理の成否を示す情報）をインストール制御部２４に返信する（Ｓ１０９）。なお、インストール処理には、既にインストールされているプログラムの更新処理（バージョンアップ処理）も含まれうる。
【００５１】
インストール処理の処理結果を受信したインストール制御部２４は、当該処理結果に応じた画面を機器管理装置２０の表示装置に表示させる（Ｓ１１０）。
【００５２】
続いて、ステップＳ１０４のインストールの当否の判定要求に応じてプログラム管理装置１０のインストール当否判定部１２によって実行される、インストール当否判定処理の処理手順の詳細について説明する。
【００５３】
図６は、インストール当否判定処理の処理手順の一例を説明するためのフローチャートである。
【００５４】
ステップＳ２０１において、インストール当否判定部１２は、機器管理装置２０より受信されたプロダクトキーに対応するプロダクトＩＤを、プロダクトキー対応情報記憶部１４を用いて特定する。プロダクトＩＤが特定されることにより、対象アプリが特定されることになる。
【００５５】
図７は、プロダクトキー対応情報記憶部の構成例を示す図である。同図において、プロダクトキー対応情報記憶部１４は、プロダクトＩＤごとに、当該プロダクトＩＤに係るアプリケーションの購入に応じて発行されたプロダクトキーを記憶する。
【００５６】
続いて、インストール当否判定部１２は、機器管理装置２０より受信された機器情報に含まれているアプリケーション情報に基づいて、対象機器に既にインストールされているアプリケーション（以下、「既存アプリ」という。）のプロダクトＩＤを特定する（Ｓ２０２）。
【００５７】
既存アプリが無い場合、すなわち、対象機器に対してアプリケーションが一つもインストールされていない場合（Ｓ２０３でＮｏ）、インストール当否判定部１２は、当該インストールは妥当であると判定し（Ｓ２０４）、図６の処理を終了させる。したがって、この場合、ステップＳ１０５（図４）において、インストールは妥当であることを示し、対象アプリのプロダクトＩＤを含む判定結果が、機器管理装置２０に返信される。
【００５８】
続いて、インストール当否判定部１２は、対象アプリと既存アプリとの組み合わせを組み合わせ情報記憶部１５より検索することにより、対象アプリが既存アプリと共存可能であるか否かを判定する（Ｓ２０５）。
【００５９】
図８は、組み合わせ情報記憶部の構成例を示す図である。同図において、組み合わせ情報記憶部１５は、プログラム管理サーバ１０が管理する（すなわち、画像形成装置３０に対してインストール可能な）全てのアプリケーションの中で、共存可能な組み合わせごとに、組み合わせ番号と、当該組み合わせに属するアプリケーションのプロダクトＩＤとを記憶する。したがって、ステップＳ２０５では、全ての対象アプリのプロダクトＩＤと、全ての既存アプリのプロダクトＩＤとの組み合わせと過不足無く一致するレコードが有るか否かが判定される。該当するレコードが無い場合は、共存は不可能であると判定され、該当するレコードが有る場合は、共存は可能であると判定される。
【００６０】
組み合わせ情報記憶部１５のレコードは、例えば、アプリケーションの開発者によって登録される。具体的には、開発者は、組み合わせごとに、当該組み合わせに属するアプリケーション群を過不足無く画像形成装置３０にインストールし、動作確認を行う。動作確認の結果、全てのアプリケーションについて問題が発見されなかった場合、当該組み合わせに属するアプリケーションは共存可能であるとして、当該組み合わせを示すレコードが組み合わせ情報記憶部１５に追加される。
【００６１】
共存は不可能であると判定された場合（Ｓ２０５でＮｏ）、インストール当否判定部１２は、当該インストールは妥当でないと判定する（Ｓ２０６）。この場合、インストールは妥当でないことを示す判定結果が機器管理装置２０に返信される。機器管理装置２０は、当該判定結果に応じて、インストール処理を終了させる。
【００６２】
なお、多数のアプリケーションが市場に流通しており、全ての組み合わせの数が膨大となる場合、現実問題として、全ての組み合わせに関して動作確認を行うのは非常に困難である。したがって、このような場合には、出荷本数が多い等、重要なアプリケーション群について、組み合わせごとに動作確認を行ってもよい。この場合、組み合わせ情報記憶部１５が記憶する組み合わせの意味は、共存可能であることが保証された組み合わせということになる。したがって、この場合は、組み合わせ情報記憶部１５に含まれていないからといって、直ちにインストールが妥当でないとはいえない。したがって、インストール当否判定部１２は、当該インストールに関しては保証外であると判定すればよい。この場合、保証外であるということを示し、対象アプリのプロダクトＩＤを含む判定結果が機器管理装置２０に返信されてもよい。機器管理装置２０のインストール当否判定部１２は、当該判定結果を受信すると、保証外であることを示す画面を表示させ、インストール作業を続行するか否かをユーザに選択させる。ユーザによって、インストール作業の続行が選択された場合、ステップＳ１０６以降が実行される。但し、保証外であることを示す判定結果が受信された場合、インストール当否照会部２３は、インストール処理を中止してもよい。
【００６３】
共存は可能であると判定された場合（Ｓ２０５でＹｅｓ）、インストール当否判定部１２は、該当するレコードの組み合わせの組み合わせ番号に基づいて、当該組み合わせに対応する共存条件を共存条件記憶部１６より取得する（Ｓ２０８）。
【００６４】
図９は、一つの共存条件の構成例を示す図である。同図には、組み合わせ１に対応する共存条件が示されている。すなわち、共存条件は、組み合わせ情報記憶部１５に登録されている組み合わせごとに、共存条件記憶部１６に登録されている。
【００６５】
一つの共存条件は、当該共存条件が対応する組み合わせに属する全てのアプリケーションが対象機器にインストールされる場合に、満たされるべき条件を示す。本実施の形態では、当該条件を構成する項目として、スタック領域最低値、ヒープ領域最低値、アプリケーションバージョン、及びプラットフォームバージョン等を含む。
【００６６】
スタック領域最低値は、対象機器が有していることが要求される、スタック領域の最低限の値である。ヒープ領域最低値は、対象機器が有していることが要求される、ヒープ領域の最低限の値である。アプリケーションバージョンは、当該組み合わせに属する各アプリケーションについて、バージョン情報による限定を示す。すなわち、アプリケーションバージョンに記録されているバージョンに該当しない場合は、当該共存条件は満たされないとされる。プラットフォームバージョンは、当該組み合わせに属するアプリケーションから利用されるプラットフォームのプログラムモジュールごとに、バージョン情報による限定を示す。
【００６７】
共存条件の値は、例えば、アプリケーションの開発者によって設定される。具体的には、開発者は、組み合わせ情報記憶部１５にレコードを追加する際に実行する動作確認において、組み合わせに属する全てのアプリケーションを同時に実行した場合に消費されるスタック領域及びヒープ領域のそれぞれのメモリ量を計測する。なお、複数のバージョンを有するアプリケーション等に関しては、各バージョンに関して、動作確認が行われる。
【００６８】
なお、多数のアプリケーションが市場に流通しており、全ての組み合わせの数が膨大となる場合、現実問題として、全てのアプリケーションの全てのバージョンの組み合わせに関して動作確認を行うのは非常に困難である。したがって、このような場合には、出荷本数が多い等、重要なバージョンについて動作確認を行えばよい。この場合、共存条件記憶部１６が記憶する共存条件の意味は、共存を保証する条件ということになる。
【００６９】
続いて、インストール当否判定部１２は、対象機器の機器情報に含まれているスタック領域設定値は、取得された共存条件（以下、「対象共存条件」という。）に含まれているスタック領域最低値以上であるか否かを判定する（Ｓ２０９）。対象機器の機器情報に含まれているスタック領域設定値の方が小さい場合（Ｓ２０９でＮｏ）、インストール当否判定部１２は、対象機器の機器情報に含まれているスタック領域上限値は、対象共存条件に含まれているスタック領域最低値以上であるか否かを判定する（Ｓ２１０）。対象機器の機器情報に含まれているスタック領域上限値の方が小さい場合（Ｓ２１０でＮｏ）、インストール当否判定部１２は、インストールは妥当でないと判定する（Ｓ２０６）。
【００７０】
対象機器の機器情報に含まれているスタック領域上限値が、対象共存条件に含まれているスタック領域最低値以上である場合（Ｓ２１０でＹｅｓ）、インストール当否判定部１２は、判定結果に付随して返信される通知情報に、対象共存条件に含まれているスタック領域最低値を追加する。この場合、対象機器のスタック領域設定値を、当該スタック領域最低値以上に変更すれば対象アプリのインストールは可能となるため、そのことを通知情報によって操作者に通知するためである。
【００７１】
ステップＳ２０９でＹｅｓの場合、又はステップＳ２１１に続いて、ステップＳ２１２〜Ｓ２１４において、インストール当否判定部１２は、ヒープ領域に関してもスタック領域と同様の処理を実行する。
【００７２】
ステップＳ２１５に進み、インストール当否判定部１２は、各既存アプリについて、機器情報のアプリケーション情報に含まれているバージョン情報と、対象共存条件のアプリケーションバージョンに含まれているバージョン情報とは合致するか否かを判定する。共存条件におけるバージョン情報は、範囲指定されていたり、列挙されていたりする場合がある。この場合、機器情報におけるバージョン情報が、共存条件において指定されている範囲又は列挙されているバージョン情報のいずれかに含まれれば、当該判定結果は、肯定的なものとなる。
【００７３】
少なくとも一つの既存アプリについて、機器情報のアプリケーション情報に含まれているバージョン情報が、対象共存条件に含まれているバージョン情報に合致しない場合（Ｓ２１５でＮｏ）、インストール当否判定部１２は、合致しない既存アプリについて、プロダクトＩＤと対象共存条件に含まれているバージョン情報とを通知情報に追加する（Ｓ２１６）。この場合、既存アプリの更新（バージョンアップ）を行えば、対象アプリのインストールは可能となるため、そのことを通知情報によって操作者に通知するためである。
【００７４】
ステップＳ２１５でＹｅｓの場合、又はステップＳ２１６に続いて、インストール当否判定部１２は、共存条件のプラットフォーム情報に含まれている各プログラムモジュールのバージョン情報について、機器情報に含まれているバージョン情報が当該バージョン情報に合致するか否かを判定する（Ｓ２１７）。なお、ステップＳ２１５では、共存条件のプラットフォームバージョンに含まれているモジュールＩＤが、機器情報のプラットフォーム情報に含まれているか否かに関する判定も同時に行われる。すなわち、共存条件とされているプログラムモジュールが、対象機器に既にインストールされているか否かの判定である。
【００７５】
少なくとも一つのプログラムモジュールについて、機器情報のプラットフォーム情報に含まれているバージョン情報が、対象共存条件のプラットフォームバージョンに含まれているバージョン情報に合致しない場合（Ｓ２１７でＮｏ）、インストール当否判定部１２は、合致しないプログラムモジュールについて、モジュールＩＤと対象共存条件に含まれているバージョン情報とを通知情報に追加する（Ｓ２１８）。この場合、当該プログラムモジュールの更新（バージョンアップ）を行えば、対象アプリのインストールは可能となるため、そのことを通知情報によって操作者に通知するためである。
【００７６】
なお、共存条件のプラットフォームバージョンに含まれている少なくとも一つのモジュールＩＤが機器情報のプラットフォーム情報に含まれていない場合、当該モジュールＩＤと、バージョン情報が共存条件より取得されて、通知情報に追加される。
【００７７】
通知情報は、例えば、図１０に示されるような形式で生成される。図１０は、通知情報の構成例を示す図である。同図において、通知情報は、アプリケーションバージョン、プラットフォームバージョン、スタック領域設定値、及びヒープ領域設定値等の項目を有する。アプリケーションバージョンのレコード（プロダクトＩＤ及びバージョン情報）は、ステップＳ２１６において追加される。プラットフォームバージョンのレコード（モジュールＤ及びバージョン情報）は、ステップＳ２１８において追加される。スタック領域設定値のレコードは、ステップＳ２１１において追加される。ヒープ領域設定値のレコードは、ステップＳ２１４において追加される。
【００７８】
ステップＳ２１７でＹｅｓの場合、又はステップＳ２１８に続いて、インストール当否判定部１２は、通知情報に少なくとも一つのレコードが追加されているか否かを判定する（Ｓ２１９）。すなわち、対象共存条件に関して満たされていない項目（条件）の有無が判定される。
【００７９】
通知情報にレコードが一つも追加されていない場合（Ｓ２１９でＮｏ）、インストール当否判定部１２は、当該インストールは妥当であると判定する（Ｓ２２０）。したがって、この場合、ステップＳ１０５（図４）では、インストールは妥当であることを示す判定結果と、対象アプリのプロダクトＩＤとが返信される。
【００８０】
一方、通知情報に少なくとも一つのレコードが含まれている場合（Ｓ２１９でＹｅｓ）、インストール当否判定部１２は、当該インストールは妥当でないと判定する（Ｓ２２１）。但し、この場合、通知情報に指定された内容（条件）が満たされるように、対象機器の状態が変更されれば、当該インストールは妥当となる。そこで、その旨を通知するため、ステップＳ１０５（図４）では、インストールは妥当でないことを示す判定結果と、対象アプリのプロダクトＩＤと、通知情報とが返信される。
【００８１】
機器管理装置２０のインストール当否照会部２３は、通知情報が受信された場合、当該通知情報を表示装置に表示させる。アプリケーションバージョン又はプラットフォームバージョンに関するレコードが通知情報に含まれている場合、インストール当否照会部２３は、既存アプリ又はプログラムモジュールの更新を、対象アプリのインストールと共に実行するか否かを選択させる画面を表示装置に表示させる。当該画面において、既存アプリ又はプログラムモジュールの更新の実行が選択された場合、機器管理装置２０のインストール制御部２４は、ステップＳ１０６において、該当する既存アプリのプロダクトＩＤ又はプログラムモジュールのモジュールＩＤと、対象アプリのプロダクトＩＤとを指定して、ダウンロード要求をプログラム管理サーバ１０に送信する。インストール制御部２４は、当該ダウンロード要求に応じてプログラム管理サーバ１０より返信される対象アプリ、既存アプリ又はプログラムモジュール等を、対象機器にインストールする。
【００８２】
また、スタック領域設定値又はヒープ領域設定値に関するレコードが通知情報に含まれている場合、操作者が、対象機器を操作することにより、スタック領域設定値又はヒープ領域設定値を更新した後、改めて、対象アプリのインストール処理が実行されればよい。又は、対象機器のスタック領域設定値若しくはヒープ領域設定値がネットワーク通信によって変更可能な場合、インストール制御部２４は、ネットワーク通信によって対象機器のスタック領域設定値又はヒープ領域設定値を通知情報に含まれている値に変更した後、対象アプリ等をダウンロードし、対象機器にインストールしてもよい。
【００８３】
なお、機器管理装置２０は、必ずしも存在しなくてもよい。すなわち、機器管理装置２０が有する機能は、画像形成装置３０又はプログラム管理サーバ１０が有していてもよい。この場合、操作者は、対象機器の操作パネルを操作して、インストール指示を行えばよい。
【００８４】
又は、プログラム管理サーバ１０の全ての機能が機器管理装置２０に実装されていてもよい。プロダクトキー対応情報記憶部１４、組み合わせ情報記憶部１５、共存条件記憶部１６、及びプロクラム記憶部等を各ユーザ環境Ｅ１の機器管理装置２０に実装するのが冗長であれば、これらの記憶部は、プログラム管理サーバ１０において一元管理されてもよい。
【００８５】
上述したように、本実施の形態によれば、インストール対象となるプログラム（本実施の形態ではアプリケーション）の組み合わせごとに、当該組み合わせに係るプログラムが同時に動作した場合のメモリの使用量（消費量）が管理されている。したがって、プログラムごとのメモリ使用量を単純に加算する場合に比べて、メモリ使用量の予測の精度を向上させることができ、ひいては、プログラムのインストールの当否の判断の精度を向上させることができる。
【００８６】
また、一般的に、プログラムはバージョン管理されるところ、本実施の形態では、バージョン情報についても、組み合わせの可否（適否）が共存条件において管理される。斯かる点に基づいても、プログラムのインストールの当否の判断の精度を向上させることができる。
【００８７】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００８８】
１            インストール支援システム
１０          プログラム管理サーバ
１１          要求受信部
１２          インストール当否判定部
１３          プログラム提供部
１４          プロダクトキー対応情報記憶部
１５          組み合わせ情報記憶部
１６          共存条件記憶部
１７          プログラム記憶部
２０          機器管理装置
２１          要求受付部
２２          機器情報取得部
２３          インストール当否照会部
２４          インストール制御部
３０          画像形成装置
３１          機器情報提供部
３２          インストール部
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
Ｂ            バス
【先行技術文献】
【特許文献】
【００８９】
【特許文献１】特開２００６−２８５８７１号公報
【図１】
0005392203.tif 000002
【図２】
0005392203.tif 000003
【図３】
0005392203.tif 000004
【図４】
0005392203.tif 000005
【図５】
0005392203.tif 000006
【図６】
0005392203.tif 000007
【図７】
0005392203.tif 000008
【図８】
0005392203.tif 000009
【図９】
0005392203.tif 000010
【図１０】
0005392203.tif 000011