次に、本発明を実施するための最良の形態について、図1乃至図5を用いて説明する。なお、以下に説明する実施形態は、階層ツリー型の上記配信システムに対して本発明を適用した場合の実施形態である。
また、図1は実施形態に係る配信システムを構成する各装置の接続態様の一例を示す図であり、図2は当該配信システムに対してノードが新たに参加する場合の処理を一般的に例示する図である。更に、図3は当該配信システムからノードが脱退する場合の処理を例示する図であり、図4は当該配信システムにおけるADSL環境ノードに適用される参加処理を示す図である。更にまた図5は、当該配信システムにおけるノード間入れ換え処理の態様を例示する図である。
(I)実施形態に係る配信システムとしての全体構成等
先ず、実施形態に係る配信システムの概要構成及び機能について図1を用いて説明する。
図1に示すように、実施形態に係る配信システムSは、例えばインターネット等のネットワーク(現実世界の物理ネットワーク)を用いて構成されるものである。このとき、当該物理ネットワーク10として具体的には、例えば図1の下部枠101内に示すように、IX(Internet eXchange)5、ISP(Internet Service Provider)6、DSL(Digital Subscriber Line)回線事業者(の装置)7、FTTH(Fiber To The Home)回線事業者(の装置)8、ルータ(図示せず)及び通信回線(例えば電話回線や光ケーブル等であり、上記アクセスラインに相当する)9等を含む物理ネットワーク10を用いることができる。なおここで、図1の下部枠101内において、各通信回線9に対応する実線の太さは、各通信回線9の帯域の広さ(例えば、データ転送速度)を表している。
一方、実施形態に係る配信システムSは、配信されるコンテンツにおける配信単位に相当し且つ複数連続するパケットの配信元である放送局1と、複数のノード2と、により構成されている。そして、配信システムSは、図1の下部枠101内に示すような物理ネットワーク10を基礎として、各ノード2が物理的な通信回線9を介して(論理的に)接続され、図1の上部枠100内に示すように構成されている。
より具体的に配信システムSでは、放送局1を頂点(最上位)として、複数のノード2は通信回線9を介した物理ネットワーク10により、相互に物理的に接続されている。そして、これら各ノード2が、当該物理ネットワーク10を基礎として、複数の階層(図1の例では四階層)を含む論理的な階層ツリー構造を有する論理ネットワークシステム(物理ネットワーク10上に論理的に構成される論理ネットワークシステム)を形成している。この構成において、コンテンツの配信時には、上記連続する複数のパケットが、当該論理ネットワークシステムにおける上流(上位階層)から下流(下位階層)の方向へ各ノード2により中継されつつ配信される。
なお、後ほど詳述するように、実施形態に係る配信システムSには、実際には二つの配信システム(第1配信システム及び第2配信システム)が含まれている。そして、具体的に第1配信システムは、上記ADSL環境ノードたるノード2のみによりその階層ツリー構造が形成されている配信システムである。また第2配信システムは、上記ADSL環境ノードたるノード2と上記光ファイバ環境ノードたるノード2とが混在し且つADSL環境ノードたるノード2がその階層ツリー構造における下流側末端に接続されている配信システムである。
次に図1に戻って、上記放送局1は、実際には、放送対象たる上記コンテンツに相当するコンテンツデータを蓄積するハードディスクドライブ等からなる記録装置や、その配信を制御する制御装置、或いは、物理ネットワーク10に対するコンテンツデータ等の入出力を制御するインターフェース装置等を含んだ放送局装置として実現されるものである。また、上記ノード2は、実際には上述したように各家庭に設置されているインターネット接続可能なパーソナルコンピュータや、いわゆるセットトップボックス等のノード装置として実現されるものである。
図1において、上部枠100内に示されるノード2は、配信システムSに参加しているノード2である。そして、当該配信システムSに参加するためには、未参加のノードが、後述する如く接続先紹介サーバ3(図1下部枠101内参照)に対して参加要求メッセージを送信し、当該接続先紹介サーバ3により参加権限があることを認証される必要がある。
この接続先紹介サーバ3は、配信システムSに参加している放送局1及び各ノード2の所在情報(例えば、IP(Internet Protocol)アドレス及びポート番号(待ち受けポート番号)等)と、配信システムSにおける放送局1とノード2及び各ノード2間のトポロジ(論理ネットワークシステムとしての接続態様)を示すトポロジ情報と、後述する実施形態に係るADSL環境ノード比率情報と、を、各配信システム毎に夫々後述するデータベースを用いて管理している。
ここで、「ADSL環境ノード比率」とは、実施形態に係る上記第2配信システムに含まれている全てのノード2のうち、ADSL環境ノードたるノード2が占める比率(割合)を言う。また「ADSL環境ノード比率情報」とは、上記ADSL環境ノード比率を示す情報をいい、接続先紹介サーバ3において生成されて蓄積/管理されているものである。
そして、当該接続先紹介サーバ3は、未参加のノードからの参加要求に対して上記認証(参加認証)を行った後、上記ADSL環境ノード比率情報やトポロジ情報等を参照しつつ、当該ノードに対して、参加の際の接続先となる既参加のノード2(当該ADSL環境ノード比率情報やトポロジ等を考慮して選定される参加済のノード2)の所在情報を通知する。
なお後述するように接続先紹介サーバ3は、当該新規参加のノードの接続先を上記第1配信システム内とするか又は上記第2配信システム内とするかを、上記ADSL環境ノード比率に基づいて選択し、対応する所在情報を通知する。
これにより、当該所在情報の通知を受けた(新規参加の)ノードは、当該所在情報に基づいて参加済のノード2との接続を確立し、これによって実施形態に係る第1配信システム又は第2配信システムのいずれかに参加する。
なお、配信システムSに係る各配信システムにおける階層ツリー状のトポロジは、各ノード2に直接接続される下流側のノード2の最大接続可能数、バランス(対称性)や上記ADSL環境ノード比率等を考慮して決定される。また、これらに加えて、例えばノード2間のローカリティ(物理ネットワーク10上における近接度(ホップ数(介在するルータ数)が少ないほど高い)等を考慮して決定されるものでもよい。
更に、参加済のノード2の電源がオフとなった場合又は当該ノード2に対する通信状態が不良等になった場合等においては、当該ノード2は配信システムSから脱退する。これにより、当該脱退したノード2に直接接続されていた下流側のノード2等は、接続先紹介サーバ3から新たな接続先となる他の参加済のノード2の所在情報を取得して接続を確立する必要がある。なお、以下の説明では、当該新たな接続先への接続変更を、適宜「接続換え」と称する。
更にまた、上記階層ツリー状のトポロジは、一般的には放送局1毎、換言すれば放送チャンネル毎に形成される。すなわち、図1の上部枠100内では、一つの放送チャンネルのみ示している(但し、一つの放送局1で複数の放送チャンネルによる放送を賄う場合もある)。そして、例えば参加済のノード2においてそのユーザにより放送チャンネルが切り換えられた場合には、当該ノード2は、その切り換え後の放送チャンネルにおける参加済の他のノード2の所在情報を接続先紹介サーバ3から取得して接続を確立する。
(II)実施形態に係る配信ステムの構成及び当該配信システムへの参加処理等
次に、実施形態に係るいずれかの配信システムにおけるトポロジの構成並びに当該いずれかの配信システムに対する新規参加の場合の処理について、より具体的に図2を用いて説明する。なお、以下に説明するトポロジの構成並びに新規参加処理は、実施形態に係る第1配信システム及び第2配信システムについて共通であるので、図2ではそれらを共通的且つ一般的に説明する。
例えば図2に示す新たなノードNが新規にいずれかの配信システムに参加する場合、当該ノードNは、先ず接続先紹介サーバ3に対して上記参加要求に係る上流ノード紹介要求メッセージMG1を送信する。そして、接続先紹介サーバ3により上記参加認証等が為され、対応する参加許可の情報と共に直近上流側のノード2となる(いずれかの配信システムに参加済の)ノード2(図2に例示する場合はノード2b)の所在情報を含む上流ノード候補メッセージMG2が送信されてくると、新規参加のノードNは、当該所在情報により示される既参加のノード2(2b)に対して接続要求メッセージMG3を送信する。これにより、当該ノード2(2b)から接続許可応答メッセージMG4を取得することで、ノードNは、当該ノード2(2b)の直近下流側に接続され、配信システムSへの当該ノードNの参加処理が完了する。
そして、第1配信システム又は第2配信ステムのいずれかにおいて新たにノード2が参加した以降は、対応する放送局1から配信されるコンテンツに相当するコンテンツデータが、当該いずれかの配信システム内を階層ツリーに沿って順次上流側から下流側に中継されることにより、各ノード2に対するコンテンツの配信が実行される。
(III)実施形態に係る配信システムからの脱退処理
次に、実施形態に係るいずれかの配信システムからのノード2の脱退処理について、図3を用いて説明する。
なお、図3は、例えばその電源スイッチがオフとされたこと等の理由により、上記いずれかの配信システムからノード2eが脱退する場合を例示している。更に、以下の説明では、脱退するノード2eの直近下流に接続されているノード2j及び2kに対する処理が異なる二種類の脱退処理について、夫々図3(a)及び図3(b)を用いて説明する。更にまた、以下に説明する脱退処理も、実施形態に係る第1配信システム及び第2配信システムについて共通であるので、図3ではそれらを共通的且つ一般的に説明する。
当該脱退処理においては、図3に例示するように、脱退するノード2eは、当該ノード2eに対するコンテンツの供給元である上流のノード(図3に示す場合はノード2b)に対して、データ送信停止要求メッセージMG5及び接続解除要求メッセージMG6を夫々送信する。
そして、当該二つの要求メッセージを夫々受信したノード2bは、今まで実行していたコンテンツ中継処理を停止する。その後、ノード2bは、上記コンテンツの配信停止処理と並行してノード2b内のノード管理情報からノード2eに係る情報を削除することで、当該ノード2eとの接続を断とする。これらにより、当該ノード2bから脱退するノード2eへのコンテンツの配信は停止される。ここで、脱退するノード2eの直近下流側に他のノード(図3に例示する場合は、ノード2j及び2k)が接続されていた場合には、以下に説明する二つの方法のうちいずれかを用いて、当該下流側のノード2に対するコンテンツの配信経路の復元処理を行う。
すなわち、当該復元処理の第一例として、いずれかの配信システムを構成している各ノード2(ノード2j及び2kを含む)は、それに対応する直近上流側に接続されているノード2からのコンテンツの配信状態を常時監視している。そして、コンテンツの配信状態が悪化したこと(図3(a)において「×」マークにて示す)を契機として直近上流側のノード2(2e)が脱退したものと見なし、当該ノード2(2e)との接続を断とし、新たな他の上流ノード2との接続換え処理(図2参照)を開始する。
次に、当該復元処理の第二例としては、いわゆるイベント通知方式がある。このイベント通知方式においては、いずれかの配信システムに参加している各ノード2は図3(a)に例示するタイムアウト方式の如き監視処理は実行していない。そして、ノード2eが配信システムSとしてのトポロジから脱退する際、上記データ送信停止要求メッセージMG5及び接続解除要求メッセージMG6を夫々送信すると共に、直近下流に接続されているノード2j及び2kに対して、自身が脱退する旨の脱退報告メッセージMG7を夫々送信する。そして、当該ノード2j及び2kは、直近上流側にあったノード2eからの上記脱退報告メッセージMG7を夫々受信すると、当該ノード2eとの接続状態を断とし、新たな他の上流ノード2との接続換え処理(図2参照)を開始する。
以上夫々説明した処理により、いずれかの配信システムにおいてノード2eが脱退した後も、その直近下流にあったノード2j及び2kに対するコンテンツの配信が継続されることとなる。
(IV)実施形態に係る階層ツリーの構造等について
次に、実施形態に係る階層ツリーの構造等について図4及び図5を用いて説明する。
先ず、実施形態に係る階層ツリーの構造について図4を用いて説明する。
実施形態に係る配信システムSには、図4に例示する如く、第1配信システムS1と、第2配信システムS2と、が含まれている。そして、第1配信システムS1では、ADSL環境ノードたるノード2gg、2hh、2jj、2kk、2mm及び2nnが、放送局40を頂点として階層ツリー構造を形成して論理的に接続されている。一方第2配信システムS2では、光ファイバ環境ノードたるノード2a、2b、2c、2d、2e、2f、2g、2h、2j、2k、2m、2n、2o、2p、2q、2r、2s、2t、2u、2v、2w及び2xと、ADSL環境ノードたるノード2aa、2bb、2cc、2dd、2ee及び2ffと、が、放送局1を頂点として全体として階層ツリー構造を形成して論理的に接続されている。ここで、第2配信システムS2においては、ノード2aa、2bb、2cc、2dd、2ee及び2ffは、当該第2配信システムS2における下流側末端に、光ファイバ環境ノードたるノード2g、2h及び2jを夫々直近上流側のノード2として接続されている。
そして、図4において図示しない実施形態に係る接続先紹介サーバ3は、第1配信システムS1に相当するトポロジ情報を、後述する第1データベースとして蓄積している。また同様に接続先紹介サーバ3は、第2配信システムS2に相当するトポロジ情報を後述する第2データベースとして、更に配信システムSに参加している各ノード2各々の所在情報を後述する端末管理データベースとして、夫々蓄積している。
これらに加えて接続先紹介サーバ3は、第2配信システムS2における上記ADSL環境ノード比率情報を、逐次更新しつつ記憶する。そして、接続先紹介サーバ3は、上記ADSL環境ノード比率がその閾値として予め設定されている値未満である場合に、新たに配信システムSに参加するADSL環境ノードとしてノードNが参加しようとするとき、これを第2配信システムS2に参加するように上記上流ノード候補メッセージMG2(図2参照)を当該ノードNに送信する。これに対し、上記ADSL環境ノード比率が上記閾値以上である場合、接続先紹介サーバ3は、新規参加のノードNを第1配信システムS1に参加するように上記上流ノード候補メッセージMG2を当該ノードNに送信する。
なお、上記ADSL環境ノード比率の閾値は、配信システムSに参加している各ノード2に直接接続される下流側のノード2の最大接続可能数が配信システムS全体として例えば「2」とされている場合、例えば「20%」とされる。またこの他、当該閾値は、例えば、配信システムS全体のノード2の数、各ノード2が接続されているアクセスラインにおける実効配信速度、又は第2配信システムS2において新規参加のノード2に対する接続先として選択されるノード2の種類(光ファイバ環境ノード又はADSL環境ノードの種類)の経験値、等に基づいて予め設定されて接続先紹介サーバ3内に記憶されているものである。
一方、光ファイバ環境ノードたるノードNが配信システムSに新規参加しようとする場合、接続先紹介サーバ3は、これを第2配信システムS2に参加するように上記上流ノード候補メッセージMG2を当該ノードNに送信する。
ここで、当該ノードNが第2配信システムS2に参加しようとする場合、図5左に例示するように、その下流側末端に接続されているADSL環境ノードたる例えばノード2aaに対して当該ノードNから上記接続要求メッセージMG3(図2参照)が送信されることがある。この場合、当該ADSL環境ノードであるノード2aaは、図5右に例示される如く、第2配信システムS2のトポロジにおける現在の自身の接続位置と、新たに接続されるノードNの接続位置と、を入れ換える処理を実行する。この入れ換え処理により、ADSL環境ノードたるノード2aaが常に当該トポロジの下流側末端へ接続される態様となり、第2配信システムS2としての配信速度が維持されることとなる。
以上夫々説明した実施形態に係る処理が配信システムSとして実行されることで、新規参加のADSL環境ノードたるノードNに対して第2配信システムS2内の下流側末端に接続されることを確実に保証でき、新規参加のノードNにおいて第2配信システムS2における配信速度でコンテンツの配信を受けることができることになる。この場合の配信速度は、通常はADSL環境ノードに対するコンテンツの入力速度の最大値(例えば2メガbps(bit per second))に近い値となる。また、光ファイバ環境ノードたるノード2に対しても、そのアクセスラインとしての配信速度の高速性を滅殺させることなく、第2配信システムS2としてのコンテンツの配信を実行することができる。
次に、上記実施形態に係る配信システムS(第1配信システムS1及び第2配信システムS2)に属する放送局1又は40、各ノード2及び接続先紹介サーバ3夫々の具体的な構成及び処理について、実施例として図6至図14を用いて説明する。
なお、図6は実施例に係る放送局1又は40の細部構成を示すブロック図であり、図7は実施例に係る各ノード2の細部構成を共通的に示すブロック図であり、図8は実施例に係る接続先紹介サーバ3の細部構成を示すブロック図である。また図9乃至図12は当該各ノード2において実行される実施例に係る処理を共通的に夫々示すフローチャートであり、図13は当該放送局1又は40において実行される実施例に係る処理を示すフローチャートであり、図14は当該接続先紹介サーバ3において実行される実施例に係る処理を示すフローチャートである。
始めに、実施例に係る放送局1又は40の概要構成及び概要動作について、図6を用いて説明する。なお、実施例に係る放送局1及び40夫々の概要構成及び動作は、基本的には同一であるので、図6では放送局1の概要構成及び動作を説明する。
図6に示すように、実施例に係る放送局1は、制御部11、記憶部12、暗号化用アクセラレータ13、エンコーダ部14、通信部15及び入力部16を備えて構成され、これらの構成要素は、バス17を介して相互に接続されている。
このとき、制御部11は、演算機能を有するCPU、作業用RAM(Random Access Memory)並びに各種データ及びプログラム(OS(Operating System)及び各種アプリケーションを含む)を記憶するROM(Read Only Memory)等から構成されている。また、記憶部12は、上記コンテンツデータ(パケット)を記憶保存するためのHDD(Hard Disc Drive)等から構成されている。更に、暗号化用アクセラレータ13は、暗号鍵を用いてコンテンツデータを暗号化するために用いられる。
一方、エンコーダ部14は、コンテンツデータを規定のデータ形式へ変換する。また、通信部15は、通信回線9を介してノード2等との間のコンテンツや各種メッセージの通信制御を行う。更に、入力部16は、例えば、キーボード又はマウス等からなり、使用者(オペレータ)からの指示を受け付け当該指示に応じた指示信号を制御部11に対して与える。
以上の構成において、制御部11は、CPUが記憶部12等に記憶されたプログラムを実行することにより放送局1全体を統括制御し、後述する実施例に係る各処理を実行する。これに加えて、制御部11は、通常の処理として、記憶部12に記憶保存されたコンテンツデータを、エンコード部14を用いてデータ形式を変換した後、暗号鍵を用いて暗号化用アクセラレータ13により暗号化させる。その後、制御部11は、当該コンテンツデータを所定のデータ量に分割して連続する複数の上記パケットを生成し、これを通信部15を介してノード2(図1乃至図4に示す例では、ノード2a及び2b)に対してストリーム配信する。
また、制御部11は、当該コンテンツデータの配信先を、記憶部12に記憶された接続態様(トポロジ)テーブルを参照して決定する。このトポロジテーブルには、少なくとも、放送局1と接続されるノード2(換言すれば、コンテンツデータの配信先であるノード2)のIPアドレス及びポート番号が夫々記述されている。
次に、実施例に係る各ノード2の概要構成及び概要動作について、図7を用いて説明する。なお、実施例に係る各ノード2は、夫々が接続されるアクセスラインがADSLであるか或いは光ファイバであるかの点以外は、基本的に同一の構成を備える。
図7に示すように、実施例に係るノード2は、接続換手段としての制御部21と、記憶部22と、バッファメモリ23と、復号化アクセラレータ24と、デコーダ部25と、映像処理部26と、表示部27と、音声処理部28と、スピーカ29と、通信部29aと、入力部29bと、ICカードスロット29cと、を備えて構成されている。そして、これらの構成要素はバス29dを介して相互に接続されている。
このとき、制御部21は、演算機能を有するCPU、作業用RAM、各種データ及びプログラム(OS及び各種アプリケーションを含む)を記憶するROM等から構成されている。また、記憶部22は、各種データ及びプログラム等を記憶するHDD等から構成されている。更にバッファメモリ23は、受信したコンテンツデータを一時的に蓄積(記憶)する。
一方、復号化アクセラレータ24は、バッファメモリ23に蓄積された暗号化されたコンテンツデータを復号鍵を用いて復号化する。また、デコーダ部25は、復号化されたコンテンツデータに含まれるビデオデータ及びオーディオデータ等をデコード(データ伸張等)して再生する。更に、映像処理部26は、当該再生されたビデオデータ等に対して所定の描画処理を施し映像信号として出力する。
他方、表示部27は、CRT(Cathode Ray Tube)又は液晶ディスプレイ等からなり、映像処理部26から出力された映像信号に基づき対応する映像を表示する。また、音声処理部28は、上記再生されたオーディオデータをアナログ音声信号にD(Digital)/A(Analog)変換した後これをアンプにより増幅して出力する。更に、スピーカ部29は、当該音声処理部28から出力された音声信号を音波として出力する。
また、通信部29aは、通信回線9を介して放送局1(又は40)や他のノード2等との間の通信制御を行う。更に、入力部29bは、例えば、マウス、キーボード及び操作パネル或いはリモコン等からなり、使用者(視聴者)からの各種指示に対応する指示信号を制御部21に対して出力する。そして、ICカードスロット29cは、ICカード29eに対する情報の読み書きを行う。
ここで、ICカード29eは、耐タンパ性があり、例えば、配信システムSの運営者等から各ノード2の使用者に配布されるものである。このとき、当該耐タンパ性とは、非正規な手段による機密データの読み取りを防ぎ、簡単に解析できないようにタンパリング対策が施されていることを言う。このICカード29eは、CPUからなるICカードコントローラ、耐タンパ性のある不揮発性メモリ、例えば、EEPROM(Electrical Erasable and Programmable ROM)等を備えて構成されている。当該不揮発性メモリには、ユーザID、暗号化されたコンテンツデータを復号化するための復号鍵及びデジタル証明書等が記憶されている。ここで、当該デジタル証明書は、ノード2が配信システムSの第1配信システムS1又は第2配信システムS2に参加する際に、上述した上流ノード紹介要求メッセージMG1(当該ノード2の所在情報が含まれる)と共に接続先紹介サーバ3に送信される。
一方、バッファメモリ23は、例えばFIFO(First In First Out)形式のリングバッファメモリから構成されており、制御部21の制御下、受信ポインタにより示される記憶領域に通信部29aを通じて受信されたコンテンツデータを一時的に蓄積する。
このとき、制御部21は、それに含まれるCPUが記憶部22等に記憶されたプログラムを読み出して実行することによりノード2全体を統括制御し、後述する実施例に係る各処理を実行する。これに加えて、制御部21は、通常の処理として、上流から配信されてきた複数のパケットを通信部29aを通じて受信してバッファメモリ23に書き込み、且つ、当該バッファメモリ23に蓄積されているパケット(一定時間過去に受信されたパケット)を読み出して通信部29aを通じて下流のノード2に送信(中継)する。一方、バッファメモリ23は、再生ポインタにより示される当該バッファメモリ23の記憶領域に蓄積されているパケットを読み出し、バス29dを介して復号化アクセラレータ24やデコーダ部25に出力する。
なお、上記プログラムは、例えば、ネットワーク10上の所定のサーバからダウンロードされるようにしてもよいし、例えば、CD−ROM(Compact disc - ROM)等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしてもよい。
最後に、実施例に係る接続先紹介サーバ3の概要構成及び概要動作について、図8を用いて説明する。
図8に示すように、実施例に係る接続先紹介サーバ3は、参加率検出手段及び参加先制御手段としての制御部35と、記憶部36と、通信部37と、を備えて構成され、これらの構成要素は、バス38を介して相互に接続されている。
このとき、制御部35は、演算機能を有するCPU,作業用RAM,各種データ及びプログラム(OS及び各種アプリケーションを含む)を記憶するROM等から構成されている。また、記憶部36は、後述する各種データ等を記憶保存するためのHDD等から構成されている。更に、通信部37は、ネットワーク10を通じてノード2等との間の情報の通信制御を行う。
この構成において、記憶部36内には、配信システムSに参加している放送局1及び40並びに各ノード2の所在情報が、上記端末管理データベース36Aとして蓄積・記憶されている。また記憶部36内には同様に、第1配信システムS1における放送局40とノード2及び各ノード2間のトポロジ情報が上記第1データベース36Bとして蓄積・記憶され、更に第2配信システムS2における放送局1とノード2及び各ノード2間のトポロジ情報が上記第2データベース36Cとして蓄積・記憶されている。これらに加えて、記憶部36には、第2配信システムS2にその時点で属しているADSL環境ノードたるノード2の数を基準とした上記ADSL環境ノード比率情報が、更新されつつ記憶される。
そして、制御部35は、それに含まれるCPUが記憶部36等に記憶されたプログラムを実行することにより接続先紹介サーバ3全体を統括制御し、上記記憶されているADSL環境ノード比率情報を用いつつ後述する実施例に係る各処理を実行する。
これに加えて、制御部35は、通常の処理として、未参加のノード2、例えば、図2に例示するノードNから上記上流ノード紹介要求メッセージMG1が送信されてきたとき、上述した認証処理(例えば参加要求に付加されたデジタル証明書の有効性の判定処理等)を行う。そして、当該認証が有効であったならば、当該ノードNの所在情報とデジタル証明書のダイジェストとを、例えば、デジタル証明書を所定のハッシュ関数でハッシュ化したハッシュ値を上記端末データベース36Aに記憶する。
また、制御部35は、上記認証が有効であった場合に、上記上流ノード紹介要求メッセージMG1を送信してきたノードNに対して、接続先候補となる複数の上流ノード2の所在情報及び階層レベル情報(当該上流ノード2が、どの配信システムの第何階層に存在するかを示す情報)を含む上記上流ノード候補メッセージMG2を、通信部37を通じて送信する。そして、当該上流ノード候補メッセージMG2を受信したノードNにおいては、接続先候補となる複数の上流ノード2の第1配信システムS1又は第2配信システムS2内でのネットワーク近接度が比較される。これにより、最も近い位置に存在するノード2(上流ノード)が選定されて、当該ノード2との間で上記接続要求メッセージMG3及び接続許可応答メッセージMG4の授受が為されて接続が確立される。その後、当該接続が確立された上流ノード2の所在情報が接続先紹介サーバ3に対して送信(返信)される。これに対して、制御部35は、当該ノードNに関するトポロジ情報を、対応する上記第1データベース36B又は第2データベース36Cのいずれかに記憶する。
次に、上述した構成を備えるノード2、放送局1又は40並びに接続先紹介サーバ3における実施例に係る処理について、具体的に図9乃至図14を用いて説明する。
(A)実施例に係るノードの動作
先ず、配信システムSに係るノード2における実施例に係る動作について、図9乃至図12を用いて説明する。ここで、実施例に係る各ノード2においては、全て(すなわち第1配信システムS1に属しているか又は第2配信システムS2に属しているかを問わず)図9乃至図12に示す処理と同一の処理が夫々に実行されている。
また、図9においては、実施例に係る各ノード2において実行される上記参加処理(ステップS1乃至S9(図2参照))から、受信したパケットの中継処理及び再生処理(ステップS10乃至S14)までを説明する。
図9に示すように、実施例に係るいずれかのノード2(以下、図9乃至図12を用いてその処理を説明するノード2を、「対象ノード2」と称する)において、その電源スイッチがオンとされて対象ノード2における主電源及び補助電源がオンとされると、最初に対象ノード2内に記憶されているプログラムや各構成部材夫々が制御部21によって初期化される(ステップS1)。なお、上記補助電源は、上記主電源がオフとされた後において最終的に対象ノード2に対する電源供給が全て断とされるまでオンとされている電源である。
また、当該初期化には、対象ノード2自体のノード種別、すなわち当該対象ノード2が光ファイバ環境ノード又はADSL環境ノードのいずれであるかの判別が含まれている。この判別には、例えば、後述する配信速度(帯域)測定方法(図12ステップS60参照)により測定されたその時点での配信速度に応じてADSL環境ノードであるか光ファイバ環境ノードであるかを判別する方法、ノード2に備えられているネットワークインターフェースカードの名称を取得して判別する方式、又は使用者による入力結果に基づいて判別する方式等を利用することが可能である。
そして、当該初期化が完了すると、次に、対象ノード2の制御部21は、当該対象ノード2自体において、参加要求操作(図2参照)又は後述する接続換え処理の要求のいずれかが生起したか否かを確認する(ステップS2)。このとき、当該参加要求操作とは、配信システムSにその対象ノード2自体が新たに参加する旨(すなわち、当該選択されたチャンネルに相当するコンテンツデータの受信を希望する旨)の操作である。また、当該参加要求操作の有無の確認は、対象ノード2の制御部21が、例えば視聴を希望する放送局1に相当するチャンネルを選択する操作がそのユーザにより入力部29bにおいて実行されたか否かを確認することにより実行される。更に接続換え処理とは、例えば、現在接続されている上流側のノード2との接続を断とし、新たな接続先の紹介を接続先紹介サーバ3に求めた上で、当該紹介された新たな接続先に対して接続を試みる処理である。
そして、参加要求操作が実行されたか又は接続換え処理の要求が生起したとき(ステップS2;YES)、制御部21は、実際に配信システムSに参加する、又は新たな接続先を発見するための上流ノード紹介要求メッセージMG1を接続先紹介サーバ3に送信する(ステップS3)。なお、当該上流ノード紹介要求メッセージMG1には、上記ステップS1の処理結果に基づいて、対象ノード2がADSL環境ノードであるか、或いは光ファイバ環境ノードであるかを示す情報(例えばフラグ等)が含まれている。
その後は、制御部21は、対象ノード2における上記電源スイッチがオフとされたか否かを確認し(ステップS4)、オフとされていないとき(ステップS4;NO)、制御部21は、上記ステップS2に戻って上述してきた一連の処理を繰り返す。一方、ステップS4の判定において、電源スイッチがオフとされたときは(ステップS4;YES)、上記主電源をオフとし、それまで参加していた配信システムSから脱退する処理を実行した後に上記補助電源もオフとして(ステップS5)、対象ノード2としての処理を終了する。
他方、上記ステップS2の判定において、上記参加の旨の操作又は接続換え処理要求の生起が元々発生していないか、又は一度当該参加の旨の操作又は接続換え処理要求の生起が発生し、それに対応するステップS3の判定として上流ノード紹介要求メッセージMG1を接続先紹介サーバ3へ送信後であるとき(ステップS2;NO)、制御部21は、当該上流ノード紹介要求メッセージMG1に対する応答としての上記上流ノード候補メッセージMG2を接続先紹介サーバ3から受信したか否かを確認する(ステップS6)。
そして、当該上流ノード候補メッセージMG2を受信しているとき(ステップS6;YES)、制御部21は、上流ノード候補メッセージMG2の中から接続対象となる他のノード2を選択し、その選択したノード2に対していわゆるNAT(Network Address Translation)越え処理を実行する(ステップS7)。
ここで、当該NAT越え処理とは、通常、いわゆるエッジルータにおいてWAN(Wide Area Network)側からLAN(Local Area Network)側へ未知のパケットを通過させるときに用られる処理のことを指し、より具体的には、例えば、「UDP Hole Punching」や「UPnP(Universal Plug and Play)」といった技術により実現される処理である。
当該NAT越え処理が完了したら、制御部21は、実際のパケットの配信を受けるべく、当該NAT越え処理の対象となったノード2に対して、上記接続要求メッセージMG3を送信する(ステップS8)。次に制御部21は、対象ノード2における一連の接続処理(参加処理)を監視する期間を示す図示しない接続処理監視タイマを起動し(ステップS9)、その後、上記ステップS4の処理に移行して上述した一連の処理を繰り返す。
一方、上記ステップS6の判定において、上流ノード候補メッセージMG2を受信していないとき(ステップS6;NO)、制御部21は、次に新たなパケットを上流側の他のノード2から受信したか否かを確認する(ステップS10)。
そして、当該上流側のノード2からパケットを受信していない場合(ステップS10;NO)、制御部21は、後述の図10に示す処理に移行する。一方、パケットを受信した場合には(ステップS10;YES)、そのパケットの受信態様に基づいて、記憶部22及び制御部21において管理している受信品質統計情報を更新する(ステップS11)。
ここで、受信品質統計情報とは、具体的には、各ノード2が受信したパケットの量等に基づいて算出された、例えば過去一分間の平均パケットレート又は平均パケット損失率である。そして、この受信品質統計情報としての平均パケットレート又は平均パケット損失率が悪化してくると、それは即ち当該ノード2に対するコンテンツの配信状態が悪化したものと見なすことができる。
次に、当該対象ノード2に対して下流側に接続されている他のノード2が存在しているか否かを確認する(ステップS12)。これにより、当該下流側のノード2が存在している場合(ステップS12;YES)、制御部21は、当該下流側のノード2に対して必要なパケットを中継しつつ(ステップS13)、受信したパケットを自らのデコーダ部25へ出力し、復号したコンテンツを映像処理部26及び音声処理部28を用いて再生し(ステップS14)、その後上記ステップS4の処理に移行して上述した一連の処理を繰り返す。
なお、上記ステップS12の判定において、下流側のノード2が存在していない場合(ステップS12;NO)、制御部21は、そのまま上記ステップS14に移行して自らにおける再生処理を実行する。
次に、上記ステップS10の処理において、上流側のノード2からパケットを受信していない場合(ステップS10;NO)以降の処理について、図10を用いて説明する。なお、図10においては、実施例に係る対象ノード2において実行される上記脱退処理(ステップS20乃至S23)、当該対象ノード2の下流側において新たに参加する他のノード2の当該参加処理又は接続位置交換処理(ステップS24乃至S27並びにS30及びS31)並びに実施例に係るADSL環境ノードについての入れ換え処理(図5参照。ステップS27乃至S29並びにS32及びS33)について夫々説明する。
図9に示すステップS10の判定において、パケットを受信していないとき(ステップS10;NO)、制御部21は、図10に示すように、パケット受信待ちの状態で対象ノード2において配信システムS(第1配信システムS1又は第2配信システムS2のいずれか)から脱退する旨の操作が為されたか否かを確認する(ステップS20)。
ステップS20の監視処理中において当該脱退する旨の操作が為されたとき(ステップS20;YES)、制御部21は、その時点で接続されている直近上流のノード2に対してデータ送信停止要求メッセージMG5及び接続解除要求メッセージMG6を夫々送信する(ステップS21、S22。図3参照)。そして、制御部21は、接続先紹介サーバ3に対して配信システムSのトポロジから脱退した旨の図示しない脱退報告メッセージを送信し(ステップS23)、図9に示すステップS4の処理に移行して上述した一連の処理を繰り返す。なお、当該脱退報告メッセージには、対象ノード2が光ファイバ環境ノードであるかADSL環境ノードであるかを示す情報が含まれている。
一方、ステップS20の判定において、上記脱退する旨の操作が為されないとき(ステップS20;NO)、次に制御部21は、当該操作の監視中において下流側に接続されている他のノード2から新たな接続要求メッセージMG3が送信されてきているか否かを確認する(ステップS24)。なお当該接続要求メッセージMG3には、当該他のノード2がADSL環境ノードであるか、又は光ファイバ環境ノードであるか、を示す情報が含まれていることなる(図9ステップS8参照)。
これにより、当該接続要求メッセージMG3が送信されてきているとき(ステップS24;YES)、制御部21は、現在対象ノード2の下流側に接続されている他のノード2の数が当該対象ノード2としての最大接続可能数に達しているか否かを確認する(ステップS25)。ここで、制御部21は、対象ノード2の記憶部22に記憶されているノード管理情報に基づいて当該確認処理を実行する。
また、上記最大接続可能数については、対象ノード2が光ファイバ環境ノードであるかADSL環境ノードであるかに拘わらず、配信システムSとして予め設定されている最大接続可能数となる。例えば、図2乃至図5に例示する配信システムSの場合は「2」となる。
そして、対象ノード2に現在接続されている下流ノード数が上記最大接続可能数に達している場合(ステップS25;YES)、下流側にもはや新たな他のノード2を接続できないこととなる。よって、制御部21は、ステップS24の判定において接続要求メッセージMG3を送信してきた他のノード2に対し、当該接続要求を拒否する旨の接続拒否メッセージを送信して(ステップS26)、当該他のノード2の対象ノード2に対する接続を拒否する。
その後、対象ノード2の制御部21は、図9に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
次に、上記ステップS25の判定において、対象ノード2に現在接続されている下流ノード数が上記最大接続可能数に達していない場合(ステップS25;NO)、制御部21は、対象ノード2自体がADSL環境ノードであるか否かを確認する(ステップS27)。そして、対象ノード2自体が光ファイバ環境ノードであるとき(ステップS27;NO)、制御部21は、送信されてきた接続要求メッセージMG3に対応して当該下流側の他のノード2の所在情報を記憶部22に記憶されているノード管理情報内に追加(登録)する(ステップS30)。その後制御部21は、当該下流側の他のノード2に対して上記接続許可応答メッセージMG4を送信し、当該他のノード2との間における接続処理を実行する(ステップS31)。そして、制御部21は、図9に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
一方、ステップS27の判定において、対象ノード2自体がADSL環境ノードであるとき(ステップS27;YES)、次に制御部21は、上記ステップS24において受信した接続要求メッセージMG3に基づき、接続要求している下流側の他のノード2が光ファイバ環境ノードであるか否かを確認する(ステップS28)。
そして、当該他のノード2がADSL環境ノードであるとき(ステップS30;NO)、制御部21は、上記ステップS26に移行し、その後図9に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
一方、ステップS28の判定において、当該他のノード2が光ファイバ環境ノードであるとき(ステップS28;YES)、制御部21は、光ファイバ環境ノードである当該他のノード2の階層ツリー内の接続位置と、ADSL環境ノードである対象ノード2の階層ツリー内の接続位置と、を入れ換える処理を行う(図5及び後述のステップS33参照)。このため制御部21は、図示しない接続位置交換メッセージを当該他のノード2に送信する(ステップS29)。その後制御部21は、図9に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
他方、ステップS24の判定において、接続要求メッセージMG3も送信されてきていないとき(ステップS24;NO)、次に制御部21は、上流側に接続されている他のノード2から上記接続位置交換メッセージが送信されてきているか否かを確認する(ステップS32)。そして当該接続位置交換メッセージも送信されてきていないとき(ステップS32;NO)、制御部21は、後述の図11に示す処理に移行する。一方、当該接続位置交換メッセージを受信した場合に(ステップS32;YES)、制御部21は、当該接続位置交換メッセージの送信元たる他のノード2との間で、上記図5に例示した接続位置の入れ換え処理を実行する(ステップS33)。その後制御部21は、図9に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
次に、上記ステップS32の判定において、接続位置交換メッセージも送信されてきていないとき(ステップS32;NO)以降の処理について、図11を用いて説明する。なお、図11においては、実施例に係る対象ノード2において実行される上記参加処理等(ステップS35乃至S39)、当該対象ノード2の下流側に接続される他のノード2との間における種々の処理(ステップS40乃至S50)について夫々説明する。
図10に示すステップS32の判定において、接続位置交換メッセージも送信されてきていないとき(ステップS32;NO)、制御部21は次に、図11に示すように、直近上流側の他のノード2から接続許可応答メッセージMG4を受信したか否かを確認する(ステップS35)。そして、当該接続許可応答メッセージMG4を受信したとき(ステップS35;YES)、制御部21は、上記図示しない接続処理監視タイマが起動中であるか否かを確認する(ステップS36)。そして当該タイマが起動中であるとき(ステップS36;YES)、制御部21はこれを停止させ(ステップS37)、更に実際にコンテンツデータの配信を受けるべく、その旨の図示しないデータ送信開始要求メッセージを上流側の他のノード2に向けて送信する(ステップS38)。このとき、当該データ送信開始要求メッセージには、例えばLAN(Local Area Network)におけるゲートウエイのMAC(Media Access Control)アドレスと、当該対象ノード2がパケットを受信する際に用いられる暗号通信方式に関する情報等がセキュリティ情報として添付されている。その後、制御部21は、接続先紹介サーバ3に対して配信システムSのトポロジに対する参加報告メッセージを送信し(ステップS39)、その後、図9に示すステップS4の処理に移行して上述した一連の処理を繰り返す。ここで、当該参加報告メッセージには、その対象ノード2がADSL環境ノードであるか又は光ファイバ環境ノードを示す情報が含まれている。
一方、ステップS35の判定において、接続許可応答メッセージMG4を受信していないとき(ステップS35;NO)、次に制御部21は、上流側の他のノード2から接続拒否メッセージ(図10ステップS26参照)を受信したか否かを確認する(ステップS40)。そして、当該接続拒否メッセージが送信されてきた時(ステップS40;YES)、次に制御部21は、上記接続処理監視タイマの計時が予め設定されている計時上限値になったことにより当該接続処理監視タイマがタイムアウトしたか否かを確認する(ステップS41)。
これにより、当該接続処理監視タイマがタイムアウトしているときは(ステップS41;YES)、接続先たるノード2に対する接続処理が正常になし得ないことになるので、制御部21は、その旨を例えば表示部27を介して使用者に告知する(ステップS44)。その後制御部21は、図9に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
一方、ステップS41の判定において接続処理監視タイマが未だタイムアウトしていないときは、再度接続を試みるべく、制御部21は、接続換え処理要求を生起させ(ステップS42)、その後図9に示すステップS4の処理に移行して上述した一連の処理(特にステップS2及びS3の処理)を繰り返す。
他方、上記ステップS40の判定において、接続拒否メッセージも送信されてこない時(ステップS40;NO)、制御部21は次に、下流側に接続されている他のノード2から新たな接続解除要求メッセージMG6を受信しているか否かを確認する(ステップS45)。そして、当該接続解除要求メッセージMG6を受信したとき(ステップS45;YES)、制御部21は、当該接続解除要求メッセージMG6に対応して下流側の他のノード2の所在情報を上記ノード管理情報から削除することで当該下流側の他のノード2の削除処理を実行し(ステップS46)、図9に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
一方、ステップS45の判定において、新たな接続解除要求メッセージMG6も受信していないとき(ステップS45;NO)、次に制御部21は、下流側に接続されている他のノード2から上記データ送信開始要求メッセージを受信しているか否かを確認する(ステップS38参照。ステップS47)。
そして、当該データ送信開始要求メッセージを受信しているとき(ステップS47;YES)、制御部21は、当該データ送信開始要求メッセージに応答して通常のコンテンツデータとしてのパケットを下流側の他のノード2に送信し(ステップS48)、図9に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
他方、ステップS47の判定において、データ送信開始要求メッセージを受信していないとき(ステップS47;NO)、制御部21は、下流側の他のノード2から上記データ送信停止要求メッセージMG5を受信しているか否かを確認する(ステップS49)。そして、当該データ送信停止要求メッセージMG5も受信していないとき(ステップS49;NO)、制御部21は、後述の図12に示す処理に移行する。
一方、当該データ送信停止要求メッセージMG5を受信した場合に(ステップS49;YES)、制御部21は、下流側の他のノード2に対するコンテンツデータとしてのパケットの送信を停止し(ステップS50)、図9に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
次に、上記ステップS49の判定においてデータ送信停止要求メッセージMG5も受信していない場合(ステップS49;NO)以降の処理について、図12を用いて説明する。
図11に示すステップS49の判定において、データ送信停止要求メッセージMG5も受信していないとき(ステップS49;NO)、制御部21は次に、図12に示すように、対象ノード2において、上流側のノード2からのコンテンツの配信状態が悪化したか否かを確認する(ステップS55)。このステップS55における判定方法は、具体的には、その時点で対象ノード2の記憶部22に記憶されている受信品質統計情報として記憶されている閾値との比較等において、対象ノード2への実際の配信量が低下したか否かを確認する。
ステップS55の確認処理において、当該配信状態が悪化した(実際の配信量が低下した)と確認された場合(ステップS55;YES)、制御部21は、その時点から接続換え処理を開始する。より具体的には、制御部21は、その時点で接続されている直近上流のノード2に対してデータ送信停止要求メッセージMG5及び接続解除要求メッセージMG6を夫々送信する(ステップS56、S57。図3参照)。そして、制御部21は、接続先紹介サーバ3に対して配信システムSのトポロジから脱退した旨の図示しない脱退報告メッセージを送信し(ステップS58)、その後上記接続換え処理を実行する(ステップS59)。その後制御部21は、図9に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
一方、上記ステップS55の判定において、配信状態が悪化していないとき(ステップS55;NO)、制御部21は、対象ノード2におけるコンテンツの実際の配信速度(いわゆる帯域)の現状を測定すべきとして予め設定されているタイミング(例えば15分毎に一回)が到来しているか否かを確認する(ステップS60)。そして、当該タイミングが未だ到来していないとき(ステップS60;NO)、制御部21は、図9に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
他方、ステップS60の判定において、当該タイミングが到来しているとき(ステップS60;YES)、制御部21は、予め設定されている従来の帯域測定方法によりそのタイミングでの上記帯域を測定し(ステップS61)、その結果を記憶部22内に不揮発性に記憶させる(ステップS62)。その後制御部21は、図9に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
ここで、上記ステップS61において実行される帯域の測定方法としては、例えばいわゆるエコーサーバを用いる方式が好適である。
より具体的には、各ノード2は、図示しないデータセンタ等に設置してあるエコーサーバに対して、高ビットレートでパケット(例えば、UDP(User Datagram Protocol)パケット)を連続して一定時間だけ送信し、その送信したパケットに対応してエコーサーバから返信されてくるエコーパケットを受信しながら、そのパケット損失率やジッタを計測することでその時点での帯域を判別することが可能である。ここで、上記高ビットレートの具体値としては、例えば、有線回線たる通信回線9が商用の光ファイバ回線であ場合において、15メガbps程度が好適である。
(B)実施例に係る放送局の動作
次に、実施例に係る放送局1における動作について、具体的に図13を用いて説明する。なお、放送局の動作としては第1配信システムS1に係る放送局40と第2配信システムS2に係る放送局1とでは同一であるので、以下の説明では代表して放送局1の動作について説明する。
当該実施例に係る放送局1においては、図13に示すように、放送局1としての電源スイッチがオンとされると、制御部11は、最初に放送局1内に記憶されているプログラムや各構成部材夫々を初期化し、各ノード2に対するコンテンツの送信や接続先紹介サーバ3からのメッセージ等の受信を可能とする(ステップS65)。
次に、当該初期化が完了すると、制御部11は、第2配信システムS2の(即ち放送局1の)管理者により、第2配信システムS2としてのコンテンツの配信を開始又は停止する旨の操作が当該放送局1の入力部16において実行されたか否かを確認する(ステップS66)。そして、制御部11は、当該操作が為されていると判断したときは(ステップS66;YES)、当該操作に基づいて対応するコンテンツのパケットの第2配信システムS2内への配信を開始又は停止する(ステップS67)。
その後、制御部11は、放送局1における上記電源スイッチがオフとされたか否かを確認する(ステップS68)。そして、オフとされていないとき(ステップS68;NO)、制御部11は、上記ステップS66に戻って上述してきた一連の処理を繰り返す。一方、ステップS68の判定において、電源スイッチがオフとされたとき(ステップS68;YES)、制御部11は、放送局1としての主電源をオフとし、放送局1としての処理を終了する。
一方、ステップS66の判定において、コンテンツの配信を開始又は停止する旨の操作が為されていると判断されないとき(ステップS66;NO)、制御部11は次に、各ノード2からの上記接続要求メッセージMG3或いは接続解除要求メッセージMG6が送信されてきているか否かを確認する(ステップS69)。
これにより、当該接続要求メッセージMG3或いは接続解除要求メッセージMG6のいずれかが送信されてきていると判断したとき(ステップS69;YES)、制御部11は、先ず接続要求メッセージMG3が送信されてきているときは、当該接続要求メッセージMG3に対応して当該下流側の他のノード2の所在情報を記憶部12に記憶されているノード管理情報内に追加(登録)することで当該下流側の他のノード2に対する接続処理を実行する(ステップS70)。一方、接続解除要求メッセージMG6を受信しているとき、制御部11は、当該接続解除要求メッセージMG6に対応して下流側の他のノード2の所在情報を記憶部11内の上記ノード管理情報から削除することで当該下流側の他のノード2の削除処理を実行する(ステップS70)。その後、制御部11は、上記ステップS68の処理に移行して当該処理を繰り返す。
他方、ステップS69の判定において、接続要求メッセージMG3或いは接続解除要求メッセージMG6のいずれも受信していないとき(ステップS69;NO)、制御部11は、下流側に接続されているいずれかのノード2から上記データ送信開始要求メッセージ又は上記データ送信停止要求メッセージMG5を受信しているか否かを確認する(ステップS71)。
そして、当該データ送信開始要求メッセージ又はデータ送信停止要求メッセージMG5を受信しているとき(ステップS71;YES)、制御部11は、先ずデータ送信開始要求メッセージを受信しているときは、当該データ送信開始要求メッセージに応答して通常のコンテンツデータとしてのパケットを下流側の他のノード2に送信する(ステップS72)。一方、データ送信停止要求メッセージMG5を受信しているとき、制御部11は、下流側の他のノード2に対するコンテンツデータとしてのパケットの送信を停止する(ステップS72)。その後、制御部11は、上記ステップS68の処理に移行して当該処理を繰り返す。
最後に、ステップS71の判定において、データ送信開始要求メッセージ又はデータ送信停止要求メッセージMG5のいずれも受信していないとき(ステップS71;NO)、制御部11は、上記ステップS68の処理に移行して当該処理を繰り返す。
(C)実施例に係る接続先紹介サーバの動作
最後に、実施例に係る接続先紹介サーバ3における動作について、具体的に図14を用いて説明する。
実施例に係る接続先紹介サーバ3においては、先ず、図14に示すように、接続先紹介サーバ3としての電源スイッチがオンとされると、制御部35は、接続先紹介サーバ3内に記憶されているプログラムや各構成部材夫々を初期化し、各ノード2や放送局1からのメッセージの受信を可能とする(ステップS80)。
そして、当該初期化が完了すると、制御部35は、新たな放送局1又は40からの登録要求メッセージ或いは既存の放送局1又は40からの削除要求メッセージを受信したか否かを確認する(ステップS81)。これらのいずれかを受信すると(ステップS81;YES)、制御部35は、新たな放送局1又は40の登録の場合はその所在情報を端末管理データベース36A内に登録し、更に新しいチャンネルの情報等を対応する第1データベース36B又は第2データベース36C内に登録する。また、既存の放送局1又は40の削除の場合は、制御部35は、当該放送局1又は40の所在情報等を上記端末管理データベース36A内から削除し、更に該当するチャンネル情報を対応する上記第1データベース36B又は第2データベース36C内から削除する(ステップS82、S83)。
その後、制御部35は、接続先紹介サーバ3としてのサービスを停止するか否かを確認する(ステップS84)。ステップS84の確認において、停止する場合(ステップS84;YES)、制御部35は、そのまま接続先紹介サーバ3の電源をオフとして処理を終了する。一方、ステップS84の確認において、引き続き当該サービスを継続する場合(ステップS84;NO)、制御部35は、上記ステップS81に戻って上述した一連の処理を繰り返す。
他方、上記ステップS81の判定において、放送局1又は40からの登録要求メッセージ及び削除要求メッセージのいずれも受信していないとき(ステップS81;NO)、制御部35は、新たに配信システムSに参加するノード2からの上記上流ノード紹介要求メッセージMG1(図9ステップS3参照)又は接続換え処理が実行されるノード2からの上記上流ノード紹介要求メッセージMG1を受信したか否かを制御部35において確認する(ステップS85)。
これにより、当該上流ノード紹介要求メッセージMG1を受信しているとき(ステップS85;YES)、制御部35は次に、当該上流ノード紹介要求メッセージMG1に含まれている上記フラグ等に基づき、その上流ノード紹介要求メッセージMG1の送信元たるノード2が光ファイバ環境ノードであるか否かを確認する(ステップS86)。
そして、ステップS86の確認において、上流ノード紹介要求メッセージMG1の送信元たるノード2が光ファイバ環境ノードであったとき(ステップS86;YES)、次に制御部35は、第2配信システムS2内に当該ノード2を接続させるべく、対応する第2データベース36C内から当該上流ノード紹介要求メッセージMG1を送信してきたノード2をその下流側に接続することが可能なノード2(例えば、図2の例ではノード2b)の候補を検索する(ステップS87)。その後制御部35は、検索された候補に該当するノード2の所在情報等を、上記上流ノード候補メッセージMG2として要求元のノード2へ返信し(ステップS88)、上記ステップS84の処理に移行する。
これに対し、ステップS86の判定において、上流ノード紹介要求メッセージMG1の送信元たるノード2が光ファイバ環境ノードではない、すなわちADSL環境ノードであったとき(ステップS86;NO)、次に制御部35は、現在記憶部36内に記憶されているADSL環境ノード比率情報により示されるADSL環境ノード比率が20%未満か否かを確認する(ステップS89)。そして、ADSL環境ノード比率が20%未満であるとき(ステップS89;YES)、制御部35は次に、上流ノード紹介要求メッセージMG1の送信元たるノード2を第2配信システムS2内に接続させるべく、上記ステップS87以降の処理に移行する。
一方、ステップS89の判定において、ADSL環境ノード比率が20%以上であるとき(ステップS89;NO)、制御部35は次に、上流ノード紹介要求メッセージMG1の送信元たるノード2を第1配信システムS1内に接続させるべく、対応する第1データベース36B内から当該上流ノード紹介要求メッセージMG1を送信してきたノード2をその下流側に接続することが可能なノード2の候補を検索する(ステップS90)。その後制御部35は、実際に当該ノード2を第1配信システムS1内に接続させるべく上記ステップS88以降の処理に移行する。
他方、上記ステップS85の判定において、上流ノード紹介要求メッセージMG1も受信していないとき(ステップS85;NO)、制御部35は、いずれかのノード2から上記参加報告メッセージ(図11ステップS39参照)又は脱退報告メッセージ(図10ステップS23参照)を受信したか否かを確認する(ステップS91)。
そして、当該参加報告メッセージ又は脱退報告メッセージを受信したとき(ステップS91;YES)、制御部35は、当該受信した報告メッセージの内容に基づいていずれかの配信システムにおけるトポロジの変更があったと判断し、夫々の当該内容に基づいて第1データベース36B又は第2データベース36Cを更新する(ステップS92)。なお、当該参加報告メッセージには、当該参加報告メッセージを送信したノード2がADSL環境ノードであるか又は光ファイバ環境ノードを示す情報が含まれているので、制御部35は、当該情報を付加して各データベースを更新する。
その後制御部35は、第2配信システムS2におけるそのタイミングでのADSL環境ノード比率を上記更新された(ステップS92)第2データベース36Cの内容に基づいて算出して記憶部36に記憶させ、更に上記ステップS84の処理に移行する。
以上夫々説明したように、実施形態及び実施例に係る配信システムSの動作によれば、第2配信システムS2におけるADSL環境ノード比率が20%未満であるときのみ、新たに配信システムSに参加するADSL環境ノードを第2配信システムS2内に参加させるので、第2配信システムS2に対応する階層ツリーにおける下流側末端の位置に接続されるようにADSL環境ノードを当該第2配信システムS2に参加させることを確実に保証でき、当該新たに参加するADSL環境ノードにおいて第2配信システムS2における配信速度(例えば2メガbpsであり、第1配信システムS1における配信速度(例えば256キロbps)よりも速い配信速度)でコンテンツの配信を受けることができる。
また、参加済のADSL環境ノードを接続先として光ファイバ環境ノードが新たに第2配信システムS2に接続されたとき、当該接続先たるADSL環境ノードの第2配信システムS2に対応する階層ツリーにおける接続位置を当該階層ツリーにおける下流側末端の位置とするので、第2配信システムS2においてADSL環境ノードがコンテンツの中継に寄与することを防止できるため、第2配信システムS2においてADSL環境ノードの出力速度に依存しない速い速度でコンテンツを配信することができる。
更に、第2配信システムS2におけるADSL環境ノード比率が20%以上であるとき、新たに参加するADSL環境ノードを第1論理ネットワークS1内に参加させるので、ADSL環境ノード比率に起因してADSL環境ノードが配信システムSに全く参加できないという事態を回避できる。
なお、上述した実施形態及び実施例におけるADSL環境ノード比率の閾値については、上記20%に限らず、その最大値は50%程度まで上げることが経験的に知見されている。この場合、各ノード2に対して階層ツリーにおける直近下流側に接続可能な他のノード2の数の最大値が「2」とされているとき、第2配信システムS2におけるコンテンツの中継に寄与しないADSL環境ノードに係るADSL環境ノード比率の閾値(すなわち第2配信システムS2におけるADSL環境ノードの参加割合)の最大値が50%に設定されるので、新たなノード2の第2配信システムS2に対する接続先を十分に確保することができる。
なお、上述した実施形態では、通信回線9の種類が光ファイバ回線とADSL回線の二種類である場合について説明したが、これ以外に、コンテンツの配信速度が異なる二種類の有線回線の間で、配信速度が高い方を実施形態に係る光ファイバ環境ノードと同様に扱い、一方配信速度が相対的に低い方を実施形態に係るADSL環境ノードと同様に扱うのが好適である。
更に、図9乃至図12に夫々示すフローチャートに対応するプログラムを、フレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、又はインターネット等を介して取得して記録しておき、これらを汎用のコンピュータで読み出して実行することにより、当該コンピュータを実施例に係るノード2内の制御部21として活用することも可能である。
更にまた、図13に示すフローチャートに対応するプログラムを、フレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、又はインターネット等を介して取得して記録しておき、これらを汎用のコンピュータで読み出して実行することにより、当該コンピュータを実施例に係る放送局1又は40内の制御部11として活用することも可能である。
また、図14に示すフローチャートに対応するプログラムを、フレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、又はインターネット等を介して取得して記録しておき、これらを汎用のコンピュータで読み出して実行することにより、当該コンピュータを実施例に係る接続先紹介サーバ3内の制御部35として活用することも可能である。