(57)【要約】【課題】ネットワークやピアノードに大きな負荷をかけることなくピアノード間のネットワーク距離を精度良く計測する。【解決手段】各ピアノード１は、各参照サーバ３へ計測要求パケットを送信し、これに対して返信される計測応答パケットに基づいて自ノードと各参照サーバ３とのネットワーク距離指標値を計測し、これをネットワーク距離管理サーバ４へ通知する。ネットワーク距離管理サーバ４は、各ピアノード１から通知されたネットワーク距離指標値に基づいて各ピアノード間のネットワーク距離指標値を算出する。配信制御サーバ２は、要求ピア１ａからピアリスト要求を受信すると、ネットワーク距離管理サーバ４へ要求ピア１ａと各相手ピア候補とのネットワーク距離指標値を要求して取得し、ネットワーク距離が近い相手ピアほど優先順位が高く設定されたピアリストを作成する。【選択図】図１
2011198033.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上に分散配置された複数のピアノード間のネットワーク距離を算出するシステムにおいて、
各ピアノードから受信した計測要求パケットに対して計測応答パケットを返信する複数の参照サーバと、
各ピアノードと各参照サーバとのネットワーク距離の指標となるネットワーク距離指標値に基づいて各ピアノード間のネットワーク距離指標値を算出するネットワーク距離管理サーバとを具備し、
前記各ピアノードが、
複数の参照サーバへ計測要求メッセージを送信する手段と、
前記各参照サーバから返信される計測応答メッセージに基づいて各参照サーバとのネットワーク距離指標値を算出する手段と、
前記各参照サーバとのネットワーク距離指標値を前記ネットワーク距離管理サーバへ登録する手段とを具備したことを特徴とするピアノード間のネットワーク距離算出システム。
【請求項２】
前記ネットワーク距離指標値が、前記計測要求メッセージに対する前記計測応答メッセージの応答遅延時間であることを特徴とする請求項１に記載のネットワーク距離算出システム。
【請求項３】
ネットワーク上に分散配置された複数のピアノード間のネットワーク距離を算出する方法において、
各ピアノードが、複数の参照サーバへ計測要求メッセージを送信する手順と、
各ピアノードが、前記各参照サーバから返信される計測応答メッセージに基づいて各参照サーバとのネットワーク距離の指標となるネットワーク距離指標値を算出する手順と、
各ピアノードが、前記各参照サーバとのネットワーク距離指標値をネットワーク距離管理サーバへ登録する手順と、
前記ネットワーク距離管理サーバが、各ピアノードと各参照サーバとのネットワーク距離指標値に基づいて各ピアノード間のネットワーク距離指標値を算出する手順とを含むことを特徴とするピアノード間のネットワーク距離算出方法。
【請求項４】
ネットワーク上に分散配置されたピアノード同士がP2P通信によりコンテンツファイルを送受信するP2P配信システムにおいて、
各ピアノードから受信した計測要求パケットに対して計測応答パケットを返信する複数の参照サーバと、
各ピアノードと各参照サーバとのネットワーク距離の指標となるネットワーク距離指標値に基づいて各ピアノード間のネットワーク距離指標値を算出するネットワーク距離管理サーバと、
各ピアノードから受信したピアリスト要求に応答して、相手ピア候補の記述されたピアリストを返信するP2P配信制御サーバとを具備し、
前記各ピアノードが、
複数の参照サーバへ計測要求メッセージを送信する手段と、
前記各参照サーバから返信される計測応答メッセージに基づいて各参照サーバとのネットワーク距離指標値を算出する手段と、
前記各参照サーバとのネットワーク距離指標値を前記ネットワーク距離管理サーバへ通知する手段と、
前記配信制御サーバへピアリストを要求する手段とを具備し、
前記配信制御サーバが、
前記ピアリスト要求に応答して相手ピア候補を選択する手段と、
前記ピアリストを要求したピアおよび各相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバへ送信する手段とを具備し、
前記ネットワーク距離管理サーバが、
前記通知された各ピアノードと各参照サーバとのネットワーク距離指標値に基づいて、各ピアノード間のネットワーク距離指標値を算出する手段と、
前記ピア間距離要求に応答して、要求ピアと各相手ピア候補とのネットワーク距離指標値の記述されたピア間距離応答を返信する手段とを具備し、
前記配信制御サーバがさらに、
前記ネットワーク距離管理サーバからピア間距離応答を受信する手段と、
要求ピアとのネットワーク距離が近い相手ピア候補ほど優先度が高く設定されたピアリストを生成する手段と、
前記ピアリストの記述されたピアリスト応答を前記要求ピアへ返信する手段とを具備し、
前記各ピアノードがさらに、
前記配信制御サーバからピアリストを受信する手段と、
前記ピアリストに基づいて、相手ピア候補の中から優先度の高い相手ピアを選択してコネクションを確立する手段とを具備したことを特徴とするP2P配信システム。
【請求項５】
ネットワーク上に分散配置されたピアノード同士がP2P通信によりコンテンツファイルを送受信するP2P配信システムにおいて、
各ピアノードから受信した計測要求パケットに対して計測応答パケットを返信する複数の参照サーバと、
各ピアノードと各参照サーバとのネットワーク距離の指標となるネットワーク距離指標値に基づいて各ピアノード間のネットワーク距離指標値を算出するネットワーク距離管理サーバとを具備し、
前記各ピアノードが、
複数の参照サーバへ計測要求メッセージを送信する手段と、
前記各参照サーバから返信される計測応答メッセージに基づいて各参照サーバとのネットワーク距離指標値を算出する手段と、
前記各参照サーバとのネットワーク距離指標値を前記ネットワーク距離管理サーバへ通知する手段と、
コンテンツピースを所持している相手ピア候補のアドレス情報を取得する手段と、
自ノードおよび各相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバへ送信する手段とを具備し、
前記ネットワーク距離管理サーバが、
前記通知された各ピアノードと各参照サーバとのネットワーク距離指標値に基づいて、各ピアノード間のネットワーク距離指標値を算出する手段と、
前記ピア間距離要求に応答して、その要求ピアと各相手ピア候補とのネットワーク距離指標値の記述されたピア間距離応答を返信する手段とを具備し、
前記各ピアノードがさらに、
前記ネットワーク距離管理サーバから、自ノードと各相手ピア候補とのネットワーク距離指標値が記述されたピア間距離応答を受信する手段と、
前記ピア間距離応答に基づいて、相手ピア候補の中から自ノードとのネットワーク距離がより近い相手ピア候補を優先的に選択してコネクションを確立する手段とを具備したことを特徴とするP2P配信システム。
【請求項６】
各ピアノードから受信したピアリスト要求に応答して、相手ピア候補の記述されたピアリストを返信する配信制御サーバをさらに具備し、
前記各ピアノードがさらに、
前記配信制御サーバへピアリストを要求する手段を具備し、
前記配信制御サーバが、
前記ピアリスト要求に応答して相手ピア候補を選択する手段と、
前記ピアリストを要求したピアおよび各相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバへ送信する手段と、
前記ネットワーク距離管理サーバから、要求ピアと各相手ピア候補とのネットワーク距離指標値が記述されたピア間距離応答を受信する手段と、
前記要求ピアとのネットワーク距離が近い相手ピア候補ほど優先度が高く設定されたピアリストを生成する手段と、
前記ピアリストの記述されたピアリスト応答を前記要求ピアへ返信する手段とを具備し、
前記各ピアノードがさらに、
前記配信制御サーバからピアリストを受信する手段と、
前記受信したピアリストに基づいて相手ピア候補の中から優先度の高い相手ピアを選択してコネクションを確立することを特徴とする請求項５に記載のP2P配信システム。
【請求項７】
前記各ピアノードにおいて、前記相手ピア候補のアドレス情報を取得する手段が、DHT（分散ハッシュテーブル）を参照して相手ピア候補のアドレス情報を取得することを特徴とする請求項５または６に記載のP2P配信システム。
【請求項８】
前記各ピアノードにおいて、前記相手ピア候補のアドレス情報を取得する手段が、コネクションを確立した相手ピアと交換したノード情報から相手ピア候補のアドレス情報を取得することを特徴とする請求項５または６に記載のP2P配信システム。
【請求項９】
前記各ピアノードが、
前記参照サーバへの計測要求メッセージの送信に先立って、前記ネットワーク距離管理サーバへ自ノードのアドレス情報が記述された距離計測要否判定要求を送信する手段と、
前記距離計測要否判定要求に対して返信される距離計測要否判定応答を受信する手段とを具備し、
前記ネットワーク距離管理サーバは、
前記距離計測要否判定要求に記述されているピアノードのアドレスとプレフィックスが同一の他のピアノードに関して、既に各参照サーバとの間のネットワーク距離が既登録であるか否かを判定する手段と、
既登録であれば距離計測が不要である旨の判定結果の記述された距離計測要否判定応答を返信する手段とを具備し、
前記各ピアノードは、前記距離計測要否判定応答において、各参照サーバとのネットワーク距離指標値の計測が不要と判定されていると前記計測要求メッセージを送信せず、
前記ネットワーク距離管理サーバは、プレフィックスが同一のピアノードはネットワーク上の位置が同一としてピアノード間のネットワーク距離指標値を算出することを特徴とする請求項４ないし８のいずれかに記載のP2P配信システム。
【請求項１０】
前記ネットワーク距離指標値が、前記計測要求メッセージに対する前記計測応答メッセージの応答遅延時間であることを特徴とする請求項４ないし９のいずれかに記載のネットワーク距離算出システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上に分散配置されたピアノード間のネットワーク距離を算出し、P2P配信の相手ピアをピアノード間のネットワーク距離に基づいて選択するP2P配信システムならびにそのピアノード間のネットワーク距離算出方法およびシステムに関する。
【背景技術】
【０００２】
P2Pネットワークにおいて、コンテンツファイルの配信サービスなどを受けたいピアノード（要求ピア）は、コンテンツのピースを所持している相手ピア候補を、例えば配信制御サーバから取得したピアリストや他のピアノードから取得したノード情報等に基づいて把握し、その中から最適な相手ピアを選択してP2P通信を行う。
【０００３】
特許文献１には、複数の相手ピア候補の中から最適な相手ピアを選択するために、要求ピアがピアノード間の物理ネットワーク距離情報、処理能力、回線帯域情報等の中から１つもしくは複数の組み合わせに基づいて相手ピア候補に優先順位を設定し、優先順位の高い相手ピア候補を相手ピアとして選択する技術が開示されている。このとき、ピアノード間の物理ネットワーク距離は、要求ピアが計測用のパケットをブロードキャストで送信することにより、ホップ数または応答遅延として評価される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２５８７４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術には以下のような課題があった。
【０００６】
(1)ピアノード間の距離を測定するために、要求ピアから計測用のパケットがブロードキャストで送信されるので、計測用パケットのトラヒックによりネットワークに負荷がかかる。
【０００７】
(2)各ピアノードに対して計測用パケットが送信されるため、配信処理中のピアノードでは計測用パケットの処理に要する負荷によりコンテンツ配信処理に支障を来す場合がある。
【０００８】
(3)計測用パケットをブロードキャストで送信する計測方法では、計測結果が１対１間の応答時間のみで求まるので、計測結果がネットワーク状況の影響を受け易くなり、十分な精度を得られない場合がある。
【０００９】
本発明の目的は、上記した従来技術の課題を解決し、ネットワークやピアノードに大きな負荷をかけることなくピアノード間のネットワーク距離を精度良く計測できるP2P配信システムならびにそのピアノード間のネットワーク距離算出方法およびシステムを提供することにある。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために、本発明は、以下のような構成を具備した点に特徴がある。
【００１１】
(1)本発明のネットワーク距離算出システムは、各ピアノードから受信した計測要求パケットに対して計測応答パケットを返信する複数の参照サーバと、各ピアノードと各参照サーバとのネットワーク距離の指標となるネットワーク距離指標値として、例えば計測要求メッセージに対する前記計測応答メッセージの応答遅延時間、に基づいて各ピアノード間のネットワーク距離指標値を算出するネットワーク距離管理サーバとを具備し、各ピアノードが、複数の参照サーバへ計測要求メッセージを送信する手段と、計測要求メッセージに対して返信される計測応答メッセージに基づいて各参照サーバとのネットワーク距離指標値を計測する手段と、各参照サーバとのネットワーク距離指標値を前記ネットワーク距離管理サーバへ通知する手段とを具備した。
【００１２】
(2)本発明のP2P配信システムは、各ピアノードから受信した計測要求パケットに対して計測応答パケットを返信する複数の参照サーバと、各ピアノードと各参照サーバとのネットワーク距離の指標となるネットワーク距離指標値に基づいて各ピアノード間のネットワーク距離指標値を算出するネットワーク距離管理サーバとを具備し、各ピアノードが、複数の参照サーバへ計測要求メッセージを送信する手段と、計測要求メッセージに対して返信される計測応答メッセージに基づいて各参照サーバとのネットワーク距離指標値を計測する手段と、各参照サーバとのネットワーク距離指標値を前記ネットワーク距離管理サーバへ通知する手段と、所望のコンテンツピースを所持している相手ピア候補のアドレス情報を取得する手段と、自ノードおよび各相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバへ送信する手段とを具備した。
【００１３】
また、ネットワーク距離管理サーバが、通知された各ピアノードと各参照サーバとのネットワーク距離指標値に基づいて、各ピアノード間のネットワーク距離指標値を算出する手段と、ピア間距離要求に応答して、その要求ピアと各相手ピア候補とのネットワーク距離指標値の記述されたピア間距離応答を返信する手段とを具備した。
【００１４】
さらに、前記各ピアノードが、ネットワーク距離管理サーバから、自ノードと各相手ピア候補とのネットワーク距離指標値が記述されたピア間距離応答を受信する手段と、ピア間距離応答に基づいて、自ノードとのネットワーク距離が近い相手ピア候補ほど優先度を高く設定する手段と、優先度に基づいて、相手ピア候補の中から相手ピアを選択してコネクションを確立する手段とを具備した。
【発明の効果】
【００１５】
本発明によれば、以下のような効果が達成される。
【００１６】
(1)距離計測用のパケットが要求ピアから参照サーバへ送信されるので、各ピアノードは距離計測用パケットを処理する負荷から解放される。
【００１７】
(2)距離計測用のパケットが、要求ピアからブロードキャストではなく各参照サーバを宛先として限定的に送信されるので、計測用パケットのトラヒックによりネットワークに過大な負荷が加わることが無い。
【００１８】
(3)ピアノード間のネットワーク距離が、当該ピアノード間で送受信される計測用パケットの応答遅延ではなく、各ピアノードと各参照サーバとの複数の応答遅延に基づいて算出されるので、ネットワーク状況の影響を受けにくく精度の高い計測結果を得られるようになる。
【００１９】
(4)プレフィックスが同一のピアノードがネットワーク距離管理サーバに既登録である他のピアノードは、自ノードと各参照サーバとの距離計測を免除されるので、計測要求パケットおよびその応答パケットのトラフィックを削減できるようになる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１実施形態に係るP2P配信システムのブロック図である。
【図２】第１実施形態におけるピアノードの動作を示したフローチャートである。
【図３】第１実施形態におけるネットワーク距離管理サーバの動作を示したフローチャートである。
【図４】第１実施形態における配信制御サーバの動作を示したフローチャートである。
【図５】第１実施形態のシーケンスフローである。
【図６】応答時間管理テーブルの一例を示した図である。
【図７】遅延時間の計算方法を示した図である。
【図８】ネットワーク距離管理テーブルの一例を示した図である。
【図９】第１実施形態の機能ブロック図である。
【図１０】本発明の第２実施形態に係るP2P配信システムのブロック図である。
【図１１】第２実施形態のシーケンスフローである。
【図１２】第２実施形態の機能ブロック図である。
【図１３】本発明の第３実施形態のシーケンスフローである。
【図１４】第３実施形態の機能ブロック図である。
【図１５】第４実施形態の動作を示したフローチャートである。
【図１６】プレフィックス分類テーブルの一例を示した図である。
【発明を実施するための形態】
【００２１】
[実施形態１]
図１は、本発明の第１実施形態に係るP2P配信システムのネットワーク構成を示したブロック図であり、コンテンツ（ファイル）をピース単位で送受信する複数のピアノード１（要求ピア１ａおよび相手ピア１ｂ，１ｃ）と、各コンテンツのピースを所持するピアノード（相手ピア候補）を把握してピアリストを作成するP2Pの配信制御サーバ２と、各ピアノード１からネットワーク距離に関する計測要求パケットを受信して計測応答パケットを返信する参照サーバ３（３ａ，３ｂ，３ｃ）と、各ピアノード１から通知される当該ピアノード１と各参照サーバ３とのネットワーク距離（または、当該ネットワーク距離の指標となる情報あるいは当該ネットワーク距離を代表できる情報：以下、ネットワーク距離指標値で総称する）に基づいて各ピアノード間のネットワーク距離指標値を算出するネットワーク距離管理サーバ４とを含む。
【００２２】
このようなネットワーク構成において、各ピアノード１は各参照サーバ３へ計測要求パケットを送信し、各参照サーバ３から返信される計測応答パケットに基づいて自ノードと各参照サーバ３とのネットワーク距離指標値を算出すると共に、この算出結果を前記ネットワーク距離管理サーバ４へ通知する。ここでは、各ピアノード１において計測要求パケットを送信してから計測応答パケットが返信されるまでの応答遅延時間がネットワーク距離指標値とされるものとして説明を続ける。ネットワーク距離管理サーバ４は、各ピアノード１から通知された各参照サーバ３とのネットワーク距離指標値に基づいて各ピアノード間のネットワーク距離指標値を算出する。
【００２３】
配信制御サーバ２は、要求ピア１ａからピアリスト要求を受信すると、配信要求されたコンテンツのピースを所持している相手ピア候補を、例えば自身のデータベースを参照して選択し、要求ピア１ａおよび各相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバ４へ送信する。前記ネットワーク距離管理サーバ４は、このピア間距離要求に対して、要求ピア１ａと各相手ピア候補とのネットワーク距離指標値が記述されたピア間距離応答を返信する。
【００２４】
配信制御サーバ２はさらに、前記返信されたピア間距離応答に基づいて、ネットワーク距離が近い相手ピア候補ほど優先順位が高く設定されたピアリストを作成して要求ピア１ａへ通知する。要求ピア１ａは、優先順位の高い相手ピア候補から優先的にコネクションを確立してコンテンツピースを取得する。
【００２５】
次いで、本実施形態の動作について説明する。図２，３，４は、それぞれピアノード１，ネットワーク距離管理サーバ４および配信制御サーバ２の動作を示したフローチャートであり、図５は、そのシーケンスフローである。
【００２６】
図２を参照し、各ピアノード１は、例えばP2Pネットワークへの参加時などの適宜のタイミングで自ノードと各参照サーバ３とのネットワーク距離指標値を算出する。本実施形態では、ステップＳ１において各参照サーバ３へ固定長の計測要求パケットとして、例えばICMP Echoパケットなどが送信される。ステップＳ２において、各参照サーバ３から計測応答パケットとして、例えばICMP Replyパケットなどが受信されると、ステップＳ３では、対応するパケットの応答遅延時間が算出され、これが自ノードと各参照サーバ３との間のネットワーク距離指標値とされる。なお、計測要求パケットおよび計測応答パケットの送受信は１回に限定されるものではなく、複数回を繰り返して各応答遅延時間の平均値をネットワーク距離指標値とするようにしても良い。
【００２７】
ステップＳ４では、前記ネットワーク距離指標値がネットワーク距離管理サーバ４へ通知される。なお、同様の手順は要求ピア１ａおよび相手ピア１ｂ，１ｃの区別無しに全てのピアノード１において非同期に実施され、当該他のピアノードからも各参照サーバ３との間のネットワーク距離指標値がネットワーク距離管理サーバ４へ通知される。
【００２８】
図３を参照し、前記ネットワーク距離管理サーバ４は、ステップＳ１１で各ピアノード１から各参照サーバ３との間のネットワーク距離指標値を受信すると、ステップＳ１２では、受信された指標値が応答時間管理テーブル４１に記録される。図６は、応答時間管理テーブル４１の一例を示した図であり、ピアノード１ｘ（１ａ，１ｂ…）ごとに各参照サーバ＃ｙ（＃１，＃２…＃ｎ）とのネットワーク距離指標値（ここでは、応答遅延時間txy）が記録されている。ステップＳ１３では、前記応答時間管理テーブル４１に基づいて、ピアノードペアごとに、図７に一例を示したような遅延時間計算方法によりピアノード間のネットワーク距離指標値dが算出される。
【００２９】
本実施形態では、距離算出対象のピアノードペア１ａ、１ｂと各参照サーバ＃１，＃２…＃ｎとのネットワーク距離指標値（応答遅延時間）を、それぞれta1，ta2…tanおよびtb1，tb2…tbnとし、各ピアノード１ａ、１ｂと各参照サーバ＃１，＃２…＃ｎとの遅延時間差をそれぞれD1，D2…Dnとしたとき、ピアノード１ａ、１ｂ間のネットワーク距離指標値dabが次式(1)で算出される。
【００３０】
【数１】
2011198033.tif 000003
【００３１】
ステップＳ１４では、全てのピアノードペアのネットワーク距離指標値dに基づいて、図８に一例を示したような、全てのピアノード間のネットワーク距離指標値を管理するネットワーク距離管理テーブル４２が生成される。ステップＳ１５〜Ｓ１７については後述する。
【００３２】
図４を参照し、配信制御サーバ２では、コンテンツ配信を要求する要求ピア１ａから送信されたピアリスト要求がステップＳ３１で受信される。このピアリスト要求には、要求ピア１ａが配信要求するコンテンツの識別情報や要求ピア１ａの属性情報が記述されている。ステップＳ３２では，前記ピアリスト要求に記述されていた配信要求コンテンツの識別情報に基づいて、そのピースを所持しているピアノードが相手ピア候補として選択される。ステップＳ３３では、要求ピア１ａのIPアドレスおよび前記各相手ピア候補のIPアドレスの記述されたピア間距離要求が前記ネットワーク距離管理サーバ４へ送信される。
【００３３】
図３へ戻り、ネットワーク距離管理サーバ４では、ステップＳ１５で前記ピア間距離要求が受信されるとステップＳ１６へ進む。ステップＳ１６では、要求ピア１ａのIPアドレスおよび各相手ピア候補のIPアドレスに基づいて前記ネットワーク距離管理テーブル４２が参照され、要求ピア１ａと各相手ピア候補とのネットワーク距離指標値dが抽出される。ステップＳ１７では、前記抽出されたネットワーク距離指標値dの記述されたピア間距離応答が配信制御サーバ２へ返信される。
【００３４】
図４へ戻り、配信制御サーバ２では、ステップＳ３４において前記ピア間距離応答が受信されるとステップＳ３５へ進み、要求ピア１ａと前記各相手ピア候補とのネットワーク距離指標値に基づいて、要求ピア１ａとのネットワーク距離が近い相手ピア候補ほど優先度が上位に設定されたピアリストが作成される。ステップＳ３６では、前記ピアリストが要求ピア１ａへ通知される。
【００３５】
図９は、本実施形態の機能ブロック図であり、ここでは、本実施形態の説明に不要な構成は図示が省略されている。
【００３６】
ピアノード１は、各参照サーバ３へ計測要求パケットを送信し、これに対して返信される計測応答パケットに基づいて自ノードと各参照サーバ３とのネットワーク距離指標値を計測する距離計測部１１と、前記ネットワーク距離指標値の計測結果をネットワーク距離管理サーバ４へ通知する距離通知部１２と、コンテンツ配信の要求ピア１ａとして配信制御サーバ２へピアリスト要求を送信するピアリスト要求部１３とを含む。
【００３７】
ネットワーク距離管理サーバ４は、各ピアノード１から通知されるピアノード／参照サーバ間距離の指標値を受信して前記応答時間管理テーブル４１に登録する計測結果管理部４３と、前記応答時間管理テーブル４１に基づいて各ピアノードペア間のネットワーク距離指標値を算出して前記ネットワーク距離管理テーブル４２に登録する距離算出部４４と、配信制御サーバ２から受信したピア間距離要求に応答して前記ネットワーク距離管理テーブル４２を参照し、要求ピアと各相手ピア候補とのネットワーク距離指標値を提供する距離応答部４５とを含む。
【００３８】
配信制御サーバ２は、要求ピア１ａから受信したピアリスト要求に応答して相手ピア候補を選択し、要求ピア１ａのアドレス情報および少なくとも一つの相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバ４へ送信する距離要求部２１と、前記ネットワーク距離管理サーバ４から要求ピア１ａと各相手ピア候補とのネットワーク距離指標値が記述されたピア間距離応答を受信する距離取得部２２と、要求ピア１ａとのネットワーク距離が近い相手ピア候補ほど優先度が高く設定されたピアリストを生成するピアリスト生成部２３と、このピアリストを含むピアリスト応答を要求ピア１ａへ返信するピアリスト提供部２４とを含む。
【００３９】
本実施形態によれば、計測要求パケットが要求ピア１ａから参照サーバ３へ送信されるので、各ピアノード１は計測要求パケットを処理する負荷から解放される。しかも、計測要求パケットは、要求ピア１ａからブロードキャストではなく各参照サーバ３を宛先として限定的に送信されるので、計測要求パケットおよびその応答パケットのトラヒックによりP2Pネットワークに過大な負荷が加わることが無い。さらに、ピアノード間のネットワーク距離が、当該ピアノード間で送受信される計測用パケットの応答遅延ではなく、各ピアノード１と各参照サーバ３との複数の応答遅延に基づいて算出されるので、ネットワーク状況の影響を受けにくく精度の高い計測結果を得られるようになる。
【００４０】
[実施形態２]
図１０は、本発明の第２実施形態に係るP2Pネットワークの構成を示したブロック図であり、前記と同一の符号は同一または同等の構成を示している。図１１は、本実施形態の動作を示したシーケンスフローである。
【００４１】
上記の第１実施形態では、要求ピア１ａが配信制御サーバ２へピアリストを要求し、配信制御サーバ２がネットワーク距離管理サーバ４へ要求ピア１ａと各相手ピア候補との距離を問い合わせるものとして説明したが、本実施形態では、要求ピア１ａが配信制御サーバ以外から相手ピア候補の情報を取得し、自らネットワーク距離管理サーバ４へ各相手ピア候補との距離を問い合わせるようにした点に特徴がある。
【００４２】
P2Pネットワークに参加するピアノード同士は、初めにDHT(分散ハッシュテーブル)を参照するなどの適宜の方法によりノード情報を収集する。もしくは、コネクション要求に応答してコネクションを確立した相手ピアからノード情報を収集する。さらに、各ピアノードは相手ノードとの間にコネクションが確立されると，自ノードが所持しているコンテンツピースのリストを相互に交換し、さらにはピースを取得するたびにコネクションを確立したピアに所持しているノード情報を通知することを繰り返すので、ピースの収集が進行するにつれて、他のピアノードが所持しているピースの情報が多数蓄積されることになる。その結果、要求ピア１ａは自ノードのノード情報を参照することにより、所望のコンテンツピースを所持している相手ピア候補を識別できるようになる。
【００４３】
そこで、本実施形態では要求ピア１ａがピースごとに相手ピア候補を識別できると、図１１に示したように、自ノード１ａおよび各相手ピア候補のIPアドレスが記述されたピア間距離要求をネットワーク距離管理サーバ４へ直接送信（ステップＳ４１）する。要求ピア１ａはさらに、各相手ピア候補と自ノードとのネットワーク距離指標値の記述されたピア間距離応答をネットワーク距離管理サーバ４から受信（ステップＳ４２）すると、ピースごとに自ノードとのネットワーク距離が短い相手ピアを選択して当該相手ピアから優先的にピースを取得する。
【００４４】
図１２は、本実施形態の機能ブロック図であり、本実施形態の説明に不要な構成は図示および説明が省略されている。
【００４５】
ピアノード１は、各参照サーバ３へ計測要求パケットを送信し、その計測応答パケットに基づいて自ノードと各参照サーバ３とのネットワーク距離指標値を計測する距離計測部１１と、前記ネットワーク距離指標値の計測結果をネットワーク距離管理サーバ４へ通知する計測結果通知部１２と、ＤＨＴや相手ピアからノード情報を取得するノード情報取得部１４と、ノード情報に基づいて相手ピア候補を把握し、自ノードおよび相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバ４へ送信する距離要求部１５と、ネットワーク距離管理サーバ４から自ノードと相手ピア候補とのネットワーク距離指標値が記述されたピア間距離応答を受信し、自ノードとのネットワーク距離が近いピアノードを優先的に相手ピアとする相手ピア選択部１６とを含む。
【００４６】
ネットワーク距離管理サーバ４は、各ピアノード１から通知されるピアノード／参照サーバ間のネットワーク距離指標値を受信して前記応答時間管理テーブル４１に登録する計測結果管理部４３と、前記応答時間管理テーブル４１に基づいて各ピアノードペア間のネットワーク距離指標値を算出して前記ネットワーク距離管理テーブル４２に登録する距離算出部４４と、要求ピア１ａから受信したピア間距離要求に応答して前記ネットワーク距離管理テーブル４２を参照し、要求ピアと相手ピア候補とのネットワーク距離指標値を提供する距離応答部４６とを含む。
【００４７】
本実施形態によれば、要求ピアがピアリストを配信制御サーバ２からではなくDHTや相手ピアから取得する場合でも、ネットワーク距離のより短い相手ピアを選択できるようになる。
【００４８】
[実施形態３]
上記の第１および第２実施形態では、要求ピア１ａまたは配信制御サーバ２がネットワーク距離管理サーバ４から要求ピア１ａと各相手ピア候補とのネットワーク距離指標値を取得するものとして説明したが、本発明はこれのみに限定されるものではなく、要求ピア１ａおよび配信制御サーバ２のいずれもがネットワーク距離管理サーバ４からネットワーク距離指標値を取得するようにしても良い。
【００４９】
図１３は、本実施形態の動作を示したシーケンスフローであり、ここでは、各要求ピアが初めに配信制御サーバ２へピアリスト要求（Ｓ３１）を送信して優先順位の付されたピアリストを取得（Ｓ３６）し、相手ピアとの間にコネクションを確立してピースを取得する。その後は、コネクションを確立した相手ピースとピアノード情報を交換して相手ピア候補を識別し、各要求ピア１ａがネットワーク距離管理サーバ４へ直に各相手ピア候補に関するピア間距離要求を送信（Ｓ４１）してピア間距離の指標値を取得（Ｓ４２）し、ネットワーク距離の近い相手ピアと優先的にコネクションを確立してピースを取得する。
【００５０】
図１４は、本実施形態の機能ブロック図であり、ここでは、本実施形態の説明に不要な構成は図示が省略されている。
【００５１】
ピアノード１は、各参照サーバ３へ計測要求パケットを送信し、これに対して返信される計測応答パケットに基づいて自ノードと各参照サーバ３とのネットワーク距離指標値を計測する距離計測部１１と、前記ネットワーク距離指標値の計測結果をネットワーク距離管理サーバ４へ通知する距離通知部１２と、コンテンツ配信の要求ピア１ａとして配信制御サーバ２へピアリスト要求を送信するピアリスト要求部１３とを含む。
【００５２】
ネットワーク距離管理サーバ４は、各ピアノード１から通知されるピアノード／参照サーバ間距離の指標値を受信して前記応答時間管理テーブル４１に登録する計測結果管理部４３と、前記応答時間管理テーブル４１に基づいて各ピアノードペア間のネットワーク距離指標値を算出して前記ネットワーク距離管理テーブル４２に登録する距離算出部４４と、ピア間距離要求に応答して前記ネットワーク距離管理テーブル４２を参照し、要求ピアと各相手ピア候補とのネットワーク距離指標値を提供する距離応答部４５とを含む。
【００５３】
配信制御サーバ２は、要求ピア１ａから受信したピアリスト要求に応答して相手ピア候補を選択し、要求ピア１ａのアドレス情報および少なくとも一つの相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバ４へ送信する距離要求部２１と、前記ネットワーク距離管理サーバ４から要求ピア１ａと各相手ピア候補とのネットワーク距離指標値が記述されたピア間距離応答を受信する距離取得部２２と、要求ピア１ａとのネットワーク距離が近い相手ピア候補ほど優先度が高く設定されたピアリストを生成するピアリスト生成部２３と、このピアリストを含むピアリスト応答を要求ピア１ａへ返信するピアリスト提供部２４とを含む。
【００５４】
前記ピアノード１はさらに、ＤＨＴやコネクションを確立した相手ピアからノード情報を取得するノード情報取得部１４と、取得したノード情報に基づいて相手ピア候補を識別し、自ノードおよび相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバ４へ送信する距離要求部１５と、ネットワーク距離管理サーバ４から自ノードと相手ピア候補とのネットワーク距離指標値が記述されたピア間距離応答を受信し、自ノードとのネットワーク距離が近いピアノードを優先的に相手ピアとする相手ピア選択部１６とを含む。
【００５５】
前記ネットワーク距離管理サーバ４はさらに、要求ピア１ａから受信したピア間距離要求に応答して前記ネットワーク距離管理テーブル４２を参照し、要求ピアと相手ピア候補とのネットワーク距離指標値を提供する距離応答部４６を含む。
【００５６】
[実施形態４]
上記の各実施形態では、P2Pネットワークに新たに参加するピアノードは、その全てが参照サーバ３とのネットワーク距離指標値を計測してネットワーク距離管理サーバ４へ通知するものとして説明したが、第４実施形態では、ピアノード１ごとにネットワーク距離計測の要否を判断し、距離計測が不要と判断されたピアノードは距離計測を免除されるようにしている。
【００５７】
図１５は、本実施形態の動作を示したフローチャートであり、前記ピアノード１およびネットワーク距離管理サーバ４の動作を示している。
【００５８】
各ピアノード１は、各参照サーバ３とのネットワーク距離指標値を計測する以前の適宜のタイミングで、ステップＳ５１において、ネットワーク距離管理サーバ４へ自ノードのIPアドレスが記述された距離計測要否判定要求を送信する。
【００５９】
ネットワーク距離管理サーバ４は、ステップＳ６１で当該判定要求を受信すると、ステップＳ６２では、ピアノード１のIPアドレスに基づいて、そのプレフィックスが識別される。ネットワーク距離管理サーバ４は、図１６に一例を示したように、既登録の各ピアノードを、そのプレフィックスで分類するプレフィックス分類テーブルを具備し、ステップＳ６３では、前記識別されたプレフィックスと同一プレフィックスのピアノード１が前記プレフィックス分類テーブルに既登録であるか否かが判定される。未登録であれば、ステップＳ６４へ進んで計測要判定がなされる。既登録であれば、ステップＳ６５へ進んで計測不要判定がなされる。ステップＳ６６では、前記判定結果の記述された距離計測要否判定応答が各ピアノード１へ返信される。
【００６０】
各ピアノード１は、ステップＳ５２で前記距離計測要否判定応答を受信するとステップＳ５３へ進み、当該判定応答に記述されている判定結果が参照される。計測要判定であればステップＳ５４へ進み、前記図２に関して説明したネットワーク距離指標値の計測およびその通知処理（ステップＳ１〜Ｓ４）が同様に実行される。これに対して、計測不要判定であれば、前記距離指標値の計測およびその通知処理を実施することなく終了する。
【００６１】
前記ネットワーク距離管理サーバ４は、その後、配信制御サーバ２（第１，３実施形態）または要求ピア１ａ（第２，３実施形態）から要求ピアや相手ピアのIPアドレスの記述されたピア間距離要求を受信すると、各ピアノードの位置をプレフィックスが同一の他のピアノードの位置と同一であると見なしてピア間のネットワーク距離指標値を算出する。
【００６２】
本実施形態によれば、プレフィックスが同一のピアノードがネットワーク距離管理サーバ４に既登録である他のピアノードは、自ノードと各参照サーバ３との距離計測を免除されるので、計測要求パケットおよびその応答パケットのトラフィックを削減できるようになる。
【符号の説明】
【００６３】
１…ピアノード
２…配信制御サーバ配信制御サーバ
３…参照サーバ
４…ネットワーク距離管理サーバ
【図１】
2011198033.tif 000004
【図２】
2011198033.tif 000005
【図３】
2011198033.tif 000006
【図４】
2011198033.tif 000007
【図５】
2011198033.tif 000008
【図６】
2011198033.tif 000009
【図７】
2011198033.tif 000010
【図８】
2011198033.tif 000011
【図９】
2011198033.tif 000012
【図１０】
2011198033.tif 000013
【図１１】
2011198033.tif 000014
【図１２】
2011198033.tif 000015
【図１３】
2011198033.tif 000016
【図１４】
2011198033.tif 000017
【図１５】
2011198033.tif 000018
【図１６】
2011198033.tif 000019