(57)【要約】      （修正有）【課題】ノード装置が、コンテンツ分散保存システムとツリー型放送システムの双方に参加する場合、ノード装置の処理負荷並びにノード装置が接続される回線負荷の増大を抑え、安定したコンテンツデータの提供を行う。【解決手段】コンテンツ分散保存システムを構成する複数のノード装置の参加により形成されたツリー型放送システムにおいて、ノード装置間の接続態様を管理する接続管理装置は、ノード装置がコンテンツ分散保存システムの他のノード装置に対して自己が保存しているコンテンツデータの提供中か否かを示すコンテンツ提供有無情報の記憶手段と、新たに参加するノード装置から送信された参加要求情報の受信手段と、コンテンツ提供有無情報を参照して、他のノード装置に対してコンテンツデータの提供中に無いノード装置を優先して接続先に決定する決定手段と、接続先ノード情報を、参加要求したノード装置に送信するノード情報送信手段と、を備える。【選択図】図７
2008244700.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンテンツデータが複数のノード装置に分散保存され、各前記ノード装置は他の前記ノード装置からの要求に応じて自己が保存しているコンテンツデータをネットワークを介して提供するようにしたコンテンツ分散保存システムにおける前記複数のノード装置の全部又は一部を含み複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型放送システムにおける前記ノード装置間の接続態様を管理する接続管理装置であって、
前記ツリー型放送システムに参加している前記ノード装置が前記コンテンツ分散保存システムにおいて他のノード装置に対して自己が保存しているコンテンツデータの提供中に有るか否かを示すコンテンツ提供有無情報を記憶する記憶手段と、
前記ツリー型放送システムへ新たに参加する前記ノード装置から送信された参加要求情報であって、当該ノード装置が接続すべき接続先となるノード装置を示すノード情報を要求する旨の参加要求情報を受信する参加要求情報受信手段と、
前記参加要求情報を送信したノード装置の接続先となるノード装置を決定する接続先決定手段であって、前記コンテンツ提供有無情報を参照して、前記コンテンツ分散保存システムにおいて他のノード装置に対してコンテンツデータの提供中に無いノード装置を優先して前記接続先として決定する接続先決定手段と、
前記決定した接続先となるノード装置を示すノード情報を、前記参加要求情報を送信したノード装置に対して送信するノード情報送信手段と、
を備えることを特徴とする接続管理装置。
【請求項２】
請求項１に記載の接続管理装置において、
前記参加要求情報には、当該参加要求情報を送信するノード装置が前記コンテンツ分散保存システムにおいて他のノード装置に対して自己が保存しているコンテンツデータの提供中に有るか否かを示すコンテンツ提供有無情報が含まれることを特徴とする接続管理装置。
【請求項３】
請求項１又は２に記載の接続管理装置において、
前記ツリー型放送システムに参加中の前記ノード装置から送信されたコンテンツ提供有情報であって、前記コンテンツ分散保存システムにおいて他のノード装置に対して自己が保存しているコンテンツデータの提供中に有ることを示すコンテンツ提供有情報を受信するコンテンツ提供有情報受信手段と、
前記受信されたコンテンツ提供有情報に基づいて、前記記憶されたコンテンツ提供有無情報を更新するコンテンツ提供有無情報更新手段と、
を更に備えることを特徴とする接続管理装置。
【請求項４】
請求項１又は２に記載の接続管理装置において、
前記ツリー型放送システムに参加中の前記ノード装置から送信されたコンテンツ提供終了情報であって、前記コンテンツ分散保存システムにおいて他のノード装置に対して自己が保存しているコンテンツデータの提供が終了したことを示すコンテンツ提供終了情報を受信するコンテンツ提供終了情報受信手段と、
前記受信されたコンテンツ提供終了情報に基づいて、前記記憶されたコンテンツ提供有無情報を更新するコンテンツ提供有無情報更新手段と、
を更に備えることを特徴とする接続管理装置。
【請求項５】
請求項１乃至４の何れか一項に記載の接続管理装置において、
前記ツリー型放送システムに参加中の前記ノード装置から送信された接続先変更要求情報であって、前記コンテンツ分散保存システムにおいて他のノード装置に対して自己が保存しているコンテンツデータを提供するために、前記ツリー型放送システムにおいて自己の下位階層として接続されているノード装置の接続先の変更要求を示す接続先変更要求情報を受信する接続先変更要求情報受信手段と、
前記受信された接続先変更要求情報に応じて、前記接続先変更要求情報を送信したノード装置の下位階層として接続されているノード装置の新たな接続先となるノード装置を決定する接続先変更決定手段と、
前記決定された新たな接続先となるノード装置を示すノード情報を含み、接続先の変更を示す接続先変更情報を、前記下位階層として接続されているノード装置に対して送信する接続先変更情報送信手段と、
を更に備えることを特徴とする接続管理装置。
【請求項６】
請求項５に記載の接続管理装置において、
前記接続先変更決定手段は、前記受信された接続先変更要求情報に応じて、前記接続先変更要求情報を送信したノード装置の新たな接続先となるノード装置を決定し、前記接続先変更情報送信手段は、当該決定された新たな接続先となるノード装置を示すノード情報を、前記接続先変更要求情報を送信したノード装置に対して送信することを特徴とする接続管理装置。
【請求項７】
請求項６に記載の接続管理装置において、
前記接続先変更決定手段は、前記接続先変更要求情報を送信したノード装置の下位階層として接続されているノード装置の新たな接続先として、前記接続先変更要求情報を送信したノード装置が接続されている上位階層のノード装置を決定し、且つ、前記接続先変更要求情報を送信したノード装置の新たな接続先として、当該ノード装置の下位階層として接続されているノード装置を決定することを特徴とする接続管理装置。
【請求項８】
請求項２に記載のツリー型放送システムに新たに参加するノード装置であって、
前記コンテンツ提供有無情報が含まれる前記参加要求情報を前記接続管理装置に対して送信する参加要求情報送信手段と、
前記参加要求情報に応じて、前記接続管理装置から送信されてきた、接続先となるノード装置を示すノード情報を受信するノード情報受信手段と、
を備えることを特徴とするノード装置。
【請求項９】
請求項５に記載のツリー型放送システムに参加しているノード装置であって、
前記コンテンツ分散保存システムにおいて他のノード装置からの要求に応じて自己が保存しているコンテンツデータを提供する際に、自己の下位階層として接続されているノード装置が有るか否かを判別する下位階層有無判別手段と、
自己の下位階層として接続されているノード装置が有る場合には、前記接続管理装置に対して前記接続先変更要求情報を送信する接続先変更要求情報送信手段と、
を備えることを特徴とするノード装置。
【請求項１０】
請求項１乃至７の何れか一項に記載の接続管理装置として機能させることを特徴とする接続管理処理プログラム。
【請求項１１】
請求項８又は９に記載のノード装置として機能させることを特徴とするノード処理プログラム。
【請求項１２】
複数のコンテンツデータが複数のノード装置に分散保存され、各前記ノード装置は他の前記ノード装置からの要求に応じて自己が保存しているコンテンツデータをネットワークを介して提供するようにしたコンテンツ分散保存システムにおける前記複数のノード装置の全部又は一部を含み複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型放送システムにおいて、
前記ツリー型放送システムに新たに参加するノード装置は、自己が接続すべき接続先となるノード装置を示すノード情報を要求する旨の参加要求情報を、前記ツリー型放送システムにおける前記ノード装置間の接続態様を管理する前記接続管理装置に対して送信する参加要求情報送信手段を備え、
前記接続管理装置は、
前記ツリー型放送システムに参加している前記ノード装置が前記コンテンツ分散保存システムにおいて他のノード装置に対して自己が保存しているコンテンツデータの提供中に有るか否かを示すコンテンツ提供有無情報を記憶する記憶手段と、
前記ノード装置から送信されてきた前記参加要求情報を受信する参加要求情報受信手段と、
前記参加要求情報を送信したノード装置の接続先となるノード装置を決定する接続先決定手段であって、前記コンテンツ提供有無情報を参照して、前記コンテンツ分散保存システムにおいて他のノード装置に対してコンテンツデータの提供中に無いノード装置を優先して前記接続先として決定する接続先決定手段と、
前記決定した接続先となるノード装置を示すノード情報を、前記参加要求情報を送信したノード装置に対して送信するノード情報送信手段と、
を備えることを特徴とするツリー型放送システム。
【請求項１３】
複数のコンテンツデータが複数のノード装置に分散保存され、各前記ノード装置は他の前記ノード装置からの要求に応じて自己が保存しているコンテンツデータをネットワークを介して提供するようにしたコンテンツ分散保存システムにおける前記複数のノード装置の全部又は一部を含み複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型放送システムにおける接続先決定方法であって、
前記ツリー型放送システムに新たに参加するノード装置は、自己が接続すべき接続先となるノード装置を示すノード情報を要求する旨の参加要求情報を、前記ツリー型放送システムにおける前記ノード装置間の接続態様を管理する前記接続管理装置に対して送信し、
前記接続管理装置は、
前記ツリー型放送システムに参加している前記ノード装置が前記コンテンツ分散保存システムにおいて他のノード装置に対して自己が保存しているコンテンツデータの提供中に有るか否かを示すコンテンツ提供有無情報を記憶し、
前記ノード装置から送信されてきた前記参加要求情報を受信し、
前記参加要求情報を送信したノード装置の接続先となるノード装置を決定する接続先決定手段であって、前記コンテンツ提供有無情報を参照して、前記コンテンツ分散保存システムにおいて他のノード装置に対してコンテンツデータの提供中に無いノード装置を優先して前記接続先として決定し、
前記決定した接続先となるノード装置を示すノード情報を、前記参加要求情報を送信したノード装置に対して送信することを特徴とする接続先決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア（Peer to Peer（P2P））型の通信システムの技術分野に関する。
【背景技術】
【０００２】
この種のピアツーピア型の通信システムにおいて、コンテンツデータを複数のノード装置に分散配置（分散保存）させておくコンテンツ分散保存システムが知られており、これにより、対故障性やアクセスの分散性を高められている。このように分散保存されたコンテンツデータの所在は、例えば特許文献１に開示されるような分散ハッシュテーブル（以下、ＤＨＴ（Distributed Hash Table）という）を利用して効率良く検索可能になっている。当該ＤＨＴは、各ノード装置に記憶されており、当該ＤＨＴには、各種メッセージの転送先となるべき複数のノード装置を示すノード情報（例えば、ＩＰアドレス及びポート番号を含む）が登録されている。
【０００３】
そして、コンテンツ分散保存システムに参加しているノード装置は、所望のコンテンツデータの取得を望む場合、当該コンテンツデータの所在を検索（発見）するためのメッセージ（クエリ）を他のノード装置に送出することにより、当該メッセージは、上記ＤＨＴにしたがって、複数の中継のノード装置により当該コンテンツデータの所在の管理元のノード装置に向かって転送され、最終的に当該メッセージが辿り着く上記管理元のノード装置からノード情報を取得することになる。これにより、当該メッセージを送出したノード装置は、上記検索に係るコンテンツデータを保存しているノード装置に対して、当該コンテンツデータを要求し、当該コンテンツデータの提供を受けることができる。
【０００４】
一方、従来から、例えば特許文献２に開示されるように、各ノード装置がネットワーク接続関係を認識するためのトポロジー情報を有しており、各ノード装置はトポロジー情報により認識した上位階層（上流）のノード装置に接続し、当該上位階層のノード装置から送信されるストリームデータを受信し、それを下位階層（下流）のノード装置に転送（中継）するツリー型放送（配信）システムも知られており、これにより、当該ツリー型の放送システムに参加している各ノード装置は、ストリーム配信されたコンテンツデータの提供を受け、再生することができるようになっている。
【特許文献１】特開２００６−１９７４００号公報
【特許文献２】特開２００６−３３５１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、今後、一つのノード装置が、上述したようなコンテンツ分散保存システムとツリー型放送システムの双方に参加する場合も考えられる。しかし、かかる場合、一つのノード装置が、ツリー型放送システムにおいて上位階層のノード装置から送信されてきたコンテンツデータを受信し再生しつつ下位階層のノード装置に転送（提供）する処理と、コンテンツ分散保存システムにおいて他のノード装置からのコンテンツデータの要求に応じて当該コンテンツデータを提供する処理とを同時に行う場合、当該ノード装置における処理負荷並びに当該ノード装置が接続される回線負荷が増大し、視聴中のコンテンツの再生が困難になったり、下位階層のノード装置への転送が不十分になり配信（放送）ツリーのトポロジーが崩れたりする等の問題が生じる可能性がある。
【０００６】
そこで、本発明は、以上の問題等に鑑みてなされたものであり、ノード装置が、コンテンツ分散保存システムとツリー型放送システムの双方に参加する場合であっても、当該ノード装置における処理負荷並びに当該ノード装置が接続される回線負荷の増大を抑え、安定したコンテンツデータの提供を行うことが可能なツリー型放送システム、接続先決定方法、接続管理装置、及び接続管理処理プログラム等を提供することを課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、請求項１に記載の発明は、複数のコンテンツデータが複数のノード装置に分散保存され、各前記ノード装置は他の前記ノード装置からの要求に応じて自己が保存しているコンテンツデータをネットワークを介して提供するようにしたコンテンツ分散保存システムにおける前記複数のノード装置の全部又は一部を含み複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型放送システムにおける前記ノード装置間の接続態様を管理する接続管理装置であって、前記ツリー型放送システムに参加している前記ノード装置が前記コンテンツ分散保存システムにおいて他のノード装置に対して自己が保存しているコンテンツデータの提供中に有るか否かを示すコンテンツ提供有無情報を記憶する記憶手段と、前記ツリー型放送システムへ新たに参加する前記ノード装置から送信された参加要求情報であって、当該ノード装置が接続すべき接続先となるノード装置を示すノード情報を要求する旨の参加要求情報を受信する参加要求情報受信手段と、前記参加要求情報を送信したノード装置の接続先となるノード装置を決定する接続先決定手段であって、前記コンテンツ提供有無情報を参照して、前記コンテンツ分散保存システムにおいて他のノード装置に対してコンテンツデータの提供中に無いノード装置を優先して前記接続先として決定する接続先決定手段と、前記決定した接続先となるノード装置を示すノード情報を、前記参加要求情報を送信したノード装置に対して送信するノード情報送信手段と、を備えることを特徴とする。
【０００８】
この発明によれば、接続管理装置は、ツリー型放送システムに参加している前記ノード装置が前記コンテンツ分散保存システムにおいて他のノード装置に対して自己が保存しているコンテンツデータの提供中に有るか否かを示すコンテンツ提供有無情報を記憶しておき、前記ツリー型放送システムへ新たに参加する前記ノード装置から送信された参加要求情報を受信すると、前記コンテンツ提供有無情報を参照して、前記コンテンツ分散保存システムにおいて他のノード装置に対してコンテンツデータの提供中に無いノード装置を優先して前記参加要求情報を送信したノード装置の接続先として決定し、前記決定した接続先となるノード装置を示すノード情報を、前記参加要求情報を送信したノード装置に対して送信するように構成したので、ノード装置が、コンテンツ分散保存システムとツリー型放送システムの双方に参加する場合であっても、当該ノード装置における処理負荷並びに当該ノード装置が接続される回線負荷の増大を抑え、安定したコンテンツデータの提供を行うことができる。
【０００９】
また、請求項２に記載の発明は、請求項１に記載の接続管理装置において、前記参加要求情報には、当該参加要求情報を送信するノード装置が前記コンテンツ分散保存システムにおいて他のノード装置に対して自己が保存しているコンテンツデータの提供中に有るか否かを示すコンテンツ提供有無情報が含まれることを特徴とする。
【００１０】
この発明によれば、前記ノード装置が前記ツリー型放送システムに参加する際に、コンテンツ提供有無情報を接続管理装置に通知できるので、接続管理装置は、各ノード装置のコンテンツ提供有無情報を効率良く取得することができる。
【００１１】
請求項３に記載の発明は、請求項１又は２に記載の接続管理装置において、前記ツリー型放送システムに参加中の前記ノード装置から送信されたコンテンツ提供有情報であって、前記コンテンツ分散保存システムにおいて他のノード装置に対して自己が保存しているコンテンツデータの提供中に有ることを示すコンテンツ提供有情報を受信するコンテンツ提供有情報受信手段と、前記受信されたコンテンツ提供有情報に基づいて、前記記憶されたコンテンツ提供有無情報を更新するコンテンツ提供有無情報更新手段と、を更に備えることを特徴とする。
【００１２】
この発明によれば、コンテンツ提供有無情報を常に最新の情報に維持することができる。
【００１３】
請求項４に記載の発明は、請求項１又は２に記載の接続管理装置において、前記ツリー型放送システムに参加中の前記ノード装置から送信されたコンテンツ提供終了情報であって、前記コンテンツ分散保存システムにおいて他のノード装置に対して自己が保存しているコンテンツデータの提供が終了したことを示すコンテンツ提供終了情報を受信するコンテンツ提供終了情報受信手段と、前記受信されたコンテンツ提供終了情報に基づいて、前記記憶されたコンテンツ提供有無情報を更新するコンテンツ提供有無情報更新手段と、を更に備えることを特徴とする。
【００１４】
この発明によれば、コンテンツ提供有無情報を常に最新の情報に維持することができる。
【００１５】
請求項５に記載の発明は、請求項１乃至４の何れか一項に記載の接続管理装置において、前記ツリー型放送システムに参加中の前記ノード装置から送信された接続先変更要求情報であって、前記コンテンツ分散保存システムにおいて他のノード装置に対して自己が保存しているコンテンツデータを提供するために、前記ツリー型放送システムにおいて自己の下位階層として接続されているノード装置の接続先の変更要求を示す接続先変更要求情報を受信する接続先変更要求情報受信手段と、前記受信された接続先変更要求情報に応じて、前記接続先変更要求情報を送信したノード装置の下位階層として接続されているノード装置の新たな接続先となるノード装置を決定する接続先変更決定手段と、前記決定された新たな接続先となるノード装置を示すノード情報を含み、接続先の変更を示す接続先変更情報を、前記下位階層として接続されているノード装置に対して送信する接続先変更情報送信手段と、を更に備えることを特徴とする。
【００１６】
この発明によれば、ツリー型放送システムに参加中のノード装置に対してコンテンツ分散保存システムにおける他のノード装置からコンテンツデータの提供要求があった場合にも、当該ノード装置の下位階層として接続されているノード装置を迅速に移動させることができるので、当該コンテンツデータの提供を行うノード装置における処理負荷並びに当該ノード装置が接続される回線負荷の増大を抑え、安定したコンテンツデータの提供を行うことができる。
【００１７】
請求項６に記載の発明は、請求項５に記載の接続管理装置において、前記接続先変更決定手段は、前記受信された接続先変更要求情報に応じて、前記接続先変更要求情報を送信したノード装置の新たな接続先となるノード装置を決定し、前記接続先変更情報送信手段は、当該決定された新たな接続先となるノード装置を示すノード情報を、前記接続先変更要求情報を送信したノード装置に対して送信することを特徴とする。
【００１８】
請求項７に記載の発明は、請求項６に記載の接続管理装置において、前記接続先変更決定手段は、前記接続先変更要求情報を送信したノード装置の下位階層として接続されているノード装置の新たな接続先として、前記接続先変更要求情報を送信したノード装置が接続されている上位階層のノード装置を決定し、且つ、前記接続先変更要求情報を送信したノード装置の新たな接続先として、当該ノード装置の下位階層として接続されているノード装置を決定することを特徴とする。
【００１９】
この発明によれば、ツリー型放送システムに参加中のノード装置に対してコンテンツ分散保存システムにおける他のノード装置からコンテンツデータの提供要求があった場合にも、当該ツリー型放送システムに参加中のノード装置に関わる接続を迅速に組み替え、安定したコンテンツデータの提供を行うことができる。
【００２０】
請求項８に記載の発明は、請求項２に記載のツリー型放送システムに新たに参加するノード装置であって、前記コンテンツ提供有無情報が含まれる前記参加要求情報を前記接続管理装置に対して送信する参加要求情報送信手段と、前記参加要求情報に応じて、前記接続管理装置から送信されてきた、接続先となるノード装置を示すノード情報を受信するノード情報受信手段と、を備えることを特徴とする。
【００２１】
請求項９に記載の発明は、請求項５に記載のツリー型放送システムに参加しているノード装置であって、前記コンテンツ分散保存システムにおいて他のノード装置からの要求に応じて自己が保存しているコンテンツデータを提供する際に、自己の下位階層として接続されているノード装置が有るか否かを判別する下位階層有無判別手段と、自己の下位階層として接続されているノード装置が有る場合には、前記接続管理装置に対して前記接続先変更要求情報を送信する接続先変更要求情報送信手段と、を備えることを特徴とする。
【００２２】
請求項１０に記載の接続管理処理プログラムの発明は、請求項１乃至７の何れか一項に記載の接続管理装置として機能させることを特徴とする。
【００２３】
請求項１１に記載のノード処理プログラムの発明は、請求項８又は９に記載のノード装置として機能させることを特徴とする。
【００２４】
請求項１２に記載の発明は、複数のコンテンツデータが複数のノード装置に分散保存され、各前記ノード装置は他の前記ノード装置からの要求に応じて自己が保存しているコンテンツデータをネットワークを介して提供するようにしたコンテンツ分散保存システムにおける前記複数のノード装置の全部又は一部を含み複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型放送システムにおいて、前記ツリー型放送システムに新たに参加するノード装置は、自己が接続すべき接続先となるノード装置を示すノード情報を要求する旨の参加要求情報を、前記ツリー型放送システムにおける前記ノード装置間の接続態様を管理する前記接続管理装置に対して送信する参加要求情報送信手段を備え、前記接続管理装置は、前記ツリー型放送システムに参加している前記ノード装置が前記コンテンツ分散保存システムにおいて他のノード装置に対して自己が保存しているコンテンツデータの提供中に有るか否かを示すコンテンツ提供有無情報を記憶する記憶手段と、前記ノード装置から送信されてきた前記参加要求情報を受信する参加要求情報受信手段と、前記参加要求情報を送信したノード装置の接続先となるノード装置を決定する接続先決定手段であって、前記コンテンツ提供有無情報を参照して、前記コンテンツ分散保存システムにおいて他のノード装置に対してコンテンツデータの提供中に無いノード装置を優先して前記接続先として決定する接続先決定手段と、前記決定した接続先となるノード装置を示すノード情報を、前記参加要求情報を送信したノード装置に対して送信するノード情報送信手段と、を備えることを特徴とする。
【００２５】
請求項１３に記載の発明は、複数のコンテンツデータが複数のノード装置に分散保存され、各前記ノード装置は他の前記ノード装置からの要求に応じて自己が保存しているコンテンツデータをネットワークを介して提供するようにしたコンテンツ分散保存システムにおける前記複数のノード装置の全部又は一部を含み複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層の前記ノード装置から下位階層の前記ノード装置に順次転送されるようにしたツリー型放送システムにおける接続先決定方法であって、前記ツリー型放送システムに新たに参加するノード装置は、自己が接続すべき接続先となるノード装置を示すノード情報を要求する旨の参加要求情報を、前記ツリー型放送システムにおける前記ノード装置間の接続態様を管理する前記接続管理装置に対して送信し、前記接続管理装置は、前記ツリー型放送システムに参加している前記ノード装置が前記コンテンツ分散保存システムにおいて他のノード装置に対して自己が保存しているコンテンツデータの提供中に有るか否かを示すコンテンツ提供有無情報を記憶し、前記ノード装置から送信されてきた前記参加要求情報を受信し、前記参加要求情報を送信したノード装置の接続先となるノード装置を決定する接続先決定手段であって、前記コンテンツ提供有無情報を参照して、前記コンテンツ分散保存システムにおいて他のノード装置に対してコンテンツデータの提供中に無いノード装置を優先して前記接続先として決定し、前記決定した接続先となるノード装置を示すノード情報を、前記参加要求情報を送信したノード装置に対して送信することを特徴とする。
【発明の効果】
【００２６】
本発明によれば、接続管理装置は、ツリー型放送システムに参加している前記ノード装置が前記コンテンツ分散保存システムにおいて他のノード装置に対して自己が保存しているコンテンツデータの提供中に有るか否かを示すコンテンツ提供有無情報を記憶しておき、前記ツリー型放送システムへ新たに参加する前記ノード装置から送信された参加要求情報を受信すると、前記コンテンツ提供有無情報を参照して、前記コンテンツ分散保存システムにおいて他のノード装置に対してコンテンツデータの提供中に無いノード装置を優先して前記参加要求情報を送信したノード装置の接続先として決定し、前記決定した接続先となるノード装置を示すノード情報を、前記参加要求情報を送信したノード装置に対して送信するように構成したので、ノード装置が、コンテンツ分散保存システムとツリー型放送システムの双方に参加する場合であっても、当該ノード装置における処理負荷並びに当該ノード装置が接続される回線負荷の増大を抑え、安定したコンテンツデータの提供を行うことができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、通信システムに本発明を適用した場合の実施形態である。
【００２８】
［１．通信システムの構成等］
始めに、図１等を参照して、本実施形態に係る通信システムの概要構成等について説明する。
【００２９】
図１は、本実施形態に係る通信システムにおける各ノード装置の接続態様の一例を示す図である。
【００３０】
図１の下部枠１０１内に示すように、ＩＸ（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）、或いは、ＴＶ受信機等を適用可能である。また、記憶部１２には、コンテンツ分散保存システムＳＸ１に参加する際のアクセス先となるコンタクトノードのＩＰアドレス及びポート番号と、ツリー型放送システムＳＸ２に参加する際にアクセス先となる接続管理サーバ１０のＩＰアドレス及びポート番号が記憶されている。
【００９２】
このような構成において、制御部１１は、ＣＰＵが記憶部１２等に記憶されたプログラム（本発明のノード処理プログラムを含む）を読み出して実行することにより、全体を統括制御し、コンテンツ分散保存システムＳＸ１への参加により上述したユーザノード、中継ノード、ルートノード、キャッシュノード、及びコンテンツ保持ノードの少なくとも何れか一つのノードとしての処理を行うようになっている。
【００９３】
また、各ノードＮｎには各コンテンツデータのコンテンツ名、放送時刻、及び概要等が記述された放送スケジュール表（言い換えれば、放送番組表）が前もって配信され、当該放送スケジュール表は、ユーザからの入力部２１を介した指示により表示部１６に表示されるようになっている。そして、ユーザが、当該放送スケジュール表を見て、入力部２１を操作してツリー型放送システムＳＸ２への参加指示を行うと、制御部１１は、上述した参加メッセージを接続管理サーバ１０に通信部２０等を介して送信することになる。このとき、制御部１１は、送信すべき参加メッセージに、コンテンツ分散保存システムＳＸ１において他のノードＮｎに対してコンテンツデータの提供中に有るか否か示すコンテンツ提供有無情報を含ませるようになっている。
【００９４】
そして、当該制御部１１は、接続管理サーバ１０からの接続先紹介メッセージを通信部２０を介して受信し、当該接続先紹介メッセージにて示されたノード情報に基づき、自己の上位階層となるべきノードＮｎとの接続を確立し、当該ノードＮｎに対してコンテンツデータの転送要求を行うようになっている。
【００９５】
こうして、ツリー型放送システムＳＸ２に参加したノードＮｎにおいては、接続された上位階層のノードＮｎから転送（配信）されてきたコンテンツデータの各パケットが受信され、バッファリングされつつ、デコーダ部１４、映像処理部１５、表示部１６、音声処理部１７、及びスピーカ１８を通じて再生処理が行われ、下位階層のノードＮｎがある場合にはそのノードＮｎに当該コンテンツデータが転送されるようになっている。
【００９６】
なお、各ノードＮｎは、初めてツリー型放送システムＳＸ２に参加する場合ばかりでなく、電源ＯＦＦや通信不良等により自己が当該システムＳＸ２から脱退し、その後、該システムＳＸ２に再参加する場合、或いは、上位階層のノードＮｎが該システムＳＸ２から脱退や転送停止によりコンテンツデータの転送が途切れた場合も、接続管理サーバ１０に対して参加メッセージを送信し、該接続管理サーバ１０から接続先紹介メッセージを取得することになる。
【００９７】
また、コンテンツ分散保存システムＳＸ１とツリー型放送システムＳＸ２との双方に参加中のノードＮｎが、コンテンツ分散保存システムＳＸ１において他のノードＮｎからの要求、つまり、上述したコンテンツ送信要求メッセージに応じて自己が保存しているコンテンツデータを提供する場合には、その制御部１１は、コンテンツ提供中（開始）メッセージを、通信部２０等を介して接続管理サーバ１０に送信する。また、コンテンツデータを提供する際、当該制御部１１は、自己の下位階層として接続されているノードＮｎが有るか否かを判別し、自己の下位階層として接続されているノードＮｎが有る場合には、コンテンツ提供中（開始）メッセージと共に上述した接続先変更要求メッセージを通信部２０等を介して接続管理サーバ１０に送信するようになっている。なお、或いはコンテンツ提供中（開始）メッセージに代えて接続先変更要求メッセージを接続管理サーバ１０に送信しても良い。
【００９８】
また、当該制御部１１は、コンテンツデータの提供が終了した場合には、上述したコンテンツ提供終了メッセージを通信部２０等を介して接続管理サーバ１０に送信することになる。
【００９９】
［３．通信システムＳの動作］
次に、図１０乃至図１４等を参照して、本実施形態における通信システムＳの動作について説明する。
【０１００】
図１０〜図１２は、ノードＮｎの制御部１１における処理を示すフローチャートであり、図１３及び図１４は、接続管理サーバ１０の制御部１０１における処理を示すフローチャートである。
【０１０１】
（ノードＮｎの処理）
先ず、図１０〜図１２を参照して、ノードＮｎの制御部１１における処理について説明する。
【０１０２】
図１０に示す処理は、任意のノードＮｎにおいて例えば電源オンになった場合に開始され、所定の初期化処理が行われた（ステップＳ１）後、コンテンツ分散保存システムＳＸ１への参加処理が実行される（ステップＳ２）。この参加処理においては、当該ノードＮｎの制御部１１は、記憶部１２からコンタクトノードのＩＰアドレス等を取得し、これに基づきコンタクトノードにネットワーク８を介して接続し、参加要求を示す参加メッセージを送信する。これにより、当該ノードＮｎには、当該システムＳＸ１に参加している他のノードＮｎからＤＨＴを用いたルーティングテーブルが送信されることになり、受信したルーティングテーブルに基づきＤＨＴを用いたルーティングテーブルを生成し、コンテンツ分散保存システムＳＸ１への参加が完了することになる。なお、ＤＨＴを用いたルーティングテーブルの生成方法は、本発明の直接の関係がないので、詳しい説明を省略する。
【０１０３】
次いで、制御部１１は、他のノードＮｎからコンテンツ提供要求があったか否かを判別する（ステップＳ３）。制御部１１は、コンテンツ分散保存システムＳＸ１におけるユーザノードからのコンテンツ提供要求、言い替えれば、コンテンツデータのアップロード要求があった場合、つまり、上述したコンテンツ送信要求メッセージを受信した場合には（ステップＳ３：ＹＥＳ）、図１１に示すステップＳ１１（１）へ移行し、コンテンツ提供要求がない場合には（ステップＳ３：ＮＯ）、ステップＳ４に進む。
【０１０４】
ステップＳ４では、制御部１１は、ツリー型放送システムＳＸ２への参加指示があったか否かを判別し、当該参加指示があった場合、例えば、ユーザから入力部２１を介して参加指示があった場合には（ステップＳ４：ＹＥＳ）、図１２に示すステップＳ３１（２）へ移行し、ツリー型放送システムＳＸ２への参加指示がない場合には（ステップＳ４：ＮＯ）、ステップＳ５に進む。
【０１０５】
ステップＳ５のその他の処理では、例えば上述した各種メッセージの送受信処理やユーザからの入力部２１を介した指示に応じた処理、例えばコンテンツデータの再生処理等が行われるが、本発明とは直接の関係がないので、詳しい説明は省略する。
【０１０６】
ステップＳ６では、制御部１１は、電源オフ指示があったか否かを判別し、電源オフ指示があった場合、例えば、ユーザから入力部２１を介した電源オフ指示があった場合には（ステップＳ６：ＹＥＳ）、当該処理を終了する。一方、電源オフ指示がない場合には（ステップＳ６：ＮＯ）、ステップＳ３に戻り、当該処理が継続する。
【０１０７】
上記ステップＳ３においてコンテンツ提供要求があった（ステップＳ３：ＹＥＳ）ことにより、図１１に示すステップＳ１１（１）に移行すると、制御部１１は、当該提供要求があったコンテンツデータを、記憶部１０２から読み出し通信部１０３等を介して、ノードに提供するコンテンツ提供処理を開始する。
【０１０８】
次いで、制御部１１は、当該コンテンツデータの提供が終了したか否かを判別し（ステップＳ１２）、終了した場合には（ステップＳ１２：ＹＥＳ）、図１０に示すステップＳ５（３）へ移行する。そして、終了していない場合には（ステップＳ１２：ＮＯ）、制御部１１は、ツリー型放送システムＳＸ２への参加、つまり、コンテンツデータの提供中のツリー型放送システムＳＸ２への参加指示があったか否かを判別する（ステップＳ１３）。
【０１０９】
そして、ツリー型放送システムＳＸ２への参加指示がない場合には（ステップＳ１３：ＮＯ）、ステップＳ１４へ進み、当該参加指示があった場合には（ステップＳ１３：ＹＥＳ）、ステップＳ１６へ進む。
【０１１０】
なお、ステップＳ１４では、上記ステップＳ５と同様の処理に加えてコンテンツデータの提供処理が行われ、ステップＳ１５は、上記ステップＳ６と同様である。ステップＳ１５で、電源オフ指示があった場合には（ステップＳ１５：ＹＥＳ）、当該処理が終了し、電源オフ指示がない場合には（ステップＳ１５：ＮＯ）、ステップＳ１２に戻り、当該処理が継続する。
【０１１１】
ステップＳ１６では、制御部１１は、記憶部１２から接続管理サーバ１０のＩＰアドレス等を取得し、これに基づき通信部２０及びネットワーク８を介して接続管理サーバ１０に接続し、ツリー型放送システムＳＸ２への参加要求を示す参加メッセージに、コンテンツデータの提供中に有ることを示す情報を含ませ、当該参加メッセージを接続管理サーバ１０に送信する。
【０１１２】
次いで、制御部１１は、当該参加メッセージに応じて接続管理サーバ１０から送信されてきた接続先紹介メッセージを受信し（ステップＳ１７）、当該接続先紹介メッセージにて示された接続先への接続処理を行う（ステップＳ１８）。当該接続処理においては、制御部１１は、当該接続先紹介メッセージにて示された接続先となる上位階層のノードＮｎのノード情報に基づき当該ノードＮｎに接続してコンテンツデータの転送要求を行い、これにより、当該ノードＮｎから転送されてきたコンテンツデータを受信して、再生処理を開始することになる。
【０１１３】
次いで、制御部１１は、コンテンツデータの提供が終了したか否かを判別し（ステップＳ１９）、終了した場合には（ステップＳ１９：ＹＥＳ）、ステップＳ２０に進み、終了していない場合には（ステップＳ１９：ＮＯ）、ステップＳ２１に進む。
【０１１４】
ステップＳ２０では、制御部１１は、上述したコンテンツ提供終了メッセージを、通信部２０及びネットワーク８を介して接続管理サーバ１０に送信し、図１２に示すステップＳ３４（６）に移行する。
【０１１５】
ステップＳ２１では、制御部１１は、ツリー型放送システムＳＸ２から離脱（脱退）するか否か判別し、離脱する場合、例えば、ユーザから入力部２１を介して離脱指示があった場合には（ステップＳ２１：ＹＥＳ）、ステップＳ２２に進み、離脱しない場合には（ステップＳ２１：ＮＯ）、ステップＳ２３に進む。
【０１１６】
ステップＳ２２では、制御部１１は、ツリー型放送システムＳＸ２からの離脱処理を行い、ステップＳ１２（５）に戻る。かかる離脱処理においては、例えば、ツリー型放送システムＳＸ２から離脱することを示す情報が、接続中にある上位階層のノードＮｎ及び接続管理サーバ１０に送信されることになる。
【０１１７】
なお、ステップＳ２３では、上記ステップＳ１４と同様の処理の加えて上位階層のノードＮｎから転送されてきたコンテンツデータの受信及び再生処理等が行われ、ステップＳ２４は、上記ステップＳ６と同様である。ステップＳ２４で、電源オフ指示があった場合には（ステップＳ２４：ＹＥＳ）、当該処理が終了し、電源オフ指示がない場合には（ステップＳ２４：ＮＯ）、ステップＳ１９に戻り、当該処理が継続する。
【０１１８】
上記ステップＳ４においてツリー型放送システムＳＸ２への参加指示があったことにより、図１２に示すステップＳ３１（２）に移行すると、制御部１１は、接続管理サーバ１０に接続し、ツリー型放送システムＳＸ２への参加要求を示す参加メッセージに、コンテンツデータの提供中に無いことを示す情報を含ませ、当該参加メッセージを接続管理サーバ１０に送信する。
【０１１９】
次いで、制御部１１は、当該参加メッセージに応じて接続管理サーバ１０から送信されてきた接続先紹介メッセージを受信し（ステップＳ３２）、上記ステップＳ１８と同様、当該接続先紹介メッセージにて示された接続先への接続処理を行う（ステップＳ３３）。
【０１２０】
次いで、制御部１１は、ツリー型放送システムＳＸ２から離脱（脱退）するか否か判別し（ステップＳ３４）、離脱する場合には（ステップＳ３４：ＹＥＳ）、ツリー型放送システムＳＸ２からの離脱処理を行い（ステップＳ３５）、図１０に示すステップＳ５（３）へ移行し、離脱しない場合には（ステップＳ３４：ＮＯ）、ステップＳ３６に進む。
【０１２１】
ステップＳ３６では、制御部１１は、接続管理サーバ１０からの接続先変更メッセージを受信したか否かを判別し、受信していない場合には（ステップＳ３６：ＮＯ）、ステップＳ３８に進み、受信した場合には（ステップＳ３６：ＹＥＳ）、接続先変更処理を行って（ステップＳ３７）からステップＳ３８に進む。かかる接続先変更処理においては、制御部１１は、当該接続先変更メッセージにて示された新たな接続先となる上位階層のノードＮｎのノード情報に基づき当該ノードＮｎに接続してコンテンツデータの転送要求を行い、続いて、以前の上位階層のノードＮｎとの接続を切断することになる（例えば図８に示す態様）。
【０１２２】
ステップＳ３８では、制御部１１は、他のノードＮｎからコンテンツ提供要求があったか否かを判別し（ステップＳ３と同様）、コンテンツ分散保存システムＳＸ１におけるユーザノードからのコンテンツ提供要求があった場合、つまり、上述したコンテンツ送信要求メッセージを受信した場合には（ステップＳ３８：ＹＥＳ）、ステップＳ４１に進み、コンテンツ提供要求がない場合には（ステップＳ３８：ＮＯ）、ステップＳ３９に進む。
【０１２３】
なお、ステップＳ３９では、上記ステップＳ５と同様の処理の加えて上位階層のノードＮｎから転送されてきたコンテンツデータの受信及び再生処理等が行われ、ステップＳ４０は、上記ステップＳ６と同様である。ステップＳ４０で、電源オフ指示があった場合には（ステップＳ４０：ＹＥＳ）、当該処理が終了し、電源オフ指示がない場合には（ステップＳ４０：ＮＯ）、ステップＳ３４に戻り、当該処理が継続する。
【０１２４】
ステップＳ４１では、制御部１１は、自己（自ノード）の下位階層として接続されているノードＮｎがあるか否かを判別し、ない場合、つまり、自ノードが最下層に位置する場合には（ステップＳ４１：ＮＯ）、ステップＳ４２に進み、ある場合には（ステップＳ４１：ＹＥＳ）、ステップＳ４３に進む。
【０１２５】
ステップＳ４２では、制御部１１は、上述したコンテンツ提供中メッセージを、通信部２０及びネットワーク８を介して接続管理サーバ１０に送信し、ステップＳ４６に進む。
【０１２６】
ステップＳ４３では、制御部１１は、自己の下位階層として接続されているノードＮｎの接続先を変更させるために、上述した接続先変更要求メッセージに、コンテンツデータの提供中になることを示す情報を含ませ、通信部２０及びネットワーク８を介して接続管理サーバ１０に送信する。
【０１２７】
ステップＳ４４では、制御部１１は、接続管理サーバ１０からの接続先変更メッセージを受信したか否かを判別し、受信していない場合には（ステップＳ４４：ＮＯ）、ステップＳ４６に進み、受信した場合、例えば、自身が送信した接続先変更要求メッセージによる図８に示すような接続の組み替えが行われる場合には（ステップＳ４４：ＹＥＳ）、接続先変更処理を行う（ステップＳ４５）。かかる接続先変更処理においては、制御部１１は、当該接続先変更メッセージにて示された新たな接続先となる上位階層のノードＮｎのノード情報に基づき当該ノードＮｎに接続してコンテンツデータの転送要求を行い、続いて、以前の上位階層のノードＮｎとの接続を切断することになる。
【０１２８】
ステップＳ４６では、制御部１１は、当該提供要求があったコンテンツデータを、記憶部１０２から読み出し通信部１０３等を介して、ユーザノードに提供するコンテンツ提供処理を開始する。
【０１２９】
次いで、制御部１１は、当該コンテンツデータの提供が終了したか否かを判別し（ステップＳ４７）、終了した場合には（ステップＳ４７：ＹＥＳ）、上述したコンテンツ提供終了メッセージを通信部２０及びネットワーク８を介して接続管理サーバ１０に送信し（ステップＳ４８）、ステップＳ３４（６）に戻り、終了していない場合には（ステップＳ４７：ＮＯ）、ステップＳ４９に進む。
【０１３０】
ステップＳ４９では、制御部１１は、ツリー型放送システムＳＸ２から離脱（脱退）するか否か判別し、離脱する場合には（ステップＳ４９：ＹＥＳ）、ステップＳ５０に進み、離脱しない場合には（ステップＳ４９：ＮＯ）、ステップＳ５１に進む。
【０１３１】
ステップＳ５０では、制御部１１は、ステップＳ２２と同様、ツリー型放送システムＳＸ２からの離脱処理を行い、ステップＳ１２（５）に移行する。
【０１３２】
なお、ステップＳ５１は、上記ステップＳ２３と同様であり、ステップＳ５２は、上記ステップＳ６と同様である。ステップＳ５２で、電源オフ指示があった場合には（ステップＳ５２：ＹＥＳ）、当該処理が終了し、電源オフ指示がない場合には（ステップＳ５２：ＮＯ）、ステップＳ４７に戻り、当該処理が継続する。
【０１３３】
（接続管理サーバ１０の処理）
次に、図１３及び図１４を参照して、接続管理サーバ１０の制御部１０１における処理について説明する。
【０１３４】
図１３に示す処理は、接続管理サーバ１０において例えば電源オンになった場合に開始され、所定の初期化処理が行われる（ステップＳ６１）。
【０１３５】
そして、制御部１０１は、ノードＮｎからの参加メッセージを受信したか否かを判別し（ステップＳ６２）、受信した場合には（ステップＳ６２：ＹＥＳ）、ステップＳ６３に進み、受信していない場合には（ステップＳ６２：ＮＯ）、ステップＳ６６に進む。
【０１３６】
ステップＳ６３では、制御部１０１は、接続先紹介処理を行う。かかる接続先紹介処理においては、図１４に示すように、制御部１０１は、全てのノードＮｎのコンテンツ提供有無情報及び接続態様情報を参照して、コンテンツデータの提供中に無いノードＮｎであって、且つ、現在、下位階層として接続されているノードＮｎの数が接続許容数に満たないノードＮｎを、接続先候補として検索する（ステップＳ６３１）。
【０１３７】
そして、制御部１１は、コンテンツデータの提供中に無いノードＮｎがあったか否かを判別し（ステップＳ６３２）、あった場合には（ステップＳ６３２：ＹＥＳ）、ステップＳ６３３に進み、ない場合には（ステップＳ６３２：ＮＯ）、ステップＳ６３４に進む。
【０１３８】
ステップＳ６３３では、制御部１０１は、コンテンツデータの提供中に無いノードＮｎを、参加メッセージを送信した新規参加ノードの接続先として決定する。但し、コンテンツデータの提供中に無いノードＮｎが複数ある場合には、制御部１０１はそれらのノードＮｎから例えば転送能力が最も高いノードＮｎを接続先として決定する。そして、制御部１０１は、当該接続先となるノードＮｎのノード情報等を含む接続先紹介メッセージを新規参加ノードに返信し、図１３の処理に戻る。
【０１３９】
一方、ステップＳ６３４では、制御部１０１は、当該新規参加ノードがコンテンツデータの提供中に有るか否かを判別し、提供中に有る場合には（ステップＳ６３４：ＹＥＳ）、ステップＳ６３５に進み、提供中に無い場合には（ステップＳ６３４：ＮＯ）、ステップＳ６３６に進む。
【０１４０】
ステップＳ６３５では、制御部１０１は、コンテンツデータの提供中に有るノードＮｎを新規参加ノードの接続先として決定する。つまり、制御部１０１は、コンテンツデータの提供中に無いノードＮｎがないので、やむをえず、コンテンツデータの提供中に有るノードＮｎであって、且つ、現在、下位階層として接続されているノードＮｎの数が接続許容数に満たないノードＮｎを接続先として決定する。そして、制御部１０１は、決定したノードＮｎのノード情報等を含む接続先紹介メッセージを新規参加ノードに返信し、図１３の処理に戻る。
【０１４１】
一方、ステップＳ６３６では、制御部１０１は、コンテンツデータの提供中に有るノードＮｎが接続されている上位階層のノードＮｎを新規参加ノードの接続先として決定し、そのノード情報等を含む接続先紹介メッセージを新規参加ノードに返信する。続いて、制御部１０１は、該コンテンツデータの提供中に有るノードＮｎの新たな接続先として新規参加ノードを決定し（例えば、図７（Ｂ）に示す態様）、そのノード情報等を含む接続先変更メッセージを、該コンテンツデータの提供中に有るノードＮｎに返信し（ステップＳ６３７）、図１３の処理に戻る。
【０１４２】
図１３のステップＳ６４では、制御部１０１は、新規参加ノードのノード情報、接続態様情報、及びコンテンツ提供有無情報を登録、つまり、記憶部１０２における所定の領域に設定し、ステップＳ６５に進む。
【０１４３】
ステップＳ６６では、制御部１０１は、ノードＮｎからの接続先変更要求メッセージを受信したか否かを判別し、受信した場合には（ステップＳ６６：ＹＥＳ）、ステップＳ６７に進み、受信していない場合には（ステップＳ６６：ＮＯ）、ステップＳ７１に進む。
【０１４４】
ステップＳ６７では、制御部１０１は、接続先変更要求メッセージを送信した接続変更要求元ノードの下位階層に接続されるノードＮｎの新たな接続先となるノードＮｎを決定し、そのノード情報等を含む接続先変更メッセージを、該下位階層に接続されるノードＮｎに送信する。
【０１４５】
次いで、制御部１０１は、接続変更要求元ノードの接続先も変更するか否かを判別し、例えば予め設定された情報から判別し（ステップＳ６８）、変更する場合には（ステップＳ６８：ＹＥＳ）、ステップＳ６９に進み、変更しない場合には（ステップＳ６８：ＮＯ）、ステップＳ７０に進む。
【０１４６】
ステップＳ６９では、接続変更要求元ノードの新たな接続先となるノードＮｎを決定し、そのノード情報等を含む接続先変更メッセージを、接続変更要求元ノードに返信し（例えば、図８に示す態様）、ステップＳ７０に進む。
【０１４７】
ステップＳ７０では、制御部１０１は、接続変更要求元ノードのコンテンツ提供有無情報を「有」に設定し、ステップＳ６５に移行する。
【０１４８】
ステップＳ７１では、制御部１０１は、ノードＮｎからのコンテンツ提供中メッセージを受信したか否かを判別し、受信した場合には（ステップＳ７１：ＹＥＳ）、当該ノードＮｎのコンテンツ提供有無情報を「有」に設定し（ステップＳ７０）、ステップＳ６５に進み、受信していない場合には（ステップＳ７１：ＮＯ）、ステップＳ７２に進む。
【０１４９】
ステップＳ７２では、制御部１０１は、ノードＮｎからのコンテンツ提供終了メッセージを受信したか否かを判別し、受信した場合には（ステップＳ７２：ＹＥＳ）、当該ノードＮｎのコンテンツ提供有無情報を「無」に設定し（ステップＳ７３）、ステップＳ６５に進み、受信していない場合には（ステップＳ７２：ＮＯ）、ステップＳ６５に移行する。
【０１５０】
ステップＳ６５では、電源オフ指示があったか否かが判別され、電源オフ指示があった場合には（ステップＳ６５：ＹＥＳ）、当該処理が終了し、電源オフ指示がない場合には（ステップＳ６５：ＮＯ）、ステップＳ６２に戻り、当該処理が継続する。
【０１５１】
以上説明したように、上記実施形態によれば、接続管理サーバ１０は、ツリー型放送システムＳＸ２に参加しているノードＮｎがコンテンツ分散保存システムＳＸ１においてコンテンツデータの提供中に有るか否かを示すコンテンツ提供有無情報を記憶、管理しておき、新規参加ノードからの参加メッセージを受信すると、上記コンテンツ提供有無情報を参照して、コンテンツ分散保存システムＳＸ１において他のノードＮｎに対してコンテンツデータの提供中に無いノードＮｎを優先して新規参加ノードの接続先として決定し、決定した接続先となるノードＮｎを示すノード情報を含む接続先紹介メッセージを送信して接続先を紹介するように構成したので、ノードＮｎが、コンテンツ分散保存システムＳＸ１とツリー型放送システムＳＸ２の双方に参加している場合であっても、当該ノードＮｎにおける処理負荷並びに当該ノードＮｎが接続される回線負荷の増大を抑え、安定したコンテンツデータの提供を行うことができる。
【０１５２】
また、上記コンテンツ提供有無情報が参加メッセージに含まれるように構成したので、ノードＮｎがツリー型放送システムＳＸ２に参加する際に、コンテンツ提供有無情報を接続管理サーバ１０に通知することができ、接続管理サーバ１０は、ツリー型放送システムＳＸ２に参加する各ノードＮｎのコンテンツ提供有無情報を効率良く取得することができる。
【０１５３】
また、ツリー型放送システムＳＸ２に参加中の各ノードＮｎは、コンテンツ分散保存システムＳＸ１において他のノードＮｎにコンテンツデータを提供する場合に、コンテンツ提供中（開始）メッセージを接続管理サーバ１０に送信し、コンテンツデータの提供が終了した場合に、コンテンツ提供終了メッセージを接続管理サーバ１０に送信するように構成したので、接続管理サーバ１０は、各ノードＮｎのコンテンツ提供有無情報を常に最新の状態に維持することができる。
【０１５４】
また、ツリー型放送システムＳＸ２に参加中の各ノードＮｎは、コンテンツデータを提供する際、自己の下位階層として接続されているノードＮｎが有るか否かを判別し、自己の下位階層として接続されているノードＮｎが有る場合には、接続先変更要求メッセージを接続管理サーバ１０に送信し、接続管理サーバ１０は、これに応じて、当該ノードＮｎの下位階層として接続されているノードＮｎの新たな接続先となるノードＮｎを決定し、決定した新たな接続先となるノードＮｎを示すノード情報を含み接続先の変更を示す接続先変更メッセージを、当該下位階層として接続されているノードＮｎに対して送信して接続先を変更させるように構成したので、当該コンテンツデータの提供を行うノードＮｎにおける処理負荷並びに当該ノードＮｎが接続される回線負荷の増大を抑え、安定したコンテンツデータの提供を行うことができる。このとき、接続変更要求元ノードの下位階層として接続されているノードＮｎの新たな接続先として、当該接続変更要求元ノードが接続されている上位階層のノードＮｎとし、当該接続変更要求元ノードの新たな接続先として、当該接続変更要求元ノードの下位階層として接続されているノードＮｎとするように構成すれば、より迅速に接続の組み替えを行って、コンテンツ分散保存システムＳＸ１における他のノードＮｎからのコンテンツデータの提供要求に応じることができる。
【０１５５】
なお、上記実施形態におけるコンテンツ分散保存システムＳＸ１は、ＤＨＴを利用したアルゴリズムによって形成されることを前提として説明したが、本発明はこれに限定されるものではない。
【図面の簡単な説明】
【０１５６】
【図１】本実施形態に係る通信システムにおける各ノード装置の接続態様の一例を示す図である。
【図２】本実施形態に係る通信システムＳの概念図である。
【図３】ノードＮ２が保持するＤＨＴを用いたルーティングテーブルの一例を示す図である。
【図４】ＤＨＴのＩＤ空間の一例を示す概念図である。
【図５】ユーザノードから送出されたコンテンツ所在問合せ（検索）メッセージの流れの一例を、ＤＨＴのＩＤ空間にて示した概念図である。
【図６】接続管理サーバ１０の概要構成例を示す図である。
【図７】新規参加ノードの接続先を示す概念図である。
【図８】接続先変更要求があった場合における接続の組み替えの様子を示す概念図である。
【図９】ノードＮｎの概要構成例を示す図である。
【図１０】ノードＮｎの制御部１１における処理を示すフローチャートである。
【図１１】ノードＮｎの制御部１１における処理を示すフローチャートである。
【図１２】ノードＮｎの制御部１１における処理を示すフローチャートである。
【図１３】接続管理サーバ１０の制御部１０１における処理を示すフローチャートである。
【図１４】接続管理サーバ１０の制御部１０１における処理を示すフローチャートである。
【符号の説明】
【０１５７】
８  ネットワーク
９  オーバーレイネットワーク
１０  接続管理サーバ
１１  制御部
１２  記憶部
１３  バッファメモリ
１４  デコーダ部
１５  映像処理部
１６  表示部
１７  音声処理部
１８  スピーカ
２０  通信部
２１  入力部
２２  バス
１０１  制御部
１０２  記憶部
１０３  通信部
１０４  バス
Ｎｎ  ノード
Ｓ  通信システム
ＳＸ１  コンテンツ分散保存システム
ＳＸ２  ツリー型放送システム
【図１】
2008244700.tif 000003
【図２】
2008244700.tif 000004
【図３】
2008244700.tif 000005
【図４】
2008244700.tif 000006
【図５】
2008244700.tif 000007
【図６】
2008244700.tif 000008
【図７】
2008244700.tif 000009
【図８】
2008244700.tif 000010
【図９】
2008244700.tif 000011
【図１０】
2008244700.tif 000012
【図１１】
2008244700.tif 000013
【図１２】
2008244700.tif 000014
【図１３】
2008244700.tif 000015
【図１４】
2008244700.tif 000016