(57)【特許請求の範囲】
【請求項１】
情報処理装置であって、
複数の画像形成装置の情報を記憶する記憶手段と、
他の情報処理装置から検索要求を受信する受信手段と、
前記記憶手段によって記憶された情報に基づいて、前記検索要求が示す検索条件を満たす画像形成装置を検索する検索手段と、
前記検索手段によって検索された画像形成装置のアドレスがリンクローカルアドレスであるか否かを判断する第１の判断手段と、
前記第１の判断手段によってリンクローカルアドレスであると判断された場合に、前記検索手段によって検索された画像形成装置が前記他の情報処理装置と同じサブネットに存在するか否かを判断する第２の判断手段と、
前記第１の判断手段によってリンクローカルアドレスではないと判断された画像形成装置の情報と、前記第２の判断手段によって前記他の情報処理装置と同じサブネットに存在すると判断された画像形成装置の情報とを前記検索手段による検索の結果として前記他の情報処理装置に送信し、前記第２の判断手段によって前記他の情報処理装置と同じサブネットに存在しないと判断された画像形成装置の情報を前記検索手段による検索の結果として前記他の情報処理装置に送信しない送信手段と、を有することを特徴とする情報処理装置。
【請求項２】
前記第２の判断手段は、前記検索手段によって検索された画像形成装置のアドレスと前記他の情報処理装置のアドレスとに基づいて、前記検索手段によって検索された画像形成装置が前記他の情報処理装置と同じサブネットに存在するか否かを判断することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記記憶手段は、前記画像形成装置の情報として前記画像形成装置のアドレスを記憶することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記記憶手段は、前記画像形成装置の情報として前記画像形成装置が提供するサービスを示す情報を記憶し、
前記検索手段は、前記検索条件として指定されたサービスを提供することができる画像形成装置を、前記記憶手段によって記憶された情報に基づいて検索することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
情報処理装置の制御方法であって、
複数の画像形成装置の情報を記憶部に記憶する記憶ステップと、
他の情報処理装置から検索要求を受信する受信ステップと、
前記記憶ステップによって記憶された情報に基づいて、前記検索要求が示す検索条件を満たす画像形成装置を検索する検索ステップと、
前記検索ステップによって検索された画像形成装置のアドレスがリンクローカルアドレスであるか否かを判断する第１の判断ステップと、
前記第１の判断ステップによってリンクローカルアドレスであると判断された場合に、前記検索ステップによって検索された画像形成装置が前記他の情報処理装置と同じサブネットに存在するか否かを判断する第２の判断ステップと、
前記第１の判断ステップによってリンクローカルアドレスではないと判断された画像形成装置の情報と、前記第２の判断ステップによって前記他の情報処理装置と同じサブネットに存在すると判断された画像形成装置の情報とを前記検索ステップによる検索の結果として前記他の情報処理装置に送信し、前記第２の判断ステップによって前記他の情報処理装置と同じサブネットに存在しないと判断された画像形成装置の情報を前記検索ステップによる検索の結果として前記他の情報処理装置に送信しない送信ステップと、を有することを特徴とする情報処理装置の制御方法。
【請求項６】
請求項５に記載の情報処理装置の制御方法をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像形成装置と接続された情報処理装置及びその制御方法に関する。
【背景技術】
【０００２】
従来、プリンタ等のデバイスがネットワークに接続され、クライアントＰＣからネットワークを介して利用することが可能になっている。その際、クライアントＰＣはまずネットワーク上のデバイスを発見し、発見したデバイスを利用するためのドライバソフトウェアをインストールする必要がある。ネットワーク上のデバイスを検索するための技術としていくつか考えられているものの中には、ブロードキャストやマルチキャストを用いて検索要求パケットを送信するものがある。ブロードキャストやマルチキャストは、ネットワーク上に存在する複数の装置に対してデータを送信する方法である。これらの技術では、クライアントＰＣは検索要求パケットをブロードキャストやマルチキャストで送信し、検索要求パケットを受信したデバイスが検索応答パケットをクライアントＰＣに送信することにより、デバイスを検索する。
【０００３】
また、ネットワーク同士がルータなどの接続機器により相互に接続され、大規模なネットワークを構築することが可能になっている。その中で、ブロードキャストやマルチキャストはネットワーク全体のトラフィックに影響を与えるため、一般にルータはこれらを通過させない設定で運用されることが多い。ルータによって区切られたそれぞれのネットワークはサブネットと呼ばれ、ブロードキャストやマルチキャストは一般にサブネット内のみで利用されている。このような環境でブロードキャストやマルチキャストを使用したネットワークデバイス検索技術を用いた場合、クライアントＰＣが送信した検索要求パケットはルータを通過できない。そのため、複数のサブネットがルータによって接続されたネットワーク環境において、クライアントＰＣは、異なるサブネットに存在するデバイスを発見することはできなかった。
【０００４】
そこで、サブネットが異なるデバイスとクライアントＰＣとの間であっても検索が行えるような検索システムが考えられている。その一例として、ネットワーク上に検索のためのサーバ（Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ：ＤＰ）を配置するものがある。クライアントＰＣからＤＰに対して検索条件を含めた検索要求メッセージを送信し、検索を要求されたＤＰはクライアントＰＣに代行してデバイスを検索する方法である。（例えば特許文献１）
【特許文献１】特開２００１−２１６１０７
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ（ディスカバリ  プロキシ、以降のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙも同様）にはネットワーク上のデバイスの属性情報として、デバイスのアドレス情報などが登録される。
【０００６】
これらのアドレス情報は、例えばＩＰアドレスや、ＦＱＤＮ名である。そしてこれらのアドレス情報は、リンクローカルアドレスである場合がある。リンクローカルアドレスとは、同一サブネット内でのみ有効なアドレスであり、ルータを超えて利用できないアドレスである。ＩＰｖ４のリンクローカルアドレスは、ＲＦＣ３９２７で定義されており、アドレスとして、１６９．２５４．０．０／１６の範囲を使うものである。また、ＩＰｖ６のリンクローカルアドレスは、ＲＦＣ３３０６やＲＦＣ４４８９で定義されており、アドレスとして、ＦＥ８０：：／１０の範囲を使うものである。
【０００７】
従来の技術では、クライアントＰＣからＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙに対して送信される検索要求に対して、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙは、その検索条件に合致する全てのデバイスを応答していた。即ち、検索条件に合致するデバイスであれば、上記リンクローカルアドレスも応答していた。ここで、検索要求を送信したクライアントＰＣが、検索結果に含まれるリンクローカルアドレスに対応するデバイスと異なるサブネットに存在した場合、この検索結果は無駄なものとなる。クライアントＰＣは、そのリンクローカルアドレスにアクセスすることができないからである。
【０００８】
このように、従来の技術では、例えばデバイス検索の検索結果をサーバから取得する際に、検索要求を送信した情報処理装置がアクセスすることができないデバイスまでも検索結果に含まれてしまう可能性があった。つまり、情報処理装置は、無駄な情報をサーバから取得してしまうことになっていた。
【０００９】
本発明はこのような問題に対してなされたものである。つまり、ネットワークに接続された情報処理装置が、サーバから情報を取得する際に、情報処理装置にとって無駄になる情報を取得しないようにすることを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明における情報処理装置は、複数の画像形成装置の情報を記憶する記憶手段と、他の情報処理装置から検索要求を受信する受信手段と、前記記憶手段によって記憶された情報に基づいて、前記検索要求が示す検索条件を満たす画像形成装置を検索する検索手段と、前記検索手段によって検索された画像形成装置のアドレスがリンクローカルアドレスであるか否かを判断する第１の判断手段と、前記第１の判断手段によってリンクローカルアドレスであると判断された場合に、前記検索手段によって検索された画像形成装置が前記他の情報処理装置と同じサブネットに存在するか否かを判断する第２の判断手段と、前記第１の判断手段によってリンクローカルアドレスではないと判断された画像形成装置の情報と、前記第２の判断手段によって前記他の情報処理装置と同じサブネットに存在すると判断された画像形成装置の情報とを前記検索手段による検索の結果として前記他の情報処理装置に送信し、前記第２の判断手段によって前記他の情報処理装置と同じサブネットに存在しないと判断された画像形成装置の情報を前記検索手段による検索の結果として前記他の情報処理装置に送信しない送信手段と、を有することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、ネットワークに接続された情報処理装置が、サーバから情報を取得する際に、情報処理装置にとって無駄になる情報を取得しないようにすることができる。
【発明を実施するための最良の形態】
【００１５】
（実施例１）
以下、図面を用いて本発明の実施形態を詳細に説明する。
【００１６】
図１は本発明を適用したデバイス検索システムの構成を示す図である。図１のシステムは、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）によって構成されており、ルータ１０６によってそれぞれ接続されたサブネット１０５、サブネット１０８、サブネット１１０を含む。サブネット１０５には、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ１００、と、クライアントＰＣ１０４、画像形成装置１０１〜１０３が接続されている。サブネット１０８には、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ１０７が接続されている。サブネット１１０には、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ１１１、画像形成装置１０９、クライアントＰＣ１１２が接続されている。クライアントＰＣは、情報処理装置の一例であり、パーソナルコンピュータやワークステーション、携帯端末等である。画像形成装置は、クライアントＰＣにサービスを提供するデバイスであって、印刷装置、複写機、スキャナ、ファクシミリ、複合機等である。Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙは、ネットワーク上に接続されるクライアントＰＣや画像形成装置の情報を管理するサーバであり、クライアントＰＣからの要求に応じて、条件を満たす画像形成装置を検索する。尚、図１のシステムにおいて、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ１０７は、他のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ１００と１１１が管理する画像形成装置の情報を収集して一括管理するＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙである。
【００１７】
図１のシステムにおいて、各サブネットは、ルータ１０６を介してそれぞれ接続されているため、結果としてすべてのサブネットにおいて接続された端末は相互に通信が可能になっている。ただし、ルータ１０６は、一方のサブネットから受信したブロードキャストや、ローカルサブネットのみに送信することが指定されているマルチキャストパケット等を、他方のサブネットに通過させることはしない。そのため、ブロードキャストやマルチキャストによる通信は各サブネット内でのみ可能である。
【００１８】
図２はＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ１００のハードウェア構成を示す図である。本実施例におけるＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙは一般的なＰＣと同じ構成を有しており、図１のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ１１１，１０７及びクライアントＰＣ１０４，１１２も同様のハードウェア構成である。
【００１９】
ＣＰＵ２０１は、ＲＯＭ２０２もしくはハードディスク（ＨＤ）２１１に記憶された、あるいはフロッピー（登録商標）ディスクドライブ（ＦＤ）２１２から供給される各種ソフトウェアを実行する。そして、ＣＰＵ２０１はシステムバス２０４に接続された各部を総括的に制御する。２０３はＲＡＭであり、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。２０５はキーボードコントローラ（ＫＢＣ）であり、キーボード（ＫＢ）２０９やポインティングデバイス（図示せず）等からの指示入力を制御する。２０６はＣＲＴコントローラ（ＣＲＴＣ）であり、ＣＲＴディスプレイ（ＣＲＴ）２１０の表示を制御する。２０７はディスクコントローラ（ＤＫＣ）であり、ハードディスク（ＨＤ）２１１およびフロッピー（登録商標）ディスクドライブ（ＦＤ）２１２へのアクセスを制御する。ＨＤ２１１又はＦＤ２１２は、ブートプログラム、分散サーバシステムプログラム、種々のアプリケーション、編集ファイル、ユーザファイル等を記憶する。２０８はネットワークインタフェースカード（ＮＩＣ）であり、ＬＡＮ２１３を介して画像形成装置あるいは、あるいは他の情報処理装置と双方向にデータをやりとりする。
【００２０】
図３は、クライアントＰＣにサービスを提供する画像形成装置１０１のハードウェア構成を示す図である。図３では、画像形成装置１０１が印刷装置であった場合の例である。画像形成装置として、スキャナである場合には印刷部を備えておらず、スキャナ部を備えることになる。複写機である場合には、スキャナ部及び印刷部を備え、ファクシミリ装置である場合には、ファクシミリ部を備えることになる。
【００２１】
ＣＰＵ３００は、ＲＯＭ３０２のプログラムＲＯＭに記憶された制御プログラム等あるいは外部メモリ３１０に記憶された制御プログラム等に基づいて各部を制御する。例えば、システムバス３１１に接続される印刷部Ｉ／Ｆ３０４を通し、印刷部（プリンタエンジン）３０７に出力情報としての画像信号を出力する。また、このＲＯＭ３０２のプログラムＲＯＭには、ＣＰＵ３００の制御プログラム等を記憶する。ＲＯＭ３０２のフォント用ＲＯＭには上記出力情報を生成する際に使用するフォントデータ等を記憶する。ＲＯＭ３０２のデータ用ＲＯＭにはハードディスク等の外部メモリ３１０がない印刷装置の場合には、クライアントＰＣ上で利用される情報等が記憶される。画像形成装置１０１はネットワークＩ／Ｆ３０４を介してＬＡＮ２１３と接続し、クライアントＰＣとの通信が可能となっており、画像形成装置内の情報をクライアントＰＣ１００に通知可能に構成されている。３０１はＣＰＵ１０００の主メモリ、ワークエリア等として機能するＲＡＭであり、図示しない増設ポートに接続されるオプションＲＡＭにより、メモリ容量を拡張することができるように構成されている。なお、ＲＡＭ３０１は、出力情報を展開するための領域、環境データを格納するための領域、ＮＶＲＡＭ等に用いられる。表示部３０９は所定の情報を表示することによって、印刷サービス利用者に対して様々な情報を伝える。前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ３１０は、外部メモリＩ／Ｆ３０６によってアクセスが制御される。外部メモリ３１０は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、３０８はユーザが操作パネルによって操作するための、スイッチおよびＬＥＤ表示器等が配置されている。また、前述した外部メモリは１個に限らず、少なくとも１個以上備え、更に複数の外部メモリを接続できるように構成されていてもよい。外部メモリには、内蔵フォントに加えてオプションフォントカード、言語系の異なる印刷装置制御言語を解釈するプログラム等が格納される。さらに、図示しないＮＶＲＡＭを有し、操作パネル３０８から入力されたモード設定情報を記憶するようにしてもよい。また、時計装置３０３は証明書が有効期限切れかどうかを調べるときに使用するものである。時計装置３０３として、ＲＯＭ３０２に同一の時計機能を備えさせる構成、または、印刷装置の外部に同一の機能を備える構成としても良い。
【００２２】
図４は、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ１００のシステム内部のモジュール構成図の例である。図１のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ１０７，１１１も同様の構成である。このＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙシステムは、ネットワーク通信部４００と、ネットワーク通信部４００を利用してネットワーク上のサービスを検知するためのサービス検知部４０４とを有する。本実施例において、サービスとは、画像形成装置が提供する機能を示す。即ち、画像形成装置として、印刷装置の場合には、プリントサービスが提供されることになる。つまり、ネットワーク上のサービスが検知されることは、そのサービスを提供する画像形成装置が検知されることに相当し、サービスを検索することは、そのサービスを提供する画像形成装置（デバイス）を検索することに相当する。
【００２３】
サービス検知部４０４が、新たなサービスを検知（発見）すると、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙは、そのサービスをサービス情報保管部４０３に登録する。サービス情報保管部４０３に登録される情報は、サービスの種類（プリントサービス、スキャンサービス、コピーサービス等）と、そのサービスを提供する画像形成装置のネットワークアドレスである。サービスを検知する方法は、サービスを提供する画像形成装置が、ネットワーク上に対してサービスの開始時（通常、起動時）に通知するサービス開始通知を受信することであえる。サービス開始通知は、たとえば図７に示すＷｅｂ  Ｓｅｒｖｉｃｅｓ  Ｄｙｎａｍｉｃ  Ｄｉｓｃｏｖｅｒｙ（ウェブ  サービス  ダイナミック  ディスカバリ）（ＷＳ−Ｄｉｓｃｏｖｅｒｙ（ディスカバリ、以降のＤｉｓｃｏｖｅｒｙも同様））のＨｅｌｌｏ（ハロー、以降のＨｅｌｌｏも同様）メッセージである。又はＳｉｍｐｌｅ  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ（シンプル  サービス  ディスカバリ  プロトコル）（ＳＳＤＰ）の起動メッセージである。また、サービス検知部４０４はサービスの終了の検知も行う。サービスの終了が検知された場合は、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙはサービス情報保管部４０３に登録されたサービスの情報を削除する。サービスの終了の検知はたとえば図８のＷＳ−Ｄｉｓｃｏｖｅｒｙのｂｙｅ（バイ、以降のｂｙｅも同様）メッセージや、ＳＳＤＰの終了メッセージを受信した場合に行われる。
【００２４】
サービス情報登録処理部４０５はネットワークを介してサービス情報登録要求を受信した場合に、サービス情報をサービス情報保管部４０３に登録するための処理を行う。検索リクエスト受信処理部４０１は、ネットワーク通信部４００によって受信された検索リクエストを処理する。検索リクエストとは、ネットワーク上のクライアントＰＣから送られるリクエストであり、所望のサービスを検索するための条件を含んでいる。検索リクエストの具体例は、図９を用いて後述する。検索リクエスト受信処理部４０１は、検索リクエストを送信したクライアントＰＣのネットワークアドレスを取得し、そのネットワークアドレスをネットワークアドレス判断部４０２に通知する。また、検索リクエスト受信処理部４０１は、検索リクエストに含まれる検索条件を抽出し、その検索条件を満たすサービス情報を、サービス情報保管部４０３から抽出する。そして、抽出されたサービス情報に対応するサービスを提供する画像形成装置のネットワークアドレスを、サービス情報保管部４０３から取得する。そして、取得したそのネットワークアドレスをネットワークアドレス判断部に通知する。
【００２５】
ネットワークアドレス判断部４０２は、検索リクエスト受信処理部４０１から通知されたネットワークアドレスを比較する。即ち、検索リクエストを送信したクライアントＰＣのネットワークアドレスと、検索条件を満たしたサービスを提供する画像形成装置のネットワークアドレスとを比較する。そして、画像形成装置のネットワークアドレスがリンクローカルアドレスであり、且つ、クライアントＰＣと画像形成装置とが異なるサブネットに存在する場合には、その旨を検索リクエスト受信処理部４０１に通知する。この場合は、クライアントＰＣは、その画像形成装置にアクセスすることができないことになる。画像形成装置のネットワークアドレスがリンクローカルアドレスでない場合や、画像形成装置とクライアントＰＣとが同一サブネットに存在する場合には、その旨を検索リクエスト受信処理部４０１に通知する。この場合、クライアントＰＣは、その画像形成装置にアクセスすることができる。検索リクエスト受信処理部４０１は、ネットワークアドレス判断部４０２から通知された結果に基づいて、検索要求に対する応答を生成し、検索を要求したクライアントＰＣに送信する。検索要求に対する応答の具体例は、図１０を用いて後述する。これにより、検索を要求したクライアントＰＣには、アクセス可能な画像形成装置が提供するサービスが検索結果として送信されることになる。
【００２６】
図５は、画像形成装置が提供するサービスを検索する流れを示したシーケンス図である。
【００２７】
クライアントＰＣにサービスを提供する画像形成装置１０１，１０２は、サービスを開始する（通常、起動時）と、ネットワークに対して自身が提供するサービスを通知する（Ｆ５０１、Ｆ５０２）。
【００２８】
Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ１００において、サービス検知部４０４はこの通知を検知する。そして、サービス情報登録処理部４０５は、検知されたサービスの情報と画像形成装置のネットワークアドレスを、サービス情報保管部４０３に登録する（Ｆ５０３、Ｆ５０４）。
【００２９】
クライアントＰＣ１０４は、所望のサービスを検索するために、検索リクエストをＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ  １００に送信する（Ｆ５０５）。
【００３０】
Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ１００が検索リクエストを受信すると、検索リクエスト受信処理部４０１は、サービス情報保管部４０３に登録されている情報に基づいてサービスを検索する（Ｆ５０６）。そして、検索結果をクライアントＰＣ１０４に送信する（Ｆ５０７）。
【００３１】
このようなシステムにおいて、具体的に本発明を説明する。クライアントＰＣ１０４と、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ１００、画像形成装置１０１，１０２はサブネット１０５に存在する。そして、画像形成装置１０２は、サブネット１０５でのみ有効なＩＰアドレスを持つものとする。クライアントＰＣ１１２は、サブネット１１０に存在するとする。サブネット１０５でのみ有効なＩＰアドレスとは、ＩＰｖ４やＩＰｖ６のリンクローカルアドレス等である。尚、この説明においては、クライアントＰＣから送信される検索要求の検索条件を、画像形成装置１０１と１０２の両方が満たしているものとする。
【００３２】
このような状況において、画像形成装置１０１，１０２のサービスが開始されると、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ１００のサービス情報保管部４０３には画像形成装置１０１，１０２のサービス情報が登録される。そして、クライアントＰＣ１１２からＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ１００に対してサービスの検索リクエストが送信されると、従来の方式では、画像形成装置１０１，１０２の両方のネットワークアドレスが検索結果として応答される。その後、クライアントＰＣ１１２が画像形成装置１０２を利用しようとしても、クライアントＰＣ１１２は、画像形成装置１０２と通信することができない。検索結果として応答された画像形成装置１０２のネットワークアドレスは、サブネット１０５の中でのみ有効なアドレスだからである。
【００３３】
これに対して、本実施例では、クライアントＰＣ１１２から送信される検索リクエストに対して、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ１００は、検索結果として画像形成装置１０１のネットワークアドレスだけを応答する。Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ１００のネットワークアドレス判断部４０２において、クライアントＰＣ１１２と画像形成装置１０２が異なるサブネットに存在し、互いに通信できないことを判断するからである。その結果、クライアントＰＣ１１２には、利用可能な画像形成装置１０１だけが通知されることになり、無駄な検索結果を省き、検索の精度を向上させることができる。
【００３４】
図６は本実施例におけるのＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙのサービス検索処理を示すフローチャートである。図６の各ステップは、Ｄｉｓｃｏｖｅｒｙ  ＰｒｏｘｙのＣＰＵ２０１が、ＲＯＭ２０２等の格納されたプログラムを実行することによって処理される。
【００３５】
図６のフローは、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙのネットワーク通信部４００が、クライアントＰＣから送信された検索リクエストを受信した場合に開始する。クライアントＰＣは、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙに対して図９のようなＸＭＬ形式のＰｒｏｂｅメッセージをユニキャストで送信する。図９に示すＰｒｏｂｅ（プローブ、以降のＰｒｏｂｅも同様）メッセージは、検索リクエストの一例である。図９のＰｒｏｂｅメッセージにおいては、ｂｏｄｙ（ボディ、以降のｂｏｄｙも同様）部に＜Ｐｒｏｂｅ＞タグが存在し、このメッセージがＰｒｏｂｅメッセージであることを示している。＜Ｐｒｏｂｅ＞タグの中には＜Ｔｙｐｅｓ＞タグが存在する。＜Ｔｙｐｅｓ＞タグは検索したいデバイスのタイプを指定するものであり、検索条件を示している。図９の例では、デバイスのタイプがプリンタであるデバイスを検索するためのＰｒｏｂｅメッセージを示している。
【００３６】
ステップＳ６０１において、検索リクエスト受信処理部４０１は、受信した検索リクエストに含まれる検索条件を抽出する。図９の例では、＜Ｔｙｐｅｓ＞タグに記述されたＰｒｉｎｔｅｒ（プリンタ、以降のＰｒｉｎｔｅｒも同様）を抽出する。ステップＳ６０２において、検索リクエスト受信処理部４０１は、抽出した条件に合致するサービスを、サービス情報保管部４０３の中から検索する。図９の検索リクエストを受信した場合には、プリントサービスが検索されることになる。そして、ステップＳ６０３において、検索リクエスト受信処理部４０１は、検索されたサービス情報に基づいて、検索結果リストを生成する。検索結果リストには、検索条件を満たすサービスを提供する画像形成装置のネットワークアドレスが含まれている。検索リクエスト受信処理部４０１は、生成した検索結果リストと、検索リクエストを送信したクライアントＰＣのネットワークアドレスとを、ネットワークアドレス判断部４０２に通知する。
【００３７】
ステップＳ６０４において、ネットワークアドレス判断部４０２は、通知された検索結果リストの中から、１つのネットワークアドレスを抽出する。ステップＳ６０５において、ネットワークアドレス判断部４０２は、抽出したネットワークアドレスが、リンクローカルアドレスであるか否かを判断する。具体的には、ＩＰｖ４アドレスの場合、１６９．２５４．０．０〜１６９．２５４．２５５．２５５の範囲内のアドレスであるか否かを判断する。ＩＰｖ６アドレスの場合、ＦＥ８０：：／１０の範囲内のアドレスであるか否かを判断する。リンクローカルアドレスであると判断された場合には、ステップＳ６０６へと進み、リンクローカルアドレスではないと判断された場合には、ステップＳ６０８へと進む。ステップＳ６０６において、ネットワークアドレス判断部４０２は、ステップＳ６０４で抽出されたアドレスの画像形成装置と、検索リクエストを送信したクライアントＰＣとが、同一サブネットに存在するか否かを判断する。この判断は、それぞれのネットワークアドレスを比較することによって行われる。例えば、ステップＳ６０４で抽出したＩＰアドレスが１７２．２４．１６０．２３２であり、サブネットマスクが２５５．２５５．２５２．０と設定されている状況では、１７２．２４．１６０．０が、サブネットを特定するための情報となる。これに対して、クライアントＰＣのＩＰアドレスが、例えば、１７２．２４．１７７．４２である場合、サブネットを特定するための情報は１７２．２４．１７７．０となり、両者は異なるため、同一サブネットに存在しないと判断される。一方、クライアントＰＣのＩＰアドレスが、例えば、１７２．２４．１６０．２２０である場合、サブネットを特定するための情報は１７２．２４．１６０．０となり、両者は同一であるため、同一サブネットに存在すると判断される。ＩＰｖ６アドレスの場合はＩＰｖ６アドレスのネットワークアドレス部分が同じかどうかで判断する。ステップＳ６０６において、同じサブネットに存在すると判断された場合には、ステップＳ６０８へと進み、同じサブネットに存在すると判断されなかった場合には、ステップＳ６０７へと進む。ステップＳ６０７において、ネットワークアドレス判断部４０２は、検索結果リストから、ステップＳ６０４において抽出したネットワークアドレスを削除する。その結果、クライアントＰＣからアクセスできない画像形成装置のアドレスは、検索結果リストから削除されることになる。ステップＳ６０８において、ネットワークアドレス判断部４０２は、検索結果リストを参照し、リスト上の全てのアドレスを抽出したか否かを判断する。まだ、未抽出のアドレスがある場合にはステップＳ６０４へと戻る。検索結果リストの全てのアドレスについて抽出していた場合には、ネットワークアドレス判断部４０２は、検索結果リストを検索リクエスト受信処理部４０１へと通知する。ここで通知される検索結果リストは、クライアントＰＣからアクセスできない画像形成装置のアドレスが含まれていないものである。
【００３８】
ステップＳ６０９において、検索リクエスト受信処理部４０１は、ネットワークアドレス判断部４０２から通知された検索結果リストに基づいて、検索リクエストに対する検索応答を作成する。図１０は、ステップＳ６０９において作成される検索応答の一例であるＰｒｏｂｅＭａｔｃｈ（プローブマッチ、以降のＰｒｏｂｅＭａｔｃｈも同様）メッセージである。図１０のＰｒｏｂｅＭａｔｃｈメッセージにおいては、ｂｏｄｙ部に＜ＰｒｏｂｅＭａｔｃｈｅｓ＞タグが存在し、このメッセージがＰｒｏｂｅＭａｔｃｈメッセージであることを示している。＜ＰｒｏｂｅＭａｔｃｈｅｓ＞タグの中には＜ＰｒｏｂｅＭａｔｃｈ＞タグで示されるＰｒｏｂｅＭａｔｃｈ部１００１、１００２が存在する。それぞれのＰｒｏｂｅＭａｔｃｈ部が１個の検索結果に対応しており、図１０の例においては２個の画像形成装置が検索条件であるＰｒｉｎｔｅｒに合致したことを示す検索結果を示している。ステップＳ６１０において、ネットワーク通信部は、ステップＳ６０９において作成された検索応答を、検索リクエストを送信したクライアントＰＣに対して送信する。
【００３９】
図７はＷＳ−ＤｉｓｃｏｖｅｒｙのＨｅｌｌｏメッセージの例である。Ｈｅｌｌｏメッセージはネットワーク上の他の端末にサービスの開始を通知するためのメッセージであり、サービスを開始する際に送信される。通常は、画像形成装置が起動した際に送信される。Ｄｉｓｃｏｖｅｒｙ  ＰｒｏｘｙはこのＨｅｌｌｏメッセージを受信すると、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙのサービス情報保管部４０３にその情報を登録し、検索に対して登録した情報を応答する。
【００４０】
Ｈｅｌｌｏメッセージは＜Ｈｅａｄｅｒ＞タグで囲まれるｈｅａｄｅｒ（ヘッダー、以降のｈｅａｄｅｒも同様）部７０１と＜Ｂｏｄｙ＞タグで囲まれるｂｏｄｙ部７０２からなり、全体が＜Ｅｎｖｅｌｏｐｅ＞タグで囲まれる構造になっている。この構造は本実施例において使用するメッセージすべてに共通である。ｈｅａｄｅｒ部７０１はメッセージの内容に依存しない共通ヘッダとしての役割を果たしており、＜Ａｃｔｉｏｎ＞タグ、＜ＭｅｓｓａｇｅＩＤ＞タグ、＜Ｔｏ＞タグが存在する。＜Ａｃｔｉｏｎ＞タグはメッセージの種類を識別するためのものである。＜ＭｅｓｓａｇｅＩＤ＞タグはメッセージを一意に識別するための識別子である。＜Ｔｏ＞タグはこのメッセージの送信先を識別するためのものである。一方、ｂｏｄｙ部７０２はメッセージの内容に対応して構造が変化する。図７においては、＜Ｂｏｄｙ＞タグの直下に＜Ｈｅｌｌｏ＞タグが存在し、このメッセージがＨｅｌｌｏメッセージであることを示している。＜Ｈｅｌｌｏ＞タグの中には＜ＥｎｄｐｏｉｎｔＲｅｆｅｒｅｎｃｅ＞タグ、＜Ｔｙｐｅｓ＞タグ、＜ＸＡｄｄｒｓ＞タグ、＜ＭｅｔａｄａｔａＶｅｒｓｉｏｎ＞タグが存在する。＜ＥｎｄｐｏｉｎｔＲｅｆｅｒｅｎｃｅ＞タグの中には＜Ａｄｄｒｅｓｓ＞タグが存在し、デバイスを識別するアドレス情報が記述される。＜Ｔｙｐｅｓ＞タグはデバイスのタイプ情報が記述され、本例では印刷装置であることが示されている。＜ＸＡｄｄｒｓ＞タグはデバイス情報を取得するためのＵＲＬが記述される。＜ＭｅｔａｄａｔａＶｅｒｓｉｏｎ＞タグはデバイス情報のバージョンが記述される。
【００４１】
図８はＷＳ−Ｄｉｓｃｏｖｅｒｙのｂｙｅメッセージの例である。Ｂｙｅ（バイ、以降のＢｙｅも同様）メッセージはネットワークに公開するサービスを中止する場合にネットワーク上の他の端末に通知するためのメッセージである。通常は、画像形成装置の電源が落とされる際に送信される。Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙはこのｂｙｅメッセージを受信すると、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙのサービス情報保管部４０３から、指定されたＩＤを所有するサービス情報を削除する。Ｂｙｅメッセージにおいては、ｂｏｄｙ部に＜Ｂｙｅ＞タグが存在し、このメッセージがＢｙｅメッセージであることを示している。＜Ｂｙｅ＞タグの中には＜ＥｎｄｐｏｉｎｔＲｅｆｅｒｅｎｃｅ＞タグが存在する。＜ＥｎｄｐｏｉｎｔＲｅｆｅｒｅｎｃｅ＞タグの中には＜Ａｄｄｒｅｓｓ＞タグが存在し、デバイスを識別するアドレス情報を持つ。
【００４２】
以上説明したように、本実施例によれば、クライアントＰＣがＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙに検索リクエストを送った場合、その検索結果にクライアントＰＣがアクセスできない画像形成装置が含まれることがなくなる。その結果、デバイス検索の精度が従来よりも格段に向上する。
【００４３】
尚、図６で説明したサービス検索処理では、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙのネットワークアドレス判断部４０２が、検索条件を満たす画像形成装置のアドレス毎に、判断を行った。これに対して、ネットワークアドレス判断部４０２が、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙと検索リクエストを送信したクライアントＰＣとが同一サブネットに存在するか否かを判断してもよい。そして、同一サブネットに存在する場合には、検索条件を満たす全ての画像形成装置のアドレスを検索応答として送信する。一方、同一サブネットに存在しない場合には、検索条件を満たす画像形成装置のアドレスうち、リンクローカルアドレス以外のアドレスを検索応答として送信する。サービス情報保管部４０３に、同一サブネットに存在しない画像形成装置のリンクローカルアドレスが登録されることはないように制御されていれば、この方法を用いても、同様に上述した効果を得ることができる。
【００４４】
また、上記図６で説明したサービス検索処理では、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙは、サービス情報保管部４０３に保持されたサービス情報のうち、検索条件を満たすサービスを検索していた。そして、その後、検索条件を満たすサービスに対応する画像形成装置のアドレスを判断していた。しかし、先にサービス情報保管部４０３に保持された全てのサービス情報に対する画像形成装置のアドレスを判断してもよい。即ち、リンクローカルアドレスであるか否か及び同一サブネットに存在するか否かを先に判断してもよい。そして、リンクローカルアドレスが設定されていない又は同一サブネットに存在する画像形成装置の中から、検索条件を満たすものを検索するようにしてもよい。
【００４５】
（実施例２）
クライアントＰＣがアクセスできない画像形成装置を検索結果に含まないようにするために、実施例１では、サービスの検索を実行する際に、応答する検索結果を選別する方法を用いていた。実施例２はＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙに対して、他のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙが保持しているサービス情報を登録する場合や、画像形成装置が自身のサービス情報をＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙに登録する場合の例である。本実施例では、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙにサービス情報を登録するにあたって、無駄な情報は極力登録しないように制御する方法である。以下、この実施例２について説明する。
【００４６】
システム構成や各装置のハードウェア構成等は、実施例１と同じであるため、説明は省略する。
【００４７】
図１１は、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙにサービスの登録を行う装置において実行される処理を示すフローチャートである。Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙにサービスの登録を行なう装置とは、例えば画像形成装置や他のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ等である。他のＤｉｓｃｏｖｅｒｙ  ＰｒｏｘｙがＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙにサービスの登録を行なう場合は、複数のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ間で、サービス情報保管部４０３に保持する情報の同期を図る目的で行われる。
【００４８】
図１１のフローチャートは、他のＤｉｓｃｏｖｅｒｙ  ＰｒｏｘｙがＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙにサービスの登録を行なう場合の、他のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙの動作を示している。つまり、図１の例では、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ１００がＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ１０７にサービス情報の登録を行う場合の、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ１００の動作を示している。Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ１００からＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ１０７に送信されるサービス情報は、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ１００のサービス情報保管部４０３に登録されているサービス情報である。以下、サービス情報を他のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙに送信する送信元のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙを、送信元のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙと呼ぶ。また、他のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙから送信されたサービス情報を受信し、自身のサービス情報保管部４０３に登録するＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙを、送信先のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙと呼ぶこととする。
【００４９】
図１１のフローチャートは、送信元のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙにおいて、サービス情報の登録指示がなされた場合に開始する。登録指示は、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙが備える操作部を用いてユーザが送信先のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙのアドレスを入力することによって行われる。又は、予め、送信先のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙを送信元のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙに設定しておき、決められた時間又は定期的に、サービス情報の登録処理が行われるようにしてもよい。
【００５０】
ステップＳ１１０１において、送信元のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙは、自身のネットワークアドレスと、送信先のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙのネットワークアドレスとを比較する。そして、送信先のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙが、自身（送信元のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ）と同一のサブネットに存在するか否かを判断する。具体的な判断方法は、実施例１で説明した方法を用いればよい。同一サブネットに存在すると判断された場合にはステップＳ１１０３へと進み、同一サブネットに存在すると判断されなかった場合には、ステップＳ１１０２へと進む。ステップＳ１１０３において、送信元のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙは、サービス情報保管部４０３に保持されている全てのサービス情報を、送信先のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙに送信する。送信されるサービス情報には、少なくともサービスの内容と当該サービスを提供する画像形成装置のアドレスとが含まれる。ステップＳ１１０２において、送信元のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙは、サービス情報保管部４０３に保持されるサービス情報の中から、リンクローカルアドレスが設定されている画像形成装置が提供するサービスを抽出する。そして、サービス情報保管部４０３に保持されるサービス情報の中から、抽出されたサービス情報を除いたサービス情報を、送信先のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙに送信する。ここで送信されるサービス情報には、少なくともサービスの内容と当該サービスを提供する画像形成装置のアドレスとが含まれるが、このアドレスの中には、リンクローカルアドレスは含まれていない。
【００５１】
尚、図１１では、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙが他のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙにサービス情報を登録する例を示したが、画像形成装置がＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙにサービス情報を登録する場合も同様である。その場合、ステップＳ１１０１において、同一サブネットに存在しないと判断された場合には、ステップＳ１１０２において、サービス情報を送信しないことになる。
【００５２】
図１１の例では、サービス情報をＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙに送信する送信元の装置が、必要なサービス情報のみを抽出して送信していた。しかし、サービス情報を受信したＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙにおいて、必要なサービス情報を抽出し、必要なサービス情報のみを登録するように制御してもよい。
【００５３】
図１２は、このような場合におけるサービス情報を受信したＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙの動作を示すフローチャートである。即ち、送信先のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙの動作を示すフローチャートである。図１２のフローは、送信先のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙが、送信元のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ又は画像形成装置から送信されたサービス情報を受信した場合に開始する。
【００５４】
ステップＳ１２０１において、送信先のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙは、受信したサービス情報の送信元の装置のネットワークアドレスと、自身のネットワークアドレスとを比較する。そして、サービス情報の送信元の装置が、自身（送信先のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ）と同一のサブネットに存在するか否かを判断する。具体的な判断方法は、実施例１で説明した方法を用いればよい。同一サブネットに存在すると判断された場合にはステップＳ１２０２へと進み、同一サブネットに存在すると判断されなかった場合には、ステップＳ１２０３へと進む。ステップＳ１２０２において、送信先のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙは、受信したサービス情報を、自身のサービス情報保管部４０３へ登録する。ステップＳ１２０３において、送信先のＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙは、受信したサービス情報の中から、リンクローカルアドレスが設定されている画像形成装置が提供するサービスを抽出する。そして、受信したサービス情報の中から、抽出されたサービス情報を除いたサービス情報を、サービス情報保管部４０３へ登録する。
【００５５】
以上説明したように、本実施例によれば、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙに、当該Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙと異なるサブネットに存在する画像形成装置であって、且つリンクローカルアドレスを持つ画像形成装置が登録されることはなくなる。従って、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙは、クライアントＰＣから送信された検索リクエストに対して、異なるサブネットに存在し、リンクローカルアドレスが設定された画像形成装置を応答することがなくなる。その結果、検索応答に不要な情報が含まれることがなくなり、デバイス検索の精度が従来よりも向上する。
【００５６】
（実施例３）
クライアントＰＣがアクセスできない画像形成装置を検索結果に含まないようにするために、実施例１では、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙが、応答する検索結果を選別する方法を用いていた。実施例３は、検索結果を受信したクライアントＰＣが、自身がアクセスできない画像形成装置を結果として表示しないように制御する。これにより、クライアントＰＣを操作するユーザから、クライアントＰＣがアクセスできない画像形成装置が選択されてしまうことがなくなる。以下この実施例３について説明する。
【００５７】
システム構成や各装置のハードウェア構成等は、実施例１と同じであるため、説明は省略する。
【００５８】
図１３は、クライアントＰＣにおいて実行される検索結果を表示する際の処理を示すフローチャートである。図１３の各ステップは、クライアントＰＣが備えるＣＰＵ２０１が、ＲＯＭ２０２等に格納されたプログラムを実行することによって処理される。
【００５９】
図１３のフローは、検索リクエストをＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙに送信したクライアントＰＣが、その検索応答をＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙから受信した際に開始する。
【００６０】
ステップＳ１３０１において、クライアントＰＣのＣＰＵは、受信した検索応答の中に含まれる画像形成装置のアドレスを１つ抽出する。ステップＳ１３０２において、クライアントＰＣのＣＰＵは、抽出したアドレスが、リンクローカルアドレスであるか否かを判断する。具体的な判断方法は、実施例１の図６において説明した方法を用いればよい。リンクローカルアドレスであると判断された場合には、ステップＳ１３０３へと進み、リンクローカルアドレスであると判断されなかった場合には、ステップＳ１３０５へと進む。ステップＳ１３０３において、クライアントＰＣのＣＰＵは、抽出したアドレスに対応する画像形成装置とクライアントＰＣ自身が同一のサブネットに存在しているか否かを判断する。この判断は、画像形成装置のネットワークアドレスとクライアントＰＣのネットワークアドレスとを比較することによって行われる。具体的な方法は、実施例１の図６において説明した方法を用いればよい。判断の結果、同じサブネットに存在すると判断された場合には、ステップＳ１３０５へと進み、異なるサブネットに存在すると判断された場合には、ステップＳ１３０４へと進む。ステップＳ１３０４において、クライアントＰＣのＣＰＵは、ステップＳ１３０１で抽出したアドレスに対応する画像形成装置を、検索結果の表示対象から削除する。ステップＳ１３０５において、クライアントＰＣのＣＰＵは、受信した結果応答の中に他のアドレスが含まれているか否かを判断する。他のアドレスが含まれていると判断された場合には、ステップＳ１３０１へ戻る。他のアドレスが含まれていない場合には、ステップＳ１３０６へと進む。ステップＳ１３０６において、クライアントＰＣのＣＰＵは、受信した結果応答の中から、表示対象となる画像形成装置を抽出し、これらの画像形成装置の情報に基づいて検索結果の表示画面を作成する。そして、クライアントＰＣのＣＲＴＣ２０６は、ＣＲＴ２１０に、検索結果表示画面を表示させる。図１４は、クライアントＰＣのＣＲＴ２１０に表示される検索結果表示画面の一例である。図１４の例では、画面上の１４０３の領域に、二台のプリンタが、検索結果として表示されている。尚、１４０１のボタンは、検索を指示する際に、検索条件を指定するためのボタンであり、不図示の「ｓｃａｎｎｅｒ（スキャナ）」「ｐｒｉｎｔｅｒ（プリンタ）」等のキーワードが指定可能である。また、１４０２のボタンは、検索の実行を指示するためのボタンであり、１４０１において検索条件が指定された状態で押下すると、当該条件に基づいて検索リクエストがＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙに送信される。
【００６１】
以上説明したように、本実施例によれば、クライアントＰＣがアクセスできない画像形成装置が検索結果として表示されることがなくなるので、このような画像形成装置がユーザに選択されてしまうことがなくなる。これにより、デバイス検索の精度が従来よりも向上する。
【００６２】
尚、図１３で説明した検索結果の表示処理では、クライアントＰＣが、結果応答に含まれる画像形成装置のアドレス毎に、判断を行った。これに対して、検索を行ったＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙと、検索リクエストを送信したクライアントＰＣとが同一サブネットに存在するか否かを判断してもよい。そして、同一サブネットに存在する場合には、検索条件を満たす全ての画像形成装置のアドレスを検索結果として表示する。一方、同一サブネットに存在しない場合には、検索条件を満たす画像形成装置のアドレスうち、リンクローカルアドレス以外のアドレスを検索結果として表示する。Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙに、同一サブネットに存在しない画像形成装置のリンクローカルアドレスが登録されることはないように制御されていれば、この方法を用いても、同様に上述した効果を得ることができる。
【００６３】
（その他の実施例）
上記実施例では、画像形成装置とＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙと、クライアントＰＣとをそれぞれ別の装置として説明したが、これらが１つの装置として提供されても良い。即ち、例えば図１の例において、ＤＰ１００の機能を画像形成装置１０１又は画像形成装置１０２等の画像形成装置が備えていてもよい。同様に、クライアントＰＣが上記実施例におけるＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙの機能を備えていてもよい。又は、上記実施例における画像形成装置とクライアントＰＣが１つの装置によって提供されてもよい。
【００６４】
また、本発明は、前述した実施例のフローチャートを実現するソフトウェアのコンピュータプログラムコードを記録した記憶媒体を、システムあるいは装置に供給してもよい。そして、そのシステムあるいは装置のコンピュータ（ＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成され得る。
【００６５】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００６６】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【図面の簡単な説明】
【００６７】
【図１】本実施例におけるデバイス検索システムの構成を示す図
【図２】Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ及びクライアントＰＣのハードウェア構成を示すブロック図
【図３】画像形成装置のハードウェア構成を示すブロック図
【図４】Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙのシステム内部のモジュール構成図
【図５】サービス検索処理の流れを示すシーケンス図
【図６】Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙのサービス検索処理を示すフローチャート
【図７】本実施例におけるＨｅｌｌｏメッセージの例
【図８】本実施例におけるＢｙｅメッセージの例
【図９】本実施例におけるＰｒｏｂｅメッセージの例
【図１０】本実施例におけるＰｒｏｂｅＭａｔｃｈメッセージの例
【図１１】実施例２において、Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙにサービスの登録を行う装置において実行される処理を示すフローチャート
【図１２】実施例２におけるＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙの動作を示すフローチャート
【図１３】実施例３のクライアントＰＣにおいて実行される検索結果を表示する際の処理を示すフローチャート
【図１４】クライアントＰＣのＣＲＴに表示される検索結果表示画面の例
【符号の説明】
【００６８】
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２０４  システムバス
２０５  ＫＢＣ
２０６  ＣＲＴＣ
２０７  ＤＫＣ
２０８  ＮＩＣ
２０９  ＫＢ
２１０  ＣＲＴ
２１１  ＨＤ
２１２  ＦＤ
【図１】
0005473248.tif 000002
【図２】
0005473248.tif 000003
【図３】
0005473248.tif 000004
【図４】
0005473248.tif 000005
【図５】
0005473248.tif 000006
【図６】
0005473248.tif 000007
【図７】
0005473248.tif 000008
【図８】
0005473248.tif 000009
【図９】
0005473248.tif 000010
【図１０】
0005473248.tif 000011
【図１１】
0005473248.tif 000012
【図１２】
0005473248.tif 000013
【図１３】
0005473248.tif 000014
【図１４】
0005473248.tif 000015