(57)【要約】【課題】データ送信におけるネットワーク負荷を平準化させること。【解決手段】データ送信装置は、ネットワークを介して受信される、データの第一の送信要求の受信に応じ、前記データをネットワークを介して取得する取得部と、取得されたデータを前記第一の送信要求元に送信する送信部と、取得されたデータを記憶する記憶部と、前記データの途中からの一部分を前記記憶部より削除する削除部とを有し、前記取得部は、前記データの第二の送信要求に応じ、前記データの全部を取得する場合より遅い速度で、前記一部分を前記ネットワークを介して取得し、前記送信部は、前記第二の送信要求に応じ、前記データの前記一部分を除く残存部分に続いて、前記取得部によって取得される前記一部分を、前記第二の送信要求元に送信する。【選択図】図３
2014085822.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して受信される、データの第一の送信要求の受信に応じ、前記データをネットワークを介して取得する取得部と、
取得されたデータを前記第一の送信要求元に送信する送信部と、
取得されたデータを記憶する記憶部と、
前記データの途中からの一部分を前記記憶部より削除する削除部とを有し、
前記取得部は、前記データの第二の送信要求に応じ、前記データの全部を取得する場合より遅い速度で、前記一部分を前記ネットワークを介して取得し、
前記送信部は、前記第二の送信要求に応じ、前記データの前記一部分を除く残存部分に続いて、前記取得部によって取得される前記一部分を、前記第二の送信要求元に送信するデータ送信装置。
【請求項２】
前記取得部は、前記第二の送信要求に応じ、前記送信部による前記第二の送信要求元への前記一部分の送信が、前記残存部分の送信に対して遅延しないように、前記一部分を前記ネットワークを介して取得する請求項１記載のデータ送信装置。
【請求項３】
前記取得部は、前記第二の送信要求に応じ、前記データの全部を取得する場合の速度に、前記データの全部に対する前記一部分の割合を乗じることにより得られる値以上の速度で、前記一部分を前記ネットワークを介して取得する請求項２記載のデータ送信装置。
【請求項４】
前記取得部は、前記第二の送信要求に応じ、前記データの再生時のビットレートに、前記データの全部に対する前記一部分の割合を乗じることにより得られる値以上の速度で、前記一部分を前記ネットワークを介して取得する請求項２記載のデータ送信装置。
【請求項５】
データを記憶するデータ記憶装置と、前記データ記憶装置にネットワークを介して接続するデータ送信装置とを含むデータ送信システムであって、
前記データ送信装置は、
ネットワークを介して受信される、データの第一の送信要求の受信に応じ、前記データを前記データ記憶装置より取得する取得部と、
取得されたデータを前記第一の送信要求元に送信する送信部と、
取得されたデータを記憶する記憶部と、
前記データの途中からの一部分を前記記憶部より削除する削除部とを有し、
前記取得部は、前記データの第二の送信要求に応じ、前記データの全部を取得する場合より遅い速度で、前記一部分を前記データ記憶装置より取得し、
前記送信部は、前記第二の送信要求に応じ、前記データの前記一部分を除く残存部分に続いて、前記取得部によって取得される前記一部分を、前記第二の送信要求元に送信するデータ送信システム。
【請求項６】
ネットワークを介して受信される、データの第一の送信要求の受信に応じ、前記データをネットワークを介して取得し、
取得されたデータを前記第一の送信要求元に送信し、
取得されたデータを記憶部に記憶し、
前記データの途中からの一部分を前記記憶部より削除し、
前記データの第二の送信要求に応じ、前記データの全部を取得する場合より遅い速度で、前記一部分を前記ネットワークを介して取得し、
前記データの前記第二の送信要求に応じ、前記データの前記一部分を除く残存部分に続いて、前記取得部によって取得される前記一部分を、前記第二の送信要求元に送信する処理をコンピュータが実行するデータ送信方法。
【請求項７】
ネットワークを介して受信される、データの第一の送信要求の受信に応じ、前記データをネットワークを介して取得し、
取得されたデータを前記第一の送信要求元に送信し、
取得されたデータを記憶部に記憶し、
前記データの途中からの一部分を前記記憶部より削除し、
前記データの第二の送信要求に応じ、前記データの全部を取得する場合より遅い速度で、前記一部分を前記ネットワークを介して取得し、
前記データの前記第二の送信要求に応じ、前記データの前記一部分を除く残存部分に続いて、前記取得部によって取得される前記一部分を、前記第二の送信要求元に送信する処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ送信装置、データ送信システム、データ送信方法、及びプログラム
に関する。
【背景技術】
【０００２】
例えば、映像コンテンツ等の配信システムにおいては、全てのコンテンツを一元的に管理するセンタサーバと、視聴端末の近くに分散されて配置されるエッジサーバとを含むものが有る。
【０００３】
エッジサーバは、視聴端末から直接的にアクセスされ、視聴対象のコンテンツをセンタサーバより取得し、視聴端末へ配信する。エッジサーバは、また、視聴されたコンテンツをキャッシュする機能を有する。したがって、視聴対象のコンテンツがキャッシュされている場合、エッジサーバは、キャッシュされているコンテンツを配信する。そうすることで、視聴端末に対する応答性の向上や、センタサーバとエッジサーバとの間のネットワーク負荷の低減等を図ることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−３１３９１９号公報
【特許文献２】特開２００７−６１４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、エッジサーバにおけるキャッシュの容量は限られているため、一般的に、エッジサーバは、全てのコンテンツをキャッシュすることはできない。そのため、所定のアルゴリズムによって、キャッシュされているデータの削除が行われる。したがって、エッジサーバにおいては、キャッシュのミスヒットが発生する。
【０００６】
エッジサーバにおけるキャッシュのヒット率は、センタサーバとエッジサーバとの間のネットワーク負荷に大きく影響する。複数のエッジサーバにおいてほぼ同時にミスヒットが発生した場合、エッジサーバからセンタサーバに対するアクセスが集中し、センタサーバとエッジサーバとの間のネットワークが帯域不足になる可能性がある。
【０００７】
そこで、一側面では、データ送信におけるネットワーク負荷を平準化させることを目的とする。
【課題を解決するための手段】
【０００８】
一つの案では、データ送信装置は、ネットワークを介して受信される、データの第一の送信要求の受信に応じ、前記データをネットワークを介して取得する取得部と、取得されたデータを前記第一の送信要求元に送信する送信部と、取得されたデータを記憶する記憶部と、前記データの途中からの一部分を前記記憶部より削除する削除部とを有し、前記取得部は、前記データの第二の送信要求に応じ、前記データの全部を取得する場合より遅い速度で、前記一部分を前記ネットワークを介して取得し、前記送信部は、前記第二の送信要求に応じ、前記データの前記一部分を除く残存部分に続いて、前記取得部によって取得される前記一部分を、前記第二の送信要求元に送信する。
【発明の効果】
【０００９】
一態様によれば、データ送信におけるネットワーク負荷を平準化させることができる。
【図面の簡単な説明】
【００１０】
【図１】本実施の形態における配信システムの構成例を示す図である。
【図２】本実施の形態におけるエッジサーバのハードウェア構成例を示す図である。
【図３】本実施の形態におけるエッジサーバの機能構成例を示す図である。
【図４】本実施の形態におけるセンタサーバの機能構成例を示す図である。
【図５】エッジサーバが実行する処理手順の一例を説明するためのフローチャートである。
【図６】キャッシュ管理情報記憶部の構成例を示す図である。
【図７】キャッシュデータ削除処理の処理手順の一例を説明するためのフローチャートである。
【図８】センタサーバが実行する処理手順の一例を説明するためのフローチャートである。
【図９】本実施の形態におけるエッジサーバの第二の機能構成例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本実施の形態における配信システムの構成例を示す図である。図１において、配信システム１は、センタサーバ２０と、複数のエッジサーバ１０とを含む。センタサーバ２０と各エッジサーバ１０とは、例えば、インターネット等のネットワークＮ１を介して通信可能とされている。
【００１２】
センタサーバ２０は、配信対象とされる全てのコンテンツを一元的に管理するコンピュータである。
【００１３】
エッジサーバ１０は、センタサーバ２０に対する負荷を分散するために配置されるコンピュータである。エッジサーバ１０は、コンテンツの視聴に利用される端末３０と、例えば、インターネット等のネットワークN２を介して接続され、端末３０に対するコンテンツの配信の中継を行う。エッジサーバ１０は、中継されたコンテンツをキャッシュしておく。端末３０からの配信要求に係るコンテンツが、キャッシュされている場合、エッジサーバ１０は、キャッシュされているコンテンツを、端末３０に配信する。
【００１４】
エッジサーバ１０は、所定のアルゴリズムに基づいて、キャッシュされているコンテンツの削除を行う。すなわち、キャッシュするコンテンツの入れ替えを行う。所定のアルゴリズムとしては、ＬＲＵ（Least Recently Used）法等、公知のアルゴリズムが用いられてもよい。
【００１５】
但し、エッジサーバ１０は、削除対象とされたコンテンツの全部は削除せずに、当該コンテンツの終端からの一部分を削除する。以下、削除された部分を「欠落部」といい、残された部分を、「残存部」という。部分削除が行われたコンテンツの配信が端末３０から要求された場合、エッジサーバ１０は、当該コンテンツの残存部の配信と並行して、コンテンツサーバから欠落部を取得する（配信を受ける）。この際、エッジサーバ１０は、残存部の配信に対して遅延が生じない範囲で、欠落部の取得速度を、コンテンツの全部を取得する場合の取得速度、又は端末３０に対する残存部の送信速度より低下させて、欠落部をセンタサーバ２０より取得する。そうすることで、端末３０に対するコンテンツの送信速度（帯域）を一定に保ちつつ、エッジサーバ１０とセンタサーバ２０との間のネットワークＮ１の負荷を平準化することができる。なお、「残存部の配信に対して遅延が生じない」状態とは、残存部との間に区切りが無い状態で、残存部に続けて欠落部が配信される状態をいう。すなわち、配信要求の受信時にコンテンツの全部がエッジサーバ１０に存在している状態における送信速度で、残存部及び欠落部を配信可能な状態をいう。
【００１６】
なお、取得速度や送信速度等の「速度」とは、単位時間あたりのデータの転送量をいう。すなわち、速度とは、データ送信に関するビットレート又は帯域と同義である。
【００１７】
端末３０は、コンテンツを再生可能な装置であれば、所定の装置に限定されない。例えば、ＰＣ（Personal Computer）、携帯電話、スマートフォン、又はタブレット型端末等が、端末３０として利用されてもよい。
【００１８】
なお、本実施の形態において配信対象とされるコンテンツは、映像（動画）データや音声データ等、所定のビットレート（単位時間当たりの再生サイズ）で再生されるデータが好適である。また、配信形式は、ストリーミング形式が好適である。ストリーミング形式の場合、コンテンツ自体のビットレートに従った速度で、コンテンツの配信が行われてもよい。但し、静止画像データや、その他の形式のデータが、一般的なダウンロードの形式で配信される場合について、本実施の形態が適用されてもよい。
【００１９】
なお、本実施の形態では、コンテンツの再生に関するビットレートと、コンテンツの送信に関するビットレートとの混同を避けるため、後者については、「速度」という用語を用いる。
【００２０】
図２は、本実施の形態におけるエッジサーバのハードウェア構成例を示す図である。図２のエッジサーバ１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。
【００２１】
エッジサーバ１０での処理を実現するプログラムは、記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００２２】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従ってエッジサーバ１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００２３】
なお、記録媒体１０１の一例としては、ＣＤ−ＲＯＭ、ＤＶＤディスク、又はＵＳＢメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置１０２の一例としては、ＨＤＤ（Hard Disk Drive）又はフラッシュメモリ等が挙げられる。記録媒体１０１及び補助記憶装置１０２のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【００２４】
なお、センタサーバ２０についても、図２に示されるハードウェアを有していてもよい。
【００２５】
図３は、本実施の形態におけるエッジサーバの機能構成例を示す図である。図３において、エッジサーバ１０は、端末側通信部１１、センタ側通信部１２、キャッシュ部１３、キャッシュ管理部１４、ビットレート判定部１５、送信速度計算部１６、及び欠落率算出部１７等を有する。これら各部は、エッジサーバ１０にインストールされたプログラムが、ＣＰＵ１０４に実行させる処理により実現される。エッジサーバ１０は、また、キャッシュ管理情報記憶部１８を有する。キャッシュ管理情報記憶部１８、及びキャッシュ部１３内のキャッシュ記憶部１３３は、例えば、補助記憶装置１０２等を用いて実現可能である。
【００２６】
端末側通信部１１は、端末３０との通信を制御する。端末側通信部１１は、要求受信部１１１、データ送信部１１２、及び帯域制御部１１３等を含む。要求受信部１１１は、端末３０からのコンテンツの配信要求を受信する。データ送信部１１２は、配信要求に係るコンテンツについて、端末３０への送信を行う。帯域制御部１１３は、コンテンツの再生が適切に行われるように、コンテンツの送信速度（配信帯域）を制御する。
【００２７】
センタ側通信部１２は、要求送信部１２１及びデータ受信部１２２等を含む。要求送信部１２１は、コンテンツの取得要求を、センタサーバ２０に送信する。終端からの一部分が削除されたコンテンツについては、当該一部分の取得が要求される。データ受信部１２２は、コンテンツの取得要求に応じてセンタサーバ２０より返信されるコンテンツを受信する。
【００２８】
キャッシュ部１３は、センタサーバ２０より受信されたコンテンツ（すなわち、過去に端末３０に配信されたコンテンツ）をキャッシュする。キャッシュ部１３は、読込部１３１、書込部１３２、及びキャッシュ記憶部１３３等を含む。キャッシュ記憶部１３３は、キャッシュ対象のコンテンツを記憶する。読込部１３１は、キャッシュ記憶部１３３からコンテンツを読み込む。書込部１３２は、キャッシュ記憶部１３３に対してコンテンツを書き込む。
【００２９】
キャッシュ管理部１４は、キャッシュされたコンテンツの管理を行う。キャッシュ管理部１４は、削除対象選択部１４１及び削除部１４２等を含む。削除対象選択部１４１は、キャッシュ記憶部１３３に記憶されているコンテンツのアクセス状況（利用状況）に基づいて、削除対象とするコンテンツを選択する。削除部１４２は、削除対象選択部１４１によって選択されたコンテンツの残存部の終端（以下、「現終端」という。）からの一部分を削除する。削除が行われていないコンテンツであれば、コンテンツの全部が残存部ある。なお、コンテンツの全部の終端を、以下、「本来の終端」という。
【００３０】
キャッシュ管理情報記憶部１８は、キャッシュ記憶部１３３に記憶された各コンテンツの属性情報を記憶する。属性情報には、アクセス状況を示す情報も含まれる。
【００３１】
ビットレート判定部１５は、端末３０からの配信要求に係るコンテンツのビットレート（単位時間あたりの再生データ量）を判定する。ビットレートは、例えば、コンテンツ内に記録されている情報に基づいて判定されてもよい。
【００３２】
送信速度計算部１６は、端末３０に対するコンテンツの送信速度を計算する。例えば、コンテンツのビットレートが、当該コンテンツの送信速度とされてもよい。または、ネットワークＮ２の帯域の変化に応じたコンテンツの再生の遅延を回避するため、コンテンツのビットレートに対して１．０を超える係数が乗じられた値が、当該コンテンツの送信速度とされてもよい。
【００３３】
欠落率算出部１７は、配信要求に係るコンテンツについて、当該コンテンツの全部に対する欠落部の割合（以下、「欠落率」という。）を算出する。なお、欠落率は、要求送信部１２１からの、センタサーバ２０に対するコンテンツの取得要求に指定される。但し、キャッシュされていないコンテンツについて、欠落率は指定されない。又は、キャッシュされていないコンテンツについては、欠落率として、１．０（１００％）が指定されてもよい。
【００３４】
図４は、本実施の形態におけるセンタサーバの機能構成例を示す図である。図４において、センタサーバ２０は、通信処理部２１、読込部２２、欠落率判定部２３、ビットレート判定部２４、及び送信速度計算部２５等を有する。これら各部は、センタサーバ２０にインストールされたプログラムが、センタサーバ２０のＣＰＵに実行させる処理により実現される。センタサーバ２０は、また、コンテンツ記憶部２６を有する。コンテンツ記憶部２６は、例えば、センタサーバ２０が有する補助記憶装置を用いて実現可能である。
【００３５】
通信処理部２１は、エッジサーバ１０との通信を制御する。通信処理部２１は、要求受信部２１１、データ送信部２１２、及び帯域制御部２１３等を含む。要求受信部２１１は、エッジサーバ１０からのコンテンツの取得要求を受信する。データ送信部２１２は、要求されたコンテンツをエッジサーバ１０に送信する。帯域制御部２１３は、データ送信部２１２によるコンテンツの送信速度を制御する。
【００３６】
読込部２２は、データ送信部２１２がエッジサーバ１０に送信するコンテンツをコンテンツ記憶部２６より読み込む。コンテンツ記憶部２６は、各コンテンツを記憶する。
【００３７】
ビットレート判定部２４は、エッジサーバ１０からの取得要求に係るコンテンツのビットレートを判定する。
【００３８】
送信速度計算部２５は、エッジサーバ１０に対するコンテンツの送信速度を計算する。具体的には、送信速度計算部２５は、コンテンツの全部をエッジサーバ１０に送信する場合の送信速度に対し、当該コンテンツの欠落率を乗じた値を、エッジサーバ１０に対するコンテンツの送信速度とする。本実施の形態では、コンテンツの全部をエッジサーバ１０に送信する場合の送信速度は、当該コンテンツに関してビットレート判定部２４によって判定されるビットレートに基づく。例えば、当該ビットレートに対して１．０以上の所定の係数を乗じた結果が、コンテンツの全部をエッジサーバ１０に送信する場合の送信速度とされてもよい。
【００３９】
以下、エッジサーバ１０及びセンタサーバ２０のそれぞれが実行する処理手順について説明する。図５は、エッジサーバが実行する処理手順の一例を説明するためのフローチャートである。
【００４０】
ステップＳ１０１において、要求受信部１１１は、コンテンツの配信要求を端末３０から受信する。コンテンツの配信要求には、コンテンツ名が指定されている。コンテンツの配信要求の受信に応じ、読込部１３１は、キャッシュ記憶部１３３を参照して、当該配信要求に指定されたコンテンツ名に係るコンテンツ（以下、「対象コンテンツ」という。）のキャッシュデータの有無を判定する（Ｓ１０２）。キャッシュデータの有無とは、対象コンテンツの少なくとも一部がキャッシュ記憶部１３３に記憶されているか否かをいう。
【００４１】
キャッシュデータが無い場合（Ｓ１０２でＮｏ）、要求送信部１２１は、欠落率を指定しないで、対象コンテンツの取得要求を、センタサーバ２０に送信する（Ｓ１０３）。当該取得要求には、対象コンテンツのコンテンツ名が指定される。
【００４２】
当該取得要求に応じてセンタサーバ２０より返信された対象コンテンツの一部のデータがデータ受信部１２２によって受信されると（Ｓ１０４）、キャッシュ管理部１４は、キャッシュデータ削除処理を実行する（Ｓ１０５）。キャッシュデータ削除処理の詳細については後述されるが、キャッシュデータ削除処理によって、必要に応じて、キャッシュデータが削除され、キャッシュ記憶部１３３に空き容量が確保される。
【００４３】
続いて、書込部１３２は、受信されたデータをキャッシュ記憶部１３３に書き込む（Ｓ１０６）。具体的には、例えば、対象コンテンツのファイルがキャッシュ記憶部１３３に生成され、当該ファイルに受信されたデータが書き込まれる。
【００４４】
続いて、データ送信部１１２は、受信されたデータを端末３０に送信する（Ｓ１０７）。この際、ビットレート判定部１５によって、対象コンテンツのビットレートが判定される。送信速度計算部１６は、ビットレート判定部１５によって判定されたビットレートに対して、１．０以上の所定の係数を乗じた値を送信速度として算出する。帯域制御部１１３は、データ送信部１１２によるデータの送信速度を、算出された送信速度に維持されるように制御する。なお、帯域制御部１１３による送信速度の制御方法については、例えば、特開２０１０−２３２８３２号公報に記載されている方法等、公知の方法が用いられてもよい。
【００４５】
なお、対象コンテンツのビットレートは、対象コンテンツのヘッダ部等に記録されている情報に基づいて判定されてもよい。
【００４６】
上記ステップＳ１０４〜Ｓ１０７は、対象コンテンツの全部が端末３０に送信されるまで繰り返される（Ｓ１０８）。すなわち、センタサーバ２０からの対象コンテンツの受信と、端末３０への対象コンテンツの送信とは、並列的に行われる。対象コンテンツの全部が端末３０に送信されると、書込部１３２は、キャッシュ管理情報記憶部１８に対して、新たにキャッシュされたコンテンツに関するキャッシュ管理情報を登録する（Ｓ１０９）。
【００４７】
図６は、キャッシュ管理情報記憶部の構成例を示す図である。図６において、キャッシュ管理情報記憶部１８は、キャッシュ記憶部１３３に記憶されたコンテンツごとに、コンテンツ名、最終アクセス日時、サイズ、欠落量、及びコンテンツ尺等を記憶する。
【００４８】
コンテンツ名は、コンテンツの識別名である。例えば、コンテンツを格納するファイルのファイル名が、コンテンツ名であってもよい。最終アクセス日時は、コンテンツが最後にアクセスされた日時である。サイズは、コンテンツの全部のデータサイズである。欠落量は、コンテンツの欠落部のデータサイズである。コンテンツ尺は、コンテンツの全部の再生時間である。
【００４９】
ステップＳ１０９では、最終アクセス日時には、現在日時が記憶される。欠落量には、０が記憶される。なお、コンテンツ名、サイズ、及びコンテンツ尺は、コンテンツ自体から取得されてもよいし、コンテンツと共に、コンテンツの属性情報として、センタサーバ２０より取得されてもよい。
【００５０】
一方、キャッシュデータが有る場合（Ｓ１０２でＹｅｓ）、端末３０へのキャッシュデータの配信処理（Ｓ１１０）と、センタサーバ２０からの欠落部の取得処理（Ｓ１２０）とが並列的に実行される。
【００５１】
端末３０へのキャッシュデータの配信処理（Ｓ１１０）では、次のような処理が実行される。ステップＳ１１１において、読込部１３１は、対象コンテンツのコンテンツ名に対応付けてキャッシュ管理情報記憶部１８が記憶する、最終アクセス日時を現在日時に更新する（Ｓ１１１）。続いて、読込部１３１は、対象コンテンツの一部のデータキャッシュ記憶部１３３よりメモリ装置１０３に読み込む（Ｓ１１２）。データ送信部１１２は、メモリ装置１０３に読み込まれたデータを、端末３０に送信する（Ｓ１１３）。ステップＳ１１２及びＳ１１３は、対象コンテンツの本来の終端が送信されるまで繰り返される（Ｓ１１４）。なお、ステップＳ１１３においては、ビットレート判定部１５によって、対象コンテンツのビットレートが判定される。送信速度計算部１６は、ビットレート判定部１５によって判定されたビットレートに対して、１．０以上の所定の係数を乗じた値を送信速度として算出する。帯域制御部１１３は、データ送信部１１２によるデータの送信速度を、算出された送信速度に維持されるように制御する。
【００５２】
センタサーバ２０からの欠落部の取得処理（Ｓ１２０）では、次のような処理が実行される。まず、欠落率算出部１７は、対象コンテンツについて、欠落部の有無を判定する（Ｓ１２１）。欠落部の有無は、対象コンテンツのコンテンツ名に対応付けてキャッシュ管理情報記憶部１８が記憶する、欠落量を参照することにより判定可能である。すなわち、欠落量が０を超える値であれば、欠落部は有ると判定される。
【００５３】
欠落部が無い場合（Ｓ１２１でＮｏ）、センタサーバ２０からの欠落部の取得処理（Ｓ１２０）は終了する。欠落部が有る場合（Ｓ１２１でＹｅｓ）、欠落率算出部１７は、対象コンテンツの欠落率を算出する（Ｓ１２２）。欠落率は、対象コンテンツのコンテンツ名に対応づけてキャッシュ管理情報記憶部１８が記憶する、サイズ及び欠落量に基づいて算出可能である。すなわち、欠落率は、当該欠落量を当該サイズによって除することにより算出可能である。
【００５４】
続いて、要求送信部１２１は、対象コンテンツのコンテンツ名と、算出された欠落率とを指定して、対象コンテンツの取得要求を、センタサーバ２０に送信する（Ｓ１２３）。当該取得要求に応じてセンタサーバ２０より返信された対象コンテンツの一部のデータがデータ受信部１２２によって受信されると（Ｓ１２４）、キャッシュ管理部１４は、キャッシュデータ削除処理を実行する（Ｓ１２５）。続いて、書込部１３２は、受信されたデータをキャッシュ記憶部１３３に書き込む（Ｓ１２６）。例えば、キャッシュ記憶部１３３に記憶されている、対象コンテンツのファイルの末端に、受信されたデータが追加的に書き込まれる。
【００５５】
ステップＳ１２４〜Ｓ１２６は、対象コンテンツの欠落部の全部がキャッシュ記憶部１３３に書き込まれるまで繰り返される（Ｓ１２７）。なお、センタサーバ２０より取得され、キャッシュ記憶部１３３に書き込まれた、対象コンテンツの欠落部は、端末３０へのキャッシュデータの配信処理（Ｓ１１０）において、対象コンテンツの残存部に続いて、端末３０に送信される。すなわち、欠落部の取得が、残存部の送信に対して遅延なく行われれば、端末３０へのキャッシュデータの配信処理（Ｓ１１０）においては、欠落部の存在は認識されることなく、端末３０に対して、対象コンテンツの残存部及び欠落部の送信が行われる。
【００５６】
続いて、書込部１３２は、対象コンテンツのコンテンツ名に対応付けてキャッシュ管理情報記憶部１８が記憶する欠落量を０に更新する（Ｓ１２８）。
【００５７】
続いて、ステップＳ１０５及びＳ１２５の詳細について説明する。図７は、キャッシュデータ削除処理の処理手順の一例を説明するためのフローチャートである。
【００５８】
ステップＳ１３１において、削除対象選択部１４１は、キャッシュ記憶部１３３に所定量の空き容量が有るか否かを判定する。所定量は、例えば、予め設定された固定値であってもよいし、図５のステップＳ１０４又はＳ１２４において受信されたデータのサイズ以上の値であってもよい。
【００５９】
所定量の空きが無い場合（Ｓ１３１でＮｏ）、削除対象選択部１４１は、キャッシュ管理情報記憶部１８において、最も古い日時を示す最終アクセス日時に対応付けられているコンテンツ名に係るコンテンツを削除対象として選択する（Ｓ１３２）。続いて、削除部１４２は、選択されたコンテンツのキャッシュデータの残存部の終端からの一部を削除する（Ｓ１３３）。当該一部のデータサイズは、例えば、当該コンテンツのサイズに対する所定の割合であってもよいし、全てのコンテンツに共通の固定値であってもよい。
【００６０】
続いて、削除部１４２は、選択されたコンテンツについて、キャッシュ管理情報記憶部１８が記憶する最終アクセス日時と欠落量とを更新する（Ｓ１３４）。最終アクセス日時は、現在日時に更新される。欠落量は、更新前の欠落量に対して、ステップＳ１３３において削除された一部のデータサイズが加算された値に更新される。
【００６１】
ステップＳ１３２〜Ｓ１３４は、キャッシュ記憶部１３３に所定量の空き容量が確保されるまで繰り返される（Ｓ１３１）。
【００６２】
このように、本実施の形態では、キャッシュ記憶部１３３の容量を確保するために、削除対象として選択されたコンテンツの全部が削除されるのではなく、削除対象として選択されたコンテンツの一部が削除される。したがって、削除対象として選択されたコンテンツの全部が削除される場合に比べて、削除対象とされるコンテンツの数は増加するが、全部が削除されてしまうコンテンツの数を減少させることができる。その結果、少なくとも一部がキャッシュされているコンテンツの数を増加させることができ、キャッシュの見かけ上のヒット率を増加させることができる。
【００６３】
なお、残存部の一部が繰り返し削除されることにより、最終的にその全部が削除されるコンテンツが有ってもよい。または、残存部が所定量以下となったコンテンツは、削除対象から除外されるようにしてもよい。この場合、キャッシュされている全てのコンテンツの残存部が所定量以下であるにも拘わらず、キャッシュ記憶部１３３に所定量の空き容量を確保できない場合は、残存部が所定量以下であるコンテンツは削除対象から除外するといったルールは無視されてもよい。
【００６４】
また、本実施の形態では、いわゆるＬＲＵ法によって、削除対象が選択される例を示したが、削除対象は、ＬＲＵ法以外のアルゴリズムによって選択されてもよい。例えば、残存部のデータサイズ又は割合が最も大きいコンテンツが、削除対象として選択されてもよい。
【００６５】
また、本実施の形態では、端末３０からのコンテンツの配信要求の受信に応じて（Ｓ１０１）、キャッシュデータ削除処理が実行される例を示したが、キャッシュデータ削除処理は、当該配信要求の受信とは非同期に行われてもよい。例えば、定期的にキャッシュデータ削除処理が実行されてもよい。
【００６６】
続いて、センタサーバ２０が実行する処理手順について説明する。図８は、センタサーバが実行する処理手順の一例を説明するためのフローチャートである。
【００６７】
ステップＳ２０１において、要求受信部２１１は、コンテンツの取得要求をエッジサーバ１０から受信する。当該取得要求は、例えば、図５のステップＳ１０３やステップＳ１２３において、エッジサーバ１０より送信されたものである。
【００６８】
続いて、ビットレート判定部２４は、取得要求に係るコンテンツ（以下、「対象コンテンツ」という。）のビットレートを判定する（Ｓ２０２）。続いて、送信速度計算部２５は、対象コンテンツの送信速度を計算する（Ｓ２０３）。例えば、ビットレートに対して１．０以上の所定の係数を乗じた結果が、送信速度として算出される。
【００６９】
続いて、欠落率判定部２３は、ステップＳ２０１において受信された対象コンテンツの取得要求に、欠落率が指定されているか否かを判定する（Ｓ２０４）。欠落率が指定されている場合（Ｓ２０４でＹｅｓ）、送信速度計算部２５は、ステップＳ２０３において算出された送信速度（以下、「基本送信速度」という。）に対して欠落率を乗じた結果を、送信速度とする（Ｓ２０５）。したがって、例えば、上記所定の係数を１．０とした場合、コンテンツのビットレートが、６Ｍｂｐｓであり、欠落率が５０％であれば、送信速度は、６．０×０．５＝３Ｍｂｐｓとなる。
【００７０】
なお、当該送信速度は、エッジサーバ１０側で算出することも可能である。したがって、例えば、エッジサーバ１０の欠落率算出部１７は、欠落率に基づいて、当該送信速度を計算してもよい。この場合、センタサーバ２０に対する、対象コンテンツの取得要求には、当該送信速度が指定されてもよい。センタサーバ２０の送信速度計算部２５は、指定された送信速度を、対象コンテンツの送信速度としてもよい。
【００７１】
なお、基本送信速度に欠落率を乗じて得られる値を超える速度が、送信速度とされてもよい。基本送信速度に欠落率を乗じて得られる値を超える速度で欠落部がエッジサーバ１０に送信されれば、端末３０へのコンテンツの配信について、残存部に対して欠落部が遅延する可能性を低くすることができるからである。但し、ネットワークＮ１の負荷の平準化の観点から、ステップＳ２０５において算出される送信速度は、対象コンテンツの全部を送信する場合の送信速度（すなわち、基本送信速度）よりも遅ければ遅いほど望ましい。当該送信速度が遅ければ、一つのコンテンツに関してネットワークＮ１に使用される帯域を小さくすることができ、センタサーバ２０に対してコンテンツの取得要求が集中したとしても、ネットワークＮ１が帯域不足になる可能性を低減することができるからである。
【００７２】
続いて、読込部２２は、対象コンテンツの取得要求に指定されているコンテンツ名に係る対象コンテンツの一部のデータを、コンテンツ記憶部２６より読み込む（Ｓ２０６）。続いて、データ送信部２１２は、読み込まれたデータを、エッジサーバ１０に送信する（Ｓ２０７）。帯域制御部２１３は、データ送信部２１２によるデータの送信速度を、対象コンテンツに関して算出された送信速度に維持されるように制御する。なお、帯域制御部２１３による送信速度の制御方法は、帯域制御部１１３による送信速度の制御方法と同様でもよい。
【００７３】
ステップＳ２０６及びＳ２０７は、対象コンテンツの全部が送信されるまで繰り返される。但し、コンテンツの取得要求に欠落率が指定されている場合、ステップＳ２０６及びＳ２０７において処理対象とされるのは、対象コンテンツの欠落部のデータである。したがって、欠落率が指定されている場合、対象コンテンツの欠落部のデータの先頭から順に、ステップＳ２０６及びＳ２０７が実行される。なお、対象コンテンツの欠落部のデータのデータサイズは、対象コンテンツの送信要求に指定された欠落率を、対象コンテンツのデータサイズに乗じることにより求めることができる。または、欠落部のデータの先頭位置が、対象コンテンツの送信要求に指定されてもよい。
【００７４】
上述したように、本実施の形態によれば、エッジサーバ１０にキャッシュされているコンテンツについて、一部ずつ削除されるため、キャッシュの見かけ上のヒット率を上げることができる。したがって、同時にキャッシュミスが多発することによる、ネットワークＮ１の帯域不足の発生等のリスクを低減することができる。
【００７５】
また、コンテンツの欠落部を、センタサーバ２０からエッジサーバ１０に送信する際には、コンテンツの残存部のエッジサーバ１０から端末３０への送信に要する時間分だけ余裕がある。したがって、当該余裕の分だけ、センタサーバ２０からエッジサーバ１０への当該コンテンツの欠落部の送信について、当該コンテンツの全部を送信対象とする場合に比べて、送信速度を低下させることができる。その結果、センタサーバ２０とエッジサーバ１０との間のネットワークＮ１の負荷を平準化することができる。
【００７６】
また、欠落部の送信速度が、（基本送信速度×欠落率）以上とされることにより、端末３０への欠落部への配信について、キャッシュされている残存部に対して遅延が発生する可能性を低減させることができる。したがって、コンテンツの視聴者に違和感を与えることなく（例えば、配信される映像の品質を劣化させることなく）、コンテンツが配信される可能性を高めることができる。
【００７７】
なお、欠落部は、コンテンツの終端からの一部分でなくてもよい。例えば、削除部１４２は、コンテンツの中間部分を削除するようにしてもよい。中間部分とは、コンテンツの先端及び終端を除く部分をいう。すなわち、欠落部による削除対象は、コンテンツの途中からの一部であればよく、当該一部の終端と、コンテンツの本来の終端とは必ずしも一致しなくてもよい。また、削除部１４２は、一つのコンテンツについて、歯抜け状に、複数の欠落部が形成されるように、コンテンツの削除を行ってもよい。
【００７８】
中間部分が欠落部とされる場合、当欠落部の送信速度は、当該欠落部の直前の残存部と当該欠落部とのデータサイズの合計に対する当該欠落部のデータサイズの割合を、基本送信速度に乗じた値を、当該欠落部についてのセンタサーバ２０からエッジサーバ１０への送信速度としてもよい。
【００７９】
なお、エッジサーバ１０は、帯域制御部１１３、ビットレート判定部１５、及び送信速度計算部１６を有していなくてもよい。図９は、本実施の形態におけるエッジサーバの第二の機能構成例を示す図である。図９中、図３と同一部分には同一符号を付し、その説明は省略する。
【００８０】
図９において、エッジサーバ１０は、帯域制御部１１３、ビットレート判定部１５、及び送信速度計算部１６を有していない。この場合、端末３０へのコンテンツ送信速度は、端末３０の主導によって制御される。例えば、端末３０との通信において、端末３０から通知されたデータサイズ分だけ端末３０にコンテンツが送信されてもよい。このような形態の一例として、ＴＣＰにおけるウィンドウサイズの通知によるフロー制御が挙げられる。
【００８１】
なお、本実施の形態において、センタ側通信部１２は、取得部の一例である。データ送信部１１２は、送信部の一例である。キャッシュ記憶部１３３は、記憶部の一例である。
【００８２】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００８３】
以上の説明に関し、更に以下の項を開示する。
（付記１）
ネットワークを介して受信される、データの第一の送信要求の受信に応じ、前記データをネットワークを介して取得する取得部と、
取得されたデータを前記第一の送信要求元に送信する送信部と、
取得されたデータを記憶する記憶部と、
前記データの途中からの一部分を前記記憶部より削除する削除部とを有し、
前記取得部は、前記データの第二の送信要求に応じ、前記データの全部を取得する場合より遅い速度で、前記一部分を前記ネットワークを介して取得し、
前記送信部は、前記第二の送信要求に応じ、前記データの前記一部分を除く残存部分に続いて、前記取得部によって取得される前記一部分を、前記第二の送信要求元に送信するデータ送信装置。
（付記２）
前記取得部は、前記第二の送信要求に応じ、前記送信部による前記第二の送信要求元への前記一部分の送信が、前記残存部分の送信に対して遅延しないように、前記一部分を前記ネットワークを介して取得する付記１記載のデータ送信装置。
（付記３）
前記取得部は、前記第二の送信要求に応じ、前記データの全部を取得する場合の速度に、前記データの全部に対する前記一部分の割合を乗じることにより得られる値以上の速度で、前記一部分を前記ネットワークを介して取得する付記２記載のデータ送信装置。
（付記４）
前記取得部は、前記第二の送信要求に応じ、前記データの再生時のビットレートに、前記データの全部に対する前記一部分の割合を乗じることにより得られる値以上の速度で、前記一部分を前記ネットワークを介して取得する付記２記載のデータ送信装置。
（付記５）
データを記憶するデータ記憶装置と、前記データ記憶装置にネットワークを介して接続するデータ送信装置とを含むデータ送信システムであって、
前記データ送信装置は、
ネットワークを介して受信される、データの第一の送信要求の受信に応じ、前記データを前記データ記憶装置より取得する取得部と、
取得されたデータを前記第一の送信要求元に送信する送信部と、
取得されたデータを記憶する記憶部と、
前記データの途中からの一部分を前記記憶部より削除する削除部とを有し、
前記取得部は、前記データの第二の送信要求に応じ、前記データの全部を取得する場合より遅い速度で、前記一部分を前記データ記憶装置より取得し、
前記送信部は、前記第二の送信要求に応じ、前記データの前記一部分を除く残存部分に続いて、前記取得部によって取得される前記一部分を、前記第二の送信要求元に送信するデータ送信システム。
（付記６）
ネットワークを介して受信される、データの第一の送信要求の受信に応じ、前記データをネットワークを介して取得し、
取得されたデータを前記第一の送信要求元に送信し、
取得されたデータを記憶部に記憶し、
前記データの途中からの一部分を前記記憶部より削除し、
前記データの第二の送信要求に応じ、前記データの全部を取得する場合より遅い速度で、前記一部分を前記ネットワークを介して取得し、
前記データの前記第二の送信要求に応じ、前記データの前記一部分を除く残存部分に続いて、前記取得部によって取得される前記一部分を、前記第二の送信要求元に送信する処理をコンピュータが実行するデータ送信方法。
（付記７）
前記第二の送信要求に応じ、前記送信部による前記第二の送信要求元への前記一部分の送信が、前記残存部分の送信に対して遅延しないように、前記一部分を前記ネットワークを介して取得する付記６記載のデータ送信方法。
（付記８）
前記第二の送信要求に応じ、前記データの全部を取得する場合の速度に、前記データの全部に対する前記一部分の割合を乗じることにより得られる値以上の速度で、前記一部分を前記ネットワークを介して取得する付記７記載のデータ送信方法。
（付記９）
前記第二の送信要求に応じ、前記データの再生時のビットレートに、前記データの全部に対する前記一部分の割合を乗じることにより得られる値以上の速度で、前記一部分を前記ネットワークを介して取得する付記７記載のデータ送信方法。
（付記１０）
ネットワークを介して受信される、データの第一の送信要求の受信に応じ、前記データをネットワークを介して取得し、
取得されたデータを前記第一の送信要求元に送信し、
取得されたデータを記憶部に記憶し、
前記データの途中からの一部分を前記記憶部より削除し、
前記データの第二の送信要求に応じ、前記データの全部を取得する場合より遅い速度で、前記一部分を前記ネットワークを介して取得し、
前記データの前記第二の送信要求に応じ、前記データの前記一部分を除く残存部分に続いて、前記取得部によって取得される前記一部分を、前記第二の送信要求元に送信する処理をコンピュータに実行させるプログラム。
（付記１１）
前記第二の送信要求に応じ、前記送信部による前記第二の送信要求元への前記一部分の送信が、前記残存部分の送信に対して遅延しないように、前記一部分を前記ネットワークを介して取得する付記１０記載のプログラム。
（付記１２）
前記第二の送信要求に応じ、前記データの全部を取得する場合の速度に、前記データの全部に対する前記一部分の割合を乗じることにより得られる値以上の速度で、前記一部分を前記ネットワークを介して取得する付記１１記載のプログラム。
（付記１３）
前記第二の送信要求に応じ、前記データの再生時のビットレートに、前記データの全部に対する前記一部分の割合を乗じることにより得られる値以上の速度で、前記一部分を前記ネットワークを介して取得する付記１１記載のプログラム。
【符号の説明】
【００８４】
１            配信システム
１０          エッジサーバ
１１          端末側通信部
１２          センタ側通信部
１３          キャッシュ部
１４          キャッシュ管理部
１５          ビットレート判定部
１６          送信速度計算部
１７          欠落率算出部
１８          キャッシュ管理情報記憶部
２０          センタサーバ
２１          通信処理部
２２          読込部
２３          欠落率判定部
２４          ビットレート判定部
２５          送信速度計算部
２６          コンテンツ記憶部
３０          端末
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１１１        要求受信部
１１２        データ送信部
１１３        帯域制御部
１２１        要求送信部
１２２        データ受信部
１３１        読込部
１３２        書込部
１３３        キャッシュ記憶部
１４１        削除対象選択部
１４２        削除部
２１１        要求受信部
２１２        データ送信部
２１３        帯域制御部
Ｂ            バス
【図１】
2014085822.tif 000003
【図２】
2014085822.tif 000004
【図３】
2014085822.tif 000005
【図４】
2014085822.tif 000006
【図５】
2014085822.tif 000007
【図６】
2014085822.tif 000008
【図７】
2014085822.tif 000009
【図８】
2014085822.tif 000010
【図９】
2014085822.tif 000011