(57)【要約】【課題】配信トポロジからの離脱を希望しているノード端末に対して離脱を待たせることなく、配信トポロジを再構築するまでの間の配信サーバの負荷を低減する。【解決手段】グループ分けされた複数の通信装置と、各グループに属する通信装置にコンテンツを配信する配信装置と、前記グループ分けを行う通信制御装置とを含むシステムにおいて、前記通信制御装置は、前記複数の通信装置のグループ分けを行うグループ分け手段と、前記グループごとに前記コンテンツの再生開始時間を決定する決定手段と、前記コンテンツの再生開始時間を各グループの通信装置に通知する通知手段と、前記コンテンツの再生開始時間の早いグループから遅いグループへコンテンツが配信されるように制御する制御手段と、を有し、前記通信装置は、前記コンテンツを受信する受信手段と、受信した前記コンテンツを記憶する記憶手段と、前記通信制御装置から通知された再生開始時間に応じて前記記憶手段に記憶したコンテンツを再生する制御手段と、を有する。【選択図】図１
2020004269.tif 000002
【特許請求の範囲】
【請求項１】
グループ分けされた複数の通信装置と、各グループに属する通信装置にコンテンツを配信する配信装置と、前記グループ分けを行う通信制御装置とを含むシステムにおいて、
前記通信制御装置は、
前記複数の通信装置のグループ分けを行うグループ分け手段と、
前記グループごとに前記コンテンツの再生開始時間を決定する決定手段と、
前記コンテンツの再生開始時間を各グループの通信装置に通知する通知手段と、
前記コンテンツの再生開始時間の早いグループから遅いグループへコンテンツが配信されるように制御する制御手段と、を有し、
前記通信装置は、
前記コンテンツを受信する受信手段と、
受信した前記コンテンツを記憶する記憶手段と、
前記通信制御装置から通知された再生開始時間に応じて前記記憶手段に記憶したコンテンツを再生する制御手段と、を有することを特徴とするシステム。
【請求項２】
通信装置およびコンテンツの配信装置と通信を行う通信手段と、
複数の通信装置のグループ分けを行うグループ分け手段と、
前記グループごとにコンテンツの再生開始時間を決定する決定手段と、
前記コンテンツの再生開始時間を各グループの通信装置に通知する通知手段と、
前記コンテンツの再生開始時間の早いグループから遅いグループへコンテンツが配信されるように制御する制御手段と、を有することを特徴とする通信制御装置。
【請求項３】
前記通知手段は、前記グループ分け手段により決定された情報に基づいて、コンテンツを送信するグループの通信装置に対してコンテンツを受信するグループの通信装置の受信機器情報を通知し、
コンテンツを受信するグループの通信装置に対してコンテンツを送信するグループの通信装置の配信機器情報を通知することを特徴とする請求項２に記載の通信制御装置。
【請求項４】
前記配信装置の送信能力を取得する第１の取得手段と、
前記通信装置の送信能力を取得する第２の取得手段と、
前記コンテンツのビットレートを取得する第３の取得手段と、をさらに有し、
前記グループ分け手段は、各グループの通信装置の送信能力の合計と、前記ビットレートの合計を求め、いずれか大きい方が上位階層のグループの通信装置の送信能力を超えないようにグループ分けを行うことを特徴とする請求項３に記載の通信制御装置。
【請求項５】
前記グループ分け手段は、前記配信装置から配信されたコンテンツが、上位階層のグループに属する通信装置から、下位階層のグループに属する通信装置に順次配信される配信トポロジを構築し、
前記配信トポロジから前記通信装置が離脱した場合、前記配信トポロジを再構築することを特徴とする請求項２から４のいずれか１項に記載の通信制御装置。
【請求項６】
前記配信トポロジから離脱する通信装置からの離脱通知を受信する受信手段をさらに有し、
前記通知手段は、前記離脱通知を受信すると、前記配信トポロジから離脱した通信装置からコンテンツを受信していた下位階層のグループの通信装置に対して、前記離脱した通信装置に対してコンテンツを送信していた上位階層のグループの通信装置を代わりの配信機器とする配信機器情報を通知することを特徴とする請求項５に記載の通信制御装置。
【請求項７】
前記配信トポロジを再構築するまでの時間を取得する手段をさらに有し、
前記決定手段は、前記再構築するまでの時間よりも長い時間を前記再生開始時間として決定することを特徴とする請求項５または６に記載の通信制御装置。
【請求項８】
通信制御装置によりグループ分けされ、他のグループに属する通信装置と通信する通信装置であって、
前記他のグループに属する通信装置からコンテンツを受信する受信手段と、
受信した前記コンテンツを記憶する記憶手段と、
前記通信制御装置から通知された再生開始時間に応じて前記記憶手段に記憶したコンテンツを再生する制御手段と、を有することを特徴とする通信装置。
【請求項９】
前記受信手段は、前記通信制御装置からコンテンツを送信するグループの通信装置の配信機器情報を受信し、当該配信機器情報を用いて前記他のグループに属する通信装置と接続し、前記コンテンツを受信することを特徴とする請求項８に記載の通信装置。
【請求項１０】
前記通信制御装置は、コンテンツの配信装置から配信されたコンテンツが、上位階層のグループに属する通信装置から、下位階層のグループに属する通信装置に順次配信される配信トポロジを構築し、
前記配信トポロジから前記通信装置が離脱した場合、前記配信トポロジを再構築することを特徴とする請求項８または９に記載の通信装置。
【請求項１１】
前記通信制御装置に対して、前記配信トポロジから離脱する離脱通知を送信する送信手段をさらに有し、
前記通信制御装置は、前記離脱通知を受信すると、前記配信トポロジから離脱した通信装置からコンテンツを受信していた下位階層のグループの通信装置が、前記離脱した通信装置に対してコンテンツを送信していた上位階層のグループの通信装置からコンテンツを受信するように前記配信トポロジを再構築することを特徴とする請求項１０に記載の通信装置。
【請求項１２】
通信手段と、複数の通信装置のグループ分けを行うグループ分け手段と、を有する通信制御装置の制御方法であって、
前記グループごとにコンテンツの再生開始時間を決定するステップと、
前記コンテンツの再生開始時間を各グループの通信装置に通知するステップと、
前記コンテンツの再生開始時間の早いグループから遅いグループへコンテンツが配信されるように制御するステップと、を有することを特徴とする制御方法。
【請求項１３】
通信制御装置によりグループ分けされ、他のグループに属する通信装置と通信する通信装置の制御方法であって、
前記他のグループに属する通信装置からコンテンツを受信するステップと、
受信した前記コンテンツを記憶手段に記憶するステップと、
前記通信制御装置から通知された再生開始時間に応じて前記記憶手段に記憶したコンテンツを再生するステップと、を有することを特徴とする制御方法。
【請求項１４】
コンピュータを、請求項２から７のいずれか１項に記載の通信制御装置として機能させるためのプログラム。
【請求項１５】
コンピュータを、請求項８から１１のいずれか１項に記載の通信装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント・サーバ型ネットワークとＰ２Ｐ型ネットワークの複合型の配信システムにおける通信制御技術に関する。
【背景技術】
【０００２】
ＡＬＭ（Ａｐｐｌｉｃａｔｉｏｎ Ｌａｙｅｒ Ｍｕｌｔｉｃａｓｔ）の技術を用いたコンテンツ配信システムでは、ノード端末（視聴者）の離脱によって配信トポロジ（コンテンツ配信経路）が掻き乱されるリスクを潜在的にかかえている。特にコンテンツ配信の同時性を重視するような放送型の配信システムでは、ノード端末の離脱によって生じた配信経路の断絶状態を短時間で再構築しないと、離脱したノード端末の配信経路の下位階層として接続されているノード端末に対してストリームが供給されなくなり、下位階層として接続されたノード端末でのコンテンツの再生が停止する事態が発生する。
【０００３】
このような事態を回避するためには、配信トポロジが再構築されるまでの間は、コンテンツ配信経路が断絶された下位階層のノード端末が直接配信サーバにアクセスしてコンテンツを取得する必要がある。しかしながら、ノード端末から配信サーバへのアクセスが集中すると、配信サーバの負荷が増大し、処理能力を超えるとサーバがダウンしてしまうおそれがある。このような事態に対して、特許文献１には、配信トポロジを離脱できるノード端末数を制限することで、配信経路の大規模な断絶が発生しないようにする方法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−９２００４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、配信トポロジからの離脱を希望しているノード端末に対して離脱を待たせることになり、視聴者はノード端末のコンテンツ再生機能を終了できなくなってしまう。
【０００６】
本発明は、上記課題に鑑みてなされ、その目的は、配信トポロジからの離脱を希望しているノード端末に対して離脱を待たせることなく、配信トポロジを再構築するまでの間の配信サーバの負荷を低減する技術を実現することである。
【課題を解決するための手段】
【０００７】
上記課題を解決し、目的を達成するために、本発明は、グループ分けされた複数の通信装置と、各グループに属する通信装置にコンテンツを配信する配信装置と、前記グループ分けを行う通信制御装置とを含むシステムにおいて、前記通信制御装置は、前記複数の通信装置のグループ分けを行うグループ分け手段と、前記グループごとに前記コンテンツの再生開始時間を決定する決定手段と、前記コンテンツの再生開始時間を各グループの通信装置に通知する通知手段と、前記コンテンツの再生開始時間の早いグループから遅いグループへコンテンツが配信されるように制御する制御手段と、を有し、前記通信装置は、前記コンテンツを受信する受信手段と、受信した前記コンテンツを記憶する記憶手段と、前記通信制御装置から通知された再生開始時間に応じて前記記憶手段に記憶したコンテンツを再生する制御手段と、を有する。
【発明の効果】
【０００８】
本発明によれば、配信トポロジからの離脱を希望しているノード端末に対して離脱を待たせることなく、配信トポロジを再構築するまでの間の配信サーバの負荷を低減することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態のシステム構成図および装置構成を示すブロック図。
【図２】本実施形態の配信トポロジの構成図。
【図３】本実施形態の配信トポロジの構築処理のシーケンス図。
【図４】本実施形態の配信トポロジに対するノード端末の追加処理のシーケンス図。
【図５】本実施形態の配信トポロジに対するノード端末の追加処理における接続制御サーバの動作を示すフローチャート。
【図６】本実施形態のグループリストを例示する図。
【図７】本実施形態のグループリスト登録処理を示すフローチャート。
【図８】本実施形態の配信トポロジに対するノード端末の追加処理におけるノード端末の動作を示すフローチャート。
【図９】本実施形態の配信トポロジに対するノード端末の追加処理における配信サーバの動作を示すフローチャート。
【図１０】本実施形態のノード端末が離脱したことにより再構築した配信トポロジの構成図。
【図１１】本実施形態の配信トポロジからのノード端末の離脱処理のシーケンス図。
【図１２】本実施形態の配信トポロジからのノード端末の離脱処理における接続制御サーバの動作を示すフローチャート。
【図１３】本実施形態の配信トポロジからの離脱処理における離脱するノード端末の動作を示すフローチャート。
【図１４】本実施形態の配信トポロジからの離脱処理における離脱したノード端末の下位階層のノード端末の動作を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下に、本発明を実施するための形態について詳細に説明する。尚、以下に説明する実施の形態は、本発明を実現するための一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。また、後述する各実施形態の一部を適宜組み合わせて構成してもよい。
【００１１】
［システム構成］
まず、図１を参照して、本実施形態のシステム構成について説明する。
【００１２】
本実施形態では、スポーツやコンサートなどの映像のコンテンツを配信サーバＡ１００（配信装置）からノード端末（ユーザ端末）Ｃ１００（通信装置）に配信するクライアント・サーバ型ネットワークと、グループ分けされた複数のノード端末Ｃ１００がグループ間で通信を行いコンテンツを送受信するＰ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）型ネットワークの複合型のシステムについて説明する。
【００１３】
本実施形態のシステムは、Ｐ２Ｐネットワークを構成する複数のグループに分けられた複数のノード端末Ｃ１００と、各グループに属するノード端末Ｃ１００のいずれかにコンテンツを配信する配信サーバＡ１００と、グループごとにコンテンツの再生を制御する接続制御サーバＢ１００とを含む。
【００１４】
ノード端末Ｃ１００は、配信サーバＡ１００および接続制御サーバＢ１００との間ではクライアント・サーバ型ネットワークにより通信を行い、ノード端末Ｃ１００間はＰ２Ｐ型ネットワークにより通信を行う通信装置である。ノード端末Ｃ１００は、例えば、携帯電話の一種であるスマートフォン、ノート型やタブレット型あるいはウェアラブルなパーソナルコンピュータ（ＰＣ）、メディアプレーヤなどである。
【００１５】
配信サーバＡ１００は、接続制御サーバＢ１００との間ではクライアント・サーバ型ネットワークにより通信を行い、Ｐ２Ｐネットワークの各グループのいずれかのノード端末Ｃ１００にコンテンツデータを配信するサーバコンピュータなどの配信装置である。
【００１６】
接続制御サーバＢ１００は、配信サーバＡ１００およびノード端末Ｃ１００との間でクライアント・サーバ型ネットワークにより通信を行い、Ｐ２Ｐネットワークを構成するノード端末Ｃ１００のグループ分けを行い、配信トポロジの構築（配信トポロジに対するノード端末Ｃ１００の追加、離脱処理）などを行うサーバコンピュータなどの通信制御装置である。
【００１７】
そして、本実施形態では、接続制御サーバＢ１００が、Ｐ２Ｐネットワークのグループごとにコンテンツの再生開始時間をずらす（下位階層のグループでのコンテンツの再生開始時間を上位階層のグループよりも遅延させる）制御、コンテンツの再生開始時間の早いグループから遅いグループへコンテンツを順次配信するように制御を行う。これにより、ノード端末Ｃ１００がネットワークから離脱した場合に配信トポロジを再構築するまでの間の配信サーバの負荷を低減する。
【００１８】
［装置構成］
次に、図１を参照して、本実施形態のシステムを構成する配信サーバＡ１００、接続制御サーバＢ１００およびノード端末Ｃ１００の構成および機能について説明する。
【００１９】
まず、配信サーバＡ１００について説明する。
【００２０】
配信サーバＡ１００は、制御部Ａ１０１、不揮発性メモリＡ１０２、作業用メモリＡ１０３、操作部Ａ１０４、表示部Ａ１０５、符号化部Ａ１０６、記録媒体Ａ１１０、通信部Ａ１２０を含む。
【００２１】
制御部Ａ１０１は、配信サーバＡ１００の全体を統括して制御する演算処理装置（ＣＰＵ）であって、後述する不揮発性メモリＡ１０２に格納されたプログラムを実行することで、後述する通信処理および制御処理を実現する。なお、制御部Ａ１０１が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。これは以下に説明するサーバのハードウェアについても同様であり、複数のハードウェアが処理を分担する構成としてよい。
【００２２】
不揮発性メモリＡ１０２は、電気的に消去・記録可能なメモリであり、例えば、ＥＥＰＲＯＭが用いられる。不揮発性メモリＡ１０２には、制御部Ａ１０１の動作用の定数、プログラム等が記録される。ここでいう、プログラムとは、本実施形態にて後述するシーケンスを実行するためのプログラムのことである。制御部Ａ１０１で実行される後述のプログラム等が格納される。
【００２３】
作業用メモリＡ１０３は、制御部Ａ１０１の動作用の定数、変数、不揮発性メモリＡ１０２から読み出したプログラム等を展開する作業領域として使用される。また、作業用メモリＡ１０３は、接続制御サーバＢ１００やノード端末Ｃ１００から受信したデータやノード端末Ｃ１００に配信するコンテンツデータを一時的に保持するバッファメモリや、表示部Ａ１０５の画像表示用メモリとして使用される。また、作業用メモリＡ１０３は、通信部Ａ１２０によって実施されるネットワーク接続処理に関わるパラメータなどを保存する領域として使用される。
【００２４】
操作部Ａ１０４は、ユーザからの各種操作を受け付ける各種スイッチ、ボタン、キーボード、マウス等の操作部材からなる。また、表示部Ａ１０５の表示パネルと一体構成されるタッチパネルも操作部Ａ１０４に含まれる。
【００２５】
表示部Ａ１０５は、コンテンツの表示、対話的な操作のための文字や図形や記号等のＧＵＩ（Ｇｒａｐｈｉｃａｌ Ｕｓｅｒ Ｉｎｔｅｒｆａｃｅ）の表示を行う。表示部Ａ１０５は、例えば、液晶ディスプレイ、有機ＥＬディスプレイ等の表示デバイスである。表示部Ａ１０５は、配信サーバＡ１００と一体化された構成であっても、配信サーバＡ１００に接続された外部装置であってもよい。配信サーバＡ１００は、表示部Ａ１０５と接続することができ、表示部Ａ１０５の表示を制御する機能を有していればよい。
【００２６】
符号化部Ａ１０６は、後述する記録媒体Ａ１１０に記録されているコンテンツデータを所定の符号化方式に従って符号化する。
【００２７】
記録媒体Ａ１１０は、ノード端末Ｃ１００に配信する符号化されたコンテンツデータを記録することができる。記録媒体Ａ１１０は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）が用いられる。記録媒体Ａ１１０は、配信サーバＡ１００に着脱可能であっても、配信サーバＡ１００に内蔵されていてもよい。配信サーバＡ１００は少なくとも記録媒体Ａ１１０にアクセスする手段を有していればよい。なお、記録媒体Ａ１１０記録されているコンテンツデータは符号化されていなくてもよい。
【００２８】
通信部Ａ１２０は、後述する接続制御サーバＢ１００やノード端末Ｃ１００と接続するためのインターフェースである。本実施形態の配信サーバＡ１００は、通信部Ａ１２０を介して、接続制御サーバＢ１００やノード端末Ｃ１００とデータの授受を行うことができる。本実施形態では、通信部Ａ１２０は、ルータＤ１００を経由して接続されるインターネット等のネットワークＥ１００を介して接続制御サーバＢ１００やノード端末Ｃ１００と通信を行う。なお、通信方法は、Ｅｔｈｅｒｎｅｔ（登録商標）や無線ＬＡＮ等、様々な通信方法が適用できる。
【００２９】
次に、接続制御サーバＢ１００について説明する。
【００３０】
接続制御サーバＢ１００は、制御部Ｂ１０１、不揮発性メモリＢ１０２、作業用メモリＢ１０３、操作部Ｂ１０４、表示部Ｂ１０５、記録媒体Ｂ１１０、通信部Ｂ１２０を含む。上記各ブロックの基本的な機能は配信サーバＡ１００と同様であるため詳細な説明は省略し、以下では、相違する部分を中心に説明する。
【００３１】
作業用メモリＢ１０３は、配信サーバＡ１００やノード端末Ｃ１００から受信したデータや後述するグループリストなどを一時的に保持するバッファメモリとして使用される。記録媒体Ｂ１１０は、配信サーバＡ１００やノード端末Ｃ１００から受信したデータや後述するグループリストなどを記録する。
【００３２】
次に、ノード端末Ｃ１００について説明する。
【００３３】
ノード端末Ｃ１００は、制御部Ｃ１０１、不揮発性メモリＣ１０２、作業用メモリＣ１０３、操作部Ｃ１０４、表示部Ｃ１０５、記録媒体Ｃ１１０、復号部Ｃ１０６、通信部Ｃ１２０を含む。上記各ブロックの基本的な機能は配信サーバＡ１００と同様であるため詳細な説明は省略し、以下では、相違する部分を中心に説明する。
【００３４】
ノード端末Ｃ１００には、ノード端末の基本的なソフトウェアであるＯＳ（オペレーティングシステム）と協働して応用的な機能を実現するアプリケーションがインストールされている。本実施形態のシステムにおけるノード端末Ｃ１００の各種処理は、アプリケーションにより提供されるソフトウェアを読み込むことにより実現される。なお、アプリケーションはノード端末にインストールされたＯＳの基本的な機能を利用するためのソフトウェアを有しているものとする。なお、ノード端末のＯＳが本実施形態における処理を実現するためのソフトウェアを有していてもよい。
【００３５】
復号部Ｃ１０６は、配信サーバＡ１００から配信される符号化されたコンテンツデータを復号する。復号されたコンテンツデータは、記録媒体Ｃ１１０に記録され、操作部Ｃ１０４からのユーザ操作に応じて表示部Ｃ１０５に表示（再生）される。
【００３６】
ルータＤ１００は、配信サーバＡ１００、接続制御サーバＢ１００およびノード端末Ｃ１００をそれぞれの通信部Ａ１２０、Ｂ１２０、Ｃ１２０を介してネットワークＥ１００に接続する中継機器である。また、ルータＤ１００は、無線ＬＡＮのアクセスポイントとしての機能を有し、通信部Ａ１２０、Ｂ１２０、Ｃ１２０を介してネットワークＥ１００に接続することで、配信サーバＡ１００と接続制御サーバＢ１００とノード端末Ｃ１００とが無線通信を行う。
【００３７】
［配信トポロジの構築処理］
次に、図２、図３および図４を参照して、本実施形態の接続制御サーバＢ１００による配信トポロジの構築処理について説明する。
【００３８】
図２は、本実施形態の配信トポロジを示した構成図である。
【００３９】
配信サーバＡ１００とノード端末Ｃ１００のネットワーク上でのつながりを矢印で示し、矢印の向きがデータの向きである。また、本実施形態では、ノード端末Ｃ１００はＣ１００ａ〜Ｃ１００ｌまで登場し、末尾のアルファベット順に配信トポロジに追加するものとする。また、接続制御サーバＢ１００は図示していないが、配信サーバＡ１００と全てのノード端末Ｃ１００とネットワークを介して通信可能に接続されているものとする。
【００４０】
本実施形態では、ノード端末Ｃ１００ａ〜Ｃ１００ｄまでをグループ１、ノード端末Ｃ１００ｅ〜Ｃ１００ｈまでをグループ２、ノード端末Ｃ１００ｉ〜Ｃ１００ｌまでをグループ３とし、各グループは隣接する上下の階層のグループのみと接続される。すなわち、グループ１は配信サーバＡ１００とグループ２、グループ２はグループ１とグループ３、グループ３はグループ２のみと接続される。また、同じグループ内のノード端末同士は接続されていない。
【００４１】
本実施形態では、後述する制御処理を行うことによって、配信トポロジからのノード端末の離脱が発生した場合に、離脱したノード端末からコンテンツを受信していたノード端末が一斉に配信サーバに再接続し、配信サーバの負荷が増大することを回避する。そのため、配信サーバに再接続する代わりに、離脱したノード端末の属するグループの、１つ上位のグループに属するノード端末と接続してコンテンツを受信する。これにより、配信サーバへの再接続が極端に増加し、配信サーバの負荷が増大することを回避できる。
【００４２】
図３は、図２の配信サーバＡ１００の追加からノード端末Ｃ１００ａの追加までの配信トポロジの構築処理の手順を示したシーケンス図である。
【００４３】
＜配信サーバＡ１００の配信トポロジへの追加処理＞
まず、配信サーバＡ１００の配信トポロジへの追加処理について説明する。
【００４４】
Ｓ３０１では、配信サーバＡ１００は、接続制御サーバＢ１００にアドレス情報を通知する。ここで、アドレス情報とは、ＩＰアドレス等のネットワーク接続に必要な識別情報である。
【００４５】
Ｓ３０２では、配信サーバＡ１００は、接続制御サーバＢ１００に送信能力情報を通知する。ここで、送信能力情報とは、配信サーバＡ１００の配信トポロジへのデータ送信速度のことである。送信能力情報は配信サーバＡ１００に接続された回線の種類から事前に設定されていてもよいし、通知直前に配信サーバＡ１００が試験的に通信速度の測定を行った結果でもよい。
【００４６】
Ｓ３０３では、配信サーバＡ１００は、接続制御サーバＢ１００に動画ビットレートを通知する。ここで、動画ビットレートとは、配信サーバＡ１００の記録媒体Ａ１１０に記録されたコンテンツ再生時の必要ビットレートである。受信機器の性能を鑑みて、複数の動画ビットレートによる配信コンテンツを持ち、複数の動画ビットレートを通知するようにしてもよい。
【００４７】
＜ノード端末Ｃ１００ａの配信トポロジへの追加処理＞
次に、ノード端末Ｃ１００ａの配信トポロジへの追加処理について説明する。
【００４８】
Ｓ３０４では、Ｓ３０１と同様に、ノード端末Ｃ１００ａは、接続制御サーバＢ１００にアドレス情報を通知する。
【００４９】
Ｓ３０５では、Ｓ３０２と同様に、ノード端末Ｃ１００ａは、接続制御サーバＢ１００に送信能力情報を通知する。
【００５０】
Ｓ３０６では、ノード端末Ｃ１００ａは、接続制御サーバＢ１００に動画ビットレート情報を要求する。
【００５１】
Ｓ３０７では、接続制御サーバＢ１００は、ノード端末Ｃ１００ａに動画ビットレート情報を通知する。ここで通知する動画ビットレートは、Ｓ３０３において配信サーバＡ１００から通知されたものである。
【００５２】
Ｓ３０８では、ノード端末Ｃ１００ａは、Ｓ３０７で接続制御サーバＢ１００から通知された動画ビットレートのうち、ユーザの操作により指定された動画ビットレートを、要求ビットレートとして判定する。
【００５３】
Ｓ３０９では、ノード端末Ｃ１００ａは、接続制御サーバＢ１００に要求ビットレート情報を通知する。
【００５４】
Ｓ３１０では、ノード端末Ｃ１００ａは、接続制御サーバＢ１００に配信機器情報を要求する。ここで、配信機器情報とは、ノード端末Ｃ１００ａに対して配信コンテンツを送信する機器の、ＩＰアドレス等のネットワーク接続に必要な識別情報である。
【００５５】
Ｓ３１１では、接続制御サーバＢ１００は、Ｓ３１０で受信したノード端末Ｃ１００ａからの配信機器情報要求に対して、通知する配信機器を判定する。判定方法については、後述する接続制御サーバＢ１００の動作フローにおいて詳述する。本実施形態では、配信機器を配信サーバＡ１００と判定する。
【００５６】
Ｓ３１２では、接続制御サーバＢ１００は、配信サーバＡ１００に受信機器情報を通知する。ここで、受信機器情報とは、配信コンテンツ情報を受信するためにネットワーク接続を要求してくる機器の、ＩＰアドレス等のネットワーク接続に必要な識別情報である。この受信機器情報を受信することによって、配信サーバＡ１００はその後にネットワーク接続を要求してくる機器を識別し、ネットワーク接続を許可するか否かを判定することができる。本実施形態では、受信機器はノード端末Ｃ１００ａである。
【００５７】
Ｓ３１３では、接続制御サーバＢ１００は、ノード端末Ｃ１００ａに配信機器情報を通知する。ここで、配信機器情報とは、配信コンテンツ情報を送信する機器の、ＩＰアドレス等のネットワーク接続に必要な識別情報である。
【００５８】
Ｓ３１４では、接続制御サーバＢ１００は、ノード端末Ｃ１００ａに通知する表示遅延時間情報（再生開始時間）を算出する。算出方法については、後述する接続制御サーバＢ１００の動作フローにおいて詳述する。本実施形態では、ノード端末Ｃ１００ａの表示遅延時間情報はｎ秒と算出する。
【００５９】
Ｓ３１５では、接続制御サーバＢ１００は、ノード端末Ｃ１００ａに表示遅延時間情報を通知する。
【００６０】
Ｓ３１６では、ノード端末Ｃ１００ａは、Ｓ３１３において接続制御サーバＢ１００から通知された配信機器情報に従い、配信サーバＡ１００にネットワーク接続を要求する。
【００６１】
Ｓ３１７では、配信サーバＡ１００は、Ｓ３１６においてノード端末Ｃ１００ａから受けたネットワーク接続要求が、Ｓ３１２において接続制御サーバＢ１００から通知された受信機器情報と一致するか判定する。そして、一致する場合は接続を承認してネットワーク接続を確立する。
【００６２】
Ｓ３１８では、ノード端末Ｃ１００ａは、配信サーバＡ１００にコンテンツの配信開始を要求する。
【００６３】
Ｓ３１９では、配信サーバＡ１００は、Ｓ３１８においてノード端末Ｃ１００ａから要求を受けたコンテンツの配信を開始する。
【００６４】
Ｓ３２０では、ノード端末Ｃ１００ａは、Ｓ３１５において接続制御サーバＢ１００から通知された表示遅延時間情報に応じてコンテンツの表示を遅延させる。
【００６５】
Ｓ３２１では、ノード端末Ｃ１００ａは、配信コンテンツの表示を開始する。
【００６６】
同様にして、ノード端末Ｃ１００ｂ〜Ｃ１００ｄもＳ３０４〜Ｓ３２１の処理を行い、配信トポロジに追加される。
【００６７】
＜ノード端末Ｃ１００ｅの配信トポロジへの追加処理＞
図４は、図２のグループ２のノード端末Ｃ１００ｅの配信トポロジへの追加処理の手順を示したシーケンス図である。
【００６８】
Ｓ４０１では、Ｓ３０４と同様に、ノード端末Ｃ１００ｅは、接続制御サーバＢ１００にアドレス情報を通知する。
【００６９】
Ｓ４０２では、Ｓ３０５と同様に、ノード端末Ｃ１００ｅは、接続制御サーバＢ１００に送信能力情報を通知する。
【００７０】
Ｓ４０３では、Ｓ３０６と同様に、ノード端末Ｃ１００ｅは、接続制御サーバＢ１００に動画ビットレート情報を要求する。
【００７１】
Ｓ４０４では、Ｓ３０７と同様に、接続制御サーバＢ１００は、ノード端末Ｃ１００ｅに動画ビットレート情報を通知する。
【００７２】
Ｓ４０５では、Ｓ３０８と同様に、ノード端末Ｃ１００ｅは、要求ビットレート情報を判定する。
【００７３】
Ｓ４０６では、Ｓ３０９と同様に、ノード端末Ｃ１００ｅは、接続制御サーバＢ１００に要求ビットレート情報を通知する。
【００７４】
Ｓ４０７では、Ｓ３１０と同様に、ノード端末Ｃ１００ｅは、接続制御サーバＢ１００に配信機器情報を要求する。
【００７５】
Ｓ４０８では、接続制御サーバＢ１００は、Ｓ４０７で受信したノード端末Ｃ１００ｅからの配信機器情報要求に対して、通知する配信機器を判定する。判定方法については、後述する接続制御サーバＢ１００の動作フローにおいて詳述する。本実施形態では、配信機器はノード端末Ｃ１００ａとノード端末Ｃ１００ｂと判定する。
【００７６】
Ｓ４０９では、Ｓ３１２と同様に、接続制御サーバＢ１００は、ノード端末Ｃ１００ａに受信機器情報を通知する。
【００７７】
Ｓ４１０では、Ｓ４０９と同様に、接続制御サーバＢ１００は、ノード端末Ｃ１００ｂに受信機器情報を通知する。
【００７８】
Ｓ４１１では、Ｓ３１３と同様に、接続制御サーバＢ１００は、ノード端末Ｃ１００ｅに配信機器情報を通知する。
【００７９】
Ｓ４１２では、Ｓ３１４と同様に、接続制御サーバＢ１００は、表示遅延時間情報を算出する。本実施形態では、ノード端末Ｃ１００ｅの表示遅延時間情報は２×ｎ秒と算出する。
【００８０】
Ｓ４１３では、Ｓ３１５と同様に、接続制御サーバＢ１００は、ノード端末Ｃ１００ｅに表示遅延時間情報を通知する。
【００８１】
Ｓ４１４では、Ｓ３１６と同様に、ノード端末Ｃ１００ｅは、ノード端末Ｃ１００ａにネットワーク接続を要求する。
【００８２】
Ｓ４１５では、Ｓ３１７と同様に、ノード端末Ｃ１００ａは、接続を承認してネットワーク接続を確立する。
【００８３】
Ｓ４１６では、ノード端末Ｃ１００ｅは、ノード端末Ｃ１００ａに配信コンテンツの配信開始を要求する。
【００８４】
Ｓ４１７では、ノード端末Ｃ１００ａは、Ｓ４１６においてノード端末Ｃ１００ｅから要求を受けた配信コンテンツの配信を開始する。
【００８５】
Ｓ４１８では、Ｓ４１４と同様に、ノード端末Ｃ１００ｅは、ノード端末Ｃ１００ｂにネットワーク接続を要求する。
【００８６】
Ｓ４１９では、Ｓ４１５と同様に、ノード端末Ｃ１００ｂは、接続を承認してネットワーク接続を確立する。
【００８７】
Ｓ４２０では、ノード端末Ｃ１００ｅは、ノード端末Ｃ１００ｂに配信コンテンツの配信開始を要求する。
【００８８】
Ｓ４２１では、ノード端末Ｃ１００ｂは、Ｓ４２０においてノード端末Ｃ１００ｅから要求を受けた配信コンテンツの配信を開始する。
【００８９】
Ｓ４２２では、ノード端末Ｃ１００ｅは、Ｓ４１３において接続制御サーバＢ１００から通知された表示遅延時間情報に応じてコンテンツの表示を遅延させる。
【００９０】
Ｓ４２３では、ノード端末Ｃ１００ｅは、配信コンテンツの表示を開始する。
【００９１】
本実施形態では配信機器はノード端末Ｃ１００ａとノード端末Ｃ１００ｂとしたが、ノード端末Ｃ１００ｃ〜Ｃ１００ｄを含む、グループ１の全てのノード端末を配信機器としてもよい。同様にして、ノード端末Ｃ１００ｆ〜Ｃ１００ｈも配信トポロジに追加される。
【００９２】
また、グループ３のノード端末の配信トポロジへの追加処理も、本実施形態のグループ１がグループ２に置き換わる形で同様にして行われる。
【００９３】
＜接続制御サーバＢ１００の動作説明＞
次に、図３および図４の処理を実現するための、接続制御サーバＢ１００の動作について、図５、図６および図７を参照して説明する。
【００９４】
図５は、本実施形態の接続制御サーバＢ１００の動作を示すフローチャートである。なお、図５の処理は、接続制御サーバＢ１００の制御部Ｂ１０１が入力信号やプログラムに従い、接続制御サーバＢ１００の各部を制御することにより実現される。以降の接続制御サーバＢ１００の動作フローについても同様である。
【００９５】
Ｓ５０１では、制御部Ｂ１０１は、通信部Ｂ１２０を介して、配信サーバＡ１００からのアドレス情報を受信したか否かを判定し、受信した場合はＳ５０２の処理に進み、受信しなかった場合はＳ５０１の処理に戻る。
【００９６】
Ｓ５０２では、制御部Ｂ１０１は、Ｓ５０１で受信したアドレス情報を作業用メモリＢ１０３に保持する。本ステップの処理は、Ｓ３０１の処理に対応する。
【００９７】
Ｓ５０３では、制御部Ｂ１０１は、通信部Ｂ１２０を介して、配信サーバＡ１００からの送信能力情報を受信したか否かを判定し、受信した場合はＳ５０４の処理に進み、受信しなかった場合はＳ５０３の処理に戻る。
【００９８】
Ｓ５０４では、制御部Ｂ１０１は、Ｓ５０３で受信した送信能力情報を作業用メモリＢ１０３に保持する。本ステップの処理は、Ｓ３０２の処理に対応する。
【００９９】
Ｓ５０５では、制御部Ｂ１０１は、通信部Ｂ１２０を介して、配信サーバＡ１００からの動画ビットレート情報を受信したか否かを判定し、受信した場合はＳ５０６の処理に進み、受信しなかった場合はＳ５０５の処理に戻る。
【０１００】
Ｓ５０６では、制御部Ｂ１０１は、Ｓ５０５で受信した動画ビットレート情報を作業用メモリＢ１０３に保持する。
【０１０１】
Ｓ５０７では、制御部Ｂ１０１は、通信部Ｂ１２０を介して、ノード端末Ｃ１００からのアドレス情報を受信したか否かを判定し、受信した場合はＳ５０８の処理に進み、受信しなかった場合はＳ５０７の処理に戻る。
【０１０２】
Ｓ５０８では、制御部Ｂ１０１は、Ｓ５０７で受信したアドレス情報を作業用メモリＢ１０３に保持する。
【０１０３】
Ｓ５０９では、制御部Ｂ１０１は、通信部Ｂ１２０を介して、ノード端末Ｃ１００からの送信能力情報を受信したか否かを判定し、受信した場合はＳ５１０の処理に進み、受信しなかった場合はＳ５０９の処理に戻る。
【０１０４】
Ｓ５１０では、制御部Ｂ１０１は、Ｓ５０９で受信した送信能力情報を作業用メモリＢ１０３に保持する。
【０１０５】
Ｓ５１１では、制御部Ｂ１０１は、通信部Ｂ１２０を介して、ノード端末Ｃ１００からの動画ビットレート情報要求を受信したか否かを判定し、受信した場合はＳ５１２の処理に進み、受信しなかった場合はＳ５１１の処理に戻る。
【０１０６】
Ｓ５１２では、制御部Ｂ１０１は、通信部Ｂ１２０を介して、Ｓ５０６で作業用メモリＢ１０３に保持した動画ビットレート情報を、ノード端末Ｃ１００に通知する。本ステップの処理は、Ｓ３０７、Ｓ４０４の処理に対応する。
【０１０７】
Ｓ５１３では、制御部Ｂ１０１は、通信部Ｂ１２０を介して、ノード端末Ｃ１００からの要求ビットレート情報を受信したか否かを判定し、受信した場合はＳ５１４の処理に進み、受信しなかった場合はＳ５１３の処理に戻る。
【０１０８】
Ｓ５１４では、制御部Ｂ１０１は、Ｓ５１３で受信した要求ビットレート情報を作業用メモリＢ１０３に保持する。
【０１０９】
Ｓ５１５では、制御部Ｂ１０１は、Ｓ５０８、Ｓ５１０、Ｓ５１４で作業用メモリＢ１０３に保持したノード端末の各情報を、作業用メモリＢ１０３にグループリスト（グループ情報）として登録する。図６にグループリストを例示する。グループリストには、少なくともグループ番号６０１、アドレス情報６０２、送信能力情報６０３、要求ビットレート６０４の領域がある。グループリストのそれぞれの領域に、Ｓ５０８で保持したアドレス情報と、Ｓ５１０で保持した送信能力情報と、Ｓ５１４で保持した要求ビットレートが対応付けられて登録される。グループ番号６０１はより配信サーバＡ１００に近い上位階層のグループから昇順に設定され、後述するグループリスト登録処理によって決定される。
【０１１０】
＜グループリスト登録処理＞
図７は、ノード端末情報のグループリスト登録処理を示すフローチャートである。
【０１１１】
Ｓ７０１では、制御部Ｂ１０１は、グループリストを参照して、最も下位階層のグループに属する全てのノード端末と、追加するノード端末の送信能力情報の合計を算出する。例えば、図３に示すノード端末Ｃ１００ａの追加処理の場合、ノード端末Ｃ１００ａが最初に登録されるノード端末になるため、グループリスト最も下位階層に属するノード端末は未だなく、ノード端末Ｃ１００ａの送信能力情報が合計送信能力情報となる。一方、図４に示すノード端末Ｃ１００ｅの追加処理の場合、ノード端末Ｃ１００ａ〜Ｃ１００ｄが既にグループリストに登録されている。このため、ノード端末Ｃ１００ａ〜Ｃ１００ｄの送信能力情報に、ノード端末Ｃ１００ｅの送信能力情報を加えたものが合計送信能力情報となる。
【０１１２】
Ｓ７０２では、制御部Ｂ１０１は、グループリストを参照して、最も下位階層のグループに属する全てのノード端末と、追加するノード端末の要求ビットレート情報の合計を算出する。図３に示すノード端末Ｃ１００ａの追加処理の場合、ノード端末Ｃ１００ａの要求ビットレート情報が合計要求ビットレート情報となる。図４に示すノード端末Ｃ１００ｅの追加処理の場合、ノード端末Ｃ１００ａ〜Ｃ１００ｅの要求ビットレート情報の合計が合計要求ビットレート情報となる。
【０１１３】
Ｓ７０３では、制御部Ｂ１０１は、グループリストを参照して、下から２番目のグループに属する全てのノード端末の送信能力情報の合計を算出する。例えば、図３に示すノード端末Ｃ１００ａの追加処理の場合、下から２番目のグループは配信サーバＡ１００になるため、配信サーバＡ１００の送信能力情報が合計送信能力情報となる。一方、図４に示すノード端末Ｃ１００ｅの追加処理の場合、下から２番目のグループはグループ１になるため、ノード端末Ｃ１００ａ〜Ｃ１００ｄの送信能力情報の合計が合計送信能力情報となる。
【０１１４】
Ｓ７０４では、制御部Ｂ１０１は、Ｓ７０１で算出した合計送信能力情報と、Ｓ７０２で算出した合計要求ビットレート情報を比較し、より高いビットレートの方を判定する。そして、制御部Ｂ１０１は、より高い方のビットレートが、Ｓ７０３で算出した下から２番目のグループの合計送信能力情報以上か否かを判定し、合計送信能力以上である場合はＳ７０５の処理に進み、合計送信能力未満である場合はＳ７０７の処理に進む。
【０１１５】
Ｓ７０５では、制御部Ｂ１０１は、グループリストにさらに下位階層のグループを作成する。グループリストを参照し、最も大きいグループ番号よりも１大きいグループ番号を、追加するノード端末のグループ番号として作業用メモリＢ１０３に保持する。
【０１１６】
Ｓ７０６では、制御部Ｂ１０１は、Ｓ７０５で作業用メモリＢ１０３に保持したグループ番号を、追加するノード端末のグループ番号６０１としてグループリストに登録する。また、制御部Ｂ１０１は、Ｓ５０８で保持したアドレス情報６０２、Ｓ５１０で保持した送信能力情報６０３、Ｓ５１４で保持した要求ビットレート６０４を対応付けて登録する。
【０１１７】
Ｓ７０７では、制御部Ｂ１０１は、グループリストを参照し、最も大きいグループ番号を、追加するノード端末のグループ番号６０１としてグループリストに登録する。グループリストには、Ｓ５０８で保持したアドレス情報６０２、Ｓ５１０で保持した送信能力情報６０３、Ｓ５１４で保持した要求ビットレート６０４を対応付けて登録する。
【０１１８】
Ｓ５１６では、制御部Ｂ１０１は、通信部Ｂ１２０を介して、ノード端末Ｃ１００からの配信機器情報要求を受信したか否かを判定し、受信した場合はＳ５１７の処理に進み、受信しなかった場合はＳ５１６の処理に戻る。
【０１１９】
Ｓ５１７では、制御部Ｂ１０１は、Ｓ５１５で登録したグループリストに基づき、Ｓ５１６において配信機器情報要求を通知したノード端末Ｃ１００の属するグループよりも一つ上のグループに属する１つ以上のノード端末を、配信機器として判定する。このとき、通知機器として判定するノード端末は１つ上のグループに属するノード端末のうち、どれを選択してもよい。送信能力に余裕のあるものを選択してもよいし、複数のノード端末を選択してもよい。本ステップの処理は、Ｓ３１１、Ｓ４０８の処理に対応する。
【０１２０】
Ｓ５１８では、制御部Ｂ１０１は、通信部Ｂ１２０を介して、Ｓ５１７で配信機器として判定した全ての機器に対して、ノード端末Ｃ１００のアドレス情報を、受信機器情報として通知する。本ステップの処理は、Ｓ３１２、Ｓ４０９の処理に対応する。
【０１２１】
Ｓ５１９では、制御部Ｂ１０１は、通信部Ｂ１２０を介して、ノード端末Ｃ１００に対して、Ｓ５１７で配信機器として判定した全ての機器のアドレス情報を、配信機器情報として通知する。本ステップの処理は、Ｓ３１３、Ｓ４１１の処理に対応する。
【０１２２】
Ｓ５２０では、制御部Ｂ１０１は、表示遅延時間情報を算出する。ここで表示遅延時間情報とは、配信コンテンツを受信したノード端末が、そのコンテンツの表示を開始するまでの時間（再生開始時間）である。表示遅延時間情報の単位時間は、再接続（配信トポロジの再構築）に要する時間よりも長い時間に設定する。例えば図２のグループ１に属するノード端末Ｃ１００ａ〜Ｃ１００ｄが配信トポロジから離脱した場合に、グループ２に属するノード端末Ｃ１００ｅａ〜Ｃ１００ｈが配信サーバＡ１００とのネットワーク接続を再確立するまでの時間よりも長く設定される。そのため、接続制御サーバＢ１００は試験的に各グループのネットワーク再確立時間を、配信コンテンツの配信開始前に計測してもよいし、統計的に十分と考えられる再確立時間を予め分析し、それよりも長い時間を設定してもよい。本実施形態では、ｎ秒を表示遅延時間とし、グループが下位階層になるごとに加算する。つまり、図２のグループ１の表示遅延時間はｎ秒、グループ２の表示遅延時間はｎ×２秒、グループ３の表示遅延時間はｎ×３秒とする。
【０１２３】
このように表示遅延時間を設定することで、あるノード端末が離脱し、それまでそのノード端末から配信コンテンツを受信していたノード端末の配信コンテンツの送信が停止されても、表示遅延時間中にさらに上位階層のグループのノード端末と再接続する。これにより、配信コンテンツの表示が停止することなく、配信トポロジを再構築することができる。なお、コンテンツの内容によって表示遅延時間を可変としてもよい。本ステップの処理は、Ｓ３１４、Ｓ４１２の処理に対応する。
【０１２４】
Ｓ５２１では、制御部Ｂ１０１は、通信部Ｂ１２０を介して、ノード端末Ｃ１００に対して、Ｓ５２０で算出した表示遅延時間情報を通知する。本ステップの処理は、Ｓ３１５、Ｓ４１３の処理に対応する。
【０１２５】
Ｓ５２２では、制御部Ｂ１０１は、操作部Ｂ１０４を介してユーザからシステム停止が指示されたか否かを判定し、指示された場合は処理を終了し、指示されなかった場合はＳ５０７の処理に戻る。
【０１２６】
＜ノード端末Ｃ１００の動作説明＞
次に、図３および図４の処理を実現するための、ノード端末Ｃ１００の動作について、図８を参照して説明する。
【０１２７】
図８は、本実施形態のノード端末Ｃ１００の動作を示すフローチャートである。なお、本フローチャートに示す処理は、ノード端末Ｃ１００の制御部Ｃ１０１が入力信号やプログラムに従い、ノード端末Ｃ１００の各部を制御することにより実現される。以降のノード端末Ｃ１００の動作フローについても同様である。
【０１２８】
＜ノード端末Ｃ１００の配信コンテンツの受信動作＞
まず、ノード端末Ｃ１００の配信コンテンツの受信動作について説明する。
【０１２９】
Ｓ８０１では、制御部Ｃ１０１は、通信部Ｃ１２０を介して、接続制御サーバＢ１００に対して、作業用メモリＣ１０３に保持されたアドレス情報を通知する。ここでアドレス情報はルータＤ１００によってネットワーク接続時に取得されるが、事前に作業用メモリＣ１０３に格納されるものとする。また、本実施形態の動作の間、アドレス情報が変化しないようにするためのネットワーク通信を随時行うものとする。本ステップの処理は、Ｓ３０４、Ｓ４０１の処理に対応する。
【０１３０】
Ｓ８０２では、制御部Ｃ１０１は、通信部Ｃ１２０を介して、接続制御サーバＢ１００に対して、作業用メモリＣ１０３に保持された送信能力情報を通知する。本ステップの処理は、Ｓ３０５、Ｓ４０２の処理に対応する。
【０１３１】
Ｓ８０３では、制御部Ｃ１０１は、通信部Ｃ１２０を介して、接続制御サーバＢ１００に対して、動画ビットレート情報要求を通知する。本ステップの処理は、Ｓ３０６、Ｓ４０３の処理に対応する。
【０１３２】
Ｓ８０４では、制御部Ｃ１０１は、通信部Ｃ１２０を介して、接続制御サーバＢ１００からの動画ビットレート情報を受信したか否かを判定し、受信した場合はＳ８０５の処理に進み、受信しなかった場合はＳ８０４の処理に戻る。
【０１３３】
Ｓ８０５では、制御部Ｃ１０１は、表示部Ｃ１０５を介して、Ｓ８０４で受信した選択可能な動画ビットレート情報をユーザに提示し、操作部Ｃ１０４を介して、ユーザにより選択された動画ビットレート情報を、要求ビットレート情報として判定する。本ステップの処理は、Ｓ３０８、Ｓ４０５の処理に対応する。
【０１３４】
Ｓ８０６では、制御部Ｃ１０１は、通信部Ｃ１２０を介して、接続制御サーバＢ１００に対して、Ｓ８０５で判定した要求ビットレート情報を通知する。本ステップの処理は、Ｓ３０９、Ｓ４０６の処理に対応する。
【０１３５】
Ｓ８０７では、制御部Ｃ１０１は、通信部Ｃ１２０を介して、接続制御サーバＢ１００に対して、配信機器情報要求を通知する。本ステップの処理は、Ｓ３１０、Ｓ４０７の処理に対応する。
【０１３６】
Ｓ８０８では、制御部Ｃ１０１は、通信部Ｃ１２０を介して、接続制御サーバＢ１００からの配信機器情報を受信したか否かを判定し、受信した場合はＳ８０９の処理に進み、受信しなかった場合はＳ８０８の処理に戻る。
【０１３７】
Ｓ８０９では、制御部Ｃ１０１は、通信部Ｃ１２０を介して、接続制御サーバＢ１００からの表示遅延時間情報を受信したか否かを判定し、受信した場合はＳ８１０の処理に進み、受信しなかった場合はＳ８０９の処理に戻る。
【０１３８】
Ｓ８１０では、制御部Ｃ１０１は、通信部Ｃ１２０を介して、Ｓ８０８において受信した配信機器情報の機器に対して、接続要求を通知する。本ステップの処理は、Ｓ３１６、Ｓ４１４、Ｓ４１８の処理に対応する。
【０１３９】
Ｓ８１１では、制御部Ｃ１０１は、通信部Ｃ１２０を介して、Ｓ８１０において接続要求を通知した機器からの接続承認を受信したか否かを判定し、受信した場合はＳ８１２の処理に進み、受信しなかった場合はＳ８１１の処理に戻る。
【０１４０】
Ｓ８１２では、制御部Ｃ１０１は、通信部Ｃ１２０を介して、Ｓ８０８において受信した配信機器情報の機器に対して、配信開始要求を通知する。本ステップの処理は、Ｓ３１８、Ｓ４１７、Ｓ４２０の処理に対応する。
【０１４１】
Ｓ８１３では、制御部Ｃ１０１は、通信部Ｃ１２０を介して、Ｓ８１２において配信開始要求を通知した機器から配信コンテンツを受信したか否かを判定し、受信した場合はＳ８１４の処理に進み、受信しなかった場合はＳ８１３の処理に戻る。
【０１４２】
Ｓ８１４では、制御部Ｃ１０１は、記録タスクを開始する。記録タスクでは、Ｓ８１３で受信を開始した配信コンテンツを記録媒体Ｃ１１０に記録する動作を、配信コンテンツのデータパケットを受信するごとに繰り返す。記録した配信コンテンツは、後述するＳ８１６での表示のためのバッファと、下位階層のグループに属するノード端末への送信のために使用される。そのため、配信コンテンツの記録媒体Ｃ１１０への記録は、コンテンツの配信完了まで継続する。
【０１４３】
Ｓ８１５では、制御部Ｃ１０１は、通信部Ｃ１２０を介して、Ｓ８０９において受信した表示遅延時間情報に示される表示遅延時間か否かを判定し、開始時間である場合はＳ８１６の処理に進み、そうでない場合はＳ８１５の処理に戻る。
【０１４４】
Ｓ８１６では、制御部Ｃ１０１は、記録媒体Ｃ１１０に記録された配信コンテンツを、復号部Ｃ１０６を介して復号し、復号したコンテンツデータを表示部Ｃ１０５に表示する。この表示処理は、コンテンツの配信完了まで、あるいは、操作部Ｃ１０４を介して、ユーザから表示中止指示を受けるまで継続する。本ステップの処理は、Ｓ３２１、Ｓ４２３の処理に対応する。
【０１４５】
＜ノード端末Ｃ１００の配信コンテンツの送信動作＞
次に、ノード端末Ｃ１００の配信コンテンツの送信動作について説明する。
【０１４６】
Ｓ８１７では、制御部Ｃ１０１は、通信部Ｃ１２０を介して、接続制御サーバＢ１００からの受信機器情報を受信したか否かを判定し、受信した場合はＳ８１８の処理に進み、受信しなかった場合はＳ８１７の処理に戻る。
【０１４７】
Ｓ８１８では、制御部Ｃ１０１は、Ｓ８１７で受信した受信機器情報を作業用メモリＣ１０３に保持する。
【０１４８】
Ｓ８１９では、制御部Ｃ１０１は、通信部Ｃ１２０を介して、受信側ノード端末Ｃ１００からの接続要求を受信したか否かを判定し、受信した場合はＳ８２０の処理に進み、受信しなかった場合はＳ８１９の処理に戻る。
【０１４９】
Ｓ８２０では、制御部Ｃ１０１は、Ｓ８１９で受信した接続要求がＳ８１８で作業用メモリＣ１０３に保持した受信機器情報の示す受信機器からか否かを判定し、保持した受信機器からの場合はＳ８２１の処理に進み、そうでない場合はＳ８２４の処理に進む。
【０１５０】
Ｓ８２１では、制御部Ｃ１０１は、Ｓ８１９で受信した接続要求を承認し、通信部Ｃ１２０を介して、受信側ノード端末Ｃ１００とのネットワーク接続を確立する。本ステップの処理は、Ｓ４１５、Ｓ４１９の処理に対応する。
【０１５１】
Ｓ８２２では、制御部Ｃ１０１は、通信部Ｃ１２０を介して、受信側ノード端末Ｃ１００からの配信開始要求を受信したか否かを判定し、受信した場合はＳ８２３の処理に進み、受信しなかった場合はＳ８２２の処理に戻る。
【０１５２】
Ｓ８２３では、制御部Ｃ１０１は、配信タスクを起動する。配信タスクでは、制御部Ｃ１０１は、通信部Ｃ１２０を介して、受信側ノード端末Ｃ１００に対して、記録媒体Ｃ１１０に記録された配信コンテンツを配信する動作を繰り返す。本ステップの処理は、Ｓ４１７、Ｓ４２１の処理に対応する。
【０１５３】
Ｓ８２４では、制御部Ｃ１０１は、Ｓ８１９で受信した接続要求を拒否する。
【０１５４】
Ｓ８２５では、制御部Ｃ１０１は、操作部Ｃ１０４を介してユーザからシステム停止が指示されたか否かを判定し、指示された場合は処理を終了し、指示されなかった場合はＳ８１７の処理に戻る。
【０１５５】
＜配信サーバＡ１００の動作説明＞
次に、図３の処理を実現するための、配信サーバＡ１００の動作について、図９を参照して説明する。
【０１５６】
図９は、本実施形態の配信サーバＡ１００の動作を示すフローチャートである。なお、図９の処理は、配信サーバＡ１００の制御部Ａ１０１が入力信号やプログラムに従い、配信サーバＡ１００の各部を制御することにより実現される。以降の配信サーバＡ１００の動作フローについても同様である。
【０１５７】
Ｓ９０１では、制御部Ａ１０１は、通信部Ａ１２０を介して、接続制御サーバＢ１００に対して、作業用メモリＡ１０３に保持されたアドレス情報を通知する。本ステップの処理は、Ｓ３０１の処理に対応する。
【０１５８】
Ｓ９０２では、制御部Ａ１０１は、通信部Ａ１２０を介して、接続制御サーバＢ１００に対して、作業用メモリＣ１０３に保持された送信能力情報を通知する。本ステップの処理は、Ｓ３０２の処理に対応する。
【０１５９】
Ｓ９０３では、制御部Ａ１０１は、通信部Ａ１２０を介して、接続制御サーバＢ１００に対して、動画ビットレートを通知する。本ステップの処理は、Ｓ３０３の処理に対応する。
【０１６０】
Ｓ９０４では、制御部Ａ１０１は、通信部Ａ１２０を介して、接続制御サーバＢ１００からの受信機器情報を受信したか否かを判定し、受信した場合はＳ９０５の処理に進み、受信しなかった場合はＳ９０４の処理に戻る。
Ｓ９０５では、制御部Ａ１０１は、Ｓ９０４で受信した受信機器情報を作業用メモリＡ１０３に保持する。本ステップの処理は、Ｓ３１２の処理に対応する。
【０１６１】
Ｓ９０６では、制御部Ａ１０１は、通信部Ａ１２０を介して、ノード端末Ｃ１００からの接続要求を受信したか否かを判定し、受信した場合はＳ９０７の処理に進み、受信しなかった場合はＳ９０６の処理に戻る。
【０１６２】
Ｓ９０７では、制御部Ａ１０１は、Ｓ９０６で受信した接続要求が、Ｓ９０５で作業用メモリＡ１０３に保持した受信機器情報が示す受信機器からか否かを判定し、保持した受信機器からの場合はＳ９０８の処理に進み、そうでない場合はＳ９１１の処理に進む。
【０１６３】
Ｓ９０８では、制御部Ａ１０１は、Ｓ９０６で受信した接続要求を承認し、通信部Ａ１２０を介して、ノード端末Ｃ１００とのネットワーク接続を確立する。本ステップの処理は、Ｓ３１７の処理に対応する。
【０１６４】
Ｓ９０９では、制御部Ａ１０１は、通信部Ａ１２０を介して、ノード端末Ｃ１００からの配信開始要求を受信したか否かを判定し、受信した場合はＳ９１０の処理に進み、受信しなかった場合はＳ９０９の処理に戻る。
【０１６５】
Ｓ９１０では、制御部Ａ１０１は、通信部Ａ１２０を介して、ノード端末Ｃ１００に対して、記録媒体Ａ１１０に記録された配信コンテンツを配信開始する。本ステップの処理は、Ｓ３１９の処理に対応する。
【０１６６】
Ｓ９１１では、制御部Ａ１０１は、Ｓ９０６で受信した接続要求を拒否する。
【０１６７】
Ｓ９１２では、制御部Ａ１０１は、操作部Ａ１０４を介してユーザからシステム停止が指示されたか否かを判定し、指示された場合は処理を終了し、指示されなかった場合はＳ９０４の処理に戻る。
【０１６８】
［配信トポロジの再構築処理］
次に、図１０および図１１を参照して、本実施形態の接続制御サーバＢ１００による配信トポロジの再構築処理について説明する。
【０１６９】
図１０は、本実施形態のノード端末が離脱したことにより再構築した配信トポロジの構成図である。
【０１７０】
配信トポロジからあるノード端末が離脱した場合、そのノード端末から配信コンテンツを受信していたノード端末が、離脱したノード端末（離脱ノード端末）に配信コンテンツを送信していた上位階層のグループのノード端末から配信コンテンツを受信するように配信トポロジが再構築される。図１０では、ノード端末Ｃ１００ａが離脱したため、ノード端末Ｃ１００ａから配信コンテンツを受信していたノード端末Ｃ１００ｅ、Ｃ１００ｆが、ノード端末Ｃ１００ａに配信コンテンツを送信していた配信サーバＡ１００から、配信コンテンツを受信するように配信トポロジが再構築される。
【０１７１】
＜ノード端末Ｃ１００ａの配信トポロジからの離脱処理＞
図１１は、図１０のノード端末Ｃ１００ａの配信トポロジからの離脱処理の手順を示したシーケンス図である。
【０１７２】
Ｓ１１０１では、ノード端末Ｃ１００ａは、ユーザからの終了操作を検知する。
【０１７３】
Ｓ１１０２では、ノード端末Ｃ１００ａは、接続制御サーバＢ１００に、配信トポロジから離脱するためのネットワークの切断通知（離脱通知）を送信する。
【０１７４】
Ｓ１１０３では、ノード端末Ｃ１００ａは、ネットワークを切断する。
【０１７５】
Ｓ１１０４では、ノード端末Ｃ１００ｅは、ノード端末Ｃ１００ａとのネットワーク接続の切断を検知する。
【０１７６】
Ｓ１１０５では、Ｓ４０７と同様に、ノード端末Ｃ１００ｅは、接続制御サーバＢ１００に配信機器情報を要求する。
【０１７７】
Ｓ１１０６では、接続制御サーバＢ１００は、Ｓ１１０５で受信したノード端末Ｃ１００ｅからの配信機器情報要求に対して、通知する配信機器を判定する。判定方法については、後述する接続制御サーバＢ１００の動作フローにおいて詳述する。本実施形態では、配信機器を配信サーバＡ１００と判定する。
【０１７８】
Ｓ１１０７では、Ｓ４０９と同様に、接続制御サーバＢ１００は、配信サーバＡ１００に受信機器情報を通知する。
【０１７９】
Ｓ１１０８では、Ｓ４１１と同様に、接続制御サーバＢ１００は、ノード端末Ｃ１００ｅに配信機器情報を通知する。
【０１８０】
Ｓ１１０９では、Ｓ４１８と同様に、ノード端末Ｃ１００ｅは、配信サーバＡ１００にネットワーク接続を要求する。
【０１８１】
Ｓ１１１０では、Ｓ４１９と同様に、配信サーバＡ１００は、接続を承認してネットワーク接続を確立する。
【０１８２】
Ｓ１１１１では、ノード端末Ｃ１００ｅは、配信サーバＡ１００に配信コンテンツの配信開始を要求する。
【０１８３】
Ｓ１１１２では、配信サーバＡ１００は、Ｓ１１１１においてノード端末Ｃ１００ｅから要求を受けた配信コンテンツの配信を開始する。
【０１８４】
ノード端末Ｃ１００ｆの配信トポロジの再構築も、ノード端末Ｃ１００ｅのＳ１１０４〜Ｓ１１１２の処理と同様に行われる。また、ノード端末Ｃ１００ａ以外のノード端末が離脱した場合の処理も同様である。
【０１８５】
＜接続制御サーバＢ１００の動作説明＞
次に、図１０および図１１の処理を実現するための、接続制御サーバＢ１００の動作について、図１２を参照して説明する。
【０１８６】
図１２は、本実施形態の配信トポロジからのノード端末の離脱処理における接続制御サーバＢ１００の動作を示すフローチャートである。
【０１８７】
Ｓ１２０１では、制御部Ｂ１０１は、通信部Ｂ１２０を介して、ノード端末Ｃ１００からの切断通知を受信したか否かを判定し、受信した場合はＳ１２０２の処理に進み、受信しなかった場合はＳ１２０１の処理に戻る。
【０１８８】
Ｓ１２０２では、制御部Ｂ１０１は、Ｓ１２０１で切断通知を受信したノード端末Ｃ１００の情報を、作業用メモリＢ１０３のグループリストから削除する。
【０１８９】
Ｓ１２０３では、制御部Ｂ１０１は、通信部Ｂ１２０を介して、ノード端末Ｃ１００からの配信機器情報要求を受信したか否かを判定し、受信した場合はＳ１２０４の処理に進み、受信しなかった場合はＳ１２０３の処理に戻る。
【０１９０】
Ｓ１２０４では、制御部Ｂ１０１は、作業用メモリＢ１０３上のグループリストを参照し、Ｓ１２０１で切断通知を受けたノード端末Ｃ１００に対して配信コンテンツを送信していたノード端末Ｃ１００を、配信機器として判定する。本ステップの処理は、Ｓ１１０６の処理に対応する。
【０１９１】
Ｓ１２０５では、制御部Ｂ１０１は、通信部Ｂ１２０を介して、Ｓ１２０４で判定された配信機器に対して、Ｓ１２０３で配信機器情報要求を受けた機器を受信機器として通知する。本ステップの処理は、Ｓ１１０７の処理に対応する。
【０１９２】
Ｓ１２０６では、制御部Ｂ１０１は、通信部Ｂ１２０を介して、Ｓ１２０５で通知した受信機器に対して、Ｓ１２０４で判定された配信機器を通知する。本ステップの処理は、Ｓ１１０８の処理に対応する。
【０１９３】
Ｓ１２０７では、制御部Ｂ１０１は、操作部Ｂ１０４を介してユーザからシステム停止が指示されたか否かを判定し、指示された場合は処理を終了し、指示されなかった場合はＳ１２０１の処理に戻る。
【０１９４】
＜離脱ノード端末Ｃ１００ａの動作説明＞
次に、図１０および図１１の処理を実現するための、離脱ノード端末Ｃ１００ａの動作について、図１３を参照して説明する。
【０１９５】
Ｓ１３０１では、制御部Ｃ１０１は、操作部Ｃ１０４を介してユーザから視聴終了が指示されたか否かを判定し、指示された場合はＳ１３０２の処理に進み、指示されなかった場合はＳ１３０１の処理に戻る。
【０１９６】
Ｓ１３０２では、制御部Ｃ１０１は、通信部Ｃ１２０を介して、接続制御サーバＢ１００に対して、ネットワークの切断を通知する。本ステップの処理は、Ｓ１１０２の処理に対応する。
【０１９７】
Ｓ１３０３では、制御部Ｃ１０１は、通信部Ｃ１２０を介して、ネットワークを切断する。本ステップの処理は、Ｓ１１０３の処理に対応する。
【０１９８】
本実施形態では、ノード端末Ｃ１００ａが離脱する例を説明したが、他のノード端末Ｃ１００が離脱する場合も同様である。
【０１９９】
＜離脱ノード端末Ｃ１００ａから配信コンテンツを受信していたノード端末Ｃ１００ｅの動作説明＞
次に、図１０および図１１の処理を実現するための、離脱ノード端末Ｃ１００ａから配信コンテンツを受信していたノード端末Ｃ１００ｅの動作について、図１４を参照して説明する。
【０２００】
Ｓ１４０１では、制御部Ｃ１０１は、通信部Ｃ１２０を介して、ノード端末Ｃ１００ａとのネットワーク接続が切断されたか否かを判定し、切断された場合はＳ１４０２の処理に進み、切断されなかった場合はＳ１４０１の処理に戻る。
【０２０１】
Ｓ１４０２では、制御部Ｃ１０１は、通信部Ｃ１２０を介して、接続制御サーバＢ１００に対して、配信機器情報要求を通知する。本ステップの処理は、Ｓ１１０５の処理に対応する。
【０２０２】
Ｓ１４０３では、制御部Ｃ１０１は、通信部Ｃ１２０を介して、接続制御サーバＢ１００からの配信機器情報を受信したか否かを判定し、受信した場合はＳ１４０４の処理に進み、受信しなかった場合はＳ１４０３の処理に戻る。
【０２０３】
Ｓ１４０４では、制御部Ｃ１０１は、通信部Ｃ１２０を介して、Ｓ１４０３において受信した配信機器情報の機器に対して、接続要求を通知する。本ステップの処理は、Ｓ１１０９の処理に対応する。
【０２０４】
Ｓ１４０５では、制御部Ｃ１０１は、通信部Ｃ１２０を介して、Ｓ１４０４において接続要求を通知した機器からの接続承認を受信したか否かを判定し、受信した場合はＳ１４０６の処理に進み、受信しなかった場合はＳ１４０５の処理に戻る。
【０２０５】
Ｓ１４０６では、制御部Ｃ１０１は、通信部Ｃ１２０を介して、Ｓ１４０７において受信した配信機器情報の機器に対して、配信開始要求を通知する。本ステップの処理は、Ｓ１１１１の処理に対応する。
【０２０６】
Ｓ１４０７では、制御部Ｃ１０１は、通信部Ｃ１２０を介して、Ｓ１４０６において配信開始要求を通知した機器から配信コンテンツを受信したか否かを判定し、受信した場合はＳ１４０８の処理に進み、受信しなかった場合はＳ１４０７の処理に戻る。
【０２０７】
Ｓ１４０８では、制御部Ｂ１０１は、Ｓ１４０７で受信した配信コンテンツを記録媒体Ｃ１１０に記録する。
【０２０８】
本実施形態では、ノード端末Ｃ１００ａが離脱する例を説明したが、他のノード端末Ｃ１００が離脱する場合も同様である。
【０２０９】
また、本実施形態では、離脱ノード端末Ｃ１００ａの代わりに配信サーバＡ１００に接続する例を説明したが、ノード端末Ｃ１００ａと同じグループ１に属する、通信容量に余裕のある他のノード端末Ｃ１００に接続してもよい。
【０２１０】
以上のように、本実施形態によれば、離脱ノード端末から配信コンテンツを受信していたノード端末は、配信トポロジを再構築するまでの間、離脱ノード端末よりもコンテンツの表示が遅延される。そして、少なくとも遅延時間分の配信コンテンツを自身のバッファに余剰に蓄積し、その余剰分のコンテンツを表示している間に、離脱ノード端末に対してそれまで配信コンテンツを送信していたノード端末と再接続され、配信コンテンツの送信が再開される。これにより、配信コンテンツの表示が停止してしまうことを回避することができる。
【０２１１】
また、ノード端末のグループごとに階層的に配信トポロジを構築する。また、配信トポロジからノード端末が離脱した場合には、離脱ノード端末の上位階層のグループのノード端末が、離脱ノード端末から配信コンテンツを受信していたノード端末から配信コンテンツを受信するように配信トポロジを再構築する。これにより、配信サーバに対して極端に多くの再接続要求が発生しないので、配信トポロジを再構築するまでの間の配信サーバの負荷を低減することができる。
【０２１２】
本実施形態では、配信トポロジに早く参加したノード端末から順番に上位階層のグループに属する例について説明したが、他の条件によってグループ分けをしてもよい。例えば課金されたユーザはより遅延の少ない上位階層のグループに属するようにしたり、過去の視聴履歴によって番組を最後まで視聴する傾向の強いユーザのノード端末を下位階層のグループに属させるようにしたりしてもよい。また、自動録画機能のように、予め定められた時間に離脱することが決まっているノード端末は、同時に離脱して配信トポロジに悪影響を与えないように、別々のグループに属するようにしてもよい。
【０２１３】
［他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０２１４】
Ａ１００…配信サーバ、Ｂ１００…接続制御サーバ、Ｃ１００…ノード端末、Ｄ１００…ルータ
【図１】
2020004269.tif 000003
【図２】
2020004269.tif 000004
【図３】
2020004269.tif 000005
【図４】
2020004269.tif 000006
【図５】
2020004269.tif 000007
【図６】
2020004269.tif 000008
【図７】
2020004269.tif 000009
【図８】
2020004269.tif 000010
【図９】
2020004269.tif 000011
【図１０】
2020004269.tif 000012
【図１１】
2020004269.tif 000013
【図１２】
2020004269.tif 000014
【図１３】
2020004269.tif 000015
【図１４】
2020004269.tif 000016