(57)【要約】【課題】特定のコンピュータが起動していなくてもクライアントＰＣのプログラムの管理を可能とする。【解決手段】情報処理システムは、管理装置と端末装置とを含む。管理装置は、少なくともプログラムをインストールするための情報を含む設定情報を記憶する第１の記憶部と、第１の記憶部に記憶される設定情報を送信する第１の送信部とを備える。端末装置は、プログラムとプログラムに対する設定情報とを記憶する第２の記憶部と、管理装置に対してプログラムに対する設定情報の要求を送信する第２の送信部と、管理部とを備える。管理部は、要求に応じて第１の送信部から送信された設定情報を受信できたか否かを判定し、受信できたと判定した場合に、受信した設定情報により第２の記憶部に記憶される設定情報を更新し、更新した設定情報に基づき管理装置と異なる情報処理装置からプログラムを取得し、取得したプログラムをインストールする。【選択図】図２３
2017054462.tif 000002
【特許請求の範囲】
【請求項１】
管理装置と端末装置とを含む情報処理システムであって、
前記管理装置は、
少なくともプログラムをインストールするための情報を含む設定情報を記憶する第１の記憶部と、
前記第１の記憶部に記憶される前記設定情報を送信する第１の送信部と
を備え、
前記端末装置は、
前記プログラムと該プログラムに対する前記設定情報とを記憶する第２の記憶部と、
前記管理装置に対して前記プログラムに対する前記設定情報の要求を送信する第２の送信部と、
前記要求に応じて前記第１の送信部から送信された前記設定情報を受信できたか否かを判定し、受信できたと判定した場合に、受信した前記設定情報により前記第２の記憶部に記憶される前記設定情報を更新し、更新した前記設定情報に基づき前記管理装置と異なる情報処理装置から前記プログラムを取得し、取得した該プログラムをインストールする管理部と
を備える
情報処理システム。
【請求項２】
前記管理部は、
前記設定情報を受信できなかったと判定した場合に、予め定められたタイミングで前記第２の送信部に前記要求を送信させる
請求項１に記載の情報処理システム。
【請求項３】
前記第１の送信部は、
前記第１の記憶部に記憶される前記設定情報が更新された場合に、更新された前記設定情報を前記端末装置に送信する
請求項１または請求項２に記載の情報処理システム。
【請求項４】
前記第１の記憶部は、
前記端末装置毎の前記設定情報を、該端末装置を識別する識別情報と関連付けてそれぞれ記憶する
請求項１乃至請求項３の何れか１項に記載の情報処理システム。
【請求項５】
前記管理装置は、
前記端末装置と接続するための接続情報を入力するための入力部をさらに備え、
前記第１の送信部は、前記入力部に前記接続情報が入力された場合に、入力された該接続情報に従い前記第１の記憶部に記憶される前記設定情報を前記端末装置に送信する
請求項１乃至請求項４の何れか１項に記載の情報処理システム。
【請求項６】
前記第２の送信部および前記管理部は、
前記プログラムが前記端末装置上で実行されることで、該端末装置上に構成される
請求項１乃至請求項５の何れか１項に記載の情報処理システム。
【請求項７】
前記プログラムは、前記端末装置から外部機器を制御するためのドライバプログラムを含み、
前記設定情報は、
前記ドライバプログラムが前記外部機器を制御するために用いる情報を含む
請求項１乃至請求項６の何れか１項に記載の情報処理システム。
【請求項８】
前記プログラムは、前記端末装置から外部機器を制御するためのドライバプログラムを含み、
前記設定情報は、
前記端末装置に対して既にインストールされている前記ドライバプログラムに対する処理を指定するための情報を含む
請求項１乃至請求項７の何れか１項に記載の情報処理システム。
【請求項９】
前記プログラムは、前記端末装置から外部機器を制御するためのドライバプログラムを含み、
前記設定情報は、
前記ドライバプログラムに関連するユーティリティプログラムに対する処理を指定するための情報を含む
請求項１乃至請求項８の何れか１項に記載の情報処理システム。
【請求項１０】
プログラムと、少なくとも該プログラムをインストールするための情報を含む設定情報とを記憶する記憶部と、
管理装置に対して前記設定情報の要求を送信する送信部と、
前記要求に応じて前記管理装置から送信された前記設定情報を受信できたか否かを判定し、受信できたと判定した場合に、受信した前記設定情報により前記記憶部に記憶される前記設定情報を更新し、更新した前記設定情報に基づき前記管理装置と異なる情報処理装置から前記プログラムを取得し、取得した該プログラムをインストールする管理部と
を備える端末装置。
【請求項１１】
管理装置に対して、少なくともプログラムをインストールするための情報を含む設定情報の要求を送信する送信ステップと、
前記要求に応じて前記管理装置から送信された前記設定情報を受信できたか否かを判定する判定ステップと、
前記判定ステップで受信できたと判定した場合に、受信した前記設定情報により記憶部に前記プログラムと関連付けて記憶される前記設定情報を更新し、更新した前記設定情報に基づき前記管理装置と異なる情報処理装置から前記プログラムを取得し、取得した該プログラムをインストールする管理ステップと
をコンピュータに実行させるための情報処理プログラム。
【請求項１２】
少なくともプログラムをインストールするための情報を含む設定情報の要求を送信する第１の送信部と、
前記要求に応じて前記設定情報を送信する第２の送信部と、
前記要求に応じて前記第２の送信部から送信された前記設定情報を受信できたか否かを判定し、受信できたと判定した場合に、受信した前記設定情報により記憶部に前記プログラムと関連付けて記憶される前記設定情報を更新し、更新した前記設定情報に基づき前記管理装置と異なる情報処理装置から前記プログラムを取得し、取得した該プログラムをインストールする管理部と
を備える
情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、端末装置および情報処理プログラムに関する。
【背景技術】
【０００２】
機器の制御を行うための制御プログラムであるドライバプログラム（以下、ドライバと略称する）と、ドライバに関するユーティリティプログラム（以下、ユーティリティと略称する）とを配布および管理するシステムが既に知られている。このようなシステムの例として、Active  Directory（登録商標）およびＧＰＯ(Group  Policy)や、ポイントアンドプリントが知られている。これらのシステムでは、特定のコンピュータ（例えば管理者用コンピュータ）を起点として、クライアントとなるパーソナルコンピュータ（ＰＣ）に対するドライバやユーティリティの配布あるいはインストールが行われる。
【０００３】
また、特許文献１には、管理システムが作成したセットアップ用のＵＲＬ(Uniform  Resource  Locator)にクライアントＰＣから接続させて、管理システムがクライアントＰＣへのドライバのインストール状況を調べ、その結果に基づき必要なドライバをクライアントＰＣに配布しインストールする構成が開示されている。特許文献１の構成によれば、クライアントＰＣに対するドライバのインストールを自動的に行うことが可能となる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の管理システムでは、複数のクライアントＰＣのドライバやユーティリティを管理するための特定のコンピュータが必要であり、この特定のコンピュータが起動していない場合には、ドライバやユーティリティの管理を行うことができないという問題点があった。
【０００５】
例えば、上述したActive  Directory（登録商標）やＧＰＯでは、特定のコンピュータを起点としてドライバやユーティリティの配布および登録が行われる。そのため、この特定のコンピュータが起動していないと、ドライバやユーティリティの配布および登録を実行できない。また、ポイントアンドプリントでは、この特定のコンピュータが起動していないと、ドライバやユーティリティのインストールを実行することができない。
【０００６】
本発明は、上記に鑑みてなされたものであって、特定のコンピュータが起動していなくてもクライアントＰＣのプログラムの管理を可能とすることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、管理装置と端末装置とを含む情報処理システムであって、管理装置は、少なくともプログラムをインストールするための情報を含む設定情報を記憶する第１の記憶部と、第１の記憶部に記憶される設定情報を送信する第１の送信部とを備え、端末装置は、プログラムとプログラムに対する設定情報とを記憶する第２の記憶部と、管理装置に対してプログラムに対する設定情報の要求を送信する第２の送信部と、要求に応じて第１の送信部から送信された設定情報を受信できたか否かを判定し、受信できたと判定した場合に、受信した設定情報により第２の記憶部に記憶される設定情報を更新し、更新した設定情報に基づき管理装置と異なる情報処理装置からプログラムを取得し、取得したプログラムをインストールする管理部とを備える。
【発明の効果】
【０００８】
本発明によれば、特定のコンピュータが起動していなくてもクライアントＰＣのプログラムの管理が可能となるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、第１の実施形態に係る情報処理システムの一例の構成を概略的に示すブロック図である。
【図２】図２は、第１の実施形態に適用可能なクライアントの一例のハードウェア構成を示すブロック図である。
【図３】図３は、第１の実施形態に係る管理用ＰＣの機能を説明するための一例の機能ブロック図である。
【図４】図４は、第１の実施形態に係るクライアントＰＣの機能を説明するための一例の機能ブロック図である。
【図５】図５は、第１の実施形態に係るパッケージ作成処理を概略的に説明するための図である。
【図６】図６は、第１の実施形態に係る設定情報の例を示す図である。
【図７】図７は、第１の実施形態に係るパッケージの例を示す図である。
【図８】図８は、第１の実施形態に係る利用機器設定画面の例を示す図である。
【図９】図９は、第１の実施形態に係るカスタマイズ設定画面の例を示す図である。
【図１０】図１０は、第１の実施形態に係るカスタマイズ設定画面の例を示す図である。
【図１１】図１１は、第１の実施形態に係るカスタマイズ設定画面の例を示す図である。
【図１２】図１２は、第１の実施形態に係る利用機器設定画面の例を示す図である。
【図１３】図１３は、第１の実施形態に係るユーティリティプラグイン設定画面の例を示す図である。
【図１４】図１４は、第１の実施形態に係る設定情報に含まれる各情報が格納されるファイルの例を示す図である。
【図１５】図１５は、第１の実施形態に係る利用機器指定情報の例を示す図である。
【図１６】図１６は、第１の実施形態に係る利用機器機能情報の例を示す図である。
【図１７】図１７は、第１の実施形態に係る設定カスタマイズ情報の例を示す図である。
【図１８】図１８は、第１の実施形態に係るドライバインストールオプション情報の例を示す図である。
【図１９】図１９は、第１の実施形態に係る利用機器選択方法指定情報の例を示す図である。
【図２０】図２０は、第１の実施形態に係るユーティリティプラグインインストール設定情報の例を示す図である。
【図２１】図２１は、第１の実施形態に係るユーティリティプラグイン利用制限設定情報の例を示す図である。
【図２２】図２２は、第１の実施形態に係るパッケージ作成処理を示す一例のフローチャートである。
【図２３】図２３は、第１の実施形態に係るインストール処理をより具体的に説明するための図である。
【図２４】図２４は、利用機器設定画面に対してさらに機能を追加する入力がなされたことを説明するための図である。
【図２５】図２５は、第１の実施形態に係るインストール処理をより具体的に説明するための図である。
【図２６】図２６は、第１の実施形態に係るインストール処理をより具体的に説明するための図である。
【図２７】図２７は、第１の実施形態に係るドライバのインストール処理を示す一例のフローチャートである。
【図２８】図２８は、第１の実施形態に係る、ドライバのインストール処理に対応する管理用ＰＣにおける処理を示す一例のフローチャートである。
【図２９】図２９は、第１の実施形態に係るドライバのインストール処理を示す一例のフローチャートである。
【図３０】図３０は、ドライバをインストールする処理を示す一例のシーケンス図である。
【図３１−１】図３１−１は、第１の実施形態に係るドライバのインストール処理の例を示すシーケンス図である。
【図３１−２】図３１−２は、第１の実施形態に係るドライバのインストール処理の例を示すシーケンス図である。
【図３２】図３２は、第１の実施形態に係る、所定のタイミングで要求の送信を行う処理を示す一例のシーケンス図である。
【図３３】図３３は、第１の実施形態に係る、更新した設定情報をクライアントＰＣに反映させる処理を示す一例のシーケンス図である。
【図３４】図３４は、クライアントＰＣに管理用ＰＣからの配布以外の方法で入手したパッケージが導入されている例を示す図である。
【図３５】図３５は、第２の実施形態に係るインストール処理について説明するための図である。
【図３６】図３６は、第３の実施形態に係るインストール処理について説明するための図である。
【図３７】図３７は、第３の実施形態に係る接続情報入力画面の例を示す図である。
【図３８】図３８は、第３の実施形態に係るインストール処理を示す一例のシーケンス図である。
【発明を実施するための形態】
【００１０】
以下に、情報処理システム、端末装置および情報処理プログラムの実施形態を詳細に説明する。
【００１１】
（第１の実施形態）
図１は、第１の実施形態に係る情報処理システムの一例の構成を概略的に示す。図１において、第１の実施形態に係る情報処理システム１は、ドライバ保存・配布サーバ１０と、管理装置としての管理用パーソナルコンピュータ（ＰＣ）２０と、それぞれ端末装置としてのクライアントＰＣ２１ａおよび２１ｂと、ＭＦＰ(Multi  Function  Printer)３０ａおよび３０ｂとを含む。ＭＦＰ３０ａ、３０ｂは、それぞれ、プリンタ機能、スキャナ機能、コピー機能およびＦＡＸ機能といった複数の機能を１の筐体に含む。
【００１２】
クライアントＰＣ２１ａおよび２１ｂは、ＭＦＰ３０ａやＭＦＰ３０ｂに対応するドライバプログラムがインストールされることで、ＭＦＰ３０ａ、ＭＦＰ３０ｂを内部ネットワーク１３を介して利用することができる。なお、ＭＦＰ３０ａおよび３０ｂは、この例に限られず、クライアントＰＣ２１ａおよび２１ｂにドライバプログラムをインストールすることによってクライアントＰＣ２１ａ、２１ｂから利用可能になる機器であれば、例えばプリンタ装置など他の種類の機器であってもよい。
【００１３】
また、図１の例では、内部ネットワーク１３に２台のクライアントＰＣ２１ａおよび２１ｂが接続されるように示しているが、これはこの例に限られず、内部ネットワーク１３に接続されるクライアントＰＣは、１台でもよいし、３台以上でもよい。同様に、内部ネットワーク１３に接続されるＭＦＰも、１台でもよいし、３台以上であってもよい。
【００１４】
ドライバ保存・配布サーバ１０は、外部ネットワーク１１に接続され、外部ネットワーク１１は、例えばファイアウォール（ＦＷ）１２を介して内部ネットワーク１３に接続される。管理用ＰＣ２０と、クライアントＰＣ２１ａ、２１ｂとは、内部ネットワーク１３を介して互いに通信可能とされている。また、管理用ＰＣ２０と、クライアントＰＣ２１ａ、２１ｂは、内部ネットワーク１３を介してＭＦＰ３０ａ、３０ｂを利用可能とされている。なお、内部ネットワーク１３は、有線による通信ネットワークで構成してもよいし、無線による通信ネットワークを混在させてもよい。
【００１５】
管理用ＰＣ２０は、ＭＦＰ３０ａ、３０ｂを管理する管理者が使用するためのコンピュータである。クライアントＰＣ２１ａ、２１ｂは、内部ネットワーク１３を介してＭＦＰ３０ａ、３０ｂを利用することができる端末装置である。なお、以下では、特に記載の無い限り、クライアントＰＣ２１ａ、２１ｂをクライアントＰＣ２１ａで代表させて説明を行う。同様に、ＭＦＰ３０ａ、３０ｂを、ＭＦＰ３０ａで代表させて説明を行う。
【００１６】
このような構成において、管理用ＰＣ２０において、例えばＭＦＰ３０ａをクライアントＰＣ２１ａから利用するためのドライバプログラム（以下、ドライバと略称する）およびユーティリティプログラム（以下、ユーティリティと略称する）をインストールするためのモジュールを含むパッケージが作成される。パッケージには、当該モジュールに加え、管理用ＰＣ２０とは異なる情報処理装置から、ドライバやユーティリティを取得する方法を示す取得情報、ドライバプログラムに対する設定を行うための設定情報、ネットワークを介した通信を行う際のインタフェースとなるＷｅｂＡＰＩ(Web  Application  Programming  Interface)、管理用ＰＣ２０に対して内部ネットワーク１３を介して接続するための接続情報などが同梱される。
【００１７】
管理用ＰＣ２０で作成されたパッケージは、クライアントＰＣ２１ａに配布される。パッケージのクライアントＰＣ２１ａへの配布は、管理用ＰＣ２０で作成したパッケージを管理用ＰＣ２０から内部ネットワーク１３を介してクライアントＰＣ２１ａに送信することで行ってもよい。また、パッケージの配布は、パッケージをＣＤ(Compact  Disk)やＤＶＤ(Digital  Versatile  Disk)、ＵＳＢ(Universal  Serial  Bus)メモリといった可搬の記憶媒体に記憶させて行ってもよい。さらに、作成したパッケージを外部ネットワーク１１を介して接続されるサーバなどに保存しておき、クライアントＰＣ２１ａからこのサーバにアクセスして保存されたパッケージをダウンロード（ＤＬ）してもよい。
【００１８】
配布されたパッケージは、クライアントＰＣ２１ａのストレージ装置などの記憶媒体に記憶される。パッケージは、例えば、クライアントＰＣ２１ａにおいて実行可能な状態で、クライアントＰＣ２１ａの記憶媒体に記憶される。
【００１９】
一例として、クライアントＰＣ２１ａのＯＳ(Operating  System)は、パッケージに含まれる各モジュールなどを、クライアントＰＣ２１ａのストレージ装置上の、ＯＳが定めるフォルダに展開すると共に、各モジュールをＯＳが管理する管理領域に登録する。ＯＳが管理する管理領域は、例えばＯＳがＷｉｎｄｏｗｓ（登録商標）である場合には、レジストリである。この場合、各モジュールは、ＯＳを介して実行されることになる。これに限らず、パッケージに含まれる各モジュールをクライアントＰＣ２１ａのストレージ装置上の任意のフォルダに格納し、各モジュールを直接的に実行させるようにしてもよい。また、各モジュールを、パッケージに含まれている状態で実行可能なように構成してもよい。
【００２０】
以降、パッケージをクライアントＰＣ２１ａにおいて実行可能な状態で、クライアントＰＣ２１ａの記憶媒体に記憶させることを、適宜、パッケージをクライアントＰＣ２１ａに導入する、などのように記述する。
【００２１】
クライアントＰＣ２１ａは、導入したパッケージを用いてユーティリティおよびドライバのインストールを行う。このとき、モジュールは、パッケージに同梱される接続情報に基づき管理用ＰＣ２０との通信を試みる。その結果、管理用ＰＣ２０と通信可能であると判定した場合、モジュールは、管理用ＰＣ２０から最新の設定情報を取得し、取得した設定情報を用いてドライバおよびユーティリティのインストールを行う。一方、管理用ＰＣ２０と通信不可であると判定した場合、モジュールは、クライアントＰＣ２１ａに導入されたパッケージに含まれる設定情報を用いて、管理用ＰＣ２０とは異なる情報処理装置、例えばドライバ保存・配布サーバ１０からドライバやユーティリティを取得して、ドライバおよびユーティリティのインストールを行う。
【００２２】
また、クライアントＰＣ２１ａにおいて、モジュールは、所定のタイミングで、例えば定期的に管理用ＰＣ２０との通信を試み、管理用ＰＣ２０と通信可能であると判定した場合に、管理用ＰＣ２０と通信を行い最新の設定情報を取得し、取得した設定情報を用いてドライバおよびユーティリティを最新の状態に更新する。
【００２３】
このように、第１の実施形態に係る情報処理システム１によれば、クライアントＰＣ２１ａは、管理用ＰＣ２０との通信が行えない場合であっても、管理用ＰＣ２０とは異なる情報処理装置、例えばドライバ保存・配布サーバ１０からドライバやユーティリティを取得してインストール処理を実行できる。また、クライアントＰＣ２１ａは、管理用ＰＣ２０との通信が可能となった際に、インストールされたドライバおよびユーティリティを、最新の設定情報を用いて更新できる。
【００２４】
図２は、第１の実施形態に適用可能なクライアントＰＣ２１ａの一例のハードウェア構成を示す。クライアントＰＣ２１ａは、ＣＰＵ(Central  Processing  Unit)２１００と、ＲＯＭ(Read  Only  Memory)２１０１と、ＲＡＭ(Random  Access  Memory)２１０２と、ストレージ２１０４と、表示制御部２１０３と、入出力Ｉ／Ｆ２１０５と、通信Ｉ／Ｆ２１０６とがバスを介して互いに通信可能に接続されている。
【００２５】
ＣＰＵ２１００は、ＲＯＭ２１０１やストレージ２１０４に予め記憶されるプログラムに従い、ＲＡＭ２１０２をワークメモリとして用いて、このクライアントＰＣ２１ａの全体の動作を制御する。ストレージ２１０４は、ハードディスクドライブや不揮発性の半導体メモリ（フラッシュメモリ）からなり、ＣＰＵ２１００が動作するためのプログラムや、各種データが格納される。
【００２６】
表示制御部２１０３は、ＣＰＵ２１００によりプログラムに従い生成された表示制御信号を、ディスプレイ２１０７で表示可能な表示信号に変換してディスプレイ２１０７に供給する。ディスプレイ２１０７は、例えばＬＣＤ(Liquid  Crystal  Display)を表示デバイスとして用い、表示制御部２１０３から供給された表示信号に従った画面を表示デバイスに表示させる。
【００２７】
入出力Ｉ／Ｆ２１０５は、外部機器との間で通信を行うインタフェースである。図２の例では、入出力Ｉ／Ｆ２１０５に対して、外部機器としてキーボードやポインティングデバイス（マウスなど）を含む操作部２１０８が接続されている。入出力Ｉ／Ｆ２１０５は、これに限らず、ＣＤ(Compact  Disk)やＤＶＤ(Digital  Versatile  Disk)といったディスク記憶媒体からのデータの読み出しなどを行うドライブ装置や、不揮発性の半導体メモリなどのストレージを接続してもよい。入出力Ｉ／Ｆ２１０５としては、例えばＵＳＢ(Universal  Serial  Bus)を用いることができる。
【００２８】
通信Ｉ／Ｆ２１０６は、ＴＣＰ／ＩＰ(Transmission  Control  Protocol/Internet  Protocol)など所定のプロトコルを用いて内部ネットワーク１３を介した通信を制御する。
【００２９】
なお、管理者ＰＣ２０は、クライアントＰＣ２１ａと同様の構成で実現可能であるので、ここでの説明を省略する。また、ドライバ保存・配布サーバ１０も、ＣＰＵ、ＲＯＭ、ＲＡＭ、通信Ｉ／Ｆおよびストレージ装置を含む一般的なコンピュータで構成可能であるので、ここでの説明を省略する。さらに、ドライバ保存・配布サーバ１０は、１台のコンピュータで構成するのに限られず、複数のコンプピュータでドライバ保存・配布サーバ１０の機能を分散して構成してもよいし、クラウドネットワークにおいて構成してもよい。
【００３０】
図３は、第１の実施形態に係る管理用ＰＣ２０の機能を説明するための一例の機能ブロック図である。管理用ＰＣ２０は、送信部２００と、受信部２０１と、記憶部２０２と、管理部２０３と、入力部２０５と、表示部２０６とを含む。これら送信部２００、受信部２０１、記憶部２０２、管理部２０３、入力部２０５および表示部２０６は、管理用ＰＣ２０が備えるＣＰＵ上で動作するプログラムにより実現される。これに限らず、送信部２００、受信部２０１、記憶部２０２、管理部２０３、入力部２０５および表示部２０６の一部または全部を、互いに協働して動作するハードウェア回路により構成してもよい。
【００３１】
送信部２００は、管理用ＰＣ２０が備える通信Ｉ／Ｆを用いてデータの送信を行う。受信部２０１は、当該通信Ｉ／Ｆを用いてデータを受信する。記憶部２０２は、管理用ＰＣ２０が備えるストレージやＲＡＭなどの記憶媒体に対するデータの記憶および読み出しを制御する（以降、記憶部２０２に記憶する、記憶部２０２から読み出す、などのように記述する）。入力部２０５は、管理用ＰＣ２０が備える操作部を操作することにより管理用ＰＣ２０が備える入出力Ｉ／Ｆに入力されたデータを取得する（以降、入力部２０５に入力される、などのように記述する）。表示部２０６は、管理用ＰＣ２０に接続されるディスプレイに対する表示を制御する（以降、表示部２０６が表示する、などのように記述する）。
【００３２】
管理部２０３は、設定情報生成部２０４を含む。設定情報生成部２０４は、設定情報を生成するための情報を入力させる各設定画面を生成して表示部２０６によりディスプレイに表示させる。また、設定情報生成部２０４は、入力部２０５により各入力画面の表示に応じて入力された各情報に基づき設定情報を作成する。
【００３３】
管理部２０３は、設定情報生成部２０４で生成された設定情報を記憶部２０２に記憶させる。また、管理部２０３は、記憶部２０２から読み出した設定情報を、送信部２００により送信する。さらに、管理部２０３は、例えば受信部２０１により受信された要求に従い、記憶部２０２から設定情報を読み出す。
【００３４】
図４は、第１の実施形態に係るクライアントＰＣ２１ａの機能を説明するための一例の機能ブロック図である。図４において、クライアントＰＣ２１ａは、送信部２１０と、受信部２１１と、記憶部２１２と、更新管理部２１３と、入力部２１４と、インストール処理部２１５とを含む。これら送信部２１０、受信部２１１、記憶部２１２、更新管理部２１３、入力部２１４およびインストール処理部２１５は、ＣＰＵ２１００上で動作する情報処理プログラムにより実現される。
【００３５】
この情報処理プログラムは、上述したパッケージに含まれるモジュールがＣＰＵ２１００上で実行されることで、クライアントＰＣ２１ａ上に構成される。なお、配布されたパッケージは、例えばストレージ２１０４に記憶され、クライアントＰＣ２１ａに導入される。
【００３６】
送信部２１０は、通信Ｉ／Ｆ２１０６を用いてデータを送信する。受信部２１１は、通信Ｉ／Ｆ２１０６を用いてデータを受信する。記憶部２１２は、ストレージ２１０４やＲＡＭ２１０２などの記憶媒体に対するデータの記憶および読み出しを制御する。入力部２１４は、入出力Ｉ／Ｆ２００５に対する入力を受け付ける。
【００３７】
以降、煩雑さを避けるため、入出力Ｉ／Ｆ２１０５に対する操作を入力部２１４に対する操作として記述し、入力部２１４が入出力Ｉ／Ｆ２１０５に対する操作に応じた入力を受け付けることを、入力部２１４に入力される、などのように記述する。
【００３８】
更新管理部２１３は、例えばクライアントＰＣ２１ａに導入されたパッケージに含まれる情報の更新を管理する。例えば、更新管理部２１３は、送信部２１０により管理用ＰＣ２０に対して要求を送信する。更新管理部２１３は、この要求に応じて管理用ＰＣ２０から送信された情報を受信し、記憶部２１２により、クライアントＰＣ２１ａに導入されたパッケージに含まれる情報を、受信した情報で更新する。また、更新管理部２１３は、パッケージに含まれる情報に基づき、管理用ＰＣ２０とは異なる情報処理装置であるドライバ保存・配布サーバ１０からドライバを取得する処理も行う。インストール処理部２１５は、更新管理部２１３の指示に従い、モジュールのインストール処理を行う。
【００３９】
（第１の実施形態に係るデータの詳細）
図５を用いて、第１の実施形態に係る管理用ＰＣ２０におけるパッケージ作成処理について、概略的に説明する。図５において、管理用ＰＣ２０は、管理アプリケーション２０００と、設定情報保存領域２００１（第１の記憶部）と、パッケージ保存領域２００２と、ＯＳ(Operating  System)２００３とを含む。ＯＳ２００３は、ＣＰＵ上で動作するプログラムであって、管理用ＰＣ２０の全体の動作を制御する。
【００４０】
設定情報保存領域２００１およびパッケージ保存領域２００２は、それぞれ、管理用ＰＣ２０が備えるストレージの記憶領域である。例えば、管理用ＰＣ２０のＩＰアドレスが「10.60.127.0」であるとして、設定情報保存領域２００１は、ＵＲＬ「http://10.60.127.0/settings」で表され、パッケージ保存領域２００２は、ＵＲＬ「http://10.60.127.0/packages」で表されるものとする。
【００４１】
管理アプリケーション２０００は、ＣＰＵ上で動作するプログラムであって、設定部２０１０と、作成部２０１１と、ＷｅｂＡＰＩ部２０１２と、プログラムデータ２０１３とを含む。設定部２０１０は、設定情報１１０の作成に係る処理を行うもので、図３の設定情報生成部２０４の機能を含む。また、設定部２０１０は、設定情報１１０の送受信を行う機能を備え、図３の送信部２００および受信部２０１の機能を含む。作成部２０１１は、パッケージ１００の作成に係る処理を行うもので、図３の管理部２０３の機能の一部である。ＷｅｂＡＰＩ部２０１２は、管理用ＰＣ２０においてネットワークを介して通信を行う際のインタフェースとなるもので、ＷｅｂＡＰＩ部２０１２もまた、図３の送信部２００および受信部２０１の機能を含む。
【００４２】
管理アプリケーション２０００は、インストール可能な形式また実行可能な形式のファイルでＣＤ(Compact  Disk)、フレキシブルディスク（ＦＤ）、ＤＶＤ(Digital  Versatile  Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供される。これに限らず、管理アプリケーション２０００を、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供してもよい。また、当該管理アプリケーション２０００をインターネットなどのネットワークを経由して提供または配布するように構成してもよい。さらに、管理アプリケーション２０００を、それぞれ管理用ＰＣ２０が備えるＲＯＭに予め組み込んで提供するように構成してもよい。
【００４３】
情報処理プログラムは、上述した各部（設定部２０１０、作成部２０１１およびＷｅｂＡＰＩ部２０１２）を含むモジュール構成となっている。実際のハードウェアとしては、管理用ＰＣ２０が備えるＣＰＵが、管理用ＰＣ２０が備えるストレージなどの記憶媒体から当該管理アプリケーション２０００を読み出して実行することにより、上述した各部が管理用ＰＣ２０が備えるＲＡＭなどの主記憶装置上にロードされ、設定部２０１０、作成部２０１１およびＷｅｂＡＰＩ部２０１２が主記憶装置上に生成されるようになっている。
【００４４】
プログラムデータ２０１３は、ユーティリティインストーラ２０１４と、ユーティリティプラグイン２０１５を含む。ユーティリティプラグイン２０１５は、ユーティリティに対するインタフェースであって、図５の例では、ドライバをインストールするためのドライバインストーラ２０１６がユーティリティとしてユーティリティプラグイン２０１５に含まれている。ユーティリティプラグイン２０１５に対して、さらに多くのユーティリティを含めてもよいし、後からユーティリティを追加してもよい。プログラムデータ２０１３は、管理アプリケーション２０００において、データとして保持される。
【００４５】
このような構成において、設定部２０１０は、入力部２０５に入力された情報を受け付け（ステップＳ１）、受け付けた情報に基づき設定情報１１０を作成する。設定部２０１０は、作成した設定情報１１０を設定情報保存領域２００１に保存する（ステップＳ２）。作成部２０１１は、設定部２０１０により設定情報１１０が作成されると、作成された設定情報と、管理アプリケーション２０００が保持するプログラムデータ２０１３とに基づきパッケージ１００を作成する。作成部２０１１は、作成したパッケージ１００を、パッケージ保存領域２００２に保存する（ステップＳ３）。
【００４６】
図６は、第１の実施形態に係る設定情報１１０の例を示す。設定情報１１０は、複数の情報を含んで構成される。図６の例では、設定情報１１０は、利用機器指定情報１１０１と、利用機器機能情報１１０２と、設定カスタマイズ情報１１０３と、ドライバインストールオプション情報１１０４と、利用機器選択方法指定情報１１０５と、ユーティリティプラグインインストール設定情報１１０６と、ユーティリティプラグイン利用制限設定情報１１０７とを含む。なお、設定情報１１０は、この例に限定されず、さらに多くの情報を含んでもよい。
【００４７】
これら各情報のうち、利用機器指定情報１１０１、利用機器機能情報１１０２、設定カスタマイズ情報１１０３および利用機器選択方法指定情報１１０５は、クライアントＰＣ２１ａにインストールするドライバが、外部機器（ＭＦＰ３０ａなど）を制御するために用いる情報である。ドライバインストールオプション情報１１０４は、クライアントＰＣ２１ａに既にインストールされているドライバに対する処理を示す情報である。また、ユーティリティプラグインインストール設定情報１１０６およびユーティリティプラグイン利用制限設定情報１１０７は、クライアントＰＣ２１ａにインストールされるドライバに関連するユーティリティに対する処理を指定するための情報である。設定情報１１０に含まれるこれら各情報のさらに詳細な内容については、後述する。
【００４８】
実際には、これら利用機器指定情報１１０１、利用機器機能情報１１０２、設定カスタマイズ情報１１０３、ドライバインストールオプション情報１１０４、利用機器選択方法指定情報１１０５、ユーティリティプラグインインストール設定情報１１０６およびユーティリティプラグイン利用制限設定情報１１０７は、それぞれ、各情報を含んだファイルとして構成される。例えば、利用機器指定情報１１０１、利用機器機能情報１１０２、設定カスタマイズ情報１１０３、ドライバインストールオプション情報１１０４、利用機器選択方法指定情報１１０５、ユーティリティプラグインインストール設定情報１１０６およびユーティリティプラグイン利用制限設定情報１１０７それぞれのファイルを書庫化し１つのファイルに纏めて、設定情報１１０のファイルとすることが考えられる。
【００４９】
図７は、第１の実施形態に係るパッケージ１００の例を示す。図７の例では、パッケージ１００は、ＷｅｂＡＰＩ部１１００ａと、ユーティリティインストーラ２０１４ａと、ユーティリティプラグイン２０１５ａと、設定情報１１０ａと、接続情報１１２とを含む。
【００５０】
これらのうち、ＷｅｂＡＰＩ部１１００ａは、管理アプリケーション２０００が含むＷｅｂＡＰＩ部２０１２と共通のものを利用できる。ユーティリティインストーラ２０１４ａおよびユーティリティプラグイン２０１５ａは、図５を用いて説明した、管理アプリケーション２０００が保持するプログラムデータ２０１３に含まれるユーティリティインストーラ２０１４と、ユーティリティプラグイン２０１５とにそれぞれ対応する。
【００５１】
また、図７の例では、図５のドライバインストーラ２０１６に対応するドライバインストーラ２０１６ａがユーティリティプラグイン２０１５ａに含まれている。ユーティリティインストーラ２０１４ａは、クライアントＰＣ２１ａ上において、図４に示した更新管理部２１３の機能を含む。また、ユーティリティインストーラ２０１４ａは、情報の送受信を行う機能を備え、図４に示した送信部２１０および受信部２１１の機能を含む。さらに、ドライバインストーラ２０１６ａは、図４に示したインストール処理部２１５の機能を含む。
【００５２】
また、設定情報１１０ａは、図５および図６を用いて説明した設定情報１１０に対応する。すなわち、設定情報１１０ａは、図６に示した利用機器指定情報１１０１と、利用機器機能情報１１０２と、設定カスタマイズ情報１１０３と、ドライバインストールオプション情報１１０４と、利用機器選択方法指定情報１１０５と、ユーティリティプラグインインストール設定情報１１０６と、ユーティリティプラグイン利用制限設定情報１１０７とを含む。
【００５３】
図７において、ＷｅｂＡＰＩ部１１００ａは、クライアントＰＣ２１ａにおいてネットワークを介した通信を行う際のインタフェースとなるもので、ＷｅｂＡＰＩ部１１００ａも、図４に示した送信部２１０および受信部２１１の機能を含む。また、接続情報１１２は、クライアントＰＣ２１ａが管理用ＰＣ２０と接続するために用いる情報であって、例えば、管理用ＰＣ２０の内部ネットワーク１３におけるＩＰ(Internet  Protocol)アドレスである。
【００５４】
次に、管理アプリケーション２０００により提示される各情報の設定画面について、図８〜図１３を用いて説明する。これら図８〜図１３に示される各設定画面は、例えば、管理用ＰＣ２０が管理アプリケーション２０００を起動させることで、設定部２０１０および作成部２０１１により管理用ＰＣ２０が備えるディスプレイに表示され、管理者に提示される。
【００５５】
先ず、クライアントＰＣ２１ａから利用する機器の設定に関する、利用機器設定画面について説明する。ここで、第１の実施形態では、機器の設定を、設定対象の機器を直接的に指定して行う第１の設定方法と、設定対象の機器を所定の条件で検索することで、条件の合致する１以上の機器に対する設定を纏めて行う第２の設定方法とを選択することができる。
【００５６】
先ず、第１の設定方法に係る設定画面について説明する。図８は、第１の実施形態に係る、第１の設定方法により利用機器に対する設定を行うための利用機器設定画面の例を示す。図８において、利用機器設定画面３００は、入力領域３００１〜３００５が配置される。入力領域３００１および３００２は、クライアントＰＣ２１ａから利用させる機器の機器名およびＩＰアドレスをそれぞれ入力する領域である。入力領域３００１および３００２に対する入力は、例えば機器名およびＩＰアドレスを直接的に入力してもよいし、管理用ＰＣ２０が、管理用ＰＣ２０が接続される内部ネットワーク１３内の機器を検索し、検索結果から選択するようにしてもよい。
【００５７】
図８の例では、入力領域３００１に対して、機器名「ＭＦＰ−００１Ａ」および「ＭＦＰ−００２Ｂ」の２台の機器の機器名が入力され、入力領域３００２に対して、それぞれのＩＰアドレス「10.60.127.100」および「10.60.127.101」が入力されている。
【００５８】
入力領域３００３は、入力領域３００１および３００２に入力された情報により特定される機器において利用可能とする機能を入力する。図８の例では、機器名「ＭＦＰ−００１Ａ」および「ＭＦＰ−００２Ｂ」が示す各機器について、プリンタ機能、スキャナ機能およびＦＡＸ機能を指定することができる。例えば、管理アプリケーション２０００は、内部ネットワーク１３に接続される各ＭＦＰ３０ａおよび３０ｂのＭＩＢ(Management  Information  Base)の値から、各機能の情報を取得できる。
【００５９】
図８において、チェックボックスにチェックが入っている機能が、対応する機器名の機器において利用可能とさせる機能となる。例えば、機器名「ＭＦＰ−００１Ａ」の機器に対しては、プリンタ機能、スキャナ機能およびＦＡＸ機能が全てチェックされており、これらの機能が全て利用可能とされている。この場合、クライアントＰＣ２１ａに対して、機器名「ＭＦＰ−００１Ａ」の機器のプリンタ機能、スキャナ機能およびＦＡＸ機能の各ドライバがインストールされる。一方、機器名「ＭＦＰ−００２Ｂ」の機器に対しては、プリンタ機能のみがチェックされており、プリンタ機能が利用可能、スキャナ機能およびＦＡＸ機能が利用不可とされている。この場合は、機器名「ＭＦＰ−００２Ｂ」の機器についてはプリンタドライバのみがインストールされ、スキャナ機能およびＦＡＸ機能の各ドライバはインストールされない。
【００６０】
入力領域３００４は、入力領域３００３で示される機能の設定をカスタマイズする。入力領域３００４に配置される各設定ボタンを操作することで、後述の図９〜図１１に示す各カスタマイズ設定画面が提示される。なお、図８の例において、機器名「ＭＦＰ−００１Ａ」の機器の機能「プリンタ」に対して、機能「２ｉｎ１カラー」および機能「２ｉｎ１モノクロ」について、それぞれカスタマイズ設定が可能となっている。
【００６１】
入力領域３００５は、ドライバをインストールする際のオプションを設定する。入力領域３００５に配される入力部３００５ａ〜３００５ｃのチェックボックスにチェックを入れることで、対応するオプションを設定することができる。
【００６２】
入力部３００５ａは、クライアントＰＣ２１ａに既にインストールされているドライバのうち、入力領域３００３で指定されたドライバ以外のドライバを全て削除するか否かを設定する。この入力部３００５ａのチェックボックスにチェックを入れ、入力領域３００３で指定されたドライバ以外のドライバを全て削除するように設定した場合、管理者が指定した機器以外を、エンドユーザに使用させないようにできる。
【００６３】
例えば、クライアントＰＣ２１ａに既にカラー印刷可能なプリンタドライバがインストールされているような状況で、カラー印刷不可、モノクロ印刷可の設定を行い、この入力部３００５ａのチェックボックスにチェックを入れる。これにより、カラー印刷可能なプリンタドライバがクライアントＰＣ２１ａから削除されて当該クライアントＰＣ２１ａからカラー印刷ができなくなり、カラー印刷にかかるコストを削減することができる。
【００６４】
また例えば、クライアントＰＣ２１ａから不要なドライバを削除することで、クライアントＰＣ２１ａを利用するエンドユーザが混乱することを抑制でき、また、管理者による管理も容易となる。例として、機器を交換するような場合に、新しい機器を指定してドライバをインストールし、既にインストールされている古い機器のドライバはもう使わないので削除することが考えられる。
【００６５】
入力部３００５ｂは、クライアントＰＣ２１ａに入力領域３００３で指定された各ドライバが既にインストールされており、このインストール済みの各ドライバのバージョンが、ドライバ保存・配布サーバ１０が保存する、対応する各ドライバのバージョンよりも古い場合に、インストール済みの各ドライバをドライバ保存・配布サーバ１０が保存するバージョンがより新しいドライバで更新するか否かを設定する。
【００６６】
この入力部３００５ｂのチェックボックスにチェックを入れることで、クライアントＰＣ２１ａにインストールされるドライバを最新の状態とすることができ、古いドライバを用いることによる障害を抑制することが可能である。
【００６７】
入力部３００５ｃは、上述の入力領域３００１〜３００４による設定で作成されるアイコン以外のアイコンを削除するか否かを設定する。この入力部３００５ｃのチェックボックスにチェックを入れ、入力領域３００１〜３００４による設定で作成されるアイコン以外のアイコンを削除するように設定した場合、管理者が指定した機器および機能以外を、エンドユーザに使用させないようにできる。
【００６８】
一例として、管理者がモノクロ印刷に設定して、印刷にかかる費用を削減させたい場合を考える。この場合において、クライアントＰＣ２１ａに既にカラー印刷可能なプリンタドライバがインストールされ、当該ドライバに対応するアイコンが作成されている場合、入力部３００５ｃのチェックボックスにチェックを入れることで、このカラー印刷用のアイコンが削除される。これにより、カラー印刷が選択されなくなり、印刷にかかる費用を削減できる。
【００６９】
完了ボタン３００８は、操作されることで、上述した各入力領域３００１〜３００５に入力された内容が確定される。例えば、管理アプリケーション２０００は、入力領域３００１および３００２に入力された内容に従い、図６に示した利用機器指定情報１１０１を生成し、入力領域３００３に入力された内容に従い、利用機器機能情報１１０２を生成する。また、管理アプリケーション２０００は、入力領域３００４（および後述する図９〜図１１の各設定画面）に入力された内容に従い、設定カスタマイズ情報１１０３を生成する。さらに、管理アプリケーション２０００は、入力領域３００５に入力された内容に従い、ドライバインストールオプション情報１１０４を生成する。そして、管理アプリケーション２０００は、生成した各情報をそれぞれファイルに格納して、設定情報ファイルとして設定情報保存領域２００１に保存し、初期画面に戻る。
【００７０】
なお、図８において利用機器設定画面３００の右上隅に配置されるボタン３００９は、例えばキャンセルボタンであって、各入力領域３００１〜３００５に入力された内容を全て破棄して初期画面に戻る。
【００７１】
入力領域３００４において各設定ボタンが操作された場合に提示される、各機能のカスタマイズ設定を行うためのカスタマイズ設定画面について説明する。
【００７２】
図９は、第１の実施形態に係る、プリンタ機能の設定をカスタマイズするためのカスタマイズ設定画面の例を示す。図９に示されるカスタマイズ設定画面３０１ａは、利用機器設定画面３００において、入力領域３００４に配置される各設定ボタンのうち、入力領域３００３に示される「プリンタ」に対応する設定ボタンが操作されることで、提示される。
【００７３】
図９において、カスタマイズ設定画面３０１ａは、項目表示領域３０１１ａと入力領域３０１２ａとが配置される。項目表示領域３０１１ａは、カスタマイズ設定が可能な項目の一覧が表示され、入力領域３０１２ａは、各項目に対する設定値を入力する。項目の一覧は、例えばドライバ保存・配布サーバ１０に保存される、機器名が対応するプリンタドライバから取得することが考えられる。また、図９の例では、入力領域３０１２ａは、予め定められた複数の設定値をドロップダウンリストにより選択するようになっている。
【００７４】
図９の例において、カスタマイズ設定可能な項目として、カラー印刷およびモノクロ印刷を指定する「カラー／モノクロ」、印刷方法を指定する「印刷方法」、複数ページを１ページに集約して印刷する集約印刷を指定する「集約」、両面印刷の可否を指定する「両面」、および、製本に対応する印刷を行うか否かを指定する「製本」が表示されている。また、図９の例では、入力領域３０１２ａにおいて、項目「カラー／モノクロ」に対して「モノクロ」が、項目「印刷方法」に対して「通常印刷」が、項目「集約」に対して「２ｉｎ１」が、項目「両面」および「製本」に対して「しない」が、それぞれ設定されている。
【００７５】
なお、利用機器設定画面３００の入力領域３００４において、「２ｉｎ１カラー」および「２ｉｎ１モノクロ」の表示に対応する設定ボタンを操作した場合、例えば、項目「カラー／モノクロ」および項目「集約」が、それぞれ設定ボタンの表示に応じた値に予め設定される。
【００７６】
また、図９に示したカスタマイズ設定可能な項目は、一例であり、項目内容や項目数は、対応する機器（機種）やドライバのバージョンなどにより異なってよい。また、カスタマイズ設定可能な項目は、機器（機種）などにおいて設定可能な全項目を含む必要はない。
【００７７】
カスタマイズ設定画面３０１ａにおいて、ＯＫボタン３０１３を操作すると、入力領域３０１２ａに入力された内容が確定され、上述の利用機器設定画面３００に戻る。利用機器設定画面３００において完了ボタン３００８が操作されることで、このカスタマイズ設定画面３０１ａで設定された内容がファイルに格納され、設定情報保存領域２００１に保存される。また、カスタマイズ設定画面３０１ａで設定された内容が、クライアントＰＣ２１ａにおけるプリンタドライバのアイコンの設定に反映される。
【００７８】
なお、カスタマイズ設定画面３０１ａの右上隅に配置されるボタン３０１４は、キャンセルボタンであって、操作されることで、このカスタマイズ設定画面３０１ａで設定された内容が破棄され、上述の利用機器設定画面３００に戻る。
【００７９】
図１０は、第１の実施形態に係る、スキャナ機能の設定をカスタマイズするためのカスタマイズ設定画面の例を示す。なお、図１０において、上述の図９と共通する部分には同一の符号を付して、詳細な説明を省略する。
【００８０】
図１０において、カスタマイズ設定画面３０１ｂは、図９のカスタマイズ設定画面３０１ａと同様に、カスタマイズ設定が可能な項目の一覧が表示される項目表示領域３０１１ｂと、各項目に対する設定値を入力する入力領域３０１２ｂとが配置される。項目の一覧は、例えばドライバ保存・配布サーバ１０に保存される、機器名が対応するスキャナドライバから取得することが考えられる。
【００８１】
図１０の例において、カスタマイズ設定可能な項目として、スキャンをカラーおよびモノクロの何れで行うかを指定する「カラー／モノクロ」、および、スキャナの解像度を指定する「解像度」が表示されている。また、図１０の例では、入力領域３０１２ｂにおいて、項目「カラー／モノクロ」に対して「モノクロ」が、項目「解像度」に対して「３００×３００ｄｐｉ」が、それぞれ設定されている。
【００８２】
カスタマイズ設定画面３０１ｂにおいて、ＯＫボタン３０１３を操作すると、入力領域３０１２ｂに入力された内容が確定され、上述の利用機器設定画面３００に戻る。利用機器設定画面３００において完了ボタン３００８が操作されることで、このカスタマイズ設定画面３０１ｂで設定された内容がファイルに格納され、設定情報保存領域２００１に保存される。また、カスタマイズ設定画面３０１ｂで設定された内容が、クライアントＰＣ２１ａにおけるスキャナドライバのアイコンの設定に反映される。
【００８３】
図１１は、第１の実施形態に係る、ＦＡＸ機能の設定をカスタマイズするためのカスタマイズ設定画面の例を示す。なお、図１１において、上述の図９と共通する部分には同一の符号を付して、詳細な説明を省略する。
【００８４】
図１１において、カスタマイズ設定画面３０１ｃは、図９、図１０と同様に、カスタマイズ設定が可能な項目の一覧が表示される項目表示領域３０１１ｃと、各項目に対する設定値を入力する入力領域３０１２ｃとが配置される。項目の一覧は、例えばドライバ保存・配布サーバ１０に保存される、機器名が対応するＦＡＸドライバから取得することが考えられる。
【００８５】
図１１の例において、カスタマイズ設定可能な項目として、ＦＡＸ送信する原稿サイズを指定する「原稿サイズ」、原稿の向きを縦および横の何れかに指定する「原稿方向」、ＦＡＸ通信を受信した際にＦＡＸ内容を印刷する用紙を取得する給紙トレイを指定する「給紙トレイ」、および、ＦＡＸ送信する際の原稿読取の解像度を指定する「解像度」が表示されている。また、図１１の例では、入力領域３０１２ｃにおいて、項目「原稿サイズ」に対して「Ａ４」が、項目「原稿方向」に対して「タテ」が、項目「給紙トレイ」に対して「自動選択」が、項目「解像度」に対して「２００×２００ｄｐｉ」が、それぞれ設定されている。
【００８６】
カスタマイズ設定画面３０１ｃにおいて、ＯＫボタン３０１３を操作すると、入力領域３０１２ｃに入力された内容が確定され、上述の利用機器設定画面３００に戻る。利用機器設定画面３００において完了ボタン３００８が操作されることで、このカスタマイズ設定画面３０１ｃで設定された内容がファイルに格納され、設定情報保存領域２００１に保存される。また、カスタマイズ設定画面３０１ｃで設定された内容が、クライアントＰＣ２１ａにおけるＦＡＸドライバのアイコンの設定に反映される。
【００８７】
次に、上述した第２の設定方法に係る設定画面について説明する。図１２は、第１の実施形態に係る、第２の設定方法により利用機器を選択し、選択された利用機器に対する設定を行う利用機器設定画面の例を示す。なお、管理アプリケーション２０００は、図１２に示される利用機器設定画面３０２と、図８で示した利用機器設定画面３００とを、排他的に提示する。
【００８８】
図１２において、利用機器設定画面３０２は、入力領域３０２１〜３０２３が配置される。入力領域３０２１は、利用機器を選択する選択方法を入力する。クライアントＰＣ２１ａには、入力領域３０２１に入力された選択方法により選択された各機器に対応する各ドライバがインストールされることになる。
【００８９】
図１２の例では、入力領域３０２１は、入力部３０２１ａ〜３０２１ｅを備える。「検索された機器全て」とされた入力部３０２１ａは、管理用ＰＣ２０が含まれる内部ネットワーク１３において管理用ＰＣ２０が検索できた全ての機器を選択する選択方法を指定する。
【００９０】
「カラー機／モノクロ機選択」とされた入力部３０２１ｂは、管理用ＰＣ２０が含まれる内部ネットワーク１３内において管理用ＰＣ２０が検索できた機器の機能に応じて利用機器の選択を行う選択方法を指定する。図１２の例では、機器の機能として、カラー印刷およびモノクロ印刷が適用されている。入力部３０２１ｂのチェックボックスにチェックを入れ、入力部３０２１ｃにおいて、カラー印刷可能なカラー機を選択するか、モノクロ印刷のみが可能なモノクロ機のみを選択するかを設定する。この例では、入力部３０２１ｂのチェックボックスにチェックが入れられ、入力部３０２１ｃにおいて、「モノクロ機のみ」が選択されている。
【００９１】
「ＩＰアドレス範囲指定」とされた入力部３０２１ｄは、ＩＰアドレスが指定した範囲内の機器を選択する選択方法を指定する。入力部３０２１ｄのチェックボックスにチェックを入れ、入力部３０２１ｅにＩＰアドレスの範囲を入力することで、入力部３０２１ｅに入力されたＩＰアドレスの範囲内で管理用ＰＣ２０により機器が検索される。入力部３０２１ｅは、例えば、管理用ＰＣ２０が含まれる内部ネットワーク１３に割り当てられたＩＰアドレス範囲がデフォルトで入力される。
【００９２】
なお、入力部３０２１ｂによる選択方法と、入力部３０２１ｄによる選択方法は、同時に指定することが可能である。入力部３０２１ｂおよび３０２１ｄによる選択方法を同時に指定した場合、入力部３０２１ｂの選択方法で選択された機器と、入力部３０２１ｄの選択方法で選択された機器との、論理和または論理積により、最終的に機器が選択される。
【００９３】
入力領域３０２２は、図８の入力領域３００３と同様に、入力領域３０２１において設定された機器の選択方法により選択された各機器において利用可能とする機能を指定する。図１２の例では、選択された各機器について、利用可能とする機能としてプリンタ機能、スキャナ機能およびＦＡＸ機能を指定することができる。
【００９４】
入力領域３０２３は、図８の入力領域３００４と同様に、入力領域３０２２において利用可能とした各機能の設定をカスタマイズする。この場合、設定ボタンを操作すると、選択された各機器に共通の項目についてカスタマイズ設定を行うカスタマイズ設定画面が提示される。
【００９５】
なお、図１２において、ドライバをインストールする際のオプション設定に関しては、図８の入力領域３００５と同様なので、ここでの説明を省略する。
【００９６】
完了ボタン３０２５は、図８の完了ボタン３００８と同様に、操作されることで、上述した各入力領域３０２１〜３０２３、および、入力領域３００５に入力された内容が確定される。例えば、管理アプリケーション２０００は、入力領域３０２１に入力された内容に従い、図１１に示した利用機器選択方法指定情報１１０５を生成する。また、管理アプリケーション２０００は、入力領域３０２２に入力された内容に従い、利用機器機能情報１１０２を生成する。また、管理アプリケーション２０００は、入力領域３０２３（および図９〜図１１の各設定画面）に入力された内容に従い、設定カスタマイズ情報１１０３を生成する。さらに、管理アプリケーション２０００は、入力領域３００５に入力された内容に従い、ドライバインストールオプション情報１１０４を生成する。そして、管理アプリケーション２０００は、生成した各情報をそれぞれファイルに格納して、設定情報ファイルとして設定情報保存領域２００１に保存し、初期画面に戻る。
【００９７】
なお、利用機器設定画面３０２の右上隅に配置されるボタン３０２６は、図８のボタン３００９と同様のキャンセルボタンである。
【００９８】
図１３は、第１の実施形態に係る、ユーティリティプラグイン２０１５ａに対する設定を行うユーティリティプラグイン設定画面の例を示す。図１３において、ユーティリティプラグイン設定画面３０３は、入力部３０３１〜３０３３が設けられる。
【００９９】
入力部３０３１は、クライアントＰＣ２１ａにインストールするユーティリティプラグインを指定する。図１３の例では、入力部３０３１に対して、ユーティリティプラグインの一つであるドライバインストーラのインストールを指定するためのチェックボックスのみが配置されている。入力部３０３１は、利用可能なユーティリティプラグイン数に応じた数が配置される。例えば、利用可能なユーティリティプラグインが複数存在する場合、使用しないユーティリティプラグインや、定期的に起動するユーティリティプラグインは、インストール対象から外すことができる。
【０１００】
入力部３０３２および３０３３は、ユーティリティプラグインに対する利用制限に関する入力を行う。入力部３０３２は、エンドユーザによるユーティリティプラグインの追加を可能とするか否かを入力する。入力部３０３２において「許可する」を指定することで、エンドユーザは、クライアントＰＣ２１ａにインストールされたユーティリティインストーラ２０１４ａを用いて、ユーティリティプラグイン２１０５ａにユーティリティを追加することができるようになる。例えば、管理者は、エンドユーザにユーティリティのインストール権限を与えたくない場合には、入力部３０３２において「許可しない」を指定する。
【０１０１】
入力部３０３３は、ユーティリティによる画面の立ち上げ、すなわち、ユーティリティの起動を、エンドユーザに許可するか否かを入力する。この入力部３０３３は、ユーティリティプラグイン２０１５ａに含まれるユーティリティ毎に設けられる。この例では、ユーティリティプラグイン２０１５ａがドライバインストーラ１２３０のみを含んでいる（図１０参照）ので、ドライバインストーラ１２３０に対応する入力部３０３３のみが配置されている。
【０１０２】
例えば、ユーティリティプラグイン２０１５ａに、ドライバインストーラ１２３０と、インストール処理を行わない他のユーティリティとが含まれるものとする。例えば管理者が、エンドユーザにはドライバのインストール権限は与えたくないが、当該他のユーティリティの起動は許可したい場合、他のユーティリティに対応する入力部３０３３において「許可する」を指定し、ドライバインストーラ１２３０に対応する入力部３３０３において「許可しない」を指定する。
【０１０３】
完了ボタン３０３４は、操作されることで、上述した各入力領域３０３１〜３０３３に入力された内容が確定される。例えば、管理アプリケーション２０００は、入力部３０３１に入力された内容に従い、図１１に示したユーティリティプラグインインストール設定情報１１０６を生成する。また、管理アプリケーション２０００は、入力部３０３２および３０３３に入力された内容に従い、ユーティリティプラグイン利用制限設定情報１１０７を生成する。そして、管理アプリケーション２０００は、生成した各情報をそれぞれファイルに格納して、設定情報ファイルとして設定情報保存領域２００１に保存し、初期画面に戻る。
【０１０４】
なお、ユーティリティプラグイン設定画面３０３の右上隅に配置されるボタン３０３５は、キャンセルボタンである。
【０１０５】
図１４は、第１の実施形態に係る設定情報１１０に含まれる各情報が格納されるファイルの例を示す。図１４の例では、利用機器指定情報１１０１は、ファイル名"device_list.txt"のファイルに格納される。利用機器機能情報１１０２は、利用機器毎に、ファイル名"feature_mfp-001a.txt"および"feature_mfp-002b.txt"のファイルにそれぞれ格納される。設定カスタマイズ情報１１０３も同様に、利用機器毎に、ファイル名"settings_mfp-001a.txt"および"setteing_mfp-002b.txt"のファイルにそれぞれ格納される。
【０１０６】
また、ドライバインストールオプション情報１１０４は、ファイル名"option.txt"のファイルに、利用機器選択方法指定情報１１０５は、ファイル名"device_selection_method.txt"のファイルにそれぞれ格納される。さらに、ユーティリティプラグインインストール設定情報１１０６は、ファイル名"utility_plugin_list.txt"のファイルに、ユーティリティプラグイン利用制限設定情報１１０７は、ファイル名"utility_plugin_constraint.txt"のファイルにそれぞれ格納される。
【０１０７】
なお、図１４に示した各ファイル名は、一例であって、この例に限定されない。また、以下では、各ファイルがテキストファイルであるものとして説明するが、これはこの例に限定されず、各ファイルはバイナリファイルであってもよい。また、以下では、「ファイル名""」のファイル」を、単に「ファイル""」のように記述する。
【０１０８】
図１５〜図２１を用いて、各情報のより具体的な例を説明する。図１５〜図２１に示される各情報の内容は、図８〜図１３に示す各設定内容と対応している。なお、図１５〜図２１の情報例を示す図において、特に記載の無い限り、各行の先頭の数字は説明のための行番号を示し、続くコロン（：）でデータ本体を示すコードと区別されている。また、図１５〜図２１に例示されるコードは、プログラミング言語として一般的に用いられるＣ言語の記法を模した疑似コードである。
【０１０９】
図１５は、第１の実施形態に係る利用機器指定情報１１０１の例を示す。利用機器指定情報１１０１は、第２行目の「device_list」の記述の後ろに、図８の利用機器設定画面３００における入力領域３００１および３００２に入力された機器名およびＩＰアドレスが、機器毎に一組の括弧「｛」および「｝」に挟まれて、それぞれ記述される。この図１５の第１行目〜第１１行目の内容が、ファイル"device_list.txt"のファイルに格納される。
【０１１０】
図１５の例では、第３行目〜第６行目に、「"device_name"」に続けて当該情報が示す機器名「MFP-001A」が記述され、さらに、当該機器名「MFP-001A」の機器のＩＰアドレス「10.60.127.100」が記述される。同様に、第７行目〜第１０行目に、「"device_name"」に続けて当該情報が示す機器名「MFP-002B」が記述され、さらに、当該機器名「MFP-002B」の機器のＩＰアドレス「10.60.127.101」が記述される。このように、図１５の例では、１つのファイル"device_list.txt"のファイルに、２台の機器の情報が記述される。
【０１１１】
なお、図１２に示した利用機器設定画面３０２を用いて機器の選択方法を設定した場合は、この利用機器指定情報１１０１が作成されないため、ファイル"device_list.txt"は、空のファイルとして作成される。
【０１１２】
図１６（ａ）および図１６（ｂ）は、それぞれ第１の実施形態に係る、機器毎の利用機器機能情報１１０２ａおよび１１０２ｂの例を示す。図１６（ａ）において、利用機器機能情報１１０２ａは、第２行目に「"device_name"」に続けて当該情報が示す機器名「MFP-001A」が記述され、第４行目以下、一組の括弧「｛」および「｝」に挟まれて、各機能の設定内容が記述される。この例では、チェックボックスにチェックが入った機能は"true"、チェックが入っていない機能は"false"として記述されている。この図１６（ａ）の第１行目〜第９行目の内容が、ファイル"feature_mfp-001a.txt"に格納される。図１６（ｂ）も同様であって、第１行目〜第９行目の内容が、ファイル"feature_mfp-002b.txt"に格納される。
【０１１３】
図１７（ａ）および図１７（ｂ）は、第１の実施形態に係る、それぞれ機器名「ＭＦＰ−００１Ａ」および「ＭＦＰ−００２Ｂ」の機器毎の設定カスタマイズ情報１１０３ａおよび１１０３ｂの例をそれぞれ示す。図１７（ａ）において、機器名「ＭＦＰ−００１Ａ」の機器の設定カスタマイズ情報１１０３ａは、第２行目に「"device_name"」に続けて当該情報が示す機器名「MFP-001A」が記述され、第３行目および第２９行目の一組の括弧「｛」および「｝」に挟まれた部分に、機能毎の設定内容が記述される。
【０１１４】
図１７（ａ）の例では、第４行目の「"feature"  :  "printer"」の後ろにプリンタ機能に対する設定項目および設定内容が記述される。ここで、上述した図８の例では、機器名「ＭＦＰ−００１Ａ」のプリンタ機能に対して、入力領域３００４において機能「２ｉｎ１カラー」と機能「２ｉｎ１モノクロ」の２つの機能が設定されている。そのため、対応するこの設定カスタマイズ情報１１０３ａにおいても、プリンタ機能を示す第４行目の「"feature  :  printer"」の設定項目の記述の後ろに、一組の括弧「｛」および「｝」に挟まれて機能「２ｉｎ１カラー」の設定内容が記述され（第６行目〜第１１行目）、さらに後ろに、一組の括弧「｛」および「｝」に挟まれて機能「２ｉｎ１モノクロ」の設定項目および設定内容が記述される（第１４行目〜第１９行目）。
【０１１５】
また、この場合、各機能「２ｉｎ１カラー」および「２ｉｎ１モノクロ」は、それぞれデフォルトの設定内容から変更されているため、デフォルトの設定を示す各記述「"default_setting"」の値が、それぞれ"false"とされている（第６行目および第１４行目）。
【０１１６】
図１７（ａ）において、さらに、第２１行目の「"feature"  :  "scanner"」の設定項目の記述の後ろにスキャナ機能に対する設定内容が記述され、第２５行目の「"feature"  :  "fax"」の設定項目の記述の後ろにＦＡＸ機能に対する設定内容が記述される。これらスキャナ機能およびＦＡＸ機能は、デフォルト設定から変更されていないため、デフォルトの設定を示す各設定項目「"default_setting"」の値が、それぞれ値"true"とされている（第２３行目および第２７行目）。
【０１１７】
この図１７（ａ）の例では、第１行目〜第３０行目の内容が、ファイル"setting_mfp-001a.txt"に格納される。
【０１１８】
図１７（ｂ）に示す、機器名「ＭＦＰ−００２Ｂ」の機器の設定カスタマイズ情報１１０３ｂにおいても同様に、第２行目に「"device_name"」に続けて当該情報が示す機器名「MFP-002B」が記述され、第５行目および第７行目の一組の括弧「｛」および「｝」に挟まれた部分に、機能毎の設定内容が記述される。
【０１１９】
図８に示したように、機器名「ＭＦＰ−００２Ｂ」の機器に対しては、入力領域３００３においてプリンタ機能のみを利用する設定となっている。したがって、設定カスタマイズ情報１１０３ｂにおいても、第４行目のプリンタ機能を示す記述「"feature"  :  "printer"」と、対応する設定項目および設定内容を示す記述「"default_setting"  :  "true"」とが記述され、他の機能については記述されない。この図１７（ｂ）の第１行目〜第９行目の内容が、ファイル"setting_mfp-002b.txt"に格納される。
【０１２０】
なお、図１２の利用機器設定画面３０２を用いて利用機器の選択を行った場合、複数の機器が利用機器として選択される可能性がある。そのため、図１２の利用機器設定画面３０２を用いて利用機器の選択を行った場合には、設定カスタマイズ情報１１０３は、１つのみが生成され、第２行目の"device_name"の値が空白とされる。また、この場合において、設定カスタマイズ情報１１０３が格納されるファイルのファイル名は、例えば"settings.txt"などのように、機器名を含まないものとなる。
【０１２１】
図１８は、第１の実施形態に係るドライバインストールオプション情報１１０４の例を示す。２行目の記述「"delete_driver_except_use_device"」は、図８および図１２の入力部３００５ａによる設定項目に対応し、３行目の記述「"update_driver"」は、入力部３００５ｂによる設定項目に対応し、４行目の記述「"delete_icon_except_settings"」は、入力部３００５ｃによる設定項目に対応する。例えば図８の例では、入力部３００５ａおよび３００５ｂの各チェックボックスにチェックが入り、入力部３００５ｃのチェックボックスにはチェックが入っていないため、第２行目〜第４行目の各設定項目に対する各値は、それぞれ値「"true"」、「"true"」および「"false"」となっている。
【０１２２】
この図１８の例では、第２行目〜第４行目の内容が、ファイル"option.txt"に格納される。
【０１２３】
図１９は、第１の実施形態に係る利用機器選択方法指定情報１１０５の例を示す。第２行目において、設定項目「"device_selection_method"」の後に図１２の利用機器設定画面３０２の入力領域３０２１で設定された内容を示す値が記述される。図１２の例では、入力領域３０２１において、入力部３０２１ｂのチェックボックスにチェックが入れられ、入力部３０２１ｃにおいて「モノクロ機のみ」が選択されているため、この値が「モノクロ機のみ」を示す値"only_bw"となっている。
【０１２４】
なお、利用機器選択方法指定情報１１０５の第２行目の設定項目「"device_selection_method"」の後の値は、図１２の利用機器設定画面３０２において、入力部３０２１ａにより検索できた全ての機器を選択する選択方法が指定された場合は、値「"all"」とされる。また、入力部３０２１ｂおよび３０２１ｃによりカラー印刷可能な機器を選択する選択方法が指定された場合は、値「"only_color"」とされる。さらに、入力部３０２１ｄおよび３０２１ｅによりＩＰアドレス範囲内の機器を選択する選択方法が指定された場合は、例えば値「"ip_address_start"  :  "10.60.127.100",  "ip_address_end"  :  "10.60.127.150"」とされ、範囲の開始および終了をそれぞれ示す値と、それぞれのＩＰアドレスとがコロンで区切られて記述される。
【０１２５】
上述したように、入力部３０２１ｂによる選択方法と、入力部３０２１ｄによる選択方法は、同時に指定することが可能である。２つの選択方法が同時に指定された場合、それぞれの選択方法による値を、カンマで区切って続けて記述する。例えば、図１２の例のように、「モノクロ機のみ」と「ＩＰアドレス範囲指定」とが同時に指定された場合は、「"  device_selection_method"  :  "only_bw",  "ip_address_start"  :  "10.60.127.100",  "ip_address_end"  :  "10.60.127.150"」のようになる。
【０１２６】
この図１９の例では、第１行目〜第３行目の内容が、ファイル"device_selection_method.txt"に格納される。
【０１２７】
図２０は、第１の実施形態に係るユーティリティプラグインインストール設定情報１１０６の例を示す。ユーティリティプラグインインストール設定情報１１０６は、第２行目の設定項目「"utility_plugin_list"」に続けて、図１３のユーティリティプラグイン設定画面３０３において入力部３０３１で選択された、すなわち、チェックボックスにチェックが入っているユーティリティの名前が記述される。入力部３０３１において複数のユーティリティが選択された場合には、当該複数のユーティリティそれぞれの名前が、例えばコロンで区切られて列挙される。図１３では、入力部３０３１においてドライバインストーラのみが指定されている。そのため、ユーティリティプラグインインストール設定情報１１０６の第２行目には、記述「"utility_plugin_list"  :  "driver_installer"」のように、ドライバインストーラの名前が１つだけ記述される。
【０１２８】
この図２０の例では、第１行目〜第３行目の内容が、ファイル"utility_plugin_list.txt"に格納される。
【０１２９】
図２１は、第１の実施形態に係るユーティリティプラグイン利用制限設定情報１１０７の例を示す。ユーティリティプラグイン利用制限設定情報１１０７は、図１３の入力部３０３２および３０３３に対する設定内容が記述される。図２１の例では、入力部３０３２の設定項目が第２行目に「"update_plugin"」として記述され、入力部３０３３の設定項目が第３行目に「"available_plugin"」として記述される。設定項目「"available_plugin"」は、複数存在する可能性があるので、設定内容は、設定項目「"available_plugin"」の後に、第４行目および第６行目に示されるように、一組の括弧「｛」および「｝」に挟まれて、複数行が記述可能となっている。
【０１３０】
なお、図１３の例では、入力部３０３２および３０３３の設定内容が何れも「許可しない」になっているので、図２１のユーティリティプラグイン利用制限設定情報１１０７においても、各設定項目に対する値が「"false"」となっている。
【０１３１】
この図２１の例では、第１行目〜第７行目の内容が、ファイル"utility_plugin_constraint.txt"に格納される。
【０１３２】
（第１の実施形態に係るインストール処理）
次に、第１の実施形態に係る情報処理システム１によるインストール処理について、より詳細に説明する。図２２は、第１の実施形態に係る管理アプリケーション２０００によるパッケージ作成処理を示す一例のフローチャートである。管理アプリケーション２０００は、ステップＳ１００で、上述した図８〜図１３の各設定画面による設定入力が終了したか否かを判定し、終了していなければ、処理をステップＳ１００に戻す。管理アプリケーション２０００は、設定入力が終了したと判定した場合、処理をステップＳ１０１に移行させる。
【０１３３】
ステップＳ１０１で、管理アプリケーション２０００は、各設定画面に入力された設定内容に従い、図１５〜図２１に示したような各情報を含む設定情報１１０を作成する。管理アプリケーション２０００は、作成した設定情報を、設定情報保存領域２００１に保存する。
【０１３４】
次のステップＳ１０２で、管理アプリケーション２０００は、作成部２０１１により、ステップＳ１０１で作成された設定情報１１０ａと、ＷｅｂＡＰＩ部１１００ａと、ユーティリティインストーラ２０１４ａと、ユーティリティプラグイン２０１５ａと、接続情報１１２とを１ファイルに纏めて書庫化して、パッケージ１００を作成する。作成部２０１１は、作成したパッケージ１００を、パッケージ保存領域２００２に保存する。
【０１３５】
ここで、ＷｅｂＡＰＩ部１１００ａは、例えば管理アプリケーション２０００が含むＷｅｂＡＰＩ部２０１２と同等のものである。また、ユーティリティインストーラ２０１４ａ、ユーティリティプラグイン２０１５ａおよびドライバインストーラ２０１６ａは、それぞれ、管理アプリケーション２０００におけるプログラムデータ２０１３に含まれるユーティリティインストーラ２０１４、ユーティリティプラグイン２０１５およびドライバインストーラ２０１６に基づく。
【０１３６】
管理者は、作成したパッケージ保存領域２００２に保存されたパッケージ１００を、管理用ＰＣ２０からクライアントＰＣ２１ａに配布する（ステップＳ１０３）。パッケージ１００が作成されパッケージ保存領域２００２に保存されてから、パッケージ１００をクライアントＰＣ２１ａに配布するまでは、時間が空いても構わない。
【０１３７】
次に、図２３〜図２６を用いて、第１の実施形態に係る、クライアントＰＣ２１ａにおけるインストール処理について、より具体的に説明する。なお、図２３、図２５および図２６において、上述の図１、図５および図７と共通する部分には同一の符号を付して、詳細な説明を省略する。
【０１３８】
図２３において、管理用ＰＣ２０で作成されたパッケージ１００は、クライアントＰＣ２１ａにおいて、パッケージ１００ａとして、例えばストレージ２１０４（第２の記憶部）に記憶され、クライアントＰＣ２１ａに導入されているものとする。
【０１３９】
パッケージ１００ａにおいて、ユーティリティインストーラ２０１４ａは、例えば、ユーザによるクライアントＰＣ２１ａの入力部２１４に対する入力に応じて出された実行指示を受け付ける（ステップＳ１０）。ユーティリティインストーラ２０１４ａは、この実行指示に応じて実行され、接続情報１１２に従い、管理用ＰＣ２０に対して、最新の設定情報１１０の取得の要求を送信する（ステップＳ１１）。このとき、ユーティリティインストーラ２０１４ａは、管理用ＰＣ２０に対する要求の送信を、クライアントＰＣ２１ａに接続するための接続情報（例えばＩＰアドレス）を含めて行う。例えば、ユーティリティインストーラ２０１４ａは、この要求に接続情報を付加して送信する。
【０１４０】
より具体的には、例えば、上述したように、管理用ＰＣ２０のＩＰアドレスが「10.60.127.1」であり、設定情報保存領域２００１のＵＲＬが「http://10.60.127.1/settings」であるとする。この場合、例えば、接続情報１１２に、この設定情報保存領域２００１のＵＲＬ「http://10.60.127.1/settings」を含めておく。ユーティリティインストーラ２０１４ａは、接続情報１１２に含まれる設定情報保存領域２００１のＵＲＬに基づきＷｅｂＡＰＩ部２０１２を介して設定情報保存領域２００１にアクセスして設定情報保存領域２００１に記憶される設定情報１１０を取得する（ステップＳ１３）。取得された設定情報１１０は、ＷｅｂＡＰＩ部２０１２からクライアントＰＣ２１ａに送信され（ステップＳ１４）、ユーティリティインストーラ２０１４ａに受け取られる。
【０１４１】
また、設定部２０１０は、この要求に付加された、クライアントＰＣ２１ａに接続するための接続情報をＷｅｂＡＰＩ部２０１２から取得し、例えば管理用ＰＣ２０が備えるストレージに記憶させて、接続元情報として登録する（ステップＳ１２）。
【０１４２】
ユーティリティインストーラ２０１４ａは、ステップＳ１４にて管理用ＰＣ２０から設定情報１１０を取得できた場合、パッケージ１００ａに含まれる設定情報１１０ａを、取得した設定情報１１０により上書きする（ステップＳ１５）。これにより、既に記憶されている設定情報１１０ａが、取得した設定情報１１０により更新された新たな設定情報１１０ａとされる。
【０１４３】
ここで、ユーティリティインストーラ２０１４ａは、この設定情報１１０ａの更新の際に、取得した設定情報１１０と、既に記憶されている設定情報１１０ａとの例えばバージョンを比較し、設定情報１１０ａの確認を行うことができる。この場合、ユーティリティインストーラ２０１４ａは、取得した設定情報１１０のバージョンが既に記憶されている設定情報１１０ａのバージョンよりも新しいバージョンである場合に、設定情報１１０ａを上書きし更新するようにできる。
【０１４４】
次に、ユーティリティインストーラ２０１４ａは、ユーティリティプラグイン２０１５ａのインストールを行う（ステップＳ１６）。この例では、ユーティリティプラグイン２０１５ａとしてドライバインストーラ２０１６ａが含まれている。そのため、ユーティリティインストーラ２０１４ａは、ドライバインストーラ２０１６ａをクライアントＰＣ２１ａにインストールするインストール処理を行う。ユーティリティインストーラ２０１４ａは、例えば、クライアントＰＣ２１ａに搭載されるＯＳ２２００に規定される手順に従い、ドライバインストーラ２０１６ａのクライアントＰＣ２１ａに対するインストール処理を行う。
【０１４５】
ドライバインストーラ２０１６ａは、クライアントＰＣ２１ａにインストールされると、例えばユーティリティインストーラ２０１４ａにより実行され、設定情報１１０ａを取得する（ステップＳ１７）。ドライバインストーラ２０１６ａは、取得した設定情報１１０ａに従い、ドライバ保存・配布サーバ１０からドライバをダウンロード（ＤＬ）する（ステップＳ１８）。
【０１４６】
例えば、ドライバ保存・配布サーバ１０は、各機器のドライバを含むドライバ群１２５が格納されるデータベース１０ａを備える。ドライバインストーラ２０１６ａは、利用機器指定情報１１０１および利用機器選択方法指定情報１１０５のうち取得した設定情報１１０ａに含まれる情報に、「"device_name"」に続けて記述される機器名に対応し、且つ、利用機器機能情報１１０２に記述される機器に対応するドライバを、ドライバ保存・配布サーバ１０に要求する。
【０１４７】
ドライバ保存・配布サーバ１０は、データベース１０ａに格納されるドライバ群１２５から、ドライバインストーラ２０１６ａの要求に応じたドライバを取り出して、ドライバインストーラ２０１６ａに送信する。ドライバインストーラ２０１６ａは、ドライバ保存・配布サーバ１０からダウンロードして取得したドライバを、ステップＳ１７で取得した設定情報１１０ａに従い、クライアントＰＣ２１ａにインストールする。
【０１４８】
一例として、上述した図８の例に示されるように、機器名「MFP-001A」および「MFP-002B」の２種類の機器が利用機器として設定され、機器名「MFP-001A」の機器について、プリンタ機能、スキャナ機能およびＦＡＸ機能の３機能が選択され、機器名「MFP-002B」の機器について、プリンタ機能が選択されているものとする。これにより、設定情報１１０において、選択された機器名を示す情報が利用機器指定情報１１０１に記述され、機器毎に選択された機能を示す情報が、機器毎の利用機器機能情報１１０２に記述される。
【０１４９】
この場合、ドライバ保存・配布サーバ１０は、ドライバインストー２０１６ａの要求に応じて、データベース１０ａに格納されるドライバ群１２５から、機器名「MFP-001A」の機器に対応するプリンタドライバ、スキャナドライバおよびＦＡＸドライバと、機器名「MFP-002B」の機器に対応するプリンタドライバとを取り出して、ドライバインストーラ２０１６ａに送信する。ドライバインストーラ２０１６ａは、ドライバ保存・配布サーバ１０から送信された機器名「MFP-001A」の機器に対応するプリンタドライバ、スキャナドライバおよびＦＡＸドライバと、機器名「MFP-002B」の機器に対応するプリンタドライバとを受信して、それぞれクライアントＰＣ２１ａにインストールする。
【０１５０】
別の例として、上述した図８の利用機器設定画面３００による設定が行われた後、且つ、図２３におけるステップＳ１１の、クライアントＰＣ２１ａから管理用ＰＣ２０に対する要求の送信が行われる前に、図２４のマーカＡに例示されるように、利用機器設定画面３００に対して、さらに、機器名「MFP-002B」の機器についてスキャナ機能を追加する入力がなされたものとする。
【０１５１】
この場合、管理アプリケーション２０００において設定部２０１０は、利用機器設定画面３００に対してなされた機器名「MFP-002B」の機器についてのスキャナ機能の追加に応じて、設定情報保存領域２００１に保存される設定情報１１０を更新する。その後、ユーティリティインストーラ２０１４ａにより、図２３のステップＳ１１の要求の送信が行われた場合、ユーティリティインストーラ２０１４ａは、管理用ＰＣ２０から取得（ステップＳ１３）した設定情報１１０により設定情報１１０ａを上書きし（ステップＳ１５）、この上書きされた設定情報１１０ａに基づき、ドライバ保存・配布サーバ１０にドライバを要求する（ステップＳ１８）。
【０１５２】
ドライバ保存・配布サーバ１０は、ドライバインストー２０１６ａの要求に応じて、データベース１０ａに格納されるドライバ群１２５から、機器名「MFP-001A」の機器に対応するプリンタドライバ、スキャナドライバおよびＦＡＸドライバと、機器名「MFP-002B」の機器に対応するプリンタドライバおよびスキャナドライバとを取り出して、ドライバインストーラ２０１６ａに送信する。ドライバインストーラ２０１６ａは、ドライバ保存・配布サーバ１０から送信された機器名「MFP-001A」の機器に対応するプリンタドライバ、スキャナドライバおよびＦＡＸドライバと、機器名「MFP-002B」の機器に対応するプリンタドライバおよびスキャナドライバとを受信して、それぞれクライアントＰＣ２１ａにインストールする。
【０１５３】
次に、上述したステップＳ１４で、ユーティリティインストーラ２０１４ａが管理用ＰＣ２０から設定情報１１０を取得できない場合の処理について説明する。例えば、ステップＳ１１でユーティリティインストーラ２０１４ａが管理用ＰＣ２０に要求を送信した時点で、管理用ＰＣ２０自体が起動されていない場合や管理用ＰＣ２０は起動されているが、管理アプリケーション２０００が起動されていない場合に、ユーティリティインストーラ２０１４ａは、管理用ＰＣ２０から設定情報１１０を取得できない。さらに、ユーティリティインストーラ２０１４ａが管理用ＰＣ２０から設定情報１１０を取得できない例として、管理用ＰＣ２０とクライアントＰＣ２１ａとの間の通信の不具合なども考えられる。
【０１５４】
この場合、ステップＳ１４で、ユーティリティインストーラ２０１４ａが管理用ＰＣ２０から設定情報１１０を取得できない場合、ユーティリティインストーラ２０１４ａは、クライアントＰＣ２１ａに既に導入されているパッケージ１００ａに含まれる設定情報１１０ａをそのまま利用して、ドライバのインストール処理を行う。
【０１５５】
例えば、ユーティリティインストーラ２０１４ａは、図２３のステップＳ１１における要求の送信から所定時間以内に、ステップＳ１４により管理用ＰＣ２０から送信されるべき設定情報１１０を受け取ることができたか否かを判定する。受け取ることができた場合、ユーティリティインストーラ２０１４ａは、図２３のステップＳ１５以降の処理を行い、ドライバのインストール処理を行う。
【０１５６】
一方、ユーティリティインストーラ２０１４ａは、図２３のステップＳ１１における要求の送信から所定時間以内に、ステップＳ１４により送信されるべき設定情報１１０を受け取ることができなかった場合、タイムアウト処理として、クライアントＰＣ２１ａに既に導入されているパッケージ１００ａに含まれる設定情報１１０ａをそのまま利用して、図２３のステップＳ１６以降の処理に従い、ドライバのインストールを行う。
【０１５７】
すなわち、ユーティリティインストーラ２０１４ａは、先ずユーティリティプラグイン２０１５ａのインストールを行う（ステップＳ１６）。この例では、上述したように、ドライバインストーラ２０１６ａをクライアントＰＣ２１ａにインストールするインストール処理を行う。ドライバインストーラ２０１６ａは、クライアントＰＣ２１ａにインストールされると、例えばユーティリティインストーラ２０１４ａにより実行され、設定情報１１０ａを取得する（ステップＳ１７）。ドライバインストーラ２０１６ａは、取得した設定情報１１０ａに従い、ドライバ保存・配布サーバ１０からドライバをダウンロードする（ステップＳ１８）。
【０１５８】
ユーティリティインストーラ２０１４ａは、タイムアウト処理によりドライバのインストールを行った後、所定のタイミングで管理用ＰＣ２０に対する要求の送信を行う。ここで、ユーティリティインストーラ２０１４ａが管理用ＰＣ２０に対する要求の送信は、一定間隔で繰り返されるタイミングで行うと好ましい。例えば、ユーティリティインストーラ２０１４ａは、数時間など所定の時間間隔で要求を送信してもよいし、一日の決められた時刻毎、一週間や１ヶ月毎の決められた日時で要求を送信してもよい。これに限らず、クライアントＰＣ２１ａが起動される度に要求を送信してもよい。
【０１５９】
図２５を用いて、図２３を用いて説明した処理によりドライバがインストールされた後に、ユーティリティインストーラ２０１４ａが所定のタイミングで管理用ＰＣ２０に要求の送信を行う場合のインストール処理について説明する。ここでは、ユーティリティインストーラ２０１４ａは、一日の決められた時刻（設定時刻とする）を過ぎると、管理用ＰＣ２０に対して要求を送信するものとする。
【０１６０】
ユーティリティインストーラ２０１４ａは、例えばクライアントＰＣ２１ａが備えるタイマの計測結果やネットワークを介して取得した時刻情報などに基づき、現在時刻が設定時刻を過ぎたか否かを判定する。ユーティリティインストーラ２０１４ａは、現在時刻が設定時刻を過ぎたと判定した場合、管理用ＰＣ２０に対して、接続情報１１２に従い、最新の設定情報１１０の取得の要求を送信する（ステップＳ２０）。
【０１６１】
ユーティリティインストーラ２０１４ａは、接続情報１１２に含まれる設定情報保存領域２００１のＵＲＬに基づきＷｅｂＡＰＩ部２０１２を介して設定情報保存領域２００１にアクセスして設定情報保存領域２００１に記憶される設定情報１１０を取得する（ステップＳ２１）。取得された設定情報１１０は、ＷｅｂＡＰＩ部２０１２からクライアントＰＣ２１ａに送信され（ステップＳ２２）、ユーティリティインストーラ２０１４ａに受け取られる。
【０１６２】
なお、設定部２０１０は、要求に付加された、クライアントＰＣ２１ａに接続するための接続情報をＷｅｂＡＰＩ部２０１２から取得し、取得した接続情報と一致する接続元情報が、管理用ＰＣ２０が備えるストレージに記憶されているか否かを確認するようにしてもよい。この場合、例えば、確認の結果、取得した接続情報と一致する接続元情報が記憶されている場合に、設定情報１１０のクライアントＰＣ２１ａへの送信を行うことが考えられる。
【０１６３】
ユーティリティインストーラ２０１４ａは、ステップＳ２２にて管理用ＰＣ２０から取得した設定情報１１０により設定情報１１０ａを上書きして、既に記憶されている設定情報１１０ａを更新する（ステップＳ２３）。この場合も上述の図２３の例と同様に、ユーティリティインストーラ２０１４ａは、取得した設定情報１１０のバージョンが既に記憶されている設定情報１１０ａのバージョンよりも新しいバージョンである場合に、取得した設定情報１１０により設定情報１１０ａを上書きし更新するようにできる。
【０１６４】
次に、ユーティリティインストーラ２０１４ａは、図２３で説明した処理でクライアントＰＣ２１ａに既にインストールされているドライバインストーラ２０１６ａを実行させる。ドライバインストーラ２０１６ａは、実行されると、設定情報１１０ａを取得し（ステップＳ２４）。取得した設定情報１１０ａに従い、ドライバ保存・配布サーバ１０からドライバをダウンロードする（ステップＳ２５）。そして、ドライバインストーラ２０１６ａは、ドライバ保存・配布サーバ１０からダウンロードして取得したドライバを、ステップＳ２４で取得した設定情報１１０ａに従い、クライアントＰＣ２１ａにインストールする。
【０１６５】
ここで、ユーティリティインストーラ２０１４ａは、管理用ＰＣ２０への要求の送信を、一定間隔で繰り返し行う。そのため、ユーティリティインストーラ２０１４ａは、例えば、１回目の管理用ＰＣ２０への要求の送信によりドライバをインストールした後に、管理用ＰＣ２０で設定情報１１０が更新された場合であっても、設定情報１１０の更新内容をクライアントＰＣ２１ａに反映できる。
【０１６６】
例えば、１回目の要求の送信により、設定情報１１０に、図８に例示される利用機器設定画面３００の設定に従い機器名「MFP-001A」および「MFP-002B」の２種類の機器が利用機器として設定され、機器名「MFP-001A」の機器について、プリンタ機能、スキャナ機能およびＦＡＸ機能の３機能が選択され、機器名「MFP-002B」の機器について、プリンタ機能が選択されているものとする。
【０１６７】
この場合、ユーティリティインストーラ２０１４ａは、この１回目の要求の送信により管理用ＰＣ２０から取得した設定情報１１０により更新された設定情報１１０ａに従い、機器名「MFP-001A」の機器に対応するプリンタドライバ、スキャナドライバおよびＦＡＸドライバと、機器名「MFP-002B」の機器に対応するプリンタドライバとをドライバ保存・配布サーバ１０から取得して、クライアントＰＣ２１ａにインストールする。
【０１６８】
次に、例えば２回目の要求の送信で、設定情報１１０に、図２４に例示される利用機器設定画面３００の設定に従い、１回目の要求の送信時の設定情報１１０において設定された、機器名「MFP-001A」の機器のプリンタ機能、スキャナ機能およびＦＡＸ機能と、機器名「MFP-002B」の機器のプリンタ機能に対して、機器名「MFP-002B」の機器のスキャナ機能が追加されたものとする。
【０１６９】
この場合、ユーティリティインストーラ２０１４ａは、この２回目の要求の送信で管理用ＰＣ２０から取得した設定情報１１０により更新された設定情報１１０ａに従い、機器名「MFP-001A」の機器に対応するプリンタドライバ、スキャナドライバおよびＦＡＸドライバと、機器名「MFP-002B」の機器に対応するプリンタドライバに加え、追加された機器名「MFP-002B」の機器に対応するスキャナドライバをドライバ保存・配布サーバ１０から取得して、クライアントＰＣ２１ａに追加してインストールする。
【０１７０】
次に、第１の実施形態に係る、管理用ＰＣ２０において設定情報１１０を更新した場合に、更新された設定情報１１０の内容をクライアントＰＣ２１ａに反映させる処理について、図２６を用いて説明する。
【０１７１】
管理用ＰＣ２０において、管理アプリケーション２０００の設定部２０１０は、図８〜図１３を用いて説明した各設定画面に従った設定入力により入力部２０５に入力された情報を受け付け（ステップＳ３０）、受け付けた各情報に基づき設定情報１１０を作成し、作成した設定情報により、設定情報保存領域２００１に保存される設定情報１１０を更新する（ステップＳ３１）。
【０１７２】
また、設定部２０１０は、ステップＳ３０で受け付けた情報に基づき作成した設定情報１１０を、クライアントＰＣ２１ａに送信する（ステップＳ３２）。ここで、設定部２０１０は、図２３のステップＳ１２で説明した、設定部２０１０により登録された接続元情報に従い、設定情報１１０のクライアントＰＣ２１ａへの送信を行う。例えば、接続元情報がクライアントＰＣ２１ａのＩＰアドレス「10.60.127.10」を含んでいる場合、設定部２０１０は、このＩＰアドレスに基づくＵＲＬ「http://10.60.127.10」に対して設定情報１１０を送信する。
【０１７３】
設定部２０１０により接続元情報に従い送信された設定情報１１０は、クライアントＰＣ２１ａに受信され、ＷｅｂＡＰＩ部１１００ａに渡される。ＷｅｂＡＰＩ部１１００ａは、設定情報１１０を渡されると、その旨をユーティリティインストーラ２０１４ａに通知し（ステップＳ３３）、当該設定情報１１０をユーティリティインストーラ２０１４ａに渡す。以降、ユーティリティインストーラ２０１４ａは、図２３のステップＳ１４以降と同様の処理を行う。
【０１７４】
すなわち、ユーティリティインストーラ２０１４ａは、ステップＳ３２で管理用ＰＣ２０から送信されステップＳ３３でＷｅｂＡＰＩ部１１００ａから渡された設定情報１１０により設定情報１１０ａを上書きして、既に記憶されている設定情報１１０ａを更新する（ステップＳ３４）。この場合も上述の図２３などの例と同様に、ユーティリティインストーラ２０１４ａは、取得した設定情報１１０のバージョンが既に記憶されている設定情報１１０ａのバージョンよりも新しいバージョンである場合に、取得した設定情報１１０により設定情報１１０ａを上書きし更新するようにできる。
【０１７５】
次に、ユーティリティインストーラ２０１４ａは、図２３や図２５で説明した処理でクライアントＰＣ２１ａに既にインストールされているドライバインストーラ２０１６ａを実行させる。ドライバインストーラ２０１６ａは、実行されると、設定情報１１０ａを取得し（ステップＳ３５）。取得した設定情報１１０ａに従い、ドライバ保存・配布サーバ１０からドライバをダウンロードして取得する（ステップＳ３６）。ドライバインストーラ２０１６ａは、取得したドライバを、ステップＳ３５で取得した設定情報１１０ａに従い、クライアントＰＣ２１ａにインストールする。
【０１７６】
（第１の実施形態に係る各処理の詳細）
図２７は、第１の実施形態に係るユーティリティインストーラ２０１４ａによるドライバのインストール処理を示す一例のフローチャートである。この図２７のフローチャートによる処理は、上述した図２３を用いて説明した処理に対応するものである。
【０１７７】
ステップＳ１２０で、クライアントＰＣ２１ａは、ユーティリティインストーラ２０１４ａが実行されたか否かを判定する。クライアントＰＣ２１ａは、ユーティリティインストーラ２０１４ａが実行されていないと判定した場合、処理をステップＳ１２０に戻す。また、クライアントＰＣ２１ａは、ユーティリティインストーラ２０１４ａが実行されたと判定した場合、処理をステップＳ１２１に移行させる。ステップＳ１２１以降の処理は、ユーティリティインストーラ２０１４ａに係る処理となる。
【０１７８】
ステップＳ１２１で、ユーティリティインストーラ２０１４ａは、最新の設定情報１１０の取得要求を、クライアントＰＣ２１ａのＩＰアドレスを含めて管理用ＰＣ２０に送信する。次のステップＳ１２２で、ユーティリティインストーラ２０１４ａは、管理用ＰＣ２０に接続可能か否かを判定する。例えば、ユーティリティインストーラ２０１４ａは、ステップＳ１２１で送信した取得要求に対する管理用ＰＣ２０からの応答を、取得要求の送信から所定時間以内に受信できなかった場合に、管理用ＰＣ２０に接続不可と判定する。
【０１７９】
ユーティリティインストーラ２０１４ａは、管理用ＰＣ２０に接続不可であると判定した場合、処理をステップＳ１２５に移行させる。
【０１８０】
一方、ユーティリティインストーラ２０１４ａは、管理用ＰＣ２０に接続可であると判定した場合、処理をステップＳ１２３に移行させる。ステップＳ１２３で、ユーティリティインストーラ２０１４ａは、ステップＳ１２１で送信した取得要求に応じて管理用ＰＣ２０から送信されたパッケージ１００を受信する。次のステップＳ１２４で、ユーティリティインストーラ２０１４ａは、ステップＳ１２３で受信したパッケージに含まれる設定情報１１０により設定情報１１０ａを上書きし、設定情報１１０ａを更新する。設定情報１１０ａが更新されると、処理がステップＳ１２５に移行される。
【０１８１】
ステップＳ１２５で、ユーティリティインストーラ２０１４ａは、設定情報１１０ａに含まれるユーティリティプラグインインストール設定情報１１０６に従い、インストールを行うユーティリティプラグイン２０１５ａを決定する。次のステップＳ１２６で、ユーティリティインストーラ２０１４ａは、ステップＳ１２５で決定されたユーティリティプラグイン２０１５ａのインストールを実行する。なお、ここでは、インストールを行うユーティリティプラグイン２０１５ａには、少なくともドライバインストーラ２０１６ａが含まれているものとする。
【０１８２】
次のステップＳ１２６で、ユーティリティインストーラ２０１４ａは、設定情報１１０ａに含まれるユーティリティプラグイン利用制限設定情報１１０７に従い、ステップＳ１２５で決定されたユーティリティプラグイン２０１５ａのインストールを行う。この例では、ユーティリティプラグイン２０１５ａに含まれるドライバインストーラ２０１６ａのクライアントＰＣ２１ａに対するインストールが実行される。これにより、ドライバインストーラ２０１６ａは、ユーティリティインストーラ２０１４ａによりクライアントＰＣ２１ａにインストールされる。
【０１８３】
次のステップＳ１２７で、ユーティリティインストーラ２０１４ａは、ステップＳ１２６でインストールしたドライバインストーラ２０１６ａを実行する。次のステップＳ１２８で、ドライバインストーラ２０１６ａは、ドライバのインストールを実行する。
【０１８４】
図２８は、上述の図２７のフローチャートによる処理に対応する、第１の実施形態に係る管理用ＰＣ２０における管理アプリケーション２０００による処理を示す一例のフローチャートである。ステップＳ１５０で、管理アプリケーション２０００は、ＷｅｂＡＰＩ部２０１２がクライアントＰＣ２１ａからの取得要求を受信したか否かを判定する（図２７のステップＳ１２１参照）。受信していないと判定した場合、管理アプリケーション２０００は、処理をステップＳ１５０に戻す。
【０１８５】
管理アプリケーション２０００は、クライアントＰＣ２１ａからの取得要求を受信したと判定した場合、処理をステップＳ１５１に移行させる。ステップＳ１５１で、管理アプリケーション２０００は、クライアントＰＣ２１ａから受信した取得要求に含まれるＩＰアドレスをＷｅｂＡＰＩ部２０１２から取得して、登録する。次のステップＳ１５２で、管理アプリケーション２０００は、ＷｅｂＡＰＩ部２０１２により、パッケージ保存領域２００２に保存されるパッケージ１００に、設定情報保存領域２００１に保存される設定情報１１０を含めて、取得要求に含まれるＩＰアドレスに従いクライアントＰＣ２１ａに送信する（図２７のステップＳ１２３参照）。
【０１８６】
ステップＳ１５２でパッケージ１００が送信されると、管理アプリケーション２０００は、処理をステップＳ１５０に戻す。
【０１８７】
図２９は、上述した図２７のフローチャートにおけるステップＳ１２８から開始される、第１の実施形態に係る、ドライバインストーラ２０１６ａによるドライバのインストール処理を示す一例のフローチャートである。
【０１８８】
ステップＳ１３０で、ドライバインストーラ２０１６ａは、インストールを行うドライバの決定方法を判定する。より具体的には、ドライバインストーラ２０１６ａは、指定された機器のドライバをインストールするか、機器検索により検索された機器のドライバをインストールするかを判定する。ドライバインストーラ２０１６ａは、機器検索により検索されたドライバをインストールすると判定した場合、処理をステップＳ１３１に移行させる。
【０１８９】
例えば、ドライバインストーラ２０１６ａは、設定情報１１０ａに含まれる各情報を格納する各ファイルのうち、利用機器指定情報１１０１および利用機器選択方法指定情報１１０５が格納される各ファイルを確認する。そして、ドライバインストーラ２０１６ａは、利用機器指定情報１１０１が格納されるファイル（例えば図１４のファイル"device_list.txt"）が空白の場合には機器検索により検索された機器のドライバをインストールすると判定し、処理をステップＳ１３１に移行させる。
【０１９０】
ステップＳ１３１で、ドライバインストーラ２０１６ａは、設定情報１１０ａに含まれる利用機器選択方法指定情報１１０５を参照して、ドライバをインストールする機器の選択方法を取得する。そして、ドライバインストーラ２０１６ａは、取得した選択方法に従い、例えば、クライアントＰＣ２１ａが接続される内部ネットワーク１３を介して接続される機器を検索する。
【０１９１】
なお、ここでは、機器は、ＭＦＰであるものとする。これはこの例に限定されず、機器は、クライアントＰＣ２１ａから制御可能な機器であれば、他の種類の機器であってもよい。
【０１９２】
ステップＳ１３１で機器の選択方法が取得されると、次のステップＳ１３２で、取得された選択方法に従い機器を検索し、検索結果に従い利用する機器を絞り込み、絞り込んだ各機器の機器名およびＩＰアドレスを取得する。
【０１９３】
例えば、ドライバインストーラ２０１６ａは、利用機器選択方法指定情報１１０５に、図１２の利用機器設定画面３０２の入力領域３０２１における入力部３０２１ａによる「検索された機器全て」が選択方法として指定されている場合、例えばクライアントＰＣ２１ａが接続される内部ネットワーク１３を介して接続される全ての機器を検索し、検索された機器の機器名およびＩＰアドレスを取得する。この場合には、機器の絞り込みは省略される。
【０１９４】
また例えば、ドライバインストーラ２０１６ａは、利用機器選択方法指定情報１１０５に、入力部３０２１ｂによる「カラー機／モノクロ機」が選択方法として指定されている場合、利用機器選択方法指定情報１１０５に更に示される「カラー機」および「モノクロ機」の何れかを指定する情報に従い、例えばクライアントＰＣ２１ａが接続される内部ネットワーク１３を介して接続される全ての機器から、指定に従いカラー機またはモノクロ機を絞り込んで検索し、検索された各機器の機器名およびＩＰアドレスをそれぞれ取得する。なお、接続される機器がカラー機およびモノクロ機の何れであるかは、各機器のＭＩＢ(Management  Information  Base)の値から取得できる。
【０１９５】
さらに例えば、ドライバインストーラ２０１６ａは、利用機器選択方法指定情報１１０５に、入力部３０２１ｄによる「ＩＰアドレス範囲指定」が選択方法として指定されている場合、利用機器選択方法指定情報１１０５にさらに示されるＩＰアドレス範囲に従い検索範囲を絞り込んで、例えばクライアントＰＣ２１ａが接続される内部ネットワーク１３を介して接続される機器を検索し、検索された機器の機器名およびＩＰアドレスを取得する。
【０１９６】
次のステップＳ１３３で、ドライバインストーラ２０１６ａは、利用機器機能情報１１０２に基づき、利用する機能を示す情報を取得する。そして、処理をステップＳ１３６に移行させる。
【０１９７】
一方、ドライバインストーラ２０１６ａは、ステップＳ１３０で、指定された機器のドライバをインストールすると判定した場合、処理をステップＳ１３４に移行させる。例えば、ドライバインストーラ２０１６ａは、利用機器選択方法指定情報１１０５が格納されるファイル（例えば図１９のファイル"device_selection_method.txt"）が空白の場合には、指定された機器のドライバをインストールすると判定し、処理をステップＳ１３４に移行させる。
【０１９８】
ステップＳ１３４で、ドライバインストーラ２０１６ａは、設定情報１１０ａに含まれる利用機器指定情報１１０１を参照して、利用機器指定情報１１０１に示される機器名およびＩＰアドレスを取得する。利用機器指定情報１１０１に複数の機器の機器名およびＩＰアドレスが含まれる場合には、これら複数の機器の各機器名および各ＩＰアドレスを取得する。
【０１９９】
ドライバインストーラ２０１６ａは、次のステップＳ１３５で、設定情報１１０ａに含まれる利用機器機能情報１１０２を参照して、利用機器機能情報１１０２に含まれる機能を示す情報を取得する。ドライバインストーラ２０１６ａは、ステップＳ１３４で複数の機器の情報が取得されている場合には、複数の機器それぞれについて、機能を示す情報を取得する。そして、処理をステップＳ１３６に移行させる。
【０２００】
ステップＳ１３６で、ドライバインストーラ２０１６ａは、上述のステップＳ１３１〜ステップＳ１３３、または、ステップＳ１３４およびステップＳ１３５で取得された機器名および機能に対応するドライバをダウンロードする。
【０２０１】
具体的には、ドライバインストーラ２０１６ａは、ステップＳ１３１〜ステップＳ１３３、または、ステップＳ１３４およびステップＳ１３５で取得された機器名および機能に対応するドライバをドライバ保存・配布サーバ１０に要求する。このとき、ドライバインストーラ２０１６ａは、クライアントＰＣ２１ａのＯＳ２２００の仕様に関する情報（動作ビット数、ＯＳのバージョンなど）をクライアントＰＣ２１ａから取得して、ドライバの要求と共にドライバ保存・配布サーバ１０に送信する。
【０２０２】
ドライバ保存・配布サーバ１０は、ドライバインストーラ２０１６ａから送信された要求に従い、要求された機器名および機能に対応し、且つ、クライアントＰＣ２１ａの仕様に関する情報に対応する全てのドライバを、データベース１０ａに格納されるドライバ群１２５から検索する。そして、ドライバ保存・配布サーバ１０は、検索された全てのドライバをクライアントＰＣ２１ａに送信する。クライアントＰＣ２１ａにおいて、ドライバインストーラ２０１６ａは、ドライバ保存・配布サーバ１０から送信された各ドライバをダウンロードする。
【０２０３】
次のステップＳ１３７で、ドライバインストーラ２０１６ａは、設定情報１１０ａのドライバインストールオプション情報１１０４を参照して、クライアントＰＣ２１ａに既にインストールされている既存のドライバを、ダウンロードしたドライバで更新するか否かを判定する。更新しないと判定した場合、ドライバインストーラ２０１６ａは、処理をステップＳ１４０に移行させる。
【０２０４】
ステップＳ１４０で、ドライバインストーラ２０１６ａは、ステップＳ１３６でダウンロードした各ドライバと、クライアントＰＣ２１ａにインストールされている既存ドライバとを比較する。比較の結果、ドライバインストーラ２０１６ａは、ダウンロードした各ドライバに、クライアントＰＣ２１ａに未インストールのドライバが含まれる場合、この未インストールのドライバをクライアントＰＣ２１ａに新規にインストールする。
【０２０５】
そして、ドライバインストーラ２０１６ａは、上述のステップＳ１３０で機器検索と判定されている場合には、ステップＳ１３２で取得された各ＩＰアドレスを、インストールを行った各ドライバに対してそれぞれ設定する。一方、ドライバインストーラ２０１６ａは、ステップＳ１３０で機器指定と判定されている場合には、利用機器指定情報１１０１に含まれる各機器名および各ＩＰアドレスを、インストールを行った各ドライバに対してそれぞれ設定する。
【０２０６】
一方、ステップＳ１３７で、既存のドライバを更新すると判定した場合、処理をステップＳ１３８に移行させる。ステップＳ１３８で、ドライバインストーラ２０１６ａは、クライアントＰＣ２１ａに、ステップＳ１３６でダウンロードしたドライバと対応する既存ドライバが存在するか否かを判定する。ドライバインストーラ２０１６ａは、当該既存ドライバがクライアントＰＣ２１ａにインストールされていないと判定した場合、処理を上述したステップＳ１４０に移行させる。
【０２０７】
一方、ドライバインストーラ２０１６ａは、当該既存ドライバがクライアントＰＣ２１ａにインストールされていると判定した場合、処理をステップＳ１３９に移行させる。ステップＳ１３９で、ドライバインストーラ２０１６ａは、ステップＳ１３６でダウンロードした各ドライバと、クライアントＰＣ２１ａにインストールされている既存ドライバとを比較する。比較の結果、ドライバインストーラ２０１６ａは、ダウンロードした各ドライバに、クライアントＰＣ２１ａに未インストールのドライバが含まれる場合、この未インストールのドライバをクライアントＰＣ２１ａに新規にインストールする。
【０２０８】
ドライバインストーラ２０１６ａは、上述のステップＳ１３０で機器検索と判定されている場合には、ステップＳ１３２で取得された各ＩＰアドレスを、新規にインストールを行った各ドライバに対してそれぞれ設定する。一方、ドライバインストーラ２０１６ａは、ステップＳ１３０で機器指定と判定されている場合には、利用機器指定情報１１０１に含まれる各機器名および各ＩＰアドレスを、新規にインストールを行った各ドライバに対してそれぞれ設定する。
【０２０９】
また、ドライバインストーラ２０１６ａは、比較の結果、ダウンロードした各ドライバに、既存ドライバと対応するドライバが含まれる場合、ダウンロードしたドライバのバージョンと、当該ドライバに対応する既存ドライバのバージョンとを比較する。比較の結果、ダウンロードしたドライバのバージョンが既存ドライバのバージョンよりも新しい場合には、このダウンロードした各ドライバにより、当該既存ドライバを更新する。
【０２１０】
上述のステップＳ１３９またはステップＳ１４０の処理後、ドライバインストーラ２０１６ａは、処理をステップＳ１４１に移行させる。ステップＳ１４１で、ドライバインストーラ２０１６ａは、設定情報１１０ａに含まれる設定カスタマイズ情報１１０３を参照し、機器および機能毎に指定される設定を取得する。ドライバインストーラ２０１６ａは、各ドライバまたは各機能毎に、設定カスタマイズ情報１１０３から取得した設定を行う。この設定は、例えば各ドライバまたは各機能を示すアイコン毎に行われ、例えばプリンタ機能であればプリンタを示すアイコン、スキャナ機能であればスキャナを示すアイコン、ＦＡＸ機能であればＦＡＸを示すアイコン毎に行われる。
【０２１１】
この設定は、ＰＴ／ＰＣを利用する方法や、ＵＩ(User  Interface)操作ツールなどを用いてドライバの設定画面を開いて設定する方法を適用することができる。また、ドライバに設定用のＡＰＩが用意されている場合には、このＡＰＩを用いて設定を行ってもよい。さらに、既存のドライバを更新するような場合に、設定カスタマイズ情報１１０３に含まれる設定数が、既存のドライバが備えるアイコンの数よりも多ければ、ドライバインストーラ２０１６ａは、アイコンを追加して設定を行う。例えば、ドライバインストーラ２０１６ａに対し、予め補助のアイコンデータを含めておくことが考えられる。
【０２１２】
次のステップＳ１４２で、ドライバインストーラ２０１６ａは、設定情報１１０ａに含まれるドライバインストールオプション情報１１０４を参照し、ドライバのアイコンに関し、ステップＳ１４１で設定したアイコン以外のアイコンを削除するか否かを判定する。削除しないと判定した場合、処理はステップＳ１４４に移行される。一方、ステップＳ１４２で、削除すると判定した場合、ドライバインストーラ２０１６ａは、処理をステップＳ１４３に移行させる。
【０２１３】
ステップＳ１４３で、ドライバインストーラ２０１６ａは、ドライバのアイコンに関して、ステップＳ１４１で設定した以外のアイコンを削除する。例えば、当初、ある機器についてスキャナ機能のドライバのみがインストールされ、プリンタ機能およびＦＡＸ機能のドライバがインストールされていないものとする。ここで、上述のステップＳ１３９の更新処理により、プリンタ機能のドライバが追加され、スキャナ機能のドライバが削除された場合、プリンタを示すアイコンが追加され、スキャナを示すアイコンが削除される。
【０２１４】
次のステップＳ１４４で、ドライバインストーラ２０１６ａは、ドライバインストールオプション情報１１０４を参照し、利用する機器以外のドライバをクライアントＰＣ２１ａから削除するか否かを判定する。若し、削除しないと判定した場合、ドライバインストーラ２０１６ａは、図２９のフローチャートによる一連の処理を終了させる。
【０２１５】
一方、ドライバインストーラ２０１６ａは、ステップＳ１４４で削除すると判定した場合、処理をステップＳ１４５に移行させる。ステップＳ１４５で、ドライバインストーラ２０１６ａは、クライアントＰＣ２１ａに、上述のステップＳ１３９またはステップＳ１４０の前に既にインストールされている既存ドライバを検索する。そして、ドライバインストーラ２０１６ａは、検索された既存ドライバと、ステップＳ１３６でダウンロードしたドライバとを比較して、ダウンロードしたドライバ以外のドライバが既存ドライバに含まれる場合に、この既存ドライバのうちダウンロードしたドライバ以外のドライバをクライアントＰＣ２１ａから削除する。ドライバの削除が完了すると、図２９のフローチャートによる一連の処理が終了される。
【０２１６】
図３０、図３１−１および図３１−２を用いて、上述した図２７〜図２９の処理について、より具体的に説明する。図３０は、図２７および図２８のフローチャートに対応する、クライアントＰＣ２１ａにドライバをインストールする処理を示す一例のシーケンス図である。なお、図３０において、上述した図２３と対応する部分には、同一の符号を付して、詳細な説明を省略する。
【０２１７】
ユーティリティインストーラ２０１４ａは、例えば入力部２１４に対するユーザ操作に応じた実行指示を受け付けると（ステップＳ２００）、クライアントＰＣ２１ａのＩＰアドレスを取得する（ステップＳ２０１）。例えば、ユーティリティインストーラ２０１４ａは、クライアントＰＣ２１ａのＯＳ２２００に問い合わせることで、ＩＰアドレスを取得することができる。
【０２１８】
ユーティリティインストーラ２０１４ａは、ＩＰアドレスを取得すると、管理用ＰＣ２０との通信を試みる。図３０において、ステップＳ２０２は、管理用ＰＣ２０との通信が可能である場合の処理となり、ステップＳ２０３は、管理用ＰＣ２０との通信が不可である場合の処理となる。
【０２１９】
先ず、ステップＳ２０２の処理について説明する。ステップＳ２０２は、ステップＳ２０１０〜ステップＳ２０１８の処理を含む。ユーティリティインストーラ２０１４ａは、ステップＳ２０１０で、最新の設定情報１１０の取得要求を、ステップＳ２０１で取得したＩＰアドレスを含めて管理用ＰＣ２０に送信する。この取得要求は、管理用ＰＣ２０に受信され、ＷｅｂＡＰＩ部２０１２に渡される。ＷｅｂＡＰ部Ｉ２０１２は、受け取った取得要求に含まれるＩＰアドレスを、登録のために設定部２０１０に渡す（ステップＳ２０１１）。設定部２０１０は、受け取ったＩＰアドレスを例えばストレージ２１０４に記憶させて登録する（ステップＳ２０１２）。設定部２０１０は、ＩＰアドレスの登録が完了すると、その旨をＷｅｂＡＰＩ部２０１２に通知する（ステップＳ２０１３）。
【０２２０】
ＷｅｂＡＰＩ部２０１２は、設定部２０１０からＩＰアドレス登録完了の通知を受け取ると、設定情報保存領域２００１から設定情報１１０を取得する（ステップＳ２０１３、ステップＳ２０１４）。ＷｅｂＡＰＩ部２０１２は、取得した設定情報１１０をクライアントＰＣ２１ａに送信する（ステップＳ２０１５）。
【０２２１】
設定情報１１０は、クライアントＰＣ２１ａに受信され、ユーティリティインストーラ２０１４ａに渡される。ユーティリティインストーラ２０１４ａは、受け取った設定情報１１０で設定情報１１０ａを上書きして設定情報１１０ａを更新する（ステップＳ２０１７、ステップＳ２０１８）。設定情報１１０ａが更新されると、ステップＳ２０２における一連の処理が終了される。
【０２２２】
次に、ステップＳ２０３の処理について説明する。ステップＳ２０３は、ステップＳ２０２０の処理を含む。上述のステップＳ２０１０と同様に、ユーティリティインストーラ２０１４ａは、ステップＳ２０２０で、最新の設定情報１１０の取得要求を、ステップＳ２０１で取得したＩＰアドレスを含めて管理用ＰＣ２０に送信する。ユーティリティインストーラ２０１４ａは、ステップＳ２０２０で取得要求を送信してから所定時間が経過する間に管理用ＰＣ２０からの応答が無ければ、管理用ＰＣ２０との通信が不可であると判定し、ステップＳ２０３における一連の処理を終了させる。
【０２２３】
ステップＳ２０２またはステップＳ２０３の処理が終了すると、ユーティリティインストーラ２０１４ａは、設定情報１１０ａを取得する（ステップＳ２０４、ステップＳ２０５）。そして、ユーティリティインストーラ２０１４ａは、取得した設定情報１１０ａに従い、ユーティリティプラグイン２０１５ａのインストール処理を実行する（ステップＳ２０６）。この例では、インストールを行うユーティリティプラグイン２０１５ａには、少なくともドライバインストーラ２０１６ａが含まれており、ユーティリティインストーラ２０１４ａは、ステップＳ２０６で、ドライバインストーラ２０１６ａのインストール処理を行う。
【０２２４】
ユーティリティインストーラ２０１４ａは、ステップＳ２０６のインストール処理が完了すると、ステップＳ２０７で、インストールされたユーティリティプラグイン２０１５ａ（この例ではドライバインストーラ２０１６ａ）を実行させる。
【０２２５】
図３１−１および図３１−２は、第１の実施形態に係る、上述した図２９のフローチャートに対応する、ドライバインストーラ２０１６ａによるドライバのインストール処理の例を示すシーケンス図である。なお、図３１−１および図３１−２において、上述した図２３に対応する部分については同一の符号を付して、詳細な説明を省略する。また、図３１−１および図３１−２に示される符号「Ａ」〜「Ｅ」は、図３１−１および図３１−２間で対応する符号に処理が移行することを示している。また、図３１−１において、ＭＦＰ３０ａを機器３０ａとして示している。
【０２２６】
ドライバインストーラ２０１６ａは、ユーティリティインストーラ２０１４ａから実行指示を受け取ると（ステップＳ２３０）、クライアントＰＣ２１ａに導入されたパッケージ１００ａに含まれる設定情報１１０ａを参照する（ステップＳ２３１、ステップＳ２３２）。ドライバインストーラ２０１６ａは、図２９のステップＳ１３０で説明したように、設定情報１１０ａに含まれる利用機器指定情報１１０１および利用機器選択方法指定情報１１０５に基づき、指定機器のドライバをインストールするか、機器検索により検索された機器のドライバをインストールするかを判定する（ステップＳ２３３）。
【０２２７】
ドライバインストーラ２０１６ａは、ステップＳ２３３の判定処理により、指定機器のドライバをインストールすると判定した場合、ステップＳ２３４ａの処理を実行する。また、ドライバインストーラ２０１６ａは、ステップＳ２３３の判定処理により、機器検索により検索された機器のドライバをインストールすると判定した場合、ステップＳ２３４ｂの処理を実行する。
【０２２８】
先ず、指定機器のドライバをインストールする、ステップＳ２３４ａの処理について説明する。ドライバインストーラ２０１６ａは、設定情報１１０ａを参照し（ステップＳ２３４１ａ）、設定情報１１０ａに含まれる利用機器指定情報１１０１に示される機器名およびＩＰアドレスと、利用機器機能情報１１０２に含まれる機能を示す情報とを取得する（ステップＳ２３４２ａ）。そして、設定情報１１０ａから取得した機器名および機能から、ダウンロードするドライバを特定する（ステップＳ２３４３ａ）。
【０２２９】
ダウンロードするドライバが特定されると、ドライバインストーラ２０１６ａは、処理を図３１−２のステップＳ２３５に移行させる。
【０２３０】
次に、機器検索により検索された機器のドライバをインストールする、ステップＳ２３４ｂの処理について説明する。ドライバインストーラ２０１６ａは、設定情報１１０ａを参照し（ステップＳ２３４１ｂ）、利用機器選択方法指定情報１１０５に示される機器の選択方法を取得する（ステップＳ２３４２ｂ）。ドライバインストーラ２０１６ａは、取得した選択方法に従い、例えばクライアントＰＣ２１ａが接続される内部ネットワーク１３内で機器検索を行い（ステップＳ２３４３ｂ）、検索された機器の機器名およびＩＰアドレスを取得する（ステップＳ２３４４ｂ）。
【０２３１】
すなわち、ドライバインストーラ２０１６ａは、図２９のステップＳ１３２で説明したように、利用機器選択方法指定情報１１０５に「検索された機器全て」が選択方法として指定されている場合、例えばクライアントＰＣ２１ａが接続される内部ネットワーク１３を介して接続される全ての機器を検索し、検索された機器の機器名およびＩＰアドレスを取得する。また、ドライバインストーラ２０１６ａは、利用機器選択方法指定情報１１０５に、入力部３０２１ｄによる「ＩＰアドレス範囲指定」が選択方法として指定されている場合、利用機器選択方法指定情報１１０５にさらに示されるＩＰアドレス範囲に従い検索範囲を絞り込んで、例えばクライアントＰＣ２１ａが接続される内部ネットワーク１３を介して接続される機器を検索し、検索された機器の機器名およびＩＰアドレスを取得する。
【０２３２】
ドライバインストーラ２０１６ａは、さらに、必要に応じて、検索された各機器の機器名およびＩＰアドレスに基づき、各機器のＭＩＢから各機器の情報を取得する（ステップＳ２３４５ｂ、ステップＳ２３４６ｂ）。例えば、ドライバインストーラ２０１６ａは、利用機器選択方法指定情報１１０５に「カラー機／モノクロ機」が選択方法として指定されている場合に、各機器についてＭＩＢの値をそれぞれ取得して、各機器がカラー機およびモノクロ機の何れであるかを判定する。
【０２３３】
ドライバインストーラ２０１６ａは、ステップＳ２３４３ｂおよびステップＳ２３４４ｂ、ならびに、ステップＳ２３４５ｂおよびステップＳ２３４６ｂにより取得された各情報に基づき、利用する機器の絞り込みを行う（ステップＳ２３４７ｂ）。ドライバインストーラ２０１６ａは、設定情報１１０ａを参照し（ステップＳ２３４８ｂ）、設定情報１１０ａに含まれる利用機器機能情報１１０２に示される、利用する機能を示す情報を取得する（ステップＳ２３４９ｂ）。そして、ドライバインストーラ２０１６ａは、ステップＳ２３４１ｂ〜ステップＳ２３４９ｂの処理で取得された機器名、ＩＰアドレスおよび機能を示す情報に従い、ダウンロードするドライバを特定する（ステップＳ２３５０ｂ）。
【０２３４】
ダウンロードするドライバが特定されると、ドライバインストーラ２０１６ａは、処理を図３１−２のステップＳ２３５に移行させる。
【０２３５】
ステップＳ２３５で、ドライバインストーラ２０１６ａは、上述したステップＳ２３４３ａまたはステップＳ２３５０ｂで特定されたドライバをダウンロードする処理を実行する。
【０２３６】
すなわち、ドライバインストーラ２０１６ａは、ステップＳ２３４３ａまたはステップＳ２３５０ｂで特定された、ドライバの機器名および機能を示す情報と、クライアントＰＣ２１ａのＯＳ２２００の仕様に関する情報とをドライバ保存・配布サーバ１０に送信し、ドライバ保存・配布サーバ１０に対して、これらの情報に対応するドライバを要求する（ステップＳ２３５）。ドライバ保存・配布サーバ１０は、この要求に応じて、データベース１０ａに保存されるドライバ群１２５に含まれる各ドライバから、機器名および機能を示す情報と、ＯＳ２２００の仕様に関する情報とに対応するドライバを検索し、検索で得られたドライバをクライアントＰＣ２１ａに送信する。クライアントＰＣ２１ａにおいて、ドライバインストーラ２０１６ａは、ドライバ保存・配布サーバ１０から送信されたドライバをダウンロードして取得する（ステップＳ２３６）。
【０２３７】
ステップＳ２３５およびステップＳ２３６の処理は、ダウンロードするドライバの数だけ繰り返して実行される。
【０２３８】
ドライバインストーラ２０１６ａは、設定情報１１０ａを参照し（ステップＳ２３７、ステップＳ２３８）、設定情報１１０ａに含まれるドライバインストールオプション情報１１０４に基づき、クライアントＰＣ２１ａに既にインストールされている既存のドライバを、ダウンロードしたドライバで更新するか否かを判定する（ステップＳ２３９）。ドライバインストーラ２０１６ａは、ステップＳ２３９の判定処理により、更新すると判定した場合、ステップＳ２４０ａの処理を実行する。また、ドライバインストーラ２０１６ａは、ステップＳ２３９の判定処理により、更新しないと判定した場合、ステップＳ２４０ｂの処理を実行する。
【０２３９】
既存のドライバを更新するステップＳ２４０ａの処理について説明する。ドライバインストーラ２０１６ａは、ステップＳ２４０ａ内のステップＳ２４０１ａで、ダウンロードしたドライバによる新規インストールおよび既存ドライバの更新を行う（ステップＳ２４０１ａ）。
【０２４０】
すなわち、ドライバインストーラ２０１６ａは、図２９のステップＳ１３８およびステップＳ１３９で説明したように、ダウンロードしたドライバのうち、クライアントＰＣ２１ａに未インストールのドライバについては新規インストールを行う。また、ダウンロードしたドライバのうち、クライアントＰＣ２１ａにインストール済みの既存ドライバであって、且つ、インストール済みのドライバよりもバージョンの新しいドライバについては、既存のドライバをダウンロードしたドライバにより更新する。
【０２４１】
また、ステップＳ２４０１ａの処理において、ドライバインストーラ２０１６ａは、ステップＳ２３４３ａで取得したＩＰアドレス、または、ステップＳ２３５０ｂで取得したＩＰアドレスおよび機器名を、インストールを行った各ドライバに対してそれぞれ設定する。
【０２４２】
新規ドライバのインストールを行うステップＳ２４０ｂの処理について説明する。ドライバインストーラ２０１６ａは、ステップＳ２４０ｂ内のステップＳ２４０１ｂで、図２９のステップＳ１４０で説明したように、ダウンロードしたドライバにクライアントＰＣ２１ａに未インストールのドライバが含まれる場合、この未インストールのドライバをクライアントＰＣ２１ａに新規にインストールする。そして、ドライバインストーラ２０１６ａは、ステップＳ２３４３ａで取得したＩＰアドレス、または、ステップＳ２３５０ｂで取得したＩＰアドレスおよび機器名を、インストールを行った各ドライバに対してそれぞれ設定する。
【０２４３】
上述のステップＳ２４０ａまたはステップＳ２４０ｂの処理は、ステップＳ２３５およびステップＳ２３６でダウンロードされたドライバの数だけ繰り返される。
【０２４４】
ステップＳ２４０ａまたはステップＳ２４０ｂの処理が終了すると、ドライバインストーラ２０１６ａは、設定情報１１０ａを参照し（ステップＳ２４１、ステップＳ２４２）、設定情報１１０ａに含まれる設定カスタマイズ情報１１０３に基づき、機器および機能毎の設定を取得し、図２９のステップＳ１４１で説明したように、インストールした各ドライバに対して、取得した各設定を、例えば各ドライバや各機能を示すアイコン毎に実行する（ステップＳ２４３、ステップＳ２４４）。
【０２４５】
次に、ドライバインストーラ２０１６ａは、設定情報１１０ａを参照し（ステップＳ２４５、ステップＳ２４６）、設定情報１１０ａに含まれるドライバインストールオプション情報１１０４に基づき、ドライバのアイコンに関し、ステップＳ２４３、ステップＳ２４４で設定したアイコン以外のアイコンを削除するか否かを判定する（ステップＳ２４７）。ドライバインストーラ２０１６ａは、削除しないと判定した場合、次のステップＳ２４８をスキップしてステップＳ２４９の処理に移行する。
【０２４６】
ドライバインストーラ２０１６ａは、ステップＳ２４７でアイコンを削除すると判定した場合、ステップＳ２４８の処理を実行する。ドライバインストーラ２０１６ａは、ステップＳ２４８内のステップＳ２４８１において、図２９のステップＳ１４３で説明したようにして、ドライバのアイコンに関し、ステップＳ２４３、ステップＳ２４４で設定したアイコン以外のアイコンを削除する。この処理は、削除対象のアイコンの数に対応した回数が繰り返される。アイコンの削除が終了すると、処理がステップＳ２４９に移行される。
【０２４７】
ドライバインストーラ２０１６ａは、設定情報１１０ａを参照し（ステップＳ２４９、ステップＳ２５０）、設定情報１１０ａに含まれるドライバインストールオプション情報１１０４に基づき、利用する機器以外のドライバをクライアントＰＣ２１ａから削除するか否かを判定する（ステップＳ２５１）。削除を行わないと判定された場合、一連のドライバのインストール処理が終了する。
【０２４８】
ドライバインストーラ２０１６ａは、利用する機器以外のドライバを削除すると判定した場合、ステップＳ２５２の処理を実行する。ドライバインストーラ２０１６ａは、ステップＳ２５２内のステップＳ２５２１において、図２９のステップＳ１４５で説明したようにして、ステップＳ２３５、ステップＳ２３６のダウンロード処理前にクライアントＰＣ２１ａにインストールされていた既存ドライバのうち、ダウンロードされたドライバと対応しない既存ドライバが含まれる場合に、当該既存ドライバすなわち利用する機器以外のドライバを削除する。この処理は、削除対象のドライバの数に対応した回数が繰り返される。ドライバの削除が完了すると、一連のドライバのインストール処理が終了する。
【０２４９】
図３２は、図２５を用いて説明した、第１の実施形態に係る、ユーティリティインストーラ２０１４ａが所定のタイミングで管理用ＰＣ２０に要求の送信を行う処理を示す一例のシーケンス図である。なお、図３２において、上述の図２５と共通する部分には同一の符号を付して、詳細な説明を省略する。
【０２５０】
ユーティリティインストーラ２０１４ａは、所定のタイミング（例えば上述した設定時刻）で、管理用ＰＣ２０に対して最新の設定情報１１０の取得を要求する（ステップＳ２６０）。管理用ＰＣ２０が通信可能である場合、管理用ＰＣ２０はこの要求を受信して、ＷｅｂＡＰＩ部２０１２に渡す。ＷｅｂＡＰＩ部２０１２は、この要求に従い、設定情報保存領域２００１から設定情報１１０を取得する（ステップＳ２６１、ステップＳ２６２）。ＷｅｂＡＰＩ部２０１２は、取得した設定情報１１０をユーティリティインストーラ２０１４ａに渡す（ステップＳ２６３）。
【０２５１】
ここで、ユーティリティインストーラ２０１４ａは、ステップＳ２６０の要求の送信に応じてステップＳ２６３で設定情報１１０が取得できるまで、ステップＳ２６０の要求の送信を、一定間隔で繰り返し実行する。例えば、ユーティリティインストーラ２０１４ａは、ステップＳ２６３の管理用ＰＣ２０からの応答に対してタイムアウト時間を予め設定する。そして、ユーティリティインストーラ２０１４ａは、ステップＳ２６０の要求の送信からタイムアウト時間が経過してもステップＳ２６３の管理用ＰＣ２０からの応答が受信できない場合に、一定間隔の経過後に再びステップＳ２６０による要求の送信を実行する。
【０２５２】
ユーティリティインストーラ２０１４ａは、ステップＳ２６３で管理用ＰＣ２０から送信された設定情報１１０を受け取ると、受け取った設定情報１１０で設定情報１１０ａを上書きし、設定情報１１０ａを更新する（ステップＳ２６４、ステップＳ２６５）。ユーティリティインストーラ２０１４ａは、設定情報１１０ａの更新が完了すると、更新された設定情報１１０ａを取得する（ステップＳ２６６、ステップＳ２６７）。
【０２５３】
以降、ユーティリティインストーラ２０１４ａは、ステップＳ２６８にて、図３０のステップＳ２０５からの処理と同様にして、取得した設定情報１１０ａに従い、ユーティリティプラグイン２０１５ａのインストール処理を実行し、インストールされたユーティリティプラグイン２０１５ａ（この例ではドライバインストーラ２０１６ａ）を実行させる。そして、インストールされたドライバインストーラ２０１６ａにより、ドライバがクライアントＰＣ２１ａにインストールされる。
【０２５４】
図３３は、図２６を用いて説明した、第１の実施形態に係る、管理用ＰＣ２０において更新した設定情報１１０をクライアントＰＣ２１ａに反映させる処理を示す一例のシーケンス図である。なお、図３３において、上述の図２６と共通する部分には同一の符号を付して、詳細な説明を省略する。
【０２５５】
管理用ＰＣ２０において、管理アプリケーション２０００の設定部２０１０は、図８〜図１３を用いて説明した各設定画面に従った設定入力を受け付ける（ステップＳ２７０）。設定部２０１０は、設定入力により入力された各情報に基づき、設定情報保存領域２００１に保存される設定情報１１０を上書きして更新する（ステップＳ２７１、ステップＳ２７２）。設定部２０１０は、更新された設定情報１１０を設定情報保存領域２００１から取得し（ステップＳ２７３、ステップＳ２７４）、取得した設定情報１１０を、クライアントＰＣ２１ａに送信する（ステップＳ２７５）。
【０２５６】
ステップＳ２７５で送信された設定情報１１０は、クライアントＰＣ２１ａに受信され、ＷｅｂＡＰＩ部１１００ａに渡される。ＷｅｂＡＰＩ部１１００ａは、設定情報１１０を渡されると、その旨をユーティリティインストーラ２０１４ａに通知し（ステップＳ２７６）、当該設定情報をユーティリティインストーラ２０１４ａに渡す。
【０２５７】
ユーティリティインストーラ２０１４ａは、ＷｅｂＡＰＩ部１１００ａから渡された設定情報１１０により設定情報１１０ａを上書きし、設定情報１１０ａを更新する（ステップＳ２７７、ステップＳ２７８）。ユーティリティインストーラ２０１４ａは、設定情報１１０ａの更新が完了すると、更新された設定情報１１０ａを取得する（ステップＳ２７９、ステップＳ２８０）。
【０２５８】
以降、ユーティリティインストーラ２０１４ａは、ステップＳ２８１にて、図３０のステップＳ２０５からの処理と同様にして、取得した設定情報１１０ａに従い、ユーティリティプラグイン２０１５ａのインストール処理を実行し、インストールされたユーティリティプラグイン２０１５ａ（この例ではドライバインストーラ２０１６ａ）を実行させる。ドライバインストーラ２０１６ａは、図２９を用いて説明した手順に従い、ドライバをクライアントＰＣ２１ａにインストールする。
【０２５９】
このように、第１の実施形態によれば、クライアントＰＣ２１ａは、管理用ＰＣ２０が起動していない状態であっても、管理用ＰＣ２０とは異なる他の情報処理装置であるドライバ保存・配布サーバ１０からドライバやユーティリティを取得してインストール処理を実行することができる。また、第１の実施形態によれば、クライアントＰＣ２１ａから管理用ＰＣ２０に対して所定のタイミングで設定情報１１０の取得要求を送信しているため、管理用ＰＣ２０が起動していない期間が発生するような状況であっても、インストールされるドライバやユーティリティを、最新の状態に保つことが可能である。
【０２６０】
さらに、第１の実施形態によれば、管理用ＰＣ２０で更新された設定情報１１０を、クライアントＰＣ２１ａに容易に反映させることができる。
【０２６１】
（第１の実施形態の第１の変形例）
次に、第１の実施形態の第１の変形例について説明する。第１の実施形態の第１の変形例は、管理者がユーザ毎の設定を用意して管理したい場合の例である。より具体的には、１台の管理用ＰＣ２０により、複数のクライアントＰＣ２１ａおよび２１ｂそれぞれに異なる設定情報１１０を作成する。そして、管理用ＰＣ２０からクライアントＰＣ２１ａおよび２１ｂに、それぞれ対応する設定情報１１０を配布する。
【０２６２】
管理用ＰＣ２０にて、図５および図２２に従い設定部２０１０が複数のクライアントＰＣ２１ａおよび２１ｂにそれぞれ対応する各設定情報１１０を作成する際に、各設定情報１１０に関連付けるための設定名をそれぞれ入力できるようにする。これに限らず、設定名と、設定名に対応する識別情報とを入力するようにしてもよい。設定部２０１０は、設定名と設定情報１１０とを関連付けて設定情報保存領域２００１に保存する。なお、各設定名は、例えば、管理用ＰＣ２０を使用する管理者自らが管理する。また、各設定名は、予めクライアントＰＣ２１ａおよび２１ｂのユーザにそれぞれ通知されるものとする。
【０２６３】
作成部２０１１は、例えばクライアントＰＣ２１ａに対応する設定情報１１０を含むパッケージ１００を作成する際に、当該設定情報１１０に関連付けられた設定名を、当該パッケージ１００に含める。設定名は、１つのファイル（設定名ファイル）に格納してパッケージ１００に含めてもよいし、設定情報１１０に含めてもよい。作成部２０１１は、各設定情報１１０を、各設定名とそれぞれ関連付けて設定情報保存領域２００１に保存する。
【０２６４】
例えば図２３のステップＳ１１において、例えばクライアントＰＣ２１ａから管理用ＰＣ２０に対して設定情報の取得要求を送信する際に、この要求に、クライアントＰＣ２１ａのＩＰアドレスを含めると共に、クライアントＰＣ２１ａに対応する設定名を含める。管理用ＰＣ２０において、ＷｅｂＡＰＩ部２０１２は、例えばクライアントＰＣ２１ａから送信された要求を受け取った場合に、設定情報保存領域２００１に保存される各設定情報１１０から、受け取った要求に含まれる設定名と一致する設定名に関連付けられた設定情報１１０を取得する（図２３のステップＳ１３）。そして、ＷｅｂＡＰＩ部２０１２は、この設定情報１１０を、ステップＳ１１で受け取った要求に含まれるＩＰアドレスに従い、クライアントＰＣ２１ａに送信する（図２３のステップＳ１４）。
【０２６５】
こうすることで、管理用ＰＣ２０から、複数のクライアントＰＣ２１ａおよび２１ｂ毎に、対応する各設定情報１１０を管理することができる。一例として、管理用ＰＣ２０は、クライアントＰＣ２１ａには、機能制限の無い設定情報１１０を配布し、クライアントＰＣ２１ｂには、機能制限を有する設定情報１１０を配布し、それぞれの設定情報１１０を各クライアントＰＣ２１ａおよび２１ｂに関連付けて管理することができる。
【０２６６】
（第１の実施形態の第２の変形例）
次に、第１の実施形態の第２の変形例について説明する。上述した第１の実施形態では、図５および図２２に示すように、管理用ＰＣ２０において、図８〜図１３に示した各設定画面に対する設定入力を行って設定情報１１０を作成し、この設定情報１１０を含むパッケージ１００をクライアントＰＣ２１ａに配布していた。
【０２６７】
これに対して、第１の実施形態の第２の変形例では、例えば管理者は、各設定画面に対する設定入力を行わずに設定情報１１０を作成する。この場合、設定部２０１０は、例えば各情報を含まない空の情報として設定情報１１０を作成する。作成部２０１１は、この空の情報としての設定情報１１０を含むパッケージ１００を作成し、クライアントＰＣ２１ａに配布する。クライアントＰＣ２１ａは、配布されたパッケージ１００を、空の設定情報１１０ａを含んだパッケージ１００ａとして記憶する。
【０２６８】
この場合、クライアントＰＣ２１ａにおいて、ユーティリティインストーラ２０１４ａは、設定情報１１０ａが空であるため、ユーティリティプラグイン２０１５ａに含まれる全てのユーティリティを、例えばデフォルトの設定にてクライアントＰＣ２１ａにインストールする。
【０２６９】
後に、例えば管理者が管理用ＰＣ２０において、図８〜図１３に示した各設定画面に対する設定入力を行って設定情報１１０を作成した場合について考える。この場合、図２６を用いて説明したように、設定部２０１０は、作成された設定情報１１０を設定情報保存領域２００１から取得し（図２６のステップＳ３１）、取得した設定情報１１０をクライアント２１ａに送信する（図２６のステップＳ３２）。
【０２７０】
クライアントＰＣ２１ａでは、管理用ＰＣ２０から送信された設定情報１１０により、パッケージ１００ａに含まれる空の設定情報１１０ａが更新され、更新された設定情報１１０ａに従い、ユーティリティプラグイン２０１５ａのインストールや、ドライバインストーラ２０１６ａによるドライバのインストールが行われる。このとき、ドライバインストーラ２０１６ａは、設定情報１１０ａに基づいた図２９の処理に従い、ドライバの更新、不要なアイコンやドライバの削除などを行う。そのため、クライアントＰＣ２１ａに、管理者の設定に従った構成で、ユーティリティプラグイン２０１５ａやドライバを導入することができる。
【０２７１】
なお、上述では、設定部２０１０が空の設定情報１１０を作成するように説明したが、これはこの例に限定されない。例えば、各設定画面に対する設定入力を行わずに設定情報１１０を作成した場合に、作成部２０１１がクライアントＰＣ２１ａに配布するために作成するパッケージ１００に、設定情報１１０を含めないようにしてもよい。
【０２７２】
（第２の実施形態）
次に、第２の実施形態について説明する。第２の実施形態では、管理用ＰＣ２０からパッケージ１００の配布を行う以前に、クライアントＰＣ２１ａに既にパッケージが導入されている場合の例である。なお、第２の実施形態では、上述した第１の実施形態で説明した情報処理システム１、管理用ＰＣ２０、クライアントＰＣ２１ａおよび２１ｂなどをそのまま適用できるので、システムや、各ハードウェアの構成および機能についての説明を省略する。
【０２７３】
図３４は、クライアントＰＣ２１ａに、管理用ＰＣ２０からの配布以外の方法で入手したパッケージ１００ｂが導入されている例を示す。なお、図３４において、上述した図２３などと共通する部分には同一の符号を付して、詳細な説明を省略する。
【０２７４】
図３４において、パッケージ１００ｂは、例えば、インターネット上のＷｅｂサイトからダウンロードすることで、クライアントＰＣ２１ａに導入される。パッケージ１００ｂは、それぞれ上述したＷｅｂＡＰＩ部１１００ａ、ユーティリティインストーラ２０１４ａおよびユーティリティプラグイン２０１５ａに対応するＷｅｂＡＰＩ部１１００ｂ、ユーティリティインストーラ２０１４ｂおよびユーティリティプラグイン２０１５ｂを含む。また、この例では、ユーティリティプラグイン２０１５ｂは、上述のドライバインストーラ２０１６ａに対応するドライバインストーラ２０１６ｂを含んでいる。また、パッケージ１００ｂは、設定情報１１０に対応する情報は、含んでいない。
【０２７５】
図３４のパッケージ１００ｂにおいても、第１の実施形態のパッケージ１００ａと同様に、ユーティリティインストーラ２０１４ｂに対する実行指示に応じて、ユーティリティインストーラ２０１４ｂは、ユーティリティプラグイン２０１５ｂのインストールを実行する。これにより、ユーティリティプラグイン２０１５ｂに含まれるドライバインストーラ２０１６ｂがクライアントＰＣ２１ａにインストールされる。
【０２７６】
このとき、パッケージ１００ｂには、設定情報１１０に対応する情報が含まれてないため、パッケージ１００ｂに同梱されている全てのユーティリティプラグインがインストールされる。また、例えばドライバインストーラ２０１６ｂは、設定情報１１０に対応する情報が無いため、ドライバのインストールを実行しない。
【０２７７】
図３５を用いて、第２の実施形態に係るインストール処理について説明する。なお、図３５において、上述の図２３および図３４と共通する部分には同一の符号を付して、詳細な説明を省略する。
【０２７８】
図３５では、管理用ＰＣ２０で設定情報１１０を含んで作成されたパッケージ１００がクライアントＰＣ２１ａに配布され、パッケージ１００ａとしてクライアントＰＣ２１ａに導入された例が示されている。この場合においても、図２３を用いてステップＳ１０〜ステップＳ１８で説明した処理と同様にして、ユーティリティインストーラ２０１４ａによるインストール処理が実行される。
【０２７９】
すなわち、ユーティリティインストーラ２０１４ａは、実行指示（ステップＳ１０）に応じて、管理用ＰＣ２０に対して、クライアントＰＣ２１ａのＩＰアドレスを含めて、設定情報１１０の要求を送信し、設定情報保存領域２００１に保存される設定情報１１０を取得する（ステップＳ１１〜ステップＳ１４）。ユーティリティインストーラ２０１４ａは、管理用ＰＣ２０から送信された設定情報１１０により設定情報１１０ａを更新し、更新した設定情報１１０ａに従いドライバインストーラ２０１６ａのインストールを実行する（ステップＳ１５、ステップＳ１６）。インストールされたドライバインストーラ２０１６ａは、更新された設定情報１１０ａに基づきドライバ保存・配布サーバ１０からドライバをダウンロードし、ダウンロードしたドライバのインストールを行う（ステップＳ１７、ステップＳ１８）。
【０２８０】
ここで、ドライバインストーラ２０１６ａは、設定情報１１０ａに基づいた図２９の処理に従い、ドライバの更新、不要なアイコンやドライバの削除などを行う。そのため、クライアントＰＣ２１ａに、管理者の設定に従った構成で、ユーティリティプラグイン２０１５ａやドライバを導入することができる。
【０２８１】
このように、第２の実施形態によれば、クライアントＰＣ２１ａに、予め管理用ＰＣ２０からの配布以外の方法でパッケージ１００ｂが導入されている場合であっても、管理用ＰＣ２０から設定情報１１０を含めて配布されたパッケージ１００を用いることで、管理者の設定に従った構成で、ユーティリティプラグイン２０１５ａやドライバを導入することができる。
【０２８２】
また、第２の実施形態によれば、クライアントＰＣ２１ａにどのような設定のユーティリティがインストールされているか不明な場合や、ユーザにより任意の設定がなされたユーティリティが既にインストールされている場合に、既存のユーティリティの設定を纏めて実行でき、ユーザの負担を軽減することが可能である。
【０２８３】
（第３の実施形態）
次に、第３の実施形態について説明する。上述の第１の実施形態では、管理用ＰＣ２０は、クライアントＰＣ２１ａから送信された情報に基づき、管理用ＰＣ２０からクライアントＰＣ２１ａへの設定情報１１０の送信を行っていた。これに対して、第３の実施形態では、管理用ＰＣ２０において、クライアントＰＣ２１ａの接続情報（例えばＩＰアドレス）を入力する手段を設ける。これにより、管理用ＰＣ２０は、クライアントＰＣ２１ａからの情報の送信無しに、クライアントＰＣ２１ａに対して直接的に設定情報１１０を送信することが可能となる。
【０２８４】
図３６を用いて、第３の実施形態に係るインストール処理について説明する。なお、図３６において、上述した図２６と共通する部分には同一の符号を付して、詳細な説明を省略する。なお、第３の実施形態では、上述した第１の実施形態で説明した情報処理システム１、管理用ＰＣ２０、クライアントＰＣ２１ａおよび２１ｂなどをそのまま適用できるので、システムや、各ハードウェアの構成および機能についての説明を省略する。
【０２８５】
図３６の例では、クライアントＰＣ２１ａに、予めパッケージ１００ｃが導入されているものとする。パッケージ１００ｃは、それぞれ上述したＷｅｂＡＰＩ部１１００ａ、ユーティリティインストーラ２０１４ａ、ユーティリティプラグイン２０１５ａおよび設定情報１１０ａに対応するＷｅｂＡＰＩ部１１００ｃ、ユーティリティインストーラ２０１４ｃ、ユーティリティプラグイン２０１５ｃおよび設定情報１１０ｃを含む。また、この例では、ユーティリティプラグイン２０１５ｃは、上述のドライバインストーラ２０１６ａに対応するドライバインストーラ２０１６ｃを含んでいる。
【０２８６】
パッケージ１００ｃは、例えば、管理用ＰＣ２０からの配布以外の方法で、クライアントＰＣ２１ａに導入される。例えば、パッケージ１００ｃは、例えば、インターネット上のＷｅｂサイトからダウンロードすることで、クライアントＰＣ２１ａに導入される。この場合には、パッケージ１００ｃは、設定情報１１０ｃを含んでいない場合がある。これに限らず、パッケージ１００ｃは、管理用ＰＣ２０から配布されたものであってもよい。
【０２８７】
図３６において、管理アプリケーション２０００の設定部２０１０は、図８〜図１３を用いて説明した各設定画面に従った設定入力により入力部２０５に入力された情報を受け付ける（ステップＳ３０’）。このとき、設定部２０１０は、図８〜図１３の各設定画面に加えて、クライアントＰＣ２１ａの接続情報（ＩＰアドレス）を入力するための入力画面を表示部２０６により表示させる。
【０２８８】
図３７は、第３の実施形態に係る接続情報入力画面の例を示す。図３７において、接続情報入力画面３１０は、入力領域３１０１と、ＯＫボタン３１０２と、キャンセルボタン３１０３とが設けられる。入力領域３１０１は、設定情報１１０を送信する対象となるクライアントＰＣ２１ａの接続情報を入力する領域である。ここでは、接続情報をクライアントＰＣ２１ａのＩＰアドレスとし、図３７の例では、入力領域３１０１にクライアントＰＣ２１ａのＩＰアドレス「10.60.127.2」が入力されている。
【０２８９】
ＯＫボタン３１０２は、操作されることで、入力領域３１０１に入力された接続情報が確定され、確定された接続情報が例えば設定部２０１０により登録される。キャンセルボタン３１０３は、入力領域３１０１に入力された内容を破棄して、例えば直前の画面に戻る。
【０２９０】
図３６の説明に戻り、設定部２０１０は、ステップＳ３０’で受け付けた設定入力に基づき設定情報１１０を作成し、作成した設定情報により、設定情報保存領域２００１に保存される設定情報１１０を更新する。以降、図２６のステップＳ３１〜ステップＳ３６の処理と同様にして、クライアントＰＣ２１ａに対するドライバのインストール処理が行われる。
【０２９１】
すなわち、設定部２０１０は、設定情報保存領域２００１から更新した当該設定情報１１０を取得し（ステップＳ３１）、取得した設定情報１１０を、ステップＳ３０’で受け付けた接続情報に基づきクライアントＰＣ２１ａに送信する（ステップＳ３２）。この設定情報１１０は、クライアントＰＣ２１ａに受信され、ＷｅｂＡＰＩ部１１００ｃを介してユーティリティインストーラ２０１４ｃに渡される（ステップＳ３３）。
【０２９２】
ユーティリティインストーラ２０１４ｃは、ＷｅｂＡＰＩ部１１００ｃから渡された設定情報１１０により、パッケージ１００ｃに含まれる設定情報１１０ｃを上書きして、設定情報１１０ｃを更新し（ステップＳ３４）、ドライバインストーラ２０１６ｃを実行させる。ドライバインストーラ２０１６ｃは、実行されると、設定情報１１０ｃを取得し（ステップＳ３５）、取得した設定情報１１０ｃに従い、ドライバ保存・配布サーバ１０からドライバをダウンロードして取得する（ステップＳ３６）。ドライバインストーラ２０１６ｃは、取得したドライバを、ステップＳ３５で取得した設定情報１１０ｃに従い、クライアントＰＣ２１ａにインストールする。
【０２９３】
ここで、ドライバインストーラ２０１６ｃは、設定情報１１０ａに基づいた図２９の処理に従い、ドライバの更新、不要なアイコンやドライバの削除などを行う。そのため、クライアントＰＣ２１ａに、管理者の設定に従った構成で、ユーティリティプラグイン２０１５ｃやドライバを導入することができる。
【０２９４】
図３８は、図３６を用いて説明した、第３の実施形態に係るインストール処理を示す一例のシーケンス図である。なお、図３８において、上述の図３６と共通する部分には同一の符号を付して、詳細な説明を省略する。
【０２９５】
管理用ＰＣ２０において、管理アプリケーション２０００の設定部２０１０は、図８〜図１３を用いて説明した各設定画面に従った設定入力と、図３７を用いて説明した接続情報入力画面３１０に従って入力された接続情報（ＩＰアドレス）とを受け付ける（ステップＳ３００）。設定部２０１０は、設定入力により入力された各情報に基づき設定情報１１０を作成し、作成した設定情報１１０を設定情報保存領域２００１に保存する（ステップＳ３０１、ステップＳ３０２）。設定情報保存領域２００１に既に設定情報１１０が保存されている場合には、例えば、作成した設定情報１１０で保存されている設定情報１１０を上書きして更新する。
【０２９６】
設定部２０１０は、設定情報保存領域２００１から設定情報１１０を取得し（ステップＳ３０３、ステップＳ３０４）、取得した設定情報１１０を、ステップＳ３００で受け付けた接続情報に従い、クライアントＰＣ２１ａに送信する（ステップＳ３０５）。このとき、設定部２０１０は、設定情報１１０と共に、管理用ＰＣ２０の接続情報（ＩＰアドレス）をクライアントＰＣ２１ａに送信する。
【０２９７】
ステップＳ３０５で送信された設定情報１１０および接続情報は、クライアントＰＣ２１ａに受信され、ＷｅｂＡＰＩ部１１００ｃに渡される。ＷｅｂＡＰＩ部１１００ｃは、設定情報１１０および接続情報を渡されると、その旨をユーティリティインストーラ２０１４ｃに通知し（ステップＳ３０６）、これら設定情報１１０および接続情報を、ユーティリティインストーラ２０１４ｃに渡す。
【０２９８】
パッケージ１００ｃに設定情報１１０ｃが含まれていない場合、ユーティリティインストーラ２０１４ｃは、ＷｅｂＡＰＩ部１１００ｃから渡された設定情報１１０を、クライアントＰＣ２１ａに保存する（ステップＳ３０７、ステップＳ３０８）。また、ユーティリティインストーラ２０１４ｃは、パッケージ１００ｃに設定情報１１０ｃが含まれている場合、ＷｅｂＡＰＩ部１１００ｃから渡された設定情報１１０により設定情報１１０ｃを上書きし、設定情報１１０ｃを更新する。ユーティリティインストーラ２０１４ａは、設定情報１１０ｃの保存または更新が完了すると、保存または更新された設定情報１１０ｃを取得する（ステップＳ３０９、ステップＳ３１０）。
【０２９９】
以降、ユーティリティインストーラ２０１４ｃは、ステップＳ３１１にて、図３０のステップＳ２０５からの処理と同様にして、取得した設定情報１１０ｃに従い、ユーティリティプラグイン２０１５ｃのインストール処理を実行し、インストールされたユーティリティプラグイン２０１５ｃ（この例ではドライバインストーラ２０１６ｃ）を実行させる。ドライバインストーラ２０１６ｃは、図２９を用いて説明した手順に従い、ドライバをクライアントＰＣ２１ａにインストールする。
【０３００】
このとき、ドライバインストーラ２０１６ｃは、設定情報１１０ｃに基づいた図２９の処理に従い、ドライバの更新、不要なアイコンやドライバの削除などを行う。そのため、クライアントＰＣ２１ａに、管理者の設定に従った構成で、ユーティリティプラグイン２０１５ｃやドライバを導入することができる。
【０３０１】
このように、第３の実施形態によれば、管理用ＰＣ２０において設定情報１１０を送信する対象のクライアントＰＣ２１ａの接続情報を入力するようにしている。そのため、クライアントＰＣ２１ａに予めパッケージ１００ｃが導入されている場合であっても、管理用ＰＣ２０からクライアントＰＣ２１ａに対して設定情報１１０を送信し、管理者の設定に従った構成で、ユーティリティプラグイン２０１５ｃやドライバを導入することができる。
【０３０２】
また、第３の実施形態によれば、クライアントＰＣ２１ａにどのような設定のユーティリティがインストールされているか不明な場合や、ユーザにより任意の設定がなされたユーティリティが既にインストールされている場合に、既存のユーティリティの設定を纏めて実行でき、ユーザの負担を軽減することが可能である。
【０３０３】
なお、上述の各実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。
【符号の説明】
【０３０４】
１  情報処理システム
１０  ドライバ保存・配布サーバ
１０ａ  データベース
２０  管理用ＰＣ
２１ａ，２１ｂ  クライアントＰＣ
３０ａ，３０ｂ  ＭＦＰ
１００，１００ａ，１００ｂ，１００ｃ  パッケージ
１１０，１１０ａ，１１０ｃ  設定情報
１２５  ドライバ群
２００，２１０  送信部
２０１，２１１  受信部
２０２，２１２  記憶部
２０３  管理部
２０４  設定情報生成部
２０５，２１４  入力部
２０６  表示部
２１３  更新管理部
３００  利用機器設定画面
３０１ａ，３０１ｂ，３０１ｃ  カスタマイズ設定画面
３０２  利用機器設定画面
３０３  ユーティリティプラグイン設定画面
３１０  接続情報入力画面
１１０１  利用機器指定情報
１１０２  利用機器機能情報
１１０３  設定カスタマイズ情報
１１０４  ドライバインストールオプション情報
１１０５  利用機器選択方法指定情報
１１０６  ユーティリティプラグインインストール設定情報
１１０７  ユーティリティプラグイン利用制限設定情報
１１００ａ，１１００ｂ，１１００ｃ，２０１２  ＷｅｂＡＰＩ部
２０００  管理アプリケーション
２００１  設定情報保存領域
２００２  パッケージ保存領域
２００３，２２００  ＯＳ
２０１０  設定部
２０１１  作成部
２０１３  プログラムデータ
２０１４，２０１４ａ，２０１４ｂ，２０１４ｃ  ユーティリティインストーラ
２０１５，２０１５ａ，２０１５ｂ，２０１５ｃ  ユーティリティプラグイン
２０１６，２０１６ａ，２０１６ｂ，２０１６ｃ  ドライバインストーラ
【先行技術文献】
【特許文献】
【０３０５】
【特許文献１】特開２００６−１９０３２０号公報
【図１】
2017054462.tif 000003
【図２】
2017054462.tif 000004
【図３】
2017054462.tif 000005
【図４】
2017054462.tif 000006
【図５】
2017054462.tif 000007
【図６】
2017054462.tif 000008
【図７】
2017054462.tif 000009
【図８】
2017054462.tif 000010
【図９】
2017054462.tif 000011
【図１０】
2017054462.tif 000012
【図１１】
2017054462.tif 000013
【図１２】
2017054462.tif 000014
【図１３】
2017054462.tif 000015
【図１４】
2017054462.tif 000016
【図１５】
2017054462.tif 000017
【図１６】
2017054462.tif 000018
【図１７】
2017054462.tif 000019
【図１８】
2017054462.tif 000020
【図１９】
2017054462.tif 000021
【図２０】
2017054462.tif 000022
【図２１】
2017054462.tif 000023
【図２２】
2017054462.tif 000024
【図２３】
2017054462.tif 000025
【図２４】
2017054462.tif 000026
【図２５】
2017054462.tif 000027
【図２６】
2017054462.tif 000028
【図２７】
2017054462.tif 000029
【図２８】
2017054462.tif 000030
【図２９】
2017054462.tif 000031
【図３０】
2017054462.tif 000032
【図３１−１】
2017054462.tif 000033
【図３１−２】
2017054462.tif 000034
【図３２】
2017054462.tif 000035
【図３３】
2017054462.tif 000036
【図３４】
2017054462.tif 000037
【図３５】
2017054462.tif 000038
【図３６】
2017054462.tif 000039
【図３７】
2017054462.tif 000040
【図３８】
2017054462.tif 000041