(57)【要約】      （修正有）【課題】レプリケーションをなるべく空間的に適当な位置に配布させて、回線やサーバントにかかる負荷（トラヒック）を分散させ、サーバントや回線の輻輳を回避させる。【解決手段】直近の時間内での各サーバントの持つファイル毎のヒット数を記録する手段８と、予め設定した閾値と比較し閾値を超える場合に、目的のサーバントにレプリケーション要求および該ファイルを送信する手段４，１０と、レプリケーション要求を受信した時に、要求とともに送られてきたファイルを蓄積するメモリ手段１１，５とを備える。また、各サーバントの方路に対して、ｋホップ先の各サーバントとの往復遅延時間を測定する手段４と、ｋｊホップ先のサーバントの合計数が閾値を超えたか否かを判断する手段４，６と、往復遅延時間の大きい順に各サーバントをソートし、上位から予定数置きにレプリケーションを実施する手段６とを備える。【選択図】  図５
2005227842.tif 000002
【特許請求の範囲】
【請求項１】
Ｐ２Ｐ型通信を行う各サーバントにおけるレプリケーション手法であって、
前記各サーバントは、自サーバントが持っているファイルへの他のサーバントからの検索要求の到着数をカウントし、
前記ファイルへの検索がヒットする数を観測し、
単位時間内で前記ヒット数が閾値を超えた場合には、他のサーバントへ前記ファイルの複製を作成することを特徴とするレプリケーション手法。
【請求項２】
Ｐ２Ｐ型通信を行う各サーバントにおけるレプリケーション手法であって、
前記各サーバントから、ｋ１ホップ先のサーバントへの方路の数が閾値以上であれば、方路の数に比例した割合でレプリケーションを行い、
前記閾値未満であれば、レプリケーションを中止し、
前記ｋ１ホップ先のサーバントを対象に、各サーバントの方路のうち、ある割合の方路をランダムに選択し、
ｋ１ホップ先まで進ませ、次の対象となる各サーバントに対して前記と同じ判断を行い、
前記処理を予定回だけ繰り返すことを特徴とするレプリケーション手法。
【請求項３】
Ｐ２Ｐ型通信を行う各サーバントにおけるレプリケーション手法であって、
自サーバントから出ている方路のそれぞれに対して、ｋ１ホップ先のサーバントに対してそれぞれ往復遅延時間を測定し、
同時に該サーバントのＩＰアドレスを把握し、
同じようにして、ｋ２，ｋ３，・・，ｋｊ先のサーバントまでの往復遅延時間を測定するとともに、ＩＰアドレスを把握し、
対象となったｋｊホップ先の合計数のサーバントを、往復遅延時間の大きな順にソートし、
ソートした上位から予定の数おきにレプリケーション対象とすることを特徴とするレプリケーション手法。
【請求項４】
Ｐ２Ｐ型通信を行う各サーバントにおけるレプリケーション手法であって、
レプリケーションを実施するに際して、過去に実行されたレプリケーションのうち、直近の予定回数のレプリケーション対象サーバントに対し、対象ファイルのヒット数を問い合わせ、
回答されたヒット数のうちの上位から予定の複数個のサーバントを、今回のレプリケーション対象のサーバントとすることを特徴とするレプリケーション手法。
【請求項５】
Ｐ２Ｐ型通信を行う各サーバント装置において、
直近の時間内での前記各サーバントの持つファイル毎のヒット数を記録する手段と、
該ファイル毎のヒット数を予め設定した閾値と比較し、比較結果が閾値を超える場合に、目的のサーバントにレプリケーション要求および該ファイルを送信する手段と、
レプリケーション要求を受信した時に、要求とともに送られてきたファイルを蓄積するメモリ手段とを有することを特徴とするサーバント装置。
【請求項６】
Ｐ２Ｐ型通信を行う各サーバント装置において、
前記各サーバントの方路に対して、ｋホップ先の各サーバントとの往復遅延時間を測定する手段と、
測定した情報およびＩＰアドレスを各サーバント毎の情報として格納しておくメモリ手段と、
ｋｊホップ先のサーバントの合計数が閾値を超えたか否かを判断する手段と、
往復遅延時間の大きい順に各サーバントをソートし、上位から予定数置きにレプリケーションを実施する手段とを有することを特徴とするサーバント装置。
【請求項７】
Ｐ２Ｐ型通信を行う各サーバント装置において、
過去に実行した各サーバントに対するレプリケーション情報を格納しておく第１のメモリ手段と、
前記各サーバントに対してヒット情報を問い合わせて、該ヒット情報をサーバント毎に格納しておく第２のメモリ手段と、
前記第２のメモリ手段を参照して、各サーバントをヒット数の大きい順にソートし、上位から予め定めた数番目までのサーバントにレプリケーションを実施する手段とを有することを特徴とするサーバント装置。
【請求項８】
Ｐ２Ｐ型通信を行う各サーバントにおけるレプリケーション用プログラムであって、
前記各サーバントのコンピュータに、自サーバントが持っているファイルへの他のサーバントからの検索要求の到着数をカウントする手順、前記ファイルへの検索がヒットする数を観測する手順、単位時間内で前記ヒット数が閾値を超えた場合には、他のサーバントへ前記ファイルの複製を作成する手順を、それぞれ実行させるためのレプリケーション用プログラム。
【請求項９】
Ｐ２Ｐ型通信を行う各サーバントにおけるレプリケーション用プログラムであって、
前記各サーバントのコンピュータに、ｋ１ホップ先のサーバントへの方路の数が閾値以上であれば、方路の数に比例した割合でレプリケーションを行う手順、前記閾値未満であれば、レプリケーションを中止する手順、前記ｋ１ホップ先のサーバントを対象に、各サーバントの方路のうち、ある割合の方路をランダムに選択する手順、ｋ１ホップ先まで進ませ、次の対象となる各サーバントに対して前記と同じ判断を行う手順、前記処理を予定回だけ繰り返す手順を、それぞれ実行させるためのレプリケーション用プログラム。
【請求項１０】
Ｐ２Ｐ型通信を行う各サーバントにおけるレプリケーション用プログラムであって、
前記各サーバントのコンピュータに、自サーバントから出ている方路のそれぞれに対して、ｋ１ホップ先のサーバントに対してそれぞれ往復遅延時間を測定する手順、同時に該サーバントのＩＰアドレスを把握する手順、同じようにして、ｋ２，ｋ３，・・，ｋｊ先のサーバントまでの往復遅延時間を測定するとともに、ＩＰアドレスを把握する手順、対象となったｋｊホップ先の合計数のサーバントを、往復遅延時間の大きな順にソートする手順、ソートした上位から予定の数おきにレプリケーション対象とする手順を、それぞれ実行させるためのレプリケーション用プログラム。
【請求項１１】
Ｐ２Ｐ型通信を行う各サーバントにおけるレプリケーション用プログラムであって、
前記各サーバントのコンピュータに、レプリケーションを実施するに際して、過去に実行されたレプリケーションのうち、直近の予定回数のレプリケーション対象サーバントに対し、対象ファイルのヒット数を問い合わせる手順、回答されたヒット数のうちの上位から予定の複数個のサーバントを、今回のレプリケーション対象のサーバントと決定する手順を、それぞれ実行させるためのレプリケーション用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワーク上で、いわゆるＰ２Ｐ（Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ）型通信を行う場合に、ある短時間内であるサーバントへの検索やダウンロードの負荷が集中することを防ぐために、予めダウンロードを要求されるファイルのレプリケーションを実行して負荷分散を図ることにより、回線やサーバントの輻輳を防止することを目的としたＰ２Ｐ通信におけるレプリケーション手法およびそれを具備する装置、ならびにそのプログラムに関する。
【背景技術】
【０００２】
二者間通信において、双方のノードが対等に通信すること、およびそのネットワーク形態をＰ２Ｐと呼ぶ。すなわち、Ｐ２Ｐ型のネットワークは、ＷＷＷのアーキテクチャのクライアント／サーバ型のような上下関係がなく、情報の発信者も受信者も対等な関係にある。
Ｐ２Ｐ型通信には、大別して次の２種類の型がある。
１）Ｎａｐｓｔｅｒ型：目的情報の所在を一括管理する専用サーバが存在するタイプである。最初は、ナップスターがホームページ上に公開して無料配布しているソフトウェアをパソコンにセットしてからインターネットに接続して、このソフトを起動すると、世界中のナップスターのユーザが各々のパソコンのディスクにファイル保存しているＭＰ３形式の楽曲ファイルが画面に表示されていた。この場合、音楽の著作権の侵害問題が生じている。
この型式は、各サーバントからの検索要求パケットが、専用サーバに集中するため、サーバボトルネックとなり易い。
【０００３】
２）Ｇｎｕｔｅｌｌａ型：目的情報の所在を伝言ゲーム方式で次々に問い合わせていくタイプである。これは、ナップスターと同じような分散ファイル共有技術（グヌーテラ）であって、検索エンジンはインフラサーチと呼ばれる。遠隔地に分散している情報を共有して、学術研究やビジネスに役立てることが可能である。
この型式は、ＴＴＬに設定された値のホップ数の範囲まで次々に目的の情報の有無を隣接サーバントに対して問い合わせていき、各サーバントでは、隣接サーバントへ延ばしている『腕』の分だけ分岐されてパケットが送出されることになる。このような情報検索パケットが多数のサーバントから並列に発信される場合には、網内のパケット数が爆発的に増加するため、網内の広域にわたり混雑が予想される。
【０００４】
なお、Ｐ２Ｐに関しては、（２）Ｑ．Ｌｖ，Ｐ．Ｃａｏ，Ｅ．Ｃｏｈｅｎ，Ｋ．Ｌｉ，ａｎｄ  Ｓ．Ｓｈｅｎｋｅｒ，“Ｓｅａｒｃｈ  ａｎｄ  ｒｅｐｌｉｃａｔｉｏｎ  ｉｎ  ｕｎｓｔｒｕｃｔｕｒｅｄ  ｐｅｅｒ−ｔｏ−ｐｅａｒ  ｎｅｔｗｏｒｋｓ，”ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  １６ｔｈ  ＡＣＭ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｓｕｐｅｒｃｏｍｐｕｔｉｎｇ（ＩＣＳ’０２），２００２．（非特許文献２参照）、および、（３）後藤，阿多，村田：“Ｐ２Ｐネットワークにおけるサービス安定性向上のためのレプリケーション配置手法”信学技報ＮＳ２００２−１５２，Ｏｃｔ．２００３．（非特許文献３参照）、および（４）能上，内田：“Ｐｕｒｅ型Ｐ２Ｐにおけるファイル検索＆レプリケーションについて，”信学総大２００４（２００４年３月発表予定）（非特許文献４参照）がある。
【０００５】
【非特許文献１】伊藤直樹：Ｐ２Ｐコンピューティング（ソフト・リサーチ・センター）
【非特許文献２】Ｑ．Ｌｖ，Ｐ．Ｃａｏ，Ｅ．Ｃｏｈｅｎ，Ｋ．Ｌｉ，ａｎｄ  Ｓ．Ｓｈｅｎｋｅｒ，“Ｓｅａｒｃｈ  ａｎｄ  ｒｅｐｌｉｃａｔｉｏｎ  ｉｎ  ｕｎｓｔｒｕｃｔｕｒｅｄ  ｐｅｅｒ−ｔｏ−ｐｅａｒ  ｎｅｔｗｏｒｋｓ，”ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  １６ｔｈ  ＡＣＭ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｓｕｐｅｒｃｏｍｐｕｔｉｎｇ（ＩＣＳ’０２），２００２．
【非特許文献３】後藤，阿多，村田：“Ｐ２Ｐネットワークにおけるサービス安定性向上のためのレプリケーション配置手法”信学技報ＮＳ２００２−１５２，Ｏｃｔ．２００３．
【非特許文献４】能上，内田：“Ｐｕｒｅ型Ｐ２Ｐにおけるファイル検索＆レプリケーションについて，”信学総大２００４（２００４年３月発表予定）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ＩＰ網において、Ｐ２Ｐ型通信を行っている場合に、ある人気コンテンツ（ファイル）へのダウンロード要求が、短時間内に急激に増加し、それを保持しているサーバントに対して検索パケットが集中し、その後ダウンロード要求も集中する可能性がある。その場合には、その該当する（そのファイルを持っている）サーバント自身の負荷が増加するとともに、そのサーバント周辺の物理的回線も輻輳することが考えられる。
このような場合には、なるべく事前に当該コンテンツの複製（レプリカ）を他のサーバントに送っておき、サーバントの負荷や回線の使用率上昇を抑える手法がある（これをレプリケーションという）（上記非特許文献２〜４参照）。
【０００７】
（目的）
本発明の目的は、このレプリケーションをなるべく空間的に適当な位置に配布させて、回線やサーバントにかかる負荷（トラヒック）を分散させるとともに、ファイルを見つけられる確率（ヒット率）を高く保ち、一時的な負荷の集中を避けることにより、サーバントや回線の輻輳を回避させることが可能なＰ２Ｐ通信におけるレプリケーション手法およびそれを具備する装置、ならびにそのプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明のＰ２Ｐ通信におけるレプリケーション手法は、１）トリガの決定法（請求項１対応）、２）ランダムな決定法（請求項２対応）、３）測定値による決定法（請求項３対応）、４）過去のレプリケーション情報を用いた決定法（請求項４対応）に分けられる。
Ｐ２Ｐ型通信においては、ある時刻である特定のファイル探索および転送要求が集中しそうなときには、レプリケーションを行って、なるべく『物理的な空間（ネットワーク）上での負荷分散』がなされるようにする。ただし、Ｐ２Ｐレイヤのネットワーク上での各サーバントの結合の仕方（すなわち、腕がどの隣接サーバントに対してつながっているか）は、必ずしも物理的ネットワーク上での結合の仕方と対応がついていない。すなわち、Ｐ２Ｐレイヤ上では、隣接サーバント（ノード）であっても、物理ネットワーク上での距離は非常に遠い場合もあり得る一方、その逆もあり得る。そこで、Ｐ２Ｐレイヤ上である程度の距離（ホップ数）をおいたサーバント間でレプリケーションを行っておくことにより、物理ネットワーク上でもある程度のばらつき程度でファイルを配置させようとする手法が、本発明のＰ２Ｐ通信におけるレプリケーション手法である。
【発明の効果】
【０００９】
本発明によれば、Ｐ２Ｐ型通信を行う場合に、網内の問い合わせやダウンロード要求が集中しそうな対象ファイルに対してレプリケーションを行って分散配置させ、一時的な負荷の集中を避けるための手順、手法を確立させることが可能であるので、サーバントや回線の輻輳を回避させることができる。
【発明を実施するための最良の形態】
【００１０】
（実施例１）
図１は、本発明の実施例１に係るレプリケーション手法（トリガの決定法）（請求項１に対応）の動作フローチャートである。
Ｐ２Ｐ通信（例えば、伊藤直樹：Ｐ２Ｐコンピューティング（ソフト・リサーチ・センター）（非特許文献１））における各サーバント（Ｓｅｒｖａｎｔ）が、自分自身が持っているファイルαへの他のサーバントからの検索がヒットする数（つなわち、自分自身が持っているファイルαを他サーバントが捜しており、自分自身への検索（ｑｕｅｒｙ）が到着することにより、このファイルαをヒットした数（見つけた数）を観測しておき、ある単位時間Ｔ内でその数が閾値を超えた場合に、他のサーバントへそのファイルの複製（レプリカ）を作成する方法である。
【００１１】
図１において、各サーバントでは、問い合わせパケットが到着したか否かを判断し（ステップ１０２）、到着したならば、番号を初期化し（ｉ＝０）（ステップ１０３）、ｉ＝１として（ステップ１０４）、それがファイルαｉへの要求であるならば（ステップ１０５）、ファイルαｉのヒット情報を更新し（ステップ１０８）、直近Ｔ時間での当該ファイルへのヒット数が閾値以下である場合には（ステップ１０９）、再度、スタートに戻って問い合わせパケットの到着を監視し（ステップ１０２）、ヒット数が閾値を超えていた場合には、レプリケーションを実行する（ステップ１１０）。
一方、ファイルαｉへの要求でない場合には（ステップ１０５）、ｉのカウント値（つまり、到着した問い合わせパケットの数）が予め定めたＮ未満の場合には、ステップ１０４に戻って番号を１ずつ加算しながら、ファイルαｉへの要求であるか否かの判断を行い、また、カウント値ｉがＮを超えたならば（ステップ１０６）、当該ファイルは無しと判断して、最初に戻る（ステップ１０７）。
【００１２】
（実施例２）
図２は、本発明の実施例２に係るレプリケーション手法（ランダムな決定法）（請求項２に対応）の動作フローチャートである。
実施例２は、Ｐ２Ｐレイヤ上でランダムに配置させておく方法であって、ここでは、ある当該サーバントから、ｋ１ホップ先のサーバントＮ１個を考える。それらのサーバントの腕の数がある閾値ｍ以上であれば、確率Ｐ（腕の数に比例した割合）でレプリケーションを行い、そうでなければレプリケーションを行わない。さらに、そのＮ１個のサーバントを対象に、各サーバントの方路のうち割合ＸのＭｉ方路（Ｍｉ＝「「Ｘ＊Ｄｅｇ（ｉ）」」）をランダムに選択し、ｋ１ホップ先まで進ませる（ただし、「「Ｘ＊Ｄｅｇ（ｉ）」」はＸ＊Ｄｅｇ（ｉ）を超えない最大の整数）。
次に、その対象となるそれぞれのサーバントに対して、上記と同様の判断（レプリケーション対象とするか否か）を行う。このステップをＬ回繰り返す。
【００１３】
図２において、ｊはレプリケーション実行決定処理の回数の番号であり、ｉは実施例１と同じく問い合わせパケットの到着数の番号である。先ず、ｊの初期化を行った後（ステップ１１２）、１回目の処理を開始し（ステップ１１３）、次にｉの初期化を行った後（ステップ１１４）、問い合わせパケットの到着があれば、ｉに１を加算する（ステップ１１５）。パケットが到着した方路、つまり腕の数が閾値ｍ以上であるか否かを判断し（ステップ１１６）、ｍ以上であれば、確率Ｐでレプリケーションを実行する（ステップ１１７）。一方、ｍ未満であれば、レプリケーションは非実行となる（ステップ１１８）。
そして、パケットの到着数ｉがＮｊ未満であれば（ステップ１１９）、パケット到着回数の加算処理に戻り（ステップ１１５）、ｉがＮｊ以上になったならば（ステップ１１９）、ｊがＬ回以上行われたか否かを判定し（ステップ１２０）、Ｌ回未満の場合には、最初に戻ってｊの回数を加算する（ステップ１１３）。Ｌ回以上行ったならば（ステップ１１９）、処理を終了する。
【００１４】
図２において、例えば、ｋ１＝２，ｍ＝２，Ｌ＝５，Ｐ＝１とすると、１ホップごとの各サーバントに対して、そのサーバントからの腕が２以上であればレプリケーションを行い、そうでなければレプリケーションを行わないということを５ステップ繰り返す。
これは、各サーバントからの腕の数が多いほど、より多くの確率でファイルを配置させておこうという方法である。このように、ｋ１，ｍ，Ｌ，Ｐの値を種々に変更することにより、腕の数の閾値を大きくしたり、あるいは、レプリケーション実行決定の回数をさらに多くしたり、あるいは、少なくすることもできる。
【００１５】
（実施例３）
図３は、本発明の実施例３に係るレプリケーション手法（測定値による決定法）（請求項３に対応）の動作フローチャートである。
この方法は、レプリケーションを行うに際して、測定によりレプリケーションを行うサーバントを決定する手順である。すなわち、自分から出ている腕（方路）のそれぞれに対して、ｋ１ホップ先のサーバントに対してそれぞれＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ：往復遅延時間）を測定する。具体的な方法としては、Ｐｉｎｇパケットを飛ばし、戻ってきたＰｉｎｇパケットにより相手サーバントのＩＰアドレスがわかると、そのアドレス宛に測定パケットを飛ばし、発着の時間差を測定する。同様に、ｋ２，ｋ３，・・ｋｊ先のサーバントまでのＲＴＴを測定する。ただし、ｊは、ΣＭ（ｋｊ）＞Ｎとなる最小の整数であり、Ｍ（ｋｊ）は、ｋｊホップ先のサーバントの合計数、Ｎはある定数である。
また、ｋｊはある規則に従った系列であり（例えば、ｋｊ＝５×ｊ、ここでｊ＝１，２，３，・・・）、ｊに関して単調増加する（ｋ１＜ｋ２＜・・・）性質を持つものとする。
この結果、対象となったΣＭ（ｋｊ）（＞Ｎ）のサーバントのそれぞれのＲＴＴの大きな順番にソートし、上位からＬＬ個置きにレプリケーション対象とする。
【００１６】
図３において、ｊはレプリケーション実行処理の回数であり、ｉは実施例１，２と同じく問い合わせパケットの到着回数である。先ず、処理回数ｊの初期化を行い（ステップ１１２）、１回目を開始する（ステップ１１３）。次に、到着回数ｉの初期化を行い（ステップ１１４）、問い合わせのパケットが到着すると、１を加算する（ステップ１１５）。ｋｊホップ先の１番目のサーバントのＩＰアドレスを把握するとともに、ＲＴＴを測定する（ステップ１２１）。予め定めたｋｊホップ先まで調べ尽くしたか否かを判定し（ステップ１２２）、未だであれば、ステップ１１５に戻って到着パケット毎に１加算する。また、ｋｊホップ先まで調べ尽くしたならば（ステップ１２２）、Ｍ（ｋｊ）、つまりｋｊホップ先のサーバントの合計数が予め定めた定数Ｎを超えるまでは（ステップ１２３）、ステップ１１３に戻って、何回も繰り返し行う。予め定めた定数Ｎを超えたならば（ステップ１２３）、各サーバントをＲＴＴの大きい順序でソートし（ステップ１２４）、ＲＴＴの上位からＬＬ個置きにレプリケーションを実施する（ステップ１２５）。
【００１７】
図３に基づいて対象としたサーバントを絞り、それらと当該サーバントとの物理的な距離（ＲＴＴ）を測定する。そして、その上位からある飛び飛びの値で対象を選択する（例えば、対象サーバントが３０個あるものとして、１位、４位、・・・と３個置きに１０個を選択）。これにより、ある程度、物理的距離のばらついたサーバントに対してレプリケーションが行われることになる。
【００１８】
（実施例４）
図４は、本発明の実施例４に係るレプリケーション手法（過去のレプリケーション情報を用いた決定法）（請求項４に対応）の動作フローチャートである。
この方法は、レプリケーションを行うに際して、直近に実行されたレプリケーション履歴を参照して、今回レプリケーションを行うサーバントを決定する手順を示すものである。
レプリケーションを行うサーバントを決定する手順において、過去に実行したレプリケーションのうち、直近ＮＮ回のレプリケーション対象サーバント（この数を合計ＬＭ個とする）に対して、対象ファイルのヒット数（レプリケーションされたファイルが、（レプリケーション実行時から現在までに）他のサーバントからどれだけ検索され、ヒットしたか）を問い合わせ、このＬＭ個のうちのヒット数上位ＭＭ個のサーバントを今回のレプリケーションの対象サーバントとする方法である。
【００１９】
図４において、ｉは実施例１〜３と同じく問い合わせパケットの到着数である。先ず、ｉを初期化し（ステップ１１２）、パケット到着とともに１を加算する（ステップ１１３）。直近ｉ番目のレプリケーション対象サーバントに対して、現時点までのヒット数を問い合わせる（ステップ１３１）。調査は直近のＮＮ個以上が終了したか否かを判別し（ステップ１３２）、未だであれば、ステップ１１３に戻って到着パケットの回数が１ずつ加算されるのを待つ。ＮＮ個以上になった時点で（ステップ１３２）、ＬＭ個の各サーバントをヒット数の大きい順番にソートする（ステップ１３３）。上位からＭＭ番目までのサーバントにレプリケーションを実施する（ステップ１３４）。
【００２０】
図４のレプリケーションを行うサーバントを決定する手順において、過去に実行したレプリケーションのうち、過去に実施したレプリケーション対象サーバントのうち、よくヒットしているサーバントは実際に負荷分散効果が大きいと判断して、引続きレプリケーションを行う方法をとる。具体的には、直近３回のレプリケーション対象サーバント（合計１０個とする）に対して、対象ファイルのヒット数を問い合わせ、この１０個のうちのヒット数上位５個のサーバントを今回のレプリケーションの対象サーバントする方法である。
【００２１】
（実施例５）
図５は、本発明の実施例５に係るサーバントの内部機能図である。
図５において、１は当該サーバント、１２はＩＰ網、２は入出力管理部、３はプロセッシング部、４は情報解析部、５はメモリ部、６はレプリケーション情報解析部、７はメモリ管理部、８はメモリ、９はＰＡＤ、１０はパケット送信部、１１はパケット受信部である。
サーバントは、実施例１〜４で述べた検索方法を実現するために、各サーバントとして用いられる次の特徴を有する装置である。
（１）直近の時間Ｔ内での自身の持つファイル毎のヒット数を記録し、それを予め設定しておいた閾値と比較し、それが閾値を超えた場合に、目的のサーバント（実施例１の方法で定められ、ＩＰアドレスが入手されている）にレプリケーション要求およびそのファイル自身を送る機能を有する。また、レプリケーション要求を受け取ったときに、それとともに送られてきたファイルを自分自身に蓄積する機能（２，３，５，１０，１１）を有する。
【００２２】
（２）自分自身の各腕（方路）に対して、ｋホップ先の各サーバントとのＲＴＴを測定する機能（４，１０，１１）を有する。具体的には、発信時刻をセットしたタイマーを含む『計測パケット』を目的のサーバントにパケット送信部１０から送信し、受け取ったサーバントがそれを受け取り次第、送り返すようなコマンドを含め、その送り返された『計測パケット』をパケット受信部１１で受け取り次第、着時刻と発時刻との差からＲＴＴを特定し、その情報を各サーバント毎の情報として格納しておく機能である（実施例３の方法）。
【００２３】
（３）過去に実行したレプリケーション情報を格納しておく機能（５）、およびそのサーバントに対してヒット情報を問い合わせて、その情報をサーバント毎に格納しておく機能（３，５）を有する。具体的には、次のような情報セットを保持する。
（Ｒ１（Ｓ１，Ｑ１，Ｔ１），Ｒ２（Ｓ２，Ｑ２，Ｒ２），・・・，ＲＮ（ＳＮ，ＱＮ，ＴＮ））
また、
Ｓｋ＝｛Ｎｋ１（Ａ，ｈ，Ｈ），Ｎｋ２（Ａ，ｈ，Ｈ），・・・，Ｎｋｉ（Ａ，ｈ，Ｈ），・・・・・｝
【００２４】
ここで、
Ｒｋ・・・現時点から遡ってｋ番目に行ったレプリケーション情報
Ｓｋ・・・現時点から遡ってｋ番目にレプリケーションを行ったサーバントの集合
Ｑｋ・・・レプリケーションを行ったファイル名
Ｔｋ・・・時刻
Ｎｋｉ・・・現時点から遡ってｋ番目にレプリケーションを行ったｉ番目のサーバント              の情報
Ａ・・・そのサーバントのＩＰアドレス
ｈ・・・当該サーバントからそのサーバントまでのホップ数
Ｈ・・・そのサーバントのレプリケーション実行時から現時点までの当該ファイルに関するヒット数
【００２５】
図５において、サーバント（端末装置）１は、通常のＰＣの機能を持つ、いわゆる端末であるが、Ｐ２Ｐアプリケーションレイヤとしてはサーバントとして見えるものである。
入出力管理部２は、外部からの情報（コマンド）を受け付け、外部へ発信する出力情報を管理する機能を有する。プロセッシング部３は、サーバント１内に入ってくる各種情報を処理する機能を持つ。情報解析部４は、プロセッシング部３の内部にあり、各種情報の詳細な解析を行う。メモリ部５は、他サーバントやネットワーク内の状態などの諸々の情報を蓄える機能を持つ。レプリケーション情報解析部６は、過去に実行したレプリケーションに関する各種情報を解析し、判断する機能を持つ。メモリ管理部７は、メモリ部５内に格納されている情報の入出力などの管理を行う。メモリ８は、各種レプリケーション情報やヒット情報、保持しているファイルに関する情報、各サーバントまでのＲＴＴ情報、サーバントのＩＰアドレス、等を格納／蓄積する場所である。ＰＡＤ（パケット組立て／分解部）９は、各種情報をＩＰパケットに変換したり、その逆にＩＰパケットから各種情報への分解を行ったりする機能を持つ。パケット送信部１０は、ＩＰパケットを他のサーバントに送出する機能を持つ。パケット受信部１１は、網内の他のサーバントからの到着パケットを受信する機能を持つ。ＩＰ網１２は、このサーバント１が接続されているインターネツトである。
【００２６】
なお、図１〜図４の動作フローチャートをコード化して生成されたレプリケーション用プログラムをＣＤ−ＲＯＭ等の記録媒体に格納しておけば、このプログラムを貸与または売買する場合に便利であり、また、各サーバントのコンピュータに記録媒体を装着して、プログラムをインストールして実行させることにより、本発明を容易に実行させることが可能である。このレプリケーション用プログラムには、図１〜図４に対応して、４つの種類がある。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施例１に係るレプリケーション手法（トリガ決定法）の動作フローチャートである。
【図２】本発明の実施例２に係るレプリケーション手法（レプリケーション対象のランダムな決定法）の動作フローチャートである。
【図３】本発明の実施例３に係るレプリケーション手法（レプリケーション対象の測定値による決定法）の動作フローチャートである。
【図４】本発明の実施例４に係るレプリケーション手法（過去のレプリケーション情報を用いた決定法）の動作フローチャートである。
【図５】本発明の実施例５に係るサーバントの内部機能構成図である。
【符号の説明】
【００２８】
１…サーバント、２…入出力管理部、３…プロセッシング部、４…情報解析部、
５…メモリ部、６…レプリケーション情報解析部、７…メモリ管理部、８…メモリ、
９…ＰＡＤ、１０…パケット送信部、１１…パケット受信部、
１２…ＩＰ網（インターネット）。
【図１】
2005227842.tif 000003
【図２】
2005227842.tif 000004
【図３】
2005227842.tif 000005
【図４】
2005227842.tif 000006
【図５】
2005227842.tif 000007