(57)【要約】【課題】  Ｐ２Ｐ環境におけるビザンチン合意アルゴリズムを高速化する。【解決手段】  ビザンチン合意処理の応答時間の計測により得られた処理性能により、端末毎に処理性能を記述することと処理性能順に各端末を整列し記述するＰｅｅｒランキングリストを生成する。該リストを用いて、ビザンチン合意実行前において、より高速にビザンチン合意を処理可能と推定できる端末を選択する。あるいはメタデータの転送を行なうときに、メタデータの転送処理性能を計測、端末毎に処理性能を記述することと処理性能順に各端末を整列し記述するメタデータ転送処理性能リストを生成し、メタデータの転送実行前において、より高速にメタデータの転送を処理可能と推定できる端末を選択しメタデータの転送を行なう。【選択図】  図２
2006107118.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末が自律分散協調により任意の情報、ファイルデータを送受信するＰ２Ｐネットワーク上に接続された端末間でファイル共有を行なうシステムにおいて、ファイルデータの正当性を保障する検証データを持つメタデータのビザンチン合意アルゴリズムの応答を高速に行なえると予測される端末をＰｅｅｒランキングリストとして保持・管理し、コンテンツ利用時、該Ｐｅｅｒランキングリストに保持されている、該メタデータをすでに保持しているか、メタデータの再配置を行ない保持することが可能な複数端末の中から端末を選択し、選択された端末でビザンチン合意アルゴリズムを行なうことを特徴とするＰ２Ｐ環境におけるビザンチン耐故障ファイル共有の応答高速化方法。
【請求項２】
コンテンツ利用を要求する端末が、前記メタデータを持つ端末の一覧とビザンチン耐故障数を記載したＰｅｅｒリストを生成し、該Ｐｅｅｒリストの端末の中からビザンチン合意を行なうグループのマスタを一端末決定し、該マスタ端末にＰｅｅｒリストを送付する、請求項１に記載の方法。
【請求項３】
コンテンツ利用を要求する端末が、
前記マスタ端末にＰｅｅｒリストを送付し、ビザンチン合意をビザンチングループで行ない、ビザンチングループから応答が返却されるまでの応答時間をＰｅｅｒリスト送付端末上において計測し、
前記ビザンチン合意の応答時間の計測により得られた時間により、マスタ端末の応答時間を記述することと、応答時間順に各端末を整列し記述するマスタＰｅｅｒ決定ランキングリストを生成し、
前記Ｐｅｅｒリストの端末の中からビザンチン合意を行なうグループのマスタを、前記マスタＰｅｅｒ決定ランキングリストの上位の端末から選択し、該マスタ端末に前記Ｐｅｅｒリストを送付し、
前記メタデータの複製を持つ端末間でビザンチン合意を行なうときに、各端末間で行なうビザンチン合意処理の応答時間を前記マスタ端末により計測、またはレプリカにより計測し、
前記ビザンチン合意処理の応答時間の計測により得られた処理性能により、端末毎に処理性能を記述し、処理性能順に各端末を整列し記述するＰｅｅｒランキングリストを生成し、
前記Ｐｅｅｒランキングリストを用いることにより、ビザンチン合意実行前において、より高速にビザンチン合意を処理可能と推定できる端末を選択し、選出ビザンチン合意リストを生成し、
前記選出ビザンチン合意リストはビザンチン合意を行なうグループの端末に送信し、選出ビザンチン合意リストを受信した端末によりビザンチン合意を行なう、
請求項２に記載の方法。
【請求項４】
前記選出ビザンチン合意リストを受信した端末はビザンチン合意を行なうメタデータを保持していない場合、前記Ｐｅｅｒリストに記載されている端末からメタデータを転送し、
前記Ｐｅｅｒリストとメタデータ転送済み端末を用いることにより、ビザンチン合意実行前において、より高速にビザンチン合意を処理可能と推定できる端末を選択し、前記選出ビザンチン合意リストを生成し、
前記メタデータの転送を行なうときに、メタデータの転送処理性能を計測し、
前記メタデータの転送処理性能の計測により得られた処理性能により、端末毎に処理性能を記述することと処理性能順に各端末を整列し記述するメタデータ転送処理性能リストを生成し、
前記メタデータ転送処理性能リストを用いることにより、メタデータの転送実行前において、より高速にメタデータの転送を処理可能と推定できる端末を選択しメタデータの転送を行なう、請求項２に記載の方法。
【請求項５】
請求項３と請求項４に記載されている選出ビザンチン合意リストの生成により推定される各々のビザンチン合意処理性能から、より高速にビザンチン合意を処理可能と推定できる方法を選択する、請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の端末が自律分散協調により任意の情報、ファイルデータを送受するＰ２Ｐネットワーク上に接続された端末間でファイル共有を行なう方法に関する。
【背景技術】
【０００２】
従来のＰ２Ｐ環境におけるビザンチン耐故障方式ファイル共有方法としては、特許文献１「サーバレス分散ファイルシステム」に開示されるようなビザンチン耐故障方式ファイル共有方法がある。
【０００３】
サーバレス分散ファイルシステムにおいては、ディレクトリ情報をビザンチンフォールトトレラントグループに所属する端末が行ない、ファイルはビザンチンフォールトトレラントグループを利用せずに端末で管理し、クライアント端末は、サーバレス分散ファイルシステム上のファイルにアクセスするために、ビザンチン合意アルゴリズムにより正常性が保障されたディレクトリ情報からファイルの識別情報と、前記ファイルの複製が記憶された複数のコンピュータの識別情報と、ファイル検証データを入手し、ファイルの識別情報およびコンピュータの識別情報によりファイルを取得し、クライアント端末上でファイルとファイル検証データを比較することにより、ファイルの正常性を担保することを特徴としている。
【０００４】
上記ビザンチン合意アルゴリズムでは、端末間で多数のメッセージパッシングおよび端末の計算処理性能がビザンチン合意処理の応答性能に影響する。ここで、ビザンチン合意とは、ある端末が他端末（例えばａ，ｂ，ｃとする）に通信する値がａ，ｂには正しい値、ｃには故障した値を通知するような故障（ビザンチン故障と言う）が存在する場合において、故障を検知するアルゴリズムのことを指し、ビザンチン合意処理とは、上記の故障検知アルゴリズムを利用したシステム処理を指す。
【０００５】
そのため、ビザンチンフォールトトレラントグループの大多数の端末が高性能端末であっても、低性能端末もビザンチンフォールトトレラントグループに所属している状況下においては、高性能端末が本来の性能を発揮できず、Ｐ２Ｐ環境のような多様な計算処理性能を持つ端末が混交している環境下においてはビザンチン合意処理の応答性能に影響し問題である。
【特許文献１】特開２００２―３５８２２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
Ｐ２Ｐによるファイル共有は集中管理によるサーバ維持コストや回線コストの削減が利点であるが、共有されたファイルの改竄・故障等の問題が発生する。この問題にはビザンチン合意アルゴリズムを用いることによりファイルの改竄・故障等を回避できる。
【０００７】
しかしながら、ビザンチン合意アルゴリズムは端末の計算処理性能が他端末に応答性能として影響するといった問題があり、Ｐ２Ｐ環境下においてはビザンチン合意アルゴリズムを実行する端末の性能が多様であり、集中管理型ファイル共有のようにビザンチン合意を行なう端末間の応答性能を最適化することが難しい。
【０００８】
本発明の目的は、Ｐ２Ｐ環境におけるビザンチン合意アルゴリズムを高速化するビザンチン耐故障方式ファイル共有方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明は、ファイルデータの正当性を保障する検証データを持つメタデータのビザンチン合意アルゴリズムの応答を高速に行なえると予測される端末をＰｅｅｒランキングリストとして保持・管理し、コンテンツ利用時、該Ｐｅｅｒランキングリストに保持されている、当該メタデータを持つ複数端末の中から端末を選択し、選択された端末でビザンチン合意アルゴリズムを行なう。
【００１０】
Ｐ２Ｐネットワーク上のような多様な計算機性能を持つ端末が混合している環境下においても、ビザンチン合意を行なう各端末に過去のビザンチン合意処理の応答性能を端末毎に記載したＰｅｅｒ性能ランキングリストおよびメタデータ転送方法を用いることにより、ビザンチン合意をより高速に行なえるＰｅｅｒを選択できる。
【発明の効果】
【００１１】
１）各端末の自律分散協調により本システムは実現し、中央管理サーバへの投資を必要としないため、設備・管理コストの削減が可能である。
【００１２】
２）ビザンチン合意を行なう端末として、該端末が保持するＰｅｅｒ性能ランキングリストから上位に位置づけられる高性能Ｐｅｅｒを選択するため、高速にビザンチン合意を行なうことが可能である。
【００１３】
３）ビザンチン合意を行なう端末がメタデータを保持していない場合でも他端末からメタデータを転送することにより、ビザンチン合意を行なうことが可能である。
【００１４】
４）ビザンチン合意を行なう複数方法の中から、Ｐｅｅｒ性能ランキングリストとメタデータ転送処理時間リストを用いることにより、高速にビザンチン合意を行なえる方法を選択することが可能である。
【発明を実施するための最良の形態】
【００１５】
次に、本発明の実施の形態について図面を参照して説明する。
【００１６】
図１は本発明の一実施形態の利用者端末の構成を示している。
【００１７】
利用者端末１，２はアプリケーション１２とビザンチン合意処理装置１３とＰ２Ｐファイル転送装置１４とＰ２Ｐ通信装置１５と２次記憶装置で構成されるＰ２Ｐビザンチン耐故障ファイル共有環境であり、インターネット等の伝達ネットワーク１０と接続されている。
【００１８】
ＯＳ上のＰ２Ｐファイル転送装置１４とＰ２Ｐ通信装置１５は、インターネット等の伝達ネットワーク１０上において、利用者端末１，２を物理的に伝達ネットワーク１０に接続し、端末１，２間で直接ファイルデータや情報を交換することを可能としている。２次記憶装置１６はファイルデータ等の保存が可能で、論理的にＰ２Ｐファイル共有環境を構成している。ビザンチン合意処理装置１３はアプリケーション１２からのファイルの登録依頼、メタデータ検索依頼、コンテンツ要求依頼を受け取り、アプリケーション１２に対して、コンテンツ登録終了、合致メタデータ通知、コンテンツ受信通知を通知する。
【００１９】
また、すべての利用者端末１，２，・・・は後述するＰｅｅｒ属性管理部１３１１により、クライアント−データ保存，クライアント−メタデータ保存，クライアント−ビザンチン合意，マスタ，レプリカ，待機のＰｅｅｒ属性のいずれかの状態に遷移することを可能とする。
【００２０】
また、図１に示される利用者端末は利用者端末１、利用者端末２と説明上分けて表記しているが、各々の端末の構成が異なることを意味するものではなく、説明にこだわらない時は利用者端末１と表記する。
【００２１】
図２は利用者端末１，２内のビザンチン合意処理装置１３の構成と、アプリケーション１２とビザンチン合意処理装置１３との間関係を示している。
【００２２】
ビザンチン合意処理装置１３はＰｅｅｒ属性管理部１３１１とＰｅｅｒＧＵＩＤ管理部１３１２とファイル送受信部１３２１とコンテンツメタデータ作成部１３２２とメタデータ転送時間計測部１３２３とメタデータ転送時間管理部１３２４とメタデータ検索部１３３１とビザンチン合意処理依頼部１３３２とコンテンツ検索部１３３３とＰｅｅｒリスト作成部１３３４とファイル管理部１３４１とビザンチン合意実行部１３５１とＰｅｅｒランキング管理部１３５２とビザンチン合意Ｐｅｅｒ選択部１３５３とビザンチン合意処理時間計測部１３５４とビザンチン合意方式選択部１３５５とメタデータ転送決定部１３５６とマスタランキング管理部１３５７とを含んでいる。
【００２３】
次に、本実施形態の動作を説明する。
【００２４】
［コンテンツの保存］
利用者端末１のアプリケーション１２はコンテンツ１３６１の登録時に、ビザンチン合意処理装置１３にコンテンツ登録依頼を要求し、該コンテンツ１３６１と耐故障数（ｆ）をビザンチン合意処理装置１３に送信する。ここで、耐故障数とは複製メタデータの故障数が耐故障数より少なければ、正常性を保ったメタデータを提供できる値を指す。ビザンチン合意処理装置１３は図５に示されるＰｅｅｒ属性管理部１３１１に対して、Ｐｅｅｒ属性を待機からクライアント−データ保存に状態遷移することを要求し、ビザンチン合意処理装置１３は図３に示されるコンテンツメタデータ作成部１３２２に対してコンテンツ１３６１の登録を要求する。コンテンツメタデータ作成部１３２２は、図３に示すように、ハッシュ関数（ＭＤ５，ＳＨＡ−１等）を用いて、コンテンツ１３６１を元に固定長のハッシュ値１３６２１を生成し、コンテンツ１３６１の、ファイル名、ファイルのプロパティ等のファイル関連情報１３６１２からコンテンツ関連情報１３６２２を生成し、ハッシュ値１３６２１とコンテンツ関連情報１３６２２のデータを有するメタデータ１３６２を生成する。ビザンチン合意処理装置１３は耐故障数（ｆ）から該メタデータの複製の配備数を３ｆ＋１数以上（複製メタデータの内容の比較を行ない、多数決を取れる数）のメタデータ数とし、該メタデータを配備する利用者端末をＰ２Ｐ通信装置１５を用いて３ｆ＋１数以上確保し、メタデータ保存側端末とし、該コンテンツの複製の配備数をｆ（ファイル（コンテンツ）の故障数）数以上とし、該コンテンツを配備する利用者端末２をＰ２Ｐ通信装置１５を用いてｆ数以上確保し、コンテンツ保存側端末とする。メタデータにはファイルの内容が正常であるかを判断できるファイルのハッシュ値が含まれているため、ネットワーク上に最低一個の正常なファイルが存在すれば正常なファイルを取得することが可能となる。そのため、想定する故障ファイル数（ｆ個）以上のファイルを端末に配備する必要がある。ビザンチン合意処理装置１３はファイル送受信部１３２１に対して、図４に示される、ファイル発信要求２−１を該メタデータ保存側端末に通知し、該メタデータのファイルを該メタデータ保存側端末（２−２）に送信し、該メタデータ保存側端末はファイル管理部１３４１に対して、受信した該メタデータを２次記憶装置１６にファイル保存（２−３）を行なわせる。ビザンチン合意処理装置１３はファイル送受信部１３２１に対して、図４で示される、ファイル発信要求２−１を該コンテンツ保存側端末に通知し、該コンテンツのファイルを該コンテンツ保存側端末に送信し（２−２）、該コンテンツ保存側端末はファイル管理部１３４０に対して、受信した該コンテンツの２次記憶装置１６のファイル保存（２−３）を行なわせる。ビザンチン合意処理装置１３は該メタデータおよび該コンテンツの必要配備数分、上記処理を繰り返す。ビザンチン合意処理装置１３はＰｅｅｒ属性管理部１３１１に対して、Ｐｅｅｒ属性をクライアント−データ保存から待機に状態遷移することを要求し、アプリケーション１２に対してコンテンツ登録終了を通知する。
【００２５】
［メタデータの検索］
利用者端末１のアプリケーション１２はメタデータ１３６２の検索時に、ビザンチン合意処理装置１３にメタデータ検索依頼を要求し、メタデータの検索クエリと耐故障数ｆをビザンチン合意処理装置１３に送信する。ビザンチン合意処理装置１３は図５に示されるＰｅｅｒ属性管理部１３１１に対して、Ｐｅｅｒ属性を待機からクライアント−メタデータ保存に状態遷移することを要求する。ビザンチン合意処理装置１３は図６に示されるメタデータ検索部１３３１に対して、該検索クエリを通知する。メタデータ検索部１３３１はＰ２Ｐ通信装置１５を介して、インターネット等の伝達ネットワーク１０に接続する利用者端末２に、該検索クエリを通知する。該検索クエリを受信した利用者端末２のメタデータ検索部１３３１は、ファイル管理部１３４１に対して該検索クエリを通知し、ファイル管理部１３４１は２次記憶装置１６に保存されているメタデータ１３６２を、該検索クエリを利用して検索し、該検索クエリと一致するメタデータがある場合、メタデータ検索部１３３１に対して、該メタデータを通知する。メタデータ検索部１３３１は、図５で示されるＰｅｅｒＧＵＩＤ管理部１３１２に対して、ＩＰアドレス等のＧＵＩＤを要求し、該メタデータの情報の一部と該ＧＵＩＤを、Ｐ２Ｐ通信装置２５を介して、利用者端末１に通知する。利用者端末１のビザンチン合意処理装置１３は図７に示されるＰｅｅｒリスト作成部１３３４に対して、利用者端末２から通知された、該メタデータの情報の一部と該ＧＵＩＤを通知する。Ｐｅｅｒリスト作成部１３３４は、メタデータの情報の一部から、分散配備された同一複製メタデータであるかを判断し、同一複製メタデータごとにＰｅｅｒリスト１３６３を作成し、Ｐｅｅｒリスト１３６３に、耐故障数（ｆ）を満たす３ｆ＋１数以上の利用者端末２の該ＧＵＩＤを登録し、Ｐｅｅｒリスト１３６３に耐故障数（ｆ）を登録する。ビザンチン合意処理装置１３はＰｅｅｒ属性管理部１３１１に対して、Ｐｅｅｒ属性をクライアント−メタデータ保存から待機に状態遷移することを要求し、アプリケーション１２に対して合致メタデータを、作成したＰｅｅｒリスト１３６３ごとに通知する。
【００２６】
［マスタの決定およびＰｅｅｒリストの通知］
利用者端末１のアプリケーション１２は、合致メタデータ通知に該当するコンテンツを要求する時に、ビザンチン合意処理装置１３にコンテンツ要求依頼を要求し、該合致メタデータ通知をビザンチン合意処理装置１３に送信する。ビザンチン合意処理装置１３は図５に示されるＰｅｅｒ属性管理部１３１１に対して、Ｐｅｅｒ属性を待機からクライアント−ビザンチン合意に状態遷移することを要求し、ビザンチン合意処理装置１３は、ビザンチン合意処理依頼部１３３２に対して該合致メタデータ通知を送信し、ビザンチン合意処理依頼部１３３２は、Ｐｅｅｒリスト作成部１３３４に対して該合致メタデータ通知と一致するＰｅｅｒリスト１３６３を要求する。ビザンチン合意処理依頼部１３３２は、Ｐｅｅｒリスト１３６３の中のＰｅｅｒが、図７に示されるマスタＰｅｅｒ決定ランキングリスト１３６６に記載がある場合は、マスタＰｅｅｒ決定ランキングリスト１３６６の上位に記載されているＰｅｅｒをマスタとする利用者端末２として選出し、記載が無い場合は、Ｐｅｅｒリスト１３６３に記述されているＰｅｅｒＧＵＩＤの中からランダムにマスタとする利用者端末２を選出し、また、図７に示されるマスタランキング管理部１３５７により、利用者端末１にビザンチン合意を行なったメタデータが転送されてくるまでのビザンチン合意処理応答時間を計測し、マスタＰｅｅｒ決定ランキングリスト１３６６を更新する。
【００２７】
ビザンチン合意処理依頼部１３３２は、Ｐ２Ｐ通信装置１５を介して、図８で示されるマスタを依頼する利用者端末２にビザンチン合意処理依頼（マスタ）を通知し、利用者端末２のビザンチン合意処理装置１３は、図５に示されるＰｅｅｒ属性管理部１３１１に対して、Ｐｅｅｒ属性を待機からマスタに状態遷移することを要求する（以降、利用者端末（マスタ）と表記）。利用者端末１のビザンチン合意処理依頼部１３３２は、ファイル送受信部１３２１に対して、Ｐｅｅｒリスト１３６３を利用者端末（マスタ）に送信することを要求する。ファイル送受信部１３２１は利用者端末（マスタ）に該Ｐｅｅｒリスト１３６３を送信し、利用者端末（マスタ）のビザンチン合意処理部１３３２は、ビザンチン合意Ｐｅｅｒ選択部２３５３に対して、レプリカとする利用者端末（３，４，５…）を選出することを要求する。
［ビザンチン合意処理方式の決定およびＰｅｅｒの選出］
利用者端末（マスタ）のビザンチン合意処理部１３３２は、ビザンチン合意Ｐｅｅｒ選択部１３５３に対して、レプリカとする利用者端末２を選出することを要求する時に、ビザンチン合意Ｐｅｅｒ選択部１３５３は、Ｐｅｅｒリスト１３６３と図９に示すＰｅｅｒランキングリスト１３６４とビザンチン合意処理方式をビザンチン合意方式選択部１３５５に通知する。
【００２８】
ビザンチン合意方式選択部１３５５は、該ビザンチン合意処理方式が方式１の場合、図１０に示すように、該Ｐｅｅｒリスト１３６３に記載された耐故障数（ｆ）を読み出し、ｆの値からビザンチン合意に必要なＰｅｅｒ数を３ｆ＋１数と決定し、ビザンチン合意方式選択部１３５５は、該Ｐｅｅｒランキングリスト１３６４に記載されている上位のＰｅｅｒから順に、該Ｐｅｅｒリスト１３６３に記載されているかを確認し、記載されている場合は、レプリカとする利用者端末３として選出し、また、ビザンチン合意に必要なＰｅｅｒ数を満たすまで、上記のレプリカとする利用者端末（４，５…）の選出を繰り返し、また、該Ｐｅｅｒランキングリスト１３６４に記載されている全Ｐｅｅｒに関して、該Ｐｅｅｒリスト１３６３に記載されているかの確認終了後、ビザンチン合意に必要なＰｅｅｒ数の選出数が満たされていない場合は、該Ｐｅｅｒリスト１３６３からランダムに残りのレプリカとする利用者端末の選出を繰り返す。ビザンチン合意方式選択部１３５５は、レプリカとする全利用者端末（３，４，５…）を選出し、ビザンチン合意Ｐｅｅｒ選択部１３５３にレプリカとする該全利用者端末（３，４，５…）を含む選出ビザンチン合意Ｐｅｅｒリスト１３６５を通知する。利用者端末（マスタ）のビザンチン合意Ｐｅｅｒ選択部１３５３は、レプリカとする該全利用者端末に対して、図９に示すようにビザンチン合意依頼を通知する。
【００２９】
ビザンチン合意方式選択部１３５５は、該ビザンチン合意処理方式が方式２の場合、図１１に示すように、該Ｐｅｅｒリスト１３６３に記載された耐故障数（ｆ）を読み出し、ｆの値からビザンチン合意に必要なＰｅｅｒ数を３ｆ＋１数と決定し、ビザンチン合意方式選択部１３５５は、該Ｐｅｅｒランキングリスト１３６４に記載されている上位のＰｅｅｒから順に、レプリカとする利用者端末３として選出し、また、該Ｐｅｅｒランキングリスト１３６４に記載されているＰｅｅｒ数が、ビザンチン合意に必要なＰｅｅｒよりも大きければ、ビザンチン合意に必要なＰｅｅｒ数を満たすまで、上記のレプリカとする利用者端末（４，５…）の選出を繰り返し、また、該Ｐｅｅｒランキングリスト１３６４に記載されているＰｅｅｒ数が、ビザンチン合意に必要なＰｅｅｒ数よりも小さければ、不足分のレプリカとする利用者端末（４，５…）を、該Ｐｅｅｒランキングリスト１３６４からランダムに残りのレプリカとする利用者端末（４，５…）の選出を繰り返し、ビザンチン合意方式選択部１３５５は、レプリカとする全利用者端末（３，４，５…）を選出し、ビザンチン合意処理装置１３にレプリカとする該全利用者端末（３，４，５…）を含む選出ビザンチン合意Ｐｅｅｒリスト１３６５を通知する。利用者端末（マスタ）のビザンチン合意処理装置１３は、レプリカとする該全利用者端末に対して、図９に示すようにビザンチン合意依頼を通知する。
【００３０】
ビザンチン合意方式選択部１３５５は、該ビザンチン合意処理方式が方式３の場合、方式１により選出されたレプリカとする利用者端末（３，４，５…）により実行されるビザンチン合意処理のビザンチン合意処理時間がＰｅｅｒランキングリスト１３６４により予測可能であり、方式２により選出されたレプリカとする利用者端末（３，４，５…）により実行されるビザンチン合意処理のビザンチン合意処理時間がＰｅｅｒランキングリスト１３６４により予測可能であり、図１３により示されるメタデータ転送時間計測部１３２３により生成されるメタデータ転送処理時間リスト１３５４１によりメタデータ転送処理時間が予測可能であり、該ビザンチン合意処理時間に該メタデータ転送処理時間を加算した、ビザンチン合意およびメタデータ転送処理時間により、方式１を実行したときの該ビザンチン合意処理時間と方式２を実行したときの該ビザンチン合意処理時間＋メタデータ転送処理時間を比較し、処理時間が短いと予想される方式を選択し、ビザンチン合意方式選択部１３５５は、レプリカとする利用者端末（３，４，５…）を選出し、ビザンチン合意処理装置１３にレプリカとする該利用者端末（３，４，５…）を含む選出ビザンチン合意Ｐｅｅｒリスト１３６５を通知する。利用者端末（マスタ）のビザンチン合意処理装置１３は、レプリカとする該全利用者端末（３，４，５…）に対して、図９に示すようにビザンチン合意依頼を通知する。
【００３１】
［レプリカ端末での処理］
利用者端末（マスタ）のビザンチン合意処理装置１３は、図８に示されるように、レプリカとする利用者端末３，４，５，…に対して、ビザンチン合意依頼を要求する場合、レプリカとする利用者端末３，４，５，…のビザンチン合意処理装置１３にビザンチン合意依頼とＰｅｅｒリスト１３６３を送信する。ビザンチン合意処理装置１３は、図５に示されるＰｅｅｒ属性管理部１３１１に対して、Ｐｅｅｒ属性を待機からレプリカに状態遷移することを要求する。ビザンチン合意処理装置１３は、図１２に示されるメタデータ転送決定部１３５６に対して、Ｐｅｅｒリスト１３６３を通知し、メタデータ転送決定部１３５６は、該Ｐｅｅｒリスト１３６３に自ＰｅｅｒＧＵＩＤが記載されているかを確認し、自ＰｅｅｒＧＵＩＤ（Ｇｌｏｂａｌ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ）が記載されている場合は、ビザンチン合意実行部１３５１に対してビザンチン合意処理を依頼し、自ＰｅｅｒＧＵＩＤが記載されていない場合は、メタデータ転送処理時間リスト１３５４１に記載されている上位の利用者端末から順に、該Ｐｅｅｒリスト１３６３に記載があるかを確認し、記載がある場合は、メタデータ転送元利用者端末を選出し、該メタデータ転送元利用者端末に対してメタデータ転送要求を通知し、該メタデータ転送元利用者端末からメタデータを自端末に転送し、記載が無い場合は、該Ｐｅｅｒリスト１３６３からランダムにメタデータ転送元利用者端末を選出し、該メタデータ転送元利用者端末に対してメタデータ転送要求を通知し、該メタデータ転送元利用者端末からメタデータを自端末に転送する。また、図１３に示されるメタデータ転送時間計測部１３５４により、メタデータの転送処理時間を計測し、メタデータ転送処理時間リスト１３５４１を更新し、ビザンチン合意実行部１３５１に対してビザンチン合意処理を依頼する。
【００３２】
［ビザンチン合意］
利用者端末（マスタ）および利用者端末（レプリカ）のビザンチン合意処理装置１３は、ビザンチン合意実行部１３５１に対して選出ビザンチン合意Ｐｅｅｒリスト１３６５を通知し、図１４に示されるように、選出ビザンチン合意Ｐｅｅｒリスト１３６５に記載されている利用者端末２，３，４，５…間で、メタデータ１３６２のビザンチン合意を行ない、また、ビザンチン合意処理時間計測部１３５４により、ビザンチン合意の処理時間を計測し、Ｐｅｅｒランキング管理部１３５２に対して、Ｐｅｅｒランキングリスト２３６４の更新を依頼し、ビザンチン合意実行部１３５１は、ビザンチン合意処理装置１３に対して、ビザンチン合意を行なったメタデータ１３６２を通知する。
【００３３】
［ビザンチン合意を行なったメタデータの転送］
利用者端末（マスタ）および利用者端末（レプリカ）のビザンチン合意処理装置１３は、Ｐ２Ｐファイル転送装置１４を用いて、利用者端末（クライアント−ビザンチン合意）に対してビザンチン合意を行なったメタデータ１３６２を転送する。ビザンチン合意処理装置１３はＰｅｅｒ属性管理部１３１１に対して、Ｐｅｅｒ属性をマスタおよびレプリカから待機に状態遷移することを要求し、利用者端末（クライアント−ビザンチン合意）は、利用者端末（マスタ）および利用者端末（レプリカ）からのビザンチン合意を行なったメタデータ１３６２を受信する。
【００３４】
［コンテンツの検索］
利用者端末（クライアント−ビザンチン合意）のビザンチン合意処理装置１３は、コンテンツの検索時に、コンテンツ検索部１３３３に対して、ビザンチン合意を行なったメタデータ１３６２のコンテンツ関連情報１３６２２を通知する。コンテンツ検索部１３３３は、コンテンツ関連情報１３６２２からコンテンツ検索クエリを抽出し、図１５に示されるように、Ｐ２Ｐ通信装置１５を介して、インターネット等の伝達ネットワーク３に接続する利用者端末２，３，４…に対して、コンテンツ検索クエリを通知する。該コンテンツ検索クエリを受信した利用者端末５のコンテンツ検索部１３３３はファイル管理部１３４１に対して、該コンテンツ検索クエリを通知する。ファイル管理部１３４１は２次記憶装置１６に保存されているコンテンツ１３６１を、該コンテンツ検索クエリを利用して検索し、ファイル管理部１３４１は、該コンテンツ検索クエリと一致するコンテンツ１３６１がある場合、コンテンツ検索部１３３３に対して、該コンテンツを通知する。コンテンツ検索部１３３３は、図５で示されるＰｅｅｒＧＵＩＤ管理部１３１２に対して、ＩＰアドレス等のＧＵＩＤを要求し、該コンテンツの情報の一部と該ＧＵＩＤを、Ｐ２Ｐ通信装置１５を介して、利用者端末（クライアント−ビザンチン合意）に通知する。利用者端末（クライアント−ビザンチン合意）のビザンチン合意処理装置１３は、利用者端末２，３，４…から通知された該コンテンツの情報の一部と該ＧＵＩＤを利用し、Ｐ２Ｐファイル転送装置１４を利用しコンテンツ１３６１の転送を行なう。ビザンチン合意実行部１３５１は、ハッシュ関数（ＭＤ５，ＳＨＡ−１等）を用いて、受信したコンテンツ１３６１を元に固定長のハッシュ値１３６２１を生成する。ビザンチン合意実行部１３５１は、該ハッシュ値１３６２１と、ビザンチン合意を行なったメタデータ１３６２に含まれるハッシュ値１３６２１を比較し、ハッシュ値が一致する場合は、ビザンチン合意処理装置１３に対して、コンテンツ検証確認を通知し、ハッシュ値が一致しない場合は、コンテンツの転送を行なっていない利用者端末からコンテンツを転送し、ふたたび上記手順と同様に、受信したコンテンツのハッシュ値を求め、メタデータ１３６２内のハッシュ値１３６２１と一致するまで繰り返す。
【００３５】
ビザンチン合意処理装置１３はＰｅｅｒ属性管理部１３１１に対して、Ｐｅｅｒ属性をクライアント−ビザンチン合意から待機に状態遷移することを要求し、ビザンチン合意処理装置１３はアプリケーション１２に対してコンテンツ受信を通知すると共に、該コンテンツを通知する。
【００３６】
なお、利用者端末の機能は専用のハードウェアにより実現されるもの以外に、その機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するものであってもよい。コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ等の記録媒体、コンピュータシステムに内蔵されるハードディスク装置等の記憶装置を指す。さらに、コンピュータ読み取り可能な記録媒体は、インターネットを介してプログラムを送信する場合のように、短時間の間、動的にプログラムを保持するもの（伝送媒体もしくは伝送波）、その場合のサーバとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含む。
【図面の簡単な説明】
【００３７】
【図１】本発明の一実施形態のシステムの接続を示す図である。
【図２】利用者端末の詳細を示す図である。
【図３】コンテンツメタデータ作成部の機能を示す図である。
【図４】ファイル管理部、ファイル送受信部の機能を示す図である。
【図５】Ｐｅｅｒ属性管理部、ＰｅｅｒＧＵＩＤ管理部の機能を示す図である。
【図６】Ｐｅｅｒリストの詳細、マスタランキング管理部の機能を示す図である。
【図７】Ｐｅｅｒリストの詳細を示す図である。
【図８】ビザンチン合意処理依頼部（状態遷移）の機能を示す図である。
【図９】ビザンチン合意Ｐｅｅｒ選択部の機能を示す図である。
【図１０】ビザンチン合意方式選択部（方式１）の機能を示す図である。
【図１１】ビザンチン合意方式選択部（方式２）の機能を示す図である。
【図１２】メタデータ転送決定部の機能を示す図である。
【図１３】メタデータ転送時間計測部の機能を示す図である。
【図１４】ビザンチン合意実行部、ビザンチン合意処理時間計測部の機能を示す図である。
【図１５】コンテンツ検索部の機能を示す図である。
【符号の説明】
【００３８】
１，２    利用者端末
１０    伝達ネットワーク
１２    アプリケーション
１３    ビザンチン合意処理装置
１４    Ｐ２Ｐファイル転送装置
１５    Ｐ２Ｐ通信装置
１６    ２次記憶装置
１３１１    Ｐｅｅｒ属性管理部
１３１２    ＰｅｅｒＧＵＩＤ管理部
１３２１    ファイル送受信部
１３２２    コンテンツメタデータ作成部
１３２３    メタデータ転送時間計測部
１３２４    メタデータ転送時間管理部
１３３１    メタデータ検索部
１３３２    ビザンチン合意処理依頼部
１３３３    コンテンツ検索部
１３３４    Ｐｅｅｒリスト作成部
１３４０    ファイル管理部
１３５１    ビザンチン合意実行部
１３５２    Ｐｅｅｒランキング管理部
１３５３    ビザンチン合意Ｐｅｅｒ選択部
１３５４    ビザンチン合意処理時間計測部
１３５５    ビザンチン合意方式選択部
１３５６    メタデータ転送決定部
１３５７    マスタランキング管理部
１３６１    コンテンツ
１３６１１    実データ
１３６１２    コンテンツ関連情報
１３６２    メタデータ
１３６２１    ハッシュ化されたコンテンツ
１３６２２    コンテンツ関連情報
１３６３    Ｐｅｅｒリスト
１３６４    Ｐｅｅｒランキングリスト
１３６５    選出ビザンチン合意Ｐｅｅｒリスト
１３６６    マスタＰｅｅｒ決定ランキングリスト
【図１】
2006107118.tif 000003
【図２】
2006107118.tif 000004
【図３】
2006107118.tif 000005
【図４】
2006107118.tif 000006
【図５】
2006107118.tif 000007
【図６】
2006107118.tif 000008
【図７】
2006107118.tif 000009
【図８】
2006107118.tif 000010
【図９】
2006107118.tif 000011
【図１０】
2006107118.tif 000012
【図１１】
2006107118.tif 000013
【図１２】
2006107118.tif 000014
【図１３】
2006107118.tif 000015
【図１４】
2006107118.tif 000016
【図１５】
2006107118.tif 000017