(58)【調査した分野】(Int.Cl.,DB名)
ネットワークを通じて、コンテンツの映像データを所定単位で区分された区分映像データを受信すると、受信した上記区分映像データをキャッシュすると共に、少なくとも上記映像データのコンテンツ識別情報を記憶する記憶手段と、
ネットワークを通じてキャッシュ配信要求を取得すると、上記キャッシュ配信要求に含まれるコンテンツ識別情報を取得する配信制御手段と、
上記コンテンツ識別情報に対応する上記区分映像データを上記記憶手段から取得し、上記映像データの配信元近傍での上記区分映像データの転送速度で、上記取得された区分映像データを要求元に転送する中継制御手段と
を備え、
上記記憶手段は、上記区分映像データの配信元近傍での受信時間及びデータサイズを記憶し、
上記配信制御手段は、上記コンテンツ識別情報に対応する上記区分映像データの上記受信時間及びデータサイズに基づいて、配信元近傍での転送速度を求めるものであり、
上記中継制御手段は、上記配信制御手段により求められた上記転送速度で上記区分映像データを転送するものである
ことを特徴とする映像配信装置。
【発明を実施するための形態】
【0020】
(A)第1の実施形態
以下では、本発明の映像配信装置、映像配信プログラム、映像配信方法
及び映像配信システ
ムの第1の実施形態を、図面を参照しながら詳細に説明する。
【0021】
(A−1)第1の実施形態の構成
(A−1−1)全体構成
図1は、実施形態の映像配信システムの全体構成を示す全体構成図である。
図1において、映像配信システム1は、コンテンツ配信装置100、キャッシュ制御サーバ200A、ネットワーク300、キャッシュ配信サーバ400、端末500を有して構成される。
【0022】
端末500は、コンテンツ配信装置100に対して映像配信を要求し、受信した映像データ(コンテンツ)を再生するものである。
【0023】
端末500は、キャッシュ配信サーバ400と接続しており、コンテンツ配信装置100に対する映像配信要求パケット(以下、コンテンツ配信要求パケットともいう)を、キャッシュ配信サーバ400に送信する。また、端末500は、映像配信要求パケットの送信に対して、コンテンツ配信装置100により発行されたワンタイムURLを取得する。そして、端末500は、ワンタイムURLにアクセスし、コンテンツ配信装置100又はキャッシュ配信サーバ400から映像データパケットを受信して、映像データを再生する。
【0024】
ここで、ワンタイムURLとは、所定回数又は所定期間だけアクセス先として有効とするURLである。ワンタイムURLは、セキュリティの観点から、コンテンツのアクセス先として有効な回数又は期間を規定するために利用される。例えば、ワンタイムURLは、URLにセッションIDや時刻情報等が付与されたものであり、サーバが、セッションIDや時刻情報等の正当性に基づいて当該URLへのアクセスを許可するか否かを判断する。
【0025】
なお、端末500は、通信機能を有する情報処理装置を広く適用することができ、例えば、テレビ、パーソナルコンピュータ、タブレット型コンピュータ、STB(Set Top Box)、携帯端末(いわゆるスマートフォンやPDAや電子書籍端末等)、携帯電話機、ゲーム端末等を適用することができる。
【0026】
キャッシュ配信サーバ400は、キャッシュ機能を有しており、ネットワーク300を通じて受信した映像データをキャッシュし、再度同一のコンテンツの映像データを配信する場合には、キャッシュしている映像データを配信するものである。
【0027】
キャッシュ配信サーバ400は、端末500に近い側に設けられ、コンテンツ配信装置100が提供する配信レートに近い配信レートで映像データを配信する。例えば、キャッシュ配信サーバ400は、端末500が属するネットワークのゲートウェイやルータ等のネットワーク機器の位置や、又は端末500が無線通信により映像データを受信するときには無線基地局や交換機等の位置に設けることが望ましい。
【0028】
キャッシュ配信サーバ400は、コンテンツ配信装置100宛の映像配信要求パケットを端末500から受信すると、受信した映像配信要求パケットをネットワーク300に中継する。
【0029】
また、キャッシュ配信サーバ400は、ネットワーク300を通じてキャッシュ制御サーバ400から映像データを受信すると、受信した映像データをキャッシュすると共に、受信した映像データを端末500に送信する。このとき、キャッシュ配信サーバ400は、ワンタイムURLに含まれるコンテンツ識別情報(例えば、コンテンツID)を取得し、コンテンツ識別情報と映像データとを対応付けて蓄積する。
【0030】
さらに、キャッシュ配信サーバ400は、キャッシュ制御サーバ200Aから映像配信指示(以下、キャッシュ配信指示ともいう)を含むパケットを受信し、その映像配信指示に従って、キャッシュした映像データを端末500に送信する。このとき、キャッシュ配信サーバ400は、コンテンツIDを含む映像配信指示を取得する。キャッシュ配信サーバ400は、取得したコンテンツIDに基づいて、対応する映像データを配信する。
【0031】
つまり、キャッシュ配信サーバ400は、キャッシュ制御サーバ200Aから、キャッシュしている映像データについてコンテンツIDを用いた映像配信指示(キャッシュ配信指示)がなされる。そのため、キャッシュ制御サーバ200Aとキャッシュ配信サーバ400との間のネットワーク300上には、コンテンツIDを含む映像配信指示パケットだけが流れ、データ量の多い映像データを含むパケット自体が流れることはないため、ネットワーク300上のビデオトラフィックの削減を図ることができる。
【0032】
ネットワーク300は、キャッシュ配信サーバ400及びキャッシュ制御サーバ200Aが接続されるネットワークである。ネットワーク300は、例えばIPネットワークを適用することができる。
【0033】
キャッシュ制御サーバ200Aは、ネットワーク300とコンテンツ配信装置100とに接続され、ネットワーク300を通じて、コンテンツ配信装置100宛の映像配信要求パケットを受信すると、受信した映像配信要求パケットをコンテンツ配信装置100に中継する。
【0034】
キャッシュ制御サーバ200Aは、コンテンツ配信装置100から映像データパケットを受信すると、コンテンツIDに対応するキャッシュ情報があるか否かを確認する。
【0035】
このとき、キャッシュ制御サーバ200Aは、コンテンツ配信装置100から映像データパケットを受信した場合、コンテンツIDに対応するキャッシュ情報がないとき、コンテンツ識別情報と所定時間内の映像データの送信サイズとをキャッシュすると共に、受信した映像データパケットをキャッシュ配信サーバ400に送信する。
【0036】
また、キャッシュ制御サーバ200Aは、コンテンツ配信装置100から映像データパケットを受信した場合、コンテンツIDに対応するキャッシュがあるとき、当該コンテンツIDを含む映像配信指示パケットをキャッシュ配信サーバ400に送信する。
【0037】
コンテンツ配信装置100は、キャッシュ制御サーバ200Aを通じて、端末500から映像配信要求パケットを受信すると、要求された映像データ(コンテンツ)をキャッシュ制御サーバ200Aに送信するものである。
【0038】
(A−1−2)コンテンツ配信装置100の内部構成
図2は、第1の実施形態のコンテンツ配信装置100の内部構成を示す内部構成図である。
図2において、コンテンツ配信装置100は、記憶部110、配信制御部120、コンテンツ蓄積管理部130を有する。
【0039】
配信制御部120は、コンテンツ配信装置100の全体の機能を司るものである。配信制御部120は、コンテンツ配信要求取得部121、ワンタイムURL発行部122、コンテンツ配信処理部123を有する。
【0040】
コンテンツ配信要求取得部121は、キャッシュ制御サーバ200Aから映像配信要求パケット(コンテンツ配信要求パケット)を取得し、映像配信要求パケットに含まれているコンテンツIDを特定するものである。
【0041】
ワンタイムURL発行部122は、コンテンツ配信要求取得部121から映像配信要求に係るコンテンツのコンテンツIDを取得し、コンテンツのアクセス先であるワンタイムURLを発行するものである。また、ワンタイムURL発行部122は、映像配信要求パケットの要求元に対して、発行したワンタイムURLを含む応答パケットを返信するものである。なお、後述するように、発行されたワンタイムURLは、コンテンツ蓄積管理部130によってコンテンツIDと対応付けられて管理される。
【0042】
コンテンツ配信処理部123は、キャッシュ制御サーバ200Aを介して端末50からワンタイムURLへのアクセスを受けると、ワンタイムURLに対応するコンテンツの蓄積位置を、コンテンツ蓄積管理部130に問い合わせるものである。
【0043】
ここで、ワンタイムURLに対してアクセスがあると、コンテンツ配信処理部123は、ワンタイムURLへのアクセスの正当性を判断する。上述したように、ワンタイムURLは、セッションID又は時刻情報等が付与されている。従って、コンテンツ配信処理部123は、アクセスされたワンタイムURLに含まれるセッションID又は時刻情報等に基づいて正しくアクセスされたものか否かを判断する。なお、ワンタイムURLへのアクセスが正当である場合、コンテンツ配信処理部123は当該アクセスを許可し、不当である場合、コンテンツ配信処理部123は当該アクセスを許可しない。
【0044】
また、コンテンツ配信処理部123は、アクセスされたワンタイムURLに対応するコンテンツの蓄積位置をコンテンツ蓄積管理部130から取得し、その蓄積位置に基づいて、記憶部110からコンテンツの映像データを取得する。
【0045】
さらに、コンテンツ配信処理部123は、例えばRTP(Real−Time Transport Protocol)に従って、記憶部110から取得したコンテンツの映像データパケットを形成し、映像データパケットを所定の配信レートでキャッシュ制御サーバ200Aに送信する。
【0046】
コンテンツ蓄積管理部130は、記憶部110におけるコンテンツの映像データの蓄積位置を管理するものである。つまり、コンテンツ蓄積管理部130は、記憶部110におけるコンテンツの映像データの蓄積位置と、コンテンツIDとを対応付けて管理している。
【0047】
また、コンテンツ蓄積管理部130は、ワンタイムURL発行部122により発行されたワンタイムURLとコンテンツIDとを対応付けて管理する。これにより、ワンタイムURLに対してアクセスがあると、コンテンツ蓄積管理部130は、ワンタイムURLに対応するIDコンテンツを特定し、更にコンテンツIDに対応する映像データの蓄積位置を特定することができる。
【0048】
記憶部110は、コンテンツの映像データを記憶するものである。記憶部110は、例えば、キャッシュメモリ等の書込み/読出しが高速な記憶装置を適用できる。記憶部110は、配信制御部120からの要求に従って、記憶されている映像データを読み出し、読み出した映像データを配信制御部120に与えるものである。
【0049】
(A−2−3)キャッシュ制御サーバ200Aの内部構成
図3は、第1の実施形態のキャッシュ制御サーバ200Aの内部構成を示す内部構成図である。
図3において、キャッシュ制御サーバ200Aは、記憶部(第1キャッシュ)210、第1中継制御部220、連携制御部230を有する。
【0050】
第1中継制御部220は、キャッシュ制御サーバ200Aの中継機能を制御するものである。第1中継制御部220は、ネットワーク300からコンテンツ配信装置100宛の映像配信要求パケットを受信すると、その受信した映像配信要求パケットをコンテンツ配信装置100に与えるものである。
【0051】
また、第1中継制御部220は、コンテンツ配信装置100から映像データパケットを受信すると、映像データパケットを連携制御部230に転送するものである。さらに、第1中継制御部220は、連携制御部230からの指示に従って、受信した映像データパケットを、ネットワーク300を介してキャッシュ配信サーバ300に中継したり、又は、受信した映像データパケットを廃棄したりする。第1中継制御部220は、連携制御部230からの指示に従って、キャッシュ配信要求パケットを、ネットワーク300を介してキャッシュ配信サーバ300に送信する。
【0052】
連携制御部230は、コンテンツの映像データのキャッシュ配信を制御するものである。つまり、連携制御部230は、映像データのコンテンツIDに対応するキャッシュの有無を判断し、その判断結果に基づいて、映像データのキャッシュ配信を行うか否かを制御するものである。
【0053】
図3に示すように、連携制御部230の主な機能は、コンテンツID検索部231、中継指示部232、区分映像データ作成部233、コンテンツ情報保存部234、キャッシュ配信要求部235、配信レート計算部236を有する。
【0054】
なお、連携制御部230のハードウェアは、例えば、CPU、ROM、RAM、EEPROM、入出力インタフェース等を有して構成される装置であり、CPUが、ROMに格納される処理プログラムを実行することにより、
図3に例示する機能を実現する。
【0055】
コンテンツID検索部231は、第1中継制御部220からコンテンツの映像データを取得すると、当該コンテンツのコンテンツIDに基づいて、対応するコンテンツ情報を記憶部210から検索するものである。つまり、コンテンツ情報は、コンテンツIDを含むものであるため、コンテンツID検索部231は、今回取得したコンテンツIDと一致するコンテンツIDを含むコンテンツ情報を検索する。
【0056】
中継指示部232は、コンテンツID検索部231がコンテンツIDに対応するコンテンツ情報を検索できなかった場合、コンテンツ配信装置100から受信した映像データパケットをキャッシュ配信サーバ400に中継することを、第1中継制御部220に対して指示するものである。
【0057】
このとき、中継指示部232は、第1中継制御部220に対して、次の3つの事項を指示する。
【0058】
第1に、中継指示部232は、後述する区分映像データ作成部233が作成した所定時間単位の映像データからなる映像データパケットを中継することを第1中継制御部220に指示する。
【0059】
第2に、中継指示部232は、後述する配信レート計算部236が計算した配信レートで、当該時間単位の映像データの映像データパケットを中継することを第1中継制御部220に指示する。
【0060】
第3に、中継指示部232は、当該映像データにおける当該時間単位の映像データに係るコンテンツ情報(少なくとも、コンテンツID、受信開始時刻、受信終了時刻、データサイズ)を、当該時間単位の映像データの映像データパケットに挿入して中継することを第1中継制御部220に指示する。
【0061】
区分映像データ作成部233は、コンテンツ配信装置100から受信したコンテンツの映像データを所定の時間単位で区分し、所定の時間単位で区分した映像データを作成するものである。
【0062】
ここで、一般的にコンテンツの映像データのデータ量は大きい。そのため、例えば解像度の高い映像データを配信するときには遅延等が生じたりして、安定した映像データの転送ができない。そこで、映像データの配信を平滑化するために、区分映像データ作成部233は、コンテンツの映像データを所定の時間単位で区分する。これにより、データ量の大きい映像データを所定の時間単位に区分した映像データで配信することができるので、映像データの配信の平滑化を実現できる。
【0063】
この実施形態におけるコンテンツの区分方法は、所定の時間単位とするが、これに限定されるものではなく、例えば、MPEGを採用した映像データの場合、区分映像データ作成部233は、GOP(Group Of Picture)単位等のように所定のデータ単位で区分するようにしてもよい。また、区分映像データ作成部233は、所定の時間単位の映像データの先頭から所定のデータ量(例えば、数十バイト〜数百バイト)若しくは先頭から所定の時間のデータ(例えば、1秒程度のデータ)を区分するようにしてもよい。
【0064】
コンテンツ情報保存部234は、区分映像データ作成部233により作成された区分映像データに係るコンテンツ情報を記憶部210に記憶するものである。つまり、コンテンツ情報保存部234は、上記コンテンツ情報を記憶部210にキャッシュする。
【0065】
ここで、コンテンツ情報は、少なくとも、コンテンツIDと、時間単位に区分された映像データの受信開始時時刻及び受信終了時刻と、データサイズとを対応付けた情報である。なお、後述するように、所定の時間単位に区分された映像データの受信開始時刻及び受信終了時刻とデータサイズとに対応する区分IDを更に対応付けるようにしても良い。
【0066】
キャッシュ配信要求部235は、コンテンツID検索部231がコンテンツIDに対応するコンテンツ情報を検索できた場合、キャッシュ配信サーバ400に映像配信指示パケットを送信することを第1中継制御部220に指示するものである。
【0067】
ここで、映像配信指示パケットは、コンテンツ情報(少なくとも、コンテンツID、受信開始時刻、受信終了時刻、データサイズを含む情報)を含むものである。
【0068】
つまり、所定の時間単位に区分された映像データの受信開始時刻及び受信終了時刻とデータサイズとを、キャッシュ配信サーバ400に認識させることにより、当該所定の時間単位の映像データの配信レートを求めさせることができ、この配信レートで端末500に映像データ(コンテンツ)を配信させることをキャッシュ配信サーバ400に要求できる。
【0069】
配信レート計算部236は、所定の時間単位の映像データの配信レートを計算するものである。配信レート計算部236による配信レートの計算方法は、種々の方法を広く適用することができる。例えば、この実施形態の場合、該当するコンテンツ情報に含まれる、受信開始時刻及び受信終了時刻に基づく当該映像データの受信時間と、当該映像データのデータサイズとに基づいて配信レートを計算する方法を適用する。具体的には、例えば、キャッシュする映像データについて、受信時間が10秒であり、データサイズが20Mbitである場合、配信レート計算部236は2Mbpsと計算する。
【0070】
記憶部(第1キャッシュ)210は、所定の時間単位の映像データのコンテンツ情報を記憶するものである。記憶部210は、例えば、キャッシュメモリ等の書込み/読出しが高速な記憶装置を適用することができる。以下では、記憶部210を第1キャッシュとも呼ぶ。記憶部210は、連携制御部230の指示に従って、所定の時間単位の映像データのコンテンツ情報を書込み又は読出しを行うものである。
【0071】
図4は、記憶部(第1キャッシュ)210に記憶される所定の時間単位の映像データのコンテンツ情報の構成を示す構成図である。
【0072】
図4において、コンテンツ情報は、所定の時間単位の映像データである「コンテンツID610」、「区分ID620」、「受信開始時刻630」、「受信終了時刻640」、「データサイズ650」を項目として有する。
【0073】
例えば、
図4において、「コンテンツID:1」の「区分ID:000000001」は、当該映像データの受信開始時刻が「10:00:00:00(時:分:秒:ミリ秒)」であり、受信終了時刻が「10:00:10:00」であり、この映像データのデータサイズが「10,458,760(バイト)」であることを示す。なお、「コンテンツID:1」の「区分ID:000000002」は、「区分ID:000000001」に続く映像データである。ここで、コンテンツの連続性を保つため、「コンテンツID:1」の「区分ID:000000002」の受信開始時刻は「10:00:10:00」であり、「区分ID:000000001」の受信終了時刻に連続する。
【0074】
なお、キャッシュ制御サーバ200Aは、ネットワーク300を通じて複数のコンテンツ配信サーバ400との間のキャッシュ制御を行うことができる。その場合、各コンテンツ配信サーバ400の識別情報(例えば、IPアドレス)と対応付けて、コンテンツ配信サーバ400毎のコンテンツ情報を管理するようにしてもよい。
【0075】
(A−1−4)キャッシュ配信サーバ400の内部構成
図5は、第1の実施形態のキャッシュ配信サーバ400の内部構成を示す内部構成図である。
図5において、キャッシュ配信サーバ400は、記憶部(第2キャッシュ)410、第2中継制御部420、配信制御部430を有する。
【0076】
第2中継制御部420は、キャッシュ配信サーバ400の中継機能を制御するものである。第2中継制御部420は、端末500からの映像配信要求パケットをネットワーク300に中継する。
【0077】
また、第2中継制御部420は、キャッシュ制御サーバ200Aからネットワーク300を通じて映像データパケットまたは映像配信指示パケット(キャッシュ配信指示パケット)を受信すると、映像データパケットまたは映像配信指示パケットに含まれる情報を配信制御部430に与える。
【0078】
さらに、第2中継制御部420は、配信制御部430の中継指示に従って、キャッシュ制御サーバ200Aから受信した映像データパケットを端末500に中継したり、又は、記憶部410に記憶される映像データを読み出し、読み出した映像データを含む映像データパケットを端末500に中継したりする。
【0079】
配信制御部430は、第2中継制御部220から映像データパケットまたは映像配信指示パケットに含まれる情報を取得し、記憶部410にコンテンツIDと一致するコンテンツ情報の有無を判断し、その判断結果に応じて映像データパケットの配信制御を行うものである。
【0080】
図5に示すように、配信制御部430の主な機能は、中継指示部431、コンテンツ情報保存部432、映像データ保存部433、キャッシュ配信指示部434、コンテンツID検索部435、配信レート取得部436を有する。
【0081】
なお、配信制御部430のハードウェアは、例えば、CPU、ROM、RAM、EEPROM、入出力インタフェース等を有して構成される装置であり、CPUが、ROMに格納される処理プログラムを実行することにより、
図5に例示する機能を実現する。
【0082】
中継指示部431は、キャッシュ制御サーバ200Aから映像データパケットを受信すると、受信した映像データパケットに含まれる映像データを配信することを第2中継制御部420に指示するものである。
【0083】
ここで、映像データパケットは、所定の時間単位で区分した映像データと、コンテンツ情報(少なくとも、コンテンツID、受信開始時刻、受信終了時刻、データサイズを含む情報)とを含むものである。
【0084】
従って、中継指示部431は、当該所定の時間単位で区分した映像データの映像データパケットを、後述する配信レート取得部436により計算された配信レートに従って端末500に向けて配信することを、第2中継制御部420に指示する。例えば、所定の時間単位の映像データの配信レートが2Mbpsである場合、中継指示部431は、当該映像データパケットを2Mbpsで配信するように指示する。
【0085】
コンテンツ情報保存部432は、受信した映像データパケットのコンテンツ情報を記憶部410に記憶するものである。つまり、コンテンツ情報保存部432は、受信した映像データパケットに含まれる、コンテンツID、受信開始時刻、受信終了時刻、データサイズを対応付けて記憶部410に記憶するものである。
【0086】
映像データ保存部433は、受信した映像データパケットに含まれる所定の時間単位の映像データを記憶部410に記憶するものである。また、映像データ保存部433は、記憶部410における所定の時間単位の映像データの記憶位置を、コンテンツ情報に対応付けて記憶部410に記憶する。
【0087】
キャッシュ配信指示部434は、キャッシュ制御サーバ200Aから映像配信指示パケットを受信すると、受信した映像配信指示パケットに含まれるコンテンツIDに基づいて、対応するコンテンツ情報が記憶部410に記憶されているか否かを確認(検索)する。
【0088】
そして、キャッシュ配信指示部434は、コンテンツIDに対応するコンテンツ情報が記憶部410に記憶されている場合、当該コンテンツ情報に対応する所定の時間単位の映像データの記憶位置を第2中継制御部420に与えて、当該映像データを含むパケットを端末500にキャッシュ配信指示するものである。
【0089】
ここで、映像配信指示パケットは、コンテンツ情報(少なくとも、コンテンツID、受信開始時刻、受信終了時刻、データサイズを含む情報)を含むものである。
【0090】
従って、後述する配信レート取得部436は、受信開始時刻及び受信終了時刻とデータサイズに基づいて配信レートを求めることができ、キャッシュ配信指示部434は、コンテンツ情報に対応する所定の時間単位で区分した映像データの映像データパケットを、配信レートに従って端末500に向けて配信することを、第2中継制御部420に指示する。
【0091】
上記のように、中継指示部431及びキャッシュ配信指示部434が、キャッシュ制御サーバ200Aが要求した配信レートで映像データを配信することにより、コンテンツ配信装置100が提供する配信レートに近い配信レートで映像データを転送できる。また、データ量の大きい映像データであっても、第1の実施形態では、所定の時間単位で映像データを区分しているため、遅延等による配信レートの誤差を小さくすることができる。これにより、映像データは安定して配信されるので、映像データの遅延等が軽減され、ユーザはコンテンツ配信装置100が提供する配信レートで映像を視聴できる。
【0092】
配信レート取得部436は、受信した映像データパケット、または、受信した映像配信指示パケットに含まれるコンテンツ情報を構成する受信開始時刻及び受信終了時刻と、データサイズとに基づいて配信レートを計算し、その配信レート情を中継指示部431またはキャッシュ配信指示部434に与えるものである。
【0093】
記憶部(第2キャッシュ)410は、キャッシュ制御サーバ200Aから取得した所定の時間単位の映像データのコンテンツ情報及び映像データを記憶するものである。記憶部410は、例えば、キャッシュメモリ等の書込み/読出しが高速な記憶装置を適用することができる。以下では、記憶部410を第2キャッシュとも呼ぶ。記憶部410は、配信制御部430の指示に従って、所定の時間単位の映像データのコンテンツ情報を書込み又は読出しを行うものである。
【0094】
図6は、記憶部(第2キャッシュ)410に記憶される所定の時間単位の映像データのコンテンツ情報の構成を示す構成図である。
図6において、コンテンツ情報は、所定の時間単位の映像データである「コンテンツID710」、「区分ID」、「送信開始時刻730」、「送信終了時刻740」、「データサイズ750」、「映像データ760」を項目として有する。
【0095】
例えば、
図6において、「コンテンツID710」、「区分ID」、「送信開始時刻730」、「送信終了時刻740」、「データサイズ750」には、キャッシュ制御サーバ200Aから取得した「コンテンツID610」、「区分ID620」、「受信開始時刻630」、「受信終了時刻640」、「データサイズ650」の値が記憶される。
【0096】
また、
図6に示すように、記憶部410には、「コンテンツID710」に対応する「映像データ750」(映像データの記憶位置としてもよい。)が記憶される。従って、キャッシュ配信サーバ400に映像データがキャッシュされている場合には、キャッシュ配信サーバ400は、キャッシュされている映像データ読み出し、映像データを端末500に配信することができる。
【0097】
(A−1−5)端末500の内部構成
図7は、第1の実施形態の端末500の内部構成を示す内部構成図である。
図7において、端末500は、通信制御部510、映像配信要求部520、配信映像再生部530を有する。
【0098】
映像配信要求部520は、ユーザ操作を受けて、コンテンツ配信装置100に対する映像配信要求を行うものである。例えば、映像配信要求部520は、所望のコンテンツのコンテンツIDを含む要求パケットの送信を行う。これにより、コンテンツのアクセス先としてワンタイムURLが払い出されると、映像配信要求部520は、ワンタイムURLにアクセスしてコンテンツの配信要求を行う。
【0099】
通信制御部510は、映像配信要求部520から映像配信要求を受けると、所望コンテンツのコンテンツIDを含むコンテンツ配信装置100宛の映像配信要求パケットを形成し、その映像配信要求パケットを送信するものである。また、通信制御部510は、ワンタイムURLにアクセスして、キャッシュ配信サーバ400から映像データパケットを受信する。通信制御部510は、受信した映像データパケットに含まれる映像データを配信映像再生部530に与える。
【0100】
配信映像再生部530は、通信制御部510から取得した映像データに基づいて映像を再生するものである。
【0101】
(A−2)第1の実施形態の動作
次に、第1の実施形態の映像配信システム1における映像配信処理の動作を、図面を参照しながら詳細に説明する。
【0102】
図8は、端末500が、あるコンテンツについて初めて(第1回目)の映像配信要求を行うときの映像配信処理を示すシーケンス図である。
【0103】
まず、端末500において、映像配信要求部520は、ユーザ操作により視聴を希望するコンテンツの指定を受けて、当該コンテンツのコンテンツIDを取得し、通信制御部510にコンテンツ配信要求を行う。これを受けて、通信制御部510は、コンテンツIDを含むコンテンツ配信要求パケットをコンテンツ配信装置100宛に送信する(S101)。
【0104】
キャッシュ配信サーバ400において、第2中継制御部420は、端末500から送信されたコンテンツ配信要求パケットを受信し、受信したコンテンツ配信要求パケットを、ネットワーク300を介してキャッシュ制御サーバ200Aに中継する(S102)。
【0105】
キャッシュ制御サーバ200Aにおいて、第1中継制御部220は、ネットワーク300を介してコンテンツ配信要求パケットを受信し、受信したコンテンツ要求パケットをコンテンツ配信装置100に中継する(S103)。
【0106】
コンテンツ配信装置100において、配信制御部120は、キャッシュ制御サーバ200Aからのコンテンツ配信要求パケットを受信する。配信制御部120は、コンテンツ配信要求パケットに含まれる情報を解析し、配信要求されるコンテンツのアクセス先であるワンタイムURLを発行する(S104)。
【0107】
このとき、コンテンツ配信装置100では、ワンタイムURLとコンテンツIDとの対応関係を管理するために、蓄積管理部130が、配信制御部120により発行されたワンタイムURLと、コンテンツ配信要求パケットに含まれるコンテンツIDとを対応付けて管理する。
【0108】
コンテンツ配信装置100において、配信制御部120がコンテンツのアクセス先であるワンタイムURLを発行すると、配信制御部120は、発行したワンタイムURLを含む応答パケットを形成し、要求元である端末500宛に応答パケットを送信する(S105)。
【0109】
キャッシュ制御サーバ200Aでは、第1中継制御部220が、コンテンツ配信装置100から受信した応答パケットを、ネットワーク300を介してキャッシュ配信サーバ400に中継する(S106)。
【0110】
また、キャッシュ配信サーバ400では、第2中継制御部420が、ネットワーク300を介して、キャッシュ制御サーバ200Aから受信した応答パケットを端末500に中継する(S107)。
【0111】
端末500では、通信制御部510がコンテンツ配信サーバ400から応答パケットを受信し、映像配信要求部520が応答パケットに含まれるワンタイムURLを取得する。また、映像配信要求部520は、コンテンツの映像データを取得するためにワンタイムURLにアクセスして、コンテンツの配信要求を送信する(S108)。
【0112】
キャッシュ配信サーバ400では、第2中継制御部420が、端末500からのコンテンツ配信要求パケットを、ネットワーク300を介してキャッシュ制御サーバ200Aに中継する(S109)。
【0113】
キャッシュ制御サーバ200Aでは、第1中継制御部220が、ネットワーク300を介して、キャッシュ配信サーバ400から受信したコンテンツ配信要求パケットをコンテンツ配信装置100に中継する(S110)。
【0114】
コンテンツ配信装置100において、配信制御部120は、キャッシュ制御サーバ200Aからのコンテンツ配信要求パケットを受信する。このとき、配信制御部120は、コンテンツ配信要求パケットに含まれるワンタイムURLの正当性を判断する。
【0115】
ワンタイムURLが正当である場合、配信制御部120は、記憶部110からコンテンツの映像データを読み出すために、当該ワンタイムURLに対応するコンテンツの蓄積位置をコンテンツ蓄積管理部130に要求する(S111)。
【0116】
なお、ワンタイムURLが不当である場合には、アクセスが失敗するため、アクセス失敗の旨のメッセージを含む応答パケットを端末500に返信する。これにより、端末500はコンテンツの映像データを取得できない。
【0117】
コンテンツ蓄積管理部130は、コンテンツIDとコンテンツの蓄積位置とを対応付けた情報を管理している。また、上述したように、コンテンツ蓄積管理部130は、配信制御部120が発行した当該コンテンツのワンタイムURLと、当該コンテンツのコンテンツIDとを対応付けた情報も管理している。
【0118】
従って、コンテンツ蓄積管理部130は、配信制御部120からアクセス先であるワンタイムURLを取得することで、ワンタイムURLに対応するコンテンツIDを検索し、その検索したコンテンツIDに対応するコンテンツの蓄積位置を検出することができる。
【0119】
このようにして、検索されたコンテンツの蓄積位置は配信制御部120に与えられ、配信制御部120は、取得したコンテンツの蓄積位置に基づいて記憶部130からコンテンツの映像データを読み出し(S112)、配信制御部120は、例えばRTPに従って、読み出したコンテンツの映像データを含む映像データパケットを配信する(S113)。
【0120】
キャッシュ制御サーバ200Aでは、第1中継制御部220が、コンテンツ配信装置100から配信されたコンテンツの映像データパケットを受信し、当該映像データパケットに含まれる情報を連携制御部230に与える(S114)。
【0121】
連携制御部230は、第1中継制御部220が受信した映像データパケットに含まれているコンテンツIDを抽出し、コンテンツIDに対応するコンテンツ情報が記憶部210に保存されているか否かを判断するため、コンテンツIDをキーとして記憶部210を検索する(S115)。
【0122】
ここでは、第1回目のコンテンツ配信要求の場合であるため、コンテンツIDに対応するコンテンツ情報は記憶部210に記憶されておらず、連携制御部230は、コンテンツIDを検索することができない。従って、連携制御部230は、第1中継制御部220に対して、コンテンツ配信装置100から受信した映像データパケットを中継するように指示する。
【0123】
このとき、連携制御部230は、コンテンツの映像データに係るコンテンツ情報を記憶部210にキャッシュするため、映像データに係るコンテンツ情報を記憶部210に保存する(S116)。
【0124】
まず、連携制御部230は、受信した映像データパケットに含まれる映像データを所定の時間単位(例えば、10秒等とする)で区分し、その区分した映像データの受信開始時刻及び受信終了時刻と、当該区分における映像データのデータサイズとを求める。さらに、連携制御部230は、映像データのコンテンツIDと、各区分した映像データの受信開始時刻及び受信終了時刻と、当該区分における映像データのデータサイズとを対応付けたものをコンテンツ情報として記憶部210に保存する。
【0125】
また、連携制御部230は、上記のようにして所定の時間単位で区分したそれぞれの映像データを含む映像データパケットを形成し、各映像データパケットを、ネットワーク300を介してキャッシュ配信サーバ400に中継する。
【0126】
このとき、連携制御部230は、それぞれの映像データパケットに、所定の時間単位で区分した映像データと、コンテンツ情報(少なくとも、コンテンツID、受信開始時刻、受信終了時刻、データサイズを含むもの)を含ませ、所定の配信レートで配信することを第1中継制御部220に指示する(S117)。
【0127】
つまり、連携制御部230は、第1中継制御部220に対して、所定時間単位の映像データからなる映像データパケットを中継すること(第1の中継指示)、所定の配信レートで当該時間単位の映像データの映像データパケットを中継すること(第2の中継指示)、当該映像データにおける当該時間単位の映像データに係るコンテンツ情報(少なくとも、コンテンツID、受信開始時刻、受信終了時刻、データサイズ)を映像データパケットに挿入すること(第3の中継指示)を指示する。
【0128】
第1中継制御部220は、連携制御部230からの中継指示に従って、コンテンツ配信装置100から受信した映像データパケットを、ネットワークを通じてキャッシュ配信サーバ400に中継する(S118)。
【0129】
キャッシュ配信サーバ400において、第2中継制御部420が映像データパケットを受信する。第2中継制御部420は、受信した映像データパケットに含まれる情報を配信制御部430に与える(S119)。
【0130】
配信制御部430は、第2中継制御部420から映像データパケットに含まれる映像データ及びコンテンツ情報を記憶部410に保存する(S120)。
【0131】
つまり、配信制御部430は、映像データパケットに含まれる所定の時間単位に区分された映像データと、当該映像データのコンテンツ情報とをキャッシュする。具体的に、配信制御部430は、映像データパケットに含まれる情報に基づいて、コンテンツID、所定の時間単位に区分された映像データの送信開始時刻及び送信終了時刻、データサイズ、所定の時間単位の映像データを対応付けて記憶部410に記憶する。
【0132】
次に、配信制御部430は、第2中継制御部420に対して、受信した映像データパケットを端末500に中継することを指示する(S121)。
【0133】
このとき、配信制御部430は、第2中継制御部420に対して、次の2つの事項を指示する。
【0134】
第1に、配信制御部430は、配信レート取得部432が取得した映像データパケットに含まれるコンテンツ情報における受信開始時刻及び受信終了時刻(受信時間)とデータサイズとに基づく配信レートに従って、当該映像データを映像データパケットにて配信するように、第2中継制御部420に指示する。
【0135】
第2に、配信制御部430は、端末500にコンテンツ情報を配信しないようにするため、キャッシュサーバ200から受信した映像データパケットに含まれるコンテンツ情報を削除するように第2中継制御部420に指示する。
【0136】
第2中継制御部420は、配信制御部430からの指示に従って、映像データパケットを端末500の通信制御部510に中継する(S122)。
【0137】
これにより、端末500の通信制御部510は、第2中継制御部420から配信された映像データパケットを受信し、配信映像再生部530が映像を再生する。
【0138】
次に、端末500が同一のコンテンツについて第2回目以降の映像配信を要求するときの映像配信処理を、図面を参照しながら詳細に説明する。
【0139】
図9は、端末500が同一のコンテンツについて第2回目以降の映像配信を要求するときの映像配信処理を示すシーケンス図である。
【0140】
図9において、S201〜S213の処理は、
図8のS101〜S113の処理と同様に行なわれる。
【0141】
なお、第2回目以降の同一コンテンツの配信要求の場合にもコンテンツのアクセス先としワンタイムURLが発行されるが、このワンタイムURLは、第1回目に発行されたものとは異なるものとなる。
【0142】
まず、通信制御部510は、コンテンツIDを含むコンテンツ配信要求パケットをコンテンツ配信装置100宛に送信する(S201)。
【0143】
キャッシュ配信サーバ400において、第2中継制御部420は、端末500から受信されたコンテンツ配信要求パケットを、ネットワーク300を介してキャッシュ制御サーバ200Aに中継する(S202)。
【0144】
キャッシュ制御サーバ200Aにおいて、第1中継制御部220は、ネットワーク300を介して受信したコンテンツ配信要求パケットをコンテンツ配信装置100に中継する(S203)。
【0145】
コンテンツ配信装置100において、配信制御部120は、受信したコンテンツ配信要求パケットに含まれる情報を解析し、配信要求されるコンテンツのアクセス先であるワンタイムURLを発行する(S204)。上述したように、ここで発行されるワンタイムURLは、第1回目に発行されるワンタイムURLとは異なるものである。
【0146】
コンテンツ配信装置100において、配信制御部120は、発行したワンタイムURLを含む応答パケットを形成し、要求元である端末500宛に応答パケットを送信する(S205)。
【0147】
キャッシュ制御サーバ200Aでは、第1中継制御部220が、コンテンツ配信装置100から受信した応答パケットを、ネットワーク300を介してキャッシュ配信サーバ400に中継する(S206)。
【0148】
また、キャッシュ配信サーバ400では、第2中継制御部420が、ネットワーク300を介して、キャッシュ制御サーバ200Aから受信した応答パケットを端末500に中継する(S207)。
【0149】
端末500では、通信制御部510がコンテンツ配信サーバ400から応答パケットを受信し、映像配信要求部520が応答パケットに含まれるワンタイムURLを取得する。また、通信制御部510は、コンテンツの映像データを取得するためにワンタイムURLにアクセスして、コンテンツの配信要求を送信する(S208)。
【0150】
キャッシュ配信サーバ400では、第2中継制御部420が、端末500からのコンテンツ配信要求パケットを、ネットワーク300を介してキャッシュ制御サーバ200Aに中継する(S209)。
【0151】
キャッシュ制御サーバ200Aでは、第1中継制御部220が、ネットワーク300を介して、キャッシュ配信サーバ400から受信したコンテンツ配信要求パケットをコンテンツ配信装置100に中継する(S210)。
【0152】
コンテンツ配信装置100において、配信制御部120は、キャッシュ制御サーバ200Aからのコンテンツ配信要求パケットを受信する。このとき、配信制御部120は、コンテンツ配信要求パケットに含まれるワンタイムURLの正当性を判断する。
【0153】
ワンタイムURLが正当である場合、配信制御部120は、記憶部110からコンテンツの映像データを読み出すために、当該ワンタイムURLに対応するコンテンツの蓄積位置をコンテンツ蓄積管理部130に要求する(S211)。
【0154】
そして、検索されたコンテンツの蓄積位置は配信制御部120に与えられ、配信制御部120は、取得したコンテンツの蓄積位置に基づいて記憶部130からコンテンツの映像データを読み出し(S212)、配信制御部120は、例えばRTPに従って、読み出したコンテンツの映像データを含む映像データパケットを配信する(S213)。
【0155】
キャッシュ制御サーバ200Aでは、第1中継制御部220が、コンテンツ配信装置100から配信されたコンテンツの映像データパケットを受信し、当該映像データパケットに含まれる情報を連携制御部230に与える(S214)。
【0156】
連携制御部230は、第1中継制御部220が受信した映像データパケットに含まれているコンテンツIDを抽出し、コンテンツIDに対応するコンテンツ情報が記憶部210に保存されているか否かを判断するため、コンテンツIDをキーとして記憶部210を検索する(S215)。
【0157】
ここでは、同一のコンテンツについて第2回目のコンテンツ配信要求の場合であるため、コンテンツIDに対応するコンテンツ情報は記憶部210に保存されている。つまり、連携制御部230は、コンテンツIDに対応するコンテンツ情報を検索できる。従って、連携制御部230は、第1中継制御部220に対して、キャッシュ配信を行うことを指示する(S216)。
【0158】
第1中継制御部220は、連携制御部230の指示に従って、コンテンツ情報を含むキャッシュ配信指示パケットを、ネットワーク300を介してキャッシュ配信サーバ400に送信する(S217)。
【0159】
キャッシュ配信サーバ400において、第2中継制御部420がキャッシュ配信指示パケットを受信する。第2中継制御部420は、受信したキャッシュ配信指示パケットに含まれる情報を配信制御部430に与える(S218)。
【0160】
配信制御部430は、受信したキャッシュ配信指示パケットに含まれるコンテンツIDを抽出し、コンテンツIDをキーとして記憶部410の検索を行う(S219)。
【0161】
キーとするコンテンツIDと一致するコンテンツIDが検索されると、配信制御部430は、当該コンテンツIDに対応するコンテンツ情報を記憶部410から読み出す。つまり、配信制御部430は、読み出したコンテンツ情報における送信開始時刻、送信終了時刻、データサイズを取り出す。
【0162】
配信制御部430は、送信開始時刻及び送信終了時刻に基づいて送信時間を求める。また、配信制御部430は、送信時間とデータサイズとに基づいて、当該所定の単位時間の映像データの配信レートを求める。そして、配信制御部430は、当該所定の時間単位の映像データを含む映像データパケットを、算出した配信レートで配信することを第2中継制御部420に要求する(S220)。
【0163】
なお、第1の実施形態では、キャッシュ配信を行う際、キャッシュ配信サーバ400の配信制御部430が、所定の時間単位の映像データの配信レートの算出する場合を例示する。しかし、配信レートの算出は、キャッシュ配信指示を行うキャッシュ制御サーバ200Aが行うようにしても良い。例えば、
図9のS216の際、連携制御部230がコンテンツ情報に基づいて配信レートを算出し、キャッシュ配信指示パケットに算出した配信レートを含めるようにしても良い。これにより、キャッシュ配信サーバ400の配信制御部430は、キャッシュ配信指示パケットに含まれる配信レートを抽出し、その配信レートで、キャッシュしている映像データを含む映像データパケットを配信することを要求するにしても良い。
【0164】
第2中継制御部420は、配信制御部430の指示に従って、記憶部420から映像データを読み出し(S221)、当該映像データを含む映像データパケットを、算出された配信レートで端末500に送信する(S222)。
【0165】
これにより、端末500の通信制御部510は、第2中継制御部420から配信された映像データパケットを受信し、配信映像再生部530が映像を再生する。
【0166】
(A−3)第1の実施形態の効果
以上のように、第1の実施形態によれば、2回目以降のコンテンツ配信において、キャッシュ制御サーバ200Aとキャッシュ配信サーバ400の間に流れるビデオトラフィックを軽減するという効果が得られる。
【0167】
また、第1の実施形態によれば、キャッシュ配信サーバ400から配信されるビデオトラフィックの転送速度もコンテンツ配信装置100から転送された速度に近い転送速度で端末500に配信されるため、映像の視聴に遅れが出ない安定した転送が行うことができるという効果が得られる。
【0168】
さらに、第1の実施形態によれば、コンテンツデータのみを保存することで実現しているため、RTPやHTTPなどコンテンツ配信時のプロトコルに依存することなく同様の効果が得られ、コンテンツ情報を使用しキャッシュしているため視聴するユーザ等のコンテンツ配信要求に含まれるユーザ情報等のコンテンツ情報以外の情報が変わっても同様の効果が得られる。
【0169】
また、第1の実施形態では、ワンタイムURLが異なる場合でも、コンテンツ配信装置100がワンタイムURLの正当性を判断した後、キャッシュ制御サーバ200AがコンテンツIDの検索結果を行い、その検索結果に応じてキャッシュ配信を行うか否かを判断する。つまり、コンテンツのアクセス先にワンタイムURLが利用される場合でも、キャッシュ配信を実現することができる。
【0170】
(B)第2の実施形態
次に、本発明の映像配信装置、映像配信プログラム、映像配信方法
及び映像配信システ
ムの第2の実施形態を、図面を参照しながら詳細に説明する。
【0171】
(B−1)第2の実施形態の構成
第2の実施形態は、キャッシュ制御サーバの構成要素が第1の実施形態と異なり、コンテンツ配信装置、コンテンツ配信サーバ及び端末は第1の実施形態と同一又は対応するものを適用することができる。
【0172】
そこで、以下では、第2の実施形態に特有のキャッシュ制御サーバの処理を中心に詳細に説明するものとし、キャッシュ制御サーバ200Bとして説明するものとする。
【0173】
図10は、第2の実施形態のキャッシュ制御サーバ200Bの内部構成を示す内部構成図である。なお、説明を容易にするため、第1の実施形態と対応する構成要素には同一の符号を付して示している。
【0174】
図10において、第2の実施形態のキャッシュ制御サーバ200Bは、記憶部(第1キャッシュ)210、第1中継制御部220、連携制御部230を有する。
【0175】
第2の実施形態のキャッシュ制御サーバ200Bは、連携制御部230の処理が第1の実施形態と異なる。そこで、以下では、第2の実施形態の連携制御部230の構成を詳細に説明する。
【0176】
第2の実施形態の連携制御部230は、第1の実施形態と同様に、映像データのコンテンツIDに対応するキャッシュの有無を判断し、その判断結果に基づいて、映像データのキャッシュ配信を行うか否かを制御するものである。
【0177】
さらに、第2の実施形態の連携制御部230は、端末500が要求するコンテンツのコンテンツIDと、コンテンツ配信装置100が発行したワンタイムURLとを対応付けて管理するものである。これにより、ワンタイムURLが有効な期間において、端末500がワンタイムURLへのアクセスがある場合に、ワンタイムURLに対応するコンテンツの映像データをキャッシュ配信させることができる。
【0178】
連携制御部230は、
図10に示すように、主な機能として、コンテンツID検索部231、中継指示部232、区分映像データ作成部233、コンテンツ情報保存部234、キャッシュ配信要求部235、配信レート計算部236、URL−コンテンツID対応管理部237を有する。
【0179】
コンテンツID検索部231、中継指示部232、区分映像データ作成部233、コンテンツ情報保存部234、キャッシュ配信要求部235、配信レート計算部236は、第1の実施形態と同様の処理を行うものである。
【0180】
URL−コンテンツID対応管理部237は、第1中継制御部から映像配信要求パケットに含まれる情報を受け取り、映像配信要求パケットに含まれるコンテンツID(すなわち、端末500が映像配信を要求するコンテンツのコンテンツID)を記憶部210に保持するものである。
【0181】
また、URL−コンテンツID対応管理部237は、第1中継制御部から、コンテンツ配信装置100が送信する映像配信要求パケットに対する応答パケットに含まれる情報を受け取る。この応答パケットには、コンテンツ配信装置100が発行したワンタイムURLが含まれている。URL−コンテンツID対応管理部237は、応答パケットに含まれるワンタイムURLと、映像配信要求パケットに含まれるコンテンツIDとを対応させた情報(URL−コンテンツID対応テーブル)を記憶部210に記憶する。
【0182】
映像配信の要求を行う際、端末500とコンテンツ配信装置100との間には、セッションが確立している。つまり、映像配信要求パケット及びその応答パケットにはセッションIDが含まれているため、URL−コンテンツID対応管理部237は、パケットに含まれるセッションIDに基づいて、端末500とコンテンツ配信装置100との間の情報通信であることを認識できる。
【0183】
そこで、URL−コンテンツID対応管理部237は、端末500とコンテンツ配信装置100との間でなされる映像配信要求パケットに含まれるコンテンツIDと、その応答パケットに含まれるワンタイムURLとを対応付けて管理することができる。
【0184】
また、第1中継制御部220が、ワンタイムURLへのアクセスする映像配信要求パケットを受信すると、その映像配信要求パケットに含まれる情報を連携制御部230に与える。
【0185】
このとき、URL−コンテンツID対応管理部237は、記憶部210のURL−コンテンツID対応テーブルを参照して、映像配信パケットに含まれるワンタイムURLを検索する。
【0186】
ワンタイムURLが検索された場合、URL−コンテンツID対応管理部237は、ワンタイムULRの正当性を判断し、ワンタイムURLが正当である場合、ワンタイムURLに対応するコンテンツIDを取得する。そして、コンテンツIDに対応するコンテンツ情報がキャッシュされているか否かを判断するために、URL−コンテンツID対応管理部237は、取得したコンテンツIDをコンテンツID検索部231に与える。また、コンテンツID検索部231は、第1の実施形態と同様にしてコンテンツIDの検索を行い、コンテンツIDを検索できた場合、キャッシュ配信要求部235は、第1中継制御部220に対してキャッシュ配信指示を行う。
【0187】
これにより、ワンタイムURLが正当であり、コンテンツIDに対応するコンテンツ情報がキャッシュされている場合に、コンテンツの映像データのキャッシュ配信を実現させることができる。また、ワンタイムURLが有効である期間であれば、コンテンツ配信装置100のコンテンツ配信処理を行うことなく、迅速に端末500に対してコンテンツ配信を行うことができる。
【0188】
ここで、ワンタイムURLは、URLにセッションIDや時刻情報等が付与されたものである。従って、URL−コンテンツID対応管理部237は、セッションID及び時刻情報等に基づいて、端末500がアクセスしたワンタイムURLの正当性を判断することができる。
【0189】
(B−2)第2の実施形態の動作
次に、第2の実施形態の映像配信システム1における映像配信処理の動作を、図面を参照しながら詳細に説明する。
【0190】
図11は、端末500が、あるコンテンツについて初めて(第1回目)の映像配信要求を行うときの映像配信処理を示すシーケンス図である。
図11において、第1の実施形態で説明した
図8の処理と対応する処理については同一の符号を付している。
【0191】
まず、端末500は、第1の実施形態と同様に、コンテンツIDを含むコンテンツ配信要求パケットをコンテンツ配信装置100に送信する(S101)。キャッシュ配信サーバ400は、端末500から受信したコンテンツ配信要求パケットを、ネットワーク300を介してキャッシュ制御サーバ200Bに中継する(S102)。
【0192】
キャッシュ制御サーバ200Bにおいて、第1中継制御部220は、ネットワーク300を通じてキャッシュ配信サーバ400からのコンテンツ配信要求パケットを受信する。このとき、第1中継制御部220は、受信したコンテンツ配信要求パケットに含まれる情報を連携制御部230に与え、連携制御部230は、コンテンツ配信要求パケットに含まれるコンテンツIDを取得する(S301)。例えば、連携制御部230は、端末500とコンテンツ配信装置100との間のセッションIDを判断して、セッションIDにコンテンツIDを対応付けて記憶しておく。
【0193】
また、第1中継制御部220は、受信したコンテンツ配信要求パケットをコンテンツ配信装置100に中継する(S103)。
【0194】
コンテンツ配信装置100において、配信制御部120は、第1の実施形態と同様に、キャッシュ制御サーバ200Bからのコンテンツ配信要求パケットを受信する。配信制御部120は、コンテンツ配信要求パケットに含まれる情報を解析し、配信要求されるコンテンツのアクセス先であるワンタイムURLを発行し(S104)、ワンタイムURLを含む応答パケットを端末500宛に送信する(S105)。
【0195】
キャッシュ制御サーバ200Bでは、第1中継制御部220が、コンテンツ配信装置100からのコンテンツ配信要求パケットに対する応答パケットを受信すると、その受信した応答パケットに含まれる情報を連携制御部230に与える。そして、連携制御部230は、セッションIDに基づいて、ワンタイムURLとコンテンツIDとを対応付けたURL−コンテンツID対応テーブルを作成して記憶部210に記憶する(S302)。
【0196】
また、第1中継制御部220は、受信したコンテンツ配信要求パケットに対する応答パケットを、ネットワーク300を介してキャッシュ配信サーバ400に中継する(S106)。さらに、キャッシュ配信サーバ400は、受信したコンテンツ配信要求パケットに対する応答パケットを端末500に中継する(S107)。
【0197】
これにより、端末500は、コンテンツのアクセス先であるワンタイムURLを取得することができ、第1の実施形態と同様に、ワンタイムURLにアクセスすることでコンテンツの映像データを取得することができる。
図11のS108以降の処理は、第1の実施形態と同様であるため、ここでの詳細な説明は省略する。
【0198】
次に、端末500が、同一のコンテンツについて第2回目以降の配信要求を行う場合であり、端末500がワンタイムURLにアクセスする場合の映像配信処理の動作を、図面を参照して詳細に説明する。
【0199】
図12は、端末500が、同一のコンテンツについて第2回目以降の配信要求を行う場合であり、端末500がワンタイムURLにアクセスする場合の映像配信処理を示すシーケンス図である。
【0200】
なお、ここでは、説明を容易にするため、ワンタイムURLが有効な期間に、端末500が同一コンテンツについて第2回目以降の映像配信要求を行う場合を例示する。
【0201】
端末500は、
図11のS101〜S107の処理により、ワンタイムURLを取得している。端末500において、通信制御部510は、コンテンツの映像データを取得するためにワンタイムURLにアクセスして、コンテンツの配信要求を送信する(S401)。
【0202】
キャッシュ配信サーバ400では、第2中継制御部420が、端末500からのコンテンツ配信要求パケットを、ネットワーク300を介してキャッシュ制御サーバ200Bに中継する(S402)。
【0203】
キャッシュ制御サーバ200Bでは、第1中継制御部220が、キャッシュ配信サーバ400から受信したコンテンツ配信要求パケットに含まれる情報を連携制御部230に与える(S403)。連携制御部230は、コンテンツ配信要求パケットに含まれるワンタイムURLを抽出し、ワンタイムURLに付されているセッションIDや時刻情報等に基づいて、当該ワンタイムURLの正当性を判断する。
【0204】
そして、ワンタイムURLが正当である場合、連携制御部230は、記憶部210のURL−コンテンツID対応テーブルを参照して、ワンタイムURLを検索する(S404)。これにより、ワンタイムURLに対応するコンテンツIDを取得することができる。
【0205】
なお、ワンタイムURLが不当である場合、連携制御部230は、ワンタイムURLが不当である旨のメッセージを含む応答パケットを端末500に送信することを、第1中継制御部220に指示する。これにより、端末500はコンテンツの映像データを取得できない。
【0206】
次に、連携制御部230は、ワンタイムURLに対応するコンテンツIDに基づいて、コンテンツIDに対応するコンテンツ情報が記憶部210に保存されているか否かを判断するため、コンテンツIDをキーとして記憶部210を検索する(S215)。
【0207】
ここでは、ワンタイムURLが有効なものであり、同一のコンテンツについて第2回目のコンテンツ配信要求の場合であるため、コンテンツIDに対応するコンテンツ情報は記憶部210に保存されている。つまり、連携制御部230は、コンテンツIDに対応するコンテンツ情報を検索できる。従って、連携制御部230は、第1中継制御部220に対して、キャッシュ配信を行うことを指示する(S216)。
【0208】
そして、第1中継制御部220は、連携制御部230の指示に従って、第1の実施形態と同様にして、コンテンツ情報を含むキャッシュ配信指示パケットを、ネットワーク300を介してキャッシュ配信サーバ400に送信する(S217)。なお、
図12のS218以降の処理は、第1の実施形態と同様であるため、ここでの詳細な説明は省略する。
【0209】
(B−3)第2の実施形態の効果
以上のように、第2の実施形態によれば、第1の実施形態の効果に加えて、キャッシュ制御サーバ200Bが、ワンタイムURLとコンテンツIDとを対応付けたURL−コンテンツID対応テーブルを保持し、ワンタイムURLの正当性を判断することにより、コンテンツの映像データのキャッシュ配信を実現させることができる。
【0210】
また、第2の実施形態によれば、ワンタイムURLが有効である期間であれば、コンテンツ配信装置100のコンテンツ配信処理を行うことなく、迅速に端末500に対してコンテンツ配信を行うことができる。
【0211】
(C)他の実施形態
上述した第1及び第2の実施形態においても種々の変形実施形態について説明したが、本発明は、以下の変形実施形態も適用することができる。
【0212】
(1)上述した第1及び第2の実施形態では、キャッシュ配信時の配信レートの算出については、キャッシュ配信サーバ400が行う場合を例示したが、キャッシュ制御サーバ200Aの連携制御部230が行うようにし、連携制御部230が算出した配信レートを映像データパケットに付与して、キャッシュ配信サーバ400に与えるようにしても同様の効果が得られる。
【0213】
(2)上述した第1及び第2の実施形態では、キャッシュ制御サーバ200及びキャッシュ配信サーバ400が、コンテンツ情報において、配信レートの計算に使用する受信開始時刻、受信終了時刻、サイズサイズを保存する場合を例示したが、所定の時間単位で区分した映像データの配信レートを対応付けて保存することでも同様の効果が得られる。
【0214】
(3)第1及び第2の実施形態では、キャッシュ制御サーバ200、キャッシュ配信サーバ400が、キャッシュする所定の単位を時間単位で行なっていたが、受信サイズやビデオデータのPES単位、フレーム単位、GOP単位など映像データの区切りにするなど、他の単位で行うことでも同様の効果が得られる。
【0215】
(4)第1及び第2の実施形態では、キャッシュ制御サーバ200は、コンテンツの映像データを保存しないで、映像データに係るコンテンツ情報をキャッシュする場合を例示した。しかし、キャッシュ制御サーバ200が、コンテンツの映像データを保存するようにしても同様の効果が得られる。
【0216】
(5)第1及び第2の実施形態では、同一の1台の端末500からコンテンツ配信要求を行う場合を例示したが、別の端末がコンテンツ配信要求を行うようにしても同様の効果が得られる。
【0217】
(6)第1及び第2の実施形態では、キャッシュ配信サーバ400が1台の場合を例示したが、複数台設置しても同様の効果が得られる。