JP2012181745A - キャッシュ装置及び方法並びにプログラム - Google Patents

キャッシュ装置及び方法並びにプログラム Download PDF

Info

Publication number
JP2012181745A
JP2012181745A JP2011045125A JP2011045125A JP2012181745A JP 2012181745 A JP2012181745 A JP 2012181745A JP 2011045125 A JP2011045125 A JP 2011045125A JP 2011045125 A JP2011045125 A JP 2011045125A JP 2012181745 A JP2012181745 A JP 2012181745A
Authority
JP
Japan
Prior art keywords
content
priority
cache device
frequency
requested
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
JP2011045125A
Other languages
English (en)
Other versions
JP5566320B2 (ja
Inventor
Yuichiro Hei
雄一郎 屏
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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2011045125A priority Critical patent/JP5566320B2/ja
Publication of JP2012181745A publication Critical patent/JP2012181745A/ja
Application granted granted Critical
Publication of JP5566320B2 publication Critical patent/JP5566320B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】コンテンツのサイズ、コンテンツサーバとの距離及びコンテンツ要求の頻度に基づいてキャッシュ選択するキャッシュ装置を提供する。
【解決手段】キャッシュ装置1を、コンテンツを優先度と対応づけて保存するコンテンツ保存部3と、ユーザからの要求に従い算出した優先度に基づいてコンテンツをユーザに送信し、保存されたコンテンツ及び優先度を更新するコンテンツ処理部2とを備えて提供する。優先度はコンテンツのサイズ、距離及び要求の頻度に基づく所与の関係で処理部2内の優先度算出部234が算出する。要求コンテンツがキャッシュされていればキャッシュから配信し、されていなければサーバから取得して配信すると共にその優先度を求め、該優先度が所定基準を満たしている場合に、キャッシュに追加する。
【選択図】図2

Description

本発明はキャッシュ装置及び方法並びにプログラムに関する。
近年、インターネットにおいて、映像などに代表される大容量コンテンツの転送によるトラフィック増加や、それに伴うエンドユーザへのレスポンス低下が問題となっている。トラフィック増を抑制し、かつエンドユーザへのレスポンスを向上させる手段として、エンドユーザの近くにキャッシュサーバを設置する方法がある。キャッシュサーバは、オリジナルコンテンツのコピーを蓄積するとともに、エンドユーザからコンテンツの配信リクエストを受ける。エンドユーザがリクエストするコンテンツがキャッシュサーバに存在すれば、そのコンテンツはキャッシュサーバからエンドユーザに配信され、キャッシュサーバに存在しない場合は、オリジナルコンテンツを保持するサーバからコンテンツを取得して蓄積し、エンドユーザに配信する。
エンドユーザからのリクエストに対する、キャッシュサーバでのコンテンツヒット率が高くなるにつれ、オリジナルのコンテンツサーバとキャッシュサーバとの間のトラフィック削減効果も高くなることから、キャッシュサーバにおいてキャッシュするコンテンツの選択方法が、キャッシュサーバの有効利用における技術的ポイントの一つとなる。
このような事情に関連する従来技術として、以下の特許文献1には、リクエストの少ないコンテンツは優先的にキャッシュサーバから削除し、リクエストが多いコンテンツを優先的にキャッシュサーバに蓄積することで、キャッシュサーバのヒット率を向上させる技術が開示されている。
特許第3999004号(コンテンツ管理方法)
上記従来技術は、コンテンツへのリクエスト頻度のみを考慮してキャッシュサーバのヒット率を向上させるものである。しかしながら、キャッシュサーバ設置の目的である、トラフィック抑制およびエンドユーザへのレスポンス向上を効果的に達成するには、コンテンツへのリクエストの頻度だけでなく、コンテンツサイズや、オリジナルのコンテンツが存在するサーバまでの距離(遅延)も考慮する必要がある。
例えば、リクエスト頻度が同等の場合、よりサイズの大きいコンテンツをキャッシュサーバでキャッシュすれば、トラフィック抑制効果はより大きくなる。また距離が大きいコンテンツを優先的にキャッシュすれば、エンドユーザへのレスポンス向上について、キャッシュ効果がより大きくなる。しかし、上記従来技術は、リクエスト頻度のみを考慮するため、トラフィック抑制やレスポンス向上を効率的に達成することができない。
本発明の目的は、上記の従来技術の課題を解決し、頻度のみならずコンテンツサイズや距離をも考慮してキャッシュするコンテンツを選択するキャッシュ装置及び方法並びにプログラムを提供することにある。
上記の目的を達成するため、本発明に係るキャッシュ装置は、コンテンツを保存するコンテンツ保存部と、エンドユーザからのコンテンツ要求に対して当該要求コンテンツを前記エンドユーザに送信するコンテンツ処理部とを備え、前記コンテンツ保存部に新規保存または継続保存されるコンテンツがその優先度に基づいて制御されるキャッシュ装置において、前記コンテンツ処理部は、要求コンテンツのサイズを取得するサイズ取得部と、当該要求コンテンツが存在するコンテンツサーバと前記キャッシュ装置との距離を取得する距離取得部と、当該要求コンテンツに対するエンドユーザからの要求の頻度を取得する頻度取得部と、当該取得されたサイズ、距離及び頻度に基づいて当該要求コンテンツの優先度を算出する優先度算出部とを含むことを特徴とする。
また、本発明に係るキャッシュ方法はコンテンツをキャッシュ装置に保存するコンテンツ保存段階と、エンドユーザからのコンテンツ要求に対して当該要求コンテンツを前記エンドユーザに送信するコンテンツ処理段階とを備え、前記キャッシュ装置に新規保存または継続保存されるコンテンツがその優先度に基づいて制御されるキャッシュ装置のキャッシュ方法において、前記コンテンツ処理段階は、要求コンテンツのサイズを取得するサイズ取得段階と、当該要求コンテンツが存在するコンテンツサーバと前記キャッシュ装置との距離を取得する距離取得段階と、当該要求コンテンツに対するエンドユーザからの要求の頻度を取得する頻度取得段階と、当該取得されたサイズ、距離及び頻度に基づいて当該要求コンテンツの優先度を算出する優先度算出段階とを含むことを特徴とする。
さらに、本発明に係るプログラムは、コンテンツをキャッシュ装置に保存するコンテンツ保存段階と、エンドユーザからのコンテンツ要求に対して当該要求コンテンツを前記エンドユーザに送信するコンテンツ処理段階とを備え、前記キャッシュ装置に新規保存または継続保存されるコンテンツがその優先度に基づいて制御されるキャッシュ装置のキャッシュ方法をコンピュータに実行させるプログラムにおいて、前記コンテンツ処理段階は、要求コンテンツのサイズを取得するサイズ取得段階と、当該要求コンテンツが存在するコンテンツサーバと前記キャッシュ装置との距離を取得する距離取得段階と、当該要求コンテンツに対するエンドユーザからの要求の頻度を取得する頻度取得段階と、当該取得されたサイズ、距離及び頻度に基づいて当該要求コンテンツの優先度を算出する優先度算出段階とを含むことを特徴とする。
本発明によれば、コンテンツのサイズ、コンテンツサーバとの距離及びコンテンツ要求の頻度という3つのパラメータに基づいた優先度を利用してキャッシュするコンテンツを決定するので、トラヒック抑制やエンドユーザへのレスポンス向上をより効率的に達成することができる。
本発明に係るキャッシュ装置が存在する典型的なネットワーク構成を示す図である。 キャッシュ装置の機能ブロック図である。 制御部のうち優先度算出に関する機能を担う部分の機能ブロック図である。 キャッシュ装置の動作のフローチャートである。 優先度管理テーブルの例を示す図である。 新たに取得したコンテンツの保存判断及び該判断に応じた処理を示すフローチャートである。
以下に、図面を参照して本発明を詳細に説明する。図1に、本発明において想定する典型的なネットワーク構成を示す。インターネットには、多数のコンテンツサーバが存在する。各エンドユーザはADSLやFTTH等のアクセスネットワーク経由でインターネットに接続する。エンドユーザがあるコンテンツサーバからコンテンツを取得する際、まずキャッシュ装置1に接続する。
キャッシュ装置1は、エンドユーザが要求するコンテンツをキャッシュしているかどうか検索し、キャッシュしている場合は、エンドユーザにそのコンテンツを代理で配信する。キャッシュしていない場合は、オリジナルのコンテンツを持つコンテンツサーバに接続してコンテンツを取得し、必要であればそのコンテンツをキャッシュした上で、エンドユーザにそのコンテンツを配信する。
図2はキャッシュ装置1の、エンドユーザ及びコンテンツサーバとの関係を含む機能ブロック図である。キャッシュ装置1は、コンテンツ処理部2及びコンテンツ保存部3を備える。コンテンツ処理部2は、リクエスト受付部20、コンテンツ取得部21、コンテンツ送信部22及び制御部23を含む。コンテンツ保存部3にはコンテンツがキャッシュして保存される。コンテンツ保存部3内の優先度管理テーブルには各コンテンツの優先度及び関連情報が保存されている。ここで、優先度とはコンテンツがキャッシュ装置1へ新規保存、または継続保存される優先度を意味する。
図3は制御部23のうち、優先度算出に関連する部分の機能ブロック図である。制御部23は、サイズ取得部231、距離取得部232、頻度取得部233及び優先度算出部234を含む。エンドユーザからのコンテンツ要求に応じて、当該要求コンテンツに対して、サイズ取得部231はそのサイズを取得し、距離取得部232はその距離を取得し、頻度取得部はその頻度を取得する。また優先度算出部234は当該算出されたサイズ、距離及び頻度に基づいて優先度を算出する。
リクエスト受付部20はエンドユーザからのリクエスト(コンテンツ要求)を受け付け、制御部23は、当該コンテンツ要求に従って、キャッシュ装置1内の処理全般の制御を行う。図4に当該制御によるキャッシュ装置1の動作のフローチャートを示す。
ステップS1にてリクエスト受付部20がエンドユーザよりコンテンツ要求を受信する。ステップS1では、コンテンツ要求の情報より頻度取得部231が当該要求コンテンツに対する頻度を求めることができる。ステップS2にて制御部23は、要求されたコンテンツがコンテンツ保存部3に保存されているか検索するため、当該コンテンツ保存部3にある優先度管理テーブルを参照する。
優先度管理テーブルには、保存されているコンテンツのID、コンテンツサイズ、コンテンツへの距離、リクエスト頻度及びこれらのパラメータから算出された優先度が対応付けられて記録されている。図5に優先度管理テーブルの例を示す。各項目については後述するが、それぞれサイズ取得部231、距離取得部232、頻度取得部233及び優先度算出部234によって取得された値であって、制御部23が優先度管理テーブルに書き込んで更新したものである。
優先度管理テーブルの1つの役目として、保存コンテンツファイルのリストという役目がある。当該優先度管理テーブルに登録されているコンテンツは、コンテンツ保存部3内に保存されており、キャッシュとして利用することができる。
図4に戻り、ステップS3にて、エンドユーザの要求コンテンツがコンテンツ優先度管理テーブルに登録されている場合は、上記の通り、コンテンツ保存部3に当該コンテンツがキャッシュとして保存されている。よってステップS4に進み、制御部23は、コンテンツ保存部3内の当該コンテンツをコンテンツ送信部22によってエンドユーザに送信させる。
またステップS3にて、エンドユーザの要求コンテンツがコンテンツ優先度管理テーブルに登録されていない場合は、当該コンテンツはコンテンツ保存部3には保存されていない。よってステップS7に進み、制御部23は、コンテンツ取得部21にコンテンツサーバからコンテンツを新たに取得させる。
ステップS7にて、コンテンツ取得部21を介してキャッシュ装置1がどのコンテンツサーバに接続するかは、DNS(図1では不図示)を利用して決定する。具体的には、制御部23がエンドユーザからのコンテンツ要求に含まれるURLからホスト名を抽出し、DNSを利用してそのホスト名に対応するIPアドレスを求める。またこの際に、当該コンテンツに対してサイズ取得部231がサイズを取得し、距離取得部232が距離を取得し、頻度取得部233が頻度を取得する。頻度取得はステップS7ではなくステップS1で行ってもよい。
ステップS8にて、優先度算出部234は各取得部が取得した値を利用して、新たに取得したコンテンツの優先度を算出する。制御部23は当該優先度に基づいて当該コンテンツをコンテンツ保存部3に保存するかの判断を行う。保存すると判断した場合は制御部23はステップS8にて保存も行う。当該ステップS8の詳細については後述する。
ステップS8の判断の後のステップS4にて、保存するか否かの当該判断に関わらず、新たに取得したコンテンツをコンテンツ送信部22がエンドユーザに送信する。なお、保存しない場合は、当該コンテンツはキャッシュ装置1にてエンドユーザへの送信のために一時的に保存はされるが、制御部23により、送信後に削除される。
あるいは、ステップS7ではコンテンツ本体を取得するのではなく、当該コンテンツの優先度算出に必要な情報のみを取得してもよい。そしてステップS8で保存すると判断してからコンテンツ本体を取得してもよい。保存しないと判断した際は、キャッシュ装置1では当該コンテンツをエンドユーザへ送信するための中継を行うようにしてもよい。
以上、ステップS4を終えた後、ステップS5で制御部23は優先度管理テーブルを更新して、ステップS6でエンドユーザからのコンテンツ要求に応じた一連の処理が終了する。ステップS5における更新は、ステップS3の後の各経緯に応じた処理となる。
すなわち、要求コンテンツが既に優先度管理テーブルに登録されていた場合は、制御部23は、当該テーブルの当該コンテンツに対する要求の頻度の項目を、頻度取得部233がステップS1で取得した値によって更新する。さらに、既に優先度管理テーブルに記載されているサイズ及び距離を用いて優先度算出部234により優先度を求めて、制御部23は当該コンテンツの優先度も更新する。
登録されていなかった場合で且つステップS8で要求コンテンツが保存された場合には、制御部23は当該要求コンテンツを新たに優先度管理テーブルに登録し、また必要に応じて既に登録されている他のコンテンツをテーブルから削除する。ステップS8で要求コンテンツが保存されなかった場合は優先度管理テーブルは更新されない(更新する必要がない)。これらについては後述する。
なお、ステップS4とS5とは順序が逆又は同時であってもよい。すなわち、ステップS4を開始する時点は、コンテンツをどのように送信するかということが既に決定されている状態である。よって、ステップS4の開始時点で優先度管理テーブルの更新も行うことができるため、ステップS4とS5とは順序が逆又は同時であってもよい。
図6は、図4のステップS8の詳細を示すフローチャートである。すなわち、図6は新たに取得したコンテンツの保存判断及び該判断に応じた処理を示すフローチャートである。まずステップS11において、優先度算出部234は当該コンテンツの優先度を算出する。算出の詳細については後述するが、サイズ取得部231ないし頻度取得部233がステップS7などで取得したサイズ及び距離と、当該コンテンツに対するコンテンツ要求の頻度とに基づいて算出される。
次にステップS12にて、制御部23は、当該算出した優先度を、コンテンツを保存するか否かの基準となる所定の閾値と比較する。閾値以上/閾値より大であれば、当該新コンテンツをコンテンツ保存部3に保存するため、ステップS13へ進む。閾値未満/閾値以下であれば、当該新コンテンツは保存しないので、ステップS15へ進み、判断フローを終了し、前述の通り図4に戻ってステップS4へ進む。
保存すると判断した後のステップS13では、制御部23が、コンテンツ保存部3において当該新コンテンツを保存可能であるかを判定する。すなわち、コンテンツ保存部3における当該時点の保存コンテンツの総容量値に、当該新コンテンツの容量値を加えて、コンテンツ保存部3の所定のコンテンツ保存可能容量値を超えないかを判定する。
所定容量値を超えなければステップS14に進み、制御部23は当該コンテンツをコンテンツ保存部3に保存し、ステップS15で終了する。この場合、制御部23は、図4のステップS5では新たに保存したコンテンツをそのサイズ、距離及び頻度並びに算出された優先度の情報と共に優先度管理テーブルに新規登録する。
ステップS13にて所定容量値を超えると判断された場合ステップS16に進み、コンテンツ保存部3において当該コンテンツが保存可能となるように、制御部23は空き容量を確保する処理を行う。すなわち、優先度管理テーブルを参照して、優先度の低いコンテンツから順次、コンテンツ保存部3より削除する。当該削除処理は当該新コンテンツを保存可能な空き容量が確保された時点で終了し、ステップS14に進んで制御部23は当該新コンテンツを保存し、ステップS15で当該フローは終了する。この場合、図4のステップS5では保存したコンテンツに対して制御部23は、そのサイズ、距離及び頻度並びに算出された優先度の情報と共に優先度管理テーブルに新規登録すると共に、削除したコンテンツの情報は優先度管理テーブルからも削除する。
なお、ステップS12におけるコンテンツ保存判断用の前記所定の閾値には、キャッシュ装置1の運用管理者などによって固定値を設定しておいてもよいし、動的に変動するようにしてもよい。以下、動的に変動させる場合の例を説明する。
まず初期状態として、コンテンツ保存部3に充分容量の余裕がある状態を想定する。そして当該初期状態にて、制御部23は閾値の初期値を0にしておく。この場合、コンテンツ要求がある都度しばらくは、当該コンテンツが保存されていなければキャッシュとして保存される。
キャッシュ装置1のキャッシュ可能容量(コンテンツ保存部3に追加保存可能な容量)が少なくなり、制御部23が優先度の小さいコンテンツをキャッシュ装置から削除する際に、制御部23は前記削除されたコンテンツの優先度を新たな閾値とする。複数削除された場合は、最後に削除されたコンテンツに対応する最大の優先度を用いてもよいし、その他の削除コンテンツに対応する優先度を用いてもよい。以降キャッシュ装置1からコンテンツが削除される度、すなわちステップS16にて、閾値を更新する。
あるいは動的に変動させる例で上記とほぼ同様の効果が得られる例として、ステップS12において優先度管理テーブルを参照して、当該時点における最小の優先度を閾値とすることもできる。なお、この場合も上記と同様に、閾値の初期値としては0を与えておけばよい。
次に、優先度算出部234による優先度の算出手法について説明する。一実施形態では、優先度を以下の式(1)で算出する。
(コンテンツの優先度)=Sa×Db×Fc …式(1)
ここで、a、b、cは正の定数とし、例えばキャッシュ装置1の運用管理者等によって値を設定される。またSはコンテンツサイズ、Dはキャッシュ装置からコンテンツサーバまでの距離(パケット転送時間)、Fはコンテンツ要求の頻度を表す。
a、b、cの値は、コンテンツ優先度算出において、どのパラメータを重要視するかを調整する役割を持つ。例えばコンテンツ1、2があり、各コンテンツのS、D、Fの値が以下の通りであったとする。
コンテンツ1: S = 2、D = 2、F = 5
コンテンツ2: S = 1、D = 4、F = 5
ここで a = b = c = 1とすれば、コンテンツ1、2の優先度は同じとなる。一方、a = 2、b = c = 1とすれば、コンテンツ1の優先度の方が大きくなり、a = c = 1、b = 2とすれば、コンテンツ2の優先度の方が大きくなる。すなわち、サイズが大きいコンテンツを優先的にキャッシュさせたい場合はaの値をb、cよりも大きく設定し、距離が大きいコンテンツを優先的にキャッシュさせたい場合はbの値a、cよりも大きく設定し、コンテンツ要求の頻度が大きいコンテンツを優先的にキャッシュさせたい場合はcの値をa、bよりも大きく設定すればよい。なお、図5の優先度管理テーブルの例では、a=b=c=1として算出された例が示されている。
なお、優先度の算出は上記の式に限らず、3つのパラメータすなわちサイズ、距離及びコンテンツ要求の頻度の関数であって、各パラメータの重み付けが可能な任意の所定関数、特に増加関数を利用することができる。例えば同様の変数S,D,F及び正の定数a,b,cを用いて、次式(2)で与えてもよい。
(コンテンツの優先度)=aS+bD+cF …式(2)
なおまた式(1)や(2)のような関数を用いる場合、S,D,Fは各パラメータの所定単位を用いて、適宜無次元の値に変換して利用するものとする。
次に、ステップS5と関連して、優先度の算出対象・算出タイミングの各実施形態を説明する。一実施形態では、制御部23による優先度管理テーブルの更新負荷を下げるため、要求を受けたコンテンツに対してのみ優先度を算出する。そして、ステップS5で優先度管理テーブルを更新する必要が生じた場合に、当該要求されたコンテンツの欄のみを更新する。なお、ステップS16で削除された場合は必ず優先度管理テーブルより削除して更新するものとする。
この場合、優先度を算出するケースは次の2通りである。第一のケースは、図3にてステップS7,S8を辿る新たなコンテンツに対して算出される場合である。当該新コンテンツに対して優先度が算出された後、当該新コンテンツが保存される場合にはステップS5で優先度管理テーブルに登録される。例えば、図5の例で、ID=BD345のコンテンツは新規登録されたものであり、初めてコンテンツ要求を受けることで頻度=初期値1として、サイズ=5及び距離=30を求めて、優先度=5*30*1=150として優先度管理テーブルに登録されている。
第二のケースは、図4にてステップS7,S8を辿らない既に保存されているコンテンツに対して、当該コンテンツに対する要求をトリガとして算出される場合である。この場合、頻度取得部233がステップS1にて頻度を当該コンテンツに対する最新の値として取得する。そして、優先度算出部234は当該最新の頻度と、既に優先度管理テーブルに保存されているサイズ及び距離とを用いて、優先度を最新の値に更新する。これらの結果を用いて制御部23は優先度管理テーブルの当該コンテンツの欄を更新する。
例えば、図5の例で、ID=AA123のコンテンツに対してさらにコンテンツ要求を受けると、頻度が図5に記載の5から5+1=6に更新され、その結果、ステップS5にて優先度が10*30*6=1800と算出され、古い値の1500(=10*30*5)を上書きして更新される。
あるいは、別の一実施形態では、ステップS5にて優先度管理テーブルの全体を常に更新する。すなわち、要求を受けたコンテンツに関して前記と同様に優先度を算出して更新するのみならず、要求を受けていないその他全てのコンテンツの欄も、更新する。
この場合、ステップS1にて各コンテンツにつき頻度取得部233が頻度を最新の値として求める。ここでは、要求を受けていないコンテンツに関しては、頻度の値は変わらないか又は減少する。さらに、優先度管理テーブルに既に記載されているサイズ及び距離を用いて優先度算出部234が優先度を最新の値として算出し、制御部23が優先度管理テーブルの全体を更新する。当該実施形態では更新負荷がかかる代わりに、頻度の情報をタイムリーに反映したキャッシュ判断を行うことができる。
なおまた、上記二実施形態の中間的な実施形態として、要求を受けた際に優先度管理テーブルでは当該コンテンツの欄のみを更新し、頻度に関しては別途各コンテンツに対する頻度情報を頻度取得部233がユーザ要求とは独立に取得して管理しておく。そしてエンドユーザからの要求とは独立に、所定タイミング毎に各コンテンツの頻度情報を優先度管理テーブルの全体で更新して、全コンテンツに対する優先度の値も更新するようにしてもよい。
次に、距離算出部232の取得する距離の各実施形態について説明する。一実施形態では、ステップS7においてキャッシュ装置1がコンテンツサーバからコンテンツを取得する際に、そのコンテンツサーバに向けてpingを実行してキャッシュ装置とコンテンツサーバ間のRTT(Round Trip Time、往復遅延時間)を計測し、その値で距離を代表する。
別の一実施形態では、やはりステップS7において、キャッシュ装置がコンテンツサーバとTCPで通信する場合は、TCP接続確立時にキャッシュ装置がTCP SYNパケットを送信してから、コンテンツサーバよりSYN ACKパケットが返ってくるまでの時間を計測し、その値で距離を代表する。
上記2実施形態における距離は、遅延によって定義される距離であるので、ネットワークの混雑状況の変遷により時間変化がある。よって新たに取得するコンテンツに対してステップS7で取得するのみならず、既に優先度管理テーブルに記載されコンテンツ保存部3に保存されているコンテンツに対する要求を受信した際も、ステップS1などで時間計測を行って、頻度の更新と同様に、優先度管理テーブルの該当コンテンツ欄を更新するようにしてもよい。また当該要求がある都度取得した遅延時間の平均値を用いて、優先度管理テーブルを更新するようにしてもよい。更新タイミングについては、頻度情報の反映について説明した上記二実施形態及び中間的な実施形態と同様の各手法を適用できる。
次に、頻度取得部233が取得する頻度の各実施形態につき説明する。一実施形態では、コンテンツ毎に単位時間当たりにキャッシュ装置1がエンドユーザから受信したコンテンツ要求の回数を算出して頻度とする。例えば単位時間を1分とし、ある1分間にコンテンツ1のリクエストが10回あった場合、コンテンツ1に対する要求の頻度は10と定義する。
優先度管理テーブルには登録されていなくとも、あるコンテンツに対してリクエストがあった場合、当該コンテンツに対する頻度の情報は頻度取得部233は別個独立して保持しておき、ステップS8での優先度算出に利用する。当該コンテンツを保存しないと判断した際も頻度の情報は残しておく。
別の一実施形態として、直近のコンテンツ要求受信時間からの経過時間の逆数を、頻度とする。直近のコンテンツ要求受信時間からの経過時間が長い/短いということは、当該コンテンツへに対する要求の回数が少ない/多いということを意味するため、逆数をとることで頻度として利用できる。この場合も、優先度管理テーブルに登録されていないコンテンツについても、頻度の情報のみを別個保持しておくようにする。
なお、本発明では以上の説明において、エンドユーザからのコンテンツ要求があれば、図4のフローを辿ってキャッシュされているか、キャッシュされていなければキャッシュするか、の判断を全てのコンテンツに対して行うことが前提となっていた。これに対する追加処理を行う別実施形態として、オリジナルのコンテンツのURL(すなわちネットワーク上の位置)に基づいて、そもそもキャッシュ対象とするか否かについて前判断を行う実施形態を説明する。
当該実施形態は特に、キャッシュ装置1の運用者が当該キャッシュ装置1において特定のネットワーク又はサイト(サイト群)に存在するコンテンツのみをキャッシュ対象として設定したい場合や、逆にキャッシュ対象から除外するよう設定したい場合に有効である。
この場合、制御部23がステップS1でコンテンツ要求に含まれるURLに対して判断するようにすればよい。ここで、キャッシュ装置1において予め例えば、「example.comのコンテンツはキャッシュ対象としない」、「test.comのコンテンツはキャッシュ対象とする」等のように、URLに対する所定のフィルタ条件が設定されているものとする。当該フィルタ条件は前者の例のように、除外するものの指定によって設定されてもよいし、逆に後者の例のように通過させるものの指定によって設定されてもよい。
上記処理は、図3などでは不図示の制御部23に含まれるフィルタ処理部によって行われてもよい。上記処理は、URLに対してではなくIPアドレス(アドレス単体又はプレフィクス)に対して行ってもよく、両者を併用してもよい。なお、IPアドレスを用いる場合(ステップS7でなく)ステップS1で制御部23がDNSにアクセスするものとする。
ステップS1で制御部23がキャッシュ対象(キャッシュ候補)と判断したコンテンツに対しては、以上の説明と同様のキャッシュに存在するか、追加するか、等の判断処理(図4の通常の処理)が行われる。キャッシュ対象としないと判断されたコンテンツに対しては、(算出等が不要であるため)サイズ取得、距離取得、頻度取得及び優先度算出や対応する優先度管理テーブル更新は行わず、図4のステップS7及びステップS4の処理のみが行われる。すなわち、当該コンテンツは単に、キャッシュ装置1によってコンテンツサーバとの間で中継されてエンドユーザに送信されるのみである。当該コンテンツに対しては、優先度算出などが省略されるのでキャッシュ装置1の処理負荷を下げることができる。
なお、図4及び図6に示す各ステップを実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータに読み込ませて実行させることにより、当該コンピュータを本発明に係るキャッシュ装置1として機能させるようにしてもよい。この際、当該コンピュータ内にコンテンツ保存部3が含まれていなくともよい。すなわち、当該コンピュータはコンテンツ処理部2として機能するものであってもよい。
以上、本発明によれば、キャッシュ装置1において、(1)コンテンツサイズ、(2)コンテンツへの距離、(3)コンテンツへのリクエスト頻度、の三つのパラメータを考慮してキャッシュするコンテンツを選択するため、キャッシュヒット率の向上とともに、トラフィック抑制やエンドユーザに対するレスポンス向上を効果的に実現できる。
1…キャッシュ装置、2…コンテンツ処理部、3…コンテンツ保存部、23…制御部、231…サイズ取得部、232…距離取得部、233…頻度取得部

Claims (9)

  1. コンテンツを保存するコンテンツ保存部と、
    エンドユーザからのコンテンツ要求に対して当該要求コンテンツを前記エンドユーザに送信するコンテンツ処理部とを備え、前記コンテンツ保存部に新規保存または継続保存されるコンテンツがその優先度に基づいて制御されるキャッシュ装置において、
    前記コンテンツ処理部は、
    要求コンテンツのサイズを取得するサイズ取得部と、
    当該要求コンテンツが存在するコンテンツサーバと前記キャッシュ装置との距離を取得する距離取得部と、
    当該要求コンテンツに対するエンドユーザからの要求の頻度を取得する頻度取得部と、
    当該取得されたサイズ、距離及び頻度に基づいて当該要求コンテンツの優先度を算出する優先度算出部とを含むことを特徴とするキャッシュ装置。
  2. 前記コンテンツ処理部は、
    要求コンテンツが前記コンテンツ保存部に保存されている場合には前記コンテンツ保存部より当該要求コンテンツを前記エンドユーザに送信し、
    保存されていない場合には当該要求コンテンツをコンテンツサーバより取得して前記エンドユーザに送信すると共に前記優先度算出部に対して当該取得した要求コンテンツの優先度を算出させ、当該優先度が所定基準を満たしていれば前記要求コンテンツを前記コンテンツ保存部に新規保存し、満たしていなければ新規保存しないことを特徴とする請求項1に記載のキャッシュ装置。
  3. 前記コンテンツ保存部にはコンテンツを保存可能な所定容量値が設定され、
    前記コンテンツ処理部が、前記算出された優先度が前記所定基準を満たしている要求コンテンツを前記コンテンツ保存部に新規保存する際に、当該新規保存によって保存されているコンテンツの総容量が前記所定容量値を超える場合には、該所定容量値を超えないようになるまで保存されたコンテンツの中から優先度の低い順にコンテンツを削除して当該新規保存に必要な容量を確保することを特徴とする請求項2に記載のキャッシュ装置。
  4. 前記所定基準が、前記要求コンテンツに対して前記優先度算出部が算出した優先度と、前記コンテンツ保存部に既に保存されているコンテンツに対する優先度のうちの最小値と、の比較に基づく基準であることを特徴とする請求項2または3に記載のキャッシュ装置。
  5. 前記優先度算出部が、前記サイズ、距離及び頻度の各々に所定の重み付けを与えた所定の増加関数を用いて前記優先度を算出することを特徴とする請求項1ないし4のいずれかに記載のキャッシュ装置。
  6. 前記コンテンツ処理部は、さらに、要求コンテンツのうちそのURLが所定のフィルタ条件を満たすものに対して前記優先度算出部に優先度を算出させることで、当該要求コンテンツを前記コンテンツ保存部に新規保存または継続保存されうるコンテンツとして制御し、
    要求コンテンツのうちそのURLが前記所定のフィルタ条件を満たさないものに対しては前記優先度算出部に優先度を算出させず、コンテンツサーバより当該要求コンテンツを取得して前記エンドユーザに送信し、当該要求コンテンツを前記コンテンツ保存部に保存しないことを特徴とする請求項1ないし5のいずれかに記載のキャッシュ装置。
  7. 前記キャッシュ装置が、前記エンドユーザがインターネットに接続する際に経由するアクセスネットワークと前記インターネットの間に配置されていることを特徴とする請求項1ないし6のいずれかに記載のキャッシュ装置。
  8. コンテンツをキャッシュ装置に保存するコンテンツ保存段階と、
    エンドユーザからのコンテンツ要求に対して当該要求コンテンツを前記エンドユーザに送信するコンテンツ処理段階とを備え、前記キャッシュ装置に新規保存または継続保存されるコンテンツがその優先度に基づいて制御されるキャッシュ装置のキャッシュ方法において、
    前記コンテンツ処理段階は、
    要求コンテンツのサイズを取得するサイズ取得段階と、
    当該要求コンテンツが存在するコンテンツサーバと前記キャッシュ装置との距離を取得する距離取得段階と、
    当該要求コンテンツに対するエンドユーザからの要求の頻度を取得する頻度取得段階と、
    当該取得されたサイズ、距離及び頻度に基づいて当該要求コンテンツの優先度を算出する優先度算出段階とを含むことを特徴とするキャッシュ方法。
  9. コンテンツをキャッシュ装置に保存するコンテンツ保存段階と、
    エンドユーザからのコンテンツ要求に対して当該要求コンテンツを前記エンドユーザに送信するコンテンツ処理段階とを備え、前記キャッシュ装置に新規保存または継続保存されるコンテンツがその優先度に基づいて制御されるキャッシュ装置のキャッシュ方法をコンピュータに実行させるプログラムにおいて、
    前記コンテンツ処理段階は、
    要求コンテンツのサイズを取得するサイズ取得段階と、
    当該要求コンテンツが存在するコンテンツサーバと前記キャッシュ装置との距離を取得する距離取得段階と、
    当該要求コンテンツに対するエンドユーザからの要求の頻度を取得する頻度取得段階と、
    当該取得されたサイズ、距離及び頻度に基づいて当該要求コンテンツの優先度を算出する優先度算出段階とを含むことを特徴とするプログラム。
JP2011045125A 2011-03-02 2011-03-02 キャッシュ装置及び方法並びにプログラム Expired - Fee Related JP5566320B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011045125A JP5566320B2 (ja) 2011-03-02 2011-03-02 キャッシュ装置及び方法並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011045125A JP5566320B2 (ja) 2011-03-02 2011-03-02 キャッシュ装置及び方法並びにプログラム

Publications (2)

Publication Number Publication Date
JP2012181745A true JP2012181745A (ja) 2012-09-20
JP5566320B2 JP5566320B2 (ja) 2014-08-06

Family

ID=47012878

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011045125A Expired - Fee Related JP5566320B2 (ja) 2011-03-02 2011-03-02 キャッシュ装置及び方法並びにプログラム

Country Status (1)

Country Link
JP (1) JP5566320B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014225125A (ja) * 2013-05-16 2014-12-04 日本電信電話株式会社 通信制御システム及び方法、並びにキャッシュサーバ
JP2015108959A (ja) * 2013-12-04 2015-06-11 Kddi株式会社 転送したコンテンツを保存する通信装置、サーバ装置及びプログラム
KR101529602B1 (ko) * 2013-01-07 2015-06-18 한국과학기술원 캐시 서버, 콘텐츠 제공 시스템 및 콘텐츠 교체 방법
JP2017157951A (ja) * 2016-02-29 2017-09-07 株式会社Kddi総合研究所 無線基地局装置、端末装置、コンテンツ提供方法、コンテンツ取得方法、及びプログラム
JP2018511131A (ja) * 2015-03-26 2018-04-19 アルカテル−ルーセント オンライン媒体のための階層的なコストベースのキャッシング
JP2018102130A (ja) * 2018-03-28 2018-06-28 京セラ株式会社 送信装置及び送信方法
JP2018109903A (ja) * 2017-01-05 2018-07-12 Kddi株式会社 コンテンツ配信システムの転送装置及びプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10320337A (ja) * 1997-05-15 1998-12-04 Hitachi Ltd 分散データ管理方法
JP2000022740A (ja) * 1998-07-02 2000-01-21 Nec Corp ネットワークコンテンツキャッシュ方法及び装置
JP2002251312A (ja) * 2001-02-23 2002-09-06 Hitachi Ltd 通信プロキシ装置
JP2005173876A (ja) * 2003-12-10 2005-06-30 Hitachi Ltd キャッシュサーバ
WO2009154667A1 (en) * 2008-06-20 2009-12-23 Alcatel-Lucent Usa Inc. Methods and apparatus for self-organized caching in a content delivery network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10320337A (ja) * 1997-05-15 1998-12-04 Hitachi Ltd 分散データ管理方法
JP2000022740A (ja) * 1998-07-02 2000-01-21 Nec Corp ネットワークコンテンツキャッシュ方法及び装置
JP2002251312A (ja) * 2001-02-23 2002-09-06 Hitachi Ltd 通信プロキシ装置
JP2005173876A (ja) * 2003-12-10 2005-06-30 Hitachi Ltd キャッシュサーバ
WO2009154667A1 (en) * 2008-06-20 2009-12-23 Alcatel-Lucent Usa Inc. Methods and apparatus for self-organized caching in a content delivery network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200401336004; 'スループット評価指標を導入したWWWキャッシュ置き換えアルゴリズムの提案と評価' 情報処理学会論文誌 第44巻 第4号 , 20030415 *
JPN6014011906; 'スループット評価指標を導入したWWWキャッシュ置き換えアルゴリズムの提案と評価' 情報処理学会論文誌 第44巻 第4号 , 20030415 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101529602B1 (ko) * 2013-01-07 2015-06-18 한국과학기술원 캐시 서버, 콘텐츠 제공 시스템 및 콘텐츠 교체 방법
JP2014225125A (ja) * 2013-05-16 2014-12-04 日本電信電話株式会社 通信制御システム及び方法、並びにキャッシュサーバ
JP2015108959A (ja) * 2013-12-04 2015-06-11 Kddi株式会社 転送したコンテンツを保存する通信装置、サーバ装置及びプログラム
JP2018511131A (ja) * 2015-03-26 2018-04-19 アルカテル−ルーセント オンライン媒体のための階層的なコストベースのキャッシング
JP2017157951A (ja) * 2016-02-29 2017-09-07 株式会社Kddi総合研究所 無線基地局装置、端末装置、コンテンツ提供方法、コンテンツ取得方法、及びプログラム
JP2018109903A (ja) * 2017-01-05 2018-07-12 Kddi株式会社 コンテンツ配信システムの転送装置及びプログラム
JP2018102130A (ja) * 2018-03-28 2018-06-28 京セラ株式会社 送信装置及び送信方法

Also Published As

Publication number Publication date
JP5566320B2 (ja) 2014-08-06

Similar Documents

Publication Publication Date Title
JP5566320B2 (ja) キャッシュ装置及び方法並びにプログラム
KR102301353B1 (ko) 컨텐츠 중심 네트워크에서 컨텐츠 소유자 및 노드의 패킷 전송 방법
US10783077B2 (en) Managing resources using resource expiration data
CN106796547B (zh) 用于代理缓存智能对象淘汰的方法和系统
KR102295664B1 (ko) 글로벌 서버 로드 밸런서 장치 및 상기 장치에서의 동적 캐쉬 유효 기간 제어 방법
CN109905480B (zh) 基于内容中心性的概率缓存内容放置方法
KR20130093813A (ko) 컨텐츠 중심 네트워크에서 컨텐츠의 세그먼트를 프리패칭하는 대상 노드의 통신 방법 및 그 대상 노드
WO2012089062A1 (zh) Cdn网络中的数据传输方法及设备
WO2012089044A1 (zh) 一种内容分发网络中缓存共享的方法及装置
WO2019006775A1 (zh) 一种数据传输方法及其系统
JP2001290787A (ja) データ配信方法及びデータ配信プログラムを格納した記憶媒体
KR20140099834A (ko) 분산형 공유 캐싱 시스템을 위한 적응적 콘텐츠 탐색 방법 및 시스템
JP4291284B2 (ja) キャッシュシステム及びキャッシュサーバ
US10705978B2 (en) Asynchronous tracking for high-frequency and high-volume storage
CN107665235A (zh) 缓存处理方法、装置、计算机设备和存储介质
CN109195180A (zh) 一种减小移动内容中心网络中内容获取时延的解决方法
JP6056857B2 (ja) 通信制御装置及び通信制御方法
US20140369259A1 (en) Apparatus and method for transmitting/receiving data in mobile content network
KR102235622B1 (ko) IoT 환경에서의 협력 에지 캐싱 방법 및 그를 위한 장치
KR20150040172A (ko) 컨텐츠 요청 기록과 요청 순위를 이용한 컨텐츠 캐싱 방법 및 이를 이용한 http 캐시 서버
CN114124971B (zh) 一种基于边缘缓存的cdn-p2p网络的内容副本放置方法
KR20130095202A (ko) 네트워크 비용을 고려한 콘텐츠 캐시 관리 방법 및 장치
JP6901262B2 (ja) コンテンツ配信システムの転送装置及びプログラム
JP2016034079A (ja) 通信速度選択装置、通信速度選択方法、および、通信速度選択プログラム
JP2008293281A (ja) キャッシュ装置、サーバ、キャッシュシステム、キャッシュ方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130823

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140319

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140513

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140617

R150 Certificate of patent or registration of utility model

Ref document number: 5566320

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees