(57)【要約】【課題】複数のノードで一時的に形成されるネットワークにおいて、サービス提供ノードを効率的にかつ確実に発見する。【解決手段】問い合わせ受付手段１１１は、他ノードからサービス提供ノードの所在につての問い合わせ電文を受け付ける。通信可能ノード検索手段１１２は、問い合わせ電文を受け付けると、自ノードから通信可能なノードを検索する。情報交換関係登録手段１１９は、自ノード以外のノードの問い合わせ順序を指定する情報交換関係値をリストに登録する。情報交換関係検索手段１１３は、リストから情報交換関係値を検索する。問い合わせ順序決定手段１１４は、通信可能なノードに対する問い合わせ順序を情報交換関係値に基づき決定する。問い合わせ手段１１５は、通信可能なノードに対し、先に決定された問い合わせ順序にしたがって問い合わせ電文を送信する。【選択図】図３
2008211565.tif 000002
【特許請求の範囲】
【請求項１】
一時的に形成されるネットワークを構成する複数のノードの各々に設けられ、当該複数のノードの中からサービス提供ノードを発見するサービス提供ノード発見装置であって、
他ノードから前記サービス提供ノードの所在についての問い合わせ電文を受け付ける問い合わせ受付手段と、
前記問い合わせ電文を受け付けると、自ノードが前記サービス提供ノードでない場合に、自ノードから通信可能なノードを検索する通信可能ノード検索手段と、
自ノード以外のノードの問い合わせ順序を指定する情報交換関係値をリストに登録する情報交換関係登録手段と、
前記リストから前記情報交換関係値を検索する情報交換関係検索手段と、
前記検索された通信可能なノードに対する問い合わせ順序を、前記検索された情報交換関係値に基づき決定する問い合わせ順序決定手段と、
前記検索された通信可能なノードに対し、前記決定された問い合わせ順序にしたがって前記サービス提供ノードの所在についての問い合わせ電文を送信する問い合わせ手段と、を有するサービス提供ノード発見装置。
【請求項２】
前記情報交換関係登録手段は、自ノード以外のノードごとに、当該ノードから前記サービス提供ノードの所在情報を取得した回数に応じた値を、前記情報交換関係値として登録する、請求項１に記載のサービス提供ノード発見装置。
【請求項３】
問い合わせ先のノードから問い合わせ電文に対する応答電文を受け付ける応答受付手段と、
問い合わせ先のノードから受け付けた応答電文に前記サービス提供ノードの所在情報が含まれているか否かに基づいて、前記決定された問い合わせ順序にしたがって次の問い合わせを行うか否かを判定する判定手段と、をさらに有し、
前記問い合わせ手段は、前記判定の結果が次の問い合わせを行うことを示している場合に限り、前記決定された問い合わせ順序にしたがって次の問い合わせ先のノードに対し、問い合わせ電文を送信する、請求項１または２に記載のサービス提供ノード発見装置。
【請求項４】
問い合わせ先のノードから受け付けた応答電文に前記サービス提供ノードの所在情報が含まれている場合および自ノードが前記サービス提供ノードである場合に、前記サービス提供ノードの所在情報を含む応答電文を、問い合わせ元のノードに送信する応答送信手段をさらに有する、請求項３に記載のサービス提供ノード発見装置。
【請求項５】
前記情報交換関係登録手段は、問い合わせ先のノードから受け付けた応答電文に前記サービス提供ノードの所在情報が含まれているか否かに応じて、当該問い合わせ先のノードの情報交換関係値を再度算出し、算出した情報交換関係値を前記リストに登録する、請求項３または４に記載のサービス提供ノード発見装置。
【請求項６】
一時的に形成されるネットワークを構成する複数のノードの各々に設けられ、当該複数のノードの中からサービス提供ノードを発見するサービス提供ノード発見装置によるサービス提供ノード発見方法であって、
他ノードから前記サービス提供ノードの所在についての問い合わせ電文を受け付ける問い合わせ受付ステップと、
前記問い合わせ電文を受け付けると、自ノードが前記サービス提供ノードでない場合に、自ノードから通信可能なノードを検索する通信可能ノード検索ステップと、
自ノード以外のノードの問い合わせ順序を指定する情報交換関係値をリストに登録する情報交換関係登録ステップと、
前記リストから前記情報交換関係値を検索する情報交換関係検索ステップと、
前記検索された通信可能なノードに対する問い合わせ順序を、前記検索された情報交換関係値に基づき決定する問い合わせ順序決定ステップと、
前記検索された通信可能なノードに対し、前記決定された問い合わせ順序にしたがって前記サービス提供ノードの所在についての問い合わせ電文を送信する問い合わせステップと、を有するサービス提供ノード発見方法。
【請求項７】
前記情報交換関係登録ステップでは、自ノード以外のノードごとに、当該ノードから前記サービス提供ノードの所在情報を取得した回数に応じた値を、前記情報交換関係値として登録する、請求項６に記載のサービス提供ノード発見方法。
【請求項８】
問い合わせ先のノードから問い合わせ電文に対する応答電文を受け付ける応答受付ステップと、
問い合わせ先のノードから受け付けた応答電文に前記サービス提供ノードの所在情報が含まれているか否かに基づいて、前記決定された問い合わせ順序にしたがって次の問い合わせを行うか否かを判定する判定ステップと、をさらに有し、
前記問い合わせステップでは、前記判定の結果が次の問い合わせを行うことを示している場合に限り、前記決定された問い合わせ順序にしたがって次の問い合わせ先のノードに対し、問い合わせ電文を送信する、請求項６または７に記載のサービス提供ノード発見方法。
【請求項９】
問い合わせ先のノードから受け付けた応答電文に前記サービス提供ノードの所在情報が含まれている場合および自ノードが前記サービス提供ノードである場合に、前記サービス提供ノードの所在情報を含む応答電文を、問い合わせ元のノードに送信する応答送信ステップをさらに有する、請求項８に記載のサービス提供ノード発見方法。
【請求項１０】
問い合わせ先のノードから受け付けた応答電文に前記サービス提供ノードの所在情報が含まれているか否かに応じて、当該問い合わせ先のノードの情報交換関係値を再度算出し、算出した情報交換関係値を前記リストに登録する情報交換関係再登録ステップをさらに有する、請求項８または９に記載のサービス提供ノード発見方法。
【請求項１１】
一時的に形成されるネットワークを構成する複数のノードの各々に設けられ、当該複数のノードの中からサービス提供ノードを発見するコンピュータに、請求項６から１０のいずれか１項に記載のサービス提供ノード発見方法を実行させるためのサービス提供ノード発見プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アドホックネットワーク等、複数のノード間で一時的に形成されるネットワークにおいて、これら複数のノードの中からサービスを提供するサービス提供ノードを発見するサービス提供ノード発見装置、サービス提供ノード発見方法、サービス提供ノード発見プログラムに関する。
【背景技術】
【０００２】
いわゆるアドホックネットワーク等、複数のノード間で一時的に形成されるネットワークにおいては、ネットワーク構成が動的に変更されること、サービス提供ノードのアドレスが既知であるとは限らないことから、あるノードがサービス提供を受けるためには、サービス提供ノードを発見しなければならない。
【０００３】
一般的なアドホックネットワークの全体構成を図８に示す。なお、図８においては、ノードＸ０１がサービス提供ノードを発見しようとしているものとする。
【０００４】
図８を参照すると、ノードＸ０１は、通信可能な範囲のノードＸ０２，Ｘ０３に対し、サービス提供ノードの所在についての問い合わせ電文ＳＸ０１を送信する。ノードＸ０２，Ｘ０３がサービス提供ノードでなければ、ノードＸ２も同様に、通信可能な範囲のノードＸ０４〜Ｘ０６に対し、問い合わせ電文ＳＸ０１を送信し、ノードＸ０３も同様に、通信可能な範囲のノードＸ０６，Ｘ０７に対し、問い合わせ電文ＳＸ０１を送信する。以上の動作は、サービス提供ノードが問い合わせ電文ＳＸ０１を受信するまで繰り返される。
【０００５】
サービス提供ノードは、問い合わせ電文ＳＸ０１を受信すると、自ノードのアドレスを含む応答電文ＳＸ０２を、問い合わせ元のノードに返信する。そのノードも同様に、問い合わせ元のノードに応答電文ＳＸ０２を返信する。以上の動作は、ノードＸ０１が応答電文ＳＸ０２を受信するまで繰り返される。
【０００６】
したがって、サービス提供ノードを発見するには、ネットワーク全体として大量の電文が送受信されるため、効率が悪い。
【０００７】
そこで、最近は、サービス提供ノードを効率的に発見するために、サービス提供ノードを管理するディレクトリエージェント（サービス情報管理者）をネットワーク内に設ける技術が提案されている（例えば、特許文献１参照）。
【０００８】
特許文献１に開示された技術によれば、各ノードは、サービス提供ノードを発見しようとする場合、サービス提供ノードを直接発見するのではなく、ディレクトリエージェントを発見し、ディレクトリエージェントにサービス提供ノードを発見させる。
【特許文献１】特開２００３−８７２６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
特許文献１に開示された技術によれば、各ノードは、自ノードからディレクトリエージェントを発見できることが担保されていれば、サービス提供ノードを効率的にかつ確実に発見することができる。
【００１０】
しかし、ディレクトリエージェントを発見できることが担保されていない場合は、サービス提供ノードを発見できないことがある。例えば、あるノードの通信可能なノードが１つのみであり、かつその通信可能なノードがサービス提供ノードでもディレクトリエージェントでもない場合である。
【００１１】
そこで、本発明の目的は、ディレクトリエージェントを発見できることが担保されていないようなネットワークにおいても、サービス提供ノードを効率的に確実に発見することができるサービス提供ノード発見装置、サービス提供ノード発見方法、サービス提供ノード発見プログラムを提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するために本発明のサービス提供ノード発見装置は、
一時的に形成されるネットワークを構成する複数のノードの各々に設けられ、当該複数のノードの中からサービス提供ノードを発見するサービス提供ノード発見装置であって、
他ノードから前記サービス提供ノードの所在についての問い合わせ電文を受け付ける問い合わせ受付手段と、
前記問い合わせ電文を受け付けると、自ノードが前記サービス提供ノードでない場合に、自ノードから通信可能なノードを検索する通信可能ノード検索手段と、
自ノード以外のノードの問い合わせ順序を指定する情報交換関係値をリストに登録する情報交換関係登録手段と、
前記リストから前記情報交換関係値を検索する情報交換関係検索手段と、
前記検索された通信可能なノードに対する問い合わせ順序を、前記検索された情報交換関係値に基づき決定する問い合わせ順序決定手段と、
前記検索された通信可能なノードに対し、前記決定された問い合わせ順序にしたがって前記サービス提供ノードの所在についての問い合わせ電文を送信する問い合わせ手段と、を有することを特徴とする。
【００１３】
この構成によれば、情報交換関係値を基にして、サービス提供ノードの所在情報を取得できる可能性が高いノードから順番に問い合わせを行うことができるため、サービス提供ノードを効率的にかつ確実に発見することができる。
【００１４】
なお、前記情報交換関係登録手段は、自ノード以外のノードごとに、当該ノードから前記サービス提供ノードの所在情報を取得した回数に応じた値を、前記情報交換関係値として登録することとしても良い。
【００１５】
この構成によれば、問い合わせ順序を、サービス提供ノードの所在情報を取得した回数が多い順に決定することができる。
【００１６】
また、問い合わせ先のノードから問い合わせ電文に対する応答電文を受け付ける応答受付手段と、
問い合わせ先のノードから受け付けた応答電文に前記サービス提供ノードの所在情報が含まれているか否かに基づいて、前記決定された問い合わせ順序にしたがって次の問い合わせを行うか否かを判定する判定手段と、をさらに有し、
前記問い合わせ手段は、前記判定の結果が次の問い合わせを行うことを示している場合に限り、前記決定された問い合わせ順序にしたがって次の問い合わせ先のノードに対し、問い合わせ電文を送信することとしても良い。
【００１７】
この構成によれば、サービス提供ノードが発見された後の問い合わせを阻止することができるため、ネットワーク上のトラフィックが無駄に増大してしまうことを回避することができる。
【００１８】
また、問い合わせ先のノードから受け付けた応答電文に前記サービス提供ノードの所在情報が含まれている場合および自ノードが前記サービス提供ノードである場合に、前記サービス提供ノードの所在情報を含む応答電文を、問い合わせ元のノードに送信する応答送信手段をさらに有することとしても良い。
【００１９】
この構成によれば、サービス提供ノードが発見された場合に、そのサービス提供ノードの所在情報を問い合わせ元のノードに知らせることができる。
【００２０】
また、前記情報交換関係登録手段は、問い合わせ先のノードから受け付けた応答電文に前記サービス提供ノードの所在情報が含まれているか否かに応じて、当該問い合わせ先のノードの情報交換関係値を再度算出し、算出した情報交換関係値を前記リストに登録することとしても良い。
【００２１】
この構成によれば、リストの情報交換関係値を最新の値に更新することができる。
【発明の効果】
【００２２】
本発明のサービス提供ノード発見装置は、自ノード以外のノードの問い合わせ順序を指定する情報交換関係値をリストに予め登録しておき、他ノードからサービス提供ノードの所在についての問い合わせを受け付けると、自ノードから通信可能なノードに対し、情報交換関係値に基づき問い合わせ順序を決定し、その問い合わせ順序にしたがって問い合わせを行う。
【００２３】
このように、情報交換関係値を基にして、サービス提供ノードの所在情報を取得できる可能性が高いノードから順番に問い合わせを行うことができるため、サービス提供ノードを効率的にかつ確実に発見することができる。
【発明を実施するための最良の形態】
【００２４】
以下に、本発明を実施するための最良の形態について図面を参照して説明する。
【００２５】
図１を参照すると、本実施形態においては、各ノードは、制御部１１と、アプリケーション１２と、情報交換関係リスト１３と、通信可能ノードリスト１４と、通信部１５と、を有している。なお、各ノードは、サービス提供アプリケーション１６を有することにより、サービス提供ノードとしての役割を担うことができるものとする。
【００２６】
制御部１１は、本発明のサービス提供ノード発見装置である。
【００２７】
アプリケーション１２には、制御部１１を構成する各部の処理が記述されている。
【００２８】
情報交換関係リスト１３は、自ノード以外のノードについて、そのノードとの間の情報交換関係を数値化した情報交換関係値のリストである。なお、情報交換関係値は、自ノード以外のノードの問い合わせ順序を指定するための値であるが、詳細は後述する。
【００２９】
通信可能ノードリスト１４は、自ノードから直接通信可能なノードのリストである。
【００３０】
通信部１５は、他ノードとの間で通信を行う。
【００３１】
図２を参照すると、本実施形態においては、６個のノードＮ００〜Ｎ０５間で一時的にネットワークを形成するものとしている。
【００３２】
また、ノードＮ００が直接通信可能なのはノードＮ０１、ノードＮ０１が直接通信可能なのはノードＮ００，Ｎ０２，Ｎ０３、ノードＮ０２が直接通信可能なのはノードＮ０４、ノードＮ０３が直接通信可能なのはノードＮ０５、ノードＮ０４が直接通信可能なのはノードＮ０２、ノードＮ０５が直接通信可能なのはノードＮ０３であるとする。
【００３３】
また、ノードＮ０５のみが、サービス提供アプリケーション１６を有しており、サービス提供ノードとしての役割を担うことができるものとする。
【００３４】
ここで、制御部１１の構成について詳細に説明する。
【００３５】
図３を参照すると、制御部１１は、問い合わせ受付手段１１１と、通信可能ノード検索手段１１２と、情報交換関係検索手段１１３と、問い合わせ順序決定手段１１４と、問い合わせ手段１１５と、応答受付手段１１６と、判定手段１１７と、応答送信手段１１８と、情報交換関係登録手段１１９と、を有している。
【００３６】
問い合わせ受付手段１１１は、他ノードからサービス提供ノードの所在についての問い合わせ電文を受け付ける。
【００３７】
通信可能ノード検索手段１１２は、問い合わせ電文を受け付けると、自ノードから直接通信可能なノードを検索し、検索されたノードを通信可能ノードリスト１４に登録する。
【００３８】
情報交換関係検索手段１１３は、通信可能ノードリスト１４に登録された通信可能なノードの情報交換関係値を、情報交換関係リスト１３から検索する。
【００３９】
問い合わせ順序決定手段１１４は、通信可能ノードリスト１４に登録された通信可能なノードに対する問い合わせ順序を、情報交換関係リスト１３から検索された情報交換関係値に基づき決定する。
【００４０】
問い合わせ手段１１５は、通信可能ノードリスト１４に登録された通信可能なノードに対し、先に決定された問い合わせ順序にしたがって問い合わせ電文を送信する。
【００４１】
応答受付手段１１６は、問い合わせ先のノードから問い合わせ電文に対する応答電文を受け付ける。
【００４２】
判定手段１１７は、問い合わせ先のノードから受け付けた応答電文にサービス提供ノードのアドレスが含まれているか否かに基づいて、先に決定された問い合わせ順序にしたがって次の問い合わせを行うか否かを判定する。次の問い合わせを行うと判定されれば、問い合わせ手段１１５は、次の問い合わせ先のノードに対し、問い合わせ電文を送信する。
【００４３】
応答送信手段１１８は、問い合わせ元のノードに対し、応答電文を送信する。このとき、問い合わせ先のノードから受け付けた応答電文にサービス提供ノードのアドレスが含まれている場合や自ノードがサービス提供ノードである場合は、サービス提供ノードのアドレスを応答電文に含める。
【００４４】
情報交換関係登録手段１１９は、問い合わせ先のノードから受け付けた応答電文にサービス提供ノードのアドレスが含まれているか否かに応じて、問い合わせ先のノードの情報交換関係値を再度算出し、情報交換関係リスト１３に登録する。
【００４５】
以下、本実施形態に係るサービス提供ノード発見方法について、図４のフローチャートを参照して説明する。ここでは、ノードＮ０１がノードＮ００から問い合わせを受け付け、ノードＮ０１の制御部１１内の各部がアプリケーション１２の記述に従い、サービス提供ノードを発見するものとして、ノードＮ０１の動作を中心に説明する。
【００４６】
図４を参照すると、ステップ４０１でノードＮ００からの問い合わせ電文を通信部１５を介して受け付けると、次のステップ４０２では、問い合わせ受付手段１１１は、自ノードにサービス提供アプリケーション１６が存在するか否かを判定する。
【００４７】
もし、ステップ４０２でサービス提供アプリケーション１６が存在すると判定されると、自ノードがサービス提供ノードとなるため、次のステップ４０３では、応答送信手段１１８は、自ノードのアドレスを、サービス提供ノードを発見した旨の応答電文に含めて、通信部１５を介して、問い合わせ元のノードＮ００に返信する。
【００４８】
ここでは、ノードＮ０１はサービス提供ノードではないため、ステップ４０２ではサービス提供アプリケーション１６は存在しないと判定され、ステップ４０２から次のステップ４０４に遷移する。
【００４９】
ステップ４０４では、通信可能ノード検索手段１１２は、通信部１５を介して、ノードＮ０１から直接通信可能なノードを検索し、ステップ４０５では、ステップ４０４で検索されたノードを通信可能ノードリスト１４に登録する。ここでは、ノードＮ０１から通信可能なノードＮ００，Ｎ０２，Ｎ０３が検索されて、通信可能ノードリスト１４に登録される。このときの検索方法の例としては、通信可能であるか否かを照会する電文を送信し、その送信先から一定時間内に通信可能である旨の電文が返信されてきたか否かを調べるなどの一般に知られている方法が挙げられる。
【００５０】
図５を参照すると、通信可能ノード検索手段１１２は、ノード名５１と問い合わせ対象フラグ５２との対を通信可能ノードリスト１４に登録する。ここでは、ノード名５１には、ステップ４０４で検索されたノードＮ００，Ｎ０２，Ｎ０３のノード名を登録する。問い合わせ対象フラグ５２は、各ノードが問い合わせ対象となるか否かを意味するフラグである。ここでは、ノードＮ００はノードＮ０１への問い合わせ元であるため、ノードＮ００の問い合わせ対象フラグ５２には問い合わせ対象外を意味するＮＯを登録する。それ以外のノードＮ０２，Ｎ０３は以降のステップで問い合わせ対象であるため、ノードＮ０２，Ｎ０３の問い合わせ対象フラグ５２にはＹＥＳを登録する。
【００５１】
再度図４を参照すると、次に、ステップ４０６では、情報交換関係検索手段１１３は、情報交換関係リスト１３から、通信可能ノードリスト１４に登録されたノードの情報交換値を検索する。ここでは、ノードＮ０１，Ｎ０２，Ｎ０３の情報交換値が検索される。
【００５２】
図６を参照すると、情報交換関係リスト１３には、ノード名６１と情報交換値６２との対が登録されている。ここでは、ノード名６１には、ノードＮ０１以外の、ノードＮ００，Ｎ０２，Ｎ０３，Ｎ０４，Ｎ０５のノード名が登録されている。上述のように、情報交換値６２は、そのノードとの間の情報交換関係を数値化した値、すなわち、そのノードからサービス提供ノードのアドレスを取得した回数に応じた値となる。なお、情報交換値６２は、ノード所有者の社会的信用度、ノード所有者との相対的な信用度などに応じて増減されるものであっても良い。ここでは、情報交換値６２の値が大きいほど優先的にサービス提供ノードの所在についての問い合わせを行うものとする。
【００５３】
再度図４を参照すると、次に、ステップ４０７では、問い合わせ順序決定手段１１４は、通信可能ノードリスト１４に登録されかつ問い合わせ対象フラグ５２がＹＥＳであるノードのうち、情報交換値６２の値が最も大きなノードを、最初に問い合わせを行う問い合わせ先ノードに決定する。
【００５４】
もし、ステップ４０８で問い合わせ先のノードが存在しないと判定されると、次のステップ４０９では、応答送信手段１１８は、サービス提供ノードを発見できなかった旨の応答電文を、通信部１５を介して、問い合わせ元のノードＮ０１に返信する。
【００５５】
ここでは、通信可能ノードリスト１４に登録されかつ問い合わせ対象フラグ５２がＹＥＳであるノードＮ０２，Ｎ０３が存在し、ノードＮ０２，Ｎ０３の情報交換値６２がそれぞれ１，３であるため、ステップ４０７ではノードＮ０３が問い合わせ先のノードに決定される。そのため、ステップ４０８では問い合わせ先のノードが存在すると判定され、ステップ４０８から次のステップ４１０に遷移する。
【００５６】
ステップ４１０では、問い合わせ手段１１５は、通信部１５を介して、ステップ４０７で決定された問い合わせ先のノードに問い合わせ電文を送信する。ここでは、ノードＮ０３に問い合わせ電文が送信され、以降、ノードＮ０３からの応答電文を待つ。
【００５７】
ステップ４１１で問い合わせ先のノードからの応答電文を通信部１５を介して応答受付手段１１６で受け付けると、次のステップ４１２では、判定手段１１７は、ステップ４１１で受け付けた応答電文にサービス提供ノードのアドレスが含まれているか否かに基づいて、サービス提供ノードが発見されたか否かを判定する。
【００５８】
もし、ステップ４１２でサービス提供ノードが発見されていないと判定すると、判定手段１１７は、別のノードへの問い合わせを行うと判定し、次のステップ４１３では、通信ノード検索手段１１２は、問い合わせ済みのノードの問い合わせ対象フラグ５２をＮＯに更新し、ステップ４０７に遷移する。
【００５９】
他方、ステップＳ４１２でサービス提供ノードが発見されたと判定すると、判定手段１１７は、別のノードへの問い合わせを行わないと判定し、次のステップ４１４では、応答送信手段１１８は、ステップＳ４１１で受け付けた応答電文に含まれるサービス提供ノードのアドレスを、サービス提供ノードを発見した旨の応答電文に含めて、通信部１５を介して、問い合わせ元のノードＮ００に返信する。
【００６０】
ここでは、ノードＮ０１からの問い合わせ電文はノードＮ０３に送信される。これを受けて、ノードＮ０３では、ノードＮ０１から問い合わせ電文を受け付けたステップ４０１以降の処理が行われる。しかし、ノードＮ０３は、サービス提供ノードではないので、ステップ４１０で、問い合わせ電文をノードＮ０５に送信する。これを受けて、ノードＮ０５では、ノードＮ０３から問い合わせ電文を受け付けたステップ４０１以降の処理が行われる。ノードＮ０５は、サービス提供ノードであるので、ステップ４０３で、ノードＮ０５のアドレスを含む応答電文をノードＮ０３に返信する。これを受けて、ノードＮ０３では、ノードＮ０５から応答電文を受け付けたステップ４１１以降の処理が行われる。ノードＮ０５からの応答電文にはノードＮ０５のアドレスが含まれているので、ノードＮ０３は、ステップ４１４で、ノードＮ０５のアドレスを含む応答電文をノードＮ０１に返信する。したがって、ノードＮ０１では、ステップ４１２でサービス提供ノードが発見されたと判定されて、次のステップ４１４では、応答送信手段１１８は、ノードＮ０５のアドレスを、サービス提供ノードを発見した旨の応答電文に含めて、通信部１５を介して、問い合わせ元のノードＮ００に返信する。
【００６１】
その後、ステップ４０９，４１４で応答電文を返信した後のステップ４１５では、情報交換関係登録手段１１９は、問い合わせ先のノードの情報交換値６２を再度算出し、情報交換関係リスト１３を更新する。このときの算出方法の例としては、問い合わせ先のノードからサービス提供ノードのアドレスを取得できた場合は加算、取得できなかった場合は減算するなどの方法が挙げられる。ここでは、問い合わせ先のノードＮ０３からサービス提供ノードであるノードＮ０５のアドレスを取得できたため、図５でノードＮ０３のノード名６１の行にある情報交換値６２を１つ加算して４にする。
【００６２】
なお、図６を参照すると、本実施形態においては、各ノード間で通信部１５を介して通信される電文には、Ｆｒｏｍ７１、Ｔｏ７２、種別７３が含まれる。
【００６３】
Ｆｒｏｍ７１は、電文の送信元ノードのアドレス、Ｔｏ７２は、電文の送信先ノードのアドレスである。種別７３は、電文の種別を表すものであり、例えば、ステップ４０１，ステップ４１０における問い合わせ電文は「問い合わせ」、ステップ４０３，ステップ４１４における応答電文は「ノード発見」、ステップ４０９における応答電文は「失敗」、ステップ４０４における照会の電文は「照会」で、その返答の電文は「通信可能」となる。なお、種別７３が「ノード発見」の応答電文には、サービス提供ノードのアドレスであるアドレス７４が含まれる。
【００６４】
上述したように本実施形態においては、各ノードは、自ノード以外のノードごとに、そのノードからサービス提供ノードの所在情報を取得した回数に応じた情報交換関係値を情報交換関係リスト１１３に予め登録しておき、他ノードからサービス提供ノードの所在についての問い合わせを受け付けると、自ノードから通信可能なノードに対し、情報交換関係値に基づき決定した問い合わせ順序にしたがって問い合わせを行う。
【００６５】
このように、情報交換関係値を基にして、サービス提供ノードの所在情報を取得できる可能性が高いノード（過去にサービス提供ノードの所在情報を取得した回数が多いノードなど）から順番に問い合わせを行うため、サービス提供ノードを効率的にかつ確実に発見することができる。
【００６６】
また、本実施形態においては、各ノードは、問い合わせ先のノードから受け付けた応答電文にサービス提供ノードの所在情報が含まれているか否かに基づき次の問い合わせを行うと判定した場合に限り、次の問い合わせを行うため、サービス提供ノードが発見された後の問い合わせを阻止することができ、それにより、ネットワーク上のトラフィックが無駄に増大してしまうことを回避することができる。
【００６７】
また、本実施形態においては、各ノードは、問い合わせ先のノードから受け付けた応答電文にサービス提供ノードの所在情報が含まれている場合および自ノードがサービス提供ノードである場合に、サービス提供ノードの所在情報を含む応答電文を問い合わせ元のノードに送信するため、サービス提供ノードが発見された場合に、そのサービス提供ノードの所在情報を問い合わせ元のノードに知らせることができる。
【００６８】
また、本実施形態においては、各ノードは、問い合わせ先のノードから受け付けた応答電文にサービス提供ノードの所在情報が含まれているか否かに応じて、その問い合わせ先のノードの情報交換関係値を再度算出し、情報交換関係リスト１１３に登録するため、情報交換関係リスト１１３の情報交換関係値を最新の値に更新することができる。
【００６９】
なお、本発明のサービス提供ノード発見方法は、上述のように制御部１１を構成するハードウェアにより実行されるもの以外に、そのサービス提供ノード発見方法を実行するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行するものであってもよい。コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ等の記録媒体、コンピュータに内蔵されるハードディスク装置等の記憶装置を指す。さらに、コンピュータ読み取り可能な記録媒体は、インターネットを介してプログラムを送信する場合のように、短時間、動的にプログラムを保持するもの（伝送媒体もしくは伝送波）、その場合のサーバとなるコンピュータ内の揮発性メモリのように、一定時間プログラムを保持しているものを含む。
【図面の簡単な説明】
【００７０】
【図１】本実施形態に係るノードの構成の一例を示すブロック図である。
【図２】図１に示したノードが他ノードとの間で一時的に形成するネットワークの全体構成の一例を示す図である。
【図３】図１に示した制御部の構成の一例を示すブロック図である。
【図４】本実施形態に係るサービス提供ノード発見方法の一例を説明するフローチャートである。
【図５】図１に示した通信可能ノードリストの一例を示す図である。
【図６】図１に示した情報交換関係リストの一例を示す図である。
【図７】図１に示したノードが他ノードとの間で通信する電文の形式の一例を示す図である。
【図８】一般的なアドホックネットワークの全体構成の一例を示す図である。
【符号の説明】
【００７１】
１１    制御部
１２    アプリケーション
１３    情報交換関係リスト
１４    通信可能ノードリスト
１５    通信部
１６    サービス提供アプリケーション
１１１    問い合わせ受付手段
１１２    通信可能ノード検索手段
１１３    情報交換関係検索手段
１１４    問い合わせ順序決定手段
１１５    問い合わせ手段
１１６    応答受付手段
１１７    判定手段
１１８    応答送信手段
１１９    情報交換関係登録手段
Ｎ００〜Ｎ０５    ノード
【図１】
2008211565.tif 000003
【図２】
2008211565.tif 000004
【図３】
2008211565.tif 000005
【図４】
2008211565.tif 000006
【図５】
2008211565.tif 000007
【図６】
2008211565.tif 000008
【図７】
2008211565.tif 000009
【図８】
2008211565.tif 000010