JP2017220796A - Client device and method - Google Patents
Client device and method Download PDFInfo
- Publication number
- JP2017220796A JP2017220796A JP2016113780A JP2016113780A JP2017220796A JP 2017220796 A JP2017220796 A JP 2017220796A JP 2016113780 A JP2016113780 A JP 2016113780A JP 2016113780 A JP2016113780 A JP 2016113780A JP 2017220796 A JP2017220796 A JP 2017220796A
- Authority
- JP
- Japan
- Prior art keywords
- segment
- congestion
- bit rate
- client device
- network
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、クライアント装置および方法に関する。 The present invention relates to a client apparatus and method.
近年、オンライン動画配信サービスにおいてDASH(dynamic adaptive streaming over hypertext transfer protocol)型配信に代表される配信ビットレートを動的に変更する配信形態が広く採用されている(例えば、非特許文献1、2参照)。本方式によれば、予めあるコンテンツについて、異なるビットレートのデータを用意し、かつ、セグメント単位に分割しておくことで、ネットワーク状況に応じて最適かつ最高の品質のコンテンツを要求できるようになる。具体的には、コンテンツビットレートと直近で計測したスループットの指標とが比較され、スループットを超えない範囲のビットレートのセグメントファイルが要求される。
2. Description of the Related Art In recent years, a distribution form that dynamically changes a distribution bit rate typified by DASH (dynamic adaptive streaming over hypertext transfer protocol) type distribution has been widely adopted in online video distribution services (for example, see Non-Patent
しかしながら、DASHでビットレート決定のために使用されるスループットはクライアント装置で計測されるものであるため、クライアント装置の状況にも左右され、ネットワーク状況の指標として正確でない場合がある。また、現状のDASHではネットワークリソースの利用についての公平さは考慮されていない。 However, since the throughput used for determining the bit rate in DASH is measured by the client device, it depends on the status of the client device and may not be accurate as an index of the network status. In addition, current DASH does not consider fairness in the use of network resources.
本発明はこうした課題に鑑みてなされたものであり、その目的は、ネットワークにおける輻輳の状況をより正確に把握して要求するビットレートを決定できる、またはネットワークリソースの利用についての公平さを考慮して要求するビットレートを決定できる配信技術の提供にある。 The present invention has been made in view of these problems, and the purpose of the present invention is to determine the required bit rate by more accurately grasping the state of congestion in the network, or considering the fairness of the use of network resources. Providing distribution technology that can determine the required bit rate.
本発明のある態様はクライアント装置に関する。このクライアント装置は、複数のセグメントに分割され、セグメントごとに異なるビットレートを指定可能なコンテンツのセグメントデータを、ネットワークにおける輻輳の度合いを示す輻輳情報と共にネットワークを介して取得する取得部と、取得部によって取得された輻輳情報に基づいて、次に要求するセグメントのビットレートを決定する決定部と、を備える。 One embodiment of the present invention relates to a client device. This client device is divided into a plurality of segments, an acquisition unit that acquires content segment data that can specify different bit rates for each segment together with congestion information indicating the degree of congestion in the network, and an acquisition unit And a determination unit that determines the bit rate of the next requested segment based on the congestion information acquired by the above.
なお、以上の構成要素の任意の組み合わせや、本発明の構成要素や表現を装置、方法、システム、コンピュータプログラム、コンピュータプログラムを格納した記録媒体などの間で相互に置換したものもまた、本発明の態様として有効である。 It should be noted that any combination of the above-described constituent elements, or those obtained by replacing the constituent elements and expressions of the present invention with each other between apparatuses, methods, systems, computer programs, recording media storing computer programs, and the like are also included in the present invention. It is effective as an embodiment of
本発明によれば、ネットワークにおける輻輳の状況をより正確に把握して要求するビットレートを決定できる、またはネットワークリソースの利用についての公平さを考慮して要求するビットレートを決定できる。 According to the present invention, the required bit rate can be determined by more accurately grasping the state of congestion in the network, or the required bit rate can be determined in consideration of fairness in the use of network resources.
以下、各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、各図面において説明上重要ではない部材の一部は省略して表示する。 Hereinafter, the same or equivalent components, members, and processes shown in the drawings are denoted by the same reference numerals, and repeated description is appropriately omitted. In addition, in the drawings, some of the members that are not important for explanation are omitted.
図1は、実施の形態に係る配信システム100のネットワークトポロジの一例を示す模式図である。配信システム100は7つのノードを含む。ノード1〜4はそれぞれ、デスクトップPC(Personal Computer)やラップトップPCや携帯端末などのクライアント装置であり、ノード7はコンテンツのソースとなる配信サーバである。ノード5はルータ等のネットワーク機器であり、ノード6はコンテンツのキャッシュとなるキャッシュサーバである。一例では、ノード7とノード1〜4とはインターネットなどのネットワークを介して接続され、ノード5、6はこのネットワークに含まれるノードである。
FIG. 1 is a schematic diagram illustrating an example of a network topology of a
以下では、ノード間の接続をリンクと称する。各リンクには、そのリンクにおける輻輳の度合いを示す輻輳プライス(Congestion price)が対応付けられている。 Below, the connection between nodes is called a link. Each link is associated with a congestion price indicating the degree of congestion in the link.
配信サーバ(ノード7)は、映画やアニメーションや他の動画像などのコンテンツを保持し、クライアント装置(ノード1〜4)からの要求に応じてストリーミング形式で配信する。
The distribution server (node 7) holds contents such as movies, animations, and other moving images, and distributes them in a streaming format in response to requests from client devices (
図2は、配信サーバに保持されるコンテンツの説明図である。配信サーバはひとつのコンテンツを複数のビットレート(符号化速度)で保持する。複数のビットレートは300kbps、1.2Mbps、5Mbpsを含むがこれらに限定されない。配信サーバでは、ひとつのコンテンツはN個(Nは2以上の自然数)のセグメントに分割される。各セグメントは所定の再生長またはデータ量に対応する。本実施の形態ではセグメントは3秒、5秒、10秒のいずれかの再生長に対応するものとする。各セグメントには複数のビットレートのそれぞれに対応するセグメントファイルが存在する。 FIG. 2 is an explanatory diagram of content held in the distribution server. The distribution server holds one content at a plurality of bit rates (encoding speeds). The multiple bit rates include, but are not limited to, 300 kbps, 1.2 Mbps, and 5 Mbps. In the distribution server, one content is divided into N segments (N is a natural number of 2 or more). Each segment corresponds to a predetermined playback length or data amount. In the present embodiment, the segment corresponds to a playback length of 3 seconds, 5 seconds, or 10 seconds. Each segment has a segment file corresponding to each of a plurality of bit rates.
図2には、3秒の再生長でN個のセグメントに分割されたコンテンツが示される。すなわちこのコンテンツの総再生長は3・N秒となる。各セグメントについて、ビットレートが高いほどセグメントファイルのデータ量は多くなる。図2に示されるように、配信サーバにはセグメントごとに異なるビットレートのデータが用意されており、セグメントごとに異なるビットレートを指定可能となっている。例えば、セグメント1については300kbpsのセグメントファイル202、セグメント2については1.2Mbpsのセグメントファイル204、セグメント3については5Mbpsのセグメントファイル206、がそれぞれ指定され、クライアント装置に配信されてもよい。ビットレートの指定はクライアント装置からのセグメントの要求に含まれる。
FIG. 2 shows content divided into N segments with a playback length of 3 seconds. That is, the total playback length of this content is 3 · N seconds. For each segment, the amount of data in the segment file increases as the bit rate increases. As shown in FIG. 2, the distribution server prepares data with different bit rates for each segment, and can specify different bit rates for each segment. For example, a
本実施の形態では、クライアント装置が次に要求するセグメントのビットレートを決定する際、ネットワークにおける輻輳の度合いとユーザ間のネットワークリソース利用の公平さとを考慮する。これにより、ビットレートの決定にネットワークの輻輳の状態をより正確に反映することができ、かつユーザ間の公平さも担保することができる。 In the present embodiment, when determining the bit rate of the next segment requested by the client device, the degree of congestion in the network and the fairness of network resource usage among users are considered. Thereby, the state of network congestion can be more accurately reflected in the determination of the bit rate, and fairness among users can be ensured.
図3は、実施の形態に係るクライアント装置106の機能および構成を示すブロック図である。ここに示す各ブロックは、ハードウエア的には、コンピュータのCPU(Central Processing Unit)をはじめとする素子や機械装置で実現でき、ソフトウエア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウエア、ソフトウエアの組合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。
FIG. 3 is a block diagram illustrating functions and configurations of the
クライアント装置106はコンテンツをネットワーク104を介して取得する。クライアント装置106は受信したデータをバッファしつつ既にバッファされているデータを順次再生する。クライアント装置106は、アクセスクライアント108と、メディアエンジン110と、制御エンジン112と、ディスプレイ114と、ユーザ操作受付部118と、を備える。
The
アクセスクライアント108はネットワーク104とのインタフェースとして機能する。アクセスクライアント108はネットワーク104を介してクライアント装置106宛に送られてきたデータを受信して他の部材に提供すると共に、他の部材から送信対象のデータを取得してネットワーク104に送信する。
The
メディアエンジン110はクライアント装置106が受信したコンテンツを再生するための復号等の処理を行い、ディスプレイ114にコンテンツを表示させる。メディアエンジン110は受信したコンテンツのセグメントファイルを保持するためのバッファ136を含む。配信サーバから送信されたセグメントファイルはネットワーク104を介してアクセスクライアント108で受信され、アクセスクライアント108からメディアエンジン110に送信され、メディアエンジン110においてバッファ136に格納される。また、メディアエンジン110は再生対象のセグメントファイルをバッファ136から読み出して処理し、ディスプレイ114に表示させる。
The
ユーザ操作受付部118は不図示のタッチパネル等の入力装置と接続され、ユーザから再生対象のコンテンツの指定を受け付ける。ユーザ操作受付部118は、コンテンツの再生に関するユーザ操作、例えばコンテンツの再生開始や再生停止の指示、を受け付ける。
The user
制御エンジン112は、配信サーバに対するコンテンツの要求および配信サーバからのコンテンツの受信を制御する。制御エンジン112は、セグメント要求部126と、輻輳情報処理部128と、基準レート算出部130と、フィルタ部132と、ビットレート決定部134と、要求スケジュール部138と、を含む。
The
セグメント要求部126は、ビットレート決定部134によって決定されたビットレートを指定して次のセグメントを、ネットワーク104を介して配信サーバに要求する。セグメント要求部126は、要求する次のセグメントのIDと該セグメントについて指定するビットレートとを含むセグメント要求信号を生成し、アクセスクライアント108およびネットワーク104を介して配信サーバに送信する。配信サーバは、受信したセグメント要求信号で指定されるビットレートのセグメントファイルをクライアント装置106に送信する。メディアエンジン110は、ネットワーク104における輻輳の度合いを示す輻輳値を伴うセグメントファイルをネットワーク104を介して取得する。バッファ136は取得されたセグメントファイルを保持する。
The
図1に示されるように、本実施の形態ではセグメントファイルはコンテンツのソースである配信サーバ(ノード7)からクライアント装置(ノード1〜4)へ複数のリンクを通じて伝送される。輻輳値は、該輻輳値を伴うセグメントファイルが通過する複数のリンクのそれぞれにおける輻輳プライスの累計である。例えば、ノード1がノード7から取得するセグメントファイルに対応する輻輳値は、ノード7とノード5との間のリンクの輻輳プライスλ7,5と、ノード5とノード1との間のリンクの輻輳プライスλ5,1と、の和である(λ7,5+λ5,1)。ソースである配信サーバは輻輳値を初期化する、すなわち輻輳値としてゼロを設定する。そして、配信サーバは対応するセグメントファイルをノード1に向けて送信する際に輻輳値をλ7,5に更新する。該セグメントファイルを受信したノード5は、ノード1へ該セグメントファイルを転送する際に、輻輳値にλ5,1を加算する。すなわち、セグメントファイルの伝送経路上にある各ノードにおいて、セグメントファイルを転送する際に輻輳値に送り先のリンクの輻輳プライスが加算される。輻輳プライスは例えばキュー遅延(queuing delay)や呼損率(loss probability)であってもよく、またはそのいずれかに関連するパラメータであってもよい。
As shown in FIG. 1, in this embodiment, a segment file is transmitted from a distribution server (node 7) that is a content source to client devices (
輻輳情報処理部128は、取得された輻輳値を伴うセグメントファイルから輻輳値を抽出する。輻輳情報処理部128は、異常値を除去するために、抽出された輻輳値にローパスEWMA(Exponentially Weighted Moving Average)を行う。より具体的には、輻輳情報処理部128は、t番目(tは1より大きくNより小さい自然数)のセグメントのセグメントファイルと共に取得された輻輳値q(t)から、以下の式(1)にしたがいフィルタされた輻輳値Q(t)を算出する。
Q(t)=β・Q(t−1)+(1−β)・q(t) …(1)
ここで、βは0以上で1より小さい定数である。
The congestion
Q (t) = β · Q (t−1) + (1−β) · q (t) (1)
Here, β is a constant greater than or equal to 0 and less than 1.
基準レート算出部130は、輻輳情報処理部128からフィルタされた輻輳値Q(t)を取得し、取得された輻輳値Q(t)に基づいてビットレートの基準値x(t+1)を算出する。基準レート算出部130は、基準値x(t+1)の算出に際して、クライアント装置106におけるサービス品質(Quality of Service)とビットレートとの関係を示すユーティリティ関数(Utility Function)U(x)に、輻輳値Q(t)をサービス品質の指標として適用する。より具体的には、基準レート算出部130は、以下の式2にしたがい基準値x(t+1)を算出する。
ここで、[・]b aは関数max(min(・、b)、a)を表す。また、Mはクライアント装置106が要求しうるビットレートの最大値、mはクライアント装置106が要求しうるビットレートの最小値であり、それぞれクライアント装置106の性能、特性により決まる。例えば、配信サーバにおいて0.1Mbps、0.35Mbps、0.7Mbps、1.3Mbps、2.8Mbps、4.5Mbpsの6種類のビットレートのセグメントファイルが利用可能であっても、クライアント装置106のデコーダが3.0Mbpsまでしか対応できない場合、Mは2.8Mbpsとなる。
The reference
Here, [·] b a represents a function max (min (·, b), a). Further, M is the maximum value of the bit rate that can be requested by the
上記の式2は、ネットワークリソースをユーザ間で公平に利用することを目指して設定される。特に、式2はユーティリティ公平フレームワーク(Utility Faireness Framework)を使用して決定される。ユーティリティ公平フレームワークについては非特許文献3に詳述されているので、本明細書では説明を省略する。
The
図4は、ユーティリティ関数U(x)の一例を示すグラフである。グラフの横軸はビットレートxを示し、縦軸はサービス品質の指標を示す。破線はユーティリティ関数U(x)を示す。ユーティリティ関数U(x)は階段関数V(x)を、マルチレベルシグモイド関数で近似する。階段関数V(x)の各ステップは、次に要求するセグメントに対して指定可能な異なる複数のビットレート(300kbps、1.2Mbps、5Mbps)のひとつに対応する。 FIG. 4 is a graph showing an example of the utility function U (x). The horizontal axis of the graph represents the bit rate x, and the vertical axis represents an index of service quality. The broken line indicates the utility function U (x). The utility function U (x) approximates the step function V (x) with a multilevel sigmoid function. Each step of the step function V (x) corresponds to one of a plurality of different bit rates (300 kbps, 1.2 Mbps, 5 Mbps) that can be specified for the next requested segment.
より一般的には、Kを次に要求するセグメントに対して指定可能な異なる複数のビットレートの数、r1<r2<…<rKを次に要求するセグメントに対して指定可能な異なる複数のビットレートのそれぞれ、とするとき、マルチレベルロジスティック関数を使用した近似により得られるユーザnについてのユーティリティ関数Un(x)は、
のように表される。
yをユーティリティ値とするとき、上記のユーティリティ関数の逆関数U−1 n(y)は、
のように表される。
なお、他のタイプのアプリケーションは異なる形状のユーティリティ関数を有する。例えば、FTPやWebアプリケーションは一般に対数関数的なユーティリティ関数を有する。
More generally, different can be specified relative to the next segment to request the number of possible different bit rates, r 1 <r 2 <... <r K for the segment to be next request K When each of a plurality of bit rates, the utility function Un (x) for user n obtained by approximation using a multi-level logistic function is
It is expressed as
When y is a utility value, the inverse function U −1 n (y) of the above utility function is
It is expressed as
Note that other types of applications have utility functions of different shapes. For example, FTP and Web applications generally have logarithmic utility functions.
図3に戻り、フィルタ部132は、ビットレート決定のために使用するビットレートの基準値から揺動成分を除去するために、基準レート算出部130によって算出された基準値x(t+1)にローパスEWMAを行う。より具体的には、フィルタ部132は、基準レート算出部130によって算出された基準値x(t+1)から、以下の式(5)にしたがいフィルタされた基準値X(t+1)を算出する。
X(t+1)=(1−α)・X(t)+α・x(t+1) …(5)
ここで、αは0より大きく1以下の定数である。
Returning to FIG. 3, the
X (t + 1) = (1−α) · X (t) + α · x (t + 1) (5)
Here, α is a constant greater than 0 and less than or equal to 1.
αを1に設定することで、フィルタ部132を無効化することができる。基準レート算出部130により算出される基準値が速く収束する場合、αを1に設定してもよいし、フィルタ部132を設けなくてもよい。
By setting α to 1, the
ビットレート決定部134は、フィルタ部132によって算出されたフィルタされた基準値X(t+1)にしたがい、次に要求するセグメントについて指定するビットレートを決定する。ビットレート決定部134は、ビットレートの決定の際、フィルタされた基準値X(t+1)と次に要求するセグメントに対して指定可能な異なる複数のビットレートとを比較する。より具体的には、ビットレート決定部134は、次に要求するセグメントに対して指定可能な異なる複数のビットレートのなかから、フィルタされた基準値X(t+1)以下であり、かつそれに最も近いビットレートを選択する。すなわち、低い方から数えてp番目のビットレートrpが選択された場合、
rp≦X(t+1)<rp+1 …(6)
が成立する。
The bit
r p ≦ X (t + 1) <r p + 1 (6)
Is established.
要求スケジュール部138は、バッファ136の残量が最小値Bminと最大値Bmaxとの間になるように、次にセグメントを要求するタイミングを制御する。要求スケジュール部138は、現在のバッファ136の残量BがBmaxを下回っている場合、ビットレート決定部134によってビットレートが決定されるとすぐにセグメント要求部126に次のセグメントを要求させる。現在のバッファ136の残量BがBmax以上である場合、要求スケジュール部138はΔt(=B−Bmax+τ)の間、次のセグメントの要求を延期する。ここで、B、Bmax、Bminの単位はいずれも再生長であり、τは1セグメントの再生長である。
The
以上の構成によるクライアント装置106の動作を説明する。
図5は、クライアント装置106における一連の処理を示すフローチャートである。クライアント装置106はネットワーク104を介して配信サーバから、セグメントファイルおよびそれに伴う輻輳値を取得する(S502)。クライアント装置106は取得した情報から輻輳値を抽出する(S504)。クライアント装置106は抽出された輻輳値を平滑化する(S506)。クライアント装置106は、ネットワークリソースの利用についてユーザ間の公平を実現するよう設定された計算式を用いて、輻輳値からビットレートの基準値を算出する(S508)。クライアント装置106は、得られた基準値をEWMAにより平滑化する(S510)。クライアント装置106は、基準値から次に要求するセグメントのビットレートを決定する(S512)。クライアント装置106は、現在のバッファ残量Bと最大値Bmaxとを比較する(S514)。B≧Bmaxの場合(S514のYES)クライアント装置106はΔtだけ待機する(S516)。ステップS516の待機の後、またはB<Bmaxの場合(S514のNO)、クライアント装置106はネットワーク104を介して、決定されたビットレートを指定して次のセグメントを配信サーバに要求する(S518)。
The operation of the
FIG. 5 is a flowchart showing a series of processing in the
上述の実施の形態について、本明細書の記載に基づき、各部を、図示しないCPUや、インストールされたアプリケーションプログラムのモジュールや、システムプログラムのモジュールや、ハードディスクから読み出したデータの内容を一時的に記憶する半導体メモリなどにより実現できることは本明細書に触れた当業者には理解される。 Based on the description of the present embodiment, each unit temporarily stores a CPU (not shown), an installed application program module, a system program module, and the contents of data read from the hard disk. It will be understood by those skilled in the art who have touched this specification that it can be realized by a semiconductor memory or the like.
本実施の形態に係るクライアント装置106によると、輻輳についてのフィードバックである輻輳値を利用して、ユーティリティ公平フレームワークにしたがい公平なビットレート基準値が決定される。したがって、多くのクライアント装置が輻輳フィードバックのガイドの下で協調して動作するので、公平さを担保することができ、またシステム全体のユーティリティを最大化することができる。
According to the
また、本実施の形態に係るクライアント装置106によると、多くのユーザの間でサービス品質と公平さを最適化することができる。特に、複数のユーザがネットワークのボトルネックを共有する場合、それらのユーザにおける輻輳値はボトルネックにおける輻輳プライスが支配的となり、同等となる。したがってそれらのユーザの間での公平さを担保することができる。
Further, according to the
また、本実施の形態に係るクライアント装置106では、マルチレベルシグモイド関数がユーティリティ関数として使用される。マルチレベルシグモイド関数は階段関数よりもビットレートの増大に対してより保守的なので、バッファ136のアンダーラン(underrun)が発生する確率をより低減できる。
In the
また、本実施の形態に係るクライアント装置106によると、同じまたは同様な経路でセグメントファイルを受信する複数のクライアント装置が指定する次のセグメントのビットレートは同じになる場合が多くなる。したがって、その経路上に設けられたキャッシュに要求される容量を低減することができる。例えば、図1に示されるトポロジにおいて、ノード2、3、4が同時にノード7から同じコンテンツを要求する場合を考える。ノード2、3、4における輻輳値はそれぞれ(λ7,6+λ6,2)、(λ7,6+λ6,3)、(λ7,6+λ6,4)である。キャッシュであるノード6からノード2、3、4へのリンクの輻輳プライスλ6,2、λ6,3、λ6,4が同等である場合、各ノード2、3、4における輻輳値も同等となり、したがって指定されるビットレートも同じになる。この場合、キャッシュ(ノード6)は指定される同じビットレートのセグメントファイルのみをキャッシュすればよいので、指定されるビットレートがばらばらの場合と比較して必要な容量を低減できる。
In addition, according to the
また、本実施の形態に係るクライアント装置106ではユーティリティ公平フレームワークが使用される。該フレームワークは非弾性的アプリケーション(例えば、ストリーミング)および弾性的アプリケーション(例えば、FTP、Web、ダウンロード)が混ざったネットワークをサポートしている。したがって、配信システム100もまたそのようなネットワークをサポートできる。
In addition, the utility fair framework is used in the
以上、実施の形態に係るクライアント装置106の構成と動作について説明した。この実施の形態は例示であり、各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解される。
The configuration and operation of the
実施の形態では、輻輳値に基づいてビットレートの基準値が算出される場合について説明したが、これに限られず、ネットワークにおける輻輳の度合いを示す輻輳情報に基づいて次に要求するセグメントのビットレートを決定してもよい。この場合、輻輳情報は複数のリンクのそれぞれにおける輻輳プライスの累計を反映してもよい。あるいはまた、輻輳情報は、TCP/IPの拡張機能であるECN(Explicit Congestion Notification)などのネットワークにおける輻輳の状況を示す情報を含んでもよい。 In the embodiment, the case where the reference value of the bit rate is calculated based on the congestion value has been described. However, the present invention is not limited to this, and the bit rate of the segment to be requested next based on the congestion information indicating the degree of congestion in the network. May be determined. In this case, the congestion information may reflect the accumulated congestion price in each of the plurality of links. Alternatively, the congestion information may include information indicating the congestion status in the network such as ECN (Explicit Congestion Notification) which is an extended function of TCP / IP.
実施の形態では、輻輳プライスの累計の始点を配信サーバ(ソース)とする場合について説明したが、これに限られず、例えばキャッシュを累計の始点としてもよい。 In the embodiment, the case where the starting point of the accumulated congestion price is the distribution server (source) has been described. However, the present invention is not limited to this. For example, a cache may be used as the starting point of the accumulation.
実施の形態に係る配信システム100はHTTP(Hypertext Transfer Protocol)環境で実装されてもよい。あるいはまた、配信システム100はUDP(User Datagram Protocol)環境やCCN(Content-Centric Networks)環境で実現されてもよい。
The
100 配信システム、 104 ネットワーク、 106 クライアント装置、 108 アクセスクライアント、 110 メディアエンジン、 112 制御エンジン。 100 distribution system, 104 network, 106 client device, 108 access client, 110 media engine, 112 control engine.
Claims (8)
前記取得部によって取得された輻輳情報に基づいて、次に要求するセグメントのビットレートを決定する決定部と、を備えるクライアント装置。 An acquisition unit that acquires segment data of content that is divided into a plurality of segments and that can specify different bit rates for each segment, together with congestion information that indicates the degree of congestion in the network, and
A client device comprising: a determination unit that determines a bit rate of a segment to be requested next based on the congestion information acquired by the acquisition unit.
前記決定部は、前記算出部によって算出された基準値と次に要求するセグメントに対して指定可能な異なる複数のビットレートとの比較によりビットレートを決定する請求項1に記載のクライアント装置。 A calculation unit that calculates a reference value of the bit rate based on the congestion information acquired by the acquisition unit;
The client device according to claim 1, wherein the determination unit determines a bit rate by comparing the reference value calculated by the calculation unit with a plurality of different bit rates that can be specified for a next requested segment.
前記取得部によって取得された輻輳情報は、前記複数のリンクのそれぞれにおける輻輳の度合いの累計を反映する請求項1から5のいずれか1項に記載のクライアント装置。 Segment data is transmitted from the content source or cache to the client device through multiple links,
The client apparatus according to claim 1, wherein the congestion information acquired by the acquisition unit reflects a cumulative degree of congestion in each of the plurality of links.
前記取得された輻輳情報に基づいて、次に要求するセグメントのビットレートを決定することと、を含む方法。 Obtaining segment data of content that is divided into a plurality of segments and that can specify different bit rates for each segment together with congestion information indicating the degree of congestion in the network;
Determining a bit rate of a next requested segment based on the acquired congestion information.
前記取得された輻輳情報に基づいて、次に要求するセグメントのビットレートを決定する機能と、をコンピュータに実現させるコンピュータプログラム。 A function for acquiring segment data of content that is divided into a plurality of segments and that can specify different bit rates for each segment together with congestion information indicating the degree of congestion in the network, and
A computer program for causing a computer to realize a function of determining a bit rate of a segment to be requested next based on the acquired congestion information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016113780A JP2017220796A (en) | 2016-06-07 | 2016-06-07 | Client device and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016113780A JP2017220796A (en) | 2016-06-07 | 2016-06-07 | Client device and method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017220796A true JP2017220796A (en) | 2017-12-14 |
Family
ID=60656531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016113780A Pending JP2017220796A (en) | 2016-06-07 | 2016-06-07 | Client device and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017220796A (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016500986A (en) * | 2012-10-29 | 2016-01-14 | アルカテル−ルーセント | Method and apparatus for congestion management in a wireless network using mobile HTTP adaptive streaming |
-
2016
- 2016-06-07 JP JP2016113780A patent/JP2017220796A/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016500986A (en) * | 2012-10-29 | 2016-01-14 | アルカテル−ルーセント | Method and apparatus for congestion management in a wireless network using mobile HTTP adaptive streaming |
Non-Patent Citations (1)
Title |
---|
WEI-HUA WANG ET AL.: "Application-Oriented Flow Control: Fudamentals, Algorithms and Fairness", IEEE/ACM TRANSACTION ON NETWORKING, vol. Vol. 14, No. 6, JPN6019008969, 19 December 2006 (2006-12-19), pages pp. 1282-1291 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Intelligent edge-assisted crowdcast with deep reinforcement learning for personalized QoE | |
US10757453B2 (en) | Distributed multi-datacenter video packaging system | |
US7783773B2 (en) | Glitch-free media streaming | |
JP4972409B2 (en) | System for service location management considering node and network characteristics | |
US10659512B1 (en) | Optimizing adaptive bit rate streaming at edge locations | |
US11064230B2 (en) | Optimizing adaptive bit rate streaming for content delivery | |
Wang et al. | A joint online transcoding and delivery approach for dynamic adaptive streaming | |
JP2018110387A (en) | Method and system for bandwidth measurement and adaptive data transmission based on buffer in real time live environment | |
KR100671635B1 (en) | Service management using multiple service location managers | |
KR100755617B1 (en) | Method for adapting service location placement based on recent data received from service nodes and actions of the service location manager | |
JP2014192566A (en) | Video processing device, video processing method, and computer program | |
CN110191362B (en) | Data transmission method and device, storage medium and electronic equipment | |
EP1625724B1 (en) | System and method for selecting a service provider | |
JP2017220796A (en) | Client device and method | |
JP6466870B2 (en) | Client device and method | |
JP2009163440A (en) | Load distribution method, load distribution system, load distribution server and load distribution program | |
WO2018038789A1 (en) | Scalable, real-time messaging system | |
US11201901B2 (en) | Methods and systems for streaming media data over a content delivery network | |
Younus et al. | A model for a practical evaluation of a DASH-based rate adaptive algorithm over HTTP | |
US11470145B2 (en) | Server selection apparatus, server selection method and program | |
Khan et al. | Bandwidth Estimation Techniques for Relative'Fair'Sharing in DASH | |
JP7270344B2 (en) | Terminal equipment, bandwidth prediction equipment, and program | |
US11863615B2 (en) | Content management systems providing zero recovery time objective | |
Yoshihisa et al. | Models for Stream Data Distribution with Progressive Quality Improvement | |
Wang et al. | Joint Online Processing and Geo-Distributed Delivery for Dynamic Social Streaming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180815 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190315 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20191004 |