JP5588001B2 - メディアデータの転送時間をスケジューリングするための装置及び方法 - Google Patents

メディアデータの転送時間をスケジューリングするための装置及び方法 Download PDF

Info

Publication number
JP5588001B2
JP5588001B2 JP2012525042A JP2012525042A JP5588001B2 JP 5588001 B2 JP5588001 B2 JP 5588001B2 JP 2012525042 A JP2012525042 A JP 2012525042A JP 2012525042 A JP2012525042 A JP 2012525042A JP 5588001 B2 JP5588001 B2 JP 5588001B2
Authority
JP
Japan
Prior art keywords
media data
time
transfer
unit
rate
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
JP2012525042A
Other languages
English (en)
Other versions
JP2013502781A (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.)
Chinese University of Hong Kong CUHK
Original Assignee
Chinese University of Hong Kong CUHK
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 Chinese University of Hong Kong CUHK filed Critical Chinese University of Hong Kong CUHK
Publication of JP2013502781A publication Critical patent/JP2013502781A/ja
Application granted granted Critical
Publication of JP5588001B2 publication Critical patent/JP5588001B2/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
    • H04L47/00Traffic control in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • 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
    • 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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • 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
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

発明の詳細な説明
[関連出願]
本出願は、2009年8月21日付で出願された、発明の名称が「メディアデータの転送時間をスケジューリングするためのシステム及び方法」である、米国特許仮出願第61/235,987号の利益を主張する。米国出願第61/235,987号の内容は、その全体が、本出願の一部として参照により本明細書に組み込まれる。
[技術分野]
本出願は、メディアデータの転送時間をスケジューリングするための装置及び方法に関する。
[背景]
メディアストリーミングアプリケーションにおいて、データストリームは一連のデータセグメントから構成されており、該データセグメントは、所定のデータレート(或いは、可変ビットレートで符号化されたメディアデータの場合は、データレートプロファイル)でレシーバ(receiver)へ搬送(配信)されることとなる。それゆえ、レシーバは、後続のデータセグメントを受信すると同時に、受信したデータセグメントの再生を開始し得る。データセグメントに対して指定された再生時間の前に該データセグメントがレシーバへ搬送され得る限り、レシーバは、中断することなくメディアを連続して再生し続けることができる。
メディアデータの搬送は、トランスポートプロトコルによって実行される。トランスポートプロトコルには、例えばRTSP/RTPのように、メディアのストリーミング用に具体的に設計されたものがある。しかし、最近では、多くのメディアコンテンツは標準のHTTPプロコトルを用いて搬送され、そしてまた、標準のHTTPプロコトルは、TCPを用いてサーバからクライアントへデータを転送する。これによって、新たな問題が生じる。なぜなら、HTTP及びTCPのいずれもが、本来はメディアストリーミングアプリケーション用に設計されたものではないからである。
具体的には、TCPは、2つのタスクを実行する内蔵型輻輳制御メカニズムを有する。内蔵型輻輳制御メカニズムの1つ目のタスクは、転送レートを徐々に上げて、送信者(sender)からレシーバに到る経路における利用可能な帯域幅を検索することである。内蔵型輻輳制御メカニズムの2つ目のタスクは、パケット損失(packet loss)を監視することによってネットワークの輻輳を検知することであり、それによって、輻輳ウィンドウによって制御される転送レートを低下させて、ネットワークの輻輳を緩和し得る。典型的なTCPフローにおいては、ネットワーク帯域幅の制限を超えるまで、転送レートは徐々に上昇される。転送レートがネットワーク帯域幅の制限を超えると、パケット損失が生じるため、転送レートを低下させるために輻輳制御メカニズムが起動される。
しかしながら、(a)メディアストリームの要求帯域がわかっている場合、また、(b)ネットワークがメディアストリームの要求帯域を充分に満たす帯域を有している場合には、この輻輳制御メカニズムによって無用なパケット損失が生じるだろう。例えば、メディアストリームがデータレート(データ転送速度)200kbpsで符号化されており、かつ、ネットワークが(メディアストリームには極めて充分である)500kbpsの利用可能な帯域を有すると仮定すると、サーバ(例えばウェブサーバ)を用いてメディアストリームが搬送される場合に、当該ウェブサーバは、HTTPプロトコルを用いてメディアストリームデータをレシーバに送信しようとするであろうし、HTTPプロトコルは、TCPを用いて実際にデータを搬送するであろう。
そして、セッションの開始時には、サーバは低いデータレートで送信のみを行うが、TCPが輻輳ウィンドウを拡大するにつれて、転送レートはそれに伴って徐々に上昇する。最終的に、転送レートはネットワークが有する500kbpsの帯域制限を超え、それゆえ、パケット損失が生じることとなる。TCPは認識していないが、実際には、輻輳はTCP自身が誘発するものである。この輻輳によって、TCPの輻輳制御メカニズムが起動され、ネットワークの輻輳に対処するために、転送レートが著しく低下する。転送レートが再び上昇するまでにはある程度の時間がかかるだろう。ゆえに、達成される全体のスループットは、ネットワークの帯域(500kbps)よりも実質的に低く、場合によっては、メディアストリームのデータレート(200kbps)よりもさらに低くなることもある。また、後者の場合(スループットがメディアストリームのデータレートよりもさらに低くなった場合)には、再生に中断が生じるだろう。
図1では、TCPスループットを、3Gモバイルネットワークを介してHTTPを用いて250kbpsのメディアをストリーミングするための時間に対してプロットすることによって、上述の問題を説明する。TCPが別の帯域幅を探し続ける間、転送レートは、常に500kbps付近まで上昇していることがわかる。図2に示されるデータの深い落ち込みは、ストリーミングの継続時間全体に渡って繰り返し生じた自己誘導輻輳である。本実験において、ネットワークは(メディアストリームのデータレート250kbpsの2倍である)500kbpsまで対応可能であるが、達成された全体の平均スループットは、実際には、250kbps未満であった。ゆえに、ストリーミングの継続時間全体に渡って、再生が繰り返し中断され、低品質のサービスとなった。
[概要]
本出願における1つの局面によれば、複数のメディアデータユニットを構成するメディアデータを転送する時間をスケジューリングするための装置が開示される。該装置は、前記複数のメディアデータユニットのそれぞれを転送するための最遅時間(最後の時間、a latest time)を決定するように構成された、第1決定ユニットと、前記複数のメディアデータユニットのそれぞれを転送するための、最早時間(最先の時間、an earliest time)と絶対最早時間とを決定するように構成された、第2決定ユニットと、前記複数のメディアデータユニット毎の転送時間をスケジューリングするように構成された、スケジューリングユニットとを備え、前記複数のメディアデータユニットの1つについて決定された最遅時間が、前記1つのメディアデータユニットについて決定された最早時間以上である場合は、スケジューリングユニットは、決定された最早時間と、複数のメディアデータユニットの前記1つが転送のために該装置に当初配送された時間と、のうちのいずれか大きい方を、複数のメディアデータユニットの前記1つについての転送時間として選択し、そうでない場合は、前記スケジューリングユニットは、前記決定された絶対最早時間を転送時間としてスケジューリングする。
本出願における別の局面によれば、複数のメディアデータユニットを構成するメディアデータの受信時間をスケジューリングするための装置が開示される。該装置は、前記複数のメディアデータユニットについての最大転送レートを取得するための、取得(回収)ユニットと、前記最大転送レートと、過去のある時間間隔における、前記複数のメディアデータユニットについての短期データスループットとに基づいて、前記複数のメディアデータユニットのそれぞれを受信するための最早時間を決定する、第1決定ユニットと、前記決定された短期データスループットに基づいて、前記複数のメディアデータユニットのそれぞれを受信するための最遅時間を決定する、第2決定ユニットと、前記複数のメディアデータユニットのそれぞれに関する前記受信時間を、前記決定された最早時間から前記決定された最遅時間までの範囲内で最適化するための、スケジューリングユニットと、を備える。
本出願におけるまた別の局面によれば、メディアデータの受信時間をスケジューリングするための装置が開示される。該装置は、過去の転送期間におけるメディアデータについての短期データスループットを計算し、該計算された短期データスループットに基づいて、メディアデータのメディアデータユニットを受信するための最早時間を決定するように構成された、最早時間決定ユニットと、メディアデータユニットのそれぞれを受信する時間を、計算された最早時間よりも遅くなるようにスケジューリングするように構成された、スケジューリングユニットと、を備える。
本出願におけるもう1つの局面によれば、複数のメディアデータユニットを構成するメディアデータを転送する時間をスケジューリングするための方法が開示される。該方法は、前記複数のメディアデータユニットのそれぞれを転送するための最遅時間を決定する工程と、前記複数のメディアデータユニットのそれぞれを転送するための、最早時間と絶対最早時間とを決定する工程と、前記複数のメディアデータユニット毎の転送時間をスケジューリングする工程とを含み、該スケジューリングする工程には、前記複数のメディアデータユニットの1つについて決定された最遅時間が、前記メディアデータユニットについて前記決定された最早時間以上である場合は、前記決定された最早時間と、前記メディアデータユニットが転送のために配送された時間と、のうちのいずれか大きい方を、前記メディアデータユニットについての前記転送時間として選択し、そうでない場合は、前記決定された絶対最早時間を前記転送時間としてスケジューリングすることがさらに含まれる。
本出願における別の局面によれば、メディアデータの受信時間をスケジューリングするための方法が開示される。該方法は、前記メディアデータの複数のメディアデータユニットを受信する工程と、再生するために前記複数のメディアデータユニットのそれぞれが復号化されるようにスケジューリングされている時間と、前記複数のメディアデータユニットの最大転送レートとを取得する工程と、最大転送レートと、過去のある時間間隔における、前記複数のメディアデータユニットについての短期データスループットとに基づいて、前記複数のメディアデータユニットのそれぞれを受信するための最早時間を決定する工程と、前記の決定された時間に基づいて、前記複数のメディアデータユニットのそれぞれを受信するための最遅時間を決定する工程と、前記複数のメディアデータユニットのそれぞれに関する受信時間を、決定された最早時間から決定された最遅時間までの範囲内で最適化する工程と、を含む。
先行技術における、3Gモバイルネットワーク中の時間に対するTCPスループットを示す説明図である。 サーバベースのアプリケーション層ソリューションに関する2つの設計モデルを示す説明図である。 本出願における1つの実施形態によるスケジューラを示すブロック図である。 本出願における別の実施形態によるスケジューラを示すブロック図である。 適応型メディアデータレートを推定するためのソリューションを示す説明図である。 本出願における別の実施形態によるスケジューラを示すブロック図である。 本出願におけるもう1つの実施形態によるスケジューラを示すブロック図である。 本出願におけるさらなるの実施形態によるスケジューラを示すブロック図である。 本出願におけるさらに別の実施形態によるスケジューラを示すブロック図である。 (a)は、サーバ側(a)に実装されたネットワークベースのソリューションを示す説明図であって、(b)は、クライアント側(b)に実装されたネットワークベースのソリューションを示す説明図である。 本出願における1つの実施形態による、メディアデータについての転送時間のスケジューリングを説明する、フローチャートである。 本出願における別の実施形態による、メディアデータについての転送時間のスケジューリングを説明する、フローチャートである。
[詳細な説明]
以下、添付の図面を参照して、本出願における例示的実施形態を説明する。
以下に説明される実施形態において、データストリームまたはメディアデータは、サーバまたはクライアントに位置し得るスケジューラにて処理される。本説明中では、スケジューラがサーバにあるソリューションをサーバベースのソリューションと称し、スケジューラがクラインアントにあるソリューションをクライアントベースのソリューションと称する。さらに、ネットワークベースのソリューションについても説明する。
1.サーバベースのソリューション
サーバベースのソリューションは、メディアストリームデータを搬送するサーバの一部として実装されるように設計されている。また、図2に示されるように、サーバベースのソリューションは、アプリケーションサーバの一部として、あるいは、アプリケーションサーバと共に実行される補完的なシステムモジュールとして、実装されてもよい。サーバベースのソリューションにおける主要な要素は、転送スケジューラである。転送スケジューラは、サーバアプリケーション層とネットワークトランスポート層との間のインターフェースである。転送スケジューラの機能は、搬送されたデータの転送レートを間接的に制御する方法として、アプリケーション層からネットワークトランスポート層までのデータフローを制御することである。
図3は、本出願における1つの実施形態によるスケジューラ100を示す説明図である。転送スケジューラ100は、2つの入力パラメータ、すなわち、(a)最小データレートRminと(b)最大転送レートRmaxとを用いて動作し得る。t及びs(ここで、iは0、1、…)を、それぞれ、搬送のための転送スケジューラに配送されたi番目のメディアデータユニットの時間及び(バイトでの)サイズとする。uを、メディアデータユニットiが、搬送のための転送プロトコルに配送された時の実際の時間、すなわち、スケジューリングされた転送時間とする。転送スケジューラは、{t、s}が与えられた場合に、(a)長期平均データスループットがRmin以上であり、かつ、(b)短期データレートがRmaxを超えないように、{u}を決定することを目的とする。
図3に示されるように、転送スケジューラ100は、最遅時間決定ユニット101と、最早時間決定ユニット102と、スケジューリングユニット203と、比較ユニット104とを有する。
原則として、メディアデータユニットi=0は、常に、直ちに転送される。すなわち、u=tである。また、後続のメディアデータユニット(すなわち、i>0)に対してスケジューリングされた転送時間は、ユニット101〜104から決定されるが、これについては以下に説明する。
1.1.例1−固定レートメディアデータ
1)最遅時間決定ユニット101
本例において、最遅時間決定ユニット101は、メディアデータユニットのうちの、i番目のメディアデータユニットを転送するための最遅時間vを決定するように動作する。具体的には、最遅時間決定ユニット101は、まず、全体の平均データスループットを以下の数式により決定する。
Figure 0005588001
上記数式において、Tは、長期平均化ウィンドウ持続時間を調整するための設定可能なパラメータであり、tは、現在の時間である。T=∞とおいて、平均化ウィンドウは、全体のメディアセッションを網羅し、また、全体の平均データスループットに相当する。次に、最遅時間決定ユニット101は、全体のデータスループットが最小レートRminを超えて維持され得るように、以下の数式から、i番目のメディアデータユニットを転送するための最遅時間vを決定する。
Figure 0005588001
2)最早時間決定ユニット102
最早時間決定ユニット102は、C(T,t)にて表される、過去T秒間の短期データスループットを決定する。ここで、Tは平均化ウィンドウ持続時間を調整するための設定可能なパラメータであり、tは現在の時間である。
Figure 0005588001
同様に、最早時間決定ユニット102は、i番目のメディアデータユニットを転送するための最早時間を、以下の数式によって決定するように動作する。
Figure 0005588001
上記数式において、ρ∈[Rmin/Rmax,1]は、メディアストリームの目標短期データスループットを調整するための設定可能なパラメータである。一般的には、目標データスループットをRminに設定することは望ましくない。なぜなら、メディアデータユニットは、トランスポート層に配送された直後に転送され得るという保証が無いからである。例えば、TCPが、輻輳ウィンドウを大幅に縮小させるような輻輳制御を開始させたならば、TCPは、当該輻輳ウィンドウが回復するまで、新たに配送されたメディアデータを転送しないだろう。それゆえ、さらなる遅延によって、スケジューリングされた時間を超えてwが増加し、その結果、データスループットは予測を下回ることとなるだろう。ゆえに、十分な量のメディアデータを予定よりも早く転送して上述の余分な遅延を吸収し得るように、Rminよりも高いデータスループットを目標とすることが望ましい。
その一方で、目標データスループットをRmaxに設定することも望ましくない。なぜなら、Rmaxは、ネットワークの最大帯域幅容量を表すために選択されることもあるからである。多くのネットワークでは、最大帯域幅容量は保証されていない。最大帯域幅容量は、例えば、シグナルの品質、競合するトラフィック等の他の要因の影響を受け得るため、その時々で変動し得る。Rmaxによって、短期転送レートがネットワークの最大容量を超えないことを確実とさせることを目的とする。ここで、ネットワークの最大容量は、ハードリミット(hard limit)であり、このリミットを超えると輻輳が生じる。そのため、Rmaxより低いがRminよりも高いデータスループットを目標とすることによって、システムは、自己誘導のネットワーク輻輳を引き起こすことなく、予定よりも早くメディアデータを転送し得る。
3)スケジューリングユニット103
決定された最遅転送時間vと最早転送時間wとを用いて、スケジューリングユニット103は、メディアデータユニット毎の転送時間をスケジューリングするように構成されている。具体的には、スケジューリングユニット103は、メディアデータユニット毎のスケジューリングされた転送時間と現在の時間tとを比較し、スケジューリングされた転送時間uが現在の時間t以下の場合には(スケジューリングされた転送時間uが現在の時間tを越えていない場合は)、スケジューリングユニット103は、直ちに各メディアデータユニットを転送する。また、スケジューリングされた転送時間uが現在の時間tを越えている場合には(スケジューリングされた転送時間uが現在の時間tよりも後である場合は)、(t−u)に等しい時間待機した後に、i番目のメディアデータユニットを転送する。1つの実施形態では、v≧wならば、スケジューリングユニット103は、スケジューリングされた転送時間をwとして設定する。すなわち、以下の数式にて表される。

ui=max{wi,ti}, if vi≧wi (式2.5)

そうでなければ、v<wならば、たとえメディアデータユニットiが最早転送時間wにて転送されるべきであっても、全体のデータスループットは既に最小レートRminより低くなっていることを示唆する。この場合、既に最小レートRminが維持されていないので、スケジューリングユニット103は、直ちにメディアデータユニットを転送すべきである。しかしながら、その時点の短期データレートによっては、この転送は最適ではないかもしれない。なぜなら、Rmaxを超えるレートで転送することによって自己誘導のネットワーク輻輳が引き起こされ、当該ネットワーク輻輳は、さらに、トランスポート層によって達成可能なデータスループットを著しく低下させるからである。
それゆえ、v<wの場合は、スケジューリングユニット103は、短期レートの最大値Rmaxを超えないように、メディアデータが最早時間にて転送されるようにメディアデータをスケジューリングする。すなわち、以下の数式にて表される。
Figure 0005588001
4)比較ユニット104
最後に、比較ユニット104は、スケジューリングされた転送時間uと現在の時間tとを比較する。スケジューリングされた転送時間uが現在の時間t以下の場合には、比較ユニット104は、直ちにi番目のメディアデータユニットを転送する。そうでなければ、スケジューリングされた転送時間uが現在の時間tを越えている場合には、比較ユニット104は、(t−u)に等しい時間待機した後に、i番目のメディアデータユニットを転送する。
1.2.例2−VBR符号化メディアストリーム
例1では、最小レート下限(最小レート制限)Rminをメディアデータレートと一致させて構成し得るように、メディアデータレートは固定であると仮定されていた。ビットレートプロファイルが既知の場合は、転送スケジューラ100は、可変ビットレート(VBR)符号化メディアストリームの拡張についてのストリーミングをサポートするまでに拡大され得る。
を、メディアデータユニットiについての所定の再生時間とする。{p}の集合が事前に与えられているならば、スケジューラは、例1にて説明されたスケジューリング方法に、pを組み入れてもよい。具体的には、VBR符号化メディアストリームには長期平均データスループットが有用ではないので、最小レート下限Rminを修正する。長期平均データスループットは、短期可変最小レート下限Rmin(t)と置き換えられる。短期可変最小レート下限Rmin(t)は、メディア再生時間に依存する関数である。本例において、スケジューラ100は、さらにRmin(t)決定ユニット105を備えてもよい。Rmin(t)決定ユニット105は、以下の数式から、短期可変最小レート下限Rmin(t)を決定する。
Figure 0005588001
上記数式において、tはメディアストリームの再生時間であり、sはメディアデータユニットiのサイズであり、α(α≧1)は、最小レート下限を微調整するための倍率である。
定義されたRmin(t)を用いて、スケジューラ100は、以下のように、転送のためにメディアデータユニットのスケジューリングを行う。まず、メディアデータユニットi=0は、常に、直ちに転送される。次に、後続のメディアデータユニット(すなわち、i>0)に対してスケジューリングされた転送時間は、以下の手順から決定されるが、当該手順についても、ユニット101〜104を参照して説明する。
最遅時間決定ユニット101は、全体の平均データスループットC(t)を数式(2.1)により決定する。次に、最遅時間決定ユニット101は、短期データスループットが最小レートRmin(t)を超えて維持され得るように、以下の数式から、メディアデータユニットiを転送するための最遅時間を決定する。
Figure 0005588001
次に、最早時間決定ユニット102は、短期データスループットC(T,t)を数式(2.3)によって決定し、この短期データスループットC(T,t)を用いて、メディアデータユニットiを転送するための最早時間wを、数式(2.4)によって決定する。
決定された最遅転送時間vと最早転送時間wとを用いて、スケジューリングユニット103は、転送スケジューラにて、メディアデータユニット毎の転送時間をスケジューリングするように構成されている。具体的には、v≧wならば、スケジューリングユニット103は、スケジューリングされた転送時間uをwとして設定する。すなわち、以下の数式にて表される。

ui=max{wi,ti}, if vi≧wi (式2.9)

そうでなければ、v<wならば、たとえメディアデータユニットiが最早転送時間wにて転送されるべきであっても、全体のデータスループットは既に最小レートRmin(t)より低くなっていることを示唆する。この場合、スケジューリングユニット103は、短期レートの最大値Rmaxを超えないように、メディアデータが最早時間にて転送されるようにメディアデータをスケジューリングする。すなわち、以下の数式にて表される。
Figure 0005588001
最後に、比較ユニット104は、uと現在の時間tとを比較する。u≦tならば、スケジューリングされた転送時間が既に経過しており、スケジューラは、直ちに、メディアデータユニットを、搬送のため、ネットワークトランスポート層へ配送する。そうでなければ、u>tならば、比較ユニット104は、(t−u)に等しい時間待機した後に、メディアデータユニットを、搬送のため、ネットワークトランスポート層へ配送する。
1.3.例3−メディアデータレート推定の拡張
ライブストリーミングのようなアプリケーションでは、正確なメディアデータレートは、事前には(a priori)わからないかもしれない。本例では、データ生成プロセスを監視してメディアデータレートを推定することによって、この問題に対処する。図5は、該システムにおけるデータフローを示す。外部のメディアエンコーダは、データレートが未知の符号化メディアデータユニットを生成し、クライアントに対してストリーミングするために、該符号化メディアデータユニットを(例えば、ネットワークを通して、あるいは、共有のストレージ装置を通して)サーバへ配送する。符号化データレートは未知であるが、やはり、メディアデータユニットが生成されるレートとは関連がある。ゆえに、メディアデータユニットが生成されるレートを計測することによって、転送スケジューラは、Rmin(t)を適宜推定して適合させる。
具体的には、本例では、スケジューラ100は、図6に示されるように、推定ユニット106をさらに備えてもよい。推定ユニット106は、短期最小レート下限Rmin(t)を推定する。gを、メディアデータユニットiの生成時間とする。推定ユニット106は、以下の数式によって短期最小レート下限Rmin(t)を推定する。
Figure 0005588001
上記数式において、tはメディアストリームの再生時間であり、sはメディアデータユニットiのサイズであり、Tは平均化ウィンドウ持続時間であり、α(α≧1)は、最小レート下限を微調整するための倍率である。
ユニット101〜104によってなされるその他のスケジューリング手順は、例2における数式(2.8)から(2.10)を参照して説明されたスケジューリング手順と同様である。
このモデルには潜在的な問題が1つあり、その問題は、メディアエンコーダが、転送データユニットよりも著しく大きいメディアデータユニットを出力する場合に生じる。例えば、転送スケジューラが、キロバイト(KB)の単位で転送用データをスケジューリングする一方で、メディアエンコーダは、メガバイト(MB)という大きな量でメディアデータを出力することがある。これによって2つの問題が生じる。1つ目の問題は、スケジューラ100は、完全なユニットとして大きなメディアデータユニットを、搬送のためのトランスポートプロトコル層へ配送することができないかもしれないことである。この場合、当該大きなメディアデータユニットを、搬送用に小さなユニットへ分割することが必要となろう。2つ目の問題は、メディアデータユニットが生成された瞬間にメディアストリームデータレートが推定されるので、当該推定されたデータレートが、大きなメディアデータユニットによって著しく変動され得ることである。例えば、新たなメディアデータユニットが生成されて、スケジューラ100に搬送された場合に、その推定されたデータレートは急上昇するだろう。
この2つの問題を解決するために、スケジューラ100は、大きな入力メディアデータユニットを、トランスポート層による搬送用の複数の小さなメディアデータユニットに分割してもよい。さらに、データ生成時間gは、細分されたメディアデータユニットのデータ生成時間を表すために修正されるが、この修正は、該入力メディアデータユニットのデータ生成時間を補間することによってなされる。例えば、大きな入力メディアデータユニットのそれぞれが、搬送用の小さなメディアデータユニットkに分割されたと仮定すると、修正されたメディアデータユニット生成時間は、以下の数式によって補間される。
Figure 0005588001
上記数式において、Gは、大きな入力メディアデータユニットiの実際の生成時間である。同様の補間方法を用いることが考えられるのは、可変サイズの入力メディアデータユニット、可変分割因数k、及び、可変サイズの出力メディアデータユニットの場合である。
1.4 例4−可変ネットワーク帯域幅の拡張
利用可能なネットワーク帯域幅の容量が可変または事前に知られていない場合に、スケジューラ100はさらに拡張される。この場合、Rmaxはもはや既知の定数ではなく、Rmaxを推定するために他の方法が必要となろう。
本例では、スケジューラ100は、Rmax(t)推定ユニット107をさらに備えてもよい。推定ユニット107は、最大ネットワーク帯域幅容量Rmax(t)を推定する。ユニット101〜104の転送スケジューリング手順を修正して、数式(2.4)から(2.6)におけるRmaxをRmax(t)と置き換えることで、最大ネットワーク帯域幅容量Rmax(t)を組み入れ得る。ユニット101及び102によるその他の手順は同様であるため、本明細書中では繰り返し説明されない。
1.5 例5−マルチセグメントメディアストリームの拡張
クライアントから個別にリクエストされた複数のセグメントを含んでメディアストリームが構成されている場合に、スケジューラ100はさらに拡張される。例えば、クライアントが個別のリクエスト(例えば、HTTP GET リクエスト)を送信して、当該セグメントの搬送を個別にリクエストする場合には、メディアストリームは、固定のサイズのセグメント、または、固定の時間のセグメントに分割され得る。これについての主な相違は、クライアントからのリクエストがあるまでメディアセグメントが転送されないため、スケジューラにはさらなる制約が課されることである。
マルチセグメントメディアストリームに適合する方法の1つは、クライアントからリクエストを受信した場合にのみスケジューラを実行することである。この場合、スケジューラは、リクエストされたメディアセグメントに含まれる全てのメディアデータユニットを決定かつスケジューリングする。そして、スケジューラは、クライアントからの次のリクエストを待って待機する。この方法は、メディアデータレートとネットワーク帯域幅容量とが、共に事前にわかっている場合に好適である。
より一般的な方法は、クライアントのリクエストから独立してスケジューラを実行させるが、メディアデータユニットに関連付けられたセグメントリクエストがクライアントから到着するまで、当該メディアデータユニットに対してスケジューリングされた転送時間を遅延させることである。その他のスケジューリング手順は同様であるため、本明細書中ではその詳細の説明を省略する。
1.6 例6−拡張の組み合わせ
例2から例5における3つの拡張については、所望の拡張からの手順を統合し、対象とするネットワーク/アプリケーションの特性に合うように当該3つの拡張を組み合わせてもよい。この統合手順は容易であるため、本明細書中では繰り返し説明されない。
II.クライアントベースのソリューション
クライアントベースのソリューションは、例えば、クライアントのアプリケーションソフトウエア、オペレーティングシステム、ファームウエアの一部として、あるいは、クライアントのアプリケーションソフトウエアと並行して実行される補完的なソフトウエアとして、クライアントの装置内に実装されるように設計されている。
図8は、本出願における1つの実施例による、レセプションスケジューラ200を説明するブロック図である。レセプションスケジューラ200は、2つの入力パラメータ、すなわち、(a)再生するためにメディアデータユニットiが復号化された場合の、メディアストリームの開始に関する時間として定義された、{p}の集合と、(b)最大転送レートRmaxとを用いて動作し得る。t及びs(ここで、i=0、1、…)を、ネットワークトランスポート層から受信したi番目のメディアデータユニットの時間及び(バイトでの)サイズとする。レセプションスケジューラは、(a)メディアデータユニットの再生時間前に、当該メディアデータユニットが到着するように、かつ、(b)短期データレートがRmaxを超えないように、{t}の集合を決定することを目的とする。
スケジューラ200による手順において原則となるのは、レシーバ/クライアントがネットワークトランスポート層からのデータ受信を制御することによって、送信者から送られるメディアデータのフローを間接的に制御することである。例えば、TCPがトランスポート層として用いられている場合には、TCPのフローを制御することで、送信者/サーバがレシーバの利用可能なバッファよりも多いデータを決して転送しないことが確実となるだろう。これは、レシーバが、利用可能なバッファを、センダーに戻される確認パケットのフィールドとして送り戻すことによって達成される。仮に、利用可能なxバイトのバッファスペースがレシーバにあることがレシーバから報告されたとすると、たとえ転送待ちのデータがxバイトより多くあるとしても、送信者は、xバイトを超えないデータを送信するようにとどめる。
それゆえ、レシーバが、ネットワークトランスポート層からのデータ受信を中断した場合には、トランスポート層の内部バッファが最終的には満杯となり、センダーに対してもデータの送信を停止させる。この種のフロー制御メカニズムを利用して、レシーバは、ネットワークトランスポート層からデータを受信する際のレシーバ自身のタイミングを制御することで、センダーのデータフローを間接的に制御し得る。
具体的には、図8に示されるように、スケジューラ200は、取得(回収)ユニット201と、最早時間決定ユニット202と、最遅時間決定ユニット203と、スケジューリングユニット204とを備える。取得ユニット201は、再生のためにi番目のメディアデータユニットの復号化がスケジューリングされている時間pと、メディアデータユニットに関する最大転送レートRmaxとを取得するように動作する。最早時間決定ユニット202は、最大転送レートRmaxによってi番目のメディアデータユニットを受信するための最早時間wと、過去のある時間間隔における、メディアデータユニットについての短期データスループットとを決定するように動作する。最遅時間決定ユニット203は、決定された時間pから、複数のメディアデータユニットのうちのi番目のメディアデータユニットを受信するための最遅時間vを決定するように動作する。スケジューリングユニット204は、i番目のメディアデータユニットの受信時間を、wからvの範囲内で最適化するために用いられる。
短期データレートが、Rmaxを超えないようになされている場合は、最早時間決定ユニット202は、まず、C(T,t)にて表される、過去T秒間における、受信されたメディアデータについての短期データスループットを決定する。ここで、Tは、平均化ウィンドウ持続時間を調整するための設定可能なパラメータであり、tは現在の時間である。
Figure 0005588001
そして、最早時間決定ユニット202は、以下の数式によって、メディアデータユニットiを受信するための最早時間wを決定する。

=min{t|(C(Ts,t)min{Ts,t-t0}+si)/min{Ts,t-t0}≦ρRmax} (式3.2)

上記数式において、ρ∈[Rmin/Rmax,1]は、メディアストリームの目標短期データスループットを調整するための設定可能なパラメータである。
また、最遅時間決定ユニット203は、メディアデータユニットiを受信するための最遅時間vを決定するように動作する。メディアデータユニットiは、再生時間pで再生されるように、メディアデータユニットiの復号化がスケジューリングされているため、スケジューラは、メディアデータユニットiを再生時間pよりも前に受信しなければならない。すなわち、以下の数式にて表される。

≦t+p+Δ (式3.3)

上記数式において、Δは、t0(1番目のメディアデータユニットの受信)からメディアの再生開始までの時間である。すなわち、これは、多くのメディアプレーヤーにおける先読みバッファである。
次に、スケジューリングユニット204は、他の制約や目的に基づき、受信時間をwからvの範囲内でさらに最適化するために用いられ得る。例えば、クライントは、再生のために復号化される前のメディアデータを受信し、当該受信したメディアデータを一時的に記憶するためのメディアデータのバッファサイズ(例えば、Bバイト)が制限されていることが多い。この場合、メディアデータのバッファがオーバーフローしないように、受信時間は、wよりも遅い時間にスケジューリングされる必要がある。また、パケット損失が生じる可能性を低減するため、または、他のデータフローに対して帯域幅を利用可能とするため、或いは、また別の理由によって、クライアントが、最大レートRmaxよりも低いレートにてデータを受信することを好むこともある。この場合、適宜、スケジューリングユニット204によって、受信時間をwよりも遅い時間にスケジューリングする必要があるだろう。
また、スケジューラ200は、比較ユニット205をさらに備える。比較ユニット205は、vと現在の時間tとを比較する。v≦tならば、スケジューリングされた受信時間が既に経過しており、比較ユニット205は、直ちにネットワークトランスポート層からメディアデータユニットを受信する。また、v>tならば、比較ユニット205は、(t−v)に等しい時間待機した後に、ネットワークトランスポート層からメディアデータユニットを受信する。
上述のように、スケジューラ200に関するクライアントベースの受信スケジューリングは、VBR符号化メディアストリームを既にサポートしている。{p}の集合は、メディアストリームのビットレートプロファイルを充分に説明しており、それゆえ、そのタイミングの必要条件は、受信スケジューラに既に組み込まれている。
利用可能なネットワーク帯域幅の容量が可変または事前に知られていない場合に、スケジューラ200はさらに拡張される。この場合、Rmaxはもはや既知の定数ではなく、Rmaxを推定するために別の方法が必要となろう。この場合、図9に示されるように、スケジューラ200は、最大レート推定ユニット206をさらに備えてもよい。最大レート推定ユニット206は、ネットワーク帯域幅容量、つまり、Rmax(t)を推定する。ユニット201〜204の受信スケジューリング手順を修正して、数式(3.2)におけるRmaxをRmax(t)と置き換えることで、ネットワーク帯域幅容量Rmax(t)を組み入れ得る。ユニット201〜205によるその他の手順は上述の手順と同様であるため、本明細書中では繰り返し説明されない。
III.ネットワークベースのソリューション
ネットワークベースのソリューションは、ネットワークインフラの一部として実装されるように設計されており、それゆえ、サーバ及びクライアントのいずれもが修正される必要はない。図10には、ネットワークベースのソリューションを実装する2つの方法が示されている。サーバとクライアントとの間にゲートウェイが導入されており、サーバとクライアントとの間を通る全てのデータトラフィックは、ゲートウェイを通過する。これは、ゲートウェイ中間ネットワーク接続部を物理的に挿入することによって、或いは、ゲートウェイに対する論理的なルートデータトラフィックを用いることによって、なされ得る。
サーバとゲートウェイとの間のネットワーク経路がボトルネック(bottleneck)とならない場合は、ゲートウェイは、転送スケジューラ100を実行して、クライアントに対してサーバから受信したメディアデータユニットの転送をスケジューリングする。ここで、tは、サーバからメディアデータユニットiが受信された時間を示すだろう。ゲートウェイは、単に、ゲートウェイ自身のバッファ及び他の制約の影響を受けつつも可能な限り速やかに、サーバからメディアデータユニットを受信する。
逆に、サーバとゲートウェイとの間のネットワーク経路がボトルネックとなる場合は、ゲートウェイは、受信スケジューラ200を実行して、サーバから受信したメディアデータユニットの受信をスケジューリングする。ここで、tは、サーバに接続されたネットワークトランスポート層からのメディアデータユニットiの受信がスケジューリングされている時間を示すことになる。ゲートウェイは、単に、ゲートウェイの他の制約があれば、その影響を受けつつも可能な限り速やかに、メディアデータユニットをクライアントへ送信する。
本出願による、メディアデータの転送時間をスケジューリングするための装置が、上述のように説明されてきた。以下、本出願による、メディアデータの転送時間をスケジューリングする方法を説明する。
図11は、本出願における1つの実施形態による、メディアデータ転送時間のスケジューリングを示すフローチャートである。ここでは、メディアデータは、複数のメディアデータユニットを含んで構成されている。図11に示されるように、ステップS1101では、上述したように、例えば転送スケジューラ100によって、複数のメディアデータユニットのうちのi番目のメディアデータユニットを転送するための最遅時間vを決定する。最遅時間vの決定は、次のようになされ得る。すなわち、該複数のメディアデータユニットに関する全体の平均データスループットC(t)と最小データレートRminとに基づき、該複数のメディアデータユニットに関する全体の平均データスループットが最小データレートRminを超えて維持されるように、決定される。具体的には、数式(2.1)及び(2.2)、または(2.8)に規定されるルールによって、ステップS1101が実行され得る。
ステップS1102では、各メディアデータユニットを転送するための最早時間wを決定する。最早時間wは、過去の転送期間における、メディアデータユニットに関する短期データスループットC(T,t)と短期レート最大値Rmaxとによって決定され得る。具体的には、数式(2.3)及び(2.4)に規定されるルールによって、ステップS1102が実行され得る。
ステップS1103では、i番目のメディアデータユニットに関する転送時間uは、最遅時間vまたは最早時間wに基づき、以下のルールによって、スケジューリングされる。そのルールとは、v≧wならば、u=max{w,t}であり、この数式において、tは、i番目のメディアデータユニットに関する所定の転送時間を表す。また、v<wならば、メディアデータユニットの短期レート最大値Rmaxを超えないように、最早時間wで転送時間uをスケジューリングする。
最後に、ステップS1104では、スケジューリングされた転送時間uは、現在の時間tと比較される。スケジューリングされた転送時間uが現在の時間t以下の場合は、i番目のメディアデータユニットは直ちに転送されるが、そうでなければ、(t−u)に等しい時間待機した後に、i番目のメディアデータユニットを転送する必要がある。
1つの実施形態では、最小レート下限Rminをメディアデータレートと一致させて構成し得るように、メディアデータレートは一定であると仮定されていた。別の実施形態では、数式(2.7)〜(2.10)に関する内容と同一であるビットレートプロファイルが既知の場合は、図11に示されるような転送方法を、VBR符号化メディアストリームのストリーミングをサポートするまでに拡大され得る。
ライブストリーミングのようなアプリケーションでは、正確なメディアデータレートは、事前にはわからないかもしれない。上述の方法においては、データ生成プロセスを監視してメディアデータレートを推定することによって、この問題に対処する。例えば、メディアデータユニットが生成されるレートまたは時間に基づいて、短期最小レート下限Rmin(t)を推定してもよい。
上述された方法は、サーバホストにおけるサーバアプリケーション層とネットワークトランスポート層との間で実行し得る、或いは、サーバホスト側にあるゲートウェイにおいて実行し得る。
図12は、本出願における別の実施形態による、メディアデータ転送時間のスケジューリングを示すフローチャートである。図12に示されるように、ステップS1201では、メディアデータにおける複数のメディアデータユニットが受信される。また、ステップS1202では、再生のためにi番目のメディアデータユニットの復号化がスケジューリングされている時間pが取得され、また、メディアデータユニットに関する最大転送レートRmaxが取得される。{p}の集合が事前に与えられているならば、図11に示されたスケジューリング方法に、当該集合を組み入れてもよい。具体的には、VBR符号化メディアストリームには長期平均データスループットが有用ではないので、最小レート下限Rminを修正する必要がある。最小レート下限Rminは、短期可変最小レート下限Rmin(t)と置き換えられる。短期可変最小レート下限Rmin(t)は、数式(2.7)によって計算されたメディア再生時間に依存する関数である。
そして、ステップS1203では、数式(3.1)及び(3.2)を参照して説明されたように、最大転送レートRmaxと、過去のある時間間隔におけるメディアデータユニットについての短期データスループットとに基づいて、i番目のメディアデータユニットを受信するための最早時間wを決定する。
ステップ1204では、決定された時間pから、複数のメディアデータユニットのうちのi番目のメディアデータユニットを受信するための最遅時間vを、数式(3.3)に規定されたルールによって決定する。そして、ステップS1205にて、i番目のメディアデータユニットの受信時間は、wからvまでの範囲内で最適化される。例えば、クライントは、再生のために復号化される前のメディアデータを受信し、当該受信したメディアデータを一時的に記憶するためのメディアデータのバッファサイズ(例えば、Bバイト)が制限されていることが多い。この場合、メディアデータのバッファがオーバーフローしないように、受信時間は、wよりも遅い時間にスケジューリングされる必要がある。または、パケット損失が生じる可能性を低減するため、或いは、他のデータフローに対して帯域幅を利用可能とするため、クライアントが、最大レートRmaxよりも低いレートにてデータを受信することを好むこともある。この場合、適宜、受信時間は、wよりも遅い時間にスケジューリングされる必要があるだろう。
ステップS1206では、スケジューリングされた受信時間tは、現在の時間tと比較される。スケジューリングされた受信時間tが現在の時間t以下の場合は、i番目のメディアデータユニットは直ちに受信されるが、そうでなければ、(t−t)に等しい時間待機した後に、i番目のメディアデータユニットを受信する必要がある。
利用可能なネットワーク帯域幅の容量が可変または事前に知られていない場合に、図12に示されるように、本方法は拡張される。この場合、Rmaxはもはや既知の定数ではなく、Rmaxを推定するために他の方法が必要となろう。Rmax(t)を、推定されたネットワーク帯域幅容量とする。受信スケジューリング手順を修正して、数式(3.2)におけるRmaxをRmax(t)と置き換えることで、Rmax(t)を組み入れ得る。その他の手順は同様であるため、本明細書中では繰り返し説明されない。
本出願における実施形態について、添付の図面を参照して説明してきたが、本発明は、当該実施形態に限定されるものではない。本明細書の開示に基づいて、様々な修正例や変形例が当業者によってなされ得るが、そのような修正例及び変形例は本発明の範囲内とされるべきである。

Claims (26)

  1. 複数のメディアデータユニットを構成するメディアデータを転送する時間をスケジューリングするための装置であって、該装置は、
    前記複数のメディアデータユニットについての全体の平均データスループットと、前記複数のメディアデータユニットを転送するために利用できる最小データ転送レートとに基づいて、前記複数のメディアデータユニットのそれぞれを転送するための最遅時間vを決定することで、前記複数のメディアデータユニットの該全体のデータスループットが前記最小レートを超えて維持されるように、構成されている、第1決定ユニットと、
    過去の転送期間における、前記複数のメディアデータユニットの短期データスループットと前記複数のメディアデータユニットの短期レート最大値とに基づいて、前記複数のメディアデータユニットのそれぞれを転送するために利用できる、最早時間wを決定するように構成された、第2決定ユニットと、
    前記複数のメディアデータユニット毎の転送時間uをスケジューリングするように構成された、スケジューリングユニットとを備え、
    ≧wである場合は、前記スケジューリングユニットは、前記決定された最早時間と、前記複数のメディアデータユニットの前記1つが転送のために該装置に当初配送された時間と、のうちのいずれか大きい方を、前記複数のメディアデータユニットの前記1つについての前記転送時間として選択し、
    そうでない場合は、前記スケジューリングユニットは、以下の数式によって前記転送時間uをスケジューリングする、
    Figure 0005588001
    上記数式において、
    tは、現在の時間であり、
    C(t)は、前記メディアデータについての時間間隔Tにおける長期データスループットを表し、
    は、1番目のメディアデータユニットの前記転送時間を表し、
    は、i番目のメディアデータユニットのサイズを表し、
    は、i番目のメディアデータユニットが転送のために当該装置に当初配送された時間を表す、
    ことを特徴する装置。
  2. 前記複数のメディアデータユニット毎の前記スケジューリングされた転送時間と、現在の時間とを比較するように構成されている、比較ユニットをさらに備え、
    前記スケジューリングされた転送時間が現在の時間以下の場合には、前記比較ユニットは、前記複数のメディアデータユニットのそれぞれを直ちに転送し、
    前記スケジューリングされた転送時間が前記現在の時間を越える場合には、前記比較ユニットは、前記現在の時間と前記スケジューリングされた転送時間との差に等しい時間待機し、その後、前記複数のメディアデータユニットのそれぞれを転送する、ことを特徴とする、請求項1に記載の装置。
  3. 前記メディアデータを転送するレートが固定であることを特徴とする、請求項1に記載の装置。
  4. 前記メディアデータは、VBR符号化メディアストリームを構成し、
    前記最小データ転送レートは、短期可変最小レート下限であり、かつ、前記メディアデータのメディア再生時間に依存することを特徴とする、請求項1に記載の装置。
  5. 前記メディアデータは、ライブストリーミングを構成し、
    前記最小データ転送レートは、短期最小レート下限であり、
    当該装置は、メディアデータユニットが生成されるレートまたは時間を計測し、かつ、該生成されたレートに基づいて前記短期最小レート下限を推定する、推定ユニットをさらに備えることを特徴とする、請求項1に記載の装置。
  6. 当該装置は、サーバホストにおけるサーバアプリケーション層とネットワークトランスポート層との間に配置されていることを特徴とする、請求項1に記載の装置。
  7. 当該装置は、サーバホスト側にあるゲートウェイに配置されていることを特徴とする、請求項1に記載の装置。
  8. 前記複数のメディアデータユニットのうちのメディアデータユニットiについての前記最遅時間vは、第1ルールである、
    Figure 0005588001
    によって計算され、
    上記数式において、
    tは、現在の時間であり、
    C(t)は、前記メディアデータについての時間間隔Tにおける長期データスループットを表し、
    は、1番目のメディアデータユニットの前記転送時間を表し、
    は、i番目のメディアデータユニットのサイズを表し、
    は、i番目のメディアデータユニットが転送のために当該装置に当初配送された時間を表し、
    minは、許容される最小転送レートを表すことを特徴とする、請求項1に記載の装置。
  9. 前記複数のメディアデータユニットのうちのメディアデータユニットiについての前記最早時間wは、第2ルールである、
    Figure 0005588001
    によって計算され、
    上記数式において、
    tは、現在の時間であり、
    ρ∈[Rmin/Rmax,1]は、構成可能なパラメータであり、
    C(T,t)は、前記メディアデータについての時間間隔Tにおける短期データスループットを表し、
    は、1番目のメディアデータユニットについての前記転送時間を表し、
    は、i番目のメディアデータユニットのサイズを表し、
    は、i番目のメディアデータユニットが転送のために当該装置に当初配送された時間を表し、
    maxは、許容される最大転送レートを表し、
    minは、許容される最小転送レートを表すことを特徴とする、請求項1に記載の装置。
  10. 前記絶対最早時間は前記第2ルールから決定され、前記第2ルールにおいて、ρには数値1が設定されることを特徴とする、請求項9に記載の装置。
  11. 複数のメディアデータユニットを構成するメディアデータの受信時間をスケジューリングするための装置であって、該装置は、
    前記複数のメディアデータユニットについての最大転送レートを取得するための、取得ユニットと、
    前記最大転送レートと、過去のある時間間隔における、前記複数のメディアデータユニットについての短期データスループットとに基づいて、前記複数のメディアデータユニットのそれぞれを受信するために利用できる最早時間を決定する、第1決定ユニットと、
    記複数のメディアデータユニットのそれぞれを受信するために利用できる最遅時間 を決定する、第2決定ユニットであって、該最遅時間v は、以下のルール、
    ≦t +p +Δ
    上記数式において、
    piは、メディアデータユニットiを再生するための復号化時間であり、
    Δは、t からメディアの再生が開始されるまでの時間であり、
    は、前記複数のメディアデータユニットのうちの1番目のメディアデータユニットの受信時間を表す、
    により決定される、第2決定ユニットと、
    前記複数のメディアデータユニットのそれぞれが再生のために復号化される前に、前記複数のメディアデータユニットの当該それぞれを一時的に記憶し、かつ、前記記憶されたメディアデータユニットについての前記受信時間を、前記決定された最早時間よりも遅くなるようにスケジューリングするように構成されている、スケジューリングユニットと、を備えることを特徴とする、装置。
  12. 前記スケジューリングされた受信時間と、現在の時間とを比較するように構成されている、比較ユニットをさらに備え、
    前記スケジューリングされた転送時間が前記現在の時間以下の場合には、前記比較ユニットは、前記複数のメディアデータユニットのそれぞれを直ちに受信し、
    前記スケジューリングされた転送時間が前記現在の時間を越える場合には、前記比較ユニットは、前記現在の時間と前記スケジューリングされた転送時間との差に等しい時間待機し、その後、前記複数のメディアデータユニットのそれぞれを受信する、ことを特徴とする、請求項11に記載の装置。
  13. 前記最大転送レートを推定するための、推定ユニットをさらに備えることを特徴とする、請求項11に記載の装置。
  14. 当該装置は、クライアントホストにおけるサーバアプリケーション層とネットワークトランスポート層との間に配置されていることを特徴とする、請求項11に記載の装置。
  15. 当該装置は、クライアントホスト側にあるゲートウェイに配置されていることを特徴とする、請求項11に記載の装置。
  16. 時間tにおける前記短期データスループットは、Rmin(t)によって表され、また、前記短期データスループットは、
    Figure 0005588001
    から推定され、
    上記数式において、
    tは、メディアデータの再生時間であり、
    は、メディアデータユニットiのサイズであり、
    は、平均化時間間隔であり、
    α(α≧1)は、倍率であることを特徴とする、請求項11に記載の装置。
  17. 前記第1決定ユニットは、前記最早時間wを以下のルール、

    =min{t|(C(Ts,t)min{Ts,t-t0}+si)/min{Ts,t-t0}≦ρRmax

    により決定し、
    上記数式において、
    tは、現在の時間であり、
    ρ∈[Rmin/Rmax,1]は、構成可能なパラメータであり、
    C(T,t)は、前記メディアデータについての時間間隔Tにおける短期データスループットを表し、
    は、1番目のメディアデータユニットについての受信時間を表し、
    は、i番目のメディアデータユニットについてスケジューリングされた受信時間を表し、
    maxは、許容される最大転送レートを表し、
    minは、許容される最小転送レートを表すことを特徴とする、請求項11に記載の装置。
  18. 複数のメディアデータユニットを構成するメディアデータを転送する時間をスケジューリングするための方法であって、該方法は、
    全体の平均データスループットと、前記複数のメディアデータユニットを転送するために利用できる最小データ転送レートとに基づいて、前記複数のメディアデータユニットのそれぞれを転送するための最遅時間vを決定することで、前記複数のメディアデータユニットの該全体のデータスループットが前記最小レートを超えて維持される、工程と、
    過去の転送期間における、前記複数のメディアデータユニットの短期データスループットと前記複数のメディアデータユニットの短期レート最大値とに基づいて、前記複数のメディアデータユニットのそれぞれを転送するために利用できる最早時間wを決定する工程と、
    前記複数のメディアデータユニット毎の転送時間uをスケジューリングする工程と、
    を含み、
    該スケジューリングする工程には、
    ≧wである場合は、前記決定された最早時間と、前記メディアデータユニットが転送のために当初配送された時間と、のうちのいずれか大きい方を、前記メディアデータユニットについての前記転送時間として選択し、
    そうでない場合は、前記スケジューリングユニットは、以下の数式によって前記転送時間uをスケジューリングする、
    Figure 0005588001
    上記数式において、
    tは、現在の時間であり、
    C(t)は、前記メディアデータについての時間間隔Tにおける長期データスループットを表し、
    は、1番目のメディアデータユニットの前記転送時間を表し、
    は、i番目のメディアデータユニットのサイズを表し、
    は、i番目のメディアデータユニットが転送のために当該装置に当初配送された時間を表す、
    ことがさらに含まれる、方法。
  19. メディアデータユニットiの前記最遅時間は、vによって表され、また、前記最遅時間は、第1ルールである、
    Figure 0005588001
    によって計算され、
    上記数式において、
    tは、現在の時間であり、
    C(t)は、前記メディアデータについての時間間隔Tにおける長期データスループットを表し、
    は、1番目のメディアデータユニットの前記転送時間を表し、
    は、i番目のメディアデータユニットのサイズを表し、
    は、i番目のメディアデータユニットが転送のために前記装置に当初配送された時間を表し、
    minは、許容される最小転送レートを表すことを特徴とする、請求項18に記載の方法。
  20. 前記複数のメディアデータユニットのうちのメディアデータユニットiについての前記最早時間wは、第2ルールである、
    Figure 0005588001
    によって計算され、
    上記数式において、
    tは、現在の時間であり、
    ρ∈[Rmin/Rmax,1]は、構成可能なパラメータであり、
    C(T,t)は、前記メディアデータについての時間間隔Tにおける短期データスループットを表し、
    は、1番目のメディアデータユニットについての前記転送時間を表し、
    は、i番目のメディアデータユニットのサイズを表し、
    は、i番目のメディアデータユニットが転送のために当該装置に当初配送された時間を表し、
    maxは、許容される最大転送レートを表し、
    minは、許容される最小転送レートを表すことを特徴とする、請求項19に記載の方法。
  21. 前記スケジューリングされた転送時間と現在の時間とを比較する工程と、
    前記スケジューリングされた転送時間が前記現在の時間以下の場合には、前記複数のメディアデータユニットのそれぞれを直ちに転送する工程と、
    前記スケジューリングされた転送時間が前記現在の時間を越える場合には、前記現在の時間と前記スケジューリングされた転送時間との差に等しい時間待機し、その後、前記複数のメディアデータユニットのそれぞれを転送する工程と、をさらに含む、請求項18に記載の方法。
  22. 前記メディアデータを転送するレートが固定であることを特徴とする、請求項18に記載の方法。
  23. 前記メディアデータは、VBR符号化メディアストリームを構成し、
    前記最小データ転送レートは、短期可変最小レート下限であり、かつ、前記メディアデータのメディア再生時間に依存することを特徴とする、請求項18に記載の方法。
  24. 前記メディアデータはライブストリーミングを構成し、
    前記最小データ転送レートは、短期最小レート下限であり、
    当該方法は、メディアデータユニットが生成されるレートまたは時間を計測する工程と、該生成されたレートに基づいて前記短期最小レート下限を推定する工程とをさらに含む、請求項18に記載の方法。
  25. 当該方法は、サーバホストにおけるサーバアプリケーション層とネットワークトランスポート層との間にて実行されることを特徴とする、請求項18に記載の方法。
  26. 当該方法は、サーバホスト側にあるゲートウェイにて実行されることを特徴とする、請求項18に記載の方法。
JP2012525042A 2009-08-21 2010-08-19 メディアデータの転送時間をスケジューリングするための装置及び方法 Expired - Fee Related JP5588001B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US23598709P 2009-08-21 2009-08-21
US61/235,987 2009-08-21
PCT/CN2010/076129 WO2011020437A1 (en) 2009-08-21 2010-08-19 Devices and methods for scheduling transmission time of media data

Publications (2)

Publication Number Publication Date
JP2013502781A JP2013502781A (ja) 2013-01-24
JP5588001B2 true JP5588001B2 (ja) 2014-09-10

Family

ID=43606658

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012525042A Expired - Fee Related JP5588001B2 (ja) 2009-08-21 2010-08-19 メディアデータの転送時間をスケジューリングするための装置及び方法

Country Status (5)

Country Link
US (1) US8719435B2 (ja)
JP (1) JP5588001B2 (ja)
CN (1) CN102484741B (ja)
GB (1) GB2487140B (ja)
WO (1) WO2011020437A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9301315B1 (en) * 2011-03-09 2016-03-29 Amdocs Software Systems Limited System, method, and computer program for transmitting network communications at a point in time automatically determined based on communication rates
US9438883B2 (en) * 2012-04-09 2016-09-06 Intel Corporation Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content
CN103023794A (zh) * 2012-12-06 2013-04-03 苏州阔地网络科技有限公司 一种数据流控制的方法及系统
GB2510556A (en) * 2012-12-12 2014-08-13 Microsoft Corp Aggregating data prior to transmission using timer events
US20160164943A1 (en) * 2014-12-05 2016-06-09 Qualcomm Incorporated Transport interface for multimedia and file transport

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07141270A (ja) * 1993-11-19 1995-06-02 Hitachi Ltd データ送信管理システム
US5956321A (en) * 1995-03-16 1999-09-21 Kabushiki Kaisha Toshiba Stream scheduling system for real time stream server
US5729540A (en) * 1995-10-19 1998-03-17 Qualcomm Incorporated System and method for scheduling messages on a common channel
US7334044B1 (en) * 1998-11-17 2008-02-19 Burst.Com Method for connection acceptance control and optimal multi-media content delivery over networks
US6637031B1 (en) * 1998-12-04 2003-10-21 Microsoft Corporation Multimedia presentation latency minimization
EP1069736B1 (en) * 1999-07-15 2012-09-05 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Scheduling and admission control of packet data traffic
US6438630B1 (en) * 1999-10-06 2002-08-20 Sun Microsystems, Inc. Scheduling storage accesses for multiple continuous media streams
US6975629B2 (en) * 2000-03-22 2005-12-13 Texas Instruments Incorporated Processing packets based on deadline intervals
JP2004502235A (ja) * 2000-06-27 2004-01-22 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ スケジュール決定方法、スケジューラ及びシステム
US7065586B2 (en) * 2000-12-22 2006-06-20 Radiance Technologies, Inc. System and method for scheduling and executing data transfers over a network
WO2002073865A2 (en) * 2001-03-09 2002-09-19 Vitesse Semiconductor Corporation Time based packet scheduling and sorting system
JP2002330164A (ja) * 2001-05-02 2002-11-15 Matsushita Electric Ind Co Ltd フレームスケジューリング装置及び方法
US20030037133A1 (en) * 2001-08-15 2003-02-20 Thomas Owens Method and system for implementing redundant servers
US20030198184A1 (en) * 2001-08-31 2003-10-23 Joe Huang Method of dynamically determining real-time multimedia streaming rate over a communications networks
US7093256B2 (en) * 2002-12-13 2006-08-15 Equator Technologies, Inc. Method and apparatus for scheduling real-time and non-real-time access to a shared resource
JP4042696B2 (ja) * 2004-01-08 2008-02-06 日本電気株式会社 通信システム、通信端末及び通信プログラム
US7433946B2 (en) * 2004-08-12 2008-10-07 Microsoft Corporation Mechanism for transmitting elementary streams in a broadcast environment
US7743398B2 (en) * 2004-08-13 2010-06-22 Microsoft Corporation Video recording conflict management and user interface
US20070016530A1 (en) * 2005-07-15 2007-01-18 Christopher Stasi Multi-media file distribution system and method
US7693128B2 (en) * 2006-02-23 2010-04-06 Freescale Semiconductor, Inc. Managing packets for transmission in a communication system
CN100452876C (zh) * 2006-02-24 2009-01-14 清华大学 流媒体数据的并行传输调度方法
JP2007318470A (ja) * 2006-05-26 2007-12-06 Sony Corp サーバ装置、送信順序決定方法およびコンテンツ配信システム
CN101536501B (zh) * 2006-11-14 2012-05-16 皇家飞利浦电子股份有限公司 用于快速改变服务的方法和接收单元
JP2008252514A (ja) * 2007-03-30 2008-10-16 Kddi Corp 無線パケット制御装置、無線パケット制御方法、および無線通信装置
US8014393B1 (en) * 2008-08-05 2011-09-06 Cisco Technology, Inc. Bandwidth optimized rapid channel change in IP-TV network
US8578272B2 (en) * 2008-12-31 2013-11-05 Apple Inc. Real-time or near real-time streaming
US20100254462A1 (en) * 2009-04-07 2010-10-07 Cisco Technology, Inc. Method for reducing memory usage with accelerated channel changes
US9122537B2 (en) * 2009-10-30 2015-09-01 Cisco Technology, Inc. Balancing server load according to availability of physical resources based on the detection of out-of-sequence packets

Also Published As

Publication number Publication date
JP2013502781A (ja) 2013-01-24
CN102484741A (zh) 2012-05-30
US8719435B2 (en) 2014-05-06
US20110066742A1 (en) 2011-03-17
GB2487140B (en) 2016-06-22
CN102484741B (zh) 2014-04-02
GB201202340D0 (en) 2012-03-28
WO2011020437A1 (en) 2011-02-24
GB2487140A (en) 2012-07-11

Similar Documents

Publication Publication Date Title
JP6271445B2 (ja) 要求取消し機能を備えた改良されたdashクライアントおよび受信機
US9986008B2 (en) Methods and devices for efficient adaptive bitrate streaming
US8516147B2 (en) Data segmentation, request and transfer method
US8819269B2 (en) Adaptive bit rate method and system using retransmission and replacement
JP4347883B2 (ja) プロアクティブなレート適合シグナリング方法及び装置
JP2015511782A (ja) ダウンロードレートエスティメータを備えた改良されたdashクライアントおよび受信機
US20150271231A1 (en) Transport accelerator implementing enhanced signaling
JP5588001B2 (ja) メディアデータの転送時間をスケジューリングするための装置及び方法
JP2004172830A (ja) 動画像符号化ビットレート選択方式
JP2015515173A (ja) マルチプルなtcp接続を介したソースと受信機との間のhttpストリーミングの制御
JP2015513840A5 (ja)
WO2013066421A1 (en) Method and apparatus for session bandwidth estimation and rate control
US10355984B2 (en) Automatic re-routing of network traffic in a software-defined network
JP2011529306A (ja) 経時変化する容量を有する接続のフローレート適合
CN104022845A (zh) 调整数据块比特率的方法、装置和系统
JP6724517B2 (ja) ビットレート指示装置、ビットレート指示方法、及び、ビットレート指示プログラム
JP6954289B2 (ja) ビットレート指示装置、ビットレート指示方法、及び、ビットレート指示プログラム
KR100782343B1 (ko) 영상 스트리밍 방법
JP2013141138A (ja) 配信装置、配信方法、およびプログラム
JP4991661B2 (ja) 映像データ変換装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140522

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: 20140624

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140724

R150 Certificate of patent or registration of utility model

Ref document number: 5588001

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees