(57)【要約】【課題】上流ノード（送信装置又はノード装置）の接続切り替えに伴って、その下流端末との接続状態を変更する場合のネットワークの通信負荷を低減させるノード装置、及び、接続態様管理装置、ストリームデータ配信システム、並びに、接続切り替え方法を提供する。【解決手段】下流側に接続しているノード装置が接続から外れたとき、接続から外れたノード装置を、再接続が完了するか又は所定時間が経過するまで接続に使用しないノード装置である接続不可ノード装置として記憶する記憶手段と、記憶手段に記憶された接続不可ノード装置に基づいて、接続に使用できるノード装置である接続先ノード装置を決定する接続先ノード装置決定手段と、決定された接続先ノード装置を含む接続先情報をノード装置に送信する接続先情報送信手段と、を備える。【選択図】図１
2010283877.tif 000002
【特許請求の範囲】
【請求項１】
ストリームデータを配信する複数の送信装置と、前記複数の送信装置のうち、選択された送信装置に接続し、前記ストリームデータを下流側に接続しているノード装置へ中継する複数のノード装置と、を有するストリームデータ配信システムにおける接続態様を管理する接続態様管理装置において、
前記下流側に接続している前記ノード装置が接続から外れたとき、接続から外れたノード装置を、再接続が完了するか又は所定時間が経過するまで前記接続に使用しないノード装置である接続不可ノード装置として記憶する記憶手段と、
前記記憶手段に記憶された前記接続不可ノード装置に基づいて、接続に使用できる前記ノード装置である接続先ノード装置を決定する接続先ノード装置決定手段と、
前記決定された接続先ノード装置を含む接続先情報を前記ノード装置に送信する接続先情報送信手段と、
を備えることを特徴とする接続態様管理装置。
【請求項２】
請求項１に記載された接続態様管理装置において、
前記接続先ノード装置決定手段は、前記接続から外れたノード装置が他の送信装置側へ接続を切り替えたとき、接続を切り替えたノード装置の接続箇所を、所定時間が経過するまで、接続を切り替えたノード装置以外の前記ノード装置の接続に使用しないことを特徴とする接続態様管理装置。
【請求項３】
請求項２に記載された接続態様管理装置において、
前記ノード装置が他の送信装置側へ接続を切り替えたとき、接続切り替え前の前記送信装置から受信したストリームデータを前記下流側に接続しているノード装置への転送が完了するまで、又は、所定時間が経過するまで、前記記憶手段は、接続を切り替えたノード装置を前記接続不可ノード装置として記憶することを特徴とする接続態様管理装置。
【請求項４】
請求項３に記載された接続態様管理装置において、
前記ノード装置が他の送信装置側へ接続を切り替えたとき、接続切り替え前の前記送信装置から受信したストリームデータの前記下流側に接続しているノード装置への転送が完了するまで、又は、所定時間が経過するまで、前記記憶手段は、接続を切り替えた前記ノード装置の下流側に接続している前記ノード装置を前記接続不可ノード装置として記憶することを特徴とする接続態様管理装置。
【請求項５】
請求項１から請求項４の何れか１項に記載された接続態様管理装置において、
配信の起点となる前記送信装置からの中継数に応じて、前記ストリームデータの途絶を検知するまでの判定時間であるタイムアウト値を前記ノード装置に設定するタイムアウト値設定手段を更に備え、
前記接続先情報送信手段は、前記ノード装置に前記タイムアウト値を含む前記接続先情報を送信することを特徴とする接続態様管理装置。
【請求項６】
ストリームデータを配信する複数の送信装置と、前記複数の送信装置のうち、選択された送信装置に接続し、前記ストリームデータを下流側に接続しているノード装置へ中継する複数のノード装置と、を有するストリームデータ配信システムにおける接続態様を管理する接続態様管理装置における接続態様管理方法において、
前記下流側に接続している前記ノード装置が接続から外れたとき、接続から外れたノード装置を、再接続が完了するか又は所定時間が経過するまで前記接続に使用しないノード装置である接続不可ノード装置として記憶する記憶手段に記憶させる記憶工程と、
前記記憶工程において記憶された前記接続不可ノード装置に基づいて、接続に使用できる前記ノード装置である接続先ノード装置を決定する接続先ノード装置決定工程と、
前記決定された接続先ノード装置を含む接続先情報を前記ノード装置に送信する接続先情報送信工程と、
を含むことを特徴とする接続態様管理方法。
【請求項７】
ストリームデータを配信する複数の送信装置と、前記複数の送信装置のうち、選択された送信装置に接続し、前記ストリームデータを下流側に接続しているノード装置へ中継する複数のノード装置と、を有するストリームデータ配信システムにおける接続態様を管理する接続態様管理装置に含まれるコンピュータに、
前記下流側に接続している前記ノード装置が接続から外れたとき、接続から外れたノード装置を、再接続が完了するか又は所定時間が経過するまで前記接続に使用しないノード装置である接続不可ノード装置として記憶する記憶手段に記憶させる記憶ステップと、
前記記憶ステップにおいて記憶された前記接続不可ノード装置に基づいて、接続に使用できる前記ノード装置である接続先ノード装置を決定する接続先ノード装置決定ステップと、
前記決定された接続先ノード装置を含む接続先情報を前記ノード装置に送信する接続先情報送信ステップと、
を実行させることを特徴とする接続態様管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、接続態様管理装置、接続態様管理方法、及び、接続態様管理プログラムの技術分野に係り、特に、ノード装置が接続切り替えを行う際のストリームデータ配信システム全体への通信負荷の低減を図る接続態様管理装置、接続態様管理方法、及び、接続態様管理プログラムの技術分野に属する。
【背景技術】
【０００２】
ツリー型トポロジー（構造）のネットワークでストリームデータ配信をチャンネル毎に管理する管理方式において、ユーザノードがチャンネルを切り替える際には、主に以下の二つの通知方法が採用されていた。
（ａ）  自ノードの下流側に接続しているノードに対し、自ノードがチャンネルを脱退することを通知するとともに、新しい接続先を探索するように促す方法
（ｂ）  自ノードが上流ノードを介して新しい接続先を探索し、探索した接続先を下流ノードへ紹介してから脱退する方法
しかし、いずれの場合もチャンネル切り替えを契機として、即時にトポロジー情報の変動を近隣ノードへ通知することで、チャンネル切り替え後のストリーム配信が確実に行われることを保証していた。
【０００３】
トポロジー変動を通知して接続先を切り替える方式の類例として、障害検知時の接続先切り替え方式が挙げられる（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３４１５７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１に開示された発明は、本発明と同様ストリームデータ配信に関するものであるが、明細書の中で述べられているように、障害発生時の回復時間を短縮する観点からトポロジー状態の変化を即時に下流ノードへ通知することを特徴としている。
【０００６】
しかしながら、多数のユーザノードがコンテンツ配信システムに参加している状態で、チャンネル切り替えによって頻繁にノードの脱退と参加が繰り返されるような状況を考えると、チャンネル切り替えの都度、トポロジー変動通知を即時に送受信するような従来型の制御方式は、システム全体としてみたときにネットワークに通信負荷を与えるものとなる。
【０００７】
そこで本発明は、上記問題点を解決するために、上流ノード（送信装置又はノード装置）の接続切り替えに伴って、その下流端末との接続状態を変更する場合のネットワークの通信負荷を低減させる接続態様管理装置、接続態様管理方法、及び、接続態様管理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００８】
以下、本発明について上記課題を解決するための手段を説明する。なお、本発明の理解を容易にするために添付図面の参照符号を付記するが、それにより本発明が図示の形態に限定されるものではない。
【０００９】
上記課題を解決するために、請求項１にかかる接続態様管理装置は、ストリームデータを配信する複数の送信装置と、前記複数の送信装置のうち、選択された送信装置に接続し、前記ストリームデータを下流側に接続しているノード装置としてのユーザ端末２００へへ中継する複数のノード装置と、を有するストリームデータ配信システムとしてのストリームデータ配信ネットワークシステムＳにおける接続態様を管理する接続態様管理装置としての接続先紹介サーバ４００において、前記下流側に接続している前記ノード装置が接続から外れたとき、接続から外れたノード装置を、再接続が完了するか又は所定時間が経過するまで前記接続に使用しないノード装置である接続不可ノード装置として記憶する記憶手段としてのトポロジーデータベース４０８と、前記記憶手段に記憶された前記接続不可ノード装置に基づいて、接続に使用できる前記ノード装置である接続先ノード装置を決定する接続先ノード装置決定手段としてのＣＰＵ４０２と、前記決定された接続先ノード装置を含む接続先情報を前記ノード装置に送信する接続先情報送信手段としてのネットワークインタフェース４０４と、を備えることを特徴とする。
【００１０】
請求項１に係る発明によれば、接続切り替え直後でリングバッファにストリームデータを蓄積していないノード装置は接続先として選択されない。これにより、例えば、短時間のうちにチャンネル間を往復するような接続切り替え操作（ザッピング）の場合、この接続切り替えを行ったノード装置の下流には他のノード装置が接続しないので、下流端末の接続切り替え通知が発生しない。また、次々と異なるチャンネルへ移動していく操作（チャンネルホッピング）の場合も、下流端末の接続切り替え通知が発生しない。その結果、不要なトポロジー変動通知の伝播を抑制することに繋がるので、結果としてネットワークに負荷を与えない。
【００１１】
請求項２にかかる接続態様管理装置は、請求項１に記載された接続態様管理装置において、前記接続先ノード装置決定手段は、前記接続から外れたノード装置が他の送信装置側へ接続を切り替えたとき、接続を切り替えたノード装置の接続箇所を、所定時間が経過するまで、接続を切り替えたノード装置以外の前記ノード装置の接続に使用しないことを特徴とする。
【００１２】
請求項２に係る発明によれば、例えば、ザッピングによってノード装置が元のチャンネルに戻るとき、ツリー型トポロジーの変動が起こらず、その結果、不要なトポロジー変動通知の伝播を抑制できる。
【００１３】
請求項３にかかる接続態様管理装置は、請求項２に記載された接続態様管理装置において、前記ノード装置が他の送信装置側へ接続を切り替えたとき、接続切り替え前の前記送信装置から受信したストリームデータを前記下流側に接続しているノード装置への転送が完了するまで、又は、所定時間が経過するまで、前記記憶手段は、接続を切り替えたノード装置を前記接続不可ノード装置として記憶することを特徴とする。
【００１４】
請求項３に係る発明によれば、ザッピング操作によってユーザ端末が元のチャンネルに戻るとき、ユーザ端末が元のチャンネルで利用していた接続先へ戻ることを保証できるので、別のチャンネルへ移動中に未受信となっていた元のチャンネルのパケットを過去に遡って受信要求する処理が実現可能となる。
【００１５】
請求項４にかかる接続態様管理装置は、請求項３に記載された接続態様管理装置において、前記ノード装置が他の送信装置側へ接続を切り替えたとき、接続切り替え前の前記送信装置から受信したストリームデータの前記下流側に接続しているノード装置への転送が完了するまで、又は、所定時間が経過するまで、前記記憶手段は、接続を切り替えた前記ノード装置の下流側に接続している前記ノード装置を前記接続不可ノード装置として記憶することを特徴とする。
【００１６】
請求項４に係る発明によれば、近い将来接続切り替えを行う下流端末の更に下流に新たなユーザ端末の接続を避けることができる。
【００１７】
請求項５にかかる接続態様管理装置は、請求項１から請求項４の何れか１項に記載された接続態様管理装置において、配信の起点となる前記送信装置としての放送局端末３００からの中継数に応じて、前記ストリームデータの途絶を検知するまでの判定時間であるタイムアウト値を前記ノード装置に設定するタイムアウト値設定手段としてのＣＰＵ４０２を更に備え、前記接続先情報送信手段は、前記ノード装置に前記タイムアウト値を含む前記接続先情報を送信することを特徴とする。
【００１８】
請求項５に係る発明によれば、中継数に応じて異なるタイムアウト値を設定するので、中継数が異なるユーザ端末はそれぞれその中継数に応じて異なるタイミングで接続関係から離れることになり、結果、システム全体としてみると接続切り替え通知を分散させることができる。
【００１９】
上記課題を解決するために、請求項６にかかる接続態様管理装置における接続態様管理方法は、ストリームデータを配信する複数の送信装置と、前記複数の送信装置のうち、選択された送信装置に接続し、前記ストリームデータを下流側に接続しているノード装置へ中継する複数のノード装置と、を有するストリームデータ配信システムにおける接続態様を管理する接続態様管理装置における接続態様管理方法において、前記下流側に接続している前記ノード装置が接続から外れたとき、接続から外れたノード装置を、再接続が完了するか又は所定時間が経過するまで前記接続に使用しないノード装置である接続不可ノード装置として記憶する記憶手段に記憶させる記憶工程と、前記記憶工程において記憶された前記接続不可ノード装置に基づいて、接続に使用できる前記ノード装置である接続先ノード装置を決定する接続先ノード装置決定工程と、前記決定された接続先ノード装置を含む接続先情報を前記ノード装置に送信する接続先情報送信工程と、を含むことを特徴とする。
【００２０】
上記課題を解決するために、請求項７にかかる接続態様管理装置の接続態様管理プログラムは、ストリームデータを配信する複数の送信装置と、前記複数の送信装置のうち、選択された送信装置に接続し、前記ストリームデータを下流側に接続しているノード装置へ中継する複数のノード装置と、を有するストリームデータ配信システムにおける接続態様を管理する接続態様管理装置に含まれるコンピュータに、前記下流側に接続している前記ノード装置が接続から外れたとき、接続から外れたノード装置を、再接続が完了するか又は所定時間が経過するまで前記接続に使用しないノード装置である接続不可ノード装置として記憶する記憶手段に記憶させる記憶ステップと、前記記憶ステップにおいて記憶された前記接続不可ノード装置に基づいて、接続に使用できる前記ノード装置である接続先ノード装置を決定する接続先ノード装置決定ステップと、前記決定された接続先ノード装置を含む接続先情報を前記ノード装置に送信する接続先情報送信ステップと、を実行させることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、接続切り替え直後でリングバッファにストリームデータを蓄積していないノード装置は接続先として選択されない。これにより、例えば、短時間のうちにチャンネル間を往復するような接続切り替え操作（ザッピング）の場合、この接続切り替えを行ったノード装置の下流には他のノード装置が接続しないので、下流端末の接続切り替え通知が発生しない。また、次々と異なるチャンネルへ移動していく操作（チャンネルホッピング）の場合も、下流端末の接続切り替え通知が発生しない。その結果、不要なトポロジー変動通知の伝播を抑制することに繋がるので、結果としてネットワークに負荷を与えない。
【図面の簡単な説明】
【００２２】
【図１】図１に、本実施の形態に係るコンテンツ配信ネットワークシステムの概要構成を示している。
【図２】図２は、クライアント端末としてのユーザ端末２００の構成概要を示す。
【図３】図３は、送信装置としての放送局端末３００の構成概要を示す。
【図４】図４は、接続態様管理装置としての接続先紹介サーバ４００の構成概要を示す。
【図５】図５は、任意のユーザ端末２００は接続の切り替えに関する状態遷移を示す。
【図６】図６は、接続切り替え時の全体シーケンスを示す。
【図７】図７は自端末Ｂ122（Ｂ211）から見たチャンネル切り替えの流れを示す。
【図８】図８は下流側のユーザ端末（下流端末）Ｃ2111，Ｃ2112（Ｃ1221，Ｃ1222）から見たチャンネル切り替えの流れを示す。
【図９】図９は上流端末Ａ12，Ａ21から見たチャンネル切り替えの流れを示す。
【図１０】図１０は接続先紹介サーバ４００におけるトポロジー変動通知受信時の処理を示す。
【図１１】図１１は接続先紹介サーバ４００における接続先紹介要求受信時の処理を示す。
【図１２】図１２は、接続切り替え後のチャンネル１に関するリングバッファ２３１の動作を示す。図１２は、接続切り替え時の制御を示す図１２（ａ）と、リングバッファの読み込みと書き込みの関係を示す図１２（ｂ）とから構成される。
【図１３】図１３は、このときの自端末Ｂ211及び下流端末Ｃ2111（又はＣ2112）のリングバッファの様子を示す。
【図１４】図１４は、下流端末がストリーム受信の途絶を検知したときの様子を示す。
【発明を実施するための形態】
【００２３】
以下、本発明に係るストリームデータ配信ネットワークの最良の形態を、ストリームデータ配信チャンネルが二つの場合を例として図面を用いて説明する。
【００２４】
［１．ストリームデータ配信ネットワークシステムの構成］
図１に、本実施の形態に係るストリームデータ配信ネットワークシステムの概要構成を示している。
【００２５】
本実施の形態に係るストリームデータ配信ネットワークシステムＳは二つのコンテンツ配信チャンネルｃｈ１，ｃｈ２を有している。各コンテンツ配信チャンネルｃｈ１，ｃｈ２の最上位階層（最上流）には送信装置としての放送局端末Ｘ1，Ｘ2が配されている。放送局端末Ｘ1，Ｘ2から一段下位（下流側）の第１階層にはそれぞれ二つのノード装置としてのユーザ端末Ａ11，Ａ12及びＡ21，Ａ22が配され、第１階層のノードＡ12及びＡ21から一段下位の第２階層にはそれぞれ更にノード装置としてのユーザ端末Ｂ121，Ｂ122及びＢ212が配されている。
【００２６】
このようにして、送信装置としての放送局端末Ｘ1，Ｘ2を最上位としたツリー型トポロジー（構造）のコンテンツ配信チャンネルを形成し、更に、複数のコンテンツ配信チャンネルの接続状況を管理する接続態様管理装置としての接続先紹介サーバ４００の下でストリームデータ配信システムとしてのストリームデータ配信ネットワークシステムＳを形成している。
【００２７】
本実施の形態では、かかる構成を有するコンテンツ配信チャンネルｃｈ１，ｃｈ２が二つ集まって、ストリームデータ配信ネットワークシステムＳが構成されている。
【００２８】
ここで、ノード装置としてのユーザ端末２００（Ａ11，Ａ12及びＡ21，Ａ22，Ｂ121，Ｂ122及びＢ212）は、図２に示すように、システムバス２０１、接続制御手段、再生手段、途絶検知手段、接続先情報取得手段、蓄積制御手段としてのＣＰＵ２０２、暗号デコード用アクセラレータ２０４、接続手段、受信手段、送信手段としてのネットワークインタフェース２０５、蓄積手段、第一蓄積手段、第二蓄積手段としての主記憶装置２０６、周辺機器制御チップ２０７、ＩＣカードスロット２０８、赤外線ポート２０９、再生手段としてのビデオチップ２１０、再生手段としての内蔵ディスプレイ２１１、再生手段としての音源チップ２１２、再生手段としての内蔵スピーカ２１３とを有して構成される。主記憶装置２０６は、第一蓄積手段としてのリングバッファ２３１及び第二蓄積手段としてのリングバッファ２３２を有している。主記憶装置２０６は、例えば、揮発性メモリであるＲＡＭ（Random Access Memory）で構成され、ＤＲＭ（Digital Rights Management：デジタル著作権管理）モジュール（プログラム）２１４、ストリーム制御プログラム２１５、トポロジー制御プログラム２１６、オペレーティングシステム２１７、再生手段としての画面制御プログラム２１８、再生手段としての音声デコーダ２１９とを有している。ＩＣカードスロット２０８及び赤外線ポート２０９は周辺機器制御チップ２０７と接続する。内蔵ディスプレイ２１１はビデオチップ２１０と接続し、内蔵スピーカ２１３は音源チップ２１２と接続する。
【００２９】
ＩＣカードスロット２０８には、コンテンツ復号鍵２２１及びデジタル証明書２２２を有するＩＣカード２２０が挿入されて接続し、赤外線ポート２０９はユーザ入力用リモコン２２３と通信し、ネットワークインタフェース２０５はルータ２２４と接続している。
【００３０】
そして、このユーザ端末２００は、ストリームデータ配信ネットワークシステムＳへ参加するとき、ユーザ端末２００の所在情報を後述する接続先紹介サーバ４００へ登録する参加機能と、ストリームデータ配信ネットワークシステムＳの上位階層（上流側）に位置するユーザ端末（又は放送局端末）から受信したストリームデータとしてのストリームデータを下位階層（下流側）に位置するユーザ端末へ送信（転送又は中継）する中継機能と、受信したコンテンツに施された著作権保護用の暗号を解除して、コード化されたストリームデータを再生する再生機能と、ある放送局端末の配下（コンテンツ配信チャンネル）から別の放送局端末の配下（コンテンツ配信チャンネル）へ移動することで、異なるストリームデータを受信する接続切り替え機能、の４つの機能を有している。ここで、所在情報とはユーザ端末を特定するための情報をいい、例えば、ＩＰアドレスとポート番号が該当する。
【００３１】
尚、以下の説明において、ストリームデータ配信ネットワークシステムＳ中でのユーザ端末の位置を示す必要があるときは符号Ａ11，Ａ12及びＡ21，Ａ22，Ｂ121，Ｂ122及びＢ211，Ｂ212などを用い、個々のユーザ端末を説明するときには符号２００を用いる。
【００３２】
送信装置としての放送局端末３００（Ｘ1，Ｘ2）は、図３に示すように、システムバス３０１、ＣＰＵ３０２、ハードディスク装置３０３、暗号用アクセラレータ３０４、ネットワークインタフェース３０５、主記憶装置３０６、周辺機器制御チップ３０７、ＩＣカードスロット３０８、ビデオチップ３０９、とを有して構成される。ハードディスク装置３０３は放送用コンテンツ３１２を蓄えている。放送用コンテンツ３１２は、ＭＰＥＧ方式などでデジタル圧縮されたエンコード済みの音声データである。主記憶装置３０６は、例えば、揮発性メモリであるＲＡＭで構成され、ＤＲＭモジュール（プログラム）３１３、ストリーム制御プログラム３１４、トポロジー制御プログラム３１５、オペレーティングシステム３１６、画面制御プログラム３１７、とを有している。ＩＣカードスロット３０８は周辺機器制御チップ３０７と接続する。
【００３３】
ＩＣカードスロット３０８には、コンテンツ暗号鍵３２０及びデジタル証明書３２１を有するＩＣカード３１９が挿入されて接続し、周辺機器制御チップ３０７はキーボード３２２及びマウス３２３と接続し、ビデオチップ３０９はディスプレイ３２４と接続する。ネットワークインタフェース３０５はルータ３２５と接続している。
【００３４】
そして、放送局端末３００は起動したとき、放送局端末３００の所在情報を接続先紹介サーバ４００へ登録する放送局登録機能と、ハードディスク装置３０３に格納されているファイル形式の放送用コンテンツを、著作権保護を目的として暗号化し、コンテンツのビットレートに応じた送出速度でストリームデータとしてのストリームデータを送信する配信機能とを有している。
【００３５】
尚、以下の説明において、ストリームデータ配信ネットワークシステムＳ中での放送局端末の位置を示す必要があるときは符号Ｘ1，Ｘ2などを用い、個々の放送局端末を説明するときには符号３００を用いる。
【００３６】
更に、接続態様管理装置としての接続先紹介サーバ４００は、図４に示すように、システムバス４０１、タイムアウト値設定手段、接続先ノード装置決定手段、記憶制御手段としてのＣＰＵ４０２、記憶手段としてのハードディスク装置４０３、接続先情報送信手段としてのネットワークインタフェース４０４、主記憶装置４０５、周辺機器制御チップ４０６、ビデオチップ４０７とを有して構成される。ハードディスク装置４０３は、記憶手段としてのトポロジーデータベース４０８、及び、端末管理データベース４０９を有している。主記憶装置４０５は、例えば、揮発性メモリであるＲＡＭで構成され、端末認証プログラム４１０、接続先紹介プログラム４１１、オペレーティングシステム４１２、運用情報管理プログラム４１３を有している。
【００３７】
周辺機器制御チップ４０６はキーボード４１４及びマウス４１５に接続している。ビデオチップ４０７はディスプレイ４１６に接続している。そして、ネットワークインタフェース４０４はルータ４１７に接続している。
【００３８】
そして、接続先紹介サーバ４００は、ユーザ端末２００がストリームデータ配信ネットワークシステムＳに参加するとき、当該ユーザ端末が参加する権限があることを認証する端末認証機能と、ユーザ端末及び放送局端末の所在情報を端末管理データベース４０９上で管理する端末管理機能と、各放送局端末３００への接続状況をトポロジーデータベース４０８上で管理するトポロジー管理機能と、ユーザ端末２００からの参加要求、チャンネル切り替え要求に対して適当な接続候補を検索し、検索結果を要求元へ返送する接続先紹介機能とを有している。
【００３９】
［２．ストリームデータ配信ネットワークシステムＳの機能］
次に、以上の構成を有するストリームデータ配信ネットワークシステムＳの機能を、構成要素毎に以下に説明する。
【００４０】
［２−１．ユーザ端末２００の機能］
＜参加機能＞
すべてのユーザ端末２００はストリームデータ配信ネットワークシステムＳへ参加する際、ユーザ端末２００の所在情報とともにＩＣカード２２０に記憶されているデジタル証明書２２２を接続先紹介サーバ４００へ送信する。接続先紹介サーバ４００では、端末認証プログラム４１０によってデジタル証明書２２２の有効性を判定し、問題が無ければ所在情報とデジタル証明書２２２のダイジェスト（ハッシュ値）を端末管理データベース４０９に登録する。この後、ユーザ端末２００がチャンネル切り替え等の要因で接続先紹介サーバ４００から接続先の紹介を受ける際は、デジタル証明書２２２のハッシュ値をセッションキーとして用いる。このセッションキーの概念を用いることで、ユーザ端末２００が接続先紹介サーバ４００へアクセスする度に認証を行わなくて済み、認証にかかる負荷を軽減できる。
【００４１】
＜中継機能＞
ユーザ端末はストリーム制御プログラム２１５を使って、上流端末（上流側のユーザ端末２００又は放送局端末３００）から送信されてくるストリームデータを下流側のユーザ端末へ転送（中継）する。例えば、上流方向に対する接続数が１つ、下流方向に対する接続数が２つあるときは、１つの上流端末から受信したストリームデータを同時に２つの下流側のユーザ端末へ転送（中継）する。
【００４２】
＜再生機能＞
上流端末から受信したストリームデータは、下流側のユーザ端末へ転送（中継）する中継目的の他、自ユーザ端末内部でストリームデータを再生する目的で用いられる。ストリームデータは通常著作権保護を目的として暗号化されているので、ユーザ端末２００では最初にストリームデータをＤＲＭモジュール２１４へ入力することで暗号を解除する。具体的には、ＤＲＭモジュール２１４がＩＣカード２２０に記憶されているコンテンツ復号鍵２２１を取り出し、これを暗号デコード用アクセラレータ２０４のパラメータとして用いることでストリームデータの暗号を解除する。次に、ストリームデータをデコードして再生するため、当該ストリームデータを音声デコーダ２１９へ入力し、コンテンツの生データ（非圧縮データ）を取り出す。最後にコンテンツの生データを音源チップ２１２へ入力することで、内蔵スピーカ２１３から音楽を再生する。尚、この例では音楽コンテンツを例に挙げて説明している。
【００４３】
＜接続切り替え機能＞
この点については後述する。
【００４４】
［２−２．放送局端末３００の機能］
＜放送局登録機能＞
放送局端末３００はストリームデータ配信ネットワークシステムＳ内で放送局を立ち上げる際、放送局端末３００の所在情報とともにＩＣカード３１９に記憶されているデジタル証明書３２１を接続先紹介サーバ４００へ送信する。接続先紹介サーバ４００では、端末認証プログラム４１０を使って当該デジタル証明書３２１の有効性を判定し、問題が無ければ所在情報とデジタル証明書３２１のダイジェスト（ハッシュ値）を端末管理データベース４０９に登録する。以降、放送局端末３００がトポロジー変動通知を行う等の要因で接続先紹介サーバ４００へアクセスする際は、デジタル証明書３２１のハッシュ値をセッションキーとして用いる。
【００４５】
＜配信機能＞
放送局端末３００はハードディスク装置３０３に記録してある放送用コンテンツ３１２を下流側のユーザ端末へ送信することで放送を行う。最初に、ＤＲＭモジュール３１３を用いてＩＣカード３１９に記録してあるコンテンツ暗号鍵３２０を取り出し、これを暗号用アクセラレータ３０４のパラメータとして用いることでコンテンツを暗号化する。次に、ストリーム制御プログラム３１４を使って、ファイル形式の暗号化済み放送用コンテンツを、コンテンツのビットレートに応じた速度でパケット化し、これを下流側のユーザ端末へ送信することで放送を行う。
【００４６】
［２−３．接続先紹介サーバ４００の機能］
＜端末認証機能＞
ユーザ端末２００の参加機能及び放送局端末３００の放送局登録機能の箇所で詳述しているので説明を省略する。
【００４７】
＜端末管理機能＞
ユーザ端末２００の参加機能及び放送局端末３００の放送局登録機能の箇所で詳述しているので説明を省略する。
【００４８】
＜トポロジー管理機能＞
ユーザ端末２００がストリームデータ配信ネットワークシステムＳに参加する場合、ユーザ端末２００がストリームデータ配信ネットワークシステムＳから脱退する場合、ユーザ端末２００がチャンネルを切り替えて接続を切り替える場合、放送局端末３００が放送局を登録する場合、の４つの場合にトポロジーは変動する。接続先紹介サーバ４００はこれらの事象に関する報告をユーザ端末２００又は放送局端末３００から受信するとトポロジーデータベース４０８を更新する。
【００４９】
＜接続先紹介機能＞
ユーザ端末２００において接続を切り替えた場合、或いは、ユーザ端末２００において上流端末からのストリーム受信の途絶を検知した場合に、ユーザ端末２００は新たな接続候補を取得するために接続先紹介サーバ４００へ問い合わせを行う。接続先紹介サーバ４００が当該問い合わせを受信すると、トポロジーデータベース４０８から適当な接続候補を検索し、検索結果を接続候補としてユーザ端末２００へ返信する。図１１に示すように、接続先の紹介に当たってはロックされていない接続先を接続候補として探索する。
【００５０】
［３．接続切り替え処理］
ユーザ端末２００の接続切り替え処理を図１に示す構造を有するストリームデータ配信ネットワークシステムＳにおける接続切り替えを例にして以下に説明する。尚、どのユーザ端末を示すのかを明確にするため、図１に示す符号を適宜用いる。
【００５１】
まず、任意のユーザ端末２００は接続の切り替えに関して図５に示すような状態遷移をする。ここでは、ユーザ端末２００がコンテンツ配信チャンネルｃｈ１のＢ122の位置からコンテンツ配信チャンネルｃｈ２のＢ211の位置へ接続を切り替える例を示している。尚、以下の説明では、接続先紹介サーバ４００におけるトポロジー変動通知受信時の処理を示す図１０における対応ステップを表示する。
【００５２】
［状態１］
状態１は、ユーザ端末Ｂ122がコンテンツ配信チャンネルｃｈ１において定常状態にあることを示す。この状態１では、ユーザ端末Ｂ122は第一蓄積手段としてのリングバッファ２３１のみが機能し、上流端末（ここではユーザ端末Ａ12）から受信したコンテンツ配信チャンネルｃｈ１に関するストリームデータをリングバッファ２３１に蓄積（保持）し、且つ、下流側のユーザ端末Ｃ1221，Ｃ1222へ送信（中継）している。
【００５３】
状態１においてユーザ端末Ｂ122がコンテンツ配信チャンネルｃｈ２のＢ211の位置へ接続を切り替える場合、ユーザ端末Ｂ122は変動通知（イ）を接続先紹介サーバ４００へ送信して状態２へ遷移する。一方、接続先紹介サーバ４００ではこの変動通知（イ）を受信して当該ユーザ端末Ｂ122のコンテンツ配信チャンネルｃｈ１上の接続先（コンテンツ配信チャンネルｃｈ１のＢ122の位置）をロックする（他のユーザ端末は、ロックされた接続先に接続することはできない）（Ｓ１００２）。
【００５４】
状態１において上流端末Ａ12からのストリーム受信が途絶した場合、ユーザ端末Ｂ122はコンテンツ配信チャンネルｃｈ１に関する新たな接続先に接続する。このとき、ユーザ端末Ｂ122は変動通知（ニ）を接続先紹介サーバ４００へ送信する。
【００５５】
［状態２］
状態２は、ユーザ端末Ｂ211がコンテンツ配信チャンネルｃｈ１に関するストリームデータを蓄積する第一蓄積手段としてのリングバッファ２３１とコンテンツ配信チャンネルｃｈ２に関するストリームデータを蓄積する第二蓄積手段としてのリングバッファ２３２の両方を保持している状態を示す。この状態２は、ユーザ端末Ｂ211がコンテンツ配信チャンネルｃｈ１のＢ122の位置からコンテンツ配信チャンネルｃｈ２のＢ211の位置へ接続を切り替えた後の所定時間内の状態である。
【００５６】
コンテンツ配信チャンネルｃｈ２における上流端末Ａ21からコンテンツ配信チャンネルｃｈ２に関するストリームデータを受信し当該受信したストリームデータをリングバッファ２３２に蓄積する一方で、接続切り替え前にリングバッファ２３１に蓄積されたコンテンツ配信チャンネルｃｈ１に関するストリームデータを下流側のユーザ端末Ｃ2111，Ｃ2112（接続切り替え前のＣ1221，Ｃ1222、以下同じ）へ送信している。
【００５７】
状態２においてユーザ端末Ｂ211がコンテンツ配信チャンネルｃｈ１のＢ122の位置へ再度接続を切り替える場合、ユーザ端末Ｂ211（Ｂ122）は変動通知（ハ）を接続先紹介サーバ４００へ送信して状態１へ遷移する。一方、接続先紹介サーバ４００ではこの変動通知（ハ）を受信して当該ユーザ端末２００のコンテンツ配信チャンネルｃｈ１での接続先をアンロックする（過去に行ったロックを解除する）（Ｓ１００４）。
【００５８】
状態２においてユーザ端末Ｂ211がコンテンツ配信チャンネルｃｈ１に関するストリームデータを供給できなくなった場合、ユーザ端末Ｂ211は状態３へ遷移する。コンテンツ配信チャンネルｃｈ１からコンテンツ配信チャンネルｃｈ２へ接続を切り替えて時間が経過し、接続切り替え前にリングバッファ２３１に蓄積されたコンテンツ配信チャンネルｃｈ１に関するストリームデータのすべてを下流側のユーザ端末Ｃ2111，Ｃ2112へ送信した状態である。
【００５９】
このとき、ユーザ端末Ｂ211は変動通知（ロ）を接続先紹介サーバ４００へ送信し、接続先紹介サーバ４００ではこの変動通知（ロ）を受信して当該ユーザ端末Ｂ211のコンテンツ配信チャンネルｃｈ１での接続先をアンロックする（Ｓ１００３）。
【００６０】
［状態３］
状態３は、ユーザ端末Ｂ211がコンテンツ配信チャンネルｃｈ２において定常状態にあることを示す。この状態３では、ユーザ端末Ｂ211がコンテンツ配信チャンネルｃｈ２に関するストリームデータを蓄積するリングバッファ２３２のみを保持している。
【００６１】
以上に説明した接続切り替え時の全体シーケンスを図６に示す。ここでは、コンテンツ配信チャンネルｃｈ１に参加していたユーザ端末（自端末）Ｂ122が、図１に示すコンテンツ配信チャンネルｃｈ２のＢ211の位置へ移る場合について示している。
【００６２】
ステップＳ６０１において、ユーザ端末（自端末）Ｂ122は、コンテンツ配信チャンネルｃｈ１における上流端末Ａ12へストリームデータの配信停止を要求する。上流端末Ａ12は、停止要求を受信し、当該要求の受信を契機に要求元へのストリームデータの配信を停止し、要求元との接続関係を更新する。
【００６３】
次に、ステップＳ６０２において、ユーザ端末（自端末）Ｂ122は、接続先紹介サーバ４００に対してコンテンツ配信チャンネルｃｈ２における新しい接続先（上流端末）を紹介するよう要求する。すると、ステップＳ６０３において、接続先紹介サーバ４００では、トポロジーデータベース４０８から接続先の候補を検索し、選択した候補（端末）の所在情報と階層レベル情報を要求元へ返信する。
【００６４】
そして、ステップＳ６０４において、ユーザ端末（自端末）Ｂ122は、Ｓ６０２で取得したコンテンツ配信チャンネルｃｈ２に関する接続候補の中から接続先を１つ選択し、接続先紹介サーバ４００へトポロジー変動通知を送信する。
【００６５】
ステップＳ６０５において、ユーザ端末（自端末）Ｂ122はＳ６０３で返信された接続先（上流端末Ａ21）へ接続し、自端末Ｂ211となる。その後、当該ユーザ端末（自端末）Ｂ211は上流側に関する接続情報を更新する。
【００６６】
ステップＳ６０６において、ユーザ端末（自端末）Ｂ211は、上流端末Ａ21に対してストリーム配信開始要求を出す。上流端末Ａ21はユーザ端末（自端末）Ｂ211からのストリーム配信要求を受信して、要求元に対してストリームデータの配信を開始し、下流側のユーザ端末に関する接続情報を更新する。
【００６７】
そして、コンテンツ配信チャンネルｃｈ２に関するストリームデータを受信したとき、ユーザ端末（自端末）Ｂ211はコンテンツ配信チャンネルｃｈ１のストリームデータの再生を停止し、コンテンツ配信チャンネルｃｈ２のストリームデータの再生を開始する。
【００６８】
ユーザ端末（自端末）Ｂ211がコンテンツ配信チャンネルｃｈ１からコンテンツ配信チャンネルｃｈ２へ接続先を切り替えた後も、過去に受信したコンテンツ配信チャンネルｃｈ１に関するストリームデータがリングバッファ２３１には蓄積されているので、暫くの間ユーザ端末（自端末）Ｂ211は下流側のユーザ端末Ｃ2111，Ｃ2112へコンテンツ配信チャンネルｃｈ１に関するストリームデータを供給し続ける。
【００６９】
ユーザ端末（自端末）Ｂ211が、リングバッファ２３１に蓄積されたコンテンツ配信チャンネルｃｈ１に関するストリームデータをすべて下流側のユーザ端末Ｃ2111，Ｃ2112へ放出すると、下流側のユーザ端末Ｃ2111，Ｃ2112への配信を停止する。すると、下流側のユーザ端末Ｃ2111，Ｃ2112はストリームデータ受信の途絶を検知し、これを契機に自律的に接続先を変更する手続きに入る。
【００７０】
ステップＳ６０７において、まず、下流側のユーザ端末Ｃ2111，Ｃ2112は接続先紹介サーバ４００に対してコンテンツ配信チャンネルｃｈ１における新しい接続先（上流端末）を紹介するよう要求する。すると、ステップＳ６０８において、接続先紹介サーバ４００では、トポロジーデータベース４０８から接続先の候補を検索し、選択した候補（端末）の所在情報と階層レベル情報を要求元へ返信する。
【００７１】
ステップＳ６０９において、下流側のユーザ端末Ｃ2111，Ｃ2112は、Ｓ６０８で取得したコンテンツ配信チャンネルｃｈ１に関する接続候補の中から接続先を１つ選択して、トポロジー変動通知を接続先紹介サーバ４００へ送信する。
【００７２】
ステップＳ６１０において、下流側のユーザ端末Ｃ2111，Ｃ2112は、Ｓ６０９で選択した接続先へ接続する。その後、下流側のユーザ端末Ｃ2111，Ｃ2112は、上流端末に関する接続情報を更新する。そして、ステップＳ６１１において、下流側のユーザ端末Ｃ2111，Ｃ2112は、接続先上流端末へストリーム配信開始要求を出す。このときの配信要求は、下流側のユーザ端末が前回受信したパケットの次のパケットから配信が始まるようにパケット番号を指定する。コンテンツ配信チャンネルｃｈ１における上流端末は、下流側のユーザ端末からのストリーム配信要求を受け付けると、要求元に対してストリームデータの配信を開始し、下流側のユーザ端末に関する接続情報を更新する。
【００７３】
以上により、下流側のユーザ端末は、再びコンテンツ配信チャンネルｃｈ１のストリームデータを受信できる状態になる。
【００７４】
図７は自端末Ｂ122（Ｂ211）から見たチャンネル切り替えの流れを、図８は下流側のユーザ端末（下流端末）Ｃ2111，Ｃ2112（Ｃ1221，Ｃ1222）から見たチャンネル切り替えの流れを、図９は上流端末Ａ12，Ａ21から見たチャンネル切り替えの流れを、図１０は接続先紹介サーバ４００におけるトポロジー変動通知受信時の処理を、図１１は接続先紹介サーバ４００における接続先紹介要求受信時の処理を、それぞれ示す。
【００７５】
ユーザ端末Ｂ122がコンテンツ配信チャンネルｃｈ１に関するストリームデータを受信してリングバッファ２３１に蓄積しているという定常状態（状態１）のときに、ユーザの端末操作、即ち、ユーザ入力用リモコン２２３の操作によってコンテンツ配信チャンネルｃｈ２へのチャンネル切り替えが指示されてユーザ端末Ｂ122がコンテンツ配信チャンネルｃｈ２へ切り替わるとき、自端末（ユーザ端末）Ｂ122が実行する動作を図７に示す。
【００７６】
まず最初に、チャンネル変動の指示を受けて自端末Ｂ122は、自己が接続しているコンテンツ配信チャンネルｃｈ１における上流端末Ａ12へストリームデータの配信停止を要求する（Ｓ７０１）。
【００７７】
そして、接続先紹介サーバ４００に対してコンテンツ配信チャンネルｃｈ２における新しい接続先（上流端末）とその階層レベルを問い合わせる（Ｓ７０２）。
【００７８】
次に、自端末Ｂ122の主記憶装置２０６にコンテンツ配信チャンネルｃｈ２用のリングバッファ２３２が生成される（Ｓ７０３）。
【００７９】
続いて、接続先紹介サーバ４００から取得したコンテンツ配信チャンネルｃｈ２に関する接続候補の中から接続先が１つ選択され、接続先紹介サーバ４００へ変動通知（イ）が送信される（Ｓ７０４）。自端末Ｂ122は状態２に移行し、これ以降端末Ｂ211となる。
【００８０】
選択した接続先が上流端末と見なされ、コンテンツ配信チャンネルｃｈ２の端末Ａ21（これ以降、上流端末Ａ21とする）に接続される（Ｓ７０５）。
【００８１】
変動通知（イ）に基づき接続先紹介サーバ４００において上流端末Ａ12及びＡ21の接続情報が更新された後（Ｓ７０６）、上流端末Ａ21はストリーム配信開始が要求される（Ｓ７０７）。
【００８２】
コンテンツ配信チャンネルｃｈ１から受信してリングバッファ２３１に蓄積されていたストリームデータの再生は停止される（Ｓ７０８）。
【００８３】
同時に、コンテンツ配信チャンネルｃｈ２のストリームデータの再生の準備を開始する（Ｓ７０９）。具体的には、コンテンツ配信チャンネルｃｈ２のパケットを上流端末Ａ21から受信したとき直ちに再生し（Ｓ７０９）、受信したパケットをリングバッファ２３２に蓄積する（Ｓ７１０）。
【００８４】
一方、コンテンツ配信チャンネルｃｈ１用のリングバッファ２３１が空であるか否かが判断され（Ｓ７１１）、リングバッファ２３１が空ではないとき（Ｓ７１１：Ｎ）、リングバッファ２３１に蓄積されているコンテンツ配信チャンネルｃｈ１のストリームデータの下流端末Ｃ2111，Ｃ2112への送信を継続する（Ｓ７１２）。
【００８５】
コンテンツ配信チャンネルｃｈ１へ戻るユーザ要求があるか否かが判断され（Ｓ７１３）、戻る操作がないとき（Ｓ７１３：Ｎ）、処理はステップＳ７１０へと戻る。
【００８６】
これに対して、コンテンツ配信チャンネルｃｈ１へ戻る操作があったとき（Ｓ７１３：Ｙ）、ユーザはコンテンツ配信チャンネルｃｈ２に興味がないのであるから、上流端末Ａ21へ配信停止を要求し（Ｓ７１４）、再生を停止し、リングバッファ２３２を削除する。（Ｓ７１５）。
【００８７】
その後、接続先紹介サーバ４００に対して変動通知（ハ）を送信して、自端末Ｂ211は状態１へ移行する（Ｓ７１６）。
【００８８】
自端末Ｂ211はコンテンツ配信チャンネルｃｈ１の元の接続位置へ戻る（Ｓ７１７）。これ以降端末Ｂ122となる。
【００８９】
変動通知（ハ）に基づいて接続先紹介サーバ４００において上流端末Ａ21及びＡ12の接続情報が更新され（Ｓ７１８）、上流端末Ａ12はストリーム配信開始が要求される（Ｓ７１９）。このとき、リングバッファ２３１に蓄積されているパケットの続きのパケットが配信されるように、パケット番号が指定される。
【００９０】
一方、ステップＳ７１１において、コンテンツ配信チャンネルｃｈ１用のリングバッファ２３１が空であると判断されたとき（Ｓ７１１：Ｙ）、下流端末Ｃ2111，Ｃ2112へのストリームデータの配信が停止され（Ｓ７２０）、下流端末Ｃ2111，Ｃ2112に対する接続情報が更新される（Ｓ７２１）。
【００９１】
蓄積していたコンテンツ配信チャンネルｃｈ１のストリームデータの下流端末への配信が完了したリングバッファ２３１は削除されて（Ｓ７２２）、接続先紹介サーバ４００に対して、変動通知（ロ）が送信され状態３へ移行する（Ｓ７２３）。
【００９２】
以上により、リングバッファ２３１に蓄積していたストリームデータの配信が完了するまでにコンテンツ配信チャンネルｃｈ１に戻るか、或いは、コンテンツ配信チャンネルｃｈ２へ移行して確定するかのいずれかに自端末のチャンネルが確定し、定常状態の動作を継続する。
【００９３】
尚、図７は、図６の基本シーケンスに加えて、ユーザ端末（自端末）内のリングバッファの生成と消滅に関する処理も記載してある。ユーザによるチャンネル切り替え要求を契機としてコンテンツ配信チャンネルｃｈ１からコンテンツ配信チャンネルｃｈ２に接続を切り替える場合、接続を切り替える直前にコンテンツ配信チャンネルｃｈ２用のリングバッファ２３２を生成する。接続を切り替えた後は、暫くの間、コンテンツ配信チャンネルｃｈ１用のリングバッファ２３１とコンテンツ配信チャンネルｃｈ２用のリングバッファ２３２が共存するが、コンテンツ配信チャンネルｃｈ１用のリングバッファ２３１内にストリームデータが無くなったらコンテンツ配信チャンネルｃｈ１用のリングバッファ２３１を消滅させる。ただし、この共存期間中にコンテンツ配信チャンネルｃｈ２からコンテンツ配信チャンネルｃｈ１へ接続を戻した場合、コンテンツ配信チャンネルｃｈ１用のリングバッファ２３１を保持し、コンテンツ配信チャンネルｃｈ２用のリングバッファ２３２を消滅させる。
【００９４】
続いて、チャンネル切換を行ったユーザ端末（自端末）Ｂ122（Ｂ211）の下位に接続している下流端末Ｃ1221（Ｃ2111）から見たチャンネル切換時の動作について図８に基づいて説明する。
【００９５】
チャンネル切り替えを行った上流端末が当該切り替え前にリングバッファに蓄積していたストリームデータの下流端末への配信を終えたときの下流端末の動作を以下に説明する。
【００９６】
最初に、個々の下流端末（ユーザ端末）Ｃ1221（Ｃ2111）においては、当該下流端末が接続している階層レベルに応じてストリーム途絶を検知するまでの判定時間が決められている（Ｓ８０１）。
【００９７】
そして、上流端末（この場合の上流端末は当該下流端末Ｃ1221が接続している上流端末Ｂ122を指す）からのストリームデータの配信、即ち、ストリーム途絶の有無が検知される（Ｓ８０２）。
【００９８】
ストリーム途絶を検知しないとき（Ｓ８０２：Ｎ）、ストリーム途絶を検知するまでストリーム途絶検知を繰り返す（Ｓ８０２）。
【００９９】
ストリーム途絶を検知したとき（Ｓ８０２：Ｙ）、上流端末がチャンネル切り替え前にリングバッファに蓄積していたストリームデータは配信が完了したのであるから、個々の下流端末（ユーザ端末）Ｃ1221（Ｃ2111）はコンテンツ配信チャンネルｃｈ１の新しい接続先とその階層レベルを接続先紹介サーバ４００へ問い合わせる（Ｓ８０３）。
【０１００】
続いて、接続先紹介サーバ４００から取得したコンテンツ配信チャンネルｃｈ１に関する接続候補の中から接続先が１つ選択され、接続先紹介サーバ４００へ変動通知（ニ）が通知される（Ｓ８０４）。
【０１０１】
紹介された接続先を新たな上流端末と見なして接続され（Ｓ８０５）、以前の上流端末と当該上流端末の両方の接続関係を更新する（Ｓ８０６）。
【０１０２】
新しい接続先（新しい上流端末）へストリーム配信要求が送信され（Ｓ８０７）、現チャンネルの再生が継続する（Ｓ８０８）。このとき、続きのパケットが配信されるように、パケット番号が指定される。
【０１０３】
以上により、下流端末は以前に接続していたチャンネルへの移行を完了する。
【０１０４】
次に、ユーザ端末（自端末）Ｂ122の上流側に接続している上流端末Ａ12の動作について、図９に基づいて説明する。
【０１０５】
チャンネル切り替えを行うユーザ端末の上流側に接続している上流端末は、下流端末からの要求を受けて以下に説明する動作を実行する。
【０１０６】
上流端末Ａ12において、下流端末Ｂ122からのストリーム配信要求の開始要求、または、ストリーム配信停止要求が受け付けられ（Ｓ９０１）、当該要求モードの種類が判断される（Ｓ９０２）。
【０１０７】
ストリーム配信開始要求であってパケット指定モードであるとき（Ｓ９０２：パケット指定モード）、下流端末Ｂ122が定常状態になるまで下流端末Ｂ122に対してバルク転送が実行される（Ｓ９０３）。ここで、バルク転送とは、パケットを連続して一気に送ることをいう。その後、ストリームの定常配信（Ｓ９０４）へと移行する。
【０１０８】
ストリーム配信要求が配信開始要求であって通常モードの設定であるとき（Ｓ９０２：通常モード）、ストリームの定常配信が実行され（Ｓ９０４）、工程Ｓ９０５へ移行する。
【０１０９】
要求モードがストリーム配信停止モードのとき（Ｓ９０２：ストリーム配信停止）、ストリーム配信を停止して（Ｓ９０６）、工程Ｓ９０５へ移行する。
【０１１０】
いずれのモードの場合も、その後、接続関係が更新される（Ｓ９０５）。
【０１１１】
以上により、下流側のユーザ端末のチャンネル切り替えにより生じる変動に対応している。
【０１１２】
次に、接続先紹介サーバ４００がトポロジー変動通知を受信したときの動作について図１０を用いて説明する。
【０１１３】
最初に、接続先紹介サーバ４００において、受信したトポロジー変動通知の種類が判断される（Ｓ１００１）。
【０１１４】
変動通知（イ）であるとき、送信元のユーザ端末はコンテンツ配信チャンネルｃｈ１からコンテンツ配信チャンネルｃｈ２への接続切り替えの途中であるから、変動通知送信元のコンテンツ配信チャンネルｃｈ１に関する接続先をロックする（Ｓ１００２）。これにより、送信元のユーザ端末が接続していた接続位置は当該ユーザ端末以外には接続が許されないことになる。そして、工程Ｓ１００５へ移行する。
【０１１５】
変動通知（ロ）であるとき、送信元のユーザ端末はコンテンツ配信チャンネルｃｈ２への以降を確定させたのであるから、変動通知送信元のコンテンツ配信チャンネルｃｈ１に関する接続先をアンロックして（Ｓ１００３）、送信元のユーザ端末が接続していた接続位置が他のユーザ端末に解放される。そして、工程Ｓ１００５へ移行する。
【０１１６】
変動通知（ハ）であるとき、送信元のユーザ端末は所定時間内にコンテンツ配信チャンネルｃｈ２からコンテンツ配信チャンネルｃｈ１へ戻ってきたのであるから、変動通知送信元のコンテンツ配信チャンネルｃｈ１に関する接続先をアンロックして（Ｓ１００３）、送信元のユーザ端末が接続していた接続位置が当該ユーザ端末に解放される。そして、工程Ｓ１００５へ移行する。
【０１１７】
変動通知（ニ）であるとき、送信元のユーザ端末は接続切り替えを行っていないのであるから、そのまま、工程Ｓ１００５へ移行する。
【０１１８】
続いて、工程Ｓ１００５において、新たな接続関係に基づいてトポロジーデータベースが更新される（Ｓ１００５）。
【０１１９】
最後に、接続先紹介サーバ４００が接続先紹介通知を受信したときの動作について、図１１を用いて説明する。
【０１２０】
接続先紹介サーバ４００は、ユーザ端末から接続先紹介通知を受信したとき、トポロジーデータベースからロックされていない接続先の候補を探す（Ｓ１１０１）。
【０１２１】
そして、新しい接続先の候補が問合せ元のユーザ端末へ返信される（Ｓ１１０２）。
【０１２２】
［４．接続切り替え後のリングバッファの動作］
接続切り替え後のチャンネル１に関するリングバッファ２３１の動作を図１２を用いて以下に説明する。図１２は、接続切り替え時の制御を示す図１２（ａ）と、リングバッファの読み込みと書き込みの関係を示す図１２（ｂ）とから構成される。
【０１２３】
図１２（ａ）において、ユーザ端末２００がコンテンツ配信チャンネルｃｈ１のＢ122の位置からコンテンツ配信チャンネルｃｈ２のＢ211の位置へ接続を切り替えると、接続制御手段としてのＣＰＵ２０２は、受信するストリームデータの蓄積先をリングバッファ２３１からリングバッファ２３２へと切り替える。そして、新たに受信するチャンネルｃｈ２のストリームデータはリングバッファ２３２に蓄積される。
【０１２４】
接続切り替え前に蓄積されたコンテンツ配信チャンネルｃｈ１のストリームデータは、継続して、下流側のユーザ端末Ｃ2111，Ｃ2112（Ｃ1221，Ｃ1222）へ供給する。
【０１２５】
図１２（ｂ）において、上流端末Ａ12からストリームデータが供給されなくなるので、蓄積制御手段としてのＣＰＵ２０２の書き込み位置（上流端末から受信中のストリームデータ）は停止する。
【０１２６】
接続切り替え前にリングバッファ２３１内に蓄積されたストリームデータを下流端末Ｃ2111，Ｃ2112（Ｃ1221，Ｃ1222）へ供給するので、蓄積制御手段としてのＣＰＵ２０２がリングバッファ２３１から読み込む読み込み位置（下流端末へ送信中のストリームデータ）が蓄積制御手段としてのＣＰＵ２０２がリングバッファ２３１へ書き込む書き込み位置に徐々に近づく。
【０１２７】
蓄積制御手段としてのＣＰＵ２０２がリングバッファ２３１から読み込む読み込み位置が蓄積制御手段としてのＣＰＵ２０２がリングバッファ２３１へ書き込む書き込み位置に追いついたとき、リングバッファ２３１内のデータを完全に放出したことになるので、下流端末Ｃ2111，Ｃ2112へのストリームデータの供給が停止する。
【０１２８】
下流端末Ｃ2111，Ｃ2112では、上流Ｂ211からのストリームデータの途絶を検知すると、コンテンツ配信チャンネルｃｈ１における新しい上流端末へ再接続する。
【０１２９】
なお、受信ストリームの途絶検知から再接続完了までは数百ミリ秒かかるが、通常は再生手段としてのＣＰＵ２０２の再生位置が蓄積制御手段としてのＣＰＵ２０２の書き込み位置に追いつくまでに処理を完了できるので、コンテンツの再生が途切ることはない。
【０１３０】
このときの自端末Ｂ211及び下流端末Ｃ2111（又はＣ2112）のリングバッファの様子を図１３を用いて以下に説明する。
【０１３１】
図１３は自端末Ｂ211のリングバッファの様子を上段に示し、下流端末Ｃ2111のリングバッファの様子を下段に示している。
【０１３２】
定常状態では、自端末Ｂ211のリングバッファ及び下流端末Ｃ2111のリングバッファのいずれにおいても上流端末からの受信位置（Ａ）、下流端末への送信位置（Ｂ）、コンテンツの再生位置（Ｃ）が一定の間隔を保って時計回りに動いている。この図では、自端末Ｂ211における下流端末Ｃ2111への送信位置（Ｂ）と下流端末Ｃ2111における上流端末Ｂ211からの受信位置（Ａ）とを同じ位置とすることで対応関係を明確にしている。
【０１３３】
自端末がコンテンツ配信チャンネルｃｈ１のＢ122の位置からコンテンツ配信チャンネルｃｈ２のＢ211の位置へ接続を切り替えると、チャンネルｃｈ１用のリングバッファでは（Ａ）の動きが止まり、（Ｂ）が（Ａ）に追いつくまで近づいていく。
【０１３４】
下流端末Ｃ2111，Ｃ2112（Ｃ1221，Ｃ1222）においては、自端末Ｂ122（Ｂ211）がコンテンツ配信チャンネルｃｈ１からコンテンツ配信チャンネルｃｈ２へ接続を切り替えても、上流である自端末Ｂ211からのストリーム受信の途絶を検知するまでは定常状態にある。
【０１３５】
自端末Ｂ211において（Ａ）と（Ｂ）が重なった状態は、自端末Ｂ211がコンテンツ配信チャンネルｃｈ１に関するストリームデータを下流端末Ｃ2111，Ｃ2112へ供給できなくなったことを意味する。この状態になったとき、下流端末Ｃ2111，Ｃ2112ではストリーム受信が途絶したと判断し、コンテンツ配信チャンネルｃｈ１へ再接続する動作に移る。
【０１３６】
次に、下流端末がストリーム受信の途絶を検知したときの様子を図１４を用いてパケットレベルで詳説する。図１４の上段は定常状態におけるストリームデータの中継の様子を、下段はストリーム途絶検知状態におけるストリームデータの中継の様子を示している。
【０１３７】
上段に示す定常状態では、上流端末からの受信位置（Ａ）、下流端末への送信位置（Ｂ）、ストリームデータの再生位置（Ｃ）が一定の間隔を保って移動している。
【０１３８】
一方、下段に示すストリーム途絶検知状態では、パケット６を受信した段階で下流端末の（Ａ）が停止すると、（Ｂ）と（Ａ）及び（Ｃ）と（Ａ）の間隔が徐々に狭まる。この状態が続くと（Ｃ）が（Ａ）に重なり下流端末においてコンテンツの再生が途切れるが、（Ｃ）が（Ａ）に重なる前に上流端末との再接続が完了すればコンテンツの再生が途切れない。
【０１３９】
ここで、下流端末がストリーム受信の途絶を検知したとき、コンテンツ配信チャンネルｃｈ１の上流端末（下流端末が再接続しようとする端末）では、下流端末が次に受信すべきパケット（パケット７）よりも（Ｂ）が前方へ進んでいる。従って、下流端末の要求に応じて上流端末がストリーミングを開始するときは、下流端末に対する送信位置が（Ｂ）に追いつくように、上流端末は初回のみバルク転送（パケットを連続して一気に送る方式）を行う必要が生じる（図９におけるＳ９０３）。バルク転送によって下流への送信位置が（Ｂ）に追いついたとき、以降の送信は定常状態と同じになる。
【０１４０】
［５．タイムアウト値設定］
放送局端末を最上位としたツリー型トポロジーのコンテンツ配信チャンネルにおいて、仮に各階層のユーザ端末においてストリームデータの途絶を検知する時間間隔であるタイムアウト値が同一であるとき、接続切り替えを行ったユーザ端末の下位に配置された下流端末すべての接続関係が同時に壊れる可能性がある。即ち、ツリー型トポロジーの１箇所において接続切り替えの事象が生じたときに、下流側に接続している複数のユーザ端末においても（階層レベルの相違にかかわらず）同時にストリーム途絶を検知する可能性がある。
【０１４１】
従って、接続切り替え通知（トポロジー変動通知）を同時に送信させない本発明の目的から、本実施形態のツリー型トポロジーのコンテンツ配信チャンネルにおいては、下流レベルほど（階層レベルが深くなるほど）ストリーム途絶検知までのタイムアウト値を大きくすることでストリーム途絶を検知しにくい構造としている。
【０１４２】
具体的には、接続態様管理装置としての接続先紹介サーバ４００は、放送局端末Ｘ1，Ｘ2からの中継数（階層レベル）に応じて、ストリームデータの途絶を検知する時間間隔であるタイムアウト値を各ユーザ端末Ａ11，Ａ12及びＡ21，Ａ22，Ｂ121，Ｂ122及びＢ211，Ｂ212，Ｃ1221，Ｃ1222及びＣ2111，Ｃ2112に設定するタイムアウト値設定手段としてのＣＰＵ４０２と、各ユーザ端末にタイムアウト値を含む接続先情報を送信する接続先情報送信手段としてのネットワークインタフェース４０４とを設けている。
【０１４３】
これにより、階層レベルに応じて異なるタイムアウト値を設定するので、例えば、ユーザ端末Ａ12がコンテンツ配信チャンネルｃｈ１からコンテンツ配信チャンネルｃｈ２のＡ21の位置へと接続切り替えを行ったとき、接続切り替えを行ったユーザ端末Ａ12（Ａ21）とその下流端末（ユーザ端末）Ｂ122（Ｂ211），Ｃ1221，Ｃ1222（Ｃ2111，Ｃ2112）はそれぞれ階層レベルに応じて異なるタイミングで接続関係から離れることになり、接続切り替え通知を分散させることができる。
【０１４４】
また、ユーザ端末がコンテンツ配信チャンネルｃｈ１のＢ122からコンテンツ配信チャンネルｃｈ２のＢ211の位置へと接続切り替えを行ったとき、トポロジーデータベース４０８において、ユーザ端末Ｂ211は接続に使用しないユーザ端末（接続不可ノード装置）として記憶される。トポロジーデータベース４０８の記憶内容に基づいて、接続先ノード装置の候補は決定され接続先情報が送信されるので、ユーザ端末Ｂ211の下流には新たなユーザ端末は接続されない。
【０１４５】
すなわち接続切り替え直後の状態では、Ｂ211のリングバッファ２３２にはｃｈ２に関するストリームデータが充分に蓄積されておらず、ｃｈ２における新たな接続先としては不適な状態にあるので、このような処置がとられる。これにより、例えば、短時間のうちにチャンネル間を往復するような接続切り替え操作（ザッピング）が行われても、ユーザ端末Ｂ211の下流には新たなユーザ端末が接続されないので、ユーザ端末Ｂ211が元のチャンネル（コンテンツ配信チャンネルｃｈ１）に戻るとき下流端末の接続切り替え通知が発生しない。また、次々と異なるチャンネルへ移動していく操作（チャンネルホッピング）が行われても、下流端末がストリームの途絶を検知するまでは下流端末の接続切り替え通知が発生しない。この特長によって不要なトポロジー変動通知の伝播を抑制できるので、結果としてネットワークに負荷を与えない。
【０１４６】
更に、ユーザ端末Ｂ122がコンテンツ配信チャンネルｃｈ２のＢ211の位置へと接続切り替えを行ったとき、所定時間が経過するまでコンテンツ配信チャンネルｃｈ１のＢ122の位置はユーザ端末Ｂ211以外のユーザ端末の接続に使用させない。
【０１４７】
これにより、例えば、ザッピングによってユーザ端末Ｂ211がコンテンツ配信チャンネルｃｈ１の元の位置（Ｂ122）に戻るとき、ツリー型トポロジーの変動が起こらず、その結果、不要なトポロジー変動通知の伝播を抑制できる。
【０１４８】
ここで、ユーザ端末Ｂ122はコンテンツ配信チャンネルｃｈ２のＢ211の位置へと接続切り替えを行ったとき、接続切り替え前のコンテンツ配信チャンネルｃｈ１に関するストリームデータを下流側に接続しているユーザ端末Ｃ2111及びＣ2112（切り替え前のＣ1221及びＣ1222）へ転送することが完了するまで、又は、所定時間が経過するまで、トポロジーデータベース４０８は、ユーザ端末Ｃ2111及びＣ2112及び更にその下流のユーザ端末等を接続不可ノード装置として記憶する。
【０１４９】
このような制御は、コンテンツ配信チャンネルｃｈ１に関するストリームデータの転送が完了した後、下流端末Ｃ2111及びＣ2112等はコンテンツ配信チャンネルｃｈ１へ接続切り替えを行うことを考慮したものである。
【０１５０】
上記実施の形態は以下の効果を有する。
【０１５１】
上記実施の形態では、あるユーザ端末が接続を切り替えて別のコンテンツ配信チャンネルに移っても、接続切り替え前のコンテンツ配信チャンネルのストリームデータを下流に接続しているユーザ端末に継続して送信するので、下流端末がストリームデータの途絶を検知する前に、当該接続を切り替えたユーザ端末が元のコンテンツ配信チャンネルに戻ってくれば、当該下流端末では上位端末（前記接続切り替えを行ったユーザ端末）の接続切り替えとは無関係にストリームデータを受信できる。即ち、上位端末の接続切り替えを起因として下流端末が接続切り替えを行う必要がないので、当該下流端末が接続先紹介サーバに対して新しい接続先の紹介要求等をしない。よって、トポロジーツリーが壊れにくく、単位時間当たりに発生するトポロジー変動通知の量を抑制することができるので、コンテンツ配信ネットワークシステム全体では通信負荷が軽減される。
【０１５２】
上記実施の形態では、あるユーザ端末が接続を切り替えて別のコンテンツ配信チャンネルに移った場合、その下流に接続しているユーザ端末は、階層レベルに応じたタイムアウト値が設定されるので、下流端末のすべてがストリームデータの途絶を同時に検知することはない。よって、下流端末が接続先紹介サーバに対して異なるタイミングで新しい接続先の紹介要求等をするので、結果として、コンテンツ配信ネットワークシステム全体では通信負荷が軽減される。
【０１５３】
上記実施の形態では、あるユーザ端末がチャンネルホッピングをしても、当該ユーザ端末とその下流端末とは所定時間接続関係を維持するので、当該ユーザ端末の接続変動の度に当該下流端末が新しい接続先の紹介要求等をすることはない。よって、不要なトポロジー変動通知を生じさせず、トポロジーツリーが壊れにくい。更に、不要なトポロジー変動通知の伝播を抑制でき、コンテンツ配信ネットワークシステム全体では通信負荷が軽減される。
【０１５４】
上記実施の形態では、あるユーザ端末が接続を切り替えて別のコンテンツ配信チャンネルに移っても、継続して接続切り替え前のコンテンツ配信チャンネルのストリームデータを下流に接続しているユーザ端末に送信する。よって、別のコンテンツ配信チャンネルに移った後も、接続切り替え前のコンテンツ配信チャンネルとの接続関係を維持することで下流端末へストリームデータの送信を続ける場合よりも、上位端末との接続数が少ないので、コンテンツ配信ネットワークシステム全体では通信負荷が軽減される。特に、ザッピングやチャンネルホッピングの場合に通信負荷軽減の効果が顕著に現われる。
【０１５５】
なお、本発明の実施の形態は上記に限定されるものではなく、例えば以下のように変形してもよい。
【０１５６】
上記実施の形態では、放送局端末Ｘ1，Ｘ2からの中継数（階層レベル）に応じてタイムアウト値を設定し、階層レベルに応じた異なるタイミングで接続関係から離れることとして接続切り替え通知を分散させたが、それに限定されることなく、同じ階層レベルにおいて異なるタイムアウト値を設定するようにしても良い。
【０１５７】
例えば、接続態様管理装置としての接続先紹介サーバ４００において、タイムアウト値設定手段としてのＣＰＵ４０２は、放送局端末Ｘ1，Ｘ2からの中継数（階層レベル）が同じである複数のユーザ端末に異なるタイムアウト値を設定するようにしても良い。
【０１５８】
これにより、同じ階層レベルであるユーザ端末Ｂ211とＢ212、ユーザ端末Ｃ2111とＣ2112は異なるタイムアウト値が設定されるので、同じ階層レベルにおいても異なるタイミングで接続関係から離れることになる。よって、接続切り替え通知が分散され、結果としてネットワークの負荷が軽減される。
【０１５９】
上記実施の形態では、ユーザ入力用リモコン２２３の操作によってコンテンツ配信チャンネルｃｈ１からチャンネルｃｈ２へのチャンネル切り替えが指示された場合を説明したが、これに限定されることはない。例えば、タイマー設定や予約した番組への自動切換えなど機会が自動的にチャンネルを選択する場合であっても適用は可能である。
【０１６０】
上記実施の形態では、放送局端末を最上位としたツリー型トポロジーのコンテンツ配信チャンネルに適用した例として本発明を説明したが、これに限定されるものではなく、例えば、ピアツーピア（Peer to Peer：Ｐ２Ｐ）の接続形式のストリームデータ配信システムであっても適用は可能である。
【０１６１】
この変形例の場合、ユーザ端末Ａ12は、下流側に接続している下流側に接続しているユーザ端末Ｂ122が接続から外れたとき、所定時間が経過するまで当該接続から外れたユーザ端末Ｂ122の接続箇所を、ユーザ端末Ｂ122以外のユーザ端末の接続に使用しないようにすればよい。
【０１６２】
上記実施の形態において、図６乃至図１１に示すフローチャートに対応するプログラムをフレキシブルディスク等の記録媒体に記録しておき、又は、インターネット等のネットワークを介して取得して記録しておき、これらをノード装置又は送信装置としてのユーザ端末、送信装置としての放送局端末、接続態様管理装置としての接続先紹介サーバのそれぞれに内蔵されたマイクロコンピュータ等のコンピュータで読み出して実行させることも可能である。
【産業上の利用可能性】
【０１６３】
以上に説明したように、本発明は、放送局端末を最上位としたツリー型トポロジー（構造）のストリームデータ配信システムに好適であるが、これに限定されるものではなく、ピアツーピア（Peer to Peer：Ｐ２Ｐ）の接続形式のストリームデータ配信システムにも適用することが可能である。
【符号の説明】
【０１６４】
Ｓ：ストリームデータ配信ネットワークシステム
ｃｈ１，ｃｈ２：コンテンツ配信チャンネル
Ｘ1，Ｘ２：放送局端末
Ａ11，Ａ12及びＡ21，Ａ22：ユーザ端末
Ｂ121，Ｂ122及びＢ211，Ｂ212：ユーザ端末
Ｃ1221，Ｃ1222，Ｃ2111，Ｃ2112：ユーザ端末
２００：ユーザ端末
２０１：システムバス
２０２：ＣＰＵ
２０４：暗号デコード用アクセラレータ
２０５：ネットワークインタフェース
２０６：主記憶装置
２０７：周辺機器制御チップ
２０８：ＩＣカードスロット
２０９：赤外線ポート
２１０：ビデオチップ
２１１：内蔵ディスプレイ
２１２：音源チップ
２１３：内蔵スピーカ
２１４：ＤＲＭ（Digital Rights Management：デジタル著作権管理）モジュール（プログラム）
２１５：ストリーム制御プログラム
２１６：トポロジー制御プログラム
２１７：オペレーティングシステム
２１８：画面制御プログラム
２１９：音声デコーダ
２２０：ＩＣカード
２２１：コンテンツ復号鍵
２２２：デジタル証明書
２２３：ユーザ入力用リモコン
２２４：ルータ
２３１：リングバッファ
２３２：リングバッファ
３００：放送局端末
３０１：システムバス
３０２：ＣＰＵ
３０３：ハードディスク装置
３０４：暗号用アクセラレータ
３０５：ネットワークインタフェース
３０６：主記憶装置
３０７：周辺機器制御チップ
３０８：ＩＣカードスロット
３０９：ビデオチップ
３１２：放送用コンテンツ
３１３：ＤＲＭモジュール（プログラム）
３１４：ストリーム制御プログラム
３１５：トポロジー制御プログラム
３１６：オペレーティングシステム
３１７：画面制御プログラム
３１９：ＩＣカード
３２０：コンテンツ暗号鍵
３２１：デジタル証明書
３２２：キーボード
３２３：マウス
３２４：ディスプレイ
３２５：ルータ
４００：接続先紹介サーバ
４０１：システムバス
４０２：ＣＰＵ
４０３：ハードディスク装置
４０４：ネットワークインタフェース
４０５：主記憶装置
４０６：周辺機器制御チップ
４０７：ビデオチップ
４０８：トポロジーデータベース
４０９：端末管理データベース
４１０：端末認証プログラム
４１１：接続先紹介プログラム
４１２：オペレーティングシステム
４１３：運用情報管理プログラム
４１４：キーボード
４１５：マウス
４１６：ディスプレイ
４１７：ルータ
【図１】
2010283877.tif 000003
【図２】
2010283877.tif 000004
【図３】
2010283877.tif 000005
【図４】
2010283877.tif 000006
【図５】
2010283877.tif 000007
【図６】
2010283877.tif 000008
【図７】
2010283877.tif 000009
【図８】
2010283877.tif 000010
【図９】
2010283877.tif 000011
【図１０】
2010283877.tif 000012
【図１１】
2010283877.tif 000013
【図１２】
2010283877.tif 000014
【図１３】
2010283877.tif 000015
【図１４】
2010283877.tif 000016