(57)【特許請求の範囲】
【請求項１】
アクセス済みのファイルを格納するファイルキャッシュ部と、
アクセス要求対象のファイルが前記ファイルキャッシュ部に格納されていない場合、該当するファイルをネットワークを介してファイル装置から読み込み、前記ファイルキャッシュ部に格納すると共に、前記ファイルがファイルキャッシュ部に入りきれなくなった場合、前記ファイルキャッシュ部のファイルを削除して、次に読み込むファイルの格納領域を確保するように前記ファイルキャッシュ部を管理するファイルキャッシュ管理部を備えた情報処理装置において、
前記ファイルキャッシュ部に、ファイルを格納するキャッシュ領域と、前記キャッシュ領域に格納されたファイルの情報をファイル毎に格納するファイル情報格納部を備えると共に、
前記ファイルキャッシュ管理部は、前記ファイルがファイルキャッシュ部に入りきれなくなってファイルキャッシュ部のファイルを削除する際に前記キャッシュ領域に残すファイルの優先度を、該ファイルのファイルサイズとアクセス頻度から計算により求める優先度計算手段と、前記キャッシュ領域のファイルを前記優先度の低いファイルから順に削除するファイル削除手段を備え、
前記ファイル情報格納部に、ファイルの初回アクセス時刻、アクセス回数、転送時ファイルサイズ、キャッシュ内格納サイズ、ファイル格納アドレスを含むファイル情報をファイル毎に格納して管理すると共に、
前記キャッシュ領域のファイルが削除された場合でも、前記ファイル情報を保持しておき、予め設定された時間帯において、前記ファイル情報格納部にファイル情報が保存されている全てのファイルについて前記優先度を計算し、前記キャッシュ領域に格納されているファイルの中で最も優先度の低いファイルよりも優先度が高く、かつ前記キャッシュ領域に保存されていないファイルがある場合、そのファイルを、ネットワークを介して前記ファイル装置から自動的に読み込み、前記キャッシュ領域に格納することを特徴とした情報処理装置。
【請求項２】
アクセス済みのファイルを格納するファイルキャッシュ部と、
アクセス要求対象のファイルが前記ファイルキャッシュ部に格納されていない場合、該当するファイルをネットワークを介してファイル装置から読み込み、前記ファイルキャッシュ部に格納すると共に、前記ファイルがファイルキャッシュ部に入りきれなくなった場合、前記ファイルキャッシュ部のファイルを削除して、次に読み込むファイルの格納領域を確保するように前記ファイルキャッシュ部を管理するファイルキャッシュ管理部を備えた情報処理装置において、
前記ファイルキャッシュ部に、ファイルを格納するキャッシュ領域と、前記キャッシュ領域に格納されたファイルの情報をファイル毎に格納するファイル情報格納部を備えると共に、
前記ファイルキャッシュ管理部は、前記ファイルがファイルキャッシュ部に入りきれなくなってファイルキャッシュ部のファイルを削除する際に前記キャッシュ領域に残すファイルの優先度を、該ファイルのファイルサイズとアクセス頻度から計算により求める優先度計算手段と、前記キャッシュ領域のファイルを前記優先度の低いファイルから順に削除するファイル削除手段を備え、
ネットワーク負荷の低い、予め設定された時間帯において、前記ファイル情報格納部にファイル情報が保存されている全てのファイルについて前記優先度を計算し、前記キャッシュ領域に格納されているファイルの中で最も優先度の低いファイルよりも優先度が高く、かつ前記キャッシュ領域に保存されていないファイルがある場合、そのファイルを、ネットワークを介して前記ファイル装置から自動的に読み込み、前記キャッシュ領域に格納する低負荷時ファイル読み込み手段を備えていることを特徴とした情報処理装置。
【請求項３】
前記ファイル削除手段は、前記キャッシュ領域のファイルを削除する際、前記優先度が予め定めた基準値より低い複数のファイルをまとめて削除することを特徴とした請求項１乃至２のいずれかに記載の情報処理装置。
【請求項４】
前記ファイル削除手段は、前記キャッシュ領域のファイルを削除する際、次回削除するファイルの候補を決定し、その情報を前記ファイル情報格納部に格納しておくことを特徴とした請求項１乃至２のいずれかに記載の情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、アクセス済みのファイルを格納するファイルキャッシュ部と、アクセス要求対象のファイルが前記ファイルキャッシュ部に格納されていない場合、該当するファイルをネットワークを介してファイル装置から読み込み、前記ファイルキャッシュ部に格納して管理するファイルキャッシュ管理部を備えた情報処理装置に関し、特に、ウェッブブラウザ（Web browser ）、或いはプロキシサーバ（proxy server）等を利用してファイルキャッシュ管理を行う情報処理装置に関する。
【０００２】
【従来の技術】
以下、図に基づいて従来例を説明する。
§１：従来例１の説明・・・図５のＡ図参照
図５のＡ図は従来例１のシステム構成図である。従来例１はプロキシサーバ（proxy server）を利用してファイルキャッシュ管理を行う例である。なお、前記プロキシサーバは代理サーバのことであり、プロキシサーバを設定するとブラウザ（クライアント）が接続先に対してリクエストを要求した時、そのクライアントマシンがダイレクトにアクセスするのではなく、代理サーバが代わりにその接続先にアクセスするものである。
【０００３】
このシステムは、ネットワーク６上に利用者側の複数の端末１−１、１−２、１−３が接続されると共に、キャッシュサーバ２が接続されており、前記ネットワーク６が別のネットワーク７、８を介して、遠隔地に設置された複数のサーバ４−１、４−２に接続されている。そして、前記サーバ４−１、４−２にはそれぞれファイル装置５−１、５−２が接続されている。
【０００４】
システム例１では、前記ネットワーク６はＬＡＮ（Local Area Network）であり、ネットワーク７はＷＡＮ（Wide Area Network ）である。また、ネットワーク８は任意のネットワークである。この場合、ネットワーク６のデータ伝送速度はネットワーク７の伝送速度に較べて高速である。前記キャッシュサーバ２は前記プロキシサーバであり、代理サーバとして機能する。そして、前記キャッシュサーバ２には、ファイルキャッシュ部３と、該ファイルキャッシュ部３の管理を行うファイルキャッシュ管理部１２が設けてある。
【０００５】
従来例１の動作は次の通りである。利用者側の端末１−１〜１−３の内のいずれかの端末が、遠隔地に設置されたファイル装置５−１、５−２のいずれかのファイル装置をアクセスしたい場合、次のようにしてアクセスする。例えば、端末１−１がファイル装置５−１へアクセスしたい場合は、端末１−１はキャッシュサーバ２に対してアクセス要求を送る。このアクセス要求を受信したキャッシュサーバ２では、ファイルキャッシュ管理部１２がファイルキャッシュ部３にアクセスし、前記端末から要求されたファイルがあるか否か（キャッシュヒットしたか否か）を判断する。そして、ファイルキャッシュ部３に該当するファイルが有れば（キャッシュヒットすれば）そのデータを読み出して端末１−１へ転送し処理を終了する。
【０００６】
しかし、該当するデータがファイルキャッシュ部３に無かった場合（キャッシュメヒットしなかった場合）、ファイルキャッシュ管理部１２はネットワーク６、７、８を介してサーバ４−１へアクセス要求を送る。前記キャッシュサーバ２からのアクセス要求を受信したサーバ４−１は、ファイル装置５−１にアクセスして、該ファイル装置５−１から要求されたファイルを読み出し、キャッシュサーバ２へ転送する。
【０００７】
キャッシュサーバ２は、サーバ４−１から転送されたファイルを受信すると、そのファイルを端末１−１へ転送すると共に、ファイルキャッシュ部３に格納して管理する。このようにしてキャッシュサーバ２は、端末１−１〜１−３の代理サーバとしてファイル装置５−１、５−２へのアクセス処理を行う。
【０００８】
また、ファイルがファイルキャッシュ部３に入りきれなくなった場合、ファイルキャッシュ部３のファイルを削除して、次に読み込むファイルの格納領域を確保する必要がある。このため、ファイルキャッシュ管理部１２は、ファイルキャッシュ部３に格納したファイルのアクセス時刻をメモリに格納して管理しておく。そして、ファイルを削除する場合は、ファイルの最終アクセス時刻を調べ、最終アクセス時刻が最も古いファイルから順に削除する。
【０００９】
なお、前記従来例１は、キャッシュサーバ２がインターネット（ネットワーク７に対応）を経由して、遠隔地（例えば、外国）にあるファイル装置にアクセスする場合等に利用されるものである。
【００１０】
§２：従来例２の説明・・・図５のＢ図参照
図５のＢ図は従来例２のシステム構成図である。従来例２はウェッブブラウザ（Web browser ）を利用してファイルキャッシュの管理を行う例である。なお、前記ウェッブブラウザは、ＷＷＷサーバ（World Wide Web）へ接続した時に、その情報を見るためのアプリケーションである。また、前記ＷＷＷサーバは、ネットワーク上に散在する様々な情報を、誰もがアクセスできる情報として公開するためのメカニズムである。
【００１１】
このシステムは、ネットワーク１１上に利用者側の端末１−１が接続されると共に、前記ネットワーク１１が別のネットワーク７、８を介して、遠隔地（例えば、外国）に設置された複数のサーバ４−１、４−２に接続されている。そして、前記サーバ４−１、４−２にはそれぞれファイル５−１、５−２が接続されている。
【００１２】
前記ネットワーク１１は任意のネットワーク（ＬＡＮでも良いが、ＬＡＮでなくても良い）であり、ネットワーク７、８は前記システム例１と同じである。そして、前記端末１−１には、ファイルキャッシュ部３と、該ファイルキャッシュ部３の管理を行うファイルキャッシュ管理部１２が設けてある。そして、前記ファイルキャッシュ管理部１２は、前記ウェッブブラウザ（ファイルキャッシュ管理用のプログラム）で構成する。
【００１３】
従来例２の動作は次の通りである。利用者側の端末１−１が、遠隔地に設置されたファイル装置５−１、５−２の内、いずれかのファイル装置にアクセスしたい場合、次のようにしてアクセスする。この場合、端末１−１ではウェッブブラウザ（ファイルキャッシュ管理用のプログラム）で構成されたファイルキャッシュ管理部１２が処理を行う。
【００１４】
例えば、端末１−１がファイル装置５−１へアクセスしたい場合、端末１−１のファイルキャッシュ管理部１２は、端末１−１内のファイルキャッシュ部３にアクセスし、要求されたファイルがあるか否かを判断する。そして、ファイルキャッシュ部３に該当するファイルがあれば（キャッシュヒットすれば）そのデータを読み出して、アクセス要求元の処理部へ転送し処理を終了する。
【００１５】
しかし、該当するファイルがファイルキャッシュ部３に無かった場合（キャッシュヒットしなかった場合）、ファイルキャッシュ管理部１２は、ネットワーク６、７、８を介してサーバ４−１へアクセス要求を送る。前記端末１−１からのアクセス要求を受信したサーバ４−１は、ファイル装置５−１にアクセスして、該ファイル装置５−１から要求されたファイルを読み出し、そのファイルを端末１−１へ転送する。
【００１６】
端末１−１のファイルキャッシュ管理部１２は、サーバ４−１から転送されたファイルを受信すると、そのデータをアクセス要求元へ転送すると共に、ファイルキャッシュ部３に格納して管理する。このようにしてファイルキャッシュ管理部１２は、ファイル装置５−１、５−２へのアクセス処理を行う。
【００１７】
また、ファイルがファイルキャッシュ部３に入りきれなくなった場合、ファイルキャッシュ部３のファイルを削除して、次に読み込むファイルの格納領域を確保する必要がある。このため、ファイルキャッシュ管理部１２は、ファイルキャッシュ部３に格納したファイルのアクセス時刻をメモリに格納して管理しておく。そして、ファイルを削除する場合は、ファイルの最終アクセス時刻を調べ、最終アクセス時刻が最も古いファイルから順に削除する。
【００１８】
§３：従来例３の説明
従来例３（特開平３−１７７９４６号公報参照）は、計算機のファイルシステムにおいて、磁気ディスク装置とのブロックデータ入出力のために、メモリの一部をバッファキャッシュメモリとして持ち、その割り当てを優先順位によって行うものである。このシステムでは、ブロックデータの読み出しを実際の磁気ディスク装置からの読み出しではなく、バッファキャッシュメモリからの読み出しで済ませるようにし、ブロックデータ入出力に要する時間を短縮するシステムである。
【００１９】
すなわち、フリーバッファキャッシュの獲得制御を使用頻度によるプライオリティを持たせ、さらにこれをシステム再立ち上げ時にも、数種のファイルとしてこのプライオリティを維持できるようにすることで、利用者の運用形態に沿って、よりキャッシュヒットの確率を高め、磁気ディスク装置とのデータ転送なしにメモリ間のみの転送を行うことで、ブロックデータ入出力時間の短縮を図り、利用者のプログラムの入出力待ち時間を低減するものである。
【００２０】
【発明が解決しようとする課題】
前記のような従来のものにおいては、次のような課題があった。
(1) ：従来例１、２に示したシステムでは、プロキシサーバ、或いはウエブブラウザ等を利用してファイルキャッシュ部の管理を行っていた。これらのファイルキャッシュ管理では、削除するファイルを、単純に最終アクセス時刻だけで決定する方法が広く使用されているが、ファイルを削除する際にアクセス頻度の高いファイルを先に削除してしまうことがあり、ファイルキャッシュ部の利用効率が悪化していた。
【００２１】
(2) ：従来例１、２に示したシステムでは、前記のようにファイルキャッシュ部の利用効率が悪化していた。このため、ファイルキャッシュ部の利用効率が最適化された場合に比べて、キャッシュヒットしない回数が多くなり、その分ネットワークを介してファイル装置へアクセスする回数も増加していた。その結果ネットワークのトラフィックの増加を招く、という弊害が発生していた。また、前記トラフィックの増加により、他の端末からファイル装置へのアクセスが出来なくなる、という事態が発生することもあった。
【００２２】
(3) ：従来例１、２に示したシステムにおいて、前記ネットワーク（ＷＡＮ）は、ＬＡＮに比べてデータの伝送速度が遅いので、前記のようにネットワークを介してファイル装置へアクセスする回数が増加すると、アクセス要求元での処理の遅れも発生していた。
【００２３】
(4) ：前記従来例３は、メモリの一部をバッファキャッシュメモリとして持ち、その割り当てを優先順位によって行うものであるが、磁気ディスク上のブロックデータがキャッシュ対象であり、ネットワーク上のファイルは対象としていない。
【００２４】
また、従来例３では、優先順位そのものを管理するためのテーブルを持っており、余分なテーブルとその管理が必要である。更に、従来例３において、「頻度」といっているのは、実際には回数のことであり、本当の意味での頻度ではない。従って、優先順位付けが適切に行われず、アクセス頻度の高いファイルを先に削除してしまう恐れがある。
【００２５】
本発明は、このような従来の課題を解決し、アクセス頻度の高いファイルの削除を防止して、ファイルキャッシュ部の利用効率を最適化すると共に、ネットワークのトラフィックが増加するのを抑制し、処理量の削減を可能にすることを目的とする。
【００２６】
【課題を解決するための手段】
図１は本発明の原理説明図である。本発明は前記の目的を達成するため、次のように構成した。
【００２７】
(1) ：アクセス済みのファイルを格納するファイルキャッシュ部３と、アクセス要求対象のファイルが前記ファイルキャッシュ部３に格納されていない場合、該当するファイルをネットワーク７を介してファイル装置５から読み込み、前記ファイルキャッシュ部３に格納すると共に、前記ファイルがファイルキャッシュ部３に入りきれなくなった場合、前記ファイルキャッシュ部３のファイルを削除して、次に読み込むファイルの格納領域を確保するように前記ファイルキャッシュ部３を管理するファイルキャッシュ管理部１２を備えた情報処理装置において、前記ファイルキャッシュ部３に、ファイルを格納するキャッシュ領域１６Ａと、前記キャッシュ領域１６Ａに格納されたファイルの情報をファイル毎に格納するファイル情報格納部１５Ａを備えると共に、前記ファイルキャッシュ管理部１２は、前記ファイルがファイルキャッシュ部３に入りきれなくなってファイルキャッシュ部３のファイルを削除する際に前記キャッシュ領域１６Ａに残すファイルの優先度を、該ファイルのファイルサイズとアクセス頻度から計算により求める優先度計算手段と、前記キャッシュ領域１６Ａのファイルを前記優先度の低いファイルから順に削除するファイル削除手段を備え、前記ファイル情報格納部１５Ａに、ファイルの初回アクセス時刻、アクセス回数、転送時ファイルサイズ、キャッシュ内格納サイズ、ファイル格納アドレスを含むファイル情報をファイル毎に格納して管理すると共に、前記キャッシュ領域のファイルが削除された場合でも、前記ファイル情報を保持しておき、予め設定された時間帯において、前記ファイル情報格納部１５Ａにファイル情報が保存されている全てのファイルについて前記優先度を計算し、前記キャッシュ領域１６Ａに格納されているファイルの中で最も優先度の低いファイルよりも優先度が高く、かつ前記キャッシュ領域１６Ａに保存されていないファイルがある場合、そのファイルを、ネットワークを介して前記ファイル装置５から自動的に読み込み、前記キャッシュ領域１６Ａに格納する。
【００２８】
(2) ：アクセス済みのファイルを格納するファイルキャッシュ部３と、アクセス要求対象のファイルが前記ファイルキャッシュ部３に格納されていない場合、該当するファイルをネットワーク７を介してファイル装置５から読み込み、前記ファイルキャッシュ部３に格納すると共に、前記ファイルがファイルキャッシュ部３に入りきれなくなった場合、前記ファイルキャッシュ部３のファイルを削除して、次に読み込むファイルの格納領域を確保するように前記ファイルキャッシュ部３を管理するファイルキャッシュ管理部１２を備えた情報処理装置において、前記ファイルキャッシュ部３に、ファイルを格納するキャッシュ領域１６Ａと、前記キャッシュ領域１６Ａに格納されたファイルの情報をファイル毎に格納するファイル情報格納部１５Ａを備えると共に、前記ファイルキャッシュ管理部１２は、前記ファイルがファイルキャッシュ部３に入りきれなくなってファイルキャッシュ部３のファイルを削除する際に前記キャッシュ領域１６Ａに残すファイルの優先度を、該ファイルのファイルサイズとアクセス頻度から計算により求める優先度計算手段と、前記キャッシュ領域１６Ａのファイルを前記優先度の低いファイルから順に削除するファイル削除手段を備え、ネットワーク負荷の低い、予め設定された時間帯において、前記ファイル情報格納部１５Ａにファイル情報が保存されている全てのファイルについて前記優先度を計算し、前記キャッシュ領域に格納されているファイルの中で最も優先度の低いファイルよりも優先度が高く、かつ前記キャッシュ領域１６Ａに保存されていないファイルがある場合、そのファイルを、ネットワーク７を介して前記ファイル装置から自動的に読み込み、前記キャッシュ領域１６Ａに格納する低負荷時ファイル読み込み手段を備えている。
【００２９】
(3) ：前記(1) 乃至(2) のいずれかにおいて、前記ファイル削除手段は、前記キャッシュ領域１６Ａのファイルを削除する際、前記優先度が予め定めた基準値より低い複数のファイルをまとめて削除する。
【００３０】
(4) ：前記(1) 乃至(2) のいずれかにおいて、前記ファイル削除手段は、前記キャッシュ領域１６Ａのファイルを削除する際、次回削除するファイルの候補を決定し、その情報を前記ファイル情報格納部１５Ａに格納しておく。
【００３３】
（作用）
前記構成に基づく本発明の作用を、図１に基づいて説明する。
(a) ：情報処理装置はファイルのアクセス要求を受けた際、アクセス要求対象のファイルがファイルキャッシュ部３に格納されていない場合（キャッシュヒットしない場合）、該当するファイルをネットワーク７を介してファイル装置５から読み込み、前記ファイルキャッシュ部３に格納して管理する。
【００３４】
この場合、情報処理装置は、ファイルアクセス要求をネットワーク７を介して遠隔地にあるサーバ４へ送り、サーバ４がファイル装置５から読み出したファイルをネットワーク７を介して受信することで、前記ファイル読み込みを行う。
【００３５】
そして、ファイルキャッシュ部３に格納されたファイルを削除する場合、優先度計算手段はファイルキャッシュ部３に残すファイルの優先度を、該ファイルのファイルサイズとアクセス頻度から計算により求める。その後、ファイル削除手段は、ファイルキャッシュ部３のファイルを前記優先度の低いファイルから順に削除する。
【００３６】
このようにすれば、アクセス頻度の高いファイルが、アクセス頻度の低いファイルより先に削除されるのを防止できる。従って、ファイルキャッシュ部の利用効率が最適化できる。また、ファイルキャッシュ部の利用効率が最適化できるので、遠隔地にあるファイル装置へのアクセス回数も少なくなり、その分、ネットワークのトラフィックを増加させることがなくなり、情報処理装置の処理時間も短縮できる。
【００３７】
(b) ：情報処理装置は、ファイルのアクセス要求を受けた際、アクセス要求対象のファイルがファイルキャッシュ部３に格納されていない場合（キャッシュヒットしない場合）、該当するファイルをネットワーク７を介してファイル装置５から読み込み、前記ファイルキャッシュ部３に格納して管理する。
【００３８】
この場合、情報処理装置は、ファイルアクセス要求をネットワーク７を介して遠隔地にあるサーバ４へ送り、サーバ４がファイル装置５から読み出したファイルをネットワーク７を介して受信することで、前記ファイル読み込みを行う。
【００３９】
そして、ファイルキャッシュ部３のキャッシュ領域１６Ａに格納されたファイルを削除する場合、優先度計算手段はキャッシュ領域１６Ａに残すファイルの優先度を、該ファイルのファイルサイズとアクセス頻度から計算により求める。その後、ファイル削除手段は、キャッシュ領域１６Ａのファイルを前記優先度の低いファイルから順に削除する。
【００４０】
このようにすれば、アクセス頻度の高いファイルが、アクセス頻度の低いファイルより先に削除されるのを防止でき、ファイルキャッシュ部の利用効率が最適化できる。また、ファイルキャッシュ部３の利用効率が最適化できるので、遠隔地にあるファイル装置へのアクセス回数も少なくなり、その分、ネットワークのトラフィックを増加させることがなくなり、情報処理装置の処理時間も短縮できる。
【００４１】
更に、キャッシュ領域１６Ａとは別にファイル情報格納部１５Ａを備えているので、キャッシュ領域１６Ａのファイルが削除された場合でも、そのファイルの情報を管理することが可能になる。従って、初回アクセス日時から或る基準時間を経過したために削除されたアクセス頻度の高いファイルを、再びファイル装置５から読み込むことが可能になる。
【００４２】
(c) ：ファイル削除手段は、キャッシュ領域１６Ａのファイルを削除する際、前記優先度が予め定めた基準値より低い複数のファイルをまとめて削除する。このように、ファイル削除の必要が生じた時点で、前記基準値に満たないファイルをまとめて削除すれば、ファイル削除の頻度が減少し、ファイル削除時の処理が削減できる。
【００４３】
(d) ：ファイル削除手段は、キャッシュ領域１６Ａのファイルを削除する際、次回削除するファイルの候補を決定し、その削除情報をファイル情報格納部１５Ａに格納しておく。このようにすれば、次回の削除はファイル情報格納部１５Ａに格納してある削除情報を利用して行うことができるので、次回のファイル削除まで優先度の計算をしなくて済む。従って、ファイル削除の頻度が減少し、ファイル削除時の処理が削減できる。
【００４４】
(e) ：ファイルキャッシュ管理部１２は、ファイル情報格納部１５Ａに、ファイルの初回アクセス時刻、アクセス回数、転送時ファイルサイズ、キャッシュ内ファイルサイズ、ファイル格納アドレスを含むファイル情報をファイル毎に格納して管理する。そして、ファイル削除によりキャッシュ領域１６Ａのファイルが削除された場合でも、前記ファイル情報を削除することなく、ファイルが削除された旨の削除情報を追加し保持しておく。
【００４５】
このようにすれば、短時間に大量の新しいファイルにアクセスしたために削除されたアクセス頻度の高いファイルを、再びファイル装置から読み込むことができる。これにより、ファイルキャッシュ部の利用効率が最適化できる。
【００４６】
(f) ：ファイルキャッシュ管理部１２は、ネットワーク負荷の低い、予め設定された時間帯（例えば、深夜）において、ファイル情報格納部１５Ａにファイル情報が保存されている全てのファイルについて優先度を計算する。そして、低負荷時ファイル読み込み手段は、キャッシュ領域１６Ａに格納されているファイルの中で最も優先度の低いファイルよりも優先度が高く、かつキャッシュ領域１６Ａに保存されていないファイルがある場合、そのファイルを、ネットワーク７を介して遠隔地にあるファイル装置５から自動的に読み込み、キャッシュ領域１６Ａに格納する。
【００４７】
このようにすれば、ネットワーク負荷の低い、予め設定された時間帯において、短時間に大量の新しいファイルにアクセスしたために削除されたアクセス頻度の高いファイルを、再びファイル装置５から読み込むことができる。これにより、ファイルキャッシュ部の利用効率の最適化が行える。また、前記ファイルの読み込みを、深夜等のネットワーク負荷の低い時間帯に行うことで、ネットワーク負荷のピーク時のトラフィックを抑制することができる。
【００５０】
【発明の実施の形態】
以下、発明の実施の形態を図面に基づいて詳細に説明する。なお、図５に示した従来例１、及び従来例２のシステムは、本実施の形態でも同じなので、以下の説明では図５も参照しながら説明する。
【００５１】
§１：システム構成とファイルキャッシュ部の説明・・・図２、図５参照
図２はファイルキャッシュ部の説明図であり、Ａ図はファイルキャッシュ部の構成図、Ｂ図はファイル情報（ファイル１個分）を示す。
【００５２】
図５のＡ図に示したシステム例は、プロキシサーバ（proxy server）を利用してファイルキャッシュ管理を行う例であり、ネットワーク６上に利用者側の複数の端末１−１、１−２、１−３が接続されると共に、キャッシュサーバ２が接続されており、前記ネットワーク６が別のネットワーク７、８を介して、遠隔地に設置された複数のサーバ４−１、４−２に接続されている。そして、前記サーバ４−１、４−２にはそれぞれファイル装置５−１、５−２が接続されている。
【００５３】
また前記ネットワーク６はＬＡＮであり、ネットワーク７はＷＡＮ（例えば、インターネット）である。前記キャッシュサーバ２は前記プロキシサーバであり、代理サーバとして機能する。そして、前記キャッシュサーバ２には、ファイルキャッシュ部３と、該ファイルキャッシュ部３の制御を行うファイルキャッシュ管理部１２が設けてある。
【００５４】
図５のＢ図に示したシステムは、ウェッブブラウザ（Web browser ）を利用してファイルキャッシュの管理を行う例であり、ネットワーク１１上に利用者側の端末１−１が接続されると共に、前記ネットワーク１１が別のネットワーク７、８を介して、遠隔地に設置された複数のサーバ４−１、４−２に接続されている。そして、前記サーバ４−１、４−２にはそれぞれファイル装置５−１、５−２が接続されている。
【００５５】
そして、端末１−１には、ファイルキャッシュ部３と、該ファイルキャッシュ部３の管理を行うファイルキャッシュ管理部１２が設けてある。この場合、前記ファイルキャッシュ管理部１２は、前記ウェッブブラウザ（ファイルキャッシュ管理用のプログラム）で構成する。
【００５６】
図２に示したように、前記ファイルキャッシュ部３には、ファイル情報テーブル１５（図１のファイル情報格納部１５Ａに対応する）と、ファイル格納用ディスク１６（図１のキャッシュ領域１６Ａに対応する）が別に設けてあり、前記ファイル格納用ディスク１６をファイル格納用のキャッシュ領域として使用するものである。
【００５７】
また、ファイル情報テーブル１５はファイル格納用ディスク１６の管理を行うための情報を格納するものであり、ファイル情報テーブル１５に格納したファイル毎にファイル情報を持っている。例えば、ファイル情報テーブル１５に格納したファイルをファイル１、ファイル２、ファイル３、ファイル４・・・とした場合、前記各ファイル毎に、ファイル情報テーブル１５にファイル情報を持っている。
【００５８】
前記各ファイル毎の情報は、例えば、図２のＢ図に示したように、ファイル名、転送時ファイルサイズ、キャッシュ内格納サイズ、初回アクセス時刻、アクセス回数、ファイル格納アドレス、削除情報等である。前記ファイル名は各ファイルを識別するための名称、前記転送時ファイルサイズはファイル転送時のファイルサイズ、前記キャッシュ内格納サイズはファイル格納用ディスク１６への格納サイズ（例えば、データ圧縮した場合には変動する）である。
【００５９】
前記初回アクセス時刻は最初にファイルへのアクセスをした時刻、前記アクセス回数はファイルをアクセスする度にインクリメントされる値、前記ファイル格納アドレスはファイル格納用ディスク１６への格納アドレス、前記削除情報はファイル削除に関する情報であり、例えば、次回に削除するファイルの情報等を含む。
【００６０】
§２：ファイルキャッシュ管理部の処理説明
(1) ：ファイルキャッシュ管理部の処理概要
前記ファイルキャッシュ管理部１２は、ファイルキャッシュ部３の管理を行うが、このファイルキャッシュ管理では、次のようにして処理を行う。
【００６１】
▲１▼：ファイルキャッシュ部３のファイルを削除する場合、ファイルキャッシュ部３に残すファイルの優先度を、予め設定した計算式（後述する）に従って計算し、計算した優先度に基づいてファイルの削除を行う。これにより、アクセス頻度の高いファイルの削除を防止する。
【００６２】
▲２▼：ファイル削除時に、予め優先度の基準値を設定しておき、この基準値に満たない優先度のファイルに対し、複数のファイルをまとめて削除することで、処理を削減する。
【００６３】
▲３▼：ファイル削除時に、次回削除するファイルの候補を予め決定しておくことで、ファイル削除頻度を少なくし、ファイル削除時の処理を削減する。
▲４▼：ファイルキャッシュ部３から削除されたファイルの内、アクセス頻度の高いファイルをネットワーク負荷の低い時間帯に自動読み込みすることで、ピーク時のトラヒックを抑制する。
【００６４】
(2) ：ファイルキャッシュ部３に残すファイルの優先度の決定方法
ファイルキャッシュ管理部１２はファイル格納用ディスク１６にファイルが入りきれなくなるとファイルの削除を行う。この場合、各ファイルの優先度を計算し、その優先度に基づいてファイルの削除を行う。ファイルキャッシュ部３に残すファイルの優先度は、次の式１で計算し決定する。
【００６５】
優先度＝（ファイルが生成するトラフィック）÷（キャッシュ領域に占める割合）＝（転送時ファイルサイズ）×（アクセス頻度）÷（キャッシュ内ファイルサイズ）・・・式１
前記式において、「ファイルが生成するトラフィック」は、ファイルをファイル装置５−１、５−２からファイルキャッシュ部３に読み込むために必要なネットワーク７のトラフィックである。また、「キャッシュ領域に占める割合」は、ファイル格納用ディスク１６の領域に占めるファイルの割合である。
【００６６】
また、通常の場合、「転送ファイルサイズ」と、「キャッシュ内ファイルサイズ」は同等と考えられる。しかし、転送時に付加される制御データの大小や、キャッシュ内にファイルを圧縮保存することを考慮した場合に、前記計算式は有効である。更に、前記「アクセス頻度」は、次の式２により計算で求めることができる。
【００６７】
アクセス頻度＝（アクセス回数）÷（現在時刻−初回アクセス時刻）・・・式２
(3) ：ファイルキャッシュ管理の具体的説明
ファイルキャッシュ管理部１２は次のようにしてファイルの管理を行う。
【００６８】
▲１▼：新しいファイルにアクセスした場合、或いは既に保存されているファイルが更新された時点で、ファイル情報テーブル１５内に格納されている初回アクセス時刻と、アクセス回数（＝１）を登録し、ファイルをファイル格納用ディスク１６（キャッシュ領域）に格納する。
【００６９】
▲２▼：既にファイル格納用ディスク１６に格納されているファイルにアクセスする場合は、記録されているアクセス回数をインクリメント（＋１）する。
▲３▼：ファイル削除の必要が生じた場合、前記式１を使用してファイルの優先度を計算し、その優先度の値が小さいものから順に削除する。なお、初回アクセス時刻とアクセス回数を含むファイル情報は、ファイルとは別に管理することで、ファイル削除後も、これらの情報を保持することを可能にする。これにより、キャッシュサイズが小さい場合でも、多くのファイルのアクセス頻度を管理することができる。
【００７０】
(4) ：ファイル削除頻度の削減方法の説明
前記式１により優先度を計算する場合、アクセス頻度の計算を行うが、このアクセス頻度を計算する過程で、「現在時刻」をキーに使用することになるため、ファイル削除時には、ファイルキャッシュ部３内全てのファイルについて計算する必要が生じる。よって、システムによっては計算処理に時間がかかる、という欠点もある。そこで、次のような方法を採用することで前記欠点を解決する。
【００７１】
▲１▼：予め、優先度の計算式から基準値を定めておき、ファイル削除の必要が生じた時点で、前記基準値に満たないファイルを複数まとめて削除する。
▲２▼：ファイル削除時点で、次回削除するファイルの候補を決定しておき、そのファイルが削除されるまでは次の計算は行わない。但し、次回削除するまでの間に候補となったファイルをアクセスした場合は、削除対象から外す。
【００７２】
(5) ：ネットワーク低負荷時の自動読み込みの説明
ファイルキャッシュ部３の利用効率を最適化し、ネットワーク７のトラフィックを減らすという観点から、以下のような方法で、ネットワーク負荷のピーク時のトラフィックを抑制する。
【００７３】
すなわち、初回アクセス日時から、或る基準時間を経過したアクセス頻度の高いファイルがファイルキャッシュ部３より削除された場合、そのファイルをネットワーク負荷の低い夜間などに自動的に読み込む。自動読み込みを行うファイルの決定は、前記優先度の計算式から基準時を定めて行うか、個別定義をしておくことで実行する。但し、自動読み込みを行う時間は、システムや時差の関係（例えば、インターネットを利用して外国のファイル装置へアクセスする場合は時差がある）で固定できないため、別途定めることとする。
【００７４】
§３：ファイルキャッシュ管理部の処理説明（その１）・・・図３参照
図３はファイルキャッシュ管理部の処理フローチャート１である。以下、図３に基づいて、ファイルキャッシュ管理部の処理を説明する。なお、Ｓ１〜Ｓ１０は各処理ステップを示す。この処理は、ファイルキャッシュ管理部１２が、ファイル装置５−１、或いは５−２へのファイルアクセス要求を受信した場合に行う処理である。
【００７５】
ファイルキャッシュ管理部１２は、ファイル装置５−１、或いは５−２へのファイルアクセス要求を受信した場合、ファイルキャッシュ部３にアクセスしてキャッシュヒットしたか否かを判定する（Ｓ１）。その結果、キャッシュヒットしたら、オリジナルファイル（ファイル装置５−１、或いは５−２のファイル）が更新されているか否かを判定する（Ｓ２）。
【００７６】
この場合、ファイルキャッシュ管理部１２はネットワーク７を介してファイル装置５−１、或いは５−２へアクセスし、該当するファイルの表題のみを読み出すことで、前記のようにオリジナルファイルが更新されているか否かを判定する。その結果、オリジナルファイルが更新されていないと判定した場合は、ファイル格納用ディスク１６のファイルを読み出し、該ファイルを要求元へ転送する（Ｓ３）。次に、ファイルキャッシュ管理部１２はファイル情報テーブル１５のファイル情報を更新して（Ｓ１０）、処理を終了する。
【００７７】
しかし、前記Ｓ１の処理でキャッシュヒットしない場合、或いは前記Ｓ２の処理でオリジナルファイルが更新されたと判定した場合、ファイルキャッシュ管理部１２は、ファイルキャッシュ部３に空領域が有るか否かを判定する（Ｓ４）。この場合、予め設定したキャッシュ領域の最大使用可能領域の情報を、ファイル情報として格納しておき、この情報と他のファイル情報（例えば、ファイル格納アドレス）から空領域が有るか否かを判定する。
【００７８】
前記Ｓ４の判定の結果、ファイルキャッシュ部３に空領域が有ると判定した場合には、ファイルキャッシュ管理部１２は新ファイルの読み込みを行う（Ｓ８）。この場合、ネットワーク７を介してサーバ４−１、或いは４−２へアクセス要求を送り、ファイル装置５−１、或いは５−２から新ファイルを読み込む。このようにして読み込んだ新ファイルは、要求元へ転送すると共に、ファイルキャッシュ部３のファイル格納用ディスク１６に格納しておく（Ｓ９）。次に、ファイルキャッシュ管理部１２はファイル情報テーブル１５のファイル情報を登録、或いは更新して（Ｓ１０）、処理を終了する。
【００７９】
一方、前記Ｓ４の処理で、ファイルキャッシュ部３に空き領域が無いと判定した場合には、ファイルキャッシュ管理部１２は前記式１を使用して各ファイルの優先度を計算する（Ｓ５）。そして、前記計算した優先度に従って、削除対象ファイルを決定し（Ｓ６）、該当するファイルを削除してファイルキャッシュの領域を確保する（Ｓ７）。この場合、優先度の低いファイルから順に削除する。この場合、削除したファイルのファイル情報はそのまま保存しておき、ファイルが削除された旨の情報をファイル情報に追加しておく。
【００８０】
その後、ファイルキャッシュ管理部１２は新ファイルの読み込みを行う（Ｓ８）。この場合、ネットワーク７を介してサーバ４−１、或いは４−２へアクセス要求を送り、ファイル装置５−１、或いは５−２から新ファイルを読み込む。このようにして読み込んだ新ファイルは、要求元へ転送すると共に、ファイルキャッシュ部３のファイル格納用ディスク１６に格納しておく（Ｓ９）。次に、ファイルキャッシュ管理部１２はファイル情報テーブルのファイル情報を登録、或いは更新して（Ｓ１０）、処理を終了する。
【００８１】
なお、前記処理は次のようにしても実施可能である。
▲１▼：前記Ｓ５の処理において、例えば、ファイル数が多くて優先度の計算に時間がかかる場合は、１回の計算でその後数回分の削除ファイルを決定し、その間、前記ファイルがアクセスされなければ、そのまま削除するようにしても良い。但し、次回削除するまでの間に、削除候補となったファイルがアクセスされた場合は、削除対象から外す。
【００８２】
この場合、前記優先度を計算した時点で、ファイル情報テーブル１５に、次回以降に削除する旨の情報を削除情報として格納しておき、その情報を基に次回以降（キャッシユ領域に空き領域が無くなった場合）にファイルの削除を行う。
【００８３】
▲２▼：前記Ｓ５の処理で優先度の計算に時間がかかる場合は、前記Ｓ６の処理で、複数のファイルをまとめて多めにファイルを削除しても良い。このようにしてキャッシュ領域を多めに確保しておけば、この先、数回分の優先度の計算をしなくて済むので処理の削減を行うことができる。
【００８４】
▲３▼：前記Ｓ２の処理において、オリジナルファイルが更新されたか否かのチェックを毎回行うが、この場合、サーバ４−１、或いは４−２からの応答遅延が大きい場合には、利用者からの「最新ファイルか否かのチェック要求」があった場合にのみ、或いは前回のチェックから一定時間経過後のみチェックするようにしても良い。
【００８５】
なお、前記▲１▼〜▲３▼の処理はファイルキャッシュ管理部１２のプログラムを変更することで対処可能である。
§４：ファイルキャッシュ管理部の処理説明（その２）・・・図４参照
図４はファイルキャッシュ管理部の処理フローチャート２である。以下、図４に基づいて、ファイルキャッシュ管理部の処理を説明する。なお、Ｓ２１〜Ｓ２６は各処理ステップを示す。
【００８６】
この処理はネットワーク負荷の低い時間帯に行う処理であり、例えば、午前０時〜午前５時までをネットワーク負荷の低い時間帯であるとして、その時間をタイマに設定しておき、前記時間帯に以下の処理を行うようにする。この場合、前記タイマからの処理開始信号に基づき、以下の処理を開始するようにファイルキャッシュ管理部１２のプログラムを作成しておく。
【００８７】
前記タイマに設定した時間帯になり、ファイルキャッシュ管理部１２がタイマからの処理開始信号を受信すると、該ファイルキャッシュ管理部１２は低負荷時の処理開始時刻と判断し（Ｓ２１）、処理を開始する。この処理では先ず、ファイルキャッシュ部３のファイル情報テーブル１５に保持している全てのファイル情報（ファイル格納用ディスク１６にファイルを保存していないものも有れば含む）から、各ファイルの優先度を計算式１を使用して計算する（Ｓ２２）。
【００８８】
次に、ファイルキャッシュ管理部１２は、ファイルキャッシュ部３のファイル格納用ディスク１６に保存されているファイルの中で、最も優先度が低いファイルよりも優先度が高く、かつファイル格納用ディスク１６に保存されていないファイルが有るか否かを判定する（Ｓ２３）。
【００８９】
その結果、該当するファイルが無ければ（Ｓ２４）、処理を終了するが、該当するファイルが有れば（Ｓ２４）、ファイル格納用ディスク１６に保存されているファイルの内で、優先度の低いファイルを削除し、より優先度の高いファイルを読み込む（Ｓ２５）。その後、ファイル情報を更新して（Ｓ２６）、処理を終了する。
【００９０】
§５：記録媒体とプログラムの説明
前記情報処理装置（キャッシュサーバ２、或いは端末１−１〜１−３の何れかの装置）のファイルキャッシュ管理部１２が行う処理は、情報処理装置内のＣＰＵがプログラムを実行することにより次のようにして実現する。前記情報処理装置にはハードディスク装置が設けてあり、このハードディスク装置の記録媒体（ハードディスク）に、前記ファイルキャッシュ管理の処理を実現するためのプログラムやその他の各種データ等を格納しておく。
【００９１】
そして、前記ファイルキャッシュ管理を行う場合は、ＣＰＵの制御によりハードディスク装置の記録媒体に格納されている前記プログラムやデータを読み出して情報処理装置本体内のメモリに取り込む。その後、ＣＰＵが前記メモリに格納してあるプログラムの内、必要なプログラムから順次読み出して実行することにより、前記情報処理装置のファイルキャッシュ管理を行う。なお、前記ハードディスク装置の記録媒体に格納するプログラムは、次のようにして記録（記憶）する。
【００９２】
▲１▼：フレキシブルディスク（フロッピィディスク）に格納されているプログラム（他の装置で作成したプログラムデータ）を、情報処理装置本体に設けたフレキシブルディスクドライブ装置により読み取り、ハードディスク装置の記録媒体（ハードディスク）に格納する。
【００９３】
▲２▼：光磁気ディスク、或いはＣＤ−ＲＯＭ等の記憶媒体に格納されているデータを、前記情報処理装置に設けたドライブ装置により読み取り、ハードディスク装置の記録媒体（ハードディスク）に格納する。
【００９４】
▲３▼：ＬＡＮ等の通信回線を介して他の装置から伝送されたデータを前記コンピュータ本体で受信し、そのデータをハードディスク装置の記録媒体（ハードディスク）に格納する。
【００９５】
【発明の効果】
以上説明したように、本発明によれば次のような効果がある。
(1) ：ファイルサイズとアクセス頻度から優先度を計算し、その優先度に基づいてファイルの削除を行う。従って、アクセス頻度の高いファイルの削除を防止できると共に、ファイルキャッシュ部の利用効率を最適化することができる。
【００９６】
(2) ：ファイルキャッシュ部の利用効率を最適化できるため、ネットワークのトラフィックが増加するのを抑制し、処理量の削減が可能になる。
前記効果の外、各請求項に対応した次のような効果がある。
【００９７】
(3) ：ファイルキャッシュ部に格納されたファイルを削除する場合、優先度計算手段はファイルキャッシュ部に残すファイルの優先度を、該ファイルのファイルサイズとアクセス頻度から計算により求める。そして、ファイル削除手段は、ファイルキャッシュ部のファイルを前記優先度の低いファイルから順に削除する。
【００９８】
このようにすれば、アクセス頻度の高いファイルが、アクセス頻度の低いファイルより先に削除されるのを防止できるから、ファイルキャッシュ部の利用効率が最適化できる。また、ファイルキャッシュ部の利用効率が最適化できるので、遠隔地にあるファイル装置へのアクセス回数も少なくなり、その分、ネットワークのトラフィックを増加させることがなくなり、情報処理装置の処理時間も短縮できる。
【００９９】
(4) ：ファイルキャッシュ部のキャッシュ領域に格納されたファイルを削除する場合、優先度処理手段はキャッシュ領域に残すファイルの優先度を、該ファイルのファイルサイズとアクセス頻度から計算により求める。その後、ファイル削除手段は、キャッシュ領域のファイルを前記優先度の低いファイルから順に削除する。
【０１００】
このようにすれば、アクセス頻度の高いファイルが、アクセス頻度の低いファイルより先に削除されるのを防止できるので、ファイルキャッシュ部の利用効率が最適化できる。また、ファイルキャッシュ部の利用効率が最適化できるので、遠隔地にあるファイル装置へのアクセス回数も少なくなり、その分、ネットワークのトラフィックを増加させることがなくなり、情報処理装置の処理時間も短縮できる。
【０１０１】
更に、キャッシュ領域とは別にファイル情報格納部を備えているので、キャッシュ領域のファイルが削除された場合でも、そのファイルの情報を管理することが可能になる。従って、初回アクセス日時から或る基準時間を経過したために削除されたアクセス頻度の高いファイルを、再びファイル装置から読み込むことが可能になる。
【０１０２】
(5) ：ファイル削除手段は、キャッシュ領域のファイルを削除する際、前記優先度が予め定めた基準値より低い複数のファイルをまとめて削除する。このように、ファイル削除の必要が生じた時点で、前記基準値に満たないファイルをまとめて削除すれば、ファイル削除の頻度が減少し、ファイル削除時の処理が削減できる。
【０１０３】
(6) ：ファイル削除手段は、キャッシュ領域のファイルを削除する際、次回削除するファイルの候補を決定し、その情報をファイル情報格納部に格納しておく。このようにすれば、次回の削除はファイル情報格納部に格納してある優先度を利用して行うことができるので、次回のファイル削除まで優先度の計算をしなくて済む。従って、ファイル削除の頻度が減少し、ファイル削除時の処理が削減できる。
【０１０４】
(7) ：ファイルキャッシュ管理部は、ファイル情報格納部に、ファイルの初回アクセス時刻、アクセス回数、転送時ファイルサイズ、キャッシュ内ファイルサイズ、ファイル格納アドレスを含むファイル情報をファイル毎に格納して管理する。そして、ファイル削除によりキャッシュ領域のファイルが削除された場合でも、前記ファイル情報を削除することなく、ファイルが削除された旨の削除情報を追加し保持しておく。
【０１０５】
このようにすれば、短時間に大量の新しいファイルにアクセスしたために削除されたアクセス頻度の高いファイルを、再びファイル装置から読み込むことができる。これにより、ファイルキャッシュ部の利用効率が最適化できる。
【０１０６】
(8) ：ファイルキャッシュ管理部は、ネットワーク負荷の低い、予め設定された時間帯（例えば、深夜）において、ファイル情報格納部にファイル情報が保存されている全てのファイルについて優先度を計算する。そして、低負荷時ファイル読み込み手段は、キャッシュ領域に格納されているファイルの中で最も優先度の低いファイルよりも優先度が高く、かつキャッシュ領域に保存されていないファイルがある場合、そのファイルを、ネットワークを介して遠隔地にあるファイル装置５から自動的に読み込み、キャッシュ領域に格納する。
【０１０７】
このようにすれば、ネットワーク負荷の低い、予め設定された時間帯において、短時間に大量の新しいファイルにアクセスしたために削除されたアクセス頻度の高いファイルを、再びファイル装置５から読み込むことができる。これにより、ファイルキャッシュ部の利用効率の最適化が行える。また、前記ファイルの読み込みを、深夜等のネットワーク負荷の低い時間帯に行うことで、ネットワーク負荷のピーク時のトラフィックを抑制することができる。
【図面の簡単な説明】
【図１】本発明の原理説明図である。
【図２】実施の形態におけるファイルキャッシュ部の説明図である。
【図３】実施の形態におけるファイルキャッシュ管理部の処理フローチャート１である。
【図４】実施の形態におけるファイルキャッシュ管理部の処理フローチャート２である。
【図５】従来例１、２のシステム構成図である。
【符号の説明】
１−１〜１−３  端末（端末装置）
２  キャッシュサーバ（キャッシュサーバマシン）
３  ファイルキャッシュ部
４−１、４−２  サーバ（サーバマシン）
５−１、５−２  ファイル装置
６、７、８  ネットワーク
１２  ファイルキャッシュ管理部
１５  ファイル情報テーブル
１６  ファイル格納用ディスク
１５Ａ  ファイル情報格納部
１６Ａ  キャッシュ領域
【図１】
0004105260.tif 000002
【図２】
0004105260.tif 000003
【図３】
0004105260.tif 000004
【図４】
0004105260.tif 000005
【図５】
0004105260.tif 000006