(57)【要約】  各通信端末が受信したメッセージが有するグループ識別子を参照するとともにそのメッセージライフ値と前記所定の初期値とを比較することで当該メッセージを発信した通信端末が属するグループおよび自己との距離を把握し、もってリンクを通じて自己と所定距離内に接続された通信端末が属するグループおよび自己との距離を方向ごとに得て接続リンク管理情報として保有し、当該接続リンク管理情報に基づき、方向ごとの、所定距離内にある特定のグループに属する通信端末の数および自己との距離を、当該特定のグループに係る優先度情報として提供する構成である。
2008142780.tif 000002
【特許請求の範囲】
【請求項１】
各通信端末が相互に方向ごとにリンクを張り当該リンクを通じてメッセージを授受する通信方法であって、
各通信端末がメッセージを受信するとメッセージライフ値を参照しゼロでなければ当該メッセージライフ値から１を減算し、当該メッセージに付されたグループ識別子を自己の属するグループと比較し一致した場合同メッセージを受信し不一致の場合これを受信せずに中継する段階と、
各通信端末が受信したメッセージが有するグループ識別子を参照するとともにそのメッセージライフ値と前記所定の初期値とを比較することで当該メッセージを発信した通信端末が属するグループおよび自己との距離を把握し、もってリンクを通じて自己と所定距離内に接続された通信端末が属するグループおよび自己との距離を方向ごとに得て接続リンク管理情報として保有する段階と、
各通信端末は当該接続リンク管理情報に基づき、方向ごとの、所定距離内にある特定のグループに属する通信端末の数および自己との距離を、当該特定のグループに係る優先度情報として提供する段階とよりなる通信方法。
【請求項２】
各通信端末が自己が中継したメッセージに対する返信を更に中継した際に当該メッセージが有するメッセージ識別子によってこれを認識するとともに、そのメッセージライフ値から当該返信を行った通信端末との距離に係る値を把握し、これらに基づいて当該中継に係る方向の、該当するグループに係る優先度を設定する段階を更に有する請求項１に記載の通信方法。
【請求項３】
各通信端末が自己がメッセージを中継した際、該当するグループに属する通信端末が自己に所定距離内に接続されている場合には該当する方向と距離とを当該メッセージの発信元の通信装置に通知する段階を更に有する請求項１に記載の通信方法。
【請求項４】
各通信端末が新たにリンクを接続或いは既に張られているリンクを切断する際、自己に係る情報を、新たな接続先或いは切断先の通信端末が有する接続リンク管理情報に追加或いは同接続リンク管理情報から削除するためのメッセージを発信する段階を更に有する請求項１に記載の通信方法。
【請求項５】
各通信端末は新たにリンクを接続或いは既に張られているリンクを切断する際、接続リンク管理情報に基づき、自己に直接又は間接的に接続されている、当該新たな接続或いは切断に係るもの以外の通信端末に係る情報を、自己に直接又は間接的に接続される或いは接続されていた、当該新たな接続先或いは切断先の通信端末が有する接続リンク管理情報に追加或いは同接続リンク管理情報から削除するためのメッセージを発信する段階を更に有する請求項１に記載の通信方法。
【請求項６】
各通信端末がリンクの切断を検出した際、当該切断に係る通信端末の情報を自己が有する接続リンク管理情報から削除する段階を更に有する請求項１に記載の通信方法。
【請求項７】
各通信端末がリンクの切断を検出した際、接続リンク管理情報に基づき、自己に直接又は間接的に接続されていた、当該切断に係る通信端末の情報を、自己に直接又は間接的に接続されている、当該切断に係るもの以外の通信端末が有する接続リンク管理情報から削除するためのメッセージを発信する段階を更に有する請求項１に記載の通信方法。
【請求項８】
相互に方向ごとにリンクを張り当該リンクを通じてメッセージを授受する通信装置であって、
メッセージを受信するとメッセージライフ値を参照しゼロでなければ当該メッセージライフ値から１を減算する手段と、
メッセージを受信すると当該メッセージに付されたグループ識別子を自己の属するグループと比較し一致した場合同メッセージを受信し不一致の場合これを受信せずに中継する手段と、
受信したメッセージが有するグループ識別子を参照するとともにそのメッセージライフ値と所定の初期値とを比較することで当該メッセージを発信した通信端末が属するグループおよび自己との距離を把握し、もってリンクを通じて自己と所定距離内に接続された通信端末が属するグループおよび自己との距離を方向ごとに得て接続リンク管理情報として保有する手段と、
当該接続リンク管理情報に基づき、方向ごとの、所定距離内にある特定のグループに属する通信端末の数および自己との距離を、当該特定のグループに係る優先度情報として提供する手段とよりなる通信装置。
【請求項９】
自己が中継したメッセージに対する返信を更に中継した際に当該メッセージが有するメッセージ識別子によってこれを認識するとともに、そのメッセージライフ値から当該返信を行った通信端末との距離に係る値を把握し、これらに基づいて当該中継に係る方向の、該当するグループに係る優先度を設定する手段を更に有する請求項８に記載の通信装置。
【請求項１０】
自己がメッセージを中継した際、該当するグループに属する通信端末が自己に所定距離内に接続されている場合には該当する方向と距離とを当該メッセージの発信元の通信装置に通知する手段を更に有する請求項８に記載の通信装置
【請求項１１】
新たにリンクを接続或いは既に張られているリンクを切断する際、自己に係る情報を、新たな接続先或いは切断先の通信端末が有する接続リンク管理情報に追加或いは同接続リンク管理情報から削除するためのメッセージを発信する手段を更に有する請求項８に記載の通信装置。
【請求項１２】
新たにリンクを接続或いは既に張られているリンクを切断する際、接続リンク管理情報に基づき、自己に直接又は間接的に接続されている、当該新たな接続或いは切断に係るもの以外の通信端末に係る情報を、自己に直接又は間接的に接続される或いは接続されていた、当該新たな接続先或いは切断先の通信端末が有する接続リンク管理情報に追加或いは同接続リンク管理情報から削除するためのメッセージを発信する手段を更に有する請求項８に記載の通信装置。
【請求項１３】
リンクの切断を検出した際、当該切断に係る通信端末の情報を自己が有する接続リンク管理情報から削除する手段を更に有する請求項８に記載の通信装置。
【請求項１４】
リンクの切断を検出した際、接続リンク管理情報に基づき、自己に直接又は間接的に接続されていた、当該切断に係る通信端末の情報を、自己に直接又は間接的に接続されている、当該切断に係るもの以外の通信端末が有する接続リンク管理情報から削除するためのメッセージを発信する手段を更に有する請求項８に記載の通信装置。
【請求項１５】
相互に方向ごとにリンクを張り当該リンクを通じてメッセージを授受する通信装置を制御するためのコンピュータを動作させるためのプログラムであって、前記コンピュータを
当該通信装置がメッセージを受信するとメッセージライフ値を参照しゼロでなければ当該メッセージライフ値から１を減算する手段と、
当該通信装置がメッセージを受信すると当該メッセージに付されたグループ識別子を自己の属するグループと比較し一致した場合同メッセージを受信し不一致の場合これを受信せずに中継するように当該通信装置を制御する手段と、
当該通信装置が受信したメッセージが有するグループ識別子を参照するとともにそのメッセージライフ値と所定の初期値とを比較することで当該メッセージを発信した通信端末が属するグループおよび自己との距離を把握し、もってリンクを通じて自己と所定距離内に接続された通信端末が属するグループおよび自己との距離を方向ごとに得て接続リンク管理情報として保有する手段と、
当該接続リンク管理情報に基づき、方向ごとの、所定距離内にある特定のグループに属する通信端末の数および自己との距離を、当該特定のグループに係る優先度情報として提供する手段として機能させるためのプログラム。
【請求項１６】
前記コンピュータを、当該通信装置が中継したメッセージに対する返信を更に中継した際に当該メッセージが有するメッセージ識別子によってこれを認識するとともに、そのメッセージライフ値から当該返信を行った通信端末との距離に係る値を把握し、これらに基づいて当該中継に係る方向の、該当するグループに係る優先度を設定する手段として機能させるための命令を更に有する請求項１５に記載のプログラム。
【請求項１７】
前記コンピュータを、当該通信装置がメッセージを中継した際、該当するグループに属する通信端末が自己に所定距離内に接続されている場合には該当する方向と距離とを当該メッセージの発信元の通信装置に通知する手段として機能させるための命令を更に有する請求項１５に記載のプログラム。
【請求項１８】
前記コンピュータを、新たにリンクを接続或いは既に張られているリンクを切断する際、接続リンク管理情報に基づき、自己に直接又は間接的に接続されている、当該新たな接続或いは切断に係るもの以外の通信端末に係る情報を、自己に直接又は間接的に接続される或いは接続されていた、当該新たな接続先或いは切断先の通信端末が有する接続リンク管理情報に追加或いは同接続リンク管理情報から削除するためのメッセージを発信するように当該通信装置を制御する手段として機能させるための命令を更に有する請求項１５に記載のプログラム。
【請求項１９】
前記コンピュータを、リンクの切断を検出した際、接続リンク管理情報に基づき、自己に直接又は間接的に接続されていた、当該切断に係る通信端末の情報を、自己に直接又は間接的に接続されている、当該切断に係るもの以外の通信端末が有する接続リンク管理情報から削除するためのメッセージを発信するように当該通信装置を制御する手段として機能させるための命令を更に有する請求項１５に記載のプログラム。
【請求項２０】
各通信端末が相互に方向ごとにリンクを張り当該リンクを通じてメッセージを授受する通信システムであって、
各通信端末がメッセージを受信するとメッセージライフ値を参照しゼロでなければ当該メッセージライフ値から１を減算し、当該メッセージに付されたグループ識別子を自己の属するグループと比較し一致した場合同メッセージを受信し不一致の場合これを受信せずに中継し、
各通信端末が受信したメッセージが有するグループ識別子を参照するとともにそのメッセージライフ値と前記所定の初期値とを比較することで当該メッセージを発信した通信端末が属するグループおよび自己との距離を把握し、もってリンクを通じて自己と所定距離内に接続された通信端末が属するグループおよび自己との距離を方向ごとに得て接続リンク管理情報として保有し、
各通信端末は当該接続リンク管理情報に基づき、方向ごとの、所定距離内にある特定のグループに属する通信端末の数および自己との距離を、当該特定のグループに係る優先度情報として提供する構成とされてなる通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信方法、通信装置、プログラム及び通信システムに係り、特に通信端末としての通信装置が相互に方向ごとにリンクを張り当該リンクを通じてメッセージを授受する通信方法或いは通信システム、同方法を実現するための通信装置、同通信装置を制御するコンピュータを動作させるためのプログラムに関する。
【背景技術】
【０００２】
いわゆるピュアＰ２Ｐシステムと称される、各通信端末が相互に方向ごとにリンクを張り当該リンクを通じてメッセージを授受する通信システムでは、各通信端末（以下「ピア」と称する）のグループを構成し、コンテンツの流通・配信等を効率よく行うようにする方式が採られる場合がある。【０００３】
このピュアＰ２Ｐシステムは特定の中央サーバを必要とせずピア同士がメッセージを中継しあうことでネットワークを構成する。【０００４】
ピアは他の複数のピアと定常的な接続を張り(以下接続リンクと称する)、データを必要とするときは接続リンクを直接張っているピア(以下隣接ピアと称する)同士でメッセージをバケツリレー式に中継し合う。【０００５】
ここで中継されるメッセージとして、データの問い合わせに利用する「検索要求メッセージ」(同メッセージ中の問い合わせ内容を「検索クエリ」と称する)、「検索応答メッセージ」等が使用される。【０００６】
検索要求メッセージを受け取ったピアはそのピア自身が該当するデータを持っていれば検索応答メッセージを返信し、持っていなければ更に隣接ピアに当該検索要求メッセージを中継する。そしてこの検索応答メッセージは検索要求メッセージが辿った経路と逆の経路を中継されて検索要求元ピアに返信される。【０００７】
各メッセージはＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ：ピアをホップして中継可能な回数の上限値）値（「メッセージライフ値」に対応）を持ち、中継回数はこのＴＴＬ値で限定される。【０００８】
又各ピアは、一度中継したメッセージと同一のメッセージを再度受け取った場合、これを破棄する。【０００９】
このようなＰ２Ｐ技術は周知のファイル共有ソフトウェアであるＷｉｎｎｙやＧｎｕｔｅｌｌａ等で利用されている(非特許文献１参照)。【００１０】
またピュアＰ２Ｐシステム内で趣味や目的に応じてグループを構成する技術はJXTA(URL:http:／／www.jxta.org／)などで提案されている（非特許文献２参照）。
【特許文献１】特開２００５−７０９８７号公報
【特許文献２】特開２００４−２４６７８６号公報
【特許文献３】特開２００４−１０２５３１号公報
【非特許文献１】「Winnyの技術」、ISBN4-756１-4548-5、金子勇著、アスキー書籍出版編集部編
【非特許文献２】「JXTAプロトコル」、URL:http:／／spec.jxta.org／nonav／v１.0／docbook／JXTAProtocols.html
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明はこのようなピュアP２Pシステムに適用可能な通信システムに係るものであり、トラフィックの効果的な低減を可能にする構成を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明では、通信システムに含まれる各通信端末が、受信したメッセージが有するグループ識別子を参照するとともにそのメッセージライフ値と所定の初期値とを比較することで当該メッセージを発信した通信端末が属するグループおよび自己との距離を把握し、もってリンク（上記「接続リンク」に対応）を通じて自己と所定距離内に接続された通信端末が属するグループおよび自己との距離を方向ごとに得て接続リンク管理情報として保有し、各通信端末は当該接続リンク管理情報に基づき、方向ごとの、所定距離内にある特定のグループに属する通信端末の数および自己との距離を、当該特定のグループに係る優先度情報として提供するようにした。【００１３】
この構成では各通信端末が接続リンク管理情報に基づき、方向ごとの、所定距離内にある特定のグループに属する通信端末の数および自己との距離を、当該特定のグループに係る優先度情報として提供するようにしたため、どの方向が検索要求メッセージを転送するためにより効率的かを判断することによって転送方向を限定でき、もって受信された方向を除く全方向に転送する場合に比し、トラフィックを効果的に低減可能である。
【発明の効果】
【００１４】
本発明によればピュアP２Pに適用可能な通信システムとして、効果的にトラフィックを低減可能な構成を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施例による通信システムを構成する通信装置の機能を説明するための動作フローチャートである。
【図２】本発明の実施例による通信システムに参加するための参加要求メッセージが伝播される様子を説明するためのリンク接続図である。
【図３】本発明の実施例による通信システムを構成する通信装置が有する接続リンク管理情報の内容を説明するためのリンク接続図（その１）である。
【図４】図２の場合の動作シーケンス図である。
【図５】本発明の実施例による通信システムを構成する通信装置が有する接続リンク管理情報の内容を説明するためのリンク接続図（その２）である。
【図６】図５の状態において検索要求が受信され、これを転送する場合の状況を説明するためのリンク接続図である。
【図７】図６の場合の動作シーケンス図である。
【図８】本発明の他の実施例による通信システムを構成する通信装置の機能を説明するための動作フローチャートである。
【図９】図８の実施例による通信システムにおいて検索要求が転送され、これに対する検索応答が返信される場合の状況を説明するためのリンク接続図（その１）である。
【図１０】図９に示される検索成功時の検索成功経路記憶機能を説明するためのリンク接続図（その１）である。
【図１１】図９に示される検索成功時の検索成功経路記憶機能を説明するためのリンク接続図（その２）である。
【図１２】図９に示される検索成功時の検索成功経路記憶機能を説明するためのリンク接続図（その３）である。
【図１３】本発明の更に他の実施例による通信システムの特徴を説明するためのリンク接続図である（その１）。
【図１４】本発明の更に他の実施例による通信システムの特徴を説明するためのリンク接続図である（その２）。
【図１５】本発明の更に他の実施例による通信システムの特徴を説明するためのリンク接続図である（その３）。
【図１６】本発明の更に他の実施例による通信システムの特徴を説明するためのリンク接続図である（その４）。
【図１７】本発明の更に他の実施例による通信システムの特徴を説明するためのリンク接続図である（その５）。
【図１８】本発明の更に他の実施例による通信システムの特徴を説明するためのリンク接続図である（その６）。
【図１９】本発明の更に他の実施例による通信システムの特徴を説明するためのリンク接続図である（その７）。
【図２０】本発明の実施例に適用可能な参加要求メッセージ（ａ）及び離脱要求メッセージ（ｂ）のそれぞれの構成例を示す図である。
【図２１】本発明の実施例に適用可能な検索要求メッセージ（ａ）、検索応答メッセージ（ｂ）及び推薦情報メッセージ（ｃ）のそれぞれの構成例を示す図である。
【図２２】本発明の各実施例による通信システムを構成する各通信装置をコンピュータで実現する場合について説明するためのコンピュータのハードウェア構成例を示すブロック図である。
【符号の説明】
【００１６】
５００、Ａ１，Ａ２，Ａ３，Ａ４，Ｂ１，Ｂ２，Ｃ１，Ｃ２，Ｃ３，Ｃ４，Ｃ５，Ｄ１、Ｄ２  通信装置（ピア）
ｄ１，ｄ２，ｄ３，ｄ４  接続方向
Ｓｓ  検索要求記憶部
Ｔｃ，Ｔｃ１，Ｔｃ２，Ｔｃ３，Ｔｃ３  接続リンク管理テーブル
Ｔｓ，Ｔｓ１，Ｔｓ２，Ｔｓ３，Ｔｓ３  検索成功経路管理テーブル
【発明を実施するための最良の形態】
【００１７】
本発明の実施例を説明する前に、同実施例による作用効果の説明の前提としての、従来の構成における問題点を詳細に説明する。【００１８】
上記ピュアＰ２Ｐシステムでは、ピア数が増大した場合上記検索要求メッセージによりネットワーク帯域が圧迫されて効率が悪い等の問題点が想定される。【００１９】
またこのピュアＰ２Ｐシステムをコンテンツ配信サービスなどに利用する場合、購読サービスや地域区別などのためのピアのグループ化、データのグループ内での限定共有、グループ内ピアの通信をグループ外ピアから秘匿するなどの機能が必要となる。しかしながら上記JXTA技術ではグループ内での通信方法などの具体的な言及はなされていない。【００２０】
また検索内容・データを中経路上のピアがキャッシュして検索効率を上げる手法(特許文献１、特許文献２参照)、ピアのグループ化により検索効率を向上する手法(特許文献３参照)等が提案されているが、ピアのグループ内でのデータの限定共有や通信内容の秘匿に関する適用についての記載はみられない。【００２１】
本発明の実施例によればこれら問題点を解決することが可能である。【００２２】
すなわち本発明の実施例によれば、ピュアＰ２Ｐシステム内で上記課題を解決し、ピアをグループ化してグループ内でのデータの限定共有と、グループ外ピアからの通信内容秘匿とを行った上で、検索トラフィック等を低減して効率的な通信を行うことが可能となる。【００２３】
本発明の実施例（後述の実施例１、２に対応）による通信システムは、ピアがグループ識別子で一意に特定されるグループに属し、ピア間で相互に授受する検索要求メッセージに検索要求元ピアがグループ識別子を付与するピュアＰ２Ｐシステムであって、ピアが発信、または受信し隣接ピアに転送した検索要求メッセージに付与されたグループ識別子とその応答メッセージの受信経路を一定期間記憶する記憶手段と、この記憶された検索要求メッセージと検索応答メッセージの送受信経路とグループ識別子とから、検索要求メッセージを発信または転送する経路に点数を算出する手段と、受信した検索要求メッセージに付与されたグループ識別子と前記算出された点数とに応じて検索要求メッセージを転送する経路を決定する手段とを有する。【００２４】
すなわちこの通信システムではピアはあらかじめ一意なグループ識別子で識別されるグループに属しており、P２Pシステム内のピア同士で中継する検索要求メッセージ（後述する図２１（ａ）参照）には、検索要求元のピアの属するグループ識別子が付与されている。検索要求メッセージを受信したピアは、その検索要求メッセージのグループ識別子と自己が属するグループ識別子とが一致する場合にのみその検索クエリ内容を確認し、自己が該当するデータを持っていれば該当するＵＲＬ等を記述した検索応答メッセージ（後述する図２１（ｂ）参照）を返信する。他方検索要求メッセージに付与されたグループ識別子と自己が属するグループ識別子とが一致しない場合はそのまま隣接ピアへ検索要求メッセージを中継する。これにより検索クエリ内容を解析するピアを同一グループ内に限定することができる。【００２５】
この構成では、ピアが発信し、または他ピアから受信し中継した検索要求メッセージに付与されたグループ識別子とその検索応答メッセージの受信経路とを一定時間記憶する記憶手段を持ち、この記憶された検索要求／検索応答メッセージの送受信経路とそのグループ識別子から、検索要求メッセージを発信または転送する経路の点数を算出し、受信した検索要求メッセージに付与されたグループ識別子と前記算出された点数とから、当該検索要求メッセージを転送する経路を決定する。この構成によれば、検索要求メッセージを全接続リンクに転送するのではなく、そのグループに係る検索要求メッセージとこれに対応する検索応答メッセージとが送受信されている(すなわち検索が成功している)接続リンクを優先的に選択して転送することが可能となり、もって無駄なネットワークトラフィック(すなわち検索要求メッセージが到達しない、または検索が失敗する接続リンクにメッセージを転送する場合のトラフィック)を効果的に低減し得る。【００２６】
又本発明の他の実施例（後述の実施例１、２に対応）による通信システムは、ピアがグループ識別子で一意に特定されるグループに属し、ピア間で相互に授受する検索要求メッセージに検索要求元ピアがグループ識別子を付与するピュアＰ２Ｐシステムであって、ピアが新たなピアとの接続リンクを確立する際、自己の属するグループ識別子を含む参加要求メッセージ（後述する図２０（ａ）参照）をP２Pシステム内に伝播させる手段を有し、またこの参加要求メッセージの受信によりピアが前記検索要求メッセージの転送経路に点数を算出する手段と、受信した検索要求メッセージに付与されたグループ識別子と前記算出された点数とに応じて検索要求メッセージを転送する経路を決定する手段を有する。【００２７】
この構成ではピアが新たなピアとの接続リンクを確立する際、自己の属するグループ識別子を含む参加要求メッセージを、検索要求メッセージ同様に、あるTTL値を設定しその新たな接続リンクからピュアＰ２Ｐシステム内に発信する手段を設ける。この参加要求メッセージを受信したピアはこれを隣接ピアへ転送し、その結果参加要求メッセージはピュアＰ２Ｐシステム内のピアに伝播される。この参加要求メッセージを受信したピアは、当該参加要求メッセージを受信した接続リンクと同参加要求メッセージに含まれるグループ識別子とから、当該接続リンクに係る点数を算出する。そしてその後受信した検索要求メッセージに付与されたグループ識別子と前記算出された点数とから、当該検索要求メッセージを転送する経路を決定する。【００２８】
すなわちこの構成によれば、各ピアはピュアＰ２Ｐシステム内の、参加要求メッセージが到達し得る範囲のピアについて、どの接続リンク方向にどのグループのピアが存在するか、その個数及びホップ数(TTL値より求めることが可能)を認識することができ、この情報に基づいて、その後受信した検索要求メッセージを転送すべき接続リンクを選択することができる。【００２９】
又上記いずれかの実施例による通信システムでは、ピアが接続リンクを切断する際、自己の属するグループ識別子を含む離脱要求メッセージ（後述する図２１（ｂ）参照）をP２Pシステム内に伝播させる手段を有し、またこの離脱要求メッセージの受信によりピアが前記検索要求メッセージの転送経路に点数を算出（この場合減算）する手段を有するようにすることが可能である（後述の実施例１，２に対応）。【００３０】
この構成によれば、ピアが接続リンクを切断する際、自己の属するグループ識別子を含む離脱要求メッセージを、上記参加要求メッセージの場合と同様にして、切断する予定の接続リンクから、当該ピュアＰ２Ｐシステム内に発信する手段を設けることにより、離脱要求メッセージを受信したピアは、離脱要求メッセージを受信した接続リンクと離脱要求メッセージに含まれるグループ識別子とから、この接続リンクの点数を更新する。この場合、上記参加要求メッセージの場合と逆に、参加要求メッセージによって一旦加算された点数を減算させることにより、一旦参加しその後切断により離脱したピアの分の点数をキャンセルし、前記参加の前の状態に戻すことが可能となる。【００３１】
又ピアが新たなピアとの接続リンクを確立する際、自己が有する、その他の接続リンクに係る点数に基づき、複数のグループ識別子を含む参加要求メッセージを接続先のP２Pシステム内に伝播させる手段を設けることが可能である（後述する実施例５に対応）。【００３２】
この構成によれば新たに接続リンクを確立するピアが、すでに確立しているその他の接続リンクに係る点数に基づき、自己の参加要求メッセージだけでなく、上記すでに確立しているその他の接続リンク側のピアの参加要求メッセージを併せて発信する機能を設ける。この機能によれば、当該ピアが、上記すでに確立しているその他の接続リンクに係る点数に基づき、自己の参加要求メッセージに加え、上記すでに確立しているその他の接続リンク側の他のピアの参加要求メッセージを併せて発信することにより、上記すでに確立しているその他の接続リンク側のピアの各々が個別に参加要求メッセージを発信する場合と同様の効果が得られる。【００３３】
又ピアが接続リンクを切断する際、自己の持つその他の接続リンクに係る点数に基づき、複数の離脱要求メッセージを切断先のP２Pシステム内に伝播させる手段を設けても良い（後述する実施例６に対応）。【００３４】
この場合、上記の新たな接続を確立する場合同様、ピアが接続リンクを切断する際、その他の接続リンクに係る点数に基づき、自己の離脱要求メッセージだけでなく、その他の接続リンク側のピアの離脱要求メッセージを併せて発信する機能を付け加える。この機能によれば、当該ピアが、上記その他の接続リンクに係る点数に基づき、自己の離脱要求メッセージに加え、上記その他の接続リンク側の他のピアの離脱要求メッセージを併せて発信することにより、上記その他の接続リンク側のピアの各々が個別に離脱要求メッセージを発信する場合と同様の効果が得られる。【００３５】
又ピアが隣接ピアとの接続リンクの切断を検出する手段を有し、当該手段により切断を検出した際には、当該切断に係る接続リンクに係る点数に基づき、複数の離脱要求メッセージを切断先のP２Pシステム内に伝播させる手段を設けるようにしても良い（後述する実施例７に対応）。【００３６】
この場合ピアは隣接ピアとの接続リンクを監視し、不意のネットワーク停止や隣接ピアの通信不能状態などによる、接続リンクの切断を検出する手段を有し、そのようにして切断を検出した際、その切断された接続リンクに係る点数に基づき、複数の離脱要求メッセージを、切断されていない側の接続リンクに対して発信する機能を有する。この構成によれば、上記離脱要求メッセージを送信せずに切断されてしまったような場合であっても、これに隣接するピアが当該切断に係るピアの代わりに離脱要求メッセージを送信することが可能となり、ピュアＰ２Ｐシステム内のピアの接続リンクに係る点数の不整合が生ずることを防止可能となる。【００３７】
又ピアが受信した検索要求メッセージに含まれるグループ識別子、そのTTL値、前記接続リンクごとの点数に基づき、自己または隣接ピアを、新たな接続リンクとして検索要求元ピアに推薦する推薦情報メッセージ（後述する図２１（ｃ）参照）を応答する手段を設け、この推薦情報メッセージを受信した検索要求元ピアが推薦されたピアとの接続リンクを確立することを可能にするように構成しても良い（後述する実施例３に対応）。【００３８】
この構成によれば、ピアが受信した検索要求メッセージに含まれるグループ識別子、そのTTL値、接続リンクに係る点数に基づき、自己または隣接ピアを、検索要求元ピアが新たに接続すべき接続リンクとして、検索要求元ピアにこれを推薦する推薦情報メッセージを応答する手段を設け、この推薦情報メッセージを受信した検索要求元ピアが推薦されたピアとの接続リンクを確立することを可能にする。その結果、検索要求元ピアが発信した検索要求メッセージに付与されたグループ識別子と同じグループに自己が属するような場合、或いは同じグループ識別子についての点数を有する接続リンクを有する場合、当該検索要求元ピアに対し、自己または隣接するピアとの接続リンクを確立するよう促すことで、そのグループに係る検索効率の向上を図ることができる。【００３９】
又ピアが受信した参加要求メッセージに含まれるグループ識別子、そのTTL値、接続リンクごとの点数に基づき、自己または隣接するピアを新たな接続リンクとして推薦する推薦情報メッセージを返信する手段を設けても良い（後述する実施例４に対応）。【００４０】
この構成によれば、ピアが受信した参加要求メッセージに含まれるグループ識別子、そのTTL値、接続リンクに係る点数に基づき、自己または隣接するピアを、参加要求メッセージ送信元ピアの新たな接続先のピアとして推薦する推薦情報メッセージを応答する手段を設け、この推薦情報メッセージを受信した当該参加要求メッセージ送信元ピアが、当該新たな接続先として推薦されたピアとの接続リンクを確立することを促す。その結果、当該参加要求メッセージ送信元のピアが、既存の接続リンクによる転送経路よりも、自己の属するグループのピアへ検索要求メッセージを到達させやすいピアと新たな接続リンクを張るように促すことが可能となり、そのグループに係る検索効率を向上させることができる。【００４１】
又ピアが属するグループに固有の暗号鍵を設け当該暗号鍵によって検索要求メッセージ内の検索クエリ内容を暗号化し、検索クエリ内容を同じグループに属するピアのみが解読可能な構成を設けるようにすることが望ましい。【００４２】
この構成によれば、ピアはグループ固有の暗号鍵をそれぞれが保持し、それによって検索クエリ内容を暗号化して検索要求メッセージを送信する。検索要求メッセージを受信したピアは、当該検索要求メッセージに付与されたグループ識別子に基づいてメッセージを転送するが、検索要求元ピアと自己が同じグループに属し該当する暗号鍵を保持している場合にのみ当該検索クエリ内容を解読し、検索応答メッセージや推薦情報メッセージの返信を行うことが可能となる。このグループの暗号鍵については、共通鍵方式や非対称鍵に基づく方式等、同一グループに属するピアのみがその検索クエリ内容を解読可能とし得る構成であればいずれの方式も適用可能である。【００４３】
以上、説明したように本発明の実施例によれば、ピュアＰ２Ｐシステムにおいてピアをグループ化し、通信内容の解読を同じグループ内のピアに限定しつつ、少ないトラフィックで同じグループのピアに検索を到達させることができる。【００４４】
又本発明の実施例では、上記検索要求・応答内容やデータを経路中のピアがキャッシュする等の従来技術をも、同じグループのピア同士について併せて適用することが可能となる。【００４５】
以下に図とともに本発明の実施例の構成をより詳細に説明する。【００４６】
本発明の実施例による、コンテンツ流通インフラとして構成されるピュアＰ２Ｐシステムでは、ピアが契約サービスごとに一意なグループ識別子で区別されるグループに属し、同じグループのピア間でのみコンテンツ交換可能とされている。
【実施例１】
【００４７】
図１は本発明の実施例１によるピュアＰ２Ｐシステムに用いる各ピアの構成例を示すブロック図である。【００４８】
図１に示されるように、各ピア５００は参加要求メッセージ又は離脱要求メッセージを受信するとそのメッセージに含まれるグループ識別子、ホップ数(すなわちＴＴＬ値、以下同様)、メッセージを受信した接続リンクの情報を参照し（ステップＳ１）、図２〜７とともに後述するごとくに接続リンクの点数を算出して接続リンク管理テーブルＴｃに追加またはここから削除し（ステップＳ３）、ホップ数を一つ減算し（ステップＳ２）、さらにホップ数が残っている（すなわちゼロでない）場合は、当該参加要求メッセージ／離脱要求メッセージを隣接ピアに転送する。【００４９】
又５００ピアは検索要求メッセージを受信すると、そのメッセージに含まれる情報を参照し（ステップＳ１１）、そのグループ識別子が自己と一致するかどうかを確認し（ステップＳ１２）、グループ識別子が一致する場合（Ｙｅｓ）、自己の保持するコンテンツに、当該検索要求メッセージが要求するものと一致するコンテンツがあるかどうかを検索し（ステップＳ１４）、検索に成功した場合、該当するコンテンツのＵＲＬ等を記述した検索応答メッセージを返信する。【００５０】
又、グループ識別子が不一致（ステップＳ１２の「不一致」）、または自己が有するコンテンツの検索に失敗した場合、当該ピアはそのメッセージが有するホップ数を一つ減算し、さらにホップ数が残っている場合（すなわち未だゼロに至っていない場合）、接続リンク管理テーブルＴｃに各接続リンクの点数を問い合わせ（ステップＳ１７）、検索要求メッセージを転送する接続リンクを決定し（ステップＳ１６）、その接続リンクを介して隣接ピアに当該検索要求メッセージを転送する。【００５１】
以下図２とともに、上述の構成を有するピア５００によるメッセージの転送動作及び転送経路計算動作の一例を説明する。【００５２】
図２の例ではピアＡ１がピュアＰ２Ｐシステムに参加するときの参加要求メッセージの伝播の例をしめす。【００５３】
図２の例では、各ピアＡ１，Ａ２，Ａ３，Ｂ１，Ｃ１，Ｃ２は、それぞれグループＡ／Ｂ／Ｃに属する。ここではピアを示す記号がその属するグループを示すものとする（以下同様）。すなわちＡ１，Ａ２，Ａ３はグループＡに属し、Ｂ１はグループＢに属し、Ｃ１，Ｃ２はグループＣに属する。【００５４】
まずピアＡ１がピアＣ１と、方向ｄ１の接続リンクを新規に確立し、その接続リンク方向ｄ１に参加要求メッセージを送信する（ステップＳ１０１）。【００５５】
ここで各ピアの接続リンクの方向（ｄ１、ｄ２，ｄ３，ｄ４）は、例えば同ピアが有する外部接続用のそれぞれの「ポート」に対応し、互いに独立して個々に設定される（以下同様）。【００５６】
例えば当該参加要求メッセージのホップ数を３とすると、このメッセージは図２中、ピア(Ｃ１／B１／D１／C２／A２／A３)に転送される。【００５７】
すなわち、ピュアＰ２Ｐシステムでは一般にメッセージ（参加要求メッセージ、離脱要求メッセージ、検索要求メッセージ等）が有するホップ数はピアを経由するごとに1ずつ減算され、ホップ数がゼロに至るとそれ以上転送されない。したがってその時点（すなわちホップ数がゼロとなった時点）で当該メッセージの目的が達成されない場合、当該メッセージは破棄される（以下同様）。【００５８】
図2の例の場合、新たに参加するピアＡ１から発信された参加要求メッセージは発信当初、上記の如くホップ数が３（すなわち所定の初期値）とされている。【００５９】
これが接続方向ｄ１に発信され（ステップＳ１０１）、これがピアＣ１に受信された時点でそのホップ数が１減算されて２となる。この時点で未だホップ数はゼロに至っていないため、更にピアＣ１から、受信方向ｄ３以外の方向ｄ１，ｄ２のそれぞれの接続リンクに当該参加要求メッセージが転送される（ステップＳ１０２，Ｓ１０３）。【００６０】
このうちピアＢ１で受信された参加要求メッセージは、ここでそのホップ数が１減算されて１となり、この時点で未だホップ数はゼロに至っていないため、更にピアＢ１から、その受信方向ｄ３以外の方向ｄ１，ｄ２，ｄ４の接続リンクに対し、当該参加要求メッセージが転送される（ステップＳ１０４，Ｓ１０５，Ｓ１０６）。【００６１】
それらがそれぞれピアＡ３，Ａ２，Ｃ２で受信され、これら各ピアでは、受信しメッセージのホップ数を１減算する。その結果ホップ数は各々ゼロとなる。その結果、それ以上当該参加要求メッセージが転送されることはない。【００６２】
その結果、例えばピアB１は左下の方向ｄ３に存在するピアＣ１との接続リンク方向のホップ数２の距離にグループAのピア、すなわちＡ１が存在することを認識する。【００６３】
これは、上記の如く各メッセージのホップ数はその初期値として３が設定され、ピアを経由するごとにその値が1ずつ減算される。したがってメッセージを受信したピアでは、「そのホップ数を参照し、これを上記所定の初期値３から減算して１を加算する」ことにより、当該メッセージが発信されたピアから何番目のピアであるかを認識可能であるからである。【００６４】
具体的には、ピアＣ１はピアＡ１からホップ数３の参加要求メッセージを受信しているため、３−３＋１＝１のホップ数計算により、自己が一番目のピアであると認識でき、すなわち発信元のピアＡ１が自己からホップ数１の距離にあることを認識できる。【００６５】
同様に上記ピアＢ１ではピアＣ１を経由してピアＡ１からの参加要求メッセージ（ホップ数＝２）を受信しているため、３−２＋１＝２のホップ数計算により、自己が２番目のピアであると認識でき、すなわち発信元のピアＡ１が、自己からホップ数２の距離にあることを認識できる。他のピアについても同様である。【００６６】
図３は、図２のピアA１の参加要求メッセージを受信した結果得られる、図２のピアB１の持つ各接続リンクに係る点数の一例を示す。【００６７】
ここでピアが持つ接続リンクに係る点数とは、各ピアにおいて図１とともに上述の接続リンク管理テーブルＴｃにて管理される情報であり、当該ピアの方向ごとの、当該ピアの周辺に存在するピアについての、その属するグループごとの、当該ピアとの距離（ホップ数）及びその個数の情報を意味する。【００６８】
ここではピアＢ１において、例えばその左下の方向ｄ３の接続リンクについて、上記グループAのピア（この例の場合ピアＡ１のみ）について、「Ａ：２ホップ×１」として、そのホップ数「２」と個数「１」とが管理される。【００６９】
これは上記の如く、ピアＡ１からの参加要求メッセージを受信してその情報を参照することにより、グループＡに属するピアが、ホップ数２の距離に存在することを認識した結果である。【００７０】
尚図２０，１５とともに後述するごとく、各メッセージには、当該メッセージの発信元のピアが属するグループを示す「グループ識別子」が含まれており、もってメッセージを受信した各ピアは、当該メッセージを発信したピアが属するグループを認識可能である。【００７１】
又このピアＢ１の、同上方向ｄ３の接続リンクについては、図２に示すごとく、ホップ数「１」の距離にグループ「Ｃ」に属するピアＣ１が「１」個存在し、同ピアＣ１を経由して更にホップ数１の距離（合計ホップ数：「２」）にグループ「Ｄ」に属するピアＤ１が「１」個存在する。【００７２】
これらのピアについても、それぞれが当該ピュアＰ２Ｐシステムに参加した際の参加要求メッセージにより、その属するグループ及び距離がピアＢ１に認識されており、その結果、それらの情報が図３に示すごとく、ピアＣ１について「Ｃ：１ホップ×１」として、ピアＤ１について「Ｄ：２ホップ×１」として管理されている。当該ピアＢ１のそれ以外の方向ｄ１，ｄ２，ｄ４、更に他のピアＣ１，Ｄ１，Ｃ２，Ａ２，Ａ３の、各々の全ての方向についても同様である。【００７３】
図４は、図2とともに上述の、参加要求メッセージの転送動作の流れを説明するためのシーケンス図である。【００７４】
図４中、ピアＡ１は隣接するピアＣ１に対し接続リンクを張り（ステップＳ５１）、当該ピアＣ１から当該接続リンクを張ったことに対する了解を示すメッセージを受信する（ステップＳ５２）。【００７５】
これに応じてピアＡ１はここで張られた接続リンクを通して参加要求メッセージを発信する（ステップＳ５３）。【００７６】
当該メッセージには図示のごとく、「参加要求メッセージ」であることを示すＪＯＩＮの記述、グループ識別子である「Ｇｒｏｕｐ  Ａ」、ホップ数「３」が含まれている。【００７７】
これを受信したピアＣ１は当該メッセージのホップ数を減算するホップ数計算を行い、当該メッセージのＪＯＩＮの記述から、自己が有する接続リンク管理テーブルＴｃ（図１とともに上述）に対して新たなピアに関する情報を追加する動作を起動し、当該メッセージのグループ識別子から当該新たなピアがグループ「Ａ」に属することを認識し、当該メッセージのホップ数「３」から当該新たなピアまでの距離がホップ数「１」であると認識し、これらの情報を上記接続リンク管理テーブルＴｃに記載してこれを更新する（ステップＳ５４；図１のステップＳ３）
そして上記の如くホップ数が１減算されて２とされた参加要求メッセージを隣接するピアＢ１に転送する（ステップＳ５６）。【００７８】
これを受信したピアＢ１は当該メッセージのホップ数を減算するホップ数計算を行い、当該メッセージのＪＯＩＮの記述から、自己が有する接続リンク管理テーブルＴｃに対して新たなピアに関する情報を追加する動作を起動し、当該メッセージのグループ識別子から当該新たなピアがグループ「Ａ」に属することを認識し、当該メッセージのホップ数「２」から当該新たなピアまでの距離がホップ数「２」であると認識し、これらの情報を上記接続リンク管理テーブルＴｃに記載してこれを更新する（ステップＳ５６；図１のステップＳ３）。その結果、図３とともに上述のごとく、ピアＢ１の接続リンク管理テーブルＴｃにおいて「Ａ：２ホップ×１」の情報が追加される。【００７９】
以上の説明は新たにピア（この例ではピアＡ１）が当該ピュアＰ２Ｐシステムに加わる際、当該ピアからの参加要求メッセージの伝搬によって、一定の距離（ホップ数）に存在する各ピアが、当該新たなピアに関する情報により、その接続リンク管理テーブルＴｃを更新する動作について説明した。【００８０】
ここでは具体的には、当該新たなピアからホップ数３以内の距離で接続された各ピアの接続リンク管理テーブルＴｃにおいて、当該新たなピアに関する情報が加算されることになる。【００８１】
例えば図３の例では、ピアＢ１の接続リンク管理テーブルＴｃにおいて、その方向ｄ３について、当該新たなピア（この例ではＡ１）の情報、すなわち「Ａ：２ホップ×１」が追加されている。このような新たなピアに係る情報の追加を、以下「点数の加算」とも称する。【００８２】
又この動作と逆方向の動作が、すでに当該ピュアＰ２Ｐシステムに参加中のピアが、当該ピアから離脱する際に実行される。【００８３】
この場合、離脱するピアは当該ピュアＰ２Ｐシステムにおいて離脱要求メッセージを伝搬させ、一定の距離（ホップ数）に存在する各ピアが、当該離脱要求メッセージに含まれる、当該離脱するピアに関する情報により、その接続リンク管理テーブルＴｃを更新する。【００８４】
例えば、当該離脱するピアが上記Ａ１であったと仮定すると、当該離脱するピアからホップ数３以内の距離で接続された各ピアの接続リンク管理テーブルＴｃにおいて、当該離脱するピアに関する情報が減算されることになる。【００８５】
例えば図３の例では、ピアＢ１の接続リンク管理テーブルＴｃにおいて、その方向ｄ３について、当該離脱するピア（この例ではＡ１）の情報、すなわち「Ａ：２ホップ×１」が削除されることになる。このような、離脱するピアに係る情報の削除を、以下「点数の減算」とも称する。【００８６】
図５は、図２〜４とともに上述のように、新たに参加したピアＡ１に関する点数を各ピアがその接続リンク管理テーブルＴｃにおいて加算した後の、ある時点におけるピュアＰ２Ｐシステムの構成と、ピアB１がその接続リンクごとに保持している点数とを示す。【００８７】
すなわちピアＢ１の接続リンク管理テーブルＴｃにおいて管理された、方向ｄ１〜ｄ４ごとの接続リンクの点数において、方向ｄ１の接続リンクでは、図５のテーブルＴｃ１に示すごとく、グループ「Ａ」に属するピア（この例ではＡ３）が「１」つ、ホップ数１の距離で存在する旨が記録されている。【００８８】
同様に方向ｄ２の接続リンクでは、図５のテーブルＴｃ２に示すごとく、グループ「Ａ」に属するピア（図示せず）が「３」個、ホップ数「３」の距離で存在し、グループ「Ｄ」に属するピア（図中、Ｄ２）が「１」個、ホップ数「１」の距離で存在する旨が記録されている。【００８９】
同様に方向ｄ３の接続リンクでは、図５のテーブルＴｃ３に示すごとく、グループ「Ａ」に属するピア（図中、Ａ１，Ａ２）が「２」個、ホップ数「２」の距離で存在し、グループ「Ｃ」に属するピア（図中、Ｃ２）が「１」個、ホップ数１の距離で存在し、グループ「Ｄ」に属するピア（図中、Ｄ１）が「１」個、ホップ数「２」の距離で存在する旨が記録されている。【００９０】
同様に方向ｄ４の接続リンクでは、図５のテーブルＴｃ４に示すごとく、グループ「Ｃ」に属するピア（図中、Ｃ１）が「１」個、ホップ数「１」の距離で存在する旨が記録されている。【００９１】
この例では上記方向ｄ１〜ｄ４ごとのテーブルＴｃ１〜Ｔｃ４により、ピアＢ１の接続リンク管理テーブルＴｃが構成されている。【００９２】
図６は図５の状態における、ピアB１による検索要求メッセージの転送動作の例を示す。【００９３】
図６の例ではピアＢ１の左上の方向ｄ４の接続リンクからグループAの識別子が付与された検索要求メッセージが、ＴＴＬ値（ホップ数）３(但しピアＢ１で１減算されるため残りホップ数は２)として受信された場合を想定する。【００９４】
この場合、ピアB１が当該検索要求メッセージを転送する際の可能な選択肢は、上記当該検索要求メッセージが受信された方向ｄ４を除いた、右上の方向ｄ１、右下の方向ｄ２及び左下の方向ｄ３の計３つの方向の接続リンクが考えられる。【００９５】
このとき、当該検索要求メッセージの上記残りホップ数（２）、そのグループ識別子（Ａ）及び各接続リンクに係る点数（すなわち上記接続リンク管理テーブルＴ１〜Ｔ４において管理されている情報）から、当該検索要求メッセージの転送先として、以下のごとくの方法によって、その優先度付けを行う。【００９６】
まず、ピアＢ１では当該検索要求メッセージが有するホップ数３から１を減算し（図１のステップＳ２）する結果、上記の如く残りホップ数は「２」となる。【００９７】
そしてピアB１が図１中、ステップＳ１６により、その接続リンクごとに、上記残りのホップ数「２」との関連で、この検索要求メッセージを転送した場合に当該検索要求メッセージが到達することができる、グループAに属するピアの個数、すなわち「到達ピア数」を調べる。【００９８】
右上の方向ｄ１の接続リンクに係る図示のテーブルＴｃ１に示された点数「Ａ：１ホップ×１」より、この接続リンクには１ホップ先にグループＡに属する１つのピアが存在することが分かり、その結果１つのピアへの到達が可能、すなわち「到達ピア数：１」と得られる。【００９９】
右下の方向ｄ２の接続リンクに係る図示のテーブルＴｃ２に示された点数「Ａ：３ホップ×３」より、この接続リンクには３ホップ先にグループＡに属する３個のピアが存在することが分かる。しかしながら当該検索要求メッセージの残りホップ数は上記の如く２であり、３ホップ先には到達し得ない。したがってこの接続リンクでは「到達ピア数：０」と得られる。【０１００】
同様に左下の方向ｄ３の接続リンクに係る図示のテーブルＴｃ３に示された点数「Ａ：２ホップ×２」より、この接続リンクには２ホップ先にグループＡに属する２個のピアが存在することが分かり、その結果２個のピアへの到達が可能、すなわち「到達ピア数：２」と得られる。【０１０１】
すなわち、ステップＳ１６によって得られる到達ピア数は、右上方向ｄ１：１点、右下方向ｄ２：0点、左下方向ｄ３：２点となる。【０１０２】
そしてこのようにして各方向の接続リンクごとに得られた点数の大きさを用い、例えば受信された検索要求メッセージを広く伝播させる観点で最適化する場合には、この点数の高い順、すなわち左下の方向ｄ３の接続リンク、右上の方向ｄ１の接続リンクの順で優先度を与える。【０１０３】
又このステップＳ１６では、当該検索要求メッセージの残りホップ数（２）から、グループＡに属するピア迄のホップ数、すなわち右上方法ｄ１：１ホップ、右下方向ｄ２：３ホップ、左下方向ｄ２：２ホップをそれぞれ差し引くことで、右上方向ｄ１：２−１＝１［点］、右下方向ｄ２：２−３＝−１［点］、左下方向ｄ３：２−２＝0［点］のように点数付けがなされる。【０１０４】
すなわち検索要求メッセージがより早く伝播する観点で最適化する場合にはこの点数を使い、点数の高い順で、右上の方向ｄ１、左下の方向ｄ３の順で優先度付けを行う。【０１０５】
尚いずれの場合も右下の方向ｄ２では残りホップ数が２の当該検索要求メッセージはグループＡに属するピアに到達し得ないため、当該接続リンクには当該検索要求メッセージを転送しない。【０１０６】
そして最終的には、例えば所定の出力可能最大接続リンク数の閾値以内の数の接続リンクをこの優先度順に選んで決定し、該当する接続リンクに当該検索要求メッセージを転送する。【０１０７】
その結果、受信した検索要求メッセージを、そのグループに属するピアに効率よく到達させ、無駄なトラフィックを発生させないよう制御することできる。【０１０８】
図７はこの検索要求メッセージを転送する動作の流れを説明するためのシーケンス図である。【０１０９】
図７中、上記ピアＢ１に対し、例えばピアＣ１から、検索要求を意味する「ＳＥＡＲＣＨ」が記述され、グループ識別子が「Ａ」（図中「Ｇｒｏｕｐ  Ａ」）の検索要求メッセージを転送する（ステップＳ６１）。【０１１０】
尚図７ではピアＣ１が当該検索要求メッセージを発信していることになっており、したがって原則的にはそのメッセージのグループ識別子は当該ピアＣ１が属するグループＣのもの「Ｃ」となるはずであるが、ここでは説明の便宜上、当該検索要求メッセージのグループ識別子は「Ａ」として説明を行う。【０１１１】
ピアＢ１では当該検索要求メッセージを受信し、そのメッセージ種別（この場合上記「ＳＥＡＲＣＨ」）を確認し（ステップＳ６２）、グループ識別子（この場合Ａ）を確認し（ステップＳ６３）、ホップ数を減算し（ステップＳ６４）、接続リンク管理テーブルＴｃを参照して上記の如くの方法によって当該検索要求メッセージを転送する接続リンクを決定する（ステップＳ６６）。【０１１２】
そしてこのようにして決定された接続リンクに対し、当該検索要求メッセージを送出する（ステップＳ６７）。
【実施例２】
【０１１３】
次に本発明の実施例２によるピュアＰ２Ｐシステムについて説明する。【０１１４】
この場合、各ピアは、上述の実施例１のピュアＰ２Ｐシステムを構成する各ピアに、図８のブロック図で示される機能を追加した構成を有する。【０１１５】
すなわち、図８に示されるごとく、ピア５００は図７とともに上記の如くの動作にて受信した検索要求メッセージを転送する場合（図８のステップＳ１１，Ｓ１２，Ｓ１３，Ｓ１４，Ｓ１５は、それぞれ図１のステップＳ１１，Ｓ１２，Ｓ１３，Ｓ１４，Ｓ１５に対応する）、その検索要求メッセージに付与されたグループ識別子、入力元接続リンク、転送した出力先接続リンク、残りホップ数を検索要求記憶部Ｓｓに記憶する（ステップＳ１７）。【０１１６】
又ピア５００は検索応答メッセージを受信した際、その検索応答メッセージを対応する検索要求メッセージの発信元に転送するだけでなく、前記検索要求記憶部Ｓｓに対し、当該検索応答メッセージと、そのメッセージ固有ＩＤ（図２１とともに後述する）が一致する、上記転送済みの対応する検索要求メッセージがあるか否かを確認する（ステップＳ３１）。【０１１７】
その結果一致する検索要求メッセージの記録が見いだされた場合（ステップＳ３１の「一致する」）、当該検索要求メッセージに付与されたグループ識別子、検索要求メッセージの入力元接続リンク、検索要求メッセージの残りホップ数、検索応答メッセージの入力元接続リンクの各情報を、検索成功経路管理テーブルＴｓに一定期間記憶する。【０１１８】
又その場合、検索要求メッセージに対する検索応答メッセージを転送した経路(そのグループのピア間で検索が成功した経路)に対し、点数付けしておく（ステップＳ３３、Ｓ３４）。【０１１９】
この状態で当該ピア５００が次の検索要求メッセージを受信した場合、ピア５００はその検索要求メッセージに付与されたグループ識別子とホップ数とを確認し、当該検索要求メッセージを転送する場合、前記検索成功経路管理テーブルＴｓを参照し（ステップＳ２１）、当該検索要求メッセージのグループについて、上記の如く点数付けされた、検索要求メッセージに対する検索応答メッセージを転送した経路を見いだし、その点数に基づいてその優先度を判断することで当該検索要求メッセージの出力接続リンクを選択する（ステップＳ１６）。【０１２０】
図９はこの実施例２によるピュアＰ２Ｐシステムを構成する各ピアによるメッセージの転送動作及び転送経路計算動作について説明するための図である。【０１２１】
図９では、このピュアＰ２Ｐシステムにおいて、検索要求メッセージが転送され、その検索が成功し、該当する検索応答メッセージが返信される際の、ピアの検索要求メッセージ及び検索応答メッセージの転送の例を示す。【０１２２】
ここではピアA１が検索要求メッセージを送信し、ピアC１、ピアB１を経由してピアA２において当該検索が成功し、ピアＡ２から対応する検索応答メッセージが返信される。【０１２３】
すなわち図９において、ステップＳ１１１にてピアＡ１が検索要求メッセージを送信し、これを受信したピアＣ２が当該検索要求メッセージをピアＢ１及びピアＤ１に転送し（ステップＳ１１２，Ｓ１１３），更にこれを受けたピアＣ１が当該検索要求メッセージをピアＡ２，ピアＡ３、ピアＣ１のそれぞれ転送する（ステップＳ１１３，Ｓ１１４，Ｓ１１５）。【０１２４】
これに対し、ピアＡ２に検索対象のコンテンツが存在したため、ピアＡ２が検索応答メッセージを返信する（ステップＳ１２１）。【０１２５】
ここで各ピアは検索要求メッセージを転送した際にはその入力元接続リンクを当該検索要求メッセージのメッセージ固有ＩＤに関連つけて記憶しており、かつ対応する検索応答メッセージにも同じメッセージ固有ＩＤが含まれている（図２１（ａ）、（ｂ）参照）ため、対応する検索応答メッセージを受信した場合には、該当する検索要求メッセージが受信された接続リンクを得ることができ、当該接続リンクに対し、受信した検索応答メッセージを転送する。【０１２６】
このようにして返信された検索応答メッセージは、対応する検索要求メッセージの経路と逆の経路を辿り（ステップＳ１２２，Ｓ１２３）、検索要求メッセージの発信元のピアＡ１に到達する。【０１２７】
この検索成功の結果、図１０に示すように、ピアB１は、その右上の方向ｄ１の接続リンクについてホップ数１の距離にある、グループAのピアが検索に応答したこと及び、その結果左下の方向ｄ３の接続リンクについてホップ数２の距離に有る、グループAのピアが検索に成功したことを認識する。【０１２８】
尚上記の如く、図８のステップＳ１７では検索要求メッセージを受信した際、その残りのホップ数を記憶する。そしてこの残りのホップ数を、検索要求メッセージに対する検索要求メッセージを返信したピア迄の距離であると見做し、検索成功経路管理テーブルＴｓに記録する。【０１２９】
すなわち図９の例の場合、ピアＢ１はステップＳ１１２で検索要求メッセージを受信した際、すでに２ホップしてきている（ステップＳ１１１，Ｓ１１２）ため、残りのホップ数は３−２＝１である。したがってそのような検索要求メッセージに対する検索応答メッセージが返信されたことは、当該返信元のピアとの距離は１ホップということになる。【０１３０】
尚この方法の場合、残りのホップ数が２以上の場合には必ずしも返信元のピアとの距離自体を示さず、返信元のピアとの最大ホップ数を示すことになる。【０１３１】
このようにして、ピアＢ１は、図８とともに上述した検索要求記憶部Ｓｓにおいて、ステップＳ１１２で検索要求メッセージを受信した際、図８のステップＳ１７にて当該検索要求メッセージに係る各情報を検索要求記憶部Ｓｓに記憶しており、これに対する検索応答メッセージがステップＳ１２１で受信された際、図８のステップＳ３１でこれを検出し、該当する経路をグループAのピアの検索成功経路として検索成功経路管理テーブルＴｓに記憶する（ステップＳ３３，Ｓ３４）。【０１３２】
検索に成功した検索要求メッセージ送信元ピアＡ１は検索成功後、検索クエリに対する該当データを、該当する検索応答ピアＡ２から、該当するＵＲＬからのダウンロード等により取得する。【０１３３】
またある時点で頻繁に検索されるデータは、例えば人気のあるコンテンツや新規配布中のコンテンツ等に偏る可能性が高いと考えられる。このような場合、各ピアが検索要求メッセージを転送する際、頻繁に検索に成功している経路を選択するように構成することにより、その新たな検索も又成功する可能性が高まると考えられる。【０１３４】
図１１は、図９，図１０とともに上述の動作の結果、ある時点でピアB１がグループAの検索について、接続リンクごとに成功した回数と検索応答メッセージの返信元のピアとの間のホップ数を記憶している状態の例を示す。【０１３５】
図１１中、ピアＢ１の右上の方向ｄ１の接続リンクでは、そのテーブルＴｓ１に示されるごとく、ホップ数１の距離で３回成功、右下の方向ｄ２の接続リンクでは、そのテーブルＴｓ２に示されるごとく、ホップ数１の距離で２回成功及びホップ数３の距離で１回成功、左下の方向ｄ３の接続リンクでは、そのテーブルＴｓ３に示されるごとく、ホップ数２の距離で１回成功していることが記録されている。【０１３６】
図１２は、図１１の状態で、ピアB１が左上の方向ｄ４の接続リンクから、残りホップ数２のグループAの検索要求メッセージを受信した場合の転送例について説明するための図である。【０１３７】
この場合、まずここでピアB１の接続リンクごとに検索要求メッセージを転送した際に到達する範囲の検索成功回数を点数として考えてみる。【０１３８】
すなわち右上の方向ｄ１の接続リンクではホップ数１（<２）の距離での成功が３回なので３点、右下の方向ｄ２の接続リンクではホップ数１（<２）の距離での成功が２回、ホップ数３での成功が１回なので合計３回で３点、左下の方向ｄ３の接続リンクはホップ数２（＝２）の成功が１回なので１点となる。【０１３９】
或いは検索成功回数だけでなく、検索成功ピア（すなわち検索応答メッセージを返信したピア）までのホップ数をも考慮し、
(「残りホップ数」＋１−「検索成功ピアまでのホップ数」)×「検索成功回数」
を計算するようにしても良い。【０１４０】
ここではその計算結果がゼロ未満の場合にはゼロとする。【０１４１】
この場合、右上の方向ｄ１の接続リンクでは、検索要求メッセージの残りホップ数が２，検索成功ピアまでのホップ数が１，成功回数が３であるため、(２+１−１)×３=６［点］として点数が得られる。【０１４２】
右下の方向ｄ２の接続リンクでは、検索要求メッセージの残りホップ数が２，検索成功ピアまでのホップ数が１、成功回数が２，及び検索成功ピアまでのホップ数が３、成功回数が１であるため、(２+１−１)×２＋（２＋１−３）×１＝４＋０＝４［点］として点数が得られる。【０１４３】
左下の方向ｄ３の接続リンクでは、検索要求メッセージの残りホップ数が２，検索成功ピアまでのホップ数が２，成功回数が１であるため、(２+１−２)×１=１［点］として点数が得られる。【０１４４】
これらの点数を用い、検索要求メッセージを広く伝播させる観点で最適化する場合には、上記成功回数のみによる点数、すなわち右上の方向ｄ１の接続リンクが３点、右下の方向ｄ２の接続リンクが３点、及び左下の方向ｄ３の接続リンクが１点であるため、右上の方向ｄ１の接続リンクと右下の方向ｄ２の接続リンクとが同点で最優先とされ、左下の方向ｄ３の接続リンクがその次の優先度となる。【０１４５】
他方、検索要求メッセージ伝播の広さと速さとの双方を考慮する場合、検索成功回数及び検索成功ピアまでのホップ数の双方を考慮した上記計算式
(「残りホップ数」＋１−「検索成功ピアまでのホップ数」)×「検索成功回数」
による点数は、右上の方向ｄ１の接続リンクが６点、右下の方向ｄ２の接続リンクが４点、左下の方向ｄ３の接続リンクが１点なので、右上の方向ｄ１の接続リンク、右下の方向ｄ２の接続リンク、左下の方向ｄ３の接続リンクの順で優先度付けを行う。【０１４６】
そして最終的には所定の出力可能な最大接続リンク数の閾値以内の数の接続リンクを、優先度の高い順で選択して決定し、このようにして決定された接続リンクに対し、検索要求メッセージを転送する。【０１４７】
その結果、検索要求メッセージの伝播の広さ或いはこれとともに検索要求メッセージの伝播の速さを追求するという、その目的に応じた最適な接続リンクが選択されるため、効率的なデータ検索を図り得る。
【実施例３】
【０１４８】
次に図１３とともに本発明の実施例３によるピュアＰ２Ｐシステムの構成について説明する。【０１４９】
実施例３では、上述の実施例１或いは実施例２によるピュアＰ２Ｐシステムに対し、図２１（ｃ）とともに後述する推薦情報メッセージによる接続リンク変更の機能を加えた構成を有する。【０１５０】
例えば図１３に、ピュアP２Pシステムの他の例として、最大ホップ数、すなわちホップ数の初期値を4として検索要求メッセージを伝播させるシステムを示す。【０１５１】
ここでピアD１（この場合図１３中、右下のＤ１）が検索要求メッセージを送信した際、当該ピアＤ１からホップ数４の範囲、すなわちピアC４、ピアC３、ピアA２、ピアＣ１，ピアA３、ピアC２、ピアB２の範囲へ当該検索要求メッセージが伝達される（ステップＳ１３１，Ｓ１３２，Ｓ１３３，Ｓ１３４，Ｓ１３５，Ｓ１３６，Ｓ１３７，Ｓ１３８）。しかしながらこの範囲内には当該ピアD１と同じグループDに属するピアが存在しないため、この検索は失敗する。【０１５２】
すなわちグループＤに属する他のピアＤ２は当該検索要求メッセージの発信元のピアＤ１からホップ数が５の位置にあるため、上記の如く最大ホップ数が４と設定されているシステムでは、当該検索要求メッセージはピアＤ２には到達しないからである。【０１５３】
この場合、例えばピアＣ１が、上記実施例１の接続リンク管理テーブルＴｃ（図１）または実施例２の検索成功経路管理テーブルＴｓ（図８）に記録された情報により、当該ピアＣ１の左上の方向ｄ２の接続リンクにホップ数１の距離でグループDに属するピア（この例の場合ピアＤ２）が存在することを認識している可能性が高い。【０１５４】
ピアＣ１がこのようにその接続リンク管理テーブルＴｃ或いは検索成功経路管理テーブルＴｓに記録されている情報としてグループＤに属するピア（Ｄ２）の存在を認識していることを想定した場合、以下のごとくの動作が可能となる。【０１５５】
すなわちピアC１がステップＳ１３４或いはＳ１３７にてピアD１からの検索要求メッセージを受信した際、当該検索要求メッセージのグループ識別子及びそのホップ数から、発信元のピアD１が当該ピアＣ１から検索要求メッセージが到達する最長距離、すなわちホップ数４の位置にあることを認識し得る。更に、仮に当該検索要求メッセージの発信元のピアＤ１が自己の隣接ピアとなった場合には、当該検索要求メッセージに対する応答をし得る立場にある、グループＤに属するピアD２に対する検索要求メッセージが到達可能になることをも認識し得る。【０１５６】
このような場合当該ピアＣ１は、所定の閾値により、そのホップ数がその上限値（この場合４）に近い検索要求メッセージを受信した際、当該検索要求メッセージの発信元のピア（この場合ピアＤ１）に対し、自己への接続を促す推薦情報メッセージを返信する。【０１５７】
そして当該検索要求元ピアＤ１が当該検索に失敗し、かつ、その接続リンクを変更した方が検索成功率が上がると判断した場合、上記推薦情報メッセージに基づき、図１３の波線で示されるごとく、ピアC１との接続リンクを確立する。【０１５８】
その結果、ピアD１が再度検索要求メッセージを送信した場合、ピアC１を介して２ホップでピアD２に到達し、同じグループＤに属するピア間で検索要求メッセージの授受が可能となる。
【実施例４】
【０１５９】
次に本発明の実施例４によるピュアＰ２Ｐシステムについて説明する。【０１６０】
実施例４によるピュアＰ２Ｐシステムでは、上記実施例３によるピュアＰ２Ｐシステムの構成に対し、以下の機能を追加的に有する。【０１６１】
すなわち、検索要求メッセージのみではなく、参加要求メッセージに対しても上記推薦情報メッセージを返信し、それによる接続リンクの変更を促すことを可能にする機能を設ける。【０１６２】
この場合ピアはピュアＰ２Ｐシステム参加時に推薦情報メッセージを受け取ることが可能となり、検索要求メッセージによって実際に検索動作を行う前に、より検索成功率の高い接続リンクへと接続変更することが可能となる。【０１６３】
また、ピアの匿名性保護(どのようなデータを検索或いは保持しているかについて他のピアから秘匿する構成)を考えた場合、上記の如く同じグループに属するピア同士が隣接ピアとなるように接続リンクが変更された場合、隣接ピアの検索要求或いは応答内容とこれを送受信したピアとが特定されてしまうことになり問題となる。【０１６４】
このような状況を避けるため、新たな接続リンク確立時、新たな隣接ピアの参加要求メッセージに含まれるグループ識別子が自己が属するグループと一致する場合には切断を促す推薦情報メッセージを送信したり、自己と同じグループに属する他のピアに推薦情報メッセージを返信する際には新たな接続先として自己以外の、その属するグループの異なる隣接ピアを推薦する推薦情報メッセージを返信する等の制御を行うことによって匿名性保護を確保することが可能となる。
【実施例５】
【０１６５】
以下に図１４，１５とともに、本発明の実施例５の構成について説明する。【０１６６】
実施例５によるピュアＰ２Ｐシステムは上記実施例１〜４のいずれかの実施例の構成において、更に、各々が複数のピアを含む、一のピュアＰ２Ｐシステムが他のピュアＰ２Ｐシステムに接続する際、当該一のピュアＰ２Ｐシステムに属し、他のピュアＰ２Ｐシステムと直接接続する一のピアが、一のピュアＰ２Ｐシステムに属する他のピアの分の参加要求メッセージを一括して発信する機能を追加的に有する。【０１６７】
図１４の場合、ピアＡ１が既に方向ｄ３，ｄ４の2つの接続リンクを持っており、その接続リンク管理テーブルＴｃには図示のテーブルＴｃ３，Ｔｃ４に示されるごとくの点数を持っているものとする。【０１６８】
この点数は図１〜７とともに上述の実施例１における接続リンク管理テーブルＴｃのものと同様である。【０１６９】
すなわち例えば図示のテーブルＴｃ３に示された点数「Ｃ：１ホップ×１」、「Ｄ：２ホップ×１」は、ピアＡ１の方向ｄ３の接続リンクに１ホップの距離でグループＣに属するピア（この場合ピアＣ１）が接続され、２ホップの距離でグループＤに属するピア（この場合ピアＤ１）が接続されていることを意味する。【０１７０】
このようなピュアＰ２Ｐシステムが、図１５に示すごとく、新たに他のピュアＰ２Ｐシステム（ピアＤ２，Ｃ２，Ａ３，Ｃ３，Ｂ２を含む）に接続する場合を想定する。【０１７１】
この場合図１５に示すごとく、最初のピュアＰ２ＰシステムのピアＡ１が、次のピュアＰ２ＰシステムのピアＤ２に接続することにより、双方のピュアＰ２Ｐシステムが相互に接続するものとする。【０１７２】
この場合、ピアＡ１は、新たにピアD２と確立するリンクの方向（すなわち元々ピアＤ２が属していたピュアＰ２Ｐシステム）に対し、元々ピアＡ１が属していた側のピュアＰ２Ｐシステムに属するピアＢ１，Ｃ１，Ａ2の分の参加要求メッセージを、これらピアＢ１，Ｃ１，Ａ２が個別に発信する場合と同様に、ピアＡ１がまとめて発信する。その結果、ピアＡ１、Ｂ１，Ｃ１，Ｄ1が順に個別に参加要求メッセージを発信した場合と同様の効果が得られる。【０１７３】
すなわちピアＡ１は接続リンク管理テーブルＴｃの情報に基づき、自己以外のピアＣ１，Ｄ１，Ｂ１の参加要求メッセージを作成し、これらのピアに代わって元々ピアＤ２が属していたピュアＰ２Ｐシステムに属するピアＣ２，Ｃ３，Ａ３，Ｂ２に対し、参加要求メッセージを発信する。【０１７４】
具体的にはピアＡ１は、例えば上記テーブルＴｃ３の内容に基づいてピアＣ１の参加要求メッセージを作成することができる。【０１７５】
すなわち当該テーブルＴｃ３の内容「Ｃ：１ホップ×１」により、当該参加要求メッセージに記述するグループ識別子はＣであることが分かる。【０１７６】
また当該参加要求メッセージに記述するＴＴＬ値につき、ピアＡ１は上記テーブルＴｃ３の内容によって、当該グループＣのピアが自己から１ホップの距離にあることが分かるため、ＴＴＬ値の初期値３から１を減算した値である２を設定すればよいことが分かる。【０１７７】
同様にピアＡ１は、上記テーブルＴｃ３の内容に基づいてピアＤ１の参加要求メッセージも作成することができる。【０１７８】
すなわち当該テーブルＴｃ３の内容「Ｄ：２ホップ×１」により、当該参加要求メッセージに記述するグループ識別子はＤであることが分かる。【０１７９】
また当該参加要求メッセージに記述するＴＴＬ値につき、ピアＡ１は上記テーブルＴｃ３の内容によって、当該グループＤのピアが自己から２ホップの距離にあることが分かるため、ＴＴＬ値の初期値３から２を減算した値である１を設定すればよいことが分かる。【０１８０】
ピアＢ１についての同様である。【０１８１】
その結果、例えばピアＣ１に対応する参加要求メッセージは、そのＴＴＬ値を上記の如く２としたため、ピアＡ１から発信された当該参加要求メッセージは、図示のごとく、１ホップ先のピアＤ２及び２ホップ先のピアＣ２，Ｃ３，Ａ３迄到達する。これはピアＣ１が自ら参加要求メッセージを発信した場合（すなわちＴＴＬ値として初期値の３が設定されてピアＣ１から発信された場合）と同様の動作である。【０１８２】
他のピアＤ１，Ｂ１についても同様である。【０１８３】
このようにピアＡ１は、自己が元々有する接続リンク管理テーブルＴｃの情報により、同情報の対象ピアの分の参加要求メッセージを、それらのピアに代わって発信することが可能となる。【０１８４】
その結果、ピュアＰ２Ｐシステム内のトラフィックを効果的に低減可能である。
【実施例６】
【０１８５】
以下に図１６，１７とともに、本発明の実施例６の構成について説明する。【０１８６】
実施例６によるピュアＰ２Ｐシステムは上記実施例１〜５のいずれかの実施例において、更に、実施例５の場合と逆に、各々が複数のピアを含む、一のピュアＰ２Ｐシステムと他のピュアＰ２Ｐシステムとの接続を切断する際、当該一のピュアＰ２Ｐシステムに属し、他のピュアＰ２Ｐシステムと直接接続していた一のピアが、一のピュアＰ２Ｐシステムに属する他のピアの分の離脱要求メッセージを一括して発信する機能を追加的に有する。【０１８７】
図１６の例では、上述の図１５の状態、すなわちピアA１とピアD１とが接続した状態から、ピアＣ１がピアＡ1との接続リンクを切断し、離脱要求メッセージを送る場合を想定する。【０１８８】
ここでピアＣ１は左下の方向ｄ３の接続リンクに関し、図示のテーブルＴｃ３に示すごとく、グループDについての点数、すなわち「Ｄ：１ホップ×１」を持っている。【０１８９】
この点数も図１〜７とともに上述の実施例１における接続リンク管理テーブルＴｃのものと同様である。【０１９０】
このような状態で上記の如くピアＣ１がピアＡ1との接続リンクを切断した際、ピアＣ１はピアA１に対し、自己の、グループＣに係る離脱要求メッセージをＴＴＬ値：３で発信し、切断後のピュアＰ２Ｐシステムに属する他のピアＤ１に対応する、グループDに係る離脱要求メッセージをＴＴＬ値：２で発信する。その結果、ピアＤ１，Ｃ１自らが順に自己の離脱要求メッセージを発信した場合と同様の効果が得られる。【０１９１】
すなわちピアＣ１は自己の接続リンク管理テーブルＴｃの情報に基づき、自己以外のピアＤ１の離脱要求メッセージを作成し、このピアに代わって、当該切断後にピアＡ１が属するピュアＰ２Ｐシステムに属する他のピアＢ１，Ｄ２，Ｃ２，Ｃ３，Ａ３に対し、離脱要求メッセージを発信する。【０１９２】
具体的にピアＣ１は、上記テーブルＴｃ３の内容に基づいてピアＤ１の分の離脱要求メッセージを作成することができる。【０１９３】
すなわち当該テーブルＴｃ３の内容「Ｄ：１ホップ×１」により、当該離脱要求メッセージに記述するグループ識別子はＤであることが分かる。【０１９４】
また当該離脱要求メッセージに記述するＴＴＬ値につき、ピアＣ１は上記テーブルＴｃ３の内容によって、当該グループＤのピアが自己から１ホップの距離にあることが分かるため、ＴＴＬ値の初期値３から１を減算した値である２を設定すればよいことが分かる。【０１９５】
その結果、ピアＤ１の分の離脱要求メッセージは、そのＴＴＬ値を上記の如く２としたため、ピアＣ１から発信された当該離脱要求メッセージは、図示のごとく、１ホップ先のピアＡ１及び２ホップ先のピアＤ２、Ｂ１迄到達する。これはピアＤ１が自ら離脱要求メッセージを発信した場合（すなわちＴＴＬ値として初期値の３が設定されてピアＤ１から発信された場合）と同様の動作である。【０１９６】
このようにピアＣ１は、自己が元々有する接続リンク管理テーブルＴｃの情報により、同情報の対象ピアの分の離脱要求メッセージを、そのピアに代わって発信することが可能となる。【０１９７】
その結果、ピュアＰ２Ｐシステム内のトラフィックを効果的に低減可能である。
【実施例７】
【０１９８】
以下に図１８，１９とともに、本発明の実施例７の構成について説明する。【０１９９】
実施例７によるピュアＰ２Ｐシステムは上記実施例１〜６のいずれかの実施例において、更に、隣接ピアの切断を検知し、切断によってピュアＰ２Ｐシステムから離脱されたピアが、本来離脱の際に発信するべきであった離脱要求メッセージを、当該切断を検知したピアが自己の接続リンク管理テーブルＴｃの情報に基づき、上記切断によってピュアＰ２Ｐシステムから離脱されたピアに代わって発信する機能を追加的に有する。【０２００】
この実施例ではピアが隣接するピアとの間で一定時間毎に周知のＰｉｎｇにより応答があることを確認し、このＰｉｎｇ応答が得られなかった場合は、その隣接するピアがハングアップやネットワーク不良により切断したと見なす機能を設ける。【０２０１】
図１８の例では、ピアＡ1からピアＣ1へのＰｉｎｇに対してピアＣ１の応答がなくなり、その結果ピアＡ１はピアＣ１が切断されたと見なした場合を想定する。【０２０２】
この場合ピアＡ１はＣ１との接続リンクを切断し、ピアＡ１がピアＣ１との接続リンクについて持っていた点数（すなわち図示のテーブルＴｃ３に示される「Ｃ：１ホップ×１」）に基づき、ピアＣ１がピアＡ１との接続リンクを切断した場合に発信するはずであった離脱要求メッセージを、ピアＣ１に代わって発信する。【０２０３】
同様にピアＡ１はピアＣ１との接続リンクについて持っていた点数（すなわち図示のテーブルＴｃ３に示される「Ｄ：２ホップ×１」）に基づき、ピアＤ１が、ピアＣ１がピアＡ１との接続リンクを切断した場合に発信するはずであった離脱要求メッセージを、ピアＤ１に代わって発信する。【０２０４】
この場合ピアＡ１による、これらピアＣ１，Ｄ１の分の離脱要求メッセージの作成方法は、上記実施例６の説明においてピアＣ１がピアＤ１の分の離脱要求メッセージを作成する場合の方法と同様である。【０２０５】
図２０，図２１は上記実施例１〜７の各実施例に適用される各種メッセージのデータ構造の例を説明するための図である。【０２０６】
図２０（ａ）は参加要求メッセージのデータ構成例を示す。【０２０７】
同データ構成は、メッセージ種別、グループ識別子、ＴＴＬ値、メッセージ固有ＩＤよりなる。【０２０８】
参加要求メッセージの場合、メッセージ種別として「参加要求」を意味するＪＯＩＮが記述される。【０２０９】
図２０（ｂ）は離脱要求メッセージのデータ構成例を示す。【０２１０】
当該離脱要求メッセージの場合、メッセージ種別として「離脱要求」を意味するＢＹＥが記述される。【０２１１】
これら参加要求メッセージ及び離脱要求メッセージは、メッセージのループを防止する等の目的から、メッセージ固有ＩＤを持つ。【０２１２】
図２１（ａ）は検索要求メッセージのデータ構成例を示す。【０２１３】
同データ構成は、メッセージ種別、グループ識別子、ＴＴＬ値、メッセージ固有ＩＤ、ペイロードよりなる。【０２１４】
検索要求メッセージの場合、メッセージ種別として「検索要求」を意味するＳＥＡＲＣＨが記述される。【０２１５】
又ペイロードには検索対象ファイル名等（すなわち上記検索クエリ）が記述される。【０２１６】
図２１（ｂ）は検索応答メッセージのデータ構成例を示す。【０２１７】
同データ構成は、メッセージ種別、グループ識別子、メッセージ固有ＩＤ、ペイロードよりなる。【０２１８】
検索応答メッセージの場合、メッセージ種別として「検索応答」を意味するＲＥＳＰＯＮＳＥが記述される。【０２１９】
又そのペイロードには検索対象ファイルのＵＲＬ等が記述される。【０２２０】
図２１（ｃ）は推薦情報メッセージのデータ構成例を示す。【０２２１】
同データ構成は、メッセージ種別、メッセージ固有ＩＤ、ペイロードよりなる。【０２２２】
推薦情報メッセージの場合、メッセージ種別として「推薦」を意味するＲＥＣＯＭＭＥＮＤが記述される。【０２２３】
又そのペイロードには、推薦に係る新たな接続リンクの接続先の情報が記述される。【０２２４】
ここで上記検索要求メッセージ或いは検索応答メッセージのペイロードは暗号化される場合もある。【０２２５】
又検索要求メッセージはメッセージ固有IDを持ち、これに対応する検索応答メッセージ或いは推薦情報メッセージは同じ固有IDを持つ。これはメッセージのループを防ぎ、どの検索要求メッセージに対する返信のメッセージかを識別するためである。【０２２６】
図２２は上述の本発明の各実施例によるピュアＰ２Ｐシステムを構成する各ピア５００をコンピュータで実現する場合について説明するための、コンピュータの構成例を示すブロック図である。【０２２７】
図２２に示すごとく、同コンピュータ５００は、与えられたプログラムを構成する命令を実行することによって様々な動作を実行するためのＣＰＵ５０１と、キーボード、マウス等よりなりユーザが操作内容又はデータを入力するための操作部５０２と、ユーザにＣＰＵ１０１による処理経過、処理結果等を表示するＣＲＴ、液晶表示器等よりなる表示部５０３と、ＲＯＭ、ＲＡＭ等よりなりＣＰＵ５０４が実行するプログラム、データ等を記憶したり作業領域として使用されるメモリ５０４と，プログラム、データ等を格納するハードディスク装置５０５と、ＣＤ−ＲＯＭ５０７を媒介として外部からプログラムをロードしたりデータをロードするためのＣＤ−ＲＯＭドライブ５０６と、インターネット、ＬＡＮ等の通信網５０９を介して外部サーバからプログラムをダウンロード等するためのモデム５０８とを有する。【０２２８】
同コンピュータ５００はＣＤ−ＲＯＭ５０７を媒介として、あるいは通信ネットワーク５０９を媒介として、図１〜１９とともに上述の各ピア５００が実行する処理をＣＰＵ５０１に実行させるための命令よりなるプログラムをロードあるいはダウンロードする。そしてこれをハードディスク装置５０５にインストールし、適宜メモリ５０４にロードしてＣＰＵ５０１が実行する。その結果、同コンピュータ５００により各ピア５００が実現される。【０２２９】
本発明は上記実施の形態に限られず、以下に記載する請求の範囲に記載の技術的範囲内で他の様々な実施の形態をとることが可能である。
【図１】
2008142780.tif 000003
【図２】
2008142780.tif 000004
【図３】
2008142780.tif 000005
【図４】
2008142780.tif 000006
【図５】
2008142780.tif 000007
【図６】
2008142780.tif 000008
【図７】
2008142780.tif 000009
【図８】
2008142780.tif 000010
【図９】
2008142780.tif 000011
【図１０】
2008142780.tif 000012
【図１１】
2008142780.tif 000013
【図１２】
2008142780.tif 000014
【図１３】
2008142780.tif 000015
【図１４】
2008142780.tif 000016
【図１５】
2008142780.tif 000017
【図１６】
2008142780.tif 000018
【図１７】
2008142780.tif 000019
【図１８】
2008142780.tif 000020
【図１９】
2008142780.tif 000021
【図２０】
2008142780.tif 000022
【図２１】
2008142780.tif 000023
【図２２】
2008142780.tif 000024
【手続補正書】
【提出日】平成21年7月14日(2009.7.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
各通信端末が相互に方向ごとリンクを張り当該リンクを通じてメッセージを授受する通信方法であって、
各通信端末がメッセージを受信するとメッセージライフ値を参照しゼロでなければ当該メッセージライフ値から１を減算し、当該メッセージに付されたグループ識別子を自己の属するグループと比較し一致した場合同メッセージを受信し不一致の場合これを受信せずに中継する段階と、
各通信端末が受信したメッセージが有するグループ識別子を参照するとともにそのメッセージライフ値と前記所定の初期値とを比較することで当該メッセージを発信した通信端末が属するグループおよび自己との距離を把握し、もってリンクを通じて自己と所定距離内に接続された通信端末が属するグループおよび自己との距離を方向ごとに得て接続リンク管理情報として保有する段階と、
各通信端末は当該接続リンク管理情報に基づき、方向ごとの、所定距離内にある特定のグループに属する通信端末の数および自己との距離を、当該特定のグループに係る優先度情報として提供する段階とを有する通信方法。
【請求項２】
各通信端末は自己が中継したメッセージに対する返信を更に中継した際に当該メッセージが有するメッセージ識別子によってこれを認識するとともに、そのメッセージライフ値から当該返信を行った通信端末との距離に係る値を把握し、これらに基づいて当該中継に係る方向の、該当するグループに係る優先度を設定する段階を更に有する請求項１に記載の通信方法。
【請求項３】
各通信端末は自己がメッセージを中継した際、該当するグループに属する通信端末が自己と所定距離内に接続されている場合には該当する方向と距離とを当該メッセージの発信元の通信装置に通知する段階を更に有する請求項１に記載の通信方法。
【請求項４】
各通信端末は新たにリンクを接続し或いは既に張られているリンクを切断する際、前記接続リンク管理情報に基づき、自己に直接又は間接的に接続されている当該新たな接続或いは切断に係るもの以外の通信端末に係る情報を、自己と直接又は間接的に接続される或いは接続されていた、当該新たな接続先或いは切断先の通信端末が有する接続リンク管理情報に追加或いは同接続リンク管理情報から削除するためのメッセージを発信する段階を更に有する請求項１に記載の通信方法。
【請求項５】
各通信端末がリンクの切断を検出した際、前記接続リンク管理情報に基づき、自己と直接又は間接的に接続されていた、当該切断に係る通信端末の情報を、自己に直接又は間接的に接続されている、当該切断に係るもの以外の通信端末が有する接続リンク管理情報から削除するためのメッセージを発信する段階を更に有する請求項１に記載の通信方法。
【請求項６】
相互に方向ごとリンクを張り当該リンクを通じてメッセージを授受する通信装置であって、
メッセージを受信するとメッセージライフ値を参照しゼロでなければ当該メッセージライフ値から１を減算する手段と、
メッセージを受信すると当該メッセージに付されたグループ識別子を自己が属するグループと比較し一致した場合同メッセージを受信し不一致の場合これを受信せずに中継する手段と、
受信したメッセージが有するグループ識別子を参照するとともにそのメッセージライフ値と所定の初期値とを比較することで当該メッセージを発信した通信端末が属するグループおよび自己との距離を把握し、もってリンクを通じて自己と所定距離内に接続された通信端末が属するグループおよび自己との距離を方向ごとに得て接続リンク管理情報として保有する手段と、
当該接続リンク管理情報に基づき、方向ごとの、所定距離内にある特定のグループに属する通信端末の数および自己との距離を、当該特定のグループに係る優先度情報として提供する手段とを有する通信装置。
【請求項７】
相互に方向ごとリンクを張り当該リンクを通じてメッセージを授受する通信装置を制御するためのコンピュータを動作させるためのプログラムであって、前記コンピュータを
当該通信装置がメッセージを受信するとメッセージライフ値を参照しゼロでなければ当該メッセージライフ値から１を減算する手段と、
当該通信装置がメッセージを受信すると当該メッセージに付されたグループ識別子を自己が属するグループと比較し一致した場合同メッセージを受信し不一致の場合これを受信せずに中継するように当該通信装置を制御する手段と、
当該通信装置が受信したメッセージが有するグループ識別子を参照するとともにそのメッセージライフ値と所定の初期値とを比較することで当該メッセージを発信した通信端末が属するグループおよび自己との距離を把握し、もってリンクを通じて自己と所定距離内に接続された通信端末が属するグループおよび自己との距離を方向ごとに得て接続リンク管理情報として保有する手段と、
当該接続リンク管理情報に基づき、方向ごとの、所定距離内にある特定のグループに属する通信端末の数および自己との距離を、当該特定のグループに係る優先度情報として提供する手段として機能させるためのプログラム。
【請求項８】
各通信端末が相互に方向ごとリンクを張り当該リンクを通じてメッセージを授受する通信システムであって、
各通信端末がメッセージを受信するとメッセージライフ値を参照しゼロでなければ当該メッセージライフ値から１を減算し、当該メッセージに付されたグループ識別子を自己が属するグループと比較し一致した場合同メッセージを受信し不一致の場合これを受信せずに中継し、
各通信端末が受信したメッセージが有するグループ識別子を参照するとともにそのメッセージライフ値と前記所定の初期値とを比較することで当該メッセージを発信した通信端末が属するグループおよび自己との距離を把握し、もってリンクを通じて自己と所定距離内に接続された通信端末が属するグループおよび自己との距離を方向ごとに得て接続リンク管理情報として保有し、
各通信端末は当該接続リンク管理情報に基づき、方向ごとの、所定距離内にある特定のグループに属する通信端末の数および自己との距離を、当該特定のグループに係る優先度情報として提供する、通信システム。
【国際調査報告】
2008142780.tif 000025
2008142780.tif 000026