JP5566320B2 - Cache apparatus, method, and program - Google Patents

Cache apparatus, method, and program Download PDF

Info

Publication number
JP5566320B2
JP5566320B2 JP2011045125A JP2011045125A JP5566320B2 JP 5566320 B2 JP5566320 B2 JP 5566320B2 JP 2011045125 A JP2011045125 A JP 2011045125A JP 2011045125 A JP2011045125 A JP 2011045125A JP 5566320 B2 JP5566320 B2 JP 5566320B2
Authority
JP
Japan
Prior art keywords
content
priority
requested
stored
frequency
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011045125A
Other languages
Japanese (ja)
Other versions
JP2012181745A (en
Inventor
雄一郎 屏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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/en
Publication of JP2012181745A publication Critical patent/JP2012181745A/en
Application granted granted Critical
Publication of JP5566320B2 publication Critical patent/JP5566320B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明はキャッシュ装置及び方法並びにプログラムに関する。   The present invention relates to a cache device, method, and program.

近年、インターネットにおいて、映像などに代表される大容量コンテンツの転送によるトラフィック増加や、それに伴うエンドユーザへのレスポンス低下が問題となっている。トラフィック増を抑制し、かつエンドユーザへのレスポンスを向上させる手段として、エンドユーザの近くにキャッシュサーバを設置する方法がある。キャッシュサーバは、オリジナルコンテンツのコピーを蓄積するとともに、エンドユーザからコンテンツの配信リクエストを受ける。エンドユーザがリクエストするコンテンツがキャッシュサーバに存在すれば、そのコンテンツはキャッシュサーバからエンドユーザに配信され、キャッシュサーバに存在しない場合は、オリジナルコンテンツを保持するサーバからコンテンツを取得して蓄積し、エンドユーザに配信する。   In recent years, there has been a problem in the Internet due to an increase in traffic due to transfer of large-capacity content represented by video and the like, and a corresponding decrease in response to end users. As a means for suppressing an increase in traffic and improving the response to the end user, there is a method of installing a cache server near the end user. The cache server stores a copy of the original content and receives a content distribution request from the end user. If the content requested by the end user exists in the cache server, the content is distributed from the cache server to the end user. If the content does not exist in the cache server, the content is acquired and stored from the server holding the original content. Deliver to users.

エンドユーザからのリクエストに対する、キャッシュサーバでのコンテンツヒット率が高くなるにつれ、オリジナルのコンテンツサーバとキャッシュサーバとの間のトラフィック削減効果も高くなることから、キャッシュサーバにおいてキャッシュするコンテンツの選択方法が、キャッシュサーバの有効利用における技術的ポイントの一つとなる。   As the content hit rate in the cache server for requests from end users increases, the effect of reducing traffic between the original content server and the cache server also increases. This is one of the technical points for effective use of the cache server.

このような事情に関連する従来技術として、以下の特許文献1には、リクエストの少ないコンテンツは優先的にキャッシュサーバから削除し、リクエストが多いコンテンツを優先的にキャッシュサーバに蓄積することで、キャッシュサーバのヒット率を向上させる技術が開示されている。   As a prior art related to such a situation, in Patent Document 1 below, content with few requests is preferentially deleted from the cache server, and content with many requests is preferentially accumulated in the cache server, A technique for improving the hit rate of a server is disclosed.

特許第3999004号(コンテンツ管理方法)Patent No. 3999004 (content management method)

上記従来技術は、コンテンツへのリクエスト頻度のみを考慮してキャッシュサーバのヒット率を向上させるものである。しかしながら、キャッシュサーバ設置の目的である、トラフィック抑制およびエンドユーザへのレスポンス向上を効果的に達成するには、コンテンツへのリクエストの頻度だけでなく、コンテンツサイズや、オリジナルのコンテンツが存在するサーバまでの距離(遅延)も考慮する必要がある。   The above prior art improves the hit rate of a cache server in consideration of only the frequency of requests for content. However, in order to effectively achieve traffic control and improved response to end users, which is the purpose of installing a cache server, not only the frequency of requests for content, but also the server where the original content exists and the content size. It is also necessary to consider the distance (delay).

例えば、リクエスト頻度が同等の場合、よりサイズの大きいコンテンツをキャッシュサーバでキャッシュすれば、トラフィック抑制効果はより大きくなる。また距離が大きいコンテンツを優先的にキャッシュすれば、エンドユーザへのレスポンス向上について、キャッシュ効果がより大きくなる。しかし、上記従来技術は、リクエスト頻度のみを考慮するため、トラフィック抑制やレスポンス向上を効率的に達成することができない。   For example, when the request frequency is the same, if the larger size content is cached by the cache server, the traffic suppression effect becomes larger. Further, if content with a long distance is preferentially cached, the cache effect will be greater for improving the response to the end user. However, since the above conventional technology considers only the request frequency, it cannot efficiently achieve traffic suppression and response improvement.

本発明の目的は、上記の従来技術の課題を解決し、頻度のみならずコンテンツサイズや距離をも考慮してキャッシュするコンテンツを選択するキャッシュ装置及び方法並びにプログラムを提供することにある。   An object of the present invention is to solve the above-described problems of the prior art and provide a cache device, method, and program for selecting content to be cached considering not only the frequency but also the content size and distance.

上記の目的を達成するため、本発明に係るキャッシュ装置は、コンテンツを保存するコンテンツ保存部と、エンドユーザからのコンテンツ要求に対して当該要求コンテンツを前記エンドユーザに送信するコンテンツ処理部とを備え、前記コンテンツ保存部に新規保存または継続保存されるコンテンツがその優先度に基づいて制御されるキャッシュ装置において、前記コンテンツ処理部は、要求コンテンツのサイズを取得するサイズ取得部と、当該要求コンテンツが存在するコンテンツサーバと前記キャッシュ装置との距離を取得する距離取得部と、当該要求コンテンツに対するエンドユーザからの要求の頻度を取得する頻度取得部と、当該取得されたサイズ、距離及び頻度に基づいて当該要求コンテンツの優先度を算出する優先度算出部とを含むことを特徴とする。   In order to achieve the above object, a cache device according to the present invention includes a content storage unit that stores content, and a content processing unit that transmits the requested content to the end user in response to a content request from the end user. In the cache device in which the content newly stored or continuously stored in the content storage unit is controlled based on the priority, the content processing unit includes a size acquisition unit that acquires the size of the requested content, and the requested content Based on the distance acquisition unit that acquires the distance between the existing content server and the cache device, the frequency acquisition unit that acquires the frequency of requests from the end user for the requested content, and the acquired size, distance, and frequency A priority calculation unit for calculating the priority of the requested content And wherein the Mukoto.

また、本発明に係るキャッシュ方法はコンテンツをキャッシュ装置に保存するコンテンツ保存段階と、エンドユーザからのコンテンツ要求に対して当該要求コンテンツを前記エンドユーザに送信するコンテンツ処理段階とを備え、前記キャッシュ装置に新規保存または継続保存されるコンテンツがその優先度に基づいて制御されるキャッシュ装置のキャッシュ方法において、前記コンテンツ処理段階は、要求コンテンツのサイズを取得するサイズ取得段階と、当該要求コンテンツが存在するコンテンツサーバと前記キャッシュ装置との距離を取得する距離取得段階と、当該要求コンテンツに対するエンドユーザからの要求の頻度を取得する頻度取得段階と、当該取得されたサイズ、距離及び頻度に基づいて当該要求コンテンツの優先度を算出する優先度算出段階とを含むことを特徴とする。   In addition, the cache method according to the present invention includes a content storage step of storing content in a cache device, and a content processing step of transmitting the requested content to the end user in response to a content request from an end user, the cache device In the cache method of the cache device in which the content newly stored or continuously stored is controlled based on the priority, the content processing step includes a size acquisition step for acquiring the size of the requested content and the requested content A distance acquisition step of acquiring a distance between the content server and the cache device, a frequency acquisition step of acquiring a request frequency from the end user for the requested content, and the request based on the acquired size, distance, and frequency Calculate content priority Characterized in that it comprises a that priority calculation step.

さらに、本発明に係るプログラムは、コンテンツをキャッシュ装置に保存するコンテンツ保存段階と、エンドユーザからのコンテンツ要求に対して当該要求コンテンツを前記エンドユーザに送信するコンテンツ処理段階とを備え、前記キャッシュ装置に新規保存または継続保存されるコンテンツがその優先度に基づいて制御されるキャッシュ装置のキャッシュ方法をコンピュータに実行させるプログラムにおいて、前記コンテンツ処理段階は、要求コンテンツのサイズを取得するサイズ取得段階と、当該要求コンテンツが存在するコンテンツサーバと前記キャッシュ装置との距離を取得する距離取得段階と、当該要求コンテンツに対するエンドユーザからの要求の頻度を取得する頻度取得段階と、当該取得されたサイズ、距離及び頻度に基づいて当該要求コンテンツの優先度を算出する優先度算出段階とを含むことを特徴とする。   The program according to the present invention further includes a content storage stage for storing content in a cache device, and a content processing stage for transmitting the requested content to the end user in response to a content request from an end user, In a program for causing a computer to execute a cache method of a cache device in which content that is newly stored or continuously stored is controlled based on its priority, the content processing step includes a size acquisition step of acquiring the size of the requested content; A distance acquisition step of acquiring a distance between the content server in which the requested content exists and the cache device; a frequency acquisition step of acquiring a frequency of a request from the end user for the requested content; and the acquired size, distance, and Based on frequency Characterized in that it comprises a priority calculation step of calculating a priority of the requested content Te.

本発明によれば、コンテンツのサイズ、コンテンツサーバとの距離及びコンテンツ要求の頻度という3つのパラメータに基づいた優先度を利用してキャッシュするコンテンツを決定するので、トラヒック抑制やエンドユーザへのレスポンス向上をより効率的に達成することができる。   According to the present invention, the content to be cached is determined using priority based on the three parameters of the size of the content, the distance to the content server, and the frequency of the content request, thereby suppressing traffic and improving the response to the end user. Can be achieved more efficiently.

本発明に係るキャッシュ装置が存在する典型的なネットワーク構成を示す図である。It is a figure which shows the typical network structure in which the cache apparatus based on this invention exists. キャッシュ装置の機能ブロック図である。It is a functional block diagram of a cache device. 制御部のうち優先度算出に関する機能を担う部分の機能ブロック図である。It is a functional block diagram of the part which bears the function regarding priority calculation among control parts. キャッシュ装置の動作のフローチャートである。It is a flowchart of operation | movement of a cache apparatus. 優先度管理テーブルの例を示す図である。It is a figure which shows the example of a priority management table. 新たに取得したコンテンツの保存判断及び該判断に応じた処理を示すフローチャートである。It is a flowchart which shows the preservation | save determination of the newly acquired content, and the process according to this determination.

以下に、図面を参照して本発明を詳細に説明する。図1に、本発明において想定する典型的なネットワーク構成を示す。インターネットには、多数のコンテンツサーバが存在する。各エンドユーザはADSLやFTTH等のアクセスネットワーク経由でインターネットに接続する。エンドユーザがあるコンテンツサーバからコンテンツを取得する際、まずキャッシュ装置1に接続する。   Hereinafter, the present invention will be described in detail with reference to the drawings. FIG. 1 shows a typical network configuration assumed in the present invention. There are many content servers on the Internet. Each end user connects to the Internet via an access network such as ADSL or FTTH. When the end user acquires content from a content server, the end user first connects to the cache device 1.

キャッシュ装置1は、エンドユーザが要求するコンテンツをキャッシュしているかどうか検索し、キャッシュしている場合は、エンドユーザにそのコンテンツを代理で配信する。キャッシュしていない場合は、オリジナルのコンテンツを持つコンテンツサーバに接続してコンテンツを取得し、必要であればそのコンテンツをキャッシュした上で、エンドユーザにそのコンテンツを配信する。   The cache device 1 searches whether or not the content requested by the end user is cached. If the content is cached, the cache device 1 distributes the content to the end user by proxy. If it is not cached, the content is acquired by connecting to the content server having the original content, and if necessary, the content is cached and distributed to the end user.

図2はキャッシュ装置1の、エンドユーザ及びコンテンツサーバとの関係を含む機能ブロック図である。キャッシュ装置1は、コンテンツ処理部2及びコンテンツ保存部3を備える。コンテンツ処理部2は、リクエスト受付部20、コンテンツ取得部21、コンテンツ送信部22及び制御部23を含む。コンテンツ保存部3にはコンテンツがキャッシュして保存される。コンテンツ保存部3内の優先度管理テーブルには各コンテンツの優先度及び関連情報が保存されている。ここで、優先度とはコンテンツがキャッシュ装置1へ新規保存、または継続保存される優先度を意味する。   FIG. 2 is a functional block diagram of the cache device 1 including the relationship between the end user and the content server. The cache device 1 includes a content processing unit 2 and a content storage unit 3. The content processing unit 2 includes a request reception unit 20, a content acquisition unit 21, a content transmission unit 22, and a control unit 23. Content is cached and stored in the content storage unit 3. The priority management table in the content storage unit 3 stores the priority of each content and related information. Here, the priority means a priority at which the content is newly stored or continuously stored in the cache device 1.

図3は制御部23のうち、優先度算出に関連する部分の機能ブロック図である。制御部23は、サイズ取得部231、距離取得部232、頻度取得部233及び優先度算出部234を含む。エンドユーザからのコンテンツ要求に応じて、当該要求コンテンツに対して、サイズ取得部231はそのサイズを取得し、距離取得部232はその距離を取得し、頻度取得部はその頻度を取得する。また優先度算出部234は当該算出されたサイズ、距離及び頻度に基づいて優先度を算出する。   FIG. 3 is a functional block diagram of a portion of the control unit 23 related to priority calculation. The control unit 23 includes a size acquisition unit 231, a distance acquisition unit 232, a frequency acquisition unit 233, and a priority calculation unit 234. In response to the content request from the end user, the size acquisition unit 231 acquires the size of the requested content, the distance acquisition unit 232 acquires the distance, and the frequency acquisition unit acquires the frequency. Further, the priority calculation unit 234 calculates the priority based on the calculated size, distance, and frequency.

リクエスト受付部20はエンドユーザからのリクエスト(コンテンツ要求)を受け付け、制御部23は、当該コンテンツ要求に従って、キャッシュ装置1内の処理全般の制御を行う。図4に当該制御によるキャッシュ装置1の動作のフローチャートを示す。   The request receiving unit 20 receives a request (content request) from an end user, and the control unit 23 controls the overall processing in the cache device 1 according to the content request. FIG. 4 shows a flowchart of the operation of the cache device 1 under this control.

ステップS1にてリクエスト受付部20がエンドユーザよりコンテンツ要求を受信する。ステップS1では、コンテンツ要求の情報より頻度取得部231が当該要求コンテンツに対する頻度を求めることができる。ステップS2にて制御部23は、要求されたコンテンツがコンテンツ保存部3に保存されているか検索するため、当該コンテンツ保存部3にある優先度管理テーブルを参照する。   In step S1, the request reception unit 20 receives a content request from the end user. In step S1, the frequency acquisition unit 231 can obtain the frequency for the requested content from the content request information. In step S2, the control unit 23 refers to the priority management table in the content storage unit 3 in order to search whether the requested content is stored in the content storage unit 3.

優先度管理テーブルには、保存されているコンテンツのID、コンテンツサイズ、コンテンツへの距離、リクエスト頻度及びこれらのパラメータから算出された優先度が対応付けられて記録されている。図5に優先度管理テーブルの例を示す。各項目については後述するが、それぞれサイズ取得部231、距離取得部232、頻度取得部233及び優先度算出部234によって取得された値であって、制御部23が優先度管理テーブルに書き込んで更新したものである。   In the priority management table, the ID of the stored content, the content size, the distance to the content, the request frequency, and the priority calculated from these parameters are recorded in association with each other. FIG. 5 shows an example of the priority management table. Although each item will be described later, the values acquired by the size acquisition unit 231, the distance acquisition unit 232, the frequency acquisition unit 233, and the priority calculation unit 234 are written and updated by the control unit 23 in the priority management table. It is a thing.

優先度管理テーブルの1つの役目として、保存コンテンツファイルのリストという役目がある。当該優先度管理テーブルに登録されているコンテンツは、コンテンツ保存部3内に保存されており、キャッシュとして利用することができる。   One role of the priority management table is a list of stored content files. The content registered in the priority management table is stored in the content storage unit 3 and can be used as a cache.

図4に戻り、ステップS3にて、エンドユーザの要求コンテンツがコンテンツ優先度管理テーブルに登録されている場合は、上記の通り、コンテンツ保存部3に当該コンテンツがキャッシュとして保存されている。よってステップS4に進み、制御部23は、コンテンツ保存部3内の当該コンテンツをコンテンツ送信部22によってエンドユーザに送信させる。   Returning to FIG. 4, when the requested content of the end user is registered in the content priority management table in step S3, the content is stored in the content storage unit 3 as a cache as described above. Accordingly, the process proceeds to step S4, and the control unit 23 causes the content transmission unit 22 to transmit the content in the content storage unit 3 to the end user.

またステップS3にて、エンドユーザの要求コンテンツがコンテンツ優先度管理テーブルに登録されていない場合は、当該コンテンツはコンテンツ保存部3には保存されていない。よってステップS7に進み、制御部23は、コンテンツ取得部21にコンテンツサーバからコンテンツを新たに取得させる。   In step S3, when the requested content of the end user is not registered in the content priority management table, the content is not stored in the content storage unit 3. Accordingly, the process proceeds to step S7, and the control unit 23 causes the content acquisition unit 21 to newly acquire content from the content server.

ステップS7にて、コンテンツ取得部21を介してキャッシュ装置1がどのコンテンツサーバに接続するかは、DNS(図1では不図示)を利用して決定する。具体的には、制御部23がエンドユーザからのコンテンツ要求に含まれるURLからホスト名を抽出し、DNSを利用してそのホスト名に対応するIPアドレスを求める。またこの際に、当該コンテンツに対してサイズ取得部231がサイズを取得し、距離取得部232が距離を取得し、頻度取得部233が頻度を取得する。頻度取得はステップS7ではなくステップS1で行ってもよい。   In step S7, to which content server the cache device 1 is connected via the content acquisition unit 21 is determined using DNS (not shown in FIG. 1). Specifically, the control unit 23 extracts a host name from a URL included in a content request from an end user, and obtains an IP address corresponding to the host name using DNS. At this time, the size acquisition unit 231 acquires the size of the content, the distance acquisition unit 232 acquires the distance, and the frequency acquisition unit 233 acquires the frequency. The frequency acquisition may be performed in step S1 instead of step S7.

ステップS8にて、優先度算出部234は各取得部が取得した値を利用して、新たに取得したコンテンツの優先度を算出する。制御部23は当該優先度に基づいて当該コンテンツをコンテンツ保存部3に保存するかの判断を行う。保存すると判断した場合は制御部23はステップS8にて保存も行う。当該ステップS8の詳細については後述する。   In step S8, the priority calculation unit 234 calculates the priority of the newly acquired content by using the value acquired by each acquisition unit. The control unit 23 determines whether to store the content in the content storage unit 3 based on the priority. If it is determined to save, the control unit 23 also saves in step S8. Details of step S8 will be described later.

ステップS8の判断の後のステップS4にて、保存するか否かの当該判断に関わらず、新たに取得したコンテンツをコンテンツ送信部22がエンドユーザに送信する。なお、保存しない場合は、当該コンテンツはキャッシュ装置1にてエンドユーザへの送信のために一時的に保存はされるが、制御部23により、送信後に削除される。   In step S4 after the determination in step S8, the content transmission unit 22 transmits the newly acquired content to the end user regardless of the determination as to whether or not to save. If not stored, the content is temporarily stored in the cache device 1 for transmission to the end user, but is deleted by the control unit 23 after transmission.

あるいは、ステップS7ではコンテンツ本体を取得するのではなく、当該コンテンツの優先度算出に必要な情報のみを取得してもよい。そしてステップS8で保存すると判断してからコンテンツ本体を取得してもよい。保存しないと判断した際は、キャッシュ装置1では当該コンテンツをエンドユーザへ送信するための中継を行うようにしてもよい。   Alternatively, in step S7, instead of acquiring the content main body, only information necessary for calculating the priority of the content may be acquired. Then, the content body may be acquired after it is determined to be stored in step S8. When it is determined not to store, the cache device 1 may perform relay for transmitting the content to the end user.

以上、ステップS4を終えた後、ステップS5で制御部23は優先度管理テーブルを更新して、ステップS6でエンドユーザからのコンテンツ要求に応じた一連の処理が終了する。ステップS5における更新は、ステップS3の後の各経緯に応じた処理となる。   As described above, after step S4 is completed, the control unit 23 updates the priority management table in step S5, and a series of processes corresponding to the content request from the end user is completed in step S6. The update in step S5 is a process corresponding to each process after step S3.

すなわち、要求コンテンツが既に優先度管理テーブルに登録されていた場合は、制御部23は、当該テーブルの当該コンテンツに対する要求の頻度の項目を、頻度取得部233がステップS1で取得した値によって更新する。さらに、既に優先度管理テーブルに記載されているサイズ及び距離を用いて優先度算出部234により優先度を求めて、制御部23は当該コンテンツの優先度も更新する。   That is, when the requested content is already registered in the priority management table, the control unit 23 updates the request frequency item for the content in the table with the value acquired by the frequency acquisition unit 233 in step S1. . Further, the priority is calculated by the priority calculation unit 234 using the size and distance already described in the priority management table, and the control unit 23 also updates the priority of the content.

登録されていなかった場合で且つステップS8で要求コンテンツが保存された場合には、制御部23は当該要求コンテンツを新たに優先度管理テーブルに登録し、また必要に応じて既に登録されている他のコンテンツをテーブルから削除する。ステップS8で要求コンテンツが保存されなかった場合は優先度管理テーブルは更新されない(更新する必要がない)。これらについては後述する。   If the requested content has not been registered and the requested content has been saved in step S8, the control unit 23 newly registers the requested content in the priority management table, and has already been registered as necessary. Delete the contents of from the table. If the requested content is not saved in step S8, the priority management table is not updated (it is not necessary to update). These will be described later.

なお、ステップS4とS5とは順序が逆又は同時であってもよい。すなわち、ステップS4を開始する時点は、コンテンツをどのように送信するかということが既に決定されている状態である。よって、ステップS4の開始時点で優先度管理テーブルの更新も行うことができるため、ステップS4とS5とは順序が逆又は同時であってもよい。   Note that the order of steps S4 and S5 may be reversed or simultaneous. That is, at the time when step S4 is started, it is already determined how to transmit the content. Accordingly, since the priority management table can be updated at the start of step S4, the order of steps S4 and S5 may be reversed or simultaneous.

図6は、図4のステップS8の詳細を示すフローチャートである。すなわち、図6は新たに取得したコンテンツの保存判断及び該判断に応じた処理を示すフローチャートである。まずステップS11において、優先度算出部234は当該コンテンツの優先度を算出する。算出の詳細については後述するが、サイズ取得部231ないし頻度取得部233がステップS7などで取得したサイズ及び距離と、当該コンテンツに対するコンテンツ要求の頻度とに基づいて算出される。   FIG. 6 is a flowchart showing details of step S8 in FIG. That is, FIG. 6 is a flowchart showing the determination of saving the newly acquired content and the processing according to the determination. First, in step S11, the priority calculation unit 234 calculates the priority of the content. Although details of the calculation will be described later, the calculation is performed based on the size and distance acquired by the size acquisition unit 231 to the frequency acquisition unit 233 in step S7 and the like, and the frequency of content requests for the content.

次にステップS12にて、制御部23は、当該算出した優先度を、コンテンツを保存するか否かの基準となる所定の閾値と比較する。閾値以上/閾値より大であれば、当該新コンテンツをコンテンツ保存部3に保存するため、ステップS13へ進む。閾値未満/閾値以下であれば、当該新コンテンツは保存しないので、ステップS15へ進み、判断フローを終了し、前述の通り図4に戻ってステップS4へ進む。   Next, in step S12, the control unit 23 compares the calculated priority with a predetermined threshold value that is a criterion for determining whether to save the content. If it is equal to or greater than the threshold value / greater than the threshold value, the process proceeds to step S13 in order to store the new content in the content storage unit 3. If it is less than the threshold value or less than the threshold value, the new content is not saved, so the process proceeds to step S15, the determination flow is terminated, and as described above, the process returns to FIG. 4 and proceeds to step S4.

保存すると判断した後のステップS13では、制御部23が、コンテンツ保存部3において当該新コンテンツを保存可能であるかを判定する。すなわち、コンテンツ保存部3における当該時点の保存コンテンツの総容量値に、当該新コンテンツの容量値を加えて、コンテンツ保存部3の所定のコンテンツ保存可能容量値を超えないかを判定する。   In step S13 after determining that the content is to be stored, the control unit 23 determines whether the content storage unit 3 can store the new content. That is, the capacity value of the new content is added to the total capacity value of the content stored at that time in the content storage unit 3 to determine whether or not the predetermined content storable capacity value of the content storage unit 3 is exceeded.

所定容量値を超えなければステップS14に進み、制御部23は当該コンテンツをコンテンツ保存部3に保存し、ステップS15で終了する。この場合、制御部23は、図4のステップS5では新たに保存したコンテンツをそのサイズ、距離及び頻度並びに算出された優先度の情報と共に優先度管理テーブルに新規登録する。   If the predetermined capacity value is not exceeded, the process proceeds to step S14, the control unit 23 stores the content in the content storage unit 3, and the process ends in step S15. In this case, the control unit 23 newly registers the newly stored content in the priority management table together with the size, distance, frequency, and calculated priority information in step S5 of FIG.

ステップS13にて所定容量値を超えると判断された場合ステップS16に進み、コンテンツ保存部3において当該コンテンツが保存可能となるように、制御部23は空き容量を確保する処理を行う。すなわち、優先度管理テーブルを参照して、優先度の低いコンテンツから順次、コンテンツ保存部3より削除する。当該削除処理は当該新コンテンツを保存可能な空き容量が確保された時点で終了し、ステップS14に進んで制御部23は当該新コンテンツを保存し、ステップS15で当該フローは終了する。この場合、図4のステップS5では保存したコンテンツに対して制御部23は、そのサイズ、距離及び頻度並びに算出された優先度の情報と共に優先度管理テーブルに新規登録すると共に、削除したコンテンツの情報は優先度管理テーブルからも削除する。   When it is determined in step S13 that the predetermined capacity value is exceeded, the process proceeds to step S16, and the control unit 23 performs a process of securing a free capacity so that the content storage unit 3 can store the content. That is, referring to the priority management table, the contents are sequentially deleted from the content storage unit 3 in order of decreasing priority. The deletion process ends when a free space capable of storing the new content is secured, the process proceeds to step S14, the control unit 23 stores the new content, and the flow ends in step S15. In this case, the control unit 23 newly registers the content stored in step S5 in FIG. 4 in the priority management table together with the size, distance and frequency, and the calculated priority information, and information on the deleted content. Is also deleted from the priority management table.

なお、ステップS12におけるコンテンツ保存判断用の前記所定の閾値には、キャッシュ装置1の運用管理者などによって固定値を設定しておいてもよいし、動的に変動するようにしてもよい。以下、動的に変動させる場合の例を説明する。   It should be noted that a fixed value may be set by the operation manager of the cache device 1 or the like for the predetermined threshold for content storage determination in step S12, or may be dynamically changed. Hereinafter, an example in the case of dynamically changing will be described.

まず初期状態として、コンテンツ保存部3に充分容量の余裕がある状態を想定する。そして当該初期状態にて、制御部23は閾値の初期値を0にしておく。この場合、コンテンツ要求がある都度しばらくは、当該コンテンツが保存されていなければキャッシュとして保存される。   First, as an initial state, it is assumed that the content storage unit 3 has a sufficient capacity. In the initial state, the control unit 23 sets the initial threshold value to 0. In this case, whenever there is a content request, for a while, if the content is not saved, it is saved as a cache.

キャッシュ装置1のキャッシュ可能容量(コンテンツ保存部3に追加保存可能な容量)が少なくなり、制御部23が優先度の小さいコンテンツをキャッシュ装置から削除する際に、制御部23は前記削除されたコンテンツの優先度を新たな閾値とする。複数削除された場合は、最後に削除されたコンテンツに対応する最大の優先度を用いてもよいし、その他の削除コンテンツに対応する優先度を用いてもよい。以降キャッシュ装置1からコンテンツが削除される度、すなわちステップS16にて、閾値を更新する。   When the cacheable capacity of the cache device 1 (capacity that can be additionally stored in the content storage unit 3) decreases and the control unit 23 deletes content with a low priority from the cache device, the control unit 23 deletes the deleted content. Is set as a new threshold. When multiple items are deleted, the highest priority corresponding to the last deleted content may be used, or the priority corresponding to other deleted content may be used. Thereafter, the threshold is updated every time content is deleted from the cache device 1, that is, in step S16.

あるいは動的に変動させる例で上記とほぼ同様の効果が得られる例として、ステップS12において優先度管理テーブルを参照して、当該時点における最小の優先度を閾値とすることもできる。なお、この場合も上記と同様に、閾値の初期値としては0を与えておけばよい。   Alternatively, as an example in which substantially the same effect as described above is obtained in an example of dynamically changing, the priority management table can be referred to in step S12, and the minimum priority at the time point can be set as a threshold value. Note that in this case as well, as described above, 0 may be given as the initial value of the threshold value.

次に、優先度算出部234による優先度の算出手法について説明する。一実施形態では、優先度を以下の式(1)で算出する。
(コンテンツの優先度)=Sa×Db×Fc …式(1)
ここで、a、b、cは正の定数とし、例えばキャッシュ装置1の運用管理者等によって値を設定される。またSはコンテンツサイズ、Dはキャッシュ装置からコンテンツサーバまでの距離(パケット転送時間)、Fはコンテンツ要求の頻度を表す。
Next, a priority calculation method performed by the priority calculation unit 234 will be described. In one embodiment, the priority is calculated by the following equation (1).
(Content priority) = S a × D b × F c (1)
Here, a, b, and c are positive constants, and values are set by, for example, the operation manager of the cache device 1. S represents the content size, D represents the distance from the cache device to the content server (packet transfer time), and F represents the content request frequency.

a、b、cの値は、コンテンツ優先度算出において、どのパラメータを重要視するかを調整する役割を持つ。例えばコンテンツ1、2があり、各コンテンツのS、D、Fの値が以下の通りであったとする。
コンテンツ1: S = 2、D = 2、F = 5
コンテンツ2: S = 1、D = 4、F = 5
The values of a, b, and c have a role of adjusting which parameter is important in content priority calculation. For example, it is assumed that there are contents 1 and 2 and the values of S, D, and F of the contents are as follows.
Content 1: S = 2, D = 2, F = 5
Content 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として算出された例が示されている。   If a = b = c = 1, the priorities of the contents 1 and 2 are the same. On the other hand, if a = 2 and b = c = 1, the priority of content 1 is higher, and if a = c = 1 and b = 2, the priority of content 2 is higher. That is, if you want to preferentially cache large content, set a value larger than b and c. If you want to preferentially cache large content, set a value larger than b values a and c. If you want to preferentially cache content with a high content request frequency, set the value of c larger than a and b. In the example of the priority management table in FIG. 5, an example calculated as a = b = c = 1 is shown.

なお、優先度の算出は上記の式に限らず、3つのパラメータすなわちサイズ、距離及びコンテンツ要求の頻度の関数であって、各パラメータの重み付けが可能な任意の所定関数、特に増加関数を利用することができる。例えば同様の変数S,D,F及び正の定数a,b,cを用いて、次式(2)で与えてもよい。
(コンテンツの優先度)=aS+bD+cF …式(2)
なおまた式(1)や(2)のような関数を用いる場合、S,D,Fは各パラメータの所定単位を用いて、適宜無次元の値に変換して利用するものとする。
Note that the calculation of the priority is not limited to the above-described formula, and is a function of three parameters, that is, the size, the distance, and the content request frequency, and uses an arbitrary predetermined function that can weight each parameter, particularly an increase function be able to. For example, similar variables S, D, F and positive constants a, b, c may be used and given by the following equation (2).
(Content priority) = aS + bD + cF (2)
In addition, when using functions such as Equations (1) and (2), S, D, and F are appropriately converted into dimensionless values using predetermined units of each parameter.

次に、ステップS5と関連して、優先度の算出対象・算出タイミングの各実施形態を説明する。一実施形態では、制御部23による優先度管理テーブルの更新負荷を下げるため、要求を受けたコンテンツに対してのみ優先度を算出する。そして、ステップS5で優先度管理テーブルを更新する必要が生じた場合に、当該要求されたコンテンツの欄のみを更新する。なお、ステップS16で削除された場合は必ず優先度管理テーブルより削除して更新するものとする。   Next, in connection with step S5, each embodiment of the priority calculation target / calculation timing will be described. In one embodiment, in order to reduce the update load of the priority management table by the control unit 23, the priority is calculated only for the requested content. Then, when it becomes necessary to update the priority management table in step S5, only the requested content column is updated. Note that if it is deleted in step S16, it is always deleted and updated from the priority management table.

この場合、優先度を算出するケースは次の2通りである。第一のケースは、図3にてステップS7,S8を辿る新たなコンテンツに対して算出される場合である。当該新コンテンツに対して優先度が算出された後、当該新コンテンツが保存される場合にはステップS5で優先度管理テーブルに登録される。例えば、図5の例で、ID=BD345のコンテンツは新規登録されたものであり、初めてコンテンツ要求を受けることで頻度=初期値1として、サイズ=5及び距離=30を求めて、優先度=5*30*1=150として優先度管理テーブルに登録されている。   In this case, the priority is calculated in the following two cases. The first case is a case where a new content that follows steps S7 and S8 in FIG. 3 is calculated. After the priority is calculated for the new content, when the new content is stored, it is registered in the priority management table in step S5. For example, in the example of FIG. 5, the content of ID = BD345 is newly registered, and when receiving a content request for the first time, frequency = initial value 1, size = 5 and distance = 30 are obtained, and priority = It is registered in the priority management table as 5 * 30 * 1 = 150.

第二のケースは、図4にてステップS7,S8を辿らない既に保存されているコンテンツに対して、当該コンテンツに対する要求をトリガとして算出される場合である。この場合、頻度取得部233がステップS1にて頻度を当該コンテンツに対する最新の値として取得する。そして、優先度算出部234は当該最新の頻度と、既に優先度管理テーブルに保存されているサイズ及び距離とを用いて、優先度を最新の値に更新する。これらの結果を用いて制御部23は優先度管理テーブルの当該コンテンツの欄を更新する。   The second case is a case where a request for the content is calculated as a trigger for the already stored content that does not follow steps S7 and S8 in FIG. In this case, the frequency acquisition unit 233 acquires the frequency as the latest value for the content in step S1. Then, the priority calculation unit 234 updates the priority to the latest value by using the latest frequency and the size and distance already stored in the priority management table. Using these results, the control unit 23 updates the content column of the priority management table.

例えば、図5の例で、ID=AA123のコンテンツに対してさらにコンテンツ要求を受けると、頻度が図5に記載の5から5+1=6に更新され、その結果、ステップS5にて優先度が10*30*6=1800と算出され、古い値の1500(=10*30*5)を上書きして更新される。   For example, in the example of FIG. 5, when a content request is further received for the content with ID = AA123, the frequency is updated from 5 in FIG. 5 to 5 + 1 = 6, and as a result, the priority is set in step S5. Is calculated as 10 * 30 * 6 = 1800, and is updated by overwriting the old value 1500 (= 10 * 30 * 5).

あるいは、別の一実施形態では、ステップS5にて優先度管理テーブルの全体を常に更新する。すなわち、要求を受けたコンテンツに関して前記と同様に優先度を算出して更新するのみならず、要求を受けていないその他全てのコンテンツの欄も、更新する。   Alternatively, in another embodiment, the entire priority management table is always updated in step S5. That is, not only the priority is calculated and updated in the same manner as described above for the requested content, but also all other content fields that have not been requested are updated.

この場合、ステップS1にて各コンテンツにつき頻度取得部233が頻度を最新の値として求める。ここでは、要求を受けていないコンテンツに関しては、頻度の値は変わらないか又は減少する。さらに、優先度管理テーブルに既に記載されているサイズ及び距離を用いて優先度算出部234が優先度を最新の値として算出し、制御部23が優先度管理テーブルの全体を更新する。当該実施形態では更新負荷がかかる代わりに、頻度の情報をタイムリーに反映したキャッシュ判断を行うことができる。   In this case, the frequency acquisition unit 233 obtains the frequency as the latest value for each content in step S1. Here, for content that has not been requested, the frequency value does not change or decreases. Further, the priority calculation unit 234 calculates the priority as the latest value using the size and distance already described in the priority management table, and the control unit 23 updates the entire priority management table. In this embodiment, instead of applying an update load, it is possible to make a cache determination that reflects frequency information in a timely manner.

なおまた、上記二実施形態の中間的な実施形態として、要求を受けた際に優先度管理テーブルでは当該コンテンツの欄のみを更新し、頻度に関しては別途各コンテンツに対する頻度情報を頻度取得部233がユーザ要求とは独立に取得して管理しておく。そしてエンドユーザからの要求とは独立に、所定タイミング毎に各コンテンツの頻度情報を優先度管理テーブルの全体で更新して、全コンテンツに対する優先度の値も更新するようにしてもよい。   Further, as an intermediate embodiment of the above two embodiments, when the request is received, only the content column is updated in the priority management table, and the frequency acquisition unit 233 separately provides frequency information for each content regarding the frequency. Acquired and managed independently of user requests. Independent of the request from the end user, the frequency information of each content may be updated in the entire priority management table at every predetermined timing, and the priority values for all the content may be updated.

次に、距離算出部232の取得する距離の各実施形態について説明する。一実施形態では、ステップS7においてキャッシュ装置1がコンテンツサーバからコンテンツを取得する際に、そのコンテンツサーバに向けてpingを実行してキャッシュ装置とコンテンツサーバ間のRTT(Round Trip Time、往復遅延時間)を計測し、その値で距離を代表する。   Next, each embodiment of the distance acquired by the distance calculation unit 232 will be described. In one embodiment, when the cache device 1 acquires content from the content server in step S7, a ping is performed toward the content server to execute RTT (Round Trip Time) between the cache device and the content server. The distance is represented by the measured value.

別の一実施形態では、やはりステップS7において、キャッシュ装置がコンテンツサーバとTCPで通信する場合は、TCP接続確立時にキャッシュ装置がTCP SYNパケットを送信してから、コンテンツサーバよりSYN ACKパケットが返ってくるまでの時間を計測し、その値で距離を代表する。   In another embodiment, in step S7, if the cache device communicates with the content server via TCP, the cache device transmits a TCP SYN packet when the TCP connection is established, and then a SYN ACK packet is returned from the content server. Measure the time to come and represent the distance by that value.

上記2実施形態における距離は、遅延によって定義される距離であるので、ネットワークの混雑状況の変遷により時間変化がある。よって新たに取得するコンテンツに対してステップS7で取得するのみならず、既に優先度管理テーブルに記載されコンテンツ保存部3に保存されているコンテンツに対する要求を受信した際も、ステップS1などで時間計測を行って、頻度の更新と同様に、優先度管理テーブルの該当コンテンツ欄を更新するようにしてもよい。また当該要求がある都度取得した遅延時間の平均値を用いて、優先度管理テーブルを更新するようにしてもよい。更新タイミングについては、頻度情報の反映について説明した上記二実施形態及び中間的な実施形態と同様の各手法を適用できる。   Since the distance in the above two embodiments is a distance defined by a delay, there is a time change due to a change in the congestion status of the network. Therefore, not only is it acquired in step S7 for newly acquired content, but also when a request for content already stored in the content storage unit 3 is received in the priority management table, time is measured in step S1 etc. And the corresponding content column of the priority management table may be updated in the same manner as the frequency update. Further, the priority management table may be updated using the average value of the delay times acquired each time the request is made. With respect to the update timing, the same methods as those in the above-described two embodiments and intermediate embodiments described for the reflection of the frequency information can be applied.

次に、頻度取得部233が取得する頻度の各実施形態につき説明する。一実施形態では、コンテンツ毎に単位時間当たりにキャッシュ装置1がエンドユーザから受信したコンテンツ要求の回数を算出して頻度とする。例えば単位時間を1分とし、ある1分間にコンテンツ1のリクエストが10回あった場合、コンテンツ1に対する要求の頻度は10と定義する。   Next, each embodiment of the frequency acquired by the frequency acquisition unit 233 will be described. In one embodiment, the frequency is calculated by calculating the number of content requests received from the end user by the cache device 1 per unit time for each content. For example, if the unit time is 1 minute and there are 10 requests for content 1 in one minute, the frequency of requests for content 1 is defined as 10.

優先度管理テーブルには登録されていなくとも、あるコンテンツに対してリクエストがあった場合、当該コンテンツに対する頻度の情報は頻度取得部233は別個独立して保持しておき、ステップS8での優先度算出に利用する。当該コンテンツを保存しないと判断した際も頻度の情報は残しておく。   Even if it is not registered in the priority management table, if there is a request for a certain content, the frequency acquisition unit 233 keeps the frequency information for the content separately and the priority in step S8. Used for calculation. Even when it is determined that the content is not stored, the frequency information is retained.

別の一実施形態として、直近のコンテンツ要求受信時間からの経過時間の逆数を、頻度とする。直近のコンテンツ要求受信時間からの経過時間が長い/短いということは、当該コンテンツへに対する要求の回数が少ない/多いということを意味するため、逆数をとることで頻度として利用できる。この場合も、優先度管理テーブルに登録されていないコンテンツについても、頻度の情報のみを別個保持しておくようにする。   As another embodiment, the reciprocal of the elapsed time from the most recent content request reception time is used as the frequency. Since the elapsed time from the latest content request reception time is long / short means that the number of requests for the content is small / large, it can be used as a frequency by taking the inverse. Also in this case, only the frequency information is separately held for the contents not registered in the priority management table.

なお、本発明では以上の説明において、エンドユーザからのコンテンツ要求があれば、図4のフローを辿ってキャッシュされているか、キャッシュされていなければキャッシュするか、の判断を全てのコンテンツに対して行うことが前提となっていた。これに対する追加処理を行う別実施形態として、オリジナルのコンテンツのURL(すなわちネットワーク上の位置)に基づいて、そもそもキャッシュ対象とするか否かについて前判断を行う実施形態を説明する。   In the present invention, in the above description, if there is a content request from the end user, the determination of whether to cache by following the flow of FIG. It was supposed to be done. As another embodiment for performing additional processing on this, an embodiment will be described in which a previous determination is made as to whether or not to cache in the first place, based on the URL of the original content (that is, the location on the network).

当該実施形態は特に、キャッシュ装置1の運用者が当該キャッシュ装置1において特定のネットワーク又はサイト(サイト群)に存在するコンテンツのみをキャッシュ対象として設定したい場合や、逆にキャッシュ対象から除外するよう設定したい場合に有効である。   The embodiment is particularly set when the operator of the cache device 1 wants to set only the contents existing in a specific network or site (site group) as the cache target in the cache device 1, or conversely exclude it from the cache target. It is effective when you want to.

この場合、制御部23がステップS1でコンテンツ要求に含まれるURLに対して判断するようにすればよい。ここで、キャッシュ装置1において予め例えば、「example.comのコンテンツはキャッシュ対象としない」、「test.comのコンテンツはキャッシュ対象とする」等のように、URLに対する所定のフィルタ条件が設定されているものとする。当該フィルタ条件は前者の例のように、除外するものの指定によって設定されてもよいし、逆に後者の例のように通過させるものの指定によって設定されてもよい。   In this case, the control unit 23 may determine the URL included in the content request in step S1. Here, in the cache device 1, for example, a predetermined filter condition for the URL is set in advance such as “content of example.com is not to be cached”, “content of test.com is to be cached”, etc. It shall be. The filter condition may be set by specifying what is excluded as in the former example, or may be set by specifying what is allowed to pass as in the latter example.

上記処理は、図3などでは不図示の制御部23に含まれるフィルタ処理部によって行われてもよい。上記処理は、URLに対してではなくIPアドレス(アドレス単体又はプレフィクス)に対して行ってもよく、両者を併用してもよい。なお、IPアドレスを用いる場合(ステップS7でなく)ステップS1で制御部23がDNSにアクセスするものとする。   The above processing may be performed by a filter processing unit included in the control unit 23 (not shown in FIG. 3). The above processing may be performed not on the URL but on the IP address (address unit or prefix), or both may be used in combination. Note that, when an IP address is used (not step S7), the control unit 23 accesses the DNS in step S1.

ステップS1で制御部23がキャッシュ対象(キャッシュ候補)と判断したコンテンツに対しては、以上の説明と同様のキャッシュに存在するか、追加するか、等の判断処理(図4の通常の処理)が行われる。キャッシュ対象としないと判断されたコンテンツに対しては、(算出等が不要であるため)サイズ取得、距離取得、頻度取得及び優先度算出や対応する優先度管理テーブル更新は行わず、図4のステップS7及びステップS4の処理のみが行われる。すなわち、当該コンテンツは単に、キャッシュ装置1によってコンテンツサーバとの間で中継されてエンドユーザに送信されるのみである。当該コンテンツに対しては、優先度算出などが省略されるのでキャッシュ装置1の処理負荷を下げることができる。   For the content that the control unit 23 determines to be cached (cache candidate) in step S1, whether or not it exists in the same cache as described above, or whether to add (normal processing in FIG. 4) Is done. For content determined not to be cached, size acquisition, distance acquisition, frequency acquisition, priority calculation, and corresponding priority management table update are not performed (since calculation etc. are not required). Only the processing of step S7 and step S4 is performed. That is, the content is merely relayed to the content server by the cache device 1 and transmitted to the end user. Since the priority calculation or the like is omitted for the content, the processing load of the cache device 1 can be reduced.

なお、図4及び図6に示す各ステップを実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータに読み込ませて実行させることにより、当該コンピュータを本発明に係るキャッシュ装置1として機能させるようにしてもよい。この際、当該コンピュータ内にコンテンツ保存部3が含まれていなくともよい。すなわち、当該コンピュータはコンテンツ処理部2として機能するものであってもよい。   4 and FIG. 6 is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read and executed by the computer. May be made to function as the cache device 1 according to the present invention. At this time, the content storage unit 3 may not be included in the computer. That is, the computer may function as the content processing unit 2.

以上、本発明によれば、キャッシュ装置1において、(1)コンテンツサイズ、(2)コンテンツへの距離、(3)コンテンツへのリクエスト頻度、の三つのパラメータを考慮してキャッシュするコンテンツを選択するため、キャッシュヒット率の向上とともに、トラフィック抑制やエンドユーザに対するレスポンス向上を効果的に実現できる。   As described above, according to the present invention, the cache device 1 selects content to be cached in consideration of the three parameters of (1) content size, (2) content distance, and (3) content request frequency. Therefore, it is possible to effectively realize traffic suppression and improved response to end users as well as an improvement in the cache hit rate.

1…キャッシュ装置、2…コンテンツ処理部、3…コンテンツ保存部、23…制御部、231…サイズ取得部、232…距離取得部、233…頻度取得部   DESCRIPTION OF SYMBOLS 1 ... Cache apparatus, 2 ... Content processing part, 3 ... Content preservation | save part, 23 ... Control part, 231 ... Size acquisition part, 232 ... Distance acquisition part, 233 ... Frequency acquisition part

Claims (6)

コンテンツを保存するコンテンツ保存部と、
エンドユーザからのコンテンツ要求に対して当該要求コンテンツを前記エンドユーザに送信するコンテンツ処理部とを備え、前記コンテンツ保存部に新規保存または継続保存されるコンテンツがその優先度に基づいて制御されるキャッシュ装置において、
前記コンテンツ処理部は、
要求コンテンツのサイズを取得するサイズ取得部と、
当該要求コンテンツが存在するコンテンツサーバと前記キャッシュ装置との距離を取得する距離取得部と、
当該要求コンテンツに対するエンドユーザからの要求の頻度を取得する頻度取得部と、
当該取得されたサイズ、距離及び頻度に基づいて当該要求コンテンツの優先度を算出する優先度算出部とを含み、
前記コンテンツ処理部は、
要求コンテンツが前記コンテンツ保存部に保存されている場合には前記コンテンツ保存部より当該要求コンテンツを前記エンドユーザに送信し、
保存されていない場合には当該要求コンテンツをコンテンツサーバより取得して前記エンドユーザに送信すると共に前記優先度算出部に対して当該取得した要求コンテンツの優先度を算出させ、当該優先度が所定基準を満たしていれば前記要求コンテンツを前記コンテンツ保存部に新規保存し、満たしていなければ新規保存せず、
前記コンテンツ保存部にはコンテンツを保存可能な所定容量値が設定され、
前記コンテンツ処理部が、前記算出された優先度が前記所定基準を満たしている要求コンテンツを前記コンテンツ保存部に新規保存する際に、当該新規保存によって保存されているコンテンツの総容量が前記所定容量値を超える場合には、該所定容量値を超えないようになるまで保存されたコンテンツの中から優先度の低い順にコンテンツを削除して当該新規保存に必要な容量を確保し、
前記所定基準が、前記要求コンテンツに対して前記優先度算出部が算出した優先度と、前記コンテンツ保存部に既に保存されているコンテンツに対する優先度のうちの最小値と、の比較に基づく基準であり、
当該比較される最小値には、前記コンテンツの削除が実施されない時点において初期値として「0」が設定され、
前記優先度算出部は、S、D、Fをそれぞれ前記取得されたサイズ、距離及び頻度とし、a、b、cをそれぞれ正の定数として、以下の式(1)又は式(2)により要求コンテンツの優先度を算出することを特徴とするキャッシュ装置。
(コンテンツの優先度)=S a ×D b ×F c …式(1)
(コンテンツの優先度)=aS+bD+cF …式(2)
A content storage unit for storing content;
A content processing unit that transmits the requested content to the end user in response to a content request from an end user, and content that is newly stored or continuously stored in the content storage unit is controlled based on its priority In the device
The content processing unit
A size acquisition unit for acquiring the size of the requested content;
A distance acquisition unit that acquires a distance between the content server in which the requested content exists and the cache device;
A frequency acquisition unit that acquires the frequency of requests from end users for the requested content;
Look including a priority calculating unit for calculating a priority of the requested content based on the acquired size, distance and frequency,
The content processing unit
When the requested content is stored in the content storage unit, the requested content is transmitted from the content storage unit to the end user,
If the request content is not stored, the request content is acquired from the content server and transmitted to the end user, and the priority calculation unit is configured to calculate the priority of the acquired request content. If the content is satisfied, the requested content is newly stored in the content storage unit.
The content storage unit is set with a predetermined capacity value capable of storing content,
When the content processing unit newly stores the requested content in which the calculated priority satisfies the predetermined criterion in the content storage unit, the total capacity of the content stored by the new storage is the predetermined capacity If the value exceeds the predetermined capacity value, the content is deleted from the content stored until it does not exceed the predetermined capacity value, and the content required for the new storage is secured by deleting the content from the lowest priority,
The predetermined criterion is a criterion based on a comparison between the priority calculated by the priority calculation unit for the requested content and the minimum value of the priorities for the content already stored in the content storage unit. Yes,
The minimum value to be compared is set to “0” as an initial value when the content is not deleted.
The priority calculation unit requests S, D, and F as the acquired size, distance, and frequency, respectively, and a, b, and c as positive constants according to the following formula (1) or formula (2): A cache device that calculates a priority of content .
(Content priority) = S a × D b × F c (1)
(Content priority) = aS + bD + cF (2)
前記優先度算出部が、前記サイズ、距離及び頻度の各々に所定の重み付けを与えた所定の増加関数を用いて前記優先度を算出することを特徴とする請求項1に記載のキャッシュ装置。   2. The cache device according to claim 1, wherein the priority calculation unit calculates the priority using a predetermined increase function in which a predetermined weight is given to each of the size, distance, and frequency. 前記コンテンツ処理部は、さらに、要求コンテンツのうちそのURLが所定のフィルタ条件を満たすものに対して前記優先度算出部に優先度を算出させることで、当該要求コンテンツを前記コンテンツ保存部に新規保存または継続保存されうるコンテンツとして制御し、
要求コンテンツのうちそのURLが前記所定のフィルタ条件を満たさないものに対しては前記優先度算出部に優先度を算出させず、コンテンツサーバより当該要求コンテンツを取得して前記エンドユーザに送信し、当該要求コンテンツを前記コンテンツ保存部に保存しないことを特徴とする請求項1または2に記載のキャッシュ装置。
The content processing unit further stores the requested content in the content storage unit by causing the priority calculation unit to calculate a priority for the requested content whose URL satisfies a predetermined filter condition. Or control as content that can be stored continuously,
For the request content whose URL does not satisfy the predetermined filter condition, the priority calculation unit does not calculate the priority, acquires the request content from the content server, and transmits it to the end user, cache system according to claim 1 or 2 characterized in that it does not store the requested content to the content storage unit.
前記キャッシュ装置が、前記エンドユーザがインターネットに接続する際に経由するアクセスネットワークと前記インターネットの間に配置されていることを特徴とする請求項1ないしのいずれかに記載のキャッシュ装置。 The cache device, cache apparatus as claimed in any one of 3 to the end user claims 1, characterized in that disposed between the Internet and the access network through which to connect to the Internet. コンテンツをキャッシュ装置に保存するコンテンツ保存段階と、
エンドユーザからのコンテンツ要求に対して当該要求コンテンツを前記エンドユーザに送信するコンテンツ処理段階とを備え、前記キャッシュ装置に新規保存または継続保存されるコンテンツがその優先度に基づいて制御されるキャッシュ装置のキャッシュ方法において、
前記コンテンツ処理段階は、
要求コンテンツのサイズを取得するサイズ取得段階と、
当該要求コンテンツが存在するコンテンツサーバと前記キャッシュ装置との距離を取得する距離取得段階と、
当該要求コンテンツに対するエンドユーザからの要求の頻度を取得する頻度取得段階と、
当該取得されたサイズ、距離及び頻度に基づいて当該要求コンテンツの優先度を算出する優先度算出段階とを含み、
前記コンテンツ処理段階では、
要求コンテンツが前記コンテンツ保存段階にて保存されている場合には当該要求コンテンツを前記エンドユーザに送信し、
保存されていない場合には当該要求コンテンツをコンテンツサーバより取得して前記エンドユーザに送信すると共に前記優先度算出段階に対して当該取得した要求コンテンツの優先度を算出させ、当該優先度が所定基準を満たしていれば前記要求コンテンツを前記コンテンツ保存段階にて新規保存し、満たしていなければ新規保存せず、
前記コンテンツ保存段階にはコンテンツを保存可能な所定容量値が設定され、
前記コンテンツ処理段階が、前記算出された優先度が前記所定基準を満たしている要求コンテンツを前記コンテンツ保存段階にて新規保存する際に、当該新規保存によって保存されているコンテンツの総容量が前記所定容量値を超える場合には、該所定容量値を超えないようになるまで保存されたコンテンツの中から優先度の低い順にコンテンツを削除して当該新規保存に必要な容量を確保し、
前記所定基準が、前記要求コンテンツに対して前記優先度算出段階が算出した優先度と、前記コンテンツ保存段階にて既に保存されているコンテンツに対する優先度のうちの最小値と、の比較に基づく基準であり、
当該比較される最小値には、前記コンテンツの削除が実施されない時点において初期値として「0」が設定され、
前記優先度算出段階は、S、D、Fをそれぞれ前記取得されたサイズ、距離及び頻度とし、a、b、cをそれぞれ正の定数として、以下の式(1)又は式(2)により要求コンテンツの優先度を算出することを特徴とするキャッシュ方法。
(コンテンツの優先度)=S a ×D b ×F c …式(1)
(コンテンツの優先度)=aS+bD+cF …式(2)
A content storage stage for storing content in a cache device;
And a content processing step of transmitting the requested content to the end user in response to a content request from an end user, and a cache device in which content that is newly stored or continuously stored in the cache device is controlled based on its priority In the caching method of
The content processing step includes
A size acquisition stage for acquiring the size of the requested content;
A distance acquisition step of acquiring a distance between the content server in which the requested content exists and the cache device;
A frequency acquisition stage for acquiring the frequency of requests from end users for the requested content;
Look including a priority calculation step of calculating a priority of the requested content based on the acquired size, distance and frequency,
In the content processing stage,
If the requested content is stored in the content storage stage, the requested content is transmitted to the end user,
If it is not stored, the requested content is acquired from the content server and transmitted to the end user, and the priority calculating step calculates the priority of the acquired requested content, and the priority is determined according to a predetermined standard. If the content is satisfied, the requested content is newly stored in the content storage stage, and if not satisfied, it is not newly stored,
In the content storage stage, a predetermined capacity value capable of storing content is set,
When the content processing stage newly stores the requested content whose calculated priority satisfies the predetermined criterion in the content storage stage, the total capacity of the content stored by the new storage is the predetermined When the capacity value is exceeded, the content is deleted from the contents stored in order from the lowest priority until the predetermined capacity value is not exceeded, and the capacity necessary for the new storage is secured,
The predetermined criterion is a criterion based on a comparison between the priority calculated in the priority calculation step for the requested content and the minimum value of the priorities for the content already stored in the content storage step. And
The minimum value to be compared is set to “0” as an initial value when the content is not deleted.
The priority calculation step requires S, D, and F as the acquired size, distance, and frequency, respectively, and a, b, and c as positive constants, respectively, according to the following formula (1) or formula (2): A cache method characterized by calculating a priority of content .
(Content priority) = S a × D b × F c (1)
(Content priority) = aS + bD + cF (2)
コンテンツをキャッシュ装置に保存するコンテンツ保存段階と、
エンドユーザからのコンテンツ要求に対して当該要求コンテンツを前記エンドユーザに送信するコンテンツ処理段階とを備え、前記キャッシュ装置に新規保存または継続保存されるコンテンツがその優先度に基づいて制御されるキャッシュ装置のキャッシュ方法をコンピュータに実行させるプログラムにおいて、
前記コンテンツ処理段階は、
要求コンテンツのサイズを取得するサイズ取得段階と、
当該要求コンテンツが存在するコンテンツサーバと前記キャッシュ装置との距離を取得する距離取得段階と、
当該要求コンテンツに対するエンドユーザからの要求の頻度を取得する頻度取得段階と、
当該取得されたサイズ、距離及び頻度に基づいて当該要求コンテンツの優先度を算出する優先度算出段階とを含み、
前記コンテンツ処理段階では、
要求コンテンツが前記コンテンツ保存段階にて保存されている場合には当該要求コンテンツを前記エンドユーザに送信し、
保存されていない場合には当該要求コンテンツをコンテンツサーバより取得して前記エンドユーザに送信すると共に前記優先度算出段階に対して当該取得した要求コンテンツの優先度を算出させ、当該優先度が所定基準を満たしていれば前記要求コンテンツを前記コンテンツ保存段階にて新規保存し、満たしていなければ新規保存せず、
前記コンテンツ保存段階にはコンテンツを保存可能な所定容量値が設定され、
前記コンテンツ処理段階が、前記算出された優先度が前記所定基準を満たしている要求コンテンツを前記コンテンツ保存段階にて新規保存する際に、当該新規保存によって保存されているコンテンツの総容量が前記所定容量値を超える場合には、該所定容量値を超えないようになるまで保存されたコンテンツの中から優先度の低い順にコンテンツを削除して当該新規保存に必要な容量を確保し、
前記所定基準が、前記要求コンテンツに対して前記優先度算出段階が算出した優先度と、前記コンテンツ保存段階にて既に保存されているコンテンツに対する優先度のうちの最小値と、の比較に基づく基準であり、
当該比較される最小値には、前記コンテンツの削除が実施されない時点において初期値として「0」が設定され、
前記優先度算出段階は、S、D、Fをそれぞれ前記取得されたサイズ、距離及び頻度とし、a、b、cをそれぞれ正の定数として、以下の式(1)又は式(2)により要求コンテンツの優先度を算出することを特徴とするプログラム。
(コンテンツの優先度)=S a ×D b ×F c …式(1)
(コンテンツの優先度)=aS+bD+cF …式(2)
A content storage stage for storing content in a cache device;
And a content processing step of transmitting the requested content to the end user in response to a content request from an end user, and a cache device in which content that is newly stored or continuously stored in the cache device is controlled based on its priority In a program for causing a computer to execute the cache method of
The content processing step includes
A size acquisition stage for acquiring the size of the requested content;
A distance acquisition step of acquiring a distance between the content server in which the requested content exists and the cache device;
A frequency acquisition stage for acquiring the frequency of requests from end users for the requested content;
Look including a priority calculation step of calculating a priority of the requested content based on the acquired size, distance and frequency,
In the content processing stage,
If the requested content is stored in the content storage stage, the requested content is transmitted to the end user,
If it is not stored, the requested content is acquired from the content server and transmitted to the end user, and the priority calculating step calculates the priority of the acquired requested content, and the priority is determined according to a predetermined standard. If the content is satisfied, the requested content is newly stored in the content storage stage, and if not satisfied, it is not newly stored,
In the content storage stage, a predetermined capacity value capable of storing content is set,
When the content processing stage newly stores the requested content whose calculated priority satisfies the predetermined criterion in the content storage stage, the total capacity of the content stored by the new storage is the predetermined When the capacity value is exceeded, the content is deleted from the contents stored in order from the lowest priority until the predetermined capacity value is not exceeded, and the capacity necessary for the new storage is secured,
The predetermined criterion is a criterion based on a comparison between the priority calculated in the priority calculation step for the requested content and the minimum value of the priorities for the content already stored in the content storage step. And
The minimum value to be compared is set to “0” as an initial value when the content is not deleted.
The priority calculation step requires S, D, and F as the acquired size, distance, and frequency, respectively, and a, b, and c as positive constants, respectively, according to the following formula (1) or formula (2): A program characterized by calculating the priority of content .
(Content priority) = S a × D b × F c (1)
(Content priority) = aS + bD + cF (2)
JP2011045125A 2011-03-02 2011-03-02 Cache apparatus, method, and program Expired - Fee Related JP5566320B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011045125A JP5566320B2 (en) 2011-03-02 2011-03-02 Cache apparatus, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011045125A JP5566320B2 (en) 2011-03-02 2011-03-02 Cache apparatus, method, and program

Publications (2)

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

Family

ID=47012878

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011045125A Expired - Fee Related JP5566320B2 (en) 2011-03-02 2011-03-02 Cache apparatus, method, and program

Country Status (1)

Country Link
JP (1) JP5566320B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101529602B1 (en) * 2013-01-07 2015-06-18 한국과학기술원 Cache server, system for providing of the content and method forreplacement of the content
JP2014225125A (en) * 2013-05-16 2014-12-04 日本電信電話株式会社 Communication control system and method, and cache server
JP6195785B2 (en) * 2013-12-04 2017-09-13 Kddi株式会社 Communication device, server device, and program for storing transferred content
US9866647B2 (en) * 2015-03-26 2018-01-09 Alcatel Lucent Hierarchical cost based caching for online media
JP2017157951A (en) * 2016-02-29 2017-09-07 株式会社Kddi総合研究所 Radio base station device, terminal device, content providing method, content acquisition method, and program
JP6901262B2 (en) * 2017-01-05 2021-07-14 Kddi株式会社 Content distribution system transfer devices and programs
JP6590975B2 (en) * 2018-03-28 2019-10-16 京セラ株式会社 Transmitting apparatus and transmitting method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4134357B2 (en) * 1997-05-15 2008-08-20 株式会社日立製作所 Distributed data management method
JP3424907B2 (en) * 1998-07-02 2003-07-07 日本電気株式会社 Network content cache device
JP4688312B2 (en) * 2001-02-23 2011-05-25 株式会社日立製作所 Communication proxy device
JP2005173876A (en) * 2003-12-10 2005-06-30 Hitachi Ltd Cache server
US8537835B2 (en) * 2008-06-20 2013-09-17 Alcatel Lucent Methods and apparatus for self-organized caching in a content delivery network

Also Published As

Publication number Publication date
JP2012181745A (en) 2012-09-20

Similar Documents

Publication Publication Date Title
JP5566320B2 (en) Cache apparatus, method, and program
KR102301353B1 (en) Method for transmitting packet of node and content owner in content centric network
US10783077B2 (en) Managing resources using resource expiration data
CN106796547B (en) Method and system for proxy cache smart object elimination
KR102295664B1 (en) Global server load balancer apparatus and method for dynamically controlling time-to-live
US7051161B2 (en) Memory admission control based on object size or request frequency
JP5828760B2 (en) Method and system for cache optimization
CN109905480B (en) Probabilistic cache content placement method based on content centrality
KR20130093813A (en) A communication method of node prefetching segments of contents in a content centric network and the node
WO2012089044A1 (en) Cache sharing method and apparatus for content delivery network
WO2019006775A1 (en) Data transmission method and system thereof
JP2001290787A (en) Data distribution method and storage medium with data distribution program stored therein
JP4291284B2 (en) Cache system and cache server
CN107665235A (en) Method for caching and processing, device, computer equipment and storage medium
JP6056857B2 (en) Communication control device and communication control method
KR102235622B1 (en) Method and Apparatus for Cooperative Edge Caching in IoT Environment
KR20140145716A (en) Apparatus and method for delivering and receiving data in mobile content network
KR20150040172A (en) Method for caching contents based on content request record and request priority and HTTP cache server using the method
CN114124971B (en) Content copy placement method of CDN-P2P network based on edge cache
KR20130095202A (en) Apparatus and method for managing contents cache considering network cost
JP2016034079A (en) Communication speed selection device, communication speed selection method, and communication speed selection program
JP2008293281A (en) Cache device, server, cache system, cache method, and program

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