説明

ツリー型放送システム、モード切替指示方法、放送装置、及び放送処理プログラム

【課題】ハイブリッド型P2Pに基づくALMの制御方式と、ピュア型P2Pに基づくALMの制御方式との夫々の長所を生かしながら最適なトポロジー制御を行うことが可能なツリー型放送システム、モード切替指示方法、放送装置、及び放送処理プログラムを提供する。
【解決手段】複数のノード装置の参加により形成されたツリー型放送システムにおける放送装置は、サーバ装置の負荷状況を監視し、負荷状況の監視レベルが閾値以上になった場合には、各ノード装置に対してハイブリッド型P2Pに基づくALMの制御方式からピュア型P2Pに基づくALMの制御方式に切り替える指示を与えるための切替指示情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型の通信システムの技術分野に関する。
【背景技術】
【0002】
従来から、アプリケーション層においてコンテンツデータの配信(放送)経路を管理しながらコンテンツデータストリームの中継配信を行う「Application Layer Multicast(ALM)」という技術が知られている。例えば、特許文献1に開示されたツリー型放送システムにおいては、該システムに参加している複数のノード装置が放送局(例えば、放送装置)を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、当該放送局から放送されたコンテンツデータが、上位階層のノード装置から下位階層のノード装置に順次転送されるようになっている。
【0003】
このようなツリー型放送システムにおいては、センター設備の接続先紹介サーバが全体のツリートポロジー(配信トポロジー)を集中管理する制御方式(以下、「ハイブリッド型P2Pに基づくALMの制御方式」という)と、個々のノード装置が部分的なツリートポロジーを分散管理する制御方式(以下、「ピュア型P2Pに基づくALMの制御方式」という)とが存在する。
【特許文献1】特開2006−33514号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、ハイブリッド型P2Pに基づくALMの制御方式は、ツリートポロジーを効率良く生成/管理できる一方、当該トポロジーを管理する接続先紹介サーバのスケーラビリティや耐障害性に課題がある。通常、ハイブリッド型P2Pに基づくALMの制御方式の運用では、システム運用者が視聴ユーザの最大参加数を見積もり、これに対応可能な性能を持ったサーバやルータ機器を準備するが、最大参加数の見積りに誤りがあったり、接続先紹介サーバにおいて予期せぬ障害が発生したりすると、ツリー型放送システムに参加中のノード装置において再接続処理に多くの時間を要したり、再接続処理自体ができなくなったりする。この結果、別のノード装置の再接続処理を誘発し、該システム上において多数のノード装置が再接続処理を繰り返すようになり、サーバやルータ機器に多大な負荷を与えてしまうことになる。
【0005】
一方、ピュア型P2Pに基づくALMの制御方式は、接続先紹介サーバが存在しないのでスケーラビリティや耐障害性の点で優位性があるが、ノード装置の離脱や再参加の頻度が高いとトポロジー情報伝播遅延の影響により当該トポロジーが不安定になる課題がある。
【0006】
このようにハイブリッド型P2Pに基づくALMの制御方式と、ピュア型P2Pに基づくALMの制御方式には、夫々長所と短所が存在する。
【0007】
そこで、本発明は、以上の点等に鑑みてなされたものであり、ハイブリッド型P2Pに基づくALMの制御方式と、ピュア型P2Pに基づくALMの制御方式との夫々の長所を生かしながら最適なトポロジー制御を行うことが可能なツリー型放送システム、モード切替指示方法、放送装置、及び放送処理プログラムを提供することを課題とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、請求項1に記載の発明は、複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層のノード装置から下位階層のノード装置に順次転送されるようにし、且つ、前記ノード装置が、再接続先候補となるノード装置のノード情報を、前記ツリー型放送システムにおけるノード装置間の接続態様を管理するサーバ装置から取得することにより再接続先を決定する第一モードと、再接続先候補となるノード装置のノード情報を前記ツリー型放送システムに参加している何れかのノード装置から取得することにより再接続先を決定する第二モードと、の何れか一方のモードを選択するモード選択手段と、自己が現在接続している上位階層のノード装置との接続を断ち切り別のノード装置に再接続する場合には、現在選択されている前記モードにしたがって前記ノード情報を取得することにより再接続先を決定し再接続処理を行う再接続処理手段と、を備えるようにしたツリー型放送システムにおける前記放送装置であって、前記サーバ装置の負荷状況を監視する負荷状況監視手段と、前記負荷状況の監視レベルが閾値以上になった場合には、各前記ノード装置に対して前記第二モードに選択を切り替える指示を与えるための切替指示情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送する切替指示情報放送手段と、を備えることを特徴とする。
【0009】
この発明によれば、放送装置がサーバ装置の負荷状況を監視し、当該負荷状況の監視レベルが閾値以上になった場合には、各ノード装置に対して前記第二モードに選択を切り替える指示を与えるための切替指示情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送するように構成したので、例えば異常状態の予兆を契機として、各ノード装置に上記第一モードから上記第二モードに切り替えさせることができ、センター設備への過負荷状態を回避しつつ、ハイブリッド型P2Pに基づくALMの制御方式と、ピュア型P2Pに基づくALMの制御方式との夫々の長所を生かしながら最適なトポロジー制御を行うことができる。
【0010】
請求項2に記載の発明は、請求項1に記載の放送装置において、前記負荷状況の監視レベルが閾値を下回った場合には、前記切替指示情報放送手段は、前記各ノード装置に対して前記第一モードに選択を切り替える指示を与えるための切替指示情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送することを特徴とする。
【0011】
この発明によれば、負荷状況の監視レベルが閾値を下回った場合には、各ノード装置を迅速に第一モードに戻させることができ、最適なトポロジー制御を行うことができる。
【0012】
請求項3に記載の発明は、複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層のノード装置から下位階層のノード装置に順次転送されるようにしたツリー型放送システムであって、前記ノード装置は、再接続先候補となるノード装置のノード情報を、前記ツリー型放送システムにおけるノード装置間の接続態様を管理するサーバ装置から取得することにより再接続先を決定する第一モードと、再接続先候補となるノード装置のノード情報を前記ツリー型放送システムに参加している何れかのノード装置から取得することにより再接続先を決定する第二モードと、の何れか一方のモードを選択するモード選択手段と、自己が現在接続している上位階層のノード装置との接続を断ち切り別のノード装置に再接続する場合には、現在選択されている前記モードにしたがって前記ノード情報を取得することにより再接続先を決定し再接続処理を行う再接続処理手段と、を備え、前記放送装置は、前記サーバ装置の負荷状況を監視する負荷状況監視手段と、前記負荷状況の監視レベルが閾値以上になった場合には、各前記ノード装置に対して前記第二モードに選択を切り替える指示を与えるための切替指示情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送する切替指示情報放送手段と、を備えることを特徴とする。
【0013】
この発明によれば、例えば異常状態の予兆を契機として、各ノード装置に上記第一モードから上記第二モードに切り替えさせることができ、センター設備への過負荷状態を回避しつつ、ハイブリッド型P2Pに基づくALMの制御方式と、ピュア型P2Pに基づくALMの制御方式との夫々の長所を生かしながら最適なトポロジー制御を行うことができる。
【0014】
請求項4に記載の発明は、請求項3に記載のツリー型放送システムにおいて、前記負荷状況の監視レベルが閾値を下回った場合には、前記切替指示情報放送手段は、前記各ノード装置に対して前記第一モードに選択を切り替える指示を与えるための切替指示情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送することを特徴とする。
【0015】
この発明によれば、負荷状況の監視レベルが閾値を下回った場合には、各ノード装置を第一モードに戻させることができ、最適なトポロジー制御を行うことができる。
【0016】
請求項5に記載の発明は、請求項3又は4に記載のツリー型放送システムにおいて、前記ノード装置は、再接続先候補となるノード装置を探索するための探索情報の送信先となるノード装置のノード情報を予め記憶しておくための記憶手段と、前記再接続する際に前記第二モードが選択されている場合には、前記探索情報の送信先となるノード装置のノード情報にしたがって当該ノード装置に対して前記探索情報を送信する探索情報送信手段と、備え、前記探索情報の送信元のノード装置から送信された探索情報は、当該探索情報を受信した前記探索情報の送信先となるノード装置を起点として下位階層に存在する所定範囲のノード装置に順次転送されていき、前記探索情報を受信した各ノード装置は、自己の下位階層にノード装置を接続可能であるか否かを判断し、接続可能である場合には、自己を再接続先候補となるノード装置として自己のノード情報を、前記探索情報の送信元のノード装置に対して送信するノード情報送信手段を備えることを特徴とする。
【0017】
この発明によれば、ツリー型放送システムにおける各ノード装置は、第二モードを利用してより効率良く再接続先候補となるノード装置を探索することができる。
【0018】
請求項6に記載の発明は、請求項5に記載のツリー型放送システムにおいて、前記放送装置は、所定の時間間隔で、前記探索情報の送信先となるノード装置のノード情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送するノード情報放送手段を備えることを特徴とする。
【0019】
この発明によれば、ツリー型放送システムにおける各ノード装置は、探索情報の送信先となるノード装置のノード情報を効率良く取得することができる。
【0020】
請求項7に記載の発明は、請求項6に記載のツリー型放送システムにおいて、前記探索情報の送信先となるノード装置のノード情報を受信した各ノード装置は、当該ノード情報を前記記憶手段に記憶することを特徴とする。
【0021】
請求項8に記載の放送処理プログラムの発明は、コンピュータを、請求項1又は2に記載の放送装置として機能させることを特徴とする。
【0022】
請求項9に記載のノード処理プログラムの発明は、コンピュータを、請求項3乃至7の何れか一項に記載のツリー型放送システムにおけるノード装置として機能させることを特徴とする。
【0023】
請求項10に記載の発明は、複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層のノード装置から下位階層のノード装置に順次転送されるようにしたツリー型放送システムにおけるモード切替指示方法であって、前記ノード装置は、再接続先候補となるノード装置のノード情報を、前記ツリー型放送システムにおけるノード装置間の接続態様を管理するサーバ装置から取得することにより再接続先を決定する第一モードと、再接続先候補となるノード装置のノード情報を前記ツリー型放送システムに参加している何れかのノード装置から取得することにより再接続先を決定する第二モードと、の何れか一方のモードを選択する工程と、自己が現在接続している上位階層のノード装置との接続を断ち切り別のノード装置に再接続する場合には、現在選択されている前記モードにしたがって前記ノード情報を取得することにより再接続先を決定し再接続処理を行う工程と、を備え、前記放送装置は、前記サーバ装置の負荷状況を監視する工程と、前記負荷状況の監視レベルが閾値以上になった場合には、各前記ノード装置に対して前記第二モードに選択を切り替える指示を与えるための切替指示情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送する工程と、を備えることを特徴とする。
【発明の効果】
【0024】
本発明によれば、放送装置がサーバ装置の負荷状況を監視し、当該負荷状況の監視レベルが閾値以上になった場合には、各ノード装置に対して前記第二モードに選択を切り替える指示を与えるための切替指示情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送するように構成したので、例えば異常状態の予兆を契機として、各ノード装置に上記第一モードから上記第二モードに切り替えさせることができ、センター設備への過負荷状態を回避しつつ、ハイブリッド型P2Pに基づくALMの制御方式と、ピュア型P2Pに基づくALMの制御方式との夫々の長所を生かしながら最適なトポロジー制御を行うことができる。
【発明を実施するための最良の形態】
【0025】
以下、本発明の最良の実施形態を図面に基づいて説明する。
1.ツリー型放送システムの構成等
始めに、図1等を参照して、本発明の一実施形態に係るツリー型放送システムの概要構成及び機能について説明する。
【0026】
図1は、本実施形態に係るツリー型放送システムにおける各ノード装置の接続態様の一例を示す図である。
【0027】
図1の下部枠101内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4a,4b、DSL(Digital Subscriber Line)回線事業者(の装置)5a,5b、FTTH(Fiber To The Home)回線事業者(の装置)6、及び通信回線(例えば、電話回線や光ケーブル等)7等によって、インターネット等のネットワーク(現実世界の通信ネットワーク)8が構築されている。なお、図1の例におけるネットワーク(通信ネットワーク)8には、データ(パケット)を転送するためのルータが、適宜挿入されているが図示を省略している。
【0028】
このようなネットワーク8には、複数のノード装置(以下、「ノード」という)Nn(n=1,2,3・・・の何れか)が接続されている。また、各ノードNnには、固有の製造番号およびIP(Internet Protocol)アドレスが割り当てられている。このような製造番号およびIPアドレスは、複数のノード間で重複しないものである。
【0029】
そして、本実施形態に係るツリー型放送システムSは、これらのノードNnのうち、図1の上部枠100内に示すように、何れか複数のノードNnの参加により形成(構成)されるピアツーピア方式のネットワークシステムであり、該システムS(言い換えれば、ツリートポロジー)に参加している複数のノードNnが放送局(放送装置)10を最上位として複数の階層を形成しつつネットワーク8を介してツリー状に接続されている。なお、図1の上部枠100内に示すネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク9(論理的なネットワーク)である。
【0030】
このようなツリー型放送システムSにおいては、放送局(放送装置)10により放送(例えばストリーム配信)されたコンテンツデータが、上位階層(以下、「上流」という)のノードNnから下位階層(以下、「下流」という)のノードNnに順次転送(例えばストリーム中継処理による)されるようになっている。
【0031】
また、ツリー型放送システムSに参加している各ノードNnは、上流のノードNnからのストリーム受信状態を監視し、例えば一定の受信品質(視聴品質)未満となったことを契機として、自己が現在接続している上流のノードNnとの接続(コネクション)を断ち切り別のノードNnに再接続(つまり、接続先を変更)するようになっている。なお、受信品質の評価基準としては、過去一定期間における平均パケットレートおよびパケット損失率を用いることができる。また、上記再接続の契機は、ツリー型放送システムSから脱退する上流のノードNnからの離脱イベントの通知を下流のノードNnが受けたときであっても良い。
【0032】
そして、本実施形態におけるツリー型放送システムSでは、上記再接続を制御する方式として、ハイブリッド型P2Pに基づくALMの制御方式と、ピュア型P2Pに基づくALMの制御方式と、の2つの制御方式が任意の契機で切り替えられ用いられるようになっている。ハイブリッド型P2Pに基づくALMの制御方式では、各ノードNnが再接続先候補となるノードNnの所在情報(IPアドレス及びポート番号等のノード情報)を、ツリー型放送システムSにおけるノードNn間の接続態様を管理するサーバ装置である接続先紹介サーバ20から取得することにより再接続先を決定する(かかる方式を、以下、「第一モード(ハイブリッドP2Pに基づく制御モード)」と称する)。一方、ピュア型P2Pに基づくALMの制御方式では、各ノードNnが再接続先候補となるノードNnの所在情報をツリー型放送システムSに参加している何れかのノードNnから取得することにより再接続先を決定する(かかる方式を、以下、「第二モード(ピュアP2Pに基づく制御モード)」と称する)。
【0033】
ここで、ハイブリッド型P2Pに基づくALMの制御方式とピュア型P2Pに基づくALMの制御方式におけるノードNnの再接続について夫々説明する。
[1−1.ハイブリッド型P2Pに基づくALMの制御方式]
図2は、ハイブリッド型P2Pに基づくALMの制御方式においてノードN10が別のノードN2に再接続する様子を示す図である。
【0034】
図2の例において、ノードN10が、例えばストリーム受信品質の劣化により、ツリー型放送システムSにおけるツリートポロジー上で再接続を行う場合、先ず、現在接続している上流のノードN5に対して接続(コネクション)破棄要求を発行し、当該上流のノードN5との接続を断ち切る((1)接続断ち切り)。
【0035】
続いて、ノードN10は、接続先紹介サーバ20に対して接続先候補(上流ノード候補)紹介要求メッセージを送信する((2)接続先候補紹介要求)。これに対して接続先紹介サーバ20は、内部で管理しているトポロジー管理情報の中から下流側に接続が可能なノードNnを検索し、当該検索した1以上の接続先候補の所在情報(IPアドレス及びポート番号等のノード情報)を含む接続先候補応答メッセージを返信する((3)接続先候補応答)。
【0036】
続いて、ノードN10は、接続先紹介サーバ20から取得した接続先候補の中から条件に合う(或いは、ランダムに)例えばノードN2を選択(決定)し、当該ノードN2に対して接続要求メッセージを送信し((4)接続要求)、当該ノードN2から接続許可応答メッセージの返信があった((5)接続許可応答)場合には、コネクションを生成する。
【0037】
そして、ノードN10は、ノードN2に対してストリーム開始要求メッセージを送信し、これに応じてノードN2からストリーム配信されてきたコンテンツデータストリームの受信を開始する。
【0038】
最後に、ノードN10は、接続先紹介サーバ20に対してトポロジー参加報告メッセージを送信する((6)トポロジー参加報告)ことで再接続処理を完了する。
[1−2.ピュア型P2Pに基づくALMの制御方式]
本実施形態では、ピュア型P2Pに基づくALMの制御方式として、各ノードNnがツリートポロジーにおける最上位(頂点)付近のノード群(放送局10を含む)を接続先候補の探索起点となるノード(以下、「探索起点ノード」という)としてキャッシュし、当該探索起点ノードを起点として下流方向へ接続先候補を探索し当該探索されたノードNnに再接続する手法を例にとって説明する。ここで、探索起点ノードは、ツリートポロジーの最上位付近に位置する長時間安定稼働している装置であり、初期状態では放送局10のみが該当している。
【0039】
なお、本手法では、任意のノードNnが再接続先を紹介してもらうために、問合せ(接続先候補探索要求)を発行する相手は、接続先紹介サーバ20ではなく探索起点ノードになっている。
【0040】
本手法は探索起点ノードのキャッシング工程、探索起点ノードを介した接続先候補の探索工程及び再接続工程から成り立つ。
【0041】
[1−2−1.探索起点ノードのキャッシング工程]
図3及び図4は、探索起点ノードのキャッシングの様子を示す図である。
【0042】
例えばツリー規模が小さい状況においては、図3(A)に示すように、探索起点ノードは放送局10のみとなっており、探索起点ノードの対象深度は最上位階層になる。探索起点ノードである放送局10は、ツリートポロジーの放送経路(配信経路)を通じて、上流のノードNnから下流のノードNnに順次転送されるように、自己の所在情報(IPアドレス及びポート番号等)を含む広告メッセージを放送(マルチキャスト配信)する(所在情報広告)。かかる広告メッセージを受信した各ノードNnは、当該探索起点ノードである放送局10の所在情報をキャッシュするかたちで記憶しておき、再接続先候補を探索する場合には、図3(B)に示すように、当該探索起点ノードに対して、接続先候補の探索を指示する旨の接続先候補探索要求メッセージ(探索情報の一例)を送信する(接続先候補探索要求)ようになっている。
【0043】
しかし、当該ツリートポロジーへの参加ノード数が増加することにより各ノードNnから単位時間当たりに発行される接続先候補探索要求メッセージの総量が増えると、該メッセージの送信先となる探索起点ノードに当該接続先候補探索要求メッセージが集中する確率が高くなるため、当該探索起点ノードでは、自ノードに発行される単位時間当たりの接続先候補探索要求メッセージ量を監視しておき、当該メッセージ量が許容値を超えた場合には、図4(A)に示すように、下流側に接続(直接接続)されているノードNn(図4(A)の例では、ノードN1及びN2)に対して新たな探索起点ノードになるよう探索起点ノード昇格要請メッセージを送信する(探索起点ノード昇格要請)ようになっている。同様に、新たに探索起点ノードに昇格したノードNnも、自ノードに発行される単位時間当たりの受信接続先候補探索要求メッセージが許容値を超えた場合には、下流側に接続されているノードNnに対して探索起点ノード昇格要請メッセージを送信する。このような動作が繰り返されると、探索起点ノードの深度が次第に深くなっていき(下位階層に向かって下がっていき)、探索起点ノードの数が増加していくことになる。
【0044】
こうして新たに探索起点ノードに昇格したノードNnは、自己の所在情報(IPアドレス及びポート番号等のノード情報)を所定の時間間隔で(例えば定期的に)広告するため、図4(A)に示すように、ツリートポロジーの放送経路を通じて広告メッセージを一旦放送局10まで定期的に転送し、これを受けた放送局10は、当該広告メッセージを取り纏め、ツリートポロジーの放送経路を通じて、上流のノードNnから下流のノードNnに順次転送されるように当該広告メッセージを放送する。かかる広告メッセージを受信した各ノードNnは、当該広告メッセージに記述された探索起点ノードの所在情報のリストを、次に広告メッセージを受信するまでキャッシュするかたちで記憶しておき、再接続先候補を探索する場合には、当該探索起点ノードに対して接続先候補探索要求メッセージを送信する(接続先候補探索要求)ことになる。このような仕組みにより、図4(B)に示すように、各ノードNnが再接続の際に発行する接続先候補探索要求メッセージは、複数の探索起点ノードに分散される。
【0045】
[1−2−2.探索起点ノードを介した接続先候補の探索工程及び再接続工程]
図5は、ピュア型P2Pに基づくALMの制御方式においてノードN7が別のノードN14に再接続する様子を示す図である。
【0046】
図5(A)の例において、ノードN7が、例えばストリーム受信品質の劣化により、ツリー型放送システムSにおけるツリートポロジー上で再接続を行う場合、先ず、現在接続している上流のノードN3に対して接続破棄要求を発行し、当該上流のノードN3との接続を断ち切る((1)接続断ち切り)。
【0047】
続いて、ノードN7は、自ノードにおいて所在情報をキャッシュしている探索起点ノードのうちの何れかのノードNn(図5(A)の例では、ノードN2)に対して接続先候補探索要求メッセージを送信する((2)接続先候補探索要求)。当該接続先候補探索要求メッセージを受信した探索起点ノードは、下流側に接続されているノードNnに対して当該メッセージを中継する((3)接続先候補探索要求の中継)。こうして探索起点ノードから送信(中継)された接続先候補探索要求メッセージは、探索起点ノードを起点として下流に存在する所定範囲(この例では、探索範囲:2ホップ)のノードNnに順次転送されていくことになる。
【0048】
続いて、当該接続先候補探索要求メッセージを受信した各ノードNn(探索起点ノードを含む)は、当該メッセージのペイロード部に記述されている制約条件を参照し、自ノードが接続先候補と成り得る場合にのみ、接続先候補探索要求元のノードNnに対して接続先候補応答メッセージ(自身のIPアドレス及びポート番号等のノード情報を含む)を返信する((4)接続先候補応答)。図5(A)の例では、制約条件から、ノードN14が接続先候補に該当しているが、複数のノードNnが該当する場合もありうる。
【0049】
そして、図5(B)の例において、接続先候補応答メッセージを受信したノードN7は、取得した接続先候補の中から条件に合う(或いは、ランダムに)例えばノードN14を選択(決定)し、当該ノードN14に対して接続要求メッセージを送信し((5)接続要求)、当該ノードN14から接続許可応答メッセージの返信があった((6)接続許可応答)場合には、コネクションを生成する。
【0050】
そして、ノードN7は、ノードN14に対してストリーム開始要求メッセージを送信し、これに応じてノードN14からストリーム配信されてきたコンテンツデータストリームの受信を開始する。
【0051】
最後に、ノードN7は、接続先紹介サーバ20に対してトポロジー参加報告メッセージを送信することで再接続処理を完了する。
1−3.放送局10の構成等
次に、図6を参照して、放送局10の構成及び機能について説明する。
【0052】
図6は、放送局10の概要構成例を示す図である。
【0053】
放送局10は、図6に示すように、主電源101、主記憶装置102、ハードディスク装置103、CPU104、ネットワークインタフェース105、周辺機器制御チップ106、ビデオチップ107、音源チップ108、及び内蔵スピーカ112等を備えて構成されている。また、放送局10は、ルータ114を介してネットワーク8に接続される。なお、このような放送局10として、専用の放送サーバの他、何れかのノードNnが適用されても良い。
【0054】
また、主電源101、主記憶装置102、ハードディスク装置103、CPU104、ネットワークインタフェース105、周辺機器制御チップ106、ビデオチップ107、及び音源チップ108は、システムバス113を介して相互に接続されている。また、キーボード109及びマウス110は、周辺機器制御チップ106に接続され、ディスプレイ111は、ビデオチップ107に接続されている。
【0055】
主記憶装置102は、RAM及びROM等を備えて構成されており、オペレーティングシステム、ストリーム制御プログラム、画面制御プログラム、トポロジー制御プログラム、接続先候補探索プログラム、及びデコーダ(プログラム)等が記憶されている。また、主記憶装置102は、ノード管理テーブルを記憶しており、該ノード管理テーブルには、放送局10の下流に接続されたノードNnの所在情報(IPアドレス及びポート番号等)が登録される。また、主記憶装置102は、バッファメモリ(例えば、リングバッファ)を有する。
【0056】
また、ハードディスク装置103には、放送用コンテンツデータが記録されている。
【0057】
CPU104は、主記憶装置102に記憶された各種プログラム(本発明の放送処理プログラムを含む)にしたがって(つまり、プログラムの実行により)、例えばハードディスク装置103に記録されたコンテンツデータをパケット化し、ノード管理テーブルに登録された下流のノードNnに対して放送(ストリーム配信)する放送処理を行うようになっている。更に、CPU104は、上記プログラムの実行により本発明のノード情報放送手段、負荷状況監視手段、及び切替指示情報放送手段等として機能するようになっている。
【0058】
また、ノード情報放送手段としてのCPU104は、上述したように、所定の時間間隔で(例えば定期的に)、探索起点ノードの所在情報を含む広告メッセージを、ツリートポロジーの放送経路を通じて、上流のノードNnから下流のノードNnに順次転送されるように放送する放送処理を行うようになっている。
【0059】
更に、負荷状況監視手段としてのCPU104は、接続先紹介サーバ20の負荷状況を監視するようになっており、切替指示情報放送手段としてのCPU104は、上記負荷状況の監視レベルが閾値以上になった場合には、各ノードNnに対して上記第一モード(ハイブリッドP2Pに基づく制御モード)から上記第二モード(ピュアP2Pに基づく制御モード)に選択を切り替える指示を与えるための切替指示メッセージ(切替指示情報の一例)を、ツリートポロジーの放送経路を通じて、上流のノードNnから下流のノードNnに順次転送されるように放送する放送処理を行うようになっている。
【0060】
ここで、「接続先紹介サーバ20の負荷」は、例えば、接続先紹介サーバ20のCPU利用率、生死状態、単位時間当りのノード接続回数の増加傾向、接続先紹介サーバ20が接続されているルータ機器のパケット受信率、人気放送サービスの開始時刻などから判断でき、これらは、接続先紹介サーバ20を有するセンター設備に負荷を与える要因、若しくは負荷を与えそうな要因である。
【0061】
図7は、放送局10において監視対象とする負荷要因の一例を示す図である。
【0062】
ノードNnに対して切替指示メッセージを放送するか否かの条件判断は、放送局10自体で実施するが、監視データを収集する主体は監視項目に応じてそれぞれ異なる。例えば、図7に示す、接続先紹介サーバ20の「生死状態」については放送局10が直接監視を行うが、接続先紹介サーバ20の「CPU利用率」については接続先紹介サーバ20が監視している情報を放送局10が間接的に入手するかたちとなる。
【0063】
このような接続先紹介サーバ20の負荷状況を放送局10が常時監視し、過負荷状態となる前に、監視レベルとしての測定値が閾値を超えたら放送局10の下流側に広がるノードNnに対して、動作モードを第一モードから第二モードへ変更することを指示する切替指示メッセージを放送するのである。これにより、異常状態の予兆を契機として各ノードNnがハイブリッド型P2Pに基づくALMの制御方式から、ピュア型P2Pに基づくALMの制御方式に移行することができるので、センター設備への過負荷状態を避けることが可能となる。
【0064】
一方、上記負荷状況の監視レベルが閾値を例えば一定時間だけ下回った場合には、切替指示情報放送手段としてのCPU104は、各ノードNnに対して上記第二モードから上記第一モードに選択を切り替える指示を与えるための切替指示メッセージを、上流のノードNnから下流のノードNnに順次転送されるように放送する放送処理を行うようになっている。つまり、放送局10は下流側に広がるノードNnに対して、動作モードを第ニモードから第一モードへ戻すことを指示する切替指示メッセージを放送するのである。これにより、再び最適なトポロジー制御を行えるようになる。特に、10,000ノードを超える同報配信サービスを運用する場合は、トポロジー変動によるセンター設備への影響が顕著に現れるので、本方式によればサーバ設備を安全に運用する上で効果が期待できる。
【0065】
図8は、動作モードの切替指示メッセージが放送局10から放送される様子、及び切替指示メッセージのデータ構造例を示す図である。
【0066】
図8に示すように、切替指示メッセージは、当該ツリートポロジーに参加している全てのノードNnに配信されることになる。また、当該切替指示メッセージは、IPヘッダ、UDP(User Datagram Protocol)ヘッダ、及び応用層ヘッダを含んで構成されたヘッダ部51と、ペイロード部52とから構成されている。ヘッダ部51における応用層ヘッダには、動作モード切換指示のコマンドが記述されており、ペイロード部52には、コマンドパラメータとして、第一モードと第二モードの何れかが記述される。
1−4.接続先紹介サーバ20の構成等
次に、図9を参照して、接続先紹介サーバ20の構成及び機能について説明する。
【0067】
図9は、接続先紹介サーバ20の概要構成例を示す図である。
【0068】
接続先紹介サーバ20は、図9に示すように、主電源201、主記憶装置202、ハードディスク装置203、CPU204、ネットワークインタフェース205、周辺機器制御チップ206、及びビデオチップ207等を備えて構成されている。また、接続先紹介サーバ20は、ルータ212を介してネットワーク8に接続される。
【0069】
また、主電源201、主記憶装置202、ハードディスク装置203、CPU204、ネットワークインタフェース205、周辺機器制御チップ206、及びビデオチップ207は、システムバス211を介して相互に接続されている。また、キーボード208及びマウス209は、周辺機器制御チップ206に接続され、ディスプレイ210は、ビデオチップ207に接続されている。
【0070】
主記憶装置202は、RAM及びROM等を備えて構成されており、オペレーティングシステム、ノード管理プログラム、トポロジー管理プログラム、接続先候補紹介プログラム、運用管理プログラム、及び負荷監視プログラム等が記憶されている。
【0071】
また、ハードディスク装置203には、放送局管理データベース及びトポロジーデータベースが構築されている。放送局管理データベースには、各放送局10の所在情報(例えば、IPアドレス及びポート番号等)が放送チャンネル情報(例えばチャンネル番号)に対応付けられて登録される。また、トポロジーデータベースには、トポロジー管理情報が登録されている。かかるトポロジー管理情報は、放送チャンネル毎に存在し、放送チャンル情報に対応付けられている。そして、トポロジー管理情報には、ツリートポロジーに参加している各ノードNnのノード情報(例えばIPアドレス及びポート番号)と、ツリートポロジーにおいて各ノードNnが位置する階層と、各ノードNn夫々の下流に接続されているノードを示す下流ノード情報と、各ノードNnの下流側に接続可能なノードの接続許容数と、各ノードNnが他のノードNnへコンテンツデータを転送する転送能力と、が含まれている。ここで、転送能力とは、例えば、ノードNnのCPUの処理速度(GHz)やネットワーク8における有効帯域(例えば、データ転送速度(bps))のことをいう。
【0072】
CPU204は、主記憶装置202に記憶された各種プログラムにしたがって、例えばノードNnからの接続先候補紹介要求メッセージに応じて上記トポロジー管理情報から、下流側に接続されているノードの数が接続許容数に満たない(下流側に接続が可能なノードNn)接続先候補を検索し、当該検索した1以上の接続先候補の所在情報を含む接続先候補応答メッセージを返信する返信処理を行うようになっている。
【0073】
また、CPU204は、自己の利用率、単位時間当りのノード接続回数の増加傾向、接続先紹介サーバ20が接続されているルータ機器のパケット受信率、人気放送サービスの開始時刻を示す情報等の負荷状況の監視に必要な情報を放送局10に定期的に通知する通知処理を行うようになっている。
1−5.ノードNnの構成等
次に、図10を参照して、ノードNnの構成及び機能について説明する。
【0074】
図10は、ノードNnの概要構成例を示す図である。
【0075】
ノードNnは、図10に示すように、主電源301a、補助電源301b、主記憶装置302、ハードディスク装置303、CPU304、ネットワークインタフェース305、周辺機器制御チップ306、ビデオチップ307、音源チップ308、ユーザ入力用リモコン310との間で赤外線通信を行うための赤外線ポート309、内蔵ディスプレイ311、及び内蔵スピーカ312等を備えて構成されている。また、ノードNnは、ルータ314を介してネットワーク8に接続される。なお、ノードNnとしては、PC、STB(Set Top Box)、或いは、TV受信機等を適用可能である。
【0076】
また、主電源301a、主記憶装置302、ハードディスク装置303、CPU304、ネットワークインタフェース305、周辺機器制御チップ306、ビデオチップ307、及び音源チップ308は、システムバス313を介して相互に接続されている。
【0077】
主記憶装置302は、RAM及びROM等を備えて構成されており、オペレーティングシステム、ストリーム制御プログラム、画面制御プログラム、トポロジー制御プログラム、接続先候補探索プログラム、及びデコーダ等が記憶されている。
【0078】
また、主記憶装置302には、接続先紹介サーバ20の所在情報(IPアドレス及びポート番号等)が記憶されている。また、主記憶装置302は、ノード管理テーブルを記憶しており、該ノード管理テーブルには、自ノードの下流に接続されたノードNnのノード情報(IPアドレス及びポート番号等)が登録される。
【0079】
また、主記憶装置302は、受信したコンテンツデータを一時的に蓄積するためのバッファメモリ(例えば、リングバッファ)を有する。更に、主記憶装置302には、上述した再接続先候補となるノードNnを探索するための接続先候補探索要求メッセージの送信先となる探索起点ノードの所在情報のリストを予め記憶(キャッシュ)しておくためのキャッシュ領域が設けられている。
【0080】
CPU304は、主記憶装置302に記憶された各種プログラム(本発明のノード処理プログラムを含む)にしたがって、ツリー型放送システムSに参加するための新規参加処理を実行し、参加後に放送局10又は上流のノードNnから配信されネットワークインタフェース305を介して受信されたコンテンツデータのパケット(コンテンツストリーム)をバッファリングさせつつ再生処理を行うようになっている。
【0081】
ここで、上記新規参加処理では、接続先紹介サーバ20に対して接続先候補紹介要求メッセージが送信され、接続先紹介サーバ20から紹介された上流のノードNnに接続(セッション確立)してストリーム開始要求がなされる。
【0082】
また、上記再生処理では、受信されバッファメモリに蓄積されたコンテンツデータ(例えば、ビデオデータ及びオーディオデータ)が読み出されデコーダによりデコードされる。そして、デコードされたビデオデータ(映像情報)がビデオチップ307を通じて内蔵ディスプレイ311(又は図示しない外部ディスプレイ)に出力され、デコードされたオーディオデータ(音声情報)が音源チップ308を通じて内蔵スピーカ312(又は図示しない外部スピーカ)から出力される。
【0083】
また、自ノードに下流のノードNnが接続されている場合、CPU304は、バッファメモリに蓄積されたコンテンツデータの各パケットを当該下流のノードNnに転送(コンテンツストリームの中継)する転送処理を行うようになっている。
【0084】
また、CPU304は、ツリー型放送システムSに参加後に放送局10又は上流のノードNnから配信されネットワークインタフェース305を介して受信された広告メッセージに含まれる探索起点ノードの所在情報を、主記憶装置302におけるキャッシュ領域に記憶し、自ノードに下流のノードNnが接続されている場合、当該広告メッセージを当該下流のノードNnに転送する転送処理を行うようになっている。
【0085】
更に、CPU304は、上記プログラムの実行により本発明のモード選択手段、再接続処理手段、探索情報送信手段及びノード情報送信手段等として機能するようになっている。
【0086】
モード選択手段としてのCPU304は、ツリー型放送システムSに参加後に放送局10又は上流のノードNnから配信されネットワークインタフェース305を介して受信された切替指示メッセージの、例えば、ペイロード部52におけるコマンドパラメータにしたがって、上述した第一モード(ハイブリッドP2Pに基づく制御モード)と、上述した第二モード(ピュアP2Pに基づく制御モード)と、の何れか一方のモードを選択する選択処理を行うようになっている。つまり、各ノードNnは、放送局20から放送されてくる動作モードの切替指示メッセージの受信を契機として、自ノードにおける再接続処理に関する制御方式を第一モードと第ニモードの間で交互に切り替えながら動作する。
【0087】
そして、再接続処理手段としてのCPU304は、自己が現在接続している上流のノードNnとの接続を断ち切り別のノードNnに再接続する場合には、現在選択されている動作モード(第一モード又は第二モード)にしたがって、上述したように、再接続先候補のノード情報を取得すること(接続先紹介サーバ20、又は接続先候補となるノードNnからの接続先候補応答メッセージの受信)により再接続先を決定し再接続処理を行うようになっている。
【0088】
例えば、CPU304は、再接続する際に第二モードが選択されている場合には、主記憶装置302におけるキャッシュ領域に記憶されている探索起点ノードの所在情報のリストから何れかの探索起点ノードの所在情報(ノード情報)を選択し、当該ノード情報にしたがって当該探索起点ノードに対して接続先候補探索要求メッセージを送信する送信処理を行う。こうして送信された接続先候補探索要求メッセージを受信した探索起点ノード及び当該探索起点ノードを起点として下流に存在する所定範囲のノードNnは、当該メッセージのペイロード部に記述されている制約条件を参照し、自ノードが接続先候補と成り得る場合、例えば、自ノードの下流にノードNnを接続可能である場合には、自ノードを再接続先候補となるノードNnとして自ノードのノード情報を含む接続先候補応答メッセージを、上記接続先候補探索要求メッセージの送信元のノードNnに対して送信することになる。
2.ツリー型放送システムSの動作
次に、本実施形態に係るツリー型放送システムSの動作について説明する。
(ノードNnの処理)
先ず、図11乃至図15を参照して、ノードNnにおけるCPU304の処理について説明する。
【0089】
図11乃至図15は、ノードNnにおけるCPU304により実行される処理を示すフローチャートである。
【0090】
図11の処理は、例えば主電源301a及び補助電源301bのオンによりノードNnが起動することにより開始される。当該処理が開始されると、ステップS1では、ノードNnにおける各種プログラムが初期化され、動作モードのフラグに対して、上記第一モードが設定される。
【0091】
ステップS2では、ユーザ入力用リモコン310を介してユーザからの新規参加要求があったか否か、又は自律的再接続事象1(第一モードでの再接続事象)が発生したか(生起されたか)否かが判別される。
【0092】
そして、ユーザからの新規参加要求があった場合、又は自律的再接続事象1が発生した場合には(ステップS2:YES)、ステップS3に進み、ユーザからの新規参加要求及び自律的再接続事象1の発生がない場合には(ステップS2:NO)、ステップS6に進む。
【0093】
ステップS3では、接続先紹介サーバ20の所在情報にしたがって当該接続先紹介サーバ20に対して接続先候補紹介要求メッセージが送信される。
【0094】
ステップS4では、ノードNnの主電源301aがオフになったか否かが判別される。そして、主電源301aがオフになった場合には(ステップS4:YES)、ステップS5に進み、主電源301aがオフになっていない場合には(ステップS4:NO)、ステップS2に戻る。
【0095】
ステップS5では、主電源301aがオフ状態になったことを契機として各種プログラムが終了され、補助電源301bがオフにされ、当該処理が終了する。
【0096】
ステップS6では、接続先紹介サーバ20又は再接続先候補となるノードNnから接続先候補応答メッセージが受信されたか否かが受信されたか否かが判別される。そして、接続先候補応答メッセージが受信された場合には(ステップS6:YES)、ステップS7に進み、接続先候補応答メッセージが受信されていない場合には(ステップS6:NO)、ステップS11に進む。
【0097】
ステップS7では、接続先候補応答メッセージの受信により取得された1又は複数の接続先(上流のノード)候補の中から条件に合う(或いは、ランダムに)ノードNn4が接続先(又は再接続先)として一つ選択(決定)される。
【0098】
ステップS8では、上記選択された接続先となるノードNnに対してNAT越え処理(ルータのWAN側のネットワークからLAN側ネットワークへパケットを通過させるための処理)が行われる。
【0099】
ステップS9では、上記選択された接続先となるノードNnに対して接続要求メッセージが送信される。
【0100】
ステップS10では、接続処理を監視するために接続処理監視タイマが起動され、ステップS4に戻る。
【0101】
ステップS11では、上記接続要求メッセージを受信した上流のノードNnから接続許可応答メッセージが受信されたか否かが判別される。そして、接続許可応答メッセージが受信された場合には(ステップS11:YES)、ステップS12に進み、接続許可応答メッセージが受信されていない場合には(ステップS11:NO)、ステップS16に進む。
【0102】
ステップS12では、上記接続処理監視タイマが起動中であるか否かが判別される。そして、接続処理監視タイマが起動中である場合には(ステップS12:YES)、当該タイマが停止され(ステップS13)、ステップS14に進み、接続処理監視タイマが起動中でない場合には(ステップS12:NO)、ステップS14に進む。
【0103】
ステップS14では、上記接続許可応答メッセージを送信した上流のノードNnに対してストリーム開始要求メッセージが送信される。
【0104】
ステップS15では、接続先紹介サーバ20に対して自ノードのツリートポロジーへの参加報告メッセージが送信され、ステップS4に戻る。
【0105】
ステップS16では、上記接続要求メッセージを受信した上流のノードNnから接続拒否応答メッセージが受信されたか否かが判別される。そして、接続拒否応答メッセージが受信された場合には(ステップS16:YES)、ステップS17に進み、接続拒否応答メッセージが受信されていない場合には(ステップS16:NO)、ステップS24に進む。
【0106】
ステップS17では、接続処理監視タイマがタイムアウトしたか否かが判別される。そして、接続処理監視タイマがタイムアウトしている(接続処理時間切れ)場合には(ステップS17:YES)、ステップS18に進み、タイムアウトしていない(接続処理の再試行可能)場合には(ステップS17:NO)、ステップS20に進む。
【0107】
ステップS18では、接続処理監視タイマが停止され、ステップS19では、アプリケーションへ接続失敗通知がなされ、ステップS4に戻る。
【0108】
ステップS20では、新規参加手続き中であるか否かが判別される。そして、新規参加手続き中である場合には(ステップS20:YES)、ステップS21に進み、新規参加手続き中でない場合には(ステップS20:NO)、ステップS22に進む。
【0109】
ステップS21では、自律的再接続事象1(第一モードでの再接続事象)が生起され、ステップS4に戻る。
【0110】
ステップS22では、動作モードのフラグに第二モードが設定(選択)されているか否かが判別される。そして、動作モードのフラグに第二モードが設定されていない場合には(ステップS22:NO)、ステップS21に進んで自律的再接続事象1(第一モードでの再接続事象)が生起され、第二モードが設定されている場合には(ステップS22:YES)、ステップS23に進んで自律的再接続事象2(第二モードでの再接続事象)が生起され、ステップS4に戻る。
【0111】
ステップS24では、放送局10又は上流のノードNnからコンテンツデータのパケットが受信されたか否かが判別される。
【0112】
そして、コンテンツデータのパケットが受信された場合には(ステップS24:YES)、ステップS25に進み、コンテンツデータのパケットが受信されていない場合には(ステップS24:NO)、ステップS29に進む。
【0113】
ステップS25では、例えば主記憶装置302で管理されている受信品質情報が更新される。例えば、CPU304は、受信品質情報として、過去一分間の平均パケットレート、平均パケット損失率、パケット到着ゆらぎ等を計算し、過去に計算され記憶された受信品質情報を更新する。
【0114】
ステップS26では、自ノードの下流のノードNnが存在するか(下流側にノードNnが直接接続されているか)否かが判別される。そして、自ノードの下流のノードNnが存在する場合には(ステップS26:YES)、当該下流のノードNnに対して上記受信されたコンテンツデータのパケットが転送(中継)され(ステップS27)、ステップS28に進む一方、自ノードに下流のノードNnが存在しない場合には(ステップS26:NO)、ステップS28に進む。
【0115】
ステップS28では、コンテンツデータの再生が行われる。つまり、受信されバッファメモリに蓄積されたコンテンツデータが読み出され、内蔵ディスプレイ311及び内蔵スピーカ312等を介して再生出力される。
【0116】
ステップS29では、他のノードNnから接続要求メッセージが受信されたか否かが判別される。そして、接続要求メッセージが受信された場合には(ステップS29:YES)、ステップS30に進み、接続要求メッセージが受信されていない場合には(ステップS29:NO)、ステップS34に進む。
【0117】
ステップS30では、自ノードに接続されている下流のノードNnの数が、自ノードの接続許容数(上限)に達しているか否かが判別される。そして、下流のノードNnの数が自ノードの接続許容数に達している場合には(ステップS30:YES)、ステップS31に進み、下流のノードNnの数が自ノードの接続許容数に達していない場合には(ステップS30:NO)、ステップS32に進む。
【0118】
ステップS31では、上記接続要求メッセージを送信したノードNnに対して接続拒否応答メッセージが送信され、ステップS4に戻る。
【0119】
ステップS32では、上記接続要求メッセージを送信したノードNnのノード情報が下流のノード情報としてノード管理テーブルに追加登録される。
【0120】
ステップS33では、上記接続要求メッセージを送信したノードNnに対して接続許可応答メッセージが送信され、ステップS4に戻る。こうして、当該接続要求メッセージを送信したノードNnは、自ノードに接続される新たな下流のノードNnとなる。
【0121】
ステップS34では、下流のノードNnからストリーム開始要求メッセージが受信されたか否かが判別される。そして、ストリーム開始要求メッセージが受信された場合には(ステップS34:YES)、ステップS35に進み、ストリーム開始要求メッセージが受信されていない場合には(ステップS34:NO)、ステップS36に進む。
【0122】
ステップS35では、ストリーム開始要求メッセージを送信した下流のノードNnに対してコンテンツデータのパケットの転送(中継)が開始(ストリーミング開始)され、ステップS4に戻る。
【0123】
ステップS36では、下流のノードNnからストリーム停止要求メッセージが受信されたか否かが判別される。そして、ストリーム停止要求メッセージが受信された場合には(ステップS36:YES)、ステップS37に進み、ストリーム停止要求メッセージが受信されていない場合には(ステップS36:NO)、ステップS38に進む。
【0124】
ステップS37では、下流のノードNnに対するコンテンツデータのパケットの転送が停止(ストリーミング停止)され、ステップS4に戻る。
【0125】
ステップS38では、下流のノードNnから接続解除要求メッセージが受信されたか否かが判別される。そして、接続解除要求メッセージが受信された場合には(ステップS38:YES)、ステップS39に進み、接続解除要求メッセージが受信されていない場合には(ステップS38:NO)、ステップS40に進む。
【0126】
ステップS39では、接続解除要求メッセージを送信した下流のノードNnのノード情報がノード管理テーブルから削除され、ステップS4に戻る。
【0127】
ステップS40では、放送局10又は上流のノードNnから動作モードの切替指示メッセージが受信されたか否かが判別される。そして、切替指示メッセージが受信された場合には(ステップS40:YES)、ステップS41に進み、切替指示メッセージが受信されていない場合には(ステップS40:NO)、ステップS44に進む。
【0128】
ステップS41では、当該切替指示メッセージに記述されたモードへ、動作モードのフラグが変更設定される。
【0129】
ステップS42では、自ノードの下流のノードNnが存在するか否かが判別される。そして、自ノードの下流のノードNnが存在する場合には(ステップS42:YES)、当該下流のノードNnに対して上記受信された切替指示メッセージが転送(中継)され(ステップS43)、ステップS4に戻り、自ノードに下流のノードNnが存在しない場合には(ステップS42:NO)、ステップS4に戻る。
【0130】
ステップS44では、上述した受信品質情報に基づき、例えばストリーム中継品質(受信品質)が閾値を下回ったか否かが判別される。そして、ストリーム中継品質が閾値を下回ったことが検知された場合には(ステップS44:YES)、ステップS45に進み、ストリーム中継品質が閾値を下回っていない場合には(ステップS44:NO)、ステップS51に進む。
【0131】
ステップS45では、上流のノードNnに対してストリーム停止要求メッセージが送信され、続いて、ステップS46では、当該上流のノードNnに対して接続解除要求メッセージが送信される。
【0132】
ステップS47では、接続先紹介サーバ20に対して自ノードのトポロジーからの脱退報告メッセージが送信される。
【0133】
ステップS48では、動作モードのフラグに第一モードが設定されているか否かが判別される。そして、動作モードのフラグに第一モードが設定されていない場合には(ステップS48:NO)、ステップS49に進んで自律的再接続事象2(第二モードでの再接続事象)が生起され、第一モードが設定されている場合には(ステップS48:YES)、ステップS50に進んで自律的再接続事象1(第一モードでの再接続事象)が生起され、ステップS4に戻る。
【0134】
ステップS51では、自律的再接続事象2(第二モードでの再接続事象)が発生したか(生起されたか)否かが判別される。自律的再接続事象2が発生した場合には(ステップS51:YES)、ステップS52に進み、自律的再接続事象2の発生がない場合には(ステップS51:NO)、ステップS53に進む。
【0135】
ステップS52では、主記憶装置302におけるキャッシュ領域に記憶されている探索起点ノードの所在情報のリストから何れかの探索起点ノードが選択(例えば、ランダムに選択)され、当該選択された探索起点ノードに対して接続先候補探索要求メッセージが送信され、ステップS4に戻る。なお、当該接続先候補探索要求メッセージの送信後、複数の他ノードNnから接続先候補応答メッセージが受信される可能性があるので一定時間待機される。そして、複数の他ノードNnから接続先候補応答メッセージが受信された場合には(上記ステップS6)、その中から一つのノードNnが選択され(上記ステップS7)、当該ノードNnに対して接続要求メッセージが送信されることになる。なお、当該ノードNnから接続拒否応答メッセージが受信された場合であって上記接続処理監視タイマがタイムアウトしていないときは(再試行可能)、自律的再接続事象2が生起されることになる。
【0136】
ステップS53では、他のノードNnから接続先候補探索要求メッセージが受信されたか否かが判別される。そして、接続先候補探索要求メッセージが受信された場合には(ステップS53:YES)、ステップS54に進み、接続先候補探索要求メッセージが受信されていない場合には(ステップS53:NO)、ステップS61に進む。
【0137】
ステップS54では、上記接続先候補探索要求メッセージは上流のノードNnから受信されたか否かが判別される。当該接続先候補探索要求メッセージは、自ノードが探索起点ノードである場合とそうでない場合において受信し得る。前者は第二モードで接続先候補の探索元のノードNnから接続先候補探索要求メッセージを直接受信する場合、後者は第二モードで上流のノードNnから接続先候補探索要求メッセージを中継受信する場合がそれぞれ該当する。
【0138】
そして、上記接続先候補探索要求メッセージが上流のノードNnから受信されない、つまり、接続先候補の探索元のノードNnから受信された場合には(ステップS54:NO)、前処理として単位時間当たりの当該メッセージの受信量が計算(ステップS55)、一時的に記憶され、ステップS56に進み、上記接続先候補探索要求メッセージが上流のノードNnから受信された場合には(ステップS54:YES)、上記計算がされることなくステップS56に進む。
【0139】
ステップS56では、自ノードは接続先候補探索要求メッセージに記述されている制約条件に合致するノードであるか否か(例えば、自ノードの下流にノードNnを接続可能で(空きがあるか)否か)が判別される。そして、自ノードが上記制約条件に合致するノードである場合には(ステップS56:YES)、接続先候補の探索元のノードNnに対して接続先候補応答メッセージが送信され(ステップS57)、ステップS58に進み、自ノードが上記制約条件に合致するノードでない場合には(ステップS56:NO)、接続先候補の探索元のノードNnに対して接続先候補応答メッセージが送信されずにステップS58に進む。
【0140】
ステップS58では、上記接続先候補探索要求メッセージは、当該メッセージに記述されている探索範囲分だけ中継されたか否かが判別される。例えば、接続先候補探索要求メッセージのヘッダ部が参照され、当該メッセージがメッセージ内に規定されている探索範囲分だけ中継済みであるか否かが検査される(例えば「当該メッセージが10ホップまでしか転送してはいけないと規定されおり、現在8ホップまで転送されてきている」ということが当該ヘッダ部から判別できる)。
【0141】
そして、当該接続先候補探索要求メッセージに記述されている探索範囲分だけ中継された場合(例えば、前例において既に10ホップだけ転送されている場合)には(ステップS58:YES)、当該メッセージが廃棄され(ステップS59)、ステップS4に戻る。一方、当該接続先候補探索要求メッセージに記述されている探索範囲分だけ中継されていない場合(例えば、前例において、まだ8ホップしか転送されていない)には(ステップS58:NO)、当該接続先候補探索要求メッセージの中継ポップ数が+1され下流のノードNnに対して転送され(ステップS60)、ステップS4に戻る。
【0142】
ステップS61では、自ノードは探索起点ノードであり、かつ広告メッセージの送信契機になったか否かが判別される。そして、自ノードは探索起点ノードであり、かつ広告メッセージの送信契機になった場合には(ステップS61:YES)、ステップS62に進み、そうでない場合には(ステップS61:NO)、ステップS63に進む。
【0143】
ステップS62では、放送局10又は上流のノードNnに対して広告メッセージが送信される。例えば、広告メッセージは周期的(例えば1分毎に)送信されることになる。こうして、当該広告メッセージを受信した上流のノードNnでは、放送局10に当該メッセージが到達するまでさらに上流のノードNnへ当該メッセージを転送することになる(なお、当該広告メッセージの中継処理(下流のノードNnから広告メッセージを受信した場合の処理)については、図示を省略する)。
【0144】
ステップS63では、放送局10又は上流のノードNn(上流)から広告メッセージが受信されたか否かが判別される。そして、放送局10又は上流のノードNnから広告メッセージが受信された場合には(ステップS63:YES)、ステップS64に進み、広告メッセージが受信されていない場合には(ステップS63:NO)、ステップS67に進む。
【0145】
ステップS64では、広告メッセージに記述されている探索起点ノードの所在情報により、主記憶装置302におけるキャッシュ領域に記憶されている探索起点ノードの所在情報のリストが更新(キャッシュを更新)される。この更新処理は、例えば当該キャッシュをクリアしてから新たな探索起点ノードの所在情報をリストに追記することで、古い探索起点ノードの所在情報が残らないようにされる。
【0146】
ステップS65では、自ノードの下流のノードNnが存在するか否かが判別される。そして、自ノードの下流のノードNnが存在する場合には(ステップS65:YES)、当該下流のノードNnに対して上記受信された広告メッセージが転送(中継)され(ステップS66)、ステップS4に戻る一方、自ノードに下流のノードNnが存在しない場合には(ステップS65:NO)、ステップS4に戻る。
【0147】
ステップS67では、自ノードは探索起点ノードであり、かつ単位時間当たりの接続先候補探索要求メッセージの受信量(ステップS55で計算され記憶された受信量)は閾値を超えたか否かが判別される。そして、自ノードは探索起点ノードであり、かつ接続先候補探索要求メッセージの受信量が閾値を超えた場合には(ステップS67:YES)、ステップS68に進み、そうでない場合には(ステップS67:NO)、ステップS70に進む。
【0148】
ステップS68では、自ノードに接続されている下流のノードNnは、探索起点ノードであるか否かが判別される。下流のノードNnが探索起点ノードでない場合には(ステップS68:NO)、当該下流のノードNnに対して探索起点ノード昇格要請メッセージが送信され(ステップS69)、ステップS4に戻り、下流のノードNnが探索起点ノードである場合には(ステップS68:YES)、探索起点ノード昇格要請メッセージが送信されることなくステップS4に戻る。
【0149】
つまり、探索起点ノードの総量は、各探索起点ノードの負荷状態によって増減する。探索起点ノードにおける単位時間当たりの接続先候補探索要求メッセージ受信量が閾値を超えた場合であって、当該ノードに接続されている下流のノードNnが未だ探索起点ノードでない場合には、当該下流のノードNnに対して探索起点ノードへの昇格を指示することで探索起点ノードの総量を増やすことになる。
【0150】
ステップS70では、自ノードは探索起点ノードであり、かつ単位時間当たりの接続先候補探索要求メッセージの受信量は閾値を下回ったか否かが判別される。そして、自ノードは探索起点ノードであり、かつ接続先候補探索要求メッセージの受信量が閾値を下回った場合には(ステップS70:YES)、ステップS71に進み、そうでない場合には(ステップS70:NO)、ステップS74に進む。
【0151】
ステップS71では、自ノードに接続されている下流のノードNnは、探索起点ノードであるか否かが判別される。下流のノードNnが探索起点ノードでない場合には(ステップS71:NO)、探索起点ノードとしての役割を終了し(ステップS72)、放送局10又は上流のノードNnに対して探索起点ノードとしての役割を終了することを示す役割終了メッセージが送信され(ステップS73)、ステップS4に戻る。一方、下流のノードNnが探索起点ノードである場合には(ステップS71:YES)、探索起点ノードとしての役割を終了することなくステップS4に戻る。
【0152】
つまり、探索起点ノードにおける単位時間当たりの接続先候補探索要求メッセージ受信量が閾値を下回った場合であって、当該ノードに接続されている下流のノードNnが未だ探索起点ノードでない場合には、当該ノードは探索起点ノードとしての役割を終えることになり、その旨を上流のノードNnへ通知して探索起点ノードの総量を減らすことになる。
【0153】
ステップS74では、ユーザ入力用リモコン310を介してユーザからの脱退要求があったか否かが判別される。そして、ユーザからの脱退要求があった場合には(ステップS74:YES)、ステップS75に進み、ユーザからの脱退要求がない場合には(ステップS74:NO)、ステップS4に戻る。
【0154】
ステップS75では、上流のノードNnに対してストリーム停止要求メッセージが送信される。
【0155】
ステップS76では、上流のノードNnに対して接続解除要求メッセージが送信される。こうして、自ノードはツリートポロジーから脱退することになる。
【0156】
そして、ステップS77では、接続先紹介サーバ20に対して自ノードのトポロジーからの脱退報告メッセージが送信される。
(放送局10の処理)
次に、図16及び図17を参照して、放送局10におけるCPU104の処理について説明する。
【0157】
図16及び図17は、放送局10におけるCPU104により実行される処理を示すフローチャートである。
【0158】
図16の処理は、主電源101のオンにより放送局10が起動することにより開始される。当該処理が開始されると、ステップS101では、放送局10における各種プログラムが初期化される。
【0159】
ステップS102では、放送運営者から放送開始又は停止要求があったか否かが判別される。放送開始又は停止要求があった場合には(ステップS102:YES)、ステップS103に進み、放送開始又は停止要求がない場合には(ステップS102:NO)、ステップS105に進む。
【0160】
ステップS103では、放送開始又は停止要求に応じて、コンテンツデータのパケットの生成処理が開始又は停止される。コンテンツデータのパケットの生成処理が開始されると、ハードディスク装置103に記録されたコンテンツデータに対して読み出しアクセスがなされ、システムタイマと同期が取られながら、コンテンツデータのパケットが生成され、当該パケットがバッファメモリに格納される。一方、コンテンツデータのパケットの生成処理の停止時には、上記ハードディスク装置103に記録されたコンテンツデータに対する読み出しアクセスが停止され、バッファメモリがクリアされる。
【0161】
ステップS104では、放送局10の主電源101がオフになったか否かが判別される。そして、主電源101がオフになった場合には(ステップS104:YES)、各種プログラムが終了され、当該処理が終了する。一方、主電源101がオフになっていない場合には(ステップS104:NO)、ステップS102に戻る。
【0162】
ステップS105では、放送局10の下流に接続されているノードNnから接続要求又は接続解除要求メッセージが受信されたか否かが判別される。そして、接続要求又は接続解除要求メッセージが受信された場合には(ステップS105:YES)、ステップS106に進み、接続要求又は接続解除要求メッセージが受信されない場合には(ステップS105:NO)、ステップS107に進む。
【0163】
ステップS106では、下流のノードNnのノード情報がノード管理テーブルに追加登録又は当該ノード情報がノード管理テーブルから削除される。
【0164】
ステップS107では、放送局10の下流に接続されているノードNnからストリーム開始要求又はストリーム停止要求メッセージが受信されたか否かが判別される。そして、ストリーム開始要求又はストリーム停止要求メッセージが受信された場合には(ステップS107:YES)、ステップS108に進み、ストリーム開始要求又はストリーム停止要求メッセージが受信されない場合には(ステップS107:NO)、ステップS109に進む。
【0165】
ステップS108では、下流のノードNnに対してコンテンツデータのパケットの転送が開始又は停止され、ステップS104に戻る。
【0166】
ステップS109では、接続先紹介サーバ20から取得された負荷状況の監視に必要な情報に基づき、接続先紹介サーバ20の負荷状況の監視レベルが閾値を超えたか否かが判別される。ここで、当該負荷状況の監視レベルが閾値を超えた状況としては、監視レベルとしての測定値が閾値である許容値を超えたことの他、接続先紹介サーバ20の過負荷状態の通知があった場合及び接続先紹介サーバ20からの応答無しの場合も含まれる。
【0167】
なお、負荷状況の監視に必要な情報には、自己の利用率、単位時間当りのノード接続回数の増加傾向、接続先紹介サーバ20が接続されているルータ機器のパケット受信率、人気放送サービスの開始時刻を示す情報等の他、接続先紹介サーバ20からの過負荷状態の通知情報、当該過負荷状態回復の通知情報、応答(生死応答)無し情報、応答無し回復通知情報等が含まれる。
【0168】
そして、接続先紹介サーバ20の負荷状況の監視レベルが閾値を超えた場合には(ステップS109:YES)、ステップS110に進み、当該負荷状況の監視レベルが閾値を超えない場合には(ステップS109:NO)、ステップS112に進む。
【0169】
ステップS110では、放送局10の下流のノードNnが存在するか否かが判別される。そして、放送局10の下流のノードNnが存在する場合には(ステップS110:YES)、当該下流のノードNnに対して、第二モードに選択を切り替える指示を与えるための切替指示メッセージが送信され(ステップS111)、ステップS104に戻り、自ノードに下流のノードNnが存在しない場合には(ステップS110:NO)、ステップS104に戻る。
【0170】
ステップS112では、接続先紹介サーバ20から取得された負荷状況の監視に必要な情報に基づき、接続先紹介サーバ20の負荷状況の監視レベルが閾値を所定時間下回ったか否かが判別される。ここで、当該負荷状況の監視レベルが閾値を下回った状況としては、監視レベルとしての測定値が閾値である許容値を下回ったことの他、接続先紹介サーバ20の過負荷状態からの回復の通知があった場合及び接続先紹介サーバ20からの応答回復の場合も含まれる。
【0171】
そして、接続先紹介サーバ20の負荷状況の監視レベルが閾値を下回った場合には(ステップS112:YES)、ステップS113に進み、当該負荷状況の監視レベルが閾値を下回らない場合には(ステップS112:NO)、ステップS115に進む。
【0172】
ステップS113では、放送局10の下流のノードNnが存在するか否かが判別される。そして、放送局10の下流のノードNnが存在する場合には(ステップS113:YES)、当該下流のノードNnに対して、第一モードに選択を切り替える指示を与えるための切替指示メッセージが送信され(ステップS114)、ステップS104に戻り、放送局10に下流のノードNnが存在しない場合には(ステップS113:NO)、ステップS104に戻る。
【0173】
ステップS115では、ノードNnから接続先候補探索要求メッセージが受信されたか否かが判別される。そして、接続先候補探索要求メッセージが受信された場合には(ステップS115:YES)、ステップS116に進み、接続先候補探索要求メッセージが受信されていない場合には(ステップS115:NO)、ステップS120に進む。
【0174】
ステップS116では、単位時間当たりの接続先候補探索要求メッセージの受信量が計算され一時的に記憶される。
【0175】
ステップS117では、放送局10は接続先候補探索要求メッセージに記述されている制約条件に合致するノードであるか否か(例えば、放送局10の下流にノードNnを接続可能で否か)が判別される。そして、放送局10が上記制約条件に合致するノードである場合には(ステップS117:YES)、接続先候補の探索元のノードNnに対して接続先候補応答メッセージが送信され(ステップS118)、ステップS119に進み、自ノードが上記制約条件に合致するノードでない場合には(ステップS117:NO)、接続先候補の探索元のノードNnに対して接続先候補応答メッセージが送信されずにステップS119に進む。
【0176】
ステップS119では、当該接続先候補探索要求メッセージの中継ポップ数が+1され下流のノードNnに対して転送され、ステップS104に戻る。
【0177】
ステップS120では、広告メッセージの送信契機になったか否かが判別される。そして、広告メッセージの送信契機になった場合には(ステップS120:YES)、ステップS121に進み、広告メッセージの送信契機になっていない場合には(ステップS120:NO)、ステップS123に進む。例えば、広告メッセージは周期的(例えば1分毎に)送信されることになる。なお、下流のノードNnからの広告メッセージの受信処理については図示を省略する。
【0178】
ステップS121では、放送局10の下流のノードNnが存在するか否かが判別される。そして、放送局10の下流のノードNnが存在する場合には(ステップS121:YES)、当該下流のノードNnに対して、上記広告メッセージが送信され(ステップS122)、ステップS104に戻り、放送局10に下流のノードNnが存在しない場合には(ステップS121:NO)、ステップS104に戻る。
【0179】
ステップS123では、単位時間当たりの接続先候補探索要求メッセージの受信量(ステップS116で計算され記憶された受信量)は閾値を超えたか否かが判別される。そして、接続先候補探索要求メッセージの受信量が閾値を超えた場合には(ステップS123:YES)、ステップS124に進み、接続先候補探索要求メッセージの受信量が閾値を超えていない場合には(ステップS123:NO)、ステップS104に戻る。
【0180】
ステップS124では、放送局10に接続されている下流のノードNnは、探索起点ノードであるか否かが判別される。下流のノードNnが探索起点ノードでない場合には(ステップS124:NO)、当該下流のノードNnに対して探索起点ノード昇格要請メッセージが送信され(ステップS125)、ステップS104に戻り、下流のノードNnが探索起点ノードである場合には(ステップS124:YES)、探索起点ノード昇格要請メッセージが送信されることなくステップS104に戻る。なお、下流のノードNnからの役割終了メッセージの受信処理については図示を省略する。
(接続先紹介サーバ20の処理)
次に、図18を参照して、接続先紹介サーバ20におけるCPU204の処理について説明する。
【0181】
図18は、接続先紹介サーバ20におけるCPU204により実行される処理を示すフローチャートである。
【0182】
図18の処理は、主電源201のオンにより接続先紹介サーバ20が起動することにより開始される。当該処理が開始されると、ステップS201では、接続先紹介サーバ20における各種プログラムが初期化される。
【0183】
ステップS202では、放送局10から登録要求又は削除要求メッセージが受信されたか否かが判別される。そして、登録要求又は削除要求メッセージが受信された場合には(ステップS202:YES)、ステップS203に進み、登録要求及び削除要求メッセージが受信されない場合には(ステップS202:NO)、ステップS206に進む。
【0184】
ステップS203では、上記登録要求メッセージに含まれる所在情報等が、放送チャンネル情報に対応付けられて放送局管理データベースに登録される。又は、上記削除要求メッセージに含まれる所在情報等が放送局管理データベースから削除される。
【0185】
ステップS204では、当該所在情報が登録された放送局10に対応する放送チャンネル情報がトポロジーデータベースに登録される。又は、当該放送チャンネル情報がトポロジーデータベースから削除される。
【0186】
ステップS205では、接続先紹介サービスが終了したか否かが判別される。そして、接続先紹介サービスが終了した場合には(ステップS205:YES)、当該処理が終了し、接続先紹介サービスが終了しない場合には(ステップS205:NO)、ステップS202に戻る。
【0187】
ステップS206では、ノードNnから接続先候補紹介要求メッセージが受信されたか否かが判別される。そして、接続先候補紹介要求メッセージが受信された場合には(ステップS206:YES)、ステップS207に進み、接続先候補紹介要求メッセージが受信されない場合には(ステップS206:NO)、ステップS209に進む。
【0188】
ステップ207では、トポロジーデータベースのトポロジー管理情報から、接続先候補が検索され、検索された1以上の接続先候補のノード情報が取得される。
【0189】
ステップS208では、上記取得された接続先候補のノード情報を含む接続先候補応答メッセージが、接続先候補紹介要求メッセージの送信元のノードNnに対して返信され、ステップS205に戻る。
【0190】
ステップS209では、ノードNnからトポロジー参加報告又は脱退報告メッセージが受信された否かが判別される。そして、トポロジー参加報告又は脱退報告メッセージが受信された場合には(ステップS209:YES)、ステップS210に進み、トポロジー参加報告及び脱退報告メッセージが受信されない場合には(ステップS209:NO)、ステップS212に進む。
【0191】
ステップS210では、トポロジー参加報告又は脱退報告メッセージにしたがってトポロジーデータベースに登録されたトポロジー管理情報が更新される。これにより、トポロジーの変動が反映される。
【0192】
ステップS211では、該当トポロジーにおける単位時間当りの接続頻度(ノード接続回数の増加傾向)が計算され一時記憶され、ステップS205に戻る。
【0193】
ステップS212では、負荷監視契機になったか否かが判別され、負荷監視契機になった場合には(ステップS212:YES)、ステップS213に進み、負荷監視契機になっていない場合には(ステップS212:NO)、ステップS205に戻る。
【0194】
ステップS213では、負荷監視対象が測定される。例えば、周期的(例えば1分毎)にCPU使用率、単位時間当たりのノード接続回数の増加傾向、ルータ機器のパケット受信率等の負荷に関する情報等が測定される。
【0195】
そして、ステップS214では、放送局10に対して、上述した負荷状況の監視に必要な情報(例えば、測定値等)が送信される。なお、負荷監視対象の測定前の状態が正常状態であって測定後に過負荷状態であることが確認されたら、放送局10に対して、過負荷状態を示す情報が負荷状況の監視に必要な情報として送信され、負荷監視対象の測定前の状態が過負荷状態であって測定後に正常状態であることが確認されたら、放送局10に対して過負荷状態の回復を示す情報が負荷状況の監視に必要な情報として送信されるものであっても良い。
【0196】
以上説明したように上記実施形態によれば、放送局10が、接続先紹介サーバ20の負荷状況を監視し、当該負荷状況の監視レベルが閾値以上になった場合には、各ノードNnに対して上記第一モード(ハイブリッドP2Pに基づく制御モード)から上記第二モード(ピュアP2Pに基づく制御モード)に選択を切り替える指示を与えるための切替指示メッセージを、ツリートポロジーの放送経路を通じて、上流のノードNnから下流のノードNnに順次転送されるように放送するように構成したので、例えば異常状態の予兆を契機として、各ノードNnに上記第一モードから上記第二モードに切り替えさせることができ、センター設備への過負荷状態を回避しつつ、ハイブリッド型P2Pに基づくALMの制御方式と、ピュア型P2Pに基づくALMの制御方式との夫々の長所を生かしながら最適なトポロジー制御を行うことができる。
【0197】
また、接続先紹介サーバ20の負荷状況の監視レベルが閾値を例えば一定時間だけ下回った場合には、各ノードNnに対して上記第二モードから上記第一モードに選択を切り替える指示を与えるための切替指示メッセージがツリートポロジーに参加している各ノードNnに対して放送されるように構成したので、各ノードNnを迅速に第一モードに戻させることができ、最適なトポロジー制御を行うことができる。特に、10,000ノードを超える同報配信サービスを運用する場合は、トポロジー変動によるセンター設備への影響が顕著に現れるので、サーバ設備を安全に運用する上で効果が期待できる。
【0198】
また、上述した実施形態における第二モード(ピュアP2Pに基づく制御モード)によれば、接続先紹介サーバ20に負荷をかけずに、各ノードNn間でより効率良く再接続先候補を探索することができ、なおかつ、メッセージ量に応じて探索起点ノードを増減させることにより、当該探索起点ノードにおける再接続先候補を探索するためのメッセージの処理負担を分散させることができる。
【0199】
また、探索起点ノードの所在情報を含む広告メッセージが、定期的にツリートポロジーの放送経路を通じて放送されるように構成したので、各ノードNnは常に最新の探索起点ノードの所在情報を取得することができ、これを第二モードで迅速に利用することができる。
【0200】
なお、上記実施形態においては、第二モード(ピュアP2Pに基づく制御モード)として図3乃至図5を用いて説明した手法を適用したが、その他の手法を適用しても構わない。例えば、各ノードNnが近隣ノード(数ホップ以内の狭い範囲のノードNn)間でノード情報を交換し合って記憶しておき、他の上流となるノードNnに再接続する場合には、上記記憶されているノード情報を用いるようにしても良い。
【図面の簡単な説明】
【0201】
【図1】本実施形態に係るツリー型放送システムにおける各ノード装置の接続態様の一例を示す図である。
【図2】ハイブリッド型P2Pに基づくALMの制御方式においてノードN10が別のノードN2に再接続する様子を示す図である。
【図3】探索起点ノードのキャッシングの様子を示す図である。
【図4】探索起点ノードのキャッシングの様子を示す図である。
【図5】ピュア型P2Pに基づくALMの制御方式においてノードN7が別のノードN14に再接続する様子を示す図である。
【図6】放送局10の概要構成例を示す図である。
【図7】放送局10において監視対象とする負荷要因の一例を示す図である。
【図8】動作モードの切替指示メッセージが放送局10から放送される様子、及び切替指示メッセージのデータ構造例を示す図である。
【図9】接続先紹介サーバ20の概要構成例を示す図である。
【図10】ノードNnの概要構成例を示す図である。
【図11】ノードNnにおけるCPU304により実行される処理を示すフローチャートである。
【図12】ノードNnにおけるCPU304により実行される処理を示すフローチャートである。
【図13】ノードNnにおけるCPU304により実行される処理を示すフローチャートである。
【図14】ノードNnにおけるCPU304により実行される処理を示すフローチャートである。
【図15】ノードNnにおけるCPU304により実行される処理を示すフローチャートである。
【図16】放送局10におけるCPU104により実行される処理を示すフローチャートである。
【図17】放送局10におけるCPU104により実行される処理を示すフローチャートである。
【図18】接続先紹介サーバ20におけるCPU204により実行される処理を示すフローチャートである。
【符号の説明】
【0202】
8 ネットワーク
9 オーバーレイネットワーク
10 放送局
20 接続先紹介サーバ
101,201,301a 主電源
301b 補助電源
102,202,302 主記憶装置
103,203,303 ハードディスク装置
104,204,304 CPU
105,205,305 ネットワークインタフェース
106,206,306 周辺機器制御チップ
107,207,307 ビデオチップ
108,308 音源チップ
109,208 キーボード
110,209 マウス
111,210 ディスプレイ
112,312 内蔵スピーカ
113,211,313 システムバス
114,212,314 ルータ
309 赤外線ポート
310 ユーザ入力用リモコン
311 内蔵ディスプレイ
Nn ノード
S ツリー型放送システム

【特許請求の範囲】
【請求項1】
複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層のノード装置から下位階層のノード装置に順次転送されるようにし、且つ、
前記ノード装置が、再接続先候補となるノード装置のノード情報を、前記ツリー型放送システムにおけるノード装置間の接続態様を管理するサーバ装置から取得することにより再接続先を決定する第一モードと、再接続先候補となるノード装置のノード情報を前記ツリー型放送システムに参加している何れかのノード装置から取得することにより再接続先を決定する第二モードと、の何れか一方のモードを選択するモード選択手段と、自己が現在接続している上位階層のノード装置との接続を断ち切り別のノード装置に再接続する場合には、現在選択されている前記モードにしたがって前記ノード情報を取得することにより再接続先を決定し再接続処理を行う再接続処理手段と、を備えるようにしたツリー型放送システムにおける前記放送装置であって、
前記サーバ装置の負荷状況を監視する負荷状況監視手段と、
前記負荷状況の監視レベルが閾値以上になった場合には、各前記ノード装置に対して前記第二モードに選択を切り替える指示を与えるための切替指示情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送する切替指示情報放送手段と、
を備えることを特徴とする放送装置。
【請求項2】
請求項1に記載の放送装置において、
前記負荷状況の監視レベルが閾値を下回った場合には、前記切替指示情報放送手段は、前記各ノード装置に対して前記第一モードに選択を切り替える指示を与えるための切替指示情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送することを特徴とする放送装置。
【請求項3】
複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層のノード装置から下位階層のノード装置に順次転送されるようにしたツリー型放送システムであって、
前記ノード装置は、
再接続先候補となるノード装置のノード情報を、前記ツリー型放送システムにおけるノード装置間の接続態様を管理するサーバ装置から取得することにより再接続先を決定する第一モードと、再接続先候補となるノード装置のノード情報を前記ツリー型放送システムに参加している何れかのノード装置から取得することにより再接続先を決定する第二モードと、の何れか一方のモードを選択するモード選択手段と、
自己が現在接続している上位階層のノード装置との接続を断ち切り別のノード装置に再接続する場合には、現在選択されている前記モードにしたがって前記ノード情報を取得することにより再接続先を決定し再接続処理を行う再接続処理手段と、
を備え、
前記放送装置は、
前記サーバ装置の負荷状況を監視する負荷状況監視手段と、
前記負荷状況の監視レベルが閾値以上になった場合には、各前記ノード装置に対して前記第二モードに選択を切り替える指示を与えるための切替指示情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送する切替指示情報放送手段と、
を備えることを特徴とするツリー型放送システム。
【請求項4】
請求項3に記載のツリー型放送システムにおいて、
前記負荷状況の監視レベルが閾値を下回った場合には、前記切替指示情報放送手段は、前記各ノード装置に対して前記第一モードに選択を切り替える指示を与えるための切替指示情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送することを特徴とするツリー型放送システム。
【請求項5】
請求項3又は4に記載のツリー型放送システムにおいて、
前記ノード装置は、
再接続先候補となるノード装置を探索するための探索情報の送信先となるノード装置のノード情報を予め記憶しておくための記憶手段と、
前記再接続する際に前記第二モードが選択されている場合には、前記探索情報の送信先となるノード装置のノード情報にしたがって当該ノード装置に対して前記探索情報を送信する探索情報送信手段と、
備え、
前記探索情報の送信元のノード装置から送信された探索情報は、当該探索情報を受信した前記探索情報の送信先となるノード装置を起点として下位階層に存在する所定範囲のノード装置に順次転送されていき、
前記探索情報を受信した各ノード装置は、
自己の下位階層にノード装置を接続可能であるか否かを判断し、接続可能である場合には、自己を再接続先候補となるノード装置として自己のノード情報を、前記探索情報の送信元のノード装置に対して送信するノード情報送信手段を備えることを特徴とするツリー型放送システム。
【請求項6】
請求項5に記載のツリー型放送システムにおいて、
前記放送装置は、所定の時間間隔で、前記探索情報の送信先となるノード装置のノード情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送するノード情報放送手段を備えることを特徴とするツリー型放送システム。
【請求項7】
請求項6に記載のツリー型放送システムにおいて、
前記探索情報の送信先となるノード装置のノード情報を受信した各ノード装置は、当該ノード情報を前記記憶手段に記憶することを特徴とするツリー型放送システム。
【請求項8】
コンピュータを、請求項1又は2に記載の放送装置として機能させることを特徴とする放送処理プログラム。
【請求項9】
コンピュータを、請求項3乃至7の何れか一項に記載のツリー型放送システムにおけるノード装置として機能させることを特徴とするノード処理プログラム。
【請求項10】
複数のノード装置の参加により形成されたツリー型放送システムであり、当該複数のノード装置が放送装置を最上位として複数の階層を形成しつつ通信手段を介してツリー状に接続され、前記放送装置により放送されたコンテンツデータが、上位階層のノード装置から下位階層のノード装置に順次転送されるようにしたツリー型放送システムにおけるモード切替指示方法であって、
前記ノード装置は、
再接続先候補となるノード装置のノード情報を、前記ツリー型放送システムにおけるノード装置間の接続態様を管理するサーバ装置から取得することにより再接続先を決定する第一モードと、再接続先候補となるノード装置のノード情報を前記ツリー型放送システムに参加している何れかのノード装置から取得することにより再接続先を決定する第二モードと、の何れか一方のモードを選択する工程と、
自己が現在接続している上位階層のノード装置との接続を断ち切り別のノード装置に再接続する場合には、現在選択されている前記モードにしたがって前記ノード情報を取得することにより再接続先を決定し再接続処理を行う工程と、
を備え、
前記放送装置は、
前記サーバ装置の負荷状況を監視する工程と、
前記負荷状況の監視レベルが閾値以上になった場合には、各前記ノード装置に対して前記第二モードに選択を切り替える指示を与えるための切替指示情報を、上位階層のノード装置から下位階層のノード装置に順次転送されるように放送する工程と、
を備えることを特徴とするモード切替指示方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2009−232271(P2009−232271A)
【公開日】平成21年10月8日(2009.10.8)
【国際特許分類】
【出願番号】特願2008−76625(P2008−76625)
【出願日】平成20年3月24日(2008.3.24)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】