(57)【特許請求の範囲】
【請求項１】
複数のピアの記憶装置に同じファイルの複製を記憶させるピアツーピア型通信システムのピアが、当該他のピアに送信するファイルを当該ピアの記憶装置に保持するために、当該ファイルを複製するか否かを判定する方法において、
予め定められた期間に当該他のピアからバケツリレー式に受信したファイルを、当該ピアの記憶装置に書き込んだか否かを示す情報である履歴情報を含む参照情報を当該ピアの参照情報記憶装置が記憶する段階と、
当該ピアの処理装置にて、一乃至複数の前記参照情報の時間変化に係る指標値を算出し、当該ピアに隣接する隣接ピアの処理装置が算出した前記指標値を前記隣接ピアから受け取って、当該ピアの前記指標値と、前記隣接ピアの前記指標値とに基づいて、ファイルの複製の要否を２値的に或いは確率的に表現した値を算出する段階と、
前記ファイルの複製の要否を２値的に或いは確率的に表現した値に基づいて当該ピアの処理装置が当該ファイルの複製の要否を判定する段階と、
前記判定の結果に応じて当該ピアの処理装置が前記参照情報記憶装置に記憶されている参照情報を更新する段階と
を含むことを特徴とするファイル複製要否判定方法。
【請求項２】
請求項１に記載のファイル複製要否判定方法において、
前記参照情報及び指標値の少なくとも一方に基づいて当該ファイルを保持する確率を定める確率生成段階と、
乱数を生成する段階と、
前記確率及び乱数に基づいて当該ファイルを保持するか否かを判定する段階と
を含むことを特徴とするファイル複製要否判定方法。
【請求項３】
請求項１及び２のいずれかに記載のファイル複製要否判定方法において、単位時間内に、当該ピアが当該他のピアからバケツリレー式に受信したファイルを、当該ピアの記憶装置に書き込みしたか否に係る情報を参照情報に含むことを特徴とするファイル複製要否判定方法。
【請求項４】
請求項１乃至３のいずれかに記載のファイル複製要否判定方法において、当該ピアが保持する共有ファイルに対してなされた、単位時間内における転送の要求の有無に係る情報を参照情報に含むことを特徴とするファイル複製要否判定方法。
【請求項５】
請求項１乃至４のいずれかに記載のファイル複製要否判定方法において、
当該ピアが算出した指標値を記憶装置に保持する段階を更に含み、
前記判定段階は、前記記憶装置に保持した指標値、及び、前記算出段階にて算出した前記指標値に基づいて判定を行う
ことを特徴とするファイル複製要否判定方法。
【請求項６】
複数のピアの記憶装置に同じファイルの複製を記憶させるピアツーピア型通信システムのピアとして機能する通信装置において、
予め定められた期間に当該他のピアからバケツリレー式に受信したファイルを、当該ピアの記憶装置に書き込んだか否かを示す情報である履歴情報を含む参照情報を記憶する手段と、
当該ピアの処理装置にて、一乃至複数の前記参照情報の時間変化に係る指標値を算出し、当該ピアに隣接する隣接ピアの処理装置が算出した前記指標値を前記隣接ピアから受け取って、当該ピアの前記指標値と、前記隣接ピアの前記指標値とに基づいて、ファイルの複製の要否を２値的に或いは確率的に表現した値を算出する手段と、
前記ファイルの複製の要否を２値的に或いは確率的に表現した値に基づいて当該ファイルの複製の要否を判定する手段と、
前記判定の結果に応じて前記記憶装置に記憶されている参照情報を更新する手段と
を備えることを特徴とする通信装置。
【請求項７】
請求項６に記載の通信装置において、前記判定手段は、
前記参照情報及び指標値の少なくとも一方に基づいて当該ファイルを保持する確率を定め、
乱数を生成し、
前記確率及び乱数に基づいて当該ファイルを保持するか否かを判定する
ことを特徴とする通信装置。
【請求項８】
請求項６及び７のいずれかに記載の通信装置において、単位時間内に、当該ピアが当該他のピアからバケツリレー式に受信したファイルを、当該ピアの記憶装置に書き込みしたか否に係る情報を参照情報に含むことを特徴とする通信装置。
【請求項９】
請求項６乃至８のいずれかに記載の通信装置において、当該ピアが保持する共有ファイルに対してなされた、単位時間内における転送の要求の有無に係る情報を参照情報に含むことを特徴とする通信装置。
【請求項１０】
請求項６乃至９のいずれかに記載の通信装置において、
当該ピアが算出した指標値を保持する手段を更に備え、
前記判定手段は、前記指標値を保持する手段に保持されている指標値、及び、前記算出手段が算出した前記指標値に基づいて判定を行う
ことを特徴とする通信装置。
【請求項１１】
複数のピアの記憶装置に同じファイルの複製を記憶させるピアツーピア型通信システムのピアとしてコンピュータを機能させるコンピュータプログラムにおいて、
予め定められた期間に当該他のピアからバケツリレー式に受信したファイルを、当該ピアの記憶装置に書き込んだか否かを示す情報である履歴情報を含む参照情報を記憶する手段と、
当該ピアの処理装置にて、一乃至複数の前記参照情報の時間変化に係る指標値を算出し、当該ピアに隣接する隣接ピアの処理装置が算出した前記指標値を前記隣接ピアから受け取って、当該ピアの前記指標値と、前記隣接ピアの前記指標値とに基づいて、ファイルの複製の要否を２値的に或いは確率的に表現した値を算出する手段と、
前記ファイルの複製の要否を２値的に或いは確率的に表現した値に基づいて当該ファイルの複製の要否を判定する手段と、
前記判定の結果に応じて前記記憶装置に記憶されている参照情報を更新する手段として機能させるためのものであることを特徴とするコンピュータプログラム。
【請求項１２】
請求項１１に記載のコンピュータプログラムにおいて、前記判定手段は、
前記参照情報及び指標値の少なくとも一方に基づいて当該ファイルを保持する確率を定める手段と、
乱数を生成する手段と、
前記確率及び乱数に基づいて当該ファイルを保持するか否かを判定する手段としてコンピュータを機能させることを特徴とするコンピュータプログラム。
【請求項１３】
請求項１１乃至１２のいずれかに記載のコンピュータプログラムにおいて、単位時間内に、当該ピアが当該他のピアからバケツリレー式に受信したファイルを、当該ピアの記憶装置に書き込みしたか否に係る情報を参照情報に含むことを特徴とするコンピュータプログラム。
【請求項１４】
請求項１１乃至１３のいずれかに記載のコンピュータプログラムにおいて、当該ピアが保持する共有ファイルに対してなされた、単位時間内における転送の要求の有無に係る情報を参照情報に含むことを特徴とするコンピュータプログラム。
【請求項１５】
請求項１１乃至１４のいずれかに記載のコンピュータプログラムにおいて、
当該ピアが算出した指標値を保持する手段として更にコンピュータを機能させるためのコンピュータプログラムであって、
前記判定手段は、前記指標値を保持する手段に保持されている指標値、及び、前記算出手段が算出した前記指標値に基づいて判定を行う手段としてコンピュータを機能させることを特徴とするコンピュータプログラム。
【請求項１６】
請求項１１乃至１５のいずれかに記載のコンピュータプログラムを記録した記録媒体。
【請求項１７】
請求項１６に記載の記録媒体を備え、前記コンピュータプログラムに従って動作するコンピュータ。
【請求項１８】
請求項６乃至１０に記載の通信装置及び請求項１７に記載のコンピュータのいずれかをピアとするピアツーピア型通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ピアツーピア型通信システムに関し、ピアツーピアファイル共有ネットワークに関する。特に、ピア間におけるアクセス頻度の平滑化に関する。
【背景技術】
【０００２】
情報通信システムにおいて、機能的に同等な通信装置（ピアと呼ぶ）のみから構成される通信ネットワーク形態をピアツーピア型ネットワークと呼ぶ。このようなネットワーク形態においては、ピアやピア間でやりとりされる情報の管理を中央集権的に行う特別なサーバは存在しない。
【０００３】
ピアツーピア型ネットワークのうち、特に、ファイル等のデータ単位（以下、総称してファイルと記す）を各ピア間で共有するものをピアツーピアファイル共有ネットワークと呼ぶ。本願明細書において共有されるファイルを共有ファイルと呼ぶものとする。ピアツーピアファイル共有ネットワークにおいては、各ピアはファイルを利用するクライアントであり、かつ、各ピアにファイルを提供するサーバの役割を担う。
【０００４】
ピアツーピアファイル共有ネットワークにおいて、共有ファイルの検索を高速かつ確実に行うために、ファイルの複製を生成して複数のピアに配置するものが、例えば特許文献１や非特許文献１に記載されている。この種のネットワークでは、ほとんどの共有ファイルにおいて、検索対象のファイルを保持しているピアが単独の場合と比較して、ネットワーク上でより近い位置にあるピアが保持する状態になるので、結果的に検索を高速に行うことが出来る。また、検索対象ファイルが複数のピアに配置されているため、単独のピアが保持している場合と比較して、検索対象ファイルを保持しているピアに対して検索要求がより確実に伝搬される。以下、ピアツーピアファイル共有ネットワークにおいて同じファイルを複数のピアに配置する手法を複数配置手法と呼ぶものとする。複製配置手法の適用により、高速で確実な検索が実現し、ピアツーピアファイル共有ネットワークの検索性能を向上させることができる。
【０００５】
複製配置手法では、ネットワーク上に配置する各ファイルの複製の数や、配置するピアの選択によって検索性能が異なる。一般に、検索対象となる頻度はファイル毎に異なるため、共有ファイルの複製を同じ数だけネットワーク上に配置すると、検索頻度が高いファイルを配置されたピアの負荷が他のピアよりも高くなり、負荷分散の観点から好ましくない。この点に着目し、そのファイルの検索頻度に応じた数の複製を配置する手法が特許文献２及び非特許文献２に記載されている。
【０００６】
また、共有ファイルの複製が特定のピアに集中的に配置されると、そのピアの負荷が他のピアよりも高くなり、負荷分散の観点から好ましくない。この点を鑑みた技術が非特許文献２および非特許文献３に記載されている。これらの文献には、ファイルの複製の量が特定ノードへ偏らないように分散させるための手法が記載されている。
【０００７】
【特許文献１】特開２００５−２２７８４２号公報（図５）
【特許文献２】特開２００７−６５７１４号公報（第００１４段落、第００２２段落）
【非特許文献１】Ｑ．Ｌｖ、Ｐ．Ｃａｏ、Ｅ．Ｃｏｈｅｎ、Ｓ．Ｌｉ、Ｋ．Ｓｈｅｎｋｅｒ、「Ｓｅａｒｃｈ  ａｎｄ  ｒｅｐｌｉｃａｔｉｏｎ  ｉｎ  ｕｎｓｔｒｕｃｔｕｒｅｄ  ｐｅｅｒ−ｔｏ−ｐｅｅｒ  ｎｅｔｗｏｒｋｓ」、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  １６ｔｈ  ＡＣＭ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｓｕｐｅｒｃｏｍｐｕｔｉｎｇ、アメリカ合衆国、２００２年６月、ｐ．８４−９５
【非特許文献２】Ｍ．Ｕｃｈｉｄａ、Ｋ．Ｏｈｎｉｓｈｉ、ａｎｄ  Ｋ．Ｉｃｈｉｋａｗａ、「Ｄｙｎａｍｉｃ  ｓｔｏｒａｇｅ  ｌｏａｄ  ｂａｌａｎｃｉｎｇ  ｗｉｔｈ  ａｎａｌｏｇｙ  ｔｏ  ｔｈｅｒｍａｌ  ｄｉｆｆｕｓｉｏｎ  ｆｏｒ  Ｐ２Ｐ  ｆｉｌｅ  ｓｈａｒｉｎｇ」、Ｐｒｏｃｅｅｄｉｎｇｓ  ｆｒｏｍ  ｔｈｅ  ２００６  ｗｏｒｋｓｈｏｐ  ｏｎ  Ｉｎｔｅｒｄｉｓｃｉｐｌｉｎａｒｙ  ｓｙｓｔｅｍｓ  ａｐｐｒｏａｃｈ  ｉｎ  ｐｅｒｆｏｒｍａｎｃｅ  ｅｖａｌｕａｔｉｏｎ  ａｎｄ  ｄｅｓｉｇｎ  ｏｆ  ｃｏｍｐｕｔｅｒ  ＆  ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ｓｙｓｔｅｍｓ、２００６年、ｐ．６
【非特許文献３】Ｈ．Ｙａｍａｍｏｔｏ、Ｄ．Ｍａｒｕｔａ、ａｎｄ  Ｙ．Ｏｉｅ、「Ｒｅｐｌｉｃａｔｉｏｎ  ｍｅｔｈｏｄ  ｆｏｒ  ｌｏａｄ  ｂａｌａｎｃｉｎｇ  ｏｎ  ｄｉｓｔｒｉｂｕｔｅｄ  ｓｔｏｒａｇｅｓ  ｉｎ  Ｐ２Ｐ  ｎｅｔｗｏｒｋｓ」、ＩＥＩＣＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  ａｎｄ  Ｓｙｓｔｅｍｓ、２００６年１月
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来の技術によれば、ネットワーク内の特定のピアの記憶装置にアクセス負荷が集中するのを防ぐことができなかった。
【０００９】
特許文献１によれば、共有ファイルの読み込み回数の分散を図るためにファイルの複製を配置するが、その際、ファイルの複製配置に伴う記憶装置へのアクセス負荷を分散することまでは考慮されていない。たとえば、ファイルＦ１の読み込み回数が多いとき、ファイルＦ１を複数のピアに配置することにより、配置されたピアそれぞれにおけるファイルＦ１の読み込み回数を減らすことが出来る。しかしながら、読み込み回数が多い他のファイルＦ２、Ｆ３、…が同一のピアに配置される場合があり、このようなピアに対するアクセス負荷を分散することは考慮されていない。
【００１０】
また、特許文献２、非特許文献２、非特許文献３には、ファイルの複製の量が特定ノードの記憶装置に偏らないように分散させる技術が開示されている。これら技術は記憶装置にて使用する容量をネットワーク内のピアで分散するものであるが、一般にファイルの大きさとそのファイルに対するアクセス頻度は無関係であり、また、一般にファイルの人気には大きな偏りが発生する場合が多く、同数のファイルを配置されたピア同士であっても、これらピアに対するアクセス頻度には偏りがあることが多い。つまり、これら従来技術ではピア間におけるアクセス頻度の偏りを平滑化することについては考慮されていない。このため、アクセス頻度が高いファイルを配置された記憶装置を有するピアにアクセスが集中することがあり、アクセス負荷をピア間で分散することができなかった。
【００１１】
更に、従来の技術では、共有ファイルに対するアクセスの頻度の時間変化が考慮されていなかった。通常、ある共有ファイルに対するアクセス頻度は一定不変ではなく、時の経過につれて変化する。結果として、配置されたファイルに変化がなくてもピアに対するアクセス頻度は時間変化し、ネットワーク内におけるピア毎のアクセス頻度の分布も時間変化する。しかしながら、従来の技術によれば、こうした経時変化への対応が考慮されていなかった。
【００１２】
本発明はこのような状況に鑑みてなされたものであり、本発明が解決しようとする課題は、アクセス頻度が高いものと低いものが混在するファイル群を共有する場合であってもアクセス負荷をピア間で分散すると共に、アクセス頻度の時間変化に対して対応するピアツーピアファイル共有ネットワークを提供することである。
【課題を解決するための手段】
【００１３】
上述の課題を解決するため、本発明はその一態様として、ファイル複製要否判定方法を提供する。即ち、複数のピアの記憶装置に同じファイルの複製を記憶させるピアツーピア型通信システムのピアが、当該他のピアに送信するファイルを当該ピアの記憶装置に保持するために、当該ファイルを複製するか否かを判定する方法において、予め定められた期間に当該他のピアから当該ピアに対してなされたアクセスに係る参照情報を当該ピアの参照情報記憶装置が記憶する段階（図２  Ｓ１０６）と、参照情報に基づいて当該ピアの処理装置が指標値を算出する段階（Ｓ１０３）と、指標値に基づいて当該ピアの処理装置が当該ファイルの複製の要否を判定する段階（Ｓ１０４）と、判定の結果に応じて当該ピアの処理装置が参照情報記憶装置に記憶されている参照情報を更新する（Ｓ１０６）段階とを含むことを特徴とするファイル複製要否判定方法を提供する。
【００１４】
また、本発明は他の態様として、複数のピアの記憶装置に同じファイルの複製を記憶させるピアツーピア型通信システムのピアとして機能する通信装置において、予め定められた期間に当該他のピアから当該ピアに対してなされたアクセスに係る参照情報を記憶する手段（図１  参照情報記憶装置４３）と、参照情報に基づいて指標値を算出する手段（指標値算出部４２）と、指標値に基づいて当該ファイルの複製の要否を判定する手段（ファイル複製制御部４１）と、判定の結果に応じて記憶装置に記憶されている参照情報を更新する手段（指標値算出部４２）とを備えることを特徴とする通信装置を提供する。
【００１５】
また、本発明は他の態様として、複数のピアの記憶装置に同じファイルの複製を記憶させるピアツーピア型通信システムのピアとしてコンピュータを機能させるコンピュータプログラムにおいて、予め定められた期間に当該他のピアから当該ピアに対してなされたアクセスに係る参照情報を記憶する手段と、参照情報に基づいて指標値を算出する手段と、指標値に基づいて当該ファイルの複製の要否を判定する手段と、判定の結果に応じて記憶装置に記憶されている参照情報を更新する手段として機能させるためのものであることを特徴とするコンピュータプログラムを提供する。
【００１６】
更に、本発明は他の態様として、上述のコンピュータプログラムを記録した記録媒体、この記録媒体を備え、コンピュータプログラムに従って動作するコンピュータ、上述の通信装置またはコンピュータをピアとするピアツーピア型通信システムを提供する。
【発明の効果】
【００１７】
本発明によれば、アクセスに係る参照情報から算出した指標値が高いピアではファイルを保持せず、低いピアでは保持するものとする。これにより、ピアツーピア型通信ネットワークにおいて共有するファイルを配置するピアを決定する際、指標値が高いピアには配置せず、指標値が低いピアに配置することとなり、その結果、指標値をピア間で平滑化することが出来る。また、直近の期間内における指標値に基づいて判定するので、各ピアの指標値が時間の経過に従って変化しても、その変化に追随することが出来る。
【発明を実施するための最良の形態】
【００１８】
本発明の一実施形態であるピアツーピア型通信システム１００について図１を参照して説明する。ピアツーピア型通信システム１００はピアとなる通信装置１の複数と通信ネットワーク６からなる。図１では簡略化して通信装置１ひとつだけをピアとして記載しているが、実際には通信装置１と同様のピアが通信ネットワーク６に多数接続されているものとする。
【００１９】
通信装置１は、検索要求部２、ファイル転送部３、ファイル複製部４、ファイル記憶装置５を備える。検索要求部２は通信ネットワーク６を介して他のピアとの間で検索要求を送受信する。ファイル転送部３は、通信ネットワーク６を介して、ピアツーピア型通信システム１００にて共有されるファイル（以下共有ファイルと呼ぶ）を他のピアとの間で送受信する。ファイル複製部４は共有ファイルを複製する。ファイル記憶装置５は共有ファイルを記憶する。
【００２０】
通信装置１は、ネットワークインタフェースを備え、ピアツーピア型ファイル共有プログラムに従って動作する情報処理装置である。ネットワークインタフェース装置は所謂ＬＡＮカードであってもよいし、または携帯電話網やＰＨＳネットワーク等の移動体通信網に接続するための無線通信ネットワーク装置であってもよい。情報処理装置としては具体的にはパーソナルコンピュータ、ワークステーション、携帯電話機、ＰＤＡ等を用いることが出来る。
【００２１】
通信ネットワーク６はピアである通信装置１を互いに接続するネットワークである。通信ネットワーク６は、例えば、イーサネット（登録商標）等の有線通信方式、無線ＬＡＮ等の無線通信方式、およびそれら通信方式上に仮想的に構成されたオーバーレイネットワーク等で実現される。
【００２２】
検索要求部２は、検索要求制御部２１、検索要求受信部２２、検索要求送信部２３を備える。各部について以下に説明する。
【００２３】
検索要求制御部２１は、検索要求受信部２２及び検索要求送信部２３を制御することにより、通信ネットワーク６を介して他のピアとの間で検索要求を送受信する処理を行う。検索要求は検索対象となる共有ファイルを保持しているか否かの判定を要求するものである。
【００２４】
検索要求受信部２２は、検索要求制御部２１の制御の元で、通信ネットワーク６を介して他のピアから検索要求を受信する処理を行う。
【００２５】
検索要求送信部２３は、検索要求制御部２１の制御の元で、通信ネットワーク６を介して他のピアに検索要求を送信する処理を行う。
【００２６】
これら各部が協働して検索要求部２は次のように動作する。他のピアから検索要求受信部２２を通じて検索要求を受け取ると、検索要求制御部２１は、ファイル記憶装置５に該当するファイルが格納されているか否か判定する。該当ファイルが格納されていると判定した場合、検索要求制御部２１は、検索要求送信部２３を通じて要求元ピアにその旨を伝えるか、もしくは、ファイル転送部３を通じて該当するファイルを要求元の通信装置に送信する。他方、ファイル記憶装置５に該当するファイルが格納されていないと判定した場合、検索要求制御部２１は、検索要求送信部２３を通じて、要求元とは異なる他の通信装置に検索要求を転送する。
【００２７】
ファイル転送部３は、ファイル転送制御部３１、転送ファイル受信部３２、転送ファイル送信部３３からなる。各部について以下に説明する。
【００２８】
ファイル転送制御部３１は、検索要求制御部２からの指示に基づき、ファイル記憶装置５に格納されているファイルを、転送ファイル送信部３３を通じて他の通信装置に送信する。また、転送ファイル受信部３２を通じて他の通信装置から受信したファイルを、転送ファイル送信部３３を通じて別の他の通信装置に転送すると共に、そのファイルをファイル複製制御部４に渡す。
【００２９】
転送ファイル受信部３２は通信ネットワーク６を通じて他の通信装置からファイルを受信する。
【００３０】
転送ファイル送信部３３は通信ネットワーク６を通じて他の通信装置へファイルを送信する。
【００３１】
ファイル複製部４は、ファイル複製制御部４１、指標値算出部４２、参照情報記憶装置４３からなる。各部について以下に説明する。
【００３２】
ファイル複製制御部４１はファイルを複製する必要があるか否かを判定し、判定結果に応じてファイルをファイル記憶装置５に記憶する。ファイル転送部３からファイルを受け取ると、指標値算出部４２が算出した指標値に基づいてそのファイルを記憶するか否かの判定、即ち、複製要否判定を行い、その結果に応じてそのファイルをファイル記憶装置５に記憶する。指標値は単にそのファイルを記憶する／しないを２値的に定めるものであってもよく、この場合、複製要否判定は指標値にそのまま従う。また、指標値は確率であってもよく、この場合、ファイル複製制御部５は別途乱数を生成し、指標値と乱数とを比較して複製要否判定を行う。例えば、アクセス負荷に基づいてそのファイルを記憶する０から１の確率として指標値を生成し、別途生成した０から１の乱数と比較して、乱数が指標値以下の場合はそのファイルを記憶し、乱数が指標値を上回る場合はそのファイルを記憶しないとすることが考えられる。特に、指標値を生成する際に参照する参照情報として当該通信装置１でのファイルの複製の履歴を用いる場合であって、複製要否判定にて複製する旨の判定を行った場合、ファイル複製制御部４１は指標値算出部４２を介して参照情報記憶部４３に保持されている参照情報を更新する。
【００３３】
指標値算出部４２は、参照情報記憶装置４３に格納されている参照情報に基づいて指標値を算出し、ファイル複製制御部４１に通知する。参照情報としては、当該通信装置１自身のアクセス負荷、当該他の通信装置の状態やアクセス負荷等を示す値が考えられ、これらの値を単独で、或いは、複数組み合わせて指標値を生成してもよい。特に、指標値として当該通信装置１でのファイルの複製の履歴を用いる場合、指標値算出部４２は、ファイル複製制御部４１から通知されたファイル複製通知に基づいて、参照情報記憶装置４３に参照情報として記憶している履歴情報を更新する。
【００３４】
参照情報記憶装置４３は参照情報を格納する。格納すべき参照情報は指標値算出部４２が算出する指標値により異なる。
【００３５】
ファイル記憶装置５は、ピアツーピア型通信システム１００の他の通信装置に配布することを目的として共有ファイルの複製を記憶する。
【００３６】
次に、ピアツーピア型通信システム１００の動作について説明する。不図示の通信装置１ａ、１ｂ、１ｃはいずれも通信装置１と同様の構成を有するピアツーピア型通信システム１００のピアとして動作する通信装置であり、これら通信装置の各部の参照符号として、通信装置１の対応する各部の参照符号の末尾にａ、ｂ、ｃのいずれかを付したものを用いるものとする。
【００３７】
ユーザによる操作やアプリケーションプログラムにより、ファイルＦを検索する旨の指示が入力されると、この指示に応じて通信装置１の検索要求送信部２２はファイルＦを検索対象とする検索要求をピアツーピア型通信システム１００の他の通信装置１ａに対して送信する。ここでは通信装置１ａはファイルＦを保持せず、通信装置１ｂはファイルＦを保持しているものとする。通信装置１ａにおいて、検索要求受信部２２ａが検索要求を受信すると、検索要求制御部２１ａがファイル記憶装置５ａにファイルＦが保持されているか否かを判定する。前述のように通信装置１ａはファイルＦを保持していない。このとき、検索要求制御部２１ａは、検索要求送信部２３ａにより検索要求をバケツリレー式に他の通信装置１ｂに転送する。検索要求を受信した通信装置１ｂは通信装置１ａと同様にしてファイル記憶装置５ｂにファイルＦがあるか否か判定する。前述のように通信装置１ｂはファイルＦを保持している。このとき、検索要求制御部２１ｂは、ファイル転送制御部３１ｂにその旨を通知し、これに応答して、ファイル転送制御部３１ｂはファイル複製制御部４１ｂを介してファイル記憶装置５ｂからファイルＦを読み出して、転送ファイル送信部３３ｂから通信ネットワーク６を介して検索要求の送信元である通信装置１にファイルＦを転送する。尚、本発明では、検索要求の通信方式には依存しないものであり、他の一般的なピアツーピア型ネットワークにおける方式であってもよい。このため検索要求の通信方式に関するより詳細な説明については省略する。
【００３８】
ここで図２を参照して通信装置１の動作について説明する。転送ファイル受信部３２が通信装置１ｂからファイルＦを受信する（ステップＳ１０１）と、ファイル転送制御部３１は、他の通信装置に転送する必要があるか否かを予め定められた判定処理に従って判定し、必要であれば転送ファイル送信部３３により例えば通信装置１ｃに送信する（ステップＳ１０２）と共に、ファイルＦをファイル複製制御部４１に渡す。ファイルＦを受け取ったファイル複製制御部４１は、指標値算出部４２に対して指標値の算出を指示し、この指示に応答して、指標値算出部４１は参照情報記憶装置４３に格納されている参照情報に基づいて指標値を算出する（ステップＳ１０３）。また、ファイル複製制御部４１は、算出された指標値に基づいて複製要否判定を行う（ステップＳ１０４）。複製をする旨の判定結果を得た場合、ファイル複製制御部４１は、他の通信装置への配布を目的としてファイルＦをファイル記憶装置５に格納する（ステップＳ１０５）と共に、ファイルの複製を行ったことを指標値算出部４２を介して参照情報記憶装置４３に記憶する（ステップＳ１０６）。複製要否判定で複製をしない旨の判定結果を得た場合はステップＳ１０１に戻る。
【実施例１】
【００３９】
図３を参照して実施例１のピアツーピア型通信システム２００について説明する。ここでは、ピアツーピア型通信システム１００とは異なる点について説明する。
【００４０】
通信装置１は、インターネットに接続されたパーソナルコンピュータ上のアプリケーションによって実現される。このアプリケーションにより、ピアツーピア型ファイル共有ネットワークがインターネット上にオーバーレイネットワークとして構成される。
【００４１】
参照情報記憶装置４３は参照情報として履歴情報を格納する。ここで履歴情報とは、所定期間内の単位時間毎に、当該他の通信装置からバケツリレー式に受信したファイルを、当該通信装置１のファイル記憶装置５に書き込んだか否かを示す情報である。単位時間長さをｕとし、所定期間をＮｕで表し、Ｎを平均時間幅と呼ぶものとする。時刻ｔ−ｕを越え時刻ｔ以下の単位時間内に書き込みを行ったことをＩ（ｔ）＝１で表し、書き込みを行わなかったことをＩ（ｔ）＝０で表すものとする。現在時刻をｔｃとするとき、参照情報記憶装置４３に格納される履歴情報は、時刻ｔｃ−Ｎｕ＋ｕ、ｔｃ−Ｎｕ＋２ｕ、…、ｔｃの各時刻における書き込みの有無Ｉ（ｔｃ−Ｎｕ＋ｕ）、Ｉ（ｔｃ−Ｎｕ＋２ｕ）、…、Ｉ（ｔｃ）である。時刻が進むと参照情報記憶装置４３は履歴情報の中の最古のＩ（ｔ）を破棄し、代わりに新しいＩ（ｔ）を記憶する。
【００４２】
指標値算出部４２は、参照情報記憶装置４３が記憶する履歴情報からアクセス負荷Ｌを指標値として算出する。ここでアクセス負荷Ｌは平均時間幅が示す期間内におけるＩ（ｔ）の平均値であり、Ｌ＝（１／Ｎ）ΣＩ（ｔ）＝（１／Ｎ）｛Ｉ（ｔｃ−Ｎｕ＋ｕ）＋Ｉ（ｔｃ−Ｎｕ＋２ｕ）＋…＋Ｉ（ｔｃ）｝である。
【００４３】
ピアツーピア型通信システム２００は、ピアツーピア型通信システム１００の各部に加えて、指標値要求送信部７１、指標値通知受信部７２、指標値要求受信部７３、指標値通知送信部７４を備える。指標値要求送信部７１は、通信ネットワーク６を介して直接に通信可能なピア、即ち、隣接ピアそれぞれに対して指標値要求を送信する。指標値要求は受信した通信装置に対し、自身の指標値を通知する信号、即ち、指標値通知を返信するように要求する信号である。指標値通知受信部７２は指標値通知を隣接ピアから受信する。指標値要求受信部７３は隣接ピアから指標値要求を受信する。指標値通知送信部７４は隣接ピアに指標値通知を送信する。本実施例では指標値はアクセス負荷であるため、隣接ピアと送受信する指標値通知及び指標値要求は、アクセス負荷の通知及びその要求を行う信号である。
【００４４】
ファイル複製制御部４１は、指標値要求送信部７１、指標値通知受信部７２、指標値要求受信部７３、指標値通知送信部７４を制御して、隣接ピアとの間で指標値要求及び指標値通知の送受信を行う。指標値要求送信部７１にて送信した指標値要求に応じて隣接ピアから指標値通知を受信すると、ファイル複製制御部４１は、その指標値通知の送信元の通信装置と、その指標値とを指標値算出部４２に通知する。また、隣接ピアから指標値要求を受信すると、これに応答して、指標値算出部４２から取得した自身の指標値を指標値要求の送信元の通信装置に返信する。
【００４５】
次に本実施例においてファイル複製制御部４１で実行される複製要否判定について図４を参照して説明する。通信装置１が直接通信することが出来る隣接ピアの数を次数と呼びｄで表し、隣接ピアそれぞれのアクセス負荷をＬｉ（ｉ＝１、２、…、ｄ）で表すものとする。ただしｄは自然数である。通信装置１ｄは通信装置１の隣接ピアであり、図３の通信装置１と同じ構成を有するものとし、各部の参照符号は通信装置１の対応する各部の参照符号の末尾にｄを付したものとする。
【００４６】
前述のステップＳ１０３に続いて、或いは並行して、ファイル複製制御部４１は、指標値要求送信部７１を用いて通信ネットワーク６を介して隣接ピアの通信装置それぞれに対して指標値要求を送信する（ステップＳ２０１）。
【００４７】
隣接ピアの通信装置１ｄにおいて、指標値要求受信部７３ｄが指標値要求を受信すると、ファイル複製制御部４１ｄは指標値通知送信部７４により通信ネットワーク６を介して通信装置１に指標値通知を送信する。
【００４８】
通信装置１では、この指標値通知を指標値通知受信部７２が受信する（ステップＳ２０２）と、ファイル複製制御部４１は、アクセス率の２次変化量をＤ・Ｌ＝（１／ｄ）Σ（Ｌｉ−Ｌ）で計算する（和はｉ＝１〜ｄとする）（ステップＳ２０３）。尚、Ｄは２次変化量を求める演算子である。
【００４９】
次に、ファイル複製制御部４１は、この２次変化量を基に、ファイルを複製する確率をｐ＝（１／２）＋（１／２）ｔａｎｈ（μ＋λａｒｃｔａｎｈ（Ｄ・Ｌ））で計算する（ステップＳ２０４）。ここで、μ、λはパラメータである。λは負荷分散の性能に関係したパラメータで、μは検索性能に関係したパラメータである。
【００５０】
次に、ファイル複製制御部４１は、乱数Ｒ（０≦Ｒ＜１）を発生（ステップＳ２０５）し、乱数Ｒがｐよりも小さければ（Ｒ＜ｑ）ファイルをファイル記憶装置５に記憶（ステップＳ２０７）し、乱数Ｒがｐよりも大きければ（Ｒ≧ｑ）ファイルを破棄するように判定する（ステップＳ２０８）。
【００５１】
ここで図２を参照すると、このようにして複製要否判定を行った後、ファイル複製制御部４１は、ファイルをファイル記憶装置５に記憶したかどうかを指標値算出部４２に通知する。ここで、ファイルをファイル記憶装置５に記憶したかどうかをＩ’で表し、Ｉ’＝１を記憶した場合とし、Ｉ’＝０を破棄した場合とする。
【００５２】
この通知に応じて、指標値算出部４２はＩ’を用いて参照情報記憶装置４３に保持されている履歴情報を更新する（ステップＳ１０６）。参照情報記憶装置４３は平均時間幅に対応するＮ個のＩ（ｔ）を順番に記憶しているが、このうち、最古のＩ（ｔ）を破棄して新しいＩ（ｔ）を追加する。
【００５３】
本実施例によれば、同一ファイルの複製を複数のピアに配置するので、各ピアは高速かつ確実に検索を行うことができる。また、アクセス負荷の２次変化量Ｄ・Ｌから、隣接ピア間においてアクセス負荷の局所的な差を平滑化させるように、ファイルを複製する確率を変化させるので、ファイル記憶装置５への書き込み頻度を通信装置間で分散させることができる。更に、パラメータμ、λを調整することで検索性能及び負荷分散性能といったシステム性能を調整することができる。
【実施例２】
【００５４】
次に実施例２について説明する。実施例１では、バケツリレー式に他の通信装置から受信したファイルを単位時間内に自身のファイル記憶装置に書き込みしたか否かを示すＩ（ｔ）を、直近のＮ個の単位時間について記憶し、その平均値としてアクセス負荷Ｌを求めた。これに対して、本実施例では、直近の１単位時間分だけ記録したＩ（ｔ）と、前回求めたアクセス負荷とに基づいて現在のアクセス負荷を求める。尚、参照情報記憶装置４３における参照情報の記憶方法と、指標値算出部４２における指標値の算出方法以外は、実施例１と同様であるので説明を省略する。
【００５５】
参照情報記憶装置４３は、直前の１単位時間内に他の通信装置からバケツリレー式に受信したファイルを自身のファイル記憶装置５に書き込みしたか否かと、指標値算出部４２が前回算出したアクセス負荷とを記憶する。最近１単位時間の間に書き込みを行ったか否かをＩｐａｓｔで表し、Ｉｐａｓｔ＝１で書き込みを行ったことを示し、Ｉｐａｓｔ＝０で書き込みを行わなかったことを示すものとする。また前回に指標値算出部４２が算出したアクセス負荷をＬｐａｓｔとする。このとき、参照情報記憶装置４３はＩｐａｓｔ及びＬｐａｓｔを保持する。参照情報記憶装置４３に記憶されるＩｐａｓｔ及びＬｐａｓｔは単位時間毎に更新される。Ｉｐａｓｔ及びＬｐａｓｔは単位時間経過毎に破棄されて、現単位時間における複製の有無とアクセス負荷が新たなＩｐａｓｔ及びＬｐａｓｔとして保持される。
【００５６】
指標値算出部４２は、図２のステップＳ１０３において、参照情報記憶装置４３が保持しているＩｐａｓｔ及びＬｐａｓｔに基づいて、現時点でのアクセス負荷ＬをＬ＝（１／Ｎ）（Ｉｐａｓｔ＋（Ｎ−１）Ｌｐａｓｔ）として計算する。また、指標値算出部４２は、図２のステップＳ１０６において、現単位時間における複製の有無Ｉとアクセス負荷Ｌとにより、参照情報記憶装置４３に現に保持されているＩｐａｓｔ及びＬｐａｓｔを更新する。
【００５７】
このようにして求めたアクセス負荷Ｌを用いて、ファイル複製制御部４１は、図４にて説明した複製要否判定を行う。
【００５８】
本実施例によれば実施例１と同様の効果を得ることが出来る。また、実施例１では参照情報として複製を行ったか否かを過去Ｎ単位時間分記憶しておく必要があるが、本実施例では直前の単位時間内に複製を行ったか否かと、前回算出したアクセス負荷のみを記憶すれば足りるので、参照情報を保持するために必要な容量を削減することができる。
【００５９】
以上、本発明を実施の形態及び実施例に基づいて説明したが、本発明はこれに限定されるものではなく、本発明の技術的思想の範囲内において適宜変更可能であることは勿論である。
【００６０】
例えば、実施例１及び２では、バケツリレー式に他の通信装置から受信したファイルを単位時間内に自身のファイル記憶装置に書き込みしたか否かを示す履歴情報を参照情報として用いていたが、本発明はこれに限定されるものではなく、例えば、当該他の通信装置からの要求に応じて送信するため、当該通信装置が自身のファイル記憶装置に保持している共有ファイルの複製を生成したか否かを、所定期間内の単位時間毎に記録した情報を参照情報として用いることとしてもよい。
【００６１】
また、実施例１及び２では、バケツリレー式に他の通信装置からファイルを受信したときに履歴情報／参照情報を更新するが、本発明はこれに限定されるものではなく、例えば、ファイルＦを保持している通信装置Ａが、当該他の通信装置ＢからファイルＦの検索要求／転送要求を受信し、この検索要求／転送要求に応答してファイルＦを通信装置Ｂに送信したときに、通信装置Ａが自身の履歴情報／参照情報を更新することとしてもよい。
【図面の簡単な説明】
【００６２】
【図１】本発明の実施の形態であるピアツーピア型通信システム１００のブロック図である。
【図２】ピアツーピア型通信システム１００の動作を説明するためのフローチャートである。
【図３】本発明の実施例１であるピアツーピア型通信システム２００のブロック図である。
【図４】ピアツーピア型通信システム２００の動作を説明するためのフローチャートである。
【符号の説明】
【００６３】
１    通信装置
２    検索要求部
３    ファイル転送部
４    ファイル複製部
５    ファイル記憶装置
６    通信ネットワーク
２１  検索要求制御部
２２  検索要求受信部
２３  検索要求送信部
３１  ファイル転送制御部
３２  転送ファイル受信部
３３  転送ファイル送信部
４１  ファイル複製制御部
４２  指標値算出部
４３  参照値記憶装置
７１  指標値要求送信部
７２  指標値通知受信部
７３  指標値要求受信部
７４  指標値通知送信部
【図１】
0005487420.tif 000002
【図２】
0005487420.tif 000003
【図３】
0005487420.tif 000004
【図４】
0005487420.tif 000005