JP6481291B2 - コンテンツ配信装置、コンテンツ配信方法、およびコンテンツ配信プログラム - Google Patents
コンテンツ配信装置、コンテンツ配信方法、およびコンテンツ配信プログラム Download PDFInfo
- Publication number
- JP6481291B2 JP6481291B2 JP2014174432A JP2014174432A JP6481291B2 JP 6481291 B2 JP6481291 B2 JP 6481291B2 JP 2014174432 A JP2014174432 A JP 2014174432A JP 2014174432 A JP2014174432 A JP 2014174432A JP 6481291 B2 JP6481291 B2 JP 6481291B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- bandwidth
- control unit
- distribution
- value
- 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.)
- Active
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
端末は、TSファイルを要求する場合、プレイリストを参照して、サーバとの間の帯域幅の状態に基づき複数のバリエーションから一つを指定して、そのバリエーションのTSファイルをサーバに要求する。
図1に示すように、コンテンツ配信システム1は、コンテンツ配信装置10と、複数の端末30(30a、30b、30c、30d、・・・)とを備え、コンテンツ配信装置10は、ネットワーク20を介して端末30それぞれと通信可能に接続される。
本実施形態のコンテンツ配信システム1において、コンテンツ配信装置10は、各端末30とアダプティブストリーミングを行う。
ここで、本実施形態のコンテンツ配信システム1におけるアダプティブストリーミングを用いた映像配信の一例を説明する。
端末30は、まず、コンテンツ配信装置10からプレイリストPLを受信する。そして、端末30は、プレイリストPLに列挙された複数のバリエーション(ビットレート値に応じたいくつかのバリエーション)で用意されたファイル(TSファイル)から、端末30とコンテンツ配信装置10との間の通信速度に基づき最適なバリエーションのファイル(ファイルが記憶された場所を示すURI(Uniform Resource Identifier))を選び、コンテンツ配信装置10に配信要求する(ファイル要求信号送信)。これにより、コンテンツ配信装置10から選択したバリエーションのファイルをダウンロードすることができる。
端末30は、コンテンツ配信装置10に配信要求したファイルのうち、一部または全てのファイルをダウンロードする。端末30は、コンテンツ配信装置10に配信要求したファイルにおいて第1の所定割合のファイルをダウンロードすると、端末30は、ダウンロードしたファイルにおいて予め定められた再生順序に基づいて、ダウンロードしたファイルを端末30が有するディスプレイに再生する。端末30は、コンテンツ配信装置10に配信要求したファイルにおいて第2の所定割合のファイルをダウンロードすると、次の処理に進む。
(1)端末30は、コンテンツ配信装置10に対して、端末30とコンテンツ配信装置10との間の通信速度に基づき最適なバリエーションのファイルを選び、コンテンツ配信装置10に配信要求する。
(2)端末30は、コンテンツ配信装置10から選択したバリエーションのファイルをダウンロードする。
(4)端末30は、コンテンツ配信装置10に配信要求したファイルにおいて第2の所定割合のファイルをダウンロードすると、(1)の処理に進む(繰り返す)。
これにより、端末30は、端末30とコンテンツ配信装置10との間の通信速度に応じて、端末30が有するディスプレイに、再生中に中断することなく最適な画質で映像を表示させることができる。
端末30は、通信機能を備えたコンピュータであり、アダプティブストリーミングで配信される映像データを再生して、ディスプレイに表示させる装置である。例えば、端末30は、スマートフォン(smartphone)等の携帯通信端末や、タブレット型コンピュータ等の携帯情報端末等の無線で通信を行うコンピュータである。また、端末30は、据え置き型のデスクトップパソコン(desktop personal computer)等の有線で通信を行うコンピュータであってもよい。
コンテンツ配信装置10は、ネットワーク20に接続され、端末30より受信したプレイリスト要求のパケットに従い、端末30にプレイリストPLを送信し、端末30より受信したコンテンツの配信要求のパケット(ファイル要求信号)に従い、端末30へ要求された映像データをアダプティブストリーミング配信する。コンテンツ配信装置10について詳細を後記する。
ネットワーク20は、端末30それぞれとコンテンツ配信装置10とを、例えば、有線/無線LAN(Local Area Network)やWAN(Wide Area Network)等を介して、インターネットプロトコル(Internet Protocol)技術を利用して相互接続されるコンピュータネットワークである。
図2にコンテンツ配信装置10の構成を示す。
コンテンツ配信装置10は、制御部である配信制御部110及びコンテンツ管理部120と、記憶部130と、送受信部140と、エンコーダ150とを備える。
記憶部130は、データやプログラムを記憶する構成部であり、例えば、HDD(Hard Disc Drive)、RAM(Random Access Memory)、光ディスク等の記憶手段である。
記憶部130は、一連のデジタルデータ化された映像・音声信号からエンコーダ150により生成された複数のバリエーションのファイル(TSファイル)と、プレイリストPLとを記憶する。
ここで、記憶部130に記憶されるファイルについて説明する。
デジタルデータ化された映像・音声信号がエンコーダ150に入力される。エンコーダ150は、デジタルデータをファイル化する際に、このデジタルデータを細分化して、10秒単位のTSファイル(MPEG-2 TS形式のファイル)を生成して暗号化する。また、エンコーダ150は、一連のデジタルデータから、ビットレート値に応じた複数のバリエーションを生成する。
これにより、1つの同じ内容の10秒単位のTSファイルが複数のバリエーションで生成され、例えば、記憶部130には、ビットレート値が高いTSファイル(以下、高データ転送レートファイルFHと称する)と、ビットレート値が低いTSファイル(以下、低データ転送レートファイルFLと称する)と、ビットレート値がそれらの中間のTSファイル(以下、中データ転送レートファイルFMと称する)とが記憶される。
プレイリストPLは、エンコーダ150により生成された複数のバリエーションのTSファイルのリストである。図3に示すように、このプレイリストPLには、TSファイルが保存されている場所や、TSファイルの再生順、暗号化の鍵、コンテンツのバリエーション等が書き込まれる。このプレイリストPLは、エンコーダ150によりM3U8形式で生成される。
コンテンツ管理部120は、端末30から要求されたTSファイルやプレイリストPLを記憶部130から取得し、配信制御部110(通信制御部111)に渡す。
配信制御部110は、通信制御部111と、通信状態監視部112と、帯域制御部113(バッファ114を内蔵)とを備える。
通信制御部111は、送受信部140を制御して、外部装置(図1において、外部装置は端末30に対応)へデータを送信させたり、送受信部140が受信した外部装置からのデータを取得して処理したりする制御手段である。
通信制御部111は、データをパケット化して、そのパケットのヘッダに宛先を入れ、ビットレート値に応じた帯域を割り当ててから送受信部140に送信させる。
通信制御部111は、帯域制御機能を有し、通信先の外部装置それぞれに対して、TSファイルを配信するために割り当てられる帯域幅(単位時間あたりの配信量)を変更する帯域制御を行う。これにより、通信制御部111は、特定の外部装置に対する帯域幅を確保したり逆に制限したりすることで、リソースである帯域を有効に使うことができる。
また、通信制御部111は、帯域制御部113がした帯域更新の設定に応じて、帯域の割り当てを変更する。
通信状態監視部112は、送受信部140からファイルを配信するために、ファイルそれぞれに割り当てられた帯域の広さを取得する制御手段である。このファイルに割り当てられた帯域の広さは、送受信部140を監視して取得してもよいし、通信制御部111により割り当て済みの帯域を取得してもよい。
帯域制御部113は、通信状態監視部112による監視結果(現在ファイル配信中で利用されている帯域)と、外部装置(図1において、外部装置は端末30に対応)からの配信要求を受けてこれから配信されるTSファイルのビットレート値とに応じて、帯域更新の設定を行い、通信制御部111が割り当てた帯域の広さを通信制御部111に変更させたり、プレイリストPLの送信許可判定をしたりする制御手段である。
また、帯域制御部113は、一時的にデータを保存するバッファ114を内蔵する。バッファ114は揮発性の記憶手段であってもよいし、不揮発性の記憶手段であってもよい。
送受信部140は、ネットワーク20と接続するインタフェースであり、配信制御部110(通信制御部111)に制御されて、ネットワーク20を介して、端末30とデータの送受信を行う。
図4は、コンテンツ配信装置のプレイリスト要求を受けた場合の動作のフローチャートである。
まず、端末30から送受信部140がプレイリスト要求を受信したことを通信制御部111が検知することで、配信制御部110はプレイリスト送信処理を実行する。
この、端末30から送受信部140が受信したプレイリスト要求を、通信制御部111が取得する(ステップS101)。
そして、帯域制御部113は、コンテンツ配信装置10が配信可能な総帯域(最大配信帯域;上限リソース使用情報値)から配信中総帯域を減算して、現在配信可能な空き配信帯域を算出する(ステップS104)。この最大配信帯域は、コンテンツ配信装置10のスペックに基づくものである。
帯域制御部113は、ステップS102で取得したビットレート値と、ステップS104で算出した空き配信帯域とを比較する(ステップS105:ビットレート値<空き配信帯域?)。ここで、帯域制御部113は、ビットレート値と空き配信帯域を比較するとき、ビットレート値の単位および空き配信帯域の単位として、例えばMbpsを用いる。
これにより、アダプティブストリーミングが中断され、配信制御部110はプレイリスト送信処理を終了する。
これにより、通信制御部111は、コンテンツ管理部120に問い合わせて、ステップS101で取得したプレイリスト要求に基づき、プレイリストPLをコンテンツ管理部120から取得する(ステップS109)。そして、通信制御部111は、プレイリスト要求の送信元(端末30)を宛先にして、プレイリストPLを送受信部140に送信させる(ステップS110)。そして、配信制御部110はプレイリスト送信処理を終了する。
これにより、端末30はプレイリストPLを取得することができる。
図5〜図6は、コンテンツ配信装置の配信要求を受けた場合の動作のフローチャートである。特に図6は、図5のステップS208で狭くした帯域を元に戻す帯域回復処理のフローチャートである。
まず、端末30から送受信部140がファイル配信要求を受信したことを通信制御部111が検知することで、配信制御部110はファイル配信処理を実行する。
この、端末30から送受信部140が受信したファイル配信要求を、配信制御部110(通信制御部111)が取得する(ステップS201)。
帯域制御部113は、コンテンツ管理部120に問い合わせて、ファイル配信要求に基づき、要求されたTSファイルのビットレート値をコンテンツ管理部120から取得する(ステップS202)。
このとき、コンテンツ管理部120は、通信制御部111からURIを受け取り、そのURIで示される記憶部130の場所にあるTSファイルのビットレート値を取得し、通信制御部111に渡す。
そして、帯域制御部113は、配信可能な総帯域(最大配信帯域)から配信中総帯域を減算して、現在配信可能な空き配信帯域を算出する(ステップS204)。
帯域制御部113は、ステップS202で取得したビットレート値と、ステップS204で算出した空き配信帯域とを比較する(ステップS205:ビットレート値≦空き配信帯域?)。ここで、帯域制御部113は、ビットレート値と空き配信帯域を比較するとき、ビットレート値の単位および空き配信帯域の単位として、例えばMbpsを用いる。
このとき、コンテンツ管理部120は、通信制御部111からURIを受け取り、そのURIで示される記憶部130の場所にあるTSファイルを取得し、通信制御部111に渡す。
ここで、帯域が不足せずに、余裕を持って帯域が割り当てられて配信されている場合、ステップS209で取得した要求されたTSファイルは、ステップS205でYesと判定された後、後記する帯域回復処理のステップS301でNoまたはその後のステップS304でNoと判定され、ステップS210の処理にて、ステップS202で取得したビットレート値に応じた帯域が割り当てられることになる。
図6は、ステップS208で狭くした帯域を元に戻す帯域回復処理のフローチャートである。
ステップS205(図5)の処理で、空き配信帯域の方が大きい又は等しい場合(ビットレート値≦空き配信帯域の場合)(ステップS205,Yes)、帯域制御部113は、オーバーフロー帯域がバッファ114に記憶されているか否かを判定する(ステップS301)。このオーバーフロー帯域は、ステップS207(図5)の処理でバッファ114に記憶されるものである。
記憶されていない場合(ステップS301,No)、ステップS209(図5)の処理を行う。
そして、帯域制御部113は、ステップS208の処理で、高データ転送レートファイルFHそれぞれに対して一様に狭くさせた帯域を、オーバーフロー帯域に戻した場合、すなわち、回復した場合の配信中総帯域(回復時配信中総帯域)を算出する(ステップS303)。
このとき、帯域制御部113は、ステップS201(図5)で取得した要求されたTSファイルについては、前回配信したTSファイルに対して割り当てられたオーバーフロー帯域ではなく、ステップS202(図5)で取得したビットレート値に応じて割り当てられる帯域で、回復した場合の配信中総帯域を算出する。
配信中総帯域の方が大きい場合(ステップS304,No)、ステップS209(図5)の処理を行う。
そして、ステップS209(図5)の処理を行う。
図7及び図8を用いて、図5のファイル配信処理及び図6の帯域回復処理による帯域の割り当て、帯域の回復について説明する。
図7は、コンテンツ配信装置10が割り当てている配信中総帯域を示すタイムチャートである。図8は、図7におけるT1〜T5の時点における端末30a、30b、30c、30dそれぞれに割り当てられた帯域の広さを示している。
T1は初期状態、T2は端末30bから新規に高データ転送レートファイルFHのファイル配信要求があり不足分帯域が発生したとき、T3は帯域を狭くしたとき、T4は端末30aから新規に低データ転送レートファイルFLのファイル配信要求により空き配信帯域が発生したとき、T5は帯域を元に戻したとき、それぞれの時点における配信中総帯域を示している。
図7において、配信中総帯域を実線で、最大配信帯域を一点鎖線で、T2の時点で新規のファイル配信要求に応じて高データ転送レートファイルFHを配信した場合の配信中総帯域を破線で示している。
図8(a)は、図7のT1の時点における端末30a、30b、30c、30dそれぞれに対して、TSファイルを配信するために割り当てられた帯域の広さを示しており、端末30a及び端末30dには広い帯域が割り当てられ、端末30b及び端末30cには狭い帯域が割り当てられている状態である。これは、端末30a及び端末30dには高データ転送レートファイルFHが配信され、端末30b及び端末30cには低データ転送レートファイルFLが配信されているためである。
図8(b)は、図7のT2の時点における状態であり、端末30bへのファイル配信が終了し、新たなファイル配信要求が来た状態である。端末30bからの新たなファイル配信要求で要求されたTSファイルのビットレート値が大きいため(高データ転送レートファイルFH)、ステップS205の処理(ビットレート値≦空き配信帯域?)で、ビットレート値の方が大きい場合(ビットレート値>空き配信帯域の場合)(ステップS205,No)に判定される状態である。このビットレート値に応じて帯域を確保すると、配信中総帯域が最大配信帯域を超えることを×印と破線で示している。このときの端末30a、30dに対して割り当てられている帯域及び端末30bに対して割り当てられるはずだった帯域がオーバーフロー帯域として、バッファ114に記憶される。
図8(c)は、図7のT3の時点における状態であり、T2の後のステップS208の処理で、端末30a、30b、30dへ高データ転送レートファイルFHを配信するために割り当てられた帯域に対して、不足分帯域を高データ転送レートファイルFHの数(ここでは3)で除算した値の分だけ狭くさせるように帯域更新の設定がされ、その後のステップS210の処理で帯域が割り当てられた状態である。
これにより、図8(c)に示すように、高データ転送レートファイルFHが配信される端末30a、30b、30dに対して、ファイル配信に割り当てられた帯域は、図8(b)で示す帯域よりも狭くなる。
図8(d)は、図7のT4の時点における状態であり、端末30aへのファイル配信が終了し、新たなファイル配信要求が来た状態である。端末30aからの新たなファイル配信要求で要求されたTSファイルのビットレート値が小さく(低データ転送レートファイルFL)、ステップS205の処理(ビットレート値≦空き配信帯域?)で、空き配信領域の方が大きい又は等しい場合(ビットレート値≦空き配信帯域の場合)(ステップS205,Yes)に判定される状態である。このビットレート値に応じて帯域を確保すると、配信中総帯域が最大配信帯域を大きく下回ることを×印と破線で示している。
図8(e)は、図7のT5の時点における状態であり、帯域回復処理が行われた状態である。T4の後のステップS305の処理にて、ステップS208の処理で、帯域を狭くさせられた端末30b、30dへ配信中のTSファイルに対して、オーバーフロー帯域を割り当てるように帯域更新の設定がされ、その後のステップS210の処理で帯域が割り当てられた状態である。
これにより、図8(e)に示すように、高データ転送レートファイルFHが配信される端末30b、30dに対して、ファイル配信に割り当てられた帯域は、図8(b)で示す帯域(オーバーフロー帯域)まで回復する(帯域が元に戻る)。
第2実施形態に係るコンテンツ配信装置10A(図2)について説明する。
第2実施形態に係るコンテンツ配信装置10Aは、第1実施形態に係るコンテンツ配信装置10が実行する処理(ファイル配信処理(図5)及び帯域回復処理(図6))の一部を変更した変形例である。そのため、第2実施形態に係るコンテンツ配信システム1を構成する各構成部は、第1実施形態における同名称かつ同符号の構成部と同様の処理を行うため、説明を便宜的に省略する。また、プレイリスト送信処理(図4)についても同様の処理を行うため、説明を便宜的に省略する。
・ステップS205AでYesの場合に、ステップS209の処理を実行する。
・ステップS210A
・ステップS306A
以上、図9、図10を参照
図9はコンテンツ配信装置の配信要求を受けた場合のファイル配信処理のフローチャートである。そして、図10は図9のステップS208で狭くした帯域を元に戻す帯域回復処理のフローチャートである。
ステップS201からステップ204までの処理は、第1実施形態に係るコンテンツ配信装置10が実行するファイル配信処理と同様の処理を行うため、説明を便宜的に省略する。
帯域制御部113は、ステップS202で取得したビットレート値と、ステップS204で算出した空き配信帯域とを比較する(ステップS205A:ビットレート値≦空き配信帯域?)。ここで、帯域制御部113は、ビットレート値と空き配信帯域を比較するとき、ビットレート値の単位および空き配信帯域の単位として、例えばMbpsを用いる。
このとき、コンテンツ管理部120は、通信制御部111からURIを受け取り、そのURIで示される記憶部130の場所にあるTSファイルを取得し、通信制御部111に渡す。
そして、通信制御部111は、ファイル配信要求の送信元(端末30)を宛先にして、取得したTSファイルを送受信部140に送信(配信)させる(ステップS211)。そして、配信制御部110はファイル配信処理を終了する。これにより、端末30は要求したバリエーションのTSファイルを取得することができる。
ここで、帯域が不足せずに、余裕を持って帯域が割り当てられて配信されている場合、ステップS209で取得したTSファイルは、ステップS205AでYesと判定された後、ステップS210Aの処理にて、ステップS202で取得したビットレート値に応じた帯域が割り当てられることになる。
図10は、ステップS208で狭くした帯域を元に戻す帯域回復処理のフローチャートである。この帯域回復処理は、ファイル配信処理(図9)のステップS211の処理により、送受信部140によりTSファイルの送信が始まり、ビットレートファイルを送信(配信)した後で行われる。すなわち、このビットレートファイルを送信(配信)し終えたことで、帯域にその分の余裕ができた状態である。
記憶されていない場合(ステップS301,No)は、帯域回復処理を終了する。
そして、帯域制御部113は、ステップS208(図9)の処理で、高データ転送レートファイルFHそれぞれに対して一様に狭くさせた帯域を、オーバーフロー帯域に戻した場合、すなわち、回復した場合の配信中総帯域(回復時配信中総帯域)を算出する(ステップS303)。
このとき、帯域制御部113は、ステップS201(図9)で取得した要求されたTSファイルについては、前回配信したTSファイルに対して割り当てられたオーバーフロー帯域ではなく、ステップS202(図9)で取得したビットレート値に応じて割り当てられる帯域で、回復した場合の配信中総帯域を算出する。
配信中総帯域の方が大きい場合(ステップS304,No)は、帯域回復処理を終了する。
そして、帯域回復処理を終了する。
図11及び図12を用いて、図9のファイル配信処理及び図10の帯域回復処理による帯域の割り当て、帯域の回復について説明する。
図11は、コンテンツ配信装置10Aが割り当てている配信中総帯域を示すタイムチャートである。図12は、図11におけるT1〜T5の時点における端末30a、30b、30c、30dそれぞれに割り当てられた帯域の広さを示している。
図11において、配信中総帯域を実線で、最大配信帯域を一点鎖線で、T2の時点で新規のファイル配信要求に応じて帯域を制御せずに高データ転送レートファイルFHを配信した場合の配信中総帯域を破線で示している。
図12(a)は、図11のT1の時点における端末30a、30b、30c、30dそれぞれに対して、TSファイルを配信するために割り当てられた帯域の広さを示しており、端末30a及び端末30dには広い帯域が割り当てられ、端末30b及び端末30cには狭い帯域が割り当てられている状態である。これは、端末30a及び端末30dには高データ転送レートファイルFHが配信され、端末30b及び端末30cには低データ転送レートファイルFLが配信されているためである。
図12(b)は、図11のT2の時点における状態であり、端末30bへのファイル配信が終了し、新たなファイル配信要求が来た状態である。端末30bからの新たなファイル配信要求で要求されたTSファイルのビットレート値が大きいため(高データ転送レートファイルFH)、ステップS205Aの処理(ビットレート値≦空き配信帯域?)で、ビットレート値の方が大きい場合(ビットレート値>空き配信帯域の場合)(ステップS205A,No)に判定される状態である。このビットレート値に応じて帯域を確保すると、配信中総帯域が最大配信帯域を超えることを×印と破線で示している。このときの端末30a、30dに対して割り当てられている帯域及び端末30bに対して割り当てられるはずだった帯域がオーバーフロー帯域として、バッファ114に記憶される。
図12(c)は、図11のT3の時点における状態であり、T2の後のステップS208(図9)の処理で、端末30a、30b、30dへ高データ転送レートファイルFHを配信するために割り当てられた帯域に対して、不足分帯域を高データ転送レートファイルFHの数(ここでは3)で除算した値の分だけ狭くさせるように帯域更新の設定がされ、その後のステップS210A(図9)の処理で帯域が割り当てられた状態である。
これにより、図12(c)に示すように、高データ転送レートファイルFHが配信される端末30a、30b、30dに対して、ファイル配信に割り当てられた帯域は、図12(b)で示す帯域よりも狭くなる。
図12(d)は、図11のT4の時点における状態であり、端末30aへのビットレートファイル(高データ転送レートファイルFH)の配信が終了した状態である。このとき、配信中総帯域が最大配信帯域を大きく下回る。
図12(e)は、図11のT5の時点における状態であり、端末30aへのビットレートファイルの配信が終了したことにより、帯域回復処理が行われた状態である。T4の後のステップS305(図10)の処理にて、ステップS208及びステップS210Aの処理で、帯域を狭くさせられた端末30b、30dへ配信中のTSファイルに対して、オーバーフロー帯域を割り当てるように帯域更新の設定がされ、その後のステップS306A(図10)の処理で帯域が割り当てられた状態である。
これにより、図12(e)に示すように、高データ転送レートファイルFHが配信される端末30b、30dに対して、ファイル配信に割り当てられた帯域は、図12(b)で示す帯域(オーバーフロー帯域)まで回復する(帯域が元に戻る)。
第3実施形態に係るコンテンツ配信装置10Bについて説明する。
この第3実施形態では、CPU使用率の値を監視して、帯域の割り当てを行う。
ここで、第3実施形態に係るコンテンツ配信システム1を構成する各構成部は、第1実施形態における同名称かつ同符号の構成部と同様の処理を行うため、説明を便宜的に省略する。
図13にコンテンツ配信装置10Bの構成を示す。
コンテンツ配信装置10Bは、制御部である配信制御部110B及びコンテンツ管理部120と、記憶部130と、送受信部140と、エンコーダ150とを備える。
第3実施形態において、配信制御部110Bは、通信制御部111と、通信状態監視部112と、帯域制御部113B(バッファ114を内蔵)と、さらにCPU状態監視部160を備える。
ここで、配信制御部110Bが備える、通信制御部111と、通信状態監視部112とは、第1実施形態における同名称の構成部と同様の処理を行うため、説明を便宜的に省略する。
CPU状態監視部160は、コンテンツ配信装置10Bを制御する制御部100(CPU)を監視して、CPU使用率を取得する。
ファイルの送受信はCPUにより制御されるため、CPUの現在の処理量を示すCPU使用率と、ファイル送信負荷とは関係する。例えば、配信帯域の幅が狭いときに、配信対象のファイル量が多くなると、処理量を上げようとCPUの負担が大きくなりCPU使用率が高くなる。そして、配信対象のファイル量を減らすことで、処理量が減ってCPUの負担が小さくなりCPU使用率が低くなる。
第3実施形態では、このCPU使用率の値に基づき、帯域の割り当てを行う。
帯域制御部113Bは、CPU状態監視部160による監視結果(CPU使用率)と、外部装置(図1において、外部装置は端末30に対応)からの配信要求を受けてTSファイルを配信した場合に予想される未来のCPU使用率(予測CPU使用率)とに応じて、帯域更新の設定を行い、通信制御部111が割り当てた帯域の広さを通信制御部111に変更させたり、プレイリストPLの送信許可判定をしたりする制御手段である。
また、帯域制御部113Bは、一時的にデータを保存するバッファ114を内蔵する。バッファ114は揮発性の記憶手段であってもよいし、不揮発性の記憶手段であってもよい。
図14は、コンテンツ配信装置のプレイリスト要求を受けた場合の動作のフローチャートである。
まず、端末30から送受信部140がプレイリスト要求を受信したことを通信制御部111が検知することで、配信制御部110Bはプレイリスト送信処理を実行する。
この、端末30から送受信部140が受信したプレイリスト要求を、通信制御部111が取得する(ステップS101)。
帯域制御部113Bは、その高データ転送レートファイルFH(TSファイル)のビットレート値に応じて、そのTSファイルを配信した場合に予想される未来のCPU使用率(予測CPU使用率)を算出する(ステップS401)。
そして、帯域制御部113Bは、コンテンツ配信装置10Bの制御部100が使用可能なCPU使用率上限値(上限リソース使用情報値)(≒最大配信帯域)から現在のCPU使用率を減算して、空きCPU使用率を算出する(ステップS403)。このCPU使用率上限値は、コンテンツ配信装置10Bのスペックに基づくものである。
帯域制御部113Bは、ステップS401で取得した予測CPU使用率と、ステップS403で算出した空きCPU使用率とを比較する(ステップS404:予測CPU使用率<空きCPU使用率?)。
これにより、アダプティブストリーミングが中断され、配信制御部110Bはプレイリスト送信処理を終了する。
これにより、通信制御部111は、コンテンツ管理部120に問い合わせて、ステップS101で取得したプレイリスト要求に基づき、プレイリストPLをコンテンツ管理部120から取得する(ステップS109)。そして、通信制御部111は、プレイリスト要求の送信元(端末30)を宛先にして、プレイリストPLを送受信部140に送信させる(ステップS110)。そして、配信制御部110Bはプレイリスト送信処理を終了する。
これにより、端末30はプレイリストPLを取得することができる。
図15(図15A及び図15B)はコンテンツ配信装置の配信要求を受けた場合のファイル配信処理のフローチャートである。そして、図16は図15のステップS208及びステップS516で狭くした帯域を元に戻す帯域回復処理のフローチャートである。
まず、端末30から送受信部140がファイル配信要求を受信したことを通信制御部111が検知することで、配信制御部110Bはファイル配信処理を実行する。
この、端末30から送受信部140が受信したファイル配信要求を、配信制御部110B(通信制御部111)が取得する(ステップS201)。
帯域制御部113Bは、コンテンツ管理部120に問い合わせて、ファイル配信要求に基づき、要求されたTSファイルのビットレート値をコンテンツ管理部120から取得する(ステップS202)。
このとき、コンテンツ管理部120は、通信制御部111からURIを受け取り、そのURIで示される記憶部130の場所にあるTSファイルのビットレート値を取得し、通信制御部111に渡す。
そして、帯域制御部113Bは、使用可能なCPU使用率上限値(≒最大配信帯域)から現在のCPU使用率を減算して、空きCPU使用率を算出する(ステップS503)。
帯域制御部113Bは、ステップS502で取得した予測CPU使用率と、ステップS503で算出した空きCPU使用率とを比較する(ステップS504:予測CPU使用率<空きCPU使用率?)。
その後、帯域制御部113Bは、下げた総帯域量(m)をバッファ114に記憶させる(ステップS506)。ここで、以前の処理で下げた総帯域量(m)がバッファ114に記憶されていれば(クリアされずにまだ残っていれば)加算する(M=M+m)。
このとき、コンテンツ管理部120は、通信制御部111からURIを受け取り、そのURIで示される記憶部130の場所にあるTSファイルを取得し、通信制御部111に渡す。
そして、通信制御部111は、ファイル配信要求の送信元(端末30)を宛先にして、取得したTSファイルを送受信部140に送信(配信)させる(ステップS211)。
そして、帯域制御部113Bは、使用可能なCPU使用率上限値(≒最大配信帯域)から現在のCPU使用率を減算して、空きCPU使用率を算出する(ステップS513)。
帯域制御部113Bは、ステップS513で算出した空きCPU使用率の値が0より大きいか否かを判定する(ステップS514:空きCPU使用率>0?)。
そして、帯域制御部113Bは、所定の下げる総帯域量だけ下がるように、高データ転送レートファイルFHそれぞれに割り当てられた帯域を一様に狭くさせる帯域更新の設定をする(ステップS516)。
そして、通信制御部111は、ファイル配信要求の送信元(端末30)を宛先にして、取得したTSファイルを送受信部140に送信(配信)させる(ステップS519)。そして、ステップS514の処理に戻る。
ここで、帯域が不足せずに、余裕を持って帯域が割り当てられて配信されている場合、ステップS209で取得した要求されたTSファイルは、ステップS504でYesと判定された後、ステップS210Aの処理にて、ステップS202で取得したビットレート値に応じた帯域が割り当てられることになる。
図16は、ステップS208及びステップS516で狭くした帯域を元に戻す帯域回復処理のフローチャートである。この帯域回復処理は、ファイル配信処理(図15)のステップS211の処理により、送受信部140が複数のTSファイルで構成される1つのビットレートファイルを送信(配信)した後で行われる。すなわち、このビットレートファイルを送信(配信)し終えたことで、帯域にその分の余裕(空き)ができた状態である。
記憶されていない場合(ステップS601,No)は、帯域回復処理を終了する。
帯域制御部113Bは、CPU状態監視部160から現在のCPU使用率を取得する(ステップS603)。
そして、帯域制御部113Bは、使用可能なCPU使用率上限値(≒最大配信帯域)から現在のCPU使用率を減算して、空きCPU使用率を算出する(ステップS604)。
帯域制御部113Bは、ステップS604で算出した空きCPU使用率の値が0より大きいか否かを判定する(ステップS605:空きCPU使用率>0?)。
CPU使用率に空きがなく、不足していれば(空きCPU使用率≦0)(ステップS605,No)、帯域回復処理を終了する。
そして、帯域回復処理を終了する。
図17及び図18を用いて、図15のファイル配信処理及び図16の帯域回復処理による帯域の割り当て、帯域の回復が行われることによるCPU使用率の変化について説明する。
図17は、コンテンツ配信装置10Bが備えるCPU(制御部100)のCPU使用率の変化を示すタイムチャートである。図18は、図17におけるT1〜T5の時点における端末30a、30b、30c、30dそれぞれに割り当てられた帯域の広さを示している。
図18(a)は、図17のT1の時点における端末30a、30b、30c、30dそれぞれに対して、TSファイルを配信するために割り当てられた帯域の広さを示しており、端末30a及び端末30dには広い帯域が割り当てられ、端末30b及び端末30cには狭い帯域が割り当てられている状態である。これは、端末30a及び端末30dには高データ転送レートファイルFHが配信され、端末30b及び端末30cには低データ転送レートファイルFLが配信されているためである。
図18(b)は、図17のT2の時点における状態であり、端末30bへのファイル配信が終了し、新たなファイル配信要求が来た状態である。端末30bからの新たなファイル配信要求で要求されたTSファイルのビットレート値が大きいため(高データ転送レートファイルFH)、ステップS504の処理で、予測CPU使用率>空きCPU使用率(ステップS504,No)に判定される状態である。このビットレート値に応じて帯域を確保すると、CPUの処理量が増えすぎて、CPU使用率がCPU使用率上限値を超えることを×印と破線で示している。すなわち、このビットレート値に応じて帯域を確保すると、配信中総帯域が最大配信帯域を超えてしまう可能性が高い。
図18(c)は、図17のT3の時点における状態であり、T2の後のステップS208(及びステップS516)の処理で、端末30a、30b、30dへ高データ転送レートファイルFHを配信するために割り当てられた帯域に対して、所定の下げる総帯域量(m)だけ下がるように、高データ転送レートファイルFHそれぞれに割り当てられた帯域を一様に狭くさせる帯域更新の設定がされ、その後のステップS210Aの処理で帯域が割り当てられた状態である。
これにより、図18(c)に示すように、高データ転送レートファイルFHが配信される端末30a、30b、30dに対して、ファイル配信に割り当てられた帯域は、図18(b)で示す帯域よりも狭くなる。
図18(d)は、図17のT4の時点における状態であり、未だにCPU使用率がCPU使用率上限値を超える状態(ステップS514,No:空きCPU使用率≦0)であったため、再び所定の下げる総帯域量(m)だけ下がるように、高データ転送レートファイルFHそれぞれに割り当てられた帯域を一様に狭くさせる帯域更新の設定がされ、その後のステップS210Aの処理で帯域が割り当てられた状態である。これにより、CPU使用率がCPU使用率上限値を下回った状態である。
これにより、図18(d)に示すように、高データ転送レートファイルFHが配信される端末30a、30b、30dに対して、ファイル配信に割り当てられた帯域は、図18(c)で示す帯域よりもさらに狭くなる。
図18(e)は、図17のT5の時点における状態であり、端末30aへのファイル配信が終了したことにより、帯域回復処理が行われた状態である。CPU使用率がCPU使用率上限値を下回っており(空きCPU使用率>0)、T4の後のステップS606の処理にて、ステップS208(及びステップS516)の処理で、帯域を狭くさせられた端末30b、30dへ配信中のTSファイルに対して、下げた総帯域量を割り当てるように帯域更新の設定がされ、その後のステップS607の処理で帯域が割り当てられた状態である。
これにより、図18(e)に示すように、高データ転送レートファイルFHが配信される端末30b、30dに対して、ファイル配信に割り当てられた帯域は、図18(b)で示す帯域(下げた総帯域量(M))まで回復する(帯域が元に戻る)。
第4実施形態に係るコンテンツ配信装置10Cについて説明する。
この第4実施形態では、記憶部130とデータの送受信可能にバス175(図19)を介して接続されたインタフェースを監視して、帯域の割り当てを行う。
ここで、第4実施形態に係るコンテンツ配信システム1を構成する各構成部は、第1実施形態における同名称かつ同符号の構成部と同様の処理を行うため、説明を便宜的に省略する。
図19にコンテンツ配信装置10Cの構成を示す。
コンテンツ配信装置10Cは、制御部である配信制御部110C及びコンテンツ管理部120と、記憶部130と、送受信部140と、エンコーダ150とを備える。
コンテンツ管理部120は、端末30から要求されたTSファイルやプレイリストPLを記憶部130から取得し、配信制御部110C(通信制御部111)に渡す。このコンテンツ管理部120は、バス175(ディスクI/O)を介して記憶部130からデータを取得する。
第4実施形態において、配信制御部110Cが備える、通信制御部111と、通信状態監視部112と、帯域制御部113C(バッファ114を内蔵)と、さらにディスクI/O状態監視部170を備える。
ここで、配信制御部110Cが備える、通信制御部111と、通信状態監視部112とは、第1実施形態における同名称の構成部と同様の処理を行うため、説明を便宜的に省略する。
ディスクI/O状態監視部170は、記憶部130とデータの送受信可能にバス175を介して接続されたインタフェースを監視して、ディスクI/Oの状態を取得する。
ファイルの送受信において、後記するように記憶部130からデータを読み出したり、記憶部130にデータを書き込んだりするときの“データ転送速度”と、ファイル送信負荷とは関係する。例えば、配信帯域の幅が狭いときに、配信対象のファイル量が多くなると、制御部100(CPU)と記憶部130(HDD)とを接続するバスにおける“1秒間のデータ転送量”が高くなり、すなわち、記憶部130からデータを読み出す速度が高くなる。そして、配信対象のファイル量を減らすことで、記憶部130からデータを読み出す速度が低くなる。
第4実施形態では、このディスクI/Oの状態に基づき、帯域の割り当てを行う。
この「ディスクI/Oの状態」は、ディスクI/Oの状態に関係する監視対象から得られるディスクI/Oの状態を数値化可能な情報(ディスクI/O状態値;リソース使用情報値)である。
第4実施形態において、「ディスクI/Oの状態」は、記憶部130からデータを読み出したり、記憶部130にデータを書き込んだりするときの“データ転送速度”とする。つまり、制御部100(CPU)と記憶部130(HDD)とを接続するバスにおける“1秒間のデータ転送量”である。
また、「ディスクI/Oの状態」は、制御部100(CPU)と記憶部130(HDD)とを接続するバスのバンド帯使用率(%)であってもよい。
帯域制御部113Cは、ディスクI/O状態監視部170による監視結果(ディスクI/O状態値、ここではデータ転送速度)と、外部装置(図1において、外部装置は端末30に対応)からの配信要求を受けてTSファイルを配信した場合に予想される未来のディスクI/Oの状態(予測ディスクI/O状態値)とに応じて、帯域更新の設定を行い、通信制御部111が割り当てた帯域の広さを通信制御部111に変更させたり、プレイリストPLの送信許可判定をしたりする制御手段である。
また、帯域制御部113Cは、一時的にデータを保存するバッファ114を内蔵する。バッファ114は揮発性の記憶手段であってもよいし、不揮発性の記憶手段であってもよい。
図20は、コンテンツ配信装置のプレイリスト要求を受けた場合の動作のフローチャートである。
まず、端末30から送受信部140がプレイリスト要求を受信したことを通信制御部111が検知することで、配信制御部110Cはプレイリスト送信処理を実行する。
この、端末30から送受信部140が受信したプレイリスト要求を、通信制御部111が取得する(ステップS101)。
帯域制御部113Cは、その高データ転送レートファイルFH(TSファイル)のビットレート値に応じて、そのTSファイルを配信した場合に予想される未来のディスクI/Oの状態(予測ディスクI/O)を算出する(ステップS701)。
そして、帯域制御部113Cは、コンテンツ配信装置10Cの制御部100が使用可能なディスクI/O使用上限値(上限リソース使用情報値)(≒最大配信帯域)から現在のディスクI/O状態値を減算して、空きディスクI/O状態値を算出する(ステップS703)。このディスクI/O使用上限値は、コンテンツ配信装置10Cのスペックに基づくものである。
帯域制御部113Cは、ステップS701で取得した予測ディスクI/O状態値と、ステップS703で算出した空きディスクI/O状態値とを比較する(ステップS704:予測ディスクI/O状態値<空きディスクI/O状態値?)。
これにより、アダプティブストリーミングが中断され、配信制御部110Cはプレイリスト送信処理を終了する。
これにより、通信制御部111は、コンテンツ管理部120に問い合わせて、ステップS101で取得したプレイリスト要求に基づき、プレイリストPLをコンテンツ管理部120から取得する(ステップS109)。そして、通信制御部111は、プレイリスト要求の送信元(端末30)を宛先にして、プレイリストPLを送受信部140に送信させる(ステップS110)。そして、配信制御部110Cはプレイリスト送信処理を終了する。
これにより、端末30はプレイリストPLを取得することができる。
図21(図21A及び図21B)はコンテンツ配信装置の配信要求を受けた場合のファイル配信処理のフローチャートである。そして、図22は図21のステップS208及びステップS816で狭くした帯域を元に戻す帯域回復処理のフローチャートである。
まず、端末30から送受信部140がファイル配信要求を受信したことを通信制御部111が検知することで、配信制御部110Cはファイル配信処理を実行する。
この、端末30から送受信部140が受信したファイル配信要求を、配信制御部110C(通信制御部111)が取得する(ステップS201)。
帯域制御部113Cは、コンテンツ管理部120に問い合わせて、ファイル配信要求に基づき、要求されたTSファイルのビットレート値をコンテンツ管理部120から取得する(ステップS202)。
このとき、コンテンツ管理部120は、通信制御部111からURIを受け取り、そのURIで示される記憶部130の場所にあるTSファイルのビットレート値を取得し、通信制御部111に渡す。
そして、帯域制御部113Cは、使用可能なディスクI/O使用上限値(≒最大配信帯域)から現在のディスクI/O状態値を減算して、空きディスクI/O状態値を算出する(ステップS803)。
帯域制御部113Cは、ステップS802で取得した予測ディスクI/O状態値と、ステップS803で算出した空きディスクI/O状態値とを比較する(ステップS804:予測ディスクI/O状態値≦空きディスクI/O状態値?)。
その後、帯域制御部113Cは、下げた総帯域量(m)をバッファ114に記憶させる(ステップS806)。ここで、以前の処理で下げた総帯域量(m)がバッファ114に記憶されていれば(クリアされずにまだ残っていれば)加算する(M=M+m)。
このとき、コンテンツ管理部120は、通信制御部111からURIを受け取り、そのURIで示される記憶部130の場所にあるTSファイルを取得し、通信制御部111に渡す。
そして、通信制御部111は、ファイル配信要求の送信元(端末30)を宛先にして、取得したTSファイルを送受信部140に送信(配信)させる(ステップS211)。
そして、帯域制御部113Cは、使用可能なディスクI/O使用上限値(≒最大配信帯域)から現在のディスクI/O状態値を減算して、空きディスクI/O状態値を算出する(ステップS813)。
帯域制御部113Cは、ステップS813で算出した空きディスクI/O状態値の値が0より大きいか否かを判定する(ステップS814:空きディスクI/O状態値>0?)。
そして、帯域制御部113Cは、所定の下げる総帯域量だけ下がるように、高データ転送レートファイルFHそれぞれに割り当てられた帯域を一様に狭くさせる帯域更新の設定をする(ステップS816)。
そして、通信制御部111は、ファイル配信要求の送信元(端末30)を宛先にして、取得したTSファイルを送受信部140に送信(配信)させる(ステップS819)。そして、ステップS814に戻る。
ここで、帯域が不足せずに、余裕を持って帯域が割り当てられて配信されている場合、ステップS209で取得した要求されたTSファイルは、ステップS804でYesと判定された後、ステップS210Aの処理にて、ステップS202で取得したビットレート値に応じた帯域が割り当てられることになる。
図22は、ステップS208及びステップS816で狭くした帯域を元に戻す帯域回復処理のフローチャートである。この帯域回復処理は、ファイル配信処理(図21)のステップS211の処理により、送受信部140が複数のTSファイルで構成される1つのビットレートファイルを送信(配信)した後で行われる。すなわち、このビットレートファイルを送信(配信)し終えたことで、帯域にその分の余裕(空き)ができた状態である。
記憶されていない場合(ステップS901,No)は、帯域回復処理を終了する。
帯域制御部113Cは、ディスクI/O状態監視部170から現在のディスクI/O状態値を取得する(ステップS903)。
そして、帯域制御部113Cは、使用可能なディスクI/O使用上限値(≒最大配信帯域)から現在のディスクI/O状態値を減算して、空きディスクI/O状態値を算出する(ステップS904)。
帯域制御部113Cは、ステップS904で算出した空きディスクI/O状態値の値が0より大きいか否かを判定する(ステップS905:空きディスクI/O状態値>0?)。
ディスクI/Oの状態に余裕がなく、不足していれば(空きディスクI/O状態値≦0)(ステップS905,No)、帯域回復処理を終了する。
そして、帯域回復処理を終了する。
図23及び図24を用いて、図21のファイル配信処理及び図22の帯域回復処理による帯域の割り当て、帯域の回復が行われることによるディスクI/Oの状態の変化について説明する。
図23は、コンテンツ配信装置10Cが備えるバス175(と接続するインタフェース)のディスクI/O状態値の変化を示すタイムチャートである。図24は、図23におけるT1〜T5の時点における端末30a、30b、30c、30dそれぞれに割り当てられた帯域の広さを示している。
図24(a)は、図23のT1の時点における端末30a、30b、30c、30dそれぞれに対して、TSファイルを配信するために割り当てられた帯域の広さを示しており、端末30a及び端末30dには広い帯域が割り当てられ、端末30b及び端末30cには狭い帯域が割り当てられている状態である。これは、端末30a及び端末30dには高データ転送レートファイルFHが配信され、端末30b及び端末30cには低データ転送レートファイルFLが配信されているためである。
図24(b)は、図23のT2の時点における状態であり、端末30bへのファイル配信が終了し、新たなファイル配信要求が来た状態である。端末30bからの新たなファイル配信要求で要求されたTSファイルのビットレート値が大きいため(高データ転送レートファイルFH)、ステップS804の処理で、予測ディスクI/O状態値>空きディスクI/O状態値(ステップS804,No)に判定される状態である。このビットレート値に応じて帯域を確保すると、ディスクI/Oのデータ送受信量が増えすぎて、ディスクI/O状態値がディスクI/O使用上限値を超えることを×印と破線で示している。すなわち、このビットレート値に応じて帯域を確保すると、配信中総帯域が最大配信帯域を超えてしまう可能性が高い。
図24(c)は、図23のT3の時点における状態であり、T2の後のステップS208(及びステップS816)の処理で、端末30a、30b、30dへ高データ転送レートファイルFHを配信するために割り当てられた帯域に対して、所定の下げる総帯域量(m)だけ下がるように、高データ転送レートファイルFHそれぞれに割り当てられた帯域を一様に狭くさせる帯域更新の設定がされ、その後のステップS210Aの処理で帯域が割り当てられた状態である。
これにより、図24(c)に示すように、高データ転送レートファイルFHが配信される端末30a、30b、30dに対して、ファイル配信に割り当てられた帯域は、図24(b)で示す帯域よりも狭くなる。
図24(d)は、図23のT4の時点における状態であり、未だにディスクI/O状態値がディスクI/O使用上限値を超える状態(ステップS814,No:空きディスクI/O状態値≦0)であったため、再び所定の下げる総帯域量(m)だけ下がるように、高データ転送レートファイルFHそれぞれに割り当てられた帯域を一様に狭くさせる帯域更新の設定がされ、その後のステップS210Aの処理で帯域が割り当てられた状態である。これにより、ディスクI/O状態値がディスクI/O使用上限値を下回った状態である。
これにより、図24(d)に示すように、高データ転送レートファイルFHが配信される端末30a、30b、30dに対して、ファイル配信に割り当てられた帯域は、図24(c)で示す帯域よりもさらに狭くなる。
図24(e)は、図23のT5の時点における状態であり、端末30aへのファイル配信が終了したことにより、帯域回復処理が行われた状態である。ディスクI/O状態値がディスクI/O使用上限値を下回っており(空きディスクI/O状態値>0)、T4の後のステップS906の処理にて、ステップS208(及びステップS816)の処理で、帯域を狭くさせられた端末30b、30dへ配信中のTSファイルに対して、下げた総帯域量を割り当てるように帯域更新の設定がされ、その後のステップS907の処理で帯域が割り当てられた状態である。
これにより、図24(e)に示すように、高データ転送レートファイルFHが配信される端末30b、30dに対して、ファイル配信に割り当てられた帯域は、図24(b)で示す帯域(下げた総帯域量(M))まで回復する(帯域が元に戻る)。
第5実施形態に係るコンテンツ配信装置10Dについて説明する。
この第5実施形態では、記憶部130とデータの送受信可能にバス175(図26)を介して接続されたインタフェースを監視して、帯域の割り当てを行う。
図25に示すように、第5実施形態におけるコンテンツ配信システム1は、第4実施形態と同様に、コンテンツ配信装置10Dと、複数の端末30(30a、30b、30c、30d、・・・)と、さらに、コンテンツ変換装置40を備える。そして、コンテンツ配信装置10Dは、ネットワーク20を介してコンテンツ変換装置40とも通信可能に接続される。
ここで、第4実施形態に係るコンテンツ配信システム1を構成する構成部と同名称かつ同符号の構成部は、第4実施形態における処理と同様の処理を行うため、説明を便宜的に省略する。
コンテンツ変換装置40は、映像コンテンツであるファイル(映像コンテンツ)をコンテンツ配信装置10Dに供給する装置である。これにより、コンテンツ配信装置10Dは、記憶部130に映像コンテンツを蓄積することができ、このファイルを各端末30にアダプティブストリーミングで配信する。
図26にコンテンツ配信装置10Dの構成を示す。
コンテンツ配信装置10Dは、制御部である配信制御部110D及びコンテンツ管理部120Dと、記憶部130と、送受信部140と、エンコーダ150とを備える。
コンテンツ管理部120Dは、端末30から要求されたTSファイルやプレイリストPLを記憶部130から取得し、配信制御部110D(通信制御部111)に渡す。このコンテンツ管理部120Dは、バス175(ディスクI/O)を介して記憶部130からデータを取得する。
第5実施形態において、配信制御部110Dは、通信制御部111と、通信状態監視部112と、帯域制御部113D(バッファ114を内蔵)と、ディスクI/O状態監視部170と、さらに書込要求対応部180を備える。
ここで、配信制御部110Dは、通信制御部111と、通信状態監視部112とは、第4実施形態における同名称の構成部と同様の処理を行うため、説明を便宜的に省略する。
ディスクI/O状態監視部170は、記憶部130とデータの送受信可能にバス175を介して接続されたインタフェースを監視して、ディスクI/Oの状態を取得する。
第5実施形態では、このディスクI/Oの状態に基づき、帯域の割り当てを行う。第5実施形態において、「ディスクI/Oの状態」は、記憶部130からデータを読み出したり、記憶部130にデータを書き込んだりするときの“データ転送速度”とする。つまり、制御部100(CPU)と記憶部130(HDD)とを接続するバスにおける“1秒間のデータ転送量”である。
この「ディスクI/Oの状態」は、第4実施形態で説明したようにディスクI/Oの状態に関係する監視対象から得られるディスクI/Oの状態を数値化可能な情報(ディスクI/O状態値)である。
書込要求対応部180は、ファイルの書き込み要求があった場合に、ディスクI/Oの状態から、そのファイルをHDDに書き込む際に要する分を確保する構成部である。
帯域制御部113Dは、ディスクI/O状態監視部170による監視結果(ディスクI/O状態値、ここではデータ転送速度)と、外部装置(図25において、外部装置は端末30に対応)からの配信要求を受けてTSファイルを配信した場合に予想される未来のディスクI/Oの状態(予測ディスクI/O状態値)とに応じて、帯域更新の設定を行い、通信制御部111が割り当てた帯域の広さを通信制御部111に変更させたり、プレイリストPLの送信許可判定をしたりする制御手段である。
また、帯域制御部113Dは、一時的にデータを保存するバッファ114を内蔵する。バッファ114は揮発性の記憶手段であってもよいし、不揮発性の記憶手段であってもよい。
図27は、コンテンツ変換装置40からファイルの書き込み要求を受信することで実行される書込要求受信処理のフローチャートである。
まず、コンテンツ変換装置40(図25)から送受信部140がファイル(映像コンテンツ)の書き込み要求を受信したことを通信制御部111が検知することで、配信制御部110D(書込要求対応部180)は書込要求受信処理を実行する。
この、コンテンツ変換装置40から送受信部140が受信したファイルの書き込み要求を、通信制御部111が取得する(ステップS1101)。
そして、書込要求対応部180は、ディスクI/O使用上限値(≒最大配信帯域)から予約ディスクI/O状態値の分を(強制的に)下げる(ステップS1103)。
書込要求対応部180は、ディスクI/O状態監視部170から現在の使用中ディスクI/O状態値を取得する(ステップS1104)。
書込要求対応部180は、ステップS1102で予測した予約ディスクI/O状態値と、ステップS1105で算出した空きディスクI/O状態値とを比較する(ステップS1106:空きディスクI/O状態値>予約ディスクI/O状態値?)。
その後、コンテンツ変換装置40からファイル(映像コンテンツ)が送信されて、後記するファイル書込処理(図28)が実行される。
図28は、コンテンツ変換装置40からファイルを受信することで実行されるファイル書込処理のフローチャートである。
まず、コンテンツ変換装置40(図25)から送受信部140がファイル(映像コンテンツ)を受信したことを通信制御部111が検知することで、配信制御部110D(書込要求対応部180)はファイル書込処理を実行する。
コンテンツ管理部120Dは、書込要求対応部180からファイルを順番に受け取り、ファイル毎にURIを生成する。そして、そのファイルを記憶部130に記憶させる(ステップS2102)。
図29及び図30を用いて、図27の書込要求受信処理及び図28のファイル書込処理によるファイル(映像コンテンツ)を書き込むためのディスクI/O状態値の確保、書き込み完了後のディスクI/O使用上限値の回復が行われることによるディスクI/Oの状態の変化について説明する。
図29は、コンテンツ配信装置10Dが備えるバス175(と接続するインタフェース)のディスクI/O状態値の変化を示すタイムチャートである。図30は、図29におけるT1〜T5の時点における端末30a、30b、30c、30dそれぞれに割り当てられた帯域の広さを示している。
T1は初期状態、T1.1は書き込み要求を受信したとき(ファイルを書き込むために必要な空きディスクI/O状態値を確保できなかった)、T2はTSファイルの送信タイミングがきたとき(不足分帯域が発生)、T3は所定の下げる総帯域量だけ帯域を狭くしたとき、T3.1は書き込み要求を許可したとき(ファイルの書き込み開始)、T3.2はファイルの書き込みが完了したとき、それぞれの時点におけるディスクI/O状態値を示している。
図30(a)は、図29のT1の時点における端末30a、30b、30c、30dそれぞれに対して、TSファイルを配信するために割り当てられた帯域の広さを示しており、端末30a及び端末30dには広い帯域が割り当てられ、端末30b及び端末30cには狭い帯域が割り当てられている状態である。これは、端末30a及び端末30dには高データ転送レートファイルFHが配信され、端末30b及び端末30cには低データ転送レートファイルFLが配信されているためである。
(T1.1の時点)
図29のT1.1の時点は、コンテンツ変換装置40からファイル(映像コンテンツ)の書き込み要求を受信して、ディスクI/O使用上限値から予約ディスクI/O状態値の分を(強制的に)下げた状態である。このとき、ファイルを書き込むために必要な空きディスクI/O状態値を確保できなかったため、ループ処理が実行されている状態である。
図29のT2の時点は、(データ転送レートファイルを構成する)1つのTSファイルの配信が終了した状態である。このとき、ディスクI/O状態値がディスクI/O使用上限値を上回っているため、ステップS804の処理(予測ディスクI/O状態値≦空きディスクI/O状態値?)で、予測ディスクI/O状態値の方が大きい場合(ステップS804,No)に判定される状態である。このビットレート値に応じて帯域を確保すると、ディスクI/Oのデータ送受信量が増えすぎて、ディスクI/O状態値がディスクI/O使用上限値を超えることを×印と破線で示している。すなわち、このビットレート値に応じて帯域を確保すると、配信中総帯域が最大配信帯域を超えてしまう可能性が高い。
図30(c)は、図29のT3の時点における状態であり、T2の後のステップS208(及びステップS816)の処理で、端末30a、30dへ高データ転送レートファイルFHを配信するために割り当てられた帯域に対して、所定の下げる総帯域量(m)だけ下がるように、高データ転送レートファイルFHそれぞれに割り当てられた帯域を一様に狭くさせる帯域更新の設定がされ、その後のステップS210Aの処理で帯域が割り当てられた状態である。
これにより、図30(c)に示すように、高データ転送レートファイルFHが配信される端末30a、30dに対して、ファイル配信に割り当てられた帯域は、図30(b)で示す帯域よりも狭くなる。
図29のT3.1の時点は、ディスクI/O状態値がディスクI/O使用上限値を下回った状態である。これにより、ファイル(映像コンテンツ)を書き込むための空きディスクI/O状態値が確保できたこととなり、書き込み要求が許可されて、コンテンツ変換装置40に配信許可のメッセージが送信される。これにより、ファイル(映像コンテンツ)の書き込みが開始される。
図29のT3.2の時点は、ファイル(映像コンテンツ)の書き込みが完了したことにより、T1.1の時点で下げた予約ディスクI/O状態値の分を戻して、ディスクI/O使用上限値が元に戻った状態である(図28のステップS2104)。そして、ファイル書込処理が終了する。
図30(d)は、図29のT5の時点における状態であり、端末30aへのファイル配信が終了したことにより、帯域回復処理が行われた状態である。ディスクI/O状態値がディスクI/O使用上限値を下回っており(空きディスクI/O状態値>0)、T4の後のステップS905の処理にて、ステップS208(及びステップS816)の処理で、帯域を狭くさせられた端末30b、30dへ配信中のTSファイルに対して、下げた総帯域量(m)を割り当てるように帯域更新の設定がされ、その後のステップS906の処理で帯域が割り当てられた状態である。
これにより、図30(e)に示すように、高データ転送レートファイルFHが配信される端末30dに対して、ファイル配信に割り当てられた帯域は、図30(b)で示す帯域(下げた総帯域量(M))まで回復する(帯域が元に戻る)。
図30(e)は、図29のT6の時点における状態であり、端末30aからのファイル配信要求を受けて、端末30aへ高データ転送レートファイルFHを配信するために、帯域が割り当てられた状態である。ファイル書込処理が完了しているため、下げた予約ディスクI/O状態値の分が戻っており、ディスクI/Oの状態は、ディスクI/O使用上限値の限度まで利用可能になっている。
例えば、通信制御部111が備える帯域制御機能の一部もしくは全てを、帯域制御部113が備えてもよい。これにより、帯域更新の設定を行わずとも、帯域制御部113は必要に応じて帯域を更新することができる。
10 コンテンツ配信装置
20 ネットワーク
30 端末
110 配信制御部
111 通信制御部
112 通信状態監視部
113 帯域制御部
114 バッファ
120 コンテンツ管理部
130 記憶部
140 送受信部
150 エンコーダ
170 ディスクI/O状態監視部
175 バス(ディスクI/O)
180 書込要求対応部
FH 高データ転送レートファイル
FM 中データ転送レートファイル
FL 低データ転送レートファイル
PL プレイリスト
Claims (6)
- 複数の通信装置にコンテンツ配信を行うコンテンツ配信装置であって、
複数のファイルで構成されるコンテンツを配信するに当たり、単位時間当たりの配信量を示す通信帯域をファイルに割り当てる配信制御部と、
前記通信装置からファイル要求信号を受信して、要求されたファイルを割り当てられた通信帯域で送信する送受信部と、
を備え、
前記配信制御部は、
ファイル送信負荷に係るリソース使用情報値である、送信するファイルに割り当てられた通信帯域に基づき、
前記送受信部による各ファイル送信時における前記リソース使用情報値それぞれを合計した合計リソース使用情報値である、各ファイルに割り当てられた通信帯域の合計値が、所定の上限リソース使用情報値である、利用可能な通信帯域の上限を示す所定値を超える場合に、
割り当てなおした後の合計リソース使用情報値が、前記上限リソース使用情報値以下となるように、各々のファイルに対して割り当てられた通信帯域を狭くして割り当てなおす、第1処理部と第2処理部とを有し、
前記第1処理部は、
前記各々のファイルにおいて第1レートを有するファイルに対して割り当てられた通信帯域を狭くして割り当てなおし、
前記第2処理部は、
前記第1処理部により割り当てなおした後の合計リソース使用情報値が、利用可能な通信帯域の上限を示す所定値を超える場合に、
前記各々のファイルにおいて第1レートより低いレートである第2レートを有するファイルに対して割り当てられた通信帯域を狭くして割り当てなおす
ことを特徴とするコンテンツ配信装置。 - 前記配信制御部は、
前記送受信部が、前記ファイル要求信号とは異なる別のファイル要求信号を受け付けたときに、
当該別のファイルを配信した場合のリソース使用情報値の合計である前記合計リソース使用情報値が、前記上限リソース使用情報値以下のとき、かつ、
前記狭くした通信帯域を元に戻した場合の現在のリソース使用情報値の合計である前記合計リソース使用情報値が前記上限リソース使用情報値以下のときに、
通信帯域を狭くした前記各々のファイルに対して割り当てられた通信帯域を元に戻す
ことを特徴とする請求項1に記載されたコンテンツ配信装置。 - バッファをさらに備え、
前記配信制御部は、
前記上限リソース使用情報値を超える場合に、割り当てていた通信帯域それぞれの情報を前記バッファに記憶させ、
前記割り当てなおすときに、前記狭くした通信帯域を、前記バッファに記憶された通信帯域の情報で割り当てなおす
ことを特徴とする請求項1に記載されたコンテンツ配信装置。 - 前記配信制御部は、
前記送受信部により、1つのコンテンツの配信が終了した場合に、
現在のリソース使用情報値の合計である前記合計リソース使用情報値が前記上限リソース使用情報値以下のときに、
通信帯域を狭くした前記各々のファイルに対して割り当てられた通信帯域を元に戻す
ことを特徴とする請求項1に記載されたコンテンツ配信装置。 - 複数の通信装置にコンテンツ配信を行うコンテンツ配信装置におけるコンテンツ配信方法であって、
前記コンテンツ配信装置は、
複数のファイルで構成されるコンテンツを配信するに当たり、単位時間当たりの配信量を示す通信帯域をファイルに割り当てる配信制御ステップと、
前記通信装置からファイル要求信号を受信して、要求されたファイルを割り当てられた通信帯域で送信する送受信ステップと、
を有し、
前記配信制御ステップは、
ファイル送信負荷に係るリソース使用情報値である、送信するファイルに割り当てられた通信帯域に基づき、
前記送受信ステップによる各ファイル送信時における前記リソース使用情報値それぞれを合計した合計リソース使用情報値である、各ファイルに割り当てられた通信帯域の合計値が、所定の上限リソース使用情報値である、利用可能な通信帯域の上限を示す所定値を超える場合に、
割り当てなおした後の合計リソース使用情報値が、前記上限リソース使用情報値以下となるように、各々のファイルに対して割り当てられた通信帯域を狭くして割り当てなおす、第1処理ステップと第2処理ステップとを有し、
前記第1処理ステップは、
前記各々のファイルにおいて第1レートを有するファイルに対して割り当てられた通信帯域を狭くして割り当てなおし、
前記第2処理ステップは、
前記第1処理ステップにより割り当てなおした後の合計リソース使用情報値が、利用可能な通信帯域の上限を示す所定値を超える場合に、
前記各々のファイルにおいて第1レートより低いレートである第2レートを有するファイルに対して割り当てられた通信帯域を狭くして割り当てなおす
ことを特徴とするコンテンツ配信方法。 - 複数の通信装置にコンテンツ配信を行うコンテンツ配信装置を、
複数のファイルで構成されるコンテンツを配信するに当たり、単位時間当たりの配信量を示す通信帯域をファイルに割り当てる配信制御部、
前記通信装置からファイル要求信号を受信して、要求されたファイルを割り当てられた通信帯域で送信する送受信部、
として機能させ、
前記配信制御部を、
ファイル送信負荷に係るリソース使用情報値である、送信するファイルに割り当てられた通信帯域に基づき、
前記送受信部による各ファイル送信時における前記リソース使用情報値それぞれを合計した合計リソース使用情報値である、各ファイルに割り当てられた通信帯域の合計値が、所定の上限リソース使用情報値である、利用可能な通信帯域の上限を示す所定値を超える場合に、
割り当てなおした後の合計リソース使用情報値が、前記上限リソース使用情報値以下となるように、各々のファイルに対して割り当てられた通信帯域を狭くして割り当てなおす、第1処理部と第2処理部とを有するものとして機能させ、
前記第1処理部を、
前記各々のファイルにおいて第1レートを有するファイルに対して割り当てられた通信帯域を狭くして割り当てなおすものとして機能させ、
前記第2処理部を、
前記第1処理部により割り当てなおした後の合計リソース使用情報値が、利用可能な通信帯域の上限を示す所定値を超える場合に、
前記各々のファイルにおいて第1レートより低いレートである第2レートを有するファイルに対して割り当てられた通信帯域を狭くして割り当てなおすもの
として機能させるコンテンツ配信プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014174432A JP6481291B2 (ja) | 2013-09-24 | 2014-08-28 | コンテンツ配信装置、コンテンツ配信方法、およびコンテンツ配信プログラム |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013196994 | 2013-09-24 | ||
JP2013196994 | 2013-09-24 | ||
JP2014174432A JP6481291B2 (ja) | 2013-09-24 | 2014-08-28 | コンテンツ配信装置、コンテンツ配信方法、およびコンテンツ配信プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015089113A JP2015089113A (ja) | 2015-05-07 |
JP6481291B2 true JP6481291B2 (ja) | 2019-03-13 |
Family
ID=53051416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014174432A Active JP6481291B2 (ja) | 2013-09-24 | 2014-08-28 | コンテンツ配信装置、コンテンツ配信方法、およびコンテンツ配信プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6481291B2 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3132482B2 (ja) * | 1998-09-04 | 2001-02-05 | 日本電気株式会社 | 画像データ転送における転送レート制御方式及び方法 |
JP4347131B2 (ja) * | 2004-04-30 | 2009-10-21 | キヤノン株式会社 | 映像配信装置および方法 |
JP4758801B2 (ja) * | 2006-03-30 | 2011-08-31 | シャープ株式会社 | コンテンツ配信システム |
JP2009187230A (ja) * | 2008-02-06 | 2009-08-20 | Hitachi Ltd | サーバの監視装置 |
JP5856795B2 (ja) * | 2011-10-13 | 2016-02-10 | 株式会社日立製作所 | コンテンツ配信システム |
-
2014
- 2014-08-28 JP JP2014174432A patent/JP6481291B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015089113A (ja) | 2015-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6590865B1 (en) | Transmission system, bandwidth management apparatus, and bandwidth management method | |
US9118638B2 (en) | Content delivery using multiple sources over heterogeneous interfaces | |
JP6442507B2 (ja) | ネットワークのデバイスにより実行される進行中のトラフィックセッションの中でネットワークの利用可能な帯域幅を割り当てる方法、対応するデバイス | |
JP5405625B2 (ja) | データの並列受信のためのストリーム制御方法及び装置 | |
CN110636339B (zh) | 基于码率的调度方法、装置及电子设备 | |
JP6861484B2 (ja) | 情報処理装置及びその制御方法、コンピュータプログラム | |
CN105009601A (zh) | 信息处理装置和方法、程序和内容供应*** | |
JP6886874B2 (ja) | エッジ装置、データ処理システム、データ送信方法、及びプログラム | |
JP6481291B2 (ja) | コンテンツ配信装置、コンテンツ配信方法、およびコンテンツ配信プログラム | |
CN101848366B (zh) | Iptv***中时移分片文件的归档及节目播放方法和设备 | |
KR101454809B1 (ko) | 트랜스코딩 작업 스케줄링 방법 및 이를 이용한 트랜스코딩 시스템 | |
JP2014093655A (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN101511007B (zh) | 一种网络视频监控***中的录像实现方法、设备和*** | |
KR101699889B1 (ko) | 조급함 반응 함수들에 따라, 무선 통신 능력을 가지는 피어들 사이에서 콘텐츠의 보급을 제어하기 위한 디바이스 및 방법 | |
KR101594830B1 (ko) | 클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 방법 및 이를 위한 서버 | |
JP6635873B2 (ja) | コンテンツの配信方法、プログラム、情報処理装置、及び情報処理システム | |
JP2009118220A (ja) | 移動通信システム、無線回線制御装置、移動機、交換機、および、無線回線制御方法 | |
JP2019134379A (ja) | 品質予測装置、品質予測方法及びプログラム | |
JP6463702B2 (ja) | サービス予約装置およびサービス予約方法 | |
JP2016036103A (ja) | 映像配信サーバ及び映像配信方法 | |
JP6581858B2 (ja) | データ配信システム、情報サーバ、及び通信端末 | |
EP2843941B1 (en) | Information processing device and method, program, and information processing system | |
JPWO2019070020A1 (ja) | データ通信装置、通信システム、データ通信方法及びプログラム | |
JP2009049514A (ja) | データ処理システム、送信装置及び帯域制御装置 | |
CN111183417A (zh) | 数据通信设备、通信***、数据通信方法和程序 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20160425 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170515 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180320 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180516 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181030 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181221 |
|
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: 20190115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190128 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6481291 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |