JP2012048665A - 配信システム、情報処理装置、情報処理プログラム、及びコンテンツ取得方法 - Google Patents

配信システム、情報処理装置、情報処理プログラム、及びコンテンツ取得方法 Download PDF

Info

Publication number
JP2012048665A
JP2012048665A JP2010192758A JP2010192758A JP2012048665A JP 2012048665 A JP2012048665 A JP 2012048665A JP 2010192758 A JP2010192758 A JP 2010192758A JP 2010192758 A JP2010192758 A JP 2010192758A JP 2012048665 A JP2012048665 A JP 2012048665A
Authority
JP
Japan
Prior art keywords
content
information processing
processing apparatus
request
node
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.)
Pending
Application number
JP2010192758A
Other languages
English (en)
Inventor
Nobuyuki Asano
伸行 浅野
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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2010192758A priority Critical patent/JP2012048665A/ja
Priority to US13/219,881 priority patent/US20120054307A1/en
Publication of JP2012048665A publication Critical patent/JP2012048665A/ja
Pending legal-status Critical Current

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
    • 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] 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】コンテンツを安定した速度で迅速に取得することが可能な情報処理装置、情報処理プログラム、配信システム、及びコンテンツ取得方法を提供する。
【解決手段】本発明の情報処理装置は、オーバーレイネットワークで情報処理装置に保存された所定のコンテンツの所在を検索する要求を示す検索要求を、前記オーバーレイネットワークにおける所定の情報処理装置へ送信する第1送信手段と、前記所定のコンテンツの中の少なくとも再生開始に必要となる第1データを取得する要求を示す取得要求を、前記第1データを保存している配信装置へ送信する第2送信手段と、を備える。そして、情報処理装置は、前記第1送信手段に前記検索要求を送信させるとともに、前記第2送信手段に前記取得要求を送信させ、前記検索要求に対応する前記所定のコンテンツ、または、前記取得要求に対応する前記第1データを取得する。
【選択図】図3

Description

本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型の配信システムの技術分野に関する。
近年、ピアツーピア型の配信システムが知られている。ピアツーピア型の配信システムでは、複数のノード装置によりオーバーレイネットワークが構成されている。そして、オーバーレイネットワークに参加している複数のノード装置に複数のコンテンツデータが分散保存されている。そして、オーバーレイネットワークで複数のノード装置に分散保存されたコンテンツデータの所在は、例えば特許文献1に開示されるような分散ハッシュテーブルを利用して効率良く検索可能になっている。以下、コンテンツデータを「コンテンツ」という。このようなピアツーピア型の配信システムでは、クライアント−サーバ型の配信システムのような配信サーバへの負荷集中を軽減することができる。
特開2006−197400号公報
しかしながら、ピアツーピア型の配信システムでは、オーバーレイネットワークで複数のノード装置に分散保存されたコンテンツを検索するためのメッセージがネットワーク上で飛び交う。そのため、ピアツーピア型の配信システムではコンテンツの所在の検索に時間がかかる場合があり、配信サーバからコンテンツを取得する場合と比べると、安定した速度でコンテンツを取得できないという問題があった。
そこで、本発明は、以上の点等に鑑みてなされたものであり、コンテンツを安定した速度で迅速に取得することが可能な情報処理装置、情報処理プログラム、配信システム、及びコンテンツ取得方法を提供すること等を課題とする。
上記課題を解決するために、請求項1に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置により構成されるオーバーレイネットワークで前記情報処理装置が他の情報処理装置からコンテンツを取得するように構成された配信システムに含まれる前記情報処理装置であって、前記オーバーレイネットワークで情報処理装置に保存された所定のコンテンツの所在を検索する要求を示す検索要求を、前記オーバーレイネットワークにおける所定の情報処理装置へ送信する第1送信手段と、前記所定のコンテンツの中の少なくとも再生開始に必要となる第1データを取得する要求を示す取得要求を、前記第1データを保存している配信装置へ送信する第2送信手段と、前記第1送信手段に前記検索要求を送信させるとともに、前記第2送信手段に前記取得要求を送信させる制御手段と、前記第1送信手段により送信された前記検索要求、または、前記第2送信手段により送信された前記取得要求の結果に基づいて、前記検索要求に対応する前記所定のコンテンツ、または、前記取得要求に対応する前記第1データを取得する取得手段と、を備えることを特徴とする。
請求項2に記載の発明は、請求項1に記載の情報処理装置において、前記第2送信手段は、前記所定のコンテンツの中の再生開始に必要となるデータの前記取得要求を前記配信装置へ送信することを特徴とする。
請求項3に記載の発明は、請求項2に記載の情報処理装置において、前記第1送信手段は、前記再生開始に必要となるデータを除いた範囲の前記コンテンツの前記検索要求を前記所定の情報処理装置へ送信することを特徴とする。
請求項4に記載の発明は、請求項1乃至3の何れか一項に記載の情報処理装置において、前記情報処理装置は、前記オーバーレイネットワークに定常的に参加する定常装置であり、前記所定のコンテンツを取得する要求を示す取得要求を、端末装置から受信する受信手段を更に備え、前記制御手段は、前記受信手段により前記取得要求が受信されたときに、前記第1送信手段に前記検索要求を送信させるとともに、前記第2送信手段に前記取得要求を送信させることを特徴とする。
請求項5に記載の発明は、請求項1乃至4の何れか一項に記載の情報処理装置において、前記第2送信手段は、再生開始に必要となるデータとして、前記コンテンツの再生に必要な制御ファイルを取得する要求を示す取得要求を、前記制御ファイルを保存している前記配信装置へ送信することを特徴とする。
請求項6に記載の発明は、請求項1乃至4の何れか一項に記載の情報処理装置において、前記第2送信手段は、再生開始に必要となるデータとして、前記コンテンツの再生時間軸上での前記コンテンツの再生開始位置から、所定サイズのコンテンツを取得する要求を示す取得要求を、前記所定サイズのコンテンツを保存している前記配信装置へ送信することを特徴とする。
請求項7に記載の発明は、請求項1乃至4の何れか一項に記載の情報処理装置において、前記情報処理装置は、前記所定のコンテンツが再生の重要度が高いコンテンツであるか否かを判定する判定手段を更に備え、前記制御手段は、前記判定手段により再生の重要度が高いコンテンツでないと判定された場合には、前記第2送信手段による前記取得要求の送信を禁止させることを特徴とする。
請求項8に記載の発明は、請求項7に記載の情報処理装置において、前記判定手段は、前記所定のコンテンツがストリーミング再生されるコンテンツである場合、再生の重要度が高いコンテンツであると判定することを特徴とする。
請求項9に記載の発明は、請求項7に記載の情報処理装置において、前記オーバーレイネットワークは、カラオケで使用されるカラオケデータを、前記コンテンツとして、前記他の情報処理装置から取得するように構成され、前記判定手段は、前記所定のコンテンツがカラオケ装置において予約された少なくとも1曲目のカラオケデータである場合、再生の重要度が高いコンテンツであると判定することを特徴とする。
請求項10に記載の発明は、請求項7に記載の情報処理装置において、前記判定手段は、前記所定のコンテンツのURLに含まれる情報であってコンテンツの種類を示す情報に基づいて、再生の重要度が高いコンテンツであるか否かを判定することを特徴とする。
請求項11に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置により構成されるオーバーレイネットワークで前記情報処理装置が他の情報処理装置からコンテンツを取得するように構成された配信システムに含まれるコンピュータに、前記オーバーレイネットワークで情報処理装置に保存された所定のコンテンツの所在を検索する要求を示す検索要求を、前記オーバーレイネットワークにおける所定の情報処理装置へ送信するステップと、前記所定のコンテンツの中の少なくとも再生開始に必要となる第1データを取得する要求を示す取得要求を、前記第1データを保存している配信装置へ送信するステップと、前記検索要求を送信させるとともに、前記取得要求を送信させるステップと、前記送信された前記検索要求、または、前記送信された前記取得要求の結果に基づいて、前記検索要求に対応する前記所定のコンテンツ、または、前記取得要求に対応する前記第1データを取得するステップと、を実行させるための情報処理プログラムである。
請求項12に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置により構成されるオーバーレイネットワークで前記情報処理装置が他の情報処理装置からコンテンツを取得するように構成された配信システムにおいて、前記情報処理装置は、前記オーバーレイネットワークで情報処理装置に保存された所定のコンテンツの所在を検索する要求を示す検索要求を、前記オーバーレイネットワークにおける所定の情報処理装置へ送信する第1送信手段と、前記所定のコンテンツの中の少なくとも再生開始に必要となる第1データを取得する要求を示す取得要求を、前記第1データを保存している配信装置へ送信する第2送信手段と、前記第1送信手段に前記検索要求を送信させるとともに、前記第2送信手段に前記取得要求を送信させる制御手段と、前記第1送信手段により送信された前記検索要求、または、前記第2送信手段により送信された前記取得要求の結果に基づいて、前記検索要求に対応する前記所定のコンテンツ、または、前記取得要求に対応する前記第1データを取得する取得手段と、を備えることを特徴とする。
請求項13に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置により構成されるオーバーレイネットワークで前記情報処理装置が他の情報処理装置からコンテンツを取得するように構成された配信システムに含まれるコンテンツ取得方法であって、前記オーバーレイネットワークで情報処理装置に保存された所定のコンテンツの所在を検索する要求を示す検索要求を、前記オーバーレイネットワークにおける所定の情報処理装置へ送信するステップと、前記所定のコンテンツの中の少なくとも再生開始に必要となる第1データを取得する要求を示す取得要求を、前記第1データを保存している配信装置へ送信するステップと、前記検索要求を送信させるとともに、前記取得要求を送信させるステップと、前記送信された前記検索要求、または、前記送信された前記取得要求の結果に基づいて、前記検索要求に対応する前記所定のコンテンツ、または、前記取得要求に対応する前記第1データを取得するステップと、を含むことを特徴とする。
請求項1、11乃至13に記載の発明によれば、オーバーレイネットワークで情報処理装置に保存された所定のコンテンツの所在の検索が行われるとともに、このコンテンツの中の少なくとも再生開始に必要となるデータが配信装置から取得すること可能となる。この結果、オーバーレイネットワークで複数のノード装置に分散保存されたコンテンツを検索するためのメッセージがネットワーク上で飛び交い、コンテンツの所在の検索に時間がかかる場合であっても、配信装置からコンテンツを安定した速度で迅速に取得することができる。その結果、コンテンツの再生を迅速に開始することができる。
請求項2に記載の発明によれば、配信装置から所定のコンテンツの中の再生開始に必要となるデータだけが取得されるので、配信装置の処理負荷を一定量以下に抑えることができる。
請求項3に記載の発明によれば、情報処理装置から送信される検索要求の数を抑えることができる。端末装置のユーザによっては、オーバーレイネットワークに参加したくないユーザも存在する。そのため、請求項4に記載の発明によれば、オーバーレイネットワークに参加、非参加に関わらず、請求項1に記載の発明と同様の効果を得ることができる。
請求項5に記載の発明によれば、配信装置から所定のコンテンツの中の再生開始に必要となる制御ファイルだけが取得されるので、配信装置の処理負荷を一定量以下に抑えることができる。
請求項6に記載の発明によれば、配信装置から所定のコンテンツの中の所定サイズのコンテンツだけが取得されるので、配信装置の処理負荷を一定量以下に抑えることができる。
請求項7に記載の発明によれば、所定のコンテンツが再生の重要度が高いコンテンツでない場合、情報処理装置が配信装置へアクセスすることなく、所定のコンテンツをオーバーレイネットワークを介して取得する。その結果、配信装置の処理負荷を低減することができる。
請求項8に記載の発明によれば、コンテンツのストリーミング再生を迅速に開始することができる。
請求項9に記載の発明によれば、予約された少なくとも1曲目のカラオケデータの再生を迅速に開始することができる。
請求項10に記載の発明によれば、特定の種類のコンテンツの再生を迅速に開始することができる。
本実施形態に係るコンテンツ配信システムの概要構成例を示す図である。 (A)は、WebサーバWSの概要構成例を示すブロック図である。(B)は、ノードNnの概要構成例を示すブロック図である。(C)は、視聴端末Tn−lの概要構成例を示すブロック図である。 (A)は、ノードNnの制御部21におけるコンテンツ取得処理を示すフローチャートである。(B)は、コンテンツを再生時間軸上に展開した例を示す図である。
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ配信システムに本発明を適用した場合の実施形態である。
1.コンテンツ配信システムの構成及び動作概要
始めに、図1を参照して、本実施形態に係るコンテンツ配信システムの構成及び動作概要について説明する。図1は、本実施形態に係るコンテンツ配信システムの概要構成例を示す図である。図1に示すように、本実施形態に係るコンテンツ配信システムSは、WebサーバWS、及びノード装置Nn(n=1,2,3・・・j)等により構成されている。WebサーバWS、及びノード装置NnはネットワークNWに接続されている。ネットワークNWは、インターネット等からなる。WebサーバWSは、ネットワークNW上で動画等のコンテンツを公開する配信サイトを構成するためのサーバである。また、WebサーバWSは、本発明における配信装置の一例である。ノード装置は、本発明における情報処理装置及び定常装置の一例である。なお、ノード装置を、以下、「ノード」という。
また、図1に示すように、コンテンツ配信システムSには、複数の拠点Pn毎に拠点ネットワークNLnが構築されている。この拠点の例としては、例えばカラオケ店舗、学校、会社、住宅、又はその他の施設等が挙げられる。拠点ネットワークNLnは、例えば、LAN(Local Area Network)等のプライベートネットワークである。また、各拠点ネットワークNLnには、ノードNnと複数の視聴端末Tn−l(l=1,2,3)とが接続されている。そして、各拠点PnにおけるノードNnは、同じ拠点ネットワークNLnに接続されている視聴端末Tn−lへコンテンツを提供するエッジサーバとしての機能を有する。視聴端末Tn−lは、本発明における端末装置の一例である。なお、各拠点Pnにおける視聴端末Tn−lは、同じ拠点ネットワークNLnに接続されているノードNnだけと通信を行うことに限定されるものではない。例えば、拠点P1における視聴端末T1−1は、同じ拠点ネットワークNL1に接続されているノードN1だけでなく、他の拠点P2等におけるノードN2等やWebサーバWSとも通信を行うことができる。また、図1に示すように、コンテンツ配信システムSには、ネットワークNWを介して互いに通信可能な複数のノードNn(n=1,2,3・・・k)の参加によりオーバーレイネットワークONが構成されている。オーバーレイネットワークONは、仮想的なリンクを構成する論理的なネットワークである。オーバーレイネットワークONは、特定のアルゴリズム、例えば、分散ハッシュテーブルを利用したアルゴリズムにより実現される。なお、分散ハッシュテーブルを、以下、「DHT(Distributed Hash Table)」という。ここで、オーバーレイネットワークONに参加するとは、DHTを用いたルーティングテーブルに基づいてオーバーレイネットワークONを介して他のノードNnとの間で各種メッセージを送受信できる状態に稼動することをいう。なお、DHTを用いたルーティングテーブルについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。
そして、本実施形態においては、各ノードNnはオーバーレイネットワークONに定常的に参加している。ここで、「定常的に参加」とは、例えば、ノードNnが故障時又はメンテナンス時以外の時には、オーバーレイネットワークONから脱退せず参加していることを意味する。本実施形態では、定常的に参加するノードNnは、例えば、ルータである。この場合、ルータに、ノードNnとして制御処理を実行させるプログラムがインストールされる。各拠点以外にも、各家庭で常時ネットワークに接続される機器に、ノードNnとして制御処理を実行させるプログラムがインストールされても良い。また、オーバーレイネットワークONに参加している各ノードNnにはノードIDが付与されている。このノードIDは、ノードNnを、オーバーレイネットワークONに参加しているノードNnの中から識別する固有の識別情報である。また、オーバーレイネットワークONに参加している複数のノードNnには、内容の異なる様々なコンテンツが分散保存されている。なお、コンテンツは、例えばカラオケで使用されるカラオケデータとしてもよい。カラオケデータを、以下、「カラオケ用のコンテンツ」という。この場合、オーバーレイネットワークONは、あるノードNnがカラオケ用のコンテンツを他のノードNnから取得するように構成される。
また、オーバーレイネットワークONで各ノードNnに保存されている各コンテンツには、コンテンツIDが付与されている。コンテンツIDは、コンテンツを、オーバーレイネットワークONでノードNnに保存されるコンテンツの中から識別する固有の識別情報である。なお、ノードID及びコンテンツIDは、例えば、オーバーレイネットワークONで共通のハッシュ関数により生成される。
ここで、コンテンツを保存しているノードNnを、以下、「コンテンツ保持ノード」という。また、コンテンツの所在を示す情報は、インデックス情報として、コンテンツの所在を管理しているノードNnに記憶される。コンテンツの所在を管理しているノードNnを、以下、「ルートノード」という。インデックス情報には、コンテンツを保存しているコンテンツ保持ノードのノード情報と、コンテンツのコンテンツIDとの組が含まれる。ノード情報には、例えば、コンテンツ保持ノードのIPアドレス、ポート番号、及びノードIDが含まれる。ルートノードは、例えば、コンテンツIDと最も近いノードIDが割り当てられたノードNnであるように定められる。コンテンツIDと最も近いノードIDとは、例えば、IDの上位桁が最も多く一致するノードIDである。
更に、オーバーレイネットワークONに参加しているノードNnは、HTTP(HyperText Transfer Protocol)Proxyの機能を有する。このため、ノードNnは、視聴端末Tn−lから送信されたHTTPリクエストを受信する。このHTTPリクエストは、所定のコンテンツを取得する要求を示す取得要求の一例である。そして、ノードNnは、一般的なHTTP Proxyであれば、視聴端末Tn−lから送信されたHTTPリクエストを、そのままWebサーバWSへ転送するところを、HTTPリクエストで要求された所定のコンテンツの所在をオーバーレイネットワークONから検索する検索処理を行う。この検索処理を行うノードNnを、以下、「ユーザノード」という。この検索処理において、ユーザノードは、要求されたコンテンツの所在を検索する要求を示す検索要求を、オーバーレイネットワークONにおける所定のノードNnへ送信する。具体的には、ユーザノードは、先ず、検索要求を含むコンテンツ所在問合せメッセージを生成する。コンテンツ所在問合せメッセージは、検索要求に対応するコンテンツの所在をルートノードに問い合わせるためのメッセージである。また、コンテンツ所在問合せメッセージには、このメッセージを送信するユーザノードのIPアドレス及びポート番号、並びに検索要求に対応するコンテンツのコンテンツIDが含まれる。このコンテンツIDは、例えばHTTPリクエストに含まれるコンテンツのURLに基づいて生成される。そして、ユーザノードは、DHTを用いてルーティングテーブルに基づいて、コンテンツ所在問合せメッセージを、オーバーレイネットワークONにおける所定のノードNnへ送信する。こうして送信されたコンテンツ所在問合せメッセージは、DHTルーティングにより、検索要求に対応するコンテンツのルートノードへ送信される。なお、DHTルーティングは、例えば特開2007−053662号公報等で公知であるので、詳しい説明を省略する。コンテンツ所在問合せメッセージを受信したルートノードは、コンテンツ所在問合せメッセージに含まれるコンテンツIDに対応するインデックス情報を取得する。そして、ルートノードは、取得したインデックス情報を、ユーザノードへ返信する。このように返信されたインデックス情報には、検索要求に対応するコンテンツを保存している1以上のコンテンツ保持ノードのIPアドレス等が含まれている。こうして、ユーザノードは、検索要求の結果として、ルートノードからインデックス情報を取得する。そして、ユーザノードは、取得したインデックス情報に含まれるコンテンツ保持ノードのIPアドレス等に基づいてコンテンツ保持ノードにアクセスする。そして、ユーザノードは、検索要求に対応するコンテンツをコンテンツ保持ノードから取得する。こうして取得されたコンテンツは、HTTPリクエストを送信した視聴端末Tn−lへ転送される。
ところで、コンテンツ保持ノードからコンテンツを取得する場合、上述した検索処理によりコンテンツの所在を検索する必要がある。この場合、オーバーレイネットワークONで複数のノードNnに分散保存されたコンテンツを検索するため、メッセージがネットワークNW上で飛び交う場合がある。そのため、この場合、WebサーバWSからコンテンツを取得する場合と比べると、コンテンツの取得が遅くなることがある。そこで、本実施形態においては、ユーザノードは、上述したようにHTTPリクエストで要求されたコンテンツの検索要求を送信するとともに、このコンテンツの中の少なくとも再生開始に必要となる一部分のデータを取得する要求を示す取得要求を一般的なHTTP Proxyサーバと同様に、WebサーバWSに送信する。なお、本実施形態においては、WebサーバWSはオーバーレイネットワークONに属していない。しかしながら、WebサーバWSがオーバーレイネットワークONに属していても良い。属しているとは、WebサーバWSがオーバーレイネットワークONに参加していることを示す。ここで、一部分のデータを取得する要求を示す取得要求は、例えば、HTTPリクエストに含まれてWebサーバWSに送信される。なお、一部分のデータを、以下、「部分データ」という。部分データは、本発明における第1データの一例である。この結果、ユーザノードは、コンテンツ保持ノードからコンテンツを取得するまでの間に、取得要求に対応する少なくとも再生開始に必要となる部分データをWebサーバWSからクライアント−サーバ方式で取得することが可能となる。そして、ユーザノードにより取得された少なくとも再生開始に必要となる部分データは、HTTPリクエストを送信した視聴端末Tn−lへ転送される。その結果、視聴端末Tn−lは、オーバーレイネットワークONを介して取得されるコンテンツを待たずに、再生開始に必要となる部分データを用いてコンテンツの再生を迅速に開始することができる。
2.WebサーバWSの構成及び機能
次に、図2(A)を参照して、WebサーバWSの構成及び機能について説明する。図2(A)は、WebサーバWSの概要構成例を示すブロック図である。WebサーバWSは、図2(A)に示すように、制御部11、記憶部12、及び通信部13等を備えて構成される。制御部11、記憶部12、及び通信部13はバス14を介して相互に接続されている。WebサーバWSは、アプリケーションサーバ、及びデータベースサーバ等の複数のサーバから構成されてもよい。
記憶部12は、例えばハードディスクドライブ等から構成される。記憶部12には、オペレーティングシステム、及びサーバプログラム等が記憶されている。また、記憶部2に設けられたコンテンツ保存領域には、配信サイトに登録されたコンテンツが所定のファイル形式で記憶されている。このようなコンテンツは、例えば、再生対象のリソースファイルから構成される。ここで、リソースファイルとしては、例えば、動画ファイル、画像ファイル、音声ファイル、テキストファイル等が挙げられる。動画ファイルの例としては、wmvファイル、asfファイル、flvファイル、3gpファイル等がある。画像ファイルの例としては、bmpファイル、jpegファイル、gifファイル等がある。音声ファイルの例としては、mp3ファイル等がある。テキストファイルの例としては、XMLファイル等がある。
また、コンテンツがリソースファイルと、リソースファイルの再生に必要な制御ファイルから構成される場合がある。制御ファイルの例としては、swfファイル等がある。swfファイルには、動画等のリソースの出力制御を行うためのスプリプトがAction Scriptと呼ばれる言語で記述されている。ここで、出力制御には、例えば、リソースファイルに格納された動画等のリソースの出力タイミングの制御が含まれる。出力タイミングとは、言い換えれば、各動画等のリソースの再生開始からの経過した時間である。また、出力制御は、画像やテキストを所定のディスプレイに表示する表示制御が含まれる場合もある。この表示制御には、例えば、画像やテキストの表示位置の制御が含まれる。
なお、コンテンツが複数のリソースファイルと各リソースファイルの再生に必要な制御ファイルから構成される場合がある。この場合、制御ファイルには、例えば各リソースファイルが再生される順番が規定される。
また、記憶部12には、視聴端末Tn−l等に提供可能なWebページが記憶されている。Webページは、HTML(Hyper Text Markup Language)やXML(Extensible Markup Language)等により記述された構造化文書ファイルからなる。また、Webページには、コンテンツを再生するソフトウェアであるプレイヤーの識別子が記述される。更に、Webページには、視聴端末Tn−l等に提供可能なコンテンツの所在を示す所在情報が記述される。この所在情報の例としては、コンテンツのURL(Uniform Resource Locator)が挙げられる。URLは、URIの一例である。なお、URIには、リソースの場所を識別するURLと、リソースの名前を識別するURNとが含まれる。このURLには、コンテンツを構成するファイルのファイルパス及びファイル名が含まれる。なお、Webページには、コンテンツのメタファイルのURLが記述されるように構成してもよい。コンテンツのメタファイルは、WebブラウザがWebページからコンテンツへアクセスするためのテキストファイルである。そのため、コンテンツのメタファイルには、コンテンツのURLが記述される。メタファイルの例としては、wvxファイル、asxファイル等が挙げられる。このようなメタファイルを利用することで、WebブラウザがWebページに示されるプレイヤーを起動させコンテンツのストリーミング再生が可能になる。また、一つのコンテンツが複数のファイルから構成される場合がある。この場合、コンテンツのメタファイルには、コンテンツを構成する各ファイルのURLが記述される。
通信部13は、ネットワークNWを通じて視聴端末Tn−l又はノードNn等との間の通信制御を行う。
制御部11は、演算機能を有するCPU,作業用RAM,及びROM等から構成される。制御部11は、CPUが記憶部12等に記憶されたプログラムを読み出して実行することにより、WebサーバWSとしての処理を行う。
3.ノードNnの構成及び機能等
次に、図2(B)を参照して、ノードNnの構成及び機能について説明する。図2(B)は、ノードNnの概要構成例を示すブロック図である。ノードNnは、図2(B)に示すように、制御部21、バッファメモリ22、記憶部23、通信部24a、及び通信部24b等を備えて構成される。制御部21、バッファメモリ22、記憶部23、通信部24a、及び通信部24bはバス25を介して相互に接続されている。なお、本実施形態において、ノードNnは、ネットワークNWと拠点ネットワークNLnと間でIP(Internet Protocol)パケットを中継する中継機器であるものとする。この中継機器は、例えばルータ又はL3スイッチングハブ等である。
バッファメモリ22は、通信部24aを介して受信されたコンテンツを一時的に蓄積する。
記憶部23は、例えばハードディスクドライブ等から構成される。記憶部23には、オペレーティングシステム、IPパケット中継処理プログラム、及びノード処理プログラム等が記憶されている。なお、ノード処理プログラム等は、例えば、ネットワークNWに接続された所定のサーバからダウンロードされるようにしてもよい。或いは、ノード処理プログラム等は、例えば、記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしてもよい。
また、記憶部23には、オーバーレイネットワークONで使用されるDHTを用いたルーティングテーブル等が記憶されている。また、記憶部23に設けられたコンテンツ保存領域には、コンテンツが記憶されている。このコンテンツは、WebサーバWSの記憶部12に記憶されるコンテンツと同様である。また、コンテンツが複数のファイルから構成される場合がある。この場合、例えば、各ファイルが一つのコンテンツとしてオーバーレイネットワークONに参加している複数のノードNnに分散保存される。そのため、一つのノードNnの記憶部23には、コンテンツを構成する複数のファイルの中の一つのファイルが記憶される場合もある。例えば、コンテンツが、第1の動画ファイル、第2の動画ファイル、及び制御ファイルから構成されるとする。この場合、第1の動画ファイルは、例えばノードN1の記憶部23に保存される。また、第2の動画ファイルは、例えばノードN2の記憶部23に保存される。また、制御ファイルは、例えばノードN3の記憶部23に保存される。なお、このようにコンテンツとして分散保存された各ファイルには、夫々固有のコンテンツIDが付与されている。
通信部24aは、ネットワークNWを通じて他のノードNn又はWebサーバWS等との間の通信制御を行う。通信部24bは、拠点ネットワークNLnを通じて視聴端末Tn−lとの間の通信制御を行う。
制御部21は、演算機能を有するCPU,作業用RAM,及びROM等から構成される。制御部21は、本発明における受信手段、第1送信手段、第2送信手段、判定手段、制御手段、及び取得手段の一例である。制御部21は、CPUが記憶部23等に記憶されたIPパケット中継処理プログラムの実行により、IPパケット中継処理部21aとして動作する。IPパケット中継処理部21aは、OSI(Open Systems Interconnection)参照モデルの第3層であるネットワーク層において、他のルータ又はホストからのIPパケットを中継する処理を行う。なお、IPパケット中継処理部21aの機能は、公知のルータ又はL3スイッチングハブ等と同様であるので、詳しい説明を省略する。また、制御部21は、CPUが記憶部23等に記憶されたノード処理プログラムの実行により、ノード処理部21bとして動作する。なお、IPパケット中継処理部21aとノード処理部21bの処理は、1つのCPUがマルチタスク又はマルチコアにより実行される。或いは、IPパケット中継処理部21aとノード処理部21bの処理は、2つのCPUで夫々のCPUにより実行されるように構成してもよい。
4.視聴端末Tn−lの構成及び機能等
次に、図2(C)を参照して、視聴端末Tn−lの構成及び機能について説明する。図2(C)は、視聴端末Tn−lの概要構成例を示すブロック図である。視聴端末Tn−lは、図2(C)に示すように、制御部31、記憶部32、バッファメモリ33、デコーダ部34、映像処理部35、表示部36、音声処理部37、スピーカ38、通信部39、及び入力部39a等を備えて構成される。制御部31、記憶部32、バッファメモリ33、デコーダ部34、映像処理部35、表示部36、音声処理部37、通信部39、及び入力部39aは、バス39bを介して相互に接続されている。なお、視聴端末Tn−lには、パーソナルコンピュータ又はカラオケ装置が適用可能である。カラオケ装置は、カラオケ用のコンテンツを再生する装置である。
記憶部32は、例えばハードディスクドライブ等から構成される。記憶部32には、オペレーティングシステム、Webブラウザのプログラム、及びプレイヤーのプログラム等が記憶されている。また、記憶部32には、WebサーバWSのIPアドレス及びポート番号が記憶されている。
バッファメモリ33は、受信されたコンテンツをバッファリングする。デコーダ部34は、コンテンツに含まれる映像データ及び音声データ等のデータ伸張や復号化等のデコード処理を行う。映像処理部35は、デコーダ部34によりデコードされた映像データ等に対して所定の描画処理を施し映像信号として再生出力する。表示部36は、映像処理部35から再生出力された映像信号に基づきディスプレイに映像等を表示する。また、表示部36は、デコーダ部34によりデコードされた画像を表示する。音声処理部37は、デコーダ部34によりデコードされた音声データをアナログ音声信号にD(Digital)/A(Analog)変換した後これをアンプにより増幅して再生出力する。スピーカ38は、音声処理部37から再生出力された音声信号を音波として出力する。
通信部39は、ネットワークNWを通じてWebサーバWS又はノードNn等との間の通信制御を行う。
制御部31は、演算機能を有するCPU,作業用RAM,及びROM等から構成される。また、制御部31は、CPUが記憶部32等に記憶されたWebブラウザのプログラムの実行により、Webブラウザ31aとして動作する。このWebブラウザ31aによりWebサーバWSから取得されたWebページがディスプレイに表示される。また、制御部31は、CPUが記憶部32等に記憶されたプレイヤーのプログラムの実行により、プレイヤー31bとして動作する。このプレイヤー31bによりデコーダ部34等が制御されてコンテンツが再生される。
なお、制御部31は、ノードNnの制御部21と同様、ノード処理プログラムを実行することでノード処理部として動作するように構成してもよい。この場合、視聴端末Tn−lは、オーバーレイネットワークONに参加してノードNnとして動作することが可能になる。
5.コンテンツ配信システムSの動作
次に、図3を参照して、本実施形態に係るコンテンツ配信システムSの動作について説明する。図3(A)は、ノードNnの制御部21におけるコンテンツ取得処理を示すフローチャートである。なお、以下の説明では、ノードN1と視聴端末T1−1を例にとる。また、視聴端末T1−1の表示部36には、Webブラウザ31aによりWebサーバWSから受信されたWebページが表示されているものとする。このWebページは、配信サイトで公開されたコンテンツの視聴用のページである。また、このWebページには、コンテンツのURL又はコンテンツのメタファイルのURLが含まれている。このようにWebページが表示されている状態において、例えば、視聴端末T1−1のユーザにより入力部39aを介してコンテンツの再生指示があるとする。この場合、視聴端末T1−1のWebブラウザ31aは、再生指示されたコンテンツを取得する要求を示すHTTPリクエストを、拠点ネットワークNL1を介してノードN1に送信する。或いは、Webブラウザ31aがWebページを受信したことを条件として、HTTPリクエストがノードN1に送信されるように構成してもよい。このHTTPリクエストには、Webページから抽出されたコンテンツのURLが含まれている。なお、WebページにコンテンツのメタファイルのURLが含まれる場合がある。この場合、Webブラウザ31aは、先ず、コンテンツのメタファイルを取得してこのメタファイルからコンテンツのURLを抽出する。そして、Webブラウザ31aは、抽出したコンテンツのURLを含むHTTPリクエストをノードN1に送信する。また、一つのコンテンツが複数のファイルから構成される場合がある。この場合、各ファイルのURLがHTTPリクエストに含まれることになる。
そして、図3(A)に示す処理は、ノードN1が視聴端末T1−1からHTTPリクエストを受信することにより開始される。図3(A)に示す処理が開始されると、ノードN1のノード処理部21bは、視聴端末T1−1から要求されたコンテンツが再生の重要度が高いコンテンツであるか否かを判定する(ステップS1)。この判定は、コンテンツ中の少なくとも再生開始に必要となる部分データをWebサーバWSから取得するか否かを決定するために行われる。ここで、再生の重要度が高いコンテンツとは、例えば、視聴端末T1−1が受信してから迅速に再生を開始するべきコンテンツをいう。再生の重要度が高いコンテンツは、言い換えれば、再生重視のコンテンツである。
再生の重要度が高いコンテンツであるか否かの判定方法の例としては、以下の(a)〜(d)が挙げられる。
(a)ストリーミング再生されるか否かに基づく判定
視聴端末T1−1から、HTTPリクエストにより、コンテンツのストリーミング再生が要求される場合がある。ストリーミング再生されるコンテンツは、視聴端末T1−1が受信してから迅速に再生を開始するべきコンテンツである。そのため、ノード処理部21bは、視聴端末T1−1から要求されたコンテンツがストリーミング再生されるコンテンツである場合、再生の重要度が高いコンテンツであると判定する。ここで、ストリーミング再生されるコンテンツとは、所定量のデータがバッファメモリ33にバッファリングされたときに再生が開始されるコンテンツをいう。また、ストリーミング再生されるコンテンツであることを示す情報は、Webページに記述されている。そのため、この場合、視聴端末T1−1から送信されるHTTPリクエストのヘッダには、ストリーミング再生されるコンテンツであることを示す情報が含められる。(a)の判定方法によれば、視聴端末T1−1はコンテンツのストリーミング再生を迅速に開始することができる。一方、視聴端末T1−1から要求されたコンテンツがストリーミング再生されるコンテンツでない場合、WebサーバWSの処理負荷を低減することができる。
(b)複数のコンテンツの再生順番に基づく判定
視聴端末T1−1から、HTTPリクエストにより、順番に再生される複数のコンテンツが要求される場合がある。複数のコンテンツの中の1番目に再生されるコンテンツは、視聴端末T1−1が受信してから迅速に再生を開始するべきコンテンツである。そのため、ノード処理部21bは、要求された複数のコンテンツの中の1番目に再生されるコンテンツを、再生の重要度が高いコンテンツであると判定する。例えば、視聴端末T1−1がカラオケ装置であり、カラオケ用のコンテンツが要求される場合がある。この場合、ノード処理部21bは、カラオケ装置において予約された1曲目のコンテンツを、再生の重要度が高いコンテンツであると判定する。一方、複数のコンテンツの中の2番目以降に再生されるコンテンツは、1番目のコンテンツの再生終了後に再生されればよい。そのため、このようなコンテンツは、再生の重要度が高いコンテンツでないと判定される。なお、視聴端末T1−1から送信されるHTTPリクエストのヘッダには、各コンテンツに対応する曲の再生順番又は予約順番を示す情報が含められる。また、例えば視聴端末T1−1において1曲目のコンテンツの再生中に、ユーザから入力部39aを介して2曲目以降のコンテンツの予約が指示される場合がある。この場合、ノード処理部21bは、要求された2曲目以降のコンテンツを、再生の重要度が高いコンテンツでないと判定する。なお、この場合、HTTPリクエストのヘッダには、予約された2曲目以降のコンテンツであることを示す情報が含められる。(b)の判定方法によれば、視聴端末T1−1は、複数のコンテンツの中の1番目のコンテンツの再生を迅速に開始することができる。一方、視聴端末T1−1から要求されたコンテンツが2番目以降のコンテンツである場合、WebサーバWSの処理負荷を低減することができる。
(c)コンテンツの種類に基づく判定
コンテンツの種類には、例えば、動画、静止画、音声、テキスト等の種類がある。なお、動画は映像ともいう。このうち、動画のコンテンツは、視聴端末T1−1が受信してから迅速に再生を開始するべきコンテンツである。そのため、ノード処理部21bは、視聴端末T1−1から要求されたコンテンツが動画のコンテンツである場合、再生の重要度が高いコンテンツであると判定する。一方、静止画のコンテンツは、画像ファイル全体が揃って初めて視聴できるコンテンツであるため、部分的に迅速に取得できることによるメリットはないと考えられる。そのため、このようなコンテンツは、再生の重要度が高いコンテンツでないと判定される。なお、コンテンツの種類は、視聴端末T1−1から送信されるHTTPリクエストに含まれるコンテンツのURLにより判別できる。例えば、コンテンツのURLには、コンテンツを構成するファイルのファイル名が含まれている場合がある。そのファイル名に含まれる拡張子によりコンテンツの種類を判別できる。拡張子が、例えば「wmv」、「flv」、又は「3gp」であれば、動画のコンテンツであると判定できる。なお、ファイル名に含まれる拡張子は、コンテンツの種類を示す情報の一例である。(c)の判定方法によれば、視聴端末T1−1は、動画のコンテンツの再生を迅速に開始することができる。
(d)重視するストリームに基づく判定
コンテンツが音声ストリームと映像ストリームの両方のデータからなる場合において、一方のストリームがより重視されるケースがある。ここで、ストリームとは連続的な流れを意味する。例えば、カラオケ用のコンテンツの場合、瞬間的であっても音声ストリームが途切れることは問題である。しかし、動画ストリームの方は一瞬停止したとしてもカラオケの用途上は大きな問題とはならない。なお、音声ストリームのデータは音声ファイルに格納される。一方、映像ストリームのデータは動画ファイルに格納される。この場合、ノード処理部21bは、視聴端末T1−1から要求されたコンテンツを構成する音声ファイルと動画ファイルのうち、音声ファイルを再生の重要度が高いコンテンツであると判定する。一方、要求されたコンテンツを構成する音声ファイルと動画ファイルのうち、動画ファイルを再生の重要度が低いコンテンツであると判定する。なお、音声ファイルと動画ファイルの区別は、例えば、そのファイル名に含まれる拡張子により行うことができる。(d)の判定方法によれば、視聴端末T1−1は、重視するストリーム再生を迅速に開始することができる。
なお、上記(a)〜(d)とは別の判定方法を適用してもよい。例えば、視聴端末T1−1のユーザが急ぎで取得したいコンテンツを再生の重要度が高いコンテンツとして指定することが考えられる。この場合、視聴端末T1−1から送信されるHTTPリクエストのヘッダには、再生の重要度が高いコンテンツであることを示す情報が含められる。
そして、ノードN1のノード処理部21bは、視聴端末T1−1から要求されたコンテンツが再生の重要度が高いコンテンツでないと判定した場合には(ステップS1:NO)、ステップS5に進む。つまり、この時点では、ノード処理部21bは、WebサーバWSへコンテンツを取得する要求を示すHTTPリクエストを送信することを禁止する。この場合、オーバーレイネットネットワークONからコンテンツを発見できれば、ノード処理部21bからWebサーバWSへはコンテンツの要求が行われないので、WebサーバWSの処理負荷を低減することができる。
一方、ノードN1のノード処理部21bは、視聴端末T1−1から要求されたコンテンツが再生の重要度が高いコンテンツであると判定した場合には(ステップS1:YES)、ステップS2に進む。
ステップS2では、ノードN1のノード処理部21bは、視聴端末T1−1から要求されたコンテンツの中の再生開始に必要となる部分データを決定する。再生開始に必要となる部分データの例としては、動画等の出力制御を行うためのデータが挙げられる。動画等の出力制御を行うためのデータは、例えば図3(B)に示すように、コンテンツの再生時間軸上での再生開始位置から所定バイト目までの所定サイズのデータ51中に含まれる。そのため、ノード処理部21bは、所定サイズのデータ51を、再生開始に必要となる部分データとして決定する。なお、図3(B)は、コンテンツを再生時間軸上に展開した例を示す。再生時間軸上での再生開始位置とはコンテンツの0バイト目の位置である。
また、例えばコンテンツのフォーマットによっては、動画等の出力制御を行うためのデータは、図3(B)に示すように、コンテンツの再生時間軸上での所定バイト目から再生終了位置までの所定サイズのデータ53中に含まれる場合もある。この場合、ノード処理部21bは、所定サイズのデータ53を、再生開始に必要となる部分データとして決定する。或いは、動画等の出力制御を行うためのデータが、コンテンツの再生時間軸上での再生開始位置から第1のバイト目までの所定サイズのデータ51と、第1のバイトよりも大きい第2のバイト目から再生終了位置までの所定サイズのデータ53とに分かれて含まれる場合がある。この場合、ノード処理部21bは、所定サイズのデータ51と、所定サイズのデータ53を、再生開始に必要となる部分データとして決定する。
また、視聴端末T1−1から要求されたコンテンツが複数のリソースファイルから構成される場合がある。また、各リソースファイルには再生される順番が設定されている。この場合、ノード処理部21bは、再生される順番が1番のリソースファイル、又は再生される順番が1番から所定順番までのリソースファイルを、再生開始に必要となる部分データとして決定するように構成してもよい。
また、視聴端末T1−1から要求されたコンテンツがリソースファイルと、リソースファイルの再生に必要な制御ファイルから構成される場合がある。この場合、ノード処理部21bは、制御ファイルを再生開始に必要となる部分データとして決定するように構成してもよい。
また、上述した(d)の判定方法で、音声ファイルを再生の重要度が高いコンテンツであると判定される一方、動画ファイルを再生の重要度が低いコンテンツであると判定される場合がある。この場合、ノード処理部21bは、この音声ファイルを再生開始に必要となる部分データとして決定するように構成してもよい。
そして、ノードN1のノード処理部21bは、上記ステップS2で決定された再生開始に必要となる部分データをクライアント−サーバ方式で取得する要求を示すHTTPリクエストをネットワークNWを介してWebサーバWSへ送信する(ステップS3)。ここで、HTTPリクエストには、視聴端末T1−1から要求されたコンテンツのURLとこのコンテンツの中の再生開始に必要となる部分データの範囲を示す情報が含まれる。部分データの範囲は、Xバイト〜Yバイトというように表される。また、一つのコンテンツを構成する複数のファイルの中の一部のファイルが再生開始に必要となる部分データであると判定される場合がある。この場合、HTTPリクエストには、再生開始に必要となる部分データとして判定されたファイルのURLが含まれる。このように、WebサーバWSに要求するデータを、再生開始に必要となる部分データのみとすることで、WebサーバWSの処理負荷を一定量以下に抑えることができる。
なお、ノードN1のノード処理部21bは、視聴端末T1−1から要求されたコンテンツの全データを取得する要求を示すHTTPリクエストをWebサーバWSに送信するように構成してもよい。この構成によれば、視聴端末T1−1から要求されたコンテンツを完全な形でWebサーバWSから取得することができる。そのため、ノード処理部21bは、このコンテンツをオーバーレイネットワークONから発見できなかった場合に、WebサーバWSから取得されたコンテンツをオーバーレイネットワークONへ投入することができる。また、この場合、ノード処理部21bは、視聴端末T1−1から要求されたコンテンツのURLを含むHTTPリクエストをWebサーバWSに転送すればよいので、効率が良い。ここで、「コンテンツの投入」とは、オーバーレイネットワークONで取得可能なコンテンツとして新たなコンテンツを何れかのノードNnに保存させることをいう。
そして、WebサーバWSは、ノードN1から送信されたHTTPリクエストを受信すると、HTTPリクエストに含まれるURLで示されるコンテンツを取得してノードN1へ送信する。また、HTTPリクエストに部分データの範囲を示す情報が含まれていた場合、この範囲の部分データが取得されノードN1に送信される。
次いで、ノードN1のノード処理部21bは、WebサーバWSへコンテンツの取得要求をしたことを示す情報を記憶し(ステップS4)、ステップS5に進む。
ステップS5では、ノードN1のノード処理部21bは、視聴端末T1−1から要求されたコンテンツの所在をオーバーレイネットワークONから検索する検索処理を行う。具体的には、ノードN1のノード処理部21bは、視聴端末T1−1から要求されたコンテンツのコンテンツIDを含むコンテンツ所在問合せメッセージを生成する。そして、ノード処理部21bは、生成したコンテンツ所在問合せメッセージを、DHTルーティングによりコンテンツのルートノード宛に送信する。ここで、コンテンツIDは、例えば、ノードIDを生成するハッシュ関数と同じハッシュ関数によりコンテンツのURLがハッシュ化されて生成される。この場合、コンテンツのURLのハッシュ値がコンテンツIDとなる。このようにコンテンツのURLに基づきコンテンツIDが生成されるので、オーバーレイネットワークONへ投入されるコンテンツのコンテンツIDを記述するためにWebページの記述を変更しなくてもよい。
ところで、視聴端末T1−1から要求されたコンテンツを構成する各ファイルのURLがHTTPリクエストに含まれている場合がある。この場合、各ファイルのURLに基づき各ファイルのコンテンツIDが生成される。このように生成されたコンテンツIDを含むコンテンツ所在問合せメッセージはファイル毎に生成される。そして、生成された各コンテンツ所在問合せメッセージは、各ファイルのルートノード宛に送信される。
また、一つのコンテンツを構成する複数のファイルの中の一部のファイルが再生開始に必要となる部分データとしてWebサーバWSへ要求される場合がある。この場合、この一部のファイル以外のファイルのURLに基づきファイルのコンテンツIDが生成される。そして、このように生成されたコンテンツIDを含むコンテンツ所在問合せメッセージがファイルのルートノード宛に送信される。つまり、再生開始に必要となるデータを除いた範囲のコンテンツの検索する要求を示す検索要求がルートノード宛に送信される。ノードN1から送信されるコンテンツ所在問合せメッセージの数を抑えることができる。
そして、ルートノードは、ノードN1から送信されたコンテンツ所在問合せメッセージを受信すると、コンテンツ所在問合せメッセージに含まれるコンテンツIDに対応するインデックス情報を取得してノードN1へ送信する。一方、コンテンツ所在問合せメッセージに含まれるコンテンツIDに対応するインデックス情報が記憶されていない場合がある。この場合、ルートノードは、コンテンツ無メッセージをノードN1へ送信することになる。このコンテンツ無メッセージは、コンテンツ所在問合せメッセージに含まれるコンテンツIDに対応するコンテンツを保存しているコンテンツ保持ノードが無いことを示すメッセージである。
なお、上記例では、制御部31がノード処理部21bにコンテンツ所在問合せメッセージを所定のノードNnに送信させ、且つ、このコンテンツ所在問合せメッセージの送信前の所定時間内にHTTPリクエストをWebサーバWSに送信させるように構成した。しかし、このコンテンツ所在問合せメッセージの送信は、上記ステップS3におけるHTTPリクエストのWebサーバWSへの送信よりも前に行われるように構成してもよい。つまり、制御部31がノード処理部21bにコンテンツ所在問合せメッセージを所定のノードNnに送信させ、且つ、このコンテンツ所在問合せメッセージの送信後の所定時間内にHTTPリクエストをWebサーバWSに送信させるように構成してもよい。或いは、このコンテンツ所在問合せメッセージと、上記ステップS3におけるHTTPリクエストとが同時に送信されるように構成してもよい。
そして、ステップS6では、ノードN1のノード処理部21bは、WebサーバWSからコンテンツ又は再生開始に必要となる部分データが受信されたか否かを判定する。WebサーバWSからコンテンツ又は再生開始に必要となる部分データが受信された場合には(ステップS6:YES)、処理はステップS7へ進む。一方、WebサーバWSからコンテンツ又は再生開始に必要となる部分データが受信されていない場合には(ステップS6:NO)、処理はステップS13へ進む。
ステップS7では、ノードN1のノード処理部21bは、WebサーバWSから受信されたコンテンツ又は再生開始に必要となる部分データをバッファメモリ22に一時的に保存させる。
次いで、ノードN1のノード処理部21bは、WebサーバWSから受信されたコンテンツ又は再生開始に必要となる部分データを拠点ネットワークNL1を介して視聴端末T1−1へ転送する(ステップS8)。視聴端末T1−1のWebブラウザ31aは、コンテンツ又は再生開始に必要となる部分データを受信すると、Webページに記述されたプレイヤーの識別子に対応するプレイヤー31bを起動する。そして、プレイヤー31bによりコンテンツの再生が開始される。
次いで、ノードN1のノード処理部21bは、視聴端末T1−1から要求された全コンテンツの転送を完了したか否かを判定する(ステップS9)。そして、ノードN1のノード処理部21bは、視聴端末T1−1へ全コンテンツの転送を完了したと判定した場合には(ステップ9:YES)、ステップS10へ進む。一方、ノードN1のノード処理部21bは、視聴端末T1−1へ全コンテンツの転送を完了していないと判定した場合には(ステップ9:NO)、ステップS13へ進む。
ステップS10では、ノードN1のノード処理部21bは、WebサーバWSからクライアント−サーバ方式で取得したコンテンツをオーバーレイネットワークONへ投入する必要があるか否かを判定する。例えば、後述するステップS21でオーバーレイネットワークONからコンテンツを発見できないことを示す情報が記憶されていた場合、オーバーレイネットワークONへ投入する必要があると判定される。そして、ノードN1のノード処理部21bは、オーバーレイネットワークONへ投入する必要があると判定した場合には(ステップ10:YES)、 S11へ進む。一方、ノードN1のノード処理部21bは、オーバーレイネットワークONへ投入する必要がないと判定した場合には(ステップ10:NO)、図3(A)に示す処理を終了する。
ステップS11では、ノードN1のノード処理部21bは、コンテンツの投入処理を行う。この投入処理では、先ず、ノードN1のノード処理部21bは、コンテンツの投入先となる所定数のノードNnのIPアドレス及びポート番号を記憶部23に記憶されているIPアドレス及びポート番号の中から取得する。例えば、投入先となるノードNnのIPアドレス及びポート番号は、DHTを用いたルーティングテーブルに登録されているIPアドレス及びポート番号の中から取得される。また、ノードN1のノード処理部21bがオーバーレイネットワークONを介して他のノードNnとの間で行ったメッセージの送受信の履歴情報が記憶部23に記憶されている場合がある。この履歴情報に他のノードNnのIPアドレス及びポート番号が含まれている場合、この中から投入先となるノードNnのIPアドレス及びポート番号が取得されるように構成してもよい。そして、ノードN1のノード処理部21bは、取得した各IPアドレス及びポート番号に基づいてノードNnへアクセスし、コンテンツ保存依頼メッセージを送信する。このコンテンツ保存依頼メッセージは、コンテンツの保存を依頼するメッセージである。このコンテンツ保存依頼メッセージを受信したノードNnは、例えば、このノードNnの記憶部にコンテンツを保存するための空き領域がある場合、コンテンツ保存許可メッセージを返信する。このコンテンツ保存許可メッセージは、コンテンツの保存を許可するメッセージである。一方、コンテンツ保存依頼メッセージを受信したノードNnは、例えば、このノードNnの記憶部にコンテンツを保存するための空き領域がない場合、コンテンツ保存拒否メッセージを返信する。このコンテンツ保存拒否メッセージは、コンテンツの保存を拒否するメッセージである。そして、ノードN1のノード処理部21bはコンテンツ保存許可メッセージを受信した場合、バッファメモリ22に一時的に保存されているコンテンツを取得する。そして、ノードN1のノード処理部21bは、バッファメモリ22から取得したコンテンツを、コンテンツ保存許可メッセージを送信したノードNnへ送信する。こうして、コンテンツを受信したノードNnは、このコンテンツを保存しコンテンツ保持ノードとなる。
次いで、ノードN1のノード処理部21bは、バッファメモリ22に保存されているコンテンツを削除し(ステップS12)、図3(A)に示す処理を終了する。
ステップS13では、ノードN1のノード処理部21bは、ルートノードからインデックス情報が受信されたか否かを判定する。ルートノードからインデックス情報が受信された場合には(ステップS13:YES)、処理はステップS14へ進む。一方、ルートノードからインデックス情報が受信されていない場合には(ステップS13:NO)、処理はステップS15へ進む。
ステップS14では、ノードN1のノード処理部21bは、ルートノードから取得したインデックス情報から、コンテンツ保持ノードのIPアドレス及びポート番号を選択する。
次いで、ノードN1のノード処理部21bは、視聴端末T1−1から要求されたコンテンツを取得する要求を示すコンテンツ要求メッセージを、選択したコンテンツ保持ノードへ送信し(ステップS15)、ステップS16に進む。なお、上記ステップS3で再生開始に必要となる部分データのみがWebサーバWSへ要求される場合がある。この場合、ノードN1のノード処理部21bは、視聴端末T1−1から要求されたコンテンツ中の再生開始に必要となるデータを除いた範囲のコンテンツを取得する要求を示すコンテンツ要求メッセージをコンテンツ保持ノードへ送信するように構成してもよい。
ステップS16では、ノードN1のノード処理部21bは、コンテンツ保持ノードからコンテンツが受信されたか否かを判定する。コンテンツ保持ノードからコンテンツが受信された場合には(ステップS16:YES)、処理はステップS17へ進む。なお、ステップS17〜S19の処理は、ステップS7〜S9の処理と同様に行われる。また、コンテンツ保持ノードからコンテンツが受信されたときにWebサーバWSからのコンテンツが受信中である場合、WebサーバWSからのコンテンツの受信は中止される。つまり、ノード処理部21bは、WebサーバWSから受信したコンテンツの視聴端末T1−1への転送を、コンテンツ保持ノードから受信したコンテンツの視聴端末T1−1への転送に途中で切り替える。このような動作により、視聴端末T1−1はWebサーバWSからのコンテンツの取得以上に待たされることなく再生を開始させることができる。
一方、コンテンツ保持ノードからコンテンツが受信されていない場合には(ステップS16:NO)、処理はステップS20へ進む。
ステップS20では、ノードN1のノード処理部21bは、コンテンツ無メッセージが受信されたか否かを判定する。コンテンツ無メッセージが受信された場合には(ステップS20:YES)、処理はステップS21へ進む。なお、ノードN1のノード処理部21bは、上記ステップS5でコンテンツ所在問合せメッセージを送信してから所定時間以内にインデックス情報が受信されなかった場合にステップS21へ進むように構成してもよい。一方、コンテンツ無メッセージが受信されていない場合には(ステップS20:NO)、処理はステップS6へ戻る。
ステップS21では、ノードN1のノード処理部21bは、オーバーレイネットワークONからコンテンツを発見できないことを示す情報を記憶する。
次いで、ノードN1のノード処理部21bは、WebサーバWSにコンテンツを取得要求済であるか否かを判定する(ステップS22)。そして、ノードN1のノード処理部21bは、WebサーバWSにコンテンツを取得要求済であると判定した場合には(ステップS22:YES)、ステップS6に戻る。一方、ノードN1のノード処理部21bは、WebサーバWSにコンテンツを取得要求済でないと判定した場合には(ステップS22:NO)、ステップS23に進む。
ステップS23では、ノードN1のノード処理部21bは、視聴端末T1−1から要求されたコンテンツを取得する要求を示すHTTPリクエストをWebサーバWSへ送信し、ステップS6に戻る。なお、上記ステップS3で再生開始に必要となる部分データのみをWebサーバWSに要求する場合がある。この場合、コンテンツの中の再生開始に必要となる部分データを除いた範囲のコンテンツをWebサーバWSへ要求してもよい。
以上説明したように、上記実施形態によれば、オーバーレイネットワークONでコンテンツ保持ノードに保存された所定のコンテンツの所在の検索中に、このコンテンツの中の少なくとも再生開始に必要となる部分データがWebサーバWSから取得することが可能となる。この結果、ノードNnはコンテンツを安定した速度で迅速に取得することができる。その結果、視聴端末T1−1はコンテンツの再生を迅速に開始することができる。
なお、上記実施形態において、オーバーレイネットワークONにおけるコンテンツ保持ノードからの応答よりも、WebサーバWSからの応答の方が早い可能性が高い。しかし、WebサーバWSの処理性能が低い、又はWebサーバWSがアクセス集中により反応が遅いなどの状況により、WebサーバWSからの応答よりも、コンテンツ保持ノードからの応答の方が早い場合がある。この場合、ノードN1のノード処理部21bは、WebサーバWSからのコンテンツの送信を待たずに、コンテンツ保持ノードから受信したコンテンツを視聴端末T1−1に転送することになる。つまり、WebサーバWSとコンテンツ保持ノードのうち早く応答してきた方から取得されたコンテンツが視聴端末T1−1に転送される。その結果、視聴端末T1−1は、どのような状況であっても迅速にコンテンツの再生を開始することができる。
また、上記実施形態において、本発明における定常装置として中継機器を例にとって説明したが、定常装置はネットワークNWに接続されているサーバ等であってもよい。また、定常装置は、基本的にネットワークNWに定常的に接続されているゲートウェイ等の機器であっても良い。
また、上記実施形態においては、オーバーレイネットワークONに、DHTを利用したピアツーピアネットワークを適用したが、これに限られるものではない。例えば、他のオーバーレイネットワークを用いたシステムが適用されてもよい。DHTを利用しないピアツーピアシステムとしては、例えば、ハイブリッド型のピアツーピアシステムがある。
11,21,31 制御部
12,23,32 記憶部
13,24a,24b,39 通信部
33 バッファメモリ
WS Webサーバ
Nn ノード
NW ネットワーク
ON オーバーレイネットワーク
S コンテンツ配信システム

Claims (13)

  1. ネットワークを介して互いに通信可能な複数の情報処理装置により構成されるオーバーレイネットワークで前記情報処理装置が他の情報処理装置からコンテンツを取得するように構成された配信システムに含まれる前記情報処理装置であって、
    前記オーバーレイネットワークで情報処理装置に保存された所定のコンテンツの所在を検索する要求を示す検索要求を、前記オーバーレイネットワークにおける所定の情報処理装置へ送信する第1送信手段と、
    前記所定のコンテンツの中の少なくとも再生開始に必要となる第1データを取得する要求を示す取得要求を、前記第1データを保存している配信装置へ送信する第2送信手段と、
    前記第1送信手段に前記検索要求を送信させるとともに、前記第2送信手段に前記取得要求を送信させる制御手段と、
    前記第1送信手段により送信された前記検索要求、または、前記第2送信手段により送信された前記取得要求の結果に基づいて、前記検索要求に対応する前記所定のコンテンツ、または、前記取得要求に対応する前記第1データを取得する取得手段と、
    を備えることを特徴とする情報処理装置。
  2. 前記第2送信手段は、前記所定のコンテンツの中の再生開始に必要となるデータの前記取得要求を前記配信装置へ送信することを特徴とする請求項1に記載の情報処理装置。
  3. 前記第1送信手段は、前記再生開始に必要となるデータを除いた範囲の前記コンテンツの前記検索要求を前記所定の情報処理装置へ送信することを特徴とする請求項2に記載の情報処理装置。
  4. 前記情報処理装置は、前記オーバーレイネットワークに定常的に参加する定常装置であり、前記所定のコンテンツを取得する要求を示す取得要求を、端末装置から受信する受信手段を更に備え、
    前記制御手段は、前記受信手段により前記取得要求が受信されたときに、前記第1送信手段に前記検索要求を送信させるとともに、前記第2送信手段に前記取得要求を送信させることを特徴とする請求項1乃至3の何れか一項に記載の情報処理装置。
  5. 前記第2送信手段は、再生開始に必要となるデータとして、前記コンテンツの再生に必要な制御ファイルを取得する要求を示す取得要求を、前記制御ファイルを保存している前記配信装置へ送信することを特徴とする請求項1乃至4の何れか一項に記載の情報処理装置。
  6. 前記第2送信手段は、再生開始に必要となるデータとして、前記コンテンツの再生時間軸上での前記コンテンツの再生開始位置から、所定サイズのコンテンツを取得する要求を示す取得要求を、前記所定サイズのコンテンツを保存している前記配信装置へ送信することを特徴とする請求項1乃至4の何れか一項に記載の情報処理装置。
  7. 前記情報処理装置は、前記所定のコンテンツが再生の重要度が高いコンテンツであるか否かを判定する判定手段を更に備え、
    前記制御手段は、前記判定手段により再生の重要度が高いコンテンツでないと判定された場合には、前記第2送信手段による前記取得要求の送信を禁止させることを特徴とする請求項1乃至4の何れか一項に記載の情報処理装置。
  8. 前記判定手段は、前記所定のコンテンツがストリーミング再生されるコンテンツである場合、再生の重要度が高いコンテンツであると判定することを特徴とする請求項7に記載の情報処理装置。
  9. 前記オーバーレイネットワークは、カラオケで使用されるカラオケデータを、前記コンテンツとして、前記他の情報処理装置から取得するように構成され、
    前記判定手段は、前記所定のコンテンツがカラオケ装置において予約された少なくとも1曲目のカラオケデータである場合、再生の重要度が高いコンテンツであると判定することを特徴とする請求項7に記載の情報処理装置。
  10. 前記判定手段は、前記所定のコンテンツのURLに含まれる情報であってコンテンツの種類を示す情報に基づいて、再生の重要度が高いコンテンツであるか否かを判定することを特徴とする請求項7に記載の情報処理装置。
  11. ネットワークを介して互いに通信可能な複数の情報処理装置により構成されるオーバーレイネットワークで前記情報処理装置が他の情報処理装置からコンテンツを取得するように構成された配信システムに含まれるコンピュータに、
    前記オーバーレイネットワークで情報処理装置に保存された所定のコンテンツの所在を検索する要求を示す検索要求を、前記オーバーレイネットワークにおける所定の情報処理装置へ送信するステップと、
    前記所定のコンテンツの中の少なくとも再生開始に必要となる第1データを取得する要求を示す取得要求を、前記第1データを保存している配信装置へ送信するステップと、
    前記検索要求を送信させるとともに、前記取得要求を送信させるステップと、
    前記送信された前記検索要求、または、前記送信された前記取得要求の結果に基づいて、前記検索要求に対応する前記所定のコンテンツ、または、前記取得要求に対応する前記第1データを取得するステップと、
    を実行させるための情報処理プログラム。
  12. ネットワークを介して互いに通信可能な複数の情報処理装置により構成されるオーバーレイネットワークで前記情報処理装置が他の情報処理装置からコンテンツを取得するように構成された配信システムにおいて、
    前記情報処理装置は、
    前記オーバーレイネットワークで情報処理装置に保存された所定のコンテンツの所在を検索する要求を示す検索要求を、前記オーバーレイネットワークにおける所定の情報処理装置へ送信する第1送信手段と、
    前記所定のコンテンツの中の少なくとも再生開始に必要となる第1データを取得する要求を示す取得要求を、前記第1データを保存している配信装置へ送信する第2送信手段と、
    前記第1送信手段に前記検索要求を送信させるとともに、前記第2送信手段に前記取得要求を送信させる制御手段と、
    前記第1送信手段により送信された前記検索要求、または、前記第2送信手段により送信された前記取得要求の結果に基づいて、前記検索要求に対応する前記所定のコンテンツ、または、前記取得要求に対応する前記第1データを取得する取得手段と、
    を備えることを特徴とする配信システム。
  13. ネットワークを介して互いに通信可能な複数の情報処理装置により構成されるオーバーレイネットワークで前記情報処理装置が他の情報処理装置からコンテンツを取得するように構成された配信システムに含まれるコンテンツ取得方法であって、
    前記オーバーレイネットワークで情報処理装置に保存された所定のコンテンツの所在を検索する要求を示す検索要求を、前記オーバーレイネットワークにおける所定の情報処理装置へ送信するステップと、
    前記所定のコンテンツの中の少なくとも再生開始に必要となる第1データを取得する要求を示す取得要求を、前記第1データを保存している配信装置へ送信するステップと、
    前記検索要求を送信させるとともに、前記取得要求を送信させるステップと、
    前記送信された前記検索要求、または、前記送信された前記取得要求の結果に基づいて、前記検索要求に対応する前記所定のコンテンツ、または、前記取得要求に対応する前記第1データを取得するステップと、
    を含むことを特徴とするコンテンツ取得方法。
JP2010192758A 2010-08-30 2010-08-30 配信システム、情報処理装置、情報処理プログラム、及びコンテンツ取得方法 Pending JP2012048665A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010192758A JP2012048665A (ja) 2010-08-30 2010-08-30 配信システム、情報処理装置、情報処理プログラム、及びコンテンツ取得方法
US13/219,881 US20120054307A1 (en) 2010-08-30 2011-08-29 Delivery system, information processing apparatus, information processing program, and content acquiring method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010192758A JP2012048665A (ja) 2010-08-30 2010-08-30 配信システム、情報処理装置、情報処理プログラム、及びコンテンツ取得方法

Publications (1)

Publication Number Publication Date
JP2012048665A true JP2012048665A (ja) 2012-03-08

Family

ID=45698591

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010192758A Pending JP2012048665A (ja) 2010-08-30 2010-08-30 配信システム、情報処理装置、情報処理プログラム、及びコンテンツ取得方法

Country Status (2)

Country Link
US (1) US20120054307A1 (ja)
JP (1) JP2012048665A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8412798B1 (en) * 2009-10-03 2013-04-02 Frank C. Wang Content delivery system and method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009043128A (ja) * 2007-08-10 2009-02-26 Brother Ind Ltd コンテンツ分散保存システム、コンテンツデータ取得方法、ノード装置、及びノード処理プログラム
JP2009129178A (ja) * 2007-11-22 2009-06-11 Hitachi Ltd 情報検索システムおよびプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7426637B2 (en) * 2003-05-21 2008-09-16 Music Public Broadcasting, Inc. Method and system for controlled media sharing in a network
JP4668013B2 (ja) * 2005-08-30 2011-04-13 パナソニック株式会社 コンテンツ配信方法、コンテンツ配信サーバ、通信端末装置及びコンテンツ配信システム
US20080189429A1 (en) * 2007-02-02 2008-08-07 Sony Corporation Apparatus and method for peer-to-peer streaming
US8606846B2 (en) * 2007-10-15 2013-12-10 Nbcuniversal Media, Llc Accelerating peer-to-peer content distribution
US10264029B2 (en) * 2009-10-30 2019-04-16 Time Warner Cable Enterprises Llc Methods and apparatus for packetized content delivery over a content delivery network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009043128A (ja) * 2007-08-10 2009-02-26 Brother Ind Ltd コンテンツ分散保存システム、コンテンツデータ取得方法、ノード装置、及びノード処理プログラム
JP2009129178A (ja) * 2007-11-22 2009-06-11 Hitachi Ltd 情報検索システムおよびプログラム

Also Published As

Publication number Publication date
US20120054307A1 (en) 2012-03-01

Similar Documents

Publication Publication Date Title
Xu et al. Live streaming with content centric networking
JP5556104B2 (ja) 情報通信システム、情報通信方法及び情報通信プログラム
JP2012078902A (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP2008301442A (ja) 動画共有システム、ユーザ端末装置及びプログラム
JP5293533B2 (ja) 情報通信システム及び情報通信方法
JP2006101277A (ja) 情報通信システム、ノード装置、及びオーバーレイネットワーク形成方法等
JP5272991B2 (ja) 情報通信システム、情報通信方法及びプログラム
JP2012048665A (ja) 配信システム、情報処理装置、情報処理プログラム、及びコンテンツ取得方法
JP5338774B2 (ja) 配信システム、情報処理装置、情報処理プログラム、及びコンテンツ投入方法
JP4935734B2 (ja) コンテンツ分散保存システム、ノード装置及びノード処理プログラム並びにノード処理方法
JP2010066930A (ja) コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム
JP5494362B2 (ja) 配信システム、情報処理装置、プログラム、及びコンテンツ投入方法
JP5326968B2 (ja) 情報通信システム、サポート装置、サポート装置のプログラム、及びコンテンツ取得方法
JP2009232272A (ja) コンテンツ分散保存システム、コンテンツ再生方法、ノード装置、管理装置、ノード処理プログラム、及び管理処理プログラム
JP5267475B2 (ja) 情報通信システム、ノード装置、情報通信方法、及び情報通信プログラム
JP5412924B2 (ja) ノード装置、ノード処理プログラム及びコンテンツデータ削除方法
JP5007624B2 (ja) コンテンツ分散保存システム、コンテンツデータ取得方法、ノード装置、及びノード処理プログラム
JP2011008657A (ja) コンテンツ配信システム、ノード装置、コンテンツ配信方法及びノードプログラム
JP5347876B2 (ja) 情報通信システム、ノード装置、コンテンツ取得方法及びプログラム
JP2008047065A (ja) コンテンツ分散保存システム、フレーム画像取得方法、及びノード装置等
JP2012008847A (ja) 配信システム、ノード装置、ノード処理プログラム、及びコンテンツ取得方法
JP5675980B2 (ja) 通信装置及び方法、並びにコンピュータプログラム
JP2012078903A (ja) ノード装置、ノード装置用プログラムおよび情報処理方法
JP5326970B2 (ja) コンテンツ配信システム、ノード装置、ノードプログラム、及び公開メッセージ送信方法
JP2014112911A (ja) 動画配信システム及び動画配信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120920

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130709

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130827

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140325