JP5503560B2 - 負荷分散信号分配を行う方法および装置 - Google Patents

負荷分散信号分配を行う方法および装置 Download PDF

Info

Publication number
JP5503560B2
JP5503560B2 JP2010548654A JP2010548654A JP5503560B2 JP 5503560 B2 JP5503560 B2 JP 5503560B2 JP 2010548654 A JP2010548654 A JP 2010548654A JP 2010548654 A JP2010548654 A JP 2010548654A JP 5503560 B2 JP5503560 B2 JP 5503560B2
Authority
JP
Japan
Prior art keywords
gateway
video
streamer
video receiving
proxy server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010548654A
Other languages
English (en)
Other versions
JP2011519492A5 (ja
JP2011519492A (ja
Inventor
ロバート ブロアマン,キース
ジエイ ウエーバー,バリー
ロバート グートクネヒト,ゲーリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2011519492A publication Critical patent/JP2011519492A/ja
Publication of JP2011519492A5 publication Critical patent/JP2011519492A5/ja
Application granted granted Critical
Publication of JP5503560B2 publication Critical patent/JP5503560B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26216Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44227Monitoring of local network, e.g. connection or bandwidth variations; Detecting new devices in the local network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4424Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Computer And Data Communications (AREA)

Description

(関連出願の相互参照)
本願は、2008年2月29日に米国特許商標庁に出願された米国仮特許出願第61/067585号に対する優先権を主張し、そこから生じる特典を請求するものである。
本発明は、一般に、ディジタル・ホーム・ネットワークなどのネットワークにおける信号分配に関し、より詳細には、そのようなネットワークにおいてクライアント・デバイスに対する負荷分散信号分配を実現する方法および装置に関する。
現代社会では、ディジタル・ホーム・ネットワークなどの信号分配ネットワークがますます普及してきている。例えば、衛星などの信号源から音声信号および/または映像信号を受信するディジタル・ホーム・ネットワークでは、「ゲートウェイ」と呼ばれるデバイス/装置を使用して、例えばセット・トップ・ボックス(STB)などのクライアント・デバイスに信号を分配することが多い。
従来の衛星ゲートウェイ・システムに関する問題の1つは、これらのシステムが、衛星ネットワーク・フィードを複数のゲートウェイ間で分割することに対応していないことである。すなわち、所与のネットワークは、1度に1つのゲートウェイしかソースにすることができない。さらに、ビット・レートが比較的高く(例えばA3など)、コンテンツが高精細度コンテンツである場合を想定すると、従来のシステムでは、ゲートウェイの出力インタフェースで、そのゲートウェイの総出力帯域幅を超えてしまうことが容易に起こりうる。例えば、ピーク・ストリーム・ビット・レートを毎秒18メガビットと仮定すると、GEI0(ギガビット・イーサネット(登録商標)・インタフェース・ポート0)インタフェースで毎秒700〜800メガビットの集合体を消費するのに、40の異なるH.264ストリームで足りる。さらに、スポット・ビームを含むときには、一部の衛星ネットワークは32を超えるトランスポンダを有し、1つのトランスポンダがいくつかの映像および音声チャネルをサポートすることができる。このようなネットワークを複数のゲートウェイ間で分割できないということは、つまり、従来のシステムが全てのトランスポンダを同時に同調させることができないということである。
本明細書に記載の本発明は、前述の問題および/またはその他の問題に対処するものであり、具体的には、とりわけゲートウェイの出力インタフェースのオーバサブスクリプションを防止することができ、且つ新しいネットワーク、衛星トランスポンダの増加、クライアント・デバイスの増加、およびゲートウェイの冗長性に対応する柔軟性を提供することができる、新しいアーキテクチャを提供するものである。
本発明の特徴によれば、方法が開示される。例示的な実施例によれば、この方法は、複数の映像ソースの1つの映像をダウンロードすることを求める要求をクライアント・デバイスから受信するステップと、前記複数の映像ソースを受信することができる第1の映像受信側デバイスおよび第2の映像受信側デバイスからそれぞれの負荷指標を受信するステップと、前記負荷指標に従って、前記第1の映像受信側デバイスおよび前記第2の映像受信側デバイスの一方を選択するステップと、前記選択した映像受信側デバイスに、前記複数の映像ソースの1つの前記映像を、前記クライアント・デバイスが知っているアドレスを使用して伝送するように命令するステップとを含む。
本発明の別の特徴によれば、装置が開示される。例示的な実施例によれば、この装置は、複数の映像ソースの1つの映像をダウンロードすることを求める要求をクライアント・デバイスから受信する第1の入力などの手段と、前記複数の映像ソースを受信することができる第1の映像受信側デバイスおよび第2の映像受信側デバイスからそれぞれの負荷指標を受信する第2の入力などの手段と、前記負荷指標に従って、前記第1の映像受信側デバイスおよび前記第2の映像受信側デバイスの一方を選択する第1の制御論理などの手段と、前記選択した映像受信側デバイスに、前記複数の映像ソースの1つの前記映像を、前記クライアント・デバイスが知っているアドレスを使用して伝送するように命令する第2の制御論理などの手段とを備える。
本発明のさらに別の特徴によれば、別の方法が開示される。例示的な実施例によれば、この方法は、複数の映像ソースを受信することができる映像受信側デバイスから要求サーバ・デバイスに、前記映像受信側デバイスに関連する負荷を示す負荷指標を送信するステップと、要求されたプログラムおよび前記要求されたプログラムに関連するクライアント・デバイスの宛先アドレスを示すデータを、前記要求サーバ・デバイスから受信するステップと、前記要求されたプログラムを前記宛先アドレスに伝送するステップとを含む。
本発明のさらに別の特徴によれば、別の装置が開示される。例示的な実施例によれば、この装置は、当該装置に関連する負荷を示す負荷指標を決定する制御論理などの手段と、前記負荷指標を要求サーバ・デバイスに送信するインタフェースなどの手段とを備え、前記負荷指標に応じて、要求されたプログラムおよび前記要求されたプログラムに関連するクライアント・デバイスの宛先アドレスを示すデータが、前記要求サーバ・デバイスから受信され、この装置は、前記要求されたプログラムを前記宛先アドレスに伝送する。
本発明のさらに別の特徴によれば、別の方法が開示される。例示的な実施例によれば、この方法は、プログラムを求める要求をクライアント・デバイスから要求サーバ・デバイスに送信するステップと、前記要求に応答して、前記クライアント・デバイスが前記要求サーバ・デバイスからアドレスを受信するステップと、前記アドレスを使用して、選択された映像受信側デバイスを介して、前記クライアント・デバイスが前記要求したプログラムを受信するステップとを含み、前記要求サーバ・デバイスは、前記選択された映像受信側デバイスを、複数の映像受信側デバイスの中から、前記複数の映像受信側デバイスからのそれぞれの負荷指標に基づいて選択する。
本発明のさらに別の特徴によれば、別の装置が開示される。例示的な実施例によれば、この装置は、プログラムを求める要求を要求サーバ・デバイスに送信する出力などの手段と、前記要求に応答して、前記要求サーバ・デバイスからアドレスを受信し、前記アドレスを使用して、選択された映像受信側デバイスを介して、前記要求したプログラムを受信する入力などの手段とを備え、前記要求サーバ・デバイスは、前記選択された映像受信側デバイスを、複数の映像受信側デバイスの中から、前記複数の映像受信側デバイスからのそれぞれの負荷指標に基づいて選択する。
以下の本発明の実施例の説明を添付の図面と関連付けて読めば、本発明の上述およびその他の特色および利点、ならびにそれらを実現する方法がさらに明らかになり、本発明はさらに良く理解されるであろう。
本発明の例示的な実施例による、負荷分散を実行するシステム・レベル・アーキテクチャを示す図である。 本発明の例示的な実施例による、図1のプロキシ・サーバ・ゲートウェイおよびストリーマ・ゲートウェイをさらに詳細に示す図である。 本発明の例示的な実施例による、図1のプロキシ・サーバ・ゲートウェイが要求を処理する方法を示す図である。 本発明の例示的な実施例による、図1のプロキシ・サーバ・ゲートウェイがストリーマ・ゲートウェイを選択する方法を示す図である。 本発明の例示的な実施例による、図1のプロキシ・サーバ・ゲートウェイを動作させるステップを示す流れ図である。 本発明の例示的な実施例による、図1のストリーマ・ゲートウェイの1つを動作させるステップを示す流れ図である。 本発明の例示的な実施例による、図1のSTBの1つを動作させるステップを示す流れ図である。
本明細書に記載の例示は、本発明の好ましい実施例を説明するものであり、これらの例示は、いかなる意味においても本発明の範囲を限定するものとして解釈すべきものではない。
図面、特に図1を参照すると、本発明の例示的な実施例による負荷分散を実行するシステム・レベル・アーキテクチャを示す図が示してある。図1のアーキテクチャは、複数のストリーマ・ゲートウェイ(映像受信側デバイス)10と、ローカル・バス・スイッチ15(任意選択でよい)と、プロキシ・サーバ・ゲートウェイ(要求サーバ)20と、主配線盤(MDF)スイッチ25と、映像ネットワーク30と、STB35として実施される複数のクライアント・デバイスとを備える。例示および説明のために、本明細書では、図1のゲートウェイは、衛星ゲートウェイとして図示および説明する。しかし、本明細書に記載の本発明の原理は、衛星ゲートウェイに限定されるものではなく、例えばケーブル・ゲートウェイ、地上ゲートウェイ、セット・トップ・ボックス、コンピュータ、および/またはその他のデバイス/装置などに適用することもできることは、当業者なら直感的に分かるであろう。同様に、図1の各要素も、ケーブル・ネットワーク、イーサネット(登録商標)・スイッチ・ネットワーク、光ファイバ・ネットワーク、および/またはその他のタイプのネットワークなど(ただしこれらに限定されない)、任意のタイプの適当なネットワークに実装することができる。
図1の負荷分散アーキテクチャは、論理的には、プロキシ・サーバ機能と、データ(例えば音声および/または映像のテレビジョン・チャネルなど)ストリーミング機能とに分割される。図1では、プロキシ・サーバ機能は、プロキシ・サーバ・ゲートウェイ20が提供し、データ・ストリーミング機能は、ストリーマ・ゲートウェイ10が提供する。例示的な実施例によれば、ストリーマ・ゲートウェイ10は、プロキシ・サーバ・ゲートウェイ20と同じゲートウェイ内に存在するが、プロキシ・サーバ機能への影響を最小限に抑えるために、そのデータ負荷が制限されることもある。あるいは、図1に示すように、プロキシ・サーバ・ゲートウェイ20を、データ・ストリーミング機能を実行しない独立型マシンとすることもできる。各ストリーマ・ゲートウェイ10は、複数のテレビジョン・チャネルを同調させ、それらのチャネルのコンテンツを複数のクライアント・デバイスSTB35に同時に伝送する(すなわちストリーミングする)ことができる。説明を分かり易くするために、図1には、管理(例えばIXE0−10/100BaseTイーサネット(登録商標)管理インタフェースまたは100BaseTポート0)接続性は示していない。ただし、図1の全てのゲートウェイ10および20は、インターネットにアクセスすることができ、SNMP(簡易ネットワーク管理プロトコル)やテルネットなどを介して遠隔構成が可能であるものと考えられる。
図1のアーキテクチャが提供する負荷分散法は、衛星ネットワーク・フィードを複数のストリーマ・ゲートウェイ10の間で分割して、全体のデータ負荷がGEI0インタフェース間で分配されるようにすることに対応している。設計の選択に応じてストリーマ・ゲートウェイ10を追加することにより、システムの容量および/または冗長性を高めることができる。
本発明の原理による負荷分散は、シームレスな障害再構成および回復をサポートする。図1の負荷分散システムでは、例示として、ストリーマ・ゲートウェイ10を並列に配線して、全てのストリーマ・ゲートウェイ10が全てのネットワーク・フィードを受信するように示してある。この構成では、システムの再構成で、ストリーマ・ゲートウェイ10で障害が起きた後に物理的なケーブル布線の変更を行う必要がない。さらに、ストリーマ・ゲートウェイ10で障害が起きた場合に、システムは、障害の起きたストリーマ・ゲートウェイ10の現在のストリームを、その他のストリーマ・ゲートウェイ10に自動的に割り付けし直して、サービスの中断を最小限に抑えることができる。
本発明の原理による負荷分散では、RTSP(リアルタイム・ストリーミング・プロトコル)プロキシ・サーバ・ゲートウェイ20をストリーマ・ゲートウェイ10から切り離し、ネットワーク同調およびデータ・ストリーミング機能をプロキシ・サーバ・ゲートウェイ20から切り離す。従って、本発明の原理の下で構築されたストリーマ・ゲートウェイ10またはプロキシ・サーバ・ゲートウェイ20は、それほど複雑でなく、それほどコストもかからない。例えば、Linux PCをプロキシ・サーバ・ゲートウェイ20として使用し、チューナ、FPGA(フィールド・プログラマブル・ゲート・アレイ)、およびギガビット・コントローラも含むストリーマ・ゲートウェイ10では低コストなマイクロプロセッサを使用することもできる。
例示的な実施例によれば、負荷分散システムを設計する際に、以下の考慮事項を考慮に入れればよい。
1.従来のSTBクライアント・デバイスは、RTSPリダイレクトに対応していないことがある。
2.衛星ネットワーク・フィードは、複数のゲートウェイ間で共有しなければならない。例えば、複数のゲートウェイを並列に配線して、全てのゲートウェイ・シャーシ(gateway chassis)が全ての衛星ネットワークを受信するようにすることができる。
3.負荷分散は、構成ファイル・パラメータを使用してイネーブルすることができ、リブートの後に有効になる。
4.ストリーマ・ゲートウェイ・ネットワーク、チューナ、および偏波構成は、構成ファイル・パラメータとして設定しなければならない。さらに、ネットワークの自動検出/構成を追加することもできる。
5.トリプレット(triplet)(ネットワーク番号、トランスポンダ周波数、偏波設定)は、ストリーマ・ゲートウェイ間で一意的でなければならない。
6.補助(IXE0)インタフェースを、ゲートウェイ間通信に使用してもよい。
7.衛星ケーブル・フィードおよび/またはチューナ動作のトラブルシューティングおよび妥当性検査には、静的同調を使用しなければならない。静的同調の使用中には、システム動作が最適以下であってもよい。
図2を参照すると、本発明の例示的な実施例による図1のプロキシ・サーバ・ゲートウェイ20およびストリーマ・ゲートウェイ10をさらに詳細に示す図が示してある。図2に示すように、プロキシ・サーバ・ゲートウェイ20は、フロント・エンド・モジュール21、バック・エンド・モジュール22、およびストリーマ・データベース23を備える。各ストリーマ・ゲートウェイ10は、ソケット・インタフェース11、RTP(リアルタイム・プロトコル)ライブラリ12、チャネル取得モジュール13、DSFE(ディジタル・シグナリング・フロント・エンド)デバイス・モジュール14(チューナ・モジュールとして動作する)、およびA3チューナ・デバイス・モジュール16を備える。
図2では、プロキシ・サーバ・ゲートウェイ20のバック・エンド・モジュール22は、ローカル・バスを介して、外部のストリーマ・ゲートウェイ10のソケット・インタフェース11と通信する。例示的な実施例によれば、ローカル・バス通信は、GEI0インタフェースを用いて実施することができる。ローカル通信にGEI0インタフェースを使用することの利点は、全てのクライアントRTSPおよびゲートウェイ間のメッセージ・トラフィックを捉えるのに1つのネットワーク・パケット・スニファを使用するだけで済むので、デバッギング機能を簡略にすることができる点である。その他のタイプのインタフェース(例えばUSBなど)を使用することもできる。
プロキシ・サーバ・ゲートウェイ20は、単一のプロキシ・サーバIPアドレスに隠れたストリーマ・ゲートウェイ10に一部が転送されることになるインバウンド・クライアントRTSPトラフィックのプロキシとして作用するので、実際にはリバース・プロキシである。反対に、フォワード・プロキシは、アウトバウンド・トラフィックのプロキシとして作用する。
プロキシ・サーバ・ゲートウェイ20およびストリーマ・ゲートウェイ10の機能性とは関係なく、全てのゲートウェイ10および20は、以下を提供する。
・DHCP(動的ホスト構成プロトコル)サーバ、
・MTFTP(マルチキャスト・トリビアル・ファイル転送プロトコル)サーバ、
・プロキシ・モデム・サーバ、
・ICMP(インターネット制御メッセージプロトコル)「Ping」クライアント。
マルチ・ゲートウェイ・システムは、DHCP、MTFTPまたはプロキシ・モデム・サーバのうちの1つしか、1度にアクティブにしないものとする。
プロキシ・サーバ・ゲートウェイ20の機能性
プロキシ・サーバ・ゲートウェイ20は、以下のサービスを提供するものとする。
・クライアントの状態の収集および監視を含む、プロキシRTSPサーバ。
・SNMPエージェントMIB(管理情報ベース)サポート。厳密には、DSFE(ディジタル・シグナリング・フロント・エンド)MIBがストリーマ・ゲートウェイ10と関連付けられ、プロキシ・サーバ・ゲートウェイ20の外部で扱われる。
・サービスが盗用されている可能性がないか検出するためのネットワーク・プロービング。
プロキシ・サーバ・ゲートウェイ20は、ネットワーク上の全てのクライアント・デバイス(例えばSTB35)からRTSP要求を受信し、処理する(図1参照)。既存のRTP(リアルタイム・プロトコル)セッションを求める要求は、ストリーマ・ゲートウェイ10を介在させずに直接処理される。新たなセッションについては、プロキシ・サーバ・ゲートウェイ20が、1つまたは複数のRTPセッション・メッセージ(付録A参照)を生成し、これらを選択したストリーマ・ゲートウェイ10に送信する。プロキシ・サーバ・ゲートウェイ20は、好ましくは、ストリーマ・データベース23(図2参照)などのデータベースを保持し、ストリーマ・ゲートウェイ10間でのトリプレットの割当ておよびRTPセッションをトラッキングして、ストリーマ・ゲートウェイ10間で負荷を分散し、トリプレットの設定が重複するのを防止する。
ストリーマ・ゲートウェイ10の機能性
ストリーマ・ゲートウェイ10は、チューナ管理および映像データ・ポンプ機能を提供する。ストリーマ・ゲートウェイ10は、ネットワーク(図1参照)上のクライアント・デバイス(例えばSTB35)に対するRTSPサーバ・サポートを提供しないものとする。従って、ストリーマ・ゲートウェイ10は、RTSP特有の派生クラスを実施しないものとし、また必ずしもRID(受信者識別)やRIDリストなどを使用または考慮しないものとする。
ストリーマ・ゲートウェイ10は、プロキシ・サーバ・ゲートウェイ20と通信して、以下の情報を交換するものとする。
・RTPセッションの制御および状態
・ハイレベル・チューナ状態
・例えばローカル・バスSAP(セッション・アナウンスメント・プロトコル)アナウンスメントを介した、ストリーマ・ネットワークの構成および状態
プロキシ・サーバ・ゲートウェイ20がストリーマ・ゲートウェイ10上でイネーブルされていない場合には、プロキシ・サーバ特定MIB(mxuRtspServerConfig、mxuClientStatusなど)が、「no such instance」メッセージをSNMPクエリに戻すものとする。ここで、mxuRtspServerConfig、およびmxuClientStatusは、プロキシ・サーバ・ゲートウェイ20の構成、およびそのクライアント・デバイスの状態を、それぞれ表している。
プロキシ・サーバ・ゲートウェイ20の機能分割
プロキシ・サーバ・ゲートウェイ20のRTSPソフトウェア・スタックは、以下のソフトウェア・モジュールを含む。
Figure 0005503560
プロキシRTSPサーバの機能性の分配は、図2に示すようなものとすることが好ましい。プロキシ・サーバ・ゲートウェイ20では、モジュール/クラスStreamerおよびRtspStreamerMediaを作成して、複数のストリーマ・ゲートウェイ10をモデル化して、任意のネットワーク・セット(=メディア)を提供するものとする。各Streamerインスタンスは、ストリーマ・ネットワークあたり1つずつ、ProxyRtspDsfeMediaインスタンスのリストを保持するものとする。ストリーマ・ゲートウェイ10では、プロキシ・サーバ・ゲートウェイ20からのローカル・バス・メッセージを処理するモジュールが設けられ、RTPライブラリ12の1バージョン(例えば必要最低バージョンが好ましい)が、同調およびセッション情報を、チャネル取得モジュール13を介してDSFEデバイス・モジュール14に渡すものとする。
図3を参照すると、本発明の例示的な実施例による、図1のプロキシ・サーバ・ゲートウェイ20が要求を処理する方法を示す図が示してある。図3では、プロキシ・サーバ・ゲートウェイ20のRtspStreamerMediaモジュール300が、クライアント要求を解析し、ストリーマ・データベース23(図2参照)を参照して一致する要求パラメータ(ネットワーク、チューナ・パラメータ、およびPID)を探す。一致がある場合には、プロキシ・サーバ・ゲートウェイ20が、既存のマルチキャスト・グループIPアドレスを調べ、これを要求側クライアント・デバイス35に戻す。また、プロキシ・サーバ・ゲートウェイ20は、データベースのRTP Sessionユーザ・カウントを増分する。一致が存在しない場合には、RtspStreamerMediaモジュール300が、ストリーマ・ゲートウェイ10を選択し、1つまたは複数のRTP Sessionコマンド(付録A.1参照)を定式化し、これをローカル・バスを介して送信する。実行時ストリーマ選択では、利用可能な資源および構成設定に応じて、全てのストリーマ・ゲートウェイ10の間でデータ負荷を分散することを試みる。プロキシ・サーバ・ゲートウェイ20は、新たなセッションのマルチキャストIPアドレスを割当て、そのセットアップ応答をクライアント・デバイス35に戻す。クライアントRTSPティアダウン(teardown)要求時には、RTP Sessionユーザ・カウントを減分する。ゼロの場合には、プロキシ・サーバ・ゲートウェイ20は、SessionDeleteメッセージを適当なストリーマ・ゲートウェイ10に送信する。
負荷のかかったシステムでは、ストリーマ・データベース23の大部分が一致(ヒット)して、ローカル・バスを介したRTP Sessionのメッセージングが最小限になる。プロキシ・サーバ・ゲートウェイ20のRTSPサーバ・モジュールは、シングル・スレッドであり、要求があってから応答する間、1度に1つのクライアント要求を処理することが好ましい。RTSPサーバ・モジュールは、ストリーマ・ゲートウェイ10(図2参照)のDSFEデバイス・モジュール14に同調/RTP Session要求が送信されるまで、閉鎖される。RTSPサーバ・モジュールは、その様々な管理リストおよびマップを保護するのに、ミューテックス(相互排除)保護を必要としない、または使用しないものとする。プロキシ・サーバ・ゲートウェイ20は、RTPセッション要求メッセージがストリーマ・ゲートウェイ10に送信されるとすぐに、クライアント・セットアップ応答を生成する。
ストリーマ・ゲートウェイ10は、それ自体のチューナ・プールを管理する。プロキシ・サーバ・ゲートウェイ20は、ストリーマ・チューナ割当てを微細管理しないものとする。プロキシ・サーバ・ゲートウェイ20は、付録A.2に詳述する状態コマンドを使用して、ストリーマ・トリプレットおよびRTPセッションを定期的に照会する。
上述した分割例は、チャネル取得モジュール13およびDSFEデバイス・モジュール14がストリーマ・ゲートウェイ10上でのみ実行され、1000を超えるユーザをサポートすることができる高性能で低コストのプラットフォーム(Linuxなど)にプロキシ・サーバ・ゲートウェイ20の機能性を移植することを可能にしていることを意味している。
プロキシ・サーバ・ゲートウェイ20は、ローカル・バスを通して送信される定期ストリーマSAPアナウンスメントを介して、ストリーマ・ゲートウェイ10の存在および動作状態を監視するものとする。
動作
・プロキシRTSPサーバSAPリスナ・モジュール
プロキシ・サーバ・ゲートウェイ20は、ストリーマ・ゲートウェイ10のネットワークSAPアナウンスメントを監視するリスナ・モジュールを提供する。リスナは、239.255.255.255ポート19875など、特定のマルチキャスト・グループに加わるものとする。ストリーマ・ゲートウェイ10が最初のSAPアナウンスメントを受信すると、リスナ・モジュールは、新たなアプリケーション・タイマ(AppTimer)インスタンスを作成し、kRtspNewStreamerDetectedメッセージをプロキシ・サーバ・ゲートウェイ20に送信して、新たなストリーマ・ゲートウェイ10が検出されたことを示す。AppTimerのコールバック機能を使用して、ストリーマSAPアナウンスメントの失敗を検出する。このタイマは、次のストリーマSAPアナウンスメントを受信したときに、リロードされる。タイマが満期になった場合には、リスナ・モジュールは、kRtspStreamerFailedメッセージをプロキシ・サーバ・ゲートウェイ20に送信して、ストリーマ・ゲートウェイ10が失敗し、AppTimerインスタンスを削除しなければならないことを示す。リスナ・モジュールは、オンラインに戻った失敗したストリーマ・ゲートウェイ10を検出し、kRtspNewStreamerDetectedメッセージをプロキシ・サーバ・ゲートウェイ20に送信するものとする。
・プロキシRTSPサーバ・モジュール
プロキシRTSPサーバ・モジュールは、シングル・スレッドである。プロキシRTSPサーバ・モジュールは、サービス・クライアントSTB35へのselect()コール、ならびに内部要求およびローカル・バス要求に依存している。例示的な実施例によれば、プロキシRTSPサーバ・モジュールは、SAPアナウンスメント・モジュールを実装し、クライアントRTSPプロトコル要求を処理し、プロキシ・サーバ・データベースを管理し、1つまたは複数のストリーマ・ゲートウェイ10との間でメッセージを送信および受信し、SAPアナウンスメント・モジュールからメッセージを受信して処理する。
i.SAPリスナ・モジュールのメッセージ処理
kRtspNewStreamerDetectedメッセージを受信すると、プロキシ・サーバ・ゲートウェイ20は、新たなStreamerクラス/モジュール・インスタンスを作成し、適用可能なRtspStreamerMediaインスタンスにそのネットワークを追加するものとする。プロキシ・サーバ・ゲートウェイ20は、Streamerインスタンスに、アナウンスされたネットワークあたり1つのProxyRtspDsfeMediaインスタンスを追加する。
kRtspStreamerFailedメッセージを受信すると、プロキシ・サーバ・ゲートウェイ20は、mxuFailDetectGatewayServiceFailureトラップを発行し、Streamerインスタンス、ならびにRtspStreamerMediaインスタンス内のそれに対応するエントリを削除する。
ii.集合体映像ネットワークSAPアナウンスメント
プロキシ・サーバ・ゲートウェイ20は、最新の集合体ネットワークSAPアナウンスメントを保持し、これを定期的に映像ネットワークにマルチキャストするものとする。アナウンスメントは、239.255.255.255ポート9875など、既定のマルチキャスト・グループに送信しなければならない。
ブート時には、プロキシ・サーバ・ゲートウェイ20は、どのストリーマ・ゲートウェイ10が存在し、且つ機能しているかを判定するために、SAPアナウンスメントに一意的なmxuBaseStreamerCount(システム内のストリーマの予想数を示す)を受信するまで、または2分など既定の間隔が経過するまで、その集合体ネットワークSAPアナウンスメントを遅延させるものとする。システム内でローカル・コンテンツの挿入がイネーブルされている場合には、集合体アナウンスメントはネットワーク0xFFFEのエントリを含むものとする。
iii.ストリーマ選択論理
ストリーマ・ゲートウェイ10の選択は、きめ細かく行うものとする。プロキシ・サーバ・ゲートウェイ20は、要求されたトリプレットと一致するアクティブなトリプレットがないか、全てのStreamerインスタンスを探索する。見つからない場合には、プロキシ・サーバ・ゲートウェイ20は、例えば下記のように計算される負荷率が最低であるストリーマ・ゲートウェイ10を認定して選択する。
ストリーマ・ゲートウェイ10の負荷率=現在の負荷/負荷設定点
絶対負荷値ではなく負荷率値を用いることにより、負荷担持能力の異なるストリーマ・ゲートウェイ10の共存および/またはシステムへのシームレスな追加が可能になる。
この選択論理では、クライアント要求および現在の負荷率統計値に基づいて、認定ストリーマ・ゲートウェイ10の順序付きリストを作成する。負荷の軽いストリーマ・ゲートウェイ10の方が、負荷の重いストリーマ・ゲートウェイ10より優先される。プロキシ・サーバおよびストリーマの両方の機能性を有するゲートウェイへの負荷を制限するために、負荷設定点は、最大負荷設定の何分の1かに設定することができる。その結果、外部のストリーマ・ゲートウェイ10の方が負荷率が低いので、プロキシ・サーバ・ゲートウェイ20は、外部のストリーマ・ゲートウェイ10を優先する傾向がある。
図4を参照すると、本発明の例示的な実施例による、図1のプロキシ・サーバ・ゲートウェイ20がストリーマ・ゲートウェイ10を選択する方法をさらに詳細に示す図が示してある。具体的には、一例としてC++クラスを用いて、図4では、ストリーマ・ゲートウェイ10の選択、ならびにストリーマ・ゲートウェイ10が複数あるシステムにおいてクライアントRTSPセットアップ要求がどのように処理されるかを示している。選択論理の擬似コードは、以下の通りである。
ストリーマ選択:
既存のトリプレット一致を探す
for全てのストリーマの全てのProxyRtspDsfeMediaインスタンス
for要求されたネットワークおよび偏波に一致する全てのメディア
if既存のスロットがトリプレット一致を含む
ストリーマIDを返す
end
end
既存のトリプレットがアクティブでなく、ストリーマを選択する必要がある
認定ストリーマの作成されたリスト
for全てのストリーマの全てのProxyRtspDsfeMediaインスタンス
for要求されたネットワークおよび偏波に一致する全てのメディア
ifストリーマ負荷が所定最大帯域幅限界を超える
ストリーマをリストに含めない
ifメディアが既にFailedとマークされている
その失敗のタイムスタンプに基づいて(失敗の古いものから先に)ストリーマを順序付ける
else
小さなディザを現在の負荷統計値に付加する
その現在の負荷率統計値に基づいて(負荷の小さいものから先に)ストリーマを順序付ける
end
end
リストの最初のストリーマIDを返す
iv.最大クライアント制限
プロキシ・サーバ・ゲートウェイ20は、TCP接続数などのメトリクスに基づいて、クライアント・デバイス(例えばSTB35)の最大数を施行するものとする。好ましいデフォルト最大数は、クライアント・デバイスの接続数で500である。最大数に達すると、新たなTCP接続要求をサイレントに拒絶することができる。クライアント・デバイス数は、有効なSW License Keyから抽出した設定で置き換えることもできる。
最大接続数がアクティブであって、新たな接続要求を受信した場合には、プロキシ・サーバ・ゲートウェイ20は、SNMPトラップを送信するものとする。トラップは、この状況が最初に発生したときに送信され、その後は所定の発生回数ごとに送信されるものとする。プロキシ・サーバ・ゲートウェイ20は、RIDに基づいて最大クライアント数を施行することもできる。プロキシ・サーバ・ゲートウェイ20は、例えば、最大数のRTSPクライアント・デバイスにサービスを行っているときに、新たなRIDからRTSPセットアップ要求を受信した場合には、503:ServiceUnavailable応答を送信することもできる。
・ゲートウェイ間通信
プロキシ・サーバ・ゲートウェイ20とストリーマ・ゲートウェイ10の間のローカル・バス通信は、UDPを介して行うものとする(図2参照)。メッセージのタイプおよびフォーマットは、付録Aに列挙するが、コマンド文字列と、その後に続く1つまたは複数のパラメータ要求フィールドまたはパラメータ設定フィールドとからなるASCII可読フィールドを含むものとする。パラメータ・フィールドは、<CR><LF>によって区切られている。各メッセージは、コマンド・シーケンス番号(CSeq)フィールドおよびコンテンツ長(Content−length)フィールドを含むものとする。
プロキシ・サーバ・ゲートウェイ20は、ストリーマ・ゲートウェイ10との全ての通信を開始するものとする。例えば、プロキシ・サーバ・ゲートウェイ20がクライアント(マスタ)であり、ストリーマ・ゲートウェイ10がサーバ(スレーブ)である。ストリーマ・ゲートウェイ10のサーバ・ソケットは、ポート1554など、特定のUDPポートに束縛されるものとする(図2参照)。プロキシ・サーバ・ゲートウェイ20は、1555など特定のポートにおいて単一のUDPソケットを作成して、全てのストリーマ・ゲートウェイ10と通信する。
プロキシ・サーバ・ゲートウェイ20は、送信カウンタおよび受信カウンタを用いて、メッセージ送達の成功を監視するものとする。送信カウンタは、プロキシ・サーバ・ゲートウェイ20がストリーマ・ゲートウェイ10にメッセージを送信したときに増分されるものとする。受信カウンタは、プロキシ・サーバ・ゲートウェイ20がストリーマ・ゲートウェイ10から確認を受信したときに増分されるものとする。各メッセージは、確認に含めて戻される一意的な送信順序番号を有するものとする。とりわけ、負荷のかかったシステムからのデータが許容不可能な量のメッセージ損失を示す場合には、TCPメッセージングも使用することができる。各メッセージのフォーマットの詳細については、付録Aを参照されたい。
v.RTPセッション・メッセージ
プロキシ・サーバ・ゲートウェイ20は、3つのタイプのRTP Sessionメッセージをストリーマ・ゲートウェイ10に送信する。
プロキシ・サーバからストリーマへのメッセージ 用途
SessionAdd request ストリームを開始する
SessionUpdate request ストリームを更新する
SessionDelete request ストリームを停止する
ストリーマからプロキシ・サーバへのメッセージ 用途
Session request acknowledgement
メッセージの成功をトラッキングする
vi.状態要求メッセージ
プロキシ・サーバ・ゲートウェイ20は、2つのタイプの状態要求メッセージをストリーマ・ゲートウェイ10に送信する。
プロキシ・サーバからストリーマへのメッセージ 用途
Streamer Status request ストリーマの負荷統計値およびトリプレットの状態を要求する
Session Status request トリプレットのRTPセッション状態を要求する
ストリーマからプロキシ・サーバへのメッセージ 用途
Streamer Status request response
プロキシ・サーバのストリーマ・データベースを更新する
Session Status request response
プロキシ・サーバのストリーマ・データベースを更新する
Status Requestのポーリング間隔は、2秒とする。これは、MIB設定可能ではない。
・ストリーマ・ゲートウェイ10の状態報告
ストリーマ・ゲートウェイ10は、アクティブなトリプレットのリストを保持し、この情報を、Status Request応答メッセージに含めて戻す。割り当てられたトリプレットは、良好(St:D1)または失敗(St:D0)として報告される。チューナがロックを失ったとき、またはチューナを同調させることができないときには、ストリーマ・ゲートウェイ10は、自動的に別の空いているチューナを使用して、同調要求に応えようとするものとする。ストリーマ・ゲートウェイ10が全ての利用可能なチューナを試して失敗に終わった場合には、このトリプレットのStatus Requestエントリは、「失敗」(St:D0)を示すことになる。
プロキシ・サーバ・ゲートウェイ20は、トリプレットの状態を使用して、そのデータベース中のチューナを表す対応する(1つまたは複数の)DsfeSettingスロットを調べるものとする。トリプレットの状態が「失敗」を示している場合には、プロキシ・サーバ・ゲートウェイ20は、そのデータベースを更新し、当該スロットを「失敗」としてマークするものとする。スロット失敗時間は、現在の時間に設定されるものとする。プロキシ・サーバ・ゲートウェイ20は、失敗したトリプレットに関連する全てのRTPセッションをティアダウンし、クライアントRTSPクッキーをリセットするものとする。これらのクッキーは、クライアントRTSPセッションを、要求されたプログラムを担持するその下のRTPセッションと関係付けるものである。
vii.プロキシ・サーバのエラー処理
各スロット資源は、監視カウンタを保持するものとする。このカウンタは、対応するトリプレットの状態をストリーマ・ゲートウェイ10から受信したときに、例えば3などの既定の数にリセットされる。ストリーマ・ゲートウェイ10がプロキシ・サーバ・ゲートウェイ20が以前に追加したトリプレットを肯定応答しない場合には、このカウンタは減分される。カウンタがゼロになると、スロットはタイムアウトし、以下の措置がとられるものとする。
・動的スロットの場合(すなわち関連するチューナが動的に同調される場合)には、プロキシ・サーバ・ゲートウェイ20は、SessionUpdateメッセージをストリーマ・ゲートウェイ10に送信して、全ての関連するRTPセッションのセッション更新を示すものとする。
・静的スロットの場合(関連するチューナが静的に同調される場合)には、プロキシ・サーバ・ゲートウェイ20は、このトリプレットについての全てのRTPセッションを内部で削除し、スロットを削除するものとする。
プロキシ・サーバ・ゲートウェイ20は、未知のトリプレットを含むトリプレット状態メッセージを受信した場合には、セッションが削除されることになることを示すSessionDeleteメッセージを、255.255.255.255など既定の宛先IPアドレスとともに、その未知のトリプレットを含むストリーマ・ゲートウェイ10に送信するものとする。ストリーマ・ゲートウェイ10は、このトリプレットに関連する全てのRTPセッションをティアダウンし、チューナ資源を解放するものとする。
静的同調サポート
静的同調は、衛星ケーブル・フィードおよび/またはチューナ動作を妥当性検査するために使用されるトラブルシューティング・モードである。スロットのタイプ(静的/動的)およびトリプレットの状態を除けば、プロキシ・サーバ・ゲートウェイ20は、静的か動的かに係わらず、ストリーマ・ゲートウェイ10のチューナ割当てを管理またはトラッキングしないものとする。
静的チューナは、ストリーマ・ゲートウェイ10の状態応答メッセージ(St:S1からSt:S32)中に示される。ストリーマ・ゲートウェイ10が既存の(動的)RTPセッションを空いているチューナに移動させることができない場合には、ストリーマ・ゲートウェイ10は、既存のトリプレットについて動的同調が失敗である(St:D0)ことを示し、プロキシ・サーバ・ゲートウェイ20は、ストリーマ・ゲートウェイ10にティアダウンを送信するものとする。静的同調の変化に関連するRTPセッション上に見られる映像のグリッチは、許容範囲であるものとする。
ストリーマ・ゲートウェイ10のSAPアナウンサ
ストリーマ・ゲートウェイ10のネットワーク・アナウンスメントは、239.255.255.255ポート19875など、既定のローカル・バス・マルチキャスト・グループに送信されるものとする。負荷分散をサポートするために、以下のストリーマ・ゲートウェイ10のSAPアナウンスメント機能が必要になることがある。
SDPセッション帯域幅
ストリーマ・アナウンスメントは、以下の新たなSDPセッション帯域幅属性を提供するものとする。
Figure 0005503560
設定点および最大負荷の情報は、MIB要素mxuStreamerConfigMaxLoadおよびmxuStreamerConfigLoadSetpointによって設定される。
SDPセッション接続情報
ストリーマ・メディア接続情報(c)は、実際には、ネットワークごとではなくストリーマごとに設定されるので、ネットワークSAPアナウンスメントSDPメディア属性接続情報(c)は、単一のSDPセッション属性となるものとする。マルチキャストの開始および範囲の情報は、MIB要素、mxulpServicesAddrMcastStartおよびmxulpServicesAddrMcastEndによって設定される。
SDPメディア情報X−dsfe−count
アナウンスメントは、サポートされているネットワークと、所与の偏波設定でのチューナ数とを示すものとする。ネットワークSAPアナウンスメントSDPメディア属性X−dsfe−countは、以下のようなものとする。
Figure 0005503560
代表的なストリーマSAPアナウンスメント
例1:ストリーマ・ゲートウェイ10が、以下のように、(NW0L、NW15L+R、およびNW1H)用に構成される。
NW0L: チューナ1〜12。
NW15L: チューナ1〜12。チューナ数を2で割る(レガシー・チューナはカウントしない)。
NW15R: チューナ13〜24。チューナ数を2で割る(レガシー・チューナはカウントしない)。
NW1H: チューナ24〜32。
対応するSAPアナウンスメントは、以下の通りである。
セッション・アナウンスメント・プロトコル
発信ソース:10.0.30.7
ペイロード・タイプ:アプリケーション/sdp
セッション記述プロトコル
セッション記述プロトコル・バージョン(v):0
所有者/作成者、セッションId(o):−0 1 IN IP4 10.0.30.7
セッション名(s):SERVICEPROVIDERNAME
セッション情報(i):SERVICEPROVIDERNAMEコンテンツ
接続情報(c):IN IP4 239.255.0.0/128/2048
帯域幅情報(b):X−load:100/800
メディア記述、名称およびアドレス(m):データ 1024 RTP/AVP 96
メディア・タイトル(i):ネットワーク0
メディア属性(a):control:rtsp://10.0.30.7/SERVICEPROVIDERNAME/ネットワーク0
メディア属性(a):X−dsfe−count:12/0
メディア記述、名称およびアドレス(m):データ 1024 RTP/AVP 33
メディア・タイトル(i):ネットワーク15
メディア属性(a):control:rtsp://10.0.30.7/SERVICEPROVIDERNAME/ネットワーク15
メディア属性(a):X−dsfe−count:6/6
メディア記述、名称およびアドレス(m):データ 1024 RTP/AVP 96
メディア・タイトル(i):ネットワーク1
メディア属性(a):control:rtsp://10.0.30.7/SERVICEPROVIDERNAME/ネットワーク1
メディア属性(a):X−dsfe−count:8/0
例2:IPアドレス10.0.30.3に位置する10GBPSが可能(8000MBPS使用可能)なLCIストリーマ・ゲートウェイ10が、以下のように、ネットワークFFFE(=65534(10進))用に構成される。
NW FFFE:4つのローカル・チャネルが利用可能であり、加えてプログラム・ガイド・チャネルがある。ストリーマ・ゲートウェイ10は、ベース・マルチキャストIPアドレス239.255.100.0を使用する。
対応するSAPアナウンスメントは、以下の通りである。
セッション・アナウンスメント・プロトコル
発信ソース:10.0.30.3
ペイロード・タイプ:アプリケーション/sdp
セッション記述プロトコル
セッション記述プロトコル・バージョン(v):0
所有者/作成者、セッションId(o):−0 1 IN IP4 10.0.30.3
セッション名(s):SERVICEPROVIDERNAME
セッション情報(i):LOCALコンテンツ
接続情報(c):IN IP4 239.255.100.0/128/5
帯域幅情報(b):X−load:8000/8000
メディア記述、名称およびアドレス(m):データ 1024 RTP/AVP 33
メディア・タイトル(i):ネットワーク65534
メディア属性(a):control:rtsp://10.0.30.3/SERVICEPROVIDERNAME/ネットワーク65534
メディア属性(a):X−dsfe−count:5/0
動的アナウンスメント
ストリーマ・ゲートウェイ10は、そのSAPアナウンスメント・コンテンツを定期的に更新して、失敗チューナ情報または変更を帯域幅設定点に組み込むこともできる。プロキシ・サーバ・ゲートウェイ20は、それに応じてそのデータベースを更新することになる。
ゲートウェイ・リブート・シナリオ
ゲートウェイ・リブートは、3つのカテゴリに分類される。
・全てのゲートウェイ10および20のリブート
・1つまたは複数のストリーマ・ゲートウェイ10のリブート
・プロキシ・サーバ・ゲートウェイ20のみのリブート
ここで関係があるのは、以下のように最後の2つのケースである。
ストリーマのみのリブート
プロキシ・サーバ・ゲートウェイ20は、kRtspStreamerFailedメッセージおよびkRtspNewStreamerDetectedメッセージを使用して、ストリーマ・ゲートウェイ10の失敗および/またはリブートを示す。失敗ストリーマ・ゲートウェイ10は、ストリーマ・データベースから除去され、残りのストリーマ・ゲートウェイ10の間でデータ負荷が再分配されるものとする。同様に、新たに動作状態になったストリーマは、シームレスにデータベースに追加され、時間経過とともに、映像負荷がストリーマ・ゲートウェイ10の集団の中で再分配されるものとする。
プロキシ・サーバのみのリブート
設計目標は、プロキシ・サーバ・ゲートウェイ20のリブートによる映像の破壊を最小限に抑えることである。プロキシ・サーバ・ゲートウェイ20のブート・シーケンスは、以下の通りである。
1.ストリーマSAPアナウンスメントを検出する
2.検出された各ストリーマ・ゲートウェイ10について、
2.1 SESSIONDELETE(All)要求を送信し、全ての既存のストリーマセッションをティアダウンする
ブートアップに続いて、プロキシ・サーバ・ゲートウェイ20は、既知の全てのストリーマ・ゲートウェイ10に対して、ストリーマ・トリプレットおよびRTPセッション状態を要求するものとする。プロキシ・サーバ・ゲートウェイ20は、任意のクライアントRTSP要求を処理する前に、そのデータベースを再構築しなければならない。
プロキシ・サーバのブート・シーケンスは、以下のようなものでもよい。
1.ストリーマ・ゲートウェイ10のSAPアナウンスメントを検出する
2.検出された各ストリーマ・ゲートウェイ10について、
2.1 STREAMERSTATUS要求を送信して、どのトリプレットがアクティブであるかを把握する
2.1.1 アクティブなトリプレットのそれぞれについて、SESSIONSTATUS要求を送信して、どのRTPセッションがアクティブであるかを把握する
3.プロキシ・サーバ・フロント・エンド(サービス・クライアント要求)をイネーブルする
ローカル・コンテンツの挿入
(1つまたは複数の)LCI(ローカル・コンテンツ挿入)ストリーマ・ゲートウェイ10は、1つまたは複数の独立型PCおよび/またはダム(dumb)IPカメラであるものとする。予約PID(0xFF0−0xFFF)を含む任意のネットワークのクライアント・セットアップ要求は、通常のRTSPプロキシ・サーバ/ストリーマ動作をバイパスする。プロキシ・サーバ・ゲートウェイ20は、要求されたPIDおよびトランスポンダ番号に基づいてマルチキャスト・グループ・オフセットを決定するものとする。各ストリーマ・ゲートウェイ10(それぞれについてPIDが1つ予約される)は、トランスポンダの周波数設定あたり1つずつ、チャネル(マルチキャスト・グループ)を16個までサポートすることもできる。
ダムIPカメラ
プロキシ・サーバ・ゲートウェイ20は、イネーブルされるとローカル・コンテンツ・プログラム・ガイドを生成し、ストリーミングする、分離したアプリケーション・モジュールを提供するものとする。このアプリケーションは、ローカル・バス上のネットワークFFFE SAPアナウンスメントも生成して、ローカル・コンテンツ・ベース・マルチキャストIPアドレスを示すものとする。SAPアナウンスメント接続情報は、全てのストリーマ・ゲートウェイ10のローカル・コンテンツ・ベース・マルチキャストIPアドレスを示す。また、SAPアナウンスメント接続情報は、利用可能なローカル・チャネル数を示すこともできる。
PCストリーマ・ゲートウェイ10
PCストリーマ・ゲートウェイ10は、ネットワークFFFE用の、それ自体のストリーマSAPアナウンスメントを生成することになる。また、PCストリーマ・ゲートウェイ10は、ストリーマのマルチキャストの範囲内で、1つまたは複数のマルチキャスト・グループの最小のプログラム・ガイドも生成することになる。
クラス例(プロキシ・サーバ・ゲートウェイ20)
・RtspStreamerMediaクラス
ネットワークあたり1つのインスタンスが作成される。
プライベート・データ:
−ネットワーク・パス(セッション名およびメディア・タイトル)
−当該ネットワークをサポートするストリーマ・ゲートウェイ・インスタンスのリスト
−当該ネットワークとともに使用中のメディア・クッキーのマップ
−その他
・ストリーマ・ゲートウェイ10クラス
ストリーマ・ゲートウェイ10あたり1つのインスタンスが作成される。
プライベート・データ:
−ストリーマ・ゲートウェイ10のIPアドレスおよびサーバ・ポート
−帯域幅設定および現在の負荷統計値
−ストリーマ・ゲートウェイ10のキープアライブ・タイマ
−マルチキャスト・アドレス・ファクトリ・インスタンスptr
−ストリーマ・ネットワークあたり1つのProxyRtspDsfeMediaインスタンスのリスト
−ポート1554に束縛されたストリーマUDPソケットのファイル記述子
−その他
・ProxyRtspDsfeMediaクラス
ネットワークあたりのストリーマ・ゲートウェイ10あたり1つのインスタンスが作成される。
プライベート・データ:
−メディア・タイトルおよびネットワーク番号
−RTSP統計値(数値設定、解析エラーなど)
−当該メディア・インスタンスのproxyRtpLibraryインスタンスptr
−その他
・TripletMediaCookieクラス
クライアントRTSPセッションあたり1つのインスタンスが作成され、RtspServerConnectionインスタンスに格納される。
プライベート・データ:
−ストリーマ・インスタンスptr
−Triplet
−PidList
・スロット・クラス
ストリーマ・ゲートウェイ10のトリプレットあたり1つのインスタンスが作成される。
プライベート・データ:
−当該スロットのDSFE設定
−Triplet
−スロット監視カウンタ
−TripletRtpSessionリスト
−スロット・タイプ(静的/動的)
−その他
・TripletRtpSessionクラス
ストリーマRTPセッションあたり1つのインスタンスが作成され、ストリーマ・スロット・リストに格納される。
プライベート・データ:
−関連するスロットのDSFE設定へのptr
−Triplet
−PidList
−マルチキャスト宛先アドレスおよびポート
−その他
・AppTimerクラス
ストリーマ・ゲートウェイ10あたり1つのインスタンスが作成される。
プライベート・データ:
−O/Sタイマ・インスタンス
−タイマ・リロード値
・SAPAnnouncementクラス
検出されたストリーマ・ゲートウェイ10あたり1つのインスタンスが作成される。
プライベート・データ:
−データ・バッファ、ストリーマ・ゲートウェイ10からの最も最近のSAPアナウンスメントを保持する
モジュール例
1.プロキシ・サーバ・ゲートウェイ20
SAPリスナ・モジュール:
プロキシ・サーバ・ゲートウェイ20は、SAPリスナ・モジュールを実施しなければならない。このモジュールは、以下の新たなメッセージ・タイプを、プロキシRTSPサーバ・モジュールに送信する。
・ストリーマ・ゲートウェイ10SAPアナウンスメント受信
・ストリーマ・ゲートウェイ10SAPアナウンスメント・タイムアウト
プロキシRTSPサーバ・モジュール:
前述のように、プロキシRTSPサーバ・モジュールは、1.xRtspDsfeMediaクラスの代わりに、新たなStreamerクラス、RtspStreamerMediaクラス、およびProxyRtspDsfeMediaクラスを使用しなければならない。
・SAPリスナ・モジュール・メッセージのサポートを提供しなければならない
・集合体ネットワークSAPアナウンスメントを生成しなければならない
・ストリーマ・ゲートウェイ10のメッセージを送受信するためのメッセージング機能を実施しなければならない
・その他
ストリーマ・ゲートウェイ10およびプロキシ・サーバ・ゲートウェイ20が同じゲートウェイ・シャーシ内に存在するときには、プロキシ・サーバ・ゲートウェイ20の開始コードは、ストリーマ・ゲートウェイ10の開始コードとは無関係である。
プロキシ・サーバ・モジュールは、RTSP統計値を戻し、RTSP SetupParseError(解析エラーを示す)トラップおよびServerTerminatedSession(セッション終了を示す)トラップを発行するものとする。DsfeAllocationErrorトラップおよびMcastAllocationErrorトラップは、ストリーマ・ゲートウェイ10のRTPライブラリ12(図2参照)によって処理されるものとする。
2.ストリーマ・ゲートウェイ10
各ストリーマ・ゲートウェイ10は、ローカル・バス・ソケットを監視するモジュールを実施する。このモジュールは、一般に、以下のようにRTSPスタックをエミュレートする。
・存在する各ネットワークについて、RtspDsfeMediaおよびRTPLibraryインスタンスを作成する
・RtspSessionおよびRtspDsfeMedia構成ファイル設定に基づいて、ローカル・バス上のネットワークSAPアナウンスメントを生成する
・例えばポート1554のローカル・バスUDPソケットを作成する
・プロキシ・サーバ・ゲートウェイ20のメッセージを送受信するメッセージング機能を実施する
・プロキシ・サーバRTPセッション要求をフィールディング(field)する
・チューナおよびFPGA/データ・ポンプの機能性を管理する
RTPライブラリ・インタフェース・モジュールは、プロキシ・サーバのストリーマ状態要求メッセージへの応答に使用されるトリプレット状態コードを戻すように機能強化しなければならない。ストリーマ・サーバの開始コードは、プロキシRTSPサーバの開始コードとは無関係であるものとする。
構成パラメータ例
ブート時には、以下の構成ファイル/SNMP MIBパラメータを確認して、ゲートウェイを構成する。
Figure 0005503560
mxuRtspServerConfigProxyEnableが真である場合には、プロキシRTSPサーバ・モジュールが開始される。偽である場合には、構成設定は無視され、偽として扱われる。
・mxuNetworkAuditAdminEnabled
mxuRtspServerConfigStreamerCountは、ブート時にプロキシ・サーバ・ゲートウェイ20によって使用されて、システム内のストリーマ・ゲートウェイ10の予想数を示す。プロキシ・サーバ・ゲートウェイ20は、mxuRtspServerConfigStreamerCountに一意的なSAPアナウンスメントを受信するまで、または2分など既定の間隔が経過するまで、集合体ネットワークSAPアナウンスメントを遅延させる。
mxuStreamerConfigStreamerEnableが真である場合には、ストリーマ・ゲートウェイ10のSAPアナウンサがイネーブルされる。偽である場合には、ストリーマ・ゲートウェイ10のSAPアナウンスメントがディセーブルされ、プロキシ・サーバ・ゲートウェイ20は、当該ストリーマ・ゲートウェイ10に新たなRTPセッション要求を送信しないものとする。
API例
これらのAPIは、大域的にアクセス可能なAPIである。
bool isProxyServer(void)
この機能は、構成ファイル・パラメータmxuRtspServerConfigProxyEnableのブート状態を戻す。
bool isStreamer(void)
この機能は、ブート時に1つまたは複数のアクティブなmxuRtspDsfeMediaConfigRowStatus構成ファイル・エントリがある場合に、真を戻す。さらに、少なくとも1つのアクティブなmxuRtspSessionConfigRowStatusエントリが存在しなければならない。
使用例:SNMPエージェントが、このAPIを使用して、RTSPサーバMIBへのMIBアクセスを調節する。
bool isActiveStreamer(void)
この機能は、mxuStreamerConfigStreamerEnableおよびisStreamer()が両方とも真である場合に、真を戻す。
使用例:ストリーマ・ゲートウェイ10が、このAPIを使用して、SAPアナウンスメントを調節する。
本発明の原理によれば、プロキシ・サーバ・ゲートウェイ20は、2000超のクライアント・デバイス(例えばSTB35)をサポートすることができるものとする。STBクライアントの要求モジュールは、ポート554など既定のポートにおいてUDPソケットを露出させ、UDPベースのSTBクライアントをサポートするものとする。
次に、図5を参照すると、本発明の例示的な実施例による、図1のプロキシ・サーバ・ゲートウェイ20を動作させるステップを示す流れ図500が示してある。図5に示す各ステップは、単なる例示であり、いかなる意味においても本発明を限定するものではない。
ステップ510で、プロキシ・サーバ・ゲートウェイ20は、クライアント・デバイスSTB35から要求信号を受信する。例示的な実施例では、要求信号は、特定のプログラムを要求側クライアント・デバイスSTB35にダウンロード(すなわちストリーミング)することを求める要求を示す。
ステップ520で、プロキシ・サーバ・ゲートウェイ20は、ステップ510で受信した要求を受け入れるためにストリーマ・ゲートウェイ10から新たなチューナを割り当てる必要があるかどうかを判定する。例えば、ストリーマ・ゲートウェイ10の1つが、要求されたプログラムを担持する信号ソース(例えばトランスポンダ)に既に同調している場合には、新たなチューナは必要ない。あるいは、ストリーマ・ゲートウェイ10の1つが、要求されたプログラムを担持する信号ソースにまだ同調していない場合には、新たなチューナが必要である。
ステップ520の判定結果が肯定である場合には、プロセス・フローはステップ5320に進み、プロキシ・サーバ・ゲートウェイ20は、ストリーマ・ゲートウェイ10からそれぞれの負荷指標を受信する。例示的な実施例によれば、負荷指標は、各ストリーマ・ゲートウェイ10の負荷率設定点を示す。プロキシ・サーバ・ゲートウェイ20が各ストリーマ・ゲートウェイ10に関連する現在の負荷指標を常に把握しておくことができるように、ステップ530は定期的に実行される。
ステップ540で、プロキシ・サーバ・ゲートウェイ20は、負荷指標に従って、ストリーマ・ゲートウェイ10の1つを選択する。例示的な実施例によれば、ステップ540で、プロキシ・サーバ・ゲートウェイ20は、ステップ530で受信した各負荷指標に従って、最も軽い負荷を有するストリーマ・ゲートウェイ10を選択する。
ステップ550で、プロキシ・サーバ・ゲートウェイ20は、ステップ540で選択した特定のストリーマ・ゲートウェイ10に命令して、ステップ510で要求されたプログラムを、特定の宛先アドレスにある要求側クライアント・デバイスSTB35に伝送させる。ステップ550から、プロセス・フローはステップ580に進み、プロキシ・サーバ・ゲートウェイ20は、この宛先アドレスを要求側クライアント・デバイスSTB35に戻して、要求側クライアント・デバイスSTB35が、選択されたストリーマ・ゲートウェイ10から伝送されている要求されたプログラムを受信できるようにする。例示的な実施例によれば、要求側クライアント・デバイスSTB35は、ステップ580の実行前に、宛先アドレスを既に知っていてもよい。このようにして、ステップ580を実行して、要求側クライアント・デバイスSTB35への宛先アドレスを簡単に確認することができる。
ステップ520に戻り、このステップの判定結果が否定である場合(例えば新たなチューナを割り当てる必要がない場合)には、プロセス・フローはステップ560に進み、プロキシ・サーバ・ゲートウェイ20は、RTPセッションまたはプログラム識別子(PID)を作成または更新する必要があるかどうかを判定する。ステップ560の判定結果が否定である場合には、これは、ステップ510で要求されたプログラムが、ストリーマ・ゲートウェイ10の1つによって既に提供されていることを示す。従って、この場合には、プロセス・フローはステップ580に進み、プロキシ・サーバ・ゲートウェイ20は、適用可能な宛先アドレスを要求側クライアント・デバイスSTB35に単純に提供して、要求側クライアント・デバイスSTB35が、ストリーマ・ゲートウェイ10の1つによって既に伝送されている要求されたプログラムを受信できるようにする。
あるいは、ステップ560の判定結果が肯定である場合には、プロセス・フローはステップ570に進み、プロキシ・サーバ・ゲートウェイ20は、既存の同調したチューナを有する特定のストリーマ・ゲートウェイ10(すなわち要求されたプログラムを担持する信号ソース(例えばトランスポンダ)に既に同調しているストリーマ・ゲートウェイ10)を選択する。ステップ570から、プロセス・フローは、上述したステップ550に進む。
図6を参照すると、本発明の例示的な実施例による、図1のストリーマ・ゲートウェイ10の1つを動作させるステップを示す流れ図600が示してある。図6に示す各ステップは、単なる例示であり、いかなる意味においても本発明を限定するものではない。
ステップ610で、ストリーマ・ゲートウェイ10は、その負荷指標をプロキシ・サーバ・ゲートウェイ20に送信する。例示的な実施例では、各ストリーマ・ゲートウェイ10は、ステップ610を定期的に実行して、プロキシ・サーバ・ゲートウェイ20が、ストリーマ・ゲートウェイ10に関連する現在の負荷指標を常に把握しておくことができるようにする。上述のように、ステップ610で送信される負荷指標は、特定のストリーマ・ゲートウェイ10に関連する負荷率を示す。
ステップ620で、ストリーマ・ゲートウェイ10は、プログラム要求および宛先アドレスを受信する。例示的な実施例では、ストリーマ・ゲートウェイ10は、要求されたプログラムおよび当該要求されたプログラムに関連するクライアント・デバイスSTB35の宛先アドレスを示すデータを、プロキシ・サーバ・デバイス20から受信する。また、例示的な実施例によれば、ステップ620は、プロキシ・サーバ・デバイス20が、プログラム要求および宛先アドレスを受信したストリーマ・ゲートウェイ10が複数のストリーマ・ゲートウェイ10の中で最低の負荷を有すると判定したのに応答して実行される。
ステップ630で、ストリーマ・ゲートウェイ10は、要求されたチャネルを宛先アドレスに伝送する。例示的な実施例によれば、ストリーマ・ゲートウェイ10は、要求されたプログラムを要求側クライアント・デバイスSTB35の宛先アドレスに伝送することにより、クライアント・デバイスSTB35のユーザが、要求したプログラムを聴く、且つ/または見ることができるようにする。
次に、図7を参照すると、本発明の例示的な実施例による、図1のSTB35の1つを動作させるステップを示す流れ図700が示してある。図7に示す各ステップは、単なる例示であり、いかなる意味においても本発明を限定するものではない。
ステップ710で、STB35は、プロキシ・サーバ・ゲートウェイ20に要求信号を送信する。例示的な実施例では、要求信号は、要求された特定のプログラムを、要求側クライアント・デバイスSTB35にダウンロードすることを求める要求を示す。
ステップ720で、STB35は、プロキシ・サーバ・ゲートウェイ20から応答メッセージを受信し、応答メッセージ中に示されているマルチキャスト・グループに加わる。すなわち、要求されたプログラムがネットワーク上でストリーマ・ゲートウェイ10の1つから既に入手可能であると仮定すると、プロキシ・サーバ・ゲートウェイ20からの応答メッセージは、STB35が要求したプログラムにアクセスするために使用することができるマルチキャスト・ネットワーク・アドレスを含むことができる。
ステップ730で、STB35は、マルチキャスト・ネットワーク・アドレスを用いてプロキシ・サーバ・ゲートウェイ20が選択したストリーマ・ゲートウェイ10を介して、要求したプログラムを受信する。例示的な実施例では、クライアント・デバイスSTB35は、複数のストリーマ・ゲートウェイ10の中からそれぞれの負荷指標に基づいてプロキシ・サーバ・ゲートウェイ20によって選択されたストリーマ・ゲートウェイ10を介して、要求したプログラムを受信する。次いで、STB35は、受信したプログラムを復号して、出力する。
別の例示的な実施例によれば、ストリーマ・ゲートウェイ10の1つが、ユニキャストを使用して、要求された映像データを映像ソース(例えばテレビジョン・チャネル)から送信している場合には、プロキシ・サーバ・ゲートウェイ20は、送信側のストリーマ・ゲートウェイ10にユニキャストをマルチキャストに変換することを要求する信号を送信することができ、さらに、映像ソースを要求しているクライアント・デバイスSTB35にマルチキャスト・ネットワーク・アドレスを送信して、当該クライアント・デバイスSTB35がマルチキャスト・ネットワーク・アドレスを使用して映像ソースから映像データを受信できるようにすることができる。
上述した図5〜図7の原理は、それぞれ独立して実施してもよいし、任意の適当な方法で互いに組み合わせて使用してもよい。
付録A プロキシ・サーバからストリーマへのメッセージのフォーマット
A.1 RTP Sessionメッセージ
Sessionメッセージは、以下のフォーマットで構成される。各行は、<CR><LF>で終了する。
コマンド要求/応答識別子の行
ヘッダ・パラメータ、行あたり1つ
<CR><LF>分離記号は、ヘッダの終了を示す
ペイロード・パラメータ、行あたり1つ
<CR><LF>分離記号は、ペイロードの終了を示す
A.1.1 SessionAdd Requestメッセージ
この要求は、全てのフィールドを含んでいなければならない。順序は重要でない。全てのフィールドが、ASCIIテキストである。
SESSIONADD/Request
CSeq: int
Content−length: int
MediaPath: RtspSessionName/network###
Triplet: 32ビット16進数:0xzzzzzzzz
Frequency: 32ビットunsigned int
Polarization: lhcp、rhcp、水平、垂直
Standard: dss、dvbs、dvbs2、amc
Modulation: qpsk、8psk
Symbol−Rate: 32ビットunsigned int
Code−Rate: 2−3、6−7など
Alpha: int(0、1、または2)
Pilot: 真、偽
Gold−Code: int
Amc−Mode: int
PLS: 12の16進数字 010203040506070809101112
Xport−Packets: int
Low−Jitter: 真、偽
Pids: int、int、int、…
Destination−Address:xx.xx.xx.xx
Destination−Port: int
A.1.2 SessionAdd Responseメッセージ
この応答は、任意選択であるStatusReasonを除く全てのフィールドを含んでいなければならない。
SESSIONADD/Response
CSeq: int
Content−length:int
Triplet: 32ビット16進数:0xzzzzzzzz
Status: int(0=成功)
StatusReason: ASCII文字列
Errors: 100=メッセージ解析エラーです
101=基本パラメータが足りません
102=メディアが利用できません
103=セッション割当てに失敗しました
A.1.3 SessionUpdate Requestメッセージ
この要求は、トリプレットおよび宛先アドレス、ならびに更新すべきその他のdsfe/セッション・フィールドを含むものとする。順序は重要でない。
SESSIONUPDATE/Request
CSeq: int
Content−length: int
MediaPath: RtspSessionName/network###
Triplet: 32ビット16進数:0xzzzzzzzz
Frequency: 32ビットunsigned int
Polarization: lhcp、rhcp、水平、垂直
Standard: dss、dvbs、dvbs2、amc
Modulation: qpsk、8psk
Symbol−Rate: 32ビットunsigned int
Code−Rate: 2−3、6−7など
Alpha: int(0、1、または2)
Pilot: 真、偽
Gold−Code: int
Amc−Mode: int
PLS: 12の16進数字 010203040506070809101112
Xport−Packets: int
Low−Jitter: 真、偽
Pids: int、int、int、…
Destination−Address:xx.xx.xx.xx
Destination−Port: int
A.1.4 SessionUpdate Responseメッセージ
この応答は、任意選択であるStatusReasonを除く全てのフィールドを含んでいなければならない。
SESSIONUPDATE/Response
CSeq: int
Content−length:int
Triplet: 32ビット16進数:0xzzzzzzzz
Status: int(0=成功)
StatusReason: ASCII文字列
Errors: 100=メッセージ解析エラーです
101=基本パラメータが足りません
102=メディアが利用できません
103=セッション割当てに失敗しました
104=セッションが見つかりません
A.1.5 SessionDelete Requestメッセージ
この要求は、トリプレットおよび宛先アドレスを識別する。
宛先アドレスが255.255.255.255である場合には、ストリーマ・ゲートウェイ10は、要求されたトリプレットに関連する全てのRTPセッションを削除し、チューナ資源を解放しなければならない。
トリプレット値が0xFFFFFFFFであり、宛先アドレスが255.255.255.255である場合には、ストリーマ・ゲートウェイ10は、全てのRTPセッションを削除し、このストリーマ・ゲートウェイ10上の全てのトリプレット(チューナ資源)を解放しなければならない。
SESSIONDELETE/Request
CSeq: int
Content−length: int
Triplet: 32ビット16進数:0xzzzzzzzz
Destination−Address:xx.xx.xx.xx
A.1.6 SessionDelete Responseメッセージ
この応答は、任意選択であるStatusReasonを除く全てのフィールドを含んでいなければならない。
SESSIONDELETE/Response
CSeq: int
Content−length:int
Triplet: 32ビット16進数:0xzzzzzzzz
Status: int(0=成功)
StatusReason: ASCII文字列
Errors: 100=メッセージ解析エラーです
101=基本パラメータが足りません
102=メディアが利用できません
104=セッションが見つかりません
A.2 Statusメッセージ
Statusメッセージは、以下のフォーマットで構成される。各行は、<CR><LF>で終了する。
コマンド要求/応答識別子の行
ヘッダ・パラメータ、行あたり1つ
<CR><LF>分離記号は、ヘッダの終了を示す
ペイロード・パラメータ、行あたり1つ
<CR><LF>分離記号は、ペイロードの終了を示す
A.2.1 Streamer Status Requestメッセージ
この要求は、関連のあるフィールドを識別する。
STREAMERSTATUS/Request
CSeq: int
Content−length:int
LoadStat:
NumTriplets:
Nw:
Po:
Fr:
St:
A.2.2 Streamer Status Responseメッセージ
ストリーマ・ゲートウェイ10は、要求された負荷統計値と、それに続くトリプレット状態エントリの配列とを含む応答メッセージを生成することになる。戻されるエントリの数は、NumTripletsで指定される。
Figure 0005503560
トリプレット状態(St)フィールドは、以下のように3文字以下である。
・1番目の文字は、静的同調を示すS、または動的同調を示すDである。
・2番目/3番目の文字は、成功を示す1から32、または失敗を示す0(ゼロ)である。
ストリーマ・ゲートウェイ10は、失敗した静的チューナ(St:S0)は報告しない。また、ストリーマ・ゲートウェイ10は、静的チューナへの同調を試行し続ける。複数のチューナを、同じトリプレット設定に静的に割り当てることができる。この場合には、状態フィールドは、いくつのチューナが当該トリプレット設定を使用しているかを示す。動的同調時には、状態フィールドは、1(良好)または0(失敗)チューナを示さなければならない。
以下は、ストリーマが3つのアクティブなトリプレットを有し、そのうちの1つが静的に同調されていると仮定した場合の、状態要求応答の一例である。
STREAMERSTATUS/Response
CSeq: int
Content−length:int
LoadStat: 283
NumTriplets: 3
Nw: 0
Po: 2
Fr: 988
St: D1
Nw: 0
Po: 3
Fr: 974
St: D1
Nw: 0
Po: 2
Fr: 1267
St: S5
メッセージ応答は、ストリーマが32個の一意的なトリプレットについての状態を報告するときに、最大となる。
A.2.3 Session Status Requestメッセージ
このメッセージは、メディア・パス値、トリプレット値、および少なくとも1つの追加要求フィールドを含んでいなければならない。
SESSIONSTATUS/Request
CSeq: int
Content−length:int
MediaPath: RtspSessionName/network###
Triplet: 32ビット16進数:0xzzzzzzzz
NumSessions:
Frequency:
Polarization:
Standard:
Modulation:
Symbol−Rate:
Code−Rate:
Alpha:
Pilot:
Gold−Code:
Amc−Mode:
PLS:
Xport−Packets:
Low−Jitter:
Pids:
Destination−Address:
Destination−Port:
A.2.4 Session Status Responseメッセージ
セッション状態要求メッセージで要求されるフィールドは、応答メッセージに含まれていなければならない。要求されたトリプレットについての全てのセッションは、1つの応答メッセージで送信される。戻されるセッションの数は、NumSessionsで指定される。セッションは、(PID、宛先アドレス、宛先ポート)の3つの要素でグループ化される。また、トリプレットがA3モードのチューナに関連する場合のみ、A3パラメータ要求フィールド(alpha、pilot、gold−code、amc−mode、およびpls)が戻されることにも留意されたい。
SESSIONSTATUS/Response
CSeq: int
Content−length: int
MediaPath: RtspSessionName/network###
Triplet: 32ビット16進数:0xzzzzzzzz
Frequency: 32ビットunsigned int
Polarization: lhcp、rhcp、水平、垂直
Standard: dss、dvbs、dvbs2、amc
Modulation: qpsk、8psk
Symbol−Rate: 32ビットunsigned int
Code−Rate: 2−3、6−7など
Alpha: int(0、1、または2)
Pilot: 真、偽
Gold−Code: int
Amc−Mode: int
PLS: 12の16進数字 010203040506070809101112
Xport−Packets: int
Low−Jitter: 真、偽
NumSessions: 3
Pids: int、int、int
Destination−Address:xx.xx.xx.xx
Destination−Port: int
以下は、レガシー・チューナであり、ストリーマが3つのアクティブなセッションを有すると仮定した場合の、セッション要求応答の一例である。
SESSIONSTATUS/Response
CSeq: xxx
Content−length: yyy
MediaPath: SERVICEPROVIDERNAME/network0
Triplet: 0x00020549
NumSessions: 3
Frequency: 1353080000
Polarization: rhcp
Standard: dss
Modulation: qpsk
Symbol−Rate: 20000000
Code−Rate: 6−7
Xport−Packets: 10
Low−Jitter: 偽
Pids: 10、11
Destination−Address:239.255.0.17
Destination−Port: 1024
Pids: 30、31
Destination−Address:239.255.2.138
Destination−Port: 1024
Pids: 90、91、92
Destination−Address:239.255.0.48
Destination−Port: 1024
付録B 興味深い用途の場合
A.1 降雨減衰
A.1.1 一部のチューナが影響を受ける場合
ストリーマ・ゲートウェイ10がチューナのロック解除を検出し、空いているチューナが利用可能である場合には、ストリーマ・ゲートウェイ10は、そのシャーシ内の空いているチューナにRTPセッションを移動させることになる。プロキシ・サーバ・ゲートウェイ20は、この移動を知る必要はない。シャーシ内に利用可能な空いているチューナがない、または空いているチューナ全てを試して失敗した場合には、ストリーマは、次のSTREAMERSTATUS応答メッセージでトリプレット失敗を示す。ストリーマ・ゲートウェイ10は、失敗であることを示したら、セッションの移動の試行を停止しなければならない。ストリーマ・ゲートウェイ10がトリプレット同調失敗を示したら、プロキシ・サーバ・ゲートウェイ20は、そのトリプレットを別のストリーマにリダイレクトすることになる。
A.1.2 全てのチューナが影響を受ける場合
全てのチューナが降雨減衰でロック解除する可能性もある。これは、全てのストリーマ・ゲートウェイ10の間で起こる可能性がある。STREAMERSTATUS応答に基づいて、プロキシ・サーバ・ゲートウェイ20は、ストリーマ・ゲートウェイ10のトリプレット(スロット)をエラーとマークし、スロットの時間を現在の時間に更新する。ストリーマの間で空いているスロットがない場合には、プロキシは、新たなセットアップ要求を、最も古いエラー・スロットを有するストリーマ・ゲートウェイ10に転送することになる。プロキシ・サーバ・ゲートウェイ20が全てのエラー・スロットを試し、それでもなおSTREAMERSTATUSが失敗を示し続ける場合には、プロキシ・サーバ・ゲートウェイ20は、503:Service Unavailableメッセージを、クライアント・デバイス(例えばSTB35)に送信することができる。現在のSTBソフトウェアは、503:ServiceUnavailable応答の受信時にその挙動が変化しない。そうなるまでは、ここで提案する動作は、新たな価値を付加しない。
A.2 静的同調失敗
静的同調チューナがロックできない、またはロックを失った場合には、ストリーマは、STREAMERSTATUS応答メッセージ中でSt:S0失敗を示さない。ストリーマは、引き続きSt:S1を示し続ける。ストリーマは、引き続き、当該静的同調チューナの回復を試行し続けなければならない。
A.3 プロキシ・サーバ・リブート
プロキシ・サーバ・ゲートウェイ20のリブート中には、全てのクライアントSTBクッキーが失われる。リブートに続いて、プロキシ・サーバ・ゲートウェイ20は、454:Session Not Foundを送って、以前の(且つ現在は未知の)RTSPセッション番号を含むSetup要求を発行したSTBに応答する。しかし、実際の動作では、これは問題にならないものと考えられる。プロキシ・サーバ・ゲートウェイ20がダウンしている間に、STB TCP接続がリセットされ、STBが、RTSPセッション番号を含まない新たなセットアップ要求を発行するからである。
付録C 設計注
ストリーマ・ゲートウェイ10
1.静的チューナが解放された場合
a.当該チューナのRTPセッションが存在しない場合には、当該チューナはサイレントにプールに戻される。ストリーマ・ゲートウェイ10は、St:S1の報告を停止する。解放された静的チューナを検出し、静的スロットを削除する以外には、プロキシ・サーバ・ゲートウェイ20が動作を起こす必要はない。
b.RTPセッションが存在する場合には、ストリーマ・ゲートウェイ10は、動的チューナが利用可能であれば、トリプレットおよびセッションを動的チューナにサイレントに移動させる。プロキシ・サーバ・ゲートウェイ20は、以前の静的スロットを動的スロットとしてマークしなければならない。
c.RTPセッションが存在するが、移動に失敗した場合には、ストリーマ・ゲートウェイ10は、トリプレット失敗(D0)エントリを含むStreamerStatus/Responseメッセージを、プロキシ・サーバ・ゲートウェイ20に送信しなければならない。
2.RTPセッションを有する動的同調チューナが異なるトランスポンダに静的に同調された場合
a.トリプレット状態は、新たに静的に同調されたチューナを示すようになる。プロキシ・サーバ・ゲートウェイ20は、以前の動的スロットを静的スロットとしてマークしなければならない。
b.利用可能であれば、ストリーマ・ゲートウェイ10は、動的RTPセッションを空いているチューナにサイレントに移動させる。トリプレット状態は、引き続き、動的同調チューナを示し続ける。
c.空いているチューナが利用可能でない場合には、ストリーマ・ゲートウェイ10は、移動させることができない動的トリプレットについて「D0」状態を戻す。プロキシ・サーバ・ゲートウェイ20は、このトリプレットに関する全てのRTSPセッションをティアダウンする。
3.プロキシ・サーバ・ゲートウェイ20が新たなトリプレットについてのSessionAdd要求を送信し、全てのチューナが割り当てられている場合には、ストリーマ・ゲートウェイ10は、当該トリプレットおよび非ゼロの失敗コード(状態コード=0は成功を示す)を含むSessionAdd/Responseメッセージを戻す。
4.プロキシ・サーバ・ゲートウェイ20が、未知のトリプレットについてSessionUpdateまたはSessionDelete要求を送信した場合には、ストリーマ・ゲートウェイ10は、当該トリプレットおよび非ゼロの失敗コードを含むSessionUpdate/Delete Responseメッセージを戻す。
プロキシ・サーバ・ゲートウェイ20
1.ストリーマ・ゲートウェイ10が、プロキシ・サーバ・ゲートウェイ20には未知のトリプレットの失敗を状態応答の中で報告した場合には、プロキシ・サーバ・ゲートウェイ20は、当該トリプレットに関連する全てのセッションをティアダウンする。(プロキシは、当該トリプレットおよびDestinationAddress=255.255.255.255を有するSessionDeleteメッセージを送信する。)
2.ストリーマ・ゲートウェイ10が、失敗を示すSessionAdd Responseを報告した場合には、プロキシ・サーバ・ゲートウェイ20は、当該トリプレットおよびセッションを内部でティアダウンする。
3.ストリーマ・ゲートウェイ10が、失敗を示すSessionAdd/Update/Delete Responseを報告した場合には、プロキシ・サーバ・ゲートウェイ20は、当該トリプレットをティアダウンする。
上述のように、本発明は、ネットワーク中のクライアント・デバイスに対する負荷分散信号分配を実現する方法および装置を提供する。好ましい設計を有するものとして本発明について説明したが、本発明は、本開示の趣旨および範囲内で、さらに修正することができる。従って、本願は、本発明の一般的原理を用いた本発明のいかなる変形、用途、または改変もカバーするものとする。さらに、本願は、本発明に関係し、添付の特許請求の範囲に含まれる当技術分野で既知の実施方法または慣習的な実施方法に含まれるような本開示からの逸脱も、カバーするものとする。
以下に、本発明の好ましい態様を示す。
付記1.複数の映像ソースの1つの映像をダウンロードすることを求める要求をクライアント・デバイスから受信するステップ(510)と、
前記複数の映像ソースを受信することができる第1の映像受信側デバイスおよび第2の映像受信側デバイスからそれぞれの負荷指標を受信するステップ(530)と、
前記負荷指標に従って、前記第1の映像受信側デバイスおよび前記第2の映像受信側デバイスの一方を選択するステップ(540)と、
前記選択した映像受信側デバイスに、前記複数の映像ソースの1つの前記映像を、前記クライアント・デバイスが知っているアドレスを使用して伝送するように命令するステップ(550)とを含む、方法(500)。
付記2.前記選択した映像受信側デバイスに前記アドレスを提供するステップをさらに含む、付記1に記載の方法(500)。
付記3.前記第1の映像受信側デバイスおよび前記第2の映像受信側デバイスの一方がマルチキャストを使用して前記複数の映像ソースの1つの映像を送信している場合に、前記クライアント・デバイスにマルチキャスト・ネットワーク・アドレスを送信して、前記クライアント・デバイスが前記マルチキャスト・ネットワーク・アドレスを使用して前記複数の映像ソースの前記1つの前記映像を受信することができるようにするステップをさらに含む、付記1に記載の方法(500)。
付記4.前記第1の映像受信側デバイスおよび前記第2の映像受信側デバイスの一方がユニキャストを使用して前記複数の映像ソースの1つの映像を送信している場合に、前記送信している映像受信側デバイスに、ユニキャストをマルチキャストに変換するように要求し、前記クライアント・デバイスにマルチキャスト・ネットワーク・アドレスを送信して、前記クライアント・デバイスが前記マルチキャスト・ネットワーク・アドレスを使用して前記複数の映像ソースの1つの前記映像を受信することができるようにするステップをさらに含む、付記1に記載の方法(500)。
付記5.それぞれの負荷指標を受信する前記ステップが、定期的に実行される、付記1に記載の方法(500)。
付記6.前記それぞれの負荷指標が、前記第1の映像受信側デバイスおよび前記第2の映像受信側デバイスそれぞれの負荷率設定点を示す、付記1に記載の方法(500)。
付記7.前記映像ソースがそれぞれ、テレビジョン・プログラムを提供する、付記1に記載の方法(500)。
付記8.前記それぞれの負荷指標によれば、前記選択された映像受信側デバイスの方が負荷が軽い、付記1に記載の方法(500)。
付記9.複数の映像ソースの1つの映像をダウンロードすることを求める要求をクライアント・デバイス(35)から受信する手段(21)と、
前記複数の映像ソースを受信することができる第1の映像受信側デバイス(10)および第2の映像受信側デバイス(10)からそれぞれの負荷指標を受信する手段(22)と、
前記負荷指標に従って、前記第1の映像受信側デバイス(10)および前記第2の映像受信側デバイス(10)の一方を選択する手段と、
前記選択した映像受信側デバイス(10)に、前記複数の映像ソースの1つの前記映像を、前記クライアント・デバイス(35)が知っているアドレスを使用して伝送するように命令する手段とを備える、装置(20)。
付記10.前記選択した映像受信側デバイス(10)に前記アドレスを提供する手段をさらに備える、付記9に記載の装置(20)。
付記11.前記第1の映像受信側デバイス(10)および前記第2の映像受信側デバイス(10)の一方がマルチキャストを使用して前記複数の映像ソースの1つの映像を送信している場合に、前記クライアント・デバイス(35)にマルチキャスト・ネットワーク・アドレスが送信され、前記クライアント・デバイス(35)が前記マルチキャスト・ネットワーク・アドレスを使用して前記複数の映像ソースの前記1つの前記映像を受信することができるようにする、付記9に記載の装置(20)。
付記12.前記第1の映像受信側デバイス(10)および前記第2の映像受信側デバイス(10)の一方がユニキャストを使用して前記複数の映像ソースの1つの映像を送信している場合に、前記送信している映像受信側デバイス(10)が、前記ユニキャストをマルチキャストに変換し、前記クライアント・デバイス(35)にマルチキャスト・ネットワーク・アドレスを送信して、前記クライアント・デバイス(35)が前記マルチキャスト・ネットワーク・アドレスを使用して前記複数の映像ソースの1つの前記映像を受信することができるようにする、付記9に記載の装置(20)。
付記13.それぞれの負荷指標が、前記第1の映像受信側デバイス(10)および前記第2の映像受信側デバイス(10)から定期的に受信される、付記9に記載の装置(20)。
付記14.前記それぞれの負荷指標が、前記第1の映像受信側デバイス(10)および前記第2の映像受信側デバイス(10)それぞれの負荷率設定点を示す、付記9に記載の装置(20)。
付記15.前記映像ソースがそれぞれ、テレビジョン・プログラムを提供する、付記9に記載の装置(20)。
付記16.前記それぞれの負荷指標によれば、前記選択された映像受信側デバイス(10)の方が負荷が軽い、付記9に記載の装置(20)。
付記17.複数の映像ソースの1つの映像をダウンロードすることを求める要求をクライアント・デバイス(35)から受信するように動作可能な第1の入力(21)と、
前記複数の映像ソースを受信することができる第1の映像受信側デバイス(10)および第2の映像受信側デバイス(10)からそれぞれの負荷指標を受信するように動作可能な第2の入力(22)と、
前記負荷指標に従って、前記第1の映像受信側デバイス(10)および前記第2の映像受信側デバイス(10)の一方を選択するように動作可能な第1の制御論理と、
前記選択した映像受信側デバイス(10)に、前記複数の映像ソースの1つの前記映像を、前記クライアント・デバイス(35)が知っているアドレスを使用して伝送するように命令するように動作可能な第2の制御論理とを備える、装置(20)。
付記18.前記第1の映像受信側デバイス(10)および前記第2の映像受信側デバイス(10)の一方がマルチキャストを使用して前記複数の映像ソースの1つの映像を送信している場合に、前記クライアント・デバイス(35)にマルチキャスト・ネットワーク・アドレスが送信され、前記クライアント・デバイス(35)が前記マルチキャスト・ネットワーク・アドレスを使用して前記複数の映像ソースの前記1つの前記映像を受信することができるようにする、付記17に記載の装置(20)。
付記19.前記第1の映像受信側デバイス(10)および前記第2の映像受信側デバイス(10)の一方がユニキャストを使用して前記複数の映像ソースの1つの映像を送信している場合に、前記送信している映像受信側デバイス(10)が、ユニキャストをマルチキャストに変換し、前記クライアント・デバイス(35)にマルチキャスト・ネットワーク・アドレスを送信して、前記クライアント・デバイス(35)が前記マルチキャスト・ネットワーク・アドレスを使用して前記複数の映像ソースの1つの前記映像を受信することができるようにする、付記17に記載の装置(20)。
付記20.前記それぞれの負荷指標が、前記第1の映像受信側デバイス(10)および前記第2の映像受信側デバイス(10)から定期的に受信される、付記17に記載の装置(20)。
付記21.前記それぞれの負荷指標が、前記第1の映像受信側デバイス(10)および前記第2の映像受信側デバイス(10)それぞれの負荷率設定点を示す、付記17に記載の装置(20)。
付記22.前記映像ソースがそれぞれ、テレビジョン・プログラムを提供する、付記17に記載の装置(20)。
付記23.前記それぞれの負荷指標によれば、前記選択された映像受信側デバイス(10)の方が負荷が軽い、付記17に記載の装置(20)。
付記24.複数の映像ソースを受信することができる映像受信側デバイスから要求サーバ・デバイスに、前記映像受信側デバイスに関連する負荷を示す負荷指標を送信するステップ(610)と、
要求されたプログラムおよび前記要求されたプログラムに関連するクライアント・デバイスの宛先アドレスを示すデータを、前記要求サーバ・デバイスから受信するステップ(620)と、
前記要求されたプログラムを前記宛先アドレスに伝送するステップ(630)とを含む、方法(600)。
付記25.前記映像ソースがそれぞれ、テレビジョン・チャネルである、付記24に記載の方法(600)。
付記26.前記負荷指標が、前記映像受信側デバイスに関連する負荷率を示す、付記24に記載の方法(600)。
付記27.前記受信ステップが、前記映像受信側デバイスが複数の異なる映像受信側デバイスの中で最も低い負荷を有すると前記要求サーバ・デバイスが判定したのに応答して実行される、付記24に記載の方法(600)。
付記28.前記送信ステップが、定期的に実行される、付記24に記載の方法(600)。
付記29.装置(10)に関連する負荷を示す負荷指標を決定する手段と、
前記負荷指標を要求サーバ・デバイス(20)に送信する手段(11)とを備え、
前記負荷指標に応じて、要求されたプログラムおよび前記要求されたプログラムに関連するクライアント・デバイス(35)の宛先アドレスを示すデータが前記要求サーバ・デバイス(20)から受信され、前記装置(10)が前記要求されたプログラムを前記宛先アドレスに伝送する、装置(10)。
付記30.前記装置(10)が、複数のテレビジョン・チャネルを受信することができる、付記29に記載の装置(10)。
付記31.前記負荷指標が、前記装置(10)に関連する負荷率を示す、付記29に記載の装置(10)。
付記32.前記装置(10)が複数の異なる装置(10)の中で最も低い負荷を有すると前記要求サーバ・デバイス(20)が判定したのに応答して、前記要求されたプログラムおよび前記要求されたプログラムに関連する前記クライアント・デバイス(35)の宛先アドレスが前記要求サーバ・デバイス(20)から受信される、付記29に記載の装置(10)。
付記33.前記複数の異なる装置(10)が、映像受信側デバイスである、付記32に記載の装置(10)。
付記34.前記負荷指標が、定期的に前記要求サーバ・デバイス(20)に送信される、付記29に記載の装置(10)。
付記35.装置(10)に関連する負荷を示す負荷指標を決定するように動作可能な制御論理と、
前記負荷指標を要求サーバ・デバイス(20)に送信するように動作可能なインタフェース(11)とを備え、
前記負荷指標に応じて、要求されたプログラムおよび前記要求されたプログラムに関連するクライアント・デバイス(35)の宛先アドレスを示すデータが前記要求サーバ・デバイス(20)から受信され、前記装置(10)が前記要求されたプログラムを前記宛先アドレスに伝送する、装置(10)。
付記36.前記装置(10)が、複数のテレビジョン・チャネルを受信することができる、付記35に記載の装置(10)。
付記37.前記負荷指標が、前記装置(10)に関連する負荷率を示す、付記35に記載の装置(10)。
付記38.前記装置(10)が複数の異なる装置(10)の中で最も低い負荷を有すると前記要求サーバ・デバイス(20)が判定したのに応答して、前記要求されたプログラムおよび前記要求されたプログラムに関連する前記クライアント・デバイス(35)の宛先アドレスが前記要求サーバ・デバイス(20)から受信される、付記35に記載の装置(10)。
付記39.前記複数の異なる装置(10)が、映像受信側デバイスである、付記38に記載の装置(10)。
付記40.前記負荷指標が、定期的に前記要求サーバ・デバイス(20)に送信される、付記35に記載の装置(10)。
付記41.プログラムを求める要求をクライアント・デバイスから要求サーバ・デバイスに送信するステップ(710)と、
前記要求に応答して、前記クライアント・デバイスが前記要求サーバ・デバイスからアドレスを受信するステップ(720)と、
前記アドレスを使用して、選択された映像受信側デバイスを介して、前記クライアント・デバイスが前記要求したプログラムを受信するステップ(730)とを含み、
前記要求サーバ・デバイスが、前記選択された映像受信側デバイスを、複数の映像受信側デバイスの中から、前記複数の映像受信側デバイスからのそれぞれの負荷指標に基づいて選択する、方法(700)。
付記42.前記それぞれの負荷指標が、前記複数の映像受信側デバイスそれぞれの負荷率設定点を示す、付記41に記載の方法(700)。
付記43.前記複数の映像受信側デバイスが、複数のテレビジョン・チャネルに同調することができる、付記41に記載の方法(700)。
付記44.前記それぞれの負荷指標によれば、前記選択された映像受信側デバイスはより軽い負荷を有する、付記41に記載の方法(700)。
付記45.プログラムを求める要求を要求サーバ・デバイス(20)に送信する手段と、
前記要求に応答して、前記要求サーバ・デバイス(20)からアドレスを受信する手段と、
前記アドレスを使用して、選択された映像受信側デバイス(10)を介して、前記要求したプログラムを受信する手段とを備え、
前記要求サーバ・デバイス(20)が、前記選択された映像受信側デバイス(10)を、複数の映像受信側デバイス(10)の中から、前記複数の映像受信側デバイスからのそれぞれの負荷指標に基づいて選択する、装置(35)。
付記46.前記それぞれの負荷指標が、前記複数の映像受信側デバイス(10)それぞれの負荷率設定点を示す、付記45に記載の装置(35)。
付記47.前記複数の映像受信側デバイス(10)が、複数のテレビジョン・チャネルにそれぞれ同調することができる、付記45に記載の装置(35)。
付記48.前記それぞれの負荷指標によれば、前記選択された映像受信側デバイス(10)はより軽い負荷を有する、付記45に記載の装置(35)。
付記49.プログラムを求める要求を要求サーバ・デバイス(20)に送信するように動作可能な出力と、
前記要求に応答して、前記要求サーバ・デバイス(20)からアドレスを受信し、前記アドレスを使用して、選択された映像受信側デバイス(10)を介して、前記要求したプログラムを受信するように動作可能な入力とを備え、
前記要求サーバ・デバイス(20)が、前記選択された映像受信側デバイス(10)を、複数の映像受信側デバイス(10)の中から、前記複数の映像受信側デバイスからのそれぞれの負荷指標に基づいて選択する、装置(35)。
付記50.前記それぞれの負荷指標が、前記複数の映像受信側デバイス(10)それぞれの負荷率設定点を示す、付記49に記載の装置(35)。
付記51.前記複数の映像受信側デバイス(10)が、複数のテレビジョン・チャネルにそれぞれ同調することができる、付記49に記載の装置(35)。
付記52.前記それぞれの負荷指標によれば、前記選択された映像受信側デバイス(10)はより軽い負荷を有する、付記49に記載の装置(35)。

Claims (13)

  1. プロキシ・サーバ・ゲートウェイである要求サーバ・デバイスにおいて、
    複数のチャネルの1つの映像をダウンロードすることを求める要求をクライアント・デバイスから受信するステップと、
    それぞれが前記複数のチャネルに同調することができる個別のチューナを有する第1の映像受信側デバイスおよび第2の映像受信側デバイスからそれぞれの負荷指標を受信するステップであって、前記第1の映像受信側デバイス及び前記第2の映像受信側デバイスは、前記クライアント・デバイスに前記映像を伝送する機能を提供するゲートウェイである、ステップと、
    前記負荷指標に従って、前記第1の映像受信側デバイスおよび前記第2の映像受信側デバイスの一方を選択するステップと、
    前記選択した映像受信側デバイスに、チャネルを同調して前記映像を受信するように要求するステップと、
    前記選択した映像受信側デバイスに、前記映像を、前記クライアント・デバイスが知っているアドレスを使用して伝送するように命令するステップであって、前記選択した映像受信側デバイスは、前記プロキシ・サーバ・ゲートウェイを回避して前記映像を前記クライアント・デバイスに伝送する、ステップと、を含む、前記方法。
  2. 前記選択した映像受信側デバイスに前記アドレスを提供するステップをさらに含む、請求項1に記載の方法。
  3. 前記第1の映像受信側デバイスおよび前記第2の映像受信側デバイスの一方がマルチキャストを使用して前記複数の映像ソースのうちの1つからの映像を送信している場合に、前記クライアント・デバイスにマルチキャスト・ネットワーク・アドレスを送信して、前記クライアント・デバイスが前記マルチキャスト・ネットワーク・アドレスを使用して前記複数の映像ソースのうちの前記1つからの前記映像を受信することができるようにするステップ、もしくは、
    前記第1の映像受信側デバイスおよび前記第2の映像受信側デバイスの一方がユニキャストを使用して前記複数の映像ソースのうちの1つからの映像を送信している場合に、前記送信している映像受信側デバイスに、ユニキャストをマルチキャストに変換するように要求し、前記クライアント・デバイスにマルチキャスト・ネットワーク・アドレスを送信して、前記クライアント・デバイスが前記マルチキャスト・ネットワーク・アドレスを使用して前記複数の映像ソースのうちの1つからの前記映像を受信することができるようにするステップ、をさらに含む、請求項1に記載の方法。
  4. それぞれの負荷指標を受信する前記ステップが、定期的に実行される、請求項1に記載の方法。
  5. 前記それぞれの負荷指標が、前記第1の映像受信側デバイスおよび前記第2の映像受信側デバイスそれぞれの負荷率設定点を示す、請求項1に記載の方法。
  6. 前記それぞれの負荷指標によれば、前記選択された映像受信側デバイスの方が負荷が軽い、請求項1に記載の方法。
  7. 請求項1乃至6のいずれか1項に記載の方法を行う、装置。
  8. プロキシ・サーバ・ゲートウェイである要求サーバ・デバイスと、それぞれが複数のチャネルに同調することができる個別のチューナを有する複数の映像受信側デバイスとを備えるシステムにおいて、クライアント・デバイスにより行われる方法であって、前記複数の映像受信側デバイスは、前記クライアント・デバイスに前記映像を伝送するチューナ管理及び映像データ・ポンプ機能を提供するゲートウェイであり、前記要求サーバ・デバイスは、前記映像受信側デバイスのそれぞれの負荷指標に基づいて前記複数の映像受信側デバイスの一つを選択し、クライアント・デバイスからの要求を供給し、
    前記複数のチャネルのうちの1つにより伝送されたプログラムを求める要求をクライアント・デバイスから前記要求サーバ・デバイスに送信するステップと、
    前記要求に応答して、前記クライアント・デバイスが前記要求サーバ・デバイスからアドレスを受信するステップと、
    前記アドレスを使用して、選択された映像受信側デバイスを介して、前記クライアント・デバイスが前記要求したプログラムを受信するステップであって、前記選択した映像受信側デバイスは、前記プロキシ・サーバ・ゲートウェイを回避して前記映像を前記クライアント・デバイスに伝送する、ステップと、
    を含む、前記方法。
  9. 前記それぞれの負荷指標が、前記複数の映像受信側デバイスそれぞれの負荷率設定点を示す、請求項8に記載の方法。
  10. 前記複数の映像受信側デバイスが、それぞれ複数のテレビジョン・チャネルに同調することができる、請求項8に記載の方法。
  11. 前記それぞれの負荷指標によれば、前記選択された映像受信側デバイスはより軽い負荷を有する、請求項8に記載の方法。
  12. 前記アドレスは、マルチキャスト・ネットワーク・アドレスである、請求項8に記載の方法。
  13. 請求項8乃至12のいずれか1項に記載の方法を行う、装置。
JP2010548654A 2008-02-29 2008-12-12 負荷分散信号分配を行う方法および装置 Expired - Fee Related JP5503560B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US6758508P 2008-02-29 2008-02-29
US61/067,585 2008-02-29
PCT/US2008/013640 WO2009108176A1 (en) 2008-02-29 2008-12-12 Methods and apparatuses for providing load balanced signal distribution

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2014051879A Division JP5873124B2 (ja) 2008-02-29 2014-03-14 負荷分散信号分配を行う方法および装置

Publications (3)

Publication Number Publication Date
JP2011519492A JP2011519492A (ja) 2011-07-07
JP2011519492A5 JP2011519492A5 (ja) 2012-02-02
JP5503560B2 true JP5503560B2 (ja) 2014-05-28

Family

ID=40403982

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2010548654A Expired - Fee Related JP5503560B2 (ja) 2008-02-29 2008-12-12 負荷分散信号分配を行う方法および装置
JP2014051879A Expired - Fee Related JP5873124B2 (ja) 2008-02-29 2014-03-14 負荷分散信号分配を行う方法および装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2014051879A Expired - Fee Related JP5873124B2 (ja) 2008-02-29 2014-03-14 負荷分散信号分配を行う方法および装置

Country Status (7)

Country Link
US (1) US9015781B2 (ja)
EP (1) EP2260636A1 (ja)
JP (2) JP5503560B2 (ja)
KR (1) KR101531960B1 (ja)
CN (2) CN105306586A (ja)
BR (1) BRPI0822217B1 (ja)
WO (1) WO2009108176A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014147088A (ja) * 2008-02-29 2014-08-14 Thomson Licensing 負荷分散信号分配を行う方法および装置

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100058424A1 (en) * 2008-08-26 2010-03-04 Comcast Cable Holdings, Llc System and method for controlling signal traffic peaks on a video interactive network
US8555322B2 (en) 2009-01-23 2013-10-08 Microsoft Corporation Shared television sessions
EP2540037B1 (en) * 2010-02-23 2023-08-02 LG Electronics Inc. A method and an apparatus for session routing in home network system
US8379562B2 (en) * 2010-10-12 2013-02-19 Ian Pitts Paging relay controller and methods thereof
CN102624651A (zh) * 2012-03-08 2012-08-01 北京神州数码思特奇信息技术股份有限公司 网关通信方法及装置
US8943543B2 (en) 2012-08-09 2015-01-27 Charter Communications Operating, Llc System and method bridging cloud based user interfaces
FR3011415A1 (fr) * 2013-10-01 2015-04-03 Orange Procede de diffusion d'identifiants de sources multicast
US10033616B1 (en) * 2014-03-27 2018-07-24 Juniper Networks, Inc. State synchronization for global control in a distributed security system
CN104980803A (zh) * 2015-07-29 2015-10-14 深圳市芯智科技有限公司 一种自主中间件智能dvbs2机顶盒系统及处理方法
CN107241374B (zh) 2016-03-28 2020-01-31 财团法人工业技术研究院 负载平衡系统、负载平衡装置及拓朴管理方法
US10432709B2 (en) 2016-03-28 2019-10-01 Industrial Technology Research Institute Load balancing method, load balancing system, load balancing device and topology reduction method
CN107920045A (zh) * 2016-10-08 2018-04-17 中兴通讯股份有限公司 一种会话描述协议消息生成方法和装置

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5633810A (en) * 1995-12-14 1997-05-27 Sun Microsystems, Inc. Method and apparatus for distributing network bandwidth on a media server
US6195680B1 (en) 1998-07-23 2001-02-27 International Business Machines Corporation Client-based dynamic switching of streaming servers for fault-tolerance and load balancing
US6986156B1 (en) * 1999-06-11 2006-01-10 Scientific Atlanta, Inc Systems and methods for adaptive scheduling and dynamic bandwidth resource allocation management in a digital broadband delivery system
WO2001022688A1 (en) * 1999-09-21 2001-03-29 Streaming21, Inc. Method and system for providing streaming media services
US6678740B1 (en) * 2000-01-14 2004-01-13 Terayon Communication Systems, Inc. Process carried out by a gateway in a home network to receive video-on-demand and other requested programs and services
US7133922B1 (en) * 2000-08-07 2006-11-07 The Hong Kong University Of Science And Technology Method and apparatus for streaming of data
US6990338B2 (en) * 2001-06-11 2006-01-24 The Boeing Company Mobile wireless local area network and related methods
EP1407356B1 (en) * 2001-07-03 2016-09-07 Accenture Global Services Limited Broadband communications
US20030174648A1 (en) * 2001-10-17 2003-09-18 Mea Wang Content delivery network by-pass system
US20090222875A1 (en) 2002-04-18 2009-09-03 Cheng David J Distributed tuner allocation and conflict resolution
US7296069B2 (en) * 2002-05-08 2007-11-13 Hewlett-Packard Development Company, L.P. Method and system for network fault monitoring with linux
JP3809813B2 (ja) * 2002-08-21 2006-08-16 日本電信電話株式会社 コンテンツ配信方法およびこれを用いるコンテンツ配信システム
JP2004158969A (ja) * 2002-11-05 2004-06-03 Nec Corp 映像システム、映像装置、プログラム
US6947403B2 (en) 2003-06-27 2005-09-20 Nokia Corporation Advanced whitener-rake receiver for WCDMA terminal
US9807460B2 (en) * 2003-08-11 2017-10-31 Arris Enterprises, Inc. Optimal provisioning and management of bandwidth in a video-on-demand services architecture
US7554954B2 (en) * 2003-08-12 2009-06-30 Telefonaktiebolaget Lm Ericsson (Publ) Per user rate control for the reverse link in CDMA networks
US20050250511A1 (en) 2004-05-05 2005-11-10 Weimin Xiao Method for rate control signaling to facilitate UE uplink data transfer
CN101084682A (zh) * 2004-05-05 2007-12-05 摩托罗拉公司 用于速率控制信令以促进ue上行链路数据传输的方法
US8370888B2 (en) * 2004-06-22 2013-02-05 University Of Southern California Hydra: high-performance data recording architecture for streaming media
EP1619853A1 (en) 2004-07-21 2006-01-25 Siemens Mobile Communications S.p.A. RTSP proxy extended to detect streaming session events and report to valued streaming applications the notified ones
JP2008508807A (ja) * 2004-07-30 2008-03-21 松下電器産業株式会社 分散共有およびライブテレビ録画のためのシステムおよび方法
US7380264B2 (en) * 2004-08-13 2008-05-27 Microsoft Corporation Systems for unifying heterogeneous multimedia tuners
CN101091175B (zh) * 2004-09-16 2012-03-14 辉达公司 负载均衡
MX2007008251A (es) * 2005-01-05 2007-08-22 Thomson Licensing Un metodo y sistema para asignar recursos de recepcion en un servidor de pasarela.
FR2884669A1 (fr) * 2005-04-15 2006-10-20 Thomson Licensing Sa Appareil et procede de gestion des services recus au sein d'un reseau local
JP4498315B2 (ja) 2005-07-28 2010-07-07 Hoya株式会社 光学ガラスおよび光学素子とその製造方法
US7664856B2 (en) 2005-07-28 2010-02-16 Microsoft Corporation Dynamically balancing user experiences in a multi-user computing system
US7688788B2 (en) * 2005-10-11 2010-03-30 Microsoft Corporation Congestion level and signal quality based estimator for bit-rate and automated load balancing for WLANS
FR2895182A1 (fr) 2005-12-20 2007-06-22 Thomson Licensing Sas Procede de transmission de services de television numerique, passerelle et reseau correspondants
US7669222B2 (en) 2006-01-17 2010-02-23 Microsoft Corporation Virtual tuner management
CN101438256B (zh) * 2006-03-07 2011-12-21 索尼株式会社 信息处理设备、信息通信系统、信息处理方法
US7996032B2 (en) * 2006-03-27 2011-08-09 Qualcomm Incorporated Power control and resource management in orthogonal wireless systems
SE530774C2 (sv) * 2006-12-01 2008-09-09 Teliasonera Ab System och metod för hantering av bandbredd i ett hemnät för television
CN100581173C (zh) * 2006-12-01 2010-01-13 清华大学 一种视频网格自适应负载均衡调度方法
JP5503560B2 (ja) * 2008-02-29 2014-05-28 トムソン ライセンシング 負荷分散信号分配を行う方法および装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014147088A (ja) * 2008-02-29 2014-08-14 Thomson Licensing 負荷分散信号分配を行う方法および装置

Also Published As

Publication number Publication date
BRPI0822217B1 (pt) 2020-11-10
BRPI0822217A2 (pt) 2015-06-23
EP2260636A1 (en) 2010-12-15
US9015781B2 (en) 2015-04-21
JP5873124B2 (ja) 2016-03-01
WO2009108176A1 (en) 2009-09-03
JP2011519492A (ja) 2011-07-07
KR20100123703A (ko) 2010-11-24
CN105306586A (zh) 2016-02-03
JP2014147088A (ja) 2014-08-14
CN101946491A (zh) 2011-01-12
KR101531960B1 (ko) 2015-06-26
US20100333150A1 (en) 2010-12-30

Similar Documents

Publication Publication Date Title
JP5873124B2 (ja) 負荷分散信号分配を行う方法および装置
US8774062B2 (en) IP multicast management and service provision system and method
US9419862B2 (en) System and method for discovering and verifying a hybrid fiber-coaxial topology in a cable network environment
US8522288B2 (en) IP broadcasting system and a multicast group management apparatus for the same
EP1944944A1 (en) System and method for combining pull and push modes
US10521213B2 (en) Technique for efficiently upgrading software in a video content network
EP3175580B1 (en) System, gateway and method for an improved quality of service, qos, in a data stream delivery
EP3095229B1 (en) Method and nodes for configuring a communication path for a media service
CN104270604A (zh) 获取ipc的实时视频数据的方法、系统及装置
CN110462600B (zh) 用于联网媒体分发的系统、方法和设备
WO2009021460A1 (fr) Procédé de rapport d'un résultat de mise en œuvre de politique, système de communication par réseau et équipement
RU2463718C2 (ru) Механизмы, предназначенные для обнаружения и уменьшения отказов в устройстве шлюза
US9813763B2 (en) Application for in-field discovery, diagnosis and repair of a set-top device
KR20090039970A (ko) Iptv 네트워크 장애 관리 방법 및 시스템
KR20190103770A (ko) Iptv 서비스의 이상 유무를 판단하는 방법, 네트워크 장비 및 모니터링 서버
JP2002217973A (ja) マルチキャスト通信システム
JP2020123831A (ja) ノード管理システム、ノード管理方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111202

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111206

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20111221

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121218

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20130116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130116

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130315

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130716

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131016

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140116

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140314

R150 Certificate of patent or registration of utility model

Ref document number: 5503560

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees