JP5764100B2 - コンテンツ配信システムおよびコンテンツ配信方法 - Google Patents

コンテンツ配信システムおよびコンテンツ配信方法 Download PDF

Info

Publication number
JP5764100B2
JP5764100B2 JP2012182747A JP2012182747A JP5764100B2 JP 5764100 B2 JP5764100 B2 JP 5764100B2 JP 2012182747 A JP2012182747 A JP 2012182747A JP 2012182747 A JP2012182747 A JP 2012182747A JP 5764100 B2 JP5764100 B2 JP 5764100B2
Authority
JP
Japan
Prior art keywords
content
cache
data
chunk
server
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
JP2012182747A
Other languages
English (en)
Other versions
JP2014042124A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012182747A priority Critical patent/JP5764100B2/ja
Publication of JP2014042124A publication Critical patent/JP2014042124A/ja
Application granted granted Critical
Publication of JP5764100B2 publication Critical patent/JP5764100B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、コンテンツ配信システムおよびコンテンツ配信方法に関し、特にコンテンツ配信ネットワーク上のキャッシュサーバにおけるビデオコンテンツのキャッシュ管理技術に関する。
近年、インターネットにおいてビデオコンテンツ(動画のコンテンツ)によるトラヒックが急増している。このようなビデオコンテンツの配信技術として、CDN(Content Delivery Network)や、非特許文献1に開示されるようなHTTP(HyperText Transfer Protocol)を用いたビデオコンテンツのストリーミングが利用されている。CDNでは、コンテンツを高速かつ効率的に配信するために、オリジンサーバのコンテンツをネットワーク上に分散配置されているキャッシュサーバへ複製し、ユーザ端末から要求されたコンテンツがキャッシュサーバに保持されている場合は、オリジンサーバの代わりにキャッシュサーバからコンテンツを配信する。CDNでは、キャッシュサーバから配信することにより、オリジンサーバ負荷の低減、トラヒック削減によるネットワーク設備コストの削減、レスポンス時間短縮によるQoE(Quality of Experience)の向上を実現できる。ピーク時のオリジンサーバ-キャッシュサーバ間のトラヒック削減およびオリジンサーバの負荷低減をするためには、オフピーク時にキャッシュサーバへコンテンツを事前配信することが有効である。
R. Pantos, Ed., W. May, " HTTP Live Streaming" IETF Internet-Draft, March 2012.
特に大容量データである可能性が高いビデオコンテンツは、キャッシュヒットした(ユーザ端末から要求されたコンテンツがキャッシュサーバに保持されている)場合のトラヒック削減効果が高い。一方で、ビデオコンテンツは人気度のロングテール化や短期的な人気度の変動という特性があり、人気度の予測が困難である。そのため、キャッシュヒット率を向上させるためには多数のビデオコンテンツをキャッシュサーバのキャッシュに保持する必要があるが、キャッシュサーバ1台あたりのキャッシュ容量は限られている。
また、従来、コンテンツの事前キャッシュは一般的にコンテンツの全体データをキャッシュに保持するため、キャッシュに保持できるコンテンツの数が限られる。よって、キャッシュサーバのキャッシュヒット率が低下してしまう。さらに、近年広く利用されている無料や定額で映画やドラマが見放題のサービスでは、ユーザがビデオコンテンツの最初のみ視聴してやめる状況が頻繁に発生している。この場合、キャッシュに保持されている該当コンテンツの全体データのうち、視聴離脱した時間以降のデータは使用されないことになる。特に映画等の長時間のビデオコンテンツでは、視聴されないデータの割合が非常に大きくなり、キャッシュサーバのキャッシュ効率(キャッシュに保持されているコンテンツのデータのうち、実際にユーザ端末に視聴される割合)が低くなるという問題がある。そこで、本発明は前記した問題を解決し、コンテンツ配信システムのキャッシュサーバにおけるキャッシュ効率を向上させることを課題とする。
前記した課題を解決するため、本発明は、ユーザ端末からのリクエストに応じて動画のコンテンツを配信するキャッシュサーバと、前記コンテンツを前記キャッシュサーバへ配信するオリジンサーバとを備えるコンテンツ配信システムであって、前記オリジンサーバは、前記コンテンツと、前記コンテンツごとに前記コンテンツの属するコンテンツグループを示したコンテンツ情報テーブルと、前記コンテンツのコンテンツグループGxごとに、以下の式(1)で定義される視聴離脱率が所定の値αとなる前記コンテンツグループGxのコンテンツの再生時間T(Gx,α)を示した視聴離脱特性テーブルとを記憶するオリジンサーバ記憶部と、コンテンツの再生時間t秒での視聴離脱率=(当該コンテンツの再生開始時の視聴数―当該コンテンツの再生時間t秒での視聴数)/(当該コンテンツの再生開始時の視聴数)…式(1)
前記視聴離脱特性テーブルおよび前記コンテンツ情報テーブルを参照して、前記コンテンツグループGxのコンテンツのデータのうち、先頭から前記再生時間T(Gx,α)を超えるまでのデータを前記キャッシュサーバへ配信するコンテンツ送信部とを備え、前記キャッシュサーバは、前記配信されたコンテンツのデータを記憶するキャッシュサーバ記憶部と、前記ユーザ端末からのリクエストに応じて前記コンテンツのデータを前記リクエストの送信元のユーザ端末へ配信するコンテンツ配信部と、前記ユーザ端末からリクエストされた前記コンテンツのデータが前記キャッシュサーバ記憶部にないとき、前記オリジンサーバへ前記コンテンツのデータの配信リクエストを送信するオリジンサーバ通信部とを備える。
このようにすることで、各キャッシュサーバにはユーザ端末が視聴する可能性が高い部分のコンテンツのデータが配信されることになる。これにより、キャッシュサーバにおけるキャッシュ効率を向上させることができる。なお、式(1)における「コンテンツの再生開始時の視聴数」は、コンテンツのアクセス数を用いる。また、「コンテンツの再生時間t秒での視聴数」は、再生時間t秒でコンテンツが視聴(再生)された回数を用いる。
また、本発明のコンテンツ配信システムの前記キャッシュサーバ記憶部は、さらに、コンテンツ管理テーブルを記憶し、前記キャッシュサーバは、さらに、前記オリジンサーバからの問い合わせに含まれる配信予定のコンテンツのデータのデータサイズに基づき、前記キャッシュサーバ記憶部に、前記オリジンサーバからのコンテンツのデータをキャッシュする空き容量があるか否かを判断するキャッシュ管理部と、前記コンテンツごとの、当該コンテンツの前記ユーザ端末への配信回数および前記ユーザ端末における再生完了数を前記コンテンツ管理テーブルに記録するコンテンツ再生記録部とを備え、前記オリジンサーバ通信部は、さらに、前記オリジンサーバから、前記キャッシュサーバ記憶部に、前記コンテンツのデータをキャッシュする空き容量があるか否かの問い合わせを受信した場合、前記問い合わせに含まれる配信予定のコンテンツのデータのデータサイズを前記キャッシュ管理部へ出力し、前記キャッシュ管理部により前記コンテンツのデータをキャッシュする空き容量があると判断されたとき、前記オリジンサーバへ前記コンテンツのデータの配信リクエストを送信し、前記キャッシュ管理部は、前記オリジンサーバからのコンテンツのデータをキャッシュする空き容量がないと判断した場合、削除対象データとして、前記コンテンツ管理テーブルを参照して、既に前記キャッシュサーバ記憶部に記憶されたコンテンツのうち、当該コンテンツの配信回数が少なくかつ再生完了数が少ないコンテンツから優先的に選択し、前記空き容量が確保できるまで、前記選択したコンテンツを削除する処理を繰り返す。
また、本発明のコンテンツ配信システムのキャッシュサーバにおける前記コンテンツ再生記録部は、さらに、前記コンテンツの再生中止があった場合、当該コンテンツのどのデータまで再生したかをキャッシュチャンク情報テーブルに記録し、前記キャッシュサーバ記憶部は、さらに、前記キャッシュチャンク情報テーブルを記憶し、前記キャッシュ管理部は、前記オリジンサーバからのコンテンツのデータをキャッシュする空き容量がないと判断した場合、削除対象データとして、前記コンテンツ管理テーブルおよび前記キャッシュチャンク情報テーブルを参照して、既に前記キャッシュサーバ記憶部に記憶されたコンテンツから、前記配信回数が0のコンテンツを探し、前記配信回数が0のコンテンツを削除しても、前記空き容量が確保できないとき、当該コンテンツの配信回数および再生完了数がより少ないコンテンツから優先的に選択し、前記選択したコンテンツのデータのうち、以下の式(2)で定義される再生開始からの離脱率が所定の閾値βを超えている時間以降の部分のデータを求め、前記空き容量が確保できるまで、前記求めたデータを削除する処理を繰り返す。
当該コンテンツの再生時間t秒での離脱率=当該コンテンツの再生開始から再生時間t秒までの再生中止数/当該コンテンツの配信回数…式(2)
このように各キャッシュサーバは、キャッシュサーバ記憶部の空き容量が足りなくなったとき、自身が保持するコンテンツのデータのうち、視聴される可能性が低いデータを削除する。これにより、キャッシュサーバには、ユーザ端末により視聴される可能性がより高い部分のコンテンツのデータが保持されることになるので、キャッシュサーバのキャッシュ効率を向上させることができる。
また、本発明のコンテンツ配信システムにおける前記コンテンツ送信部および前記コンテンツ配信部は、前記コンテンツのデータを配信するとき、チャンク形式で配信する。
このようにオリジンサーバからキャッシュサーバへのコンテンツのデータ送信、および、キャッシュサーバからユーザ端末へのデータ配信において、チャンクを用いるので、キャッシュサーバやユーザ端末へどのデータまで配信したかや、後続データを配信する際には、どのデータ以降を配信すればよいか等を管理しやすくなる。
本発明によれば、オリジンサーバから事前にキャッシュサーバへコンテンツを配信するコンテンツ配信システムにおいて、キャッシュサーバのキャッシュ効率を向上させることができる。
本実施の形態のコンテンツ配信システムの概要を説明した図である。 コンテンツグループごとの視聴離脱特性を例示した図である。 図1のオリジンサーバのブロック構成図である。 図1のキャッシュサーバのブロック構成図である。 図1のコンテンツ配信システムの処理手順(オリジンサーバがキャッシュサーバへコンテンツ(コンテンツのチャンク)を配信する手順)を示した図である。 図1のコンテンツ配信システムの処理手順(ユーザ端末からのコンテンツ配信リクエストを受信したキャッシュサーバの処理手順)を示した図である。 図1のコンテンツ配信システムの処理手順(ユーザ端末がコンテンツの再生中止をしたときの処理手順)を示した図である。 図1のコンテンツ配信システムの処理手順(キャッシュサーバによるチャンク削除手順)を示した図である。
<概要>
以下、図面を用いて本発明の実施の形態を説明する。まず、本実施の形態のコンテンツ配信システムの概要を、図1を用いて説明する。なお、本実施の形態で扱うコンテンツは主に動画のコンテンツである。また、コンテンツはチャンク単位で送信や配信を行うものとするが、コンテンツの任意の個所で切断されたデータであってもよい。
図1に示すように、コンテンツ配信システムは、キャッシュサーバ20へコンテンツを事前に配信しておくオリジンサーバ10と、ユーザ端末30からのリクエストに応じてコンテンツを配信するキャッシュサーバ20とを備える。各サーバおよびユーザ端末30の台数は、図1に示した台数に限定されない。オリジンサーバ10とキャッシュサーバ20とは連携しており、両サーバ間で高速データ転送するためのTCP(Transmission Control Protocol)高速化やファイル圧縮等の機能を装備していてもよい。
このオリジンサーバ10は、予め測定した各コンテンツの視聴離脱率(後記する式(1)で定義)からコンテンツグループごとの視聴離脱特性を求めておく。コンテンツグループとは、同じコンテンツ属性を持つコンテンツ群をまとめたものをいう。視聴離脱特性の例を、図2に示す。再生時間t秒での視聴離脱率は以下の式(1)で定義される。ここでの視聴数は、ユーザ端末30でコンテンツを再生(視聴)する回数である。
コンテンツの再生時間t秒での視聴離脱率=(当該コンテンツの再生開始時の視聴数―当該コンテンツの再生時間t秒での視聴数)/(当該コンテンツの再生開始時の視聴数)…式(1)
この視聴離脱特性から、コンテンツグループGx(x=0,1,…)ごとに、視聴離脱率が所定の値α(αは適宜設定。例えば、0.9)となる再生時間T(Gx,α)を求めておく。例えば、コンテンツグループG0のコンテンツ群の視聴離脱率がαとなる再生時間は、図2のグラフのT(G0,α)に示す値であり、コンテンツグループG1のコンテンツ群の視聴離脱率がαとなる再生時間は、図2のグラフのT(G1,α)に示す値である。
そして、オリジンサーバ10は、コンテンツグループGxのコンテンツ群についてT(Gx,α)までのコンテンツのデータ(チャンク)をキャッシュサーバ20へ事前に配信しておく。
例えば、オリジンサーバ10は、コンテンツグループGxのコンテンツについて、T(Gx,α)までのチャンクがチャンク番号3までであった場合、T(Gx,α)までのチャンク(つまり、チャンク番号1〜3のチャンク)をキャッシュサーバ20へ配信しておく。このようにすることで、各キャッシュサーバ20には、コンテンツを構成するチャンクのうち、ユーザ端末30により視聴される可能性が高い時刻までのチャンクが保持されることになり、キャッシュサーバ20のキャッシュ効率を向上させることができる。なお、事前配信されたデータ(チャンク)の後続データは、ユーザ端末30から要求があったときにキャッシュサーバ20からオリジンサーバ10へ要求し、ユーザ端末30へ配信される。
ここでキャッシュサーバ20は、自身の保持するコンテンツそれぞれのアクセス数や再生完了数、チャンクごとの離脱率を記録しておく。なお、ここでの離脱率は以下の式(2)で定義される。
離脱率=当該コンテンツの再生開始から当該チャンクまでの再生中止数の和/当該コンテンツのアクセス数(配信回数)…式(3)
そして、オリジンサーバ10からコンテンツのデータを受信する場合において、キャッシュサーバ20にそのデータを受信できるだけのキャッシュの空き容量がない場合、このキャッシュサーバ20が保持するコンテンツのうち、コンテンツそれぞれのアクセス数や再生完了数、離脱率を基づき、コンテンツ(コンテンツのチャンク)を削除する。例えば、キャッシュサーバ20はアクセス数が比較的少ないコンテンツや再生完了数が比較的少ないコンテンツを削除したり、離脱率がβ(βの値は適宜設定)となるチャンクより先のチャンクのデータを削除する。例えば、キャッシュサーバ20において、コンテンツの離脱率がβとなるチャンクが、図1に例示するチャンク番号2のチャンクである場合、キャッシュサーバ20のチャンク番号3以降のチャンクを削除する。そして、キャッシュサーバ20は、オリジンサーバ10からコンテンツのデータを受信する。このようにすることで、キャッシュサーバ20のキャッシュ効率をさらに向上させることができる。
<オリジンサーバ>
次に、図3を用いて、オリジンサーバ10を詳細に説明する。オリジンサーバ10は、オリジンサーバ記憶部15と、事前キャッシュ対象選択部11と、コンテンツ送信部12とを備える。破線で示した視聴離脱特性テーブル作成部13は装備する場合としない場合とがあり、装備する場合について後記する。
事前キャッシュ対象選択部11およびコンテンツ送信部12は、オリジンサーバ10の備えるCPU(Central Processing Unit)によるプログラム実行処理や、専用回路等により実現される。さらに、オリジンサーバ記憶部15は、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等の記憶媒体により実現される。なお、オリジンサーバ10をプログラム実行処理により実現する場合、オリジンサーバ記憶部15には、このオリジンサーバ10の機能を実現するためのプログラムが格納される。
オリジンサーバ記憶部15は、コンテンツ151と、視聴離脱特性テーブル152と、チャンク情報テーブル153と、コンテンツ情報テーブル154とを備える。
コンテンツ151は、動画等のコンテンツであり、事前に複数のチャンクに分割されているものとする。
視聴離脱特性テーブル(視聴離脱特性情報)152は、コンテンツグループごとに、当該コンテンツグループに属するコンテンツの視聴離脱率に基づいて求めたコンテンツグループごとの視聴離脱率がαになる再生時間T(Gx,α)を示した情報である(表1参照)。この情報は、各コンテンツグループのコンテンツの視聴離脱率(前記した図2参照)に基づき作成される。
Figure 0005764100
なお、図2のコンテンツグループG2のように再生時間が所定値(図示省略)を超えても視聴離脱率がαより小さいコンテンツグループ、つまり、長時間の視聴が予測されるコンテンツグループのコンテンツに対しては、再生時間T(Gx,α)=0とする。
チャンク情報テーブル153は、コンテンツグループのコンテンツごとに、そのコンテンツを構成する各チャンクに関する情報を示したものである。例えば、チャンク情報テーブル153は、表2に示すように、コンテンツごとに、そのコンテンツを構成するチャンクのチャンク番号と、そのチャンク番号のチャンクの再生時間長、データサイズ、URI(Uniform Resource Identifier)等が格納される。このチャンク情報テーブル153には、コンテンツを構成する先頭チャンクから時系列順にチャンクの情報が格納される。
Figure 0005764100
コンテンツ情報テーブル154は、コンテンツごとに、当該コンテンツのコンテンツ名(コンテンツ識別情報)と、当該コンテンツを構成する全チャンク数と、当該コンテンツが属するコンテンツグループを示した情報である。
Figure 0005764100
事前キャッシュ対象選択部11は、視聴離脱特性テーブル152を参照して、各キャッシュサーバ20へ事前配信しておくコンテンツのチャンクを選択する。ここで、事前キャッシュ対象選択部11は、視聴離脱特性テーブル152、チャンク情報テーブル153およびコンテンツ情報テーブル154を参照して、各コンテンツのデータのうち、先頭から再生時間長の和がT(Gx,α)を超えるまでのチャンクをキャッシュサーバ20へ事前配信するチャンクとして選択する。なお、事前キャッシュ対象選択部11は、再生時間T(Gx,α)=0のコンテンツグループ(つまり再生時間が所定値を超えても視聴離脱率がαより小さいコンテンツグループ)のコンテンツは全チャンクを事前配信するチャンクとして選択する。
コンテンツ送信部12は、事前キャッシュ対象選択部11により選択されたコンテンツのチャンク(事前キャッシュ対象チャンク)をキャッシュサーバ20へ配信する。また、コンテンツ送信部12は、キャッシュサーバ20からリクエストされたコンテンツのチャンクを、オリジンサーバ記憶部15から読み出し、配信する。なお、このコンテンツ送信部12は、コンテンツのチャンク配信にあたり、キャッシュサーバ20に対し、チャンクをキャッシュする空き容量があるか否かを問い合わせる。そして、コンテンツ送信部12は、キャッシュサーバ20から、空き容量がある旨の応答を得ると、コンテンツのチャンクを送信する。このとき、コンテンツ送信部12は、コンテンツのチャンクとともに、当該チャンクのチャンク情報およびコンテンツ情報も、キャッシュサーバ20へ送信する。チャンク情報は、チャンク情報テーブル153に格納された情報のうち、配信対象のコンテンツのチャンクに関する情報(例えば、チャンク番号、再生時間長、データサイズ、URI等)を読み出したものである。また、コンテンツ情報は、コンテンツ情報テーブル154に格納された情報のうち、配信対象のチャンクのコンテンツの情報(例えば、コンテンツの識別情報、全チャンク数等)を読み出したものである。
<キャッシュサーバ>
次に、図4を用いてキャッシュサーバ20を詳細に説明する。キャッシュサーバ20は、キャッシュサーバ記憶部21と、オリジンサーバ通信部22と、キャッシュ管理部23と、リクエスト受信部24と、コンテンツ配信部25と、コンテンツ再生記録部26とを備える。
また、オリジンサーバ通信部22と、キャッシュ管理部23と、リクエスト受信部24と、コンテンツ配信部25と、コンテンツ再生記録部26とは、通信インタフェースおよびキャッシュサーバ20の備えるCPUによるプログラム実行処理や、専用回路等により実現される。さらに、キャッシュサーバ記憶部21は、RAM、ROM、HDD、フラッシュメモリ等の記憶媒体により実現される。なお、キャッシュサーバ20をプログラム実行処理により実現する場合、キャッシュサーバ記憶部21には、このキャッシュサーバ20の機能を実現するためのプログラムが格納される。
キャッシュサーバ記憶部21は、オリジンサーバ10から送信されるコンテンツチャンク(コンテンツのチャンク)211と、キャッシュチャンク情報テーブル212と、コンテンツ管理テーブル213とを記憶する領域を備える。
コンテンツチャンク211は、前記したとおり、オリジンサーバ10から配信されたコンテンツのチャンクである。
キャッシュチャンク情報テーブル212は、コンテンツチャンク211のチャンクごとに、当該チャンクのチャンク番号、再生時間長、データサイズ、URI、キャッシュ格納先(キャッシュサーバ記憶部21における格納先)、再生中止数を示した情報である(表4参照)。このキャッシュチャンク情報テーブル212における、チャンク番号、再生時間長、データサイズおよびURIは、オリジンサーバ10から受信したチャンク情報に示される情報を用いる。
Figure 0005764100
コンテンツ管理テーブル213は、コンテンツチャンク211のコンテンツごとに、当該コンテンツのコンテンツ名(コンテンツ識別情報)と、当該コンテンツの全チャンク数、当該コンテンツの全チャンクのうち、キャッシュサーバ記憶部21で保持するチャンク数(保持チャンク数)、当該コンテンツのオリジンサーバ10からの受信日時と、当該コンテンツのアクセス数(ユーザ端末30への配信回数)と、当該コンテンツの再生完了数(ユーザ端末30が当該コンテンツの最後のチャンクまで受信した回数)とを示した情報である(表5参照)。コンテンツ管理テーブル213における、全チャンク数は、オリジンサーバ10から受信したコンテンツ情報に示される情報を用いる。
Figure 0005764100
オリジンサーバ通信部22は、オリジンサーバ10との通信を行う。このオリジンサーバ通信部22は、オリジンサーバ10からコンテンツのチャンク、このチャンクのチャンク情報およびコンテンツ情報を受信する。受信したコンテンツのチャンクは、キャッシュサーバ記憶部21の所定領域に格納し、受信したチャンク情報は、キャッシュチャンク情報テーブル212に格納し、受信したコンテンツ情報は、コンテンツ管理テーブル213に格納する。このとき、オリジンサーバ通信部22は、キャッシュチャンク情報テーブル212に、受信したチャンクのキャッシュ格納先を記録し、コンテンツ管理テーブル213に、コンテンツの受信日時を記録する。キャッシュチャンク情報テーブル212の再生中止数、コンテンツ管理テーブル213のアクセス数および再生完了数は、ともに初期値(0)とする。
また、オリジンサーバ通信部22は、ユーザ端末30へ配信するコンテンツのチャンクが足りなくなりそうになったとき、オリジンサーバ10へこのコンテンツの後続チャンクの配信リクエストを送信する。例えば、オリジンサーバ通信部22は、まず、オリジンサーバ10からチャンク(事前キャッシュ対象チャンク)を受信すると、このチャンクをキャッシュ管理部23(詳細は後記)経由で、キャッシュサーバ記憶部21に格納する。その後、オリジンサーバ通信部22は、ユーザ端末30へコンテンツのチャンクを配信する場合において、キャッシュサーバ記憶部21に格納される後続のチャンク数が所定の閾値(後続チャンク要求閾値)以下となったとき、オリジンサーバ10に後続チャンクの配信リクエストを送信する。そして、オリジンサーバ通信部22は、オリジンサーバ10から受信した後続チャンクをキャッシュ管理部23経由でキャッシュサーバ記憶部21へ格納しておき、ユーザ端末30から後続チャンクの配信に備える。なお、オリジンサーバ通信部22は、コンテンツのチャンクの配信に先立ち、オリジンサーバ10からコンテンツのチャンク配信の通知を受信する。このとき、オリジンサーバ通信部22は、キャッシュ管理部23に対し、オリジンサーバ10からのコンテンツのチャンクのデータサイズを出力し、キャッシュサーバ記憶部21に、このチャンクをキャッシュする(格納する)空き容量があるか否かを問い合わせる。そして、キャッシュ管理部23においてコンテンツのチャンクをキャッシュする空き容量があると判断されたとき、オリジンサーバ通信部22は、オリジンサーバ10に対しコンテンツのチャンクの配信を依頼する。
キャッシュ管理部23は、キャッシュサーバ記憶部21内のコンテンツチャンク211や、コンテンツ管理テーブル213や、キャッシュチャンク情報テーブル212のデータを読み出したり、書き込んだり、削除したりする。このキャッシュ管理部23は、オリジンサーバ10からのコンテンツのチャンクを受信する場合において、キャッシュサーバ記憶部21に、コンテンツのデータをキャッシュする空き容量があるか否かを判断する。ここで、空き容量がないと判断したとき、コンテンツチャンク211の一部を削除する。つまり、キャッシュ管理部23は、コンテンツ管理テーブル213およびキャッシュチャンク情報テーブル212を参照して、削除対象データとして、コンテンツチャンク211のうち、アクセス数(配信回数)および再生完了数がより少ないコンテンツから優先的に選択し、この選択したコンテンツのチャンクのうち、再生開始からの離脱率が所定の閾値βを超えている時間以降の部分のチャンクを求める。そして、キャッシュ管理部23は、この離脱率が所定の閾値βを超えている時間以降の部分のチャンクを、所定の(オリジンサーバ10からのコンテンツのチャンクをキャッシュできるだけの)空き容量が確保できるまで削除する。そして、キャッシュ管理部23は、削除したコンテンツ(コンテンツのチャンク)に関する情報を、キャッシュチャンク情報テーブル212(表4参照)およびコンテンツ管理テーブル213(表5参照)から削除および修正する。ここでのチャンクの削除手順の詳細は後記する。また、キャッシュ管理部23は、コンテンツ管理テーブル213におけるアクセス数および再生完了数と、キャッシュチャンク情報テーブル212における再生中止数とを、所定期間ごとにクリアする。これは、キャッシュ管理部23において、コンテンツのアクセス数および再生完了数や、チャンクの再生中止数が無限に大きくなってしまうのを防止するためである。
リクエスト受信部24は、ユーザ端末30からのコンテンツ(コンテンツのチャンク)の配信のリクエストを受信する。そして、リクエスト受信部24は、コンテンツチャンク211に、リクエスト対象のコンテンツのチャンクがあるか否かを確認し、あればコンテンツ配信部25に対しリクエスト対象のコンテンツの配信を行うよう指示する。一方、リクエスト対象のコンテンツのチャンクがないとき、リクエスト受信部24はオリジンサーバ通信部22に対し、リクエスト対象のコンテンツをオリジンサーバ10から取得するよう指示する。そして、オリジンサーバ10から取得されたコンテンツのチャンクは、コンテンツチャンク211に追加され、コンテンツ配信部25により、リクエストの送信元のユーザ端末30へ配信される。
コンテンツ配信部25は、コンテンツの配信のリクエストの送信元のユーザ端末30へコンテンツのチャンクを配信する。
コンテンツ再生記録部26は、コンテンツごとに、当該コンテンツのユーザ端末30への配信回数(ユーザ端末30による当該コンテンツのアクセス数)およびユーザ端末30における再生完了数をコンテンツ管理テーブル213に記録する。そして、コンテンツ再生記録部26は、コンテンツの再生中止があった場合、当該コンテンツのどのデータ(チャンク)まで再生したかをキャッシュチャンク情報テーブル212に記録する。例えば、ユーザ端末30がコンテンツkの配信を受け始めたことを確認すると、コンテンツ再生記録部26は、コンテンツ管理テーブル213におけるコンテンツkのアクセス数を1加算する。また、コンテンツ再生記録部26は、ユーザ端末30がこのコンテンツkの最終チャンクまで受信したことを確認すると、コンテンツ管理テーブル213におけるコンテンツkの再生完了数を1加算する。また、ユーザ端末30がコンテンツkのチャンク番号2の途中で再生を中止した場合、コンテンツ再生記録部26は、キャッシュチャンク情報テーブル212におけるコンテンツkのチャンク番号2の再生中止数を1加算する。
以上説明したコンテンツ配信システムによれば、キャッシュサーバ20はユーザ端末30により視聴される可能性が高い部分のコンテンツのチャンクを保持することになる。また、各キャッシュサーバ20は、自身のキャッシュ容量(キャッシュサーバ記憶部21の記憶容量)が足りなくなったとき、自身が保持するコンテンツのチャンクのうち、視聴される可能性が低いチャンクを削除する。これにより、キャッシュサーバ20には、よりユーザ端末30が視聴する可能性が高い部分のコンテンツのチャンクが保持されることになるので、キャッシュサーバ20におけるキャッシュ効率を向上させることができる。
<処理手順>
次に、適宜図2〜図4を参照しつつ、図5〜図8を用いてコンテンツ配信システムの処理手順を説明する。
まず、図5を用いて、オリジンサーバ10がキャッシュサーバ20へコンテンツ(コンテンツのチャンク)を配信する手順を説明する。なお、このコンテンツの配信は、オリジンサーバ10とキャッシュサーバ20との間のトラヒック量が比較的少ない時間帯に行うことが好ましい。オリジンサーバ10は、予め測定した各コンテンツの視聴離脱特性およびコンテンツ属性から、コンテンツグループごとの視聴離脱特性(図2参照)を求める(図5のS1)。そして、オリジンサーバ10は、S1で求めた視聴離脱特性からコンテンツグループGx(x=0,1,…)に対して視聴離脱率αとなる再生時間T(Gx,α)を求め(S2)、視聴離脱特性テーブル152(表1参照)に登録しておく(S3)。
オリジンサーバ10の事前キャッシュ対象選択部11(図3参照)は、視聴離脱特性テーブル152を参照して、コンテンツごとにどのチャンクまでキャッシュサーバ20へ配信しておくか決定する(S4)。具体的には、事前キャッシュ対象選択部11は、視聴離脱特性テーブル152を参照し、各コンテンツグループのコンテンツのT(Gx,α)を取得する。そして、事前キャッシュ対象選択部11は、各コンテンツグループのコンテンツ(例えば、コンテンツk)のチャンク情報テーブル153を参照して、先頭チャンクからの再生時間長の和がT(Gx,α)を超えるチャンクまでを事前キャッシュ対象チャンクとして選択する。
そして、オリジンサーバ10のコンテンツ送信部12は、キャッシュサーバ20へ空き容量(S4で選択した事前キャッシュ対象チャンク(配信予定のコンテンツのチャンク)を格納するための空き容量)の問い合わせを送信する(S5)。なお、コンテンツ送信部12は、空き容量の問い合わせに事前キャッシュ対象チャンクのデータサイズを含めて送信する。
キャッシュサーバ20のオリジンサーバ通信部22(図4参照)は、この空き容量の問い合わせを受信すると、キャッシュ管理部23に対しキャッシュサーバ記憶部21に空き容量があるか否かを確認する(S6)。つまり、オリジンサーバ通信部22は、オリジンサーバ10から受信した空き容量の問い合わせに含まれる事前キャッシュ対象チャンクのデータサイズをキャッシュ管理部23へ出力する。キャッシュ管理部23は、出力された事前キャッシュ対象チャンクのデータサイズに基づき、キャッシュサーバ記憶部21に事前キャッシュ対象チャンクを格納する空き容量があるか否かを確認する。キャッシュ管理部23が、キャッシュ記憶部21に空き容量がないと判断した場合(S6のNo)、キャッシュ管理部23はキャッシュサーバ記憶部21のコンテンツチャンク211のうち、必要な空き容量をつくるために削除するチャンクを選択し、この選択したチャンクを削除する(S7)。そして、S8へ進む。このS7の処理の詳細は、後記する。
一方、キャッシュ管理部23が、キャッシュサーバ記憶部21に空き容量があると判断した場合(S6のYes)、キャッシュサーバ20のオリジンサーバ通信部22は、キャッシュOKの応答をオリジンサーバ10へ送信する(S8)。
キャッシュサーバ20からキャッシュOKの応答を受信したオリジンサーバ10のコンテンツ送信部12は、S4で決定したチャンク(キャッシュ対象チャンク)と、このチャンクのチャンク情報およびキャッシュ対象チャンクのコンテンツ情報とを、オリジンサーバ記憶部15から読み出し、キャッシュサーバ20へ配信する(S9)。
キャッシュサーバ20のオリジンサーバ通信部22は、配信されたチャンクをキャッシュ管理部23経由でキャッシュサーバ記憶部21のコンテンツチャンク211に追加して格納する。また、オリジンサーバ通信部22は、キャッシュ管理部23経由で配信されたチャンク情報をキャッシュチャンク情報テーブル212に格納し、コンテンツ情報をコンテンツ管理テーブル213に格納する(S10)。
このようにすることで、キャッシュサーバ20には視聴離脱率αとなる再生時間T(Gx,α)までのコンテンツのチャンクが保持されることになる。
次に、図6を用いて、ユーザ端末30からのコンテンツ配信リクエストを受信したキャッシュサーバ20の処理手順を説明する。
ユーザ端末30は、キャッシュサーバ20へコンテンツ配信リクエストを送信する(S11)。キャッシュサーバ20のリクエスト受信部24(図4参照)が、コンテンツ配信リクエストを受信すると、コンテンツ配信部25は、コンテンツ管理テーブル213(表5参照)を参照して、リクエストされたコンテンツが登録されているか否かを確認する(S12)。コンテンツが登録されていれば(S13のYes)、コンテンツ配信部25は、コンテンツ配信リクエストの送信元のユーザ端末30に対しコンテンツのチャンクの配信を開始する(S14)。そして、S15へ進む。
一方、S13においてコンテンツの登録がなかったとき(S13のNo)、オリジンサーバ通信部22はオリジンサーバ10に対し、リクエストされたコンテンツのコンテンツリクエストを送信する(S31)。そして、コンテンツリクエストを受信したオリジンサーバ10のコンテンツ送信部12は、リクエストされたコンテンツのチャンクを配信する(S32)。そして、S14へ進む。
S14の後、キャッシュサーバ20のコンテンツ再生記録部26は、コンテンツ管理テーブル213(表5参照)における当該コンテンツのアクセス数を1加算する(S15)。
そして、コンテンツ配信部25は、キャッシュサーバ記憶部21の当該コンテンツのコンテンツチャンク211のうち未配信のチャンク数が閾値(後続チャンク要求閾値)以下であるか否かを確認する(S16)。つまり、キャッシュサーバ記憶部21が保持するコンテンツのチャンクが残りわずかか否かを確認する。ここで、未配信のチャンク数が所定の閾値(後続チャンク要求閾値)以下であるとき(S16のYes)、コンテンツ配信部25はオリジンサーバ通信部22経由で、オリジンサーバ10に対し、続きのチャンク(自身が保持するチャンクの後続チャンク)を要求する(S17)。そして、S18およびS21へ進む。一方、未配信のチャンク数が所定の閾値(後続チャンク要求閾値)以下ではないとき(S16のNo)、S21へ進む。
オリジンサーバ10のコンテンツ送信部12は、キャッシュサーバ20からチャンクの要求(リクエスト)を受信すると、要求対象のチャンクをキャッシュサーバ20へ配信し(S18)、キャッシュサーバ20のオリジンサーバ通信部22は配信されたチャンクをキャッシュする(S19)。つまり、オリジンサーバ通信部22は、配信されたチャンクをキャッシュ管理部23経由でキャッシュサーバ記憶部21に格納する。そして、オリジンサーバ通信部22はこのチャンクの格納先(キャッシュ格納先)をキャッシュチャンク情報テーブル212(表4参照)に登録する(S20)。また、このときオリジンサーバ通信部22は、配信されたチャンクのチャンク情報も、キャッシュチャンク情報テーブル212(表4参照)に登録する。そして、処理を終了する。
S21において、キャッシュサーバ20のコンテンツ配信部25は、ユーザ端末30からのチャンク要求を受け付けると(S21のYes)、ユーザ端末30へチャンクを配信する(S22)。そして、S23へ進む。一方、コンテンツ配信部25は、ユーザ端末30からのチャンク要求がなければ(S21のNo)、S21へ戻る。S23において、キャッシュサーバ20のキャッシュ管理部23はコンテンツの最終チャンクまで配信したことを確認すると(S23のYes)、コンテンツ管理テーブル213(表5参照)における当該コンテンツの再生完了数を1加算する(S24)。一方、まだコンテンツの最終チャンクまで配信していないとき(S23のNo)、S16へ戻る。
このようにして、キャッシュサーバ20はユーザ端末30へコンテンツのチャンクの配信を行う。
次に、ユーザ端末30がコンテンツの再生中止をしたときの処理手順を、図7を用いて説明する。ユーザ端末30がコンテンツの再生中止をすると(S41)、ユーザ端末30はコンテンツの配信元であるキャッシュサーバ20へ再生中止リクエストまたはセッション終了を通知する。
キャッシュサーバ20のコンテンツ配信部25(図4参照)は、ユーザ端末30からの再生中止リクエストまたはセッション終了を受信、またはセッション断を検出すると、コンテンツの配信を中止する(S42)。そして、コンテンツ再生記録部26は、再生中止、セッション終了またはセッション断時に再生(配信)していたコンテンツのチャンクのチャンク番号を取得し、キャッシュチャンク情報テーブル212(表4参照)の該当するチャンク番号の再生中止数を1加算する(S43)。
このようにすることで、キャッシュサーバ20のキャッシュチャンク情報テーブル212には、各コンテンツのチャンクのうちどのチャンクまでユーザ端末30により再生(受信)されたかが記録される。このキャッシュチャンク情報テーブル212の情報は、キャッシュ管理部23がキャッシュサーバ記憶部21の空き容量が少なくなったとき、優先的に削除するコンテンツチャンク211のチャンクを選択するときに参照される。
ここで、キャッシュサーバ20にオリジンサーバ10からのチャンクを格納するために必要な空き容量Sがないとき、キャッシュ管理部23は、以下の手順により、空き容量Sを確保するまで、該当するチャンクをコンテンツチャンク211から削除する。このときの削除手順を、適宜図4を参照しつつ、図8を用いて説明する。なお、ここで用いるパラメータN1およびN2の初期値はそれぞれ所定の値N1iおよびN2i(N1i≧N2i)とする。
キャッシュ管理部23は、コンテンツ管理テーブル213(表5参照)およびキャッシュチャンク情報テーブル212(表4参照)を参照して、ユーザ端末30へコンテンツ配信中(コンテンツ配信リクエスト受信〜配信終了までの間)ではなく、かつコンテンツ受信日時から所定時間以上経過しているコンテンツを対象に、優先的に削除するコンテンツのコンテンツチャンク211を選択する。まず、コンテンツ管理テーブル213およびキャッシュチャンク情報テーブル212を参照して、該当コンテンツのコンテンツチャンク211のうち、アクセス数=0のコンテンツの合計チャンクデータ量S1を計算する(S51)。ここで、S>S1であれば(S52のYes)、該当するデータを削除し、(S―S1)をSの値に設定して(S53)、S54へ進む。つまり、コンテンツのうち、ユーザ端末30により一度も視聴されていないコンテンツがあればそのコンテンツを削除する。また、キャッシュサーバ20が当該コンテンツを配信中か否かがわかるよう、例えばコンテンツ管理テーブル213(表5参照)に、当該コンテンツがコンテンツ配信リクエスト受信〜配信終了の間は、コンテンツ配信中フラグ(図示省略)をONにしておく。これにより、キャッシュ管理部23は、コンテンツ配信中のコンテンツを誤って削除してしまうことを防止できる。なお、以下、キャッシュ管理部23が、コンテンツチャンク211のデータを削除するとき、コンテンツ管理テーブル213(表5参照)およびキャッシュチャンク情報テーブル212(表4参照)を参照して、ユーザ端末30へコンテンツ配信中(コンテンツ配信リクエスト受信〜配信終了までの間)のコンテンツは削除対象外とする。
一方、S>S1でなければ(S52のNo)、アクセス数=0のコンテンツを削除する(S70)。つまり、キャッシュ管理部23は、アクセス数=0のコンテンツのチャンクデータを、コンテンツ受信日時が古いコンテンツから順に削除し、0073-削除したチャンクデータ量をSから引いた値をSの値に設定し、Sが0以下になるまで、コンテンツ受信日時が古い順にコンテンツの削除を繰り返し、処理を終了する。
S54において、キャッシュ管理部23は、コンテンツ管理テーブル213およびキャッシュチャンク情報テーブル212を参照して、コンテンツのアクセス数がN1以下かつ再生完了数=0を満たすコンテンツがあれば(S54のYes)、S55の処理を行う。一方、コンテンツのアクセス数がN1以下かつ再生完了数=0を満たすコンテンツがなければ(S54のNo)、S58へ進む。S58については後記する。
S55において、キャッシュ管理部23は、コンテンツ管理テーブル213およびキャッシュチャンク情報テーブル212を参照して、コンテンツのアクセス数がN1以下かつ再生完了数=0を満たす各コンテンツについて離脱率がβ(所定の値)を超過するチャンク番号cを計算する。なお、ここでの離脱率は、当該コンテンツの再生開始から当該チャンクまでの再生中止数の和/当該コンテンツのアクセス数(配信回数)で定義される値である。そして、キャッシュ管理部23は、すべての対象コンテンツについて、チャンク番号c+1以降のチャンクの合計データ量S2を計算し、該当するデータ(つまり、対象コンテンツのチャンク番号c+1以降のチャンク)を削除し、(S−S2)をSの値に設定する(S56)。
S56の後、S>0であれば(S57のYes)、S58へ進む。一方、S>0でなければ(S57のNo)、処理を終了する。
S58において、キャッシュ管理部23は、コンテンツ管理テーブル213を参照して、コンテンツのアクセス数がN1以下かつ再生完了数がN2以下を満たすコンテンツがあれば(S58のYes)、キャッシュ管理部23は、コンテンツ管理テーブル213およびキャッシュチャンク情報テーブル212を参照して、各コンテンツについて離脱率がβ(所定の値)を超過するチャンク番号cを計算する(S59)。一方、S58において、コンテンツのアクセス数がN1以下かつ再生完了数がN2以下を満たすコンテンツがなければ(S58のNo)、S62へ進む。
S59の後、キャッシュ管理部23は、キャッシュチャンク情報テーブル212を参照して、すべての対象コンテンツについて、チャンク番号c+1以降のチャンクの合計データ量S3を計算し、該当するデータ(つまり、対象コンテンツのチャンク番号c+1以降のチャンク)を削除し、(S−S3)をSの値に設定する(S60)。
S60の後、S>0であれば(S61のYes)、S62へ進む。一方、S>0でなければ(S61のNo)、処理を終了する。
S62において、N1に所定の値A1を加算した値がN1max(N1に設定された最大値)以下ではない場合(S62のNo)、キャッシュ管理部23は、N2の値を所定の値A2加算して(S63)、N2≦N1であれば(S64のYes)、S58へ進む。。N2≦N1でない場合(S64のNo)は、キャッシュ管理部23は、N1maxの値を所定の値A3加算し、N2の値をN2iに設定して(S65)、S62へ戻る。
一方、S62において、N1+A1がN1max(N1に設定された最大値)以下の場合(S62のYes)、キャッシュ管理部23は、N1の値をA1加算して(S66)、S54へ戻る。
このようにキャッシュサーバ20は、キャッシュサーバ記憶部21に空き容量を確保するとき、削除対象のデータとして、コンテンツチャンク211のうち、配信回数および再生完了数がより少ないコンテンツから優先的に選択する。そして、キャッシュサーバ20は、この選択したコンテンツのチャンクのうち、離脱率(当該コンテンツの再生開始から当該チャンクまでの再生中止数の和/当該コンテンツのアクセス数(配信回数))が所定の閾値βを超えている時間以降のチャンクのデータを、オリジンサーバ10からのコンテンツのデータをキャッシュする空き容量が確保できるまで削除する。これにより、キャッシュサーバ記憶部21には、ユーザ端末30により視聴(再生)される可能性が高いチャンクが残ることになるので、キャッシュサーバ20のキャッシュ効率を向上させることができる。
なお、このような削除対象のデータの選択は、キャッシュサーバ20のキャッシュ管理部23が、オリジンサーバ10から新たなコンテンツのチャンクの配信通知を受信したタイミングで行ってもよいし、チャンクの配信通知とは関係なく、事前に行っておいてもよい。
例えば、キャッシュ管理部23は、所定期間ごとに、コンテンツ管理テーブル213(表5参照)に示される各コンテンツのアクセス数および再生完了数と、キャッシュチャンク情報テーブル212(表4参照)に示される各コンテンツのチャンクの再生中止数とを参照して、キャッシュサーバ記憶部21における空き容量が不足した場合、どのチャンクから優先的に削除すべきかを示したリスト(キャッシュ削除リスト)を事前に作成しておく。
ここで、キャッシュ管理部23は、優先的に削除すべきデータとして、(1)アクセス数ができるだけ少なく、(2)再生完了数ができるだけ少ないコンテンツを選択する。そして、選択したコンテンツを構成するチャンクのうち、(3)離脱率(当該コンテンツの再生開始から当該チャンクまでの再生中止数の和/当該コンテンツのアクセス数(配信回数))がβとなるチャンクより先のチャンク番号のチャンクを削除対象のチャンクとして選択する。つまり、キャッシュ管理部23が優先的に削除すべきチャンクの選択にあたり、当該コンテンツの、(1)アクセス数の少なさ、(2)再生完了数の少なさ、(3)離脱率の高さという3つの条件を用いる。ここで、条件適用の優先順位は、例えば、(1)→(2)→(3)とする。
そして、キャッシュ管理部23は、このようにしてキャッシュ削除リストを作成すると、キャッシュサーバ記憶部21の所定領域に格納しておく。そして、キャッシュサーバ20のオリジンサーバ通信部22は、オリジンサーバ10からの新たなコンテンツのチャンクを受信する場合において、キャッシュサーバ記憶部21に空き容量が不足していた場合、このキャッシュ削除リストに示される優先順位に従い、新たなコンテンツのチャンクの分の空き容量を確保できるまで、キャッシュサーバ記憶部21からチャンクの削除を行う。
このようにすることで、キャッシュサーバ20は、キャッシュサーバ記憶部21に新たなコンテンツのチャンクを格納するための空き容量が不足していた場合でも、すぐに空き容量を削除し、コンテンツのチャンクの受信に備えることができる。
なお、前記した実施の形態において、キャッシュサーバ20が、オリジンサーバ10に対する後続チャンクの要求時に用いる後続チャンク要求閾値は、各コンテンツについて共通の値を用いてもよいし、コンテンツごとに個別の値を用いるようにしてもよい。個別の値を用いる場合、各コンテンツの後続チャンク要求閾値は、コンテンツ管理テーブル213に設定される。
また、オリジンサーバ10は、破線で示す視聴離脱特性テーブル作成部13をさらに備えていてもよい。この視聴離脱特性テーブル作成部13は、オリジンサーバ記憶部15に格納されるコンテンツ151の各キャッシュサーバ20への配信結果に基づき、コンテンツグループごとの視聴離脱特性を計算し、この計算した視聴離脱特性に基づき視聴離脱特性テーブル152を作成する。そして、視聴離脱特性テーブル作成部13は、所定期間ごとに、各キャッシュサーバ20へのコンテンツの配信結果に基づき、視聴離脱特性テーブル152を更新する。例えば、オリジンサーバ10がキャッシュサーバ20からのリクエストに応じてコンテンツのチャンクを配信したとき、コンテンツ情報テーブル154に、どのコンテンツについてどのチャンクまで配信したかを記録しておく。そして、視聴離脱特性テーブル作成部153は、このコンテンツのチャンクの配信結果に基づき、視聴離脱特性テーブル152を作成したり、更新したりする。このようにすることで、視聴離脱特性テーブル152にはオリジンサーバ10からキャッシュサーバ20へのコンテンツの配信結果を反映させることができる。
10 オリジンサーバ
11 事前キャッシュ対象選択部
12 コンテンツ送信部
13 視聴離脱特性テーブル作成部
15 オリジンサーバ記憶部
20 キャッシュサーバ
21 キャッシュサーバ記憶部
22 オリジンサーバ通信部
23 キャッシュ管理部
24 リクエスト受信部
25 コンテンツ配信部
26 コンテンツ再生記録部
30 ユーザ端末
151 コンテンツ
152 視聴離脱特性テーブル
153 チャンク情報テーブル
154 コンテンツ情報テーブル
211 コンテンツチャンク
212 キャッシュチャンク情報テーブル
213 コンテンツ管理テーブル

Claims (5)

  1. ユーザ端末からのリクエストに応じて動画のコンテンツを配信するキャッシュサーバと、前記コンテンツを前記キャッシュサーバへ配信するオリジンサーバとを備えるコンテンツ配信システムであって、
    前記オリジンサーバは、
    前記コンテンツと、前記コンテンツごとに前記コンテンツの属するコンテンツグループを示したコンテンツ情報テーブルと、前記コンテンツのコンテンツグループGxごとに、以下の式(1)で定義される視聴離脱率が所定の値αとなる前記コンテンツグループGxのコンテンツの再生時間T(Gx,α)を示した視聴離脱特性テーブルとを記憶するオリジンサーバ記憶部と、
    コンテンツの再生時間t秒での視聴離脱率=(当該コンテンツの再生開始時の視聴数―当該コンテンツの再生時間t秒での視聴数)/(当該コンテンツの再生開始時の視聴数)…式(1)
    前記視聴離脱特性テーブルおよび前記コンテンツ情報テーブルを参照して、前記コンテンツグループGxのコンテンツのデータのうち、先頭から前記再生時間T(Gx,α)を超えるまでのデータを前記キャッシュサーバへ配信するコンテンツ送信部とを備え、
    前記キャッシュサーバは、
    前記配信されたコンテンツのデータを記憶するキャッシュサーバ記憶部と、
    前記ユーザ端末からのリクエストに応じて前記コンテンツのデータを前記リクエストの送信元のユーザ端末へ配信するコンテンツ配信部と、
    前記ユーザ端末からリクエストされた前記コンテンツのデータが前記キャッシュサーバ記憶部にないとき、前記オリジンサーバへ前記コンテンツのデータの配信リクエストを送信するオリジンサーバ通信部とを備えることを特徴とするコンテンツ配信システム。
  2. 前記キャッシュサーバ記憶部は、さらに、
    コンテンツ管理テーブルを記憶し、
    前記キャッシュサーバは、さらに、
    前記オリジンサーバからの問い合わせに含まれる配信予定のコンテンツのデータのデータサイズに基づき、前記キャッシュサーバ記憶部に、前記オリジンサーバからのコンテンツのデータをキャッシュする空き容量があるか否かを判断するキャッシュ管理部と、
    前記コンテンツごとの、当該コンテンツの前記ユーザ端末への配信回数および前記ユーザ端末における再生完了数を前記コンテンツ管理テーブルに記録するコンテンツ再生記録部とを備え、
    前記オリジンサーバ通信部は、さらに、
    前記オリジンサーバから、前記キャッシュサーバ記憶部に、前記コンテンツのデータをキャッシュする空き容量があるか否かの問い合わせを受信した場合、前記問い合わせに含まれる配信予定のコンテンツのデータのデータサイズを前記キャッシュ管理部へ出力し、前記キャッシュ管理部により前記コンテンツのデータをキャッシュする空き容量があると判断されたとき、前記オリジンサーバへ前記コンテンツのデータの配信リクエストを送信し、
    前記キャッシュ管理部は、
    前記オリジンサーバからのコンテンツのデータをキャッシュする空き容量がないと判断した場合、削除対象データとして、前記コンテンツ管理テーブルを参照して、既に前記キャッシュサーバ記憶部に記憶されたコンテンツのうち、当該コンテンツの配信回数が少なくかつ再生完了数が少ないコンテンツから優先的に選択し、前記空き容量が確保できるまで、前記選択したコンテンツを削除する処理を繰り返すことを特徴とする請求項1に記載のコンテンツ配信システム。
  3. 前記コンテンツ再生記録部は、さらに、
    前記コンテンツの再生中止があった場合、当該コンテンツのどのデータまで再生したかをキャッシュチャンク情報テーブルに記録し、
    前記キャッシュサーバ記憶部は、さらに、
    前記キャッシュチャンク情報テーブルを記憶し、
    前記キャッシュ管理部は、
    前記オリジンサーバからのコンテンツのデータをキャッシュする空き容量がないと判断した場合、削除対象データとして、前記コンテンツ管理テーブルおよび前記キャッシュチャンク情報テーブルを参照して、既に前記キャッシュサーバ記憶部に記憶されたコンテンツから、前記配信回数が0のコンテンツを探し、前記配信回数が0のコンテンツを削除しても、前記空き容量が確保できないとき、当該コンテンツの配信回数および再生完了数がより少ないコンテンツから優先的に選択し、前記選択したコンテンツのデータのうち、以下の式(2)で定義される再生開始からの離脱率が所定の閾値βを超えている時間以降の部分のデータを求め、前記空き容量が確保できるまで、前記求めたデータを削除する処理を繰り返すことを特徴とする請求項2に記載のコンテンツ配信システム。
    当該コンテンツの再生時間t秒での離脱率=当該コンテンツの再生開始から再生時間t秒までの再生中止数/当該コンテンツの配信回数…式(2)
  4. 前記コンテンツ送信部および前記コンテンツ配信部は、前記コンテンツのデータを配信するとき、チャンク形式で配信することを特徴とする請求項1ないし請求項3のいずれか1項に記載のコンテンツ配信システム。
  5. ユーザ端末からのリクエストに応じて動画のコンテンツを配信するキャッシュサーバと、前記コンテンツを前記キャッシュサーバへ配信するオリジンサーバとを備えるコンテンツ配信システムにおけるコンテンツ配信方法であって、
    前記コンテンツと、前記コンテンツごとに前記コンテンツの属するコンテンツグループを示したコンテンツ情報テーブルと、前記コンテンツのコンテンツグループGxごとに、以下の式(1)で定義される視聴離脱率が所定の値αとなる前記コンテンツグループGxのコンテンツの再生時間T(Gx,α)を示した視聴離脱特性テーブルとを記憶するオリジンサーバ記憶部を備える前記オリジンサーバが、
    コンテンツの再生時間t秒での視聴離脱率=(当該コンテンツの再生開始時の視聴数―当該コンテンツの再生時間t秒での視聴数)/(当該コンテンツの再生開始時の視聴数)…式(1)
    前記視聴離脱特性テーブルおよび前記コンテンツ情報テーブルを参照して、前記コンテンツグループGxのコンテンツのデータのうち、先頭から前記再生時間T(Gx,α)を超えるまでのデータを前記キャッシュサーバへ配信するステップを実行し、
    前記キャッシュサーバは、
    前記配信されたコンテンツのデータをキャッシュサーバ記憶部に記憶するステップと、
    前記ユーザ端末からのリクエストに応じて前記コンテンツのデータを前記リクエストの送信元のユーザ端末へ配信するステップとを実行し、
    前記ユーザ端末からリクエストされた前記コンテンツのデータが前記キャッシュサーバ記憶部にないとき、前記オリジンサーバへ前記コンテンツのデータの配信リクエストを送信するステップを実行することを特徴とするコンテンツ配信方法。
JP2012182747A 2012-08-21 2012-08-21 コンテンツ配信システムおよびコンテンツ配信方法 Expired - Fee Related JP5764100B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012182747A JP5764100B2 (ja) 2012-08-21 2012-08-21 コンテンツ配信システムおよびコンテンツ配信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012182747A JP5764100B2 (ja) 2012-08-21 2012-08-21 コンテンツ配信システムおよびコンテンツ配信方法

Publications (2)

Publication Number Publication Date
JP2014042124A JP2014042124A (ja) 2014-03-06
JP5764100B2 true JP5764100B2 (ja) 2015-08-12

Family

ID=50394057

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012182747A Expired - Fee Related JP5764100B2 (ja) 2012-08-21 2012-08-21 コンテンツ配信システムおよびコンテンツ配信方法

Country Status (1)

Country Link
JP (1) JP5764100B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11809330B2 (en) 2021-06-10 2023-11-07 Kioxia Corporation Information processing apparatus and method

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2963894A1 (en) * 2014-07-04 2016-01-06 Thomson Licensing Method for operating a cache arranged along a transmission path between client terminals and at least one server, and corresponding cache.
JP6220324B2 (ja) * 2014-09-09 2017-10-25 株式会社 日立産業制御ソリューションズ 蓄積配信サーバ及び蓄積配信システム
JP6901262B2 (ja) * 2017-01-05 2021-07-14 Kddi株式会社 コンテンツ配信システムの転送装置及びプログラム
KR102081221B1 (ko) 2017-12-18 2020-02-25 애니포인트미디어 주식회사 방송 서비스의 반송률 측정 장치
KR102030439B1 (ko) * 2017-12-18 2019-10-10 애니포인트미디어 주식회사 방송 서비스의 반송률 측정 장치
JP7211146B2 (ja) * 2019-02-20 2023-01-24 日本電信電話株式会社 エンゲージメント推定装置、エンゲージメント推定方法及びプログラム
JP7259947B2 (ja) * 2019-05-22 2023-04-18 日本電信電話株式会社 映像配信装置、映像配信方法及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003167813A (ja) * 2001-11-30 2003-06-13 Oki Electric Ind Co Ltd ストリームデータの蓄積・配信方法及びストリームデータの蓄積・配信システム
JP2003235010A (ja) * 2002-02-12 2003-08-22 Matsushita Electric Ind Co Ltd コンテンツ蓄積装置
JP3999004B2 (ja) * 2002-03-12 2007-10-31 富士通株式会社 コンテンツ管理方法
JP5200735B2 (ja) * 2008-07-29 2013-06-05 沖電気工業株式会社 コンテンツ配信システム及びコンテンツ配信方法
JP2010191774A (ja) * 2009-02-19 2010-09-02 Nec Corp コンテンツ配信システム、コンテンツ配信装置及びコンテンツ配信方法ならびにそのプログラム、データストレージ装置とその処理方法およびプログラム
JP5272990B2 (ja) * 2009-09-24 2013-08-28 ブラザー工業株式会社 情報通信システム、配信コンテンツ決定方法、管理装置、管理プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11809330B2 (en) 2021-06-10 2023-11-07 Kioxia Corporation Information processing apparatus and method

Also Published As

Publication number Publication date
JP2014042124A (ja) 2014-03-06

Similar Documents

Publication Publication Date Title
JP5764100B2 (ja) コンテンツ配信システムおよびコンテンツ配信方法
KR101702562B1 (ko) 멀티미디어 스트림 파일의 저장 파일 포맷, 저장 방법 및 이를 이용한 클라이언트 장치
US10469885B2 (en) Playback synchronization among adaptive bitrate streaming clients
US9531773B2 (en) Unique subscriber states for adaptive stream management
US9794604B2 (en) Systems and methods for transmitting segment-quality units of a streaming video session
US9294531B2 (en) Signaling and processing content with variable bitrates for adaptive streaming
US9860335B2 (en) Method, device and system for delivering live content
JP5269208B2 (ja) データ配信方法及び装置
US8090761B2 (en) Storage and distribution of segmented media data
US20060230107A1 (en) Method and computer-readable medium for multimedia playback and recording in a peer-to-peer network
JP2003167813A (ja) ストリームデータの蓄積・配信方法及びストリームデータの蓄積・配信システム
KR20150083793A (ko) 클라이언트 단말기에서, 멀티미디어 컨텐츠의 세그먼트의 다가오는 시퀀스를 다운로딩하는 방법, 및 대응하는 단말기
JP5752231B2 (ja) ディジタルブロードキャスティングシステムにおけるタイムシフトサービスを提供する方法及び装置とそのシステム
US20160330500A1 (en) Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments
JP2012520004A (ja) ピアツーピアネットワークにおける優先順位付けのための方法及び装置
JP5699619B2 (ja) キャッシュ装置、データ管理方法、プログラム、及びキャッシュシステム
CN105812831B (zh) 网络节目的录制方法、装置、系统以及播放方法、装置
JP2010191774A (ja) コンテンツ配信システム、コンテンツ配信装置及びコンテンツ配信方法ならびにそのプログラム、データストレージ装置とその処理方法およびプログラム
US20120246332A1 (en) Circular buffer and method for multimedia streaming service based peer-to-peer
JP2013045273A (ja) キャッシュサーバ、キャッシュ対象決定方法、コンテンツ配信システム及びキャッシュ対象決定プログラム
KR101525471B1 (ko) 비디오제공방법 및 비디오제공시스템
KR101888982B1 (ko) 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
JP4877856B2 (ja) データ通信装置及びデータ通信方法
Faiqurahman et al. Implementation of modified probabilistic caching schema on Bittorrent protocol for video on demand content
WO2017071524A1 (zh) 多媒体资源的发布方法及装置

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140502

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140528

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140729

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150529

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150612

R150 Certificate of patent or registration of utility model

Ref document number: 5764100

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees