JP2014085822A - データ送信装置、データ送信システム、データ送信方法、及びプログラム - Google Patents

データ送信装置、データ送信システム、データ送信方法、及びプログラム Download PDF

Info

Publication number
JP2014085822A
JP2014085822A JP2012234094A JP2012234094A JP2014085822A JP 2014085822 A JP2014085822 A JP 2014085822A JP 2012234094 A JP2012234094 A JP 2012234094A JP 2012234094 A JP2012234094 A JP 2012234094A JP 2014085822 A JP2014085822 A JP 2014085822A
Authority
JP
Japan
Prior art keywords
data
transmission
unit
content
transmission request
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.)
Granted
Application number
JP2012234094A
Other languages
English (en)
Other versions
JP6015338B2 (ja
Inventor
Shigeru Omori
茂 大森
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012234094A priority Critical patent/JP6015338B2/ja
Publication of JP2014085822A publication Critical patent/JP2014085822A/ja
Application granted granted Critical
Publication of JP6015338B2 publication Critical patent/JP6015338B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】データ送信におけるネットワーク負荷を平準化させること。
【解決手段】データ送信装置は、ネットワークを介して受信される、データの第一の送信要求の受信に応じ、前記データをネットワークを介して取得する取得部と、取得されたデータを前記第一の送信要求元に送信する送信部と、取得されたデータを記憶する記憶部と、前記データの途中からの一部分を前記記憶部より削除する削除部とを有し、前記取得部は、前記データの第二の送信要求に応じ、前記データの全部を取得する場合より遅い速度で、前記一部分を前記ネットワークを介して取得し、前記送信部は、前記第二の送信要求に応じ、前記データの前記一部分を除く残存部分に続いて、前記取得部によって取得される前記一部分を、前記第二の送信要求元に送信する。
【選択図】図3

Description

本発明は、データ送信装置、データ送信システム、データ送信方法、及びプログラム
に関する。
例えば、映像コンテンツ等の配信システムにおいては、全てのコンテンツを一元的に管理するセンタサーバと、視聴端末の近くに分散されて配置されるエッジサーバとを含むものが有る。
エッジサーバは、視聴端末から直接的にアクセスされ、視聴対象のコンテンツをセンタサーバより取得し、視聴端末へ配信する。エッジサーバは、また、視聴されたコンテンツをキャッシュする機能を有する。したがって、視聴対象のコンテンツがキャッシュされている場合、エッジサーバは、キャッシュされているコンテンツを配信する。そうすることで、視聴端末に対する応答性の向上や、センタサーバとエッジサーバとの間のネットワーク負荷の低減等を図ることができる。
特開2001−313919号公報 特開2007−6145号公報
しかしながら、エッジサーバにおけるキャッシュの容量は限られているため、一般的に、エッジサーバは、全てのコンテンツをキャッシュすることはできない。そのため、所定のアルゴリズムによって、キャッシュされているデータの削除が行われる。したがって、エッジサーバにおいては、キャッシュのミスヒットが発生する。
エッジサーバにおけるキャッシュのヒット率は、センタサーバとエッジサーバとの間のネットワーク負荷に大きく影響する。複数のエッジサーバにおいてほぼ同時にミスヒットが発生した場合、エッジサーバからセンタサーバに対するアクセスが集中し、センタサーバとエッジサーバとの間のネットワークが帯域不足になる可能性がある。
そこで、一側面では、データ送信におけるネットワーク負荷を平準化させることを目的とする。
一つの案では、データ送信装置は、ネットワークを介して受信される、データの第一の送信要求の受信に応じ、前記データをネットワークを介して取得する取得部と、取得されたデータを前記第一の送信要求元に送信する送信部と、取得されたデータを記憶する記憶部と、前記データの途中からの一部分を前記記憶部より削除する削除部とを有し、前記取得部は、前記データの第二の送信要求に応じ、前記データの全部を取得する場合より遅い速度で、前記一部分を前記ネットワークを介して取得し、前記送信部は、前記第二の送信要求に応じ、前記データの前記一部分を除く残存部分に続いて、前記取得部によって取得される前記一部分を、前記第二の送信要求元に送信する。
一態様によれば、データ送信におけるネットワーク負荷を平準化させることができる。
本実施の形態における配信システムの構成例を示す図である。 本実施の形態におけるエッジサーバのハードウェア構成例を示す図である。 本実施の形態におけるエッジサーバの機能構成例を示す図である。 本実施の形態におけるセンタサーバの機能構成例を示す図である。 エッジサーバが実行する処理手順の一例を説明するためのフローチャートである。 キャッシュ管理情報記憶部の構成例を示す図である。 キャッシュデータ削除処理の処理手順の一例を説明するためのフローチャートである。 センタサーバが実行する処理手順の一例を説明するためのフローチャートである。 本実施の形態におけるエッジサーバの第二の機能構成例を示す図である。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本実施の形態における配信システムの構成例を示す図である。図1において、配信システム1は、センタサーバ20と、複数のエッジサーバ10とを含む。センタサーバ20と各エッジサーバ10とは、例えば、インターネット等のネットワークN1を介して通信可能とされている。
センタサーバ20は、配信対象とされる全てのコンテンツを一元的に管理するコンピュータである。
エッジサーバ10は、センタサーバ20に対する負荷を分散するために配置されるコンピュータである。エッジサーバ10は、コンテンツの視聴に利用される端末30と、例えば、インターネット等のネットワークN2を介して接続され、端末30に対するコンテンツの配信の中継を行う。エッジサーバ10は、中継されたコンテンツをキャッシュしておく。端末30からの配信要求に係るコンテンツが、キャッシュされている場合、エッジサーバ10は、キャッシュされているコンテンツを、端末30に配信する。
エッジサーバ10は、所定のアルゴリズムに基づいて、キャッシュされているコンテンツの削除を行う。すなわち、キャッシュするコンテンツの入れ替えを行う。所定のアルゴリズムとしては、LRU(Least Recently Used)法等、公知のアルゴリズムが用いられてもよい。
但し、エッジサーバ10は、削除対象とされたコンテンツの全部は削除せずに、当該コンテンツの終端からの一部分を削除する。以下、削除された部分を「欠落部」といい、残された部分を、「残存部」という。部分削除が行われたコンテンツの配信が端末30から要求された場合、エッジサーバ10は、当該コンテンツの残存部の配信と並行して、コンテンツサーバから欠落部を取得する(配信を受ける)。この際、エッジサーバ10は、残存部の配信に対して遅延が生じない範囲で、欠落部の取得速度を、コンテンツの全部を取得する場合の取得速度、又は端末30に対する残存部の送信速度より低下させて、欠落部をセンタサーバ20より取得する。そうすることで、端末30に対するコンテンツの送信速度(帯域)を一定に保ちつつ、エッジサーバ10とセンタサーバ20との間のネットワークN1の負荷を平準化することができる。なお、「残存部の配信に対して遅延が生じない」状態とは、残存部との間に区切りが無い状態で、残存部に続けて欠落部が配信される状態をいう。すなわち、配信要求の受信時にコンテンツの全部がエッジサーバ10に存在している状態における送信速度で、残存部及び欠落部を配信可能な状態をいう。
なお、取得速度や送信速度等の「速度」とは、単位時間あたりのデータの転送量をいう。すなわち、速度とは、データ送信に関するビットレート又は帯域と同義である。
端末30は、コンテンツを再生可能な装置であれば、所定の装置に限定されない。例えば、PC(Personal Computer)、携帯電話、スマートフォン、又はタブレット型端末等が、端末30として利用されてもよい。
なお、本実施の形態において配信対象とされるコンテンツは、映像(動画)データや音声データ等、所定のビットレート(単位時間当たりの再生サイズ)で再生されるデータが好適である。また、配信形式は、ストリーミング形式が好適である。ストリーミング形式の場合、コンテンツ自体のビットレートに従った速度で、コンテンツの配信が行われてもよい。但し、静止画像データや、その他の形式のデータが、一般的なダウンロードの形式で配信される場合について、本実施の形態が適用されてもよい。
なお、本実施の形態では、コンテンツの再生に関するビットレートと、コンテンツの送信に関するビットレートとの混同を避けるため、後者については、「速度」という用語を用いる。
図2は、本実施の形態におけるエッジサーバのハードウェア構成例を示す図である。図2のエッジサーバ10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
エッジサーバ10での処理を実現するプログラムは、記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってエッジサーバ10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
なお、記録媒体101の一例としては、CD−ROM、DVDディスク、又はUSBメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置102の一例としては、HDD(Hard Disk Drive)又はフラッシュメモリ等が挙げられる。記録媒体101及び補助記憶装置102のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
なお、センタサーバ20についても、図2に示されるハードウェアを有していてもよい。
図3は、本実施の形態におけるエッジサーバの機能構成例を示す図である。図3において、エッジサーバ10は、端末側通信部11、センタ側通信部12、キャッシュ部13、キャッシュ管理部14、ビットレート判定部15、送信速度計算部16、及び欠落率算出部17等を有する。これら各部は、エッジサーバ10にインストールされたプログラムが、CPU104に実行させる処理により実現される。エッジサーバ10は、また、キャッシュ管理情報記憶部18を有する。キャッシュ管理情報記憶部18、及びキャッシュ部13内のキャッシュ記憶部133は、例えば、補助記憶装置102等を用いて実現可能である。
端末側通信部11は、端末30との通信を制御する。端末側通信部11は、要求受信部111、データ送信部112、及び帯域制御部113等を含む。要求受信部111は、端末30からのコンテンツの配信要求を受信する。データ送信部112は、配信要求に係るコンテンツについて、端末30への送信を行う。帯域制御部113は、コンテンツの再生が適切に行われるように、コンテンツの送信速度(配信帯域)を制御する。
センタ側通信部12は、要求送信部121及びデータ受信部122等を含む。要求送信部121は、コンテンツの取得要求を、センタサーバ20に送信する。終端からの一部分が削除されたコンテンツについては、当該一部分の取得が要求される。データ受信部122は、コンテンツの取得要求に応じてセンタサーバ20より返信されるコンテンツを受信する。
キャッシュ部13は、センタサーバ20より受信されたコンテンツ(すなわち、過去に端末30に配信されたコンテンツ)をキャッシュする。キャッシュ部13は、読込部131、書込部132、及びキャッシュ記憶部133等を含む。キャッシュ記憶部133は、キャッシュ対象のコンテンツを記憶する。読込部131は、キャッシュ記憶部133からコンテンツを読み込む。書込部132は、キャッシュ記憶部133に対してコンテンツを書き込む。
キャッシュ管理部14は、キャッシュされたコンテンツの管理を行う。キャッシュ管理部14は、削除対象選択部141及び削除部142等を含む。削除対象選択部141は、キャッシュ記憶部133に記憶されているコンテンツのアクセス状況(利用状況)に基づいて、削除対象とするコンテンツを選択する。削除部142は、削除対象選択部141によって選択されたコンテンツの残存部の終端(以下、「現終端」という。)からの一部分を削除する。削除が行われていないコンテンツであれば、コンテンツの全部が残存部ある。なお、コンテンツの全部の終端を、以下、「本来の終端」という。
キャッシュ管理情報記憶部18は、キャッシュ記憶部133に記憶された各コンテンツの属性情報を記憶する。属性情報には、アクセス状況を示す情報も含まれる。
ビットレート判定部15は、端末30からの配信要求に係るコンテンツのビットレート(単位時間あたりの再生データ量)を判定する。ビットレートは、例えば、コンテンツ内に記録されている情報に基づいて判定されてもよい。
送信速度計算部16は、端末30に対するコンテンツの送信速度を計算する。例えば、コンテンツのビットレートが、当該コンテンツの送信速度とされてもよい。または、ネットワークN2の帯域の変化に応じたコンテンツの再生の遅延を回避するため、コンテンツのビットレートに対して1.0を超える係数が乗じられた値が、当該コンテンツの送信速度とされてもよい。
欠落率算出部17は、配信要求に係るコンテンツについて、当該コンテンツの全部に対する欠落部の割合(以下、「欠落率」という。)を算出する。なお、欠落率は、要求送信部121からの、センタサーバ20に対するコンテンツの取得要求に指定される。但し、キャッシュされていないコンテンツについて、欠落率は指定されない。又は、キャッシュされていないコンテンツについては、欠落率として、1.0(100%)が指定されてもよい。
図4は、本実施の形態におけるセンタサーバの機能構成例を示す図である。図4において、センタサーバ20は、通信処理部21、読込部22、欠落率判定部23、ビットレート判定部24、及び送信速度計算部25等を有する。これら各部は、センタサーバ20にインストールされたプログラムが、センタサーバ20のCPUに実行させる処理により実現される。センタサーバ20は、また、コンテンツ記憶部26を有する。コンテンツ記憶部26は、例えば、センタサーバ20が有する補助記憶装置を用いて実現可能である。
通信処理部21は、エッジサーバ10との通信を制御する。通信処理部21は、要求受信部211、データ送信部212、及び帯域制御部213等を含む。要求受信部211は、エッジサーバ10からのコンテンツの取得要求を受信する。データ送信部212は、要求されたコンテンツをエッジサーバ10に送信する。帯域制御部213は、データ送信部212によるコンテンツの送信速度を制御する。
読込部22は、データ送信部212がエッジサーバ10に送信するコンテンツをコンテンツ記憶部26より読み込む。コンテンツ記憶部26は、各コンテンツを記憶する。
ビットレート判定部24は、エッジサーバ10からの取得要求に係るコンテンツのビットレートを判定する。
送信速度計算部25は、エッジサーバ10に対するコンテンツの送信速度を計算する。具体的には、送信速度計算部25は、コンテンツの全部をエッジサーバ10に送信する場合の送信速度に対し、当該コンテンツの欠落率を乗じた値を、エッジサーバ10に対するコンテンツの送信速度とする。本実施の形態では、コンテンツの全部をエッジサーバ10に送信する場合の送信速度は、当該コンテンツに関してビットレート判定部24によって判定されるビットレートに基づく。例えば、当該ビットレートに対して1.0以上の所定の係数を乗じた結果が、コンテンツの全部をエッジサーバ10に送信する場合の送信速度とされてもよい。
以下、エッジサーバ10及びセンタサーバ20のそれぞれが実行する処理手順について説明する。図5は、エッジサーバが実行する処理手順の一例を説明するためのフローチャートである。
ステップS101において、要求受信部111は、コンテンツの配信要求を端末30から受信する。コンテンツの配信要求には、コンテンツ名が指定されている。コンテンツの配信要求の受信に応じ、読込部131は、キャッシュ記憶部133を参照して、当該配信要求に指定されたコンテンツ名に係るコンテンツ(以下、「対象コンテンツ」という。)のキャッシュデータの有無を判定する(S102)。キャッシュデータの有無とは、対象コンテンツの少なくとも一部がキャッシュ記憶部133に記憶されているか否かをいう。
キャッシュデータが無い場合(S102でNo)、要求送信部121は、欠落率を指定しないで、対象コンテンツの取得要求を、センタサーバ20に送信する(S103)。当該取得要求には、対象コンテンツのコンテンツ名が指定される。
当該取得要求に応じてセンタサーバ20より返信された対象コンテンツの一部のデータがデータ受信部122によって受信されると(S104)、キャッシュ管理部14は、キャッシュデータ削除処理を実行する(S105)。キャッシュデータ削除処理の詳細については後述されるが、キャッシュデータ削除処理によって、必要に応じて、キャッシュデータが削除され、キャッシュ記憶部133に空き容量が確保される。
続いて、書込部132は、受信されたデータをキャッシュ記憶部133に書き込む(S106)。具体的には、例えば、対象コンテンツのファイルがキャッシュ記憶部133に生成され、当該ファイルに受信されたデータが書き込まれる。
続いて、データ送信部112は、受信されたデータを端末30に送信する(S107)。この際、ビットレート判定部15によって、対象コンテンツのビットレートが判定される。送信速度計算部16は、ビットレート判定部15によって判定されたビットレートに対して、1.0以上の所定の係数を乗じた値を送信速度として算出する。帯域制御部113は、データ送信部112によるデータの送信速度を、算出された送信速度に維持されるように制御する。なお、帯域制御部113による送信速度の制御方法については、例えば、特開2010−232832号公報に記載されている方法等、公知の方法が用いられてもよい。
なお、対象コンテンツのビットレートは、対象コンテンツのヘッダ部等に記録されている情報に基づいて判定されてもよい。
上記ステップS104〜S107は、対象コンテンツの全部が端末30に送信されるまで繰り返される(S108)。すなわち、センタサーバ20からの対象コンテンツの受信と、端末30への対象コンテンツの送信とは、並列的に行われる。対象コンテンツの全部が端末30に送信されると、書込部132は、キャッシュ管理情報記憶部18に対して、新たにキャッシュされたコンテンツに関するキャッシュ管理情報を登録する(S109)。
図6は、キャッシュ管理情報記憶部の構成例を示す図である。図6において、キャッシュ管理情報記憶部18は、キャッシュ記憶部133に記憶されたコンテンツごとに、コンテンツ名、最終アクセス日時、サイズ、欠落量、及びコンテンツ尺等を記憶する。
コンテンツ名は、コンテンツの識別名である。例えば、コンテンツを格納するファイルのファイル名が、コンテンツ名であってもよい。最終アクセス日時は、コンテンツが最後にアクセスされた日時である。サイズは、コンテンツの全部のデータサイズである。欠落量は、コンテンツの欠落部のデータサイズである。コンテンツ尺は、コンテンツの全部の再生時間である。
ステップS109では、最終アクセス日時には、現在日時が記憶される。欠落量には、0が記憶される。なお、コンテンツ名、サイズ、及びコンテンツ尺は、コンテンツ自体から取得されてもよいし、コンテンツと共に、コンテンツの属性情報として、センタサーバ20より取得されてもよい。
一方、キャッシュデータが有る場合(S102でYes)、端末30へのキャッシュデータの配信処理(S110)と、センタサーバ20からの欠落部の取得処理(S120)とが並列的に実行される。
端末30へのキャッシュデータの配信処理(S110)では、次のような処理が実行される。ステップS111において、読込部131は、対象コンテンツのコンテンツ名に対応付けてキャッシュ管理情報記憶部18が記憶する、最終アクセス日時を現在日時に更新する(S111)。続いて、読込部131は、対象コンテンツの一部のデータキャッシュ記憶部133よりメモリ装置103に読み込む(S112)。データ送信部112は、メモリ装置103に読み込まれたデータを、端末30に送信する(S113)。ステップS112及びS113は、対象コンテンツの本来の終端が送信されるまで繰り返される(S114)。なお、ステップS113においては、ビットレート判定部15によって、対象コンテンツのビットレートが判定される。送信速度計算部16は、ビットレート判定部15によって判定されたビットレートに対して、1.0以上の所定の係数を乗じた値を送信速度として算出する。帯域制御部113は、データ送信部112によるデータの送信速度を、算出された送信速度に維持されるように制御する。
センタサーバ20からの欠落部の取得処理(S120)では、次のような処理が実行される。まず、欠落率算出部17は、対象コンテンツについて、欠落部の有無を判定する(S121)。欠落部の有無は、対象コンテンツのコンテンツ名に対応付けてキャッシュ管理情報記憶部18が記憶する、欠落量を参照することにより判定可能である。すなわち、欠落量が0を超える値であれば、欠落部は有ると判定される。
欠落部が無い場合(S121でNo)、センタサーバ20からの欠落部の取得処理(S120)は終了する。欠落部が有る場合(S121でYes)、欠落率算出部17は、対象コンテンツの欠落率を算出する(S122)。欠落率は、対象コンテンツのコンテンツ名に対応づけてキャッシュ管理情報記憶部18が記憶する、サイズ及び欠落量に基づいて算出可能である。すなわち、欠落率は、当該欠落量を当該サイズによって除することにより算出可能である。
続いて、要求送信部121は、対象コンテンツのコンテンツ名と、算出された欠落率とを指定して、対象コンテンツの取得要求を、センタサーバ20に送信する(S123)。当該取得要求に応じてセンタサーバ20より返信された対象コンテンツの一部のデータがデータ受信部122によって受信されると(S124)、キャッシュ管理部14は、キャッシュデータ削除処理を実行する(S125)。続いて、書込部132は、受信されたデータをキャッシュ記憶部133に書き込む(S126)。例えば、キャッシュ記憶部133に記憶されている、対象コンテンツのファイルの末端に、受信されたデータが追加的に書き込まれる。
ステップS124〜S126は、対象コンテンツの欠落部の全部がキャッシュ記憶部133に書き込まれるまで繰り返される(S127)。なお、センタサーバ20より取得され、キャッシュ記憶部133に書き込まれた、対象コンテンツの欠落部は、端末30へのキャッシュデータの配信処理(S110)において、対象コンテンツの残存部に続いて、端末30に送信される。すなわち、欠落部の取得が、残存部の送信に対して遅延なく行われれば、端末30へのキャッシュデータの配信処理(S110)においては、欠落部の存在は認識されることなく、端末30に対して、対象コンテンツの残存部及び欠落部の送信が行われる。
続いて、書込部132は、対象コンテンツのコンテンツ名に対応付けてキャッシュ管理情報記憶部18が記憶する欠落量を0に更新する(S128)。
続いて、ステップS105及びS125の詳細について説明する。図7は、キャッシュデータ削除処理の処理手順の一例を説明するためのフローチャートである。
ステップS131において、削除対象選択部141は、キャッシュ記憶部133に所定量の空き容量が有るか否かを判定する。所定量は、例えば、予め設定された固定値であってもよいし、図5のステップS104又はS124において受信されたデータのサイズ以上の値であってもよい。
所定量の空きが無い場合(S131でNo)、削除対象選択部141は、キャッシュ管理情報記憶部18において、最も古い日時を示す最終アクセス日時に対応付けられているコンテンツ名に係るコンテンツを削除対象として選択する(S132)。続いて、削除部142は、選択されたコンテンツのキャッシュデータの残存部の終端からの一部を削除する(S133)。当該一部のデータサイズは、例えば、当該コンテンツのサイズに対する所定の割合であってもよいし、全てのコンテンツに共通の固定値であってもよい。
続いて、削除部142は、選択されたコンテンツについて、キャッシュ管理情報記憶部18が記憶する最終アクセス日時と欠落量とを更新する(S134)。最終アクセス日時は、現在日時に更新される。欠落量は、更新前の欠落量に対して、ステップS133において削除された一部のデータサイズが加算された値に更新される。
ステップS132〜S134は、キャッシュ記憶部133に所定量の空き容量が確保されるまで繰り返される(S131)。
このように、本実施の形態では、キャッシュ記憶部133の容量を確保するために、削除対象として選択されたコンテンツの全部が削除されるのではなく、削除対象として選択されたコンテンツの一部が削除される。したがって、削除対象として選択されたコンテンツの全部が削除される場合に比べて、削除対象とされるコンテンツの数は増加するが、全部が削除されてしまうコンテンツの数を減少させることができる。その結果、少なくとも一部がキャッシュされているコンテンツの数を増加させることができ、キャッシュの見かけ上のヒット率を増加させることができる。
なお、残存部の一部が繰り返し削除されることにより、最終的にその全部が削除されるコンテンツが有ってもよい。または、残存部が所定量以下となったコンテンツは、削除対象から除外されるようにしてもよい。この場合、キャッシュされている全てのコンテンツの残存部が所定量以下であるにも拘わらず、キャッシュ記憶部133に所定量の空き容量を確保できない場合は、残存部が所定量以下であるコンテンツは削除対象から除外するといったルールは無視されてもよい。
また、本実施の形態では、いわゆるLRU法によって、削除対象が選択される例を示したが、削除対象は、LRU法以外のアルゴリズムによって選択されてもよい。例えば、残存部のデータサイズ又は割合が最も大きいコンテンツが、削除対象として選択されてもよい。
また、本実施の形態では、端末30からのコンテンツの配信要求の受信に応じて(S101)、キャッシュデータ削除処理が実行される例を示したが、キャッシュデータ削除処理は、当該配信要求の受信とは非同期に行われてもよい。例えば、定期的にキャッシュデータ削除処理が実行されてもよい。
続いて、センタサーバ20が実行する処理手順について説明する。図8は、センタサーバが実行する処理手順の一例を説明するためのフローチャートである。
ステップS201において、要求受信部211は、コンテンツの取得要求をエッジサーバ10から受信する。当該取得要求は、例えば、図5のステップS103やステップS123において、エッジサーバ10より送信されたものである。
続いて、ビットレート判定部24は、取得要求に係るコンテンツ(以下、「対象コンテンツ」という。)のビットレートを判定する(S202)。続いて、送信速度計算部25は、対象コンテンツの送信速度を計算する(S203)。例えば、ビットレートに対して1.0以上の所定の係数を乗じた結果が、送信速度として算出される。
続いて、欠落率判定部23は、ステップS201において受信された対象コンテンツの取得要求に、欠落率が指定されているか否かを判定する(S204)。欠落率が指定されている場合(S204でYes)、送信速度計算部25は、ステップS203において算出された送信速度(以下、「基本送信速度」という。)に対して欠落率を乗じた結果を、送信速度とする(S205)。したがって、例えば、上記所定の係数を1.0とした場合、コンテンツのビットレートが、6Mbpsであり、欠落率が50%であれば、送信速度は、6.0×0.5=3Mbpsとなる。
なお、当該送信速度は、エッジサーバ10側で算出することも可能である。したがって、例えば、エッジサーバ10の欠落率算出部17は、欠落率に基づいて、当該送信速度を計算してもよい。この場合、センタサーバ20に対する、対象コンテンツの取得要求には、当該送信速度が指定されてもよい。センタサーバ20の送信速度計算部25は、指定された送信速度を、対象コンテンツの送信速度としてもよい。
なお、基本送信速度に欠落率を乗じて得られる値を超える速度が、送信速度とされてもよい。基本送信速度に欠落率を乗じて得られる値を超える速度で欠落部がエッジサーバ10に送信されれば、端末30へのコンテンツの配信について、残存部に対して欠落部が遅延する可能性を低くすることができるからである。但し、ネットワークN1の負荷の平準化の観点から、ステップS205において算出される送信速度は、対象コンテンツの全部を送信する場合の送信速度(すなわち、基本送信速度)よりも遅ければ遅いほど望ましい。当該送信速度が遅ければ、一つのコンテンツに関してネットワークN1に使用される帯域を小さくすることができ、センタサーバ20に対してコンテンツの取得要求が集中したとしても、ネットワークN1が帯域不足になる可能性を低減することができるからである。
続いて、読込部22は、対象コンテンツの取得要求に指定されているコンテンツ名に係る対象コンテンツの一部のデータを、コンテンツ記憶部26より読み込む(S206)。続いて、データ送信部212は、読み込まれたデータを、エッジサーバ10に送信する(S207)。帯域制御部213は、データ送信部212によるデータの送信速度を、対象コンテンツに関して算出された送信速度に維持されるように制御する。なお、帯域制御部213による送信速度の制御方法は、帯域制御部113による送信速度の制御方法と同様でもよい。
ステップS206及びS207は、対象コンテンツの全部が送信されるまで繰り返される。但し、コンテンツの取得要求に欠落率が指定されている場合、ステップS206及びS207において処理対象とされるのは、対象コンテンツの欠落部のデータである。したがって、欠落率が指定されている場合、対象コンテンツの欠落部のデータの先頭から順に、ステップS206及びS207が実行される。なお、対象コンテンツの欠落部のデータのデータサイズは、対象コンテンツの送信要求に指定された欠落率を、対象コンテンツのデータサイズに乗じることにより求めることができる。または、欠落部のデータの先頭位置が、対象コンテンツの送信要求に指定されてもよい。
上述したように、本実施の形態によれば、エッジサーバ10にキャッシュされているコンテンツについて、一部ずつ削除されるため、キャッシュの見かけ上のヒット率を上げることができる。したがって、同時にキャッシュミスが多発することによる、ネットワークN1の帯域不足の発生等のリスクを低減することができる。
また、コンテンツの欠落部を、センタサーバ20からエッジサーバ10に送信する際には、コンテンツの残存部のエッジサーバ10から端末30への送信に要する時間分だけ余裕がある。したがって、当該余裕の分だけ、センタサーバ20からエッジサーバ10への当該コンテンツの欠落部の送信について、当該コンテンツの全部を送信対象とする場合に比べて、送信速度を低下させることができる。その結果、センタサーバ20とエッジサーバ10との間のネットワークN1の負荷を平準化することができる。
また、欠落部の送信速度が、(基本送信速度×欠落率)以上とされることにより、端末30への欠落部への配信について、キャッシュされている残存部に対して遅延が発生する可能性を低減させることができる。したがって、コンテンツの視聴者に違和感を与えることなく(例えば、配信される映像の品質を劣化させることなく)、コンテンツが配信される可能性を高めることができる。
なお、欠落部は、コンテンツの終端からの一部分でなくてもよい。例えば、削除部142は、コンテンツの中間部分を削除するようにしてもよい。中間部分とは、コンテンツの先端及び終端を除く部分をいう。すなわち、欠落部による削除対象は、コンテンツの途中からの一部であればよく、当該一部の終端と、コンテンツの本来の終端とは必ずしも一致しなくてもよい。また、削除部142は、一つのコンテンツについて、歯抜け状に、複数の欠落部が形成されるように、コンテンツの削除を行ってもよい。
中間部分が欠落部とされる場合、当欠落部の送信速度は、当該欠落部の直前の残存部と当該欠落部とのデータサイズの合計に対する当該欠落部のデータサイズの割合を、基本送信速度に乗じた値を、当該欠落部についてのセンタサーバ20からエッジサーバ10への送信速度としてもよい。
なお、エッジサーバ10は、帯域制御部113、ビットレート判定部15、及び送信速度計算部16を有していなくてもよい。図9は、本実施の形態におけるエッジサーバの第二の機能構成例を示す図である。図9中、図3と同一部分には同一符号を付し、その説明は省略する。
図9において、エッジサーバ10は、帯域制御部113、ビットレート判定部15、及び送信速度計算部16を有していない。この場合、端末30へのコンテンツ送信速度は、端末30の主導によって制御される。例えば、端末30との通信において、端末30から通知されたデータサイズ分だけ端末30にコンテンツが送信されてもよい。このような形態の一例として、TCPにおけるウィンドウサイズの通知によるフロー制御が挙げられる。
なお、本実施の形態において、センタ側通信部12は、取得部の一例である。データ送信部112は、送信部の一例である。キャッシュ記憶部133は、記憶部の一例である。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
以上の説明に関し、更に以下の項を開示する。
(付記1)
ネットワークを介して受信される、データの第一の送信要求の受信に応じ、前記データをネットワークを介して取得する取得部と、
取得されたデータを前記第一の送信要求元に送信する送信部と、
取得されたデータを記憶する記憶部と、
前記データの途中からの一部分を前記記憶部より削除する削除部とを有し、
前記取得部は、前記データの第二の送信要求に応じ、前記データの全部を取得する場合より遅い速度で、前記一部分を前記ネットワークを介して取得し、
前記送信部は、前記第二の送信要求に応じ、前記データの前記一部分を除く残存部分に続いて、前記取得部によって取得される前記一部分を、前記第二の送信要求元に送信するデータ送信装置。
(付記2)
前記取得部は、前記第二の送信要求に応じ、前記送信部による前記第二の送信要求元への前記一部分の送信が、前記残存部分の送信に対して遅延しないように、前記一部分を前記ネットワークを介して取得する付記1記載のデータ送信装置。
(付記3)
前記取得部は、前記第二の送信要求に応じ、前記データの全部を取得する場合の速度に、前記データの全部に対する前記一部分の割合を乗じることにより得られる値以上の速度で、前記一部分を前記ネットワークを介して取得する付記2記載のデータ送信装置。
(付記4)
前記取得部は、前記第二の送信要求に応じ、前記データの再生時のビットレートに、前記データの全部に対する前記一部分の割合を乗じることにより得られる値以上の速度で、前記一部分を前記ネットワークを介して取得する付記2記載のデータ送信装置。
(付記5)
データを記憶するデータ記憶装置と、前記データ記憶装置にネットワークを介して接続するデータ送信装置とを含むデータ送信システムであって、
前記データ送信装置は、
ネットワークを介して受信される、データの第一の送信要求の受信に応じ、前記データを前記データ記憶装置より取得する取得部と、
取得されたデータを前記第一の送信要求元に送信する送信部と、
取得されたデータを記憶する記憶部と、
前記データの途中からの一部分を前記記憶部より削除する削除部とを有し、
前記取得部は、前記データの第二の送信要求に応じ、前記データの全部を取得する場合より遅い速度で、前記一部分を前記データ記憶装置より取得し、
前記送信部は、前記第二の送信要求に応じ、前記データの前記一部分を除く残存部分に続いて、前記取得部によって取得される前記一部分を、前記第二の送信要求元に送信するデータ送信システム。
(付記6)
ネットワークを介して受信される、データの第一の送信要求の受信に応じ、前記データをネットワークを介して取得し、
取得されたデータを前記第一の送信要求元に送信し、
取得されたデータを記憶部に記憶し、
前記データの途中からの一部分を前記記憶部より削除し、
前記データの第二の送信要求に応じ、前記データの全部を取得する場合より遅い速度で、前記一部分を前記ネットワークを介して取得し、
前記データの前記第二の送信要求に応じ、前記データの前記一部分を除く残存部分に続いて、前記取得部によって取得される前記一部分を、前記第二の送信要求元に送信する処理をコンピュータが実行するデータ送信方法。
(付記7)
前記第二の送信要求に応じ、前記送信部による前記第二の送信要求元への前記一部分の送信が、前記残存部分の送信に対して遅延しないように、前記一部分を前記ネットワークを介して取得する付記6記載のデータ送信方法。
(付記8)
前記第二の送信要求に応じ、前記データの全部を取得する場合の速度に、前記データの全部に対する前記一部分の割合を乗じることにより得られる値以上の速度で、前記一部分を前記ネットワークを介して取得する付記7記載のデータ送信方法。
(付記9)
前記第二の送信要求に応じ、前記データの再生時のビットレートに、前記データの全部に対する前記一部分の割合を乗じることにより得られる値以上の速度で、前記一部分を前記ネットワークを介して取得する付記7記載のデータ送信方法。
(付記10)
ネットワークを介して受信される、データの第一の送信要求の受信に応じ、前記データをネットワークを介して取得し、
取得されたデータを前記第一の送信要求元に送信し、
取得されたデータを記憶部に記憶し、
前記データの途中からの一部分を前記記憶部より削除し、
前記データの第二の送信要求に応じ、前記データの全部を取得する場合より遅い速度で、前記一部分を前記ネットワークを介して取得し、
前記データの前記第二の送信要求に応じ、前記データの前記一部分を除く残存部分に続いて、前記取得部によって取得される前記一部分を、前記第二の送信要求元に送信する処理をコンピュータに実行させるプログラム。
(付記11)
前記第二の送信要求に応じ、前記送信部による前記第二の送信要求元への前記一部分の送信が、前記残存部分の送信に対して遅延しないように、前記一部分を前記ネットワークを介して取得する付記10記載のプログラム。
(付記12)
前記第二の送信要求に応じ、前記データの全部を取得する場合の速度に、前記データの全部に対する前記一部分の割合を乗じることにより得られる値以上の速度で、前記一部分を前記ネットワークを介して取得する付記11記載のプログラム。
(付記13)
前記第二の送信要求に応じ、前記データの再生時のビットレートに、前記データの全部に対する前記一部分の割合を乗じることにより得られる値以上の速度で、前記一部分を前記ネットワークを介して取得する付記11記載のプログラム。
1 配信システム
10 エッジサーバ
11 端末側通信部
12 センタ側通信部
13 キャッシュ部
14 キャッシュ管理部
15 ビットレート判定部
16 送信速度計算部
17 欠落率算出部
18 キャッシュ管理情報記憶部
20 センタサーバ
21 通信処理部
22 読込部
23 欠落率判定部
24 ビットレート判定部
25 送信速度計算部
26 コンテンツ記憶部
30 端末
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
111 要求受信部
112 データ送信部
113 帯域制御部
121 要求送信部
122 データ受信部
131 読込部
132 書込部
133 キャッシュ記憶部
141 削除対象選択部
142 削除部
211 要求受信部
212 データ送信部
213 帯域制御部
B バス

Claims (7)

  1. ネットワークを介して受信される、データの第一の送信要求の受信に応じ、前記データをネットワークを介して取得する取得部と、
    取得されたデータを前記第一の送信要求元に送信する送信部と、
    取得されたデータを記憶する記憶部と、
    前記データの途中からの一部分を前記記憶部より削除する削除部とを有し、
    前記取得部は、前記データの第二の送信要求に応じ、前記データの全部を取得する場合より遅い速度で、前記一部分を前記ネットワークを介して取得し、
    前記送信部は、前記第二の送信要求に応じ、前記データの前記一部分を除く残存部分に続いて、前記取得部によって取得される前記一部分を、前記第二の送信要求元に送信するデータ送信装置。
  2. 前記取得部は、前記第二の送信要求に応じ、前記送信部による前記第二の送信要求元への前記一部分の送信が、前記残存部分の送信に対して遅延しないように、前記一部分を前記ネットワークを介して取得する請求項1記載のデータ送信装置。
  3. 前記取得部は、前記第二の送信要求に応じ、前記データの全部を取得する場合の速度に、前記データの全部に対する前記一部分の割合を乗じることにより得られる値以上の速度で、前記一部分を前記ネットワークを介して取得する請求項2記載のデータ送信装置。
  4. 前記取得部は、前記第二の送信要求に応じ、前記データの再生時のビットレートに、前記データの全部に対する前記一部分の割合を乗じることにより得られる値以上の速度で、前記一部分を前記ネットワークを介して取得する請求項2記載のデータ送信装置。
  5. データを記憶するデータ記憶装置と、前記データ記憶装置にネットワークを介して接続するデータ送信装置とを含むデータ送信システムであって、
    前記データ送信装置は、
    ネットワークを介して受信される、データの第一の送信要求の受信に応じ、前記データを前記データ記憶装置より取得する取得部と、
    取得されたデータを前記第一の送信要求元に送信する送信部と、
    取得されたデータを記憶する記憶部と、
    前記データの途中からの一部分を前記記憶部より削除する削除部とを有し、
    前記取得部は、前記データの第二の送信要求に応じ、前記データの全部を取得する場合より遅い速度で、前記一部分を前記データ記憶装置より取得し、
    前記送信部は、前記第二の送信要求に応じ、前記データの前記一部分を除く残存部分に続いて、前記取得部によって取得される前記一部分を、前記第二の送信要求元に送信するデータ送信システム。
  6. ネットワークを介して受信される、データの第一の送信要求の受信に応じ、前記データをネットワークを介して取得し、
    取得されたデータを前記第一の送信要求元に送信し、
    取得されたデータを記憶部に記憶し、
    前記データの途中からの一部分を前記記憶部より削除し、
    前記データの第二の送信要求に応じ、前記データの全部を取得する場合より遅い速度で、前記一部分を前記ネットワークを介して取得し、
    前記データの前記第二の送信要求に応じ、前記データの前記一部分を除く残存部分に続いて、前記取得部によって取得される前記一部分を、前記第二の送信要求元に送信する処理をコンピュータが実行するデータ送信方法。
  7. ネットワークを介して受信される、データの第一の送信要求の受信に応じ、前記データをネットワークを介して取得し、
    取得されたデータを前記第一の送信要求元に送信し、
    取得されたデータを記憶部に記憶し、
    前記データの途中からの一部分を前記記憶部より削除し、
    前記データの第二の送信要求に応じ、前記データの全部を取得する場合より遅い速度で、前記一部分を前記ネットワークを介して取得し、
    前記データの前記第二の送信要求に応じ、前記データの前記一部分を除く残存部分に続いて、前記取得部によって取得される前記一部分を、前記第二の送信要求元に送信する処理をコンピュータに実行させるプログラム。
JP2012234094A 2012-10-23 2012-10-23 データ送信装置、データ送信システム、データ送信方法、及びプログラム Expired - Fee Related JP6015338B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012234094A JP6015338B2 (ja) 2012-10-23 2012-10-23 データ送信装置、データ送信システム、データ送信方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012234094A JP6015338B2 (ja) 2012-10-23 2012-10-23 データ送信装置、データ送信システム、データ送信方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2014085822A true JP2014085822A (ja) 2014-05-12
JP6015338B2 JP6015338B2 (ja) 2016-10-26

Family

ID=50788829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012234094A Expired - Fee Related JP6015338B2 (ja) 2012-10-23 2012-10-23 データ送信装置、データ送信システム、データ送信方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6015338B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017145389A1 (ja) * 2016-02-26 2017-08-31 三菱電機株式会社 ノード装置
WO2017163426A1 (ja) * 2016-03-25 2017-09-28 富士通株式会社 中継装置、中継方法及び中継プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200380A (ja) * 1993-12-09 1995-08-04 Internatl Business Mach Corp <Ibm> ビデオ・ファイル配布システムおよび方法
JPH11331806A (ja) * 1998-05-11 1999-11-30 Matsushita Electric Ind Co Ltd ビデオサーバおよびビデオサーバのデータ配信方法
JP2002149477A (ja) * 2000-11-10 2002-05-24 Sony Corp データ蓄積装置およびその方法、ならびに記録媒体
JP2006172290A (ja) * 2004-12-17 2006-06-29 Canon Inc 画像出力システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200380A (ja) * 1993-12-09 1995-08-04 Internatl Business Mach Corp <Ibm> ビデオ・ファイル配布システムおよび方法
JPH11331806A (ja) * 1998-05-11 1999-11-30 Matsushita Electric Ind Co Ltd ビデオサーバおよびビデオサーバのデータ配信方法
JP2002149477A (ja) * 2000-11-10 2002-05-24 Sony Corp データ蓄積装置およびその方法、ならびに記録媒体
JP2006172290A (ja) * 2004-12-17 2006-06-29 Canon Inc 画像出力システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017145389A1 (ja) * 2016-02-26 2017-08-31 三菱電機株式会社 ノード装置
WO2017163426A1 (ja) * 2016-03-25 2017-09-28 富士通株式会社 中継装置、中継方法及び中継プログラム
JPWO2017163426A1 (ja) * 2016-03-25 2018-12-27 富士通株式会社 中継装置、中継方法及び中継プログラム
US10637955B2 (en) 2016-03-25 2020-04-28 Fujitsu Limited Relay device, and relay method

Also Published As

Publication number Publication date
JP6015338B2 (ja) 2016-10-26

Similar Documents

Publication Publication Date Title
US10133679B2 (en) Read cache management method and apparatus based on solid state drive
JP5408257B2 (ja) コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信プログラム
CN109600437B (zh) 一种流媒体资源的下载方法及缓存服务器
US20150215656A1 (en) Content management apparatus and method, and storage medium
JP2007080161A (ja) データ配信システム、部分コンテンツ格納サーバ、応答高速化方法、及びプログラム
CN108965910B (zh) 一种视频缓存方法及播放器
JP5764100B2 (ja) コンテンツ配信システムおよびコンテンツ配信方法
US20120194534A1 (en) System and Method for Managing Cache Storage in Adaptive Video Streaming System
WO2011024949A1 (ja) コンテンツ配信装置、コンテンツ配信方法、およびプログラム
EP3873101A1 (en) Selective pre-caching of media streams
US11438673B2 (en) Presenting media items on a playing device
US20240095147A1 (en) Systems and methods for optimizing hard drive throughput
JP2020188387A (ja) 制御装置、制御方法及びプログラム
JP5699619B2 (ja) キャッシュ装置、データ管理方法、プログラム、及びキャッシュシステム
JP6015338B2 (ja) データ送信装置、データ送信システム、データ送信方法、及びプログラム
KR102521753B1 (ko) 네트워크에서 스트리밍되는 콘텐츠를 클라이언트 디바이스의 플레이어에서 재생하기 위한 방법
US9535837B2 (en) Decentralized online cache management for digital content conveyed over shared network connections based on cache fullness and cache eviction policies
CN109429076B (zh) 多媒体数据的播放卡顿处理方法以及装置
US20170178682A1 (en) Systems and processes for efficiently storing and retrieving video content
KR101590098B1 (ko) 버퍼링 장치 및 방법
KR102434950B1 (ko) 데이터를 스트리밍하기 위한 방법들 및 장치들
CN102217278B (zh) 一种媒体内容在线适配方法及装置
KR20220158275A (ko) 네트워크에서 스트리밍되는 콘텐츠를 클라이언트 디바이스의 플레이어에서 재생하기 위한 방법
JP4533738B2 (ja) キャッシュ削除方法及びコンテンツ中継サーバ
CN104333803B (zh) 防止视频编辑时丢帧的方法、设备及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160412

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160413

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160510

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160912

R150 Certificate of patent or registration of utility model

Ref document number: 6015338

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees