通信制御装置ならびに通信制御方法
【課題】帯域制御処理を実行できない既存のクライアント端末においても、QoS保証されたストリーミング型コンテンツ配信サービスを受けることを可能とする通信制御装置を提供する。
【解決手段】RTSPを用いたストリーミング型コンテンツ配信サービスにおいて、ホームネットワーク110と外部ネットワーク140との間に設置される通信制御装置120であって、映像受信表示装置131から受信した映像配信サーバ151についてのドメイン名解決要求に対して、映像配信サーバ151のIPアドレス、IPv4ダミーアドレス、もしくはIPv6中継アドレスを応答するドメイン名解決部121と、映像受信表示装置131と映像配信サーバ151との間で送受信されるRTSPメッセージを取得してQoS制御に必要な情報を取得する代理接続部122と、映像配信サーバ151との間で映像伝送用のQoSセッションを確立する帯域制御部123とを有する。
【解決手段】RTSPを用いたストリーミング型コンテンツ配信サービスにおいて、ホームネットワーク110と外部ネットワーク140との間に設置される通信制御装置120であって、映像受信表示装置131から受信した映像配信サーバ151についてのドメイン名解決要求に対して、映像配信サーバ151のIPアドレス、IPv4ダミーアドレス、もしくはIPv6中継アドレスを応答するドメイン名解決部121と、映像受信表示装置131と映像配信サーバ151との間で送受信されるRTSPメッセージを取得してQoS制御に必要な情報を取得する代理接続部122と、映像配信サーバ151との間で映像伝送用のQoSセッションを確立する帯域制御部123とを有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信制御装置ならびに通信制御方法に関し、特に、RTSP(Real Time Streaming Protocol)を用いて映像、音楽等のコンテンツの再生制御を行うストリーミング型コンテンツ配信サービスに用いられる通信制御装置ならびに通信制御方法に適用して有効な技術に関するものである。
【背景技術】
【0002】
ブロードバンドネットワークの普及により、PCやネットワーク接続TV(IPTV)、STB(Set Top Box)等をクライアント端末とした、ネットワークを介した映像や音楽等のコンテンツ配信サービスが拡大している。
【0003】
このようなコンテンツ配信サービスは、ストリーミング型とダウンロード型に大別することができる。このうち、ストリーミング型のコンテンツ配信サービスにおいては、コンテンツ配信サーバは、クライアント端末でのコンテンツの再生速度に合わせてコンテンツを配信する必要がある。よって、このようなサービスの多くはRTSP(Real Time Streaming Protocol)等のプロトコルを用いてコンテンツの再生要求、停止要求といった再生制御を行い、再生要求を受けてRTP(Real-time Transport Protocol)等のプロトコルを用いてコンテンツを伝送する方法が取られる。
【0004】
このようなストリーミング型のコンテンツ配信サービスにおいては、クライアント端末とコンテンツ配信サーバとの間のネットワーク帯域が十分に確保されない場合、もしくは時間的にネットワーク帯域が十分に確保できないことがある場合において、再生中のコンテンツが途中で止まる、途切れるといった問題が発生する可能性がある。
【0005】
近年、NGN(Next Generation Network)のような帯域保証(QoS(Quality of Service)保証)可能なネットワークが登場するに至り、上記のような問題のあったストリーミング型のコンテンツ配信サービスにおいて、コンテンツが途中で止まったり、途切れたりすることを防止する、すなわちQoS保証を行う方法が開示されている。
【0006】
例えば、特開2005−12655号公報(特許文献1)には、端末装置がコンテンツ配信サブシステムにセッション確立を要求した際に、SIP(Session Initiation Protocol)セッション制御サブシステムが、コンテンツ配信サブシステムから当該コンテンツの視聴に必要な帯域の情報を取得し、帯域制御サブシステムに当該帯域情報に含まれる帯域値の帯域予約の要求を行い、帯域制御サブシステムで確保された帯域でコンテンツ配信サブシステムから端末装置に当該コンテンツを送信する方法が開示されている。
【0007】
また、特開2004−289627号公報(特許文献2)には、ストリーミングコンテンツの配信要求がクライアント端末から通信ネットワークを介して送信される際に、映像配信サーバ151の現在の使用可能帯域に関連する帯域リソース情報を監視するサーバリソース監視部と、通信ネットワーク上の複数の中継点に対応する複数のルータ、クライアント端末および映像配信サーバ151の間の複数の通信経路それぞれの現在の使用可能帯域に関連するネットワークリソース情報を監視するネットワークリソース監視部とを備えたストリーミングコンテンツ配信要求受付制御システムが開示されている。
【特許文献1】特開2005−12655号公報(図1)
【特許文献2】特開2004−289627号公報(図1)
【発明の開示】
【発明が解決しようとする課題】
【0008】
上述の従来技術にはそれぞれ以下のような課題がある。まず、特許文献1に示される方法では、端末装置が帯域制御のためにSIP制御を行う必要がある。ユーザ宅には今後、PC、STB、ネットワーク接続TV等の複数の端末装置が設置されることが考えられるが、特許文献1に示される方法で帯域制御を実現するためには、これら全ての端末装置をSIP制御可能なもので揃えなければならない。
【0009】
例えば、ユーザ宅にインターネット等の帯域制御不可能なネットワーク上におけるストリーミング型コンテンツ配信サービス対応の端末装置が既にあったとしても、NGNのような帯域制御可能なネットワーク上におけるストリーミング型コンテンツ配信サービスをそのまま受けることはできず、ユーザに機器の買い替え、交換、ソフトウェア更新といったコストや手間を強いることになる。
【0010】
また、特許文献2に示される方法では、ストリーミングコンテンツ配信要求受付制御システムは、コンテンツの配送経路を決定するために、該当コンテンツの必要帯域情報を用いる。コンテンツの配送経路の決定は、WWWポータルサーバ上でユーザがコンテンツを選択した際に行われるため、ストリーミングコンテンツ配信要求受付制御システムでは、WWWポータルサーバで選択されたコンテンツのID情報からコンテンツの必要帯域情報を取得するためのコンテンツ管理テーブルをあらかじめ準備しておかなければならない。
【0011】
すなわち、特許文献2に示される方法では、帯域制御やコンテンツ配送経路設定の処理とコンテンツそのものの情報とが密接に関係した構造となっており、単にコンテンツ配信サービスを行いたいサービス提供事業者にとっては、既存の映像配信システムを利用できない等、参入の敷居を高める構成となっている。
【0012】
そこで本発明の目的は、帯域制御処理を実行できない既存のクライアント端末においても、QoS保証されたストリーミング型コンテンツ配信サービスを受けることを可能とする通信制御装置ならびに通信制御方法を提供することにある。
【0013】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0014】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【0015】
本発明の代表的な実施の形態による通信制御装置は、クライアント端末が接続されるホームネットワークと映像配信サーバが接続されるQoS制御可能な外部ネットワークとの間に設置される通信制御装置であって、クライアント端末から受信した映像配信サーバについてのドメイン名解決要求に対して、外部ネットワークに接続するDNSサーバとの間でドメイン名解決を行い、ドメイン名解決の結果に応じて映像配信サーバのIPアドレス、もしくはIPv4ダミーアドレス、もしくはIPv6中継アドレスを応答することで、クライアント端末が映像配信サーバに対して送信するRTSPメッセージを取得可能とし、クライアント端末と映像配信サーバとの間で送受信されるRTSPメッセージに含まれる情報を取得・解析してQoS制御に必要な情報を取得し、クライアント端末の代わりに映像配信サーバとの間のQoSセッションの確立を行うことを特徴とするものである。
【発明の効果】
【0016】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【0017】
本発明の代表的な実施の形態によれば、QoS制御手段を有しないクライアント端末を用いて通信制御装置と映像配信サーバとの間のQoS制御セッションの確立が可能であり、ユーザにとってクライアント端末をQoS制御可能なものに置き換えるコストが不要であり、管理コストも小さい帯域保証型コンテンツ配信システムを実現することができる。
【発明を実施するための最良の形態】
【0018】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0019】
[システム構成]
図1は、本発明の一実施の形態である映像配信システムの構成および通信制御装置の機能構成の一例を示す図である。図1において、当該映像配信システムは、映像配信サーバ151、152、帯域制御サーバ160、DNS(Domain Name System)サーバ170、通信制御装置120、映像受信表示装置131、132を有する構成となっている。
【0020】
映像配信サーバ151、152と、帯域制御サーバ160と、DNSサーバ170と、通信制御装置120とは、NGN(Next Generation Network)等のQoS(Quality of Service)制御可能な外部ネットワーク140と接続しており、所定の手順に従って情報の送受信を行うことができる。また、通信制御装置120と映像受信表示装置131、132は、ユーザ宅100内に設置され、有線または無線で構成されるホームネットワーク110と接続しており、所定の手順に従って情報の送受信を行うことができる。
【0021】
通信制御装置120は、IPv4(Internet Protocol Version 4)、IPv6(Internet Protocol Version 6)の両プロトコルに準拠し、外部ネットワーク140とホームネットワーク110の両方と接続しており、外部ネットワーク140とホームネットワーク110との間のメッセージのルーティングを行う。このルーティング機能により、通信制御装置120は、ユーザ宅100内に設置された機器にとって、外部ネットワーク140に接続された機器と情報の送受信を行うためのゲートウェイとしての機能を有する。
【0022】
通信制御装置120のドメイン名解決部121は、ホームネットワーク110に接続する機器からのドメイン名解決要求に従って、必要に応じてDNSサーバ170にドメイン名解決要求を行い、適切なIPアドレスを応答するドメイン名解決機能を有する。なお、詳細な動作は後述するが、ドメイン名解決部121がドメイン名解決機能を用いて応答するIPアドレスは、DNSサーバ170からのドメイン名解決要求に対する応答と同じ値であるとは限らない。例えば、ホームネットワーク110に接続するIPv4実装機器が外部ネットワーク140に接続されたIPv6実装サーバと代理接続部122を介した情報のやり取りをするために、IPv4ダミーアドレスを応答するような場合もある。
【0023】
通信制御装置120の代理接続部122は、映像受信表示装置131や132が映像配信サーバ151や152とやり取りするRTSPメッセージの取得、解析、書き換えを行う代理接続機能を有する。代理接続部122は、取得、解析したRTSPメッセージから、後述するQoSセッション制御のための情報、および映像データ転送設定のための情報を取得・生成し、テーブル群124に記憶する。
【0024】
通信制御装置120の帯域制御部123は、代理接続部122で取得・生成されたQoSセッション制御のための情報を元に、SIP等のQoSセッション制御用のプロトコルにより、映像配信サーバ151や152との間でQoSセッションを確立する。
【0025】
図2は、通信制御装置120のハードウェア構成の一例を示す図である。図2において、通信制御装置120は、CPU201、メインメモリ202、EPROM(Erasable Programmable ROM)203、第1ネットワークインタフェース(I/F)204、第2ネットワークI/F205、不揮発性記憶装置206を有する構成となっており、これらはそれぞれバス207と接続され、所定の手順に従って情報の送受信を行うことができる。
【0026】
EPROM203にはブートプログラムが記憶されており、また、不揮発性記憶装置206には各種プログラムが記憶されている。通信制御装置120が起動すると、EPROM203に記憶されたブートプログラムによって不揮発性記憶装置206から各種プログラムがメインメモリ202へ読み出される。CPU201はメインメモリ202に読み出された各種プログラムを実行することにより、第1ネットワークI/F204や第2ネットワークI/F205等による信号の送受信等を行う。
【0027】
第1ネットワークI/F204は、ホームネットワーク110と接続しており、ホームネットワーク110に接続する機器との間で情報の送受信を行うことができる。第1ネットワークI/F204は、ネットワークカード等により実現することができる。同様に、第2ネットワークI/F205は、外部ネットワーク140と接続しており、外部ネットワーク140と接続する機器との間で情報の送受信を行うことができる。第2ネットワークI/F205も、ネットワークカード等により実現することができる。
【0028】
不揮発性記憶装置206には、上述のように、CPU201がメインメモリ202に読み出して実行するための各種プログラムが記憶されている。不揮発性記憶装置206は、フラッシュメモリやHDD(ハードディスクドライブ)、光ディスク等により実現することができる。
【0029】
なお、図1における通信制御装置120のドメイン名解決部121、代理接続部122、帯域制御部123の各部は、例えば、不揮発性記憶装置206に記憶されるプログラムによって実現され、当該プログラムがメインメモリ202に読み出された後、CPU201によって実行されることで、通信制御装置120の各機能を実現するように構成することができる。なお、上記各部をプログラムではなく回路等によって構成することも当然可能である。また、テーブル群124は、上記プログラムの実行時にメインメモリ202上に作成される。
【0030】
図3は、映像受信表示装置131のハードウェア構成の一例を示す図である。映像受信表示装置132のハードウェア構成も映像受信表示装置131と同様である。図3において、映像受信表示装置131は、CPU301、メインメモリ302、EPROM303、出力装置304、ネットワークI/F305、不揮発性記憶装置306、入力装置307、映像再生装置308を有する構成となっており、これらはそれぞれバス309と接続され、所定の手順に従って情報の送受信を行うことができる。
【0031】
EPROM303にはブートプログラムが記憶されており、また、不揮発性記憶装置306には各種プログラムが記憶されている。映像受信表示装置131が起動すると、EPROM303に記憶されたブートプログラムによって不揮発性記憶装置306から各種プログラムがメインメモリ302へ読み出される。CPU301はメインメモリ302に読み出された各種プログラムを実行することにより、出力装置304、ネットワークI/F305、入力装置307、映像再生装置308等による信号の送受信等を行う。
【0032】
出力装置304は、映像再生装置308で伸張(デコード)されたコンテンツや、ユーザの操作に応答するための情報を表示等により出力するための手段であり、CRT(Cathode Ray Tube)、液晶ディスプレイ、プラズマディスプレイ、プロジェクタ、スピーカ、ヘッドフォン等によって実現される。また、出力装置304は、TV等のコンテンツ再生端末とは異なる装置で実現してもよい。この場合、映像受信表示装置131は別途D/Aコンバータ等のTV信号生成装置を具備し、当該装置と出力装置304とはAVケーブルや同軸ケーブル等で接続される。
【0033】
ネットワークI/F305は、通信網を介して他の装置と情報を送受信するための手段であり、例えばネットワークアダプタ、無線送受信装置等によって実現される。不揮発性記憶装置306には、上述のように、CPU301がメインメモリ302に読み出して実行するための各種プログラムが記憶されており、例えばHDD、フラッシュメモリ、光ディスク等によって実現することができる。
【0034】
入力装置307は、ユーザが必要な命令や情報を入力するための手段であり、例えばTV受信機で使用されるリモコンや、PCで使用されるキーボード、マウス等によって実現される。映像再生装置308は、音声や映像等のコンテンツをデコードし、デコードされたコンテンツを出力装置304に送信する装置である。
【0035】
なお、上述した通信制御装置120および映像受信表示装置131の構成は、図2および図3に示す構成に限らないことは当然である。例えば、映像受信表示装置131において、コンテンツのデコードが全てソフトウェアプログラムによって実現され、CPU301で実行されるような場合は、映像再生装置308を有さない構成となる。この場合、当該ソフトウェアプログラムは不揮発性記憶装置306に記憶され、CPU301によってメインメモリ302上に読み出されて実行される。
【0036】
映像配信サーバ151、152のハードウェア構成は、図示しないが、少なくとも1台以上のコンピュータ(CPU、メインメモリ、不揮発性記憶装置、入力装置、出力装置、ネットワークI/F等を含む)から構成されており、不揮発性記憶装置からメインメモリに読み出され、CPUによって実行される各種プログラムには、RTSP(Real Time Streaming Protocol)、RTP(Real-time Transport Protocol)等のコンテンツ配信用のプロトコル、およびSIP(Session Initiation Protocol)等のQoSセッション制御用のプロトコルが実装されている。
【0037】
帯域制御サーバ160のハードウェア構成は、図示しないが、少なくとも1台以上のコンピュータ(CPU、メインメモリ、不揮発性記憶装置、入力装置、出力装置、ネットワークI/F等を含む)から構成されており、不揮発性記憶装置からメインメモリに読み出され、CPUによって実行される各種プログラムには、SIP等のQoSセッション制御用のプロトコルが実装されている。
【0038】
DNSサーバ170のハードウェア構成は、図示しないが、少なくとも1台以上のコンピュータ(CPU、メインメモリ、不揮発性記憶装置、入力装置、出力装置、ネットワークI/F等を含む)から構成されており、不揮発性記憶装置からメインメモリに読み出され、CPUによって実行される各種プログラムには、DNS(Domain Name System)等のドメイン名解決用のプロトコルが実装されている。
【0039】
[データ構成]
次に、本実施の形態の映像配信システムにおいて、通信制御装置120が扱うテーブル群124の内容について説明する。テーブル群124に含まれるテーブルは、通信制御装置120内で唯一のテーブルである「システム共通テーブル」と、映像受信表示装置131、132からのRTSPコネクション毎に記憶するテーブルである「コネクション内テーブル」とに分類することができる。
【0040】
図4は、接続情報管理テーブル400の構成とデータの例を示す図である。接続情報管理テーブル400はコネクション内テーブルに該当し、対象のRTSPコネクションに係る映像受信表示装置131と映像配信サーバ151のアドレスの情報や、コネクションのステータス等を管理する。接続情報管理テーブル400は、クライアントアドレス401、サーバアドレス402、タイムアウト403、タイマー404、状態405の各項目から構成される。
【0041】
図5は、利用可能ポート番号テーブル500の構成とデータの例を示す図である。利用可能ポート番号テーブル500はシステム共通テーブルに該当し、通信制御装置120においてRTSPコネクションに係る通信に利用可能なポート番号の範囲を記憶する。利用可能ポート番号テーブル500は、利用可能ポート番号範囲501の項目から構成される。
【0042】
図6は、利用ポート番号テーブル600の構成とデータの例を示す図である。利用ポート番号テーブル600はシステム共通テーブルに該当し、通信制御装置120においてRTSPコネクションに係る通信に既に利用されているポート番号を記憶する。利用ポート番号テーブル600は、利用ポート番号601の項目から構成される。
【0043】
図7は、RTSP通信利用ポート番号テーブル700の構成とデータの例を示す図である。RTSP通信利用ポート番号テーブル700はコネクション内テーブルに該当し、対象のRTSPコネクションについて、通信制御装置120が映像配信サーバ151との間でRTSPメッセージの送受信に利用しているポート番号を記憶する。RTSP通信利用ポート番号テーブル700は、RTSP通信利用ポート番号701の項目から構成される。
【0044】
図8は、映像データ受信情報テーブル800の構成とデータの例を示す図である。映像データ受信情報テーブル800はコネクション内テーブルに該当し、対象のRTSPコネクションについて、通信制御装置120が映像配信サーバ151から映像データを受信し、映像受信表示装置131へ送信するためのポートの情報等を管理する。映像データ受信情報テーブル800は、通信制御装置ポート801、サーバポート802、クライアントポート803、帯域804の各項目から構成される。
【0045】
図9は、IPv6中継プレフィックス情報テーブル900の構成とデータの例を示す図である。IPv6中継プレフィックス情報テーブル900はシステム共通テーブルに該当し、映像受信表示装置131がIPv6機器であった場合、すなわち、映像受信表示装置131からのドメイン名解決要求(DNSクエリ)のクエリタイプがAAAAレコードであった場合に、IPv6中継アドレスを生成するために用いるIPv6プレフィックスの情報を保持する。IPv6中継アドレスは、映像受信表示装置131が送信するRTSPメッセージを通信制御装置120で取得するために利用するアドレスである。IPv6中継プレフィックス情報テーブル900は、IPv6中継プレフィックス901の項目から構成される。
【0046】
図10は、IPv6中継アドレス変換テーブル1000の構成とデータの例を示す図である。IPv6中継アドレス変換テーブル1000はシステム共通テーブルに該当し、IPv6中継アドレス(映像受信表示装置131からのRTSPメッセージを通信制御装置120で取得するための仮のIPアドレス)を映像配信サーバ151のアドレス(真のIPアドレス)へ変換する際に用いる。IPv6中継アドレス変換テーブル1000は、IPv6中継アドレス1001、映像配信サーバアドレス1002の各項目から構成される。
【0047】
図11は、IPv4ダミーアドレス生成情報テーブル1100の構成とデータの例を示す図である。IPv4ダミーアドレス生成情報テーブル1100はシステム共通テーブルに該当し、映像受信表示装置131がIPv4機器であった場合、すなわち、映像受信表示装置131からのドメイン名解決要求(DNSクエリ)のクエリタイプがAレコードであり、かつ、映像配信サーバ151がIPv6機器であった場合に、仮(ダミー)のIPv4アドレスであるIPv4ダミーアドレスを生成するために用いるサブネットの情報を保持する。IPv4ダミーアドレスは、IPv4しか解釈できない映像受信表示装置131が送信するドメイン名解決要求に対して、通信制御装置120が応答するダミーのアドレスである。IPv4ダミーアドレス生成情報テーブル1100はIPv4ダミーアドレス生成情報1101の項目から構成される。
【0048】
図12は、IPv4ダミーアドレス変換テーブル1200の構成とデータの例を示す図である。IPv4ダミーアドレス変換テーブル1200はシステム共通テーブルに該当し、IPv4ダミーアドレスを映像配信サーバ151のアドレスへ変換する際に用いる。IPv4ダミーアドレス変換テーブル1200はIPv4ダミーアドレス1201、映像配信サーバアドレス1202の各項目から構成される。
【0049】
[動作の概要]
次に、本実施の形態の映像配信システムにおける動作の概要について説明する。図1に示す構成において、映像受信表示装置131、132は、映像配信サーバ151、152等のRTSPサーバとの間でRTSPメッセージを送受信するRTSPクライアントであり、RTSPメッセージの送受信によって、音声や映像等のコンテンツの再生制御を行う。
【0050】
外部ネットワーク140は、NGN等のQoS制御可能なネットワークであり、外部ネットワーク140に接続する機器は、帯域制御サーバ160に対して、例えば、「どのIPアドレスの機器の何番ポートとどのIPアドレスの機器の何番ポートとの間で何Kbpsの帯域を確保する」、といったQoSセッション制御要求を行うことによって、外部ネットワーク140に接続した機器間で品質の高い通信を行うことができる。なお、本実施の形態においては、以下、QoSセッション制御のプロトコルにはSIPを用いるものとして説明を行う。
【0051】
映像配信サーバ151および152は、映像受信表示装置131等のRTSPクライアントとの間でRTSPメッセージの送受信を行うRTSPサーバである。また、帯域制御サーバ160等のSIPサーバとの間でQoSセッション制御情報を送受信するSIPクライアントでもある。
【0052】
帯域制御サーバ160は、通信制御装置120、映像配信サーバ151等のSIPクライアントとの間でQoSセッション制御情報の送受信を行い、実際のQoS制御を実行するSIPサーバである。また、図1には図示しないが、帯域制御サーバ160は、IMS(IP Multimedia System)の一部であり、SIPクライアントからのQoSセッション制御要求に応じてIMS内の各サーバ、例えば、HSS(Home Subscriber Server)、共通イネーブラ、AS(Application Server)等と必要な情報の送受信を行い、QoSセッション制御を行う。
【0053】
DNSサーバ170は、映像配信サーバ151、152等のFQDN(Fully Qualified Domain Name)とIPアドレスとの対応を示すテーブルを保持しており、通信制御装置120等からのドメイン名解決要求に従ってFQDNに対応するIPアドレスを応答する。
【0054】
通信制御装置120は、帯域制御サーバ160等のSIPサーバとの間でQoSセッション制御情報の送受信を行うSIPクライアントである。また、通信制御装置120は、外部ネットワーク140、ホームネットワーク110の両方と接続しており、代理接続部122において、ホームネットワーク110側に接続された映像受信表示装置131等のRTSPクライアントが送信するRTSPメッセージ、および外部ネットワーク140側に接続された映像配信サーバ151等のRTSPサーバが送信するRTSPメッセージを取得するRTSPメッセージ取得機能を有する。RTSPメッセージ取得機能については後述する。
【0055】
[IPv4機器とIPv6機器との間でのメッセージの送受信]
外部ネットワーク140、ホームネットワーク110に接続する映像受信表示装置131、132や、映像配信サーバ151、152等では、IPv4プロトコルスタックを実装したIPv4機器、およびIPv6プロトコルスタックを実装したIPv6機器が混在する場合がある。通常、IPv4機器はIPv4機器との間、IPv6機器はIPv6機器との間でしかメッセージの送受信を行うことができないが、本実施の形態の映像配信システムでは、通信制御装置120のドメイン名解決部121、代理接続部122の機能を用いて、IPv4機器とIPv6機器との間、IPv6機器とIPv4機器との間でのメッセージの送受信を可能とする。
【0056】
以下、映像受信表示装置131がIPv4機器の場合またはIPv6機器の場合、および、映像配信サーバ151がIPv4機器の場合またはIPv6機器の場合のそれぞれについて、映像受信表示装置131と映像配信サーバ151との間でのRTSPメッセージの送受信を可能とし、かつ通信制御装置120にてRTSPメッセージの取得・解析を可能とするためのドメイン名解決部121の動作について説明する。
【0057】
図13は、映像受信表示装置131がIPv4機器、映像配信サーバ151がIPv4機器の場合に、映像受信表示装置131が送信したドメイン名解決要求に対して通信制御装置120が応答するまでの手順の例を示すシーケンス図である。
【0058】
映像受信表示装置131は、映像配信サーバ151についてのドメイン名解決要求をAレコードのクエリタイプで送信する(S1301)。ドメイン名解決要求を受信した通信制御装置120は、DNSサーバ170へドメイン名解決要求をAレコードのクエリタイプで送信し(S1302)、DNSサーバ170は、ドメイン名解決応答を送信する(S1303)。ドメイン名解決応答を受信した通信制御装置120は、受信したドメイン名解決応答を映像受信表示装置131へ送信する(S1304)。
【0059】
図14は、映像受信表示装置131がIPv4機器、映像配信サーバ151がIPv6機器の場合に、映像受信表示装置131が送信したドメイン名解決要求に対して通信制御装置120が応答するまでの手順の例を示すシーケンス図である。
【0060】
映像受信表示装置131は、映像配信サーバ151についてのドメイン名解決要求をAレコードのクエリタイプで送信する(S1401)。ドメイン名解決要求を受信した通信制御装置120は、DNSサーバ170へドメイン名解決要求をAレコードのクエリタイプで送信し(S1402)、DNSサーバ170は、アンサーカウントが0のドメイン名解決応答を送信する(S1403)。ドメイン名解決応答を受信した通信制御装置120は、ドメイン名解決応答のアンサーカウントが0であるため、続いてDNSサーバ170へドメイン名解決要求をAAAAレコードのクエリタイプで送信し(S1404)、DNSサーバ170は、ドメイン名解決応答を送信する(S1405)。
【0061】
次に、通信制御装置120は、IPv4ダミーアドレス生成情報テーブル1100を用いてIPv4ダミーアドレスを生成し(S1406)、IPv4ダミーアドレス変換テーブル1200に、生成したIPv4ダミーアドレスとDNSサーバ170から応答された映像配信サーバ151のアドレスを記憶して(S1407)、映像受信表示装置131へIPv4ダミーアドレスを含むドメイン名解決応答を送信する(S1408)。
【0062】
図15は、映像受信表示装置131がIPv6機器、映像配信サーバ151がIPv4機器の場合に、映像受信表示装置131が送信したドメイン名解決要求に対して通信制御装置120が応答するまでの手順の例を示すシーケンス図である。
【0063】
映像受信表示装置131は、映像配信サーバ151についてのドメイン名解決要求をAAAAレコードのクエリタイプで送信する(S1501)。ドメイン名解決要求を受信した通信制御装置120は、DNSサーバ170へドメイン名解決要求をAAAAレコードのクエリタイプで送信し(S1502)、DNSサーバ170は、アンサーカウントが0のドメイン名解決応答を送信する(S1503)。ドメイン名解決応答を受信した通信制御装置120は、ドメイン名解決応答のアンサーカウントが0であるため、続いてDNSサーバ170へドメイン名解決要求をAレコードのクエリタイプで送信し(S1504)、DNSサーバ170は、ドメイン名解決応答を送信する(S1505)。
【0064】
次に、通信制御装置120は、IPv6中継プレフィックス情報テーブル900を用いてIPv6中継アドレスを生成し(S1506)、IPv6中継アドレス変換テーブル1000に、生成したIPv6中継アドレス1001とDNSサーバ170から応答された映像配信サーバ151のアドレスを記憶する(S1507)。さらに、通信制御装置120は、通信制御装置120自身に当該IPv6中継アドレスを追加で設定し(S1508)、映像受信表示装置131へIPv6中継アドレスを含むドメイン名解決応答を送信する(S1509)。
【0065】
図16は、映像受信表示装置131がIPv6機器、映像配信サーバ151がIPv6機器の場合に、映像受信表示装置131が送信したドメイン名解決要求に対して通信制御装置120が応答するまでの手順の例を示すシーケンス図である。
【0066】
映像受信表示装置131は、映像配信サーバ151についてのドメイン名解決要求をAAAAレコードのクエリタイプで送信する(S1601)。ドメイン名解決要求を受信した通信制御装置120は、DNSサーバ170へドメイン名解決要求をAAAAレコードのクエリタイプで送信し(S1602)、DNSサーバ170は、ドメイン名解決応答を送信する(S1603)。
【0067】
次に、通信制御装置120は、IPv6中継プレフィックス情報テーブル900を用いてIPv6中継アドレスを生成し(S1604)、IPv6中継アドレス変換テーブル1000に、生成したIPv6中継アドレス1001とDNSサーバ170から応答された映像配信サーバ151のアドレスを記憶する(S1605)。さらに、通信制御装置120は、通信制御装置120自身に当該IPv6中継アドレスを追加で設定し(S1606)、映像受信表示装置131へIPv6中継アドレスを含むドメイン名解決応答を送信する(S1607)。
【0068】
[RTSPメッセージ取得機能]
ここで、上記RTSPメッセージ取得機能について説明する。通信制御装置120のRTSPメッセージ取得機能において、映像受信表示装置131等のRTSPクライアント機器が送信するRTSPメッセージを取得するにはいくつかの方法があるが、その内の3つの方法について以下に説明する。
【0069】
第1のRTSPメッセージ取得方法は、通信制御装置120にて、RTSPメッセージを取得するためのポートを監視し、映像受信表示装置131等のRTSPクライアント機器にRTSPプロキシ設定として通信制御装置120の当該ポートを設定した上で、映像受信表示装置131等のRTSPクライアント機器から映像配信サーバ151等のRTSPサーバ機器へRTSPメッセージを送信する方法である。
【0070】
RTSPクライアント機器は、RTSPサーバ機器とRTSPメッセージの送受信を行うための通信路を確立する。第1のRTSPメッセージ取得方法では、RTSPクライアント機器は、接続先の情報(RTSPサーバ機器のIPアドレスおよびポート)を含む通信路確立要求を、RTSPプロキシ設定に指定された通信制御装置120のRTSPメッセージ監視ポートに対して送信することになる。
【0071】
通信制御装置120では、RTSPメッセージ監視ポートに到達する接続元の情報(RTSPクライアント機器のIPアドレスおよびポート)、接続先の情報(RTSPサーバ機器のIPアドレスおよびポート)を含む通信路確立要求を取得して通信路を確立する。これ以降、RTSPクライアント機器は、当該通信路を介してRTSPメッセージを送信するため、通信制御装置120は、RTSPクライアント機器からのRTSPメッセージを取得することができる。
【0072】
上述した第1のRTSPメッセージ取得方法では、映像受信表示装置131等のRTSPクライアント機器においてRTSPプロキシ設定が可能であることが必須となる。また、第1のRTSPメッセージ取得方法は、RTSPクライアント機器がIPv4機器、IPv6機器どちらの場合にも適用が可能である。映像受信表示装置131においてRTSPプロキシ設定が可能でない場合は、通信制御装置120は、以下に説明する第2もしくは第3のRTSPメッセージ取得方法にてRTSPメッセージを取得する必要がある。
【0073】
第2のRTSPメッセージ取得方法は、RTSPクライアント機器がIPv4機器であった場合に、通信制御装置120に対して、ホームネットワーク110側からの通信により入力される特定の情報を、通信制御装置120のRTSPメッセージ監視ポートに対してリダイレクトするような設定を行う方法である。例えば、通信制御装置120のオペレーティングシステムがLinux(登録商標)の場合は、以下のような設定により実現できる。
【0074】
まず、Linuxのカーネルをリダイレクト設定が可能なように構成しておく。そして、例えば、“iptables -t nat -A PREROUTING -p tcp --dport 554 -j REDIRECT --to-ports 10554”のコマンドによって、Linuxに対してポートのリダイレクトの設定を行う。この設定によれば、通信制御装置120を通る554番ポート(RTSPで用いられるWell Known Port)宛の通信を、例えば10554番ポート宛にリダイレクトすることができる。
【0075】
通信制御装置120にてあらかじめ上記のようなポートのリダイレクト設定を行い、リダイレクト先のポートを監視することによって、通信制御装置120は、RTSPクライアント機器がRTSPサーバ機器とRTSPメッセージの送受信を行うための通信路確立要求を取得することができる。
【0076】
第2のRTSPメッセージ取得方法では、RTSPクライアント機器は、RTSPサーバ機器のRTSP待ち受けポート(通常は554番ポート)に対して通信路確立要求を送信する。ホームネットワーク110に接続するRTSPクライアント機器から、外部ネットワーク140に接続するRTSPサーバ機器に対しての通信は、必ず通信制御装置120を経由する。
【0077】
通信制御装置120は、RTSPクライアント機器が送信したRTSPサーバ機器宛の通信をリダイレクトし、リダイレクト先の監視ポートにて接続元の情報(RTSPクライアント機器のIPアドレスおよびポート)および接続先の情報(RTSPサーバ機器のIPアドレスおよびポート)を含む通信路確立要求を取得し、RTSPクライアント機器との間に通信路を確立する。これ以降、RTSPクライアント機器は、当該通信路を介してRTSPメッセージを送信するため、通信制御装置120は、RTSPクライアント機器からのRTSPメッセージを取得することができる。
【0078】
上述した第2のRTSPメッセージ取得方法では、映像受信表示装置131等のRTSPクライアント機器にはRTSPプロキシ設定等の特別な設定は必要なく、RTSPクライアント機器は、通常の方法で単に映像配信サーバ151等のRTSPサーバ機器に対しての通信を行っているだけである。ただし、上記リダイレクトの設定はNAT(Network Address Translation)の機能を応用したものであるため、RTSPクライアント機器がNATを適用可能なIPv4機器である場合のみ適用することができる。
【0079】
なお、映像受信表示装置131がIPv4機器、映像配信サーバ151がIPv6機器の場合は、上述の図14のように、映像受信表示装置131からのドメイン名解決要求に対し、通信制御装置120はIPv4ダミーアドレスを応答するが、映像受信表示装置131が当該IPv4ダミーアドレス宛に送信するRTSPメッセージについても、第2のRTSPメッセージ取得方法で取得することができる。
【0080】
第3のRTSPメッセージ取得方法は、通信制御装置120のドメイン名解決部121と代理接続部122とが連携することで達成される。第3のRTSPメッセージ取得方法では、RTSPクライアント機器がRTSPサーバ機器のドメイン名解決要求を通信制御装置120に送信した際に、正しいRTSPサーバ機器のIPアドレスを応答するのではなく、通信制御装置120自身のIPアドレス(例えば、上述のIPv6中継アドレス)を応答する。RTSPクライアント機器は、RTSPサーバ機器に対してRTSPメッセージを送信していると認識しているが、実際にはRTSPメッセージは通信制御装置120に対して送信されているため、通信制御装置120は当該RTSPメッセージを取得することができる。
【0081】
上述した第3のRTSPメッセージ取得方法では、映像受信表示装置131等のRTSPクライアント機器にはRTSPプロキシ設定等の特別な設定は必要なく、RTSPクライアント機器は、(実際には通信制御装置120に対してRTSPメッセージを送信しているが)映像配信サーバ151等のRTSPサーバ機器に対しての通信を行っているだけである。なお、第3のRTSPメッセージ取得方法は、RTSPクライアント機器がIPv4機器、IPv6機器いずれの場合でも適用することが可能である。
【0082】
以降の説明では、特に断りがない場合、通信制御装置120は、RTSPクライアント機器にRTSPプロキシ設定の必要がない第2のRTSPメッセージ取得方法(RTSPクライアント機器がIPv4機器の場合)、もしくは第3のRTSPメッセージ取得方法(RTSPクライアント機器がIPv6機器の場合)によってRTSPメッセージを取得するものとして説明する。
【0083】
上述した第2のRTSPメッセージ取得方法あるいは第3のRTSPメッセージ取得方法を用いたRTSPメッセージ取得機能により、通信制御装置120は、映像受信表示装置131等のRTSPクライアント機器が映像配信サーバ151等のRTSPサーバ機器に対して送信する通信路確立要求を取得することができる。言い換えると、通信制御装置120は、映像受信表示装置131等のRTSPクライアント機器が送信する通信路確立要求を取得することにより、RTSPクライアント機器との間に通信路を確立することができる。以下、このRTSPクライアント機器と通信制御装置120との間の通信路を第1の通信路と記述する。
【0084】
上述した第2あるいは第3のRTSPメッセージ取得方法により、RTSPクライアント機器と第1の通信路を確立した通信制御装置120は、取得した通信路確立要求に含まれる接続元の情報(RTSPクライアント機器のIPアドレスおよびポート)および接続先の情報(RTSPサーバ機器のIPアドレスおよびポート)を取得することができる。
【0085】
ここで取得する接続先の情報に含まれるRTSPサーバのIPアドレスは、上述のIPv4ダミーアドレスやIPv6中継アドレスである場合があるが、それぞれIPv4ダミーアドレス変換テーブル1200、IPv6中継アドレス変換テーブル1000を用いることで、通信制御装置120は、RTSPサーバ機器(映像配信サーバ151)の正しいIPアドレスを取得することができる。ここで取得したRTSPサーバ機器の情報を用いて、通信制御装置120は、さらに、RTSPサーバ機器と接続するための通信路を確立することができる。以下、このRTSPサーバ機器と通信制御装置120との間の通信路を第2の通信路と記述する。
【0086】
通信制御装置120は、第1の通信路を経由して受信したRTSPメッセージの内容を解析し、必要な情報を取得したり、適切に書き換えたりした後、第2の通信路を経由してRTSPサーバ機器に送信する。その後、通信制御装置120は、RTSPサーバ機器からの応答であるRTSPメッセージを第2の通信路を経由して受信する。通信制御装置120は、取得したRTSPメッセージの内容を解析し、必要な情報を取得したり、適切に書き換えたりした後、第1の通信路を経由してRTSPクライアント機器に対して送信する。
【0087】
送受信されるRTSPメッセージには、QoSセッション制御に必要な情報(QoS制御を行う各機器のIPアドレスとポートおよび必要な帯域の情報)も含まれている。従って、本実施の形態の映像配信システムは、上述のように、通信制御装置120によって、RTSPクライアント機器とRTSPサーバ機器との間で送受信されるRTSPメッセージからQoSセッション制御に必要な情報を取得し、RTSPクライアント機器による再生制御が行われるまでの間に、RTSPサーバ機器と通信制御装置120との間でQoS制御を行うことによって、QoSセッション制御機能を有しないRTSPクライアント機器が、QoS保証された映像等のコンテンツ配信サービスを受けることを可能とするシステムである。
【0088】
なお、本実施の形態の映像配信システムでは、RTSPメッセージを取得して解析を可能とするための方法として、上述の3つの方法を挙げているが、通信制御装置120においてRTSPメッセージの内容からQoSセッション制御に必要な情報を取得することが可能な仕組みであれば、例えば、OSやIPv4、IPv6のプロトコルスタックのモジュールに修正を加える等によってRTSPメッセージの内容を取得するように実装することも可能である。
【0089】
[動作の流れ]
以下、本実施の形態の映像配信システムにおける動作の流れについて説明する。まず、図17〜図20を用いて、本実施の形態の映像配信システムにおける動作の流れの概要を説明する。
【0090】
図17は、通信路(第1の通信路および第2の通信路)の確立の際の手順の例を示すシーケンス図である。まず、映像受信表示装置131が、通信制御装置120を経由して、映像配信サーバ151宛に通信路確立要求を送信する。通信制御装置120は、上述のRTSPメッセージ取得機能によって当該通信路確立要求を取得し、映像受信表示装置131との間に第1の通信路を確立する(S1701)。
【0091】
次に、通信制御装置120は、メインメモリ202上にRTSPコネクション毎に作成されるワークメモリに、接続情報管理テーブル400を新規に作成する(S1702)。次に、通信制御装置120は、通信路確立要求に含まれる接続元(クライアント)IPアドレスを取得して、接続情報管理テーブル400のクライアントアドレス401に記憶する(S1703)。
【0092】
次に、通信制御装置120は、通信路確立要求に含まれる接続先(サーバ)IPアドレスを取得し、接続情報管理テーブル400のサーバアドレス402に記憶する(S1704)。このとき、IPv4ダミーアドレス変換テーブル1200、およびIPv6中継アドレス変換テーブル1000を参照し、取得した接続先IPアドレスがIPv4ダミーアドレスもしくはIPv6中継アドレスのエントリと一致する場合は、対応する映像配信サーバ151の正しいアドレス(映像配信サーバアドレス1002もしくは映像配信サーバアドレス1202)を取得して、取得したアドレスを接続先(サーバ)IPアドレスとして、接続情報管理テーブル400のサーバアドレス402に記憶する。
【0093】
次に、通信制御装置120は、システムであらかじめ決めておくタイムアウトの初期値(例えば120秒)を、接続情報管理テーブル400のタイムアウト403およびタイマー404に設定する(S1705)。なお、ここで設定するタイムアウト値は、後にRTSP SETUPレスポンスを受信した際に取得するRTSPセッションのタイムアウト値に書き換えられることになる。
【0094】
次に、通信制御装置120は、通信制御装置120と映像配信サーバ151との間でRTSPメッセージの送受信を行うためのポートを決定する(S1706)。ここではまず、システム共通テーブルである利用可能ポート番号テーブル500から利用可能ポート番号範囲501を取得し、次に、システム共通テーブルである利用ポート番号テーブル600に記憶している利用ポート番号601を全て読み出す。
【0095】
通信制御装置120は、利用可能ポート番号範囲501のうち、利用ポート番号601に含まれない、すなわち現在利用されていないポートを一つ選び、それをRTSPメッセージの送受信に用いるポートとし、当該ポートを新たに利用ポート番号テーブル600に追記する。また、RTSP通信利用ポート番号テーブル700をワークメモリ上に作成し、当該ポートをRTSP通信利用ポート番号701として記憶する。
【0096】
次に、通信制御装置120は、帯域制御サーバ160に対し、映像配信サーバ151との間にRTSP用QoSセッションを確立することを要求する(S1707)。このとき、RTSPメッセージ自体はリアルタイム性が必要とされず、情報量もあまり多くないため、確保する帯域の指定は必要ない。すなわち、通信制御装置120のIPアドレスと上記で決定したRTSP通信利用ポート番号701、および映像配信サーバ151のIPアドレスおよびポートの情報を用いてRTSP用QoSセッションを確立する。
【0097】
次に、通信制御装置120は、確立したRTSP用QoSセッションを通して第2の通信路を確立する(S1708)。最後に、接続情報管理テーブル400の状態405を“Init”に設定する(S1709)。
【0098】
また、図示しないが、上記のように通信路(第1の通信路、RTSP用QoSセッション、第2の通信路)が確立すると、通信制御装置120において、図示しないタイムアウト監視部が起動する。タイムアウト監視部は、接続情報管理テーブル400のタイマー404に設定した値を1秒毎にデクリメントし、タイマー404の値が0になった時点でタイムアウトと判定する。タイムアウトが発生すると、通信制御装置120は、上記で確立した各通信路を切断する。
【0099】
なお、詳細は後述するが、タイマー404の値は、タイムアウトと判定される前に新たなRTSPメッセージを受信することで、タイムアウト403に設定した値にリセットされる。すなわち、タイムアウトとは、通信制御装置120に次のRTSPメッセージが到達するまでの待ち時間である。
【0100】
図18は、再生準備の際の手順の例を示すシーケンス図である。これ以降、RTSPクライアント機器とRTSPサーバ機器との間ではRTSPメッセージの送受信が行われる。RTSPには、メッセージの送受信を行うための各種のメソッドが定義されている。これらは、例えば、OPTIONS、DESCRIBE、SETUP、PLAY、PAUSE、ANNOUNCE、TEARDOWN等であり、それぞれについてリクエストとレスポンスのメソッドが定義されている。RTSPクライアント機器やRTSPサーバ機器は、これらのメソッドを介して情報を送受信し、音声や映像等のコンテンツ再生に必要な情報の交換を行う。
【0101】
図18に示す再生準備の動作では、映像用QoSセッションの確立に必要な情報を収集する。すなわち、QoSセッション制御に必要なコンテンツの帯域情報、およびQoSセッションの両端の機器のIPアドレスおよびポートの情報を収集する。このうち、コンテンツの帯域情報はRTSP DESCRIBEレスポンス、IPアドレスおよびポートの情報はRTSP SETUPレスポンスからそれぞれ取得することができる。
【0102】
まず、映像受信表示装置131は、第1の通信路を介して通信制御装置120へRTSP DESCRIBEリクエストを送信する(S1801)。RTSP DESCRIBEリクエストを受信した通信制御装置120は、接続情報管理テーブル400のタイマー404の値をタイムアウト403の値にリセットする(S1802)。なお、これ以降全てのメソッドについて、第1の通信路から情報を受信した際には必ずタイマーをリセットする。
【0103】
次に、通信制御装置120は、取得したRTSPメッセージの内容を第2の通信路を介して映像配信サーバ151へ送信する(S1803)。次に、映像配信サーバ151は、RTSP DESCRIBEリクエストの内容を元に処理を行い、応答をRTSP DESCRIBEレスポンスとして第2の通信路を介して通信制御装置120へ送信する(S1804)。
【0104】
通信制御装置120は、RTSP DESCRIBEレスポンスを取得し、そこに含まれるコンテンツの情報のうちコンテンツのビットレートの情報を取得する。そして、映像データ受信情報テーブル800をワークメモリ上に作成し、帯域804の項目にその値を記憶する(S1805)。その後、通信制御装置120は、取得したRTSP DESCRIBEレスポンスを、第1の通信路を介して映像受信表示装置131へ送信する(S1806)。
【0105】
次に、映像受信表示装置131は、RTSP SETUPリクエストを第1の通信路を介して通信制御装置120へ送信する(S1807)。通信制御装置120は、第1の通信路を介してRTSP SETUPリクエストを取得し、タイマーをリセットし(S1808)、RTSP SETUPリクエスト処理を行う(S1809)。
【0106】
すなわち、RTSP SETUPリクエストを受信した通信制御装置120は、RTSP SETUPリクエストから映像データ受信ポートであるclient_portの値を読み出し、映像データ受信情報テーブル800のクライアントポート803に記憶する。次に、利用可能ポート番号テーブル500および利用ポート番号テーブル600を参照して利用可能なポートを決定し、これを通信制御装置120での映像データ受信ポートとして、RTSP SETUPリクエストのclient_portの値をその値に書き換える。さらに、その値を映像データ受信情報テーブル800の通信制御装置ポート801に記憶する。
【0107】
次に、通信制御装置120は、RTSP SETUPリクエストを第2の通信路を介して映像配信サーバ151へ送信し(S1810)、その応答であるRTSP SETUPレスポンスを受信する(S1811)。その後、通信制御装置120は、受信したRTSP SETUPレスポンスの内部処理を行う(S1812)。
【0108】
すなわち、RTSP SETUPレスポンスに含まれるRTSPセッション情報のタイムアウト値を取得し、接続情報管理テーブル400のタイムアウト403の値を、取得したタイムアウト値で上書きする。また、RTSP SETUPレスポンスに含まれる映像データ送信ポートであるserver_portの値を読み出し、映像データ受信情報テーブル800のサーバポート802に記憶する。
【0109】
また、RTSP SETUPレスポンスのclient_portの値を読み出し、この値が映像データ受信情報テーブル800の通信制御装置ポート801の値と等しいか否かを確認する。等しくなければ、通信制御装置ポート801の値を取得したclient_portの値で上書きする。また、RTSP SETUPレスポンスのclient_portの値を、映像データ受信情報テーブル800のクライアントポート803の値に書き換える。
【0110】
その後、映像データを映像受信表示装置131に伝送するための映像データ転送設定を行う(S1812)。すなわち、通信制御装置120の、映像データ受信情報テーブル800の通信制御装置ポート801に記憶したポートに到達した映像データを、映像受信表示装置131の、映像データ受信情報テーブル800のクライアントポート803に記憶したポートへ転送するための設定を行う。なお、この設定は、通信制御装置120のOSや、映像受信表示装置131および映像配信サーバ151がIPv4機器であるかIPv6機器であるかなどに応じて種々の方法を採ることができる。
【0111】
次に、通信制御装置120は、映像データ受信情報テーブル800に記憶した内容を元に、帯域制御サーバ160に対して、映像配信サーバ151との間の映像用QoSセッションの確立要求を行う(S1813)。すなわち、通信制御装置120のIPアドレスおよび映像データ受信情報テーブル800の通信制御装置ポート801に記憶したポートと、映像配信サーバ151のIPアドレスおよび映像データ受信情報テーブル800のサーバポート802に記憶したポートとの間に、映像データ受信情報テーブル800の帯域804に設定された分の帯域を確保するように要求する。
【0112】
映像用QoSセッションが確立したら、通信制御装置120は、接続情報管理テーブル400の状態405を“Ready”に変更し(S1814)、RTSP SETUPレスポンスを第1の通信路を介して映像受信表示装置131へ送信する(S1815)。
【0113】
図19は、映像再生の際の手順の例を示すシーケンス図である。まず、映像受信表示装置131は、RTSP PLAYリクエストを、第1の通信路を介して通信制御装置120へ送信する(S1901)。通信制御装置120は、RTSP PLAYリクエストを受信し、タイマーをリセットし(S1902)、第2の通信路を介してRTSP PLAYリクエストを映像配信サーバ151へ送信する(S1903)。
【0114】
その後、RTSP PLAYレスポンスを受信し(S1904)、接続情報管理テーブル400の状態405を“Playing”に変更して(S1905)、RTSP PLAYレスポンスを第1の通信路を介して映像受信表示装置131へ送信する(S1906)。
【0115】
映像配信サーバ151は、RTSP PLAYリクエストを受信すると、映像データの伝送を開始する(S1907)。映像データは、映像配信サーバ151と通信制御装置120との間では、通信制御装置120がRTSP SETUPレスポンス受信時に確立した映像用QoSセッション内を伝送される。通信制御装置120が受信した映像データは、RTSP SETUPレスポンス受信時に設定した映像データ転送設定に従って、映像受信表示装置131へ転送される(S1908)。
【0116】
映像データの伝送中、映像受信表示装置131は、RTSPセッションがタイムアウトしない程度の間隔で、接続維持用のメッセージを通信制御装置120に送信する(S1909)。これには通常、RTSPの状態に変更を与えないRTSP OPTIONSメソッドか単純なハートビートを用いる。通信制御装置120は、これらのメッセージを受信した際はタイマーをリセットし(S1910)、受信したメッセージを映像配信サーバ151へ送信する(S1911)。通信制御装置120は、映像配信サーバ151からレスポンスを受信すると(S1912)、受信したレスポンスを映像受信表示装置131へ送信する(S1913)。
【0117】
図20は、再生停止の際の手順の例を示すシーケンス図である。まず、映像受信表示装置131は、RTSP PAUSEリクエストを、第1の通信路を介して通信制御装置120へ送信する(S2001)。通信制御装置120は、タイマーリセットを行い(S2002)、RTSP PAUSEリクエストを第2の通信路を介して映像配信サーバ151へ送信する(S2003)。
【0118】
その後、RTSP PAUSEレスポンスを受信し(S2004)、接続情報管理テーブル400の状態405を“Ready”に変更して(S2005)、RTSP PAUSEレスポンスを第1の通信路を介して映像受信表示装置131へ送信する(S2006)。
【0119】
次に、映像受信表示装置131は、RTSP TEARDOWNリクエストを第1の通信路を介して通信制御装置120へ送信する(S2007)。通信制御装置120は、タイマーリセットを行い(S2008)、RTSP TEARDOWNリクエストを第2の通信路を介して映像配信サーバ151へ送信する(S2009)。RTSP TEARDOWNリクエストを受信した映像配信サーバ151は、映像データの伝送を終了し、RTSP TEARDOWNレスポンスを通信制御装置120に送信する(S2010)。
【0120】
次に、通信制御装置120は、帯域制御サーバ160に対し、映像配信サーバ151との間の映像用QoSセッションの終了要求を行い、映像用QoSセッションを終了する(S2011)。その後、通信制御装置120は、映像データ転送設定を解除し(S2012)、映像データ受信情報テーブル800の通信制御装置ポート801に記憶されている値を利用ポート番号テーブル600から削除して、第2の通信路を切断する(S2013)。
【0121】
次に、通信制御装置120は、帯域制御サーバ160に対し、映像配信サーバ151との間のRTSP用QoSセッションの終了要求を行い、RTSP用QoSセッションを終了する(S2014)。その際、RTSP通信利用ポート番号テーブル700のRTSP通信利用ポート番号701に記憶されている値を利用ポート番号テーブル600から削除する。
【0122】
その後、通信制御装置120は、接続情報管理テーブル400の状態405を“接続なし”に設定し(S2015)、第1の通信路を介してRTSP TEARDOWNレスポンスを映像受信表示装置131へ送信する(S2016)。その後、第1の通信路を切断し(S2017)、コネクション内テーブルである接続情報管理テーブル400、RTSP通信利用ポート番号テーブル700、映像データ受信情報テーブル800を削除する(S2018)。
【0123】
[RTSPコネクションの状態遷移]
ここで、本実施の形態での通信制御方法における、通信制御装置120が記憶するRTSPコネクションの状態遷移について説明する。図21(a)は、本実施の形態におけるRTSPコネクションの状態遷移図である。また、図21(b)は、本実施の形態におけるRTSPコネクションの状態遷移テーブルを示す図である。図21(a)における遷移1〜7は、図21(b)におけるNo.1〜7のイベントにそれぞれ対応している。
【0124】
図21(a)において、まず最初は“コネクション無し”の状態である。“コネクション無し”状態にて、通信制御装置120がRTSPクライアント機器からの接続要求を受けて、第1の通信路の確立、RTSP用QoSセッションの確立、第2の通信路の確立を行うと、RTSPコネクションは“Init”状態に遷移する。
【0125】
“Init”状態にて、通信制御装置120がRTSP SETUPレスポンスを受信し、映像用QoSセッションが確立すると“Ready”状態に遷移する。“Ready”状態にて、通信制御装置120がRTSP PLAYレスポンスを受信すると“Playing”状態に遷移する。“Playing”状態にて、通信制御装置120がRTSP PAUSEレスポンスを受信すると“Ready”状態に遷移する。
【0126】
また、“Playing”状態にて、接続がタイムアウトする、もしくは通信制御装置120がRTSP TEARDOWNレスポンスを受信すると、映像用QoSセッションおよびRTSP用QoSセッションを終了し、“コネクション無し”状態に遷移する。“Ready”状態にて、接続がタイムアウトする、もしくは通信制御装置120がRTSP TEARDOWNレスポンスを受信すると、映像用QoSセッションおよびRTSP用QoSセッションを終了し、“コネクション無し”状態に遷移する。“Init”状態にて、接続がタイムアウトすると、RTSP用QoSセッションを終了し、“コネクション無し”状態に遷移する。
【0127】
上述のように、通信制御装置120は、RTSPコネクションについて、RTSPセッションの状況とRTSP用および映像用QoSセッションの状況とを統一的に表す“状態”を用いて管理する。この“状態”は、RTSPコネクション毎に接続情報管理テーブル400の状態405に記憶している。
【0128】
[通信制御装置の処理フロー]
次に、図22〜図32を用いて、本実施の形態の映像配信システムにおける通信制御装置120での個別の処理の流れを説明する。
【0129】
図22は、ドメイン名解決の処理の例を示すフローチャートである。まず、映像受信表示装置131から映像配信サーバ151のドメイン名解決要求を受信する(S2201)。次に、DNSサーバ170に対して、映像受信表示装置131から要求されたクエリタイプを用いてドメイン名解決要求を行う(S2202)。次に、DNSサーバ170からのドメイン名解決応答のアンサーカウントが0かどうかを判断する(S2203)。アンサーカウントが0でなければ、ステップS2207に進む。
【0130】
ステップS2203でアンサーカウントが0であった場合は、映像受信表示装置131から要求されたクエリタイプ以外のクエリタイプを用いてDNSサーバ170にドメイン名解決要求を行う(S2204)。次に、DNSサーバ170からのドメイン名解決応答のアンサーカウントが0かどうかを判断する(S2205)。アンサーカウントが0であった場合は、映像受信表示装置131に、該当ドメイン名に該当する機器がない旨を応答して(S2206)、処理を終了する。ステップS2205でアンサーカウントが0でない場合は、映像受信表示装置131から要求されたクエリタイプとDNSサーバ170からの応答のレコードタイプに従って応答アドレスを作成および応答し(S2207)、処理を終了する。
【0131】
図23は、図22の応答アドレス作成・応答処理(S2207)のサブルーチンの処理の例を示すフローチャートである。まず、映像受信表示装置131からのドメイン名解決要求のクエリタイプがAレコードかどうかを判断する(S2301)。
【0132】
Aレコードでなかった場合は、ステップS2307に進み、IPv6中継プレフィックス情報テーブル900を用いてIPv6中継アドレスを生成する(S2307)。次に、IPv6中継アドレス変換テーブル1000に、生成したIPv6中継アドレス1001と映像配信サーバ151のアドレスを記憶する(S2308)。次に、通信制御装置120にIPv6中継アドレスを追加で設定する(S2309)。次に、IPv6中継アドレスを映像受信表示装置131への応答アドレスに設定して(S2310)、ステップS2311へ進む。
【0133】
ステップS2301で、映像受信表示装置131からのドメイン名解決要求のクエリタイプがAレコードであった場合は、DNSサーバからのアンサーカウントが0ではないドメイン名解決応答のレコードタイプがAレコードかどうかを判断する(S2302)。Aレコードであった場合は、DNSサーバ170が応答した映像配信サーバ151のアドレスを映像受信表示装置131への応答アドレスに設定して(S2303)、ステップS2311へ進む。
【0134】
ステップS2302で、DNSサーバからのドメイン名解決応答のレコードタイプがAレコードでなかった場合は、ステップS2304へ進み、IPv4ダミーアドレス生成情報テーブル1100を用いてIPv4ダミーアドレスを生成する(S2304)。次に、IPv4ダミーアドレス変換テーブルに、生成したIPv4ダミーアドレスと映像配信サーバ151のアドレスを記憶する(S2305)。次に、IPv4ダミーアドレスを映像受信表示装置131への応答アドレスに設定して(S2306)、ステップS2311へ進む。
【0135】
ステップS2311では、上述した処理により設定された応答アドレスを映像受信表示装置131へ送信し(S2311)、処理を終了する。
【0136】
図24は、通信路確立の処理の例を示すフローチャートである。まず、映像受信表示装置131から第1の通信路確立要求を受信し、映像受信表示装置131との間で第1の通信路を確立する(S2401)。次に、当該接続に関する接続情報管理テーブル400を作成する(S2402)。次に、第1の通信路の情報における接続元のIPアドレスを取得し、接続情報管理テーブル400のクライアントアドレス401に記憶する(S2403)。
【0137】
次に、第1の通信路の情報における接続先のIPアドレスを取得する(S2404)。次に、IPv4ダミーアドレス変換テーブル1200およびIPv6中継アドレス変換テーブル1000を参照して、取得したIPアドレスが、各テーブルのIPv4ダミーアドレス1201またはIPv6中継アドレス1001のエントリに該当するかどうかを判断する(S2405)。
【0138】
取得したIPアドレスが、各テーブルのIPv4ダミーアドレス1201またはIPv6中継アドレス1001のエントリに該当する場合は、それぞれのテーブルで対応する映像配信サーバアドレス1202もしくは1002を接続情報管理テーブル400のサーバアドレス402に記憶する(S2407)。また、いずれにも該当しない場合は、ステップS2404で取得した接続先のIPアドレスを接続情報管理テーブル400のサーバアドレス402に記憶する(S2406)。
【0139】
次に、システムで決めるタイムアウト時間を接続情報管理テーブル400のタイムアウト403に記憶する(S2408)。次に、後述する通信制御装置120の利用ポート決定の手順によりRTSP通信利用ポートを決定し、決定したRTSP通信利用ポートをRTSP通信利用ポート番号テーブル700に記憶する(S2409)。その後、帯域制御サーバ160を介して映像配信サーバ151との間でRTSP用QoSセッションを確立し(S2410)、第2の通信路を確立して(S2411)、処理を終了する。
【0140】
図25は、RTSPリクエストの処理の例を示すフローチャートである。まず、第1の通信路を介して映像受信表示装置131からRTSPリクエストデータを受信する(S2501)。次に、接続情報管理テーブル400のタイマー404をリセットする(S2502)。次に、受信したRTSPリクエストがSETUPリクエストかどうかを調べる(S2503)。
【0141】
受信したRTSPリクエストがSETUPリクエストでなかった場合は、ステップS2505へ進む。SETUPリクエストであった場合は、後述するSETUPリクエスト処理を行い(S2504)、ステップS2505へ進む。ステップS2505では、第2の通信路を介して映像配信サーバ151にRTSPリクエストデータを送信して(S2505)、処理を終了する。
【0142】
図26は、図25のSETUPリクエスト処理(S2504)のサブルーチンの処理の例を示すフローチャートである。まず、受信したRTSPリクエストデータから映像データ受信ポートを取得し、映像データ受信情報テーブル800のクライアントポート803に記憶する(S2601)。
【0143】
次に、後述する通信制御装置120の利用ポート決定の手順により、通信制御装置120の映像データ受信ポートを決定し、映像データ受信情報テーブル800の通信制御装置ポート801に記憶する(S2602)。次に、RTSPリクエストデータの映像データ受信ポートの値を、ステップS2602で決定した通信制御装置120の映像データ受信ポートの値に書き換えて(S2603)、処理を終了する。
【0144】
図27は、通信制御装置120の利用ポート決定のサブルーチンの処理の例を示すフローチャートである。まず、通信制御装置120の利用可能ポート番号テーブル500から、利用可能ポート番号範囲501を取得する(S2701)。次に、通信制御装置120の利用ポート番号テーブル600に記載の利用ポート番号601を全て取得する(S2702)。次に、ステップS2701で取得した利用可能ポート番号範囲501のうち、ステップS2702で取得した利用ポート番号601に含まれない番号を任意の手段によって1つ選択し、その番号を利用ポート番号テーブル600に追記して(S2703)、処理を終了する。
【0145】
図28は、映像配信サーバ151からのRTSPレスポンスの処理の例を示すフローチャートである。まず、第2の通信路を介して映像配信サーバ151からRTSPレスポンスデータを受信する(S2801)。次に、受信したRTSPレスポンスがDESCRIBEレスポンスかどうかを調べる(S2802)。
【0146】
受信したRTSPレスポンスがDESCRIBEレスポンスであった場合は、後述するDESCRIBEレスポンス処理を行い(S2803)、ステップS2808へ進む。DESCRIBEレスポンスでなかった場合は、ステップS2804へ進み、受信したRTSPレスポンスがSETUPレスポンスかどうかを調べる(S2804)。
【0147】
ステップS2804で、受信したRTSPレスポンスがSETUPレスポンスであった場合は、後述するSETUPレスポンス処理を行い(S2805)、ステップS2808へ進む。SETUPレスポンスでなかった場合は、ステップS2806へ進み、受信したRTSPレスポンスがTEARDOWNレスポンスかどうかを調べる(S2806)。
【0148】
ステップS2806で、受信したRTSPレスポンスがTEARDOWNレスポンスであった場合は、後述するTEARDOWNレスポンス処理を行い(S2807)、ステップS2808へ進む。TEARDOWNレスポンスでなかった場合は、ステップS2808へ進む。
【0149】
ステップS2808では、RTSPレスポンスデータの受信にともなって状態変更の処理を行う(S2808)。次に、第1の通信路を介して映像受信表示装置131へRTSPレスポンスデータを送信する(S2809)。次に、送信したRTSPレスポンスがTEARDOWNレスポンスかどうかを調べる(S2810)。
【0150】
送信したRTSPレスポンスがTEARDOWNレスポンスであった場合は、第1の通信路を切断し(S2811)、次に、コネクション内テーブルである接続情報管理テーブル400、RTSP通信利用ポート番号テーブル700、映像データ受信情報テーブル800を削除して(S2812)、処理を終了する。ステップS2810で、送信したRTSPレスポンスがTEARDOWNレスポンスでなかった場合は、処理を終了する。
【0151】
図29は、図28のDESCRIBEレスポンス処理(S2803)のサブルーチンの処理の例を示すフローチャートである。まず、受信したRTSPレスポンスデータから映像のビットレート情報を取得する(S2901)。次に、映像データ受信情報テーブル800の帯域804に、取得したビットレート情報を記憶して(S2902)、処理を終了する。
【0152】
図30は、図28のSETUPレスポンス処理(S2804)のサブルーチンの処理の例を示すフローチャートである。まず、受信したRTSPレスポンスデータから映像データ受信ポートを取得する(S3001)。次に、取得した映像データ受信ポートが、映像データ受信情報テーブル800の通信制御装置ポート801に記憶している値と同一であるかどうかを確認する(S3002)。同一である場合はステップS3004に進む。同一でない場合は、映像データ受信情報テーブル800の通信制御装置ポート801を、ステップS3001で取得した映像データ受信ポートの値で上書きし、ステップS3004に進む。
【0153】
ステップS3004では、受信したRTSPレスポンスデータから映像データ送信ポートを取得し、映像データ受信情報テーブル800のサーバポート802に記憶する(S3004)。次に、受信したRTSPレスポンスデータからRTSPセッションのタイムアウト時間を取得し、接続情報管理テーブル400のタイムアウト403に上書きする(S3005)。次に、受信したRTSPレスポンスデータの映像データ受信ポートを、映像データ受信情報テーブル800のクライアントポート803の値で書き換える(S3006)。
【0154】
次に、接続情報管理テーブル400のクライアントアドレス401と映像データ受信情報テーブル800の情報を用いて、映像データ転送設定を行う(S3007)。次に、映像データ受信情報テーブル800の情報を用いて、帯域制御サーバ160を介して映像配信サーバ151との間で映像用QoSセッションを確立して(S3008)、処理を終了する。
【0155】
図31は、図28のTEARDOWNレスポンス処理(S2806)のサブルーチンの処理の例を示すフローチャートである。まず、映像配信サーバ151との間の映像用QoSセッションを終了し(S3101)、次に、映像データ転送設定を解除する(S3102)。次に、映像配信サーバ151との間の第2の通信路を切断し(S3103)、RTSP用QoSセッションを終了して(S3104)、処理を終了する。
【0156】
図32は、タイムアウト処理の例を示すフローチャートである。まず、接続情報管理テーブル400のタイマー404の値が0となったことを検知する(S3201)。次に、接続情報管理テーブル400の状態405が“Ready”または“Playing”かどうかを確認する(S3202)。
【0157】
接続情報管理テーブル400の状態405が“Ready”または“Playing”でなかった場合は、ステップS3205へ進む。接続情報管理テーブル400の状態405が“Ready”または“Playing”であった場合は、ステップS3203へ進む。ステップS3203では、映像配信サーバ151との間の映像用QoSセッションを終了し(S3203)、次に、映像データ転送設定を解除して(S3204)、ステップS3205へ進む。
【0158】
ステップS3205では、映像配信サーバ151との間の第2の通信路を切断し(S3205)、次に、RTSP用QoSセッションを終了する(S3206)。次に、映像受信表示装置131との間の第1の通信路を切断し(S3207)、次に、コネクション内テーブルである接続情報管理テーブル400、RTSP通信利用ポート番号テーブル700、映像データ受信情報テーブル800を削除して(S3208)、処理を終了する。
【0159】
以上に説明したような本実施の形態における通信制御装置120は、ホームネットワーク110に接続する複数のRTSPクライアント機器からの接続を別個に管理することができる。例えば、映像受信表示装置131が映像再生中に、新たに映像受信表示装置132が接続した場合、映像受信表示装置132と通信制御装置120との間には新たな第1の通信路が確立され、通信制御装置120と映像配信サーバ151の間にも新たな第2の通信路が確立される。
【0160】
接続情報管理テーブル400、RTSP通信利用ポート番号テーブル700、映像データ受信情報テーブル800といったコネクション内テーブルは、接続毎にワークメモリ上に確保されるため、それぞれの接続による状態遷移や接続情報は別個に管理することができる。
【0161】
また同様に、本実施の形態における通信制御装置120は、ホームネットワーク110に接続する一台のRTSPクライアント機器から複数の接続が行われた場合、それぞれの接続を別個に管理することができる。例えば、映像受信表示装置131上のアプリケーションAが映像再生中に、新たに映像受信表示装置131上のアプリケーションBが接続した場合、映像受信表示装置131上のアプリケーションBと通信制御装置120との間には新たな第1の通信路が確立され、通信制御装置120と映像配信サーバ151の間にも新たな第2の通信路が確立される。
【0162】
すなわち、通信制御装置120は、ホームネットワーク110に接続する複数のRTSPクライアント機器(同一機器内で動作する別アプリケーションも含む)のQoSセッション制御を一元的に管理することができ、ホームネットワーク110に接続するQoSセッション制御機能を有しない全てのRTSPクライアント機器に対して、QoS保証型のコンテンツ配信サービスを提供することができる。
【0163】
なお、本実施の形態の映像配信システムにおいて、通信制御装置120は、RTSP用QoSセッションおよび映像用QoSセッションの2種類のQoSセッションを管理するが、RTSPメッセージの送受信そのものは映像データの伝送に比べるとリアルタイム性が必要とされず、また伝送データ量も小さい。そのため、RTSP用QoSセッションを確立しない構成としても良い。この場合、RTSPメッセージの送受信はBE(Best Effort)通信で行われることになる。方法としては、上述した手順のうち、RTSP用QoSセッションに関する手順を省略することによって実現できる。
【0164】
以上に説明したように、本実施の形態における通信制御装置120によれば、映像受信表示装置131、132や、映像配信サーバ151、152に、IPv4機器とIPv6機器が混在するような構成の場合であっても、通信制御装置120が映像受信表示装置131、132に代わってQoSセッション制御を一元的に管理・実行することにより、QoS制御手段を有しない映像受信表示装置131、132を用いて、映像配信サーバ151、152からQoS保証されたコンテンツの配信を受けることが可能となる。これにより、ユーザにとって映像受信表示装置131、132をQoS制御可能なものに置き換えるコストが不要となり、管理コストも小さい帯域保証型コンテンツ配信システムを実現することができる。
【0165】
また、通信制御装置120を介して送受信されるRTSPメッセージから帯域制御のための情報を取得して生成することができるため、コンテンツ配信サービス提供者にとっては、コンテンツ毎の帯域情報を別途管理する等の仕組みが不要となり、帯域制御を用いたコンテンツ配信サービスを、帯域制御およびコンテンツ配信に必要な制御のみ行う映像配信サーバ151、152で行うことが可能となる。
【0166】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【0167】
本発明は、通信制御装置ならびに通信制御方法に利用可能であり、特に、RTSP(Real Time Streaming Protocol)を用いて映像、音楽等のコンテンツの再生制御を行うストリーミング型コンテンツ配信サービスに用いられる通信制御装置ならびに通信制御方法に利用可能である。
【図面の簡単な説明】
【0168】
【図1】本発明の一実施の形態である映像配信システムの構成および通信制御装置の機能構成の一例を示す図である。
【図2】本発明の一実施の形態における通信制御装置のハードウェア構成の一例を示す図である。
【図3】本発明の一実施の形態における映像受信表示装置のハードウェア構成の一例を示す図である。
【図4】本発明の一実施の形態における接続情報管理テーブルの構成とデータの例を示す図である。
【図5】本発明の一実施の形態における利用可能ポート番号テーブルの構成とデータの例を示す図である。
【図6】本発明の一実施の形態における利用ポート番号テーブルの構成とデータの例を示す図である。
【図7】本発明の一実施の形態におけるRTSP通信利用ポート番号テーブルの構成とデータの例を示す図である。
【図8】本発明の一実施の形態における映像データ受信情報テーブルの構成とデータの例を示す図である。
【図9】本発明の一実施の形態におけるIPv6中継プレフィックス情報テーブルの構成とデータの例を示す図である。
【図10】本発明の一実施の形態におけるIPv6中継アドレス変換テーブルの構成とデータの例を示す図である。
【図11】本発明の一実施の形態におけるIPv4ダミーアドレス生成情報テーブルの構成とデータの例を示す図である。
【図12】本発明の一実施の形態におけるIPv4ダミーアドレス変換テーブルの構成とデータの例を示す図である。
【図13】本発明の一実施の形態における映像受信表示装置が送信したドメイン名解決要求に対して通信制御装置が応答するまでの手順の例を示すシーケンス図である。
【図14】本発明の一実施の形態における映像受信表示装置が送信したドメイン名解決要求に対して通信制御装置が応答するまでの手順の例を示すシーケンス図である。
【図15】本発明の一実施の形態における映像受信表示装置が送信したドメイン名解決要求に対して通信制御装置が応答するまでの手順の例を示すシーケンス図である。
【図16】本発明の一実施の形態における映像受信表示装置が送信したドメイン名解決要求に対して通信制御装置が応答するまでの手順の例を示すシーケンス図である。
【図17】本発明の一実施の形態における通信路(第1の通信路および第2の通信路)の確立の際の手順の例を示すシーケンス図である。
【図18】本発明の一実施の形態における再生準備の際の手順の例を示すシーケンス図である。
【図19】本発明の一実施の形態における映像再生の際の手順の例を示すシーケンス図である。
【図20】本発明の一実施の形態における再生停止の際の手順の例を示すシーケンス図である。
【図21】(a)は、本発明の一実施の形態におけるRTSPコネクションの状態遷移図であり、(b)は、本発明の一実施の形態におけるRTSPコネクションの状態遷移テーブルを示す図である。
【図22】本発明の一実施の形態におけるドメイン名解決の処理の例を示すフローチャートである。
【図23】本発明の一実施の形態における応答アドレス作成・応答処理のサブルーチンの処理の例を示すフローチャートである。
【図24】本発明の一実施の形態における通信路確立の処理の例を示すフローチャートである。
【図25】本発明の一実施の形態におけるRTSPリクエストの処理の例を示すフローチャートである。
【図26】本発明の一実施の形態におけるSETUPリクエスト処理のサブルーチンの処理の例を示すフローチャートである。
【図27】本発明の一実施の形態における通信制御装置の利用ポート決定のサブルーチンの処理の例を示すフローチャートである。
【図28】本発明の一実施の形態における映像配信サーバからのRTSPレスポンスの処理の例を示すフローチャートである。
【図29】本発明の一実施の形態におけるDESCRIBEレスポンス処理のサブルーチンの処理の例を示すフローチャートである。
【図30】本発明の一実施の形態におけるSETUPレスポンス処理のサブルーチンの処理の例を示すフローチャートである。
【図31】本発明の一実施の形態におけるTEARDOWNレスポンス処理のサブルーチンの処理の例を示すフローチャートである。
【図32】本発明の一実施の形態におけるタイムアウト処理の例を示すフローチャートである。
【符号の説明】
【0169】
100…ユーザ宅、110…ホームネットワーク、120…通信制御装置、121…ドメイン名解決部、122…代理接続部、123…帯域制御部、124…テーブル群、131〜132…映像受信表示装置、140…外部ネットワーク、151〜152…映像配信サーバ、160…帯域制御サーバ、170…DNSサーバ、
201…CPU、202…メインメモリ、203…EPROM、204…第1ネットワークI/F、205…第2ネットワークI/F、206…不揮発性記憶装置、207…バス、
301…CPU、302…メインメモリ、303…EPROM、304…出力装置、305…ネットワークI/F、306…不揮発性記憶装置、307…入力装置、308…映像再生装置、309…バス、
400…接続情報管理テーブル、401…クライアントアドレス、402…サーバアドレス、403…タイムアウト、404…タイマー、405…状態、
500…利用可能ポート番号テーブル、501…利用可能ポート番号範囲、
600…利用ポート番号テーブル、601…利用ポート番号、
700…RTSP通信利用ポート番号テーブル、701…RTSP通信利用ポート番号、
800…映像データ受信情報テーブル、801…通信制御装置ポート、802…サーバポート、803…クライアントポート、804…帯域、
900…IPv6中継プレフィックス情報テーブル、901…IPv6中継プレフィックス、
1000…IPv6中継アドレス変換テーブル、1001…IPv6中継アドレス、1002…映像配信サーバアドレス、
1100…IPv4ダミーアドレス生成情報テーブル、1101…IPv4ダミーアドレス生成情報、
1200…IPv4ダミーアドレス変換テーブル、1201…IPv4ダミーアドレス、1202…映像配信サーバアドレス。
【技術分野】
【0001】
本発明は、通信制御装置ならびに通信制御方法に関し、特に、RTSP(Real Time Streaming Protocol)を用いて映像、音楽等のコンテンツの再生制御を行うストリーミング型コンテンツ配信サービスに用いられる通信制御装置ならびに通信制御方法に適用して有効な技術に関するものである。
【背景技術】
【0002】
ブロードバンドネットワークの普及により、PCやネットワーク接続TV(IPTV)、STB(Set Top Box)等をクライアント端末とした、ネットワークを介した映像や音楽等のコンテンツ配信サービスが拡大している。
【0003】
このようなコンテンツ配信サービスは、ストリーミング型とダウンロード型に大別することができる。このうち、ストリーミング型のコンテンツ配信サービスにおいては、コンテンツ配信サーバは、クライアント端末でのコンテンツの再生速度に合わせてコンテンツを配信する必要がある。よって、このようなサービスの多くはRTSP(Real Time Streaming Protocol)等のプロトコルを用いてコンテンツの再生要求、停止要求といった再生制御を行い、再生要求を受けてRTP(Real-time Transport Protocol)等のプロトコルを用いてコンテンツを伝送する方法が取られる。
【0004】
このようなストリーミング型のコンテンツ配信サービスにおいては、クライアント端末とコンテンツ配信サーバとの間のネットワーク帯域が十分に確保されない場合、もしくは時間的にネットワーク帯域が十分に確保できないことがある場合において、再生中のコンテンツが途中で止まる、途切れるといった問題が発生する可能性がある。
【0005】
近年、NGN(Next Generation Network)のような帯域保証(QoS(Quality of Service)保証)可能なネットワークが登場するに至り、上記のような問題のあったストリーミング型のコンテンツ配信サービスにおいて、コンテンツが途中で止まったり、途切れたりすることを防止する、すなわちQoS保証を行う方法が開示されている。
【0006】
例えば、特開2005−12655号公報(特許文献1)には、端末装置がコンテンツ配信サブシステムにセッション確立を要求した際に、SIP(Session Initiation Protocol)セッション制御サブシステムが、コンテンツ配信サブシステムから当該コンテンツの視聴に必要な帯域の情報を取得し、帯域制御サブシステムに当該帯域情報に含まれる帯域値の帯域予約の要求を行い、帯域制御サブシステムで確保された帯域でコンテンツ配信サブシステムから端末装置に当該コンテンツを送信する方法が開示されている。
【0007】
また、特開2004−289627号公報(特許文献2)には、ストリーミングコンテンツの配信要求がクライアント端末から通信ネットワークを介して送信される際に、映像配信サーバ151の現在の使用可能帯域に関連する帯域リソース情報を監視するサーバリソース監視部と、通信ネットワーク上の複数の中継点に対応する複数のルータ、クライアント端末および映像配信サーバ151の間の複数の通信経路それぞれの現在の使用可能帯域に関連するネットワークリソース情報を監視するネットワークリソース監視部とを備えたストリーミングコンテンツ配信要求受付制御システムが開示されている。
【特許文献1】特開2005−12655号公報(図1)
【特許文献2】特開2004−289627号公報(図1)
【発明の開示】
【発明が解決しようとする課題】
【0008】
上述の従来技術にはそれぞれ以下のような課題がある。まず、特許文献1に示される方法では、端末装置が帯域制御のためにSIP制御を行う必要がある。ユーザ宅には今後、PC、STB、ネットワーク接続TV等の複数の端末装置が設置されることが考えられるが、特許文献1に示される方法で帯域制御を実現するためには、これら全ての端末装置をSIP制御可能なもので揃えなければならない。
【0009】
例えば、ユーザ宅にインターネット等の帯域制御不可能なネットワーク上におけるストリーミング型コンテンツ配信サービス対応の端末装置が既にあったとしても、NGNのような帯域制御可能なネットワーク上におけるストリーミング型コンテンツ配信サービスをそのまま受けることはできず、ユーザに機器の買い替え、交換、ソフトウェア更新といったコストや手間を強いることになる。
【0010】
また、特許文献2に示される方法では、ストリーミングコンテンツ配信要求受付制御システムは、コンテンツの配送経路を決定するために、該当コンテンツの必要帯域情報を用いる。コンテンツの配送経路の決定は、WWWポータルサーバ上でユーザがコンテンツを選択した際に行われるため、ストリーミングコンテンツ配信要求受付制御システムでは、WWWポータルサーバで選択されたコンテンツのID情報からコンテンツの必要帯域情報を取得するためのコンテンツ管理テーブルをあらかじめ準備しておかなければならない。
【0011】
すなわち、特許文献2に示される方法では、帯域制御やコンテンツ配送経路設定の処理とコンテンツそのものの情報とが密接に関係した構造となっており、単にコンテンツ配信サービスを行いたいサービス提供事業者にとっては、既存の映像配信システムを利用できない等、参入の敷居を高める構成となっている。
【0012】
そこで本発明の目的は、帯域制御処理を実行できない既存のクライアント端末においても、QoS保証されたストリーミング型コンテンツ配信サービスを受けることを可能とする通信制御装置ならびに通信制御方法を提供することにある。
【0013】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0014】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【0015】
本発明の代表的な実施の形態による通信制御装置は、クライアント端末が接続されるホームネットワークと映像配信サーバが接続されるQoS制御可能な外部ネットワークとの間に設置される通信制御装置であって、クライアント端末から受信した映像配信サーバについてのドメイン名解決要求に対して、外部ネットワークに接続するDNSサーバとの間でドメイン名解決を行い、ドメイン名解決の結果に応じて映像配信サーバのIPアドレス、もしくはIPv4ダミーアドレス、もしくはIPv6中継アドレスを応答することで、クライアント端末が映像配信サーバに対して送信するRTSPメッセージを取得可能とし、クライアント端末と映像配信サーバとの間で送受信されるRTSPメッセージに含まれる情報を取得・解析してQoS制御に必要な情報を取得し、クライアント端末の代わりに映像配信サーバとの間のQoSセッションの確立を行うことを特徴とするものである。
【発明の効果】
【0016】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【0017】
本発明の代表的な実施の形態によれば、QoS制御手段を有しないクライアント端末を用いて通信制御装置と映像配信サーバとの間のQoS制御セッションの確立が可能であり、ユーザにとってクライアント端末をQoS制御可能なものに置き換えるコストが不要であり、管理コストも小さい帯域保証型コンテンツ配信システムを実現することができる。
【発明を実施するための最良の形態】
【0018】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0019】
[システム構成]
図1は、本発明の一実施の形態である映像配信システムの構成および通信制御装置の機能構成の一例を示す図である。図1において、当該映像配信システムは、映像配信サーバ151、152、帯域制御サーバ160、DNS(Domain Name System)サーバ170、通信制御装置120、映像受信表示装置131、132を有する構成となっている。
【0020】
映像配信サーバ151、152と、帯域制御サーバ160と、DNSサーバ170と、通信制御装置120とは、NGN(Next Generation Network)等のQoS(Quality of Service)制御可能な外部ネットワーク140と接続しており、所定の手順に従って情報の送受信を行うことができる。また、通信制御装置120と映像受信表示装置131、132は、ユーザ宅100内に設置され、有線または無線で構成されるホームネットワーク110と接続しており、所定の手順に従って情報の送受信を行うことができる。
【0021】
通信制御装置120は、IPv4(Internet Protocol Version 4)、IPv6(Internet Protocol Version 6)の両プロトコルに準拠し、外部ネットワーク140とホームネットワーク110の両方と接続しており、外部ネットワーク140とホームネットワーク110との間のメッセージのルーティングを行う。このルーティング機能により、通信制御装置120は、ユーザ宅100内に設置された機器にとって、外部ネットワーク140に接続された機器と情報の送受信を行うためのゲートウェイとしての機能を有する。
【0022】
通信制御装置120のドメイン名解決部121は、ホームネットワーク110に接続する機器からのドメイン名解決要求に従って、必要に応じてDNSサーバ170にドメイン名解決要求を行い、適切なIPアドレスを応答するドメイン名解決機能を有する。なお、詳細な動作は後述するが、ドメイン名解決部121がドメイン名解決機能を用いて応答するIPアドレスは、DNSサーバ170からのドメイン名解決要求に対する応答と同じ値であるとは限らない。例えば、ホームネットワーク110に接続するIPv4実装機器が外部ネットワーク140に接続されたIPv6実装サーバと代理接続部122を介した情報のやり取りをするために、IPv4ダミーアドレスを応答するような場合もある。
【0023】
通信制御装置120の代理接続部122は、映像受信表示装置131や132が映像配信サーバ151や152とやり取りするRTSPメッセージの取得、解析、書き換えを行う代理接続機能を有する。代理接続部122は、取得、解析したRTSPメッセージから、後述するQoSセッション制御のための情報、および映像データ転送設定のための情報を取得・生成し、テーブル群124に記憶する。
【0024】
通信制御装置120の帯域制御部123は、代理接続部122で取得・生成されたQoSセッション制御のための情報を元に、SIP等のQoSセッション制御用のプロトコルにより、映像配信サーバ151や152との間でQoSセッションを確立する。
【0025】
図2は、通信制御装置120のハードウェア構成の一例を示す図である。図2において、通信制御装置120は、CPU201、メインメモリ202、EPROM(Erasable Programmable ROM)203、第1ネットワークインタフェース(I/F)204、第2ネットワークI/F205、不揮発性記憶装置206を有する構成となっており、これらはそれぞれバス207と接続され、所定の手順に従って情報の送受信を行うことができる。
【0026】
EPROM203にはブートプログラムが記憶されており、また、不揮発性記憶装置206には各種プログラムが記憶されている。通信制御装置120が起動すると、EPROM203に記憶されたブートプログラムによって不揮発性記憶装置206から各種プログラムがメインメモリ202へ読み出される。CPU201はメインメモリ202に読み出された各種プログラムを実行することにより、第1ネットワークI/F204や第2ネットワークI/F205等による信号の送受信等を行う。
【0027】
第1ネットワークI/F204は、ホームネットワーク110と接続しており、ホームネットワーク110に接続する機器との間で情報の送受信を行うことができる。第1ネットワークI/F204は、ネットワークカード等により実現することができる。同様に、第2ネットワークI/F205は、外部ネットワーク140と接続しており、外部ネットワーク140と接続する機器との間で情報の送受信を行うことができる。第2ネットワークI/F205も、ネットワークカード等により実現することができる。
【0028】
不揮発性記憶装置206には、上述のように、CPU201がメインメモリ202に読み出して実行するための各種プログラムが記憶されている。不揮発性記憶装置206は、フラッシュメモリやHDD(ハードディスクドライブ)、光ディスク等により実現することができる。
【0029】
なお、図1における通信制御装置120のドメイン名解決部121、代理接続部122、帯域制御部123の各部は、例えば、不揮発性記憶装置206に記憶されるプログラムによって実現され、当該プログラムがメインメモリ202に読み出された後、CPU201によって実行されることで、通信制御装置120の各機能を実現するように構成することができる。なお、上記各部をプログラムではなく回路等によって構成することも当然可能である。また、テーブル群124は、上記プログラムの実行時にメインメモリ202上に作成される。
【0030】
図3は、映像受信表示装置131のハードウェア構成の一例を示す図である。映像受信表示装置132のハードウェア構成も映像受信表示装置131と同様である。図3において、映像受信表示装置131は、CPU301、メインメモリ302、EPROM303、出力装置304、ネットワークI/F305、不揮発性記憶装置306、入力装置307、映像再生装置308を有する構成となっており、これらはそれぞれバス309と接続され、所定の手順に従って情報の送受信を行うことができる。
【0031】
EPROM303にはブートプログラムが記憶されており、また、不揮発性記憶装置306には各種プログラムが記憶されている。映像受信表示装置131が起動すると、EPROM303に記憶されたブートプログラムによって不揮発性記憶装置306から各種プログラムがメインメモリ302へ読み出される。CPU301はメインメモリ302に読み出された各種プログラムを実行することにより、出力装置304、ネットワークI/F305、入力装置307、映像再生装置308等による信号の送受信等を行う。
【0032】
出力装置304は、映像再生装置308で伸張(デコード)されたコンテンツや、ユーザの操作に応答するための情報を表示等により出力するための手段であり、CRT(Cathode Ray Tube)、液晶ディスプレイ、プラズマディスプレイ、プロジェクタ、スピーカ、ヘッドフォン等によって実現される。また、出力装置304は、TV等のコンテンツ再生端末とは異なる装置で実現してもよい。この場合、映像受信表示装置131は別途D/Aコンバータ等のTV信号生成装置を具備し、当該装置と出力装置304とはAVケーブルや同軸ケーブル等で接続される。
【0033】
ネットワークI/F305は、通信網を介して他の装置と情報を送受信するための手段であり、例えばネットワークアダプタ、無線送受信装置等によって実現される。不揮発性記憶装置306には、上述のように、CPU301がメインメモリ302に読み出して実行するための各種プログラムが記憶されており、例えばHDD、フラッシュメモリ、光ディスク等によって実現することができる。
【0034】
入力装置307は、ユーザが必要な命令や情報を入力するための手段であり、例えばTV受信機で使用されるリモコンや、PCで使用されるキーボード、マウス等によって実現される。映像再生装置308は、音声や映像等のコンテンツをデコードし、デコードされたコンテンツを出力装置304に送信する装置である。
【0035】
なお、上述した通信制御装置120および映像受信表示装置131の構成は、図2および図3に示す構成に限らないことは当然である。例えば、映像受信表示装置131において、コンテンツのデコードが全てソフトウェアプログラムによって実現され、CPU301で実行されるような場合は、映像再生装置308を有さない構成となる。この場合、当該ソフトウェアプログラムは不揮発性記憶装置306に記憶され、CPU301によってメインメモリ302上に読み出されて実行される。
【0036】
映像配信サーバ151、152のハードウェア構成は、図示しないが、少なくとも1台以上のコンピュータ(CPU、メインメモリ、不揮発性記憶装置、入力装置、出力装置、ネットワークI/F等を含む)から構成されており、不揮発性記憶装置からメインメモリに読み出され、CPUによって実行される各種プログラムには、RTSP(Real Time Streaming Protocol)、RTP(Real-time Transport Protocol)等のコンテンツ配信用のプロトコル、およびSIP(Session Initiation Protocol)等のQoSセッション制御用のプロトコルが実装されている。
【0037】
帯域制御サーバ160のハードウェア構成は、図示しないが、少なくとも1台以上のコンピュータ(CPU、メインメモリ、不揮発性記憶装置、入力装置、出力装置、ネットワークI/F等を含む)から構成されており、不揮発性記憶装置からメインメモリに読み出され、CPUによって実行される各種プログラムには、SIP等のQoSセッション制御用のプロトコルが実装されている。
【0038】
DNSサーバ170のハードウェア構成は、図示しないが、少なくとも1台以上のコンピュータ(CPU、メインメモリ、不揮発性記憶装置、入力装置、出力装置、ネットワークI/F等を含む)から構成されており、不揮発性記憶装置からメインメモリに読み出され、CPUによって実行される各種プログラムには、DNS(Domain Name System)等のドメイン名解決用のプロトコルが実装されている。
【0039】
[データ構成]
次に、本実施の形態の映像配信システムにおいて、通信制御装置120が扱うテーブル群124の内容について説明する。テーブル群124に含まれるテーブルは、通信制御装置120内で唯一のテーブルである「システム共通テーブル」と、映像受信表示装置131、132からのRTSPコネクション毎に記憶するテーブルである「コネクション内テーブル」とに分類することができる。
【0040】
図4は、接続情報管理テーブル400の構成とデータの例を示す図である。接続情報管理テーブル400はコネクション内テーブルに該当し、対象のRTSPコネクションに係る映像受信表示装置131と映像配信サーバ151のアドレスの情報や、コネクションのステータス等を管理する。接続情報管理テーブル400は、クライアントアドレス401、サーバアドレス402、タイムアウト403、タイマー404、状態405の各項目から構成される。
【0041】
図5は、利用可能ポート番号テーブル500の構成とデータの例を示す図である。利用可能ポート番号テーブル500はシステム共通テーブルに該当し、通信制御装置120においてRTSPコネクションに係る通信に利用可能なポート番号の範囲を記憶する。利用可能ポート番号テーブル500は、利用可能ポート番号範囲501の項目から構成される。
【0042】
図6は、利用ポート番号テーブル600の構成とデータの例を示す図である。利用ポート番号テーブル600はシステム共通テーブルに該当し、通信制御装置120においてRTSPコネクションに係る通信に既に利用されているポート番号を記憶する。利用ポート番号テーブル600は、利用ポート番号601の項目から構成される。
【0043】
図7は、RTSP通信利用ポート番号テーブル700の構成とデータの例を示す図である。RTSP通信利用ポート番号テーブル700はコネクション内テーブルに該当し、対象のRTSPコネクションについて、通信制御装置120が映像配信サーバ151との間でRTSPメッセージの送受信に利用しているポート番号を記憶する。RTSP通信利用ポート番号テーブル700は、RTSP通信利用ポート番号701の項目から構成される。
【0044】
図8は、映像データ受信情報テーブル800の構成とデータの例を示す図である。映像データ受信情報テーブル800はコネクション内テーブルに該当し、対象のRTSPコネクションについて、通信制御装置120が映像配信サーバ151から映像データを受信し、映像受信表示装置131へ送信するためのポートの情報等を管理する。映像データ受信情報テーブル800は、通信制御装置ポート801、サーバポート802、クライアントポート803、帯域804の各項目から構成される。
【0045】
図9は、IPv6中継プレフィックス情報テーブル900の構成とデータの例を示す図である。IPv6中継プレフィックス情報テーブル900はシステム共通テーブルに該当し、映像受信表示装置131がIPv6機器であった場合、すなわち、映像受信表示装置131からのドメイン名解決要求(DNSクエリ)のクエリタイプがAAAAレコードであった場合に、IPv6中継アドレスを生成するために用いるIPv6プレフィックスの情報を保持する。IPv6中継アドレスは、映像受信表示装置131が送信するRTSPメッセージを通信制御装置120で取得するために利用するアドレスである。IPv6中継プレフィックス情報テーブル900は、IPv6中継プレフィックス901の項目から構成される。
【0046】
図10は、IPv6中継アドレス変換テーブル1000の構成とデータの例を示す図である。IPv6中継アドレス変換テーブル1000はシステム共通テーブルに該当し、IPv6中継アドレス(映像受信表示装置131からのRTSPメッセージを通信制御装置120で取得するための仮のIPアドレス)を映像配信サーバ151のアドレス(真のIPアドレス)へ変換する際に用いる。IPv6中継アドレス変換テーブル1000は、IPv6中継アドレス1001、映像配信サーバアドレス1002の各項目から構成される。
【0047】
図11は、IPv4ダミーアドレス生成情報テーブル1100の構成とデータの例を示す図である。IPv4ダミーアドレス生成情報テーブル1100はシステム共通テーブルに該当し、映像受信表示装置131がIPv4機器であった場合、すなわち、映像受信表示装置131からのドメイン名解決要求(DNSクエリ)のクエリタイプがAレコードであり、かつ、映像配信サーバ151がIPv6機器であった場合に、仮(ダミー)のIPv4アドレスであるIPv4ダミーアドレスを生成するために用いるサブネットの情報を保持する。IPv4ダミーアドレスは、IPv4しか解釈できない映像受信表示装置131が送信するドメイン名解決要求に対して、通信制御装置120が応答するダミーのアドレスである。IPv4ダミーアドレス生成情報テーブル1100はIPv4ダミーアドレス生成情報1101の項目から構成される。
【0048】
図12は、IPv4ダミーアドレス変換テーブル1200の構成とデータの例を示す図である。IPv4ダミーアドレス変換テーブル1200はシステム共通テーブルに該当し、IPv4ダミーアドレスを映像配信サーバ151のアドレスへ変換する際に用いる。IPv4ダミーアドレス変換テーブル1200はIPv4ダミーアドレス1201、映像配信サーバアドレス1202の各項目から構成される。
【0049】
[動作の概要]
次に、本実施の形態の映像配信システムにおける動作の概要について説明する。図1に示す構成において、映像受信表示装置131、132は、映像配信サーバ151、152等のRTSPサーバとの間でRTSPメッセージを送受信するRTSPクライアントであり、RTSPメッセージの送受信によって、音声や映像等のコンテンツの再生制御を行う。
【0050】
外部ネットワーク140は、NGN等のQoS制御可能なネットワークであり、外部ネットワーク140に接続する機器は、帯域制御サーバ160に対して、例えば、「どのIPアドレスの機器の何番ポートとどのIPアドレスの機器の何番ポートとの間で何Kbpsの帯域を確保する」、といったQoSセッション制御要求を行うことによって、外部ネットワーク140に接続した機器間で品質の高い通信を行うことができる。なお、本実施の形態においては、以下、QoSセッション制御のプロトコルにはSIPを用いるものとして説明を行う。
【0051】
映像配信サーバ151および152は、映像受信表示装置131等のRTSPクライアントとの間でRTSPメッセージの送受信を行うRTSPサーバである。また、帯域制御サーバ160等のSIPサーバとの間でQoSセッション制御情報を送受信するSIPクライアントでもある。
【0052】
帯域制御サーバ160は、通信制御装置120、映像配信サーバ151等のSIPクライアントとの間でQoSセッション制御情報の送受信を行い、実際のQoS制御を実行するSIPサーバである。また、図1には図示しないが、帯域制御サーバ160は、IMS(IP Multimedia System)の一部であり、SIPクライアントからのQoSセッション制御要求に応じてIMS内の各サーバ、例えば、HSS(Home Subscriber Server)、共通イネーブラ、AS(Application Server)等と必要な情報の送受信を行い、QoSセッション制御を行う。
【0053】
DNSサーバ170は、映像配信サーバ151、152等のFQDN(Fully Qualified Domain Name)とIPアドレスとの対応を示すテーブルを保持しており、通信制御装置120等からのドメイン名解決要求に従ってFQDNに対応するIPアドレスを応答する。
【0054】
通信制御装置120は、帯域制御サーバ160等のSIPサーバとの間でQoSセッション制御情報の送受信を行うSIPクライアントである。また、通信制御装置120は、外部ネットワーク140、ホームネットワーク110の両方と接続しており、代理接続部122において、ホームネットワーク110側に接続された映像受信表示装置131等のRTSPクライアントが送信するRTSPメッセージ、および外部ネットワーク140側に接続された映像配信サーバ151等のRTSPサーバが送信するRTSPメッセージを取得するRTSPメッセージ取得機能を有する。RTSPメッセージ取得機能については後述する。
【0055】
[IPv4機器とIPv6機器との間でのメッセージの送受信]
外部ネットワーク140、ホームネットワーク110に接続する映像受信表示装置131、132や、映像配信サーバ151、152等では、IPv4プロトコルスタックを実装したIPv4機器、およびIPv6プロトコルスタックを実装したIPv6機器が混在する場合がある。通常、IPv4機器はIPv4機器との間、IPv6機器はIPv6機器との間でしかメッセージの送受信を行うことができないが、本実施の形態の映像配信システムでは、通信制御装置120のドメイン名解決部121、代理接続部122の機能を用いて、IPv4機器とIPv6機器との間、IPv6機器とIPv4機器との間でのメッセージの送受信を可能とする。
【0056】
以下、映像受信表示装置131がIPv4機器の場合またはIPv6機器の場合、および、映像配信サーバ151がIPv4機器の場合またはIPv6機器の場合のそれぞれについて、映像受信表示装置131と映像配信サーバ151との間でのRTSPメッセージの送受信を可能とし、かつ通信制御装置120にてRTSPメッセージの取得・解析を可能とするためのドメイン名解決部121の動作について説明する。
【0057】
図13は、映像受信表示装置131がIPv4機器、映像配信サーバ151がIPv4機器の場合に、映像受信表示装置131が送信したドメイン名解決要求に対して通信制御装置120が応答するまでの手順の例を示すシーケンス図である。
【0058】
映像受信表示装置131は、映像配信サーバ151についてのドメイン名解決要求をAレコードのクエリタイプで送信する(S1301)。ドメイン名解決要求を受信した通信制御装置120は、DNSサーバ170へドメイン名解決要求をAレコードのクエリタイプで送信し(S1302)、DNSサーバ170は、ドメイン名解決応答を送信する(S1303)。ドメイン名解決応答を受信した通信制御装置120は、受信したドメイン名解決応答を映像受信表示装置131へ送信する(S1304)。
【0059】
図14は、映像受信表示装置131がIPv4機器、映像配信サーバ151がIPv6機器の場合に、映像受信表示装置131が送信したドメイン名解決要求に対して通信制御装置120が応答するまでの手順の例を示すシーケンス図である。
【0060】
映像受信表示装置131は、映像配信サーバ151についてのドメイン名解決要求をAレコードのクエリタイプで送信する(S1401)。ドメイン名解決要求を受信した通信制御装置120は、DNSサーバ170へドメイン名解決要求をAレコードのクエリタイプで送信し(S1402)、DNSサーバ170は、アンサーカウントが0のドメイン名解決応答を送信する(S1403)。ドメイン名解決応答を受信した通信制御装置120は、ドメイン名解決応答のアンサーカウントが0であるため、続いてDNSサーバ170へドメイン名解決要求をAAAAレコードのクエリタイプで送信し(S1404)、DNSサーバ170は、ドメイン名解決応答を送信する(S1405)。
【0061】
次に、通信制御装置120は、IPv4ダミーアドレス生成情報テーブル1100を用いてIPv4ダミーアドレスを生成し(S1406)、IPv4ダミーアドレス変換テーブル1200に、生成したIPv4ダミーアドレスとDNSサーバ170から応答された映像配信サーバ151のアドレスを記憶して(S1407)、映像受信表示装置131へIPv4ダミーアドレスを含むドメイン名解決応答を送信する(S1408)。
【0062】
図15は、映像受信表示装置131がIPv6機器、映像配信サーバ151がIPv4機器の場合に、映像受信表示装置131が送信したドメイン名解決要求に対して通信制御装置120が応答するまでの手順の例を示すシーケンス図である。
【0063】
映像受信表示装置131は、映像配信サーバ151についてのドメイン名解決要求をAAAAレコードのクエリタイプで送信する(S1501)。ドメイン名解決要求を受信した通信制御装置120は、DNSサーバ170へドメイン名解決要求をAAAAレコードのクエリタイプで送信し(S1502)、DNSサーバ170は、アンサーカウントが0のドメイン名解決応答を送信する(S1503)。ドメイン名解決応答を受信した通信制御装置120は、ドメイン名解決応答のアンサーカウントが0であるため、続いてDNSサーバ170へドメイン名解決要求をAレコードのクエリタイプで送信し(S1504)、DNSサーバ170は、ドメイン名解決応答を送信する(S1505)。
【0064】
次に、通信制御装置120は、IPv6中継プレフィックス情報テーブル900を用いてIPv6中継アドレスを生成し(S1506)、IPv6中継アドレス変換テーブル1000に、生成したIPv6中継アドレス1001とDNSサーバ170から応答された映像配信サーバ151のアドレスを記憶する(S1507)。さらに、通信制御装置120は、通信制御装置120自身に当該IPv6中継アドレスを追加で設定し(S1508)、映像受信表示装置131へIPv6中継アドレスを含むドメイン名解決応答を送信する(S1509)。
【0065】
図16は、映像受信表示装置131がIPv6機器、映像配信サーバ151がIPv6機器の場合に、映像受信表示装置131が送信したドメイン名解決要求に対して通信制御装置120が応答するまでの手順の例を示すシーケンス図である。
【0066】
映像受信表示装置131は、映像配信サーバ151についてのドメイン名解決要求をAAAAレコードのクエリタイプで送信する(S1601)。ドメイン名解決要求を受信した通信制御装置120は、DNSサーバ170へドメイン名解決要求をAAAAレコードのクエリタイプで送信し(S1602)、DNSサーバ170は、ドメイン名解決応答を送信する(S1603)。
【0067】
次に、通信制御装置120は、IPv6中継プレフィックス情報テーブル900を用いてIPv6中継アドレスを生成し(S1604)、IPv6中継アドレス変換テーブル1000に、生成したIPv6中継アドレス1001とDNSサーバ170から応答された映像配信サーバ151のアドレスを記憶する(S1605)。さらに、通信制御装置120は、通信制御装置120自身に当該IPv6中継アドレスを追加で設定し(S1606)、映像受信表示装置131へIPv6中継アドレスを含むドメイン名解決応答を送信する(S1607)。
【0068】
[RTSPメッセージ取得機能]
ここで、上記RTSPメッセージ取得機能について説明する。通信制御装置120のRTSPメッセージ取得機能において、映像受信表示装置131等のRTSPクライアント機器が送信するRTSPメッセージを取得するにはいくつかの方法があるが、その内の3つの方法について以下に説明する。
【0069】
第1のRTSPメッセージ取得方法は、通信制御装置120にて、RTSPメッセージを取得するためのポートを監視し、映像受信表示装置131等のRTSPクライアント機器にRTSPプロキシ設定として通信制御装置120の当該ポートを設定した上で、映像受信表示装置131等のRTSPクライアント機器から映像配信サーバ151等のRTSPサーバ機器へRTSPメッセージを送信する方法である。
【0070】
RTSPクライアント機器は、RTSPサーバ機器とRTSPメッセージの送受信を行うための通信路を確立する。第1のRTSPメッセージ取得方法では、RTSPクライアント機器は、接続先の情報(RTSPサーバ機器のIPアドレスおよびポート)を含む通信路確立要求を、RTSPプロキシ設定に指定された通信制御装置120のRTSPメッセージ監視ポートに対して送信することになる。
【0071】
通信制御装置120では、RTSPメッセージ監視ポートに到達する接続元の情報(RTSPクライアント機器のIPアドレスおよびポート)、接続先の情報(RTSPサーバ機器のIPアドレスおよびポート)を含む通信路確立要求を取得して通信路を確立する。これ以降、RTSPクライアント機器は、当該通信路を介してRTSPメッセージを送信するため、通信制御装置120は、RTSPクライアント機器からのRTSPメッセージを取得することができる。
【0072】
上述した第1のRTSPメッセージ取得方法では、映像受信表示装置131等のRTSPクライアント機器においてRTSPプロキシ設定が可能であることが必須となる。また、第1のRTSPメッセージ取得方法は、RTSPクライアント機器がIPv4機器、IPv6機器どちらの場合にも適用が可能である。映像受信表示装置131においてRTSPプロキシ設定が可能でない場合は、通信制御装置120は、以下に説明する第2もしくは第3のRTSPメッセージ取得方法にてRTSPメッセージを取得する必要がある。
【0073】
第2のRTSPメッセージ取得方法は、RTSPクライアント機器がIPv4機器であった場合に、通信制御装置120に対して、ホームネットワーク110側からの通信により入力される特定の情報を、通信制御装置120のRTSPメッセージ監視ポートに対してリダイレクトするような設定を行う方法である。例えば、通信制御装置120のオペレーティングシステムがLinux(登録商標)の場合は、以下のような設定により実現できる。
【0074】
まず、Linuxのカーネルをリダイレクト設定が可能なように構成しておく。そして、例えば、“iptables -t nat -A PREROUTING -p tcp --dport 554 -j REDIRECT --to-ports 10554”のコマンドによって、Linuxに対してポートのリダイレクトの設定を行う。この設定によれば、通信制御装置120を通る554番ポート(RTSPで用いられるWell Known Port)宛の通信を、例えば10554番ポート宛にリダイレクトすることができる。
【0075】
通信制御装置120にてあらかじめ上記のようなポートのリダイレクト設定を行い、リダイレクト先のポートを監視することによって、通信制御装置120は、RTSPクライアント機器がRTSPサーバ機器とRTSPメッセージの送受信を行うための通信路確立要求を取得することができる。
【0076】
第2のRTSPメッセージ取得方法では、RTSPクライアント機器は、RTSPサーバ機器のRTSP待ち受けポート(通常は554番ポート)に対して通信路確立要求を送信する。ホームネットワーク110に接続するRTSPクライアント機器から、外部ネットワーク140に接続するRTSPサーバ機器に対しての通信は、必ず通信制御装置120を経由する。
【0077】
通信制御装置120は、RTSPクライアント機器が送信したRTSPサーバ機器宛の通信をリダイレクトし、リダイレクト先の監視ポートにて接続元の情報(RTSPクライアント機器のIPアドレスおよびポート)および接続先の情報(RTSPサーバ機器のIPアドレスおよびポート)を含む通信路確立要求を取得し、RTSPクライアント機器との間に通信路を確立する。これ以降、RTSPクライアント機器は、当該通信路を介してRTSPメッセージを送信するため、通信制御装置120は、RTSPクライアント機器からのRTSPメッセージを取得することができる。
【0078】
上述した第2のRTSPメッセージ取得方法では、映像受信表示装置131等のRTSPクライアント機器にはRTSPプロキシ設定等の特別な設定は必要なく、RTSPクライアント機器は、通常の方法で単に映像配信サーバ151等のRTSPサーバ機器に対しての通信を行っているだけである。ただし、上記リダイレクトの設定はNAT(Network Address Translation)の機能を応用したものであるため、RTSPクライアント機器がNATを適用可能なIPv4機器である場合のみ適用することができる。
【0079】
なお、映像受信表示装置131がIPv4機器、映像配信サーバ151がIPv6機器の場合は、上述の図14のように、映像受信表示装置131からのドメイン名解決要求に対し、通信制御装置120はIPv4ダミーアドレスを応答するが、映像受信表示装置131が当該IPv4ダミーアドレス宛に送信するRTSPメッセージについても、第2のRTSPメッセージ取得方法で取得することができる。
【0080】
第3のRTSPメッセージ取得方法は、通信制御装置120のドメイン名解決部121と代理接続部122とが連携することで達成される。第3のRTSPメッセージ取得方法では、RTSPクライアント機器がRTSPサーバ機器のドメイン名解決要求を通信制御装置120に送信した際に、正しいRTSPサーバ機器のIPアドレスを応答するのではなく、通信制御装置120自身のIPアドレス(例えば、上述のIPv6中継アドレス)を応答する。RTSPクライアント機器は、RTSPサーバ機器に対してRTSPメッセージを送信していると認識しているが、実際にはRTSPメッセージは通信制御装置120に対して送信されているため、通信制御装置120は当該RTSPメッセージを取得することができる。
【0081】
上述した第3のRTSPメッセージ取得方法では、映像受信表示装置131等のRTSPクライアント機器にはRTSPプロキシ設定等の特別な設定は必要なく、RTSPクライアント機器は、(実際には通信制御装置120に対してRTSPメッセージを送信しているが)映像配信サーバ151等のRTSPサーバ機器に対しての通信を行っているだけである。なお、第3のRTSPメッセージ取得方法は、RTSPクライアント機器がIPv4機器、IPv6機器いずれの場合でも適用することが可能である。
【0082】
以降の説明では、特に断りがない場合、通信制御装置120は、RTSPクライアント機器にRTSPプロキシ設定の必要がない第2のRTSPメッセージ取得方法(RTSPクライアント機器がIPv4機器の場合)、もしくは第3のRTSPメッセージ取得方法(RTSPクライアント機器がIPv6機器の場合)によってRTSPメッセージを取得するものとして説明する。
【0083】
上述した第2のRTSPメッセージ取得方法あるいは第3のRTSPメッセージ取得方法を用いたRTSPメッセージ取得機能により、通信制御装置120は、映像受信表示装置131等のRTSPクライアント機器が映像配信サーバ151等のRTSPサーバ機器に対して送信する通信路確立要求を取得することができる。言い換えると、通信制御装置120は、映像受信表示装置131等のRTSPクライアント機器が送信する通信路確立要求を取得することにより、RTSPクライアント機器との間に通信路を確立することができる。以下、このRTSPクライアント機器と通信制御装置120との間の通信路を第1の通信路と記述する。
【0084】
上述した第2あるいは第3のRTSPメッセージ取得方法により、RTSPクライアント機器と第1の通信路を確立した通信制御装置120は、取得した通信路確立要求に含まれる接続元の情報(RTSPクライアント機器のIPアドレスおよびポート)および接続先の情報(RTSPサーバ機器のIPアドレスおよびポート)を取得することができる。
【0085】
ここで取得する接続先の情報に含まれるRTSPサーバのIPアドレスは、上述のIPv4ダミーアドレスやIPv6中継アドレスである場合があるが、それぞれIPv4ダミーアドレス変換テーブル1200、IPv6中継アドレス変換テーブル1000を用いることで、通信制御装置120は、RTSPサーバ機器(映像配信サーバ151)の正しいIPアドレスを取得することができる。ここで取得したRTSPサーバ機器の情報を用いて、通信制御装置120は、さらに、RTSPサーバ機器と接続するための通信路を確立することができる。以下、このRTSPサーバ機器と通信制御装置120との間の通信路を第2の通信路と記述する。
【0086】
通信制御装置120は、第1の通信路を経由して受信したRTSPメッセージの内容を解析し、必要な情報を取得したり、適切に書き換えたりした後、第2の通信路を経由してRTSPサーバ機器に送信する。その後、通信制御装置120は、RTSPサーバ機器からの応答であるRTSPメッセージを第2の通信路を経由して受信する。通信制御装置120は、取得したRTSPメッセージの内容を解析し、必要な情報を取得したり、適切に書き換えたりした後、第1の通信路を経由してRTSPクライアント機器に対して送信する。
【0087】
送受信されるRTSPメッセージには、QoSセッション制御に必要な情報(QoS制御を行う各機器のIPアドレスとポートおよび必要な帯域の情報)も含まれている。従って、本実施の形態の映像配信システムは、上述のように、通信制御装置120によって、RTSPクライアント機器とRTSPサーバ機器との間で送受信されるRTSPメッセージからQoSセッション制御に必要な情報を取得し、RTSPクライアント機器による再生制御が行われるまでの間に、RTSPサーバ機器と通信制御装置120との間でQoS制御を行うことによって、QoSセッション制御機能を有しないRTSPクライアント機器が、QoS保証された映像等のコンテンツ配信サービスを受けることを可能とするシステムである。
【0088】
なお、本実施の形態の映像配信システムでは、RTSPメッセージを取得して解析を可能とするための方法として、上述の3つの方法を挙げているが、通信制御装置120においてRTSPメッセージの内容からQoSセッション制御に必要な情報を取得することが可能な仕組みであれば、例えば、OSやIPv4、IPv6のプロトコルスタックのモジュールに修正を加える等によってRTSPメッセージの内容を取得するように実装することも可能である。
【0089】
[動作の流れ]
以下、本実施の形態の映像配信システムにおける動作の流れについて説明する。まず、図17〜図20を用いて、本実施の形態の映像配信システムにおける動作の流れの概要を説明する。
【0090】
図17は、通信路(第1の通信路および第2の通信路)の確立の際の手順の例を示すシーケンス図である。まず、映像受信表示装置131が、通信制御装置120を経由して、映像配信サーバ151宛に通信路確立要求を送信する。通信制御装置120は、上述のRTSPメッセージ取得機能によって当該通信路確立要求を取得し、映像受信表示装置131との間に第1の通信路を確立する(S1701)。
【0091】
次に、通信制御装置120は、メインメモリ202上にRTSPコネクション毎に作成されるワークメモリに、接続情報管理テーブル400を新規に作成する(S1702)。次に、通信制御装置120は、通信路確立要求に含まれる接続元(クライアント)IPアドレスを取得して、接続情報管理テーブル400のクライアントアドレス401に記憶する(S1703)。
【0092】
次に、通信制御装置120は、通信路確立要求に含まれる接続先(サーバ)IPアドレスを取得し、接続情報管理テーブル400のサーバアドレス402に記憶する(S1704)。このとき、IPv4ダミーアドレス変換テーブル1200、およびIPv6中継アドレス変換テーブル1000を参照し、取得した接続先IPアドレスがIPv4ダミーアドレスもしくはIPv6中継アドレスのエントリと一致する場合は、対応する映像配信サーバ151の正しいアドレス(映像配信サーバアドレス1002もしくは映像配信サーバアドレス1202)を取得して、取得したアドレスを接続先(サーバ)IPアドレスとして、接続情報管理テーブル400のサーバアドレス402に記憶する。
【0093】
次に、通信制御装置120は、システムであらかじめ決めておくタイムアウトの初期値(例えば120秒)を、接続情報管理テーブル400のタイムアウト403およびタイマー404に設定する(S1705)。なお、ここで設定するタイムアウト値は、後にRTSP SETUPレスポンスを受信した際に取得するRTSPセッションのタイムアウト値に書き換えられることになる。
【0094】
次に、通信制御装置120は、通信制御装置120と映像配信サーバ151との間でRTSPメッセージの送受信を行うためのポートを決定する(S1706)。ここではまず、システム共通テーブルである利用可能ポート番号テーブル500から利用可能ポート番号範囲501を取得し、次に、システム共通テーブルである利用ポート番号テーブル600に記憶している利用ポート番号601を全て読み出す。
【0095】
通信制御装置120は、利用可能ポート番号範囲501のうち、利用ポート番号601に含まれない、すなわち現在利用されていないポートを一つ選び、それをRTSPメッセージの送受信に用いるポートとし、当該ポートを新たに利用ポート番号テーブル600に追記する。また、RTSP通信利用ポート番号テーブル700をワークメモリ上に作成し、当該ポートをRTSP通信利用ポート番号701として記憶する。
【0096】
次に、通信制御装置120は、帯域制御サーバ160に対し、映像配信サーバ151との間にRTSP用QoSセッションを確立することを要求する(S1707)。このとき、RTSPメッセージ自体はリアルタイム性が必要とされず、情報量もあまり多くないため、確保する帯域の指定は必要ない。すなわち、通信制御装置120のIPアドレスと上記で決定したRTSP通信利用ポート番号701、および映像配信サーバ151のIPアドレスおよびポートの情報を用いてRTSP用QoSセッションを確立する。
【0097】
次に、通信制御装置120は、確立したRTSP用QoSセッションを通して第2の通信路を確立する(S1708)。最後に、接続情報管理テーブル400の状態405を“Init”に設定する(S1709)。
【0098】
また、図示しないが、上記のように通信路(第1の通信路、RTSP用QoSセッション、第2の通信路)が確立すると、通信制御装置120において、図示しないタイムアウト監視部が起動する。タイムアウト監視部は、接続情報管理テーブル400のタイマー404に設定した値を1秒毎にデクリメントし、タイマー404の値が0になった時点でタイムアウトと判定する。タイムアウトが発生すると、通信制御装置120は、上記で確立した各通信路を切断する。
【0099】
なお、詳細は後述するが、タイマー404の値は、タイムアウトと判定される前に新たなRTSPメッセージを受信することで、タイムアウト403に設定した値にリセットされる。すなわち、タイムアウトとは、通信制御装置120に次のRTSPメッセージが到達するまでの待ち時間である。
【0100】
図18は、再生準備の際の手順の例を示すシーケンス図である。これ以降、RTSPクライアント機器とRTSPサーバ機器との間ではRTSPメッセージの送受信が行われる。RTSPには、メッセージの送受信を行うための各種のメソッドが定義されている。これらは、例えば、OPTIONS、DESCRIBE、SETUP、PLAY、PAUSE、ANNOUNCE、TEARDOWN等であり、それぞれについてリクエストとレスポンスのメソッドが定義されている。RTSPクライアント機器やRTSPサーバ機器は、これらのメソッドを介して情報を送受信し、音声や映像等のコンテンツ再生に必要な情報の交換を行う。
【0101】
図18に示す再生準備の動作では、映像用QoSセッションの確立に必要な情報を収集する。すなわち、QoSセッション制御に必要なコンテンツの帯域情報、およびQoSセッションの両端の機器のIPアドレスおよびポートの情報を収集する。このうち、コンテンツの帯域情報はRTSP DESCRIBEレスポンス、IPアドレスおよびポートの情報はRTSP SETUPレスポンスからそれぞれ取得することができる。
【0102】
まず、映像受信表示装置131は、第1の通信路を介して通信制御装置120へRTSP DESCRIBEリクエストを送信する(S1801)。RTSP DESCRIBEリクエストを受信した通信制御装置120は、接続情報管理テーブル400のタイマー404の値をタイムアウト403の値にリセットする(S1802)。なお、これ以降全てのメソッドについて、第1の通信路から情報を受信した際には必ずタイマーをリセットする。
【0103】
次に、通信制御装置120は、取得したRTSPメッセージの内容を第2の通信路を介して映像配信サーバ151へ送信する(S1803)。次に、映像配信サーバ151は、RTSP DESCRIBEリクエストの内容を元に処理を行い、応答をRTSP DESCRIBEレスポンスとして第2の通信路を介して通信制御装置120へ送信する(S1804)。
【0104】
通信制御装置120は、RTSP DESCRIBEレスポンスを取得し、そこに含まれるコンテンツの情報のうちコンテンツのビットレートの情報を取得する。そして、映像データ受信情報テーブル800をワークメモリ上に作成し、帯域804の項目にその値を記憶する(S1805)。その後、通信制御装置120は、取得したRTSP DESCRIBEレスポンスを、第1の通信路を介して映像受信表示装置131へ送信する(S1806)。
【0105】
次に、映像受信表示装置131は、RTSP SETUPリクエストを第1の通信路を介して通信制御装置120へ送信する(S1807)。通信制御装置120は、第1の通信路を介してRTSP SETUPリクエストを取得し、タイマーをリセットし(S1808)、RTSP SETUPリクエスト処理を行う(S1809)。
【0106】
すなわち、RTSP SETUPリクエストを受信した通信制御装置120は、RTSP SETUPリクエストから映像データ受信ポートであるclient_portの値を読み出し、映像データ受信情報テーブル800のクライアントポート803に記憶する。次に、利用可能ポート番号テーブル500および利用ポート番号テーブル600を参照して利用可能なポートを決定し、これを通信制御装置120での映像データ受信ポートとして、RTSP SETUPリクエストのclient_portの値をその値に書き換える。さらに、その値を映像データ受信情報テーブル800の通信制御装置ポート801に記憶する。
【0107】
次に、通信制御装置120は、RTSP SETUPリクエストを第2の通信路を介して映像配信サーバ151へ送信し(S1810)、その応答であるRTSP SETUPレスポンスを受信する(S1811)。その後、通信制御装置120は、受信したRTSP SETUPレスポンスの内部処理を行う(S1812)。
【0108】
すなわち、RTSP SETUPレスポンスに含まれるRTSPセッション情報のタイムアウト値を取得し、接続情報管理テーブル400のタイムアウト403の値を、取得したタイムアウト値で上書きする。また、RTSP SETUPレスポンスに含まれる映像データ送信ポートであるserver_portの値を読み出し、映像データ受信情報テーブル800のサーバポート802に記憶する。
【0109】
また、RTSP SETUPレスポンスのclient_portの値を読み出し、この値が映像データ受信情報テーブル800の通信制御装置ポート801の値と等しいか否かを確認する。等しくなければ、通信制御装置ポート801の値を取得したclient_portの値で上書きする。また、RTSP SETUPレスポンスのclient_portの値を、映像データ受信情報テーブル800のクライアントポート803の値に書き換える。
【0110】
その後、映像データを映像受信表示装置131に伝送するための映像データ転送設定を行う(S1812)。すなわち、通信制御装置120の、映像データ受信情報テーブル800の通信制御装置ポート801に記憶したポートに到達した映像データを、映像受信表示装置131の、映像データ受信情報テーブル800のクライアントポート803に記憶したポートへ転送するための設定を行う。なお、この設定は、通信制御装置120のOSや、映像受信表示装置131および映像配信サーバ151がIPv4機器であるかIPv6機器であるかなどに応じて種々の方法を採ることができる。
【0111】
次に、通信制御装置120は、映像データ受信情報テーブル800に記憶した内容を元に、帯域制御サーバ160に対して、映像配信サーバ151との間の映像用QoSセッションの確立要求を行う(S1813)。すなわち、通信制御装置120のIPアドレスおよび映像データ受信情報テーブル800の通信制御装置ポート801に記憶したポートと、映像配信サーバ151のIPアドレスおよび映像データ受信情報テーブル800のサーバポート802に記憶したポートとの間に、映像データ受信情報テーブル800の帯域804に設定された分の帯域を確保するように要求する。
【0112】
映像用QoSセッションが確立したら、通信制御装置120は、接続情報管理テーブル400の状態405を“Ready”に変更し(S1814)、RTSP SETUPレスポンスを第1の通信路を介して映像受信表示装置131へ送信する(S1815)。
【0113】
図19は、映像再生の際の手順の例を示すシーケンス図である。まず、映像受信表示装置131は、RTSP PLAYリクエストを、第1の通信路を介して通信制御装置120へ送信する(S1901)。通信制御装置120は、RTSP PLAYリクエストを受信し、タイマーをリセットし(S1902)、第2の通信路を介してRTSP PLAYリクエストを映像配信サーバ151へ送信する(S1903)。
【0114】
その後、RTSP PLAYレスポンスを受信し(S1904)、接続情報管理テーブル400の状態405を“Playing”に変更して(S1905)、RTSP PLAYレスポンスを第1の通信路を介して映像受信表示装置131へ送信する(S1906)。
【0115】
映像配信サーバ151は、RTSP PLAYリクエストを受信すると、映像データの伝送を開始する(S1907)。映像データは、映像配信サーバ151と通信制御装置120との間では、通信制御装置120がRTSP SETUPレスポンス受信時に確立した映像用QoSセッション内を伝送される。通信制御装置120が受信した映像データは、RTSP SETUPレスポンス受信時に設定した映像データ転送設定に従って、映像受信表示装置131へ転送される(S1908)。
【0116】
映像データの伝送中、映像受信表示装置131は、RTSPセッションがタイムアウトしない程度の間隔で、接続維持用のメッセージを通信制御装置120に送信する(S1909)。これには通常、RTSPの状態に変更を与えないRTSP OPTIONSメソッドか単純なハートビートを用いる。通信制御装置120は、これらのメッセージを受信した際はタイマーをリセットし(S1910)、受信したメッセージを映像配信サーバ151へ送信する(S1911)。通信制御装置120は、映像配信サーバ151からレスポンスを受信すると(S1912)、受信したレスポンスを映像受信表示装置131へ送信する(S1913)。
【0117】
図20は、再生停止の際の手順の例を示すシーケンス図である。まず、映像受信表示装置131は、RTSP PAUSEリクエストを、第1の通信路を介して通信制御装置120へ送信する(S2001)。通信制御装置120は、タイマーリセットを行い(S2002)、RTSP PAUSEリクエストを第2の通信路を介して映像配信サーバ151へ送信する(S2003)。
【0118】
その後、RTSP PAUSEレスポンスを受信し(S2004)、接続情報管理テーブル400の状態405を“Ready”に変更して(S2005)、RTSP PAUSEレスポンスを第1の通信路を介して映像受信表示装置131へ送信する(S2006)。
【0119】
次に、映像受信表示装置131は、RTSP TEARDOWNリクエストを第1の通信路を介して通信制御装置120へ送信する(S2007)。通信制御装置120は、タイマーリセットを行い(S2008)、RTSP TEARDOWNリクエストを第2の通信路を介して映像配信サーバ151へ送信する(S2009)。RTSP TEARDOWNリクエストを受信した映像配信サーバ151は、映像データの伝送を終了し、RTSP TEARDOWNレスポンスを通信制御装置120に送信する(S2010)。
【0120】
次に、通信制御装置120は、帯域制御サーバ160に対し、映像配信サーバ151との間の映像用QoSセッションの終了要求を行い、映像用QoSセッションを終了する(S2011)。その後、通信制御装置120は、映像データ転送設定を解除し(S2012)、映像データ受信情報テーブル800の通信制御装置ポート801に記憶されている値を利用ポート番号テーブル600から削除して、第2の通信路を切断する(S2013)。
【0121】
次に、通信制御装置120は、帯域制御サーバ160に対し、映像配信サーバ151との間のRTSP用QoSセッションの終了要求を行い、RTSP用QoSセッションを終了する(S2014)。その際、RTSP通信利用ポート番号テーブル700のRTSP通信利用ポート番号701に記憶されている値を利用ポート番号テーブル600から削除する。
【0122】
その後、通信制御装置120は、接続情報管理テーブル400の状態405を“接続なし”に設定し(S2015)、第1の通信路を介してRTSP TEARDOWNレスポンスを映像受信表示装置131へ送信する(S2016)。その後、第1の通信路を切断し(S2017)、コネクション内テーブルである接続情報管理テーブル400、RTSP通信利用ポート番号テーブル700、映像データ受信情報テーブル800を削除する(S2018)。
【0123】
[RTSPコネクションの状態遷移]
ここで、本実施の形態での通信制御方法における、通信制御装置120が記憶するRTSPコネクションの状態遷移について説明する。図21(a)は、本実施の形態におけるRTSPコネクションの状態遷移図である。また、図21(b)は、本実施の形態におけるRTSPコネクションの状態遷移テーブルを示す図である。図21(a)における遷移1〜7は、図21(b)におけるNo.1〜7のイベントにそれぞれ対応している。
【0124】
図21(a)において、まず最初は“コネクション無し”の状態である。“コネクション無し”状態にて、通信制御装置120がRTSPクライアント機器からの接続要求を受けて、第1の通信路の確立、RTSP用QoSセッションの確立、第2の通信路の確立を行うと、RTSPコネクションは“Init”状態に遷移する。
【0125】
“Init”状態にて、通信制御装置120がRTSP SETUPレスポンスを受信し、映像用QoSセッションが確立すると“Ready”状態に遷移する。“Ready”状態にて、通信制御装置120がRTSP PLAYレスポンスを受信すると“Playing”状態に遷移する。“Playing”状態にて、通信制御装置120がRTSP PAUSEレスポンスを受信すると“Ready”状態に遷移する。
【0126】
また、“Playing”状態にて、接続がタイムアウトする、もしくは通信制御装置120がRTSP TEARDOWNレスポンスを受信すると、映像用QoSセッションおよびRTSP用QoSセッションを終了し、“コネクション無し”状態に遷移する。“Ready”状態にて、接続がタイムアウトする、もしくは通信制御装置120がRTSP TEARDOWNレスポンスを受信すると、映像用QoSセッションおよびRTSP用QoSセッションを終了し、“コネクション無し”状態に遷移する。“Init”状態にて、接続がタイムアウトすると、RTSP用QoSセッションを終了し、“コネクション無し”状態に遷移する。
【0127】
上述のように、通信制御装置120は、RTSPコネクションについて、RTSPセッションの状況とRTSP用および映像用QoSセッションの状況とを統一的に表す“状態”を用いて管理する。この“状態”は、RTSPコネクション毎に接続情報管理テーブル400の状態405に記憶している。
【0128】
[通信制御装置の処理フロー]
次に、図22〜図32を用いて、本実施の形態の映像配信システムにおける通信制御装置120での個別の処理の流れを説明する。
【0129】
図22は、ドメイン名解決の処理の例を示すフローチャートである。まず、映像受信表示装置131から映像配信サーバ151のドメイン名解決要求を受信する(S2201)。次に、DNSサーバ170に対して、映像受信表示装置131から要求されたクエリタイプを用いてドメイン名解決要求を行う(S2202)。次に、DNSサーバ170からのドメイン名解決応答のアンサーカウントが0かどうかを判断する(S2203)。アンサーカウントが0でなければ、ステップS2207に進む。
【0130】
ステップS2203でアンサーカウントが0であった場合は、映像受信表示装置131から要求されたクエリタイプ以外のクエリタイプを用いてDNSサーバ170にドメイン名解決要求を行う(S2204)。次に、DNSサーバ170からのドメイン名解決応答のアンサーカウントが0かどうかを判断する(S2205)。アンサーカウントが0であった場合は、映像受信表示装置131に、該当ドメイン名に該当する機器がない旨を応答して(S2206)、処理を終了する。ステップS2205でアンサーカウントが0でない場合は、映像受信表示装置131から要求されたクエリタイプとDNSサーバ170からの応答のレコードタイプに従って応答アドレスを作成および応答し(S2207)、処理を終了する。
【0131】
図23は、図22の応答アドレス作成・応答処理(S2207)のサブルーチンの処理の例を示すフローチャートである。まず、映像受信表示装置131からのドメイン名解決要求のクエリタイプがAレコードかどうかを判断する(S2301)。
【0132】
Aレコードでなかった場合は、ステップS2307に進み、IPv6中継プレフィックス情報テーブル900を用いてIPv6中継アドレスを生成する(S2307)。次に、IPv6中継アドレス変換テーブル1000に、生成したIPv6中継アドレス1001と映像配信サーバ151のアドレスを記憶する(S2308)。次に、通信制御装置120にIPv6中継アドレスを追加で設定する(S2309)。次に、IPv6中継アドレスを映像受信表示装置131への応答アドレスに設定して(S2310)、ステップS2311へ進む。
【0133】
ステップS2301で、映像受信表示装置131からのドメイン名解決要求のクエリタイプがAレコードであった場合は、DNSサーバからのアンサーカウントが0ではないドメイン名解決応答のレコードタイプがAレコードかどうかを判断する(S2302)。Aレコードであった場合は、DNSサーバ170が応答した映像配信サーバ151のアドレスを映像受信表示装置131への応答アドレスに設定して(S2303)、ステップS2311へ進む。
【0134】
ステップS2302で、DNSサーバからのドメイン名解決応答のレコードタイプがAレコードでなかった場合は、ステップS2304へ進み、IPv4ダミーアドレス生成情報テーブル1100を用いてIPv4ダミーアドレスを生成する(S2304)。次に、IPv4ダミーアドレス変換テーブルに、生成したIPv4ダミーアドレスと映像配信サーバ151のアドレスを記憶する(S2305)。次に、IPv4ダミーアドレスを映像受信表示装置131への応答アドレスに設定して(S2306)、ステップS2311へ進む。
【0135】
ステップS2311では、上述した処理により設定された応答アドレスを映像受信表示装置131へ送信し(S2311)、処理を終了する。
【0136】
図24は、通信路確立の処理の例を示すフローチャートである。まず、映像受信表示装置131から第1の通信路確立要求を受信し、映像受信表示装置131との間で第1の通信路を確立する(S2401)。次に、当該接続に関する接続情報管理テーブル400を作成する(S2402)。次に、第1の通信路の情報における接続元のIPアドレスを取得し、接続情報管理テーブル400のクライアントアドレス401に記憶する(S2403)。
【0137】
次に、第1の通信路の情報における接続先のIPアドレスを取得する(S2404)。次に、IPv4ダミーアドレス変換テーブル1200およびIPv6中継アドレス変換テーブル1000を参照して、取得したIPアドレスが、各テーブルのIPv4ダミーアドレス1201またはIPv6中継アドレス1001のエントリに該当するかどうかを判断する(S2405)。
【0138】
取得したIPアドレスが、各テーブルのIPv4ダミーアドレス1201またはIPv6中継アドレス1001のエントリに該当する場合は、それぞれのテーブルで対応する映像配信サーバアドレス1202もしくは1002を接続情報管理テーブル400のサーバアドレス402に記憶する(S2407)。また、いずれにも該当しない場合は、ステップS2404で取得した接続先のIPアドレスを接続情報管理テーブル400のサーバアドレス402に記憶する(S2406)。
【0139】
次に、システムで決めるタイムアウト時間を接続情報管理テーブル400のタイムアウト403に記憶する(S2408)。次に、後述する通信制御装置120の利用ポート決定の手順によりRTSP通信利用ポートを決定し、決定したRTSP通信利用ポートをRTSP通信利用ポート番号テーブル700に記憶する(S2409)。その後、帯域制御サーバ160を介して映像配信サーバ151との間でRTSP用QoSセッションを確立し(S2410)、第2の通信路を確立して(S2411)、処理を終了する。
【0140】
図25は、RTSPリクエストの処理の例を示すフローチャートである。まず、第1の通信路を介して映像受信表示装置131からRTSPリクエストデータを受信する(S2501)。次に、接続情報管理テーブル400のタイマー404をリセットする(S2502)。次に、受信したRTSPリクエストがSETUPリクエストかどうかを調べる(S2503)。
【0141】
受信したRTSPリクエストがSETUPリクエストでなかった場合は、ステップS2505へ進む。SETUPリクエストであった場合は、後述するSETUPリクエスト処理を行い(S2504)、ステップS2505へ進む。ステップS2505では、第2の通信路を介して映像配信サーバ151にRTSPリクエストデータを送信して(S2505)、処理を終了する。
【0142】
図26は、図25のSETUPリクエスト処理(S2504)のサブルーチンの処理の例を示すフローチャートである。まず、受信したRTSPリクエストデータから映像データ受信ポートを取得し、映像データ受信情報テーブル800のクライアントポート803に記憶する(S2601)。
【0143】
次に、後述する通信制御装置120の利用ポート決定の手順により、通信制御装置120の映像データ受信ポートを決定し、映像データ受信情報テーブル800の通信制御装置ポート801に記憶する(S2602)。次に、RTSPリクエストデータの映像データ受信ポートの値を、ステップS2602で決定した通信制御装置120の映像データ受信ポートの値に書き換えて(S2603)、処理を終了する。
【0144】
図27は、通信制御装置120の利用ポート決定のサブルーチンの処理の例を示すフローチャートである。まず、通信制御装置120の利用可能ポート番号テーブル500から、利用可能ポート番号範囲501を取得する(S2701)。次に、通信制御装置120の利用ポート番号テーブル600に記載の利用ポート番号601を全て取得する(S2702)。次に、ステップS2701で取得した利用可能ポート番号範囲501のうち、ステップS2702で取得した利用ポート番号601に含まれない番号を任意の手段によって1つ選択し、その番号を利用ポート番号テーブル600に追記して(S2703)、処理を終了する。
【0145】
図28は、映像配信サーバ151からのRTSPレスポンスの処理の例を示すフローチャートである。まず、第2の通信路を介して映像配信サーバ151からRTSPレスポンスデータを受信する(S2801)。次に、受信したRTSPレスポンスがDESCRIBEレスポンスかどうかを調べる(S2802)。
【0146】
受信したRTSPレスポンスがDESCRIBEレスポンスであった場合は、後述するDESCRIBEレスポンス処理を行い(S2803)、ステップS2808へ進む。DESCRIBEレスポンスでなかった場合は、ステップS2804へ進み、受信したRTSPレスポンスがSETUPレスポンスかどうかを調べる(S2804)。
【0147】
ステップS2804で、受信したRTSPレスポンスがSETUPレスポンスであった場合は、後述するSETUPレスポンス処理を行い(S2805)、ステップS2808へ進む。SETUPレスポンスでなかった場合は、ステップS2806へ進み、受信したRTSPレスポンスがTEARDOWNレスポンスかどうかを調べる(S2806)。
【0148】
ステップS2806で、受信したRTSPレスポンスがTEARDOWNレスポンスであった場合は、後述するTEARDOWNレスポンス処理を行い(S2807)、ステップS2808へ進む。TEARDOWNレスポンスでなかった場合は、ステップS2808へ進む。
【0149】
ステップS2808では、RTSPレスポンスデータの受信にともなって状態変更の処理を行う(S2808)。次に、第1の通信路を介して映像受信表示装置131へRTSPレスポンスデータを送信する(S2809)。次に、送信したRTSPレスポンスがTEARDOWNレスポンスかどうかを調べる(S2810)。
【0150】
送信したRTSPレスポンスがTEARDOWNレスポンスであった場合は、第1の通信路を切断し(S2811)、次に、コネクション内テーブルである接続情報管理テーブル400、RTSP通信利用ポート番号テーブル700、映像データ受信情報テーブル800を削除して(S2812)、処理を終了する。ステップS2810で、送信したRTSPレスポンスがTEARDOWNレスポンスでなかった場合は、処理を終了する。
【0151】
図29は、図28のDESCRIBEレスポンス処理(S2803)のサブルーチンの処理の例を示すフローチャートである。まず、受信したRTSPレスポンスデータから映像のビットレート情報を取得する(S2901)。次に、映像データ受信情報テーブル800の帯域804に、取得したビットレート情報を記憶して(S2902)、処理を終了する。
【0152】
図30は、図28のSETUPレスポンス処理(S2804)のサブルーチンの処理の例を示すフローチャートである。まず、受信したRTSPレスポンスデータから映像データ受信ポートを取得する(S3001)。次に、取得した映像データ受信ポートが、映像データ受信情報テーブル800の通信制御装置ポート801に記憶している値と同一であるかどうかを確認する(S3002)。同一である場合はステップS3004に進む。同一でない場合は、映像データ受信情報テーブル800の通信制御装置ポート801を、ステップS3001で取得した映像データ受信ポートの値で上書きし、ステップS3004に進む。
【0153】
ステップS3004では、受信したRTSPレスポンスデータから映像データ送信ポートを取得し、映像データ受信情報テーブル800のサーバポート802に記憶する(S3004)。次に、受信したRTSPレスポンスデータからRTSPセッションのタイムアウト時間を取得し、接続情報管理テーブル400のタイムアウト403に上書きする(S3005)。次に、受信したRTSPレスポンスデータの映像データ受信ポートを、映像データ受信情報テーブル800のクライアントポート803の値で書き換える(S3006)。
【0154】
次に、接続情報管理テーブル400のクライアントアドレス401と映像データ受信情報テーブル800の情報を用いて、映像データ転送設定を行う(S3007)。次に、映像データ受信情報テーブル800の情報を用いて、帯域制御サーバ160を介して映像配信サーバ151との間で映像用QoSセッションを確立して(S3008)、処理を終了する。
【0155】
図31は、図28のTEARDOWNレスポンス処理(S2806)のサブルーチンの処理の例を示すフローチャートである。まず、映像配信サーバ151との間の映像用QoSセッションを終了し(S3101)、次に、映像データ転送設定を解除する(S3102)。次に、映像配信サーバ151との間の第2の通信路を切断し(S3103)、RTSP用QoSセッションを終了して(S3104)、処理を終了する。
【0156】
図32は、タイムアウト処理の例を示すフローチャートである。まず、接続情報管理テーブル400のタイマー404の値が0となったことを検知する(S3201)。次に、接続情報管理テーブル400の状態405が“Ready”または“Playing”かどうかを確認する(S3202)。
【0157】
接続情報管理テーブル400の状態405が“Ready”または“Playing”でなかった場合は、ステップS3205へ進む。接続情報管理テーブル400の状態405が“Ready”または“Playing”であった場合は、ステップS3203へ進む。ステップS3203では、映像配信サーバ151との間の映像用QoSセッションを終了し(S3203)、次に、映像データ転送設定を解除して(S3204)、ステップS3205へ進む。
【0158】
ステップS3205では、映像配信サーバ151との間の第2の通信路を切断し(S3205)、次に、RTSP用QoSセッションを終了する(S3206)。次に、映像受信表示装置131との間の第1の通信路を切断し(S3207)、次に、コネクション内テーブルである接続情報管理テーブル400、RTSP通信利用ポート番号テーブル700、映像データ受信情報テーブル800を削除して(S3208)、処理を終了する。
【0159】
以上に説明したような本実施の形態における通信制御装置120は、ホームネットワーク110に接続する複数のRTSPクライアント機器からの接続を別個に管理することができる。例えば、映像受信表示装置131が映像再生中に、新たに映像受信表示装置132が接続した場合、映像受信表示装置132と通信制御装置120との間には新たな第1の通信路が確立され、通信制御装置120と映像配信サーバ151の間にも新たな第2の通信路が確立される。
【0160】
接続情報管理テーブル400、RTSP通信利用ポート番号テーブル700、映像データ受信情報テーブル800といったコネクション内テーブルは、接続毎にワークメモリ上に確保されるため、それぞれの接続による状態遷移や接続情報は別個に管理することができる。
【0161】
また同様に、本実施の形態における通信制御装置120は、ホームネットワーク110に接続する一台のRTSPクライアント機器から複数の接続が行われた場合、それぞれの接続を別個に管理することができる。例えば、映像受信表示装置131上のアプリケーションAが映像再生中に、新たに映像受信表示装置131上のアプリケーションBが接続した場合、映像受信表示装置131上のアプリケーションBと通信制御装置120との間には新たな第1の通信路が確立され、通信制御装置120と映像配信サーバ151の間にも新たな第2の通信路が確立される。
【0162】
すなわち、通信制御装置120は、ホームネットワーク110に接続する複数のRTSPクライアント機器(同一機器内で動作する別アプリケーションも含む)のQoSセッション制御を一元的に管理することができ、ホームネットワーク110に接続するQoSセッション制御機能を有しない全てのRTSPクライアント機器に対して、QoS保証型のコンテンツ配信サービスを提供することができる。
【0163】
なお、本実施の形態の映像配信システムにおいて、通信制御装置120は、RTSP用QoSセッションおよび映像用QoSセッションの2種類のQoSセッションを管理するが、RTSPメッセージの送受信そのものは映像データの伝送に比べるとリアルタイム性が必要とされず、また伝送データ量も小さい。そのため、RTSP用QoSセッションを確立しない構成としても良い。この場合、RTSPメッセージの送受信はBE(Best Effort)通信で行われることになる。方法としては、上述した手順のうち、RTSP用QoSセッションに関する手順を省略することによって実現できる。
【0164】
以上に説明したように、本実施の形態における通信制御装置120によれば、映像受信表示装置131、132や、映像配信サーバ151、152に、IPv4機器とIPv6機器が混在するような構成の場合であっても、通信制御装置120が映像受信表示装置131、132に代わってQoSセッション制御を一元的に管理・実行することにより、QoS制御手段を有しない映像受信表示装置131、132を用いて、映像配信サーバ151、152からQoS保証されたコンテンツの配信を受けることが可能となる。これにより、ユーザにとって映像受信表示装置131、132をQoS制御可能なものに置き換えるコストが不要となり、管理コストも小さい帯域保証型コンテンツ配信システムを実現することができる。
【0165】
また、通信制御装置120を介して送受信されるRTSPメッセージから帯域制御のための情報を取得して生成することができるため、コンテンツ配信サービス提供者にとっては、コンテンツ毎の帯域情報を別途管理する等の仕組みが不要となり、帯域制御を用いたコンテンツ配信サービスを、帯域制御およびコンテンツ配信に必要な制御のみ行う映像配信サーバ151、152で行うことが可能となる。
【0166】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【0167】
本発明は、通信制御装置ならびに通信制御方法に利用可能であり、特に、RTSP(Real Time Streaming Protocol)を用いて映像、音楽等のコンテンツの再生制御を行うストリーミング型コンテンツ配信サービスに用いられる通信制御装置ならびに通信制御方法に利用可能である。
【図面の簡単な説明】
【0168】
【図1】本発明の一実施の形態である映像配信システムの構成および通信制御装置の機能構成の一例を示す図である。
【図2】本発明の一実施の形態における通信制御装置のハードウェア構成の一例を示す図である。
【図3】本発明の一実施の形態における映像受信表示装置のハードウェア構成の一例を示す図である。
【図4】本発明の一実施の形態における接続情報管理テーブルの構成とデータの例を示す図である。
【図5】本発明の一実施の形態における利用可能ポート番号テーブルの構成とデータの例を示す図である。
【図6】本発明の一実施の形態における利用ポート番号テーブルの構成とデータの例を示す図である。
【図7】本発明の一実施の形態におけるRTSP通信利用ポート番号テーブルの構成とデータの例を示す図である。
【図8】本発明の一実施の形態における映像データ受信情報テーブルの構成とデータの例を示す図である。
【図9】本発明の一実施の形態におけるIPv6中継プレフィックス情報テーブルの構成とデータの例を示す図である。
【図10】本発明の一実施の形態におけるIPv6中継アドレス変換テーブルの構成とデータの例を示す図である。
【図11】本発明の一実施の形態におけるIPv4ダミーアドレス生成情報テーブルの構成とデータの例を示す図である。
【図12】本発明の一実施の形態におけるIPv4ダミーアドレス変換テーブルの構成とデータの例を示す図である。
【図13】本発明の一実施の形態における映像受信表示装置が送信したドメイン名解決要求に対して通信制御装置が応答するまでの手順の例を示すシーケンス図である。
【図14】本発明の一実施の形態における映像受信表示装置が送信したドメイン名解決要求に対して通信制御装置が応答するまでの手順の例を示すシーケンス図である。
【図15】本発明の一実施の形態における映像受信表示装置が送信したドメイン名解決要求に対して通信制御装置が応答するまでの手順の例を示すシーケンス図である。
【図16】本発明の一実施の形態における映像受信表示装置が送信したドメイン名解決要求に対して通信制御装置が応答するまでの手順の例を示すシーケンス図である。
【図17】本発明の一実施の形態における通信路(第1の通信路および第2の通信路)の確立の際の手順の例を示すシーケンス図である。
【図18】本発明の一実施の形態における再生準備の際の手順の例を示すシーケンス図である。
【図19】本発明の一実施の形態における映像再生の際の手順の例を示すシーケンス図である。
【図20】本発明の一実施の形態における再生停止の際の手順の例を示すシーケンス図である。
【図21】(a)は、本発明の一実施の形態におけるRTSPコネクションの状態遷移図であり、(b)は、本発明の一実施の形態におけるRTSPコネクションの状態遷移テーブルを示す図である。
【図22】本発明の一実施の形態におけるドメイン名解決の処理の例を示すフローチャートである。
【図23】本発明の一実施の形態における応答アドレス作成・応答処理のサブルーチンの処理の例を示すフローチャートである。
【図24】本発明の一実施の形態における通信路確立の処理の例を示すフローチャートである。
【図25】本発明の一実施の形態におけるRTSPリクエストの処理の例を示すフローチャートである。
【図26】本発明の一実施の形態におけるSETUPリクエスト処理のサブルーチンの処理の例を示すフローチャートである。
【図27】本発明の一実施の形態における通信制御装置の利用ポート決定のサブルーチンの処理の例を示すフローチャートである。
【図28】本発明の一実施の形態における映像配信サーバからのRTSPレスポンスの処理の例を示すフローチャートである。
【図29】本発明の一実施の形態におけるDESCRIBEレスポンス処理のサブルーチンの処理の例を示すフローチャートである。
【図30】本発明の一実施の形態におけるSETUPレスポンス処理のサブルーチンの処理の例を示すフローチャートである。
【図31】本発明の一実施の形態におけるTEARDOWNレスポンス処理のサブルーチンの処理の例を示すフローチャートである。
【図32】本発明の一実施の形態におけるタイムアウト処理の例を示すフローチャートである。
【符号の説明】
【0169】
100…ユーザ宅、110…ホームネットワーク、120…通信制御装置、121…ドメイン名解決部、122…代理接続部、123…帯域制御部、124…テーブル群、131〜132…映像受信表示装置、140…外部ネットワーク、151〜152…映像配信サーバ、160…帯域制御サーバ、170…DNSサーバ、
201…CPU、202…メインメモリ、203…EPROM、204…第1ネットワークI/F、205…第2ネットワークI/F、206…不揮発性記憶装置、207…バス、
301…CPU、302…メインメモリ、303…EPROM、304…出力装置、305…ネットワークI/F、306…不揮発性記憶装置、307…入力装置、308…映像再生装置、309…バス、
400…接続情報管理テーブル、401…クライアントアドレス、402…サーバアドレス、403…タイムアウト、404…タイマー、405…状態、
500…利用可能ポート番号テーブル、501…利用可能ポート番号範囲、
600…利用ポート番号テーブル、601…利用ポート番号、
700…RTSP通信利用ポート番号テーブル、701…RTSP通信利用ポート番号、
800…映像データ受信情報テーブル、801…通信制御装置ポート、802…サーバポート、803…クライアントポート、804…帯域、
900…IPv6中継プレフィックス情報テーブル、901…IPv6中継プレフィックス、
1000…IPv6中継アドレス変換テーブル、1001…IPv6中継アドレス、1002…映像配信サーバアドレス、
1100…IPv4ダミーアドレス生成情報テーブル、1101…IPv4ダミーアドレス生成情報、
1200…IPv4ダミーアドレス変換テーブル、1201…IPv4ダミーアドレス、1202…映像配信サーバアドレス。
【特許請求の範囲】
【請求項1】
RTSPを用いてコンテンツを配信するストリーミング型コンテンツ配信サービスにおいて、ホームネットワークとQoS制御可能な外部ネットワークとの間に設置される通信制御装置であって、
前記ホームネットワークに接続するRTSPクライアント機器から受信した、前記外部ネットワークに接続するRTSPサーバ機器についてのドメイン名解決要求に対して、前記外部ネットワークに接続するDNSサーバとの間でドメイン名解決を行い、ドメイン名解決の結果に応じて前記RTSPサーバ機器のIPアドレス、もしくはIPv4ダミーアドレス、もしくはIPv6中継アドレスを前記RTSPクライアント機器に応答するドメイン名解決部と、
前記RTSPクライアント機器と前記RTSPサーバ機器との間で該通信制御装置を経由して送受信されるRTSPメッセージを取得し、前記RTSPメッセージから、前記RTSPサーバ機器との間でのQoS制御に必要な情報を取得する代理接続部と、
前記代理接続部にて前記RTSPメッセージから取得したQoS制御に必要な情報を元に、前記RTSPサーバ機器との間で映像伝送用のQoSセッションを確立する帯域制御部とを有することを特徴とする通信制御装置。
【請求項2】
請求項1記載の通信制御装置において、
前記ドメイン名解決部は、前記DNSサーバとの間でドメイン名解決を行う際に、前記RTSPクライアント機器から受信したドメイン名解決要求と同じクエリタイプによってドメイン名解決を行い、前記DNSサーバからのドメイン名解決応答のアンサーカウントが0であった場合は、前記RTSPクライアント機器から受信したドメイン名解決要求とは異なるクエリタイプで再度ドメイン名解決を行うことを特徴とする通信制御装置。
【請求項3】
請求項2記載の通信制御装置において、
前記ドメイン名解決部は、前記RTSPクライアント機器から受信したドメイン名解決要求のクエリタイプがAレコードであり、かつ、前記DNSサーバからのアンサーカウントが0ではないドメイン名解決応答のレコードタイプがAAAAレコードであった場合に、前記IPv4ダミーアドレスを生成して、前記RTSPクライアント機器にドメイン名解決応答として応答することを特徴とする通信制御装置。
【請求項4】
請求項2記載の通信制御装置において、
前記ドメイン名解決部は、前記RTSPクライアント機器から受信したドメイン名解決要求のクエリタイプがAAAAレコードであった場合に、前記IPv6中継アドレスを生成し、生成した前記IPv6中継アドレスを該通信制御装置に追加で設定し、生成した前記IPv6中継アドレスを前記RTSPクライアント機器にドメイン名解決応答として応答することを特徴とする通信制御装置。
【請求項5】
請求項1記載の通信制御装置において、
前記IPv4ダミーアドレスを生成するために用いるサブネットの情報を格納するテーブルを有することを特徴とする通信制御装置。
【請求項6】
請求項1記載の通信制御装置において、
前記IPv6中継アドレスを生成するために用いるプレフィックスの情報を格納するテーブルを有することを特徴とする通信制御装置。
【請求項7】
請求項1記載の通信制御装置において、
前記IPv4ダミーアドレスと、前記RTSPサーバ機器のIPアドレスとを一意に対応付けて管理するテーブルを有することを特徴とする通信制御装置。
【請求項8】
請求項1記載の通信制御装置において、
前記IPv6中継アドレスと、前記RTSPサーバ機器のIPアドレスとを一意に対応付けて管理するテーブルを有することを特徴とする通信制御装置。
【請求項9】
RTSPを用いてコンテンツを配信するストリーミング型コンテンツ配信サービスにおいて、ホームネットワークとQoS制御可能な外部ネットワークとの間に設置される通信制御装置における通信制御方法であって、
前記通信制御装置は、
前記ホームネットワークに接続するRTSPクライアント機器から受信した、前記外部ネットワークに接続するRTSPサーバ機器についてのドメイン名解決要求に対して、前記外部ネットワークに接続するDNSサーバとの間でドメイン名解決を行う第1の手順と、
ドメイン名解決の結果に応じて前記RTSPサーバ機器のIPアドレス、もしくはIPv4ダミーアドレス、もしくはIPv6中継アドレスを前記RTSPクライアント機器に応答する第2の手順と、
前記RTSPクライアント機器と前記RTSPサーバ機器との間で該通信制御装置を経由して送受信されるRTSPメッセージを取得する第3の手順と、
前記RTSPメッセージから、前記RTSPサーバ機器との間でのQoS制御に必要な情報を取得する第4の手順と、
前記RTSPメッセージから取得したQoS制御に必要な情報を元に、前記RTSPサーバ機器との間で映像伝送用のQoSセッションを確立する第5の手順とを含む手順を実行することを特徴とする通信制御方法。
【請求項10】
請求項9記載の通信制御方法において、
前記通信制御装置は、前記第1の手順において、
前記RTSPクライアント機器から受信したドメイン名解決要求と同じクエリタイプによってドメイン名解決を行う手順と、
前記DNSサーバからのドメイン名解決応答のアンサーカウントが0であった場合に、前記RTSPクライアント機器から受信したドメイン名解決要求とは異なるクエリタイプで再度ドメイン名解決を行う手順とを実行することを特徴とする通信制御方法。
【請求項11】
請求項10記載の通信制御方法において、
前記通信制御装置は、前記第2の手順において、
前記RTSPクライアント機器から受信したドメイン名解決要求のクエリタイプがAレコードであり、かつ、前記DNSサーバからのアンサーカウントが0ではないドメイン名解決応答のレコードタイプがAAAAレコードであった場合に、前記IPv4ダミーアドレスを生成する手順と、
生成した前記IPv4ダミーアドレスを前記RTSPクライアント機器にドメイン名解決応答として応答する手順を実行することを特徴とする通信制御方法。
【請求項12】
請求項10記載の通信制御方法において、
前記通信制御装置は、前記第2の手順において、
前記RTSPクライアント機器から受信したドメイン名解決要求のクエリタイプがAAAAレコードであった場合に、前記IPv6中継アドレスを生成する手順と、
生成した前記IPv6中継アドレスを該通信制御装置に追加で設定する手順と、
生成した前記IPv6中継アドレスを前記RTSPクライアント機器にドメイン名解決応答として応答する手順とを実行することを特徴とする通信制御方法。
【請求項13】
請求項9記載の通信制御方法において、
前記通信制御装置は、前記第2の手順において、
前記IPv4ダミーアドレスと、前記RTSPサーバ機器のIPアドレスとを一意に対応付けてテーブルに記憶する手順を実行することを特徴とする通信制御方法。
【請求項14】
請求項9記載の通信制御方法において、
前記通信制御装置は、前記第2の手順において、
前記IPv6中継アドレスと、前記RTSPサーバ機器のIPアドレスとを一意に対応付けてテーブルに記憶する手順を実行することを特徴とする通信制御方法。
【請求項1】
RTSPを用いてコンテンツを配信するストリーミング型コンテンツ配信サービスにおいて、ホームネットワークとQoS制御可能な外部ネットワークとの間に設置される通信制御装置であって、
前記ホームネットワークに接続するRTSPクライアント機器から受信した、前記外部ネットワークに接続するRTSPサーバ機器についてのドメイン名解決要求に対して、前記外部ネットワークに接続するDNSサーバとの間でドメイン名解決を行い、ドメイン名解決の結果に応じて前記RTSPサーバ機器のIPアドレス、もしくはIPv4ダミーアドレス、もしくはIPv6中継アドレスを前記RTSPクライアント機器に応答するドメイン名解決部と、
前記RTSPクライアント機器と前記RTSPサーバ機器との間で該通信制御装置を経由して送受信されるRTSPメッセージを取得し、前記RTSPメッセージから、前記RTSPサーバ機器との間でのQoS制御に必要な情報を取得する代理接続部と、
前記代理接続部にて前記RTSPメッセージから取得したQoS制御に必要な情報を元に、前記RTSPサーバ機器との間で映像伝送用のQoSセッションを確立する帯域制御部とを有することを特徴とする通信制御装置。
【請求項2】
請求項1記載の通信制御装置において、
前記ドメイン名解決部は、前記DNSサーバとの間でドメイン名解決を行う際に、前記RTSPクライアント機器から受信したドメイン名解決要求と同じクエリタイプによってドメイン名解決を行い、前記DNSサーバからのドメイン名解決応答のアンサーカウントが0であった場合は、前記RTSPクライアント機器から受信したドメイン名解決要求とは異なるクエリタイプで再度ドメイン名解決を行うことを特徴とする通信制御装置。
【請求項3】
請求項2記載の通信制御装置において、
前記ドメイン名解決部は、前記RTSPクライアント機器から受信したドメイン名解決要求のクエリタイプがAレコードであり、かつ、前記DNSサーバからのアンサーカウントが0ではないドメイン名解決応答のレコードタイプがAAAAレコードであった場合に、前記IPv4ダミーアドレスを生成して、前記RTSPクライアント機器にドメイン名解決応答として応答することを特徴とする通信制御装置。
【請求項4】
請求項2記載の通信制御装置において、
前記ドメイン名解決部は、前記RTSPクライアント機器から受信したドメイン名解決要求のクエリタイプがAAAAレコードであった場合に、前記IPv6中継アドレスを生成し、生成した前記IPv6中継アドレスを該通信制御装置に追加で設定し、生成した前記IPv6中継アドレスを前記RTSPクライアント機器にドメイン名解決応答として応答することを特徴とする通信制御装置。
【請求項5】
請求項1記載の通信制御装置において、
前記IPv4ダミーアドレスを生成するために用いるサブネットの情報を格納するテーブルを有することを特徴とする通信制御装置。
【請求項6】
請求項1記載の通信制御装置において、
前記IPv6中継アドレスを生成するために用いるプレフィックスの情報を格納するテーブルを有することを特徴とする通信制御装置。
【請求項7】
請求項1記載の通信制御装置において、
前記IPv4ダミーアドレスと、前記RTSPサーバ機器のIPアドレスとを一意に対応付けて管理するテーブルを有することを特徴とする通信制御装置。
【請求項8】
請求項1記載の通信制御装置において、
前記IPv6中継アドレスと、前記RTSPサーバ機器のIPアドレスとを一意に対応付けて管理するテーブルを有することを特徴とする通信制御装置。
【請求項9】
RTSPを用いてコンテンツを配信するストリーミング型コンテンツ配信サービスにおいて、ホームネットワークとQoS制御可能な外部ネットワークとの間に設置される通信制御装置における通信制御方法であって、
前記通信制御装置は、
前記ホームネットワークに接続するRTSPクライアント機器から受信した、前記外部ネットワークに接続するRTSPサーバ機器についてのドメイン名解決要求に対して、前記外部ネットワークに接続するDNSサーバとの間でドメイン名解決を行う第1の手順と、
ドメイン名解決の結果に応じて前記RTSPサーバ機器のIPアドレス、もしくはIPv4ダミーアドレス、もしくはIPv6中継アドレスを前記RTSPクライアント機器に応答する第2の手順と、
前記RTSPクライアント機器と前記RTSPサーバ機器との間で該通信制御装置を経由して送受信されるRTSPメッセージを取得する第3の手順と、
前記RTSPメッセージから、前記RTSPサーバ機器との間でのQoS制御に必要な情報を取得する第4の手順と、
前記RTSPメッセージから取得したQoS制御に必要な情報を元に、前記RTSPサーバ機器との間で映像伝送用のQoSセッションを確立する第5の手順とを含む手順を実行することを特徴とする通信制御方法。
【請求項10】
請求項9記載の通信制御方法において、
前記通信制御装置は、前記第1の手順において、
前記RTSPクライアント機器から受信したドメイン名解決要求と同じクエリタイプによってドメイン名解決を行う手順と、
前記DNSサーバからのドメイン名解決応答のアンサーカウントが0であった場合に、前記RTSPクライアント機器から受信したドメイン名解決要求とは異なるクエリタイプで再度ドメイン名解決を行う手順とを実行することを特徴とする通信制御方法。
【請求項11】
請求項10記載の通信制御方法において、
前記通信制御装置は、前記第2の手順において、
前記RTSPクライアント機器から受信したドメイン名解決要求のクエリタイプがAレコードであり、かつ、前記DNSサーバからのアンサーカウントが0ではないドメイン名解決応答のレコードタイプがAAAAレコードであった場合に、前記IPv4ダミーアドレスを生成する手順と、
生成した前記IPv4ダミーアドレスを前記RTSPクライアント機器にドメイン名解決応答として応答する手順を実行することを特徴とする通信制御方法。
【請求項12】
請求項10記載の通信制御方法において、
前記通信制御装置は、前記第2の手順において、
前記RTSPクライアント機器から受信したドメイン名解決要求のクエリタイプがAAAAレコードであった場合に、前記IPv6中継アドレスを生成する手順と、
生成した前記IPv6中継アドレスを該通信制御装置に追加で設定する手順と、
生成した前記IPv6中継アドレスを前記RTSPクライアント機器にドメイン名解決応答として応答する手順とを実行することを特徴とする通信制御方法。
【請求項13】
請求項9記載の通信制御方法において、
前記通信制御装置は、前記第2の手順において、
前記IPv4ダミーアドレスと、前記RTSPサーバ機器のIPアドレスとを一意に対応付けてテーブルに記憶する手順を実行することを特徴とする通信制御方法。
【請求項14】
請求項9記載の通信制御方法において、
前記通信制御装置は、前記第2の手順において、
前記IPv6中継アドレスと、前記RTSPサーバ機器のIPアドレスとを一意に対応付けてテーブルに記憶する手順を実行することを特徴とする通信制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【公開番号】特開2010−74653(P2010−74653A)
【公開日】平成22年4月2日(2010.4.2)
【国際特許分類】
【出願番号】特願2008−241343(P2008−241343)
【出願日】平成20年9月19日(2008.9.19)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 平成20年3月19日 社団法人電子情報通信学会主催の「2008年電子情報通信学会総合大会」において文書をもって発表
【出願人】(000153465)株式会社日立コミュニケーションテクノロジー (770)
【Fターム(参考)】
【公開日】平成22年4月2日(2010.4.2)
【国際特許分類】
【出願日】平成20年9月19日(2008.9.19)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 平成20年3月19日 社団法人電子情報通信学会主催の「2008年電子情報通信学会総合大会」において文書をもって発表
【出願人】(000153465)株式会社日立コミュニケーションテクノロジー (770)
【Fターム(参考)】
[ Back to top ]