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