(57)【要約】      （修正有）【課題】放送局の負荷やネットワーク負荷を低減させることが可能なツリー型放送システム、放送管理方法を提供する。【解決手段】複数のコンテンツデータが複数のノード装置に分散保存され、各ノード装置は他のノード装置からの要求に応じて保存している前記データをネットワークを介して提供するようにしたコンテンツ分散保存システム。当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送された前記データが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型放送システムにおける放送管理装置であって、放送時刻と、当該コンテンツデータを保存しているノード装置を示す情報が対応付けられた放送リストを記憶し、放送されるべきコンテンツデータを保存しているノード情報を前記放送リストから特定し、放送させる指示情報を送信する。【選択図】図８
2008236538.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンテンツデータが複数のノード装置に分散保存され、各前記ノード装置は他の前記ノード装置からの要求に応じて自己が保存しているコンテンツデータをネットワークを介して提供するようにしたコンテンツ分散保存システムにおける前記複数のノード装置の全部又は一部を含み複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型放送システムにおいて前記コンテンツデータの放送を管理する放送管理装置であって、
前記コンテンツデータの放送時刻と、当該コンテンツデータを前記コンテンツ分散保存システム上で保存しているノード装置を示すノード情報と、が対応付けられて記述された放送リストを記憶する記憶手段と、
前記放送時刻の到来により放送されるべきコンテンツデータを保存している前記ノード装置を示すノード情報を前記放送リストから特定するノード特定手段と、
前記特定されたノード情報に示される前記ノード装置に対して、前記コンテンツデータを前記ツリー型放送システムにおける前記放送装置として放送させる指示を示す放送指示情報を送信する放送指示情報送信手段と、
を備えることを特徴とする放送管理装置。
【請求項２】
請求項１に記載の放送管理装置において、  
前記放送リストには、内容の異なる複数のコンテンツデータの放送時刻と、夫々のコンテンツデータを保存しているノード装置を示すノード情報が記述されており、
前記放送されている前記コンテンツデータから次の前記コンテンツデータに切り替えられる放送時刻が到来した場合、前記ノード特定手段は、当該次のコンテンツデータを保存している次の前記ノード装置を示すノード情報を前記放送リストから特定し、
前記放送指示情報送信手段は、当該特定されたノード情報に示される前記次のノード装置に対して、前記次のコンテンツデータを前記ツリー型放送システムにおける前記放送装置として放送させる指示を示す放送指示情報を送信することを特徴とする放送管理装置。
【請求項３】
請求項２に記載の放送管理装置において、  
前記放送されている前記コンテンツデータから前記次のコンテンツデータに切り替えられる放送時刻が到来した場合、前記放送装置としての前記ノード装置に接続されている下位階層のノード装置に対して、前記次のノード装置へ接続を切り替えさせる指示を示す切替指示情報を送信する切替指示情報送信手段を更に備えることを特徴とする放送管理装置。
【請求項４】
請求項１乃至３の何れか一項に記載の放送管理装置において、
前記放送リストに放送時刻が記述される前記コンテンツデータを前記コンテンツ分散保存システムにおいて保存しているノード装置を検索する検索手段と、
前記検索されたノード装置のうち、前記放送装置として要求される帯域を消費可能なノード装置を選定し、当該選定したノード装置を示すノード情報を、前記コンテンツデータの放送時刻に対応付けて前記放送リストに記述するノード選定記述手段と、
を更に備えることを特徴とする放送管理装置。
【請求項５】
請求項１乃至４の何れか一項に記載の放送管理装置において、
前記放送リストに放送時刻が記述されている一つの前記コンテンツデータに対して、これを保存する複数の前記ノード装置のノード情報が当該放送リストに記述されている場合、夫々の前記ノード装置の前記ネットワークへの接続時間を示す接続時間情報を夫々の前記ノード装置から取得する接続時間情報取得手段を更に備え、
前記ノード特定手段は、前記取得された夫々の接続時間情報に示される接続時間を比較し、当該比較結果に基づいて、一つの前記ノード装置を示すノード情報を特定することを特徴とする放送管理装置。
【請求項６】
請求項１乃至５の何れか一項に記載の放送管理装置として機能させることを特徴とする放送管理処理プログラム。
【請求項７】
複数のコンテンツデータが複数のノード装置に分散保存され、各前記ノード装置は他の前記ノード装置からの要求に応じて自己が保存しているコンテンツデータをネットワークを介して提供するようにしたコンテンツ分散保存システムにおける前記複数のノード装置の全部又は一部を含み複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型放送システムにおいて、
前記コンテンツデータの放送を管理する放送管理装置は、
前記コンテンツデータの放送時刻と、当該コンテンツデータを前記コンテンツ分散保存システム上で保存しているノード装置を示すノード情報と、が対応付けられて記述された放送リストを記憶する記憶手段と、
前記放送時刻の到来により放送されるべきコンテンツデータを保存している前記ノード装置を示すノード情報を前記放送リストから特定するノード特定手段と、
前記特定されたノード情報に示される前記ノード装置に対して、前記コンテンツデータを前記ツリー型放送システムにおける前記放送装置として放送させる指示を示す放送指示情報を送信する放送指示情報送信手段と、
を備え、
前記放送指示情報を受信したノード装置は、
当該受信した放送指示情報にしたがって自己が保存している前記コンテンツデータを、自己に接続されている下位階層のノード装置に対して放送する放送手段を備えることを特徴とするツリー型放送システム。
【請求項８】
複数のコンテンツデータが複数のノード装置に分散保存され、各前記ノード装置は他の前記ノード装置からの要求に応じて自己が保存しているコンテンツデータをネットワークを介して提供するようにしたコンテンツ分散保存システムにおける前記複数のノード装置の全部又は一部を含み複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型放送システムにおけるコンテンツ放送方法であって、
前記コンテンツデータの放送を管理する放送管理装置が、
前記コンテンツデータの放送時刻と、当該コンテンツデータを前記コンテンツ分散保存システム上で保存しているノード装置を示すノード情報と、が対応付けられて記述された放送リストを記憶し、
前記放送時刻の到来により放送されるべきコンテンツデータを保存している前記ノード装置を示すノード情報を前記放送リストから特定し、
前記特定されたノード情報に示される前記ノード装置に対して、前記コンテンツデータを前記ツリー型放送システムにおける前記放送装置として放送させる指示を示す放送指示情報を送信し、
前記ノード装置が、
前記放送指示情報を受信し、
当該受信した放送指示情報にしたがって自己が保存している前記コンテンツデータを、自己に接続されている下位階層のノード装置に対して放送することを特徴とするコンテンツ放送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア（Peer to Peer（P2P））型の通信システムの技術分野に関する。
【背景技術】
【０００２】
近年、ブロードバンドの普及によりＶＯＤ（ビデオオンデマンド）等のコンテンツ配信サービスが行われている。現在のコンテンツ配信における主流形態であるサーバクライアント方式に変わる新しい形態として、ピアツーピア型の通信システムが注目されており、例えば、特許文献１に開示されるようなツリー型の放送（配信）システムが提案されている。かかるツリー型の放送システムにおいては、複数のノード装置が放送局（例えば、放送サーバ）を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、当該放送局から放送（ストリーム配信）されたコンテンツデータが、上位階層のノード装置から下位階層のノード装置に順次転送されるようになっている。
【特許文献１】特開２００６−３３５１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、このようなツリー型の放送システムにおける放送局は、予め定めされた放送スケジュールにしたがって放送すべきコンテンツデータを予め記憶しておく必要があり、放送すべきコンテンツデータが多くなると、それを記憶保存しておくための記憶装置の記憶容量が増大し、放送局の負荷（処理負担）も増大するという問題があり、その分、設備コストが高くなる。また、放送局と各ノード装置間の通信経路の負荷（ネットワーク負荷）も増大するという問題もある。
【０００４】
そこで、本発明は、以上の問題等に鑑みてなされたものであり、放送局の負荷やネットワーク負荷を低減させることが可能なツリー型放送システム、コンテンツ放送方法、放送管理装置、及び放送管理処理プログラムを提供することを課題とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、請求項１に記載の発明は、複数のコンテンツデータが複数のノード装置に分散保存され、各前記ノード装置は他の前記ノード装置からの要求に応じて自己が保存しているコンテンツデータをネットワークを介して提供するようにしたコンテンツ分散保存システムにおける前記複数のノード装置の全部又は一部を含み複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型放送システムにおいて前記コンテンツデータの放送を管理する放送管理装置であって、前記コンテンツデータの放送時刻と、当該コンテンツデータを前記コンテンツ分散保存システム上で保存しているノード装置を示すノード情報と、が対応付けられて記述された放送リストを記憶する記憶手段と、前記放送時刻の到来により放送されるべきコンテンツデータを保存している前記ノード装置を示すノード情報を前記放送リストから特定するノード特定手段と、前記特定されたノード情報に示される前記ノード装置に対して、前記コンテンツデータを前記ツリー型放送システムにおける前記放送装置として放送させる指示を示す放送指示情報を送信する放送指示情報送信手段と、を備えることを特徴とする。
【０００６】
この発明によれば、コンテンツデータの放送時刻と、当該コンテンツデータをコンテンツ分散保存システム上で保存しているノード装置を示すノード情報と、が対応付けられて記述された放送リストを記憶しておき、前記放送時刻の到来により放送されるべきコンテンツデータを保存している前記ノード装置を示すノード情報を前記放送リストから特定し、前記特定されたノード情報に示される前記ノード装置に対して、前記コンテンツデータを前記ツリー型放送システムにおける前記放送装置として放送させる指示を示す放送指示情報を送信するように構成したので、放送時刻の到来した場合、コンテンツデータを保存しているノード装置から迅速にコンテンツデータを放送させることができ、また、コンテンツデータ毎に放送装置を分けることができるので、放送すべきコンテンツデータを特定の放送局に一括して持つ必要がなくすことができ、したがって、従来の放送局の負荷や、ネットワーク負荷を低減させることができる。
【０００７】
請求項２に記載の発明は、請求項１に記載の放送管理装置において、前記放送リストには、内容の異なる複数のコンテンツデータの放送時刻と、夫々のコンテンツデータを保存しているノード装置を示すノード情報が記述されており、前記放送されている前記コンテンツデータから次の前記コンテンツデータに切り替えられる放送時刻が到来した場合、前記ノード特定手段は、当該次のコンテンツデータを保存している次の前記ノード装置を示すノード情報を前記放送リストから特定し、前記放送指示情報送信手段は、当該特定されたノード情報に示される前記次のノード装置に対して、前記次のコンテンツデータを前記ツリー型放送システムにおける前記放送装置として放送させる指示を示す放送指示情報を送信することを特徴とする。
【０００８】
この発明によれば、放送されているコンテンツデータから次のコンテンツデータに切り替えられる放送時刻が到来した場合、次のノード装置に対して次のコンテンツデータをツリー型放送システムにおける放送装置として迅速に放送させることができる。
【０００９】
請求項３に記載の発明は、請求項２に記載の放送管理装置において、前記放送されている前記コンテンツデータから前記次のコンテンツデータに切り替えられる放送時刻が到来した場合、前記放送装置としての前記ノード装置に接続されている下位階層のノード装置に対して、前記次のノード装置へ接続を切り替えさせる指示を示す切替指示情報を送信する切替指示情報送信手段を更に備えることを特徴とする。
【００１０】
この発明によれば、放送されているコンテンツデータから次のコンテンツデータに切り替えられる放送時刻が到来した場合、放送装置としてのノード装置に接続されている下位階層のノード装置に対して、次のノード装置へ接続を迅速に切り替えさせることができる。
【００１１】
請求項４に記載の発明は、請求項１乃至３の何れか一項に記載の放送管理装置において、前記放送リストに放送時刻が記述される前記コンテンツデータを前記コンテンツ分散保存システムにおいて保存しているノード装置を検索する検索手段と、前記検索されたノード装置のうち、前記放送装置として要求される帯域を消費可能なノード装置を選定し、当該選定したノード装置を示すノード情報を、前記コンテンツデータの放送時刻に対応付けて前記放送リストに記述するノード選定記述手段と、を更に備えることを特徴とする。
【００１２】
この発明によれは、放送装置を、各コンテンツデータ毎に、コンテンツ分散保存システムから迅速に検索でき、ツリー型放送システムにおいて有効に活用することができる。
【００１３】
請求項５に記載の発明は、請求項１乃至４の何れか一項に記載の放送管理装置において、前記放送リストに放送時刻が記述されている一つの前記コンテンツデータに対して、これを保存する複数の前記ノード装置のノード情報が当該放送リストに記述されている場合、夫々の前記ノード装置の前記ネットワークへの接続時間を示す接続時間情報を夫々の前記ノード装置から取得する接続時間情報取得手段を更に備え、前記ノード特定手段は、前記取得された夫々の接続時間情報に示される接続時間を比較し、当該比較結果に基づいて、一つの前記ノード装置を示すノード情報を特定することを特徴とする。
【００１４】
この発明によれば、より安定したツリー型放送システムを形成することができる。
【００１５】
請求項６に記載の放送管理処理プログラムの発明は、請求項１乃至５の何れか一項に記載の放送管理装置として機能させることを特徴とする。
【００１６】
請求項７に記載の発明は、複数のコンテンツデータが複数のノード装置に分散保存され、各前記ノード装置は他の前記ノード装置からの要求に応じて自己が保存しているコンテンツデータをネットワークを介して提供するようにしたコンテンツ分散保存システムにおける前記複数のノード装置の全部又は一部を含み複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型放送システムにおいて、前記コンテンツデータの放送を管理する放送管理装置は、前記コンテンツデータの放送時刻と、当該コンテンツデータを前記コンテンツ分散保存システム上で保存しているノード装置を示すノード情報と、が対応付けられて記述された放送リストを記憶する記憶手段と、前記放送時刻の到来により放送されるべきコンテンツデータを保存している前記ノード装置を示すノード情報を前記放送リストから特定するノード特定手段と、前記特定されたノード情報に示される前記ノード装置に対して、前記コンテンツデータを前記ツリー型放送システムにおける前記放送装置として放送させる指示を示す放送指示情報を送信する放送指示情報送信手段と、を備え、前記放送指示情報を受信したノード装置は、当該受信した放送指示情報にしたがって自己が保存している前記コンテンツデータを、自己に接続されている下位階層のノード装置に対して放送する放送手段を備えることを特徴とする。
【００１７】
請求項８に記載の発明は、複数のコンテンツデータが複数のノード装置に分散保存され、各前記ノード装置は他の前記ノード装置からの要求に応じて自己が保存しているコンテンツデータをネットワークを介して提供するようにしたコンテンツ分散保存システムにおける前記複数のノード装置の全部又は一部を含み複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型放送システムにおけるコンテンツ放送方法であって、前記コンテンツデータの放送を管理する放送管理装置が、前記コンテンツデータの放送時刻と、当該コンテンツデータを前記コンテンツ分散保存システム上で保存しているノード装置を示すノード情報と、が対応付けられて記述された放送リストを記憶し、前記放送時刻の到来により放送されるべきコンテンツデータを保存している前記ノード装置を示すノード情報を前記放送リストから特定し、前記特定されたノード情報に示される前記ノード装置に対して、前記コンテンツデータを前記ツリー型放送システムにおける前記放送装置として放送させる指示を示す放送指示情報を送信し、前記ノード装置が、前記放送指示情報を受信し、当該受信した放送指示情報にしたがって自己が保存している前記コンテンツデータを、自己に接続されている下位階層のノード装置に対して放送することを特徴とする。
【発明の効果】
【００１８】
本発明によれば、コンテンツデータの放送時刻と、当該コンテンツデータをコンテンツ分散保存システム上で保存しているノード装置を示すノード情報と、が対応付けられて記述された放送リストを記憶しておき、前記放送時刻の到来により放送されるべきコンテンツデータを保存している前記ノード装置を示すノード情報を前記放送リストから特定し、前記特定されたノード情報に示される前記ノード装置に対して、前記コンテンツデータを前記ツリー型放送システムにおける前記放送装置として放送させる指示を示す放送指示情報を送信するように構成したので、放送時刻の到来した場合、コンテンツデータを保存しているノード装置から迅速にコンテンツデータを放送させることができ、また、コンテンツデータ毎に放送装置を分けることができるので、放送すべきコンテンツデータを特定の放送局に一括して持つ必要がなくすことができ、したがって、従来の放送局の負荷や、ネットワーク負荷を低減させることができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、通信システムに本発明を適用した場合の実施形態である。
【００２０】
［１．通信システムの構成等］
始めに、図１等を参照して、本実施形態に係る通信システムの概要構成等について説明する。
【００２１】
図１は、本実施形態に係る通信システムにおける各ノード装置の接続態様の一例を示す図である。
【００２２】
図１の下部枠１０１内に示すように、ＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Service Provider）４ａ,４ｂ、ＤＳＬ（Digital Subscriber Line）回線事業者（の装置）５ａ,５ｂ、ＦＴＴＨ（Fiber To The Home）回線事業者（の装置）６、及び通信回線（例えば、電話回線や光ケーブル等）７等によって、インターネット等のネットワーク（現実世界の通信ネットワークであり、通信手段の一例）８が構築されている。なお、図１の例におけるネットワーク（通信ネットワーク）８には、データ（パケット）を転送するためのルータが、適宜挿入されているが図示を省略している。
【００２３】
このようなネットワーク８には、複数のノード装置（以下、「ノード」という）Ｎｎ（ｎ＝１，２，３・・・の何れか）が接続されている。また、各ノードＮｎには、固有の製造番号およびＩＰ（Internet Protocol）アドレスが割り当てられている。このような製造番号およびＩＰアドレスは、複数のノード間で重複しないものである。
【００２４】
そして、本実施形態に係る通信システムＳは、これらのノードＮｎのうち、図１の上部枠１００内に示すように、何れか複数のノードＮｎの参加により形成されるピアツーピア方式のネットワークシステムとなっている。なお、図１の上部枠１００内に示すネットワーク９は、既存のネットワーク８を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク９（論理的なネットワーク）である。
【００２５】
更に、この通信システムＳは、コンテンツ分散（型）保存システムとツリー型放送システム（ツリー型コンテンツ配信システムともいう）との複合システムになっている。
【００２６】
図２は、本実施形態に係る通信システムＳの概念図である。
【００２７】
図２において、コンテンツ分散保存システムＳＸ１は、複数のコンテンツデータ（実際には、コンテンツデータの複製である複製データ（レプリカ））が複数のノードＮｎ（例えば、ノードＮ１，Ｎ３，及びＮ５等に保存）に分散保存されており、各ノードＮｎ（例えば、ノードＮ１）は、他のノードＮｎ（例えば、ノードＮ２）からの要求に応じて自己が保存しているコンテンツデータをネットワーク８を介して提供可能になっている。
【００２８】
一方、ツリー放送システムＳＸ２は、コンテンツ分散保存システムＳＸ１における（参加している）複数のノードＮｎの全部又は一部を含み（図２の例では、コンテンツ分散保存システムＳＸ１におけるノードＮｎのうち、ノードＮ１０、ノードＮ１、及びノードＮ１１が該当）、複数のノードＮｎの参加により形成されるようになっており、当該複数のノードＮｎが放送装置としてのノードＮ１０を最上位として複数の階層を形成しつつネットワーク８を介してツリー状に接続され、ノードＮ１０により放送（ストリーム配信）されたコンテンツデータが、上位階層のノードＮｎ（例えば、ノードＮ１等）から下位階層のノードＮｎ（例えば、ノードＮ１２等）に順次転送されるようになっている。
【００２９】
このように、本実施形態に係るツリー放送システムＳＸ２においては、コンテンツ分散保存システムＳＸ１において放送対象のコンテンツデータを保存しているノードＮｎが最上位の放送装置（放送局）として動作することを前提としている。
【００３０】
［１−１．コンテンツ分散保存システムＳＸ１の構成及び機能等］
次に、コンテンツ分散保存システムＳＸ１について詳しく説明する。
【００３１】
コンテンツ分散保存システムＳＸ１は、特定のアルゴリズム、例えば、ＤＨＴ（Distributed Hash Table）を利用したアルゴリズムにより実現される。
【００３２】
そして、コンテンツ分散保存システムＳＸ１に参加している各ノードＮｎには、固有の識別情報であるノードＩＤが割り当てられており、当該ノードＩＤは、例えば、各ノードＮｎに個別に割り当てられたＩＰアドレス或いは製造番号を共通のハッシュ関数（例えば、ＳＨＡ−１等）によりハッシュ化した値（例えば、ｂｉｔ長が１６０ｂｉｔ）であり、図２に示すような一つのＩＤ空間に偏りなく分散して配置されることになる。
【００３３】
なお、コンテンツ分散保存システムＳＸ１への参加は、参加していないノードＮｎ（例えば、ノードＮ８）が、参加している任意のノードＮｎ（例えば、当該システムＳＸ１に常時参加しているコンタクトノード）に対して参加要求を示す参加メッセージを送信することによって行われる。
【００３４】
上記のように共通のハッシュ関数により求められた（ハッシュ化された）ノードＩＤは、当該ＩＰアドレス或いは製造番号が異なれば、同じ値になる確率が極めて低いものである。また、このノードＩＤは、ノードの最大運用台数を収容できるだけのｂｉｔ数を持たせる必要がある。例えば、１２８ｂｉｔの番号とすれば、2＾128＝340×10＾36台のノードを運用できる。なお、ハッシュ関数については公知であるので詳しい説明を省略する。
【００３５】
また、各ノードＮｎは、夫々、ＤＨＴを用いたルーティングテーブルを保持している。このルーティングテーブルは、コンテンツ分散保存システムＳＸ１上における各種メッセージの転送先を規定しており、具体的には、ＩＤ空間内で適度に離れたノードＮｎのノードＩＤ、ＩＰアドレス及びポート番号を含むノード情報（転送先ノード情報）が複数登録されている。
【００３６】
コンテンツ分散保存システムＳＸ１に参加している１台のノードＮｎは、該システムＳＸ１に参加している全てのノードＮｎのうち、必要最低限のノードＮｎのノード情報をルーティングテーブルに登録しておき、ノード情報を知らない（記憶していない）ノードＮｎについては、各ノードＮｎ間で互いに各種メッセージを転送し合って届けてもらうようになっている。
【００３７】
ここで、図３及び図４を参照して、ＤＨＴを用いたルーティングテーブルについて詳しく説明する。
【００３８】
図３は、ノードＮ２が保持するＤＨＴを用いたルーティングテーブルの一例を示す図であり、図４は、ＤＨＴのＩＤ空間の一例を示す概念図である。
【００３９】
なお、図３及び図４の例においては、説明の便宜上、ノードＩＤのｂｉｔ長を２ｂｉｔ×３桁＝６ｂｉｔとし、各桁を４進数（０〜３の整数）で表している（実際には、もっと長いｂｉｔ長を用い、各桁も例えば４ｂｉｔに区切って０〜ｆの１６進数で表現する）。
【００４０】
図３の例において、ＤＨＴを用いたルーティングテーブルは、レベル１〜レベル３のテーブルからなり（複数のレベルに区分されており）、各レベルのテーブルエントリーには、エリア毎に、ノード情報として、ノードＩＤとこれに対応するノードＮｎのＩＰアドレス及びポート番号が対応付けられて登録されている。各レベルのテーブルにおける各エリアは、ＤＨＴのノードＩＤ空間を分割することにより得られるエリアである。例えば、図４に示すように、レベル１では、ＤＨＴのＩＤ空間全体が４分割され、“０００”〜“０３３”のノードＩＤが存在するエリアを０ＸＸのエリア、“１００”〜“１３３”のノードＩＤが存在するエリアを１ＸＸのエリア、“２００”〜“２３３”のノードＩＤが存在するエリアを２ＸＸのエリア、“３００”〜“３３３”のノードＩＤが存在するエリアを３ＸＸのエリアとする。また、レベル２では、レベル１のエリア（つまり、０ＸＸ〜３ＸＸのエリア）が更に４分割、例えば１ＸＸのエリアが４分割され、“１００”〜“１０３”のノードＩＤが存在するエリアを１０Ｘのエリア、“１１０”〜“１１３”のノードＩＤが存在するエリアを１１Ｘのエリア、“１２０”〜“１２３”のノードＩＤが存在するエリアを１２Ｘのエリア、“１３０”〜“１３３”のノードＩＤが存在するエリアを１３Ｘのエリアとする。
【００４１】
そして、例えば、ノードＮ２のノードＩＤが“１２２”とすると、図３に示すように、かかるノードＮ２のレベル１における１ＸＸのエリア（自己（つまり、自ノード）が存在するエリア）のテーブルには、自己のノードＩＤ及びＩＰアドレス（ＩＰアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い）等が登録され、自己が存在しないエリア（つまり、０ＸＸのエリア、２ＸＸのエリア、及び３ＸＸのエリア）には、夫々、他の任意のノードＮｎのノードＩＤ及びＩＰアドレス等が登録されている。
【００４２】
また、かかるノードＮ２のレベル２における１２Ｘのエリア（自己が存在するエリア）のテーブルには、図３に示すように、自己のノードＩＤ及びＩＰアドレス（ＩＰアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い）等が登録され、自己が存在しないエリア（つまり、１０Ｘのエリア、１１Ｘのエリア、及び１３Ｘのエリア）等には、夫々、他の任意のノードＮｎのノードＩＤ及びＩＰアドレス等が登録されている。
【００４３】
更に、かかるノードＮ２のレベル３には、図３に示すように、ノードＩＤが“１２０”〜“１２２”のノードＩＤ及びＩＰアドレス（ＩＰアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い）等が登録されている。
【００４４】
なお、図３及び図４の例では、ノードＩＤのｂｉｔ長を３桁×２ｂｉｔとしたので、レベル１〜３の３レベル分のテーブルで網羅できるが、ノードＩＤのｂｉｔ長が増せば、その分のテーブルが必要となる（例えば、ノードＩＤのｂｉｔ長を１６桁×４ｂｉｔとした場合、１６レベル分のテーブルが必要となる）。
【００４５】
このように、本実施形態におけるＤＨＴを用いたルーティングテーブルでは、レベルが上がるほど、エリアが狭まっていくようになっている。
【００４６】
また、このようなＤＨＴは、例えば、未参加のノードがコンテンツ分散保存システムＳＸ１に参加する際に与えられることになる。
【００４７】
ところで、コンテンツ分散保存システムＳＸ１においては、様々なコンテンツ（例えば、映画や音楽等）データが複数のノードＮｎに分散して保存（格納）されている（言い換えれば、コンテンツデータが複製されたレプリカが分散保存されている）。
【００４８】
例えば、ノードＮ１及びノードＮ５には、タイトルがＡＢＣの映画のコンテンツデータ（以下、「コンテンツＡＢＣ」という）が保存され、ノードＮ１０等には、タイトルがＸＸＸの映画のコンテンツデータ（以下、「コンテンツＸＸＸ」という）が保存され、ノードＮ３等には、タイトルがＹＹＹの映画のコンテンツデータ（以下、「コンテンツＹＹＹ」という）が保存されるというように、複数のノードＮｎ（以下、「コンテンツ保持ノード」という）に分散されて保存される。
【００４９】
また、これらのコンテンツデータには、夫々、コンテンツ名（タイトル）及びコンテンツＩＤ（コンテンツ毎に固有の識別情報）等の情報が付加されている。このコンテンツＩＤは、例えば、コンテンツ名＋任意の数値（或いは、当該コンテンツデータの先頭数バイトでも良い）が、上記ノードＩＤを得るときと共通のハッシュ関数によりハッシュ化されて生成される（ノードＩＤと同一のＩＤ空間に配置）。或いは、システム運営者が、コンテンツ毎に一意のＩＤ値（ノードＩＤと同一ビット長）を付与しても良い。この場合は、コンテンツ名とそのコンテンツＩＤの対応が書かれたコンテンツカタログ情報が、全ノードＮｎに配布される。
【００５０】
また、このように分散保存されているコンテンツデータの所在、つまり、当該コンテンツデータを保存したノードＮｎを示すノード情報（例えば、ＩＰアドレス及びポート番号等を含む）と当該コンテンツデータに対応するコンテンツＩＤ等の組が含まれるインデックス情報が、当該コンテンツデータの所在の管理元（つまり、コンテンツデータを送信可能なノードＮｎのノード情報を管理するノードＮｎ）としてのノードＮｎ（以下、「ルートノード」、又は「コンテンツ（コンテンツＩＤ）のルートノード」という）等により記憶（インデックスキャッシュに記憶）、管理されるようになっている。
【００５１】
例えば、コンテンツＡＢＣのインデックス情報は、そのコンテンツ（コンテンツＩＤ）のルートノードであるノードＮ４により管理され、コンテンツＸＸＸのインデックス情報は、そのコンテンツ（コンテンツＩＤ）のルートノードであるノードＮ６により管理される。つまり、コンテンツ毎にルートノードが分けられるので負荷分散が図らており、しかも、同一のコンテンツデータ（コンテンツＩＤが同一）が、夫々、複数のコンテンツ保持ノードに保存されている場合であっても、かかるコンテンツデータのインデックス情報は、一つのルートノードで管理することができる。
【００５２】
また、このようなルートノードは、例えば、コンテンツＩＤと最も近い（例えば、上位桁がより多く一致する）ノードＩＤを有するノードＮｎであるように定められる。
【００５３】
そして、あるノードＮｎのユーザが、所望するコンテンツデータを取得したい場合、当該コンテンツデータの取得を望むノードＮｎ（以下、「ユーザノード」という）は、当該ユーザにより選択（例えば、全てのノードＮｎに配信されているコンテンツカタログ情報（コンテンツ名とコンテンツＩＤ等が記述されており、例えばコンテンツ管理サーバ（図示せず）にて管理される）から選択）されたコンテンツデータのコンテンツＩＤ及び自己のノード情報を含むコンテンツ所在問合せ（検索）メッセージ（クエリ）を生成し、これを自己のＤＨＴを用いたルーティングテーブルにしたがって他のノードＮｎに対して送出する。つまり、ユーザノードは、コンテンツ所在問合せ（検索）メッセージを、ルートノードに向けて（ルートノード宛てに）送出する。これにより、コンテンツ所在問合せ（検索）メッセージは、コンテンツＩＤをキーとするＤＨＴルーティングによって最終的にルートノードに到着することになる。
【００５４】
なお、上記コンテンツ所在問合せ（検索）メッセージに含まれるコンテンツＩＤは、ユーザノードによって、コンテンツ名が上記共通のハッシュ関数によりハッシュ化されて生成されるようにしても良い。
【００５５】
図５は、ユーザノードから送出されたコンテンツ所在問合せ（検索）メッセージの流れの一例を、ＤＨＴのＩＤ空間にて示した概念図である。
【００５６】
図５の例において、例えば、ユーザノードであるノードＮ２は、自己のＤＨＴのレベル１のテーブルを参照して、コンテンツ所在問合せ（検索）メッセージに含まれるコンテンツＩＤと最も近い（例えば、上位桁がより多く一致する）ノードＩＤを有する例えばノードＮ３のノード情報に含まれるＩＰアドレス及びポート番号を取得し、そのＩＰアドレス及びポート番号宛てに、上記コンテンツ所在問合せ（検索）メッセージを送信する。
【００５７】
これに対して、ノードＮ３は、当該コンテンツ所在問合せ（検索）メッセージを受信し、自己のＤＨＴのレベル２のテーブルを参照して、当該コンテンツ所在問合せ（検索）メッセージに含まれるコンテンツＩＤと最も近い（例えば、上位桁がより多く一致する）ノードＩＤを有する例えばノードＮ４のノード情報に含まれるＩＰアドレス及びポート番号を取得し、そのＩＰアドレス及びポート番号宛てに、上記コンテンツ所在問合せ（検索）メッセージを転送する。
【００５８】
これに対して、ノードＮ４は、当該コンテンツ所在問合せ（検索）メッセージを受信し、自己のＤＨＴのレベル３のテーブルを参照して、当該コンテンツ所在問合せ（検索）メッセージに含まれるコンテンツＩＤと最も近い（例えば、上位桁がより多く一致する）ノードＩＤが自分である、つまり、自分がそのコンテンツＩＤのルートノードであることを認識すると、当該コンテンツ所在問合せ（検索）メッセージに含まれるコンテンツＩＤに対応するインデックス情報をインデックスキャッシュから取得して、当該インデックス情報を、該コンテンツ所在問合せメッセージの送信元であるユーザノードに対して返信する。これにより、ユーザノードは、所望のコンテンツデータを保存している上記コンテンツ保持ノードである例えばノードＮ１に対して、コンテンツ送信要求メッセージ（コンテンツデータの送信要求を示す要求情報）を送信し、そこから当該コンテンツデータの提供を受けることが可能になる。
【００５９】
或いは、ルートノードであるノードＮ４は、当該インデックス情報に含まれるノード情報に示されたコンテンツ保持ノードに対してコンテンツ送信要求メッセージ（ユーザノードのノード情報を含み、当該ユーザノードに対してコンテンツデータの送信要求を示す要求情報）を送信する。
【００６０】
これにより、ユーザノードは、上記コンテンツ保持ノードである例えばノードＮ１から当該コンテンツデータの提供を受けることが可能になる。
【００６１】
なお、上記ユーザノードは、コンテンツ所在問合せメッセージがルートノードに辿り着くまでの間に、当該ルートノードと同じインデックス情報をキャッシュしている中継ノード（例えば、ノードＮ３のキャッシュノード）から当該インデックス情報を取得（受信）することもできる。
【００６２】
ところで、分散保存されているコンテンツデータの数が少ない（レプリカを保存しているコンテンツ保持ノードの数が少ない）コンテンツデータについては、上記ユーザノードが、コンテンツ所在問合せ（検索）メッセージを他のノードＮｎに送出しても、そのルートノードから迅速に返答（上記インデックス情報）が得られない（例えば、返答に時間がかかったり、返答が帰ってこない等）場合や、得られても当該コンテンツ保持ノードへのアクセス集中により当該コンテンツデータを迅速に取得できない場合がある。このような場合、当該ユーザノードは、全てのコンテンツデータを管理しているコンテンツ管理サーバにアクセスして当該コンテンツデータを取得することも可能になっている。但し、コンテンツ管理サーバの負荷集中を避けるため、理想的にはノードＮｎ間でコンテンツデータの授受することが望ましい。
【００６３】
以上のようにしてコンテンツデータを取得、保存したユーザノードは、当該コンテンツデータを保存したことをそのルートノードに知らせるために（言い換えれば、自己が当該コンテンツデータを保持していることを、該システムＳＸ１に参加している他のノードＮｎに対して公開するために）、そのコンテンツデータのコンテンツＩＤ及び自己のノード情報等が含まれるパブリッシュ（登録通知）メッセージ（コンテンツデータを保存したので、ノード情報等の登録の要求を示す登録メッセージ）を生成し、該パブリッシュメッセージを、そのルートノードに向けて送出する。これにより、パブリッシュメッセージは、コンテンツ所在問合せ（検索）メッセージと同じように、コンテンツＩＤをキーとするＤＨＴルーティングによってルートノードに到着することになり、該ルートノードは、受信したパブリッシュメッセージに含まれるノード情報及びコンテンツＩＤの組を含むインデックス情報を登録（インデックスキャッシュ領域に記憶）することになる。こうして、上記ユーザノードは、新たに、上記コンテンツデータを保持するコンテンツ保持ノードとなる。
【００６４】
なお、上記パブリッシュメッセージに含まれるノード情報及びコンテンツＩＤの組を含むインデックス情報は、ルートノードに至るまでの転送経路における中継ノードにおいても登録（キャッシュ）される。
【００６５】
［１−２．ツリー型放送システムＳＸ２の構成及び機能等］
次に、ツリー型放送システムＳＸ２について詳しく説明する。
【００６６】
ツリー型放送システムＳＸ２においては、放送装置（放送局）であるノードＮｎ（例えば、図２に示すノードＮ１０）からストリーミング方式でコンテンツデータが配信され、上位階層のノードＮｎから下位階層のノードＮｎに順次転送（途中経路の各ノードＮｎにおいては、受信したコンテンツデータの各パケットをバッファリングしつつ、下位階層のノードＮｎに転送）され、各ノードＮｎにおいて再生されるようになっている。
【００６７】
このようなツリー型放送システムＳＸ２における各ノードＮｎ相互間の接続態様（トポロジー）は、放送管理サーバ１０（本発明のコンテンツデータの放送を管理する放送管理装置の一例）により管理されている。当該放送管理サーバ１０は、当該システムＳＸ２におけるコンテンツデータの放送を制御（言い換えれば、最上位の放送装置としてのノードＮｎによる放送を制御）する放送制御機能１０ａと、当該システムＳＸ２における接続先を各ノードＮｎに紹介する紹介機能１０ｂと、を有する。なお、紹介機能１０ｂについては別のサーバにより実現しても良い。
【００６８】
図６は、放送管理サーバ１０の概要構成例を示す図である。
【００６９】
放送管理サーバ１０は、図６に示すように、演算機能を有するＣＰＵ，作業用ＲＡＭ，各種データおよびプログラムを記憶するＲＯＭ等から構成されたコンピュータとしての制御部１０１と、各種データ（例えば、コンテンツデータ、インデックス情報、ＤＨＴ等）及び各種プログラム等を記憶保存（格納）するためのＨＤ等から構成された記憶手段としての記憶部１０２と、ネットワーク８を通じてノードＮｎとの間の情報の通信制御を行うための通信部１０３と、を備えて構成され、制御部１０１、記憶部１０２、及び通信部１０３はバス１０４を介して相互に接続されている。
【００７０】
記憶部１０２には、ツリー型放送システムＳＸ２に参加している各ノードＮｎを示すノード情報（例えば、ＩＰアドレス及びポート番号）、各ノードＮｎ相互間の接続態様（トポロジー）を示す接続態様情報、及びツリー型放送システムＳＸ２において放送すべきコンテンツデータの放送スケジュール等を規定した放送リスト（放送リストのデータベース）が記憶されている。
【００７１】
ここで、接続態様情報には、（i）ツリー型放送システムＳＸ２における階層構造において各ノードＮｎが位置する階層（例えば、図２に示すノードＮ１及びＮ１５は第１階層に、ノードＮ１１及びＮ１６等が第３階層に、夫々位置する）を示す階層情報と、（ii）各ノードＮｎ夫々の下位階層として接続されているノードＮｎ（例えば、図２に示すノードＮ１０には、ノードＮ１及びＮ１５が下位階層として接続されている）を示す下位装置情報と、（iii）各ノードＮｎの下位階層として接続可能なノードＮｎの接続許容数を示す接続許容数情報（図２に示すツリー型放送システムＳＸ２では、２つになっている、３つ以上でも良い）と、（iv）各ノードＮｎが他のノードＮｎへコンテンツデータを転送する転送能力を示す転送能力情報（例えば、ノードＮｎのＣＰＵの処理速度（ＭＨｚ）やネットワーク８における有効帯域（例えば、データ転送速度（ｂｐｓ））とが含まれている。
【００７２】
また、放送リストには、放送対象であるコンテンツデータのコンテンツ名（タイトル）と、放送時刻と、当該コンテンツデータを保存しているコンテンツ保持ノードであって放送装置の候補となるノードＮｎ（以下、「放送ノード候補」という）を示すノード情報と、放送ノード候補から選定された放送装置となるノードＮｎ（以下、「放送ノード」という）を示すノード情報と、がコンテンツデータ毎（内容の異なる）に、対応付けられて記述されている。
【００７３】
図７は、放送リストの内容を示す概念図である。図７の例では、コンテンツＸＸＸ、コンテンツＹＹＹ、コンテンツＺＺＺの放送順で放送されるようになっている、また、コンテンツＸＸＸの放送ノードとしては、放送ノード候補であるノードＮ１０、ノードＮ１５、及びコンテンツプール（上述したコンテンツ管理サーバ、或いは従来の放送局の放送サーバ）の中からノードＮ１０が選定されており、コンテンツＹＹＹの放送ノードとしては、放送ノード候補であるノードＮ３及びコンテンツプールの中からノードＮ３が選定されており、コンテンツＺＺＺの放送ノードとしては候補がないため、やむを得ずコンテンツプール（優先順位は一番低い）が選定されている。
【００７４】
なお、放送リストにより規定されるコンテンツデータの放送順序は、例えば、コンテンツ分散保存システムＳＸ１におけるコンテンツの人気ランキング情報に基づいて決定される（つまり、人気が高いほど放送順序が上位になる）。かかる人気ランキング情報は、例えば、各コンテンツデータのルートノードにより集計されたコンテンツデータの要求数（言い換えれば、インデックス情報をユーザノードに送信した回数）を、所定のサーバが収集して作成（要求数が多いほど人気が高い）する。或いは、コンテンツ分散保存システムＳＸ１において保存されているコンテンツデータが所定のコンテンツ鍵により暗号化されている場合、当該ユーザノードは、取得したコンテンツデータを復号するために当該コンテンツ鍵を鍵サーバに要求し、当該鍵サーバから提供されたコンテンツ鍵を取得することになるが、鍵サーバが、そのコンテンツ鍵の提供回数をコンテンツデータ毎に集計して、人気ランキング情報を作成するように構成しても良い。
【００７５】
なお、放送リストは、放送順序、放送対象であるコンテンツデータのコンテンツ名（タイトル）、及び放送時刻が記述された放送コンテンツリストと、上記放送順序及び当該コンテンツデータの放送ノード候補を示すノード情報及び放送ノードが記述された放送ノードリストに分けて管理されるものであっても良い。
【００７６】
以上の放送管理サーバ１０の構成において、制御部１０１は、ＣＰＵが記憶部１０２等に記憶されたプログラム（本発明の放送管理処理プログラムを含む）を読み出して実行することにより、全体を統括制御し、各ノードＮｎからの参加メッセージに応じて接続先を紹介する接続先紹介処理を行うようになっている。更に、制御部１０１は、本発明のノード特定手段、放送指示情報送信手段、切替指示情報送信手段、検索手段、ノード選定記述手段、及び接続時間情報取得手段等として機能し、後述する処理を行うようになっている。なお、上記放送管理処理プログラムは、例えば、ネットワーク８上の所定のサーバからダウンロードされるようにしてもよいし、例えば、ＣＤ−ＲＯＭ等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【００７７】
具体的には、制御部１０１は、ノードＮｎからの参加メッセージを受信すると、上記接続態様情報及び放送リストを参照して、当該ノードＮｎが接続すべき接続先となるノードＮｎを選択する。制御部１０１は、当該選択したノードＮｎのノード情報及び当該選択したノードＮｎの階層情報を含む接続先紹介メッセージを当該ノードＮｎに対して通信部１０３等を介して送信する（接続先を紹介）ようになっている。例えば、制御部１０１は、下位階層として接続されているノードＮｎの数が接続許容数に満たないノードＮｎを接続態様情報に基づき特定（例えば、より上位階層に位置するノードＮｎを優先して特定）する。特定されたノードＮｎが複数ある場合には、制御部１０１は、それらのノードＮｎから例えば転送能力が最も高いノードＮｎを一つ特定して（それらのノードＮｎからランダムに一つ特定しても良い）、これを接続先となるノードＮｎとして選択する。制御部１０１は、当該選択したノードＮｎのノード情報を接続態様情報から取得し、これを接続先紹介メッセージに含めて参加メッセージの送信元のノードＮｎに対して返信することになる。なお、接続先を最上位の放送ノードとする場合、放送リストに記述されている現時刻における放送ノードのノード情報を取得して、これを接続先紹介メッセージに含めて参加メッセージの送信元のノードＮｎに対して返信することになる（放送ノードは時刻によって変わるため）。
【００７８】
また、制御部１０１は、放送時刻（現在時刻に直近の放送時刻）の到来により放送されるべきコンテンツデータを保存している放送ノードを示すノード情報を上記放送リストから特定する。制御部１０１は、特定したノード情報に示される放送ノードに対して、コンテンツデータをツリー型放送システムＳＸ２における放送装置として放送させる指示を示す放送指示情報である放送開始指示メッセージ（当該コンテンツデータを示すコンテンツＩＤやコンテンツ名を含む）を通信部１０３等を介して送信するようになっている。これにより、当該放送開始指示メッセージを受信した放送ノードは下位階層に接続されるノードＮｎに対して当該コンテンツデータを放送することになる。
【００７９】
また、上記放送リストに記述された各コンテンツ名に対応する放送ノード候補（コンテンツプールは、検索するまでもなく予め記述されている）は、コンテンツ分散保存システムＳＸ１から検索される。例えば、制御部１０１が、放送リストに記述されるべきコンテンツデータに対応するコンテンツＩＤ及び自己のノード情報を含むコンテンツ所在問合せ（検索）メッセージ（クエリ）を生成し、当該メッセージを例えば予め設定された任意のノードＮｎに対して通信部１０３等を介して送出する（つまり、放送管理サーバ１０は、コンテンツ所在問合せ（検索）メッセージを、ルートノードに向けて（ルートノード宛てに）送出する）。これにより、コンテンツ所在問合せ（検索）メッセージは、コンテンツＩＤをキーとするＤＨＴルーティングによって最終的にルートノードに到着し、放送管理サーバ１０は、当該ルートノードからコンテンツ所在問合せ（検索）メッセージに含まれるコンテンツＩＤに対応するインデックス情報を取得する。こうして検索されたコンテンツ保持ノード（つまり、取得されたインデックス情報に記述されたコンテンツ保持ノード）のノード情報が、放送ノード候補のノード情報として、上記コンテンツデータの放送時刻に対応付けられて上記放送リストに記述されることになる。
【００８０】
但し、コンテンツ保持ノードが放送装置となるためには、放送装置として要求される帯域を消費できる必要があるため、制御部１０１は、検索された各コンテンツ保持ノードの有効帯域が上記要求される消費帯域（予め設定）を満たすコンテンツ保持ノード（つまり、放送装置として要求される帯域を消費可能なコンテンツ保持ノード）を放送ノード候補として選定し、そのノード情報を放送リストに記述することになる。なお、各コンテンツ保持ノードの有効帯域は、例えば、放送管理サーバ１０と上記コンテンツ保持ノード間で所定のデータを送受信してそのときのデータ伝送速度から決定される。或いは、別のサーバと上記コンテンツ保持ノード間で所定のデータを送受信して得られた有効帯域を放送管理サーバ１０が取得するようにしても良い。
【００８１】
また、例えば、図７に示すコンテンツＸＸＸのように、一つのコンテンツデータに対して、複数の放送ノード候補が放送リストに記述されている場合、夫々の放送ノード候補のうちの一つが放送ノードとして選定されることになるが、制御部１０１は、例えば、各放送ノード候補のネットワーク８への接続時間（電源オンによりコンテンツ分散保存システムＳＸ１に参加する形態の場合、通電時間）を比較し、当該比較結果に基づいて、例えば最も接続時間の長い放送ノード候補を放送ノードとして選定する。これは、接続時間の長いノードＮｎは、これからも電源を切らずに継続して参加することを期待できるため、コンテンツデータの放送を安定して行うことができるからである。或いは、最も接続時間の短い放送ノード候補を放送ノードとして選定するように構成しても良く、これは、コンテンツ分散保存システムＳＸ１に参加したばかりのノードＮｎはすぐには電源を切らずに継続して参加することを期待できるためである。なお、各放送ノード候補のネットワーク８への接続時間を示す接続時間情報は、夫々の放送ノード候補から取得される。
【００８２】
そして、現在放送されているコンテンツデータから次のコンテンツデータに切り替えられる放送時刻が到来した場合、制御部１０１は、当該次のコンテンツデータを保存している放送ノードを示すノード情報を放送リストから特定し、当該特定したノード情報に示される放送ノードに対して、次のコンテンツデータをツリー型放送システムＳＸ２における放送装置として放送させる指示を示す放送開始指示メッセージを通信部１０３等を介して送信する。このとき、制御部１１は、現在放送ノードに接続されている下位階層のノードＮｎに対して、次の放送ノードへ接続を切り替えさせる指示を示す切替指示情報としての切替指示メッセージ（次の放送ノードを示すノード情報を含む）を通信部１０３等を介して送信するようになっている。
【００８３】
図８は、放送ノードが切り替えられたときの様子を示す図である。
【００８４】
図８の例では、コンテンツＸＸＸの放送からコンテンツＹＹＹの放送に切り替えられたため、コンテンツＸＸＸの放送ノードであるノードＮ１０に接続していたノードＮ１及びノードＮ１５は、放送管理サーバ１０からの切替指示メッセージの受信により、接続先をノードＮ１０からノードＮ３（コンテンツＹＹＹの放送ノード）に切り替えている。なお、ノードＮ１又はノードＮ１５の下位階層（第２階層以下）のノードＮｎは接続先を切り替えなくとも良くなっている。
【００８５】
［２．ノードＮｎの構成及び機能等］
次に、図９を参照して、ノードＮｎの構成及び機能について説明する。
【００８６】
図９は、ノードＮｎの概要構成例を示す図である。
【００８７】
各ノードＮｎは、図９に示すように、演算機能を有するＣＰＵ，作業用ＲＡＭ，各種データおよびプログラムを記憶するＲＯＭ等から構成されたコンピュータとしての制御部１１と、各種データ（例えば、コンテンツデータ、インデックス情報、ＤＨＴ等）及び各種プログラム等を記憶保存（格納）するためのＨＤ等から構成された記憶部１２と、受信されたコンテンツデータ等を一時蓄積するバッファメモリ１３と、コンテンツデータに含まれるエンコードされたビデオデータ（映像情報）およびオーディオデータ（音声情報）等をデコード（データ伸張や復号化等）するデコーダ部１４と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部１５と、当該映像処理部１５から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等の表示部１６と、上記デコードされたオーディオデータをアナログオーディオ信号にＤ （Digital）／Ａ（Analog）変換した後これをアンプにより増幅して出力する音声処理部１７と、当該音声処理部１７から出力されたオーディオ信号を音波として出力するスピーカ１８と、ネットワーク８を通じて他のノードＮｎや放送管理サーバ１０等との間の情報の通信制御を行うための通信部２０と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部１１に対して与える入力部（例えば、キーボード、マウス、或いは、操作パネル等）２１と、を備えて構成され、制御部１１、記憶部１２、バッファメモリ１３、デコーダ部１４、通信部２０、及び入力部２１はバス２２を介して相互に接続されている。なお、ノードＮｎとしては、パーソナルコンピュータ、ＳＴＢ（Set Top Box）、或いは、ＴＶ受信機等を適用可能である。また、記憶部１２には、コンテンツ分散保存システムＳＸ１に参加する際のアクセス先となるコンタクトノードのＩＰアドレス及びポート番号と、ツリー型放送システムＳＸ２に参加する際にアクセス先となる放送管理サーバ１０のＩＰアドレス及びポート番号が記憶されている。
【００８８】
このような構成において、制御部１１は、ＣＰＵが記憶部１２等に記憶されたプログラムを読み出して実行することにより、全体を統括制御し、コンテンツ分散保存システムＳＸ１への参加により上述したユーザノード、中継ノード、ルートノード、キャッシュノード、及びコンテンツ保持ノードの少なくとも何れか一つのノードとしての処理を行うようになっている。
【００８９】
また、各ノードＮｎには上記放送リストに記述された各コンテンツデータのコンテンツ名、放送時刻、及び概要等が記述された放送スケジュール表（言い換えれば、放送番組表）が前もって配信され、当該放送スケジュール表は、ユーザからの入力部２１を介した指示により表示部１６に表示されるようになっている。そして、ユーザが、当該放送スケジュール表を見て、入力部２１を操作してツリー型放送システムＳＸ２への参加指示を行うと、制御部１１は、上述した参加メッセージを放送管理サーバ１０に通信部２０等を介して送信することになる。そして、当該制御部１１は、放送管理サーバ１０からの接続先紹介メッセージを通信部２０を介して受信し、当該接続先紹介メッセージにて示されたノード情報に基づき、自己の上位階層となるべきノードＮｎとの接続を確立し、当該ノードＮｎに対してコンテンツデータの転送要求を行うようになっている。
【００９０】
こうして、ツリー型放送システムＳＸ２への参加したノードＮｎにおいては、接続された上位階層のノードＮｎから転送（配信）されてきたコンテンツデータの各パケットが受信され、バッファリングされつつ、デコーダ部１４、映像処理部１５、表示部１６、音声処理部１７、及びスピーカ１８を通じて再生処理が行われ、下位階層のノードＮｎがある場合にはそのノードＮｎに当該コンテンツデータが転送されるようになっている。
【００９１】
なお、各ノードＮｎは、初めてツリー型放送システムＳＸ２に参加する場合ばかりでなく、電源ＯＦＦや通信不良等により自己が当該システムＳＸ２から脱退し、その後、該システムＳＸ２に再参加する場合、或いは、上位階層のノードＮｎが該システムＳＸ２から脱退や転送停止によりコンテンツデータの転送が途切れた場合も、放送管理サーバ１０に対して参加メッセージを送信し、該放送管理サーバ１０から接続先紹介メッセージを取得することになる。
【００９２】
また、制御部１１は、放送管理サーバ１０からの放送開始指示メッセージを受信した場合、当該放送開始指示メッセージにて示されたコンテンツデータを記憶部１２から読み出し、これを、自身の下位階層として接続される（コンテンツデータの転送要求があった）ノードＮｎに対して放送（ストリーム配信）するようになっている。
【００９３】
また、制御部１１は、放送管理サーバ１０からの切替指示メッセージを受信した場合、当該切替指示メッセージにて示された放送ノードのノード情報に基づき、当該放送ノードとの接続を確立してコンテンツデータの転送要求を行い、また、以前の放送ノードとの接続を切断する（接続の切り替え）ようになっている。
【００９４】
［３．ツリー型放送システムＳＸ２の動作］
次に、図１０乃至図１３等を参照して、本実施形態における通信システムＳの動作について説明する。
【００９５】
図１０（Ａ）は、放送管理サーバ１０の制御部１０１における放送リスト生成処理を示すフローチャートであり、図１０（Ｂ）は、コンテンツ保持ノードの制御部１１における帯域判定処理を示すフローチャートである。また、図１１は、放送管理サーバ１０の制御部１０１における接続先紹介処理を示すフローチャートである。また、図１２は、放送管理サーバ１０の制御部１０１における放送ノード切替処理を示すフローチャートであり、図１３は、放送ノード切替時における放送管理サーバ１０とノードＮｎ間のやり取りを時系列的に示したシーケンス図である。
【００９６】
（放送リスト生成処理）
先ず、図１０（Ａ）に示す放送リスト生成処理は、例えば上述した人気ランキング情報を作成（定期的に作成）した所定のサーバから送信された当該人気ランキング情報を放送管理サーバ１０が受信した場合に開始され、制御部１０１は、当該人気ランキング情報に基づいて放送対象となるコンテンツデータを選定（例えば、上位２０位まで）し、且つそれらの放送順序（例えば人気ランキング順）を決定する（ステップＳ１）。なお、放送対象となるコンテンツデータ及び放送順序は、上記人気ランキング情報を作成したサーバが行うようにしても良い。また、放送リストが放送コンテンツリストと放送ノードリストに分かれる場合、所定のサーバにおいて人気ランキング情報に基づき放送コンテンツリストが生成され、当該放送コンテンツリストが上記所定のサーバから受信された場合に、当該図１０（Ａ）に示す放送リスト生成処理が開始されることになる。
【００９７】
次いで、制御部１０１は、上記選定した各コンテンツデータを保存するコンテンツ保持ノードの検索処理を行う（ステップＳ２）。当該コンテンツ保持ノードの検索処理においては、制御部１０１は、例えば、選定したコンテンツデータ（或いは放送コンテンツリストにコンテンツ名が記述されたコンテンツデータ）に対応するコンテンツＩＤ等を含むコンテンツ所在問合せ（検索）メッセージ（クエリ）を、上述したように、ルートノードに向けて送出し、当該ルートノードからの送信されたインデックス情報を受信する。なお、かかるコンテンツ保持ノードの検索処理は、上記選定されたコンテンツデータ毎に行われる。
【００９８】
次いで、制御部１０１は、受信したインデックス情報にノード情報が記述されるコンテンツ保持ノードに対して帯域判定要求を行う（ノード情報に基づき帯域判定要求を示す帯域判定要求メッセージを送信）する（ステップＳ３）。なお、当該帯域判定要求は、上記選定されたコンテンツデータ毎に行われる（一つのコンテンツデータについて複数のコンテンツ保持ノードが検索された場合、これら全てのコンテンツ保持ノードに対して帯域判定要求が行われる）。
【００９９】
一方、コンテンツ保持ノードは、放送管理サーバ１０からの帯域判定要求を受けると（上記帯域判定要求メッセージを受信すると）、図１０（Ｂ）に示す帯域判定処理を開始し、制御部１１は、帯域判定を行う（ステップＳ１１）。例えば、コンテンツ保持ノードは自身と放送管理サーバ１０（他のサーバでも良い）との間で所定のデータを送受信して有効帯域を測定する。
【０１００】
次いで、制御部１１は、上記判定された帯域（測定された有効帯域）が放送装置として要求される消費帯域を満たすか否かを判別し（ステップＳ１２）、満たす場合には（ステップＳ１２：ＹＥＳ）、上記消費帯域を満たす旨が示された応答メッセージを放送管理サーバ１０に対して返信し（ステップＳ１３）、満たさない場合には（ステップＳ１２：ＮＯ）、上記消費帯域を満たさない旨が示された応答メッセージを放送管理サーバ１０に対して返信し（ステップＳ１４）、当該処理を終了する。
【０１０１】
一方、放送管理サーバ１０は、こうしてコンテンツ保持ノードから送信されてきた応答メッセージを受信する（ステップＳ４）。
【０１０２】
このような応答メッセージが、帯域判定要求された全てのコンテンツ保持ノードから受信されると、続いて、制御部１１は、各コンテンツデータ毎に、消費帯域を満たす旨が示された応答メッセージを送信したコンテンツ保持ノードを放送ノード候補として選定する（ステップＳ５）。
【０１０３】
次いで、制御部１１は、各コンテンツデータ毎に、予め設定された選定基準にしたがって、放送ノード候補のうちから最も優先度の高い一つの放送ノードを選定する（ステップＳ６）。例えば、上述したように、ネットワーク８への接続時間等に基づいて、接続時間の長い（或いは短い）放送ノードが優先的に選定される。なお、当該放送ノードの選定は、当該コンテンツデータの放送時刻（放送開始時刻）到来の直前に行うように構成しても良い。当該選定から放送時刻までの時間が長いと、その間に、選定した放送ノードがツリー型放送システムＳＸ２から脱退したり、優先度が高さが変わることが想定されるからである。
【０１０４】
次いで、制御部１１は、上記放送対象となる選定したコンテンツデータ毎のコンテンツ名及び放送時刻、並びに選定された放送ノード候補及び放送ノードのノード情報が記述された放送リストを生成（上記決定された放送順序にしたがって生成）し（ステップＳ７）、以前に生成され記憶されていた放送リストを更新（差分を更新）し（ステップＳ８）、当該処理を終了する。なお、放送リストが放送コンテンツリストと放送ノードリストに分かれる場合、ステップＳ７の処理では、放送順序、当該コンテンツデータの放送ノード候補を示すノード情報及び放送ノードが記述された放送ノードリストが生成されることになる。
【０１０５】
（接続先紹介処理）
次に、図１１に示す接続先紹介処理は、ノードＮｎから送信された参加メッセージを放送管理サーバ１０が受信した場合に開始され、制御部１０１は、上記接続態様情報及び放送リストを参照して、上述したように、当該ノードＮｎが接続すべき接続先となるノードＮｎを選択する（ステップＳ２１）。
【０１０６】
次いで、制御部１０１は、上記選択した接続先が放送ノードであるか（接続先として放送ノードを紹介するか）否かを判別し（ステップＳ２２）、放送ノードでない場合には（ステップＳ２２：ＮＯ）、当該選択した接続先であるノードＮｎのノード情報等を含む接続先紹介メッセージを当該ノードＮｎに対して送信し（接続先を紹介）（ステップＳ２３）し、当該処理を終了する。一方、上記選択した接続先が放送ノードである場合には（ステップＳ２２：ＹＥＳ）、制御部１０１は、放送リストを参照して（ステップＳ２４）、例えば現在放送中のコンテンツデータの放送ノード（又は次の放送すべきコンテンツデータの放送ノード）のノード情報を放送リストから取得し（ステップＳ２５）、当該放送ノードのノード情報を含む接続先紹介メッセージを当該ノードＮｎに対して送信し（接続先を紹介）（ステップＳ２６）し、当該処理を終了する。
【０１０７】
このように送信された接続先紹介メッセージを受信したノードＮｎは、当該接続先紹介メッセージにて示されたノード情報に基づき、自己の上位階層となるべきノードＮｎとの接続を確立し、当該ノードＮｎに対してコンテンツデータの転送要求を行うことになる。
【０１０８】
（放送ノード切替処理）
次に、図１２に示す放送ノード切替処理は、現在、ある放送ノードから放送されているコンテンツデータから次のコンテンツデータに切り替えられる放送時刻が到来した場合（実際には少し直前）に開始され、制御部１０１は、放送リストを参照して、図１３に示すように、現在の放送ノード及び次の放送ノードを特定し、特定した現在の放送ノード及び次の放送ノードのノード情報を取得し、更に接続態様情報を参照して現在の放送ノードに接続されている第１階層のノードＮｎを特定し、特定したノードＮｎのノード情報を取得する（ステップＳ３１）。
【０１０９】
次いで、制御部１０１は、上記特定したノード情報にしたがって、現在の放送ノードに対してコンテンツデータの放送終了させる指示を示す放送終了指示メッセージを送信し（ステップＳ３２Ａ）、且つ次の放送ノードに対してコンテンツデータの放送開始させる指示を示す放送開始指示メッセージを送信し（ステップＳ３２Ｂ）、且つ第１階層のノードＮｎ（放送ノードの下位ノード）に対して次の放送ノードへ接続を切り替えさせる指示を示す切替指示メッセージを送信し（ステップＳ３２Ｃ）、当該処理を終了する。これにより、第１階層のノードＮｎは放送ノードの接続の切り替えを行い、次の放送ノードは自身が保存しているコンテンツデータを当該第１階層のノードＮｎに対して放送することになる。このように、非同期に３つのイベント（メッセージの送信）を同時に発行することにより、例えば映像配信が途切れること無く、放送ノードを切り替えることができる。なお、コンテンツデータの放送終了時刻は放送ノードが判断できるので、放送終了指示メッセージは送信されないように構成しても構わないが、放送終了指示メッセージを送信する構成では、放送ノードの切り替えをより効率良く行うことができる。
【０１１０】
以上説明したように、上記実施形態によれば、ツリー型放送システムＳＸ２において放送されるコンテンツデータの放送時刻と、当該コンテンツデータをコンテンツ分散保存システムＳＸ１上で保存しているコンテンツ保持ノードを示すノード情報と、を記述した放送リストを記憶しておき、放送時刻の到来（例えば、現在放送されているコンテンツデータから次のコンテンツデータに切り替えられる放送時刻が到来）により放送されるべきコンテンツデータを保存しているコンテンツ保持ノードを放送ノードとして上記放送リストから特定し、当該放送ノードに対して、コンテンツデータをツリー型放送システムＳＸ２における放送装置として放送させる指示を示す放送開始指示メッセージを送信することによって、コンテンツ保持ノードである放送ノードに対してコンテンツデータを放送させるように構成したので、コンテンツデータ毎に放送ノードを分け、放送すべきコンテンツデータを特定の放送局に一括して持つ必要がなくすことができ、したがって、特定の放送局の負荷や、ネットワーク負荷を低減させることができる。
【０１１１】
また、上記実施形態によれば、放送ノード候補となるべきコンテンツ保持ノードを、各コンテンツデータ毎に、コンテンツ分散保存システムＳＸ１からＤＨＴルーティングにしたがって迅速に検索でき、ツリー型放送システムＳＸ２において有効に活用することができる。
【０１１２】
なお、上記実施形態におけるコンテンツ分散保存システムＳＸ１は、ＤＨＴを利用したアルゴリズムによって形成されることを前提として説明したが、本発明はこれに限定されるものではない。
【図面の簡単な説明】
【０１１３】
【図１】本実施形態に係る通信システムにおける各ノード装置の接続態様の一例を示す図である。
【図２】本実施形態に係る通信システムＳの概念図である。
【図３】ノードＮ２が保持するＤＨＴを用いたルーティングテーブルの一例を示す図である。
【図４】ＤＨＴのＩＤ空間の一例を示す概念図である。
【図５】ユーザノードから送出されたコンテンツ所在問合せ（検索）メッセージの流れの一例を、ＤＨＴのＩＤ空間にて示した概念図である。
【図６】放送管理サーバ１０の概要構成例を示す図である。
【図７】放送リストの内容を示す概念図である。
【図８】放送ノードが切り替えられたときの様子を示す図である。
【図９】ノードＮｎの概要構成例を示す図である。
【図１０】（Ａ）は、放送管理サーバ１０の制御部１０１における放送リスト生成処理を示すフローチャートであり、（Ｂ）は、コンテンツ保持ノードの制御部１１における帯域判定処理を示すフローチャートである。
【図１１】放送管理サーバ１０の制御部１０１における接続先紹介処理を示すフローチャートである。
【図１２】放送管理サーバ１０の制御部１０１における放送ノード切替処理を示すフローチャートである。
【図１３】放送ノード切替時における放送管理サーバ１０とノードＮｎ間のやり取りを時系列的に示したシーケンス図である。
【符号の説明】
【０１１４】
８  ネットワーク
９  オーバーレイネットワーク
１０  放送管理サーバ
１０ａ  放送制御機能  
１０ｂ  紹介機能
１１  制御部
１２  記憶部
１３  バッファメモリ
１４  デコーダ部
１５  映像処理部
１６  表示部
１７  音声処理部
１８  スピーカ
２０  通信部
２１  入力部
２２  バス
１０１  制御部
１０１  記憶部
１０３  通信部
１０４  バス
Ｎｎ  ノード
Ｓ  通信システム
ＳＸ１  コンテンツ分散保存システム
ＳＸ２  ツリー型放送システム
【図１】
2008236538.tif 000003
【図２】
2008236538.tif 000004
【図３】
2008236538.tif 000005
【図４】
2008236538.tif 000006
【図５】
2008236538.tif 000007
【図６】
2008236538.tif 000008
【図７】
2008236538.tif 000009
【図８】
2008236538.tif 000010
【図９】
2008236538.tif 000011
【図１０】
2008236538.tif 000012
【図１１】
2008236538.tif 000013
【図１２】
2008236538.tif 000014
【図１３】
2008236538.tif 000015