JP2002091811A - ファイルシステム及びファイルキャッシング方法 - Google Patents

ファイルシステム及びファイルキャッシング方法

Info

Publication number
JP2002091811A
JP2002091811A JP2000275887A JP2000275887A JP2002091811A JP 2002091811 A JP2002091811 A JP 2002091811A JP 2000275887 A JP2000275887 A JP 2000275887A JP 2000275887 A JP2000275887 A JP 2000275887A JP 2002091811 A JP2002091811 A JP 2002091811A
Authority
JP
Japan
Prior art keywords
file
memory
access
cache
stored
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
JP2000275887A
Other languages
English (en)
Other versions
JP3612271B2 (ja
Inventor
Tetsuya Iinuma
哲也 飯沼
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2000275887A priority Critical patent/JP3612271B2/ja
Priority to US09/797,826 priority patent/US20020032671A1/en
Publication of JP2002091811A publication Critical patent/JP2002091811A/ja
Application granted granted Critical
Publication of JP3612271B2 publication Critical patent/JP3612271B2/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/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache

Abstract

(57)【要約】 【課題】 LRU方式によるキャッシュ管理方法では、
ファイルアクセス要求に応じてキャッシュ更新が頻繁に
行われ、ディスクアクセス動作が頻発して大きなオーバ
ヘッドとなることが起こり得る。 【解決手段】 ユーザからのファイルアクセス要求に応
じて、ファイルキャッシュ手段110が、キャッシュ管
理テーブル111を参照の上、所望ファイルがキャッシ
ュされている場合はキャッシュ113から、キャッシュ
されていない場合は外部記憶装置106から、それぞれ
読み出してユーザに提供する。後者の場合、ファイルキ
ャッシュ手段は読み出したファイルをファイル単位でキ
ャッシュ113に記憶するが、そこに空き領域が無けれ
ば既にキャッシュされているファイルの内、アクセス回
数が最少のものをキャッシュ113から追い出す。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ユーザからの要求
に応じて外部記憶装置に記憶されたファイルの中から指
定されたファイルを読み出して提供するファイルシステ
ム及びキャッシング方法に係り、特にファイルの使用頻
度を踏まえたキャッシングによりファイルアクセスの高
速化を実現するファイルシステム及びキャッシング方法
に関する。
【0002】
【従来の技術】従来の計算機におけるファイルシステム
では、磁気ディスク装置等の外部記憶装置に格納されて
いるファイルへのアクセス(主に読み出し処理)の高速
化のために、外部記憶装置からデータブロック単位で読
み出したファイルを一時的に計算機内部のメモリ(キャ
ッシュメモリ)上にもデータブロック単位で保持(キャ
ッシュ)している。
【0003】アクセス対象となるデータブロックを読み
出し易いメモリ上にキャッシュしておくことで、同一デ
ータブロックへのアクセスが発生した場合には計算機内
部で処理が可能となる。これにより、外部記憶装置への
再アクセスに要するオーバーヘッドを削減することがで
きる。尚、キャッシングは、ユーザによる外部記憶装置
へのファイルアクセスに偏りが見られる場合に、特に有
効に機能する。
【0004】ところが、キャッシュメモリの容量には限
りがあるので、いつまでも同じデータブロックを保持し
ておくことはできない。このため、キャッシュメモリに
保持されていないファイルへの新規のアクセスが発生し
たときに、キャッシュメモリにそのファイルの全データ
ブロックを取り込むための空き領域が無ければ、ファイ
ルシステムは、キャッシュメモリ上の最も古いデータブ
ロックから順次、外部記憶装置に追い出すことによりキ
ャッシュ領域に空きを作る。これが、Least Recently U
sed(LRU)と呼ばれるキャッシュの更新方法であ
る。
【0005】ここで、ユーザによって書き込みされたデ
ータブロックは、その時点ではキャッシュメモリ上にし
か存在しないため、特定のタイミングで外部記憶装置に
書き込まれることによりデータの一貫性が保たれてい
る。
【0006】
【発明が解決しようとする課題】しかしながら、LRU
方式に従ってキャッシュ管理を行うファイルシステムに
おいては、アクセス頻度の高いデータブロックであるに
も拘らずキャッシュメモリから追い出されてしまうこと
が起こり得る。
【0007】このような状況は、キャッシュメモリの容
量が小さい場合、或いは、外部記憶装置に格納されてい
るファイルへのアクセスの偏りが少ない場合等に発生し
易い。後者の例としてWEBサーバにおける場合が挙げ
られる。即ち、WEBサーバは、ネットワークを介して
接続された複数のクライアントからのHTTPリクエス
トを受け取り、指定されたファイルを読み出してクライ
アントに送信するのだが、この際に複数のクライアント
から同一のファイルへのアクセスが同時に行われたり、
繰り返し行われたりすることが頻発する。
【0008】図8は、LRU方式によるキャッシュ管理
方法を説明するための図である。ここでは、キャッシュ
メモリが、1ブロックのデータを格納するスロットを3
個有し、アクセス対象となるファイルA、B、C、Dが
各々1ブロックから構成されるものとする。また、外部
記憶装置に格納されたファイルへのユーザによるアクセ
スパターンを、 A→B→C→A→A→B→D→A→B→C→D→A とする。
【0009】ファイルシステムは、アクセスパターンに
従って外部記憶装置からファイルA、B、Cを順に読み
出してユーザに提供するとともに、キャッシュメモリ内
の3個の空きスロットにファイルA、B、Cを順にキャ
ッシュしていく(ステップS800、S801、S80
2)。続いてファイルAへのアクセス要求があり、この
ときファイルAはキャッシュされている(=ヒットして
いる:図8では下線部で表現)ので、ファイルシステム
はファイルAをキャッシュメモリから読み出してユーザ
に提供する(ステップS803、S804)。
【0010】更にファイルDへのアクセス要求があり、
ファイルシステムは、外部記憶装置からファイルDを読
み出してユーザに提供するとともに、最も古くからキャ
ッシュされているファイルAを追い出してファイルDを
キャッシュする(ステップS805)。以降同様に、フ
ァイルアクセス要求があると、ファイルシステムは、外
部記憶装置から当該ファイルを読み出してユーザに提供
し、最も古くからキャッシュされているファイルと置換
してキャッシュしていく(ステップS806〜S81
0)。
【0011】この場合、例えばS809における各ファ
イルへのアクセス回数は、A4回、B3回、C2回、D
2回であるにも拘らず、キャッシュされているのはファ
イルB、C、Dであり、アクセス回数が最も多いファイ
ルAがキャッシュメモリから追い出されてしまってい
る。またS810においては、ファイルC、D(2回)
よりもファイルB(3回)の方がアクセス回数が多いに
も拘らずキャッシュメモリから追い出されてしまってい
る。
【0012】このように、LRU方式による従来のキャ
ッシュ方法においては、キャッシュメモリの更新に関し
てファイルへのアクセス回数が考慮されない。このた
め、前述のHTTPリクエストのようにファイルへのア
クセス要求が頻発する場合、キャッシュメモリの更新が
頻繁に行われ、キャッシュメモリへのデータ読み込みの
ためのディスクアクセスが頻発して大きなオーバヘッド
となってしまう。
【0013】本発明は上述の事情に鑑みてなされたもの
であり、ファイルへのアクセス回数を踏まえたキャッシ
ュ管理を行ってキャッシュヒット率を向上させ、延いて
はファイルアクセスの高速化を実現するファイルシステ
ムを提供することを目的とする。
【0014】
【課題を解決するための手段】本発明のファイルシステ
ムは、ユーザからのファイルへのアクセス要求に応じ
て、ファイルを外部記憶装置から読み出して提供するも
のであり、外部記憶装置から読み出したファイルをファ
イル単位で記憶するためのメモリと、このメモリに記憶
されている各ファイルのアクセス回数を記憶するための
テーブルと、メモリに記憶されている各ファイルへのア
クセス要求を受けたとき、要求されたファイルのアクセ
ス回数をテーブルに記録するテーブル管理手段と、 テ
ーブルを参照して、要求されたファイルがメモリに記憶
されている場合はメモリから、メモリに記憶されていな
い場合は外部記憶装置から、それぞれ読み出してユーザ
に提供し、後者の場合には読み出したファイルをメモリ
に記憶するファイル管理手段とを具備し、ファイル管理
手段が、外部記憶装置から読み出したファイルをメモリ
に記憶する際に空き領域が無ければ、既にメモリに記憶
されているファイルの内、アクセス回数が最も少ないフ
ァイルを追い出して外部記憶装置から読み出したファイ
ルを記憶するものである。
【0015】これによれば、ファイルへのアクセス回数
を踏まえてキャッシュの管理を行うために、ユーザから
のアクセス要求が多いファイルが常にキャッシュ上に置
かれることとなり、キャッシュヒット率が向上し、その
結果、ファイルアクセスの高速化を実現できる。
【0016】また、本発明のファイルシステムは、テー
ブル管理手段がメモリに記憶されている各ファイルへの
最新アクセス時刻をテーブルに記憶し、ファイル管理手
段が、最新アクセス時刻が予め周期的に定められた時刻
以前であるファイルを検出して、このファイルのアクセ
ス回数をリセットするものである。
【0017】これによれば、最新アクセス時刻が所定の
時刻以前のファイルについては、アクセス回数をリセッ
トすることでキャッシュから追い出され易くし、アクセ
ス回数が多くても長時間アクセスされなくなったファイ
ルが長時間キャッシュ上に居座ることを防げる。
【0018】また、本発明のファイルシステムは、テー
ブル管理手段がメモリに記憶されている各ファイル毎
に、最新アクセス時刻と現時刻からアクセス間隔を求
め、このアクセス間隔が予め定められた時間以上である
ファイルを検出して、メモリから追い出すものである。
【0019】これによれば、一定時間アクセスされなか
ったファイルをキャッシュから追い出すことで、新規キ
ャッシングのための空き領域を適切に確保できる。
【0020】更に、本発明のファイルシステムは、テー
ブル管理手段がメモリに記憶されている各ファイル毎
に、最新アクセス時刻とその直前のアクセス時刻からア
クセス間隔を求め、このアクセス間隔が最長のファイル
を検出して、メモリから追い出すものである。
【0021】これによれば、最もアクセス間隔の長いフ
ァイルをキャッシュから追い出すことで、新規キャッシ
ングのための空き領域を適切に確保できる。
【0022】
【発明の実施の形態】以下、図面を参照しながら本発明
の実施の形態について説明する。図1は、本発明の一実
施形態に係るファイルシステムの構成を示すブロック図
である。ファイルシステム100は、オペレーティング
システム(OS)101に内包される形態でコンピュー
タ102の内部に存在する。
【0023】コンピュータ102は、広域ネットワーク
(WAN)103や構内ネットワーク(LAN)104
等を介してクライアントコンピュータ105によって接
続され、例えばWEBサーバとして機能する。コンピュ
ータ102には磁気ディスク装置等の外部記憶装置10
6が接続されており、各種データファイルとそれらの管
理情報、例えばファイル名、ファイル容量等を格納して
いる。
【0024】ユーザは、クライアントコンピュータ10
5を操作してコンピュータ102にアクセスし、例えば
ファイル名を指定して所望するファイルの読み出しを要
求する。この際、コンピュータ102の内部にはファイ
ル読み出しに関するユーザプロセス107が起動され、
このユーザプロセス107がファイルシステム100に
対し、外部記憶装置106に格納された所望ファイルへ
のアクセスリクエストを発行する。
【0025】ここで、ユーザプロセス107はコンピュ
ータ102に搭載されたアプリケーションソフト(図示
せず)に従って起動されるものであり、コンピュータ1
02は複数の異なるアプリケーションソフトを搭載して
も良い。
【0026】ファイルシステム100は、ファイルシス
テムインターフェイス108、ファイルアクセス手段1
09、ファイルキャッシュ手段110、キャッシュ管理
テーブル111、ディスクアクセス手段112、キャッ
シュ113、及びキャッシュ管理テーブル更新手段11
4とを有する。
【0027】ファイルシステムインターフェイス108
は、ファイルシステム100とOS101の間のインタ
ーフェイスである。ファイルアクセス手段109はファ
イルシステムインターフェイス108を介してユーザプ
ロセス107からのリクエストを受け付け、ファイルキ
ャッシュ手段110を呼び出して動作させる。
【0028】ファイルキャッシュ手段110は、ユーザ
が所望するファイルがキャッシュされているか否かキャ
ッシュ管理テーブル111を参照して判断し、またキャ
ッシュ113からファイルを読み出し、或いは書き込
み、更にキャッシュ管理テーブル更新手段114に対し
キャッシュ管理テーブル111の更新を指示する。
【0029】キャッシュ管理テーブル111は、図2に
示す一例のように、キャッシュ113に置かれているフ
ァイルのファイル名と各ファイルに関する属性情報、例
えば、キャッシュ113内でのファイル実体の格納位置
(ポインタ)、ファイルの容量、ユーザからのアクセス
回数、最新のアクセス時刻等を記憶している。
【0030】ディスクアクセス手段112は実際に外部
記憶装置106からファイルを読み出し、或いはファイ
ルを書き込む。キャッシュ113は、外部記憶装置から
読み出されたファイルを保持するメモリである。キャッ
シュ管理テーブル更新手段114は、キャッシュ管理テ
ーブル111内のアクセス回数、最新アクセス時刻等の
属性情報を適宜更新する。
【0031】次に、図3を用いて、ファイルシステム1
00内部の動作について説明する。図3は本実施形態に
係るファイルシステムの動作を示すフローチャートであ
る。
【0032】ユーザプロセス107が、ユーザが所望す
るファイル名を指定してファイルシステム100にアク
セスする(ステップS200)。ファイルアクセスイン
ターフェイス108を介してこれを受けたファイルアク
セス手段109が、ファイルキャッシュ手段110を呼
び出す(ステップS201)。
【0033】呼び出されたファイルキャッシュ手段11
0はファイル名をキーにキャッシュ管理テーブル111
を参照して、所望ファイルがキャッシュ113に保存さ
れているかどうかを調べる(ステップS202)。
【0034】所望ファイルがキャッシュされていない場
合(ステップS203)、ファイルキャッシュ手段11
0はディスクアクセス手段112を呼び出し当該所望フ
ァイルの読み出しを要求する(ステップS204)。デ
ィスアクセス手段112は、ファイル名をキーに外部記
憶装置106から当該所望ファイル及び付属の管理情報
を読み出し、ファイルキャッシュ手段110に転送する
(ステップS205)。
【0035】ファイルキャッシュ手段110は、当該所
望ファイルのファイル容量を踏まえてキャッシュ管理テ
ーブル111を参照し、キャッシュ113の空き状況を
確認する(ステップS207)。
【0036】キャッシュ113に空き領域が存在した場
合(ステップS207)、ファイルキャッシュ手段11
0は、外部記憶装置106から読み出した当該所望ファ
イルをキャッシュ113に書き込み(ステップ20
8)、キャッシュ管理テーブル更新手段114を呼び出
してキャッシュテーブル111を更新するよう指示し、
これを受けてキャッシュ管理テーブル更新手段114が
当該所望ファイルに関する最終アクセス時刻を更新し、
かつアクセス回数をインクリメントする(ステップS2
09)。
【0037】この後、当該所望ファイルはファイルキャ
ッシュ手段113、ファイルアクセス手段109、ファ
イルシステムインターフェイス108を経由してユーザ
プロセスに供給される(ステップS210)。尚、ここ
では一例として、キャッシュ113への所望ファイルの
記憶処理をユーザプロセス107への所望ファイル供給
よりも先に行っているが、順序は逆でも構わない。
【0038】一方、ステップ203においてユーザの所
望ファイルがキャッシュされている場合はステップS2
09以降と同様の処理がなされる。
【0039】また、ステップS207においてキャッシ
ュ領域に空きが無い場合、ファイルキャシュ手段110
が、キャッシュされているファイルの内、アクセス回数
が最も少ないファイル、更にアクセス回数が同じ場合は
その中で一番古いファイルをキャッシュ113から追い
出し(ステップS211)、ステップS208以降と同
様の処理がなされる。
【0040】尚、当該所望ファイルが大きなファイル容
量を有する場合は、同条件に基づき適宜複数のファイル
が追い出されることとなる。また、ファイルがキャッシ
ュ113から追い出された場合、そのファイルに関する
属性情報も、キャッシュ管理テーブル更新手段114に
よってキャシュ管理テーブルから削除されるか、後に別
のファイルに関する属性情報によって上書きされる。
【0041】図4は、本実施形態に係るファイルシステ
ム100によるキャッシュ管理方法を説明するための図
である。キャッシュ管理方法が異なる以外は、全て図8
における条件と同一である。尚、図4において、キャッ
シュメモリの各スロットの下には、キャッシュされてい
るファイルへのアクセス回数が示してある。
【0042】この場合、ステップS405においてファ
イルDを読み出してキャッシュする際、ファイルAが最
先にキャッシュされているにも拘らず、そのアクセス回
数(3回)を考慮するためこれを追い出さず、これに代
わってアクセス回数が各1回のファイルB、Cの内、先
にキャッシュされたファイルBを追い出している。
【0043】これにより、同一のアクセスパターンにお
いて、ファイルB、C、Dの外部記憶装置106からの
ファイル読み出し処理は各2回ずつで変わらないもの
の、ファイルAに関しては、従来のLRU方式では3回
必要だったものが、本発明により1回に削減されること
となる。
【0044】このように、本実施形態によれば、ファイ
ルへのアクセス回数に基づいてキャッシュの管理を行う
ことにより、アクセス回数の多いファイルが常にキャッ
シュ上に置かれるようになり、HTTPリクエストのよ
うな同一ファイルへのアクセスが頻発するような状況に
おけるファイルアクセスパフォーマンスの改善を図るこ
とが可能である。
【0045】さて、キャッシュ管理テーブル更新手段1
14は、単にキャッシュ管理テーブル111の内容を更
新するだけでなく、最新アクセス時間等を踏まえて、キ
ャッシュされたファイルを監視する機能を有することが
より望ましい。即ち、アクセス回数は非常に多いが長時
間アクセスされない状態のファイルがキャッシュ113
上に居座り続けてしまう可能性があるからである。
【0046】このような状況を防ぐために本実施形態に
係るキャッシュ管理テーブル更新手段が実行する処理フ
ローを図5乃至図7を参照して説明する。尚、図5乃至
図7の処理フローはキャッシュからのファイルの追い出
し方法に関するものである。
【0047】各処理フローは、基本的に図3のフローチ
ャートとは必ずしも連携を要さずに動作可能であるが、
例えば、実施例1はステップS207とS211の間、
実施例2と実施例3はステップS205とS206の間
にそれぞれ位置させることができる。
【0048】<実施例1> 本実施例は、最新アクセス
時刻が所定の時刻以前のファイルについては、アクセス
回数をリセットすることでキャッシュから追い出され易
くするものである。このため、例えば毎日一定の時刻
を、キャッシュされている全ファイルのアクセス回数の
リセット時刻と定める。
【0049】先ず、ファイルキャッシュ手段110がキ
ャッシュ管理テーブル更新手段114を呼び出す(ステ
ップS500)。呼び出されたキャッシュ管理テーブル
更新手段114が現時刻についてリセット時刻を過ぎて
いるかどうか確認する(ステップS501)。ここで、
リセット時刻を過ぎている場合、キャッシュ管理テーブ
ル更新手段114は、キャッシュされている全てのファ
イルについて最新アクセス時刻を確認し(ステップS5
02)、最新アクセス時刻が当該リセット時刻以前のフ
ァイルについては(ステップS503)、アクセス回数
を1/2とする(ステップS504)。ここでは、アク
セス回数を1/2としているが、クリアしてしまうこと
も考えられる。
【0050】ステップS501において現時刻がリセッ
ト時刻以前である場合、或いは、ステップS503にお
いて最新アクセス時刻が指定リセット時刻以降である場
合、各ファイルのアクセス回数への操作は行わない。
【0051】これにより、次回以降のファイルアクセス
において、上記ステップS504でアクセス回数をリセ
ットされたファイルはキャッシュ113から追い出され
易くなる。
【0052】<実施例2> 本実施例は、一定時間アク
セスされなかったファイルをキャッシュから追い出して
しまうものである。
【0053】先ず、ファイルキャッシュ手段110がキ
ャッシュ管理テーブル更新手段114を呼び出す(ステ
ップS600)。呼び出されたキャッシュ管理テーブル
更新手段114がキャッシュされている全てのファイル
の最新アクセス時刻をキャッシュ管理テーブル111か
ら読み出し(ステップS601)、現時刻と比較するこ
とで所定の時間より長い間アクセスされていないファイ
ルが無いか確認する(ステップS602)。
【0054】この結果、当該所定時間より長くアクセス
されていないファイルがある場合には、ファイルキャシ
ュ手段110が当該ファイルをキャッシュ113から追
い出す(ステップS603)。これにより、キャッシュ
113上に新規キャッシュのための空き領域を適切に確
保することが可能となる。
【0055】<実施例3> 本実施例は、最もアクセス
間隔の長いファイルをキャッシュから追い出してしまう
ものである。この場合、キャッシュ管理テーブル111
はキャッシュされている各ファイルの最新アクセス時刻
とその直前のアクセス時刻を保持するものとする。
【0056】先ず、ファイルキャッシュ手段110がキ
ャッシュ管理テーブル更新手段114を呼び出す(ステ
ップS700)。呼び出されたキャッシュ管理テーブル
更新手段114が、キャッシュされている全てのファイ
ルについて、キャッシュ管理テーブル111を参照して
最新アクセス時刻とその直前のファイルアクセス時刻か
らアクセス間隔を求め(ステップS701)、最もアク
セス間隔が長いファイルをキャッシュ113から追い出
す(ステップS702)。これにより、キャッシュ11
3上に新規キャッシュのための空き領域を適切に確保す
ることが可能となる。
【0057】尚、上記実施例2及び実施例3において追
い出し対象のファイルをキャッシュから追い出さずに、
アクセス回数を1/2にしたり、クリアすることもそれ
らのファイルをキャッシュ113上に居座り続けさせな
いためには有効である。また、本実施形態に係るファイ
ルシステムのキャッシュ管理方法の本質は、アクセス回
数と最終アクセス時刻を考慮し、ファイル単位でアクセ
ス対象となるファイルをキャッシュするものであり、上
記の組合せに限られるものではない。
【0058】上記各実施例によれば、アクセス回数が多
くても長時間アクセスされなくなったファイルが長時間
キャッシュ上に居座ることを防ぐことが可能となる。
【0059】尚、以上ではコンピュータ102をネット
ワーク上のWEBサーバとして扱ったがスタンドアロン
で使用されるものでも構わない。
【0060】また、本実施形態並びに各実施例で説明し
た処理フローはハードウェア或いはソフトウェアのいず
れでも実現可能である。ソフトウェアで実現する場合
は、コンピュータ等の上で稼働しているOSや、データ
ベース管理ソフト、ネットワークソフト等のミドルウェ
アが、当該処理フローの一部を実行しても良い。
【0061】
【発明の効果】以上で詳述したように、本発明によれ
ば、ファイルへのアクセス回数を踏まえてキャッシュの
管理を行うことで、現時点においてユーザからのアクセ
ス要求が多いファイルが常にキャッシュ上に置かれるよ
うになる。これにより、キャッシュヒット率が向上し、
その結果、ファイルアクセスの高速化を実現できる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るファイルシステムの
構成を示すブロック図。
【図2】図1のキャッシュ管理テーブルの一例を示した
図。
【図3】同実施形態に係るキャッシュ管理方法を示すフ
ローチャート。
【図4】同実施形態に係るキャッシュ管理方法を説明す
るための図。
【図5】同実施形態に係るキャッシュ管理方法の第1の
実施例を示すフローチャート。
【図6】同実施形態に係るキャッシュ管理方法の第2の
実施例を示すフローチャート。
【図7】同実施形態に係るキャッシュ管理方法の第3の
実施例を示すフローチャート。
【図8】LRU方式によるキャッシュ管理方法を説明す
るための図。
【符号の説明】
100…ファイルシステム、 101…OS、102…
コンピュータ、 106…外部記憶装置、107…ユー
ザプロセス、 108…ファイルシステムインターフェ
イス、109…ファイルアクセス手段、 110…ファ
イルキャッシュ手段、111…キャッシュ管理テーブ
ル、 112…ディスクアクセス手段、113…キャッ
シュ、 114…キャッシュ管理テーブル更新手段

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 ユーザからのファイルへのアクセス要求
    に応じて、当該ファイルを外部記憶装置から読み出して
    提供するファイルシステムにおいて、 前記外部記憶装置から読み出したファイルをファイル単
    位で記憶するためのメモリと、 前記メモリに記憶されている各ファイルのアクセス回数
    を記憶するためのテーブルと、 前記メモリに記憶されている各ファイルへのアクセス要
    求を受けたとき、要求されたファイルの前記アクセス回
    数を前記テーブルに記録するテーブル管理手段と、 前記テーブルを参照して、前記要求されたファイルが前
    記メモリに記憶されている場合は当該メモリから、前記
    メモリに記憶されていない場合は前記外部記憶装置か
    ら、それぞれ読み出して前記ユーザに提供し、後者の場
    合には読み出したファイルを前記メモリに記憶するファ
    イル管理手段とを具備し、 前記ファイル管理手段は、前記外部記憶装置から読み出
    したファイルを前記メモリに記憶する際、当該メモリに
    空き領域が無ければ、既に当該メモリに記憶されている
    ファイルの内、前記アクセス回数が最も少ないファイル
    を追い出して前記外部記憶装置から読み出したファイル
    を記憶することを特徴とするファイルシステム。
  2. 【請求項2】 前記テーブル管理手段は、前記メモリに
    記憶されている各ファイルへの最新アクセス時刻を前記
    テーブルに記憶し、 前記ファイル管理手段は、前記最新アクセス時刻が予め
    周期的に定められた時刻以前であるファイルを検出し
    て、当該ファイルの前記アクセス回数をリセットするこ
    とを特徴とする請求項1に記載のファイルシステム。
  3. 【請求項3】 前記テーブル管理手段は、前記メモリに
    記憶されている各ファイル毎に、前記最新アクセス時刻
    と現時刻からアクセス間隔を求め、当該アクセス間隔が
    予め定められた時間以上であるファイルを検出して、前
    記メモリから追い出すことを特徴とする請求項1に記載
    のファイルシステム。
  4. 【請求項4】 前記テーブル管理手段は、前記メモリに
    記憶されている各ファイル毎に、前記最新アクセス時刻
    とその直前のアクセス時刻からアクセス間隔を求め、当
    該アクセス間隔が最長のファイルを検出して、前記メモ
    リから追い出すことを特徴とする請求項1に記載のファ
    イルシステム。
  5. 【請求項5】 ユーザからのファイルへのアクセス要求
    に応じて、当該ファイルを外部記憶装置から読み出して
    提供するファイルシステムにおけるファイルキャッシン
    グ方法であって、 前記外部記憶装置から読み出したファイルをファイル単
    位でメモリに記憶するステップと、 前記メモリに記憶されている各ファイルのアクセス回数
    をテーブルに記憶するステップと、 前記メモリに記憶されている各ファイルへのアクセス要
    求がある毎に、要求されたファイルの前記アクセス回数
    を前記テーブルに記録するステップと、 前記要求されたファイルが前記メモリに記憶されている
    場合は当該メモリから、前記メモリに記憶されていない
    場合は前記外部記憶装置から、それぞれ読み出して前記
    ユーザに提供するステップと、 前記メモリ内に前記外部記憶装置から読み出したファイ
    ルを記憶するための空き領域が無い場合、既に当該メモ
    リに記憶されているファイルの内、前記アクセス回数が
    最も少ないファイルを追い出ステップとを具備したこと
    を特徴とするファイルシステムにおけるキャッシング方
    法。
  6. 【請求項6】 前記アクセス回数を周期的にリセットす
    る時刻を設定するステップと、 前記メモリに記憶されている各ファイルへの最新アクセ
    ス時刻を前記テーブルに記憶するステップと、 前記最新アクセス時刻が前記リセット時刻以前であるフ
    ァイルを検出するステップと、 前記検出されたファイルの前記アクセス回数をリセット
    するステップとを具備したことを特徴とする請求項5に
    記載のファイルシステムにおけるキャッシング方法。
  7. 【請求項7】 前記メモリに記憶されている各ファイル
    毎に、前記最新アクセス時刻と現時刻からアクセス間隔
    を求めるステップと、 前記アクセス間隔の基準値を設定するステップと、 前記アクセス間隔が前記基準値以上であるファイルを検
    出するステップと、 前記検出されたファイルを前記メモリから追い出すステ
    ップとを具備したことを特徴とする請求項5に記載のフ
    ァイルシステムにおけるキャッシング方法。
  8. 【請求項8】 前記メモリに記憶されている各ファイル
    毎に、前記最新アクセス時刻とその直前のアクセス時刻
    からアクセス間隔を求めルステップと、 前記アクセス間隔が最長のファイルを検出するステップ
    と、 前記検出されたファイルを前記メモリから追い出すステ
    ップとを具備したことを特徴とする請求項5に記載のフ
    ァイルシステムにおけるキャッシング方法。
JP2000275887A 2000-09-12 2000-09-12 ファイルシステム Expired - Fee Related JP3612271B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000275887A JP3612271B2 (ja) 2000-09-12 2000-09-12 ファイルシステム
US09/797,826 US20020032671A1 (en) 2000-09-12 2001-03-05 File system and file caching method in the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000275887A JP3612271B2 (ja) 2000-09-12 2000-09-12 ファイルシステム

Publications (2)

Publication Number Publication Date
JP2002091811A true JP2002091811A (ja) 2002-03-29
JP3612271B2 JP3612271B2 (ja) 2005-01-19

Family

ID=18761437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000275887A Expired - Fee Related JP3612271B2 (ja) 2000-09-12 2000-09-12 ファイルシステム

Country Status (2)

Country Link
US (1) US20020032671A1 (ja)
JP (1) JP3612271B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005258789A (ja) * 2004-03-11 2005-09-22 Toshiba Solutions Corp ストレージ装置、ストレージコントローラ及びライトバックキャッシュ制御方法
WO2008056593A1 (fr) 2006-11-06 2008-05-15 Panasonic Corporation Dispositif d'enregistrement
JP2012177962A (ja) * 2011-02-25 2012-09-13 Hitachi Consumer Electronics Co Ltd 光ディスク装置
WO2012143980A1 (en) 2011-04-22 2012-10-26 Hitachi, Ltd. Storage system and its data processing method

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003058879A1 (en) 2002-01-08 2003-07-17 Seven Networks, Inc. Secure transport for mobile communication network
JP4250914B2 (ja) * 2002-06-03 2009-04-08 株式会社日立製作所 記憶装置システム
US20040078828A1 (en) * 2002-10-18 2004-04-22 Parchman Travis Randall Recovering timing for television services
US8468126B2 (en) * 2005-08-01 2013-06-18 Seven Networks, Inc. Publishing data in an information community
US7917468B2 (en) * 2005-08-01 2011-03-29 Seven Networks, Inc. Linking of personal information management data
JP3912311B2 (ja) * 2003-03-28 2007-05-09 ブラザー工業株式会社 情報処理システム
JP4463661B2 (ja) * 2004-11-01 2010-05-19 株式会社日立製作所 計算機システム、計算機、データベースアクセス方法及びデータベースシステム
JP2006261860A (ja) * 2005-03-15 2006-09-28 Toshiba Corp 情報再生方法及び情報再生装置
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
KR100654462B1 (ko) * 2005-08-24 2006-12-06 삼성전자주식회사 캐쉬 메모리를 메모리 블록으로 나누어 파일의 데이터를저장하는 캐쉬 방법 및 캐쉬 시스템
US7769395B2 (en) * 2006-06-20 2010-08-03 Seven Networks, Inc. Location-based operations and messaging
US20080001717A1 (en) * 2006-06-20 2008-01-03 Trevor Fiatal System and method for group management
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US8364181B2 (en) 2007-12-10 2013-01-29 Seven Networks, Inc. Electronic-mail filtering for mobile devices
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US20090193338A1 (en) * 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
US20090240880A1 (en) * 2008-03-21 2009-09-24 Hitachi, Ltd. High availability and low capacity thin provisioning
US8787947B2 (en) 2008-06-18 2014-07-22 Seven Networks, Inc. Application discovery on mobile devices
US8078158B2 (en) 2008-06-26 2011-12-13 Seven Networks, Inc. Provisioning applications for a mobile device
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US8452791B2 (en) * 2009-01-16 2013-05-28 Google Inc. Adding new instances to a structured presentation
US8412749B2 (en) * 2009-01-16 2013-04-02 Google Inc. Populating a structured presentation with new values
US20100185651A1 (en) * 2009-01-16 2010-07-22 Google Inc. Retrieving and displaying information from an unstructured electronic document collection
US8977645B2 (en) * 2009-01-16 2015-03-10 Google Inc. Accessing a search interface in a structured presentation
US8615707B2 (en) * 2009-01-16 2013-12-24 Google Inc. Adding new attributes to a structured presentation
US20110106819A1 (en) * 2009-10-29 2011-05-05 Google Inc. Identifying a group of related instances
US20100306223A1 (en) * 2009-06-01 2010-12-02 Google Inc. Rankings in Search Results with User Corrections
JP2011028537A (ja) * 2009-07-27 2011-02-10 Buffalo Inc 外部記憶装置へのアクセスを高速化する方法および外部記憶システム
US8566531B2 (en) * 2009-08-21 2013-10-22 Google Inc. System and method of selectively caching information based on the interarrival time of requests for the same information
JP5104828B2 (ja) * 2009-08-24 2012-12-19 富士通株式会社 オブジェクトベースストレージシステム、キャッシュ制御装置、キャッシュ制御方法
CA2806527A1 (en) 2010-07-26 2012-02-09 Seven Networks, Inc. Mobile network traffic coordination across multiple applications
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
US8417823B2 (en) 2010-11-22 2013-04-09 Seven Network, Inc. Aligning data transfer to optimize connections established for transmission over a wireless network
WO2012060995A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US8484314B2 (en) 2010-11-01 2013-07-09 Seven Networks, Inc. Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
WO2012071384A2 (en) 2010-11-22 2012-05-31 Michael Luna Optimization of resource polling intervals to satisfy mobile device requests
EP2661697B1 (en) 2011-01-07 2018-11-21 Seven Networks, LLC System and method for reduction of mobile network traffic used for domain name system (dns) queries
US20120271903A1 (en) 2011-04-19 2012-10-25 Michael Luna Shared resource and virtual resource management in a networked environment
GB2505585B (en) 2011-04-27 2015-08-12 Seven Networks Inc Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
WO2012149216A2 (en) 2011-04-27 2012-11-01 Seven Networks, Inc. Mobile device which offloads requests made by a mobile application to a remote entity for conservation of mobile device and network resources and methods therefor
EP2737742A4 (en) 2011-07-27 2015-01-28 Seven Networks Inc AUTOMATIC PRODUCTION AND DISTRIBUTION OF GUIDELINES INFORMATION ON MOBILE MOBILE TRANSPORT IN A WIRELESS NETWORK
WO2013073114A1 (en) * 2011-11-18 2013-05-23 International Business Machines Corporation Reading files stored on a storage system
US8918503B2 (en) 2011-12-06 2014-12-23 Seven Networks, Inc. Optimization of mobile traffic directed to private networks and operator configurability thereof
EP2789138B1 (en) 2011-12-06 2016-09-14 Seven Networks, LLC A mobile device and method to utilize the failover mechanisms for fault tolerance provided for mobile traffic management and network/device resource conservation
WO2013086447A1 (en) 2011-12-07 2013-06-13 Seven Networks, Inc. Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
GB2498064A (en) 2011-12-07 2013-07-03 Seven Networks Inc Distributed content caching mechanism using a network operator proxy
WO2013090212A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system
CN103999058B (zh) * 2011-12-16 2017-02-22 国际商业机器公司 带驱动器系统服务器
GB2499306B (en) 2012-01-05 2014-10-22 Seven Networks Inc Managing user interaction with an application on a mobile device
US9203864B2 (en) 2012-02-02 2015-12-01 Seven Networks, Llc Dynamic categorization of applications for network access in a mobile network
WO2013116852A1 (en) 2012-02-03 2013-08-08 Seven Networks, Inc. User as an end point for profiling and optimizing the delivery of content and data in a wireless network
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
WO2013155208A1 (en) 2012-04-10 2013-10-17 Seven Networks, Inc. Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network
WO2014011216A1 (en) 2012-07-13 2014-01-16 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US9161258B2 (en) 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
US20140177497A1 (en) 2012-12-20 2014-06-26 Seven Networks, Inc. Management of mobile device radio state promotion and demotion
US9241314B2 (en) 2013-01-23 2016-01-19 Seven Networks, Llc Mobile device with application or context aware fast dormancy
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US8750123B1 (en) 2013-03-11 2014-06-10 Seven Networks, Inc. Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
CN103412950B (zh) * 2013-08-28 2016-06-22 浙江大学 加速空间大数据文件读写速度的方法
US11010470B2 (en) * 2017-12-15 2021-05-18 Microsoft Technology Licensing, Llc Anti-virus file system cache for operating system remediation
US11907543B2 (en) * 2020-01-07 2024-02-20 International Business Machines Corporation Managing swappable data structures in a plurality of memory devices based on access counts of the data structures
US11620055B2 (en) * 2020-01-07 2023-04-04 International Business Machines Corporation Managing data structures in a plurality of memory devices that are indicated to demote after initialization of the data structures
US11573709B2 (en) * 2020-01-07 2023-02-07 International Business Machines Corporation Maintaining data structures in a memory subsystem comprised of a plurality of memory devices

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005258789A (ja) * 2004-03-11 2005-09-22 Toshiba Solutions Corp ストレージ装置、ストレージコントローラ及びライトバックキャッシュ制御方法
WO2008056593A1 (fr) 2006-11-06 2008-05-15 Panasonic Corporation Dispositif d'enregistrement
US8095576B2 (en) 2006-11-06 2012-01-10 Panasonic Corporation Recording device
JP2012177962A (ja) * 2011-02-25 2012-09-13 Hitachi Consumer Electronics Co Ltd 光ディスク装置
WO2012143980A1 (en) 2011-04-22 2012-10-26 Hitachi, Ltd. Storage system and its data processing method
US8688916B2 (en) 2011-04-22 2014-04-01 Hitachi, Ltd. Storage system and data processing method using cache memory

Also Published As

Publication number Publication date
JP3612271B2 (ja) 2005-01-19
US20020032671A1 (en) 2002-03-14

Similar Documents

Publication Publication Date Title
JP3612271B2 (ja) ファイルシステム
CA2338915C (en) System and method for caching sets of objects
US7058763B2 (en) File system for caching web proxies
US7673108B2 (en) Methods and systems for distributed caching in presence of updates and in accordance with holding times
JP4977565B2 (ja) アクセス制御リストを用いてファイルへのアクセスを制御するアクセスコントローラ
US7047366B1 (en) QOS feature knobs
US8112585B2 (en) Method and apparatus for dynamically switching cache policies
US6219676B1 (en) Methodology for cache coherency of web server data
JP4263672B2 (ja) キャッシュに格納されたオブジェクトを管理するためのシステムおよび方法
US6760812B1 (en) System and method for coordinating state between networked caches
KR100825721B1 (ko) 객체 기반 스토리지 시스템에서 사용자 파일 관리자 내의시간 기반 캐쉬 일관성 유지 시스템 및 방법
US20070226320A1 (en) Device, System and Method for Storage and Access of Computer Files
US8819074B2 (en) Replacement policy for resource container
JPH073658B2 (ja) 分散データ処理システムにおけるフアイル属性の管理方式
JP2006277545A (ja) 計算機システム、記憶装置システムおよびライト処理制御方法
US10942867B2 (en) Client-side caching for deduplication data protection and storage systems
US8862639B1 (en) Locking allocated data space
JP4105260B2 (ja) 情報処理装置
JP2004118482A (ja) 記憶装置、および、キャッシュ方法
US11860840B2 (en) Update of deduplication fingerprint index in a cache memory
CN114390069B (zh) 基于分布式缓存的数据访问方法与系统、设备及存储介质
CN112650694B (zh) 一种数据读取方法、装置、缓存代理服务器及存储介质
KR20010012913A (ko) 네트워크 오브젝트 캐시 엔진
JP2004310630A (ja) キャッシュ制御装置
JP2004126844A (ja) キャッシュメモリー制御機能付きサーバコンピュータ装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040302

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040506

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041022

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

Free format text: PAYMENT UNTIL: 20081029

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees