P2P配信システムならびにそのピアノード間のネットワーク距離算出方法およびシステム
【課題】ネットワークやピアノードに大きな負荷をかけることなくピアノード間のネットワーク距離を精度良く計測する。
【解決手段】各ピアノード1は、各参照サーバ3へ計測要求パケットを送信し、これに対して返信される計測応答パケットに基づいて自ノードと各参照サーバ3とのネットワーク距離指標値を計測し、これをネットワーク距離管理サーバ4へ通知する。ネットワーク距離管理サーバ4は、各ピアノード1から通知されたネットワーク距離指標値に基づいて各ピアノード間のネットワーク距離指標値を算出する。配信制御サーバ2は、要求ピア1aからピアリスト要求を受信すると、ネットワーク距離管理サーバ4へ要求ピア1aと各相手ピア候補とのネットワーク距離指標値を要求して取得し、ネットワーク距離が近い相手ピアほど優先順位が高く設定されたピアリストを作成する。
【解決手段】各ピアノード1は、各参照サーバ3へ計測要求パケットを送信し、これに対して返信される計測応答パケットに基づいて自ノードと各参照サーバ3とのネットワーク距離指標値を計測し、これをネットワーク距離管理サーバ4へ通知する。ネットワーク距離管理サーバ4は、各ピアノード1から通知されたネットワーク距離指標値に基づいて各ピアノード間のネットワーク距離指標値を算出する。配信制御サーバ2は、要求ピア1aからピアリスト要求を受信すると、ネットワーク距離管理サーバ4へ要求ピア1aと各相手ピア候補とのネットワーク距離指標値を要求して取得し、ネットワーク距離が近い相手ピアほど優先順位が高く設定されたピアリストを作成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク上に分散配置されたピアノード間のネットワーク距離を算出し、P2P配信の相手ピアをピアノード間のネットワーク距離に基づいて選択するP2P配信システムならびにそのピアノード間のネットワーク距離算出方法およびシステムに関する。
【背景技術】
【0002】
P2Pネットワークにおいて、コンテンツファイルの配信サービスなどを受けたいピアノード(要求ピア)は、コンテンツのピースを所持している相手ピア候補を、例えば配信制御サーバから取得したピアリストや他のピアノードから取得したノード情報等に基づいて把握し、その中から最適な相手ピアを選択してP2P通信を行う。
【0003】
特許文献1には、複数の相手ピア候補の中から最適な相手ピアを選択するために、要求ピアがピアノード間の物理ネットワーク距離情報、処理能力、回線帯域情報等の中から1つもしくは複数の組み合わせに基づいて相手ピア候補に優先順位を設定し、優先順位の高い相手ピア候補を相手ピアとして選択する技術が開示されている。このとき、ピアノード間の物理ネットワーク距離は、要求ピアが計測用のパケットをブロードキャストで送信することにより、ホップ数または応答遅延として評価される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−258747号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来技術には以下のような課題があった。
【0006】
(1)ピアノード間の距離を測定するために、要求ピアから計測用のパケットがブロードキャストで送信されるので、計測用パケットのトラヒックによりネットワークに負荷がかかる。
【0007】
(2)各ピアノードに対して計測用パケットが送信されるため、配信処理中のピアノードでは計測用パケットの処理に要する負荷によりコンテンツ配信処理に支障を来す場合がある。
【0008】
(3)計測用パケットをブロードキャストで送信する計測方法では、計測結果が1対1間の応答時間のみで求まるので、計測結果がネットワーク状況の影響を受け易くなり、十分な精度を得られない場合がある。
【0009】
本発明の目的は、上記した従来技術の課題を解決し、ネットワークやピアノードに大きな負荷をかけることなくピアノード間のネットワーク距離を精度良く計測できるP2P配信システムならびにそのピアノード間のネットワーク距離算出方法およびシステムを提供することにある。
【課題を解決するための手段】
【0010】
上記の目的を達成するために、本発明は、以下のような構成を具備した点に特徴がある。
【0011】
(1)本発明のネットワーク距離算出システムは、各ピアノードから受信した計測要求パケットに対して計測応答パケットを返信する複数の参照サーバと、各ピアノードと各参照サーバとのネットワーク距離の指標となるネットワーク距離指標値として、例えば計測要求メッセージに対する前記計測応答メッセージの応答遅延時間、に基づいて各ピアノード間のネットワーク距離指標値を算出するネットワーク距離管理サーバとを具備し、各ピアノードが、複数の参照サーバへ計測要求メッセージを送信する手段と、計測要求メッセージに対して返信される計測応答メッセージに基づいて各参照サーバとのネットワーク距離指標値を計測する手段と、各参照サーバとのネットワーク距離指標値を前記ネットワーク距離管理サーバへ通知する手段とを具備した。
【0012】
(2)本発明のP2P配信システムは、各ピアノードから受信した計測要求パケットに対して計測応答パケットを返信する複数の参照サーバと、各ピアノードと各参照サーバとのネットワーク距離の指標となるネットワーク距離指標値に基づいて各ピアノード間のネットワーク距離指標値を算出するネットワーク距離管理サーバとを具備し、各ピアノードが、複数の参照サーバへ計測要求メッセージを送信する手段と、計測要求メッセージに対して返信される計測応答メッセージに基づいて各参照サーバとのネットワーク距離指標値を計測する手段と、各参照サーバとのネットワーク距離指標値を前記ネットワーク距離管理サーバへ通知する手段と、所望のコンテンツピースを所持している相手ピア候補のアドレス情報を取得する手段と、自ノードおよび各相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバへ送信する手段とを具備した。
【0013】
また、ネットワーク距離管理サーバが、通知された各ピアノードと各参照サーバとのネットワーク距離指標値に基づいて、各ピアノード間のネットワーク距離指標値を算出する手段と、ピア間距離要求に応答して、その要求ピアと各相手ピア候補とのネットワーク距離指標値の記述されたピア間距離応答を返信する手段とを具備した。
【0014】
さらに、前記各ピアノードが、ネットワーク距離管理サーバから、自ノードと各相手ピア候補とのネットワーク距離指標値が記述されたピア間距離応答を受信する手段と、ピア間距離応答に基づいて、自ノードとのネットワーク距離が近い相手ピア候補ほど優先度を高く設定する手段と、優先度に基づいて、相手ピア候補の中から相手ピアを選択してコネクションを確立する手段とを具備した。
【発明の効果】
【0015】
本発明によれば、以下のような効果が達成される。
【0016】
(1)距離計測用のパケットが要求ピアから参照サーバへ送信されるので、各ピアノードは距離計測用パケットを処理する負荷から解放される。
【0017】
(2)距離計測用のパケットが、要求ピアからブロードキャストではなく各参照サーバを宛先として限定的に送信されるので、計測用パケットのトラヒックによりネットワークに過大な負荷が加わることが無い。
【0018】
(3)ピアノード間のネットワーク距離が、当該ピアノード間で送受信される計測用パケットの応答遅延ではなく、各ピアノードと各参照サーバとの複数の応答遅延に基づいて算出されるので、ネットワーク状況の影響を受けにくく精度の高い計測結果を得られるようになる。
【0019】
(4)プレフィックスが同一のピアノードがネットワーク距離管理サーバに既登録である他のピアノードは、自ノードと各参照サーバとの距離計測を免除されるので、計測要求パケットおよびその応答パケットのトラフィックを削減できるようになる。
【図面の簡単な説明】
【0020】
【図1】本発明の第1実施形態に係るP2P配信システムのブロック図である。
【図2】第1実施形態におけるピアノードの動作を示したフローチャートである。
【図3】第1実施形態におけるネットワーク距離管理サーバの動作を示したフローチャートである。
【図4】第1実施形態における配信制御サーバの動作を示したフローチャートである。
【図5】第1実施形態のシーケンスフローである。
【図6】応答時間管理テーブルの一例を示した図である。
【図7】遅延時間の計算方法を示した図である。
【図8】ネットワーク距離管理テーブルの一例を示した図である。
【図9】第1実施形態の機能ブロック図である。
【図10】本発明の第2実施形態に係るP2P配信システムのブロック図である。
【図11】第2実施形態のシーケンスフローである。
【図12】第2実施形態の機能ブロック図である。
【図13】本発明の第3実施形態のシーケンスフローである。
【図14】第3実施形態の機能ブロック図である。
【図15】第4実施形態の動作を示したフローチャートである。
【図16】プレフィックス分類テーブルの一例を示した図である。
【発明を実施するための形態】
【0021】
[実施形態1]
図1は、本発明の第1実施形態に係るP2P配信システムのネットワーク構成を示したブロック図であり、コンテンツ(ファイル)をピース単位で送受信する複数のピアノード1(要求ピア1aおよび相手ピア1b,1c)と、各コンテンツのピースを所持するピアノード(相手ピア候補)を把握してピアリストを作成するP2Pの配信制御サーバ2と、各ピアノード1からネットワーク距離に関する計測要求パケットを受信して計測応答パケットを返信する参照サーバ3(3a,3b,3c)と、各ピアノード1から通知される当該ピアノード1と各参照サーバ3とのネットワーク距離(または、当該ネットワーク距離の指標となる情報あるいは当該ネットワーク距離を代表できる情報:以下、ネットワーク距離指標値で総称する)に基づいて各ピアノード間のネットワーク距離指標値を算出するネットワーク距離管理サーバ4とを含む。
【0022】
このようなネットワーク構成において、各ピアノード1は各参照サーバ3へ計測要求パケットを送信し、各参照サーバ3から返信される計測応答パケットに基づいて自ノードと各参照サーバ3とのネットワーク距離指標値を算出すると共に、この算出結果を前記ネットワーク距離管理サーバ4へ通知する。ここでは、各ピアノード1において計測要求パケットを送信してから計測応答パケットが返信されるまでの応答遅延時間がネットワーク距離指標値とされるものとして説明を続ける。ネットワーク距離管理サーバ4は、各ピアノード1から通知された各参照サーバ3とのネットワーク距離指標値に基づいて各ピアノード間のネットワーク距離指標値を算出する。
【0023】
配信制御サーバ2は、要求ピア1aからピアリスト要求を受信すると、配信要求されたコンテンツのピースを所持している相手ピア候補を、例えば自身のデータベースを参照して選択し、要求ピア1aおよび各相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバ4へ送信する。前記ネットワーク距離管理サーバ4は、このピア間距離要求に対して、要求ピア1aと各相手ピア候補とのネットワーク距離指標値が記述されたピア間距離応答を返信する。
【0024】
配信制御サーバ2はさらに、前記返信されたピア間距離応答に基づいて、ネットワーク距離が近い相手ピア候補ほど優先順位が高く設定されたピアリストを作成して要求ピア1aへ通知する。要求ピア1aは、優先順位の高い相手ピア候補から優先的にコネクションを確立してコンテンツピースを取得する。
【0025】
次いで、本実施形態の動作について説明する。図2,3,4は、それぞれピアノード1,ネットワーク距離管理サーバ4および配信制御サーバ2の動作を示したフローチャートであり、図5は、そのシーケンスフローである。
【0026】
図2を参照し、各ピアノード1は、例えばP2Pネットワークへの参加時などの適宜のタイミングで自ノードと各参照サーバ3とのネットワーク距離指標値を算出する。本実施形態では、ステップS1において各参照サーバ3へ固定長の計測要求パケットとして、例えばICMP Echoパケットなどが送信される。ステップS2において、各参照サーバ3から計測応答パケットとして、例えばICMP Replyパケットなどが受信されると、ステップS3では、対応するパケットの応答遅延時間が算出され、これが自ノードと各参照サーバ3との間のネットワーク距離指標値とされる。なお、計測要求パケットおよび計測応答パケットの送受信は1回に限定されるものではなく、複数回を繰り返して各応答遅延時間の平均値をネットワーク距離指標値とするようにしても良い。
【0027】
ステップS4では、前記ネットワーク距離指標値がネットワーク距離管理サーバ4へ通知される。なお、同様の手順は要求ピア1aおよび相手ピア1b,1cの区別無しに全てのピアノード1において非同期に実施され、当該他のピアノードからも各参照サーバ3との間のネットワーク距離指標値がネットワーク距離管理サーバ4へ通知される。
【0028】
図3を参照し、前記ネットワーク距離管理サーバ4は、ステップS11で各ピアノード1から各参照サーバ3との間のネットワーク距離指標値を受信すると、ステップS12では、受信された指標値が応答時間管理テーブル41に記録される。図6は、応答時間管理テーブル41の一例を示した図であり、ピアノード1x(1a,1b…)ごとに各参照サーバ#y(#1,#2…#n)とのネットワーク距離指標値(ここでは、応答遅延時間txy)が記録されている。ステップS13では、前記応答時間管理テーブル41に基づいて、ピアノードペアごとに、図7に一例を示したような遅延時間計算方法によりピアノード間のネットワーク距離指標値dが算出される。
【0029】
本実施形態では、距離算出対象のピアノードペア1a、1bと各参照サーバ#1,#2…#nとのネットワーク距離指標値(応答遅延時間)を、それぞれta1,ta2…tanおよびtb1,tb2…tbnとし、各ピアノード1a、1bと各参照サーバ#1,#2…#nとの遅延時間差をそれぞれD1,D2…Dnとしたとき、ピアノード1a、1b間のネットワーク距離指標値dabが次式(1)で算出される。
【0030】
【数1】
【0031】
ステップS14では、全てのピアノードペアのネットワーク距離指標値dに基づいて、図8に一例を示したような、全てのピアノード間のネットワーク距離指標値を管理するネットワーク距離管理テーブル42が生成される。ステップS15〜S17については後述する。
【0032】
図4を参照し、配信制御サーバ2では、コンテンツ配信を要求する要求ピア1aから送信されたピアリスト要求がステップS31で受信される。このピアリスト要求には、要求ピア1aが配信要求するコンテンツの識別情報や要求ピア1aの属性情報が記述されている。ステップS32では,前記ピアリスト要求に記述されていた配信要求コンテンツの識別情報に基づいて、そのピースを所持しているピアノードが相手ピア候補として選択される。ステップS33では、要求ピア1aのIPアドレスおよび前記各相手ピア候補のIPアドレスの記述されたピア間距離要求が前記ネットワーク距離管理サーバ4へ送信される。
【0033】
図3へ戻り、ネットワーク距離管理サーバ4では、ステップS15で前記ピア間距離要求が受信されるとステップS16へ進む。ステップS16では、要求ピア1aのIPアドレスおよび各相手ピア候補のIPアドレスに基づいて前記ネットワーク距離管理テーブル42が参照され、要求ピア1aと各相手ピア候補とのネットワーク距離指標値dが抽出される。ステップS17では、前記抽出されたネットワーク距離指標値dの記述されたピア間距離応答が配信制御サーバ2へ返信される。
【0034】
図4へ戻り、配信制御サーバ2では、ステップS34において前記ピア間距離応答が受信されるとステップS35へ進み、要求ピア1aと前記各相手ピア候補とのネットワーク距離指標値に基づいて、要求ピア1aとのネットワーク距離が近い相手ピア候補ほど優先度が上位に設定されたピアリストが作成される。ステップS36では、前記ピアリストが要求ピア1aへ通知される。
【0035】
図9は、本実施形態の機能ブロック図であり、ここでは、本実施形態の説明に不要な構成は図示が省略されている。
【0036】
ピアノード1は、各参照サーバ3へ計測要求パケットを送信し、これに対して返信される計測応答パケットに基づいて自ノードと各参照サーバ3とのネットワーク距離指標値を計測する距離計測部11と、前記ネットワーク距離指標値の計測結果をネットワーク距離管理サーバ4へ通知する距離通知部12と、コンテンツ配信の要求ピア1aとして配信制御サーバ2へピアリスト要求を送信するピアリスト要求部13とを含む。
【0037】
ネットワーク距離管理サーバ4は、各ピアノード1から通知されるピアノード/参照サーバ間距離の指標値を受信して前記応答時間管理テーブル41に登録する計測結果管理部43と、前記応答時間管理テーブル41に基づいて各ピアノードペア間のネットワーク距離指標値を算出して前記ネットワーク距離管理テーブル42に登録する距離算出部44と、配信制御サーバ2から受信したピア間距離要求に応答して前記ネットワーク距離管理テーブル42を参照し、要求ピアと各相手ピア候補とのネットワーク距離指標値を提供する距離応答部45とを含む。
【0038】
配信制御サーバ2は、要求ピア1aから受信したピアリスト要求に応答して相手ピア候補を選択し、要求ピア1aのアドレス情報および少なくとも一つの相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバ4へ送信する距離要求部21と、前記ネットワーク距離管理サーバ4から要求ピア1aと各相手ピア候補とのネットワーク距離指標値が記述されたピア間距離応答を受信する距離取得部22と、要求ピア1aとのネットワーク距離が近い相手ピア候補ほど優先度が高く設定されたピアリストを生成するピアリスト生成部23と、このピアリストを含むピアリスト応答を要求ピア1aへ返信するピアリスト提供部24とを含む。
【0039】
本実施形態によれば、計測要求パケットが要求ピア1aから参照サーバ3へ送信されるので、各ピアノード1は計測要求パケットを処理する負荷から解放される。しかも、計測要求パケットは、要求ピア1aからブロードキャストではなく各参照サーバ3を宛先として限定的に送信されるので、計測要求パケットおよびその応答パケットのトラヒックによりP2Pネットワークに過大な負荷が加わることが無い。さらに、ピアノード間のネットワーク距離が、当該ピアノード間で送受信される計測用パケットの応答遅延ではなく、各ピアノード1と各参照サーバ3との複数の応答遅延に基づいて算出されるので、ネットワーク状況の影響を受けにくく精度の高い計測結果を得られるようになる。
【0040】
[実施形態2]
図10は、本発明の第2実施形態に係るP2Pネットワークの構成を示したブロック図であり、前記と同一の符号は同一または同等の構成を示している。図11は、本実施形態の動作を示したシーケンスフローである。
【0041】
上記の第1実施形態では、要求ピア1aが配信制御サーバ2へピアリストを要求し、配信制御サーバ2がネットワーク距離管理サーバ4へ要求ピア1aと各相手ピア候補との距離を問い合わせるものとして説明したが、本実施形態では、要求ピア1aが配信制御サーバ以外から相手ピア候補の情報を取得し、自らネットワーク距離管理サーバ4へ各相手ピア候補との距離を問い合わせるようにした点に特徴がある。
【0042】
P2Pネットワークに参加するピアノード同士は、初めにDHT(分散ハッシュテーブル)を参照するなどの適宜の方法によりノード情報を収集する。もしくは、コネクション要求に応答してコネクションを確立した相手ピアからノード情報を収集する。さらに、各ピアノードは相手ノードとの間にコネクションが確立されると,自ノードが所持しているコンテンツピースのリストを相互に交換し、さらにはピースを取得するたびにコネクションを確立したピアに所持しているノード情報を通知することを繰り返すので、ピースの収集が進行するにつれて、他のピアノードが所持しているピースの情報が多数蓄積されることになる。その結果、要求ピア1aは自ノードのノード情報を参照することにより、所望のコンテンツピースを所持している相手ピア候補を識別できるようになる。
【0043】
そこで、本実施形態では要求ピア1aがピースごとに相手ピア候補を識別できると、図11に示したように、自ノード1aおよび各相手ピア候補のIPアドレスが記述されたピア間距離要求をネットワーク距離管理サーバ4へ直接送信(ステップS41)する。要求ピア1aはさらに、各相手ピア候補と自ノードとのネットワーク距離指標値の記述されたピア間距離応答をネットワーク距離管理サーバ4から受信(ステップS42)すると、ピースごとに自ノードとのネットワーク距離が短い相手ピアを選択して当該相手ピアから優先的にピースを取得する。
【0044】
図12は、本実施形態の機能ブロック図であり、本実施形態の説明に不要な構成は図示および説明が省略されている。
【0045】
ピアノード1は、各参照サーバ3へ計測要求パケットを送信し、その計測応答パケットに基づいて自ノードと各参照サーバ3とのネットワーク距離指標値を計測する距離計測部11と、前記ネットワーク距離指標値の計測結果をネットワーク距離管理サーバ4へ通知する計測結果通知部12と、DHTや相手ピアからノード情報を取得するノード情報取得部14と、ノード情報に基づいて相手ピア候補を把握し、自ノードおよび相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバ4へ送信する距離要求部15と、ネットワーク距離管理サーバ4から自ノードと相手ピア候補とのネットワーク距離指標値が記述されたピア間距離応答を受信し、自ノードとのネットワーク距離が近いピアノードを優先的に相手ピアとする相手ピア選択部16とを含む。
【0046】
ネットワーク距離管理サーバ4は、各ピアノード1から通知されるピアノード/参照サーバ間のネットワーク距離指標値を受信して前記応答時間管理テーブル41に登録する計測結果管理部43と、前記応答時間管理テーブル41に基づいて各ピアノードペア間のネットワーク距離指標値を算出して前記ネットワーク距離管理テーブル42に登録する距離算出部44と、要求ピア1aから受信したピア間距離要求に応答して前記ネットワーク距離管理テーブル42を参照し、要求ピアと相手ピア候補とのネットワーク距離指標値を提供する距離応答部46とを含む。
【0047】
本実施形態によれば、要求ピアがピアリストを配信制御サーバ2からではなくDHTや相手ピアから取得する場合でも、ネットワーク距離のより短い相手ピアを選択できるようになる。
【0048】
[実施形態3]
上記の第1および第2実施形態では、要求ピア1aまたは配信制御サーバ2がネットワーク距離管理サーバ4から要求ピア1aと各相手ピア候補とのネットワーク距離指標値を取得するものとして説明したが、本発明はこれのみに限定されるものではなく、要求ピア1aおよび配信制御サーバ2のいずれもがネットワーク距離管理サーバ4からネットワーク距離指標値を取得するようにしても良い。
【0049】
図13は、本実施形態の動作を示したシーケンスフローであり、ここでは、各要求ピアが初めに配信制御サーバ2へピアリスト要求(S31)を送信して優先順位の付されたピアリストを取得(S36)し、相手ピアとの間にコネクションを確立してピースを取得する。その後は、コネクションを確立した相手ピースとピアノード情報を交換して相手ピア候補を識別し、各要求ピア1aがネットワーク距離管理サーバ4へ直に各相手ピア候補に関するピア間距離要求を送信(S41)してピア間距離の指標値を取得(S42)し、ネットワーク距離の近い相手ピアと優先的にコネクションを確立してピースを取得する。
【0050】
図14は、本実施形態の機能ブロック図であり、ここでは、本実施形態の説明に不要な構成は図示が省略されている。
【0051】
ピアノード1は、各参照サーバ3へ計測要求パケットを送信し、これに対して返信される計測応答パケットに基づいて自ノードと各参照サーバ3とのネットワーク距離指標値を計測する距離計測部11と、前記ネットワーク距離指標値の計測結果をネットワーク距離管理サーバ4へ通知する距離通知部12と、コンテンツ配信の要求ピア1aとして配信制御サーバ2へピアリスト要求を送信するピアリスト要求部13とを含む。
【0052】
ネットワーク距離管理サーバ4は、各ピアノード1から通知されるピアノード/参照サーバ間距離の指標値を受信して前記応答時間管理テーブル41に登録する計測結果管理部43と、前記応答時間管理テーブル41に基づいて各ピアノードペア間のネットワーク距離指標値を算出して前記ネットワーク距離管理テーブル42に登録する距離算出部44と、ピア間距離要求に応答して前記ネットワーク距離管理テーブル42を参照し、要求ピアと各相手ピア候補とのネットワーク距離指標値を提供する距離応答部45とを含む。
【0053】
配信制御サーバ2は、要求ピア1aから受信したピアリスト要求に応答して相手ピア候補を選択し、要求ピア1aのアドレス情報および少なくとも一つの相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバ4へ送信する距離要求部21と、前記ネットワーク距離管理サーバ4から要求ピア1aと各相手ピア候補とのネットワーク距離指標値が記述されたピア間距離応答を受信する距離取得部22と、要求ピア1aとのネットワーク距離が近い相手ピア候補ほど優先度が高く設定されたピアリストを生成するピアリスト生成部23と、このピアリストを含むピアリスト応答を要求ピア1aへ返信するピアリスト提供部24とを含む。
【0054】
前記ピアノード1はさらに、DHTやコネクションを確立した相手ピアからノード情報を取得するノード情報取得部14と、取得したノード情報に基づいて相手ピア候補を識別し、自ノードおよび相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバ4へ送信する距離要求部15と、ネットワーク距離管理サーバ4から自ノードと相手ピア候補とのネットワーク距離指標値が記述されたピア間距離応答を受信し、自ノードとのネットワーク距離が近いピアノードを優先的に相手ピアとする相手ピア選択部16とを含む。
【0055】
前記ネットワーク距離管理サーバ4はさらに、要求ピア1aから受信したピア間距離要求に応答して前記ネットワーク距離管理テーブル42を参照し、要求ピアと相手ピア候補とのネットワーク距離指標値を提供する距離応答部46を含む。
【0056】
[実施形態4]
上記の各実施形態では、P2Pネットワークに新たに参加するピアノードは、その全てが参照サーバ3とのネットワーク距離指標値を計測してネットワーク距離管理サーバ4へ通知するものとして説明したが、第4実施形態では、ピアノード1ごとにネットワーク距離計測の要否を判断し、距離計測が不要と判断されたピアノードは距離計測を免除されるようにしている。
【0057】
図15は、本実施形態の動作を示したフローチャートであり、前記ピアノード1およびネットワーク距離管理サーバ4の動作を示している。
【0058】
各ピアノード1は、各参照サーバ3とのネットワーク距離指標値を計測する以前の適宜のタイミングで、ステップS51において、ネットワーク距離管理サーバ4へ自ノードのIPアドレスが記述された距離計測要否判定要求を送信する。
【0059】
ネットワーク距離管理サーバ4は、ステップS61で当該判定要求を受信すると、ステップS62では、ピアノード1のIPアドレスに基づいて、そのプレフィックスが識別される。ネットワーク距離管理サーバ4は、図16に一例を示したように、既登録の各ピアノードを、そのプレフィックスで分類するプレフィックス分類テーブルを具備し、ステップS63では、前記識別されたプレフィックスと同一プレフィックスのピアノード1が前記プレフィックス分類テーブルに既登録であるか否かが判定される。未登録であれば、ステップS64へ進んで計測要判定がなされる。既登録であれば、ステップS65へ進んで計測不要判定がなされる。ステップS66では、前記判定結果の記述された距離計測要否判定応答が各ピアノード1へ返信される。
【0060】
各ピアノード1は、ステップS52で前記距離計測要否判定応答を受信するとステップS53へ進み、当該判定応答に記述されている判定結果が参照される。計測要判定であればステップS54へ進み、前記図2に関して説明したネットワーク距離指標値の計測およびその通知処理(ステップS1〜S4)が同様に実行される。これに対して、計測不要判定であれば、前記距離指標値の計測およびその通知処理を実施することなく終了する。
【0061】
前記ネットワーク距離管理サーバ4は、その後、配信制御サーバ2(第1,3実施形態)または要求ピア1a(第2,3実施形態)から要求ピアや相手ピアのIPアドレスの記述されたピア間距離要求を受信すると、各ピアノードの位置をプレフィックスが同一の他のピアノードの位置と同一であると見なしてピア間のネットワーク距離指標値を算出する。
【0062】
本実施形態によれば、プレフィックスが同一のピアノードがネットワーク距離管理サーバ4に既登録である他のピアノードは、自ノードと各参照サーバ3との距離計測を免除されるので、計測要求パケットおよびその応答パケットのトラフィックを削減できるようになる。
【符号の説明】
【0063】
1…ピアノード
2…配信制御サーバ配信制御サーバ
3…参照サーバ
4…ネットワーク距離管理サーバ
【技術分野】
【0001】
本発明は、ネットワーク上に分散配置されたピアノード間のネットワーク距離を算出し、P2P配信の相手ピアをピアノード間のネットワーク距離に基づいて選択するP2P配信システムならびにそのピアノード間のネットワーク距離算出方法およびシステムに関する。
【背景技術】
【0002】
P2Pネットワークにおいて、コンテンツファイルの配信サービスなどを受けたいピアノード(要求ピア)は、コンテンツのピースを所持している相手ピア候補を、例えば配信制御サーバから取得したピアリストや他のピアノードから取得したノード情報等に基づいて把握し、その中から最適な相手ピアを選択してP2P通信を行う。
【0003】
特許文献1には、複数の相手ピア候補の中から最適な相手ピアを選択するために、要求ピアがピアノード間の物理ネットワーク距離情報、処理能力、回線帯域情報等の中から1つもしくは複数の組み合わせに基づいて相手ピア候補に優先順位を設定し、優先順位の高い相手ピア候補を相手ピアとして選択する技術が開示されている。このとき、ピアノード間の物理ネットワーク距離は、要求ピアが計測用のパケットをブロードキャストで送信することにより、ホップ数または応答遅延として評価される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−258747号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来技術には以下のような課題があった。
【0006】
(1)ピアノード間の距離を測定するために、要求ピアから計測用のパケットがブロードキャストで送信されるので、計測用パケットのトラヒックによりネットワークに負荷がかかる。
【0007】
(2)各ピアノードに対して計測用パケットが送信されるため、配信処理中のピアノードでは計測用パケットの処理に要する負荷によりコンテンツ配信処理に支障を来す場合がある。
【0008】
(3)計測用パケットをブロードキャストで送信する計測方法では、計測結果が1対1間の応答時間のみで求まるので、計測結果がネットワーク状況の影響を受け易くなり、十分な精度を得られない場合がある。
【0009】
本発明の目的は、上記した従来技術の課題を解決し、ネットワークやピアノードに大きな負荷をかけることなくピアノード間のネットワーク距離を精度良く計測できるP2P配信システムならびにそのピアノード間のネットワーク距離算出方法およびシステムを提供することにある。
【課題を解決するための手段】
【0010】
上記の目的を達成するために、本発明は、以下のような構成を具備した点に特徴がある。
【0011】
(1)本発明のネットワーク距離算出システムは、各ピアノードから受信した計測要求パケットに対して計測応答パケットを返信する複数の参照サーバと、各ピアノードと各参照サーバとのネットワーク距離の指標となるネットワーク距離指標値として、例えば計測要求メッセージに対する前記計測応答メッセージの応答遅延時間、に基づいて各ピアノード間のネットワーク距離指標値を算出するネットワーク距離管理サーバとを具備し、各ピアノードが、複数の参照サーバへ計測要求メッセージを送信する手段と、計測要求メッセージに対して返信される計測応答メッセージに基づいて各参照サーバとのネットワーク距離指標値を計測する手段と、各参照サーバとのネットワーク距離指標値を前記ネットワーク距離管理サーバへ通知する手段とを具備した。
【0012】
(2)本発明のP2P配信システムは、各ピアノードから受信した計測要求パケットに対して計測応答パケットを返信する複数の参照サーバと、各ピアノードと各参照サーバとのネットワーク距離の指標となるネットワーク距離指標値に基づいて各ピアノード間のネットワーク距離指標値を算出するネットワーク距離管理サーバとを具備し、各ピアノードが、複数の参照サーバへ計測要求メッセージを送信する手段と、計測要求メッセージに対して返信される計測応答メッセージに基づいて各参照サーバとのネットワーク距離指標値を計測する手段と、各参照サーバとのネットワーク距離指標値を前記ネットワーク距離管理サーバへ通知する手段と、所望のコンテンツピースを所持している相手ピア候補のアドレス情報を取得する手段と、自ノードおよび各相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバへ送信する手段とを具備した。
【0013】
また、ネットワーク距離管理サーバが、通知された各ピアノードと各参照サーバとのネットワーク距離指標値に基づいて、各ピアノード間のネットワーク距離指標値を算出する手段と、ピア間距離要求に応答して、その要求ピアと各相手ピア候補とのネットワーク距離指標値の記述されたピア間距離応答を返信する手段とを具備した。
【0014】
さらに、前記各ピアノードが、ネットワーク距離管理サーバから、自ノードと各相手ピア候補とのネットワーク距離指標値が記述されたピア間距離応答を受信する手段と、ピア間距離応答に基づいて、自ノードとのネットワーク距離が近い相手ピア候補ほど優先度を高く設定する手段と、優先度に基づいて、相手ピア候補の中から相手ピアを選択してコネクションを確立する手段とを具備した。
【発明の効果】
【0015】
本発明によれば、以下のような効果が達成される。
【0016】
(1)距離計測用のパケットが要求ピアから参照サーバへ送信されるので、各ピアノードは距離計測用パケットを処理する負荷から解放される。
【0017】
(2)距離計測用のパケットが、要求ピアからブロードキャストではなく各参照サーバを宛先として限定的に送信されるので、計測用パケットのトラヒックによりネットワークに過大な負荷が加わることが無い。
【0018】
(3)ピアノード間のネットワーク距離が、当該ピアノード間で送受信される計測用パケットの応答遅延ではなく、各ピアノードと各参照サーバとの複数の応答遅延に基づいて算出されるので、ネットワーク状況の影響を受けにくく精度の高い計測結果を得られるようになる。
【0019】
(4)プレフィックスが同一のピアノードがネットワーク距離管理サーバに既登録である他のピアノードは、自ノードと各参照サーバとの距離計測を免除されるので、計測要求パケットおよびその応答パケットのトラフィックを削減できるようになる。
【図面の簡単な説明】
【0020】
【図1】本発明の第1実施形態に係るP2P配信システムのブロック図である。
【図2】第1実施形態におけるピアノードの動作を示したフローチャートである。
【図3】第1実施形態におけるネットワーク距離管理サーバの動作を示したフローチャートである。
【図4】第1実施形態における配信制御サーバの動作を示したフローチャートである。
【図5】第1実施形態のシーケンスフローである。
【図6】応答時間管理テーブルの一例を示した図である。
【図7】遅延時間の計算方法を示した図である。
【図8】ネットワーク距離管理テーブルの一例を示した図である。
【図9】第1実施形態の機能ブロック図である。
【図10】本発明の第2実施形態に係るP2P配信システムのブロック図である。
【図11】第2実施形態のシーケンスフローである。
【図12】第2実施形態の機能ブロック図である。
【図13】本発明の第3実施形態のシーケンスフローである。
【図14】第3実施形態の機能ブロック図である。
【図15】第4実施形態の動作を示したフローチャートである。
【図16】プレフィックス分類テーブルの一例を示した図である。
【発明を実施するための形態】
【0021】
[実施形態1]
図1は、本発明の第1実施形態に係るP2P配信システムのネットワーク構成を示したブロック図であり、コンテンツ(ファイル)をピース単位で送受信する複数のピアノード1(要求ピア1aおよび相手ピア1b,1c)と、各コンテンツのピースを所持するピアノード(相手ピア候補)を把握してピアリストを作成するP2Pの配信制御サーバ2と、各ピアノード1からネットワーク距離に関する計測要求パケットを受信して計測応答パケットを返信する参照サーバ3(3a,3b,3c)と、各ピアノード1から通知される当該ピアノード1と各参照サーバ3とのネットワーク距離(または、当該ネットワーク距離の指標となる情報あるいは当該ネットワーク距離を代表できる情報:以下、ネットワーク距離指標値で総称する)に基づいて各ピアノード間のネットワーク距離指標値を算出するネットワーク距離管理サーバ4とを含む。
【0022】
このようなネットワーク構成において、各ピアノード1は各参照サーバ3へ計測要求パケットを送信し、各参照サーバ3から返信される計測応答パケットに基づいて自ノードと各参照サーバ3とのネットワーク距離指標値を算出すると共に、この算出結果を前記ネットワーク距離管理サーバ4へ通知する。ここでは、各ピアノード1において計測要求パケットを送信してから計測応答パケットが返信されるまでの応答遅延時間がネットワーク距離指標値とされるものとして説明を続ける。ネットワーク距離管理サーバ4は、各ピアノード1から通知された各参照サーバ3とのネットワーク距離指標値に基づいて各ピアノード間のネットワーク距離指標値を算出する。
【0023】
配信制御サーバ2は、要求ピア1aからピアリスト要求を受信すると、配信要求されたコンテンツのピースを所持している相手ピア候補を、例えば自身のデータベースを参照して選択し、要求ピア1aおよび各相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバ4へ送信する。前記ネットワーク距離管理サーバ4は、このピア間距離要求に対して、要求ピア1aと各相手ピア候補とのネットワーク距離指標値が記述されたピア間距離応答を返信する。
【0024】
配信制御サーバ2はさらに、前記返信されたピア間距離応答に基づいて、ネットワーク距離が近い相手ピア候補ほど優先順位が高く設定されたピアリストを作成して要求ピア1aへ通知する。要求ピア1aは、優先順位の高い相手ピア候補から優先的にコネクションを確立してコンテンツピースを取得する。
【0025】
次いで、本実施形態の動作について説明する。図2,3,4は、それぞれピアノード1,ネットワーク距離管理サーバ4および配信制御サーバ2の動作を示したフローチャートであり、図5は、そのシーケンスフローである。
【0026】
図2を参照し、各ピアノード1は、例えばP2Pネットワークへの参加時などの適宜のタイミングで自ノードと各参照サーバ3とのネットワーク距離指標値を算出する。本実施形態では、ステップS1において各参照サーバ3へ固定長の計測要求パケットとして、例えばICMP Echoパケットなどが送信される。ステップS2において、各参照サーバ3から計測応答パケットとして、例えばICMP Replyパケットなどが受信されると、ステップS3では、対応するパケットの応答遅延時間が算出され、これが自ノードと各参照サーバ3との間のネットワーク距離指標値とされる。なお、計測要求パケットおよび計測応答パケットの送受信は1回に限定されるものではなく、複数回を繰り返して各応答遅延時間の平均値をネットワーク距離指標値とするようにしても良い。
【0027】
ステップS4では、前記ネットワーク距離指標値がネットワーク距離管理サーバ4へ通知される。なお、同様の手順は要求ピア1aおよび相手ピア1b,1cの区別無しに全てのピアノード1において非同期に実施され、当該他のピアノードからも各参照サーバ3との間のネットワーク距離指標値がネットワーク距離管理サーバ4へ通知される。
【0028】
図3を参照し、前記ネットワーク距離管理サーバ4は、ステップS11で各ピアノード1から各参照サーバ3との間のネットワーク距離指標値を受信すると、ステップS12では、受信された指標値が応答時間管理テーブル41に記録される。図6は、応答時間管理テーブル41の一例を示した図であり、ピアノード1x(1a,1b…)ごとに各参照サーバ#y(#1,#2…#n)とのネットワーク距離指標値(ここでは、応答遅延時間txy)が記録されている。ステップS13では、前記応答時間管理テーブル41に基づいて、ピアノードペアごとに、図7に一例を示したような遅延時間計算方法によりピアノード間のネットワーク距離指標値dが算出される。
【0029】
本実施形態では、距離算出対象のピアノードペア1a、1bと各参照サーバ#1,#2…#nとのネットワーク距離指標値(応答遅延時間)を、それぞれta1,ta2…tanおよびtb1,tb2…tbnとし、各ピアノード1a、1bと各参照サーバ#1,#2…#nとの遅延時間差をそれぞれD1,D2…Dnとしたとき、ピアノード1a、1b間のネットワーク距離指標値dabが次式(1)で算出される。
【0030】
【数1】
【0031】
ステップS14では、全てのピアノードペアのネットワーク距離指標値dに基づいて、図8に一例を示したような、全てのピアノード間のネットワーク距離指標値を管理するネットワーク距離管理テーブル42が生成される。ステップS15〜S17については後述する。
【0032】
図4を参照し、配信制御サーバ2では、コンテンツ配信を要求する要求ピア1aから送信されたピアリスト要求がステップS31で受信される。このピアリスト要求には、要求ピア1aが配信要求するコンテンツの識別情報や要求ピア1aの属性情報が記述されている。ステップS32では,前記ピアリスト要求に記述されていた配信要求コンテンツの識別情報に基づいて、そのピースを所持しているピアノードが相手ピア候補として選択される。ステップS33では、要求ピア1aのIPアドレスおよび前記各相手ピア候補のIPアドレスの記述されたピア間距離要求が前記ネットワーク距離管理サーバ4へ送信される。
【0033】
図3へ戻り、ネットワーク距離管理サーバ4では、ステップS15で前記ピア間距離要求が受信されるとステップS16へ進む。ステップS16では、要求ピア1aのIPアドレスおよび各相手ピア候補のIPアドレスに基づいて前記ネットワーク距離管理テーブル42が参照され、要求ピア1aと各相手ピア候補とのネットワーク距離指標値dが抽出される。ステップS17では、前記抽出されたネットワーク距離指標値dの記述されたピア間距離応答が配信制御サーバ2へ返信される。
【0034】
図4へ戻り、配信制御サーバ2では、ステップS34において前記ピア間距離応答が受信されるとステップS35へ進み、要求ピア1aと前記各相手ピア候補とのネットワーク距離指標値に基づいて、要求ピア1aとのネットワーク距離が近い相手ピア候補ほど優先度が上位に設定されたピアリストが作成される。ステップS36では、前記ピアリストが要求ピア1aへ通知される。
【0035】
図9は、本実施形態の機能ブロック図であり、ここでは、本実施形態の説明に不要な構成は図示が省略されている。
【0036】
ピアノード1は、各参照サーバ3へ計測要求パケットを送信し、これに対して返信される計測応答パケットに基づいて自ノードと各参照サーバ3とのネットワーク距離指標値を計測する距離計測部11と、前記ネットワーク距離指標値の計測結果をネットワーク距離管理サーバ4へ通知する距離通知部12と、コンテンツ配信の要求ピア1aとして配信制御サーバ2へピアリスト要求を送信するピアリスト要求部13とを含む。
【0037】
ネットワーク距離管理サーバ4は、各ピアノード1から通知されるピアノード/参照サーバ間距離の指標値を受信して前記応答時間管理テーブル41に登録する計測結果管理部43と、前記応答時間管理テーブル41に基づいて各ピアノードペア間のネットワーク距離指標値を算出して前記ネットワーク距離管理テーブル42に登録する距離算出部44と、配信制御サーバ2から受信したピア間距離要求に応答して前記ネットワーク距離管理テーブル42を参照し、要求ピアと各相手ピア候補とのネットワーク距離指標値を提供する距離応答部45とを含む。
【0038】
配信制御サーバ2は、要求ピア1aから受信したピアリスト要求に応答して相手ピア候補を選択し、要求ピア1aのアドレス情報および少なくとも一つの相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバ4へ送信する距離要求部21と、前記ネットワーク距離管理サーバ4から要求ピア1aと各相手ピア候補とのネットワーク距離指標値が記述されたピア間距離応答を受信する距離取得部22と、要求ピア1aとのネットワーク距離が近い相手ピア候補ほど優先度が高く設定されたピアリストを生成するピアリスト生成部23と、このピアリストを含むピアリスト応答を要求ピア1aへ返信するピアリスト提供部24とを含む。
【0039】
本実施形態によれば、計測要求パケットが要求ピア1aから参照サーバ3へ送信されるので、各ピアノード1は計測要求パケットを処理する負荷から解放される。しかも、計測要求パケットは、要求ピア1aからブロードキャストではなく各参照サーバ3を宛先として限定的に送信されるので、計測要求パケットおよびその応答パケットのトラヒックによりP2Pネットワークに過大な負荷が加わることが無い。さらに、ピアノード間のネットワーク距離が、当該ピアノード間で送受信される計測用パケットの応答遅延ではなく、各ピアノード1と各参照サーバ3との複数の応答遅延に基づいて算出されるので、ネットワーク状況の影響を受けにくく精度の高い計測結果を得られるようになる。
【0040】
[実施形態2]
図10は、本発明の第2実施形態に係るP2Pネットワークの構成を示したブロック図であり、前記と同一の符号は同一または同等の構成を示している。図11は、本実施形態の動作を示したシーケンスフローである。
【0041】
上記の第1実施形態では、要求ピア1aが配信制御サーバ2へピアリストを要求し、配信制御サーバ2がネットワーク距離管理サーバ4へ要求ピア1aと各相手ピア候補との距離を問い合わせるものとして説明したが、本実施形態では、要求ピア1aが配信制御サーバ以外から相手ピア候補の情報を取得し、自らネットワーク距離管理サーバ4へ各相手ピア候補との距離を問い合わせるようにした点に特徴がある。
【0042】
P2Pネットワークに参加するピアノード同士は、初めにDHT(分散ハッシュテーブル)を参照するなどの適宜の方法によりノード情報を収集する。もしくは、コネクション要求に応答してコネクションを確立した相手ピアからノード情報を収集する。さらに、各ピアノードは相手ノードとの間にコネクションが確立されると,自ノードが所持しているコンテンツピースのリストを相互に交換し、さらにはピースを取得するたびにコネクションを確立したピアに所持しているノード情報を通知することを繰り返すので、ピースの収集が進行するにつれて、他のピアノードが所持しているピースの情報が多数蓄積されることになる。その結果、要求ピア1aは自ノードのノード情報を参照することにより、所望のコンテンツピースを所持している相手ピア候補を識別できるようになる。
【0043】
そこで、本実施形態では要求ピア1aがピースごとに相手ピア候補を識別できると、図11に示したように、自ノード1aおよび各相手ピア候補のIPアドレスが記述されたピア間距離要求をネットワーク距離管理サーバ4へ直接送信(ステップS41)する。要求ピア1aはさらに、各相手ピア候補と自ノードとのネットワーク距離指標値の記述されたピア間距離応答をネットワーク距離管理サーバ4から受信(ステップS42)すると、ピースごとに自ノードとのネットワーク距離が短い相手ピアを選択して当該相手ピアから優先的にピースを取得する。
【0044】
図12は、本実施形態の機能ブロック図であり、本実施形態の説明に不要な構成は図示および説明が省略されている。
【0045】
ピアノード1は、各参照サーバ3へ計測要求パケットを送信し、その計測応答パケットに基づいて自ノードと各参照サーバ3とのネットワーク距離指標値を計測する距離計測部11と、前記ネットワーク距離指標値の計測結果をネットワーク距離管理サーバ4へ通知する計測結果通知部12と、DHTや相手ピアからノード情報を取得するノード情報取得部14と、ノード情報に基づいて相手ピア候補を把握し、自ノードおよび相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバ4へ送信する距離要求部15と、ネットワーク距離管理サーバ4から自ノードと相手ピア候補とのネットワーク距離指標値が記述されたピア間距離応答を受信し、自ノードとのネットワーク距離が近いピアノードを優先的に相手ピアとする相手ピア選択部16とを含む。
【0046】
ネットワーク距離管理サーバ4は、各ピアノード1から通知されるピアノード/参照サーバ間のネットワーク距離指標値を受信して前記応答時間管理テーブル41に登録する計測結果管理部43と、前記応答時間管理テーブル41に基づいて各ピアノードペア間のネットワーク距離指標値を算出して前記ネットワーク距離管理テーブル42に登録する距離算出部44と、要求ピア1aから受信したピア間距離要求に応答して前記ネットワーク距離管理テーブル42を参照し、要求ピアと相手ピア候補とのネットワーク距離指標値を提供する距離応答部46とを含む。
【0047】
本実施形態によれば、要求ピアがピアリストを配信制御サーバ2からではなくDHTや相手ピアから取得する場合でも、ネットワーク距離のより短い相手ピアを選択できるようになる。
【0048】
[実施形態3]
上記の第1および第2実施形態では、要求ピア1aまたは配信制御サーバ2がネットワーク距離管理サーバ4から要求ピア1aと各相手ピア候補とのネットワーク距離指標値を取得するものとして説明したが、本発明はこれのみに限定されるものではなく、要求ピア1aおよび配信制御サーバ2のいずれもがネットワーク距離管理サーバ4からネットワーク距離指標値を取得するようにしても良い。
【0049】
図13は、本実施形態の動作を示したシーケンスフローであり、ここでは、各要求ピアが初めに配信制御サーバ2へピアリスト要求(S31)を送信して優先順位の付されたピアリストを取得(S36)し、相手ピアとの間にコネクションを確立してピースを取得する。その後は、コネクションを確立した相手ピースとピアノード情報を交換して相手ピア候補を識別し、各要求ピア1aがネットワーク距離管理サーバ4へ直に各相手ピア候補に関するピア間距離要求を送信(S41)してピア間距離の指標値を取得(S42)し、ネットワーク距離の近い相手ピアと優先的にコネクションを確立してピースを取得する。
【0050】
図14は、本実施形態の機能ブロック図であり、ここでは、本実施形態の説明に不要な構成は図示が省略されている。
【0051】
ピアノード1は、各参照サーバ3へ計測要求パケットを送信し、これに対して返信される計測応答パケットに基づいて自ノードと各参照サーバ3とのネットワーク距離指標値を計測する距離計測部11と、前記ネットワーク距離指標値の計測結果をネットワーク距離管理サーバ4へ通知する距離通知部12と、コンテンツ配信の要求ピア1aとして配信制御サーバ2へピアリスト要求を送信するピアリスト要求部13とを含む。
【0052】
ネットワーク距離管理サーバ4は、各ピアノード1から通知されるピアノード/参照サーバ間距離の指標値を受信して前記応答時間管理テーブル41に登録する計測結果管理部43と、前記応答時間管理テーブル41に基づいて各ピアノードペア間のネットワーク距離指標値を算出して前記ネットワーク距離管理テーブル42に登録する距離算出部44と、ピア間距離要求に応答して前記ネットワーク距離管理テーブル42を参照し、要求ピアと各相手ピア候補とのネットワーク距離指標値を提供する距離応答部45とを含む。
【0053】
配信制御サーバ2は、要求ピア1aから受信したピアリスト要求に応答して相手ピア候補を選択し、要求ピア1aのアドレス情報および少なくとも一つの相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバ4へ送信する距離要求部21と、前記ネットワーク距離管理サーバ4から要求ピア1aと各相手ピア候補とのネットワーク距離指標値が記述されたピア間距離応答を受信する距離取得部22と、要求ピア1aとのネットワーク距離が近い相手ピア候補ほど優先度が高く設定されたピアリストを生成するピアリスト生成部23と、このピアリストを含むピアリスト応答を要求ピア1aへ返信するピアリスト提供部24とを含む。
【0054】
前記ピアノード1はさらに、DHTやコネクションを確立した相手ピアからノード情報を取得するノード情報取得部14と、取得したノード情報に基づいて相手ピア候補を識別し、自ノードおよび相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバ4へ送信する距離要求部15と、ネットワーク距離管理サーバ4から自ノードと相手ピア候補とのネットワーク距離指標値が記述されたピア間距離応答を受信し、自ノードとのネットワーク距離が近いピアノードを優先的に相手ピアとする相手ピア選択部16とを含む。
【0055】
前記ネットワーク距離管理サーバ4はさらに、要求ピア1aから受信したピア間距離要求に応答して前記ネットワーク距離管理テーブル42を参照し、要求ピアと相手ピア候補とのネットワーク距離指標値を提供する距離応答部46を含む。
【0056】
[実施形態4]
上記の各実施形態では、P2Pネットワークに新たに参加するピアノードは、その全てが参照サーバ3とのネットワーク距離指標値を計測してネットワーク距離管理サーバ4へ通知するものとして説明したが、第4実施形態では、ピアノード1ごとにネットワーク距離計測の要否を判断し、距離計測が不要と判断されたピアノードは距離計測を免除されるようにしている。
【0057】
図15は、本実施形態の動作を示したフローチャートであり、前記ピアノード1およびネットワーク距離管理サーバ4の動作を示している。
【0058】
各ピアノード1は、各参照サーバ3とのネットワーク距離指標値を計測する以前の適宜のタイミングで、ステップS51において、ネットワーク距離管理サーバ4へ自ノードのIPアドレスが記述された距離計測要否判定要求を送信する。
【0059】
ネットワーク距離管理サーバ4は、ステップS61で当該判定要求を受信すると、ステップS62では、ピアノード1のIPアドレスに基づいて、そのプレフィックスが識別される。ネットワーク距離管理サーバ4は、図16に一例を示したように、既登録の各ピアノードを、そのプレフィックスで分類するプレフィックス分類テーブルを具備し、ステップS63では、前記識別されたプレフィックスと同一プレフィックスのピアノード1が前記プレフィックス分類テーブルに既登録であるか否かが判定される。未登録であれば、ステップS64へ進んで計測要判定がなされる。既登録であれば、ステップS65へ進んで計測不要判定がなされる。ステップS66では、前記判定結果の記述された距離計測要否判定応答が各ピアノード1へ返信される。
【0060】
各ピアノード1は、ステップS52で前記距離計測要否判定応答を受信するとステップS53へ進み、当該判定応答に記述されている判定結果が参照される。計測要判定であればステップS54へ進み、前記図2に関して説明したネットワーク距離指標値の計測およびその通知処理(ステップS1〜S4)が同様に実行される。これに対して、計測不要判定であれば、前記距離指標値の計測およびその通知処理を実施することなく終了する。
【0061】
前記ネットワーク距離管理サーバ4は、その後、配信制御サーバ2(第1,3実施形態)または要求ピア1a(第2,3実施形態)から要求ピアや相手ピアのIPアドレスの記述されたピア間距離要求を受信すると、各ピアノードの位置をプレフィックスが同一の他のピアノードの位置と同一であると見なしてピア間のネットワーク距離指標値を算出する。
【0062】
本実施形態によれば、プレフィックスが同一のピアノードがネットワーク距離管理サーバ4に既登録である他のピアノードは、自ノードと各参照サーバ3との距離計測を免除されるので、計測要求パケットおよびその応答パケットのトラフィックを削減できるようになる。
【符号の説明】
【0063】
1…ピアノード
2…配信制御サーバ配信制御サーバ
3…参照サーバ
4…ネットワーク距離管理サーバ
【特許請求の範囲】
【請求項1】
ネットワーク上に分散配置された複数のピアノード間のネットワーク距離を算出するシステムにおいて、
各ピアノードから受信した計測要求パケットに対して計測応答パケットを返信する複数の参照サーバと、
各ピアノードと各参照サーバとのネットワーク距離の指標となるネットワーク距離指標値に基づいて各ピアノード間のネットワーク距離指標値を算出するネットワーク距離管理サーバとを具備し、
前記各ピアノードが、
複数の参照サーバへ計測要求メッセージを送信する手段と、
前記各参照サーバから返信される計測応答メッセージに基づいて各参照サーバとのネットワーク距離指標値を算出する手段と、
前記各参照サーバとのネットワーク距離指標値を前記ネットワーク距離管理サーバへ登録する手段とを具備したことを特徴とするピアノード間のネットワーク距離算出システム。
【請求項2】
前記ネットワーク距離指標値が、前記計測要求メッセージに対する前記計測応答メッセージの応答遅延時間であることを特徴とする請求項1に記載のネットワーク距離算出システム。
【請求項3】
ネットワーク上に分散配置された複数のピアノード間のネットワーク距離を算出する方法において、
各ピアノードが、複数の参照サーバへ計測要求メッセージを送信する手順と、
各ピアノードが、前記各参照サーバから返信される計測応答メッセージに基づいて各参照サーバとのネットワーク距離の指標となるネットワーク距離指標値を算出する手順と、
各ピアノードが、前記各参照サーバとのネットワーク距離指標値をネットワーク距離管理サーバへ登録する手順と、
前記ネットワーク距離管理サーバが、各ピアノードと各参照サーバとのネットワーク距離指標値に基づいて各ピアノード間のネットワーク距離指標値を算出する手順とを含むことを特徴とするピアノード間のネットワーク距離算出方法。
【請求項4】
ネットワーク上に分散配置されたピアノード同士がP2P通信によりコンテンツファイルを送受信するP2P配信システムにおいて、
各ピアノードから受信した計測要求パケットに対して計測応答パケットを返信する複数の参照サーバと、
各ピアノードと各参照サーバとのネットワーク距離の指標となるネットワーク距離指標値に基づいて各ピアノード間のネットワーク距離指標値を算出するネットワーク距離管理サーバと、
各ピアノードから受信したピアリスト要求に応答して、相手ピア候補の記述されたピアリストを返信するP2P配信制御サーバとを具備し、
前記各ピアノードが、
複数の参照サーバへ計測要求メッセージを送信する手段と、
前記各参照サーバから返信される計測応答メッセージに基づいて各参照サーバとのネットワーク距離指標値を算出する手段と、
前記各参照サーバとのネットワーク距離指標値を前記ネットワーク距離管理サーバへ通知する手段と、
前記配信制御サーバへピアリストを要求する手段とを具備し、
前記配信制御サーバが、
前記ピアリスト要求に応答して相手ピア候補を選択する手段と、
前記ピアリストを要求したピアおよび各相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバへ送信する手段とを具備し、
前記ネットワーク距離管理サーバが、
前記通知された各ピアノードと各参照サーバとのネットワーク距離指標値に基づいて、各ピアノード間のネットワーク距離指標値を算出する手段と、
前記ピア間距離要求に応答して、要求ピアと各相手ピア候補とのネットワーク距離指標値の記述されたピア間距離応答を返信する手段とを具備し、
前記配信制御サーバがさらに、
前記ネットワーク距離管理サーバからピア間距離応答を受信する手段と、
要求ピアとのネットワーク距離が近い相手ピア候補ほど優先度が高く設定されたピアリストを生成する手段と、
前記ピアリストの記述されたピアリスト応答を前記要求ピアへ返信する手段とを具備し、
前記各ピアノードがさらに、
前記配信制御サーバからピアリストを受信する手段と、
前記ピアリストに基づいて、相手ピア候補の中から優先度の高い相手ピアを選択してコネクションを確立する手段とを具備したことを特徴とするP2P配信システム。
【請求項5】
ネットワーク上に分散配置されたピアノード同士がP2P通信によりコンテンツファイルを送受信するP2P配信システムにおいて、
各ピアノードから受信した計測要求パケットに対して計測応答パケットを返信する複数の参照サーバと、
各ピアノードと各参照サーバとのネットワーク距離の指標となるネットワーク距離指標値に基づいて各ピアノード間のネットワーク距離指標値を算出するネットワーク距離管理サーバとを具備し、
前記各ピアノードが、
複数の参照サーバへ計測要求メッセージを送信する手段と、
前記各参照サーバから返信される計測応答メッセージに基づいて各参照サーバとのネットワーク距離指標値を算出する手段と、
前記各参照サーバとのネットワーク距離指標値を前記ネットワーク距離管理サーバへ通知する手段と、
コンテンツピースを所持している相手ピア候補のアドレス情報を取得する手段と、
自ノードおよび各相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバへ送信する手段とを具備し、
前記ネットワーク距離管理サーバが、
前記通知された各ピアノードと各参照サーバとのネットワーク距離指標値に基づいて、各ピアノード間のネットワーク距離指標値を算出する手段と、
前記ピア間距離要求に応答して、その要求ピアと各相手ピア候補とのネットワーク距離指標値の記述されたピア間距離応答を返信する手段とを具備し、
前記各ピアノードがさらに、
前記ネットワーク距離管理サーバから、自ノードと各相手ピア候補とのネットワーク距離指標値が記述されたピア間距離応答を受信する手段と、
前記ピア間距離応答に基づいて、相手ピア候補の中から自ノードとのネットワーク距離がより近い相手ピア候補を優先的に選択してコネクションを確立する手段とを具備したことを特徴とするP2P配信システム。
【請求項6】
各ピアノードから受信したピアリスト要求に応答して、相手ピア候補の記述されたピアリストを返信する配信制御サーバをさらに具備し、
前記各ピアノードがさらに、
前記配信制御サーバへピアリストを要求する手段を具備し、
前記配信制御サーバが、
前記ピアリスト要求に応答して相手ピア候補を選択する手段と、
前記ピアリストを要求したピアおよび各相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバへ送信する手段と、
前記ネットワーク距離管理サーバから、要求ピアと各相手ピア候補とのネットワーク距離指標値が記述されたピア間距離応答を受信する手段と、
前記要求ピアとのネットワーク距離が近い相手ピア候補ほど優先度が高く設定されたピアリストを生成する手段と、
前記ピアリストの記述されたピアリスト応答を前記要求ピアへ返信する手段とを具備し、
前記各ピアノードがさらに、
前記配信制御サーバからピアリストを受信する手段と、
前記受信したピアリストに基づいて相手ピア候補の中から優先度の高い相手ピアを選択してコネクションを確立することを特徴とする請求項5に記載のP2P配信システム。
【請求項7】
前記各ピアノードにおいて、前記相手ピア候補のアドレス情報を取得する手段が、DHT(分散ハッシュテーブル)を参照して相手ピア候補のアドレス情報を取得することを特徴とする請求項5または6に記載のP2P配信システム。
【請求項8】
前記各ピアノードにおいて、前記相手ピア候補のアドレス情報を取得する手段が、コネクションを確立した相手ピアと交換したノード情報から相手ピア候補のアドレス情報を取得することを特徴とする請求項5または6に記載のP2P配信システム。
【請求項9】
前記各ピアノードが、
前記参照サーバへの計測要求メッセージの送信に先立って、前記ネットワーク距離管理サーバへ自ノードのアドレス情報が記述された距離計測要否判定要求を送信する手段と、
前記距離計測要否判定要求に対して返信される距離計測要否判定応答を受信する手段とを具備し、
前記ネットワーク距離管理サーバは、
前記距離計測要否判定要求に記述されているピアノードのアドレスとプレフィックスが同一の他のピアノードに関して、既に各参照サーバとの間のネットワーク距離が既登録であるか否かを判定する手段と、
既登録であれば距離計測が不要である旨の判定結果の記述された距離計測要否判定応答を返信する手段とを具備し、
前記各ピアノードは、前記距離計測要否判定応答において、各参照サーバとのネットワーク距離指標値の計測が不要と判定されていると前記計測要求メッセージを送信せず、
前記ネットワーク距離管理サーバは、プレフィックスが同一のピアノードはネットワーク上の位置が同一としてピアノード間のネットワーク距離指標値を算出することを特徴とする請求項4ないし8のいずれかに記載のP2P配信システム。
【請求項10】
前記ネットワーク距離指標値が、前記計測要求メッセージに対する前記計測応答メッセージの応答遅延時間であることを特徴とする請求項4ないし9のいずれかに記載のネットワーク距離算出システム。
【請求項1】
ネットワーク上に分散配置された複数のピアノード間のネットワーク距離を算出するシステムにおいて、
各ピアノードから受信した計測要求パケットに対して計測応答パケットを返信する複数の参照サーバと、
各ピアノードと各参照サーバとのネットワーク距離の指標となるネットワーク距離指標値に基づいて各ピアノード間のネットワーク距離指標値を算出するネットワーク距離管理サーバとを具備し、
前記各ピアノードが、
複数の参照サーバへ計測要求メッセージを送信する手段と、
前記各参照サーバから返信される計測応答メッセージに基づいて各参照サーバとのネットワーク距離指標値を算出する手段と、
前記各参照サーバとのネットワーク距離指標値を前記ネットワーク距離管理サーバへ登録する手段とを具備したことを特徴とするピアノード間のネットワーク距離算出システム。
【請求項2】
前記ネットワーク距離指標値が、前記計測要求メッセージに対する前記計測応答メッセージの応答遅延時間であることを特徴とする請求項1に記載のネットワーク距離算出システム。
【請求項3】
ネットワーク上に分散配置された複数のピアノード間のネットワーク距離を算出する方法において、
各ピアノードが、複数の参照サーバへ計測要求メッセージを送信する手順と、
各ピアノードが、前記各参照サーバから返信される計測応答メッセージに基づいて各参照サーバとのネットワーク距離の指標となるネットワーク距離指標値を算出する手順と、
各ピアノードが、前記各参照サーバとのネットワーク距離指標値をネットワーク距離管理サーバへ登録する手順と、
前記ネットワーク距離管理サーバが、各ピアノードと各参照サーバとのネットワーク距離指標値に基づいて各ピアノード間のネットワーク距離指標値を算出する手順とを含むことを特徴とするピアノード間のネットワーク距離算出方法。
【請求項4】
ネットワーク上に分散配置されたピアノード同士がP2P通信によりコンテンツファイルを送受信するP2P配信システムにおいて、
各ピアノードから受信した計測要求パケットに対して計測応答パケットを返信する複数の参照サーバと、
各ピアノードと各参照サーバとのネットワーク距離の指標となるネットワーク距離指標値に基づいて各ピアノード間のネットワーク距離指標値を算出するネットワーク距離管理サーバと、
各ピアノードから受信したピアリスト要求に応答して、相手ピア候補の記述されたピアリストを返信するP2P配信制御サーバとを具備し、
前記各ピアノードが、
複数の参照サーバへ計測要求メッセージを送信する手段と、
前記各参照サーバから返信される計測応答メッセージに基づいて各参照サーバとのネットワーク距離指標値を算出する手段と、
前記各参照サーバとのネットワーク距離指標値を前記ネットワーク距離管理サーバへ通知する手段と、
前記配信制御サーバへピアリストを要求する手段とを具備し、
前記配信制御サーバが、
前記ピアリスト要求に応答して相手ピア候補を選択する手段と、
前記ピアリストを要求したピアおよび各相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバへ送信する手段とを具備し、
前記ネットワーク距離管理サーバが、
前記通知された各ピアノードと各参照サーバとのネットワーク距離指標値に基づいて、各ピアノード間のネットワーク距離指標値を算出する手段と、
前記ピア間距離要求に応答して、要求ピアと各相手ピア候補とのネットワーク距離指標値の記述されたピア間距離応答を返信する手段とを具備し、
前記配信制御サーバがさらに、
前記ネットワーク距離管理サーバからピア間距離応答を受信する手段と、
要求ピアとのネットワーク距離が近い相手ピア候補ほど優先度が高く設定されたピアリストを生成する手段と、
前記ピアリストの記述されたピアリスト応答を前記要求ピアへ返信する手段とを具備し、
前記各ピアノードがさらに、
前記配信制御サーバからピアリストを受信する手段と、
前記ピアリストに基づいて、相手ピア候補の中から優先度の高い相手ピアを選択してコネクションを確立する手段とを具備したことを特徴とするP2P配信システム。
【請求項5】
ネットワーク上に分散配置されたピアノード同士がP2P通信によりコンテンツファイルを送受信するP2P配信システムにおいて、
各ピアノードから受信した計測要求パケットに対して計測応答パケットを返信する複数の参照サーバと、
各ピアノードと各参照サーバとのネットワーク距離の指標となるネットワーク距離指標値に基づいて各ピアノード間のネットワーク距離指標値を算出するネットワーク距離管理サーバとを具備し、
前記各ピアノードが、
複数の参照サーバへ計測要求メッセージを送信する手段と、
前記各参照サーバから返信される計測応答メッセージに基づいて各参照サーバとのネットワーク距離指標値を算出する手段と、
前記各参照サーバとのネットワーク距離指標値を前記ネットワーク距離管理サーバへ通知する手段と、
コンテンツピースを所持している相手ピア候補のアドレス情報を取得する手段と、
自ノードおよび各相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバへ送信する手段とを具備し、
前記ネットワーク距離管理サーバが、
前記通知された各ピアノードと各参照サーバとのネットワーク距離指標値に基づいて、各ピアノード間のネットワーク距離指標値を算出する手段と、
前記ピア間距離要求に応答して、その要求ピアと各相手ピア候補とのネットワーク距離指標値の記述されたピア間距離応答を返信する手段とを具備し、
前記各ピアノードがさらに、
前記ネットワーク距離管理サーバから、自ノードと各相手ピア候補とのネットワーク距離指標値が記述されたピア間距離応答を受信する手段と、
前記ピア間距離応答に基づいて、相手ピア候補の中から自ノードとのネットワーク距離がより近い相手ピア候補を優先的に選択してコネクションを確立する手段とを具備したことを特徴とするP2P配信システム。
【請求項6】
各ピアノードから受信したピアリスト要求に応答して、相手ピア候補の記述されたピアリストを返信する配信制御サーバをさらに具備し、
前記各ピアノードがさらに、
前記配信制御サーバへピアリストを要求する手段を具備し、
前記配信制御サーバが、
前記ピアリスト要求に応答して相手ピア候補を選択する手段と、
前記ピアリストを要求したピアおよび各相手ピア候補のアドレス情報が記述されたピア間距離要求を前記ネットワーク距離管理サーバへ送信する手段と、
前記ネットワーク距離管理サーバから、要求ピアと各相手ピア候補とのネットワーク距離指標値が記述されたピア間距離応答を受信する手段と、
前記要求ピアとのネットワーク距離が近い相手ピア候補ほど優先度が高く設定されたピアリストを生成する手段と、
前記ピアリストの記述されたピアリスト応答を前記要求ピアへ返信する手段とを具備し、
前記各ピアノードがさらに、
前記配信制御サーバからピアリストを受信する手段と、
前記受信したピアリストに基づいて相手ピア候補の中から優先度の高い相手ピアを選択してコネクションを確立することを特徴とする請求項5に記載のP2P配信システム。
【請求項7】
前記各ピアノードにおいて、前記相手ピア候補のアドレス情報を取得する手段が、DHT(分散ハッシュテーブル)を参照して相手ピア候補のアドレス情報を取得することを特徴とする請求項5または6に記載のP2P配信システム。
【請求項8】
前記各ピアノードにおいて、前記相手ピア候補のアドレス情報を取得する手段が、コネクションを確立した相手ピアと交換したノード情報から相手ピア候補のアドレス情報を取得することを特徴とする請求項5または6に記載のP2P配信システム。
【請求項9】
前記各ピアノードが、
前記参照サーバへの計測要求メッセージの送信に先立って、前記ネットワーク距離管理サーバへ自ノードのアドレス情報が記述された距離計測要否判定要求を送信する手段と、
前記距離計測要否判定要求に対して返信される距離計測要否判定応答を受信する手段とを具備し、
前記ネットワーク距離管理サーバは、
前記距離計測要否判定要求に記述されているピアノードのアドレスとプレフィックスが同一の他のピアノードに関して、既に各参照サーバとの間のネットワーク距離が既登録であるか否かを判定する手段と、
既登録であれば距離計測が不要である旨の判定結果の記述された距離計測要否判定応答を返信する手段とを具備し、
前記各ピアノードは、前記距離計測要否判定応答において、各参照サーバとのネットワーク距離指標値の計測が不要と判定されていると前記計測要求メッセージを送信せず、
前記ネットワーク距離管理サーバは、プレフィックスが同一のピアノードはネットワーク上の位置が同一としてピアノード間のネットワーク距離指標値を算出することを特徴とする請求項4ないし8のいずれかに記載のP2P配信システム。
【請求項10】
前記ネットワーク距離指標値が、前記計測要求メッセージに対する前記計測応答メッセージの応答遅延時間であることを特徴とする請求項4ないし9のいずれかに記載のネットワーク距離算出システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2011−198033(P2011−198033A)
【公開日】平成23年10月6日(2011.10.6)
【国際特許分類】
【出願番号】特願2010−64101(P2010−64101)
【出願日】平成22年3月19日(2010.3.19)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】
【公開日】平成23年10月6日(2011.10.6)
【国際特許分類】
【出願日】平成22年3月19日(2010.3.19)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】
[ Back to top ]