(57)【特許請求の範囲】
【請求項１】
複数のピアノードから構成されるピアツーピアネットワークにおいて、
検索元ピアノードが、検索先ピアノードに対して検索条件値を含む検索要求メッセージを送信し、検索応答待ちとなるステップと、
前記検索先ピアノードが、前記検索元ピアノードからの検索要求メッセージを受信し、検索条件値を取得するステップと、
前記検索先ピアノードが、自己で保持しているインデックス情報のうち、検索条件値に合致するインデックス情報の個数を計算するステップと、
前記検索先ピアノードが、インデックス情報の個数を前記検索元ピアノードへ通知するステップと、
前記検索先ピアノードが、前記検索元ピアノードに対して、検索条件値に合致するインデックス情報を、順次、検索応答メッセージに含めて返信するステップと、
前記検索元ピアノードが、前記検索先ピアノードからの検索応答メッセージの受信個数が前記検索先ピアノードから通知されたインデックス情報の個数になるまで、前記検索先ピアノードからの検索応答メッセージの受信待ちを続けるステップと、
を含むことを特徴とする情報検索方法。
【請求項２】
前記検索元ピアノードは、前記検索先ピアノードから通知されたインデックス情報の個数が０である場合、前記検索先ピアノードからの検索応答メッセージの受信待ちを終了することを特徴とする請求項１に記載の情報検索方法。
【請求項３】
複数のピアノードから構成されるピアツーピアネットワークにおいて情報検索を行う情報検索装置であり、
検索先ピアノードに対して検索条件値を含む検索要求メッセージを送信する検索要求メッセージ送信手段と、
前記検索先ピアノードから、検索条件値に合致するインデックス情報の個数を受信するインデックス情報数受信手段と、
前記検索先ピアノードから、検索条件値に合致するインデックス情報を含む検索応答メッセージを受信する検索応答メッセージ受信手段と、を備え、
前記検索応答メッセージ受信手段は、前記検索先ピアノードからの検索応答メッセージの受信個数が前記検索先ピアノードから通知されたインデックス情報の個数になるまで、前記検索先ピアノードからの検索応答メッセージの受信待ちを続ける、
ことを特徴とする情報検索装置。
【請求項４】
前記検索応答メッセージ受信手段は、前記検索先ピアノードから通知されたインデックス情報の個数が０である場合、前記検索先ピアノードからの検索応答メッセージの受信待ちを終了することを特徴とする請求項３に記載の情報検索装置。
【請求項５】
複数のピアノードから構成されるピアツーピアネットワークにおいて情報検索応答を行う情報検索応答装置であり、
検索元ピアノードからの検索要求メッセージを受信し、検索条件値を取得する検索要求メッセージ受信手段と、
自己で保持しているインデックス情報のうち、検索条件値に合致するインデックス情報の個数を計算するインデックス情報数計算手段と、
インデックス情報の個数を前記検索元ピアノードへ通知するインデックス情報数送信手段と、
前記検索元ピアノードに対して、検索条件値に合致するインデックス情報を、順次、検索応答メッセージに含めて返信する検索応答メッセージ送信手段と、
を備えたことを特徴とする情報検索応答装置。
【請求項６】
複数のピアノードから構成されるピアツーピアネットワークにおいて情報検索を行うためのコンピュータプログラムであって、
検索先ピアノードに対して検索条件値を含む検索要求メッセージを送信する検索要求メッセージ送信機能と、
前記検索先ピアノードから、検索条件値に合致するインデックス情報の個数を受信するインデックス情報数受信機能と、
前記検索先ピアノードから、検索条件値に合致するインデックス情報を含む検索応答メッセージを受信する検索応答メッセージ受信機能と、をコンピュータに実現させるものであり、
前記検索応答メッセージ受信機能は、前記検索先ピアノードからの検索応答メッセージの受信個数が前記検索先ピアノードから通知されたインデックス情報の個数になるまで、前記検索先ピアノードからの検索応答メッセージの受信待ちを続ける、
ことを特徴とするコンピュータプログラム。
【請求項７】
前記検索応答メッセージ受信機能は、前記検索先ピアノードから通知されたインデックス情報の個数が０である場合、前記検索先ピアノードからの検索応答メッセージの受信待ちを終了することを特徴とする請求項６に記載のコンピュータプログラム。
【請求項８】
複数のピアノードから構成されるピアツーピアネットワークにおいて情報検索応答を行うためのコンピュータプログラムであって、
検索元ピアノードからの検索要求メッセージを受信し、検索条件値を取得する検索要求メッセージ受信機能と、
自己で保持しているインデックス情報のうち、検索条件値に合致するインデックス情報の個数を計算するインデックス情報数計算機能と、
インデックス情報の個数を前記検索元ピアノードへ通知するインデックス情報数送信機能と、
前記検索元ピアノードに対して、検索条件値に合致するインデックス情報を、順次、検索応答メッセージに含めて返信する検索応答メッセージ送信機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ピアツーピア（Peer to Peer）ネットワークにおける情報検索方法、情報検索装置、情報検索応答装置及びコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、ピアツーピアネットワークにおける情報検索方法として、例えば、非特許文献１記載の従来技術１では、検索元ピアノードが、検索条件の値に基づくハッシュ値を求め、ハッシュ値に対応する１つの検索先ピアノードに対して、検索要求メッセージを送信している。非特許文献２記載の従来技術２では、検索元ピアノードが、予め決められたタイムアウト時間になるまで、検索応答メッセージ待ちを続ける。
【非特許文献１】I.Stoica et al.，“Chord: A scalable peer-to-peer lookup service for internet applications”，in Proc. of ACM SIGCOMM'01,pp.149-160, ACM Press, 2001.
【非特許文献２】インターネット＜ＵＲＬ：http;//platform.jxta.org/＞、［平成１９年１１月１５日検索］
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、上述した従来技術１では、検索元ピアノードは検索条件に合致する全てのインデックス情報を取得できるとは限らない。従来技術２では、検索条件に合致する全てのインデックス情報を確実に取得するためには、タイムアウト時間を十分長く設定する必要があり、検索時間が長くなる。
【０００４】
本発明は、このような事情を考慮してなされたもので、その目的は、ピアツーピアネットワークにおいて、検索条件に合致する全てのインデックス情報を取得できると共に、検索時間の短縮を図ることのできる情報検索方法、情報検索装置、情報検索応答装置及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００５】
上記の課題を解決するために、本発明に係る情報検索方法は、複数のピアノードから構成されるピアツーピアネットワークにおいて、検索元ピアノードが、検索先ピアノードに対して検索条件値を含む検索要求メッセージを送信し、検索応答待ちとなるステップと、前記検索先ピアノードが、前記検索元ピアノードからの検索要求メッセージを受信し、検索条件値を取得するステップと、前記検索先ピアノードが、自己で保持しているインデックス情報のうち、検索条件値に合致するインデックス情報の個数を計算するステップと、前記検索先ピアノードが、インデックス情報の個数を前記検索元ピアノードへ通知するステップと、前記検索先ピアノードが、前記検索元ピアノードに対して、検索条件値に合致するインデックス情報を、順次、検索応答メッセージに含めて返信するステップと、前記検索元ピアノードが、前記検索先ピアノードからの検索応答メッセージの受信個数が前記検索先ピアノードから通知されたインデックス情報の個数になるまで、前記検索先ピアノードからの検索応答メッセージの受信待ちを続けるステップと、を含むことを特徴とする。
【０００６】
本発明に係る情報検索方法においては、前記検索元ピアノードは、前記検索先ピアノードから通知されたインデックス情報の個数が０である場合、前記検索先ピアノードからの検索応答メッセージの受信待ちを終了することを特徴とする。
【０００７】
本発明に係る情報検索装置は、複数のピアノードから構成されるピアツーピアネットワークにおいて情報検索を行う情報検索装置であり、検索先ピアノードに対して検索条件値を含む検索要求メッセージを送信する検索要求メッセージ送信手段と、前記検索先ピアノードから、検索条件値に合致するインデックス情報の個数を受信するインデックス情報数受信手段と、前記検索先ピアノードから、検索条件値に合致するインデックス情報を含む検索応答メッセージを受信する検索応答メッセージ受信手段と、を備え、前記検索応答メッセージ受信手段は、前記検索先ピアノードからの検索応答メッセージの受信個数が前記検索先ピアノードから通知されたインデックス情報の個数になるまで、前記検索先ピアノードからの検索応答メッセージの受信待ちを続けることを特徴とする。
【０００８】
本発明に係る情報検索装置においては、前記検索応答メッセージ受信手段は、前記検索先ピアノードから通知されたインデックス情報の個数が０である場合、前記検索先ピアノードからの検索応答メッセージの受信待ちを終了することを特徴とする。
【０００９】
本発明に係る情報検索応答装置は、複数のピアノードから構成されるピアツーピアネットワークにおいて情報検索応答を行う情報検索応答装置であり、検索元ピアノードからの検索要求メッセージを受信し、検索条件値を取得する検索要求メッセージ受信手段と、自己で保持しているインデックス情報のうち、検索条件値に合致するインデックス情報の個数を計算するインデックス情報数計算手段と、インデックス情報の個数を前記検索元ピアノードへ通知するインデックス情報数送信手段と、前記検索元ピアノードに対して、検索条件値に合致するインデックス情報を、順次、検索応答メッセージに含めて返信する検索応答メッセージ送信手段と、を備えたことを特徴とする。
【００１０】
本発明に係るコンピュータプログラムは、複数のピアノードから構成されるピアツーピアネットワークにおいて情報検索を行うためのコンピュータプログラムであって、検索先ピアノードに対して検索条件値を含む検索要求メッセージを送信する検索要求メッセージ送信機能と、前記検索先ピアノードから、検索条件値に合致するインデックス情報の個数を受信するインデックス情報数受信機能と、前記検索先ピアノードから、検索条件値に合致するインデックス情報を含む検索応答メッセージを受信する検索応答メッセージ受信機能と、をコンピュータに実現させるものであり、前記検索応答メッセージ受信機能は、前記検索先ピアノードからの検索応答メッセージの受信個数が前記検索先ピアノードから通知されたインデックス情報の個数になるまで、前記検索先ピアノードからの検索応答メッセージの受信待ちを続けることを特徴とする。
【００１１】
本発明に係るコンピュータプログラムにおいては、前記検索応答メッセージ受信機能は、前記検索先ピアノードから通知されたインデックス情報の個数が０である場合、前記検索先ピアノードからの検索応答メッセージの受信待ちを終了することを特徴とする。
これにより、前述の情報検索装置がコンピュータを利用して実現できるようになる。
【００１２】
本発明に係るコンピュータプログラムは、複数のピアノードから構成されるピアツーピアネットワークにおいて情報検索応答を行うためのコンピュータプログラムであって、検索元ピアノードからの検索要求メッセージを受信し、検索条件値を取得する検索要求メッセージ受信機能と、自己で保持しているインデックス情報のうち、検索条件値に合致するインデックス情報の個数を計算するインデックス情報数計算機能と、インデックス情報の個数を前記検索元ピアノードへ通知するインデックス情報数送信機能と、前記検索元ピアノードに対して、検索条件値に合致するインデックス情報を、順次、検索応答メッセージに含めて返信する検索応答メッセージ送信機能と、をコンピュータに実現させることを特徴とする。
これにより、前述の情報検索応答装置がコンピュータを利用して実現できるようになる。
【発明の効果】
【００１３】
本発明によれば、ピアツーピアネットワークにおいて、検索条件に合致する全てのインデックス情報を取得できると共に、検索時間の短縮を図ることができるという効果が得られる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照し、本発明の実施形態について説明する。
図１は、本発明の一実施形態に係るピアツーピアネットワークの構成を示すブロック図である。図１において、パーソナルコンピュータ（PC）１００は、ピアツーピアネットワークを構成するノード（以下、ピアノードと称する）である。ピアノード１００は、インターネットに接続している。複数のピアノード１００によってピアツーピアネットワークが構成される。
【００１５】
図２は、本実施形態に係るピアノード１００の構成を示すブロック図である。図２において、ピアノード１００は、検索条件入力部１０１、検索要求部１０２、ハッシュ値計算部１０３、ルート情報記憶部１０４、メッセージ転送部１０５、検索応答部１０６、インデックス情報記憶部１０７及びネットワーク接続部１０８を有する。
【００１６】
検索条件入力部１０１は、ユーザが検索したい情報の条件値（検索条件値）を入力する。検索要求部１０２は、検索条件値に基づいて検索要求メッセージをインターネットへ送信する。ハッシュ値計算部１０３は、所定のハッシュ関数により、検索条件値からハッシュ値を計算する。
【００１７】
ルート情報記憶部１０４は、ハッシュ値に対応するルート情報を記憶している。本実施形態では、ピアツーピアネットワークのルート情報として、Chord方式を採用する。Chord方式において、ピアノードは、ノード番号が「id ＋ ２Ｘ」（但し、idは自ノード番号、Ｘ≧０）であるピアノードへのルート情報を有する。
【００１８】
メッセージ転送部１０５は、インターネットから受信した検索要求メッセージの転送を行う。自ノード宛の検索要求メッセージは検索応答部１０６へ出力する。検索応答部１０６は、自ノード宛の検索要求メッセージに対する検索応答メッセージをインターネットへ送信する。
【００１９】
インデックス情報記憶部１０７は、インデックス情報を記憶する。インデックス情報は、検索条件値と該検索条件に合致するコンテンツ情報の組み合わせである。ネットワーク接続部１０８は、インターネットに接続し、パケットの送受を行う。
【００２０】
図３は、Chord方式によるメッセージ転送方法を説明するための説明図である。図３において、８台のピアノード０〜７がピアツーピアネットワークを構成している。各ピアノードは、検索条件とそれに合致するコンテンツ情報の組み合わせ（インデックス情報）を、検索条件値から求められるハッシュ値に対応するピアノードに予め登録し保持させる。図３の例では、ハッシュ値の値域は０以上８より小さく、ハッシュ値が例えば６より大きく７以下であるような検索条件値に対応するインデックス情報は、ピアノード７に登録される。
【００２１】
図３において、検索元ピアノードは、検索条件値からハッシュ値を求め、ハッシュ値に対応する１つの検索先ピアノードに対して、検索要求メッセージを送信する。図３の例では、検索元ピアノード０は、検索条件値から求めたハッシュ値が６より大きく７以下であったので、該ハッシュ値に対応する検索先ピアノード７に対して、検索要求メッセージを送信する。各ピアノードは、ノード番号が「id ＋ ２Ｘ」（但し、idは自ノード番号、Ｘ≧０）であるピアノードへのルート情報を有している。これにより、検索元ピアノード０から送信された検索要求メッセージは、ピアノード４からピアノード６そして検索先ピアノード７へと３ホップで転送される。検索先ピアノード７は、検索要求メッセージに対する検索応答メッセージを検索元ピアノード０へ返信する。
なお、上述したChord方式によるメッセージ転送方法は公知技術である。
【００２２】
次に、本実施形態に係る情報検索方法を説明する。
【００２３】
図４は、本実施形態に係る情報検索方法の手順を示すシーケンスチャートである。図４において、ステップＳ１では、検索元ピアノードが、検索先ピアノードに対して検索要求メッセージを送信し、検索応答待ちとなる。検索要求メッセージは検索条件値を有する。
【００２４】
ステップＳ２では、検索先ピアノードが、検索要求メッセージを受信し、検索元ピアノードに対して検索応答メッセージを返信する処理を行う。この検索応答メッセージ返信処理では、まず、検索要求メッセージから検索条件値を取得する。次いで、インデックス情報記憶部１０７にあるインデックス情報のうち、該検索条件値を含むインデックス情報の個数ｎを計算する。次いで、その個数ｎを含めた検索応答メッセージ＃１を検索元ピアノードに対して返信する。このとき、ｎが１以上である場合、検索応答メッセージ＃１には、該検索条件値を含む第１のインデックス情報を含める。一方、ｎが０である場合、検索応答メッセージ＃１には、インデックス情報の個数「ｎ＝０」のみを含めて返信し、検索応答メッセージ返信処理を終了する。
ｎが１以上である場合には、以降、該検索条件値を含む第２のインデックス情報から第ｎのインデックス情報まで、順次、検索応答メッセージ＃２〜＃ｎに含めて返信する。これにより、合計ｎ個の検索応答メッセージ＃１〜＃ｎが返信される。
【００２５】
検索元ピアノードは、最初の検索応答メッセージ＃１を受信すると、インデックス情報の個数ｎを取得する。検索元ピアノードは、その個数ｎが２以上である場合には、未受信の検索応答メッセージ＃２〜＃ｎを全て受信するまで、検索応答待ちを継続する。一方、検索元ピアノードは、その個数ｎが０又は１である場合、これ以上は検索応答メッセージが来ないので、検索応答待ちを終了する。
【００２６】
図５は、検索元ピアノードの処理フロー図である。図５において、ステップＳ１１では、検索条件値を入力する。ステップＳ１２では、検索条件値に基づいて検索要求メッセージを送信する。ステップＳ１３では、最初の検索応答メッセージ＃１を受信する。
【００２７】
ステップＳ１４では、検索応答メッセージ＃１からインデックス情報の個数ｎを取得する。ステップＳ１５では、その個数ｎが２以上であるか判断する。この結果、個数ｎが０又は１である場合には図５の処理を終了する。一方、個数ｎが２以上である場合にはステップＳ１６に進む。
【００２８】
ステップＳ１６では、検索応答メッセージの待ち数ｑに、未受信の検索応答メッセージの個数「ｎ−１」を設定する。ステップＳ１７では、検索応答メッセージの受信ありを判断し、検索応答メッセージ受信ありの場合にはステップＳ１８に進む。
【００２９】
ステップＳ１８では、検索応答メッセージの待ち数ｑから１減算する。ステップＳ１９では、検索応答メッセージの待ち数ｑが０となり、全ての検索応答メッセージを受信したか判断する。この結果、ｑが０であり、全ての検索応答メッセージを受信した場合には図５の処理を終了する。一方、ｑが０でなく、未受信の検索応答メッセージが残っている場合にはステップＳ１７に戻り、全ての検索応答メッセージを受信するまで処理を繰り返す。これにより、全ての検索応答メッセージを受信し、検索条件に合致する全てのインデックス情報を取得することができる。
【００３０】
上述したように本実施形態によれば、検索元ピアノードは、検索条件に合致する全てのインデックス情報を検索先ピアノードから取得することができる。さらに、検索元ピアノードは、検索条件に合致する全てのインデックス情報を検索先ピアノードから取得できたか否かを判断することができるので、無駄な待ち時間がなくなり検索時間の短縮を図ることができる。
【００３１】
なお、本実施形態に係る情報検索装置、情報検索応答装置としてのピアノードは、専用のハードウェアにより実現されるものであってもよく、あるいはパーソナルコンピュータ等のコンピュータシステムにより構成され、図２に示されるピアノード１００の各部の機能を実現するためのプログラムを実行することによりその機能を実現させるものであってもよい。
【００３２】
また、そのピアノードには、周辺機器として入力装置、表示装置等（いずれも図示せず）が接続されるものとする。ここで、入力装置とはキーボード、マウス等の入力デバイスのことをいう。表示装置とはＣＲＴ（Cathode Ray Tube）や液晶表示装置等のことをいう。
また、上記周辺機器については、ピアノードに直接接続するものであってもよく、あるいは通信回線を介して接続するようにしてもよい。
【００３３】
また、図４、図５に示す各ステップを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、情報検索処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Digital Versatile Disk）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００３４】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００３５】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【図面の簡単な説明】
【００３６】
【図１】本発明の一実施形態に係るピアツーピアネットワークの構成を示すブロック図である。
【図２】同実施形態に係るピアノード１００の構成を示すブロック図である。
【図３】Chord方式によるメッセージ転送方法を説明するための説明図である。
【図４】本発明の一実施形態に係る情報検索方法の手順を示すシーケンスチャートである。
【図５】同実施形態に係る検索元ピアノードの処理フロー図である。
【符号の説明】
【００３７】
１００…パーソナルコンピュータ（ピアノード、情報検索装置、情報検索応答装置）、１０１…検索条件入力部、１０２…検索要求部、１０３…ハッシュ値計算部、１０４…ルート情報記憶部、１０５…メッセージ転送部、１０６…検索応答部、１０７…インデックス情報記憶部、１０８…ネットワーク接続部
【図１】
0005060927.tif 000002
【図２】
0005060927.tif 000003
【図３】
0005060927.tif 000004
【図４】
0005060927.tif 000005
【図５】
0005060927.tif 000006