JPWO2009001416A1 - コンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラム - Google Patents

コンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラム Download PDF

Info

Publication number
JPWO2009001416A1
JPWO2009001416A1 JP2009520218A JP2009520218A JPWO2009001416A1 JP WO2009001416 A1 JPWO2009001416 A1 JP WO2009001416A1 JP 2009520218 A JP2009520218 A JP 2009520218A JP 2009520218 A JP2009520218 A JP 2009520218A JP WO2009001416 A1 JPWO2009001416 A1 JP WO2009001416A1
Authority
JP
Japan
Prior art keywords
content
node
information
tag information
management
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009520218A
Other languages
English (en)
Other versions
JP4473942B2 (ja
Inventor
恭一 寺尾
恭一 寺尾
竹村 到
到 竹村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Pioneer Corp
Original Assignee
Pioneer Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Pioneer Corp filed Critical Pioneer Corp
Application granted granted Critical
Publication of JP4473942B2 publication Critical patent/JP4473942B2/ja
Publication of JPWO2009001416A1 publication Critical patent/JPWO2009001416A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Operations Research (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

P2Pネットワーク20におけるコンテンツ配信方法は、まず、コンテンツを管理するノードが、隣接する下流ノードに対して、下流ノードの状況(例えば、ノードが接続する回線速度など)に応じた容量の分割コンテンツの管理をさせる。コンテンツを管理するノードは、自ノードで管理する分割コンテンツの部分情報及びコンテンツの実体が存在する位置を示す位置情報を管理情報として保持する。次いで、コンテンツを管理するノードにコンテンツ転送要求がきたときは、保持する位置情報に従ってコンテンツ保持ノードにアクセスし、部分情報に示す容量の分割コンテンツを自ノードにダウンロードするとともに、コンテンツ転送要求したノードにアップロードする。

Description

本発明は、P2P(Peer to Peer)ネットワークにおいて、コンテンツを配信する技術に関し、詳しくは、P2P(Peer to Peer)ネットワークにおけるコンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラムに関する。
現在、通信ネットワークを介したデータの配布形態として、P2P(ピア・ツー・ピア;Peer to Peer)と呼ばれる形態が広まってきている。従来型のコンテンツ配信では、事業者等が管理するサーバからそれぞれの利用者がファイルをダウンロードするのに対し、P2Pによるコンテンツ流通では、デジタルコンテンツを一元的に蓄積するサーバは設けられず、その代わりに利用者同士が自分のパソコン上に保管されたデジタルコンテンツを直接交換しあうことができる。
図1は、高速な通信ネットワークに接続しているノード(コンピュータ)を上流ノード、低速な通信ネットワークに接続しているノード(コンピュータ)を下流ノードと位置づけ、上流ノードほど、コンテンツやコンテンツのインデックス情報が集まるようして、コンテンツ検索やコンテンツ配送の効率を高めているP2Pネットワーク90を示している(図1は簡略化した図であり、実際には、下流ノードのさらに下、または上流ノードのさらに上に何階層ものネットワークが構成されている場合もあるし、上流・下流の2階層のネットワークが構成されている場合もある)。
図1に示すP2Pネットワーク90においては、コンテンツを検索するノードは、隣接する上流ノードに検索依頼を出すと、その上流ノードは自身の管理するコンテンツリスト(コンテンツのインデックス情報を集めたリスト)から依頼されたコンテンツを検索し、下流ノードに対してコンテンツを公開しているノードの場所を返答するようになっている。なお、自身の管理するコンテンツリストにない場合は、さらに上流のノードもしくは対等のノードに対して検索依頼をする。
下流ノードは、このようにして上流ノードから検索結果を受け取ると、その返答に記載されているノードに接続し、コンテンツのダウンロードを行う。
例えば、上述したP2Pネットワーク90を形成するP2Pファイル共有ソフトウェアのWinnyにおいては、コンテンツを流通させるために、コンテンツを保持するノードの場所(IPアドレス、ポート番号;以下、ファイル位置情報という)などを記入したコンテンツに関するタグ情報を生成し、隣接する上流ノードへ配布する。受け取った上流ノードはさらに上流ノードや対等ノードへタグ情報を配布する。これにより上流へ多くのタグ情報が集められ、上流ノードがタグ情報リスト、つまりコンテンツリストを管理することになる。このようにWinnyによって形成されるP2Pネットワーク90においては、上流ノードほど、多くのタグ情報を保持することとなる。
また、Winnyにおいては、上述したタグ情報の拡散の途中に一定の確率でタグ情報(ファイル位置情報)の書き換えが行われるので、この書き換えられたタグ情報を受け取って、コンテンツのダウンロードをしようとするノードは、このタグ情報に記されたファイル位置情報の上流ノードにダウンロード要求を出す。しかしながら、この上流ノードは、実際にはコンテンツを保持していないので、自らのコンテンツリストを検索し、実際にコンテンツを保持しているノードからコンテンツをダウンロードするとともに、ダウンロード要求をしたノードに対しても、このコンテンツをアップロードする。この結果、検索元のノードに検索要求のコンテンツがダウンロードされるとともに、コンテンツ配信を中継した上流ノードにおいても、コンテンツが保持されることとなる。このようにWinnyによって形成されるP2Pネットワーク90においては、上流ノードは、コンテンツ配信の中継ノードになり得るため、多くの公開されたコンテンツを保持することとなる(コンテンツをダウンロードしたノードもコンテンツ公開ノードとなる)。
図1及び図2を用いて、このことを具体的に説明する。図1は、ノードSがコンテンツα0を公開していて、ノードBがコンテンツα0のダウンロードを行う場合の様子を示している。ここで、ノードSがコンテンツα0を保持していることを示すコンテンツα0のタグ情報β0は、図1に示すように、ノードSより上流のノードに拡散されている。まず、ノードBは、コンテンツα0に対する検索問い合わせを隣接する上流のノードDに送信する。コンテンツα0に対する検索問い合わせを受信したノードDは、自らのコンテンツリストの中にコンテンツα0の存在位置を示すタグ情報β0を持っているので、このタグ情報β0をノードBに返信する。この結果、ノードBは、受け取ったタグ情報β0からコンテンツα0を公開しているノードSの場所がわかるので、ノードSと直接P2P接続し、コンテンツα0をダウンロードする。
また、図2は、ノードSがコンテンツα0を公開していて、ノードCがコンテンツα0のダウンロードを行う場合の様子を示している。ここで、ノードSがコンテンツα0を保持していることを示すコンテンツα0のタグ情報β0は、図2に示すように、ノードSより上流のノードに拡散されているとともに、上流ノードにおいてタグ情報の書き換えが行われて、タグ情報β0が、ノードAがコンテンツα0を保持していることを示すタグ情報β0aに変更されている。まず、ノードCは、コンテンツα0に対する検索問い合わせを隣接する上流のノードEに送信する。ノードEは、自らのコンテンツリストの中にコンテンツα0の存在位置を示すタグ情報を備えていないので、隣接する上流のノードAに問い合わせる。ノードAは、自らのコンテンツリストの中にコンテンツα0の存在位置を示すタグ情報β0aを備えているので、このタグ情報β0aをノードEを介してノードCに返信する。この結果、ノードCは、受け取ったタグ情報β0aからコンテンツα0を公開しているノードAの場所がわかるので、ノードAと直接P2P接続し、コンテンツα0のダウンロード要求を行う。しかしながら、ノードAは、実際にはコンテンツα0を保持していないため、実際にコンテンツα0を保持するノードSからコンテンツα0をダウンロードし、かつこのコンテンツα0をノードCにアップロードする。この結果、コンテンツα0がノードCのほか、ノードAにも転送配置され、コンテンツの配布効率がよくなるようになっている。
特開2006−178782号公報 金子勇著,「Winnyの技術」,株式会社アスキー,2005年10月
上述したようなP2Pネットワーク90においては、上流ノードほど多くのコンテンツ及びタグ情報が集まるようになっているので、上流ノードほど検索処理などのコンテンツ管理の負担が大きいという問題がある。勿論、P2Pネットワーク90は、上流ノードほど、コンテンツやコンテンツのインデックス情報が集まるようして、コンテンツ検索やコンテンツ配送の効率を高めているP2Pネットワークであるが、下流ノードに対しても、それ相応の負担を負わせることができれば、よりP2Pネットワーク全体の効率化を図ることができる。
本発明は、上記の問題を解決するためになされたものであり、その課題の一例としては、上流及び下流のノードを定義づけ、コンテンツのファイル内容や存在場所を示すタグ情報を用いて、ノード間のコンテンツ配信を行うP2Pネットワークにおいて、上流ノードの負担を軽減させて、よりP2Pネットワーク全体の効率化を図ることができるコンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラムを提供することにある。
上記の課題を達成するため、請求項1記載のコンテンツ配信装置は、コンテンツの内容、前記コンテンツを保持する保持ノードの位置、及び前記コンテンツのいずれの部分を保持しているか示す部分情報を含むタグ情報を流通させ、前記タグ情報を検索することにより、所望のコンテンツを見つけて、ノード間のコンテンツ配信を行うP2Pネットワークの各ノードを構成するコンテンツ配信装置であって、ノードにおけるコンテンツの管理とは、少なくとも、前記配信対象コンテンツの実体の存在位置を示す位置情報と、当該ノードで管理すべき配信対象コンテンツの部分情報と、を備えた管理情報を保持することであり、自ノードと隣接するノードの状況に関する情報を取得する隣接ノード状況取得手段と、前記隣接ノード状況取得手段により取得した隣接ノードの状況に応じて、自ノードが管理する配信対象コンテンツから、前記隣接ノードに管理依頼するコンテンツの部分の容量を決定するコンテンツ容量決定手段と、前記コンテンツ容量決定手段により決定したコンテンツの部分を前記隣接ノードに管理依頼するコンテンツ管理依頼手段と、前記隣接ノードから、コンテンツ管理可能な返答を受信したときは、前記隣接ノードに対して、前記コンテンツ容量決定手段により決定した容量に基づいた前記管理情報を送信する管理情報送信手段と、自ノードが管理する配信対象コンテンツの部分に基づいて、前記タグ情報を作成し、作成したタグ情報を他ノードに送信するタグ情報流通手段と、を有することを特徴とする。
また、請求項6記載のコンテンツ配信方法は、コンテンツの内容、前記コンテンツを保持する保持ノードの位置、及び前記コンテンツのいずれの部分を保持しているか示す部分情報を含むタグ情報を流通させ、前記タグ情報を検索することにより、所望のコンテンツを見つけて、ノード間のコンテンツ配信を行うP2Pネットワークのコンテンツ配信方法であって、ノードにおけるコンテンツの管理とは、少なくとも、前記配信対象コンテンツの実体の存在位置を示す位置情報と、当該ノードで管理すべき配信対象コンテンツの部分情報と、を備えた管理情報を保持することであり、前記P2Pネットワークのノードは、自ノードと隣接するノードの状況に関する情報を取得する隣接ノード状況取得ステップと、前記隣接ノード状況取得ステップにより取得した隣接ノードの状況に応じて、自ノードが管理する配信対象コンテンツから、前記隣接ノードに管理依頼するコンテンツの部分の容量を決定するコンテンツ容量決定ステップと、前記コンテンツ容量決定ステップにより決定したコンテンツの部分を前記隣接ノードに管理依頼するコンテンツ管理依頼ステップと、前記隣接ノードから、コンテンツ管理可能な回答を受信したときは、前記隣接ノードに対して、前記コンテンツ容量決定手段により決定した容量に基づいた前記管理情報を送信する管理情報送信ステップと、自ノードが管理する配信対象コンテンツの部分に基づいて、前記タグ情報を作成し、作成したタグ情報を他ノードに送信するタグ情報流通ステップと、を有することを特徴とする。
従来のコンテンツ配信方法の概要を示すP2Pネットワークの図である。 従来のコンテンツ配信方法の概要を示すP2Pネットワークの図である。 本発明の第1の実施の形態に係るコンテンツ配信方法の概要を示すP2Pネットワークの図である。 本発明の第1の実施の形態に係るコンテンツ配信方法の概要を示すP2Pネットワークの図である。 本発明の第1の実施の形態に係るP2Pネットワークにおいて流通されるタグ情報及びコンテンツのフォーマットを示す図である。 本発明の第1の実施の形態に係るP2Pネットワークにおいて使用されるノード情報のフォーマットを示す図である。 1つのコンテンツを分割するときのタグ情報及びコンテンツのフォーマット例である。 本発明の第1の実施の形態に係るコンテンツ配信装置の概略構成図である。 本発明の第1の実施の形態に係るコンテンツ配信装置(接続するノード側)のP2Pネットワーク接続処理を示すフローチャートである。 本発明の第1の実施の形態に係るコンテンツ配信装置(接続されるノード側)のP2Pネットワーク接続処理を示すフローチャートである。 本発明の第1の実施の形態に係るコンテンツ配信装置(コンテンツ送信側のノード)のコンテンツ分割配布処理を示すフローチャートである。 本発明の第1の実施の形態に係るコンテンツ配信装置(コンテンツ受信側のノード)のコンテンツ分割配布処理を示すフローチャートである。 本発明の第1の実施の形態に係るコンテンツ配信装置(タグ情報送信側のノード)のタグ情報流通処理を示すフローチャートである。 本発明の第1の実施の形態に係るコンテンツ配信装置(タグ情報受信側のノード)のタグ情報流通処理を示すフローチャートである。 本発明の第1の実施の形態に係るコンテンツ配信装置(コンテンツダウンロード側のノード)のコンテンツ検索転送処理を示すフローチャートである。 本発明の第1の実施の形態に係るコンテンツ配信装置(コンテンツ検索側のノード)のコンテンツ検索転送処理を示すフローチャートである。 本発明の第1の実施の形態に係るコンテンツ配信装置(コンテンツアップロード側のノード)のコンテンツ検索転送処理を示すフローチャートである。 本発明の第1の実施の形態に係るコンテンツ配信方法の変形例の概要を示すP2Pネットワークの図である。 本発明の第1の実施の形態に係るコンテンツ配信方法の変形例の概要を示すP2Pネットワークの図である。 本発明の第2の実施の形態に係るコンテンツ配信方法の概要を示すP2Pネットワークの図である。 本発明の第2の実施の形態に係るコンテンツ配信方法の概要を示すP2Pネットワークの図である。 本発明の第2の実施の形態に係るコンテンツ配信方法の概要を示すP2Pネットワークの図である。 本発明の第2の実施の形態に係るコンテンツ配信装置の概略構成図である。 本発明の第2の実施の形態に係るコンテンツ配信装置(管理情報送信側のノード)のコンテンツ分割管理処理を示すフローチャートである。 本発明の第2の実施の形態に係るコンテンツ配信装置(管理情報受信側のノード)のコンテンツ分割管理処理を示すフローチャートである。 本発明の第2の実施の形態に係るコンテンツ配信装置(コンテンツアップロード側のノード)のコンテンツ検索転送処理を示すフローチャートである。 図26のステップS248のコンテンツアップロード処理を詳しく示すフローチャートである。
符号の説明
α、α0、α0a、α1、α2、α2a、α3、α4、α5、α6 コンテンツ
β、β0、β0a、β1、β2、β2a、β3、β4、β5、β6 タグ情報
γ ノード情報
1,2 ノード(コンテンツ配信装置)
101 データ送受信部
102 ノード情報管理部
103 ノード情報用ストレージ
104,201 タグ情報管理部
105,202 タグ情報用ストレージ
106 コンテンツ管理部
107 ノード分析部
108 コンテンツ分割部
109 コンテンツ用ストレージ
110 コンテンツ再生部
111 全体制御部
203 管理情報作成部
以下、本発明の実施の形態を図面を用いて説明する。
(第1の実施の形態)
<コンテンツ配信方法>
図3は、本発明の第1の実施の形態に係るコンテンツ配信方法の概要を示すP2Pネットワーク10を示している。ここで、P2Pネットワーク10は、ノードが接続している回線の速度(詳しくは、アップロード速度)によって、上流及び下流のノードを定義づけ(上下関係は、自ノードと接続している他ノードとの間の相対的な関係である)、コンテンツのファイル内容や存在場所を示すタグ情報をネットワーク内に拡散させて、ノード間のコンテンツ配信を行うP2Pネットワークであり、一例としては、WinnyのようなP2Pファイル共有ソフトをインストールしたコンピュータがノードとなって形成するP2Pネットワークである。換言すれば、P2Pネットワーク10は、高速な通信ネットワークに接続しているノードを上流ノード、低速な通信ネットワークに接続しているノードを下流ノードと位置づけ(なお、アップロード速度がほぼ同じくらいの場合には、必ずしも回線速度と上下関係は一致しない場合もあるため、より正確には、タグ情報を送信するノードを下流ノード、タグ情報を受信する側を上流ノードとする)、上流ノードほど、コンテンツやコンテンツのタグ情報が集まるようにして、コンテンツ検索やコンテンツ配送の効率を高めているP2Pネットワークである。なお、本実施の形態に係るコンテンツ配信方法は、各ノード(以下、コンテンツ配信装置ともいう)に本発明の本実施の形態に係るコンテンツ配信プログラムをインストールすることにより、実施可能となるものであり、本実施の形態に係るコンテンツ配信プログラムは、上述したWinnyが備える機能に加えて、公開コンテンツ(配布対象コンテンツ)を分割して、隣接する下流のノードに配信するコンテンツ分割配布機能を具備している。
本実施の形態に係るコンテンツ配信方法は、コンテンツ公開ノードが、公開するコンテンツを隣接する下流ノードの状況に応じて分割し、分割したコンテンツを隣接する下流ノードに保持させることにより、その上流ノードだけでなく、その下流ノードに対してもコンテンツ流通の一端を担わせ、下流ノードを有効活用するコンテンツ配信方法である。ここで、下流ノードの状況とは、例えば、下流ノードが接続している回線速度を意味し、下流ノードは、その回線速度に応じた容量の分割コンテンツを自ら保持するようになっている(低速な回線に接続するほど、保持する容量は少なくなる)。そして、コンテンツ検索ノードが、このコンテンツをダウンロードするときには、分割コンテンツを保持する複数の下流ノードから同時に並行してダウンロードするので、下流ノードのアップロード処理に対する負荷分散を図ることができるとともに、ダウンロード処理の高速化を図ることができるものである。このように、本実施の形態に係るコンテンツ配信方法は、下流ノードが接続する通信ネットワークの帯域が小さくても、帯域に応じた容量の分割コンテンツをコンテンツ検索ノードに転送するので、小さなネットワーク帯域を有効に使用することができ、下流ノードを有効活用できるコンテンツ配信方法となっている。
以下、図3及び図4を用いて、具体的に説明する。
例えば、図3に示すノードAがコンテンツα0を公開する場合には、まず、ノードAは、ノードAの下流ノードであるノードCとノードDに対して、コンテンツ保持依頼を出す。このコンテンツ保持依頼は、ノードC及びノードDの状況に見合った容量のコンテンツの保持を依頼するもので、例えば、図3においては、ノードCにコンテンツα0の3/8、ノードDにコンテンツα0の5/8の容量の保持を依頼している。本具体例では、ノードC及びノードDの回線速度に応じてコンテンツα0を按分して、分割している。ノードAは、ノードC及びノードDからコンテンツ保持依頼が可能である旨の返答を受け取ると、依頼分の容量の分割コンテンツα1をノードC、分割コンテンツα2をノードDに送信する。この結果、ノードCは分割コンテンツα1を保持するとともに、ノードCが分割コンテンツα1を保持していることを示すコンテンツα1のタグ情報β1を作成して、隣接する上流ノードに配布する。また、ノードDは分割コンテンツα2を保持するとともに、ノードDが分割コンテンツα2を保持していることを示すコンテンツα2のタグ情報β2を作成して、隣接する上流ノードに配布する。
ここで、図3に示す記号の説明をすると、ノードAにおけるタグ情報β0は、コンテンツα0がノードAにあること、及び全体コンテンツ(分割されていないコンテンツ)を保持していることを示している。「11111111」はビットマップ情報を示しており、コンテンツを8ブロックに分割した分割コンテンツのいずれの部分を保持しているかを1(保持)又は0(不保持)で示しており、タグ情報ベータβ0は、8ブロックすべて(全体コンテンツ)を保持していることを示している。同様にして、タグ情報β1は、コンテンツα0の3/8(前半部分)をノードCが保持していること、タグ情報β2は、コンテンツα0の5/8(後半部分)をノードDが保持していることを示している。
なお、分割コンテンツを受け取って、保持するノードは、さらに隣接する下流のノードに対して、コンテンツ保持依頼を出すことができる。例えば、図3に示すノードDは、ノードDの下流ノードであるノードW、X、Y、及びZに対して、コンテンツ保持依頼を出している。このコンテンツ保持依頼は、ノードWにコンテンツα0の1/8、ノードXにコンテンツα0の1/8、ノードYにコンテンツα0の2/8、ノードZにコンテンツα0の1/8の容量の保持を依頼するものである。勿論、分割コンテンツの容量は、それぞれのノードの状況(回線速度)に応じて決定されている。ノードDは、ノードW、X、Y、及びZからコンテンツ保持依頼が可能である旨の返答を受け取ると、依頼分の容量の分割コンテンツをノードW、X、Y、及びZに送信する。この結果、ノードWは分割コンテンツα3を保持するとともに、ノードWが分割コンテンツα3を保持していることを示すコンテンツα3のタグ情報β3を作成して、隣接する上流ノードに配布する。同様にして、ノードXは分割コンテンツα4を保持するとともに、ノードXが分割コンテンツα4を保持していることを示すコンテンツα4のタグ情報β4を作成して、隣接する上流ノードに配布し、また、ノードYは分割コンテンツα5を保持するとともに、ノードYが分割コンテンツα5を保持していることを示すコンテンツα5のタグ情報β5を作成して、隣接する上流ノードに配布し、また、ノードZは分割コンテンツα6を保持するとともに、ノードZが分割コンテンツα6を保持していることを示すコンテンツα6のタグ情報β6を作成して、隣接する上流ノードに配布する。
このように、本実施の形態に係るコンテンツ配信方法においては、複数の階層のノードに渡って1つのコンテンツを分割することができるので、元のコンテンツは細分化されて、より下流のノードに分散配置されることとなり、P2Pネットワーク10全体のコンテンツ配置に偏りがなくなる。
一方、図4に示すノードEがコンテンツα0のダウンロードを行う場合には、ノードEが、コンテンツα0に対する検索問い合わせを隣接する上流のノードに送信すると、上流のノードからコンテンツα0の分割コンテンツの存在位置を示すタグ情報β1〜β6を受信するので、このタグ情報β1〜β6に従って、コンテンツα0の分割コンテンツを保持するノードから、コンテンツα0の分割コンテンツをダウンロードする。図4に示す例では、ノードEは、ノードC、W、X、Y、及びZからコンテンツα0の分割コンテンツを並行して同時にダウンロードし、ダウンロードした後、分割コンテンツを合わせて1つのコンテンツα0を復元している。勿論、ノードEは、タグ情報β0も受け取り可能なので、全体コンテンツであるコンテンツα0をダウンロードしてもよい。
このように、本実施の形態に係るコンテンツ配信方法においては、複数の下流ノードから、複数の分割されたコンテンツを同時に並行してダウンロードするので、下流ノードを有効活用しつつ、ダウンロードの高速化を図ることができるようになっている。
<データ構成>
図5は、P2Pネットワーク10において流通されるコンテンツα、及びタグ情報βのデータフォーマットを示している。なお、本明細書においては、全体コンテンツ及び全体コンテンツに対応するタグ情報を意図するときは、コンテンツα0、タグ情報β0のように0を付して表記し、分割コンテンツ及び分割コンテンツに対応するタグ情報を意図するときは、コンテンツα1、α2、…、αN(Nは自然数)、タグ情報β1、β2、…、βN(Nは自然数)のように自然数を付して表記したが、その両者を含めたコンテンツ一般、タグ情報一般を意味するときはコンテンツα、タグ情報βと表記することとする。
タグ情報βは、コンテンツαの内容や存在場所を示すインデックス情報であり、コンテンツαとは1対1に対応する。タグ情報βは、詳しくは、コンテンツαを一意に識別可能なコンテンツID(全体コンテンツと当該全体コンテンツを分割した分割コンテンツのコンテンツIDは同一である)、分割したコンテンツの部分情報であるビットマップ情報(分割したコンテンツのいずれのブロックであるかを示す情報)、コンテンツ関連情報(例えば、コンテンツのタイトル、出演者、ジャンル、サムネイル画像、時間、サイズ、暗号鍵購入先など)、分割コンテンツを収集後、完全に収集できたか否かを検証するためのチェックサム、このタグ情報βに対応するコンテンツαを保持しているノードのアドレスであるコンテンツ保持位置(IPアドレス、ポート番号)を備えている。
コンテンツαは、ヘッダ情報であるコンテンツヘッダと、コンテンツの実体であるコンテンツデータから構成されており、コンテンツヘッダは、上述したコンテンツID、ビットマップ情報、及びチェックサムを備えている。
図6は、P2Pネットワーク10において用いられるノード情報γのデータフォーマットを示している。ノード情報γは、ノードがP2Pネットワーク10に参加するために必要な情報であり、詳しくは、ノードを一意に識別可能なノードID、ノード関連情報(例えば、名前、回線速度、対応言語やリージョン、嗜好、登録コミュニティ、ストレージ空き容量など)、ノードのアドレスであるノード位置(IPアドレス、ポート番号)を備えている。
図7は、1つのコンテンツを分割したときのタグ情報及びコンテンツのデータフォーマットを具体的に示している。図7においては、ノードAが保持しているコンテンツα0(全部で4ブロックから構成されている)を2分割して、ノードSがコンテンツα1、ノードTがコンテンツα2を保持するときの様子を示している。タグ情報β1は、ノードSが3ブロック分(ブロック1、2、3)の分割コンテンツα1を備えていること、タグ情報β2は、ノードSが1ブロック分(ブロック4)の分割コンテンツα2を備えていることを示している。
<コンテンツ配信装置の構成>
図8は、P2Pネットワーク10のノード(コンテンツ配信装置)1の概略構成図である。ここで、コンテンツ配信装置1は、インターネット網などの通信ネットワークを介して、データの送受信が可能な端末装置であり、例えば、パーソナルコンピュータ(以下、PC)などのコンピュータの他、DVDレコーダ、DVDプレーヤ、テレビ、携帯電話、PDAなどの情報家電が想定される。
コンテンツ配信装置1は、データ送受信部101、ノード情報管理部102、ノード情報用ストレージ103、タグ情報管理部104、タグ情報用ストレージ105、コンテンツ管理部106、ノード分析部107、コンテンツ分割部108、コンテンツ用ストレージ109、コンテンツ再生部110、及び全体制御部111を具備する構成である。
データ送受信部101は、他ノードと情報の送受信を行う。具体的には、コンテンツα、タグ情報β、ノード情報γなどのやりとりを他ノードと行う。
ノード情報管理部102は、接続先ノードのノード情報γ、自ノードのノード情報γ、非接続の他ノードのノード情報γを管理する。
ノード情報用ストレージ103は、ノード情報管理部102で管理するノード情報γ(ノード情報リストL1)を記憶する。
タグ情報管理部104は、ノード1が保持している(実際には保持していない場合もある)コンテンツαに対応したタグ情報βと下流ノードから受信したタグ情報βとを統合整理して、上流ノードへ定期的に流通させるタグ情報リストL2を作成する。また、他ノードからのコンテンツ検索依頼に応じて、タグ情報リストL2の検索を行い、検索結果を作成する。
タグ情報用ストレージ105は、タグ情報管理部104で管理されるタグ情報β(タグ情報リストL2)を記憶する。
コンテンツ管理部106は、他のノードからダウンロードしたコンテンツαや、下流ノードに配布する分割コンテンツαNを管理する。
ノード分析部107は、下流ノードに分割コンテンツαNを配布する際に、下流ノードからノード情報γを受け取り、適切な分割量を決定する。
コンテンツ分割部108は、ノード分析部107で決定された分割量でコンテンツαを分割する。
コンテンツ用ストレージ109は、コンテンツ管理部106が管理するコンテンツαを記憶する。
コンテンツ再生部110は、コンテンツの再生を行う。
全体制御部111は、他ノードからの依頼や他ノードへの依頼に応じて、コンテンツ再生装置1の各構成要素101〜110へのデータ転送を制御する。
なお、コンテンツ配信装置1は、少なくとも、演算機能及び制御機能を備えた中央演算処理装置(CPU)、プログラムやデータを格納する機能を有するROM、RAM等からなる主記憶装置及びハードディスクなどの補助記憶装置を備えた電子的な装置から構成されている。すなわち、データ送受信部101、ノード情報管理部102、タグ情報管理部104、コンテンツ管理部106、ノード分析部107、コンテンツ分割部108、コンテンツ再生部110、及び全体制御部111は、上記CPUによる演算制御機能、ノード情報用ストレージ103、タグ情報用ストレージ105、コンテンツ用ストレージ109は、上記主記憶装置及び補助記憶装置の機能を具体的に示したものに他ならない。
また、コンテンツ配信装置1における後述する各種処理を実行するプログラムは、上述した主記憶装置に格納されているものである。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、DVD−ROMなどのコンピュータ読み取り可能な記録媒体に記録することも、通信ネットワークを介して配信されることも可能である。
<コンテンツ配信装置の動作>
次に、図9〜図17を用いて、ノード(コンテンツ配信装置)1の動作について説明する。図9及び図10は、コンテンツ配信装置1がP2Pネットワーク10に接続するときのP2Pネットワーク接続処理を示すフローチャートであり、図11及び図12は、コンテンツを分割して配布するときのコンテンツ分割配布処理を示すフローチャートである。また、図13及び図14は、タグ情報を上流ノードに流通させるタグ情報流通処理を示すフローチャートであり、図15〜図17は、コンテンツを検索し、転送するときのコンテンツ検索転送処理を示すフローチャートである。
(P2Pネットワーク接続処理)
図9及び図10を参照して、P2Pネットワーク接続処理について説明する。P2Pネットワーク接続処理は、コンテンツ配信装置1が、後述するコンテンツ分割配布処理、タグ情報流通処理、及びコンテンツ検索転送処理を行うための前提処理である。ここで、図9は、新たにP2Pネットワーク10に接続したい側のノード(以下、説明の便宜上、コンテンツ配信装置1aと称する)における処理であり、また、図10は、接続される側のノード(以下、説明の便宜上、コンテンツ配信装置1bと称する)における処理である。
新たにP2Pネットワーク10に参加したいコンテンツ配信装置1aは、ノード情報用ストレージ103からノード情報リストL1を読み込み(ステップS2)、ノード情報リストL1に他ノードのノード情報γがあるか否かを判断する(ステップS4)。ノード情報リストL1に他ノードのノード情報γがあるときは(ステップS4:YES)、このノード情報γを用い、ノード情報リストL1に他ノードのノード情報γがないときは(ステップS4:NO)、管理サーバ(P2Pネットワーク10に初期接続するためのノード情報を備えるサーバ)にアクセスして、初期接続ノード先のノード情報γを入手し(ステップS6)、入手したノード情報γをノード情報用ストレージ103に記憶する(ステップS8)。
次いで、コンテンツ配信装置1aは、ノード情報用ストレージ103に記憶されたノード情報γ(ノード情報リストL1)から、ノード情報γに記載のノード関連情報を参照して、接続先ノードを選択する(ステップS10)。例えば、嗜好が一致するノードを接続先ノードとして選択する。
次いで、コンテンツ配信装置1aは、選択した接続先ノードに対して接続依頼を行い(ステップS12)、選択した接続先ノードの接続依頼に対する返答から、接続可能であるか否かを判断する(ステップS14)。接続可能であるときは(ステップS14:YES)、選択した接続先ノードと接続処理を行い(ステップS18)、さらに接続先ノードからノード情報リストL1を入手し、ノード情報用ストレージ103に新たなノード情報γを追加する(ステップS20)。これに対して、接続不可であるときは(ステップS14:NO)、依頼先ノードからノード情報リストL1を入手し、ノード情報用ストレージ103に新たなノード情報γを追加し(ステップS15)、接続先ノードとして有効なノード情報γがさらにあるか否かを判断する(ステップS16)。有効なノード情報γがもうないときは(ステップS16:YES)、ステップS6に戻り、有効なノード情報γがあるときは(ステップS16:NO)、ステップS10に戻って、新たな接続先ノードを見つける。
次いで、コンテンツ配信装置1aは、接続した接続先ノードで固定してよいか否かを判断する(ステップS22)。接続した接続先ノードで固定してよいときは(ステップS22:YES)、P2Pネットワーク接続処理を終了し、さらに新たなノードと接続したいときは(ステップS22:NO)、ステップS10に戻り、新たな接続先ノードを見つける。
一方、コンテンツ配信装置1bは、コンテンツ配信装置1aから接続依頼を受信すると(ステップS32;図9のステップS12)、自ノードの接続状況を確認し(ステップS34)、接続できる状態であるか否かを判断する(ステップS36)。ここで、接続できる状態であるか否かの判断は、P2Pネットワーク10の1ノードにおける最大接続数や自ノードのビジー状況などから判断する。
コンテンツ配信装置1bが、自ノードは接続できる状態であると判断したときは(ステップS36:YES)、接続可能メッセージを作成して、コンテンツ配信装置1aに返答し(ステップS38;図9のステップS14に対応)、コンテンツ配信装置1aと接続処理を行う(ステップS40;図9のステップS18に対応する)。
これに対して、コンテンツ配信装置1bが、自ノードは接続できる状態でないと判断したときは(ステップS36:NO)、接続拒否メッセージを作成して、コンテンツ配信装置1aに返答する(ステップS42;図9のステップS14に対応)。
最後にコンテンツ配信装置1bは、自ノードのノード情報リストを依頼元ノードへ送信する(ステップS42)。
なお、図9に示すP2Pネットワーク接続処理のフローは、新たにP2Pネットワーク10に参加したいコンテンツ装置1aが、自ら接続先ノードを見つけて接続する方式であったが、これとは別に、接続先ノードを指示するサーバを用意し、このサーバにアクセスすることで、P2Pネットワーク10に接続するような方式であってもよい。
(コンテンツ分割配布処理)
図11及び図12を参照して、コンテンツ分割配布処理について説明する。ここで、図11は、コンテンツを分割して配布する上流側のノード、すなわち、コンテンツ送信側のノード(以下、説明の便宜上、コンテンツ配信装置1aと称する)における処理であり、図12は、分割したコンテンツを受け取る下流側のノード、すなわち、コンテンツ受信側のノード(以下、説明の便宜上、コンテンツ配信装置1bと称する)における処理である。
コンテンツ配信装置1aは、接続している下流ノードから最新のノード情報γを入手し、接続先ノードのノード情報γを更新する(ステップS52)。次いで、コンテンツ配信装置1aは、更新されたノード情報リストL1に基づいて、下流ノードは存在するか否かを判断する(ステップS54)。これは、ノード情報γの回線速度(アップロード速度)に基づいて、自ノードと他ノードの回線速度を比較し、下流ノードは存在するか否かを判断するものである(自ノードよりも回線速度が遅いノードを下流とする)。
下流ノードが存在するときは(ステップS54:YES)、コンテンツ配信装置1aは、各下流ノードの回線速度に応じて分割コンテンツαNの容量を決定し(ステップS56)、未だ保持していない下流ノードの1つを選択し、選択した下流ノードに対して、分割コンテンツαNの保持依頼を行い(ステップS58)、下流ノードの分割コンテンツ保持依頼に対する返答から、分割コンテンツαNの保持が可能であるか否かを判断する(ステップS60)。分割コンテンツαNの保持が可能であるときは(ステップS60:YES)、コンテンツ配信装置1aは、分割コンテンツαNの保持依頼をした下流ノードに決定された容量の分割コンテンツαNを送信する(ステップS62)。
次いで、コンテンツ送信側のコンテンツ配信装置1は、すべての下流ノードに分割コンテンツαNの保持依頼を行ったか否かを判断し(ステップS64)、コンテンツαNの保持依頼を行っていない下流ノードが存在するときには、ステップS58に戻って、分割コンテンツαNの保持依頼を行う。
一方、コンテンツ配信装置1bは、接続している上流ノードへ最新の自ノードのノード情報γを送信する(ステップS72;図11のステップS52に対応)。
次いで、コンテンツ配信装置1bは、接続している上流ノードから分割コンテンツ保持依頼を受信し(ステップS74;図11のステップS58に対応)、自らが分割コンテンツαNを保持することができるか否かを判断する(ステップS76)。ここで、分割コンテンツαNを保持することができるか否かの判断は、自ノードの空き容量や自ノードのビジー状況などから判断する。なお、分割コンテンツ保持依頼には、分割コンテンツαNの容量も含まれている。
コンテンツ配信装置1bが、自ノードに分割コンテンツαNを保持できると判断したときは(ステップS76:YES)、保持可能メッセージを作成して、コンテンツ配信装置1aに返答し(ステップS78;図11のステップS60に対応)、コンテンツ配信装置1aから分割コンテンツαNを受信する(ステップS82;図11のステップS62に対応)。
次いで、コンテンツ配信装置1bは受信した分割コンテンツαNに対応したタグ情報βNを作成し、自らのタグ情報リストL2に追記する(ステップS84)。なお、新たなタグ情報βNが追記されたタグ情報リストL2は、後述するように定期的に上流ノードに送信される。
これに対して、コンテンツ配信装置1bが、自ノードに分割コンテンツαNを保持できないと判断したときは(ステップS76:NO)、保持拒否メッセージを作成して、コンテンツ配信装置1aに返答する(ステップS80;図11のステップS60に対応)、
なお、図11及び図12に示すコンテンツ分割配布処理のフローにおいては、上流ノードは、受信した下流ノードのノード情報γに基づいて、下流ノードの回線速度を把握したが、これとは別な方法により、下流ノードの回線速度を把握するようにしてもよい。例えば、下流ノードからノード情報γを受信したときに(図11のステップS52において)、下流ノードの回線速度を実測して把握するようにしてもよい。
(タグ情報流通処理)
図13及び図14を参照して、タグ情報流通処理について説明する。ここで、図13は、自身が備えているタグ情報リストL2を上流ノードに送信する下流側のノード(以下、説明の便宜上、コンテンツ配信装置1aと称する)における処理であり、図14は、下流ノードからタグ情報リストL2を受信する上流側のノード(以下、説明の便宜上、コンテンツ配信装置1bと称する)における処理である。
コンテンツ配信装置1aは、定期的に自身が保有しているタグ情報リストL2を隣接する上流ノードに送信する(ステップS92)。
一方、コンテンツ配信装置1bは、定期的にタグ情報リストL2を受信すると(ステップS102;図13のステップS92に対応)、受信したタグ情報リストL2を、自身が保有するタグ情報リストL2に反映させ、新たなタグ情報βが反映されたタグ情報リストL2を作成し、タグ情報用ストレージ105に記憶する(ステップS104)。
なお、タグ情報流通処理においては、所定の確率でタグ情報βのコンテンツ保持位置の書き換えが発生するので、新たなコンテンツ保持位置となったノードは、コンテンツ配信の中継ノードになり、公開コンテンツ(配信対象コンテンツ)を保持する可能性がある。
(コンテンツ検索転送処理)
図15〜図17を参照して、コンテンツ検索転送処理について説明する。ここで、図15は、コンテンツの検索依頼をし、所望のコンテンツをダウンロードする側のノード(以下、説明の便宜上、コンテンツ配信装置1aと称する)における処理であり、図16は、コンテンツの検索を行うコンテンツ検索側のノード(以下、説明の便宜上、コンテンツ配信装置1bと称する)における処理であり、図17は、所望のコンテンツを公開して保持しており、所望のコンテンツをアップロードするノード(以下、説明の便宜上、コンテンツ配信装置1cと称する)における処理である。
コンテンツ配信装置1aは、隣接する上流ノードにコンテンツ検索依頼をし(ステップS112)、隣接する上流ノードのコンテンツ検索依頼に対する返答から、検索依頼したコンテンツαがあったか否かを判断する(ステップS114)。これは、検索依頼したコンテンツαのタグ情報β(検索依頼したコンテンツαと同一コンテンツIDを有するタグ情報β)を受信したか否かにより判断する。
検索依頼したコンテンツαがあったときは、コンテンツ配信装置1aは、受信したタグ情報βのいずれか1つを選択し、選択したタグ情報βに記載のノードにアクセスし、コンテンツダウンロード依頼をし(ステップS116)、アクセスしたノードのコンテンツダウンロード依頼に対する返答から、ダウンロード可能であるか否かを判断する(ステップS118)。
コンテンツαのダウンロードが可能であるときは、コンテンツ配信装置1aは、コンテンツαのダウンロード処理を行う(ステップS120)。これにより、アクセスしたノードから、所望のコンテンツα(全体コンテンツ又は分割コンテンツ)がダウンロードされる。
次いで、コンテンツ配信装置1aは、コンテンツ検索依頼に対する返答から、他のノードにもダウンロード依頼はできないか否かを判断し(ステップS122)、他のノードからもダウンロード依頼が可能のときは(ステップS122:YES)、ステップS116に戻り、当該他のノードに対して、コンテンツαのダウンロード依頼をする。これは、例えば、受け取ったタグ情報βが複数あり、それぞれのタグ情報βに記載のノードが、同一コンテンツに対する分割コンテンツαNを保持するような場合などである。
これに対して、他のノードへのダウンロード依頼が不可能のときは(ステップS122:NO)、今までに並行ダウンロードした分割コンテンツαNを統合して、元のコンテンツα0を復元する(ステップS104)。勿論、全体コンテンツα0をダウンロードしたときは、統合する必要はない。
一方、コンテンツ配信装置1bは、コンテンツ配信装置1aから検索依頼を受信すると(ステップS132;図15のステップS112に対応)、自らのタグ情報用ストレージ105に記憶されたタグ情報リストL2から、検索依頼のあったコンテンツαを探し、見つかったタグ情報βをコンテンツ配信装置1aに送信する(ステップS134;図15のステップS114に対応)。なお、自らのタグ情報リストL2に検索依頼のコンテンツαが見つからない場合には、さらに上流のノードに検索依頼をし、検索結果を返してもらう。どこの上流ノードまで検索を依頼するかは、検索依頼の中に含めるホップ数で規定してもよいし、また、P2Pネットワーク10の規格により規定してもよい。
他方、コンテンツ配信装置1cは、コンテンツ配信装置1aからコンテンツダウンロード依頼を受信すると(ステップS142;図15のステップS116に対応)、依頼のあったコンテンツαを自ノードがアップロードすることができる状態であるか否かを判断する(ステップS144)。ここで、コンテンツαをアップロードすることができる状態か否かの判断は、自ノードのビジー状況や依頼のあったコンテンツの有無などから判断する。
依頼のあったコンテンツαをアップロードすることができるときは、転送可能メッセージを作成して、転送可能メッセージをコンテンツ配信装置1aに返答し(ステップS146;図15のステップS118に対応)、コンテンツαのアップロード処理をする(ステップS148;図15のステップS120に対応)。これにより、コンテンツ配信装置1bからコンテンツ配信装置1aに、所望のコンテンツα(全体コンテンツ又は分割コンテンツ)がアップロードされる。
これに対して、依頼のあったコンテンツαをアップロードすることができないときは、転送拒否メッセージを作成して、転送拒否メッセージをコンテンツ配信装置1aに返答する(ステップS150;図15のステップS118に対応)。
以上、本実施の形態によれば、接続している回線の速度によって、上流及び下流のノードを定義づけ、コンテンツのファイル内容や存在場所を示すタグ情報を用いて、ノード間のコンテンツ配信を行うP2Pネットワークにおいて、上流ノードだけでなく、下流ノードも自ノードの状況に応じた分割コンテンツを保持しているので、コンテンツをダウンロードする際に下流ノードのネットワーク帯域を有効利用でき、これにより上流ノードの負担を軽減させて、よりP2Pネットワーク全体の効率化を図ることができる。また、複数のノードから並行して分割コンテンツをダウンロードできるので、ダウンロードの高速化を図ることができる。
これは、従来においては、下流ノードのネットワーク帯域はコンテンツ配信のボトルネックに成り得るため、コンテンツ配信に考慮されていなかったが、この下流ノードのネットワーク帯域を有効利用できるように改めたものである。
なお、本実施の形態においては、分割されたコンテンツを扱うので、コンテンツを分割配布するノードにとっても、コンテンツ配布時間を短縮することができるとともに、また、アップロードするノードにとっても、アップロードする負荷を軽減することができる。
さらに、人気のあるコンテンツであれば、より多くの下流ノードがコンテンツの一部を保有するため、同時にダウンロードできるノード数が増加し、より効率的な配布が可能となる。
以上、第1の実施の形態について説明してきたが、第1の実施の形態に係るコンテンツ配信方法には、種々の変形を施すことができる。
例えば、上記実施の形態のコンテンツ配信方法のコンテンツ分割配布処理においては、コンテンツ送信側のノードは、分割の対象となるコンテンツ(分割前コンテンツ)を自ノードに保持するようにしたが、コンテンツ受信側のノードに分割コンテンツを転送した後、分割前コンテンツを削除するようにしてもよい。図18は、このようなコンテンツ配信方法の変形例の概要を示すP2Pネットワーク10Aを示している。例えば、ノードAが、保持するコンテンツα0を隣接する下流ノードのノードC及びノードDに分割配布する場合には、ノードC及びノードDに分割配布した後にノードAに保持しているコンテンツα0を削除してもよい。また、ノードDが、保持するコンテンツα2を隣接する下流ノードのノードW、X、Y、及びZに分割配布する場合には、ノードW、X、Y、及びZに分割配布した後にノードDに保持しているコンテンツα2を削除してもよい。この結果、さらに上流ノードのストレージ容量の負担を軽減させることができる。
また、図19に示すように、コンテンツ分割配布処理において、隣接する下流ノードだけでなく、自ノードも含めて、コンテンツを按分し、分割するようにしてもよい。例えば、ノードAが、保持するコンテンツα0を隣接する下流ノードのノードC及びノードDに分割配布する場合には、ノードAを含めて、ノードA、C、及びDでコンテンツα0を分割するようにしてもよい。また、ノードDが、保持するコンテンツα2を隣接する下流ノードのノードW、X、Y、及びZに分割配布する場合には、ノードDを含めて、ノードD、W、X、Y、及びZでコンテンツα2を分割するようにしてもよい。
(第2の実施の形態)
<コンテンツ配信方法>
次に、本発明の第2の実施の形態に係るコンテンツ配信方法について説明する。本実施の形態に係るコンテンツ配信方法は、第1の実施の形態に係るコンテンツ配信方法と異なり、分割コンテンツを下流ノードに対して配布せず、下流ノードも分割コンテンツを保持しない。すなわち、本実施の形態においては、各ノードが分割コンテンツの実体を保持するのではなく、分割コンテンツに関する管理情報を保持するだけである。ここで、分割コンテンツに関する管理情報とは、自ノードで管理する分割コンテンツの部分情報(全体コンテンツのうちどの部分のコンテンツを管理するかを示す情報)、及びコンテンツの実体が存在する位置を示す位置情報(自ノードで管理する分割コンテンツが実際に存在するコンテンツ保持ノードのアドレス)である。その他の点に関しては、第1の実施の形態のコンテンツ配信方法と略同一である。なお、本実施の形態においては、第1の実施の形態と異なる構成及び機能のみ説明し、その他の構成及び機能については同一部分には同一符号を付して説明を省略する。
図20〜図22は、本実施の形態に係るコンテンツ配信方法の概要を示すP2Pネットワーク20を示している。ここで、P2Pネットワーク20は、P2Pネットワーク10と同様に、ノードが接続している回線の速度(詳しくは、アップロード速度)によって、上流及び下流のノードを定義づけ(上下関係は、自ノードと接続している他ノードとの間の相対的な関係である)、コンテンツのファイル内容や存在場所を示すタグ情報をネットワーク内に拡散させて、ノード間のコンテンツ配信を行うP2Pネットワークであり、一例としては、WinnyのようなP2Pファイル共有ソフトをインストールしたコンピュータがノードとなって形成するP2Pネットワークである。換言すれば、P2Pネットワーク20は、高速な通信ネットワークに接続しているノードを上流ノード、低速な通信ネットワークに接続しているノードを下流ノードと位置づけ(なお、アップロード速度がほぼ同じくらいの場合には、必ずしも回線速度と上下関係は一致しない場合もあるため、より正確には、タグ情報を送信するノードを下流ノード、タグ情報を受信する側を上流ノードとする)、上流ノードほど、コンテンツやコンテンツのタグ情報が集まるようにして、コンテンツ検索やコンテンツ配送の効率を高めているP2Pネットワークである。なお、本実施の形態に係るコンテンツ配信方法は、各ノード(以下、コンテンツ配信装置ともいう)に本発明の本実施の形態に係るコンテンツ配信プログラムをインストールすることにより、実施可能となるものであり、本実施の形態に係るコンテンツ配信プログラムは、上述したWinnyが備える機能に加えて、公開コンテンツ(配布対象コンテンツ)の管理情報を隣接する下流のノードに管理させるコンテンツ分割管理機能を具備している。
本実施の形態に係るコンテンツ配信方法は、例えば、タグ情報の書き換えなどを契機に、書き換えられたタグ情報を有するノードが、公開するコンテンツ(当該タグ情報に記されたコンテンツ)の管理情報を隣接する下流ノードの状況に応じて分割し、分割したコンテンツの管理情報を隣接する下流ノードに保持させることにより、その上流ノードだけでなく、その下流ノードに対してもコンテンツ流通の一端を担わせ、下流ノードを有効活用するコンテンツ配信方法である。ここで、下流ノードの状況とは、例えば、下流ノードが接続している回線速度を意味し、下流ノードは、その回線速度に応じた容量の分割コンテンツの管理情報を自ら保持するようになっている。そして、コンテンツ検索ノードから、分割コンテンツの管理情報を保持するノードにダウンロード要求がきたときには、分割コンテンツの管理情報を保持するノードは、実際にコンテンツを保持するノードから自ノードにダウンロードするとともに、コンテンツ検索ノードにアップロードするようになっている。すなわち、コンテンツ検索ノードが、コンテンツをダウンロードするときには、分割コンテンツを管理する複数の下流ノードから同時に並行してダウンロードするので、ダウンロード処理の高速化を図ることができるものである。このように、本実施の形態に係るコンテンツ配信方法は、下流ノードが接続する通信ネットワークの帯域が小さくても、帯域に応じた容量の分割コンテンツをコンテンツ検索ノードに転送するので、小さなネットワーク帯域を有効に使用することができ、下流ノードを有効活用できるコンテンツ配信方法となっている。
また、本実施の形態においては、コンテンツ検索ノードから分割コンテンツの管理情報を保持するノード(以下、分割コンテンツ管理ノード)にダウンロード要求が発生して、初めて分割コンテンツが分割コンテンツ管理ノード上に配置されるので、人気のあるコンテンツ(ダウンロード要求が発生するコンテンツ)だけがP2Pネットワーク20上に広く配置されるという効果もある。
以下、図20〜図22を用いて、具体的に説明する。
図20は、例えば、ノードSがコンテンツα0を公開しており、ノードSがコンテンツα0を保持していることを示すコンテンツα0のタグ情報β0がP2Pネットワーク20の上流ノードに流通しているとともに、タグ情報β0がノードAにおいて、ノードAがコンテンツα0を保持していることを示すタグ情報β0aに書き換えられたときのコンテンツ分割管理処理を示している。このとき、ノードAは、コンテンツα0の実体を保持していないが、タグ情報β0aとともに、コンテンツα0を実際に保持するノードSに関する情報(位置情報)を備えている。本実施の形態では、この位置情報は、ノードSがコンテンツα0を保持していることを示すタグ情報β0b(タグ情報流通処理で流通しないタグ情報である)として内部的に管理されている。勿論、タグ情報以外のデータ形式で位置情報を保持するようにしてもよい。
このような状態において、ノードAは、まず、ノードAに隣接する下流ノードのノードCとノードDに対して、コンテンツ管理依頼を出す。このコンテンツ管理依頼は、ノードC及びノードDの状況に見合った容量のコンテンツの管理を依頼するもので、例えば、図20においては、ノードCにコンテンツα0の3/8、ノードDにコンテンツα0の5/8の容量の管理を依頼している。本具体例では、ノードC及びノードDの回線速度に応じてコンテンツαの容量を按分して、分割している。ノードAは、ノードC及びノードDからコンテンツ管理依頼が可能である旨の返答を受け取ると、依頼分の容量の分割コンテンツα1の管理情報(詳しくは、コンテンツα0の3/8を保持することを示す部分情報、コンテンツα0の実体を保持するノードに関する位置情報)をノードC、分割コンテンツα2の管理情報(詳しくは、コンテンツα0の5/8を保持することを示す部分情報、コンテンツα0の実体を保持するノードに関する位置情報)をノードDに送信する。この結果、ノードCは分割コンテンツα1の管理情報を保持するとともに、ノードCが分割コンテンツα1を保持していることを示すコンテンツα1のタグ情報β1を作成して(実際にはコンテンツα1を保持していないが)、隣接する上流ノードに配布する。また、ノードDは分割コンテンツα2の管理情報を保持するとともに、ノードDが分割コンテンツα2を保持していることを示すコンテンツα2のタグ情報β2を作成して(実際にはコンテンツα2を保持していないが)、隣接する上流ノードに配布する。
なお、分割コンテンツの管理情報を受け取って、保持するノードは、さらに隣接する下流のノードに対して、コンテンツ管理依頼を出すことができる。例えば、図20に示すノードDは、ノードDに隣接する下流ノードのノードW、X、Y、及びZに対して、コンテンツ管理依頼を出している。このコンテンツ管理依頼は、ノードWにコンテンツα0の1/8、ノードXにコンテンツα0の1/8、ノードYにコンテンツα0の2/8、ノードZにコンテンツα0の1/8の容量の管理を依頼するものである。勿論、分割コンテンツの容量は、それぞれのノードの状況(回線速度)に応じて決定されている。ノードDは、ノードW、X、Y、及びZからコンテンツ管理依頼が可能である旨の返答を受け取ると、依頼分の容量の分割コンテンツの管理情報をノードW、X、Y、及びZに送信する。この結果、ノードWは分割コンテンツα3の管理情報を保持するとともに、ノードWが分割コンテンツα3を保持していることを示すコンテンツα3のタグ情報β3を作成して(実際にはコンテンツα3を保持していないが)、隣接する上流ノードに配布する。同様にして、ノードXは分割コンテンツα4の管理情報を保持するとともに、ノードXが分割コンテンツα4を保持していることを示すコンテンツα4のタグ情報β4を作成して(実際にはコンテンツα4を保持していないが)、隣接する上流ノードに配布し、また、ノードYは分割コンテンツα5の管理情報を保持するとともに、ノードYが分割コンテンツα5を保持していることを示すコンテンツα5のタグ情報β5を作成して(実際にはコンテンツα5を保持していないが)、隣接する上流ノードに配布し、また、ノードZは分割コンテンツα6の管理情報を保持するとともに、ノードZが分割コンテンツα6を保持していることを示すコンテンツα6のタグ情報β6を作成して(実際にはコンテンツα5を保持していないが)、隣接する上流ノードに配布する。
このように、本実施の形態に係るコンテンツ配信方法においては、複数の階層のノードに渡ってコンテンツ分割管理処理を実行することができるので、元のコンテンツの管理情報は細分化されて、より下流のノードに分散配置されることとなり、タグ情報βも、上流だけでなく、下流のノードにも分散配置される。
図21及び図22は、ノードEがコンテンツα0のダウンロードを行う場合のコンテンツ検索転送処理を示しており、図21は、ノードEがノードC、W、X、Y、及びZにダウンロード要求(コンテンツ転送要求)をしている状況、図22は、ノードEがノードC、W、X、Y、及びZから分割コンテンツをダウンロードしている状況を示している。なお、図21及び図22においては、ノード内で内部的に管理しているタグ情報β0bの記載は省略している。
図21に示すように、ノードEが、コンテンツα0に対する検索問い合わせを隣接する上流のノードに送信すると、上流のノードからコンテンツα0の分割コンテンツの存在位置を示すタグ情報β1、β3、β4、β5、及びβ6を受信するので、このタグ情報β1、β3、β4、β5、β6に従って、ノードC、W、X、Y、及びZにコンテンツダウンロード要求を行う。
図22に示すように、ダウンロード要求を受けたノードC、W、X、Y、及びZは、それぞれ、ダウンロード要求された分割コンテンツαNを自ノード内に保持していないので、自ノード内で管理しているタグ情報β0bに従って、実際にコンテンツα0を保持しているノードSにアクセスし、ノードSから、自ノードで管理している部分情報に相当する容量の分割コンテンツαNを自ノードにダウンロードするとともに、ダウンロードした分割コンテンツαNをノードEにアップロードする。図22に示す例では、ノードEは、ノードC、W、X、Y、及びZからコンテンツα0の分割コンテンツαNを並行して同時にダウンロードし、ダウンロードした後、分割コンテンツαNを合わせて1つのコンテンツα0を復元している。
このように、本実施の形態に係るコンテンツ配信方法においては、複数の下流ノードから、複数の分割されたコンテンツを同時に並行してダウンロードするので、下流ノードを有効活用しつつ、ダウンロードの高速化を図ることができるようになっている。また、下流ノードのアップロード処理に対する負荷分散を図ることができる。
また、ダウンロード要求のないコンテンツに関しては、コンテンツの実体が必要以上にP2Pネットワーク20内に配置されないので、各ノードの負荷を軽減することができる。
<データ構成>
P2Pネットワーク20において流通されるコンテンツα、及びタグ情報βのデータフォーマット、並びにP2Pネットワーク20において用いられるノード情報γのデータフォーマットは、第1の実施の形態と同じであるため、説明は省略する。
<コンテンツ配信装置の構成>
図23は、P2Pネットワーク20のノード(コンテンツ配信装置)2の概略構成図である。ここで、コンテンツ配信装置2は、コンテンツ配信装置1と同様に、インターネット網などの通信ネットワークを介して、データの送受信が可能な端末装置であり、例えば、パーソナルコンピュータ(以下、PC)などのコンピュータの他、DVDレコーダ、DVDプレーヤ、テレビ、携帯電話、PDAなどの情報家電が想定される。
コンテンツ配信装置2は、データ送受信部101、ノード情報管理部102、ノード情報用ストレージ103、タグ情報管理部201、タグ情報用ストレージ202、コンテンツ管理部106、ノード分析部107、管理情報作成部203、コンテンツ用ストレージ109、コンテンツ再生部110、及び全体制御部111を具備する構成である。
タグ情報管理部201は、ノード1が保持している(実際には保持していない場合もある)コンテンツαに対応したタグ情報βと下流ノードから受信したタグ情報βとを統合整理して、上流ノードへ定期的に流通させるタグ情報リストL2を作成する。また、他ノードからのコンテンツ検索依頼に応じて、タグ情報リストL2の検索を行い、検索結果を作成する。また、内部的に管理するタグ情報リストL3を作成する。タグ情報リストL3はP2Pネットワーク20上に流通しない。具体的には、分割コンテンツに関する管理情報のうち、分割コンテンツの部分情報はタグ情報リストL2として管理され、コンテンツの実体が存在する位置を示す位置情報は、タグ情報リストL3として管理される。
タグ情報用ストレージ202は、タグ情報管理部201で管理されるタグ情報β(タグ情報リストL2、内部管理タグ情報リストL3)を記憶する。
管理情報作成部203は、ノード分析部107により決定された分割量に基づいて、管理情報(分割コンテンツの部分情報、コンテンツの実体が存在する位置を示す位置情報)を作成する。
なお、コンテンツ配信装置2は、少なくとも、演算機能及び制御機能を備えた中央演算処理装置(CPU)、プログラムやデータを格納する機能を有するROM、RAM等からなる主記憶装置及びハードディスクなどの補助記憶装置を備えた電子的な装置から構成されている。すなわち、データ送受信部101、ノード情報管理部102、タグ情報管理部201、コンテンツ管理部106、ノード分析部107、管理情報作成部203、コンテンツ再生部110、及び全体制御部111は、上記CPUによる演算制御機能、ノード情報用ストレージ103、タグ情報用ストレージ202、コンテンツ用ストレージ109は、上記主記憶装置及び補助記憶装置の機能を具体的に示したものに他ならない。
また、コンテンツ配信装置2における後述する各種処理を実行するプログラムは、上述した主記憶装置に格納されているものである。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、DVD−ROMなどのコンピュータ読み取り可能な記録媒体に記録することも、通信ネットワークを介して配信されることも可能である。
<コンテンツ配信装置の動作>
次に、図24〜図27を用いて、ノード(コンテンツ配信装置)2の動作について説明する。図24及び図25は、コンテンツを分割して管理するときのコンテンツ分割管理処理を示すフローチャートであり、図26及び図27は、コンテンツを検索し、転送するときのコンテンツ検索転送処理を示すフローチャートである。なお、P2Pネットワーク接続処理及びタグ情報流通処理は、第1の実施の形態と同一であるため、説明を省略する。
(コンテンツ分割管理処理)
図24及び図25を参照して、コンテンツ分割管理処理について説明する。ここで、図24は、分割コンテンツの管理依頼をする上流側のノード、すなわち、管理情報送信側のノード(以下、説明の便宜上、コンテンツ配信装置2aと称する)における処理を示すフローチャート、図25は、分割コンテンツの管理依頼を受け取る下流側のノード、すなわち、管理情報受信側のノード(以下、説明の便宜上、コンテンツ配信装置2bと称する)における処理を示すフローチャートである。
コンテンツ配信装置2aは、接続している下流ノードから最新のノード情報γを入手し、接続先ノードのノード情報γを更新する(ステップS202)。次いで、コンテンツ配信装置2aは、更新されたノード情報リストL1に基づいて、下流ノードは存在するか否かを判断する(ステップS204)。これは、ノード情報γの回線速度(アップロード速度)に基づいて、自ノードと他ノードの回線速度を比較し、下流ノードは存在するか否かを判断するものである(自ノードよりも回線速度が遅いノードを下流とする)。
下流ノードが存在するときは(ステップS204:YES)、コンテンツ配信装置2aは、各下流ノードの回線速度に応じて分割コンテンツαNの容量を決定し(ステップS206)、未だ管理依頼していない下流ノードの1つを選択し、選択した下流ノードに対して、分割コンテンツαNの管理依頼を行い(ステップS208)、下流ノードの分割コンテンツ管理依頼に対する返答から、分割コンテンツαNの管理が可能であるか否かを判断する(ステップS210)。分割コンテンツαNの管理が可能であるときは(ステップS210:YES)、コンテンツ配信装置2aは、分割コンテンツαNの管理依頼をした下流ノードに、決定された容量の分割コンテンツαNに基づいた管理情報、すなわち、コンテンツ保持ノードのアドレス及び分割コンテンツαNの部分情報を送信する(ステップS212)。
次いで、コンテンツ配信装置2aは、すべての下流ノードに分割コンテンツαNの管理依頼を行ったか否かを判断し(ステップS214)、コンテンツαNの管理依頼を行っていない下流ノードが存在するときには、ステップS208に戻って、分割コンテンツαNの管理依頼を行う。
一方、コンテンツ配信装置2bは、接続している上流ノードへ最新の自ノードのノード情報γを送信する(ステップS222;図24のステップS202に対応)。
次いで、コンテンツ配信装置2bは、接続している上流ノードから分割コンテンツ管理依頼を受信し(ステップS224;図24のステップS208に対応)、自らが分割コンテンツαNを管理することができるか否かを判断する(ステップS226)。ここで、分割コンテンツαNを管理することができるか否かの判断は、自ノードの空き容量や自ノードのビジー状況などから判断する。なお、分割コンテンツ管理依頼には、分割コンテンツαNの容量も含まれている。
コンテンツ配信装置2bが、自ノードで分割コンテンツαNを管理できると判断したときは(ステップS226:YES)、管理可能メッセージを作成して、コンテンツ配信装置2aに返答し(ステップS228;図24のステップS210に対応)、コンテンツ配信装置2aから分割コンテンツαNに関する管理情報、すなわち、コンテンツ保持ノードのアドレス及び分割コンテンツαNの部分情報を受信する(ステップS232;図24のステップS212に対応)。
次いで、コンテンツ配信装置2bは受信した分割コンテンツαNの管理情報に対応したタグ情報βNを作成し、自らのタグ情報リストL2に追記する(ステップS234)。なお、新たなタグ情報βNが追記されたタグ情報リストL2は、定期的に上流ノードに送信される。
これに対して、コンテンツ配信装置2bが、自ノードで分割コンテンツαNを管理できないと判断したときは(ステップS226:NO)、管理拒否メッセージを作成して、コンテンツ配信装置2aに返答する(ステップS230;図24のステップS210に対応)。
なお、図24及び図25に示すコンテンツ分割管理処理のフローにおいては、上流ノードは、受信した下流ノードのノード情報γに基づいて、下流ノードの回線速度を把握したが、これとは別な方法により、下流ノードの回線速度を把握するようにしてもよい。例えば、下流ノードからノード情報γを受信したときに(図24のステップS202において)、下流ノードの回線速度を実測して把握するようにしてもよい。
(コンテンツ検索転送処理)
図26及び図27を参照して、コンテンツ検索転送処理について説明する。ここで、図26は、検索依頼のあったコンテンツをアップロードするノード(以下、説明の便宜上、コンテンツ配信装置2cと称する)における処理のフローチャートであり、図27は、図26のステップS248のコンテンツアップロード処理を詳しく示すフローチャートである。なお、コンテンツの検索依頼をし、所望のコンテンツをダウンロードする側のノード(以下、説明の便宜上、コンテンツ配信装置2aと称する)における処理、及びコンテンツの検索を行うコンテンツ検索側のノード(以下、説明の便宜上、コンテンツ配信装置2bと称する)における処理は、第1の実施の形態と同一であるため、説明を省略する。
コンテンツ配信装置2cは、コンテンツ配信装置2aからコンテンツダウンロード依頼を受信すると(ステップS242)、依頼のあったコンテンツαを自ノードがアップロードすることができる状態であるか否かを判断する(ステップS244)。ここで、コンテンツαをアップロードすることができる状態か否かの判断は、自ノードのビジー状況や依頼のあったコンテンツの有無などから判断する。
依頼のあったコンテンツαをアップロードすることができる状態であるときは、コンテンツαのアップロード処理し(ステップS246)、依頼のあったコンテンツαをアップロードすることができない状態であるときは、転送拒否メッセージを作成して、転送拒否メッセージをコンテンツ配信装置2aに返答する(ステップS248)。ここで、図27を参照して、ステップS246のコンテンツアップロード処理を説明する。
コンテンツ配信装置2cは、まず、自ノードが依頼のあったコンテンツαの実体を保持しているか否かを判定し(ステップS252)、コンテンツαの実体を保持しているときは(ステップS252:YES)、転送可能メッセージを作成し、転送可能メッセージをコンテンツ配信装置2aに返答し(ステップS254)、コンテンツαのアップロード処理をする(ステップS262)。
一方、コンテンツαの実体を保持していないときは(ステップS252:NO)、コンテンツαを保持しているノードのアドレスを知っているか否か判断し(ステップS256)、コンテンツαを保持しているノードのアドレスを知っているときは(ステップS256:YES)、転送可能メッセージを作成し、転送可能メッセージをコンテンツ配信装置2aに返答し(ステップS258)、コンテンツ保持ノードから自ノードに対して、依頼されたコンテンツαのダウンロードを行い(ステップS260)、次いで、当該コンテンツαのアップロード処理をコンテンツ配信装置2aに対して行う(ステップS262)。これにより、コンテンツ配信装置2cからコンテンツ配信装置2aに、所望のコンテンツαが転送される。なお、コンテンツαを保持しているノードのアドレスを知らないときは(ステップS256:NO)、転送拒否メッセージを作成して、転送拒否メッセージをコンテンツ配信装置2aに返答する(ステップS264)。
以上、本実施の形態によれば、分割コンテンツの実体を下流ノードに配布・保持させなくても、第1の実施の形態と同一の効果を得ることができる。すなわち、接続している回線の速度によって、上流及び下流のノードを定義づけ、コンテンツのファイル内容や存在場所を示すタグ情報を用いて、ノード間のコンテンツ配信を行うP2Pネットワークにおいて、上流ノードだけでなく、下流ノードも自ノードの状況に応じた分割コンテンツを管理できるので、コンテンツをダウンロードする際に下流ノードのネットワーク帯域を有効利用でき、これにより上流ノードの負担を軽減させて、よりP2Pネットワーク全体の効率化を図ることができる。また、複数のノードから並行して分割コンテンツをダウンロードできるので、ダウンロードの高速化を図ることができる。
また、本実施の形態によれば、分割コンテンツの管理情報をP2Pネットワーク内に流通させ、分割コンテンツの実体はダウンロード要求があって初めてP2Pネットワーク内に流通するので、必要なコンテンツだけがP2Pネットワーク内に普及するという効果がある。
なお、本実施の形態に係るコンテンツ配信方法においては、分割コンテンツの重複がないように、分割コンテンツに関する管理情報を作成したが、分割コンテンツの一部に重複があるように分割コンテンツに関する管理情報を作成してもよい。また、下流ノードの状況(例えば、大容量のストレージを備え、接続する回線速度も速いなど)に応じては、分割せずに上流ノードが保持するコンテンツの管理情報そのものを送信するようにしてもよい。
また、本実施の形態では、下流ノードが管理するコンテンツの容量を上流ノードが決定したが、下流ノードが決定し、この決定を受けて、上流ノードが分割コンテンツの管理情報を送信するようにしてもよい。
また、上記実施の形態及び上記変形例では、下流ノードの状況として、下流ノードが接続する回線速度(ネットワーク帯域)を考慮したが、コンテンツ分割管理処理における下流ノードの状況はこれに限定されず、例えば、ストレージの空き容量やノードの処理能力、ノードのビジー状況を加味してもよい。
さらには、純粋型P2Pネットワークではないが、各ノードとは別に、公開コンテンツを備えるバックアップ機能のサーバを用意し、何らかのアクシデントでノード間同士のコンテンツ配信が機能しない場合には、このサーバからコンテンツをダウンロードできるようにしてもよい。この場合には、上記実施の形態に係るコンテンツ配信方法の安定性をより高めることができる。
以上、本発明の実施の形態について説明してきたが、本発明は、上述した実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲において、本発明の実施の形態に対して種々の変形や変更を施すことができ、そのような変形や変更を伴うものもまた、本発明の技術的範囲に含まれるものである。
【0004】
テンツ配送の効率を高めているP2Pネットワークであるが、下流ノードも対しても、それ相応の負担を負わせることができれば、よりP2Pネットワーク全体の効率化を図ることができる。
[0012]
本発明は、上記の問題を解決するためになされたものであり、その課題の一例としては、接続している回線の速度によって、上流及び下流のノードを定義づけ、コンテンツのファイル内容や存在場所を示すタグ情報を用いて、ノード間のコンテンツ配信を行うP2Pネットワークにおいて、上流ノードの負担を軽減させて、よりP2Pネットワーク全体の効率化を図ることができるコンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラムを提供することにある。
課題を解決するための手段
[0013]
上記の課題を達成するため、請求項1記載のコンテンツ配信装置は、コンテンツの内容、前記コンテンツを保持する保持ノードの位置、及び前記コンテンツのいずれの部分を保持しているか示す部分情報を含むタグ情報を流通させ、前記タグ情報を検索することにより、所望のコンテンツを見つけて、ノード間のコンテンツ配信を行うP2Pネットワークの各ノードを構成するコンテンツ配信装置であって、ノードにおけるコンテンツの管理とは、少なくとも、配信対象コンテンツの実体の存在位置を示す位置情報と、前記配信対象コンテンツの前記部分情報と、を備えた管理情報を保持することであり、自ノードと隣接するノードの状況に関する情報を取得する隣接ノード状況取得手段と、前記隣接ノード状況取得手段により取得した隣接ノードの状況に応じて、自ノードが管理する配信対象コンテンツから、前記隣接ノードに管理依頼するコンテンツの部分の容量を決定するコンテンツ容量決定手段と、前記コンテンツ容量決定手段により決定したコンテンツの部分を前記隣接ノードに管理依頼するコンテンツ管理依頼手段と、前記隣接ノードから、コンテンツ管理可能な返答を受信したときは、前記隣接ノードに対して、前記コンテンツ容量決定手段により決定した容量に基づいた前記部分情報を備えた前記管理情報を送信する管理情報送信手段と、自ノードが管理する配信対象コンテンツの部分に基づいて、前記タグ情報を作成し、作成したタグ情報を他ノードに送信するタグ情報流通手段と、前記配信対象コンテンツのダウンロード要求を受信するコンテンツ転送要求受信手段と、前記コンテンツ転送要求受信手段で受信したダウンロード要求が、自ノードで管理する配信対象コンテンツに対するダウンロード要求であって、自ノードに前記配信対象コンテンツの実体を保持していないときは、前記管理情報の前記位置情報に従って、前記配信対象コンテンツを保持するノードにアクセスし、前記管理情報の前記部分情報に従って、前記配信対象コンテンツの該当部分を自ノードにダウンロードするとともに、前記ダウンロード要求したノードに対してアップロードするコンテンツ転送手段と、を有することを特徴とする。
[0014]
また、請求項6記載のコンテンツ配信方法は、コンテンツの内容、前記コンテンツを
【0005】
保持する保持ノードの位置、及び前記コンテンツのいずれの部分を保持しているか示す部分情報を含むタグ情報を流通させ、前記タグ情報を検索することにより、所望のコンテンツを見つけて、ノード間のコンテンツ配信を行うP2Pネットワークのコンテンツ配信方法であって、ノードにおけるコンテンツの管理とは、少なくとも、配信対象コンテンツの実体の存在位置を示す位置情報と、前記配信対象コンテンツの前記部分情報と、を備えた管理情報を保持することであり、前記P2Pネットワークのノードは、自ノードと隣接するノードの状況に関する情報を取得する隣接ノード状況取得ステップと、前記隣接ノード状況取得ステップにより取得した隣接ノードの状況に応じて、自ノードが管理する配信対象コンテンツから、前記隣接ノードに管理依頼するコンテンツの部分の容量を決定するコンテンツ容量決定ステップと、前記コンテンツ容量決定ステップにより決定したコンテンツの部分を前記隣接ノードに管理依頼するコンテンツ管理依頼ステップと、前記隣接ノードから、コンテンツ管理可能な回答を受信したときは、前記隣接ノードに対して、前記コンテンツ容量決定ステップにより決定した容量に基づいた前記部分情報を備えた前記管理情報を送信する管理情報送信ステップと、自ノードが管理する配信対象コンテンツの部分に基づいて、前記タグ情報を作成し、作成したタグ情報を他ノードに送信するタグ情報流通ステップと、前記配信対象コンテンツのダウンロード要求を受信するコンテンツ転送要求受信ステップと、前記コンテンツ転送要求受信ステップで受信したダウンロード要求が、自ノードで管理する配信対象コンテンツに対するダウンロード要求であって、自ノードに前記配信対象コンテンツの実体を保持していないときは、前記管理情報の前記位置情報に従って、前記配信対象コンテンツを保持するノードにアクセスし、前記管理情報の前記部分情報に従って、前記配信対象コンテンツの該当部分を自ノードにダウンロードするとともに、前記ダウンロード要求したノードに対してアップロードするコンテンツ転送ステップと、を有することを特徴とする。
図面の簡単な説明
[0015]
[図1]従来のコンテンツ配信方法の概要を示すP2Pネットワークの図である。
[図2]従来のコンテンツ配信方法の概要を示すP2Pネットワークの図である。
[図3]本発明の第1の実施の形態に係るコンテンツ配信方法の概要を示すP2Pネットワークの図である。
[図4]本発明の第1の実施の形態に係るコンテンツ配信方法の概要を示すP2Pネットワークの図である。
[図5]本発明の第1の実施の形態に係るP2Pネットワークにおいて流通されるタグ情報及びコンテンツのフォーマットを示す図である。
[図6]本発明の第1の実施の形態に係るP2Pネットワークにおいて使用されるノード情報のフォーマットを示す図である。

Claims (7)

  1. コンテンツの内容、前記コンテンツを保持する保持ノードの位置、及び前記コンテンツのいずれの部分を保持しているか示す部分情報を含むタグ情報を流通させ、前記タグ情報を検索することにより、所望のコンテンツを見つけて、ノード間のコンテンツ配信を行うP2Pネットワークの各ノードを構成するコンテンツ配信装置であって、
    ノードにおけるコンテンツの管理とは、少なくとも、前記配信対象コンテンツの実体の存在位置を示す位置情報と、当該ノードで管理すべき配信対象コンテンツの部分情報と、を備えた管理情報を保持することであり、
    自ノードと隣接するノードの状況に関する情報を取得する隣接ノード状況取得手段と、
    前記隣接ノード状況取得手段により取得した隣接ノードの状況に応じて、自ノードが管理する配信対象コンテンツから、前記隣接ノードに管理依頼するコンテンツの部分の容量を決定するコンテンツ容量決定手段と、
    前記コンテンツ容量決定手段により決定したコンテンツの部分を前記隣接ノードに管理依頼するコンテンツ管理依頼手段と、
    前記隣接ノードから、コンテンツ管理可能な返答を受信したときは、前記隣接ノードに対して、前記コンテンツ容量決定手段により決定した容量に基づいた前記管理情報を送信する管理情報送信手段と、
    自ノードが管理する配信対象コンテンツの部分に基づいて、前記タグ情報を作成し、作成したタグ情報を他ノードに送信するタグ情報流通手段と、
    を有することを特徴とするコンテンツ配信装置。
  2. 隣接ノードから前記管理情報を受信する管理情報受信手段を備え、
    前記タグ情報流通手段は、
    受信した管理情報の部分情報に基づいて、前記タグ情報を作成し、作成したタグ情報を他ノードに送信することを特徴とする請求項1記載のコンテンツ配信装置。
  3. 前記配信対象コンテンツのダウンロード要求を受信するコンテンツ転送要求受信手段と、
    前記コンテンツ転送要求受信手段で受信したダウンロード要求が、自ノードで管理する配信対象コンテンツに対するダウンロード要求であるときは、前記位置情報に従って、前記配信対象コンテンツを保持するノードにアクセスし、前記部分情報に従って、前記配信対象コンテンツの該当部分を自ノードにダウンロードするとともに、前記ダウンロード要求したノードに対してアップロードするコンテンツ転送手段と、
    を有することを特徴とする請求項1又は2記載のコンテンツ配信装置。
  4. 複数のノードから並行して前記配信対象コンテンツをダウンロードするコンテンツ受信手段と、
    ダウンロードした複数の前記配信対象コンテンツを統合して元の前記配信対象コンテンツを復元するコンテンツ統合手段と、
    を有することを特徴とする請求項3記載のコンテンツ配信装置。
  5. 前記自ノードと隣接するノードの状況に関する情報は、
    前記自ノードと隣接するノードが接続する通信ネットワークの回線速度に関する情報を含み、
    前記コンテンツ容量決定手段は、
    前記回線速度に関する情報に基づいて、管理依頼するコンテンツの容量を決定することを特徴とする請求項1乃至4のいずれか1項に記載のコンテンツ配信装置。
  6. コンテンツの内容、前記コンテンツを保持する保持ノードの位置、及び前記コンテンツのいずれの部分を保持しているか示す部分情報を含むタグ情報を流通させ、前記タグ情報を検索することにより、所望のコンテンツを見つけて、ノード間のコンテンツ配信を行うP2Pネットワークのコンテンツ配信方法であって、
    ノードにおけるコンテンツの管理とは、少なくとも、前記配信対象コンテンツの実体の存在位置を示す位置情報と、当該ノードで管理すべき配信対象コンテンツの部分情報と、を備えた管理情報を保持することであり、
    前記P2Pネットワークのノードは、
    自ノードと隣接するノードの状況に関する情報を取得する隣接ノード状況取得ステップと、
    前記隣接ノード状況取得ステップにより取得した隣接ノードの状況に応じて、自ノードが管理する配信対象コンテンツから、前記隣接ノードに管理依頼するコンテンツの部分の容量を決定するコンテンツ容量決定ステップと、
    前記コンテンツ容量決定ステップにより決定したコンテンツの部分を前記隣接ノードに管理依頼するコンテンツ管理依頼ステップと、
    前記隣接ノードから、コンテンツ管理可能な回答を受信したときは、前記隣接ノードに対して、前記コンテンツ容量決定手段により決定した容量に基づいた前記管理情報を送信する管理情報送信ステップと、
    自ノードが管理する配信対象コンテンツの部分に基づいて、前記タグ情報を作成し、作成したタグ情報を他ノードに送信するタグ情報流通ステップと、
    を有することを特徴とするコンテンツ配信方法。
  7. コンピュータを、請求項1乃至5記載のいずれか1項に記載のコンテンツ配信装置として機能させることを特徴とするコンテンツ配信プログラム。
JP2009520218A 2007-06-22 2007-06-22 コンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラム Active JP4473942B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/062603 WO2009001416A1 (ja) 2007-06-22 2007-06-22 コンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラム

Publications (2)

Publication Number Publication Date
JP4473942B2 JP4473942B2 (ja) 2010-06-02
JPWO2009001416A1 true JPWO2009001416A1 (ja) 2010-08-26

Family

ID=40185250

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009520218A Active JP4473942B2 (ja) 2007-06-22 2007-06-22 コンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラム

Country Status (4)

Country Link
US (1) US8250171B2 (ja)
EP (1) EP2169559A4 (ja)
JP (1) JP4473942B2 (ja)
WO (1) WO2009001416A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9538141B2 (en) 2007-12-31 2017-01-03 Alcatel Lucent Method and apparatus for controlling presentation of content at a user terminal
US20090168752A1 (en) 2007-12-31 2009-07-02 Jonathan Segel Method and apparatus for distributing content
US20090296942A1 (en) * 2008-05-29 2009-12-03 International Business Machines Corporation Concept for securing and validating client-side storage and distribution of asynchronous includes in an application server environment
US20100121914A1 (en) * 2008-11-11 2010-05-13 Sk Telecom Co., Ltd. Contents delivery system and method based on content delivery network provider and replication server thereof
US8583682B2 (en) * 2008-12-30 2013-11-12 Microsoft Corporation Peer-to-peer web search using tagged resources
JP5532649B2 (ja) * 2009-03-27 2014-06-25 ブラザー工業株式会社 ノード装置、ノード処理プログラム及びコンテンツ保存方法
US8570962B2 (en) 2010-06-22 2013-10-29 Blackberry Limited Information selection in a wireless communication system
US9385938B2 (en) 2010-06-22 2016-07-05 Blackberry Limited Information distribution in a wireless communication system
CN102438020A (zh) * 2011-12-23 2012-05-02 华为技术有限公司 内容分发网络中内容分发的方法、设备和网络系统
EP3376407B1 (en) 2017-03-15 2020-09-16 censhare AG Efficient use of trie data structure in databases
JPWO2019187493A1 (ja) * 2018-03-26 2021-04-22 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
CN110839069B (zh) * 2019-11-04 2021-09-24 深圳市网心科技有限公司 一种节点数据部署方法、部署节点、系统及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002032280A (ja) * 2000-07-13 2002-01-31 Ism Consulting Firm Kk 分散型サーバによるコンテンツ及びソフトウェア配信サービスシステム、及び分散型サーバによるコンテンツ及びソフトウェア配信方法、並びに情報記憶媒体
JP2003244678A (ja) * 2002-02-15 2003-08-29 Nippon Telegr & Teleph Corp <Ntt> 特定シーンコンテンツ配信システム
JP2007073003A (ja) * 2005-09-09 2007-03-22 Canon Inc データ保全装置及びその方法及びそのプログラム記録媒体

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7653689B1 (en) * 2002-05-17 2010-01-26 Abacast, Inc. Intelligent virtual content distribution network system and method
JP4561283B2 (ja) * 2004-09-30 2010-10-13 ブラザー工業株式会社 ノード装置、共用情報更新方法、共用情報保存方法、共用情報更新処理プログラム、及び共用情報保存処理プログラム
JP2006178782A (ja) 2004-12-22 2006-07-06 Fuji Xerox Co Ltd 情報処理方法、配信情報の処理方法、配信情報処理プログラム及び配信処理装置
DE102006021591B3 (de) * 2006-05-09 2007-04-05 Siemens Ag Verfahren und Anordnung zur Datenübertragung zwischen Peer-to-Peer-Netzwerken
JP4640307B2 (ja) * 2006-09-29 2011-03-02 ブラザー工業株式会社 コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信システムにおける端末装置及びそのプログラム
US8086629B2 (en) * 2007-03-29 2011-12-27 Pioneer Corporation Content delivery apparatus, content delivery method, and content delivery program
JP5336403B2 (ja) * 2010-02-24 2013-11-06 富士通株式会社 ノード装置およびコンピュータプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002032280A (ja) * 2000-07-13 2002-01-31 Ism Consulting Firm Kk 分散型サーバによるコンテンツ及びソフトウェア配信サービスシステム、及び分散型サーバによるコンテンツ及びソフトウェア配信方法、並びに情報記憶媒体
JP2003244678A (ja) * 2002-02-15 2003-08-29 Nippon Telegr & Teleph Corp <Ntt> 特定シーンコンテンツ配信システム
JP2007073003A (ja) * 2005-09-09 2007-03-22 Canon Inc データ保全装置及びその方法及びそのプログラム記録媒体

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND200501030001, "Winnyの技術に迫る", NETWORK MAGAZINE, 20050201, 第10巻,第2号, p.28−31, JP, 株式会社アスキー *
JPN6010005389, "Winnyの技術に迫る", NETWORK MAGAZINE, 20050201, 第10巻,第2号, p.28−31, JP, 株式会社アスキー *

Also Published As

Publication number Publication date
WO2009001416A1 (ja) 2008-12-31
US20100250674A1 (en) 2010-09-30
EP2169559A1 (en) 2010-03-31
EP2169559A4 (en) 2011-11-09
JP4473942B2 (ja) 2010-06-02
US8250171B2 (en) 2012-08-21

Similar Documents

Publication Publication Date Title
JP4473942B2 (ja) コンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラム
JP4861472B2 (ja) コンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラム
RU2343536C2 (ru) Механизм одноранговой широковещательной передачи информационного содержания
CN100588172C (zh) 一种实现网络预订存储的系统和方法
US20070297422A1 (en) Information delivery system, delivery request program, transfer program, delivery program, and the like
JP2008516528A (ja) ネットワークのサービスノードの特定
WO2006075424A1 (ja) 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等
JP5970541B2 (ja) 情報処理システム、管理サーバ群、および、サーバ管理プログラム
JP4715388B2 (ja) 情報配信システム、情報配信方法、情報配信システムに含まれるノード装置および情報処理プログラム
CN104735044A (zh) 一种流媒体直播方法及系统
JP2008234206A (ja) 情報送信システム、情報処理装置、情報管理装置及び情報送信方法
JP2006101277A (ja) 情報通信システム、ノード装置、及びオーバーレイネットワーク形成方法等
CN115004665B (zh) 文件分享方法、装置及系统
KR101055265B1 (ko) P2p 서비스 제공장치 및 방법, 그리고 p2p 네트워크를 구성하는 피어노드에서의 데이터 교환방법을 컴퓨터에서 실행시키기 위한 기록매체
Kothari et al. Implementation of a distributed p2p storage network
KR20090006504A (ko) 아이피 멀티미디어 서브시스템에서 피투피 서비스 제공방법 및 장치
JP5521533B2 (ja) 情報処理装置、通信システム、制御方法及び制御プログラム
JP5375272B2 (ja) ノード装置、ノード処理プログラム、情報通信システム及びコンテンツデータ管理方法
JP4983183B2 (ja) ノード装置、情報分割保存システム、情報処理プログラム及び情報利用方法
JP5157770B2 (ja) ノード装置、プログラム及び保存指示方法
JP5338774B2 (ja) 配信システム、情報処理装置、情報処理プログラム、及びコンテンツ投入方法
JP5347876B2 (ja) 情報通信システム、ノード装置、コンテンツ取得方法及びプログラム
JP5494362B2 (ja) 配信システム、情報処理装置、プログラム、及びコンテンツ投入方法
JP2010102573A (ja) ノード装置、ノード処理プログラム及びデータファイル改変方法
JP2009129161A (ja) コンテンツ分散保存システム、コンテンツ評価値決定方法、配信装置、及び配信処理プログラム

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100209

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100305

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150