JP2005227842A - P2p通信におけるレプリケーション手法およびそれを具備する装置、ならびにそのプログラム - Google Patents
P2p通信におけるレプリケーション手法およびそれを具備する装置、ならびにそのプログラム Download PDFInfo
- Publication number
- JP2005227842A JP2005227842A JP2004033357A JP2004033357A JP2005227842A JP 2005227842 A JP2005227842 A JP 2005227842A JP 2004033357 A JP2004033357 A JP 2004033357A JP 2004033357 A JP2004033357 A JP 2004033357A JP 2005227842 A JP2005227842 A JP 2005227842A
- Authority
- JP
- Japan
- Prior art keywords
- servant
- replication
- servants
- file
- hits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】レプリケーションをなるべく空間的に適当な位置に配布させて、回線やサーバントにかかる負荷(トラヒック)を分散させ、サーバントや回線の輻輳を回避させる。
【解決手段】直近の時間内での各サーバントの持つファイル毎のヒット数を記録する手段8と、予め設定した閾値と比較し閾値を超える場合に、目的のサーバントにレプリケーション要求および該ファイルを送信する手段4,10と、レプリケーション要求を受信した時に、要求とともに送られてきたファイルを蓄積するメモリ手段11,5とを備える。また、各サーバントの方路に対して、kホップ先の各サーバントとの往復遅延時間を測定する手段4と、kjホップ先のサーバントの合計数が閾値を超えたか否かを判断する手段4,6と、往復遅延時間の大きい順に各サーバントをソートし、上位から予定数置きにレプリケーションを実施する手段6とを備える。
【選択図】 図5
【解決手段】直近の時間内での各サーバントの持つファイル毎のヒット数を記録する手段8と、予め設定した閾値と比較し閾値を超える場合に、目的のサーバントにレプリケーション要求および該ファイルを送信する手段4,10と、レプリケーション要求を受信した時に、要求とともに送られてきたファイルを蓄積するメモリ手段11,5とを備える。また、各サーバントの方路に対して、kホップ先の各サーバントとの往復遅延時間を測定する手段4と、kjホップ先のサーバントの合計数が閾値を超えたか否かを判断する手段4,6と、往復遅延時間の大きい順に各サーバントをソートし、上位から予定数置きにレプリケーションを実施する手段6とを備える。
【選択図】 図5
Description
本発明は、IP(Internet Protocol)ネットワーク上で、いわゆるP2P(Peer−to−Peer)型通信を行う場合に、ある短時間内であるサーバントへの検索やダウンロードの負荷が集中することを防ぐために、予めダウンロードを要求されるファイルのレプリケーションを実行して負荷分散を図ることにより、回線やサーバントの輻輳を防止することを目的としたP2P通信におけるレプリケーション手法およびそれを具備する装置、ならびにそのプログラムに関する。
二者間通信において、双方のノードが対等に通信すること、およびそのネットワーク形態をP2Pと呼ぶ。すなわち、P2P型のネットワークは、WWWのアーキテクチャのクライアント/サーバ型のような上下関係がなく、情報の発信者も受信者も対等な関係にある。
P2P型通信には、大別して次の2種類の型がある。
1)Napster型:目的情報の所在を一括管理する専用サーバが存在するタイプである。最初は、ナップスターがホームページ上に公開して無料配布しているソフトウェアをパソコンにセットしてからインターネットに接続して、このソフトを起動すると、世界中のナップスターのユーザが各々のパソコンのディスクにファイル保存しているMP3形式の楽曲ファイルが画面に表示されていた。この場合、音楽の著作権の侵害問題が生じている。
この型式は、各サーバントからの検索要求パケットが、専用サーバに集中するため、サーバボトルネックとなり易い。
P2P型通信には、大別して次の2種類の型がある。
1)Napster型:目的情報の所在を一括管理する専用サーバが存在するタイプである。最初は、ナップスターがホームページ上に公開して無料配布しているソフトウェアをパソコンにセットしてからインターネットに接続して、このソフトを起動すると、世界中のナップスターのユーザが各々のパソコンのディスクにファイル保存しているMP3形式の楽曲ファイルが画面に表示されていた。この場合、音楽の著作権の侵害問題が生じている。
この型式は、各サーバントからの検索要求パケットが、専用サーバに集中するため、サーバボトルネックとなり易い。
2)Gnutella型:目的情報の所在を伝言ゲーム方式で次々に問い合わせていくタイプである。これは、ナップスターと同じような分散ファイル共有技術(グヌーテラ)であって、検索エンジンはインフラサーチと呼ばれる。遠隔地に分散している情報を共有して、学術研究やビジネスに役立てることが可能である。
この型式は、TTLに設定された値のホップ数の範囲まで次々に目的の情報の有無を隣接サーバントに対して問い合わせていき、各サーバントでは、隣接サーバントへ延ばしている『腕』の分だけ分岐されてパケットが送出されることになる。このような情報検索パケットが多数のサーバントから並列に発信される場合には、網内のパケット数が爆発的に増加するため、網内の広域にわたり混雑が予想される。
この型式は、TTLに設定された値のホップ数の範囲まで次々に目的の情報の有無を隣接サーバントに対して問い合わせていき、各サーバントでは、隣接サーバントへ延ばしている『腕』の分だけ分岐されてパケットが送出されることになる。このような情報検索パケットが多数のサーバントから並列に発信される場合には、網内のパケット数が爆発的に増加するため、網内の広域にわたり混雑が予想される。
なお、P2Pに関しては、(2)Q.Lv,P.Cao,E.Cohen,K.Li,and S.Shenker,“Search and replication in unstructured peer−to−pear networks,”proceedings of 16th ACM International Conference on Supercomputing(ICS’02),2002.(非特許文献2参照)、および、(3)後藤,阿多,村田:“P2Pネットワークにおけるサービス安定性向上のためのレプリケーション配置手法”信学技報NS2002−152,Oct.2003.(非特許文献3参照)、および(4)能上,内田:“Pure型P2Pにおけるファイル検索&レプリケーションについて,”信学総大2004(2004年3月発表予定)(非特許文献4参照)がある。
伊藤直樹:P2Pコンピューティング(ソフト・リサーチ・センター)
Q.Lv,P.Cao,E.Cohen,K.Li,and S.Shenker,"Search and replication in unstructured peer−to−pear networks,"proceedings of 16th ACM International Conference on Supercomputing(ICS’02),2002.
後藤,阿多,村田:"P2Pネットワークにおけるサービス安定性向上のためのレプリケーション配置手法"信学技報NS2002−152,Oct.2003.
能上,内田:"Pure型P2Pにおけるファイル検索&レプリケーションについて,"信学総大2004(2004年3月発表予定)
IP網において、P2P型通信を行っている場合に、ある人気コンテンツ(ファイル)へのダウンロード要求が、短時間内に急激に増加し、それを保持しているサーバントに対して検索パケットが集中し、その後ダウンロード要求も集中する可能性がある。その場合には、その該当する(そのファイルを持っている)サーバント自身の負荷が増加するとともに、そのサーバント周辺の物理的回線も輻輳することが考えられる。
このような場合には、なるべく事前に当該コンテンツの複製(レプリカ)を他のサーバントに送っておき、サーバントの負荷や回線の使用率上昇を抑える手法がある(これをレプリケーションという)(上記非特許文献2〜4参照)。
このような場合には、なるべく事前に当該コンテンツの複製(レプリカ)を他のサーバントに送っておき、サーバントの負荷や回線の使用率上昇を抑える手法がある(これをレプリケーションという)(上記非特許文献2〜4参照)。
(目的)
本発明の目的は、このレプリケーションをなるべく空間的に適当な位置に配布させて、回線やサーバントにかかる負荷(トラヒック)を分散させるとともに、ファイルを見つけられる確率(ヒット率)を高く保ち、一時的な負荷の集中を避けることにより、サーバントや回線の輻輳を回避させることが可能なP2P通信におけるレプリケーション手法およびそれを具備する装置、ならびにそのプログラムを提供することにある。
本発明の目的は、このレプリケーションをなるべく空間的に適当な位置に配布させて、回線やサーバントにかかる負荷(トラヒック)を分散させるとともに、ファイルを見つけられる確率(ヒット率)を高く保ち、一時的な負荷の集中を避けることにより、サーバントや回線の輻輳を回避させることが可能なP2P通信におけるレプリケーション手法およびそれを具備する装置、ならびにそのプログラムを提供することにある。
本発明のP2P通信におけるレプリケーション手法は、1)トリガの決定法(請求項1対応)、2)ランダムな決定法(請求項2対応)、3)測定値による決定法(請求項3対応)、4)過去のレプリケーション情報を用いた決定法(請求項4対応)に分けられる。
P2P型通信においては、ある時刻である特定のファイル探索および転送要求が集中しそうなときには、レプリケーションを行って、なるべく『物理的な空間(ネットワーク)上での負荷分散』がなされるようにする。ただし、P2Pレイヤのネットワーク上での各サーバントの結合の仕方(すなわち、腕がどの隣接サーバントに対してつながっているか)は、必ずしも物理的ネットワーク上での結合の仕方と対応がついていない。すなわち、P2Pレイヤ上では、隣接サーバント(ノード)であっても、物理ネットワーク上での距離は非常に遠い場合もあり得る一方、その逆もあり得る。そこで、P2Pレイヤ上である程度の距離(ホップ数)をおいたサーバント間でレプリケーションを行っておくことにより、物理ネットワーク上でもある程度のばらつき程度でファイルを配置させようとする手法が、本発明のP2P通信におけるレプリケーション手法である。
P2P型通信においては、ある時刻である特定のファイル探索および転送要求が集中しそうなときには、レプリケーションを行って、なるべく『物理的な空間(ネットワーク)上での負荷分散』がなされるようにする。ただし、P2Pレイヤのネットワーク上での各サーバントの結合の仕方(すなわち、腕がどの隣接サーバントに対してつながっているか)は、必ずしも物理的ネットワーク上での結合の仕方と対応がついていない。すなわち、P2Pレイヤ上では、隣接サーバント(ノード)であっても、物理ネットワーク上での距離は非常に遠い場合もあり得る一方、その逆もあり得る。そこで、P2Pレイヤ上である程度の距離(ホップ数)をおいたサーバント間でレプリケーションを行っておくことにより、物理ネットワーク上でもある程度のばらつき程度でファイルを配置させようとする手法が、本発明のP2P通信におけるレプリケーション手法である。
本発明によれば、P2P型通信を行う場合に、網内の問い合わせやダウンロード要求が集中しそうな対象ファイルに対してレプリケーションを行って分散配置させ、一時的な負荷の集中を避けるための手順、手法を確立させることが可能であるので、サーバントや回線の輻輳を回避させることができる。
(実施例1)
図1は、本発明の実施例1に係るレプリケーション手法(トリガの決定法)(請求項1に対応)の動作フローチャートである。
P2P通信(例えば、伊藤直樹:P2Pコンピューティング(ソフト・リサーチ・センター)(非特許文献1))における各サーバント(Servant)が、自分自身が持っているファイルαへの他のサーバントからの検索がヒットする数(つなわち、自分自身が持っているファイルαを他サーバントが捜しており、自分自身への検索(query)が到着することにより、このファイルαをヒットした数(見つけた数)を観測しておき、ある単位時間T内でその数が閾値を超えた場合に、他のサーバントへそのファイルの複製(レプリカ)を作成する方法である。
図1は、本発明の実施例1に係るレプリケーション手法(トリガの決定法)(請求項1に対応)の動作フローチャートである。
P2P通信(例えば、伊藤直樹:P2Pコンピューティング(ソフト・リサーチ・センター)(非特許文献1))における各サーバント(Servant)が、自分自身が持っているファイルαへの他のサーバントからの検索がヒットする数(つなわち、自分自身が持っているファイルαを他サーバントが捜しており、自分自身への検索(query)が到着することにより、このファイルαをヒットした数(見つけた数)を観測しておき、ある単位時間T内でその数が閾値を超えた場合に、他のサーバントへそのファイルの複製(レプリカ)を作成する方法である。
図1において、各サーバントでは、問い合わせパケットが到着したか否かを判断し(ステップ102)、到着したならば、番号を初期化し(i=0)(ステップ103)、i=1として(ステップ104)、それがファイルαiへの要求であるならば(ステップ105)、ファイルαiのヒット情報を更新し(ステップ108)、直近T時間での当該ファイルへのヒット数が閾値以下である場合には(ステップ109)、再度、スタートに戻って問い合わせパケットの到着を監視し(ステップ102)、ヒット数が閾値を超えていた場合には、レプリケーションを実行する(ステップ110)。
一方、ファイルαiへの要求でない場合には(ステップ105)、iのカウント値(つまり、到着した問い合わせパケットの数)が予め定めたN未満の場合には、ステップ104に戻って番号を1ずつ加算しながら、ファイルαiへの要求であるか否かの判断を行い、また、カウント値iがNを超えたならば(ステップ106)、当該ファイルは無しと判断して、最初に戻る(ステップ107)。
一方、ファイルαiへの要求でない場合には(ステップ105)、iのカウント値(つまり、到着した問い合わせパケットの数)が予め定めたN未満の場合には、ステップ104に戻って番号を1ずつ加算しながら、ファイルαiへの要求であるか否かの判断を行い、また、カウント値iがNを超えたならば(ステップ106)、当該ファイルは無しと判断して、最初に戻る(ステップ107)。
(実施例2)
図2は、本発明の実施例2に係るレプリケーション手法(ランダムな決定法)(請求項2に対応)の動作フローチャートである。
実施例2は、P2Pレイヤ上でランダムに配置させておく方法であって、ここでは、ある当該サーバントから、k1ホップ先のサーバントN1個を考える。それらのサーバントの腕の数がある閾値m以上であれば、確率P(腕の数に比例した割合)でレプリケーションを行い、そうでなければレプリケーションを行わない。さらに、そのN1個のサーバントを対象に、各サーバントの方路のうち割合XのMi方路(Mi=「「X*Deg(i)」」)をランダムに選択し、k1ホップ先まで進ませる(ただし、「「X*Deg(i)」」はX*Deg(i)を超えない最大の整数)。
次に、その対象となるそれぞれのサーバントに対して、上記と同様の判断(レプリケーション対象とするか否か)を行う。このステップをL回繰り返す。
図2は、本発明の実施例2に係るレプリケーション手法(ランダムな決定法)(請求項2に対応)の動作フローチャートである。
実施例2は、P2Pレイヤ上でランダムに配置させておく方法であって、ここでは、ある当該サーバントから、k1ホップ先のサーバントN1個を考える。それらのサーバントの腕の数がある閾値m以上であれば、確率P(腕の数に比例した割合)でレプリケーションを行い、そうでなければレプリケーションを行わない。さらに、そのN1個のサーバントを対象に、各サーバントの方路のうち割合XのMi方路(Mi=「「X*Deg(i)」」)をランダムに選択し、k1ホップ先まで進ませる(ただし、「「X*Deg(i)」」はX*Deg(i)を超えない最大の整数)。
次に、その対象となるそれぞれのサーバントに対して、上記と同様の判断(レプリケーション対象とするか否か)を行う。このステップをL回繰り返す。
図2において、jはレプリケーション実行決定処理の回数の番号であり、iは実施例1と同じく問い合わせパケットの到着数の番号である。先ず、jの初期化を行った後(ステップ112)、1回目の処理を開始し(ステップ113)、次にiの初期化を行った後(ステップ114)、問い合わせパケットの到着があれば、iに1を加算する(ステップ115)。パケットが到着した方路、つまり腕の数が閾値m以上であるか否かを判断し(ステップ116)、m以上であれば、確率Pでレプリケーションを実行する(ステップ117)。一方、m未満であれば、レプリケーションは非実行となる(ステップ118)。
そして、パケットの到着数iがNj未満であれば(ステップ119)、パケット到着回数の加算処理に戻り(ステップ115)、iがNj以上になったならば(ステップ119)、jがL回以上行われたか否かを判定し(ステップ120)、L回未満の場合には、最初に戻ってjの回数を加算する(ステップ113)。L回以上行ったならば(ステップ119)、処理を終了する。
そして、パケットの到着数iがNj未満であれば(ステップ119)、パケット到着回数の加算処理に戻り(ステップ115)、iがNj以上になったならば(ステップ119)、jがL回以上行われたか否かを判定し(ステップ120)、L回未満の場合には、最初に戻ってjの回数を加算する(ステップ113)。L回以上行ったならば(ステップ119)、処理を終了する。
図2において、例えば、k1=2,m=2,L=5,P=1とすると、1ホップごとの各サーバントに対して、そのサーバントからの腕が2以上であればレプリケーションを行い、そうでなければレプリケーションを行わないということを5ステップ繰り返す。
これは、各サーバントからの腕の数が多いほど、より多くの確率でファイルを配置させておこうという方法である。このように、k1,m,L,Pの値を種々に変更することにより、腕の数の閾値を大きくしたり、あるいは、レプリケーション実行決定の回数をさらに多くしたり、あるいは、少なくすることもできる。
これは、各サーバントからの腕の数が多いほど、より多くの確率でファイルを配置させておこうという方法である。このように、k1,m,L,Pの値を種々に変更することにより、腕の数の閾値を大きくしたり、あるいは、レプリケーション実行決定の回数をさらに多くしたり、あるいは、少なくすることもできる。
(実施例3)
図3は、本発明の実施例3に係るレプリケーション手法(測定値による決定法)(請求項3に対応)の動作フローチャートである。
この方法は、レプリケーションを行うに際して、測定によりレプリケーションを行うサーバントを決定する手順である。すなわち、自分から出ている腕(方路)のそれぞれに対して、k1ホップ先のサーバントに対してそれぞれRTT(Round Trip Time:往復遅延時間)を測定する。具体的な方法としては、Pingパケットを飛ばし、戻ってきたPingパケットにより相手サーバントのIPアドレスがわかると、そのアドレス宛に測定パケットを飛ばし、発着の時間差を測定する。同様に、k2,k3,・・kj先のサーバントまでのRTTを測定する。ただし、jは、ΣM(kj)>Nとなる最小の整数であり、M(kj)は、kjホップ先のサーバントの合計数、Nはある定数である。
また、kjはある規則に従った系列であり(例えば、kj=5×j、ここでj=1,2,3,・・・)、jに関して単調増加する(k1<k2<・・・)性質を持つものとする。
この結果、対象となったΣM(kj)(>N)のサーバントのそれぞれのRTTの大きな順番にソートし、上位からLL個置きにレプリケーション対象とする。
図3は、本発明の実施例3に係るレプリケーション手法(測定値による決定法)(請求項3に対応)の動作フローチャートである。
この方法は、レプリケーションを行うに際して、測定によりレプリケーションを行うサーバントを決定する手順である。すなわち、自分から出ている腕(方路)のそれぞれに対して、k1ホップ先のサーバントに対してそれぞれRTT(Round Trip Time:往復遅延時間)を測定する。具体的な方法としては、Pingパケットを飛ばし、戻ってきたPingパケットにより相手サーバントのIPアドレスがわかると、そのアドレス宛に測定パケットを飛ばし、発着の時間差を測定する。同様に、k2,k3,・・kj先のサーバントまでのRTTを測定する。ただし、jは、ΣM(kj)>Nとなる最小の整数であり、M(kj)は、kjホップ先のサーバントの合計数、Nはある定数である。
また、kjはある規則に従った系列であり(例えば、kj=5×j、ここでj=1,2,3,・・・)、jに関して単調増加する(k1<k2<・・・)性質を持つものとする。
この結果、対象となったΣM(kj)(>N)のサーバントのそれぞれのRTTの大きな順番にソートし、上位からLL個置きにレプリケーション対象とする。
図3において、jはレプリケーション実行処理の回数であり、iは実施例1,2と同じく問い合わせパケットの到着回数である。先ず、処理回数jの初期化を行い(ステップ112)、1回目を開始する(ステップ113)。次に、到着回数iの初期化を行い(ステップ114)、問い合わせのパケットが到着すると、1を加算する(ステップ115)。kjホップ先の1番目のサーバントのIPアドレスを把握するとともに、RTTを測定する(ステップ121)。予め定めたkjホップ先まで調べ尽くしたか否かを判定し(ステップ122)、未だであれば、ステップ115に戻って到着パケット毎に1加算する。また、kjホップ先まで調べ尽くしたならば(ステップ122)、M(kj)、つまりkjホップ先のサーバントの合計数が予め定めた定数Nを超えるまでは(ステップ123)、ステップ113に戻って、何回も繰り返し行う。予め定めた定数Nを超えたならば(ステップ123)、各サーバントをRTTの大きい順序でソートし(ステップ124)、RTTの上位からLL個置きにレプリケーションを実施する(ステップ125)。
図3に基づいて対象としたサーバントを絞り、それらと当該サーバントとの物理的な距離(RTT)を測定する。そして、その上位からある飛び飛びの値で対象を選択する(例えば、対象サーバントが30個あるものとして、1位、4位、・・・と3個置きに10個を選択)。これにより、ある程度、物理的距離のばらついたサーバントに対してレプリケーションが行われることになる。
(実施例4)
図4は、本発明の実施例4に係るレプリケーション手法(過去のレプリケーション情報を用いた決定法)(請求項4に対応)の動作フローチャートである。
この方法は、レプリケーションを行うに際して、直近に実行されたレプリケーション履歴を参照して、今回レプリケーションを行うサーバントを決定する手順を示すものである。
レプリケーションを行うサーバントを決定する手順において、過去に実行したレプリケーションのうち、直近NN回のレプリケーション対象サーバント(この数を合計LM個とする)に対して、対象ファイルのヒット数(レプリケーションされたファイルが、(レプリケーション実行時から現在までに)他のサーバントからどれだけ検索され、ヒットしたか)を問い合わせ、このLM個のうちのヒット数上位MM個のサーバントを今回のレプリケーションの対象サーバントとする方法である。
図4は、本発明の実施例4に係るレプリケーション手法(過去のレプリケーション情報を用いた決定法)(請求項4に対応)の動作フローチャートである。
この方法は、レプリケーションを行うに際して、直近に実行されたレプリケーション履歴を参照して、今回レプリケーションを行うサーバントを決定する手順を示すものである。
レプリケーションを行うサーバントを決定する手順において、過去に実行したレプリケーションのうち、直近NN回のレプリケーション対象サーバント(この数を合計LM個とする)に対して、対象ファイルのヒット数(レプリケーションされたファイルが、(レプリケーション実行時から現在までに)他のサーバントからどれだけ検索され、ヒットしたか)を問い合わせ、このLM個のうちのヒット数上位MM個のサーバントを今回のレプリケーションの対象サーバントとする方法である。
図4において、iは実施例1〜3と同じく問い合わせパケットの到着数である。先ず、iを初期化し(ステップ112)、パケット到着とともに1を加算する(ステップ113)。直近i番目のレプリケーション対象サーバントに対して、現時点までのヒット数を問い合わせる(ステップ131)。調査は直近のNN個以上が終了したか否かを判別し(ステップ132)、未だであれば、ステップ113に戻って到着パケットの回数が1ずつ加算されるのを待つ。NN個以上になった時点で(ステップ132)、LM個の各サーバントをヒット数の大きい順番にソートする(ステップ133)。上位からMM番目までのサーバントにレプリケーションを実施する(ステップ134)。
図4のレプリケーションを行うサーバントを決定する手順において、過去に実行したレプリケーションのうち、過去に実施したレプリケーション対象サーバントのうち、よくヒットしているサーバントは実際に負荷分散効果が大きいと判断して、引続きレプリケーションを行う方法をとる。具体的には、直近3回のレプリケーション対象サーバント(合計10個とする)に対して、対象ファイルのヒット数を問い合わせ、この10個のうちのヒット数上位5個のサーバントを今回のレプリケーションの対象サーバントする方法である。
(実施例5)
図5は、本発明の実施例5に係るサーバントの内部機能図である。
図5において、1は当該サーバント、12はIP網、2は入出力管理部、3はプロセッシング部、4は情報解析部、5はメモリ部、6はレプリケーション情報解析部、7はメモリ管理部、8はメモリ、9はPAD、10はパケット送信部、11はパケット受信部である。
サーバントは、実施例1〜4で述べた検索方法を実現するために、各サーバントとして用いられる次の特徴を有する装置である。
(1)直近の時間T内での自身の持つファイル毎のヒット数を記録し、それを予め設定しておいた閾値と比較し、それが閾値を超えた場合に、目的のサーバント(実施例1の方法で定められ、IPアドレスが入手されている)にレプリケーション要求およびそのファイル自身を送る機能を有する。また、レプリケーション要求を受け取ったときに、それとともに送られてきたファイルを自分自身に蓄積する機能(2,3,5,10,11)を有する。
図5は、本発明の実施例5に係るサーバントの内部機能図である。
図5において、1は当該サーバント、12はIP網、2は入出力管理部、3はプロセッシング部、4は情報解析部、5はメモリ部、6はレプリケーション情報解析部、7はメモリ管理部、8はメモリ、9はPAD、10はパケット送信部、11はパケット受信部である。
サーバントは、実施例1〜4で述べた検索方法を実現するために、各サーバントとして用いられる次の特徴を有する装置である。
(1)直近の時間T内での自身の持つファイル毎のヒット数を記録し、それを予め設定しておいた閾値と比較し、それが閾値を超えた場合に、目的のサーバント(実施例1の方法で定められ、IPアドレスが入手されている)にレプリケーション要求およびそのファイル自身を送る機能を有する。また、レプリケーション要求を受け取ったときに、それとともに送られてきたファイルを自分自身に蓄積する機能(2,3,5,10,11)を有する。
(2)自分自身の各腕(方路)に対して、kホップ先の各サーバントとのRTTを測定する機能(4,10,11)を有する。具体的には、発信時刻をセットしたタイマーを含む『計測パケット』を目的のサーバントにパケット送信部10から送信し、受け取ったサーバントがそれを受け取り次第、送り返すようなコマンドを含め、その送り返された『計測パケット』をパケット受信部11で受け取り次第、着時刻と発時刻との差からRTTを特定し、その情報を各サーバント毎の情報として格納しておく機能である(実施例3の方法)。
(3)過去に実行したレプリケーション情報を格納しておく機能(5)、およびそのサーバントに対してヒット情報を問い合わせて、その情報をサーバント毎に格納しておく機能(3,5)を有する。具体的には、次のような情報セットを保持する。
(R1(S1,Q1,T1),R2(S2,Q2,R2),・・・,RN(SN,QN,TN))
また、
Sk={Nk1(A,h,H),Nk2(A,h,H),・・・,Nki(A,h,H),・・・・・}
(R1(S1,Q1,T1),R2(S2,Q2,R2),・・・,RN(SN,QN,TN))
また、
Sk={Nk1(A,h,H),Nk2(A,h,H),・・・,Nki(A,h,H),・・・・・}
ここで、
Rk・・・現時点から遡ってk番目に行ったレプリケーション情報
Sk・・・現時点から遡ってk番目にレプリケーションを行ったサーバントの集合
Qk・・・レプリケーションを行ったファイル名
Tk・・・時刻
Nki・・・現時点から遡ってk番目にレプリケーションを行ったi番目のサーバント の情報
A・・・そのサーバントのIPアドレス
h・・・当該サーバントからそのサーバントまでのホップ数
H・・・そのサーバントのレプリケーション実行時から現時点までの当該ファイルに関するヒット数
Rk・・・現時点から遡ってk番目に行ったレプリケーション情報
Sk・・・現時点から遡ってk番目にレプリケーションを行ったサーバントの集合
Qk・・・レプリケーションを行ったファイル名
Tk・・・時刻
Nki・・・現時点から遡ってk番目にレプリケーションを行ったi番目のサーバント の情報
A・・・そのサーバントのIPアドレス
h・・・当該サーバントからそのサーバントまでのホップ数
H・・・そのサーバントのレプリケーション実行時から現時点までの当該ファイルに関するヒット数
図5において、サーバント(端末装置)1は、通常のPCの機能を持つ、いわゆる端末であるが、P2Pアプリケーションレイヤとしてはサーバントとして見えるものである。
入出力管理部2は、外部からの情報(コマンド)を受け付け、外部へ発信する出力情報を管理する機能を有する。プロセッシング部3は、サーバント1内に入ってくる各種情報を処理する機能を持つ。情報解析部4は、プロセッシング部3の内部にあり、各種情報の詳細な解析を行う。メモリ部5は、他サーバントやネットワーク内の状態などの諸々の情報を蓄える機能を持つ。レプリケーション情報解析部6は、過去に実行したレプリケーションに関する各種情報を解析し、判断する機能を持つ。メモリ管理部7は、メモリ部5内に格納されている情報の入出力などの管理を行う。メモリ8は、各種レプリケーション情報やヒット情報、保持しているファイルに関する情報、各サーバントまでのRTT情報、サーバントのIPアドレス、等を格納/蓄積する場所である。PAD(パケット組立て/分解部)9は、各種情報をIPパケットに変換したり、その逆にIPパケットから各種情報への分解を行ったりする機能を持つ。パケット送信部10は、IPパケットを他のサーバントに送出する機能を持つ。パケット受信部11は、網内の他のサーバントからの到着パケットを受信する機能を持つ。IP網12は、このサーバント1が接続されているインターネツトである。
入出力管理部2は、外部からの情報(コマンド)を受け付け、外部へ発信する出力情報を管理する機能を有する。プロセッシング部3は、サーバント1内に入ってくる各種情報を処理する機能を持つ。情報解析部4は、プロセッシング部3の内部にあり、各種情報の詳細な解析を行う。メモリ部5は、他サーバントやネットワーク内の状態などの諸々の情報を蓄える機能を持つ。レプリケーション情報解析部6は、過去に実行したレプリケーションに関する各種情報を解析し、判断する機能を持つ。メモリ管理部7は、メモリ部5内に格納されている情報の入出力などの管理を行う。メモリ8は、各種レプリケーション情報やヒット情報、保持しているファイルに関する情報、各サーバントまでのRTT情報、サーバントのIPアドレス、等を格納/蓄積する場所である。PAD(パケット組立て/分解部)9は、各種情報をIPパケットに変換したり、その逆にIPパケットから各種情報への分解を行ったりする機能を持つ。パケット送信部10は、IPパケットを他のサーバントに送出する機能を持つ。パケット受信部11は、網内の他のサーバントからの到着パケットを受信する機能を持つ。IP網12は、このサーバント1が接続されているインターネツトである。
なお、図1〜図4の動作フローチャートをコード化して生成されたレプリケーション用プログラムをCD−ROM等の記録媒体に格納しておけば、このプログラムを貸与または売買する場合に便利であり、また、各サーバントのコンピュータに記録媒体を装着して、プログラムをインストールして実行させることにより、本発明を容易に実行させることが可能である。このレプリケーション用プログラムには、図1〜図4に対応して、4つの種類がある。
1…サーバント、2…入出力管理部、3…プロセッシング部、4…情報解析部、
5…メモリ部、6…レプリケーション情報解析部、7…メモリ管理部、8…メモリ、
9…PAD、10…パケット送信部、11…パケット受信部、
12…IP網(インターネット)。
5…メモリ部、6…レプリケーション情報解析部、7…メモリ管理部、8…メモリ、
9…PAD、10…パケット送信部、11…パケット受信部、
12…IP網(インターネット)。
Claims (11)
- P2P型通信を行う各サーバントにおけるレプリケーション手法であって、
前記各サーバントは、自サーバントが持っているファイルへの他のサーバントからの検索要求の到着数をカウントし、
前記ファイルへの検索がヒットする数を観測し、
単位時間内で前記ヒット数が閾値を超えた場合には、他のサーバントへ前記ファイルの複製を作成することを特徴とするレプリケーション手法。 - P2P型通信を行う各サーバントにおけるレプリケーション手法であって、
前記各サーバントから、k1ホップ先のサーバントへの方路の数が閾値以上であれば、方路の数に比例した割合でレプリケーションを行い、
前記閾値未満であれば、レプリケーションを中止し、
前記k1ホップ先のサーバントを対象に、各サーバントの方路のうち、ある割合の方路をランダムに選択し、
k1ホップ先まで進ませ、次の対象となる各サーバントに対して前記と同じ判断を行い、
前記処理を予定回だけ繰り返すことを特徴とするレプリケーション手法。 - P2P型通信を行う各サーバントにおけるレプリケーション手法であって、
自サーバントから出ている方路のそれぞれに対して、k1ホップ先のサーバントに対してそれぞれ往復遅延時間を測定し、
同時に該サーバントのIPアドレスを把握し、
同じようにして、k2,k3,・・,kj先のサーバントまでの往復遅延時間を測定するとともに、IPアドレスを把握し、
対象となったkjホップ先の合計数のサーバントを、往復遅延時間の大きな順にソートし、
ソートした上位から予定の数おきにレプリケーション対象とすることを特徴とするレプリケーション手法。 - P2P型通信を行う各サーバントにおけるレプリケーション手法であって、
レプリケーションを実施するに際して、過去に実行されたレプリケーションのうち、直近の予定回数のレプリケーション対象サーバントに対し、対象ファイルのヒット数を問い合わせ、
回答されたヒット数のうちの上位から予定の複数個のサーバントを、今回のレプリケーション対象のサーバントとすることを特徴とするレプリケーション手法。 - P2P型通信を行う各サーバント装置において、
直近の時間内での前記各サーバントの持つファイル毎のヒット数を記録する手段と、
該ファイル毎のヒット数を予め設定した閾値と比較し、比較結果が閾値を超える場合に、目的のサーバントにレプリケーション要求および該ファイルを送信する手段と、
レプリケーション要求を受信した時に、要求とともに送られてきたファイルを蓄積するメモリ手段とを有することを特徴とするサーバント装置。 - P2P型通信を行う各サーバント装置において、
前記各サーバントの方路に対して、kホップ先の各サーバントとの往復遅延時間を測定する手段と、
測定した情報およびIPアドレスを各サーバント毎の情報として格納しておくメモリ手段と、
kjホップ先のサーバントの合計数が閾値を超えたか否かを判断する手段と、
往復遅延時間の大きい順に各サーバントをソートし、上位から予定数置きにレプリケーションを実施する手段とを有することを特徴とするサーバント装置。 - P2P型通信を行う各サーバント装置において、
過去に実行した各サーバントに対するレプリケーション情報を格納しておく第1のメモリ手段と、
前記各サーバントに対してヒット情報を問い合わせて、該ヒット情報をサーバント毎に格納しておく第2のメモリ手段と、
前記第2のメモリ手段を参照して、各サーバントをヒット数の大きい順にソートし、上位から予め定めた数番目までのサーバントにレプリケーションを実施する手段とを有することを特徴とするサーバント装置。 - P2P型通信を行う各サーバントにおけるレプリケーション用プログラムであって、
前記各サーバントのコンピュータに、自サーバントが持っているファイルへの他のサーバントからの検索要求の到着数をカウントする手順、前記ファイルへの検索がヒットする数を観測する手順、単位時間内で前記ヒット数が閾値を超えた場合には、他のサーバントへ前記ファイルの複製を作成する手順を、それぞれ実行させるためのレプリケーション用プログラム。 - P2P型通信を行う各サーバントにおけるレプリケーション用プログラムであって、
前記各サーバントのコンピュータに、k1ホップ先のサーバントへの方路の数が閾値以上であれば、方路の数に比例した割合でレプリケーションを行う手順、前記閾値未満であれば、レプリケーションを中止する手順、前記k1ホップ先のサーバントを対象に、各サーバントの方路のうち、ある割合の方路をランダムに選択する手順、k1ホップ先まで進ませ、次の対象となる各サーバントに対して前記と同じ判断を行う手順、前記処理を予定回だけ繰り返す手順を、それぞれ実行させるためのレプリケーション用プログラム。 - P2P型通信を行う各サーバントにおけるレプリケーション用プログラムであって、
前記各サーバントのコンピュータに、自サーバントから出ている方路のそれぞれに対して、k1ホップ先のサーバントに対してそれぞれ往復遅延時間を測定する手順、同時に該サーバントのIPアドレスを把握する手順、同じようにして、k2,k3,・・,kj先のサーバントまでの往復遅延時間を測定するとともに、IPアドレスを把握する手順、対象となったkjホップ先の合計数のサーバントを、往復遅延時間の大きな順にソートする手順、ソートした上位から予定の数おきにレプリケーション対象とする手順を、それぞれ実行させるためのレプリケーション用プログラム。 - P2P型通信を行う各サーバントにおけるレプリケーション用プログラムであって、
前記各サーバントのコンピュータに、レプリケーションを実施するに際して、過去に実行されたレプリケーションのうち、直近の予定回数のレプリケーション対象サーバントに対し、対象ファイルのヒット数を問い合わせる手順、回答されたヒット数のうちの上位から予定の複数個のサーバントを、今回のレプリケーション対象のサーバントと決定する手順を、それぞれ実行させるためのレプリケーション用プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004033357A JP2005227842A (ja) | 2004-02-10 | 2004-02-10 | P2p通信におけるレプリケーション手法およびそれを具備する装置、ならびにそのプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004033357A JP2005227842A (ja) | 2004-02-10 | 2004-02-10 | P2p通信におけるレプリケーション手法およびそれを具備する装置、ならびにそのプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005227842A true JP2005227842A (ja) | 2005-08-25 |
Family
ID=35002538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004033357A Pending JP2005227842A (ja) | 2004-02-10 | 2004-02-10 | P2p通信におけるレプリケーション手法およびそれを具備する装置、ならびにそのプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005227842A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007065714A (ja) * | 2005-08-29 | 2007-03-15 | Nippon Telegr & Teleph Corp <Ntt> | ピュアー型p2p通信における動的レプリカ制御方法およびそれを具備した装置、ならびにそのプログラム |
JP2007305025A (ja) * | 2006-05-15 | 2007-11-22 | Nippon Telegr & Teleph Corp <Ntt> | 生体の原理を用いたレプリカ制御法、およびそれを具備する装置、ならびにそのプログラム |
JP2008059506A (ja) * | 2006-09-04 | 2008-03-13 | Nec Corp | データ配信システム、仲介サーバ、データ配信方法及びプログラム |
JP2012078903A (ja) * | 2010-09-30 | 2012-04-19 | Brother Ind Ltd | ノード装置、ノード装置用プログラムおよび情報処理方法 |
-
2004
- 2004-02-10 JP JP2004033357A patent/JP2005227842A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007065714A (ja) * | 2005-08-29 | 2007-03-15 | Nippon Telegr & Teleph Corp <Ntt> | ピュアー型p2p通信における動的レプリカ制御方法およびそれを具備した装置、ならびにそのプログラム |
JP4573732B2 (ja) * | 2005-08-29 | 2010-11-04 | 日本電信電話株式会社 | サーバント装置 |
JP2007305025A (ja) * | 2006-05-15 | 2007-11-22 | Nippon Telegr & Teleph Corp <Ntt> | 生体の原理を用いたレプリカ制御法、およびそれを具備する装置、ならびにそのプログラム |
JP4590651B2 (ja) * | 2006-05-15 | 2010-12-01 | 日本電信電話株式会社 | レプリケーション制御方法とシステムおよびプログラム |
JP2008059506A (ja) * | 2006-09-04 | 2008-03-13 | Nec Corp | データ配信システム、仲介サーバ、データ配信方法及びプログラム |
JP2012078903A (ja) * | 2010-09-30 | 2012-04-19 | Brother Ind Ltd | ノード装置、ノード装置用プログラムおよび情報処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Satria et al. | Performance comparison of named data networking and IP-based networking in palapa ring network | |
EP1719308B1 (en) | Selecting nodes close to another node in a network using location information for the nodes | |
Castro et al. | Debunking some myths about structured and unstructured overlays | |
KR101978177B1 (ko) | 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법 및 컨텐츠 제공자가 컨텐츠를 전송하는 방법 | |
CA2401080C (en) | Heuristics-based peer to peer message routing | |
US20080130516A1 (en) | P2p Overplay Network Construction Method and Apparatus | |
KR20150088713A (ko) | 네임드-데이터 네트워크를 통한 엔드-투-엔드 노선 추적 | |
WO2018040816A1 (zh) | 一种资源获取的方法、终端及服务器 | |
EP1719331B1 (en) | Determining location information for a node in a network using at least one local landmark node | |
US7965655B2 (en) | Distributed network distance determination using a distributed hash table overlay network | |
JP6564852B2 (ja) | 情報中心ネットワーキング(icn)ノードのネットワークにおいてパケットを管理する方法 | |
JP4590651B2 (ja) | レプリケーション制御方法とシステムおよびプログラム | |
JP2013514734A (ja) | ピアツーピア・トラフィックの局所化 | |
JP4573732B2 (ja) | サーバント装置 | |
WO2011116502A1 (en) | Indexing server and method therefor | |
Shen et al. | A lightweight and cooperative multifactor considered file replication method in structured P2P systems | |
Gwertzman et al. | An analysis of geographical push-caching | |
JP2005227842A (ja) | P2p通信におけるレプリケーション手法およびそれを具備する装置、ならびにそのプログラム | |
Gao et al. | Distributed caching in unstructured peer-to-peer file sharing networks | |
JP6178113B2 (ja) | 通信システム | |
Yu et al. | Efficient interest‐aware data dissemination in mobile opportunistic networks | |
Zhu et al. | Dcmp: A distributed cycle minimization protocol for peer-to-peer networks | |
Islam et al. | CIDOR: Content distribution and retrieval in disaster networks for public protection | |
JP2005092784A (ja) | 検索方式の動的切替方法、検索方式を動的に切り替える装置、及び検索方式を動的に切り替える切替プログラム | |
JP2016149714A (ja) | コンテンツ配信ネットワークの転送装置 |