(57)【要約】【課題】ボトルネックピアの発生を防ぐことができ、スケーラビリティが保証され、同一コミュニティ（グループ）への参加ユーザの拡大が可能であるＰ２Ｐネットワーク構築方法を提供する。【解決手段】端末が、自端末の物理的情報を収集して公開する過程と、他端末の物理的情報を収集する過程（ステップ１２３、１２４）と、収集した物理的情報に基づいて、ピアごとの信頼度を計算する過程（ステップ１２６）と、信頼度に応じて接続管理を行い、ネットワークトポロジを決定する過程（ステップ１２７）と、トラヒック変動を検知して接続を変更する過程と、を設ける。【選択図】    図５
2005252596.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末がそれぞれピアとして自律分散協調により任意の情報、タスクを送受信するＰ２Ｐネットワークにおいて、物理ネットワーク上のオーバーレイするＰ２Ｐネットワークトポロジを各端末が集中管理部を用いることなく自己組織化したＰ２Ｐネットワークトポロジを構築するＰ２Ｐネットワーク構成方法であって、
端末が、自端末の物理的情報を収集して公開する過程と、
前記端末が、他端末の物理的情報を収集する過程と、
前記端末が、収集した物理的情報に基づいて、ピアごとの信頼度を計算する過程と、
前記端末が、前記信頼度に応じて接続管理を行い、ネットワークトポロジを決定する過程と、
を有する、Ｐ２Ｐネットワーク構成方法。
【請求項２】
さらに、前記端末が、トラヒック変動を検知して接続を変更する過程を有する、請求項１に記載のＰ２Ｐネットワーク構成方法。
【請求項３】
前記端末は、自端末における負荷状態に応じてＰ２Ｐネットワークトポロジを変化させる請求項２に記載のＰ２Ｐネットワーク構成方法。
【請求項４】
前記端末は、Ｐ２Ｐネットワークにおけるピア間接続動作の応答時間を測定し、測定時間が相対的に短いものを物理的近傍ピアとして該物理的近傍ピアと接続する、請求項１または２に記載のＰ２Ｐネットワーク構成方法。
【請求項５】
前記端末は、他端末から収集した物理的信頼度に、自端末が実施した接続状態を反映させて公開する、請求項１または２に記載のＰ２Ｐネットワーク構成方法。
【請求項６】
前記端末は、自端末の物理的信頼度が予め設定された一定値を下回った場合、隣接ピアに対して接続指示を行い、前記接続指示を受信した隣接ピアは、収集した物理的信頼度に基づいて再接続を行う、請求項２に記載のＰ２Ｐネットワーク構成方法。
【請求項７】
前記端末は、方路別のメッセージ数を収集し、前記メッセージ数が予め設定された転送数を超えた場合に、メッセージの流通量が相対的に多い隣接ピア間を接続する、請求項２に記載のＰ２Ｐネットワーク構成方法。
【請求項８】
複数の端末が自律分散協調により任意の情報、タスクを送受信するＰ２Ｐネットワークに対してピアとして参加し、アプリケーションとＰ２Ｐプラットフォームとを備える端末に設けられる接続状態管理装置であって、
物理的信頼度の基準とピア間接続契機の基準とを格納するポリシーＤＢと、
各ピアの少なくとも物理的信頼度を統計情報として保持する統計情報ＤＢと、
前記物理的信頼度の重み付けと前記ピア間接続契機を設定あるいは変更して前記ポリシーＤＢに格納するとともに前記ポリシーＤＢを参照するポリシー設定部と、
接続制御部と、
前記物理的信頼度の重み付けを起動時に取得し、受信した統計情報に基づいて物理的信頼度を算出し、前記接続制御部より受信する接続結果と切り替え指示信号に基づいて物理的信頼度を変更し、前記接続制御部の指示に基づき物理的信頼度に基づく接続候補を返信し、近傍測定結果を物理的信頼度に反映させる物理的信頼度統計部と、
起動時に前記ピア間接続契機の基準を取得し、前記統計情報ＤＢより前記統計情報を取得してしきい値と比較し、前記統計情報がしきい値に達した場合に前記接続制御部に切り替え指示信号を送信する手段を有する統計情報監視部と、
周期的に自端末の統計情報を収集し、収集した統計情報を前記統計情報ＤＢに蓄積する統計情報収集部と、
隣接ピアからの統計情報収集信号を受信して前記統計情報ＤＢから統計情報を取得し、当該隣接ピアへ応答する統計情報送受信部と、
前記物理的信頼度統計部の指示により物理的近傍を測定する近傍接続部と、
を有し、
前記接続制御部は、前記アプリケーションからの接続指示と最低接続数設定を受信し前記Ｐ２Ｐプラットフォームに対してピア間接続指示を行い、接続数が前記最低接続数を下回っていないか周期的に確認し、接続数が最低接続数を下回った場合、物理的信頼度統計部から接続候補を取得し、前記接続候補の情報に基づいて前記Ｐ２Ｐプラットフォームへ接続指示を行い、前記接続結果を前記物理的信頼度統計部へ通知し、前記隣接ピアからの切り替え指示信号を受信し、前記物理的信頼度統計部へ受信した統計情報を通知して前記接続候補を受信し、前記統計情報監視部からの指示を受信し、該当ピアの統計情報を前記物理的信頼度統計部より取得し接続換えピアに対して統計情報を含んだ切り替え指示信号を送信する、接続状態管理装置。
【請求項９】
複数の端末がそれぞれピアとして自律分散協調により任意の情報、タスクを送受信するＰ２Ｐネットワークに参加する端末を構成するコンピュータに、
自端末の物理的情報を収集して公開する処理、
他端末の物理的情報を収集する過程処理、
収集した物理的情報をもとに、ピアごとの信頼度を計算する処理、
前記信頼度に応じて接続管理を行い、ネットワークトポロジを決定する処理、
を実行させるプログラム。
【請求項１０】
前記コンピュータに、さらに、トラヒック変動を検知して接続を変更する処理を実行させる、請求項９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｐ２Ｐ（ピア−ツー−ピア）ネットワークに関し、特に、不特定多数のピアが物理的信頼度をもとに自己組織化することにより物理ネットワークに適合し、物理的信頼度に応分の負荷を負担することにより、信頼性が高く拡張性のあるＰ２Ｐネットワークを構成する方法及びそのようなＰ２Ｐネットワークで用いられる接続状態管理装置に関する。
【背景技術】
【０００２】
近年、ネットワークに接続した端末（ピア）が、サーバ等を介さずに、他のピアと対等の立場で通信するＰ２Ｐネットワークが注目されるようになってきている。物理ネットワークとしてインターネットなどの既存のネットワークを使用し、そのような物理ネットワーク上に論理的にＰ２Ｐネットワークを構築することも行われている。
【０００３】
Ｐ２Ｐネットワークでは、送信元のピアと送信先のピアとがネットワークトポロジにおいて直接接続しているとは限らない。送信元のピアと送信先のピアとが直接接続していない場合には、これらの間でのデータの転送は、１以上のピアで中継されて行われることになる。
【０００４】
グヌーテラ（Ｇｎｕｔｅｌｌａ）(http://www.gnutella.com/)に代表される従来のピュアなＰ２Ｐネットワークは、中継するピアが高負荷状態に陥っても特段の対処は行わない。その結果として、ファイル検索要求や結果メッセージが欠損することになり、サービス品質の低下を招いている。ピュアなＰ２Ｐネットワークとは、ネットワークにおいてピアを集中管理するためのサーバを設けない構成のＰ２Ｐネットワークのことを指す。データの集中により高負荷状態となるピアのことをボトルネットピアと呼ぶ。
【０００５】
Ｐ２Ｐネットワークでは、多数のピアを単純にネットワークに参加させた場合には、ネットワーク内でのデータ転送量が極めて大きくなるなどして、ネットワークの性能が低下する。そこで、ネットワークを自己組織化させることによってデータ転送の範囲を局在化させ、負荷分散や負荷の低減を図ることが行われている。Ｐ２Ｐネットワーク上での自己組織化の例としては、趣味嗜好情報に基づき自己組織化するＣＯＭＮｅｔ（ブローカレスモデルとＳＩＯＮｅｔ：オーム社）や、検索キーワードの上位の数個に基づきクラスタ化を行うＷｉｎｎｙ(http://www.sfc.wide.ad.jp/kg/neco/blog/archives/000013.html)等がある。しかしながら、論理的な自己組織化を行うのみでは、性能の低い端末やピアに負荷が集中し、サービス品質の低下を招いてしまう。また、物理ネットワークの構成を無視した論理的な局在化では、物理ネットワークにとって不効率なＰ２Ｐネットワークを構築することになる。
【０００６】
物理ネットワークの構成を考慮した自己組織化を行うためには、物理的に近傍にあるピアに接続することが必要であり、物理的近傍接続を行うために、ＰｉｎｇコマンドやＴｒａｃｅｒｏｕｔｅコマンドなどを含むＩＣＭＰ(Internet Control Message Protocol)を用いる方法も提案されている（例えば、「Ｐ２Ｐサービスにおける物理ネットワークを考慮した論理トポロジー構築手法(http://www.anarg.jp/~y-gotou/research/y-gotou02cq-P2PLogicalTopology-slide.ppt)」）。しかしながら、現状のインターネットユーザの運用においては、セキュリティの観点によりＩＣＭＰには応答しない場合が多く、判断ツールとしては利用できない。
【０００７】
Ｐ２Ｐ型のＣＤＮ（コンテンツ配信ネットワーク）システムでは、配信する経路に基づき転送するピアの性能に基づいてＰ２Ｐネットワークを構成する必要がある。このため、管理用のサーバを用いて、コンテンツ配信ネットワークに接続されている全ピアの情報を管理することにより、Ｐ２Ｐネットワークを構成している。しかしながらこの方法は、ピュアなＰ２Ｐネットワークを目指したものではなく、ユーザ数増加に伴い、管理用のサーバのコストが増加してしまうという問題点を有する。
【非特許文献１】“ＷＩＮＮＹにおけるノード評価モデル”、２００３年１０月３０日、［２００４年３月１日検索］、インターネット＜ＵＲＬ：http://www.sfc.wide.ad.jp/kg/neco/blog/archives/000013.html＞
【非特許文献２】須藤  義宏、“Ｐ２Ｐサービスにおける物理ネットワークを考慮した論理トポロジー設計手法”、２００２年２月８日、［２００４年３月１日検索］、インターネット＜ＵＲＬ：http://www.anarg.jp/~y-gotou/research/y-gotou02cq-P2PLogicalTopology-slide.ppt＞
【発明の開示】
【発明が解決しようとする課題】
【０００８】
グヌーテラに代表される従来のピュアなＰ２Ｐネットワークでは、各ピアが発信したメッセージを遅延なく全ピアへ到達させようとＰ２Ｐネットワークを構築しようとするとスケーラビリティが保証されない、という問題点があり、同一コミュニティ（グループ）への参加ユーザの拡大が難しかった。
【０００９】
ところで、性能、稼働状態、回線帯域、位置する物理ネットワークなど、物理的信頼度の異なるピアが無手順でＰ２Ｐネットワークトポロジを構築した場合、信頼性とスケーラビリティを保証するためには、上述したように、以下のような課題がある。
【００１０】
（ａ）物理ネットワーク負荷の増加と遅延時間の増加：
Ｐ２Ｐネットワークにおいて、論理的な局在化を行う自己組織化を実行した場合、そのＰ２Ｐネットワーク上での隣接ピアが物理ネットワークにおいて近隣であるとは限らない。物理ネットワークとＰ２Ｐネットワークとにおける隣接ピアの不一致は、物理ネットワークへの無効な負荷の増加とメッセージ到達遅延の増加につながる。物理ネットワークにおける近隣ピアを探るためにＰｉｎｇコマンド等を用いる近傍制御は、セキュリティ上の理由によりその種のコマンドの流通を拒否している物理ネットワークには対応できない。
【００１１】
（ｂ）メッセージリレー密度の増加によるボトルネック発生：
コミュニティに参加するピア数の増加は、コミュニティ全体のメッセージ数を増加させることになり、結果として、各ピアではメッセージリレー密度（そのピアが中継することとなるメッセージの密度）が増加してしまう。無手順でＰ２Ｐネットワークトポロジを構築した場合、物理的に信頼度の低いピアがネットワークトポロジにおけるハブとなる可能性があり、そのようなピアでは、負荷の低い段階からイベントの遅延もしくは欠損が発生し、それにより、ネットワーク全体としてのスケーラビリティが損ねられてしまうことになる。また、稼働中においても、各ピアが自分の負荷状態を無視して他ピアからの接続を許容しメッセージを送受信してしまうとボトルネックが発生し、結果としてコミュニティ（グループ）におけるサービス品質が低下してしまう。
【００１２】
そこで本発明の目的は、ネットワークに集中管理用のサーバを設けることなく、運用状態において変動するトラヒック状態に応じてネットワークの自己組織化を図ることにより、ボトルネックピアの発生を防ぐことができ、スケーラビリティが保証され、同一コミュニティ（グループ）への参加ユーザの拡大が可能であるＰ２Ｐネットワーク構築方法と、そのようなＰ２Ｐネットワークの各ピアで用いられる接続状態管理装置とを提供することにある。
【課題を解決するための手段】
【００１３】
本発明のＰ２Ｐネットワーク構成方法は、複数の端末がそれぞれピアとして自律分散協調により任意の情報、タスクを送受信するＰ２Ｐネットワークにおいて、物理ネットワーク上のオーバーレイするＰ２Ｐネットワークトポロジを各端末が集中管理部を用いることなく自己組織化したＰ２Ｐネットワークトポロジを構築するＰ２Ｐネットワーク構成方法であって、端末が自端末の物理的情報を収集して公開する過程と、端末が他端末の物理的情報を収集する過程と、端収集した物理的情報に基づいて、端末がピアごとの信頼度を計算する過程と、端末が信頼度に応じて接続管理を行い、ネットワークトポロジを決定する過程と、を有する。本発明の方法においては、端末がトラヒック変動を検知して接続を変更する過程をさらに備えていてもよい。
【００１４】
本発明の接続状態管理装置は、複数の端末が自律分散協調により任意の情報、タスクを送受信するＰ２Ｐネットワークに対してピアとして参加し、アプリケーションとＰ２Ｐプラットフォームとを備える端末に設けられる接続状態管理装置であって、物理的信頼度の基準とピア間接続契機の基準とを格納するポリシーＤＢと、各ピアの少なくとも物理的信頼度を統計情報として保持する統計情報ＤＢと、物理的信頼度の重み付けとピア間接続契機を設定あるいは変更してポリシーＤＢに格納するとともにポリシーＤＢを参照するポリシー設定部と、接続制御部と、物理的信頼度の重み付けを起動時に取得し、受信した統計情報に基づいて物理的信頼度を算出し、接続制御部より受信する接続結果と切り替え指示信号に基づいて物理的信頼度を変更し、接続制御部の指示に基づき物理的信頼度に基づく接続候補を返信し、近傍測定結果を物理的信頼度に反映させる物理的信頼度統計部と、起動時にピア間接続契機の基準を取得し、統計情報ＤＢより統計情報を取得してしきい値と比較し、統計情報がしきい値に達した場合に接続制御部に切り替え指示信号を送信する手段を有する統計情報監視部と、周期的に自端末の統計情報を収集し、収集した統計情報を統計情報ＤＢに蓄積する統計情報収集部と、隣接ピアからの統計情報収集信号を受信して統計情報ＤＢから統計情報を取得し、その隣接ピアへ応答する統計情報送受信部と、物理的信頼度統計部の指示により物理的近傍を測定する近傍接続部と、を有し、接続制御部が、アプリケーションからの接続指示と最低接続数設定を受信しＰ２Ｐプラットフォームに対してピア間接続指示を行い、接続数が最低接続数を下回っていないか周期的に確認し、接続数が最低接続数を下回った場合、物理的信頼度統計部から接続候補を取得し、接続候補の情報に基づいてＰ２Ｐプラットフォームへ接続指示を行い、接続結果を物理的信頼度統計部へ通知し、隣接ピアからの切り替え指示信号を受信し、物理的信頼度統計部へ受信した統計情報を通知して接続候補を受信し、統計情報監視部からの指示を受信し、該当ピアの統計情報を物理的信頼度統計部より取得し接続換えピアに対して統計情報を含んだ切り替え指示信号を送信する。
【発明の効果】
【００１５】
本発明によれば、個々のピア（端末）が同一の論理に基づき自律分散協調することにより、物理ネットワークと各ピアの物理的信頼度を反映したＰ２Ｐネットワークを構成することが可能となるという効果がある。
【００１６】
本発明では、Ｐｉｎｇコマンドなどによらず、Ｐ２Ｐネットワークレベルでのコネクションにより判断を行っている。Ｐ２Ｐネットワークサービスに参加するユーザは、物理ネットワークでのインタフェースにおいてそのＰ２Ｐネットワークサービスに対応するポートを開き、また、Ｐ２Ｐネットワークにおけるセキュリティレベルを承認していると考えられるので、Ｐ２ＰネットワークレベルでのコネクションによりＰ２Ｐネットワークの自己組織化を図る本発明の手法は、物理ネットワークでのプロトコル等に依存する従来の手法に比べ、現実的である。
【発明を実施するための最良の形態】
【００１７】
次に、本発明の好ましい実施の形態について、図面を参照して説明する。
【００１８】
図１は、物理ネットワークと、この物理ネットワーク上に構築されるＰ２Ｐネットワークとの関係の一例を示しており、物理ネットワークと物理ネットワーク上にオーバーレイされるＰ２Ｐネットワークトポロジとを示している。本発明は、集中管理用のサーバを用いないピュアなＰ２Ｐネットワークであって、複数の端末が参加し、各端末が自律分散協調により任意の情報、タスクを送受信するＰ２Ｐネットワークを対象としている。各端末は、集中管理用サーバを用いることなく自己組織化し、それによって、物理ネットワークにおける近傍の端末がＰ２Ｐネットワークトポロジにおける近傍の端末に反映されるようになっている。
【００１９】
本実施形態では、物理ネットワークとしてインターネットが用いられることを想定している。図示された例では、物理ネットワークでは、端末Ａ，Ｃ，Ｄが１つのサブネットに接続してインターネットに接続し、端末Ｂ，Ｅが別のサブネットに接続してインターネットに接続している。さらにインターネットに対しては、無線接続により、携帯情報端末（ＰＤＡ）Ｆと、インターネット接続機能を有する携帯電話機（端末）Ｇが接続している。そのような物理ネットワークを前提として、複数の端末（ピア）を有するＰ２Ｐネットワークが物理ネットワーク上に構成されている。Ｐ２Ｐネットワークでは、図示されるように、端末Ａと端末Ｂが隣接し、端末Ｂと端末Ｃが隣接し、端末Ｃと端末Ｅが隣接し、端末Ｄと端末Ｅが隣接し、端末Ｅと端末Ｆが隣接し、端末Ｅと端末Ｇとが隣接している。Ｐ２Ｐネットワークには、各端末を集中管理するようなサーバは設けられていない。
【００２０】
図２は、本発明の実施の一形態のＰ２Ｐネットワークにおける各端末（ピア）のソフトウェアアーキテクチャと構成とを示している。各端末（ピア）は、一般にはコンピュータとコンピュータ上で実行されるソフトウェアとによって構成されており、ソフトウェアアーキテクチャとして、端末を構成するコンピュータのオペレーティングシステム（ＯＳ）３と、ＯＳ３と密接に協調してＰ２Ｐタスクを処理するＰ２Ｐプラットフォーム４と、Ｐ２Ｐミドルウェアとして構成される接続状態管理装置１と、ＯＳ３上で動作するアプリケーション２とを備えている。アプリケーション２は、接続状態管理装置１及びＰ２Ｐプラットフォーム４を介して、ピア−ツー−ピア接続により、他の端末（ピア）と情報やタスクの送受信を行えるようになっている。Ｐ２Ｐプラットフォーム４には、他ピアとの接続やメッセージ送受信など、Ｐ２Ｐ接続のための基本的な機能が備わっているものとする。そのようなＰ２Ｐプラットフォームを構築するためのソフトウェア技術として、例えば、ＪＸＴＡ、ＳＩＯＮｅｔなどがある。
【００２１】
本実施形態において、接続状態管理装置１は、自端末の物理的情報を収集し収集した物理的情報を他端末に対して公開する過程と、他端末の物理的情報を収集する過程と、収集した物理的情報をもとに信頼度を計算する過程と、その信頼度に応じて接続管理を行う過程と、トラヒック変動を検知し接続を変更する過程とを実施する。各端末ごとにその端末に含まれる接続状態管理装置１がこのように動作することによって、各端末は自律分散協調し、端末ごとの物理的信頼度に応じたＰ２Ｐネットワークが構成されることとなり、安定したＰ２Ｐネットワークトポロジを構築されてネットワークの信頼性、拡張性が保証されることとなる。すなわち接続状態管理装置１は、各端末ごとに設けられて、自律分散協調により、Ｐ２Ｐネットワークの自己組織化の処理を実行する。
【００２２】
接続状態管理装置１は、例えば、その端末における負荷状態（例えば、Ｐ２Ｐアプリケーション以外の動作状況によって変動するその端末でのＣＰＵ使用率及びメモリ使用率）に応じて、Ｐ２Ｐネットワークトポロジを変化させることができ、そのようにトポロジを変化させることによって、Ｐ２Ｐネットワークにおける負荷を均一化させることができる。また、接続状態管理装置１は、Ｐ２Ｐネットワークトポロジを構成する際に、その接続状態管理装置１が設けられている端末のＰ２Ｐプラットフォーム４においてピア間接続動作の応答時間を測定し、各ピア（すなわち各他端末）に対する応答時間を比較して応答時間が相対的に短いものを物理的近傍ピアとしてそのピアに接続することにより、物理ネットワークでのトポロジに類似したトポロジを有するＰ２Ｐネットワークを構成することができる。これにより、メッセージの伝播時間短縮を図ることができるとともに、無効な物理ネットワークリソース利用を防ぐことができる。
【００２３】
具体的には接続状態管理装置１は、他ピア（他端末）から収集した物理的信頼度に対し、自ピアが実施した接続状態を反映させ、それを公開することにより、物理的信頼度を最新化することができる。接続状態管理装置１は、自ピアの物理的信頼度が予め設定されている一定値を下回った場合、隣接ピアに対して接続指示を行う。接続指示を受信した隣接ピアは収集した物理的信頼度をもとに再接続を行う。このような動作を繰り返すことにより、特定ピアに対する負荷を回避することができる。また接続状態管理装置は、方路別のメッセージ数を収集し、メッセージ数が予め設定された転送数を超えた場合、メッセージの多い隣接ピア間を接続することができる。これにより、関連性の高いピア間のメッセージポップ数が短縮されるとともに、自ピアに関連のないメッセージの転送負荷を減らすことができる。
【００２４】
本実施形態に基づきＰ２Ｐネットワークの自己組織化を行う場合には、各端末において、自己組織化のためのパラメータとして、例えば、ＯＳ３で取得するその端末におけるＣＰＵの種別、ＣＰＵ使用率、メモリ使用率、Ｐ２Ｐプラットフォーム４で取得するキュー長、方路別メッセージ数、物理的近傍度、平均生存時間などを用いることができる。
【００２５】
このような機能を有する接続状態管理装置１は、アプリケーション２とのＡＰＩ（アプリケーションプログラムインタフェース）部１０と、ＯＳ３とのＡＰＩ部３１と、Ｐ２Ｐプラットフォーム４とのＡＰＩ部４１を備えており、各ＡＰＩ部１０，３１，４１では、アプリケーションからの接続指示、物理的信頼度の基準とピア間接続契機が予め規定されている。さらに接続状態管理装置１は、Ｐ２Ｐネットワーク構築のポリシーを格納するポリシーＤＢ（データベース）１２と、統計情報を格納する統計情報ＤＢ１６と、ポリシー設定部１１と、統計情報監視部１３と、物理信頼度統計部１４と、統計情報収集部１５と、統計情報送受信部１７と、近傍測定部１８と、接続制御部１９と、振り分け部１１０と、を備えている。
【００２６】
ポリシー設定部１１は、物理的信頼度の重み付けとピア間接続契機を設定し変更し表示する機能と、物理的信頼度の重み付けとピア間接続契機をポリシーＤＢ１２に設定し変更し参照する機能を有する。統計情報監視部１３は、端末の起動時においてピア間接続契機基準を取得する機能と、統計情報ＤＢ１２より取得した統計情報がしきい値に達していないかを周期的に確認する機能と、しきい値に達した場合に接続制御部１９に切り替え指示信号を送信する機能と、を有する。
【００２７】
接続制御部１９は、Ｐ２Ｐ接続全般の制御を行うものであって、アプリケーション２からの接続指示と最低接続数設定を受信し、Ｐ２Ｐプラットフォーム４に対してピア間接続指示を行う機能と、最低接続数を下回っていないか周期的に確認する機能と、接続数が最低接続数を下回った場合に、物理的信頼度統計部１４から接続候補を取得する機能と、取得した接続候補情報に基づいてＰ２Ｐプラットフォーム４に接続指示を行う機能と、接続結果を物理的信頼度統計部１４へ通知する機能と、隣接ピアからの切り替え指示信号を受信し、物理的信頼度統計部１４へ受信した統計情報を通知し接続候補を受信する機能と、統計情報監視部１３からの指示を受信して該当するピアの統計情報を物理的信頼度統計部１４より取得し、接続換えピアに対して統計情報を含んだ切り替え指示信号を送信する機能と、を有する。
【００２８】
物理的信頼度統計部１４は、起動時に物理的信頼度の重み付けを取得する機能と、受信した統計情報をもとに物理的信頼度を算出する機能と、接続制御部１９より受信した接続結果と切り替え指示信号に基づいて物理的信頼度を変更する機能と、接続制御部１９の指示に基づき物理的信頼度に基づく接続候補を返信する機能と、近傍測定部１８に対して近傍測定指示を行いその結果を物理的信頼度へ反映させる機能と、を有する。統計情報収集部１５は、ＯＳ３とのＡＰＩ部３１及びＰ２Ｐプラットフォーム４とのＡＰＩ部４１を利用して統計情報を収集する機能と、収集した統計情報を統計情報ＤＢ１６に蓄積する機能と、自アプリケーションの起動／終了時間を収集し統計情報ＤＢ１６に蓄積する機能と、統計情報監視部１３へ通知する機能と、を有する。
【００２９】
統計情報送受信部１７は、隣接ピアからの統計情報収集信号を受信する機能と、統計情報ＤＢ１８から統計情報を取得し隣接ピアへ応答する機能と、を有する。振り分け部１１０は、Ｐ２Ｐプラットフォーム４から受信した信号を信号種別により統計情報送受信部１１０または接続制御部１９に振り分ける機能を有する。近傍測定部１８は、物理的信頼度統計部１４の指示により、Ｐ２Ｐプラットフォーム４とのＡＰＩ４１の接続指示を用いて物理的近傍を測定する機能を有する。
【００３０】
次に、上述した端末（ピア）における動作を説明することにより、本実施形態のＰ２Ｐネットワーク構成方法における処理を説明する。
【００３１】
端末（ピア）がＰ２Ｐネットワークに接続しようとする場合、本実施形態のＰ２Ｐネットワークにおいては、まず、端末ごとにその端末の接続状態管理装置１内のポリシーＤＢ１２を設定するステップを実施し、次に端末をＰ２Ｐネットワークに接続してコミュニティあるいはグループへ参加するステップを実施する。その後、Ｐ２Ｐネットワークの自己組織化のために、自端末（自ピア）の統計情報ＤＢ１６内の統計情報を更新するステップと、運用時において接続変更を行い、物理的信頼度を更新するステップとを実行する。以下、これらの４つのステップについて説明する。
【００３２】
ポリシーＤＢ１２を設定するステップは、ポリシーＤＢ１２をポリシー設定部１１より設定・変更・参照するステップである。図４は、ポリシーＤＢ１２の構成の一例を示している。本実施形態では、端末の物理的信頼度は「ポイント制」で評価されるものとしており、ポリシーＤＢ１２は、項目単位の値と物理的信頼度として加算するポイントを規定した物理的信頼度基準、運用時において物理的信頼度のポイント値から減算するポイント数を規定した減算基準、収集した統計情報に基づき運用時においてＰ２Ｐネットワークのトポロジの切替え動作を起動するタイミングを規定した切替基準で構成されている。図示したものでは、ＣＰＵの使用率が０〜２０％であれば１０ポイントを、２０〜６０％で５ポイントを加算することが規定されている。ポリシーＤＢ１２では、各項目ごとにその項目の値とポイントとが格納されている。また、ポイントにおける減算要因や、Ｐ２Ｐネットワークトポロジを切替える条件についてもポリシーＤＢ１２に登録されている。
【００３３】
ポリシー設定部１１は、アプリケーション２からＡＰＩ部１０を介してポリシーＤＢ１２の設定・変更・参照要求を受け入れ、ポリシーＤＢ１２を更新する。このようなポリシーＤＢ１２の内容は、接続状態管理装置１の起動時（アプリケーション２からの起動要求時）に統計情報監視部１３と物理的信頼度統計部１４に読み込まれる。
【００３４】
次に、端末をＰ２Ｐネットワークに接続するステップについて、図５のシーケンス図を用いて説明する。図５において、Ｐ２Ｐネットワーク上のコミュニティあるいはグループに参加しようとするピアが「参加ピア」で示されている。
【００３５】
参加ピアにおいて、アプリケーション２は、ＡＰＩ部１０を用いて、Ｐ２Ｐネットワークへの接続を接続状態管理装置１の接続制御部１９へ指示する。すると接続制御部１９は、物理的信頼度統計部１４から接続候補ピア情報の収集を行う。ここで接続候補ピア情報が返答されない場合は初期接続とみなし、接続制御部１９は、アプリケーション２から指示されたピアアドレスに対して初期接続の接続指示を行う（ステップ１２１）。初期接続時における接続候補ピアは、ウエブなどの何らかの手段により公開されているＷｅｌｌ―Ｋｎｏｗｎ（よく知られた）ピアアドレスである。接続制御部１９は、Ｐ２Ｐプラットフォーム４へのＡＰＩ部４１により、そのＷｅｌｌ―Ｋｎｏｗｎピアに接続を行う。上述したように、Ｐ２Ｐプラットフォーム４には、他ピアとの接続、メッセージ送受信などのＰ２Ｐネットワーキングのための基本的な機能が備わっている。接続完了後、既にデータを収集したかの判断がなされるが（ステップ１２２）、ここでは１回目の接続なのでデータは存在せず、接続制御部１９は、Ｐ２Ｐプラットフォーム４へのＡＰＩ４１部に対し、統計情報収集信号の送信要求を行う。
【００３６】
統計情報収集信号は、近隣のピアにおける統計情報を収集するためのものであり、そのフォーマットの一例が図６(a)に示されている。統計情報収集信号は、送信元ピアアドレスと信号種別として「統計情報収集指示」とを含む信号である。この統計情報収集信号は、図２に示されるように、Ｐ２Ｐプラットフォーム４により、送信時に規定したＴＴＬ(Time to Live)の分だけ先のピアまで到達する（ステップ１２３）。図示したものでは、上述のＷｅｌｌ−ｋｎｏｗｎピアから、ピアＡ、ピアＢを経て、ピアＣにまで到達している。
【００３７】
統計情報収集信号を受信したピア（端末）では、Ｐ２Ｐプラットフォーム４で受信したメッセージが、Ｐ２Ｐプラットフォーム４へのＡＰＩ部４１を経由して、振り分け部１１０へ通知される。振り分け部１１０は、Ｐ２Ｐプラットフォーム４から受信したメッセージのユーザデータ部に規定している信号種別に基づき、そのメッセージが統計情報収集信号であると判断し、統計情報送受信部１７へその統計情報収集信号を転送する。統計情報収集信号を受信した統計情報送受信部１７は、統計情報ＤＢ１６より統計情報を取得し、センドバックにより、統計情報収集信号の送信元ピアに対して、その統計情報を含む統計情報収集信号応答として返信する（ステップ１２４）。統計情報収集信号応答は、図６(b)に示すように、ピアアドレスごとにそのピアアドレスの端末の物理的信頼度を示している。
【００３８】
図７は、統計情報ＤＢ１６の構成の一例を示している。統計情報ＤＢ１６は、ピアアドレス一覧テーブルと統計情報保存テーブルとからなっている。ピアアドレス一覧テーブルには、各端末ごとに、自端末か他端末であるかのフラグ、ピアアドレス、物理的信頼度（送信値）、物理的近傍度に基づくポイント、物理的信頼度（統計値）及び接続フラグが格納されている。統計情報保存テーブルには、自端末について、例えば、ＣＰＵ種別、ＣＰＵ使用率、メモリ使用率、起動時刻、終了時刻、平均生存時間（１回の接続でのその端末のＰ２Ｐネットワークへの平均接続時間）、起動回数、方路別メッセージ数、メッセージキューの使用率などが格納されている。
【００３９】
統計情報収集信号の発信元の端末において、返信されてきた統計情報収集信号応答は、Ｐ２Ｐプラットフォーム４からＰ２ＰプラットフォームのＡＰＩ部４１、振り分け部１１０を経由して統計情報送受信部１７で受信される。そして、情報については、統計情報ＤＢ１６に蓄積される。全情報収集完了（タイマー満了）時、物理的信頼度統計部１４は、ピアアドレスをキーに、物理的信頼度値を平均化し、統計情報ＤＢ１６に格納する。なお、物理的信頼度が著しく低い場合には、そのピアアドレスについては統計情報ＤＢ１６に格納しないものとする。物理的信頼度統計部１４は、統計情報収集信号応答結果に基づき物理的信頼度を統計し、物理的信頼度の高いピアアドレスについて、最上位のものからから所定数（例えば５個）を近傍測定部１８へ送信する。この所定数は変更可能である。近傍測定部１８は、受信したピアアドレスに対して、順次、Ｐ２Ｐプラットフォーム４へのＡＰＩ４１部を介して接続要求を行う。その結果、近傍確認接続のメッセージが該当ピアへ送られる（ステップ１２５）。近傍測定部１８は、近傍確認接続に対する該当ピアからの応答があるまでの応答時間を測定し、測定結果をそのピアに対する物理的近傍度として物理的信頼度統計部１４へ送信する。
【００４０】
物理的信頼度統計部１４は、ピアアドレスごとに、物理的近傍度に応じて予め設定されているポイントを統計情報ＤＢ１６に格納する。さらに物理的信頼度統計部１４は、収集した物理的信頼度と物理的近傍度のポイントとを加算した結果を更新後の物理的信頼度とし（ステップ１２６）、更新後の物理的信頼度における上位のピアから順に、接続制御部１９に対して接続要求を行う（ステップ１２７）。接続制御部１９は、予め設定した接続数に達するまで、物理的信頼度が高いピアから順に、Ｐ２ＰプラットフォームへのＡＰＩ部４１を用いて接続を実行する（ステップ１２８）。最初に選択した所定数（例えば５個）のピアアドレスでは接続が完了しない場合には、次の上位の所定数のピアに対して同様の動作を繰り返す。予め設定した接続数に達した場合には、Ｗｅｌｌ−Ｋｎｏｗｎピアに対する初期接続を切断する（ステップ１２９）。接続要求を行って失敗した場合には、ポリシーＤＢ１２に設定された減算基準の接続失敗に規定された減点ポイントに基づいて、物理的信頼度を減算する。
【００４１】
２回目以降の接続に際しては、上記の処理を繰り返す際、ステップ１２２においてデータが「有」になるので、ステップ１２７にそのまま移行し、統計情報ＤＢ１６を用いた接続を行うこととなる。その際も接続失敗に基づいた減算を行い、統計情報ＤＢ１６の内容が現実に即したものとなるようにする。統計情報ＤＢ１６を用いても接続が完了しない場合には、初期接続と同様の動作を繰り返し実施する。
【００４２】
次に、自端末（自ピア）の統計情報ＤＢ１６内の統計情報を更新するステップを説明する。
【００４３】
統計情報収集部１５は、起動時に、ＯＳ３へのＡＰＩ部３１を経由して、起動時刻、ＣＰＵ種別、ＣＰＵ使用率、メモリ使用率を取得し、統計情報ＤＢ１６に蓄積する、物理的信頼度統計部１４は、前回の起動終了時間をもとに平均生存時間を算出し、統計情報ＤＢ１６の収集、算出データをもとに、自ピアの物理的信頼度を更新する。また自端末が作動している期間中、統計情報収集部１５は、周期的に、Ｐ２Ｐプラットフォーム４へのＡＰＩ部４１を経由して、方路別のメッセージ数、キュー長を取得し、また、ＯＳ３へのＡＰＩ部３１を経由して、ＣＰＵ使用率、メモリ使用率を取得し、これらの取得したデータを統計情報ＤＢ１６に保存する。起動時と同様に物理的信頼度統計部１４は、統計情報ＤＢ１６に格納されたデータに基づき、自ピアの物理的信頼度を更新する。端末の動作が終了する際、統計情報収集部１５は、ＯＳ３へのＡＰＩ部３１を経由して、終了時刻を取得し、統計情報ＤＢ１６に蓄積する。
【００４４】
次に、運用時においてＰ２Ｐネットワークトポロジにおける接続変更を行い、物理的信頼度を更新するステップについて、図８を用いて説明する。ここでは、図８(c)に示すように、切り替え元のピアに対してピアＡ，Ｂ，Ｃがそれぞれ直接接続し、ピアＡ〜Ｃは相互には直接接続はしていない状態から、ピアＡとピアＢが接続し、ピアＢと切り替え元のピアが接続し、ピアＣと切り替え元のピアが接続する状態に切り替わる場合を例に挙げる。Ｐ２Ｐネットワークトポロジの切り替えの契機としては、方路別メッセージ数が規定値を越えた場合（図８(a)）、あるいはメッセージキュー使用率が規定値を越えた場合（図８(b)）を考える。
【００４５】
統計情報監視部１３は、統計情報ＤＢ１６に格納されている方路別メッセージ数、メッセージキュー使用率の値が、予めポリシーＤＢ１２にそれぞれ設定されたしきい値を超えていないか確認する。
【００４６】
まず、方路別メッセージ数が規定値を超えた場合（ステップ１３１）、統計情報監視部１３は、接続制御部１９に対し、切り替え指示信号を送信する。切り替え指示信号は、図９に示すように、送信元のピアアドレスと、切り替え指示信号であることを示す信号種別と、接続しているピアごとのピアアドレス及び物理的信頼度と、からなっている。接続制御部１９は、接続元と接続先とを決定して（ステップ１３２）、物理的信頼度（統計値）の低いピア（接続換え元となるピア）に対して、切り替え指示信号を送信する（ステップ１３３）。ここでは、接続換え元となる端末がピアＡであるとする。
【００４７】
切り替え指示信号を受信した端末において、振り分け部１１０は、その接続制御部１９へ、受信した切り替え指示信号を送信する。接続制御部１９は、切り替え指示信号で指示された接続先ピアアドレスに対して、Ｐ２Ｐプラットフォーム４へのＡＰＩ部４１を経由して接続指示を行う（ステップ１３４）。同時に、切り替え元であるピアに対する接続を切断する（ステップ１３５）。
【００４８】
次に、メッセージキュー使用率が規定値を超えた場合の動作について説明する。メッセージキュー使用率が規定値を超えた場合（ステップ１４１）、統計情報監視部１３は、切り替え指示信号を接続制御部１９に送信する。この場合も、接続制御部１９は、物理的信頼度（統計値）の低いピアに対して、切り替え指示信号を送信する（ステップ１４２）。メッセージキュー使用率が規定値を超えた場合は、前述の方路別メッセージ数が規定値を越えた場合と異なって、接続対象が明確になっていない。そこで、メッセージキュー使用率が規定値を超えた場合には、今回接続しているすべてのピアに関する情報を切り替え指示信号に設定し送信する。
【００４９】
切り替え指示信号を受信した端末においては、その振り分け部１１０は接続制御部１９へ切り替え指示信号を送信する。接続制御部１９は、受信した切り替え指示信号に設定されている物理的信頼度について再計算を行い、受信情報に基づく信頼度更新を行う（ステップ１４３）。この再計算は、自端末における統計情報ＤＢ１６の格納値との平均をとり、近傍測定部１８による近傍測定を行い（ステップ１４４）、近傍測定結果に基づいて物理的信頼度の再計算をすることによって行われる（ステップ１４５）。その後、物理的信頼度が高いとされたピアを接続先として選択して（ステップ１４６）、その選択されたピアに対して、Ｐ２Ｐプラットフォーム４へのＡＰＩ部４１を用いて、接続指示を行う（ステップ１４７）。同時に、切り替え元であるピアに対する接続を切断する（ステップ１４８）。ステップ１４７において接続が失敗した場合には、統計情報ＤＢ１６の該当ピアアドレスの信頼度を予めポロシーＤＢ１２に設定された基準に基づいて減算し、接続が成功するまで繰り返す。切り替え元ピアから受信したピアアドレスの全てのピアについて接続に失敗し、最低接続数が規定値を下回っていた場合には、上述と同様に、起動時に実施した接続動作と同様の処理で接続を行う。
【００５０】
以上の処理により、Ｐ２Ｐネットワークにおける接続状態が変化した場合に、Ｐ２Ｐネットワークトポロジを自律的に再構成することが可能になる。
【００５１】
以上説明したＰ２Ｐネットワークを構成する各ピア（端末）は、それを実現するためのコンピュータプログラムを、パーソナルコンピュータ（ＰＣ）などのコンピュータに読み込ませ、そのプログラムを実行させることによっても実現できる。ピアを実現するためのプログラムは、ＣＤ−ＲＯＭなどの記録媒体によって、あるいはネットワークを介して、コンピュータに読み込まれる。そのようなコンピュータは、一般に、ＣＰＵと、プログラムやデータを格納するためのハードディスク装置と、主メモリと、キーボードやマウスなどの入力装置と、ＣＲＴあるいは液晶ディスプレイなどの表示装置と、ＣＤ−ＲＯＭ等の記録媒体を読み取る読み取り装置と、ネットワークに接続するための通信インタフェースと、から構成されている。このコンピュータでは、上述したオペレーティングシステム（ＯＳ）３の制御の下で各種のアプリケーション２が動作するようになっているとともに、ピアを実現するためのプログラム（接続状態管理装置１及びＰ２Ｐプラットフォーム４を実現するためのプログラム）を格納した記録媒体を読み取り装置に装着し、記録媒体からプログラムを読み出してハードディスク装置に格納し、あるいはそのようなプログラムをネットワークを経由してハードディスク装置に格納し、ハードディスク装置に格納されたプログラムをＣＰＵが実行することにより、上述したピアとして機能するととともに、上述した手順によってＰ２Ｐネットワークトポロジの再構成が実行される。
【図面の簡単な説明】
【００５２】
【図１】物理ネットワークとＰ２Ｐネットワークとの関係を示す図である。
【図２】本発明の実施の一形態のＰ２Ｐネットワークにおける各端末（ピア）のソフトウェアアーキテクチャと構成とを説明する図である。
【図３】接続状態管理装置の構成を示すブロック図である。
【図４】ポリシーＤＢ（データベース）の構成の一例を示す図である。
【図５】グループ参加シーケンスを示すシーケンス図である。
【図６】(a)は統計情報収集信号を説明する図であり、(b)は統計情報収集信号応答を説明する図である。
【図７】統計情報ＤＢ（データベース）の構成の一例を示す図である。
【図８】(a)は方路別メッセージ数が規定値を超えた場合の切り替えシーケンスを示すシーケンス図であり、(b)はメッセージキュー使用率が規定値を超えた場合の切り替えシーケンスを示すシーケンス図であり、(c)は切り替え例を示す図である。
【図９】切り替え指示信号を説明する図である。
【符号の説明】
【００５３】
１    接続状態管理装置
２    アプリケーション
３    ＯＳ（オペレーティングシステム）
４    Ｐ２Ｐプラットフォーム
１０，３１，４１    ＡＰＩ（アプリケーションプログラムインタフェース）部
１１    ポリシー設定部
１２    ポリシーＤＢ（データベース）
１３    統計情報監視部
１４    物理信頼度統計部
１５    統計情報収集部
１６    統計情報ＤＢ（データベース）
１７    統計情報送受信部
１８    近傍測定部
１９    接続制御部
１１０    振り分け部
【図１】
2005252596.tif 000003
【図２】
2005252596.tif 000004
【図３】
2005252596.tif 000005
【図４】
2005252596.tif 000006
【図５】
2005252596.tif 000007
【図６】
2005252596.tif 000008
【図７】
2005252596.tif 000009
【図８】
2005252596.tif 000010
【図９】
2005252596.tif 000011