(57)【特許請求の範囲】
【請求項１】
複数の領域を含むネットワークのノード探索システムであって、前記複数の領域それぞれは、ノードと探索装置とをそれぞれ１つ以上ずつ含み、
前記ノードの内の第１のノードそれぞれは、
同じ領域内の探索装置と通信して、他のノードのネットワークにおける位置を探索する第１の探索手段と、
前記探索および探索以外により得られたノードの位置を用いて、他のノードと通信する通信手段と
を有し、
前記ノードそれぞれは、
前記他の領域内のノードに対して、それぞれの領域内の探索装置の位置を通知し、
前記他の領域内の探索装置の位置の通知を受けた場合に、同じ領域内の探索装置の位置を、前記他の領域内の探索装置に通知し、
前記探索装置それぞれは、
前記通知された他の領域内の探索装置の位置を用いて、他の領域内の探索装置と通信し、それぞれが保持した探索装置の位置を相互に通知する通知手段と、
同じ領域内の第１のノードの通信に応えて、前記通知された他の領域内の探索装置の位置を用いて、他の領域内の探索装置と通信し、前記第１のノード以外のノードの位置を探索する第２の探索手段と
を有する
ノード探索システム。
【請求項２】
複数の領域を含むネットワークのノード探索システムであって、前記複数の領域それぞれは、ノードと探索装置とをそれぞれ１つ以上ずつ含み、
前記ノードの内の第１のノードそれぞれは、
同じ領域内の探索装置と通信して、他のノードのネットワークにおける位置を探索する第１の探索手段と、
前記探索および探索以外により得られたノードの位置を用いて、他のノードと通信する通信手段と
を有し、
前記ノードそれぞれは、
前記他の領域内のノードに対して、それぞれの領域内の探索装置の位置を通知し、
前記他の領域内の探索装置の位置の通知を受けた場合に、通知された他の領域内の探索装置の位置を、同じ領域内の探索装置に通知し、
前記探索装置それぞれは、
前記通知された他の領域内の探索装置の位置を用いて、他の領域内の探索装置と通信し、それぞれが保持した探索装置の位置を相互に通知する通知手段と、
同じ領域内の第１のノードの通信に応えて、前記通知された他の領域内の探索装置の位置を用いて、他の領域内の探索装置と通信し、前記第１のノード以外のノードの位置を探索する第２の探索手段と
を有する
ノード探索システム。
【請求項３】
前記探索装置は、前記クライアント装置または前記サーバ装置と一体に構成されている
請求項１または２に記載のノード探索システム。
【請求項４】
前記第１のノードと同じ領域内の探索装置は、
前記第１のノードと、前記第１のノード以外のノードとの間を中継する中継手段
をさらに有する
請求項１〜３のいずれかに記載のノード探索システム。
【請求項５】
前記第１のノードは、サービスの提供を受けるクライアント装置であって、
前記第１のノード以外のノードは、サービスを提供するサーバ装置である
請求項１〜４のいずれかに記載のノード探索システム。
【請求項６】
前記第１のノードは、サービスを提供するサーバ装置であって、
前記第１のノード以外のノードは、サービスの提供を受けるクライアント装置である
請求項１〜３のいずれかに記載のノード探索システム。
【請求項７】
複数の領域を含むネットワークの探索装置であって、前記複数の領域それぞれは、ノードと探索装置とをそれぞれ１つ以上ずつ含み、前記ノードの内の第１のノードそれぞれは、同じ領域内の探索装置と通信して、他のノードのネットワークにおける位置を探索し、前記探索および探索以外により得られたノードの位置を用いて、他のノードと通信し、前記ノードそれぞれは、前記他の領域内のノードに対して、それぞれの領域内の探索装置の位置を通知し、前記他の領域内の探索装置の位置の通知を受けた場合に、同じ領域内の探索装置の位置を、前記他の領域内の探索装置に通知し、
前記通知された他の領域内の探索装置の位置を用いて、他の領域内の探索装置と通信し、それぞれが保持した探索装置の位置を相互に通知する通知手段と、
同じ領域内の第１のノードの通信に応えて、前記通知された他の領域内の探索装置の位置を用いて、他の領域内の探索装置と通信し、前記第１のノード以外のノードの位置を探索する探索手段と
を有する探索装置。
【請求項８】
複数の領域を含むネットワークの探索装置であって、前記複数の領域それぞれは、ノードと探索装置とをそれぞれ１つ以上ずつ含み、前記ノードの内の第１のノードそれぞれは、同じ領域内の探索装置と通信して、他のノードのネットワークにおける位置を探索し、前記探索および探索以外により得られたノードの位置を用いて、他のノードと通信し、前記ノードそれぞれは、前記他の領域内のノードに対して、それぞれの領域内の探索装置の位置を通知し、前記他の領域内の探索装置の位置の通知を受けた場合に、通知された他の領域内の探索装置の位置を、同じ領域内の探索装置に通知し、
前記通知された他の領域内の探索装置の位置を用いて、他の領域内の探索装置と通信し、それぞれが保持した探索装置の位置を相互に通知する通知手段と、
同じ領域内の第１のノードの通信に応えて、前記通知された他の領域内の探索装置の位置を用いて、他の領域内の探索装置と通信し、前記第１のノード以外のノードの位置を探索する探索手段と
を有する探索装置。
【請求項９】
複数の領域を含むネットワークのノード探索方法であって、前記複数の領域それぞれは、ノードと探索装置とをそれぞれ１つ以上ずつ含み、
前記ノードの内の第１のノードそれぞれは、
同じ領域内の探索装置と通信して、他のノードのネットワークにおける位置を探索し、
前記探索および探索以外により得られたノードの位置を用いて、他のノードと通信し、
前記ノードそれぞれは、
前記他の領域内のノードに対して、それぞれの領域内の探索装置の位置を通知し、前記他の領域内の探索装置の位置の通知を受けた場合に、同じ領域内の探索装置の位置を、前記他の領域内の探索装置に通知し、
前記探索装置それぞれは、
前記通知された他の領域内の探索装置の位置を用いて、他の領域内の探索装置と通信し、それぞれが保持した探索装置の位置を相互に通知し、
同じ領域内の第１のノードの通信に応えて、前記通知された他の領域内の探索装置の位置を用いて、他の領域内の探索装置と通信し、前記第１のノード以外のノードの位置を探索する
ノード探索方法。
【請求項１０】
複数の領域を含むネットワークのノード探索方法であって、前記複数の領域それぞれは、ノードと探索装置とをそれぞれ１つ以上ずつ含み、
前記ノードの内の第１のノードそれぞれは、
同じ領域内の探索装置と通信して、他のノードのネットワークにおける位置を探索し、
前記探索および探索以外により得られたノードの位置を用いて、他のノードと通信し、
前記ノードそれぞれは、
前記他の領域内のノードに対して、それぞれの領域内の探索装置の位置を通知し、前記他の領域内の探索装置の位置の通知を受けた場合に、通知された他の領域内の探索装置の位置を、同じ領域内の探索装置に通知し、
前記探索装置それぞれは、
前記通知された他の領域内の探索装置の位置を用いて、他の領域内の探索装置と通信し、それぞれが保持した探索装置の位置を相互に通知し、
同じ領域内の第１のノードの通信に応えて、前記通知された他の領域内の探索装置の位置を用いて、他の領域内の探索装置と通信し、前記第１のノード以外のノードの位置を探索する
ノード探索方法。
【請求項１１】
複数の領域を含むネットワークのノード探索方法を実現するプログラムであって、前記複数の領域それぞれは、ノードと探索装置とをそれぞれ１つ以上ずつ含み、
前記ノードの内の第１のノードそれぞれにおいて、
同じ領域内の探索装置と通信して、他のノードのネットワークにおける位置を探索するステップと、
前記探索および探索以外により得られたノードの位置を用いて、他のノードと通信するステップと
をコンピュータに実行させ、
前記ノードそれぞれにおいて、
前記他の領域内のノードに対して、それぞれの領域内の探索装置の位置を通知し、前記他の領域内の探索装置の位置の通知を受けた場合に、同じ領域内の探索装置の位置を、前記他の領域内の探索装置に通知するステップ
をコンピュータに実行させ、
前記探索装置それぞれにおいて、
前記通知された他の領域内の探索装置の位置を用いて、他の領域内の探索装置と通信し、それぞれが保持した探索装置の位置を相互に通知するステップと、
同じ領域内の第１のノードの通信に応えて、前記通知された他の領域内の探索装置の位置を用いて、他の領域内の探索装置と通信し、前記第１のノード以外のノードの位置を探索するステップと
をコンピュータに実行させる
プログラム。
【請求項１２】
複数の領域を含むネットワークのノード探索方法を実現するプログラムであって、前記複数の領域それぞれは、ノードと探索装置とをそれぞれ１つ以上ずつ含み、
前記ノードの内の第１のノードそれぞれにおいて、
同じ領域内の探索装置と通信して、他のノードのネットワークにおける位置を探索するステップと、
前記探索および探索以外により得られたノードの位置を用いて、他のノードと通信するステップと
をコンピュータに実行させ、
前記ノードそれぞれにおいて、
前記他の領域内のノードに対して、それぞれの領域内の探索装置の位置を通知し、前記他の領域内の探索装置の位置の通知を受けた場合に、通知された他の領域内の探索装置の位置を、同じ領域内の探索装置に通知するステップ
をコンピュータに実行させ、
前記探索装置それぞれにおいて、
前記通知された他の領域内の探索装置の位置を用いて、他の領域内の探索装置と通信し、それぞれが保持した探索装置の位置を相互に通知するステップと、
同じ領域内の第１のノードの通信に応えて、前記通知された他の領域内の探索装置の位置を用いて、他の領域内の探索装置と通信し、前記第１のノード以外のノードの位置を探索するステップと
をコンピュータに実行させる
プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、サービスを提供するノードなどを探索するためのノード探索システムおよびその方法に関する。
【０００２】
【従来の技術】
コンピュータ・ネットワークにおいては、コンピュータによって各種のサービスが提供されている。
提供されるサービスの代表例として、ＷＷＷ（World Wide Web）システムによる情報提供サービス、サーバ-クライアントシステムによるプリントサービスなどが挙げられる。
ネットワーク上のサービスを利用しようとするとき、ユーザは、所望の処理、望ましいサービス属性（例えば、機能、性能）、制約条件（例えば、サポートされる通信プロトコル、使用される課金の種類）、または最小化または最大化する測定基準（例えば、費用、品質）を要求として持つ。
この要求に基づいて、ユーザは、ネットワーク上に散在する各種のサーバ装置の中から、要求を満足するサーバ装置を発見し、さらに、その中からひとつを選択し、そのサーバ装置のネットワーク上の位置を示す識別情報（ネットワーク・アドレス、ドメイン・ネーム、URL など。以下、サービス位置と呼ぶ。）によってサーバ装置を指定し、ネットワークを介して通信を行い、所望の処理を実行させる。
【０００３】
ここで、近年、インターネット利用の一般化により、多くのユーザが、遠隔地のコンピュータが提供する各種のサービスを、ネットワークを介して利用できるようになった。
また、自動販売機や家庭用電化製品などのさまざまな装置や機器がネットワークに直接、接続されるようになってきつつあり、今後サービスの内容はさらに多様化することが予想されている。
従って、ユーザの要求を満足する未知のサーバ装置などのサービス位置やサービス属性に関する情報を、ユーザやクライアント装置に提供するシステムの重要性が増している。
また、同時に、サーバ装置などの情報を提供するシステムには、探索可能範囲の広域性と、探索可能対象の多様性とが求められている。
【０００４】
【発明が解決しようとする課題】
本発明は、上述した要望に応えるべくなされたものであり、ネットワークに含まれる未知のノードの中から、ユーザが所望するサービスに適合したノードを探索することができるノード探索システムおよびその方法を提供することを目的とする。
また、本発明は、探索可能な範囲が広く、探索可能な対象が多様なノード探索システムおよびその方法を提供することを目的とする。
【０００５】
【課題を解決するための手段】
［ノード探索システム］
上記目的を達成するために、本発明にかかるノード探索システムは、複数の領域を含むネットワークのノード探索システムであって、前記複数の領域それぞれは、ノードと探索装置とをそれぞれ１つ以上ずつ含み、前記ノードの内の第１のノードそれぞれは、同じ領域内の探索装置と通信して、他のノードのネットワークにおける位置を探索する第１の探索手段と、前記探索および探索以外により得られたノードの位置を用いて、他のノードと通信する通信手段とを有し、前記ノードそれぞれは、前記他の領域内のノードまたは探索装置に対して、それぞれの領域内の探索装置の位置を通知し、前記他の領域内の探索装置の位置の通知を受けた場合に、通知された他の領域内の探索装置の位置を、同じ領域内の探索装置に通知し、前記探索装置それぞれは、前記通知された他の領域内の探索装置の位置を用いて、他の領域内の探索装置と通信し、それぞれが保持した探索装置の位置を相互に通知する通知手段と、同じ領域内のクライアント装置の通信に応えて、前記通知された他の領域内の探索装置の位置を用いて、他の領域内の探索装置と通信し、サーバ装置の位置を探索する第２の探索手段とを有する。
【０００６】
好適には、前記第１のノードは、サービスの提供を受けるクライアント装置であって、前記第１のノード以外のノードは、サービスを提供するサーバ装置である。
【０００７】
好適には、前記探索装置は、前記クライアント装置または前記サーバ装置と一体に構成されている。
【０００８】
好適には、前記探索装置は、前記第１のノードと、前記第１のノード以外のノードとの間を中継する中継装置をさらに有する。
【０００９】
［探索装置］
また、本発明にかかる探索装置は、複数の領域を含むネットワークの探索装置であって、前記複数の領域それぞれは、ノードと探索装置とをそれぞれ１つ以上ずつ含み、前記ノードの内の第１のノードそれぞれは、同じ領域内の探索装置と通信して、他のノードのネットワークにおける位置を探索し、前記探索および探索以外により得られたノードの位置を用いて、他のノードと通信し、前記ノードそれぞれは、前記他の領域内のノードまたは探索装置に対して、それぞれの領域内の探索装置の位置を通知し、前記他の領域内の探索装置の位置の通知を受けた場合に、通知された他の領域内の探索装置の位置を、同じ領域内の探索装置に通知し、前記通知された他の領域内の探索装置の位置を用いて、他の領域内の探索装置と通信し、それぞれが保持した探索装置の位置を相互に通知する通知手段と、同じ領域内のクライアント装置の通信に応えて、前記通知された他の領域内の探索装置の位置を用いて、他の領域内の探索装置と通信し、サーバ装置の位置を探索する探索手段とを有する。
【００１０】
［ノード探索方法］
また、本発明にかかるノード探索方法は、複数の領域を含むネットワークのノード探索方法であって、前記複数の領域それぞれは、ノードと探索装置とをそれぞれ１つ以上ずつ含み、前記ノードの内の第１のノードそれぞれは、同じ領域内の探索装置と通信して、他のノードのネットワークにおける位置を探索し、前記探索および探索以外により得られたノードの位置を用いて、他のノードと通信し、前記ノードそれぞれは、前記他の領域内のノードまたは探索装置に対して、それぞれの領域内の探索装置の位置を通知し、前記他の領域内の探索装置の位置の通知を受けた場合に、通知された他の領域内の探索装置の位置を、同じ領域内の探索装置に通知し、前記探索装置それぞれは、前記通知された他の領域内の探索装置の位置を用いて、他の領域内の探索装置と通信し、それぞれが保持した探索装置の位置を相互に通知し、同じ領域内のクライアント装置の通信に応えて、前記通知された他の領域内の探索装置の位置を用いて、他の領域内の探索装置と通信し、サーバ装置の位置を探索する。
【００１１】
［プログラム］
また、本発明にかかるプログラムは、複数の領域を含むネットワークのノード探索方法を実現するプログラムであって、前記複数の領域それぞれは、ノードと探索装置とをそれぞれ１つ以上ずつ含み、前記ノードの内の第１のノードそれぞれにおいて、同じ領域内の探索装置と通信して、他のノードのネットワークにおける位置を探索するステップと、前記探索および探索以外により得られたノードの位置を用いて、他のノードと通信するステップとをコンピュータに実行させ、前記ノードそれぞれにおいて、前記他の領域内のノードまたは探索装置に対して、それぞれの領域内の探索装置の位置を通知し、前記他の領域内の探索装置の位置の通知を受けた場合に、通知された他の領域内の探索装置の位置を、同じ領域内の探索装置に通知するステップをコンピュータに実行させ、前記探索装置それぞれにおいて、前記通知された他の領域内の探索装置の位置を用いて、他の領域内の探索装置と通信し、それぞれが保持した探索装置の位置を相互に通知するステップと、同じ領域内のクライアント装置の通信に応えて、前記通知された他の領域内の探索装置の位置を用いて、他の領域内の探索装置と通信し、サーバ装置の位置を探索するステップとをコンピュータに実行させる。
【００１２】
【発明の実施の形態】
［本発明の背景］
本発明の実施形態の理解を助けるために、まず、本発明がなされるに至った背景を説明する。
サーバ装置などの情報提供に要求される探索可能範囲の広域化したいという要請、および、探索可能対象を多様化したいという要請に応えるために、下に示すような技術的アプローチがなされている。
【００１３】
［第１の技術的アプローチ］
第１の技術的アプローチは、ＸＭＬ（eXtedable Markup Language）技術を導入することによって、ＷＷＷシステムで用いられているＷＷＷロボット検索の探索可能対象を多様化することである。
ＷＷＷロボット検索技術は、ＨＴＴＰ（Hyper Text Transfer Protocol, Version 1.0; IETF RFC１945）プロトコルや、ＨＴＭＬ（Hyper Text Markup Language）言語などのＷＷＷシステムに依存する専用のテキストベースのキーワード検索技術であって、主にインターネットに適用されている。
【００１４】
ＷＷＷロボット検索技術は、検索エンジンもしくは検索ロボットと呼ばれるプログラムを用いて、ＷＷＷで提供される情報コンテンツ間に設定されたハイパーリンクを自動的にたどらせて情報コンテンツを発見し、キーワードを設定してデータベース化して、ユーザにキーワード検索機能を提供する。
この技術の実例としては、「Lycos（カーネギー・メロン大学商標）」や「Alta Vista(AltaVista Company商標)」などを挙げることができる。
【００１５】
ＷＷＷロボット検索技術は、テキストベースのキーワード検索技術であるので、ユーザが情報コンテンツを読んでその前後の文脈からそのテキストが何を意味しているのか判別しなければならず、多様なサービスのサービス属性に基づく検索を行うために必要な論理演算ができないため、ＷＷＷ情報提供サービス以外のサービスを探索することはできなかった。
しかし、ＸＭＬ技術を導入することによって、テキストに意味を持たせることができるので、サービス属性を表現することが可能となり、ＷＷＷ情報提供サービス以外のサービスにも適用できるようになる。
【００１６】
［第２のアプローチ］
第２のアプローチは、一斉同報通信を用いたサービス探索の探索可能範囲を広域化することである。
一斉同報通信を用いたサービス探索技術は、ローカルネットワークに適用されており、下記の手法ａおよび手法ｂまたはいずれかの手法を用いる。
【００１７】
［手法ａ］
クライアント装置がサーバ装置を探索するためのメッセージ（以下、探索メッセージと記す）を、ネットワーク上の全てのコンピュータに対して一斉同報する。
探索メッセージを受信したサーバ装置は、クライアント装置に対して応答メッセージを送信することによって、クライアント装置はサーバ装置の存在と、そのサービス位置を検知することができる。クライアント装置は検知したサーバ装置と通信を行うことによって、サービス属性を取得することができる。
【００１８】
［手法ｂ］
サーバ装置が、起動時や一定期間毎に、自らの存在を公示（Advertise）するメッセージ（以下、公示メッセージと呼ぶ。）を一斉同報することによって、クライアント装置がサーバ装置の存在を検知する。
あるいは、クライアント装置の代わりに、専用のサービス探索装置が上記の手法によって全てのサーバ装置のサービス位置とサービス属性を取得して保持しておいて、クライアント装置に対してサーバ装置のサービス属性を検索する機能を提供する。
この手法の実例として、ＳＬＰ（Service Location Protocol, Version2; IETF RFC2608）を挙げることができる。
【００１９】
しかしながら、一斉同報通信を用いたサービス探索技術においては、サーバ装置の検出可能範囲（以下、サービス検出領域と呼ぶ。）が一斉同報通信の到達可能範囲に制限されるので、探索可能範囲が限定されてしまう。
なぜなら、各ネットワークの運用ポリシーに基づく管理上の理由から、一斉同報通信がルータやファイアウォール等のネットワーク中継装置によって遮断される場合もあれば、一斉同報通信のパケットの生存時間（ルータのＨＯＰ数など）によって制限される場合もあるからである。
【００２０】
ここで、サービス検出領域は、サービスのネットワーク上の位置関係（距離）に依存し、サーバの地理的な位置関係を必ずしも反映せず、運用上、管理主体が同一な範囲のネットワーク（管理ドメインなど）がひとつのサービス検出領域になることが予想される。
その結果として、広域コンピュータ・ネットワークには多数のサービス検出領域が存在することになる。
従って、一斉同報通信を用いるサービス探索技術においては、あるサービス検出領域に含まれるクライアント装置は、自らが含まれるサービス検出領域内においてサービスを提供するサーバ装置を発見することができるが、他のサービス検出領域に位置するサーバ装置を発見することはできない。
仮に、一斉同報通信の到達可能範囲を拡大することができたとしても、探索メッセージや公示メッセージをネットワーク全体に一斉同報することになり、ネットワーク全体の負荷を上昇させ、利用効率を低下させることになる。
【００２１】
この点に対応するために、サービス検出領域ごとに存在する全てのサービス探索装置を１つのディレクトリに登録することによって、一斉同報通信を用いたサービス探索技術に広域性を付与する方法が考えられる。
サービス探索装置は、ディレクトリを参照して他のサービス探索装置を発見し、通信を行って、他のサービス検出領域内のサーバ装置に関する情報を取得することにより、複数のサービス検出領域に渡ってサーバ装置の情報を探索する。
この方法は、例えば、本願と同じ出願人による「特願２００１−２８４４８５（出願日２００１年９月１９日）」に詳述されている。
【００２２】
［改良すべき点］
第１のアプローチを採用すると、ユーザは、サーバ装置のネットワークにおける位置を予め知っていなければ、ＷＷＷロボット検索によるキーワード検索機能を利用することができない。
また、データベース化され、検索に用いられる情報は、検索ロボットが不定期に更新するので、サーバ装置は更新のタイミングを予想することも、制御することもできない。
また、本来のサービスの提供に加え、ＷＷＷ情報提供サービスを提供しなければならないので、サーバ装置の負荷が高くなってしまう。
【００２３】
第２のアプローチを採用すると、サービス探索装置を登録するデータベースのネットワークにおける位置を、サービス探索装置自体などが予め知っていなければならないので、システムの運用に人手や知識が必要とされる。
また、データベースをディレクトリ構造を用いて実現するためには、ネットワーク全体にわたるディレクトリ構造を計画的に構築する必要があるので、データベースを一度、構築すると、その変更は非常に難しい。
【００２４】
［本発明にかかるノード探索方法の概要］
この部分の記載に含まれる各用語の内、請求項において主要な用語と対応関係にあるものについては、カッコ内に示してあるが、これは、発明の理解を助けることを意図するものであって、本願発明の技術的範囲を限定することを意図するものではない。
本発明にかかるノード探索方法は、基本的には、さらに上位のディレクトリへの登録なしに、サービス探索装置（探索装置）が、他のサービス探索装置（探索装置）を自動的に発見できるように、上述した第２のアプローチにかかるサービス探索技術を改良したものである。
より具体的には、本発明にかかるサービス探索方法（ノード探索方法）において、クライアント装置（第１のノード）は、自らが属さない他のサービス検出領域（他の領域）内に存在するサーバ装置（第１のノード以外のノード）と通信を行い、サービスの提供を受けた時に、自らが含まれるサービス検出領域（同じ領域）内に含まれるサービス探索装置（探索装置）のネットワークにおける位置を、サーバ装置（第１のノード以外のノード）に通知する。
【００２５】
逆に、サーバ装置（第１のノード以外のノード）は、自らが含まれるサービス検出領域（同じ領域）内に存在するサービス探索装置（探索装置）の位置を、クライアント装置（第１のノード）が含まれるサービス検出領域のサービス探索置（探索装置）に通知する。
クライアント装置（第１のノード）が含まれるサービス検出領域のサービス探索装置（探索装置）は、サーバ装置（第１のノード以外のノード）が含まれるサービス検出領域のサービス探索装置（探索装置）との間で、それまでに取得したサービス探索装置（探索装置）の位置を、互いに通知しあう。
以上のように、それぞれ異なるサービス検出領域（領域）に含まれるサービス探索装置（探索装置）相互間で、サービス探索装置（探索装置）の位置を通知しあうことにより、それぞれ異なるサービス検出領域（領域）に含まれるサービス探索装置同士が連携したサービス探索を、クライアント装置（第１のノード）に提供することにより、サービスを探索可能な領域を広域化し、かつ、データベースを柔軟に構築できるようにする。
【００２６】
さらに図を参照して本発明にかかるノード探索方法の概要を説明する。
図１は、本発明にかかるノード探索方法が適用されるネットワークシステム１の構成を例示する図である。
図２および図３は、本発明にかかるノード探索方法を説明する第１および第２の図である。
本発明にかかるノード探索方法は、例えば、図１に示すように、それぞれクライアント装置３およびサーバ装置４Ａ〜４Ｃなどネットワークを構成するノードおよびサービス探索装置５Ａ〜５Ｂを含む複数のサービス検出領域１０Ａ〜１０Ｃが、広域ネットワーク１２などを介して接続されたネットワークシステム１に適用される。
【００２７】
サービス検出領域１０Ａのクライアント装置３のユーザは、経験的な方法により、それまで未知だった、他のサービス検出領域１０Ｂのサーバ装置４Ｂを発見することがある。
ここで経験的な方法とは、例えば、知人から教えてもらう、雑誌などの出版物に紹介されたものを見て知る、商業広告を見かけるなど、サービス探索装置５Ａなどの電子的な手段によらない方法を指している。
ユーザが、クライアント装置３を用いて、このようにして発見したサーバ装置４Ｂを使用し、さらに、図２に示すように、サーバ装置４Ｂの情報を、同じサービス検出領域１０Ａに含まれるサービス探索装置５Ａに通知しても、サービス探索装置５Ａは、サービス検出領域１０Ｂのサービス探索装置５Ｂの存在を知ることはできない。
【００２８】
一方、図３に示すように、クライアント装置３が、サービス検出領域１０Ａのサービス探索装置５Ａの位置をサービス探索装置５Ｂに通知し、反対に、サーバ装置４Ｂが、サービス検出領域１０Ｂのサービス探索装置５Ｂの位置をサービス探索装置５Ａに通知すると、サービス探索装置５Ａ，５Ｂは、通知されたお互いの位置を用いて相互に通信することができる。
このようにして、サービス探索装置５Ａ，５Ｂを通信可能な状態にして、相互に、サービス検出領域１０Ａ，１０Ｂに含まれるサーバ装置４Ａ，４Ｂの情報を探索するようにすると、クライアント装置３は、サービス探索装置５Ａにアクセスして、サービス検出領域１０Ａに含まれるサーバ装置４Ａだけでなく、サービス検出領域１０Ｂに含まれるサーバ装置４Ｂの探索も可能になる。
【００２９】
このように、クライアント装置３が、他のサービス検出領域１０Ｂ，１０Ｃに含まれるサーバ装置４Ｂ，４Ｃと通信し、サービスを利用するたびに、サーバ装置４Ｂ，４Ｃが、サービス検出領域１０Ｂ，１０Ｃのサービス探索装置５Ｂ，５Ｃの位置をサービス探索装置５Ａに通知するようにすると、サービス探索装置５Ａを用いてサーバ装置を探索可能な範囲が、徐々に広がってゆき、最終的には、サービス探索装置５Ａにアクセスすることにより、ネットワークシステム１全体に渡ってサーバ装置を探索することができるようになる。
【００３０】
［第１実施形態］
本発明の第１の実施形態を説明する。
図４は、本発明にかかるノード探索方法が適用されるネットワークシステム２の構成を例示する図である。
図４に示すように、ネットワークシステム２は、ＩＰネットワーク１０Ａ〜１０Ｃ、および、インターネットなどの広域ネットワーク１２が、ファイアウォール装置１６Ａ，１６Ｂおよびルータ装置１４を介して接続されて構成される。
ＩＰネットワーク１０Ａ〜１０Ｃそれぞれは、相互接続関係と管理主体とに依存する上述のサービス検出領域であって、クライアント装置３、サーバ装置４Ａ〜４Ｃおよびサービス探索装置６Ａ〜６Ｃを、それぞれ１つ以上含む（ただし、ＩＰネットワーク１０Ｂ，１０Ｃのクライアント装置３は、図４において省略されている）。
【００３１】
ＩＰネットワーク１０それぞれの内部においては、全てのサーバ装置４（サーバ装置４Ａ〜４Ｃ・サービス探索装置６Ａ〜６Ｃ・ＩＰネットワーク１０Ａ〜１０Ｃのいずれかを特定せずに示す場合には、単にサーバ装置４・サービス探索装置６・ＩＰネットワーク１０とも記す）は、ＩＰマルチキャスト（一斉同報）通信により、全てのサービス探索装置６に対してサーバ装置４の情報の公示を行うことができる。
なお、ネットワークシステム２においては、ＩＰマルチキャスト（一斉同報）以外の通信は、ＸＭＬによって記述されたメッセージと、ＨＴＴＰプロトコルによって行われる。
ネットワークシステム２は、これらの構成部分により、図１〜図３を参照して、その概略を説明した本発明にかかるノード探索方法を実現する。
【００３２】
［ハードウェア構成］
まず、クライアント装置３、サーバ装置４およびサービス探索装置６のハードウェア構成を説明する。
【００３３】
［クライアント装置３・サービス探索装置６］
図５は、図４に示したクライアント装置３およびサービス探索装置６のハードウェア構成を例示する図である。
図５に示すように、クライアント装置３およびサービス探索装置６は、ＣＰＵ４０２およびメモリ４０４などを含む本体４００、ＩＰネットワーク１０を介して他のネットワークノードと通信する通信装置４２０、ＦＤ装置・ＣＤ装置・ＨＤＤ装置などの記録装置４４０、ＣＲＴ表示装置、キーボードおよびマウスなどから構成され、ユーザインターフェース（ＵＩ）用の画像をユーザに対して表示し、ユーザの操作を受け入れる表示・入力装置４６０から構成されている。
つまり、クライアント装置３およびサービス探索装置６は、ネットワークを介して通信可能な一般的なコンピュータとしてのハードウェアを備えている。
【００３４】
［サーバ装置４］
図６は、図４に示したサーバ装置４のハードウェア構成を例示する図である。
なお、図６に示した各構成部分のうち、図５と実質的に同じものには、同じ符号が付してある。
図６に示すように、サーバ装置４は、クライアント装置３・サービス探索装置６と同様なハードウェアに、サーバ装置４がプリントサービスを提供する場合にはプリンタ４８０、サーバ装置４がファイルサービスを提供する場合にはファイルシステム４８２といった、サーバ装置４がサービスを提供するために必要なハードウェアが付加されている。
【００３５】
［ソフトウェア構成］
次に、クライアント装置３、サーバ装置４およびサービス探索装置６のソフトウェア構成を説明する。
クライアント装置３、サーバ装置４およびサービス探索装置６において実行されるソフトウェア（プログラム）は、例えば、記録媒体４４２（図５，図６）を介してクライアント装置３、サーバ装置４およびサービス探索装置６それぞれに供給され、メモリ４０４にロードされて実行される。
【００３６】
［クライアント装置３のソフトウェア構成］
図７は、図４に示したクライアント装置３において実行されるクライアントノード用プログラム３０の構成を示す図である。
図７に示すように、クライアントノード用プログラム３０は、適用業務クライアント部３００、アドレス取得部３０２およびサービス発見部３０４から構成される。
【００３７】
［サービス発見部３０４］
クライアントノード用プログラム３０において、サービス発見部３０４は、あらかじめ設定されたサービス探索装置６Ａネットワークシステム２における位置（ＩＰアドレスなど）、および、図８を参照して後述するようにアドレス取得部３０２が取得したサービス探索装置６Ａの位置（アドレス）を用いて、ＩＰネットワーク１０Ａを介して、サービス探索装置６Ａのサービス探索部６００（図１３を参照して後述する）と通信し、ユーザが所望するサービスを提供するサーバ装置４Ａ〜４Ｃの検索を行う。
【００３８】
［適用業務クライアント部３００］
適用業務クライアント部３００は、ユーザが表示・入力装置４６０（図５）に対して入力したサーバ装置４のネットワークシステム２における位置（ＩＰアドレスなど）、および、サービス探索装置６Ａを用いての検索の結果として見つけられたサーバ装置４の位置（アドレス）を用いて、ＩＰネットワーク１０Ａ〜１０Ｃおよび広域ネットワーク１２を介して、サーバ装置４Ａ〜４Ｃの適用業務サービス部４２０（図１０を参照して後述）と通信して、それぞれが提供するサービスの提供を受ける。
【００３９】
［アドレス取得部３０２］
図８は、図７に示したクライアントノード用プログラム３０のアドレス取得部３０２の第１の処理（Ｓ１０）を示すフローチャートである。
図９は、図８に示したクライアントノード用プログラム３０のアドレス取得部３０２の第２の処理（Ｓ１２）を示すフローチャートである。
図８に示すように、アドレス取得部３０２は、ＩＰマルチキャスト（一斉同報）通信を行い、自らが含まれる（同じ）同じＩＰネットワーク１０Ａに属するサービス探索装置６Ａに応答を要求し（Ｓ１００）、この要求に対してサービス探索装置６Ａから返される応答を受信する（Ｓ１０２）。
サービス探索装置６Ａからの応答には、サービス探索装置６Ａの位置（アドレス）が含まれており、アドレス取得部３０２は、この応答に含まれるサービス探索装置６Ａの位置（アドレス）を記憶する（Ｓ１０４）。
【００４０】
また、図９に示すように、アドレス取得部３０２は、自らが含まれない（他の）ＩＰネットワーク１０Ｂ，１０Ｃのサーバ装置４Ｂ，４Ｃと通信した場合には、適用業務クライアント部３００から、サービスを提供するサーバ装置４の位置（アドレス）の通知を受ける（Ｓ１２０）。
次に、アドレス取得部３０２は、通信相手のサーバ装置４Ｂ，４Ｃに、クライアント装置３と同じＩＰネットワーク１０Ａに含まれるサービス探索装置６Ａの位置（アドレス）の取得を要求するメッセージを生成し（Ｓ１２２）、生成したメッセージを送信する（Ｓ１２４）。
【００４１】
次に、通信相手のサーバ装置４Ｂ，４Ｃが、この要求に応じて、応答のメッセージを返すと、アドレス取得部３０２は、この応答を受信する（Ｓ１２６）。
次に、アドレス取得部３０２は、通信相手のサーバ装置４Ｂ，４Ｃに対して、同じＩＰネットワーク１０Ａに含まれるサービス探索装置６Ａの位置（アドレス）を通知する通知メッセージを生成し、生成した通知メッセージを、通信相手のサーバ装置４Ｂ，４Ｃに対して送信する（Ｓ１２８）。
サーバ装置４Ｂ，４Ｃは、クライアント装置３から受けたサービス探索装置６Ａの位置（アドレス）を用いてサービス探索装置６Ａにアクセスし、サービス探索装置６Ｂ，６Ｃの位置（アドレス）を、サービス探索装置６Ａに通知する（Ｓ１３０）。
【００４２】
［サーバノード用プログラム４２］
図１０は、図４に示したサーバ装置４において実行されるサーバノード用プログラム４２の構成を示す図である。
図１０に示すように、サーバノード用プログラム４２は、適用業務サービス部４２２、アドレス取得部４２４およびサービス情報部４２６から構成される。
【００４３】
［適用業務サービス部４２２］
サーバ装置４Ａ〜４Ａのサーバノード用プログラム４２において、適用業務サービス部４２２は、クライアント装置３の適用業務クライアント部３００（図７）との間で通信を行い、プリンタ４８０およびファイルシステム４８２（図６）などを制御して、要求されたサービスをクライアント装置３に対して提供させる。
【００４４】
［アドレス取得部４２４］
サーバ装置４Ｂ，４Ｃそれぞれのサーバノード用プログラム４２において、アドレス取得部４２４は、他のＩＰネットワーク１０Ａのクライアント装置３と通信した場合には、クライアント装置３のアドレス取得部３０２（図７）から、ＩＰネットワーク１０Ａのサービス探索装置６Ａの位置（アドレス）の通知を受ける。
また、サーバ装置４Ｂ，４Ｃそれぞれのサーバノード用プログラム４２において、アドレス取得部４２４は、クライアント装置３と通信した場合には、クライアント装置３から通知されたサービス探索装置６Ａの位置（アドレス）を用いてサービス探索装置６Ａと通信し、サーバ装置４Ｂ，４Ｃと同じＩＰネットワーク１０Ｂ，１０Ｃに含まれるサービス探索装置６Ｂ，６Ｃの位置（アドレス）を、サービス探索装置６Ａに通知する。
【００４５】
図１１は、図１０に示したサーバノード用プログラム４２のアドレス取得部４２４の第１の処理（Ｓ１４）を示すフローチャートである。
図１２は、図１０に示したサーバノード用プログラム４２のアドレス取得部４２４の第２の処理（Ｓ１６）を示すフローチャートである。
図１１，図１２に示すように、サーバ装置４Ｂ，４Ｃは、クライアント装置３から、サービス探索装置６Ｂ，６Ｃの位置（アドレス）の通知を要求されると、サービス探索装置６Ａへのサービス探索装置６Ｂ，６Ｃの位置（アドレス）を含む応答メッセージを作成し、作成した応答メッセージを、サービス探索装置６Ａに対して送信する。
【００４６】
［サービス情報部４２６］
サービス情報部４２６は、ＩＰマルチキャスト（一斉同報）通信により、例えば一定の時間間隔で、同じＩＰネットワーク１０に含まれるサービス探索装置６に対して、サーバ装置４Ａ〜４Ｃそれぞれ存在、位置（アドレス）、および、サーバ装置４Ａ〜４Ｃそれぞれが提供するサービスの属性など、サーバ装置４Ａ〜４Ｃの探索に必要な情報を公示し、サービス探索装置６からの応答を要求する（Ｓ１４０）。
サービス情報部４２６は、サービス探索装置６からの応答を受信すると（Ｓ１４２）、サービス探索装置６の位置（アドレス）を記憶する（Ｓ１４４）。
【００４７】
［探索装置用プログラム６０］
図１３は、図４に示したサービス探索装置６において実行されるサービス探索装置用プログラム６０の構成を示す図である。
図１３に示すように、サービス探索装置用プログラム６０は、サービス探索部６００、アドレス受信部６０２、アドレス記憶部６０４および情報交換部６０６から構成される。
【００４８】
［サービス探索部６００］
サービス探索部６００は、同じＩＰネットワーク１０に含まれるサーバ装置４からのＩＰマルチキャスト（一斉同報）による存在・位置（アドレス）およびサービス属性などの情報の公示を受け、受けたサーバ装置４の情報を記憶する。
また、サービス探索部６００は、同じくＩＰマルチキャスト（一斉同報）によるサーバ装置４からの応答要求を受け、自らの位置（アドレス）を含む応答メッセージを、サーバ装置４に対して返す。
【００４９】
また、ＩＰネットワーク１０Ａのサービス探索部６００は、同じＩＰネットワーク１０Ａに含まれるクライアント装置３からの要求に応じて、他のＩＰネットワーク１０Ｂ，１０Ｃのサービス探索装置６Ｂ，６Ｃと連携してサーバ装置４Ａ〜４Ｃの情報を検索し、検索の結果として得られたサーバ装置４の情報を、クライアント装置３に対して通知する。
【００５０】
［アドレス受信部６０２］
図１４は、図１３に示したサービス探索装置用プログラム６０のアドレス記憶部６０４の処理を示すフローチャートである。
アドレス受信部６０２は、他のＩＰネットワーク１０に含まれるサーバ装置４のアドレス取得部４２４から、このサーバ装置４と同じＩＰネットワーク１０に含まれるサービス探索装置６の位置（アドレス）を受信し、アドレス記憶部６０４および情報交換部６０６に対して出力する。
【００５１】
図１４を参照して、さらにアドレス受信部６０２の処理を説明する。
ＩＰネットワーク１０Ａにおいて、サービス探索装置６Ａのアドレス受信部６０２は、他のＩＰネットワーク１０Ｂ，１０Ｃに含まれるサーバ装置４Ｂ，４Ｃから、他のＩＰネットワーク１０Ｂ，１０Ｃに含まれるサービス探索装置６Ｂ，６Ｃの位置（アドレス）を通知するメッセージを受信する（Ｓ１８０）。
アドレス受信部６０２は、受けたサービス探索装置６Ｂ，６Ｃの位置（アドレス）と、既にアドレス記憶部６０４に記憶されている既知の他のサービス探索装置６Ｂ，６Ｃと照合する（Ｓ１８２）。
【００５２】
アドレス受信部６０２は、照合の結果、新たに受けた位置（アドレス）が、既にアドレス記憶部６０４に登録済みの場合には処理を終え、これ以外の場合にはＳ１８６の処理に進む（Ｓ１８４）。
アドレス受信部６０２は、新たなサービス探索装置６Ｂ，６Ｃの位置（アドレス）を、アドレス記憶部６０４に対して出力し、登録させる（Ｓ１８６）。
アドレス受信部６０２は、新たなサービスサービス探索装置６Ｂ，６Ｃの位置（アドレス）を、情報交換部６０６に通知する。
【００５３】
［アドレス記憶部６０４］
アドレス記憶部６０４は、アドレス受信部６０２および情報交換部６０６から入力された他のＩＰネットワーク１０に含まれるサービス探索装置６の位置（アドレス）を記憶・登録し、記憶・登録したサービス探索装置６の位置（アドレス）を、アドレス受信部６０２および情報交換部６０６に対して出力する。
【００５４】
［情報交換部６０６］
図１５は、図１３に示したサービス探索装置用プログラム６０のアドレス記憶部６０４の第１の処理（Ｓ２０）を示すフローチャートである。
図１６は、図１３に示したサービス探索装置用プログラム６０のアドレス記憶部６０４の第２の処理（Ｓ２２）を示すフローチャートである。
情報交換部６０６は、アドレス受信部６０２から入力された他のＩＰネットワーク１０に含まれる既知のサービス探索装置６それぞれの位置（アドレス）を用いて、それまで未知だった新たなサービス探索装置６の位置（アドレス）が入力された場合に、この新たなサービス探索装置６の位置（アドレス）を、既知の他のサービス探索装置６の情報交換部６０６に対して通知する。
また、情報交換部６０６は、他の既知の他のサービス探索装置６の情報交換部６０６から、新たなサービス探索装置６の位置（アドレス）の通知を受け、通知された新たなサービス探索装置６の位置（アドレス）を、アドレス記憶部６０４に対して出力する。
【００５５】
図１５，図１６を参照して、情報交換部６０６の処理をさらに説明する。
図１５に示すように、情報交換部６０６は、アドレス受信部６０２から、新たなサービス探索装置６の位置（アドレス）の通知を受けると（Ｓ２００）、新たなサービス探索装置６の情報交換部６０６に対して、既知のサービス探索装置６の位置（アドレス）の情報交換を要求する要求メッセージを生成し（Ｓ２０２）、生成した要求メッセージを、新たなサービス探索装置６に対して送信する（Ｓ２０４）。
【００５６】
情報交換部６０６は、新たなサービス探索装置６から、一定時間以内に応答メッセージを受けたか否かを判断し、応答メッセージを受けない場合には処理を終了し、これ以外の場合にはＳ２０８の処理に進む（Ｓ２０６）。
情報交換部６０６は、新たなサービス探索装置６が取得する既知のサービス探索装置６の位置（アドレス）を要求するアドレス要求メッセージを生成し（Ｓ２０８）、生成したアドレス要求メッセージを、既知のサービス探索装置６の情報交換部６０６に対して送信する（Ｓ２１０）。
【００５７】
情報交換部６０６は、新たなサービス探索装置６から、このサービス探索装置６が新たに取得したサービス探索装置６の位置（アドレス）を含む応答メッセージを受け（Ｓ２１２）、受けた応答メッセージに含まれる全てのサービス探索装置６の位置（アドレス）と、アドレス記憶部６０４に記憶・登録されているサービス探索装置６の位置（アドレス）とを照合する（Ｓ２１４）。
【００５８】
情報交換部６０６は、受けた応答メッセージ中のサービス探索装置６のアドレスが、アドレス記憶部６０４に登録されていない場合にはＳ２１８の処理に進み、これ以外の場合には処理を終了する（Ｓ２１６）。
情報交換部６０６は、受けた応答メッセージ中のサービス探索装置６のアドレスを、それまで未知だった新たなサービス探索装置６の位置（アドレス）として、アドレス記憶部６０４に登録する（Ｓ２１８）。
また、サービス探索部６００は、既知のサービス探索装置６に対して、定期的に、情報交換を要求するメッセージを送信することにより、それぞれが保持している既知のサービス探索装置６について、情報交換を行う。
【００５９】
図１６に示すように、情報交換部６０６は、既知のサービス探索装置６の情報交換部６０６から、情報交換を要求するメッセージを受けると（Ｓ２２０）、このれに応答する応答メッセージを生成し（Ｓ２２２）、通信相手の既知のサービス探索装置６の情報交換部６０６に、生成した応答メッセージを送信する（Ｓ２２４）。
情報交換部６０６は、相手のサービス探索装置６の情報交換部６０６から、既知のサービス探索装置６の位置（アドレス）の照合を要求する要求メッセージを受けると（Ｓ２２６）、情報交換部６０６は、全てのサービス探索装置６の位置（アドレス）と、アドレス記憶部６０４に記憶されている全てのサービス探索装置６の位置（アドレス）とを照合する（Ｓ２２８）。
なお、既知のサービス探索装置６の情報は、一覧リストの形式で通信相手から当該サービス探索装置６に送られてくる。
従って、「全てのサービス探索装置６の位置」とは、この一覧リストに含まれる全てのサービス探索装置６のアドレスを意味する。
情報交換部６０６は、全てのアドレスがアドレス記憶部６０４に登録されていない場合にはＳ２３２の処理に進み、これ以外の場合には処理を終了する（Ｓ２３０）。
【００６０】
情報交換部６０６は、それまで未知だったサービス探索装置６の位置（アドレス）を、アドレス記憶部６０４に登録する（Ｓ２３２）。
情報交換部６０６は、新たに取得したサービス探索装置６のアドレス（照合結果）を含む応答メッセージを生成し（Ｓ２３４）、生成したメッセージを、通信相手のサービス探索装置６の情報交換部６０６に対して送信する。
【００６１】
［ネットワークシステム２の全体動作］
以下、図１７〜図２３を参照して、本発明にかかるノード探索方法を実行するネットワークシステム２の第１の実施形態における全体動作を説明する。
図１７は、ネットワークシステム２の第１の実施形態における全体動作を示す第１の図であって、サーバ装置４が起動時および定期的に行うサービス公示処理を示す。
図１７に示すように、サーバ装置４（例えばサーバ装置４Ａ）は、起動時および起動後の一定期間ごとに、同じＩＰネットワーク１０Ｂ内に対して、ＩＰマルチキャスト（一斉同報）通信を行うことによって、自らの存在を公示する（１）。
サービス探索装置６Ｂは、サーバ装置４ＢからのＩＰマルチキャスト（一斉同報）通信を待ち受けており、サーバ装置４Ｂからの公示によって、新たなサーバ装置４Ｂを検知すると、そのサーバ装置４Ｂに対して、図１８に示すようなサービス情報を要求する（２）。
サーバ装置４Ｂは、サービス探索装置６Ｂの要求に応えて、保持しているサービス情報を通知する（３）。
【００６２】
図１８は、ネットワークシステム２の第１の実施形態における全体動作を示す第２の図であって、サービス情報を示す。
なお、図１８に示すように、サービス情報には、サービス種別、ネットワーク情報、地理情報、使用許諾情報およびサービス属性が含まれる。
サービス種別は、サーバ装置４が提供するサービスの種類を示し、サービス種別の例としては、プリント・サービスおよびスキャン・サービスなどを挙げることができる。
ネットワーク情報は、ネットワークシステム２において、サーバ装置４Ｂを一意に識別するもので、ネットワーク情報の例として、ＩＰアドレス、ＦＱＤＮ（Fully Qualified Domain Name）、ＵＲＩ（Universal Resource Identifier）などを挙げることができる。
【００６３】
地理情報は、サーバの地理的な位置を示す情報であって、例えば、緯度・経度の座標を必ず含んでいなければならない。
使用許諾情報は、そのサービスを公開する範囲を規定するもので、無制限、ネットワーク限定などがある。
【００６４】
サービス属性は、一般属性およびサービス依存属性から構成されている。
一般属性は、例えば、課金情報、転送プロトコル情報、運営組織情報およびサービス依存属性などを含む。
課金情報は、そのサービスの使用料とその支払い方法を示す。
セキュリティ情報は、そのサービスが対応しているセキュリティ・プロトコルのリストを含む。
転送プロトコル情報は、そのサービスを使用するための通信プロトコルやＡＰＩ（Application Program Interface）などを示す。
【００６５】
運営組織情報は、そのサービスの運用主体である企業や部門、団体、個人などの名前と連絡方法などを示す。
サービス依存属性は、サービス種別ごとに定義され、品質、性能、付加機能、対応文書フォーマットのリスト、対応言語のリスト、対応文字セットのリストおよびドライバ入手先情報などが含まれる。
【００６６】
図１９は、ネットワークシステム２の第１の実施形態における全体動作を示す第３の図であって、サービス探索装置６が起動時に行うサービス検出処理を示す。
また、図１９に示すように、サービス探索装置６（例えばサービス探索装置６Ｂ）は、起動時に、ＩＰマルチキャスト（一斉同報）通信を行うことによって、自らの存在を公示する（１）。
サーバ装置４Ｂは、サービス探索装置６ＢからのＩＰマルチキャスト（一斉同報）通信を待ち受けており、サーバ装置４Ｂは、サービス探索装置６Ｂの公示を検知すると、そのサービス探索装置６Ｂに対して、図１８に示したようなサービス情報を通知する（２）。
【００６７】
サービス探索装置６Ｂは、サーバ装置４Ｂから通知されたサービス情報を保持し、サーバ装置４Ｂからのサービス公示を一定期間以上受信しなかった場合にそれを破棄する。
新たにサービス情報を保持してから破棄するまでの期間は、ＩＰネットワーク１０Ｂの管理者などによって設定されるが、通常、２日程度とすることで、日常的なサーバ装置４Ｂの電源のオン・オフによって不必要な破棄が発生することを回避することができる。
サービス探索装置６Ｂは、ＩＰネットワーク１０Ｂの中のサーバ装置４Ｂから通知されたサービス情報を蓄積する。
【００６８】
図２０は、ネットワークシステム２の第１の実施形態における全体動作を示す第４の図であって、クライアント装置３側のサービス探索装置６Ａに対してサーバ装置４（例えばサーバ装置４Ｂ）側のサービス探索装置６Ｂの位置（アドレス）を通知する場合の通信シーケンスを示す。
図２０に示すように、クライアント装置３がサーバ装置４（例えばサーバ装置４Ｂ）のサービスを利用する（１）。
【００６９】
サーバ装置４Ｂが、クライアント装置３からサービス探索装置６Ａの位置（アドレス）の通知を受ける（２）。
サーバ装置４Ｂが、サービス探索装置６Ａに対してサービス探索装置６Ｂの位置（アドレス）を通知し（３）、サービス探索装置６Ａがサーバ装置４Ｂから通知された位置（アドレス）を用いて、サービス探索装置６Ｂとの間で通信を行う（４）。
【００７０】
図２１は、ネットワークシステム２の第１の実施形態における全体動作を示す第５の図であって、クライアント装置３が、サービス探索装置６Ａを用いてサーバ装置４の探索を行う処理を示す。
図２１に示すように、クライアント装置３は、ＩＰネットワーク１０Ａ内部に対してＩＰマルチキャスト（一斉同報）通信を行うことによって、ＩＰネットワーク１０Ａ内のサービス探索装置６Ａに応答を要求する（１）。
サービス探索装置６Ａは、ＩＰネットワーク１０Ａ内に対するクライアント装置３からのＩＰマルチキャスト（一斉同様）通信を待ち受け、これを受信するとＩＰネットワーク１０Ａ内に対してＩＰマルチキャスト（一斉同報）通信で応答することによって、自らの存在を公示する（２）。
【００７１】
クライアント装置３は、サービス探索装置６Ａに対して、探索条件を記述したクエリーを通知してサービス探索要求を行う（３）。
サービス探索装置６Ａは、クライアント装置３からのサービス探索要求を受け付けると、ＩＰネットワーク１０Ａ内のサーバ装置４Ａのサービス情報を検索すると同時に、他のサービス探索装置６（例えばサービス探索装置６Ｂ）に検索を依頼する（４）。
他のサービス探索装置６Ｂからサービス探索依頼結果を受信し（５）、自らのＩＰネットワーク１０Ａ内のサーバ装置４Ａの検索結果とをマージして、サービス探索結果としてクライアント装置３に通知する。
【００７２】
［変形例］
なお、第１の実施形態においては、説明の簡略化のために、ＩＰネットワーク１０Ａ〜１０Ｃそれぞれが１つのサービス検出領域である場合を例示したが、ＩＰネットワーク１０Ａ〜１０Ｃそれぞれが複数のサービス検出領域を含んでいてもよく、また、ＩＰネットワーク１０Ａ〜１０Ｃの内の複数が、１つのサービス検出領域を構成してもよい。
また、サービス探索装置６Ｂは、ネットワーク管理プロトコルＳＮＭＰ（Simple Network Management Protocol）によって、サーバ装置４Ｂからサービス情報を収集することも可能である。
【００７３】
また、クライアント装置３は、ユーザが通常使用するサービス探索装置６Ａのネットワークアドレスをユーザによってあらかじめ登録されていて、サーバ装置４Ｂからのサービス探索装置アドレスの取得要求に応えて、登録されたサービス探索装置６Ａの位置（アドレス）を応答するように構成されてもよい。
また、サービス探索装置６Ａが、クライアント装置３に対して、Ｗｅｂページによって専用の検索機能を提供してもよい。
また、サーバ装置４Ｂ，４Ｃが、直接ＩＰネットワーク１０Ａのサービス探索装置６Ａにサービス探索装置６Ｂ，６Ｃの位置（アドレス）を通知するのではなく、サーバ装置４Ｂ，４Ｃが、クライアント装置３を介してサービス探索装置６Ａにサービス探索装置６Ｂ，６Ｃの位置（アドレス）を通知するようにしてもよい。
【００７４】
図２２は、ネットワークシステム２の第１の実施形態における全体動作を示す第６の図であって、サーバ装置４側のサービス探索装置６に対して、クライアント装置３側のサービス探索装置６Ａの位置（アドレス）を通知する場合の通信シーケンスを示す。
なお、サービス探索装置６Ａ〜６Ｂの間の位置の通知を、図２２に示すように変形することも可能である。
図２２に示すように、クライアント装置３が、他のＩＰネットワーク１０に含まれるサーバ装置４（例えばサーバ装置４Ｂ）上のサービスを利用し（１）、さらに、サーバ装置４Ｂから、サーバ装置４Ｂと同じＩＰネットワーク１０Ｂに含まれるサービス探索装置６Ｂの位置（アドレス）を取得する（２）。
【００７５】
クライアント装置３は、取得したサービス探索装置６Ｂの位置（アドレス）を用いてサービス探索装置６Ｂと通信し、クライアント装置３と同じＩＰネットワーク１０に含まれるサービス探索装置６Ａの位置（アドレス）を、サービス探索装置６Ｂに通知する（３）。
サービス探索装置６Ｂは、クライアント装置３から通知されたサービス探索装置６Ａの位置（アドレス）を用いて、既知のサービス探索装置６の位置（アドレス）の情報を交換する（４）。
【００７６】
［第２実施形態］
以下、本発明の第２の実施形態を説明する。
図２３は、ネットワークシステム２の第２の実施形態における第１の動作を示す図である。
図２４は、ネットワークシステム２の第２の実施形態における第２の動作を示す図である。
【００７７】
図２３，図２４に示した本発明にかかるノード探索方法は、ネットワークシステム２において、サービス探索装置６Ａ〜６Ｃの間の位置の通知方法を変更したものである。
図２３に示すように、サーバ装置４側のサービス探索装置６にサービス探索装置６Ａの位置（アドレス）を通知する場合、クライアント装置３がサーバ装置４（例えばサーバ装置４Ｂ）のサービスを利用し（１）、サーバ装置４Ｂが、クライアント装置３からサービス探索装置６Ａの位置（アドレス）の通知を受け（２）、サーバ装置４Ｂが、サービス探索装置６Ｂに対してサービス探索装置６Ａの位置（アドレス）を通知し、サービス探索装置６Ｂがサーバ装置４Ｂから通知された位置（アドレス）を用いて、サービス探索装置６Ａとの間で通信を行う（４）ことも可能である。
【００７８】
また、図２４に示すように動作を変更することも可能である。
つまり、クライアント装置３側のサービス探索装置６Ａに対して、サーバ装置４側のサービス探索装置６の位置（アドレス）を通知する場合には、クライアント装置３が、あるサーバ装置４（例えばサーバ装置４Ｂ）上のサービスを利用すると、サーバ装置４Ｂに対して、サーバ装置４Ｂが含まれるＩＰネットワーク１０Ｂ内に存在するサービス探索装置６Ｂの位置（アドレス）を要求し、これを取得する。
クライアント装置３は、取得したサービス探索装置６Ｂの位置（アドレス）を、サービス探索装置６Ａに通知する。
【００７９】
サービス探索装置６Ａは、他のサービス探索装置６Ｂの位置（アドレス）を通知されると、通知された位置（アドレス）を用いて、他のサービス探索装置６Ｂとの間で通信を行い、互いが保持している既知のサービス探索装置６の位置（アドレス）の一覧リストを通知し合う。
サービス探索装置６Ａ，６Ｂは、それぞれ、通信相手のサービス探索装置６Ｂ，６Ａから通知された既知のサービス探索装置６の位置（アドレス）の一覧リストと、自らの既知サービス探索装置６の位置（アドレス）の一覧リストとを照合し、登録されていない未知サービス探索装置アドレスを既知サービス探索装置アドレスの一覧リストに追加する。
【００８０】
［第３実施形態］
以下、本発明の第３の実施形態を説明する。
図２５は、本発明の第３の実施形態として示すサービス探索装置用プログラム７０の構成を示す図である。
図２５に示すように、サービス探索装置６Ａにおいて実行されるサービス探索装置用プログラム７０は、図１３に示したサービス探索装置用プログラム６０に、適用業務中継サービス部７００を付加した構成を採る。
サービス探索装置用プログラム７０において、適用業務中継サービス部７００は、ＩＰネットワーク１０Ａに含まれるクライアント装置３と、他のＩＰネットワーク１０Ｂ，１０Ｃに含まれるサーバ装置４Ｂ，４Ｃとの間の通信を中継する。
【００８１】
図２６は、ネットワークシステム２の第３の実施形態における第１の動作を示す図である。
図２７は、ネットワークシステム２の第３の実施形態における第２の動作を示す図である。
図２６に示すように、クライアント装置３側のサービス探索装置６Ａが、サーバ装置４（例えばサーバ装置４Ｂ）からサービス探索装置６Ｂの位置（アドレス）を取得する場合、クライアント装置３が、サービス探索装置用プログラム７０を実行するサービス探索装置６Ａを介してサーバ装置４Ｂのサービスを利用し（１）、サービス探索装置６Ａが、サーバ装置４Ｂからサービス探索装置６Ｂの位置（アドレス）を取得し（２）、サービス探索装置６Ａがサービス探索装置６Ｂに対してアクセスし、通信を行う（３）ことも可能である。
【００８２】
また、図２７に示すように、クライアント装置３が、サービス探索装置６Ａを介してサーバ装置４（例えばサーバ装置４Ｂ）のサービスを利用し（１）、サーバ装置４Ｂが、サービス探索装置６Ａの位置（アドレス）を取得し（２）、サーバ装置４Ｂが、取得したアドレスをサービス探索装置６Ｂに通知し、サービス探索装置６Ｂがサービス探索装置６Ａにアクセスし、通信を行う（４）ことも可能である。
【００８３】
［第４実施例］
以下、本発明の第４の実施形態を説明する。
図２８は、ネットワークシステム２の第４の実施形態における動作を示す図である。
図２８に示すように、クライアント装置３がサーバ装置４（例えばサーバ装置４Ｂ）のサービスを利用し（１）、クライアント装置３がサーバ装置４Ｂの位置（アドレス）をサービス探索装置６Ａに通知し（２）、サービス探索装置６Ａがサーバ装置４Ｂからサービス探索装置６Ｂの位置（アドレス）を取得し（３）、サービス探索装置６Ａがサービス探索装置６Ｂにアクセスして通信を行う（４）ことも可能である。
【００８４】
［第５実施形態］
以下、本発明の第５の実施形態を説明する。
図２９は、ネットワークシステム２の第５の実施形態における動作を示す図である。
第５の実施形態は、サービス探索装置６とクライアント装置３とが一体に構成されている場合に適用される。
図２９に示すように、サービス探索装置６Ａを兼ねるクライアント装置３がサーバ装置４（例えばサーバ装置４Ｂ）のサービスを利用し（１）、サービス探索装置６Ｂの位置（アドレス）を取得し（２）、取得したサービス探索装置６Ｂの位置（アドレス）を、他のＩＰネットワーク１０（例えばＩＰネットワーク１０Ｃ）のサービス探索装置６Ｃを兼ねるクライアント装置３に通知する（３）。
このように、サービス探索装置６とクライアント装置３を一体に構成することができ、また、サービス探索装置６とサーバ装置４とを一体に構成することもできる。
【００８５】
［効果］
以上説明したように、本発明にかかるノード探索方法が適用されるネットワークシステム２によれば、一斉同報通信の到達範囲外に存在する他のサービス探索装置を自動的に発見でき、柔軟で、過度のトラヒックを発生させない。
また、ネットワークシステム２によれば、ネットワーク全体にわたってサービスを探索するには非常な時間を要するが、ユーザのサービス利用情報を用いているので、ユーザの利用行動の範囲は短時間で発見可能である。
よって、本発明によれば、（1）探索可能範囲の広域性、（2）探索可能対象の多様性、の両者を同時に達成しつつ、運用に人手や知識が不要で、柔軟性があるサービス探索システムおよび装置を提供することが可能である。
【００８６】
【発明の効果】
以上説明したように、本発明にかかるノード探索システムおよびその方法によれば、ネットワークに含まれる未知のノードの中から、ユーザが所望するサービスに適合したノードを探索することができる。
また、本発明にかかるノード探索システムおよびその方法は、探索可能な範囲が広く、探索可能な対象が多様である。
【図面の簡単な説明】
【図１】本発明にかかるノード探索方法が適用されるネットワークシステムの構成を例示する図である。
【図２】本発明にかかるノード探索方法を説明する第１の図である。
【図３】本発明にかかるノード探索方法を説明する第２の図である。
【図４】本発明にかかるノード探索方法が適用されるネットワークシステムの構成を例示する図である。
【図５】図４に示したクライアント装置およびサービス探索装置のハードウェア構成を例示する図である。
【図６】図４に示したサーバ装置のハードウェア構成を例示する図である。
【図７】図４に示したクライアント装置において実行されるクライアントノード用プログラムの構成を示す図である。
【図８】図７に示したクライアントノード用プログラムのアドレス取得部の第１の処理（Ｓ１０）を示すフローチャートである。
【図９】図８に示したクライアントノード用プログラムのアドレス取得部の第２の処理（Ｓ１２）を示すフローチャートである。
【図１０】図４に示したサーバ装置において実行されるサーバノード用プログラムの構成を示す図である。
【図１１】図１０に示したサーバノード用プログラムのサービス情報部の第１の処理（Ｓ１４）を示すフローチャートである。
【図１２】図１０に示したサーバノード用プログラムのサービス情報部の第２の処理（Ｓ１６）を示すフローチャートである。
【図１３】図４に示したサービス探索装置において実行されるサービス探索装置用プログラムの構成を示す図である。
【図１４】図１３に示したサービス探索装置用プログラムのアドレス記憶部の処理を示すフローチャートである。
【図１５】図１３に示したサービス探索装置用プログラムのアドレス記憶部の第１の処理（Ｓ２０）を示すフローチャートである。
【図１６】図１３に示したサービス探索装置用プログラムのアドレス記憶部の第２の処理（Ｓ２２）を示すフローチャートである。
【図１７】ネットワークシステムの第１の実施形態における全体動作を示す第１の図であって、サーバ装置が起動時および定期的に行うサービス公示処理を示す。
【図１８】ネットワークシステムの第１の実施形態における全体動作を示す第２の図であって、サービス情報を示す。
【図１９】ネットワークシステムの第１の実施形態における全体動作を示す第３の図であって、サービス探索装置が起動時に行うサービス検出処理を示す。
【図２０】ネットワークシステムの第１の実施形態における全体動作を示す第４の図であって、クライアント装置３側のサービス探索装置に対してサーバ装置（例えばサーバ装置４Ｂ）側のサービス探索装置の位置（アドレス）を通知する場合の通信シーケンスを示す。
【図２１】ネットワークシステムの第１の実施形態における全体動作を示す第５の図であって、クライアント装置が、サービス探索装置を用いてサーバ装置の探索を行う処理を示す。
【図２２】ネットワークシステムの第１の実施形態における全体動作を示す第６の図であって、サーバ装置側のサービス探索装置に対して、クライアント装置側のサービス探索装置の位置（アドレス）を通知する場合の通信シーケンスを示す。
【図２３】ネットワークシステムの第２の実施形態における第１の動作を示す図である。
【図２４】ネットワークシステムの第２の実施形態における第２の動作を示す図である。
【図２５】本発明の第３の実施形態として示すサービス探索装置用プログラムの構成を示す図である。
【図２６】ネットワークシステムの第３の実施形態における第１の動作を示す図である。
【図２７】ネットワークシステムの第３の実施形態における第２の動作を示す図である。
【図２８】ネットワークシステムの第４の実施形態における動作を示す図である。
【図２９】ネットワークシステムの第５の実施形態における動作を示す図である。
【符号の説明】
１，２・・・ネットワークシステム
１０・・・ＩＰネットワーク（サービス検出領域）
１２・・・広域ネットワーク
３・・・クライアント装置
４００・・・本体
４０２・・・ＣＰＵ
４０４・・・メモリ
４２０・・・通信装置
４４０・・・記録装置
４４２・・・記録媒体
４６０・・・表示・入力装置
３０・・・クライアントノード用プログラム
３００・・・適用業務クライアント部
３０２・・・アドレス取得部
３０４・・・サービス発見部
４・・・サーバ装置
４８０・・・プリンタ
４８２・・・ファイルシステム
４２・・・サーバノード用プログラム
４２２・・・適用業務サービス部
４２４・・・アドレス取得部
４２６・・・サービス情報部
５，６・・・サービス探索装置
６０，７０・・・・サービス探索装置用プログラム
６００・・・サービス探索部
６０２・・・アドレス受信部
６０４・・・アドレス記憶部
６０６・・・情報交換部
７００・・・適用業務中継サービス部
【図１】
0003837738.tif 000002
【図２】
0003837738.tif 000003
【図３】
0003837738.tif 000004
【図４】
0003837738.tif 000005
【図５】
0003837738.tif 000006
【図６】
0003837738.tif 000007
【図７】
0003837738.tif 000008
【図８】
0003837738.tif 000009
【図９】
0003837738.tif 000010
【図１０】
0003837738.tif 000011
【図１１】
0003837738.tif 000012
【図１２】
0003837738.tif 000013
【図１３】
0003837738.tif 000014
【図１４】
0003837738.tif 000015
【図１５】
0003837738.tif 000016
【図１６】
0003837738.tif 000017
【図１７】
0003837738.tif 000018
【図１８】
0003837738.tif 000019
【図１９】
0003837738.tif 000020
【図２０】
0003837738.tif 000021
【図２１】
0003837738.tif 000022
【図２２】
0003837738.tif 000023
【図２３】
0003837738.tif 000024
【図２４】
0003837738.tif 000025
【図２５】
0003837738.tif 000026
【図２６】
0003837738.tif 000027
【図２７】
0003837738.tif 000028
【図２８】
0003837738.tif 000029
【図２９】
0003837738.tif 000030