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

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

Info

Publication number
JP4861472B2
JP4861472B2 JP2009507357A JP2009507357A JP4861472B2 JP 4861472 B2 JP4861472 B2 JP 4861472B2 JP 2009507357 A JP2009507357 A JP 2009507357A JP 2009507357 A JP2009507357 A JP 2009507357A JP 4861472 B2 JP4861472 B2 JP 4861472B2
Authority
JP
Japan
Prior art keywords
content
node
tag information
divided
distribution
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.)
Expired - Fee Related
Application number
JP2009507357A
Other languages
English (en)
Other versions
JPWO2008120366A1 (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
Publication of JPWO2008120366A1 publication Critical patent/JPWO2008120366A1/ja
Application granted granted Critical
Publication of JP4861472B2 publication Critical patent/JP4861472B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • G06F16/1837Management specially adapted to peer-to-peer storage networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1089Hierarchical topologies
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/912Applications of a database
    • Y10S707/913Multimedia
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/964Database arrangement
    • Y10S707/966Distributed
    • Y10S707/967Peer-to-peer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Description

【技術分野】
【0001】
本発明は、P2P(Peer to Peer)ネットワークにおいて、コンテンツを配信する技術に関し、詳しくは、P2P(Peer to Peer)ネットワークにおけるコンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラムに関する。
【背景技術】
【0002】
現在、通信ネットワークを介したデータの配布形態として、P2P(ピア・ツー・ピア;Peer to Peer)と呼ばれる形態が広まってきている。従来型のコンテンツ配信では、事業者等が管理するサーバからそれぞれの利用者がファイルをダウンロードするのに対し、P2Pによるコンテンツ流通では、デジタルコンテンツを一元的に蓄積するサーバは設けられず、その代わりに利用者同士が自分のパソコン上に保管されたデジタルコンテンツを直接交換しあうことができる。
【0003】
図1は、高速な通信ネットワークに接続しているノード(コンピュータ)を上流ノード、低速な通信ネットワークに接続しているノード(コンピュータ)を下流ノードと位置づけ、上流ノードほど、コンテンツやコンテンツのインデックス情報が集まるようして、コンテンツ検索やコンテンツ配送の効率を高めているP2Pネットワーク90を示している(図1は簡略化した図であり、実際には、下流ノードのさらに下、または上流ノードのさらに上に何階層ものネットワークが構成されている場合もあるし、上流・下流の2階層のネットワークが構成されている場合もある)。
【0004】
図1に示すP2Pネットワーク90においては、コンテンツを検索するノードは、隣接する上流ノードに検索依頼を出すと、その上流ノードは自身の管理するコンテンツリスト(コンテンツのインデックス情報を集めたリスト)から依頼されたコンテンツを検索し、下流ノードに対してコンテンツを公開しているノードの場所を返答するようになっている。なお、自身の管理するコンテンツリストにない場合は、さらに上流のノードもしくは対等のノードに対して検索依頼をする。
【0005】
下流ノードは、このようにして上流ノードから検索結果を受け取ると、その返答に記載されているノードに接続し、コンテンツのダウンロードを行う。
【0006】
例えば、上述したP2Pネットワーク90を形成するP2Pファイル共有ソフトウェアのWinnyにおいては、コンテンツを流通させるために、コンテンツを保持するノードの場所(IPアドレス、ポート番号;以下、ファイル位置情報という)などを記入したコンテンツに関するタグ情報を生成し、隣接する上流ノードへ配布する。受け取った上流ノードはさらに上流ノードや対等ノードへタグ情報を配布する。これにより上流へ多くのタグ情報が集められ、上流ノードがタグ情報リスト、つまりコンテンツリストを管理することになる。このようにWinnyによって形成されるP2Pネットワーク90においては、上流ノードほど、多くのタグ情報を保持することとなる。
【0007】
また、Winnyにおいては、上述したタグ情報の拡散の途中に一定の確率でタグ情報(ファイル位置情報)の書き換えが行われるので、この書き換えられたタグ情報を受け取って、コンテンツのダウンロードをしようとするノードは、このタグ情報に記されたファイル位置情報の上流ノードにダウンロード要求を出す。しかしながら、この上流ノードは、実際にはコンテンツを保持していないので、自らのコンテンツリストを検索し、実際にコンテンツを保持しているノードからコンテンツをダウンロードするとともに、ダウンロード要求をしたノードに対しても、このコンテンツをアップロードする。この結果、検索元のノードに検索要求のコンテンツがダウンロードされるとともに、コンテンツ配信を中継した上流ノードにおいても、コンテンツが保持されることとなる。このようにWinnyによって形成されるP2Pネットワーク90においては、上流ノードは、コンテンツ配信の中継ノードになり得るため、多くの公開されたコンテンツを保持することとなる(コンテンツをダウンロードしたノードもコンテンツ公開ノードとなる)。
【0008】
図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をダウンロードする。
【0009】
また、図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にも転送配置され、コンテンツの配布効率がよくなるようになっている。
【0010】
【特許文献1】
特開2006−178782号公報
【非特許文献1】
金子勇著,「Winnyの技術」,株式会社アスキー,2005年10月
【発明の開示】
【発明が解決しようとする課題】
【0011】
上述したようなP2Pネットワーク90においては、上流ノードほど多くのコンテンツ及びタグ情報が集まるようになっているので、上流ノードほど検索処理などのコンテンツ管理の負担が大きいという問題がある。勿論、P2Pネットワーク90は、上流ノードほど、コンテンツやコンテンツのインデックス情報が集まるようして、コンテンツ検索やコンテンツ配送の効率を高めているP2Pネットワークであるが、下流ノードも対しても、それ相応の負担を負わせることができれば、よりP2Pネットワーク全体の効率化を図ることができる。
[0012]
本発明は、上記の問題を解決するためになされたものであり、その課題の一例としては、接続している回線の速度によって、上流及び下流のノードを定義づけ、コンテンツのファイル内容や存在場所を示すタグ情報を用いて、ノード間のコンテンツ配信を行うP2Pネットワークにおいて、上流ノードの負担を軽減させて、よりP2Pネットワーク全体の効率化を図ることができるコンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラムを提供することにある。
課題を解決するための手段
[0013]
上記の課題を達成するため、請求項1記載のコンテンツ配信装置は、配信対象コンテンツの内容及び前記配信対象コンテンツを保持する保持ノードの位置を示すタグ情報を隣接ノードに送信する送信元ノードを下流ノード、前記タグ情報を受信する送信先ノードを上流ノードと定義し、前記上流ノードほど、前記タグ情報が集まるようにして、コンテンツ検索やコンテンツ配信の効率を高めているP2Pネットワークの各ノードを構成するコンテンツ配信装置であって、自ノードが保持する配信対象コンテンツのタグ情報、及び自ノードに隣接する下流ノードから受信したタグ情報を記憶するタグ情報記憶手段と、前記タグ情報記憶手段に記憶されたタグ情報の中に、同一の前記コンテンツを分割して生成した分割コンテンツに対する複数の分割タグ情報、又は複数のコンテンツからなる1の集合をコンテンツ単位で分割して生成した分割コンテンツに対する複数の分割タグ情報が存在する場合には、この複数の分割タグ情報を統合した統合タグ情報を作成して、前記タグ情報記憶手段に記憶するとともに、統合された複数の分割タグ情報を内部的に管理する内部タグ情報記憶手段に記憶するタグ情報統合手段と、前記統合タグ情報を自ノードに隣接する上流ノードに送信するタグ情報流通手段と、他ノードからのダウンロード要求に応じて、自ノードが保持する配信対象コンテンツをダウンロード要求したノードにアップロードするコンテンツ送信手段と、を有し、前記タグ情報は、全体コンテンツのいずれの部分を保持するかを示す部分情報を備え、前記タグ情報統合手段は、前記複数の分割コンテンツの分割タグ情報における部分情報を統合するとともに、前記保持ノードの位置を自ノードとして、前記統合タグ情報を作成し、前記コンテンツ送信手段は、自ノードが配信対象コンテンツを保持する場合には、前記配信対象コンテンツを前記ダウンロード要求したノードにアップロードする手段と、自ノードが配信対象コンテンツを保持しない場合であって、自ノードが前記配信対象コンテンツと同一コンテンツの複数の分割タグ情報を前記内部タグ情報記憶手段に記憶している場合には、前記内部タグ情報記憶手段に記憶された複数の分割タグ情報を前記ダウンロード要求したノードに送信する手段と、を備えることを特徴とする。
【0014】
請求項8記載のコンテンツ配信装置は、自ノードより高速な通信ネットワークに接続しているノードを上流ノード、自ノードより低速な通信ネットワークに接続しているノードを下流ノードと定義し、前記上流ノードほど、配信対象コンテンツ、並びに前記配信対象コンテンツの内容及び前記配信対象コンテンツを保持する保持ノードの位置を示すタグ情報が集まるようにして、コンテンツ検索やコンテンツ配信の効率を高めているP2Pネットワークの各ノードを構成するコンテンツ配信装置であって、自ノードと隣接するそれぞれの下流ノードの状況に関する情報を取得する下流ノード状況取得手段と、前記下流ノード状況取得手段により取得したそれぞれの下流ノードの状況に応じて、それぞれの下流ノードに配布する分割コンテンツの容量を決定し、決定されたそれぞれの容量に従って、自ノードが保持する配信対象コンテンツを分割するコンテンツ分割手段と、前記コンテンツ分割手段において分割された配信対象コンテンツを、自ノードと隣接するそれぞれの下流ノードに配布する分割コンテンツ配布手段と、自ノードが保持する配信対象コンテンツのタグ情報、及び自ノードに隣接する下流ノードから受信したタグ情報を記憶するタグ情報記憶手段と、前記タグ情報記憶手段に記憶されたタグ情報の中に、同一コンテンツに対する複数の分割コンテンツのタグ情報が存在する場合には、この複数のタグ情報を統合した新たなタグ情報を作成して、この新たなタグ情報を前記タグ情報記憶手段に記憶するとともに、統合された複数のタグ情報を前記タグ情報記憶手段から削除して、内部的にタグ情報を管理する内部タグ情報記憶手段に記憶するタグ情報統合手段と、前記タグ情報記憶手段に記憶されたタグ情報を適宜、自ノードに隣接する上流ノードに送信するタグ情報流通手段と、コンテンツ検索要求を自ノードに隣接する上流ノードに送信するコンテンツ検索要求送信手段と、自ノードに隣接する下流ノードから前記コンテンツ検索要求を受信したときは、前記タグ情報記憶手段を検索し、前記コンテンツ検索要求に該当するコンテンツのタグ情報がある場合には、当該コンテンツのタグ情報を、前記コンテンツ検索要求を送信した検索要求ノードに送信し、該当するコンテンツのタグ情報がない場合には、自ノードに隣接する上流ノードにさらに前記コンテンツ検索要求を送信するコンテンツ検索手段と、自ノードが送信した前記コンテンツ検索要求の検索結果である複数のタグ情報を受信する検索結果受信手段と、検索結果として受信した複数のタグ情報の保持ノードの位置に基づいて、前記保持ノードそれぞれにアクセスしてダウンロード要求し、前記保持ノードそれぞれから並行して前記分割コンテンツをダウンロードするコンテンツ受信手段と、ダウンロードした分割コンテンツを統合して元のコンテンツを復元するコンテンツ統合手段と、他ノードからのダウンロード要求に応じて、自ノードが保持する配信対象コンテンツをダウンロード要求したノードにアップロードするコンテンツ送信手段と、を有し、前記タグ情報は、全体コンテンツのいずれの部分を保持するかを示す部分情報を備え、前記タグ情報統合手段は、前記複数の分割コンテンツのタグ情報における部分情報を統合するとともに、前記保持ノードの位置を自ノードとして、前記新たなタグ情報を作成し、前記コンテンツ送信手段は、自ノードが配信対象コンテンツを保持する場合には、前記配信対象コンテンツを前記ダウンロード要求したノードにアップロードする手段と、自ノードが配信対象コンテンツを保持しない場合であって、自ノードが前記配信対象コンテンツと同一コンテンツの複数のタグ情報を前記内部タグ情報記憶手段に記憶している場合には、前記内部タグ情報記憶手段に記憶された複数のタグ情報を前記ダウンロード要求したノードに送信する手段と、を備えることを特徴とする。
【0015】
また、請求項9記載のコンテンツ配信方法は、配信対象コンテンツの内容及び前記配信対象コンテンツを保持する保持ノードの位置を示すタグ情報を隣接ノードに送信する送信元ノードを下流ノード、前記タグ情報を受信する送信先ノードを上流ノードと定義し、前記上流ノードほど、前記タグ情報が集まるようにして、コンテンツ検索やコンテンツ配信の効率を高めているP2PネットワークのP2Pネットワークのコンテンツ配信方法であって、前記P2Pネットワークのノードは、自ノードが保持する配信対象コンテンツのタグ情報、及び自ノードに隣接する下流ノードから受信したタグ情報をタグ情報記憶手段に記憶するタグ情報記憶ステップと、前記タグ情報記憶手段に記憶されたタグ情報の中に、同一の前記コンテンツを分割して生成した分割コンテンツに対する複数の分割タグ情報、又は複数のコンテンツからなる1の集合をコンテンツ単位で分割して生成した分割コンテンツに対する複数の分割タグ情報が存在する場合には、この複数の分割タグ情報を統合した統合タグ情報を作成して、前記タグ情報記憶手段に記憶するとともに、統合された複数の分割タグ情報を内部的に管理する内部タグ情報記憶手段に記憶するタグ情報統合ステップと、前記統合タグ情報を自ノードに隣接する上流ノードに送信するタグ情報流通ステップと、他ノードからのダウンロード要求に応じて、自ノードが保持する配信対象コンテンツをダウンロード要求したノードにアップロードするコンテンツ送信ステップと、を有し、前記タグ情報は、全体コンテンツのいずれの部分を保持するかを示す部分情報を備え、前記タグ情報統合ステップは、前記複数の分割コンテンツの分割タグ情報における部分情報を統合するとともに、前記保持ノードの位置を自ノードとして、前記統合タグ情報を作成し、前記コンテンツ送信ステップは、自ノードが配信対象コンテンツを保持する場合には、前記配信対象コンテンツを前記ダウンロード要求したノードにアップロードするステップと、自ノードが配信対象コンテンツを保持しない場合であって、自ノードが前記配信対象コンテンツと同一コンテンツの複数の分割タグ情報を前記内部タグ情報記憶手段に記憶している場合には、前記内部タグ情報記憶手段に記憶された複数の分割タグ情報を前記ダウンロード要求したノードに送信するステップと、を備えることを特徴とする。
【0016】
また、請求項10記載のコンテンツ配信プログラムは、配信対象コンテンツの内容及び前記配信対象コンテンツを保持する保持ノードの位置を示すタグ情報を隣接ノードに送信する送信元ノードを下流ノード、前記タグ情報を受信する送信先ノードを上流ノードと定義し、前記上流ノードほど、前記タグ情報が集まるようにして、コンテンツ検索やコンテンツ配信の効率を高めているP2Pネットワークの各ノードが読み取り可能なコンテンツ配信プログラムであって、自ノードが保持する配信対象コンテンツのタグ情報、及び自ノードに隣接する下流ノードから受信したタグ情報を記憶するタグ情報記憶手段と、前記タグ情報記憶手段に記憶されたタグ情報の中に、同一の前記コンテンツを分割して生成した分割コンテンツに対する複数の分割タグ情報、又は複数のコンテンツからなる1の集合をコンテンツ単位で分割して生成した分割コンテンツに対する複数の分割タグ情報が存在する場合には、この複数の分割タグ情報を統合した統合タグ情報を作成して、前記タグ情報記憶手段に記憶するとともに、統合された複数の分割タグ情報を内部的に管理する内部タグ情報記憶手段に記憶するタグ情報統合手段と、前記統合タグ情報を自ノードに隣接する上流ノードに送信するタグ情報流通手段と、他ノードからのダウンロード要求に応じて、自ノードが保持する配信対象コンテンツをダウンロード要求したノードにアップロードするコンテンツ送信手段と、して前記ノードを機能させ、前記タグ情報は、全体コンテンツのいずれの部分を保持するかを示す部分情報を備え、前記タグ情報統合手段は、前記複数の分割コンテンツの分割タグ情報における部分情報を統合するとともに、前記保持ノードの位置を自ノードとして、前記統合タグ情報を作成し、前記コンテンツ送信手段は、自ノードが配信対象コンテンツを保持する場合には、前記配信対象コンテンツを前記ダウンロード要求したノードにアップロードする手段と、自ノードが配信対象コンテンツを保持しない場合であって、自ノードが前記配信対象コンテンツと同一コンテンツの複数の分割タグ情報を前記内部タグ情報記憶手段に記憶している場合には、前記内部タグ情報記憶手段に記憶された複数の分割タグ情報を前記ダウンロード要求したノードに送信する手段と、を備えることを特徴とする。
【図面の簡単な説明】
[0017]
[図1]従来のコンテンツ配信方法の概要を示すP2Pネットワークの図である。
[図2]従来のコンテンツ配信方法の概要を示すP2Pネットワークの図である。
[図3]本発明の第1の実施の形態に係るコンテンツ配信方法の概要を示すP2Pネットワークの図である。
[図4]本発明の第1の実施の形態に係るコンテンツ配信方法の概要を示すP2Pネットワークの図である。
[図5]本発明の第1の実施の形態に係るP2Pネットワークにおいて流通されるタグ情報及びコンテンツのフォーマットを示す図である。
[図6]本発明の第1の実施の形態に係るP2Pネットワークにおいて使用されるノード情報のフォーマットを示す図である。
[図7]1つのコンテンツを分割するときのタグ情報及びコンテンツのフォーマット例である。
[図8]本発明の第1の実施の形態に係るコンテンツ配信装置の概略構成図である。
[図9]本発明の第1の実施の形態に係るコンテンツ配信装置(接続するノード側)のP2Pネットワーク接続処理を示すフローチャートである。
[図10]本発明の第1の実施の形態に係るコンテンツ配信装置(接続されるノード側)のP2Pネットワーク接続処理を示すフローチャートである。
[図11]本発明の第1の実施の形態に係るコンテンツ配信装置(コンテンツ送信側のノード)のコンテンツ分割配布処理を示すフローチャートである。
[図12]本発明の第1の実施の形態に係るコンテンツ配信装置(コンテンツ受信側のノード)のコンテンツ分割配布処理を示すフローチャートである。
【図13】本発明の第1の実施の形態に係るコンテンツ配信装置(タグ情報送信側のノード)のタグ情報流通処理を示すフローチャートである。
【図14】本発明の第1の実施の形態に係るコンテンツ配信装置(タグ情報受信側のノード)のタグ情報流通処理を示すフローチャートである。
【図15】本発明の第1の実施の形態に係るコンテンツ配信装置(コンテンツダウンロード側のノード)のコンテンツ検索転送処理を示すフローチャートである。
【図16】本発明の第1の実施の形態に係るコンテンツ配信装置(コンテンツ検索側のノード)のコンテンツ検索転送処理を示すフローチャートである。
【図17】本発明の第1の実施の形態に係るコンテンツ配信装置(コンテンツアップロード側のノード)のコンテンツ検索転送処理を示すフローチャートである。
【図18】本発明の第1の実施の形態に係るコンテンツ配信方法の変形例の概要を示すP2Pネットワークの図である。
【図19】本発明の第1の実施の形態に係るコンテンツ配信方法の変形例の概要を示すP2Pネットワークの図である。
【図20】本発明の第1の実施の形態に係るコンテンツ配信方法のタグ情報流通の概要を示すP2Pネットワークの図である。
【図21】本発明の第2の実施の形態に係るコンテンツ配信方法のコンテンツ分割配布を説明するP2Pネットワークの図である。
【図22】本発明の第2の実施の形態に係るコンテンツ配信方法のタグ情報流通を説明するP2Pネットワークの図である。
【図23】本発明の第2の実施の形態に係るコンテンツ配信装置の概略構成図である。
【図24】本発明の第2の実施の形態に係るコンテンツ配信装置(タグ情報送信側のノード)のタグ情報流通処理を示すフローチャートである。
【図25】本発明の第2の実施の形態に係るコンテンツ配信装置(タグ情報受信側のノード)のタグ情報流通処理を示すフローチャートである。
【図26】本発明の第2の実施の形態に係るコンテンツ配信装置(コンテンツダウンロード側のノード)のコンテンツ検索転送処理を示すフローチャートである。
【図27】本発明の第2の実施の形態に係るコンテンツ配信装置(コンテンツアップロード側のノード)のコンテンツ検索転送処理を示すフローチャートである。
【符号の説明】
【0018】
α、α0、α0a、α1、α2、α2a、α3、α4、α5、α6 コンテンツ
β、β0、β0a、β1、β2、β2a、β3、β4、β5、β6 タグ情報
γ ノード情報
1 ノード(コンテンツ配信装置)
101 データ送受信部
102 ノード情報管理部
103 ノード情報用ストレージ
104,201 タグ情報管理部
105,203 タグ情報用ストレージ
106 コンテンツ管理部
107 ノード分析部
108 コンテンツ分割部
109 コンテンツ用ストレージ
110 コンテンツ再生部
111 全体制御部
202 タグ整理/統合部
【発明を実施するための最良の形態】
【0019】
以下、本発明の実施の形態を図面を用いて説明する。
【0020】
(第1の実施の形態)
<コンテンツ配信方法>
図3は、本発明の第1の実施の形態に係るコンテンツ配信方法の概要を示すP2Pネットワーク10を示している。ここで、P2Pネットワーク10は、ノードが接続している回線の速度(詳しくは、アップロード速度)によって、上流及び下流のノードを定義づけ(上下関係は、自ノードと接続している他ノードとの間の相対的な関係である)、コンテンツのファイル内容や存在場所を示すタグ情報をネットワーク内に拡散させて、ノード間のコンテンツ配信を行うP2Pネットワークであり、一例としては、WinnyのようなP2Pファイル共有ソフトをインストールしたコンピュータがノードとなって形成するP2Pネットワークである。換言すれば、P2Pネットワーク10は、高速な通信ネットワークに接続しているノードを上流ノード、低速な通信ネットワークに接続しているノードを下流ノードと位置づけ、上流ノードほど、コンテンツやコンテンツのタグ情報が集まるようにして、コンテンツ検索やコンテンツ配送の効率を高めているP2Pネットワークである。なお、本実施の形態に係るコンテンツ配信方法は、各ノード(以下、コンテンツ配信装置ともいう)に本発明の本実施の形態に係るコンテンツ配信プログラムをインストールすることにより、実施可能となるものであり、本実施の形態に係るコンテンツ配信プログラムは、上述したWinnyが備える機能に加えて、公開コンテンツ(配布対象コンテンツ)を分割して、隣接する下流のノードに配信するコンテンツ分割配布機能を具備している。
【0021】
本実施の形態に係るコンテンツ配信方法は、コンテンツ公開ノードが、公開するコンテンツを隣接する下流ノードの状況に応じて分割し、分割したコンテンツを隣接する下流ノードに保持させることにより、その上流ノードだけでなく、その下流ノードに対してもコンテンツ流通の一端を担わせ、下流ノードを有効活用するコンテンツ配信方法である。ここで、下流ノードの状況とは、例えば、下流ノードが接続している回線速度を意味し、下流ノードは、その回線速度に応じた容量の分割コンテンツを自ら保持するようになっている(低速な回線に接続するほど、保持する容量は少なくなる)。そして、コンテンツ検索ノードが、このコンテンツをダウンロードするときには、分割コンテンツを保持する複数の下流ノードから同時に並行してダウンロードするので、ダウンロード処理の高速化を図ることができるものである。このように、本実施の形態に係るコンテンツ配信方法は、下流ノードが接続する通信ネットワークの帯域が小さくても、帯域に応じた容量の分割コンテンツをコンテンツ検索ノードに転送するので、小さなネットワーク帯域を有効に使用することができ、下流ノードを有効活用できるコンテンツ配信方法となっている。
【0022】
以下、図3及び図4を用いて、具体的に説明する。
【0023】
例えば、図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を作成して、隣接する上流ノードに配布する。
【0024】
ここで、図3に示す記号の説明をすると、ノードAにおけるタグ情報β0は、コンテンツα0がノードAにあること、及び全体コンテンツ(分割されていないコンテンツ)を保持していることを示している。「11111111」はビットマップ情報を示しており、コンテンツを8ブロックに分割した分割コンテンツのいずれの部分を保持しているかを1(保持)又は0(不保持)で示しており、タグ情報ベータβ0は、8ブロックすべて(全体コンテンツ)を保持していることを示している。同様にして、タグ情報β1は、コンテンツα0の3/8(前半部分)をノードCが保持していること、タグ情報β2は、コンテンツα0の5/8(後半部分)をノードDが保持していることを示している。
【0025】
なお、分割コンテンツを受け取って、保持するノードは、さらに隣接する下流のノードに対して、コンテンツ保持依頼を出すことができる。例えば、図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を作成して、隣接する上流ノードに配布する。
【0026】
このように、本実施の形態に係るコンテンツ配信方法においては、複数の階層のノードに渡って1つのコンテンツを分割することができるので、元のコンテンツは細分化されて、より下流のノードに分散配置されることとなり、P2Pネットワーク10全体のコンテンツ配置に偏りがなくなる。
【0027】
一方、図4に示すノードEがコンテンツα0のダウンロードを行う場合には、ノードEが、コンテンツα0に対する検索問い合わせを隣接する上流のノードに送信すると、上流のノードからコンテンツα0の分割コンテンツの存在位置を示すタグ情報β1〜β6を受信するので、このタグ情報β1〜β6に従って、コンテンツα0の分割コンテンツを保持するノードから、コンテンツα0の分割コンテンツをダウンロードする。図4に示す例では、ノードEは、ノードC、W、X、Y、及びZからコンテンツα0の分割コンテンツを並行して同時にダウンロードし、ダウンロードした後、分割コンテンツを合わせて1つのコンテンツα0を復元している。勿論、ノードEは、タグ情報β0も受け取り可能なので、全体コンテンツであるコンテンツαをダウンロードしてもよい。
【0028】
このように、本実施の形態に係るコンテンツ配信方法においては、複数の下流ノードから、複数の分割されたコンテンツを同時に並行してダウンロードするので、下流ノードを有効活用しつつ、ダウンロードの高速化を図ることができるようになっている。
【0029】
<データ構成>
図5は、P2Pネットワーク10において流通されるコンテンツα、及びタグ情報βのデータフォーマットを示している。なお、本実施の形態においては、全体コンテンツ及び全体コンテンツに対応するタグ情報を意図するときは、コンテンツα0、タグ情報β0のように0を付して表記し、分割コンテンツ及び分割コンテンツに対応するタグ情報を意図するときは、コンテンツα1、α2、…、αN(Nは自然数)、タグ情報β1、β2、…、βN(Nは自然数)のように自然数を付して表記したが、その両者を含めたコンテンツ一般、タグ情報一般を意味するときはコンテンツα、タグ情報βと表記することとする。
【0030】
タグ情報βは、コンテンツαの内容や存在場所を示すインデックス情報であり、コンテンツαとは1対1に対応する。タグ情報βは、詳しくは、コンテンツαを一意に識別可能なコンテンツID(全体コンテンツと当該全体コンテンツを分割した分割コンテンツのコンテンツIDは同一である)、分割したコンテンツの部分情報であるビットマップ情報(分割したコンテンツのいずれのブロックであるかを示す情報)、コンテンツ関連情報(例えば、コンテンツのタイトル、出演者、ジャンル、サムネイル画像、時間、サイズ、暗号鍵購入先など)、分割コンテンツを収集後、完全に収集できたか否かを検証するためのチェックサム、このタグ情報βに対応するコンテンツαを保持しているノードのアドレスであるコンテンツ保持位置(IPアドレス、ポート番号)を備えている。
【0031】
コンテンツαは、ヘッダ情報であるコンテンツヘッダと、コンテンツの実体であるコンテンツデータから構成されており、コンテンツヘッダは、上述したコンテンツID、ビットマップ情報、及びチェックサムを備えている。
【0032】
図6は、P2Pネットワーク10において用いられるノード情報γのデータフォーマットを示している。ノード情報γは、ノードがP2Pネットワーク10に参加するために必要な情報であり、詳しくは、ノードを一意に識別可能なノードID、ノード関連情報(例えば、名前、回線速度、対応言語やリージョン、嗜好、登録コミュニティ、ストレージ空き容量など)、ノードのアドレスであるノード位置(IPアドレス、ポート番号)を備えている。
【0033】
図7は、1つのコンテンツを分割したときのタグ情報及びコンテンツのデータフォーマットを具体的に示している。図7においては、ノードAが保持しているコンテンツα0(全部で4ブロックから構成されている)を2分割して、ノードSがコンテンツα1、ノードTがコンテンツα2を保持するときの様子を示している。タグ情報β1は、ノードSが3ブロック分(ブロック1、2、3)の分割コンテンツα1を備えていること、タグ情報β2は、ノードSが1ブロック分(ブロック4)の分割コンテンツα2を備えていることを示している。
【0034】
<コンテンツ配信装置の構成>
図8は、P2Pネットワーク10のノード(コンテンツ配信装置)1の概略構成図である。ここで、コンテンツ配信装置1は、インターネット網などの通信ネットワークを介して、データの送受信が可能な端末装置であり、例えば、パーソナルコンピュータ(以下、PC)などのコンピュータの他、DVDレコーダ、DVDプレーヤ、テレビ、携帯電話、PDAなどの情報家電が想定される。
【0035】
コンテンツ配信装置1は、データ送受信部101、ノード情報管理部102、ノード情報用ストレージ103、タグ情報管理部104、タグ情報用ストレージ105、コンテンツ管理部106、ノード分析部107、コンテンツ分割部108、コンテンツ用ストレージ109、コンテンツ再生部110、及び全体制御部111を具備する構成である。
【0036】
データ送受信部101は、他ノードと情報の送受信を行う。具体的には、コンテンツα、タグ情報β、ノード情報γなどのやりとりを他ノードと行う。
【0037】
ノード情報管理部102は、接続先ノードのノード情報γ、自ノードのノード情報γ、非接続の他ノードのノード情報γを管理する。
【0038】
ノード情報用ストレージ103は、ノード情報管理部102で管理するノード情報γ(ノード情報リストL1)を記憶する。
【0039】
タグ情報管理部104は、ノード1が保持しているコンテンツαに対応したタグ情報βと下流ノードから受信したタグ情報βとを統合整理して、上流ノードへ定期的に流通させるタグ情報リストL2を作成する。また、他ノードからのコンテンツ検索依頼に応じて、タグ情報リストL2の検索を行い、検索結果を作成する。
【0040】
タグ情報用ストレージ105は、タグ情報管理部104で管理されるタグ情報β(タグ情報リストL2)を記憶する。
【0041】
コンテンツ管理部106は、他のノードからダウンロードしたコンテンツαや、下流ノードに配布する分割コンテンツαNを管理する。
【0042】
ノード分析部107は、下流ノードに分割コンテンツαNを配布する際に、下流ノードからノード情報γを受け取り、適切な分割量を決定する。
【0043】
コンテンツ分割部108は、ノード分析部107で決定された分割量でコンテンツαを分割する。
【0044】
コンテンツ用ストレージ109は、コンテンツ管理部106が管理するコンテンツαを記憶する。
【0045】
コンテンツ再生部110は、コンテンツの再生を行う。
【0046】
全体制御部111は、他ノードからの依頼や他ノードへの依頼に応じて、コンテンツ再生装置1の各構成要素101〜110へのデータ転送を制御する。
【0047】
なお、コンテンツ配信装置1は、少なくとも、演算機能及び制御機能を備えた中央演算処理装置(CPU)、プログラムやデータを格納する機能を有するROM、RAM等からなる主記憶装置及びハードディスクなどの補助記憶装置を備えた電子的な装置から構成されている。すなわち、データ送受信部101、ノード情報管理部102、タグ情報管理部104、コンテンツ管理部106、ノード分析部107、コンテンツ分割部108、コンテンツ再生部110、及び全体制御部111は、上記CPUによる演算制御機能、ノード情報用ストレージ103、タグ情報用ストレージ105、コンテンツ用ストレージ109は、上記主記憶装置及び補助記憶装置の機能を具体的に示したものに他ならない。
【0048】
また、コンテンツ配信装置1における後述する各種処理を実行するプログラムは、上述した主記憶装置に格納されているものである。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、DVD−ROMなどのコンピュータ読み取り可能な記録媒体に記録することも、通信ネットワークを介して配信されることも可能である。
【0049】
<コンテンツ配信装置の動作>
次に、図9〜図17を用いて、ノード(コンテンツ配信装置)1の動作について説明する。図9及び図10は、コンテンツ配信装置1がP2Pネットワーク10に接続するときのP2Pネットワーク接続処理を示すフローチャートであり、図11及び図12は、コンテンツを分割して配布するときのコンテンツ分割配布処理を示すフローチャートである。また、図13及び図14は、タグ情報を上流ノードに流通させるタグ情報流通処理を示すフローチャートであり、図15〜図17は、コンテンツを検索し、転送するときのコンテンツ検索転送処理を示すフローチャートである。
【0050】
(P2Pネットワーク接続処理)
図9及び図10を参照して、P2Pネットワーク接続処理について説明する。P2Pネットワーク接続処理は、コンテンツ配信装置1が、後述するコンテンツ分割配布処理、タグ情報流通処理、及びコンテンツ検索転送処理を行うための前提処理である。ここで、図9は、新たにP2Pネットワーク10に接続したい側のノード(以下、説明の便宜上、コンテンツ配信装置1aと称する)における処理であり、また、図10は、接続される側のノード(以下、説明の便宜上、コンテンツ配信装置1bと称する)における処理である。
【0051】
新たにP2Pネットワーク10に参加したいコンテンツ配信装置1aは、ノード情報用ストレージ103からノード情報リストL1を読み込み(ステップS2)、ノード情報リストL1に他ノードのノード情報γがあるか否かを判断する(ステップS4)。ノード情報リストL1に他ノードのノード情報γがあるときは(ステップS4:YES)、このノード情報γを用い、ノード情報リストL1に他ノードのノード情報γがないときは(ステップS4:NO)、管理サーバ(P2Pネットワーク10に初期接続するためのノード情報を備えるサーバ)にアクセスして、初期接続ノード先のノード情報γを入手し(ステップS6)、入手したノード情報γをノード情報用ストレージ103に記憶する(ステップS8)。
【0052】
次いで、コンテンツ配信装置1aは、ノード情報用ストレージ103に記憶されたノード情報γ(ノード情報リストL1)から、ノード情報γに記載のノード関連情報を参照して、接続先ノードを選択する(ステップS10)。例えば、嗜好が一致するノードを接続先ノードとして選択する。
【0053】
次いで、コンテンツ配信装置1aは、選択した接続先ノードに対して接続依頼を行い(ステップS12)、選択した接続先ノードの接続依頼に対する返答から、接続可能であるか否かを判断する(ステップS14)。接続可能であるときは(ステップS14:YES)、選択した接続先ノードと接続処理を行い(ステップS18)、さらに接続先ノードからノード情報リストL1を入手し、ノード情報用ストレージ103に新たなノード情報γを追加する(ステップS20)。これに対して、接続不可であるときは(ステップS14:NO)、依頼先ノードからノード情報リストL1を入手し、ノード情報用ストレージ103に新たなノード情報γを追加し(ステップS15)、接続先ノードとして有効なノード情報γがさらにあるか否かを判断する(ステップS16)。有効なノード情報γがもうないときは(ステップS16:YES)、ステップS6に戻り、有効なノード情報γがあるときは(ステップS16:NO)、ステップS10に戻って、新たな接続先ノードを見つける。
【0054】
次いで、コンテンツ配信装置1aは、接続した接続先ノードで固定してよいか否かを判断する(ステップS22)。接続した接続先ノードで固定してよいときは(ステップS22:YES)、P2Pネットワーク接続処理を終了し、さらに新たなノードと接続したいときは(ステップS22:NO)、ステップS10に戻り、新たな接続先ノードを見つける。
【0055】
一方、コンテンツ配信装置1bは、コンテンツ配信装置1aから接続依頼を受信すると(ステップS32;図9のステップS12)、自ノードの接続状況を確認し(ステップS34)、接続できる状態であるか否かを判断する(ステップS36)。ここで、接続できる状態であるか否かの判断は、P2Pネットワーク10の1ノードにおける最大接続数や自ノードのビジー状況などから判断する。
【0056】
コンテンツ配信装置1bが、自ノードは接続できる状態であると判断したときは(ステップS36:YES)、接続可能メッセージを作成して、コンテンツ配信装置1aに返答し(ステップS38;図9のステップS14に対応)、コンテンツ配信装置1aと接続処理を行う(ステップS40;図9のステップS18に対応する)。
【0057】
これに対して、コンテンツ配信装置1bが、自ノードは接続できる状態でないと判断したときは(ステップS36:NO)、接続拒否メッセージを作成して、コンテンツ配信装置1aに返答する(ステップS42;図9のステップS14に対応)。
【0058】
最後にコンテンツ配信装置1bは、自ノードのノード情報リストを依頼元ノードへ送信する(ステップS42)。
【0059】
なお、図9に示すP2Pネットワーク接続処理のフローは、新たにP2Pネットワーク10に参加したいコンテンツ装置1aが、自ら接続先ノードを見つけて接続する方式であったが、これとは別に、接続先ノードを指示するサーバを用意し、このサーバにアクセスすることで、P2Pネットワーク10に接続するような方式であってもよい。
【0060】
(コンテンツ分割配布処理)
図11及び図12を参照して、コンテンツ分割配布処理について説明する。ここで、図11は、コンテンツを分割して配布する上流側のノード、すなわち、コンテンツ送信側のノード(以下、説明の便宜上、コンテンツ配信装置1aと称する)における処理であり、図12は、分割したコンテンツを受け取る下流側のノード、すなわち、コンテンツ受信側のノード(以下、説明の便宜上、コンテンツ配信装置1bと称する)における処理である。
【0061】
コンテンツ配信装置1aは、接続している下流ノードから最新のノード情報γを入手し、接続先ノードのノード情報γを更新する(ステップS52)。次いで、コンテンツ配信装置1aは、更新されたノード情報リストL1に基づいて、下流ノードは存在するか否かを判断する(ステップS54)。これは、ノード情報γの回線速度(アップロード速度)に基づいて、自ノードと他ノードの回線速度を比較し、下流ノードは存在するか否かを判断するものである(自ノードよりも回線速度が遅いノードを下流とする)。
【0062】
下流ノードが存在するときは(ステップS54:YES)、コンテンツ配信装置1aは、各下流ノードの回線速度に応じて分割コンテンツαNの容量を決定し(ステップS56)、未だ保持していない下流ノードの1つを選択し、選択した下流ノードに対して、分割コンテンツαNの保持依頼を行い(ステップS58)、下流ノードの分割コンテンツ保持依頼に対する返答から、分割コンテンツαNの保持が可能であるか否かを判断する(ステップS60)。分割コンテンツαNの保持が可能であるときは(ステップS60:YES)、コンテンツ配信装置1aは、分割コンテンツαNの保持依頼をした下流ノードに決定された容量の分割コンテンツαNを送信する(ステップS62)。
【0063】
次いで、コンテンツ送信側のコンテンツ配信装置1は、すべての下流ノードに分割コンテンツαNの保持依頼を行ったか否かを判断し(ステップS64)、コンテンツαNの保持依頼を行っていない下流ノードが存在するときには、ステップS58に戻って、分割コンテンツαNの保持依頼を行う。
【0064】
一方、コンテンツ配信装置1bは、接続している上流ノードへ最新の自ノードのノード情報γを送信する(ステップS72;図11のステップS52に対応)。
【0065】
次いで、コンテンツ配信装置1bは、接続している上流ノードから分割コンテンツ保持依頼を受信し(ステップS74;図11のステップS58に対応)、自らが分割コンテンツαNを保持することができるか否かを判断する(ステップS76)。ここで、分割コンテンツαNを保持することができるか否かの判断は、自ノードの空き容量や自ノードのビジー状況などから判断する。なお、分割コンテンツ保持依頼には、分割コンテンツαNの容量も含まれている。
【0066】
コンテンツ配信装置1bが、自ノードに分割コンテンツαNを保持できると判断したときは(ステップS76:YES)、保持可能メッセージを作成して、コンテンツ配信装置1aに返答し(ステップS78;図11のステップS60に対応)、コンテンツ配信装置1aから分割コンテンツαNを受信する(ステップS82;図11のステップS62に対応)。
【0067】
次いで、コンテンツ配信装置1bは受信した分割コンテンツαNに対応したタグ情報βNを作成し、自らのタグ情報リストL2に追記する(ステップS84)。なお、新たなタグ情報βNが追記されたタグ情報リストL2は、後述するように定期的に上流ノードに送信される。
【0068】
これに対して、コンテンツ配信装置1bが、自ノードに分割コンテンツαNを保持できないと判断したときは(ステップS76:NO)、保持拒否メッセージを作成して、コンテンツ配信装置1aに返答する(ステップS80;図11のステップS60に対応)、
なお、図11及び図12に示すコンテンツ分割配布処理のフローにおいては、上流ノードは、受信した下流ノードのノード情報γに基づいて、下流ノードの回線速度を把握したが、これとは別な方法により、下流ノードの回線速度を把握するようにしてもよい。例えば、下流ノードからノード情報γを受信したときに(図11のステップS52において)、下流ノードの回線速度を実測して把握するようにしてもよい。
【0069】
(タグ情報流通処理)
図13及び図14を参照して、タグ情報流通処理について説明する。ここで、図13は、自身が備えているタグ情報リストL2を上流ノードに送信する下流側のノード(以下、説明の便宜上、コンテンツ配信装置1aと称する)における処理であり、図14は、下流ノードからタグ情報リストL2を受信する上流側のノード(以下、説明の便宜上、コンテンツ配信装置1bと称する)における処理である。
【0070】
コンテンツ配信装置1aは、定期的に自身が保有しているタグ情報リストL2を隣接する上流ノードに送信する(ステップS92)。
【0071】
一方、コンテンツ配信装置1bは、定期的にタグ情報リストL2を受信すると(ステップS102;図13のステップS92に対応)、受信したタグ情報リストL2を、自身が保有するタグ情報リストL2に反映させ、新たなタグ情報βが反映されたタグ情報リストL2を作成し、タグ情報用ストレージ105に記憶する(ステップS104)。
【0072】
なお、タグ情報流通処理においては、所定の確率でタグ情報βのコンテンツ保持位置の書き換えが発生するので、新たなコンテンツ保持位置となったノードは、コンテンツ配信の中継ノードになり、公開コンテンツ(配信対象コンテンツ)を保持する可能性がある。
【0073】
(コンテンツ検索転送処理)
図15〜図17を参照して、コンテンツ検索転送処理について説明する。ここで、図15は、コンテンツの検索依頼をし、所望のコンテンツをダウンロードする側のノード(以下、説明の便宜上、コンテンツ配信装置1aと称する)における処理であり、図16は、コンテンツの検索を行うコンテンツ検索側のノード(以下、説明の便宜上、コンテンツ配信装置1bと称する)における処理であり、図17は、所望のコンテンツを公開して保持しており、所望のコンテンツをアップロードするノード(以下、説明の便宜上、コンテンツ配信装置1cと称する)における処理である。
【0074】
コンテンツ配信装置1aは、隣接する上流ノードにコンテンツ検索依頼をし(ステップS112)、隣接する上流ノードのコンテンツ検索依頼に対する返答から、検索依頼したコンテンツαがあったか否かを判断する(ステップS114)。これは、検索依頼したコンテンツαのタグ情報β(検索依頼したコンテンツαと同一コンテンツIDを有するタグ情報β)を受信したか否かにより判断する。
【0075】
検索依頼したコンテンツαがあったときは、コンテンツ配信装置1aは、受信したタグ情報βのいずれか1つを選択し、選択したタグ情報βに記載のノードにアクセスし、コンテンツダウンロード依頼をし(ステップS116)、アクセスしたノードのコンテンツダウンロード依頼に対する返答から、ダウンロード可能であるか否かを判断する(ステップS118)。
【0076】
コンテンツαのダウンロードが可能であるときは、コンテンツ配信装置1aは、コンテンツαのダウンロード処理を行う(ステップS120)。これにより、アクセスしたノードから、所望のコンテンツα(全体コンテンツ又は分割コンテンツ)がダウンロードされる。
【0077】
次いで、コンテンツ配信装置1aは、コンテンツ検索依頼に対する返答から、他のノードにもダウンロード依頼はできないか否かを判断し(ステップS122)、他のノードからもダウンロード依頼が可能のときは(ステップS122:YES)、ステップS116に戻り、当該他のノードに対して、コンテンツαのダウンロード依頼をする。これは、例えば、受け取ったタグ情報βが複数あり、それぞれのタグ情報βに記載のノードが、同一コンテンツに対する分割コンテンツαNを保持するような場合などである。
【0078】
これに対して、他のノードへのダウンロード依頼が不可能のときは(ステップS122:NO)、今までに並行ダウンロードした分割コンテンツαNを統合して、元のコンテンツα0を復元する(ステップS104)。勿論、全体コンテンツα0をダウンロードしたときは、統合する必要はない。
【0079】
一方、コンテンツ配信装置1bは、コンテンツ配信装置1aから検索依頼を受信すると(ステップS132;図15のステップS112に対応)、自らのタグ情報用ストレージ105に記憶されたタグ情報リストL2から、検索依頼のあったコンテンツαを探し、見つかったタグ情報βをコンテンツ配信装置1aに送信する(ステップS134;図15のステップS114に対応)。なお、自らのタグ情報リストL2に検索依頼のコンテンツαが見つからない場合には、さらに上流のノードに検索依頼をし、検索結果を返してもらう。どこの上流ノードまで検索を依頼するかは、検索依頼の中に含めるホップ数で規定してもよいし、また、P2Pネットワーク10の規格により規定してもよい。
【0080】
他方、コンテンツ配信装置1cは、コンテンツ配信装置1aからコンテンツダウンロード依頼を受信すると(ステップS142;図15のステップS116に対応)、依頼のあったコンテンツαを自ノードがアップロードすることができる状態であるか否かを判断する(ステップS144)。ここで、コンテンツαをアップロードすることができる状態か否かの判断は、自ノードのビジー状況や依頼のあったコンテンツの有無などから判断する。
【0081】
依頼のあったコンテンツαをアップロードすることができるときは、転送可能メッセージを作成して、転送可能メッセージをコンテンツ配信装置1aに返答し(ステップS146;図15のステップS118に対応)、コンテンツαのアップロード処理をする(ステップS148;図15のステップS120に対応)。これにより、コンテンツ配信装置1bからコンテンツ配信装置1aに、所望のコンテンツα(全体コンテンツ又は分割コンテンツ)がアップロードされる。
【0082】
これに対して、依頼のあったコンテンツαをアップロードすることができないときは、転送拒否メッセージを作成して、転送拒否メッセージをコンテンツ配信装置1aに返答する(ステップS150;図15のステップS118に対応)。
【0083】
以上、本実施の形態によれば、接続している回線の速度によって、上流及び下流のノードを定義づけ、コンテンツのファイル内容や存在場所を示すタグ情報を用いて、ノード間のコンテンツ配信を行うP2Pネットワークにおいて、上流ノードだけでなく、下流ノードも自ノードの状況に応じた分割コンテンツを保持しているので、コンテンツをダウンロードする際に下流ノードのネットワーク帯域を有効利用でき、これにより上流ノードの負担を軽減させて、よりP2Pネットワーク全体の効率化を図ることができる。また、複数のノードから並行して分割コンテンツをダウンロードできるので、ダウンロードの高速化を図ることができる。
【0084】
これは、従来においては、下流ノードのネットワーク帯域はコンテンツ配信のボトルネックに成り得るため、コンテンツ配信に考慮されていなかったが、この下流ノードのネットワーク帯域を有効利用できるように改めたものである。
【0085】
なお、本実施の形態においては、分割されたコンテンツを扱うので、コンテンツを分割配布するノードにとっても、コンテンツ配布時間を短縮することができるとともに、また、アップロードするノードにとっても、アップロードする負荷を軽減することができる。
【0086】
さらに、人気のあるコンテンツであれば、より多くの下流ノードがコンテンツの一部を保有するため、同時にダウンロードできるノード数が増加し、より効率的な配布が可能となる。
【0087】
(第1の実施の形態の変形例)
以上、第1の実施の形態について説明してきたが、第1の実施の形態に係るコンテンツ配信方法には、種々の変形を施すことができる。
【0088】
例えば、上記実施の形態のコンテンツ配信方法のコンテンツ分割配布処理においては、コンテンツ送信側のノードは、分割の対象となるコンテンツ(分割前コンテンツ)を自ノードに保持するようにしたが、コンテンツ受信側のノードに分割コンテンツを転送した後、分割前コンテンツを削除するようにしてもよい。図18は、このようなコンテンツ配信方法の変形例の概要を示すP2Pネットワーク10Aを示している。例えば、ノードAが、保持するコンテンツα0を隣接する下流ノードのノードC及びノードDに分割配布する場合には、ノードC及びノードDに分割配布した後にノードAに保持しているコンテンツα0を削除してもよい。また、ノードDが、保持するコンテンツα2を隣接する下流ノードのノードW、X、Y、及びZに分割配布する場合には、ノードW、X、Y、及びZに分割配布した後にノードDに保持しているコンテンツα2を削除してもよい。この結果、さらに上流ノードのストレージ容量の負担を軽減させることができる。
【0089】
また、図19に示すように、コンテンツ分割配布処理において、隣接する下流ノードだけでなく、自ノードも含めて、コンテンツを按分し、分割するようにしてもよい。例えば、ノードAが、保持するコンテンツα0を隣接する下流ノードのノードC及びノードDに分割配布する場合には、ノードAを含めて、ノードA、C、及びDでコンテンツα0を分割するようにしてもよい。また、ノードDが、保持するコンテンツα2を隣接する下流ノードのノードW、X、Y、及びZに分割配布する場合には、ノードDを含めて、ノードD、W、X、Y、及びZでコンテンツα2を分割するようにしてもよい。
【0090】
(第2の実施の形態)
<コンテンツ配信方法>
次に、本発明の第2の実施の形態に係るコンテンツ配信方法について説明する。本実施の形態に係るコンテンツ配信方法は、第1の実施の形態に係るコンテンツ配信方法とタグ情報βの管理が異なっており、その他の点に関しては、第1の実施の形態のコンテンツ配信方法と略同一である。なお、本実施の形態においては、第1の実施の形態と異なる構成及び機能のみ説明し、その他の構成及び機能については同一部分には同一符号を付して説明を省略する。
【0091】
図20は、第1の実施の形態に係るコンテンツ配信方法の概要(タグ情報βを中心に記載している)を示すP2Pネットワーク10を示している。上述したように、第1の実施の形態のコンテンツ配信方法では、コンテンツαを下流ノードの状況に合わせて分割し、分割コンテンツαNを下流ノードに配布するようにしたので、結果として、タグ情報βは分割コンテンツαNの数だけ増えて、P2Pネットワーク10に流通されることとなる。例えば、コンテンツαを10分割して、下流ノードに対して配布した場合には、同一のコンテンツαに対して10個のタグ情報βが流通することとなる。これにより、流通するタグ情報βが増加し、P2Pネットワーク10内のトラフィックが増加することとなる。図20は、このようなP2Pネットワーク10の様子を示しており、具体的には、ノードAが保持するコンテンツα0をノードCとノードDに分割配布し、また、ノードDが保持するコンテンツα2をノードW、X、Y、及びZに分割配布した場合のタグ情報βがP2Pネットワーク10内を拡散する様子を示している。このようにP2Pネットワーク10では、タグ情報βが上流ノードを中心に増加するので、P2Pネットワーク10のトラフィックが増加するという問題がある。
【0092】
本実施の形態に係るコンテンツ配信方法は、この点を改善したコンテンツ配信方法となっている。
【0093】
図21及び図22は、本実施の形態に係るコンテンツ配信方法の概要を示すP2Pネットワーク20を示している。ここで、P2Pネットワーク20は、P2Pネットワーク10と同様に、ノードが接続している回線の速度(詳しくは、アップロード速度)によって、上流及び下流のノードを定義づけ(上下関係は、自ノードと接続している他ノードとの間の相対的な関係である)、コンテンツのファイル内容や存在場所を示すタグ情報をネットワーク内に拡散させて、ノード間のコンテンツ配信を行うP2Pネットワークであり、一例としては、WinnyのようなP2Pファイル共有ソフトをインストールしたコンピュータがノードとなって形成するP2Pネットワークである。換言すれば、P2Pネットワーク20は、高速な通信ネットワークに接続しているノードを上流ノード、低速な通信ネットワークに接続しているノードを下流ノードと位置づけ、上流ノードほど、コンテンツやコンテンツのタグ情報が集まるようにして、コンテンツ検索やコンテンツ配送の効率を高めているP2Pネットワークである。なお、本実施の形態に係るコンテンツ配信方法は、各ノード(以下、コンテンツ配信装置ともいう)に本発明の本実施の形態に係るコンテンツ配信プログラムをインストールすることにより、実施可能となるものであり、本実施の形態に係るコンテンツ配信プログラムは、上述したWinnyが備える機能に加えて、公開コンテンツ(配布対象コンテンツ)を分割して、隣接する下流のノードに配信するコンテンツ分割配布機能、及び分割された公開コンテンツのタグ情報を統合して流通させるタグ情報統合流通機能を具備している。なお、図21はコンテンツαを中心に記載してコンテンツ分割配布機能を説明する図であり、図22は、タグ情報βを中心に記載してタグ情報流通機能を説明する図である。
【0094】
本実施の形態に係るコンテンツ配信方法は、コンテンツ公開ノードが、公開するコンテンツを隣接する下流ノードの状況に応じて分割し、分割したコンテンツを隣接する下流ノードに保持させることにより、その上流ノードだけでなく、その下流ノードに対してもコンテンツ流通の一端を担わせ、下流ノードを有効活用するコンテンツ配信方法である。ここで、下流ノードの状況とは、例えば、下流ノードが接続している回線速度を意味し、下流ノードは、その回線速度に応じた容量の分割コンテンツを自ら保持するようになっている。そして、コンテンツ検索ノードが、このコンテンツをダウンロードするときには、分割コンテンツを保持する複数の下流ノードから同時に並行してダウンロードするので、ダウンロード処理の高速化を図ることができるものである。このように、本実施の形態に係るコンテンツ配信方法は、下流ノードが接続する通信ネットワークの帯域が小さくても、帯域に応じた容量の分割コンテンツをコンテンツ検索ノードに転送するので、小さなネットワーク帯域を有効に使用することができ、下流ノードを有効活用できるコンテンツ配信方法となっている。
【0095】
また、同一コンテンツに対する複数の分割コンテンツのタグ情報を下流ノードから受け取ったときは、複数のタグ情報をひとつのタグ情報にまとめて、上流ノードに流通させるようになっている。このため、本実施の形態に係るコンテンツ配信方法は、タグ情報によるトラフィック増加を抑えるとともに、上流ノードに偏っていたタグ情報を減少させ、上流ノードのタグ情報管理の負担を軽減させることができる。
【0096】
以下、図21及び図22を用いて、具体的に説明する。
【0097】
図21に示すように、例えば、ノードAがコンテンツα0を公開する場合には、まず、ノードAは、ノードAの下流ノードであるノードCとノードDに対して、コンテンツ保持依頼を出す。このコンテンツ保持依頼は、ノードC及びノードDの状況に見合った容量のコンテンツの保持を依頼するもので、例えば、図21においては、ノードCにコンテンツα0の3/8、ノードDにコンテンツα0の5/8の容量の保持を依頼している。本具体例では、ノードC及びノードDの回線速度に応じてコンテンツαを按分して、分割している。ノードAは、ノードC及びノードDからコンテンツ保持依頼が可能である旨の返答を受け取ると、依頼分の容量の分割コンテンツα1をノードC、分割コンテンツα2をノードDに送信するとともに、自ノードで保持していたコンテンツα0を削除する。この結果、ノードCは分割コンテンツα1を保持するとともに、ノードCが分割コンテンツα1を保持していることを示すコンテンツα1のタグ情報β1を作成して、隣接する上流ノードに配布する。また、ノードDは分割コンテンツα2を保持するとともに、ノードDが分割コンテンツα2を保持していることを示すコンテンツα2のタグ情報β2を作成して、隣接する上流ノードに配布する。
【0098】
なお、分割コンテンツを受け取って、保持するノードは、さらに隣接する下流のノードに対して、コンテンツ保持依頼を出すことができる。例えば、図21に示すノード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に送信するとともに、自ノードで保持していたコンテンツα2を削除する。この結果、ノードWは分割コンテンツα3を保持するとともに、ノードWが分割コンテンツα3を保持していることを示すコンテンツα3のタグ情報β3を作成して、隣接する上流ノードに配布する。同様にして、ノードXは分割コンテンツα4を保持するとともに、ノードXが分割コンテンツα4を保持していることを示すコンテンツα4のタグ情報β4を作成して、隣接する上流ノードに配布し、また、ノードYは分割コンテンツα5を保持するとともに、ノードYが分割コンテンツα5を保持していることを示すコンテンツα5のタグ情報β5を作成して、隣接する上流ノードに配布し、また、ノードZは分割コンテンツα6を保持するとともに、ノードZが分割コンテンツα6を保持していることを示すコンテンツα6のタグ情報β6を作成して、隣接する上流ノードに配布する。
【0099】
ここで、ノードDは、図22に示すように、隣接する下流ノードのノードW、X、Y、及びノードZからそれぞれタグ情報β3、β4、β5、及びβ6を受信するが、このとき、これらのタグ情報β3、β4、β5、及びβ6は同一コンテンツ(同一コンテンツID)に関するタグ情報なので、タグ情報を統合して、タグ情報β2を作成し、このタグ情報β2を隣接する上流ノードに配布する。タグ情報β2は、統合するタグ情報β3、β4、β5、及びβ6のビットマップ情報を合わせるとともに、コンテンツ保持位置を自ノードとしたタグ情報である。なお、受信したタグ情報β3、β4、β5、及びβ6は、上流ノードに配布されないが、ノードDにおいて内部的に管理されることとなる。
【0100】
同様にして、ノードAは、隣接する下流ノードのノードCからタグ情報β1、ノードDからタグ情報β2を受信するが、このとき、これらのタグ情報β1及びβ2は同一コンテンツ(同一コンテンツID)に関するタグ情報なので、タグ情報報β1及びβ2を統合して、タグ情報β0を作成し、このタグ情報β0を隣接する上流ノードに配布する。なお、受信したタグ情報β1及びβ2は、上流ノードに配布されないが、ノードAにおいて内部的に管理されることとなる。
【0101】
このように、本実施の形態に係るコンテンツ配信方法においては、複数の階層のノードに渡ってコンテンツ分割を実行することができるので、元のコンテンツは細分化されて、より下流のノードに分散配置されることとなり、P2Pネットワーク20全体のコンテンツ配置に偏りがなくなる。また、分割されたコンテンツのタグ情報も統合されて、上流に配布されるので、上流ノードへのタグ情報の拡散が抑えられ、P2Pネットワーク20全体に流通されるタグ情報のトラフィックを抑制することができる。
【0102】
一方、図22に示すように、ノードEがコンテンツα0のダウンロードを行う場合には、ノードEが、コンテンツα0に対する検索問い合わせを隣接する上流のノードに送信すると、上流のノードからコンテンツα0の存在位置を示すタグ情報β0、コンテンツα0の分割コンテンツの存在位置を示すタグ情報β1〜β6を受信するので、このタグ情報β0〜β6に従って、コンテンツα0及びコンテンツα0の分割コンテンツを保持するノードから、コンテンツα0及びコンテンツα0の分割コンテンツαNをダウンロードする。図22に示す例では、ノードEは、タグ情報β0及びβ2に従って、ノードA及びノードDからコンテンツα0及びコンテンツα0の分割コンテンツαNを並行して同時にダウンロードする場合を示している。しかしながら、ノードA及びノードDは、図21に示すように、実際にはコンテンツを保持していないので、コンテンツを送信せず、代わりに内部的に管理するタグ情報(詳しくは、ノードAに関してはタグ情報β1及びβ2、ノードDに関してはタグ情報β3〜6)をノードEに対して送信する。この結果、ノードEは実際にコンテンツを保持しているノードを把握できるので、このノードから分割コンテンツαNをダウンロードし、ダウンロードした後、分割コンテンツαNを合わせて1つのコンテンツα0を復元する。
【0103】
このように、本実施の形態に係るコンテンツ配信方法においては、複数の下流ノードから、複数の分割されたコンテンツを同時に並行してダウンロードするので、下流ノードを有効活用しつつ、ダウンロードの高速化を図ることができるようになっている。
【0104】
<データ構成>
P2Pネットワーク20において流通されるコンテンツα、及びタグ情報βのデータフォーマット、並びにP2Pネットワーク20において用いられるノード情報γのデータフォーマットは、第1の実施の形態と同じであるため、説明は省略する。
【0105】
<コンテンツ配信装置の構成>
図23は、P2Pネットワーク20のノード(コンテンツ配信装置)2の概略構成図である。ここで、コンテンツ配信装置2は、コンテンツ配信装置1と同様に、インターネット網などの通信ネットワークを介して、データの送受信が可能な端末装置であり、例えば、パーソナルコンピュータ(以下、PC)などのコンピュータの他、DVDレコーダ、DVDプレーヤ、テレビ、携帯電話、PDAなどの情報家電が想定される。
【0106】
コンテンツ配信装置2は、データ送受信部101、ノード情報管理部102、ノード情報用ストレージ103、タグ情報管理部201、タグ整理/統合部202、タグ情報用ストレージ203、コンテンツ管理部106、ノード分析部107、コンテンツ分割部108、コンテンツ用ストレージ109、コンテンツ再生部110、及び全体制御部111を具備する構成である。
【0107】
タグ情報管理部201は、下流ノードから受信したタグ情報βを整理して、上流ノードへ定期的に流通させるタグ情報リストL2、及び内部的に管理する内部管理タグ情報リストL3を作成する。また、他ノードからのコンテンツ検索依頼に応じて、タグ情報リストL2及び内部管理タグ情報リストL3の検索を行い、検索結果を作成する。なお、本実施形態では、タグ情報リストL2及び内部管理タグ情報リストL3を別々のタグ情報リストとして管理するが、同一のタグ情報リスト上でタグ情報リストL2の内容及び内部管理タグ情報リストL3の内容を識別可能に管理するようにしてもよい。
【0108】
タグ整理/統合部202は、他ノードから受信したタグ情報リストL2の中に同一コンテンツαに対する複数のタグ情報βが存在するときは、タグ情報βを統合して、新たなタグ情報βを作成する。作成されたタグ情報βはタグ情報リストL2に反映され、また、統合される前の複数のタグ情報βは、内部管理タグリストL3に反映される。
【0109】
タグ情報用ストレージ203は、タグ情報管理部201で管理されるタグ情報β(タグ情報リストL2、内部管理タグ情報リストL3)を記憶する。
【0110】
なお、コンテンツ配信装置2は、少なくとも、演算機能及び制御機能を備えた中央演算処理装置(CPU)、プログラムやデータを格納する機能を有するROM、RAM等からなる主記憶装置及びハードディスクなどの補助記憶装置を備えた電子的な装置から構成されている。すなわち、データ送受信部101、ノード情報管理部102、タグ情報管理部201、タグ整理/統合部202、コンテンツ管理部106、ノード分析部107、コンテンツ分割部108、コンテンツ再生部110、及び全体制御部111は、上記CPUによる演算制御機能、ノード情報用ストレージ103、タグ情報用ストレージ203、コンテンツ用ストレージ109は、上記主記憶装置及び補助記憶装置の機能を具体的に示したものに他ならない。
【0111】
また、コンテンツ配信装置2における後述する各種処理を実行するプログラムは、上述した主記憶装置に格納されているものである。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、DVD−ROMなどのコンピュータ読み取り可能な記録媒体に記録することも、通信ネットワークを介して配信されることも可能である。
【0112】
<コンテンツ配信装置の動作>
次に、図24〜図27を用いて、ノード(コンテンツ配信装置)2の動作について説明する。図24及び図25は、タグ情報を上流ノードに流通させるタグ情報流通処理を示すフローチャートであり、図26及び図27は、コンテンツを検索し、転送するときのコンテンツ検索転送処理を示すフローチャートである。なお、P2Pネットワーク接続処理及びコンテンツ分割配布処理は、第1の実施の形態と同一であるため、説明を省略する。
【0113】
(タグ情報流通処理)
図24及び図25を参照して、タグ情報流通処理について説明する。ここで、図24は、自身が備えているタグ情報リストL2を上流ノードに送信する下流側のノード(以下、説明の便宜上、コンテンツ配信装置2aと称する)における処理であり、図25は、下流ノードからタグ情報リストL2を受信する上流側のノード(以下、説明の便宜上、コンテンツ配信装置2bと称する)における処理である。
【0114】
コンテンツ配信装置2aは、定期的に自身が保有しているタグ情報リストL2を隣接する上流ノードに送信する(ステップS252)。
【0115】
一方、コンテンツ配信装置2bは、定期的にタグ情報リストL2を受信すると(ステップS262)、受信したタグ情報リストL2を、自身が保有するタグ情報リストL2とを比較し、同一コンテンツがあるか否かを検索する(ステップS264)。
【0116】
同一コンテンツがある場合には(ステップS266:YES)、コンテンツ配信装置2bは、コンテンツIDに基づいて複数のタグ情報βを統合して、新たなタグ情報βを作成し、新たなタグ情報βが反映されたタグ情報リストL2を作成し、タグ情報用ストレージ203に記憶する(ステップS268)。
【0117】
次いで、コンテンツ配信装置2bは、受信した受信したタグ情報リストL2のタグ情報βのうち、統合するのに用いたタグ情報β(統合前のタグ情報β)が反映された内部管理タグ情報リストL3を作成し、タグ情報用ストレージ202に記憶する(ステップS270)。
【0118】
なお、タグ情報流通処理においては、所定の確率でタグ情報βのコンテンツ保持位置の書き換えが発生するので、コンテンツ保持位置の書き換えが発生するノードは、コンテンツ配信の中継ノードになり、公開コンテンツ(配信対象コンテンツ)を保持する可能性がある。
【0119】
(コンテンツ検索転送処理)
図26及び図27を参照して、コンテンツ検索転送処理について説明する。ここで、図26は、コンテンツの検索依頼をし、所望のコンテンツをダウンロードする側のノード(以下、説明の便宜上、コンテンツ配信装置2aと称する)における処理であり、図27は、所望のコンテンツを公開して保持しており、所望のコンテンツをアップロードするノード(以下、説明の便宜上、コンテンツ配信装置2cと称する)における処理である。なお、コンテンツの検索を行うコンテンツ検索側のノード(以下、説明の便宜上、コンテンツ配信装置2bと称する)における処理は、第1の実施の形態と同一であるため、説明を省略する。
【0120】
コンテンツ配信装置2aは、隣接する上流ノードにコンテンツ検索依頼をし(ステップS202)、隣接する上流ノードのコンテンツ検索依頼に対する返答から、検索依頼したコンテンツがあったか否かを判断する(ステップS204)。これは、検索依頼したコンテンツαのタグ情報β(検索依頼したコンテンツαと同一コンテンツIDを有するタグ情報β)を受信したか否かにより判断する。
【0121】
検索依頼したコンテンツαがあったときは、コンテンツ配信装置2aは、受信したタグ情報βのいずれか1つを選択し、選択したタグ情報βに記載のノードにアクセスし、コンテンツダウンロード依頼をし(ステップS206)、アクセスしたノードのコンテンツダウンロード依頼に対する返答から、ダウンロード可能であるか否かを判断する(ステップS208)。
【0122】
コンテンツαのダウンロードが可能であるときは(ステップS208:YES)、コンテンツ配信装置2aは、コンテンツαのダウンロード処理を行う(ステップS210)。これにより、アクセスしたノードから、所望のコンテンツα(全体コンテンツ又は分割コンテンツ)がダウンロードされる。
【0123】
これに対して、コンテンツαのダウンロードが不可能であるときは(ステップS208:NO)、アクセスしたノードのコンテンツダウンロード依頼に対する返答から、コンテンツαに関するタグ情報β(検索依頼したコンテンツαと同一コンテンツIDを有するタグ情報β)を受信することが可能か否かを判断する(ステップS212)。コンテンツαに関するタグ情報βを受信することが可能であるときは(ステップS212:YES)、タグ情報βを受信し(ステップS214)、受信したタグ情報βを、コンテンツのダウンロード依頼をするノードの対象として追加する(ステップS216)。
【0124】
次いで、コンテンツ配信装置2aは、コンテンツ検索依頼に対する返答から、他のノードにもダウンロード依頼はできないか否かを判断し(ステップS218)、他のノードからもダウンロード依頼が可能のときは(ステップS218:NO)、ステップS206に戻り、当該他のノードに対して、コンテンツαのダウンロード依頼をする。
【0125】
これに対して、他のノードへのダウンロード依頼が不可能のときは(ステップS122:YES)、今までに並行ダウンロードした分割コンテンツαNを統合して、元のコンテンツα0を復元する(ステップS220)。勿論、全体コンテンツα0をダウンロードしたときは、統合する必要はない。
【0126】
一方、コンテンツ配信装置2cは、コンテンツ配信装置2aからコンテンツダウンロード依頼を受信すると(ステップS232;図26のステップS206に対応)、依頼のあったコンテンツαを自ノードが保持しているか否かを判断する(ステップS234)。これは、コンテンツ配信装置2は、タグ情報βの整理/統合機能を備えているので、自ノードをコンテンツαの保持位置とするタグ情報βであっても、コンテンツα自体を保持していないことがあるからである。
【0127】
依頼のあったコンテンツαを自ノードが保持しているときは(ステップS234:YES)、コンテンツ配信装置2cは、依頼のあったコンテンツαを自ノードがアップロードすることができる状態であるか否かを判断する(ステップS236)。ここで、コンテンツαをアップロードすることができる状態か否かの判断は、自ノードのビジー状況や依頼のあったコンテンツの有無などから判断する。
【0128】
依頼のあったコンテンツαをアップロードすることができるときは(ステップS236:YES)、転送可能メッセージを作成して、転送可能メッセージをコンテンツ配信装置2aに返答し(ステップS238;図26のステップS208に対応)、コンテンツαのアップロード処理をする(ステップS240;図26のステップS210に対応)。これにより、コンテンツ配信装置2bからコンテンツ配信装置2aに、所望のコンテンツα(全体コンテンツ又は分割コンテンツ)がアップロードされる。
【0129】
これに対して、依頼のあったコンテンツαをアップロードすることができないときは(ステップS236:NO)、転送拒否メッセージを作成して、転送拒否メッセージをコンテンツ配信装置2aに返答する(ステップS244;図26のステップS208に対応)。
【0130】
また、ステップS234において、依頼のあったコンテンツαを自ノードが保持していないときは、内部管理タグ情報リストL3に同一コンテンツαに対するタグ情報β(依頼のあったコンテンツαとコンテンツIDが同一のタグ情報β)があるか否かを判断する(ステップS242)。内部管理タグ情報リストL3に同一コンテンツαに対するタグ情報βがあるときは(ステップS242:YES)、このタグ情報βだけを転送することができるタグ情報転送可能メッセージを作成して(ステップS246)、タグ情報転送可能メッセージをコンテンツ配信装置2aに返答し(ステップS246;図26のステップS212に対応)、このタグ情報βをコンテンツ配信装置2aに転送する(ステップS248;図26のステップS214に対応)。これに対して、内部管理タグ情報リストL3に同一コンテンツαに対するタグ情報βがないときは(ステップS242:NO)、転送拒否メッセージを作成して、転送拒否メッセージをコンテンツ配信装置2aに返答する(ステップS244;図26のステップS208に対応)。
【0131】
以上、本実施の形態によれば、第1の実施の形態と同一の効果を得ることができる。すなわち、接続している回線の速度によって、上流及び下流のノードを定義づけ、コンテンツのファイル内容や存在場所を示すタグ情報を用いて、ノード間のコンテンツ配信を行うP2Pネットワークにおいて、上流ノードだけでなく、下流ノードも自ノードの状況に応じた分割コンテンツを保持しているので、コンテンツをダウンロードする際に下流ノードのネットワーク帯域を有効利用でき、これにより上流ノードの負担を軽減させて、よりP2Pネットワーク全体の効率化を図ることができる。また、複数のノードから並行して分割コンテンツをダウンロードできるので、ダウンロードの高速化を図ることができる。
【0132】
また、本実施の形態によれば、第1の実施の形態の効果に加えて、同一コンテンツに対する複数の分割コンテンツのタグ情報を下流ノードから受け取ったときは、複数のタグ情報をひとつのタグ情報にまとめて、上流ノードに流通させるので、P2Pネットワーク内を流通するタグ情報のトラフィック量を抑えることができる。
【0133】
なお、本実施施の形態に係るコンテンツ配信方法においては、コンテンツ送信側のノードは、コンテンツ送信後に分割の対象となるコンテンツ(分割前コンテンツ)を削除するようにしたが、分割前コンテンツを自ノードに保持するようにしてもよい。
【0134】
また、統合したタグ情報を上流ノードに送信する契機については、自ノードで下流ノードから分割コンテンツのタグ情報を受信して、統合したタグ情報を作成した後ではなく、下流ノードに対して分割コンテンツを配布するときであってもよい。すなわち、分割コンテンツを配布するときに、自ノードを保持位置としたタグ情報を予め作成し、作成したタグ情報を上流ノードに配布するようにしてもよい。
【0135】
(その他実施の形態)
以上、本発明の実施の形態について説明してきたが、本発明の要旨を逸脱しない範囲において、本発明の実施の形態に対して種々の変形や変更を施すことができる。
【0136】
例えば、上記実施の形態及び上記変形例では、分割コンテンツの重複がないように、複数のノードにコンテンツを分割したが、分割コンテンツの一部に重複があるようにコンテンツを分割するようにしてもよい。また、下流ノードの状況(例えば、大容量のストレージを備え、接続する回線速度も速いなど)に応じては、分割せずに上流ノードが保持するコンテンツそのものを配布するようにしてもよい。さらには、複数の配信すべきコンテンツを保持する場合には、この複数の配信対象コンテンツのうち下流ノードに配布するコンテンツの数を下流ノードの状況に応じて決定してもよい(例えば、10個のコンテンツのうち3つをある下流ノードに配布するなどコンテンツ単位で分割する)。この場合、複数の配信対象コンテンツ(所定の意味あるコンテンツ群;例えば、同一アーティストや同一ジャンルのコンテンツ)には、同一のコンテンツIDが設定されている(タグ情報βのビットマップ情報は、複数の配信対象コンテンツからなるコンテンツ群のいずれの部分のコンテンツを保持するかを示す情報となっている)。
【0137】
また、上記実施の形態及び上記変形例では、下流ノードが保持するコンテンツの容量を上流ノードが決定したが、下流ノードが決定し、この決定を受けて、上流ノードが分割コンテンツを配布するようにしてもよい。
【0138】
また、上記実施の形態及び上記変形例では、下流ノードの状況として、下流ノードが接続する回線速度(ネットワーク帯域)を考慮したが、コンテンツ分割配布処理における下流ノードの状況はこれに限定されず、例えば、ストレージの空き容量やノードの処理能力、ノードのビジー状況を加味してもよい。また、配布するコンテンツの言語、ノードの対応言語、ノードの地理的状況などに応じて、分割コンテンツを配布する好適なノードを選択してもよい。また、ユーザの嗜好度を鑑みて、分割コンテンツを配布する好適なノードを選択してもよい。
【0139】
さらには、純粋型P2Pネットワークではないが、各ノードとは別に、公開コンテンツを備えるバックアップ機能のサーバを用意し、何らかのアクシデントでノード間同士のコンテンツ配信が機能しない場合には、このサーバからコンテンツをダウンロードできるようにしてもよい。この場合には、上記実施の形態に係るコンテンツ配信方法の安定性をより高めることができる。

Claims (10)

  1. 配信対象コンテンツの内容及び前記配信対象コンテンツを保持する保持ノードの位置を示すタグ情報を隣接ノードに送信する送信元ノードを下流ノード、前記タグ情報を受信する送信先ノードを上流ノードと定義し、前記上流ノードほど、前記タグ情報が集まるようにして、コンテンツ検索やコンテンツ配信の効率を高めているP2Pネットワークの各ノードを構成するコンテンツ配信装置であって、
    自ノードが保持する配信対象コンテンツのタグ情報、及び自ノードに隣接する下流ノードから受信したタグ情報を記憶するタグ情報記憶手段と、
    前記タグ情報記憶手段に記憶されたタグ情報の中に、同一の前記コンテンツを分割して生成した分割コンテンツに対する複数の分割タグ情報、又は複数のコンテンツからなる1の集合をコンテンツ単位で分割して生成した分割コンテンツに対する複数の分割タグ情報が存在する場合には、この複数の分割タグ情報を統合した統合タグ情報を作成して、前記タグ情報記憶手段に記憶するとともに、統合された複数の分割タグ情報を内部的に管理する内部タグ情報記憶手段に記憶するタグ情報統合手段と、
    前記統合タグ情報を自ノードに隣接する上流ノードに送信するタグ情報流通手段と、
    他ノードからのダウンロード要求に応じて、自ノードが保持する配信対象コンテンツをダウンロード要求したノードにアップロードするコンテンツ送信手段と、
    を有し、
    前記タグ情報は、全体コンテンツのいずれの部分を保持するかを示す部分情報を備え、
    前記タグ情報統合手段は、
    前記複数の分割コンテンツの分割タグ情報における部分情報を統合するとともに、前記保持ノードの位置を自ノードとして、前記統合タグ情報を作成し、
    前記コンテンツ送信手段は、
    自ノードが配信対象コンテンツを保持する場合には、前記配信対象コンテンツを前記ダウンロード要求したノードにアップロードする手段と、
    自ノードが配信対象コンテンツを保持しない場合であって、自ノードが前記配信対象コンテンツと同一コンテンツの複数の分割タグ情報を前記内部タグ情報記憶手段に記憶している場合には、前記内部タグ情報記憶手段に記憶された複数の分割タグ情報を前記ダウンロード要求したノードに送信する手段と、
    を備えることを特徴とするコンテンツ配信装置。
  2. 前記保持ノードそれぞれから並行して前記分割コンテンツをダウンロードするコンテンツ受信手段を備え、
    前記コンテンツ受信手段は、
    前記ダウンロード可能な場合には、前記分割コンテンツをダウンロードする手段と、
    前記ダウンロード不可能な場合であって、前記内部タグ情報記憶手段に記憶された複数のタグ情報の受信が可能な場合は、前記内部タグ情報記憶手段に記憶された複数のタグ情報を受信する手段と、
    前記内部タグ情報記憶手段に記憶された複数のタグ情報を受信した場合は、受信した複数のタグ情報の保持ノードの位置に基づいて、前記保持ノードそれぞれにアクセスし、前記保持ノードそれぞれから並行して前記分割コンテンツをダウンロードする手段と、
    を備えることを特徴とする請求項1記載のコンテンツ配信装置。
  3. 自ノードと隣接するそれぞれの下流ノードの状況に関する情報を取得する下流ノード状況取得手段と、
    前記下流ノード状況取得手段により取得したそれぞれの下流ノードの状況に応じて、それぞれの下流ノードに配布する分割コンテンツの容量を決定し、決定されたそれぞれの容量に従って、自ノードが保持する配信対象コンテンツを分割するコンテンツ分割手段と、
    前記コンテンツ分割手段において分割された配信対象コンテンツを、自ノードと隣接するそれぞれの下流ノードに配布する分割コンテンツ配布手段と、
    をさらに有することを特徴とする請求項1又は2記載のコンテンツ配信装置。
  4. 前記自ノードと隣接するそれぞれの下流ノードに対して、分割コンテンツの保持を
    依頼するメッセージを送信するコンテンツ保持依頼送信手段と、
    前記自ノードと隣接するそれぞれの下流ノードから受信した、保持を認めるか否かの返答に基づいて、前記自ノードと隣接するそれぞれの下流ノードに対する分割コンテンツの配布の有無を決定する分割コンテンツ配布判断手段と、
    自ノードに隣接する上流ノードから、分割コンテンツの保持を依頼するメッセージを受信したときは、自ノードの状況に応じて保持を認めるか否かの返答を、前記自ノードに隣接する上流ノードに送信するコンテンツ保持依頼返答手段と、
    をさらに有することを特徴とする請求項3記載のコンテンツ配信装置。
  5. 前記自ノードと隣接するそれぞれの下流ノードの状況に関する情報は、
    それぞれの下流ノードが接続する通信ネットワークの回線速度に関する情報を含み、
    前記コンテンツ分割手段は、
    前記回線速度に関する情報に基づいて、前記分割コンテンツの容量を決定することを特徴とする請求項3又は4記載のコンテンツ配信装置。
  6. 前記コンテンツ分割手段は、
    前記分割コンテンツの配布後も分割前の配信対象コンテンツを保持することを特徴とする請求項3乃至5のいずれか1項に記載のコンテンツ配信装置。
  7. 前記コンテンツ分割手段は、
    前記分割コンテンツの配布後においては、分割前の配信対象コンテンツを削除することを特徴とする請求項3乃至5のいずれか1項に記載のコンテンツ配信装置。
  8. 自ノードより高速な通信ネットワークに接続しているノードを上流ノード、自ノードより低速な通信ネットワークに接続しているノードを下流ノードと定義し、前記上流ノードほど、配信対象コンテンツ、並びに前記配信対象コンテンツの内容及び前記配信対象コンテンツを保持する保持ノードの位置を示すタグ情報が集まるようにして、コンテンツ検索やコンテンツ配信の効率を高めているP2Pネットワークの各ノードを構成するコンテンツ配信装置であって、
    自ノードと隣接するそれぞれの下流ノードの状況に関する情報を取得する下流ノード状況取得手段と、
    前記下流ノード状況取得手段により取得したそれぞれの下流ノードの状況に応じて、それぞれの下流ノードに配布する分割コンテンツの容量を決定し、決定されたそれぞれの容量に従って、自ノードが保持する配信対象コンテンツを分割するコンテンツ分割手段と、
    前記コンテンツ分割手段において分割された配信対象コンテンツを、自ノードと隣接するそれぞれの下流ノードに配布する分割コンテンツ配布手段と、
    自ノードが保持する配信対象コンテンツのタグ情報、及び自ノードに隣接する下流ノードから受信したタグ情報を記憶するタグ情報記憶手段と、
    前記タグ情報記憶手段に記憶されたタグ情報の中に、同一コンテンツに対する複数の分割コンテンツのタグ情報が存在する場合には、この複数のタグ情報を統合した新たなタグ情報を作成して、この新たなタグ情報を前記タグ情報記憶手段に記憶するとともに、統合された複数のタグ情報を前記タグ情報記憶手段から削除して、内部的にタグ情報を管理する内部タグ情報記憶手段に記憶するタグ情報統合手段と、
    前記タグ情報記憶手段に記憶されたタグ情報を適宜、自ノードに隣接する上流ノードに送信するタグ情報流通手段と、
    コンテンツ検索要求を自ノードに隣接する上流ノードに送信するコンテンツ検索要求送信手段と、
    自ノードに隣接する下流ノードから前記コンテンツ検索要求を受信したときは、前記タグ情報記憶手段を検索し、前記コンテンツ検索要求に該当するコンテンツのタグ情報がある場合には、当該コンテンツのタグ情報を、前記コンテンツ検索要求を送信した検索要求ノードに送信し、該当するコンテンツのタグ情報がない場合には、自ノードに隣接する上流ノードにさらに前記コンテンツ検索要求を送信するコンテンツ検索手段と、
    自ノードが送信した前記コンテンツ検索要求の検索結果である複数のタグ情報を受信する検索結果受信手段と、
    検索結果として受信した複数のタグ情報の保持ノードの位置に基づいて、前記保持ノードそれぞれにアクセスしてダウンロード要求し、前記保持ノードそれぞれから並行して前記分割コンテンツをダウンロードするコンテンツ受信手段と、
    ダウンロードした分割コンテンツを統合して元のコンテンツを復元するコンテンツ統合手段と、
    他ノードからのダウンロード要求に応じて、自ノードが保持する配信対象コンテンツをダウンロード要求したノードにアップロードするコンテンツ送信手段と、
    を有し、
    前記タグ情報は、全体コンテンツのいずれの部分を保持するかを示す部分情報を備え、
    前記タグ情報統合手段は、
    前記複数の分割コンテンツのタグ情報における部分情報を統合するとともに、前記保持ノードの位置を自ノードとして、前記新たなタグ情報を作成し、
    前記コンテンツ送信手段は、
    自ノードが配信対象コンテンツを保持する場合には、前記配信対象コンテンツを前記ダウンロード要求したノードにアップロードする手段と、
    自ノードが配信対象コンテンツを保持しない場合であって、自ノードが前記配信対象コンテンツと同一コンテンツの複数のタグ情報を前記内部タグ情報記憶手段に記憶している場合には、前記内部タグ情報記憶手段に記憶された複数のタグ情報を前記ダウンロード要求したノードに送信する手段と、
    を備えることを特徴とするコンテンツ配信装置。
  9. 配信対象コンテンツの内容及び前記配信対象コンテンツを保持する保持ノードの位置を示すタグ情報を隣接ノードに送信する送信元ノードを下流ノード、前記タグ情報を受信する送信先ノードを上流ノードと定義し、前記上流ノードほど、前記タグ情報が集まるようにして、コンテンツ検索やコンテンツ配信の効率を高めているP2PネットワークのP2Pネットワークのコンテンツ配信方法であって、
    前記P2Pネットワークのノードは、
    自ノードが保持する配信対象コンテンツのタグ情報、及び自ノードに隣接する下流ノードから受信したタグ情報をタグ情報記憶手段に記憶するタグ情報記憶ステップと、
    前記タグ情報記憶手段に記憶されたタグ情報の中に、同一の前記コンテンツを分割して生成した分割コンテンツに対する複数の分割タグ情報、又は複数のコンテンツからなる1の集合をコンテンツ単位で分割して生成した分割コンテンツに対する複数の分割タグ情報が存在する場合には、この複数の分割タグ情報を統合した統合タグ情報を作成して、前記タグ情報記憶手段に記憶するとともに、統合された複数の分割タグ情報を内部的に管理する内部タグ情報記憶手段に記憶するタグ情報統合ステップと、
    前記統合タグ情報を自ノードに隣接する上流ノードに送信するタグ情報流通ステップと、
    他ノードからのダウンロード要求に応じて、自ノードが保持する配信対象コンテンツをダウンロード要求したノードにアップロードするコンテンツ送信ステップと、
    を有し、
    前記タグ情報は、全体コンテンツのいずれの部分を保持するかを示す部分情報を備え、
    前記タグ情報統合ステップは、
    前記複数の分割コンテンツの分割タグ情報における部分情報を統合するとともに、前記保持ノードの位置を自ノードとして、前記統合タグ情報を作成し、
    前記コンテンツ送信ステップは、
    自ノードが配信対象コンテンツを保持する場合には、前記配信対象コンテンツを前記ダウンロード要求したノードにアップロードするステップと、
    自ノードが配信対象コンテンツを保持しない場合であって、自ノードが前記配信対象コンテンツと同一コンテンツの複数の分割タグ情報を前記内部タグ情報記憶手段に記憶している場合には、前記内部タグ情報記憶手段に記憶された複数の分割タグ情報を前記ダウンロード要求したノードに送信するステップと、
    を備えることを特徴とするコンテンツ配信方法。
  10. 配信対象コンテンツの内容及び前記配信対象コンテンツを保持する保持ノードの位置を示すタグ情報を隣接ノードに送信する送信元ノードを下流ノード、前記タグ情報を受信する送信先ノードを上流ノードと定義し、前記上流ノードほど、前記タグ情報が集まるようにして、コンテンツ検索やコンテンツ配信の効率を高めているP2Pネットワークの各ノードが読み取り可能なコンテンツ配信プログラムであって、
    自ノードが保持する配信対象コンテンツのタグ情報、及び自ノードに隣接する下流ノードから受信したタグ情報を記憶するタグ情報記憶手段と、
    前記タグ情報記憶手段に記憶されたタグ情報の中に、同一の前記コンテンツを分割して生成した分割コンテンツに対する複数の分割タグ情報、又は複数のコンテンツからなる1の集合をコンテンツ単位で分割して生成した分割コンテンツに対する複数の分割タグ情報が存在する場合には、この複数の分割タグ情報を統合した統合タグ情報を作成して、前記タグ情報記憶手段に記憶するとともに、統合された複数の分割タグ情報を内部的に管理する内部タグ情報記憶手段に記憶するタグ情報統合手段と、
    前記統合タグ情報を自ノードに隣接する上流ノードに送信するタグ情報流通手段と、
    他ノードからのダウンロード要求に応じて、自ノードが保持する配信対象コンテンツをダウンロード要求したノードにアップロードするコンテンツ送信手段と、
    して前記ノードを機能させ、
    前記タグ情報は、全体コンテンツのいずれの部分を保持するかを示す部分情報を備え、
    前記タグ情報統合手段は、
    前記複数の分割コンテンツの分割タグ情報における部分情報を統合するとともに、前記保持ノードの位置を自ノードとして、前記統合タグ情報を作成し、
    前記コンテンツ送信手段は、
    自ノードが配信対象コンテンツを保持する場合には、前記配信対象コンテンツを前記ダウンロード要求したノードにアップロードする手段と、
    自ノードが配信対象コンテンツを保持しない場合であって、自ノードが前記配信対象コンテンツと同一コンテンツの複数の分割タグ情報を前記内部タグ情報記憶手段に記憶している場合には、前記内部タグ情報記憶手段に記憶された複数の分割タグ情報を前記ダウンロード要求したノードに送信する手段と、
    を備えることを特徴とするコンテンツ配信プログラム。
JP2009507357A 2007-03-29 2007-03-29 コンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラム Expired - Fee Related JP4861472B2 (ja)

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPWO2008120366A1 JPWO2008120366A1 (ja) 2010-07-15
JP4861472B2 true JP4861472B2 (ja) 2012-01-25

Family

ID=39807959

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009507357A Expired - Fee Related JP4861472B2 (ja) 2007-03-29 2007-03-29 コンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラム

Country Status (4)

Country Link
US (1) US8086629B2 (ja)
EP (1) EP2141601B1 (ja)
JP (1) JP4861472B2 (ja)
WO (1) WO2008120366A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8250171B2 (en) * 2007-06-22 2012-08-21 Pioneer Corporation Content delivery apparatus, content delivery method, and content delivery program
US8583682B2 (en) * 2008-12-30 2013-11-12 Microsoft Corporation Peer-to-peer web search using tagged resources
JP5093274B2 (ja) * 2010-03-26 2012-12-12 ブラザー工業株式会社 端末装置及びファイル送信システム
US8510267B2 (en) * 2011-03-08 2013-08-13 Rackspace Us, Inc. Synchronization of structured information repositories
KR101818961B1 (ko) 2011-11-16 2018-01-16 엘지전자 주식회사 컨텐츠 전송 방법 및 상기 방법을 채용한 기기, 서버
US9749403B2 (en) * 2012-02-10 2017-08-29 International Business Machines Corporation Managing content distribution in a wireless communications environment
US9614907B2 (en) * 2013-01-04 2017-04-04 Bittorrent, Inc. Expediting content retrieval using peer-to-peer networks
CN103237300B (zh) 2013-04-28 2015-09-09 小米科技有限责任公司 一种文件下载的方法、装置及系统
KR20180041771A (ko) * 2013-05-16 2018-04-24 콘비다 와이어리스, 엘엘씨 향상된 발견을 위한 시스템들 및 방법들
JP6136576B2 (ja) * 2013-05-28 2017-05-31 富士通株式会社 アプリケーション配信装置、アプリケーション配信方法、アプリケーション配信プログラム、アプリケーション実行装置、アプリケーション実行方法、アプリケーション実行プログラム、及びアプリケーション配信システム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004180258A (ja) * 2002-10-04 2004-06-24 Victor Co Of Japan Ltd 構造化データの送信装置
JP2006025408A (ja) * 2004-07-07 2006-01-26 Microsoft Corp ピアツーピアコンピュータネットワーク内の効率的な一対多コンテンツ配信
JP2006107349A (ja) * 2004-10-08 2006-04-20 Sony Corp データ取得提供プログラム
JP2006244223A (ja) * 2005-03-04 2006-09-14 Nippon Telegr & Teleph Corp <Ntt> P2pコンテンツ転送方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7209973B2 (en) * 2001-04-09 2007-04-24 Swsoft Holdings, Ltd. Distributed network data storage system and method
US7003514B2 (en) * 2001-09-13 2006-02-21 International Business Machines Corporation Method and apparatus for restricting a fan-out search in a peer-to-peer network based on accessibility of nodes
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
JP2006178782A (ja) 2004-12-22 2006-07-06 Fuji Xerox Co Ltd 情報処理方法、配信情報の処理方法、配信情報処理プログラム及び配信処理装置
US7633887B2 (en) * 2005-01-21 2009-12-15 Panwar Shivendra S On demand peer-to-peer video streaming with multiple description coding
US7818402B1 (en) * 2006-02-08 2010-10-19 Roxbeam Media Network Corporation Method and system for expediting peer-to-peer content delivery with improved network utilization
US7860876B2 (en) * 2006-06-09 2010-12-28 Illinois Institute Of Technology Peer-to-peer file sharing
US7953083B1 (en) * 2006-12-12 2011-05-31 Qurio Holdings, Inc. Multicast query propagation scheme for a peer-to-peer (P2P) network
US7860887B2 (en) * 2007-02-20 2010-12-28 The Invention Science Fund I, Llc Cross-media storage coordination

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004180258A (ja) * 2002-10-04 2004-06-24 Victor Co Of Japan Ltd 構造化データの送信装置
JP2006025408A (ja) * 2004-07-07 2006-01-26 Microsoft Corp ピアツーピアコンピュータネットワーク内の効率的な一対多コンテンツ配信
JP2006107349A (ja) * 2004-10-08 2006-04-20 Sony Corp データ取得提供プログラム
JP2006244223A (ja) * 2005-03-04 2006-09-14 Nippon Telegr & Teleph Corp <Ntt> P2pコンテンツ転送方法

Also Published As

Publication number Publication date
EP2141601B1 (en) 2012-05-30
EP2141601A4 (en) 2011-03-09
WO2008120366A1 (ja) 2008-10-09
JPWO2008120366A1 (ja) 2010-07-15
US20100191756A1 (en) 2010-07-29
US8086629B2 (en) 2011-12-27
EP2141601A1 (en) 2010-01-06

Similar Documents

Publication Publication Date Title
JP4861472B2 (ja) コンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラム
JP4473942B2 (ja) コンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラム
Jafari Navimipour et al. A comprehensive study of the resource discovery techniques in Peer-to-Peer networks
US8924460B2 (en) Method and system of administrating a peer-to-peer file sharing network
JP5970541B2 (ja) 情報処理システム、管理サーバ群、および、サーバ管理プログラム
JP5505009B2 (ja) 通信端末装置、コンピュータプログラムおよびコンテンツ検索方法
US7644167B2 (en) Identifying a service node in a network
JP4670604B2 (ja) 情報配信システム、情報処理装置、情報処理プログラム及び情報処理方法
US20110099226A1 (en) Method of requesting for location information of resources on network, user node and server for the same
KR20040048363A (ko) 피어-투-피어 콘텐츠 방송 전송 메카니즘
WO2008131653A1 (fr) Système et procédé pour la réalisation d&#39;une mémoire d&#39;abonnement à un réseau et serveur d&#39;abonnement
WO2009079948A1 (fr) Procédé de mise en tampon et d&#39;interrogation de contenu, et système de transmission multimédia point à point
US8208477B1 (en) Data-dependent overlay network
JP4715388B2 (ja) 情報配信システム、情報配信方法、情報配信システムに含まれるノード装置および情報処理プログラム
JP2009295127A (ja) アクセス方法、アクセス装置及び分散データ管理システム
JP4506387B2 (ja) 情報通信システム、ノード装置、及びオーバーレイネットワーク形成方法等
CN101645919A (zh) 一种基于流行度的副本等级计算方法及其副本放置方法
CN115004665B (zh) 文件分享方法、装置及系统
KR101055265B1 (ko) P2p 서비스 제공장치 및 방법, 그리고 p2p 네트워크를 구성하는 피어노드에서의 데이터 교환방법을 컴퓨터에서 실행시키기 위한 기록매체
JP2005063374A (ja) データ管理方法、データ管理装置、およびそのためのプログラムならびに記録媒体。
Chung et al. Direction-aware resource discovery in large-scale distributed computing environments
JP2010238161A (ja) ノード装置、ノード処理プログラム、情報通信システム及びコンテンツデータ管理方法
JP2010066930A (ja) コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム
Chan et al. Malugo: A peer-to-peer storage system
JP5338774B2 (ja) 配信システム、情報処理装置、情報処理プログラム、及びコンテンツ投入方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111003

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: 20111101

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: 20111104

R150 Certificate of patent or registration of utility model

Ref document number: 4861472

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141111

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees