次に、本発明を実施するための最良の形態について、図1乃至図9を用いて説明する。なお、以下に説明する実施形態及び変形形態(以下、当該実施形態及び変形体を、適宜纏めて単に実施形態等と称する)は、階層ツリー型の上記配信システムに対して本発明を適用した場合の実施形態等である。
また、図1は実施形態等に係る配信システムを構成する各装置の接続態様の一例を示す図であり、図2は当該配信システムに対してノードが新たに参加する場合の処理を例示する図である。更に、図3は当該配信システムからノードが脱退する場合の処理を例示する図であり、図4は当該配信システムにおけるノードの接続換えの処理を例示する図である。また、図5乃至図7は実施形態に係るコンテンツ中継の制御処理を夫々例示する図であり、図8及び図9は変形形態に係るコンテンツ中継の制御処理を夫々例示する図である。
(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により中継されつつ配信される。
ここで、上記放送局1は、実際には、放送対象たる上記コンテンツに相当するコンテンツデータを蓄積するハードディスクドライブ等からなる記録装置や、その配信を制御する制御装置、或いは、物理ネットワーク10に対するコンテンツデータ等の入出力を制御するインターフェース装置等を含んだ放送局装置として実現されるものである。また、上記ノード2は、実際には、例えば各家庭に設置されているインターネット接続可能なパーソナルコンピュータや、いわゆるセットトップボックス等のノード装置として実現されるものである。
図1において、上部枠100内に示されるノード2は、配信システムSに参加しているノード2である。そして、当該配信システムSに参加するためには、未参加のノードが、後述する如く接続先紹介サーバ3(図1下部枠101内参照)に対して参加要求メッセージを送信し、当該接続先紹介サーバ3により参加権限があることを認証される必要がある。
この接続先紹介サーバ3は、配信システムSに参加している放送局1及び各ノード2の所在情報(例えば、IP(Internet Protocol)アドレス及びポート番号(待ち受けポート番号)等)と、配信システムSにおける放送局1とノード2及び各ノード2間のトポロジ(論理ネットワークシステムとしての接続態様)を示すトポロジ情報と、後述する実施形態等に係る無線環境ノード比率情報と、を、図示しないデータベースを用いて管理している。
ここで、「無線環境ノード」とは、論理的な階層ツリー構造において直近上流側のノード2との間が無線回線たる通信回線9を用いて接続されているノード2を言う。また、「無線環境ノード比率」とは、当該階層ツリー構造において末端部近辺に接続されている後述の「リーフノード」のうち、無線環境ノードが占める比率(割合)を言う。そして、「無線環境ノード比率情報」とは、上記無線環境ノード比率を示す情報をいい、接続先紹介サーバ3において生成され、後述するタイミングにて配信システムSに放送局1を介してマルチキャスト配信されるものである。
そして、当該接続先紹介サーバ3は、未参加のノードからの参加要求に対して上記認証(参加認証)を行った後、上記無線環境ノード比率情報やトポロジ情報等を参照しつつ、当該ノードに対して、参加の際の接続先となる既参加のノード2(当該トポロジ等を考慮して選定される参加済のノード2)の所在情報を通知する。これにより、当該所在情報の通知を受けた(新規参加の)ノードは、当該所在情報に基づき、参加済のノード2との接続を確立し、これによって当該配信システムSに参加する。
なお、配信システムSにおける階層ツリー状のトポロジは、各ノード2に直接接続される下流側のノード2の最大接続数、バランス(対称性)や上記無線環境ノード比率情報等を考慮して決定される。また、これらに加えて、例えばノード2間のローカリティ(物理ネットワーク10上における近接度(ホップ数(介在するルータ数)が少ないほど高い)等を考慮して決定されるものでもよい。
更に、参加済のノード2の電源がオフとなった場合又は当該ノード2に対する通信状態が不良等になった場合等においては、当該ノード2は配信システムSから脱退する。これにより、当該脱退したノード2に直接接続されていた下流側のノード2等は、接続先紹介サーバ3から新たな接続先となる他の参加済のノード2の所在情報を取得して接続を確立する必要がある。なお、以下の説明では、当該新たな接続先への接続変更を、適宜「接続換え」と称する。
更にまた、上記階層ツリー状のトポロジは、放送局1毎、換言すれば、放送チャンネル毎に形成される。すなわち、図1の上部枠100内では、一つの放送チャンネルのみ示している(但し、一つの放送局1で複数の放送チャンネルによる放送を賄う場合もある)。そして、例えば参加済のノード2においてそのユーザにより放送チャンネルが切り換えられた場合には、当該ノード2は、その切り換え後の放送チャンネルにおける参加済の他のノード2の所在情報を接続先紹介サーバ3から取得して接続を確立する。
(II)実施形態等に係る配信ステムの構成及び当該配信システムへの参加処理等
次に、実施形態等に係る配信システムSにおけるトポロジの構成並びに当該配信システムSに対する新規参加の場合の処理について、より具体的に図2を用いて説明する。
例えば図2に示す新たなノードNが新規に配信システムSに参加する場合、当該ノードNは、先ず接続先紹介サーバ3に対して上記参加要求に係る上流ノード紹介要求メッセージMG1を送信する。そして、接続先紹介サーバ3により上記参加認証等が為され、対応する参加許可の情報と共に直近上流側のノード2となる参加済のノード2(図2に例示する場合はノード2b)の所在情報を含む上流ノード候補メッセージMG2が送信されてくると、新規参加のノードNは、当該所在情報により示される既参加のノード2(図2に例示する場合はノード2b)に対して接続要求メッセージMG3を送信する。これにより、当該ノード2(2b)から接続許可応答メッセージMG4を取得することで、ノードNは、当該ノード2(2b)の直近下流側に接続され、配信システムSへの当該ノードNの参加処理が完了する。
そして、配信システムSにおいて新たにノード2が参加した以降は、放送局1から配信されるコンテンツに相当するコンテンツデータが、当該配信システムS内を階層ツリーに沿って順次上流側から下流側に中継されることにより、各ノード2に対するコンテンツの配信が実行される。
(III)実施形態等に係る配信システムからの脱退処理
次に、実施形態等に係る配信システムSからのノード2の脱退処理について、図3を用いて説明する。なお、図3は、例えばその電源スイッチがオフとされたこと等の理由により、上記配信システムSからノード2eが脱退する場合を例示している。更に、以下の説明では、脱退するノード2eの直近下流に接続されているノード2j及び2kに対する処理が異なる二種類の脱退処理について、夫々図3(a)及び図3(b)を用いて説明する。
当該脱退処理においては、図3に例示するように、脱退するノード2eは、当該ノード2eに対するコンテンツの供給元である上流のノード(図3に示す場合はノード2b)に対して、データ送信停止要求メッセージMG5及び接続解除要求メッセージMG6を夫々送信する。
そして、当該二つの要求メッセージを夫々受信したノード2bは、今まで実行していたコンテンツ中継処理を停止する。その後、ノード2bは、上記コンテンツの配信停止処理と並行してノード2b内のノード管理情報からノード2eに係る情報を削除することで、当該ノード2eとの接続を断とする。これらにより、当該ノード2bから脱退するノード2eへのコンテンツの配信は停止される。ここで、脱退するノード2eの直近下流側に他のノード(図3に例示する場合は、ノード2j及び2k)が接続されていた場合には、以下に説明する二つの方法のうちいずれかを用いて、当該下流側のノード2に対するコンテンツの配信経路の復元処理を行う。
すなわち、当該復元処理の第一例として、配信システムSを構成している各ノード2(ノード2j及び2kを含む)は、それに対応する直近上流側に接続されているノード2からのコンテンツの配信状態を常時監視している。そして、コンテンツの配信状態が悪化したこと(図3(a)において「×」マークにて示す)を契機として直近上流側のノード2(2e)が脱退したものと見なし、当該ノード2(2e)との接続を断とし、新たな他の上流ノード2との接続換え処理(図2参照)を開始する。
次に、当該復元処理の第二例としては、いわゆるイベント通知方式がある。このイベント通知方式においては、配信システムSに参加している各ノード2は図3(a)に例示するタイムアウト方式の如き監視処理は実行していない。そして、ノード2eが配信システムSとしてのトポロジから脱退する際、上記データ送信停止要求メッセージMG5及び接続解除要求メッセージMG6を夫々送信すると共に、直近下流に接続されているノード2j及び2kに対して、自身が脱退する旨の脱退報告メッセージMG7を夫々送信する。そして、当該ノード2j及び2kは、直近上流側にあったノード2eからの上記脱退報告メッセージMG7を夫々受信すると、当該ノード2eとの接続状態を断とし、新たな他の上流ノード2との接続換え処理(図2参照)を開始する。
以上夫々説明した処理により、配信システムSにおいてノード2eが脱退した後も、その直近下流にあったノード2j及び2kに対するコンテンツの配信が継続されることとなる。
(IV)実施形態等に係る接続換え処理
次に、実施形態等に係る接続換え処理について、更に具体的に図4を用いて説明する。なお、当該実施形態等に係る接続換え処理は、上流側にあるノード2の脱退に伴う上述(図3参照)した接続換え(当該ノード2からの配信量が短時間でゼロになる場合の接続換え)処理とは異なる。すなわち、当該接続換え処理は、例えば、上流側にあるノード2との間の通信回線9上に何らかの障害が発生した(図4において△印で示す)等の理由により、当該ノード2からの配信量が段階的に減少していった後にゼロになる場合に対処するための接続換え処理である。
より具体的に、図4に例示する実施形態等に係る配信システムSにおいて、各ノード2はそれに対応する直近上流側に接続されているノード2からのコンテンツの配信状態を常時監視しているが、このとき、例えば図4に示すノード2eとノード2kとの間で上記障害等(図4△印参照)が発生したとする。この場合、ノード2kは、当該障害等に起因してノード2k自体への配信量が徐々に低下していくことが認識できる。そして、ノード2kは、当該配信量が、予めノード2k内に記憶されている配信品質パラメータにより示される配信量を下回る配信量となると、ノード2eに対して、当該ノード2eからの離脱要求メッセージMG8を送信する。これと共に、ノード2kは、当該接続換えに係る新たな接続先たる他のノード2の紹介を要求する旨の上流ノード紹介要求メッセージMG9を、接続先紹介サーバ3に対して送信する。
そして、当該上流ノード紹介要求メッセージMG9を受信した接続先紹介サーバ3は、ノード2kに対して、新たに直近上流側のノード2となる参加済のノード2(図4に例示する場合はノード2f)の所在情報を含む上流ノード候補メッセージMG10を送信する。これにより、ノード2kは、既参加のノード2(図4に例示する場合はノード2f)に関する情報を得ることができる。次にノード2kはノード2fに対して接続要求メッセージMG11を送信し、応答メッセージとして当該ノード2(2f)から接続許可応答メッセージMG12を取得することで、ノード2kは、当該ノード2(2f)の直近下流側に接続換えされ、コンテンツの配信が新たに開始又は再開される。
(V)実施形態等に係る階層ツリーの構造について
次に、実施形態等に係る階層ツリーの構造について図5乃至図9を用いて説明する。
(A)実施形態に係る階層ツリーの構造について
(a)実施形態に係る階層ツリーの構造と中継処理等について
先ず、実施形態に係る階層ツリーの構造について図5乃至図7を用いて説明する。
上述したように、上記特許文献1記載の発明では、有線回線を介して配信システムに参加しているノード2と、不安定化し易い無線回線を介して参加しているノード2と、が、一律に区別されることなく取り扱われていた結果、上述した如き問題点を生じていた。なお、以下の説明では、実施形態に係る論理的な階層ツリー構造において直近上流側のノード2との間が有線回線たる通信回線9を用いて接続されているノード2を、一般に「有線環境ノード」と称する。
そこで、実施形態に係る配信システムSでは、トポロジの端部(リーフ)位置に接続中の全てのノード2におけるコンテンツの中継処理について、図5及び図6に例示する無線環境ノードのみを含む無線環境ノード群Rと、有線環境ノードのみを含む有線環境ノード群Wと、で異なる中継処理とする。なお、当該端部位置に接続されているノード2を、以下単に「リーフノード」と称する。このとき、当該「リーフノード」なる概念には、トポロジにおいて下流側の末端に接続されて更にその下流側に他のノード2が全く接続されていないノード2と、トポロジの末端ではない位置に接続されているが、その下流側に接続される他のノード2の数が他のノード2に比して少ない数に制限されているノード2と、を含むものである。
実施形態に係る配信システムSについてより具体的には、無線環境ノード比率が予め設定された閾値未満である場合には、図5に例示するように、当該無線環境ノード群Rにおけるコンテンツの中継を禁止する。
これに対し、無線環境ノード比率が閾値以上である場合には、図6に例示するように、当該無線環境ノード群Rに含まれる無線環境ノード夫々におけるコンテンツの中継量を、有線環境ノードの場合に比して各々制限して中継を継続する。図6に例示する場合、他のノード2では下流側における他のノード2の接続可能数が「2」であるところ、その接続可能数を「1」とすることで無線環境ノードとしての中継量を制限して中継自体は継続する。
なお、無線環境ノードにおいてコンテンツの中継を禁止する動作態様(図5参照)を、当該無線環境ノードにおける「中継禁止モード」と称する。また、無線環境ノードにおいてコンテンツの中継は継続するがその中継量を制限する動作態様(図6参照)を、当該無線環境ノードにおける「条件付中継許可モード」と称する。
ここで、実施形態において図6に例示する条件付中継許可モードを設ける理由を説明する。
上述したように、無線環境ノードは、無線回線で接続されているが故にパケットの欠落や伝送遅延が生じ易く、階層ツリーに沿ったコンテンツの中継には不向きである。しかしながら、当該不向きであるからと言って図5に例示する中継禁止モードのみ可能とすると、無線環境ノードがトポロジの末端に多数接続されている場合、新たに配信システムSに参加するノードNが参加し難くなる。
すなわち、中継禁止モードのみの場合、当該参加に当たって接続可能な、末端位置に参加済みのノード2(図2参照)の数が少なくなる。そしてこの場合に、同時に多数のノードNが限られた数の既参加のノード2に対して新規参加のために接続しようとすると、当該既参加のノード2では接続を受け入れるための処理間での衝突現象が発生する。これにより新規参加のノードNの一部においてその接続要求が拒否されることとなるのである。
従って、実施形態に係る配信システムSでは、リーフノードであり且つ無線環境ノードでもあるノード2が多数存在しない場合には当該ノード2に対して上記中継禁止モード(図5参照)を適用するが、当該ノード2が多数存在する場合には当該ノード2に対して上記条件付中継許可モード(図6参照)を適用する。
(b)実施形態に係る無線環境ノード比率情報の配信について
次に、上述した中継処理の制御を実現するために実行される、実施形態に係る無線環境ノード比率情報の配信について、図7(a)を用いて説明する。
上述した中継処理の制御を実現すべく、実施形態に係る配信システムSでは、配信システムSへの新規参加(又は接続換え)の際に接続先紹介サーバ3へ送信する後述の「参加報告メッセージ」内に、当該参加したノード2に係るノードID及び上流ノード情報に加えて、当該参加したノード2が有線環境ノードであるか無線環境ノードであるかを示す接続環境情報を添付する。
これにより、当該参加報告メッセージを受信した接続先紹介サーバ3では、その内部に記憶しているトポロジデータベース内に、上記ノードID、上流ノード情報及び接続環境情報を紐付けて蓄積する。そして、予め設定された一定の周期毎に上記無線環境ノード比率を計算し、それを示す無線環境ノード比率情報MPを図7(a)に示すように放送局1へ送信する。
そして、当該放送局1は、無線環境ノード比率情報MPを受信した場合、これをコンテンツの配信経路(論理的な階層ツリー)を経由させて各ノード2にマルチキャスト配信(同報配信)する。
これにより、各ノード2は、上流側から受信した無線環境ノード比率情報MPにより示される無線環境ノード比率に基づき、自らが無線環境ノードである場合のみ、上記中継禁止モード又は条件付中継許可モードのいずれか一方を適用する。なおこのとき、各ノード2は、自らの動作モードを制御しつつ、上流側から受信した無線環境ノード比率情報MPをその下流側に中継(転送)する。
(c)実施形態に係る無線環境ノードの入れ換え処理について
次に、実施形態に係る無線環境ノードの接続位置の入れ換え処理について、図7(b)を用いて説明する。
実施形態に係る配信システムSでは、無線環境ノードであるノード2が既にリーフノードとして参加している場合において、新たに配信システムSに参加する有線環境ノードから上記接続要求メッセージMG3又はMG11を受信する場合がある。この場合、当該無線環境ノードであるノード2は、図7(b)に例示される無線環境ノード2qの如く、トポロジにおける現在の自身の接続位置と、新たに接続される有線環境ノード2sの接続位置と、を入れ換える処理を実行する。
この入れ換え処理により、無線環境ノード2qが常にトポロジの末端側へ接続される態様となり、図5乃至図7(a)を用いて説明した中継処理の制御がより効果的に実行できることとなる。
(d)実施形態に係るノード種別の判定処理について
次に、実施形態に係るノード種別の判定処理について説明する。
新たに配信システムSに参加するノード2や参加済のノード2が有線環境ノード又は無線環境ノードのいずれであるかを判定する方式としては、例えばいわゆるエコーサーバを用いる方式が好適である。
より具体的には、各ノード2は、その初期化処理の一環として図示しないデータセンタ等に設置してあるエコーサーバに対して、高ビットレートでパケット(例えば、UDP(User Datagram Protocol)パケット)を連続して一定時間だけ送信し、その送信したパケットに対応してエコーサーバから返信されてくるエコーパケットを受信しながら、そのパケット損失率やジッタを計測することで判別することが可能である。ここで、上記高ビットレートの具体値としては、例えば、有線回線たる通信回線9が商用の光ファイバ回線であり、且つ無線回線たる通信回線9がいわゆるIEEE(The Institute of Electrical and Electronics Engineers)802.11a/g規格に準拠した無線回線である場合において、15メガbps(bit per second)程度が好適である。
また、他の判定処理の方法としては、例えば、ノード2における基本制御プログラムたるオペレーティングシステムに係るいわゆるシステムコマンドに基づいてそのノード2に備えられているネットワークインターフェースカードの名称を取得し、その名称から無線環境ノードであるか否かを判別する方式を用いることも可能である。
更には、そのノード2が無線環境ノードであるか否かを入力させるためのグラフィカルユーザインタフェースを当該ノード2の使用者に対して提示し、その入力結果に基づいて判別する方式を利用することも可能である。
(B)変形形態に係る階層ツリーの構造について
次に、変形形態に係る階層ツリーの構造について、図8及び図9を用いて説明する。
(a)第一の変形形態に係る階層ツリーの構造と中継処理等について
先ず、第一の変形形態について図8を用いて説明する。
上述した実施形態に係る条件付中継許可モードにより動作している無線環境ノードでは、その直近下流側に接続される他のノード2の接続可能数を「1」として低減することで条件付中継許可モードを実現した。これに対し、当該条件付中継許可モードを実現する他の方法として、図8に例示するように、無線環境ノード2mmの直近下流側に他のノード2(図8に例示する場合は無線環境ノード2y及び2z)が接続されたとき、当該直近下流側に接続されたノード2に対する中継速度を制限することで、条件付中継許可モードを実現することもできる。
具体的には、図8に例示する無線環境ノード2mmの場合、当該無線環境ノード2mm自体が上流側の有線接続ノード2eから例えば中継速度2メガbpsでコンテンツを受信したとき、これを例えばコンテンツの品質を低下させるような変換処理(例えばいわゆるトランスコーディング処理)を施して中継速度1メガbpsとして下流側の無線環境ノード2y及び2zに中継する構成が好適である。なおこの中継速度の低減処理を、直近下流側に接続されたノード2が有線環境ノードである場合に実行しても良い。
更に、下流側に無線環境ノードが接続された場合は上記中継速度の低減処理を実行しつつ、図8に例示する無線環境ノード2jjと有線環境ノード2xの場合のようにその下流側に有線環境ノードが接続された場合には、実施形態に係る条件付中継許可モード(接続可能数の制限。図6参照)で動作するようにしても良い。
(b)第二の変形形態に係る階層ツリーの構造と中継処理等について
次に、第二の変形形態について図9を用いて説明する。
上述した実施形態では、無線環境ノードにおけるコンテンツの中継状態の切り換えを、放送局1からマルチキャスト配信されて来る無線環境ノード比率情報MPに基づき、当該各無線環境ノード独自において実行する構成とされていた。
すなわち、リーフノードでもある無線環境ノードは、現時点での中継状態(中継禁止モードであるか、又は条件付中継許可モードであるか)を無線環境ノード比率情報MPに基づいて自ら常に把握する。そして、当該無線環境ノードが他のノード2からの接続要求メッセージMG3又はMG11を受信した時、当該二つのノード2間において上記現時点での中継状態に応じた接続処理を行う構成となっていた。より具体的には、中継禁止モードが適用されている当該無線環境ノードは他のノード2からの接続要求メッセージMG3又はMG11を拒否する。これに対し、条件付中継モードが適用されている当該無線環境ノードは、現在の下流側接続数に応じて当該接続要求メッセージMG3又はMG11を受け付けるか拒否するかの選択を行う。
これに対し、第二の変形形態としては、図9に示すように、リーフノードでもある各無線環境ノード夫々における中継状態に関する情報を接続先紹介サーバ3においてのみ把握する。そして、当該接続先紹介サーバ3は、当該中継状態に関する情報を他のノード2からの上流ノード紹介要求メッセージMG1又はMG9に対して直接適用する。このように構成することで、各無線環境ノードの中継状態の制御を接続先紹介サーバ3を主体として実行することも可能である。より具体的には図9に例示するように、接続先紹介サーバ3は、既に他のノード2が接続されている無線環境ノード2jj及び2mmを、新たに上流ノード紹介要求メッセージMG1を送信して来たノードNに対する上流ノード候補メッセージMG2に含ませるノード2から除外する。
以上夫々説明した実施形態等に係る中継処理等を実行することで、コンテンツ配信に係る無線環境ノードの下流側に、有線環境ノードを含む他のノード2が多数接続されて有線環境ノードの場合と同様にコンテンツの配信が実行されることに起因する、配信システムS全体としての配信の安定度の低下を防止することができる。
次に、上記実施形態等に係る配信システムSに属する放送局1、各ノード2及び接続先紹介サーバ3夫々の具体的な構成及び処理について、実施例として図10至図22を用いて説明する。
(I)実施形態に係る実施例(第一実施例)
初めに、実施形態に係る実施例(以下当該実施例を第一実施例と称する)について、図10乃至図18を用いて説明する。なお、図10は第一実施例に係る放送局1の細部構成を示すブロック図であり、図11は第一実施例に係る各ノード2の細部構成を共通的に示すブロック図であり、図12は第一実施例に係る接続先紹介サーバ3の細部構成を示すブロック図である。また図13乃至図16は当該各ノード2において実行される第一実施例に係る処理を共通的に夫々示すフローチャートであり、図17は当該放送局1において実行される第一実施例に係る処理を示すフローチャートであり、図18は当該接続先紹介サーバ3において実行される第一実施例に係る処理を示すフローチャートである。
始めに、第一実施例に係る放送局1の概要構成及び概要動作について、図10を用いて説明する。
図10に示すように、第一実施例に係る放送局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乃至図6及び図8に示す例では、ノード2a及び2b)に対してストリーム配信する。
また、制御部11は、当該コンテンツデータの配信先を、記憶部12に記憶された接続態様(トポロジ)テーブルを参照して決定する。このトポロジテーブルには、少なくとも、放送局1と接続されるノード2(換言すれば、コンテンツデータの配信先であるノード2)のIPアドレス及びポート番号が夫々記述されている。
次に、第一実施例に係る各ノード2の概要構成及び概要動作について、図11を用いて説明する。なお、第一実施例に係る各ノード2は基本的に同一の構成を備える。
図11に示すように、第一実施例に係るノード2は、判定手段、制御手段、接続判定手段、属性判定手段及び接続位置入換手段としての制御部21と、記憶部22と、バッファメモリ23と、復号化アクセラレータ24と、デコーダ部25と、映像処理部26と、表示部27と、音声処理部28と、スピーカ29と、取得手段としての通信部29aと、入力部29bと、ICカードスロット29cと、を備えて構成されている。そして、これらの構成要素はバス29dを介して相互に接続されている。
このとき、制御部11は、演算機能を有するCPU、作業用RAM、各種データ及びプログラム(OS及び各種アプリケーションを含む)を記憶するROM等から構成されている。また、記憶部22は、各種データ及びプログラム等を記憶するHDD等から構成されている。更にバッファメモリ23は、受信したコンテンツデータを一時的に蓄積(記憶)する。これに加えて無線環境ノード内の記憶部22は、接続先紹介サーバ3から放送局1を介して配信されてくる上記無線環境ノード比率情報MPを不揮発性記憶領域に記憶する。
一方、復号化アクセラレータ24は、バッファメモリ23に蓄積された暗号化されたコンテンツデータを復号鍵を用いて復号化する。また、デコーダ部25は、復号化されたコンテンツデータに含まれるビデオデータ及びオーディオデータ等をデコード(データ伸張等)して再生する。更に、映像処理部26は、当該再生されたビデオデータ等に対して所定の描画処理を施し映像信号として出力する。
他方、表示部27は、CRT(Cathode Ray Tube)及び液晶ディスプレイ等からなり、映像処理部26から出力された映像信号に基づき対応する映像を表示する。また、音声処理部28は、上記再生されたオーディオデータをアナログ音声信号にD(Digital)/A(Analog)変換した後これをアンプにより増幅して出力する。更に、スピーカ部29は、当該音声処理部28から出力された音声信号を音波として出力する。
また、通信部29aは、通信回線9を介して放送局1や他のノード2等との間の通信制御を行う。更に、入力部29bは、例えば、マウス、キーボード及び操作パネル或いはリモコン等からなり、使用者(視聴者)からの各種指示に対応する指示信号を制御部21に対して出力する。そして、ICカードスロット29cは、ICカード29eに対する情報の読み書きを行う。
ここで、ICカード29eは、耐タンパ性があり、例えば、配信システムSの運営者等から各ノード2の使用者に配布されるものである。このとき、当該耐タンパ性とは、非正規な手段による機密データの読み取りを防ぎ、簡単に解析できないようにタンパリング対策が施されていることを言う。このICカード29eは、CPUからなるICカードコントローラ、耐タンパ性のある不揮発性メモリ、例えば、EEPROM(Electrical Erasable and Programmable ROM)等を備えて構成されている。当該不揮発性メモリには、ユーザID、暗号化されたコンテンツデータを復号化するための復号鍵及びデジタル証明書等が記憶されている。ここで、当該デジタル証明書は、ノード2が配信システムSに参加する際に、上述した上流ノード紹介要求メッセージ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の概要構成及び概要動作について、図12を用いて説明する。
図12に示すように、第一実施例に係る接続先紹介サーバ3は、配信手段及び接続先紹介情報生成手段としての制御部35と、記憶手段としての記憶部36と、取得手段及び送信手段としての通信部37と、を備えて構成され、これらの構成要素は、バス38を介して相互に接続されている。
このとき、制御部35は、演算機能を有するCPU,作業用RAM,各種データ及びプログラム(OS及び各種アプリケーションを含む)を記憶するROM等から構成されている。また、記憶部36は、各種データ等を記憶保存するためのHDD等から構成されている。更に、通信部37は、ネットワーク10を通じてノード2等との間の情報の通信制御を行う。
この構成において、記憶部36内には、配信システムSに参加している放送局1及び各ノード2の所在情報と、配信システムSにおける放送局1とノード2及び各ノード2間のトポロジ情報と、が記憶されたデータベースが蓄積・記憶されている。これに加えて、記憶部36には、配信システムSにその時点で属しているリーフノードの数を基準とした上記無線環境ノード比率情報が、更新されつつ記憶される。
そして、制御部35は、それに含まれるCPUが記憶部36等に記憶されたプログラムを実行することにより接続先紹介サーバ3全体を統括制御し、上記記憶されている無線環境ノード比率情報を用いつつ後述する第一実施例に係る各処理を実行する。
これに加えて、制御部35は、通常の処理として、未参加のノード2、例えば、図2に例示するノードNから上記上流ノード紹介要求メッセージMG1が送信されてきたとき、上述した認証処理(例えば参加要求に付加されたデジタル証明書の有効性の判定処理等)を行う。そして、当該認証が有効であったならば、当該ノードNの所在情報とデジタル証明書のダイジェストとを、例えば、デジタル証明書を所定のハッシュ関数でハッシュ化したハッシュ値を上記データベースに記憶する。
また、制御部35は、上記認証が有効であった場合に、上記上流ノード紹介要求メッセージMG1を送信してきたノードNに対して、接続先候補となる複数の上流ノード2の所在情報及び階層レベル情報(当該上流ノード2が、第何階層に存在するかを示す情報)を含む上記上流ノード候補メッセージMG2/MG10を、通信部37を通じて送信する。そして、当該上流ノード候補メッセージMG2/MG10を受信したノードNにおいては、接続先候補となる複数の上流ノード2の配信システムS内でのネットワーク近接度が比較される。これにより、最も近い位置に存在するノード2(上流ノード)が選定されて、当該ノード2との間で上記接続要求メッセージMG3及び接続許可応答メッセージMG4の授受が為されて接続が確立される。その後、当該接続が確立された上流ノード2の所在情報が接続先紹介サーバ3に対して送信(返信)される。これに対して、制御部35は、当該ノードNに関するトポロジ情報を上記データベースに記憶する。
次に、上述した構成を備えるノード2、放送局1及び接続先紹介サーバ3における第一実施例に係る処理について、具体的に図13乃至図18を用いて説明する。
(A)第一実施例に係るノードの動作
先ず、配信システムSに係るノード2における第一実施例に係る動作について、図13乃至図16を用いて説明する。ここで、第一実施例に係る各ノード2においては、全て、図13乃至図16に示す処理と同一の処理が夫々に実行されている。
また、図13においては、第一実施例に係る各ノード2において実行される上記参加処理(ステップS1乃至S8(図2参照))から、受信したパケットの中継処理及び再生処理(ステップS9乃至S12)までを説明する。
図13に示すように、第一実施例に係るいずれかのノード2(以下、図13乃至図16を用いてその処理を説明するノード2を、対象ノード2と称する)において、その電源スイッチがオンとされて対象ノード2における主電源及び補助電源がオンとされると、最初に対象ノード2内に記憶されているプログラムや各構成部材夫々が制御部21によって初期化される(ステップS1)。なお、上記補助電源は、上記主電源がオフとされた後において最終的に対象ノード2に対する電源供給が全て断とされるまでオンとされている電源である。
また、当該初期化には、対象ノード2自体のノード種別、すなわち当該対象ノード2が有線環境ノード又は無線環境ノードのいずれであるかの判別が含まれている。この判別には、上述したエコーサーバを用いる方式、対象ノード2に備えられているネットワークインターフェースカードの名称を取得して方式、又は使用者による入力結果に基づいて判別する方式等を利用することが可能である。
そして、当該初期化が完了すると、次に、対象ノード2の制御部21は、当該対象ノード2自体において、参加要求操作(図2参照)又は後述する接続換え処理(図4参照)の要求のいずれかが生起したか否かを確認する(ステップS2)。このとき、当該参加要求操作とは、配信システムSにその対象ノード2自体が新たに参加する旨(すなわち、当該選択されたチャンネルに相当するコンテンツデータの受信を希望する旨)の操作である。また、当該参加要求操作の有無の確認は、対象ノード2の制御部21が、例えば視聴を希望する放送局1に相当するチャンネルを選択する操作がそのユーザにより実行されたか否かを確認することにより実行される。
そして、参加要求操作が実行されたか又は接続換え処理の要求が生起したときは(ステップS2;YES)、制御部21は、実際に配信システムSに参加する、又は新たな接続先を発見するための上流ノード紹介要求メッセージMG1又はMG9を接続先紹介サーバ3に送信する(ステップS3)。
その後は、制御部21は、対象ノード2における上記電源スイッチがオフとされたか否かを確認し(ステップS4)、オフとされていないときは(ステップS4;NO)、制御部21は、上記ステップS2に戻って上述してきた一連の処理を繰り返す。一方、ステップS4の判定において、電源スイッチがオフとされたときは(ステップS4;YES)、上記主電源をオフとし、それまで参加していた配信システムSから脱退する処理を実行した後に上記補助電源もオフとして(ステップS5)、対象ノード2としての処理を終了する。
他方、上記ステップS2の判定において、上記参加の旨の操作又は接続換え処理要求の生起が元々発生していないか、又は一度当該参加の旨の操作又は接続換え処理要求の生起が発生し、それに対応するステップS3の判定として上流ノード紹介要求メッセージMG1又はMG9を接続先紹介サーバ3へ送信後であるときは(ステップS2;NO)、制御部21は、当該上流ノード紹介要求メッセージMG1又はMG9に対する応答としての上記上流ノード候補メッセージMG2又はMG10を接続先紹介サーバ3から受信したか否かを確認する(ステップS6)。
そして、当該上流ノード候補メッセージMG2又はMG10を受信しているときは(ステップS6;YES)、制御部21は、上流ノード候補メッセージMG2又はMG10の中から接続対象となる他のノード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又はMG11を送信し(ステップS8)、その後、上記ステップS4の処理に移行して上述した一連の処理を繰り返す。なお、上記ステップS8の処理において送信される接続要求メッセージMG3又はMG11には、対象ノード2が無線環境ノードであるか、或いは有線環境ノードであるかを示す情報(例えばフラグ等)が含まれている。
一方、上記ステップS6の判定において、上流ノード候補メッセージMG2又はMG10を受信していないときは(ステップS6;NO)、制御部21は、次に新たなパケットを上流側の他のノード2から受信したか否かを制御部21において確認する(ステップS9)。
そして、当該上流側のノード2からパケットを受信していない場合(ステップS9;NO)は、制御部21は、後述の図14に示す処理に移行する。一方、パケットを受信した場合には(ステップS9;YES)、そのパケットの受信態様に基づいて、記憶部22及び制御部21において管理している受信品質統計情報を更新する(ステップS12)。
ここで、受信品質統計情報とは、具体的には、各ノード2が受信したパケットの量等に基づいて算出された、例えば過去一分間の平均パケットレート又は平均パケット損失率である。そして、この受信品質統計情報としての平均パケットレート又は平均パケット損失率が悪化してくると、それは即ち当該ノード2に対するコンテンツの配信状態が悪化したものと見なすことができる(図4△印参照)。
次に、当該対象ノード2に対して下流側に接続されている他のノード2が存在しているか否かを確認する(ステップS11)。これにより、当該下流側のノード2が存在している場合は(ステップS11;YES)、制御部21は、当該下流側のノード2に対して必要なパケットを中継しつつ(ステップS12)、受信したパケットを自らのデコーダ部25へ出力し、復号したコンテンツを映像処理部26及び音声処理部28を用いて再生し(ステップS13)、その後上記ステップS4の処理に移行して上述した一連の処理を繰り返す。
なお、上記ステップS11の判定において、下流側のノード2が存在していない場合は(ステップS11;NO)、制御部21は、そのまま上記ステップS13に移行して自らにおける再生処理を実行する。
次に、上記ステップS9の処理において、上流側のノード2からパケットを受信していない場合(ステップS9;NO)以降の処理について、図14を用いて説明する。なお、図14においては、第一実施例に係る対象ノード2において実行される上記脱退処理(ステップS20乃至S23)、当該対象ノード2の下流側において新たに参加する他のノード2の当該参加処理又は接続換え処理(ステップS24乃至S31)並びに第一実施例に係る無線環境ノードについての入れ換え処理(図7(b)参照。ステップS30並びにS32及びS33)について夫々説明する。
図13に示すステップS9の判定において、パケットを受信していないときは(ステップS9;NO)、制御部21は、図14に示すように、パケット受信待ちの状態で対象ノード2において配信システムSから脱退する旨の操作が為されたか否かを確認する(ステップS20)。
ステップS20の監視処理中において当該脱退する旨の操作が為されたときは(ステップS20;YES)、制御部21は、その時点で接続されている直近上流のノード2に対してデータ送信停止要求メッセージMG5及び接続解除要求メッセージMG6を夫々送信する(ステップS21、S22。図3参照)。そして、制御部21は、接続先紹介サーバ3に対して配信システムSのトポロジから脱退した旨の図示しない脱退報告メッセージを送信し(ステップS23)、図13に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
一方、ステップS20の判定において、上記脱退する旨の操作が為されないときは(ステップS20;NO)、次に制御部21は、当該操作の監視中において下流側に接続されている他のノード2から新たな接続要求メッセージMG3又はMG11が送信されてきているか否かを確認する(ステップS24)。なお当該接続要求メッセージMG3又はMG11には、当該他のノード2が無線環境ノードであるか、又は有線環境ノードであるか、を示す情報が含まれていることなる(図13ステップS8参照)。
これにより、当該接続要求メッセージMG3又はMG11が送信されて来ているときは(ステップS24;YES)、制御部21は、現在対象ノード2の下流側に接続されている他のノード2の数が当該対象ノード2としての接続可能数に達しているか否かを確認する(ステップS25)。ここで、制御部21は、対象ノード2の記憶部22に記憶されているノード管理情報に基づいて当該確認処理を実行する。
また、上記接続可能数については、対象ノード2が有線環境ノードである場合は、当該有線環境ノードとして予め設定されている接続可能数となる。例えば、図2乃至図7に例示する配信システムSの場合は「2」となる。一方、対象ノード2が無線環境ノードであって条件付中継許可モードで動作している場合(後述するステップS61参照)は、当該条件付中継許可モードとして予め設定されている接続可能数となる。例えば、図2乃至図7に例示する配信システムSの場合は「1」となる。
そして、対象ノード2に現在接続されている下流ノード数が上記接続可能数に達している場合は(ステップS25;YES)、下流側にもはや新たな他のノード2を接続できないこととなる。よって、制御部21は、ステップS24の判定において接続要求メッセージMG3又はMG11を送信して来た他のノード2に対し当該接続要求を拒否する旨の接続拒否メッセージを送信して(ステップS26)、当該他のノード2の対象ノード2に対する接続を拒否する。
その後、対象ノード2の制御部21は、図13に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
次に、上記ステップS25の判定において、対象ノード2に現在接続されている下流ノード数が上記接続可能数に達していない場合は(ステップS25;NO)、制御部21は、対象ノード2自体が無線環境ノードであるか否かを確認する(ステップS27)。そして、対象ノード2自体が有線環境ノードであるときは(ステップS27;NO)、制御部21は、送信されて来た接続要求メッセージMG3又はMG11に対応して当該下流側の他のノード2の所在情報を記憶部22に記憶されているノード管理情報内に追加(登録)する。その後、制御部21は、当該下流側の他のノード2に対して上記接続許可応答メッセージMG4又はMG12を送信し、当該他のノード2との間における接続処理を実行する(ステップS29)。そして、制御部21は、図13に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
一方、ステップS27の判定において、対象ノード2自体が無線環境ノードであるときは(ステップS27;YES)、制御部21は、当該対象ノード2自体が現在中継禁止モードであるか否か(後述する図16ステップS60参照)を確認する(ステップS28)。そして、対象ノード2が中継禁止モードであるときは(ステップS28;YES)、上記ステップS26に移行して当該ステップS26以降の処理を実行する。他方、対象ノード2が中継禁止モードでなく条件付中継許可モードであるときは(ステップS28;NO)、次に、制御部21は、上記ステップS24において受信した接続要求メッセージMG3又はMG11に基づき、接続要求している下流側の他のノード2が無線環境ノードであるか否かを確認する(ステップS30)。
そして、当該他のノード2が無線環境ノードであるときは(ステップS30;YES)、制御部21は、上記ステップS29の処理と同様の他のノード2の所在情報の追加(登録)処理及び他のノード2との間の接続処理を実行する(ステップS31)。その後、制御部21は、図13に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
一方、ステップS30の判定において、当該他のノード2が無線環境ノードでない、すなわち有線環境ノードであるときは(ステップS30;NO)、制御部21は、当該他のノード2の階層ツリー内の接続位置と、無線環境ノードである対象ノード2の階層ツリー内の接続位置と、を入れ換える処理を行う(図7(b)参照。ステップS32、S33)。より具体的には、制御部21は、他のノード2に対して夫々の接続位置を入れ換える旨の接続位置交換メッセージを送信する(ステップS32)。その後、制御部21は、当該接続位置交換メッセージに対応した他のノード2からの応答メッセージに基づき、実際に互いの接続位置の入れ換え処理を実行する(ステップS33)。その後、制御部21は、図13に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
次に、上記ステップS24の処理において、接続要求メッセージMG3又はMG11が送信されて来ているときは(ステップS24;NO)以降の処理について、図15を用いて説明する。なお、図15においては、第一実施例に係る対象ノード2において実行される上記参加処理等(ステップS35乃至S39)、当該対象ノード2の下流側に接続される他のノード2との間における種々の処理(ステップS40乃至S47)について夫々説明する。
図14に示すステップS24の判定において、接続要求メッセージMG3又はMG11が送信されて来ているときは(ステップS24;NO)、制御部21は、図15に示すように、直近上流側の他のノード2から接続許可応答メッセージMG4又はMG12を受信したか否かを確認する(ステップS35)。そして、当該接続許可応答メッセージMG4又はMG12を受信したときは(ステップS35;YES)、制御部21は、更に実際にコンテンツデータの配信を受けるべく、その旨の図示しないデータ送信開始要求メッセージを上流側の他のノード2に向けて送信する(ステップS36)。このとき、当該データ送信開始要求メッセージには、例えばLAN(Local Area Network)におけるゲートウエイのMAC(Media Access Control)アドレスと、当該対象ノード2がパケットを受信する際に用いられる暗号通信方式に関する情報等がセキュリティ情報として添付されている。その後、制御部21は、接続先紹介サーバ3に対して配信システムSのトポロジに対する参加報告メッセージを送信し(ステップS37)、その後、図13に示すステップS4の処理に移行して上述した一連の処理を繰り返す。ここで、当該参加報告メッセージには、その対象ノード2が無線環境ノードであるか又は有線環境ノードを示す情報が含まれている。
一方、ステップS35の判定において、接続許可応答メッセージMG4又はMG12を受信していないときは(ステップS35;NO)、制御部21は、次に、上流側の他のノード2から接続拒否メッセージ(図14ステップS26参照)を受信したか否かを確認する(ステップS38)。そして、当該接続拒否メッセージが送信されて来た時は(ステップS38;YES)、新たな接続先を探索すべく、上流ノード紹介要求メッセージMG9を接続先紹介サーバ3に送信する(ステップS39)。その後、制御部21は、図13に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
他方、ステップS38の判定において、接続拒否メッセージも送信されて来ていない時は(ステップS38;NO)、制御部21は、直近上流側の他のノード2からの接続位置交換メッセージ(図14ステップS32参照)を受信したか否かを確認する(ステップS40)。そして、当該接続位置交換メッセージを受信した時は(ステップS40;YES)、制御部21は、当該接続位置交換メッセージに対応する応答メッセージを当該直近上流側の他のノード2に送信する。その後、制御部21は、当該直近上流側の他のノード2との間で実際に互いの接続位置を入れ換える処理を実行する(ステップS41。図14ステップS33参照)。その後、制御部21は、図13に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
ステップS40の判定において、接続位置交換メッセージも受信していない時は(ステップS40;NO)、次に制御部21は、下流側に接続されている他のノード2から新たな接続解除要求メッセージMG6を受信しているか否かを確認する(ステップS42)。そして、当該接続解除要求メッセージMG6を受信したときは(ステップS42;YES)、制御部21は、当該接続解除要求メッセージMG6に対応して下流側の他のノード2の所在情報を上記ノード管理情報から削除することで当該下流側の他のノード2の削除処理を実行し(ステップS43)、図13に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
一方、ステップS42の判定において、新たな接続解除要求メッセージMG6も受信していないときは(ステップS42;NO)、制御部21は、下流側に接続されている他のノード2から上記データ送信開始要求メッセージを受信しているか否かを確認する(ステップS36参照。ステップS44)。
そして、当該データ送信開始要求メッセージを受信しているときは(ステップS44;YES)、制御部21は、当該データ送信開始要求メッセージに応答して通常のコンテンツデータとしてのパケットを下流側の他のノード2に送信し(ステップS45)、図13に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
他方、ステップS44の判定において、データ送信開始要求メッセージを受信していないときは(ステップS44;NO)、制御部21は、下流側の他のノード2から上記データ送信停止要求メッセージMG5を受信しているか否かを確認する(ステップS46)。そして、当該データ送信停止要求メッセージMG5も受信していないときは(ステップS46;NO)、制御部21は、後述の図16に示す処理に移行する。
一方、当該データ送信停止要求メッセージMG5を受信した場合には(ステップS46;YES)、制御部21は、下流側の他のノード2に対するコンテンツデータとしてのパケットの送信を停止し(ステップS47)、図13に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
次に、上記ステップS46の判定においてデータ送信停止要求メッセージMG5も受信していない場合(ステップS46;NO)以降の処理について、図16を用いて説明する。
図15に示すステップS46の判定において、データ送信停止要求メッセージMG5も受信していないときは(ステップS46;NO)、制御部21は、図16に示すように、対象ノード2において、上流側のノード2からのコンテンツの配信状態が悪化したか否かを確認する(ステップS50)。このステップS50における判定方法は、具体的には、その時点で対象ノード2の記憶部22に記憶されている受信品質統計情報として記憶されている閾値との比較等において、対象ノード2への実際の配信量が低下したか否かを確認する。
ステップS50の確認処理において、当該配信状態が悪化した(実際の配信量が低下した)と確認された場合(ステップS50;YES)、制御部21は、その時点から接続換え処理を開始する。より具体的には、制御部21は、その時点で接続されている直近上流のノード2に対してデータ送信停止要求メッセージMG5及び接続解除要求メッセージMG6を夫々送信する(ステップS51、S52。図3参照)。そして、制御部21は、接続先紹介サーバ3に対して配信システムSのトポロジから脱退した旨の図示しない脱退報告メッセージを送信し(ステップS53)、その後、図4に示した接続換え処理を実行する(ステップS54)。その後は、制御部21は、図13に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
一方、上記ステップS50の判定において、配信状態が悪化していないときは(ステップS50;NO)、制御部21は、上流側のノード2から無線環境ノード比率情報MPを受信したか否かを確認する(ステップS55。図7(a)参照)。そして、無線環境ノード比率情報MPを受信していないときは(ステップS55;NO)、制御部21は、図13に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
他方、ステップS55の判定において、無線環境ノード比率情報MPを受信したときは(ステップS55;YES)、制御部21は、対象ノード2に対して下流側に接続されている他のノード2が存在しているか否かを確認する(ステップS56)。これにより、下流側のノード2が存在している場合は(ステップS56;YES)、制御部21は、ステップS55の処理において受信していた新しい無線環境ノード比率情報MPを当該下流側のノード2に転送する(ステップS57)。その後、制御部21は、図13に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
また、ステップS56の判定において、下流側のノード2が存在していない場合は(ステップS56;NO)、制御部21は、次に、対象ノード2自体が無線環境ノードであるか否かを確認する(ステップS58)。そして、対象ノード2が無線環境ノードであるときは(ステップS58;YES)、ステップS55の処理において受信した無線環境ノード比率情報により示される無線環境ノード比率が、配信システムSとして予め設定されている閾値より大きいか否かを確認する(ステップS59)。
ここで、当該閾値は、対象ノード2を中継禁止モード(図5参照)として動作させるか、或いは条件付中継許可モード(図6参照)として動作させるか、を峻別するための閾値である。当該閾値としての具体値は、配信システムSに参加することが可能なリーフノードの総数や接続先紹介サーバ3の処理能力等によって予め配信システムSの管理者により決定されているものである。
そして、受信した無線環境ノード比率情報MPにより示される無線環境ノード比率がその閾値よりも大きい場合には(ステップS59;YES)、リーフノードであり且つ無線環境ノードであるノード2の数が多い場合であるとして、制御部21は、対象ノード2を条件付き中継許可モードとして動作させる旨を設定し、その情報を記憶部22に記憶させる(ステップS61)。その後、制御部21は、図13に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
一方、ステップS59の判定において、受信した無線環境ノード比率情報MPにより示される無線環境ノード比率がその閾値以下である場合には(ステップS59;NO)、リーフノードであり且つ無線環境ノードであるノード2の数が少ない場合であるとして、対象ノード2を中継禁止モードとして動作させる旨を設定し、その情報を記憶部22に記憶させる(ステップS60)。その後、制御部21は、図13に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
(B)第一実施例に係る放送局の動作
次に、第一実施例に係る放送局1における動作について、具体的に図17を用いて説明する。
当該第一実施例に係る放送局1においては、図17に示すように、放送局1としての電源スイッチがオンとされると、制御部11は、最初に放送局1内に記憶されているプログラムや各構成部材夫々を初期化し、各ノード2に対するコンテンツの送信や接続先紹介サーバ3からのメッセージ等の受信を可能とする(ステップS65)。
次に、当該初期化が完了すると、制御部11は、配信システムSの(即ち放送局1の)管理者により、配信システムSとしてのコンテンツの配信を開始又は停止する旨の操作が当該放送局1の入力部16において実行されたか否かを確認する(ステップS66)。そして、制御部11は、当該操作が為されていると判断したときは(ステップS66;YES)、当該操作に基づいて対応するコンテンツのパケットの配信システムS内への配信を開始又は停止する(ステップS67)。
その後、制御部11は、放送局1における上記電源スイッチがオフとされたか否かを確認する(ステップS68)。そして、オフとされていないときは(ステップS68;NO)、制御部11は、上記ステップS66に戻って上述してきた一連の処理を繰り返す。一方、ステップS68の判定において、電源スイッチがオフとされたときは(ステップS68;YES)、制御部11は、放送局1としての主電源をオフとし、放送局1としての処理を終了する。
一方、ステップS66の判定において、コンテンツの配信を開始又は停止する旨の操作が為されていると判断されないときは(ステップS66;NO)、制御部11は、次に、各ノード2からの上記接続要求メッセージMG3又はMG11或いは接続解除要求メッセージMG6が送信されて来ているか否かを確認する(ステップS69)。
これにより、当該接続要求メッセージMG3又はMG11或いは接続解除要求メッセージMG6のいずれかが送信されてきていると判断したとき(ステップS69;YES)、制御部11は、先ず接続要求メッセージMG3又はMG11が送信されて来ているときは、当該接続要求メッセージMG3又はMG11に対応して当該下流側の他のノード2の所在情報を記憶部12に記憶されているノード管理情報内に追加(登録)することで当該下流側の他のノード2に対する接続処理を実行する(ステップS70)。一方、接続解除要求メッセージMG6を受信しているとき、制御部11は、当該接続解除要求メッセージMG6に対応して下流側の他のノード2の所在情報を記憶部11内の上記ノード管理情報から削除することで当該下流側の他のノード2の削除処理を実行する(ステップS70)。その後、制御部11は、上記ステップS68の処理に移行して当該処理を繰り返す。
他方、ステップS69の判定において、接続要求メッセージMG3又はMG11或いは接続解除要求メッセージMG6のいずれも受信していないときは(ステップS69;NO)、制御部11は、下流側に接続されているいずれかのノード2から上記データ送信開始要求メッセージ又は上記データ送信停止要求メッセージMG5を受信しているか否かを確認する(ステップS71)。
そして、当該データ送信開始要求メッセージ又はデータ送信停止要求メッセージMG5を受信しているとき(ステップS71;YES)、制御部11は、先ずデータ送信開始要求メッセージを受信しているときは、当該データ送信開始要求メッセージに応答して通常のコンテンツデータとしてのパケットを下流側の他のノード2に送信する(ステップS72)。一方、データ送信停止要求メッセージMG5を受信しているとき、制御部11は、下流側の他のノード2に対するコンテンツデータとしてのパケットの送信を停止する(ステップS72)。その後、制御部11は、上記ステップS68の処理に移行して当該処理を繰り返す。
最後に、ステップS71の判定において、データ送信開始要求メッセージ又はデータ送信停止要求メッセージMG5のいずれも受信していないときは(ステップS71;NO)、制御部11は、接続先紹介サーバ3から新たな無線環境ノード比率情報MPを受信しているか否かを確認する(図7(a)参照。ステップS73)。
そして、当該無線環境ノード比率情報MPを受信しているときは(ステップS73;YES)、制御部11は、放送局1の下流側にノード2が接続されているか否かを確認する(ステップS74)。これにより、当該ノード2が接続されている場合は(ステップS74;YES)、制御部11は、当該ノード2に対して接続先紹介サーバ3から新たに送信されて来た(ステップS73)無線環境ノード比率情報MPを送信する(ステップS75)。その後、制御部11は、上記ステップS68の処理に移行して当該処理を繰り返す。
他方、上記ステップS73の確認において新たな無線環境ノード比率情報MPを受信していないとき(ステップS73;NO)、又は上記ステップS74の確認においてノード2が接続されていないときは(ステップS74;NO)、制御部11は、いずれも、そのまま上記ステップS68の処理に移行して当該処理を繰り返す。
(C)第一実施例に係る接続先紹介サーバの動作
最後に、第一実施例に係る接続先紹介サーバ3における動作について、具体的に図18を用いて説明する。
第一実施例に係る接続先紹介サーバ3においては、先ず、図18に示すように、接続先紹介サーバ3としての電源スイッチがオンとされると、制御部35は、接続先紹介サーバ3内に記憶されているプログラムや各構成部材夫々を初期化し、各ノード2や放送局1からのメッセージの受信を可能とする(ステップS80)。
そして、当該初期化が完了すると、制御部35は、新たな放送局1からの登録要求メッセージ又は配信システムS内に既存の放送局1からの削除要求メッセージを受信したか否かを確認する(ステップS81)。これらのいずれかを受信すると(ステップS81;YES)、制御部35は、新たな放送局1の登録の場合はその所在情報を上記データベース内に登録し、更に新しいチャンネルの情報等をトポロジのデータベース内に登録する。また、既存の放送局1の削除の場合は、制御部35は、当該放送局1の所在情報等を上記データベース内から削除し、更に該当するチャンネル情報をトポロジのデータベース内から削除する(ステップS82、S83)。
その後、制御部35は、接続先紹介サーバ3としてのサービスを停止するか否かを確認する(ステップS84)。ステップS84の確認において、停止する場合は(ステップS84;YES)、制御部35は、そのまま接続先紹介サーバ3の電源をオフとして処理を終了する。一方、ステップS84の確認において、引き続き当該サービスを継続する場合は(ステップS84;NO)、制御部35は、上記ステップS81に戻って上述した一連の処理を繰り返す。
他方、上記ステップS81の判定において、放送局1からの登録要求メッセージ及び削除要求メッセージのいずれも受信していないときは(ステップS81;NO)、制御部35は、新たに配信システムSに参加するノード2からの上記上流ノード紹介要求メッセージMG1(図13ステップS3参照)又は接続換え処理が実行されるノード2からの上記上流ノード紹介要求メッセージMG9(図15ステップS39又は図16ステップS54参照)を受信したか否かを制御部35において確認する(ステップS85)。
これにより、当該上流ノード紹介要求メッセージMG1又はMG9を受信しているときは(ステップS85;YES)、制御部35は、蓄積されているトポロジのデータベースから当該上流ノード紹介要求メッセージMG1又はMG9を送信してきたノード2をその下流側に接続することが可能なノード2(例えば、図2(図4)の例ではノード2b(2f))の候補を検索する(ステップS86)。その後、制御部35は、検索された候補に該当するノード2の所在情報等を、上記上流ノード候補メッセージMG2又はMG10として要求元のノード2へ返信し(ステップS87)、上記ステップS84の処理に移行する。
これに対し、ステップS85の判定において、上流ノード紹介要求メッセージMG1又はMG9のいずれも受信していないときは(ステップS85;NO)、制御部35は、いずれかのノード2から上記参加報告メッセージ(図15ステップS37参照)又は脱退報告メッセージ(図14ステップS23参照)を受信したか否かを確認する(ステップS88)。
そして、当該参加報告メッセージ又は脱退報告メッセージを受信したときは(ステップS88;YES)、制御部35は、当該受信した報告メッセージの内容に基づいてトポロジの変更があったと判断し、夫々の当該内容に基づいてトポロジのデータベースを更新し(ステップS89)、上記ステップS84の処理に移行する。なお、参加報告メッセージには、当該参加報告メッセージを送信したノード2が無線環境ノードであるか又は有線環境ノードを示す情報が含まれているので、制御部35は、当該情報を付加して当該トポロジのデータベースを更新する。
最後に、上記ステップS88の判定において、参加報告メッセージ又は脱退報告メッセージのいずれも受信していないときは(ステップS88;NO)、制御部35は、配信システムSに対して無線環境ノード比率情報MPを送信する予め設定されたタイミング(例えば、一分毎)が到来したか否かを確認する(ステップS90)。
そして、当該タイミングが到来しているときは(ステップS90;YES)、その時点で記憶部36に記憶されている上記トポロジのデータベースに基づき、現在の配信システムSにおける無線環境ノード比率を算出する(ステップS91)。ここで、当該データベースは配信システムS内の各ノード2夫々が無線環境ノードであるか有線環境ノードであるかを示す情報が付加され構築されているので、制御部35はこの情報を用いて配信システムSにおける無線環境ノード比率を算出する。
その後、制御部35は、算出された無線環境ノード比率を無線環境ノード比率情報MPとして放送局1に送信し(ステップS92)、上記ステップS84の処理に移行する。
(II)第一の変形形態に係る実施例(第二実施例)
次に、図8を用いて説明した第一の変形形態に係る実施例(以下当該実施例を第二実施例と称する)について説明する。
第二実施例に係る配信システムにおける放送局1、各ノード2及び接続先紹介サーバ3夫々の構成及び動作は、条件付中継許可モードの動作内容が異なる点を除き、基本的には第一実施例に係る配信システムSに係る放送局1、各ノード2及び接続先紹介サーバ3夫々の構成及び動作と同様である。
すなわち、第二実施例に係る各ノード2における図14のステップS30の判定において、対象ノード2の直近下流側のノード2が無線環境ノードであるときは(ステップS30;YES)、対象ノード2の制御部21は、当該直近下流側に接続されたノード2に対するコンテンツの中継速度を制限する。
具体的には、上述したように、無線環境ノードたる対象ノード2の制御部21は、直近上流側のノード2から例えば中継速度2メガbpsでコンテンツを受信したとき、これを例えば中継速度1メガbpsとして下流側の無線環境ノードに中継する(ステップS31)。
(III)第二の変形形態に係る実施例(第三実施例)
最後に、図9を用いて説明した第一の変形形態に係る実施例(以下当該実施例を第三実施例と称する)について、図19乃至図22を用いて説明する。なお、図19及び図20は、第三実施例に係る各ノード2において実行される動作の一部を共通的に夫々示すフローチャートであり、図21は第三実施例に係る放送局1において実行される動作を示すフローチャートであり、図22は第三実施例に係る接続先紹介サーバ3において実行される動作を示すフローチャートである。
第三実施例に係る配信システムにおける放送局1、各ノード2及び接続先紹介サーバ3夫々の構成及び動作は、以下図19乃至図22を用いて説明する部分を除き、基本的には第一実施例に係る配信システムSに係る放送局1、各ノード2及び接続先紹介サーバ3夫々の構成及び動作と同様である。
(A)第三実施例に係るノードの動作
そこで先ず、第三実施例に係る対象ノード2の動作について、第一実施例に係る対象ノード2の動作と異なる部分についてのみ、図19及び図20を用いて説明する。
第三実施例に係る対象ノード2の動作としては、最初に、第一実施例に係る対象ノード2と同様のステップS1乃至S13(図13参照)及びS20乃至S27の動作が、制御部21により実行される。
そして制御部21は、第三実施例に係る対象ノード2固有の動作として、図19に示すように第一実施例に係る対象ノード2の動作におけるステップS28の動作を実行しない。すなわち、当該制御部21は、第一実施例に係る対象ノード2の動作におけるステップS27の動作を実行後、直ちに第一実施例に係る対象ノード2の動作におけるステップS30の動作に移行する。
その後、制御部21は、第一実施例に係る対象ノード2と同様のステップS30乃至S33(図14参照)、S35乃至S47(図15参照)の動作を実行する。
次に制御部21は、図20に示すように第一実施例に係る対象ノード2の動作におけるステップS50乃至54の動作を実行する。そして、第三実施例に係る対象ノード2固有の動作として、制御部21は、ステップS50の判定において対象ノード2における配信状態が悪化していないときは(ステップS50;NO)、第一実施例に係る対象ノード2と同様のステップS55乃至S61(図16参照)の動作は実行せず、そのまま図13に示すステップS4の処理に移行して上述した一連の処理を繰り返す。
(B)第三実施例に係る放送局の動作
次に、第三実施例に係る放送局1の動作について、第一実施例に係る放送局1の動作と異なる部分についてのみ、図21を用いて説明する。
第三実施例に係る放送局1の動作としては、最初に、第一実施例に係る放送局1と同様のステップS65乃至S72(図17参照)の動作が、制御部11により実行される。
そして制御部11は、図21に示すように第三実施例に係る放送局1固有の動作として、ステップS71の判定においてデータ送信開始要求メッセージ又はデータ送信停止要求メッセージMG5のいずれも受信していないときは(ステップS71;NO)、第一実施例に係る放送局1と同様のステップS73乃至S75(図17参照)の動作は実行せず、そのままステップS68の処理に移行して上述した一連の処理を繰り返す。
(C)第三実施例に係る接続先紹介サーバの動作
最後に、第三実施例に係る接続先紹介サーバ3の動作について、第一実施例に係る接続先紹介サーバ3の動作と異なる部分についてのみ、図22を用いて説明する。
上述(図9参照)したように、第二の変形形態に係る接続先紹介サーバ3は、リーフノードでもある各無線環境ノード夫々における中継状態に関する情報を把握し、当該中継状態に関する情報を他のノード2からの上流ノード紹介要求メッセージMG1又はMG9に対して直接適用する。
このため、第三実施例に係る接続先紹介サーバ3の動作としては、最初に、第一実施例に係る接続先紹介サーバ3と同様のステップS81乃至S85(図18参照)の動作が、制御部35により実行される。
そして制御部35は、図22に示すように、上流ノード紹介要求メッセージMG1又はMG9を受信しているときは(ステップS85;YES)、その時点で記憶部36に記憶されている上記トポロジのデータベースに基づき、第一実施例に係る接続先紹介サーバ3と同様に現在の配信システムSにおける無線環境ノード比率を算出する(ステップS91)。
その後制御部35は、第三実施例に係る接続先紹介サーバ3固有の動作として、算出された無線環境ノード比率に基づき、上流ノード紹介要求メッセージMG1又はMG9を送信してきたノード2をその下流側に接続することが可能なノード2の候補を検索する(ステップS95)。
ここで、当該ステップS95の処理として具体的には、制御部35は、リーフノードでもある無線環境ノードであって且つ中継禁止モードで動作している無線環境ノードを、接続先候補から除外する。
これに加えて制御部35は、リーフノードでもある無線環境ノードであって且つ条件付中継許可モードで動作している無線環境ノードについては、その下流側に既に接続可能数分のノード2が接続されている場合に当該無線環境ノードを接続先候補から除外し、現在の接続数が接続可能数の上限に達していない場合にのみ、当該無線環境ノードを接続先候補に加える。
その後、制御部35は、第一実施例に係る接続先紹介サーバ3と同様のステップS87乃至S89(図18参照)の動作を実行し、ステップS84の動作に移行する。このとき、制御部35は、第一実施例に係る接続先紹介サーバ3と同様のステップS90乃至S92(図18参照)の動作は実行しない。
以上夫々説明したように、先ず実施形態及び第一実施例に係る配信システムSの動作によれば、対象ノード2自体が無線環境ノードであるとき下流側に接続されている他のノード2に対するコンテンツの中継を制限するので、安定度の低い無線回線に接続されている無線環境ノードの下流側に接続された他のノード2に対して階層ツリーに沿ったコンテンツの配信が有線回線の場合と同様に実行されることに起因する、配信システムS全体としての配信の安定度の低下を防止することができる。
よって、有線回線と、それより配信安定度の低い無線回線と、が配信システムS内に混在する場合であっても、当該配信システムS全体としての配信の安定度の低下を防止し、各ノード2に対して安定的にコンテンツを配信することができる。
また、配信システムS全体の配信安定度の低下が防止されることで、無線回線を介することに起因するコンテンツの欠落等に対する補完処理の必要性が低減する。従って、当該補完処理に係る各ノード2自体又は接続先紹介サーバ3における処理負担をも軽減することができる。
また、対象ノード2が無線環境ノードであり且つリーフノードでもあるとき下流側に接続されている他のノード2に対する階層ツリーに沿ったコンテンツの中継を制限するので、無線回線に接続されている無線環境ノードの下流側に接続された他のノード2に対して階層ツリーに沿ったコンテンツの配信が有線回線の場合と同様に実行されることに起因する、配信システムS全体としての配信の安定度の低下を防止する効果をより高めることができる。
更に、対象ノード2が無線環境ノードであり且つリーフノードであり、更に無線環境ノード比率情報MPにより示される無線環境ノード比率が閾値以下であるとき下流側へのコンテンツの配信を禁止するので、リーフノードであり且つ無線環境ノードでもあるノード2の無線環境ノード比率が少ない場合にのみ当該ノード2を中継禁止モードとして動作させることで、中継禁止モードの多用による弊害を抑止することができる。換言すれば、リーフノードであり且つ無線環境ノードでもあるノード2の無線環境ノード比率が多い条件下でコンテンツの中継禁止を行うことによる、配信システムSの安定維持に対する悪影響を防止することができる。
更にまた、対象ノード2が無線環境ノードであり且つリーフノードであり、更に無線環境ノード比率情報MPにより示される無線環境ノード比率が閾値より大きいとき、無線環境ノードでの中継を禁止状態にする代わりに、コンテンツの中継量を低減させながら(具体的には、下流側へのコンテンツの同時中継数を、有線環境ノード間よりも少ない数に制限して)下流側の他のノード2に対するコンテンツの中継を行うので、新たなノード2が配信システムSに参加する場合においてその接続候補となるノード2を常時充分に確保することが可能となり、結果として配信システムS全体としての配信の安定度を維持することができる。
また、無線環境ノードの直近下流側に有線環境ノードが接続されるとき、双方のノード2の階層ツリーとしての接続位置を入れ換えて当該他のノード2を接続させるので、配信システムSとしての階層ツリーにおいて、常に有線環境ノードの下流側に無線環境ノードが接続されることで、安定した接続環境(有線回線)から不安定な接続環境(無線回線)へコンテンツが流れる配信経路を常時維持でき、結果として配信品質の低下を防止することができる。
更に、接続先紹介サーバ3において一元的に各ノード2から無線環境ノードであるか否かを示す情報を取得し、それを用いて無線環境ノード比率情報MPを生成して配信するので、その時点での階層ツリーの接続関係に適合した無線環境ノード比率情報MPを生成して各ノード2に配信することができる。
更にまた、第一の変形形態及び第二実施例に係る配信システムの動作によれば、対象ノード2が無線環境ノードであり且つリーフノードであり、更に無線環境ノード比率情報MPにより示される無線環境ノード比率が閾値以上であるとき、無線環境ノードでの中継を禁止状態にする代わりに、下流側に対する中継速度を、有線環境ノード間における当該中継速度よりも遅くして配信を継続するので、新たなノード2が配信システムSに参加する場合における接続候補となるノード2を常時充分に確保することが可能となり、結果として配信システムS全体としての配信の安定度を維持することができるようになる。
また、第二の変形形態及び第三実施例に係る接続先紹介サーバ3の動作によれば、無線環境ノードが新たな接続先となることを制限した上流ノード候補メッセージMG2又はMG10を生成して新規参加のノード2に送信するので、安定度の低い無線回線に接続されている無線環境ノードの下流側に他のノード2が通常通り接続されて階層ツリーに沿った配信が有線回線の場合と同様に実行されることに起因する配信システムS全体としての配信の安定度の低下を防止できる。
更に、第二の変形形態及び第三実施例に係る接続先紹介サーバ3の動作によれば、無線環境ノードであり且つリーフノードでもあるノード2が新たな接続先となることを制限した上流ノード候補メッセージMG2又はMG10を生成して新規参加のノード2に送信するので、当該無線環境ノードの中で下流接続数に余力が残っているノード2に中継制限の対象を限定することが可能となり、無線回線に接続されている無線環境ノードの下流側に他のノード2が通常通り接続されて階層ツリーに沿った配信が有線回線の場合と同様に実行されることに起因する配信システム全体としての配信の安定度の低下を防止する効果を高めることができる。
更にまた、第二の変形形態及び第三実施例に係る接続先紹介サーバ3の動作によれば、無線環境ノード比率情報MPにより示される無線環境ノード比率が閾値未満であるとき、無線環境ノードであり且つリーフノードであるノード2を除いたノード2を接続先とする上流ノード候補メッセージMG2又はMG10を生成して新規参加のノード2に送信するので、無線環境ノードであり且つリーフノードであるノード2の無線環境ノード比率が少ない場合にのみ当該無線環境ノードに対して中継をさせないことになり、中継禁止状態の多用による弊害を抑止することができる。換言すれば、リーフノードであり且つ無線環境ノードでもあるノード2の無線環境ノード比率が多い条件下でコンテンツの中継禁止を行うことによる、配信システムの安定維持に対する悪影響を防止することができる。
また、第二の変形形態及び第3実施例に係る接続先紹介サーバ3の動作によれば、無線環境ノード比率情報MPにより示される無線環境ノード比率が閾値以上であるとき、無線環境ノードであり且つリーフノードであるノード2の中継を禁止状態にする代わりに、当該ノード2における新規参加のノード2の接続後のコンテンツの同時中継数が、無線環境ノード以外のノード2間の同時中継可能数よりも少ない数となるように上流ノード候補メッセージMG2又はMG10の生成を調整するので、新たなノード2が配信システムに参加する場合における接続先が減少してしまうことを抑制しつつ、配信システム全体としての配信の安定度の低下を防止できる。
なお、上述した実施形態等では、通信回線9の種類が有線回線と無線回線の二種類である場合について説明したが、これ以外に、コンテンツの配信に対する安定度が異なる二種類の有線回線(例えば、光回線とADSL(Asymmetric Digital Subscriber Line)回線)の間で、中継制限の有無及びその度合いを区別させても良い。具体的には、安定度が相対的に高い方の有線回線を実施形態等に係る有線回線と同様に扱い、一方、安定度が相対的に低い方の有線回線を実施形態等に係る無線回線と同様に扱うのが好適である。
更に、コンテンツの配信に対する安定度が異なる三種類以上の回線(例えば、光回線、ADSL回線及び無線回線)の間で、中継制限の有無及びその度合いを区別させても良い。具体的には、安定度が相対的に最も高い回線を実施形態等に係る有線回線と同様に扱い、移行、安定度が低くなる順に中継制限の度合いを高くする(例えば接続可能数の上限をより少なくする)ように扱うのが好適である。
更にまた、図13乃至図16に夫々示すフローチャートに対応するプログラムを、フレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、又はインターネット等を介して取得して記録しておき、これらを汎用のコンピュータで読み出して実行することにより、当該コンピュータを第1実施例に係るノード2内の制御部21として活用することも可能である。
また、図13,図19、図15及び図20に夫々示すフローチャートに対応するプログラムを、フレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、又はインターネット等を介して取得して記録しておき、これらを汎用のコンピュータで読み出して実行することにより、当該コンピュータを第3実施例に係るノード2内の制御部21として活用することも可能である。
更に、図17に示すフローチャートに対応するプログラムを、フレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、又はインターネット等を介して取得して記録しておき、これらを汎用のコンピュータで読み出して実行することにより、当該コンピュータを第1実施例に係る放送局1内の制御部11として活用することも可能である。
更にまた、図21に示すフローチャートに対応するプログラムを、フレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、又はインターネット等を介して取得して記録しておき、これらを汎用のコンピュータで読み出して実行することにより、当該コンピュータを第3実施例に係る放送局1内の制御部11として活用することも可能である。
更にまた、図18に示すフローチャートに対応するプログラムを、フレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、又はインターネット等を介して取得して記録しておき、これらを汎用のコンピュータで読み出して実行することにより、当該コンピュータを第1実施例に係る接続先紹介サーバ3内の制御部35として活用することも可能である。
また、図22に示すフローチャートに対応するプログラムを、フレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、又はインターネット等を介して取得して記録しておき、これらを汎用のコンピュータで読み出して実行することにより、当該コンピュータを第3実施例に係る接続先紹介サーバ3内の制御部35として活用することも可能である。