JP4890610B2 - 遅延ダウンロード・サービスのためのスレショルド・ベース・ノーマライズド・レート・アーリエスト・デリバリ・ファースト(nredf) - Google Patents

遅延ダウンロード・サービスのためのスレショルド・ベース・ノーマライズド・レート・アーリエスト・デリバリ・ファースト(nredf) Download PDF

Info

Publication number
JP4890610B2
JP4890610B2 JP2009509512A JP2009509512A JP4890610B2 JP 4890610 B2 JP4890610 B2 JP 4890610B2 JP 2009509512 A JP2009509512 A JP 2009509512A JP 2009509512 A JP2009509512 A JP 2009509512A JP 4890610 B2 JP4890610 B2 JP 4890610B2
Authority
JP
Japan
Prior art keywords
request
requests
delivery
threshold
scheduling
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
JP2009509512A
Other languages
English (en)
Other versions
JP2009536498A (ja
Inventor
グオ,ヤン
リー,ジユン
ラマズワミイ,クマー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2009536498A publication Critical patent/JP2009536498A/ja
Application granted granted Critical
Publication of JP4890610B2 publication Critical patent/JP4890610B2/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
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • 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
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、一般に通信システムに関し、より詳細には、コンテンツ配信/配布ネットワーク、ならびに例えばコンテンツ・サーバなど、その構成要素に関する。
コンテンツ配信システムでは、コンテンツ・サーバは、例えばファイルやストリーミング・ビデオなど様々なタイプのコンテンツを、インターネットなどの分散型通信ネットワークを介して様々なクライアントに配布することができる。通常、このプロセスは、特定のコンテンツを求める要求を各クライアントがコンテンツ・サーバに送信することによって開始される。コンテンツ・サーバは、それぞれの要求を受信すると、要求されたコンテンツを要求したクライアントに分散型通信ネットワークを介して送る配信のスケジューリングを行う。
分散型通信ネットワークを介したコンテンツのクライアント(またはユーザ)への配信をスケジューリングする1つの手法は、「ノーマライズド・レート・アーリエスト・デリバリ・ファースト(normalized rate earliest delivery first)(NREDF)」手法である(より簡潔にNREDと呼ぶこともある)。この手法では、コンテンツ・サーバは、コンテンツ・サーバと各要求側クライアントとの間の推定「最短経路」を用いて、特定のコンテンツの配信の正規化速度を計算する。この「最短経路」は、要求されたコンテンツを要求側クライアントに送る最も早い配信時刻を与える分散型通信ネットワーク内の経路である。このプロセスの一部として、コンテンツ・サーバは、要求されたコンテンツを配信用に供給することができるネットワーク内のその他のサーバを識別することができる。次いで、コンテンツ・サーバは、それぞれに関連する算出された正規化速度の高い順に、全ての受信したクライアント要求の配信をスケジューリングする。従って、算出された正規化速度の高い要求側クライアントへの配信は、算出された正規化速度の低い要求側クライアントより前になるようにスケジューリングされる。しかし、コンテンツ配信サーバがそれまでに受信した(すなわち古い)クライアント要求のスケジューリングを終了した後にも、新たなクライアント要求が引き続き到着することもある。このような状況では、新しいクライアント要求が到着するにつれて、新しいクライアント要求と一緒に未配信の古いクライアント要求を再スケジューリングして、コンテンツ・サーバが応じることができる要求の数が最大になるようにする。
残念ながら、クライアント要求速度が増大するにつれて、コンテンツ・サーバは、実際にコンテンツを配信するより、正規化速度を計算し、古い要求を再スケジューリングするのに費やす時間を増やすようになる。この挙動により、NREDF手法の多数のクライアントに対応するスケーラビリティが損なわれている。
発明者等は、ノーマライズド・レート・アーリエスト・デリバリ・ファースト(NREDF)スケジューラを用いたコンテンツ・サーバが、クライアント要求速度が増大するにつれて、新しい要求を受け入れながら古い要求を再スケジューリングする計算オーバヘッドも増大するために、うまくスケーリングしなくなることに気がついた。従って、本発明の原理によれば、ノーマライズド・レート・アーリエスト・デリバリ・ファースト(NREDF)スケジューラを用いたコンテンツ・サーバは、再スケジューリングされる古い要求の数をしきい値に制限する。
本発明の例示的な実施形態では、コンテンツ配信システムは、いくつかのクライアント要求に応じる少なくとも1つのコンテンツ・サーバを含む。このコンテンツ・サーバは、スレショルド・ベース・ノーマライズド・レート・アーリエスト・デリバリ・ファースト(TB−NREDF)スケジューラを使用する。このTB−NREDFスケジューラは、再スケジューリングする要求の数にしきい値すなわち制限を加える。従って、コンテンツ・サーバは、再スケジューリング・オーバヘッドを制限する機能を有し、これにより、コンテンツ・サーバは、スケーラビリティとシステム性能をトレードオフすることができる。
本発明の別の例示的な実施形態では、スレショルド・ベース・ノーマライズド・レート・アーリエスト・デリバリ・ファースト(TB−NREDF)手法で、再スケジューリングされる古い要求の最大数を表すルックバックしきい値Tを定義する。例えば、R(t)が、時点tにおける任意の未終了の古いクライアント要求と、時点tに到着した任意の新しいクライアント要求とを含む要求セットを表すものとする。また、QがR(t)内の要求の総数、KがR(t)内の古い要求の総数を表すものとする。TB−NREDF手法では、最大でT個の古い要求を再スケジューリングする。ここで、T<K<Qである。従って、残りのK−T個の古い要求のスケジュールは不変である。
本発明の概念を除く図面に示す要素は周知であり、それらについて詳細には説明しない。また、ネットワーキング(およびそのなかで用いられるプロトコル)に精通していることを前提とし、それらについても本明細書では詳細には説明しない。例えば、本発明の概念を除いて、インターネット・プロトコル(IP)、リアルタイム・トランスポート・プロトコル(RTP)、および伝送制御プロトコル(TCP)に精通していることを前提としている。また、本発明の概念を除いて、サーバ、エッジ・ノード、およびクライアントなどのネットワーク構成要素に精通していることを前提としている。同様に、本発明の概念を除いて、MPEG−2システム標準(ISO/IEC13818−1)や国際電気通信連合のH.264(ITU−T勧告H.264「オーディオビジュアル・サービス全般のための高度ビデオ符号化方式」ITU−T、2003年)など、ビット・ストリームを生成するためのフォーマット化および符号化の方法も周知であり、本明細書では説明しない。これに関して、既知のサーバ/クライアント・システムとは異なる本発明の概念の部分のみを以下では説明し、図面に示してあることに留意されたい。また、本発明の概念は、従来のプログラミング技術、つまり本明細書には記載していないプログラミング技術を用いて実施することができることにも留意されたい。最後に、図面内の同じ参照番号は、同じ要素を指している。
本発明の概念について説明する前に、まず、ノーマライズド・レート・アーリエスト・デリバリ・ファースト(NREDF)スケジューリング・プロセスについて簡単に説明する。これに関して、NREDFスケジューリング・プロセスを用いるコンテンツ配信システムを、図1に示す。このコンテンツ配信システムは、コンテンツ・サーバ20と、通信ネットワーク10と、クライアント50−1および50−2として表す1つまたは複数のクライアントとを含む。コンテンツ・サーバ20、クライアント50−1およびクライアント50−2は、格納プログラム制御式プロセッサ・プラットフォームを表している。例えば、クライアント50−1がマイクロプロセッサ型デスクトップ・パーソナル・コンピュータ、クライアント50−2が携帯電話、コンテンツ・サーバ20がマルチ・プロセッサ型(高性能)サーバとすることもできる。例えば、通信ネットワーク10はインターネットを表し、当技術分野で既知のように交換機能および非交換機能の両方を含み、ルータやエッジ・ノード装置などを含む(全て図1には示していない)。この例では、図1から分かるように、コンテンツ・サーバ20は、あるインターネット・プロトコル(IP)アドレス(図示せず)と関連づけられた、インターネット上のある箇所に位置するものとして表されている。さらに、図1に示すように、通信ネットワーク10は、コンテンツ配信ネットワーク(CDN)15を含むこともできる。当技術分野で既知のように、CDNは、コストを抑え、且つクライアント(エンド・ユーザ)のスピードを高めながら、コンテンツ・サーバ(プロバイダ)からクライアントに安全にコンテンツを配信するように設計されたオーバレイ・ネットワーク(公共または私設)である。従って、CDN内の他のサーバが、コンテンツ・サーバ20の制御下で要求されたコンテンツを供給することができることもある。このコンテンツのフォーマットは、静的コンテンツ(例えばウェブ・サイト・コンテンツやファイル)または動的コンテンツ(すなわち素早く変化するコンテンツ)および/あるいはストリーミング・オーディオ/ビデオとすることができる。図1に示す状況では、クライアント50−1および50−2が、コンテンツを求める要求をコンテンツ・サーバ20に送る。これらの要求に応答して、コンテンツ・サーバ20は、NREDFスケジューリング・プロセスを用いて配信をスケジューリングし、通信ネットワークを通る経路を介して要求されたコンテンツをそれぞれのクライアントに配信または送信する。例えば、クライアント50−1から要求された例えばファイルなどのコンテンツは、例示的な経路11を介してクライアント50−1に供給される。例示的な経路11は、この例では、CDN15も通過している。経路11は、要求されたコンテンツがクライアント50−1まで搬送される際に通過する通信ネットワーク10の任意の機構および装置を表す。
次に図2を参照すると、コンテンツ・サーバ20のハイレベル・ブロック図が示してある。コンテンツ・サーバ20は、コンテンツ・サーバ20をインターネット10に結合する接続19を介してクライアント要求59を受け取る。コンテンツ・サーバ20は、受け取ったクライアント要求59を処理し、要求側クライアントに要求されたコンテンツを供給するためのスケジューリング・セットS(t)70を生成する、NREDFスケジューラ60を含む。コンテンツ・サーバ20が使用するNREDFスケジューリング・プロセスを表す例示的な流れ図を、図3および図4に示す。NREDFスケジューリング・プロセスでは、以下の定義を使用する。
N={n、j=0、…、J}は、ネットワーク・ノード・セットであり、1つのコンテンツ・サーバ(j=0)と、I個のエッジ・サーバ(j=1、…、I)と、U個のクライアント(j=I+1、…、I+U=J)とを含む。
(t)は、j番目のノードにおけるキャッシュ容量であり、時間変化関数である。
(t)は、時点tにおけるj番目のノードのキャッシュ状態セット、すなわちキャッシュされたコンテンツのリストである。
L={(j,j)、j∈N}は、ネットワーク・リンク・セットであり、(j、j)はノードj1からノードj2までのリンクである。
b(i,j,t)は、(i,j)のリンク容量であり、時間変化関数である。
B(i,j,t)は、時点tにおける(i,j)のリンク状態であり、伝送するコンテンツのリストである。
R(t)={r、q=1…Q}は、要求セットであり、時点t=tまでにクライアントからコンテンツ・サーバに対してなされた全ての要求を表す。ここで、
=(m,d,u)は、コンテンツID、配信予定時刻および要求クライアントIDで表される要求であり、
は、コンテンツ・サイズ|m|およびリアルタイム・ストリーミング速度||m||を有するコンテンツIDであり、
は、要求rの配信予定時刻であり、
は、そこから地理的位置を識別することができる、要求を行ったクライアント(要求クライアント)のクライアントIDである。
S(t)={s(j、j)、(j、j)∈L}は、要求セットR(t)のスケジューリング・セットである。ここで、
(j、j)は、(j、j)のトランスポートする要求rのスケジュール(開始)時刻であり、これは値0に初期化され、
(j、j)は、(j、j)のトランスポートする要求rのスケジュール(終了)時刻であり、要求されたコンテンツが速度||m||で伝送される場合には、e(j、j)=s(j、j)+|m|/||m||である。
要求rの正規化速度はv (t)である。ここで、
(t)=|m|/(d−t) (1)
である。
図3のステップ205で、要求セットR(t)内の時点tにおける各クライアント要求について、コンテンツ・サーバ20は、上記の数式(1)により正規化速度を計算する。ステップ210で、コンテンツ・サーバ20は、計算した正規化速度の高い順にクライアント要求をソートし、ソート済みクライアント要求リストを生成する。ステップ215で、コンテンツ・サーバ20は、ソート済みクライアント要求リスト内に示される順序に従ってコンテンツの配信をスケジューリングする。次に図4を参照すると、ステップ215のさらに詳細な流れ図が示してある。図4のステップ255からステップ275は、図3のステップ210で決定されたソート済みクライアント要求リストに従って要求セットR(t)内の各要求rについて実行される。その結果、特定の要求rのスケジュール{s(j,k)、(j,k)∈L}は、以前に作成されたスケジューリング・ベクトル{s(j,k);x=0、…、q−1}に基づいて作成される。具体的には、図4のステップ255では、コンテンツ・サーバ20は、ソート済みクライアント要求リストから次にスケジューリングする要求r=(m,d,u)を選択する。ステップ260で、コンテンツ・サーバ20は、要求rで要求されたコンテンツの供給に利用できるサーバのセットHを識別する。ここで、このサーバのセットは、少なくとも1つのサーバ、例えばコンテンツ・サーバ20を含む。(コンテンツ・サーバがクライアント要求のコンテンツの供給に利用できるサーバのセットを識別する機能については当技術分野で既知であり、本明細書では説明しない。)このサーバのセットHにおいて、各サーバiは、要求rのコンテンツmのソース、m∈M(t)を有する。ここで、tはサーバiのキャッシュが最後に更新された時刻であり、t=max[s(j,i)、p<q]である。ステップ265で、コンテンツ・サーバ20は、要求されたコンテンツmの宛先uまでの最も早い配信時刻を与える最短経路を求める。例えば、コンテンツ・サーバ20は、マルチ・ソース最短経路アルゴリズム(例えば当技術分野で既知のダイクストラ法など)を使用して、任意のサーバi∈Hからuまでの最短経路を求める。ステップ270で、コンテンツ・サーバ20は、選択した経路上のリンクのスケジュール{s(j,k)、(j,k)∈L}を求め、選択した経路上のサーバのキャッシュ{M(t)、i∈N}を更新し、当技術分野で既知のようにリンク容量およびキャッシュ容量に制約を加える。(max[s(j,k)、(j,k)∈L]>dである場合には、スケジューリングを試みてもR(t)に対するスケジューリング・セットを求めることができず、プロセスが中止されることに留意されたい。)最後に、ステップ275で、全ての要求が処理されたかどうか、すなわちq=Qであるかどうかを確認する。スケジューリングすべき要求がさらにある場合、すなわちq<Qである場合には、qの値を増分し、すなわちq=q+1とし、ステップ255に戻ってソート済みクライアント要求リストの次の要求について処理を実行する。しかし、全ての要求が既にスケジューリングされている場合には、処理を終了する。
要求セットR(t)内の要求をスケジューリングした結果、コンテンツ・サーバ20は、要求されたコンテンツの配信のスケジューリング・セットを生成する。時点tにおけるQ個の要求に対するスケジューリング・セット81の例を、図5に示す。次いで、コンテンツ・サーバ20は、スケジューリング・セット81に従ってコンテンツを配信していくことになる。スケジューリング・セット81において、個々の要求には、矢印84で示すように算出された正規化速度に応じて優先順位がつけられている。矢印84は降順の方向を示している。
しかし、時点tの後、時点tにおいて新たなクライアント要求が到着する可能性もある。さらに、この時点tにおいて、コンテンツ・サーバ20がそれ以前に要求されたコンテンツの一部の配信を既に終了し、残りのクライアント要求がまだ保留状態、すなわち「古い」要求となる可能性もある。こうした1つまたは複数の新しい要求の一部が、古い要求の一部よりも早い配信予定時刻または大きな要求ファイル・サイズを有することもある。このように、時点tにおける新しい要求の1つまたは複数の正規化速度が、古い要求の一部のそれより大きい場合もあり得る。コンテンツ・サーバ20が供給できる要求の数を最大にするために、これらK個の古い要求と、時点tにおける任意の新しい要求とを一緒にして、上述のNREDFプロセスを用いて再スケジューリングする。従って、時点tにおける新しい要求セットR(t)が決定され、図3および図4に示すプロセスが繰り返されて、コンテンツを配信するための新しいスケジューリング・セット83が生成される。これを図6に示す。図6では、1つまたは複数の新しい要求82が既にスケジューリングされており、K個の古い要求が新しいスケジューリング・セット83の中に保留状態で残っている。例示のみを目的として、以前にスケジューリングされたクライアント要求の配信も破線で図6に示してある。破線で示したのは、それらのクライアント要求が新しいスケジューリング・セット83には載らないためである。
残念ながら、クライアント要求速度が増大するにつれて、コンテンツ・サーバ20は、実際にコンテンツを配信するより、正規化速度を計算し、古い要求を再スケジューリングするのに費やす時間を増やすようになる。従って、新しい要求を受け入れるのに必要な計算時間も比例して増加する。この挙動により、NREDF手法の多数のクライアントに対応するスケーラビリティが損なわれる。従って、本発明の原理によれば、ノーマライズド・レート・アーリエスト・デリバリ・ファースト(NREDF)スケジューラを用いたコンテンツ・サーバは、再スケジューリングする古い要求の数をしきい値に制限する。
図7を参照すると、本発明の原理による例示的なコンテンツ配信システムが示してある。このコンテンツ配信システムは、コンテンツ・サーバ300と、通信ネットワーク310と、クライアント50−1および50−2として表す1つまたは複数のクライアントとを含む。コンテンツ・サーバ300、クライアント50−1およびクライアント50−2は、格納プログラム制御式プロセッサ・プラットフォームを表している。例えば、クライアント50−1がマイクロプロセッサ型デスクトップ・パーソナル・コンピュータ、クライアント50−2が携帯電話、コンテンツ・サーバ300がマルチ・プロセッサ型(高性能)サーバとすることもできる。例えば、通信ネットワーク310はインターネットを表し、当技術分野で既知のように交換機能および非交換機能の両方を含み、ルータやエッジ・ノード装置などを含む(全て図7には示していない)。この例では、図7から分かるように、コンテンツ・サーバ300は、あるインターネット・プロトコル(IP)アドレス(図示せず)と関連づけられた、インターネット上のある箇所に位置するものとして表されている。さらに、図7に示すように、通信ネットワーク310は、コンテンツ配信ネットワーク(CDN)315を含むこともできる。本発明の概念を除けば、CDNは、当技術分野で既知のように、コストを抑え、且つクライアント(エンド・ユーザ)のスピードを高めながら、コンテンツ・サーバ(プロバイダ)からクライアントに安全にコンテンツを配信するように設計されたオーバレイ・ネットワーク(公共または私設)である。従って、CDN内の他のサーバが、コンテンツ・サーバ300の制御下で要求されたコンテンツを供給することができることもある。このコンテンツのフォーマットは、静的コンテンツ(例えばウェブ・サイト・コンテンツやファイル)または動的コンテンツ(すなわち素早く変化するコンテンツ)および/あるいはストリーミング・オーディオ/ビデオとすることができる。図7に示す状況では、クライアント50−1および50−2が、コンテンツを求める要求をコンテンツ・サーバ300に送る。これらの要求に応答して、本発明の原理に従って、コンテンツ・サーバ300は、スレショルド・ベース・ノーマライズド・レート・アーリエスト・デリバリ・ファースト(threshold−based normalized rate earliest delivery first)(TB−NREDF)スケジューラを用いて配信をスケジューリングする。TB−NREDFスケジューラは、再スケジューリングする要求の数にしきい値、すなわち制限を加える。従って、コンテンツ・サーバ300は、再スケジューリング・オーバヘッドを制限する機能を有し、これにより、コンテンツ・サーバは、システム性能とスケーラビリティをトレードオフすることができる。TB−NREDFスケジューリング・プロセスに従い、コンテンツ・サーバ300は、通信ネットワーク内の経路を介してそれぞれのクライアントに要求されたコンテンツを配信する。例えば、クライアント50−1から要求された例えばファイルなどのコンテンツは、例示的な経路311を介してクライアント50−1に供給される。例示的な経路311は、この例では、CDN315も通過している。経路311は、要求されたコンテンツがクライアント50−1まで搬送される際に通過する通信ネットワーク310の任意の機構および装置を表す。
本発明の原理によるコンテンツ・サーバ300のハイレベル・ブロック図を、図8に示す。例えば、コンテンツ・サーバ300は、図8に破線の枠で示すプロセッサ390およびメモリ395で表されるソフトウェア型プロセッサである。この状況では、コンピュータ・プログラムまたはソフトウェアは、メモリ395に格納され、プロセッサ390によって実行される。プロセッサ390は、1つまたは複数の格納プログラム制御プロセッサを表し、TB−NREDFスケジューラ機能の専用でなくてもよい。例えば、プロセッサ390は、コンテンツ・サーバ300のその他の機能を制御することもできる。メモリ395は、例えばランダム・アクセス・メモリ(RAM)や読み取り専用メモリ(ROM)など任意の記憶装置を表し、プロセッサ390に内蔵且つ/または外付けすることができ、必要に応じて揮発性且つ/または不揮発性である。コンテンツ・サーバ300は、コンテンツ・サーバ300をインターネット310に結合する接続319を介してクライアント要求59を受け取る。本発明の原理によれば、コンテンツ・サーバ300は、受け取ったクライアント要求59を処理し、要求側クライアントに要求されたコンテンツを供給するためのスケジューリング・セットS(t)370を生成する、TB−NREDFスケジューラ360を含む。
最初に、時点tにおいて、コンテンツ・サーバ300は、上述の図3および図4の流れ図に示したNREDFプロセスに従って要求の配信をスケジューリングする。ただし、最初の要求セットをスケジューリングした後は、本発明の原理に従い、コンテンツ・サーバ300は再スケジューリングする要求の数を制限する。例えば、時点tにおいて、1つまたは複数の新しい要求82が到着しており、K個の古い要求が未配信で残っている。スレショルド・ベース・ノーマライズド・レート・アーリエスト・デリバリ・ファースト(TB−NREDF)プロセスでは、再スケジュールされることになる古い要求の最大数を表すルックバックしきい値Tを定義する。従って、TB−NREDF手法では、最大でT個の古い要求を再スケジュールする。ここで、T<Kである。従って、残りのK−T個の古い要求のスケジュールは不変である。これを、時点tにおけるスケジューリング・セット381として図9に示す。ただし、t>tである。Tの具体的な値は、システムに応じて経験的に決定することができる。
本発明の原理によるTB−NREDFプロセスの例示的な流れ図を、図10に示す。ステップ405で、TB−NREDFスケジューラ360は、時点tにおける全ての古い要求の総数Kがしきい値Tを超えるかどうかを判定する。全ての古い要求の総数Kがしきい値Tを越えない場合には、ステップ410で、TB−NREDFスケジューラ360は時点tにおける全ての新しい要求(すなわちまだスケジューリングされていないクライアント要求)をスケジューリングし、総数K個の古い要求全てを再スケジューリングする。しかし、時点tにおける全ての古い要求の総数Kがしきい値Tを超える場合には、ステップ415で、TB−NREDFスケジューラ360は、時点tにおける全ての新しい要求をスケジューリングし、古い要求のうちT個を再スケジューリングする。その結果、古い要求のうちK−T個は再スケジューリングされない。
本発明の原理の別の例示的な実施形態を、図11、図12および図13に示す。この場合も、時点tにおいて、最初の要求セットR(t)の配信がスケジューリングされ、関連するスケジューリング・セットが生成されているものと仮定する。その後の時点tにおいて、K個の古い要求が依然として残り、1つまたは複数の新しい要求が到着している。要求セットR(t)内の要求の総数は、新しい要求の数に古い要求の数Kを加えた数に等しいQである。この例では、コンテンツ・サーバ300は、2つの追加のパラメータ、rlook−backおよびSTATElook−backを使用する。パラメータrlook−backは、それを超える古い要求が再スケジューリングされることになる、スケジューリング・セット内の境界を表す要求として定義される。本明細書ではこれをルックバック(look−back)要求と呼ぶ。ルックバック要求より下の要求は、再スケジューリング不能要求として定義され、ルックバック要求より上の要求は、再スケジューリング可能要求として定義される。再スケジューリング可能要求は、新しい要求が到着したときにそれらと共に再スケジューリングされるが、再スケジューリング不能要求はスケジュールが固定され、再スケジューリングされることはない。パラメータrlook−backの値がNULLである場合は、ルックバック要求が設定されていないことを意味し、このパラメータの値がNULLでない場合には、ルックバック要求が設定されていることを表す。そこから、パラメータSTATElook−backは、関連するルックバック・システム状態として定義される。具体的には、パラメータSTATElook−backは、rlook−backが実行された後のリンクおよびエッジ・サーバの状態を含む。従って、STATElook−back={{c},{C},{b(i,j)},{B(i,j)}}である(上記で定義済み)。
ここで図11を参照すると、この図は、時点tにおけるスケジューリング・セット383を示している。図11から分かるように、要求の1つがrlook−backとして示され、これが、再スケジューリングされない要求と再スケジューリングされる古い要求との間の境界86を示している。本発明の原理によるTB−NREDFプロセスの別の例示的な流れ図を、図12に示す。ステップ505で、TB−NREDFスケジューラ360は、任意の新しい要求を再スケジュール可能要求としてマークする。ステップ510で、TB−NREDFスケジューラ360は、全ての再スケジューリング可能要求を含む要求セットR(t)を構成する。ステップ515で、TB−NREDFスケジューラ360は、rlook−backの現在の値を決定する。パラメータrlook−backの値がNULLである場合には、ルックバック要求が設定されていないことを意味する。この場合には、TB−NREDFプロセスは通常のNREDFに戻り、ステップ530で、TB−NREDFスケジューラ360は、時点tにおける全ての新しい要求(すなわちまだスケジューリングされていないクライアント要求)をスケジューリングし、K個全ての古い要求を再スケジューリングする。しかし、パラメータrlook−backの値がNULLでない場合には、ステップ520で、TB−NREDFスケジューラ360は、指定されたルックバック要求が既に配信されているかどうか、すなわちそのサービスが終了しているかどうかを判定する。指定されたルックバック要求が既に配信されている場合には、ステップ530で、全ての新しい要求をスケジューリングし、全ての古い要求を再スケジューリングする。指定されたルックバック要求が終了しているので、未終了の古い要求の数はT未満になることに留意されたい。一方、ステップ520で、指定されたルックバック要求が終了していないとTB−NREDFスケジューラ360が判定した場合には、TB−NREDFスケジューラ360は、この要求セットを処理する。具体的には、ステップ525で、TB−NREDFスケジューラ360は、要求rlook−backから開始するためにSTATElook−backを現在のシステム状態として設定し、ステップ530で、TB−NREDFスケジューラ360は、時点tにおける全ての新しい要求をスケジューリングし、古い要求のうちT個を再スケジューリングする。その結果として、古い要求のうちK−T個は再スケジューリングされない。
図12の流れ図のさらなる説明として、擬似コードを図13に示す。図13の擬似コードのステップ13、ステップ14およびステップ15から分かるように、要求の総数Q(新しい要求に古い要求を加えた数)がしきい値Tより大きく、現在の要求値qが(Q−T)以下である場合には、ステップ14で、要求がルックバック要求として指定され、ステップ15で、それに対応する状態が記憶される。
上述のように、コンテンツ・サーバは、再スケジューリングする要求の数を制限し、それにより、より高いクライアント要求速度に応じる機能を実現する。上記の説明では、コンテンツ・サーバがTB−NREDFプロセスを用いるという状況において、このことを示した。この例では、TB−NREDFプロセスを用いたコンテンツ・サーバは、図1から図6に示す制限を行わないNREDFプロセスを用いたコンテンツ・サーバより高いクライアント要求速度に応じる機能を実現する。ただし、TB−NREDFプロセスは、新しい要求より正規化速度の低いいくつかの古い要求が再スケジューリングされない可能性があるので、NREDFプロセスより受け入れる要求が少なくなり、それによりシステム性能が低下する可能性があることに留意されたい。それでも、TB−NREDFによってコンテンツ・サーバは再スケジューリング・オーバヘッドを制限できるようになり、それにより、コンテンツ・サーバはシステム性能とスケーラビリティをトレードオフすることもできるようになる。
上記に鑑みて、以上の説明は、本発明の原理の単なる例示に過ぎず、従って、当業者なら、本発明の原理を実施し、本発明の趣旨および範囲内に含まれる、本明細書には明示しない多数の代替構成を考案することができることを理解されたい。例えば、別々の機能要素の状況として説明したが、これらの機能要素は、1つまたは複数の集積回路(IC)内に実施することもできる。同様に、別々の要素として説明したが、これらの要素の任意の一部または全てを、例えば図10、図12および図13に示すステップの1つまたは複数に対応する関連するソフトウェアを実行する例えばディジタル信号プロセッサなどの格納プログラム制御プロセッサ内に実装することもできる。さらに、本発明の原理は、例えば衛星、Wireless Fidelity(Wi−Fi)、携帯電話、Bluetoothやそれらの組合せなど、その他のタイプの通信システムにも適用することができる。例えば、分散型通信ネットワークは、有線接続および無線接続を両方とも含むことができる。実際には、本発明の概念は、据え置き型コンテンツ・サーバにも、可動コンテンツ・サーバにも適用することができる。従って、上記の例示的な実施形態に多数の修正を加えることができること、また添付の特許請求の範囲によって定義する本発明の趣旨および範囲を逸脱することなくその他の構成を考案することができることを理解されたい。
ノーマライズド・レート・アーリエスト・デリバリ・ファースト・スケジューリング・プロセスを使用する従来技術のコンテンツ配信システムを説明する図である。 ノーマライズド・レート・アーリエスト・デリバリ・ファースト・スケジューリング・プロセスを使用する従来技術のコンテンツ配信システムを説明する図である。 ノーマライズド・レート・アーリエスト・デリバリ・ファースト・スケジューリング・プロセスを使用する従来技術のコンテンツ配信システムを説明する図である。 ノーマライズド・レート・アーリエスト・デリバリ・ファースト・スケジューリング・プロセスを使用する従来技術のコンテンツ配信システムを説明する図である。 ノーマライズド・レート・アーリエスト・デリバリ・ファースト・スケジューリング・プロセスを使用する従来技術のコンテンツ配信システムを説明する図である。 ノーマライズド・レート・アーリエスト・デリバリ・ファースト・スケジューリング・プロセスを使用する従来技術のコンテンツ配信システムを説明する図である。 本発明の原理によるコンテンツ配信システムを示す例示的なブロック図である。 本発明の原理を実施するコンテンツ・サーバを示す例示的なブロック図である。 本発明の原理による例示的なスケジューリング・セットを示す図である。 本発明の原理によるコンテンツ・サーバで使用される例示的な流れ図を示す図である。 本発明の原理によるコンテンツ・サーバで使用される別の例示的な実施形態を示す図である。 本発明の原理によるコンテンツ・サーバで使用される上記別の例示的な実施形態を示す図である。 本発明の原理によるコンテンツ・サーバで使用される上記別の例示的な実施形態を示す図である。

Claims (13)

  1. サービスの供給に使用される、プロセッサが実行する方法であって、
    前記サービスを求める新しい要求を受け取るステップと、
    再スケジューリングされる古い要求の数がしきい値に制限されるように前記新しい要求および任意の古い要求の配信をスケジューリングするステップと、を含み、
    前記スケジューリングするステップにおいて、しきい値に基づくスレショルド・ベース・ノーマライズド・レート・アーリエスト・デリバリ・ファーストを実行する、方法。
  2. 前記スケジューリングするステップが、
    前記新しい要求の配信をスケジューリングするステップと、
    古い要求の数を求めるステップと、
    前記古い要求の数が前記しきい値より大きい場合に、最大で前記しきい値の数だけの古い要求の配信を再スケジューリングするステップと、
    を含む、請求項1に記載の方法。
  3. 前記新しい要求および古い要求が要求セットを形成し、
    前記スケジューリングするステップが、
    ルックバック要求が前記要求セット内に設定されているかどうかを判定するステップと、
    ルックバック要求が設定されていない場合に、全ての古い要求が再スケジューリングされるようにスケジューリング・セットを決定するステップと、
    ルックバック要求が設定されており、前記ルックバック要求が未だ配信されていない場合に、最大で前記しきい値の数だけの古い要求の配信を再スケジューリングするステップと、を含む、請求項1に記載の方法。
  4. 前記サービスがコンテンツの配信である、請求項1に記載の方法。
  5. 前記コンテンツがファイルである、請求項に記載の方法。
  6. 前記コンテンツがストリーミング・ビデオである、請求項に記載の方法。
  7. 要求クライアントへのサービスの供給に使用される装置であって、
    前記サービスを求める新しい要求をスケジューリングし、再スケジューリングされる古い要求の数がしきい値に制限されるように古い要求の配信を再スケジューリングすることによって、要求クライアントにサービスを配信するためのスケジューリング・セットを形成するプロセッサと、
    前記形成されたスケジューリング・セットを記憶するメモリと、を含み、
    前記プロセッサが、しきい値に基づくスレショルド・ベース・ノーマライズド・レート・アーリエスト・デリバリ・ファーストを実行する、装置。
  8. 前記プロセッサが、(a)前記新しい要求の配信をスケジューリングし、(b)古い要求の数を求め、(c)古い要求の数が前記しきい値より大きい場合に、最大で前記しきい値の数だけの古い要求の配信を再スケジューリングする、請求項に記載の装置。
  9. 前記新しい要求および古い要求が要求セットを形成し、前記プロセッサが、(a)ルックバック要求が前記要求セット内に設定されているかどうかを判定し、
    (b)ルックバック要求が設定されていない場合に、全ての古い要求が再スケジューリングされるようにスケジューリング・セットを決定し、
    (c)ルックバック要求が設定されており、前記ルックバック要求が未だ配信されていない場合に、最大で前記しきい値の数だけの古い要求の配信を再スケジューリングする、請求項に記載の装置。
  10. 前記サービスがコンテンツの配信である、請求項に記載の装置。
  11. 前記コンテンツがファイルである、請求項10に記載の装置。
  12. 前記コンテンツがストリーミング・ビデオである、請求項10に記載の装置。
  13. 実行されたときにプロセッサ・ベース・システムがサービスを求める要求に応答して配信をスケジューリングする方法を実行するプロセッサ・ベース・システム用のコンピュータ実行可能命令を有するコンピュータが読取り可能な媒体であって、前記方法が、
    前記サービスを求める新しい要求を受け取るステップと、
    再スケジューリングされる古い要求の数がしきい値に制限されるように前記新しい要求および古い要求の配信をスケジューリングするステップと、
    を含み、
    前記新しい要求および古い要求が要求セットを形成し、
    前記スケジューリングするステップが、
    ルックバック要求が前記要求セット内に設定されているかどうかを判定するステップと、
    ルックバック要求が設定されていない場合に、全ての古い要求が再スケジューリングされるようにスケジューリング・セットを決定するステップと、
    ルックバック要求が設定されており、前記ルックバック要求が未だ配信されていない場合に、最大で前記しきい値の数だけの古い要求の配信を再スケジューリングするステップと、
    を含み、
    前記スケジューリングするステップが、しきい値に基づくスレショルド・ベース・ノーマライズド・レート・アーリエスト・デリバリ・ファーストを実行する、前記コンピュータが読取り可能な媒体。
JP2009509512A 2006-05-05 2006-05-05 遅延ダウンロード・サービスのためのスレショルド・ベース・ノーマライズド・レート・アーリエスト・デリバリ・ファースト(nredf) Expired - Fee Related JP4890610B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2006/017267 WO2007130038A1 (en) 2006-05-05 2006-05-05 Threshold-based normalized rate earliest delivery first (nredf) for delayed downloading services

Publications (2)

Publication Number Publication Date
JP2009536498A JP2009536498A (ja) 2009-10-08
JP4890610B2 true JP4890610B2 (ja) 2012-03-07

Family

ID=37691892

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009509512A Expired - Fee Related JP4890610B2 (ja) 2006-05-05 2006-05-05 遅延ダウンロード・サービスのためのスレショルド・ベース・ノーマライズド・レート・アーリエスト・デリバリ・ファースト(nredf)

Country Status (7)

Country Link
US (1) US8650293B2 (ja)
EP (1) EP2016508A1 (ja)
JP (1) JP4890610B2 (ja)
KR (1) KR101353406B1 (ja)
CN (1) CN101432730B (ja)
BR (1) BRPI0621617A2 (ja)
WO (1) WO2007130038A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8467719B2 (en) * 2008-08-29 2013-06-18 General Motors Llc Method and system for the delivery of user requested program content using broadcast channels
CN101616187B (zh) * 2009-07-21 2012-01-25 中兴通讯股份有限公司 用户接入控制系统、方法及设备
EP3100420B1 (en) * 2014-01-28 2018-06-20 King Abdullah University Of Science And Technology Buffer sizing for multi-hop networks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09128338A (ja) * 1995-08-28 1997-05-16 Nec Corp 負荷分散ジョブ処理システム
US6003082A (en) * 1998-04-22 1999-12-14 International Business Machines Corporation Selective internet request caching and execution system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5923875A (en) * 1995-08-28 1999-07-13 Nec Corporation Load distributing job processing system
US7228350B2 (en) * 2000-08-04 2007-06-05 Avaya Technology Corp. Intelligent demand driven recognition of URL objects in connection oriented transactions
JP2005513616A (ja) * 2001-12-13 2005-05-12 トムソン ライセンシング ソシエテ アノニム キャッシュト・サーバを使用して情報を転送する方法および装置
US20030156547A1 (en) * 2002-02-15 2003-08-21 Exanet. Inc. System and method for handling overload of requests in a client-server environment
WO2003085924A1 (en) * 2002-04-05 2003-10-16 Telefonaktiebolaget Lm Ericsson (Publ) Object transfer control in a communications network
US7076544B2 (en) * 2002-04-08 2006-07-11 Microsoft Corporation Caching techniques for streaming media
US7272144B2 (en) * 2002-06-26 2007-09-18 Arris International, Inc. Method and apparatus for queuing data flows
CN1151635C (zh) * 2002-07-09 2004-05-26 华中科技大学 一种适用于集群网络服务的基于内容的通用调度系统
JP2005184165A (ja) * 2003-12-17 2005-07-07 Hitachi Ltd トラフィック制御装置およびそれを用いたサービスシステム
US20060080486A1 (en) * 2004-10-07 2006-04-13 International Business Machines Corporation Method and apparatus for prioritizing requests for information in a network environment
JP4343119B2 (ja) * 2005-01-19 2009-10-14 富士通株式会社 中継制御プログラムおよびその記録媒体、中継制御方法ならびに中継制御装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09128338A (ja) * 1995-08-28 1997-05-16 Nec Corp 負荷分散ジョブ処理システム
US6003082A (en) * 1998-04-22 1999-12-14 International Business Machines Corporation Selective internet request caching and execution system

Also Published As

Publication number Publication date
JP2009536498A (ja) 2009-10-08
US8650293B2 (en) 2014-02-11
KR20090015029A (ko) 2009-02-11
EP2016508A1 (en) 2009-01-21
BRPI0621617A2 (pt) 2011-12-13
US20090113054A1 (en) 2009-04-30
KR101353406B1 (ko) 2014-01-20
CN101432730B (zh) 2012-04-25
CN101432730A (zh) 2009-05-13
WO2007130038A1 (en) 2007-11-15

Similar Documents

Publication Publication Date Title
US9712408B2 (en) Bandwidth management in a content distribution network
CN105164982B9 (zh) 通过指派丢弃优先级来管理流之间的带宽分配的方法和网络元件
US20070208737A1 (en) Cache Server Network And Method Of Scheduling The Distribution Of Content Files Within The Same
CN103828327B (zh) 用于控制带宽的方法以及相应的设备
US20090055471A1 (en) Media streaming with online caching and peer-to-peer forwarding
EP1844591B1 (en) System architecture and method for scheduled downloading services
US20070025327A1 (en) Heavy load packet-switched routing
WO2013184442A1 (en) Stabilization of adaptive streaming video clients through rate limiting
JP4890610B2 (ja) 遅延ダウンロード・サービスのためのスレショルド・ベース・ノーマライズド・レート・アーリエスト・デリバリ・ファースト(nredf)
Hosseini et al. SVC-based multi-user streamloading for wireless networks
WO2004063840A2 (en) Content delivery system
US11201901B2 (en) Methods and systems for streaming media data over a content delivery network
JP2014522594A (ja) マルチメディア・コンテンツをストリーミングする方法および装置
JP2005260394A (ja) 通信の優先制御方法並びに通信の優先制御システム及び通信の優先制御装置
Yun et al. Rate adaptation for HTTP video streaming to improve the QoE in multi-client environments
Dwijaksara et al. Rate Adaptation Technique for Media Streaming over QUIC with Limited Backhaul
Manohar et al. A framework for programmable overlay multimedia networks
KR20070003920A (ko) 캐시 서버 네트워크 및 콘텐츠 파일의 분배를 스케쥴링하는방법
EP3035618B1 (en) Integrated bandwidth and storage reservation
JP2005218049A (ja) コンテンツ配信サーバ選択システム、サーバ及び配信サーバ選択プログラム
Ho et al. Efficient data replication for the delivery of high-quality video content over P2P VoD advertising networks
Xia et al. A distributed integrated request processing algorithm for QoS assurance in large-scale media-based systems
KR20070070912A (ko) 중앙 집중형 제어 방식을 이용한 주문형 영상 서비스시스템 및 그 제어방법

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20091019

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20091027

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111025

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111214

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141222

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees