メディアクライアント100、メディアサーバ200、およびデータプロセッサ250を含むネットワーク内の送信特性を監視するための方法であって、本方法は、データプロセッサ250との接続を確立するステップ300と、メディアクライアント100とデータプロセッサ250との間に接続を介してストリーミングメディアコンテンツを交換するための終端間暗号化チャネルを確立するステップ310と、終端間暗号化チャネルを介してデータプロセッサにプロービングメッセージを送信するステップ320であって、プロービングメッセージが、プロービングメッセージの送信時刻を指示する第1のタイムスタンプを搬送する、送信するステップと、データプロセッサ250からプロービングメッセージに対する応答を受信するス Media client 100, a method for monitoring the transmission characteristics of the network including a media server 200 and data processor 250, the method includes a step 300 of establishing a connection with a data processor 250, a media client 100 and step 310 of establishing the end-to-end encrypted channel for exchanging streaming media content over the connection between the data processor 250, at step 320 of sending a probing message to the data processor via the end-to-end encrypted channel scan there, the probing message carries the first time stamp indicating the transmission time of the probing message, for receiving and transmitting a response to the probing message from the data processor 250 ップ330であって、応答が、データプロセッサにおけるプロービングメッセージの到着時刻を指示する第2のタイムスタンプを搬送する、受信するステップと、第2のタイムスタンプと第1のタイムスタンプとの間の差から、メディアクライアント100とデータプロセッサ250との間の接続のアップストリーム待ち時間を含む待ち時間情報を導出するステップ350とを含む。 A-up 330, the response is, to convey the second time stamp indicating the arrival time of the probing message in a data processor, comprising the steps of: receiving, between the second time stamp and the first time stamp from the difference, and a step 350 of deriving a wait time information including the upstream latency of the connection between the media client 100 and the data processor 250.
本発明は、ストリーミングメディアネットワークに関し、詳細には、そのようなネットワーク内の送信特性を監視することに関する。 The present invention relates to streaming media network, in particular, to monitoring the transmission characteristics in such networks.
RTMPなどのストリーミングプロトコルによって用いられるアーキテクチャは、メディアクライアントと対話するためにメディアサーバを必要とする。 Architecture used by the streaming protocol such as RTMP requires media server to interact with the media client. それゆえ、任意のメディア処理クラウド(これ以降、包括的に「データプロセッサ」と呼ばれる)が、いくつかのこれらのサーバに接続される必要がある。 Therefore, any media processing cloud (hereafter, are generically referred to as "data processor") needs to be connected to several of these servers. 複数のユーザとのインタラクティブアプリケーションでは、これらのメディアサーバのうちの1つまたは複数を、クライアントからデータプロセッサへのストリーミング、およびその逆のストリーミングのために用いることができる。 In interactive applications with multiple users, one or more of these media servers can be used from the client streaming to the data processor, and for reverse streaming that. メディアクライアントとデータプロセッサとの間のデータトランスポートを提供するネットワークの組全体は、これ以降、「トランスポートネットワーク」と呼ばれる。 Entire set of network that provides data transport between the media client and the data processor, hereafter, referred to as "transport network".
現在、帯域幅、遅延、バースト性、パケット損失確率などの観点から、マルチメディアストリーミングのために使用されている全トランスポートネットワークを特徴付ける満足のいく機構は存在しない。 Currently, bandwidth, delay, bursty, in view of the packet loss probability, mechanism satisfactory to characterize the entire transport network being used for multimedia streaming absent. これらのパラメータはエンドユーザによって経験される品質に影響を及ぼす。 These parameters affect the quality experienced by the end user.
本発明の一態様によれば、メディアクライアント、メディアサーバ、およびデータプロセッサを備えるネットワークにおいて送信特性を監視するための方法が提供され、本方法は、以下のステップ:データプロセッサとの接続を確立するステップであって、接続が、メディアクライアントとメディアサーバとの間の第1の接続セグメント、およびメディアサーバとデータプロセッサとの間の第2の接続セグメントを含む、確立するステップと、メディアクライアントとデータプロセッサとの間にストリーミングメディアコンテンツを交換するための終端間暗号化チャネルを確立するステップであって、終端間暗号化チャネルが、接続によって搬送される、確立するステップと、終端間暗号化チャネルを介してデータプロセッサにプロービング According to one aspect of the present invention, media client, the media server, and a method for monitoring the transmission characteristics in a network comprising a data processor is provided, the method comprises the following steps: establishing a connection with a data processor a step, connections, a first connection segment between the media client and the media server, and a second connection segment between the media server and the data processor, comprising the steps of establishing the media client and data comprising the steps of establishing end-to-end encrypted channel for exchanging streaming media content between the processor, end-to-end encrypted channel, carried by the connection, the step of establishing the end-to-end encrypted channel probing into the data processor via ッセージを送信するステップであって、プロービングメッセージが、プロービングメッセージの送信時刻を指示する第1のタイムスタンプを搬送する、送信するステップと、データプロセッサからプロービングメッセージに対する応答を受信するステップであって、応答が、データプロセッサにおけるプロービングメッセージの到着時刻を指示する第2のタイムスタンプを搬送する、受信するステップと、待ち時間情報を導出するステップであって、待ち時間情報が、第2のタイムスタンプと第1のタイムスタンプとの間の差から計算される、メディアクライアントとデータプロセッサとの間の接続のアップストリーム待ち時間特性を含む、導出するステップとをメディアクライアントに含む。 And transmitting a message, probing message carries the first time stamp indicating the transmission time of the probing message, and transmitting, and receiving a response to the probing message from a data processor, response conveys a second time stamp indicating the arrival time of the probing message in a data processor, comprising the steps of: receiving, comprising the steps of: deriving a latency information, latency information, and the second time stamp It is calculated from the difference between the first time stamp, including upstream latency characteristics of the connection between the media client and the data processor, and a step to the media client to derive.
本発明の実施形態は、RTMPなどのストリーミングプロトコルにおいて、監視または管理のために通常用いられるメッセージタイプが、ファイアウォール、ゲートウェイ、プロキシなどの存在に起因して、ストリーミングサーバまたはデータプロセッサに全く届かないという本発明者らの洞察に基づく。 Embodiments of the present invention, the streaming protocols such as RTMP, message type normally employed for monitoring or management, firewall, gateway, that due to the presence of such a proxy, does not reach quite to the streaming server or data processor based on the insight of the inventors of the present invention. 本発明の実施形態は、リモートプロシージャコールを呼び出すなどの特定の専用タスクのために用いられる、メディアクライアントとデータプロセッサとの間の終端間トンネリングが、送信チャネル特性を監視するために都合よく用いることができるという洞察にさらに基づく。 Embodiments of the present invention is used for a specific dedicated tasks such as calling a remote procedure call, the end-to-end tunneling between the media client and the data processor, be advantageously used to monitor the transmission channel characteristics further based on the insight that it is.
本発明の実施形態は、メディアクライアントとデータプロセッサとの間のアップストリーム経路全体にわたる待ち時間値を求めることができるという利点をさらに提示する。 Embodiments of the present invention further presents the advantage that it is possible to determine the latency value across the upstream path between the media client and the data processor.
本発明の実施形態は、異なる(帯域外管理)チャネル上ではなく、コンテンツを転送するために実際に用いられる同じチャネル上で待ち時間測定を実行するという利点をさらに提示する。 Embodiments of the present invention differ not the (band management) on the channel, further presents the advantage to perform the waiting time measured on the same channel actually used to transfer content.
本発明による方法の一実施形態では、応答が、応答の送信時刻を指示する第3のタイムスタンプをさらに搬送し、本方法は、応答の到着時刻を指示する第4のタイムスタンプを決定するステップをさらに含み、待ち時間情報が、第4のタイムスタンプと第3のタイムスタンプとの間の差から計算される、データプロセッサとメディアクライアントとの間の接続のダウンストリーム待ち時間特性をさらに含む。 Step In one embodiment of the method according to the present invention, response is further conveyed to a third timestamp indicating a transmission time of the response, the method of determining the fourth time stamp indicating the arrival time of the response further comprising a latency information further comprises a downstream latency characteristics of the connection between the fourth timestamp and is calculated from the difference between the third time stamp, a data processor and media client.
本発明の本実施形態は、データプロセッサとメディアクライアントとの間のダウンストリーム経路全体にわたる待ち時間値を求めることができるという利点をさらに提示する。 This embodiment of the present invention further presents the advantage that it is possible to determine the latency value across the downstream path between the data processor and the media client.
本発明による方法の一実施形態では、第2のタイムスタンプおよび第3のタイムスタンプは応答において単一の値として表される。 In one embodiment of the method according to the invention, the second time stamp and the third time stamp is expressed as a single value in the response.
本実施形態は、応答が、プロービングメッセージ受信の概ね直後にデータプロセッサによって送信されたとわかっているとき、アップストリーム経路とダウンストリーム経路の両方のための待ち時間を求めるのに単一のタイムスタンプで十分であるという洞察に基づく。 This embodiment, the response is, when you know to have been transmitted generally by data processor immediately after the probing message reception, a single time stamp to determine the waiting time for both upstream path and the downstream path based on the insight that it is enough.
一実施形態では、本発明による方法は、プロービングメッセージを送信するステップ、応答を受信するステップ、および待ち時間情報を導出するステップを定期的に繰り返すステップと、繰返し導出された待ち時間情報からジッタ情報を導出するステップとをさらに含む。 In one embodiment, the method according to the invention, the step of transmitting the probing message, and repeating periodically the step of deriving step, and latency information to receive a response, the jitter information from latency information repeatedly derived to derive a further and a step.
本実施形態は、収集された待ち時間情報から導出されたジッタ情報を提供するという利点がある。 This embodiment has the advantage of providing jitter information derived from the collected latency information.
本発明による方法の一実施形態では、ジッタ情報は変動係数を含む。 In one embodiment of the method according to the invention, the jitter information comprises coefficient of variation.
一実施形態では、本発明による方法は、ジッタ情報が所定のレベルを超えるジッタを指示するときに、メディアサーバに、ストリーム特性の変更要求を送信するステップをさらに含む。 In one embodiment, the method according to the present invention, when the jitter information indicates the jitter exceeds a predetermined level, the media server, further comprising the step of transmitting a stream characteristic change request.
本実施形態は、ジッタが、ストリーミングメディアサービスのための経験品質に著しく影響を及ぼすパラメータであるという本発明者らの洞察に基づく。 This embodiment, jitter, based on the inventors' insight that is significantly parameters affecting experience quality for streaming media services. したがって、本実施形態は、ジッタがエンドユーザの経験に悪影響を及ぼすことが予想されるレベルに達するときに、ストリーミングパラメータを適応させるという利点を提供する。 The present embodiments are, therefore, when it reaches a level at which the jitter is expected to adversely affect the experience of the end user and provides the advantage of adapting the streaming parameters.
本発明による方法の一実施形態では、変更されることになるストリーム特性は、フレームレート、画像解像度および圧縮比のうちの1つを含む。 In one embodiment of the method according to the invention, the stream characteristics will be changed include the frame rate, one of the image resolution and compression ratio.
本発明の一実施形態では、ストリーミングメディアコンテンツの交換は、RTMPプロトコルによって行われる。 In one embodiment of the present invention, the exchange of streaming media content is performed by RTMP protocol.
本発明の一態様によれば、プロセッサに上記のような方法を実行させるように構成されるコンピュータプログラムが提供される。 According to one aspect of the present invention, a computer program configured to perform the method as described above the processor is provided.
本発明の一態様によれば、ネットワークを介してメディアストリームを受信するための装置が提供され、その装置は:データプロセッサとの接続を確立するように構成されるプロトコルエンジンであって、接続が、メディアクライアントとメディアサーバとの間の第1の接続セグメント、およびメディアサーバとデータプロセッサとの間に第2の接続セグメントを含む、プロトコルエンジンと、装置とデータプロセッサとの間にストリーミングメディアコンテンツを交換するための終端間暗号化チャネルを確立するように構成される暗号化エージェントであって、終端間暗号化チャネルが、接続によって搬送される、暗号化エージェントと、クロックと、クロックおよび暗号化エージェントに動作可能に結合されるプロービングエージェント According to one aspect of the present invention, apparatus for receiving a media stream via a network is provided, the apparatus: a protocol engine configured to establish a connection with a data processor, connected to the first connecting segment between the media client and the media server, and a second connection segment between the media server and the data processor, and the protocol engine, streaming media content between the device and the data processor a cryptographic agent configured to establish end-to-end encrypted channel for exchanging, end-to-end encrypted channel, carried by the connection, and encryption agent, a clock, clock and encryption agents probing agent operably coupled to あって、終端間暗号化チャネルを介してデータプロセッサにプロービングメッセージを送信することであり、プロービングメッセージが、メッセージの送信時刻を指示する第1のタイムスタンプを搬送する、送信すること、およびデータプロセッサからプロービングメッセージに対する応答を受信することであり、応答が、データプロセッサにおけるプロービングメッセージの到着時刻を指示する第2のタイムスタンプを搬送する、受信することを行うように構成されたプロービングエージェントと、プロービングエージェントに動作可能に結合される待ち時間導出エージェントであって、第2のタイムスタンプと第1のタイムスタンプとの間の差から、メディアクライアントとデータプロセッサとの間の接続のアップストリーム待ち時間 There are, via the end-to-end encrypted channel is to transmit a probing message to the data processor, the probing message carries the first time stamp indicating the transmission time of the message, transmits, and data processor from is to receive a response to the probing message, response conveys a second time stamp indicating the arrival time of the probing message in the data processor, probing agent configured to perform receiving, probing a latency derivation agent operatively coupled to the agent, from the difference between the second time stamp and the first time stamp, upstream latency of the connection between the media client and the data processor 性を計算するように構成される待ち時間導出エージェントとを備える。 And a latency derivation agent configured to calculate the resistance.
本発明による装置の一実施形態では、応答が、データプロセッサによるその応答の送信時刻を指示する第3のタイムスタンプを搬送し、待ち時間導出エージェントが、その応答の到着時刻を指示する第4のタイムスタンプを決定し、第4のタイムスタンプと第3のタイムスタンプとの間の差から、データプロセッサとメディアクライアントとの間の接続のダウンストリーム待ち時間特性を計算するようにさらに構成される。 In one embodiment of the device according to the invention, the response carries a third timestamp indicating a transmission time of the response by the data processor, latency derivation agent, the fourth to instruct the arrival time of the response determining the time stamp from the difference between the fourth time stamp and the third time stamp, further configured to calculate a downstream latency characteristics of the connection between the data processor and the media client.
本発明による装置の一実施形態では、第2のタイムスタンプおよび第3のタイムスタンプは応答において単一の値として表される。 In one embodiment of the apparatus according to the present invention, the second time stamp and the third time stamp is expressed as a single value in the response.
本発明による装置の一実施形態では、待ち時間導出エージェントは、繰返し導出された待ち時間情報からジッタ情報を導出するようにさらに構成される。 In one embodiment, the latency deriving the agent of the device according to the invention is further configured to derive the jitter information from latency information repeatedly derived.
本発明による装置の一実施形態では、ジッタ情報は変動係数を含む。 In one embodiment of the apparatus according to the present invention, the jitter information comprises coefficient of variation.
本発明による装置の一実施形態では、プロトコルエンジンは、ジッタ情報が所定のレベルを超えるジッタを指示するときに、メディアサーバに、ストリーム特性の変更要求を送信するようにさらに構成される。 In one embodiment of the apparatus according to the present invention, the protocol engine, when the jitter information indicates the jitter exceeds a predetermined level, the media server further configured to transmit a stream characteristic change request.
本発明の実施形態によるプログラムおよび装置の利点は、必要に応じて変更を加えるが、本発明の実施形態による対応する方法に関して先に示された利点に対応する。 Advantages of the program and apparatus according to an embodiment of the present invention is make changes as needed, corresponding to the advantages given above with respect to the corresponding method according to an embodiment of the present invention.
本発明の実施形態による装置および/または方法のうちのいくつかの実施形態が、一例にすぎないが、図面を参照しながらここで説明される。 Some embodiments of the devices and / or methods according to embodiments of the present invention, by way of example only, are described herein with reference to the drawings.
図1は、本発明を配備することができる例示的なネットワークを示す。 Figure 1 illustrates an exemplary network that can be deployed present invention. この図は、メディアクライアントとしての役割を果たし、第1のネットワークセグメントを介してメディアサーバ200に接続される装置100を含み、メディアサーバはサービスプロバイダ250に対するフロントエンドとしての役割を果たし、メディアクライアント100およびデータプロセッサ250に向かう関連するプロトコルメッセージを終端する。 This figure serves as a media client, include a device 100 connected to the media server 200 via the first network segment, the media server plays the role of a front-end to the service provider 250, media client 100 and terminating the relevant protocol message directed to the data processor 250. 本明細書において用いられるときに、用語「データプロセッサ」は、コンテンツを格納し、ストリーミングするために用いられ、1つまたは複数のサーバからなる場合もあるハードウェアインフラストラクチャを指している。 When used herein, the term "data processor", and stores the content and used for streaming refers to the hardware infrastructure, sometimes consisting of one or more servers. このインフラストラクチャは、「クラウド内に」分散される場合がある。 This infrastructure, there is a case to be "in the cloud" dispersion. 一般性を失うことなく、図1には、1つのメディアクライアント100および1つのメディアサーバ200のみが示される。 Without loss of generality, FIG. 1, only one media client 100 and one media server 200 is shown.
本願全体を通して、メディアクライアント100からメディアサーバ200またはデータプロセッサ250への方向における送信は「アップストリーム」通信と呼ばれる。 Throughout this application, the transmission in the direction from the media client 100 to the media server 200 or the data processor 250 is referred to as a communication "upstream". メディアサーバ200またはデータプロセッサ250からメディアクライアント100への方向における送信は、「ダウンストリーム」通信と呼ばれる。 Transmission in the direction from the media server 200 or the data processor 250 to the media client 100 is referred to as "downstream" communication.
メディアクライアント100とデータプロセッサ250との間の接続は第1のセグメント(装置100とメディアサーバ200との間)および第2のセグメント(メディアサーバ200とデータプロセッサ250との間)を含む。 Connection between the media client 100 and data processor 250 includes a first segment (between the device 100 and the media server 200) and second segment (between the media server 200 and data processor 250). 各セグメントは実際には、ブリッジおよび/またはルータによって相互接続されるいくつかの物理リンクからなる場合もあるが、本発明との関連性はない。 In practice, each segment, there is a case consisting of several physical links that are interconnected by a bridge and / or router associated with the present invention is not.
RTMPプロトコルは、クライアントとサーバとの間で交換されることになり、アップストリームリンクまたはダウンストリームリンクの状態を推測するために用いることができる特定の制御メッセージ(「ピング(Ping)」メッセージ)を定義する。 RTMP protocol will be exchanged between the client and the server, upstream link or specific control messages can be used to infer the state of the downstream link ( "ping (Ping)" message) Define. それらのメッセージがRTMP標準規格において完全には記述されていないので、かつ第1のセグメントしか取り扱わないので、そのメッセージ交換はトランスポートネットワークを特徴付けるのに十分ではない。 Since those messages is completely in RTMP standard are not described, and since it handles only the first segment, the message exchange is not enough to characterize the transport network.
さらに、第1のセグメントは、メディアクライアント100とメディアサーバ200との間に、制御トラフィックまたは監視用トラフィックを含む、ある種のトラフィックを制限するファイアウォール、プロキシおよびゲートウェイなどのネットワーク要素を備える場合がある。 Further, the first segment, between the media client 100 and the media server 200 includes a control traffic or monitoring traffic, the firewall that restricts certain traffic, which may comprise network elements such as proxies and gateways .
このタイプの制限は、後に詳細に説明されるように、メディアクライアント100とデータプロセッサ250との間での終端間暗号化通信を用いることによって、本発明の実施形態によって克服されるので有利である。 This type of limitation is later as described in detail, by using the end-to-end encrypted communication between the media client 100 and data processor 250 is advantageous because it is overcome by embodiments of the present invention .
本発明の一実施形態による装置100が、図2に示されるブロック図を参照しながら、ここでさらに詳細に説明される。 Apparatus 100 according to an embodiment of the present invention is, with reference to a block diagram shown in FIG. 2 will now be described in more detail. 装置100は、概して、ネットワークを介してメディアストリームを受信するのに適しており、これ以降、メディアクライアント100と呼ばれる。 Device 100 generally are suitable for receiving a media stream via a network, henceforth referred to as the media client 100. そのようなメディアクライアントの知られている例は、アドビ(R)フラッシュ(R)プレーヤまたはマイクロソフト(R)シルバーライト(R)プレーヤを備えるコンピューティングデバイスを含む。 Examples of known of such media client includes a computing device comprising a Adobe (R) Flash (R) player or Microsoft (R) Silverlight (R) player.
メディアクライアント100は、データプロセッサ250との接続を確立する(310)ように構成されるプロトコルエンジン110を備える。 Media client 100 includes establishing a connection with a data processor 250 (310) so configured protocol engine 110. プロトコルエンジン110は、物理層から、コンテンツストリーミングを実行する責任を担うプロトコルまでのネットワーク接続を与えるために必要なハードウェアおよびソフトウェアを含む。 Protocol engine 110 from the physical layer, including hardware and software necessary to provide a network connection to the protocol responsible for executing content streaming. 最も低い層において、プロトコルエンジン110は通常、対応するデータリンクロジックとともに、有線通信のための標準規格(例えば、IEEE802.3、xDSL、GPON、…)、または無線(モバイルまたは非モバイル)通信のための標準規格(例えば、IEEE802.11、IEEE802.15、IEEE802.16、3G)に準拠する物理層インターフェースを含む。 In the lowest layers, protocol engine 110 typically along with the corresponding data link logic, standard for wired communication (e.g., IEEE802.3, xDSL, GPON, ...), or wireless (mobile or non-mobile) for communications standard (e.g., IEEE802.11, IEEE802.15, IEEE802.16,3G) of including physical layer interface that conforms to. ネットワーク層はインターネットプロトコル(IP)によって管理されることが好ましい。 Network layer are preferably managed by the Internet Protocol (IP). トランスポート層は、転送制御プロトコル(TCP)および/またはユーザデータグラムプロトコル(UDP)によって管理されることが好ましい。 Transport layer is preferably managed by the Transmission Control Protocol (TCP) and / or User Datagram Protocol (UDP). ストリーミングプロトコルは、アドビ社によってリリースされたRTMP仕様(http://www.adobe.com/devnet/rtmp/)において規定されるような、リアルタイムメッセージングプロトコル(RTMP)であることが好ましい。 Streaming protocol, as defined in RTMP specification released by Adobe (http://www.adobe.com/devnet/rtmp/), is preferably a real-time messaging protocol (RTMP). これらのプロトコルの詳細、ならびに適切なハードウェアおよびソフトウェアの実施態様は当業者に知られている。 Details of these protocols, as well as embodiments of the appropriate hardware and software are known to those skilled in the art.
メディアクライアント100は、ストリーミングメディアコンテンツを交換するために、メディアクライアント100とデータプロセッサ250との間の接続を介して終端間暗号化チャネルを確立する(320)ように構成される暗号化エージェント120をさらに備える。 Media client 100 for exchanging streaming media content, end-to-end to establish an encrypted channel (320) so configured encryption agent 120 via the connection between the media client 100 and data processor 250 further comprising. 暗号化チャネルは、HTTPSを用いるセキュアSSL接続上のRTMPからなる、RTMPプロトコルを用いて確立することができる。 Encryption channel consists RTMP on a secure SSL connection using HTTPS, the can be established using the RTMP protocol.
メディアクライアント100は、クロック130をさらに備えており、クロックは、ネットワークを介して伝わるメッセージの待ち時間についての有用な情報を得るだけの十分な精度を有するタイムスタンプを生成する。 Media client 100 further comprises a clock 130, the clock generates a time stamp with sufficient accuracy only obtain useful information about the messages transmitted via the network latency. クロック130および暗号化エージェント110に動作可能に結合されるプロービングエージェント140は、終端間暗号化チャネルを介してデータプロセッサ250にプロービングメッセージを送信する(330)ように構成される。 Probing agent 140 that is operatively coupled to the clock 130 and the encryption agent 110, via the end-to-end encrypted channel for transmitting the probing message to the data processor 250 (330) as configured. プロービングメッセージは、第1のタイムスタンプを搬送し、この第1のタイムスタンプは、クロック130によって生成され、メッセージが送信された時刻を指示する。 Probing message carries the first time stamp, the first time stamp is generated by the clock 130, and instructs the time the message was sent. プロービングエージェント140は、データプロセッサ250から、プロービングメッセージに対する応答を受信するようにさらに構成される。 Probing agent 140 is further comprised of a data processor 250, to receive a response to the probing message. 応答は、待ち時間を求めるために用いられる第2のタイムスタンプを搬送する 本発明の実施形態によるデータプロセッサ250によって生成される第2のタイムスタンプは、データプロセッサ250におけるプロービングメッセージの到着時刻を指示する。 Response, a second time stamp that is generated by the data processor 250 according to an embodiment of the present invention for conveying a second time stamp that is used to determine the waiting time, instructs the arrival time of the probing message in the data processor 250 to. プロービングエージェント140に動作可能に結合される待ち時間導出エージェント150は、第2のタイムスタンプと第1のタイムスタンプとの間の差から、メディアクライアントとデータプロセッサとの間の接続のアップストリーム待ち時間特性を計算する(350)ように構成される。 Latency derivation agent 150 that is operatively coupled to the probing agent 140, from the difference between the second time stamp and the first time stamp, upstream latency of the connection between the media client and the data processor calculating a characteristic (350) as configured.
データプロセッサ250によって受信された直後に、応答がメディアクライアント100に返送される場合には、第2のタイムスタンプは事実上、応答の送信時刻も指示する。 Immediately after being received by the data processor 250, if the response is sent back to the media client 100, the second time stamp fact, also instructs the transmission time of the response. これが当てはまらない場合には、その応答の送信時刻に関連する別の第3のタイムスタンプを与えることができる。 If this is not the case, it is possible to provide a different third timestamp associated with the transmission time of the response. 待ち時間導出エージェント150は、応答の到着時刻と第2のタイムスタンプ(または応答の送信に関連する別に与えられた第3のタイムスタンプ)との間の差から、データプロセッサ250とメディアクライアント100との間の接続のダウンストリーム待ち時間特性を計算する(350)するようにさらに構成することができる。 Latency derivation agent 150, from the difference between the arrival time and the second time stamp of the response (or the third time stamp given to another associated with the transmission of the response), a data processor 250 and the media client 100 it can be further configured to calculate the downstream latency characteristics of the connection between the (350).
本発明の一実施形態による方法が、図3に示される流れ図を参照しながら、ここで説明される。 The method according to one embodiment of the present invention is, with reference to the flowchart shown in FIG. 3, is described here. その方法は、メディアクライアント100、メディアサーバ200およびデータプロセッサ250を備える、図1において例示されるようなネットワークにおいて適用される。 The method includes a media client 100, the media server 200 and data processor 250 are applied in the network as illustrated in FIG. 図3は、本方法に関与するそれぞれのエンティティの動作を指示する3つの列を含む。 3 includes three columns for instructing the operation of each of the entities involved in the process. 別の指示がない限り、これ以降、メディアクライアント100の視点から動作が説明される。 Unless otherwise indicated, thereafter, the operation is described from the point of view of the media client 100.
最初のステップにおいて、メディアクライアント100とデータプロセッサ250との間に接続が確立される。 In a first step, a connection is established between the media client 100 and the data processor 250. その接続は、メディアクライアント100とメディアサーバ200との間の第1のセグメントと、メディアサーバ200とデータプロセッサ250との間の第2の接続セグメントとを含む。 The connection includes a first segment between the media client 100 and the media server 200, and a second connection segment between the media server 200 and the data processor 250.
したがって、接続の確立は、クライアント100における動作300、サーバ200における動作301、およびデータプロセッサ250における動作302を必要とする。 Therefore, establishment of a connection requires operation 302 in operation 300, operation of the server 200 301 and data processor 250, the client 100. 接続はRTMPプロトコルに従って確立することができる。 Connection can be established according to RTMP protocol.
接続が確立されると、クライアント100とデータプロセッサ250との間に終端間暗号化チャネル(または双方向セキュリティアソシエーション)が設定される。 When the connection is established, end-to-end encrypted channel (or bidirectional security association) is established between the client 100 and the data processor 250. このチャネルは上記の接続の両方のセグメントによって物理的にサポートされるが、サーバ200はクライアントとデータプロセッサとの間の対話には関与しない。 This channel is physically supported by both segments of the connection, the server 200 is not involved in the interaction between the client and the data processor. チャネルを設定するには、クライアント100における動作310およびデータプロセッサ250における動作315を必要とする。 To set the channel requires operation 315 in operation 310 and data processor 250 in the client 100. 暗号化チャネルは、RTMPSプロトコルに従って設定することができる。 Encryption channel can be set according to RTMPS protocol.
ここで、確立されたチャネルを介して、データプロセッサ250とクライアント100との間で一方向にまたは双方向にコンテンツをストリーミングすることができる。 Here, it is possible via the established channel, stream content in one or both directions between the data processor 250 and the client 100.
データプロセッサ250とクライアント100との間の経路の特性を監視するために、本発明の実施形態によるメディアクライアント100は、終端間暗号化チャネルを介してデータプロセッサ250にプロービングメッセージを送信する(320)。 To monitor the characteristics of the path between the data processor 250 and the client 100, media client 100 according to an embodiment of the present invention sends a probing message to the data processor 250 via the end-to-end encrypted channel (320) . 従来の「ピング」メッセージとは異なり、このプロービングメッセージはタイムスタンプを搬送し、終端間チャネルを介して送信される(すなわち、下位層において動作するノードによってトランスペアレントに転送される)。 Unlike traditional "ping" message, the probing message carries the time stamp is transmitted over the end-to-end channels (i.e., is transferred transparently by node operating in the lower layer). 第1のタイムスタンプは、プロービングメッセージが送信された時刻を実質的に指示する。 The first timestamp, essentially indicating a time at which probing message was sent. そのメッセージは、データプロセッサ250によって受信され(321)、それゆえ、データプロセッサは、メディアクライアント100からデータプロセッサ250へのアップストリーム経路上の送信を左右する待ち時間についてのある情報を既に得ている。 The message is received by the data processor 250 (321), therefore, the data processor has already obtained some information about the influence latency transmissions on the upstream path from the media client 100 to the data processor 250 . プロービングメッセージが送信された時刻(第1のタイムスタンプ)と、プロービングメッセージが受信された時刻との間の差を計算することによって、待ち時間を求めることができる。 The time the probing message is transmitted (first time stamp) by the probing message to calculate the difference between the received time, it is possible to obtain the waiting time. データプロセッサ250は、第2のタイムスタンプを含む応答メッセージを送信すること(329)によってプロービングメッセージに応答し、第2のタイムスタンプは、プロービングメッセージが受信された時刻を実質的に指示し、オプションで、応答メッセージが送信された時刻も指示する。 Data processor 250 to send a response message including a second timestamp by (329) in response to the probing message, the second time stamp, essentially tells the time at which probing message is received, optional in, also instructs the time a response message is transmitted. 応答の送信329がプロービングメッセージ321の受信直後でない場合には、応答の送信に関連する別の第3のタイムスタンプを応答において与えることができる。 When the transmission 329 of the response is not immediately after the reception of the probing message 321 may provide in response to another third timestamp associated with the transmission of the response.
メディアクライアント100がデータプロセッサ250からプロービングメッセージに対する応答を受信するとき(330)、メディアクライアントは、メディアクライアント100からデータプロセッサ250へのアップストリーム経路上の送信を左右する待ち時間についてのある情報を入手し、その情報は、データプロセッサ250におけるプロービングフレームの到着321に関連する第2のタイムスタンプと第1のタイムスタンプとの間の差を計算することによって求めることができる。 When the media client 100 receives a response to the probing message from a data processor 250 (330), media client, obtain certain information about the influence latency transmissions on the upstream path from the media client 100 to the data processor 250 and, the information can be determined by calculating the difference between the second time stamp and the first time stamp associated with the arrival 321 of the probing frame in the data processor 250. メディアクライアント100は、オプションで、メディアクライアント100において応答が受信された(330)時刻(その時点は、ステップ340においてメディアクライアント100において決定された「第4のタイムスタンプ」と見なすことができる)と、データプロセッサ250からの応答の出発329に関連する第3のタイムスタンプ(この場合も、「第3のタイムスタンプ」は、「第2のタイムスタンプ」と事実上同時に生じる仮想的なタイムスタンプの場合があることに留意されたい)との間の差を計算することによって、データプロセッサ250からメディアクライアント100へのダウンストリーム経路上の送信を左右する待ち時間に関する情報も導出することができる。 Media client 100 may optionally response in the media client 100 has been received (330) time (the time may be considered to have been determined in the media client 100 in step 340, "the fourth time stamp") and even if the third timestamp (this is related to the starting 329 of the response from the data processor 250, "third time stamp" is the "second time stamp" virtually simultaneously occurring virtual timestamp If by calculating the difference between the noted should be) that there can also be derived information about the influence latency transmissions on the downstream path from the data processor 250 to the media client 100.
アップストリーム経路およびダウンストリーム経路の待ち時間値を組み合わせることによって、往復待ち時間を求めることができる。 By combining the latency value of the upstream paths and downstream paths, it is possible to obtain the roundtrip latency. ステップ320−340は、好ましくは定期的に、例えば、毎秒25回(そのようなストリームによって経験されるチャネル特性を求めるために、ビデオストリームのフレームレートをまねて)繰り返し、アップストリーム経路、ダウンストリーム経路または往復経路に対するジッタ値360を求めることができる。 Step 320-340 are preferably in regular, for example, 25 times per second (to determine the channel characteristics experienced by such streams, mimics the frame rate of the video stream) repeatedly, the upstream path, downstream it is possible to obtain the jitter value 360 ​​for path or round-trip path. アップストリーム経路に対するジッタ値は、データプロセッサ250において同じようにして求めることができる。 Jitter values ​​for the upstream path may be determined in the same way in the data processor 250.
好ましくは、ジッタ値は、知られている方法に従って、変動係数(CV)、すなわち、平均値に対して正規化された待ち時間の標準偏差として計算される。 Preferably, the jitter value, according to methods known, the coefficient of variation (CV), i.e., is calculated as the standard deviation of the normalized latency with respect to the average value. CVは、送信チャネルの(ジッタに関する)品質の直観的指標を与える。 CV provides an intuitive indication of (about jitter) the quality of the transmission channel.
ジッタが所定のレベルを超える場合には、例えば、CVが1を超える場合には、そのチャネルは、ジッタによって著しく影響を及ぼされていると見なされる。 If the jitter exceeds a predetermined level, for example, if the CV is greater than 1, the channel is assumed to significantly affect the jitter. 所定のしきい値に関するジッタの評価370が実行されることが好ましく、特定の動作をトリガし、コンテンツストリーミングプロセスの品質を改善するために用いられる。 It is preferable that the jitter evaluation 370 for a given threshold value is performed, triggers a specific operation, is used to improve the quality of content streaming process. これらの動作は、メディアサーバ200に、特定のストリーミングパラメータの変更要求380を送信することを含むことが好ましい。 These operations, the media server 200, preferably includes transmitting a change request 380 for a particular streaming parameters. 変更されることになるパラメータは、フレームレート、画像解像度および圧縮比を含むことができるので有利である。 Parameters to be changed is advantageous because it can include the frame rate, image resolution and compression ratio. これらの場合に、別のコーデックを選択すること、または異なる動作パラメータでコーディングされることも、要求することができる。 In these cases, to select a different codec, or even be coded at different operating parameters, it is possible to request.
本発明の実施形態による装置に関して、または本発明の実施形態による方法に関して、特定の特徴および利点のみが説明されてきたが、これは簡潔にするとの理由から行われており、同じ利点を得るために、それらの特徴は方法と対応する装置との間で交換可能であることは理解されよう。 With respect to the apparatus according to an embodiment of the present invention, or with respect to the method according to embodiments of the present invention, although only certain features and advantages have been described, this is done for reasons of simplicity, to obtain the same advantages in, it will be understood these features are interchangeable between the corresponding device and method.
「プロセッサ」、「エージェント」または「エンジン」と呼ばれる任意の機能ブロックを含む、図示される種々の要素の機能は、専用ハードウェアを使用することによって、および適切なソフトウェアに関連付けられる、ソフトウェアを実行することができるハードウェアを使用することによって提供することができる。 Including any functional blocks referred to as "processor", "agent" or "engine", the functions of the various elements shown, by the use of dedicated hardware, and associated with the appropriate software, run the software it can be provided by using hardware capable of. プロセッサによって提供されるとき、それらの機能は、単一の専用プロセッサによって、または単一の共用プロセッサによって、またはそのうちのいくつかが共用される場合がある複数の個別のプロセッサによって提供することができる。 When provided by a processor, these functions may be provided by a plurality of individual processors, if there is a single dedicated processor or by a single shared processor, or if some of them are shared . さらに、用語「プロセッサ」または「コントローラ」を明示的に使用されても、ソフトウェアを実行することができるハードウェアだけを指していると解釈されるべきではなく、限定はしないが、デジタルシグナルプロセッサ(DSP)ハードウェア、ネットワークプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ソフトウェアを記憶するためのリードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)および不揮発性記憶装置を暗に含む場合がある。 Moreover, it is explicit use of the term "processor" or "controller" should not be construed to refer only to hardware capable of executing software, but are not limited to, a digital signal processor ( DSP) hardware, network processor, application specific integrated circuits (ASIC), a field programmable gate array (FPGA), read-only memory for storing software (ROM), a random access memory (RAM) and non-volatile memory device there is a case in which implicitly contains. 他のハードウェア、すなわち、従来のハードウェアおよび/またはカスタムハードウェアも含まれる場合がある。 Other hardware, namely, there may also be included conventional hardware and / or custom hardware. 同様に、図示される任意のスイッチは概念にすぎない。 Similarly, any switches shown in the figures are only conceptual. それらの機能は、プログラムロジックの動作を通して、または専用ロジックを通して、またはプロセッサ制御と専用ロジックとの対話を通して実行することができるか、さらには手動で実行することもでき、特定の技法は、文脈からより具体的に理解されるように開発者によって選択可能である。 Their function may be through the operation of program logic, or through dedicated logic, or a processor control can be performed through interaction with dedicated logic, also further performed manually, the particular technique, the context it is selectable by the developer as more specifically understood.
上記の種々の方法のステップは、プログラミングされたコンピュータによって実行できることは当業者であれば容易に理解されよう。 Step various methods described above, can be performed by programmed computers will be readily understood by those skilled in the art. 本明細書において、いくつかの実施形態は、機械可読またはコンピュータ可読であり、複数の命令からなる機械実行可能またはコンピュータ実行可能プログラムを符号化するプログラム記憶デバイス、例えば、デジタルデータ記憶媒体を含むことも意図しており、それらの命令は上記の方法のステップのうちのいくつかまたはすべてを実行する。 In the present specification, some embodiments, machine readable or computer readable, include a program storage device for encoding machine-executable or computer-executable program comprising a plurality of instructions, for example, a digital data storage medium also are intended, those instructions perform some or all of the steps of the above method. プログラム記憶デバイスは、例えば、デジタルメモリ、磁気ディスクおよび磁気テープなどの磁気記憶媒体、ハードドライブ、または光学的に読取り可能なデジタルデータ記憶媒体とすることができる。 Program storage devices, e.g., digital memories, magnetic storage media such as magnetic disks and magnetic tapes, may be a hard drive or optically readable digital data storage media. それらの実施形態は、上記の方法のステップを実行するようにプログラミングされたコンピュータを含むことも意図している。 The embodiments are also intended to include a programmed computer to perform the steps of the above method.
待ち時間情報を導出するステップ(350)であって、前記待ち時間情報が、前記第2のタイムスタンプと前記第1のタイムスタンプとの間の差から計算される、前記メディアクライアント(100)と前記データプロセッサ(250)との間の前記接続のアップストリーム待ち時間特性を含む、導出するステップとを前記メディアクライアントに含む、方法。 A step (350) for deriving a wait time information, the waiting time information is calculated from the difference between the second time stamp and the first time stamp, the media client (100) said data including upstream latency characteristics of the connection between the processor (250), and deriving the media client, method.
前記応答が、前記応答の送信時刻を指示する第3のタイムスタンプをさらに搬送し、前記方法が、前記応答の到着時刻を指示する第4のタイムスタンプを決定するステップ(340)をさらに含み、前記待ち時間情報が、前記第4のタイムスタンプと前記第3のタイムスタンプとの間の差から計算される、前記データプロセッサ(250)と前記メディアクライアント(100)との間の前記接続のダウンストリーム待ち時間特性をさらに含む、請求項1に記載の方法。 Said response, said third time stamp indicating the transmission time further transport of the response, the method further comprises the step (340) for determining a fourth time stamp indicating the arrival time of the response, the waiting time information, the is calculated from the difference between the fourth timestamp and the third timestamp, down the connection between the data processor (250) and said media client (100) further comprising a stream latency characteristics the method of claim 1.
前記第2のタイムスタンプおよび前記第3のタイムスタンプが、前記応答内で単一の値として表される、請求項2に記載の方法。 The second time stamp and the third time stamp is expressed as a single value in the response The method of claim 2.
前記繰返し導出された待ち時間情報からジッタ情報を導出するステップ(360)とをさらに含む、請求項1から3のいずれかに記載の方法。 Further comprising a method according to any one of claims 1 to 3 and a step (360) for deriving the jitter information from the repeatedly derived latency information.
前記ジッタ情報が、変動係数を含む、請求項4に記載の方法。 The jitter information comprises variation coefficient The method of claim 4.
前記ジッタ情報が所定のレベルを超える(370)ジッタを指示するときに、前記メディアサーバ(200)に、ストリーム特性の変更(390)要求を送信するステップ(380)をさらに含む、請求項4または5に記載の方法。 When the jitter information instructing (370) the jitter exceeds a predetermined level, the media server (200), change of the stream properties (390) further comprises the step (380) for transmitting a request, claim 4 or the method according to 5.
変更されることになる(390)前記ストリーム特性が、フレームレート、画像解像度および圧縮比のうちの1つを含む、請求項6に記載の方法。 Become modified by that (390) the stream characteristics, including frame rate, one of the image resolution and compression ratio, The method of claim 6.
ストリーミングメディアコンテンツの前記交換が、RTMPプロトコルによって行われる、請求項1から7のいずれかに記載の方法。 The exchange of streaming media content is made by RTMP protocol, The method according to any one of claims 1 to 7.
プロセッサに請求項1から8のいずれかに記載の方法を実行させるように構成されるコンピュータプログラム。 A computer program configured to perform the method according to any of claims 1 to 8 in the processor.
前記プロービングエージェント(140)に動作可能に結合される待ち時間導出エージェント(150)であって、前記第2のタイムスタンプと前記第1のタイムスタンプとの間の差から、前記メディアクライアント(100)と前記データプロセッサ(250)との間の前記接続のアップストリーム待ち時間特性を計算する(350)ように構成される、待ち時間導出エージェントとを備える、装置。 Wherein a probing agent (140) operably coupled by latency derived agent (150), from the difference between the second time stamp and the first time stamp, the media client (100) and said calculating the upstream latency characteristics of the connection between the data processor (250) (350) as configured, and a waiting time derivation agent device.
前記応答が、前記データプロセッサによる前記応答の送信時刻を指示する第3のタイムスタンプを搬送し、前記待ち時間導出エージェント(150)が、前記応答の受信時刻を指示する第4のタイムスタンプを決定し、前記第4のタイムスタンプと前記第3のタイムスタンプとの間の差から前記データプロセッサ(250)と前記メディアクライアント(100)との間の前記接続のダウンストリーム待ち時間特性を計算する(350)ようにさらに構成される、請求項10に記載の装置。 The response, the conveying a third timestamp indicating a transmission time of the response by the data processor, the waiting time derivation agent (150), determines a fourth time stamp indicating the reception time of the response and calculates the downstream latency characteristics of the connection between said data processor (250) and said media client (100) from the difference between the fourth timestamp and the third timestamp ( 350) further configured to, according to claim 10.
前記第2のタイムスタンプおよび前記第3のタイムスタンプが、前記応答において単一の値として表される、請求項11に記載の装置。 The second time stamp and the third time stamp is expressed as a single value in the response apparatus of claim 11.
前記待ち時間導出エージェント(150)が、繰返し導出された待ち時間情報からジッタ情報を導出する(360)ようにさらに構成される、請求項10から12のいずれかに記載の装置。 The waiting time derivation agent (150) derives the jitter information from latency information repeatedly derived (360) further configured to, according to any of claims 10 to 12.
前記ジッタ情報が、変動係数を含む、請求項13に記載の装置。 The jitter information comprises coefficient of variation, according to claim 13.
前記ジッタ情報が所定のレベルを超える(370)ジッタを指示するときに、前記プロトコルエンジン(110)が、前記メディアサーバ(200)に、ストリーム特性の変更(390)要求を送信するようにさらに構成される、請求項13または14に記載の装置。 When the jitter information instructing (370) the jitter exceeds a predetermined level, said protocol engine (110) to the media server (200), further configured to transmit a change of stream properties (390) requests It is the apparatus of claim 13 or 14.
ES2314677T3 (en) 2009-03-16 Procedure for acquiring periodically review the media stream QoS.