(57)【特許請求の範囲】
【請求項１】
複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層のノード装置から下位階層のノード装置に順次転送されるようにし、且つ、
前記ノード装置が、再接続先候補となるノード装置のノード情報を、前記ツリー型放送システムにおけるノード装置間の接続態様を管理するサーバ装置から取得することにより再接続先を決定する第一モードと、再接続先候補となるノード装置のノード情報を前記ツリー型放送システムに参加している何れかのノード装置から取得することにより再接続先を決定する第二モードと、の何れか一方のモードを選択するモード選択手段と、自己が現在接続している上位階層のノード装置との接続を断ち切り別のノード装置に再接続する場合には、現在選択されている前記モードにしたがって前記ノード情報を取得することにより再接続先を決定し再接続処理を行う再接続処理手段と、を備えるようにしたツリー型放送システムにおける前記放送装置であって、
前記サーバ装置の負荷状況を監視する負荷状況監視手段と、
前記負荷状況の監視レベルが閾値以上になった場合には、各前記ノード装置に対して前記第二モードに選択を切り替える指示を与えるための切替指示情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送する切替指示情報放送手段と、
を備えることを特徴とする放送装置。
【請求項２】
請求項１に記載の放送装置において、
前記負荷状況の監視レベルが閾値を下回った場合には、前記切替指示情報放送手段は、前記各ノード装置に対して前記第一モードに選択を切り替える指示を与えるための切替指示情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送することを特徴とする放送装置。
【請求項３】
複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層のノード装置から下位階層のノード装置に順次転送されるようにしたツリー型放送システムであって、
前記ノード装置は、
再接続先候補となるノード装置のノード情報を、前記ツリー型放送システムにおけるノード装置間の接続態様を管理するサーバ装置から取得することにより再接続先を決定する第一モードと、再接続先候補となるノード装置のノード情報を前記ツリー型放送システムに参加している何れかのノード装置から取得することにより再接続先を決定する第二モードと、の何れか一方のモードを選択するモード選択手段と、
自己が現在接続している上位階層のノード装置との接続を断ち切り別のノード装置に再接続する場合には、現在選択されている前記モードにしたがって前記ノード情報を取得することにより再接続先を決定し再接続処理を行う再接続処理手段と、
を備え、
前記放送装置は、
前記サーバ装置の負荷状況を監視する負荷状況監視手段と、
前記負荷状況の監視レベルが閾値以上になった場合には、各前記ノード装置に対して前記第二モードに選択を切り替える指示を与えるための切替指示情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送する切替指示情報放送手段と、
を備えることを特徴とするツリー型放送システム。
【請求項４】
請求項３に記載のツリー型放送システムにおいて、
前記負荷状況の監視レベルが閾値を下回った場合には、前記切替指示情報放送手段は、前記各ノード装置に対して前記第一モードに選択を切り替える指示を与えるための切替指示情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送することを特徴とするツリー型放送システム。
【請求項５】
請求項３又は４に記載のツリー型放送システムにおいて、
前記ノード装置は、
再接続先候補となるノード装置を探索するための探索情報の送信先となるノード装置のノード情報を予め記憶しておくための記憶手段と、
前記再接続する際に前記第二モードが選択されている場合には、前記探索情報の送信先となるノード装置のノード情報にしたがって当該ノード装置に対して前記探索情報を送信する探索情報送信手段と、
備え、
前記探索情報の送信元のノード装置から送信された探索情報は、当該探索情報を受信した前記探索情報の送信先となるノード装置を起点として下位階層に存在する所定範囲のノード装置に順次転送されていき、
前記探索情報を受信した各ノード装置は、
自己の下位階層にノード装置を接続可能であるか否かを判断し、接続可能である場合には、自己を再接続先候補となるノード装置として自己のノード情報を、前記探索情報の送信元のノード装置に対して送信するノード情報送信手段を備えることを特徴とするツリー型放送システム。
【請求項６】
請求項５に記載のツリー型放送システムにおいて、
前記放送装置は、所定の時間間隔で、前記探索情報の送信先となるノード装置のノード情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送するノード情報放送手段を備えることを特徴とするツリー型放送システム。
【請求項７】
請求項６に記載のツリー型放送システムにおいて、
前記探索情報の送信先となるノード装置のノード情報を受信した各ノード装置は、当該ノード情報を前記記憶手段に記憶することを特徴とするツリー型放送システム。
【請求項８】
コンピュータを、請求項１又は２に記載の放送装置として機能させることを特徴とする放送処理プログラム。
【請求項９】
コンピュータを、請求項３乃至７の何れか一項に記載のツリー型放送システムにおけるノード装置として機能させることを特徴とするノード処理プログラム。
【請求項１０】
複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層のノード装置から下位階層のノード装置に順次転送されるようにしたツリー型放送システムにおけるモード切替指示方法であって、
前記ノード装置は、
再接続先候補となるノード装置のノード情報を、前記ツリー型放送システムにおけるノード装置間の接続態様を管理するサーバ装置から取得することにより再接続先を決定する第一モードと、再接続先候補となるノード装置のノード情報を前記ツリー型放送システムに参加している何れかのノード装置から取得することにより再接続先を決定する第二モードと、の何れか一方のモードを選択する工程と、
自己が現在接続している上位階層のノード装置との接続を断ち切り別のノード装置に再接続する場合には、現在選択されている前記モードにしたがって前記ノード情報を取得することにより再接続先を決定し再接続処理を行う工程と、
を備え、
前記放送装置は、
前記サーバ装置の負荷状況を監視する工程と、
前記負荷状況の監視レベルが閾値以上になった場合には、各前記ノード装置に対して前記第二モードに選択を切り替える指示を与えるための切替指示情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送する工程と、
を備えることを特徴とするモード切替指示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア（Peer to Peer（P2P））型の通信システムの技術分野に関する。
【背景技術】
【０００２】
従来から、アプリケーション層においてコンテンツデータの配信（放送）経路を管理しながらコンテンツデータストリームの中継配信を行う「Application Layer Multicast（ALM）」という技術が知られている。例えば、特許文献１に開示されたツリー型放送システムにおいては、該システムに参加している複数のノード装置が放送局（例えば、放送装置）を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、当該放送局から放送されたコンテンツデータが、上位階層のノード装置から下位階層のノード装置に順次転送されるようになっている。
【０００３】
このようなツリー型放送システムにおいては、センター設備の接続先紹介サーバが全体のツリートポロジー（配信トポロジー）を集中管理する制御方式（以下、「ハイブリッド型P2Pに基づくALMの制御方式」という）と、個々のノード装置が部分的なツリートポロジーを分散管理する制御方式（以下、「ピュア型P2Pに基づくALMの制御方式」という）とが存在する。
【特許文献１】特開２００６−３３５１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、ハイブリッド型P2Pに基づくALMの制御方式は、ツリートポロジーを効率良く生成／管理できる一方、当該トポロジーを管理する接続先紹介サーバのスケーラビリティや耐障害性に課題がある。通常、ハイブリッド型P2Pに基づくALMの制御方式の運用では、システム運用者が視聴ユーザの最大参加数を見積もり、これに対応可能な性能を持ったサーバやルータ機器を準備するが、最大参加数の見積りに誤りがあったり、接続先紹介サーバにおいて予期せぬ障害が発生したりすると、ツリー型放送システムに参加中のノード装置において再接続処理に多くの時間を要したり、再接続処理自体ができなくなったりする。この結果、別のノード装置の再接続処理を誘発し、該システム上において多数のノード装置が再接続処理を繰り返すようになり、サーバやルータ機器に多大な負荷を与えてしまうことになる。
【０００５】
一方、ピュア型P2Pに基づくALMの制御方式は、接続先紹介サーバが存在しないのでスケーラビリティや耐障害性の点で優位性があるが、ノード装置の離脱や再参加の頻度が高いとトポロジー情報伝播遅延の影響により当該トポロジーが不安定になる課題がある。
【０００６】
このようにハイブリッド型P2Pに基づくALMの制御方式と、ピュア型P2Pに基づくALMの制御方式には、夫々長所と短所が存在する。
【０００７】
そこで、本発明は、以上の点等に鑑みてなされたものであり、ハイブリッド型P2Pに基づくALMの制御方式と、ピュア型P2Pに基づくALMの制御方式との夫々の長所を生かしながら最適なトポロジー制御を行うことが可能なツリー型放送システム、モード切替指示方法、放送装置、及び放送処理プログラムを提供することを課題とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１に記載の発明は、複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層のノード装置から下位階層のノード装置に順次転送されるようにし、且つ、前記ノード装置が、再接続先候補となるノード装置のノード情報を、前記ツリー型放送システムにおけるノード装置間の接続態様を管理するサーバ装置から取得することにより再接続先を決定する第一モードと、再接続先候補となるノード装置のノード情報を前記ツリー型放送システムに参加している何れかのノード装置から取得することにより再接続先を決定する第二モードと、の何れか一方のモードを選択するモード選択手段と、自己が現在接続している上位階層のノード装置との接続を断ち切り別のノード装置に再接続する場合には、現在選択されている前記モードにしたがって前記ノード情報を取得することにより再接続先を決定し再接続処理を行う再接続処理手段と、を備えるようにしたツリー型放送システムにおける前記放送装置であって、前記サーバ装置の負荷状況を監視する負荷状況監視手段と、前記負荷状況の監視レベルが閾値以上になった場合には、各前記ノード装置に対して前記第二モードに選択を切り替える指示を与えるための切替指示情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送する切替指示情報放送手段と、を備えることを特徴とする。
【０００９】
この発明によれば、放送装置がサーバ装置の負荷状況を監視し、当該負荷状況の監視レベルが閾値以上になった場合には、各ノード装置に対して前記第二モードに選択を切り替える指示を与えるための切替指示情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送するように構成したので、例えば異常状態の予兆を契機として、各ノード装置に上記第一モードから上記第二モードに切り替えさせることができ、センター設備への過負荷状態を回避しつつ、ハイブリッド型P2Pに基づくALMの制御方式と、ピュア型P2Pに基づくALMの制御方式との夫々の長所を生かしながら最適なトポロジー制御を行うことができる。
【００１０】
請求項２に記載の発明は、請求項１に記載の放送装置において、前記負荷状況の監視レベルが閾値を下回った場合には、前記切替指示情報放送手段は、前記各ノード装置に対して前記第一モードに選択を切り替える指示を与えるための切替指示情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送することを特徴とする。
【００１１】
この発明によれば、負荷状況の監視レベルが閾値を下回った場合には、各ノード装置を迅速に第一モードに戻させることができ、最適なトポロジー制御を行うことができる。
【００１２】
請求項３に記載の発明は、複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層のノード装置から下位階層のノード装置に順次転送されるようにしたツリー型放送システムであって、前記ノード装置は、再接続先候補となるノード装置のノード情報を、前記ツリー型放送システムにおけるノード装置間の接続態様を管理するサーバ装置から取得することにより再接続先を決定する第一モードと、再接続先候補となるノード装置のノード情報を前記ツリー型放送システムに参加している何れかのノード装置から取得することにより再接続先を決定する第二モードと、の何れか一方のモードを選択するモード選択手段と、自己が現在接続している上位階層のノード装置との接続を断ち切り別のノード装置に再接続する場合には、現在選択されている前記モードにしたがって前記ノード情報を取得することにより再接続先を決定し再接続処理を行う再接続処理手段と、を備え、前記放送装置は、前記サーバ装置の負荷状況を監視する負荷状況監視手段と、前記負荷状況の監視レベルが閾値以上になった場合には、各前記ノード装置に対して前記第二モードに選択を切り替える指示を与えるための切替指示情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送する切替指示情報放送手段と、を備えることを特徴とする。
【００１３】
この発明によれば、例えば異常状態の予兆を契機として、各ノード装置に上記第一モードから上記第二モードに切り替えさせることができ、センター設備への過負荷状態を回避しつつ、ハイブリッド型P2Pに基づくALMの制御方式と、ピュア型P2Pに基づくALMの制御方式との夫々の長所を生かしながら最適なトポロジー制御を行うことができる。
【００１４】
請求項４に記載の発明は、請求項３に記載のツリー型放送システムにおいて、前記負荷状況の監視レベルが閾値を下回った場合には、前記切替指示情報放送手段は、前記各ノード装置に対して前記第一モードに選択を切り替える指示を与えるための切替指示情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送することを特徴とする。
【００１５】
この発明によれば、負荷状況の監視レベルが閾値を下回った場合には、各ノード装置を第一モードに戻させることができ、最適なトポロジー制御を行うことができる。
【００１６】
請求項５に記載の発明は、請求項３又は４に記載のツリー型放送システムにおいて、前記ノード装置は、再接続先候補となるノード装置を探索するための探索情報の送信先となるノード装置のノード情報を予め記憶しておくための記憶手段と、前記再接続する際に前記第二モードが選択されている場合には、前記探索情報の送信先となるノード装置のノード情報にしたがって当該ノード装置に対して前記探索情報を送信する探索情報送信手段と、備え、前記探索情報の送信元のノード装置から送信された探索情報は、当該探索情報を受信した前記探索情報の送信先となるノード装置を起点として下位階層に存在する所定範囲のノード装置に順次転送されていき、前記探索情報を受信した各ノード装置は、自己の下位階層にノード装置を接続可能であるか否かを判断し、接続可能である場合には、自己を再接続先候補となるノード装置として自己のノード情報を、前記探索情報の送信元のノード装置に対して送信するノード情報送信手段を備えることを特徴とする。
【００１７】
この発明によれば、ツリー型放送システムにおける各ノード装置は、第二モードを利用してより効率良く再接続先候補となるノード装置を探索することができる。
【００１８】
請求項６に記載の発明は、請求項５に記載のツリー型放送システムにおいて、前記放送装置は、所定の時間間隔で、前記探索情報の送信先となるノード装置のノード情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送するノード情報放送手段を備えることを特徴とする。
【００１９】
この発明によれば、ツリー型放送システムにおける各ノード装置は、探索情報の送信先となるノード装置のノード情報を効率良く取得することができる。
【００２０】
請求項７に記載の発明は、請求項６に記載のツリー型放送システムにおいて、前記探索情報の送信先となるノード装置のノード情報を受信した各ノード装置は、当該ノード情報を前記記憶手段に記憶することを特徴とする。
【００２１】
請求項８に記載の放送処理プログラムの発明は、コンピュータを、請求項１又は２に記載の放送装置として機能させることを特徴とする。
【００２２】
請求項９に記載のノード処理プログラムの発明は、コンピュータを、請求項３乃至７の何れか一項に記載のツリー型放送システムにおけるノード装置として機能させることを特徴とする。
【００２３】
請求項１０に記載の発明は、複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層のノード装置から下位階層のノード装置に順次転送されるようにしたツリー型放送システムにおけるモード切替指示方法であって、前記ノード装置は、再接続先候補となるノード装置のノード情報を、前記ツリー型放送システムにおけるノード装置間の接続態様を管理するサーバ装置から取得することにより再接続先を決定する第一モードと、再接続先候補となるノード装置のノード情報を前記ツリー型放送システムに参加している何れかのノード装置から取得することにより再接続先を決定する第二モードと、の何れか一方のモードを選択する工程と、自己が現在接続している上位階層のノード装置との接続を断ち切り別のノード装置に再接続する場合には、現在選択されている前記モードにしたがって前記ノード情報を取得することにより再接続先を決定し再接続処理を行う工程と、を備え、前記放送装置は、前記サーバ装置の負荷状況を監視する工程と、前記負荷状況の監視レベルが閾値以上になった場合には、各前記ノード装置に対して前記第二モードに選択を切り替える指示を与えるための切替指示情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送する工程と、を備えることを特徴とする。
【発明の効果】
【００２４】
本発明によれば、放送装置がサーバ装置の負荷状況を監視し、当該負荷状況の監視レベルが閾値以上になった場合には、各ノード装置に対して前記第二モードに選択を切り替える指示を与えるための切替指示情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送するように構成したので、例えば異常状態の予兆を契機として、各ノード装置に上記第一モードから上記第二モードに切り替えさせることができ、センター設備への過負荷状態を回避しつつ、ハイブリッド型P2Pに基づくALMの制御方式と、ピュア型P2Pに基づくALMの制御方式との夫々の長所を生かしながら最適なトポロジー制御を行うことができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の最良の実施形態を図面に基づいて説明する。
［１．ツリー型放送システムの構成等］
始めに、図１等を参照して、本発明の一実施形態に係るツリー型放送システムの概要構成及び機能について説明する。
【００２６】
図１は、本実施形態に係るツリー型放送システムにおける各ノード装置の接続態様の一例を示す図である。
【００２７】
図１の下部枠１０１内に示すように、ＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Service Provider）４ａ，４ｂ、ＤＳＬ（Digital Subscriber Line）回線事業者（の装置）５ａ，５ｂ、ＦＴＴＨ（Fiber To The Home）回線事業者（の装置）６、及び通信回線（例えば、電話回線や光ケーブル等）７等によって、インターネット等のネットワーク（現実世界の通信ネットワーク）８が構築されている。なお、図１の例におけるネットワーク（通信ネットワーク）８には、データ（パケット）を転送するためのルータが、適宜挿入されているが図示を省略している。
【００２８】
このようなネットワーク８には、複数のノード装置（以下、「ノード」という）Ｎｎ（ｎ＝１，２，３・・・の何れか）が接続されている。また、各ノードＮｎには、固有の製造番号およびＩＰ（Internet Protocol）アドレスが割り当てられている。このような製造番号およびＩＰアドレスは、複数のノード間で重複しないものである。
【００２９】
そして、本実施形態に係るツリー型放送システムＳは、これらのノードＮｎのうち、図１の上部枠１００内に示すように、何れか複数のノードＮｎの参加により形成（構成）されるピアツーピア方式のネットワークシステムであり、該システムＳ（言い換えれば、ツリートポロジー）に参加している複数のノードＮｎが放送局（放送装置）１０を最上位として複数の階層を形成しつつネットワーク８を介してツリー状に接続されている。なお、図１の上部枠１００内に示すネットワーク９は、既存のネットワーク８を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク９（論理的なネットワーク）である。
【００３０】
このようなツリー型放送システムＳにおいては、放送局（放送装置）１０により放送（例えばストリーム配信）されたコンテンツデータが、上位階層（以下、「上流」という）のノードＮｎから下位階層（以下、「下流」という）のノードＮｎに順次転送（例えばストリーム中継処理による）されるようになっている。
【００３１】
また、ツリー型放送システムＳに参加している各ノードＮｎは、上流のノードＮｎからのストリーム受信状態を監視し、例えば一定の受信品質（視聴品質）未満となったことを契機として、自己が現在接続している上流のノードＮｎとの接続（コネクション）を断ち切り別のノードＮｎに再接続（つまり、接続先を変更）するようになっている。なお、受信品質の評価基準としては、過去一定期間における平均パケットレートおよびパケット損失率を用いることができる。また、上記再接続の契機は、ツリー型放送システムＳから脱退する上流のノードＮｎからの離脱イベントの通知を下流のノードＮｎが受けたときであっても良い。
【００３２】
そして、本実施形態におけるツリー型放送システムＳでは、上記再接続を制御する方式として、ハイブリッド型P2Pに基づくALMの制御方式と、ピュア型P2Pに基づくALMの制御方式と、の２つの制御方式が任意の契機で切り替えられ用いられるようになっている。ハイブリッド型P2Pに基づくALMの制御方式では、各ノードＮｎが再接続先候補となるノードＮｎの所在情報（ＩＰアドレス及びポート番号等のノード情報）を、ツリー型放送システムＳにおけるノードＮｎ間の接続態様を管理するサーバ装置である接続先紹介サーバ２０から取得することにより再接続先を決定する（かかる方式を、以下、「第一モード（ハイブリッドP2Pに基づく制御モード）」と称する）。一方、ピュア型P2Pに基づくALMの制御方式では、各ノードＮｎが再接続先候補となるノードＮｎの所在情報をツリー型放送システムＳに参加している何れかのノードＮｎから取得することにより再接続先を決定する（かかる方式を、以下、「第二モード（ピュアP2Pに基づく制御モード）」と称する）。
【００３３】
ここで、ハイブリッド型P2Pに基づくALMの制御方式とピュア型P2Pに基づくALMの制御方式におけるノードＮｎの再接続について夫々説明する。
［１−１．ハイブリッド型P2Pに基づくALMの制御方式］
図２は、ハイブリッド型P2Pに基づくALMの制御方式においてノードＮ１０が別のノードＮ２に再接続する様子を示す図である。
【００３４】
図２の例において、ノードＮ１０が、例えばストリーム受信品質の劣化により、ツリー型放送システムＳにおけるツリートポロジー上で再接続を行う場合、先ず、現在接続している上流のノードＮ５に対して接続（コネクション）破棄要求を発行し、当該上流のノードＮ５との接続を断ち切る（（１）接続断ち切り）。
【００３５】
続いて、ノードＮ１０は、接続先紹介サーバ２０に対して接続先候補（上流ノード候補）紹介要求メッセージを送信する（（２）接続先候補紹介要求）。これに対して接続先紹介サーバ２０は、内部で管理しているトポロジー管理情報の中から下流側に接続が可能なノードＮｎを検索し、当該検索した１以上の接続先候補の所在情報（ＩＰアドレス及びポート番号等のノード情報）を含む接続先候補応答メッセージを返信する（（３）接続先候補応答）。
【００３６】
続いて、ノードＮ１０は、接続先紹介サーバ２０から取得した接続先候補の中から条件に合う（或いは、ランダムに）例えばノードＮ２を選択（決定）し、当該ノードＮ２に対して接続要求メッセージを送信し（（４）接続要求）、当該ノードＮ２から接続許可応答メッセージの返信があった（（５）接続許可応答）場合には、コネクションを生成する。
【００３７】
そして、ノードＮ１０は、ノードＮ２に対してストリーム開始要求メッセージを送信し、これに応じてノードＮ２からストリーム配信されてきたコンテンツデータストリームの受信を開始する。
【００３８】
最後に、ノードＮ１０は、接続先紹介サーバ２０に対してトポロジー参加報告メッセージを送信する（（６）トポロジー参加報告）ことで再接続処理を完了する。
［１−２．ピュア型P2Pに基づくALMの制御方式］
本実施形態では、ピュア型P2Pに基づくALMの制御方式として、各ノードＮｎがツリートポロジーにおける最上位（頂点）付近のノード群（放送局１０を含む）を接続先候補の探索起点となるノード（以下、「探索起点ノード」という）としてキャッシュし、当該探索起点ノードを起点として下流方向へ接続先候補を探索し当該探索されたノードＮｎに再接続する手法を例にとって説明する。ここで、探索起点ノードは、ツリートポロジーの最上位付近に位置する長時間安定稼働している装置であり、初期状態では放送局１０のみが該当している。
【００３９】
なお、本手法では、任意のノードＮｎが再接続先を紹介してもらうために、問合せ（接続先候補探索要求）を発行する相手は、接続先紹介サーバ２０ではなく探索起点ノードになっている。
【００４０】
本手法は探索起点ノードのキャッシング工程、探索起点ノードを介した接続先候補の探索工程及び再接続工程から成り立つ。
【００４１】
［１−２−１．探索起点ノードのキャッシング工程］
図３及び図４は、探索起点ノードのキャッシングの様子を示す図である。
【００４２】
例えばツリー規模が小さい状況においては、図３（Ａ）に示すように、探索起点ノードは放送局１０のみとなっており、探索起点ノードの対象深度は最上位階層になる。探索起点ノードである放送局１０は、ツリートポロジーの放送経路（配信経路）を通じて、上流のノードＮｎから下流のノードＮｎに順次転送されるように、自己の所在情報（ＩＰアドレス及びポート番号等）を含む広告メッセージを放送（マルチキャスト配信）する（所在情報広告）。かかる広告メッセージを受信した各ノードＮｎは、当該探索起点ノードである放送局１０の所在情報をキャッシュするかたちで記憶しておき、再接続先候補を探索する場合には、図３（Ｂ）に示すように、当該探索起点ノードに対して、接続先候補の探索を指示する旨の接続先候補探索要求メッセージ（探索情報の一例）を送信する（接続先候補探索要求）ようになっている。
【００４３】
しかし、当該ツリートポロジーへの参加ノード数が増加することにより各ノードＮｎから単位時間当たりに発行される接続先候補探索要求メッセージの総量が増えると、該メッセージの送信先となる探索起点ノードに当該接続先候補探索要求メッセージが集中する確率が高くなるため、当該探索起点ノードでは、自ノードに発行される単位時間当たりの接続先候補探索要求メッセージ量を監視しておき、当該メッセージ量が許容値を超えた場合には、図４（Ａ）に示すように、下流側に接続（直接接続）されているノードＮｎ（図４（Ａ）の例では、ノードＮ１及びＮ２）に対して新たな探索起点ノードになるよう探索起点ノード昇格要請メッセージを送信する（探索起点ノード昇格要請）ようになっている。同様に、新たに探索起点ノードに昇格したノードＮｎも、自ノードに発行される単位時間当たりの受信接続先候補探索要求メッセージが許容値を超えた場合には、下流側に接続されているノードＮｎに対して探索起点ノード昇格要請メッセージを送信する。このような動作が繰り返されると、探索起点ノードの深度が次第に深くなっていき（下位階層に向かって下がっていき）、探索起点ノードの数が増加していくことになる。
【００４４】
こうして新たに探索起点ノードに昇格したノードＮｎは、自己の所在情報（ＩＰアドレス及びポート番号等のノード情報）を所定の時間間隔で（例えば定期的に）広告するため、図４（Ａ）に示すように、ツリートポロジーの放送経路を通じて広告メッセージを一旦放送局１０まで定期的に転送し、これを受けた放送局１０は、当該広告メッセージを取り纏め、ツリートポロジーの放送経路を通じて、上流のノードＮｎから下流のノードＮｎに順次転送されるように当該広告メッセージを放送する。かかる広告メッセージを受信した各ノードＮｎは、当該広告メッセージに記述された探索起点ノードの所在情報のリストを、次に広告メッセージを受信するまでキャッシュするかたちで記憶しておき、再接続先候補を探索する場合には、当該探索起点ノードに対して接続先候補探索要求メッセージを送信する（接続先候補探索要求）ことになる。このような仕組みにより、図４（Ｂ）に示すように、各ノードＮｎが再接続の際に発行する接続先候補探索要求メッセージは、複数の探索起点ノードに分散される。
【００４５】
［１−２−２．探索起点ノードを介した接続先候補の探索工程及び再接続工程］
図５は、ピュア型P2Pに基づくALMの制御方式においてノードＮ７が別のノードＮ１４に再接続する様子を示す図である。
【００４６】
図５（Ａ）の例において、ノードＮ７が、例えばストリーム受信品質の劣化により、ツリー型放送システムＳにおけるツリートポロジー上で再接続を行う場合、先ず、現在接続している上流のノードＮ３に対して接続破棄要求を発行し、当該上流のノードＮ３との接続を断ち切る（（１）接続断ち切り）。
【００４７】
続いて、ノードＮ７は、自ノードにおいて所在情報をキャッシュしている探索起点ノードのうちの何れかのノードＮｎ（図５（Ａ）の例では、ノードＮ２）に対して接続先候補探索要求メッセージを送信する（（２）接続先候補探索要求）。当該接続先候補探索要求メッセージを受信した探索起点ノードは、下流側に接続されているノードＮｎに対して当該メッセージを中継する（（３）接続先候補探索要求の中継）。こうして探索起点ノードから送信（中継）された接続先候補探索要求メッセージは、探索起点ノードを起点として下流に存在する所定範囲（この例では、探索範囲：２ホップ）のノードＮｎに順次転送されていくことになる。
【００４８】
続いて、当該接続先候補探索要求メッセージを受信した各ノードＮｎ（探索起点ノードを含む）は、当該メッセージのペイロード部に記述されている制約条件を参照し、自ノードが接続先候補と成り得る場合にのみ、接続先候補探索要求元のノードＮｎに対して接続先候補応答メッセージ（自身のＩＰアドレス及びポート番号等のノード情報を含む）を返信する（（４）接続先候補応答）。図５（Ａ）の例では、制約条件から、ノードＮ１４が接続先候補に該当しているが、複数のノードＮｎが該当する場合もありうる。
【００４９】
そして、図５（Ｂ）の例において、接続先候補応答メッセージを受信したノードＮ７は、取得した接続先候補の中から条件に合う（或いは、ランダムに）例えばノードＮ１４を選択（決定）し、当該ノードＮ１４に対して接続要求メッセージを送信し（（５）接続要求）、当該ノードＮ１４から接続許可応答メッセージの返信があった（（６）接続許可応答）場合には、コネクションを生成する。
【００５０】
そして、ノードＮ７は、ノードＮ１４に対してストリーム開始要求メッセージを送信し、これに応じてノードＮ１４からストリーム配信されてきたコンテンツデータストリームの受信を開始する。
【００５１】
最後に、ノードＮ７は、接続先紹介サーバ２０に対してトポロジー参加報告メッセージを送信することで再接続処理を完了する。
［１−３．放送局１０の構成等］
次に、図６を参照して、放送局１０の構成及び機能について説明する。
【００５２】
図６は、放送局１０の概要構成例を示す図である。
【００５３】
放送局１０は、図６に示すように、主電源１０１、主記憶装置１０２、ハードディスク装置１０３、ＣＰＵ１０４、ネットワークインタフェース１０５、周辺機器制御チップ１０６、ビデオチップ１０７、音源チップ１０８、及び内蔵スピーカ１１２等を備えて構成されている。また、放送局１０は、ルータ１１４を介してネットワーク８に接続される。なお、このような放送局１０として、専用の放送サーバの他、何れかのノードＮｎが適用されても良い。
【００５４】
また、主電源１０１、主記憶装置１０２、ハードディスク装置１０３、ＣＰＵ１０４、ネットワークインタフェース１０５、周辺機器制御チップ１０６、ビデオチップ１０７、及び音源チップ１０８は、システムバス１１３を介して相互に接続されている。また、キーボード１０９及びマウス１１０は、周辺機器制御チップ１０６に接続され、ディスプレイ１１１は、ビデオチップ１０７に接続されている。
【００５５】
主記憶装置１０２は、ＲＡＭ及びＲＯＭ等を備えて構成されており、オペレーティングシステム、ストリーム制御プログラム、画面制御プログラム、トポロジー制御プログラム、接続先候補探索プログラム、及びデコーダ（プログラム）等が記憶されている。また、主記憶装置１０２は、ノード管理テーブルを記憶しており、該ノード管理テーブルには、放送局１０の下流に接続されたノードＮｎの所在情報（ＩＰアドレス及びポート番号等）が登録される。また、主記憶装置１０２は、バッファメモリ（例えば、リングバッファ）を有する。
【００５６】
また、ハードディスク装置１０３には、放送用コンテンツデータが記録されている。
【００５７】
ＣＰＵ１０４は、主記憶装置１０２に記憶された各種プログラム（本発明の放送処理プログラムを含む）にしたがって（つまり、プログラムの実行により）、例えばハードディスク装置１０３に記録されたコンテンツデータをパケット化し、ノード管理テーブルに登録された下流のノードＮｎに対して放送（ストリーム配信）する放送処理を行うようになっている。更に、ＣＰＵ１０４は、上記プログラムの実行により本発明のノード情報放送手段、負荷状況監視手段、及び切替指示情報放送手段等として機能するようになっている。
【００５８】
また、ノード情報放送手段としてのＣＰＵ１０４は、上述したように、所定の時間間隔で（例えば定期的に）、探索起点ノードの所在情報を含む広告メッセージを、ツリートポロジーの放送経路を通じて、上流のノードＮｎから下流のノードＮｎに順次転送されるように放送する放送処理を行うようになっている。
【００５９】
更に、負荷状況監視手段としてのＣＰＵ１０４は、接続先紹介サーバ２０の負荷状況を監視するようになっており、切替指示情報放送手段としてのＣＰＵ１０４は、上記負荷状況の監視レベルが閾値以上になった場合には、各ノードＮｎに対して上記第一モード（ハイブリッドP2Pに基づく制御モード）から上記第二モード（ピュアP2Pに基づく制御モード）に選択を切り替える指示を与えるための切替指示メッセージ（切替指示情報の一例）を、ツリートポロジーの放送経路を通じて、上流のノードＮｎから下流のノードＮｎに順次転送されるように放送する放送処理を行うようになっている。
【００６０】
ここで、「接続先紹介サーバ２０の負荷」は、例えば、接続先紹介サーバ２０のＣＰＵ利用率、生死状態、単位時間当りのノード接続回数の増加傾向、接続先紹介サーバ２０が接続されているルータ機器のパケット受信率、人気放送サービスの開始時刻などから判断でき、これらは、接続先紹介サーバ２０を有するセンター設備に負荷を与える要因、若しくは負荷を与えそうな要因である。
【００６１】
図７は、放送局１０において監視対象とする負荷要因の一例を示す図である。
【００６２】
ノードＮｎに対して切替指示メッセージを放送するか否かの条件判断は、放送局１０自体で実施するが、監視データを収集する主体は監視項目に応じてそれぞれ異なる。例えば、図７に示す、接続先紹介サーバ２０の「生死状態」については放送局１０が直接監視を行うが、接続先紹介サーバ２０の「ＣＰＵ利用率」については接続先紹介サーバ２０が監視している情報を放送局１０が間接的に入手するかたちとなる。
【００６３】
このような接続先紹介サーバ２０の負荷状況を放送局１０が常時監視し、過負荷状態となる前に、監視レベルとしての測定値が閾値を超えたら放送局１０の下流側に広がるノードＮｎに対して、動作モードを第一モードから第二モードへ変更することを指示する切替指示メッセージを放送するのである。これにより、異常状態の予兆を契機として各ノードＮｎがハイブリッド型P2Pに基づくALMの制御方式から、ピュア型P2Pに基づくALMの制御方式に移行することができるので、センター設備への過負荷状態を避けることが可能となる。
【００６４】
一方、上記負荷状況の監視レベルが閾値を例えば一定時間だけ下回った場合には、切替指示情報放送手段としてのＣＰＵ１０４は、各ノードＮｎに対して上記第二モードから上記第一モードに選択を切り替える指示を与えるための切替指示メッセージを、上流のノードＮｎから下流のノードＮｎに順次転送されるように放送する放送処理を行うようになっている。つまり、放送局１０は下流側に広がるノードＮｎに対して、動作モードを第ニモードから第一モードへ戻すことを指示する切替指示メッセージを放送するのである。これにより、再び最適なトポロジー制御を行えるようになる。特に、１０，０００ノードを超える同報配信サービスを運用する場合は、トポロジー変動によるセンター設備への影響が顕著に現れるので、本方式によればサーバ設備を安全に運用する上で効果が期待できる。
【００６５】
図８は、動作モードの切替指示メッセージが放送局１０から放送される様子、及び切替指示メッセージのデータ構造例を示す図である。
【００６６】
図８に示すように、切替指示メッセージは、当該ツリートポロジーに参加している全てのノードＮｎに配信されることになる。また、当該切替指示メッセージは、ＩＰヘッダ、ＵＤＰ（User Datagram Protocol）ヘッダ、及び応用層ヘッダを含んで構成されたヘッダ部５１と、ペイロード部５２とから構成されている。ヘッダ部５１における応用層ヘッダには、動作モード切換指示のコマンドが記述されており、ペイロード部５２には、コマンドパラメータとして、第一モードと第二モードの何れかが記述される。
［１−４．接続先紹介サーバ２０の構成等］
次に、図９を参照して、接続先紹介サーバ２０の構成及び機能について説明する。
【００６７】
図９は、接続先紹介サーバ２０の概要構成例を示す図である。
【００６８】
接続先紹介サーバ２０は、図９に示すように、主電源２０１、主記憶装置２０２、ハードディスク装置２０３、ＣＰＵ２０４、ネットワークインタフェース２０５、周辺機器制御チップ２０６、及びビデオチップ２０７等を備えて構成されている。また、接続先紹介サーバ２０は、ルータ２１２を介してネットワーク８に接続される。
【００６９】
また、主電源２０１、主記憶装置２０２、ハードディスク装置２０３、ＣＰＵ２０４、ネットワークインタフェース２０５、周辺機器制御チップ２０６、及びビデオチップ２０７は、システムバス２１１を介して相互に接続されている。また、キーボード２０８及びマウス２０９は、周辺機器制御チップ２０６に接続され、ディスプレイ２１０は、ビデオチップ２０７に接続されている。
【００７０】
主記憶装置２０２は、ＲＡＭ及びＲＯＭ等を備えて構成されており、オペレーティングシステム、ノード管理プログラム、トポロジー管理プログラム、接続先候補紹介プログラム、運用管理プログラム、及び負荷監視プログラム等が記憶されている。
【００７１】
また、ハードディスク装置２０３には、放送局管理データベース及びトポロジーデータベースが構築されている。放送局管理データベースには、各放送局１０の所在情報（例えば、ＩＰアドレス及びポート番号等）が放送チャンネル情報（例えばチャンネル番号）に対応付けられて登録される。また、トポロジーデータベースには、トポロジー管理情報が登録されている。かかるトポロジー管理情報は、放送チャンネル毎に存在し、放送チャンル情報に対応付けられている。そして、トポロジー管理情報には、ツリートポロジーに参加している各ノードＮｎのノード情報（例えばＩＰアドレス及びポート番号）と、ツリートポロジーにおいて各ノードＮｎが位置する階層と、各ノードＮｎ夫々の下流に接続されているノードを示す下流ノード情報と、各ノードＮｎの下流側に接続可能なノードの接続許容数と、各ノードＮｎが他のノードＮｎへコンテンツデータを転送する転送能力と、が含まれている。ここで、転送能力とは、例えば、ノードＮｎのＣＰＵの処理速度（ＧＨｚ）やネットワーク８における有効帯域（例えば、データ転送速度（ｂｐｓ））のことをいう。
【００７２】
ＣＰＵ２０４は、主記憶装置２０２に記憶された各種プログラムにしたがって、例えばノードＮｎからの接続先候補紹介要求メッセージに応じて上記トポロジー管理情報から、下流側に接続されているノードの数が接続許容数に満たない（下流側に接続が可能なノードＮｎ）接続先候補を検索し、当該検索した１以上の接続先候補の所在情報を含む接続先候補応答メッセージを返信する返信処理を行うようになっている。
【００７３】
また、ＣＰＵ２０４は、自己の利用率、単位時間当りのノード接続回数の増加傾向、接続先紹介サーバ２０が接続されているルータ機器のパケット受信率、人気放送サービスの開始時刻を示す情報等の負荷状況の監視に必要な情報を放送局１０に定期的に通知する通知処理を行うようになっている。
［１−５．ノードＮｎの構成等］
次に、図１０を参照して、ノードＮｎの構成及び機能について説明する。
【００７４】
図１０は、ノードＮｎの概要構成例を示す図である。
【００７５】
ノードＮｎは、図１０に示すように、主電源３０１ａ、補助電源３０１ｂ、主記憶装置３０２、ハードディスク装置３０３、ＣＰＵ３０４、ネットワークインタフェース３０５、周辺機器制御チップ３０６、ビデオチップ３０７、音源チップ３０８、ユーザ入力用リモコン３１０との間で赤外線通信を行うための赤外線ポート３０９、内蔵ディスプレイ３１１、及び内蔵スピーカ３１２等を備えて構成されている。また、ノードＮｎは、ルータ３１４を介してネットワーク８に接続される。なお、ノードＮｎとしては、ＰＣ、ＳＴＢ（Set Top Box）、或いは、ＴＶ受信機等を適用可能である。
【００７６】
また、主電源３０１ａ、主記憶装置３０２、ハードディスク装置３０３、ＣＰＵ３０４、ネットワークインタフェース３０５、周辺機器制御チップ３０６、ビデオチップ３０７、及び音源チップ３０８は、システムバス３１３を介して相互に接続されている。
【００７７】
主記憶装置３０２は、ＲＡＭ及びＲＯＭ等を備えて構成されており、オペレーティングシステム、ストリーム制御プログラム、画面制御プログラム、トポロジー制御プログラム、接続先候補探索プログラム、及びデコーダ等が記憶されている。
【００７８】
また、主記憶装置３０２には、接続先紹介サーバ２０の所在情報（ＩＰアドレス及びポート番号等）が記憶されている。また、主記憶装置３０２は、ノード管理テーブルを記憶しており、該ノード管理テーブルには、自ノードの下流に接続されたノードＮｎのノード情報（ＩＰアドレス及びポート番号等）が登録される。
【００７９】
また、主記憶装置３０２は、受信したコンテンツデータを一時的に蓄積するためのバッファメモリ（例えば、リングバッファ）を有する。更に、主記憶装置３０２には、上述した再接続先候補となるノードＮｎを探索するための接続先候補探索要求メッセージの送信先となる探索起点ノードの所在情報のリストを予め記憶（キャッシュ）しておくためのキャッシュ領域が設けられている。
【００８０】
ＣＰＵ３０４は、主記憶装置３０２に記憶された各種プログラム（本発明のノード処理プログラムを含む）にしたがって、ツリー型放送システムＳに参加するための新規参加処理を実行し、参加後に放送局１０又は上流のノードＮｎから配信されネットワークインタフェース３０５を介して受信されたコンテンツデータのパケット（コンテンツストリーム）をバッファリングさせつつ再生処理を行うようになっている。
【００８１】
ここで、上記新規参加処理では、接続先紹介サーバ２０に対して接続先候補紹介要求メッセージが送信され、接続先紹介サーバ２０から紹介された上流のノードＮｎに接続（セッション確立）してストリーム開始要求がなされる。
【００８２】
また、上記再生処理では、受信されバッファメモリに蓄積されたコンテンツデータ（例えば、ビデオデータ及びオーディオデータ）が読み出されデコーダによりデコードされる。そして、デコードされたビデオデータ（映像情報）がビデオチップ３０７を通じて内蔵ディスプレイ３１１（又は図示しない外部ディスプレイ）に出力され、デコードされたオーディオデータ（音声情報）が音源チップ３０８を通じて内蔵スピーカ３１２（又は図示しない外部スピーカ）から出力される。
【００８３】
また、自ノードに下流のノードＮｎが接続されている場合、ＣＰＵ３０４は、バッファメモリに蓄積されたコンテンツデータの各パケットを当該下流のノードＮｎに転送（コンテンツストリームの中継）する転送処理を行うようになっている。
【００８４】
また、ＣＰＵ３０４は、ツリー型放送システムＳに参加後に放送局１０又は上流のノードＮｎから配信されネットワークインタフェース３０５を介して受信された広告メッセージに含まれる探索起点ノードの所在情報を、主記憶装置３０２におけるキャッシュ領域に記憶し、自ノードに下流のノードＮｎが接続されている場合、当該広告メッセージを当該下流のノードＮｎに転送する転送処理を行うようになっている。
【００８５】
更に、ＣＰＵ３０４は、上記プログラムの実行により本発明のモード選択手段、再接続処理手段、探索情報送信手段及びノード情報送信手段等として機能するようになっている。
【００８６】
モード選択手段としてのＣＰＵ３０４は、ツリー型放送システムＳに参加後に放送局１０又は上流のノードＮｎから配信されネットワークインタフェース３０５を介して受信された切替指示メッセージの、例えば、ペイロード部５２におけるコマンドパラメータにしたがって、上述した第一モード（ハイブリッドP2Pに基づく制御モード）と、上述した第二モード（ピュアP2Pに基づく制御モード）と、の何れか一方のモードを選択する選択処理を行うようになっている。つまり、各ノードＮｎは、放送局２０から放送されてくる動作モードの切替指示メッセージの受信を契機として、自ノードにおける再接続処理に関する制御方式を第一モードと第ニモードの間で交互に切り替えながら動作する。
【００８７】
そして、再接続処理手段としてのＣＰＵ３０４は、自己が現在接続している上流のノードＮｎとの接続を断ち切り別のノードＮｎに再接続する場合には、現在選択されている動作モード（第一モード又は第二モード）にしたがって、上述したように、再接続先候補のノード情報を取得すること（接続先紹介サーバ２０、又は接続先候補となるノードＮｎからの接続先候補応答メッセージの受信）により再接続先を決定し再接続処理を行うようになっている。
【００８８】
例えば、ＣＰＵ３０４は、再接続する際に第二モードが選択されている場合には、主記憶装置３０２におけるキャッシュ領域に記憶されている探索起点ノードの所在情報のリストから何れかの探索起点ノードの所在情報（ノード情報）を選択し、当該ノード情報にしたがって当該探索起点ノードに対して接続先候補探索要求メッセージを送信する送信処理を行う。こうして送信された接続先候補探索要求メッセージを受信した探索起点ノード及び当該探索起点ノードを起点として下流に存在する所定範囲のノードＮｎは、当該メッセージのペイロード部に記述されている制約条件を参照し、自ノードが接続先候補と成り得る場合、例えば、自ノードの下流にノードＮｎを接続可能である場合には、自ノードを再接続先候補となるノードＮｎとして自ノードのノード情報を含む接続先候補応答メッセージを、上記接続先候補探索要求メッセージの送信元のノードＮｎに対して送信することになる。
［２．ツリー型放送システムＳの動作］
次に、本実施形態に係るツリー型放送システムＳの動作について説明する。
（ノードＮｎの処理）
先ず、図１１乃至図１５を参照して、ノードＮｎにおけるＣＰＵ３０４の処理について説明する。
【００８９】
図１１乃至図１５は、ノードＮｎにおけるＣＰＵ３０４により実行される処理を示すフローチャートである。
【００９０】
図１１の処理は、例えば主電源３０１ａ及び補助電源３０１ｂのオンによりノードＮｎが起動することにより開始される。当該処理が開始されると、ステップＳ１では、ノードＮｎにおける各種プログラムが初期化され、動作モードのフラグに対して、上記第一モードが設定される。
【００９１】
ステップＳ２では、ユーザ入力用リモコン３１０を介してユーザからの新規参加要求があったか否か、又は自律的再接続事象１（第一モードでの再接続事象）が発生したか（生起されたか）否かが判別される。
【００９２】
そして、ユーザからの新規参加要求があった場合、又は自律的再接続事象１が発生した場合には（ステップＳ２：ＹＥＳ）、ステップＳ３に進み、ユーザからの新規参加要求及び自律的再接続事象１の発生がない場合には（ステップＳ２：ＮＯ）、ステップＳ６に進む。
【００９３】
ステップＳ３では、接続先紹介サーバ２０の所在情報にしたがって当該接続先紹介サーバ２０に対して接続先候補紹介要求メッセージが送信される。
【００９４】
ステップＳ４では、ノードＮｎの主電源３０１ａがオフになったか否かが判別される。そして、主電源３０１ａがオフになった場合には（ステップＳ４：ＹＥＳ）、ステップＳ５に進み、主電源３０１ａがオフになっていない場合には（ステップＳ４：ＮＯ）、ステップＳ２に戻る。
【００９５】
ステップＳ５では、主電源３０１ａがオフ状態になったことを契機として各種プログラムが終了され、補助電源３０１ｂがオフにされ、当該処理が終了する。
【００９６】
ステップＳ６では、接続先紹介サーバ２０又は再接続先候補となるノードＮｎから接続先候補応答メッセージが受信されたか否かが受信されたか否かが判別される。そして、接続先候補応答メッセージが受信された場合には（ステップＳ６：ＹＥＳ）、ステップＳ７に進み、接続先候補応答メッセージが受信されていない場合には（ステップＳ６：ＮＯ）、ステップＳ１１に進む。
【００９７】
ステップＳ７では、接続先候補応答メッセージの受信により取得された１又は複数の接続先（上流のノード）候補の中から条件に合う（或いは、ランダムに）ノードＮｎ４が接続先（又は再接続先）として一つ選択（決定）される。
【００９８】
ステップＳ８では、上記選択された接続先となるノードＮｎに対してＮＡＴ越え処理（ルータのＷＡＮ側のネットワークからＬＡＮ側ネットワークへパケットを通過させるための処理）が行われる。
【００９９】
ステップＳ９では、上記選択された接続先となるノードＮｎに対して接続要求メッセージが送信される。
【０１００】
ステップＳ１０では、接続処理を監視するために接続処理監視タイマが起動され、ステップＳ４に戻る。
【０１０１】
ステップＳ１１では、上記接続要求メッセージを受信した上流のノードＮｎから接続許可応答メッセージが受信されたか否かが判別される。そして、接続許可応答メッセージが受信された場合には（ステップＳ１１：ＹＥＳ）、ステップＳ１２に進み、接続許可応答メッセージが受信されていない場合には（ステップＳ１１：ＮＯ）、ステップＳ１６に進む。
【０１０２】
ステップＳ１２では、上記接続処理監視タイマが起動中であるか否かが判別される。そして、接続処理監視タイマが起動中である場合には（ステップＳ１２：ＹＥＳ）、当該タイマが停止され（ステップＳ１３）、ステップＳ１４に進み、接続処理監視タイマが起動中でない場合には（ステップＳ１２：ＮＯ）、ステップＳ１４に進む。
【０１０３】
ステップＳ１４では、上記接続許可応答メッセージを送信した上流のノードＮｎに対してストリーム開始要求メッセージが送信される。
【０１０４】
ステップＳ１５では、接続先紹介サーバ２０に対して自ノードのツリートポロジーへの参加報告メッセージが送信され、ステップＳ４に戻る。
【０１０５】
ステップＳ１６では、上記接続要求メッセージを受信した上流のノードＮｎから接続拒否応答メッセージが受信されたか否かが判別される。そして、接続拒否応答メッセージが受信された場合には（ステップＳ１６：ＹＥＳ）、ステップＳ１７に進み、接続拒否応答メッセージが受信されていない場合には（ステップＳ１６：ＮＯ）、ステップＳ２４に進む。
【０１０６】
ステップＳ１７では、接続処理監視タイマがタイムアウトしたか否かが判別される。そして、接続処理監視タイマがタイムアウトしている（接続処理時間切れ）場合には（ステップＳ１７：ＹＥＳ）、ステップＳ１８に進み、タイムアウトしていない（接続処理の再試行可能）場合には（ステップＳ１７：ＮＯ）、ステップＳ２０に進む。
【０１０７】
ステップＳ１８では、接続処理監視タイマが停止され、ステップＳ１９では、アプリケーションへ接続失敗通知がなされ、ステップＳ４に戻る。
【０１０８】
ステップＳ２０では、新規参加手続き中であるか否かが判別される。そして、新規参加手続き中である場合には（ステップＳ２０：ＹＥＳ）、ステップＳ２１に進み、新規参加手続き中でない場合には（ステップＳ２０：ＮＯ）、ステップＳ２２に進む。
【０１０９】
ステップＳ２１では、自律的再接続事象１（第一モードでの再接続事象）が生起され、ステップＳ４に戻る。
【０１１０】
ステップＳ２２では、動作モードのフラグに第二モードが設定（選択）されているか否かが判別される。そして、動作モードのフラグに第二モードが設定されていない場合には（ステップＳ２２：ＮＯ）、ステップＳ２１に進んで自律的再接続事象１（第一モードでの再接続事象）が生起され、第二モードが設定されている場合には（ステップＳ２２：ＹＥＳ）、ステップＳ２３に進んで自律的再接続事象２（第二モードでの再接続事象）が生起され、ステップＳ４に戻る。
【０１１１】
ステップＳ２４では、放送局１０又は上流のノードＮｎからコンテンツデータのパケットが受信されたか否かが判別される。
【０１１２】
そして、コンテンツデータのパケットが受信された場合には（ステップＳ２４：ＹＥＳ）、ステップＳ２５に進み、コンテンツデータのパケットが受信されていない場合には（ステップＳ２４：ＮＯ）、ステップＳ２９に進む。
【０１１３】
ステップＳ２５では、例えば主記憶装置３０２で管理されている受信品質情報が更新される。例えば、ＣＰＵ３０４は、受信品質情報として、過去一分間の平均パケットレート、平均パケット損失率、パケット到着ゆらぎ等を計算し、過去に計算され記憶された受信品質情報を更新する。
【０１１４】
ステップＳ２６では、自ノードの下流のノードＮｎが存在するか（下流側にノードＮｎが直接接続されているか）否かが判別される。そして、自ノードの下流のノードＮｎが存在する場合には（ステップＳ２６：ＹＥＳ）、当該下流のノードＮｎに対して上記受信されたコンテンツデータのパケットが転送（中継）され（ステップＳ２７）、ステップＳ２８に進む一方、自ノードに下流のノードＮｎが存在しない場合には（ステップＳ２６：ＮＯ）、ステップＳ２８に進む。
【０１１５】
ステップＳ２８では、コンテンツデータの再生が行われる。つまり、受信されバッファメモリに蓄積されたコンテンツデータが読み出され、内蔵ディスプレイ３１１及び内蔵スピーカ３１２等を介して再生出力される。
【０１１６】
ステップＳ２９では、他のノードＮｎから接続要求メッセージが受信されたか否かが判別される。そして、接続要求メッセージが受信された場合には（ステップＳ２９：ＹＥＳ）、ステップＳ３０に進み、接続要求メッセージが受信されていない場合には（ステップＳ２９：ＮＯ）、ステップＳ３４に進む。
【０１１７】
ステップＳ３０では、自ノードに接続されている下流のノードＮｎの数が、自ノードの接続許容数（上限）に達しているか否かが判別される。そして、下流のノードＮｎの数が自ノードの接続許容数に達している場合には（ステップＳ３０：ＹＥＳ）、ステップＳ３１に進み、下流のノードＮｎの数が自ノードの接続許容数に達していない場合には（ステップＳ３０：ＮＯ）、ステップＳ３２に進む。
【０１１８】
ステップＳ３１では、上記接続要求メッセージを送信したノードＮｎに対して接続拒否応答メッセージが送信され、ステップＳ４に戻る。
【０１１９】
ステップＳ３２では、上記接続要求メッセージを送信したノードＮｎのノード情報が下流のノード情報としてノード管理テーブルに追加登録される。
【０１２０】
ステップＳ３３では、上記接続要求メッセージを送信したノードＮｎに対して接続許可応答メッセージが送信され、ステップＳ４に戻る。こうして、当該接続要求メッセージを送信したノードＮｎは、自ノードに接続される新たな下流のノードＮｎとなる。
【０１２１】
ステップＳ３４では、下流のノードＮｎからストリーム開始要求メッセージが受信されたか否かが判別される。そして、ストリーム開始要求メッセージが受信された場合には（ステップＳ３４：ＹＥＳ）、ステップＳ３５に進み、ストリーム開始要求メッセージが受信されていない場合には（ステップＳ３４：ＮＯ）、ステップＳ３６に進む。
【０１２２】
ステップＳ３５では、ストリーム開始要求メッセージを送信した下流のノードＮｎに対してコンテンツデータのパケットの転送（中継）が開始（ストリーミング開始）され、ステップＳ４に戻る。
【０１２３】
ステップＳ３６では、下流のノードＮｎからストリーム停止要求メッセージが受信されたか否かが判別される。そして、ストリーム停止要求メッセージが受信された場合には（ステップＳ３６：ＹＥＳ）、ステップＳ３７に進み、ストリーム停止要求メッセージが受信されていない場合には（ステップＳ３６：ＮＯ）、ステップＳ３８に進む。
【０１２４】
ステップＳ３７では、下流のノードＮｎに対するコンテンツデータのパケットの転送が停止（ストリーミング停止）され、ステップＳ４に戻る。
【０１２５】
ステップＳ３８では、下流のノードＮｎから接続解除要求メッセージが受信されたか否かが判別される。そして、接続解除要求メッセージが受信された場合には（ステップＳ３８：ＹＥＳ）、ステップＳ３９に進み、接続解除要求メッセージが受信されていない場合には（ステップＳ３８：ＮＯ）、ステップＳ４０に進む。
【０１２６】
ステップＳ３９では、接続解除要求メッセージを送信した下流のノードＮｎのノード情報がノード管理テーブルから削除され、ステップＳ４に戻る。
【０１２７】
ステップＳ４０では、放送局１０又は上流のノードＮｎから動作モードの切替指示メッセージが受信されたか否かが判別される。そして、切替指示メッセージが受信された場合には（ステップＳ４０：ＹＥＳ）、ステップＳ４１に進み、切替指示メッセージが受信されていない場合には（ステップＳ４０：ＮＯ）、ステップＳ４４に進む。
【０１２８】
ステップＳ４１では、当該切替指示メッセージに記述されたモードへ、動作モードのフラグが変更設定される。
【０１２９】
ステップＳ４２では、自ノードの下流のノードＮｎが存在するか否かが判別される。そして、自ノードの下流のノードＮｎが存在する場合には（ステップＳ４２：ＹＥＳ）、当該下流のノードＮｎに対して上記受信された切替指示メッセージが転送（中継）され（ステップＳ４３）、ステップＳ４に戻り、自ノードに下流のノードＮｎが存在しない場合には（ステップＳ４２：ＮＯ）、ステップＳ４に戻る。
【０１３０】
ステップＳ４４では、上述した受信品質情報に基づき、例えばストリーム中継品質（受信品質）が閾値を下回ったか否かが判別される。そして、ストリーム中継品質が閾値を下回ったことが検知された場合には（ステップＳ４４：ＹＥＳ）、ステップＳ４５に進み、ストリーム中継品質が閾値を下回っていない場合には（ステップＳ４４：ＮＯ）、ステップＳ５１に進む。
【０１３１】
ステップＳ４５では、上流のノードＮｎに対してストリーム停止要求メッセージが送信され、続いて、ステップＳ４６では、当該上流のノードＮｎに対して接続解除要求メッセージが送信される。
【０１３２】
ステップＳ４７では、接続先紹介サーバ２０に対して自ノードのトポロジーからの脱退報告メッセージが送信される。
【０１３３】
ステップＳ４８では、動作モードのフラグに第一モードが設定されているか否かが判別される。そして、動作モードのフラグに第一モードが設定されていない場合には（ステップＳ４８：ＮＯ）、ステップＳ４９に進んで自律的再接続事象２（第二モードでの再接続事象）が生起され、第一モードが設定されている場合には（ステップＳ４８：ＹＥＳ）、ステップＳ５０に進んで自律的再接続事象１（第一モードでの再接続事象）が生起され、ステップＳ４に戻る。
【０１３４】
ステップＳ５１では、自律的再接続事象２（第二モードでの再接続事象）が発生したか（生起されたか）否かが判別される。自律的再接続事象２が発生した場合には（ステップＳ５１：ＹＥＳ）、ステップＳ５２に進み、自律的再接続事象２の発生がない場合には（ステップＳ５１：ＮＯ）、ステップＳ５３に進む。
【０１３５】
ステップＳ５２では、主記憶装置３０２におけるキャッシュ領域に記憶されている探索起点ノードの所在情報のリストから何れかの探索起点ノードが選択（例えば、ランダムに選択）され、当該選択された探索起点ノードに対して接続先候補探索要求メッセージが送信され、ステップＳ４に戻る。なお、当該接続先候補探索要求メッセージの送信後、複数の他ノードＮｎから接続先候補応答メッセージが受信される可能性があるので一定時間待機される。そして、複数の他ノードＮｎから接続先候補応答メッセージが受信された場合には（上記ステップＳ６）、その中から一つのノードＮｎが選択され（上記ステップＳ７）、当該ノードＮｎに対して接続要求メッセージが送信されることになる。なお、当該ノードＮｎから接続拒否応答メッセージが受信された場合であって上記接続処理監視タイマがタイムアウトしていないときは（再試行可能）、自律的再接続事象２が生起されることになる。
【０１３６】
ステップＳ５３では、他のノードＮｎから接続先候補探索要求メッセージが受信されたか否かが判別される。そして、接続先候補探索要求メッセージが受信された場合には（ステップＳ５３：ＹＥＳ）、ステップＳ５４に進み、接続先候補探索要求メッセージが受信されていない場合には（ステップＳ５３：ＮＯ）、ステップＳ６１に進む。
【０１３７】
ステップＳ５４では、上記接続先候補探索要求メッセージは上流のノードＮｎから受信されたか否かが判別される。当該接続先候補探索要求メッセージは、自ノードが探索起点ノードである場合とそうでない場合において受信し得る。前者は第二モードで接続先候補の探索元のノードＮｎから接続先候補探索要求メッセージを直接受信する場合、後者は第二モードで上流のノードＮｎから接続先候補探索要求メッセージを中継受信する場合がそれぞれ該当する。
【０１３８】
そして、上記接続先候補探索要求メッセージが上流のノードＮｎから受信されない、つまり、接続先候補の探索元のノードＮｎから受信された場合には（ステップＳ５４：ＮＯ）、前処理として単位時間当たりの当該メッセージの受信量が計算（ステップＳ５５）、一時的に記憶され、ステップＳ５６に進み、上記接続先候補探索要求メッセージが上流のノードＮｎから受信された場合には（ステップＳ５４：ＹＥＳ）、上記計算がされることなくステップＳ５６に進む。
【０１３９】
ステップＳ５６では、自ノードは接続先候補探索要求メッセージに記述されている制約条件に合致するノードであるか否か（例えば、自ノードの下流にノードＮｎを接続可能で（空きがあるか）否か）が判別される。そして、自ノードが上記制約条件に合致するノードである場合には（ステップＳ５６：ＹＥＳ）、接続先候補の探索元のノードＮｎに対して接続先候補応答メッセージが送信され（ステップＳ５７）、ステップＳ５８に進み、自ノードが上記制約条件に合致するノードでない場合には（ステップＳ５６：ＮＯ）、接続先候補の探索元のノードＮｎに対して接続先候補応答メッセージが送信されずにステップＳ５８に進む。
【０１４０】
ステップＳ５８では、上記接続先候補探索要求メッセージは、当該メッセージに記述されている探索範囲分だけ中継されたか否かが判別される。例えば、接続先候補探索要求メッセージのヘッダ部が参照され、当該メッセージがメッセージ内に規定されている探索範囲分だけ中継済みであるか否かが検査される（例えば「当該メッセージが１０ホップまでしか転送してはいけないと規定されおり、現在８ホップまで転送されてきている」ということが当該ヘッダ部から判別できる）。
【０１４１】
そして、当該接続先候補探索要求メッセージに記述されている探索範囲分だけ中継された場合（例えば、前例において既に１０ホップだけ転送されている場合）には（ステップＳ５８：ＹＥＳ）、当該メッセージが廃棄され（ステップＳ５９）、ステップＳ４に戻る。一方、当該接続先候補探索要求メッセージに記述されている探索範囲分だけ中継されていない場合（例えば、前例において、まだ８ホップしか転送されていない）には（ステップＳ５８：ＮＯ）、当該接続先候補探索要求メッセージの中継ポップ数が＋１され下流のノードＮｎに対して転送され（ステップＳ６０）、ステップＳ４に戻る。
【０１４２】
ステップＳ６１では、自ノードは探索起点ノードであり、かつ広告メッセージの送信契機になったか否かが判別される。そして、自ノードは探索起点ノードであり、かつ広告メッセージの送信契機になった場合には（ステップＳ６１：ＹＥＳ）、ステップＳ６２に進み、そうでない場合には（ステップＳ６１：ＮＯ）、ステップＳ６３に進む。
【０１４３】
ステップＳ６２では、放送局１０又は上流のノードＮｎに対して広告メッセージが送信される。例えば、広告メッセージは周期的（例えば１分毎に）送信されることになる。こうして、当該広告メッセージを受信した上流のノードＮｎでは、放送局１０に当該メッセージが到達するまでさらに上流のノードＮｎへ当該メッセージを転送することになる（なお、当該広告メッセージの中継処理（下流のノードＮｎから広告メッセージを受信した場合の処理）については、図示を省略する）。
【０１４４】
ステップＳ６３では、放送局１０又は上流のノードＮｎ（上流）から広告メッセージが受信されたか否かが判別される。そして、放送局１０又は上流のノードＮｎから広告メッセージが受信された場合には（ステップＳ６３：ＹＥＳ）、ステップＳ６４に進み、広告メッセージが受信されていない場合には（ステップＳ６３：ＮＯ）、ステップＳ６７に進む。
【０１４５】
ステップＳ６４では、広告メッセージに記述されている探索起点ノードの所在情報により、主記憶装置３０２におけるキャッシュ領域に記憶されている探索起点ノードの所在情報のリストが更新（キャッシュを更新）される。この更新処理は、例えば当該キャッシュをクリアしてから新たな探索起点ノードの所在情報をリストに追記することで、古い探索起点ノードの所在情報が残らないようにされる。
【０１４６】
ステップＳ６５では、自ノードの下流のノードＮｎが存在するか否かが判別される。そして、自ノードの下流のノードＮｎが存在する場合には（ステップＳ６５：ＹＥＳ）、当該下流のノードＮｎに対して上記受信された広告メッセージが転送（中継）され（ステップＳ６６）、ステップＳ４に戻る一方、自ノードに下流のノードＮｎが存在しない場合には（ステップＳ６５：ＮＯ）、ステップＳ４に戻る。
【０１４７】
ステップＳ６７では、自ノードは探索起点ノードであり、かつ単位時間当たりの接続先候補探索要求メッセージの受信量（ステップＳ５５で計算され記憶された受信量）は閾値を超えたか否かが判別される。そして、自ノードは探索起点ノードであり、かつ接続先候補探索要求メッセージの受信量が閾値を超えた場合には（ステップＳ６７：ＹＥＳ）、ステップＳ６８に進み、そうでない場合には（ステップＳ６７：ＮＯ）、ステップＳ７０に進む。
【０１４８】
ステップＳ６８では、自ノードに接続されている下流のノードＮｎは、探索起点ノードであるか否かが判別される。下流のノードＮｎが探索起点ノードでない場合には（ステップＳ６８：ＮＯ）、当該下流のノードＮｎに対して探索起点ノード昇格要請メッセージが送信され（ステップＳ６９）、ステップＳ４に戻り、下流のノードＮｎが探索起点ノードである場合には（ステップＳ６８：ＹＥＳ）、探索起点ノード昇格要請メッセージが送信されることなくステップＳ４に戻る。
【０１４９】
つまり、探索起点ノードの総量は、各探索起点ノードの負荷状態によって増減する。探索起点ノードにおける単位時間当たりの接続先候補探索要求メッセージ受信量が閾値を超えた場合であって、当該ノードに接続されている下流のノードＮｎが未だ探索起点ノードでない場合には、当該下流のノードＮｎに対して探索起点ノードへの昇格を指示することで探索起点ノードの総量を増やすことになる。
【０１５０】
ステップＳ７０では、自ノードは探索起点ノードであり、かつ単位時間当たりの接続先候補探索要求メッセージの受信量は閾値を下回ったか否かが判別される。そして、自ノードは探索起点ノードであり、かつ接続先候補探索要求メッセージの受信量が閾値を下回った場合には（ステップＳ７０：ＹＥＳ）、ステップＳ７１に進み、そうでない場合には（ステップＳ７０：ＮＯ）、ステップＳ７４に進む。
【０１５１】
ステップＳ７１では、自ノードに接続されている下流のノードＮｎは、探索起点ノードであるか否かが判別される。下流のノードＮｎが探索起点ノードでない場合には（ステップＳ７１：ＮＯ）、探索起点ノードとしての役割を終了し（ステップＳ７２）、放送局１０又は上流のノードＮｎに対して探索起点ノードとしての役割を終了することを示す役割終了メッセージが送信され（ステップＳ７３）、ステップＳ４に戻る。一方、下流のノードＮｎが探索起点ノードである場合には（ステップＳ７１：ＹＥＳ）、探索起点ノードとしての役割を終了することなくステップＳ４に戻る。
【０１５２】
つまり、探索起点ノードにおける単位時間当たりの接続先候補探索要求メッセージ受信量が閾値を下回った場合であって、当該ノードに接続されている下流のノードＮｎが未だ探索起点ノードでない場合には、当該ノードは探索起点ノードとしての役割を終えることになり、その旨を上流のノードＮｎへ通知して探索起点ノードの総量を減らすことになる。
【０１５３】
ステップＳ７４では、ユーザ入力用リモコン３１０を介してユーザからの脱退要求があったか否かが判別される。そして、ユーザからの脱退要求があった場合には（ステップＳ７４：ＹＥＳ）、ステップＳ７５に進み、ユーザからの脱退要求がない場合には（ステップＳ７４：ＮＯ）、ステップＳ４に戻る。
【０１５４】
ステップＳ７５では、上流のノードＮｎに対してストリーム停止要求メッセージが送信される。
【０１５５】
ステップＳ７６では、上流のノードＮｎに対して接続解除要求メッセージが送信される。こうして、自ノードはツリートポロジーから脱退することになる。
【０１５６】
そして、ステップＳ７７では、接続先紹介サーバ２０に対して自ノードのトポロジーからの脱退報告メッセージが送信される。
（放送局１０の処理）
次に、図１６及び図１７を参照して、放送局１０におけるＣＰＵ１０４の処理について説明する。
【０１５７】
図１６及び図１７は、放送局１０におけるＣＰＵ１０４により実行される処理を示すフローチャートである。
【０１５８】
図１６の処理は、主電源１０１のオンにより放送局１０が起動することにより開始される。当該処理が開始されると、ステップＳ１０１では、放送局１０における各種プログラムが初期化される。
【０１５９】
ステップＳ１０２では、放送運営者から放送開始又は停止要求があったか否かが判別される。放送開始又は停止要求があった場合には（ステップＳ１０２：ＹＥＳ）、ステップＳ１０３に進み、放送開始又は停止要求がない場合には（ステップＳ１０２：ＮＯ）、ステップＳ１０５に進む。
【０１６０】
ステップＳ１０３では、放送開始又は停止要求に応じて、コンテンツデータのパケットの生成処理が開始又は停止される。コンテンツデータのパケットの生成処理が開始されると、ハードディスク装置１０３に記録されたコンテンツデータに対して読み出しアクセスがなされ、システムタイマと同期が取られながら、コンテンツデータのパケットが生成され、当該パケットがバッファメモリに格納される。一方、コンテンツデータのパケットの生成処理の停止時には、上記ハードディスク装置１０３に記録されたコンテンツデータに対する読み出しアクセスが停止され、バッファメモリがクリアされる。
【０１６１】
ステップＳ１０４では、放送局１０の主電源１０１がオフになったか否かが判別される。そして、主電源１０１がオフになった場合には（ステップＳ１０４：ＹＥＳ）、各種プログラムが終了され、当該処理が終了する。一方、主電源１０１がオフになっていない場合には（ステップＳ１０４：ＮＯ）、ステップＳ１０２に戻る。
【０１６２】
ステップＳ１０５では、放送局１０の下流に接続されているノードＮｎから接続要求又は接続解除要求メッセージが受信されたか否かが判別される。そして、接続要求又は接続解除要求メッセージが受信された場合には（ステップＳ１０５：ＹＥＳ）、ステップＳ１０６に進み、接続要求又は接続解除要求メッセージが受信されない場合には（ステップＳ１０５：ＮＯ）、ステップＳ１０７に進む。
【０１６３】
ステップＳ１０６では、下流のノードＮｎのノード情報がノード管理テーブルに追加登録又は当該ノード情報がノード管理テーブルから削除される。
【０１６４】
ステップＳ１０７では、放送局１０の下流に接続されているノードＮｎからストリーム開始要求又はストリーム停止要求メッセージが受信されたか否かが判別される。そして、ストリーム開始要求又はストリーム停止要求メッセージが受信された場合には（ステップＳ１０７：ＹＥＳ）、ステップＳ１０８に進み、ストリーム開始要求又はストリーム停止要求メッセージが受信されない場合には（ステップＳ１０７：ＮＯ）、ステップＳ１０９に進む。
【０１６５】
ステップＳ１０８では、下流のノードＮｎに対してコンテンツデータのパケットの転送が開始又は停止され、ステップＳ１０４に戻る。
【０１６６】
ステップＳ１０９では、接続先紹介サーバ２０から取得された負荷状況の監視に必要な情報に基づき、接続先紹介サーバ２０の負荷状況の監視レベルが閾値を超えたか否かが判別される。ここで、当該負荷状況の監視レベルが閾値を超えた状況としては、監視レベルとしての測定値が閾値である許容値を超えたことの他、接続先紹介サーバ２０の過負荷状態の通知があった場合及び接続先紹介サーバ２０からの応答無しの場合も含まれる。
【０１６７】
なお、負荷状況の監視に必要な情報には、自己の利用率、単位時間当りのノード接続回数の増加傾向、接続先紹介サーバ２０が接続されているルータ機器のパケット受信率、人気放送サービスの開始時刻を示す情報等の他、接続先紹介サーバ２０からの過負荷状態の通知情報、当該過負荷状態回復の通知情報、応答（生死応答）無し情報、応答無し回復通知情報等が含まれる。
【０１６８】
そして、接続先紹介サーバ２０の負荷状況の監視レベルが閾値を超えた場合には（ステップＳ１０９：ＹＥＳ）、ステップＳ１１０に進み、当該負荷状況の監視レベルが閾値を超えない場合には（ステップＳ１０９：ＮＯ）、ステップＳ１１２に進む。
【０１６９】
ステップＳ１１０では、放送局１０の下流のノードＮｎが存在するか否かが判別される。そして、放送局１０の下流のノードＮｎが存在する場合には（ステップＳ１１０：ＹＥＳ）、当該下流のノードＮｎに対して、第二モードに選択を切り替える指示を与えるための切替指示メッセージが送信され（ステップＳ１１１）、ステップＳ１０４に戻り、自ノードに下流のノードＮｎが存在しない場合には（ステップＳ１１０：ＮＯ）、ステップＳ１０４に戻る。
【０１７０】
ステップＳ１１２では、接続先紹介サーバ２０から取得された負荷状況の監視に必要な情報に基づき、接続先紹介サーバ２０の負荷状況の監視レベルが閾値を所定時間下回ったか否かが判別される。ここで、当該負荷状況の監視レベルが閾値を下回った状況としては、監視レベルとしての測定値が閾値である許容値を下回ったことの他、接続先紹介サーバ２０の過負荷状態からの回復の通知があった場合及び接続先紹介サーバ２０からの応答回復の場合も含まれる。
【０１７１】
そして、接続先紹介サーバ２０の負荷状況の監視レベルが閾値を下回った場合には（ステップＳ１１２：ＹＥＳ）、ステップＳ１１３に進み、当該負荷状況の監視レベルが閾値を下回らない場合には（ステップＳ１１２：ＮＯ）、ステップＳ１１５に進む。
【０１７２】
ステップＳ１１３では、放送局１０の下流のノードＮｎが存在するか否かが判別される。そして、放送局１０の下流のノードＮｎが存在する場合には（ステップＳ１１３：ＹＥＳ）、当該下流のノードＮｎに対して、第一モードに選択を切り替える指示を与えるための切替指示メッセージが送信され（ステップＳ１１４）、ステップＳ１０４に戻り、放送局１０に下流のノードＮｎが存在しない場合には（ステップＳ１１３：ＮＯ）、ステップＳ１０４に戻る。
【０１７３】
ステップＳ１１５では、ノードＮｎから接続先候補探索要求メッセージが受信されたか否かが判別される。そして、接続先候補探索要求メッセージが受信された場合には（ステップＳ１１５：ＹＥＳ）、ステップＳ１１６に進み、接続先候補探索要求メッセージが受信されていない場合には（ステップＳ１１５：ＮＯ）、ステップＳ１２０に進む。
【０１７４】
ステップＳ１１６では、単位時間当たりの接続先候補探索要求メッセージの受信量が計算され一時的に記憶される。
【０１７５】
ステップＳ１１７では、放送局１０は接続先候補探索要求メッセージに記述されている制約条件に合致するノードであるか否か（例えば、放送局１０の下流にノードＮｎを接続可能で否か）が判別される。そして、放送局１０が上記制約条件に合致するノードである場合には（ステップＳ１１７：ＹＥＳ）、接続先候補の探索元のノードＮｎに対して接続先候補応答メッセージが送信され（ステップＳ１１８）、ステップＳ１１９に進み、自ノードが上記制約条件に合致するノードでない場合には（ステップＳ１１７：ＮＯ）、接続先候補の探索元のノードＮｎに対して接続先候補応答メッセージが送信されずにステップＳ１１９に進む。
【０１７６】
ステップＳ１１９では、当該接続先候補探索要求メッセージの中継ポップ数が＋１され下流のノードＮｎに対して転送され、ステップＳ１０４に戻る。
【０１７７】
ステップＳ１２０では、広告メッセージの送信契機になったか否かが判別される。そして、広告メッセージの送信契機になった場合には（ステップＳ１２０：ＹＥＳ）、ステップＳ１２１に進み、広告メッセージの送信契機になっていない場合には（ステップＳ１２０：ＮＯ）、ステップＳ１２３に進む。例えば、広告メッセージは周期的（例えば１分毎に）送信されることになる。なお、下流のノードＮｎからの広告メッセージの受信処理については図示を省略する。
【０１７８】
ステップＳ１２１では、放送局１０の下流のノードＮｎが存在するか否かが判別される。そして、放送局１０の下流のノードＮｎが存在する場合には（ステップＳ１２１：ＹＥＳ）、当該下流のノードＮｎに対して、上記広告メッセージが送信され（ステップＳ１２２）、ステップＳ１０４に戻り、放送局１０に下流のノードＮｎが存在しない場合には（ステップＳ１２１：ＮＯ）、ステップＳ１０４に戻る。
【０１７９】
ステップＳ１２３では、単位時間当たりの接続先候補探索要求メッセージの受信量（ステップＳ１１６で計算され記憶された受信量）は閾値を超えたか否かが判別される。そして、接続先候補探索要求メッセージの受信量が閾値を超えた場合には（ステップＳ１２３：ＹＥＳ）、ステップＳ１２４に進み、接続先候補探索要求メッセージの受信量が閾値を超えていない場合には（ステップＳ１２３：ＮＯ）、ステップＳ１０４に戻る。
【０１８０】
ステップＳ１２４では、放送局１０に接続されている下流のノードＮｎは、探索起点ノードであるか否かが判別される。下流のノードＮｎが探索起点ノードでない場合には（ステップＳ１２４：ＮＯ）、当該下流のノードＮｎに対して探索起点ノード昇格要請メッセージが送信され（ステップＳ１２５）、ステップＳ１０４に戻り、下流のノードＮｎが探索起点ノードである場合には（ステップＳ１２４：ＹＥＳ）、探索起点ノード昇格要請メッセージが送信されることなくステップＳ１０４に戻る。なお、下流のノードＮｎからの役割終了メッセージの受信処理については図示を省略する。
（接続先紹介サーバ２０の処理）
次に、図１８を参照して、接続先紹介サーバ２０におけるＣＰＵ２０４の処理について説明する。
【０１８１】
図１８は、接続先紹介サーバ２０におけるＣＰＵ２０４により実行される処理を示すフローチャートである。
【０１８２】
図１８の処理は、主電源２０１のオンにより接続先紹介サーバ２０が起動することにより開始される。当該処理が開始されると、ステップＳ２０１では、接続先紹介サーバ２０における各種プログラムが初期化される。
【０１８３】
ステップＳ２０２では、放送局１０から登録要求又は削除要求メッセージが受信されたか否かが判別される。そして、登録要求又は削除要求メッセージが受信された場合には（ステップＳ２０２：ＹＥＳ）、ステップＳ２０３に進み、登録要求及び削除要求メッセージが受信されない場合には（ステップＳ２０２：ＮＯ）、ステップＳ２０６に進む。
【０１８４】
ステップＳ２０３では、上記登録要求メッセージに含まれる所在情報等が、放送チャンネル情報に対応付けられて放送局管理データベースに登録される。又は、上記削除要求メッセージに含まれる所在情報等が放送局管理データベースから削除される。
【０１８５】
ステップＳ２０４では、当該所在情報が登録された放送局１０に対応する放送チャンネル情報がトポロジーデータベースに登録される。又は、当該放送チャンネル情報がトポロジーデータベースから削除される。
【０１８６】
ステップＳ２０５では、接続先紹介サービスが終了したか否かが判別される。そして、接続先紹介サービスが終了した場合には（ステップＳ２０５：ＹＥＳ）、当該処理が終了し、接続先紹介サービスが終了しない場合には（ステップＳ２０５：ＮＯ）、ステップＳ２０２に戻る。
【０１８７】
ステップＳ２０６では、ノードＮｎから接続先候補紹介要求メッセージが受信されたか否かが判別される。そして、接続先候補紹介要求メッセージが受信された場合には（ステップＳ２０６：ＹＥＳ）、ステップＳ２０７に進み、接続先候補紹介要求メッセージが受信されない場合には（ステップＳ２０６：ＮＯ）、ステップＳ２０９に進む。
【０１８８】
ステップ２０７では、トポロジーデータベースのトポロジー管理情報から、接続先候補が検索され、検索された１以上の接続先候補のノード情報が取得される。
【０１８９】
ステップＳ２０８では、上記取得された接続先候補のノード情報を含む接続先候補応答メッセージが、接続先候補紹介要求メッセージの送信元のノードＮｎに対して返信され、ステップＳ２０５に戻る。
【０１９０】
ステップＳ２０９では、ノードＮｎからトポロジー参加報告又は脱退報告メッセージが受信された否かが判別される。そして、トポロジー参加報告又は脱退報告メッセージが受信された場合には（ステップＳ２０９：ＹＥＳ）、ステップＳ２１０に進み、トポロジー参加報告及び脱退報告メッセージが受信されない場合には（ステップＳ２０９：ＮＯ）、ステップＳ２１２に進む。
【０１９１】
ステップＳ２１０では、トポロジー参加報告又は脱退報告メッセージにしたがってトポロジーデータベースに登録されたトポロジー管理情報が更新される。これにより、トポロジーの変動が反映される。
【０１９２】
ステップＳ２１１では、該当トポロジーにおける単位時間当りの接続頻度（ノード接続回数の増加傾向）が計算され一時記憶され、ステップＳ２０５に戻る。
【０１９３】
ステップＳ２１２では、負荷監視契機になったか否かが判別され、負荷監視契機になった場合には（ステップＳ２１２：ＹＥＳ）、ステップＳ２１３に進み、負荷監視契機になっていない場合には（ステップＳ２１２：ＮＯ）、ステップＳ２０５に戻る。
【０１９４】
ステップＳ２１３では、負荷監視対象が測定される。例えば、周期的（例えば１分毎）にＣＰＵ使用率、単位時間当たりのノード接続回数の増加傾向、ルータ機器のパケット受信率等の負荷に関する情報等が測定される。
【０１９５】
そして、ステップＳ２１４では、放送局１０に対して、上述した負荷状況の監視に必要な情報（例えば、測定値等）が送信される。なお、負荷監視対象の測定前の状態が正常状態であって測定後に過負荷状態であることが確認されたら、放送局１０に対して、過負荷状態を示す情報が負荷状況の監視に必要な情報として送信され、負荷監視対象の測定前の状態が過負荷状態であって測定後に正常状態であることが確認されたら、放送局１０に対して過負荷状態の回復を示す情報が負荷状況の監視に必要な情報として送信されるものであっても良い。
【０１９６】
以上説明したように上記実施形態によれば、放送局１０が、接続先紹介サーバ２０の負荷状況を監視し、当該負荷状況の監視レベルが閾値以上になった場合には、各ノードＮｎに対して上記第一モード（ハイブリッドP2Pに基づく制御モード）から上記第二モード（ピュアP2Pに基づく制御モード）に選択を切り替える指示を与えるための切替指示メッセージを、ツリートポロジーの放送経路を通じて、上流のノードＮｎから下流のノードＮｎに順次転送されるように放送するように構成したので、例えば異常状態の予兆を契機として、各ノードＮｎに上記第一モードから上記第二モードに切り替えさせることができ、センター設備への過負荷状態を回避しつつ、ハイブリッド型P2Pに基づくALMの制御方式と、ピュア型P2Pに基づくALMの制御方式との夫々の長所を生かしながら最適なトポロジー制御を行うことができる。
【０１９７】
また、接続先紹介サーバ２０の負荷状況の監視レベルが閾値を例えば一定時間だけ下回った場合には、各ノードＮｎに対して上記第二モードから上記第一モードに選択を切り替える指示を与えるための切替指示メッセージがツリートポロジーに参加している各ノードＮｎに対して放送されるように構成したので、各ノードＮｎを迅速に第一モードに戻させることができ、最適なトポロジー制御を行うことができる。特に、１０，０００ノードを超える同報配信サービスを運用する場合は、トポロジー変動によるセンター設備への影響が顕著に現れるので、サーバ設備を安全に運用する上で効果が期待できる。
【０１９８】
また、上述した実施形態における第二モード（ピュアP2Pに基づく制御モード）によれば、接続先紹介サーバ２０に負荷をかけずに、各ノードＮｎ間でより効率良く再接続先候補を探索することができ、なおかつ、メッセージ量に応じて探索起点ノードを増減させることにより、当該探索起点ノードにおける再接続先候補を探索するためのメッセージの処理負担を分散させることができる。
【０１９９】
また、探索起点ノードの所在情報を含む広告メッセージが、定期的にツリートポロジーの放送経路を通じて放送されるように構成したので、各ノードＮｎは常に最新の探索起点ノードの所在情報を取得することができ、これを第二モードで迅速に利用することができる。
【０２００】
なお、上記実施形態においては、第二モード（ピュアP2Pに基づく制御モード）として図３乃至図５を用いて説明した手法を適用したが、その他の手法を適用しても構わない。例えば、各ノードＮｎが近隣ノード（数ホップ以内の狭い範囲のノードＮｎ）間でノード情報を交換し合って記憶しておき、他の上流となるノードＮｎに再接続する場合には、上記記憶されているノード情報を用いるようにしても良い。
【図面の簡単な説明】
【０２０１】
【図１】本実施形態に係るツリー型放送システムにおける各ノード装置の接続態様の一例を示す図である。
【図２】ハイブリッド型P2Pに基づくALMの制御方式においてノードＮ１０が別のノードＮ２に再接続する様子を示す図である。
【図３】探索起点ノードのキャッシングの様子を示す図である。
【図４】探索起点ノードのキャッシングの様子を示す図である。
【図５】ピュア型P2Pに基づくALMの制御方式においてノードＮ７が別のノードＮ１４に再接続する様子を示す図である。
【図６】放送局１０の概要構成例を示す図である。
【図７】放送局１０において監視対象とする負荷要因の一例を示す図である。
【図８】動作モードの切替指示メッセージが放送局１０から放送される様子、及び切替指示メッセージのデータ構造例を示す図である。
【図９】接続先紹介サーバ２０の概要構成例を示す図である。
【図１０】ノードＮｎの概要構成例を示す図である。
【図１１】ノードＮｎにおけるＣＰＵ３０４により実行される処理を示すフローチャートである。
【図１２】ノードＮｎにおけるＣＰＵ３０４により実行される処理を示すフローチャートである。
【図１３】ノードＮｎにおけるＣＰＵ３０４により実行される処理を示すフローチャートである。
【図１４】ノードＮｎにおけるＣＰＵ３０４により実行される処理を示すフローチャートである。
【図１５】ノードＮｎにおけるＣＰＵ３０４により実行される処理を示すフローチャートである。
【図１６】放送局１０におけるＣＰＵ１０４により実行される処理を示すフローチャートである。
【図１７】放送局１０におけるＣＰＵ１０４により実行される処理を示すフローチャートである。
【図１８】接続先紹介サーバ２０におけるＣＰＵ２０４により実行される処理を示すフローチャートである。
【符号の説明】
【０２０２】
８  ネットワーク
９  オーバーレイネットワーク
１０  放送局
２０  接続先紹介サーバ
１０１，２０１，３０１ａ  主電源
３０１ｂ  補助電源
１０２，２０２，３０２  主記憶装置
１０３，２０３，３０３  ハードディスク装置
１０４，２０４，３０４  ＣＰＵ
１０５，２０５，３０５  ネットワークインタフェース
１０６，２０６，３０６  周辺機器制御チップ
１０７，２０７，３０７  ビデオチップ
１０８，３０８  音源チップ
１０９，２０８  キーボード
１１０，２０９  マウス
１１１，２１０  ディスプレイ
１１２，３１２  内蔵スピーカ
１１３，２１１，３１３  システムバス
１１４，２１２，３１４  ルータ
３０９  赤外線ポート
３１０  ユーザ入力用リモコン
３１１  内蔵ディスプレイ
Ｎｎ  ノード
Ｓ  ツリー型放送システム
【図１】
0004518169.tif 000002
【図２】
0004518169.tif 000003
【図３】
0004518169.tif 000004
【図４】
0004518169.tif 000005
【図５】
0004518169.tif 000006
【図６】
0004518169.tif 000007
【図７】
0004518169.tif 000008
【図８】
0004518169.tif 000009
【図９】
0004518169.tif 000010
【図１０】
0004518169.tif 000011
【図１１】
0004518169.tif 000012
【図１２】
0004518169.tif 000013
【図１３】
0004518169.tif 000014
【図１４】
0004518169.tif 000015
【図１５】
0004518169.tif 000016
【図１６】
0004518169.tif 000017
【図１７】
0004518169.tif 000018
【図１８】
0004518169.tif 000019