(57)【要約】      （修正有）【課題】ノード装置が、コンテンツ分散保存システムとツリー型コンテンツ配信システムの双方に参加している場合であっても、安定したコンテンツデータの再生及び下位階層のノード装置への転送を行う。【解決手段】複数のノード装置の参加により形成されたコンテンツ分散保存システムであって、複数の第一コンテンツデータが複数のノード装置に分散保存され、且つ、複数のノード装置の参加により形成されたツリー型コンテンツ配信システムであって、配信装置を最上位として前記複数のノード装置が複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記第一コンテンツデータを記憶する記憶手段と、前記コンテンツ分散保存システムに参加している他のノード装置からの前記第一コンテンツデータの送信要求を示す要求情報を受信する受信手段と、前記要求情報を受信した場合には、当該送信要求に応じるか否かを決定する決定手段と、を備える。【選択図】図２
2008011147.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台のノードを運用できる。なお、ハッシュ関数については公知であるので詳しい説明を省略する。
【００６０】
また、各ノードＮｎは、夫々、ＤＨＴを用いたルーティングテーブルを保持している。このルーティングテーブルは、コンテンツ分散保存システムＳＸ１上における各種メッセージの転送先を規定しており、具体的には、ＩＤ空間内で適度に離れたノードＮｎのノードＩＤ、ＩＰアドレス及びポート番号を含むノード情報（転送先ノード情報）が複数登録されている。
【００６１】
コンテンツ分散保存システムＳＸ１に参加している１台のノードＮｎは、該システムＳＸ１に参加している全てのノードＮｎのうち、必要最低限のノードＮｎのノード情報をルーティングテーブルに登録しておき、ノード情報を知らない（記憶していない）ノードＮｎについては、各ノードＮｎ間で互いに各種メッセージを転送し合って届けてもらうようになっている。
【００６２】
ここで、図３及び図４を参照して、ＤＨＴを用いたルーティングテーブルについて詳しく説明する。
【００６３】
図３は、ノードＮ２が保持するＤＨＴを用いたルーティングテーブルの一例を示す図であり、図４は、ＤＨＴのＩＤ空間の一例を示す概念図である。
【００６４】
なお、図３及び図４の例においては、説明の便宜上、ノードＩＤのｂｉｔ長を２ｂｉｔ×３桁＝６ｂｉｔとし、各桁を４進数（０〜３の整数）で表している（実際には、もっと長いｂｉｔ長を用い、各桁も例えば４ｂｉｔに区切って０〜ｆの１６進数で表現する）。
【００６５】
図３の例において、ＤＨＴを用いたルーティングテーブルは、レベル１〜レベル３のテーブルからなり（複数のレベルに区分されており）、各レベルのテーブルエントリーには、エリア毎に、ノード情報として、ノードＩＤとこれに対応するノードＮｎのＩＰアドレス及びポート番号が対応付けられて登録されている。各レベルのテーブルにおける各エリアは、ＤＨＴのノードＩＤ空間を分割することにより得られるエリアである。例えば、図４に示すように、レベル１では、ＤＨＴのＩＤ空間全体が４分割され、“０００”〜“０３３”のノードＩＤが存在するエリアを０ＸＸのエリア、“１００”〜“１３３” のノードＩＤが存在するエリアを１ＸＸのエリア、“２００”〜“２３３” のノードＩＤが存在するエリアを２ＸＸのエリア、“３００”〜“３３３” のノードＩＤが存在するエリアを３ＸＸのエリアとする。また、レベル２では、レベル１のエリア（つまり、０ＸＸ〜３ＸＸのエリア）が更に４分割、例えば１ＸＸのエリアが４分割され、“１００”〜“１０３” のノードＩＤが存在するエリアを１０Ｘのエリア、“１１０”〜“１１３” のノードＩＤが存在するエリアを１１Ｘのエリア、“１２０”〜“１２３” のノードＩＤが存在するエリアを１２Ｘのエリア、“１３０”〜“１３３” のノードＩＤが存在するエリアを１３Ｘのエリアとする。
【００６６】
そして、例えば、ノードＮ２のノードＩＤが“１２２”とすると、図３に示すように、かかるノードＮ２のレベル１における１ＸＸのエリア（自己（つまり、自ノード）が存在するエリア）のテーブルには、自己のノードＩＤ及びＩＰアドレス（ＩＰアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い）等が登録され、自己が存在しないエリア（つまり、０ＸＸのエリア、２ＸＸのエリア、及び３ＸＸのエリア）には、夫々、他の任意のノードＮｎのノードＩＤ及びＩＰアドレス等が登録されている。
【００６７】
また、かかるノードＮ２のレベル２における１２Ｘのエリア（自己が存在するエリア）のテーブルには、図３に示すように、自己のノードＩＤ及びＩＰアドレス（ＩＰアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い）等が登録され、自己が存在しないエリア（つまり、１０Ｘのエリア、１１Ｘのエリア、及び１３Ｘのエリア）等には、夫々、他の任意のノードＮｎのノードＩＤ及びＩＰアドレス等が登録されている。
【００６８】
更に、かかるノードＮ２のレベル３には、図３に示すように、ノードＩＤが“１２０”〜“１２２”のノードＩＤ及びＩＰアドレス（ＩＰアドレスは自分のものであるので、当該ルーティングテーブルに登録しなくても良い）等が登録されている。
【００６９】
なお、図３及び図４の例では、ノードＩＤのｂｉｔ長を３桁×２ｂｉｔとしたので、レベル１〜３の３レベル分のテーブルで網羅できるが、ノードＩＤのｂｉｔ長が増せば、その分のテーブルが必要となる（例えば、ノードＩＤのｂｉｔ長を１６桁×４ｂｉｔとした場合、１６レベル分のテーブルが必要となる）。
【００７０】
このように、本実施形態におけるＤＨＴを用いたルーティングテーブルでは、レベルが上がるほど、エリアが狭まっていくようになっている。
【００７１】
また、このようなＤＨＴは、例えば、未参加のノードがコンテンツ分散保存システムＳＸ１に参加する際に与えられることになる。
【００７２】
ところで、コンテンツ分散保存システムＳＸ１においては、様々なコンテンツ（例えば、映画や音楽等）データＣ１が複数のノードＮｎに分散して保存（格納）されている（言い換えれば、コンテンツデータＣ１が複製されその複製情報であるレプリカが分散保存されている）。なお、コンテンツデータＣ１は、コンテンツ分散保存システムＳＸ１に参加している複数のノードＮｎ間で共用すべきプログラムやデータファイル等であっても良く、特に限定されるものではない。
【００７３】
例えば、ノードＮ１及びノードＮ５には、タイトルがＸＸＸの映画のコンテンツデータＣ１が保存されており、一方、ノードＮ３には、タイトルがＹＹＹの映画のコンテンツデータＣ１が保存されるというように、複数のノードＮｎ（以下、「コンテンツ保持ノード」という）に分散されて保存される。
【００７４】
また、これらのコンテンツデータＣ１には、夫々、コンテンツ名（タイトル）及びコンテンツＩＤ（コンテンツ毎に固有の識別情報）等の情報が付加されている。このコンテンツＩＤは、例えば、コンテンツ名＋任意の数値（或いは、当該コンテンツデータＣ１の先頭数バイトでも良い）が、上記ノードＩＤを得るときと共通のハッシュ関数によりハッシュ化されて生成される（ノードＩＤと同一のＩＤ空間に配置）。或いは、システム運営者が、コンテンツ毎に一意のＩＤ値（ノードＩＤと同一ビット長）を付与しても良い。この場合は、コンテンツ名とそのコンテンツＩＤの対応が書かれた「コンテンツリスト」が、全ノードＮｎに配布される。
【００７５】
また、このように分散保存されているコンテンツデータＣ１の所在、つまり、当該コンテンツデータＣ１を保存したノードＮｎの所在情報を示すノード情報（例えば、ＩＰアドレス及びポート番号等を含む）と当該コンテンツデータＣ１に対応するコンテンツＩＤ等の組が含まれるインデックス情報が、当該コンテンツデータＣ１の所在の管理元（つまり、コンテンツデータＣ１を送信可能なノードＮｎの所在情報を管理する第一管理装置）としてのノードＮｎ（以下、「ルートノード」、又は「コンテンツ（コンテンツＩＤ）のルートノード」という）等により記憶（インデックスキャッシュに記憶）、管理されるようになっている。
【００７６】
例えば、タイトルがＸＸＸの映画のコンテンツデータＣ１のインデックス情報は、そのコンテンツ（コンテンツＩＤ）のルートノードであるノードＮ４により管理され、タイトルがＹＹＹの映画のコンテンツデータＣ１のインデックス情報は、そのコンテンツ（コンテンツＩＤ）のルートノードであるノードＮ６により管理される。つまり、コンテンツ毎にルートノードが分けられるので負荷分散が図らており、しかも、同一のコンテンツデータＣ１（コンテンツＩＤが同一）が、夫々、複数のコンテンツ保持ノードに保存されている場合であっても、かかるコンテンツデータＣ１のインデックス情報は、一つのルートノードで管理することができる。このため、各ルートノードは、コンテンツ分散保存システムＳＸ１において自己がその所在を管理するコンテンツデータＣ１を送信可能なコンテンツ保持ノードの数を認識している。
【００７７】
また、このようなルートノードは、例えば、コンテンツＩＤと最も近い（例えば、上位桁がより多く一致する）ノードＩＤを有するノードＮｎであるように定められる。
【００７８】
そして、あるノードＮｎのユーザが、所望するコンテンツデータＣ１を取得したい場合、当該コンテンツデータＣ１の取得を望むノードＮｎ（以下、「ユーザノード」という）は、当該ユーザにより選択（例えば、全てのノードＮｎに配信されているコンテンツリスト（コンテンツ名とコンテンツＩＤ等が記述されており、例えばコンテンツリスト管理サーバ（図示せず）にて管理される）から選択）されたコンテンツデータＣ１のコンテンツＩＤ及び自己のノード情報を含むコンテンツ所在問合せ（検索）メッセージ（クエリ）を生成し、これを自己のＤＨＴを用いたルーティングテーブルにしたがって他のノードＮｎに対して送出する。つまり、ユーザノードは、コンテンツ所在問合せ（検索）メッセージを、ルートノードに向けて送出する。これにより、コンテンツ所在問合せ（検索）メッセージは、コンテンツＩＤをキーとするＤＨＴルーティングによって最終的にルートノードに到着することになる。
【００７９】
なお、上記コンテンツ所在問合せ（検索）メッセージに含まれるコンテンツＩＤは、ユーザノードによって、コンテンツ名が上記共通のハッシュ関数によりハッシュ化されて生成されるようにしても良い。
【００８０】
図５は、ユーザノードから送出されたコンテンツ所在問合せ（検索）メッセージの流れの一例を、ＤＨＴのＩＤ空間にて示した概念図である。
【００８１】
図５の例において、例えば、ユーザノードであるノードＮ２は、自己のＤＨＴのレベル１のテーブル（図３に示すＤＨＴを用いたルーティングテーブルとは無関係）を参照して、コンテンツ所在問合せ（検索）メッセージに含まれるコンテンツＩＤと最も近い（例えば、上位桁がより多く一致する）ノードＩＤを有する例えばノードＮ３のノード情報に含まれるＩＰアドレス及びポート番号を取得し、そのＩＰアドレス及びポート番号宛てに、上記コンテンツ所在問合せ（検索）メッセージを送信する。
【００８２】
これに対して、ノードＮ３は、当該コンテンツ所在問合せ（検索）メッセージを受信し、自己のＤＨＴのレベル２のテーブルを参照して、当該コンテンツ所在問合せ（検索）メッセージに含まれるコンテンツＩＤと最も近い（例えば、上位桁がより多く一致する）ノードＩＤを有する例えばノードＮ４のノード情報に含まれるＩＰアドレス及びポート番号を取得し、そのＩＰアドレス及びポート番号宛てに、上記コンテンツ所在問合せ（検索）メッセージを転送する。
【００８３】
これに対して、ノードＮ４は、当該コンテンツ所在問合せ（検索）メッセージを受信し、自己のＤＨＴのレベル３のテーブルを参照して、当該コンテンツ所在問合せ（検索）メッセージに含まれるコンテンツＩＤと最も近い（例えば、上位桁がより多く一致する）ノードＩＤが自分である、つまり、自分がそのコンテンツＩＤのルートノードであることを認識すると、当該コンテンツ所在問合せ（検索）メッセージに含まれるコンテンツＩＤに対応するインデックス情報をインデックスキャッシュから取得して、当該インデックス情報を、該コンテンツ所在問合せメッセージの送信元であるユーザノードに対して返信する。これにより、ユーザノードは、所望のコンテンツデータＣ１を保存している上記コンテンツ保持ノードである例えばノードＮ１に対して、コンテンツ送信要求メッセージ（コンテンツデータＣ１の送信要求を示す要求情報）を送信し、そこから当該コンテンツデータＣ１の提供を受けることが可能になる。
【００８４】
或いは、ルートノードであるノードＮ４は、当該インデックス情報に含まれるノード情報に示されたコンテンツ保持ノードに対してコンテンツ送信要求メッセージ（ユーザノードのノード情報を含み、当該ユーザノードに対してコンテンツデータＣ１の送信要求を示す要求情報）を送信する。これにより、ユーザノードは、上記コンテンツ保持ノードである例えばノードＮ１から当該コンテンツデータＣ１の提供を受けることが可能になる。
【００８５】
なお、上記ユーザノードは、コンテンツ所在問合せメッセージがルートノードに辿り着くまでの間に、当該ルートノードと同じインデックス情報をキャッシュしている中継ノード（例えば、ノードＮ３のキャッシュノード）から当該インデックス情報を取得（受信）することもできる。
【００８６】
このようにしてコンテンツデータＣ１を取得、保存したユーザノードは、当該コンテンツデータＣ１を保存したことをそのルートノードに知らせるために（言い換えれば、自己が当該コンテンツデータＣ１を保持していることを、該システムＳＸ１に参加している他のノードＮｎに対して公開するために）、そのコンテンツデータＣ１のコンテンツＩＤ及び自己のノード情報等が含まれるパブリッシュ（登録通知）メッセージ（コンテンツデータを保存したので、ノード情報等の登録の要求を示す登録メッセージ）を生成し、該パブリッシュメッセージを、そのルートノードに向けて送出する。これにより、パブリッシュメッセージは、コンテンツ所在問合せ（検索）メッセージと同じように、コンテンツＩＤをキーとするＤＨＴルーティングによってルートノードに到着することになり、該ルートノードは、受信したパブリッシュメッセージに含まれるノード情報及びコンテンツＩＤの組を含むインデックス情報を登録（インデックスキャッシュ領域に記憶）することになる。こうして、上記ユーザノードは、新たに、上記コンテンツデータＣ１を保持するコンテンツ保持ノードとなる。
【００８７】
なお、上記パブリッシュメッセージに含まれるノード情報及びコンテンツＩＤの組を含むインデックス情報は、ルートノードに至るまでの転送経路における中継ノードにおいても登録（キャッシュ）される。
【００８８】
［１−２．ツリー型コンテンツ配信システムＳＸ２の構成及び機能等］
次に、図２等を参照して、ツリー型コンテンツ配信システムＳＸ２について説明する。
【００８９】
ツリー型コンテンツ配信システムＳＸ２においては、例えば、放送局装置１０からストリーミング方式でコンテンツデータＣ２が配信され、上位階層のノードＮｎから下位階層のノードＮｎに順次転送（途中経路の各ノードＮｎにおいては、受信したコンテンツデータＣ２の各パケットをバッファリングしつつ、下位階層のノードＮｎに転送）される。かかるコンテンツデータＣ２の配信元である放送局装置１０（第二管理装置の一例）は、ツリー型コンテンツ配信システムＳＸ２に参加している各ノードＮｎのノード情報（例えば、ＩＰアドレス及びポート番号）、各ノードＮｎ相互間の接続態様（トポロジー）及び接続状態を含む接続状態情報をデータベースを用いて管理している。なお、接続状態情報等は、放送局装置１０とは別の接続管理サーバによって管理されるようにしても良い。
【００９０】
具体的には、当該接続状態情報には、1)ツリー型コンテンツ配信システムＳＸ２における階層構造において各ノードＮｎが位置する階層（例えば、図２に示すノードＮ１０は、第１階層）を示す階層情報、2)各ノードＮｎ夫々の下位階層として直接接続されているノードＮｎ（例えば、図２に示すノードＮ１０には、ノードＮ１及びＮ１２が下位階層として直接接続されている）を示す下位装置情報、3)各ノードＮｎの下位階層として直接接続可能なノードＮｎの接続許容数を示す接続許容数情報（図２に示すツリー型コンテンツ配信システムＳＸ２では、２つになっている、３つ以上でもよい）、及び4)各ノードＮｎが他のノードＮｎへコンテンツデータＣ２を転送する転送能力を示す転送能力情報（例えば、ノードＮｎのＣＰＵの処理速度（ＭＨｚ）やネットワーク８における有効帯域（例えば、データ転送速度（ｂｐｓ））等が含まれている。
【００９１】
そして、ツリー型コンテンツ配信システムＳＸ２への参加は、参加していないノードＮｎが、放送局装置１０に対して参加要求を示す参加メッセージを送信することによって行われる。放送局装置１０は、当該参加メッセージに応じて、上記接続状態情報を用いて、当該未参加のノードＮｎが接続すべき接続先となるノードＮｎを、後述する接続先紹介不可リストに登録されていないノードＮｎのうちから選択し、当該選択したノードＮｎのノード情報及び当該選択したノードＮｎの階層情報を含む接続先紹介メッセージ（接続先となるノードＮｎを紹介するための紹介情報の一例）を当該未参加のノードＮｎに対して送信する。
【００９２】
例えば、放送局装置１０は、当該ノードＮｎの下位階層として直接接続されているノードＮｎの数が接続許容数に満たないノードＮｎを特定（例えば、より上位階層に位置するノードＮｎを優先して特定）し、特定されたノードＮｎが複数ある場合には、それらのノードＮｎから例えば転送能力が最も高いノードＮｎを一つ特定して（それらのノードＮｎからランダムに一つ特定しても良い）、これを接続先となるノードＮｎとして選択する。
【００９３】
こうして、上記放送局装置１０から接続先紹介メッセージを受信した未参加のノードＮｎ（例えば、ノードＮ１５）は、当該接続先紹介メッセージに含まれるノード情報に基づき、既参加のノードＮｎ（例えば、ノードＮ１）との接続を確立し、当該既参加のノードＮｎ（例えば、ノードＮ１）に対してコンテンツデータＣ２の転送要求を行う。こうして、未参加のノードＮｎ（例えば、ノードＮ１５）は、新たに、ツリー型コンテンツ配信システムＳＸ２に参加することになり、既参加のノードＮｎ（例えば、ノードＮ１）から転送（配信）されてきたコンテンツデータＣ２を受信することになる。
【００９４】
なお、未参加のノードＮｎは、初めてツリー型コンテンツ配信システムＳＸ２に参加する場合ばかりでなく、電源ＯＦＦや通信不良等により自己が当該システムＳＸ２から脱退し、その後、該システムＳＸ２に再参加する場合、或いは、上位階層のノードＮｎが該システムＳＸ２から脱退や転送停止によりコンテンツデータＣ２の転送が途切れた場合も、放送局装置１０に対して参加メッセージを送信し、該放送局装置１０から接続先紹介メッセージを取得することになる。
【００９５】
なお、ツリー型コンテンツ配信システムＳＸ２におけるツリー状のトポロジーは、放送局装置毎、言い換えれば、放送チャンネル毎に形成される（図２に示す例では、１つの放送チャンネルのみ示している）ようになっており（但し、１つの放送局装置で複数の放送チャンネルを賄う場合もある）、例えば既参加のノードＮｎにおいてユーザにより放送チャンネルが切り替えられた場合には、当該ノードＮｎは、切り替え後の放送チャンネルに対応する放送局装置に対して参加メッセージを送信し、該放送局装置から接続先紹介メッセージを取得することになる。
【００９６】
［２．ノードＮｎの構成及び機能等］
次に、図６を参照して、ノードＮｎの構成及び機能について説明する。
【００９７】
図６は、ノードＮｎの概要構成例を示す図である。
【００９８】
各ノードＮｎは、図６に示すように、演算機能を有するＣＰＵ，作業用ＲＡＭ，各種データおよびプログラムを記憶するＲＯＭ等から構成されたコンピュータとしての制御部１１と、各種データ（例えば、コンテンツデータ、インデックス情報、ＤＨＴ等）及び各種プログラム等を記憶保存（格納）するためのＨＤ等から構成された記憶手段としての記憶部１２と、受信されたコンテンツデータＣ１又はＣ２等を一時蓄積するバッファメモリ１３と、コンテンツデータＣ１又はＣ２に含まれるエンコードされたビデオデータ（映像情報）およびオーディオデータ（音声情報）等をデコード（データ伸張や復号化等）するデコーダ部１４と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部１５と、当該映像処理部１５から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等の表示部１６と、上記デコードされたオーディオデータをアナログオーディオ信号にＤ （Digital）／Ａ（Analog）変換した後これをアンプにより増幅して出力する音声処理部１７と、当該音声処理部１７から出力されたオーディオ信号を音波として出力するスピーカ１８と、ネットワーク８を通じて他のノードＮｎや放送局装置１０との間の情報の通信制御を行うための通信部２０と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部１１に対して与える入力部（例えば、キーボード、マウス、或いは、操作パネル等）２１と、を備えて構成され、制御部１１、記憶部１２、バッファメモリ１３、デコーダ部１４、通信部２０、及び入力部２１はバス２２を介して相互に接続されている。なお、ノードＮｎとしては、パーソナルコンピュータ、ＳＴＢ（Set Top Box）、或いは、ＴＶ受信機等を適用可能である。また、記憶部１２には、コンテンツ分散保存システムＳＸ１に参加する際のアクセス先となるコンタクトノードのＩＰアドレス及びポート番号と、ツリー型コンテンツ配信システムＳＸ２に参加する際にアクセス先となる放送局装置１０のＩＰアドレス及びポート番号が記憶されている。
【００９９】
このような構成において、制御部１１は、ＣＰＵが記憶部１２等に記憶されたプログラムを読み出して実行することにより、全体を統括制御し、コンテンツ分散保存システムＳＸ１への参加により上述したユーザノード、中継ノード、ルートノード、キャッシュノード、及びコンテンツ保持ノードの少なくとも何れか一つのノードとしての処理を行うようになっており、更に、ツリー型コンテンツ配信システムＳＸ２への参加により、上位階層のノードＮｎからのコンテンツデータＣ２を下位階層のノードＮｎに転送する処理を行うようになっている。
【０１００】
そして更に、コンテンツ分散保存システムＳＸ１とツリー型コンテンツ配信システムＳＸ２の双方に参加しているノードＮｎにおける制御部１１は、ＣＰＵが記憶部１２等に記憶されたプログラム（本発明のノード処理プログラムを含む）を読み出して実行することにより、本発明の受信手段、決定手段、コンテンツ送信手段、送信拒否情報送信手段、下位ノード有無判別手段、階層認識手段、階層判別手段、階層認識手段、帯域認識手段、帯域判別手段、回線種類認識手段、回線種類判別手段、稼働率認識手段、稼働率判別手段、下位ノード数認識手段、下位ノード数判別手段、要求情報数集計手段、要求情報数判別手段、第一代替ノード数情報取得手段、第二代替ノード数情報取得手段、代替ノード数判別手段、コンテンツ転送手段、紹介禁止情報送信手段、及び紹介禁止解除情報送信手段等として機能するようになっている。なお、上記ノード処理プログラムは、例えば、ネットワーク８上の所定のサーバからダウンロードされるようにしてもよいし、例えば、ＣＤ−ＲＯＭ等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしてもよい。
【０１０１】
具体的には、コンテンツ分散保存システムＳＸ１とツリー型コンテンツ配信システムＳＸ２の双方に参加しているコンテンツ保持ノードである例えばノードＮ１が、ユーザノード、或いはルートノードから送信されたコンテンツ送信要求メッセージを受信した場合、その制御部１１は、予め設定された応答条件に基づいて、該メッセージに係るコンテンツデータＣ１の送信要求に応じるか否かを決定するようになっている。そして、当該制御部１１は、送信要求に応じると決定した場合には、当該送信要求に応じることを示すコンテンツ送信承諾メッセージ及び当該送信要求に係るコンテンツデータＣ１を、要求元のユーザノードに対して提供（送信）し、一方、送信要求に応じないと決定した場合には、当該ユーザノードに対して当該送信要求に応じないことを示す送信拒否情報としてのコンテンツ送信拒否メッセージを送信することになる。
【０１０２】
ここで、上記送信要求に応じるか否かを決定するための上記応答条件は、コンテンツ分散保存システムＳＸ１における上記送信要求に係るコンテンツデータＣ１のユーザノードへの送信処理が、ツリー型コンテンツ配信システムＳＸ２におけるコンテンツデータＣ２の下位階層のノードＮｎへの転送処理に与える支障（例えば、転送遅れ等）の度合いに基づき、定められる。
【０１０３】
例えば、両システムに参加しているコンテンツ保持ノードのツリー型コンテンツ配信システムＳＸ２における階層位置が最下位階層である（つまり、下位階層として直接接続されるノードＮｎが存在しない）場合、そもそも、当該コンテンツ保持ノードのコンテンツデータＣ２の転送遅れは無いので、コンテンツデータＣ２の転送によってコンテンツデータＣ２の配信を受ける下位階層のノードＮｎが無い場合には、制御部１１によりコンテンツデータＣ１の送信要求に応じると決定され、下位階層のノードＮｎがある場合には、当該送信要求に応じないと決定される。
【０１０４】
また、下位階層のノードＮｎがある場合であっても、コンテンツ保持ノードが接続されるネットワーク８における通信回線の有効帯域が十分広い（閾値（例えば１０Ｍｂｐｓ）以上の）場合、又は、当該通信回線の種類がＡＤＳＬ回線ではなく光ケーブル（所定の回線種類の一例）である場合には、帯域に余裕があり当該コンテンツ保持ノードのコンテンツデータＣ２の転送遅れは少ないと考えられるので、制御部１１によりコンテンツデータＣ１の送信要求に応じると決定し、通信回線の有効帯域が狭い（閾値（例えば１０Ｍｂｐｓ）より狭い）場合、又は、当該通信回線の種類がＡＤＳＬ（Asymmetric Digital Subscriber Line）回線である場合に、当該送信要求に応じないと決定されるように構成すれば運用上効率的である。
【０１０５】
また、下位階層のノードＮｎがある場合であっても、制御部１１におけるＣＰＵの稼働率が小さい（閾値（例えば６０％）以下の）場合には、当該コンテンツ保持ノードのコンテンツデータＣ２の転送遅れは少ないと考えられるので、制御部１１によりコンテンツデータＣ１の送信要求に応じると決定し、ＣＰＵの稼働率が閾値より大きい場合に、当該送信要求に応じないと決定されるように構成しても良い。
【０１０６】
また、下位階層のノードＮｎがある場合であっても、該コンテンツ保持ノードの転送によってコンテンツデータＣ２の配信を受ける下位階層のノードＮｎの数が少ない（閾値以下の）場合には、当該コンテンツ保持ノードのコンテンツデータＣ２の転送遅れにより支障をきたす下位階層のノードＮｎの数は少ないので、コンテンツデータＣ１の送信を優先して、制御部１１によりコンテンツデータＣ１の送信要求に応じると決定し、下位階層のノードＮｎの数が閾値より大きい場合に、当該送信要求に応じないと決定されるように構成しても運用上効率的である。
【０１０７】
一方、当該コンテンツ保持ノードのツリー型コンテンツ配信システムＳＸ２における階層位置が上位階層であればあるほど、当該コンテンツ保持ノードのコンテンツデータＣ２の転送遅れは、下位階層に位置するより多くのノードＮｎに支障をきたしてしまうので、ある階層位置を閾値としてこれより上位の階層にない場合には、制御部１１によりコンテンツデータＣ１の送信要求に応じると決定し、当該階層が閾値より上位の階層にある場合には、当該送信要求に応じないと決定されるように構成しても運用上効率的である。
【０１０８】
更に、当該コンテンツ保持ノードが位置する階層に応じた伝送速度（例えば、下位階層に比して上位階層ほど遅く設定される伝送速度）で、コンテンツ分散保存システムＳＸ１における上記送信要求に係るコンテンツデータＣ１をユーザノードに対して送信するように構成すれば運用上非常に効率的であり、ツリー型コンテンツ配信システムＳＸ２におけるトポロジーを大きく崩すことを防ぐことができる。
【０１０９】
図７は、コンテンツ保持ノードが位置する階層に応じた伝送速度の一例を示す図である。図７に示す例では、コンテンツ保持ノードが最下位階層（第４階層）に位置する場合、１００％の伝送速度（例えば、２Ｍｂｐｓ）で、コンテンツ保持ノードが第３階層に位置する場合、６０％の伝送速度（例えば、２×０．６Ｍｂｐｓ）で、コンテンツ保持ノードが第２階層に位置する場合、３０％の伝送速度（例えば、２×０．３Ｍｂｐｓ）で、夫々、上記送信要求に係るコンテンツデータＣ１がユーザノードに対して送信される（上位階層に行くほど次第に伝送速度が低下する）ことになり、コンテンツ保持ノードが放送局装置１０の直下の階層（第１階層）に位置する場合、コンテンツデータＣ１の送信要求に応じないと決定されることになる。
【０１１０】
更にまた、コンテンツ分散保存システムＳＸ１において当該コンテンツ保持ノードの代わりにユーザノードに対してコンテンツデータＣ１を送信可能なコンテンツ保持ノードであるノードＮｎ（代替ノード）の数ＭＸが、ツリー型コンテンツ配信システムＳＸ２において当該コンテンツ保持ノードの代わりに下位階層のノードＮｎに対してコンテンツデータＣ２を転送可能なノードＮｎ（代替ノード）の数ＭＹより、小さい（コンテンツデータＣ１を送信可能な代替ノードの数ＭＸの方が少ない）場合に、制御部１１によりコンテンツデータＣ１の送信要求に応じると決定される（この場合、ツリー型コンテンツ配信システムＳＸ２における転送処理を中止することが望ましい）ように構成すれば運用上非常に効率的である。つまり、両システムにおける代替ノードの数を比較して、代替ノード少ない方のシステムの方の送信（又は転送）処理を優先することになる。
【０１１１】
また、コンテンツ送信要求メッセージの数（コンテンツデータＣ１の送信要求の数）が制御部１１により一定期間（例えば、１日）集計され、当該集計されたコンテンツ送信要求メッセージの数が閾値より大きい場合、処理負担が大きくなるので、コンテンツデータＣ１の送信要求に応じないと決定されるように構成しても良い。
【０１１２】
なお、そもそも、コンテンツ分散保存システムＳＸ１とツリー型コンテンツ配信システムＳＸ２の双方に参加していることをもって、コンテンツデータＣ１の送信要求に応じないと決定されるように構成しても良い。
【０１１３】
以上のように、両システムに参加しているコンテンツ保持ノードは、応答条件によっては、ユーザノードからのコンテンツデータＣ１の送信要求に応じないと決定することになるが、例えば、コンテンツ分散保存システムＳＸ１におけるコンテンツデータＣ１の送信以外の各種メッセージ（例えば、コンテンツ所在問合せ（検索）メッセージ、パブリッシュメッセージ等）の受信及び転送は行う。これは、各種メッセージのデータ量は、コンテンツデータＣ１のデータ量よりも格段に少ないため、制御部１１における当該メッセージの転送処理負荷は小さく、ツリー型コンテンツ配信システムＳＸ２におけるコンテンツデータＣ２の下位階層のノードＮｎへの転送処理に与える支障は少ないからである。また、例えば、コンテンツ保持ノードが、コンテンツ所在問合せ（検索）メッセージを受信はするが転送しないとなると、コンテンツ所在問合せ（検索）メッセージがルートノードまで辿り着かず、よって、ユーザノードが所望のコンテンツデータＣ１を発見することができなくなるからである。また、コンテンツ保持ノードが、コンテンツ所在問合せ（検索）メッセージの受信さえも拒否するとなると、当該メッセージを送信したノードＮｎは、当該コンテンツ保持ノードがコンテンツ分散保存システムＳＸ１から脱退したものと判断し、自己のルーディングテーブルから削除することになり好ましくない。
【０１１４】
［３．通信システムＳの動作］
次に、図８乃至図１４等を参照して、本実施形態１における通信システムＳの動作について説明する。
【０１１５】
図８は、ノードＮｎの制御部１１におけるメイン処理を示すフローチャートである。また、図９（Ａ）は、図８に示すステップＳ５におけるシステムＳＸ２への参加処理の詳細を示すフローチャートであり、図９（Ｂ）は、図８に示すステップＳ６におけるシステムＳＸ２に参加中の処理の詳細を示すフローチャートである。また、図１０は、図８に示すステップＳ１０におけるツリー型コンテンツ配信システムＳＸ２に関するメッセージの受信処理の詳細を示すフローチャートであり、図１１は、図８に示すステップＳ１１におけるコンテンツ分散保存システムＳＸ１に関するメッセージの受信処理の詳細を示すフローチャートである。また、図１２乃至図１５は、図１１に示すステップＳ５８におけるユーザノードへの応答判断処理の例を示すフローチャートである。図１６は、放送局装置１０におけるメッセージ受信処理を示すフローチャートである。
【０１１６】
図８に示す処理は、任意のノードＮｎにおいて例えば電源ＯＮになった場合に開始され、先ず、制御部１１は、コンテンツ分散保存システムＳＸ１への参加処理を実行する（ステップＳ１）。この参加処理においては、当該ノードＮｎの制御部１１は、記憶部１２からコンタクトノードのＩＰアドレス及びポート番号を取得し、これに基づきコンタクトノードにネットワーク８を介して接続し、参加要求を示す参加メッセージ（自己のノードＩＤ及びノード情報等を含む）を送信する。これにより、当該ノードＮｎには、当該システムＳＸ１に参加している他のノードＮｎからルーティングテーブルが送信されることになり、受信したルーティングテーブルに基づき自己のルーティングテーブルを有するＤＨＴを生成し、コンテンツ分散保存システムＳＸ１に参加が完了することになる。なお、ＤＨＴの生成方法は、本発明の直接の関係がないので、詳しい説明を省略する。また、コンタクトノードのＩＰアドレス等の情報は、例えばノードＮｎの出荷時、或いはソフトウェア初回インストール時の初期状態で記憶部１２に記憶される。
【０１１７】
次いで、制御部１１は、電源ＯＦＦの指示（例えば、ユーザから入力部２１を介した電源ＯＦＦ操作指示）があった場合には（ステップＳ２：Ｙ）、当該処理を終了する。一方、電源ＯＦＦの指示がない場合には（ステップＳ２：Ｎ）、制御部１１は、ツリー型コンテンツ配信システムＳＸ２に参加中であるか否かを判別し（ステップＳ３）、当該システムＳＸ２に参加中である場合には（ステップＳ３：Ｙ）、ステップＳ６の「システムＳＸ２に参加中の処理」に移行し、当該システムＳＸ２に参加中でない場合には（ステップＳ３：Ｎ）、ステップＳ４に移行する。
【０１１８】
ステップＳ４では、制御部１１は、ツリー型コンテンツ配信システムＳＸ２への参加設定（自動参加設定）がなされているか（或いは、ユーザから入力部２１を介したツリー型コンテンツ配信システムＳＸ２への参加指示があったか）否かを判別する。ツリー型コンテンツ配信システムＳＸ２への参加設定がなされている場合には（ステップＳ４：Ｙ）、ステップＳ５の「システムＳＸ２への参加処理」に移行され、参加設定がなされていない場合には（ステップＳ４：Ｎ）、ステップＳ７に移行される。
【０１１９】
ステップＳ５の「システムＳＸ２への参加処理」では、図９（Ａ）に示すように、制御部１１は、記憶部１２から放送局装置１０のＩＰアドレス及びポート番号を取得し、これに基づき放送局装置１０にネットワーク８を介して接続し、参加要求を示す参加メッセージ（自己のノード情報等を含む）を送信する（ステップＳ２１）。なお、放送局装置１０のＩＰアドレス等の情報は、例えばノードＮｎの出荷時、或いはソフトウェア初回インストール時の初期状態で記憶部１２に記憶される。
【０１２０】
これに対して、放送局装置１０は、何らかのメッセージを受信すると、図１６に示す処理を開始し、受信したメッセージが、上記システムＳＸ２への参加メッセージであるか否かを判別（ステップＳ１０１）し、参加メッセージである場合には（ステップＳ１０１：Ｙ）、ステップＳ１０２に移行し、参加メッセージでない場合には（ステップＳ１０１：Ｎ）、ステップＳ１０４に移行する。
【０１２１】
ステップＳ１０２では、放送局装置１０は、上述したように、参加メッセージを送信したノードＮｎが接続すべき接続先となるノードＮｎを、接続先紹介不可リストにノード情報が登録されていないノードＮｎのうちから選択し（ステップＳ１０２）、当該選択したノードＮｎのノード情報及び当該選択したノードＮｎの階層情報を含む接続先紹介メッセージを、参加メッセージを送信したノードＮｎに対して返信（送信）する（ステップＳ１０３）。
【０１２２】
なお、ステップＳ１０４からの処理は後述する。
【０１２３】
図９（Ａ）に示す処理に戻り、ステップＳ２２では、制御部１１は、放送局装置１０から送信されてきた接続先紹介メッセージを受信する。次いで、制御部１１は、当該接続先紹介メッセージに含まれるノード情報に基づき、放送局装置１０から紹介されたノードＮｎ（このノードＮｎは自己よりも一つ上位階層となる）に接続し、当該ノードＮｎに対してコンテンツデータＣ２の転送要求を示す転送要求メッセージを送信する（ステップＳ２３）。
【０１２４】
こうして、当該ノードＮｎは、ツリー型コンテンツ配信システムＳＸ２へも参加することになり、上位階層のノードＮｎから転送（配信）されてきたコンテンツデータＣ２の受信を開始し（ステップＳ２４）、図８に示す処理に戻る。こうして、受信されたコンテンツデータＣ２を構成する各パケットデータはバッファメモリ１３に蓄積される。
【０１２５】
次に、ステップＳ６の「システムＳＸ２に参加中の処理」では、図９（Ｂ）に示すように、制御部１１は、ツリー型コンテンツ配信システムＳＸ２から脱退する指示があったか否か（例えば、ユーザから入力部２１を介したツリー型コンテンツ配信システムＳＸ２からの脱退指示があったか）否かを判別する（ステップ３１）。ツリー型コンテンツ配信システムＳＸ２から脱退する指示があった場合には（ステップＳ３１：Ｙ）、制御部１１は、自己が接続している上位階層のノードＮｎへコンテンツデータＣ２の転送停止メッセージを送信し（ステップＳ３２）、図８に示す処理に戻る。
【０１２６】
一方、ツリー型コンテンツ配信システムＳＸ２から脱退する指示がない場合には（ステップＳ３１：Ｎ）、制御部１１は、コンテンツデータＣ２の受信ストリームが所定時間（例えば、３０秒）途切れたか否かを判別し（ステップＳ３３）、途切れていない場合には（ステップＳ３３：Ｎ）、受信されたコンテンツデータＣ２の再生処理（つまり、バッファメモリ１３に蓄積されたコンテンツデータＣ２をデコーダ部１４にてデコードさせ、映像処理部１５、表示部１６、音声処理部１７、及びスピーカ１８を通じて再生出力させる処理）を行う（ステップＳ３４）。
【０１２７】
一方、コンテンツデータＣ２の受信ストリームが所定時間途切れた場合（例えば、上位階層のノードＮｎがコンテンツデータＣ２の転送を停止したことによる）には（ステップＳ３３：Ｙ）、制御部１１は、上述した図９（Ａ）に示すシステムＳＸ２への参加処理を行う（ステップＳ３５）。かかる参加処理により、放送局装置１０から新たに紹介されたノードＮｎに接続し、当該ノードＮｎに対して上述した転送要求メッセージを送信することになる。
【０１２８】
次に、制御部１１は、自己に直接接続されコンテンツデータＣ２の転送を受ける下位階層のノードＮｎが存在するか否かを判別し（ステップＳ３６）、存在しない場合には（ステップＳ３６：Ｎ）、図８に示す処理に戻り、存在する場合には（ステップＳ３６：Ｙ）、当該下位階層（下流）のノードＮｎに対して、上位階層（上流）のノードＮｎから転送され受信されたコンテンツデータＣ２（これを構成する各パケットデータ）を転送し（ステップＳ３７）、図８に示す処理に戻る。
【０１２９】
次に、図８に示すステップＳ７では、制御部１１は、何らかのメッセージを受信したか否かを判別し、メッセージを受信していない場合には（ステップＳ７：Ｎ）、その他の処理（例えば、ユーザノードとして、所望のコンテンツデータＣ１を取得するために、コンテンツ所在問合せ（検索）メッセージを、ルートノードに向けて送出する等の処理）を行い（ステップＳ１３）、ステップＳ２に戻る。一方、メッセージが受信された場合には（ステップＳ７：Ｙ）、制御部１１は、当該受信されたメッセージが、コンテンツ分散保存システムＳＸ１に関する（該システムＳＸ１で取り扱われる）メッセージであるか否かを判別し（ステップＳ８）、当該システムＳＸ１に関するメッセージでない場合には（ステップＳ８：Ｎ）、ツリー型コンテンツ配信システムＳＸ２に関する（該システムＳＸ２で取り扱われる）メッセージであるか否かを判別する（ステップＳ９）。なお、例えば、各メッセージにヘッダ部分には、当該メッセージの種別を示す情報が含まれており、制御部１１は、かかる情報から上記システムＳＸ１で取り扱われるメッセージであるか、上記システムＳＸ２で取り扱われるメッセージであるかを判別することができる。
【０１３０】
上記ステップＳ９において、ツリー型コンテンツ配信システムＳＸ２に関するメッセージである場合には（ステップＳ９：Ｙ）、ツリー型コンテンツ配信システムＳＸ２に関するメッセージの受信処理を行い（ステップＳ１０）、ツリー型コンテンツ配信システムＳＸ２に関するメッセージでない場合には（ステップＳ９：Ｎ）、ステップＳ１３に移行する。
【０１３１】
ステップＳ１０の「システムＳＸ２に関するメッセージの受信処理」では、図１０に示すように、制御部１１は、上記ステップＳ７で受信されたメッセージが転送要求メッセージであるか否かを判別し（ステップＳ４１）、転送要求メッセージである場合には（ステップＳ４１：Ｙ）、当該転送要求メッセージを送信したノードＮｎ（つまり、自己に直接接続される下位階層のノードＮｎ）に対するコンテンツデータＣ２の転送を開始し（ステップＳ４２）、図８に示す処理に戻る。
【０１３２】
一方、受信されたメッセージが転送要求メッセージでない場合には（ステップＳ４１：Ｎ）、制御部１１は、当該受信されたメッセージが転送停止メッセージであるか否かを判別し（ステップＳ４３）、転送停止メッセージである場合には（ステップＳ４３：Ｙ）、当該転送停止メッセージを送信したノードＮｎ（つまり、自己に直接接続される下位階層ノードＮｎ）に対するコンテンツデータＣ２の転送を停止し（ステップＳ４４）、図８に示す処理に戻る。一方、受信されたメッセージが転送停止メッセージでもない場合には（ステップＳ４３：Ｎ）、その他の処理が行われ（ステップＳ４５）、図８に示す処理に戻る。
【０１３３】
一方、上記ステップＳ８において、コンテンツ分散保存システムＳＸ１に関するメッセージである場合には（ステップＳ８：Ｙ）、制御部１１は、コンテンツ分散保存システムＳＸ１に関するメッセージの受信処理を行う（ステップＳ１１）。
【０１３４】
ステップＳ１１の「システムＳＸ１に関するメッセージの受信処理」では、図１１に示すように、制御部１１は、上記ステップＳ７で受信されたメッセージが上述したコンテンツ送信要求メッセージであるか否かを判別し（ステップＳ５１）、コンテンツ送信要求メッセージでない場合には（ステップＳ５１：Ｎ）、上記受信されたメッセージがコンテンツ送信承諾メッセージであるか否かを判別し（ステップＳ５２）、コンテンツ送信承諾メッセージである場合（この場合当該ノードＮｎはユーザノードとして機能）には（ステップＳ５２：Ｙ）、コンテンツ保持ノードから送信されてきた送信要求に係るコンテンツデータＣ１を受信し（ステップＳ５３）、記憶部１２に記憶する（ダウンロードの完了）。
【０１３５】
一方、受信されたメッセージがコンテンツ送信承諾メッセージでない場合には（ステップＳ５２：Ｎ）、制御部１１は、上記受信されたメッセージがコンテンツ送信拒否メッセージであるか否かを判別し（ステップＳ５４）、コンテンツ送信拒否メッセージである場合には（ステップＳ５４：Ｙ）、制御部１１は、送信拒否に係るコンテンツデータＣ１を所定のサーバから取得する処理を行うか、或いは、他のコンテンツ保持ノードを発見するための処理（例えば、再度、送信拒否に係るコンテンツデータＣ１のコンテンツＩＤ及び自己のノード情報等を含むコンテンツ所在問合せ（検索）メッセージを、ルートノードに向けて送出する処理）を行う（ステップＳ５５）。
【０１３６】
一方、受信されたメッセージがコンテンツ送信拒否メッセージでない場合には（ステップＳ５４：Ｎ）、制御部１１は、自己がルートノードであるか否かを判別し（ステップＳ５６）、ルートノードである場合には（ステップＳ５６：Ｙ）、メッセージに対応する処理を行って、図８に示す処理に戻り、ルートノードでない場合には（ステップＳ５６：Ｎ）、上記受信されたメッセージを、自己のＤＨＴを用いたルーティングテーブルにしたがって他のノードＮｎに対して転送し（ステップＳ５７）、図８に示す処理に戻る。
【０１３７】
一方、上記ステップＳ５１において、受信されたメッセージがコンテンツ送信要求メッセージである場合（つまり、自己がコンテンツ保持ノードである場合）には（ステップＳ５１：Ｙ）、制御部１１は、ユーザノードへの応答判断処理（詳細は後述）を行い（ステップＳ５８）、当該応答判断処理において送信要求に応じると決定されたか否かを判別する（ステップＳ５９）。かかる判別は、後述する応答判断処理における結果、例えば、ＲＡＭに、応じる決定を示す“Ｔ”と応じない決定を示す“Ｆ”のどちらが記憶されているかにより行われる。
【０１３８】
そして、制御部１１は、送信要求に応じると決定された場合には（ステップＳ５９：Ｙ）、コンテンツ送信承諾メッセージ及び当該送信要求に係るコンテンツデータＣ１を、設定された伝送速度（後述するステップＳ１５３で伝送速度が設定されない限りはデフォルト設定値（例えば１００％の伝送速度））で、コンテンツ送信要求メッセージを送信したノードＮｎ（ユーザノード）に送信し（ステップＳ６０）、一方、送信要求に応じないと決定された場合には（ステップＳ５９：Ｎ）、コンテンツ送信拒否メッセージを、コンテンツ送信要求メッセージを送信したノードＮｎ（ユーザノード）に送信し（ステップＳ６１）、図８に示す処理に戻る。図８に示すステップＳ１２のＤＨＴを用いたルーティングテーブルの更新処理では、制御部１１は、上記受信されたメッセージから当該メッセージを送信したノードＮｎのノードＩＤ及びノード情報を取得し、これを自己のＤＨＴを用いたルーティングテーブルにおける所定のテーブルエントリーに登録（例えば、当該テーブルエントリーが空欄であった場合は新規登録、既に登録されていた場合は上書登録）し、ステップＳ２に戻る。
【０１３９】
（応答判断処理）
次に、図１１に示すステップＳ５８の応答判断処理の例は、幾つかに分けることができるので、ここでは、実施例１〜実施例６に分けて説明する。
【０１４０】
（実施例１）
図１２（Ａ）のフローチャートは、実施例１における応答判断処理を示しており、この例では、制御部１１は、ツリー型コンテンツ配信システムＳＸ２に参加中であるか否かを判別し（ステップＳ１１０）、当該システムＳＸ２に参加中である場合には（ステップＳ１１０：Ｙ）、送信要求に応じないと決定（応じない決定を示す“Ｆ”をＲＡＭに記憶、以下同じ）し（ステップＳ１１１）、当該システムＳＸ２に参加中でない場合には（ステップＳ１１０：Ｎ）、送信要求に応じると決定（応じる決定を示す“Ｔ”をＲＡＭに記憶、以下同じ）し（ステップＳ１１２）、図１１に示す処理に戻ることになる。
【０１４１】
これにより、コンテンツ保持ノードは、ツリー型コンテンツ配信システムＳＸ１に参加している場合には、コンテンツデータＣ１の送信要求をしたユーザノードに対する送信を拒否するので、ツリー型コンテンツ配信システムＳＸ２において安定したコンテンツデータＣ１のストリーム再生及び下位階層のノードＮｎへの転送を行うことができる。
【０１４２】
（実施例２）
図１２（Ｂ）のフローチャートは、実施例２における応答判断処理を示しており、この例では、制御部１１は、ツリー型コンテンツ配信システムＳＸ２に参加中であるか否かを判別し（ステップＳ１２０）、当該システムＳＸ２に参加中である場合には（ステップＳ１２０：Ｙ）、自己に直接接続されコンテンツデータＣ２の転送を受ける下位階層のノードＮｎが存在するか否かを判別し（ステップＳ１２２）、存在する場合には（ステップＳ１２２：Ｙ）、送信要求に応じないと決定し（ステップＳ１２３）、図１１に示す処理に戻る。一方、当該システムＳＸ２に参加中でない場合（ステップＳ１２０：Ｎ）、又は、下位階層のノードＮｎが存在しない場合には（ステップＳ１２２：Ｎ）、制御部１１は、送信要求に応じると決定し（ステップＳ１２１）、図１１に示す処理に戻ることになる。
【０１４３】
これにより、コンテンツ保持ノードが、ツリー型コンテンツ配信システムＳＸ１に参加している場合であっても、当該コンテンツ保持ノードに直接接続されコンテンツデータＣ２の転送を受ける下位階層のノードＮｎが存在しない場合には、コンテンツデータＣ１の送信要求をしたユーザノードに対してコンテンツデータＣ１を送信する一方、下位階層のノードＮｎが存在する場合には、ユーザノードに対するコンテンツデータＣ１の送信を拒否するので、ツリー型コンテンツ配信システムＳＸ２において安定したコンテンツデータＣ１のストリーム再生及び下位階層のノードＮｎへの転送を行うことができ、さらにはコンテンツデータＣ１の送信要求の拒否によりコンテンツ分散保存システムＳＸ１に与える影響を低減させ、効率的に両システムを運用することができる。
【０１４４】
なお、ステップＳ１２２において、自己に直接接続されコンテンツデータＣ２の転送を受ける下位階層のノードＮｎが存在する場合には、送信要求に応じないと決定するように構成したが、下位階層のノードＮｎが存在する場合であっても、下位階層のノードＮｎの数が少ない（閾値以下の）場合には、送信要求に応じると決定するように構成しても良く、このように構成すれば、コンテンツデータＣ１の送信要求の拒否によりコンテンツ分散保存システムＳＸ１に与える影響を低減させ、より効率的に両システムを運用することができる。
【０１４５】
（実施例３）
図１３（Ａ）のフローチャートは、実施例３における応答判断処理を示しており、この例では、制御部１１は、ツリー型コンテンツ配信システムＳＸ２に参加中であるか否かを判別し（ステップＳ１３０）、当該システムＳＸ２に参加中である場合には（ステップＳ１３０：Ｙ）、制御部１１が有するＣＰＵの稼働率を認識し、当該ＣＰＵの稼働率が閾値以下であるか否かを判別し（ステップＳ１３２）、当該ＣＰＵの稼働率が閾値以下でない（閾値より大きい）場合には（ステップＳ１３２：Ｎ）、送信要求に応じないと決定し（ステップＳ１３３）、図１１に示す処理に戻る。一方、当該システムＳＸ２に参加中でない場合（ステップＳ１３０：Ｎ）、又は、ＣＰＵの稼働率が閾値以下である場合には（ステップＳ１３２：Ｙ）、制御部１１は、送信要求に応じると決定し（ステップＳ１３１）、図１１に示す処理に戻ることになる。
【０１４６】
これにより、コンテンツ保持ノードが、ツリー型コンテンツ配信システムＳＸ１に参加している場合であっても、当該コンテンツ保持ノードのＣＰＵの稼働率が閾値以下である場合には、処理負荷が小さいため、コンテンツデータＣ１の送信要求をしたユーザノードに対してコンテンツデータＣ１を送信する一方、当該ＣＰＵの稼働率が閾値より大きい場合には、ユーザノードに対するコンテンツデータＣ１の送信を拒否するので、ツリー型コンテンツ配信システムＳＸ２において安定したコンテンツデータＣ１のストリーム再生及び下位階層のノードＮｎへの転送を行うことができ、さらにはコンテンツデータＣ１の送信要求の拒否によりコンテンツ分散保存システムＳＸ１に与える影響を低減させ、効率的に両システムを運用することができる。
【０１４７】
なお、当該処理において、当該システムＳＸ２に参加中である場合に、自己に直接接続されコンテンツデータＣ２の転送を受ける下位階層のノードＮｎが存在するか否かを判別し、存在する場合に、当該ＣＰＵの稼働率が閾値以下であるか否かを判別する（以降の処理は同様）ように構成しても良い。つまり、ＣＰＵの稼働率いかんにかかわらず、下位階層のノードＮｎが存在しない場合には、送信要求に応じると決定する趣旨である。また、下位階層のノードＮｎが存在する場合であっても、下位階層のノードＮｎの数が少ない（閾値以下の）場合には、ＣＰＵの稼働率が閾値以下であるか否かに拘らず、送信要求に応じると決定するように構成しても良い。
【０１４８】
（実施例４）
図１３（Ｂ）のフローチャートは、実施例４における応答判断処理を示しており、この例では、制御部１１は、ツリー型コンテンツ配信システムＳＸ２に参加中であるか否かを判別し（ステップＳ１４０）、当該システムＳＸ２に参加中である場合には（ステップＳ１４０：Ｙ）、自己に直接接続されコンテンツデータＣ２の転送を受ける下位階層のノードＮｎが存在するか否かを判別し（ステップＳ１４２）、存在する場合には（ステップＳ１４２：Ｙ）、自己が接続されるネットワーク８における通信回線の回線種類を認識し、当該認識された通信回線の種類が例えば光ケーブルであるか否かを判別する（ステップＳ１４３）。そして、上記認識された通信回線の種類が光ケーブルでない場合には（ステップＳ１４３：Ｎ）、制御部１１は、送信要求に応じないと決定し（ステップＳ１４４）、図１１に示す処理に戻る。
【０１４９】
一方、当該システムＳＸ２に参加中でない場合（ステップＳ１４０：Ｎ）、又は、下位階層のノードＮｎが存在しない場合（ステップＳ１４２：Ｎ）、又は、上記認識された通信回線の種類が光ケーブルである場合には（ステップＳ１４３：Ｙ）、制御部１１は、送信要求に応じると決定し（ステップＳ１４１）、図１１に示す処理に戻ることになる。
【０１５０】
なお、上記ステップＳ１４３で、帯域に余裕があるか否かを判断するための簡単な方法として、通信回線の種類が例えば光ケーブルであるか否かを判別することとしたが、当該ノードＮｎが接続されるネットワーク８における通信回線の有効帯域を示す情報を認識することができれば（例えば、試験用パケットを送受信して有効帯域（伝送速度）を測定）、ステップＳ１４３で通信回線の有効帯域が閾値より狭いか否かを判別し、狭い場合には、帯域に余裕がないとして、送信要求に応じないと決定するように構成しても良い。
【０１５１】
これにより、コンテンツ保持ノードが、ツリー型コンテンツ配信システムＳＸ１に参加している場合であり、さらに下位階層のノードＮｎが存在する場合であっても、通信回線の種類が例えば光ケーブルであるなどのように、有効帯域が広く余裕がある場合には、コンテンツデータＣ１の送信要求をしたユーザノードに対してコンテンツデータＣ１を送信する一方、当該有効帯域が狭く余裕がない場合には、ユーザノードに対するコンテンツデータＣ１の送信を拒否するので、ツリー型コンテンツ配信システムＳＸ２において安定したコンテンツデータＣ１のストリーム再生及び下位階層のノードＮｎへの転送を行うことができ、さらにはコンテンツデータＣ１の送信要求の拒否によりコンテンツ分散保存システムＳＸ１に与える影響を低減させ、効率的に両システムを運用することができる。
【０１５２】
また、ステップＳ１４２において、自己に直接接続されコンテンツデータＣ２の転送を受ける下位階層のノードＮｎが存在する場合であっても、下位階層のノードＮｎの数が少ない（閾値以下の）場合には、通信回線の種類等に拘らず、送信要求に応じると決定するように構成しても良い。
【０１５３】
（実施例５）
図１４のフローチャートは、実施例５における応答判断処理を示しており、この例では、制御部１１は、ツリー型コンテンツ配信システムＳＸ２に参加中であるか否かを判別し（ステップＳ１５０）、当該システムＳＸ２に参加中である場合には（ステップＳ１５０：Ｙ）、自己に直接接続されコンテンツデータＣ２の転送を受ける下位階層のノードＮｎが存在するか否かを判別し（ステップＳ１５２）、存在する場合には（ステップＳ１５２：Ｙ）、ツリー型コンテンツ配信システムＳＸ２において自己が位置する階層を認識し、認識された階層が閾値より上位の階層にあるか否かを判別する（ステップＳ１５３）。そして、認識した階層が閾値より上位の階層（例えば、放送局装置１０を除く最上位階層）にある場合には（ステップＳ１５３：Ｙ）、制御部１１は、送信要求に応じないと決定し（ステップＳ１５５）、図１１に示す処理に戻る。
【０１５４】
一方、認識した階層が閾値より上位の階層にない場合には（ステップＳ１５３：Ｎ）、制御部１１は、認識した階層に応じた伝送速度を設定（つまり、上位階層であればあるほど遅く設定）し（ステップＳ１５４）、送信要求に応じると決定し（ステップＳ１５１）、図１１に示す処理に戻ることになる。
【０１５５】
これにより、コンテンツ保持ノードが、ツリー型コンテンツ配信システムＳＸ１に参加している場合であり、さらに下位階層のノードＮｎが存在する場合であっても、コンテンツ保持ノードの階層位置に応じた伝送速度で、コンテンツデータＣ１の送信要求をしたユーザノードに対してコンテンツデータＣ１を送信するので、コンテンツデータＣ１の送信要求の拒否によりコンテンツ分散保存システムＳＸ１に与える影響を無くし、より効率的に両システムを運用することができる。
【０１５６】
また、当該システムＳＸ２に参加中でない場合（ステップＳ１５０：Ｎ）、又は、下位階層のノードＮｎが存在しない場合には（ステップＳ１５２：Ｎ）、送信要求に応じると決定（この場合、伝送速度は初期設定（１００％の伝送速度）とされる）し（ステップＳ１５１）、図１１に示す処理に戻ることになる。
【０１５７】
また、ステップＳ１５２において、自己に直接接続されコンテンツデータＣ２の転送を受ける下位階層のノードＮｎが存在する場合であっても、下位階層のノードＮｎの数が少ない（閾値以下の）場合には、自己が位置する階層に拘らず、１００％の伝送速度で送信要求に応じると決定するように構成しても良い。
【０１５８】
（実施例６）
図１５のフローチャートは、実施例６における応答判断処理を示しており、この例では、制御部１１は、ツリー型コンテンツ配信システムＳＸ２に参加中であるか否かを判別し（ステップＳ１６０）、当該システムＳＸ２に参加中である場合には（ステップＳ１６０：Ｙ）、コンテンツ分散保存システムＳＸ１において自己の代わりにユーザノードに対してコンテンツデータＣ１を送信可能なコンテンツ保持ノード（代替ノード）の数ＭＸを当該コンテンツデータＣ１のルートノードに問い合わせ、当該ルートノードから上記代替ノードの数ＭＸを示す第一代替ノード数情報を取得する（ステップＳ１６１）。
【０１５９】
次いで、制御部１１は、ツリー型コンテンツ配信システムＳＸ２において自己の代わりに下位階層のノードＮｎに対してコンテンツデータＣ２を転送可能なノードＮｎ（代替ノード）の数ＭＹを放送局装置１０に問い合わせ、当該放送局装置１０から上記代替ノードの数ＭＹを示す第二代替ノード数情報を取得する（ステップＳ１６２）。
【０１６０】
次いで、制御部１１は、上記取得した第一代替ノード数情報に示された代替ノードの数ＭＸが、上記取得した第二代替ノード数情報に示された代替ノードの数ＭＹの数より少ないか否かを判別し（ステップＳ１６３）、少なくない（つまり、多い）場合には（ステップＳ１６３：Ｎ）、ツリー型コンテンツ配信システムＳＸ２を優先するため、送信要求に応じないと決定し（ステップＳ１６４）、図１１に示す処理に戻る。
【０１６１】
一方、代替ノードの数ＭＸが、代替ノードの数ＭＹの数より少ない場合には（ステップＳ１６３：Ｙ）、制御部１１は、自己に直接接続されコンテンツデータＣ２の転送を受ける下位階層のノードＮｎが存在するか否かを判別し（ステップＳ１６５）、存在しない場合には（ステップＳ１６５：Ｎ）、ステップＳ１６７に移行し、存在する場合には（ステップＳ１６５：Ｙ）、当該下位階層のノードＮｎへのコンテンツデータＣ２の転送を停止する（ステップＳ１６６）。これにより、コンテンツ保持ノードは、コンテンツ分散保存システムＳＸ１を優先して、コンテンツデータＣ１の送信要求をしたユーザノードに対して当該コンテンツデータＣ１を送信することができるので、運用上非常に効率的である。
【０１６２】
次いで、制御部１１は、放送局装置１０に接続し、接続先として自己の紹介禁止を示す紹介禁止情報としての紹介禁止メッセージ（自己のノード情報を含む）を、当該放送局装置１０に送信し（ステップＳ１６７）、続いて、送信要求に応じると決定し（ステップＳ１６８）、図１１に示す処理に戻ることになる。なお、別の例として、ステップＳ１６７において紹介禁止メッセージを送信しない場合（或いは、紹介禁止メッセージを送信はするがタイムラグがあった場合）、下位階層となるべきノードＮｎ（転送要求ノード）から転送要求メッセージを受信することが生じうるが、かかる場合、当該転送要求メッセージを受信したときに、転送不可メッセージを当該ノードＮｎ（転送要求ノード）へ送信することになる。
【０１６３】
また、ツリー型コンテンツ配信システムＳＸ２に参加中でない場合（ステップＳ１６０：Ｎ）にも、送信要求に応じると決定され（ステップＳ１６８）、図１１に示す処理に戻ることになる。
【０１６４】
以上により、夫々のシステムにおいて、コンテンツ保持ノードの代わりをできるノードの数が少ない方のシステムを優先させて、コンテンツデータの送信を行うので、より効率的に両システムを運用することができる。
【０１６５】
一方、放送局装置１０は、図１６に示す処理において、受信したメッセージが、紹介禁止メッセージである場合には（ステップＳ１０４：Ｙ）、当該紹介禁止メッセージに含まれるノード情報を、上述した接続先紹介不可リストに登録し（ステップＳ１０５）、ステップＳ１０１に戻る。これにより、当該ノードＮｎは、上記ステップＳ１０２にて接続紹介先として選択されなくなる。
【０１６６】
そして、この実施例６では、図１１に示す処理におけるステップＳ６０にて送信要求に係るコンテンツデータＣ１の送信が完了した場合に、制御部１１は、放送局装置１０に接続し、紹介禁止の解除を示す紹介禁止解除情報としての紹介禁止解除メッセージ（自己のノード情報を含む）を、当該放送局装置１０に送信することになる。これに対し、放送局装置１０は、図１６に示す処理において、受信したメッセージが、紹介禁止解除メッセージである場合には（ステップＳ１０６：Ｙ）、当該紹介禁止解除メッセージに含まれるノード情報を、接続先紹介不可リストから削除し（ステップＳ１０７）、ステップＳ１０１に戻る。こうして、当該ノードＮｎは、再び、上記ステップＳ１０２にて接続紹介先として選択されることができるようになる。
【０１６７】
以上説明したように、上記実施形態によれば、コンテンツ分散保存システムＳＸ１とツリー型コンテンツ配信システムＳＸ２の双方に参加しているノードＮｎ（つまり、コンテンツ保持ノード）であっても、ノードＮｎの状況やツリー型コンテンツ配信システムＳＸ２等の状況等に応じて、コンテンツデータＣ１の送信要求をしたユーザノードに対して当該コンテンツデータＣ１を送信したり、或いは当該送信を拒否することができるので、コンテンツデータＣ２のストリーム再生が途切れることなく安定して再生することができ、更に、ツリー型コンテンツ配信システムＳＸ２における配信（放送）ツリーのトポロジーを崩すことなく、つまり、ノードＮｎの階層位置の変更等を極力抑えつつ、下位階層のノードＮｎへのコンテンツデータＣ２の転送を安定して行う（転送遅れがなく）ことができる。したがって、コンテンツ分散保存システムＳＸ１とツリー型コンテンツ配信システムＳＸ２とを併用した運用を、より効率的に行うことができる。
【０１６８】
なお、上記実施形態におけるコンテンツ分散保存システムＳＸ１は、ＤＨＴを利用したアルゴリズムによって形成されることを前提として説明したが、本発明はこれに限定されるものではない。
【図面の簡単な説明】
【０１６９】
【図１】本実施形態に係る通信システムにおける各ノード装置の接続態様の一例を示す図である。
【図２】コンテンツ分散保存システムとツリー型コンテンツ配信システムの概念図である。
【図３】ノードＮ２が保持するＤＨＴを用いたルーティングテーブルの一例を示す図である。
【図４】ＤＨＴのＩＤ空間の一例を示す概念図である。
【図５】ユーザノードから送出されたコンテンツ所在問合せ（検索）メッセージの流れの一例を、ＤＨＴのＩＤ空間にて示した概念図である。
【図６】ノードＮｎの概要構成例を示す図である。
【図７】コンテンツ保持ノードが位置する階層に応じた伝送速度の一例を示す図である。
【図８】ノードＮｎの制御部１１におけるメイン処理を示すフローチャートである。
【図９】（Ａ）は、図８に示すステップＳ５におけるシステムＳＸ２への参加処理の詳細を示すフローチャートであり、（Ｂ）は、図８に示すステップＳ６におけるシステムＳＸ２に参加中の処理の詳細を示すフローチャートである。
【図１０】図８に示すステップＳ１０におけるツリー型コンテンツ配信システムＳＸ２に関するメッセージの受信処理の詳細を示すフローチャートである。
【図１１】図８に示すステップＳ１１におけるコンテンツ分散保存システムＳＸ１に関するメッセージの受信処理の詳細を示すフローチャートである。
【図１２】図１１に示すステップＳ５８におけるユーザノードへの応答判断処理の例を示すフローチャートである。
【図１３】図１１に示すステップＳ５８におけるユーザノードへの応答判断処理の例を示すフローチャートである。
【図１４】図１１に示すステップＳ５８におけるユーザノードへの応答判断処理の例を示すフローチャートである。
【図１５】図１１に示すステップＳ５８におけるユーザノードへの応答判断処理の例を示すフローチャートである。
【図１６】放送局装置１０におけるメッセージ受信処理を示すフローチャートである。
【符号の説明】
【０１７０】
８  ネットワーク
９  オーバーレイネットワーク
１０  放送局装置
１１  制御部
１２  記憶部
１３  バッファメモリ
１４  デコーダ部
１５  映像処理部
１６  表示部
１７  音声処理部
１８  スピーカ
２０  通信部
２１  入力部
２２  バス
Ｎｎ  ノード
Ｓ  通信システム
ＳＸ１  コンテンツ分散保存システム
ＳＸ２  ツリー型コンテンツ配信システム
【図１】
2008011147.tif 000003
【図２】
2008011147.tif 000004
【図３】
2008011147.tif 000005
【図４】
2008011147.tif 000006
【図５】
2008011147.tif 000007
【図６】
2008011147.tif 000008
【図７】
2008011147.tif 000009
【図８】
2008011147.tif 000010
【図９】
2008011147.tif 000011
【図１０】
2008011147.tif 000012
【図１１】
2008011147.tif 000013
【図１２】
2008011147.tif 000014
【図１３】
2008011147.tif 000015
【図１４】
2008011147.tif 000016
【図１５】
2008011147.tif 000017
【図１６】
2008011147.tif 000018