説明

ツリー型放送システム、コンテンツ放送方法、放送管理装置、及び放送管理処理プログラム

【課題】放送局の負荷やネットワーク負荷を低減させることが可能なツリー型放送システム、放送管理方法を提供する。
【解決手段】複数のコンテンツデータが複数のノード装置に分散保存され、各ノード装置は他のノード装置からの要求に応じて保存している前記データをネットワークを介して提供するようにしたコンテンツ分散保存システム。当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送された前記データが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型放送システムにおける放送管理装置であって、放送時刻と、当該コンテンツデータを保存しているノード装置を示す情報が対応付けられた放送リストを記憶し、放送されるべきコンテンツデータを保存しているノード情報を前記放送リストから特定し、放送させる指示情報を送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型の通信システムの技術分野に関する。
【背景技術】
【0002】
近年、ブロードバンドの普及によりVOD(ビデオオンデマンド)等のコンテンツ配信サービスが行われている。現在のコンテンツ配信における主流形態であるサーバクライアント方式に変わる新しい形態として、ピアツーピア型の通信システムが注目されており、例えば、特許文献1に開示されるようなツリー型の放送(配信)システムが提案されている。かかるツリー型の放送システムにおいては、複数のノード装置が放送局(例えば、放送サーバ)を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、当該放送局から放送(ストリーム配信)されたコンテンツデータが、上位階層のノード装置から下位階層のノード装置に順次転送されるようになっている。
【特許文献1】特開2006−33514号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところで、このようなツリー型の放送システムにおける放送局は、予め定めされた放送スケジュールにしたがって放送すべきコンテンツデータを予め記憶しておく必要があり、放送すべきコンテンツデータが多くなると、それを記憶保存しておくための記憶装置の記憶容量が増大し、放送局の負荷(処理負担)も増大するという問題があり、その分、設備コストが高くなる。また、放送局と各ノード装置間の通信経路の負荷(ネットワーク負荷)も増大するという問題もある。
【0004】
そこで、本発明は、以上の問題等に鑑みてなされたものであり、放送局の負荷やネットワーク負荷を低減させることが可能なツリー型放送システム、コンテンツ放送方法、放送管理装置、及び放送管理処理プログラムを提供することを課題とする。
【課題を解決するための手段】
【0005】
上記課題を解決するために、請求項1に記載の発明は、複数のコンテンツデータが複数のノード装置に分散保存され、各前記ノード装置は他の前記ノード装置からの要求に応じて自己が保存しているコンテンツデータをネットワークを介して提供するようにしたコンテンツ分散保存システムにおける前記複数のノード装置の全部又は一部を含み複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型放送システムにおいて前記コンテンツデータの放送を管理する放送管理装置であって、前記コンテンツデータの放送時刻と、当該コンテンツデータを前記コンテンツ分散保存システム上で保存しているノード装置を示すノード情報と、が対応付けられて記述された放送リストを記憶する記憶手段と、前記放送時刻の到来により放送されるべきコンテンツデータを保存している前記ノード装置を示すノード情報を前記放送リストから特定するノード特定手段と、前記特定されたノード情報に示される前記ノード装置に対して、前記コンテンツデータを前記ツリー型放送システムにおける前記放送装置として放送させる指示を示す放送指示情報を送信する放送指示情報送信手段と、を備えることを特徴とする。
【0006】
この発明によれば、コンテンツデータの放送時刻と、当該コンテンツデータをコンテンツ分散保存システム上で保存しているノード装置を示すノード情報と、が対応付けられて記述された放送リストを記憶しておき、前記放送時刻の到来により放送されるべきコンテンツデータを保存している前記ノード装置を示すノード情報を前記放送リストから特定し、前記特定されたノード情報に示される前記ノード装置に対して、前記コンテンツデータを前記ツリー型放送システムにおける前記放送装置として放送させる指示を示す放送指示情報を送信するように構成したので、放送時刻の到来した場合、コンテンツデータを保存しているノード装置から迅速にコンテンツデータを放送させることができ、また、コンテンツデータ毎に放送装置を分けることができるので、放送すべきコンテンツデータを特定の放送局に一括して持つ必要がなくすことができ、したがって、従来の放送局の負荷や、ネットワーク負荷を低減させることができる。
【0007】
請求項2に記載の発明は、請求項1に記載の放送管理装置において、前記放送リストには、内容の異なる複数のコンテンツデータの放送時刻と、夫々のコンテンツデータを保存しているノード装置を示すノード情報が記述されており、前記放送されている前記コンテンツデータから次の前記コンテンツデータに切り替えられる放送時刻が到来した場合、前記ノード特定手段は、当該次のコンテンツデータを保存している次の前記ノード装置を示すノード情報を前記放送リストから特定し、前記放送指示情報送信手段は、当該特定されたノード情報に示される前記次のノード装置に対して、前記次のコンテンツデータを前記ツリー型放送システムにおける前記放送装置として放送させる指示を示す放送指示情報を送信することを特徴とする。
【0008】
この発明によれば、放送されているコンテンツデータから次のコンテンツデータに切り替えられる放送時刻が到来した場合、次のノード装置に対して次のコンテンツデータをツリー型放送システムにおける放送装置として迅速に放送させることができる。
【0009】
請求項3に記載の発明は、請求項2に記載の放送管理装置において、前記放送されている前記コンテンツデータから前記次のコンテンツデータに切り替えられる放送時刻が到来した場合、前記放送装置としての前記ノード装置に接続されている下位階層のノード装置に対して、前記次のノード装置へ接続を切り替えさせる指示を示す切替指示情報を送信する切替指示情報送信手段を更に備えることを特徴とする。
【0010】
この発明によれば、放送されているコンテンツデータから次のコンテンツデータに切り替えられる放送時刻が到来した場合、放送装置としてのノード装置に接続されている下位階層のノード装置に対して、次のノード装置へ接続を迅速に切り替えさせることができる。
【0011】
請求項4に記載の発明は、請求項1乃至3の何れか一項に記載の放送管理装置において、前記放送リストに放送時刻が記述される前記コンテンツデータを前記コンテンツ分散保存システムにおいて保存しているノード装置を検索する検索手段と、前記検索されたノード装置のうち、前記放送装置として要求される帯域を消費可能なノード装置を選定し、当該選定したノード装置を示すノード情報を、前記コンテンツデータの放送時刻に対応付けて前記放送リストに記述するノード選定記述手段と、を更に備えることを特徴とする。
【0012】
この発明によれは、放送装置を、各コンテンツデータ毎に、コンテンツ分散保存システムから迅速に検索でき、ツリー型放送システムにおいて有効に活用することができる。
【0013】
請求項5に記載の発明は、請求項1乃至4の何れか一項に記載の放送管理装置において、前記放送リストに放送時刻が記述されている一つの前記コンテンツデータに対して、これを保存する複数の前記ノード装置のノード情報が当該放送リストに記述されている場合、夫々の前記ノード装置の前記ネットワークへの接続時間を示す接続時間情報を夫々の前記ノード装置から取得する接続時間情報取得手段を更に備え、前記ノード特定手段は、前記取得された夫々の接続時間情報に示される接続時間を比較し、当該比較結果に基づいて、一つの前記ノード装置を示すノード情報を特定することを特徴とする。
【0014】
この発明によれば、より安定したツリー型放送システムを形成することができる。
【0015】
請求項6に記載の放送管理処理プログラムの発明は、請求項1乃至5の何れか一項に記載の放送管理装置として機能させることを特徴とする。
【0016】
請求項7に記載の発明は、複数のコンテンツデータが複数のノード装置に分散保存され、各前記ノード装置は他の前記ノード装置からの要求に応じて自己が保存しているコンテンツデータをネットワークを介して提供するようにしたコンテンツ分散保存システムにおける前記複数のノード装置の全部又は一部を含み複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型放送システムにおいて、前記コンテンツデータの放送を管理する放送管理装置は、前記コンテンツデータの放送時刻と、当該コンテンツデータを前記コンテンツ分散保存システム上で保存しているノード装置を示すノード情報と、が対応付けられて記述された放送リストを記憶する記憶手段と、前記放送時刻の到来により放送されるべきコンテンツデータを保存している前記ノード装置を示すノード情報を前記放送リストから特定するノード特定手段と、前記特定されたノード情報に示される前記ノード装置に対して、前記コンテンツデータを前記ツリー型放送システムにおける前記放送装置として放送させる指示を示す放送指示情報を送信する放送指示情報送信手段と、を備え、前記放送指示情報を受信したノード装置は、当該受信した放送指示情報にしたがって自己が保存している前記コンテンツデータを、自己に接続されている下位階層のノード装置に対して放送する放送手段を備えることを特徴とする。
【0017】
請求項8に記載の発明は、複数のコンテンツデータが複数のノード装置に分散保存され、各前記ノード装置は他の前記ノード装置からの要求に応じて自己が保存しているコンテンツデータをネットワークを介して提供するようにしたコンテンツ分散保存システムにおける前記複数のノード装置の全部又は一部を含み複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型放送システムにおけるコンテンツ放送方法であって、前記コンテンツデータの放送を管理する放送管理装置が、前記コンテンツデータの放送時刻と、当該コンテンツデータを前記コンテンツ分散保存システム上で保存しているノード装置を示すノード情報と、が対応付けられて記述された放送リストを記憶し、前記放送時刻の到来により放送されるべきコンテンツデータを保存している前記ノード装置を示すノード情報を前記放送リストから特定し、前記特定されたノード情報に示される前記ノード装置に対して、前記コンテンツデータを前記ツリー型放送システムにおける前記放送装置として放送させる指示を示す放送指示情報を送信し、前記ノード装置が、前記放送指示情報を受信し、当該受信した放送指示情報にしたがって自己が保存している前記コンテンツデータを、自己に接続されている下位階層のノード装置に対して放送することを特徴とする。
【発明の効果】
【0018】
本発明によれば、コンテンツデータの放送時刻と、当該コンテンツデータをコンテンツ分散保存システム上で保存しているノード装置を示すノード情報と、が対応付けられて記述された放送リストを記憶しておき、前記放送時刻の到来により放送されるべきコンテンツデータを保存している前記ノード装置を示すノード情報を前記放送リストから特定し、前記特定されたノード情報に示される前記ノード装置に対して、前記コンテンツデータを前記ツリー型放送システムにおける前記放送装置として放送させる指示を示す放送指示情報を送信するように構成したので、放送時刻の到来した場合、コンテンツデータを保存しているノード装置から迅速にコンテンツデータを放送させることができ、また、コンテンツデータ毎に放送装置を分けることができるので、放送すべきコンテンツデータを特定の放送局に一括して持つ必要がなくすことができ、したがって、従来の放送局の負荷や、ネットワーク負荷を低減させることができる。
【発明を実施するための最良の形態】
【0019】
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、通信システムに本発明を適用した場合の実施形態である。
【0020】
1.通信システムの構成等
始めに、図1等を参照して、本実施形態に係る通信システムの概要構成等について説明する。
【0021】
図1は、本実施形態に係る通信システムにおける各ノード装置の接続態様の一例を示す図である。
【0022】
図1の下部枠101内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4a,4b、DSL(Digital Subscriber Line)回線事業者(の装置)5a,5b、FTTH(Fiber To The Home)回線事業者(の装置)6、及び通信回線(例えば、電話回線や光ケーブル等)7等によって、インターネット等のネットワーク(現実世界の通信ネットワークであり、通信手段の一例)8が構築されている。なお、図1の例におけるネットワーク(通信ネットワーク)8には、データ(パケット)を転送するためのルータが、適宜挿入されているが図示を省略している。
【0023】
このようなネットワーク8には、複数のノード装置(以下、「ノード」という)Nn(n=1,2,3・・・の何れか)が接続されている。また、各ノードNnには、固有の製造番号およびIP(Internet Protocol)アドレスが割り当てられている。このような製造番号およびIPアドレスは、複数のノード間で重複しないものである。
【0024】
そして、本実施形態に係る通信システムSは、これらのノードNnのうち、図1の上部枠100内に示すように、何れか複数のノードNnの参加により形成されるピアツーピア方式のネットワークシステムとなっている。なお、図1の上部枠100内に示すネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク9(論理的なネットワーク)である。
【0025】
更に、この通信システムSは、コンテンツ分散(型)保存システムとツリー型放送システム(ツリー型コンテンツ配信システムともいう)との複合システムになっている。
【0026】
図2は、本実施形態に係る通信システムSの概念図である。
【0027】
図2において、コンテンツ分散保存システムSX1は、複数のコンテンツデータ(実際には、コンテンツデータの複製である複製データ(レプリカ))が複数のノードNn(例えば、ノードN1,N3,及びN5等に保存)に分散保存されており、各ノードNn(例えば、ノードN1)は、他のノードNn(例えば、ノードN2)からの要求に応じて自己が保存しているコンテンツデータをネットワーク8を介して提供可能になっている。
【0028】
一方、ツリー放送システムSX2は、コンテンツ分散保存システムSX1における(参加している)複数のノードNnの全部又は一部を含み(図2の例では、コンテンツ分散保存システムSX1におけるノードNnのうち、ノードN10、ノードN1、及びノードN11が該当)、複数のノードNnの参加により形成されるようになっており、当該複数のノードNnが放送装置としてのノードN10を最上位として複数の階層を形成しつつネットワーク8を介してツリー状に接続され、ノードN10により放送(ストリーム配信)されたコンテンツデータが、上位階層のノードNn(例えば、ノードN1等)から下位階層のノードNn(例えば、ノードN12等)に順次転送されるようになっている。
【0029】
このように、本実施形態に係るツリー放送システムSX2においては、コンテンツ分散保存システムSX1において放送対象のコンテンツデータを保存しているノードNnが最上位の放送装置(放送局)として動作することを前提としている。
【0030】
1−1.コンテンツ分散保存システムSX1の構成及び機能等
次に、コンテンツ分散保存システムSX1について詳しく説明する。
【0031】
コンテンツ分散保存システムSX1は、特定のアルゴリズム、例えば、DHT(Distributed Hash Table)を利用したアルゴリズムにより実現される。
【0032】
そして、コンテンツ分散保存システムSX1に参加している各ノードNnには、固有の識別情報であるノードIDが割り当てられており、当該ノードIDは、例えば、各ノードNnに個別に割り当てられたIPアドレス或いは製造番号を共通のハッシュ関数(例えば、SHA−1等)によりハッシュ化した値(例えば、bit長が160bit)であり、図2に示すような一つのID空間に偏りなく分散して配置されることになる。
【0033】
なお、コンテンツ分散保存システムSX1への参加は、参加していないノードNn(例えば、ノードN8)が、参加している任意のノードNn(例えば、当該システムSX1に常時参加しているコンタクトノード)に対して参加要求を示す参加メッセージを送信することによって行われる。
【0034】
上記のように共通のハッシュ関数により求められた(ハッシュ化された)ノードIDは、当該IPアドレス或いは製造番号が異なれば、同じ値になる確率が極めて低いものである。また、このノードIDは、ノードの最大運用台数を収容できるだけのbit数を持たせる必要がある。例えば、128bitの番号とすれば、2^128=340×10^36台のノードを運用できる。なお、ハッシュ関数については公知であるので詳しい説明を省略する。
【0035】
また、各ノードNnは、夫々、DHTを用いたルーティングテーブルを保持している。このルーティングテーブルは、コンテンツ分散保存システムSX1上における各種メッセージの転送先を規定しており、具体的には、ID空間内で適度に離れたノードNnのノードID、IPアドレス及びポート番号を含むノード情報(転送先ノード情報)が複数登録されている。
【0036】
コンテンツ分散保存システムSX1に参加している1台のノードNnは、該システムSX1に参加している全てのノードNnのうち、必要最低限のノードNnのノード情報をルーティングテーブルに登録しておき、ノード情報を知らない(記憶していない)ノードNnについては、各ノードNn間で互いに各種メッセージを転送し合って届けてもらうようになっている。
【0037】
ここで、図3及び図4を参照して、DHTを用いたルーティングテーブルについて詳しく説明する。
【0038】
図3は、ノードN2が保持するDHTを用いたルーティングテーブルの一例を示す図であり、図4は、DHTのID空間の一例を示す概念図である。
【0039】
なお、図3及び図4の例においては、説明の便宜上、ノードIDのbit長を2bit×3桁=6bitとし、各桁を4進数(0〜3の整数)で表している(実際には、もっと長いbit長を用い、各桁も例えば4bitに区切って0〜fの16進数で表現する)。
【0040】
図3の例において、DHTを用いたルーティングテーブルは、レベル1〜レベル3のテーブルからなり(複数のレベルに区分されており)、各レベルのテーブルエントリーには、エリア毎に、ノード情報として、ノードIDとこれに対応するノードNnのIPアドレス及びポート番号が対応付けられて登録されている。各レベルのテーブルにおける各エリアは、DHTのノードID空間を分割することにより得られるエリアである。例えば、図4に示すように、レベル1では、DHTのID空間全体が4分割され、“000”〜“033”のノードIDが存在するエリアを0XXのエリア、“100”〜“133”のノードIDが存在するエリアを1XXのエリア、“200”〜“233”のノードIDが存在するエリアを2XXのエリア、“300”〜“333”のノードIDが存在するエリアを3XXのエリアとする。また、レベル2では、レベル1のエリア(つまり、0XX〜3XXのエリア)が更に4分割、例えば1XXのエリアが4分割され、“100”〜“103”のノードIDが存在するエリアを10Xのエリア、“110”〜“113”のノードIDが存在するエリアを11Xのエリア、“120”〜“123”のノードIDが存在するエリアを12Xのエリア、“130”〜“133”のノードIDが存在するエリアを13Xのエリアとする。
【0041】
そして、例えば、ノードN2のノードIDが“122”とすると、図3に示すように、かかるノードN2のレベル1における1XXのエリア(自己(つまり、自ノード)が存在するエリア)のテーブルには、自己のノードID及びIPアドレス(IPアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い)等が登録され、自己が存在しないエリア(つまり、0XXのエリア、2XXのエリア、及び3XXのエリア)には、夫々、他の任意のノードNnのノードID及びIPアドレス等が登録されている。
【0042】
また、かかるノードN2のレベル2における12Xのエリア(自己が存在するエリア)のテーブルには、図3に示すように、自己のノードID及びIPアドレス(IPアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い)等が登録され、自己が存在しないエリア(つまり、10Xのエリア、11Xのエリア、及び13Xのエリア)等には、夫々、他の任意のノードNnのノードID及びIPアドレス等が登録されている。
【0043】
更に、かかるノードN2のレベル3には、図3に示すように、ノードIDが“120”〜“122”のノードID及びIPアドレス(IPアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い)等が登録されている。
【0044】
なお、図3及び図4の例では、ノードIDのbit長を3桁×2bitとしたので、レベル1〜3の3レベル分のテーブルで網羅できるが、ノードIDのbit長が増せば、その分のテーブルが必要となる(例えば、ノードIDのbit長を16桁×4bitとした場合、16レベル分のテーブルが必要となる)。
【0045】
このように、本実施形態におけるDHTを用いたルーティングテーブルでは、レベルが上がるほど、エリアが狭まっていくようになっている。
【0046】
また、このようなDHTは、例えば、未参加のノードがコンテンツ分散保存システムSX1に参加する際に与えられることになる。
【0047】
ところで、コンテンツ分散保存システムSX1においては、様々なコンテンツ(例えば、映画や音楽等)データが複数のノードNnに分散して保存(格納)されている(言い換えれば、コンテンツデータが複製されたレプリカが分散保存されている)。
【0048】
例えば、ノードN1及びノードN5には、タイトルがABCの映画のコンテンツデータ(以下、「コンテンツABC」という)が保存され、ノードN10等には、タイトルがXXXの映画のコンテンツデータ(以下、「コンテンツXXX」という)が保存され、ノードN3等には、タイトルがYYYの映画のコンテンツデータ(以下、「コンテンツYYY」という)が保存されるというように、複数のノードNn(以下、「コンテンツ保持ノード」という)に分散されて保存される。
【0049】
また、これらのコンテンツデータには、夫々、コンテンツ名(タイトル)及びコンテンツID(コンテンツ毎に固有の識別情報)等の情報が付加されている。このコンテンツIDは、例えば、コンテンツ名+任意の数値(或いは、当該コンテンツデータの先頭数バイトでも良い)が、上記ノードIDを得るときと共通のハッシュ関数によりハッシュ化されて生成される(ノードIDと同一のID空間に配置)。或いは、システム運営者が、コンテンツ毎に一意のID値(ノードIDと同一ビット長)を付与しても良い。この場合は、コンテンツ名とそのコンテンツIDの対応が書かれたコンテンツカタログ情報が、全ノードNnに配布される。
【0050】
また、このように分散保存されているコンテンツデータの所在、つまり、当該コンテンツデータを保存したノードNnを示すノード情報(例えば、IPアドレス及びポート番号等を含む)と当該コンテンツデータに対応するコンテンツID等の組が含まれるインデックス情報が、当該コンテンツデータの所在の管理元(つまり、コンテンツデータを送信可能なノードNnのノード情報を管理するノードNn)としてのノードNn(以下、「ルートノード」、又は「コンテンツ(コンテンツID)のルートノード」という)等により記憶(インデックスキャッシュに記憶)、管理されるようになっている。
【0051】
例えば、コンテンツABCのインデックス情報は、そのコンテンツ(コンテンツID)のルートノードであるノードN4により管理され、コンテンツXXXのインデックス情報は、そのコンテンツ(コンテンツID)のルートノードであるノードN6により管理される。つまり、コンテンツ毎にルートノードが分けられるので負荷分散が図らており、しかも、同一のコンテンツデータ(コンテンツIDが同一)が、夫々、複数のコンテンツ保持ノードに保存されている場合であっても、かかるコンテンツデータのインデックス情報は、一つのルートノードで管理することができる。
【0052】
また、このようなルートノードは、例えば、コンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有するノードNnであるように定められる。
【0053】
そして、あるノードNnのユーザが、所望するコンテンツデータを取得したい場合、当該コンテンツデータの取得を望むノードNn(以下、「ユーザノード」という)は、当該ユーザにより選択(例えば、全てのノードNnに配信されているコンテンツカタログ情報(コンテンツ名とコンテンツID等が記述されており、例えばコンテンツ管理サーバ(図示せず)にて管理される)から選択)されたコンテンツデータのコンテンツID及び自己のノード情報を含むコンテンツ所在問合せ(検索)メッセージ(クエリ)を生成し、これを自己のDHTを用いたルーティングテーブルにしたがって他のノードNnに対して送出する。つまり、ユーザノードは、コンテンツ所在問合せ(検索)メッセージを、ルートノードに向けて(ルートノード宛てに)送出する。これにより、コンテンツ所在問合せ(検索)メッセージは、コンテンツIDをキーとするDHTルーティングによって最終的にルートノードに到着することになる。
【0054】
なお、上記コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDは、ユーザノードによって、コンテンツ名が上記共通のハッシュ関数によりハッシュ化されて生成されるようにしても良い。
【0055】
図5は、ユーザノードから送出されたコンテンツ所在問合せ(検索)メッセージの流れの一例を、DHTのID空間にて示した概念図である。
【0056】
図5の例において、例えば、ユーザノードであるノードN2は、自己のDHTのレベル1のテーブルを参照して、コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有する例えばノードN3のノード情報に含まれるIPアドレス及びポート番号を取得し、そのIPアドレス及びポート番号宛てに、上記コンテンツ所在問合せ(検索)メッセージを送信する。
【0057】
これに対して、ノードN3は、当該コンテンツ所在問合せ(検索)メッセージを受信し、自己のDHTのレベル2のテーブルを参照して、当該コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDを有する例えばノードN4のノード情報に含まれるIPアドレス及びポート番号を取得し、そのIPアドレス及びポート番号宛てに、上記コンテンツ所在問合せ(検索)メッセージを転送する。
【0058】
これに対して、ノードN4は、当該コンテンツ所在問合せ(検索)メッセージを受信し、自己のDHTのレベル3のテーブルを参照して、当該コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDと最も近い(例えば、上位桁がより多く一致する)ノードIDが自分である、つまり、自分がそのコンテンツIDのルートノードであることを認識すると、当該コンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDに対応するインデックス情報をインデックスキャッシュから取得して、当該インデックス情報を、該コンテンツ所在問合せメッセージの送信元であるユーザノードに対して返信する。これにより、ユーザノードは、所望のコンテンツデータを保存している上記コンテンツ保持ノードである例えばノードN1に対して、コンテンツ送信要求メッセージ(コンテンツデータの送信要求を示す要求情報)を送信し、そこから当該コンテンツデータの提供を受けることが可能になる。
【0059】
或いは、ルートノードであるノードN4は、当該インデックス情報に含まれるノード情報に示されたコンテンツ保持ノードに対してコンテンツ送信要求メッセージ(ユーザノードのノード情報を含み、当該ユーザノードに対してコンテンツデータの送信要求を示す要求情報)を送信する。
【0060】
これにより、ユーザノードは、上記コンテンツ保持ノードである例えばノードN1から当該コンテンツデータの提供を受けることが可能になる。
【0061】
なお、上記ユーザノードは、コンテンツ所在問合せメッセージがルートノードに辿り着くまでの間に、当該ルートノードと同じインデックス情報をキャッシュしている中継ノード(例えば、ノードN3のキャッシュノード)から当該インデックス情報を取得(受信)することもできる。
【0062】
ところで、分散保存されているコンテンツデータの数が少ない(レプリカを保存しているコンテンツ保持ノードの数が少ない)コンテンツデータについては、上記ユーザノードが、コンテンツ所在問合せ(検索)メッセージを他のノードNnに送出しても、そのルートノードから迅速に返答(上記インデックス情報)が得られない(例えば、返答に時間がかかったり、返答が帰ってこない等)場合や、得られても当該コンテンツ保持ノードへのアクセス集中により当該コンテンツデータを迅速に取得できない場合がある。このような場合、当該ユーザノードは、全てのコンテンツデータを管理しているコンテンツ管理サーバにアクセスして当該コンテンツデータを取得することも可能になっている。但し、コンテンツ管理サーバの負荷集中を避けるため、理想的にはノードNn間でコンテンツデータの授受することが望ましい。
【0063】
以上のようにしてコンテンツデータを取得、保存したユーザノードは、当該コンテンツデータを保存したことをそのルートノードに知らせるために(言い換えれば、自己が当該コンテンツデータを保持していることを、該システムSX1に参加している他のノードNnに対して公開するために)、そのコンテンツデータのコンテンツID及び自己のノード情報等が含まれるパブリッシュ(登録通知)メッセージ(コンテンツデータを保存したので、ノード情報等の登録の要求を示す登録メッセージ)を生成し、該パブリッシュメッセージを、そのルートノードに向けて送出する。これにより、パブリッシュメッセージは、コンテンツ所在問合せ(検索)メッセージと同じように、コンテンツIDをキーとするDHTルーティングによってルートノードに到着することになり、該ルートノードは、受信したパブリッシュメッセージに含まれるノード情報及びコンテンツIDの組を含むインデックス情報を登録(インデックスキャッシュ領域に記憶)することになる。こうして、上記ユーザノードは、新たに、上記コンテンツデータを保持するコンテンツ保持ノードとなる。
【0064】
なお、上記パブリッシュメッセージに含まれるノード情報及びコンテンツIDの組を含むインデックス情報は、ルートノードに至るまでの転送経路における中継ノードにおいても登録(キャッシュ)される。
【0065】
1−2.ツリー型放送システムSX2の構成及び機能等
次に、ツリー型放送システムSX2について詳しく説明する。
【0066】
ツリー型放送システムSX2においては、放送装置(放送局)であるノードNn(例えば、図2に示すノードN10)からストリーミング方式でコンテンツデータが配信され、上位階層のノードNnから下位階層のノードNnに順次転送(途中経路の各ノードNnにおいては、受信したコンテンツデータの各パケットをバッファリングしつつ、下位階層のノードNnに転送)され、各ノードNnにおいて再生されるようになっている。
【0067】
このようなツリー型放送システムSX2における各ノードNn相互間の接続態様(トポロジー)は、放送管理サーバ10(本発明のコンテンツデータの放送を管理する放送管理装置の一例)により管理されている。当該放送管理サーバ10は、当該システムSX2におけるコンテンツデータの放送を制御(言い換えれば、最上位の放送装置としてのノードNnによる放送を制御)する放送制御機能10aと、当該システムSX2における接続先を各ノードNnに紹介する紹介機能10bと、を有する。なお、紹介機能10bについては別のサーバにより実現しても良い。
【0068】
図6は、放送管理サーバ10の概要構成例を示す図である。
【0069】
放送管理サーバ10は、図6に示すように、演算機能を有するCPU,作業用RAM,各種データおよびプログラムを記憶するROM等から構成されたコンピュータとしての制御部101と、各種データ(例えば、コンテンツデータ、インデックス情報、DHT等)及び各種プログラム等を記憶保存(格納)するためのHD等から構成された記憶手段としての記憶部102と、ネットワーク8を通じてノードNnとの間の情報の通信制御を行うための通信部103と、を備えて構成され、制御部101、記憶部102、及び通信部103はバス104を介して相互に接続されている。
【0070】
記憶部102には、ツリー型放送システムSX2に参加している各ノードNnを示すノード情報(例えば、IPアドレス及びポート番号)、各ノードNn相互間の接続態様(トポロジー)を示す接続態様情報、及びツリー型放送システムSX2において放送すべきコンテンツデータの放送スケジュール等を規定した放送リスト(放送リストのデータベース)が記憶されている。
【0071】
ここで、接続態様情報には、(i)ツリー型放送システムSX2における階層構造において各ノードNnが位置する階層(例えば、図2に示すノードN1及びN15は第1階層に、ノードN11及びN16等が第3階層に、夫々位置する)を示す階層情報と、(ii)各ノードNn夫々の下位階層として接続されているノードNn(例えば、図2に示すノードN10には、ノードN1及びN15が下位階層として接続されている)を示す下位装置情報と、(iii)各ノードNnの下位階層として接続可能なノードNnの接続許容数を示す接続許容数情報(図2に示すツリー型放送システムSX2では、2つになっている、3つ以上でも良い)と、(iv)各ノードNnが他のノードNnへコンテンツデータを転送する転送能力を示す転送能力情報(例えば、ノードNnのCPUの処理速度(MHz)やネットワーク8における有効帯域(例えば、データ転送速度(bps))とが含まれている。
【0072】
また、放送リストには、放送対象であるコンテンツデータのコンテンツ名(タイトル)と、放送時刻と、当該コンテンツデータを保存しているコンテンツ保持ノードであって放送装置の候補となるノードNn(以下、「放送ノード候補」という)を示すノード情報と、放送ノード候補から選定された放送装置となるノードNn(以下、「放送ノード」という)を示すノード情報と、がコンテンツデータ毎(内容の異なる)に、対応付けられて記述されている。
【0073】
図7は、放送リストの内容を示す概念図である。図7の例では、コンテンツXXX、コンテンツYYY、コンテンツZZZの放送順で放送されるようになっている、また、コンテンツXXXの放送ノードとしては、放送ノード候補であるノードN10、ノードN15、及びコンテンツプール(上述したコンテンツ管理サーバ、或いは従来の放送局の放送サーバ)の中からノードN10が選定されており、コンテンツYYYの放送ノードとしては、放送ノード候補であるノードN3及びコンテンツプールの中からノードN3が選定されており、コンテンツZZZの放送ノードとしては候補がないため、やむを得ずコンテンツプール(優先順位は一番低い)が選定されている。
【0074】
なお、放送リストにより規定されるコンテンツデータの放送順序は、例えば、コンテンツ分散保存システムSX1におけるコンテンツの人気ランキング情報に基づいて決定される(つまり、人気が高いほど放送順序が上位になる)。かかる人気ランキング情報は、例えば、各コンテンツデータのルートノードにより集計されたコンテンツデータの要求数(言い換えれば、インデックス情報をユーザノードに送信した回数)を、所定のサーバが収集して作成(要求数が多いほど人気が高い)する。或いは、コンテンツ分散保存システムSX1において保存されているコンテンツデータが所定のコンテンツ鍵により暗号化されている場合、当該ユーザノードは、取得したコンテンツデータを復号するために当該コンテンツ鍵を鍵サーバに要求し、当該鍵サーバから提供されたコンテンツ鍵を取得することになるが、鍵サーバが、そのコンテンツ鍵の提供回数をコンテンツデータ毎に集計して、人気ランキング情報を作成するように構成しても良い。
【0075】
なお、放送リストは、放送順序、放送対象であるコンテンツデータのコンテンツ名(タイトル)、及び放送時刻が記述された放送コンテンツリストと、上記放送順序及び当該コンテンツデータの放送ノード候補を示すノード情報及び放送ノードが記述された放送ノードリストに分けて管理されるものであっても良い。
【0076】
以上の放送管理サーバ10の構成において、制御部101は、CPUが記憶部102等に記憶されたプログラム(本発明の放送管理処理プログラムを含む)を読み出して実行することにより、全体を統括制御し、各ノードNnからの参加メッセージに応じて接続先を紹介する接続先紹介処理を行うようになっている。更に、制御部101は、本発明のノード特定手段、放送指示情報送信手段、切替指示情報送信手段、検索手段、ノード選定記述手段、及び接続時間情報取得手段等として機能し、後述する処理を行うようになっている。なお、上記放送管理処理プログラムは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしてもよいし、例えば、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【0077】
具体的には、制御部101は、ノードNnからの参加メッセージを受信すると、上記接続態様情報及び放送リストを参照して、当該ノードNnが接続すべき接続先となるノードNnを選択する。制御部101は、当該選択したノードNnのノード情報及び当該選択したノードNnの階層情報を含む接続先紹介メッセージを当該ノードNnに対して通信部103等を介して送信する(接続先を紹介)ようになっている。例えば、制御部101は、下位階層として接続されているノードNnの数が接続許容数に満たないノードNnを接続態様情報に基づき特定(例えば、より上位階層に位置するノードNnを優先して特定)する。特定されたノードNnが複数ある場合には、制御部101は、それらのノードNnから例えば転送能力が最も高いノードNnを一つ特定して(それらのノードNnからランダムに一つ特定しても良い)、これを接続先となるノードNnとして選択する。制御部101は、当該選択したノードNnのノード情報を接続態様情報から取得し、これを接続先紹介メッセージに含めて参加メッセージの送信元のノードNnに対して返信することになる。なお、接続先を最上位の放送ノードとする場合、放送リストに記述されている現時刻における放送ノードのノード情報を取得して、これを接続先紹介メッセージに含めて参加メッセージの送信元のノードNnに対して返信することになる(放送ノードは時刻によって変わるため)。
【0078】
また、制御部101は、放送時刻(現在時刻に直近の放送時刻)の到来により放送されるべきコンテンツデータを保存している放送ノードを示すノード情報を上記放送リストから特定する。制御部101は、特定したノード情報に示される放送ノードに対して、コンテンツデータをツリー型放送システムSX2における放送装置として放送させる指示を示す放送指示情報である放送開始指示メッセージ(当該コンテンツデータを示すコンテンツIDやコンテンツ名を含む)を通信部103等を介して送信するようになっている。これにより、当該放送開始指示メッセージを受信した放送ノードは下位階層に接続されるノードNnに対して当該コンテンツデータを放送することになる。
【0079】
また、上記放送リストに記述された各コンテンツ名に対応する放送ノード候補(コンテンツプールは、検索するまでもなく予め記述されている)は、コンテンツ分散保存システムSX1から検索される。例えば、制御部101が、放送リストに記述されるべきコンテンツデータに対応するコンテンツID及び自己のノード情報を含むコンテンツ所在問合せ(検索)メッセージ(クエリ)を生成し、当該メッセージを例えば予め設定された任意のノードNnに対して通信部103等を介して送出する(つまり、放送管理サーバ10は、コンテンツ所在問合せ(検索)メッセージを、ルートノードに向けて(ルートノード宛てに)送出する)。これにより、コンテンツ所在問合せ(検索)メッセージは、コンテンツIDをキーとするDHTルーティングによって最終的にルートノードに到着し、放送管理サーバ10は、当該ルートノードからコンテンツ所在問合せ(検索)メッセージに含まれるコンテンツIDに対応するインデックス情報を取得する。こうして検索されたコンテンツ保持ノード(つまり、取得されたインデックス情報に記述されたコンテンツ保持ノード)のノード情報が、放送ノード候補のノード情報として、上記コンテンツデータの放送時刻に対応付けられて上記放送リストに記述されることになる。
【0080】
但し、コンテンツ保持ノードが放送装置となるためには、放送装置として要求される帯域を消費できる必要があるため、制御部101は、検索された各コンテンツ保持ノードの有効帯域が上記要求される消費帯域(予め設定)を満たすコンテンツ保持ノード(つまり、放送装置として要求される帯域を消費可能なコンテンツ保持ノード)を放送ノード候補として選定し、そのノード情報を放送リストに記述することになる。なお、各コンテンツ保持ノードの有効帯域は、例えば、放送管理サーバ10と上記コンテンツ保持ノード間で所定のデータを送受信してそのときのデータ伝送速度から決定される。或いは、別のサーバと上記コンテンツ保持ノード間で所定のデータを送受信して得られた有効帯域を放送管理サーバ10が取得するようにしても良い。
【0081】
また、例えば、図7に示すコンテンツXXXのように、一つのコンテンツデータに対して、複数の放送ノード候補が放送リストに記述されている場合、夫々の放送ノード候補のうちの一つが放送ノードとして選定されることになるが、制御部101は、例えば、各放送ノード候補のネットワーク8への接続時間(電源オンによりコンテンツ分散保存システムSX1に参加する形態の場合、通電時間)を比較し、当該比較結果に基づいて、例えば最も接続時間の長い放送ノード候補を放送ノードとして選定する。これは、接続時間の長いノードNnは、これからも電源を切らずに継続して参加することを期待できるため、コンテンツデータの放送を安定して行うことができるからである。或いは、最も接続時間の短い放送ノード候補を放送ノードとして選定するように構成しても良く、これは、コンテンツ分散保存システムSX1に参加したばかりのノードNnはすぐには電源を切らずに継続して参加することを期待できるためである。なお、各放送ノード候補のネットワーク8への接続時間を示す接続時間情報は、夫々の放送ノード候補から取得される。
【0082】
そして、現在放送されているコンテンツデータから次のコンテンツデータに切り替えられる放送時刻が到来した場合、制御部101は、当該次のコンテンツデータを保存している放送ノードを示すノード情報を放送リストから特定し、当該特定したノード情報に示される放送ノードに対して、次のコンテンツデータをツリー型放送システムSX2における放送装置として放送させる指示を示す放送開始指示メッセージを通信部103等を介して送信する。このとき、制御部11は、現在放送ノードに接続されている下位階層のノードNnに対して、次の放送ノードへ接続を切り替えさせる指示を示す切替指示情報としての切替指示メッセージ(次の放送ノードを示すノード情報を含む)を通信部103等を介して送信するようになっている。
【0083】
図8は、放送ノードが切り替えられたときの様子を示す図である。
【0084】
図8の例では、コンテンツXXXの放送からコンテンツYYYの放送に切り替えられたため、コンテンツXXXの放送ノードであるノードN10に接続していたノードN1及びノードN15は、放送管理サーバ10からの切替指示メッセージの受信により、接続先をノードN10からノードN3(コンテンツYYYの放送ノード)に切り替えている。なお、ノードN1又はノードN15の下位階層(第2階層以下)のノードNnは接続先を切り替えなくとも良くなっている。
【0085】
2.ノードNnの構成及び機能等
次に、図9を参照して、ノードNnの構成及び機能について説明する。
【0086】
図9は、ノードNnの概要構成例を示す図である。
【0087】
各ノードNnは、図9に示すように、演算機能を有するCPU,作業用RAM,各種データおよびプログラムを記憶するROM等から構成されたコンピュータとしての制御部11と、各種データ(例えば、コンテンツデータ、インデックス情報、DHT等)及び各種プログラム等を記憶保存(格納)するためのHD等から構成された記憶部12と、受信されたコンテンツデータ等を一時蓄積するバッファメモリ13と、コンテンツデータに含まれるエンコードされたビデオデータ(映像情報)およびオーディオデータ(音声情報)等をデコード(データ伸張や復号化等)するデコーダ部14と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部15と、当該映像処理部15から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等の表示部16と、上記デコードされたオーディオデータをアナログオーディオ信号にD (Digital)/A(Analog)変換した後これをアンプにより増幅して出力する音声処理部17と、当該音声処理部17から出力されたオーディオ信号を音波として出力するスピーカ18と、ネットワーク8を通じて他のノードNnや放送管理サーバ10等との間の情報の通信制御を行うための通信部20と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部11に対して与える入力部(例えば、キーボード、マウス、或いは、操作パネル等)21と、を備えて構成され、制御部11、記憶部12、バッファメモリ13、デコーダ部14、通信部20、及び入力部21はバス22を介して相互に接続されている。なお、ノードNnとしては、パーソナルコンピュータ、STB(Set Top Box)、或いは、TV受信機等を適用可能である。また、記憶部12には、コンテンツ分散保存システムSX1に参加する際のアクセス先となるコンタクトノードのIPアドレス及びポート番号と、ツリー型放送システムSX2に参加する際にアクセス先となる放送管理サーバ10のIPアドレス及びポート番号が記憶されている。
【0088】
このような構成において、制御部11は、CPUが記憶部12等に記憶されたプログラムを読み出して実行することにより、全体を統括制御し、コンテンツ分散保存システムSX1への参加により上述したユーザノード、中継ノード、ルートノード、キャッシュノード、及びコンテンツ保持ノードの少なくとも何れか一つのノードとしての処理を行うようになっている。
【0089】
また、各ノードNnには上記放送リストに記述された各コンテンツデータのコンテンツ名、放送時刻、及び概要等が記述された放送スケジュール表(言い換えれば、放送番組表)が前もって配信され、当該放送スケジュール表は、ユーザからの入力部21を介した指示により表示部16に表示されるようになっている。そして、ユーザが、当該放送スケジュール表を見て、入力部21を操作してツリー型放送システムSX2への参加指示を行うと、制御部11は、上述した参加メッセージを放送管理サーバ10に通信部20等を介して送信することになる。そして、当該制御部11は、放送管理サーバ10からの接続先紹介メッセージを通信部20を介して受信し、当該接続先紹介メッセージにて示されたノード情報に基づき、自己の上位階層となるべきノードNnとの接続を確立し、当該ノードNnに対してコンテンツデータの転送要求を行うようになっている。
【0090】
こうして、ツリー型放送システムSX2への参加したノードNnにおいては、接続された上位階層のノードNnから転送(配信)されてきたコンテンツデータの各パケットが受信され、バッファリングされつつ、デコーダ部14、映像処理部15、表示部16、音声処理部17、及びスピーカ18を通じて再生処理が行われ、下位階層のノードNnがある場合にはそのノードNnに当該コンテンツデータが転送されるようになっている。
【0091】
なお、各ノードNnは、初めてツリー型放送システムSX2に参加する場合ばかりでなく、電源OFFや通信不良等により自己が当該システムSX2から脱退し、その後、該システムSX2に再参加する場合、或いは、上位階層のノードNnが該システムSX2から脱退や転送停止によりコンテンツデータの転送が途切れた場合も、放送管理サーバ10に対して参加メッセージを送信し、該放送管理サーバ10から接続先紹介メッセージを取得することになる。
【0092】
また、制御部11は、放送管理サーバ10からの放送開始指示メッセージを受信した場合、当該放送開始指示メッセージにて示されたコンテンツデータを記憶部12から読み出し、これを、自身の下位階層として接続される(コンテンツデータの転送要求があった)ノードNnに対して放送(ストリーム配信)するようになっている。
【0093】
また、制御部11は、放送管理サーバ10からの切替指示メッセージを受信した場合、当該切替指示メッセージにて示された放送ノードのノード情報に基づき、当該放送ノードとの接続を確立してコンテンツデータの転送要求を行い、また、以前の放送ノードとの接続を切断する(接続の切り替え)ようになっている。
【0094】
3.ツリー型放送システムSX2の動作
次に、図10乃至図13等を参照して、本実施形態における通信システムSの動作について説明する。
【0095】
図10(A)は、放送管理サーバ10の制御部101における放送リスト生成処理を示すフローチャートであり、図10(B)は、コンテンツ保持ノードの制御部11における帯域判定処理を示すフローチャートである。また、図11は、放送管理サーバ10の制御部101における接続先紹介処理を示すフローチャートである。また、図12は、放送管理サーバ10の制御部101における放送ノード切替処理を示すフローチャートであり、図13は、放送ノード切替時における放送管理サーバ10とノードNn間のやり取りを時系列的に示したシーケンス図である。
【0096】
(放送リスト生成処理)
先ず、図10(A)に示す放送リスト生成処理は、例えば上述した人気ランキング情報を作成(定期的に作成)した所定のサーバから送信された当該人気ランキング情報を放送管理サーバ10が受信した場合に開始され、制御部101は、当該人気ランキング情報に基づいて放送対象となるコンテンツデータを選定(例えば、上位20位まで)し、且つそれらの放送順序(例えば人気ランキング順)を決定する(ステップS1)。なお、放送対象となるコンテンツデータ及び放送順序は、上記人気ランキング情報を作成したサーバが行うようにしても良い。また、放送リストが放送コンテンツリストと放送ノードリストに分かれる場合、所定のサーバにおいて人気ランキング情報に基づき放送コンテンツリストが生成され、当該放送コンテンツリストが上記所定のサーバから受信された場合に、当該図10(A)に示す放送リスト生成処理が開始されることになる。
【0097】
次いで、制御部101は、上記選定した各コンテンツデータを保存するコンテンツ保持ノードの検索処理を行う(ステップS2)。当該コンテンツ保持ノードの検索処理においては、制御部101は、例えば、選定したコンテンツデータ(或いは放送コンテンツリストにコンテンツ名が記述されたコンテンツデータ)に対応するコンテンツID等を含むコンテンツ所在問合せ(検索)メッセージ(クエリ)を、上述したように、ルートノードに向けて送出し、当該ルートノードからの送信されたインデックス情報を受信する。なお、かかるコンテンツ保持ノードの検索処理は、上記選定されたコンテンツデータ毎に行われる。
【0098】
次いで、制御部101は、受信したインデックス情報にノード情報が記述されるコンテンツ保持ノードに対して帯域判定要求を行う(ノード情報に基づき帯域判定要求を示す帯域判定要求メッセージを送信)する(ステップS3)。なお、当該帯域判定要求は、上記選定されたコンテンツデータ毎に行われる(一つのコンテンツデータについて複数のコンテンツ保持ノードが検索された場合、これら全てのコンテンツ保持ノードに対して帯域判定要求が行われる)。
【0099】
一方、コンテンツ保持ノードは、放送管理サーバ10からの帯域判定要求を受けると(上記帯域判定要求メッセージを受信すると)、図10(B)に示す帯域判定処理を開始し、制御部11は、帯域判定を行う(ステップS11)。例えば、コンテンツ保持ノードは自身と放送管理サーバ10(他のサーバでも良い)との間で所定のデータを送受信して有効帯域を測定する。
【0100】
次いで、制御部11は、上記判定された帯域(測定された有効帯域)が放送装置として要求される消費帯域を満たすか否かを判別し(ステップS12)、満たす場合には(ステップS12:YES)、上記消費帯域を満たす旨が示された応答メッセージを放送管理サーバ10に対して返信し(ステップS13)、満たさない場合には(ステップS12:NO)、上記消費帯域を満たさない旨が示された応答メッセージを放送管理サーバ10に対して返信し(ステップS14)、当該処理を終了する。
【0101】
一方、放送管理サーバ10は、こうしてコンテンツ保持ノードから送信されてきた応答メッセージを受信する(ステップS4)。
【0102】
このような応答メッセージが、帯域判定要求された全てのコンテンツ保持ノードから受信されると、続いて、制御部11は、各コンテンツデータ毎に、消費帯域を満たす旨が示された応答メッセージを送信したコンテンツ保持ノードを放送ノード候補として選定する(ステップS5)。
【0103】
次いで、制御部11は、各コンテンツデータ毎に、予め設定された選定基準にしたがって、放送ノード候補のうちから最も優先度の高い一つの放送ノードを選定する(ステップS6)。例えば、上述したように、ネットワーク8への接続時間等に基づいて、接続時間の長い(或いは短い)放送ノードが優先的に選定される。なお、当該放送ノードの選定は、当該コンテンツデータの放送時刻(放送開始時刻)到来の直前に行うように構成しても良い。当該選定から放送時刻までの時間が長いと、その間に、選定した放送ノードがツリー型放送システムSX2から脱退したり、優先度が高さが変わることが想定されるからである。
【0104】
次いで、制御部11は、上記放送対象となる選定したコンテンツデータ毎のコンテンツ名及び放送時刻、並びに選定された放送ノード候補及び放送ノードのノード情報が記述された放送リストを生成(上記決定された放送順序にしたがって生成)し(ステップS7)、以前に生成され記憶されていた放送リストを更新(差分を更新)し(ステップS8)、当該処理を終了する。なお、放送リストが放送コンテンツリストと放送ノードリストに分かれる場合、ステップS7の処理では、放送順序、当該コンテンツデータの放送ノード候補を示すノード情報及び放送ノードが記述された放送ノードリストが生成されることになる。
【0105】
(接続先紹介処理)
次に、図11に示す接続先紹介処理は、ノードNnから送信された参加メッセージを放送管理サーバ10が受信した場合に開始され、制御部101は、上記接続態様情報及び放送リストを参照して、上述したように、当該ノードNnが接続すべき接続先となるノードNnを選択する(ステップS21)。
【0106】
次いで、制御部101は、上記選択した接続先が放送ノードであるか(接続先として放送ノードを紹介するか)否かを判別し(ステップS22)、放送ノードでない場合には(ステップS22:NO)、当該選択した接続先であるノードNnのノード情報等を含む接続先紹介メッセージを当該ノードNnに対して送信し(接続先を紹介)(ステップS23)し、当該処理を終了する。一方、上記選択した接続先が放送ノードである場合には(ステップS22:YES)、制御部101は、放送リストを参照して(ステップS24)、例えば現在放送中のコンテンツデータの放送ノード(又は次の放送すべきコンテンツデータの放送ノード)のノード情報を放送リストから取得し(ステップS25)、当該放送ノードのノード情報を含む接続先紹介メッセージを当該ノードNnに対して送信し(接続先を紹介)(ステップS26)し、当該処理を終了する。
【0107】
このように送信された接続先紹介メッセージを受信したノードNnは、当該接続先紹介メッセージにて示されたノード情報に基づき、自己の上位階層となるべきノードNnとの接続を確立し、当該ノードNnに対してコンテンツデータの転送要求を行うことになる。
【0108】
(放送ノード切替処理)
次に、図12に示す放送ノード切替処理は、現在、ある放送ノードから放送されているコンテンツデータから次のコンテンツデータに切り替えられる放送時刻が到来した場合(実際には少し直前)に開始され、制御部101は、放送リストを参照して、図13に示すように、現在の放送ノード及び次の放送ノードを特定し、特定した現在の放送ノード及び次の放送ノードのノード情報を取得し、更に接続態様情報を参照して現在の放送ノードに接続されている第1階層のノードNnを特定し、特定したノードNnのノード情報を取得する(ステップS31)。
【0109】
次いで、制御部101は、上記特定したノード情報にしたがって、現在の放送ノードに対してコンテンツデータの放送終了させる指示を示す放送終了指示メッセージを送信し(ステップS32A)、且つ次の放送ノードに対してコンテンツデータの放送開始させる指示を示す放送開始指示メッセージを送信し(ステップS32B)、且つ第1階層のノードNn(放送ノードの下位ノード)に対して次の放送ノードへ接続を切り替えさせる指示を示す切替指示メッセージを送信し(ステップS32C)、当該処理を終了する。これにより、第1階層のノードNnは放送ノードの接続の切り替えを行い、次の放送ノードは自身が保存しているコンテンツデータを当該第1階層のノードNnに対して放送することになる。このように、非同期に3つのイベント(メッセージの送信)を同時に発行することにより、例えば映像配信が途切れること無く、放送ノードを切り替えることができる。なお、コンテンツデータの放送終了時刻は放送ノードが判断できるので、放送終了指示メッセージは送信されないように構成しても構わないが、放送終了指示メッセージを送信する構成では、放送ノードの切り替えをより効率良く行うことができる。
【0110】
以上説明したように、上記実施形態によれば、ツリー型放送システムSX2において放送されるコンテンツデータの放送時刻と、当該コンテンツデータをコンテンツ分散保存システムSX1上で保存しているコンテンツ保持ノードを示すノード情報と、を記述した放送リストを記憶しておき、放送時刻の到来(例えば、現在放送されているコンテンツデータから次のコンテンツデータに切り替えられる放送時刻が到来)により放送されるべきコンテンツデータを保存しているコンテンツ保持ノードを放送ノードとして上記放送リストから特定し、当該放送ノードに対して、コンテンツデータをツリー型放送システムSX2における放送装置として放送させる指示を示す放送開始指示メッセージを送信することによって、コンテンツ保持ノードである放送ノードに対してコンテンツデータを放送させるように構成したので、コンテンツデータ毎に放送ノードを分け、放送すべきコンテンツデータを特定の放送局に一括して持つ必要がなくすことができ、したがって、特定の放送局の負荷や、ネットワーク負荷を低減させることができる。
【0111】
また、上記実施形態によれば、放送ノード候補となるべきコンテンツ保持ノードを、各コンテンツデータ毎に、コンテンツ分散保存システムSX1からDHTルーティングにしたがって迅速に検索でき、ツリー型放送システムSX2において有効に活用することができる。
【0112】
なお、上記実施形態におけるコンテンツ分散保存システムSX1は、DHTを利用したアルゴリズムによって形成されることを前提として説明したが、本発明はこれに限定されるものではない。
【図面の簡単な説明】
【0113】
【図1】本実施形態に係る通信システムにおける各ノード装置の接続態様の一例を示す図である。
【図2】本実施形態に係る通信システムSの概念図である。
【図3】ノードN2が保持するDHTを用いたルーティングテーブルの一例を示す図である。
【図4】DHTのID空間の一例を示す概念図である。
【図5】ユーザノードから送出されたコンテンツ所在問合せ(検索)メッセージの流れの一例を、DHTのID空間にて示した概念図である。
【図6】放送管理サーバ10の概要構成例を示す図である。
【図7】放送リストの内容を示す概念図である。
【図8】放送ノードが切り替えられたときの様子を示す図である。
【図9】ノードNnの概要構成例を示す図である。
【図10】(A)は、放送管理サーバ10の制御部101における放送リスト生成処理を示すフローチャートであり、(B)は、コンテンツ保持ノードの制御部11における帯域判定処理を示すフローチャートである。
【図11】放送管理サーバ10の制御部101における接続先紹介処理を示すフローチャートである。
【図12】放送管理サーバ10の制御部101における放送ノード切替処理を示すフローチャートである。
【図13】放送ノード切替時における放送管理サーバ10とノードNn間のやり取りを時系列的に示したシーケンス図である。
【符号の説明】
【0114】
8 ネットワーク
9 オーバーレイネットワーク
10 放送管理サーバ
10a 放送制御機能
10b 紹介機能
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
20 通信部
21 入力部
22 バス
101 制御部
101 記憶部
103 通信部
104 バス
Nn ノード
S 通信システム
SX1 コンテンツ分散保存システム
SX2 ツリー型放送システム

【特許請求の範囲】
【請求項1】
複数のコンテンツデータが複数のノード装置に分散保存され、各前記ノード装置は他の前記ノード装置からの要求に応じて自己が保存しているコンテンツデータをネットワークを介して提供するようにしたコンテンツ分散保存システムにおける前記複数のノード装置の全部又は一部を含み複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型放送システムにおいて前記コンテンツデータの放送を管理する放送管理装置であって、
前記コンテンツデータの放送時刻と、当該コンテンツデータを前記コンテンツ分散保存システム上で保存しているノード装置を示すノード情報と、が対応付けられて記述された放送リストを記憶する記憶手段と、
前記放送時刻の到来により放送されるべきコンテンツデータを保存している前記ノード装置を示すノード情報を前記放送リストから特定するノード特定手段と、
前記特定されたノード情報に示される前記ノード装置に対して、前記コンテンツデータを前記ツリー型放送システムにおける前記放送装置として放送させる指示を示す放送指示情報を送信する放送指示情報送信手段と、
を備えることを特徴とする放送管理装置。
【請求項2】
請求項1に記載の放送管理装置において、
前記放送リストには、内容の異なる複数のコンテンツデータの放送時刻と、夫々のコンテンツデータを保存しているノード装置を示すノード情報が記述されており、
前記放送されている前記コンテンツデータから次の前記コンテンツデータに切り替えられる放送時刻が到来した場合、前記ノード特定手段は、当該次のコンテンツデータを保存している次の前記ノード装置を示すノード情報を前記放送リストから特定し、
前記放送指示情報送信手段は、当該特定されたノード情報に示される前記次のノード装置に対して、前記次のコンテンツデータを前記ツリー型放送システムにおける前記放送装置として放送させる指示を示す放送指示情報を送信することを特徴とする放送管理装置。
【請求項3】
請求項2に記載の放送管理装置において、
前記放送されている前記コンテンツデータから前記次のコンテンツデータに切り替えられる放送時刻が到来した場合、前記放送装置としての前記ノード装置に接続されている下位階層のノード装置に対して、前記次のノード装置へ接続を切り替えさせる指示を示す切替指示情報を送信する切替指示情報送信手段を更に備えることを特徴とする放送管理装置。
【請求項4】
請求項1乃至3の何れか一項に記載の放送管理装置において、
前記放送リストに放送時刻が記述される前記コンテンツデータを前記コンテンツ分散保存システムにおいて保存しているノード装置を検索する検索手段と、
前記検索されたノード装置のうち、前記放送装置として要求される帯域を消費可能なノード装置を選定し、当該選定したノード装置を示すノード情報を、前記コンテンツデータの放送時刻に対応付けて前記放送リストに記述するノード選定記述手段と、
を更に備えることを特徴とする放送管理装置。
【請求項5】
請求項1乃至4の何れか一項に記載の放送管理装置において、
前記放送リストに放送時刻が記述されている一つの前記コンテンツデータに対して、これを保存する複数の前記ノード装置のノード情報が当該放送リストに記述されている場合、夫々の前記ノード装置の前記ネットワークへの接続時間を示す接続時間情報を夫々の前記ノード装置から取得する接続時間情報取得手段を更に備え、
前記ノード特定手段は、前記取得された夫々の接続時間情報に示される接続時間を比較し、当該比較結果に基づいて、一つの前記ノード装置を示すノード情報を特定することを特徴とする放送管理装置。
【請求項6】
請求項1乃至5の何れか一項に記載の放送管理装置として機能させることを特徴とする放送管理処理プログラム。
【請求項7】
複数のコンテンツデータが複数のノード装置に分散保存され、各前記ノード装置は他の前記ノード装置からの要求に応じて自己が保存しているコンテンツデータをネットワークを介して提供するようにしたコンテンツ分散保存システムにおける前記複数のノード装置の全部又は一部を含み複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型放送システムにおいて、
前記コンテンツデータの放送を管理する放送管理装置は、
前記コンテンツデータの放送時刻と、当該コンテンツデータを前記コンテンツ分散保存システム上で保存しているノード装置を示すノード情報と、が対応付けられて記述された放送リストを記憶する記憶手段と、
前記放送時刻の到来により放送されるべきコンテンツデータを保存している前記ノード装置を示すノード情報を前記放送リストから特定するノード特定手段と、
前記特定されたノード情報に示される前記ノード装置に対して、前記コンテンツデータを前記ツリー型放送システムにおける前記放送装置として放送させる指示を示す放送指示情報を送信する放送指示情報送信手段と、
を備え、
前記放送指示情報を受信したノード装置は、
当該受信した放送指示情報にしたがって自己が保存している前記コンテンツデータを、自己に接続されている下位階層のノード装置に対して放送する放送手段を備えることを特徴とするツリー型放送システム。
【請求項8】
複数のコンテンツデータが複数のノード装置に分散保存され、各前記ノード装置は他の前記ノード装置からの要求に応じて自己が保存しているコンテンツデータをネットワークを介して提供するようにしたコンテンツ分散保存システムにおける前記複数のノード装置の全部又は一部を含み複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型放送システムにおけるコンテンツ放送方法であって、
前記コンテンツデータの放送を管理する放送管理装置が、
前記コンテンツデータの放送時刻と、当該コンテンツデータを前記コンテンツ分散保存システム上で保存しているノード装置を示すノード情報と、が対応付けられて記述された放送リストを記憶し、
前記放送時刻の到来により放送されるべきコンテンツデータを保存している前記ノード装置を示すノード情報を前記放送リストから特定し、
前記特定されたノード情報に示される前記ノード装置に対して、前記コンテンツデータを前記ツリー型放送システムにおける前記放送装置として放送させる指示を示す放送指示情報を送信し、
前記ノード装置が、
前記放送指示情報を受信し、
当該受信した放送指示情報にしたがって自己が保存している前記コンテンツデータを、自己に接続されている下位階層のノード装置に対して放送することを特徴とするコンテンツ放送方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2008−236538(P2008−236538A)
【公開日】平成20年10月2日(2008.10.2)
【国際特許分類】
【出願番号】特願2007−75033(P2007−75033)
【出願日】平成19年3月22日(2007.3.22)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】