JP3481054B2 - ゲートウェイ装置、クライアント計算機およびそれらを接続した分散ファイルシステム - Google Patents

ゲートウェイ装置、クライアント計算機およびそれらを接続した分散ファイルシステム

Info

Publication number
JP3481054B2
JP3481054B2 JP17456196A JP17456196A JP3481054B2 JP 3481054 B2 JP3481054 B2 JP 3481054B2 JP 17456196 A JP17456196 A JP 17456196A JP 17456196 A JP17456196 A JP 17456196A JP 3481054 B2 JP3481054 B2 JP 3481054B2
Authority
JP
Japan
Prior art keywords
file
cache
file object
server computer
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP17456196A
Other languages
English (en)
Other versions
JPH1021134A (ja
Inventor
克良 土居
創 竹澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP17456196A priority Critical patent/JP3481054B2/ja
Publication of JPH1021134A publication Critical patent/JPH1021134A/ja
Application granted granted Critical
Publication of JP3481054B2 publication Critical patent/JP3481054B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ネットワーク上に
分散した複数のサーバ計算機と、複数のクライアント計
算機とがゲートウェイ装置(計算機)を介して通信回線
で相互に接続されている分散ファイルシステムに関し、
特に、複数のクライアント計算機がゲートウェイ装置を
介してサーバ計算機内部の記憶装置内のファイルオブジ
ェクトにアクセスする場合の分散ファイルシステムのフ
ァイル中継を行なうゲートウェイ装置、ゲートウェイ装
置にアクセス要求を出力するクライアント計算機、およ
びそれらを接続した分散ファイルシステムに関する。
【0002】
【従来の技術】以下の説明で「サーバ計算機」とは、ネ
ットワーク上において何らかのサービスを提供している
計算機をいい、「クライアント計算機」とは、そうした
サーバ計算機のサービスを要求し、受ける計算機をいう
ものとする。また「ファイルオブジェクト」とは、分散
ファイルシステムの利用するネットワークプロトコル
と、ネットワークアドレス(サーバ計算機の名称)と、
ファイル名称と、ファイルの実体との組をいうものとす
る。ここで「ファイルオブジェクトの名称」とは、ネッ
トワークプロトコルとネットワークアドレスとファイル
名称との組のことをいう。
【0003】従来、上述したような分散ファイルシステ
ムにおいては、複数のクライアント計算機からのサーバ
計算機上のファイルオブジェクトに対する読出要求は、
一旦途中のゲートウェイ計算機で中継されていた。ゲー
トウェイ計算機がサーバ計算機から読出したファイルオ
ブジェクトは、クライアント計算機に中継される。それ
と同時にそれらファイルオブジェクトは、ゲートウェイ
計算機内部のキャッシュファイル(固定ディスク、半導
体メモリなど)に蓄積される。そうしたゲートウェイ計
算機の一例が特開平4−313126号公報(発明の名
称「分散ファイルシステムのファイル入出力方式」)に
開示されている。
【0004】図15は、この従来の分散ファイルシステ
ムを示している。このシステムは、ゲートウェイ計算機
110と、このゲートウェイ計算機110を介して相互
に接続されたサーバ計算機100および複数のクライア
ント計算機120を含む。サーバ計算機100は、複数
のクライアント計算機120によって共有されている。
【0005】サーバ計算機100は、ファイルを格納す
るディスク装置136と、ネットワークを介してディス
ク装置136のファイルの内容を入出力するためのファ
イル入出力応答手段134と、ディスク装置136内の
ブロック情報をネットワークを介してクライアント計算
機120に応答するためのブロック情報応答手段132
とを含む。
【0006】クライアント計算機120は、サーバ計算
機100のブロック情報応答手段132に対してブロッ
ク情報要求を送り、ブロック情報を受けるためのブロッ
ク情報要求手段152と、ゲートウェイ計算機110を
介してサーバ計算機100のファイル入出力応答手段1
34に対してファイル入出力要求を送り、当該ファイル
を受信するためのファイル入出力要求手段154とを含
む。
【0007】ゲートウェイ計算機110は、クライアン
ト計算機120(複数)とサーバ計算機100との間に
介在し、サーバ計算機100内のディスク装置136
と、各クライアント計算機120との間のキャッシュメ
モリとして機能するものであり、キャッシュした内容を
格納するためのディスクキャッシュ144と、ファイル
入出力要求手段154およびファイル入出力応答手段1
34の間に介在するキャッシュ管理手段142とを含
む。
【0008】このシステムは次のように動作する。ま
ず、クライアント計算機120がサーバ計算機100内
のディスク装置136内のファイルにアクセスして1つ
のブロックを読込む場合の動作について説明する。ブロ
ック情報要求手段152は、ゲートウェイ計算機110
を介してサーバ計算機100に対して読込対象のブロッ
クにかかるブロック情報の取得を要求するブロック情報
要求メッセージを発行する。
【0009】サーバ計算機100内のブロック情報応答
手段132は、このメッセージに応答して、ディスク装
置136から該当するブロック情報を取出し、そのブロ
ック情報を有するブロック情報応答メッセージをゲート
ウェイ計算機110を介してクライアント計算機120
内のブロック情報要求手段152に返却する。
【0010】クライアント計算機120のファイル入出
力要求手段154は、返却されたブロック情報に基づい
て読込対象のブロックの読込を要求するファイルアクセ
ス要求を、ゲートウェイ計算機110内のキャッシュ管
理手段142に対して発行する。
【0011】このファイルアクセス要求を受取ったキャ
ッシュ管理手段142は、そのファイルアクセス要求に
かかるブロック情報とディスクキャッシュ144に記憶
されている読込対象のブロックにかかるブロック情報と
の比較を行なう。そしてディスクキャッシュ144に、
該当するブロック情報が存在しない場合、または両方の
ブロック情報の内容(更新時間)が異なる場合(読込対
象のブロックのキャッシュが有効でない場合)には、キ
ャッシュ管理手段142は上述のファイルアクセス要求
をサーバ計算機100のファイル入出力応答手段134
に対して発行する。
【0012】サーバ計算機100のファイル入出力応答
手段134は、このファイルアクセス要求に応答して、
ディスク装置136内のファイルをアクセスして、該当
するブロックを読込み、ゲートウェイ計算機110にそ
のブロックを転送する。
【0013】キャッシュ管理手段142は、このブロッ
クをディスクキャッシュ144に格納し、そのブロック
にかかるブロック情報のディスクキャッシュ144への
設定または更新を行なう。キャッシュ管理手段142は
同時に、そのブロックをクライアント計算機120のフ
ァイル入出力要求手段154に対して転送する。
【0014】以上でディスクキャッシュ144内に有効
なファイルが存在しない場合のこのシステムの動作につ
いて説明した。
【0015】次回に同一ファイルに対するアクセス要求
があった場合には、ゲートウェイ計算機110のキャッ
シュ管理手段142は、ディスクキャッシュ144から
当該ブロックを取出し、アクセス要求を発行したクライ
アント計算機120のファイル入出力要求手段154に
対して当該ブロックを転送する。したがってこの場合、
ゲートウェイ計算機110からサーバ計算機100に対
する転送要求は発行されない。したがって中継アクセス
の高速化が図られる。
【0016】類似の技術が、特開昭63−200244
号公報(発明の名称「ファイル・アクセス・システ
ム」)や、特開昭63−20184号公報(発明の名称
「遠隔ファイル・アクセス・システム」)にも開示され
ている。いずれの技術においても、あるファイルオブジ
ェクトに対するアクセス要求が発行された場合に、当該
ファイルオブジェクトの内容が更新されているかどうか
を確認するために、サーバ計算機の保持するファイルオ
ブジェクトの変更時刻をキャッシュファイルの変更時刻
と比較する。そしてキャッシュファイルの内容が古い場
合には、クライアント計算機は更新されたサーバ計算機
の内容を読出すようになっている。しかし、これら2件
の公報に記載された技術では、キャッシュファイルはク
ライアント計算機内に存在しており、特開平4−313
126号公報に開示されたシステムのようにシステム内
にゲートウェイ計算機が含まれているわけではない。
【0017】しかし、これら3件の従来技術文献は、サ
ーバ計算機のファイルオブジェクトと、キャッシュされ
たファイルオブジェクトとの内容が食い違わないような
工夫をしているという共通点を持っている。
【0018】このように本来同一であるべきファイルの
食い違いを防ぐことをインテグリティ(Integrity )を
保つという。また、食い違いの起きたファイルのデータ
をステールデータ(stale data)と呼ぶ。
【0019】上述した従来の技術の基本は、ネットワー
ク経由でサーバ計算機の、該当するファイルオブジェク
トの変更時刻を調べ、対応するキャッシュファイルの内
容の変更時刻と比較するアルゴリズムを使用している。
そのため、サーバ計算機に対するネットワーク経由の問
合せを必ず行なわなければならない。ネットワークの実
効的な転送速度が小さい場合や、該当するファイルオブ
ジェクトを有するサーバ計算機にかかっている負荷が高
くて即座に応答できない場合には、そうした問合せ自体
にかなり時間がかかってしまうことがある。そのためネ
ットワークファイルシステムによっては、このようなフ
ァイルキャッシュのシステムを採用していない場合もあ
る。すなわちこうしたシステムでは、サーバ計算機の保
持するファイルオブジェクトが更新されているにもかか
わらず、ゲートウェイ計算機の持つキャッシュ内の対応
するファイルオブジェクトは必ずしも更新されていな
い。このようなネットワークファイルシステム方式の代
表的なものとして、いわゆるインターネットにおけるH
TTP(Hyper Text Transfer Protocol)を使った広域
分散型マルチメディア情報システムがある。
【0020】インターネットは、その基本プロトコルと
してTCP/IPプロトコルを利用した、グローバルな
ネットワークである。インターネット上に構築された地
域分散型マルチメディア情報提供システムは、World Wi
de Wed(WWW)と呼ばれる。WWWは、ネットワーク
上に分散したファイルオブジェクトを扱うことができ
る。これらのファイルオブジェクトは、単なるテキスト
データにとどまらず、画像データ、音声データ、ビデオ
画像データなどさまざまな種類のものを含む。WWW
は、情報提供側にとっても、情報利用者(ユーザ)にと
っても魅力的であるため、ネットワーク上のWWWに関
するトラフィックが爆発的に増加している。WWWシス
テムでは、クライアント計算機のユーザは、グラフィカ
ルユーザインタフェースを持ったブラウザソフトウェア
をクライアント計算機上で実行させるだけで、ネットワ
ーク上に分散したサーバ計算機の保持するさまざまなフ
ァイルオブジェクトで構成された情報を次々とアクセス
することができる。WWWは、このような操作の簡単さ
のために近時めざましい普及をみせている。
【0021】そしてこのWWWシステムは、TCP/I
Pプロトコルの上に構築されたHTTPプロトコルでフ
ァイルオブジェクトを転送している。
【0022】HTTPプロトコルを実施する上において
は、特開平4−313126号公報に記載されたような
ゲートウェイ計算機によりファイルオブジェクトを中継
転送することが広く行なわれている。データは、ゲート
ウェイ装置にキャッシュされる。またWWWシステムで
は、ファイルオブジェクトの中継転送においてステール
データが発生することは容認されている。すなわちゲー
トウェイ計算機にキャッシュされている内容が、サーバ
計算機の当該ファイルオブジェクトと一致していない場
合を許容している。
【0023】キャッシュファイル内のステールデータの
率をステールデータ率と呼ぶこととする。何らかの方式
でキャッシュファイルの内容を更新しない限り、ステー
ルデータ率は増加する。一般にキャッシュファイルのス
テールデータ率が増加すると、クライアント計算機を操
作しているユーザは、内容が古いと自主的に判断して、
ファイルオブジェクトをサーバ計算機から再度ロードす
ることを試みる。この場合、キャッシュファイルの内容
を利用しないプロトコルが用いられる。この結果、ゲー
トウェイ計算機内のキャッシュファイルシステムが意味
を持たなくなる傾向がある。
【0024】一方で、このようなステールデータの発生
を容認するプロトコルの利点もある。クライアント計算
機が、サーバ計算機のファイルオブジェクトのアクセス
をゲートウェイ計算機に中継依頼してアクセスを行なっ
た場合、ゲートウェイ計算機のキャッシュファイルにヒ
ットした場合には、キャッシュファイルからファイルオ
ブジェクトが読出されてクライアント計算機に転送され
る。サーバ装置に対する当該ファイルオブジェクトの変
更時刻の問合せは不要である。そのため短時間にファイ
ルオブジェクトがキャッシュから取出され、クライアン
トに返送される。
【0025】HTTPプロトコルのようにステールデー
タを容認するネットワークファイルプロトコルは、全地
球的な広域ネットワークで利用される上で有利な点を有
している。すなわち、ゲートウェイ装置のキャッシュに
当該ファイルオブジェクトがキャッシュされていれば、
サーバ装置に対するアクセスが発生しない。その結果応
答時間短縮を図ることができるという有利な点を持って
いる。
【0026】上述のようにネットワーク上のファイルオ
ブジェクトのアクセスを高速化し、かつインターネット
のトラフィックを低減させるゲートウェイ計算機は特に
「proxyサーバ装置」とも呼ばれている。
【0027】「proxy」とは「代理人」という意味
である。proxyサーバ装置は、その名のとおり、ク
ライアント計算機がネットワーク上のサーバ計算機のフ
ァイルオブジェクトにアクセスする場合に、そのアクセ
ス要求をサーバ計算機を代理して受付け、ファイルオブ
ジェクトの転送を中継する機能を果たす。proxyサ
ーバ装置の概念を図16を参照して説明する。
【0028】proxyサーバ装置13は、たとえばあ
る企業内に用いられた内部ネットワーク23と、その企
業外の外部ネットワーク(インターネットなど)25と
の間に介在して設けられるものである。内部ネットワー
ク23は複数個のクライアント計算機24を含み、外部
ネットワーク25は、同じく複数個のサーバ計算機11
を含んでいる。各サーバ計算機11は、ファイルオブジ
ェクト12を保有している。
【0029】proxyサーバ装置13は、キャッシュ
ファイル16と、クライアント計算機からリード要求1
9を受け、キャッシュファイル16内に当該ファイルオ
ブジェクトが存在する場合にはそのファイルオブジェク
トをデータ20として返送し、キャッシュファイル16
内に当該ファイルオブジェクトの有効なものが存在しな
い場合には外部ネットワーク25を介してサーバ計算機
11に対するリード要求17を発行し、対応するファイ
ルオブジェクトをデータ18として受けてクライアント
計算機24に対して返送するproxyプロセス14
と、proxyプロセス14によるファイルオブジェク
トの転送記録を記録するアクセスログ15とを含む。p
roxyプロセス14は、サーバ計算機11からファイ
ルオブジェクトを取得したときには、当該ファイルオブ
ジェクトをキャッシュファイル16にも新たに書込む機
能を有している。
【0030】このproxyサーバ装置13は次のよう
に動作する。まず、内部ネットワーク23内のクライア
ント計算機24が、外部ネットワーク25上のサーバ計
算機11のファイルオブジェクト12に対するリード要
求19をproxyサーバ装置13内のproxyプロ
セス14に対して発行する。proxyプロセス14は
このリード要求19に応答して、キャッシュファイル1
6をアクセスし、キャッシュファイル中に当該ファイル
オブジェクトのキャッシュデータがあるか否かを判定す
る。当該ファイルオブジェクトがキャッシュされていれ
ば、proxyサーバ装置13固有のキャッシュファイ
ル有効期限と、キャッシュされたファイルオブジェクト
の最終変更時刻とを比較する。キャッシュが有効期限内
であれば、キャッシュファイルからファイルオブジェク
ト読出(22)、そのデータ20を内部ネットワーク2
3のリード要求19を発行したクライアント計算機24
に対して返送する。
【0031】キャッシュファイル16内に該当ファイル
オブジェクトが存在しない場合、および存在していたと
しても有効期限が過ぎている場合には、キャッシュファ
イル16内に有効なファイルオブジェクトが存在しない
ものと判定される。その場合、proxyプロセス14
は、外部ネットワーク25のサーバ計算機11に対し
て、ファイルオブジェクト12の読出要求17を発行す
る。これに応答してサーバ計算機11は、ファイルオブ
ジェクト12をデータ18としてproxyプロセス1
4に返送する。proxyプロセス14は、ログファイ
ル15にアクセスログとして、ファイルオブジェクト名
称(すなわちネットワークプロトコル名称と、サーバ計
算機のネットワークアドレス名称と、ファイル名称との
組)と、ファイルオブジェクトのデータの実体(すなわ
ちファイルオブジェクトそのもの)と、書込時刻とを書
込む(26)。
【0032】proxyプロセス14はさらに、内部ネ
ットワーク23内のクライアント計算機24にデータ2
0を転送し、かつキャッシュファイル16に、当該ファ
イルオブジェクトを書込む(21)。
【0033】したがってキャッシュファイル16内に
は、ファイルオブジェクト名称と、ファイルオブジェク
トの実体と、ファイルオブジェクトをサーバ装置から取
得した時刻(最終変更時刻)とが記録されている。
【0034】proxyサーバ装置は、ヨーロッパ原子
核物理研究所CERNで開発されたhttpdや、日本
の電子技術総合研究所の佐藤豊氏の開発されたDele
Gateなどのソフトウェアを、ネットワーク接続され
たUNIXの動くコンピュータ上で実行することにより
実現されることが一般的である。
【0035】proxyサーバ装置の物理構成を図17
に示す。proxyサーバ装置は、UNIXの動作する
ワークステーション200により構成される。ワークス
テーション200は、CPU(中央処理装置)202
と、CPU202に対して内部バス204により接続さ
れるメモリ206と、ファイル用のI/O(入出力)装
置208と、ルータ210を介して外部ネットワークに
接続される第1ネットワークI/Oインタフェース21
2と、内部ネットワークに接続される第2ネットワーク
I/Oインタフェース214とを含む。I/O装置20
8には、キャッシュファイルの蓄積、アクセスログ、お
よび各種ワークファイルの記憶場所として使用されるフ
ァイル部216が接続されている。
【0036】このワークステーション200は、CPU
202が、上述したhttpdやDeleGateとい
うソフトウェアを実行することによりproxyサーバ
装置13を実現する。
【0037】図18は、proxyサーバ装置の他の構
成例を示す図である。このproxyサーバ装置はワー
クステーション300からなっている。ワークステーシ
ョン300は、概略、図17のワークステーション20
0と同様の構成であるが、図17の第2ネットワークI
/Oインタフェース214に代えて、モデム装置304
に接続されるシリアルポート302を有している点が異
なっている。そしてこのワークステーション300は、
モデム装置304および公衆電話回線網306を介して
内部ネットワークに接続されている。
【0038】図18において、図17と同一の部品には
同一の参照番号を付している。それらの名称および機能
も同一である。したがって、ここではそれらについての
詳しい説明は繰返さない。
【0039】図19にproxyサーバ装置のさらに他
の構成例を示す。図19のproxyサーバ装置も、同
じくワークステーション400により実現される。この
ワークステーション400は、概略、図17に示される
ワークステーション200と同様の構成であるが、第1
ネットワークI/Oインタフェース212および第2ネ
ットワークI/Oインタフェース214に代えて、内部
ネットワーク23に接続された1つのネットワークI/
Oインタフェース402を有している点で異なってい
る。内部ネットワーク23は、ルータ210を介して外
部ネットワーク25に接続されており、また複数個のク
ライアント計算機24にも接続されている。ワークステ
ーション400は、内部ネットワーク23およびルータ
210を介して外部ネットワーク25のサーバ計算機1
1と通信するとともに、内部ネットワーク23およびク
ライアント計算機24を介してユーザ31と通信するこ
とができる。
【0040】図19と図17とにおいて、同一の部品に
は同一の参照符号および名称を与えている。それらの機
能も同一である。したがって、ここではそれらについて
の詳しい説明は繰返さない。
【0041】proxyサーバ装置は、既に述べたよう
に中継データのキャッシュ機構を有する。すなわち、p
roxyサーバ装置はその内部に存在するキャッシュフ
ァイル装置に、中継するファイルオブジェクトのデータ
をキャッシュする。
【0042】proxyサーバ装置のキャッシュファイ
ルには、proxyサーバ装置固有の有効期限が定めら
れている。ファイルオブジェクトがキャッシュに書込ま
れてから有効期限内に、同じサーバ計算機上のファイル
オブジェクトへのアクセス要求をクライアント計算機か
ら受取った場合には、キャッシュファイルに以前に書込
まれたファイルオブジェクトを取出してクライアント計
算機に転送する。これによりサーバ計算機に対するアク
セスは発生しない。
【0043】このようなゲートウェイ装置によるキャッ
シュの効果を以下具体的に説明する。proxyサーバ
装置はある会社組織に設置し、外部のネットワークとは
64kbpsの速度で接続するものとする。また、この
proxyサーバ装置は一方で、10Mbpsの速度の
会社組織内のローカルエリアネットワークに接続される
ものとする。外部と内部のネットワークの速度差は1桁
以上ある。このような例はよく見られる例であり、その
典型的な例が図19に示す構成である。
【0044】このとき、proxyサーバ装置で中継フ
ァイルオブジェクトをキャッシュするものとして、キャ
ッシュのヒット率をHitrateとする。Hitra
teは、ファイルオブジェクトに対するアクセス要求に
対してキャッシュが100%ヒットするとき1であり、
0%ヒットするとき0になる指数である。
【0045】なお、proxyサーバ装置におけるキャ
ッシュファイルからのデータ読出およびキャッシュファ
イルへのデータ書込速度は、ネットワーク速度に比べて
十分高速であるものとする。すなわち、キャッシュファ
イルに対するファイルオブジェクトの入出力に要する時
間は無視できるものとする。
【0046】このとき、外部ネットワークにあるファイ
ルオブジェクトを内部からアクセスするときの平均アク
セス速度Vaveは次の数1によって表わされる。
【0047】
【数1】
【0048】キャッシュファイルが存在しない場合、H
itrateは0である。したがって平均速度(kbp
s)は、数1から外部ネットワークのアクセス速度64
kbpsと等しくなる。また、Hitrateが1であ
れば、すなわち100%キャッシュファイルにヒットす
るのであれば、平均速度(kbps)は、内部ネットワ
ークの速度と等しく10,000kbps(=10Mb
ps)となる。つまり、ヒット率が高いほどクライアン
ト計算機から見た平均アクセス速度は高くなる。ヒット
率と平均アクセス速度との関係を示す数1をグラフ化し
たものを図20に示す。
【0049】ところで、キャッシュヒット率は、キャッ
シュファイルの量に依存している。すなわち、ファイル
オブジェクトをなるべくたくさんキャッシュファイルの
中に蓄積しておけば、再びアクセスされたファイルオブ
ジェクトやキャッシュファイル中に含まれる確率は高
く、ヒット率は高くなる。そうした関係を示すものとし
て、キャッシュヒット率と、キャッシュファイルの蓄積
量との関係を図21にグラフとして示す。図21に示す
ように、キャッシュファイルサイズを小さくすればキャ
ッシュヒット率は0に近く、キャッシュファイルサイズ
を大きくすればキャッシュヒット率は徐々に上昇する。
【0050】proxyプロセスにおいては、キャッシ
ュファイルの内容を維持する方式として、最初のファイ
ルアクセスによる書込が起きてから一定期間経過したフ
ァイルオブジェクトを無効としていく制御方式が取られ
ている。この一定期間を有効期限と呼んでいる。この有
効期限は、proxyサーバ装置を管理する者が実情に
合わせて適切な値を設定する。有効期限を長く取れば、
キャッシュファイルに蓄積されるデータ量は増加する。
その結果、キャッシュのヒット率は高くなる。すなわ
ち、キャッシュのヒット率を上げるには、キャッシュの
有効期限を長く取ればよい。
【0051】なお、キャッシュファイルを格納するファ
イル装置の記憶容量は有限であるから、有効期限を無制
限に長くするわけにはいかない。有効期限が過ぎたキャ
ッシュファイルは、何らかのタイミングで消去される。
このようにキャッシュファイルを消去するまでの時間
を、この明細書では消去時間と呼ぶことにする。
【0052】本願発明者の実験によれば、キャッシュ有
効期限とキャッシュファイルに蓄積されるファイル量と
ほぼ比例する。この関係を図22に示す。これは、内部
ネットワークから外部ネットワークへのアクセス量が、
日によらずほぼ一定であるためである。したがって次の
ような関係が成り立つ。
【0053】
【数2】
【0054】この関係から、図22に示したように、キ
ャッシュ有効期限を増やすとキャッシュのヒット率が高
まることがわかる。
【0055】キャッシュ有効期限とファイルオブジェク
トの量との関係は、クライアント計算機を利用する内部
ユーザが、外部ネットワーク上のサーバ計算機のファイ
ルオブジェクトをアクセスする頻度によって異なる。キ
ャッシュ有効期限とキャッシュファイル蓄積量とは、ほ
ぼ比例するものの、その比例係数はネットワーク速度、
内部クライアント計算機ユーザ数などの使用環境により
変動する。
【0056】なお、キャッシュファイル1日程度の有効
期限では、キャッシュヒット率は12%程度である。有
効期限を14日にするとキャッシュヒット率は41%程
度になることが経験されている。有効期限14日のとき
にはファイルオブジェクトが700MB程度キャッシュ
ファイルに蓄積されていることが観察されている。
【0057】また、近年ローカルネットワークの規模が
大きくなり、接続されるクライアント計算機の数が増大
するにつれ、またはクライアント計算機の読出要求が増
大するにつれて、単一のproxyサーバ計算機では、
各クライアント計算機からの要求に十分に応えることが
難しくなってきている。そこで、複数のproxyサー
バ計算機を組合せて、ファイルオブジェクトに対するア
クセス処理の効率の向上を図る方式が提案されており実
施されている。
【0058】図23は、複数のproxyサーバ計算機
を用いたシステムの構成例である。proxyサーバ計
算機501は、広域ネットワークとローカルネットワー
ク間の中継を行ない、ファイルオブジェクトをキャッシ
ュする。このproxyサーバ計算機501は、以後2
次キャッシュproxyサーバ計算機と呼ぶ。これに対
して、proxyサーバ計算機503〜508は、1次
キャッシュproxyサーバ計算機と呼ばれ、さらに分
割されたローカルネットワークに接続されるクライアン
ト計算機24と2次キャッシュproxyサーバ計算機
501間の中継およびファイルオブジェクトのキャッシ
ュを行なう。
【0059】たとえば、クライアント計算機24から1
次キャッシュproxyサーバ計算機504に対してフ
ァイルオブジェクトに対する読出要求を出力したとす
る。このとき、1次キャッシュproxyサーバ計算機
504のキャッシュファイル510内に有効なファイル
オブジェクトが存在する場合、1次キャッシュprox
yサーバ計算機504は、キャッシュファイル510よ
りファイルオブジェクトを取出し、読出要求を出したク
ライアント計算機24に送信する。
【0060】また、1次キャッシュproxyサーバ計
算機504に有効なファイルオブジェクトが存在しなか
った場合、クライアント計算機24からの読出要求は2
次キャッシュproxyサーバ計算機501に中継され
る。2次キャッシュproxyサーバ計算機501は、
同様にキャッシュファイル502内の有効なファイルオ
ブジェクトの有無をチェックし、当該ファイルオブジェ
クトが存在すれば1次キャッシュproxyサーバ計算
機504に送出し、存在しなければ読出要求を広域ネッ
トワーク61を介してサーバ計算機11に中継する。
【0061】以降の処理は、単体のproxyサーバ計
算機と同様であるので、ここではその詳しい説明は繰返
さない。
【0062】この方式によって、各々の1次キャッシュ
proxyサーバ計算機503〜508は、クライアン
ト計算機を分担して受け持つことができ、負荷の分散が
図れる。また、2次キャッシュproxyサーバ計算機
501も、各1次キャッシュproxyサーバ計算機5
03〜508でキャッシュされていなかったファイルオ
ブジェクトに関してのみ処理を行なえばよいので、負荷
の軽減が図れる。具体的には、全体でN台のクライアン
ト計算機24が存在する場合、従来の方式ではprox
yサーバ計算機は、N台のクライアント計算機の要求を
処理する必要があったが、この方式では数3で算出され
る台数分のクライアント計算機からの要求を処理すれば
よいことになる。
【0063】
【数3】
【0064】しかしながら、この方式では1台の2次キ
ャッシュproxyサーバ計算機501が広域ネットワ
ーク61に接続されるサーバ計算機11との中継をすべ
て行なっており、本質的な負荷の分散が達成されている
とは言い難い。
【0065】また、キャッシュファイルの使用にも無駄
が多い。すなわち、1次キャッシュproxyサーバ計
算機群503〜508の有するファイルオブジェクトの
内容はすべて2次キャッシュproxyサーバ計算機5
01も保持していると考えられる。これは、中継経路上
にある2次キャッシュproxyサーバ計算機501と
1次キャッシュproxyサーバ計算503〜508で
は必ずファイルオブジェクトがキャッシュされるからで
ある。また、各1次キャッシュproxyサーバ計算機
同士でも、別の1次キャッシュproxyサーバ計算機
に接続されるクライアント計算機が同一のファイルオブ
ジェクトを読出している場合、同一のファイルオブジェ
クトを重複して持っている可能性が高い。
【0066】したがって、分散ファイルシステム全体で
のキャッシュ容量は2次キャッシュproxyサーバ計
算機501のキャッシュファイル502の容量であると
いえるので、1台の2次キャッシュproxyサーバ計
算機だけではキャッシュファイルの容量には限界がある
といえる。
【0067】このような問題を解決するために、図24
のような方式が提案され実施されている。
【0068】この方式では、図23の2次キャッシュp
roxyサーバ計算機501に相当するproxyサー
バ計算機は存在しない。各proxyサーバ計算機60
1〜606は、クライアント計算機群を分担して受け持
っている。たとえば、proxyサーバ計算機602に
接続されたクライアント計算機24からの読出要求は、
proxyサーバ計算機602に受信される。ここで、
proxyサーバ計算機602のキャッシュファイル6
08に有効なファイルオブジェクトが存在する場合、当
該ファイルオブジェクトを取出し、読出要求を出したク
ライアント計算機24に送出する。
【0069】proxyサーバ計算機602のキャッシ
ュファイル608に有効なファイルオブジェクトが存在
しなかった場合、proxyサーバ計算機602はロー
カルネットワーク600に接続される他のproxyサ
ーバ計算機601,603〜606に対し、それぞれに
接続されるキャッシュファイル607,609〜612
内に有効なファイルオブジェクトを保持しているかどう
かを問合せる。有効なファイルオブジェクトを保持して
いるproxyサーバ計算機が存在する場合には、たと
えば、proxyサーバ計算機605がキャッシュファ
イル611に有効なファイルオブジェクトを保持してい
る場合、proxyサーバ計算機605はproxyサ
ーバ計算機602に対してファイルオブジェクトを送信
し、proxyサーバ計算機602は当該ファイルオブ
ジェクトを読出要求を出したクライアント計算機24に
送出する。
【0070】ローカルネットワーク600に接続された
proxyサーバ計算機601,603〜606のキャ
ッシュファイル607,609〜612に有効なファイ
ルオブジェクトが存在しなかった場合、proxyサー
バ計算機602は広域ネットワーク61を経由して、サ
ーバ計算機11にクライアント計算機24からの読出要
求を中継する。
【0071】以降の処理は、単体のproxyサーバ計
算機と同様であるので、ここでの詳細な説明は繰返さな
い。
【0072】この方式により、同一のファイルオブジェ
クトを複数のproxyサーバ計算機が保持することが
なくなり、キャッシュファイルの有効利用が図れる。ま
た、分散ファイルシステム全体でのキャッシュ容量は、
全proxyサーバ計算機601〜606のキャッシュ
ファイル607〜612の容量の合計となり、キャッシ
ュの大容量化が図れる。したがって、高いキャッシュヒ
ット率が期待でき、実行転送速度の向上が期待できる。
【0073】また、図25のような方式も提案され実施
されている。図23の方式との違いは、2次キャッシュ
proxyサーバ計算機705〜707が複数台用意さ
れ、1次キャッシュproxyサーバ計算機711〜7
16が2次キャッシュproxyサーバ計算機705〜
707にクライアント計算機群からの読出要求を中継す
る場合、その読出要求の要求先であるサーバ計算機70
1,702のアドレス名称によって、たとえば、名称が
xxx.eduならばeduドメインサーバ計算機70
2に対する読出要求と判断して、proxyサーバ計算
機705にアクセス要求を出力する。また、名称がyy
y.comならばcomドメインサーバ計算機702に
対する読出要求と判断してproxyサーバ計算機70
6にアクセス要求を出力する。このように、末尾のドメ
イン名称(edu,com等)による簡単なルールでア
クセス要求を中継する2次キャッシュproxyサーバ
計算機705〜707を選択している。
【0074】その他の処理は単一のproxyサーバ計
算機と同一であるので、ここでの詳細な説明は繰返さな
い。
【0075】これにより、同一の2次キャッシュpro
xyサーバ計算機に読出要求が集中することがなくな
り、負荷の分散が図れる。この方式においても、同一の
ファイルオブジェクトを複数の2次キャッシュprox
yサーバ計算機が保持する必要はなく、キャッシュファ
イルの有効利用が図れる。また、分散ファイルシステム
全体でのキャッシュ容量は全2次キャッシュproxy
サーバ計算機のキャッシュファイルの容量の合計とな
り、キャッシュの大容量化が図れる。したがって、高い
キャッシュヒット率が期待でき、実行転送速度の向上が
期待できる。
【0076】
【発明が解決しようとする課題】上述したproxyサ
ーバ装置においては、キャッシュ有効期限をある程度の
長さに設定することによりキャッシュファイルに蓄積さ
れるファイルオブジェクトの容量が増え、キャッシュヒ
ット率が高まり効率的なファイルオブジェクトの転送が
可能になる。
【0077】しかし、一方、サーバ計算機のファイルオ
ブジェクトの内容は、修正変更されることがあるため、
キャッシュファイルの有効期限が長いと、その期間内は
サーバ計算機内のファイルオブジェクトの内容が変更さ
れているにもかかわらず、内部ネットワークのクライア
ント計算機のユーザはキャッシュファイルに蓄積された
古い内容のファイルオブジェクトを読出すことになる。
【0078】たとえば、天気図や電子新聞等のファイル
オブジェクトは、同一のファイルオブジェクト名称であ
りながら数時間おきに情報更新されるものが多い。した
がって、たとえば、キャッシュ有効期限を24時間とす
ると、3時間おきに更新される天気図、電子新聞などの
情報は7/8以上の確率で古くて役に立たない情報とな
ってしまう。
【0079】図26 は、このような従来のproxyサ
ーバ装置におけるキャッシュ制御のデータの流れをタイ
ムチャートにしたものである。A,B,C,D,E等の
名称は同一ファイルオブジェクト名称でありながら内容
が異なるデータであることを示している。クライアント
計算機がproxyサーバ装置経由でアクセス(ユーザ
アクセス(1))すると、サーバ計算機のファイルオブ
ジェクトの内容Bがproxyサーバ計算機によってキ
ャッシュされ、クライアント計算機にはBが転送され
る。次に、クライアント計算機からユーザアクセス
(2)が送信されると、proxyサーバ装置にキャッ
シュされている内容Bは24時間有効なので、キャッシ
ュヒットしてファイルオブジェクトの内容Bがクライア
ント計算機に転送される。しかしこのときには、既にサ
ーバ計算機内では内容がEとなっているのに、クライア
ント計算機はBという内容の古いデータを見ていること
になる。
【0080】このようなキャッシュファイルの内容のう
ち、外部ネットワークに接続されたサーバ計算機内に存
在する元のデータが変更されている割合をステールデー
タ率(stale date rate )と呼ぶ。したがって、キャッ
シュ有効期限を増やすとキャッシュファイルに蓄積され
るファイルオブジェクトの容量が増加してキャッシュヒ
ット率が高くなるが、キャッシュファイル内の内容のス
テールデータ率が増加することになる。
【0081】上述したCERNのhttpdソフトウェ
アで構成されるproxyサーバ装置であれば、特定の
サーバ計算機のファイルオブジェクトのキャッシュ有効
期限を小さくできるが、この方法ではクライアント計算
機がファイルオブジェクトにアクセスを行なうと、キャ
ッシュ有効期限が短いためキャッシュにミスヒットして
からサーバ計算機にファイルオブジェクトに対するアク
セスを行なうことになる。したがって、クライアント計
算機のユーザは、proxyサーバ計算機によるキャッ
シュの恩恵を受けられず、広域ネットワークによる低速
なファイルオブジェクト転送が終了するまで待たされる
ことになる。
【0082】したがって上述した従来の技術では、キャ
ッシュファイルの中のファイルオブジェクトの内容の新
鮮さとキャッシュヒット率の維持はそれぞれ相反する問
題となる。
【0083】一般に、キャッシュファイルのステールデ
ータ率が増加すると、クライアント計算機のユーザは内
容が古いはずであると自主的に判断してファイルオブジ
ェクトをサーバ計算機から直接ロードするようになる。
この場合キャッシュファイルを通り越して、実際にサー
バ計算機からロードすることを指定するプロトコルが利
用される。その結果、proxyサーバ計算機のキャッ
シュファイルが意味を持たなくなることになる。
【0084】また、従来よりproxyサーバ計算機の
負荷を分散する方法として、上述したように図23〜図
25の方式が提案されている。しかしいずれの場合にも
十分に負荷が分散されているとはいえない。図23に示
す方式では、1台の2次キャッシュproxyサーバ計
算機501が広域ネットワークに接続されているサーバ
計算機との中継をすべて行なっているので、負荷の分散
が達成されているとはいえない。
【0085】図24の方式では、proxyサーバ計算
機601〜606と広域ネットワーク61との間の経路
が多重化されていない。また、ローカルネットワーク6
00に接続されるproxyサーバ計算機601〜60
6は、この方式に対応した特殊なプロトコルを理解する
ものに置き換える必要がある。
【0086】図25の方式では、1次キャッシュpro
xyサーバ計算機711〜716は、ドメイン名等の単
純なルールで分散を行なうので、2次キャッシュpro
xyサーバ計算機705〜707間での負荷の偏りが生
じる。
【0087】本発明は、上記問題点を解決するためにな
されたもので、請求項1に記載の発明の目的は、キャッ
シュファイルの内容を新鮮に保つとともに、キャッシュ
ヒット率も向上させることである。
【0088】請求項2に記載の発明の目的は、キャッシ
ュファイルの内容のうちサーバ計算機における更新頻度
の高いファイルオブジェクトを新鮮に保つとともに、キ
ャッシュヒット率も向上させることである。
【0089】請求項3に記載の発明の目的は、通常のユ
ーザの利用に悪影響を与えることなく、キャッシュファ
イルの内容を新鮮に保つとともに、キャッシュヒット率
も向上させることである。
【0090】請求項4から6に記載の発明の目的は、キ
ャッシュファイルの内容を新鮮に保つとともに、キャッ
シュヒット率も向上させることである。
【0091】請求項7または8に記載の発明の目的は、
ファイルオブジェクトに対するアクセス要求を分散して
経路を有効に利用し、スループットを向上させることで
ある。
【0092】請求項9から11に記載の発明の目的は、
ファイルオブジェクトに対するアクセス要求を分散して
経路を有効に利用し、スループットを向上させ、さらに
ローカルネットワーク上の通信量を削減することであ
る。
【0093】請求項12に記載の発明の目的は、ファイ
ルオブジェクトに対するアクセス要求を分散して経路を
有効に利用し、スループットを向上させることである。
【0094】
【課題を解決するための手段】請求項1に記載の発明
は、クライアント計算機が接続される第1のネットワー
クと、サーバ計算機が接続される第2のネットワークと
の間に介在するように設けられるゲートウェイ装置であ
って、第1のネットワークのクライアント計算機からの
ファイルオブジェクトに対するアクセス要求に応答し
て、当該ファイルオブジェクトにより指定される第2の
ネットワークのサーバ計算機に対して、当該ファイルオ
ブジェクトに対するアクセス要求を行なうネットワーク
中継手段を含み、ネットワークファイル中継手段は、取
得したファイルオブジェクトを所定の有効期限が経過す
るまで一時的に蓄積するとともに、最終変更時刻をファ
イルオブジェクト単位で記録するためのキャッシュファ
イル手段と、過去の一定期間内に行なわれたファイルオ
ブジェクトの転送記録を蓄積するファイル転送記録手段
と、ファイルオブジェクトに対するアクセス要求に応答
して当該ファイルオブジェクトの最終変更時刻を参照
し、有効期限内のファイルオブジェクトがキャッシュフ
ァイル手段に存在する場合は当該ファイルオブジェクト
をクライアント計算機に転送し、有効期限内のファイル
オブジェクトがキャッシュファイル手段に存在しない場
合には当該ファイルオブジェクトにより指定されるサー
バ計算機の当該ファイルオブジェクトを取得してクライ
アント計算機に転送するための転送手段とを含み、ゲー
トウェイ装置はさらに、ファイル転送記録手段から所定
の規則に従って転送記録を抽出し、当該転送記録のファ
イルオブジェクトを第2のネットワークのサーバ計算機
から取得してキャッシュファイル手段に格納するための
キャッシュ更新手段を含む。
【0095】ネットワークファイル中継手段によって転
送されたファイルオブジェクトは、所定の規則に従って
キャッシュ更新手段により更新される。キャッシュ更新
手段は、有効期限が切れたものはもちろん、有効期限内
のファイルオブジェクトも第2のネットワークのサーバ
計算機から取得してキャッシュファイル手段に格納す
る。そのため、キャッシュの有効期限を長めに取ってお
いても、キャッシュの有効期限よりも短い間隔で変更さ
れるサーバ計算機のファイルオブジェクトがキャッシュ
に反映される確率は高くなる。
【0096】請求項2に記載のゲートウェイ装置は、請
求項1に記載のゲートウェイ装置であって、キャッシュ
更新手段はさらに特定の文字列パターンを予め記憶する
ための文字列パターン記憶手段を含み、キャッシュ更新
手段は特定の文字列パターンと一致するファイルオブジ
ェクト名称を含む転送記録をファイル転送記録手段から
抽出し、当該ファイルオブジェクトを第2のネットワー
クのサーバ計算機から取得してキャッシュファイル手段
に格納する。
【0097】キャッシュ更新手段は、特定の文字列パタ
ーンと一致するファイルオブジェクトのみ更新アクセス
を行なうので、予めファイルオブジェクトの更新頻度の
高いファイルオブジェクト名称を登録しておけば不要な
キャッシュ更新アクセスを削減でき、キャッシュファイ
ルの内容を新鮮に保つとともにキャッシュヒット率も向
上させることができる。
【0098】請求項3に記載のゲートウェイは、請求項
1に記載のゲートウェイ装置であって、ネットワークフ
ァイル中継手段は、各々が第1のネットワークのクライ
アント計算機からのファイルオブジェクトのアクセス要
求を処理するための第1の転送プロセスを複数個、同時
並列的に起動させ、キャッシュ更新手段は各々が1つの
ファイルオブジェクトの取得を行なうための第2の転送
プロセスを複数個、同時並列的に起動させ、かつ第1の
転送プロセスの数を検知して、第1の転送プロセスの数
と第2の転送プロセスの数との和が予め定められる上限
以下となるように第2の転送プロセスの新たな起動を制
御する。
【0099】第1のプロセスが多数発生しているときは
第2のプロセスの起動を抑制し、第1のプロセスが僅か
しか発生していないときには第2のプロセスを多数起動
させることができるので、通常のユーザによるファイル
オブジェクトのアクセス要求が、キャッシュ更新手段に
よる悪影響を受けることがない。また、通常のユーザに
よるアクセス要求が少ないときには随時更新処理が行な
えるので、キャッシュの新鮮さを保つことができる。
【0100】請求項4に記載のゲートウェイ装置は、請
求項1に記載のゲートウェイ装置であって、キャッシュ
更新手段はファイル転送記録手段の中から、キャッシュ
ファイル手段からキャッシュヒットしたファイルオブジ
ェクトの転送記録を抽出し、当該ファイルオブジェクト
を第2のネットワークのサーバ計算機から取得してキャ
ッシュファイル手段に格納する。
【0101】ユーザによるアクセス要求がキャッシュに
ヒットした場合、、キャッシュ更新手段はその直後にサ
ーバ計算機へファイルオブジェクトのアクセス要求を行
なう。したがって別ユーザが同一ファイルオブジェクト
をアクセスした場合、最新のファイルオブジェクトが既
にキャッシュに格納されていることになる。
【0102】請求項5に記載のゲートウェイ装置は、請
求項1に記載のゲートウェイ装置であって、キャッシュ
更新手段はさらにファイル転送記録手段の末尾から転送
記録を順次読出して格納し、先に格納された転送記録か
ら順に出力するFIFOバッファ手段を含み、キャッシ
ュ更新手段はFIFOバッファ手段から転送記録を読出
して、当該転送記録のファイルオブジェクトを第2のネ
ットワークのサーバ計算機から取得してキャッシュファ
イル手段に格納する。
【0103】FIFOバッファ手段は、ファイル転送記
録手段の末尾から転送記録を順次格納し出力するので、
キャッシュ更新手段の処理が容易になる。
【0104】請求項6に記載のゲートウェイ装置は、請
求項1に記載のゲートウェイ装置であって、キャッシュ
更新手段はファイル転送記録手段から抽出した転送記録
のファイルオブジェクトの前回の更新が所定時間以内で
あれば、第2のネットワークのサーバ計算機へのアクセ
スは行なわない。
【0105】キャッシュ更新手段は、所定時間以内に再
び同じファイルオブジェクトに対するアクセス要求があ
った場合に後のアクセス要求に対するキャッシュ更新処
理を行なわない。このことによって、不要なキャッシュ
更新アクセスを削除し、無駄なトラフィックを抑制して
回線を有効に使うことができる。
【0106】
【0107】
【0108】
【0109】
【0110】
【0111】
【0112】
【0113】
【0114】
【0115】
【0116】 請求項に記載の発明は、クライアント
計算機とサーバ計算機とキャッシュサーバ計算機とが少
なくとも1つのネットワークを含むネットワーク網上に
構成され、該ネットワーク網に接続されるゲートウェイ
装置であって、クライアント計算機からのファイルオブ
ジェクトに対するアクセス要求に対して、当該アクセス
要求に含まれるファイルオブジェクトを特定するデータ
に基づいて、アクセス要求を出力すべきゲートウェイ装
置を決定する演算を行ない、当該演算結果に基づいてゲ
ートウェイ装置を選択し、この選択が他のゲートウェイ
装置であれば、当該アクセス要求を他のゲートウェイ装
置へ出力するための中継制御手段と、サーバ計算機から
取得したファイルオブジェクトを、所定の有効期限が経
過するまで一時的に蓄積するとともに、最終変更時刻を
ファイルオブジェクト単位で記録するためのキャッシュ
ファイル手段と、過去の一定時間内に行なわれたファイ
ルオブジェクトの転送記録を蓄積するためのファイル転
送記録手段と、中継制御手段が自身のゲートウェイ装置
を選択した場合と他のゲートウェイ装置からアクセス要
求を受信した場合に、ファイルオブジェクトに対するア
クセス要求に応答して当該ファイルオブジェクトの最終
変更時刻を参照し、有効期限内のファイルオブジェクト
がキャッシュファイル手段に存在する場合には当該ファ
イルオブジェクトをクライアント計算機に転送し、有効
期限内のファイルオブジェクトがキャッシュファイル手
段に存在しない場合には当該ファイルオブジェクトによ
り指定されるサーバ計算機の当該ファイルオブジェクト
を取得してクライアント計算機に転送するための転送手
段とを含む。
【0117】ゲートウェイ装置に、キャッシュサーバ計
算機を選択する機能と、ファイルオブジェクトをキャッ
シュする機能とを持たせることによって、ローカルネッ
トワーク上の通信量を削減し、キャッシュサーバ計算機
の負荷を軽減することを可能にしている。
【0118】
【発明の実施の形態】
[実施の形態1]本発明が適用されるゲートウェイ装置
(proxyサーバ装置と呼ぶ)は、ネットワークイン
タフェースを備えたUNIX OSの動作する計算機に
よって、以下の説明および図面を参照すれば容易に実現
可能である。そうしたproxyサーバ装置の構成の一
例は、図19に示したとおりである。図19のprox
yサーバ装置については既に説明したので、その構成に
ついての詳細な説明はここでは繰返さない。
【0119】通常は、ユーザ31がクライアント計算機
24を使用してproxyサーバ装置(図19における
proxyサーバ装置400)に対して、サーバ計算機
11のファイルオブジェクト10にを取得するようネッ
トワーク23を経由して依頼を出す。ファイルオブジェ
クト12は、前述したようにプロトコル名称と、サーバ
計算機のネットワークアドレスと、ファイルオブジェク
トの名称と、ファイルデータの実体との組からなってい
る。
【0120】図1に本願発明に係るproxyサーバ装
置の第1の実施の形態における装置53のシステム構成
を示す。proxyサーバ装置53は、内部ネットワー
ク23および外部ネットワーク25に接続された第1の
proxyプロセス14と、第1のproxyプロセス
14が使用するキャッシュファイル16と、第1のpr
oxyプロセス14が、アクセスログ(転送記録)とし
てファイルの名称を記録するアクセスログ15と、アク
セスログ15の末尾から順次取出して格納し、先に格納
されたアクセスログから順に出力するFIFOバッファ
35と、予め作成されたアクセスパターンリストを格納
するパターンファイル30と、FIFOバッファ35か
らアクセスログを取出してパターンファイル30に格納
されたアクセスパターンと比較し一致する場合にはこの
アクセスログをメモリバッファURLBUF(URLに
ついては後述する)に格納するキャッシュ更新プロセス
36と、URLBUFに格納されたアクセスログに含ま
れるファイルオブジェクト名称をもとに、当該ファイル
オブジェクトをサーバ計算機11から取得してキャッシ
ュファイル16に格納する第2のproxyプロセス3
4とを含む。
【0121】第1のproxyプロセス14と、第2の
proxyプロセス34と、キャッシュ更新プロセス3
6とはいずれも、たとえば図19に示すメモリ206内
にプログラムとして格納され、CPU202によってこ
れを実行することにより実現される。
【0122】第1のproxyプロセス14が、特許請
求の範囲に記載の転送手段に相当し、キャッシュファイ
ル16がキャッシュファイル手段に相当し、アクセスロ
グ15がファイル転送記録手段に相当する。また、キャ
ッシュ更新プロセス36と、パターンファイル30と、
FIFOバッファ35と、第2のproxyプロセス3
4とによりキャッシュ更新手段が構成される。
【0123】第2のproxyプロセス34は、本願発
明に係るゲートウェイ装置に特有なものであるが、次の
ような条件に従って起動される。
【0124】(1) 第2のproxyプロセス34
は、第1のproxyプロセス14と共通のキャッシュ
ファイル16を使用する。
【0125】(2) 第2のproxyプロセス34の
キャッシュ有効期限は0に設定される。すなわち、第2
のproxyプロセスを経由するサーバ計算機11への
アクセスは、必ず外部ネットワーク25内のサーバ計算
機11に対して行なわれ、ファイルオブジェクトを取得
してキャッシュファイル16に格納する。
【0126】図1に示すproxyサーバ装置53の動
作について以下説明する。内部ネットワーク23内のク
ライアント計算機24が、このproxyサーバ装置5
3に対してネットワークアクセス要求19を与えるもの
とする。第1のproxyプロセス14が、このネット
ワークアクセス要求19を受け取り、まずI/Oインタ
フェース202(図17、図18、図19参照)を経由
してファイル装置216内に存在するキャッシュファイ
ル16をアクセスする(21)。また第1のproxy
プロセス14は、このネットワークアクセス要求とキャ
ッシュファイル16内のファイルオブジェクト名称とを
比較し(22)、一致しているか否かを判定する。一致
したものがあれば第1のproxyプロセス14はさら
に、当該ファイルオブジェクトのキャッシュファイル1
6内の最終変更時刻を抽出し(22)、現在の時刻と比
較する。そして現在の時刻が、当該ファイルオブジェク
トの最終変更時刻を起点とする有効期限内であれば、キ
ャッシュファイル16から当該ファイルオブジェクトを
抽出し(22)、ネットワークI/Oインタフェース4
02を経由してクライアント計算機24にファイルオブ
ジェクトを返す(20)。
【0127】該当するファイルオブジェクトがキャッシ
ュファイル16内に存在していない場合、または存在し
ていてもそのキャッシュ有効期限が切れている場合に
は、第1のproxyプロセス14は、ネットワークI
/Oインタフェース402を経由して外部ネットワーク
25のサーバ計算機11にファイルオブジェクト転送要
求17を送る。このときのサーバ計算機11は、当該フ
ァイルオブジェクト内のネットワークアドレス名称によ
り特定される。
【0128】該当するサーバ計算機11は、要求された
ファイルオブジェクトを第1のproxyプロセス14
に返送する(18)。すなわちこのファイルオブジェク
トが第1のproxyプロセス14により取得される。
【0129】第1のproxyプロセス14は、このフ
ァイルオブジェクトをキャッシュファイル16にその最
終変更時刻とともに書込み(21)、アクセスログ15
にこのファイルオブジェクトの名称を記録する(2
6)。
【0130】一方、本願発明のproxyサーバ装置5
3は、キャッシュ更新プロセス36と第2のproxy
プロセス34とをCPU202により処理走行させてフ
ァイルオブジェクトを更新する点において従来のpro
xyサーバ装置と相違する。
【0131】キャッシュ更新プロセス36および第2の
proxyプロセス34は次のように動作する。第1の
proxyプロセス14によってアクセスログファイル
15に格納されたアクセスログの末尾からFIFOバッ
ファ35に順に格納される(28)。FIFOバッファ
35は、先に格納されたアクセスログから順に出力する
(27)。キャッシュ更新プロセス36は、FIFOバ
ッファ35からアクセスログを1行ずつ抽出し、メモリ
バッファに格納する。キャッシュ更新プロセス36は、
メモリバッファからアクセスログを取出し、それぞれの
アクセスログをもとにキャッシュにヒットしているか否
かを判定する。キャッシュにヒットしていればさらに、
パターンファイル30からアクセスパターンリストを抽
出し(29)、アクセスログに含まれるファイルオブジ
ェクト名称がアクセスパターンリストと一致しているも
のを抽出する。またキャッシュ更新プロセス36は、抽
出したファイルオブジェクトのうちファイルオブジェク
ト名称が特定のパターンに一致するものは除外して、こ
れをメモリバッファURLBUFに格納する。
【0132】第2のproxyプロセス34は、URL
BUFが空でないならば、URLBUFに格納されたフ
ァイルオブジェクト名称をもとに(31)、サーバ計算
機11にアクセスし(32)、当該ファイルオブジェク
トを取得して(33)キャッシュファイル16に格納す
る(37)。これによりキャッシュファイル16内のフ
ァイルオブジェクトが最新の内容に維持される。
【0133】このように、第2のproxyプロセス3
4を起動すると、大きく次の2つの効果を得ることがで
きる。
【0134】(1) 第1のproxyプロセス14で
は、キャッシュファイルの有効期限がある値に設定され
ており、ファイルオブジェクトのキャッシュ更新処理を
この第1のproxyプロセス14を用いて行なったと
すると、キャッシュファイル16にヒットしてしまう可
能性が高い。これでは、外部ネットワーク25のサーバ
計算機11のファイルオブジェクトに対するアクセスが
行なわれないので、キャッシュファイル16の更新が実
現できない。
【0135】一方、第2のproxyプロセス36は、
キャッシュ有効期限が0になっており、第2のprox
yプロセス36に対してアクセス要求を出せば、このキ
ャッシュファイルはミスヒットしたことになるので、外
部ネットワーク25を介してサーバ計算機11に対する
ファイルオブジェクトのアクセスが行なわれ(32)、
当該ファイルオブジェクトは第2のproxyプロセス
34に転送される(33)ことによって、キャッシュフ
ァイル16中のファイルオブジェクトは最新の状態に更
新される。
【0136】(2) 第1のproxyプロセス14
は、アクセスログを残すが、このアクセスログをもとに
キャッシュ更新アクセスをするべきファイルオブジェク
トが抽出される。したがって、もしキャッシュ更新プロ
セス36が第1のproxyプロセス14を使用してサ
ーバ計算機11のファイルオブジェクトのアクセスを行
なうと、その結果として生成されるアクセスログがアク
セスファイル15に記録されてしまう。キャッシュ更新
プロセス36は、次回の更新アクセス動作においてアク
セスログファイル15に格納されたアクセスログをもと
にアクセスすべきファイルオブジェクト名称を抽出す
る。したがって、再度同じファイルオブジェクトをサー
バ計算機11から取得することになり、同一のファイル
オブジェクトが多重に出現するループ動作が起きてしま
うことになる。これを避けるために第2のproxyプ
ロセス34を動作させ、第2のproxyプロセス34
を利用したキャッシュ更新アクセス動作を行なう。
【0137】本発明を非常に有効に適用できる例とし
て、インターネット上のWWWシステムがある。WWW
システム上でのproxyサーバ装置において、本願発
明のキャッシュ更新プロセスを行なう手順を以下に説明
する。
【0138】WWWシステムでは、ネットワーク上に分
散したファイルオブジェクト名称はUniform Resource L
ocator(URL)と呼ばれる形式で表現され、特定され
る。URLの一例を次に示す。
【0139】
【数4】
【0140】数4においては「http」は使用するプ
ロトコルを示す。「www.xxx.co.jp」は、
ネットワーク上のHTTPサーバ計算機のアドレスを示
すものであり、ネットワーク上で同一のものはないよう
選ばれている。また「/test/index.htm
l」はサーバ計算機内のファイル名称を示す。
【0141】第1のproxyプロセス14として一般
に利用されているDeleGateを使用する場合は、
そのアクセスログの例は次のように、クライアント計算
機名称、時刻、“HTTPプロトコル(ファイル取得要
求)”、その他、およびキャッシュヒット状況(キャッ
シュヒットした場合H)などとなる。以下に、そのアク
セスログの例を示す。
【0142】
【数5】
【0143】数5に示すアクセスログは、図2に示すよ
うな、出願人がインターネット上で公開している情報ペ
ージへアクセスした場合のアクセスログに相当する。図
2に示されるページは、テキストと、6個のグラフィッ
クデータとから構成されているので、このページに対す
るアクセスを1回行なうと、6個のグラフィックデータ
に対するアクセスを含む7つのアクセスログが形成され
る。すなわち、上述のアクセスログにおいて第1行目は
この情報ページのテキストに対するアクセス要求であ
り、残りの6行は表紙に貼り込まれた出願人会社のロゴ
のグラフィックデータ(sharpcolor.gi
f)、出願人会社内の情報システム事業本部と呼ばれる
事業部のロゴ(isg.gif)、出願人会社の4つの
製品の写真のグラフィックデータ(Zaurus.gi
f,Shoin.gif,Prostation.gi
f,S2.gif)の取得要求を示している。
【0144】HTTPプロトコルは、コマンド文字列
(GET等)と、URLと、プロトコルバージョン
(「HTTP/1.0」等)から構成されている。以下
はその一例である。
【0145】
【数6】
【0146】HTTPプロトコルについては、最後に掲
げる表内に示された参考文献のうち、参考文献3および
参考文献4に記載されている。キャッシュ更新プロセス
の実施手順について以下に説明するが、そのための前提
条件は次の(1)および(2)となっている。
【0147】(1) 第1のproxyプロセス14
は、キャッシュ有効期限M(時間)で起動する。たとえ
ばM=24時間とする。
【0148】(2) 第2のproxyプロセス34
は、キャッシュファイルを第1のproxyプロセス
14のものと共有し、キャッシュ有効期限を0に設定
する、という2つの条件に従って起動される。
【0149】このような条件の下に、本願発明のキャッ
シュ更新プロセスを毎日一定時刻に起動し、一定時刻に
終了する。毎日一定時刻にキャッシュ更新プロセスを自
動起動するには、UNIX OSに備わっているタイマ
機能(cron)を使用する。これは、UNIX OS
に関連してよく知られている機能であるので、その詳細
についてはここでは説明しない。なお、UNIX OS
以外のOSでも、同様の機能が提供されていることが多
い。
【0150】図3は、本願発明のキャッシュ更新プロセ
スの処理手順を示すフローチャートである。このプロセ
スを実現するためのプログラムは、たとえば図19のメ
モリ206内に配置され、CPU202によって実行さ
れる。このプロセスとネットワークおよびファイル装置
216との入出力には、それぞれネットワークI/Oイ
ンタフェース402とI/Oインタフェース208とが
使用される。
【0151】まず、ステップS1において第1のpro
xyプロセス14が、アクセスログファイル15に格納
されるアクセスログの末尾を1行読出す。読出せない場
合は、アクセスログが読めるまで待機する。UNIXで
は、このようなアクセスログの末尾を呼出す機能は、O
Sとともに提供されているコマンドtailで可能であ
り、その標準出力から1行読出し、メモリ内に確保され
た文字列バッファであるLINEバッファに1行格納す
るには、以下のように行なう。ここで、第1のprox
yプロセス14が格納したアクセスログが/usr/l
ocal/etc/telegated/logs/1
0001.httpであるとする。これは図1のアクセ
スログファイル15に格納されるアクセスログに相当す
る。
【0152】
【数7】
【0153】数7のtail −fによる1行読出は、
図1の27に相当するが、これはソフトウェアによるF
IFOバッファ35を構成しており、読出ポインタおよ
び書込ポインタをそれぞれ有している。
【0154】
【数8】
【0155】すなわち、第1のproxyプロセス14
が書込むアクセスログは、1個のファイルオブジェクト
転送ごとに1行発生するが、このとき書込ポインタ(w
p)を1行進める。また、ソフトウェアによるFIFO
バッファ35がtail −fでアクセスログを1行読
出せば、読出ポインタ(rp)を1行進める。第1のp
roxyプロセス14による書込速度(行/秒)と、キ
ャッシュ更新プロセス36におけるtail −fによ
る1行読出速度(行/秒)が一致していなくてもよい。
第1のproxyプロセス14によるアクセスログ書込
速度が大きくなると、書込ポインタ(wp)は先に進む
が、キャッシュ更新プロセス34によってこれを読出ポ
インタ(rp)が追いかけながらアクセスログが読出さ
れる。アクセスログ書込速度が小さいか、読出側のキャ
ッシュ更新プロセス34の処理が進行すれば、やがて読
出ポインタ(rp)が書込ポインタ(wp)に追いつく
ことになる。これが、ソフトウェアFIFOバッファと
しての動作である。
【0156】次に、LINEバッファに格納された1行
のアクセスログ情報は過去にアクセスされたファイルオ
ブジェクトの記録であるので、以下のような条件でキャ
ッシュ更新アクセスを行なうべきファイルオブジェクト
名称を含むものを選択する。この選択処理を、以後フィ
ルタリングと呼び、図3に示すフローチャートのステッ
プS2に相当する。このフィルタリングのルールは以下
のとおりである。
【0157】(1) HTTPコマンド文字列がファイ
ルオブジェクトに対するリード要求(GET)であるも
の。
【0158】(2) ファイルオブジェクト名称のプロ
トコル部分がhttpであるもの。 (3) キャッシュにヒットしたアクセスであるもの。
【0159】(4) ファイルオブジェクト名称がキャ
ッシュ更新アクセスに適さないものを除外する。
【0160】(5) 特定の文字列パターンを含むアク
セスリストとファイルオブジェクト名称が一致するも
の。
【0161】以上の(1)〜(5)の条件を用いてフィ
ルタリングを行ない、ファイルオブジェクト名称のフィ
ールドだけを取出して、キャッシュ更新アクセスでファ
イルオブジェクト名称を抽出する。
【0162】ファイルオブジェクト名称のプロトコル部
分がhttpのもののみ抽出するのは、第1のprox
yプロセス14および第2のproxyプロセス34と
して一般的に利用されているDeleGateソフトウ
ェアがキャッシュファイルを生成するプロトコルはht
tpプロトコルのみであるので、そのファイルオブジェ
クトのみはキャッシュ更新アクセスする意味があるから
である。それ以外のプロトコルによるアクセスはファイ
ルオブジェクトがキャッシュされないので、キャッシュ
更新アクセスをする意味がない。
【0163】キャッシュにヒットしたもののみを抽出す
るのは、キャッシュにヒットしていないファイルオブジ
ェクトはサーバ計算機11へのアクセスが行なわれたも
のと解釈されるので、その直後にキャッシュ更新アクセ
スを行なう必要はないと判断されるからである。
【0164】ファイルオブジェクト名称が、キャッシュ
更新アクセスに適さないものとしては、URL中に
「?」を含むものなどがある。「?」を含むURL表記
は、サーバ計算機11に対してクライアント計算機24
を使用するユーザが文字列を人手で入力する場合などに
使われるため、この文字を含むURL表記を有するファ
イルオブジェクトをキャッシュ更新アクセスの対象とす
ると、予期せぬ結果を招くおそれがある。
【0165】特定の文字列パターンを含むアクセスリス
トと一致するもののみを選ぶのは、サーバ計算機におい
て頻繁に内容更新が行なわれるものである天気図、電子
新聞等を提供しているサーバ計算機など特定のものであ
ることが多い。そこで、そのようなサーバ計算機のファ
イルオブジェクトを指定するような文字列パターンを格
納したアクセスリストと一致したものだけをキャッシュ
更新アクセスの対象とすることによって、不要なキャッ
シュ更新アクセスを極力削減するためのものである。
【0166】このような文字列パターンを格納したパタ
ーンファイル30を、ここでpattern.txtと
し、その内容を数9に示すものとする。
【0167】
【数9】
【0168】UNIXでは、このようなファイルオブジ
ェクト名称の抽出作業は、OSとともに提供されている
コマンド群である数10を用いて行なうことができる。
【0169】
【数10】
【0170】たとえば、次のようなコマンドを入力する
ことにより、ステップS2の処理を経たものがメモリ上
の文字列バッファURLBUFに出力される。
【0171】
【数11】
【0172】なお、上述したフィルタリングルールに反
していれば、文字列バッファURLBUFは空になる。
この間の経過を以下に説明する。第1のproxyプロ
セス14により作成されたアクセスログファイル15の
形式は既に述べたように次のとおりである。
【0173】
【数12】
【0174】キャッシュヒット時には“H”という文字
がキャッシュヒット状況として行の末尾に出力される。
【0175】まず、grep −v”\?”に入力する
ことで、?を含まない行を抽出し標準出力に出力する。
それをさらにgrep”\”GET”でその行がファイ
ルオブジェクト取得要求であるGETコマンドである行
のみ抽出し、標準出力に出力する。さらにgrep’H
$’に入力することで行末が「H」で終了する、すなわ
ちキャッシュにヒットしたものを選び標準出力に出力す
る。ここで、$は行の末尾を表現する正規表現である。
【0176】さらに空白がフィールド間の区切であると
考えると、7番目のフィールドがファイルオブジェクト
名称に相当するので、awk’{print$7}’を
使ってファイルオブジェクト名称のみを抽出している。
【0177】さらに、ファイルオブジェクト名称部分
が、予め用意されたパターンファイルpattern.
txtの中のいずれかの行に一致するか否かをfgre
p −f pattern.txtによりマッチングを
行なってその結果を文字列バッファURLBUFに出力
する。
【0178】ステップS3では、文字列バッファURL
BUFが空でないか否かを判定する。もし文字列バッフ
ァURLBUFが空の場合には、ステップS1に戻り、
空でない場合にはステップS4へ進む。
【0179】ステップS4では、第2のproxyプロ
セス34によって、キャッシュ更新プロセス36で抽出
されたファイルオブジェクトをサーバ計算機11から取
得する。文字列バッファURLBUFに格納されたキャ
ッシュ更新アクセスの対象であるファイルオブジェクト
名称に基づいて、第2のproxyプロセス34はサー
バ計算機11へアクセスするための子プロセスを起動す
る。子プロセスをキャッシュ更新子プロセスと呼ぶ。キ
ャッシュ更新子プロセスは、第2のproxyプロセス
34を通じてネットワーク接続をサーバ計算機11に対
して行なう。これにより、サーバ計算機11に格納され
るファイルオブジェクトへのアクセスが発生し、キャッ
シュファイル16の内容が更新される。この処理の詳細
は後述する。
【0180】ステップS5では、現在の時刻を調べ、指
定時刻が過ぎていればプロセスを終了する。指定時刻を
過ぎていなければステップS1に戻り、以上の処理を繰
返す。
【0181】以上が、本願発明の第1の実施の形態にお
けるproxyサーバ装置におけるアルゴリズムであ
る。図7は、proxyサーバ計算機53のキャッシュ
有効期限が24時間で、サーバ計算機11のファイルオ
ブジェクトが同一名称でありながら、内容が3時間おき
に更新される場合のファイルオブジェクトのデータがキ
ャッシュされるようすを示している。
【0182】まず、ユーザアクセス(1)が発生したと
きに、キャッシュファイル16に該当するファイルオブ
ジェクトがなかったとすると、サーバ計算機11からデ
ータBがアクセスされ、キャッシュファイル16に書込
まれるとともに、クライアント計算機24に転送され
る。
【0183】次に、ユーザアクセス(2)が発生する
と、キャッシュにヒットしたデータBがクライアント計
算機24に転送される。このとき、サーバ計算機11は
データDになっているので、クライアント計算機24は
3時間程度古いステールデータを読んだことになる。し
かし、この動作の結果アクセスログファイル15にファ
イルオブジェクト名称とキャッシュにヒットしたという
情報を含むアクセスログが記録されるので、図3を用い
て説明した動作に従い、proxyサーバ装置53が自
発的にサーバ装置11にアクセスし、データEを読出し
キャッシュファイル16を更新する。
【0184】さらに、ユーザアクセス(3)が起きる
と、キャッシュされたデータEがクライアント計算機2
4に転送される。この動作をきっかけにしてアクセスロ
グファイル15にファイルオブジェクト名称とキャッシ
ュにヒットしたという情報を含むアクセスログが記録さ
れるので、図3を用いて説明した動作に従い、prox
yサーバ装置53が自発的にサーバ計算機11にアクセ
スし、データIを読出してキャッシュファイル16を更
新する。
【0185】したがって、ユーザアクセス(4)が起き
ると、キャッシュされたデータIがクライアント計算機
24に転送される。
【0186】以上の動作からわかるように、クライアン
ト計算機24はステールデータを読んでいることに変わ
りがないが、図26の場合に比べると最新に近い情報を
読んでいることになる。ユーザによるアクセスの間隔が
3時間以内であれば、ステールデータは発生する確率が
非常に低くなり、サーバ計算機11の最新の情報を得る
ことが可能になることが理解できる。
【0187】なお、図3のステップS4のネットワーク
アクセス部の実現方法としては、キャッシュ更新プロセ
スから直接HTTPプロトコルを発生させればよいが、
UNIXでは広く一般に利用されているlynx等のW
WWクライアントプログラムを利用すれば、HTTPを
発生するキャッシュ更新プロセスを新たに製作しなくて
もHTTPに従ったネットワークアクセスを行なうキャ
ッシュ更新プロセス操作を実現できる。その方法を以下
に説明する。
【0188】lynxはUNIX OSの上で動作する
プログラムであるので、以下の説明ではUNIXの記述
を使用する。
【0189】lynxでは次のコマンドを指定すれば、
指定URLを読出してtemp_fileというファイ
ルに書込むことができる。
【0190】
【数13】
【0191】さらに、proxyプロセス経由のアクセ
スも、UNIX OSの環境変数http_proxy
を設定することにより、lynxから利用可能である。
また、proxyプロセスがDeleGateのような
proxyソフトウェアであれば、URL表記にpro
xyを指定することによりproxy経由のアクセスが
可能である。これについては参考文献12を参照された
い。
【0192】後者の方式を採用する場合について以下に
説明する。proxyプロセスが、ネットワークアドレ
スがproxyserverであるゲートウェイ計算機
のTCP/IPの10001番のポート番号を利用して
いるプロセスであるならば、このproxyプロセス経
由でサーバ計算機11のファイルオブジェクトhtt
p://www.xxx.co.jp/test/in
dex.htmlにアクセスするためには次の数14の
コマンドを指定すればよい。
【0193】
【数14】
【0194】したがって、本願発明を実施する際には、
同様にしてproxyプロセスを第2のproxyプロ
セス34のポート番号に設定すればよい。
【0195】
【数15】
【0196】本願発明では、このようなファイルオブジ
ェクト(URL)のキャッシュ更新アクセスにより、第
1のproxyプロセス14の管理するキャッシュファ
イル16を最新状態に保つことが目的である。したがっ
て、temp_file自体は利用しないので捨ててよ
い。OSがUNIXであれば、空ファイルとして/de
v/nullが準備されているので、このファイルに書
込むようにすれば実際にはファイルの生成は行なわない
ので効率的である。
【0197】次に、第1のproxyプロセス14およ
び第2のproxyプロセス34のキャッシュ管理手法
について説明する。proxyプロセスのキャッシュ管
理手法は、参考文献5、参考文献12にあるような公知
の技術であるキャッシュ制御機能を持ったDeleGa
teなどにおけるものである。DeleGateにおけ
るキャッシュ管理手法は、ソースコードの形で公開され
ているので以下にその手法を述べる。なお、本願発明は
これと同様のキャッシュ管理手法が使われているキャッ
シュ機能付proxyサーバソフトウェアであれば、第
1のproxyプロセス14および第2のproxyプ
ロセス34として適用可能である。
【0198】上述したように、第2のproxyプロセ
ス34がproxyserverという名称のシステム
で動作しており、TCP/IPの10001番でURL
取得要求を受付けるものとする。このとき、文字列バッ
ファURLBUFに指定URL表記が格納されている場
合に、キャッシュ更新プロセス36は、数16に記載の
コマンドを実行することでtemp_fileに指定U
RLのファイルオブジェクトが格納されると述べた。
【0199】
【数16】
【0200】なお、第2のproxyプロセス34とキ
ャッシュ更新プロセス36の通信はTCP/IP、たと
えばUNIXのメッセージ通信で行なわれる。
【0201】たとえば、文字列バッファURLBUFに
http://www.sharp.co.jp/sa
mple/test.htmlという文字列が格納され
ているとする。キャッシュ更新プロセス36が数16の
コマンドを実行すると、キャッシュ更新プロセス36は
URL取得要求を第2のproxyプロセス34に出力
する。第2のproxyプロセス34は、子プロセスを
生成し、この子プロセスにURL取得の処理を任せて自
身のプロセスは再びキャッシュ更新プロセス36からの
URL出力要求を待つ。キャッシュ更新プロセス34に
よる数16の実行によりURL取得を実行する第2のp
roxyプロセス34が生成した子プロセスは、図4の
フローチャートに示す処理を行なう。
【0202】以下、第2のproxyプロセス34が生
成した子プロセスの動作を図4のフローチャートを用い
て説明する。
【0203】proxyプロセスでは、キャッシュファ
イル16を持っているが、それは通常のUNIXファイ
ルシステムの一部として作られる。キャッシュ用ディレ
クトリとして/cacheというパーティションを使用
するとすると、数17に示すようにプロトコル名称がh
ttp、サーバ計算機名称www.sharp.co.
jp、ファイルオブジェクトの実体部分がsample
/test.htmlとなる。
【0204】
【数17】
【0205】このとき、キャッシュファイルは次の数1
8に示す名称規則でキャッシュファイルを生成しようと
する。
【0206】
【数18】
【0207】したがって、http://www.sh
arp.co.jp/sample/test.htm
lは数19に示すファイルとなる(S11)。
【0208】
【数19】
【0209】proxyプロセスはまず、数19に示す
ファイル名称に変換し、そのファイルが存在するかどう
かOSのopen( )のシステムコールにより既存の
ファイルがオープンできるかどうかにより調べる(S1
2)。ファイルが存在しなければ、ファイル新規作成モ
ードで数19に示すファイル名のキャッシュファイルを
作成する(S13)。また、キャッシュファイルに対し
て排他制御を行なって、他のプロセスが書込めないよう
に排他ロックする(S14)。
【0210】次に、ネットワークを経由してURLで指
定されたファイルオブジェクトをサーバ計算機11から
取得する(S15)。取得したファイルオブジェクトを
クライアント計算機24へ転送するとともにファイルオ
ブジェクトを数19に示すファイル名称のキャッシュフ
ァイルに書込む(S16)。続いて、キャッシュファイ
ルをクローズして排他ロックを解除する(S17)。
【0211】上記処理では、キャッシュファイルを排他
ロックしているが、この排他制御はOSがUNIXであ
ればシステムコールであるflock( )関数を使っ
て排他ロックできる。排他制御を使用する理由は、pr
oxyプロセスは1つのファイルオブジェクトの転送ご
とに子プロセスを起動してその子プロセスにキャッシュ
制御を行なわせるため、同じキャッシュファイルシステ
ムに対して子プロセス間で競合が発生する場合があるか
らである。
【0212】なお、キャッシュファイルに書込んだと
き、ファイル変更時刻Tmがファイル(数19)の属性
として記録される。ファイル更新時刻Tmは、UNIX
OSのファイルシステムを管理するOSがファイルの
属性として必ず付加するものである。すなわち、キャッ
シュファイルは通常のOSのファイルシステムをそのま
ま使用しており、何ら特殊なファイルシステムではな
い。
【0213】次に、キャッシュファイルが既に存在した
場合を説明する(S19〜S26)。
【0214】キャッシュファイル/cache/htt
p/www.sharp.co.jp/sample/
test.htmlの最終変更時刻TmをOSから読出
す。最終変更時刻は、UNIXであれば、fstat
( )システムコールで得られるもので、過去から未来
に向かって単調に増加する関数である(S19)。
【0215】現在時刻をシステムコールから読出しTn
owという変数に格納する(S20)。現在時刻Tno
wは、OSのシステムコールから得られる。最終変更時
刻Tmと、現在時刻Tnowを比較し、キャッシュ有効
期限以内かどうかを判定する(S21)。キャッシュ有
効期限以内であれば、キャッシュファイルを共有排他ロ
ックして他のプロセスからの書込はできないが、読出は
できるようにする(S22)。そして、既にあるキャッ
シュファイルを読出し、クライアント計算機24に転送
する(S23)。さらに、キャッシュファイルをクロー
ズし、共有排他ロックを解除する(S17)。
【0216】また、キャッシュ有効期限を過ぎている場
合は、キャッシュファイルに対して排他制御を行なっ
て、他のプロセスが書込めないように排他ロックする
(S24)。次に、ネットワーク経由でURLで指定さ
れたファイルオブジェクトをサーバ計算機11から取得
する(S25)。取得したファイルオブジェクトをクラ
イアント計算機24へ転送するとともに、ファイルオブ
ジェクトをキャッシュファイル(数19)に書込む(S
26)。そして、キャッシュファイルをクローズして排
他ロックを解除する(S17)。
【0217】以上が、一般にソースコードが公開され、
よく知られているproxyプロセスのキャッシュ制御
手順であるが、本願発明ではこの性質を利用して、キャ
ッシュファイル16を第1のproxyプロセス14と
第2のproxyプロセス34で共有している。第2の
proxyプロセス34は、キャッシュ有効期限0であ
るから、図3のフローチャートのS4により、第2のp
roxyプロセス34経由のサーバ計算機11へのアク
セスがキャッシュファイル16の更新が必ず行なえるこ
とがわかる。
【0218】第1の実施形態においては、クライアント
計算機24の利用が始まる7時00分より起動し、クラ
イアント計算機24の利用が少なくなる夜21時00分
には終了するよう実施した。これにより、クライアント
計算機24の利用のない時間帯には、キャッシュ更新プ
ロセス36を排除し、当制御方式を採用した計算機のメ
モリ資源を無駄にしないようにしている。
【0219】以上説明したように、proxyサーバ計
算機53はユーザが行なったファイルオブジェクトに対
するアクセス要求がキャッシュヒットすれば、その直後
にサーバ計算機11から当該ファイルオブジェクトを取
得してキャッシュファイル16を更新するので、別のユ
ーザが同一ファイルオブジェクトをアクセスした場合
に、最新のファイルオブジェクトが既にキャッシュファ
イル16に格納されていることになる。したがって、キ
ャッシュ有効期限を長めに取っておいても、キャッシュ
の有効期限よりも短い間隔で変更されるサーバ計算機の
ファイルオブジェクトがキャッシュに反映される確率が
高くなる。
【0220】また、同一ユーザが時間をおいてから同一
ファイルオブジェクトをアクセスし直すと、キャッシュ
の内容が最新のものに更新されていることになる。ま
た、特定のパターンに一致するファイルオブジェクトの
み更新アクセスの対象となるので、予めファイルオブジ
ェクトの更新頻度の高いサーバ計算機を登録しておけば
不要なキャッシュ更新アクセスを削減でき、無駄なトラ
フィックを抑制して回線を有効に利用することができ
る。
【0221】[実施の形態2]次に、本願発明のゲート
ウェイ装置の第2の実施形態を説明する。この実施形態
2は、実施形態1と同様であるが、実施形態1に対応す
るフローチャート(図3)のステップS4を改良したも
のである。実施形態1では、ステップS4においてアク
セスログファイル15からファイルオブジェクト名称を
文字列格納バッファURLBUFに格納して、第2のp
roxyプロセス34を介してサーバ計算機11にアク
セスしているが、第2の実施形態では処理の高速化を図
るため複数のファイルオブジェクトに対するアクセス
を、順不同で同時並列的に実行するものである。
【0222】本発明が実施できるTCP/IPのネット
ワークでは、通信はパケット単位で行なわれるため、外
部ネットワークの複数のサーバ計算機との同時通信が見
掛け上可能である。したがって、ステップS4における
キャッシュ更新子プロセスを複数同時に実施することが
できる。
【0223】内部ネットワーク23には複数のクライア
ント計算機24が接続されるので、proxyサーバ装
置53によるファイルオブジェクトの中継転送要求は、
外部ネットワーク25上の異なる複数のサーバ計算機1
1へのアクセスが入り交じって行なわれる。したがっ
て、ファイルオブジェクトに対するアクセスは外部ネッ
トワーク25上のさまざまな経路を通じて行なわれるた
め、実際のファイルオブジェクトの転送速度は、経路の
途中のボトルネックによって決まる。
【0224】そのうちの1つのボトルネックは、pro
xyサーバ装置53と外部ネットワーク25を結ぶ最初
の通信路(図19における通信路127)である。さら
には、外部ネットワーク25上への複数のサーバ計算機
11への経路にはさまざまなボトルネックが存在する。
このため、外部ネットワーク25からproxyサーバ
計算機53への転送速度は、この通信路の最大転送速度
より小さい転送速度となるのが常である。たとえば、p
roxyサーバ装置53と外部ネットワーク25を結ぶ
通信路(図19における通信路127)の最大転送速度
が64kbpsであっても、海外にあるサーバ計算機か
らの転送速度はその10分の1以下であることがしばし
ばである。
【0225】したがって、proxyサーバ装置53と
外部ネットワーク25を結ぶ最初の通信路127の最大
転送容量に近い転送を行なうように、同時に複数のネッ
トワーク接続を実施することで転送のスループットを上
げることが可能になる。すなわちこのネットワーク接続
を1個の子プロセスに対応させるとして、複数のキャッ
シュ更新子プロセスを起動し、この通信路127の転送
容量が100%近く使用されるように、複数のネットワ
ーク接続を並列に実施した方が処理が高速化される。
【0226】そこで、同時に複数のキャッシュ更新アク
セスを実行するように、キャッシュ更新子プロセスの最
大並列実行数をMAXPROCESS数と定める。これ
は、以下に説明するフローチャートではメモリ(図19
のメモリ206)に置かれる定数である。この値をあま
り大きく取ると、OSのプロセス手順などの管理資源
(メモリ)を消費することになるので、システムの動作
状況によって決める必要がある。この実施形態2では1
0とした。
【0227】以下、具体的な処理手順を図5を参照しな
がら説明する。まず、変数としてメモリ206中にpr
ocesses変数を定義する。バックグラウンドで、
現在走行しているキャッシュ更新子プロセスの数を求め
てprocesses変数に代入する。プロセスの数は
OSのプロセス管理テーブルから得られる(S42
1)。次にprocesses変数と指定された最大子
プロセス数MAXPROCESSを比較する。もし、p
rocesses≧MAXPROCESSならばS42
3に移り、一定時間休止(sleep)する(たとえば
10秒)。これは、先に走行しているキャッシュ更新子
プロセスの処理を終了するのを待つために行なわれる
(S423)。
【0228】次に、指定の終了時刻になったかどうかの
判定を行なう。指定時刻を過ぎていれば、キャッシュ更
新プロセスは処理を終了する。指定時刻を過ぎていなけ
れば、S421以下の処理を繰返す(S424)。
【0229】また、S423でprocesses<M
AXPROCESSならば、第2のproxyプロセス
34にアクセス要求を出力することによって、第2のp
roxyプロセス34はキャッシュ更新子プロセスをバ
ックグラウンドプロセスとして1つ起動する(S42
5)。UNIX OSにおいて、プロセスをバックグラ
ウンドで実行させるには、コマンドラインに&の記号を
付けて起動すればよい。文字列バッファURLBUFに
は、S2により取得されたファイルオブジェクト名称が
格納されているので、数20に示すコマンドを実行すれ
ば、キャッシュ更新子プロセスがバックグラウンドプロ
セスとして実施される。
【0230】
【数20】
【0231】最後に、指定の終了時刻になったかどうか
を判定し、指定時刻をすぎていればキャッシュ更新プロ
セスは処理を終了し、指定の終了時刻を過ぎていなけれ
ばS1以下の処理を繰返す(S426)。
【0232】以上のような処理により、MAXPROC
ESS以下のプロセスで同時並列実行が可能になる。
【0233】この実施形態2により、キャッシュ更新処
理速度を速め、常にキャッシュ更新処理を待つ状態にす
ることでキャッシュ更新処理の遅滞の拡大を防止するこ
とが可能となる。なお、パターンファイル30を用意し
て、特定ファイルオブジェクトだけを更新対象にしてい
るS2の処理も効果を上げている。
【0234】以上説明したように、実施の形態2では、
キャッシュ更新処理を同時に行なうことで、キャッシュ
更新の開始から終了までが短縮されるので、第1のpr
oxyプロセス14によるユーザからのアクセス処理の
頻度に追随してキャッシュ更新処理を進めることが可能
となる。
【0235】[実施の形態3]実施の形態3において
は、実施の形態2と同様に、キャッシュ更新子プロセス
の並列実行を行なうが、さらにプロセスの制御を行なう
ことにより、内部ネットワーク23のクライアント計算
機24を使用するユーザが第1のproxyプロセス1
4を使用して外部ネットワーク25のサーバ計算機11
に頻繁にアクセスしている時間帯に、キャッシュ更新プ
ロセス36を実行しても、キャッシュ更新子プロセスの
数が抑制される。すなわち、キャッシュ更新子プロセス
には低い優先権が与えられることで、クライアント計算
機24を使用するユーザのネットワーク利用を妨げない
ようにしたものである。
【0236】また、第1のproxyプロセス14を利
用するユーザのネットワークアクセスは、通常1つのペ
ージが複数のファイルオブジェクトから構成されている
ため(たとえば、図2に示す情報ページ)、1つのペー
ジのアクセスにおいては、複数のファイルオブジェクト
のアクセスが時間的に連続して発生する。したがって、
キャッシュ更新アクセスの子プロセスの起動において、
休止時間を設けて子プロセス起動を遅延させることによ
り、ユーザのページアクセスが終了してからキャッシュ
更新アクセスが起きる確率を高めることができる。
【0237】また、同一のファイルオブジェクトに対す
るキャッシュ更新アクセスの条件が揃ったとき、すなわ
ち、実施形態1および2のURLBUFが空でないとき
(図3および図4のS3がyesの場合)一定時間の無
効時間を設け、前回キャッシュが更新されてから所定時
間以内であればサーバ計算機11に対するキャッシュ更
新アクセスを行なわないことで、クライアント計算機2
4が頻繁にファイルオブジェクトアクセスを行なってい
るときに、キャッシュ更新アクセスでサーバ計算機11
に対するアクセスが頻繁に発生することを防止するもの
である。
【0238】この処理の簡単な実現方法として、第2の
proxyプロセス34のキャッシュ有効期限を0では
なく、無効時間を設定して起動すればよい。この無効時
間として、30分または1時間等とし、サーバ計算機1
1の変更頻度の平均の最小時間程度にすればよい。これ
により、無効時間以内に実施形態1、2または3の方式
でキャッシュ更新アクセスを行なっても、キャッシュに
ヒットすることになるのでサーバ計算機11にアクセス
が発生しなくなる。
【0239】図6は、実施の形態3の処理を示すフロー
チャートである。図6は、実施形態2の処理を示すフロ
ーチャートである図5のS421とS425をS431
とS435に置き換えたものである。
【0240】図6に示す処理を行なうに先立って、最大
ネットワーク接続個数MAXPROCESSという定数
を定める。この定数は、キャッシュ更新子プロセスの数
と第1のproxyプロセス14がネットワークアクセ
スの中継のために起動した子プロセスの数を加算した値
の最大を示す定数である。したがって、proxyサー
バ装置53は、なるべくのMAXPROCESS以下に
サーバ計算機11へのネットワークアクセスを制限しよ
うとする。図6のS1〜S3の処理は、実施形態1、2
と同様であるのでここでの説明は繰返さない。
【0241】バックグラウンドで走行しているキャッシ
ュ更新子プロセスの数と、第1のproxyプロセス1
4のネットワークアクセス中継子プロセスの数を求めて
加算してprocesses変数(数21)とする(S
431)。
【0242】
【数21】
【0243】processes変数と指定された最大
子プロセスMAXPROCESSを比較し、proce
sses≧MAXPROCESSならばS433へ移
り、一定時間休止(sleep)する(たとえば10
秒)。これは、先に起動されたキャッシュ更新子プロセ
ス数の処理が終了するのを待つものである。
【0244】次に、指定の終了時刻になったか否かを判
定し、指定時刻を過ぎていればキャッシュ更新プロセス
は処理を終了する。指定の終了時刻になっていなけれ
ば、S431に戻って処理を続行する(S434)。ま
た、S432でprocesses<MAXPROCE
SSならば、抽出したファイルオブジェクト名称(UR
LBUFに格納されたもの)をもとに、第2のprox
yプロセス36を用いてアクセスするキャッシュ更新子
プロセスをバックグラウンドプロセスとして1つ起動す
る。
【0245】このとき、子プロセスは数22に示すよう
に、休止時間をDELAYTIME変数(単位は秒)と
してOSの休止機能をsleepを使ってDELAYT
IME秒間休止してからキャッシュ更新アクセスを行な
うようにする。1ページWWWデータは、図2に示すよ
うに複数の画像ファイルオブジェクトからなる場合、キ
ャッシュヒット時は10秒以下でproxyサーバ装置
53からクライアント計算機24に転送可能であること
が経験的に知られているので、DELAYTIMEは1
0秒程度としている。
【0246】
【数22】
【0247】最後に、指定の終了時刻になったかどうか
を判定し、指定時刻を過ぎていればキャッシュ更新プロ
セスは処理を終了し、指定終了時刻を過ぎていなけれ
ば、S1へ戻り処理を繰返す(S436)。
【0248】以上のように、キャッシュ更新子プロセス
の個数と第1のproxyプロセス14を利用している
ユーザのネットワークアクセスの中継子プロセス数の合
計を制限しながらキャッシュ更新子プロセスを制御す
る。この結果、第1のproxyプロセス14を利用し
ているユーザによるネットワークアクセスの数が増える
と、キャッシュ更新子プロセスは起動されにくくなる。
したがって、ユーザが第1のproxyプロセス14を
利用している時間帯に、キャッシュ更新プロセス36を
実行しても、キャッシュ更新子プロセスには低い優先権
が与えられることで、ユーザのネットワーク活動を妨げ
ないようにすることができる。
【0249】また、ユーザのファイルオブジェクトに対
するアクセスがキャッシュにヒットした場合は、通常1
ページの転送は、数秒以内に終了するが、キャッシュ更
新子プロセスはDELAYTIME(秒)遅延してから
起動されるので、DELAYTIMEを10秒程度に設
定すればユーザのファイルオブジェクトアクセスとキャ
ッシュ更新アクセスは時間的にずれて実施される(すな
わちパイプライン)ので、proxyサーバ計算機53
への負担を減らし、ユーザに快適なネットワーク利用を
提供することが可能となる。
【0250】以上説明したように、実施の形態3ではユ
ーザが第1のproxyプロセス14を利用している時
間帯に、キャッシュ更新プロセス36を実行しても、キ
ャッシュ更新子プロセスには低い優先権が与えられるこ
とで、ユーザのネットワーク利用を妨げない効果があ
る。また、遅延時間を導入することで、キャッシュ更新
処理はユーザの連続したファイルオブジェクト転送処理
が終了してから行なわれるので、proxyサーバ計算
機53の処理負担を軽減し、ユーザへのファイルオブジ
ェクト転送を最優先できる。また、無効時間が設定され
るため、クライアント計算機24が無効時間以内に同一
ファイルオブジェクトに対してアクセスを行ない、キャ
ッシュ更新アクセスの条件が揃ってもキャッシュ更新ア
クセスはキャッシュにヒットすることになり、実質的に
サーバ計算機11に対するアクセスが発生しない。これ
により、クライアント計算機24が同一ファイルオブジ
ェクトを頻繁にアクセスしても、時間のかかるサーバ計
算機11へのキャッシュ更新アクセスが抑制されるので
サーバ計算機11への負担の軽減とキャッシュ更新処理
の効率化が図れる。
【0251】[実施の形態4]実施の形態1〜3は、p
roxyサーバ計算機に関するものであったが、実施の
形態4ではファイルオブジェクトの中継制御のみを行な
うゲートウェイ装置(redirector計算機)に
ついて説明する。図8は、キャッシュサーバ計算機(p
roxyサーバ計算機)65〜67およびredire
ctor計算機72〜77をローカルネットワーク71
で接続する構成を示す図である。
【0252】redirector計算機72〜77
は、proxyサーバ計算機の1種でもあるが、実施の
形態4のredirector計算機72〜77は、p
roxyサーバ計算機65〜67への中継のみを行ない
キャッシュは行なわない。
【0253】以下、redirector計算機72〜
77の動作について詳細に説明する。
【0254】redirector計算機72〜77
は、複数のproxyサーバ計算機65〜67とクライ
アント計算機群との間に介在し、proxyサーバ計算
機65〜67とはローカルネットワーク71で接続さ
れ、クライアント計算機群とはローカルネットワーク7
8で接続される。また、ファイルオブジェクトを提供す
るサーバ計算機11とproxyサーバ計算機65〜6
7とは、広域ネットワーク61で接続される。
【0255】まず、クライアント計算機24からのファ
イルオブジェクトに対する読出要求をローカルネットワ
ーク78を介してredirector計算機73内の
redirectorプロセスが受信する。redir
ector計算機は、上述した図17〜19に示すワー
クステーション200〜400で実現可能である。すな
わち、redirectorプロセスに相当するプログ
ラムをメモリ206内に格納し、そのプログラムをCP
U202が実行することによってこのredirect
or計算機の機能が実現される。redirector
プロセスは、受信した読出要求の内容に基づいてハッシ
ュ関数の計算を行ないその計算結果に従って中継するp
roxyサーバ計算機65〜67を選択する。そしてr
edirectorプロセスは、読出要求を選択された
proxyサーバ計算機65〜67内のproxyプロ
セスに中継する。
【0256】本発明を非常に有効に適用できる例とし
て、前述したインターネット上のWWWシステムがあ
る。図9は、WWWシステム上でのredirecto
r計算機の処理手順を示すフローチャートである。
【0257】WWWシステムではネットワーク上に分散
したファイルオブジェクト名称はUniform Resource Loc
ator(URL)と呼ばれる形式で表現され特定される。
【0258】たとえば、redirector計算機7
3が、クライアント計算機24からの読出要求を受信し
たとすると、redirector計算機73は要求に
含まれるURLを取出す(S31)。取出されたURL
に基づいてハッシュ関数による計算を行なう。ここで、
ハッシュ関数にはさまざまなものが考えられるが、実施
の形態4ではURL形式で表現されたファイルオブジェ
クト名称に含まれる文字の文字コードをすべて加算し、
proxyサーバ計算機65から67の台数で割った剰
余を使用した(S33)。
【0259】このハッシュ関数によって算出された値に
よって、読出要求を中継するproxyサーバ計算機6
5〜67の番号を決定する(S34)。そして、選択さ
れたproxyサーバ計算機65〜67に読出要求が中
継される(S35)。
【0260】同一のファイルオブジェクトの読出要求
は、すべて同一のproxyサーバ計算機65〜67で
中継されることが、キャッシュの有効利用の観点からは
望ましい。なぜなら、同一のファイルオブジェクトを異
なるproxyサーバ計算機で重複して保持すると、キ
ャッシュ容量が減少し、キャッシュファイルの有効利用
が図れなくなるからである。そのためには、ハッシュ関
数がすべてのredirector計算機72〜77内
のredirectorプロセスで同一のものである必
要がある。
【0261】上述したハッシュ関数は、各proxyサ
ーバ計算機65〜67が均等に選択されるため、それぞ
れのproxyサーバ計算機65〜67に対する負荷は
均等になるが、適切にハッシュ関数を選ぶことにより、
各proxyサーバ計算機65〜67の能力に応じて意
図的に均等でなく負荷を分散することも容易に実現でき
る。すなわち、処理能力の高いproxyサーバ計算機
に対しては、選択される可能性を高くし、処理能力の低
いproxyサーバ計算機に対しては、選択される可能
性を低くすることによって各proxyサーバ計算機の
処理速度を均等にするものである。
【0262】このようにして算出された番号により示さ
れるproxyサーバ計算機が、選択されたproxy
サーバ計算機となり、redirectorプロセスは
選択されたproxyサーバ計算機内のproxyプロ
セスにクライアント計算機24からの読出要求を中継す
る。proxyサーバ計算機65〜67内のproxy
プロセスは、redirector計算機73内のre
directorプロセスにより中継されたクライアン
ト計算機24からの読出要求を広域ネットワーク61を
介してサーバ計算機11に中継し、転送されたファイル
オブジェクトをキャッシュする。
【0263】redirectorプロセスは、広く一
般に利用されているDeleGateを利用して実施す
ることが可能である。実施の形態4のredirect
orプロセスは、DeleGateの中継記法とフィル
タ機能を利用して実現されている。以下に、中継記法の
例を示す。
【0264】
【数23】
【0265】数23の記述のうち、最初のhttpは使
用するプロトコル名を示し、proxyserverは
ネットワーク上のproxyサーバ計算機のアドレスを
示すものである。また、10080はTCP/IP接続
のポート番号と呼ばれ、proxyサーバ計算機上のど
のプロセスに対し読出要求を送るのかを示す。−_−
は、これがDeleGateの中継記法であることを示
す。残りのhttp://www.xxx.co.jp
/test/index.htmlが、本来の読出要求
のURLである。
【0266】DeleGateが上記読出要求を受信す
ると、proxyサーバ計算機proxyserver
のポート番号10080で示されるproxyプロセス
に対し、URLで示されるファイルオブジェクトの読出
要求を中継する。すなわち、読出要求の中で、中継する
proxyサーバ計算機を指定することが可能である。
【0267】フィルタ機能は、外部プログラムを利用し
てDeleGate機能を拡張するための仕組みであ
る。DeleGateはクライアント計算機もしくは他
のproxyサーバ計算機からの読出要求を受信する
と、受信した読出要求を一旦外部プログラムに引渡し、
この外部プログラムによって処理された読出要求を再び
受取って中継等の処理を行なうことが可能である。
【0268】図11は、redirector計算機の
内部構成を示す図である。実施の形態4において、De
leGateによって実現されるredirector
プロセス81が、たとえば、数24に示すURLを含む
読出要求を受信したとする。
【0269】
【数24】
【0270】これは、www.xxx.co.jpで表
わされるサーバ計算機11にこの読出要求を送信するこ
とを示している。
【0271】しかし、実施の形態4ではDeleGat
eのフィルタ機能により、外部プログラムとして実現さ
れたproxy切換制御部82においてURLをもとに
ハッシュ関数の計算を行ない(図9のS32〜S3
3)、その演算結果によってproxyサーバ計算機p
roxyserver1が選択されたとすると、上記読
出要求内のURLを数25のように書替える(図9のS
34)。
【0272】
【数25】
【0273】外部プログラムであるproxy切換制御
部82によって書替えられた読出要求を受取ったred
irectorプロセス81は、proxysever
1で表わされるproxyサーバ計算機にwww.xx
x.co.jpで表わされるサーバ計算機11に対する
読出要求を中継する(図9のS35)。
【0274】したがって、ハッシュ関数で計算された結
果に基づいてURL中のproxyサーバ計算機のアド
レスをproxyserver1に変えることにより、
元の読出要求のURLに基づいて中継するproxyサ
ーバ計算機を選択することができる。実際に、2台のp
roxyサーバ計算機を用意し、ハッシュ関数はURL
に含まれるファイルオブジェクト名称の文字の文字コー
ドをすべて加算し(図8のS32)、proxyサーバ
計算機の台数2で割った剰余を使用した(図8のS3
3)。すなわち、ハッシュ関数の計算結果が0であった
場合proxyserver0により中継し、1であっ
た場合はproxyserver1で中継を行なうもの
とする。
【0275】図10は、図2に示す同一ページのファイ
ルオブジェクトが、2台のproxyサーバ計算機に分
散されるようすを示したものである。図10の上段は、
本来の読出要求のURL、ファイルオブジェクト名称の
文字コードの総計(check sum)、文字コード
の総計をproxyサーバ計算機の台数である2で割っ
た余りおよび選択されたproxyサーバ計算機のアド
レスを示している。図10の下段は、proxy切換制
御部82で書替られたURLを示している。この例で
は、ハッシュ関数の結果が0の方が多くなっており、p
roxyserver0への中継が多くなってしまう
が、これはサンプル数が少ないことによるものである。
実際の運用では膨大なアクセスが、ハッシュ関数による
分散が確率的に均等になるという性質のもとに、ほぼ2
分の1ずつ均等に分散されることが確認されている。
【0276】以上説明したように、複数あるproxy
サーバ計算機が別々な経路で広域ネットワークに接続さ
れている場合、クライアント計算機からのアクセス要求
を複数あるproxyサーバ計算機に分散することは、
複数ある経路に分散することでもある。したがって経路
の有効利用が可能となり、スループットが向上する。p
roxyサーバ計算機の処理能力には限界があるが、ク
ライアント計算機からのアクセス要求が複数のprox
yサーバ計算機に分散されることにより、proxyサ
ーバ計算機1台で処理されるアクセス要求数が減少し、
スループットが向上する。
【0277】また、同一ページ内に複数のファイルオブ
ジェクトが含まれている場合、それらのファイルオブジ
ェクトに対するアクセス要求も複数のproxyサーバ
計算機によって分散して処理されるので、単一ページの
アクセス速度も向上する。
【0278】また、どのクライアント計算機からの中継
要求であっても、同一URLに対するハッシュ関数が同
じであるので、常に同じproxyサーバ計算機が選択
されることになり、同一URLのアクセスが2回以上あ
ればキャッシュによるアクセスの高速化が図れる。さら
に、ハッシュ関数が一意にきまるものであれば任意の関
数が選択できるので、proxyサーバ計算機の数もま
た任意の台数が使用できる。
【0279】実施の形態4において、ハッシュ関数内で
使われているURLに含まれる文字の文字コードをすべ
て加算した値(check sum)は、平均して数千
程度になることが確かめられている。たとえば、シャー
プ奈良工場における実施においては、1996年3月1
3日に実測された30481件のファイルオブジェクト
に対するアクセス要求のURLに含まれる文字や文字コ
ードの合計の平均は4438(小数点以下四捨五入)で
あった。
【0280】前述したとおり、実施の形態4ではこのア
クセス要求のURLに含まれる文字や文字コードの合計
をproxyサーバ計算機の台数で割った剰余をハッシ
ュ関数として使用し、proxyサーバ計算機の選択に
使用している。したがって、図10の例ではproxy
サーバ計算機は2台であるが、この台数が数千程度であ
っても、ハッシュ関数によるproxyサーバ計算機の
選択はほぼ均等に行なわれると考えられる。
【0281】また、同一のハッシュ関数であれば、re
director計算機の数は任意である。したがっ
て、本方式ではスケーラビリティも非常に優れている。
【0282】また、本方式ではキャッシュ付のprox
yサーバ計算機は既存のものをそのまま使用することが
可能である。したがって、図24の従来の方式に比べ導
入が容易で経済的である。また、クライアント計算機に
関しても、既存のクライアント計算機を使用して、re
director計算機を既存のproxyサーバ計算
機に見立てて設定を行なうだけでよく、特殊なクライア
ント計算機を用意する必要はない。
【0283】[実施の形態5]実施の形態5は、実施の
形態4において独立した計算機上で実行していたred
irectorプロセスを、クライアント計算機24上
で実行する。図12は、実施の形態5における装置の内
部構成を示す図であり、クライアント計算機24内のク
ライアントプロセス84(図8のクライアント計算機2
4と同じ動作をするプロセス)からの読出要求は、ロー
カルネットワーク上には送出されず、クライアント計算
機24内部のredirectorプロセス85に直接
送信される。この送信は、たとえばUNIXのメッセー
ジ通信によって行なわれる。
【0284】redirectorプロセス85がアク
セス要求を受信した後の処理は、上述したredire
ctor計算機72〜77内で動作するredirec
torプロセス81と同様であり、ローカルネットワー
クを介する他のクライアント計算機からのアクセス要求
を受信して処理することも可能である。したがって、こ
こでの詳細な説明は繰返さない。また、このredir
ectorプロセス85の機能をクライアントプロセス
84のプログラムに直接組込むことも可能である。
【0285】図8に示す実施の形態4のクライアント計
算機24とredirector計算機72〜77との
通信が、実施の形態5では同じクライアント計算機24
内部で処理されるため、ローカルネットワーク上での通
信量が削減できる。したがって、独立したredire
ctor計算機を用意する必要がなく、クライアント計
算機24を利用してredirector計算機の機能
を実現できるためコストの削減が可能となる。
【0286】[実施の形態6]実施の形態6では、実施
の形態4において独立した計算機上で実行していたre
directorプロセスを、proxyサーバ計算機
上で実行する。図13は、実施の形態6における装置の
内部構成を示す図であり、たとえば、クライアント計算
機24bから読出要求があった場合に、その読出要求は
proxyサーバ計算機99内のredirector
プロセス91で受信される。その後、redirect
orプロセス91は、図9を用いて説明したようにアク
セス要求を中継するproxyサーバ計算機を選択し、
その選択されたproxyサーバ計算機が98であれ
ば、proxyサーバ計算機98のproxyプロセス
86に対してアクセス要求を中継する(92)。また、
受信したredirectorプロセスの動作している
proxyサーバ計算機と選択されたproxyサーバ
計算機がともに99である場合、読出要求の中継はネッ
トワーク上に送出されずproxyサーバ計算機99内
部で直接行なわれる(93)。そして、proxyプロ
セス(86または89)が広域ネットワーク61を介し
てサーバ計算機11に対してアクセス要求を送出する
(62または63)。
【0287】同様に、クライアント計算機24aから読
出要求があった場合に、その読出要求は、proxyサ
ーバ計算機98上のredirectorプロセス96
で受信される。その後、redirectorプロセス
は、proxyサーバ計算機の選択を行ない、その選択
されたproxyサーバ計算機が99であれば、pro
xyサーバ計算機99のproxyプロセス89に対し
てアクセス要求を中継する(95)。
【0288】また、受信したredirectorプロ
セスの動作しているproxyサーバ計算機と選択され
たproxyサーバ計算機がともに98である場合、読
出要求の中継はネットワーク上に送出されずproxy
サーバ計算機98内部で直接行なわれる(96)。そし
て、proxyプロセス(86または89)が広域ネッ
トワーク61を介してサーバ計算機11に対してアクセ
ス要求を送出する(62または63)。
【0289】サーバ計算機11から取得したファイルオ
ブジェクトをキャッシュファイル(87または90)に
格納する処理は、上述した処理と同様であるので詳細な
説明は繰返さない。
【0290】また、このredirectorプロセス
の機能を、proxyサーバ計算機上でproxyサー
バとしての機能を実現しているプログラムに直接組込む
ことも可能である。
【0291】したがって、redirector計算機
とproxyサーバ計算機の通信の一部がproxyサ
ーバ計算機内部で処理されるため、ローカルネットワー
ク上での通信量が削減できる。また、独立したredi
rector計算機を用意する必要がなく、proxy
サーバ計算機を利用してredirector計算機の
機能を実現できるためコストを削減することが可能にな
る。
【0292】[実施の形態7]実施の形態4のredi
rector計算機72〜77はアクセス要求の中継の
みを行なっていた。しかし、図23で説明したようなツ
リー状の構成が有効であるような大規模なローカルネッ
トワークでは、1次キャッシュproxyサーバ計算機
503〜508の持つキャッシュ機能をredirec
tor計算機に持たせることによって、ネットワーク上
の通信量およびproxyサーバ計算機の負荷を軽減す
ることが可能となる。図14は、そのシステム構成を示
す図である。redirectorサーバ計算機40〜
45は、図11に示すredirector計算機80
と図16に示すproxyサーバ計算機13を組合せる
ことにより可能である。すなわち、図16のリード要求
17を図11のredirectorプロセス81が受
信することによって実現可能であるので、ここでの詳細
な説明は繰返さない。また、実施の形態5におけるクラ
イアント計算機内部でキャッシュを行なうことによって
も、ローカルネットワーク上の通信量の削減とprox
yサーバ計算機の負荷を軽減することが可能となる。
【0293】上述したように、redirector計
算機においてキャッシュすることにより、ローカルネッ
トワーク上のでの通信量およびproxyサーバ計算機
の負荷を軽減することができる。
【0294】[実施の形態8]上述した実施の形態4か
ら7は、排他的に使用されなければいけないものではな
い。すなわち、実施の形態8においてはredirec
tor機能を実現するすべての計算機(proxyサー
バ計算機、クライアント計算機、redirector
計算機)において、redirector機能の使用す
るハッシュ関数が同一であり、すべてのアクセス要求が
それぞれ同一のproxyサーバ計算機等のキャッシュ
機能を有する計算機で中継およびキャッシュされれば、
実施の形態4〜7に記載された各種の計算機は、単一の
ネットワーク内に混在して使用されても全く問題はな
い。したがって、それぞれの会社等の組織におけるさま
ざまなネットワークや計算機の運用事情に応じ、非常に
柔軟なネットワーク運用を行なうことが可能となる。
【0295】ある程度以上の大規模なローカルネットワ
ークでは、広域ネットワークとの接続が複数の経路(図
8の62〜64)からなる場合もある。そのような場
合、proxyサーバ計算機ごとに異なる経路を使用す
ると、クライアント計算機からのアクセス要求を複数あ
る経路に分散して中継することになる。したがって、複
数ある広域ネットワークとの通信経路を有効利用し、広
域ネットワークとローカルネットワークとの通信のスル
ープット向上が図れる。
【0296】実際の運用においては、すべての計算機の
設定を一度に変えることは現実的ではない。移行には暫
く時間がかかることが普通である。より効率のよい運用
を図るためには、すべてのredirector機能を
有する計算機内でハッシュ関数を一致させる必要がある
ため、すべてのクライアント計算機がredirect
or計算機を利用するようシステムを構築するか、クラ
イアント計算機がredirector機能を持つ必要
がある。しかし、そのようなシステムを構築しなくても
redirector機能を有する計算機を使用するこ
とは可能である。すなわち、本発明の各方式では、従来
のproxyサーバ計算機やクライアント計算機を全く
手を付けない状態で、システムの一部にredirec
tor機能を持たせて、システム全体はそのまま使用す
ることも可能である。
【0297】同様に、システムの再構築の際、複数のr
edirector機能におけるハッシュ関数が一致し
ない場合もあり得る。このような場合でも、システム全
体の動作自体には影響はないので、通常と同様に利用が
可能である。上述したいずれの場合も利用は可能である
が、proxyサーバ計算機その他の有効利用の観点か
らは望ましい状況とはいえない。したがって、できるだ
け早い時期にすべてのredirector機能を有す
る計算機での設定を統一させることが望ましい。しかし
移行期に新旧の設定を混在していても不必要な混乱を起
こさず、スムーズに移行することが可能である。
【0298】なお、httpプロトコルを含めた参考文
献リストを以下に示す。
【0299】
【数26】
【0300】
【数27】
【図面の簡単な説明】
【図1】本発明におけるゲートウェイ装置の一例である
proxyサーバ計算機の動作概念図である。
【図2】WWWサーバ内の情報ページをクライアント計
算機に読出したときの表示画面を示す図である。
【図3】実施の形態1のゲートウェイ装置であるpro
xyサーバ計算機で行なわれるキャッシュ更新プロセス
の処理手順を示すフローチャートである。
【図4】proxyプロセスにおけるキャッシュファイ
ル管理の処理手順を示すフローチャートである。
【図5】実施の形態2のゲートウェイ装置であるpro
xyサーバ装置で行なわれるキャッシュ更新プロセスの
処理手順を示すフローチャートである。
【図6】実施の形態3のゲートウェイ装置であるpro
xyサーバ装置で行なわれるキャッシュ更新プロセスの
処理手順を示すフローチャートである。
【図7】本発明を実施した場合のサーバ計算機とクライ
アント計算機の間で転送されるデータのタイムチャート
である。
【図8】実施の形態4における分散ファイルシステムの
全体構成を示す図である。
【図9】実施の形態4におけるredirector計
算機の処理手順を示すフローチャートである。
【図10】図2に示す同一ページのファイルオブジェク
トに対するアクセス要求が2台のサーバ計算機に分散さ
れるようすを示す図である。
【図11】実施の形態4におけるredirector
計算機の内部構成を示す図である。
【図12】実施の形態5におけるクライアント計算機の
内部構成を示す図である。
【図13】実施の形態6におけるproxyサーバ計算
機の内部構成を示す図である。
【図14】実施の形態7における分散ファイルシステム
の全体構成を示す図である。
【図15】従来のゲートウェイ計算機の構成を示す図で
ある。
【図16】proxyサーバ装置の概念図である。
【図17】proxyサーバ装置の回路構成の第1の例
を示す図である。
【図18】proxyサーバ装置の回路構成の第2の例
を示す図である。
【図19】proxyサーバ装置の回路構成の第3の例
であって、本願発明の実施の形態でproxyサーバ装
置としても使用されるproxyサーバ装置の回路構成
を示す図である。
【図20】キャッシュヒット率と平均アクセス速度との
関係を示すグラフである。
【図21】キャッシュファイルサイズとキャッシュヒッ
ト率との関係を示すグラフである。
【図22】キャッシュ有効期限とキャッシュファイルの
大きさとの関係を示すグラフである。
【図23】従来の分散ファイルシステムの全体構成の第
1の例を示す図である。
【図24】従来の分散ファイルシステムの全体構成の第
2の例を示す図である。
【図25】従来の分散ファイルシステムの全体構成の第
3の例を示す図である。
【図26】従来の分散ファイルシステムにおけるサーバ
計算機内のデータの更新とクライアント計算機が読出し
たデータとの関係を示すタイムチャートである。
【符号の説明】 11 サーバ計算機 14 第1のproxyプロセス 15 アクセスログ 16 キャッシュファイル 30 パターンファイル 34 第2のproxyプロセス 35 FIFOバッファ 36 キャッシュ更新プロセス 72〜77 redirector計算機
フロントページの続き (56)参考文献 特開 平3−263940(JP,A) 特開 平8−55072(JP,A) 特開 平4−313126(JP,A) 特開 平6−309264(JP,A) 特開 平6−12388(JP,A) 特開 平9−204347(JP,A) −Super Proxy Scri pt− URLハッシュ式分散Prox yキャッシュ,日本,シャープ株式会 社,1996年 8月 9日,CSDB: JP−N4−01−6782,URL,htt p;//naragw.sharp.c o.jp/sps/indexj.ht ml (58)調査した分野(Int.Cl.7,DB名) G06F 12/00 546 G06F 13/00 540 G06F 17/30 H04L

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】 クライアント計算機が接続される第1の
    ネットワークと、サーバ計算機が接続される第2のネッ
    トワークとの間に介在するように設けられるゲートウェ
    イ装置であって、 前記第1のネットワークのクライアント計算機からのフ
    ァイルオブジェクトに対するアクセス要求に応答して、
    当該ファイルオブジェクトにより指定される前記第2の
    ネットワークのサーバ計算機に対して、当該ファイルオ
    ブジェクトに対するアクセス要求を行なうネットワーク
    ファイル中継手段を含み、 前記ネットワークファイル中継手段は、 取得したファイルオブジェクトを、所定の有効期限が経
    過するまで一時的に蓄積するとともに、最終変更時刻を
    ファイルオブジェクト単位で記録するためのキャッシュ
    ファイル手段と、 過去の一定期間内に行なわれたファイルオブジェクトの
    転送記録を蓄積するファイル転送記録手段と、 ファイルオブジェクトに対するアクセス要求に応答し
    て、当該ファイルオブジェクトの最終変更時刻を参照
    し、有効期限内のファイルオブジェクトが前記キャッシ
    ュファイル手段に存在する場合は当該ファイルオブジェ
    クトをクライアント計算機に転送し、有効期限内のファ
    イルオブジェクトが前記キャッシュファイル手段に存在
    しない場合には当該ファイルオブジェクトにより指定さ
    れるサーバ計算機の当該ファイルオブジェクトを取得し
    てクライアント計算機に転送するための転送手段とを含
    み、 前記ゲートウェイ装置はさらに、前記ファイル転送記録
    手段から所定の規則に従って転送記録を抽出し、当該転
    送記録のファイルオブジェクトを前記第2のネットワー
    クのサーバ計算機から取得して前記キャッシュファイル
    手段に格納するためのキャッシュ更新手段を含むゲート
    ウェイ装置。
  2. 【請求項2】 前記キャッシュ更新手段はさらに、特定
    の文字列パターンを予め記憶するための文字列パターン
    記憶手段を含み、 前記キャッシュ更新手段は、前記特定の文字列パターン
    と一致するファイルオブジェクト名称を含む転送記録を
    前記ファイル転送記録手段から抽出し、当該ファイルオ
    ブジェクトを前記第2のネットワークのサーバ計算機か
    ら取得して前記キャッシュファイル手段に格納する、請
    求項1記載のゲートウェイ装置。
  3. 【請求項3】 前記ネットワークファイル中継手段は、
    各々が第1のネットワークのクライアント計算機からの
    ファイルオブジェクトのアクセス要求を処理するための
    第1の転送プロセスを複数個、同時並列的に起動させ、 前記キャッシュ更新手段は、各々が1つの前記ファイル
    オブジェクトの取得を行なうための第2の転送プロセス
    を複数個、同時並列的に起動させ、前記第1の転送プロ
    セスの数を検知して、前記第1の転送プロセスの数と前
    記第2の転送プロセスの数との和が予め定められる上限
    以下となるように前記第2の転送プロセスの新たな起動
    を制御する、請求項1記載のゲートウェイ装置。
  4. 【請求項4】 前記キャッシュ更新手段は、前記ファイ
    ル転送記録手段の中から、キャッシュにヒットしたファ
    イルオブジェクトの転送記録を抽出し、当該ファイルオ
    ブジェクトを前記第2のネットワークのサーバ計算機か
    ら取得して前記キャッシュファイル手段に格納する、請
    求項1記載のゲートウェイ装置。
  5. 【請求項5】 前記キャッシュ更新手段はさらに、前記
    ファイル転送記録手段の末尾から転送記録を順次読出し
    て格納し、先に格納された転送記録から順に出力するF
    IFOバッファ手段を含み、 前記キャッシュ更新手段は、前記FIFOバッファ手段
    から転送記録を読出して、当該転送記録のファイルオブ
    ジェクトを前記第2のネットワークのサーバ計算機から
    取得して前記キャッシュファイル手段に格納する、請求
    項1記載のゲートウェイ装置。
  6. 【請求項6】 前記キャッシュ更新手段は、前記ファイ
    ル転送記録手段から抽出した転送記録のファイルオブジ
    ェクトの前回の更新が所定時間以内であれば、前記第2
    のネットワークのサーバ計算機へのアクセスを行なわな
    い、請求項1記載のゲートウェイ装置。
  7. 【請求項7】 クライアント計算機とサーバ計算機とキ
    ャッシュサーバ計算機とが少なくとも1つのネットワー
    クを含むネットワーク網上に構成され、該ネットワーク
    網に接続されるゲートウェイ装置であって、 前記クライアント計算機からのファイルオブジェクトに
    対するアクセス要求に対して、当該アクセス要求に含ま
    れるファイルオブジェクトを特定するデータに基づい
    て、アクセス要求を出力すべきゲートウェイ装置を決定
    する演算を行ない、該演算結果に基づいてゲートウェイ
    装置を選択し、該選択が他のゲートウェイ装置であれ
    ば、当該アクセス要求を前記他のゲートウェイ装置へ出
    力するための中継制御手段と、 前記サーバ計算機から取得したファイルオブジェクト
    を、所定の有効期限が経過するまで一時的に蓄積すると
    ともに、最終変更時刻をファイルオブジェクト単位で記
    録するためのキャッシュファイル手段と、 過去の、一定時間内に行なわれたファイルオブジェクト
    の転送記録を蓄積するためのファイル転送記録手段と、 前記中継制御手段が自身のゲートウェイ装置を選択した
    場合と前記他のゲートウェイ装置からアクセス要求を受
    信した場合に、ファイルオブジェクトに対するアクセス
    要求に応答して、当該ファイルオブジェクトの最終変更
    時刻を参照し、有効期限内のファイルオブジェクトが前
    記キャッシュファイル手段に存在する場合は当該ファイ
    ルオブジェクトをクライアント計算機に転送し、有効期
    限内のファイルオブジェクトが前記キャッシュファイル
    手段に存在しない場合には当該ファイルオブジェクトに
    より指定されるサーバ計算機の当該ファイルオブジェク
    トを取得してクライアント計算機に転送するための転送
    手段とを含むゲートウェイ装置。
JP17456196A 1996-07-04 1996-07-04 ゲートウェイ装置、クライアント計算機およびそれらを接続した分散ファイルシステム Expired - Fee Related JP3481054B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17456196A JP3481054B2 (ja) 1996-07-04 1996-07-04 ゲートウェイ装置、クライアント計算機およびそれらを接続した分散ファイルシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17456196A JP3481054B2 (ja) 1996-07-04 1996-07-04 ゲートウェイ装置、クライアント計算機およびそれらを接続した分散ファイルシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2003292960A Division JP3485915B1 (ja) 2003-08-13 2003-08-13 ゲートウェイ装置、クライアント計算機およびプロキシサーバ計算機

Publications (2)

Publication Number Publication Date
JPH1021134A JPH1021134A (ja) 1998-01-23
JP3481054B2 true JP3481054B2 (ja) 2003-12-22

Family

ID=15980718

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17456196A Expired - Fee Related JP3481054B2 (ja) 1996-07-04 1996-07-04 ゲートウェイ装置、クライアント計算機およびそれらを接続した分散ファイルシステム

Country Status (1)

Country Link
JP (1) JP3481054B2 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8079086B1 (en) 1997-11-06 2011-12-13 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US7058822B2 (en) 2000-03-30 2006-06-06 Finjan Software, Ltd. Malicious mobile code runtime monitoring system and methods
US9219755B2 (en) 1996-11-08 2015-12-22 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
JPH11120048A (ja) 1997-10-20 1999-04-30 Fujitsu Ltd クライアント/サーバ分散システムにおけるデータキャッシング装置及び方法並びにデータキャッシングプログラムを記録した媒体
JP3844588B2 (ja) 1998-03-05 2006-11-15 富士通株式会社 情報管理システム、ローカルコンピュータ、及び情報取得プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH11284682A (ja) * 1998-03-31 1999-10-15 Fuji Photo Film Co Ltd 画像転送システム
JP3307337B2 (ja) * 1998-09-16 2002-07-24 日本電気株式会社 Wwwゲートウェイ及びwww通信システム
SE514376C2 (sv) * 1998-09-24 2001-02-19 Mirror Image Internet Inc Ett internet-cachningssystem samt ett förfarande och anordning i ett sådant system
US6438652B1 (en) * 1998-10-09 2002-08-20 International Business Machines Corporation Load balancing cooperating cache servers by shifting forwarded request
US6490615B1 (en) * 1998-11-20 2002-12-03 International Business Machines Corporation Scalable cache
JP2000330910A (ja) * 1999-05-24 2000-11-30 Mitsubishi Electric Corp 情報提供システムにおけるサーバコンピュータ
JP3664917B2 (ja) 1999-08-06 2005-06-29 シャープ株式会社 ネットワーク情報の表示方法およびその方法をプログラムとして格納した記憶媒体ならびにそのプログラムを実行するコンピュータ
JP3463803B2 (ja) * 1999-11-09 2003-11-05 松下電器産業株式会社 クラスタサーバ装置
US6820133B1 (en) * 2000-02-07 2004-11-16 Netli, Inc. System and method for high-performance delivery of web content using high-performance communications protocol between the first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination
JP2002082923A (ja) * 2000-09-08 2002-03-22 Nippon Telegr & Teleph Corp <Ntt> 情報収集方法、情報収集装置、情報収集プログラムを記録した記録媒体
US7117262B2 (en) * 2000-11-01 2006-10-03 Inktomi Corporation Cooperative management of distributed network caches
JP2002342279A (ja) * 2001-03-13 2002-11-29 Fujitsu Ltd フィルタリング装置、フィルタリング方法およびこの方法をコンピュータに実行させるプログラム
JP2003256392A (ja) * 2002-03-04 2003-09-12 Ntt Comware Corp ロードバランス制御装置及びロードバランス制御方法
EP1540519A4 (en) * 2002-06-28 2010-04-28 Omniture Inc COLLECTION AND PRESENTATION OF LOCATION VISITING ROUTE DATA
JP2007026374A (ja) * 2005-07-21 2007-02-01 Toshiba Corp プログラム配信方法
KR100705114B1 (ko) * 2005-12-09 2007-04-06 현대자동차주식회사 자동차의 루프 몰딩 장착용 클립구조
JP2010170182A (ja) * 2009-01-20 2010-08-05 Mitsubishi Electric Corp データ表示装置及びデータ表示システム
JP5727919B2 (ja) * 2011-11-14 2015-06-03 株式会社オプティム 設定方法、設定プログラム及び電化製品
JP5530474B2 (ja) * 2012-03-22 2014-06-25 ヤフー株式会社 情報処理装置及び方法
US9507789B2 (en) 2012-06-11 2016-11-29 Canon Information and Imagin Solutions, Inc. System, relay server apparatus, information processing method and computer-readable medium
JP6242087B2 (ja) 2013-06-07 2017-12-06 キヤノン株式会社 文書管理サーバ、文書管理方法、コンピュータプログラム
JP7426020B2 (ja) * 2021-09-30 2024-02-01 17Live株式会社 キャッシュttlを決定するためのシステム、方法、及びコンピュータ可読媒体

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2958388B2 (ja) * 1990-03-14 1999-10-06 富士ゼロックス株式会社 ネットワーク中継装置、中継方法、およびサーバ
JPH04313126A (ja) * 1991-04-11 1992-11-05 Nec Corp 分散ファイルシステムのファイル入出力方式
JPH0612388A (ja) * 1992-06-25 1994-01-21 Hitachi Ltd 分散ファイルのアクセス方式
US5511208A (en) * 1993-03-23 1996-04-23 International Business Machines Corporation Locating resources in computer networks having cache server nodes
JPH0855072A (ja) * 1994-08-12 1996-02-27 Matsushita Electric Ind Co Ltd ネットワークシステムとデータ処理システムとデータ蓄積方法
JP3386964B2 (ja) * 1995-11-20 2003-03-17 シャープ株式会社 ゲートウェイ装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
−Super Proxy Script− URLハッシュ式分散Proxyキャッシュ,日本,シャープ株式会社,1996年 8月 9日,CSDB: JP−N4−01−6782,URL,http;//naragw.sharp.co.jp/sps/indexj.html

Also Published As

Publication number Publication date
JPH1021134A (ja) 1998-01-23

Similar Documents

Publication Publication Date Title
JP3481054B2 (ja) ゲートウェイ装置、クライアント計算機およびそれらを接続した分散ファイルシステム
US6192398B1 (en) Remote/shared browser cache
US6182111B1 (en) Method and system for managing distributed data
US6338117B1 (en) System and method for coordinated hierarchical caching and cache replacement
US7769823B2 (en) Method and system for distributing requests for content
US6981105B2 (en) Method and apparatus for invalidating data in a cache
US6801927B1 (en) Network adaptor card with reverse proxy and cache and method implemented therewith
US6574715B2 (en) Method and apparatus for managing internal caches and external caches in a data processing system
US6457103B1 (en) Method and apparatus for caching content in a data processing system with fragment granularity
US6877025B2 (en) Integrated JSP and command cache for web applications with dynamic content
US6615235B1 (en) Method and apparatus for cache coordination for multiple address spaces
US8032586B2 (en) Method and system for caching message fragments using an expansion attribute in a fragment link tag
US7730154B2 (en) Method and system for fragment linking and fragment caching
US7702800B2 (en) Detecting and handling affinity breaks in web applications
JP5193056B2 (ja) 無線装置の最新データを維持するための方法及びシステム
US8078686B2 (en) High performance file fragment cache
US6557076B1 (en) Method and apparatus for aggressively rendering data in a data processing system
US20020116582A1 (en) Batching of invalidations and new values in a web cache with dynamic content
US20100325363A1 (en) Hierarchical object caching based on object version
CN1234086C (zh) 用于高速缓存文件信息的系统和方法
US20020116583A1 (en) Automatic invalidation dependency capture in a web cache with dynamic content
US20020111992A1 (en) JSP composition in a cache for web applications with dynamic content
JP2000181843A (ja) 情報中継装置及び記憶媒体
US20020112125A1 (en) Command caching to improve network server performance
JP3485915B1 (ja) ゲートウェイ装置、クライアント計算機およびプロキシサーバ計算機

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030617

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030924

LAPS Cancellation because of no payment of annual fees