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