(57)【特許請求の範囲】
【請求項１】
ネットワークに参加したデバイスから、特定のプロトコルを用いて、ユニキャストで送信されたネットワーク参加メッセージを受信する受信手段と、
前記ネットワーク参加メッセージを送信したデバイスに対して、外部から、前記ネットワークに接続されたクライアント端末装置と前記特定のプロトコルを用いてユニキャストで情報の通信を行うための設定を行えない際に、前記ネットワーク参加メッセージを送信したデバイスのドライバをプラグアンドプレイでインストールさせる機能が自装置にある否かを判定する判定手段と、
前記判定手段によりドライバをプラグアンドプレイでインストールさせる能力が自装置にあると判定された場合に、前記特定のプロトコルを用いて前記クライアント端末装置と通信を行って、前記クライアント端末装置に前記ネットワーク参加メッセージを送信したデバイスのドライバをインストールさせる処理手段を有することを特徴とする管理装置。
【請求項２】
ネットワークに参加したデバイスから、特定のプロトコルを用いて、ユニキャストで送信されたネットワーク参加メッセージを受信する受信手段と、
前記ネットワーク参加メッセージを送信したデバイスが、前記ネットワークに接続されたクライアント端末装置と前記特定のプロトコルを用いてユニキャストで情報の通信を行う設定を外部から可能とする設定機能を備えるか否かを判定する判定手段と、
前記判定手段が前記ネットワーク参加メッセージを送信したデバイスが前記設定機能を備えると判定した場合には、前記ネットワーク参加メッセージを送信したデバイスのドライバを、前記クライアント端末装置にインストールさせるための処理として、前記特定のプロトコルを用いてユニキャストで情報の通信を行う設定を含むタスクを生成して、当該デバイスに対して該タスクの送信を行う処理手段とを有し、
前記特定のプロトコルを用いてユニキャストで情報の通信を行う設定においては、前記クライアント端末装置のアドレス情報が含まれることを特徴とする管理装置。
【請求項３】
前記判定手段は、前記ネットワーク参加メッセージを送信したデバイスが、さらに当該デバイスのドライバの所在を前記タスクの設定として扱えるか否かを判定し、
前記処理手段は、前記判定手段がドライバの所在を前記タスクの設定として扱えると判定した場合には、前記タスクに前記クライアント端末装置でインストールされるドライバの所在を設定し生成することを特徴とする請求項２に記載の管理装置。
【請求項４】
前記判定手段は、前記ネットワーク参加メッセージを送信したデバイスが前記設定機能を備えていないと判定した場合には、前記ネットワーク参加メッセージを送信したデバイスのドライバをプラグアンドプレイでインストールさせる機能が自装置にある否かを判定し、
前記処理手段は、ドライバをプラグアンドプレイでインストールさせる能力が自装置にあると判定された場合に、前記特定のプロトコルを用いて前記クライアント端末装置と通信を行って、前記クライアント端末装置に前記ネットワーク参加メッセージを送信したデバイスのドライバをインストールさせることを特徴とする請求項２または３に記載の管理装置。
【請求項５】
前記ネットワーク参加メッセージを送信したデバイスから、デバイスの特性を示すデバイス特性情報を受信する第２の受信手段と、
前記デバイス特性情報と、クライアント端末装置とを関連付けて記憶媒体に登録する登録手段とを有し、
前記第２の受信手段により受信されたデバイス特性情報に関連付けられて前記登録手段により登録されたクライアント端末装置を、前記処理手段によるドライバのインストールの処理の対象とすることを特徴とする請求項２乃至４の何れか１項に記載の管理装置。
【請求項６】
ネットワークに参加したデバイスから、特定のプロトコルを用いて、ユニキャストで送信されたネットワーク参加メッセージを受信する受信工程と、
前記ネットワーク参加メッセージを送信したデバイスに対して、外部から、前記ネットワークに接続されたクライアント端末装置と前記特定のプロトコルを用いてユニキャストで情報の通信を行うための設定を行えない際に、前記ネットワーク参加メッセージを送信したデバイスのドライバをプラグアンドプレイでインストールさせる機能が自装置にある否かを判定する判定工程と、
前記判定工程によりドライバをプラグアンドプレイでインストールさせる能力が自装置にあると判定された場合に、前記特定のプロトコルを用いて前記クライアント端末装置と通信を行って、前記クライアント端末装置に前記ネットワーク参加メッセージを送信したデバイスのドライバをインストールさせる処理工程を有することを特徴とする管理方法。
【請求項７】
ネットワークに参加したデバイスから、特定のプロトコルを用いて、ユニキャストで送信されたネットワーク参加メッセージを受信する受信工程と、
前記ネットワーク参加メッセージを送信したデバイスが、前記ネットワークに接続されたクライアント端末装置と前記特定のプロトコルを用いてユニキャストで情報の通信を行う設定を外部から可能とする設定機能を備えるか否かを判定する判定工程と、
前記判定工程が前記ネットワーク参加メッセージを送信したデバイスが前記設定機能を備えると判定した場合には、前記ネットワーク参加メッセージを送信したデバイスのドライバを、前記クライアント端末装置にインストールさせるための処理として、前記特定のプロトコルを用いてユニキャストで情報の通信を行う設定を含むタスクを生成して、当該デバイスに対して該タスクの送信を行う処理工程とを有し、
前記特定のプロトコルを用いてユニキャストで情報の通信を行う設定においては、前記クライアント端末装置のアドレス情報が含まれることを特徴とする管理方法。
【請求項８】
前記判定工程は、前記ネットワーク参加メッセージを送信したデバイスが、さらに当該デバイスのドライバの所在を前記タスクの設定として扱えるか否かを判定し、
前記処理工程は、前記判定工程がドライバの所在を前記タスクの設定として扱えると判定した場合には、前記タスクに前記クライアント端末装置でインストールされるドライバの所在を設定し生成することを特徴とする請求項７に記載の管理方法。
【請求項９】
前記判定工程は、前記ネットワーク参加メッセージを送信したデバイスが前記設定機能を備えていないと判定した場合には、前記ネットワーク参加メッセージを送信したデバイスのドライバをプラグアンドプレイでインストールさせる機能が自装置にある否かを判定し、
前記処理工程は、ドライバをプラグアンドプレイでインストールさせる能力が自装置にあると判定された場合に、前記特定のプロトコルを用いて前記クライアント端末装置と通信を行って、前記クライアント端末装置に前記ネットワーク参加メッセージを送信したデバイスのドライバをインストールさせることを特徴とする請求項７または８に記載の管理方法。
【請求項１０】
前記ネットワーク参加メッセージを送信したデバイスから、デバイスの特性を示すデバイス特性情報を受信する第２の受信工程と、
前記デバイス特性情報と、クライアント端末装置とを関連付けて記憶媒体に登録する登録工程とを有し、
前記第２の受信工程により受信されたデバイス特性情報に関連付けられて前記登録工程により登録されたクライアント端末装置を、前記処理工程によるドライバのインストールの処理の対象とすることを特徴とする請求項７乃至９の何れか１項に記載の管理方法。
【請求項１１】
請求項６乃至１０の何れか１項に記載の管理方法の各工程をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理装置、管理方法、及びコンピュータプログラムに関し、特に、デバイスのドライバをインストールするために用いて好適なものである。
【背景技術】
【０００２】
従来から、プリンタ等のデバイスとクライアント端末装置（以下、必要に応じてクライアントと称する）とがネットワークに接続されたデバイス・クライアント環境において、デバイスに対応したドライバをクライアントにインストールする技術があった。
具体的に説明すると、ネットワークに接続されたデバイスがネットワーク参加メッセージをネットワークに送付すると、ネットワーク上のクライアントが、そのネットワーク参加メッセージに応答して、デバイスにドライバをインストールすることが行われていた。また、クライアントは、ネットワークに接続したときにネットワークに送付するネットワーク参加メッセージに対する"デバイスからの応答"に従って、ドライバをインストールすることが行われていた。このような技術は、例えば、Microsoft社のＵＰｎＰプロトコルや、ＷＳＤ（Web Services for Devices）や、Apple社のRendezvous機能により実現される（特許文献１を参照）。
【０００３】
更に、このような技術において、ユーザにとって必要性の無いドライバがクライアントにインストールされるのを防ぐ技術が提案されている（特許文献２を参照）。この技術では、ＵＰｎＰ（Universal Plug and Play）を受け付けるか否かの設定を制御するモジュールをクライアントに設ける。そして、クライアントは、この設定に基づいて、ネットワークに接続されたデバイスにドライバをインストールするか否かを判断する。
【０００４】
【特許文献１】特開２００４−３８９５６号公報
【特許文献２】特開２００７−６６０９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、前述した従来の技術では、一対一の探索プロトコルにおけるデバイスとクライアントとは、サーバを経由せずに、ドライバのインストールの可否を直接やりとりする。したがって、クライアントへのドライバのインストールを、サーバ側で一元管理することができないという課題があった。そこで、サーバを導入することが考えられるが、単にサーバを導入するだけでは、ネットワーク参加メッセージが、クライアントとサーバとの双方に送付される。したがって、クライアントに送付されたネットワーク参加メッセージをサーバ側で管理することができず、前述した課題は解決されない。
【０００６】
また、前述したサーバやデバイスには、種々の機能がある。例えば、サーバが、擬似的なＵＰｎＰの機能を有していたり、デバイスが、ＵＰｎＰの機能に対するリモート設定機能を有していたりすることがある。しかしながら、このような機能に柔軟に対応して、デバイスにドライバをインストールすることができなかった。
【０００７】
本発明は、このような問題点に鑑みてなされたものであり、クライアントへのドライバのインストールを、サーバ側で一元管理することができるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の管理装置は、ネットワークに参加したデバイスから、特定のプロトコルを用いて、ユニキャストで送信されたネットワーク参加メッセージを受信する受信手段と、前記ネットワーク参加メッセージを送信したデバイスに対して、外部から、前記ネットワークに接続されたクライアント端末装置と前記特定のプロトコルを用いてユニキャストで情報の通信を行うための設定を行えない際に、前記ネットワーク参加メッセージを送信したデバイスのドライバをプラグアンドプレイでインストールさせる機能が自装置にある否かを判定する判定手段と、前記判定手段によりドライバをプラグアンドプレイでインストールさせる能力が自装置にあると判定された場合に、前記特定のプロトコルを用いて前記クライアント端末装置と通信を行って、前記クライアント端末装置に前記ネットワーク参加メッセージを送信したデバイスのドライバをインストールさせる処理手段を有することを特徴とする。
本発明の管理装置の他の態様例では、ネットワークに参加したデバイスから、特定のプロトコルを用いて、ユニキャストで送信されたネットワーク参加メッセージを受信する受信手段と、前記ネットワーク参加メッセージを送信したデバイスが、前記ネットワークに接続されたクライアント端末装置と前記特定のプロトコルを用いてユニキャストで情報の通信を行う設定を外部から可能とする設定機能を備えるか否かを判定する判定手段と、前記判定手段が前記ネットワーク参加メッセージを送信したデバイスが前記設定機能を備えると判定した場合には、前記ネットワーク参加メッセージを送信したデバイスのドライバを、前記クライアント端末装置にインストールさせるための処理として、前記特定のプロトコルを用いてユニキャストで情報の通信を行う設定を含むタスクを生成して、当該デバイスに対して該タスクの送信を行う処理手段とを有し、前記特定のプロトコルを用いてユニキャストで情報の通信を行う設定においては、前記クライアント端末装置のアドレス情報が含まれることを特徴とする。
【０００９】
本発明の管理方法は、ネットワークに参加したデバイスから、特定のプロトコルを用いて、ユニキャストで送信されたネットワーク参加メッセージを受信する受信工程と、前記ネットワーク参加メッセージを送信したデバイスに対して、外部から、前記ネットワークに接続されたクライアント端末装置と前記特定のプロトコルを用いてユニキャストで情報の通信を行うための設定を行えない際に、前記ネットワーク参加メッセージを送信したデバイスのドライバをプラグアンドプレイでインストールさせる機能が自装置にある否かを判定する判定工程と、前記判定工程によりドライバをプラグアンドプレイでインストールさせる能力が自装置にあると判定された場合に、前記特定のプロトコルを用いて前記クライアント端末装置と通信を行って、前記クライアント端末装置に前記ネットワーク参加メッセージを送信したデバイスのドライバをインストールさせる処理工程を有することを特徴とする。
本発明の管理方法の他の態様例では、ネットワークに参加したデバイスから、特定のプロトコルを用いて、ユニキャストで送信されたネットワーク参加メッセージを受信する受信工程と、前記ネットワーク参加メッセージを送信したデバイスが、前記ネットワークに接続されたクライアント端末装置と前記特定のプロトコルを用いてユニキャストで情報の通信を行う設定を外部から可能とする設定機能を備えるか否かを判定する判定工程と、前記判定工程が前記ネットワーク参加メッセージを送信したデバイスが前記設定機能を備えると判定した場合には、前記ネットワーク参加メッセージを送信したデバイスのドライバを、前記クライアント端末装置にインストールさせるための処理として、前記特定のプロトコルを用いてユニキャストで情報の通信を行う設定を含むタスクを生成して、当該デバイスに対して該タスクの送信を行う処理工程とを有し、前記特定のプロトコルを用いてユニキャストで情報の通信を行う設定においては、前記クライアント端末装置のアドレス情報が含まれることを特徴とする。
【００１０】
本発明のコンピュータプログラムは、前記管理方法の各工程をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、クライアントへのドライバのインストールを、サーバ側で一元管理することができる。
【発明を実施するための最良の形態】
【００１２】
以下に、図面を参照しながら、本発明の一実施形態について説明する。
＜デバイス・クライアント管理システムの構成＞
図１は、印刷システムの構成の一例を示す図である。図１において、印刷システムは、管理サーバ１０００、デバイス２０００、管理者クライアント３０００、及びドライバ配信クライアント４０００を備えて構成される。そして、これら管理サーバ１０００、デバイス２０００、管理者クライアント３０００、及びドライバ配信クライアント４０００は、通信回線５０００に接続されている。
【００１３】
また、管理サーバ１０００、デバイス２０００、管理者クライアント３０００、及びドライバ配信クライアント４０００は、夫々中央演算処理装置１８００、２８００、３８００、４８００を備えている。中央演算処理装置１８００、２８００、３８００、４８００は、例えば、関連データを用いながらプログラムを実行する。プログラム及び関連データは、例えば、ＦＤ、ＣＤ−ＲＯＭ、ＩＣメモリカード等の記憶媒体に記憶されており、記憶媒体読取装置１６００、２６００、３６００、４６００によって読み出される。
【００１４】
また、記憶媒体読取装置１６００、２６００、３６００、４６００からデータ制御部１７００、２７００、３７００、４７００にシステムプログラムやアプリケーションプログラムがロードされる。このシステムプログラムやアプリケーションプログラムは、表示部１１００、２１００、３１００、４１００、及び入力部１２００、２２００、３２００、４２００から入力される情報を処理する。そして、インターフェース制御部１４００、２４００、３４００、４４００を経由してデータの入出力を行う。
【００１５】
尚、表示部１１００、２１００、３１００、４１００は、ＣＲＴディスプレイ又は液晶ディスプレイ等の表示装置を有する。
また、入力部１２００、２２００、３２００、４２００は、キーボードやマウス等のポインティングデバイス等で構成されている。
更に、記憶部１６００、２６００、３６００、４６００は、ハードディスクや、光磁気ディスクで構成されるものであってもいいし、これらの組み合わせで構成されるものであってもよい。
【００１６】
デバイス２０００は、スキャナ部２９１０と、印刷部であるプリンタエンジン２９２０とを有し、所謂マルチファンクションを有する印刷装置であり、例えば、ドライバ配信クライアント４０００からの印刷ジョブを、プリンタエンジン２９２０を用いて実行する。尚、この印刷ジョブは、ドライバ配信クライアント４０００から直接的に投入されることもあるし、ドライバ配信クライアント４０００から管理サーバ１０００等を介して間接的に投入されることもある。
更に、デバイス２０００は、ＭＩＢ（Management Information Base）といったデバイス情報を保持する。デバイス情報の取得や設定は、通信回線５０００を介して、主に管理者クライアント３０００から実現することが可能である。
管理サーバ１０００とデバイス２０００は、ＵＰｎＰ制御部１７２０、２７２０を有している。ＵＰｎＰ制御部１７２０、２７２０は、ＵＰｎＰ機能を制御する機能を有し、ＯＳ（Operating System）に付随するものである。
本実施形態では、デバイス２０００が有する第二ＵＰｎＰ制御部２７２０は、通信回線５０００に接続すると、ネットワーク参加メッセージを、管理サーバ１０００に対して送信（発行）する。このとき、第二ＵＰｎＰ制御部２７２０は、ネットワーク参加メッセージを、１対１接続の探索プロトコルの一例であるＵＰｎＰプロトコルに従って、マルチキャストではなくユニキャストで送信する。このネットワーク参加メッセージは、管理サーバ１０００が有する第一ＵＰｎＰ制御部１７２０にて検知される。第一ＵＰｎＰ制御部１７２０にて検知されるものとする。ここで、１対１接続の探索プロトコルとは、ＵＰｎＰUPNPのようなものである。ＵＰｎＰでは、大略、下記のように通信する。まず、新規デバイスがネットワークに参加した場合に、ハローメッセージをネットワーク上にブロードキャストする。そのときネットワーク上に存在するハローメッセージを受信したネットワークデバイスが、その新規ネットワークデバイスのネットワークへの参加を認識する。次に、その新規ネットワークデバイスがネットワークから離脱する場合は、Byeメッセージをネットワーク上にブロードキャストする。新規ネットワークデバイスからByeメッセージを受け取ったネットワークデバイスたちは、その新規ネットワークデバイスがネットワークから離脱したことを認識する。１対１の探索プロトコルは、例えば、これらのことを繰り返しながら、ネットワークデバイスがいわば一対一で、お互いの存在を認識しあう技術である。
【００１７】
一方、ドライバ配信クライアント４０００は、アプリケーションからの印刷を、プリンタドライバを介して行ったり、デバイス２０００にてスキャンしたデータの取得を、スキャナドライバを介して行ったりすることが可能である。以下の説明では、プリンタドライバやスキャナドライバを、必要に応じてドライバと称する。また、本実施形態のドライバ配信クライアント４０００は、ドライバのインストール機能を有する所謂サービスプログラムであるクライアントエージェントを備えていないものとする。
通信回線５０００は、通常のＬＡＮ（Local Area Network）、又はIEEE1394やＵＳＢ（Universal Serial Bus）といった双方向シリアルインタフェース等を有する。
【００１８】
本実施形態では、管理サーバ１０００の第一デバイス管理アプリケーション部１７１０等が、特徴的な処理を行う。
第一デバイス管理アプリケーション部１７１０は、第一プログラム制御部１７１１、第一デバイス管理制御部１７１２、第一タスク管理制御部１７１３、第一ドライバ管理制御部１７１４、第一情報保管部１７１５、及び第一ドライバ保管部１７１６を有する。
第一プログラム制御部１７１１は、第一デバイス管理制御部１７１２、第一タスク管理制御部１７１３、及び第一ドライバ管理制御部１７１４の各制御部を制御する役目をなすフレームワークプログラム部である。
【００１９】
第一デバイス管理制御部１７１２は、デバイス２０００の探索、デバイス２０００のステータスの監視、及びデバイス２０００の設定に対する変更等を、第一タスク管理制御部１７１３を介してタスク単位で行う。更に、第一デバイス管理制御部１７１２は、第一ＵＰｎＰ制御部１７２０がＵＰｎＰ機能を有するデバイス２０００を検知したことを受けると、第一ＵＰｎＰ制御部１７２０を介して、デバイス２０００との間で通信を行い、デバイスメタデータを取得する。このようにデバイス２０００は、ＵＰｎＰ機能を有しているので、以下の説明では、デバイス２０００を、必要に応じてＵＰｎＰデバイス２０００と称する。
【００２０】
デバイスメタデータには、デバイス２０００の特性を示すデータと、デバイス２０００のドライバに関するデータとが含まれる。
デバイスの特性を示すデータには、例えば、印刷装置なのか、スキャナなのか、ファックスなのかといったデバイス種別や、デバイス２０００の機能を示すデバイス機能が含まれる。例えば、デバイス種別が印刷装置である場合であって、その印刷装置が、印刷機能以外の機能（例えばファックス機能）を有する場合には、印刷機能とファックス機能とが、デバイス機能に含まれることになる。また、例えば、印刷機能には、どのようなページ言語を使用しているのか、印刷速度はどのくらいか、どのようなフィニッシング機能を有しているのか、といった情報も含めることができる。
【００２１】
一方、ドライバに関するデータには、例えば、そのドライバはどこにあるのかといったドライバの所在に関する情報や、ドライバそのもののダウンロード機能といった情報等が含まれる。
ＵＰｎＰに利用するＷＳＤに代表されるように、ＸＭＬ形式で記載された情報を、Ｗｅｂサービスでのやりとりが可能である。よって、以上のようにやりとりできるデバイスメタデータには自由度が与えられる。
【００２２】
第一ドライバ管理制御部１７１４は、ドライバ配信クライアント４０００に対して、クライアントエージェントを配布するための配布処理を行う。また、第一ドライバ管理制御部１７１４は、配布したクライアントエージェントとのＷｅｂサービス等を利用した通信を行い、ドライバを配布すると共に、そのドライバのインストール指示を行う。
尚、第一ドライバ管理制御部１７１４が行う前述した処理は、第一タスク管理制御部１７１３を介して行われる。
【００２３】
第一タスク管理制御部１７１３は、前述したように、第一デバイス管理制御部１７１２や第一ドライバ管理制御部１７１４のタスク単位の処理を制御する。
タスク単位の処理を制御するとは、タスクに指示された実行情報に基づいて、スケジューリングや実行結果の表示を行うことを意味する。
例えば、第一ドライバ管理制御部１７１４にて、あるドライバ配信クライアント４０００に対してあるドライバを配布するドライバタスクが作成され、そのドライバタスクが第一タスク管理制御部１７１３に渡されたとする。そうすると、第一タスク管理制御部１７１３は、そのドライバタスクの実行情報に従い、実行時になった時に、第一ドライバ管理制御部１７１４に対して、そのタスクを実行するように指示を行う。
そして、第一ドライバ管理制御部１７１４は、そのドライバタスクを実行し、その実行結果を第一タスク管理制御部１７１３へ返し、第一タスク管理制御部１７１３では、そのドライバタスクの実行結果の表示を行うための処理を行う。
【００２４】
ここで、本実施形態では、第一デバイス管理アプリケーション部１７１０は、所謂Ｗｅｂアプリケーションである。すなわち、第一デバイス管理アプリケーション部１７１０に対する操作は、所謂Ｗｅｂブラウザをインターフェースとして、管理者クライアント３０００の第三表示部３１００及び第三入力部３２００を介して行われる。
尚、第一デバイス管理アプリケーション部１７１０は、Ｗｅｂアプリケーションではなく、通常のネイティブアプリケーションであっても構わない。その場合には、管理者は、通常、管理者クライアント３０００からではなく、管理サーバ１０００の第一表示部１１００と第一入力部１２００を介して、第一デバイス管理アプリケーション部１７１０に対する操作を行う。
【００２５】
第一プログラム制御部１７１１は、第一ＵＰｎＰ制御部１７２０を介して、ドライバ配信クライアント４０００の第四データ制御部４７００が有する第四ＵＰｎＰ制御部４７２０と通信を行うための処理を実行する。
ここで、第四ＵＰｎＰ制御部４７２０は、ドライバのインストール機能を有するＯＳの機能の一つである。
また、第一プログラム制御部１７１１は、デバイス２０００の第二データ制御部２７００の第二リモート制御部２７１０と、所謂ＳＮＭＰ等のプロトコルを利用して通信を行うための処理を行う。
これにより、デバイス２０００の設定の変更を行う。本実施形態では、デバイス２０００の設定が、デバイス２０００のＵＰｎＰに関する設定である場合を例に挙げて説明する。
【００２６】
第一情報保管部１７１５は、所謂データベースであり、第一ドライバ保管部１７１６は、ＦＴＰサーバ、ＨＴＴＰサーバ、又はファイルサーバといったドライバをダウンロードするためのサーバである。第一情報保管部１７１５及び第一ドライバ保管部１７１６は、図１に示すように、管理サーバ１０００と同一のサーバであってもよいし、それらの少なくとも一方が管理サーバ１０００とは別のサーバにあってもよい。第一情報保管部１７１５及び第一ドライバ保管部１７１６は、第一プログラム制御部１７１１、第一デバイス管理制御部１７１２、第一タスク管理制御部１７１３、及び第一ドライバ管理制御部１７１４によりアクセスされ、必要なデータを保存するのに利用される。
【００２７】
＜印刷システムの概念的な構成＞
図２は、管理サーバ１０００が、デバイス２０００が有するＵＰｎＰの機能を擬似的に有する場合における印刷システムの動作の一例を概念的に示す図である。尚、以下の説明では、このような管理サーバ１０００の機能を、必要に応じて擬似ＵＰｎＰ機能と称する。
図２（ａ）は、管理サーバ１０００、管理者クライアント３０００、及びドライバ配信クライアント４０００が通信回線５０００接続されているネットワーク環境に、デバイス２０００が参加したことを示している。本実施形態では、管理サーバ１０００に対してユニキャストＵＰｎＰを行うための設定が、デバイス２０００の第二ＵＰｎＰ制御部２７２０に対して予め行われている。したがって、デバイス２０００の第二ＵＰｎＰ制御部２７２０は、デバイス２０００がネットワークに参加すると、ネットワーク参加メッセージ（例えばＷＳＤにおけるＨｅｌｌｏメッセージ）を、ユニキャストで管理サーバ１０００に対して発行する。
【００２８】
図２（ｂ）は、ドライバをドライバ配信クライアント４０００にインストールすることを示している。
図２（ｂ）において、実線の矢印（Flow1）は、デバイス２０００の擬似ＵＰｎＰ機能を利用して、ドライバ配信クライアント４０００へドライバをインストールすることを示している。
【００２９】
図３は、管理サーバ１０００が、デバイス２０００の擬似ＵＰｎＰ機能を有さず、デバイス２０００のリモート設定機能を利用する場合における印刷システムの動作の一例を概念的に示す図である。
図３（ａ）は、図２（ａ）と同様に、管理サーバ１０００、管理者クライアント３０００、及びドライバ配信クライアント４０００が通信回線５０００に接続されているネットワーク環境に、デバイス２０００が参加したことを示している。前述したように、デバイス２０００の第二ＵＰｎＰ制御部２７２０は、デバイス２０００がネットワークに参加すると、ネットワーク参加メッセージ（例えばＷＳＤにおけるＨｅｌｌｏメッセージ）を、ユニキャストで管理サーバ１０００に対して発行する。
【００３０】
図３（ｂ）は、ドライバをドライバ配信クライアント４０００にインストールすることを示している。
図３（ｂ）において、実線の矢印（Flow1）は、ドライバ配信クライアント４０００に対してユニキャストＵＰｎＰを行うためのリモート設定が、管理サーバ１０００からデバイス２０００へなされる。これに続いてデバイス２０００からドライバ配信クライアント４０００に対して、ユニキャストＵＰｎＰによるドライバのインストールがなされる。
【００３１】
＜制御手順の概要＞
次に、図４のフローチャートを参照しながら、本実施形態の印刷システムにおける基本的な動作の一例を説明する。
まず、デバイス２０００は、ネットワーク（通信回線５０００）に接続すると、管理サーバ１０００に対して、ユニキャストでＵＰｎＰ（ユニキャストＵＰｎＰ）を行う。管理サーバ１０００は、これを受けて、デバイス２０００（ＵＰｎＰデバイス）を検知するためのＵＰｎＰデバイス検知処理を行う（ステップＳ１）。
【００３２】
次に、管理サーバ１０００は、ステップＳ１で検知したデバイス２０００に対する管理を行うためのＵＰｎＰデバイス管理処理を行う（ステップＳ２）。
次に、管理サーバ１０００は、ステップＳ１で検知したデバイス２０００に対応したドライバを検出する。そして、管理サーバ１０００は、ステップＳ１で検知したデバイス２０００と、検出したドライバとを自動的に関連付けるための自動関連付け処理を行う（ステップＳ３）。
【００３３】
次に、管理サーバ１０００は、ステップＳ１で検知したデバイス２０００のデバイス特性に基づいて、ドライバを配布すべきドライバ配信クライアント４０００に関わる情報を取得するためのドライバ配信クライアント情報取得処理を行う（ステップＳ４）。
次に、管理サーバ１０００は、管理サーバ１０００の擬似ＵＰｎＰ機能に関する能力、又はデバイス２０００のリモート設定に関する能力を判断するデバイス能力対応処理を行う（ステップＳ５）。
次に、管理サーバ１０００は、ステップＳ５で判断された能力に応じて、ドライバ配信クライアント４０００に対して、デバイス２０００用のドライバをインストールするためのドライバインストール処理を行う（ステップＳ６）。
【００３４】
＜制御手順の詳細＞
次に、本実施形態の印刷システムにおける詳細な動作の一例を説明する。
まず、デバイス２０００がネットワーク（通信回線５０００）に参加する前に、デバイス特性とドライバ配信クライアント４０００とを関連付ける処理を行う。
【００３５】
図５は、デバイス特性とドライバ配信クライアント４０００とを関連付ける際の管理サーバ１０００における動作の一例を説明するフローチャートである。
まず、管理者は、管理者クライアント３０００の第三表示部３１００、第三入力部３２００から、Ｗｅｂブラウザを介して、管理サーバ１０００の第一デバイス管理アプリケーション部１７１０にアクセスする。そうすると、第一ドライバ管理制御部１７１４は、第一デバイス管理アプリケーション部１７１０のメニューを第三表示部３１００に表示させる。そして、そのメニューの中から［デバイス特性とクライアント関連付け］メニューが、管理者によって選択される。そうすると、第一ドライバ管理制御部１７１４は、デバイス２０００の特性（デバイス特性）とクライアントとを関連付けるためのＵＩ画面を表示させる（ステップＳ１００）。
【００３６】
図６は、［デバイス特性とクライアント関連付け］メニューが選択された場合に表示されるＵＩ画面の一例を示す図である。
図６に示すＵＩ画面６００では、メニューが左側の領域６０１に表示され、メニューに対応した内容が右側の領域６０２に表示される。管理者が、［デバイス特性とクライアント関連付け］メニューを選択すると、図６に示すように、右側の領域６０２に［デバイス特性の選択］の画面が表示される。
【００３７】
次に、第一ドライバ管理制御部１７１４は、［デバイス特性の選択］の画面に対する管理者による選定操作に基づいて、ドライバ配信クライアント４０００に関連付けるデバイス２０００の特性を入力する（ステップＳ１１０）。
本実施形態では、図６に示す通り、デバイス２０００の特性として、ＩＰアドレス、カラー印刷、印刷速度、及びフィニッシング−製本機能があり、夫々のデバイス２０００の特性に対して、次のように選定することができる。
【００３８】
デバイス２０００のＩＰアドレス特性とは、ＵＰｎＰ機能を有するＵＰｎＰデバイス２０００自体のＩＰアドレスを意味する。図６に示す例では、ＩＰアドレスが、"aaa.bbb.ccc.100"から"aaa.bbb.ccc.110"までの範囲のＩＰアドレスを持つＵＰｎＰデバイス２０００を対象とする。
デバイス２０００のカラー印刷特性とは、ＵＰｎＰデバイス２０００が、カラー印刷（とモノクロ印刷との両方）が可能であることと、モノクロ印刷のみが可能であることとの何れかを意味する。図６に示す例では、カラー印刷が可能であるＵＰｎＰデバイス２０００を対象とする。
【００３９】
デバイス２０００の印刷速度特性とは、ＵＰｎＰデバイス２０００の印刷速度能力を意味する。図６に示す例では、印刷速度が、４０ｐｐｍ以上のＵＰｎＰデバイス２０００を対象とする。
デバイス２０００のフィニッシング−製本機能特性とは、ＵＰｎＰデバイス２０００のフィニッシングの一つとして製本機能がある場合に、それを条件とするか否かを意味する。図６に示す例では、ＵＰｎＰデバイス２０００のフィニッシングの一つとして製本機能があることを条件としないことを意味する。
【００４０】
尚、これらはデバイス２０００の特性の一例である。管理サーバ１０００とデバイス２０００との間でのＵＰｎＰ時のデバイスメタデータのやりとりで取得できる情報であれば、様々な項目をデバイス２０００の特性として利用できる。
例えば、前述したもの他に、ＰＤＬ（ページ記述言語、例えばＰＣＬやＰＳ等）やデバイスの仕向け（日本、米国、英国等）等をデバイス２０００の特性とすることができる。
【００４１】
次に、図６に示すＵＩ画面６００の［次へ］ボタン６０３が押下されると、第一ドライバ管理制御部１７１４は、次の処理を行う。すなわち、第一ドライバ管理制御部１７１４は、ＵＩ画面６００で設定されたデバイス２０００の特性と関連付けるドライバ配信クライアント４０００を選択するためのＵＩ画面を表示する（ステップＳ１２０）。
【００４２】
図７は、デバイス特性（デバイス２０００の特性）と関連付けるドライバ配信クライアント４０００を選択するためのＵＩ画面の一例を示す図である。
【００４３】
図７に示すＵＩ画面７００に表示されるクライアント一覧７０１は、ドライバ配信クライアント４０００の一覧であり、その内容は、クライアント探索、又はＣＳＶファイル等のエクスポートにより第一情報保管部１７１５に予め記憶されているものとする。
また、図７に示す例では、ツリーの任意クライアントグループに所属しているドライバ配信クライアント４０００を選択しているが、クライアント単位ではなく、クライアントグループ単位でドライバ配信クライアント４０００を選択することも可能である。
【００４４】
図８は、第一情報保管部１７１５に予め記憶されている"ドライバ配信クライアント４０００に関するテーブル"の一例を概念的に示す図である。
図８に示すテーブル８００は、クライアントＩＤ、ＯＳ名称、ＩＰアドレス、及び所属グループから構成されている。
図７に示す例では、デバイス２０００の特性と関連付けるドライバ配信クライアント４０００として、クライアントグループ「グループ１のサブグループ１」に属する「CLIENT00」、「CLIENT02」が選択されていることを示す。
次に、図７に示すＵＩ画面７００の［次へ］ボタン７０２が押下されると、管理サーバ１０００は、図６及び図７に示したＵＩ画面６００、７００の選択内容の確認と登録とを行うためのＵＩ画面を表示する（ステップＳ１３０）。
【００４５】
図９は、図６及び図７に示したＵＩ画面６００、７００の選択内容の確認と登録とを行うためのＵＩ画面の一例を示す図である。
図９に示すＵＩ画面９００の［登録］ボタン９０１が押下されると、第一ドライバ管理制御部１７１４は、図６及び図７に示したＵＩ画面６００、７００の設定内容を、第一情報保管部１７１５へ記憶する。
図１０〜図１３は、図６に示したＵＩ画面６００の設定内容を記憶するテーブルの例を示す図である。また、図１４は、図７に示したＵＩ画面７００の設定内容を記憶するテーブルの一例を示す図である。図１５は、デバイス特性（デバイス２０００の特性）とドライバ配信クライアント４０００とを関連付けて記憶するテーブルの一例を示す図である。これらのテーブル１１０〜１１５が、ステップＳ１３０で第一情報保管部１７１５に記憶される
【００４６】
図１０〜図１５に示す例では、図１５に示すテーブル１１５がメインテーブルとなる。図１５に示すテーブル１１５は、デバイス特性ＩＤと選択クライアントＩＤとを互いに関連付けて記憶する。このデバイス特性ＩＤの内容は、図１０〜図１３に示すテーブル１１０〜１１３に記憶され、選択クライアントＩＤの内容は、図１４に示すテーブル１１４に記憶される。
例えば、図１５におけるデバイス特性ＩＤ「SelectedDevAttr-1」は、選択クライアントＩＤ「SelectedClients-1」と関連付けられている。つまり、検知したデバイス２０００の特性が「SelectedDevAttr-1」の内容に合致するとする。そうすると、そのデバイス２０００に対応したドライバは、選択クライアントＩＤ「SelectedClients-1」のドライバ配信クライアント４０００にインストールされる。
デバイス特性ＩＤ「SelectedDevAttr-1」は、図１０に示す通り、デバイス特性ＩＤ、ＩＰアドレスＩＤ、カラー印刷、印刷速度ＩＤ、及びフィニッシングＩＤ等のカラムから構成される。これらＩＰアドレスＩＤ、印刷速度ＩＤ、及びフィニッシングＩＤの詳細は、夫々図１１〜図１３に示すテーブル１１１〜１１３に記憶される。
【００４７】
図１１は、図１０に示すテーブル１１０に記憶されているＩＰアドレスＩＤに対応するサブテーブルの一例を示す図である。
図１０に示すテーブル１１０では、デバイス特性ＩＤ「SelectedDevAttr-1」に対応するＩＰアドレスＩＤとして、「IPID-1」が記憶されている。そして、図１１に示すテーブル１１１では、ＩＰアドレスＩＤ「IPID-1」に対応するＩＰアドレスとして、「aaa.bbb.ccc.100」から「aaa.bbb.ccc.110」までのＩＰアドレスが記憶されている。
【００４８】
図１２は、図１０に示すテーブル１１０に記憶されている印刷速度ＩＤに対応するサブテーブルの一例を示す図である。
図１０に示すテーブル１１０では、デバイスＩＤ「SelectedDevAttr-1」に対応する印刷速度ＩＤとして、「PVID-1」が記憶されている。そして、図１２に示すテーブル１１２では、印刷速度ＩＤ「PVID-1」に対応する印刷速度として、印刷速度特性が「４０」、条件特性が「ｐｐｍ以上」という印刷速度が記憶されている。
【００４９】
図１３は、図１０に示すテーブル１１０に記憶されているフィニッシングＩＤに対応するサブテーブルの一例を示す図である。
図１０に示すテーブル１１０では、デバイスＩＤ「SelectedDevAttr-1」に対応するフィニッシングＩＤとして、「OFF」が記憶されている。この場合、フィニッシング特性は使用しないことになる。
一方、図１０に示すデバイスＩＤにおいて、「SelectedDevAttr-2」のフィニッシングＩＤは、「FinID-1」である。よって、図１３に示すテーブル１１３では、このフィニッシングＩＤ「FinID-1」に対応するフィニッシング特性として、製本機能が記憶される。
【００５０】
図１４は、図１５に示すテーブル１１５の選択クライアントＩＤに対応するサブテーブルの一例を示す図である。
図１４に示すテーブル１１４では、選択クライアントＩＤ「SelectedClients-1」に対応するドライバ配信クライアント４０００として、「CLIENT00」と「CLIENT02」とが記憶されている。また、これら「CLIENT00」と「CLIENT02」の詳細は、図８に示したテーブル８００に記憶されている。
【００５１】
以上により、前述した例では、デバイス特性として、以下の内容が選択されたことになる（図１０〜図１３を参照）。
ＩＰアドレス特性：aaa.bbb.ccc.100からaaa.bbb.ccc.110までの範囲
カラー印刷特性：可能
印刷速度特性：４０ｐｐｍ以上
そして、このようなＵＰｎＰデバイス２０００を検知した場合には、CLIENT00、CLIENT02のドライバ配信クライアント４０００に、ドライバをインストールすることとなる（図１４、図１５を参照）。
以上のように本実施形態では、少なくとも図５のフローチャートを実行することにより、登録手段の一例が実現される。
【００５２】
次に、図１６のフローチャートを参照しながら、本実施形態の印刷システムにおける詳細な動作の一例を説明する。
まず、図１のステップＳ１のＵＰｎＰデバイス検知処理の詳細について説明する。
デバイス２０００が、ネットワークに接続されると、第二ＵＰｎＰ制御部２７２０は、ネットワーク（通信回線５０００）に対して、ネットワーク参加を意味するネットワーク参加メッセージを、ユニキャストで管理サーバ１０００へ発行する（ステップＳ３００）。本実施形態では、ネットワーク参加メッセージとして、ＷＳＤに既定されているＨｅｌｌｏメッセージをユニキャストで管理サーバ１０００へ発行する。このように、デバイス２０００は、Ｈｅｌｌｏメッセージを管理サーバ１０００に対してのみ送信する。
【００５３】
管理サーバ１０００の第一デバイス管理制御部１７１２は、第一ＵＰｎＰ制御部１７２０を介して受信したメッセージがＨｅｌｌｏメッセージであるか否かを判定する（ステップＳ３０１）。この判定の結果、受信したメッセージがＨｅｌｌｏメッセージでなければ、図１６のフローチャートによる処理を終了する。一方、受信したメッセージがＨｅｌｌｏメッセージであれば、ステップＳ３０２に進む。
このように本実施形態では、少なくともステップＳ３０１の処理を行うことによって受信手段の一例が実現される。
そして、第一デバイス管理制御部１７１２は、第二ＵＰｎＰ制御部２７２０と第一ＵＰｎＰ制御部１７２０とを介して、ネットワーク参加メッセージに対する応答メッセージをデバイス２０００に発行する（ステップＳ３０２）。この応答メッセージの発行は、デバイスメタデータを取得するために行われる。ここでは、ＷＳＤに既定されているGetMetadataメッセージを、応答メッセージとして発行する。
【００５４】
そして、第一デバイス管理制御部１７１２は、第二ＵＰｎＰ制御部２７２０と第一ＵＰｎＰ制御部１７２０とを介して、デバイス２０００により発行されたGetMetadataメッセージを取得するまで待機する（ステップＳ３０３）。
そして、第二ＵＰｎＰ制御部２７２０は、GetMetadataメッセージを取得すると、ネットワーク（通信回線５０００）を介して、管理サーバ１０００にMetadata（デバイスメタデータ）を発行する。前述したように、Metadata（デバイスメタデータ）には、デバイス２０００の特性を示すデータと、デバイス２０００のドライバに関するデータとが含まれる。
以上のステップＳ３００〜Ｓ３０４が、図１のステップＳ１のＵＰｎＰデバイス検知処理の詳細である。
【００５５】
次に、図１のステップＳ２のＵＰｎＰデバイス管理処理の詳細について説明する。
第一デバイス管理制御部１７１２は、ステップＳ３０４で発行されたMetadataを取得する。そして、第一デバイス管理制御部１７１２は、取得したMetadataに基づいて、ステップＳ３０１で検知したデバイス２０００が、ＵＰｎＰによる管理対象のデバイスであるか否かを判定する（ステップＳ３０５）。本実施形態では、検知したデバイス２０００が、印刷機能を有するデバイスであり、且つＵＰｎＰによる管理対象のベンダーのデバイスであるか否かを、取得したMetadataに基づいて判断することにより、このステップＳ３０５の判定を行う。このように本実施形態では、少なくともステップＳ３０５の処理を行うことにより、第２の受信手段の一例が実現される。
この判定の結果、通信相手のデバイス２０００が、ＵＰｎＰによる管理対象のデバイスでない場合には、図１６のフローチャートによる処理を終了する。一方、通信相手のデバイス２０００が、ＵＰｎＰによる管理対象のデバイスである場合には、ステップＳ３０６に進む。
【００５６】
次に、第一デバイス管理制御部１７１２は、取得したMetadataから、ドライバの配信に必要な"デバイス２０００の特性を示す情報"を第一情報保管部１７１５に記憶する（ステップＳ３０６）。尚、以下の説明では、デバイス２０００の特性を示す情報を、必要に応じてデバイス特性情報と称する。
ここでは、デバイス番号「Dev-1」という印刷機能を有するデバイス２０００を検知し、そのMetadataを取得したところ、以下の内容を含むデバイス特性情報が得られたとする。
Ｍａｃアドレス：AA-BB-CC-DD-EE-01
ＵＰｎＰＩＤ：ＵＰｎＰ＿4E0F
ＩＰアドレス：aaa.bbb.ccc.101
カラー印刷：COLOR
印刷速度：４０
フィニッシング機能：None
【００５７】
ここで、カラー印刷「COLOR」とは、検知したデバイス２０００がカラー印刷機能を有することを意味する。また、印刷速度「４０」とは、検知したデバイス２０００の印刷速度が４０ｐｐｍであることを意味する。更にフィニッシング機能「None」とは、検知したデバイス２０００が、フィニッシング機能を有していない通常の排紙口機能のみであることを意味する。
【００５８】
図１７は、第一情報保管部１７１５にデバイス特性情報を記憶するためのテーブルの一例を概念的に示す図である。
図１７に示すテーブル２３０には、ＵＰｎＰデバイス２０００に関する情報として、Ｍａｃアドレス、ＵＰｎＰＩＤ、ＩＰアドレス、カラー印刷の有無、印刷速度、及びフィニッシング機能が、互いに関連付けられて登録される。
尚、Ｍａｃアドレスは、同じ種類のデバイス区別のために用いられるものである。
更に、ＵＰｎＰＩＤは、ドライバのＩＮＦに記述されるユニバーサルプラグアンドプレイ用のＩＤを意味する。すなわち、ＵＰｎＰＩＤが分かれば、ドライバのＩＮＦを検証することにより、対応するドライバであるか否かが判断できる。
【００５９】
次に、第一デバイス管理制御部１７１２は、第一ドライバ管理制御部１７１４に対して、ＵＰｎＰデバイス２０００を検知し、第一情報保管部１７１５に、デバイス特性情報を記憶したことを通知する（ステップＳ３０７）。
この通知には、Ｗｅｂサービス等の通信方式を採ることができる。また、通知を行わずに、デバイス特性情報が、ファイルに記述されたり、データベースに保存されたりしたことを第一ドライバ管理制御部１７１４が定期的に監視することも可能である。
以上のステップＳ３０５〜Ｓ３０７が、図１のステップＳ２のＵＰｎＰデバイス管理処理の詳細である。
【００６０】
次に、図１のステップＳ３のＵＰｎＰデバイスとドライバの自動関連付け処理の詳細について説明する。
第一ドライバ管理制御部１７１４は、第一情報保管部１７１５にアクセスし、ドライバを特定するためのデバイス特性情報が存在するか否かを判定する（ステップＳ３０８）。この判定の結果、ドライバを特定するためのデバイス特性情報が存在しない場合には、図１６のフローチャートによる処理を終了する。一方、ドライバを特定するためのデバイス特性情報が存在する場合には、ステップＳ３０９に進む。
ここでは、先のステップＳ３０６で記憶されたデバイス特性情報（図１７を参照）の中のＵＰｎＰＩＤとして「UPnP＿4E0F」を取得したものとする。
【００６１】
次に、第一ドライバ管理制御部１７１４は、第一ドライバ保管部１７１６にアクセスし、ステップＳ３０６にて取得したＵＰｎＰＩＤと合致するドライバが存在するか否かを判定する（ステップＳ３０９）。この判定の結果、ステップＳ３０６にて取得したＵＰｎＰＩＤと合致するドライバが存在しない場合には、図１６のフローチャートによる処理を終了する。一方、ステップＳ３０６にて取得したＵＰｎＰＩＤと合致するドライバが存在する場合には、ステップＳ３１０に進む。
図１８は、第一ドライバ保管部１７１６にドライバの情報を記憶するためのテーブルの一例を概念的に示す図である。
図１８に示すテーブル２４０には、ドライバＩＤとＵＰｎＰＩＤとが互いに関連付けられて登録されている。
【００６２】
前述した例では、ステップＳ３０９において、第一ドライバ管理制御部１７１４は、DRIVER00が合致したドライバであると判断する（図１７及び図１８を参照）。
この場合、ＵＰｎＰＩＤが「UPnP＿4E0F」のデバイス２０００である"デバイス番号が「Dev-1」のデバイス２０００と、ドライバＩＤが「DRIVER00」であるドライバとが関係付けられる（図１７及び図１８を参照）。そこで、第一ドライバ管理制御部１７１４は、デバイス番号が「Dev-1」のデバイス２０００と、ドライバＩＤが「DRIVER00」であるドライバとを関連付けて第一情報保管部１７１５に記憶する（ステップＳ３１０）。
図１９は、第一情報保管部１７１５に、デバイス２０００とドライバとを関連付けて記憶するためのテーブルの一例を示す図である。
図１９に示すテーブル２５０には、関連付けＩＤ、デバイス番号、及びドライバＩＤが互いに関連付けられて登録されている。具体的に、図１９に示すテーブル２５０において、関連付けＩＤ「Connect-01」には、デバイス番号「Dev-1」とドライバＩＤ「DRIVER00」とが関連付けられている。
このように本実施形態では、少なくともステップＳ３１０の処理を行うことにより、関連付け手段の一例が実現される。
以上のステップＳ３０８〜Ｓ３１０が、図１のステップＳ３のＵＰｎＰデバイスとドライバの自動関連付け処理の詳細である。
【００６３】
次に、図１のステップＳ４のドライバ配信クライアント情報取得処理の詳細について説明する。
第一ドライバ管理制御部１７１４は、第一情報保管部１７１５に記憶されているテーブル１１０へアクセスする（図１０を参照）。そして、第一ドライバ管理制御部１７１４は、図１７に示したテーブル２３０のデバイス特性情報と合致するデバイス特性ＩＤが存在し、且つそのデバイス特性ＩＤに関連付いた選択クライアントＩＤがするか否かを判定する（ステップＳ３１１）。この判定の結果、テーブル２３０のデバイス特性情報と合致するデバイス特性ＩＤと、そのデバイス特性ＩＤに関連付いた選択クライアントＩＤとが存在しない場合には、図１６のフローチャートによる処理を終了する。一方、テーブル２３０のデバイス特性情報と合致するデバイス特性ＩＤと、そのデバイス特性ＩＤに関連付いた選択クライアントＩＤとが存在する場合には、ステップＳ３１２に進む。
前述した例では、図１７に示したテーブル２３０のデバイス特性情報は、図１１〜１３に示したテーブル１１１〜１１３の内容を持つデバイス特性ＩＤ「SelectedDevAttr-1」と合致する。
【００６４】
更に、第一ドライバ管理制御部１７１４は、図１５に示したテーブル１１５へアクセスし、テーブル２３０のデバイス特性情報と合致すると判定されたデバイス特性ＩＤに関連付けられた選択クライアントＩＤを検出する（ステップＳ３１２）。前述した例では、ステップＳ３１１で合致すると判定されたデバイス特性ＩＤ「SelectedDevAttr-1」に関連付けられた選択クライアントＩＤとして「SelectedClients-1」が検出される。
更に、第一ドライバ管理制御部１７１４は、図１４に示したテーブル１１４にアクセスし、検出した選択クライアントＩＤに関連付けられた選択クライアントを検出する（ステップＳ３１３）。前述した例では、検出した選択クライアントＩＤ「SelectedClients-1」から、「CLIENT00」と「CLIENT02」が、ドライバの配布先のクライアントであることを検出する。
以上のステップＳ３１１〜Ｓ３１３が、図１のステップＳ４のドライバ配信クライアント情報取得処理の詳細である。
【００６５】
次に、図１のステップＳ５のデバイス能力対応処理の詳細について説明する。
第一ドライバ管理制御部１７１４は、第一情報保管部１７１５へアクセスし、先のステップＳ３０６において第一デバイス管理制御部１７１２が第一情報保管部１７１５に記憶したデバイス特性情報を取得する（ステップＳ４００）。
前述した例では、図１７に示したテーブル２３０からデバイス番号が「Dev-1」のデバイス特性情報が取得される。
【００６６】
次に、第一ドライバ管理制御部１７１４は、デバイス２０００の第二ＵＰｎＰ制御部２７２０が、リモートでのＵＰｎＰユニキャスト設定を行うことが可能であるか否かを判定する（ステップＳ４０１）。この判定の結果、デバイス２０００の第二ＵＰｎＰ制御部２７２０が、リモートでのＵＰｎＰユニキャスト設定を行うことが可能である場合には、後述するステップＳ４０２に進む。
一方、デバイス２０００の第二ＵＰｎＰ制御部２７２０が、リモートでのＵＰｎＰユニキャスト設定を行うことが可能でない場合には、ステップＳ４０７に進む。ステップＳ４０７に進むと、第一ドライバ管理制御部１７１４は、ＵＰｎＰ擬似処理を行えるか否かを判定する。この判定の結果、ＵＰｎＰ擬似処理を行えない場合には、図１６のフローチャートによる処理を終了する。一方、ＵＰｎＰ擬似処理を行える場合には、図１６−３のステップＳ５００に進む。そして、第一ドライバ管理制御部１７１４は、デバイス２０００に対するＵＰｎＰ擬似処理を行う。ここで、ＵＰｎＰ擬似処理とは、擬似ＵＰｎＰ機能の実行を意味する。具体的に説明すると、擬似ＵＰｎＰ処理とは、ステップＳ３０１、Ｓ３０５にて第一デバイス管理制御部１７１２が取得した"第二ＵＰｎＰ制御部２７２０からのＨｅｌｌｏメッセージやMetadata"の生成と発行ができることを意味する。
以上のように本実施形態では、少なくともステップＳ４０１、Ｓ４０７の処理を行うことにより、判定手段の一例が実現される。いわば、擬似ＵＰｎＰ処理の能力とは、１対１接続の探索プロトコルに従ってドライバをプラグアンドプレイでインストールさせる能力の一例である。
【００６７】
以下に、図１６−３を参照しながら、第一ドライバ管理制御部１７１４のＵＰｎＰ擬似処理の詳細を説明する。
【００６８】
第一ドライバ管理制御部１７１４は、先のステップＳ３０１で、第一デバイス管理制御部１７１２が取得したＨｅｌｌｏメッセージを生成する（ステップＳ５００）。ただし、Ｈｅｌｌｏメッセージ内に記述する返信先（ReplyTo）は、管理サーバ１０００のアドレスとなる。
尚、ステップＳ５００において、Ｈｅｌｌｏメッセージを最初から生成することに代えて、次のようにしてＨｅｌｌｏメッセージを得るようにしてもよい。すなわち、先のステップＳ３０１で第一デバイス管理制御部１７１２が取得したＨｅｌｌｏメッセージを、第一デバイス管理制御部１７１２が第一情報保管部１７１５に記憶しておき、このＨｅｌｌｏメッセージを活用してもよい。このようにした場合、第一ドライバ管理制御部１７１４は、第一情報保管部１７１５からＨｅｌｌｏメッセージを読み出し、読み出したＨｅｌｌｏメッセージに基づいて、返信先を管理サーバ１０００のアドレスとするＨｅｌｌｏメッセージを得ることになる。
【００６９】
次に、第一ドライバ管理制御部１７１４は、ターゲットとなるドライバ配信クライアント４０００に対して、Ｈｅｌｌｏメッセージを発行する（ステップＳ５０１）。
前述した例では、デバイス番号「Dev-1」に関連付けられている"「DRIVER00」のドライバ"の配布先である"「CLIENT00」と「CLIENT02」のドライバ配信クライアント４０００"に、Ｈｅｌｌｏメッセージが発行される。
次に、ドライバ配信クライアント４０００の第四ＵＰｎＰ制御部４７２０は、Ｈｅｌｌｏメッセージを受信するまで待機する（ステップＳ５０２）。そして、Ｈｅｌｌｏメッセージを受信すると、第四ＵＰｎＰ制御部４７２０は、第一ＵＰｎＰ制御部１７２０に、GetMetadataメッセージを発行し、デバイスメタデータの取得を依頼する（ステップＳ５０３)。
次に、第一ドライバ管理制御部１７１４は、第一ＵＰｎＰ制御部１７２０を経由してGetMetadataメッセージを取得するまで待機する（ステップＳ５０４）。そして、GetMetadataメッセージを取得すると、第一ドライバ管理制御部１７１４は、Metadataメッセージを生成する（ステップＳ５０５）。前述した例では、第一ドライバ管理制御部１７１４は、図１７に示した「Dev-1」のデバイス特性情報と、そのデバイス番号「Dev-1」に対応するドライバＩＤ「DRIVER00」の情報とに基づいて、Metadataメッセージを生成する。ここで、デバイス番号「Dev-1」に対応するドライバＩＤ「DRIVER00」の情報とは、第一ドライバ保管部１７１６に保管されている"ドライバＩＤが「DRIVER00」のドライバ"の所在を示すアドレス情報を意味する。
【００７０】
次に、第一ドライバ管理制御部１７１４は、第一ＵＰｎＰ制御部１７２０を介して、第四ＵＰｎＰ制御部４７２０に対して、ステップＳ５０５で生成したMetadataメッセージを発行する（ステップＳ５０６）。
次に、第四ＵＰｎＰ制御部４７２０は、ステップＳ５０５で発行されたMetadataメッセージを取得するまで待機する（ステップＳ５０７）。そして、Metadataメッセージを取得すると、第四ＵＰｎＰ制御部４７２０は、Metadataメッセージを解析する（ステップＳ５０８）。具体的に、第四ＵＰｎＰ制御部４７２０は、デバイス２０００のＩＰアドレスといった接続先情報や、ドライバＩＤが「DRIVER00」であるドライバの所在の情報を、Metadataメッセージから取得する。
【００７１】
次に、第四ＵＰｎＰ制御部４７２０は、ドライバのインストールを行う（ステップＳ５０９）。このドライバのインストールには、第四ＵＰｎＰ制御部４７２０が、第四表示部４１００に対して、ＧＵＩを表示する等してドライバのインストールの要求を出し、ドライバのインストールに必要な操作をユーザに促す処理が含まれる。そして、図１６のフローチャートによる処理を終了する。
以上のように本実施形態では、少なくともステップＳ５００、Ｓ５０１、Ｓ５０４、Ｓ５０６の処理を行うことにより、処理手段の一例が実現される。
【００７２】
図１６−２のステップＳ４０１において、デバイス２０００の第二ＵＰｎＰ制御部２７２０が、リモートでのＵＰｎＰユニキャスト設定を行うことが可能であると判定された場合には、後述するステップＳ４０２に進む。
ここで、リモートでのＵＰｎＰユニキャスト設定とは、複数のＩＰアドレスやコンピュータ名を、デバイス設定の一部として外部から設定することにより、第二リモート制御部２７１０が、第二ＵＰｎＰ制御部２７２０に対して、ＵＰｎＰ実行を促すことである。本実施形態において、外部からの設定とは、第一デバイス管理制御部１７１２が第一タスク管理制御部１７１３を経由してデバイス設定を行うことを意味する。
【００７３】
通常、デバイス設定において、ＭＩＢ設定には、ＳＮＭＰが用いられ、ベンダー独自のデバイス設定には、ベンダー独自のプロトコルが用いられる。この点は本実施形態においても同様であり、ＵＰｎＰユニキャスト設定は、デバイス設定の一部として位置付くものである。
また、ＵＰｎＰユニキャスト設定が可能であるか否かの判断は、第一ドライバ管理制御部１７１４が、第二リモート制御部２７１０に対して、デバイス２０００のデバイス設定能力を問い合わせ、その問い合わせた結果に基づいて行われる。
すなわち、第一デバイス管理制御部１７１２は、第一タスク管理制御部１７１３を経由して、第二リモート制御部２７１０に対して、ユニキャストでのＵＰｎＰの設定をリモートで行うことが可能であるか否かを問い合わせる。そして、第一デバイス管理制御部１７１２は、その問い合わせの結果に基づいて、ＵＰｎＰユニキャスト設定が可能であるか否かを判断する。尚、第一デバイス管理制御部１７１２は、デバイス２０００の第二リモート制御部２７１０に対する問い合わせを、前述したＳＮＭＰや、独自のプロトコルを用いて行う。
【００７４】
ステップＳ４０２に進むと、第一ドライバ管理制御部１７１４は、第一情報保管部１７１５に対して、デバイスＵＰｎＰ能力フラグとして「Type-1」を設定する（ステップＳ４０２）。
図２０は、第一情報保管部１７１５にデバイスＵＰｎＰ能力フラグを記憶するためのテーブルの一例を概念的に示す図である。
ここで、デバイスＵＰｎＰ能力フラグとは、デバイス２０００が、ユニキャストでのＵＰｎＰの設定を外部からの設定に基づいて行う際の能力であるＵＰｎＰ設定能力を示すフラグである。尚、デバイスＵＰｎＰ能力フラグは、第一情報保管部１７１５以外の"メモリ、レジストリ、又はファイル"等に記憶することも可能である。
【００７５】
次に、第一ドライバ管理制御部１７１４は、デバイス２０００の第二ＵＰｎＰ制御部２７２０が、インストールの対象となるドライバの所在をデバイス設定の一部として設定できるか否かを判定する（ステップＳ４０３）。前述した例では、ドライバＩＤが「DRIVER00」であるドライバの所在をデバイス設定の一部として設定可能であるか否かを判定する。ここで、ドライバの所在とは、ドライバが格納されている第一ドライバ保管部１７１６から、該当するドライバを取得するためのアドレスを意味する。また、この判定は、前述したステップＳ３０５で取得したデバイスメタデータに基づいて行われる。
この判定の結果、デバイス２０００が、インストールの対象となるドライバの所在をデバイス設定の一部として設定できないと判定された場合には、後述する図１６−４のステップＳ６００に進み、そうでない場合には、ステップＳ４０４に進む。
【００７６】
ステップＳ４０４に進むと、第一ドライバ管理制御部１７１４は、第一情報保管部１７１５に記憶されている"図２０に示したテーブル２６０"に対して、デバイスＵＰｎＰ能力フラグとして「Type-2」を設定する（ステップＳ４０４）。
次に、第一ドライバ管理制御部１７１４は、デバイス２０００の第二ＵＰｎＰ制御部２７２０が、インストールの対象となるドライバ自体を、デバイス２０００の第二記憶部２４００にアップロードできるか否かを判定する（ステップＳ４０５）。前述した例では、ドライバＩＤが「DRIVER00」であるドライバ自体をデバイス２０００の第二記憶部２４００にアップロードできるか否かを判定する。ここで、ドライバのアップロードとは、ドライバが格納されている第一ドライバ保管部１７１６から、該当するドライバをデバイス２０００の第二記憶部２４００に格納することを意味する。また、この判定は、前述したステップＳ３０５で取得したデバイスメタデータに基づいて行われる。
この判定の結果、インストールの対象となるドライバ自体を、デバイス２０００の第二記憶部２４００にアップロードできないと判定された場合には、後述する図１６−４のステップＳ６００に進み、そうでない場合には、ステップＳ４０６に進む。
ステップＳ４０６に進むと、第一ドライバ管理制御部１７１４は、第一情報保管部１７１５に記憶されている"図２０に示したテーブル２６０"に対して、デバイスＵＰｎＰ能力フラグとして「Type-3」を設定する（ステップＳ４０６）。ここで、Type-1,2,3は、１対１接続の探索プロトコル従いドライバをインストールすることに関わる能力情報の一例である
【００７７】
以上のように本実施形態においては、第一ドライバ管理制御部１７１４は、デバイス２０００における"ＵＰｎＰに関する能力（の程度）"に応じて、３つのタイプの何れであるかを判定する。そして、その判定した結果を第一情報保管部１７１５のテーブル２６０に記憶することとなる。
【００７８】
次に、図１のステップＳ５のデバイス能力対応処理の詳細の続きと、ステップ６のドライバインストール処理の詳細を、図１６−４を用いて説明する。
図１６−４のステップＳ６００に進むと、第一ドライバ管理制御部１７１４は、第一情報保管部１７１５のテーブル２６０に記憶されている"デバイスＵＰｎＰ能力フラグ"の設定値を判定する（ステップＳ６００）。この判定の結果、デバイスＵＰｎＰ能力フラグの設定値が「Type-1」の場合にはステップＳ６０１に進み、「Type-2」の場合にはステップＳ６０２に進み、「Type-3」の場合にはステップＳ６０３に進む。このように本実施形態では、少なくともステップＳ６００の処理を行うことにより、第２の判定手段の一例が実現される。
【００７９】
デバイスＵＰｎＰ能力フラグが「Type-1」である場合、第一ドライバ管理制御部１７１４は、ターゲットとなるドライバ配信クライアント４０００のＩＰアドレス情報を含むタスクの生成を第一デバイス管理制御部１７１２に指示する（ステップＳ６０１）。前述した例では、「CLIENT00」、「CLIENT02」のＩＰアドレス情報を含むタスクの生成が指示される（図８、図１４を参照）。このように本実施形態では、デバイスＵＰｎＰ能力フラグが「Type-1」である場合に、デバイス２０００は第１の能力を有することになる。
【００８０】
デバイスＵＰｎＰ能力フラグが「Type-2」である場合、第一ドライバ管理制御部１７１４は、次の指示を第一デバイス管理制御部１７１２に対して行う（ステップＳ６０２）。すなわち、第一ドライバ管理制御部１７１４は、ターゲットとなるドライバ配信クライアント４０００のＩＰアドレス情報と、インストール対象のドライバの所在情報とを含むタスクの生成を第一デバイス管理制御部１７１２に指示する。前述した例では、「CLIENT00」、「CLIENT02」のＩＰアドレス情報と、「DRIVER00」の所在情報とを含むタスクの生成が第一デバイス管理制御部１７１２に指示される。このように本実施形態では、デバイスＵＰｎＰ能力フラグが「Type-2」である場合に、デバイス２０００は第２の能力を有することになる。
【００８１】
デバイスＵＰｎＰ能力フラグが「Type-3」である場合、第一ドライバ管理制御部１７１４は、次の指示を第一デバイス管理制御部１７１２に対して行う（ステップＳ６０３）。すなわち、第一ドライバ管理制御部１７１４は、ターゲットとなるドライバ配信クライアント４０００のＩＰアドレス情報と、インストール対象のドライバとを含むタスクの生成を指示する。前述した例では、「CLIENT00」、「CLIENT02」のＩＰアドレス情報と、「DRIVER00」とを含むタスクの生成が第一デバイス管理制御部１７１２に指示される。このように本実施形態では、デバイスＵＰｎＰ能力フラグが「Type-3」である場合に、デバイス２０００は第３の能力を有することになる。
【００８２】
次に、第一デバイス管理制御部１７１２は、以上のようにして指示された内容に従い、即時実行のデバイス設定タスクを作成し、第一タスク管理制御部１７１３に、生成したデバイス設定タスクの登録を行う（ステップＳ６０４）。
次に、第一タスク管理制御部１７１３は、第二リモート制御部２７１０に対して、ステップＳ６０４で登録されたデバイス設定タスクを発行する（ステップＳ６０５）。
以上のように本実施形態では、少なくともステップＳ６０１〜Ｓ６０５の処理を行うことにより、処理手段の一例が実現される。
【００８３】
デバイス２０００の第二リモート制御部２７１０は、ステップＳ６０５で発行されたデバイス設定タスクを取得するまで待機する（ステップＳ６０６）。そして、デバイス設定タスクを取得すると、第二リモート制御部２７１０は、取得したデバイス設定タスクの内容に従う指示を、第二ＵＰｎＰ制御部２７２０に対して行う（ステップＳ６０７）。すなわち、第二ＵＰｎＰ制御部２７２０では、指定されたドライバ配信クライアント４０００の第四ＵＰｎＰ制御部にＨｅｌｌｏメッセージを発行する。前述した例では、第二ＵＰｎＰ制御部２７２０は、ターゲットとなるドライバ配信クライアント４０００にである「CLIENT00」と「CLIENT02」の第四ＵＰｎＰ制御部４７２０にＨｅｌｌｏメッセージが発行される。
【００８４】
次に、ドライバ配信クライアント４０００の第四ＵＰｎＰ制御部４７２０は、ステップＳ６０７で発行されたＨｅｌｌｏメッセージを取得するまで待機する（ステップＳ６０８）。そして、Ｈｅｌｌｏメッセージを取得すると、第四ＵＰｎＰ制御部４７２０は、第二ＵＰｎＰ制御部２７２０に、GetMetadataメッセージ（デバイスメタデータ）を発行する（ステップＳ６０９）。
【００８５】
次に、デバイス２０００の第二ＵＰｎＰ制御部２７２０は、ステップＳ６０９で発行されたGetMetadataメッセージを取得するまで待機する（ステップＳ６１０）。そして、GetMetadataメッセージを取得すると、第二ＵＰｎＰ制御部２７２０は、次の処理を行う。すなわち、第二ＵＰｎＰ制御部２７２０は、ステップＳ６０５において、デバイスＵＰｎＰ能力フラグの設定値に基づいて設定されたデバイス設定タスクの情報を含んだMetadetaメッセージを生成する（ステップＳ６１１）。
次に、第二ＵＰｎＰ制御部２７２０は、第四ＵＰｎＰ制御部４７２０に対して、ステップＳ６１１で生成したMetadataメッセージを発行する（ステップＳ６１２）。
次に、ドライバ配信クライアント４０００の第四ＵＰｎＰ制御部４７２０は、ステップＳ６１２で発行されたMetadataメッセージを取得するまで待機する（ステップＳ６１３）。そして、Metadataメッセージを取得すると、第四ＵＰｎＰ制御部４７２０は、取得したMetadataメッセージを解析する（ステップＳ６１４）。具体的に、第四ＵＰｎＰ制御部４７２０は、取得したMetadataメッセージに基づいて、デバイス２０００のＩＰアドレスといった接続先情報や、ドライバの所在情報又はドライバそのものを取得する。前述した例では、デバイス番号が「Dev-1」のデバイス２０００のＩＰアドレス情報と、ドライバＩＤが「DRIVER00」であるドライバの所在情報、又はドライバＩＤが「DRIVER00」であるドライバ自体とが取得される。
そして、第四ＵＰｎＰ制御部４７２０は、ステップＳ６１４の解析結果に基づいて、ドライバのインストールを行う（ステップＳ６１５）。このドライバのインストールには、第四ＵＰｎＰ制御部４７２０が、第四表示部４１００に対して、ＧＵＩを表示する等してドライバのインストールの要求を出し、ドライバのインストールに必要な操作をユーザに促す処理が含まれる。そして、図１６のフローチャートによる処理を終了する。更に、デバイスＵＰｎＰ能力フラグが「Type-2」である場合には、ドライバのインストール要求には、ドライバの所在情報をＧＵＩ等に表示する処理が含まれる。一方、デバイスＵＰｎＰ能力フラグが「Type-3」である場合には、ドライバのインストール要求には、ドライバ自体が第四記憶部４４００に存在している情報をＧＵＩ等に表示する処理が含まれる。そして、図１６のフローチャートによる処理を終了する。
【００８６】
以上のように本実施形態では、デバイス２０００は、ネットワークに接続すると、ネットワーク参加メッセージ（Helloメッセージ）を、ＵＰｎＰプロトコルに従い、ユニキャストで管理サーバ１０００に発行する。管理サーバ１０００は、ネットワーク参加メッセージに対する返答を行って、デバイスメタデータを取得し、デバイスメタデータに含まれるデバイス特性情報と、そのデバイス特性情報に対応するドライバとを関連付ける。更に、管理サーバ１０００は、デバイスメタデータに含まれるデバイス特性情報に予め関連付けられたドライバ配信クライアント４０００を検出する。そして、管理サーバ１０００は、デバイス２０００及び管理サーバ１０００の能力に応じて、ドライバをインストールするために行う処理の方法（内容）を異ならせる。具体的に管理サーバ１０００は、デバイス２０００がリモートでのＵＰｎＰユニキャスト設定を行える場合には、そのＵＰｎＰユニキャスト設定の能力に応じたタスクを生成する。デバイス２０００は、そのタスクに基づいて、ドライバのインストールをドライバ配信クライアント４０００に実行させる。また、管理サーバ１０００は、ＵＰｎＰ擬似処理を行える場合には、そのＵＰｎＰ擬似処理を利用して、ドライバのインストールをドライバ配信クライアント４０００に実行させる。したがって、デバイス２０００の"ＵＰｎＰユニキャスト設定"の能力や、管理サーバ１０００の"ＵＰｎＰ擬似処理"の能力に拘らず、インストールしたドライバを管理サーバ１０００が一元的に管理することができる。そして、ドライバ配信クライアント４０００がクライアントエージェントを備えていなくても、デバイス２０００の能力や、管理サーバ１０００の能力に応じて、ドライバ配信クライアント４０００に適切なドライバをインストールすることを可能となる。以上のようにすることにより、ユーザビリティが向上すると共に管理が容易になる。したがって、管理コストの低減と、業務の高効率化とによるＴＣＯ（total cost of ownership）の削減を向上することができる。
【００８７】
尚、本実施形態では、リモードでのＵＰｎＰユニキャスト設定が可能でない場合に、擬似ＵＰｎＰ機能を有するか否かを判定するようにした（すなわち、ステップＳ４０１の後にステップＳ４０７を行うようにした）。しかしながら、必ずしもこのようにする必要はない。すなわち、擬似ＵＰｎＰ機能を有していない場合に、リモードでのＵＰｎＰユニキャスト設定が可能か否かを判定するようにしてもよい（すなわち、ステップＳ４０７の後にステップＳ４０１を行うようにしてもよい）。
また、本実施形態では、リモードでのＵＰｎＰユニキャスト設定が可能であるか否かと、擬似ＵＰｎＰ機能を有するか否かとの双方を判定するようにしたが、これらのうちの何れか一方のみを判定するようにしてもよい。
【００８８】
（本発明の他の実施形態）
前述した本発明の実施形態におけるドライバ管理装置、クライアント端末装置を構成する各手段、並びにドライバ管理方法の各ステップは、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００８９】
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００９０】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図４、５、１９に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接、あるいは遠隔から供給する場合も含む。そして、本発明は、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も含む。
【００９１】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００９２】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００９３】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【００９４】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００９５】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００９６】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００９７】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００９８】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【００９９】
尚、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【０１００】
【図１】本発明の実施形態を示し、印刷システムの構成の一例を示す図である。
【図２】本発明の実施形態を示し、デバイスが有するＵＰｎＰの機能を管理サーバが擬似的に有する場合における印刷システムの動作の一例を概念的に示す図である。
【図３】本発明の実施形態を示し、管理サーバが、デバイスの擬似ＵＰｎＰ機能を有さず、デバイスのリモート設定機能を利用する場合における印刷システムの動作の一例を概念的に示す図である。
【図４】本発明の実施形態を示し、印刷システムにおける基本的な動作の一例を説明するフローチャートである。
【図５】本発明の実施形態を示し、デバイス特性とドライバ配信クライアントとを関連付ける際の管理サーバにおける動作の一例を説明するフローチャートである。
【図６】本発明の実施形態を示し、［デバイス特性とクライアント関連付け］メニューが選択された場合に表示されるＵＩ画面の一例を示す図である。
【図７】本発明の実施形態を示し、デバイス特性と関連付けるドライバ配信クライアントを選択するためのＵＩ画面の一例を示す図である。
【図８】本発明の実施形態を示し、第一情報保管部に予め記憶されている"ドライバ配信クライアントに関するテーブル"の一例を概念的に示す図である。
【図９】本発明の実施形態を示し、図６及び図７に示したＵＩ画面の選択内容の確認と登録とを行うためのＵＩ画面の一例を示す図である。
【図１０】本発明の実施形態を示し、図６に示したＵＩ画面の設定内容を記憶する第１のテーブルの例を示す図である。
【図１１】本発明の実施形態を示し、図６に示したＵＩ画面の設定内容を記憶する第２のテーブルの例を示す図である。
【図１２】本発明の実施形態を示し、図６に示したＵＩ画面の設定内容を記憶する第３のテーブルの例を示す図である。
【図１３】本発明の実施形態を示し、図６に示したＵＩ画面の設定内容を記憶する第４のテーブルの例を示す図である。
【図１４】本発明の実施形態を示し、図７に示したＵＩ画面の設定内容を記憶するテーブルの一例を示す図である。
【図１５】本発明の実施形態を示し、デバイス特性とドライバ配信クライアントとを関連付けて記憶するテーブルの一例を示す図である。
【図１６−１】本発明の実施形態を示し、印刷システムにおける詳細な動作の一例を説明するフローチャートである。
【図１６−２】本発明の実施形態を示し、図１６−１に続くフローチャートである。
【図１６−３】本発明の実施形態を示し、図１６−２に続くフローチャートである。
【図１６−４】本発明の実施形態を示し、図１６−２に続くフローチャートである。
【図１７】本発明の実施形態を示し、第一情報保管部にデバイス特性情報を記憶するためのテーブルの一例を概念的に示す図である。
【図１８】本発明の実施形態を示し、第一ドライバ保管部にドライバの情報を記憶するためのテーブルの一例を概念的に示す図である。
【図１９】本発明の実施形態を示し、第一情報保管部にデバイスとドライバとを関連付けて記憶するためのテーブルの一例を示す図である。
【図２０】本発明の実施形態を示し、第一情報保管部にデバイスＵＰｎＰ能力フラグを記憶するためのテーブルの一例を概念的に示す図である。
【符号の説明】
【０１０１】
１０００  管理サーバ
２０００  デバイス
３０００  管理者クライアント
４０００  ドライバ配信クライアント
５０００  通信回線
【図１】
0004936551.tif 000002
【図２】
0004936551.tif 000003
【図３】
0004936551.tif 000004
【図４】
0004936551.tif 000005
【図５】
0004936551.tif 000006
【図６】
0004936551.tif 000007
【図７】
0004936551.tif 000008
【図８】
0004936551.tif 000009
【図９】
0004936551.tif 000010
【図１０】
0004936551.tif 000011
【図１１】
0004936551.tif 000012
【図１２】
0004936551.tif 000013
【図１３】
0004936551.tif 000014
【図１４】
0004936551.tif 000015
【図１５】
0004936551.tif 000016
【図１６−１】
0004936551.tif 000017
【図１６−２】
0004936551.tif 000018
【図１６−３】
0004936551.tif 000019
【図１６−４】
0004936551.tif 000020
【図１７】
0004936551.tif 000021
【図１８】
0004936551.tif 000022
【図１９】
0004936551.tif 000023
【図２０】
0004936551.tif 000024