(57)【要約】【課題】  ネットワーク上の、意図したネットワークデバイスのみのデバイスドライバの自動インストールを行うことを可能にする。【解決手段】  クライアント端末１００とインストールしようとするネットワーク対応デバイス２００双方で、一時的に認識するための識別情報を入力する。ネットワーク対応デバイス２００は、この識別情報の入力が行われると、その識別情報を記述したネットワーク参加するためのＨｅｌｌｏメッセージをマルチキャスト送信する。クライアント端末１００は、このＨｅｌｌｏメッセージを受信し、その中に入力した識別情報と一致する情報が記述されている場合には、ＵＰｎＰに基づく処理に移行する。また、識別情報に一致する記述を含まないＨｅｌｌｏメッセージを受信した場合には、ＯＳにそのメッセージを通知しない。【選択図】  図１
2007066092.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク通信手段を搭載可能で、当該ネットワーク通信手段を介してネットワークデバイスを検出し、該当するデバイスドライバを自動インストールするＯＳを搭載した情報処理装置であって、
デバイスドライバをインストールしようとしているネットワークデバイスを一時的に認識するための識別情報を入力する入力手段と、
ネットワーク上のネットワークデバイスが発行するネットワーク参加メッセージを前記ネットワーク通信手段を介して受信した場合、当該ネットワーク参加メッセージ中に、前記入力手段で入力された識別情報と一致する識別情報が記述されているか否かを判断する判断手段と、
該判断手段で前記入力手段で入力した識別情報と一致する識別情報が前記ネットワーク参加メッセージ中に記述されていないと判断した場合には、当該ネットワーク参加メッセージの前記ＯＳへの通知を遮断し、該判断手段で前記入力手段で入力した識別情報と一致する識別情報が前記ネットワーク参加メッセージ中に記述されていると判断した場合には、当該ネットワーク参加メッセージを前記ＯＳへの通知する制御する制御手段と
を備えることを特徴とする情報処理装置。
【請求項２】
更に、前記入力手段で前記識別情報の入力から所定時間内に、入力した識別情報と一致する記述を含むネットワーク参加メッセージを受信しなかった場合、及び、一致する識別情報を含むネットワーク参加メッセージを受信した場合、前記入力手段で入力した識別情報を消去する消去手段を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
ネットワーク通信手段を搭載可能で、当該ネットワーク通信手段を介してネットワークデバイスを検出し、該当するデバイスドライバを自動インストールするＯＳを搭載した情報処理装置の制御方法であって、
デバイスドライバをインストールしようとしているネットワークデバイスを一時的に認識するための識別情報を入力する入力工程と、
ネットワーク上のネットワークデバイスが発行するネットワーク参加メッセージを前記ネットワーク通信手段を介して受信した場合、当該ネットワーク参加メッセージ中に、前記入力工程で入力された識別情報と一致する識別情報が記述されているか否かを判断する判断工程と、
該判断工程で、前記入力工程で入力した識別情報と一致する識別情報が前記ネットワーク参加メッセージ中に記述されていないと判断した場合には、当該ネットワーク参加メッセージの前記ＯＳへの通知を遮断し、該判断工程で前記入力工程で入力した識別情報と一致する識別情報が前記ネットワーク参加メッセージ中に記述されていると判断した場合には、当該ネットワーク参加メッセージを前記ＯＳへの通知する制御する制御工程と
を備えることを特徴とする情報処理装置の制御方法。
【請求項４】
ネットワーク通信手段を搭載可能で、当該ネットワーク通信手段を介してネットワークデバイスを検出し、該当するデバイスドライバを自動インストールするＯＳを搭載した情報処理装置用のコンピュータプログラムであって、
デバイスドライバをインストールしようとしているネットワークデバイスを一時的に認識するための識別情報を入力する入力手段と、
ネットワーク上のネットワークデバイスが発行するネットワーク参加メッセージを前記ネットワーク通信手段を介して受信した場合、当該ネットワーク参加メッセージ中に、前記入力手段で入力された識別情報と一致する識別情報が記述されているか否かを判断する判断手段と、
該判断手段で前記入力手段で入力した識別情報と一致する識別情報が前記ネットワーク参加メッセージ中に記述されていないと判断した場合には、当該ネットワーク参加メッセージの前記ＯＳへの通知を遮断し、該判断手段で前記入力手段で入力した識別情報と一致する識別情報が前記ネットワーク参加メッセージ中に記述されていると判断した場合には、当該ネットワーク参加メッセージを前記ＯＳへの通知する制御する制御手段
として機能することを特徴とするコンピュータプログラム。
【請求項５】
請求項４に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【請求項６】
ネットワークに接続可能で、ネットワークからの要求に応えて所定の処理を実行するネットワークデバイスであって、
デバイスドライバをインストールする情報処理装置に一時的に自身を認識させるための識別情報を入力する入力手段と、
該入力手段で入力された識別情報を記述したネットワーク参加メッセージを前記ネットワーク上に送信する第１の送信手段と、
前記ネットワークからのネットワークデバイスに関する情報要求があった場合、当該要求された情報をメッセージとして、要求元の装置に送信する第２の送信手段と
を備えることを特徴とするネットワークデバイス。
【請求項７】
ネットワークに接続可能で、ネットワークからの要求に応えて所定の処理を実行するネットワークデバイスの制御方法であって、
デバイスドライバをインストールする情報処理装置に一時的に自身を認識させるための識別情報を入力する入力工程と、
該入力工程で入力された識別情報を記述したネットワーク参加メッセージを前記ネットワーク上に送信する第１の送信工程と、
前記ネットワークからのネットワークデバイスに関する情報要求があった場合、当該要求された情報をメッセージとして、要求元の装置に送信する第２の送信工程と
を備えることを特徴とするネットワークデバイスの制御方法。
【請求項８】
ネットワークに接続された少なくとも１つのネットワークデバイスと、ネットワーク通信手段を搭載可能で、当該ネットワーク通信手段を介して前記ネットワークデバイスを検出し、該当するデバイスドライバを自動インストールするＯＳを搭載した情報処理装置とで構成される情報処理システムであって、
前記情報処理装置は、
デバイスドライバをインストールしようとしているネットワークデバイスを一時的に認識するための識別情報を入力する第１の入力手段と、
ネットワーク上のネットワークデバイスが発行するネットワーク参加メッセージを前記ネットワーク通信手段を介して受信した場合、当該ネットワーク参加メッセージ中に、前記第１の入力手段で入力された識別情報と一致する識別情報が記述されているか否かを判断する判断手段と、
該判断手段で、前記第１の入力手段で入力した識別情報と一致する識別情報が前記ネットワーク参加メッセージ中に記述されていないと判断した場合には、当該ネットワーク参加メッセージの前記ＯＳへの通知を遮断し、該判断手段で前記入力手段で入力した識別情報と一致する識別情報が前記ネットワーク参加メッセージ中に記述されていると判断した場合には、当該ネットワーク参加メッセージを前記ＯＳへの通知する制御する制御手段とを備え、
前記ネットワークデバイスは、
デバイスドライバをインストールする情報処理装置に一時的に自身を認識させるための識別情報を入力する第２の入力手段と、
該第２の入力手段で入力された識別情報を記述したネットワーク参加メッセージを前記ネットワーク上に送信する第１の送信手段と、
前記ネットワークからのネットワークデバイスに関する情報要求があった場合、当該要求された情報をメッセージとして、要求元の装置に送信する第２の送信手段とを備える
ことを特徴とする情報処理システム。
【請求項９】
ネットワーク通信手段を搭載可能で、当該ネットワーク通信手段を介してネットワークデバイスを検出し、該当するデバイスドライバを自動インストールするＯＳを搭載した情報処理装置であって、
デバイスドライバをインストールしようとしているネットワークデバイスを一時的に認識するための識別情報を入力する入力手段と、
デバイスドライバをインストールしようとするネットワークデバイスの種類を示す情報を記述したネットワークデバイス探索メッセージを前記ネットワーク通信手段を介して送信した後に受信した応答メッセージ中に、前記入力手段で入力された識別情報と一致する識別情報が記述されているか否かを判断する判断手段と、
該判断手段で前記入力手段で入力した識別情報と一致する識別情報が前記ネットワーク参加メッセージ中に記述されていないと判断した場合には、当該ネットワーク参加メッセージの前記ＯＳへの通知を遮断し、該判断手段で前記入力手段で入力した識別情報と一致する識別情報が前記ネットワーク参加メッセージ中に記述されていると判断した場合には、当該ネットワーク参加メッセージを前記ＯＳへの通知する制御する制御手段と
を備えることを特徴とする情報処理装置。
【請求項１０】
更に、前記入力手段で前記識別情報の入力から所定時間内に、入力した識別情報と一致する記述を含む前記応答メッセージを受信しなかった場合、及び、一致する識別情報を含む応答メッセージを受信した場合、前記入力手段で入力した識別情報を消去する消去手段を備えることを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
ネットワーク通信手段を搭載可能で、当該ネットワーク通信手段を介してネットワークデバイスを検出し、該当するデバイスドライバを自動インストールするＯＳを搭載した情報処理装置の制御方法であって、
デバイスドライバをインストールしようとしているネットワークデバイスを一時的に認識するための識別情報を入力する入力工程と、
デバイスドライバをインストールしようとするネットワークデバイスの種類を示す情報を記述したネットワークデバイス探索メッセージを前記ネットワーク通信手段を介して送信した後に受信した応答メッセージ中に、前記入力工程で入力された識別情報と一致する識別情報が記述されているか否かを判断する判断工程と、
該判断工程で前記入力工程で入力した識別情報と一致する識別情報が前記ネットワーク参加メッセージ中に記述されていないと判断した場合には、当該ネットワーク参加メッセージの前記ＯＳへの通知を遮断し、該判断工程で前記入力工程で入力した識別情報と一致する識別情報が前記ネットワーク参加メッセージ中に記述されていると判断した場合には、当該ネットワーク参加メッセージを前記ＯＳへの通知する制御する制御工程と
を備えることを特徴とする情報処理装置の制御方法。
【請求項１２】
ネットワーク通信手段を搭載可能で、当該ネットワーク通信手段を介してネットワークデバイスを検出し、該当するデバイスドライバを自動インストールするＯＳを搭載した情報処理装置用のコンピュータプログラムであって、
デバイスドライバをインストールしようとしているネットワークデバイスを一時的に認識するための識別情報を入力する入力手段と、
デバイスドライバをインストールしようとするネットワークデバイスの種類を示す情報を記述したネットワークデバイス探索メッセージを前記ネットワーク通信手段を介して送信した後に受信した応答メッセージ中に、前記入力手段で入力された識別情報と一致する識別情報が記述されているか否かを判断する判断手段と、
該判断手段で前記入力手段で入力した識別情報と一致する識別情報が前記ネットワーク参加メッセージ中に記述されていないと判断した場合には、当該ネットワーク参加メッセージの前記ＯＳへの通知を遮断し、該判断手段で前記入力手段で入力した識別情報と一致する識別情報が前記ネットワーク参加メッセージ中に記述されていると判断した場合には、当該ネットワーク参加メッセージを前記ＯＳへの通知する制御する制御手段
として機能することを特徴とするコンピュータプログラム。
【請求項１３】
請求項１２に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【請求項１４】
ネットワークに接続可能で、ネットワークからの要求に応えて所定のサービス処理を実行するネットワークデバイスであって、
デバイスドライバをインストールする情報処理装置に一時的に自身を認識させるための識別情報を入力する入力手段と、
ネットワークから、自身が処理するサービス処理と同じサービスを行うネットワークデバイスの検索メッセージを受信した場合、前記入力手段で入力された識別情報を記述した応答メッセージを発信元に送信する第１の送信手段と、
前記ネットワークからの自身宛てのネットワークデバイスに関する情報の要求メッセージを受信した場合、当該要求メッセージで要求された情報を記述した応答メッセージを、前記要求メッセージの要求元の装置に送信する第２の送信手段と
を備えることを特徴とするネットワークデバイス。
【請求項１５】
ネットワークに接続可能で、ネットワークからの要求に応えて所定のサービス処理を実行するネットワークデバイスの制御方法であって、
デバイスドライバをインストールする情報処理装置に一時的に自身を認識させるための識別情報を入力する入力工程と、
ネットワークから、自身が処理するサービス処理と同じサービスを行うネットワークデバイスの検索メッセージを受信した場合、前記入力工程で入力された識別情報を記述した応答メッセージを発信元に送信する第１の送信工程と、
前記ネットワークからの自身宛てのネットワークデバイスに関する情報の要求メッセージを受信した場合、当該要求メッセージで要求された情報を記述した応答メッセージを、前記要求メッセージの要求元の装置に送信する第２の送信工程と
を備えることを特徴とするネットワークデバイスの制御方法。
【請求項１６】
ネットワークに接続された少なくとも１つのネットワークデバイスと、ネットワーク通信手段を搭載可能で、当該ネットワーク通信手段を介して前記ネットワークデバイスを検出し、該当するデバイスドライバを自動インストールするＯＳを搭載した情報処理装置とで構成される情報処理システムであって、
前記情報処理装置は、
デバイスドライバをインストールしようとしているネットワークデバイスを一時的に認識するための識別情報を入力する第１の入力手段と、
デバイスドライバをインストールしようとするネットワークデバイスの種類を示す情報を記述したネットワークデバイス探索メッセージを前記ネットワーク通信手段を介して送信した後に受信した応答メッセージ中に、前記第１の入力手段で入力された識別情報と一致する識別情報が記述されているか否かを判断する判断手段と、
該判断手段で前記第１の入力手段で入力した識別情報と一致する識別情報が前記ネットワーク参加メッセージ中に記述されていないと判断した場合には、当該ネットワーク参加メッセージの前記ＯＳへの通知を遮断し、該判断手段で前記入力手段で入力した識別情報と一致する識別情報が前記ネットワーク参加メッセージ中に記述されていると判断した場合には、当該ネットワーク参加メッセージを前記ＯＳへの通知する制御する制御手段とを備え、
前記ネットワークデバイスは、
デバイスドライバをインストールする情報処理装置に一時的に自身を認識させるための識別情報を入力する第２の入力手段と、
ネットワークから、自身が処理するサービス処理と同じサービスを行うネットワークデバイスの検索メッセージを受信した場合、前記第２の入力手段で入力された識別情報を記述した応答メッセージを発信元に送信する第１の送信手段と、
前記ネットワークからの自身宛てのネットワークデバイスに関する情報の要求メッセージを受信した場合、当該要求メッセージで要求された情報を記述した応答メッセージを、前記要求メッセージの要求元の装置に送信する第２の送信手段とを備える
ことを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに対応した周辺装置（デバイス）を制御するためのデバイスドライバのインストール技術に関するものである。
【背景技術】
【０００２】
従来から、ネットワーク上のクライアント装置からのサービス要求に応えるサービス提供装置及び、サービス提供システムが知られている。また、インターネットによる通信の飛躍的な普及に伴い、ネットワーク対応型機器として、従来のパーソナルコンピュータ以外の種類の多様な機器が開発されている。例えば、ＰＤＡ（Personal Digital Assistance）、携帯電話等のユーザインタラクティブなデバイスは勿論こと、スキャナ、プリンタ、複写機、デジタルカメラ等の画像処理装置が挙げられる。また、更には、テレビ、エアコン、冷蔵庫等の家電製品などまでもが、ネットワーク対応になってきている。
【０００３】
これに伴い、サービスを提供するネットワークデバイスの探索・検索する技術が開発されている。特に、ネットワーク対応型デバイスを制御するためのアプリケーションソフトウエア、ユーティリティソフトウエア、オペレーティングシステム等の自動セットアップを行ない技術、プロトコル、アーキテクチャが提案されている(特許文献１，２、３)。
【０００４】
また、複数の企業、標準化団体が、ローカルＩ／Ｏ接続デバイス対して適用されてきたプラグアンドプレイをネットワークデバイスに対して拡張対応すべく、仕様策定作業を進めている。
【０００５】
例えば、米国Ｍｉｃｒｏｓｏｆｔ社が主体となって策定を進めるＵＰｎＰ（登録商標）、およびＷＳＤ（Web Services for Devices）、ジネス機械・情報システム産業協会（ＪＢＭＩＡ）が推進するＢＭＬｉｎｋｓ、米国Ａｐｐｌｅ社が開発したＯＳ  ＸでサポートされるＲｅｎｅｄｚｖｏｕｓなどがその一例である。
【０００６】
上記のように、ネットワークプラグアンドプレイが普及することによって利便性が向上することが期待されている。
【特許文献１】特開２００４−０３８９５６公報
【特許文献２】特開２００４−３６２５９４公報
【特許文献３】特開２００３−０９９２１９公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
さて、今、携帯端末（ノートＰＣ、ＰＤＡ、携帯電話等）が、或るネットワーク上のプリンタをネットワークデバイスとして利用する場合を考察する。この場合、そのノートＰＣには、該当する１つのプリンタに対応するプリンタのデバイスドライバ（この場合はプリンタドライバ）がインストールされれば十分である。
【０００８】
しかしながら、この場合、ネットワークプラグアンドプレイデバイスによる弊害が予想される。なぜなら、携帯端末を利用する際に、ユーザーの意図に反した不必要なネットワークデバイスが検索されてしまい、そのドライバ、アプリケーションが携帯端末にインストールされてしまうからである。
【０００９】
上記は、例えばノートパソコンを自宅、あるいは勤務先のオフィスから移動し、訪問先オフィス、あるいは公共施設に設けられたホットスポットなど、異なるネットワーク環境で利用するケースについて考察すると分かりやすい。この場合、ユーザー自身は利用する意図がなくても、ノートパソコンのプラグアンドプレイ機能が、そのネットワーク環境で稼動しているネットワークデバイスを発見してしまうことが起こりえる。すなわち、必要としないネットワークデバイスのドライバ、アプリケーションが自動的にインストールされてしまう事態が起こる。
【００１０】
この結果、モバイルデバイスのハードウエア資源、特にメモリ資源をいたずらに消費してしまう。また、セキュリティ上信頼できないソフトウエアがユーザーが意識しないうちにインストールされてしまい、情報の破壊、漏洩といった深刻な被害につながることにもなろう。
【００１１】
また、同様に、ノートＰＣ、ＰＤＡ、携帯電話のようなモバイルデバイスが備えるプラグアンドプレイ機能が、ネットワークデバイスを発見するたびに、インストールを促すポップアップメッセージ、あるいは警告メッセージ等を表示することになる。従って、ネットワークデバイスの総数が数十台から数百台に及ぶ場合、モバイルデバイスのユーザーは、それらメッセージをキャンセルする手続き、作業に煩わされることになる。
【００１２】
本発明はかかる問題点に鑑みなされたものであり、ネットワーク上の、意図したネットワークデバイスのみのデバイスドライバの自動インストールを行うことを可能ならしめる技術を提供しようとするものである。
【課題を解決するための手段】
【００１３】
この課題を解決するため、例えば本発明の情報処理装置は以下の構成を備える。すなわち、
ネットワーク通信手段を搭載可能で、当該ネットワーク通信手段を介してネットワークデバイスを検出し、該当するデバイスドライバを自動インストールするＯＳを搭載した情報処理装置であって、
デバイスドライバをインストールしようとしているネットワークデバイスを一時的に認識するための識別情報を入力する入力手段と、
ネットワーク上のネットワークデバイスが発行するネットワーク参加メッセージを前記ネットワーク通信手段を介して受信した場合、当該ネットワーク参加メッセージ中に、前記入力手段で入力された識別情報と一致する識別情報が記述されているか否かを判断する判断手段と、
該判断手段で前記入力手段で入力した識別情報と一致する識別情報が前記ネットワーク参加メッセージ中に記述されていないと判断した場合には、当該ネットワーク参加メッセージの前記ＯＳへの通知を遮断し、該判断手段で前記入力手段で入力した識別情報と一致する識別情報が前記ネットワーク参加メッセージ中に記述されていると判断した場合には、当該ネットワーク参加メッセージを前記ＯＳへの通知する制御する制御手段とを備える。
【発明の効果】
【００１４】
本発明によれば、入力した一時的な認識情報と一致する情報を記述したメッセージを受信した場合にのみ、そのメッセージの発信元からのメッセージをＯＳに通知することになり、不必要なネットワークデバイスのドライバがインストールされることが無くなる。
【発明を実施するための最良の形態】
【００１５】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。なお、以下の説明におけるプロトコル、ヴァージョン、アドレス、その他の数値等は一例であって、特に特定的な記載がない限りは、本発明を限定するものとはならないことに注意されたい。
【００１６】
＜第１の実施形態＞
図１は本発明の一実施形態としてのネットワークプラグアンドプレイシステムの構成を示すブロック図である。
【００１７】
図中、１００は、クライアント端末で、オフィスからホームネットワーク、あるいは訪問先のネットワーク環境へと接続環境が頻繁に変化する可能性の大きなノートＰＣ／ＰＤＡ／携帯電話等が含まれる。実施形態では、クライアント端末１００はノートＰＣとして説明する。
【００１８】
クライアント端末１００には、ネットワーク通信のためのEthernet（登録商標）コントローラを備える。そして、Ethernet（登録商標）コントローラを介する最下論理層にＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１を有し、そのプロトコルスタック上にＨＴＴＰ２を備え、ＨＴＴＰリクエストの解析、およびレスポンス処理を行う。
【００１９】
ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１、およびＨＴＴＰ２上位層にはＳＯＡＰ（Simple Object Access Protocol）プロセッサ３を備え、インストールアシストユーティリティ４、ＷＳＤモジュール５、およびユーティリティ９、アプリケーション１０が、それぞれ該処理部を介してＸＭＬ（eXtensible Markup Language）で記述されたデータの双方向通信を実現する。
【００２０】
また、インストールアシストユーティリティ４は、ドライバインストール設定のＵＩを制御し、その設定内容をメモリコントローラ６を介して記憶装置８（実施形態ではクライアント端末はノートＰＣとしているのでハードディスク等）に記憶、読み出しを行う。また、ＷＳＤモジュール８に対してＨｅｌｌｏメッセージに対する応答処理の際に使用される識別情報の通知、および、ネットワークデバイス検索のためのＰｒｏｂｅメッセージの送信処理依頼を発行する。
【００２１】
ＷＳＤモジュール５はＳＯＡＰプロセッサ３を介して、米国Microsoft社らが、その仕様策定を推進するＷＳ−Ｄｉｓｃｏｖｅｒｙ仕様に基づき、ネットワークデバイスから通知されるＨｅｌｌｏメッセージに対する応答処理、および、ネットワークデバイス検索のためのＰｒｏｂｅメッセージの発行処理を実行する。また、ＷＳ−ＭｅｔａｄａｔａＥｘｃｈａｎｇｅ仕様に基づき、ＧｅｔＭｅｔａｄａｔａメッセージを発行することで、ネットワークデバイスの属性情報を取得する。
【００２２】
これらメッセージ処理により、ネットワークデバイスを発見した場合、インストールアシストユーティリティ４はプラグアンドプレイコントローラ ７に対して、発見したネットワークデバイスの属性情報を通知する。プラグアンドプレイコントローラ７は該属性情報をもとに該当するドライバ、ユーティリティソフトウエアをメモリコントローラ６を介して記録装置８より読み込み、クライアントデバイス１００に対してインストールを実行する機能を備える。
【００２３】
アプリケーション１０は例えばワードプロセッサなどで編集した書類をネットワーク対応デバイス２００に印刷する際、プラグアンドプレイコントローラ７によりインストールされたドライバ、ユーティリティを介して、ネットワーク対応デバイス２００に対してジョブデータ、印刷データを送信する。
【００２４】
一方、ネットワーク対応デバイス２００（本実施形態ではネットワーク対応型プリンタとする）は、通信機能としてEthernet（登録商標）に対応しており、ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１１を備える。そして、そのプロトコルスタック上にＨＴＴＰ１２を備え、ＨＴＴＰリクエストの解析、およびレスポンス処理を行う。
【００２５】
ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１１、およびＨＴＴＰ１２上位層にはＳＯＡＰプロセッサ １３を備え、インストールアシストユーティリティ１４、ＷＳＤモジュール１５、およびプリンタコントローラ１６が、それぞれ該処理部を介してＸＭＬで記述されたデータの双方向通信を実現する。
【００２６】
また、インストールアシストユーティリティ１４は、ドライバインストール設定のＵＩを制御し、その設定内容をメモリコントローラ１７を介して記憶装置８に記憶、読み出し、消去する。
【００２７】
また、この設定内容に基づき、ＷＳＤモジュール１５に対してＨｅｌｌｏメッセージの送信処理、および、ネットワークデバイス検索のためのＰｒｏｂｅメッセージに対する応答処理の際に使用される識別情報を通知する。
【００２８】
ここで、ＷＳＤモジュール１５はＳＯＡＰプロセッサ１３を介して、米国Microsoft社らが、その仕様策定を推進するＷＳ−Ｄｉｓｃｏｖｅｒｙ仕様に基づき、ネットワークに接続した際に、Ｈｅｌｌｏメッセージの送信、およびクライアント端末１００から発行されるＰｒｏｂｅメッセージに対する応答処理を実行する。
【００２９】
また、ＷＳ−ＭｅｔａｄａｔａＥｘｃｈａｎｇｅ仕様に基づき、クライアント端末１００１００から発行されたＧｅｔＭｅｔａｄａｔａメッセージに応じ、ネットワーク対応デバイス（ネットワーク対応プリンタ）２００が持つ属性情報を返信する。
【００３０】
ここで、クライアント端末１００とネットワーク対応デバイス２００間のＷＳＤの仕様に基づく探索及びそのネットワーク対応デバイス２００用のデバイスドライバのインストールの手順を図２１に従って簡単に説明する。
【００３１】
図２１（ａ）は、クライアント端末１００がネットワークに接続する際、もしくはユーザによるネットワークデバイスの探索の指示入力がなされた場合の手順を示している。
【００３２】
クライアント端末１００は、ネットワークにデバイス検索要求であるＰｒｏｂｅメッセージをマルチキャスト（ブロードキャスト）送信する。このＰｒｏｂｅメッセージを受信したネットワーク対応デバイス（実施形態でネットワーク対応プリンタ）２００は、それに応じるべくクライアント端末１００に向けて応答メッセージ（ＰｒｏｂｅＭａｔｃｈ）をユニキャスト送信する。これ以降、通信相手先が互いに判明しているので、送受信はユニキャストになる。
【００３３】
クライアント端末１００は、上記の応答メッセージを受信することで、ネットワーク上にネットワーク対応デバイス２００の存在することが検出できる。従って、次の段階に進み、そのネットワーク対応デバイスに対してデバイス情報要求メッセージ（ＧｅｔＭｅｔａＤａｔａ）を送信（ユニキャスト）し、デバイス情報（ＭｅｔａＤａｔａ ｆｏｒ  Ｄｅｖｉｃｅ）を取得する。この後、クライアント端末１００は、サービス情報要求メッセージ（ＧｅｔＭａｔａＤａｔａ）を送信し、サービス情報（ＭｅｔａＤａｔａ ｆｏｒ Ｓｅｒｖｉｃｅ）を取得する。
【００３４】
以上の結果、クライアント端末１００は、ネットワーク対応デバイス２００の機種名、属性情報（プリンタであることを示す情報）を得ることができるので、ＯＳに該当するデバイスドライバ（上記の場合にはプリンタドライバ）のインストールが行われることになる。
【００３５】
図２１（ｂ）は、クライアント端末１００は既にネットワークに接続が完了した後、ネットワーク対応デバイス２００をネットワークに参加させた場合の手順を示している。なお、ネットワーク対応デバイス２００のネットワークへの参加とは、そのネットワーク対応デバイス２００の電源が投入された場合と考えると分かりやすい。
【００３６】
先ず、ネットワーク対応デバイスはネットワークに参加するための参加メッセージ（Ｈｅｌｌｏ）をマルチキャスト送信する。クライアント端末１００は、この参加メッセージを受信することで、ネットワーク対応デバイス２００の存在を検出するので、デバイス情報要求メッセージを送信する。この後の手順は、図２１（ａ）と同じである。
【００３７】
さて、上記のようにして、クライアント端末１００が未知のネットワーク対応デバイスを検出して、デバイスドライバが自動インストールされるので、ユーザにかかる負担は少なくなる。しかしながら、クライアント端末１００を自宅等の小規模のＬＡＮ環境から、ネットワーク対応デバイスが多数存在する社内ＬＡＮ環境に移動させると、図２１（ａ）、（ｂ）のいずれの場合においても、多数のデバイスが検索されてしまい、結局のところ、多数のデバイスドライバが次々とインストールされてしまう。１つのデバイスドライバのインストールに要する時間も数十秒乃至数分になるわけであるから、クライアント端末１００を利用した本来の作業を行えるまでに多くの時間を必要とする。なにより不必要なデバイスドライバのためにメモリが消費され、本来の作業に支障を来すことにもなりかねない。
【００３８】
そこで、本実施形態では、クライアント端末１００には、そのユーザが望む１つのネットワーク対応デバイスのみのデバイスドライバがインストールされることを約束し、上記の問題を解決する。
【００３９】
以下に本発明の制御の流れをフローチャート図２に従い説明する。なお、以下では、デバイスドライバのインストール対象が、図１に示すネットワーク対応デバイス２００であるものとして説明する。
【００４０】
ユーザーはクライアント端末１００において、ネットワーク対応デバイス２００を使用可能な状態にするため、インストールアシストユーティリティ４を起動する（ステップＳ１）。
【００４１】
図３はインストールアシストユーティリティ４が起動された際に、クライアント端末１００の表示部に表示されるユーザーインターフェイス画面を示すものであり、ユーザーに対して１０文字までの一時的な識別ＩＤの入力を促す（ステップＳ２）。本実施形態において入力可能な文字は0-9までの数字と、a-z, A-Zのアルファベット文字とする。ユーザは任意の文字列を入力可能である。
【００４２】
識別ＩＤの入力が完了し、ユーザーがＯＫボタンを不図示のマウス等のポインティングデバイスを用いて押下（クリック）すると（ステップＳ３）、インストールアシストユーティリティ４はメモリコントローラ６を介して記憶装置８（ハードディスクや主記憶装置等）上に、該識別ＩＤを記憶する(ステップＳ４)。 以降、クライアント端末１００は、ネットワーク対応デバイス２００から送信されるＨｅｌｌｏメッセージ受信待ち状態となる(ステップＳ５)。
【００４３】
次にユーザーは、利用しようとしているネットワーク対応デバイス２００の設置場所に赴き、そのネットワーク対応デバイス２００の操作パネルより、今度はネットワーク対応デバイス２００におけるインストールアシストユーティリティ１４を起動する(ステップＳ６)。
【００４４】
図４はインストールアシストユーティリティ１４が起動された際に、ネットワーク対応デバイス２００の操作パネル（液晶表示器等）に表示されるユーザーインターフェイス画面を示すものであり、ユーザーに対して先のステップにおいて入力した識別ＩＤと同一の文字列の入力を促す(ステップＳ７)。なお、実施形態におけるネットワーク対応デバイス２００には、0-9、a-z及びA-Zの文字入力機能を有するものとする。これらの文字は物理的なキーボードでも構わないが、操作パネルをタッチパネルとし、そこに仮想的なキーボードを表示し、文字列を入力する。場合によっては、クライアント端末１００でＩＤを入力した際に、可搬性記憶媒体（メモリカードやフレキシブルディスク等）にもそれを格納し、ネットワーク対応デバイス２００にその可搬性記憶媒体をセットして、ＩＤ情報を入力するようにしても構わない。
【００４５】
さて、ネットワーク対応デバイス２００にて、識別ＩＤの入力が完了し、ユーザーがＯＫボタンを押下すると(ステップＳ８)、インストールアシストユーティリティ１４は、メモリコントローラ６を介して記憶装置８上に、該識別ＩＤを記憶する(ステップＳ９)。そして、ＷＳＤモジュール１５に対して、その識別ＩＤ情報を通知する。
【００４６】
識別ＩＤ情報の通知を受けたＷＳＤモジュール１５は、ＳＯＡＰプロセッサ１３に対して、識別ID情報を通知し、さらにＨｅｌｌｏメッセージの送信を要求する。ＳＯＡＰプロセッサ１３は、ＷＳ−Ｄｉｓｃｏｖｅｒｙ仕様に基づき上記の識別ＩＤを記述したＨｅｌｌｏメッセージを生成し、プロトコルスタックを介してマルチキャストアドレス239.255.255.250に対してマルチキャスト送信する (ステップＳ１０)。
【００４７】
ＨｅｌｌｏメッセージはＸＭＬ−ＳＯＡＰで記述されており、図５にそのメッセージフォーマットの例を示す。識別いＤ情報は、該メッセージにおいてタグ＜Type＞〜＜／Type＞で挟まれる箇所に記述する。図示の場合、識別ＩＤは“１２３４５６ｍｙｉｄ”の例を示している。
【００４８】
なお、利用したいネットワーク対応デバイスが複数存在する場合は、ユーザは、各々のネットワーク対応デバイスに対して、ステップＳ６乃至Ｓ８を実行すればよい。
【００４９】
以上の結果、Ｈｅｌｌｏメッセージはクライアント端末１００のＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック４を介して、ＳＯＡＰプロセッサ３に通知される。ＳＯＡＰプロセッサ３は、Ｈｅｌｌｏメッセージの内容を解析し、該メッセージに記述された情報を、インストールアシストユーティリティ４に通知する (ステップＳ１２)。
【００５０】
インストールアシストユーティリティ４は、通知された情報のうち、識別ＩＤの有無を確認し(ステップＳ１２)、識別ＩＤ情報の記述が存在するかどうかを判断する。識別ＩＤ情報がない場合には、受信したＨｅｌｌｏメッセージを破棄し（上位の処理への通知を行わず）、ステップＳ５に戻る。
【００５１】
また、識別ＩＤ情報が存在すると判断した場合には、インストールアシストユーティリティ４は、メモリコントローラ６を介して記憶装置８上に記憶された識別ＩＤ情報（ステップＳ４で記憶された情報）を読み出し、ＳＯＡＰプロセッサ３より通知された識別ＩＤ（受信したＨｅｌｌｏメッセージに含まれていた識別ＩＤ情報）と比較する（ステップＳ１４）。
【００５２】
両者が一致しない場合、インストールアシストユーティリティ４は処理を中止し受信したＨｅｌｌｏメッセージを破棄し、ステップＳ５に戻る。つまり、インストールアシストユーティリティ４は、ＷＳＤモジュール５に対して、ＳＯＡＰプロセッサ３より取得した情報を通知するのを遮断する。
【００５３】
また、両者が一致した場合には、ステップＳ１６ａに進み、先のステップＳ２で入力した識別ＩＤ情報を削除し、ステップＳ１６に進む。ステップＳ１６では、ＷＳＤモジュール５を介してＨｅｌｌｏメッセージを送信したネットワーク対応デバイス２００の属性情報を取得するために、ＷＳＤモジュール５に対して、ＳＯＡＰプロセッサ３より取得した情報を通知する。
【００５４】
これ以降は、ＯＳに基づく通常の処理になる。すなわち、ＷＳＤモジュール５は、Ｈｅｌｌｏメッセージの送信元アドレスに対し、該メッセージを発行したネットワークデバイスの属性情報を取得するために、ＳＯＡＰプロセッサ３に対してＷＳ−ＭｅｔａｄａｔａＥｘｃｈａｎｇｅで規定されるＧｅｔＭｅｔａｄａｔａメッセージ発行を要求する。ＳＯＡＰプロセッサ３は、ＷＳ−ＭｅｔａｄａｔａＥｘｃｈａｎｇｅ仕様に基づきＧｅｔＭｅｔａｄａｔａメッセージを生成し、ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１を介してネットワーク対応デバイス２００に対してユニキャスト送信する(ステップＳ１６)。そして、ネットワーク対応デバイス２０００からのＧｅｔＭｅｔａｄａｔａＲｅｓｐｏｎｓｅメッセージの受信を待つ（ステップＳ２５）。
【００５５】
ＧｅｔＭｅｔａｄａｔａメッセージはＸＭＬ−ＳＯＡＰで記述されており、図６はそのメッセージフォーマットの一例を示している。
【００５６】
一方、ネットワーク対応デバイス２００は、クライアント端末１００から送信されたＧｅｔＭｅｔａｄａｔａメッセージを受信する。受信したＧｅｔＭｅｔａｄａｔａメッセージはＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１１を介して、ＳＯＡＰプロセッサ１３に通知される(ステップＳ１７）。
【００５７】
ＳＯＡＰプロセッサ１３は、ＧｅｔＭｅｔａｄａｔａメッセージの内容を解析し、その結果をＷＳＤモジュール１５に通知する。ＷＳＤモジュール１５は、指定された属性情報をクライアントに対して返信するために、ＳＯＡＰ プロセッサ１３に対してＷＳ−ＭｅｔａｄａｔａＥｘｃｈａｎｇｅで規定されるＧｅｔＭｅｔａｄａｔａＲｅｓｐｏｎｓｅメッセージ発行を要求する。
【００５８】
ＳＯＡＰ プロセッサ１３は、ＷＳ−ＭｅｔａｄａｔａＥｘｃｈａｎｇｅ仕様に基づきＧｅｔＭｅｔａｄａｔａＲｅｓｐｏｎｓｅメッセージを生成し、プロトコルスタックを介してクライアントに対してユニキャスト送信する（ステップＳ１８）。
【００５９】
ＧｅｔＭｅｔａｄａｔａＲｅｓｐｏｎｓｅメッセージはＸＭＬ−ＳＯＡＰで記述されており、図７はそのメッセージフォーマットの一例である。
【００６０】
インストールアシストユーティリティ１４は、通信プロセスの経過状態の推移を、ネットワーク対応デバイス２００の操作部パネル上に表示する。図８は、ＧｅｔＭｅｔａｄａｔａＲｅｓｐｏｎｓｅメッセージの送信が完了した場合、インストールアシストユーティリティ１４が操作パネルに表示する、通信プロセスの経過状態を示している。
【００６１】
なお、ＧｅｔＭｅｔａｄａｔａリクエストが一定時間以内に受信できなかった場合(ステップＳ１９）、あるいはＧｅｔＭｅｔａｄａｔａ Ｒｅｓｐｏｎｓｅをクライアント端末１００にユニキャスト送信する際に、通信エラーが発生した場合には(ステップＳ２０）、インストールアシストユーティリティ１４は、そのエラー内容を示すメッセージをネットワーク対応デバイス２００の操作パネル上に表示し(ステップＳ２１)、メモリコントローラ１７を介して記録装置１８に記録された識別ＩＤを消去する(ステップＳ２３)。
【００６２】
また、ネットワーク対応デバイス２００がＧｅｔＭｅｔａｄａｔａＲｅｓｐｏｎｓｅの送信を正常に終了した場合、インストールアシストユーティリティ１４は図１０に示す書式で、正常終了メッセージをネットワーク対応デバイス２００の操作パネル上に表示し(ステップＳ２２)、メモリコントローラ１７を介して記録装置１８に記録された識別ＩＤ情報を消去する(ステップＳ２３)。
【００６３】
一方、クライアント端末１００が、ネットワーク対応デバイス２００から上記のＧｅｔＭｅｔａｄａｔａＲｅｓｐｏｎｓｅメッセージを受信すると、受信したＧｅｔＭｅｔａｄａｔａＲｅｓｐｏｎｓｅメッセージはＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１を介して、ＳＯＡＰプロセッサ３に通知される。そして、ＧｅｔＭｅｔａｄａｔａＲｅｓｐｏｎｓｅメッセージに記述されたデバイスの属性情報は、クライアント端末１００のＳＯＡＰプロセッサ３を介して、デバイス属性情報がＷＳＤモジュール５に通知される。
【００６４】
次いで、ＷＳＤモジュール５は、プラグアンドプレイコントローラ７を起動し(ステップＳ２６）、デバイス属性情報をプラグアンドプレイコントローラ７７に対し通知する。
【００６５】
通知をうけたプラグアンドプレイコントローラ７はメモリコントローラ６を介してデバイス属性情報に一致するドライバを、記憶装置８（ハードディスク等）より検索し、該当するドライバのインストールを実行する（ステップＳ２７)。 
なお、クライアント端末１００は、ステップＳ５からＳ２７までのプロセスをＨｅｌｌｏメッセージを受信する毎に繰り返す。なお、予め定められた時間（識別ＩＤ情報の入力が完了した際に計時するものとする）を経過してもＨｅｌｌｏメッセージの受信が無かった場合（ステップＳ２８）は、インストールアシストユーティリティ４はメモリコントローラ６を介して、記憶装置上に記憶した識別ＩＤを消去し(step29)、インストールアシストのプロセスを完了する。
【００６６】
以上、説明した制御をステップＳ１から２９まで繰り返し実行することで、クライアント端末１００は、ユーザーが直接選択したネットワーク対応デバイスを使用するためのデバイスドライバ（場合によってはユーティリティ、アプリケーション）のプラグアンドプレイを実行する。
【００６７】
上記は、ネットワーク対応デバイス２００から送信されるＨｅｌｌｏメッセージに応じてデバイスドライバのインストールを行う例であったが、以下ではクライアント端末１００から発行するＰｒｏｂｅメッセージで始まるデバイスドライバのインストール手順を図１１のフローチャートに従って説明する。図１１は、クライアント端末１００のインストールアシストユーティリティ４、ネットワーク対応デバイス２００のインストールアシストユーティリティ１４の手順を示している。
【００６８】
ユーザーはネットワーク対応デバイス２００の操作パネルを操作して、クライアント端末１００からのＰｒｏｂｅに応答するモードを指定し、インストールアシストユーティリティ１４を起動する（ステップＳ３０）。
【００６９】
図１２はインストールアシストユーティリティ１４が起動された際に、ネットワーク対応デバイス２００の操作パネル部に表示されるユーザーインターフェイス画面を示すものであり、ユーザーに対して１０文字までの識別ＩＤの入力を促す。本実施形態において入力可能な文字は0-9までの数字と、a-z, A-Zのアルファベット文字である。入力方法は、先に説明した通りである。
【００７０】
識別ＩＤの入力が完了し(ステップＳ３１)、ユーザーがＯＫボタンを指示すると(ステップＳ３２）、インストールアシストユーティリティ１４はメモリコントローラ１７を介して記憶装置１８上に、該識別ＩＤを記憶する（ステップＳ３３）。そして、ステップＳ３９にて、クライアント端末１００からＰｒｏｂｅメッセージの受信待ちになる。
【００７１】
次にユーザーは、クライアント端末１００において、インストールアシストユーティリティ４を起動する(ステップＳ３４）。
【００７２】
図１３はインストールアシストユーティリティ４が起動された際に、クライアント端末１００の表示部に表示されるユーザーインターフェイス画面を示すものであり、ユーザーに対して先のステップにおいて入力した識別ＩＤと同一の文字列の入力を促す(ステップＳ３５)。
【００７３】
識別ＩＤ情報の入力が完了し、ユーザーがＯＫボタンをポインティングデバイス等を利用して押下すると(ステップＳ３６）、インストールアシストユーティリティ４は、メモリコントローラ６を介して記憶装置８上に、該識別ＩＤを記憶する(ステップＳ３７)。そして、ＷＳＤモジュール５に対して、ＷＳ−Ｄｉｓｃｏｖｅｒｙ仕様にて規定されるＰｒｏｂｅの送信を要求する。
【００７４】
すなわち、ＷＳＤモジュール５は、ＳＯＡＰ プロセッサ３に対して、該Ｐｒｏｂｅメッセージの送信要求を通知する。ＳＯＡＰプロセッサ３は、ＷＳ−Ｄｉｓｃｏｖｅｒｙ仕様で規定されるＰｒｏｂｅメッセージを生成し、ＳＯＡＰプロセッサ３より、ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１を介してマルチキャストアドレス239.255.255.250に対してマルチキャスト送信される (ステップＳ３８)。
【００７５】
Ｐｒｏｂｅメッセージは、ＸＭＬ−ＳＯＡＰで記述されており、図１４にそのメッセージフォーマットの例を示す。
【００７６】
ネットワーク対応デバイス２００が上記のＰｒｏｂｅメッセージを受信すると(ステップＳ３９)、受信したＰｒｏｂｅメッセージはＴＣＰ／ＵＤＰ／ＩＰ プロトコルスタック１１を介して、ＳＯＡＰ プロセッサ１３に通知される。ＳＯＡＰプロセッサ１３は、Probeメッセージの内容を解析し、その結果をインストールアシストユーティリティ１４に対して通知する（ステップＳ４０）。
【００７７】
インストールアシストユーティリティ１４は、通知されたメッセージの内容が、このネットワーク対応デバイス２００が提供するサービス機能、この場合はプリントサービスと一致しているか否かを判断する（ステップＳ４１）。一致しないと判断した場合、その情報を無視するためステップＳ３９に戻る。したがって、この場合はネットワーク対応デバイス２００からＰｒｏｂｅ Ｍａｔｃｈレスポンスが発行されることは無い。
【００７８】
一方、一致すると判断した場合、インストールアシストユーティリティ４は、メモリコントローラ１７を介して記録装置１８に記録された識別ＩＤを読み出し、該識別ＩＤをＷＳＤモジュール１５に対して通知する。ＷＳＤモジュール １５は、ＳＯＡＰプロセッサ１３に対して識別ＩＤを通知するとともに、その識別ＩＤ情報を記述したProbe Matchメッセージ発行を要求する。ＳＯＡＰプロセッサ１５は、ＷＳ−Ｄｉｓｃｏｖｅｒｙ仕様に基づきＰｒｏｂｅ Ｍａｔｃｈメッセージを生成し、プロトコルスタック１１を介してクライアントに対してユニキャスト送信する (ステップＳ４２）。
【００７９】
Ｐｒｏｂｅ ＭａｔｃｈメッセージはＸＭＬ−ＳＯＡＰで記述されており、図１５はそのメッセージフォーマットの一例である。図示の如く、識別ＩＤ情報は、該メッセージにおいてタグ＜Type＞〜＜／Type＞属性としてＳＯＡＰ Ｂｏｄｙ部に記述される。
【００８０】
Ｐｒｏｂｅ Ｍａｔｃｈメッセージはクライアント端末１００のＴＣＰ／ＵＤＰ／ＩＰ プロトコルスタック１を介して、ＳＯＡＰ プロセッサ３に通知される。ＳＯＡＰプロセッサ３は、Ｐｒｏｂｅ Ｍａｔｃｈメッセージの内容を解析し、該メッセージに記述された情報を、インストールアシストユーティリティ４に通知する（ステップＳ４３）。
【００８１】
インストールアシストユーティリティ４は、通知された情報のうち、識別ＩＤの有無を確認し(ステップＳ４４)、識別ＩＤ情報の記述があるか否かを判断する（ステップＳ４５）。
【００８２】
識別ＩＤ情報が存在しない場合は、受信したＰｒｏｂｅ Ｍａｃｔｈメッセージを破棄し、ステップＳ４３に戻る。
【００８３】
また、識別ＩＤ情報が存在していると判断した場合には、先のステップ３７で記憶した識別ＩＤとを比較するため、メモリコントローラ６を介して記憶装置８上に記憶された識別ＩＤ情報を読み出し、ＳＯＡＰプロセッサ３より通知された識別ＩＤ情報と比較する。
【００８４】
両者が一致しない場合には、受信したＰｒｏｂｅ Ｍａｃｔｈメッセージを破棄し、ステップＳ４３に戻る。
【００８５】
また、両者が一致した場合、ステップＳ４７ａに進んで、先のステップＳ３５で入力した識別ＩＤ情報を削除し、ステップＳ４７に進む。このステップＳ４７では、インストールアシストユーティリティ４は、ＷＳＤモジュール５を介してＰｒｏｂｅ Ｍｔａｃｈメッセージを送信したネットワーク対応デバイス２００の属性情報を取得するために、ＳＯＡＰプロセッサ３より取得した情報をＷＳＤモジュール５に通知する。
【００８６】
この後は、ＯＳの通常の処理になる。すなわち、ＷＳＤモジュール５は、Ｐｒｏｂｅ Ｍｔａｃｈ送信元アドレスに対し、該メッセージを発行したネットワークデバイスの属性情報を取得するために、ＳＯＡＰプロセッサ３に対してＷＳ−ＭｅｔａｄａｔａＥｘｃｈａｎｇｅで規定されるＧｅｔＭｅｔａｄａｔａメッセージ発行を要求する。これを受け、ＳＯＡＰプロセッサ３は、ＷＳ−ＭｅｔａｄａｔａＥｘｃｈａｎｇｅ仕様に基づきＧｅｔＭｅｔａｄａｔａメッセージを生成し、ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１を介してネットワーク対応デバイス２００に対してユニキャスト送信する(ステップＳ４７）。
【００８７】
ＧｅｔＭｅｔａｄａｔａメッセージはＸＭＬ−ＳＯＡＰで記述されており、図１６はそのメッセージフォーマットの一例である。
【００８８】
さて、ネットワーク対応デバイス２００が上記ＧｅｔＭｅｔａｄａｔａメッセージを受信すると、そのメッセージがＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１１を介して、ＳＯＡＰプロセッサ１３に通知される(ステップＳ４８)。ＳＯＡＰプロセッサ１３は、ＧｅｔＭｅｔａｄａｔａメッセージの内容を解析し、その結果をＷＳＤモジュール１５に通知する。ＷＳＤモジュール１５は、指定された属性情報をクライアントに対して返信するために、ＳＯＡＰプロセッサ１３に対してＷＳ−ＭｅｔａｄａｔａＥｘｃｈａｎｇｅで規定されるＧｅｔＭｅｔａｄａｔａＲｅｓｐｏｎｓｅメッセージ発行を要求する。ＳＯＡＰプロセッサ１３は、ＷＳ−ＭｅｔａｄａｔａＥｘｃｈａｎｇｅ仕様に基づきＧｅｔＭｅｔａｄａｔａＲｅｓｐｏｎｓｅメッセージを生成し、プロトコルスタックを介してクライアント端末１００に対してユニキャスト送信する (ステップＳ４９)。
【００８９】
このＧｅｔＭｅｔａｄａｔａＲｅｓｐｏｎｓｅメッセージはＸＭＬ−ＳＯＡＰで記述されており、図１７はそのメッセージフォーマットの一例である。
【００９０】
インストールアシストユーティリティ１４は、ＧｅｔＭｅｔａｄａｔａＲｅｓｐｏｎｓｅメッセージの送信が完了した時点で、モリコントローラ１７を介して、記憶装置１８上に記憶した識別ＩＤ情報を消去し(ステップＳ５６)、インストールアシストユーティリティ１４のプロセスを完了する。
【００９１】
なお、予め定められた時間を経過してもＧｅｔＭｅｔａｄａｔａメッセージの受信が無かった場合(ステップＳ５７)は、インストールアシストユーティリティ１４はメモリコントローラ１７を介して、記憶装置１８上に記憶した識別ＩＤを消去し(ステップＳ５６)、インストールアシストのプロセスを完了する。
【００９２】
一方、クライアント端末１００が上記ＧｅｔＭｅｔａｄａｔａＲｅｓｐｏｎｓｅメッセージを受信すると、そのメッセージはＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１を介して、ＳＯＡＰプロセッサ３に通知される(ステップＳ５０)。
【００９３】
そして、ＧｅｔＭｅｔａｄａｔａＲｅｓｐｏｎｓｅメッセージに記述されたデバイスの属性情報が、クライアント端末１００のＳＯＡＰプロセッサ３を介して、デバイス属性情報がＷＳＤモジュール５に通知される。
【００９４】
次のステップで、ＷＳＤモジュール５は、プラグアンドプレイコントローラ７を起動し(ステップＳ５1)、デバイス属性情報をプラグアンドプレイコントローラ７に対し通知する。通知を受けたプラグアンドプレイコントローラ７はメモリコントローラ６を介してデバイス属性情報に一致するドライバを、記憶装置８上より検索し、該当するドライバのインストールを実行する (ステップＳ５２)。
【００９５】
インストールアシストユーティリティ４はステップＳ４３〜Ｓ５２に示すプロセスの経過状態を図１８に示す書式で、クライアント端末１００の表示部上に表示し、ドライバのインストールが正常に完了した場合には、図１９に示す書式のメッセージをクライアント端末１００の表示部に表示する。
【００９６】
なお、クライアント端末１００が、一定時間経過してもネットワーク対応デバイスから発行されるＧｅｔＭｅｔａｄａｔａＲｅｓｐｏｎｓｅメッセージの受信がなかった場合（ステップＳ５５）、インストールアシストユーティリティ４は図２０に示す書式で、ネットワーク対応デバイスが発見できなかったことを示すメッセージを操作部パネル上に表示する。
【００９７】
クライアント端末１００はステップ３４からステップ５２のプロセスを、Ｐｒｏｂｅ Ｍａｔｃｈ応答が無くなるまで繰り返す。
【００９８】
また、ステップＳ３８でのＰｒｏｂｅメッセージ発行時より、一定時間経過してもネットワーク対応デバイスから発行されるＰｒｏｂｅ Ｍａｃｔｈメッセージの受信がなかった場合(ステップＳ５３)、インストールアシストユーティリティ４はメモリコントローラ６を介して、記憶装置８上に記憶した識別ＩＤを消去し(ステップＳ５４)、インストールアシストのプロセスを完了する。
【００９９】
以上、説明した制御をステップＳ３０からＳ５６まで繰り返し実行することで、クライアント端末１００は、ユーザーが直接選択したネットワーク対応デバイスを使用するためのドライバ、ユーティリティ、アプリケーションのプラグアンドプレイを実行する。
【０１００】
また、実施形態によれば、クライアントＰＣ１００、及び、ネットワーク対応デバイス２００に設定する識別ＩＤ情報（認識情報とも言える）は、一時的で任意に設定して構わない文字列であり、格別なネットワーク技術に関する知識を必要としない。
【０１０１】
＜その他の実施形態＞
上述した実施形態においては、ネットワークデバイスの検索、およびネットワークデバイスがネットワークに参加したことを示す通知として、ＷＳ−Ｄｉｓｃｏｖｅｒｙで定義されるプロトコルを採用しているが、この限りではなく例えばＵＰｎＰ v1で規定されるＳＳＤＰ(Simple Service Discovery Protocol)、およびＧＥＮＡ(General Event Notification Architecture)などを利用することでも実現可能である。また、ネットワークデバイスの検索プロトコルとして、ネットワークデバイスの属性情報を取得するためのアドレス、およびネットワークデバイスを制御するための制御情報送信先が取得することが可能であるプロトコルであれば、いずれのプロトコルであっても適用可能である。
【０１０２】
また上述した実施形態においては、通信媒体としてEthernet（登録商標）を利用した形で実現しているが、デバイスの発見、およびデバイスが機能実行を開始したことを通知することが可能な通信媒体であれば、Wi-Fi(IEEE80.11a/b/g), Bluetoothを利用したネットワークでも構わないし、ローカルＩ／Ｏでも適用可能である。
【０１０３】
また上述した実施形態においては、プラグアンドプレイの一例として、発見したネットワークデバイスに対応したドライバのインストールを採用しているが、ネットワークデバイスを利用、制御するために必要なユーティリティ、アプリケーションなどをクライアント端末１００に自動的にインストールする場合においても適用可能である。
【０１０４】
また、上述した実施形態においてネットワークデバイスとしてプリンタに対する実装例を示したが、通信媒体を介して利用、制御可能なデバイスであれば、スキャナ、ストレージデバイス、ファクシミリ等、或いはそれらを統合した複合機のデバイスに対しても適用可能である。
【０１０５】
また、上述した実施形態においては、クライアント端末１００がネットワークデバイスを制御するためのドライバをメモリ上に保持する形態を示したが、ドライバに限らずアプリケーション、ユーティリティソフトウエアに対しても適用可能であり、また、これらソフトウエアはネットワークデバイス上に保持されている場合、あるいは第３のサーバー上に保持されている場合にも適用可能である。
【０１０６】
また、上述した実施形態においては、ユーザーが任意に設定した識別ＩＤを使用しているが、偶然、複数のユーザーが同じ識別ＩＤを設定してしまうことを避けるため、インストールアシストがランダムに識別ＩＤを生成し、この識別ＩＤを使用する形態においても適用可能である。
【０１０７】
また、上述した実施形態におけるクライアント端末１００及びネットワーク対応デバイス２００における各処理機能は、各処理機能を実現する為のプログラムをメモリから読み出してＣＰＵ（中央演算装置）が実行することによりその機能を実現させるものであるが、これに限定さるものではなく、各処理機能の全部または一部の機能を専用のハードウェアにより実現してもよい。また、上述したメモリは、光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、ＣＤ−ＲＯＭ等の読み出しのみが可能な記録媒体、ＲＡＭ以外の揮発性のメモリ、あるいはこれらの組合せによるコンピュータ読み取り、書き込み可能な記録媒体より構成されてもよい。
【０１０８】
また、クライアント端末１００及びネットワーク対応デバイス２００内の各機能を実現する為のプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各処理を行っても良い。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。具体的には、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含む。
また、特にクライアント端末１００は、ネットワークインタフェースというハードウェアを必要とするものの、上記実施形態で説明した機能をコンピュータプログラムでもって実現している。通常、アプリケーションプログラムは、ＣＤ−ＲＯＭ等のコンピュータ可読記憶媒体に記憶されている。そして、そのコンピュータ可読記憶媒体をコンピュータが読み込み可能な読取装置（例えばＣＤ−ＲＯＭドライブ等）にセットし、システムにコピーもしくはインストールすることで、実行可能になる。従って、このようなコンピュータ可読記憶媒体も、当然に本発明の範疇になるのは明らかである。
【図面の簡単な説明】
【０１０９】
【図１】実施形態におけるネットワークプラグアンドプレイシステムの概略構成を示すブロック図である。
【図２】実施形態におけるＨｅｌｌｏメッセージに基づくデバイスドライバのインストールまでの処理手順を示すフローチャートである。
【図３】実施形態におけるクライアント端末が表示する識別ＩＤ入力用ユーザーインターフェイスを示す図である。
【図４】実施形態におけるネットワーク対応デバイスが表示する識別ＩＤ入力用ユーザーインターフェイスを示す図である。
【図５】実施形態におけるネットワーク対応デバイスが発行するＨｅｌｌｏメッセージのフォーマットを示す図である。
【図６】ＷＳ−ＭｅｔａｄａｔａＥｘｃｈａｎｇｅ仕様で定義されるＧｅｔＭｅｔａｄａｔａメッセージのフォーマットを示す図である。
【図７】ＷＳ−ＭｅｔａｄａｔａＥｘｃｈａｎｇｅ仕様で定義されるＧｅｔＭｅｔａｄａｔａＲｅｓｐｏｎｓｅメッセージのフォーマットを示す図である。
【図８】実施形態におけるネットワーク対応デバイスが表示する通信プロセス経過状態の一例を示す図である。
【図９】実施形態におけるネットワーク対応デバイスが表示する通信エラー発生時のメッセージの例を示す図である。
【図１０】実施形態におけるネットワーク対応デバイスが表示するインストールアシスト正常終了メッセージを示す図である。
【図１１】実施形態におけるＰｒｏｂｅメッセージに基づくデバイスドライバのインストールまでの処理手順を示すフローチャートである。
【図１２】図１１のフローチャートに従ってネットワーク対応デバイスが表示する識別ＩＤ入力用のユーザーインターフェイスの例を示す図である。
【図１３】図１１のフローチャートに従ってクライアント端末が表示する識別ＩＤ入力用ユーザーインターフェイスの例を示す図である。
【図１４】ＷＳ−Ｄｉｓｃｏｖｅｒｙ仕様で定義されるＰｒｏｂｅメッセージのフォーマットを示す図である。
【図１５】ＷＳ−Ｄｉｓｃｏｖｅｒｙ仕様で定義されるＰｒｏｂｅ Ｍａｔｃｈメッセージのフォーマットを示す図である。
【図１６】ＷＳ−ＭｅｔａｄａｔａＥｘｃｈａｎｇｅ仕様で定義されるＧｅｔＭｅｔａｄａｔａメッセージのフォーマットを示す図である。
【図１７】ＷＳ−ＭｅｔａｄａｔａＥｘｃｈａｎｇｅ仕様で定義されるＧｅｔＭｅｔａｄａｔａＲｅｓｐｏｎｓｅメッセージのフォーマットを示す図である。
【図１８】クライアントデバイスが表示するプロセス経過状態を示す図である。
【図１９】クライアントデバイスが表示するインストールアシスト正常終了メッセージの例を示す図である。
【図２０】クライアントデバイスが表示するエラー発生メッセージの例を示す図である。
【図２１】ＵＰｎＰネットワークデバイスの発見からそのデバイスドライバのインストールされるまでの一般的なシーケンスを示す図である。
【図１】
2007066092.tif 000003
【図２】
2007066092.tif 000004
【図３】
2007066092.tif 000005
【図４】
2007066092.tif 000006
【図５】
2007066092.tif 000007
【図６】
2007066092.tif 000008
【図７】
2007066092.tif 000009
【図８】
2007066092.tif 000010
【図９】
2007066092.tif 000011
【図１０】
2007066092.tif 000012
【図１１】
2007066092.tif 000013
【図１２】
2007066092.tif 000014
【図１３】
2007066092.tif 000015
【図１４】
2007066092.tif 000016
【図１５】
2007066092.tif 000017
【図１６】
2007066092.tif 000018
【図１７】
2007066092.tif 000019
【図１８】
2007066092.tif 000020
【図１９】
2007066092.tif 000021
【図２０】
2007066092.tif 000022
【図２１】
2007066092.tif 000023