説明

接続態様管理装置、接続態様管理方法、及び、接続態様管理プログラム

【課題】上流ノード(送信装置又はノード装置)の接続切り替えに伴って、その下流端末との接続状態を変更する場合のネットワークの通信負荷を低減させるノード装置、及び、接続態様管理装置、ストリームデータ配信システム、並びに、接続切り替え方法を提供する。
【解決手段】下流側に接続しているノード装置が接続から外れたとき、接続から外れたノード装置を、再接続が完了するか又は所定時間が経過するまで接続に使用しないノード装置である接続不可ノード装置として記憶する記憶手段と、記憶手段に記憶された接続不可ノード装置に基づいて、接続に使用できるノード装置である接続先ノード装置を決定する接続先ノード装置決定手段と、決定された接続先ノード装置を含む接続先情報をノード装置に送信する接続先情報送信手段と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、接続態様管理装置、接続態様管理方法、及び、接続態様管理プログラムの技術分野に係り、特に、ノード装置が接続切り替えを行う際のストリームデータ配信システム全体への通信負荷の低減を図る接続態様管理装置、接続態様管理方法、及び、接続態様管理プログラムの技術分野に属する。
【背景技術】
【0002】
ツリー型トポロジー(構造)のネットワークでストリームデータ配信をチャンネル毎に管理する管理方式において、ユーザノードがチャンネルを切り替える際には、主に以下の二つの通知方法が採用されていた。
(a) 自ノードの下流側に接続しているノードに対し、自ノードがチャンネルを脱退することを通知するとともに、新しい接続先を探索するように促す方法
(b) 自ノードが上流ノードを介して新しい接続先を探索し、探索した接続先を下流ノードへ紹介してから脱退する方法
しかし、いずれの場合もチャンネル切り替えを契機として、即時にトポロジー情報の変動を近隣ノードへ通知することで、チャンネル切り替え後のストリーム配信が確実に行われることを保証していた。
【0003】
トポロジー変動を通知して接続先を切り替える方式の類例として、障害検知時の接続先切り替え方式が挙げられる(特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−341576号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記特許文献1に開示された発明は、本発明と同様ストリームデータ配信に関するものであるが、明細書の中で述べられているように、障害発生時の回復時間を短縮する観点からトポロジー状態の変化を即時に下流ノードへ通知することを特徴としている。
【0006】
しかしながら、多数のユーザノードがコンテンツ配信システムに参加している状態で、チャンネル切り替えによって頻繁にノードの脱退と参加が繰り返されるような状況を考えると、チャンネル切り替えの都度、トポロジー変動通知を即時に送受信するような従来型の制御方式は、システム全体としてみたときにネットワークに通信負荷を与えるものとなる。
【0007】
そこで本発明は、上記問題点を解決するために、上流ノード(送信装置又はノード装置)の接続切り替えに伴って、その下流端末との接続状態を変更する場合のネットワークの通信負荷を低減させる接続態様管理装置、接続態様管理方法、及び、接続態様管理プログラムを提供することを目的としている。
【課題を解決するための手段】
【0008】
以下、本発明について上記課題を解決するための手段を説明する。なお、本発明の理解を容易にするために添付図面の参照符号を付記するが、それにより本発明が図示の形態に限定されるものではない。
【0009】
上記課題を解決するために、請求項1にかかる接続態様管理装置は、ストリームデータを配信する複数の送信装置と、前記複数の送信装置のうち、選択された送信装置に接続し、前記ストリームデータを下流側に接続しているノード装置としてのユーザ端末200へへ中継する複数のノード装置と、を有するストリームデータ配信システムとしてのストリームデータ配信ネットワークシステムSにおける接続態様を管理する接続態様管理装置としての接続先紹介サーバ400において、前記下流側に接続している前記ノード装置が接続から外れたとき、接続から外れたノード装置を、再接続が完了するか又は所定時間が経過するまで前記接続に使用しないノード装置である接続不可ノード装置として記憶する記憶手段としてのトポロジーデータベース408と、前記記憶手段に記憶された前記接続不可ノード装置に基づいて、接続に使用できる前記ノード装置である接続先ノード装置を決定する接続先ノード装置決定手段としてのCPU402と、前記決定された接続先ノード装置を含む接続先情報を前記ノード装置に送信する接続先情報送信手段としてのネットワークインタフェース404と、を備えることを特徴とする。
【0010】
請求項1に係る発明によれば、接続切り替え直後でリングバッファにストリームデータを蓄積していないノード装置は接続先として選択されない。これにより、例えば、短時間のうちにチャンネル間を往復するような接続切り替え操作(ザッピング)の場合、この接続切り替えを行ったノード装置の下流には他のノード装置が接続しないので、下流端末の接続切り替え通知が発生しない。また、次々と異なるチャンネルへ移動していく操作(チャンネルホッピング)の場合も、下流端末の接続切り替え通知が発生しない。その結果、不要なトポロジー変動通知の伝播を抑制することに繋がるので、結果としてネットワークに負荷を与えない。
【0011】
請求項2にかかる接続態様管理装置は、請求項1に記載された接続態様管理装置において、前記接続先ノード装置決定手段は、前記接続から外れたノード装置が他の送信装置側へ接続を切り替えたとき、接続を切り替えたノード装置の接続箇所を、所定時間が経過するまで、接続を切り替えたノード装置以外の前記ノード装置の接続に使用しないことを特徴とする。
【0012】
請求項2に係る発明によれば、例えば、ザッピングによってノード装置が元のチャンネルに戻るとき、ツリー型トポロジーの変動が起こらず、その結果、不要なトポロジー変動通知の伝播を抑制できる。
【0013】
請求項3にかかる接続態様管理装置は、請求項2に記載された接続態様管理装置において、前記ノード装置が他の送信装置側へ接続を切り替えたとき、接続切り替え前の前記送信装置から受信したストリームデータを前記下流側に接続しているノード装置への転送が完了するまで、又は、所定時間が経過するまで、前記記憶手段は、接続を切り替えたノード装置を前記接続不可ノード装置として記憶することを特徴とする。
【0014】
請求項3に係る発明によれば、ザッピング操作によってユーザ端末が元のチャンネルに戻るとき、ユーザ端末が元のチャンネルで利用していた接続先へ戻ることを保証できるので、別のチャンネルへ移動中に未受信となっていた元のチャンネルのパケットを過去に遡って受信要求する処理が実現可能となる。
【0015】
請求項4にかかる接続態様管理装置は、請求項3に記載された接続態様管理装置において、前記ノード装置が他の送信装置側へ接続を切り替えたとき、接続切り替え前の前記送信装置から受信したストリームデータの前記下流側に接続しているノード装置への転送が完了するまで、又は、所定時間が経過するまで、前記記憶手段は、接続を切り替えた前記ノード装置の下流側に接続している前記ノード装置を前記接続不可ノード装置として記憶することを特徴とする。
【0016】
請求項4に係る発明によれば、近い将来接続切り替えを行う下流端末の更に下流に新たなユーザ端末の接続を避けることができる。
【0017】
請求項5にかかる接続態様管理装置は、請求項1から請求項4の何れか1項に記載された接続態様管理装置において、配信の起点となる前記送信装置としての放送局端末300からの中継数に応じて、前記ストリームデータの途絶を検知するまでの判定時間であるタイムアウト値を前記ノード装置に設定するタイムアウト値設定手段としてのCPU402を更に備え、前記接続先情報送信手段は、前記ノード装置に前記タイムアウト値を含む前記接続先情報を送信することを特徴とする。
【0018】
請求項5に係る発明によれば、中継数に応じて異なるタイムアウト値を設定するので、中継数が異なるユーザ端末はそれぞれその中継数に応じて異なるタイミングで接続関係から離れることになり、結果、システム全体としてみると接続切り替え通知を分散させることができる。
【0019】
上記課題を解決するために、請求項6にかかる接続態様管理装置における接続態様管理方法は、ストリームデータを配信する複数の送信装置と、前記複数の送信装置のうち、選択された送信装置に接続し、前記ストリームデータを下流側に接続しているノード装置へ中継する複数のノード装置と、を有するストリームデータ配信システムにおける接続態様を管理する接続態様管理装置における接続態様管理方法において、前記下流側に接続している前記ノード装置が接続から外れたとき、接続から外れたノード装置を、再接続が完了するか又は所定時間が経過するまで前記接続に使用しないノード装置である接続不可ノード装置として記憶する記憶手段に記憶させる記憶工程と、前記記憶工程において記憶された前記接続不可ノード装置に基づいて、接続に使用できる前記ノード装置である接続先ノード装置を決定する接続先ノード装置決定工程と、前記決定された接続先ノード装置を含む接続先情報を前記ノード装置に送信する接続先情報送信工程と、を含むことを特徴とする。
【0020】
上記課題を解決するために、請求項7にかかる接続態様管理装置の接続態様管理プログラムは、ストリームデータを配信する複数の送信装置と、前記複数の送信装置のうち、選択された送信装置に接続し、前記ストリームデータを下流側に接続しているノード装置へ中継する複数のノード装置と、を有するストリームデータ配信システムにおける接続態様を管理する接続態様管理装置に含まれるコンピュータに、前記下流側に接続している前記ノード装置が接続から外れたとき、接続から外れたノード装置を、再接続が完了するか又は所定時間が経過するまで前記接続に使用しないノード装置である接続不可ノード装置として記憶する記憶手段に記憶させる記憶ステップと、前記記憶ステップにおいて記憶された前記接続不可ノード装置に基づいて、接続に使用できる前記ノード装置である接続先ノード装置を決定する接続先ノード装置決定ステップと、前記決定された接続先ノード装置を含む接続先情報を前記ノード装置に送信する接続先情報送信ステップと、を実行させることを特徴とする。
【発明の効果】
【0021】
本発明によれば、接続切り替え直後でリングバッファにストリームデータを蓄積していないノード装置は接続先として選択されない。これにより、例えば、短時間のうちにチャンネル間を往復するような接続切り替え操作(ザッピング)の場合、この接続切り替えを行ったノード装置の下流には他のノード装置が接続しないので、下流端末の接続切り替え通知が発生しない。また、次々と異なるチャンネルへ移動していく操作(チャンネルホッピング)の場合も、下流端末の接続切り替え通知が発生しない。その結果、不要なトポロジー変動通知の伝播を抑制することに繋がるので、結果としてネットワークに負荷を与えない。
【図面の簡単な説明】
【0022】
【図1】図1に、本実施の形態に係るコンテンツ配信ネットワークシステムの概要構成を示している。
【図2】図2は、クライアント端末としてのユーザ端末200の構成概要を示す。
【図3】図3は、送信装置としての放送局端末300の構成概要を示す。
【図4】図4は、接続態様管理装置としての接続先紹介サーバ400の構成概要を示す。
【図5】図5は、任意のユーザ端末200は接続の切り替えに関する状態遷移を示す。
【図6】図6は、接続切り替え時の全体シーケンスを示す。
【図7】図7は自端末B122(B211)から見たチャンネル切り替えの流れを示す。
【図8】図8は下流側のユーザ端末(下流端末)C2111,C2112(C1221,C1222)から見たチャンネル切り替えの流れを示す。
【図9】図9は上流端末A12,A21から見たチャンネル切り替えの流れを示す。
【図10】図10は接続先紹介サーバ400におけるトポロジー変動通知受信時の処理を示す。
【図11】図11は接続先紹介サーバ400における接続先紹介要求受信時の処理を示す。
【図12】図12は、接続切り替え後のチャンネル1に関するリングバッファ231の動作を示す。図12は、接続切り替え時の制御を示す図12(a)と、リングバッファの読み込みと書き込みの関係を示す図12(b)とから構成される。
【図13】図13は、このときの自端末B211及び下流端末C2111(又はC2112)のリングバッファの様子を示す。
【図14】図14は、下流端末がストリーム受信の途絶を検知したときの様子を示す。
【発明を実施するための形態】
【0023】
以下、本発明に係るストリームデータ配信ネットワークの最良の形態を、ストリームデータ配信チャンネルが二つの場合を例として図面を用いて説明する。
【0024】
[1.ストリームデータ配信ネットワークシステムの構成]
図1に、本実施の形態に係るストリームデータ配信ネットワークシステムの概要構成を示している。
【0025】
本実施の形態に係るストリームデータ配信ネットワークシステムSは二つのコンテンツ配信チャンネルch1,ch2を有している。各コンテンツ配信チャンネルch1,ch2の最上位階層(最上流)には送信装置としての放送局端末X1,X2が配されている。放送局端末X1,X2から一段下位(下流側)の第1階層にはそれぞれ二つのノード装置としてのユーザ端末A11,A12及びA21,A22が配され、第1階層のノードA12及びA21から一段下位の第2階層にはそれぞれ更にノード装置としてのユーザ端末B121,B122及びB212が配されている。
【0026】
このようにして、送信装置としての放送局端末X1,X2を最上位としたツリー型トポロジー(構造)のコンテンツ配信チャンネルを形成し、更に、複数のコンテンツ配信チャンネルの接続状況を管理する接続態様管理装置としての接続先紹介サーバ400の下でストリームデータ配信システムとしてのストリームデータ配信ネットワークシステムSを形成している。
【0027】
本実施の形態では、かかる構成を有するコンテンツ配信チャンネルch1,ch2が二つ集まって、ストリームデータ配信ネットワークシステムSが構成されている。
【0028】
ここで、ノード装置としてのユーザ端末200(A11,A12及びA21,A22,B121,B122及びB212)は、図2に示すように、システムバス201、接続制御手段、再生手段、途絶検知手段、接続先情報取得手段、蓄積制御手段としてのCPU202、暗号デコード用アクセラレータ204、接続手段、受信手段、送信手段としてのネットワークインタフェース205、蓄積手段、第一蓄積手段、第二蓄積手段としての主記憶装置206、周辺機器制御チップ207、ICカードスロット208、赤外線ポート209、再生手段としてのビデオチップ210、再生手段としての内蔵ディスプレイ211、再生手段としての音源チップ212、再生手段としての内蔵スピーカ213とを有して構成される。主記憶装置206は、第一蓄積手段としてのリングバッファ231及び第二蓄積手段としてのリングバッファ232を有している。主記憶装置206は、例えば、揮発性メモリであるRAM(Random Access Memory)で構成され、DRM(Digital Rights Management:デジタル著作権管理)モジュール(プログラム)214、ストリーム制御プログラム215、トポロジー制御プログラム216、オペレーティングシステム217、再生手段としての画面制御プログラム218、再生手段としての音声デコーダ219とを有している。ICカードスロット208及び赤外線ポート209は周辺機器制御チップ207と接続する。内蔵ディスプレイ211はビデオチップ210と接続し、内蔵スピーカ213は音源チップ212と接続する。
【0029】
ICカードスロット208には、コンテンツ復号鍵221及びデジタル証明書222を有するICカード220が挿入されて接続し、赤外線ポート209はユーザ入力用リモコン223と通信し、ネットワークインタフェース205はルータ224と接続している。
【0030】
そして、このユーザ端末200は、ストリームデータ配信ネットワークシステムSへ参加するとき、ユーザ端末200の所在情報を後述する接続先紹介サーバ400へ登録する参加機能と、ストリームデータ配信ネットワークシステムSの上位階層(上流側)に位置するユーザ端末(又は放送局端末)から受信したストリームデータとしてのストリームデータを下位階層(下流側)に位置するユーザ端末へ送信(転送又は中継)する中継機能と、受信したコンテンツに施された著作権保護用の暗号を解除して、コード化されたストリームデータを再生する再生機能と、ある放送局端末の配下(コンテンツ配信チャンネル)から別の放送局端末の配下(コンテンツ配信チャンネル)へ移動することで、異なるストリームデータを受信する接続切り替え機能、の4つの機能を有している。ここで、所在情報とはユーザ端末を特定するための情報をいい、例えば、IPアドレスとポート番号が該当する。
【0031】
尚、以下の説明において、ストリームデータ配信ネットワークシステムS中でのユーザ端末の位置を示す必要があるときは符号A11,A12及びA21,A22,B121,B122及びB211,B212などを用い、個々のユーザ端末を説明するときには符号200を用いる。
【0032】
送信装置としての放送局端末300(X1,X2)は、図3に示すように、システムバス301、CPU302、ハードディスク装置303、暗号用アクセラレータ304、ネットワークインタフェース305、主記憶装置306、周辺機器制御チップ307、ICカードスロット308、ビデオチップ309、とを有して構成される。ハードディスク装置303は放送用コンテンツ312を蓄えている。放送用コンテンツ312は、MPEG方式などでデジタル圧縮されたエンコード済みの音声データである。主記憶装置306は、例えば、揮発性メモリであるRAMで構成され、DRMモジュール(プログラム)313、ストリーム制御プログラム314、トポロジー制御プログラム315、オペレーティングシステム316、画面制御プログラム317、とを有している。ICカードスロット308は周辺機器制御チップ307と接続する。
【0033】
ICカードスロット308には、コンテンツ暗号鍵320及びデジタル証明書321を有するICカード319が挿入されて接続し、周辺機器制御チップ307はキーボード322及びマウス323と接続し、ビデオチップ309はディスプレイ324と接続する。ネットワークインタフェース305はルータ325と接続している。
【0034】
そして、放送局端末300は起動したとき、放送局端末300の所在情報を接続先紹介サーバ400へ登録する放送局登録機能と、ハードディスク装置303に格納されているファイル形式の放送用コンテンツを、著作権保護を目的として暗号化し、コンテンツのビットレートに応じた送出速度でストリームデータとしてのストリームデータを送信する配信機能とを有している。
【0035】
尚、以下の説明において、ストリームデータ配信ネットワークシステムS中での放送局端末の位置を示す必要があるときは符号X1,X2などを用い、個々の放送局端末を説明するときには符号300を用いる。
【0036】
更に、接続態様管理装置としての接続先紹介サーバ400は、図4に示すように、システムバス401、タイムアウト値設定手段、接続先ノード装置決定手段、記憶制御手段としてのCPU402、記憶手段としてのハードディスク装置403、接続先情報送信手段としてのネットワークインタフェース404、主記憶装置405、周辺機器制御チップ406、ビデオチップ407とを有して構成される。ハードディスク装置403は、記憶手段としてのトポロジーデータベース408、及び、端末管理データベース409を有している。主記憶装置405は、例えば、揮発性メモリであるRAMで構成され、端末認証プログラム410、接続先紹介プログラム411、オペレーティングシステム412、運用情報管理プログラム413を有している。
【0037】
周辺機器制御チップ406はキーボード414及びマウス415に接続している。ビデオチップ407はディスプレイ416に接続している。そして、ネットワークインタフェース404はルータ417に接続している。
【0038】
そして、接続先紹介サーバ400は、ユーザ端末200がストリームデータ配信ネットワークシステムSに参加するとき、当該ユーザ端末が参加する権限があることを認証する端末認証機能と、ユーザ端末及び放送局端末の所在情報を端末管理データベース409上で管理する端末管理機能と、各放送局端末300への接続状況をトポロジーデータベース408上で管理するトポロジー管理機能と、ユーザ端末200からの参加要求、チャンネル切り替え要求に対して適当な接続候補を検索し、検索結果を要求元へ返送する接続先紹介機能とを有している。
【0039】
[2.ストリームデータ配信ネットワークシステムSの機能]
次に、以上の構成を有するストリームデータ配信ネットワークシステムSの機能を、構成要素毎に以下に説明する。
【0040】
[2−1.ユーザ端末200の機能]
<参加機能>
すべてのユーザ端末200はストリームデータ配信ネットワークシステムSへ参加する際、ユーザ端末200の所在情報とともにICカード220に記憶されているデジタル証明書222を接続先紹介サーバ400へ送信する。接続先紹介サーバ400では、端末認証プログラム410によってデジタル証明書222の有効性を判定し、問題が無ければ所在情報とデジタル証明書222のダイジェスト(ハッシュ値)を端末管理データベース409に登録する。この後、ユーザ端末200がチャンネル切り替え等の要因で接続先紹介サーバ400から接続先の紹介を受ける際は、デジタル証明書222のハッシュ値をセッションキーとして用いる。このセッションキーの概念を用いることで、ユーザ端末200が接続先紹介サーバ400へアクセスする度に認証を行わなくて済み、認証にかかる負荷を軽減できる。
【0041】
<中継機能>
ユーザ端末はストリーム制御プログラム215を使って、上流端末(上流側のユーザ端末200又は放送局端末300)から送信されてくるストリームデータを下流側のユーザ端末へ転送(中継)する。例えば、上流方向に対する接続数が1つ、下流方向に対する接続数が2つあるときは、1つの上流端末から受信したストリームデータを同時に2つの下流側のユーザ端末へ転送(中継)する。
【0042】
<再生機能>
上流端末から受信したストリームデータは、下流側のユーザ端末へ転送(中継)する中継目的の他、自ユーザ端末内部でストリームデータを再生する目的で用いられる。ストリームデータは通常著作権保護を目的として暗号化されているので、ユーザ端末200では最初にストリームデータをDRMモジュール214へ入力することで暗号を解除する。具体的には、DRMモジュール214がICカード220に記憶されているコンテンツ復号鍵221を取り出し、これを暗号デコード用アクセラレータ204のパラメータとして用いることでストリームデータの暗号を解除する。次に、ストリームデータをデコードして再生するため、当該ストリームデータを音声デコーダ219へ入力し、コンテンツの生データ(非圧縮データ)を取り出す。最後にコンテンツの生データを音源チップ212へ入力することで、内蔵スピーカ213から音楽を再生する。尚、この例では音楽コンテンツを例に挙げて説明している。
【0043】
<接続切り替え機能>
この点については後述する。
【0044】
[2−2.放送局端末300の機能]
<放送局登録機能>
放送局端末300はストリームデータ配信ネットワークシステムS内で放送局を立ち上げる際、放送局端末300の所在情報とともにICカード319に記憶されているデジタル証明書321を接続先紹介サーバ400へ送信する。接続先紹介サーバ400では、端末認証プログラム410を使って当該デジタル証明書321の有効性を判定し、問題が無ければ所在情報とデジタル証明書321のダイジェスト(ハッシュ値)を端末管理データベース409に登録する。以降、放送局端末300がトポロジー変動通知を行う等の要因で接続先紹介サーバ400へアクセスする際は、デジタル証明書321のハッシュ値をセッションキーとして用いる。
【0045】
<配信機能>
放送局端末300はハードディスク装置303に記録してある放送用コンテンツ312を下流側のユーザ端末へ送信することで放送を行う。最初に、DRMモジュール313を用いてICカード319に記録してあるコンテンツ暗号鍵320を取り出し、これを暗号用アクセラレータ304のパラメータとして用いることでコンテンツを暗号化する。次に、ストリーム制御プログラム314を使って、ファイル形式の暗号化済み放送用コンテンツを、コンテンツのビットレートに応じた速度でパケット化し、これを下流側のユーザ端末へ送信することで放送を行う。
【0046】
[2−3.接続先紹介サーバ400の機能]
<端末認証機能>
ユーザ端末200の参加機能及び放送局端末300の放送局登録機能の箇所で詳述しているので説明を省略する。
【0047】
<端末管理機能>
ユーザ端末200の参加機能及び放送局端末300の放送局登録機能の箇所で詳述しているので説明を省略する。
【0048】
<トポロジー管理機能>
ユーザ端末200がストリームデータ配信ネットワークシステムSに参加する場合、ユーザ端末200がストリームデータ配信ネットワークシステムSから脱退する場合、ユーザ端末200がチャンネルを切り替えて接続を切り替える場合、放送局端末300が放送局を登録する場合、の4つの場合にトポロジーは変動する。接続先紹介サーバ400はこれらの事象に関する報告をユーザ端末200又は放送局端末300から受信するとトポロジーデータベース408を更新する。
【0049】
<接続先紹介機能>
ユーザ端末200において接続を切り替えた場合、或いは、ユーザ端末200において上流端末からのストリーム受信の途絶を検知した場合に、ユーザ端末200は新たな接続候補を取得するために接続先紹介サーバ400へ問い合わせを行う。接続先紹介サーバ400が当該問い合わせを受信すると、トポロジーデータベース408から適当な接続候補を検索し、検索結果を接続候補としてユーザ端末200へ返信する。図11に示すように、接続先の紹介に当たってはロックされていない接続先を接続候補として探索する。
【0050】
[3.接続切り替え処理]
ユーザ端末200の接続切り替え処理を図1に示す構造を有するストリームデータ配信ネットワークシステムSにおける接続切り替えを例にして以下に説明する。尚、どのユーザ端末を示すのかを明確にするため、図1に示す符号を適宜用いる。
【0051】
まず、任意のユーザ端末200は接続の切り替えに関して図5に示すような状態遷移をする。ここでは、ユーザ端末200がコンテンツ配信チャンネルch1のB122の位置からコンテンツ配信チャンネルch2のB211の位置へ接続を切り替える例を示している。尚、以下の説明では、接続先紹介サーバ400におけるトポロジー変動通知受信時の処理を示す図10における対応ステップを表示する。
【0052】
[状態1]
状態1は、ユーザ端末B122がコンテンツ配信チャンネルch1において定常状態にあることを示す。この状態1では、ユーザ端末B122は第一蓄積手段としてのリングバッファ231のみが機能し、上流端末(ここではユーザ端末A12)から受信したコンテンツ配信チャンネルch1に関するストリームデータをリングバッファ231に蓄積(保持)し、且つ、下流側のユーザ端末C1221,C1222へ送信(中継)している。
【0053】
状態1においてユーザ端末B122がコンテンツ配信チャンネルch2のB211の位置へ接続を切り替える場合、ユーザ端末B122は変動通知(イ)を接続先紹介サーバ400へ送信して状態2へ遷移する。一方、接続先紹介サーバ400ではこの変動通知(イ)を受信して当該ユーザ端末B122のコンテンツ配信チャンネルch1上の接続先(コンテンツ配信チャンネルch1のB122の位置)をロックする(他のユーザ端末は、ロックされた接続先に接続することはできない)(S1002)。
【0054】
状態1において上流端末A12からのストリーム受信が途絶した場合、ユーザ端末B122はコンテンツ配信チャンネルch1に関する新たな接続先に接続する。このとき、ユーザ端末B122は変動通知(ニ)を接続先紹介サーバ400へ送信する。
【0055】
[状態2]
状態2は、ユーザ端末B211がコンテンツ配信チャンネルch1に関するストリームデータを蓄積する第一蓄積手段としてのリングバッファ231とコンテンツ配信チャンネルch2に関するストリームデータを蓄積する第二蓄積手段としてのリングバッファ232の両方を保持している状態を示す。この状態2は、ユーザ端末B211がコンテンツ配信チャンネルch1のB122の位置からコンテンツ配信チャンネルch2のB211の位置へ接続を切り替えた後の所定時間内の状態である。
【0056】
コンテンツ配信チャンネルch2における上流端末A21からコンテンツ配信チャンネルch2に関するストリームデータを受信し当該受信したストリームデータをリングバッファ232に蓄積する一方で、接続切り替え前にリングバッファ231に蓄積されたコンテンツ配信チャンネルch1に関するストリームデータを下流側のユーザ端末C2111,C2112(接続切り替え前のC1221,C1222、以下同じ)へ送信している。
【0057】
状態2においてユーザ端末B211がコンテンツ配信チャンネルch1のB122の位置へ再度接続を切り替える場合、ユーザ端末B211(B122)は変動通知(ハ)を接続先紹介サーバ400へ送信して状態1へ遷移する。一方、接続先紹介サーバ400ではこの変動通知(ハ)を受信して当該ユーザ端末200のコンテンツ配信チャンネルch1での接続先をアンロックする(過去に行ったロックを解除する)(S1004)。
【0058】
状態2においてユーザ端末B211がコンテンツ配信チャンネルch1に関するストリームデータを供給できなくなった場合、ユーザ端末B211は状態3へ遷移する。コンテンツ配信チャンネルch1からコンテンツ配信チャンネルch2へ接続を切り替えて時間が経過し、接続切り替え前にリングバッファ231に蓄積されたコンテンツ配信チャンネルch1に関するストリームデータのすべてを下流側のユーザ端末C2111,C2112へ送信した状態である。
【0059】
このとき、ユーザ端末B211は変動通知(ロ)を接続先紹介サーバ400へ送信し、接続先紹介サーバ400ではこの変動通知(ロ)を受信して当該ユーザ端末B211のコンテンツ配信チャンネルch1での接続先をアンロックする(S1003)。
【0060】
[状態3]
状態3は、ユーザ端末B211がコンテンツ配信チャンネルch2において定常状態にあることを示す。この状態3では、ユーザ端末B211がコンテンツ配信チャンネルch2に関するストリームデータを蓄積するリングバッファ232のみを保持している。
【0061】
以上に説明した接続切り替え時の全体シーケンスを図6に示す。ここでは、コンテンツ配信チャンネルch1に参加していたユーザ端末(自端末)B122が、図1に示すコンテンツ配信チャンネルch2のB211の位置へ移る場合について示している。
【0062】
ステップS601において、ユーザ端末(自端末)B122は、コンテンツ配信チャンネルch1における上流端末A12へストリームデータの配信停止を要求する。上流端末A12は、停止要求を受信し、当該要求の受信を契機に要求元へのストリームデータの配信を停止し、要求元との接続関係を更新する。
【0063】
次に、ステップS602において、ユーザ端末(自端末)B122は、接続先紹介サーバ400に対してコンテンツ配信チャンネルch2における新しい接続先(上流端末)を紹介するよう要求する。すると、ステップS603において、接続先紹介サーバ400では、トポロジーデータベース408から接続先の候補を検索し、選択した候補(端末)の所在情報と階層レベル情報を要求元へ返信する。
【0064】
そして、ステップS604において、ユーザ端末(自端末)B122は、S602で取得したコンテンツ配信チャンネルch2に関する接続候補の中から接続先を1つ選択し、接続先紹介サーバ400へトポロジー変動通知を送信する。
【0065】
ステップS605において、ユーザ端末(自端末)B122はS603で返信された接続先(上流端末A21)へ接続し、自端末B211となる。その後、当該ユーザ端末(自端末)B211は上流側に関する接続情報を更新する。
【0066】
ステップS606において、ユーザ端末(自端末)B211は、上流端末A21に対してストリーム配信開始要求を出す。上流端末A21はユーザ端末(自端末)B211からのストリーム配信要求を受信して、要求元に対してストリームデータの配信を開始し、下流側のユーザ端末に関する接続情報を更新する。
【0067】
そして、コンテンツ配信チャンネルch2に関するストリームデータを受信したとき、ユーザ端末(自端末)B211はコンテンツ配信チャンネルch1のストリームデータの再生を停止し、コンテンツ配信チャンネルch2のストリームデータの再生を開始する。
【0068】
ユーザ端末(自端末)B211がコンテンツ配信チャンネルch1からコンテンツ配信チャンネルch2へ接続先を切り替えた後も、過去に受信したコンテンツ配信チャンネルch1に関するストリームデータがリングバッファ231には蓄積されているので、暫くの間ユーザ端末(自端末)B211は下流側のユーザ端末C2111,C2112へコンテンツ配信チャンネルch1に関するストリームデータを供給し続ける。
【0069】
ユーザ端末(自端末)B211が、リングバッファ231に蓄積されたコンテンツ配信チャンネルch1に関するストリームデータをすべて下流側のユーザ端末C2111,C2112へ放出すると、下流側のユーザ端末C2111,C2112への配信を停止する。すると、下流側のユーザ端末C2111,C2112はストリームデータ受信の途絶を検知し、これを契機に自律的に接続先を変更する手続きに入る。
【0070】
ステップS607において、まず、下流側のユーザ端末C2111,C2112は接続先紹介サーバ400に対してコンテンツ配信チャンネルch1における新しい接続先(上流端末)を紹介するよう要求する。すると、ステップS608において、接続先紹介サーバ400では、トポロジーデータベース408から接続先の候補を検索し、選択した候補(端末)の所在情報と階層レベル情報を要求元へ返信する。
【0071】
ステップS609において、下流側のユーザ端末C2111,C2112は、S608で取得したコンテンツ配信チャンネルch1に関する接続候補の中から接続先を1つ選択して、トポロジー変動通知を接続先紹介サーバ400へ送信する。
【0072】
ステップS610において、下流側のユーザ端末C2111,C2112は、S609で選択した接続先へ接続する。その後、下流側のユーザ端末C2111,C2112は、上流端末に関する接続情報を更新する。そして、ステップS611において、下流側のユーザ端末C2111,C2112は、接続先上流端末へストリーム配信開始要求を出す。このときの配信要求は、下流側のユーザ端末が前回受信したパケットの次のパケットから配信が始まるようにパケット番号を指定する。コンテンツ配信チャンネルch1における上流端末は、下流側のユーザ端末からのストリーム配信要求を受け付けると、要求元に対してストリームデータの配信を開始し、下流側のユーザ端末に関する接続情報を更新する。
【0073】
以上により、下流側のユーザ端末は、再びコンテンツ配信チャンネルch1のストリームデータを受信できる状態になる。
【0074】
図7は自端末B122(B211)から見たチャンネル切り替えの流れを、図8は下流側のユーザ端末(下流端末)C2111,C2112(C1221,C1222)から見たチャンネル切り替えの流れを、図9は上流端末A12,A21から見たチャンネル切り替えの流れを、図10は接続先紹介サーバ400におけるトポロジー変動通知受信時の処理を、図11は接続先紹介サーバ400における接続先紹介要求受信時の処理を、それぞれ示す。
【0075】
ユーザ端末B122がコンテンツ配信チャンネルch1に関するストリームデータを受信してリングバッファ231に蓄積しているという定常状態(状態1)のときに、ユーザの端末操作、即ち、ユーザ入力用リモコン223の操作によってコンテンツ配信チャンネルch2へのチャンネル切り替えが指示されてユーザ端末B122がコンテンツ配信チャンネルch2へ切り替わるとき、自端末(ユーザ端末)B122が実行する動作を図7に示す。
【0076】
まず最初に、チャンネル変動の指示を受けて自端末B122は、自己が接続しているコンテンツ配信チャンネルch1における上流端末A12へストリームデータの配信停止を要求する(S701)。
【0077】
そして、接続先紹介サーバ400に対してコンテンツ配信チャンネルch2における新しい接続先(上流端末)とその階層レベルを問い合わせる(S702)。
【0078】
次に、自端末B122の主記憶装置206にコンテンツ配信チャンネルch2用のリングバッファ232が生成される(S703)。
【0079】
続いて、接続先紹介サーバ400から取得したコンテンツ配信チャンネルch2に関する接続候補の中から接続先が1つ選択され、接続先紹介サーバ400へ変動通知(イ)が送信される(S704)。自端末B122は状態2に移行し、これ以降端末B211となる。
【0080】
選択した接続先が上流端末と見なされ、コンテンツ配信チャンネルch2の端末A21(これ以降、上流端末A21とする)に接続される(S705)。
【0081】
変動通知(イ)に基づき接続先紹介サーバ400において上流端末A12及びA21の接続情報が更新された後(S706)、上流端末A21はストリーム配信開始が要求される(S707)。
【0082】
コンテンツ配信チャンネルch1から受信してリングバッファ231に蓄積されていたストリームデータの再生は停止される(S708)。
【0083】
同時に、コンテンツ配信チャンネルch2のストリームデータの再生の準備を開始する(S709)。具体的には、コンテンツ配信チャンネルch2のパケットを上流端末A21から受信したとき直ちに再生し(S709)、受信したパケットをリングバッファ232に蓄積する(S710)。
【0084】
一方、コンテンツ配信チャンネルch1用のリングバッファ231が空であるか否かが判断され(S711)、リングバッファ231が空ではないとき(S711:N)、リングバッファ231に蓄積されているコンテンツ配信チャンネルch1のストリームデータの下流端末C2111,C2112への送信を継続する(S712)。
【0085】
コンテンツ配信チャンネルch1へ戻るユーザ要求があるか否かが判断され(S713)、戻る操作がないとき(S713:N)、処理はステップS710へと戻る。
【0086】
これに対して、コンテンツ配信チャンネルch1へ戻る操作があったとき(S713:Y)、ユーザはコンテンツ配信チャンネルch2に興味がないのであるから、上流端末A21へ配信停止を要求し(S714)、再生を停止し、リングバッファ232を削除する。(S715)。
【0087】
その後、接続先紹介サーバ400に対して変動通知(ハ)を送信して、自端末B211は状態1へ移行する(S716)。
【0088】
自端末B211はコンテンツ配信チャンネルch1の元の接続位置へ戻る(S717)。これ以降端末B122となる。
【0089】
変動通知(ハ)に基づいて接続先紹介サーバ400において上流端末A21及びA12の接続情報が更新され(S718)、上流端末A12はストリーム配信開始が要求される(S719)。このとき、リングバッファ231に蓄積されているパケットの続きのパケットが配信されるように、パケット番号が指定される。
【0090】
一方、ステップS711において、コンテンツ配信チャンネルch1用のリングバッファ231が空であると判断されたとき(S711:Y)、下流端末C2111,C2112へのストリームデータの配信が停止され(S720)、下流端末C2111,C2112に対する接続情報が更新される(S721)。
【0091】
蓄積していたコンテンツ配信チャンネルch1のストリームデータの下流端末への配信が完了したリングバッファ231は削除されて(S722)、接続先紹介サーバ400に対して、変動通知(ロ)が送信され状態3へ移行する(S723)。
【0092】
以上により、リングバッファ231に蓄積していたストリームデータの配信が完了するまでにコンテンツ配信チャンネルch1に戻るか、或いは、コンテンツ配信チャンネルch2へ移行して確定するかのいずれかに自端末のチャンネルが確定し、定常状態の動作を継続する。
【0093】
尚、図7は、図6の基本シーケンスに加えて、ユーザ端末(自端末)内のリングバッファの生成と消滅に関する処理も記載してある。ユーザによるチャンネル切り替え要求を契機としてコンテンツ配信チャンネルch1からコンテンツ配信チャンネルch2に接続を切り替える場合、接続を切り替える直前にコンテンツ配信チャンネルch2用のリングバッファ232を生成する。接続を切り替えた後は、暫くの間、コンテンツ配信チャンネルch1用のリングバッファ231とコンテンツ配信チャンネルch2用のリングバッファ232が共存するが、コンテンツ配信チャンネルch1用のリングバッファ231内にストリームデータが無くなったらコンテンツ配信チャンネルch1用のリングバッファ231を消滅させる。ただし、この共存期間中にコンテンツ配信チャンネルch2からコンテンツ配信チャンネルch1へ接続を戻した場合、コンテンツ配信チャンネルch1用のリングバッファ231を保持し、コンテンツ配信チャンネルch2用のリングバッファ232を消滅させる。
【0094】
続いて、チャンネル切換を行ったユーザ端末(自端末)B122(B211)の下位に接続している下流端末C1221(C2111)から見たチャンネル切換時の動作について図8に基づいて説明する。
【0095】
チャンネル切り替えを行った上流端末が当該切り替え前にリングバッファに蓄積していたストリームデータの下流端末への配信を終えたときの下流端末の動作を以下に説明する。
【0096】
最初に、個々の下流端末(ユーザ端末)C1221(C2111)においては、当該下流端末が接続している階層レベルに応じてストリーム途絶を検知するまでの判定時間が決められている(S801)。
【0097】
そして、上流端末(この場合の上流端末は当該下流端末C1221が接続している上流端末B122を指す)からのストリームデータの配信、即ち、ストリーム途絶の有無が検知される(S802)。
【0098】
ストリーム途絶を検知しないとき(S802:N)、ストリーム途絶を検知するまでストリーム途絶検知を繰り返す(S802)。
【0099】
ストリーム途絶を検知したとき(S802:Y)、上流端末がチャンネル切り替え前にリングバッファに蓄積していたストリームデータは配信が完了したのであるから、個々の下流端末(ユーザ端末)C1221(C2111)はコンテンツ配信チャンネルch1の新しい接続先とその階層レベルを接続先紹介サーバ400へ問い合わせる(S803)。
【0100】
続いて、接続先紹介サーバ400から取得したコンテンツ配信チャンネルch1に関する接続候補の中から接続先が1つ選択され、接続先紹介サーバ400へ変動通知(ニ)が通知される(S804)。
【0101】
紹介された接続先を新たな上流端末と見なして接続され(S805)、以前の上流端末と当該上流端末の両方の接続関係を更新する(S806)。
【0102】
新しい接続先(新しい上流端末)へストリーム配信要求が送信され(S807)、現チャンネルの再生が継続する(S808)。このとき、続きのパケットが配信されるように、パケット番号が指定される。
【0103】
以上により、下流端末は以前に接続していたチャンネルへの移行を完了する。
【0104】
次に、ユーザ端末(自端末)B122の上流側に接続している上流端末A12の動作について、図9に基づいて説明する。
【0105】
チャンネル切り替えを行うユーザ端末の上流側に接続している上流端末は、下流端末からの要求を受けて以下に説明する動作を実行する。
【0106】
上流端末A12において、下流端末B122からのストリーム配信要求の開始要求、または、ストリーム配信停止要求が受け付けられ(S901)、当該要求モードの種類が判断される(S902)。
【0107】
ストリーム配信開始要求であってパケット指定モードであるとき(S902:パケット指定モード)、下流端末B122が定常状態になるまで下流端末B122に対してバルク転送が実行される(S903)。ここで、バルク転送とは、パケットを連続して一気に送ることをいう。その後、ストリームの定常配信(S904)へと移行する。
【0108】
ストリーム配信要求が配信開始要求であって通常モードの設定であるとき(S902:通常モード)、ストリームの定常配信が実行され(S904)、工程S905へ移行する。
【0109】
要求モードがストリーム配信停止モードのとき(S902:ストリーム配信停止)、ストリーム配信を停止して(S906)、工程S905へ移行する。
【0110】
いずれのモードの場合も、その後、接続関係が更新される(S905)。
【0111】
以上により、下流側のユーザ端末のチャンネル切り替えにより生じる変動に対応している。
【0112】
次に、接続先紹介サーバ400がトポロジー変動通知を受信したときの動作について図10を用いて説明する。
【0113】
最初に、接続先紹介サーバ400において、受信したトポロジー変動通知の種類が判断される(S1001)。
【0114】
変動通知(イ)であるとき、送信元のユーザ端末はコンテンツ配信チャンネルch1からコンテンツ配信チャンネルch2への接続切り替えの途中であるから、変動通知送信元のコンテンツ配信チャンネルch1に関する接続先をロックする(S1002)。これにより、送信元のユーザ端末が接続していた接続位置は当該ユーザ端末以外には接続が許されないことになる。そして、工程S1005へ移行する。
【0115】
変動通知(ロ)であるとき、送信元のユーザ端末はコンテンツ配信チャンネルch2への以降を確定させたのであるから、変動通知送信元のコンテンツ配信チャンネルch1に関する接続先をアンロックして(S1003)、送信元のユーザ端末が接続していた接続位置が他のユーザ端末に解放される。そして、工程S1005へ移行する。
【0116】
変動通知(ハ)であるとき、送信元のユーザ端末は所定時間内にコンテンツ配信チャンネルch2からコンテンツ配信チャンネルch1へ戻ってきたのであるから、変動通知送信元のコンテンツ配信チャンネルch1に関する接続先をアンロックして(S1003)、送信元のユーザ端末が接続していた接続位置が当該ユーザ端末に解放される。そして、工程S1005へ移行する。
【0117】
変動通知(ニ)であるとき、送信元のユーザ端末は接続切り替えを行っていないのであるから、そのまま、工程S1005へ移行する。
【0118】
続いて、工程S1005において、新たな接続関係に基づいてトポロジーデータベースが更新される(S1005)。
【0119】
最後に、接続先紹介サーバ400が接続先紹介通知を受信したときの動作について、図11を用いて説明する。
【0120】
接続先紹介サーバ400は、ユーザ端末から接続先紹介通知を受信したとき、トポロジーデータベースからロックされていない接続先の候補を探す(S1101)。
【0121】
そして、新しい接続先の候補が問合せ元のユーザ端末へ返信される(S1102)。
【0122】
[4.接続切り替え後のリングバッファの動作]
接続切り替え後のチャンネル1に関するリングバッファ231の動作を図12を用いて以下に説明する。図12は、接続切り替え時の制御を示す図12(a)と、リングバッファの読み込みと書き込みの関係を示す図12(b)とから構成される。
【0123】
図12(a)において、ユーザ端末200がコンテンツ配信チャンネルch1のB122の位置からコンテンツ配信チャンネルch2のB211の位置へ接続を切り替えると、接続制御手段としてのCPU202は、受信するストリームデータの蓄積先をリングバッファ231からリングバッファ232へと切り替える。そして、新たに受信するチャンネルch2のストリームデータはリングバッファ232に蓄積される。
【0124】
接続切り替え前に蓄積されたコンテンツ配信チャンネルch1のストリームデータは、継続して、下流側のユーザ端末C2111,C2112(C1221,C1222)へ供給する。
【0125】
図12(b)において、上流端末A12からストリームデータが供給されなくなるので、蓄積制御手段としてのCPU202の書き込み位置(上流端末から受信中のストリームデータ)は停止する。
【0126】
接続切り替え前にリングバッファ231内に蓄積されたストリームデータを下流端末C2111,C2112(C1221,C1222)へ供給するので、蓄積制御手段としてのCPU202がリングバッファ231から読み込む読み込み位置(下流端末へ送信中のストリームデータ)が蓄積制御手段としてのCPU202がリングバッファ231へ書き込む書き込み位置に徐々に近づく。
【0127】
蓄積制御手段としてのCPU202がリングバッファ231から読み込む読み込み位置が蓄積制御手段としてのCPU202がリングバッファ231へ書き込む書き込み位置に追いついたとき、リングバッファ231内のデータを完全に放出したことになるので、下流端末C2111,C2112へのストリームデータの供給が停止する。
【0128】
下流端末C2111,C2112では、上流B211からのストリームデータの途絶を検知すると、コンテンツ配信チャンネルch1における新しい上流端末へ再接続する。
【0129】
なお、受信ストリームの途絶検知から再接続完了までは数百ミリ秒かかるが、通常は再生手段としてのCPU202の再生位置が蓄積制御手段としてのCPU202の書き込み位置に追いつくまでに処理を完了できるので、コンテンツの再生が途切ることはない。
【0130】
このときの自端末B211及び下流端末C2111(又はC2112)のリングバッファの様子を図13を用いて以下に説明する。
【0131】
図13は自端末B211のリングバッファの様子を上段に示し、下流端末C2111のリングバッファの様子を下段に示している。
【0132】
定常状態では、自端末B211のリングバッファ及び下流端末C2111のリングバッファのいずれにおいても上流端末からの受信位置(A)、下流端末への送信位置(B)、コンテンツの再生位置(C)が一定の間隔を保って時計回りに動いている。この図では、自端末B211における下流端末C2111への送信位置(B)と下流端末C2111における上流端末B211からの受信位置(A)とを同じ位置とすることで対応関係を明確にしている。
【0133】
自端末がコンテンツ配信チャンネルch1のB122の位置からコンテンツ配信チャンネルch2のB211の位置へ接続を切り替えると、チャンネルch1用のリングバッファでは(A)の動きが止まり、(B)が(A)に追いつくまで近づいていく。
【0134】
下流端末C2111,C2112(C1221,C1222)においては、自端末B122(B211)がコンテンツ配信チャンネルch1からコンテンツ配信チャンネルch2へ接続を切り替えても、上流である自端末B211からのストリーム受信の途絶を検知するまでは定常状態にある。
【0135】
自端末B211において(A)と(B)が重なった状態は、自端末B211がコンテンツ配信チャンネルch1に関するストリームデータを下流端末C2111,C2112へ供給できなくなったことを意味する。この状態になったとき、下流端末C2111,C2112ではストリーム受信が途絶したと判断し、コンテンツ配信チャンネルch1へ再接続する動作に移る。
【0136】
次に、下流端末がストリーム受信の途絶を検知したときの様子を図14を用いてパケットレベルで詳説する。図14の上段は定常状態におけるストリームデータの中継の様子を、下段はストリーム途絶検知状態におけるストリームデータの中継の様子を示している。
【0137】
上段に示す定常状態では、上流端末からの受信位置(A)、下流端末への送信位置(B)、ストリームデータの再生位置(C)が一定の間隔を保って移動している。
【0138】
一方、下段に示すストリーム途絶検知状態では、パケット6を受信した段階で下流端末の(A)が停止すると、(B)と(A)及び(C)と(A)の間隔が徐々に狭まる。この状態が続くと(C)が(A)に重なり下流端末においてコンテンツの再生が途切れるが、(C)が(A)に重なる前に上流端末との再接続が完了すればコンテンツの再生が途切れない。
【0139】
ここで、下流端末がストリーム受信の途絶を検知したとき、コンテンツ配信チャンネルch1の上流端末(下流端末が再接続しようとする端末)では、下流端末が次に受信すべきパケット(パケット7)よりも(B)が前方へ進んでいる。従って、下流端末の要求に応じて上流端末がストリーミングを開始するときは、下流端末に対する送信位置が(B)に追いつくように、上流端末は初回のみバルク転送(パケットを連続して一気に送る方式)を行う必要が生じる(図9におけるS903)。バルク転送によって下流への送信位置が(B)に追いついたとき、以降の送信は定常状態と同じになる。
【0140】
[5.タイムアウト値設定]
放送局端末を最上位としたツリー型トポロジーのコンテンツ配信チャンネルにおいて、仮に各階層のユーザ端末においてストリームデータの途絶を検知する時間間隔であるタイムアウト値が同一であるとき、接続切り替えを行ったユーザ端末の下位に配置された下流端末すべての接続関係が同時に壊れる可能性がある。即ち、ツリー型トポロジーの1箇所において接続切り替えの事象が生じたときに、下流側に接続している複数のユーザ端末においても(階層レベルの相違にかかわらず)同時にストリーム途絶を検知する可能性がある。
【0141】
従って、接続切り替え通知(トポロジー変動通知)を同時に送信させない本発明の目的から、本実施形態のツリー型トポロジーのコンテンツ配信チャンネルにおいては、下流レベルほど(階層レベルが深くなるほど)ストリーム途絶検知までのタイムアウト値を大きくすることでストリーム途絶を検知しにくい構造としている。
【0142】
具体的には、接続態様管理装置としての接続先紹介サーバ400は、放送局端末X1,X2からの中継数(階層レベル)に応じて、ストリームデータの途絶を検知する時間間隔であるタイムアウト値を各ユーザ端末A11,A12及びA21,A22,B121,B122及びB211,B212,C1221,C1222及びC2111,C2112に設定するタイムアウト値設定手段としてのCPU402と、各ユーザ端末にタイムアウト値を含む接続先情報を送信する接続先情報送信手段としてのネットワークインタフェース404とを設けている。
【0143】
これにより、階層レベルに応じて異なるタイムアウト値を設定するので、例えば、ユーザ端末A12がコンテンツ配信チャンネルch1からコンテンツ配信チャンネルch2のA21の位置へと接続切り替えを行ったとき、接続切り替えを行ったユーザ端末A12(A21)とその下流端末(ユーザ端末)B122(B211),C1221,C1222(C2111,C2112)はそれぞれ階層レベルに応じて異なるタイミングで接続関係から離れることになり、接続切り替え通知を分散させることができる。
【0144】
また、ユーザ端末がコンテンツ配信チャンネルch1のB122からコンテンツ配信チャンネルch2のB211の位置へと接続切り替えを行ったとき、トポロジーデータベース408において、ユーザ端末B211は接続に使用しないユーザ端末(接続不可ノード装置)として記憶される。トポロジーデータベース408の記憶内容に基づいて、接続先ノード装置の候補は決定され接続先情報が送信されるので、ユーザ端末B211の下流には新たなユーザ端末は接続されない。
【0145】
すなわち接続切り替え直後の状態では、B211のリングバッファ232にはch2に関するストリームデータが充分に蓄積されておらず、ch2における新たな接続先としては不適な状態にあるので、このような処置がとられる。これにより、例えば、短時間のうちにチャンネル間を往復するような接続切り替え操作(ザッピング)が行われても、ユーザ端末B211の下流には新たなユーザ端末が接続されないので、ユーザ端末B211が元のチャンネル(コンテンツ配信チャンネルch1)に戻るとき下流端末の接続切り替え通知が発生しない。また、次々と異なるチャンネルへ移動していく操作(チャンネルホッピング)が行われても、下流端末がストリームの途絶を検知するまでは下流端末の接続切り替え通知が発生しない。この特長によって不要なトポロジー変動通知の伝播を抑制できるので、結果としてネットワークに負荷を与えない。
【0146】
更に、ユーザ端末B122がコンテンツ配信チャンネルch2のB211の位置へと接続切り替えを行ったとき、所定時間が経過するまでコンテンツ配信チャンネルch1のB122の位置はユーザ端末B211以外のユーザ端末の接続に使用させない。
【0147】
これにより、例えば、ザッピングによってユーザ端末B211がコンテンツ配信チャンネルch1の元の位置(B122)に戻るとき、ツリー型トポロジーの変動が起こらず、その結果、不要なトポロジー変動通知の伝播を抑制できる。
【0148】
ここで、ユーザ端末B122はコンテンツ配信チャンネルch2のB211の位置へと接続切り替えを行ったとき、接続切り替え前のコンテンツ配信チャンネルch1に関するストリームデータを下流側に接続しているユーザ端末C2111及びC2112(切り替え前のC1221及びC1222)へ転送することが完了するまで、又は、所定時間が経過するまで、トポロジーデータベース408は、ユーザ端末C2111及びC2112及び更にその下流のユーザ端末等を接続不可ノード装置として記憶する。
【0149】
このような制御は、コンテンツ配信チャンネルch1に関するストリームデータの転送が完了した後、下流端末C2111及びC2112等はコンテンツ配信チャンネルch1へ接続切り替えを行うことを考慮したものである。
【0150】
上記実施の形態は以下の効果を有する。
【0151】
上記実施の形態では、あるユーザ端末が接続を切り替えて別のコンテンツ配信チャンネルに移っても、接続切り替え前のコンテンツ配信チャンネルのストリームデータを下流に接続しているユーザ端末に継続して送信するので、下流端末がストリームデータの途絶を検知する前に、当該接続を切り替えたユーザ端末が元のコンテンツ配信チャンネルに戻ってくれば、当該下流端末では上位端末(前記接続切り替えを行ったユーザ端末)の接続切り替えとは無関係にストリームデータを受信できる。即ち、上位端末の接続切り替えを起因として下流端末が接続切り替えを行う必要がないので、当該下流端末が接続先紹介サーバに対して新しい接続先の紹介要求等をしない。よって、トポロジーツリーが壊れにくく、単位時間当たりに発生するトポロジー変動通知の量を抑制することができるので、コンテンツ配信ネットワークシステム全体では通信負荷が軽減される。
【0152】
上記実施の形態では、あるユーザ端末が接続を切り替えて別のコンテンツ配信チャンネルに移った場合、その下流に接続しているユーザ端末は、階層レベルに応じたタイムアウト値が設定されるので、下流端末のすべてがストリームデータの途絶を同時に検知することはない。よって、下流端末が接続先紹介サーバに対して異なるタイミングで新しい接続先の紹介要求等をするので、結果として、コンテンツ配信ネットワークシステム全体では通信負荷が軽減される。
【0153】
上記実施の形態では、あるユーザ端末がチャンネルホッピングをしても、当該ユーザ端末とその下流端末とは所定時間接続関係を維持するので、当該ユーザ端末の接続変動の度に当該下流端末が新しい接続先の紹介要求等をすることはない。よって、不要なトポロジー変動通知を生じさせず、トポロジーツリーが壊れにくい。更に、不要なトポロジー変動通知の伝播を抑制でき、コンテンツ配信ネットワークシステム全体では通信負荷が軽減される。
【0154】
上記実施の形態では、あるユーザ端末が接続を切り替えて別のコンテンツ配信チャンネルに移っても、継続して接続切り替え前のコンテンツ配信チャンネルのストリームデータを下流に接続しているユーザ端末に送信する。よって、別のコンテンツ配信チャンネルに移った後も、接続切り替え前のコンテンツ配信チャンネルとの接続関係を維持することで下流端末へストリームデータの送信を続ける場合よりも、上位端末との接続数が少ないので、コンテンツ配信ネットワークシステム全体では通信負荷が軽減される。特に、ザッピングやチャンネルホッピングの場合に通信負荷軽減の効果が顕著に現われる。
【0155】
なお、本発明の実施の形態は上記に限定されるものではなく、例えば以下のように変形してもよい。
【0156】
上記実施の形態では、放送局端末X1,X2からの中継数(階層レベル)に応じてタイムアウト値を設定し、階層レベルに応じた異なるタイミングで接続関係から離れることとして接続切り替え通知を分散させたが、それに限定されることなく、同じ階層レベルにおいて異なるタイムアウト値を設定するようにしても良い。
【0157】
例えば、接続態様管理装置としての接続先紹介サーバ400において、タイムアウト値設定手段としてのCPU402は、放送局端末X1,X2からの中継数(階層レベル)が同じである複数のユーザ端末に異なるタイムアウト値を設定するようにしても良い。
【0158】
これにより、同じ階層レベルであるユーザ端末B211とB212、ユーザ端末C2111とC2112は異なるタイムアウト値が設定されるので、同じ階層レベルにおいても異なるタイミングで接続関係から離れることになる。よって、接続切り替え通知が分散され、結果としてネットワークの負荷が軽減される。
【0159】
上記実施の形態では、ユーザ入力用リモコン223の操作によってコンテンツ配信チャンネルch1からチャンネルch2へのチャンネル切り替えが指示された場合を説明したが、これに限定されることはない。例えば、タイマー設定や予約した番組への自動切換えなど機会が自動的にチャンネルを選択する場合であっても適用は可能である。
【0160】
上記実施の形態では、放送局端末を最上位としたツリー型トポロジーのコンテンツ配信チャンネルに適用した例として本発明を説明したが、これに限定されるものではなく、例えば、ピアツーピア(Peer to Peer:P2P)の接続形式のストリームデータ配信システムであっても適用は可能である。
【0161】
この変形例の場合、ユーザ端末A12は、下流側に接続している下流側に接続しているユーザ端末B122が接続から外れたとき、所定時間が経過するまで当該接続から外れたユーザ端末B122の接続箇所を、ユーザ端末B122以外のユーザ端末の接続に使用しないようにすればよい。
【0162】
上記実施の形態において、図6乃至図11に示すフローチャートに対応するプログラムをフレキシブルディスク等の記録媒体に記録しておき、又は、インターネット等のネットワークを介して取得して記録しておき、これらをノード装置又は送信装置としてのユーザ端末、送信装置としての放送局端末、接続態様管理装置としての接続先紹介サーバのそれぞれに内蔵されたマイクロコンピュータ等のコンピュータで読み出して実行させることも可能である。
【産業上の利用可能性】
【0163】
以上に説明したように、本発明は、放送局端末を最上位としたツリー型トポロジー(構造)のストリームデータ配信システムに好適であるが、これに限定されるものではなく、ピアツーピア(Peer to Peer:P2P)の接続形式のストリームデータ配信システムにも適用することが可能である。
【符号の説明】
【0164】
S:ストリームデータ配信ネットワークシステム
ch1,ch2:コンテンツ配信チャンネル
1,X2:放送局端末
11,A12及びA21,A22:ユーザ端末
121,B122及びB211,B212:ユーザ端末
1221,C1222,C2111,C2112:ユーザ端末
200:ユーザ端末
201:システムバス
202:CPU
204:暗号デコード用アクセラレータ
205:ネットワークインタフェース
206:主記憶装置
207:周辺機器制御チップ
208:ICカードスロット
209:赤外線ポート
210:ビデオチップ
211:内蔵ディスプレイ
212:音源チップ
213:内蔵スピーカ
214:DRM(Digital Rights Management:デジタル著作権管理)モジュール(プログラム)
215:ストリーム制御プログラム
216:トポロジー制御プログラム
217:オペレーティングシステム
218:画面制御プログラム
219:音声デコーダ
220:ICカード
221:コンテンツ復号鍵
222:デジタル証明書
223:ユーザ入力用リモコン
224:ルータ
231:リングバッファ
232:リングバッファ
300:放送局端末
301:システムバス
302:CPU
303:ハードディスク装置
304:暗号用アクセラレータ
305:ネットワークインタフェース
306:主記憶装置
307:周辺機器制御チップ
308:ICカードスロット
309:ビデオチップ
312:放送用コンテンツ
313:DRMモジュール(プログラム)
314:ストリーム制御プログラム
315:トポロジー制御プログラム
316:オペレーティングシステム
317:画面制御プログラム
319:ICカード
320:コンテンツ暗号鍵
321:デジタル証明書
322:キーボード
323:マウス
324:ディスプレイ
325:ルータ
400:接続先紹介サーバ
401:システムバス
402:CPU
403:ハードディスク装置
404:ネットワークインタフェース
405:主記憶装置
406:周辺機器制御チップ
407:ビデオチップ
408:トポロジーデータベース
409:端末管理データベース
410:端末認証プログラム
411:接続先紹介プログラム
412:オペレーティングシステム
413:運用情報管理プログラム
414:キーボード
415:マウス
416:ディスプレイ
417:ルータ

【特許請求の範囲】
【請求項1】
ストリームデータを配信する複数の送信装置と、前記複数の送信装置のうち、選択された送信装置に接続し、前記ストリームデータを下流側に接続しているノード装置へ中継する複数のノード装置と、を有するストリームデータ配信システムにおける接続態様を管理する接続態様管理装置において、
前記下流側に接続している前記ノード装置が接続から外れたとき、接続から外れたノード装置を、再接続が完了するか又は所定時間が経過するまで前記接続に使用しないノード装置である接続不可ノード装置として記憶する記憶手段と、
前記記憶手段に記憶された前記接続不可ノード装置に基づいて、接続に使用できる前記ノード装置である接続先ノード装置を決定する接続先ノード装置決定手段と、
前記決定された接続先ノード装置を含む接続先情報を前記ノード装置に送信する接続先情報送信手段と、
を備えることを特徴とする接続態様管理装置。
【請求項2】
請求項1に記載された接続態様管理装置において、
前記接続先ノード装置決定手段は、前記接続から外れたノード装置が他の送信装置側へ接続を切り替えたとき、接続を切り替えたノード装置の接続箇所を、所定時間が経過するまで、接続を切り替えたノード装置以外の前記ノード装置の接続に使用しないことを特徴とする接続態様管理装置。
【請求項3】
請求項2に記載された接続態様管理装置において、
前記ノード装置が他の送信装置側へ接続を切り替えたとき、接続切り替え前の前記送信装置から受信したストリームデータを前記下流側に接続しているノード装置への転送が完了するまで、又は、所定時間が経過するまで、前記記憶手段は、接続を切り替えたノード装置を前記接続不可ノード装置として記憶することを特徴とする接続態様管理装置。
【請求項4】
請求項3に記載された接続態様管理装置において、
前記ノード装置が他の送信装置側へ接続を切り替えたとき、接続切り替え前の前記送信装置から受信したストリームデータの前記下流側に接続しているノード装置への転送が完了するまで、又は、所定時間が経過するまで、前記記憶手段は、接続を切り替えた前記ノード装置の下流側に接続している前記ノード装置を前記接続不可ノード装置として記憶することを特徴とする接続態様管理装置。
【請求項5】
請求項1から請求項4の何れか1項に記載された接続態様管理装置において、
配信の起点となる前記送信装置からの中継数に応じて、前記ストリームデータの途絶を検知するまでの判定時間であるタイムアウト値を前記ノード装置に設定するタイムアウト値設定手段を更に備え、
前記接続先情報送信手段は、前記ノード装置に前記タイムアウト値を含む前記接続先情報を送信することを特徴とする接続態様管理装置。
【請求項6】
ストリームデータを配信する複数の送信装置と、前記複数の送信装置のうち、選択された送信装置に接続し、前記ストリームデータを下流側に接続しているノード装置へ中継する複数のノード装置と、を有するストリームデータ配信システムにおける接続態様を管理する接続態様管理装置における接続態様管理方法において、
前記下流側に接続している前記ノード装置が接続から外れたとき、接続から外れたノード装置を、再接続が完了するか又は所定時間が経過するまで前記接続に使用しないノード装置である接続不可ノード装置として記憶する記憶手段に記憶させる記憶工程と、
前記記憶工程において記憶された前記接続不可ノード装置に基づいて、接続に使用できる前記ノード装置である接続先ノード装置を決定する接続先ノード装置決定工程と、
前記決定された接続先ノード装置を含む接続先情報を前記ノード装置に送信する接続先情報送信工程と、
を含むことを特徴とする接続態様管理方法。
【請求項7】
ストリームデータを配信する複数の送信装置と、前記複数の送信装置のうち、選択された送信装置に接続し、前記ストリームデータを下流側に接続しているノード装置へ中継する複数のノード装置と、を有するストリームデータ配信システムにおける接続態様を管理する接続態様管理装置に含まれるコンピュータに、
前記下流側に接続している前記ノード装置が接続から外れたとき、接続から外れたノード装置を、再接続が完了するか又は所定時間が経過するまで前記接続に使用しないノード装置である接続不可ノード装置として記憶する記憶手段に記憶させる記憶ステップと、
前記記憶ステップにおいて記憶された前記接続不可ノード装置に基づいて、接続に使用できる前記ノード装置である接続先ノード装置を決定する接続先ノード装置決定ステップと、
前記決定された接続先ノード装置を含む接続先情報を前記ノード装置に送信する接続先情報送信ステップと、
を実行させることを特徴とする接続態様管理プログラム。

【図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


【公開番号】特開2010−283877(P2010−283877A)
【公開日】平成22年12月16日(2010.12.16)
【国際特許分類】
【出願番号】特願2010−183987(P2010−183987)
【出願日】平成22年8月19日(2010.8.19)
【分割の表示】特願2005−148251(P2005−148251)の分割
【原出願日】平成17年5月20日(2005.5.20)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】