(57)【要約】      （修正有）【課題】ピュア型Ｐ２Ｐネットワークにおいて、通信期間および送受信状態の不安定さを解決し、さらに、特定のノードに負荷やデータが集中することなく、またバックアップデータを可及的に小さくできるコンテンツデータ送受信方法等を提供する。【解決手段】送信元ノードＰ１は、コンテンツデータの送信完了前に送信先ノードＰ４がＰ２Ｐネットワークから離脱した場合、該ネットワークに接続されている中間ノードＰ２、Ｐ３、Ｐ５にコンテンツデータをそれぞれ送信し、コンテンツデータを受信した中間ノードは、送信先ノードがネットワークに復帰した後、コンテンツデータを送信先ノードに送信し、送信先ノードは、コンテンツデータを中間ノードから受信した後、ネットワークへの接続が維持されている中間ノードに終了メッセージを送信し、終了メッセージを受信した中間ノードはコンテンツデータを削除するようにした。【選択図】図１２
2011113462.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードによるＰ２Ｐネットワークを介したコンテンツデータ送受信方法であって、
送信元ノードは、コンテンツデータの送信完了前に送信先ノードがＰ２Ｐネットワークから離脱した場合、当該Ｐ２Ｐネットワークに接続されている他のノードである複数の中間ノードに前記コンテンツデータをそれぞれ送信し、
前記コンテンツデータを受信した前記中間ノードは、当該コンテンツデータを記憶するとともに、前記送信先ノードがＰ２Ｐネットワークに復帰した後、前記コンテンツデータを該送信先ノードに送信し、
前記送信先ノードは、前記コンテンツデータを前記中間ノードから受信した後、Ｐ２Ｐネットワークへの接続が維持されている前記中間ノードの全てに対して、コンテンツデータを受信した旨を示す終了メッセージを送信し、
前記終了メッセージを受信した中間ノードは、前記コンテンツデータをその記憶から削除することを特徴とするコンテンツデータ送受信方法。
【請求項２】
送信元ノード及び送信先ノードを除き、Ｐ２Ｐネットワークに接続されている残りの全てのノードが、前記中間ノードとして設定される請求項１記載のコンテンツデータ送受信方法。
【請求項３】
送信元ノード及び送信先ノードの除き、Ｐ２Ｐネットワークに接続されている残りのノードのうち、所定条件を満足する一部の複数のノードが前記中間ノードとして設定される請求項１記載のコンテンツデータ送受信方法。
【請求項４】
前記中間ノードのうち、コンテンツデータの受信が未完了の中間ノードは、前記送信元ノードと、先にコンテンツデータの受信を完了した他の中間ノードとのそれぞれから、未取得分のコンテンツデータを分割して受信することを特徴とする請求項１乃至３いずれか記載のコンテンツデータ送受信方法。
【請求項５】
前記送信先ノードは、複数の中間ノードのそれぞれから、コンテンツデータを分割して受信することを特徴とする請求項１乃至４いずれか記載のコンテンツデータ送受信方法。
【請求項６】
前記コンテンツデータを受信した中間ノードのうち、前記終了メッセージを受信する前に前記Ｐ２Ｐネットワークから離脱した中間ノードは、当該Ｐ２Ｐネットワークに復帰した後に、前記コンテンツデータをその記憶領域から削除することを特徴とする請求項１乃至５いずれか記載のコンテンツデータ送受信方法。
【請求項７】
前記コンテンツデータを受信した中間ノードのうち、前記終了メッセージを受信する前にＰ２Ｐネットワークから離脱した中間ノードは、他の中間ノードのいずれも終了メッセージを受けていないと判断したとき、コンテンツデータをその記憶領域から削除する前に、前記送信先ノードに該コンテンツデータを送信することを特徴とする請求項６記載のコンテンツデータ送受信方法。
【請求項８】
複数のノードによるＰ２Ｐネットワークを介したコンテンツデータ送受信システムであって、
送信元ノードは、コンテンツデータの送信完了前に送信先ノードがＰ２Ｐネットワークから離脱した場合、当該Ｐ２Ｐネットワークに接続されている他のノードである複数の中間ノードに前記コンテンツデータをそれぞれ送信し、
前記コンテンツデータを受信した前記中間ノードは、当該コンテンツデータを記憶するとともに、前記送信先ノードがＰ２Ｐネットワークに復帰した後、前記コンテンツデータを該送信先ノードに送信し、
前記送信先ノードは、前記コンテンツデータを前記中間ノードから受信した後、Ｐ２Ｐネットワークへの接続が維持されている中間ノードの全てにコンテンツデータを受信した旨を示す終了メッセージを送信し、
前記終了メッセージを受信した中間ノードは、前記コンテンツデータをその記憶から削除するように構成されていることを特徴とするコンテンツデータ送受信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｐ２Ｐ（ピア・ツー・ピア）ネットワークでのコンテンツデータの送受信方法等に関し、特に、コンテンツデータの送受信対象となるノードがネットワークに参加していない場合であっても、その後、そのノードがネットワークに参加したときにコンテンツデータを取得できるようにしたものに関する。
【背景技術】
【０００２】
Ｐ２Ｐとは、任意あるいは不特定にかかわらず対等な端末（Peer）同士が通信するための技術である。一方、このＰ２Ｐ技術を利用したネットワーク（以下、Ｐ２Ｐネットワークとも言う）に対比されるものとして、中央サーバを介してコンテンツデータを送受信するクライアント／サーバ方式のネットワークがある。このクライアント／サーバ方式の場合には、中央サーバとして高速大容量のものを必要とし、また、サーバ周りにトラフィックが集中するという問題点が生ずるが、Ｐ２Ｐネットワークにおいては、端末間でコンテンツを直接転送することから、前記中央サーバを用いることによるデメリットの多くを解決することができる。
【０００３】
このＰ２Ｐにおいて、接続元端末が接続先端末にデータを送信する場合、その接続先の端末情報を取得する必要があり、その取得方法は以下の３つに大きく分類される。
（１）サーバ型：接続先端末情報を固定のサーバで管理し、接続開始時に一旦サーバに問い合わせるもの。
（２）ピュア型: 予め接続先端末情報を接続元端末が保持しており、直接接続することが可能なもの。サーバレス型と言える。
（３）スーパーノード型: 特定の選ばれた端末（スーパーノード）が端末情報を管理する。サーバ型とピュア型を融合したような形態。
【０００４】
これらの方法で接続先端末情報を得た接続元端末は、この情報を元にＰ２Ｐ接続を行うが、言うまでも無く、接続先の端末は他端末からの接続を受け入れられる状態でなければならない。
【０００５】
ところが、Ｐ２Ｐネットワークにおいては、各端末のネットワークからの離脱が許されるため、常時稼働している安定性の高いサーバを介してコンテンツを送受信するクライアント／サーバ方式と異なり、端末同士の接続は常に保障されない。例えば、あるユーザの端末が稼動しているときに、そのユーザの欲しいコンテンツが得られるとは限らない。
【０００６】
この問題を解決すべく、例えば特許文献１では、スーパーノード型Ｐ２Ｐを採用するとともに、スーパーノードを動的に割り当て、そのスーパーノードが接続可能な端末を仲介し、その仲介した端末にコンテンツデータを保持させることで、接続先の端末がネットワークに参加していないときでも、復帰したときにコンテンツデータを渡す仕組みを提案している。
【０００７】
また、特許文献２では、各端末のＩＰアドレスやコンテンツＩＤをバックアップするバックアップノードを指定しておいて、ある端末がネットワークから離脱したときでも、そのＩＰアドレスやコンテンツＩＤが消滅しないように構成している。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−２４４２２３号公報
【特許文献２】特開２００４−７２６０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１の構成では、ある特定の端末に負荷とデータが集中しがちであり、大規模、不特定多数参加型のＰ２Ｐにおいては有効ではあるが、限られたスペックの小規模なＰ２Ｐには不向きであり、逆に性能が劣化する可能性すらある。また、特許文献２の構成では、各端末が他のいずれかの端末のバックアップノードとして常時機能するため、多くの重複データが常時ネットワーク内に存在することとなる。
【００１０】
本発明は、Ｐ２Ｐ特有の問題である「通信期間、および送受信状態の不安定さ」を解決することを前提としたうえで、さらに、各先行文献で生じ得る不具合を解決すべく図ったものであって、ピュア型Ｐ２Ｐネットワークを基本構成とし、特定の端末に負荷やデータが集中することなく、またバックアップデータを可及的に小さくできるコンテンツデータ送受信方法等を提供することをその主たる目的とするものである。
【課題を解決するための手段】
【００１１】
すなわち、本発明に係るコンテンツデータ送受信方法又はコンテンツデータ送受信システムは、Ｐ２Ｐネットワークを介して複数のノードがコンテンツデータを送受信するためのものであって、
送信元ノードは、コンテンツデータの送信完了前に送信先ノードがＰ２Ｐネットワークから離脱した場合、当該Ｐ２Ｐネットワークに接続されている他のノードである複数の中間ノードに前記コンテンツデータをそれぞれ送信し、
前記コンテンツデータを受信した前記中間ノードは、当該コンテンツデータを記憶するとともに、前記送信先ノードがＰ２Ｐネットワークに復帰した後、前記コンテンツデータを該送信先ノードに送信し、
前記送信先ノードは、前記コンテンツデータを前記中間ノードから受信した後、Ｐ２Ｐネットワークへの接続が維持されている全ての中間ノードに、コンテンツデータを受信した旨を示す終了メッセージを送信し、
前記終了メッセージを受信した中間ノードは、前記コンテンツデータをその記憶から削除することを特徴とするものである。
【００１２】
このようなものであれば、複数の中間ノードにコンテンツデータがそれぞれ一旦保持されており、それら中間ノードの少なくともいずれかのＰ２Ｐネットワークに対する接続維持確率を極めて高く保てるので、送信先ノードがＰ２Ｐネットワークに復帰したときに、前記中間ノードから確実かつ即座にコンテンツデータを取得することができる。
また、このように複数の中間ノードに処理が分散されるので、負荷がいずれかのノードに集中しにくく、かつ、各中間ノードは、送信先ノードからの終了メッセージによって前記コンテンツデータを削除するので、長期間に亘ってＰ２Ｐネットワーク内に重複データが多く存在することも無い。
【００１３】
障害耐性や転送効率を向上させるには、送信元ノード及び送信先ノードを除き、Ｐ２Ｐネットワークに接続されている残りの全てのノードを前記中間ノードとしたものが好ましい。
【００１４】
全てのノードを中間ノードに指定するのではなく、送信元ノード及び送信先ノードの除き、Ｐ２Ｐネットワークに接続されている残りのノードのうち、所定条件を満足する一部の複数のノードを中間ノードとしてもよい。所定条件としては、例えばＰ２Ｐネットワークに接続された時期が新しいものから所定数であるとか、前記時期が所定期間内のものであるとか、回線速度が一定以上に保たれているものなどを挙げることができる。このようなものであれば、無用な中間ノードを排除でき、コンテンツデータの効率的な保有を図ることができる。
【００１５】
コンテンツデータの送受信時間を短縮するには、前記中間ノードのうち、コンテンツデータの受信が未完了の中間ノードが、前記送信元ノードと、先にコンテンツデータの受信を完了した他の中間ノードとのそれぞれから、未取得分のコンテンツデータを分割して受信するようにしたものを挙げることができる。
また、前記送信先ノードは、複数の中間ノードのそれぞれから、コンテンツデータを分割して受信するようにしたものでも構わない。
【００１６】
コンテンツデータの削除タイミングを一律にして、その管理を容易化するには、前記コンテンツデータを受信した中間ノードのうち、前記終了メッセージを受信する前に前記Ｐ２Ｐネットワークから離脱した中間ノードは、当該Ｐ２Ｐネットワークに復帰した後に、前記コンテンツデータをその記憶領域から削除するようにしたものが好ましい。
【００１７】
また、前記コンテンツデータを受信した中間ノードのうち、前記終了メッセージを受信する前にＰ２Ｐネットワークから離脱した中間ノードは、他の中間ノードのいずれも終了メッセージを受けていないと判断したとき、コンテンツデータをその記憶領域から削除する前に、前記送信先ノードに該コンテンツデータを送信するものであれば、コンテンツデータの不用意な削除を回避でき、より確実なコンテンツデータの送受信が可能になる。
【発明の効果】
【００１８】
本発明によれば、送信先ノードがＰ２Ｐネットワークに復帰したときに、少なくともいずれかの中間ノードから確実かつ即座にコンテンツデータを取得することができ、Ｐ２Ｐ特有の問題である通信期間及び送受信状態の不安定さを解消することが可能となる。
また、複数の中間ノードに処理が分散されるので負荷の一極集中を回避でき、かつ、各中間ノードは、送信先ノードからの終了メッセージによって前記コンテンツデータを削除するので、長期間に亘るＰ２Ｐネットワーク内での重複データの存在も避けることが可能になる。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１実施形態におけるコンテンツデータ送受信システムの全体構成を示す概略図。
【図２】同実施形態における端末の機能を示す機能ブロック図。
【図３】同実施形態における１グループに属する各端末の接続態様を示すＰ２Ｐネットワークトポロジー。
【図４】同実施形態における各端末のＰ２Ｐネットワークに対する接続態様の変遷を示す接続遷移図。
【図５】同実施形態における送信元端末が把握しているグループ内の接続状態を示す接続状態情報の例示図。
【図６】同実施形態における送信元端末が把握しているグループ内の接続状態を示す接続状態情報の例示図。
【図７】同実施形態における各端末のＰ２Ｐネットワークに対する接続態様の変遷を示す接続遷移図。
【図８】同実施形態における各端末のＰ２Ｐネットワークに対する接続態様の変遷を示す接続遷移図。
【図９】同実施形態における送信先端末が把握しているグループ内の接続状態を示す接続状態情報の例示図。
【図１０】同実施形態における送信先端末が把握しているグループ内の接続状態を示す接続状態情報の例示図。
【図１１】同実施形態において送信先端末がコンテンツデータを受信した旨をユーザに提示するメッセージ例。
【図１２】本発明の第２実施形態における各端末のＰ２Ｐネットワークに対する接続態様及び保存データの変遷を示す接続遷移図。
【図１３】同実施形態における各端末のＰ２Ｐネットワークに対する接続態様及び保存データの変遷を示す接続遷移図。
【図１４】同実施形態における各端末のＰ２Ｐネットワークに対する接続態様及び保存データの変遷を示す接続遷移図。
【図１５】同実施形態における各端末のＰ２Ｐネットワークに対する接続態様及び保存データの変遷を示す接続遷移図。
【図１６】同実施形態における各端末のＰ２Ｐネットワークに対する接続態様及び保存データの変遷を示す接続遷移図。
【図１７】同実施形態における各端末のＰ２Ｐネットワークに対する接続態様及び保存データの変遷を示す接続遷移図。
【図１８】同実施形態における各端末のＰ２Ｐネットワークに対する接続態様及び保存データの変遷を示す接続遷移図。
【図１９】同実施形態における各端末のＰ２Ｐネットワークに対する接続態様及び保存データの変遷を示す接続遷移図。
【発明を実施するための形態】
【００２０】
以下に本発明の実施形態を図面を参照して説明する。
＜第１実施形態＞
【００２１】
本実施形態に係るコンテンツデータ送受信システムは、図１に示すように、Ｐ２Ｐネットワークに接続可能な複数の対等なノードから構成される。各ノードはそれぞれが独立してインターネットに接続可能なネットワーク端末Ｐ１、Ｐ２、・・・であり、互いの接続情報（ＩＰアドレス、コンテンツＩＤ等）を共有するグループＧを形成している。
【００２２】
各端末Ｐ１、Ｐ２、・・・は、物理的には、バスを通じて接続されたＣＰＵ、メモリ、ディスプレイ、入力機器等からなるものである。そして、前記メモリに記憶されたプログラムにしたがって、前記ＣＰＵやその周辺機器が協働することにより、Ｐ２Ｐ通信を行うための図２に示す各部としての機能を発揮する。
【００２３】
図２において、Ｐ２Ｐアプリケーション部１は、端末ユーザに対してＰ２Ｐ通信に係るサービスの通知や所定のユーザインタフェース環境を提供するものである。
Ｐ２Ｐ本体部２は、Ｐ２Ｐ通信処理部２１、接続状態管理部２２、仮想端末処理部２３及び送信情報管理部２４から構成される。
Ｐ２Ｐ通信処理部２１は、Ｐ２Ｐ通信の接続、切断、コンテンツデータの転送などに関する処理を司るものである。
【００２４】
接続状態管理部２２は、前記グループに属する各端末の接続状態を監視するといった管理を司るものである。なお、グループＧ内の端末Ｐ１〜Ｐ５における接続可能状態の具体的な確認・監視方法については、ａ）接続可状態の端末側が、定期的にグループＧ内の接続不可状態の端末に対しＰ２Ｐ接続を試行する、ｂ）接続可状態の端末側が、定期的にグループＧ内の端末に自身の状態を何らかの通信手段（例えば、Mailなど）で報告する、ｃ）接続不可状態の端末側が、接続可状態（電源ON）になった時、グループＧ内の端末に対しＰ２Ｐ接続を試行する、ｄ）接続不可状態の端末側が、接続可状態（電源ON）になった時、グループＧ内の端末に自身の状態を何らかの通信手段（例えば、Mailなど）で報告する、などを挙げることができる。
【００２５】
仮想端末処理部２３は、前記接続状態管理部２２で接続不可状態と認識された端末を、仮想端末として処理するものである。
送信情報管理部２４は、送信した情報を管理するものである。
【００２６】
また、同図に示すように、前記メモリの所定記憶領域３には、少なくとも２つの領域が設定されている。１つは、その端末自身があらかじめ保持しているコンテンツデータや提供されるコンテンツデータを保存する不揮発性の定常記憶領域３１であり、もう１つは、他の端末のためにデータを一時的に保持する一時記憶領域３２である。
次に、前記各部の詳細説明を兼ねて、本コンテンツデータ送受信システムの動作の一例を説明する。
【００２７】
前提として、ここでは、図３に示すように、例えば、１つのグループに５つの端末Ｐ１〜Ｐ５が属しており、送信元ノードである端末Ｐ１が自己の有するコンテンツデータを送信先ノードである他の端末Ｐ４に送信し、このコンテンツデータを端末Ｐ１と端末Ｐ４で共有する場合を想定する。
【００２８】
なお、各端末Ｐ１〜Ｐ５には、例えば分散ハッシュテーブルなどを利用して、ＩＰアドレスが与えられており、各端末Ｐ１〜Ｐ５は、他の端末情報、すなわち前記ＩＰアドレス等を予め互いに把握しているとする。また、図３等では、ネットワークトポロジがリング型で記載してあるが、Ｐ２Ｐネットワークに接続されている全ての端末同士が互いに情報交換可能であれば、どのようなトポロジ（メッシュ型、完全相互結合など）でもかまわない。また、トポロジ構成アルゴリズムについては言及しない。
【００２９】
このような構成下、まず、送信元端末Ｐ１がコンテンツデータを送信先端末Ｐ４に送信する直前に、当該送信先端末Ｐ４がＰ２Ｐネットワークから離脱し、接続不可状態になったとする（図４参照）。各端末Ｐ１〜Ｐ３、Ｐ５は、それぞれの接続状態管理部２２が他の端末の接続状態を監視していることから、端末Ｐ１も端末Ｐ４の接続が不可になったことを知る。
【００３０】
このときの端末Ｐ１における接続状態管理部２２が把握しているグループＧ内状態は図５のようになる。
この状態において、端末Ｐ１が、ユーザからＰ２Ｐアプリケーション部１を通して所定コンテンツデータの端末Ｐ４への送信要求を受け取ると、仮想端末処理部２３が仮想的に端末Ｐ４を内部で生成する。
【００３１】
次に、送信情報管理部２４が、この仮想端末Ｐ４に対してコンテンツデータの送信操作を実行する。具体的には、コンテンツデータに、属性情報、すなわち、コンテンツデータを一意に特定するためのコンテンツＩＤ、コンテンツデータ量、送信開始時間、送信元端末（端末Ｐ１）及び送信先端末（端末Ｐ４）を特定するための端末特定情報（前記ＩＰアドレスなど）などを付帯させる。そして、図６に示すように、この属性情報付きのコンテンツデータ（以下、属性付コンテンツデータとも言う。）を仮想端末Ｐ４へ送信する、つまり、端末Ｐ１の一時記憶領域３２に格納する。なお、図６では送信をアップロードと表記している。
【００３２】
しかして、端末Ｐ４は接続不可状態であるため、接続状態管理部２２は、各端末の接続状態を取得して、接続可能状態である他の全ての端末、すなわち中間端末Ｐ２、Ｐ３、Ｐ５との通信をＰ２Ｐ通信処理部２１に要求する。
【００３３】
この要求に従って、端末Ｐ１のＰ２Ｐ通信処理部２１は、前記一時記憶領域３２に存在する属性付コンテンツデータを端末Ｐ２、Ｐ３、Ｐ５にそれぞれ送信する。
【００３４】
各中間端末Ｐ２、Ｐ３、Ｐ５では、それぞれのＰ２Ｐ通信処理部２１が、送信されてきた属性付コンテンツデータを受信し、自端末内の一時記憶領域３２に保存する。
【００３５】
このことによって、端末Ｐ１では、端末Ｐ４に対する送信操作を終了したと判断し、仮想端末Ｐ４を削除する。つまり、端末Ｐ１におけるグループＧの状態は、図５のように戻る。
【００３６】
次に、端末Ｐ１が接続不可状態になり、Ｐ２Ｐ接続が図７のように再構成され、さらにその後、端末Ｐ４が接続可能状態となって、Ｐ２Ｐ接続が図８のように再構成されたとする。
このとき、端末Ｐ４は自端末内の一時記憶領域３２にデータが存在していた場合、すべて消去する。
【００３７】
一方、中間端末Ｐ２、Ｐ３、Ｐ５の各接続状態管理部２２は、このＰ２Ｐ接続の変化を検知して、自端末が把握している接続状態情報を更新する。また、端末Ｐ４でも、その接続状態管理部２２が、接続状態情報を図９のように更新する。
【００３８】
そして、前記各中間端末Ｐ２、Ｐ３、Ｐ５では、それぞれのＰ２Ｐ通信処理部２１が、接続状態管理部２２より新規端末Ｐ４の接続の通知を受け、送信情報管理部２４に対して端末Ｐ４への送信情報の有無を問い合わせる。
【００３９】
送信情報管理部２４は、自端末の一時記憶領域３２を検索し、端末Ｐ４向けの属性付コンテンツデータがあることをＰ２Ｐ通信処理部２１に返信する。これによって、Ｐ２Ｐ通信処理部２１は、前記属性付コンテンツデータを端末Ｐ４に向けて送信する。
【００４０】
端末Ｐ４では、端末Ｐ２、Ｐ３、Ｐ５のうち、いずれかの中間端末から送信されてきた前記属性付コンテンツデータをＰ２Ｐ通信処理部２１が受信する。なお、ここでは最先に到着した端末Ｐ２のデータが選択される。一方、残りの端末Ｐ３、Ｐ５からも、この属性付コンテンツデータが同様に送信されてくるが、端末Ｐ４の送信情報管理部２４は、これが前記端末Ｐ２からのコンテンツデータと同じものと判断された場合、各々の端末Ｐ３、Ｐ５に受信拒否通知を送信する。端末Ｐ３、Ｐ５は、前記受信拒否通知を受け取ると、前記属性付コンテンツデータの送信を中断する。
【００４１】
次に、端末Ｐ４では、この属性付コンテンツデータを、送信情報管理部２４が前記定常記憶領域３１または一時記憶領域３２に保存する。
このとき、端末Ｐ４の送信情報管理部２４は、前記属性付コンテンツデータが自端末向けのコンテンツデータであるか否か、及び送信元端末がどれかをその属性情報に基づいて判断する。そして、本例のように自端末向けの場合であって、かつ、送信元端末が接続不可状態である場合、その旨を仮想端末処理部２３に通知する。
【００４２】
次に、仮想端末処理部２３は、仮想端末Ｐ１を生成する。このときの端末Ｐ４における接続状態情報は図１０のようになる。そして、前記属性付コンテンツデータの受信が終了すると、仮想端末Ｐ１からのコンテンツ受信として、Ｐ２Ｐアプリケーション部１が、Ｐ２Ｐ通信処理部２１を通して、ユーザに対し、図１１に示すような情報提示を行う。このとき、必要に応じて属性情報を削除し、コンテンツデータのみを保有してもよい。そして、端末Ｐ４における接続監視状態は図９のように戻る。
また、端末Ｐ４は、接続可能状態の中間端末Ｐ２、Ｐ３、Ｐ５に対して、終了メッセージを送信する。
【００４３】
この終了メッセージを受けて、各中間端末Ｐ２、Ｐ３、Ｐ５では、前記属性付コンテンツデータを削除する。
【００４４】
＜第２実施形態＞
次に本発明の第２実施形態について説明する。この第２実施形態における物理的な構成は第１実施形態と同様であるため、その説明は省略する。また、各端末の機能部１、２についての言及も説明が煩雑になるため、便宜上省くこととする。
【００４５】
この発明の前提は、Ｐ２Ｐネットワーク内でコンテンツデータの送信先端末がＰ２Ｐネットワークから離脱した場合、そのコンテンツデータを他の複数の端末（中間端末とも言う）に送信して保存し、前記送信先端末がＰ２Ｐネットワークに復帰したときに、そのコンテンツデータを保有しているいずれかの端末から該送信先端末にコンテンツデータを送信する点にある。
【００４６】
つまり、本発明では、コンテンツデータの送信フェーズとして、送信先端末復帰前における送信元端末から中間端末へ送信する第１のフェーズと、送信先端末復帰後における送信元端末又は中間端末から送信先端末へ送信する第２のフェーズとの２つが存在する。
そして、前記第１実施形態では、いずれの送信フェースにおいても、コンテンツデータを、１つの端末からのみ送信するようにしていた。
【００４７】
これに対し、この第２実施形態では、通信を多重化してその時間を短縮すべく、このコンテンツデータを複数の端末からそれぞれ重複しないように部分的に送信する例について、その具体例を前記第１のフェーズと第２のフェーズに分けて説明する。
【００４８】
第１のフェーズにおいて、例えば通信状態や回線の違いで、送信元端末に対する各中間端末の回線速度に違いが生じたとする。そして、図１２に示すように、ある１つの中間端末（ここでは端末Ｐ２とする）に対する属性付コンテンツデータの送信が先に完了したとする。この中間端末Ｐ２は、他の中間端末Ｐ３、Ｐ５に対して属性付コンテンツデータの受信が完了した旨の完了メッセージを通知する。
【００４９】
前記完了メッセージを受信した他の中間端末（例えばＰ３）は、未取得分のコンテンツデータを、Ｐ２Ｐネットワークに接続されていてかつ完全なコンテンツデータを既に保有している端末数に分割するとともに、それら各端末に、分割した部分データをそれぞれ振り分け、その振り分けられた部分データの送信を要求する。
【００５０】
この例では、Ｐ２Ｐネットワークに接続されていてかつ完全な属性付コンテンツデータを既に保有している端末は、端末Ｐ１及び端末Ｐ２の２つであるから、端末Ｐ３は、前記未取得分コンテンツデータを２つに分割し、その一方の部分データを端末Ｐ１に、他方の部分データを端末Ｐ２に対して送信要求する。
【００５１】
しかして、送信要求する部分データの量は、同図に示すように、対応する端末に対する回線速度に応じた量となるようにそれぞれ設定しており、ここでは、例えば、端末Ｐ１との回線速度が端末Ｐ２との回線速度の２倍である場合、端末Ｐ１に対する送信要求分を端末Ｐ２に対する送信要求分に比例、すなわち２倍になるように、未取得分のコンテンツデータを分割するようにしている。また、このとき、未取得分コンテンツデータにおける各受信要請分の開始オフセット（先頭アドレス）及び終了オフセット（終了アドレス）も決定するようにしている。なお、分割は回線速度に対応させる以外に、例えば均等に分割するといった方法でも構わない。
【００５２】
もう一つの中間端末Ｐ５についても同様であり、このように、コンテンツデータ取得が終了していない端末は、終了した端末内のコンテンツデータを利用することにより、コンテンツデータの送信を多重化させ、その取得を効率化させることができる。
第２のフェーズにおいても、基本的な考え方は同様である。
その具体例を図１３〜図を参照して説明する。
【００５３】
例えば、送信先端末Ｐ４がＰ２Ｐネットワークから離脱している状態において、送信元端末Ｐ１から属性付コンテンツデータが送信され、その途中経過として、中間端末Ｐ２、Ｐ３、Ｐ５に属性付コンテンツデータが一時記憶されたとする。そして、その後、端末Ｐ５もＰ２Ｐネットワークから離脱した場合を想定する。その状態を示すのが図１３である。
【００５４】
次に、この状態から端末Ｐ４及び端末Ｐ５がＰ２Ｐネットワークに復帰したとする。このとき、端末Ｐ５では図１３に示すように、他の中間端末Ｐ２、Ｐ３に記憶されているコンテンツデータの属性情報を参照して、自己端末が記憶しているコンテンツデータと同一のコンテンツデータがそれら端末Ｐ２、Ｐ３に保持されているかどうかを判断する。
【００５５】
保持されている場合は、図１４に示すように、中間端末Ｐ５において一時記憶領域３２に保持されているコンテンツデータをその属性情報とともに削除する。これは、不必要に記憶領域を圧迫させないためである。なお、その削除タイミングを、前述したようなＰ２Ｐネットワークへの復帰時に設定しているのは、データ管理が容易であるという理由からである。したがって、この削除タイミングをアプケーションマターとして他のタイミングに設定しても構わない。
【００５６】
一方、端末Ｐ４は、Ｐ２Ｐネットワークに接続されている各端末の一時記憶領域３２に保持されている属性情報を検索して自己の端末向けのコンテンツデータを特定し、該コンテンツデータを保有している端末、この場合であれば、図１５に示すように、端末Ｐ２及び端末Ｐ３の２つに対し、コンテンツデータの送信を要求する。このとき、前記第１のフェーズ同様、コンテンツデータを２つに分割し、その一方の部分データを端末Ｐ１に、他方の部分データを端末Ｐ２に対して送信要求する。
【００５７】
ところで、端末Ｐ４が、コンテンツデータを部分データに分割するにあたっては、コンテンツデータの量を予め知る必要があるが、これには、前記属性情報を参照する。そして、第１のフェーズ同様、当該コンテンツデータを分割した部分データの送信を、各中間端末Ｐ２、Ｐ３に要求する。各部分データの量や領域に関しては、第１のフェーズ同様であるので、詳細な説明は省略する。
【００５８】
その一方で、属性付コンテンツデータを一旦削除した中間端末Ｐ５も、図１６に示すように、端末Ｐ２、端末Ｐ３から、端末Ｐ４同様の手順で属性付コンテンツデータを取得する。これは、結果的に端末Ｐ５の方が、端末Ｐ４よりコンテンツ取得が早かった場合、端末Ｐ５も端末Ｐ４に仲介させる目的や、端末Ｐ２、Ｐ３が接続不可状態に陥ったときの障害対策のためである。なお、中間端末Ｐ５において、ネットワーク復帰時に属性付コンテンツデータを削除せず、その後、送信先端末Ｐ４による当該コンテンツデータ受信完了を待って属性付コンテンツデータを削除するようにしてもよい。
【００５９】
次に、送信先端末Ｐ４は、コンテンツデータの受信を完了すると、図１７に示すように、Ｐ２Ｐネットワークに接続されている各端末Ｐ２、Ｐ３、Ｐ５に前記終了メッセージを送信する。この終了メッセージには、前記属性情報の内容も含める。
その後、図１８に示すように、端末Ｐ２〜Ｐ４がＰ２Ｐネットワークから離脱し、端末Ｐ１が接続可能状態に復帰したとする。
【００６０】
端末Ｐ１がＰ２Ｐネットワークに復帰したことは、中間端末Ｐ５で検知される。そして端末Ｐ５は、前記終了メッセージを端末Ｐ１に送信し、その後、該終了メッセージを削除する。
【００６１】
前記終了メッセージを受信した端末Ｐ１では、コンテンツデータ送信のために生成した属性情報のうちから、端末Ｐ５から受信した終了メッセージと合致するものを検索し、合致する属性情報を削除して、送信処理を終了する。このことによって、送信先端末Ｐ１は、Ｐ２Ｐネットワークに復帰したときに送信先端末Ｐ４が離脱していても、即座にコンテンツデータの送信が成功したか否かを把握することができるので、送信処理を確実に終了することができる。
【００６２】
次に、図１９に示すように、端末Ｐ２〜Ｐ４がＰ２Ｐネットワークに復帰したとする。端末Ｐ２〜Ｐ４は、端末Ｐ１に終了メッセージを送信し、該終了メッセージを削除する。端末Ｐ１はこの終了メッセージと合致する属性情報は存在しないため、無視をする。また端末Ｐ４では属性情報も破棄する。
これで、端末Ｐ１と端末Ｐ４において、コンテンツの共有が完了する。
【００６３】
しかして、このように構成した本実施形態によれば、複数の中間ノードにコンテンツデータがそれぞれ一旦保持されており、それら中間ノードの少なくともいずれかのＰ２Ｐネットワークに対する接続維持確率を極めて高く保てるので、送信先ノードがＰ２Ｐネットワークに復帰したときに、前記中間ノードから確実かつ即座にコンテンツデータを取得することができる。つまり、Ｐ２Ｐ特有の問題である通信期間及び送受信状態の不安定さを解消することが可能となる。
【００６４】
また、このように複数の中間ノードに処理が分散されるので、負荷がいずれかのノードに集中しにくく、かつ、各中間ノードは、送信先ノードからの終了メッセージによって前記コンテンツデータを削除するので、長期間に亘ってＰ２Ｐネットワーク内に重複データが多く存在することも無い。
【００６５】
なお、本発明は前記各実施形態に限られるものではない。例えば、その各部を任意に組み合わせて構成しても構わない。その他、本発明はその趣旨を逸脱しない範囲で種々の変形が可能である。
【符号の説明】
【００６６】
Ｐ１〜Ｐ５・・・ノード（端末）
Ｐ１・・・送信元ノード（送信元端末）
Ｐ４・・・送信先ノード（送信先端末）
Ｐ２、Ｐ３、Ｐ５・・・中間ノード（中間端末）
３１、３２・・・記憶領域
【図１】
2011113462.tif 000003
【図２】
2011113462.tif 000004
【図３】
2011113462.tif 000005
【図４】
2011113462.tif 000006
【図５】
2011113462.tif 000007
【図６】
2011113462.tif 000008
【図７】
2011113462.tif 000009
【図８】
2011113462.tif 000010
【図９】
2011113462.tif 000011
【図１０】
2011113462.tif 000012
【図１１】
2011113462.tif 000013
【図１２】
2011113462.tif 000014
【図１３】
2011113462.tif 000015
【図１４】
2011113462.tif 000016
【図１５】
2011113462.tif 000017
【図１６】
2011113462.tif 000018
【図１７】
2011113462.tif 000019
【図１８】
2011113462.tif 000020
【図１９】
2011113462.tif 000021