(57)【要約】【課題】処理能力に劣る通信端末などボトルネックになる通信端末を含むＰ２Ｐネットワークにおいて、高速なデータの挿入、検索、削除を実現する技術を提供する。【解決手段】階層構造を形成するＰ２Ｐネットワークを構成する通信端末であって、自通信端末が有するパフォーマンスとＰ２Ｐネットワーク内の他通信端末が有するパフォーマンスとを比較するパフォーマンス比較部１０と、自通信端末が属する階層以上の階層に属する他通信端末であって自通信端末未満のパフォーマンスを有する他通信端末の階層を、自通信端末が属する階層未満の階層に設定する階層設定部２０と、自通信端末が属する階層を越える階層に属する他通信端末を認識する一方、自通信端末が属する階層未満の階層に属する他通信端末を認識しない他端末認識部３０とを備える。【選択図】図２
2010224912.tif 000002
【特許請求の範囲】
【請求項１】
階層構造を形成するＰ２Ｐネットワークを構成する通信端末であって、
自通信端末が有するパフォーマンスと前記Ｐ２Ｐネットワーク内の他通信端末が有するパフォーマンスとを比較するパフォーマンス比較部と、
自通信端末が属する階層以上の階層に属する他通信端末であって自通信端末未満のパフォーマンスを有する他通信端末の階層を、自通信端末が属する階層未満の階層に設定する階層設定部と、
自通信端末が属する階層を越える階層に属する他通信端末を認識する一方、自通信端末が属する階層未満の階層に属する他通信端末を認識しない他端末認識部と
を備えることを特徴とする通信端末。
【請求項２】
前記他端末認識部は、
自通信端末を超えるパフォーマンスを有する他通信端末が存在しない場合には、自通信端末が属する階層に属する他通信端末を認識することを特徴とする請求項１に記載の通信端末。
【請求項３】
前記階層設定部は、
自通信端末が属する階層未満の階層に属する他通信端末であって自通信端末を超えるパフォーマンスを有する他通信端末の階層を、自通信端末が属する階層に設定することを特徴とする請求項２に記載の通信端末。
【請求項４】
前記他端末認識部によって認識されるべき他通信端末の情報を記憶する記憶部を更に備え、
前記階層設定部は、
前記記憶部に情報が記憶されている他通信端末であって自通信端末未満のパフォーマンスを有する他通信端末が存在する場合、当該他通信端末の情報を前記記憶部から削除することによって、当該他通信端末の階層を自通信端末が属する階層未満の階層に設定することを特徴とする請求項１から請求項３の何れか１項に記載の通信端末。
【請求項５】
前記階層設定部は、
前記記憶部に情報が記憶されていない他通信端末であって自通信端末を超えるパフォーマンスを有する他通信端末が存在する場合、当該他通信端末の情報を前記記憶部に追加することによって、当該他通信端末が属する階層を自通信端末が属する階層に設定することを特徴とする請求項１から請求項４の何れか１項に記載の通信端末。
【請求項６】
複数の通信端末によって階層構造を形成するＰ２Ｐネットワークであって、
前記通信端末は、
自通信端末が有するパフォーマンスと前記Ｐ２Ｐネットワーク内の他通信端末が有するパフォーマンスとを比較するパフォーマンス比較部と、
自通信端末が属する階層以上の階層に属する他通信端末であって自通信端末未満のパフォーマンスを有する他通信端末の階層を、自通信端末が属する階層未満の階層に設定する階層設定部と、
自通信端末が属する階層を越える階層に属する他通信端末を認識する一方、自通信端末が属する階層未満の階層に属する他通信端末を認識しない他端末認識部と
を備えることを特徴とするＰ２Ｐネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信端末およびＰ２Ｐネットワークに関する。
【背景技術】
【０００２】
現在、多数のピア（Peer）が分散協調して１つの大きなデータベースを用いる技術として、Ｐ２Ｐ（Peer to Peer）技術の一種である分散ハッシュテーブルという技術が知られている（非特許文献１参照）。分散ハッシュテーブルを適用した技術として、Ｓｋｙｐｅ（登録商標）が知られている（非特許文献２参照）。また、分散ハッシュテーブルを、ＦＭＣ（Fixed Mobile Convergence）網の様なリソースの差が大きい環境において適用する技術も提案されている（特許文献１参照）。
【０００３】
Ｐ２Ｐ技術においては、Ｐ２Ｐネットワーク内に、処理能力（例えば、回線速度、ＣＰＵの速度）に劣るピアが接続する場合、処理能力に劣るピアがボトルネックになって、Ｐ２Ｐネットワーク全体の処理が遅くなる。つまり、処理能力に優れたピア（例えば、パーソナルコンピュータ）と処理能力に劣るピア（例えば、携帯電話）とが混在するＰ２Ｐネットワークの場合、全体の処理は、携帯電話の処理能力に引っ張られ遅くなる。また、ＩＰアドレスが頻繁に変化するピア（例えば、移動端末、ダイアラップ接続環境の端末）が接続するＰ２Ｐネットワークも同様に、全体の処理が遅くなる。
【０００４】
Ｐ２Ｐネットワーク全体の処理が遅くならないように、Ｐ２Ｐネットワークを階層的に構築するアプローチが提案されている（例えば、非特許文献２参照）。当該アプローチでは、処理能力に劣るピアなどボトルネックになるピアをスーパーノードと称される処理能力に優れたピアの配下にぶら下げる階層構造のＰ２Ｐネットワークを構築する。また、Ｐ２Ｐネットワーク全体の処理が遅くならないように、Ｐ２Ｐネットワークを非対称に構築するアプローチも提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特願２００７−３３４０７８号公報
【非特許文献】
【０００６】
【非特許文献１】“Ｃｈｏｒｄ：Ａ  Ｓｃａｌａｂｌｅ  Ｐｅｅｒ−Ｔｏ−Ｐｅｅｒ  Ｌｏｏｋｕｐ  Ｓｅｒｖｉｃｅ  ｆｏｒ  Ｉｎｔｅｒｎｅｔ  Ａｐｐｌｉｃａｔｉｏｎｓ，”Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ２００１  ＡＣＭ  ＳＩＧＣＯＭＭ  Ｃｏｎｆｅｒｅｎｃｅ，ｐ１４９−１６０，２００１．
【非特許文献２】Ｂａｓｅｔ  ａｎｄ  Ｓｃｈｕｌｚｒｉｎｎｅ“Ａｎ  Ａｎａｌｙｓｉｓ  ｏｆ  ｔｈｅ  Ｓｋｙｐｅ  Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ  Ｉｎｔｅｒｎｅｔ  Ｔｅｌｅｐｈｏｎｙ  Ｐｒｏｔｏｃｏｌ，”Ｃｏｌｕｍｂｉａ  Ｕｎｉｖｅｒｓｉｔｙ．
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、Ｐ２Ｐネットワークを階層的に構築するアプローチの場合、スーパーノードの負荷が大きいという問題、スーパーノードに発生した障害の影響が配下の全ピアにまで波及するという問題がある。また、Ｐ２Ｐネットワークを非対称に構築するアプローチの場合、Ｐ２Ｐネットワークに参加（新規登録）する各ピアが、ボトルネックになるピアであるか否かを自己申請するが、申請そのもの正否が保証されていないという問題がある。
【０００８】
本発明は、上述した課題に鑑みてなされたものであって、処理能力に劣るピア（通信端末）などボトルネックになるピアを含むＰ２Ｐネットワークにおいて、高速なデータの挿入、検索、削除を実現する技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記問題を解決するために、本発明の一態様である通信端末は、階層構造を形成するＰ２Ｐネットワークを構成する通信端末であって、自通信端末が有するパフォーマンスとＰ２Ｐネットワーク内の他通信端末が有するパフォーマンスとを比較するパフォーマンス比較部と、自通信端末が属する階層以上の階層に属する他通信端末であって自通信端末未満のパフォーマンスを有する他通信端末の階層を、自通信端末が属する階層未満の階層に設定する階層設定部と、自通信端末が属する階層を越える階層に属する他通信端末を認識する一方、自通信端末が属する階層未満の階層に属する他通信端末を認識しない他端末認識部とを備えることを特徴とする。
【００１０】
上記通信端末において、他端末認識部は、自通信端末を超えるパフォーマンスを有する他通信端末が存在しない場合には、自通信端末が属する階層に属する他通信端末を認識するようにしてもよい。
【００１１】
上記通信端末において、階層設定部は、自通信端末が属する階層未満の階層に属する他通信端末であって自通信端末を超えるパフォーマンスを有する他通信端末の階層を、自通信端末が属する階層に設定するようにしてもよい。
【００１２】
上記通信端末は、他端末認識部によって認識されるべき他通信端末の情報を記憶する記憶部を更に備え、階層設定部は、記憶部に情報が記憶されている他通信端末であって自通信端末未満のパフォーマンスを有する他通信端末が存在する場合、当該他通信端末の情報を記憶部から削除することによって、当該他通信端末の階層を自通信端末が属する階層未満の階層に設定するようにしてもよい。
【００１３】
上記通信端末において、階層設定部は、記憶部に情報が記憶されていない他通信端末であって自通信端末を超えるパフォーマンスを有する他通信端末が存在する場合、当該他通信端末の情報を記憶部に追加することによって、当該他通信端末が属する階層を自通信端末が属する階層に設定するようにしてもよい。
【００１４】
上記問題を解決するために、本発明の他の態様であるＰ２Ｐネットワークは、複数の通信端末によって階層構造を形成するＰ２Ｐネットワークであって、通信端末は、自通信端末が有するパフォーマンスとＰ２Ｐネットワーク内の他通信端末が有するパフォーマンスとを比較するパフォーマンス比較部と、自通信端末が属する階層以上の階層に属する他通信端末であって自通信端末未満のパフォーマンスを有する他通信端末の階層を、自通信端末が属する階層未満の階層に設定する階層設定部と、自通信端末が属する階層を越える階層に属する他通信端末を認識する一方、自通信端末が属する階層未満の階層に属する他通信端末を認識しない他端末認識部とを備えることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、処理能力に劣る通信端末などボトルネックになる通信端末を含むＰ２Ｐネットワークにおいて、高速なデータの挿入、検索、削除ができるようになる。また、本発明によれば、Ｐ２Ｐネットワークの構築に係る既存のアルゴリズムを引き続き利用することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態に係るＰ２Ｐネットワーク１の模式図である。
【図２】Ｐ２Ｐネットワーク１を構成する通信端末の機能ブロック図である。
【図３】Ｐ２Ｐネットワーク１内に記憶される情報の一例である。
【図４】Ｐ２Ｐネットワーク１の模式図である。
【図５】Ｐ２Ｐネットワーク１の模式図である。
【図６】Ｐ２Ｐネットワーク１の模式図である。
【図７】Ｐ２Ｐネットワーク１の模式図である。
【図８】Ｐ２Ｐネットワーク１の模式図である。
【図９】Ｐ２Ｐネットワーク１の模式図である。
【図１０】Ｐ２Ｐネットワーク１を構成する通信端末の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態について図面を参照して詳細に説明する。本発明の一実施形態に係るＰ２Ｐネットワーク１は、図１に示すように、Ｐ２Ｐネットワークの一態様であるＣｈｏｒｄネットワークである。Ｐ２Ｐネットワーク１は複数の通信端末から構成される。例えば、図１に示す例おいては、Ｐ２Ｐネットワーク１は、ＣｈｏｒｄＩＤ「０」のＰＣ（Personal Computer）、ＣｈｏｒｄＩＤ「１３」の携帯電話、…、ＣｈｏｒｄＩＤ「１５６」の携帯電話から構成される。ＣｈｏｒｄＩＤは、各通信端末を識別する識別情報であって各通信端末は少なくとも自身のＣｈｏｒｄＩＤを記憶する。なお、図１は、階層の表現を省略した模式図である。
【００１８】
Ｐ２Ｐネットワーク１を構成する各通信端末は、パフォーマンス（例えば、物理帯域（回線速度）、ＣＰＵの速度、ＩＰアドレスの変化頻度、連続接続時間、記憶容量）が異なる。例えば、ＰＣは、携帯電話よりもパフォーマンスが高い（例えば、ＣＰＵの速度が高い、ＩＰアドレスの変化頻度が少ない、連続接続時間が長い、記憶容量が大きい）。高パフォーマンスの通信端末は、低パフォーマンスの通信端末に比べ、Ｐ２Ｐネットワーク１全体の処理速度を低下させる程度が小さい。
【００１９】
また、各通信端末は、図１に示すように、自通信端末のＣｈｏｒｄＩＤ（以下、「自ＣｈｏｒｄＩＤ」という）の昇順に時計回りにＰ２Ｐネットワーク１に仮想的（論理的）に配置される。また、各通信端末は、自通信端末の１つ上流（時計回り順の後方）に位置する他通信端末（自ＣｈｏｒｄＩＤ未満のＣｈｏｒｄＩＤのうち最大のＣｈｏｒｄＩＤである他通信端末、または、自ＣｈｏｒｄＩＤ未満のＣｈｏｒｄＩＤである他通信端末が存在しないときは最大のＣｈｏｒｄＩＤである他通信端末）のＣｈｏｒｄＩＤに１を加算したＣｈｏｒｄＩＤから自ＣｈｏｒｄＩＤ迄のＣｈｏｒｄＩＤを管理対象とする。例えば、ＣｈｏｒｄＩＤ「７０」のＰＣは、自通信端末の１つ上流に位置するＣｈｏｒｄＩＤ「５７」のＰＣのＣｈｏｒｄＩＤ「５７」に１を加算したＣｈｏｒｄＩＤ「５８」から自ＣｈｏｒｄＩＤ「７０」迄のＣｈｏｒｄＩＤを管理対象とする。
【００２０】
各通信端末は、管理対象とするＣｈｏｒｄＩＤが付与されたデータを管理（保持）する。換言すれば、各データは、ＣｈｏｒｄＩＤが付与され、付与されたＣｈｏｒｄＩＤを管理対象とする通信端末によって保持される。例えば、ＣｈｏｒｄＩＤ「１００」のデータは、ＣｈｏｒｄＩＤ「９１」からＣｈｏｒｄＩＤ「１１２」迄のＣｈｏｒｄＩＤを管理対象とするＣｈｏｒｄＩＤ「１１２」の通信端末に保持される。
【００２１】
各通信端末は、図２に示すように、記憶部１０、パフォーマンス比較部２０、階層設定部３０および他端末認識部３０を備える。
【００２２】
記憶部１０は、自通信端末に隣接する他通信端末（以下、「隣接通信端末」という）に係る隣接通信端末情報を記憶する。隣接通信端末は、他端末認識部４０によって認識される他通信端末である。隣接通信端末情報は、他端末認識部４０によって認識されるべき他通信端末の情報の一例である。
【００２３】
図３（ａ）は、隣接通信端末情報の一例である。項目「ＣｈｏｒｄＩＤ」は、当該通信端末に隣接する隣接通信端末のＣｈｏｒｄＩＤである。隣接通信端末のＣｈｏｒｄＩＤは、具体的には、自通信端末の１つ上流に位置する他通信端末のＣｈｏｒｄＩＤ、および、自通信端末の１つ下流（時計回りの順に前方）に位置する他通信端末（自ＣｈｏｒｄＩＤを超えるＣｈｏｒｄＩＤのうち最小のＣｈｏｒｄＩＤである他通信端末、または、自ＣｈｏｒｄＩＤを超えるＣｈｏｒｄＩＤである他通信端末が存在しないときは最小のＣｈｏｒｄＩＤである他通信端末）に位置する他通信端末のＣｈｏｒｄＩＤである。
【００２４】
なお、記憶部１０は、自通信端末の１つ上流に位置する他通信端末および自通信端末の１つ下流に位置する他通信端末のＣｈｏｒｄＩＤに加え、自ＣｈｏｒｄＩＤに２０、２１、２２、…、２ｎ−１を加算したＣｈｏｒｄＩＤを管理対象とする他通信端末のＣｈｏｒｄＩＤを隣接通信端末情報として記憶してもよい。
【００２５】
パフォーマンス比較部２０は、自通信端末が有するパフォーマンスとＰ２Ｐネットワーク１内の他通信端末が有するパフォーマンスとを比較する。具体的には、パフォーマンス比較部２０は、他通信端末に係る通信端末属性情報を参照し、当該他通信端末のパフォーマンスが自通信端末のパフォーマンス以上であるか否かを判断する。パフォーマンス比較部２０は、比較結果を階層設定部３０に供給する。
【００２６】
図３（ｂ）は、通信端末属性情報の一例である。項目「ＣｈｏｒｄＩＤ」は、当該通信端末のＣｈｏｒｄＩＤであって通信端末属性情報の検索キーでもある。項目「通信端末名」は、当該通信端末の名称である。項目「ＩＰアドレス」は、当該通信端末のＩＰアドレスである。項目「回線品質情報」は、当該通信端末の回線品質情報である。項目「最新更新時刻」は、当該通信端末属性情報の更新時刻である。
【００２７】
他端末認識部４０は、自通信端末が属する階層を越える階層に属する他通信端末を認識する。具体的には、他端末認識部４０は、記憶部１０に隣接通信端末情報が記憶されている他通信端末を、自通信端末が属する階層を越える階層に属する他通信端末として認識する。即ち、下位の層に属する通信端末は、上位の層に属する他通信端末を認識する。
【００２８】
他端末認識部４０は、自通信端末が属する階層未満の階層に属する他通信端末を認識しない。具体的には、他端末認識部４０は、記憶部１０に隣接通信端末情報が記憶されていない他通信端末を、自通信端末が属する階層未満の階層に属する他通信端末として認識しない。即ち、上位の層に属する通信端末は、下位の層に属する他通信端末を認識しない。
【００２９】
但し、通信端末は、自通信端末を超えるパフォーマンスを有する他通信端末が存在しない場合には、自通信端末が属する階層に属する他通信端末を認識する。即ち、最上位階層に属する通信端末は、同じく最上位階層に属する他通信端末を認識する。
【００３０】
なお、他端末認識部４０は、例えば、Ｐ２Ｐネットワーク１においてデータを検索するときに、記憶部１０を参照し、他通信端末を認識する。また、データを検索するときに他通信端末を認識した他端末認識部４０は、認識した他通信端末にデータ検索メッセージを送信する。
【００３１】
階層設定部３０は、パフォーマンス比較部２０から比較結果を取得する。階層設定部３０は、記憶部１０に情報が記憶されている他通信端末であって自通信端末未満のパフォーマンスを有する他通信端末が存在する場合、当該他通信端末の情報を記憶部１０から削除する。換言すれば、階層設定部３０は、自通信端末が属する階層以上の階層に属する他通信端末であって自通信端末未満のパフォーマンスを有する他通信端末の階層を、自通信端末が属する階層未満の階層に設定する。即ち、通信端末は、一の他通信端末のパフォーマンスが自通信端末超から自通信端末未満へと下落した場合、当該他通信端末の階層を自通信端末が属する階層未満に降格させる。
【００３２】
但し、階層設定部３０は、自通信端末が最上位階層以外の階層に属する場合、同じ階層に属する他通信端末を認識できないようにする。具体的には、階層設定部３０は、自通信端末が最上位階層以外の階層に属する場合、記憶部１０に情報が記憶されている他通信端末であって自通信端末と同じパフォーマンスを有する他通信端末が存在する場合、当該他通信端末の情報を記憶部１０から削除する。即ち、最上位階層以外の階層に属する通信端末は、一の他通信端末のパフォーマンスが自通信端末超から自通信端末以下へと上昇した場合、当該他通信端末の階層を自通信端末が属する階層未満に降格させる。なお、階層設定部３０は、自通信端末を超えるパフォーマンスを有する他通信端末が存在する場合に、自通信端末が最上位階層以外の階層に属すると判断する。
【００３３】
また、階層設定部３０は、当該他通信端末と異なる他通信端末に当該他通信端末を認識させるようにするべく、上記異なる他通信端末上の隣接通信端末情報に当該他通信端末に係る情報を追加すべき命令を、上記異なる他通信端末に送信する。
【００３４】
階層設定部３０は、記憶部１０に情報が記憶されていない他通信端末であって自通信端末を超えるパフォーマンスを有する他通信端末が存在する場合、当該他通信端末の情報を記憶部１０に追加する。換言すれば、階層設定部３０は、自通信端末が属する階層未満の階層に属する他通信端末であって自通信端末を超えるパフォーマンスを有する他通信端末の階層を、自通信端末が属する階層に設定する。即ち、通信端末は、一の他通信端末のパフォーマンスが自通信端末未満から自通信端末超へと上昇した場合、当該他通信端末の階層を自通信端末が属する階層に昇格させる。
【００３５】
但し、階層設定部３０は、自通信端末が最上位階層に属する場合、同じく最上位階層に属する他通信端末を認識できるようにする。具体的には、階層設定部３０は、自通信端末が最上位階層に属する場合、記憶部１０に情報が記憶されていない他通信端末であって自通信端末と同じパフォーマンスを有する他通信端末が存在する場合、当該他通信端末の情報を記憶部１０に追加する。即ち、最上位階層に属する通信端末は、一の他通信端末のパフォーマンスが自通信端末未満から自通信端末以上へと上昇した場合、当該他通信端末の階層を自通信端末が属する最上位階層に昇格させる。なお、階層設定部３０は、自通信端末を超えるパフォーマンスを有する他通信端末が存在しない場合に、自通信端末が最上位階層に属すると判断する。
【００３６】
また、階層設定部３０は、当該隣接通信端末と異なる他通信端末に当該隣接通信端末を認識させないようにするべく、上記異なる他通信端末上の隣接通信端末情報から当該隣接通信端末に係る情報を削除すべき命令を、上記異なる他通信端末に送信する。
【００３７】
各通信端末の上記動作によって、例えば図４に示すように、階層化されたＰ２Ｐネットワーク１が構成される。図４は、２階層（上位の階層Ａ〜下位の階層Ｂ）のＰ２Ｐネットワーク１の模式図である。図４において、高いパフォーマンスを有する通信端末ｂ、ｃ、ｆ、ｉは階層Ａに属し、低いパフォーマンスを有する通信端末ａ、ｄ、ｅ、ｇ、ｈは階層Ｂに属している。
【００３８】
各通信端末は、自通信端末が属する階層を越える階層に属する他通信端末を認識し、自通信端末が属する階層未満の階層に属する他通信端末を認識しない。また、最上位階層に属する通信端末は、同じく最上位階層に属する他通信端末を認識し、最上位階層に以外の階層に属する通信端末は、同じ階層に属する他通信端末を認識しない。従って、最上位階層は階層Ａである図４の場合、階層Ａ以外の階層である階層Ｂに属する通信端末ｅは、自通信端末が属する階層Ｂを越える階層Ａに属する他通信端末ｂ、ｃ、ｆ、ｉを認識し、自通信端末が属する階層以下の階層Ｂに属する他通信端末ａ、ｄ、ｇ、ｈを認識しない。また、階層Ａに属する通信端末ｆは、同じく階層Ａに属する他通信端末ｂ、ｃ、ｉを認識し、自通信端末が属する階層未満の階層Ｂに属する他通信端末ａ、ｄ、ｅ、ｇ、ｈを認識しない。従って、自通信端末が属する階層未満の階層に属するボトルネックになる他通信端末が、データの挿入、検索、削除に関与しなくなるため、データの挿入、検索、削除が高くなる。
【００３９】
続いて、Ｐ２Ｐネットワーク１の諸機能（通信端末属性情報の更新機能、データの複製機能、通信端末の参加（新規登録）機能、通信端末の追加および削除機能、通信端末の降格および昇格機能、データ検索機能）を更に説明する。
【００４０】
［通信端末属性情報の更新機能］
Ｐ２Ｐネットワーク１は、上述の如く、通信端末属性情報を記憶する。各通信端末は、定期的（例えば、１０分毎）に、自ＣｈｏｒｄＩＤをキーとして自通信端末に係る通信端末属性情報を更新する。また、各通信端末は、自通信端末の１つ下流に位置する他通信端末に自身の通信端末属性情報を送信する。
【００４１】
［データの複製機能］
各通信端末は、複製機能として、自通信端末の１つ下流に位置する他通信端末に対し、自通信端末が管理するデータを複製して転送する。なお、各通信端末は、上述の如く、自通信端末の１つ上流に位置する他通信端末のＣｈｏｒｄＩＤに１を加算したＣｈｏｒｄＩＤから自ＣｈｏｒｄＩＤ迄のデータを管理する。
【００４２】
他通信端末からデータを受信した通信端末は、当該データが管理対象であるか否かを判断する。他通信端末から受信したデータが管理対象であると判断した通信端末は、当該データを管理するとともに、自通信端末の１つ下流に位置する他通信端末に対し、当該データを複製して転送する。他通信端末から受信したデータが管理対象でないと判断した通信端末は、当該データを無視する（保持も転送もしない）。これにより、図５に示すように、Ｐ２Ｐネットワーク１内のデータが各階層に記憶されるようになる。なお、図５〜図９は、２階層（上位階層Ｓ、下位階層Ｔ）のＰ２Ｐネットワーク１の一部の模式図である。図５〜図９において、実線矢印は各通信端末における、１つ下流に位置する隣接他通信端末を示している。また、図５において、高パフォーマンスの通信端末ｌ、ｍ、ｎは階層Ｓに属し、低パフォーマンスの通信端末ｏ、ｐは階層Ｔに属している。
【００４３】
［通信端末の参加（新規登録）機能］
なお、Ｐ２Ｐネットワーク１に参加（新規登録）しようとする通信端末（以下、「参加通信端末」という）は、当該Ｐ２Ｐネットワーク１に既に参加している少なくとも１つの通信端末のＩＰアドレスを保持している。
（処理１）参加通信端末は、自ＣｈｏｒｄＩＤを算出する。例えば、参加通信端末は、自通信端末に係る固有情報（例えば、ＩＰアドレス、ＭＡＣアドレス）のハッシュ値（例えば、ｓｈａ−１による計算値）を自ＣｈｏｒｄＩＤとする。
（処理２）参加通信端末は、自ＣｈｏｒｄＩＤから２０、２１、２２、…、２ｎ−１のＣｈｏｒｄＩＤを管理対象とする他通信端末を検索し、当該他通信端末の隣接通信端末情報に自通信端末に係る情報を挿入（追加）する。
（処理３）高パフォーマンスである参加通信端末（例えば、ＰＣ）は、他通信端末の隣接通信端末情報を更新するため、Ｐ２Ｐネットワーク１に自通信端末が参加した旨を他通信端末に通知する。
【００４４】
［通信端末の追加および削除機能］
Ｐ２Ｐネットワーク１に追加された通信端末は、自通信端末が追加された旨を隣接通信端末に通知する。また、他通信端末が追加された旨を通知された通信端末は、自通信端末の通信端末属性情報の直接の送信先である他通信端末に対し、自通信端末が追加された旨を通知する。これにより、図５および図６に示すように、Ｐ２Ｐネットワーク１が再編成される。
【００４５】
図５に示す環境に図６（ａ）に示すように通信端末ｑを追加する場合、図６（ｂ）に示すように、通信端末ｎおよび通信端末ｐにおいて１つ下流に位置する隣接他通信端末が通信端末ｍから通信端末ｑに更新される。なお、削除の場合には、図６および図７に示すように、Ｐ２Ｐネットワーク１が再編成される。図６（ｂ）に示す環境から図７（ａ）に示すように通信端末ｑを削除する場合、図７（ｂ）に示すように、通信端末ｎおよび通信端末ｐにおいて１つ下流に位置する隣接他通信端末が通信端末ｑから通信端末ｍに更新される。
【００４６】
［通信端末の降格および昇格機能］
降格機能は、自通信端末の１つ上流に位置する他通信端末の階層を降格させる機能である。昇格機能は、自通信端末の１つ下流に位置する他通信端末の階層を昇格させる機能である。
【００４７】
［降格機能］
各通信端末は、自通信端末の１つ下流に位置する他通信端末の状態を監視し、当該他通信端末が下位層通信端末であると判断した場合、当該他通信端末の階層を降格させる。具体的には、自通信端末の隣接通信端末情報から当該他通信端末に係る情報を削除するとともに、２つ下流に位置する他通信端末に対し、隣接通信端末情報から当該通信端末に係る情報の削除を要請（通知）する。当該要請を受信した通信端末は、自通信端末の隣接通信端末情報から当該通信端末に係る情報を削除する。これにより、図５および８に示すように、Ｐ２Ｐネットワーク１が再編成される。なお、各通信端末は、例えば、通信端末属性情報を１つ下流に位置する他通信端末に送信する際に、当該他通信端末の状態を監視する。
【００４８】
なお、図５に示す環境の通信端末ｏを図８（ａ）に示すように階層Ｔから階層Ｕ（階層Ｔの下位の層）に降格させる場合、まず、図８（ｂ）に示すように、通信端末ｎにおいて１つ下流に位置する隣接他通信端末を通信端末ｍから通信端末ｌに更新する。続いて、図８（ｂ）に示すように、通信端末ｏおよび通信端末ｐにおいて１つ下流に位置する隣接他通信端末を通信端末ｍから通信端末ｌに更新する。なお、結果的に、通信端末ｏは階層Ｔに留まって通信端末ｍが階層Ｓから階層Ｔに降格する。
【００４９】
［昇格機能］
各通信端末は、自通信端末の１つ上流に位置する他通信端末（隣接通信端末以外の他通信端末）の状態を監視し、当該他通信端末が上位層通信端末であると判断した場合、当該他通信端末を昇格させる。具体的には、自通信端末の隣接通信端末情報に当該他通信端末に係る情報を挿入（追加）するとともに、１つ上流に位置する隣接通信端末、および、当該隣接通信端末以外の他通信端末であって自通信端末に対する直接的な通信端末属性情報の送信元である他通信端末に対し、隣接通信端末情報に当該他通信端末に係る情報の挿入（追加）を要請（通知）する。当該要請を受信した通信端末は、昇格する他通信端末のＣｈｏｒｄＩＤを参照し、自通信端末の隣接通信端末情報に当該他通信端末に係る情報を挿入（追加）する。続いて、通信端末属性情報を転送する他通信端末に対し、昇格によって不可視となる他通信端末の削除を申請する。これにより、図５および９に示すように、Ｐ２Ｐネットワーク１が再編成される。なお、各通信端末は、例えば、通信端末属性情報を隣接通信端末以外の１つ上流に位置する他通信端末から受信する際に、当該他通信端末の状態を監視する。
【００５０】
なお、図５に示す環境の通信端末ｏを図９（ａ）に示すように階層Ｔから階層Ｓに昇格させる場合、まず、図９（ｂ）に示すように、通信端末ｎにおいて１つ下流に位置する隣接他通信端末を通信端末ｍから通信端末ｏに更新する。続いて、図９（ｂ）に示すように、通信端末ｐにおいて１つ下流に位置する隣接他通信端末を通信端末ｍから通信端末ｏに更新する。
【００５１】
［データの検索機能］
（処理１）検索キーＩＤを算出する。具体的には、検索語のハッシュ値を検索キーＩＤとする。
（処理２）検索キーＩＤを用いて検索要求を送信する。
（処理３）検索語にマッチするファイルを保持するＣｈｏｒｄＩＤのリストを取得する。
（処理４）ＣｈｏｒｄＩＤを検索キーとして再度、検索要求を送信する。具体的には、ＣｈｏｒｄＩＤ、ＩＰアドレス、回線品質情報などの対応を取得し、最適な通信端末にファイル転送要求を送信する。
【００５２】
続いて、図１０を用いて通信端末の動作を説明する。パフォーマンス比較部２０は、他通信端末のパフォーマンスと自通信端末のパフォーマンスを比較し、他通信端末のパフォーマンスが自通信端末のパフォーマンス未満であるか否かを判断する（ステップＳ１００）。
【００５３】
階層設定部３０は、パフォーマンス比較部２０によって他通信端末のパフォーマンスが自通信端末のパフォーマンス未満であると判断された場合（ステップＳ１００：Ｙｅｓ）、記憶部１０に当該他通信端末の情報が記憶されているか否かを判断する（ステップＳ１２０）。階層設定部３０は、記憶部１０に当該他通信端末の情報が記憶されていると判断した場合（ステップＳ１２０：Ｙｅｓ）、当該他通信端末の情報を記憶部１０から削除する（ステップＳ１３０）。また、階層設定部３０は、当該他通信端末と異なる他通信端末に当該他通信端末を認識させるようにするべく、上記異なる他通信端末上の隣接通信端末情報に当該他通信端末に係る情報を追加すべき命令を、上記異なる他通信端末に送信する。そして本フローチャートは終了する。一方、階層設定部３０は、記憶部１０に当該他通信端末の情報が記憶されていないと判断した場合（ステップＳ１２０：Ｎｏ）、ステップＳ１３０を飛ばして本フローチャートは終了する。
【００５４】
パフォーマンス比較部２０は、他通信端末のパフォーマンスが自通信端末のパフォーマンス未満でないと判断した場合（ステップＳ１００：Ｎｏ）、他通信端末のパフォーマンスが自通信端末のパフォーマンスを超えるか否かを判断する（ステップＳ１０２）。階層設定部３０は、パフォーマンス比較部２０によって他通信端末のパフォーマンスが自通信端末のパフォーマンスを超えると判断された場合（ステップＳ１０２：Ｙｅｓ）、記憶部１０に当該他通信端末の情報が記憶されているか否かを判断する（ステップＳ１２２）。階層設定部３０は、記憶部１０に当該他通信端末の情報が記憶されていないと判断した場合（ステップＳ１２２：Ｎｏ）、当該他通信端末の情報を記憶部１０に追加する（ステップＳ１３２）。また、階層設定部３０は、当該隣接通信端末と異なる他通信端末に当該隣接通信端末を認識させないようにするべく、上記異なる他通信端末上の隣接通信端末情報から当該隣接通信端末に係る情報を削除すべき命令を、上記異なる他通信端末に送信する。一方、階層設定部３０は、記憶部１０に当該他通信端末の情報が記憶されていると判断した場合（ステップＳ１２２：Ｙｅｓ）、ステップＳ１３２を飛ばして本フローチャートは終了する。
【００５５】
階層設定部３０は、パフォーマンス比較部２０によって他通信端末のパフォーマンスが自通信端末のパフォーマンスを超えていないと判断された場合（ステップＳ１０２：Ｎｏ）、即ち、他通信端末のパフォーマンスと自通信端末のパフォーマンスとが同じである場合、自通信端末は最上位の階層に属するか否かを判断する（ステップＳ１１０）。例えば、階層設定部３０は、自通信端末を超えるパフォーマンスを有する他通信端末が存在しない場合には、自通信端末は最上位の階層に属すると判断する。
【００５６】
階層設定部３０は、自通信端末は最上位の階層に属すると判断した場合（ステップＳ１１０：Ｙｅｓ）、記憶部１０に当該他通信端末の情報が記憶されているか否かを判断する（ステップＳ１２４）。階層設定部３０は、記憶部１０に当該他通信端末の情報が記憶されていないと判断した場合（ステップＳ１２４：Ｎｏ）、当該他通信端末の情報を記憶部１０に追加する（ステップＳ１３４）。また、階層設定部３０は、当該隣接通信端末と異なる他通信端末に当該隣接通信端末を認識させないようにするべく、上記異なる他通信端末上の隣接通信端末情報から当該隣接通信端末に係る情報を削除すべき命令を、上記異なる他通信端末に送信する。一方、階層設定部３０は、記憶部１０に当該他通信端末の情報が記憶されていると判断した場合（ステップＳ１２４：Ｙｅｓ）、ステップＳ１３４を飛ばして本フローチャートは終了する。
【００５７】
階層設定部３０は、自通信端末は最上位の階層に属さないと判断した場合（ステップＳ１１０：Ｎｏ）、記憶部１０に当該他通信端末の情報が記憶されているか否かを判断する（ステップＳ１２６）。階層設定部３０は、記憶部１０に当該他通信端末の情報が記憶されていると判断した場合（ステップＳ１２６：Ｙｅｓ）、当該他通信端末の情報を記憶部１０から削除する（ステップＳ１３６）。また、階層設定部３０は、当該他通信端末と異なる他通信端末に当該他通信端末を認識させるようにするべく、上記異なる他通信端末上の隣接通信端末情報に当該他通信端末に係る情報を追加すべき命令を、上記異なる他通信端末に送信する。そして本フローチャートは終了する。一方、階層設定部３０は、記憶部１０に当該他通信端末の情報が記憶されていないと判断した場合（ステップＳ１２６：Ｎｏ）、ステップＳ１３６を飛ばして本フローチャートは終了する。
【００５８】
以上、本実施形態によれば、処理能力に劣る通信端末などボトルネックになる通信端末を含むＰ２Ｐネットワークにおいて、高速なデータの挿入、検索、削除ができるようになる。また、本発明によれば、Ｐ２Ｐネットワークの構築に係る既存のアルゴリズムを引き続き利用することができる。
【００５９】
なお、本発明の通信端末の各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、本発明の通信端末に係る上述した種々の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００６０】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００６１】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００６２】
１  Ｐ２Ｐネットワーク  １０  記憶部  ２０  パフォーマンス比較部  ３０  階層設定部  ４０  他端末認識部
【図１】
2010224912.tif 000003
【図２】
2010224912.tif 000004
【図３】
2010224912.tif 000005
【図４】
2010224912.tif 000006
【図５】
2010224912.tif 000007
【図６】
2010224912.tif 000008
【図７】
2010224912.tif 000009
【図８】
2010224912.tif 000010
【図９】
2010224912.tif 000011
【図１０】
2010224912.tif 000012