(57)【要約】【課題】Ｐ２Ｐネットワークにおいて、ピアグループメンバの全ピアにわたっての一貫性を保ちつつ、ピアグループ属性の更新も考慮して、ピアグループ属性の管理を行うことができるようにする。【解決手段】ピアグループのメンバであるすべてのピアがそのピアグループの属性情報を各ピア内部に保持し、各ピアがその属性情報に従って自律的に動作し、ピアが新規に前記ピアグループに参加する場合には、そのピアは、参加を希望するピアグループの属性情報を取得して自ピア内部に保持し、そののち、新規に参加したピアは、取得した属性情報にしたがって動作する。【選択図】      図６
2004260279.tif 000002
【特許請求の範囲】
【請求項１】
Ｐ２Ｐネットワークにおいて、ピアの集合体であって集合体としての属性情報を有するピアグループの構成方法であって、
前記ピアグループのメンバであるすべてのピアが当該ピアグループの属性情報を各ピア内部に保持し、前記各ピアがその属性情報に従って自律的に動作し、
ピアが新規に前記ピアグループに参加する場合には、当該ピアは、参加を希望するピアグループの属性情報を取得して自ピア内部に保持し、
そののち、前記新規に参加したピアは、前記取得した属性情報にしたがって動作する、ピアグループの構成方法。
【請求項２】
前記参加を希望するピアグループの属性情報は、既に当該ピアグループのメンバとなっているピアへの前記Ｐ２Ｐネットワークを介した問合せにより取得される、請求項１に記載のピアグループの構成方法。
【請求項３】
Ｐ２Ｐネットワークにおいて、ピアの集合体であって集合体としての属性情報を有するピアグループであり、前記ピアグループのメンバである全てのピアが前記属性情報を各ピア内部に保持してその属性情報に従って自律的に動作する前記ピアグループにおける、当該ピアグループの属性情報を更新するピアグループの属性情報更新方法であって、
属性情報を変更するピアが、前記Ｐ２Ｐネットワークにおいて直接接続するピアにピアグループ属性情報変更通知を送信し、
前記ピアグループ属性情報変更通知を受信したピアは、当該ピアが保有する属性情報と、受信したピアグループ属性情報変更通知内のピアグループ属性変更情報を照合し、照合の結果、差分がある場合には、当該ピアが保有する属性情報を、前記ピアグループ属性変更情報の内容にしたがって書き換え、前記Ｐ２Ｐネットワークにおいて直接接続するピアのうち、前記受信したピアグループ属性情報変更通知の送信元であるピア以外のピアに対し、前記ピアグループ属性情報変更通知を転送する、
ピアグループの属性情報更新方法。
【請求項４】
前記Ｐ２Ｐネットワークにおいてピア同士が相互に新たに直接接続する場合に、
前記新たな直接接続に係るピアが、相互に保有する前記属性情報を交換し、
前記交換の結果、他ピアが、自ピアが保有しない種別の属性情報を保有している場合、自ピアが保有する属性情報に当該保有しない種別の属性情報を追加し、前記交換の結果、他ピアが、自ピアが保有する種別の属性情報を保有しているが属性値が異なる場合、属性情報とともに付与された整合解決情報を参照して、自ピアにてどちらの属性値を採用すべきか判定し、他ピアの属性値を採用する場合、自ピアが保有する属性情報を当該他ピアの属性値に変更し、
自ピアが保有する属性情報を変更した場合には、前記Ｐ２Ｐネットワークで直接接続するピアのうち、前記新たな直接接続の対象となったピアを除くピアに、ピアグループ属性情報変更通知を送信する、
請求項３に記載のピアグループの属性情報更新方法。
【請求項５】
Ｐ２Ｐネットワークにおいて、ピアの集合体であって集合体としての属性情報を有するピアグループであり、前記ピアグループのメンバである全てのピアが前記属性情報を各ピア内部に保持してその属性情報に従って自律的に動作する前記ピアグループにおける、当該ピアグループの分断を検出し解消するピアグループの分断検出・解消方法であって、
前記ピアグループ内に、分断を検出するためのピアである検出用ピアを設け、前記検出用ピアは、分断チェックを目的とした特定のピアグループ属性の変更を第１の周期で行い、
前記ピアグループ内の各ピアは、前記特定のピアグループ属性の変更を監視し、前記第１の周期を超える所定の時間にわたって前記変更を検出しない場合にピアグループ分断と認識し、ピアグループ分断を認識した場合に、一定の確率で前記検出用ピアに接続することで、分断により生じた属性情報のピアグループ内での不一致を解消の方向に向かわせる、
ピアグループの分断検出・解消方法。
【請求項６】
Ｐ２Ｐネットワークにおいて、ピアの集合体であって集合体としての属性情報を有するピアグループであり、前記ピアグループのメンバである全てのピアが前記属性情報を各ピア内部に保持してその属性情報に従って自律的に動作する前記ピアグループにおける、当該ピアグループの分断を検出し解消するピアグループの分断検出・解消方法であって、
前記ピアグループ内に、分断を検出するためのピアである検出用ピアを設け、前記ピアグループ内の各ピアは、第１の周期ごとに一定の確率で、前記検出用ピアに接続することでピアグループの属性情報の照合を行い、もし、不一致がある場合には確実に分断が起きていると認識し、分断を認識した場合に、自ピアおよび前記検出用ピアが保有する属性情報を更新して、分断により生じた属性情報のピアグループ内での不一致を解消の方向に向かわせる、
ピアグループの分断検出・解消方法。
【請求項７】
前記検出用ピアは、前記ピアグループ内で他のピアからいつでも接続可能に設けられた常設ピアである、請求項５または６に記載のピアグループの分断検出・解消方法。
【請求項８】
前記検出用ピアは、トークンを保有するトークン保有ピアであり、該トークン保有ピアは、少なくとも前記ピアグループから離脱する際に、前記トークンを前記ピアグループ内の他のピアに譲渡するとともに、前記Ｐ２Ｐネットワーク内で直接接続するピアに対しトークン保有ピアの変更を通知する、請求項５または６に記載のピアグループの分断検出・解消方法。
【請求項９】
請求項３または４に記載のピアグループの属性情報更新方法を適用して、分断により生じた属性情報のピアグループ内での不一致を解消の方向に向かわせる、請求項５乃至８のいずれか１項に記載のピアグループの分断検出・解消方法。
【請求項１０】
さらに、ピアグループの分断を解消の方向に向かわせる段階を有する、請求項５乃至９のいずれか１項に記載のピアグループの分断検出・解消方法。
【請求項１１】
Ｐ２Ｐネットワークにおいて用いられるピアであって、
前記Ｐ２Ｐネットワークではピアの集合体であって集合体としての属性情報を有するピアグループが構成され、
前記Ｐ２Ｐネットワークを経由して他ピアとの通信を行い、ネットワーク制御を行うＰ２Ｐ通信処理部と、
ピアグループの属性情報を格納する記憶領域と、
ピアグループのメンバピアアドレス情報を取得するピアグループ情報発見部と、を有し、
参加を希望するピアグループの属性情報を取得して前記記憶領域内に格納し、そののち、前記取得した属性情報にしたがって動作するピア。
【請求項１２】
他ピアに対してピアグループ属性情報の照合を行い、前記記憶領域内の属性情報の更新処理を行うピアグループ属性情報照合・更新処理部を有し、
ピアグループ属性情報変更通知を受信した際に、前記記憶領域内の属性情報と、受信したピアグループ属性情報変更通知内のピアグループ属性変更情報を照合し、照合の結果、差分がある場合には、前記記憶領域内の属性情報を前記ピアグループ属性変更情報の内容にしたがって書き換え、前記Ｐ２Ｐネットワークにおいて直接接続するピアのうち、前記受信したピアグループ属性情報変更通知の送信元であるピア以外のピアに対し、前記ピアグループ属性情報変更通知を転送する、請求項１１に記載のピア。
【請求項１３】
第１の周期を計時するタイマ機能を有するチェック用属性定期更新部をさらに有し、前記第１の周期で、分断チェックを目的とした特定のピアグループ属性の変更を行う、請求項１２に記載のピア。
【請求項１４】
前記第１の周期より長い所定の時間のタイマ機能を有するチェック用属性変更監視部を有し、前記所定の時間にわたって前記特定のピアグループ属性の変更を検出しない場合に、ピアグループの分断があったと判断する、請求項１３に記載のピア。
【請求項１５】
検出用ピアに対する照合間隔を規定するタイマ機能を備え、前記照合間隔の経過に伴って所定の確率で前記検出用ピアに接続するためのピアグループ属性情報定期照合部をさらに有し、前記検出用ピアとの属性情報の照合結果に基づいてピアグループの分断を判断する、請求項１２に記載のピア。
【請求項１６】
Ｐ２Ｐネットワークに接続するコンピュータに、
ピアグループの属性情報を各ピアを保持して、その属性情報に従って自律的に動作する機能と、
新規にピアグループに参加する場合に、参加を希望するピアグループの属性情報を取得して保持する機能と、
前記取得した属性情報にしたがって動作する機能と、
を実現させるプログラム。
【請求項１７】
Ｐ２Ｐネットワークに接続するコンピュータに、
ピアグループの属性情報を保持する機能と、
ピアグループ属性情報変更通知を受信した際に、自己が保有する属性情報と、受信したピアグループ属性情報変更通知内のピアグループ属性変更情報とを照合する機能と、
照合の結果、差分がある場合には、自己が保有する属性情報を、前記ピアグループ属性変更情報の内容にしたがって書き換え、前記Ｐ２Ｐネットワークにおいて直接接続するピアのうち、前記受信したピアグループ属性情報変更通知の送信元であるピア以外のピアに対し、前記ピアグループ属性情報変更通知を転送する機能と、
を実現させるプログラム。
【請求項１８】
Ｐ２Ｐネットワークに接続するコンピュータに、
ピアグループの属性情報を保持する機能と、
新規の直接接続があった場合に、相手方の属性情報を交換する機能と、
前記交換の結果、前記相手方が、自己が保有しない種別の属性情報を保有している場合、自己の保有する属性情報に当該保有しない種別の属性情報を追加する機能と、
前記交換の結果、前記相手方が、自己が保有する種別の属性情報を保有しているが属性値が異なる場合、属性情報とともに付与された整合解決情報を参照して、自己にてどちらの属性値を採用すべきか判定し、前記相手方の属性値を採用する場合、自己の属性情報を当該相手方の属性値に変更する機能と、
自己の保有する属性情報を変更した場合には、前記Ｐ２Ｐネットワークで直接接続するピアのうち、前記相手方を除くピアに、ピアグループ属性情報変更通知を送信する機能と、
を実現させるプログラム。
【請求項１９】
コンピュータが読み取り可能な記録媒体であって、請求項１６乃至１８のいずれか１項に記載のプログラムを格納した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ピア・ツー・ピア（Ｐ２Ｐ：Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ）ネットワークに関し、特に、Ｐ２Ｐネットワークにおける、ピアグループの構成方法、ピアグループ属性情報の更新方、およびそれらを利用したピアグループの分断検出・解消方法、ならびにこれらの方法にしたがって動作するピアに関する。
【０００２】
【従来の技術】
ネットワーク管理を集中的に行うサーバ−クライアントモデル型のネットワーク構成に代わるものとして、ネットワーク参加者（ピア）が対等な立場でネットワークに接続するピア・ツー・ピア型（以下、Ｐ２Ｐと略記する）の大規模ネットワークが注目を集めるようになってきた。
【０００３】
Ｐ２Ｐは、サーバへの依存性がないかあるいは依存性が低いため、サービスを受けるユーザ数、ピア数が増えてネットワークが大規模になっても、サーバの設備量やサーバの利用可能なリソース（資源）がボトルネックとなることがなく、ネットワークのスケーラビリティが非常に高いことを特徴とする技術である。また、Ｐ２Ｐでは、ネットワークが集中管理されておらず、自律分散的に振舞うピア同士のゆるやかな結合によりネットワークが構成されるため、その自律的発展が可能といった特長も持つ。これらＰ２Ｐの代表的な例として、ファイル交換目的に限定したＧｎｕｔｅｌｌａや、汎用のプラットフォームとしてのＪＸＴＡ、ＳＩＯＮｅｔ等がある。
【０００４】
一般に、Ｐ２Ｐネットワークでは、次のような目的から、ピアグループと呼ばれるピアの集合体を組織させる、あるいは、ピアグループが自己組織化されることが多い。
【０００５】
（１）  特定のメンバに情報流通範囲を限定することで、セキュア性を確保するため；
（２）  特定の関心事を元に構成・自己組織化を可能とするため、また、分類を可能とするため；
（３）  ネットワークを、情報流通範囲を制限されたピアグループの集合体として組織することで、ネットワーク全体としてのスケーラビリティを向上するため；
（４）  監視などの保守運用単位や責任単位の明確化として、また、ビジネス面からの要請によって；
このようにピアグループは、Ｐ２Ｐ、特に大規模なＰ２Ｐネットワークにおいては必須の概念である。そしてピアグループにおいては、運用形態により必要な種別は異なるが、ピアグループ単位で、ルーティング方式、障害処理方式、認証方式、暗号化方式、オントロジー、メタデータ体系等の一貫性が求められる。
【０００６】
ピアグループ属性の、ピアグループメンバである全ピアにわたっての一貫性を保つためには、ピアグループ属性をサーバで管理する方法、または、ピアグループ作成者など特定のピアが集中的に管理する方法が容易である。しかしながら、これらの方法では、Ｐ２Ｐの持つメリットが損なわれるという問題点がある。
【０００７】
まず、サーバで管理した場合、ネットワークが大規模になりピアグループが大規模になった場合には、サーバに負荷が集中し、Ｐ２Ｐの持つメリットが損なわれてしまう。
【０００８】
また、ピアグループ作成者が管理した場合、ピアグループ作成者は、ネットワークから離脱することができなくなってしまい、ピアが持つべき自律性を損なってしまう。あるいは、ピアグループ作成者がネットワークを離脱する場合にはピアグループ内のいずれかのメンバピアにピアグループ属性の管理権限を委譲してしまうといった方法もあるが、委譲先のピアの選定ロジックが必要であり、また、そのロジックがあったとしても、ピアグループ属性の管理権限を委譲する前に、異常終了などの予期せぬ理由により管理ピアがネットワークを離脱してしまうと、ピアグループ属性の管理ピアが不在となってしまうなどの問題がある。
【０００９】
そのため、ピアグループ属性を集中的に管理せず、分散的に管理することが求められる。
【００１０】
また、Ｐ２Ｐネットワークでは、一般に集中管理部が存在しないため、それだけＰ２Ｐネットワークの制御・管理が困難であって、例えばＰ２Ｐネットワークの分断が起きやすいという問題点がある。
【００１１】
図１および図２は、ピア間をつないでいたリンクの分断やピアの離脱・消滅によりピアグループが複数のサブグループに分断される様子を示している。図１において、ピアグループ１０では、複数のピア１が、ピア１の間を接続するリンク２によって相互に接続している。ここで、図示×印が付されたリンク２が分断すると、ピアグループ１０は、２つのサブグループ１０Ａ、１０Ｂに分断されてしまう。
【００１２】
分断の発生は、障害復旧処理メカニズムの工夫により回避できる場合もあるが、図２に示すように、ファイアウォール２１やサブネット２２などこれらの障害復旧メカニズムの動作の障害となるものの存在や、連続して複数のピア１が消滅する可能性があることなどから、その完全な回避は難しい。
【００１３】
なお、本件発明に対する先行技術文献の存在を本件特許出願時には知り得ていない。従来の技術内容を記載した特許文献を探し当てることができなかった。検索した技術範囲などは、以下の通りである。
検索対象：平成５年以降本件出願前日までの日本国出願公開公報及び平成６年以降の日本国特許公報
検索方法：論理式（Ｐ２Ｐ＋ピアグループ＋ピアツー）の検索式での全文検索
【００１４】
【発明が解決しようとする課題】
Ｐ２Ｐでは、ピアグループの分断がありうるものとして、発生した分断を検知し、それらを解消する方法が必要となる。また上記で述べたように、ピアグループ属性の管理を分散的に行う場合、分断の発生により、ネットワークの部分部分により、ピアグループ属性が不一致となるという状態が生じる可能性があり、それらの不一致を検出・解消する方法も必要である。
【００１５】
本発明の目的は、ピアグループメンバの全ピアにわたっての一貫性を保ちつつ、ピアグループ属性の更新も考慮して、ピアグループ属性の管理を行うことができる方法であって、Ｐ２Ｐのメリットである、ボトルネックがなくスケーラビリティが高い点と自律分散的なピアの集合体としてネットワークが構成されるためその自律的発展が可能であるという点とを損なうことのない方法を提供することにある。
【００１６】
また本発明の別の目的は、Ｐ２Ｐネットワークで起こりやすいネットワーク分断を検出し解消し、また、分断によって発生しうるピアグループ属性の不一致を検出・解消する方法であって、Ｐ２Ｐのメリットである、ボトルネックがなくスケーラビリティが高い点と自律分散的なピアの集合体としてネットワークが構成されるためその自律的発展が可能であるという点を損なうことのない方法を提供することにある。
【００１７】
本発明のさらに別の目的は、上述した方法を実行するピアを提供することにある。
【００１８】
【課題を解決するための手段】
本発明のピアグループの構成方法は、Ｐ２Ｐネットワークにおいて、ピアの集合体であって集合体としての属性情報を有するピアグループの構成方法であって、ピアグループのメンバであるすべてのピアがそのピアグループの属性情報を各ピア内部に保持し、各ピアがその属性情報に従って自律的に動作し、ピアが新規にピアグループに参加する場合には、そのピアは、参加を希望するピアグループの属性情報を取得して自ピア内部に保持し、そののち、新規に参加したピアは、取得した属性情報にしたがって動作する。このピアグループの構成方法によれば、特定のピアにおいてピアグループ属性を集中管理することなく、分散的にピアグループ属性を管理することを可能とする。
【００１９】
本発明のピアグループの属性情報更新方法は、Ｐ２Ｐネットワークにおいて、ピアの集合体であって集合体としての属性情報を有するピアグループであり、ピアグループのメンバである全てのピアが属性情報を各ピア内部に保持してその属性情報に従って自律的に動作するピアグループにおける、そのピアグループの属性情報を更新するピアグループの属性情報更新方法であって、属性情報を変更するピアが、Ｐ２Ｐネットワークにおいて直接接続するピアにピアグループ属性情報変更通知を送信し、ピアグループ属性情報変更通知を受信したピアは、そのピアが保有する属性情報と、受信したピアグループ属性情報変更通知内のピアグループ属性変更情報を照合し、照合の結果、差分がある場合には、そのピアが保有する属性情報を、ピアグループ属性変更情報の内容にしたがって書き換え、Ｐ２Ｐネットワークにおいて直接接続するピアのうち、受信したピアグループ属性情報変更通知の送信元であるピア以外のピアに対し、ピアグループ属性情報変更通知を転送する。このピアグループの属性情報更新方法によれば、特定のピアにおいてピアグループ属性を集中管理することなく、分散的にピアグループ属性を管理しつつ、ピアグループ属性の更新を可能とする。
【００２０】
さらにこのピアグループの属性情報更新方法においては、Ｐ２Ｐネットワークにおいてピア同士が相互に新たに直接接続する場合に、新たな直接接続に係るピアが、相互に保有する前記属性情報を交換し、交換の結果、他ピアが、自ピアが保有しない種別の属性情報を保有している場合、自ピアが保有する属性情報にその保有しない種別の属性情報を追加し、交換の結果、他ピアが、自ピアが保有する種別の属性情報を保有しているが属性値が異なる場合、属性情報とともに付与された整合解決情報を参照して、自ピアにてどちらの属性値を採用すべきか判定し、他ピアの属性値を採用する場合、自ピアが保有する属性情報をその他ピアの属性値に変更し、自ピアが保有する属性情報を変更した場合には、Ｐ２Ｐネットワークで直接接続するピアのうち、新たな直接接続の対象となったピアを除くピアに、ピアグループ属性情報変更通知を送信するようにしてもよい。このように構成することによって、特定のピアにおいてピアグループ属性を集中管理することなく、分散的に、ピアグループ属性の更新や管理を行い、さらに、ネットワーク分断により発生し得る、ピアグループ属性情報の、ピアグループ内での不一致を検出・解消することを可能とする。
【００２１】
本発明の第１のピアグループの分断検出・解消方法は、Ｐ２Ｐネットワークにおいて、ピアの集合体であって集合体としての属性情報を有するピアグループであり、ピアグループのメンバである全てのピアが属性情報を各ピア内部に保持してその属性情報に従って自律的に動作するピアグループにおける、そのピアグループの分断を検出し解消するピアグループの分断検出・解消方法であって、ピアグループ内に、分断を検出するためのピアである検出用ピアを設け、検出用ピアは、分断チェックを目的とした特定のピアグループ属性の変更を第１の周期で行い、ピアグループ内の各ピアは、特定のピアグループ属性の変更を監視し、第１の周期を超える所定の時間にわたって変更を検出しない場合にピアグループ分断と認識し、ピアグループ分断を認識した場合に、一定の確率で検出用ピアに接続することで、分断により生じた属性情報のピアグループ内での不一致を解消の方向に向かわせる。
【００２２】
本発明の第２のピアグループの分断検出・解消方法は、Ｐ２Ｐネットワークにおいて、ピアの集合体であって集合体としての属性情報を有するピアグループであり、ピアグループのメンバである全てのピアが属性情報を各ピア内部に保持してその属性情報に従って自律的に動作するピアグループにおける、そのピアグループの分断を検出し解消するピアグループの分断検出・解消方法であって、ピアグループ内に、分断を検出するためのピアである検出用ピアを設け、ピアグループ内の各ピアは、第１の周期ごとに一定の確率で、検出用ピアに接続することでピアグループの属性情報の照合を行い、もし、不一致がある場合には確実に分断が起きていると認識し、分断を認識した場合に、自ピアおよび検出用ピアが保有する属性情報を更新して、分断により生じた属性情報のピアグループ内での不一致を解消の方向に向かわせる。
【００２３】
第１及び第２のピアグループの分断検出・解消方法において、検出用ピアは、ピアグループ内で他のピアからいつでも接続可能に設けられた常設ピアであってもよいし、トークンを保有するトークン保有ピアであってもよい。トーク保有ピアを用いる場合、そのトークン保有ピアは、少なくともピアグループから離脱する際（さらには、場合に応じて任意の契機に）に、トークンをピアグループ内の他のピアに譲渡するとともに、Ｐ２Ｐネットワーク内で直接接続するピアに対しトークン保有ピアの変更を通知する。
【００２４】
これらのピアグループの分断検出・解消方法によれば、特定のピアに非常に大きな負荷をかけることなく、属性情報のピアグループ内での不一致を解消の方向に向かわせ、また必要に応じてピアグループの分断を解消に向かわせることができる。
【００２５】
本発明のピアは、Ｐ２Ｐネットワークにおいて用いられるピアであって、Ｐ２Ｐネットワークではピアの集合体であって集合体としての属性情報を有するピアグループが構成され、Ｐ２Ｐネットワークを経由して他ピアとの通信を行い、ネットワーク制御を行うＰ２Ｐ通信処理部と、ピアグループの属性情報を格納する記憶領域と、ピアグループのメンバピアアドレス情報を取得するピアグループ情報発見部と、を有し、参加を希望するピアグループの属性情報を取得して記憶領域内に格納し、そののち、取得した属性情報にしたがって動作する。
【００２６】
本発明のピアにおいては、他ピアに対してピアグループ属性情報の照合を行い、記憶領域内の属性情報の更新処理を行うピアグループ属性情報照合・更新処理部をさらに設け、ピアグループ属性情報変更通知を受信した際に、記憶領域内の属性情報と、受信したピアグループ属性情報変更通知内のピアグループ属性変更情報を照合し、照合の結果、差分がある場合には、記憶領域内の属性情報をピアグループ属性変更情報の内容にしたがって書き換え、Ｐ２Ｐネットワークにおいて直接接続するピアのうち、受信したピアグループ属性情報変更通知の送信元であるピア以外のピアに対し、ピアグループ属性情報変更通知を転送するようにしてもよい。また、このピアにおいて、第１の周期を計時するタイマ機能を有するチェック用属性定期更新部をさらに設け、第１の周期で、分断チェックを目的とした特定のピアグループ属性の変更を行うようにしてもよく、あるいは、
検出用ピアに対する照合間隔を規定するタイマ機能を備え、照合間隔の経過に伴って所定の確率で検出用ピアに接続するためのピアグループ属性情報定期照合部をさらに設け、検出用ピアとの属性情報の照合結果に基づいてピアグループの分断を判断するようにしてもよい。チェック用属性定期更新部を設ける場合には、第１の周期より長い所定の時間のタイマ機能を有するチェック用属性変更監視部をさらに設け、所定の時間にわたって特定のピアグループ属性の変更を検出しない場合に、ピアグループの分断があったと判断するようにしてもよい。
【００２７】
なお、本発明においてＰ２Ｐネットワークとは、典型的には、自律分散的に動作するピアが複数あって、各々のピアが他のいくつかのピアとネットワークを介して互いに接続し、各々のピアがそれらの接続を通じて受信した情報を他のピアに伝播することで互いに直接接続していないピア同士の情報流通を可能とし、それらピア全体で情報流通の場を形成するようにしたもののことである。Ｐ２Ｐネットワークにおけるピアは、一般的には、コンピュータおよびその上で動作するソフトウェアにより実現される。
【００２８】
【発明の実施の形態】
次に、本発明の好ましい実施の形態について、図面を参照して説明する。
【００２９】
《第１の実施形態》
まず、本発明に基づくピアグループの構成方法を説明する。図３は、ピアの機能構造を示すブロック図である。
【００３０】
ピア１には、Ｐ２Ｐ通信処理部３１と、ピアグループ情報発見部３２と、記憶領域であるピアグループ属性保持エリア３３とが設けられている。
【００３１】
Ｐ２Ｐ通信処理部３１は、Ｐ２Ｐネットワークを経由して他のピアと情報をやり取りしたり、他のピアとのＰ２Ｐネットワーク上の接続・切断・参加・離脱などのＰ２Ｐネットワーク制御を行う機能部である。ピアグループ情報発見部３２は、新規ピアグループを発見したり、新規にピアグループに参加するために、ピアグループのメンバピアアドレス情報を取得する機能部である。
【００３２】
ピアグループ属性保持エリア３３は、ピアを構成するコンピュータのメモリ上、ディスク上、あるいはその他の記憶媒体上において、ピアグループの属性情報を保持するエリア（記憶領域）である。このピアグループ属性保持エリア３３では、ピアグループの属性名とその属性値のペアや、ピアグループ属性名のエントリ（属性値がなく、エントリの有無に意味があるもの）がテーブルで管理されている。
【００３３】
このピアグループ属性保持エリア３３は、対象のピアグループ属性種別により、固定ピアグループ属性情報保持エリアと、可変ピアグループ属性情報保持エリアとに分類することができる。固定ピアグループ属性情報保持エリアは、ピアグループＩＤなど、ピアグループが生成された時点で内容が確定し、以降の変更が不可能なピアグループ属性に対応するものである。一方、可変ピアグループ属性保持エリアは、ピアグループ内で使われるメタメタデータなど、以降に追加・修正が行えるピアグループ属性に対応するものである。
【００３４】
図４に、ピアグループ属性情報の一例を示す。これらの例からわかるように、ピアグループ属性情報は、ピアグループの全メンバ間で一貫して一致していることが強く求められる。
【００３５】
図５は、すでにピアグループ１０が生成されていていくつかのメンバピアが存在し、そこに新規のピア１が参加する状況を示している。ピアグループ１０のメンバピアには、それぞれ、ピアグループＩＤとして“１３１５”が割り当てられている。
【００３６】
図５に示す場合を例に挙げて、新規ピアの参加の手順を説明する。ここでは、２通りのシーケンスを説明する。第１の例のシーケンスは、新規参加ピアが、参加したいピアグループの属性をあらかじめ取得してから既存のメンバピアに接続するというものであり、第２の例のシーケンスは、新規参加ピアが、既存のメンバピアに接続することでピアグループ属性を取得するというものである。
【００３７】
図６は、第１の例でのシーケンスを示すものであり、図７は、第１の例のシーケンスにおける各機能部間の信号のパラメータを示すものである。
【００３８】
図６および図７に示すように、第１の例のシーケンスでは、新規参加ピアにおいて、ユーザまたはエージェントまたはその他の手段により、例えば、ピアグループ概要の説明文に所定の文字列を含むピアグループを検索したい、と指定される。ピアグループの情報を取得するには、ディレクトリサービスから取得する、ブロードキャストによって知り得たピアから取得する、自ピアのキャッシュしているピアグループ情報から取得する、などのさまざまな方法がある。新規参加ピアのピアグループ情報発見部３２は、ピアグループ検索（ここでは、ピアグループ属性データベースを検索する）を行い、この検索の結果として、所定の条件を満たすピアグループ情報を返される。このピアグループ情報には、ピアグループＩＤを含むピアグループ属性情報と、ピアグループへの参加の窓口になりうる、いくつかのメンバピアアドレスが含まれる。
【００３９】
新規参加ピアにおいて、ユーザまたはエージェントまたはその他の手段により、参加対象のピアグループが選択されると、その新規参加ピアのピアグループ属性情報保持エリア３３に、その参加対象のピアグループ属性情報がコピーされる。その後、新規参加ピアのＰ２Ｐ通信処理部３１から、その参加対象のピアグループの任意のメンバピアに対して、ピアグループ参加依頼がなされる。このときパラメータとして、新規参加ピアが得たピアグループ属性情報が渡される。ピアグループ参加依頼を受けたピアは、新規参加ピアから渡されたピアグループ属性情報と、自らの保有するピアグループ属性情報とが一致するか判定し、一致する場合には、参加ＯＫのピア参加依頼応答を返す。その後、新規参加ピアは、自身が保有するピアグループ属性情報にしたがって振舞う。もし、一致しない場合には、参加ＮＧのピア参加依頼応答が返され、新規参加ピアは、ピアグループ属性情報保持エリア３３をリセットする。
【００４０】
図８は、第２の例でのシーケンスを示すものであり、図９は、第２の例のシーケンスにおける各機能部間の信号のパラメータを示すものである。
【００４１】
図８および図９に示すように、第２の例のシーケンスでは、まず、第１の例と同様にピアグループの検索がなされる。この第２の例において、ピアグループ検索の結果として返されるべき情報は、ピアグループＩＤ（またはピアグループ名称）と、そのピアグループへの参加の窓口になりうる、いくつかのメンバピアアドレスのみでよい。
【００４２】
次に新規参加ピアにおいて、ユーザまたはエージェントまたはその他の手段により、参加対象のピアグループが選択されると、その新規参加ピアのＰ２Ｐ通信処理部３１は、参加対象のピアグループの任意のメンバピアに対して、ピアグループ参加依頼を行う。ピアグループ参加依頼を受けたピアは、自らの保有するピアグループ属性情報とともに、参加ＯＫのピア参加依頼応答を返却する。その後、新規参加ピアは、自身が保有するピアグループ属性情報にしたがって振舞う。
【００４３】
《第２の実施形態》
次に、本発明に基づくピアグループ属性情報の更新方法について説明する。ここでは、ピアグループは上述の第１の実施形態で説明した構成方法によって構成されている。
【００４４】
図１０および図１１は、ピアグループ属性の変更と、その変更がＰ２Ｐネットワーク上に接続する他のピアに伝えられ（ピアグループ属性の更新）、それらが繰り返されて、ピアグループ内全体に伝播する様子を示している。
【００４５】
図１０は、Ｐ２ＰネットワークとしてＳＩＯＮｅｔ（特開２００１−２４９８７３、特願２００１−３９４９８０）を用いた場合の例を示している。ＳＩＯＮｅｔでは、情報は意味情報をヘッダに持ったイベントの形で流通し、イベントタイプとは意味情報の型を規定するもので、すなわち、メタメタデータである。
【００４６】
図１０の一番右側のピア（変更元ピア）が、もともとは、ピアグループ公開属性がｔｒｕｅ（公開）であったのを、ｆａｌｓｅ（非公開）に変更している。また、従来から定義されているレストラン情報イベントタイプに加えて、住宅情報イベントタイプの定義を新たに追加している。図１０に示す例では、ピアグループの属性情報として、さらに、ピアグループ属性の最終変更時刻が変更されている。これは、ピアグループの分断とその再接続があったときなどにピア間で相互に保持している属性情報に食い違いが生じたときにそれらの整合を図るための整合性解決情報として、時刻を用いているからである。これらのピアグループ属性変更情報は、図１１に示すように、Ｐ２Ｐネットワークを経由して、隣接のピア１、そのまた隣接のピア１へと次々と伝えられ、ピアグループ１０の全体に伝播していく。
【００４７】
ピアグループ属性の変更があったときは、その変更は上述のようにしてピアグループ内を伝播し、各ピアでのピアグループ属性の更新が行われるが、ここでＰ２Ｐネットワークの場合、ピアとピアの接続（新規参加あるいは分断されたピアグループの再接続など）が起こりうることにより、各ピアに保持されている属性情報における不一致が発生することがある。以下、この属性情報の不一致を検出し、解消する手順について説明する。
【００４８】
図１２および図１３は、ピアグループ中のピアが接続した場合に、ピアグループ分断による属性情報の不一致を検出し、解消する手順を説明している。また図１４は、ピアグループ属性情報の不一致の検出と解消のアルゴリズムの一例を示している。図１４に示すように、ピアグループ属性情報の不一致の検出と解消は、例えば、ピアとピアの接続時に互いのピアが保持する属性情報を交換し合い、相手方のピアが自ピアにはない種別の属性情報を持っている場合には、自ピアの保持する属性情報にそれを追加し、相手方のピアが、自ピアに存在する種別の属性であるが属性値が異なる属性情報を保持している場合には、その属性情報に一緒に付与されている整合性解決情報（ここでは属性変更時刻）を参照し、より新しい属性情報を採用することによって、実行される。
【００４９】
図１２に示す例では、図示される３つのピアとも、ピアグループの分断前に、レストラン情報イベントタイプ、住宅情報イベントタイプが定義されており、分断後に、図示右側２つのピアでは、レシピ情報イベントタイプが追加されており、最も左側のピアでは、音楽情報イベントタイプが追加されている。また、分断後に、右側２つのピアでは、ピアグループ公開属性がｆａｌｓｅになっており、最も左側のピアでは、ピアグループ公開属性がｔｒｕｅになっている。
【００５０】
ここで、図示最も左側のピアが、図示中央のピアと接続した場合、接続を契機として属性情報の交換が行われ、その結果、図示最も左側のピアにレシピ情報イベントタイプが追加され、図示中央のピアに音楽情報イベントタイプが追加される。音楽情報イベントタイプの追加は、ピアグループ属性変更イベントとして図示最も右側のピアにも伝播し、図示最も右側のピアに音楽情報イベントタイプが追加される。
【００５１】
また、ピアグループ公開属性については、整合性解決情報を利用して整合を行う。これにはいろいろなやり方があるが、以下では、属性の最終変更時刻を整合性解決情報として利用し、整合性解決ポリシーとして、最終更新時刻が新しい情報を採用する場合の例を示す。
【００５２】
図示中央のピアグループ公開属性の変更は２００３．３．３１であり、図示最も左側のピアのピアグループ公開属性の変更は２００３．１．３１であるので、整合性解決ポリシーから、ピアグループ公開属性の正しい値は、図示中央のピアのピアグループ公開属性となる。
【００５３】
こうして、接続元・接続先双方において、ピアグループ属性情報の照合・不一致解消が行われ、それぞれのピアでの変更が、Ｐ２Ｐネットワークを通じて、それぞれのピアの以前からの接続先ピアにピアグループ属性情報変更通知として流され、その結果、ピアグループ全体に整合がはかられる。
【００５４】
図１５は、上述したようなピアグループ属性情報の変更・更新とその伝播を行うことができるピアの機能構造を示すものである。図３に示したものと同様に、ピア１はＰ２Ｐ通信処理部３１とピアグループ情報発見部３２とピアグループ属性情報保持エリア３３とを備えている。さらにピア１には、ピアグループ属性情報の照合や更新処理を行う、ピアグループ属性情報照合・更新処理部３４が設けられている。
【００５５】
この場合、ピアグループ属性情報としては、図３に示したものに加え、各属性ごとの最終変更時刻（属性値がないものについては、エントリ追加等の時刻）と、全属性を通しての最終変更時刻が含まれている。
【００５６】
次に、ピアグループ属性の変更元のピアでの具体的処理を説明する。図１６は、ピアグループ属性の変更元のピアでの処理を示すシーケンス図であり、図１７は、このシーケンスでの各機能部間の信号のパラメータを示す図である。
【００５７】
図１６に示すように変更元のピアにおいて、ユーザまたはエージェントまたはその他の手段により、ピアグループ属性情報の更新の契機および更新内容が与えられると、ピアグループ属性情報照合・更新処理部３４は、ピアグループ属性情報保持エリア３３の属性情報を更新するとともに、Ｐ２Ｐ通信処理部３１に対して、ピアグループ属性情報変更通知を要求する。これをうけてＰ２Ｐ通信処理部３１は、その変更元ピアが接続しているすべてのピアに対して、ピアグループ属性変更通知を送出する。
【００５８】
次に、ピアグループ属性情報変更通知を受信したピアにおける処理を説明する。図１８は、ピアグループ属性情報変更通知を受信したときの処理を示すシーケンス図であり、図１９は、このシーケンスにおける各機能部間の信号のパラメータを示す図である。
【００５９】
自ピアに接続しているあるピアからピアグループ属性情報変更通知を受けると、自ピアのＰ２Ｐ通信処理部３１はピアグループ属性情報照合・更新処理部３４にピアグループ属性情報変更要求を送り、ピアグループ属性情報照合・更新処理部３４は、自ピアのピアグループ属性情報保持エリア３３に保持されたピアグループ属性情報を取得し、変更の必要性があるかどうか照合を行う。もし、変更の必要性ありと判断された場合、ピアグループ属性情報保持エリア３３のピアグループ属性情報を変更（更新）するとともに、Ｐ２Ｐ通信処理部３１を介し、Ｐ２Ｐネットワークにおいて直接接続しているピアのうち、この処理の契機となったピアグループ属性変更通知を受けたピア以外のすべてのピアに、ピアグループ属性情報変更通知を送出する。なお、同じ内容のピアグループ属性情報変更通知を複数回受け取ることもあるが、その場合には、２回目以降のピアグループ属性情報変更通知は、このシーケンスにおいては無視される。
【００６０】
次に、ピアグループの分断区間あるいは未接続区間が接続された場合の処理について説明する。この処理では、上述したピアグループ属性情報の不一致の検出とその解消とが行われる。図２０は、この処理を示すシーケンス図であり、図２１は、このシーケンスにおける各機能部間の信号のパラメータを示す図である。
【００６１】
接続元のピアのＰ２Ｐ通信処理部３１は、接続先のピアに対してピア接続依頼を送るとともに、ピアグループ属性情報保持エリア３３からピアグループ属性情報を取得し、取得したピアグループ属性情報も接続先のピアに送る。同様に、接続先のピアのＰ２Ｐ通信処理部３１も接続元のピアに対し、当該接続先ピアのピアグループ属性情報を送る。このようにして接続元ピアと接続先ピアとの間でピアグループ属性情報を交換した後、接続元、接続先の両方のピアにおいて、それぞれ、ピアグループ属性情報照合・更新処理部３４が、相手方のピアから受け取ったピアグループ属性情報と自ピアが保有するピアグループ属性情報とを照合する。そして、上述した図１４に示したものなどのアルゴリズムにより、各々のピアにおいて、ピアグループ属性情報の整合が行われ、各々のピアでの整合結果にもとづいて、ピアグループ属性情報の更新が（必要に応じて）行われる。ピアグループ属性情報更新は、これらのピアが、この新規接続以前に接続しているすべてのピアに送出される。
【００６２】
《第３の実施形態》
次に、本発明に基づき、Ｐ２Ｐネットワークにおいて、ピアグループの分断を検出し、その分断を解消する方法を説明する。ピアグループは、上述の第１の実施形態で説明した構成方法によって構成されており、また、ピアグループ属性情報は、上述の第２の実施形態の更新方法によって更新されている。ここでは、ピアグループ内に、他のピアからいつでも接続可能な常設ピアを設置し、この常設ピアがチェック用属性情報を定期的に更新することによって、ピアグループの分断を検出する方法を説明する。図２２は、この方法により各ピアが分断を自己認識する様子を示している。
【００６３】
常設ピア３は、周期Ｔでチェック用属性情報を更新し、その都度、常設ピア３からは、ピアグループ属性情報変更通知が送出される。このため、常設ピアと分断していないネットワーク内であれば、各ピア１は、輻輳などによって多少の遅れはあるかもしれないが、チェック用属性に関するピアグループ属性情報更新をほぼ周期Ｔで受信するはずである。しかしながら、常設ピアと分断している部分では、チェック用属性更新は受信されない。したがって、周期Ｔを大きく超えた時間が経過しても属性情報更新が流れてこない場合は、各々のピアは、そのピアが分断していると、自律的に認識する。
【００６４】
次に、このようにして自ピアの分断が検出した場合に、各ピアがどのようにして分断を解消するかを説明する。図２３は、分断を検出したピアが常設ピアに接続し、分断を解消する様子を示している。
【００６５】
分断を検出したピア１のすべてが常設ピア３に接続するものとすると、ネットワーク規模が大きい場合には常設ピア３への負荷集中は相当なものになり、現実的な解ではならなくなるとともに、Ｐ２Ｐの、ボトルネックがなくスケーラビリティが高い、というメリットを損なうことにもなる。
【００６６】
一般にＰ２Ｐネットワークは、高いスケーラビリティを有する代わりに、あまり確実性を前提としていないことが多い。例えばＧｎｕｔｅｌｌａでは、全世界のすべてのピアを網羅した検索は不可能であるし、求めるコンテンツの保有ピアを発見し、コンテンツをダウンロードしようとしても、すでにそのピアはネットワークから離脱していたなどの事態は、有り得ることである。また、ＪＸＴＡでも、ピアの無断でのネットワークへの出現やネットワークからの消滅、メッセージの破棄や改変、遅延は、許容され予測できないものとしている。
【００６７】
このことから本実施形態では、ピアのすべてに対して確実にアクションを起こすのではなく、一定の確率で選択されたピアに対してのみアクションを起こすことで、一定の確からしさで、ピアグループが分断していない、あるいは、分断によるピアグループ属性の不一致が発生していないと判定する手法をとる。すなわち、分断を検出したピアのすべてが常設ピアに接続するのではなく、一定の確率ｐ（例えば、ｐ＝０．０１など）で選択されたピアのみが常設ピア３に接続し、分断によるピアの属性情報の不一致を解消するようなアプローチをとっている。
【００６８】
分断により生じた不一致を解消するのみであれば、常設ピアに対して接続したピアは、その後、その常設ピア３との接続を切断してもよい。もし、ネットワーク分断自体を解消するのであれば、常設ピア３に接続したピアは、常設ピアとの接続を維持したままにする。
【００６９】
この操作によって、常設ピア３に接続したピアの周辺にあるピアについては、ピアグループ属性情報変更通知により、分断していないあるいは属性情報の不一致がないことが保証されるが、ピアグループの全体にわたって分断がないあるいは属性情報の不一致がないとは言い切れない。しかしながら、この操作を繰り返すことで、ピアグループの分断、あるいは分断により生じたピアグループ属性の不一致は、着実に解消する方向に向かう。
【００７０】
常設ピアに接続するピアの一定確率での選択は、各ピアに埋め込まれた、ランダムに一定確率で自己選択するロジックにもとづき、各ピアにて自律的に行われる。このときの自己選択ロジックには、タイムスタンプとピアＩＤの組み合わせを使うなどの方法が考えられる。
【００７１】
自己選出を行ったピアが接続すべき常設ピア３のネットワーク上でのアドレスは、例えば、ピアグループ属性情報の一つとして各ピアに保持させておくことができる。また、常設ピアのチェック用属性変更周期Ｔや各ピアにおけるチェック用属性変更監視タイマの値（チェック用属性情報がどれだけの時間通知されなかったら分断と判断するかの値）についても、例えば、ピアグループ属性情報の一つとして保持ことができる。ピアを選出する確率ｐについても、例えば、ピアグループ属性情報の一つとして保持することができる。
【００７２】
ピアを選出する確率ｐについてその適正な値は、ネットワーク全体の規模に関係して変わると考えられる。集中管理用のサーバが存在しないＰ２Ｐネットワークにおいては、ネットワーク全体の規模を把握することは難しいが、常設ピアにおける接続頻度からは、
【００７３】
【数１】
2004260279.tif 000003
【００７４】
という関係がある、常設ピアは、接続頻度ｆの大きさに応じて、適正な選出確率ｐや周期Ｔの値を再定義し、変更することも可能である。
【００７５】
もし、Ｐ２Ｐネットワークにおいて、特定のパケットを流すことでそのパケットの届く範囲（すなわち、分断を超えない範囲）のピア数をカウントできる手段が用意されているなら、そのカウント値を、適切な選出確率ｐや周期Ｔの値の再定義に利用することもできる。
【００７６】
図２４は、このようにピアの分断を検出し、その分断を解消する機能を有するピアの機能構造を示すブロック図である。
【００７７】
図２４に示すピア１は、図１５に示したピアと同様に、Ｐ２Ｐ通信処理部３１、ピアグループ情報発見部３２、ピアグループ属性情報保持エリア３３およびピアグループ属性情報照合・更新処理部３４を備えており、さらに、チェック用属性定期更新部３５及びチェック用属性変更監視部３６を備えている。ここでチェック用属性定期更新部３５は常設ピアのために必要な機能部であり、チェック用属性変更監視部３６は常設ピア以外のピアのために必要な機能部である。
【００７８】
また、ピアグループ属性情報保持エリア３３においては、図１５に示したものに比べ、チェック用属性定期更新部３５によってその値がインクリメントされるチェック用の属性「ｃｈｅｃｋＣｏｎｓｉｓｔｅｎｃｙ」と、チェック周期、常設ピアのアドレス、選出確率の３つのピアグループ属性が追加されている。
【００７９】
以下、このようにチェック周期、常設ピアのアドレス、選出確率の３つのピアグループ属性がピアグループ属性情報エリア３３に保持されているものとして、このピア１での処理を説明する。また、以下の説明において、Ｐ２Ｐネットワーク中のピアのうち、常設ピア以外のピアを「通常ピア」という言い方で呼ぶことがある。
【００８０】
図２５は、常設ピアによるチェック用属性更新処理を示すシーケンス図であり、図２６は、このシーケンスにおける各機能部間の信号のパラメータを示す図である。
【００８１】
常設ピアにおいて、チェック用属性定期更新部３５には、チェック周期Ｔを計時するためのタイマ機能が備えられており、タイマが満了すなわちチェック周期Ｔが到来すると、チェック用属性定期更新部３５は、チェック用属性更新をピアグループ属性情報照合・更新処理部３４に通知し、ピアグループ属性情報照合・更新処理部３４は、ピアグループ属性情報保持エリア３３の属性情報を更新するとともに、Ｐ２Ｐ通信処理部３１を介して、この常設ピアが接続しているすべてのピアに対し、ピアグループ属性情報変更通知を行う。
【００８２】
図２７は、そのようなチェック用属性のピアグループ属性情報変更通知を受けた通常ピアでの処理を示すシーケンス図であり、図２８は、このシーケンスにおける各機能部間の信号のパラメータを示す図である。
【００８３】
通常ピアでは、図１８に示す処理と同様に、接続しているピアからピアグループ属性情報変更通知を受けると、Ｐ２Ｐ通信処理部３１はピアグループ属性情報照合・更新処理部３４にピアグループ属性情報変更要求を送り、ピアグループ属性情報照合・更新処理部３４は、自ピアのピアグループ属性情報保持エリア３３に保持されたピアグループ属性情報を取得し、変更の必要性があるかどうか照合を行う。ここで、ピアグループ属性情報照合・更新処理部３４は、変更対象がチェック用属性かどうかを判別し、もしそうであれば、チェック用属性変更監視部３６の監視タイマをリセットする。そして、ピアグループ属性情報保持エリア３３のピアグループ属性情報を変更（更新）するとともに、Ｐ２Ｐ通信処理部３１を介し、Ｐ２Ｐネットワークにおいて直接接続しているピアのうち、この処理の契機となったピアグループ属性変更通知を受けたピア以外のすべてのピアに、ピアグループ属性情報変更通知を送出する。
【００８４】
図２９は、通常ピアが分断を検出する場合の処理を示すシーケンス図であり、図３０は、このシーケンスにおける各機能部間の信号のパラメータを示す図である。
【００８５】
チェック用属性変更監視部３６の監視タイマが満了したピアは、すべて自ピアが分断していると認識する。そして分断が認識された場合、チェック用属性変更監視部３６は、ピアグループ属性情報保持エリア３３からピア選出確率などの属性情報を取得し、取得したピア選出確率を用い、現在時刻やピアアドレスと乱数を利用するなどの形で、自ピアが選出されるべきピアかどうかの判定（自己選出判定）を行う。自ピアが選出された場合に限り、チェック用属性変更監視部３６は、ピアグループ属性情報保持エリア３３から常設ピアのアドレスを取得し、Ｐ２Ｐ通信処理部３１によって常設ピアに接続依頼を行う。なお、ピア接続依頼以降のシーケンスは、図２０に示した、分断区間の再接続を契機とした、ピアグループの属性の照合と変更通知の場合と同じである。なお、ピア選出確率や常設ピアのアドレスは可変であるため、ここに示した例では、その都度、それらを取得するようにしている。
【００８６】
《第４の実施形態》
次に、Ｐ２Ｐネットワークにおいてピアグループの分断を検出し、その分断を解消する第２の方法を説明する。上述の第３の実施形態では、ピアグループ内に常設ピアを設置し、この常設ピアがチェック用属性情報を定期的に更新することとしているが、この第４の実施形態では、常設ピアがチェック用の属性更新を行わない場合を説明する。ここでは、常設ピアによるチェック用の属性更新を行なわない代わりに、ピアグループ内で各ピアにより自然に発生するチェック用属性情報の更新により、各ピアが分断を自己認識し、分断を解消、または分断により生じたピアグループ属性情報の不一致を解消する。図３１は、ここでの処理の概念を示す図である。なお、この実施形態においても、ピアグループは、上述の第１の実施形態で説明した構成方法によって構成されており、また、ピアグループ属性情報は、上述の第２の実施形態の更新方法によって更新されている。
【００８７】
分断していないネットワークにおいては、どこかのピアが属性情報を変更した場合、各ピアにおいて属性情報が更新され、ネットワーク内の各ピアの属性情報最終更新時刻は一致する。しかし、分断がある場合には、一部のピアには属性情報の変更が通知されないので、それらのピアの属性情報最終更新時刻は旧来のままであり、属性情報最終更新時刻の不一致が発生する。
【００８８】
ここで、ネットワーク内のピアのうち、一定の自己確率で選択されたピアが、一定周期で、常設ピアに対し、ピアグループ属性情報（属性バージョン）を報告する。そして、常設ピアのピアグループ属性情報と自ピアのピアグループ属性情報とを比較し、不一致があれば、確実に分断が生じていると認識する。一致した場合には、ある程度の確からしさで分断していないと判断できる。
【００８９】
自己選択されたピアでは、不一致と認識した場合には、常設ピアと接続することにより、属性情報の不一致を解消できる。情報伝達の分断も防ぎたい場合には、常設ピアと接続したままとすればよい。そして、自己選択されたピアは、周辺のピアに属性情報の変更を通知する。
【００９０】
第４の実施形態が第３の実施形態と異なる点は、ピアグループ属性情報が一致した場合には確実に分断が起きていない、と言い切れない点である。
【００９１】
図３２は、第４の実施形態におけるピアの機能構造を示している。図３２に示すピア１は、図２４に示したピアに比べ、チェック用属性定期更新部、チェック用属性変更監視部が設けられておらず、ピアグループ属性情報としてチェック用の属性「ｃｈｅｃｋＣｏｎｓｉｓｔｅｎｃｙ」がなく、その代わりにピアグループ属性情報定期照合部３７が設けられている点で相違する。ピアグループ属性情報定期照合部３７は、上述したような自己選択処理、常設ピアへの属性情報の通知などの処理を行うものである。
【００９２】
図３３は、この実施形態における通常ピアがピアグループ属性を定期的に常設ピアと照合する処理を示すシーケンス図であり、図３５は、このシーケンスにおける各機能部間の信号のパラメータを示す図である。
【００９３】
ピアグループ属性情報定期照合部３７は、常設ピアに対する照合間隔を規定するタイマを備えており、タイマが満了となると、ピアグループ属性情報保持エリア３３からピア選出確率などの属性情報を取得し、取得したピア選出確率を用い、現在時刻やピアアドレスと乱数を利用するなどの形で、自ピアが選出されるべきピアかどうかの判定（自己選出判定）を行う。自ピアが選出された場合に限り、ピアグループ属性情報定期照合部３７は、ピアグループ属性情報保持エリア３３から常設ピアのアドレスを取得し、Ｐ２Ｐ通信処理部３１によって常設ピアに接続依頼を行う。その後、自己選出判定の結果によらず、ピアグループ属性情報定期照合部３７は、ピアグループ属性情報保持エリア３３からチェック周期を取得し、タイマをリスタートさせる。なお、ピア接続依頼以降のシーケンスは、図２０に示した、分断区間の再接続を契機とした、ピアグループの属性の照合と変更通知の場合と同じである。
【００９４】
第４の実施形態において、常設ピアがピア接続依頼を受信する処理シーケンスについては、図２０に示したシーケンスと同じであり、通常ピアがピアグループ属性変更通知を受信するシーケンスについては、図１８に示したシーケンスと同じである。
【００９５】
《第５の実施形態》
次に、本発明の第５の実施形態として、常設ピアを設置することなく、ピアの分断を検出できる構成を説明する。この第５の実施形態では、固定した常設ピアを設置する代わりに、ピア間で移動可能なトークンを使用し、トークンを保有するピアが、上述の第３および第４の実施形態で説明した常設ピアとしての役割を担うようにしている。したがって、この場合のピアの分断の検出や、分断の解消、属性情報の不一致の解消のための処理などについては、第３および第４の実施形態での説明における「常設ピア」を「トークン保有ピア」に置き換えたものとなる。なお、この実施形態でも、ピアグループは、上述の第１の実施形態で説明した構成方法によって構成されており、また、ピアグループ属性情報は、上述の第２の実施形態の更新方法によって更新されている。
【００９６】
トークン保有ピアが常設ピアと最も異なっている点は、トークン保有ピアがネットワークから離脱する際、あるいはファイアウォールの内側など他のピアからアクセスできない環境に移行する場合などに、その保有しているトークンを他のピアに渡さなければならないことである。また、トークン保有ピアは、一定期間の経過など、上記以外の任意の契機に、他のピアにトークンを渡すようにしてもよい。
【００９７】
図３５は、トークン保有ピアがトークンを他のピアに渡す処理を示すシーケンス図であり、図３６は、このシーケンスにおける各機能部間の信号のパラメータを示す図である。
【００９８】
保有しているトークンを他のピアに渡し、他のピアからトークンを受け取るために、各ピアには、トークン処理部が設けられている。トークンを他のピアに渡すべき事態となったとき、トークン保有ピアのトークン処理部は、トークンを渡すべきピアを選定して、そのピアのアドレスを取得する。トークンの譲渡先ピアのアドレスは、ディレクトリサービス、ブロードキャスト、ローカルキャッシュ、任意の隣接ピアなどを使用するなど、任意の手法で取得すればよい。ここで、トークン譲渡先のピアは、その時点で確実に存在しているピアである必要があるため、トークン保有ピアはそのＰ２Ｐ通信処理部３１を介して譲渡先のピアの存在確認を行ってから、トークンを譲渡する。トークンを譲渡されたピアは、例えばタイマの起動など、トークン保有ピアとしての処理を開始するとともに、トークン保有ピアが変更したことを、Ｐ２Ｐネットワーク上で接続するピアを通じて通知する。なお、トークン保有ピア情報は、一例として、ピアグループ属性の一つとすることができる。
【００９９】
以上本発明の好ましい実施の形態について説明したが、本発明におけるピアは、一般には、ネットワークに接続するコンピュータおよびその上で動作するソフトウェアによって実現される。すなわち、上述した各ピアの機能を実現するためのプログラムを、コンピュータに読込ませ、そのプログラムを実行させることによって、本発明によるピアが実現され、本発明の方法が実行される。これらのプログラムは、磁気テープやＣＤ−ＲＯＭなどの記録媒体によって、あるいはネットワークを介して、コンピュータに読込まれるものである。
【０１００】
【発明の効果】
以上説明したように本発明によれば、Ｐ２Ｐのメリットである、ボトルネックがなくスケーラビリティが高い点と、自律分散的なピアの集合体としてネットワークが構成されるためその自律的発展が可能であるという点を損なわずことなく、ピアグループの属性を、ピアグループメンバの全ピアに渡っての一貫性を保ちつつ、ピアグループ属性の更新も考慮した管理を行うことができ、また、Ｐ２Ｐネットワークで起こりやすいネットワーク分断を検出・解消、また、分断によって発生しうるピアグループ属性の不一致を検出・解消することができる、という効果がある。
【図面の簡単な説明】
【図１】ピアグループの分断の発生を説明する図である。
【図２】ファイアウォールやサブネットなどの要因によるピアグループの分断の発生を説明する図である。
【図３】ピアの機能構成を示すブロック図である。
【図４】ピアグループ属性の一例を示す図である。
【図５】ピアグループへのピアの新規参加を示す図である。
【図６】ピアグループへのピア新規参加シーケンスの第１の例を示すシーケンス図である。
【図７】図６に示す例における各機能部間の信号のパラメータを示す図である。
【図８】ピアグループへのピア新規参加シーケンスの第２の例を示すシーケンス図である。
【図９】図８に示す例における各機能部間の信号のパラメータを示す図である。
【図１０】ピアグループ属性の変更と、それのピアグループ内へ伝播とを説明する図である。
【図１１】ピアグループ属性の変更とそれがピアグループ内に伝播する様子を示す図である。
【図１２】ピアとピアの接続があったときのピアグループ属性情報の不一致を解決する手順を概念的に示す図である。
【図１３】ピアグループ属性情報の不一致の解消がピアグループ内に伝播する様子を示す図である。
【図１４】ピアグループ属性情報の不一致の解消のためのアルゴリズムの一例を示す図である。
【図１５】ピアグループ属性情報の変更・更新とその伝播を行うことができるピアの機能構成を示すブロック図である。
【図１６】ピアグループ属性の変更元のピアでの処理を示すシーケンス図である。
【図１７】図１６に示すシーケンスにおける各機能部間の信号のパラメータを示す図である。
【図１８】ピアグループ属性変更通知を受信したピアにおける処理を示すシーケンス図である。
【図１９】図１８に示すシーケンスにおける各機能部間の信号のパラメータを示す図である。
【図２０】ピアグループ属性情報の不一致の検出と解消とを行う処理のシーケンス図である。
【図２１】図２０に示すシーケンスにおける各機能部間の信号のパラメータを示す図である。
【図２２】常設ピアを設けるとともにチェック用属性を設定することによってピアの分断を検出する方法の概要を示す図である。
【図２３】自ピアの分断を検出した場合における、分断の解消の手順の概要を示す図である。
【図２４】ピアの分断を検出し、その分断を解消する機能を有するピアの機能構造を示すブロック図である。
【図２５】常設ピアにおけるチェック用属性更新処理を示すシーケンス図である。
【図２６】図２５に示すシーケンスにおける各機能部間の信号のパラメータを示す図である。
【図２７】通常ピアにおけるピアグループ属性変更通知を受信したときの処理を示すシーケンス図である。
【図２８】図２７に示すシーケンスにおける各機能部間の信号のパラメータを示す図である。
【図２９】通常ピアが分断を検出する場合の処理を示すシーケンス図である。
【図３０】図２９に示すシーケンスにおける各機能部間の信号のパラメータを示す図である。
【図３１】常設ピアからのチェック用属性を用いることなく、各ピアが分断を自己認識して、分断の解消と属性の不一致の解消とを行う処理の概念を示す図である。
【図３２】常設ピアからのチェック用属性を用いることなく分断を自己認識できるピアの機能構成を示すブロック図である。
【図３３】通常ピアにおける常設ピアへのピアグループ属性定期照合処理を示すシーケンス図である。
【図３４】図３３に示すシーケンスにおける各機能部間の信号のパラメータを示す図である。
【図３５】トークンを用いることによってピアの分断を検出する場合におけるトークンを他ピアに譲渡する処理を示すシーケンス図である。
【図３６】図３５に示すシーケンスにおける各機能部間の信号のパラメータを示す図である。
【符号の説明】
１    ピア
２    リンク
３    常設ピア
１０    ピアグループ
２１    サブネット
２２    ファイアウォール
３１    Ｐ２Ｐ通信処理部
３２    ピアグループ情報発見部
３３    ピアグループ属性保持エリア
３４    ピアグループ属性情報照合・更新処理部
３５    チェック用属性定期更新部
３６    チェック用属性変更監視部
３７    ピアグループ属性情報定期照合部
【図１】
2004260279.tif 000004
【図２】
2004260279.tif 000005
【図３】
2004260279.tif 000006
【図４】
2004260279.tif 000007
【図５】
2004260279.tif 000008
【図６】
2004260279.tif 000009
【図７】
2004260279.tif 000010
【図８】
2004260279.tif 000011
【図９】
2004260279.tif 000012
【図１０】
2004260279.tif 000013
【図１１】
2004260279.tif 000014
【図１２】
2004260279.tif 000015
【図１３】
2004260279.tif 000016
【図１４】
2004260279.tif 000017
【図１５】
2004260279.tif 000018
【図１６】
2004260279.tif 000019
【図１７】
2004260279.tif 000020
【図１８】
2004260279.tif 000021
【図１９】
2004260279.tif 000022
【図２０】
2004260279.tif 000023
【図２１】
2004260279.tif 000024
【図２２】
2004260279.tif 000025
【図２３】
2004260279.tif 000026
【図２４】
2004260279.tif 000027
【図２５】
2004260279.tif 000028
【図２６】
2004260279.tif 000029
【図２７】
2004260279.tif 000030
【図２８】
2004260279.tif 000031
【図２９】
2004260279.tif 000032
【図３０】
2004260279.tif 000033
【図３１】
2004260279.tif 000034
【図３２】
2004260279.tif 000035
【図３３】
2004260279.tif 000036
【図３４】
2004260279.tif 000037
【図３５】
2004260279.tif 000038
【図３６】
2004260279.tif 000039