JP2003022211A - キャッシュ制御方法及びキャッシュ装置 - Google Patents

キャッシュ制御方法及びキャッシュ装置

Info

Publication number
JP2003022211A
JP2003022211A JP2001209153A JP2001209153A JP2003022211A JP 2003022211 A JP2003022211 A JP 2003022211A JP 2001209153 A JP2001209153 A JP 2001209153A JP 2001209153 A JP2001209153 A JP 2001209153A JP 2003022211 A JP2003022211 A JP 2003022211A
Authority
JP
Japan
Prior art keywords
data
cache
group
priority
lowest priority
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
JP2001209153A
Other languages
English (en)
Other versions
JP4042359B2 (ja
Inventor
Morio Sasaki
盛朗 佐々木
Atsuhiro Tanaka
淳裕 田中
Kousuke Tachikawa
江介 立川
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2001209153A priority Critical patent/JP4042359B2/ja
Priority to US10/190,815 priority patent/US6834329B2/en
Publication of JP2003022211A publication Critical patent/JP2003022211A/ja
Application granted granted Critical
Publication of JP4042359B2 publication Critical patent/JP4042359B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 アクセスパターンが異なる複数のデータ系列
を同時に効率良くキャッシュできるようにする。 【解決手段】 キャッシュ記憶部にキャッシュされてい
る複数のデータを、アクセスパターンが異なるデータ系
列毎のグループにグループ分けする(ステップB1)。
各グループは、独自のキャッシングアルゴリズムで、自
グループに属するデータに優先度を割り当てる。キャッ
シュ記憶部に十分な空き領域がなく、データをパージす
ることが必要になった場合、最低優先度決定手段により
最も優先度の低いグループを求め(ステップB4)、デ
ータ操作手段が、そのグループ内で最低優先度を割り当
てられているデータをパージする(ステップB5)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、キャッシュ制御技
術に関し、特に、キャッシュヒット率が向上するように
パージするデータを選択する技術に関する。
【0002】
【従来の技術】記憶装置の階層化が進むにつれて、キャ
ッシュ技術は、ますます多くの場所で使われるようにな
っている。また、近年の情報通信機器の高速化によっ
て、全処理時間に対する、ミスヒット時の処理時間が占
める割合が大きくなってきており、キャッシュ技術は、
性能に大きな影響を及ぼすようになってきている。
【0003】その顕著な例は、インターネット等のネッ
トワークを介して転送されるコンテンツをキャッシュす
るプロキシキャッシュ装置である。プロキシキャッシュ
装置等のネットワーク中に設置されたキャッシュ装置に
おけるキャッシュヒットは、データ転送経路を短縮する
ことでデータ転送速度を向上させるので、データ転送の
レスポンスタイムを短縮する。
【0004】図1は、プロキシキャッシュ装置4が、イ
ンターネット等のネットワーク3を介して、一台以上の
サーバ1−1〜1−m及び一台以上のクライアント2−
1〜2−nの通信を仲介するネットワークシステムの一
例を示すブロック図である。プロキシキャッシュ装置4
は、サーバ1−i(1≦i≦m)に代わってクライアン
ト2−j(1≦j≦n)のリクエストを受け付け、クラ
イアント2−jに代わってサーバ1−iにリクエストを
発行する。そして、サーバ1−iからデータを受けとる
と、これをクライアント2−jに転送する。プロキシキ
ャッシュ装置4は、サーバ1−iからデータを受けとっ
た際、このデータをキャッシュする。そして、次に同じ
データへのリクエストがクライアント2−k(1≦k≦
n)によってなされた時には、プロキシキャッシュ装置
4に記憶されたデータが、プロキシキャッシュ装置4か
らクライアント2−kに転送される。
【0005】プロキシキャッシュ装置4等のキャッシュ
装置で適用されるキャッシュ方式として、LRU等を初
めとする多くのキャッシュ方式が従来から提案されてい
る。詳しくは、Hewlett−packard社のテ
クニカルレポート、Ludmila Cherkaso
va:「Improving WWW Proxies
Performance with Greedy−
Dual−Size−Frequency Cachi
ng Policy」,HPL−98−69R1,98
1120.(http://www.hpl.hp.c
om/techreports/98/HPL−98−
69R1.htmlから入手可能である)(以下、文献
1と称する)で述べられている。
【0006】理論的に最適なキャッシュ方法は、最も遠
い将来にアクセスされるデータに最低の優先度を割り当
てる方法であるが、これは将来のデータアクセスが全て
分かっていないと実現不可能である。LRU等のキャッ
シングアルゴリズムは最適キャッシュ方法の近似にすぎ
ない。
【0007】LRU以外にも、様々なキャッシュ方法が
提案されている。例えば、E.O‘Neil,P.O’
Neil,G.Weikum:「The LRU−K p
age replacement algorithm
for database disk bufferin
g」,Proc.ACM SIGMOD Interna
tional Conference on Manag
ement of Data,pp.297−306,1
993.(以下、文献2と称する)がある。
【0008】文献2に記載されているLRU−Kという
キャッシュ方式は、データ毎に、K個前までのアクセス
が行なわれた時刻を記録する。ただし、Kは自然数であ
り、LRU−Kでは、K個前のアクセス時刻が最も早い
データからパージする。例えば、K=2としたLRU−
2では、データは二回以上アクセスされたか否かで異な
る優先度が割り当てられ、二回以上アクセスされたデー
タの中で最低の優先度を持つデータは、二回目にアクセ
スされた時刻が最も早いものである。過去一回しかアク
セスされたことのないデータは、二回以上アクセスされ
たデータよりも低い優先度が割り当てられる。LRUが
用いる情報は前回のアクセス時刻のみであるが、LRU
−Kは過去K回のアクセス時刻を情報として持ち、より
多くの情報に基づいてキャッシュ方法を決定している。
【0009】D.Lee,J.Choi,J.H. K
im,S.H.Noh,S.L.Min, Y.Ch
o,and C.S.Kim:「On the Exis
tence of a Spectrum of Poli
cies that Subsumes the Leas
t Recently Used(LRU) and Le
ast Frequently Used(LFU) P
olicies」,In Proceedings of
the 1999 ACM SIGMETRICS Co
nference on Measurement an
d Modelingof Computer Syst
ems,pp.134−143,1999.(以下、文
献3と称する)に示されているキャッシュ方式LRFU
では、データの優先度を、CRF(Combined
Recency and Frequency)値で与え
る。時刻tにおけるCRF値C(t)は、重みづけ関数
F(x)によって計算される。例えば、現在時刻が8
で、時刻1、2、5、8にアクセスがあったとする。こ
の時、C(t)=F(8−1)+F(8−2)+F(8
−5)+F(8−8)=F(7)+F(6)+F(3)
+F(0)となる。データに対するアクセス回数が多い
場合、この優先度の計算は重い処理になってしまい、保
持すべき情報も多くなるが、F(x+y)=F(x)F
(y)となるようなFであれば、C(t)=F(8−
1)+F(8−2)+F(8−5)+F(8−8)=F
(3+5−1)+F(3+5−2)+F(3+5−5)
+F(3+5−8)=F(0)+F(3)C(5)とな
るので、前回のアクセス時刻のCRF値を元に、容易に
計算できる。文献3では、LRFUがLRU−2よりも
高いヒット率を達成できることが示されている。
【0010】Y.Smaragdakis,S.Kap
lan,and P.Wilson: 「EELRU:S
imple and Effective Adapti
vePage Replacement」,In Pr
oceedingsof the 1999 ACM
SIGMETRICS Conference on
Measurement and Modeling
of Computer Systems,pp.12
2−133,1999.(以下、文献4と記載)では、
Early Eviction LRU(EELRU)
というキャッシュ方式が提案されている。このキャッシ
ングアルゴリズムが使用する情報は、前回のアクセス時
刻である。EELRUは、多くの最近アクセスされたデ
ータがキャッシュから削除されるまでは、LRUと同様
に、キャッシュ中のデータで最も遠い過去にアクセスさ
れたデータからパージする。逆に、多くの最近アクセス
されたデータがキャッシュから削除された場合、キャッ
シュ中のデータの中でe番目に近い過去にアクセスされ
たデータからパージする。ただし、eはヒット率を上げ
るように動的に調整される。
【0011】LRU−K、LRFU、EELRUは、い
ずれもLRU等の一般的なキャッシュ方式に比べて、高
いヒット率を達成できるが、プロキシ装置でのキャッシ
ングには不向きである。なぜなら、プロキシキャッシュ
装置で用いられるキャッシュ方式では、多くの場合、デ
ータのキャッシュ、パージは、クライアントからのリク
エストによって要求されたデータを単位として行なう。
そのため、クライアントが大きなデータをリクエスト
し、このデータがキャッシュされる場合、他の多くのデ
ータがこの大きなデータを記憶するための空き領域を作
るために消去されてしまう。つまり、データの有用性は
データのアクセスパターン以外に、データサイズにも依
存する。データサイズを考慮したキャッシュ方式の一つ
は、文献1に示されるGDSF(Greedy−Dua
l−Size−FrequencyCaching P
olicy)である。GDSFは、大きなデータに低い
優先度を割り当てることでオブジェクトのヒット率を向
上させる。このため、連続メディアデータのように大き
なデータを扱う場合、連続メディアデータには低い優先
度が割り当てられてしまうので、GDSFは連続メディ
アデータを扱うには不向きである。
【0012】キャッシュ記憶部は、速度、容量の異なる
複数の記憶媒体から構成されることが多い。一般的なキ
ャッシュ記憶部は、高速小容量の主記憶装置と低速大容
量の二次記憶装置からなる。このようなキャッシュ記憶
部を有するプロキシキャッシュ装置で、連続メディアデ
ータ等の巨大なデータを扱う場合、データサイズが主記
憶装置の記憶容量に対して大きいため、ほとんどの場
合、二次記憶装置に格納されてしまう。これは、連続メ
ディアデータにアクセスが集中した場合、低速な二次記
憶装置からのデータ読みだし速度がボトルネックになっ
てしまうことを意味する。さらに、巨大な連続メディア
データが低速記憶部からのデータ転送を独占してしまう
ため、多くのデータが記憶されている低速記憶部からの
他のデータの転送ができないという問題がある。これ
は、二次記憶装置中のデータの主記憶装置へのキャッシ
ングだけでなく、遠隔地のホストのデータがローカルな
二次記憶装置へキャッシングされるケースでも、同様の
問題が生じる。
【0013】連続メディアデータのキャッシュ方法の一
つは、Asit Dan,Dinkar Sitara
m:「A Generalized Interval
Caching Policy for Mixed
Interactiveand Long Vide
o Workloads」,MultimediaCo
mputing and Networking,p
p.344−351,1996.(以下、文献5と称す
る)に記載されている。
【0014】文献5の方法は、連続メディアデータへの
アクセスはシーケンシャルであることを利用している。
つまり、連続メディアデータは巨大であるが、一度に全
てのデータが要求されるのではなく、ある速度でデータ
の先頭から順次要求される。そこで、ある連続メディア
データを分割して考えると、分割された先頭のデータが
要求されれば、時間が経つにつれ後続の分割データも要
求される。従って、先頭のデータが到着した時点で、後
続のデータのアクセス時刻を予想することができる。予
想アクセス時刻が近いものに高い優先度を与えるのが、
文献5に記載されたキャッシュ方式である。
【0015】連続メディアデータと非連続メディアデー
タのように、全く異なるアクセスパターンを持つデータ
を効率よくキャッシュするのは、一般に困難である。例
えば、連続メディアデータと非連続メディアにそれぞれ
別々のプロキシキャッシュ装置を用意して、レイヤ7ス
イッチ等でデータが連続メディアかどうか判定するとし
ても、連続、非連続メディアデータ用のそれぞれのプロ
キシキャッシュ装置の間で相互に計算資源を融通するこ
とができないからである。例えば、連続メディアデータ
にアクセスが集中した場合、非連続メディアデータ用の
プロキシキャッシュ装置の計算資源には余裕があるの
に、連続メディアデータ用のプロキシキャッシュ装置は
過負荷になってしまう。また、複数のプロキシキャッシ
ュ装置とレイヤ7スイッチを用いるのは、コスト的に高
価である。従って、一台のプロキシキャッシュ装置で、
連続、非連続メディアデータをともにキャッシュできる
のが望ましい。
【0016】プロキシキャッシュ装置で用いられるキャ
ッシュ方式は、装置に一つである必要はない。複数のキ
ャッシュ方式を使用する方法は特開平11−65927
号公報に示されており、文献5に示されるキャッシュ方
式と、従来のLRU、LFU等のキャッシュ方式を同時
に使う方法が考えられる。特開平11−65927公報
では、複数のキャッシュ方式を用いてデータに優先度を
割り当てることができるが、各キャッシュ方式が使用で
きる記憶領域は固定されている。従って、全体として、
あるデータを記憶するのに十分な空き記憶領域があって
も、データに適用されるキャッシュ方式が使用できる記
憶領域に十分な空き領域がない場合、データをキャッシ
ュすることはできない。従って、特開平11−6592
7号公報に示される方法を適用した場合、計算資源の分
割の自由度、コストにおいて、レイヤ7スイッチと複数
のプロキシキャッシュ装置を使った場合よりも優れてい
るが、依然として計算資源は共有されておらず、動的に
変化するリクエストに対応するのは困難である。
【0017】
【発明が解決しようとする課題】上述した文献1〜文献
5に記載されている従来の技術では、単一の優先度を用
いてデータを管理しているため、アクセスパターンが異
なる複数のデータ系列、例えば、連続メディアデータと
非連続メディアデータ、を効率良くキャッシュすること
が困難であるという問題点がある。この問題点は、特開
平11−65927号公報に記載されている技術を利用
することによりある程度は解決することができる。つま
り、連続メディアデータには予想アクセス時刻に基づく
優先度を割り当て、非連続メディアデータにはアクセス
頻度(LFU)に基づく優先度を割り当てることによ
り、各データ系列のデータをそれぞれ効率的にキャッシ
ュすることが可能になる。
【0018】しかしながら、特開平11−65927号
公報に記載されている技術は、各データ系列に、それぞ
れ固定的な別々の記憶領域を割り当てるようにしている
ため、あるデータ系列に対してアクセスが集中すると、
他のデータ系列に割り当てられている記憶領域に空きが
ある場合であっても、上記或るデータ系列に割り当てら
れている記憶領域の空き不足によりミスヒットが頻繁に
発生し、データのパージが頻繁に行われてしまうという
問題がある。
【0019】そこで、本発明の目的は、特定のデータ系
列にアクセスが集中した場合にも、記憶領域を有効利用
することにより、高いキャッシュヒット率を得られるよ
うにすることにある。
【0020】
【課題を解決するための手段】本発明は上記目的を達成
するため、次のようにしている。キャッシュ記憶部にキ
ャッシュするデータを、アクセスパターンが異なるデー
タ系列毎のグループにグループ分けし、各グループ毎
に、独自のキャッシングアルゴリズムで自グループに属
するデータに優先度を割り当てる。そして、データをキ
ャッシュ記憶部からパージすることが必要になった場合
は、予め定められている評価規則によって決まる最低優
先度のグループ中の、そのグループのキャッシングアル
ゴリズムによって最低優先度が割り当てられているデー
タをパージする。この構成によれば、各グループ毎に独
自のキャッシングアルゴリズムでデータを管理している
にも関わらず、キャッシュされている全グループの全デ
ータの内の、最も優先度の低いデータをパージすること
ができるので、各グループ毎に固定的に記憶領域を割り
当てる必要がなくなる。この結果、或るグループにアク
セスが集中し、他のグループにアクセスが余りなかった
場合、上記或るグループのデータをキャッシュするため
に多くの記憶領域を使用することが可能になるので、キ
ャッシュヒット率を高いものにすることが可能になる。
【0021】
【発明の実施の形態】次に本発明の実施の形態について
図面を参照して詳細に説明する。
【0022】
【構成の説明】図2は本発明の第一の実施の形態に係る
キャッシュ装置10の構成例を示すブロック図である。
本実施の形態のキャッシュ装置10は、外部からのリク
エストを受け付けるリクエスト処理部11と、キャッシ
ュされたデータを記憶するキャッシュ記憶部14と、リ
クエストされたデータがキャッシュされているかどうか
を判定し、キャッシュされていれば、そのデータをキャ
ッシュ記憶部14から読み出すキャッシュ検索部12
と、データをキャッシュするかどうかを判定し、キャッ
シュする場合はそのデータをキャッシュ記憶部14に書
き込み、キャッシュ記憶部14の空き記憶領域が足りな
くなった時には、いずれかのデータを選択してパージす
るキャッシュ判定部13とを備えている。
【0023】図3は、図2に示したキャッシュ判定部1
3及びキャッシュ記憶部14の構成例を示すブロック図
である。キャッシュ判定部13は、複数の部分キャッシ
ュ管理部21−1〜21−nと、データグループ決定手
段22と、最低優先度決定手段23とを含む。
【0024】データグループ決定手段22は、予め定め
られているグループ分け規則に従って、キャッシュ記憶
部14にキャッシュされる各データ25−1〜25−m
を、複数の部分キャッシュ管理部21−1〜21−nの
内の、どの部分キャッシュ管理部に管理させるかを決定
する。以降、一つの部分キャッシュ管理部で管理される
データの集合をデータグループと呼ぶ。キャッシュされ
るデータ25−1〜25−mは、いずれか一つのデータ
グループに属し、各データ25−1〜25−mは、同一
のサイズを有する。
【0025】各部分キャッシュ管理部21−1〜21−
nは、それぞれ独自のキャッシングアルゴリズムで自管
理部に割り当てられているデータを管理するものであ
り、優先度割り当て手段31と、部分最低優先度決定手
段32と、データ操作手段33とを備えている。優先度
割り当て手段31は、それを含んでいる部分キャッシュ
管理部21−i(1≦i≦n)が管理するデータグルー
プ中の各データに、部分キャッシュ管理部21−i独自
のキャッシングアルゴリズムに従った優先度を割り当て
る。部分最低優先度決定手段32は、それを含んでいる
部分キャッシュ管理部21−iで管理されているデータ
グループ中の最も低い優先度を持つ部分最低優先度デー
タを特定する。データ操作手段33は、データのキャッ
シュ、パージを行う。
【0026】最低優先度決定手段23は、各部分キャッ
シュ管理部21−1〜21−nが管理しているデータグ
ループの中から最低優先度のデータグループを特定す
る。キャッシュ記憶部14中の空き記憶領域24が不足
した場合には、最低優先度のデータグループを管理して
いる部分キャッシュ管理部内のデータ操作手段33が、
上記データグループ中の最低優先度を持つデータをパー
ジする。
【0027】
【動作の説明】図2、図3、図4を参照しつつ、本実施
の形態の動作を説明する。
【0028】リクエスト処理部11が外部からのリクエ
ストを受け取った場合の処理例を図4の流れ図に示す。
【0029】まず、リクエスト処理部11がリクエスト
を受けとり(図4、ステップA1)、キャッシュ検索部
12で、リクエストされたデータがキャッシュ記憶部1
4にキャッシュされているかどうかを調べる(ステップ
A2)。
【0030】データがキャッシュされていれば、キャッ
シュ検索部12は、リクエストされたデータをキャッシ
ュ記憶部14から読み出す(ステップA3)。また、上
記データを管理している部分キャッシュ管理部21−i
内の優先度割り当て手段31は、上記部分キャッシュ管
理部21−iが管理しているデータグループ中のデータ
の優先度を更新する(ステップA4)。この優先度の更
新は、上記部分キャッシュ管理部21−iのキャッシン
グアルゴリズムに従って行うものであり、例えば、部分
キャッシュ管理部21−iのキャッシングアルゴリズム
がLFUであれば、上記データの参照回数を+1する。
これに対して、リクエストされたデータがキャッシュさ
れていなければ、キャッシュ検索部12は、キャッシュ
元からオリジナルなデータDを取得する(ステップA
5)。
【0031】次に、キャッシュ判定部13内のデータグ
ループ決定手段22によって、データDが属するデータ
グループが決定され(ステップB1)、そのデータグル
ープを管理する部分キャッシュ管理部21−jの優先度
割り当て手段31によって、データDに優先度が割り当
てられる(ステップB2)。そして、空き記憶領域24
がデータDを記憶するのに十分な大きさを持つかどうか
の判定を行ない(ステップB3)、十分な大きさを持て
ばステップB6へ、十分な大きさを持たなければ、最低
優先度決定手段23が予め定められている評価規則に従
って、全データグループの中からデータをパージするデ
ータグループ(最低優先度のデータグループ)を決定す
る(ステップB4)。ステップB4で最低優先度のデー
タグループが決定されると、そのデータグループを管理
する部分キャッシュ管理部21−k(1≦k≦n)内の
データ操作手段33が、部分最低優先度決定手段32に
よって特定されている最低優先度を持つデータが使用し
ていた記憶領域を空き記憶領域24に含め、データDを
キャッシュするのに十分な空き記憶領域を確保し(ステ
ップB5)、確保した空き領域にデータをキャッシュす
る(ステップB6)。尚、本実施の形態では、各データ
25−1〜25−nのサイズを同一としたが、各データ
のサイズが異なっていても良いことは勿論である。但
し、各データのサイズが一定でない場合は、データDを
格納するのに十分な空き記憶領域24が確保されるま
で、ステップB4,B5の処理を繰り返し行うことが必
要になる。
【0032】
【発明の他の実施の形態】次に、本発明の第二の実施の
形態について図面を参照して詳細に説明する。本実施の
形態に係るキャッシュ装置は、図3に示したキャッシュ
判定部13の代わりに、図5に示したキャッシュ判定部
13aを使用することにより実現される。キャッシュ判
定部13aは、部分キャッシュ管理部21−1〜21−
nの代わりに部分キャッシュ管理部26−1〜26−n
を備えている点が、第一の実施の形態と異なっている。
部分キャッシュ管理部26−1〜26−nは、図3に示
された第一の実施の形態における部分キャッシュ管理部
21−1〜21−nの構成に加え、サイズ測定手段34
と、ヒット率測定手段35とを有する点で異なる。サイ
ズ測定手段34は、それが含まれている部分キャッシュ
管理部26−i(1≦i≦n)が管理しているデータグ
ループに割り当てられている記憶領域のサイズを測定
し、ヒット率測定手段35は、それが含まれている部分
キャッシュ管理部26−iが管理しているデータグルー
プのキャッシュヒット率を測定する。
【0033】次に、本実施の形態の動作を、図6の流れ
図を参照して詳細に説明する。尚、図6のステップA1
〜A5、B1〜B6の処理は、第一の実施の形態と同様
であるため、説明は省略する。
【0034】第一の実施の形態では、ステップB4でど
のようなパラメータを用いて、パージするデータグルー
プを決定するのか、具体的に指定していなかった。本実
施の形態では、各部分キャッシュ管理部26−1〜26
−n内のサイズ測定手段34及びヒット率測定手段35
で、各データグループに割り当てられている記憶領域の
サイズ及びキャッシュヒット率を測定し(ステップC
1)、それらを用いてパージするデータグループを決定
する(ステップB4)。より具体的には、各データグル
ープに於ける、キャッシュヒット率と割り当てられてい
る記憶領域のサイズとの比(キャッシュヒット率/サイ
ズ)を求め、その値が最も小さいデータグループをパー
ジするデータグループとする。
【0035】次に、本実施の形態の効果について説明す
る。本実施の形態では、データグループの有用性を判断
する際(パージするデータグループを決定する際)、デ
ータグループの使用記憶領域の大きさとキャッシュヒッ
ト率を考慮する事で、データグループ全体の特徴を考慮
しない場合よりも、パージすべきデータをより的確に判
断できる。従って、キャッシュヒット率を向上させるこ
とが可能である。
【0036】
【実施例】次に、第一の実施の形態に対する第一の実施
例について説明する。本実施例は、図2に示すキャッシ
ュ装置10をWWWデータのキャッシングに用いられる
プロキシキャッシュ装置として使用した場合についての
ものである。
【0037】本実施例では、クライアントからキャッシ
ュ装置10へ送られてくるリクエストは、データを先頭
からシーケンシャルに転送することを要求するものとな
る。そこで、データを先頭から所定サイズ(例えば40
96バイト)ずつに分割し、この分割データをキャッシ
ュ/パージの単位とする。この時、データの先頭を含む
分割データ(第1番目の分割データ)がまた要求される
かどうかは不確定であるが、第1番目の分割データへの
リクエストが到着すれば、後続の分割データ(第2番目
以降の分割データ)へのリクエストがなされることは確
定する。データの先頭からA1バイト目まで、データの
A1バイト目からA2バイト目まで、……、のようにデ
ータを不定長に分割した場合にも本実施例を利用できる
ことは明らかである。
【0038】本実施例の動作を説明する。リクエスト処
理部11がクライアントからのリクエスト(或るデータ
αを先頭からシーケンシャルに転送することを要求する
リクエスト)を受け取ると(図4のステップA1)、キ
ャッシュ検索部12が、上記データαの先頭を含む第1
番目の分割データがキャッシュ記憶部14にキャッシュ
されているかどうかを調べる(ステップA2)。
【0039】今、第1番目の分割データがキャッシュさ
れていないとすると、キャッシュ検索部12は、サーバ
からオリジナルな第1番目の分割データを取得する(ス
テップA5)。その後、キャッシュ判定部13内のデー
タグループ決定手段22によって、上記第1番目の分割
データが属するデータグループが決定される(ステップ
B1)。
【0040】尚、本実施例では、データグループ決定手
段22は、アクセス時刻を予想できないデータを、デー
タグループXに分類し、アクセス時刻を予想できるデー
タをデータグループYに分類するものとする。より具体
的には、データグループ決定手段22は、第1番目の分
割データは、データグループXに分類する。第2番目以
降の分割データは、リクエスト処理部11が受け付けて
いる後続のリクエストの中に、現在グループ分けの対象
にしている分割データを含むデータと同じデータに対す
るリクエストがある場合には、データグループYに分類
し、そうでない場合には、データグループXに分類す
る。また、本実施例では、部分キャッシュ管理部21−
1がデータグループXに属する分割データを管理し、部
分キャッシュ管理部21−2がデータグループYに属す
る分割データを管理するものとする。
【0041】ステップB1に於いて、第1番目の分割デ
ータがデータグループXに分類されると、部分キャッシ
ュ管理部21−1内の優先度割り当て手段31が第1番
目の分割データに優先度を割り当てる(ステップB
2)。ここで、データグループXを管理する部分キャッ
シュ管理部21−1内の優先度割り当て手段31は、L
FUに従って優先度を割り当てる(参照回数を優先度と
して割り当てる)。この例では、第1番目の分割データ
がデータグループXに属するので、部分キャッシュ管理
部21−1内の優先度割り当て手段31によって優先度
の割り当てがおこなわれるが、ステップB1に於いて、
分割データがデータグループYに分類された場合には、
データグループYに属するデータを管理する部分キャッ
シュ管理部21−2によって優先度が割り当てられる。
データグループYを管理する部分キャッシュ管理部21
−2内の優先度割り当て手段31は、予想アクセス時刻
を優先度として割り当てる。予想アクセス時刻は、クラ
イアントからプロキシキャッシュ装置への予想転送速度
と、分割されたデータの大きさとから予想される。アク
セスされた分割データと到着時刻を予想している分割デ
ータとの間にいくつの分割データがあるかも考慮する。
例えば、予想転送速度が一定で、一秒間当たり1メガビ
ットで、分割データの大きさが全て256キロバイトで
あるとすると、1つの分割データの転送に2秒かかる。
予想アクセス時刻は、「予想アクセス時刻=現在時刻+
分割データサイズ×R/データの転送速度」で予想す
る。ただしRは、アクセスされた分割データと到着時刻
を予想している分割データとの間にいくつの分割データ
があるかを表す。
【0042】その後、ステップB3に於いて、空き記憶
領域24が第1番目の分割データを記憶するのに十分な
大きさを持つか否かが調べられる。そして、十分な大き
さを持てば、第1番目の分割データは、部分キャッシュ
管理部21−1内のデータ操作手段33によってキャッ
シュ記憶部14にキャッシュされる(ステップB6)。
これに対して、空き記憶領域24の大きさが十分でない
場合には、最低優先度決定手段23によってデータグル
ープXとデータグループYとの優先度が比較され、パー
ジの対象にするデータグループが決定される(ステップ
B4)。
【0043】このステップB4の処理を詳しく説明する
と、次のようになる。データグループX,Yの優先度の
比較は、部分キャッシュ管理部21−1内の最低優先度
決定手段23によってデータグループXの部分最低優先
度データに対する予想アクセス時刻を推定し、この値と
データグループYの部分最低優先度データに割り当てら
れている優先度(予測アクセス時刻)と比較することで
行なう。データグループXの部分最低優先度データに対
する予想アクセス時刻は、現在時刻とデータの通算参照
回数を元に推定する。データグループXのキャッシング
アルゴリズムとしてLFU以外を用いた場合は、そのキ
ャッシュ方式が利用する情報をパラメータとする関数に
よって、優先度変換を行なう。参照回数で与えられる優
先度を予想アクセス時刻に変換する関数は、予想アクセ
ス時刻=C+k/(f+1)とする。ただし、Cは現在
時刻、fはパージ候補の単位データの参照回数、kは定
数である。また、部分最低優先度決定手段32には、ヒ
ープを用いる。
【0044】ステップB4に於いて、パージ対象にする
データグループが決定されると、そのデータグループを
管理している部分キャッシュ管理部内のデータ操作手段
33が、部分最低優先度決定手段32によって特定され
る最低優先度データが使用していた領域を空き記憶領域
に含め、そこに第1番目の分割データをキャッシュする
(ステップB5,B6)。
【0045】以上は、データαの第1番目の分割データ
がキャッシュされていない場合の動作であるが、キャッ
シュされている場合は、次のような動作が行われる。
【0046】ステップA2に於いて、第1番目の分割デ
ータがキャッシュされていると判断した場合、キャッシ
ュ検索部12は、第1番目の分割データをキャッシュ記
憶部14から読み出す(ステップA3)。その後、デー
タαの第2番目以降のデータの優先度を更新する(ステ
ップA4)。
【0047】このステップA4の処理を詳細に説明する
と、次のようになる。データグループ決定手段22が、
データグループXの分割データを管理している部分キャ
ッシュ管理部21−1に対して、データαの第2番目以
降の分割データを管理対象から除外し、データグループ
Yの分割データを管理している部分キャッシュ管理部2
1−2に対して、データαの第2番目以降の分割データ
を管理対象にすることを指示する。これにより、部分キ
ャッシュ管理部21−1は、データαの第2番目以降の
分割データを管理対象にしていれば、それを管理対象か
ら除外する。また、部分キャッシュ管理部21−2は、
データαの第2番目以降の分割データを管理対象にして
いなければ、それを管理対象にする。その後、部分キャ
ッシュ管理部21−2内の優先度割り当て手段31が、
データαの第2番目以降の分割データの優先度(予想ア
クセス時刻)を更新する。この優先度の更新は、前述し
た式「予想アクセス時刻=現在時刻+分割データサイズ
×R/データの転送速度」に基づいて、データαの第2
番目以降の各分割データの予想アクセス時刻を求め、求
めた予想アクセス時刻を対応する分割データに割り当て
ることにより行う。また、データグループXを管理して
いる部分キャッシュ管理部21−1内の優先度割り当て
手段31は、データαの第1番目の分割データの優先度
(参照回数)を更新する。
【0048】データαの第1番目の分割データに対する
処理が終了すると、第2番目以降の分割データに対して
前述した動作と同様の動作が行われる。そして、データ
αの最後の分割データに対する処理が終了すると、デー
タグループ決定手段22は、リクエスト処理部11が受
け付けている後続のリクエストの中に、データαに対す
るリクエストが存在するか否かを調べる。そして、存在
しない場合には、データグループXの分割データを管理
している部分キャッシュ管理部21−1に対して、デー
タαの第2番目以降のデータを管理対象にすることを指
示し、データグループYのデータを管理している部分キ
ャッシュ管理部21−2に対して、データαの第2番目
以降のデータを管理対象から除外することを指示する。
これにより、部分キャッシュ管理部21−1は、データ
αの第2番目以降の分割データを管理対象にし、部分キ
ャッシュ管理部21−2は、データαの第2番目以降の
分割データを管理対象から除外する。更に、部分キャッ
シュ管理部21−1内の優先度割り当て手段31は、デ
ータαの第2番目以降の分割データに、データαの第1
番目の分割データと同じ優先度(参照回数)を割り当て
る。
【0049】本実施例の変形として、主記憶装置に二次
記憶装置中のデータをキャッシュするディスクキャッシ
ュ装置に第一の実施の形態を適用した場合を示す。
【0050】本発明を、図7に示す、演算装置101
と、キャッシュ記憶部104を有する主記憶装置102
と、二次記憶装置103とから構成されるシステムに適
用した場合について考える。尚、主記憶装置102上に
は、図2に示したキャッシュ装置10の構成要素であ
る、リクエスト処理部11,キャッシュ検索部12,キ
ャッシュ判定部13を実現するためのキャッシュ装置用
プログラム10Pが登録されている。このキャッシュ装
置用プログラム10Pは、演算装置101によって読み
取られ、その動作を制御することで、演算装置101上
にリクエスト処理部11,キャッシュ検索部12,キャ
ッシュ判定部13を実現する。また、主記憶装置102
上のキャッシュ記憶部104は、図2のキャッシュ記憶
部14に相当するものである。
【0051】二次記憶装置103に連続メディアデータ
等の巨大なサイズを持つデータが記憶されているとす
る。これらのデータへのアクセスは、二次記憶装置10
3からの読み出しに用いられる帯域を長時間にわたって
占有する。従って、多くの連続メディアデータ等の巨大
なデータがリクエストされた場合、低速な二次記憶装置
からの読み出し速度がボトルネックになり、転送速度が
大幅に低下してしまう。そこで、連続メディアデータ等
の巨大なデータの性質を利用して、なるべく高速な一次
記憶からデータが読み出されるように、パージする分割
データを選択する。
【0052】データは、二次記憶装置103の入出力の
単位に分割され、この分割データがキャッシュ/パージ
の単位とされる。例えば、二次記憶装置103が409
6バイトずつ読み出し、書き込みを行なうとすると、デ
ータは先頭から4096バイトずつに分割され、この分
割データがキャッシュ/パージの単位とされる。
【0053】本実施例の動作を説明する。キャッシュ装
置用プログラム10Pによって実現されるリクエスト処
理部11が、演算装置101からリクエスト(或るデー
タαを先頭からシーケンシャルに転送することを要求す
るリクエスト)を受け取ると(図4のステップA1)、
データαの第1番目の分割データから順番に、第一の実
施例で説明した処理と同様の処理が行われる。今、例え
ば、データαの第n番目の分割データが処理対象になっ
たとすると、キャッシュ装置用プログラム10Pによっ
て実現されるキャッシュ検索部12が、上記データαの
第n番目の分割データがキャッシュ記憶部104にキャ
ッシュされているかどうかを調べる(ステップA2)。
【0054】今、第n番目の分割データがキャッシュさ
れていないとすると、キャッシュ検索部12は、二次記
憶装置103からオリジナルの第n番目の分割データを
取得する(ステップA5)。その後、キャッシュ装置用
プログラム10Pによって実現されるキャッシュ判定部
13内のデータグループ決定手段22によって、上記第
n番目の分割データが属するデータグループが決定され
る(ステップB1)。このステップB1の具体的な処理
は、第一の実施例のステップB1の処理と全く同じであ
り、第n番目の分類データは、アクセス時刻を予想不可
能なデータグループX或いはアクセス時刻を予測可能な
データグループYに分類される。
【0055】その後、ステップB2に於いて、第n番目
の分割データに優先度が割り当てられる。ここで、第n
番目の分割データが、データグループXに属するもので
あるときは、参照回数が優先度として割り当てられ、デ
ータグループYに属するものであるときは、予測アクセ
ス時刻が優先度として割り当てられる。予想アクセス時
刻は、式「予想アクセス時刻=現在時刻+分割データサ
イズ×R/演算装置101と主記憶装置102との間の
データ転送速度」を使用して予想する。但しRは、アク
セスされた分割データと到着時刻を予想している分割デ
ータとの間にいくつの分割データがあるかを表す。
【0056】その後、ステップB3に於いて、キャッシ
ュ記憶部104の空き記憶領域が第n番目の分割データ
を記憶するのに十分な大きさを持つか否かが調べられ
る。そして、十分な大きさを持てば、第n番目の分割デ
ータは、部分キャッシュ管理部21−1或いは部分キャ
ッシュ管理部21−2内のデータ操作手段33によって
キャッシュ記憶部104にキャッシュされる(ステップ
B6)。これに対して、空き記憶領域の大きさが十分で
ない場合には、最低優先度決定手段23によってデータ
グループXとデータグループYとの優先度が比較され、
パージの対象にするデータグループが決定される(ステ
ップB4)。このステップB4の具体的な動作は、第一
の実施例と全く同じである。
【0057】ステップB4に於いて、パージ対象にする
データグループが決定されると、そのデータグループを
管理している部分キャッシュ管理部内のデータ操作手段
33が、部分最低優先度決定手段32によって特定され
る最低優先度データが使用していた領域をパージし、そ
こに第n番目の分割データをキャッシュする(ステップ
B5,B6)。
【0058】以上は、データαの第n番目の分割データ
がキャッシュされていない場合の動作であるが、キャッ
シュされている場合は、次のような動作が行われる。
【0059】ステップA2に於いて、第n番目の分割デ
ータがキャッシュされていると判断した場合、キャッシ
ュ検索部12は、第n番目の分割データをキャッシュ記
憶部104から読み出す(ステップA3)。その後、デ
ータαの第(n+1)番目以降のデータの優先度を更新
する(ステップA4)。このステップA4の具体的な動
作は、第1の実施例と全く同様である。
【0060】以上の動作をデータαの最後の分割データ
まで行うと、データグループ決定手段22は、リクエス
ト処理部11が受け付けている後続のリクエストの中
に、データαに対するリクエストが存在するか否かを調
べる。そして、存在しない場合には、データグループX
の分割データを管理している部分キャッシュ管理部21
−1に対して、データαの第2番目以降のデータを管理
対象にすることを指示し、データグループYのデータを
管理している部分キャッシュ管理部21−2に対して、
データαの第2番目以降のデータを管理対象から除外す
ることを指示する。これにより、部分キャッシュ管理部
21−1は、データαの第2番目以降の分割データを管
理対象にし、部分キャッシュ管理部21−2は、データ
αの第2番目以降の分割データを管理対象から除外す
る。更に、部分キャッシュ管理部21−1内の優先度割
り当て手段31は、データαの第2番目以降の分割デー
タに、データαの第1番目の分割データと同じ優先度
(参照回数)を割り当てる。尚、上述した第一の実施例
及びその変形は、第二の実施の形態にも適用できる。
【0061】次に、第一の実施の形態に対する第二の実
施例を示す。本実施例は、第一の実施の形態に係るキャ
ッシュ装置を、二次記憶装置中にディレクトリデータと
ファイルデータの二種類の情報が格納されているシステ
ムにおけるディスクキャッシュ装置とした場合について
のものである。
【0062】本実施例では、ディレクトリデータと、フ
ァイルデータのそれぞれをLFUでキャッシュし、各デ
ータには優先度として参照回数を割り当てる。更に、本
実施例では、最低優先度のデータグループを決定するた
めに、各データに最終アクセス時刻も割り当てる。そし
て、二つのデータグループの部分最低優先度データ(参
照回数が最も少ないデータ)のうち、最終アクセス時刻
が早い方が最低優先度データとする。
【0063】図8は本実施例のブロック図であり、キャ
ッシュ装置200と、主記憶装置210と、二次記憶装
置220とから構成されている。
【0064】主記憶装置210には、キャッシュ記憶部
211が設けられている。二次記憶装置220には、複
数のディレクトリデータA〜Fと、複数のファイルデー
タ1〜6が格納されている。
【0065】キャッシュ装置200は、リクエスト処理
部201と、キャッシュ検索部202と、キャッシュ判
定部203とを備えている。リクエスト処理部201,
キャッシュ検索部202は、図2に示したリクエスト処
理部11,キャッシュ検索部12と同様の機能を有す
る。キャッシュ判定部203は、ディレクトリデータを
管理する部分キャッシュ管理部204−1と、ファイル
データを管理する部分キャッシュ管理部204−2と、
最低優先度決定手段208と、データグループ決定手段
209とを備えている。
【0066】外部からのリクエストをリクエスト処理部
201が受け付けると(図4,ステップA1)、キャッ
シュ検索部202は、リクエストされたデータがキャッ
シュ記憶部211にキャッシュされているか否かを調べ
る(ステップA2)。
【0067】そして、キャッシュされている場合には、
キャッシュ検索部202は、リクエストされたデータを
キャッシュ記憶部211から読み出す(ステップA
3)。その後、上記リクエストされているデータを管理
している部分キャッシュ管理部204−i(i=1また
は2)内の優先度割り当て手段205−iが、上記リク
エストされたデータの参照回数(優先度)および最終ア
クセス時刻を更新する(ステップA4)。これに対し
て、リクエストされたデータがキャッシュされていない
場合は、キャッシュ検索手段202は、二次記憶装置2
20からリクエストされたデータを取り出す(ステップ
A5)。
【0068】その後、キャッシュ判定部203内のデー
タグループ決定手段209が、上記データを所属させる
データグループを決定する(ステップB1)。本実施例
では、上記データがディレクトリデータである場合に
は、所属先を部分キャッシュ管理部204−1で管理さ
れるデータグループG1にし、ファイルデータである場
合には、所属先を部分キャッシュ管理部204−2で管
理されるデータグループG2とする。
【0069】その後、所属先とされた部分キャッシュ管
理部204−i内の優先度割り当て手段205−iが、
上記データに参照回数(優先度)および最終アクセス時
刻を割り当てる(ステップB2)。そして、キャッシュ
記憶部211の空き領域が、データを記憶するのに十分
な大きさを持つかどうかの判定を行ない(ステップB
3)、十分な大きさを持てば、キャッシュ記憶部211
にデータを格納する(ステップB6)。これに対して、
空き領域が十分な大きさを持たない場合は、最低優先度
決定手段208が、部分最低優先度決定手段206−
1,206−2によって求められた、データグループG
1,G2中の部分最低優先度データ(参照回数が最も少
ないデータ)の最終アクセス時刻を比較し、最終アクセ
ス時刻が新しい方のデータグループをパージ対象のデー
タグループとする(ステップB4)。
【0070】その後、パージ対象にされたデータグルー
プを管理している部分キャッシュ管理部204−i内の
データ操作手段207−iが、部分最低優先度決定手段
206−iによって特定されている最低優先度を持つデ
ータが使用していた記憶領域を空き記憶領域に含め、デ
ータをキャッシュするのに十分な空き記憶領域を確保し
(ステップB5)、確保した領域にデータをキャッシュ
する(ステップB6)。
【0071】次に、図9に示す関係を持つディレクトリ
データA〜F、ファイル1〜6が二次記憶装置220に
格納されている場合を例にとって、本実施例の効果につ
いて説明する。ファイルデータ、ディレクトリデータと
もに、複数のユーザによって共有されている等の理由で
頻繁に参照されるものと、ほとんど参照されないものが
あるため、頻繁にアクセスされるファイルを主記憶装置
210中のキャッシュ記憶部211にキャッシュする
と、アクセスコストが軽減される。ディレクトリデータ
Bが4人のユーザに共有されていて、ディレクトリBに
各ユーザがファイルを持っていたとすると、ディレクト
リBは多数のアクセスを受けることになる。
【0072】最初に、ディレクトリデータとファイルデ
ータの二つのデータを既存のキャッシングアルゴリズム
により統一的に管理する場合の問題点について説明す
る。二次記憶装置220上にあるディレクトリデータを
主記憶装置210上のキャッシュ記憶部211にキャッ
シュするとファイルデータへのアクセス速度が増加する
ため、ディレクトリデータをキャッシュすることは良い
が、ファイルデータもキャッシュする必要があるため、
ディレクトリデータのキャッシュに割り当てる記憶領域
と、ファイルデータのキャッシュに割り当てる記憶領域
のバランスを取る必要がある。ところが上に述べた通
り、ディレクトリデータは、ファイルデータに比べて多
数のアクセスを受ける傾向がある。そのため頻繁にアク
セスされるファイルデータ、ディレクトリデータが時間
とともに変化した場合には、ディレクトリデータの参照
回数とファイルデータの参照回数を直接比較すると、現
時点で頻繁にアクセスされているファイルデータより
も、過去に頻繁にアクセスされていたディレクトリデー
タの方が優先順位が高くなってしまう。この結果、キャ
ッシュ記憶部211に格納されているデータをパージす
ることが必要になった場合、過去に頻繁にアクセスされ
ていたディレクトリデータがパージされずに、現在頻繁
にアクセスされているファイルデータがパージされてし
まうという問題が生じる。
【0073】本実施例では、参照回数に関して、ファイ
ルデータはファイルデータ同士、ディレクトリデータは
ディレクトリデータ同士の比較になり、ファイルデータ
をキャッシュするための記憶領域とディレクトリデータ
をキャッシュするための記憶領域の大きさのバランス
は、互いのデータグループで最も不要なデータの最終ア
クセス時刻の比較によって取られる。頻繁にアクセスさ
れるファイルデータ、ディレクトリデータが移り代わる
と、ファイルデータ、ディレクトリデータそれぞれの中
で高い優先度を持っていた(参照回数が多かった)デー
タが低い優先度を持つようになり、いずれ部分最低優先
度データとなる。この時、最も低い優先度を持つディレ
クトリデータ、ファイルデータのどちらを捨てるかは、
参照回数ではなく、最終アクセス時刻によって決定され
るため、多くなりがちなディレクトリデータの参照回数
とファイルデータの参照回数が比較されることはなく、
ファイルデータとディレクトリデータが使用する記憶領
域のバランスが取られるので、適切なキャッシングを行
なうことができ、ディレクトリデータ、ファイルデータ
へのキャッシュヒットが増加し、ファイル検索、ファイ
ルI/Oの速度が増す。
【0074】本実施例の変形として、二次記憶装置22
0中にDNSデータとファイルデータとを格納し、キャ
ッシュ装置200をプロキシキャッシュ装置として使用
する場合について説明する。
【0075】URLは、データを保持するホストと、ホ
ストで解決されるファイルの識別子からなり、ホストと
IPアドレスの関連づけはDNSデータに基づいて行な
われる。従って、プロキシキャッシュ装置の高速化のた
めには、ファイルデータだけでなくDNSデータもキャ
ッシュした方が良い。図8に示した部分キャッシュ管理
部204−1,204−2をそれぞれDNSデータ用,
ファイルデータ用に使用すれば、ファイルデータとDN
Sデータが使用するキャッシュ記憶部211の領域のバ
ランスが取られるので、適切なキャッシングを行なうこ
とができ、ファイルデータ、DNSデータへのキャッシ
ュヒットが増加し、クライアントのリクエストに対する
レスポンスタイムが短縮される。ファイルデータとDN
Sデータを共にキャッシュする場合、上記のファイルデ
ータとディレクトリデータの関係と同様、人気のあるフ
ァイルを保持するホストのDNSデータは、そのホスト
が保持するデータに比べて多数のアクセスを受けるた
め、ファイルデータとDNSデータの参照回数を直接比
較すると、ファイルのためのキャッシュ領域とDNSデ
ータのためのキャッシュ領域のバランスがとれない。
【0076】上記実施例ではファイルとディレクトリ
(DNSデータ)の優先度を最終アクセス時刻を用いて
比較するが、これ以外にもデータグループYに属するデ
ータに対して、初めてアクセスされた時刻Bを付加し、
次回のアクセス予想時刻を予想時刻=C+(C−B)/
Fとする方式も考えられる。ただし、Cは現在時刻、F
は参照回数である。そして、各データグループの部分最
低優先度データの内、予想アクセス時刻が最も遠い時刻
を示しているものをパージする。尚、上述した第二の実
施例は及びその変形は、第二の実施の形態にも適用でき
る。
【0077】次に、第一の実施の形態に対する第三の実
施例について説明する。本実施例は、第1の実施の形態
に係るキャッシュ装置を、WWWデータのキャッシング
に用いられるプロキシキャッシュ装置に適用した場合に
ついてのものである。
【0078】図10は本実施例に係るキャッシュ装置3
00の構成例を示すブロック図であり、リクエスト処理
部301と、キャッシュ検索部302と、キャッシュ判
定部303と、キャッシュ記憶部314とから構成され
ている。
【0079】キャッシュ判定部303は、部分キャッシ
ュ管理部304−1,304−2と、データグループ決
定手段308と、最低優先度決定手段309と、ヒット
率推定手段310とを備えている。
【0080】部分キャッシュ管理部304−1,304
−2は、優先度割り当て手段305−1,305−2
と、部分最低優先度決定手段306−1,306−2
と、データ操作手段307−1,307−2とを備えて
いる。また、ヒット率推定手段310は、サイズ管理手
段311と、個数管理手段312と、演算手段313と
を備えている。
【0081】本実施例においては、キャッシュ記憶部3
14にキャッシュされているデータを、キャッシュされ
た後一度もアクセスされていないデータグループLと、
キャッシュされた後一度以上アクセスされたデータグル
ープHとに分けて管理する。従って、キャッシュ記憶部
314中のデータグループLのデータがアクセスされた
場合、そのデータはデータグループLから取り除かれ
て、データグループHに移される。データグループH,
Lに属するデータは、それぞれ部分キャッシュ管理部3
04−1,304−2によって管理される。各部分キャ
ッシュ管理部304−1,304−2内の優先度割り当
て手段305−1,305−2は、どちらもLRUに従
った優先度を、管理しているデータに割り当てる。
【0082】ヒット率推定手段310内のサイズ管理手
段311は、データグループL,Hが占める記憶領域の
サイズ|L|,|H|を管理する。個数管理手段312
は、データグループLからデータグループHに移った
後、一度以上アクセスされたことのあるデータの数T
と、データグループLからデータグループHに移った
後、一度もアクセスされたことのないデータの数Sとを
管理している。演算手段313は、サイズ管理手段31
1,個数管理手段312で管理されているデータに基づ
いて、データグループL,Hそれぞれのヒット率の推定
値を求める。
【0083】次に、本実施例の動作を説明する。
【0084】リクエスト処理部301が、外部からのデ
ータDに対するリクエストを受け付けると(図4のステ
ップA1)、キャッシュ検索部302が、キャッシュ記
憶部314にデータDがキャッシュされているか否かを
調べる(ステップA2)。
【0085】キャッシュされている場合(ステップA2
がy)は、キャッシュ検索部302によって、キャッシ
ュ記憶部314からリクエストされたデータDが読み出
され(ステップA3)、更に、上記データDを管理して
いる部分キャッシュ管理部304−i(i=1または
2)内の優先度割り当て手段305−iによってデータ
Dに対する優先度(LRUに従った優先度)が更新され
る(ステップA4)。また、ステップA4の処理が終了
した後、データグループ決定手段308は、上記データ
DがデータグループLに属するものであれば、部分キャ
ッシュ管理部304−1,304−2に指示を出し、デ
ータDをデータグループLからデータグループHへ移
す。
【0086】これに対して、データDがキャッシュされ
ていない場合(ステップA2がn)は、キャッシュ検索
部302が、キャッシュ元からオリジナルなデータDを
取得する(ステップA5)。その後、データグループ決
定手段308が、上記データDをデータグループLにグ
ループ分けし(ステップB1)、データグループLを管
理している部分キャッシュ管理部304−2内の優先度
割り当て手段305−2が、データDに優先度(LRU
に従った優先度)を割り当てる。
【0087】その後、ステップB3に於いて、データD
を格納するのに十分な空き領域がキャッシュ記憶部31
4上に存在するか否かが調べられる。そして、十分な空
き領域が存在する場合には、部分キャッシュ管理部30
4−2内のデータ操作手段307−2によって、データ
Dがキャッシュ記憶部314にキャッシュされる(ステ
ップB6)。
【0088】これに対して、データDを格納するのに、
十分な空き領域が存在しない場合(ステップB3がy)
は、最低優先度決定手段309が、ヒット率推定手段3
10の推定結果に基づいて、パージするデータグループ
を決定する(ステップB4)。
【0089】このステップB4の処理を詳細に説明する
と、次のようになる。ヒット率推定手段310内の演算
手段313は、サイズ管理手段311,個数管理手段3
12で管理されているデータ|L|,|H|,S,Tを
使用して、データグループL,Hのヒット率の推定値S
L,SHを次式(1),(2)により求めている。
【0090】 SL=|L|/(S+a) … (1) SH=|H|/(T+a) … (2) ここで、aは定数である。
【0091】最低優先度決定手段309は、データグル
ープL,Hのヒット率の推定値SL,SHを比較し、S
L≧SHであれば、データグループHの優先度の方が高
いと判断し、データをパージするデータグループをデー
タグループLに決定する。SL<SHであれば、データ
グループLの方が優先度が高いと判断し、データをパー
ジするデータグループをデータグループHに決定する。
以上がステップB4で行う処理の詳細である。
【0092】ステップB4に於いて、パージするデータ
グループがデータグループHに決定された場合には、部
分キャッシュ管理部304−1内のデータ操作手段30
7−1がデータグループH中の最低優先度データをキャ
ッシュ記憶部314からパージし、その後、データDを
キャッシュ記憶部314にキャッシュする(ステップB
5,B6)。また、ステップB4に於いて、パージする
データグループがデータグループLに決定された場合に
は、部分キャッシュ管理部304−2内のデータ操作手
段307−2が、データグループL中の最低優先度デー
タをキャッシュ記憶部314からパージし、その後、デ
ータDをキャッシュ記憶部314にキャッシュする(ス
テップB5,B6)。
【0093】尚、サイズ管理手段311では、例えば、
次のようにして、データグループL,Hが占める記憶領
域のサイズ|L|,|H|を管理する。ステップB5に
於いて、データグループHを管理している部分キャッシ
ュ管理部304−1内のデータ操作手段307−1がデ
ータをパージした場合、上記データのサイズ分だけデー
タグループHのサイズ|H|を減少させ、ステップB6
に於いてデータ操作手段307−1がデータをキャッシ
ュした場合、上記データのサイズ分だけデータグループ
Hのサイズ|H|を増加させる。また、ステップB5に
於いて、データグループLを管理している部分キャッシ
ュ管理部304−2内のデータ操作手段307−2がデ
ータをパージした場合には、上記データのサイズ分だけ
データグループLのサイズ|L|を減少させ、ステップ
B6に於いてデータ操作手段307−2がデータをキャ
ッシュした場合には、上記データのサイズ分だけデータ
グループLのサイズ|L|を増加させる。
【0094】また、個数管理手段312は、例えば次の
ようにして、個数S,Tを管理する。ステップA3にお
いて、キャッシュ記憶部314から或るデータαが読み
出された場合、そのデータαの識別子とアクセス回数と
の対が、自手段312内に設けられているリスト(図示
せず)に繋がれているか否かを調べる。もし、繋がれて
いない場合は、データαの識別子とアクセス回数(0
回)との対を、リストに追加し、更に、個数Sを+1す
る。これに対して、データαの識別子がリストに繋がれ
ている場合は、それと対になっているアクセス回数を+
1し、更新後のアクセス回数が「1回」であるか否かを
調べる。そして、アクセス回数が「1回」である場合に
は、個数Tを+1し、「1回」でない場合には、個数T
に対する更新は行わない。また、ステップB5に於い
て、データ操作手段307−1によって、データグルー
プH中の最低優先度データβがパージされた場合、リス
トに繋がれているデータβの識別子とアクセス回数との
対に注目し、アクセス回数が「0回」であるか否かを調
べる。そして、アクセス回数が「0回」であれば、個数
Sを−1し、更に、上記注目した対をリストから削除す
る。これに対して、アクセス回数が「0回」でなけれ
ば、個数Tを−1し、更に上記注目した対をリストから
削除する。
【0095】本実施例は、二つのデータグループを組み
合わせることで既存のLRU,LFUを単独で使った方
式の問題点を克服している。
【0096】LRUを使った場合は、ミラーリングを行
うためにあるサイト上のWWWデータを大量にコピーす
るようなアクセスが発生した場合に、一度しかアクセス
されないデータも含めて大量のデータに対するアクセス
が発生するため、結果として頻繁に利用されるデータが
キャッシュから追い出されてキャッシュの効率が低下す
る問題点がある。
【0097】LFUを使った場合は、ユーザのアクセス
パターンが変化して頻繁にアクセスされるデータが時間
とともに変化した場合でも、以前アクセスされていたデ
ータに対するアクセス数が大きかった場合は、なかなか
キャッシュから追い出されずにキャッシュの効率を低下
する問題点がある。本実施例では、WWWデータを大量
にコピーするようなアクセスが発生した場合でも、一度
しかアクセスされないデータはデータグループLに入れ
られ、結果としてデータグループLのヒット率が低下す
るため、データグループHに入っている頻繁にアクセス
されるデータがパージされることがない。この結果、キ
ャッシュを効率的に利用することができる。
【0098】また、ユーザのアクセスパターンが変化し
て頻繁にアクセスされるデータが時間とともに変化した
場合は、アクセスされなくなったデータは、以前に頻繁
にアクセスされていたデータであってもデータグループ
Hから急速に追い出されるためキャッシュの効率が低下
する問題点が解決される。
【0099】また本実施例は、LRUと同様にデータ構
造としてキューを使ってキャッシュされたデータを管理
することができるため、一回のキャッシュ操作に要する
計算量はO(1)しか必要としない。これに対してLF
U等のようにデータ構造としてヒープを用いた他のキャ
ッシングアルゴリズムでは、キャッシュ中のデータ数が
nの時の一回のキャッシュ操作に要する計算量がO(log
n) のキャッシングアルゴリズムと比較して短い計算時
間しか必要とせずに実現できるという特長も持つ。
【0100】なお、本実施例の適用範囲はWWWデータ
のキャッシングに用いられるプロキシキャッシュ装置以
外にも、ディスク中のデータを主記憶装置中にキャッシ
ュする目的や、DNSデータを主記憶装置中にキャッシ
ュする目的にも適用可能であることは明らかである。
【0101】本実施例の変形として、WWWデータのキ
ャッシングだけでなく、データのプリフェッチも行なう
プロキシキャッシュ装置に、第一の実施の形態を適用し
た場合について説明する。
【0102】本実施例を示した図10において、データ
グループHを管理する部分キャッシュ管理部304−1
をキャッシュされたデータの管理に、データグループL
を管理する部分キャッシュ管理部304−2をプリフェ
ッチされたデータの管理に用いる。データグループ決定
手段308は、プリフェッチされたデータに対してはデ
ータグループLを割り当て、データグループL中にキャ
ッシュされているデータがアクセスされた場合、そのデ
ータをデータグループLからデータグループHに移す。
また、何れのデータグループの優先度割り当て手段30
5−1,305−2も、LRUに従って優先度を割り当
てる。
【0103】ヒット率推定手段310は、第三の実施例
と同様に、データグループLのヒット率の推定値SL=
|L|/(S+a)と、データグループHのヒット率の
推定値SH=|H|/(T+a)とを求める。最低優先
度決定手段309は、図4のステップB4に於いて、ヒ
ット率推定手段310が算出したヒット率の推定値S
L,SHを比較する。そして、SL≧SHであれば、デ
ータグループHの優先度の方が高いと判断し、データを
パージするデータグループをデータグループLに決定す
る。SL<SHであれば、データグループLの方が優先
度が高いと判断し、データをパージするデータグループ
をデータグループHに決定する。
【0104】本実施例のキャッシュ方式と、プリフェッ
チされたデータを扱う本実施例の変形例は、容易に組み
合わせることが可能である。まず、プリフェッチされた
データからなるデータグループPと、キャッシュされた
後一度もアクセスされていないデータグループL、キャ
ッシュされた後一度以上アクセスされたデータグループ
Hを作り、各データグループをLRUでキャッシュす
る。また、Pに属するデータがアクセスされると、その
データはLに、Lに属するデータがアクセスされると、
そのデータはHに移される。データグループHに属する
データで、Hに移ってから一度以上アクセスされたデー
タの数Tと、データグループLからデータグループHへ
と移ってからアクセスされたことがないデータの数S、
データグループLに属するデータで、データグループP
から移されたデータの数V、データグループLにキャッ
シュされたデータの数Xを管理する。最低優先度決定手
段309は、上記T、S、V、Xを用いて、|P|/
V、|L|/S、|H|/Tのうち、|P|/Vが最大
値であればPの、|L|/Sが最大値であればLの、|
H|/Tが最大値であればHの中で最低の優先度を持つ
データをパージする。
【0105】さらに、異なるヒット率の推定方法につい
て述べる。t回目のリクエストを受け付けた時のデータ
グループiに対してh(t,i)を、cを0より大きく1未満
の定数として、h(t,i)=ch(t-1,i)+(1-c)Δ(t) と定義す
る。ただし、iはデータグループであり、Δ(t) は、t
回目のリクエストがデータグループiに属するデータに
対するものであれば1、そうでなければ0を取る。そし
て、t回目のリクエストを受けた時のデータグループi
のデータサイズをs(t,i)とし、h(t,i)/s(t,i)をヒット
率とする。ヒット率が最小であるデータグループの部分
最低優先度データが最低優先度データとみなされ、パー
ジされる。
【0106】また、第一の実施例で述べたデータグルー
プX、Yに対して上記同様、ヒット率をh(t,i)/s(t,i)
と推定し、最小のh(t,i)/s(t,i) を持つデータグループ
の部分最低優先度データをパージする方法が、容易に類
推できる。
【0107】次に、第一の実施の形態の第四の実施例を
述べる。
【0108】本実施例は、HTML(Hyper Text Markup Lan
guage)で記述されたWeb ページ(HTML 文書) 、およびそ
れらのページに埋め込まれている画像、音声、音楽、動
画、映像、あるいはJavaなどのプログラミング言語で記
述されたプログラムなどのWeb オブジェクトを管理する
キャッシュ装置に、第一の実施の形態を適用したもので
ある。
【0109】HTML文書においては、他のHTML文書、もし
くはWeb オブジェクトとの論理的な関連をつけるために
「リンク」が用いられている。例えば、「<a href = UR
L>アンカー </a> 」という記述を用いることで、あるHT
ML文書中の「アンカー」という部分と、URL という識別
子で示される Webオブジェクトとを関連づけることがで
きる。
【0110】一つのHTML文書中にたくさんのリンクを持
つ Webページというものは、例えばディレクトリ型検索
システムのように、多くの Webページを主題別に分類
し、また分類をおおまかな大分類から詳細な小分類へと
階層的に行なうことで利用者への便宜をはかるようなシ
ステムで良く見られることがある。あるいは、ニュース
を提供するシステムのように、ニュース記事そのものを
含むのではなく、個別ニュースへのリンクをジャンルご
とにまとめあげ、一つの Webページ内にニュース記事の
見出しを見やすく配置するような場合にも、一つの HTM
L 文書中に多くのリンクを含むこととなる。すなわち、
多くの情報を分類・整理することによって、そのWeb ペ
ージ自体の価値が重要視されるようなWeb ページは、一
般に他のWeb ページへのリンクを多く含むこととなって
いる。以下、このような Webページのことを「インデッ
クスページ」と呼ぶ。
【0111】逆に、事件・事故などを詳細に解説したニ
ュースそのもののWeb ページや、なんらかの技術に関す
る解説記事、あるいはエッセイ・日記などのように、他
の Webページへのリンクをほとんど含まない HTML 文書
というものも存在する。このような Webページを以下で
は「アーティクルページ」と呼ぶ。
【0112】そこで、データグループ決定手段22で
は、HTML文書のこのような構造を利用し、HTML文書中に
含まれているリンクの数を用いてデータグループを決定
する(図4,ステップB1)。すなわち、HTML文書中に
含まれる「<a href=...>・・・</a> 」というリンク部
分を検出し、その数が定められた数以上であればインデ
ックスページに、そうでなければアーティクルページ
に、その文書をグループ分けする。一般に、ユーザが W
ebページを参照する時には、最初にインデックスページ
を参照し、そのページ内のリンクを用いて、続いてアー
ティクルページを参照し、場合によってはそのアーティ
クルページからもう一度先ほどのインデックスページを
参照し、別のアーティクルページを参照するというよう
な動作を行なうことが多い。すなわち、ユーザはインデ
ックスページを基準とし、そこからリンクされている幾
つかのアーティクルページを参照するという行為を繰り
返している。この結果として、インデックスページの参
照回数が、アーティクルページの参照回数に比べて多く
なっている。図11に、インデックスページ400−1
から、インデックスページ400−2、アーティクルペ
ージ400−3、アーティクルページ400−4…と参
照し、Web ページ400−kまで参照する例を示した。
【0113】これまでに提案されている従来のキャッシ
ュ管理手法においては、上記で述べたようなインデック
スページやアーティクルページが持つ意味合いをまった
く考慮しておらず、キャッシュを有効に活用することが
できていなかった。
【0114】本実施例においては、データグループ決定
手段22において、Web ページ中のリンク数を検出する
ことで、そのページがインデックスページであるかアー
ティクルページであるかを判断する。キャッシュ判定部
13には、インデックスページ用とアーティクルページ
用の部分キャッシュ管理部21−1,21−2が用意さ
れており、インデックスページもしくはアーティクルペ
ージは、それぞれ対応する部分キャッシュ管理部におい
て、それぞれ個別のキャッシングアルゴリズムを用いて
管理される。キャッシングアルゴリズムとしては、参照
回数や最終参照時刻を用いた優先順位に基づく管理方式
を採用する。例えば、一般に知られているLFU(Least
Frequently Used) アルゴリズムでは、参照回数を優先
度として採用しており、参照回数の最も小さなものが置
換え対象となる。またLRU(Least Recently Used) ア
ルゴリズムでは、「1/(現在時刻−最終参照時刻)」
が優先度に相当し、最終参照時刻が最も古いもの、すな
わち「1/(現在時刻−最終参照時刻)」の値が最も小
さなものが置換え対象となる。また、LRUとLFUの
中間の性質を持つキャッシングアルゴリズムとしては、
0<p<1なる定数pを用いてp*参照回数+(1−
p)*1/(現在時刻−最終参照時刻)という式から算
出される値を、優先順位とする方式も考えられる。
【0115】各部分キャッシュ管理部21−1,21−
2内の部分最低優先度決定手段32においては、上記の
キャッシングアルゴリズムを用いてWeb ページを管理
し、最低の優先度を持つWeb ページを置換えの候補とす
る。
【0116】最低優先度決定手段23は、ステップB4
に於いて、インデックスページとアーティクルページと
の内の、どちらを置換え対象とするかを評価式に基づき
決定する。
【0117】例えば、評価値をV=1/(現在時刻−最
終アクセス時刻) と定義し、インデックスページの評価
値Viとアーティクルページの評価値Vaのうち、小さ
な方を真の置換え対象と決定することができる。
【0118】あるいは正の定数αを用いて、 Vi とα *
Va との値の比較を行ない、小さな方を真の置換え対象
と決定する方式も考えられる。α≧1の場合には、アー
ティクルページの方をインデックスページよりも長期間
キャッシュに保存することができ、逆にα<1の場合に
はインデックスページの方をアーティクルページよりも
長期間キャッシュに保存することができる。
【0119】置き換えの対象とされたページを管理して
いる部分キャッシュ管理部21−i内のデータ操作手段
33は、ステップB5に於いて、自管理部21−i内の
部分最低優先度決定手段32によって置き換え候補とさ
れた最低優先度を持つデータをパージする。
【0120】データグループ決定手段22における分類
方法として、上記実施例においてはリンク数に基づく分
類方法のみを説明したが、これ以外にも埋め込みオブジ
ェクトの数を考慮した分類を行なうこともできる。例え
ば、HTML文書では「<IMG SRC=...> 」という記述を用い
て、画像、音声、音楽、動画などを文書中に埋め込むこ
とができるので、文書中にある<IMG SRC=...> というタ
グを解析し、埋め込みオブジェクトの数を算出すること
ができる。そこで、ある HTML 文書中のリンク数と埋め
込みオブジェクトの数とを用いて、HTMLページをインデ
ックスページとアーティクルページとに分類することが
できる。
【0121】あるいは、埋め込みオブジェクト自体には
HTML 文書とは別の参照特性があると考えて、インデッ
クスページ、アーティクルページ、そして埋め込みオブ
ジェクトのように分類を3種類にすることもできる。い
ずれの場合においても、データグループ決定手段22を
除く本発明の構成要素は、上記実施例で述べた方法が素
直に適用できることは明らかである。
【0122】本実施例においては、Web ページ中の HTM
L タグを用いながら、Web ページをインデックスページ
とアーティクルページ、あるいは埋め込みオブジェクト
というように、その論理的な意味にもとづく分類を行な
い、かつそれぞれのページを独立なキャッシングアルゴ
リズムで管理し、更に最終的な置換え対象を決定する際
には、現在時刻と最終参照時刻とを用いて、最も参照さ
れていない Webページを置換え対象としている。すなわ
ち、Web ページの論理構造を重視した上で、今までに知
られている優先順位に基づくキャッシングアルゴリズム
が矛盾なく統一的に動作する構成となっている。
【0123】尚、本発明の適用範囲は、HTMLで記述され
た Webページ(HTML 文書) および画像、音声、音楽、動
画などの Webオブジェクトに限られるものではない。ハ
イパーリンク構造を持つ文書や、画像、音声、音楽、動
画、映像を含むマルチメディアデータ、あるいはプログ
ラムを対象とするキャッシュ一般にも適用可能であるこ
ともまた明らかである。また、第四の実施例は、第二の
実施の形態にも適用できる。
【0124】
【発明の効果】第一の効果は、キャッシュヒット率の向
上である。その理由は、データ毎に異なるキャッシング
アルゴリズムを適用できるので、データ毎のアクセス特
性を反映したキャッシングができるためである。また、
データグループ毎にデータ記憶領域を固定的に割り当て
る必要がないため、各データグループ毎に独自のキャッ
シングアルゴリズムを用いているにも関わらず、データ
記憶領域を有効に活用でき、このこともキャッシュヒッ
ト率向上に寄与している。
【0125】第二の効果は、軽いキャッシュ処理のコス
トである。その理由は、第三の実施例で述べた通り、本
発明ではO(1)で高いキャッシュヒット率を達成でき
るためである。
【0126】第三の効果は、Web ページの論理構造を重
視した上で、今までに知られている優先順位に基づくキ
ャッシングアルゴリズムを矛盾なく統一的に動作させら
れる点である。その理由は、第四の実施例で述べた通
り、本発明ではハイパーリンク構造をキャッシュ処理時
に考慮できるからである。
【図面の簡単な説明】
【図1】プロキシキャッシュ装置を使用したネットワー
クシステムの一例を示す図である。
【図2】本発明の第一の実施の形態に係るキャッシュ装
置10の構成例を示すブロック図である。
【図3】キャッシュ装置10内のキャッシュ判定部及び
キャッシュ記憶部の構成例を示すブロック図である。
【図4】第一の実施の形態の処理例を示す流れ図であ
る。
【図5】本発明の第二の実施の形態に係るキャッシュ判
定部13a及びキャッシュ記憶部の構成例を示すブロッ
ク図である。
【図6】第二の実施の形態の処理例を示す流れ図であ
る。
【図7】第一の実施の形態の第一の実施例を説明するた
めのブロック図である。
【図8】第一の実施の形態の第二の実施例を説明するた
めのブロック図である。
【図9】図8に示した第二の実施例を説明するための図
である。
【図10】第一の実施の形態の第三の実施例を説明する
ためのブロック図である。
【図11】第一の実施の形態の第四の実施例を説明する
ための図である。
【符号の説明】
1−1〜1−m…サーバ 2−1〜2−n…クライアント 3…ネットワーク 4…プロキシキャッシュ装置 10…キャッシュ装置 11…リクエスト処理部 12…キャッシュ検索部 13…キャッシュ判定部 14…キャッシュ記憶部 21−1〜21−n…部分キャッシュ管理部 22…データグループ決定手段 23…最低優先度決定手段 24…空き記憶領域 25−1〜25−m…データ 31…優先度割り当て手段 32…部分最低優先度決定手段 33…データ操作手段 13a…キャッシュ判定部 26−1〜26−n…部分キャッシュ管理部 34…サイズ測定手段 35…ヒット率測定手段 101…演算装置 102…主記憶装置 103…二次記憶装置 104…キャッシュ記憶部 10P…キャッシュ装置用プログラム 200…キャッシュ装置 201…リクエスト処理部 202…キャッシュ検索部 203…キャッシュ判定部 204−1,204−2…部分キャッシュ管理部 205−1,205−2…優先度割り当て手段 206−1,206−2…部分最低優先度決定手段 207−1,207−2…データ操作手段 208…最低優先度決定手段 209…データグループ決定手段 210…主記憶装置 211…キャッシュ記憶部 220…二次記憶装置 300…キャッシュ装置 301…リクエスト処理部 302…キャッシュ検索部 303…キャッシュ判定部 304−1,304−2…部分キャッシュ管理部 305−1,305−2…優先度割り当て手段 306−1,306−2…部分最低優先度決定手段 307−1,307−2…データ操作手段 308…データグループ決定手段 309…最低優先度決定手段 310…ヒット率推定手段 311…サイズ管理手段 312…個数管理手段 313…演算手段 314…キャッシュ記憶部 400−1〜400−k…Web ページ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 立川 江介 東京都港区芝五丁目7番1号 日本電気株 式会社内 Fターム(参考) 5B005 JJ13 KK02 LL11 MM04 MM11 QQ04 VV02 5B082 HA02 HA08

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 キャッシュ記憶部にキャッシュされてい
    る複数のデータを、アクセスパターンが異なるデータ系
    列毎のグループにグループ分けすると共に、各グループ
    毎にそれぞれ独立したキャッシングアルゴリズムで自グ
    ループに属するデータに優先度を割り当て、 前記キャッシュ記憶部からデータをパージすることが必
    要になった場合、予め定められている評価規則によって
    決まる最低優先度のグループ中の、そのグループのキャ
    ッシングアルゴリズムによって最低優先度が割り当てら
    れているデータをパージすることを特徴とするキャッシ
    ュ制御方法。
  2. 【請求項2】 リクエストされたデータを分割してでき
    る分割データをキャッシュ管理の単位として扱い、 前記複数の分割データを、アクセス時刻を予想すること
    ができるグループと、アクセス時刻を予想することがで
    きないグループとにグループ分けすると共に、各グルー
    プ毎にそれぞれ独立したキャッシングアルゴリズムで自
    グループに属する分割データに優先度を割り当て、 前記キャッシュ記憶部から分割データをパージすること
    が必要になった場合、予め定められている評価規則によ
    って決まる最低優先度のグループ中の、そのグループの
    キャッシングアルゴリズムによって最低優先度が割り当
    てられている分割データをパージすることを特徴とする
    キャッシュ制御方法。
  3. 【請求項3】 請求項1記載のキャッシュ制御方法に於
    いて、 アクセス回数の差が大きい複数のデータ系列を扱い、前
    記キャッシュ記憶部にキャッシュされているデータをデ
    ータ系列毎にグループ化し、各グループで最低優先度を
    持つデータ同士をLRUで比較することにより最低優先
    度のグループを決定することを特徴とするキャッシュ制
    御方法。
  4. 【請求項4】 請求項3記載のキャッシュ制御方法に於
    いて、 前記複数のデータ系列が、ディレクトリデータとファイ
    ルデータであることを特徴とするキャッシュ制御方法。
  5. 【請求項5】 請求項1記載のキャッシュ制御方法に於
    いて、 前記各グループのキャッシュヒット率を推定し、 各グループのキャッシュヒット率の推定値に基づいて、
    最低優先度を持つグループを決定することを特徴とする
    キャッシュ制御方法。
  6. 【請求項6】 請求項5記載のキャッシュ制御方法に於
    いて、 前記各グループのヒット率を、そのグループが占める記
    憶領域のサイズと、そのグループに於いて1回以上アク
    セスされたことのあるデータの数とに基づいて推定する
    ことを特徴とするキャッシュ制御方法。
  7. 【請求項7】 請求項1記載のキャッシュ制御方法に於
    いて、 データをグループ分けする際、データのハイパーリンク
    構造に基づいてグループ分けすることを特徴とするキャ
    ッシュ制御方法。
  8. 【請求項8】 キャッシュ記憶部にキャッシュされてい
    る複数のデータを、アクセスパターンが異なるデータ系
    列毎のグループにグループ分けすると共に、各グループ
    毎にそれぞれ独立したキャッシングアルゴリズムで自グ
    ループに属するデータに優先度を割り当て、 前記キャッシュ記憶部からデータをパージすることが必
    要になった場合、予め定められている評価規則によって
    決まる最低優先度のグループ中の、そのグループのキャ
    ッシングアルゴリズムによって最低優先度が割り当てら
    れているデータをパージする構成を有することを特徴と
    するキャッシュ装置。
  9. 【請求項9】 リクエストされたデータを分割してでき
    る分割データをキャッシュ管理の単位として扱い、 前記複数の分割データを、アクセス時刻を予想すること
    ができるグループと、アクセス時刻を予想することがで
    きないグループとにグループ分けすると共に、各グルー
    プ毎にそれぞれ独立したキャッシングアルゴリズムで自
    グループに属する分割データに優先度を割り当て、 前記キャッシュ記憶部から分割データをパージすること
    が必要になった場合、予め定められている評価規則によ
    って決まる最低優先度のグループ中の、そのグループの
    キャッシングアルゴリズムによって最低優先度が割り当
    てられている分割データをパージする構成を有すること
    を特徴とするキャッシュ装置。
  10. 【請求項10】 請求項8記載のキャッシュ装置に於い
    て、 前記キャッシュ記憶部にキャッシュされているデータ
    を、アクセスパターンが異なるデータ系列毎のグループ
    にグループ分けするデータグループ決定手段と、 前記各グループ毎に設けられ、それぞれが独自のキャッ
    シングアルゴリズムで対応するグループに属するデータ
    に優先度を割り当てる優先度割り当て手段と、 前記キャッシュ記憶部からデータをパージすることが必
    要になった場合、予め定められている評価規則に従っ
    て、最低優先度のグループを決定する最低優先度決定手
    段と、 該最低優先度決定手段で決定された最低優先度のグルー
    プ中の、最低優先度のデータをパージするデータ操作手
    段とを備えたことを特徴とするキャッシュ装置。
  11. 【請求項11】 請求項10記載のキャッシュ装置に於
    いて、 前記データグループ決定手段が、前記キャッシュ記憶部
    にキャッシュされているデータを、アクセス回数の差が
    大きい複数のデータ系列毎にグループ分けする構成を有
    し、 前記各優先度割り当て手段が、自手段で管理している各
    データにLRUに従った優先度を割り当てる構成を有
    し、 前記最低優先度決定手段が、前記各グループで最低優先
    度を持つデータの優先度に基づいて、最低優先度のグル
    ープを決定する構成を有することを特徴とするキャッシ
    ュ装置。
  12. 【請求項12】 請求項11のキャッシュ装置に於い
    て、 前記データグループ決定手段が、前記キャッシュ記憶部
    にキャッシュされているデータを、ディレクトリデータ
    とファイルデータとにグループ分けする構成を有するこ
    とを特徴とするキャッシュ装置。
  13. 【請求項13】 請求項10記載のキャッシュ装置に於
    いて、 前記各グループのヒット率を推定するヒット率推定手段
    を備え、且つ、 前記最低優先度決定手段が、前記ヒット率推定手段が推
    定した各グループのヒット率に基づいて、最低優先度の
    グループを決定する構成を有することを特徴とするキャ
    ッシュ装置。
  14. 【請求項14】 請求項13記載のキャッシュ装置に於
    いて、 前記ヒット率推定手段が、前記各グループのヒット率
    を、そのグループが占める記憶領域のサイズと、そのグ
    ループに於いて1回以上アクセスされたことのあるデー
    タの数とに基づいて推定する構成を有することを特徴と
    するキャッシュ装置。
  15. 【請求項15】 請求項10記載のキャッシュ装置に於
    いて、 前記データグループ決定手段が、データのハイパーリン
    ク構造に基づいてグループ分けする構成を有することを
    特徴とするキャッシュ装置。
  16. 【請求項16】 Webデータをキャッシュするプロキ
    シキャッシュ装置として機能することを特徴とする請求
    項8乃至15記載の何れか1つのキャッシュ装置。
  17. 【請求項17】 ディスクデータをキャッシュするディ
    スクキャッシュ装置として機能することを特徴とする請
    求項8乃至15記載の何れか1つのキャッシュ装置。
JP2001209153A 2001-07-10 2001-07-10 キャッシュ制御方法及びキャッシュ装置 Expired - Fee Related JP4042359B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001209153A JP4042359B2 (ja) 2001-07-10 2001-07-10 キャッシュ制御方法及びキャッシュ装置
US10/190,815 US6834329B2 (en) 2001-07-10 2002-07-09 Cache control method and cache apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001209153A JP4042359B2 (ja) 2001-07-10 2001-07-10 キャッシュ制御方法及びキャッシュ装置

Publications (2)

Publication Number Publication Date
JP2003022211A true JP2003022211A (ja) 2003-01-24
JP4042359B2 JP4042359B2 (ja) 2008-02-06

Family

ID=19044848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001209153A Expired - Fee Related JP4042359B2 (ja) 2001-07-10 2001-07-10 キャッシュ制御方法及びキャッシュ装置

Country Status (2)

Country Link
US (1) US6834329B2 (ja)
JP (1) JP4042359B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006134112A (ja) * 2004-11-05 2006-05-25 Brother Ind Ltd ファイル取得システムおよび端末装置
US7778495B2 (en) 2004-11-05 2010-08-17 Brother Kogyo Kabushiki Kaisha System and device for image processing
JP2010271901A (ja) * 2009-05-21 2010-12-02 Hitachi Ltd 省電力制御装置及び方法
JP2012022532A (ja) * 2010-07-14 2012-02-02 Nec Corp ストレージシステム及びストレージシステムのメモリキャッシュ領域制御方法
JP2013502641A (ja) * 2009-08-21 2013-01-24 グーグル インコーポレイテッド キャッシング情報のシステム及び方法
JP2013045273A (ja) * 2011-08-24 2013-03-04 Nec Corp キャッシュサーバ、キャッシュ対象決定方法、コンテンツ配信システム及びキャッシュ対象決定プログラム
JP2015525913A (ja) * 2012-06-27 2015-09-07 アルカテル−ルーセント N個のアイテムのリストをキャッシュシステムのc個のアイテムのメモリキャッシュに格納することを管理するための方法
WO2018092679A1 (ja) * 2016-11-17 2018-05-24 国立大学法人電気通信大学 ネットワークシステム、キャッシュ方法、キャッシュプログラム、管理装置、管理方法及び管理プログラム
JP2021152968A (ja) * 2020-12-22 2021-09-30 北京百度網訊科技有限公司 検索システムを最適化する方法、装置、電子機器、記憶媒体及びプログラム

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7383579B1 (en) * 2002-08-21 2008-06-03 At&T Delaware Intellectual Property, Inc. Systems and methods for determining anti-virus protection status
JP4258332B2 (ja) * 2003-09-30 2009-04-30 ティアック株式会社 光ディスク装置
US7315866B2 (en) * 2003-10-02 2008-01-01 Agency For Science, Technology And Research Method for incremental authentication of documents
US8799324B2 (en) * 2004-01-16 2014-08-05 Verizon Patent And Licensing Inc. Method and system for mobile telemetry device prioritized messaging
US20050188158A1 (en) * 2004-02-25 2005-08-25 Schubert Richard P. Cache memory with improved replacement policy
JP2005301801A (ja) * 2004-04-14 2005-10-27 Nec Corp 情報処理装置、メモリ管理装置、およびプログラム
US7177984B1 (en) * 2004-04-16 2007-02-13 Apple Computer, Inc. Cache management using historical access information
KR20050122950A (ko) * 2004-06-26 2005-12-29 삼성전자주식회사 파일 및 폴더를 사용 빈도에 따라 정렬하여디스플레이하는 방법 및 장치
US20060069746A1 (en) * 2004-09-08 2006-03-30 Davis Franklin A System and method for smart persistent cache
US7571188B1 (en) * 2004-09-23 2009-08-04 Sun Microsystems, Inc. Cache abstraction for modeling database performance
US20060114820A1 (en) * 2004-11-26 2006-06-01 Agfa Inc. System and method for caching and fetching data
US7487320B2 (en) * 2004-12-15 2009-02-03 International Business Machines Corporation Apparatus and system for dynamically allocating main memory among a plurality of applications
US7360042B2 (en) * 2004-12-20 2008-04-15 Microsoft Corporation Determining when to evict unused items from storage
US7315917B2 (en) * 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
JP3860192B2 (ja) * 2005-02-10 2006-12-20 株式会社ネクストマジック 通信装置
US7519776B2 (en) * 2005-07-26 2009-04-14 Invensys Systems, Inc. Method and system for time-weighted cache management
CA2837984C (en) 2005-11-28 2021-11-16 Commvault Systems, Inc. Systems and methods for classifying and transferring information in a storage network
US8930496B2 (en) 2005-12-19 2015-01-06 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
US20200257596A1 (en) 2005-12-19 2020-08-13 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
EP1870813B1 (en) * 2006-06-19 2013-01-30 Texas Instruments France Page processing circuits, devices, methods and systems for secure demand paging and other operations
WO2007146970A2 (en) * 2006-06-16 2007-12-21 Texas Instruments Incorporated Page processing circuits, devices, methods and systems for secure demand paging and other operations
US8990396B2 (en) * 2006-07-07 2015-03-24 Avaya Communication Israel Ltd. Cache memory storage
US8571061B2 (en) * 2006-07-07 2013-10-29 Avaya Communications Israel Ltd. Inter-network translation
JP4846482B2 (ja) * 2006-08-03 2011-12-28 パナソニック株式会社 バスアービトレーション装置
US20080091871A1 (en) * 2006-10-12 2008-04-17 Alan David Bennett Non-volatile memory with worst-case control data management
US20080091901A1 (en) * 2006-10-12 2008-04-17 Alan David Bennett Method for non-volatile memory with worst-case control data management
US7882077B2 (en) 2006-10-17 2011-02-01 Commvault Systems, Inc. Method and system for offline indexing of content and classifying stored data
US8370442B2 (en) 2008-08-29 2013-02-05 Commvault Systems, Inc. Method and system for leveraging identified changes to a mail server
US20080228771A1 (en) 2006-12-22 2008-09-18 Commvault Systems, Inc. Method and system for searching stored data
US20080162821A1 (en) * 2006-12-27 2008-07-03 Duran Louis A Hard disk caching with automated discovery of cacheable files
TWI360113B (en) * 2007-02-16 2012-03-11 Mediatek Inc Buffer management method and optical disc drive
US8051145B2 (en) * 2007-03-30 2011-11-01 Hong Kong Applied Science and Technology Research Institute Company Limited Method of simultaneously providing data to two or more devices on the same network
DE102007015535A1 (de) * 2007-03-30 2008-10-02 Siemens Ag Verfahren zur digitalen Speicherung von Daten auf einem Datenspeicher mit beschränktem verfügbarem Speicherplatz
US7921260B2 (en) * 2007-10-24 2011-04-05 International Business Machines Corporation Preferred write-mostly data cache replacement policies
US7543109B1 (en) * 2008-05-16 2009-06-02 International Business Machines Corporation System and method for caching data in a blade server complex
US20090327577A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Hybrid storage
US8060697B1 (en) * 2008-09-18 2011-11-15 Sprint Communications Company L.P. Dynamically allocated secondary browser cache
JP2010109907A (ja) * 2008-10-31 2010-05-13 Fujitsu Ltd 中継装置、アクセス解析装置、中継装置の制御方法及び制御プログラム
US8185650B2 (en) * 2009-01-13 2012-05-22 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Systems, methods, and computer program products for transmitting and/or receiving media streams
US8868853B2 (en) * 2009-08-12 2014-10-21 Nec Corporation Data processing device, data recording method and data recording program
US8442983B2 (en) 2009-12-31 2013-05-14 Commvault Systems, Inc. Asynchronous methods of data classification using change journals and other data structures
CA2738281C (en) 2010-04-30 2019-09-17 Desire2Learn Incorporated Systems and methods for managing information objects in dynamic data storage devices
US9253548B2 (en) * 2010-05-27 2016-02-02 Adobe Systems Incorporated Optimizing caches for media streaming
CN102137139A (zh) * 2010-09-26 2011-07-27 华为技术有限公司 缓存替换策略的选择方法、装置、代理服务器和系统
US8719264B2 (en) 2011-03-31 2014-05-06 Commvault Systems, Inc. Creating secondary copies of data based on searches for content
US8572130B2 (en) * 2011-06-27 2013-10-29 Sap Ag Replacement policy for resource container
US9189172B1 (en) 2012-01-06 2015-11-17 Seagate Technology Llc High priority read and write
US9542324B1 (en) 2012-04-05 2017-01-10 Seagate Technology Llc File associated pinning
US9268692B1 (en) 2012-04-05 2016-02-23 Seagate Technology Llc User selectable caching
US8892523B2 (en) 2012-06-08 2014-11-18 Commvault Systems, Inc. Auto summarization of content
US9128944B2 (en) 2013-02-13 2015-09-08 Edgecast Networks, Inc. File system enabling fast purges and file access
US9626126B2 (en) * 2013-04-24 2017-04-18 Microsoft Technology Licensing, Llc Power saving mode hybrid drive access management
US9946495B2 (en) 2013-04-25 2018-04-17 Microsoft Technology Licensing, Llc Dirty data management for hybrid drives
US9665658B2 (en) 2013-07-19 2017-05-30 Samsung Electronics Co., Ltd. Non-blocking queue-based clock replacement algorithm
US9413842B2 (en) * 2013-09-25 2016-08-09 Verizon Digital Media Services Inc. Instantaneous non-blocking content purging in a distributed platform
US10911561B2 (en) * 2013-12-12 2021-02-02 Telefonaktiebolaget Lm Ericsson (Publ) Method and network node for caching web content
JP6269048B2 (ja) * 2013-12-26 2018-01-31 富士通株式会社 データ配置制御プログラム、データ配置制御方法およびデータ配置制御装置
WO2016053231A1 (en) 2014-09-29 2016-04-07 Hewlett Packard Enterprise Development Lp Retain data above threshold
KR20160148952A (ko) * 2015-06-17 2016-12-27 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10540516B2 (en) 2016-10-13 2020-01-21 Commvault Systems, Inc. Data protection within an unsecured storage environment
US10984041B2 (en) 2017-05-11 2021-04-20 Commvault Systems, Inc. Natural language processing integrated with database and data storage management
US20180336131A1 (en) * 2017-05-22 2018-11-22 Dell Products L.P. Optimizing Memory/Caching Relative to Application Profile
KR102411290B1 (ko) 2017-10-24 2022-06-22 삼성전자주식회사 선택적으로 퍼지 동작을 수행하도록 구성되는 호스트 장치 및 스토리지 장치를 포함하는 스토리지 시스템
US10642886B2 (en) 2018-02-14 2020-05-05 Commvault Systems, Inc. Targeted search of backup data using facial recognition
US11159469B2 (en) 2018-09-12 2021-10-26 Commvault Systems, Inc. Using machine learning to modify presentation of mailbox objects
US11494417B2 (en) 2020-08-07 2022-11-08 Commvault Systems, Inc. Automated email classification in an information management system
US11470154B1 (en) * 2021-07-29 2022-10-11 At&T Intellectual Property I, L.P. Apparatuses and methods for reducing latency in a conveyance of data in networks
CN115793994B (zh) * 2023-02-10 2023-04-14 北京徐工汉云技术有限公司 分布式环境下本地缓存的分组数据处理方法和装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6012126A (en) * 1996-10-29 2000-01-04 International Business Machines Corporation System and method for caching objects of non-uniform size using multiple LRU stacks partitions into a range of sizes
US5873100A (en) * 1996-12-20 1999-02-16 Intel Corporation Internet browser that includes an enhanced cache for user-controlled document retention
JPH1165927A (ja) 1997-08-25 1999-03-09 Hitachi Ltd キャッシュ制御方式
US6272598B1 (en) * 1999-03-22 2001-08-07 Hewlett-Packard Company Web cache performance by applying different replacement policies to the web cache
US6631446B1 (en) * 2000-10-26 2003-10-07 International Business Machines Corporation Self-tuning buffer management
US6721850B2 (en) * 2001-02-27 2004-04-13 Lucent Technologies Inc. Method of cache replacement for streaming media

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006134112A (ja) * 2004-11-05 2006-05-25 Brother Ind Ltd ファイル取得システムおよび端末装置
JP4513509B2 (ja) * 2004-11-05 2010-07-28 ブラザー工業株式会社 ファイル取得システムおよび端末装置
US7778495B2 (en) 2004-11-05 2010-08-17 Brother Kogyo Kabushiki Kaisha System and device for image processing
JP2010271901A (ja) * 2009-05-21 2010-12-02 Hitachi Ltd 省電力制御装置及び方法
US9104605B1 (en) 2009-08-21 2015-08-11 Google Inc. System and method of selectively caching information based on the interarrival time of requests for the same information
US8904116B2 (en) 2009-08-21 2014-12-02 Google Inc. System and method of selectively caching information based on the interarrival time of requests for the same information
JP2013502641A (ja) * 2009-08-21 2013-01-24 グーグル インコーポレイテッド キャッシング情報のシステム及び方法
US8812791B2 (en) 2009-08-21 2014-08-19 Google Inc. System and method of selectively caching information based on the interarrival time of requests for the same information
US8825961B2 (en) 2009-08-21 2014-09-02 Google Inc. System and method of selectively caching information based on the interarrival time of requests for the same information
US8825960B2 (en) 2009-08-21 2014-09-02 Google Inc. System and method of selectively caching information based on the interarrival time of requests for the same information
JP2014211909A (ja) * 2009-08-21 2014-11-13 グーグル インコーポレイテッド キャッシング情報のシステム及び方法
JP2012022532A (ja) * 2010-07-14 2012-02-02 Nec Corp ストレージシステム及びストレージシステムのメモリキャッシュ領域制御方法
JP2013045273A (ja) * 2011-08-24 2013-03-04 Nec Corp キャッシュサーバ、キャッシュ対象決定方法、コンテンツ配信システム及びキャッシュ対象決定プログラム
JP2015525913A (ja) * 2012-06-27 2015-09-07 アルカテル−ルーセント N個のアイテムのリストをキャッシュシステムのc個のアイテムのメモリキャッシュに格納することを管理するための方法
WO2018092679A1 (ja) * 2016-11-17 2018-05-24 国立大学法人電気通信大学 ネットワークシステム、キャッシュ方法、キャッシュプログラム、管理装置、管理方法及び管理プログラム
JPWO2018092679A1 (ja) * 2016-11-17 2019-10-17 国立大学法人電気通信大学 ネットワークシステム、キャッシュ方法、キャッシュプログラム、管理装置、管理方法及び管理プログラム
JP2021152968A (ja) * 2020-12-22 2021-09-30 北京百度網訊科技有限公司 検索システムを最適化する方法、装置、電子機器、記憶媒体及びプログラム
JP7200299B2 (ja) 2020-12-22 2023-01-06 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 検索システムを最適化する方法、装置、電子機器、記憶媒体及びプログラム

Also Published As

Publication number Publication date
US6834329B2 (en) 2004-12-21
JP4042359B2 (ja) 2008-02-06
US20030014603A1 (en) 2003-01-16

Similar Documents

Publication Publication Date Title
JP2003022211A (ja) キャッシュ制御方法及びキャッシュ装置
US7107403B2 (en) System and method for dynamically allocating cache space among different workload classes that can have different quality of service (QoS) requirements where the system and method may maintain a history of recently evicted pages for each class and may determine a future cache size for the class based on the history and the QoS requirements
US6901484B2 (en) Storage-assisted quality of service (QoS)
CN105282215B (zh) 用于通过内容中心网络转发并响应兴趣的基于声誉的策略
US10057367B2 (en) Systems and methods for data caching in a communications network
US6370620B1 (en) Web object caching and apparatus for performing the same
US8145614B1 (en) Selection of a data path based on the likelihood that requested information is in a cache
US6154813A (en) Cache management system for continuous media system
EP2359536B1 (en) Adaptive network content delivery system
US7076544B2 (en) Caching techniques for streaming media
US8856454B2 (en) Anticipatory response pre-caching
US7251649B2 (en) Method for prioritizing content
KR101228230B1 (ko) 컨텐츠 전달 네트워크 내의 노드에서 하나 이상의 컨텐츠 아이템을 캐싱하는 방법, 장치 및 제품
US6182111B1 (en) Method and system for managing distributed data
JP4294494B2 (ja) 複数のキャッシュサーバによる共有ストレージの使用を管理するデバイスおよび方法
EP3089039B1 (en) Cache management method and device
US20020056025A1 (en) Systems and methods for management of memory
CN109656956B (zh) 一种实现业务系统数据集中式缓存的方法及装置
WO2018049563A1 (en) Systems and methods for caching
JP2001101061A (ja) キャッシュサーバ
Nanopoulos et al. Exploiting web log mining for web cache enhancement
Chen Pre-fetching and Re-fetching in Web Caching systems: Algorithms and Simulation
US6915386B2 (en) Processing service level agreement (SLA) terms in a caching component of a storage system
JP5192506B2 (ja) ファイルキャッシュの管理方法、装置、及び、プログラム
Meint et al. From FIFO to predictive cache replacement

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070612

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070810

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071105

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101122

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111122

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111122

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121122

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121122

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131122

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees