(57)【特許請求の範囲】
【請求項１】
メディアクライアント（１００）、メディアサーバ（２００）、およびデータプロセッサ（２５０）を備えるネットワーク内の送信特性を監視するための方法であって、
前記データプロセッサ（２５０）との接続を確立するステップ（３００）であって、前記接続が、前記メディアクライアント（１００）と前記メディアサーバ（２００）との間の第１の接続セグメント、および前記メディアサーバ（２００）と前記データプロセッサ（２５０）との間の第２の接続セグメントを含む、確立するステップと、
前記メディアクライアント（１００）と前記データプロセッサ（２５０）との間にストリーミングメディアコンテンツを交換するための終端間暗号化チャネルを確立するステップ（３１０）であって、前記終端間暗号化チャネルが、前記接続によって搬送される、確立するステップと、
前記終端間暗号化チャネルを介して前記データプロセッサ（２５０）にプロービングメッセージを送信するステップ（３２０）であって、前記プロービングメッセージが、前記プロービングメッセージの送信時刻を指示する第１のタイムスタンプを搬送する、送信するステップと、
前記データプロセッサ（２５０）から前記プロービングメッセージに対する応答を受信するステップ（３３０）であって、前記応答が、前記データプロセッサにおける前記プロービングメッセージの到着時刻を指示する第２のタイムスタンプを搬送する、受信するステップと、
待ち時間情報を導出するステップ（３５０）であって、前記待ち時間情報が、前記第２のタイムスタンプと前記第１のタイムスタンプとの間の差から計算される、前記メディアクライアント（１００）と前記データプロセッサ（２５０）との間の前記接続のアップストリーム待ち時間特性を含む、導出するステップと
を前記メディアクライアントに含む、方法。
【請求項２】
前記応答が、前記応答の送信時刻を指示する第３のタイムスタンプをさらに搬送し、前記方法が、前記応答の到着時刻を指示する第４のタイムスタンプを決定するステップ（３４０）をさらに含み、前記待ち時間情報が、前記第４のタイムスタンプと前記第３のタイムスタンプとの間の差から計算される、前記データプロセッサ（２５０）と前記メディアクライアント（１００）との間の前記接続のダウンストリーム待ち時間特性をさらに含む、請求項１に記載の方法。
【請求項３】
前記第２のタイムスタンプおよび前記第３のタイムスタンプが、前記応答内で単一の値として表される、請求項２に記載の方法。
【請求項４】
前記プロービングメッセージを前記送信するステップ、前記応答を前記受信するステップ、および待ち時間情報を前記導出するステップを定期的に繰り返すステップと、
前記繰返し導出された待ち時間情報からジッタ情報を導出するステップ（３６０）と
をさらに含む、請求項１から３のいずれかに記載の方法。
【請求項５】
前記ジッタ情報が、変動係数を含む、請求項４に記載の方法。
【請求項６】
前記ジッタ情報が所定のレベルを超える（３７０）ジッタを指示するときに、前記メディアサーバ（２００）に、ストリーム特性の変更（３９０）要求を送信するステップ（３８０）をさらに含む、請求項４または５に記載の方法。
【請求項７】
変更されることになる（３９０）前記ストリーム特性が、フレームレート、画像解像度および圧縮比のうちの１つを含む、請求項６に記載の方法。
【請求項８】
ストリーミングメディアコンテンツの前記交換が、ＲＴＭＰプロトコルによって行われる、請求項１から７のいずれかに記載の方法。
【請求項９】
プロセッサに請求項１から８のいずれかに記載の方法を実行させるように構成されるコンピュータプログラム。
【請求項１０】
ネットワークを介してメディアストリームを受信するための装置（１００）であって、
データプロセッサ（２５０）との接続を確立する（３１０）ように構成されるプロトコルエンジン（１１０）であって、前記接続が、前記メディアクライアント（１００）と前記メディアサーバ（２００）との間の第１の接続セグメント、および前記メディアサーバ（２００）と前記データプロセッサ（２５０）との間の第２の接続セグメントを含む、プロトコルエンジンと、
前記メディアクライアント（１００）と前記データプロセッサ（２５０）との間にストリーミングメディアコンテンツを交換するための終端間暗号化チャネルを確立する（３２０）ように構成される暗号化エージェント（１２０）であって、前記終端間暗号化チャネルが、前記接続によって搬送される、暗号化エージェントと、
クロック（１３０）と、
前記クロック（１３０）および前記暗号化エージェント（１１０）に動作可能に結合されるプロービングエージェント（１４０）であって、前記終端間暗号化チャネルを介して前記プロセッサ（２５０）にプロービングメッセージを送信する（３３０）ことであり、前記プロービングメッセージが、前記メッセージの送信時刻を指示する第１のタイムスタンプを搬送する、送信すること、および前記データプロセッサ（２５０）から前記プロービングメッセージに対する応答を受信することであり、前記応答が、前記データプロセッサにおける前記プロービングメッセージの到着時刻を指示する第２のタイムスタンプを搬送する、受信することを行うように構成されるプロービングエージェントと、
前記プロービングエージェント（１４０）に動作可能に結合される待ち時間導出エージェント（１５０）であって、前記第２のタイムスタンプと前記第１のタイムスタンプとの間の差から、前記メディアクライアント（１００）と前記データプロセッサ（２５０）との間の前記接続のアップストリーム待ち時間特性を計算する（３５０）ように構成される、待ち時間導出エージェントと
を備える、装置。
【請求項１１】
前記応答が、前記データプロセッサによる前記応答の送信時刻を指示する第３のタイムスタンプを搬送し、前記待ち時間導出エージェント（１５０）が、前記応答の受信時刻を指示する第４のタイムスタンプを決定し、前記第４のタイムスタンプと前記第３のタイムスタンプとの間の差から前記データプロセッサ（２５０）と前記メディアクライアント（１００）との間の前記接続のダウンストリーム待ち時間特性を計算する（３５０）ようにさらに構成される、請求項１０に記載の装置。
【請求項１２】
前記第２のタイムスタンプおよび前記第３のタイムスタンプが、前記応答において単一の値として表される、請求項１１に記載の装置。
【請求項１３】
前記待ち時間導出エージェント（１５０）が、繰返し導出された待ち時間情報からジッタ情報を導出する（３６０）ようにさらに構成される、請求項１０から１２のいずれかに記載の装置。
【請求項１４】
前記ジッタ情報が、変動係数を含む、請求項１３に記載の装置。
【請求項１５】
前記ジッタ情報が所定のレベルを超える（３７０）ジッタを指示するときに、前記プロトコルエンジン（１１０）が、前記メディアサーバ（２００）に、ストリーム特性の変更（３９０）要求を送信するようにさらに構成される、請求項１３または１４に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストリーミングメディアネットワークに関し、詳細には、そのようなネットワーク内の送信特性を監視することに関する。
【背景技術】
【０００２】
ＲＴＭＰなどのストリーミングプロトコルによって用いられるアーキテクチャは、メディアクライアントと対話するためにメディアサーバを必要とする。それゆえ、任意のメディア処理クラウド（これ以降、包括的に「データプロセッサ」と呼ばれる）が、いくつかのこれらのサーバに接続される必要がある。複数のユーザとのインタラクティブアプリケーションでは、これらのメディアサーバのうちの１つまたは複数を、クライアントからデータプロセッサへのストリーミング、およびその逆のストリーミングのために用いることができる。メディアクライアントとデータプロセッサとの間のデータトランスポートを提供するネットワークの組全体は、これ以降、「トランスポートネットワーク」と呼ばれる。
【０００３】
現在、帯域幅、遅延、バースト性、パケット損失確率などの観点から、マルチメディアストリーミングのために使用されている全トランスポートネットワークを特徴付ける満足のいく機構は存在しない。これらのパラメータはエンドユーザによって経験される品質に影響を及ぼす。
【発明の概要】
【課題を解決するための手段】
【０００４】
本発明の一態様によれば、メディアクライアント、メディアサーバ、およびデータプロセッサを備えるネットワークにおいて送信特性を監視するための方法が提供され、本方法は、以下のステップ：データプロセッサとの接続を確立するステップであって、接続が、メディアクライアントとメディアサーバとの間の第１の接続セグメント、およびメディアサーバとデータプロセッサとの間の第２の接続セグメントを含む、確立するステップと、メディアクライアントとデータプロセッサとの間にストリーミングメディアコンテンツを交換するための終端間暗号化チャネルを確立するステップであって、終端間暗号化チャネルが、接続によって搬送される、確立するステップと、終端間暗号化チャネルを介してデータプロセッサにプロービングメッセージを送信するステップであって、プロービングメッセージが、プロービングメッセージの送信時刻を指示する第１のタイムスタンプを搬送する、送信するステップと、データプロセッサからプロービングメッセージに対する応答を受信するステップであって、応答が、データプロセッサにおけるプロービングメッセージの到着時刻を指示する第２のタイムスタンプを搬送する、受信するステップと、待ち時間情報を導出するステップであって、待ち時間情報が、第２のタイムスタンプと第１のタイムスタンプとの間の差から計算される、メディアクライアントとデータプロセッサとの間の接続のアップストリーム待ち時間特性を含む、導出するステップとをメディアクライアントに含む。
【０００５】
本発明の実施形態は、ＲＴＭＰなどのストリーミングプロトコルにおいて、監視または管理のために通常用いられるメッセージタイプが、ファイアウォール、ゲートウェイ、プロキシなどの存在に起因して、ストリーミングサーバまたはデータプロセッサに全く届かないという本発明者らの洞察に基づく。本発明の実施形態は、リモートプロシージャコールを呼び出すなどの特定の専用タスクのために用いられる、メディアクライアントとデータプロセッサとの間の終端間トンネリングが、送信チャネル特性を監視するために都合よく用いることができるという洞察にさらに基づく。
【０００６】
本発明の実施形態は、メディアクライアントとデータプロセッサとの間のアップストリーム経路全体にわたる待ち時間値を求めることができるという利点をさらに提示する。
【０００７】
本発明の実施形態は、異なる（帯域外管理）チャネル上ではなく、コンテンツを転送するために実際に用いられる同じチャネル上で待ち時間測定を実行するという利点をさらに提示する。
【０００８】
本発明による方法の一実施形態では、応答が、応答の送信時刻を指示する第３のタイムスタンプをさらに搬送し、本方法は、応答の到着時刻を指示する第４のタイムスタンプを決定するステップをさらに含み、待ち時間情報が、第４のタイムスタンプと第３のタイムスタンプとの間の差から計算される、データプロセッサとメディアクライアントとの間の接続のダウンストリーム待ち時間特性をさらに含む。
【０００９】
本発明の本実施形態は、データプロセッサとメディアクライアントとの間のダウンストリーム経路全体にわたる待ち時間値を求めることができるという利点をさらに提示する。
【００１０】
本発明による方法の一実施形態では、第２のタイムスタンプおよび第３のタイムスタンプは応答において単一の値として表される。
【００１１】
本実施形態は、応答が、プロービングメッセージ受信の概ね直後にデータプロセッサによって送信されたとわかっているとき、アップストリーム経路とダウンストリーム経路の両方のための待ち時間を求めるのに単一のタイムスタンプで十分であるという洞察に基づく。
【００１２】
一実施形態では、本発明による方法は、プロービングメッセージを送信するステップ、応答を受信するステップ、および待ち時間情報を導出するステップを定期的に繰り返すステップと、繰返し導出された待ち時間情報からジッタ情報を導出するステップとをさらに含む。
【００１３】
本実施形態は、収集された待ち時間情報から導出されたジッタ情報を提供するという利点がある。
【００１４】
本発明による方法の一実施形態では、ジッタ情報は変動係数を含む。
【００１５】
一実施形態では、本発明による方法は、ジッタ情報が所定のレベルを超えるジッタを指示するときに、メディアサーバに、ストリーム特性の変更要求を送信するステップをさらに含む。
【００１６】
本実施形態は、ジッタが、ストリーミングメディアサービスのための経験品質に著しく影響を及ぼすパラメータであるという本発明者らの洞察に基づく。したがって、本実施形態は、ジッタがエンドユーザの経験に悪影響を及ぼすことが予想されるレベルに達するときに、ストリーミングパラメータを適応させるという利点を提供する。
【００１７】
本発明による方法の一実施形態では、変更されることになるストリーム特性は、フレームレート、画像解像度および圧縮比のうちの１つを含む。
【００１８】
本発明の一実施形態では、ストリーミングメディアコンテンツの交換は、ＲＴＭＰプロトコルによって行われる。
【００１９】
本発明の一態様によれば、プロセッサに上記のような方法を実行させるように構成されるコンピュータプログラムが提供される。
【００２０】
本発明の一態様によれば、ネットワークを介してメディアストリームを受信するための装置が提供され、その装置は：データプロセッサとの接続を確立するように構成されるプロトコルエンジンであって、接続が、メディアクライアントとメディアサーバとの間の第１の接続セグメント、およびメディアサーバとデータプロセッサとの間に第２の接続セグメントを含む、プロトコルエンジンと、装置とデータプロセッサとの間にストリーミングメディアコンテンツを交換するための終端間暗号化チャネルを確立するように構成される暗号化エージェントであって、終端間暗号化チャネルが、接続によって搬送される、暗号化エージェントと、クロックと、クロックおよび暗号化エージェントに動作可能に結合されるプロービングエージェントであって、終端間暗号化チャネルを介してデータプロセッサにプロービングメッセージを送信することであり、プロービングメッセージが、メッセージの送信時刻を指示する第１のタイムスタンプを搬送する、送信すること、およびデータプロセッサからプロービングメッセージに対する応答を受信することであり、応答が、データプロセッサにおけるプロービングメッセージの到着時刻を指示する第２のタイムスタンプを搬送する、受信することを行うように構成されたプロービングエージェントと、プロービングエージェントに動作可能に結合される待ち時間導出エージェントであって、第２のタイムスタンプと第１のタイムスタンプとの間の差から、メディアクライアントとデータプロセッサとの間の接続のアップストリーム待ち時間特性を計算するように構成される待ち時間導出エージェントとを備える。
【００２１】
本発明による装置の一実施形態では、応答が、データプロセッサによるその応答の送信時刻を指示する第３のタイムスタンプを搬送し、待ち時間導出エージェントが、その応答の到着時刻を指示する第４のタイムスタンプを決定し、第４のタイムスタンプと第３のタイムスタンプとの間の差から、データプロセッサとメディアクライアントとの間の接続のダウンストリーム待ち時間特性を計算するようにさらに構成される。
【００２２】
本発明による装置の一実施形態では、第２のタイムスタンプおよび第３のタイムスタンプは応答において単一の値として表される。
【００２３】
本発明による装置の一実施形態では、待ち時間導出エージェントは、繰返し導出された待ち時間情報からジッタ情報を導出するようにさらに構成される。
【００２４】
本発明による装置の一実施形態では、ジッタ情報は変動係数を含む。
【００２５】
本発明による装置の一実施形態では、プロトコルエンジンは、ジッタ情報が所定のレベルを超えるジッタを指示するときに、メディアサーバに、ストリーム特性の変更要求を送信するようにさらに構成される。
【００２６】
本発明の実施形態によるプログラムおよび装置の利点は、必要に応じて変更を加えるが、本発明の実施形態による対応する方法に関して先に示された利点に対応する。
【００２７】
本発明の実施形態による装置および／または方法のうちのいくつかの実施形態が、一例にすぎないが、図面を参照しながらここで説明される。
【図面の簡単な説明】
【００２８】
【図１】本発明を配備することができる例示的なネットワークの概観図である。
【図２】本発明の一実施形態による装置のブロック図である。
【図３】本発明の一実施形態による方法の流れ図である
【発明を実施するための形態】
【００２９】
図１は、本発明を配備することができる例示的なネットワークを示す。この図は、メディアクライアントとしての役割を果たし、第１のネットワークセグメントを介してメディアサーバ２００に接続される装置１００を含み、メディアサーバはサービスプロバイダ２５０に対するフロントエンドとしての役割を果たし、メディアクライアント１００およびデータプロセッサ２５０に向かう関連するプロトコルメッセージを終端する。本明細書において用いられるときに、用語「データプロセッサ」は、コンテンツを格納し、ストリーミングするために用いられ、１つまたは複数のサーバからなる場合もあるハードウェアインフラストラクチャを指している。このインフラストラクチャは、「クラウド内に」分散される場合がある。一般性を失うことなく、図１には、１つのメディアクライアント１００および１つのメディアサーバ２００のみが示される。
【００３０】
本願全体を通して、メディアクライアント１００からメディアサーバ２００またはデータプロセッサ２５０への方向における送信は「アップストリーム」通信と呼ばれる。メディアサーバ２００またはデータプロセッサ２５０からメディアクライアント１００への方向における送信は、「ダウンストリーム」通信と呼ばれる。
【００３１】
メディアクライアント１００とデータプロセッサ２５０との間の接続は第１のセグメント（装置１００とメディアサーバ２００との間）および第２のセグメント（メディアサーバ２００とデータプロセッサ２５０との間）を含む。各セグメントは実際には、ブリッジおよび／またはルータによって相互接続されるいくつかの物理リンクからなる場合もあるが、本発明との関連性はない。
【００３２】
ＲＴＭＰプロトコルは、クライアントとサーバとの間で交換されることになり、アップストリームリンクまたはダウンストリームリンクの状態を推測するために用いることができる特定の制御メッセージ（「ピング（Ｐｉｎｇ）」メッセージ）を定義する。それらのメッセージがＲＴＭＰ標準規格において完全には記述されていないので、かつ第１のセグメントしか取り扱わないので、そのメッセージ交換はトランスポートネットワークを特徴付けるのに十分ではない。
【００３３】
さらに、第１のセグメントは、メディアクライアント１００とメディアサーバ２００との間に、制御トラフィックまたは監視用トラフィックを含む、ある種のトラフィックを制限するファイアウォール、プロキシおよびゲートウェイなどのネットワーク要素を備える場合がある。
【００３４】
このタイプの制限は、後に詳細に説明されるように、メディアクライアント１００とデータプロセッサ２５０との間での終端間暗号化通信を用いることによって、本発明の実施形態によって克服されるので有利である。
【００３５】
本発明の一実施形態による装置１００が、図２に示されるブロック図を参照しながら、ここでさらに詳細に説明される。装置１００は、概して、ネットワークを介してメディアストリームを受信するのに適しており、これ以降、メディアクライアント１００と呼ばれる。そのようなメディアクライアントの知られている例は、アドビ（Ｒ）フラッシュ（Ｒ）プレーヤまたはマイクロソフト（Ｒ）シルバーライト（Ｒ）プレーヤを備えるコンピューティングデバイスを含む。
【００３６】
メディアクライアント１００は、データプロセッサ２５０との接続を確立する（３１０）ように構成されるプロトコルエンジン１１０を備える。プロトコルエンジン１１０は、物理層から、コンテンツストリーミングを実行する責任を担うプロトコルまでのネットワーク接続を与えるために必要なハードウェアおよびソフトウェアを含む。最も低い層において、プロトコルエンジン１１０は通常、対応するデータリンクロジックとともに、有線通信のための標準規格（例えば、ＩＥＥＥ８０２．３、ｘＤＳＬ、ＧＰＯＮ、…）、または無線（モバイルまたは非モバイル）通信のための標準規格（例えば、ＩＥＥＥ８０２．１１、ＩＥＥＥ８０２．１５、ＩＥＥＥ８０２．１６、３Ｇ）に準拠する物理層インターフェースを含む。ネットワーク層はインターネットプロトコル（ＩＰ）によって管理されることが好ましい。トランスポート層は、転送制御プロトコル（ＴＣＰ）および／またはユーザデータグラムプロトコル（ＵＤＰ）によって管理されることが好ましい。ストリーミングプロトコルは、アドビ社によってリリースされたＲＴＭＰ仕様（ｈｔｔｐ：／／ｗｗｗ．ａｄｏｂｅ．ｃｏｍ／ｄｅｖｎｅｔ／ｒｔｍｐ／）において規定されるような、リアルタイムメッセージングプロトコル（ＲＴＭＰ）であることが好ましい。これらのプロトコルの詳細、ならびに適切なハードウェアおよびソフトウェアの実施態様は当業者に知られている。
【００３７】
メディアクライアント１００は、ストリーミングメディアコンテンツを交換するために、メディアクライアント１００とデータプロセッサ２５０との間の接続を介して終端間暗号化チャネルを確立する（３２０）ように構成される暗号化エージェント１２０をさらに備える。暗号化チャネルは、ＨＴＴＰＳを用いるセキュアＳＳＬ接続上のＲＴＭＰからなる、ＲＴＭＰプロトコルを用いて確立することができる。
【００３８】
メディアクライアント１００は、クロック１３０をさらに備えており、クロックは、ネットワークを介して伝わるメッセージの待ち時間についての有用な情報を得るだけの十分な精度を有するタイムスタンプを生成する。クロック１３０および暗号化エージェント１１０に動作可能に結合されるプロービングエージェント１４０は、終端間暗号化チャネルを介してデータプロセッサ２５０にプロービングメッセージを送信する（３３０）ように構成される。プロービングメッセージは、第１のタイムスタンプを搬送し、この第１のタイムスタンプは、クロック１３０によって生成され、メッセージが送信された時刻を指示する。プロービングエージェント１４０は、データプロセッサ２５０から、プロービングメッセージに対する応答を受信するようにさらに構成される。応答は、待ち時間を求めるために用いられる第２のタイムスタンプを搬送する
本発明の実施形態によるデータプロセッサ２５０によって生成される第２のタイムスタンプは、データプロセッサ２５０におけるプロービングメッセージの到着時刻を指示する。プロービングエージェント１４０に動作可能に結合される待ち時間導出エージェント１５０は、第２のタイムスタンプと第１のタイムスタンプとの間の差から、メディアクライアントとデータプロセッサとの間の接続のアップストリーム待ち時間特性を計算する（３５０）ように構成される。
【００３９】
データプロセッサ２５０によって受信された直後に、応答がメディアクライアント１００に返送される場合には、第２のタイムスタンプは事実上、応答の送信時刻も指示する。これが当てはまらない場合には、その応答の送信時刻に関連する別の第３のタイムスタンプを与えることができる。待ち時間導出エージェント１５０は、応答の到着時刻と第２のタイムスタンプ（または応答の送信に関連する別に与えられた第３のタイムスタンプ）との間の差から、データプロセッサ２５０とメディアクライアント１００との間の接続のダウンストリーム待ち時間特性を計算する（３５０）するようにさらに構成することができる。
【００４０】
本発明の一実施形態による方法が、図３に示される流れ図を参照しながら、ここで説明される。その方法は、メディアクライアント１００、メディアサーバ２００およびデータプロセッサ２５０を備える、図１において例示されるようなネットワークにおいて適用される。図３は、本方法に関与するそれぞれのエンティティの動作を指示する３つの列を含む。別の指示がない限り、これ以降、メディアクライアント１００の視点から動作が説明される。
【００４１】
最初のステップにおいて、メディアクライアント１００とデータプロセッサ２５０との間に接続が確立される。その接続は、メディアクライアント１００とメディアサーバ２００との間の第１のセグメントと、メディアサーバ２００とデータプロセッサ２５０との間の第２の接続セグメントとを含む。
【００４２】
したがって、接続の確立は、クライアント１００における動作３００、サーバ２００における動作３０１、およびデータプロセッサ２５０における動作３０２を必要とする。接続はＲＴＭＰプロトコルに従って確立することができる。
【００４３】
接続が確立されると、クライアント１００とデータプロセッサ２５０との間に終端間暗号化チャネル（または双方向セキュリティアソシエーション）が設定される。このチャネルは上記の接続の両方のセグメントによって物理的にサポートされるが、サーバ２００はクライアントとデータプロセッサとの間の対話には関与しない。チャネルを設定するには、クライアント１００における動作３１０およびデータプロセッサ２５０における動作３１５を必要とする。暗号化チャネルは、ＲＴＭＰＳプロトコルに従って設定することができる。
【００４４】
ここで、確立されたチャネルを介して、データプロセッサ２５０とクライアント１００との間で一方向にまたは双方向にコンテンツをストリーミングすることができる。
【００４５】
データプロセッサ２５０とクライアント１００との間の経路の特性を監視するために、本発明の実施形態によるメディアクライアント１００は、終端間暗号化チャネルを介してデータプロセッサ２５０にプロービングメッセージを送信する（３２０）。従来の「ピング」メッセージとは異なり、このプロービングメッセージはタイムスタンプを搬送し、終端間チャネルを介して送信される（すなわち、下位層において動作するノードによってトランスペアレントに転送される）。第１のタイムスタンプは、プロービングメッセージが送信された時刻を実質的に指示する。そのメッセージは、データプロセッサ２５０によって受信され（３２１）、それゆえ、データプロセッサは、メディアクライアント１００からデータプロセッサ２５０へのアップストリーム経路上の送信を左右する待ち時間についてのある情報を既に得ている。プロービングメッセージが送信された時刻（第１のタイムスタンプ）と、プロービングメッセージが受信された時刻との間の差を計算することによって、待ち時間を求めることができる。データプロセッサ２５０は、第２のタイムスタンプを含む応答メッセージを送信すること（３２９）によってプロービングメッセージに応答し、第２のタイムスタンプは、プロービングメッセージが受信された時刻を実質的に指示し、オプションで、応答メッセージが送信された時刻も指示する。応答の送信３２９がプロービングメッセージ３２１の受信直後でない場合には、応答の送信に関連する別の第３のタイムスタンプを応答において与えることができる。
【００４６】
メディアクライアント１００がデータプロセッサ２５０からプロービングメッセージに対する応答を受信するとき（３３０）、メディアクライアントは、メディアクライアント１００からデータプロセッサ２５０へのアップストリーム経路上の送信を左右する待ち時間についてのある情報を入手し、その情報は、データプロセッサ２５０におけるプロービングフレームの到着３２１に関連する第２のタイムスタンプと第１のタイムスタンプとの間の差を計算することによって求めることができる。メディアクライアント１００は、オプションで、メディアクライアント１００において応答が受信された（３３０）時刻（その時点は、ステップ３４０においてメディアクライアント１００において決定された「第４のタイムスタンプ」と見なすことができる）と、データプロセッサ２５０からの応答の出発３２９に関連する第３のタイムスタンプ（この場合も、「第３のタイムスタンプ」は、「第２のタイムスタンプ」と事実上同時に生じる仮想的なタイムスタンプの場合があることに留意されたい）との間の差を計算することによって、データプロセッサ２５０からメディアクライアント１００へのダウンストリーム経路上の送信を左右する待ち時間に関する情報も導出することができる。
【００４７】
アップストリーム経路およびダウンストリーム経路の待ち時間値を組み合わせることによって、往復待ち時間を求めることができる。ステップ３２０−３４０は、好ましくは定期的に、例えば、毎秒２５回（そのようなストリームによって経験されるチャネル特性を求めるために、ビデオストリームのフレームレートをまねて）繰り返し、アップストリーム経路、ダウンストリーム経路または往復経路に対するジッタ値３６０を求めることができる。アップストリーム経路に対するジッタ値は、データプロセッサ２５０において同じようにして求めることができる。
【００４８】
好ましくは、ジッタ値は、知られている方法に従って、変動係数（ＣＶ）、すなわち、平均値に対して正規化された待ち時間の標準偏差として計算される。ＣＶは、送信チャネルの（ジッタに関する）品質の直観的指標を与える。
【００４９】
ジッタが所定のレベルを超える場合には、例えば、ＣＶが１を超える場合には、そのチャネルは、ジッタによって著しく影響を及ぼされていると見なされる。所定のしきい値に関するジッタの評価３７０が実行されることが好ましく、特定の動作をトリガし、コンテンツストリーミングプロセスの品質を改善するために用いられる。これらの動作は、メディアサーバ２００に、特定のストリーミングパラメータの変更要求３８０を送信することを含むことが好ましい。変更されることになるパラメータは、フレームレート、画像解像度および圧縮比を含むことができるので有利である。これらの場合に、別のコーデックを選択すること、または異なる動作パラメータでコーディングされることも、要求することができる。
【００５０】
本発明の実施形態による装置に関して、または本発明の実施形態による方法に関して、特定の特徴および利点のみが説明されてきたが、これは簡潔にするとの理由から行われており、同じ利点を得るために、それらの特徴は方法と対応する装置との間で交換可能であることは理解されよう。
【００５１】
「プロセッサ」、「エージェント」または「エンジン」と呼ばれる任意の機能ブロックを含む、図示される種々の要素の機能は、専用ハードウェアを使用することによって、および適切なソフトウェアに関連付けられる、ソフトウェアを実行することができるハードウェアを使用することによって提供することができる。プロセッサによって提供されるとき、それらの機能は、単一の専用プロセッサによって、または単一の共用プロセッサによって、またはそのうちのいくつかが共用される場合がある複数の個別のプロセッサによって提供することができる。さらに、用語「プロセッサ」または「コントローラ」を明示的に使用されても、ソフトウェアを実行することができるハードウェアだけを指していると解釈されるべきではなく、限定はしないが、デジタルシグナルプロセッサ（ＤＳＰ）ハードウェア、ネットワークプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ソフトウェアを記憶するためのリードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）および不揮発性記憶装置を暗に含む場合がある。他のハードウェア、すなわち、従来のハードウェアおよび／またはカスタムハードウェアも含まれる場合がある。同様に、図示される任意のスイッチは概念にすぎない。それらの機能は、プログラムロジックの動作を通して、または専用ロジックを通して、またはプロセッサ制御と専用ロジックとの対話を通して実行することができるか、さらには手動で実行することもでき、特定の技法は、文脈からより具体的に理解されるように開発者によって選択可能である。
【００５２】
上記の種々の方法のステップは、プログラミングされたコンピュータによって実行できることは当業者であれば容易に理解されよう。本明細書において、いくつかの実施形態は、機械可読またはコンピュータ可読であり、複数の命令からなる機械実行可能またはコンピュータ実行可能プログラムを符号化するプログラム記憶デバイス、例えば、デジタルデータ記憶媒体を含むことも意図しており、それらの命令は上記の方法のステップのうちのいくつかまたはすべてを実行する。プログラム記憶デバイスは、例えば、デジタルメモリ、磁気ディスクおよび磁気テープなどの磁気記憶媒体、ハードドライブ、または光学的に読取り可能なデジタルデータ記憶媒体とすることができる。それらの実施形態は、上記の方法のステップを実行するようにプログラミングされたコンピュータを含むことも意図している。
【図１】
0005808501.tif 000002
【図２】
0005808501.tif 000003
【図３】
0005808501.tif 000004