(57)【要約】【課題】より多くのプログラムをインストールできる技術を提供する。【解決手段】処理実行部１２は、処理情報記憶部１０に記憶された情報を用いて処理を実行する。動作確認情報記憶部１６中の期待動作情報は、処理実行部１２によって実現されるべき期待動作を表す。インストール制御部１４の動作確認部１４４は、期待動作情報を参照し、インストール対象のプログラムをインストールした場合に処理実行部１２によって期待動作が実現されるか否かを判定する。動作確認部１４４による判定は、インストール対象のプログラムに従った処理の実行に必要な情報の少なくとも一部が処理情報記憶部１０に記憶されていないと依存関係確認部１４０が判定した場合に行われる。インストール制御部１４は、期待動作が実現されると動作確認部１４４が判定した場合に、インストール対象のプログラムをインストールする。【選択図】図１
2011039721.tif 000002
【特許請求の範囲】
【請求項１】
処理情報記憶手段に記憶された情報を用いて処理を実行する処理手段と、
前記処理手段によって実現されるべき動作を表す動作情報を記憶した動作情報記憶手段を参照し、インストール対象のプログラムをインストールした場合に前記動作情報が表す動作が前記処理手段によって実現されるか否かを判定する判定手段であって、前記処理手段において前記インストール対象のプログラムに従った処理を実行するために必要な情報の少なくとも一部が前記処理情報記憶手段に記憶されていない場合に前記判定を行う判定手段と、
前記動作情報が表す動作が実現されると前記判定手段が判定した場合に、前記インストール対象のプログラムをインストールするインストール手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記処理情報記憶手段は、前記処理手段における処理の態様を定める設定情報を記憶し、
前記動作情報記憶手段は、前記動作情報が表す動作と、当該動作の実現に関連する前記設定情報と、を対応づける情報をさらに記憶し、
前記動作情報が表す動作が実現されないと前記判定手段が判定した場合に、当該動作に対応づけて前記動作情報記憶手段に記憶された前記設定情報を出力する出力手段、をさらに備える、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記判定手段は、さらに、前記動作情報が表す動作の実現に関連する前記設定情報の内容を変更した場合であって前記インストール対象のプログラムをインストールした場合に前記動作情報が表す動作が前記処理手段によって実現されるか否かを判定する、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記出力手段は、さらに、前記設定情報の内容を変更した場合であって前記インストール対象のプログラムをインストールした場合に前記動作情報が表す動作が前記処理手段によって実現されると前記判定手段が判定した場合に、変更後の前記設定情報の内容と、前記インストール対象のプログラムのインストールの可否を表す指示の入力を利用者に促す情報と、を出力する、
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記インストール手段は、さらに、前記入力を促す情報の出力に応じて利用者によって入力された指示であって前記インストール対象のプログラムのインストールの許可を表す指示を受け付けた場合に、前記インストール対象のプログラムをインストールする、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記インストール手段が前記インストールの許可を表す指示を受け付けて前記インストール対象のプログラムをインストールした場合に、前記変更後の前記設定情報の内容をさらに変更することが制限される、
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記判定手段は、さらに、前記出力手段が出力した前記設定情報の内容をどのように変更するかを指定する入力を受け付け、受け付けた入力で指定されたとおりに前記設定情報の内容を変更した場合であって前記インストール対象のプログラムをインストールした場合に前記処理手段によって前記動作情報が表す動作が実現されるか否かを判定する、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項８】
前記インストール対象のプログラムに従った処理を前記処理手段が実行するために必要な情報の少なくとも一部が前記記憶手段に記憶されていない場合に、当該記憶されていない情報の代替となる情報を、通信手段を介して他の情報処理装置から取得して前記処理情報記憶手段に記憶させる取得手段、をさらに備え、
前記判定手段は、さらに、前記取得手段が前記代替となる情報を取得したときに前記判定を行う、
ことを特徴とする請求項１から７のいずれか１項に記載の情報処理装置。
【請求項９】
前記動作情報は、前記処理手段により実現されるべき動作として利用者が予め設定した動作を表す、
ことを特徴とする請求項１から８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記動作情報は、前記処理手段による処理の実行の履歴を表す情報から生成される、
ことを特徴とする請求項１から８のいずれか１項に記載の情報処理装置。
【請求項１１】
処理情報記憶手段に記憶された情報を用いて処理を実行するコンピュータに、
前記コンピュータによって実現されるべき動作を表す動作情報を記憶した動作情報記憶手段を参照し、インストール対象のプログラムをインストールした場合に前記動作情報が表す動作が前記処理手段によって実現されるか否かを判定する判定ステップであって、前記コンピュータにおいて前記インストール対象のプログラムに従った処理を実行するために必要な情報の少なくとも一部が前記処理情報記憶手段に記憶されていないときに前記判定を行う判定ステップと、
前記判定ステップにおいて、前記動作情報が表す動作が実現されると判定された場合に、前記インストール対象のプログラムをインストールするステップと、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
情報処理装置において、ソフトウエアの追加又は更新を行う場合に、ソフトウエア同士の依存関係を確認し、依存関係を満足しないソフトウエアの追加又は更新を許可しないようにすることでシステムを保全する技術が知られている。
【０００３】
また、特許文献１には、セキュアプロセッサにアプレットをインストールするときに、アプレットを実行するためのリソースをセキュアプロセッサが有するか否かを確認し、当該リソースをセキュアプロセッサが有する場合にのみ、アプレットのインストールを提供する技術が開示されている。
【０００４】
また例えば、特許文献２には、プログラムの更新におけるプラス要因とマイナス要因とを考慮して、プログラムの更新処理を実行するか否かを決定する技術が開示されている。特許文献２に記載の技術では、現在のプログラムに対する最新のプログラムの変更内容の重要度を、機能追加による機能向上及び不具合対処による安定性向上などのプラス要因と、修正の影響範囲及び修正量などのマイナス要因と、に基づいて算出し、変更内容の重要度が予め定めた閾値を超えた場合に最新のプログラムへの更新又は更新を促す処理を行う。
【０００５】
また、ソフトウエアをアンインストール（削除）する時にシステムの保全のための処理を行う技術もある。例えば、特許文献３に記載の技術では、あるソフトウエアをオペレーティングシステムの管理下から除外するに際して、使用者の操作に基づく設定の内容を調査し、その設定を変更せずに当該ソフトウエアをオペレーティングシステムの管理下から除外することによって生じる影響を判断する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２００５−５０５０２８号公報
【特許文献２】特開２００６−３３１３９４号公報
【特許文献３】特開２００１−９２６４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、インストールされるソフトウエアについて依存関係が満足されない場合であっても、システムで実現されるべき動作には影響がないこともある。依存関係を満足しない場合は常にソフトウエアのインストールを許可しない技術では、システムで実現されるべき動作に影響がなくても、依存関係を満足しなければ、当該ソフトウエアはシステムにインストールされず、このシステムで当該ソフトウエアを利用することはできない。
【０００８】
本発明の目的は、依存関係を満足しない場合は常にソフトウエアのインストールを許可しない技術と比較して、より多くのソフトウエアをインストールできる情報処理装置及びプログラムを提供することである。
【課題を解決するための手段】
【０００９】
請求項１に係る発明は、処理情報記憶手段に記憶された情報を用いて処理を実行する処理手段と、前記処理手段によって実現されるべき動作を表す動作情報を記憶した動作情報記憶手段を参照し、インストール対象のプログラムをインストールした場合に前記動作情報が表す動作が前記処理手段によって実現されるか否かを判定する判定手段であって、前記処理手段において前記インストール対象のプログラムに従った処理を実行するために必要な情報の少なくとも一部が前記処理情報記憶手段に記憶されていない場合に前記判定を行う判定手段と、前記動作情報が表す動作が実現されると前記判定手段が判定した場合に、前記インストール対象のプログラムをインストールするインストール手段と、を備えることを特徴とする情報処理装置である。
【００１０】
請求項２に係る発明は、請求項１に係る発明において、前記処理情報記憶手段は、前記処理手段における処理の態様を定める設定情報を記憶し、前記動作情報記憶手段は、前記動作情報が表す動作と、当該動作の実現に関連する前記設定情報と、を対応づける情報をさらに記憶し、前記動作情報が表す動作が実現されないと前記判定手段が判定した場合に、当該動作に対応づけて前記動作情報記憶手段に記憶された前記設定情報を出力する出力手段、をさらに備える。
【００１１】
請求項３に係る発明は、請求項２に係る発明において、前記判定手段は、さらに、前記動作情報が表す動作の実現に関連する前記設定情報の内容を変更した場合であって前記インストール対象のプログラムをインストールした場合に前記動作情報が表す動作が前記処理手段によって実現されるか否かを判定する。
【００１２】
請求項４に係る発明は、請求項３に係る発明において、前記出力手段は、さらに、前記設定情報の内容を変更した場合であって前記インストール対象のプログラムをインストールした場合に前記動作情報が表す動作が前記処理手段によって実現されると前記判定手段が判定した場合に、変更後の前記設定情報の内容と、前記インストール対象のプログラムのインストールの可否を表す指示の入力を利用者に促す情報と、を出力する。
【００１３】
請求項５に係る発明は、請求項４に係る発明において、前記インストール手段は、さらに、前記入力を促す情報の出力に応じて利用者によって入力された指示であって前記インストール対象のプログラムのインストールの許可を表す指示を受け付けた場合に、前記インストール対象のプログラムをインストールする。
【００１４】
請求項６に係る発明は、請求項５に係る発明において、前記インストール手段が前記インストールの許可を表す指示を受け付けて前記インストール対象のプログラムをインストールした場合に、前記変更後の前記設定情報の内容をさらに変更することが制限される。
【００１５】
請求項７に係る発明は、請求項２に係る発明において、前記判定手段は、さらに、前記出力手段が出力した前記設定情報の内容をどのように変更するかを指定する入力を受け付け、受け付けた入力で指定されたとおりに前記設定情報の内容を変更した場合であって前記インストール対象のプログラムをインストールした場合に前記処理手段によって前記動作情報が表す動作が実現されるか否かを判定する。
【００１６】
請求項８に係る発明は、請求項１から７のいずれか１項に係る発明において、前記インストール対象のプログラムに従った処理を前記処理手段が実行するために必要な情報の少なくとも一部が前記記憶手段に記憶されていない場合に、当該記憶されていない情報の代替となる情報を、通信手段を介して他の情報処理装置から取得して前記処理情報記憶手段に記憶させる取得手段、をさらに備え、前記判定手段は、さらに、前記取得手段が前記代替となる情報を取得したときに前記判定を行う。
【００１７】
請求項９に係る発明は、請求項１から８のいずれか１項に係る発明において、前記動作情報は、前記処理手段により実現されるべき動作として利用者が予め設定した動作を表す。
【００１８】
請求項１０に係る発明は、請求項１から８のいずれか１項に係る発明において、前記動作情報は、前記処理手段による処理の実行の履歴を表す情報から生成される。
【００１９】
請求項１１に係る発明は、処理情報記憶手段に記憶された情報を用いて処理を実行するコンピュータに、前記コンピュータによって実現されるべき動作を表す動作情報を記憶した動作情報記憶手段を参照し、インストール対象のプログラムをインストールした場合に前記動作情報が表す動作が前記処理手段によって実現されるか否かを判定する判定ステップであって、前記コンピュータにおいて前記インストール対象のプログラムに従った処理を実行するために必要な情報の少なくとも一部が前記処理情報記憶手段に記憶されていないときに前記判定を行う判定ステップと、前記判定ステップにおいて、前記動作情報が表す動作が実現されると判定された場合に、前記インストール対象のプログラムをインストールするステップと、を実行させることを特徴とするプログラムである。
【発明の効果】
【００２０】
請求項１又は１１に係る発明によると、依存関係を満足しない場合は常にソフトウエアのインストールを許可しない技術と比較して、より多くのソフトウエアをインストールできる。
【００２１】
請求項２に係る発明によると、処理手段によって実現されるべき動作の実現に関連する設定情報をユーザに提供できる。
【００２２】
請求項３に係る発明によると、設定情報の内容を変更すれば処理手段によって実現されるべき動作が実現されるか否かを確認できる。
【００２３】
請求項４に係る発明によると、設定情報の内容を変更すれば処理手段によって実現されるべき動作が実現される旨を通知した上で、インストールの可否をユーザに問い合わせることができる。
【００２４】
請求項５に係る発明によると、設定情報の内容を変更すれば処理手段によって実現されるべき動作が実現される場合であってユーザがインストールを許可した場合に、インストールを実行することができる。
【００２５】
請求項６に係る発明によると、処理手段によって実現されるべき動作の実現のために設定情報の内容を変更した上でインストールを実行した場合に、その変更後の設定情報の内容をさらに変更することを制限できる。
【００２６】
請求項７に係る発明によると、指定されたとおりに設定情報を変更した上でインストールを実行した場合に、処理手段によって実現されるべき動作が実現されるか否かを判定できる。
【００２７】
請求項８に係る発明によると、インストール対象のプログラムに従った処理を処理手段が実行するために必要な情報の少なくとも一部が不足する場合であって、この不足する情報の代替として取得された情報を用いる場合に、処理手段によって実現されるべき動作が実現されるか否かを判定できる。
【００２８】
請求項９に係る発明によると、処理手段により実現されるべき動作をユーザが設定できる。
【００２９】
請求項１０に係る発明によると、処理手段による処理の実行の履歴を用いて、処理手段により実現されるべき動作を決定することができる。
【図面の簡単な説明】
【００３０】
【図１】本発明の１つの実施形態による情報処理装置の概略構成の例を示すブロック図である。
【図２】動作・設定対応情報の内容の例を示す図である。
【図３】インストール制御部が実行する処理の手順の例を示すフローチャートである。
【図４】動作解決処理の詳細手順の例を示すフローチャートである。
【図５】情報処理装置の表示装置に表示される表示画面の例を示す図である。
【図６】動作解決処理の詳細手順の他の例を示すフローチャートである。
【図７】インストール制御部が実行する処理の手順の他の例を示すフローチャートである。
【図８】モジュール及びライブラリの依存関係の例を示す図である。
【図９】更新版のモジュールのインストールに関する処理の例を説明するための図である。
【図１０】更新版のモジュールのインストールに関する処理の例を説明するための図である。
【図１１】コンピュータのハードウエア構成の例を示す図である。
【発明を実施するための形態】
【００３１】
図１は、本発明の１つの実施形態における情報処理装置の概略構成の例を示すブロック図である。図１の例の情報処理装置１は、例えば、ＰＣ（パーソナルコンピュータ）などのコンピュータ端末である。また例えば、印刷、複写、スキャン、及びファクシミリ送受信のうちの１以上の機能を備える画像形成装置の動作を制御する制御装置の一部として、情報処理装置１を実現してもよい。
【００３２】
図１の例の情報処理装置１は、処理情報記憶部１０、処理実行部１２、動作確認情報記憶部１６、インストール制御部１４、期待動作情報登録処理部１８、入力部２０、通信部２２、及び出力部２４を備える。
【００３３】
処理情報記憶部１０は、情報処理装置１における処理の実行に用いられる情報を記憶する記憶装置である。本例の処理情報記憶部１０は、ソフトウエアの特定の機能を実現するための処理の手順を記述したプログラムであるソフトウエアモジュール（以下、単に「モジュール」と呼ぶ）と、他のプログラムの処理の実行中に呼び出されて実行されるプログラムを纏めたライブラリとを記憶する。処理情報記憶部１０は、複数のモジュール及びライブラリを記憶していてよい。モジュール及びライブラリの組み合せによって、ＯＳ（オペレーティングシステム）及び各種のアプリケーションソフトが構成される。なお、以下では、モジュール及びライブラリを総称してモジュール等と呼ぶこともある。
【００３４】
処理情報記憶部１０は、また、情報処理装置１における処理の態様を定める設定情報を記憶する。設定情報は、例えば、他の装置と情報処理装置１との間の通信に関する設定及び処理対象の情報のセキュリティに関する設定などの情報を含む。通信に関する設定の情報は、例えば、有線又は無線などの通信の方式、通信プロトコル（ＴＣＰ（Ｔｒａｎｓｆｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ），ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）など）、及び通信におけるセキュリティの設定（ファイアウォールに関する設定など）を定める情報であってよい。処理対象の情報のセキュリティに関する設定は、例えば、情報の開示範囲などを定める情報であってよい。設定情報の他の例として、情報処理装置１で行われる特定の処理の速度及び情報処理装置１の起動時間などに関する情報が挙げられる。さらに他の例として、情報処理装置１が画像形成装置の制御装置の一部として実現される場合、設定情報は、複写又は印刷処理の速度（用紙枚数／単位時間）及びカラー印刷又は白黒印刷の別など、画像形成に関する処理の態様を定める情報を含んでいてよい。なお、本例の設定情報は、上述の例のような設定の各項目（通信方式、セキュリティ、処理速度など）の現在の設定値と、各項目が取り得る設定値と、を含むものとする。
【００３５】
処理実行部１２は、処理情報記憶部１０に記憶された情報を用いて各種の処理を実行する。例えば、処理実行部１２は、処理情報記憶部１０中のモジュールを取得し、当該モジュールで記述された手順に従った処理を実行する。また、処理実行部１２は、処理情報記憶部１０中の設定情報を参照し、この設定情報に従って各種の処理を実行する。
【００３６】
インストール制御部１４は、情報処理装置１に対するモジュール等のインストールを制御する。ここで、インストールとは、新規の、あるいは更新版のモジュール等を処理実行部１２にとって利用可能な状態にすることを意味する。以下では、処理情報記憶部１０中に存在しない新規のモジュール等、又は処理情報記憶部１０中に存在するモジュール等の更新版を処理情報記憶部１０に記憶させることを「インストール」と呼ぶ。インストールの対象のモジュール等は、例えば、インターネット及びＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワークを介して情報処理装置１に接続されたサーバなどから通信部２２により取得され、インストール制御部１４に渡される。また、インストール制御部１４は、ＣＤ及びＤＶＤ等の記録媒体に記録された情報を読み取る読取装置（図示しない）を介してインストール対象のモジュール等を取得することもある。
【００３７】
インストール制御部１４は、依存関係確認部１４０、依存関係解決部１４２、動作確認部１４４、及び設定変更処理部１４６を備える。
【００３８】
依存関係確認部１４０は、インストール対象のモジュール等が処理情報記憶部１０中にすでに存在するモジュール等との間で依存関係を満足するか否かを判定する。モジュール等の間の依存関係とは、あるモジュール等に従った処理の実行に他のモジュール等が必要である関係を言う。例えば、あるモジュールＸに従った処理の実行のために他のモジュールＹが必要である場合、「モジュールＸはモジュールＹに依存する」と言う。インストール対象のモジュール等について依存関係を満足するか否かの判定は、インストール対象のモジュール等が依存するモジュール等が処理情報記憶部１０中に存在するか否かを判定することで行われる。言い換えると、依存関係確認部１４０は、インストール対象のモジュール等に従った処理の実行に必要なモジュール等が処理情報記憶部１０中に存在するか否かを判定する。インストール対象のモジュール等が依存するモジュール等を特定するための情報は、例えば、インストール対象のモジュール等の中に含まれている。あるいは、例えば、インストール対象のモジュール等とは別に（ただしインストール対象のモジュール等と関連づけられて）取得されてもよい。
【００３９】
依存関係解決部１４２は、インストール対象のモジュール等が依存関係を満足しないと依存関係確認部１４０で判定された場合に、処理情報記憶部１０中で不足しているモジュール等を取得する処理を行う。例えば、ネットワークを介して情報処理装置１に接続されたサーバなどに対して、不足するモジュール等の提供を要求したり、情報処理装置１に接続されたデータベース（図示しない）を参照して、不足するモジュール等を検索したりする。
【００４０】
動作確認部１４４は、インストール対象のモジュール等が依存関係を満足しないと依存関係確認部１４０で判定された場合に、インストール対象のモジュール等をインストールしたときの処理実行部１２の動作を確認する。そして、依存関係を満足しない当該モジュール等をインストールしたとしても処理実行部１２で実現されるべき動作が実現されるか否かを判定する。この判定において、動作確認部１４４は、動作確認情報記憶部１６に記憶された期待動作情報を参照する。期待動作情報は、処理実行部１２で実現されるべき動作（以下、「期待動作」と呼ぶ）を表す情報である。期待動作が実現されると動作確認部１４４で判定された場合、当該モジュール等は、インストール制御部１４によりインストールされる。
【００４１】
設定変更処理部１４６は、処理情報記憶部１０中の設定情報の内容の変更に関する処理を行う。設定変更処理部１４６は、例えば、期待動作が実現されないと動作確認部１４４で判定された場合に、当該期待動作に関連する設定を特定し、特定した設定の変更の可否をユーザに問い合わせる情報を生成して出力部２４を用いて出力する。また、設定変更処理部１４６は、処理情報記憶部１０中の設定情報のうち期待動作に関連する項目の設定値を書き換え、書き換え後の設定で期待動作が実現されるか否かを動作確認部１４４に確認させることもある。
【００４２】
動作確認情報記憶部１６は、動作確認部１４４及び設定変更処理部１４６が用いる情報を記憶する。本例の動作確認情報記憶部１６は、期待動作情報及び動作・設定対応情報を記憶する。
【００４３】
期待動作情報は、処理実行部１２で実現されるべき期待動作を表す情報である。期待動作情報は、例えば、期待動作として管理者又はユーザが予め設定した動作を表す情報であってよい。あるいは、処理実行部１２の処理の履歴から期待動作として生成された動作を表す情報を期待動作情報としてもよい。また例えば、処理情報記憶部１０中のモジュールによって実現されるべき動作を表す情報として、当該モジュールに関連づけられて取得された情報であってもよい。期待動作の例としては、ある機能の実行の可否及び実行性能などが挙げられる。具体例として、情報処理装置１が画像形成装置の制御装置の一部として実現されている場合であれば、「スキャンしたデータをＴＩＦＦ（Ｔａｇｇｅｄ  Ｉｍａｇｅ  Ｆｉｌｅ  Ｆｏｒｍａｔ）形式で電子メール送信する」，「１分間にＮ枚スキャンする」，「ｘ秒で画像形成装置を起動する」などが考えられる。
【００４４】
動作・設定対応情報は、期待動作に関連する設定を表す情報である。図２に、動作・設定対応情報の内容の例を示す。図２の例の表では、期待動作のそれぞれに対応づけて、当該期待動作に関連する設定の項目が登録されている。動作・設定対応情報において登録される設定の項目は、対応する期待動作が実現されないと動作確認部１４４で判定された場合に、その設定を変更すれば当該期待動作を実現できる可能性があることが判明している項目である。図２の例の表の行Ｌを参照し、期待動作「１分間にＮ枚スキャンする」に対応づけて、この期待動作を実現可能にし得る設定として、「画像データの形式」及び「画像データの最大サイズ」が登録されている。このような設定の項目は、例えば、対応する期待動作を実現するためのソフトウエアの開発者などにより予め決定され、当該ソフトウエアのモジュール等に含まれて、あるいは、そのモジュール等と関連づけられて、情報処理装置１により取得される。本例においては、インストール制御部１４が、モジュール等のインストール時に、当該モジュール等に関して取得された設定の項目のうち期待動作情報が表す期待動作に関する項目を、当該期待動作に対応づけて動作確認情報記憶部１６中の動作・設定対応情報の一部として登録する。また、インストール制御部１４は、期待動作情報において新たな期待動作が登録されたときに、当該期待動作に関連する設定の項目を、処理情報記憶部１０に記憶された（インストール済みの）モジュール等に関して前述のように取得された項目の中から検索して動作・設定対応情報の一部として登録することもある。
【００４５】
再び図１を参照し、期待動作情報登録処理部１８は、期待動作情報を登録する処理を行う。期待動作情報登録処理部１８は、例えば、入力部２０を介して管理者又はユーザが入力した期待動作を動作確認情報記憶部１６に登録する。また、期待動作情報登録処理部１８は、処理実行部１２の処理によって実現される動作を監視し、その動作の履歴から期待動作情報を生成して動作確認情報記憶部１６に登録してもよい。
【００４６】
入力部２０は、管理者又はユーザによる指示の入力を受け付けて処理実行部１２、インストール制御部１４、又は期待動作情報登録処理部１８に渡す。入力部２０は、例えば、キーボード、マウス、及びタッチパネルなどの入力装置であってよい。
【００４７】
通信部２２は、ネットワークを介して情報処理装置１に接続された他の装置（サーバなど）との間で情報の送受信を行うためのインタフェースである。通信部２２は、他の装置から受信した情報を処理実行部１２又はインストール制御部１４に渡したり、処理実行部１２又はインストール制御部１４から取得した情報を他の装置に対して送信したりする。
【００４８】
出力部２４は、処理実行部１２、インストール制御部１４、及び期待動作情報登録処理部１８による処理の結果を出力する。
【００４９】
以下、インストール制御部１４における処理の例を説明する。
【００５０】
図３は、新規又は更新版のモジュール等のインストールの際にインストール制御部１４が実行する処理の手順の例を示すフローチャートである。
【００５１】
インストール制御部１４は、インストール対象のモジュール等を取得すると、図３の例の手順の処理を開始する。図３の例の手順の処理が開始されると、インストール制御部１４の依存関係確認部１４０は、インストール対象のモジュール等が、処理情報記憶部１０中にすでに記憶されているインストール済みのモジュール等との間で依存関係を満足するか否かを確認する（ステップＳ１）。ここで、依存関係確認部１４０は、インストール対象のモジュール等に従った処理の実行に必要なモジュール等のすべてが処理情報記憶部１０中に存在するか否かを確認する。さらに、必要なモジュール等のバージョン（版）も確認する。インストール対象のモジュール等に従った処理の実行に必要なモジュール等及びそのバージョンは、インストール対象のモジュール等に含まれる情報、又は、インストール対象のモジュール等に関連づけられて取得された情報を用いて特定される。本例のステップＳ１で、依存関係確認部１４０は、インストール対象のモジュール等に従った処理の実行に必要なモジュール等のすべてが処理情報記憶部１０中に存在し、かつ、各モジュール等のバージョンがインストール対象のモジュール等の処理の実行に必要なバージョンであれば、依存関係を満足すると判定する。また、必要なモジュール等の少なくとも一部が処理情報記憶部１０中に存在しないか、あるいは、処理情報記憶部１０中に存在するモジュール等のうち必要なバージョンと異なるバージョンを有するものがある場合、依存関係を満足しないと判定する。
【００５２】
依存関係を満足すると判定された場合（ステップＳ２でＹＥＳ）、インストール制御部１４は、インストール対象のモジュール等を処理情報記憶部１０に記憶させることでインストールする（ステップＳ１１）。
【００５３】
依存関係を満足しないと判定された場合（ステップＳ２でＮＯ）、依存関係解決部１４２により、依存関係の解決のための処理が行われる（ステップＳ３）。依存関係解決部１４２は、通信部２２及びネットワークを介して情報処理装置１に接続された他の装置（サーバ又はデータベース等）に対して、インストール対象のモジュール等に従った処理の実行のために不足するモジュール等の提供を要求する。この要求に応じて、不足するモジュール等が他の装置から送信されると、依存関係解決部１４２は、当該送信されたモジュール等を取得して処理情報記憶部１０に記憶させる。なお、「不足するモジュール等」とは、依存関係確認処理（ステップＳ１）において、処理情報記憶部１０中に存在しないことが判明したモジュール等、及び、必要なバージョンと異なるバージョンを有することが判明したモジュール等を指す。
【００５４】
依存関係解決部１４２が不足するモジュール等のすべてを取得した場合、つまり、依存関係の解決に成功した場合（ステップＳ４でＹＥＳ）、インストール制御部１４は、インストール対象のモジュール等をインストールする（ステップＳ１１）。
【００５５】
不足するモジュール等のうち依存関係解決部１４２において取得できないものがあった場合、つまり、依存関係の解決に失敗した場合（ステップＳ４でＮＯ）、動作確認部１４４及び設定変更処理部１４６により動作解決処理が行われる（ステップＳ５）。図４に、動作解決処理の詳細手順の例を示す。図４の例の手順の処理は、図３のステップＳ５が開始されると開始される。
【００５６】
図４を参照し、動作確認部１４４は、インストール対象のモジュール等をインストールした場合に、処理実行部１２で期待動作が実現されるか否かを確認する（ステップＳ５０）。確認の対象となる期待動作は、動作確認情報記憶部１６に記憶された期待動作情報から取得される。また、インストール対象のモジュール等によって初めて実現可能となる期待動作を表す情報がインストール対象のモジュール等に関連づけられて取得される場合もある。この場合、ステップＳ５０の動作確認処理において、動作確認部１４４は、インストール対象のモジュール等に関連づけられた新たな期待動作を表す情報を動作確認情報記憶部１６の期待動作情報の一部として記憶させる。その上で、すでに動作確認情報記憶部１６に記憶されていた期待動作情報が表す期待動作と、インストール対象のモジュール等に関連づけられて取得された新たな期待動作と、のそれぞれについて、処理実行部１２で実現されるか否かを確認する。
【００５７】
以下、ステップＳ５０の動作確認処理の例を述べる。一例として、動作確認処理は、インストール対象のモジュール等をインストールした状態の処理実行部１２の動作をシミュレーションするテストツールを用いて行えばよい。このテストツールは、シミュレーションの手順を記述したプログラムであり、例えば、インストール対象のモジュール等と共にインストール制御部１４により取得される。動作確認部１４４は、テストツールに従って処理実行部１２の動作をシミュレーションした結果が期待動作の実現を表すものであるか否かを確認する。
【００５８】
ステップＳ５０の処理の他の例として、処理情報記憶部１０及び処理実行部１２と同様の機能を備える仮想的な情報処理装置を情報処理装置１上に構築しておき、当該仮想的な情報処理装置を用いて動作確認を行ってもよい。つまり、仮想的な情報処理装置において、インストール対象のモジュール等をインストールし、期待動作に関する処理を実行させて、期待動作が実現されるか否かを確認する。
【００５９】
さらに他の例では、仮想的な処理部を用いる代わりに、ステップＳ５０において、情報処理装置１にインストール対象のモジュール等を実際にインストールした上で、期待動作に関する処理を処理実行部１２に実行させ、期待動作が実現されるか否かを確認してもよい。実際にインストールして動作確認を行う本例の場合、後述の処理ステップＳ５８でインストール不可となった場合、インストール対象のモジュール等を処理情報記憶部１０から削除してアンインストールする。
【００６０】
あるいは、例えば、情報処理装置１でシミュレーションなどの処理を実行して動作確認する代わりに、ステップＳ５０で、情報処理装置１と同様の設定情報を有する他の情報処理装置においてインストール対象のモジュール等をインストールした場合の動作実績を参照し、情報処理装置１の動作確認情報記憶部１６中の期待動作情報が表す期待動作が実現されているか否かを確認してもよい。他の情報処理装置の動作実績を参照する本例の場合、例えば、情報処理装置１を含む複数の情報処理装置にネットワークを介して接続される管理サーバを設け、この管理サーバにおいて、複数の情報処理装置の動作実績を収集したデータベースが構築される。情報処理装置１の動作確認部１４４は、ステップＳ５０の動作確認処理において、このような管理サーバのデータベースを参照して、インストール対象のモジュール等をインストールした他の情報処理装置において期待動作が実現されているか否かを確認すればよい。
【００６１】
以上で各種の例を説明した動作確認処理の結果、期待動作が実現されると判定された場合（ステップＳ５２でＹＥＳ）、動作確認部１４４は、インストール対象のモジュール等をインストール可能であることを示す情報を生成し（ステップＳ６２）、図４の例の手順の処理を終了する。
【００６２】
一方、動作確認処理の結果、期待動作が実現されないと判定された場合（ステップＳ５２でＮＯ）、インストール制御部１４の設定変更処理部１４６は、動作確認情報記憶部１６中の動作・設定対応情報において、実現されないと判定された期待動作と対応づけられた設定の項目を取得する。そして、取得した設定の項目の現在の設定値及び当該項目の取り得る値を処理情報記憶部１０中の設定情報から取得し、設定の変更内容の候補を表す情報を生成する。変更内容の候補を表す情報は、例えば、実現されないと判定された期待動作と対応づけられた設定の各項目と、各項目の取り得る設定値のうち現在の設定値以外の値と、を含んでいてよい。設定変更処理部１４６は、変更内容の候補を表す情報を生成すると、生成した情報を出力する（以上、ステップＳ５４）。本例では、ステップＳ５４において、設定変更処理部１４６は、設定の変更内容の候補とともに、設定の変更を許可するか否かを表す情報の入力をユーザに促す情報を出力する。なお、設定を変更することで実現可能となり得る期待動作を表す情報をさらに出力してもよい。
【００６３】
図５は、ステップＳ５４で出力されて情報処理装置１の表示装置（図示しない）に表示される表示画面の一例を示す。図５の例で、インストール対象は「モジュールＡ」である。また、実現されないと判定された期待動作に関する設定の項目は「機能ＸＸＸ」であり、「機能ＸＸＸ」の現在の設定値は「オン」であり、かつ、変更後の設定値の候補は「オフ」である。よって、図５の例の表示画面は、「機能ＸＸＸ」の設定値を「オフ」に変更することの可否を表す情報の入力をユーザに促すものである。
【００６４】
設定変更処理部１４６による出力を確認したユーザは、入力部２０を用いて、設定の変更の可否を入力する。図５の例では、マウスなどを用いて「はい」又は「いいえ」のボタンを押下することで、この入力を行う。他の例において、複数の変更内容の候補が出力されていた場合であって設定の変更を許可する場合、ユーザは、さらに、どの変更内容で設定を変更するかを指定する情報を入力する。例えば、複数の設定の項目がある場合には、どの項目の値の変更を許可するかを指定し、１つの項目について変更後の設定値の候補が複数ある場合には、どの設定値の候補を選択するかを指定する情報を入力する。設定変更処理部１４６は、入力部２０を介して、上述のようなユーザの入力を受け付ける。
【００６５】
再び図４を参照し、ステップＳ５４の出力の後に受け付けた入力において設定の変更が許可されていれば（ステップＳ５６でＹＥＳ）、設定変更処理部１４６は、受け付けた入力で指定された内容で設定変更を行う（ステップＳ６０）。ステップＳ６０で、例えば、設定変更処理部１４６は、ユーザの入力で指定された設定の項目の現在の値を一時記憶装置（図示しない）に保持すると共に、処理情報記憶部１０中の設定情報において、指定された項目の値を指定されたとおりに書き換える。ステップＳ６０の設定変更処理の後、ステップＳ５０以下の処理が繰り返される。
【００６６】
設定の変更内容の候補の出力に応じたユーザの入力において、設定の変更が許可されていなければ（ステップＳ５６でＮＯ）、設定変更処理部１４６は、インストール対象のモジュール等のインストールを許可しない旨を表す情報を生成する（ステップＳ５８）。ここまでの間にステップＳ６０で設定変更処理が実行されていれば、ステップＳ５８で、変更された設定の項目の値を変更前の値に戻してもよい。ステップＳ５８の後、図４の例の手順の処理は終了する。
【００６７】
図４の例のステップＳ５０，Ｓ５２，Ｓ５４，Ｓ５６，Ｓ６０を含むループ処理によると、ユーザが許可した設定の変更によって期待動作が実現される場合に、インストール対象のモジュール等のインストールが許可される。
【００６８】
再び図３を参照し、動作解決処理（ステップＳ５，図４）の結果、インストールが可能である旨を表す情報が生成されていれば（ステップＳ７でＹＥＳ）、インストール制御部１４は、インストール対象のモジュール等をインストールする（ステップＳ１１）。
【００６９】
動作解決処理の結果、インストールを許可しない旨を表す情報が生成されていれば（ステップＳ７でＮＯ）、インストール制御部１４は、出力部２４を用いて、インストール対象のモジュール等をインストールしないことを表す警告を出力する（ステップＳ９）。
【００７０】
警告の出力（ステップＳ９）又はインストール（ステップＳ１１）の後、図３の例の手順の処理は終了する。
【００７１】
図６は、図３のステップＳ５で実行される動作解決処理の手順の他の例を示すフローチャートである。図３のステップＳ５において、上記で説明した図４の例の手順の代わりに、図６の例の手順の処理を行ってもよい。
【００７２】
図６を参照し、まず、動作確認部１４４により、動作確認処理が行われる（ステップＳ５１）。動作確認処理は、図４のステップＳ５０を参照して説明したのと同様の処理であってよい。
【００７３】
動作確認処理の結果、期待動作が実現されない場合（ステップＳ５３でＮＯ）、設定変更処理部１４６は、設定の変更内容の候補を特定する（ステップＳ５５）。ステップＳ５５で、設定変更処理部１４６は、図４のステップＳ５４を参照して上記で説明した、変更内容の候補を表す情報を生成する処理と同様の処理を行うことで、設定の変更内容の候補を特定する。
【００７４】
ステップＳ５５で特定した変更内容の候補のうち未処理のものがあり、かつ、動作解決処理の開始からの経過時間が予め設定された閾値以下である場合（ステップＳ５７でＹＥＳ）、設定変更処理部１４６は、変更内容の候補のうちの１つを選択し、その候補の内容に従って、処理情報記憶部１０中の設定情報を書き換える（ステップＳ５９）。本例では、ステップＳ５９で、設定変更処理部１４６は、変更前の設定の項目の値を一時記憶装置（図示しない）に記憶させておく。ステップＳ５９の後、ステップＳ５１以下の処理が繰り返される。
【００７５】
ステップＳ５５で特定した変更内容の候補のすべてが処理済みであるか、又は、動作解決処理の開始からの経過時間が閾値を超えている場合（ステップＳ５７でＮＯ）、設定変更処理部１４６は、インストール対象のモジュール等のインストールを許可しない旨を表す情報を生成する（ステップＳ６１）。ここまでの間にステップＳ５９で設定変更処理が実行されていれば、ステップＳ６１で、変更された設定の項目の値を変更前の値に戻してもよい。ステップＳ６１の後、図６の例の手順の処理は終了する。
【００７６】
以上、図６の例において、動作確認処理（ステップＳ５１）の結果、期待動作が実現されないと判定された場合（ステップＳ５３でＮＯ）の処理の手順を説明した。以下、期待動作が実現されると判定された場合（ステップＳ５３でＹＥＳ）の処理の手順を説明する。
【００７７】
ステップＳ５３でＹＥＳに進むと、インストール制御部１４は、これまでの間にステップＳ５９で設定変更処理が実行されているか否かを判定する（ステップＳ６３）。
【００７８】
設定変更処理が実行されていなければ（ステップＳ６３でＮＯ）、インストール対象のモジュール等のインストールの実行を許可する旨を表す情報が生成され（ステップＳ６９）、図６の例の手順の処理は終了する。
【００７９】
設定変更処理が実行されていれば（ステップＳ６３でＹＥＳ）、設定変更処理部１４６は、出力部２４を用いて、期待動作を実現する設定の内容として、ステップＳ５９による変更処理の後の設定値を出力する（ステップＳ６５）。ステップＳ６５で出力されて情報処理装置１の表示装置に表示される表示画面の態様は、図５の例の表示画面と同様であってよい。
【００８０】
ステップＳ６５の出力を確認したユーザは、出力された設定の内容の変更を行った上でインストールを実行することの可否を指示する情報を入力する。この入力は、入力部２０を介して、設定変更処理部１４６により受け付けられる。
【００８１】
受け付けた入力においてインストールが許可されていれば（ステップＳ６７でＹＥＳ）、インストール対象のモジュール等のインストールの実行を許可する旨を表す情報が生成され（ステップＳ６９）、図６の例の手順の処理は終了する。
【００８２】
受け付けた入力においてインストールが許可されていなければ（ステップＳ６７でＮＯ）、インストールの実行を許可しない旨を表す情報が生成され（ステップＳ６１）、図６の例の手順の処理は終了する。
【００８３】
図６の例の手順では、図４のようにユーザの許可を得てから設定の変更を行う代わりに、まず設定変更を行って期待動作を実現可能な設定内容を検索し（ステップＳ５１，Ｓ５３，Ｓ５５、Ｓ５７，Ｓ５９を含むループ）、その検索結果の設定内容におけるインストールの可否をユーザに問い合わせる（ステップＳ６５，Ｓ６７）。図６の例の手順の処理は期待動作を実現可能な設定内容を自動的に特定する処理であると捉えてもよい。
【００８４】
図３から図６を参照して以上で説明した処理では、インストール対象のモジュール等について依存関係の解決に失敗すると、設定変更による期待動作の実現の可否を確認する動作解決処理が実行される。そして、期待動作が実現可能であれば、インストール対象のモジュール等がインストール済みのモジュール等との間で依存関係を満足しなくても、インストールは実行される（ステップＳ１１）。
【００８５】
また、以上で説明した例の処理において、設定変更によっても期待動作を実現できない場合又はユーザが設定変更を許可しない場合、インストールの実行は許可されない。本例のインストール制御部１４は、動作解決処理の結果、インストールの実行が許可されない場合、再度、依存関係解決部１４２によって、依存関係の解決を試みることがある。図７に、この場合にインストール制御部１４が行う処理の手順の例を示す。インストール制御部１４は、例えば、図３の例のステップＳ９で警告を出力した後、図７の例の手順の処理を開始する。
【００８６】
図７を参照し、依存関係解決部１４２は、通信部２２及びネットワークを介して、情報処理装置１と接続された他の装置と通信を行い、インストール対象のモジュール等に関して、一時的に依存関係を解決できる情報を取得する（ステップＳ２０）。依存関係解決部１４２は、取得した情報を処理情報記憶部１０に記憶させる。ステップＳ２０では、依存関係解決部１４２は、不足するモジュール等自体でなく、不足するモジュール等の代わりに依存関係を解決可能なモジュール等を検索して取得する。不足するモジュール等自体の検索に関しては、ステップＳ２０の前に行われた依存関係解決処理（図３のステップＳ３）ですでに失敗しているためである。ステップＳ２０で取得されるモジュール等は、インストール対象のモジュール等に関して依存関係を解決可能ではあるが、後に不足するモジュール等自体が情報処理装置１において取得されると処理情報記憶部１０から削除される。この意味で、ステップＳ２０で取得されるモジュール等は、「一時的に」依存関係を解決するものである。
【００８７】
以下、図８から図１０を参照し、ステップＳ２０で取得され得る情報の具体例を説明する。図７の例の手順の開始時に、モジュールＡ、モジュールＢ、及びライブラリ１が処理情報記憶部１０に記憶されていたとする（図８）。図８の矢印は、モジュールＡ及びモジュールＢがライブラリ１に依存することを表す。この例において、新たなライブラリ２に依存するモジュールＡの更新版（モジュールＡ＿ｖ２）がインストール対象であり、ライブラリ２は、処理情報記憶部１０中に存在しないとする（図９）。また、ライブラリ２は、図３のステップＳ３の依存関係解決処理において発見されなかったとする。このとき、図７のステップＳ２０で、依存関係解決部１４２は、ライブラリ２の代わりにモジュールＡ＿ｖ２について依存関係を解決可能なモジュール等を検索する。本例において、依存関係解決部１４２は、モジュールＡ＿ｖ２と古いライブラリ１との間の互換性を実現する仮モジュール（図９）を発見でき、取得できたとする。この仮モジュールは、古いライブラリ１を用いて、モジュールＡ＿ｖ２に従った処理の実行を可能とする。モジュールＡ＿ｖ２は、仮モジュールに依存し、この仮モジュールが処理情報記憶部１０中に存在すれば、新しいライブラリ２が存在しなくてもモジュールＡ＿ｖ２に従った処理は実行可能である。図９に例示する仮モジュールは、不足するライブラリ２の代わりにモジュールＡ＿ｖ２について依存関係を解決可能なモジュールである。ただし、新しいライブラリ２が後に取得されると、仮モジュール及び古いライブラリ１は処理情報記憶部１０から削除される（図１０）。
【００８８】
ステップＳ２０における情報の取得に失敗した場合（ステップＳ２２でＮＯ）、インストール制御部１４は、ステップＳ２４以下の処理を行わずに図７の例の手順の処理を終了する。
【００８９】
ステップＳ２０における情報の取得に成功した場合（ステップＳ２２でＹＥＳ）、依存関係解決部１４２は、一時的に依存関係を解決する情報を取得して依存関係を解決した旨を記録する（ステップＳ２４）。この記録は、例えば、その旨を表す情報を処理情報記憶部１０に記憶させることで行えばよい。
【００９０】
ステップＳ２４の後、動作確認部１４４及び設定変更部１４６による動作解決処理が行われる（ステップＳ５）。ここでの動作解決処理は、不足するモジュール等そのものではない代替のモジュール等によって一時的に依存関係を解決してインストール対象のモジュール等をインストールした場合に期待動作が実現されるか否かを確認するために行われる。なお、この動作解決処理は、図４又は図６に例示する手順に従って行えばよい。
【００９１】
動作解決処理の後、その処理の結果を記録する（ステップＳ２６）。ステップＳ２６では、動作解決処理の結果として、インストールの可否、及び、設定変更処理（図４のステップＳ６０又は図６のステップＳ５９）を行った場合はその変更の前後の設定値を記録する。
【００９２】
そして、動作解決処理の結果、インストールが許可されていれば（ステップＳ２８でＹＥＳ）、インストール対象のモジュール等をインストールして（ステップＳ３２）、処理を終了する。
【００９３】
インストールが許可されていなければ（ステップＳ２８でＮＯ）、警告を出力して（ステップＳ３０）、処理を終了する。
【００９４】
図７の例の手順では、一時的に依存関係を解決する情報が取得された旨の記録（ステップＳ２４）及び動作解決処理の結果の記録（ステップＳ２６）が行われる。インストール制御部１４は、後に他のモジュール等のインストールを実行したときに上述の記録を参照し、今回インストールしたモジュール等が、依存関係の一時的な解決のために取得した情報に対応する、本来の不足モジュール等であるか否かを確認する。今回インストールしたモジュール等が本来の不足モジュール等であれば、依存関係の一時的な解決のために取得した情報を削除する。また、動作解決処理の結果として設定変更処理の前後の設定値が記録されていれば、依存関係の一時的な解決のために取得した情報を削除すると共に、処理情報記憶部１０中の設定情報の対応する項目の設定値を変更前の値に戻す。以下、図９及び図１０の例を再び参照して具体例を述べる。例えば図９に示すように、インストール対象のモジュールＡ＿ｖ２が依存する新たなライブラリ２を取得できず、仮モジュールを取得して一時的にモジュールＡ＿ｖ２について依存関係を解決してインストールを実行した後、他のモジュール等をインストールしたとする。このとき、インストール制御部１４は、上述の記録を参照し、今回インストールした他のモジュール等が、モジュールＡ＿ｖ２が本来依存するライブラリ２であるか否かを確認する。ライブラリ２であれば、インストール制御部１４は、図１０に示すように、仮モジュール及び古いライブラリ１を削除する。
【００９５】
また、図７の例の手順において、依存関係を一時的に解決する情報の検索に失敗した場合に（ステップＳ２２でＮＯ）、処理を終了する代わりに、インストール制御部１４は、インストール対象のモジュール等の提供元（ベンダ）が備えるサーバ等に対して、依存関係の解決のためのモジュール等の作成を依頼する旨を表す情報を送信してもよい。この依頼に応じて作成されたモジュール等は、例えば、ネットワーク及び通信部２２を介して情報処理装置１により取得される。当該作成されたモジュール等が不足するモジュール等自体であれば、インストール制御部１４は、当該作成されたモジュール等と共にインストール対象のモジュール等をインストールすればよい。当該作成されたモジュール等が一時的に依存関係を解決するものであれば、インストール制御部１４は、当該作成されたモジュールに関して図７の例の手順のステップＳ２４以下の処理を実行すればよい。
【００９６】
以上で説明した実施形態の処理の例では、図３の例の手順において、依存関係解決処理及び動作解決処理を行い、その両方に失敗してインストールが許可されない場合に、さらに図７の例の手順において一時的な依存関係の解決が行われる。他の実施形態の処理の例では、図３のステップＳ３の依存関係解決処理に失敗した場合に（ステップＳ４でＮＯ）、ステップＳ５の動作解決処理を行う前に、一時的な依存関係の解決（図７のステップＳ２０）を行ってもよい。この例では、図３のステップＳ４でＮＯに進むと、図７のステップＳ２０と同様に一時的に依存関係を解決可能な情報の取得を行い、その後、取得の成否にかかわらず、図３のステップＳ５以下の処理を行う。なお、一時的に依存関係を解決可能な情報の取得に成功していた場合は、その旨を記録しておく。また、ステップＳ５の動作確認処理の結果も記録しておく。
【００９７】
また、上述の各種の実施形態の処理の例において、動作解決処理で設定変更を行ったとき、その変更後の値からさらに設定値を変更することを制限してもよい。例えば、動作解決処理で設定変更を行った項目を特定する情報を処理情報記憶部１０に記憶させておき、当該項目については設定値を変更しないようにする。例えば、当該項目について設定値を変更する指示の入力を処理実行部１２が受け付けた場合に、処理実行部１２は、その指示に従った設定値の変更が許可されない旨を出力するだけで、その指示に従った設定値の変更は行わないようにする。また例えば、動作解決処理で設定変更を行ってモジュール等をインストールした後、他のモジュール等のインストール時に動作解決処理を行う場合、設定変更部１４６は、すでに設定変更を行った項目については、図４のステップＳ５４又は図６のステップＳ５５において設定の変更内容の候補から除外する。
【００９８】
また、上述の各種の実施形態の処理の例では、動作解決処理において、設定変更を行った上でのインストールの実行の可否をユーザに問い合わせ（図４のステップＳ５６，図６のステップＳ６７）、ユーザが許可した場合にのみインストールの実行が許可される。他の例では、設定変更を行えば期待動作を実現できることが判明した場合に、設定変更を行った上でのインストールの実行の可否をユーザに問い合わせることなくインストールを実行してもよい。
【００９９】
以上に例示した情報処理装置１は、典型的には、汎用のコンピュータにて上述の情報処理装置１の各部の機能又は処理内容を記述したプログラムを実行することにより実現される。コンピュータは、例えば、ハードウエアとして、図１１に示すように、ＣＰＵ（中央演算装置）８０、メモリ（一次記憶）８２、各種Ｉ／Ｏ（入出力）インタフェース８４等がバス８６を介して接続された回路構成を有する。また、そのバス８６に対し、例えばＩ／Ｏインタフェース８４経由で、ＨＤＤ（ハードディスクドライブ）８８やＣＤやＤＶＤ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのディスクドライブ９０が接続される。このようなドライブ８８又は９０は、メモリに対する外部記憶装置として機能する。実施形態の処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク経由で、ＨＤＤ８８等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがメモリに読み出されＣＰＵにより実行されることにより、実施形態の処理が実現される。
【符号の説明】
【０１００】
１  情報処理装置、１０  処理情報記憶部、１２  処理実行部、１４  インストール制御部、１６  動作確認情報記憶部、１８  期待動作情報登録処理部、２０  入力部、２２  通信部、２４  出力部、８０  ＣＰＵ、８２  メモリ、８４  Ｉ／Ｏインタフェース、８６  バス、８８  ＨＤＤ、９０  ディスクドライブ、１４０  依存関係確認部、１４２  依存関係解決部、１４４  動作確認部、１４６  設定変更処理部。
【図１】
2011039721.tif 000003
【図２】
2011039721.tif 000004
【図３】
2011039721.tif 000005
【図４】
2011039721.tif 000006
【図５】
2011039721.tif 000007
【図６】
2011039721.tif 000008
【図７】
2011039721.tif 000009
【図８】
2011039721.tif 000010
【図９】
2011039721.tif 000011
【図１０】
2011039721.tif 000012
【図１１】
2011039721.tif 000013