以下、本発明の実施の形態を説明する。
[第一実施の形態]
図1は、本発明の第一実施の形態に係るゲートウェイが適用されたIPマルチキャスト放送ネットワークシステムの概略図である。
図示するように、IPマルチキャスト放送ネットワークシステムは、本実施の形態に係るゲートウェイ(GW)1と、IPマルチキャスト放送の放送データを配信する少なくとも一つの配信サーバ2とが、NGN等のIP網3内に設けられた最寄りのエッジルータ(ER)4に接続されて構成されている。GW1は、IP網3を介して配信サーバ2からIPマルチキャスト放送の放送データを受信して、テレビ(TV)6等が接続された配下のセットトップボックス(STB)5に配信する。
なお、図1において、配信サーバ2、ER4、STB5、およびTV6には既存の装置を利用できるので、それらの詳細な説明を省略する。
図2は、本発明の第一実施の形態に係るGW1の概略構成図である。
図示するように、本実施の形態に係るGW1は、IP網インターフェース(IF)部11と、端末インターフェース(IF)部12と、記憶部13と、演算部14と、を有する。
IP網IF部11は、IP網3に接続するためのインターフェースである。
端末IF部12は、STB5を接続するためのインターフェースであり、少なくとも一つの有線端末インターフェース(IF)部121と、無線端末インターフェース(IF)部122と、を有する。
有線端末IF部121は、有線LAN、IEEE1394等の有線によりSTB5を接続するためのインターフェースである。無線端末IF部122は、無線LAN等の無線によりSTB5を接続するためのインターフェースである。
記憶部13には、受信チャネル管理テーブル(TB)131と、配信チャネル管理テーブル(TB)132とが記憶されている。
受信チャネル管理TB131は、後述するIPマルチキャスト放送受信部141によってIP網IF部11を介して最寄りのER4から受信中のIPマルチキャスト放送のチャネルを管理するためのテーブルである。
図3(A)は、受信チャネル管理TB131の登録内容例を模式的に表した図である。図示するように、受信チャネル管理TB131には、IPマルチキャスト放送受信部141によりIP網IF部11を介して最寄りのER4から受信中のIPマルチキャスト放送のチャネル毎に、レコード1310が登録される。レコード1310は、IPマルチキャスト放送のチャネルのチャネル番号を登録するフィールド1311を有する。
配信チャネル管理TB132は、後述するIPマルチキャスト放送配信部142により配信中のIPマルチキャスト放送のチャネル、および後述する配信候補決定部145により配信候補に決定されたIPマルチキャスト放送のチャネルを管理するためのテーブルである。
図3(B)は、配信チャネル管理TB132の登録内容例を模式的に表した図である。図示するように、配信チャネル管理TB132には、IPマルチキャスト放送配信部142によりIPマルチキャスト放送のチャネルを配信中のSTB5毎に、レコード1320が登録される。レコード1320は、STB5の識別情報である端末IDを登録するフィールド1321と、このSTB5に配信中のチャネルのチャネル番号を登録するフィールド1322と、配信候補決定部145によりこのSTB5に対する配信候補に決定されたチャネルのチャネル番号を登録するフィールド1323と、を有する。
図2に戻って説明を続ける。演算部14は、IPマルチキャスト放送受信部141と、IPマルチキャスト放送配信部142と、受信チャネル管理部143と、配信チャネル管理部144と、配信候補決定部145と、主制御部146と、を有する。
IPマルチキャスト放送受信部141は、IP網IF部11を介してIP網3からIPマルチキャスト放送を受信する。
具体的には、何れかの有線端末IF部121あるいは無線端末IF部122が、配下のSTB5から、このSTB5に配信中のチャネルの視聴終了を受信した場合に、IPマルチキャスト放送受信部141は、この配信中のチャネルが、このSTB5以外のSTB5に配信中のチャネルとして、あるいはこのSTB5を含む何れかのSTB5の配信候補として配信チャネル管理TB132に登録されているならば、この配信中のチャネルの受信を続行する。一方、登録されていないならば、この配信中のチャネルの受信を終了する。
また、IPマルチキャスト放送受信部141は、配信候補決定部145により決定された配信候補のチャネル(以下、配信候補チャネル)を受信する。
IPマルチキャスト放送配信部142は、少なくとも一つの有線端末IF部121および無線端末IF部122の各々について、該当するIF部に接続されているSTB5より要求されたIPマルチキャスト放送のチャネルをこのIF部から配信する。
具体的には、何れかの有線端末IF部121あるいは無線端末IF部122が配下のSTB5から視聴チャネルの指定通知を受信した場合に、この視聴チャネルが受信チャネル管理TB131に登録されているならば、IPマルチキャスト放送配信部142は、IPマルチキャスト放送受信部141により受信中であるこの視聴チャネルの放送データを、この指定通知を受信した有線端末IF部121あるいは無線端末IF部122から配信する。一方、登録されていないならば、この視聴チャネルをIPマルチキャスト放送受信部141に受信させ、それから、この視聴チャネルの放送データを、この指定通知を受信した有線端末IF部121あるいは無線端末IF部122から配信する。
受信チャネル管理部143は、IPマルチキャスト放送受信部141により受信中のIPマルチキャスト放送のチャネルを監視して、受信チャネル管理TB131を更新する。
配信チャネル管理部144は、配下のSTB5毎に、IPマルチキャスト放送配信部142により配信中のIPマルチキャスト放送のチャネル、および配信候補決定部145により配信候補に決定されたIPマルチキャスト放送のチャネルを監視して、配信チャネル管理TB132を更新する。
配信候補決定部145は、配下のSTB5毎に、IPマルチキャスト放送配信部142により配信中のIPマルチキャスト放送のチャネルに基づいて、このSTB5に対する配信候補チャネルを決定する。本実施の形態では、チャネル番号の順番上、STB5に配信中のチャネルの前後のチャネルを、このSTB5に対する配信候補チャネルに決定している。
そして、主制御部146は、GW1の各部を統括的に制御する。
図4は、本発明の第一実施の形態に係るGW1の動作を説明するためのフロー図である。
何れかの有線端末IF部121あるいは無線端末IF部122が配下のSTB5から視聴チャネルの指定通知を受信すると(S101でYES)、主制御部146は、これをIPマルチキャスト放送配信部142に通知する。これにより、後述する配信開始処理が実施され(S104)、IPマルチキャスト放送配信部142は、視聴チャネルの指定通知の送信元STB5へ、この指定通知で指定されたチャネルの配信を開始する。
次に、後述する配信候補更新処理が実施され(S105)、配信候補決定部145は、視聴チャネルの指定通知の送信元STB5に対する配信候補チャネルを更新する。それから、後述する受信チャネル更新処理が実施され(S106)、IPマルチキャスト放送受信部141は、必要に応じてIP網3から受信するチャネルを変更する。
また、何れかの有線端末IF部121あるいは無線端末IF部122が配下のSTB5から視聴チャネルの視聴終了通知を受信すると(S102でYES)、主制御部146は、これをIPマルチキャスト放送配信部142に通知する。これにより、後述する配信停止処理が実施され(S103)、IPマルチキャスト放送配信部142は、視聴チャネルの視聴終了通知の送信元STB5への配信を停止する。
図5(A)は、図4に示す配信停止処理(S103)を説明するためのフロー図である。
先ず、IPマルチキャスト放送配信部142は、視聴チャネルの視聴終了通知の送信元STB5に配信中の視聴チャネルの配信を停止する(S1031)。次に、配信チャネル管理部144は、視聴チャネルの視聴終了通知の送信元STB5の端末IDをキーにして、配信チャネル管理TB132からレコード1320を検索する。そして、検索したレコード1320のフィールド1322、1323に登録されているチャネル番号を削除する(S1032)。
図5(B)は、図4に示す配信開始処理(S104)を説明するためのフロー図である。
先ず、IPマルチキャスト放送配信部142は、視聴チャネルの指定通知で指定されているチャネルのチャネル番号のレコード1310が受信チャネル管理TB131に登録されているか否かを調べる(S1041)。
視聴チャネルの指定通知で指定されたチャネルのチャネル番号のレコード1310が受信チャネル管理TB131に登録されている場合(S1041でYES)、IPマルチキャスト放送受信部141が、この指定通知で指定されたチャネルを受信中である。そこで、IPマルチキャスト放送配信部142は、視聴チャネルの指定通知の送信元STB5が接続された有線端末IF部121あるいは無線端末IF部122から、この指定通知で指定されたチャネルの放送データの配信を開始する(S1044)。次に、配信チャネル管理部144は、視聴チャネルの指定通知の送信元STB5の端末IDをキーにして配信チャネル管理TB132からレコード1320を検索する。そして、検索したレコード1320のフィールド1322に、この指定通知で指定されたチャネルのチャネル番号を登録する(S1045)。
一方、視聴チャネルの指定通知で指定されたチャネルのチャネル番号のレコード1310が受信チャネル管理TB131に登録されていない場合(S1041でNO)、IPマルチキャスト放送受信部141は、この指定通知で指定されたチャネルを受信していない。そこで、IPマルチキャスト放送配信部142は、IPマルチキャスト放送受信部141に、この指定通知で指定されたチャネルの受信開始を指示する。これを受けて、IPマルチキャスト放送受信部141は、この指定通知で指定されたチャネルの受信を開始する(S1042)。次に、受信チャネル管理部143は、受信チャネル管理TB131にレコード1310を追加し、このレコード1310のフィールド1311に、この指定通知で指定されたチャネルのチャネル番号を登録する(S1043)。
それから、IPマルチキャスト放送配信部142は、視聴チャネルの指定通知の送信元STB5が接続された有線端末IF部121あるいは無線端末IF部122から、この指定通知で指定されたチャネルの放送データの配信を開始する(S1044)。次に、配信チャネル管理部144は、視聴チャネルの指定通知の送信元STB5の端末IDをキーにして、配信チャネル管理TB132からレコード1320を検索する。そして、検索したレコード1320のフィールド1322に、この指定通知で指定されたチャネルのチャネル番号を登録する(S1045)。
図6(A)は、図4に示す配信候補更新処理(S105)を説明するためのフロー図である。
先ず、配信候補決定部145は、チャネル番号の順番上、視聴チャネルの指定通知で指定されたチャネルの前後のチャネルを、この指定通知の送信元STB5に対する配信候補チャネルに決定する(S1051)。次に、配信チャネル管理部144は、図5(B)のS1045で検索されたレコード1320のフィールド1323に、S1051で決定された配信候補チャネルのチャネル番号を登録する(S1052)。
図6(B)は、図4に示す受信チャネル更新処理(S106)を説明するためのフロー図である。
IPマルチキャスト放送受信部141は、受信チャネル管理TB131の各レコード1310のフィールド1311に登録されているチャネル番号と、配信チャネル管理TB132の各レコード1320のフィールド1322、1323に登録されているチャネル番号とを比較する。そして、受信チャネル管理TB131に登録され、且つ配信チャネル管理TB132に登録されていないチャネル番号があるか否か、すなわち、配信中のチャネルおよび配信候補チャネルのいずれにも該当しない受信中のチャネルがあるか否かを調べる(S1061)。
受信チャネル管理TB131に登録され、且つ配信チャネル管理TB132に登録されていないチャネル番号がある場合(S1061でYES)、IPマルチキャスト放送受信部141は、このチャネル番号に対応するチャネルの受信を停止する(S1062)。これを受けて、受信チャネル管理部143は、このチャネル番号のレコード1310を受信チャネル管理TB131から削除する(S1063)。
また、IPマルチキャスト放送受信部141は、受信チャネル管理TB131の各レコード1310のフィールド1311に登録されているチャネル番号と、配信チャネル管理TB132の各レコード1320のフィールド1323に登録されているチャネル番号とを比較する。そして、配信チャネル管理TB132に登録され、且つ受信チャネル管理TB131に登録されていないチャネル番号があるか否か、すなわち、未受信の配信候補チャネルがあるか否かを調べる(S1064)。
配信チャネル管理TB132に登録され、且つ受信チャネル管理TB131に登録されていないチャネル番号がある場合(S1064でYES)、IPマルチキャスト放送受信部141は、このチャネル番号に対応するチャネルの受信を開始する(S1065)。これを受けて、受信チャネル管理部143は、受信チャネル管理TB131にレコード1310を追加し、このレコード1310のフィールド1311に、このとき新たに受信を開始したチャネルのチャネル番号を登録する(S1066)。
次に、本発明の第一実施の形態に係るGW1の動作例を説明する。
図7は、配下の2つのSTB([001]、[002])5から視聴チャネルの指定通知を受信した場合におけるGW1の動作例を説明するためのシーケンス図である。
この例では、IPv4を前提とし、マルチキャストグループを認識するためのプロトコルとして、WAN側(図7においてER4より右側)ではPIMを用い、LAN側(STB5とGW1との間、およびGW1とER4との間)ではIGMPを用いている。なお、IPv6の場合は、LAN側のプロトコルとして、IGMPの代わりにMLDが用いられる。
STB[001]5は、自身に接続されたTV6の視聴者により、チャネルBへの切替えが指示されると(S201)、チャネルBのマルチキャストグループに加入するために、チャネルBの放送データの送信元アドレスSbおよびマルチキャストアドレスGbの指定を伴うIGMP Report(Sb,Gb)をGW1に送信する(S202)。なお、ここでは、視聴者が、チャネルBへの切替えをSTB[001]5に指示するようにしているが、STB[001]5に接続されたTV6が、チャネルBへの切替えをSTB[001]5に指示するようにしてもよい。
GW1は、STB[001]5からIGMP Report(Sb,Gb)を受信すると、これをER4に転送する(S203)。これを受けて、ER4は、チャネルBのマルチキャストグループの加入者を確認するために、チャネルBの放送データの送信元アドレスSbおよびマルチキャストアドレスGbの指定を伴うIGMP Query(Sb,Gb)をGW1に送信する(S204)。
次に、GW1は、IGMP Query(Sb,Gb)をER4から受信したならば、これをSTB[001]5に転送する(S205)。これを受けて、STB[001]5は、IGMP Query(Sb,Gb)に対する応答として、IGMP Report(Sb,Gb)をGW1に再度送信する(S206)。
GW1は、STB[001]5からIGMP Report(Sb,Gb)を受信すると、これをER4に転送する(S207)。これを受けて、ER4は、チャネルBの放送データをGW1に送信する(S208)。
GW1は、ER4からチャネルBの放送データを受信すると、これをSTB[001]5に転送する(S209)。STB[001]5は、GW1から受信したチャネルBの放送データを、自身に接続されたTV6へ出力する(S210)。
次に、GW1は、チャネル番号の順番上、視聴チャネルであるチャネルBの前後に位置するチャネルA、Cを配信候補チャネルに決定する。そして、チャネルA、Cのマルチキャストグループに加入するために、チャネルAの放送データの送信元アドレスSaおよびマルチキャストアドレスGaの指定を伴うIGMP Report(Sa,Ga)と、チャネルCの放送データの送信元アドレスScおよびマルチキャストアドレスGcの指定を伴うIGMP Report(Sc,Gc)とを、ER4に送信する(S211)。これを受けて、ER4は、チャネルA、Cのマルチキャストグループの加入者を確認するために、チャネルAの放送データの送信元アドレスSaおよびマルチキャストアドレスGaの指定を伴うIGMP Query(Sa,Ga)と、チャネルCの放送データの送信元アドレスScおよびマルチキャストアドレスGcの指定を伴うIGMP Query(Sc,Gc)とを、GW1に送信する(S212)。
これを受けて、GW1は、IGMP Query(Sa,Ga)およびIGMP Query(Sc,Gc)に対する応答として、IGMP Report(Sa,Ga)およびIGMP Report(Sc,Gc)をER4に再度送信する(S213)。これを受けて、ER4は、チャネルA、Cの放送データをGW1に送信する(S214)。
次に、STB[002]5は、自身に接続されたTV6の視聴者により、チャネルCへの切替えが指示されると(S215)、チャネルCのマルチキャストグループに加入するために、チャネルCの放送データの送信元アドレスScおよびマルチキャストアドレスGcの指定を伴うIGMP Report(Sc,Gc)をGW1に送信する(S216)。なお、ここでは、視聴者が、チャネルCへの切替えをSTB[002]5に指示することとしているが、STB[002]5に接続されたTV6が、チャネルCへの切替えをSTB[002]5に指示するようにしてもよい。
ここで、GW1は、チャネルCのマルチキャストグループに加入済みであり、このチャネルCの放送データを受信中である。このため、STB[002]5から受信したIGMP Report(Sc,Gc)をER4に転送しない。その代わりに、チャネルCのマルチキャストグループの加入者を確認するためのIGMP Query(Sc,Gc)をSTB[002]5に送信する(S217)。これを受けて、STB[002]5は、IGMP Query(Sc,Gc)に対する応答として、IGMP Report(Sc,Gc)をGW1に再度送信する(S218)。
次に、GW1は、STB[002]5からIGMP Report(Sc,Gc)を受信したならば、ER4から受信中であるチャネルCの放送データをSTB[002]5に送信する(S219)。STB[002]5は、GW1から受信したチャネルCの放送データを、自身に接続されたTV6へ出力する(S220)。
次に、GW1は、チャネル番号の順番上、視聴チャネルであるチャネルCの前後に位置するチャネルB、Dを配信候補チャネルに決定する。ここで、GW1は、チャネルBのマルチキャストグループに加入済みであり、このチャネルBの放送データを受信中である。このため、GW1は、チャネルDのマルチキャストグループに加入するために、チャネルDの放送データの送信元アドレスSdおよびマルチキャストアドレスGdの指定を伴うIGMP Report(Sd,Gd)を、ER4に送信する(S221)。これを受けて、ER4は、チャネルDのマルチキャストグループの加入者を確認するために、チャネルDの放送データの送信元アドレスSdおよびマルチキャストアドレスGdの指定を伴うIGMP Query(Sd,Gd)を、GW1に送信する(S222)。
これを受けて、GW1は、IGMP Query(Sd,Gd)に対する応答として、IGMP Report(Sd,Gd)をER4に再度送信する(S223)。これを受けて、ER4は、配信候補チャネルDの放送データをGW1に送信する(S224)。
図8は、図7において配下の2つのSTB([001]、[002])5が視聴チャネルを切り替えた場合におけるGW1の動作例を説明するためのシーケンス図である。
STB[001]5は、自身に接続されたTV6の視聴者によりチャネルCへの切替えが指示されると(S231)、それまで加入していたチャネルBのマルチキャストグループから脱退するために、チャネルBの放送データの送信元アドレスSbおよびマルチキャストアドレスGbの指定を伴うIGMP Leave(Sb,Gb)をGW1に送信する(S232)。なお、ここでは、視聴者が、チャネルCへの切替えをSTB[001]5に指示するようにしているが、STB[001]5に接続されたTV6が、チャネルCへの切替えをSTB[001]5に指示するようにしてもよい。
これを受けて、GW1は、チャネルBのマルチキャストグループの加入者を確認するために、チャネルBの放送データの送信元アドレスSbおよびマルチキャストアドレスGbの指定を伴うIGMP Group−Specific Query(図中では、IGMP GSQと表記:以下同様)(Sb,Gb)をSTB[001]5に送信する(S233)。
STB[001]5は、IGMP Group−Specific Query(Sb,Gb)に対して応答することなく放置する。その結果、GW1は、IGMP Group−Specific Query(Sb,Gb)に対する応答を所定の時間受信することなくタイムアウトし、これにより、STB[001]5へのチャネルBの放送データの送信を停止する。
次に、STB[001]5は、視聴チャネルとして指定されたチャネルCのマルチキャストグループに加入するために、チャネルCの放送データの送信元アドレスScおよびマルチキャストアドレスGcの指定を伴うIGMP Report(Sc,Gc)をGW1に送信する(S234)。
ここで、GW1は、チャネルCのマルチキャストグループに加入済みであり、このチャネルCの放送データを受信中である。このため、STB[001]5から受信したIGMP Report(Sc,Gc)をER4に転送しない。その代わりに、チャネルCのマルチキャストグループの加入者を確認するためのIGMP Query(Sc,Gc)をSTB[001]5に送信する(S235)。これを受けて、STB[001]5は、IGMP Query(Sc,Gc)に対する応答として、IGMP Report(Sc,Gc)をGW1に再度送信する(S236)。
GW1は、STB[001]5からIGMP Report(Sc,Gc)を受信したならば、ER4から受信中であるチャネルCの放送データをSTB[001]5に送信する(S237)。STB[001]5は、GW1から受信したチャネルCの放送データを、自身に接続されたTV6へ出力する(S238)。
次に、GW1は、チャネル番号の順番上、視聴チャネルであるチャネルCの前後に位置するチャネルB、Dを配信候補チャネルに決定する。ここで、GW1は、チャネルB、Dのマルチキャストグループに加入済みであり、これらのチャネルB、Dの放送データを受信中である。一方、GW1は、チャネルAのマルチキャストグループに加入済みであり、その放送データを受信中であるが、チャネルAは、いずれのSTB5([001]、[002])5に配信中のチャネルでもなく、また配信候補チャネルでもなくなっている。そこで、GW1は、チャネルAのマルチキャストグループから脱退するために、チャネルAの放送データの送信元アドレスSaおよびマルチキャストアドレスGaの指定を伴うIGMP Leave(Sa,Ga)をER4に送信する(S239)。
これを受けて、ER4は、チャネルAのマルチキャストグループの加入者を確認するために、チャネルAの放送データの送信元アドレスSaおよびマルチキャストアドレスGaの指定を伴うIGMP Group−Specific Query(Sa,Ga)をGW1に送信する(S240)。
これを受けて、GW1は、IGMP Group−Specific Query(Sa,Ga)に対して応答することなく放置する。その結果、ER4は、IGMP Group−Specific Query(Sb,Gb)に対する応答を所定の時間受信することなくタイムアウトし、これにより、GW1へのチャネルAの放送データの送信を停止する。
次に、STB[002]5は、自身に接続されたTV6の視聴者によりチャネルDへの切替えが指示されると(S241)、それまで加入していたチャネルCのマルチキャストグループから脱退するために、チャネルCの放送データの送信元アドレスScおよびマルチキャストアドレスGcの指定を伴うIGMP Leave(Sc,Gc)をGW1に送信する(S242)。なお、ここでは、視聴者が、チャネルDへの切替えをSTB[002]5に指示するようにしているが、STB[002]5に接続されたTV6が、チャネルDへの切替えをSTB[002]5に指示するようにしてもよい。
これを受けて、GW1は、チャネルCのマルチキャストグループの加入者を確認するために、チャネルCの放送データの送信元アドレスScおよびマルチキャストアドレスGcの指定を伴うIGMP Group−Specific Query(Sc,Gc)をSTB[002]5に送信する(S243)。
STB[002]5は、IGMP Group−Specific Query(Sc,Gc)に対して応答することなく放置する。その結果、GW1は、IGMP Group−Specific Query(Sc,Gc)に対する応答を所定の時間受信することなくタイムアウトし、これにより、STB[002]5へのチャネルCの放送データの送信を停止する。
次に、STB[002]5は、視聴チャネルとして指定されたチャネルDのマルチキャストグループに加入するために、チャネルDの放送データの送信元アドレスSdおよびマルチキャストアドレスGdの指定を伴うIGMP Report(Sd,Gd)をGW1に送信する(S244)。
ここで、GW1は、チャネルDのマルチキャストグループに加入済みであり、このチャネルDの放送データを受信中である。このため、STB[002]5から受信したIGMP Report(Sd,Gd)をER4に転送しない。その代わりに、チャネルDのマルチキャストグループの加入者を確認するためのIGMP Query(Sd,Gd)をSTB[002]5に送信する(S245)。これを受けて、STB[002]5は、IGMP Query(Sd,Gd)に対する応答として、IGMP Report(Sd,Gd)をGW1に再度送信する(S246)。
GW1は、STB[002]5からIGMP Report(Sd,Gd)を受信したならば、ER4から受信中であるチャネルDの放送データをSTB[002]5に送信する(S247)。STB[002]5は、GW1から受信したチャネルDの放送データを、自身に接続されたTV6へ出力する(S248)。
次に、GW1は、チャネル番号の順番上、視聴チャネルであるチャネルDの前後に位置するチャネルC、Eを配信候補チャネルに決定する。ここで、GW1は、チャネルCのマルチキャストグループに加入済みであり、このチャネルCの放送データを受信中である。このため、GW1は、チャネルEのマルチキャストグループに加入するために、チャネルEの放送データの送信元アドレスSeおよびマルチキャストアドレスGeの指定を伴うIGMP Report(Se,Ge)を、ER4に送信する(S249)。これを受けて、ER4は、チャネルEのマルチキャストグループの加入者を確認するために、チャネルEの放送データの送信元アドレスSeおよびマルチキャストアドレスGeの指定を伴うIGMP Query(Se,Ge)を、GW1に送信する(S250)。
これを受けて、GW1は、IGMP Query(Se,Ge)に対する応答として、IGMP Report(Se,Ge)をER4に再度送信する(S251)。これを受けて、ER4は、配信候補チャネルEの放送データをGW1に送信する(S252)。
以上、本発明の第一実施の形態について説明した。
本実施の形態において、IPマルチキャスト放送配信部142は、何れかの有線端末IF部121あるいは無線端末IF部122を介して配下のSTB5から視聴チャネルの指定通知(IGMP Report)を受信した場合に、この指定通知で指定されたチャネルが受信チャネル管理TB131に登録されているならば、IPマルチキャスト放送受信部141で受信中のこの指定されたチャネルを、当該何れかの有線端末IF部121あるいは無線端末IF部122から配信する。一方、登録されていないならば、IPマルチキャスト放送受信部141にこの指定されたチャネルの受信を開始させて、当該何れかの有線端末IF部121あるいは無線端末IF部122から配信する。
また、本実施の形態において、IPマルチキャスト放送受信部141は、何れかの有線端末IF部121あるいは無線端末IF部122を介して配下のSTB5から視聴チャネルの視聴終了通知(IGMP Leave)を受信した場合に、この視聴チャネルが他のSTB5に対応付けて配信チャネル管理TB132に管理されているならば、この視聴チャネルの受信を続行する。一方、管理されていないならば、この視聴チャネルの受信を終了する。
したがって、本実施の形態によれば、GW1は、あるSTB5から視聴チャネルの指定通知(IGMP Report)を受信した場合に、この指定通知で指定されたチャネルの放送データを他のSTB5に配信中であるならば、この指定通知をER4に転送することなく、この指定通知で指定されたチャネルの放送データを、この指定通知の送信元STB5に配信することができる。このため、チャネルの切り替えを迅速に行うことができる。
また、本実施の形態によれば、有線端末IF部121および無線端末IF部122の各々を単位としてチャネルの放送データが配信されるので、GW1およびSTB5間の通信帯域を効率よく利用することができる。
また、本実施の形態において、配信候補決定部145は、配下のSTB5毎に配信候補チャネルを決定し、配信チャネル管理部144は、配下のSTB5毎に、配信候補決定部145により決定された配信候補チャネルを配信チャネル管理TB132に登録する。そして、IPマルチキャスト放送受信部141は、配信チャネル管理TB132に登録されている配信候補チャネルを受信する。何れかの有線端末IF部121あるいは無線端末IF部122を介して配下のSTB5から視聴チャネルの視聴終了通知を受信した場合において、この視聴チャネルが配信中のチャネルとして他のSTB5に対応付けられて配信チャネル管理TB132に登録されていなくても、配信候補チャネルとして配信チャネル管理TB132に登録されているならば、この視聴チャネルの受信を続行する。
このため、本実施の形態によれば、配信中のチャネルから配信候補チャネルへ切り替えを迅速に行うことができる。
また、本実施の形態において、配信候補決定部145は、配下のSTB5毎に、IPマルチキャスト放送配信部142により配信中のチャネルに基づいて配信候補チャネルを決定する。したがって、本実施の形態によれば、配信中のチャネルから切り替えられる可能性の高いチャネルを配信候補チャネルに決定することができる。
なお、本実施の形態では、チャネル番号の順番上、配信中のチャネルの前後に位置するチャネルを配信候補チャネルに決定するので、例えばチャネル番号のアップダウンによりチャネル切り替えを行う場合に効果的である。しかし、本発明はこれに限定されない。配信中のチャネルに基づいて配信候補チャネルを決定するものであればどのようなものでもよい。例えばマス目状に並んだチャネル番号から前後左右にカーソルを移動することでチャネル切り替えを行う場合には、配信中のチャネルの前後左右に位置するチャネルを配信候補チャネルに決定してもよい。
また、本実施の形態において、配下のSTB5毎に、例えばユーザがよく視聴するチャネルのチャネル番号を予め設定しておき、あるSTB5から視聴チャネルの指定通知を受信した場合に、配信候補決定部145が、このSTB5に対して予め設定されたチャネル番号を、このSTB5に対する配信候補チャネルのチャネル番号に決定するようにしてもよい。
また、本実施の形態では、図4のフローチャートにおいて、配信停止処理S103を実施した後、視聴チャネルの指定通知の受信待ちS101に戻っているが、配信停止処理S103を実施した後に受信チャネル更新処理S106に進むようにしてもよい。これは、以下の実施携帯についても同様である。
[第二実施の形態]
上記第一実施の形態では、IPマルチキャスト放送配信部142が、配下のSTB5毎に、配信中のチャネルに基づいて配信候補チャネルを決定した。これに対して、本実施の形態では、配下のSTB5毎に、配信(視聴)頻度の高いチャネルを配信候補チャネルに決定している。
図9は、本発明の第二実施の形態に係るGW1Aの概略構成図である。
なお、本実施の形態において、第一実施の形態のGW1と同じ機能を有するものには、同じ符号を付している。
図示するように、本実施の形態のGW1Aが、図2に示す第一実施の形態のGW1と異なる点は、演算部14に配信頻度計測部147を追加したこと、記憶部13に配信頻度管理テーブル(TB)133を追加したこと、および配信候補決定部145に代えて配信候補決定部145Aを設けたことである。
配信頻度管理TB133は、配下のSTB5毎に、各時間帯における各チャネルの配信頻度を管理するためのテーブルである。
図10は、配信頻度管理TB133の登録内容例を模式的に表した図である。図示するように、配信頻度管理TB133には、配下のSTB5の端末ID毎にテーブル1330が設けられている。各テーブル1330には、IPマルチキャスト放送の各チャネル番号1331について、各曜日1332〜1338の各時間帯1339〜1341における放送データの、対応するSTB5への配信頻度が登録されている。
配信頻度計測部147は、IPマルチキャスト放送配信部142が何れかのSTB5に対してチャネルの放送データの配信を開始すると、配信頻度管理TB133に設けられているこのSTB5の端末IDに対応するテーブル1330において、放送データの配信が開始されたチャネルのチャネル番号1331および配信開始時の曜日1332〜1338、時間帯1339〜1341により特定される欄の配信頻度の値を一つインクリメントする。
そして、配信候補決定部145Aは、配下のSTB5毎に、STB5の端末IDに対応付けて配信頻度管理TB133に設けられているテーブル1330から、配信候補チャネルの決定タイミングの時間帯における配信頻度の値が上位n番目(但し、nが自然数)までのチャネルを特定し、特定したこれらのチャネルを配信候補チャネルに決定する。
本実施の形態に係るGW1Aの動作は、図6(A)のS1051での処理が第一実施の形態に係るGW1と異なる。
すなわち、本実施の形態の場合、図6(A)のS1051において、配信候補決定部145Aは、視聴チャネルの指定通知の送信元STB5の端末IDに対応付けられたテーブル1330を配信頻度管理TB133から特定し、このテーブル1330から、現在時刻に対応する曜日1332〜1338および時間帯1339〜1341における、各チャネル1331の配信頻度を確認する。そして、テーブルごとに(STBごとに)、配信頻度の値が上位n番目(例えば3番目)までのチャネル番号1331を特定し、これらのチャネル番号1331に対応するチャネルを、視聴チャネルの指定通知の送信元STB5に対する配信候補チャネルに決定する。なお、GW1Aのその他の動作は、第一実施の形態のGW1と同様である。
以上、本発明の第二実施の形態について説明した。
本実施の形態では、配下のSTB5毎に、IPマルチキャスト放送配信部142により配信されたチャネルの履歴に基づいて、各時間帯における配信頻度を計測する配信頻度計測部147を設けている。そして、配信候補決定部145Aは、配下のSTB5毎に、配信頻度計測部147により計測された、現在の時間帯に対応する時間帯における配信頻度の値が上位n番目(但し、nが自然数)までのチャネルを、配信候補チャネルに決定する。
したがって、本実施の形態によれば、STB5のユーザの利用実績を考慮して配信候補チャネルを決定することができるので、チャネル切り替えの迅速化を効率よく行うことができる。
なお、本実施の形態において、配信頻度計測部147は、配下のSTB5毎に、IPマルチキャスト放送配信部142により配信されたチャネルの履歴に基づいて、各時間帯における配信頻度を計測している。しかし、本発明はこれに限定されない。
例えば、配信頻度計測部147は、有線端末IF部121および無線端末IF部122の各々について、IPマルチキャスト放送配信部142により配信されたチャネルの履歴に基づいて、各時間帯における配信頻度を計測してもよい。この場合、配信候補決定部145Aは、配下のSTB5毎に、STB5が接続する有線端末IF部121あるいは無線端末IF部122について、配信頻度計測部147により計測された、現在の時間帯に対応する時間帯の配信頻度の値が上位n番目までのチャネルを配信候補チャネルに決定する。
あるいは、配信頻度計測部147は、STB5の区別なく、IPマルチキャスト放送配信部142により配信されたチャネルの履歴に基づいて、各時間帯における配信頻度を計測してもよい。この場合、配信候補決定部145Aは、STB5の区別なく、配信頻度計測部147により計測された、現在の時間帯に対応する時間帯の配信頻度が上位n番目までのチャネルを配信候補チャネルに決定する。
[第三実施の形態]
本実施の形態は、上記の第一実施の形態において、配信候補チャネル数を動的に変更できるようにしている。
図11は、本発明の第三実施の形態に係るGW1Bの概略構成図である。
なお、本実施の形態において、第一実施の形態のGW1と同じ機能を有するものには、同じ符号を付している。
図示するように、本実施の形態のGW1Bが、図2に示す第一実施の形態のGW1と異なる点は、記憶部13に配信候補条件管理テーブル(TB)134を追加したこと、および配信チャネル管理部144に代えて配信チャネル管理部144Aを設けたことである。
配信候補条件管理TB134は、配下のSTB5毎に、配信チャネル管理TB132に配信候補チャネルを登録するための条件を管理するためのテーブルである。
図12は、配信候補条件管理TB134の登録内容例を模式的に表した図である。図示するように、配信候補条件管理TB134には、配下のSTB5毎に、配信候補条件のレコード1340が設けられている。レコード1340は、STB5の端末IDが登録されたフィールド1341と、配信候補チャネルの受信停止タイミングを特定する時間情報が登録されたフィールド1342と、配信候補のチャネルの受信再開タイミングを特定する時間情報が登録されたフィールド1343と、配信中のチャネルのチャネル番号を登録するフィールド1344と、配信候補チャネルのチャネル番号を登録するフィールド1345と、配信中のチャネルの配信開始時刻を登録するフィールド1346と、を有する。なお、配信候補チャネルの受信停止タイミングおよび配信候補のチャネルの受信再開タイミングを特定する時間情報は、いずれも、配信中のチャネルの配信開始からの経過時間により表されている。
そして、配信チャネル管理部144Aは、配下のSTB5毎に、IPマルチキャスト放送配信部142により配信中のIPマルチキャスト放送のチャネル、および配信候補決定部145により配信候補チャネルに決定されたIPマルチキャスト放送のチャネルを監視して、配信チャネル管理TB132および配信候補条件管理TB134を更新する。
本実施の形態に係るGW1Bの動作は、図5(A)のS1032、図5(B)のS1045、および図6(A)のS1052での処理が、第一実施の形態に係るGW1と異なる。
すなわち、本実施の形態の場合、図5(A)のS1032において、配信チャネル管理部144Aは、視聴チャネルの視聴終了通知の送信元STB5の端末IDをキーにして配信チャネル管理TB132からレコード1320を検索し、検索したレコード1320のフィールド1322、1323に登録されているチャネル番号を削除する。また、配信チャネル管理部144Aは、視聴チャネルの視聴終了通知の送信元STB5の端末IDをキーにして配信候補条件管理TB134からレコード1340を検索し、検索したレコード1340のフィールド1344、1345に登録されているチャネル番号を削除すると共に、このレコード1340のフィールド1346に登録されている配信開始時間を削除する。
また、図5(B)のS1045において、配信チャネル管理部144Aは、視聴チャネルの指定通知の送信元STB5の端末IDをキーにして配信チャネル管理TB132からレコード1320を検索し、検索したレコード1320のフィールド1322に、この指定通知で指定されたチャネルのチャネル番号を登録する。また、配信チャネル管理部144Aは、この指定通知の送信元STB5の端末IDをキーにして配信候補条件管理TB134からレコード1340を検索し、検索したレコード1340のフィールド1344に、配信中のチャネルのチャネル番号を登録すると共に、フィールド1346に現在時刻を登録する。
また、図6(A)のS1052において、配信チャネル管理部144Aは、図5(B)のS1045で検索された配信チャネル管理TB132のレコード1320のフィールド1323に、S1051で決定された配信候補チャネルのチャネル番号を登録する。また、配信チャネル管理部144Aは、図5(B)のS1045で検索された配信候補条件管理TB134のレコード1340のフィールド1345に、S1051で決定された配信候補チャネルのチャネル番号を登録する。
さらに、本実施の形態に係るGW1Bは、次の動作を行う。すなわち、配信チャネル管理部144Aは、配信候補条件管理TB134において、フィールド1346に配信開始時刻が登録されている各レコード1340を定期的にチェックする。
そして、配信チャネル管理部144Aは、この配信開始時刻からの経過時間が、フィールド1342に登録されている受信停止タイミングまでの経過時間を超えており、且つフィールド1343に登録されている受信再開タイミングまでの経過時間に至っていないレコード1340を検索する。このようなレコード1340を検索できた場合は、このレコード1340のフィールド1341に登録されている端末IDと同じ端末IDがフィールド1321に登録されているレコード1320を配信チャネル管理TB132から検索する。そして、検索したレコード1320のフィールド1323に配信候補チャネルのチャネル番号が登録されているならば、これを削除する。
また、配信チャネル管理部144Aは、この配信開始時刻からの経過時間が、フィールド1343に登録されている受信再開タイミングまでの経過時間を超えているレコード1340を検索する。このようなレコード1340を検索できた場合は、このレコード1340のフィールド1341に登録されている端末IDと同じ端末IDがフィールド1321に登録されているレコード1320を配信チャネル管理TB132から検索する。そして、検索したレコード1320のフィールド1323に配信候補チャネルのチャネル番号が登録されていないならば、このレコード1320のフィールド1323に、対応するレコード1340のフィールド1345に登録されている配信候補チャネルのチャネル番号を登録する。
以上により、配信チャネル管理TB132が更新されたならば、図6(B)に示す受信チャネル更新処理が実施され、IPマルチキャスト放送受信部141が、必要に応じてIP網3から受信するチャネルを変更する。
以上、本発明の第三実施の形態について説明した。
本実施の形態では、配下のSTB5毎に、配信候補チャネル数を動的に変更できる。したがって、本実施の形態によれば、例えば、ユーザが視聴チャネルに満足しており、チャネル切替えの可能性が低い時間帯等においては、配信候補チャネルの受信を停止することができ、これにより、通信帯域をより効率よく利用することが可能となる。
なお、本実施の形態では、配信中のチャネルの配信開始からの経過時間に応じて、配信候補チャネル数を動的に変更している。しかし、本発明はこれに限定されない。
例えば、IPマルチキャスト放送の放送データと共にマルチキャストパケットに格納された属性情報、あるいはIP網3から取得可能なiEPG(Internet Electronic Program Guide)等のテレビ番組情報により、配信中のチャネルの番組終了タイミングあるいはコマーシャル放送挿入タイミング等を取得可能であるならば、これらの情報を利用して、例えば配信中のチャネルの番組終了タイミングあるいはコマーシャル放送挿入タイミングのときに配信候補チャネルの受信を行い、それ以外のときは配信候補チャネルの受信を停止するなどして、配信候補チャネル数を動的に変更してもよい。
また、本実施の形態では、上記の第一実施の形態において配信候補チャネル数を動的に変更できるようにした場合を例にとり説明したが、上記の第二実施の形態でも、本実施の形態の配信候補条件管理TB134および配信チャネル管理部144Aを採用することにより、同様に、配信候補チャネル数を動的に変更することが可能である。
[第四実施の形態]
本実施の形態は、上記の第一実施の形態において、配下のSTB5に配信候補のチャネルの放送データも配信できるようにしている。
図13は、本発明の第四実施の形態に係るGW1Cの概略構成図である。
なお、本実施の形態において、第一実施の形態のGW1と同じ機能を有するものには、同じ符号を付している。
図示するように、本実施の形態のGW1Cが、図2に示す第一実施の形態のGW1と異なる点は、記憶部13に配信可能チャネル数管理テーブル(TB)135を追加したこと、およびIPマルチキャスト放送配信部142に代えてIPマルチキャスト放送配信部142Aを設けたことである。
配信可能チャネル数管理TB135は、有線端末IF部121および無線端末IF部122の各々について、このIF部に接続されたSTB5に配信可能な配信候補チャネル数を管理するためのテーブルである。
図14は、配信可能チャネル数管理TB135の登録内容例を模式的に表した図である。図示するように、配信可能チャネル数管理TB135には、有線端末IF部121および無線端末IF部122の各々について、配信可能な配信候補チャネル数のレコード1350が設けられている。レコード1350は、対象となるIF部(有線端末IF部121あるいは無線端末IF部122:以下、IF部)の識別情報である端末IF部IDが登録されたフィールド1351と、このIF部の通信帯域が登録されたフィールド1352と、このIF部の配信可能なチャネルの上限数が登録されたフィールド1353と、このIF部から配信中のチャネルの数を登録するフィールド1354と、このIF部から配信可能な配信候補チャネルの数を登録するフィールド1355と、を有する。
そして、IPマルチキャスト放送配信部142Aは、上記第一実施の形態のIPマルチキャスト放送配信部142の機能に加えて、次の機能を有する。
すなわち、IPマルチキャスト放送配信部142Aは、配信可能チャネル数管理TB135の各レコード1350について、フィールド1351に登録されている端末IF部IDを持つIF部121、122から配信中のチャネルの数をフィールド1354に登録する。これと共に、フィールド1353に登録されている配信可能チャネル上限数から、この配信中のチャネルの数を差し引いた値(但し、マイナスの場合はゼロとする)を、配信可能な配信候補チャネル数としてフィールド1355に登録する。
また、IPマルチキャスト放送配信部142Aは、配信可能チャネル数管理TB135の各レコード1350について、フィールド1351に登録されている端末IF部IDを持つIF部121、122に接続されている各STB5の配信候補チャネルを特定し、特定した配信候補チャネルを、フィールド1355に登録されている配信可能な配信候補チャネル数の範囲内で、このIF部121、122から送信する。
本実施の形態に係るGW1Cの動作は、図4に示す第一実施の形態に係るGW1の動作において、受信チャネル更新処理S106の後に、図15に示す追加配信処理S107が追加される。
図15において、IPマルチキャスト放送配信部142Aは、未選択のIF部121、122を一つ選択する(S1071)。次に、IPマルチキャスト放送配信部142Aは、図示していない構成情報等を用いて、選択したIF部(以下、選択IF部と呼ぶ)と接続する配下のSTB5を特定する(S1072)。
次に、IPマルチキャスト放送配信部142Aは、選択IF部と接続する各STB5の端末IDをキーにして、配信チャネル管理TB132から、それらのSTB5に対応するレコード1320を検索する。そして、さらに、これらのレコード1320のなかから、フィールド1322に配信中のチャネルのチャネル番号が登録されているレコード1320を特定する。そして、特定したレコード1320の数を、配信中のチャネル数に設定する。
また、IPマルチキャスト放送配信部142Aは、選択IF部の端末IF部IDをキーにして配信可能チャネル数管理TB135からレコード1350を検索し、このレコード1351のフィールド1354に配信中のチャネル数を登録する。さらに、IPマルチキャスト放送配信部142Aは、検索した選択IF部のレコード1350のフィールド1353に登録されている配信可能チャネル上限数から、フィールド1354に登録した配信中のチャネル数を差し引くことで、配信可能な配信候補チャネルの数を求め、この数をフィールド1355に登録する(S1073)。
次に、IPマルチキャスト放送配信部142Aは、S1073において求めた配信可能な配信候補チャネルの数の範囲内で、配信中のチャネル数にカウントされた各レコード1320のフィールド1323に登録されている配信候補チャネルのなかから、配信対象のチャネルを選択する(S1074)。例えば、配信可能な配信候補のチャネルの数の範囲内で、最も多くレコード1320のフィールド1323に登録されている配信候補チャネルから順番に選択する。
次に、IPマルチキャスト放送配信部142Aは、S1074で選択した配信候補チャネルの放送データを選択IF部から配信する(S1075)。
さて、IPマルチキャスト放送配信部142Aは、未選択のIF部があるならば(S1076でYES)、S1071に戻り、ないならば(S1076でNO)、このフローを終了する。
以上、本発明の第四実施の形態について説明した。
本実施の形態では、配下のSTB5に、このSTB5が接続されている有線端末IF部121あるいは無線端末IF部122の配信可能なチャネル数の範囲内で、配信候補チャネルの放送データも配信することができる。このため、チャネル切り替えをより迅速に行うことが可能となる。
なお、本実施の形態では、上記の第一実施の形態において配信候補チャネルも配信できるようにした場合を例にとり説明したが、上記の第二、三実施の形態でも、本実施の形態の配信可能数チャネル管理TB135およびIPマルチキャスト放送配信部142Aを採用することにより、同様に、配信候補チャネルも配信することが可能である。
本発明は上記の実施の形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
例えば、上記の各実施の形態において、配信サーバ2が、視聴用のチャネルとは別に、このチャネルよりも低レート(低品質)でメニュー用のチャネルを配信している場合を想定する。この場合、IPマルチキャスト放送受信部141が、各配信サーバ2から配信されるメニュー用のチャネルを常時受信し、IPマルチキャスト放送配信部142、142Aが、これらのメニュー用のチャネルを、有線端末IF部121および無線端末IF部122の各々から常時配信するようにしてもよい。
また、上記の各実施の形態において、GW1、1A〜1Cを、配下のSTB5と同じ筐体に収めて一体化しても構わない。図16は、本発明の第一実施の形態に係るGW1の変形例を説明するための図である。この図に示すGW1は、配下のSTB5と一体化されている。
また、上記の各実施の形態において、GW1、1A〜1Cの構成は、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などの集積ロジックICによりハード的に実行されるものでもよい。あるいは、DSP(Digital Signal Processor)によりソフト的に実行されるものでもよい。もしくは、CPU、メモリ、HDD、DVD−ROM等の補助記憶装置、およびNIC(Network Interface Card)を備えたPC(Personal Computer)等の汎用コンピュータにおいて、CPUが所定のプログラムを補助記憶装置からメモリ上にロードして実行することにより実現されるものでもよい。
1、1A〜1C:GW、2:配信サーバ、3:IP網、4:ER、5:STB、6:TV、11:IP網IF部、12:端末IF部、13:記憶部、14:演算部、121:有線端末IF部、122:無線端末IF部、131:受信チャネル管理TB、132:配信チャネル管理TB、133:配信頻度管理TB、134:配信候補条件管理TB、135:配信可能チャネル数管理TB、141:IPマルチキャスト放送受信部、142、142A:IPマルチキャスト放送配信部、143:受信チャネル管理部、144、144A:配信チャネル管理部、145、145A:配信候補決定部、146:主制御部、147:配信頻度計測部