JPH10214217A - ネットワークキャッシュ装置およびネットワークキャッシュ方法 - Google Patents

ネットワークキャッシュ装置およびネットワークキャッシュ方法

Info

Publication number
JPH10214217A
JPH10214217A JP9015644A JP1564497A JPH10214217A JP H10214217 A JPH10214217 A JP H10214217A JP 9015644 A JP9015644 A JP 9015644A JP 1564497 A JP1564497 A JP 1564497A JP H10214217 A JPH10214217 A JP H10214217A
Authority
JP
Japan
Prior art keywords
data
request
cache
network
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.)
Pending
Application number
JP9015644A
Other languages
English (en)
Inventor
Koichi Mizote
弘一 溝手
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP9015644A priority Critical patent/JPH10214217A/ja
Publication of JPH10214217A publication Critical patent/JPH10214217A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 複数のアプリケーションが同じキャッシュデ
ータを共有可能であり、各アプリケーションがレスポン
スデータを速く受信することが可能なネットワークキャ
ッシュ装置を提供すること。 【解決手段】 ネットワーク8に対してデータアクセス
のリクエストを発行し、リクエストに対するレスポンス
データを受信するためのネットワークインタフェース部
25と、ネットワーク8から受信したレスポンスデータ
を記憶するための外部記憶装置5と、アプリケーション
22からプロセス間通信によりデータリクエストを受信
し、データリクエストに対応するレスポンスデータが外
部記憶装置5に記憶されている場合は、ネットワークイ
ンタフェース部25に対してデータアクセスのリクエス
トの発行を指示せず、外部記憶装置5に記憶された当該
データリクエストに対応するレスポンスデータをアプリ
ケーション22へ送出するためのネットワークキャッシ
ュ処理部21とを含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ネットワークを介
して外部のデータにアクセスする情報端末装置に関し、
特に、ネットワークから受信したデータを内部にキャッ
シュするネットワークキャッシュ装置、ネットワークキ
ャッシュ方法およびネットワークキャッシュプログラム
を記録した媒体に関する。
【0002】
【従来の技術】近年、ワークステーション、パーソナル
コンピュータあるいは電子手帳等の情報端末装置が普及
し、これらの情報端末装置を利用してネットワーク上の
サーバ計算機が保持する情報をアクセスできるネットワ
ークファイルシステムが種々ユーザに提供されている。
その代表的なものとして、いわゆるインターネットにお
けるHTTP(Hyper Text Transfer Protocol)を使用
した広域分散型マルチメディア情報システムがある。
【0003】インターネットは、その基本プロトコルと
してTCP/IP(Transmission Control Protocol /
Internet Protocol )を利用したグローバルなネットワ
ークである。インターネット上に構築された地域分散型
マルチメディア情報システムは、WWW(World Wide W
eb)と呼ばれ、ネットワーク上に分散したファイルオブ
ジェクトを扱うことができる。これらのファイルオブジ
ェクトは、単なるテキストデータに留まらず、画像デー
タ、音声データ、ビデオ画像データなどさまざまな種類
のものを含む。WWWは、情報提供側にとってもユーザ
側にとっても魅力的であるため、ネットワーク上のWW
Wに関するトラフィックが爆発的に増加している。WW
Wシステムでは、クライアント計算機のユーザは、グラ
フィカルユーザインタフェースを持ったブラウザソフト
ウエアをクライアント計算機上で実行させるだけで、ネ
ットワーク上に分散したサーバ計算機の保持するさまざ
まなファイルオブジェクトで構成された情報を次々とア
クセスすることができる。WWWは、このような操作の
簡単さのために近年目ざましい普及を見せている。
【0004】ユーザは、WWWブラウザを使用すること
により、ネットワークからデータを受信して画面に表示
することが可能となる。WWWブラウザにはユーザの操
作性の向上のためにさまざまな機能が組込まれている。
【0005】一般的に使用されているWWWブラウザの
1つには、ネットワークから受信したデータをキャッシ
ュするネットワークキャッシュ機能が組込まれている。
ユーザは、このネットワークキャッシュ機能を利用する
ことにより、一度ネットワークから受信データデータを
アクセスする場合にキャッシュされたデータがアクセス
されてアクセス時間を短縮させることが可能となる。
【0006】また、特開平4−219839号公報に開
示された発明は、ネットワークキャッシュ装置および計
算機システムを含むネットワークキャッシュシステムに
関するものであり、その概略構成を図18に示す。ネッ
トワークキャッシュ装置70は、ネットワークインタフ
ェース71と、ネットワークインタフェース71を介し
て受信したパケットの処理およびネットワークインタフ
ェース71を介してパケットの送信を行なうためのパケ
ット処理部72と、ファイル格納エリア74と、ファイ
ル格納エリア74に格納されているファイルに関する情
報を登録するファイル情報格納エリア73と、ファイル
バッファ75とを含む。
【0007】また、計算機システム80または90は、
ネットワークインタフェース83または93と、アクセ
スされるファイルがどこにあるかを調査するためのファ
イルアクセス処理部81または91と、ネットワークイ
ンタフェース83または93を介して受信したパケット
の処理およびネットワークインタフェース83または9
3を介してパケットの送信を行なうためのパケット処理
部82または92と、ローカルディスク上にあるファイ
ルでかつネットワークキャッシュ装置70のファイル格
納エリア74にも格納されていて頻繁にアクセスされる
ファイルの名前を登録するためのファイルキャッシュテ
ーブル84または94と、ローカルディスク上にあるフ
ァイルに対するアクセスの処理を行なうためのローカル
ファイルアクセス処理部85または95とを含む。
【0008】頻繁にアクセスされるファイルの名前が計
算機システム80または90のファイルキャッシュテー
ブル84または94に登録される。計算機システム80
のファイルアクセス処理部81は、要求されるファイル
の格納場所を調査し、ファイルキャッシュテーブル84
に登録されていることを検出すれば、パケット処理部8
2がネットワークキャッシュ装置70に対してファイル
アクセス要求パケットを送出する。そしてネットワーク
キャッシュ装置70は、ファイル格納エリア74に格納
されているファイルをパケットにコピーしてアクセス要
求元の計算機80に送出する。
【0009】
【発明が解決しようとする課題】上述したWWWブラウ
ザの1つでは、ネットワークキャッシュ機能がブラウザ
内に組込まれているので、2つのブラウザが同時にキャ
ッシュデータを共有したり、他のアプリケーションがキ
ャッシュされたデータを用いるのは困難であるという問
題点がある。
【0010】また、キャッシュデータは1データにつき
1ファイルという形式で格納されており、電子手帳など
の携帯端末などで使用できるファイル数に制限があるシ
ステムの場合には、このままでは組込めないという問題
点がある。
【0011】また、上述した特開平4−219839号
公報に開示された発明においては、キャッシュされるデ
ータはファイルアクセス要求を発行する計算機システム
80または90内ではなく、ネットワークキャッシュ装
置70内に格納されるため、キャッシュされたデータを
アクセスするためには計算機システム80または90と
ネットワークキャッシュ装置70間のネットワークを介
した通信が必要であり、計算機システム80または90
がデータを得るのに時間がかかるという問題点がある。
【0012】本発明は、上記問題点を解決するためのな
されたもので、請求項1〜9に記載の発明の目的は、複
数のアプリケーションが同じキャッシュデータを共有可
能であり、各アプリケーションがレスポンスデータを速
く受信することが可能なネットワークキャッシュ装置を
提供することである。
【0013】請求項10に記載の発明の目的は、複数の
アプリケーションが同じキャッシュデータを共有可能で
あり、各アプリケーションがレスポンスデータを速く受
信することが可能なネットワークキャッシュ方法を提供
することである。
【0014】請求項11に記載の発明の目的は、複数の
アプリケーションが同じキャッシュデータを共有可能で
あり、各アプリケーションがレスポンスデータを速く受
信することが可能なネットワークキャッシュプログラム
を記録した媒体を提供することである。
【0015】
【課題を解決するための手段】請求項1に記載のネット
ワークキャッシュ装置は、ネットワークに対してデータ
アクセスのリクエストを発行し、リクエストに対するレ
スポンスデータを受信するためのネットワークインタフ
ェース手段と、ネットワークインタフェース手段が受信
したレスポンスデータを記憶するための記憶手段と、ア
プリケーションからプロセス間通信によりデータリクエ
ストを受信し、データリクエストに対応するレスポンス
データが記憶手段に記憶されている場合は、ネットワー
クインタフェース手段に対してデータアクセスのリクエ
ストの発行を指示せず、データリクエストに対応するレ
スポンスデータが記憶手段に記憶されていない場合は、
ネットワークインタフェース手段に対してデータアクセ
スのリクエストの発行を指示するためのキャッシュ処理
手段とを含む。
【0016】キャッシュ処理手段は、アプリケーション
からプロセス間通信により受信したデータリクエストに
対応するレスポンスデータが記憶手段に記憶されている
場合は、ネットワークインタフェース手段に対してデー
タアクセスのリクエストを発行しないので、アプリケー
ションがレスポンスデータを速く受信することができ
る。
【0017】請求項2に記載のネットワークキャッシュ
装置は、請求項1に記載のネットワークキャッシュ装置
であって、キャッシュ処理手段は、リクエストに対応す
るリクエストデータ名とリクエストに対応するレスポン
スデータが記憶手段内に記憶される領域とがインデック
ス情報として記憶されるインデックス記憶手段と、ネッ
トワークインタフェース手段によって受信されたレスポ
ンスデータを記憶手段に記憶し、記憶されたレスポンス
データに対応するインデックス情報をインデックス記憶
手段に記憶するためのキャッシュ管理手段と、アプリケ
ーションからプロセス間通信によりデータリクエストを
受信し、データリクエストに対応するリクエストデータ
名がインデックス記憶手段にある場合は、記憶手段に記
憶されたデータリクエストに対応するリクエストデータ
をプロセス間通信によりアプリケーションへ送出し、デ
ータリクエストに対応するリクエストデータ名がインデ
ックス記憶手段にない場合は、ネットワークインタフェ
ース手段に対してデータアクセスのリクエストの発行を
指示するためのアプリケーションリクエスト処理手段
と、ネットワークインタフェース手段によって受信され
たレスポンスデータをプロセス間通信によりアプリケー
ションへ送出するためのレスポンスデータ処理手段とを
含む。
【0018】アプリケーションリクエスト処理手段は、
アプリケーションからプロセス間通信により受信したデ
ータリクエストに対応するリクエストデータ名がインデ
ックス記憶手段にある場合は、記憶手段に記憶されたデ
ータリクエストに対応するリクエストデータをプロセス
間通信によりアプリケーションへ送出するので、アプリ
ケーションがレスポンスデータを速く受信することが可
能となる。
【0019】請求項3に記載のネットワークキャッシュ
装置は、請求項2に記載のネットワークキャッシュ装置
であって、レスポンスデータ処理手段は、ネットワーク
インタフェース手段によって受信されたレスポンスデー
タを共有メモリ領域にコピーし、レスポンスデータがコ
ピーされた領域へのポインタとレスポンスデータのデー
タサイズとをアプリケーションへメッセージ通信する。
【0020】レスポンスデータ処理手段は、アプリケー
ションに対してレスポンスデータがコピーされた領域へ
のポインタとレスポンスデータのデータサイズのみをメ
ッセージ通信するので、アプリケーションがレスポンス
データへアクセスする速度が速くなる。
【0021】請求項4に記載のネットワークキャッシュ
装置は、請求項2に記載のネットワークキャッシュ装置
であって、キャッシュ処理手段はさらに、ネットワーク
インタフェース手段がネットワークに対してデータアク
セス中のリクエストの情報が記憶されるネットワークア
クセス情報記憶手段を含み、アプリケーションリクエス
ト処理手段はアプリケーションからプロセス間通信によ
りデータリクエストを受信し、データリクエストに対応
するリクエストデータ名がインデックス記憶手段にある
場合は、記憶手段に記憶されたデータリクエストに対応
するリクエストデータをプロセス間通信によりアプリケ
ーションへ送出し、データリクエストに対応するリクエ
ストデータ名がインデックス記憶手段になく、ネットワ
ークアクセス情報記憶手段にもない場合は、ネットワー
クインタフェース手段に対してデータアクセスのリクエ
ストの発行を指示し、ネットワークアクセス情報記憶手
段に当該データリクエストの情報を記憶し、データリク
エストに対応するリクエストデータ名がインデックス記
憶手段になく、ネットワークアクセス情報記憶手段にあ
る場合は、ネットワークアクセス情報記憶手段に記憶さ
れている当該リクエストのデータアクセスが終了するま
でデータリクエストに対する処理を延期する。
【0022】アプリケーションリクエスト処理手段は、
アプリケーションからプロセス間通信により受信したデ
ータリクエストに対応するリクエストデータ名がインデ
ックス記憶手段になく、ネットワークアクセス情報記憶
手段にある場合は、ネットワークアクセス情報記憶手段
に記憶されている当該リクエストのデータアクセスが終
了するまでデータリクエストに対する処理を延期する。
したがって、アプリケーションは当該リクエストのデー
タアクセスが終了すれば、このデータアクセスによって
得られたリクエストデータを受信することが可能にな
る。
【0023】請求項5に記載のネットワークキャッシュ
装置は、請求項2に記載のネットワークキャッシュ装置
であって、キャッシュ管理手段は、インデックス記憶手
段にインデックス情報を記憶する際記憶手段にも同じイ
ンデックス情報を記憶し、記憶手段に格納されたリクエ
ストデータを更新する際更新された情報を付加したイン
デックス情報を記憶手段に追加し、所定のタイミングで
更新された情報を付加したインデックス情報を参照して
記憶手段に記憶されたインデックス情報を再構築する。
【0024】キャッシュ管理手段は、リクエストデータ
を更新する際更新された情報を付加したインデックス情
報を記憶手段に追加するのみであるので、処理速度が速
くなり、アプリケーションがレスポンスデータを速く受
信することが可能となる。
【0025】請求項6に記載のネットワークキャッシュ
装置は、請求項2に記載のネットワークキャッシュ装置
であって、キャッシュ管理手段は、インデックス記憶手
段にインデックス情報を記憶する際当該リクエストデー
タがアクセスされた時刻も記憶し、記憶手段に記憶され
たリクエストデータの総容量が所定値を超えた場合に、
総容量が所定値以下になるまでアクセスされた時刻が古
いリクエストデータを順次消去する。
【0026】キャッシュ管理手段は、記憶手段に記憶さ
れたリクエストデータのうち時刻が古いリクエストデー
タを順次消去するので、効率よくリクエストデータをキ
ャッシュすることが可能となる。
【0027】請求項7に記載のネットワークキャッシュ
装置は、請求項2に記載のネットワークキャッシュ装置
であって、キャッシュ管理手段は、ネットワークインタ
フェース手段によって受信されたレスポンスデータを記
憶手段に記憶する際、1つのキャッシュファイルに複数
のレスポンスデータを記憶する。
【0028】キャッシュ管理手段は、1つのキャッシュ
ファイルに複数のレスポンスデータを記憶するので、キ
ャッシュファイル数を減らすことが可能となる。したが
って、キャッシュファイル数に制限があるシステムの場
合でも、効率よくレスポンスデータをキャッシュするこ
とが可能となる。
【0029】請求項8に記載のネットワークキャッシュ
装置は、請求項7に記載のネットワークキャッシュ装置
であって、キャッシュ処理手段はさらに、キャッシュフ
ァイルがアクセスされた時刻がキャッシュ管理手段によ
って記憶されるキャッシュファイル情報記憶手段を含
み、キャッシュ管理手段は、記憶手段に記憶されたリク
エストデータの総容量が所定値を超えた場合に総容量が
所定値以下になるまでアクセスされた時刻が古いキャッ
シュファイルを順次消去する。
【0030】キャッシュ管理手段は、アクセスされた時
刻が古いキャッシュファイルを順次消去するので、効率
よくキャッシュファイルを作成することが可能となる。
【0031】請求項9に記載のネットワークキャッシュ
装置は、請求項7に記載のネットワークキャッシュ装置
であって、キャッシュ処理手段はさらに、キャッシュフ
ァイルの書込オープン状態が記憶されるキャッシュファ
イル情報記憶手段を含み、キャッシュ管理手段は、ネッ
トワークインタフェース手段によって受信されたレスポ
ンスデータをキャッシュファイルに記憶する際、キャッ
シュファイル情報記憶手段に記憶された書込オープン状
態を参照してレスポンスデータを記憶するキャッシュフ
ァイルを決定する。
【0032】キャッシュ管理手段は、キャッシュファイ
ル情報記憶手段に記憶された書込オープン状態を参照し
てレスポンスデータを記憶するキャッシュファイルを決
定するので、キャッシュファイルの内容が破壊されるの
を防ぐことが可能となる。
【0033】請求項10に記載のネットワークキャッシ
ュ方法は、ネットワークに対してデータアクセスのリク
エストを発行し、リクエストに対するレスポンスデータ
を受信するステップと、ネットワークから受信したレス
ポンスデータを記憶するステップと、アプリケーション
からプロセス間通信によりデータリクエストを受信し、
データリクエストに対応するレスポンスデータが記憶さ
れている場合は、ネットワークに対してデータアクセス
のリクエストを発行せず、データリクエストに対応する
レスポンスデータが記憶されていない場合は、ネットワ
ークに対してデータアクセスのリクエストを発行するス
テップとを含む。
【0034】
【発明の実施の形態】図1は、本発明の実施の形態にお
けるネットワークキャッシュ装置の構成を示すブロック
図である。ネットワークキャッシュ装置は、ネットワー
ク8と接続されており、装置全体を制御するためのCP
U(Central Processing Unit )1と、アプリケーショ
ンおよびネットワークキャッシュ装置を制御するプログ
ラムを記憶するためのメモリ2と、ユーザがアプリケー
ションを操作するためのキーボード、マウスあるいはペ
ンなどの入力装置3と、画面表示を行なうためのディス
プレイ4と、ハードディスクなどの外部記憶装置5と、
ネットワーク8に対してデータアクセスのリクエストを
発行し、リクエストに対するレスポンスデータを受信す
るためのネットワーク装置6と、ネットワークキャッシ
ュ装置を制御するプログラムを記録した媒体7の駆動部
(図示せず)とを含む。
【0035】ネットワークキャッシュ制御プログラム
は、CPU1によって一端外部記憶装置5に格納され
る。CPU1は、適宜外部記憶装置5からネットワーク
キャッシュ制御プログラムをメモリ2内にロードして実
行することによってネットワークキャッシュ装置が動作
を行なう。
【0036】メモリ2は、複数のアプリケーション22
と、ネットワークキャッシュ処理部(ネットワークキャ
ッシュ制御プログラム)とを含む。さらに、ネットワー
クキャッシュ処理部21は、ネットワーク装置6に対し
てデータアクセスのリクエストを発行するよう指示を
し、このリクエストに対するレスポンスデータをネット
ワーク装置6から受取るためのネットワークインタフェ
ース部25、ネットワークインタフェース部25からレ
スポンスデータを受取ってキャッシュデータとして外部
記憶装置5に格納し、外部記憶装置5内に格納された当
該キャッシュデータの格納場所等を管理するためのキャ
ッシュ管理部26、アプリケーション22からのデータ
アクセスのリクエストを受信し必要に応じてネットワー
クインタフェース部25に対してデータアクセスのリク
エストの発行を指示するためのアプリケーションリクエ
スト処理部27、キャッシュ管理部26からレスポンス
データを受取りアプリケーション22へ送出するための
レスポンスデータ処理部28、外部記憶装置5内にキャ
ッシュされたデータのインデックス情報を記憶するため
のキャッシュインデックス記憶部201、外部記憶装置
5内のキャッシュファイルの名前、サイズ等の情報を記
憶するためのキャッシュファイル情報記憶部202、お
よびネットワーク8に対してアクセス中のデータの情報
を記憶するためのネットワークアクセス情報記憶部20
3を含む。
【0037】また、外部記憶装置5は、キャッシュデー
タを記憶するためのキャッシュデータ記憶領域51と、
キャッシュデータのインデックス情報を記憶するための
キャッシュインデックス記憶領域52とを含む。
【0038】図2は、キャッシュデータ記憶領域51に
記憶されるキャッシュファイルの構造を示している。キ
ャッシュファイルは、ネットワーク8を介して受信した
1レスポンスデータにつき1ファイルの構成も可能であ
るが、本実施の形態では図2に示すように1つのファイ
ルに複数のレスポンスデータをまとめて記録する構成を
採る。また、使用されるファイルシステムに合わせてキ
ャッシュファイル数の制限値(以下、CACHE_NU
M_LIMITと称す)およびキャッシュファイルの総
容量制限値(以下、CACHE_SIZE_LIMIT
と称す)が予め設定される。
【0039】図3は、キャッシュインデックス記憶部2
01に記憶されるキャッシュインデックス情報のデータ
構造の一例を示している。キャッシュインデックス記憶
部201にはキャッシュされているデータのそれぞれに
ついて、キャッシュされているデータの名称(リクエス
トデータ名)、当該データが格納されているキャッシュ
ファイル名、キャッシュファイルの先頭に対する当該デ
ータの先頭オフセット値、キャッシュファイルの先頭に
対する当該データの末尾位置のオフセット値、および当
該データが最後にアクセスされた時刻が記憶されてい
る。
【0040】図4は、キャッシュファイル情報記憶部2
02に記憶されるキャッシュファイル情報のデータ構造
の一例を示している。キャッシュファイル情報記憶部2
02にはキャッシュファイルのそれぞれについて、キャ
ッシュファイル名、キャッシュファイルのファイルサイ
ズ、キャッシュファイルが書込オープン中であるか否か
を示すフラグ、および当該キャッシュファイルが最後に
アクセスされた時刻が記憶されている。なお、キャッシ
ュファイルは初期状態では、キャッシュファイル数の制
限値(CACHE_NUM_LIMIT)の数だけ予め
キャッシュファイル名を決めておき、ファイルサイズ0
で生成しておくものとする。
【0041】図5は、ネットワークアクセス情報記憶部
203に記憶されるネットワークアクセス情報のデータ
構造の一例を示している。ネットワークアクセス情報記
憶部203にはその時点でネットワークに対してオープ
ンがかかっているそれぞれのリクエストについて、オー
プンをかけたアプリケーションID、リクエストID、
リクエストされているデータの名称(リクエストデータ
名)、リクエストデータが書込まれるキャッシュファイ
ル名、キャッシュファイルの先頭に対するリクエストデ
ータの先頭のオフセット値、およびネットワークに対し
てオープンをかけたときのネットワークオープンID
(たとえば、通信ソケットのファイルディスクリプタ)
が記憶されている。
【0042】図6(a)はアプリケーション22からネ
ットワークキャッシュ処理部21にプロセス間通信キュ
ーを利用して送出されるデータリクエストメッセージ
を、図6(b)はネットワークキャッシュ処理部21か
らアプリケーション22に送出されるレスポンスメッセ
ージのデータ構造の一例を示す図である。データリクエ
ストメッセージにはリクエストを発行したアプリケーシ
ョンID(その値はレスポンスを受取るメッセージキュ
ーのIDをそのまま用いる)、アプリケーション22が
付加するリクエストID、およびリクエストされるデー
タの名称(リクエストデータ名)が書かれている。ま
た、レスポンスメッセージには、リクエストID、レス
ポンスデータが格納される共有メモリ等の先頭アドレス
およびレスポンスデータのサイズが書かれている。
【0043】図7は、ネットワークキャッシュ処理部2
1の処理手順の概略を示すフローチャートである。ネッ
トワークキャッシュ処理部21は、通常アプリケーショ
ンリクエスト処理部27にアプリケーション22からデ
ータリクエストメッセージが届くというイベントと、ネ
ットワークインタフェース部25にネットワークからデ
ータが到着するというイベントとを監視するイベント待
ちにある(step00)。イベントが発生すれば、当
該イベントがメッセージイベントであるか否かを判定
し、メッセージイベントであれば(step01,ye
s)、メッセージイベント処理を行ない(step0
2)、再びイベント待ちとなる(step00)。ま
た、当該イベントがメッセージイベントでなければ(s
tep01,no)、ネットワーク8からのデータ到着
イベントであるか否かを判定し当該イベントがデータ到
着イベントであれば(step03,yes)、データ
到着イベント処理を行ない(step04)、再びイベ
ント待ちとなる(step00)。また、当該イベント
がデータ到着イベントでなければ(step03,n
o)、再びイベント待ちとなる(step00)。
【0044】図8は、図7に示すメッセージイベント処
理の処理手順を示すフローチャートである。アプリケー
ション22がデータアクセスのリクエストを発行すると
き、アプリケーション22はプロセス間通信キュ−を利
用しアプリケーションリクエスト処理部27に対して図
6(a)に示すようなデータリクエストメッセージを送
出する。アプリケーションリクエスト処理部27がデー
タリクエストメッセージを受取ると、図3に示すキャッ
シュインデックス情報を検索し、キャッシュインデック
ス情報のリクエストデータ名にアプリケーション22が
要求してきたリクエストデータ名と一致する項目がある
か否かを調べる(step11)。
【0045】キャッシュインデックス情報内に一致する
リクエストデータ名があれば(step11,ye
s)、キャッシュデータ記憶領域51内に今回のリクエ
ストデータが存在することを表わしている。この場合、
アプリケーションリクエスト処理部27は、その項目の
最終アクセス時刻の内容をそのときの時刻に更新する
(step12)。また、図4に示すキャッシュファイ
ル情報内のオープンしたキャッシュファイルについても
最終アクセス時刻の内容をそのときの時刻に更新する
(step13)。
【0046】次に、図3に示すキャッシュインデックス
情報を参照し、キャッシュデータ記憶領域51内のその
項目があるキャッシュファイルをオープンし、データ先
頭オフセットからデータ末尾オフセットまでのデータを
アプリケーション22からアクセス可能な共有メモリ領
域にコピーする(step14)。そして、リクエスト
ID(データリクエストメッセージに書かれていたリク
エストID)と共有メモリ領域に書込まれた当該キャッ
シュデータのデータ先頭アドレスおよびデータサイズと
を書込んだレスポンスメッセージを作成し、アプリケー
ションIDが示すアプリケーションのメッセージキュー
に書込む(step15)。そして、データ終了メッセ
ージ(たとえば、データリクエストメッセージに書かれ
ていたリクエストIDおよびデータサイズとして−1を
書込んだレスポンスメッセージ)をアプリケーションI
Dが示すアプリケーションのメッセージキューに書込み
(step16)、イベント待ちに戻る(step0
0)。
【0047】アプリケーション22では、このレスポン
スメッセージを受信して、レスポンスメッセージ中のリ
クエストIDを検出することによって、どのリクエスト
データに対するレスポンスメッセージなのかがわかる。
アプリケーション22は、データ先頭アドレスとデータ
サイズとから共有メモリに書込まれたリクエストデータ
にアクセスすることができる。このように、リクエスト
データがキャッシュデータ記憶領域51内にある場合
は、ネットワーク8に対するデータアクセスが行なわれ
ないのでアクセス速度が速い。
【0048】また、キャッシュインデックス情報内に一
致するリクエストデータ名がなければ(step11,
no)、キャッシュデータ記憶領域51内にリクエスト
データがキャッシュされていないことを表わしている。
この場合、アプリケーションリクエスト処理部27は、
ネットワークオープン処理を行なう(step17)。
【0049】図9は、図8に示すネットワークオープン
処理の処理手順を示すフローチャートである。まず、ア
プリケーションリクエスト処理部27は、図5に示すネ
ットワークアクセス情報を検索し、ネットワークアクセ
ス情報内にアプリケーション22が要求してきたリクエ
ストデータ名と一致する項目があるか否かを調べる(s
tep21)。
【0050】ネットワークアクセス情報内に一致するリ
クエストデータ名があれば(step21,yes)、
以前のリクエストによって同じリクエストデータをネッ
トワークに対してオープン中(アクセス中)であること
を表わしている。このとき、アプリケーションリクエス
ト処理部27は、図5に示すネットワークアクセス情報
にアプリケーションID、リクエストID、リクエスト
データおよび書込キャッシュファイル名=SUSPEN
Dというデータを追加する(step22)。このデー
タは、当該リクエストに対する処理を保留したことを表
わしている。この保留については後述する。アプリケー
ションリクエスト処理部27は、ネットワークインタフ
ェース部25に対して当該リクエストを発行せずに、イ
ベント待ちに戻る(step00)。
【0051】また、ネットワークアクセス情報内に一致
するリクエストデータ名がなければ(step21,n
o)、リクエストデータをネットワークに対してオープ
ンするという一連の処理を行なう。また、同時に平行し
てネットワークに対してオープンできるリクエストの最
大数(以下、NET_OPEN_MAXと称す)を予め
キャッシュファイル数の制限値CACHE_NUM_L
IMIT以下に設定しておくものとする。
【0052】まず、アプリケーションリクエスト処理部
27は、ネットワークアクセス情報を参照し、ネットワ
ークオープン中のリクエスト数をカウントしてその数が
NET_OPEN_MAXと等しいか否かを調べる(s
tep23)。ネットワークオープン中のリクエスト数
がNET_OPEN_MAXと等しい場合(step2
3,yes)は、それ以上ネットワークオープンをせず
に、エラーレスポンスメッセージ(たとえば、データリ
クエストメッセージに書かれていたリクエストIDおよ
びデータサイズに0を書込んだレスポンスメッセージ)
をアプリケーションIDに示されるアプリケーションの
メッセージキューに書込む(step24)。
【0053】また、ネットワークオープン中のリクエス
ト数がNET_OPEN_MAXより小さい場合(st
ep23,no)、アプリケーションリクエスト処理部
27は、ネットワーク8からリクエストに対するレスポ
ンスデータを受信したときにどのキャッシュファイルに
レスポンスデータを書込むかを決定する(step2
5)。具体的には、図4に示すキャッシュファイル情報
を検索し、以下の条件を満たすキャッシュファイルca
cheXを検出する。
【0054】(1) ファイルサイズが“キャッシュフ
ァイルの総容量制限値(CACHE_SIZE_LIM
IT)/キャッシュファイル数の制限値(CACHE_
NUM_LIMIT)”より小さい。
【0055】(2) 書込オープン中でない。 (3) 上記(1)および(2)の条件を満たすキャッ
シュファイルの中で最終アクセス時刻が最も最近であ
る。
【0056】なお、NET_OPEN_MAX≦CAC
HE_NUM_LIMITとしているので、上記(1)
〜(3)の条件を満たすようなキャッシュファイル項目
がキャッシュファイル情報内に必ず存在する。そして、
アプリケーションリクエスト処理部27は、図5に示す
ネットワークアクセス情報に“アプリケーションID=
データリクエストメッセージ内のアプリケーションI
D”、“リクエストID=データリクエストメッセージ
内のリクエストID”、“リクエストデータ=データリ
クエストメッセージ内のリクエストデータ”、“書込キ
ャッシュファイル名=cacheX”、“データ先頭オ
フセット=キャッシュファイル情報内のcacheXの
ファイルサイズ”という項目を追加する(step2
6)。次に、ネットワークインタフェース部25がネッ
トワーク装置6を介してリクエストデータをネットワー
ク8に対してオープンし、ネットワークアクセス情報内
のネットオープンIDにネットワークオープンに対応す
るIDを記録する(step27)。そして、イベント
待ちに戻る(step00)。
【0057】図10は、図7のデータ到着イベント処理
の処理手順を示すフローチャートである。ネットワーク
インタフェース部25は、ネットワーク装置6を介して
ネットワーク8に対してオープンされたリクエストに対
するレスポンスデータをネットワーク8から受信する。
ネットワーク8からのレスポンスデータは、いくつかの
データパケットに分けて送られてくる。そして、最後に
データ終了を表わすデータ終了パケットが送られてく
る。キャッシュ管理部26がネットワークインタフェー
ス部25から受取ったレスポンスデータに対するネット
オープンIDを、図5に示すネットワークアクセス情報
内で検索することによって、どのリクエストに対するレ
スポンスデータなのかを判別できる(ネットワークアク
セス情報内には必ずネットオープンIDが一致する項目
が1つだけ存在する。この一致する項目をcとする)。
【0058】ネットワーク8から受信したレスポンスデ
ータがデータパケットである場合(step31,ye
s)、キャッシュ管理部26はネットワークアクセス情
報内の項目cの書込キャッシュファイル名に示されるキ
ャッシュファイルに受信したレスポンスデータを書込み
(step32)、キャッシュファイル情報内のキャッ
シュファイル名がcacheXの項目のファイルサイズ
の値に今回キャッシュファイルXに書込んだデータサイ
ズを加算して更新する(step33)。次に、レスポ
ンスデータ処理部28が受取ったデータを共有メモリに
コピーし(step34)、共有メモリに書込んだデー
タの先頭アドレス、データサイズおよび項目cのリクエ
ストIDから図6に示すレスポンスメッセージを作成す
る。そして、項目cのアプリケーションIDに示される
アプリケーション22のメッセージキューに書込み(s
tep35)、イベント待ちに戻る(step00)。
【0059】また、ネットワーク8から受信したレスポ
ンスデータがデータ終了パケットである場合(step
31,no)、レスポンスデータの受信終了に伴うリク
エスト終了処理(step37)を行なう。
【0060】図11は、図10のリクエスト終了処理の
処理手順を示すフローチャートである。キャッシュ管理
部26は、ネットワークアクセス情報の項目cを参照
し、項目cのリクエストデータ、書込キャッシュファイ
ル名、およびデータ先頭オフセットを用いてキャッシュ
インデックス情報内に今回のリクエストに関するインデ
ックス情報を追加する。追加したインデックス情報のデ
ータ末尾オフセットは、“キャッシュファイルサイズ−
1”とし、最終アクセス時刻にそのときの時刻を書込む
(step41)。
【0061】また、キャッシュファイル情報についても
最終アクセス時刻をそのときの時刻に更新し、書込オー
プンフラグをOFFにする(step42)。
【0062】次に、キャッシュ管理部26は、キャッシ
ュファイル情報を参照し、その時点でのキャッシュファ
イル総容量を計算する(step43)。キャッシュフ
ァイル総容量は、キャッシュファイル情報のすべての項
目のファイルサイズの総和で求められる。そして、キャ
ッシュファイル総容量がキャッシュファイル総容量制限
値CACHE_SIZE_LIMITを超えているか否
かを判定する(step44)。キャッシュファイル総
容量がCACHE_SIZE_LIMITを超えている
場合(step44,yes)、今回のリクエストデー
タのキャッシュファイルcacheXへの書込で、キャ
ッシュファイル総容量制限値を超えたことを意味してい
る。この場合、総容量制限値以下になるまで古いキャッ
シュファイルの消去処理を行なう(step45)。た
とえば、キャッシュファイル情報内で、“ファイルサイ
ズが0でない”かつ“書込オープン中でない”ファイル
に対して、最終アクセス時刻が古いものから順番に、キ
ャッシュ総容量がキャッシュ総容量制限値CACHE_
SIZE_LIMIT以下になるまでキャッシュファイ
ルを消去する。
【0063】ステップstep45のキャッシュファイ
ル消去処理は、キャッシュ管理部26によって行なわ
れ、キャッシュファイルの中身を消去してキャッシュフ
ァイル情報のファイルサイズを0にし、最終アクセス時
刻を“00.00.00 00:00:00”に更新す
る。併わせて、キャッシュインデックス情報において、
各項目のキャッシュファイル名を調べ、中身を消去した
キャッシュファイル内に記憶されていたリクエストデー
タに関する項目をキャッシュインデックス情報から削除
する。
【0064】次に項目cのアプリケーションIDに示さ
れるアプリケーションに対してデータ終了のレスポンス
メッセージをメッセージキューに書込み(step4
6)、保留リクエスト再開処理を行なう(step4
7)。保留リクエスト再開処理が終了すると、ネットワ
ークアクセス情報の項目cを消去し(step48)、
イベント待ちに戻る(step00)。
【0065】図12は、図11に示す保留リクエスト再
開処理の処理手順を示すフローチャートである。ネット
ワークアクセス情報内に“項目cとリクエストデータ名
が同じ”かつ“キャッシュファイル名=SUSPEN
D”という項目を検索する(step51)。該当する
項目がなければ(step51,no)、そのままst
ep48へ進む。該当する項目があれば(step5
1,yes)、その項目を項目sとし、項目sのアプリ
ケーションIDとリクエストIDとリクエストデータ名
とによってデータリクエストメッセージを作成する(s
tep52)。作成されたデータリクエストメッセージ
をアプリケーションリクエスト処理部27のデータリク
エストメッセージ受信キューに書込み(step5
3)、ネットワークアクセス情報から項目sを削除する
(step54)。そして、ネットワークアクセス情報
内に“項目cとリクエストデータ名が同じ”かつ“キャ
ッシュファイル名=SUSPEND”という項目がなく
なるまでstep51〜step54の処理を繰返す。
【0066】ステップstep53において書込まれた
データリクエストメッセージによって、保留されていた
リクエストの処理がアプリケーションリクエスト処理部
21によって再開される。このように、リクエストデー
タをネットワーク8に対して書込オープンする際に、同
じリクエストをネットワーク8に対してオープン中であ
る場合には、後のリクエストに対する処理を先に発行さ
れたリクエストに対する処理が終了するまで延期した後
再開することで、後のリクエストはネットワーク8経由
でなくキャッシュデータ記憶領域51経由でリクエスト
データが返されることで、後のリクエストに対するデー
タアクセスを速くすることが可能となる。
【0067】本実施の形態においては、図1に示すよう
にメモリ2内のキャッシュインデックス記憶部201の
キャッシュインデックス情報と同じ情報をキャッシュイ
ンデックス記憶領域52内にファイルとして記憶され
る。これは、本実施の形態におけるネットワークキャッ
シュ装置を再起動したときに、前回までのキャッシュイ
ンデックス情報をキャッシュインデックス記憶領域52
のキャッシュインデックスファイルから読込むことによ
って、前回の処理終了時までのキャッシュデータを利用
することが可能になる。キャッシュインデックスファイ
ルの更新は、キャッシュインデックス記憶部201内の
キャッシュインデックス情報の更新と同時に行なう。概
念的には、以下の処理によりキャッシュインデックス情
報の更新が行なわれる。
【0068】(1) step37におけるリクエスト
終了処理でのキャッシュインデックス情報への項目追加
処理(step41)時に、追加した項目をキャッシュ
インデックス記憶領域52内のキャッシュインデックス
ファイルにも追加する。
【0069】(2) step37におけるリクエスト
終了処理でのキャッシュインデックス情報からの項目削
除処理(step45)時に、削除した項目をキャッシ
ュインデックス記憶領域52内のキャッシュインデック
スファイルからも削除する。
【0070】(3) step01におけるメッセージ
イベント処理でのキャッシュインデックス情報の最終ア
クセス時刻更新処理(step13)時に、キャッシュ
インデックス記憶領域52内のキャッシュインデックス
ファイルの最終アクセス時刻も更新する。
【0071】ここで、キャッシュインデックスファイル
における(1)の追加処理は、キャッシュインデックス
ファイルに項目情報をアペンドすればよい。しかし、
(2)の一部削除処理と、(3)の一部更新処理は、フ
ァイルオペレーションでは簡単に実現できない。
【0072】そこで、(2)および(3)の場合に、キ
ャッシュインデックス記憶部21のキャッシュインデッ
クス情報とキャッシュインデックス記憶領域52のキャ
ッシュインデックスファイルの等価性を保つ方法とし
て、一度キャッシュインデックスファイルを消去し、改
めてキャッシュインデックス記憶部21のキャッシュイ
ンデックス情報をすべてキャッシュインデックスファイ
ルに書き写す(インデックスダンプ)ことが考えられ
る。
【0073】しかし、(2)および(3)の場合に毎回
インデックスダンプを行なうのは、ファイルオペレーシ
ョンに非常に時間がかかり、アプリケーションへのレス
ポンスデータの送出が遅くなる。そこで(2)、(3)
の場合は、図13に示すようなリクエストデータの変更
を示す項目をキャッシュインデックスファイルに追加す
ることにする。図13(a)はリクエストデータの削除
を示す項目で、キャッシュファイル名に“DELETE
D”が書かれていることで、リクエストデータ“htt
p://www.foo.com”がキャッシュファイ
ルから消去されたことを表わす。
【0074】図13(b)は、リクエストデータの最終
アクセス時刻の更新を示す項目で、キャッシュファイル
名に“ACCESSED”が書かれていることで、リク
エストデータ“http://www.bar.co
m”が時刻“96.08.3112:15:00”にア
クセスされたことを表わしている。
【0075】ただし、その都度項目が追加されて、キャ
ッシュインデックスファイルが肥大化するのを防ぐた
め、適当なタイミングで(たとえば、(1)、(2)お
よび(3)の処理回数をカウントし、処理回数が所定の
数となるごとに、あるいは初期化処理の時点等)インデ
ックスダンプ処理を行なう。
【0076】図14は、キャッシュインデックス情報の
初期化処理の処理手順を示すフローチャートである。ネ
ットワークキャッシュ装置の再起動時に前回までのキャ
ッシュデータを利用するためには、キャッシュインデッ
クス情報とキャッシュインデックスファイルの初期化を
行ない、前回までのキャッシュインデックス情報を再構
築する。
【0077】キャッシュインデックス情報の初期化処理
では、キャッシュインデックスファイル内にまだ読出し
ていない項目があるか否かを判定し(step61)、
読出していない項目がなくなるまで(step61,n
o)step62〜step67の処理を繰返す。
【0078】まず、キャッシュインデックスファイルか
ら次の1項目を読出す(step62)。読出した項目
のキャッシュファイル名に“DELETED”または
“ACCESSED”のいずれも書かれていない場合
(step63,yes)は、当該項目は上述したリク
エスト終了処理でのキャッシュインデックス情報への項
目追加処理時に追加された項目であり、当該項目の内容
をそのままキャッシュインデックス情報に登録する(s
tep64)。キャッシュファイル名に“DELETE
D”が書かれている場合(step65,yes)は、
上述したリクエスト終了処理でのキャッシュインデック
ス情報からの項目削除処理時に追加された項目であり、
当該項目のリクエストデータと同じリクエストデータ名
の項目をキャッシュインデックス情報内で検索し削除す
る(step66)。キャッシュファイル名に“ACC
ESSED”が書かれている場合は(step65,n
o)、メッセージイベント処理でのキャッシュインデッ
クス情報の最終アクセス時刻更新処理時に追加された項
目であり、当該項目の最終アクセス時刻によってその項
目のリクエストデータと同じリクエストデータ名を含む
キャッシュインデックス情報内の項目の最終アクセス時
刻を更新する(step67)。
【0079】図15は、キャッシュファイル情報の初期
化の処理手順を示すフローチャートである。まず、キャ
ッシュファイル情報の一番目からCACHE_NUM_
LIMIT番目までのすべての項目について、“ファイ
ルサイズ=当該キャッシュファイルのファイルサイ
ズ”、“書込オープンフラグ=OFF”および“最終ア
クセス時刻=00.00.00 00:00:00”と
いう初期値にセットする(step71)。キャッシュ
ファイルのファイルサイズは、キャッシュインデックス
情報内の同じキャッシュファイル名の項目の中でデータ
末尾オフセット値が最大の値を検出し、“1”を加算し
て求めることができる。
【0080】次に、キャッシュインデックス情報内にま
だ読出していない項目があるか否かを判定し(step
72)、読出していない項目がなくなるまで(step
72,no)、step73〜step75の処理を繰
返す。
【0081】まず、キャッシュインデックス記憶部20
1のキャッシュインデックス情報から次の1項目を読出
す(step73)。読出した項目の最終アクセス時刻
(T1)と読出した項目が格納されるキャッシュファイ
ルのキャッシュファイル情報における最終アクセス時刻
(T2)とを比較する(step74)。T2よりT1
の方が最近である場合(step74,yes)、読出
した項目が格納されるキャッシュファイルのキャッシュ
ファイル情報における最終アクセス時刻T2をT1に書
換える(step75)。
【0082】図16は、本実施の形態におけるネットワ
ークキャッシュ装置の応用例を示す図である。本応用例
は、データ先読みアプリケーション220とWWWブラ
ウザなどのデータブラウザ221とを含む。データ先読
みアプリケーション220は、ユーザがこれから見るデ
ータに対してデータブラウザ221とは別にネットワー
クキャッシュ処理部21に対してデータリクエストを発
行する。
【0083】たとえば、データブラウザ221は、予め
参照したいリクエストデータのリストを外部記憶装置5
内に記憶させておき、ユーザがデータブラウザ221に
よってデータを参照中に、データ先読みアプリケーショ
ン220は同時にリストに挙げられたデータのデータリ
クエストを順次発行することにより、ネットワークキャ
ッシュ処理部21を介して外部記憶装置5内にリストに
挙げられたデータが格納される。このため、ユーザがデ
ータブラウザ221で最初のデータを参照し終え、次の
データを参照する際には図17に示すように、そのデー
タはネットワーク8からでなく外部記憶装置5から転送
される。すなわち、データブラウザ221からのデータ
リクエストに対しては、ネットワーク8に対するアクセ
スが発生しないので、ユーザはデータを快適に参照でき
る。
【0084】なお、別アプリケーションでデータ先読み
を実現しても、外部記憶装置5に記憶されたキャッシュ
データがデータブラウザ221から参照可能なのは、本
発明のネットワークキャッシュ装置が複数のプロセスか
ら同時に複数の要求を受付けても、キャッシュデータの
整合性を保ちながら動作できるという特徴があるからで
ある。
【0085】なお、本発明ではデータがキャッシュされ
ていれば必ずキャッシュデータが返されるが、ネットワ
ークキャッシュ処理部21において、ネットワーク8を
介してまず所望リクエストデータの更新日時を取寄せ、
更新されていればネットワーク8を介してリクエストデ
ータを受信し、更新されていなければキャッシュファイ
ルからリクエストデータを受信するモードを追加するこ
とが容易に実現できる。WWWブラウザでよく参照され
る新聞のページがあるが、ページとしてたとえば天気予
報のページやスポーツ結果のページなどよく見るページ
をリストしておき、上述したモードを用いて先読みさせ
ることにより、ユーザはネットワーク8へのアクセス待
ちに煩わされることなく所望のページの最新のデータを
参照できる。
【0086】また、図16〜図17の例では、データ先
読みアプリケーション220およびデータブラウザ22
1の2つのアプリケーションを示しているが、それ以外
のアプリケーションも同時にネットワークキャッシュ処
理部21にアクセスできる。たとえば上述した2つのア
プリケーションと同時に不図示のデータ検索アプリケー
ションがデータリクエストを発行し、そのデータ内に、
あるキーワードが含まれているリクエストデータを探す
という処理を行なうことも可能である。
【0087】以上説明したように、本実施の形態におけ
るネットワークキャッシュ装置によれば次のような効果
が得られる。
【0088】アクセス頻度の高いリクエストデータは、
キャッシュデータ記憶領域51内にキャッシュデータと
して格納され、キャッシュデータ記憶領域51内に記憶
されたリクエストデータに対するアクセス要求にかかる
通信は、アプリケーション22からのリクエストおよび
アプリケーション22へのレスポンスともにプロセス間
通信によって迅速に処理されるので、データアクセス速
度を速くすることが可能となる。
【0089】リクエストデータ自体をアプリケーション
22へ送出するのではなく、共有メモリ領域へのポイン
タとデータサイズのみをメッセージ通信でアプリケーシ
ョン22へ送出するので、データアクセス速度を速くす
ることが可能となる。
【0090】リクエストデータをネットワーク8に対し
て書込オープンする際に、同じリクエストをネットワー
ク8に対してオープン中である場合には、後のリクエス
トに対する処理を先に発行されたリクエストに対する処
理が終了するまで延期した後再開することで、後のリク
エストはネットワーク8経由でなくキャッシュデータ記
憶領域51経由でリクエストデータが返されることで、
後のリクエストに対するデータアクセスを速くすること
が可能となる。
【0091】キャッシュインデックス情報をメモリ2お
よび外部記憶装置5上で記憶することによって、電源オ
フ時やメモリ2内のキャッシュインデックス情報が失わ
れた場合にも、再起動時にファイル形式のキャッシュイ
ンデックス情報をメモリ2内のキャッシュインデックス
情報に書込むことによってキャッシュインデックス情報
を回復でき、前回までのキャッシュデータを利用するこ
とができる。また、キャッシュインデックス情報の更新
の際に、変更があった内容をキャッシュインデックス情
報ファイルに書き加えるのみであるので、毎回キャッシ
ュインデックス情報をファイルに書込むよりもファイル
オペレーションが少なくなり、アプリケーション22の
データアクセスを速く処理することが可能となる。
【0092】キャッシュファイルの総容量が制限値を超
えてキャッシュデータを消去する際に、最も長い間アク
セスされていないリクエストデータから順に消去される
ので、アプリケーション22によって頻繁にアクセスさ
れるリクエストデータが優先的にキャッシュデータ記憶
領域51に残ることになり、平均のデータアクセスを速
くすることが可能となる。
【0093】1つのキャッシュファイルに複数のリクエ
ストデータを書込むことで、使用できるキャッシュファ
イル数に制限があるシステムにおいてもネットワークキ
ャッシュ装置を構築でき、アプリケーションの平均のデ
ータアクセスを速くすることが可能となる。
【0094】キャッシュファイルの総容量が制限値を超
えてキャッシュファイルを消去する際に、最も長い間ア
クセスされていないキャッシュファイルから順に消去さ
れるので、アプリケーション22によって頻繁にアクセ
スされるキャッシュファイルが優先的にキャッシュデー
タ記憶領域51に残されることになり、平均のデータア
クセスを速くすることが可能となる。
【0095】並行して複数のデータアクセス要求があっ
た場合には、それぞれのレスポンスデータが同じキャッ
シュファイルに混ざって保存されることなく、それぞれ
別キャッシュファイルに保存されるので、複数のアプリ
ケーション22から並行して複数のデータアクセス要求
を受付けることが可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態におけるネットワークキャ
ッシュ装置の構成を示すブロック図である。
【図2】本実施の形態におけるキャッシュファイルの構
成を示す図である。
【図3】キャッシュインデックス記憶部201に記憶さ
れるキャッシュインデックス情報のデータ構造の一例を
示す図である。
【図4】キャッシュファイル情報記憶部202に記憶さ
れるキャッシュファイル情報のデータ構造の一例を示す
図である。
【図5】ネットワークアクセス情報記憶部203に記憶
されるネットワークアクセス情報のデータ構造の一例を
示す図である。
【図6】(a)は、アプリケーション22からネットワ
ークキャッシュ処理部21にプロセス間通信を利用して
送出されるデータリクエストメッセージのデータ構造の
一例を示す図である。(b)は、ネットワークキャッシ
ュ処理部21からアプリケーション22に送出されるレ
スポンスメッセージのデータ構造の一例を示す図であ
る。
【図7】ネットワークキャッシュ処理部21の処理手順
の概略を示すフローチャートである。
【図8】図7に示すメッセージイベント処理の処理手順
を示すフローチャートである。
【図9】図8に示すネットワークオープン処理の処理手
順を示すフローチャートである。
【図10】図7のデータ到着イベント処理の処理手順を
示すフローチャートである。
【図11】図10のリクエスト終了処理の処理手順を示
すフローチャートである。
【図12】図11に示す保留リクエスト再開処理の処理
手順を示すフローチャートである。
【図13】(a)は、リクエストデータの削除を示す項
目を示す図である。(b)は、リクエストデータの最終
アクセス時刻の更新を示す項目を示す図である。
【図14】キャッシュインデックス情報の初期化処理の
処理手順を示すフローチャートである。
【図15】キャッシュファイル情報の初期化の処理手順
を示すフローチャートである。
【図16】本実施の形態におけるネットワークキャッシ
ュ装置の応用例を示す図(その1)である。
【図17】本実施の形態におけるネットワークキャッシ
ュ装置の応用例を示す図(その2)である。
【図18】従来のネットワークキャッシュシステムの概
略構成を示す図である。
【符号の説明】
1 CPU 2 メモリ 3 入力装置 4 ディスプレイ 5 外部記憶装置 6 ネットワーク装置 7 媒体 8 ネットワーク 21 ネットワークキャッシュ処理部 22 アプリケーション 25 ネットワークインタフェース部 26 キャッシュ管理部 27 アプリケーションリクエスト処理部 28 レスポンスデータ処理部 51 キャッシュデータ記憶領域 52 キャッシュインデックス記憶領域

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 ネットワークに対してデータアクセスの
    リクエストを発行し、該リクエストに対するレスポンス
    データを受信するためのネットワークインタフェース手
    段と、 前記ネットワークインタフェース手段が受信したレスポ
    ンスデータを記憶するための記憶手段と、 アプリケーションからプロセス間通信によりデータリク
    エストを受信し、 前記データリクエストに対応するレスポンスデータが前
    記記憶手段に記憶されている場合は、前記ネットワーク
    インタフェース手段に対してデータアクセスのリクエス
    トの発行を指示せず、 前記データリクエストに対応するレスポンスデータが前
    記記憶手段に記憶されていない場合は、前記ネットワー
    クインタフェース手段に対してデータアクセスのリクエ
    ストの発行を指示するためのキャッシュ処理手段とを含
    むネットワークキャッシュ装置。
  2. 【請求項2】 前記キャッシュ処理手段は、前記リクエ
    ストに対応するリクエストデータ名と前記リクエストに
    対応するレスポンスデータが前記記憶手段内に記憶され
    る領域とがインデックス情報として記憶されるインデッ
    クス記憶手段と、 前記ネットワークインタフェース手段によって受信され
    たレスポンスデータを前記記憶手段に記憶し、該記憶さ
    れたレスポンスデータに対応するインデックス情報を前
    記インデックス記憶手段に記憶するためのキャッシュ管
    理手段と、 前記アプリケーションからプロセス間通信によりデータ
    リクエストを受信し、 前記データリクエストに対応するリクエストデータ名が
    前記インデックス記憶手段にある場合は、前記記憶手段
    に記憶された前記データリクエストに対応するリクエス
    トデータをプロセス間通信により前記アプリケーション
    へ送出し、 前記データリクエストに対応するリクエストデータ名が
    前記インデックス記憶手段にない場合は、前記ネットワ
    ークインタフェース手段に対してデータアクセスのリク
    エストの発行を指示するためのアプリケーションリクエ
    スト処理手段と、 前記ネットワークインタフェース手段によって受信され
    たレスポンスデータをプロセス間通信により前記アプリ
    ケーションへ送出するためのレスポンスデータ処理手段
    とを含む、請求項1記載のネットワークキャッシュ装
    置。
  3. 【請求項3】 前記レスポンスデータ処理手段は、前記
    ネットワークインタフェース手段によって受信されたレ
    スポンスデータを共有メモリ領域にコピーし、前記レス
    ポンスデータがコピーされた領域へのポインタと前記レ
    スポンスデータのデータサイズとを前記アプリケーショ
    ンへメッセージ通信する、請求項2記載のネットワーク
    キャッシュ装置。
  4. 【請求項4】 前記キャッシュ処理手段はさらに、前記
    ネットワークインタフェース手段が前記ネットワークに
    対してデータアクセス中のリクエストの情報が記憶され
    るネットワークアクセス情報記憶手段を含み、 前記アプリケーションリクエスト処理手段は、前記アプ
    リケーションからプロセス間通信によりデータリクエス
    トを受信し、 前記データリクエストに対応するリクエストデータ名が
    前記インデックス記憶手段にある場合は、前記記憶手段
    に記憶された前記データリクエストに対応するリクエス
    トデータをプロセス間通信により前記アプリケーション
    へ送出し、 前記データリクエストに対応するリクエストデータ名が
    前記インデックス記憶手段になく、前記ネットワークア
    クセス情報記憶手段にもない場合は、前記ネットワーク
    インタフェース手段に対してデータアクセスのリクエス
    トの発行を指示し、前記ネットワークアクセス情報記憶
    手段に当該データリクエストの情報を記憶し、 前記データリクエストに対応するリクエストデータ名が
    前記インデックス記憶手段になく、前記ネットワークア
    クセス情報記憶手段にある場合は、前記ネットワークア
    クセス情報記憶手段に記憶されている当該リクエストの
    データアクセスが終了するまで前記データリクエストに
    対する処理を延期する、請求項2記載のネットワークキ
    ャッシュ装置。
  5. 【請求項5】 前記キャッシュ管理手段は、前記インデ
    ックス記憶手段にインデックス情報を記憶する際、前記
    記憶手段にも同じインデックス情報を記憶し、前記記憶
    手段に格納されたリクエストデータを更新する際更新さ
    れた情報を付加したインデックス情報を前記記憶手段に
    追加し、所定のタイミングで前記更新された情報を付加
    したインデックス情報を参照して前記記憶手段に記憶さ
    れたインデックス情報を再構築する、請求項2記載のネ
    ットワークキャッシュ装置。
  6. 【請求項6】 前記キャッシュ管理手段は、前記インデ
    ックス記憶手段にインデックス情報を記憶する際当該リ
    クエストデータがアクセスされた時刻も記憶し、前記記
    憶手段に記憶されたリクエストデータの総容量が所定値
    を超えた場合に前記総容量が前記所定値以下になるまで
    前記アクセスされた時刻が古いリクエストデータを順次
    消去する、請求項2記載のネットワークキャッシュ装
    置。
  7. 【請求項7】 前記キャッシュ管理手段は、前記ネット
    ワークインタフェース手段によって受信されたレスポン
    スデータを前記記憶手段に記憶する際、1つのキャッシ
    ュファイルに複数のレスポンスデータを記憶する、請求
    項2記載のネットワークキャッシュ装置。
  8. 【請求項8】 前記キャッシュ処理手段はさらに、前記
    キャッシュファイルがアクセスされた時刻が前記キャッ
    シュ管理手段によって記憶されるキャッシュファイル情
    報記憶手段を含み、 前記キャッシュ管理手段は、前記記憶手段に記憶された
    リクエストデータの総容量が所定値を超えた場合に前記
    総容量が前記所定値以下になるまで前記アクセスされた
    時刻が古いキャッシュファイルを順次消去する、請求項
    7記載のネットワークキャッシュ装置。
  9. 【請求項9】 前記キャッシュ処理手段はさらに、前記
    キャッシュファイルの書込オープン状態が記憶されるキ
    ャッシュファイル情報記憶手段を含み、 前記キャッシュ管理手段は、前記ネットワークインタフ
    ェース手段によって受信されたレスポンスデータをキャ
    ッシュファイルに記憶する際、前記キャッシュファイル
    情報記憶手段に記憶された書込オープン状態を参照して
    前記レスポンスデータを記憶するキャッシュファイルを
    決定する、請求項7記載のネットワークキャッシュ装
    置。
  10. 【請求項10】 ネットワークに対してデータアクセス
    のリクエストを発行し、該リクエストに対するレスポン
    スデータを受信するステップと、 前記ネットワークから受信したレスポンスデータを記憶
    するステップと、 アプリケーションからプロセス間通信によりデータリク
    エストを受信し、 前記データリクエストに対応するレスポンスデータが記
    憶されている場合は、前記ネットワークに対してデータ
    アクセスのリクエストを発行せず、 前記データリクエストに対応するレスポンスデータが記
    憶されていない場合は、前記ネットワークに対してデー
    タアクセスのリクエストを発行するステップとを含むネ
    ットワークキャッシュ方法。
JP9015644A 1997-01-29 1997-01-29 ネットワークキャッシュ装置およびネットワークキャッシュ方法 Pending JPH10214217A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9015644A JPH10214217A (ja) 1997-01-29 1997-01-29 ネットワークキャッシュ装置およびネットワークキャッシュ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9015644A JPH10214217A (ja) 1997-01-29 1997-01-29 ネットワークキャッシュ装置およびネットワークキャッシュ方法

Publications (1)

Publication Number Publication Date
JPH10214217A true JPH10214217A (ja) 1998-08-11

Family

ID=11894434

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9015644A Pending JPH10214217A (ja) 1997-01-29 1997-01-29 ネットワークキャッシュ装置およびネットワークキャッシュ方法

Country Status (1)

Country Link
JP (1) JPH10214217A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250803A (ja) * 1999-03-02 2000-09-14 Toshiba Corp 情報配信システム、移動計算機、情報サーバ装置、キャッシュサーバ装置及び先読みキャッシュ処理方法
JP2005504398A (ja) * 2001-10-02 2005-02-10 シンビアン リミテッド モバイルウェブブラウジングデバイス
US7032004B2 (en) 1999-05-25 2006-04-18 Fujitsu Limited Communication traffic control system on LAN, communication traffic control method and recording medium storing communication traffic control program
WO2007013280A1 (ja) * 2005-07-29 2007-02-01 Access Co., Ltd. プラグインモジュール実行方法、ブラウザ実行方法、メーラ実行方法、プログラム、端末装置、及び、ページデータが記録されたコンピュータ読み取り可能な記録媒体
WO2008007533A1 (fr) * 2006-06-23 2008-01-17 Japan Wave. Inc. Procédé d'effacement de données et programme d'effacement de données
US10348779B2 (en) 2014-03-19 2019-07-09 Toshiba Memory Corporation Data receiving device, data receiving method, and non-transitory computer readable medium

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250803A (ja) * 1999-03-02 2000-09-14 Toshiba Corp 情報配信システム、移動計算機、情報サーバ装置、キャッシュサーバ装置及び先読みキャッシュ処理方法
US7032004B2 (en) 1999-05-25 2006-04-18 Fujitsu Limited Communication traffic control system on LAN, communication traffic control method and recording medium storing communication traffic control program
JP2005504398A (ja) * 2001-10-02 2005-02-10 シンビアン リミテッド モバイルウェブブラウジングデバイス
WO2007013280A1 (ja) * 2005-07-29 2007-02-01 Access Co., Ltd. プラグインモジュール実行方法、ブラウザ実行方法、メーラ実行方法、プログラム、端末装置、及び、ページデータが記録されたコンピュータ読み取り可能な記録媒体
WO2008007533A1 (fr) * 2006-06-23 2008-01-17 Japan Wave. Inc. Procédé d'effacement de données et programme d'effacement de données
US10348779B2 (en) 2014-03-19 2019-07-09 Toshiba Memory Corporation Data receiving device, data receiving method, and non-transitory computer readable medium

Similar Documents

Publication Publication Date Title
US8117166B2 (en) Method and system for creating snapshots by condition
US6973546B2 (en) Method, system, and program for maintaining data in distributed caches
JP4186602B2 (ja) ジャーナルログを利用した更新データ書込方法
US20190075163A1 (en) Apparatus including an i/o interface and a network interface and related method of use
JP4489292B2 (ja) 高性能オブジェクト・キャッシュ
US6526479B2 (en) Method of caching web resources
US7269608B2 (en) Apparatus and methods for caching objects using main memory and persistent memory
US6389510B1 (en) Method and apparatus for caching web-based information
US7103794B2 (en) Network object cache engine
US7058763B2 (en) File system for caching web proxies
JP3481054B2 (ja) ゲートウェイ装置、クライアント計算機およびそれらを接続した分散ファイルシステム
JP2000357120A (ja) キャッシュ管理方法
CN1234086C (zh) 用于高速缓存文件信息的系统和方法
JPH08255106A (ja) ネットワーク独立型ファイル・シャドウイング
JP2000235520A (ja) キャッシュ・データ管理方法
JPH1185710A (ja) サーバ装置およびファイル管理方法
JP2007011523A (ja) データの先読み方法及び計算機システム
JP3324572B2 (ja) 情報処理装置並びにコンピュータに実行させるためのプログラムを記録した記録媒体
JP3386964B2 (ja) ゲートウェイ装置
US6654856B2 (en) System and method for managing storage space of a cache
JPH10214217A (ja) ネットワークキャッシュ装置およびネットワークキャッシュ方法
KR100269114B1 (ko) 캐쉬 운영방법
JPH1124982A (ja) 履歴に基づくWebページ先読み方式
JP2001195197A (ja) 記憶されたレコードについてのフォーマット情報を効率的に提供するためのディレクトリを含むデジタル・データ・サブシステム
US20020184441A1 (en) Apparatus and methods for caching objects using main memory and persistent memory

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040420

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040817