(57)【要約】Ｐ２Ｐネットワーク２０におけるコンテンツ配信方法は、まず、コンテンツを管理するノードが、隣接する下流ノードに対して、下流ノードの状況（例えば、ノードが接続する回線速度など）に応じた容量の分割コンテンツの管理をさせる。コンテンツを管理するノードは、自ノードで管理する分割コンテンツの部分情報及びコンテンツの実体が存在する位置を示す位置情報を管理情報として保持する。次いで、コンテンツを管理するノードにコンテンツ転送要求がきたときは、保持する位置情報に従ってコンテンツ保持ノードにアクセスし、部分情報に示す容量の分割コンテンツを自ノードにダウンロードするとともに、コンテンツ転送要求したノードにアップロードする。
2009001416.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツの内容、前記コンテンツを保持する保持ノードの位置、及び前記コンテンツのいずれの部分を保持しているか示す部分情報を含むタグ情報を流通させ、前記タグ情報を検索することにより、所望のコンテンツを見つけて、ノード間のコンテンツ配信を行うＰ２Ｐネットワークの各ノードを構成するコンテンツ配信装置であって、
ノードにおけるコンテンツの管理とは、少なくとも、前記配信対象コンテンツの実体の存在位置を示す位置情報と、当該ノードで管理すべき配信対象コンテンツの部分情報と、を備えた管理情報を保持することであり、
自ノードと隣接するノードの状況に関する情報を取得する隣接ノード状況取得手段と、
前記隣接ノード状況取得手段により取得した隣接ノードの状況に応じて、自ノードが管理する配信対象コンテンツから、前記隣接ノードに管理依頼するコンテンツの部分の容量を決定するコンテンツ容量決定手段と、
前記コンテンツ容量決定手段により決定したコンテンツの部分を前記隣接ノードに管理依頼するコンテンツ管理依頼手段と、
前記隣接ノードから、コンテンツ管理可能な返答を受信したときは、前記隣接ノードに対して、前記コンテンツ容量決定手段により決定した容量に基づいた前記管理情報を送信する管理情報送信手段と、
自ノードが管理する配信対象コンテンツの部分に基づいて、前記タグ情報を作成し、作成したタグ情報を他ノードに送信するタグ情報流通手段と、
を有することを特徴とするコンテンツ配信装置。
【請求項２】
隣接ノードから前記管理情報を受信する管理情報受信手段を備え、
前記タグ情報流通手段は、
受信した管理情報の部分情報に基づいて、前記タグ情報を作成し、作成したタグ情報を他ノードに送信することを特徴とする請求項１記載のコンテンツ配信装置。
【請求項３】
前記配信対象コンテンツのダウンロード要求を受信するコンテンツ転送要求受信手段と、
前記コンテンツ転送要求受信手段で受信したダウンロード要求が、自ノードで管理する配信対象コンテンツに対するダウンロード要求であるときは、前記位置情報に従って、前記配信対象コンテンツを保持するノードにアクセスし、前記部分情報に従って、前記配信対象コンテンツの該当部分を自ノードにダウンロードするとともに、前記ダウンロード要求したノードに対してアップロードするコンテンツ転送手段と、
を有することを特徴とする請求項１又は２記載のコンテンツ配信装置。
【請求項４】
複数のノードから並行して前記配信対象コンテンツをダウンロードするコンテンツ受信手段と、
ダウンロードした複数の前記配信対象コンテンツを統合して元の前記配信対象コンテンツを復元するコンテンツ統合手段と、
を有することを特徴とする請求項３記載のコンテンツ配信装置。
【請求項５】
前記自ノードと隣接するノードの状況に関する情報は、
前記自ノードと隣接するノードが接続する通信ネットワークの回線速度に関する情報を含み、
前記コンテンツ容量決定手段は、
前記回線速度に関する情報に基づいて、管理依頼するコンテンツの容量を決定することを特徴とする請求項１乃至４のいずれか１項に記載のコンテンツ配信装置。
【請求項６】
コンテンツの内容、前記コンテンツを保持する保持ノードの位置、及び前記コンテンツのいずれの部分を保持しているか示す部分情報を含むタグ情報を流通させ、前記タグ情報を検索することにより、所望のコンテンツを見つけて、ノード間のコンテンツ配信を行うＰ２Ｐネットワークのコンテンツ配信方法であって、
ノードにおけるコンテンツの管理とは、少なくとも、前記配信対象コンテンツの実体の存在位置を示す位置情報と、当該ノードで管理すべき配信対象コンテンツの部分情報と、を備えた管理情報を保持することであり、
前記Ｐ２Ｐネットワークのノードは、
自ノードと隣接するノードの状況に関する情報を取得する隣接ノード状況取得ステップと、
前記隣接ノード状況取得ステップにより取得した隣接ノードの状況に応じて、自ノードが管理する配信対象コンテンツから、前記隣接ノードに管理依頼するコンテンツの部分の容量を決定するコンテンツ容量決定ステップと、
前記コンテンツ容量決定ステップにより決定したコンテンツの部分を前記隣接ノードに管理依頼するコンテンツ管理依頼ステップと、
前記隣接ノードから、コンテンツ管理可能な回答を受信したときは、前記隣接ノードに対して、前記コンテンツ容量決定手段により決定した容量に基づいた前記管理情報を送信する管理情報送信ステップと、
自ノードが管理する配信対象コンテンツの部分に基づいて、前記タグ情報を作成し、作成したタグ情報を他ノードに送信するタグ情報流通ステップと、
を有することを特徴とするコンテンツ配信方法。
【請求項７】
コンピュータを、請求項１乃至５記載のいずれか１項に記載のコンテンツ配信装置として機能させることを特徴とするコンテンツ配信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｐ２Ｐ（Peer to Peer）ネットワークにおいて、コンテンツを配信する技術に関し、詳しくは、Ｐ２Ｐ（Peer to Peer）ネットワークにおけるコンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラムに関する。
【背景技術】
【０００２】
現在、通信ネットワークを介したデータの配布形態として、Ｐ２Ｐ（ピア・ツー・ピア；Peer to Peer）と呼ばれる形態が広まってきている。従来型のコンテンツ配信では、事業者等が管理するサーバからそれぞれの利用者がファイルをダウンロードするのに対し、Ｐ２Ｐによるコンテンツ流通では、デジタルコンテンツを一元的に蓄積するサーバは設けられず、その代わりに利用者同士が自分のパソコン上に保管されたデジタルコンテンツを直接交換しあうことができる。【０００３】
図１は、高速な通信ネットワークに接続しているノード（コンピュータ）を上流ノード、低速な通信ネットワークに接続しているノード（コンピュータ）を下流ノードと位置づけ、上流ノードほど、コンテンツやコンテンツのインデックス情報が集まるようして、コンテンツ検索やコンテンツ配送の効率を高めているＰ２Ｐネットワーク９０を示している（図１は簡略化した図であり、実際には、下流ノードのさらに下、または上流ノードのさらに上に何階層ものネットワークが構成されている場合もあるし、上流・下流の２階層のネットワークが構成されている場合もある）。【０００４】
図１に示すＰ２Ｐネットワーク９０においては、コンテンツを検索するノードは、隣接する上流ノードに検索依頼を出すと、その上流ノードは自身の管理するコンテンツリスト（コンテンツのインデックス情報を集めたリスト）から依頼されたコンテンツを検索し、下流ノードに対してコンテンツを公開しているノードの場所を返答するようになっている。なお、自身の管理するコンテンツリストにない場合は、さらに上流のノードもしくは対等のノードに対して検索依頼をする。【０００５】
下流ノードは、このようにして上流ノードから検索結果を受け取ると、その返答に記載されているノードに接続し、コンテンツのダウンロードを行う。【０００６】
例えば、上述したＰ２Ｐネットワーク９０を形成するＰ２Ｐファイル共有ソフトウェアのWinnyにおいては、コンテンツを流通させるために、コンテンツを保持するノードの場所（IPアドレス、ポート番号；以下、ファイル位置情報という）などを記入したコンテンツに関するタグ情報を生成し、隣接する上流ノードへ配布する。受け取った上流ノードはさらに上流ノードや対等ノードへタグ情報を配布する。これにより上流へ多くのタグ情報が集められ、上流ノードがタグ情報リスト、つまりコンテンツリストを管理することになる。このようにWinnyによって形成されるＰ２Ｐネットワーク９０においては、上流ノードほど、多くのタグ情報を保持することとなる。【０００７】
また、Winnyにおいては、上述したタグ情報の拡散の途中に一定の確率でタグ情報（ファイル位置情報）の書き換えが行われるので、この書き換えられたタグ情報を受け取って、コンテンツのダウンロードをしようとするノードは、このタグ情報に記されたファイル位置情報の上流ノードにダウンロード要求を出す。しかしながら、この上流ノードは、実際にはコンテンツを保持していないので、自らのコンテンツリストを検索し、実際にコンテンツを保持しているノードからコンテンツをダウンロードするとともに、ダウンロード要求をしたノードに対しても、このコンテンツをアップロードする。この結果、検索元のノードに検索要求のコンテンツがダウンロードされるとともに、コンテンツ配信を中継した上流ノードにおいても、コンテンツが保持されることとなる。このようにWinnyによって形成されるＰ２Ｐネットワーク９０においては、上流ノードは、コンテンツ配信の中継ノードになり得るため、多くの公開されたコンテンツを保持することとなる（コンテンツをダウンロードしたノードもコンテンツ公開ノードとなる）。【０００８】
図１及び図２を用いて、このことを具体的に説明する。図１は、ノードＳがコンテンツα０を公開していて、ノードＢがコンテンツα０のダウンロードを行う場合の様子を示している。ここで、ノードＳがコンテンツα０を保持していることを示すコンテンツα０のタグ情報β０は、図１に示すように、ノードＳより上流のノードに拡散されている。まず、ノードＢは、コンテンツα０に対する検索問い合わせを隣接する上流のノードＤに送信する。コンテンツα０に対する検索問い合わせを受信したノードＤは、自らのコンテンツリストの中にコンテンツα０の存在位置を示すタグ情報β０を持っているので、このタグ情報β０をノードＢに返信する。この結果、ノードＢは、受け取ったタグ情報β０からコンテンツα０を公開しているノードＳの場所がわかるので、ノードＳと直接Ｐ２Ｐ接続し、コンテンツα０をダウンロードする。【０００９】
また、図２は、ノードＳがコンテンツα０を公開していて、ノードＣがコンテンツα０のダウンロードを行う場合の様子を示している。ここで、ノードＳがコンテンツα０を保持していることを示すコンテンツα０のタグ情報β０は、図２に示すように、ノードＳより上流のノードに拡散されているとともに、上流ノードにおいてタグ情報の書き換えが行われて、タグ情報β０が、ノードＡがコンテンツα０を保持していることを示すタグ情報β０ａに変更されている。まず、ノードＣは、コンテンツα０に対する検索問い合わせを隣接する上流のノードＥに送信する。ノードＥは、自らのコンテンツリストの中にコンテンツα０の存在位置を示すタグ情報を備えていないので、隣接する上流のノードＡに問い合わせる。ノードＡは、自らのコンテンツリストの中にコンテンツα０の存在位置を示すタグ情報β０ａを備えているので、このタグ情報β０ａをノードＥを介してノードＣに返信する。この結果、ノードＣは、受け取ったタグ情報β０ａからコンテンツα０を公開しているノードＡの場所がわかるので、ノードＡと直接Ｐ２Ｐ接続し、コンテンツα０のダウンロード要求を行う。しかしながら、ノードＡは、実際にはコンテンツα０を保持していないため、実際にコンテンツα０を保持するノードＳからコンテンツα０をダウンロードし、かつこのコンテンツα０をノードＣにアップロードする。この結果、コンテンツα０がノードＣのほか、ノードＡにも転送配置され、コンテンツの配布効率がよくなるようになっている。【００１０】
【特許文献１】特開２００６−１７８７８２号公報
【非特許文献１】金子勇著，「Ｗｉｎｎｙの技術」，株式会社アスキー，２００５年１０月
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上述したようなＰ２Ｐネットワーク９０においては、上流ノードほど多くのコンテンツ及びタグ情報が集まるようになっているので、上流ノードほど検索処理などのコンテンツ管理の負担が大きいという問題がある。勿論、Ｐ２Ｐネットワーク９０は、上流ノードほど、コンテンツやコンテンツのインデックス情報が集まるようして、コンテンツ検索やコンテンツ配送の効率を高めているＰ２Ｐネットワークであるが、下流ノードに対しても、それ相応の負担を負わせることができれば、よりＰ２Ｐネットワーク全体の効率化を図ることができる。【００１２】
本発明は、上記の問題を解決するためになされたものであり、その課題の一例としては、上流及び下流のノードを定義づけ、コンテンツのファイル内容や存在場所を示すタグ情報を用いて、ノード間のコンテンツ配信を行うＰ２Ｐネットワークにおいて、上流ノードの負担を軽減させて、よりＰ２Ｐネットワーク全体の効率化を図ることができるコンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラムを提供することにある。
【課題を解決するための手段】
【００１３】
上記の課題を達成するため、請求項１記載のコンテンツ配信装置は、コンテンツの内容、前記コンテンツを保持する保持ノードの位置、及び前記コンテンツのいずれの部分を保持しているか示す部分情報を含むタグ情報を流通させ、前記タグ情報を検索することにより、所望のコンテンツを見つけて、ノード間のコンテンツ配信を行うＰ２Ｐネットワークの各ノードを構成するコンテンツ配信装置であって、ノードにおけるコンテンツの管理とは、少なくとも、前記配信対象コンテンツの実体の存在位置を示す位置情報と、当該ノードで管理すべき配信対象コンテンツの部分情報と、を備えた管理情報を保持することであり、自ノードと隣接するノードの状況に関する情報を取得する隣接ノード状況取得手段と、前記隣接ノード状況取得手段により取得した隣接ノードの状況に応じて、自ノードが管理する配信対象コンテンツから、前記隣接ノードに管理依頼するコンテンツの部分の容量を決定するコンテンツ容量決定手段と、前記コンテンツ容量決定手段により決定したコンテンツの部分を前記隣接ノードに管理依頼するコンテンツ管理依頼手段と、前記隣接ノードから、コンテンツ管理可能な返答を受信したときは、前記隣接ノードに対して、前記コンテンツ容量決定手段により決定した容量に基づいた前記管理情報を送信する管理情報送信手段と、自ノードが管理する配信対象コンテンツの部分に基づいて、前記タグ情報を作成し、作成したタグ情報を他ノードに送信するタグ情報流通手段と、を有することを特徴とする。【００１４】
また、請求項６記載のコンテンツ配信方法は、コンテンツの内容、前記コンテンツを保持する保持ノードの位置、及び前記コンテンツのいずれの部分を保持しているか示す部分情報を含むタグ情報を流通させ、前記タグ情報を検索することにより、所望のコンテンツを見つけて、ノード間のコンテンツ配信を行うＰ２Ｐネットワークのコンテンツ配信方法であって、ノードにおけるコンテンツの管理とは、少なくとも、前記配信対象コンテンツの実体の存在位置を示す位置情報と、当該ノードで管理すべき配信対象コンテンツの部分情報と、を備えた管理情報を保持することであり、前記Ｐ２Ｐネットワークのノードは、自ノードと隣接するノードの状況に関する情報を取得する隣接ノード状況取得ステップと、前記隣接ノード状況取得ステップにより取得した隣接ノードの状況に応じて、自ノードが管理する配信対象コンテンツから、前記隣接ノードに管理依頼するコンテンツの部分の容量を決定するコンテンツ容量決定ステップと、前記コンテンツ容量決定ステップにより決定したコンテンツの部分を前記隣接ノードに管理依頼するコンテンツ管理依頼ステップと、前記隣接ノードから、コンテンツ管理可能な回答を受信したときは、前記隣接ノードに対して、前記コンテンツ容量決定手段により決定した容量に基づいた前記管理情報を送信する管理情報送信ステップと、自ノードが管理する配信対象コンテンツの部分に基づいて、前記タグ情報を作成し、作成したタグ情報を他ノードに送信するタグ情報流通ステップと、を有することを特徴とする。
【図面の簡単な説明】
【００１５】
【図１】従来のコンテンツ配信方法の概要を示すＰ２Ｐネットワークの図である。
【図２】従来のコンテンツ配信方法の概要を示すＰ２Ｐネットワークの図である。
【図３】本発明の第１の実施の形態に係るコンテンツ配信方法の概要を示すＰ２Ｐネットワークの図である。
【図４】本発明の第１の実施の形態に係るコンテンツ配信方法の概要を示すＰ２Ｐネットワークの図である。
【図５】本発明の第１の実施の形態に係るＰ２Ｐネットワークにおいて流通されるタグ情報及びコンテンツのフォーマットを示す図である。
【図６】本発明の第１の実施の形態に係るＰ２Ｐネットワークにおいて使用されるノード情報のフォーマットを示す図である。
【図７】１つのコンテンツを分割するときのタグ情報及びコンテンツのフォーマット例である。
【図８】本発明の第１の実施の形態に係るコンテンツ配信装置の概略構成図である。
【図９】本発明の第１の実施の形態に係るコンテンツ配信装置（接続するノード側）のＰ２Ｐネットワーク接続処理を示すフローチャートである。
【図１０】本発明の第１の実施の形態に係るコンテンツ配信装置（接続されるノード側）のＰ２Ｐネットワーク接続処理を示すフローチャートである。
【図１１】本発明の第１の実施の形態に係るコンテンツ配信装置（コンテンツ送信側のノード）のコンテンツ分割配布処理を示すフローチャートである。
【図１２】本発明の第１の実施の形態に係るコンテンツ配信装置（コンテンツ受信側のノード）のコンテンツ分割配布処理を示すフローチャートである。
【図１３】本発明の第１の実施の形態に係るコンテンツ配信装置（タグ情報送信側のノード）のタグ情報流通処理を示すフローチャートである。
【図１４】本発明の第１の実施の形態に係るコンテンツ配信装置（タグ情報受信側のノード）のタグ情報流通処理を示すフローチャートである。
【図１５】本発明の第１の実施の形態に係るコンテンツ配信装置（コンテンツダウンロード側のノード）のコンテンツ検索転送処理を示すフローチャートである。
【図１６】本発明の第１の実施の形態に係るコンテンツ配信装置（コンテンツ検索側のノード）のコンテンツ検索転送処理を示すフローチャートである。
【図１７】本発明の第１の実施の形態に係るコンテンツ配信装置（コンテンツアップロード側のノード）のコンテンツ検索転送処理を示すフローチャートである。
【図１８】本発明の第１の実施の形態に係るコンテンツ配信方法の変形例の概要を示すＰ２Ｐネットワークの図である。
【図１９】本発明の第１の実施の形態に係るコンテンツ配信方法の変形例の概要を示すＰ２Ｐネットワークの図である。
【図２０】本発明の第２の実施の形態に係るコンテンツ配信方法の概要を示すＰ２Ｐネットワークの図である。
【図２１】本発明の第２の実施の形態に係るコンテンツ配信方法の概要を示すＰ２Ｐネットワークの図である。
【図２２】本発明の第２の実施の形態に係るコンテンツ配信方法の概要を示すＰ２Ｐネットワークの図である。
【図２３】本発明の第２の実施の形態に係るコンテンツ配信装置の概略構成図である。
【図２４】本発明の第２の実施の形態に係るコンテンツ配信装置（管理情報送信側のノード）のコンテンツ分割管理処理を示すフローチャートである。
【図２５】本発明の第２の実施の形態に係るコンテンツ配信装置（管理情報受信側のノード）のコンテンツ分割管理処理を示すフローチャートである。
【図２６】本発明の第２の実施の形態に係るコンテンツ配信装置（コンテンツアップロード側のノード）のコンテンツ検索転送処理を示すフローチャートである。
【図２７】図２６のステップＳ２４８のコンテンツアップロード処理を詳しく示すフローチャートである。
【符号の説明】
【００１６】
α、α０、α０ａ、α１、α２、α２ａ、α３、α４、α５、α６  コンテンツ
β、β０、β０ａ、β１、β２、β２ａ、β３、β４、β５、β６  タグ情報
γ  ノード情報
１，２  ノード（コンテンツ配信装置）
１０１  データ送受信部
１０２  ノード情報管理部
１０３  ノード情報用ストレージ
１０４，２０１  タグ情報管理部
１０５，２０２  タグ情報用ストレージ
１０６  コンテンツ管理部
１０７  ノード分析部
１０８  コンテンツ分割部
１０９  コンテンツ用ストレージ
１１０  コンテンツ再生部
１１１  全体制御部
２０３  管理情報作成部
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態を図面を用いて説明する。【００１８】
（第１の実施の形態）
＜コンテンツ配信方法＞
図３は、本発明の第１の実施の形態に係るコンテンツ配信方法の概要を示すＰ２Ｐネットワーク１０を示している。ここで、Ｐ２Ｐネットワーク１０は、ノードが接続している回線の速度（詳しくは、アップロード速度）によって、上流及び下流のノードを定義づけ（上下関係は、自ノードと接続している他ノードとの間の相対的な関係である）、コンテンツのファイル内容や存在場所を示すタグ情報をネットワーク内に拡散させて、ノード間のコンテンツ配信を行うＰ２Ｐネットワークであり、一例としては、ＷｉｎｎｙのようなＰ２Ｐファイル共有ソフトをインストールしたコンピュータがノードとなって形成するＰ２Ｐネットワークである。換言すれば、Ｐ２Ｐネットワーク１０は、高速な通信ネットワークに接続しているノードを上流ノード、低速な通信ネットワークに接続しているノードを下流ノードと位置づけ（なお、アップロード速度がほぼ同じくらいの場合には、必ずしも回線速度と上下関係は一致しない場合もあるため、より正確には、タグ情報を送信するノードを下流ノード、タグ情報を受信する側を上流ノードとする）、上流ノードほど、コンテンツやコンテンツのタグ情報が集まるようにして、コンテンツ検索やコンテンツ配送の効率を高めているＰ２Ｐネットワークである。なお、本実施の形態に係るコンテンツ配信方法は、各ノード（以下、コンテンツ配信装置ともいう）に本発明の本実施の形態に係るコンテンツ配信プログラムをインストールすることにより、実施可能となるものであり、本実施の形態に係るコンテンツ配信プログラムは、上述したＷｉｎｎｙが備える機能に加えて、公開コンテンツ（配布対象コンテンツ）を分割して、隣接する下流のノードに配信するコンテンツ分割配布機能を具備している。【００１９】
本実施の形態に係るコンテンツ配信方法は、コンテンツ公開ノードが、公開するコンテンツを隣接する下流ノードの状況に応じて分割し、分割したコンテンツを隣接する下流ノードに保持させることにより、その上流ノードだけでなく、その下流ノードに対してもコンテンツ流通の一端を担わせ、下流ノードを有効活用するコンテンツ配信方法である。ここで、下流ノードの状況とは、例えば、下流ノードが接続している回線速度を意味し、下流ノードは、その回線速度に応じた容量の分割コンテンツを自ら保持するようになっている（低速な回線に接続するほど、保持する容量は少なくなる）。そして、コンテンツ検索ノードが、このコンテンツをダウンロードするときには、分割コンテンツを保持する複数の下流ノードから同時に並行してダウンロードするので、下流ノードのアップロード処理に対する負荷分散を図ることができるとともに、ダウンロード処理の高速化を図ることができるものである。このように、本実施の形態に係るコンテンツ配信方法は、下流ノードが接続する通信ネットワークの帯域が小さくても、帯域に応じた容量の分割コンテンツをコンテンツ検索ノードに転送するので、小さなネットワーク帯域を有効に使用することができ、下流ノードを有効活用できるコンテンツ配信方法となっている。【００２０】
以下、図３及び図４を用いて、具体的に説明する。【００２１】
例えば、図３に示すノードＡがコンテンツα０を公開する場合には、まず、ノードＡは、ノードＡの下流ノードであるノードＣとノードＤに対して、コンテンツ保持依頼を出す。このコンテンツ保持依頼は、ノードＣ及びノードＤの状況に見合った容量のコンテンツの保持を依頼するもので、例えば、図３においては、ノードＣにコンテンツα０の３／８、ノードＤにコンテンツα０の５／８の容量の保持を依頼している。本具体例では、ノードＣ及びノードＤの回線速度に応じてコンテンツα０を按分して、分割している。ノードＡは、ノードＣ及びノードＤからコンテンツ保持依頼が可能である旨の返答を受け取ると、依頼分の容量の分割コンテンツα１をノードＣ、分割コンテンツα２をノードＤに送信する。この結果、ノードＣは分割コンテンツα１を保持するとともに、ノードＣが分割コンテンツα１を保持していることを示すコンテンツα１のタグ情報β１を作成して、隣接する上流ノードに配布する。また、ノードＤは分割コンテンツα２を保持するとともに、ノードＤが分割コンテンツα２を保持していることを示すコンテンツα２のタグ情報β２を作成して、隣接する上流ノードに配布する。【００２２】
ここで、図３に示す記号の説明をすると、ノードＡにおけるタグ情報β０は、コンテンツα０がノードＡにあること、及び全体コンテンツ（分割されていないコンテンツ）を保持していることを示している。「１１１１１１１１」はビットマップ情報を示しており、コンテンツを８ブロックに分割した分割コンテンツのいずれの部分を保持しているかを１（保持）又は０（不保持）で示しており、タグ情報ベータβ０は、８ブロックすべて（全体コンテンツ）を保持していることを示している。同様にして、タグ情報β１は、コンテンツα０の３／８（前半部分）をノードＣが保持していること、タグ情報β２は、コンテンツα０の５／８（後半部分）をノードＤが保持していることを示している。【００２３】
なお、分割コンテンツを受け取って、保持するノードは、さらに隣接する下流のノードに対して、コンテンツ保持依頼を出すことができる。例えば、図３に示すノードＤは、ノードＤの下流ノードであるノードＷ、Ｘ、Ｙ、及びＺに対して、コンテンツ保持依頼を出している。このコンテンツ保持依頼は、ノードＷにコンテンツα０の１／８、ノードＸにコンテンツα０の１／８、ノードＹにコンテンツα０の２／８、ノードＺにコンテンツα０の１／８の容量の保持を依頼するものである。勿論、分割コンテンツの容量は、それぞれのノードの状況（回線速度）に応じて決定されている。ノードＤは、ノードＷ、Ｘ、Ｙ、及びＺからコンテンツ保持依頼が可能である旨の返答を受け取ると、依頼分の容量の分割コンテンツをノードＷ、Ｘ、Ｙ、及びＺに送信する。この結果、ノードＷは分割コンテンツα３を保持するとともに、ノードＷが分割コンテンツα３を保持していることを示すコンテンツα３のタグ情報β３を作成して、隣接する上流ノードに配布する。同様にして、ノードＸは分割コンテンツα４を保持するとともに、ノードＸが分割コンテンツα４を保持していることを示すコンテンツα４のタグ情報β４を作成して、隣接する上流ノードに配布し、また、ノードＹは分割コンテンツα５を保持するとともに、ノードＹが分割コンテンツα５を保持していることを示すコンテンツα５のタグ情報β５を作成して、隣接する上流ノードに配布し、また、ノードＺは分割コンテンツα６を保持するとともに、ノードＺが分割コンテンツα６を保持していることを示すコンテンツα６のタグ情報β６を作成して、隣接する上流ノードに配布する。【００２４】
このように、本実施の形態に係るコンテンツ配信方法においては、複数の階層のノードに渡って１つのコンテンツを分割することができるので、元のコンテンツは細分化されて、より下流のノードに分散配置されることとなり、Ｐ２Ｐネットワーク１０全体のコンテンツ配置に偏りがなくなる。【００２５】
一方、図４に示すノードＥがコンテンツα０のダウンロードを行う場合には、ノードＥが、コンテンツα０に対する検索問い合わせを隣接する上流のノードに送信すると、上流のノードからコンテンツα０の分割コンテンツの存在位置を示すタグ情報β１〜β６を受信するので、このタグ情報β１〜β６に従って、コンテンツα０の分割コンテンツを保持するノードから、コンテンツα０の分割コンテンツをダウンロードする。図４に示す例では、ノードＥは、ノードＣ、Ｗ、Ｘ、Ｙ、及びＺからコンテンツα０の分割コンテンツを並行して同時にダウンロードし、ダウンロードした後、分割コンテンツを合わせて１つのコンテンツα０を復元している。勿論、ノードＥは、タグ情報β０も受け取り可能なので、全体コンテンツであるコンテンツα０をダウンロードしてもよい。【００２６】
このように、本実施の形態に係るコンテンツ配信方法においては、複数の下流ノードから、複数の分割されたコンテンツを同時に並行してダウンロードするので、下流ノードを有効活用しつつ、ダウンロードの高速化を図ることができるようになっている。【００２７】
＜データ構成＞
図５は、Ｐ２Ｐネットワーク１０において流通されるコンテンツα、及びタグ情報βのデータフォーマットを示している。なお、本明細書においては、全体コンテンツ及び全体コンテンツに対応するタグ情報を意図するときは、コンテンツα０、タグ情報β０のように０を付して表記し、分割コンテンツ及び分割コンテンツに対応するタグ情報を意図するときは、コンテンツα１、α２、…、αＮ（Ｎは自然数）、タグ情報β１、β２、…、βＮ（Ｎは自然数）のように自然数を付して表記したが、その両者を含めたコンテンツ一般、タグ情報一般を意味するときはコンテンツα、タグ情報βと表記することとする。【００２８】
タグ情報βは、コンテンツαの内容や存在場所を示すインデックス情報であり、コンテンツαとは１対１に対応する。タグ情報βは、詳しくは、コンテンツαを一意に識別可能なコンテンツＩＤ（全体コンテンツと当該全体コンテンツを分割した分割コンテンツのコンテンツＩＤは同一である）、分割したコンテンツの部分情報であるビットマップ情報（分割したコンテンツのいずれのブロックであるかを示す情報）、コンテンツ関連情報（例えば、コンテンツのタイトル、出演者、ジャンル、サムネイル画像、時間、サイズ、暗号鍵購入先など）、分割コンテンツを収集後、完全に収集できたか否かを検証するためのチェックサム、このタグ情報βに対応するコンテンツαを保持しているノードのアドレスであるコンテンツ保持位置（ＩＰアドレス、ポート番号）を備えている。【００２９】
コンテンツαは、ヘッダ情報であるコンテンツヘッダと、コンテンツの実体であるコンテンツデータから構成されており、コンテンツヘッダは、上述したコンテンツＩＤ、ビットマップ情報、及びチェックサムを備えている。【００３０】
図６は、Ｐ２Ｐネットワーク１０において用いられるノード情報γのデータフォーマットを示している。ノード情報γは、ノードがＰ２Ｐネットワーク１０に参加するために必要な情報であり、詳しくは、ノードを一意に識別可能なノードＩＤ、ノード関連情報（例えば、名前、回線速度、対応言語やリージョン、嗜好、登録コミュニティ、ストレージ空き容量など）、ノードのアドレスであるノード位置（ＩＰアドレス、ポート番号）を備えている。【００３１】
図７は、１つのコンテンツを分割したときのタグ情報及びコンテンツのデータフォーマットを具体的に示している。図７においては、ノードＡが保持しているコンテンツα０（全部で４ブロックから構成されている）を２分割して、ノードＳがコンテンツα１、ノードＴがコンテンツα２を保持するときの様子を示している。タグ情報β１は、ノードＳが３ブロック分（ブロック１、２、３）の分割コンテンツα１を備えていること、タグ情報β２は、ノードＳが１ブロック分（ブロック４）の分割コンテンツα２を備えていることを示している。【００３２】
＜コンテンツ配信装置の構成＞
図８は、Ｐ２Ｐネットワーク１０のノード（コンテンツ配信装置）１の概略構成図である。ここで、コンテンツ配信装置１は、インターネット網などの通信ネットワークを介して、データの送受信が可能な端末装置であり、例えば、パーソナルコンピュータ（以下、ＰＣ）などのコンピュータの他、ＤＶＤレコーダ、ＤＶＤプレーヤ、テレビ、携帯電話、ＰＤＡなどの情報家電が想定される。【００３３】
コンテンツ配信装置１は、データ送受信部１０１、ノード情報管理部１０２、ノード情報用ストレージ１０３、タグ情報管理部１０４、タグ情報用ストレージ１０５、コンテンツ管理部１０６、ノード分析部１０７、コンテンツ分割部１０８、コンテンツ用ストレージ１０９、コンテンツ再生部１１０、及び全体制御部１１１を具備する構成である。【００３４】
データ送受信部１０１は、他ノードと情報の送受信を行う。具体的には、コンテンツα、タグ情報β、ノード情報γなどのやりとりを他ノードと行う。【００３５】
ノード情報管理部１０２は、接続先ノードのノード情報γ、自ノードのノード情報γ、非接続の他ノードのノード情報γを管理する。【００３６】
ノード情報用ストレージ１０３は、ノード情報管理部１０２で管理するノード情報γ（ノード情報リストＬ１）を記憶する。【００３７】
タグ情報管理部１０４は、ノード１が保持している（実際には保持していない場合もある）コンテンツαに対応したタグ情報βと下流ノードから受信したタグ情報βとを統合整理して、上流ノードへ定期的に流通させるタグ情報リストＬ２を作成する。また、他ノードからのコンテンツ検索依頼に応じて、タグ情報リストＬ２の検索を行い、検索結果を作成する。【００３８】
タグ情報用ストレージ１０５は、タグ情報管理部１０４で管理されるタグ情報β（タグ情報リストＬ２）を記憶する。【００３９】
コンテンツ管理部１０６は、他のノードからダウンロードしたコンテンツαや、下流ノードに配布する分割コンテンツαＮを管理する。【００４０】
ノード分析部１０７は、下流ノードに分割コンテンツαＮを配布する際に、下流ノードからノード情報γを受け取り、適切な分割量を決定する。【００４１】
コンテンツ分割部１０８は、ノード分析部１０７で決定された分割量でコンテンツαを分割する。【００４２】
コンテンツ用ストレージ１０９は、コンテンツ管理部１０６が管理するコンテンツαを記憶する。【００４３】
コンテンツ再生部１１０は、コンテンツの再生を行う。【００４４】
全体制御部１１１は、他ノードからの依頼や他ノードへの依頼に応じて、コンテンツ再生装置１の各構成要素１０１〜１１０へのデータ転送を制御する。【００４５】
なお、コンテンツ配信装置１は、少なくとも、演算機能及び制御機能を備えた中央演算処理装置（ＣＰＵ）、プログラムやデータを格納する機能を有するＲＯＭ、ＲＡＭ等からなる主記憶装置及びハードディスクなどの補助記憶装置を備えた電子的な装置から構成されている。すなわち、データ送受信部１０１、ノード情報管理部１０２、タグ情報管理部１０４、コンテンツ管理部１０６、ノード分析部１０７、コンテンツ分割部１０８、コンテンツ再生部１１０、及び全体制御部１１１は、上記ＣＰＵによる演算制御機能、ノード情報用ストレージ１０３、タグ情報用ストレージ１０５、コンテンツ用ストレージ１０９は、上記主記憶装置及び補助記憶装置の機能を具体的に示したものに他ならない。【００４６】
また、コンテンツ配信装置１における後述する各種処理を実行するプログラムは、上述した主記憶装置に格納されているものである。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体に記録することも、通信ネットワークを介して配信されることも可能である。【００４７】
＜コンテンツ配信装置の動作＞
次に、図９〜図１７を用いて、ノード（コンテンツ配信装置）１の動作について説明する。図９及び図１０は、コンテンツ配信装置１がＰ２Ｐネットワーク１０に接続するときのＰ２Ｐネットワーク接続処理を示すフローチャートであり、図１１及び図１２は、コンテンツを分割して配布するときのコンテンツ分割配布処理を示すフローチャートである。また、図１３及び図１４は、タグ情報を上流ノードに流通させるタグ情報流通処理を示すフローチャートであり、図１５〜図１７は、コンテンツを検索し、転送するときのコンテンツ検索転送処理を示すフローチャートである。【００４８】
（Ｐ２Ｐネットワーク接続処理）
図９及び図１０を参照して、Ｐ２Ｐネットワーク接続処理について説明する。Ｐ２Ｐネットワーク接続処理は、コンテンツ配信装置１が、後述するコンテンツ分割配布処理、タグ情報流通処理、及びコンテンツ検索転送処理を行うための前提処理である。ここで、図９は、新たにＰ２Ｐネットワーク１０に接続したい側のノード（以下、説明の便宜上、コンテンツ配信装置１ａと称する）における処理であり、また、図１０は、接続される側のノード（以下、説明の便宜上、コンテンツ配信装置１ｂと称する）における処理である。【００４９】
新たにＰ２Ｐネットワーク１０に参加したいコンテンツ配信装置１ａは、ノード情報用ストレージ１０３からノード情報リストＬ１を読み込み（ステップＳ２）、ノード情報リストＬ１に他ノードのノード情報γがあるか否かを判断する（ステップＳ４）。ノード情報リストＬ１に他ノードのノード情報γがあるときは（ステップＳ４：ＹＥＳ）、このノード情報γを用い、ノード情報リストＬ１に他ノードのノード情報γがないときは（ステップＳ４：ＮＯ）、管理サーバ（Ｐ２Ｐネットワーク１０に初期接続するためのノード情報を備えるサーバ）にアクセスして、初期接続ノード先のノード情報γを入手し（ステップＳ６）、入手したノード情報γをノード情報用ストレージ１０３に記憶する（ステップＳ８）。【００５０】
次いで、コンテンツ配信装置１ａは、ノード情報用ストレージ１０３に記憶されたノード情報γ（ノード情報リストＬ１）から、ノード情報γに記載のノード関連情報を参照して、接続先ノードを選択する（ステップＳ１０）。例えば、嗜好が一致するノードを接続先ノードとして選択する。【００５１】
次いで、コンテンツ配信装置１ａは、選択した接続先ノードに対して接続依頼を行い（ステップＳ１２）、選択した接続先ノードの接続依頼に対する返答から、接続可能であるか否かを判断する（ステップＳ１４）。接続可能であるときは（ステップＳ１４：ＹＥＳ）、選択した接続先ノードと接続処理を行い（ステップＳ１８）、さらに接続先ノードからノード情報リストＬ１を入手し、ノード情報用ストレージ１０３に新たなノード情報γを追加する（ステップＳ２０）。これに対して、接続不可であるときは（ステップＳ１４：ＮＯ）、依頼先ノードからノード情報リストＬ１を入手し、ノード情報用ストレージ１０３に新たなノード情報γを追加し（ステップＳ１５）、接続先ノードとして有効なノード情報γがさらにあるか否かを判断する（ステップＳ１６）。有効なノード情報γがもうないときは（ステップＳ１６：ＹＥＳ）、ステップＳ６に戻り、有効なノード情報γがあるときは（ステップＳ１６：ＮＯ）、ステップＳ１０に戻って、新たな接続先ノードを見つける。【００５２】
次いで、コンテンツ配信装置１ａは、接続した接続先ノードで固定してよいか否かを判断する（ステップＳ２２）。接続した接続先ノードで固定してよいときは（ステップＳ２２：ＹＥＳ）、Ｐ２Ｐネットワーク接続処理を終了し、さらに新たなノードと接続したいときは（ステップＳ２２：ＮＯ）、ステップＳ１０に戻り、新たな接続先ノードを見つける。【００５３】
一方、コンテンツ配信装置１ｂは、コンテンツ配信装置１ａから接続依頼を受信すると（ステップＳ３２；図９のステップＳ１２）、自ノードの接続状況を確認し（ステップＳ３４）、接続できる状態であるか否かを判断する（ステップＳ３６）。ここで、接続できる状態であるか否かの判断は、Ｐ２Ｐネットワーク１０の１ノードにおける最大接続数や自ノードのビジー状況などから判断する。【００５４】
コンテンツ配信装置１ｂが、自ノードは接続できる状態であると判断したときは（ステップＳ３６：ＹＥＳ）、接続可能メッセージを作成して、コンテンツ配信装置１ａに返答し（ステップＳ３８；図９のステップＳ１４に対応）、コンテンツ配信装置１ａと接続処理を行う（ステップＳ４０；図９のステップＳ１８に対応する）。【００５５】
これに対して、コンテンツ配信装置１ｂが、自ノードは接続できる状態でないと判断したときは（ステップＳ３６：ＮＯ）、接続拒否メッセージを作成して、コンテンツ配信装置１ａに返答する（ステップＳ４２；図９のステップＳ１４に対応）。【００５６】
最後にコンテンツ配信装置１ｂは、自ノードのノード情報リストを依頼元ノードへ送信する（ステップＳ４２）。【００５７】
なお、図９に示すＰ２Ｐネットワーク接続処理のフローは、新たにＰ２Ｐネットワーク１０に参加したいコンテンツ装置１ａが、自ら接続先ノードを見つけて接続する方式であったが、これとは別に、接続先ノードを指示するサーバを用意し、このサーバにアクセスすることで、Ｐ２Ｐネットワーク１０に接続するような方式であってもよい。【００５８】
（コンテンツ分割配布処理）
図１１及び図１２を参照して、コンテンツ分割配布処理について説明する。ここで、図１１は、コンテンツを分割して配布する上流側のノード、すなわち、コンテンツ送信側のノード（以下、説明の便宜上、コンテンツ配信装置１ａと称する）における処理であり、図１２は、分割したコンテンツを受け取る下流側のノード、すなわち、コンテンツ受信側のノード（以下、説明の便宜上、コンテンツ配信装置１ｂと称する）における処理である。【００５９】
コンテンツ配信装置１ａは、接続している下流ノードから最新のノード情報γを入手し、接続先ノードのノード情報γを更新する（ステップＳ５２）。次いで、コンテンツ配信装置１ａは、更新されたノード情報リストＬ１に基づいて、下流ノードは存在するか否かを判断する（ステップＳ５４）。これは、ノード情報γの回線速度（アップロード速度）に基づいて、自ノードと他ノードの回線速度を比較し、下流ノードは存在するか否かを判断するものである（自ノードよりも回線速度が遅いノードを下流とする）。【００６０】
下流ノードが存在するときは（ステップＳ５４：ＹＥＳ）、コンテンツ配信装置１ａは、各下流ノードの回線速度に応じて分割コンテンツαＮの容量を決定し（ステップＳ５６）、未だ保持していない下流ノードの１つを選択し、選択した下流ノードに対して、分割コンテンツαＮの保持依頼を行い（ステップＳ５８）、下流ノードの分割コンテンツ保持依頼に対する返答から、分割コンテンツαＮの保持が可能であるか否かを判断する（ステップＳ６０）。分割コンテンツαＮの保持が可能であるときは（ステップＳ６０：ＹＥＳ）、コンテンツ配信装置１ａは、分割コンテンツαＮの保持依頼をした下流ノードに決定された容量の分割コンテンツαＮを送信する（ステップＳ６２）。【００６１】
次いで、コンテンツ送信側のコンテンツ配信装置１は、すべての下流ノードに分割コンテンツαＮの保持依頼を行ったか否かを判断し（ステップＳ６４）、コンテンツαＮの保持依頼を行っていない下流ノードが存在するときには、ステップＳ５８に戻って、分割コンテンツαＮの保持依頼を行う。【００６２】
一方、コンテンツ配信装置１ｂは、接続している上流ノードへ最新の自ノードのノード情報γを送信する（ステップＳ７２；図１１のステップＳ５２に対応）。【００６３】
次いで、コンテンツ配信装置１ｂは、接続している上流ノードから分割コンテンツ保持依頼を受信し（ステップＳ７４；図１１のステップＳ５８に対応）、自らが分割コンテンツαＮを保持することができるか否かを判断する（ステップＳ７６）。ここで、分割コンテンツαＮを保持することができるか否かの判断は、自ノードの空き容量や自ノードのビジー状況などから判断する。なお、分割コンテンツ保持依頼には、分割コンテンツαＮの容量も含まれている。【００６４】
コンテンツ配信装置１ｂが、自ノードに分割コンテンツαＮを保持できると判断したときは（ステップＳ７６：ＹＥＳ）、保持可能メッセージを作成して、コンテンツ配信装置１ａに返答し（ステップＳ７８；図１１のステップＳ６０に対応）、コンテンツ配信装置１ａから分割コンテンツαＮを受信する（ステップＳ８２；図１１のステップＳ６２に対応）。【００６５】
次いで、コンテンツ配信装置１ｂは受信した分割コンテンツαＮに対応したタグ情報βＮを作成し、自らのタグ情報リストＬ２に追記する（ステップＳ８４）。なお、新たなタグ情報βＮが追記されたタグ情報リストＬ２は、後述するように定期的に上流ノードに送信される。【００６６】
これに対して、コンテンツ配信装置１ｂが、自ノードに分割コンテンツαＮを保持できないと判断したときは（ステップＳ７６：ＮＯ）、保持拒否メッセージを作成して、コンテンツ配信装置１ａに返答する（ステップＳ８０；図１１のステップＳ６０に対応）、
なお、図１１及び図１２に示すコンテンツ分割配布処理のフローにおいては、上流ノードは、受信した下流ノードのノード情報γに基づいて、下流ノードの回線速度を把握したが、これとは別な方法により、下流ノードの回線速度を把握するようにしてもよい。例えば、下流ノードからノード情報γを受信したときに（図１１のステップＳ５２において）、下流ノードの回線速度を実測して把握するようにしてもよい。【００６７】
（タグ情報流通処理）
図１３及び図１４を参照して、タグ情報流通処理について説明する。ここで、図１３は、自身が備えているタグ情報リストＬ２を上流ノードに送信する下流側のノード（以下、説明の便宜上、コンテンツ配信装置１ａと称する）における処理であり、図１４は、下流ノードからタグ情報リストＬ２を受信する上流側のノード（以下、説明の便宜上、コンテンツ配信装置１ｂと称する）における処理である。【００６８】
コンテンツ配信装置１ａは、定期的に自身が保有しているタグ情報リストＬ２を隣接する上流ノードに送信する（ステップＳ９２）。【００６９】
一方、コンテンツ配信装置１ｂは、定期的にタグ情報リストＬ２を受信すると（ステップＳ１０２；図１３のステップＳ９２に対応）、受信したタグ情報リストＬ２を、自身が保有するタグ情報リストＬ２に反映させ、新たなタグ情報βが反映されたタグ情報リストＬ２を作成し、タグ情報用ストレージ１０５に記憶する（ステップＳ１０４）。【００７０】
なお、タグ情報流通処理においては、所定の確率でタグ情報βのコンテンツ保持位置の書き換えが発生するので、新たなコンテンツ保持位置となったノードは、コンテンツ配信の中継ノードになり、公開コンテンツ（配信対象コンテンツ）を保持する可能性がある。【００７１】
（コンテンツ検索転送処理）
図１５〜図１７を参照して、コンテンツ検索転送処理について説明する。ここで、図１５は、コンテンツの検索依頼をし、所望のコンテンツをダウンロードする側のノード（以下、説明の便宜上、コンテンツ配信装置１ａと称する）における処理であり、図１６は、コンテンツの検索を行うコンテンツ検索側のノード（以下、説明の便宜上、コンテンツ配信装置１ｂと称する）における処理であり、図１７は、所望のコンテンツを公開して保持しており、所望のコンテンツをアップロードするノード（以下、説明の便宜上、コンテンツ配信装置１ｃと称する）における処理である。【００７２】
コンテンツ配信装置１ａは、隣接する上流ノードにコンテンツ検索依頼をし（ステップＳ１１２）、隣接する上流ノードのコンテンツ検索依頼に対する返答から、検索依頼したコンテンツαがあったか否かを判断する（ステップＳ１１４）。これは、検索依頼したコンテンツαのタグ情報β（検索依頼したコンテンツαと同一コンテンツＩＤを有するタグ情報β）を受信したか否かにより判断する。【００７３】
検索依頼したコンテンツαがあったときは、コンテンツ配信装置１ａは、受信したタグ情報βのいずれか１つを選択し、選択したタグ情報βに記載のノードにアクセスし、コンテンツダウンロード依頼をし（ステップＳ１１６）、アクセスしたノードのコンテンツダウンロード依頼に対する返答から、ダウンロード可能であるか否かを判断する（ステップＳ１１８）。【００７４】
コンテンツαのダウンロードが可能であるときは、コンテンツ配信装置１ａは、コンテンツαのダウンロード処理を行う（ステップＳ１２０）。これにより、アクセスしたノードから、所望のコンテンツα（全体コンテンツ又は分割コンテンツ）がダウンロードされる。【００７５】
次いで、コンテンツ配信装置１ａは、コンテンツ検索依頼に対する返答から、他のノードにもダウンロード依頼はできないか否かを判断し（ステップＳ１２２）、他のノードからもダウンロード依頼が可能のときは（ステップＳ１２２：ＹＥＳ）、ステップＳ１１６に戻り、当該他のノードに対して、コンテンツαのダウンロード依頼をする。これは、例えば、受け取ったタグ情報βが複数あり、それぞれのタグ情報βに記載のノードが、同一コンテンツに対する分割コンテンツαＮを保持するような場合などである。【００７６】
これに対して、他のノードへのダウンロード依頼が不可能のときは（ステップＳ１２２：ＮＯ）、今までに並行ダウンロードした分割コンテンツαＮを統合して、元のコンテンツα０を復元する（ステップＳ１０４）。勿論、全体コンテンツα０をダウンロードしたときは、統合する必要はない。【００７７】
一方、コンテンツ配信装置１ｂは、コンテンツ配信装置１ａから検索依頼を受信すると（ステップＳ１３２；図１５のステップＳ１１２に対応）、自らのタグ情報用ストレージ１０５に記憶されたタグ情報リストＬ２から、検索依頼のあったコンテンツαを探し、見つかったタグ情報βをコンテンツ配信装置１ａに送信する（ステップＳ１３４；図１５のステップＳ１１４に対応）。なお、自らのタグ情報リストＬ２に検索依頼のコンテンツαが見つからない場合には、さらに上流のノードに検索依頼をし、検索結果を返してもらう。どこの上流ノードまで検索を依頼するかは、検索依頼の中に含めるホップ数で規定してもよいし、また、Ｐ２Ｐネットワーク１０の規格により規定してもよい。【００７８】
他方、コンテンツ配信装置１ｃは、コンテンツ配信装置１ａからコンテンツダウンロード依頼を受信すると（ステップＳ１４２；図１５のステップＳ１１６に対応）、依頼のあったコンテンツαを自ノードがアップロードすることができる状態であるか否かを判断する（ステップＳ１４４）。ここで、コンテンツαをアップロードすることができる状態か否かの判断は、自ノードのビジー状況や依頼のあったコンテンツの有無などから判断する。【００７９】
依頼のあったコンテンツαをアップロードすることができるときは、転送可能メッセージを作成して、転送可能メッセージをコンテンツ配信装置１ａに返答し（ステップＳ１４６；図１５のステップＳ１１８に対応）、コンテンツαのアップロード処理をする（ステップＳ１４８；図１５のステップＳ１２０に対応）。これにより、コンテンツ配信装置１ｂからコンテンツ配信装置１ａに、所望のコンテンツα（全体コンテンツ又は分割コンテンツ）がアップロードされる。【００８０】
これに対して、依頼のあったコンテンツαをアップロードすることができないときは、転送拒否メッセージを作成して、転送拒否メッセージをコンテンツ配信装置１ａに返答する（ステップＳ１５０；図１５のステップＳ１１８に対応）。【００８１】
以上、本実施の形態によれば、接続している回線の速度によって、上流及び下流のノードを定義づけ、コンテンツのファイル内容や存在場所を示すタグ情報を用いて、ノード間のコンテンツ配信を行うＰ２Ｐネットワークにおいて、上流ノードだけでなく、下流ノードも自ノードの状況に応じた分割コンテンツを保持しているので、コンテンツをダウンロードする際に下流ノードのネットワーク帯域を有効利用でき、これにより上流ノードの負担を軽減させて、よりＰ２Ｐネットワーク全体の効率化を図ることができる。また、複数のノードから並行して分割コンテンツをダウンロードできるので、ダウンロードの高速化を図ることができる。【００８２】
これは、従来においては、下流ノードのネットワーク帯域はコンテンツ配信のボトルネックに成り得るため、コンテンツ配信に考慮されていなかったが、この下流ノードのネットワーク帯域を有効利用できるように改めたものである。【００８３】
なお、本実施の形態においては、分割されたコンテンツを扱うので、コンテンツを分割配布するノードにとっても、コンテンツ配布時間を短縮することができるとともに、また、アップロードするノードにとっても、アップロードする負荷を軽減することができる。【００８４】
さらに、人気のあるコンテンツであれば、より多くの下流ノードがコンテンツの一部を保有するため、同時にダウンロードできるノード数が増加し、より効率的な配布が可能となる。【００８５】
以上、第１の実施の形態について説明してきたが、第１の実施の形態に係るコンテンツ配信方法には、種々の変形を施すことができる。【００８６】
例えば、上記実施の形態のコンテンツ配信方法のコンテンツ分割配布処理においては、コンテンツ送信側のノードは、分割の対象となるコンテンツ（分割前コンテンツ）を自ノードに保持するようにしたが、コンテンツ受信側のノードに分割コンテンツを転送した後、分割前コンテンツを削除するようにしてもよい。図１８は、このようなコンテンツ配信方法の変形例の概要を示すＰ２Ｐネットワーク１０Ａを示している。例えば、ノードＡが、保持するコンテンツα０を隣接する下流ノードのノードＣ及びノードＤに分割配布する場合には、ノードＣ及びノードＤに分割配布した後にノードＡに保持しているコンテンツα０を削除してもよい。また、ノードＤが、保持するコンテンツα２を隣接する下流ノードのノードＷ、Ｘ、Ｙ、及びＺに分割配布する場合には、ノードＷ、Ｘ、Ｙ、及びＺに分割配布した後にノードＤに保持しているコンテンツα２を削除してもよい。この結果、さらに上流ノードのストレージ容量の負担を軽減させることができる。【００８７】
また、図１９に示すように、コンテンツ分割配布処理において、隣接する下流ノードだけでなく、自ノードも含めて、コンテンツを按分し、分割するようにしてもよい。例えば、ノードＡが、保持するコンテンツα０を隣接する下流ノードのノードＣ及びノードＤに分割配布する場合には、ノードＡを含めて、ノードＡ、Ｃ、及びＤでコンテンツα０を分割するようにしてもよい。また、ノードＤが、保持するコンテンツα２を隣接する下流ノードのノードＷ、Ｘ、Ｙ、及びＺに分割配布する場合には、ノードＤを含めて、ノードＤ、Ｗ、Ｘ、Ｙ、及びＺでコンテンツα２を分割するようにしてもよい。【００８８】
（第２の実施の形態）
＜コンテンツ配信方法＞
次に、本発明の第２の実施の形態に係るコンテンツ配信方法について説明する。本実施の形態に係るコンテンツ配信方法は、第１の実施の形態に係るコンテンツ配信方法と異なり、分割コンテンツを下流ノードに対して配布せず、下流ノードも分割コンテンツを保持しない。すなわち、本実施の形態においては、各ノードが分割コンテンツの実体を保持するのではなく、分割コンテンツに関する管理情報を保持するだけである。ここで、分割コンテンツに関する管理情報とは、自ノードで管理する分割コンテンツの部分情報（全体コンテンツのうちどの部分のコンテンツを管理するかを示す情報）、及びコンテンツの実体が存在する位置を示す位置情報（自ノードで管理する分割コンテンツが実際に存在するコンテンツ保持ノードのアドレス）である。その他の点に関しては、第１の実施の形態のコンテンツ配信方法と略同一である。なお、本実施の形態においては、第１の実施の形態と異なる構成及び機能のみ説明し、その他の構成及び機能については同一部分には同一符号を付して説明を省略する。【００８９】
図２０〜図２２は、本実施の形態に係るコンテンツ配信方法の概要を示すＰ２Ｐネットワーク２０を示している。ここで、Ｐ２Ｐネットワーク２０は、Ｐ２Ｐネットワーク１０と同様に、ノードが接続している回線の速度（詳しくは、アップロード速度）によって、上流及び下流のノードを定義づけ（上下関係は、自ノードと接続している他ノードとの間の相対的な関係である）、コンテンツのファイル内容や存在場所を示すタグ情報をネットワーク内に拡散させて、ノード間のコンテンツ配信を行うＰ２Ｐネットワークであり、一例としては、ＷｉｎｎｙのようなＰ２Ｐファイル共有ソフトをインストールしたコンピュータがノードとなって形成するＰ２Ｐネットワークである。換言すれば、Ｐ２Ｐネットワーク２０は、高速な通信ネットワークに接続しているノードを上流ノード、低速な通信ネットワークに接続しているノードを下流ノードと位置づけ（なお、アップロード速度がほぼ同じくらいの場合には、必ずしも回線速度と上下関係は一致しない場合もあるため、より正確には、タグ情報を送信するノードを下流ノード、タグ情報を受信する側を上流ノードとする）、上流ノードほど、コンテンツやコンテンツのタグ情報が集まるようにして、コンテンツ検索やコンテンツ配送の効率を高めているＰ２Ｐネットワークである。なお、本実施の形態に係るコンテンツ配信方法は、各ノード（以下、コンテンツ配信装置ともいう）に本発明の本実施の形態に係るコンテンツ配信プログラムをインストールすることにより、実施可能となるものであり、本実施の形態に係るコンテンツ配信プログラムは、上述したＷｉｎｎｙが備える機能に加えて、公開コンテンツ（配布対象コンテンツ）の管理情報を隣接する下流のノードに管理させるコンテンツ分割管理機能を具備している。【００９０】
本実施の形態に係るコンテンツ配信方法は、例えば、タグ情報の書き換えなどを契機に、書き換えられたタグ情報を有するノードが、公開するコンテンツ（当該タグ情報に記されたコンテンツ）の管理情報を隣接する下流ノードの状況に応じて分割し、分割したコンテンツの管理情報を隣接する下流ノードに保持させることにより、その上流ノードだけでなく、その下流ノードに対してもコンテンツ流通の一端を担わせ、下流ノードを有効活用するコンテンツ配信方法である。ここで、下流ノードの状況とは、例えば、下流ノードが接続している回線速度を意味し、下流ノードは、その回線速度に応じた容量の分割コンテンツの管理情報を自ら保持するようになっている。そして、コンテンツ検索ノードから、分割コンテンツの管理情報を保持するノードにダウンロード要求がきたときには、分割コンテンツの管理情報を保持するノードは、実際にコンテンツを保持するノードから自ノードにダウンロードするとともに、コンテンツ検索ノードにアップロードするようになっている。すなわち、コンテンツ検索ノードが、コンテンツをダウンロードするときには、分割コンテンツを管理する複数の下流ノードから同時に並行してダウンロードするので、ダウンロード処理の高速化を図ることができるものである。このように、本実施の形態に係るコンテンツ配信方法は、下流ノードが接続する通信ネットワークの帯域が小さくても、帯域に応じた容量の分割コンテンツをコンテンツ検索ノードに転送するので、小さなネットワーク帯域を有効に使用することができ、下流ノードを有効活用できるコンテンツ配信方法となっている。【００９１】
また、本実施の形態においては、コンテンツ検索ノードから分割コンテンツの管理情報を保持するノード（以下、分割コンテンツ管理ノード）にダウンロード要求が発生して、初めて分割コンテンツが分割コンテンツ管理ノード上に配置されるので、人気のあるコンテンツ（ダウンロード要求が発生するコンテンツ）だけがＰ２Ｐネットワーク２０上に広く配置されるという効果もある。【００９２】
以下、図２０〜図２２を用いて、具体的に説明する。【００９３】
図２０は、例えば、ノードＳがコンテンツα０を公開しており、ノードＳがコンテンツα０を保持していることを示すコンテンツα０のタグ情報β０がＰ２Ｐネットワーク２０の上流ノードに流通しているとともに、タグ情報β０がノードＡにおいて、ノードＡがコンテンツα０を保持していることを示すタグ情報β０ａに書き換えられたときのコンテンツ分割管理処理を示している。このとき、ノードＡは、コンテンツα０の実体を保持していないが、タグ情報β０ａとともに、コンテンツα０を実際に保持するノードＳに関する情報（位置情報）を備えている。本実施の形態では、この位置情報は、ノードＳがコンテンツα０を保持していることを示すタグ情報β０ｂ（タグ情報流通処理で流通しないタグ情報である）として内部的に管理されている。勿論、タグ情報以外のデータ形式で位置情報を保持するようにしてもよい。【００９４】
このような状態において、ノードＡは、まず、ノードＡに隣接する下流ノードのノードＣとノードＤに対して、コンテンツ管理依頼を出す。このコンテンツ管理依頼は、ノードＣ及びノードＤの状況に見合った容量のコンテンツの管理を依頼するもので、例えば、図２０においては、ノードＣにコンテンツα０の３／８、ノードＤにコンテンツα０の５／８の容量の管理を依頼している。本具体例では、ノードＣ及びノードＤの回線速度に応じてコンテンツαの容量を按分して、分割している。ノードＡは、ノードＣ及びノードＤからコンテンツ管理依頼が可能である旨の返答を受け取ると、依頼分の容量の分割コンテンツα１の管理情報（詳しくは、コンテンツα０の３／８を保持することを示す部分情報、コンテンツα０の実体を保持するノードに関する位置情報）をノードＣ、分割コンテンツα２の管理情報（詳しくは、コンテンツα０の５／８を保持することを示す部分情報、コンテンツα０の実体を保持するノードに関する位置情報）をノードＤに送信する。この結果、ノードＣは分割コンテンツα１の管理情報を保持するとともに、ノードＣが分割コンテンツα１を保持していることを示すコンテンツα１のタグ情報β１を作成して（実際にはコンテンツα１を保持していないが）、隣接する上流ノードに配布する。また、ノードＤは分割コンテンツα２の管理情報を保持するとともに、ノードＤが分割コンテンツα２を保持していることを示すコンテンツα２のタグ情報β２を作成して（実際にはコンテンツα２を保持していないが）、隣接する上流ノードに配布する。【００９５】
なお、分割コンテンツの管理情報を受け取って、保持するノードは、さらに隣接する下流のノードに対して、コンテンツ管理依頼を出すことができる。例えば、図２０に示すノードＤは、ノードＤに隣接する下流ノードのノードＷ、Ｘ、Ｙ、及びＺに対して、コンテンツ管理依頼を出している。このコンテンツ管理依頼は、ノードＷにコンテンツα０の１／８、ノードＸにコンテンツα０の１／８、ノードＹにコンテンツα０の２／８、ノードＺにコンテンツα０の１／８の容量の管理を依頼するものである。勿論、分割コンテンツの容量は、それぞれのノードの状況（回線速度）に応じて決定されている。ノードＤは、ノードＷ、Ｘ、Ｙ、及びＺからコンテンツ管理依頼が可能である旨の返答を受け取ると、依頼分の容量の分割コンテンツの管理情報をノードＷ、Ｘ、Ｙ、及びＺに送信する。この結果、ノードＷは分割コンテンツα３の管理情報を保持するとともに、ノードＷが分割コンテンツα３を保持していることを示すコンテンツα３のタグ情報β３を作成して（実際にはコンテンツα３を保持していないが）、隣接する上流ノードに配布する。同様にして、ノードＸは分割コンテンツα４の管理情報を保持するとともに、ノードＸが分割コンテンツα４を保持していることを示すコンテンツα４のタグ情報β４を作成して（実際にはコンテンツα４を保持していないが）、隣接する上流ノードに配布し、また、ノードＹは分割コンテンツα５の管理情報を保持するとともに、ノードＹが分割コンテンツα５を保持していることを示すコンテンツα５のタグ情報β５を作成して（実際にはコンテンツα５を保持していないが）、隣接する上流ノードに配布し、また、ノードＺは分割コンテンツα６の管理情報を保持するとともに、ノードＺが分割コンテンツα６を保持していることを示すコンテンツα６のタグ情報β６を作成して（実際にはコンテンツα５を保持していないが）、隣接する上流ノードに配布する。【００９６】
このように、本実施の形態に係るコンテンツ配信方法においては、複数の階層のノードに渡ってコンテンツ分割管理処理を実行することができるので、元のコンテンツの管理情報は細分化されて、より下流のノードに分散配置されることとなり、タグ情報βも、上流だけでなく、下流のノードにも分散配置される。【００９７】
図２１及び図２２は、ノードＥがコンテンツα０のダウンロードを行う場合のコンテンツ検索転送処理を示しており、図２１は、ノードＥがノードＣ、Ｗ、Ｘ、Ｙ、及びＺにダウンロード要求（コンテンツ転送要求）をしている状況、図２２は、ノードＥがノードＣ、Ｗ、Ｘ、Ｙ、及びＺから分割コンテンツをダウンロードしている状況を示している。なお、図２１及び図２２においては、ノード内で内部的に管理しているタグ情報β０ｂの記載は省略している。【００９８】
図２１に示すように、ノードＥが、コンテンツα０に対する検索問い合わせを隣接する上流のノードに送信すると、上流のノードからコンテンツα０の分割コンテンツの存在位置を示すタグ情報β１、β３、β４、β５、及びβ６を受信するので、このタグ情報β１、β３、β４、β５、β６に従って、ノードＣ、Ｗ、Ｘ、Ｙ、及びＺにコンテンツダウンロード要求を行う。【００９９】
図２２に示すように、ダウンロード要求を受けたノードＣ、Ｗ、Ｘ、Ｙ、及びＺは、それぞれ、ダウンロード要求された分割コンテンツαＮを自ノード内に保持していないので、自ノード内で管理しているタグ情報β０ｂに従って、実際にコンテンツα０を保持しているノードＳにアクセスし、ノードＳから、自ノードで管理している部分情報に相当する容量の分割コンテンツαＮを自ノードにダウンロードするとともに、ダウンロードした分割コンテンツαＮをノードＥにアップロードする。図２２に示す例では、ノードＥは、ノードＣ、Ｗ、Ｘ、Ｙ、及びＺからコンテンツα０の分割コンテンツαＮを並行して同時にダウンロードし、ダウンロードした後、分割コンテンツαＮを合わせて１つのコンテンツα０を復元している。【０１００】
このように、本実施の形態に係るコンテンツ配信方法においては、複数の下流ノードから、複数の分割されたコンテンツを同時に並行してダウンロードするので、下流ノードを有効活用しつつ、ダウンロードの高速化を図ることができるようになっている。また、下流ノードのアップロード処理に対する負荷分散を図ることができる。【０１０１】
また、ダウンロード要求のないコンテンツに関しては、コンテンツの実体が必要以上にＰ２Ｐネットワーク２０内に配置されないので、各ノードの負荷を軽減することができる。【０１０２】
＜データ構成＞
Ｐ２Ｐネットワーク２０において流通されるコンテンツα、及びタグ情報βのデータフォーマット、並びにＰ２Ｐネットワーク２０において用いられるノード情報γのデータフォーマットは、第１の実施の形態と同じであるため、説明は省略する。【０１０３】
＜コンテンツ配信装置の構成＞
図２３は、Ｐ２Ｐネットワーク２０のノード（コンテンツ配信装置）２の概略構成図である。ここで、コンテンツ配信装置２は、コンテンツ配信装置１と同様に、インターネット網などの通信ネットワークを介して、データの送受信が可能な端末装置であり、例えば、パーソナルコンピュータ（以下、ＰＣ）などのコンピュータの他、ＤＶＤレコーダ、ＤＶＤプレーヤ、テレビ、携帯電話、ＰＤＡなどの情報家電が想定される。【０１０４】
コンテンツ配信装置２は、データ送受信部１０１、ノード情報管理部１０２、ノード情報用ストレージ１０３、タグ情報管理部２０１、タグ情報用ストレージ２０２、コンテンツ管理部１０６、ノード分析部１０７、管理情報作成部２０３、コンテンツ用ストレージ１０９、コンテンツ再生部１１０、及び全体制御部１１１を具備する構成である。【０１０５】
タグ情報管理部２０１は、ノード１が保持している（実際には保持していない場合もある）コンテンツαに対応したタグ情報βと下流ノードから受信したタグ情報βとを統合整理して、上流ノードへ定期的に流通させるタグ情報リストＬ２を作成する。また、他ノードからのコンテンツ検索依頼に応じて、タグ情報リストＬ２の検索を行い、検索結果を作成する。また、内部的に管理するタグ情報リストＬ３を作成する。タグ情報リストＬ３はＰ２Ｐネットワーク２０上に流通しない。具体的には、分割コンテンツに関する管理情報のうち、分割コンテンツの部分情報はタグ情報リストＬ２として管理され、コンテンツの実体が存在する位置を示す位置情報は、タグ情報リストＬ３として管理される。【０１０６】
タグ情報用ストレージ２０２は、タグ情報管理部２０１で管理されるタグ情報β（タグ情報リストＬ２、内部管理タグ情報リストＬ３）を記憶する。【０１０７】
管理情報作成部２０３は、ノード分析部１０７により決定された分割量に基づいて、管理情報（分割コンテンツの部分情報、コンテンツの実体が存在する位置を示す位置情報）を作成する。【０１０８】
なお、コンテンツ配信装置２は、少なくとも、演算機能及び制御機能を備えた中央演算処理装置（ＣＰＵ）、プログラムやデータを格納する機能を有するＲＯＭ、ＲＡＭ等からなる主記憶装置及びハードディスクなどの補助記憶装置を備えた電子的な装置から構成されている。すなわち、データ送受信部１０１、ノード情報管理部１０２、タグ情報管理部２０１、コンテンツ管理部１０６、ノード分析部１０７、管理情報作成部２０３、コンテンツ再生部１１０、及び全体制御部１１１は、上記ＣＰＵによる演算制御機能、ノード情報用ストレージ１０３、タグ情報用ストレージ２０２、コンテンツ用ストレージ１０９は、上記主記憶装置及び補助記憶装置の機能を具体的に示したものに他ならない。【０１０９】
また、コンテンツ配信装置２における後述する各種処理を実行するプログラムは、上述した主記憶装置に格納されているものである。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体に記録することも、通信ネットワークを介して配信されることも可能である。【０１１０】
＜コンテンツ配信装置の動作＞
次に、図２４〜図２７を用いて、ノード（コンテンツ配信装置）２の動作について説明する。図２４及び図２５は、コンテンツを分割して管理するときのコンテンツ分割管理処理を示すフローチャートであり、図２６及び図２７は、コンテンツを検索し、転送するときのコンテンツ検索転送処理を示すフローチャートである。なお、Ｐ２Ｐネットワーク接続処理及びタグ情報流通処理は、第１の実施の形態と同一であるため、説明を省略する。【０１１１】
（コンテンツ分割管理処理）
図２４及び図２５を参照して、コンテンツ分割管理処理について説明する。ここで、図２４は、分割コンテンツの管理依頼をする上流側のノード、すなわち、管理情報送信側のノード（以下、説明の便宜上、コンテンツ配信装置２ａと称する）における処理を示すフローチャート、図２５は、分割コンテンツの管理依頼を受け取る下流側のノード、すなわち、管理情報受信側のノード（以下、説明の便宜上、コンテンツ配信装置２ｂと称する）における処理を示すフローチャートである。【０１１２】
コンテンツ配信装置２ａは、接続している下流ノードから最新のノード情報γを入手し、接続先ノードのノード情報γを更新する（ステップＳ２０２）。次いで、コンテンツ配信装置２ａは、更新されたノード情報リストＬ１に基づいて、下流ノードは存在するか否かを判断する（ステップＳ２０４）。これは、ノード情報γの回線速度（アップロード速度）に基づいて、自ノードと他ノードの回線速度を比較し、下流ノードは存在するか否かを判断するものである（自ノードよりも回線速度が遅いノードを下流とする）。【０１１３】
下流ノードが存在するときは（ステップＳ２０４：ＹＥＳ）、コンテンツ配信装置２ａは、各下流ノードの回線速度に応じて分割コンテンツαＮの容量を決定し（ステップＳ２０６）、未だ管理依頼していない下流ノードの１つを選択し、選択した下流ノードに対して、分割コンテンツαＮの管理依頼を行い（ステップＳ２０８）、下流ノードの分割コンテンツ管理依頼に対する返答から、分割コンテンツαＮの管理が可能であるか否かを判断する（ステップＳ２１０）。分割コンテンツαＮの管理が可能であるときは（ステップＳ２１０：ＹＥＳ）、コンテンツ配信装置２ａは、分割コンテンツαＮの管理依頼をした下流ノードに、決定された容量の分割コンテンツαＮに基づいた管理情報、すなわち、コンテンツ保持ノードのアドレス及び分割コンテンツαＮの部分情報を送信する（ステップＳ２１２）。【０１１４】
次いで、コンテンツ配信装置２ａは、すべての下流ノードに分割コンテンツαＮの管理依頼を行ったか否かを判断し（ステップＳ２１４）、コンテンツαＮの管理依頼を行っていない下流ノードが存在するときには、ステップＳ２０８に戻って、分割コンテンツαＮの管理依頼を行う。【０１１５】
一方、コンテンツ配信装置２ｂは、接続している上流ノードへ最新の自ノードのノード情報γを送信する（ステップＳ２２２；図２４のステップＳ２０２に対応）。【０１１６】
次いで、コンテンツ配信装置２ｂは、接続している上流ノードから分割コンテンツ管理依頼を受信し（ステップＳ２２４；図２４のステップＳ２０８に対応）、自らが分割コンテンツαＮを管理することができるか否かを判断する（ステップＳ２２６）。ここで、分割コンテンツαＮを管理することができるか否かの判断は、自ノードの空き容量や自ノードのビジー状況などから判断する。なお、分割コンテンツ管理依頼には、分割コンテンツαＮの容量も含まれている。【０１１７】
コンテンツ配信装置２ｂが、自ノードで分割コンテンツαＮを管理できると判断したときは（ステップＳ２２６：ＹＥＳ）、管理可能メッセージを作成して、コンテンツ配信装置２ａに返答し（ステップＳ２２８；図２４のステップＳ２１０に対応）、コンテンツ配信装置２ａから分割コンテンツαＮに関する管理情報、すなわち、コンテンツ保持ノードのアドレス及び分割コンテンツαＮの部分情報を受信する（ステップＳ２３２；図２４のステップＳ２１２に対応）。【０１１８】
次いで、コンテンツ配信装置２ｂは受信した分割コンテンツαＮの管理情報に対応したタグ情報βＮを作成し、自らのタグ情報リストＬ２に追記する（ステップＳ２３４）。なお、新たなタグ情報βＮが追記されたタグ情報リストＬ２は、定期的に上流ノードに送信される。【０１１９】
これに対して、コンテンツ配信装置２ｂが、自ノードで分割コンテンツαＮを管理できないと判断したときは（ステップＳ２２６：ＮＯ）、管理拒否メッセージを作成して、コンテンツ配信装置２ａに返答する（ステップＳ２３０；図２４のステップＳ２１０に対応）。【０１２０】
なお、図２４及び図２５に示すコンテンツ分割管理処理のフローにおいては、上流ノードは、受信した下流ノードのノード情報γに基づいて、下流ノードの回線速度を把握したが、これとは別な方法により、下流ノードの回線速度を把握するようにしてもよい。例えば、下流ノードからノード情報γを受信したときに（図２４のステップＳ２０２において）、下流ノードの回線速度を実測して把握するようにしてもよい。【０１２１】
（コンテンツ検索転送処理）
図２６及び図２７を参照して、コンテンツ検索転送処理について説明する。ここで、図２６は、検索依頼のあったコンテンツをアップロードするノード（以下、説明の便宜上、コンテンツ配信装置２ｃと称する）における処理のフローチャートであり、図２７は、図２６のステップＳ２４８のコンテンツアップロード処理を詳しく示すフローチャートである。なお、コンテンツの検索依頼をし、所望のコンテンツをダウンロードする側のノード（以下、説明の便宜上、コンテンツ配信装置２ａと称する）における処理、及びコンテンツの検索を行うコンテンツ検索側のノード（以下、説明の便宜上、コンテンツ配信装置２ｂと称する）における処理は、第１の実施の形態と同一であるため、説明を省略する。【０１２２】
コンテンツ配信装置２ｃは、コンテンツ配信装置２ａからコンテンツダウンロード依頼を受信すると（ステップＳ２４２）、依頼のあったコンテンツαを自ノードがアップロードすることができる状態であるか否かを判断する（ステップＳ２４４）。ここで、コンテンツαをアップロードすることができる状態か否かの判断は、自ノードのビジー状況や依頼のあったコンテンツの有無などから判断する。【０１２３】
依頼のあったコンテンツαをアップロードすることができる状態であるときは、コンテンツαのアップロード処理し（ステップＳ２４６）、依頼のあったコンテンツαをアップロードすることができない状態であるときは、転送拒否メッセージを作成して、転送拒否メッセージをコンテンツ配信装置２ａに返答する（ステップＳ２４８）。ここで、図２７を参照して、ステップＳ２４６のコンテンツアップロード処理を説明する。【０１２４】
コンテンツ配信装置２ｃは、まず、自ノードが依頼のあったコンテンツαの実体を保持しているか否かを判定し（ステップＳ２５２）、コンテンツαの実体を保持しているときは（ステップＳ２５２：ＹＥＳ）、転送可能メッセージを作成し、転送可能メッセージをコンテンツ配信装置２ａに返答し（ステップＳ２５４）、コンテンツαのアップロード処理をする（ステップＳ２６２）。【０１２５】
一方、コンテンツαの実体を保持していないときは（ステップＳ２５２：ＮＯ）、コンテンツαを保持しているノードのアドレスを知っているか否か判断し（ステップＳ２５６）、コンテンツαを保持しているノードのアドレスを知っているときは（ステップＳ２５６：ＹＥＳ）、転送可能メッセージを作成し、転送可能メッセージをコンテンツ配信装置２ａに返答し（ステップＳ２５８）、コンテンツ保持ノードから自ノードに対して、依頼されたコンテンツαのダウンロードを行い（ステップＳ２６０）、次いで、当該コンテンツαのアップロード処理をコンテンツ配信装置２ａに対して行う（ステップＳ２６２）。これにより、コンテンツ配信装置２ｃからコンテンツ配信装置２ａに、所望のコンテンツαが転送される。なお、コンテンツαを保持しているノードのアドレスを知らないときは（ステップＳ２５６：ＮＯ）、転送拒否メッセージを作成して、転送拒否メッセージをコンテンツ配信装置２ａに返答する（ステップＳ２６４）。【０１２６】
以上、本実施の形態によれば、分割コンテンツの実体を下流ノードに配布・保持させなくても、第１の実施の形態と同一の効果を得ることができる。すなわち、接続している回線の速度によって、上流及び下流のノードを定義づけ、コンテンツのファイル内容や存在場所を示すタグ情報を用いて、ノード間のコンテンツ配信を行うＰ２Ｐネットワークにおいて、上流ノードだけでなく、下流ノードも自ノードの状況に応じた分割コンテンツを管理できるので、コンテンツをダウンロードする際に下流ノードのネットワーク帯域を有効利用でき、これにより上流ノードの負担を軽減させて、よりＰ２Ｐネットワーク全体の効率化を図ることができる。また、複数のノードから並行して分割コンテンツをダウンロードできるので、ダウンロードの高速化を図ることができる。【０１２７】
また、本実施の形態によれば、分割コンテンツの管理情報をＰ２Ｐネットワーク内に流通させ、分割コンテンツの実体はダウンロード要求があって初めてＰ２Ｐネットワーク内に流通するので、必要なコンテンツだけがＰ２Ｐネットワーク内に普及するという効果がある。【０１２８】
なお、本実施の形態に係るコンテンツ配信方法においては、分割コンテンツの重複がないように、分割コンテンツに関する管理情報を作成したが、分割コンテンツの一部に重複があるように分割コンテンツに関する管理情報を作成してもよい。また、下流ノードの状況（例えば、大容量のストレージを備え、接続する回線速度も速いなど）に応じては、分割せずに上流ノードが保持するコンテンツの管理情報そのものを送信するようにしてもよい。【０１２９】
また、本実施の形態では、下流ノードが管理するコンテンツの容量を上流ノードが決定したが、下流ノードが決定し、この決定を受けて、上流ノードが分割コンテンツの管理情報を送信するようにしてもよい。【０１３０】
また、上記実施の形態及び上記変形例では、下流ノードの状況として、下流ノードが接続する回線速度（ネットワーク帯域）を考慮したが、コンテンツ分割管理処理における下流ノードの状況はこれに限定されず、例えば、ストレージの空き容量やノードの処理能力、ノードのビジー状況を加味してもよい。【０１３１】
さらには、純粋型Ｐ２Ｐネットワークではないが、各ノードとは別に、公開コンテンツを備えるバックアップ機能のサーバを用意し、何らかのアクシデントでノード間同士のコンテンツ配信が機能しない場合には、このサーバからコンテンツをダウンロードできるようにしてもよい。この場合には、上記実施の形態に係るコンテンツ配信方法の安定性をより高めることができる。【０１３２】
以上、本発明の実施の形態について説明してきたが、本発明は、上述した実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲において、本発明の実施の形態に対して種々の変形や変更を施すことができ、そのような変形や変更を伴うものもまた、本発明の技術的範囲に含まれるものである。
【図１】
2009001416.tif 000003
【図２】
2009001416.tif 000004
【図３】
2009001416.tif 000005
【図４】
2009001416.tif 000006
【図５】
2009001416.tif 000007
【図６】
2009001416.tif 000008
【図７】
2009001416.tif 000009
【図８】
2009001416.tif 000010
【図９】
2009001416.tif 000011
【図１０】
2009001416.tif 000012
【図１１】
2009001416.tif 000013
【図１２】
2009001416.tif 000014
【図１３】
2009001416.tif 000015
【図１４】
2009001416.tif 000016
【図１５】
2009001416.tif 000017
【図１６】
2009001416.tif 000018
【図１７】
2009001416.tif 000019
【図１８】
2009001416.tif 000020
【図１９】
2009001416.tif 000021
【図２０】
2009001416.tif 000022
【図２１】
2009001416.tif 000023
【図２２】
2009001416.tif 000024
【図２３】
2009001416.tif 000025
【図２４】
2009001416.tif 000026
【図２５】
2009001416.tif 000027
【図２６】
2009001416.tif 000028
【図２７】
2009001416.tif 000029
【手続補正書】
【提出日】平成19年12月12日(2007.12.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンテンツの内容、前記コンテンツを保持する保持ノードの位置、及び前記コンテンツのいずれの部分を保持しているか示す部分情報を含むタグ情報を流通させ、前記タグ情報を検索することにより、所望のコンテンツを見つけて、ノード間のコンテンツ配信を行うＰ２Ｐネットワークの各ノードを構成するコンテンツ配信装置であって、
ノードにおけるコンテンツの管理とは、少なくとも、配信対象コンテンツの実体の存在位置を示す位置情報と、前記配信対象コンテンツの前記部分情報と、を備えた管理情報を保持することであり、
自ノードと隣接するノードの状況に関する情報を取得する隣接ノード状況取得手段と、
前記隣接ノード状況取得手段により取得した隣接ノードの状況に応じて、自ノードが管理する配信対象コンテンツから、前記隣接ノードに管理依頼するコンテンツの部分の容量を決定するコンテンツ容量決定手段と、
前記コンテンツ容量決定手段により決定したコンテンツの部分を前記隣接ノードに管理依頼するコンテンツ管理依頼手段と、
前記隣接ノードから、コンテンツ管理可能な返答を受信したときは、前記隣接ノードに対して、前記コンテンツ容量決定手段により決定した容量に基づいた前記部分情報を備えた前記管理情報を送信する管理情報送信手段と、
自ノードが管理する配信対象コンテンツの部分に基づいて、前記タグ情報を作成し、作成したタグ情報を他ノードに送信するタグ情報流通手段と、
前記配信対象コンテンツのダウンロード要求を受信するコンテンツ転送要求受信手段と、
前記コンテンツ転送要求受信手段で受信したダウンロード要求が、自ノードで管理する配信対象コンテンツに対するダウンロード要求であって、自ノードに前記配信対象コンテンツの実体を保持していないときは、前記管理情報の前記位置情報に従って、前記配信対象コンテンツを保持するノードにアクセスし、前記管理情報の前記部分情報に従って、前記配信対象コンテンツの該当部分を自ノードにダウンロードするとともに、前記ダウンロード要求したノードに対してアップロードするコンテンツ転送手段と、
を有することを特徴とするコンテンツ配信装置。
【請求項２】
隣接ノードから前記管理情報を受信する管理情報受信手段を備え、
前記タグ情報流通手段は、
受信した管理情報の部分情報に基づいて、前記タグ情報を作成し、作成したタグ情報を他ノードに送信することを特徴とする請求項１記載のコンテンツ配信装置。
【請求項３】
（削除）
【請求項４】
複数のノードから並行して前記配信対象コンテンツをダウンロードするコンテンツ受信手段と、
ダウンロードした複数の前記配信対象コンテンツを統合して元の前記配信対象コンテンツを復元するコンテンツ統合手段と、
を有することを特徴とする請求項１又は２記載のコンテンツ配信装置。
【請求項５】
前記自ノードと隣接するノードの状況に関する情報は、
前記自ノードと隣接するノードが接続する通信ネットワークの回線速度に関する情報を含み、
前記コンテンツ容量決定手段は、
前記回線速度に関する情報に基づいて、管理依頼するコンテンツの容量を決定することを特徴とする請求項１、２又は４のいずれか１項に記載のコンテンツ配信装置。
【請求項６】
コンテンツの内容、前記コンテンツを保持する保持ノードの位置、及び前記コンテンツのいずれの部分を保持しているか示す部分情報を含むタグ情報を流通させ、前記タグ情報を検索することにより、所望のコンテンツを見つけて、ノード間のコンテンツ配信を行うＰ２Ｐネットワークのコンテンツ配信方法であって、
ノードにおけるコンテンツの管理とは、少なくとも、配信対象コンテンツの実体の存在位置を示す位置情報と、前記配信対象コンテンツの前記部分情報と、を備えた管理情報を保持することであり、
前記Ｐ２Ｐネットワークのノードは、
自ノードと隣接するノードの状況に関する情報を取得する隣接ノード状況取得ステップと、
前記隣接ノード状況取得ステップにより取得した隣接ノードの状況に応じて、自ノードが管理する配信対象コンテンツから、前記隣接ノードに管理依頼するコンテンツの部分の容量を決定するコンテンツ容量決定ステップと、
前記コンテンツ容量決定ステップにより決定したコンテンツの部分を前記隣接ノードに管理依頼するコンテンツ管理依頼ステップと、
前記隣接ノードから、コンテンツ管理可能な回答を受信したときは、前記隣接ノードに対して、前記コンテンツ容量決定ステップにより決定した容量に基づいた前記部分情報を備えた前記管理情報を送信する管理情報送信ステップと、
自ノードが管理する配信対象コンテンツの部分に基づいて、前記タグ情報を作成し、作成したタグ情報を他ノードに送信するタグ情報流通ステップと、
前記配信対象コンテンツのダウンロード要求を受信するコンテンツ転送要求受信ステップと、
前記コンテンツ転送要求受信ステップで受信したダウンロード要求が、自ノードで管理する配信対象コンテンツに対するダウンロード要求であって、自ノードに前記配信対象コンテンツの実体を保持していないときは、前記管理情報の前記位置情報に従って、前記配信対象コンテンツを保持するノードにアクセスし、前記管理情報の前記部分情報に従って、前記配信対象コンテンツの該当部分を自ノードにダウンロードするとともに、前記ダウンロード要求したノードに対してアップロードするコンテンツ転送ステップと、
を有することを特徴とするコンテンツ配信方法。
【請求項７】
コンピュータを、請求項１、２、４又は５のいずれか１項に記載のコンテンツ配信装置として機能させることを特徴とするコンテンツ配信プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
テンツ配送の効率を高めているＰ２Ｐネットワークであるが、下流ノードも対しても、それ相応の負担を負わせることができれば、よりＰ２Ｐネットワーク全体の効率化を図ることができる。
［００１２］
本発明は、上記の問題を解決するためになされたものであり、その課題の一例としては、接続している回線の速度によって、上流及び下流のノードを定義づけ、コンテンツのファイル内容や存在場所を示すタグ情報を用いて、ノード間のコンテンツ配信を行うＰ２Ｐネットワークにおいて、上流ノードの負担を軽減させて、よりＰ２Ｐネットワーク全体の効率化を図ることができるコンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラムを提供することにある。
課題を解決するための手段
［００１３］
上記の課題を達成するため、請求項１記載のコンテンツ配信装置は、コンテンツの内容、前記コンテンツを保持する保持ノードの位置、及び前記コンテンツのいずれの部分を保持しているか示す部分情報を含むタグ情報を流通させ、前記タグ情報を検索することにより、所望のコンテンツを見つけて、ノード間のコンテンツ配信を行うＰ２Ｐネットワークの各ノードを構成するコンテンツ配信装置であって、ノードにおけるコンテンツの管理とは、少なくとも、配信対象コンテンツの実体の存在位置を示す位置情報と、前記配信対象コンテンツの前記部分情報と、を備えた管理情報を保持することであり、自ノードと隣接するノードの状況に関する情報を取得する隣接ノード状況取得手段と、前記隣接ノード状況取得手段により取得した隣接ノードの状況に応じて、自ノードが管理する配信対象コンテンツから、前記隣接ノードに管理依頼するコンテンツの部分の容量を決定するコンテンツ容量決定手段と、前記コンテンツ容量決定手段により決定したコンテンツの部分を前記隣接ノードに管理依頼するコンテンツ管理依頼手段と、前記隣接ノードから、コンテンツ管理可能な返答を受信したときは、前記隣接ノードに対して、前記コンテンツ容量決定手段により決定した容量に基づいた前記部分情報を備えた前記管理情報を送信する管理情報送信手段と、自ノードが管理する配信対象コンテンツの部分に基づいて、前記タグ情報を作成し、作成したタグ情報を他ノードに送信するタグ情報流通手段と、前記配信対象コンテンツのダウンロード要求を受信するコンテンツ転送要求受信手段と、前記コンテンツ転送要求受信手段で受信したダウンロード要求が、自ノードで管理する配信対象コンテンツに対するダウンロード要求であって、自ノードに前記配信対象コンテンツの実体を保持していないときは、前記管理情報の前記位置情報に従って、前記配信対象コンテンツを保持するノードにアクセスし、前記管理情報の前記部分情報に従って、前記配信対象コンテンツの該当部分を自ノードにダウンロードするとともに、前記ダウンロード要求したノードに対してアップロードするコンテンツ転送手段と、を有することを特徴とする。
［００１４］
また、請求項６記載のコンテンツ配信方法は、コンテンツの内容、前記コンテンツを
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
保持する保持ノードの位置、及び前記コンテンツのいずれの部分を保持しているか示す部分情報を含むタグ情報を流通させ、前記タグ情報を検索することにより、所望のコンテンツを見つけて、ノード間のコンテンツ配信を行うＰ２Ｐネットワークのコンテンツ配信方法であって、ノードにおけるコンテンツの管理とは、少なくとも、配信対象コンテンツの実体の存在位置を示す位置情報と、前記配信対象コンテンツの前記部分情報と、を備えた管理情報を保持することであり、前記Ｐ２Ｐネットワークのノードは、自ノードと隣接するノードの状況に関する情報を取得する隣接ノード状況取得ステップと、前記隣接ノード状況取得ステップにより取得した隣接ノードの状況に応じて、自ノードが管理する配信対象コンテンツから、前記隣接ノードに管理依頼するコンテンツの部分の容量を決定するコンテンツ容量決定ステップと、前記コンテンツ容量決定ステップにより決定したコンテンツの部分を前記隣接ノードに管理依頼するコンテンツ管理依頼ステップと、前記隣接ノードから、コンテンツ管理可能な回答を受信したときは、前記隣接ノードに対して、前記コンテンツ容量決定ステップにより決定した容量に基づいた前記部分情報を備えた前記管理情報を送信する管理情報送信ステップと、自ノードが管理する配信対象コンテンツの部分に基づいて、前記タグ情報を作成し、作成したタグ情報を他ノードに送信するタグ情報流通ステップと、前記配信対象コンテンツのダウンロード要求を受信するコンテンツ転送要求受信ステップと、前記コンテンツ転送要求受信ステップで受信したダウンロード要求が、自ノードで管理する配信対象コンテンツに対するダウンロード要求であって、自ノードに前記配信対象コンテンツの実体を保持していないときは、前記管理情報の前記位置情報に従って、前記配信対象コンテンツを保持するノードにアクセスし、前記管理情報の前記部分情報に従って、前記配信対象コンテンツの該当部分を自ノードにダウンロードするとともに、前記ダウンロード要求したノードに対してアップロードするコンテンツ転送ステップと、を有することを特徴とする。
図面の簡単な説明
［００１５］
［図１］従来のコンテンツ配信方法の概要を示すＰ２Ｐネットワークの図である。
［図２］従来のコンテンツ配信方法の概要を示すＰ２Ｐネットワークの図である。
［図３］本発明の第１の実施の形態に係るコンテンツ配信方法の概要を示すＰ２Ｐネットワークの図である。
［図４］本発明の第１の実施の形態に係るコンテンツ配信方法の概要を示すＰ２Ｐネットワークの図である。
［図５］本発明の第１の実施の形態に係るＰ２Ｐネットワークにおいて流通されるタグ情報及びコンテンツのフォーマットを示す図である。
［図６］本発明の第１の実施の形態に係るＰ２Ｐネットワークにおいて使用されるノード情報のフォーマットを示す図である。
【国際調査報告】
2009001416.tif 000030
2009001416.tif 000031