JP3386964B2 - Gateway device - Google Patents

Gateway device

Info

Publication number
JP3386964B2
JP3386964B2 JP30774996A JP30774996A JP3386964B2 JP 3386964 B2 JP3386964 B2 JP 3386964B2 JP 30774996 A JP30774996 A JP 30774996A JP 30774996 A JP30774996 A JP 30774996A JP 3386964 B2 JP3386964 B2 JP 3386964B2
Authority
JP
Japan
Prior art keywords
file
cache
network
transfer
file object
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
JP30774996A
Other languages
Japanese (ja)
Other versions
JPH09204347A (en
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 JP30774996A priority Critical patent/JP3386964B2/en
Publication of JPH09204347A publication Critical patent/JPH09204347A/en
Application granted granted Critical
Publication of JP3386964B2 publication Critical patent/JP3386964B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、ネットワーク上に
分散した複数のサーバ計算機と、複数のクライアント計
算機とがゲートウェイ装置(計算機)を介して通信回線
で相互接続されている分散ファイルシステムに関し、特
に、複数のクライアント計算機が、ゲートウェイ計算機
を介してサーバ計算機内部の記憶装置内のファイルオブ
ジェクトにアクセスする場合の分散ファイルシステムの
ファイル中継を行なうゲートウェイ装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a distributed file system in which a plurality of server computers distributed on a network and a plurality of client computers are interconnected by a communication line via a gateway device (computer), and more particularly, to a distributed file system. The present invention relates to a gateway device that relays files in a distributed file system when a plurality of client computers access file objects in a storage device inside a server computer via the gateway computer.

【0002】[0002]

【従来の技術】以下の説明中で「サーバ計算機」とは、
ネットワーク上において何らかのサービスを提供してい
る計算機をいい、「クライアント計算機」とは、そうし
たサーバ計算機のサービスを要求し、受ける計算機をい
うものとする。また「ファイルオブジェクト」とは、フ
ァイルシステムの利用するネットワークプロトコルと、
ネットワークアドレス(サーバ計算機の名称)と、ファ
イル名称と、ファイルの実体との組をいうものとする。
ここで「ファイルオブジェクトの名称」とは、ネットワ
ークプロトコルとネットワークアドレスとファイル名称
との組のことをいう。
2. Description of the Related Art In the following explanation, "server computer" means
A computer that provides some kind of service on the network, and a "client computer" is a computer that requests and receives the service of such a server computer. The "file object" is the network protocol used by the file system,
A set of network address (name of server computer), file name, and file entity.
Here, the "file object name" refers to a set of a network protocol, a network address, and a file name.

【0003】従来、上述したような分散ファイルシステ
ムにおいては、複数のクライアント計算機からのサーバ
計算機上のファイルオブジェクトに対する読出要求は、
一旦途中のゲートウェイ計算機で中継されていた。ゲー
トウェイ計算機がサーバ計算機から読出したファイルオ
ブジェクトは、クライアント計算機に中継される。それ
と同時にそれらファイルオブジェクトは、ゲートウェイ
計算機内部のキャッシュファイル(固定ディスク、半導
体メモリなど)に蓄積される。そうしたゲートウェイ計
算機の一例が特開平4−313126号公報(発明の名
称「分散ファイルシステムのファイル入出力方式」)に
開示されている。
Conventionally, in the distributed file system as described above, a read request for a file object on a server computer from a plurality of client computers is
It was once being relayed by a gateway computer on the way. The file object read from the server computer by the gateway computer is relayed to the client computer. At the same time, those file objects are stored in a cache file (fixed disk, semiconductor memory, etc.) inside the gateway computer. An example of such a gateway computer is disclosed in Japanese Patent Application Laid-Open No. 4-313126 (the title of the invention "file input / output method of distributed file system").

【0004】図12を参照して、この従来技術に開示さ
れたシステムは、ゲートウェイ計算機110と、このゲ
ートウェイ計算機110を介して相互に接続されたサー
バ計算機100および複数のクライアント計算機120
を含む。サーバ計算機100は、複数のクライアント計
算機120によって共有されている。
With reference to FIG. 12, the system disclosed in this prior art has a gateway computer 110, a server computer 100 and a plurality of client computers 120 interconnected via the gateway computer 110.
including. The server computer 100 is shared by a plurality of client computers 120.

【0005】サーバ計算機100は、ファイルを格納す
るディスク装置136と、ネットワークを介してディス
ク装置136のファイルの内容を入出力するためのファ
イル入出力応答手段134と、ディスク装置136内の
ブロック情報をネットワークを介してクライアント計算
機120に応答するためのブロック情報応答手段132
とを含む。
The server computer 100 stores a disk device 136 for storing files, a file input / output response means 134 for inputting / outputting the contents of files of the disk device 136 via a network, and block information in the disk device 136. Block information response means 132 for responding to the client computer 120 via the network
Including and

【0006】クライアント計算機120は、サーバ計算
機100のブロック情報応答手段132に対してブロッ
ク情報要求を送り、ブロック情報を受けるためのブロッ
ク情報要求手段152と、ゲートウェイ計算機110を
介してサーバ計算機100のファイル入出力応答手段1
34に対してファイル入出力要求を送り、当該ファイル
を受信するためのファイル入出力要求手段154とを含
む。
The client computer 120 sends a block information request to the block information responding means 132 of the server computer 100, receives block information from the block information requesting means 152, and a file of the server computer 100 via the gateway computer 110. Input / output response means 1
And a file input / output requesting means 154 for sending a file input / output request to and receiving the file.

【0007】ゲートウェイ計算機110は、クライアン
ト計算機120(複数)とサーバ計算機100との間に
介在し、サーバ計算機100内のディスク装置136
と、各クライアント計算機120との間のキャッシュメ
モリとして機能するものであり、キャッシュした内容を
格納するためのディスクキャッシュ144と、ファイル
入出力要求手段154およびファイル入出力応答手段1
34の間に介在するキャッシュ管理手段142とを含
む。
The gateway computer 110 is interposed between the client computers 120 (plurality) and the server computer 100, and a disk device 136 in the server computer 100.
A disk cache 144 for storing the cached contents, a file input / output requesting means 154, and a file input / output responding means 1.
And a cache management unit 142 interposed between 34.

【0008】図12を参照して、このシステムは次のよ
うに動作する。まず、クライアント計算機120がサー
バ計算機100内のディスク装置136中のファイルに
アクセスして1つのブロックを読込む場合の動作につい
て説明する。ブロック情報要求手段150は、ゲートウ
ェイ計算機110を介してサーバ計算機100に対して
読込対象のブロックにかかるブロック情報の取得を要求
するブロック情報要求メッセージを発行する。
With reference to FIG. 12, this system operates as follows. First, the operation when the client computer 120 accesses a file in the disk device 136 in the server computer 100 and reads one block will be described. The block information requesting unit 150 issues a block information request message to the server computer 100 via the gateway computer 110 to request acquisition of block information regarding the block to be read.

【0009】サーバ計算機100内のブロック情報応答
手段132は、このメッセージに応答して、ディスク装
置136から該当するブロック情報を取出し、そのブロ
ック情報を有するブロック情報応答メッセージをゲート
ウェイ計算機110を介してクライアント計算機120
内のブロック情報要求手段152に返却する。
In response to this message, the block information response means 132 in the server computer 100 retrieves the corresponding block information from the disk device 136, and sends a block information response message containing the block information to the client via the gateway computer 110. Calculator 120
It is returned to the block information requesting means 152 inside.

【0010】クライアント計算機120のファイル入出
力要求手段150は、返却されたブロック情報に基づい
て、読込対象のブロックの読込を要求するファイルアク
セス要求を、ゲートウェイ計算機110内のキャッシュ
管理手段142に対して発行する。
The file input / output requesting means 150 of the client computer 120 sends a file access request for requesting the reading of the block to be read to the cache managing means 142 in the gateway computer 110 based on the returned block information. Issue.

【0011】このファイルアクセス要求を受取ったキャ
ッシュ管理手段142は、そのファイルアクセス要求に
かかるブロック情報と、ディスクキャッシュ144に記
憶されている読込対象のブロックにかかるブロック情報
との比較を行なう。そしてディスクキャッシュ144
に、該当するブロック情報が存在しない場合、または両
方のブロック情報の内容(更新時刻)が異なる場合(読
込対象のブロックのキャッシュが有効でない場合)に
は、キャッシュ管理手段142は上述のファイルアクセ
ス要求をサーバ計算機100のファイル入出力応答手段
134に対して発行する。
Upon receiving the file access request, the cache management means 142 compares the block information related to the file access request with the block information related to the read target block stored in the disk cache 144. And the disk cache 144
If the corresponding block information does not exist, or if the contents (update time) of both block information are different (when the cache of the block to be read is not valid), the cache management unit 142 causes the file access request described above. Is issued to the file input / output response means 134 of the server computer 100.

【0012】サーバ計算機100のファイル入出力応答
手段134は、このファイルアクセス要求に応答して、
ディスク装置136内のファイルをアクセスして、該当
するブロックを読込み、ゲートウェイ計算機110にそ
のブロックを転送する。
The file input / output response means 134 of the server computer 100 responds to this file access request by
The file in the disk device 136 is accessed, the corresponding block is read, and the block is transferred to the gateway computer 110.

【0013】キャッシュ管理手段142は、このブロッ
クをディスクキャッシュ144に格納し、そのブロック
にかかるブロック情報のディスクキャッシュ144への
設定または更新を行なう。キャッシュ管理手段142は
同時に、そのブロックをクライアント計算機120のフ
ァイル入出力要求手段154に対して転送する。
The cache management means 142 stores this block in the disk cache 144, and sets or updates the block information related to the block in the disk cache 144. At the same time, the cache management means 142 transfers the block to the file input / output request means 154 of the client computer 120.

【0014】以上でディスクキャッシュ144内に有効
なファイルが存在しない場合のこのシステムの動作につ
いて説明した。
The operation of this system when there is no valid file in the disk cache 144 has been described above.

【0015】次回に同一ファイルに対するアクセス要求
があった場合には、ゲートウェイ計算機110のキャッ
シュ管理手段142は、ディスクキャッシュ144から
当該ブロックを取出し、アクセス要求を発行したクライ
アント計算機120のファイル入出力要求手段154に
対して当該ブロックを転送する。したがってこの場合、
ゲートウェイ計算機110からサーバ計算機100に対
する転送要求は発行されない。したがって中継アクセス
の高速化が図られる。
When there is an access request for the same file next time, the cache management means 142 of the gateway computer 110 fetches the block from the disk cache 144 and the file input / output request means of the client computer 120 which issued the access request. The block is transferred to 154. So in this case,
No transfer request is issued from the gateway computer 110 to the server computer 100. Therefore, the speed of relay access can be increased.

【0016】類似の技術が、特開昭63−200244
号公報(発明の名称「ファイル・アクセス・システ
ム」)や、特開昭63−20184号公報(発明の名称
「遠隔ファイル・アクセス・システム」)にも開示され
ている。いずれの技術においても、あるファイルオブジ
ェクトに対するアクセス要求が発行された場合に、当該
ファイルオブジェクトの内容が更新されているかどうか
を確認するために、サーバ計算機の保持するファイルオ
ブジェクトの変更時刻をキャッシュファイルの変更時刻
と比較する。そしてキャッシュファイルの内容が古い場
合には、クライアント計算機は更新されたサーバ計算機
の内容を読出すようになっている。しかしこれら2件の
公報に記載された技術では、キャッシュファイルはクラ
イアント計算機内に存在しており、特開平4−3131
26号公報に開示されたシステムのようにシステム内に
ゲートウェイ計算機が含まれているわけではない。
A similar technique is disclosed in Japanese Patent Laid-Open No. Sho 63-200244.
JP-A-63-20184 (Title of Invention: "Remote File Access System"). In any of the technologies, when an access request for a file object is issued, the modification time of the file object held by the server computer is stored in the cache file in order to check whether the content of the file object has been updated. Compare with the change time. When the contents of the cache file are old, the client computer reads the updated contents of the server computer. However, in the technologies described in these two publications, the cache file exists in the client computer, and therefore, JP-A-4-3131
Unlike the system disclosed in Japanese Patent Publication No. 26, the gateway computer is not included in the system.

【0017】しかしこれら3件の従来技術文献は、サー
バ計算機のファイルオブジェクトと、キャッシュされた
ファイルオブジェクトとの内容が食い違わないような工
夫をしているという共通点を持っている。
However, these three prior art documents have a common feature in that the contents of the file object of the server computer and the cached file object do not conflict with each other.

【0018】このように本来同一であるべきファイルの
食い違いを防ぐことをインテグリティ(Integrity )を
保つという。また、食い違いの起きたファイルのデータ
をステールデータ(stale data)と呼ぶ。
In this way, the prevention of the discrepancy between the files that should originally be the same is called maintaining the integrity. Also, the data of the file in which the discrepancy occurs is called stale data.

【0019】上述した従来の技術の基本は、ネットワー
ク経由でサーバ計算機の、該当するファイルオブジェク
トの変更時刻を調べ、対応するキャッシュファイルの内
容の変更時刻と比較するアルゴリズムを使用している。
そのためサーバ計算機に対するネットワーク経由の問合
せを必ず行なわなければならない。ネットワークの実効
的な転送速度が小さい場合や、該当するファイルオブジ
ェクトを有するサーバ計算機にかかっている負荷が高く
て即座に応答できない場合には、そうした問合せ自体に
かなり時間がかかってしまうことがある。そのためネッ
トワークファイルシステムによっては、このようなファ
イルキャッシュのシステムを採用していない場合もあ
る。すなわちこうしたシステムでは、サーバ計算機の保
持するファイルオブジェクトが更新されているにもかか
わらず、ゲートウェイ計算機の持つキャッシュ内の対応
するファイルオブジェクトは必ずしも更新されていな
い。このようなネットワークファイルシステム方式の代
表的なものとして、いわゆるインターネットにおけるH
TTP(HyperText Transfer Protocol )を使った広域
分散型マルチメディア情報システムがある。
The basis of the above-mentioned conventional technique uses an algorithm for checking the modification time of the corresponding file object of the server computer via the network and comparing it with the modification time of the content of the corresponding cache file.
Therefore, it is necessary to make an inquiry to the server computer via the network. If the effective transfer rate of the network is low, or if the load on the server computer having the corresponding file object is too high to respond immediately, such a query itself may take a considerable amount of time. Therefore, depending on the network file system, such a file cache system may not be adopted. That is, in such a system, although the file object held by the server computer is updated, the corresponding file object in the cache of the gateway computer is not necessarily updated. A typical example of such a network file system system is the H in the so-called Internet.
There is a wide-area distributed multimedia information system using TTP (HyperText Transfer Protocol).

【0020】インターネットは、その基本プロトコルと
してTCP/IPプロトコルを利用した、グローバルな
ネットワークである。インターネット上に構築された地
域分散型マルチメディア情報提供システムは、World Wi
de Web(WWW )と呼ばれる。WWWは、ネットワーク上
に分散したファイルオブジェクトを扱うことができる。
これらのファイルオブジェクトは、単なるテキストデー
タにとどまらず、画像データ、音声データ、ビデオ画像
データなどさまざまな種類のものを含む。WWWは、情
報提供側にとっても、情報利用者(ユーザ)にとっても
魅力的であるため、ネットワーク上のWWWに関するト
ラフィックが爆発的に増加している。WWWシステムで
は、クライアント計算機のユーザは、グラフィカルユー
ザインタフェースを持ったブラウザソフトウェアをクラ
イアント計算機上で実行させるだけで、ネットワーク上
に分散したサーバ計算機の保持するさまざまなファイル
オブジェクトで構成された情報を次々とアクセスするこ
とができる。WWWは、このような操作の簡単さのため
に近時めざましい普及を見せている。
The Internet is a global network using the TCP / IP protocol as its basic protocol. A globally distributed multimedia information provision system built on the Internet is World Wi
Called de Web (WWW). WWW can handle file objects distributed on the network.
These file objects include various types such as image data, audio data, video image data, etc., as well as simple text data. Since the WWW is attractive to both the information provider and the information user (user), the traffic related to WWW on the network is explosively increasing. In the WWW system, the user of the client computer only needs to execute browser software having a graphical user interface on the client computer, and the information composed of various file objects held by the server computers distributed on the network is successively displayed. Can be accessed. The WWW has recently been remarkably popular due to such ease of operation.

【0021】そしてこのWWWシステムは、TCP/I
Pプロトコルの上に構築されたHTTPプロトコルでフ
ァイルオブジェクトを転送している。
This WWW system uses TCP / I
A file object is transferred by the HTTP protocol built on the P protocol.

【0022】HTTPプロトコルを実施する上において
は、特開平4−313126号公報に記載されたような
ゲートウェイ計算機によりファイルオブジェクトを中継
転送することが広く行なわれている。データはゲートウ
ェイ装置にキャッシュされる。またWWWシステムで
は、ファイルオブジェクトの中継転送においてステール
データが発生することは容認されている。すなわちゲー
トウェイ計算機にキャッシュされている内容が、サーバ
計算機の当該ファイルオブジェクトと一致していない場
合を許容している。
In implementing the HTTP protocol, it is widely practiced to relay and transfer a file object by a gateway computer as described in JP-A-4-313126. The data is cached in the gateway device. Also, in the WWW system, it is accepted that stale data is generated in relay transfer of a file object. That is, the case where the contents cached in the gateway computer do not match the file object of the server computer is allowed.

【0023】キャッシュファイル内のステールデータの
率をステールデータ率と呼ぶこととする。何らかの方式
でキャッシュファイルの内容を更新しない限り、ステー
ルデータ率は増加する。一般にキャッシュファイルのス
テールデータ率が増加すると、クライアント計算機を操
作しているユーザは、内容が古いと自主的に判断して、
ファイルオブジェクトをサーバ計算機から再度ロードす
ることを試みる。この場合、キャッシュファイルの内容
を利用しないプロトコルが用いられる。この結果、ゲー
トウェイ計算機内のキャッシュファイルシステムが意味
を持たなくなる傾向がある。
The ratio of the stale data in the cache file will be called the stale data ratio. Unless you update the contents of the cache file in any way, the stale data rate will increase. Generally, when the tail data ratio of the cache file increases, the user operating the client computer voluntarily judges that the contents are old,
Try to reload the file object from the server machine. In this case, a protocol that does not use the contents of the cache file is used. As a result, the cache file system in the gateway computer tends to be meaningless.

【0024】一方でこのようにステールデータの発生を
容認するプロトコルの利点もある。クライアント計算機
がサーバ計算機のファイルオブジェクトのアクセスをゲ
ートウェイ計算機に中継依頼してアクセスを行なった場
合、ゲートウェイ計算機のキャッシュファイルにヒット
した場合には、キャッシュファイルからファイルオブジ
ェクトが読出されてクライアントに転送される。サーバ
装置に対する当該ファイルオブジェクトの変更時刻の問
合せは不要である。そのため短時間にファイルオブジェ
クトがキャッシュから取出され、クライアントに返送さ
れる。
On the other hand, there is an advantage of the protocol that allows the generation of the stale data as described above. When the client computer relays access to the file object of the server computer to the gateway computer for access, and if the cache file of the gateway computer is hit, the file object is read from the cache file and transferred to the client. . It is not necessary to inquire the server device of the modification time of the file object. Therefore, the file object is fetched from the cache and returned to the client in a short time.

【0025】HTTPプロトコルのようにステールデー
タを容認するネットワークファイルプロトコルは、全地
球的な広域ネットワークで利用する上で有利な点を有し
ている。すなわち、ゲートウェイ装置のキャッシュに当
該ファイルオブジェクトがキャッシュされていれば、サ
ーバ装置に対するアクセスが発生しない。その結果応答
時間の短縮を図ることができるという有利な点を持って
いる。
A network file protocol that accepts tail data, such as the HTTP protocol, has advantages for use in global wide area networks. That is, if the file object is cached in the cache of the gateway device, access to the server device does not occur. As a result, there is an advantage that the response time can be shortened.

【0026】上述のようにネットワーク上のファイルオ
ブジェクトのアクセスを高速化し、かつインターネット
のトラフィックを低減させるゲートウェイ計算機は特に
「proxy サーバ装置」とも呼ばれている。
A gateway computer that speeds up access to a file object on the network and reduces internet traffic as described above is also called a "proxy server device".

【0027】「proxy 」とは「代理人」という意味であ
る。proxy サーバ装置はその名のとおり、クライアント
計算機がネットワーク上のサーバ計算機のファイルオブ
ジェクトにアクセスする場合に、そのアクセス要求をサ
ーバ計算機を代理して受付け、ファイルオブジェクトの
転送を中継する機能を果たす。proxy サーバ装置の概念
を図13を参照して説明する。
“Proxy” means “agent”. As its name implies, the proxy server device fulfills the function of accepting the access request on behalf of the server computer and relaying the transfer of the file object when the client computer accesses the file object of the server computer on the network. The concept of the proxy server device will be described with reference to FIG.

【0028】図13を参照して、proxy サーバ装置13
は、たとえばある企業内に設けられた内部ネットワーク
23と、その企業外の外部ネットワーク(インターネッ
トなど)25との間に介在して設けられるものである。
内部ネットワーク23は複数個のクライアント計算機2
4を含み、外部ネットワーク25は、同じく複数個のサ
ーバ計算機11を含んでいる。各サーバ計算機11は、
ファイルオブジェクト12を保有している。
Referring to FIG. 13, the proxy server device 13
Is provided, for example, by intervening between an internal network 23 provided in a certain company and an external network 25 (Internet or the like) outside the company.
The internal network 23 includes a plurality of client computers 2
4, the external network 25 also includes a plurality of server computers 11. Each server computer 11
It holds the file object 12.

【0029】proxy サーバ装置13は、キャッシュファ
イル16と、クライアント計算機からリード要求19を
受け、キャッシュファイル16内に当該ファイルオブジ
ェクトが存在する場合にはそのファイルオブジェクトを
データ20として返送し、キャッシュファイル16内に
当該ファイルオブジェクトの有効なものが存在しない場
合には外部ネットワーク25を介してサーバ計算機11
に対するリード要求17を発行し、対応するファイルオ
ブジェクトをデータ18として受けてクライアント計算
機24に対して返送するproxy プロセス14と、proxy
プロセス14によるファイルオブジェクトの転送記録を
記録するアクセスログ15とを含む。proxy プロセス1
4は、サーバ計算機11からファイルオブジェクトを取
得したときには、当該ファイルオブジェクトをキャッシ
ュファイル16にも新たに書込む機能を有している。
The proxy server device 13 receives the cache file 16 and the read request 19 from the client computer, and returns the file object as data 20 when the file object exists in the cache file 16, and the cache file 16 is returned. If there is no valid file object in the server computer 11 via the external network 25
A proxy process 14 that issues a read request 17 to the client computer, receives the corresponding file object as data 18, and returns it to the client computer 24;
And an access log 15 for recording transfer records of file objects by the process 14. proxy process 1
4 has a function of newly writing the file object in the cache file 16 when the file object is obtained from the server computer 11.

【0030】このproxy サーバ装置13は次のように動
作する。まず、内部ネットワーク23内のクライアント
計算機24が、外部ネットワーク25上のサーバ計算機
11のファイルオブジェクト12に対するリード要求1
9をproxy サーバ装置13内のproxy プロセス14に対
して発行する。proxy プロセス14はこのリード要求1
9に応答して、キャッシュファイル16をアクセスし、
キャッシュファイル中に当該ファイルオブジェクトのキ
ャッシュデータがあるか否かを判定する。当該ファイル
オブジェクトがキャッシュされていれば、proxy サーバ
装置13固有のキャッシュファイル有効期限と、キャッ
シュされたファイルオブジェクトの最終変更時刻とを比
較する。キャッシュが有効期限内であれば、キャッシュ
ファイルからファイルオブジェクトを読出し(22)、
そのデータ20を内部ネットワーク23の、リード要求
19を発行したクライアント計算機24に対して返送す
る。
The proxy server device 13 operates as follows. First, the client computer 24 in the internal network 23 makes a read request 1 to the file object 12 of the server computer 11 on the external network 25.
9 is issued to the proxy process 14 in the proxy server device 13. The proxy process 14 uses this read request 1
In response to 9, the cache file 16 is accessed,
It is determined whether or not there is cache data of the file object in the cache file. If the file object is cached, the cache file expiration date unique to the proxy server device 13 is compared with the last modification time of the cached file object. If the cache is within the expiration date, the file object is read from the cache file (22),
The data 20 is returned to the client computer 24 of the internal network 23 that issued the read request 19.

【0031】キャッシュファイル内に当該ファイルオブ
ジェクトが存在しない場合、および存在していたとして
も有効期限が過ぎている場合には、キャッシュファイル
16内に有効なファイルオブジェクトが存在しないもの
と判定される。その場合proxy プロセス14は、外部ネ
ットワーク25のサーバ計算機11に対して、ファイル
オブジェクト12の読出要求17を発行する。これに応
答してサーバ計算機11は、ファイルオブジェクト12
をデータ18としてproxy プロセス14に返送する。pr
oxy プロセス14は、ログファイル15に、アクセスロ
グとして、ファイルオブジェクト名称(すなわちネット
ワークプロトコル名称と、サーバ計算機のネットワーク
アドレス名称と、ファイル名称との組)と、ファイルオ
ブジェクトのデータの実体(すなわちファイルオブジェ
クトそのもの)と、書込時刻とを書出す(26)。
If the file object does not exist in the cache file, or if it exists, but the expiration date has passed, it is determined that there is no valid file object in the cache file 16. In that case, the proxy process 14 issues a read request 17 for the file object 12 to the server computer 11 of the external network 25. In response to this, the server computer 11 sends the file object 12
Is returned to the proxy process 14 as data 18. pr
The oxy process 14 stores the file object name (that is, a combination of the network protocol name, the network address name of the server computer, and the file name) as the access log in the log file 15, and the substance of the data of the file object (that is, the file object Itself) and the writing time (26).

【0032】proxy プロセス14はさらに、内部ネット
ワーク23内のクライアント計算機24にデータ20を
転送し、かつキャッシュファイル16に、当該ファイル
オブジェクトを書込む(21)。
The proxy process 14 further transfers the data 20 to the client computer 24 in the internal network 23, and writes the file object in the cache file 16 (21).

【0033】したがってキャッシュファイル16内に
は、ファイルオブジェクト名称と、ファイルオブジェク
トの実体と、ファイルオブジェクトをサーバ装置から取
得した時刻(最終変更時刻)とが記録されている。
Therefore, in the cache file 16, the file object name, the substance of the file object, and the time when the file object is acquired from the server device (the time of the last change) are recorded.

【0034】proxy サーバは、HTTPDや、 DeleGat
e などのソフトウェアを、ネットワーク接続された、UN
IXの動くコンピュータ上で実行することにより実現され
ることが一般的である。
The proxy server is HTTPD or DeleGat
Software such as e is connected to the network-connected UN
It is generally realized by executing on a computer running IX.

【0035】proxy サーバ装置の物理構成を図14に示
す。図14を参照してproxy サーバ装置は、UNIXの動作
するワークステーション200により構成される。ワー
クステーション200は、CPU(中央処理装置)20
2と、CPU202に対して内部バス204により接続
されたメモリ206と、ファイル用のI/O(入出力)
装置208と、ルータ210を介して外部ネットワーク
に接続される第1ネットワークI/Oインタフェース2
12と、内部ネットワークに接続される第2ネットワー
クI/Oインタフェース214とを含む。I/O装置2
08には、キャッシュファイルの蓄積、アクセスログ、
および各種ワークファイルの記憶場所として使用される
ファイル部216が接続されている。
FIG. 14 shows the physical configuration of the proxy server device. Referring to FIG. 14, the proxy server device is composed of a workstation 200 operating UNIX. The workstation 200 has a CPU (central processing unit) 20.
2, a memory 206 connected to the CPU 202 by an internal bus 204, and a file I / O (input / output)
A device 208 and a first network I / O interface 2 connected to an external network via a router 210
12 and a second network I / O interface 214 connected to the internal network. I / O device 2
In 08, cache file accumulation, access log,
Also, a file unit 216 used as a storage location for various work files is connected.

【0036】このワークステーション200は、CPU
202が、上述したHTTPDや DeleGate というソフ
トウェアを実行することによりproxy サーバ装置13を
実現する。
This workstation 200 has a CPU
The 202 implements the proxy server device 13 by executing the software such as HTTPD and DeleGate described above.

【0037】図15に、proxy サーバ装置の他の構成例
を示した。このproxy サーバ装置はワークステーション
300からなっている。ワークステーション300は、
概略図14のワークステーション200と同様の構成で
あるが、図14の第2ネットワークI/Oインタフェー
ス214に代えて、モデム装置304に接続されるシリ
アルポート302を有している点が異なっている。そし
てこのワークステーション300は、モデム装置304
および公衆電話回線網306を介して内部ネットワーク
と接続されている。
FIG. 15 shows another configuration example of the proxy server device. This proxy server device comprises a workstation 300. Workstation 300
The configuration is similar to that of the workstation 200 in FIG. 14, except that the second network I / O interface 214 in FIG. 14 is replaced with a serial port 302 connected to a modem device 304. . The workstation 300 is provided with a modem device 304.
And is connected to an internal network via a public telephone line network 306.

【0038】図15において、図14と同一の部品には
同一の参照番号を与えている。それらの名称および機能
も同一である。したがってここではそれらについての詳
しい説明は繰り返さない。
15, the same parts as those of FIG. 14 are designated by the same reference numerals. Their names and functions are also the same. Therefore, detailed description thereof will not be repeated here.

【0039】図16にproxy サーバ装置のさらに他の構
成例を示す。図16のproxy サーバ装置も、同じくワー
クステーション400により実現される。このワークス
テーション400は、概略図14に示されるワークステ
ーション200と同様の構成であるが、第1ネットワー
クI/Oインタフェース212および第2ネットワーク
I/Oインタフェース214に代えて、内部ネットワー
ク23に接続された1つのネットワークI/Oインタフ
ェース402を有している点で異なっている。内部ネッ
トワーク23はルータ210を介して外部ネットワーク
25に接続されており、また複数個のクライアント計算
機24にも接続されている。ワークステーション400
は、内部ネットワーク23およびルータ210を介して
外部ネットワーク25のサーバ計算機11と通信すると
ともに、内部ネットワーク23およびクライアント計算
機24を介してユーザ31と通信することができる。
FIG. 16 shows still another configuration example of the proxy server device. The proxy server device shown in FIG. 16 is also realized by the workstation 400. This workstation 400 has the same configuration as the workstation 200 shown in FIG. 14, but is connected to the internal network 23 instead of the first network I / O interface 212 and the second network I / O interface 214. The difference is that it has only one network I / O interface 402. The internal network 23 is connected to the external network 25 via the router 210, and is also connected to a plurality of client computers 24. Workstation 400
Can communicate with the server computer 11 of the external network 25 via the internal network 23 and the router 210, and can communicate with the user 31 via the internal network 23 and the client computer 24.

【0040】図16と図14とにおいて、同一の部品に
は同一の参照符号および名称を与えている。それらの機
能も同一である。したがってここではそれらについての
詳しい説明は繰り返さない。
16 and 14, the same parts are given the same reference numerals and names. Their functions are also the same. Therefore, detailed description thereof will not be repeated here.

【0041】proxy サーバ装置は、既に述べたように中
継データのキャッシュ機構を有する。すなわち、proxy
サーバ装置は、その内部に存在するキャッシュファイル
装置に、中継するファイルオブジェクトのデータをキャ
ッシュする。
The proxy server device has a relay data cache mechanism as described above. I.e. proxy
The server device caches the data of the file object to be relayed in the cache file device existing therein.

【0042】proxy サーバ装置のキャッシュファイルに
は、proxy サーバ装置固有の有効期限が定められてい
る。ファイルオブジェクトがキャッシュに書込まれてか
ら有効期限内に、同じサーバ計算機上のファイルオブジ
ェクトへのアクセス要求をクライアント計算機から受取
った場合には、キャッシュファイルに以前に書込まれた
ファイルオブジェクトを取出してクライアント計算機に
転送する。これによりサーバ計算機に対するアクセスは
発生しない。
An expiration date specific to the proxy server device is set in the cache file of the proxy server device. If an access request to the file object on the same server computer is received from the client computer within the valid period after the file object was written to the cache, the file object previously written to the cache file is fetched. Transfer to the client computer. This prevents access to the server computer.

【0043】このようなゲートウェイ装置によるキャッ
シュの効果を以下具体的に説明する。proxy サーバ装置
をある会社組織に設置し、外部のネットワークとは64
kbpsの速度で接続するものとする。またこのproxy
サーバは一方で、10Mbpsの速度の会社組織内部の
ローカルエリアネットワークに接続されるものとする。
外部と内部のネットワークの速度差は1桁以上ある。こ
のような例はよく見られる例であり、その典型的な例が
図16に示す構成である。
The effect of the cache by such a gateway device will be specifically described below. A proxy server device is installed in a company organization and the external network is 64
The connection shall be made at a speed of kbps. Also this proxy
The server, on the other hand, shall be connected to a local area network inside the corporate organization at a speed of 10 Mbps.
The speed difference between the external and internal networks is more than one digit. Such an example is often seen, and a typical example thereof is the configuration shown in FIG.

【0044】このとき、proxy サーバで中継ファイルオ
ブジェクトをキャッシュするものとして、キャッシュの
ヒット率を Hitrateとする。 Hitrateは、ファイルオブ
ジェクトに対するアクセス要求に対してキャッシュが1
00%ヒットするとき1であり、0%ヒットするとき0
になる指数である。
At this time, the proxy server caches the relay file object, and the hit rate of the cache is Hitrate. Hitrate has 1 cache for access requests to file objects.
1 when a 00% hit, 0 when a 0% hit
Is an index.

【0045】なおproxy サーバ装置におけるキャッシュ
ファイルからのデータ読出およびキャッシュファイルへ
のデータ書込速度は、ネットワーク速度に比べて十分高
速であるものとする。すなわちキャッシュファイルに対
するファイルオブジェクトの入出力に要する時間は無視
できるものとする。
It is assumed that the data reading speed from the cache file and the data writing speed to the cache file in the proxy server device are sufficiently higher than the network speed. That is, the time required to input / output the file object to / from the cache file can be ignored.

【0046】このとき、外部ネットワークにあるファイ
ルオブジェクトを内部からアクセスするときの平均アク
セス速度Vaveは次の数1によって表わされる。
At this time, the average access speed Vave when the file object on the external network is accessed from the inside is expressed by the following equation 1.

【0047】[0047]

【数1】 [Equation 1]

【0048】キャッシュファイルが存在しない場合、 H
itrateは0である。したがって平均速度(kbps)
は、数1から外部ネットワークのアクセス速度64kb
psと等しくなる。また Hitrateが1であれば、すなわ
ち100%キャッシュファイルにヒットするのであれ
ば、平均速度(kbps)は、内部ネットワークの速度
と等しく10,000kbps(=10Mbps)とな
る。つまりヒット率が高いほどクライアント計算機から
見た平均アクセス速度は高くなる。ヒット率と平均アク
セス速度との関係を示す数1をグラフ化したものを図1
7に示す。
If the cache file does not exist, H
itrate is 0. Therefore average speed (kbps)
Is the external network access speed of 64 kb
is equal to ps. If Hitrate is 1, that is, if a 100% cache file is hit, the average speed (kbps) is equal to the speed of the internal network and is 10,000 kbps (= 10 Mbps). In other words, the higher the hit rate, the higher the average access speed seen from the client computer. Figure 1 shows a graph of Equation 1 showing the relationship between hit rate and average access speed.
7 shows.

【0049】ところで、キャッシュヒット率は、キャッ
シュファイルの量に依存している。すなわちファイルオ
ブジェクトをなるべくたくさんキャッシュファイルの中
に蓄積しておけば、再びアクセスされたファイルオブジ
ェクトがキャッシュファイル中に含まれる確率が高くヒ
ット率が高まる。そうした関係を示すものとして、キャ
ッシュヒット率と、キャッシュファイルの蓄積量との関
係を図18にグラフとして示す。図18に示すように、
キャッシュファイルサイズが小さければキャッシュヒッ
ト率は0に近く、キャッシュファイルサイズを大きくす
ればキャッシュヒット率は徐々に上昇する。
The cache hit rate depends on the amount of cache files. That is, if a large number of file objects are stored in the cache file, the probability that the accessed file object will be included in the cache file is high and the hit rate is high. In order to show such a relationship, the relationship between the cache hit rate and the accumulated amount of cache files is shown as a graph in FIG. As shown in FIG.
If the cache file size is small, the cache hit rate is close to 0, and if the cache file size is increased, the cache hit rate gradually rises.

【0050】proxy プロセスにおいては、キャッシュフ
ァイルの内容を維持する方式として、最初のファイルア
クセスによる書込が起きてから一定期間経過したファイ
ルオブジェクトを無効としていく制御方式がとられてい
る。この一定期間を有効期限と呼んでいる。この有効期
限は、proxy サーバ装置を管理する者が実情に合わせて
適切な値を設定する。有効期限を長くとれば、キャッシ
ュファイルに蓄積されるデータ量は増加する。その結果
キャッシュのヒット率は高くなる。すなわちキャッシュ
のヒット率を上げるにはキャッシュの有効期限を長くと
ればよい。
In the proxy process, as a method of maintaining the contents of the cache file, a control method of invalidating a file object after a certain period has elapsed since the writing by the first file access occurred. This fixed period is called the expiration date. For this expiration date, the person who manages the proxy server device sets an appropriate value according to the actual situation. The longer the validity period, the larger the amount of data stored in the cache file. As a result, the cache hit rate increases. That is, in order to increase the hit rate of the cache, it is sufficient to set the expiration date of the cache longer.

【0051】なお、キャッシュファイルを格納するファ
イル装置の記憶容量は有限であるから、有効期限を無制
限に長くするわけにはいかない。有効期限が過ぎたキャ
ッシュファイルは、何らかのタイミングで消去される。
このようにキャッシュファイルを消去するまでの時間
を、この明細書では消去時間と呼ぶこととする。
Since the storage capacity of the file device for storing the cache file is finite, the expiration date cannot be extended indefinitely. The cache file whose expiration date has passed is deleted at some timing.
In this specification, the time until the cache file is erased is called the erase time.

【0052】本願発明者の実験によれば、キャッシュ有
効期限とキャッシュファイルに蓄積されるファイル量と
はほぼ比例する。この関係を図19に示す。これは、内
部ネットワークから外部ネットワークへのアクセス量
が、日によらずほぼ一定であるためである。したがって
次のような関係が成り立つ。
According to the experiments by the inventor of the present application, the cache expiration date and the file amount accumulated in the cache file are substantially proportional to each other. This relationship is shown in FIG. This is because the amount of access from the internal network to the external network is almost constant regardless of the day. Therefore, the following relationship holds.

【0053】[0053]

【数2】 [Equation 2]

【0054】この関係から、図17に示したように、キ
ャッシュ有効期限を増やすとキャッシュのヒット率が高
まることがわかる。
From this relationship, as shown in FIG. 17, it can be seen that the cache hit rate increases as the cache expiration date increases.

【0055】キャッシュ有効期限とファイルオブジェク
トの量との関係は、クライアント計算機を利用する内部
ユーザが、外部ネットワーク上のサーバ計算機のファイ
ルオブジェクトをアクセスする頻度によって異なる。キ
ャッシュ有効期限とキャッシュファイル蓄積量とは、ほ
ぼ比例するものの、その比例係数はネットワーク速度、
内部クライアント計算機ユーザ数などの使用環境により
変動する。
The relationship between the cache expiration date and the amount of file objects differs depending on the frequency at which the internal user who uses the client computer accesses the file object of the server computer on the external network. Although the cache expiration date and the cache file storage amount are almost proportional, the proportional coefficient is the network speed,
Internal client Varies depending on the usage environment such as the number of computer users

【0056】なお、本願発明者の関係するシステムで
は、キャッシュファイルが1日程度の有効期限では、キ
ャッシュヒット率は12%程度である。有効期限を14
日にするとキャッシュヒット率は41%程度になること
が経験されている。有効期限14日のときにはファイル
オブジェクトが700MB程度キャッシュファイルに蓄
積されていることが観察されている。
In the system related to the inventor of the present application, the cache hit rate is about 12% when the cache file is valid for about one day. Expiration date is 14
It has been experienced that the cache hit rate will be about 41% daily. It has been observed that when the expiration date is 14 days, the file object is accumulated in a cache file of about 700 MB.

【0057】[0057]

【発明が解決しようとする課題】proxy サーバ装置にお
けるキャッシュファイルにおいては、キャッシュヒット
率をできるだけ高めるためには有効期限をできるだけ長
くとり、キャッシュファイルの容量が許す限りデータを
蓄積することが有効である。しかし一方で、外部ネット
ワーク上のサーバ計算機のファイルオブジェクトの内容
は、修正変更されることがあり得る。キャッシュファイ
ルの有効期限が長いと、その期間中は、サーバ計算機の
ファイルオブジェクトが内容変更されているにもかかわ
らず、内部ネットワークのクライアント計算機のユーザ
は、キャッシュファイルに蓄積された古い内容を読出す
ことになってしまうことになる。
In the cache file in the proxy server device, in order to increase the cache hit rate as much as possible, it is effective to set the expiration date as long as possible and store the data as long as the capacity of the cache file allows. . However, on the other hand, the contents of the file object of the server computer on the external network may be modified or changed. If the expiration date of the cache file is long, the user of the client computer on the internal network will read the old contents accumulated in the cache file even though the file object of the server computer has been changed during that period. You will end up with something.

【0058】たとえば天気図や電子新聞などのファイル
オブジェクトをサーバ計算機上で提供する場合を考え
る。こうしたファイルオブジェクトは、同一名称であり
ながらそのデータの性格上毎日情報更新されるものが多
い。たとえばキャッシュ有効期限が7日である場合を考
えると、キャッシュにある天気図や電子新聞等の情報
は、6/7以上の確率で古いものとなり、結局役に立た
ない情報となってしまう。
Consider a case where a file object such as a weather map or an electronic newspaper is provided on a server computer. Many of these file objects have the same name, but information is updated every day due to the nature of the data. For example, considering that the cache expiration date is 7 days, the information such as weather maps and electronic newspapers in the cache becomes old with a probability of 6/7 or more, and eventually becomes useless information.

【0059】このようにキャッシュファイルの内容のう
ち、外部ネットワークに存在する元のデータが変更さ
れ、キャッシュの内容と一致していない割合をステール
データ率と呼ぶ。すなわちキャッシュ有効期限を増やせ
ば、キャッシュ蓄積サイズが増加し、キャッシュヒット
率は増加するが、有効期限が長くなった結果、キャッシ
ュ内容のステールデータ率も増加してしまう。
The ratio of the contents of the cache file in which the original data existing in the external network is changed and does not match the contents of the cache is called a stale data ratio. That is, if the cache expiry date is increased, the cache storage size is increased and the cache hit rate is increased, but as a result of the extended expiry date, the stale data rate of the cache content also increases.

【0060】したがって従来技術においては、キャッシ
ュファイルの中のファイルオブジェクトの内容の新鮮さ
を保つことと、キャッシュヒット率を高く維持すること
とは、互いに相反する目標である。
Therefore, in the prior art, keeping the freshness of the contents of the file object in the cache file and keeping the cache hit rate high are conflicting goals.

【0061】既に述べたように一般にキャッシュファイ
ルのステールデータ率が増加すると、クライアント計算
機のユーザは、内容が古いはずであると自主的に判断
し、ファイルオブジェクトデータをサーバ計算機から再
度ロードするようになる。これには、キャッシュファイ
ルを参照せず、実際にサーバ計算機からロードすること
を指定するプロトコルが利用される。この結果、キャッ
シュが意味を持たなくなる傾向がある。
As described above, generally, when the stale data ratio of the cache file increases, the user of the client computer voluntarily determines that the contents should be old and reloads the file object data from the server computer. Become. For this purpose, a protocol is specified that actually loads from the server computer without referring to the cache file. As a result, the cache tends to be meaningless.

【0062】このようなステールデータ率の増加は望ま
しいことではなく、そのためキャッシュの有効期限はあ
まり長くとることはできない。通常は24時間以下であ
る。しかし有効期限をこの程度とした場合には、キャッ
シュファイルにファイルオブジェクトが十分に蓄積され
ず、キャッシュのヒット率は高まらない。その結果平均
ファイルオブジェクト転送速度を十分上げることができ
ないという問題点があった。また、キャッシュのヒット
率を高めるにあたって、他の通常プロセスに対して与え
る悪影響はできるだけ低くした方が好ましい。さらに、
通常の他のプロセスが多数あった場合にも、キャッシュ
のヒット率を向上させるための作業が常にできるのが好
ましく、またそのための作業自体できるだけ効率良く行
なうことが望ましい。
Such an increase in the stale data rate is not desirable, and therefore the validity period of the cache cannot be set too long. Usually 24 hours or less. However, if the expiration date is set to this extent, the file objects are not sufficiently accumulated in the cache file and the cache hit rate does not increase. As a result, there is a problem that the average file object transfer rate cannot be sufficiently increased. In addition, it is preferable to minimize the adverse effect on other normal processes in increasing the cache hit rate. further,
Even when there are many other normal processes, it is preferable that the work for improving the cache hit rate can always be performed, and it is desirable that the work for that purpose itself be performed as efficiently as possible.

【0063】それゆえに請求項1に記載の発明の目的
は、キャッシュファイルの内容を新鮮に保つとともに、
キャッシュヒット率も向上させることである。
Therefore, an object of the present invention as set forth in claim 1 is to keep the contents of the cache file fresh and
It is also to improve the cache hit rate.

【0064】請求項2から6記載の発明の目的は、キャ
ッシュファイルの内容を新鮮に保つとともに、キャッシ
ュヒット率も向上させるようにし、さらにプリフェッチ
に要する時間を短縮することである。
An object of the present invention is to keep the contents of the cache file fresh, improve the cache hit rate, and shorten the time required for prefetching.

【0065】請求項7または8記載の発明の目的は、通
常のユーザの利用に悪影響を与えることなく、キャッシ
ュファイルの内容を新鮮に保つとともに、キャッシュヒ
ット率も向上させるようにすることである。
An object of the present invention is to keep the contents of the cache file fresh and improve the cache hit rate without adversely affecting the normal use of the user.

【0066】請求項9記載の発明の目的は、常にキャッ
シュファイルの内容を新鮮に保つとともに、キャッシュ
ヒット率も向上させるようにすることである。
An object of the present invention is to constantly keep the contents of the cache file fresh and improve the cache hit rate.

【0067】請求項10記載の発明の目的は、無駄なト
ラフィックを発生させることなく、キャッシュファイル
の内容を新鮮に保つとともに、キャッシュヒット率も向
上させるようにすることである。
An object of the present invention is to keep the contents of the cache file fresh and improve the cache hit rate without generating unnecessary traffic.

【0068】請求項11記載の発明の目的は、通常のユ
ーザの利用に与える悪影響を最小限に抑えつつ、キャッ
シュファイルの内容を新鮮に保ちかつキャッシュヒット
率をも向上させるための作業を着実に行なえるゲートウ
ェイ装置を提供することである。
The object of the invention as defined in claim 11 is to steadily carry out the work for keeping the contents of the cache file fresh and improving the cache hit rate while minimizing the adverse effect on the normal use of the user. It is to provide a gateway device that can be performed.

【0069】請求項12から16に記載の発明の目的
は、キャッシュファイルの内容を新鮮に保つことと、キ
ャッシュヒット率を向上させることとを、ともに、かつ
効率的に達成することができるゲートウェイ装置を提供
することである。
It is an object of the invention as set forth in claims 12 to 16 to keep the contents of the cache file fresh and to improve the cache hit rate, both efficiently and efficiently. Is to provide.

【0070】[0070]

【課題を解決するための手段】請求項1に記載の発明
は、クライアント計算機が存在する第1のネットワーク
と、サーバ計算機が存在する第2のネットワークとの間
に介在するように設けられるゲートウェイ装置であっ
て、第1のネットワークのクライアント計算機からのフ
ァイルオブジェクトに対するアクセス要求に応答して、
当該ファイルオブジェクトにより指定されるサーバ計算
機に対して、当該ファイルオブジェクトに対するアクセ
ス要求を行なう第1のネットワークファイル中継手段を
含む。第1のネットワークファイル中継手段は、取得し
たファイルオブジェクトを、所定の有効期限が経過する
まで一時的に蓄積するとともに、最終変更時刻をファイ
ルオブジェクト単位で記録するためのキャッシュファイ
ル手段と、過去の、一定期間内に行なわれたファイルオ
ブジェクトの転送記録を蓄積するファイル転送記録手段
と、ファイルオブジェクトに対するアクセス要求に応答
して、最終変更時刻を参照し、有効期限内のファイルオ
ブジェクトがキャッシュファイル手段に存在するか否か
を判断し、当該判断結果に基づいてキャッシュファイル
手段または当該ファイルオブジェクトにより指定される
サーバ計算機を選択的にアクセスして当該ファイルオブ
ジェクトを取得してクライアント計算機に転送するため
の転送手段とを含む。ゲートウェイ装置はさらに、予め
定められたスケジュールに従って、転送記録中のファイ
ルオブジェクトをサーバ計算機からプリフェッチして、
キャッシュファイル手段に格納するための第2のネット
ワークファイル中継手段を含む。
According to a first aspect of the present invention, a gateway device is provided so as to be interposed between a first network in which a client computer exists and a second network in which a server computer exists. In response to the access request for the file object from the client computer of the first network,
It includes first network file relay means for making an access request to the file object to the server computer designated by the file object. The first network file relay means temporarily stores the acquired file object until a predetermined expiration date elapses, cache file means for recording the last modification time in file object units, and File transfer recording means for accumulating transfer records of file objects made within a fixed period, and referring to the last modification time in response to an access request for a file object, a file object within the expiration date exists in the cache file means. Transfer means for determining whether or not to perform access, selectively accessing the cache file means or the server computer designated by the file object based on the determination result to acquire the file object and transfer it to the client computer Including and The gateway device further prefetches the file object in the transfer record from the server computer according to a predetermined schedule,
Second network file relay means for storing in the cache file means.

【0071】一定期間内に転送が行なわれたファイルオ
ブジェクトは、第2のネットワークファイル中継手段に
よって、予め定められるスケジュールに従って、アクセ
ス要求がなくてもプリフェッチされる。有効期限内のも
のはもちろん、有効期限が切れたものもプリフェッチさ
れキャッシュファイル手段に新たに格納され有効とな
る。実際にアクセス要求があったときに、当該ファイル
オブジェクトであって有効期限内のものがキャッシュフ
ァイルに存在している可能性が高くなる。また有効期限
を長くしても、プリフェッチ時に最新のものに更新され
るので、キャッシュファイル手段内のファイルオブジェ
クトを、高い確率でサーバ計算機のファイルオブジェク
トと一致させることができる。そのため、キャッシュフ
ァイルの内容を新鮮に保つとともに、キャッシュヒット
率も向上させることが可能である。
The file object transferred within a fixed period is prefetched by the second network file relay means according to a predetermined schedule even if there is no access request. Not only the valid one but also the expired one are prefetched and newly stored in the cache file means and become valid. When an access request is actually made, there is a high possibility that the file object that is within the expiration date will exist in the cache file. Further, even if the expiration date is lengthened, the file object in the cache file means can be matched with the file object of the server computer with a high probability because it is updated to the latest one at the time of prefetch. Therefore, it is possible to keep the contents of the cache file fresh and improve the cache hit rate.

【0072】請求項2記載のゲートウェイ装置は、請求
項1記載のゲートウェイ装置であって、第2のネットワ
ークファイル中継手段は、第2のネットワークを介して
同時に複数個のファイルオブジェクトをサーバ計算機か
ら同時並列的にプリフェッチする。
A gateway device according to a second aspect is the gateway device according to the first aspect, wherein the second network file relay means simultaneously transmits a plurality of file objects from the server computer via the second network. Prefetch in parallel.

【0073】同時並列的にプリフェッチが行なわれるの
で、順次行なう場合と比較してプリフェッチに要する時
間を短縮することができる。
Since prefetching is performed simultaneously in parallel, the time required for prefetching can be shortened as compared with the case where sequential prefetching is performed.

【0074】請求項3記載のゲートウェイ装置は、請求
項2記載のゲートウェイ装置であって、第2のネットワ
ークファイル中継手段は、同一のサーバ計算機からのプ
リフェッチの同時発生を回避するように、ファイルオブ
ジェクトのプリフェッチの順序を決定する。
A gateway device according to a third aspect of the present invention is the gateway device according to the second aspect, wherein the second network file relay means avoids simultaneous occurrence of prefetches from the same server computer. Determines the prefetch order for.

【0075】転送記録では、同一のサーバ計算機に対す
るアクセス要求が集中して発生することが多い。同一の
サーバ計算機に対して一度にプリフェッチのためのアク
セス要求が集中すると、サーバ計算機に負荷がかかる上
に、通信路にも負荷がかかるため、ファイルオブジェク
トの転送に時間がかかる。そこで同一のサーバ計算機か
らのプリフェッチの同時発生を回避するようにプリフェ
ッチの順序を決定することで、そうした特定のサーバ計
算機に負荷が集中することがなくなり、プリフェッチの
速度を向上させることができる。
In transfer recording, access requests to the same server computer are often concentrated. If access requests for prefetching are concentrated on the same server computer at one time, the load on the server computer and the load on the communication path take a long time to transfer the file object. Therefore, by determining the prefetch order so as to avoid simultaneous occurrence of prefetches from the same server computer, the load is not concentrated on such a specific server computer, and the prefetch speed can be improved.

【0076】請求項4記載のゲートウェイ装置は、請求
項2記載のゲートウェイ装置であって、第2のネットワ
ークファイル中継手段は、転送記録からファイルオブジ
ェクトのリストを当該転送記録中の出現頻度に従って抽
出し、当該リスト中のファイルオブジェクトの順序に従
ってファイルオブジェクトのプリフェッチを同時並列的
に行なう。
A gateway device according to a fourth aspect is the gateway device according to the second aspect, wherein the second network file relay means extracts a list of file objects from the transfer record according to the appearance frequency in the transfer record. , The file objects are prefetched simultaneously in parallel according to the order of the file objects in the list.

【0077】ファイルオブジェクトのプリフェッチにあ
たって、転送記録中の出現頻度の高いファイルオブジェ
クトが優先的にプリフェッチされる。そうしたファイル
オブジェクトに対するアクセス要求は将来も高い割合を
示すと考えられるので、キャッシュヒット率の向上が期
待できる。
When prefetching a file object, a file object having a high appearance frequency in transfer recording is preferentially prefetched. Access requests to such file objects are expected to show a high rate in the future, so an improvement in cache hit rate can be expected.

【0078】請求項5記載のゲートウェイ装置は、請求
項4記載のゲートウェイ装置であって、第2のネットワ
ークファイル中継手段は、リスト中のファイルオブジェ
クトの順序を入替え、当該入替られた順序に従ってファ
イルオブジェクトのプリフェッチを同時並列的に行な
う。
According to a fifth aspect of the present invention, in the gateway apparatus according to the fourth aspect, the second network file relay means changes the order of the file objects in the list, and the file objects according to the changed order. Prefetches are performed in parallel at the same time.

【0079】転送記録中には、同一のサーバ計算機に対
するアクセス要求が集中して発生することが多い。同一
のサーバ計算機に対して一度にプリフェッチのためのア
クセスが集中すると、サーバ計算機に負荷がかかる上
に、通信路上でも負荷がかかるため、ファイルオブジェ
クトの転送に時間がかかる。転送記録から抽出されたフ
ァイルオブジェクトのリスト中のファイルオブジェクト
の順番を入替え、その順序でプリフェッチをすること
で、同一のサーバ計算機からのプリフェッチの同時発生
を回避できるようになる。したがって特定のサーバ計算
機に負荷が集中することがなくなり、プリフェッチの速
度を向上させることができる。
During transfer recording, access requests to the same server computer are often concentrated. If the access for prefetching is concentrated on the same server computer at one time, the load on the server computer and the load on the communication path take a long time to transfer the file object. By changing the order of the file objects in the list of file objects extracted from the transfer record and prefetching in that order, it becomes possible to avoid simultaneous prefetching from the same server computer. Therefore, the load is not concentrated on a specific server computer, and the prefetch speed can be improved.

【0080】請求項6記載のゲートウェイ装置は、請求
項5記載のゲートウェイ装置であって、第2のネットワ
ークファイル中継手段は、リストを複数個のブロックに
区分し、各ブロックごとにファイルオブジェクトの順序
を入替え、当該順序が入替えられたリスト上での順序に
従ってファイルオブジェクトのプリフェッチを同時並列
的に行なう。
A gateway device according to a sixth aspect is the gateway device according to the fifth aspect, wherein the second network file relay means divides the list into a plurality of blocks, and a file object order for each block. , And prefetch file objects simultaneously in parallel according to the order on the list in which the order is changed.

【0081】このような入替を行なうと、同一のサーバ
計算機へのアクセス要求の集中的な発生が回避される上
に、ファイルオブジェクトのリスト中の出現頻度順序
は、ブロックのサイズの粒度で保たれる。したがって、
リスト中の出現頻度の高いファイルオブジェクトのプリ
フェッチが、特定のサーバ計算機へのアクセス要求の集
中的な発生を招くことなく行なえる。
By performing such a replacement, it is possible to avoid the intensive generation of access requests to the same server computer, and the order of frequency of occurrence in the list of file objects is maintained at the granularity of the block size. Be done. Therefore,
Prefetching of file objects that appear frequently in the list can be performed without inviting access requests to a specific server computer.

【0082】請求項7記載のゲートウェイ装置は、請求
項2から6のいずれかに記載のゲートウェイ装置であっ
て、第1のネットワークファイル中継手段は、各々が第
1のネットワークのクライアント計算機からのファイル
オブジェクトのアクセス要求を処理するための第1の転
送プロセスを複数個、同時並列的に起動させることが可
能である。第2のネットワークファイル中継手段は、各
々が1つのファイルオブジェクトのプリフェッチを行な
うための第2の転送プロセスを複数個、同時並列的に起
動させることが可能であり、かつ第1の転送プロセスの
数を検知して、第1の転送プロセスの数と、第2の転送
プロセスの数との和が予め定められる上限以下となるよ
うに第2の転送プロセスの新たな起動を制御する。
The gateway device according to claim 7 is the gateway device according to any one of claims 2 to 6, wherein the first network file relay means is a file from a client computer of the first network. It is possible to activate a plurality of first transfer processes for processing an access request of an object in parallel at the same time. The second network file relay means is capable of simultaneously activating a plurality of second transfer processes for prefetching one file object in parallel, and the number of the first transfer processes. Is detected and the new activation of the second transfer process is controlled so that the sum of the number of the first transfer processes and the number of the second transfer processes is equal to or less than a predetermined upper limit.

【0083】第1のプロセスが多数発生しているときは
第2のプロセスの起動を抑制し、第1のプロセスが僅か
しか発生していないときには第2のプロセスを多数起動
させることができるので、通常のユーザによるファイル
オブジェクトのアクセス要求が、プリフェッチのために
悪影響を受けることがない。また通常のユーザによるア
クセス要求の少ないときには随時プリフェッチを行なえ
るので、キャッシュの新鮮さを保つことができる。
Since the activation of the second process can be suppressed when a large number of the first processes are occurring, and the large number of the second processes can be activated when a small number of the first processes are occurring. The access request of the file object by a normal user is not adversely affected by the prefetch. In addition, since the prefetch can be performed at any time when there are few access requests from normal users, the freshness of the cache can be maintained.

【0084】請求項8記載のゲートウェイ装置は、請求
項1から7のいずれかに記載のゲートウェイ装置であっ
て、第2のネットワークファイル中継手段は、予め定め
られた時間帯でのみファイルオブジェクトのプリフェッ
チを行なう。
The gateway device according to claim 8 is the gateway device according to any one of claims 1 to 7, wherein the second network file relay means prefetches the file object only in a predetermined time zone. Do.

【0085】ユーザによるアクセス要求が非常に少ない
時間帯にプリフェッチを行なってキャッシュファイルの
新鮮さを保つことができるとともに、ユーザによるアク
セス要求が発生する時間帯になるとプリフェッチを行な
わないようにでき、通常のユーザによるファイルオブジ
ェクトのアクセス要求が、プリフェッチのために悪影響
を受けることがない。
Prefetching can be performed during a time period when the access request by the user is very small to keep the cache file fresh, and prefetching can be prevented during the time period when the access request by the user occurs. File users' access requests for file objects are not adversely affected by prefetching.

【0086】請求項9記載のゲートウェイ装置は、請求
項1から8のいずれかに記載のゲートウェイ装置であっ
て、第2のネットワークファイル中継手段は、第1のネ
ットワークファイル中継手段のキャッシュファイルの有
効期限以下の周期で定期的にファイルオブジェクトのプ
リフェッチを行なう。
The gateway device according to claim 9 is the gateway device according to any one of claims 1 to 8, wherein the second network file relay means validates the cache file of the first network file relay means. File objects are prefetched periodically with a period less than the deadline.

【0087】キャッシュファイルの有効期限以下の周期
で定期的にキャッシュファイルのファイルオブジェクト
のプリフェッチが行なわれるので、キャッシュファイル
中のファイルオブジェクトは常に有効期限内に保たれ
る。その結果、プリフェッチとプリフェッチとの間の全
期間にわたりプリフェッチの効果を保つことができる。
Since the file object of the cache file is prefetched periodically in a cycle less than the expiration date of the cache file, the file object in the cache file is always kept within the expiration date. As a result, the effect of prefetching can be maintained for the entire period between prefetches.

【0088】請求項10記載のゲートウェイ装置は、請
求項1に記載のゲートウェイ装置であって、第1のネッ
トワークファイル中継手段のキャッシュファイル手段
は、有効期限以上の所定の消去時間が経過するまでは、
当該キャッシュファイル手段に格納されているファイル
オブジェクトを消去しない。転送手段は、有効期限が経
過しているが消去はされていないファイルオブジェクト
に対するアクセス要求に応答して、対応するサーバ計算
機にアクセスし、当該サーバ計算機内の当該ファイルオ
ブジェクトが、前回の取得後更新されているか否かを判
断する。そして更新されていないときにはキャッシュフ
ァイル手段内のファイルオブジェクトを新たに取得した
ファイルオブジェクトとしてクライアント計算機に転送
する。更新されているときには当該ファイルオブジェク
トにより特定されるサーバ計算機に対して当該ファイル
オブジェクトの転送要求を発して更新後の当該ファイル
オブジェクトを取得し、取得したファイルオブジェクト
をクライアント計算機に転送する。
The gateway device according to claim 10 is the gateway device according to claim 1, wherein the cache file means of the first network file relay means is provided until a predetermined erasing time longer than the expiration date has passed. ,
Do not delete the file object stored in the cache file means. The transfer means accesses the corresponding server computer in response to the access request for the file object whose expiration date has passed but has not been deleted, and the file object in the server computer is updated after the previous acquisition. It is determined whether or not it has been done. When it has not been updated, the file object in the cache file means is transferred to the client computer as a newly acquired file object. When the file object is updated, a transfer request for the file object is issued to the server computer specified by the file object, the updated file object is acquired, and the acquired file object is transferred to the client computer.

【0089】有効期限が経過しているファイルオブジェ
クトであっても、消去時間前であれば消去されない。こ
うしたファイルオブジェクトについてのアクセス要求が
発生したときに、有効期限が切れていても、サーバ計算
機において更新されていないファイルオブジェクトは、
直接サーバ計算機から取得することなく、キャッシュフ
ァイルから得ることができる。したがって無駄なトラフ
ィックの発生を抑制できる。その上、そうしたアクセス
要求があって、かつサーバ計算機において当該ファイル
オブジェクトが更新されていなかった場合には、実際に
ファイルオブジェクトをサーバ計算機から改めて取得す
ることなくプリフェッチと同じ効果を得ることができ
る。
Even a file object whose expiration date has passed is not deleted before the deletion time. When an access request for such a file object occurs, the file object that has not been updated on the server computer even if it has expired,
It can be obtained from the cache file without directly obtaining from the server computer. Therefore, generation of useless traffic can be suppressed. In addition, if there is such an access request and the file object has not been updated in the server computer, the same effect as prefetching can be obtained without actually reacquiring the file object from the server computer.

【0090】請求項11記載の発明に係るゲートウェイ
装置は、請求項2から6のいずれかに記載のゲートウェ
イ装置であって、第1のネットワークファイル中継手段
は、各々が第1のネットワークのクライアント計算機か
らのファイルオブジェクトのアクセス要求を処理するた
めの第1の転送プロセスを複数個、同時並列的に起動さ
せることが可能である。第2のネットワークファイル中
継手段は、各々が1つのファイルオブジェクトのプリフ
ェッチを行なうための第2の転送プロセスを複数個、同
時並列的に起動させることが可能である。第2のネット
ワークファイル中継手段は、第2の転送プロセスの起動
時において、既に稼動中の転送プロセスの数を検知し
て、稼動中の転送プロセスの数と、起動すべき第2の転
送プロセスの数との和が、稼動中の転送プロセスの数と
予め定められる定数との和以下となるように第2の転送
プロセスの新たな起動を制御する。
The gateway device according to the invention of claim 11 is the gateway device according to any one of claims 2 to 6, wherein the first network file relay means is a client computer of the first network. It is possible to simultaneously activate a plurality of first transfer processes for processing the access request of the file object from the. The second network file relay means can simultaneously activate a plurality of second transfer processes for prefetching one file object in parallel. The second network file relay means detects the number of transfer processes already in operation at the time of starting the second transfer process, and detects the number of transfer processes in operation and the second transfer process to be started. The new activation of the second transfer process is controlled so that the sum of the number of transfer processes is equal to or less than the sum of the number of transfer processes in operation and a predetermined constant.

【0091】第1のプロセスが多数発生しているときは
第2のプロセスの起動を抑制し、第1のプロセスが僅か
しが発生しないときには第2のプロセスを多数起動させ
ることができるので、通常のユーザによるファイルオブ
ジェクトのアクセス要求が、プリフェッチのために悪影
響を受けることがない。また通常のユーザによる要求の
少ないときには随時プリフェッチを行なえるので、キャ
ッシュの新鮮さを保つことができる。また、稼動中の転
送プロセスの数が上限に達していても、予め定められる
定数個までの第2の転送プロセスを起動することができ
るので、プリフェッチを着実に行なうことができる。そ
のため、キャッシュの新鮮さを保つことができる。また
キャッシュファイル手段の容量を小さくする必要はない
ので、キャッシュヒット率も向上する。
Since the activation of the second process can be suppressed when a large number of the first processes are occurring, and a large number of the second processes can be activated when a slight amount of the first process does not occur. File users' access requests for file objects are not adversely affected by prefetching. In addition, since the prefetch can be performed at any time when the demand from the normal user is small, the freshness of the cache can be maintained. Further, even if the number of transfer processes in operation reaches the upper limit, the second transfer processes up to a predetermined constant number can be activated, so that prefetching can be steadily performed. Therefore, the freshness of the cache can be maintained. Moreover, since it is not necessary to reduce the capacity of the cache file means, the cache hit rate is also improved.

【0092】請求項12に記載の発明に係るゲートウェ
イ装置は、請求項1記載のゲートウェイ装置であって、
第2のネットワークファイル中継手段は、過去の一定期
間内に行なったファイルオブジェクトの転送記録を、当
該ファイルオブジェクトの変更が検出されたか否かを示
す情報とともに蓄積するための第2のファイル転送記録
手段をさらに含む。第2のネットワークファイル中継手
段は、第2のファイル転送記録手段によりファイルオブ
ジェクトのプリフェッチ時に記録された転送記録中か
ら、直前のプリフェッチ時において変更が検出されたフ
ァイルオブジェクトを抽出し、これらのファイルオブジ
ェクトを、ファイル転送記録手段の転送記録中のファイ
ルオブジェクトよりも優先的にサーバ計算機からプリフ
ェッチしてキャッシュファイル手段に格納する。
A gateway device according to the invention described in claim 12 is the gateway device according to claim 1,
The second network file relay means stores the transfer record of the file object made within a certain period in the past together with the information indicating whether the change of the file object is detected or not. Further includes. The second network file relay means extracts from the transfer records recorded at the time of prefetching the file objects by the second file transfer recording means, the file objects for which a change has been detected at the time of the immediately preceding prefetch, and extracts these file objects. Is prefetched from the server computer and stored in the cache file means with priority over the file object being transferred and recorded by the file transfer recording means.

【0093】前回のフェッチ時に変更が検出されたファ
イルオブジェクトが、それ以外のファイルオブジェクト
よりも優先してプリフェッチされる。こうしたファイル
オブジェクトは、以後も変更される頻度が高いと考えら
れる。そのため、請求項1に記載の発明の効果に加え
て、キャッシュファイルの内容を新鮮に保つ上で、前回
のフェッチ時以降に変更があった可能性の高いファイル
オブジェクトが優先的にプリフェッチされるので、プリ
フェッチを効率的に行なうことができる。
The file object whose change has been detected at the previous fetch is prefetched with priority over the other file objects. It is considered that such a file object is frequently changed after that. Therefore, in addition to the effect of the invention described in claim 1, in order to keep the contents of the cache file fresh, a file object that is likely to have changed since the last fetch is preferentially prefetched. , Prefetch can be performed efficiently.

【0094】請求項13に記載の発明に係るゲートウェ
イ装置は、請求項12記載のゲートウェイ装置であっ
て、第2のネットワークファイル中継手段は、予め指定
された文字列パターンを記憶し、第2のファイル転送記
録手段により記録された転送記録中から、この予め定め
られた文字列パターンと一致する文字列を有するファイ
ルオブジェクトを排除して抽出する。
The gateway device according to the invention described in claim 13 is the gateway device according to claim 12, wherein the second network file relay means stores a character string pattern designated in advance, A file object having a character string that matches the predetermined character string pattern is excluded and extracted from the transfer records recorded by the file transfer recording means.

【0095】ファイルオブジェクトの中には、プリフェ
ッチすることが無意味であったり、プリフェッチしてお
くためにかえってシステム全体の効率が低下してしまう
ようなファイルオブジェクトも存在する。そうしたファ
イルオブジェクトの中には、特定の文字列を含んでいる
ものとして予め知ることができるものがある。そこでこ
のような特定の文字列を予め指定し文字列パターンとし
て第2のネットワークファイル中継手段に記憶させてお
き、この文字列パターンと一致する文字列を有するファ
イルオブジェクトを排除して抽出し、残りのファイルオ
ブジェクトのみプリフェッチする。
Among the file objects, there is also a file object in which prefetching is meaningless or the efficiency of the entire system is rather lowered because of prefetching. Some of such file objects can be known in advance as containing a specific character string. Therefore, such a specific character string is designated in advance and stored as a character string pattern in the second network file relay means, and a file object having a character string that matches this character string pattern is excluded and extracted, and the rest is left. Prefetch only the file object of.

【0096】こうすることで、プリフェッチにより、よ
り有用なデータをより多くキャッシュファイル手段にプ
リフェッチすることができるので、請求項12に記載の
発明の効果に加えて、キャッシュファイルの内容を新鮮
に保つことと、キャッシュヒット率を向上させることと
を、効率的に達成することができる。
By doing so, more useful data can be prefetched to the cache file means by prefetching. Therefore, in addition to the effect of the invention described in claim 12, the contents of the cache file are kept fresh. And improving the cache hit rate can be efficiently achieved.

【0097】請求項14に記載の発明に係るゲートウェ
イ装置は、請求項12の記載の発明の構成に加えて、第
2のファイル転送記録手段の蓄積する転送記録は、取得
されたファイルオブジェクトのファイルサイズをさらに
含む。第2のネットワークファイル中継手段は、転送対
象となるファイルオブジェクトサイズの最大値を特定す
る情報を予め記憶し、第2のファイル転送記録手段によ
り記録された転送記録中から、記憶された最大値より大
きなファイルサイズを有するファイルオブジェクトを排
除して抽出する。
In the gateway device according to the invention described in claim 14, in addition to the configuration of the invention described in claim 12, the transfer record accumulated by the second file transfer recording means is a file of the acquired file object. Including size. The second network file relay means stores in advance information specifying the maximum value of the size of the file object to be transferred, and selects the maximum value stored from the transfer records recorded by the second file transfer recording means. Exclude and extract file objects with large file sizes.

【0098】大きなデータサイズのファイルオブジェク
トは、プリフェッチに時間がかかる。通常プリフェッチ
の処理は、ユーザの少ない限られた時間帯に行なわれる
ことが多い。この限られた時間帯内に、できるだけ多く
の数のファイルオブジェクトのプリフェッチを完了させ
ようとすれば、大きなファイルオブジェクトのプリフェ
ッチは避けることが望ましい。場合によっては有限のプ
リフェッチ時間内に、多大なサイズのファイルオブジェ
クトのプリフェッチが完了せず、結果としてプリフェッ
チが全く行なわれないことさえあり得る。そのため、デ
ータサイズの大きなファイルオブジェクトのプリフェッ
チを回避することにより、有限のプリフェッチ時間内に
多数のファイルオブジェクトをファイルキャッシュ手段
内にプリフェッチすることができ、キャッシュファイル
手段に格納された有効なデータ量を増やすことができ
る。結果として、キャッシュファイルの内容を新鮮に保
つことと、キャッシュヒット率を向上させることとが、
効率的に行なわれる。
Prefetching a file object having a large data size takes time. Usually, the prefetch process is often performed in a limited time zone when there are few users. If it is attempted to complete the prefetch of as many file objects as possible within this limited time period, it is desirable to avoid prefetching large file objects. In some cases, within a finite prefetch time, prefetching of a large size file object may not complete, and as a result prefetching may not even occur at all. Therefore, by avoiding prefetching a file object with a large data size, a large number of file objects can be prefetched into the file cache means within a finite prefetch time, and the effective amount of data stored in the cache file means can be saved. You can increase. As a result, keeping the contents of the cache file fresh and improving the cache hit rate are
It is done efficiently.

【0099】請求項15に記載の発明に係るゲートウェ
イ装置は、請求項12に記載のゲートウェイ装置であっ
て、第2のファイル転送記録手段の蓄積する転送記録
は、取得が試行されたファイルオブジェクトに関するサ
ーバ計算機の状態コードをさらに含んでいる。第2のネ
ットワークファイル中継手段は、サーバ計算機の特定の
状態コードを予め記憶し、第2のファイル転送記録手段
により記録された転送記録中から、この特定の状態コー
ドと一致する状態コードを有するファイルオブジェクト
を排除して抽出する。
The gateway device according to the invention described in claim 15 is the gateway device according to claim 12, wherein the transfer record accumulated by the second file transfer recording means relates to the file object for which the acquisition is attempted. It also contains the status code of the server computer. The second network file relay means pre-stores a specific status code of the server computer, and a file having a status code that matches the specific status code from the transfer records recorded by the second file transfer recording means. Exclude and extract objects.

【0100】サーバ計算機が、たとえばファイル送信の
行なえない異常な状態にある場合、このサーバ計算機に
対してファイルオブジェクトの送信を要求するのは無駄
である。そのような無駄なファイルアクセスを行なわず
に、他の有効なサーバ計算機に対してファイルオブジェ
クトのプリフェッチを行なえば、有限の時間内により多
くの有効なデータをファイルキャッシュ手段内に蓄積す
ることができる。その結果、キャッシュファイルの内容
を新鮮に保ち、かつキャッシュヒット率を向上させるこ
とが効率的に行なえる。
When the server computer is in an abnormal state in which file transmission cannot be performed, it is useless to request the server computer to transmit a file object. If the file object is prefetched to another valid server computer without performing such wasteful file access, more valid data can be stored in the file cache means within a finite time. . As a result, the contents of the cache file can be kept fresh and the cache hit rate can be improved efficiently.

【0101】請求項16に記載の発明に係るゲートウェ
イ装置は、請求項1〜15のいずれかに記載のゲートウ
ェイ装置であって、第1のネットワークファイル中継手
段に対するクライアント計算機としての機能を実現する
ための手段をさらに含んでいる。
A gateway device according to the invention described in claim 16 is the gateway device according to any one of claims 1 to 15, for realizing a function as a client computer for the first network file relay means. It further includes the means of.

【0102】ゲートウェイ装置に、クライアント計算機
としての機能を持たせることにより、プリフェッチした
いファイルに対するアクセス要求をクライアント計算機
としての機能を通じてゲートウェイ装置に出すことがで
きる。そのためプリフェッチされるファイルオブジェク
トの量をさらに増やすことができ、キャッシュファイル
の内容を新鮮に保つことと、キャッシュヒット率を向上
させることとを、ともに、かつ効率的に達成することが
できる。
By giving the gateway device a function as a client computer, an access request for a file to be prefetched can be issued to the gateway device through the function as a client computer. Therefore, the amount of file objects to be prefetched can be further increased, and the contents of the cache file can be kept fresh and the cache hit rate can be improved together and efficiently.

【0103】[0103]

【発明の実施の形態】DETAILED DESCRIPTION OF THE INVENTION

[実施の形態1]本発明が適用されるゲートウェイ装置
(proxy サーバ装置と呼ぶ)は、ネットワークインタフ
ェースを備えたUNIX OS の稼動する計算機によって、以
下の説明および図面を参照すれば容易に実現可能であ
る。そうしたproxy サーバ装置の構成の一例は図16に
示したとおりである。図16のproxy サーバ装置につい
ては既に説明したので、その構成についての詳細な説明
はここでは繰返さない。
[First Embodiment] A gateway device (referred to as a proxy server device) to which the present invention is applied can be easily realized by a computer running a UNIX OS equipped with a network interface, with reference to the following description and drawings. is there. An example of the configuration of such a proxy server device is as shown in FIG. Since the proxy server device of FIG. 16 has already been described, detailed description of its configuration will not be repeated here.

【0104】通常は、ユーザ31がクライアント計算機
24を使用してproxy サーバ装置(図16におけるprox
y サーバ装置400)に対して、サーバ計算機11のフ
ァイルオブジェクト12を取得するようネットワーク2
3を経由して依頼を出す。ファイルオブジェクト12
は、前述したようにプロトコル名称と、サーバ計算機の
ネットワークアドレス名称と、ファイルオブジェクトの
名称と、ファイルデータの実体との組からなっている。
Normally, the user 31 uses the client computer 24 to execute the proxy server device (prox in FIG. 16).
For the server device 400), the network 2 is used to acquire the file object 12 of the server computer 11.
Request via 3 File object 12
Is composed of a set of the protocol name, the network address name of the server computer, the name of the file object, and the substance of the file data, as described above.

【0105】図1に、本願発明に係るproxy サーバ装置
の第1の実施の形態に係る装置53のシステム構成を示
す。図1を参照して、proxy サーバ装置53は、内部ネ
ットワーク23および外部ネットワーク25に接続され
た第1のproxy プロセス14と、第1のproxy プロセス
14が使用するキャッシュファイル16と、第1のprox
y プロセス14が、アクセスログ(転送記録)としてフ
ァイルオブジェクトの名称を記録するアクセスログ15
と、第1のproxy プロセス14の過去のアクセスログ1
0を読出してファイルのアクセスリスト30を作成する
とともに、このアクセスリスト30に掲載されたファイ
ルオブジェクトを外部ネットワーク25のサーバ計算機
11からプリフェッチするための要求を発生するプリフ
ェッチプロセス36と、プリフェッチプロセス36のプ
リフェッチ要求に応答して、外部ネットワーク25のサ
ーバ11から該当するファイルオブジェクトを取得し、
キャッシュファイル16に再格納することによりキャッ
シュファイルの内容を最新のものに保つための第2のpr
oxy プロセス34とを含む。
FIG. 1 shows the system configuration of the device 53 according to the first embodiment of the proxy server device according to the present invention. With reference to FIG. 1, the proxy server device 53 includes a first proxy process 14 connected to the internal network 23 and the external network 25, a cache file 16 used by the first proxy process 14, and a first proxy process.
The access log 15 in which the y process 14 records the name of the file object as an access log (transfer record)
And the past access log 1 of the first proxy process 14
The prefetch process 36 that generates a request for prefetching the file object listed in the access list 30 by reading 0 from the server computer 11 of the external network 25 and the prefetch process 36 In response to the prefetch request, obtain the corresponding file object from the server 11 of the external network 25,
A second pr to keep the contents of the cache file up to date by re-storing it in the cache file 16.
and an oxy process 34.

【0106】第1のproxy プロセス14と、第2のprox
y プロセス34と、プリフェッチプロセス36とはいず
れも、たとえば図16に示すメモリ206内にプログラ
ムとして格納され、CPU200によってこれを実行す
ることにより実現される。
The first proxy process 14 and the second prox
Both the y process 34 and the prefetch process 36 are stored as programs in the memory 206 shown in FIG. 16, for example, and are realized by the CPU 200 executing them.

【0107】第1のproxy プロセス14が、特許請求の
範囲に記載の転送手段に相当し、キャッシュファイル1
6がキャッシュファイル手段に相当し、アクセスログ1
5がファイル転送記録手段に相当する。またプリフェッ
チプロセス36と、アクセスリスト30と、第2のprox
y プロセス34とにより第2のネットワークファイル中
継手段が構成される。
The first proxy process 14 corresponds to the transfer means described in the claims, and the cache file 1
6 corresponds to cache file means, access log 1
Reference numeral 5 corresponds to the file transfer recording means. Also, the prefetch process 36, the access list 30, and the second prox
The y process 34 constitutes a second network file relay means.

【0108】第2のproxy プロセス30は、本願発明に
係るゲートウェイ装置に特有のものであるが、次のよう
な条件に従って起動されている。
The second proxy process 30, which is unique to the gateway device according to the present invention, is activated under the following conditions.

【0109】(1) 第2のproxy プロセス30は、第
1のproxy プロセス14と共通のキャッシュファイル1
6を使用する。
(1) The second proxy process 30 has the same cache file 1 as the first proxy process 14.
Use 6

【0110】(2) 第2のproxy プロセス34のキャ
ッシュ有効期限は0に設定される。すなわち第2のprox
y プロセスを経由するサーバ計算機へのアクセスは、キ
ャッシュミスヒット状態となり必ず外部ネットワーク2
5内のサーバ計算機に対して行なわれ、ファイルオブジ
ェクトを取得してキャッシュファイル16に格納する。
(2) The cache expiration date of the second proxy process 34 is set to 0. Ie the second prox
Access to the server computer via the y process will result in a cache miss-hit state and must be external network 2
5, the file object is acquired and stored in the cache file 16.

【0111】図1に示すproxy サーバ装置53の動作に
ついて以下説明する。内部ネットワーク23内のクライ
アント計算機24が、このproxy サーバ装置53に対し
てネットワークアクセス要求19を与えるものとする。
第1のproxy プロセス14が、このネットワークアクセ
ス要求19を受取り、まずI/Oインタフェース202
(図15、図16、図17参照)を経由してファイル装
置216内に存在するキャッシュファイル16をアクセ
スする(21)。また第1のproxy プロセス14は、こ
のネットワークアクセス要求とキャッシュファイル16
内のファイルオブジェクト名称とを比較し(22)、一
致しているか否かを判定する。一致したものがあれば第
1のproxy プロセス14はさらに、当該ファイルオブジ
ェクトのキャッシュファイル16内の最終変更時刻を抽
出し(22)、現在の時刻と比較する。そして現在の時
刻が、当該ファイルオブジェクトの最終変更時刻を起点
とする有効期限内であれば、キャッシュファイル16か
ら当該ファイルオブジェクトを抽出し(22)、ネット
ワークI/Oインタフェース402(図16参照)を経
由してクライアント計算機24にファイルオブジェクト
を返す(20)。
The operation of the proxy server device 53 shown in FIG. 1 will be described below. It is assumed that the client computer 24 in the internal network 23 issues a network access request 19 to this proxy server device 53.
The first proxy process 14 receives this network access request 19, and first, the I / O interface 202
The cache file 16 existing in the file device 216 is accessed via (see FIGS. 15, 16 and 17) (21). Also, the first proxy process 14 uses this network access request and cache file 16
It is compared with the file object name in (22) to determine whether or not they match. If there is a match, the first proxy process 14 further extracts the last modification time in the cache file 16 of the file object (22) and compares it with the current time. If the current time is within the valid period starting from the last modification time of the file object, the file object is extracted from the cache file 16 (22) and the network I / O interface 402 (see FIG. 16) is set. The file object is returned to the client computer 24 via (20).

【0112】該当するファイルオブジェクトのコピーが
キャッシュファイル16内に存在していない場合、また
は存在していてもそのキャッシュ有効期限が切れている
場合には第1のproxy プロセス14は、ネットワークI
/Oインタフェース402(図16参照)を経由して外
部ネットワーク25のサーバ計算機11にファイルオブ
ジェクト転送要求17を送る。このときのサーバ11
は、当該ファイルオブジェクト内のネットワークアドレ
ス名称により特定される。
If a copy of the corresponding file object does not exist in the cache file 16, or if it exists, but the cache expiration date has expired, the first proxy process 14 uses the network I
The file object transfer request 17 is sent to the server computer 11 of the external network 25 via the / O interface 402 (see FIG. 16). Server 11 at this time
Is specified by the network address name in the file object.

【0113】該当するサーバ11は、要求されたファイ
ルオブジェクトを第1のproxy プロセス14に返送する
(18)。すなわちこのファイルオブジェクトが第1の
proxy プロセス14により取得される。
The relevant server 11 returns the requested file object to the first proxy process 14 (18). That is, this file object is the first
Obtained by the proxy process 14.

【0114】第1のproxy プロセス14は、このファイ
ルオブジェクトをキャッシュファイル16にその最終変
更時刻とともに書込み(21)、アクセスログ15にこ
のファイルオブジェクトの名称を記録する(26)。
The first proxy process 14 writes this file object in the cache file 16 together with its last modification time (21), and records the name of this file object in the access log 15 (26).

【0115】一方、本願発明のproxy サーバ装置53
は、プリフェッチプロセス36と第2のproxy プロセス
30とをCPUにより処理走行させてファイルオブジェ
クトのプリフェッチを行なう点において従来のproxy サ
ーバ装置と相違する。
On the other hand, the proxy server device 53 of the present invention
Differs from the conventional proxy server device in that the prefetch process 36 and the second proxy process 30 are run by the CPU to prefetch the file object.

【0116】プリフェッチプロセス36および第2のpr
oxy プロセス34は次のように動作する。プリフェッチ
プロセス36は、第1のproxy プロセス14の過去のア
クセスログ15を読出し(27)、ファイル装置内にフ
ァイルアクセスリスト30を作成する(28)。プリフ
ェッチプロセス36はさらに、このアクセスリスト30
に掲載されたファイルオブジェクトを読出し(29)、
当該ファイルオブジェクトに対するアクセス要求を第2
のproxy プロセス34に対して与える(31)。第2の
proxy プロセス34は、このアクセス要求を外部ネット
ワーク25のサーバ11に対して与え(32)、当該フ
ァイルオブジェクトを取得する(33)。取得されたフ
ァイルオブジェクトはキャッシュファイル16内にその
最終変更時刻とともに書込まれる。すなわちこれにより
キャッシュファイル16内の当該ファイルオブジェクト
は、クライアント計算機24からのアクセス要求がなく
とも最新のものに書直される。また前述のとおり第2の
proxy プロセス34のキャッシュ有効期限は0に設定さ
れているため、プリフェッチプロセス36からアクセス
要求31が第2のproxy プロセス34に渡されると、必
ず当該ファイルオブジェクトに対するアクセス要求が第
2のproxy プロセス34によって外部ネットワーク20
に与えられる。
Prefetch process 36 and second pr
The oxy process 34 operates as follows. The prefetch process 36 reads the past access log 15 of the first proxy process 14 (27) and creates the file access list 30 in the file device (28). The prefetch process 36 further includes this access list 30.
Read the file object posted in (29),
Second access request for the file object
(31) to the proxy process 34 of. Second
The proxy process 34 gives this access request to the server 11 of the external network 25 (32) and acquires the file object (33). The acquired file object is written in the cache file 16 together with its last modification time. That is, this causes the file object in the cache file 16 to be rewritten to the latest version even if there is no access request from the client computer 24. As mentioned above, the second
Since the cache expiration date of the proxy process 34 is set to 0, when the access request 31 is passed from the prefetch process 36 to the second proxy process 34, the access request for the file object is always issued by the second proxy process 34. External network 20
Given to.

【0117】このように第2のproxy プロセス34を起
動すると、大きく次の2つの効果を得ることができる。
When the second proxy process 34 is activated in this way, the following two effects can be obtained.

【0118】(1) 第1のproxy プロセス14では、
キャッシュファイル16の有効期限がある値に設定され
ている。この有効期限をM時間であるものとする。仮に
プリフェッチプロセス36が第2のproxy プロセス34
ではなく第1のproxy プロセス14に対してファイルオ
ブジェクトのプリフェッチのためのアクセス要求を与え
るものとすると、キャッシュファイル16にヒットして
しまう確率が高い。これでは、外部ネットワーク25内
の元のファイルオブジェクトに対するアクセスが行なわ
れず、プリフェッチが有効には行なわれない。
(1) In the first proxy process 14,
The expiration date of the cache file 16 is set to a certain value. This expiration date shall be M hours. If the prefetch process 36 is the second proxy process 34,
If an access request for prefetching the file object is given to the first proxy process 14 instead, the probability of hitting the cache file 16 is high. In this case, the original file object in the external network 25 is not accessed and prefetching is not effectively performed.

【0119】一方前述のように第2のproxy プロセス3
4は、そのキャッシュ有効期限が0に設定されている。
そのため第2のproxy プロセスに対してアクセス要求が
与えられると、必ずキャッシュミスが発生し、外部ネッ
トワーク25に対するファイルオブジェクトのアクセス
が行なわれる(32)。そのようにしてサーバから当該
ファイルオブジェクトが取得され(33)、取得された
ファイルオブジェクトがキャッシュファイル16に書込
まれる(35)ことによりキャッシュファイル16内の
ファイルオブジェクトが最新の状態に維持される。
On the other hand, as described above, the second proxy process 3
No. 4 has its cache expiration date set to zero.
Therefore, when an access request is given to the second proxy process, a cache miss always occurs and the file object is accessed to the external network 25 (32). In this way, the file object is acquired from the server (33), and the acquired file object is written in the cache file 16 (35), so that the file object in the cache file 16 is maintained in the latest state.

【0120】(2) 第1のproxy プロセス14はアク
セスログ15を残す。プリフェッチプロセス36はこの
アクセスログ15から、プリフェッチすべきファイルオ
ブジェクト名称を抽出したアクセスリスト30を作成す
る。
(2) The first proxy process 14 leaves the access log 15. The prefetch process 36 creates an access list 30 in which the file object name to be prefetched is extracted from this access log 15.

【0121】仮にプリフェッチプロセス36が第1のpr
oxy プロセス14に対して、サーバ計算機内のファイル
オブジェクトのプリフェッチのためのアクセス要求を与
えたとすると、その結果のアクセスログがアクセスログ
15に記録されてしまう。プリフェッチプロセス36
は、次回のプリフェッチ動作においてこのアクセスログ
15をもとにアクセスすべきファイルオブジェクトのリ
スト30を作成するので、その結果作成されるアクセス
リスト30には、同一のファイルオブジェクトが多重に
出現してしまうことになる。そうしたアクセスリスト3
0によってプリフェッチを行なった場合、クライアント
計算機24からのファイルオブジェクトのアクセス要求
の傾向を反映したものとは言えなくなるおそれがある。
第2のproxy プロセス34を用い、プリフェッチを行な
うことにより、アクセスログ15にはプリフェッチにら
るアクセスログは書込まれないことになる。そのためア
クセスリスト30は、クライアント計算機24からのフ
ァイルオブジェクトのアクセス要求の傾向を正確に反映
したものとなる。
If the prefetch process 36 is the first pr
If an access request for prefetching a file object in the server computer is given to the oxy process 14, the resulting access log will be recorded in the access log 15. Prefetch process 36
Creates a list 30 of file objects to be accessed based on this access log 15 in the next prefetch operation, so that the same file object will appear multiple times in the access list 30 created as a result. It will be. Such access list 3
If the prefetch is performed by 0, it may not be said that the tendency of the file object access request from the client computer 24 is reflected.
By performing the prefetch using the second proxy process 34, the access log obtained by the prefetch is not written in the access log 15. Therefore, the access list 30 accurately reflects the tendency of access requests for file objects from the client computer 24.

【0122】アクセスリスト30を作成する際には、プ
リフェッチプロセス36はアクセスログ15内から、過
去の一定期間(これをn日とする)のファイルオブジェ
クト名称を抽出する。ただしn×24(時間)は第1の
proxy プロセス14のキャッシュ有効期限M時間よりも
大きい。
When creating the access list 30, the prefetch process 36 extracts from the access log 15 the file object name of a certain past period (this is n days). However, n × 24 (time) is the first
The cache expiration time of the proxy process 14 is greater than M hours.

【0123】既に図14を参照して説明したように、通
常はキャッシュ有効期限が短ければキャッシュファイル
に蓄積される容量は少なく、大きくなれば大きくなる。
ヒット率はキャッシュファイルに蓄積されたファイルオ
ブジェクトの量が多いほど高くなることは、既に図13
を参照して説明した。しかしまた、キャッシュファイル
サイズを大きくすればステールデータ率が増加してしま
うことについても既に説明した。
As already described with reference to FIG. 14, normally, the shorter the cache expiration date, the smaller the capacity accumulated in the cache file, and the larger the capacity, the larger the capacity.
The hit rate increases as the number of file objects accumulated in the cache file increases.
It explained with reference to. However, I have already explained that increasing the cache file size also increases the stale data rate.

【0124】本願発明のゲートウェイ装置では、第1の
proxy プロセス14のキャッシュ有効期限はM時間であ
る。しかしプリフェッチプロセス36がプリフェッチの
対象とするファイルオブジェクトは、n日(n×24>
M)のアクセスログから抽出されている。したがってプ
リフェッチプロセス36および第2のproxy プロセス3
4によってキャッシュファイル16内に蓄積されるファ
イルオブジェクトの量は、n×24時間分だけある。す
なわち、蓄積されているファイルオブジェクトのデータ
量は十分大きいのでキャッシュのヒット率は高くなる。
一方で第1のproxy プロセス14のキャッシュ有効期限
はM時間に保たれているので、プリフェッチを適切な時
期に行なっておけばステールデータ率が高くなるおそれ
はない。
In the gateway device of the present invention, the first
The cache expiration date of the proxy process 14 is M hours. However, the file object targeted by the prefetch process 36 is n days (n × 24>
It is extracted from the access log of M). Therefore, the prefetch process 36 and the second proxy process 3
The number of file objects stored in the cache file 16 by 4 is n × 24 hours. That is, since the amount of data of the stored file object is sufficiently large, the cache hit rate becomes high.
On the other hand, since the cache expiration date of the first proxy process 14 is kept at M hours, there is no possibility that the stale data rate will increase if prefetching is performed at an appropriate time.

【0125】本発明を非常に有効に適用できる例とし
て、インターネット上のWWWシステムがある。WWW
システム上でのproxy サーバ装置において本願発明のプ
リフェッチプロセスを行なう手順を以下に説明する。
As an example to which the present invention can be applied very effectively, there is a WWW system on the Internet. WWW
The procedure for performing the prefetch process of the present invention in the proxy server device on the system will be described below.

【0126】WWWシステムでは、ネットワーク上に分
散したファイルオブジェクト名称はUniform Resource L
ocator(URL)と呼ばれる形式で表現され、特定され
る。URLの一例を次に示す。
In the WWW system, the file object names distributed on the network are Uniform Resource L
It is expressed and specified in a format called ocator (URL). An example of the URL is shown below.

【0127】[0127]

【数3】 [Equation 3]

【0128】数3において「http」は使用するプロトコ
ルを示す。「www.xxx.co.jp 」は、ネットワーク上のH
TTPサーバ計算機のアドレスを示すものであり、ネッ
トワーク上で同一のものはないよう選ばれている。また
「/test/index.html」はサーバ計算機内のファイル名称
を示す。
In Expression 3, "http" indicates the protocol to be used. "Www.xxx.co.jp" is on the network
It indicates the address of the TTP server computer and is selected so that no two are the same on the network. "/Test/index.html" shows the file name in the server computer.

【0129】第1のproxy プロセスとして一般に利用さ
れているDeleGateを使用する場合は、そのアクセスログ
の例は次のように、内部ネットワーククライアント計算
機名称と、時刻と、“HTTPプロトコル(ファイル取
得要求)”、などとなる。
When using the DeleGate generally used as the first proxy process, an example of the access log is as follows: internal network client computer name, time, "HTTP protocol (file acquisition request)"", And so on.

【0130】[0130]

【数4】 [Equation 4]

【0131】数4に示すアクセスログは、図2に示すよ
うな、出願人がインターネット上で公開している情報ペ
ージをアクセスした場合のログに相当する。図2に示さ
れるぺージは、テキストと、6個のグラフィックデータ
とから構成されているので、このページに対するアクセ
スを1回行なうと、6個のグラフィックデータに対する
アクセスも含む7つのアクセスログが形成される。すな
わち上述のログにおいて第1行目はこの情報ページのテ
キストに対するアクセス要求であり、残りの6行は表紙
に貼り込まれた出願人の会社のロゴのグラフィックデー
タ(sharpcolor.gif)、出願人会社内の情報システム事
業本部と呼ばれる事業部のロゴ(isg.gif )と、出願人
会社の4つの製品の写真のグラフィックデータ(Zauru
s.gif, Shoin.gif, Prostation.gif, S2.gif )の取得
要求を示している。
The access log shown in Expression 4 corresponds to a log when the applicant accesses an information page published on the Internet as shown in FIG. Since the page shown in FIG. 2 is composed of text and 6 pieces of graphic data, if this page is accessed once, 7 access logs including access to 6 pieces of graphic data are formed. To be done. That is, in the above log, the first line is an access request for the text of this information page, and the remaining six lines are the graphic data (sharpcolor.gif) of the logo of the applicant's company pasted on the cover, the applicant company. The logo of the division called the Information Systems Business Division (isg.gif) and the graphic data of the four products of the applicant company (Zauru
s.gif, Shoin.gif, Prostation.gif, S2.gif).

【0132】HTTPプロトコルは、コマンド文字列
(GETなど)と、URLと、プロトコルバージョン
(「HTTP/1.0」など)から構成されている。以下はその
一例である。
The HTTP protocol is composed of a command character string (GET, etc.), a URL, and a protocol version ("HTTP / 1.0", etc.). The following is an example.

【0133】[0133]

【数5】 [Equation 5]

【0134】HTTPプロトコルについては、最後に掲
げる表内に示された参考文献のうち、参考文献3および
参考文献4に記載されている。プリフェッチプロセスの
実施手順について以下に説明するが、そのための前提条
件は次の(1)および(2)となっている。
The HTTP protocol is described in References 3 and 4 of the references listed in the last table. The implementation procedure of the prefetch process will be described below, and the preconditions therefor are (1) and (2) below.

【0135】(1) 第1のproxy プロセスは、キャッ
シュ有効期限M(時間)を、キャッシュログの収集期間
n日より短く設定する。たとえばM=24時間、n=7
日とする。
(1) The first proxy process sets the cache expiration date M (time) shorter than the cache log collection period n days. For example M = 24 hours, n = 7
The day

【0136】(2) 第2のproxy プロセスは、キャ
ッシュファイルを第1のproxy プロセスのものと共有
し、キャッシュ有効期限を0に設定する、という2つ
の条件に従って起動される。
(2) The second proxy process is activated under the two conditions that the cache file is shared with that of the first proxy process and the cache expiration date is set to 0.

【0137】このような条件のもとに、以下に述べる手
順のプリフェッチプロセスを毎日一定時刻に起動する。
毎日一定時刻にプロセスを自動起動するには、ゲートウ
ェイ装置がUNIX OS のもとで動作するのであれば、UNIX
OS に備えられているタイマ機能(cron)を使用する。
これは、UNIX OS に関連してよく知られている機能であ
るので、その詳細についてはここでは説明しない。な
お、UNIX OS 以外のOSでも、同様の機能が提供されて
いることが多い。
Under these conditions, the prefetch process of the procedure described below is activated at a fixed time every day.
To automatically start the process at a certain time every day, if the gateway device operates under UNIX OS, run UNIX
Use the timer function (cron) included in the OS.
This is a well-known feature associated with the UNIX OS, so its details are not discussed here. Similar functions are often provided by OSs other than UNIX OS.

【0138】図3に、本願発明に係るプリフェッチプロ
セスの制御の流れを示した。このプロセスを実現するた
めのプログラムは、たとえば図16のメモリ206内に
配置され、CPU202によって実行される。このプロ
セスとネットワークおよびファイル装置216との入出
力には、それぞれネットワークI/Oインタフェース4
02とI/Oインタフェース202とが使用される。
FIG. 3 shows the control flow of the prefetch process according to the present invention. A program for realizing this process is arranged in the memory 206 of FIG. 16, for example, and is executed by the CPU 202. The network I / O interface 4 is used for input / output of this process and the network and file device 216, respectively.
02 and the I / O interface 202 are used.

【0139】図3を参照して、まずステップ1で第1の
proxy プロセスのアクセスログファイルをn日分収集す
る。この収集の具体的な手順は次のとおりである。
Referring to FIG. 3, first in step 1, the first
Collect the access log files of the proxy process for n days. The specific procedure for this collection is as follows.

【0140】第1のproxy プロセスのアクセスログファ
イル名称は、毎日名称が変わるように第1のproxy プロ
セスにより設定できる。たとえばログファイル名称の末
尾に、日付が入るようにすることができる。すると、ロ
グファイルとして次のようなものが生成されるであろ
う。
The access log file name of the first proxy process can be set by the first proxy process so that the name changes every day. For example, the date can be added at the end of the log file name. This will produce the following log file:

【0141】[0141]

【表1】 [Table 1]

【0142】最新のn日分のログファイルを収集するた
めには、これらログファイルの名称リストを日付の降順
でソートすると便利である。UNIX OS のもとでは、この
ようなファイルの名称リストを日付の新しいものから順
に並べるには/bin/ls コマンドを−tオプションを指定
して起動すればよい。そのようなコマンド例とその結果
とを次に示す。
In order to collect the latest n days of log files, it is convenient to sort the log file name list in descending order of date. Under the UNIX OS, you can run the / bin / ls command with the -t option to sort the list of names for such files, from newest to oldest. An example of such a command and its result is shown below.

【0143】[0143]

【表2】 [Table 2]

【0144】これらのファイルリストから最近のたとえ
ば7日分のログファイル名称を抽出することにする。こ
の場合には、UNIXに標準的に搭載されている/usr/ucb/h
eadコマンドを用いて先頭の7行を抽出すればよい。hea
dコマンドは、標準入力から先頭の指定行数を標準出力
に出力する。そこで、ls -t コマンドの標準出力をhead
コマンドの標準入力とすれば上述の最近の7日分のログ
ファイル名称を抽出できる。このためには、ls -t のコ
マンドとheadコマンドとを“|”を使って繋ぎUNIX OS
に渡せばよい。このように“|”を使って標準入出力を
接続することは、UNIXでは普通に行なわれている。なお
このような標準入出力の接続が行なえないOSのもとでこ
のようなデータに対する連続的な処理を行なう場合に
は、他の方式を使用する必要があるが、通常のOSでは
そのためのツールが装備されているであろう。
From these file lists, the log file names for the latest seven days, for example, will be extracted. In this case, / usr / ucb / h, which is standard on UNIX
The top 7 lines can be extracted using the ead command. hea
The d command outputs the specified number of lines from the standard input to the standard output. So, the standard output of the ls -t command is head
If the standard input of the command is used, the log file names for the last 7 days can be extracted. To do this, connect the ls -t command and the head command using "|"
You can pass it to. In this way, connecting standard input / output using "|" is commonly used in UNIX. If you want to continuously process such data under an OS that cannot be connected to such standard input / output, you need to use another method. Will be equipped with.

【0145】上述の接続後のコマンドとその結果とを次
に示す。
The command after the above connection and the result thereof are shown below.

【0146】[0146]

【表3】 [Table 3]

【0147】次に、図3のステップ2で、プリフェッチ
アクセスリストを作成する。このアクセスリストは1つ
のファイル“workfile.txt”にまとめられるものとす
る。このファイルは、その1行ごとに過去のアクセスフ
ァイルオブジェクトを記録したものとなる。したがって
このファイルを作成するために、以下のような条件でプ
リフェッチすべきファイルオブジェクト名称を含むアク
セスログを選択する。
Next, in step 2 of FIG. 3, a prefetch access list is created. This access list shall be put together in one file "workfile.txt". This file is a record of past access file objects line by line. Therefore, in order to create this file, the access log including the file object name to be prefetched is selected under the following conditions.

【0148】(1) HTTPコマンド文字列がファイ
ルオブジェクトリード要求(GET)であり、かつ
(2) ファイルオブジェクト名称のプロトコル部分が
httpであり、かつ(3) ファイルオブジェクト名称が
プリフェッチに適するものであること(プリフェッチに
適さないものを除外すること)。
(1) The HTTP command character string is a file object read request (GET), and (2) the protocol part of the file object name is
It is http, and (3) the file object name is suitable for prefetching (exclude those not suitable for prefetching).

【0149】以上の条件を使ってアクセスログを抽出し
リストを作る。さらにファイルオブジェクト名称のフィ
ールドだけをこのリストから抜出し、プリフェッチすべ
きファイルオブジェクト名称からなるプリフェッチアク
セスリストを作成する。
The access log is extracted and a list is created using the above conditions. Further, only the field of the file object name is extracted from this list to create a prefetch access list consisting of the file object names to be prefetched.

【0150】上述の条件(2)は、プリフェッチする意
味のあるファイルオブジェクト名称のみを抽出するため
である。第1および第2のproxy プロセスとして、上に
述べたように本実施の形態ではDeleGateソフトウェアを
使用している。このproxy ソフトウェアがキャッシュフ
ァイルを生成するプロトコルはhttpプロトコルのみであ
る。したがってプリフェッチして意味があるのはそのよ
うなhttpプロトコルに従ったアクセスログのみである。
それ以外のプロトコルはプリフェッチしてもキャッシュ
処理の対象とはならないので無意味である。
The above-mentioned condition (2) is for extracting only the file object name that is meaningful for prefetching. As described above, DeleGate software is used in the present embodiment as the first and second proxy processes. The http software is the only protocol used by this proxy software to generate cache files. Therefore, it is only the access log that complies with such http protocol that is meaningful for prefetching.
Other protocols are meaningless because they are not subject to cache processing even if they are prefetched.

【0151】条件(3)に示すようにプリフェッチに適
さないファイルオブジェクト名称として、URL中に
「?」を含むものなどがある。?を含むURL表記は、
サーバ計算機に対してクライアントユーザから文字列を
人手で入力する場合などに使われる。そのためこの文字
を含むURL表記を有するファイルオブジェクトをプリ
フェッチすると、予期せぬ結果を招くおそれがある。こ
のステップ2の処理をUNIX OS のもとで行なうには、O
Sとともに提供されている次のようなコマンド群を使用
すればよい。
As shown in the condition (3), file object names that are not suitable for prefetching include those that include "?" In the URL. ? URL notation including
It is used when a client user manually inputs a character string to the server computer. Therefore, prefetching a file object having a URL notation including this character may lead to unexpected results. To perform the process of step 2 under UNIX OS,
The following commands provided with S may be used.

【0152】[0152]

【表4】 [Table 4]

【0153】たとえば次のコマンドを入力することによ
り、このステップ2の処理を経たものがファイル“work
file.txt”にリストとして出力される。
For example, by inputting the following command, the file that has undergone the processing of step 2 is the file "work".
It is output as a list in "file.txt".

【0154】[0154]

【表5】 [Table 5]

【0155】この間の経過を以下に説明する。“workfi
le.txt”にあるアクセスログの形式は既に述べたように
次のとおりである。
The progress of this period will be described below. “Workfi
The format of the access log in "le.txt" is as described above.

【0156】[0156]

【表6】 [Table 6]

【0157】したがって“workfile.txt”を標準出力
し、それをgrep −v ”\?”に入力することで
?を含まない行を抽出して標準出力に出力する。それを
さらにgrep ”\”GET”への入力とし、それに
よってGETコマンドであるもののみを抽出して標準出
力に出力する。
Therefore, by outputting "workfile.txt" as standard output and inputting it into grep -v "\?" ,? Extract lines that do not include and output to standard output. It is further used as an input to grep "\" GET ", whereby only the GET command is extracted and output to the standard output.

【0158】さらに空白がフィールド間の区切りである
と考えると、“workfile.txt”の各行の7番目のフィー
ルドがファイルオブジェクト名称に相当するので、aw
kコマンドを使用してこのファイルオブジェクト名称部
分のみを抽出する。さらにこのファイルオブジェクト名
称部分のプロトコル部分がhttpである行のみを抽出
するために、grep "^http://"でフィルタリングしてい
る。なおこのコマンドパラメータのうち^は行の先頭を
示している。
Further, considering that a space is a delimiter between fields, the seventh field in each line of “workfile.txt” corresponds to the file object name, so aw
Only this file object name part is extracted using the k command. Furthermore, in order to extract only the line in which the protocol part of this file object name part is http, it is filtered by grep "^ http: //". Note that among the command parameters, ^ indicates the beginning of the line.

【0159】このようにステップ2でworkfile2.txt に
出力されたプリフェッチアクセスリストは、内部ネット
ワークの複数のクライアント計算機からのサーバ計算機
へのアクセス記録である。したがってこのリストには同
じファイルオブジェクト名称が何度も出現する可能性が
ある。そこで、図3のステップ3で、このURLリスト
をファイルオブジェクト名称の出現頻度順にソートし、
かつ同じURLについては重複しないように1つにまと
める。
As described above, the prefetch access list output to workfile2.txt in step 2 is an access record from a plurality of client computers in the internal network to the server computer. Therefore, the same file object name may appear in this list many times. Therefore, in step 3 of FIG. 3, the URL list is sorted in the order of appearance frequency of file object names,
In addition, the same URL is grouped together so as not to overlap.

【0160】UNIXでは、このようなソート作業は、OS
とともに提供されている次のコマンド群を用いて行なう
ことができる。
In UNIX, such sort work is performed by the OS.
You can do this with the following commands provided with.

【0161】[0161]

【表7】 [Table 7]

【0162】具体的には次のコマンドとなる。Specifically, the command is as follows.

【0163】[0163]

【表8】 [Table 8]

【0164】すなわちworkfile2.txt でURLだけにな
ったファイルを標準出力に出力し、これをsortの標
準入力とし、ファイルオブジェクト名称をアルファベッ
ト順に並べる。workfile2.txt の例を次に示す。
That is, the file which is only URL in workfile2.txt is output to the standard output, and this is used as the standard input of sort, and the file object names are arranged in alphabetical order. The following is an example of workfile2.txt.

【0165】[0165]

【表9】 [Table 9]

【0166】workfile2.txt | sort の結果は次のよう
にアルファベット順(ASCIIコード順)になる。
Workfile2.txt | The result of sort is in alphabetical order (ASCII code order) as follows.

【0167】[0167]

【表10】 [Table 10]

【0168】さらにこの出力をuniq -c の標準入力に入
力すると同一ファイルオブジェクト名称の行が集約さ
れ、かつ出現頻度が第1フィールドとして付加されて各
レコードが出力されるので、その出力は次のようにな
る。
Further, when this output is input to the standard input of uniq -c, lines having the same file object name are aggregated, and the occurrence frequency is added as the first field to output each record. Therefore, the output is as follows. Like

【0169】[0169]

【表11】 [Table 11]

【0170】これらの第1フィールドを数値と考え、大
きいものから順にソートする。そのためにはsort -n -r
の標準入力に表11の結果を与える。この結果各レコー
ドは出現頻度順に並べられ、その結果は次のようにな
る。
Considering these first fields as numerical values, the fields are sorted in descending order. For that, sort -n -r
The results in Table 11 are given to the standard input of. As a result, each record is arranged in the order of appearance frequency, and the result is as follows.

【0171】[0171]

【表12】 [Table 12]

【0172】すなわち表8のコマンドを実行した結果の
workfile3.txt というファイルは、出現頻度順に1行に
1個のファイルオブジェクト名称の並んだプリフェッチ
アクセスリストとなる。
That is, the result of executing the command in Table 8
The file workfile3.txt is a prefetch access list with one file object name per line in the order of frequency of occurrence.

【0173】さらに図3を参照して、ステップ4で、プ
リフェッチアクセスリスト25の1行が読出せるか否か
を調べる。読出される行がない場合にはプリフェッチア
クセスリストの最後であるからこの処理は終了する。読
出す行がある場合にはステップ5に進む。
Further, referring to FIG. 3, in step 4, it is checked whether or not one row of prefetch access list 25 can be read. If there is no row to be read, this is the end of the prefetch access list, and this processing ends. If there is a row to read, go to step 5.

【0174】ステップ5では、読出した1行のファイル
オブジェクト名称をもとに第2のproxy プロセス34を
用いて、サーバ計算機に対してネットワークアクセスを
する子プロセスを起動する。この子プロセスをプリフェ
ッチ子プロセスと呼ぶ。この子プロセスの終了を待って
処理をステップ4に戻し、ステップ4とステップ5との
処理を繰返すプリフェッチプロセスループを形成する。
In step 5, the second proxy process 34 is used based on the read file object name in one line to start a child process for network access to the server computer. This child process is called a prefetch child process. Waiting for the end of this child process, the process is returned to step 4, and a prefetch process loop for repeating the processes of steps 4 and 5 is formed.

【0175】なお、図3には示されていないが、ステッ
プ1からステップ5の処理により生成されたプリフェッ
チプロセスループを、指定時刻に強制終了するようにO
Sのタイマをセットする。OSタイマは、UNIX OS に標
準的に提供されているatコマンドを利用して指定時間
動作を指定することにより行なえる。より具体的には、
上記したステップ1からステップ5によるプリフェッチ
プロセスのプロセスID番号を使用して次のコマンドを
OSに与える。
Although not shown in FIG. 3, the prefetch process loop generated by the processing of steps 1 to 5 is forced to end at the designated time.
Set the S timer. The OS timer can be performed by designating a designated time operation using the at command that is provided as standard in UNIX OS. More specifically,
The next command is given to the OS using the process ID number of the prefetch process in steps 1 to 5 described above.

【0176】[0176]

【表13】 [Table 13]

【0177】このコマンドにより、8時00分にプロセ
スを終了させるkill命令を発行するように、OSに対し
て予約をすることができる。
With this command, it is possible to make a reservation with respect to the OS so as to issue a kill command to terminate the process at 8:00.

【0178】なおネットワークアクセス部の実現方法と
しては、プリフェッチプロセスから直接HTTPプロト
コルを発生すればよい。しかしUNIXで一般に利用されて
いるlynx(参考文献6参照)などのWWWクライア
ントプログラムを利用すると、HTTPプロトコルを発
生するプログラムを新たに製作しなくともHTTPプロ
トコルに従ったプリフェッチ子プロセス操作を実現でき
る。その方法を以下に説明する。
As a method of implementing the network access unit, the HTTP protocol may be directly generated from the prefetch process. However, if a WWW client program such as lynx (see Reference 6) that is generally used in UNIX is used, prefetch child process operation according to the HTTP protocol can be realized without newly creating a program that generates the HTTP protocol. The method will be described below.

【0179】lynxはUNIX OS の上で動作するプログ
ラムであるので、以下の説明ではUNIXの記法を使用す
る。
Since lynx is a program that runs on the UNIX OS, the UNIX notation will be used in the following description.

【0180】lynxでは次のコマンドを指定すれば、
指定URLを読出してtemp_fileというファイルに書込
むことができる。
In lynx, if the following command is specified,
The specified URL can be read and written to a file called temp_file.

【0181】[0181]

【表14】 [Table 14]

【0182】さらにproxy プロセス経由のアクセスも、
UNIX OS の環境変数http_ proxyを設定することによ
り、lynxから利用可能である。また、proxy プロセ
スがDeleGateのようなproxy ソフトウェアであれば、U
RL表記にproxy を指定することによりproxy 経由のア
クセスが可能である。これについては参考文献12を参
照されたい。
Furthermore, access via the proxy process is also
It can be used from lynx by setting the environment variable http_proxy of UNIX OS. If the proxy process is proxy software such as DeleGate, U
By specifying proxy in RL notation, access via proxy is possible. See reference 12 for this.

【0183】後者の方式を採用する場合について以下説
明する。proxy プロセスが、ネットワークアドレスがpr
oxyserver であるゲートウェイ計算機のTCP/IPの
10001番のポートを利用しているプロセスであるな
らば、このproxy プロセス経由でサーバ計算機のファイ
ルオブジェクトhttp://www.xxx.co.jp/test/index.html
をアクセスするためには次の表15のコマンドを指定す
ればよい。
The case where the latter method is adopted will be described below. proxy process has network address pr
If it is a process using port 10001 of TCP / IP of gateway computer which is oxyserver, file object of server computer via this proxy process http://www.xxx.co.jp/test/index .html
The following command in Table 15 may be specified to access the.

【0184】[0184]

【表15】 [Table 15]

【0185】したがって本願発明を実施する際には、同
様にしてproxy プロセスを第2proxy プロセスのポート
に設定してやればよい。
Therefore, when carrying out the present invention, the proxy process may be similarly set to the port of the second proxy process.

【0186】本願発明ではこのようなファイルオブジェ
クト(URL)のプリフェッチにより、第1のproxy プ
ロセスの管理するキャッシュファイルをn×24/M倍
に増やし、かつ最新状態に保つことを目的としている。
temp_file自体は利用されないので、このファイルは捨
てても構わない。
The object of the present invention is to increase the number of cache files managed by the first proxy process by n × 24 / M times and keep the latest state by prefetching such a file object (URL).
Since temp_file itself is not used, this file can be discarded.

【0187】図3のステップ1では、n日分アクセスロ
グファイルを集めた。このnという数字は、キャッシュ
ファイルの最大容量とファイル転送実績から定めればよ
い。たとえば1GBのキャッシュファイル装置に1日当
り100MBのキャッシュデータが蓄積されるようであ
れば、n=5程度に定めればよい。これにより、プリフ
ェッチは500MB程度の容量となり、キャッシュファ
イル装置が溢れることはない。このように、キャッシュ
ファイルの蓄積の実績を考慮することにより、キャッシ
ュファイルを溢れさせないような数字nを容易に算出す
ることができる。
In step 1 of FIG. 3, n days worth of access log files were collected. This number n may be determined from the maximum capacity of the cache file and the file transfer record. For example, if 100 MB of cache data is accumulated in a 1 GB cache file device per day, then n may be set to about 5. As a result, the prefetch capacity is about 500 MB, and the cache file device will not overflow. In this way, the number n that does not cause the cache file to overflow can be easily calculated by considering the accumulation record of the cache file.

【0188】上述のようなプリフェッチプロセスは、内
部ネットワークから外部ネットワークにクライアント計
算機ユーザのアクセスがあまりない時間帯を利用して起
動することができる。こうすることにより、プリフェッ
チプロセスによるファイルオブジェクトアクセスが、内
部ネットワークユーザによる外部ネットワークへのアク
セスを妨げることがないように運用することができる。
The prefetch process as described above can be activated from the internal network to the external network during a time period when the client computer user does not access the network frequently. By doing so, it is possible to operate so that the file object access by the prefetch process does not prevent the internal network user from accessing the external network.

【0189】上述の第1の実施の形態においては、プリ
フェッチプロセスは、クライアント計算機の利用が少な
くなる21時00分より起動し翌日の8時00分には遅
くとも終了するようにした。この場合、翌日に8時00
分にプリフェッチプロセスがまだ動作しているときに
は、これを強制終了させるようにした。このようにある
時刻からプリフェッチプロセスを開始し、別の時刻には
強制的に終了させることにより、プリフェッチリストが
大きくて定められた時刻までにプリフェッチが終了しな
い場合でも、クライアント計算機の利用が増加し始める
時間帯にはプリフェッチプロセスは強制終了される。こ
れにより、クライアント計算機によるproxy サーバ装置
の利用が妨げられることはない。
In the above-described first embodiment, the prefetch process is started from 21:00 when the use of the client computer is low and finished at the latest by 8:00 the next day. In this case, 8:00 the next day
If the prefetch process is still running for a minute, it will now be killed. By starting the prefetch process from one time and forcibly ending it at another time in this way, even if the prefetch list is large and prefetch does not end by the specified time, the usage of the client computer will increase. The prefetch process is killed during the start time. This does not prevent the client computer from using the proxy server device.

【0190】第1の実施の形態では、第1のproxy プロ
セスのキャッシュ有効期限Mは24時間に設定されてい
る。したがって夜間にプリフェッチプロセスにより更新
されたキャッシュデータの内容は、翌朝から翌晩の21
時までは少なくとも有効である。
In the first embodiment, the cache expiration date M of the first proxy process is set to 24 hours. Therefore, the contents of the cache data updated by the prefetch process at night are 21
Until time, it is at least effective.

【0191】上述のproxy サーバ装置を使用すると、次
のような効果を得ることができる。キャッシュファイル
の内容は、ユーザにとっては最近の24時間以内に更新
された情報である。その一方でそうした情報が過去n日
の間にアクセス要求があったファイルオブジェクトに対
して保持されている。すなわちキャッシュファイルには
n日分のキャッシュデータが蓄積されている。キャッシ
ュヒット率は、キャッシュされているデータ量が多くな
れば高くなることは既に図13を参照して説明した。キ
ャッシュファイルの蓄積期間を24時間とし、過去n日
分のアクセスログを使用してプリフェッチを行なった場
合、キャッシュヒット率が3倍以上となることが経験的
にわかっている。
The following effects can be obtained by using the proxy server device described above. The contents of the cache file are information that has been updated to the user within the last 24 hours. On the other hand, such information is held for the file object for which access has been requested in the past n days. That is, cache data for n days is stored in the cache file. It has already been described with reference to FIG. 13 that the cache hit rate increases as the amount of cached data increases. It is empirically known that the cache hit rate becomes three times or more when the cache file accumulation period is set to 24 hours and prefetch is performed using the access logs for the past n days.

【0192】また、第1のproxy プロセスのキャッシュ
有効期限M時間よりも小さいかまたは等しい時間間隔で
上述のプリフェッチを行なうようにすれば、キャッシュ
ファイルが常に有効期限内に保たれているのは明らかで
ある。したがってプリフェッチから次のプリフェッチま
での間、プリフェッチの効果が有効に保たれる。
If the above-mentioned prefetch is performed at a time interval smaller than or equal to the cache expiration date M time of the first proxy process, it is clear that the cache file is always kept within the expiration date. Is. Therefore, the effect of prefetch is kept effective from one prefetch to the next prefetch.

【0193】[実施の形態2]次に本願発明のゲートウ
ェイ装置の第2の実施の形態を説明する。この実施の形
態2は、実施の形態1と同様であるが、実施の形態1に
対応するフローチャート(図3参照)のステップ3およ
びステップ4を改良したものである。
[Second Embodiment] Next, a second embodiment of the gateway device of the present invention will be described. The second embodiment is similar to the first embodiment, but is an improvement of steps 3 and 4 of the flowchart (see FIG. 3) corresponding to the first embodiment.

【0194】実施の形態1では、ステップ4において、
プリフェッチアクセスリストからファイルオブジェクト
名称を1つずつ取出し、第2のproxy プロセスを通じて
外部ネットワークにアクセスしてファイルオブジェクト
を取得している。しかしプリフェッチアクセスリストの
行数が大きくなると、この方法では開始からすべてのア
クセスの終了までに長時間を要する場合があり得る。
In the first embodiment, in step 4,
File object names are extracted one by one from the prefetch access list, and the external network is accessed through the second proxy process to acquire the file object. However, if the number of rows in the prefetch access list becomes large, this method may require a long time from the start to the end of all accesses.

【0195】ところで、WWWシステムが利用するTC
P/IPプロトコルを使用したネットワークでは、通信
はパケット単位で行なわれる。そのためある計算機が、
外部ネットワーク上の複数個のサーバ計算機と同時通信
を行なうことが見掛け上可能である。そこで、図3に示
すステップ5で起動されるプリフェッチ子プロセスは、
複数個同時に起動し並列に動作させることができる。
By the way, the TC used by the WWW system
In a network using the P / IP protocol, communication is performed in packet units. So a computer
It is apparently possible to perform simultaneous communication with a plurality of server computers on the external network. Therefore, the prefetch child process started in step 5 shown in FIG.
A plurality of devices can be activated at the same time and operated in parallel.

【0196】ファイルオブジェクトアクセスは、外部ネ
ットワーク上のさまざまな経路を通じて行なわれる。経
路の途中に転送速度の小さな経路がありそこがボトルネ
ックとなる場合があり得ることや、外部ネットワーク上
のサーバ計算機自身に大きな作業負荷がかかるためにア
クセス要求に即座に応答することができない場合などが
あり得る。したがって実際のファイルオブジェクトの転
送速度は、proxy サーバ装置と外部ネットワークとを結
ぶ最初の通信路の最大転送速度よりも小さな転送速度と
なるのが通常である。
File object access is performed through various routes on the external network. When there is a route with a low transfer rate in the middle of the route and it may become a bottleneck, or when it is not possible to respond immediately to an access request due to a heavy work load on the server computer itself on the external network. And so on. Therefore, the actual transfer speed of the file object is usually smaller than the maximum transfer speed of the first communication path connecting the proxy server device and the external network.

【0197】たとえばproxy サーバ装置と外部ネットワ
ークを結ぶ通信路(図16における通信路27)の最大
転送速度が64kbpsであっても、海外にあるサーバ
計算機からの実際の転送速度がその10分の1以下であ
ることはしばしばである。したがってproxy サーバ装置
と外部ネットワークとを結ぶ最初の通信路の最大転送容
量の範囲内で、同時に複数個のネットワーク接続を実施
することが可能である。すなわち複数個のプリフェッチ
子プロセスを起動して、複数個のファイルオブジェクト
を同時に取得する。これにより通信路の転送容量が10
0%近く使用される状態にすることができる。
For example, even if the maximum transfer speed of the communication path (communication path 27 in FIG. 16) connecting the proxy server device and the external network is 64 kbps, the actual transfer speed from the server computer located overseas is 1/10 of that. Often less than Therefore, it is possible to make a plurality of network connections simultaneously within the maximum transfer capacity of the first communication path connecting the proxy server device and the external network. That is, a plurality of prefetch child processes are activated to obtain a plurality of file objects at the same time. As a result, the transfer capacity of the communication path is
It can be used near 0%.

【0198】そこで、同時に複数のプリフェッチネット
ワーク接続を実行するプリフェッチ子プロセスの最大並
列実行数を予め定めておく。この数をMAXPROCESS数と
し、以下に述べる各ステップではメモリ(図16のメモ
リ206)内に置かれる定数である。
Therefore, the maximum number of parallel executions of prefetch child processes that simultaneously execute a plurality of prefetch network connections is set in advance. This number is a MAXPROCESS number and is a constant placed in the memory (memory 206 in FIG. 16) in each step described below.

【0199】以下その具体的な手順について、図4を参
照して説明する。図4に示されるフローチャートにおい
て、ステップ1からステップ4までは、図3に示すステ
ップ1〜ステップ4とそれぞれ同じである。したがって
これらステップについては詳しい説明は繰返さない。図
4では、図3のステップ5に代えてステップ5.1.2
〜5.2.4が設けられている。なお図4に示す動作を
行なうに先立って、メモリ中にprocesses 変数を定義し
ておく。processes 変数は、現在バックグラウンドで走
行しているプリフェッチ子プロセスの数を示す。
The specific procedure will be described below with reference to FIG. In the flowchart shown in FIG. 4, steps 1 to 4 are the same as steps 1 to 4 shown in FIG. 3, respectively. Therefore, detailed description of these steps will not be repeated. In FIG. 4, step 5.1.2 replaces step 5 of FIG.
~ 5.2.4 are provided. Before performing the operation shown in FIG. 4, the processes variable is defined in the memory. The processes variable indicates the number of prefetch child processes currently running in the background.

【0200】まずステップ5.2.1では、URLプリ
フェッチアクセスリストに表われたファイルオブジェク
ト名称の行を1つ取出す。そして第2のproxy プロセス
を使ってこのファイルオブジェクトをアクセスするプリ
フェッチ子プロセスを、バックグラウンドプロセスとし
て1つ起動する。なおUNIX OS においてプロセスは通常
バックグラウンドでも実行させることが可能である。あ
るプロセスをバックグラウンドで実行させるには、コマ
ンドラインに&を付けてそのプロセスを起動すればよ
い。具体的なコマンド例を次に示す。
First, in step 5.2.1, one line of the file object name shown in the URL prefetch access list is fetched. Then, one prefetch child process that accesses this file object using the second proxy process is started as a background process. It should be noted that in UNIX OS, a process can usually be executed in the background. To run a process in the background, start it with & on the command line. A specific command example is shown below.

【0201】[0201]

【表16】 [Table 16]

【0202】続いてステップ5.2.2で、バックグラ
ウンドで走行しているプリフェッチ子プロセスの数を数
え、processes 変数に代入する。
Subsequently, in step 5.2.2, the number of prefetch child processes running in the background is counted and substituted in the processes variable.

【0203】ステップ5.2.3では、processes 変数
が、予め指定された最大プリフェッチ子プロセス数MAXP
ROCESS未満かどうかについての判定が行なわれる。proc
esses 変数がMAXPROCESS未満であれば制御はステップ4
からステップ5.2.1に戻り、さらにプリフェッチ子
プロセスがバックグラウンドで起動される。
In step 5.2.3, the processes variable is the maximum prefetch child process number MAXP specified in advance.
A determination is made as to whether it is less than ROCESS. proc
If the esses variable is less than MAXPROCESS, control is step 4
From step 5.2.1, the prefetch child process is started in the background.

【0204】processes 変数が指定の最大プリフェッチ
子プロセス数MAXPROCESS以上であれば、ステップ5.
2.4で、一定時間動作を休止(sleep )して(たとえ
ば10秒)再びステップ5.2.2に制御を戻す。以
下、ステップ5.2.2〜5.2.4の処理を繰返し行
ない、先行のプリフェッチ子プロセスが終了している場
合には新たなプリフェッチ子プロセスを起動し、全体と
してプリフェッチ子プロセスの数がMAXPROCESS以下とな
るようにする。
If the processes variable is greater than or equal to the specified maximum number of prefetch child processes MAXPROCESS, then step 5.
At 2.4, the operation is put to sleep for a certain time (for example, 10 seconds), and the control is returned to step 5.2.2. After that, the processes of steps 5.2.2 to 5.2.4 are repeated, and when the preceding prefetch child process is completed, a new prefetch child process is activated, and the total number of prefetch child processes is increased. Keep it below MAX PROCESS.

【0205】以上のような手順に従って同時処理を進め
ることで、プリフェッチの開始から終了までの時間を短
縮することができる。そのため既に説明した指定終了時
刻までの間に、より多くのファイルオブジェクトをプリ
フェッチすることが可能になる。実施の形態1と比較し
てキャッシュファイルにプリロードすることができるフ
ァイルオブジェクトの量を増やすことができるので、結
果としてキャッシュヒット率を高めることができる。実
験によればMAXPROCESS数として10から20の値をとれ
ば、プリフェッチ時間を十分に短縮することができるこ
とが確認されている。
By advancing the simultaneous processing according to the above procedure, the time from the start to the end of the prefetch can be shortened. Therefore, it becomes possible to prefetch more file objects by the designated end time already described. Since the amount of file objects that can be preloaded into the cache file can be increased as compared with the first embodiment, the cache hit rate can be increased as a result. According to the experiment, it is confirmed that the prefetch time can be shortened sufficiently by taking the value of MAXPROCESS as 10 to 20.

【0206】[実施の形態3]続いて実施の形態3に係
るproxy サーバ装置について説明する。実施の形態3の
装置は、実施の形態2の装置をさらに改良したものであ
る。より具体的には、図4に示すステップ5.2.1か
らステップ5.2.4で行なわれる処理がより高速に行
なわれるように、ステップ3をさらに改良したものであ
る。その処理の流れを図5に示す。
[Third Embodiment] Next, a proxy server device according to a third embodiment will be described. The device of the third embodiment is a further improvement of the device of the second embodiment. More specifically, step 3 is further improved so that the processing performed in steps 5.2.1 to 52.4 shown in FIG. 4 is performed at a higher speed. The process flow is shown in FIG.

【0207】実施の形態1および2では、プリフェッチ
子プロセスをMAXPROCESS以下の範囲内で同時に起動し、
並列に処理を進めることによりプリフェッチ時間の短縮
を図っていた。
In the first and second embodiments, the prefetch child processes are simultaneously activated within the range of MAXPROCESS,
The prefetch time was shortened by advancing the processing in parallel.

【0208】しかし、実施の形態1および2のステップ
1からステップ3の手順で作成されたプリフェッチアク
セスリストの性質として、外部ネットワーク上の同一の
サーバアドレスが連続して表われることがしばしばであ
る。これは、既に説明したようにWWWシステムにおい
て、クライアント計算機側で表示されるサーバ計算機の
1つの情報ページが、テキストと複数個のグラフィック
オブジェクトなど、複数個のファイルオブジェクトから
構成されていることが多いためである。たとえば図2に
示したような情報ページは、テキストとグラフィック混
じりのWWWデータである。このデータを構成するファ
イルオブジェクトは次の7つである。
However, as the nature of the prefetch access list created by the procedure of steps 1 to 3 of the first and second embodiments, the same server address on the external network often appears consecutively. As described above, in the WWW system, one information page of the server computer displayed on the client computer side is often composed of a plurality of file objects such as text and a plurality of graphic objects. This is because. For example, the information page as shown in FIG. 2 is WWW data in which text and graphics are mixed. The following seven file objects make up this data.

【0209】[0209]

【表17】 [Table 17]

【0210】このようにある情報ページが複数個のファ
イルオブジェクトで構成されている場合、これらはほぼ
同時に、連続してアクセスされ、したがってプリフェッ
チリストにもこれらのファイルオブジェクト名称が連続
して表われるであろう。すると、これらファイルオブジ
ェクト名称を順に取出し同時に複数個取得するプリフェ
ッチ子プロセスを起動した場合、特定のサーバのみに対
するアクセスが同時に発生することになる。一般にサー
バ計算機は、同時に複数のアクセスに対処可能なように
は構成されているが、1度に多くのアクセスが集中すれ
ば当然その応答は悪くなる。そのためこのようなアクセ
ス方法をとれば、アクセスが集中するサーバ計算機が、
プリフェッチプロセスのボトルネックとなり得る。
When a certain information page is composed of a plurality of file objects, they are accessed at substantially the same time and consecutively. Therefore, these file object names appear consecutively in the prefetch list. Ah Then, when a prefetch child process that fetches these file object names in order and obtains a plurality of them at the same time is activated, access to only a specific server occurs at the same time. Generally, a server computer is configured to be able to handle a plurality of accesses at the same time, but if a large number of accesses are concentrated at one time, the response will naturally deteriorate. Therefore, if you use this kind of access method,
It can be a bottleneck in the prefetch process.

【0211】そこでこの実施の形態3では、プリフェッ
チアクセスリストを、その元々の順序そのものではな
く、特定のサーバにアクセスが集中しないような順序に
並べ換える。すなわちプリフェッチアクセスリスト中の
ファイル名称をインターリーブ処理させる。この場合、
ファイルオブジェクト名称をランダムに並べ換えれば、
特定のサーバ計算機にアクセスが集中する可能性を最も
低くすることができる。しかし、プリフェッチアクセス
リストは元々出現頻度順で作成されており、かつ出現頻
度順にファイルオブジェクトを取得した方がヒット率の
向上を期待できる。そのためプリフェッチアクセスリス
ト上でのファイルオブジェクト名称の出現順序をある程
度は保つことが望ましい。たとえばプリフェッチの終了
時刻までにすべてのプリフェッチアクセスリストのファ
イルオブジェクトのプリフェッチが完了しない場合もあ
り得るだろう。そうした場合には、出現頻度の高いもの
が確実にプリフェッチを終了しているようにした方がよ
い。
Therefore, in the third embodiment, the prefetch access list is rearranged not in the original order itself but in an order in which access is not concentrated on a specific server. That is, the file names in the prefetch access list are interleaved. in this case,
If you sort the file object names randomly,
The possibility that access will be concentrated on a specific server computer can be minimized. However, the prefetch access list is originally created in the order of appearance frequency, and the hit rate can be expected to be improved if the file objects are acquired in order of appearance frequency. Therefore, it is desirable to keep the order of appearance of file object names on the prefetch access list to some extent. For example, it is possible that prefetching of all file objects in the prefetch access list is not completed by the end time of prefetching. In such a case, it is better to ensure that the one with a high appearance frequency has completed the prefetch.

【0212】実測によれば、このようなプリフェッチア
クセスリスト中で、同一サーバアドレスが連続する数
は、たかだか数十である。そこで、プリフェッチアクセ
スリストを、この数十という数よりもある程度大きな数
の行、たとえば千行程度のブロックに分割する。そして
それらブロック各々の内部で、ファイルオブジェクト名
称の順番を入替える。そのように各ブロックごとに行が
入替えられたプリフェッチアクセスリストの先頭から実
施の形態2と同じようにファイルオブジェクトのプリフ
ェッチを実行する。こうすることで、各ブロックの中で
は各行の順序が入替えられているので、同一サーバアド
レスが連続して出現する可能性は少なくなる。一方でブ
ロックの順番は保たれているので、最初のプリフェッチ
アクセスリストにあった出現頻度順は、ブロックサイズ
の粒度で保たれている。したがって出現頻度の高いもの
を優先的にプリフェッチしながら、特定のサーバ計算機
のみに同時にアクセス要求が集中するという問題を解決
することができる。
According to the actual measurement, the number of consecutive identical server addresses in such a prefetch access list is at most several tens. Therefore, the prefetch access list is divided into a number of rows which is somewhat larger than the number of tens, for example, a block of about 1,000 rows. Then, the order of the file object names is changed inside each of these blocks. The prefetch of the file object is executed from the head of the prefetch access list in which the rows are replaced for each block in the same manner as in the second embodiment. By doing so, the order of the rows is changed in each block, so that the same server address is less likely to appear consecutively. On the other hand, since the order of blocks is maintained, the order of frequency of appearance in the first prefetch access list is maintained at the granularity of block size. Therefore, it is possible to solve the problem that access requests concentrate on only a specific server computer at the same time while preferentially prefetching the ones that appear frequently.

【0213】以下この実施の形態3での処理手順を図5
を参照して説明する。ブロックサイズをBLOCKSIZE 変数
とする。この変数はメモリ内に置かれる。以下の処理で
は、順番を入替える(インターリーブする)際に、乱数
を使用する。もちろんこれは簡単に実現できる例として
挙げたものであって、他の方法を使用して入替え処理を
行なってもよい。
The processing procedure in the third embodiment will be described below with reference to FIG.
Will be described with reference to. Set the block size to the BLOCKSIZE variable. This variable is placed in memory. In the following processing, random numbers are used when the order is changed (interleaved). Of course, this is given as an example that can be easily realized, and the replacement process may be performed using another method.

【0214】図5に示される手順は、図4に示される実
施の形態2の手順のステップ3に代えて、ステップ3.
3.1および3.3.3を用いる。他のステップについ
ては実施の形態2と同じであるので、それらについての
詳しい説明はここでは繰返さない。
The procedure shown in FIG. 5 is replaced with step 3 in place of step 3 of the procedure of the second embodiment shown in FIG.
Use 3.1 and 3.3.3. Since other steps are the same as those in the second embodiment, detailed description thereof will not be repeated here.

【0215】ステップ3.3.1では、プリフェッチア
クセスリストを、ファイルオブジェクト名称の出現頻度
順に並べ換え、かつ同じファイルオブジェクト名称につ
いては重複しないように1つにまとめる処理を行なう。
この処理は図4のステップ3の処理とほぼ同様である。
In step 3.3.1, the prefetch access list is rearranged in the order of appearance frequency of the file object names, and the same file object names are combined so as not to overlap.
This process is almost the same as the process in step 3 of FIG.

【0216】次いでステップ3.3.2では、ファイル
オブジェクト名称をインターリーブ処理して行を入替え
る処理を行なう。より具体的には次の手順に従う。
Next, in step 3.3.2, the file object name is interleaved to replace the lines. More specifically, follow the procedure below.

【0217】まずプリフェッチアクセスリストのすべて
の行に乱数[i]を付与する(iは行番号を示す。)。
乱数計算の方法としては種々考えられるが、この実施の
形態では乱数は次の式に従って計算する。
First, a random number [i] is assigned to all the rows of the prefetch access list (i indicates the row number).
There are various possible methods for calculating the random number, but in this embodiment, the random number is calculated according to the following formula.

【0218】[0218]

【数6】 [Equation 6]

【0219】ただしrand( )という関数は、2の
32乗の範囲の乱数を生ずる関数であるものとする。こ
の式の第1項は、rand( )という関数で得られた
乱数に対しBLOCKSIZE 変数の剰余をとったものである。
したがってこの第1項は0からBLOCKSIZE −1までの範
囲の乱数(整数)となる。
However, the function rand () is assumed to be a function for generating a random number in the range of 2 32. The first term of this expression is the remainder of the BLOCKSIZE variable for the random number obtained by the function called rand ().
Therefore, the first term is a random number (integer) in the range of 0 to BLOCKSIZE -1.

【0220】また上式の第2項は、次のような意味を持
つ。プリフェッチアクセスリストを各々BLOCKSIZE 行を
含むブロックに分割し、各ブロックに対して0から始ま
る整数のブロック番号を付けるものとする。第2項は、
このようにして付けられたブロック番号にBLOCKSIZE を
かけたものと等しい。したがってこれはBLOCKSIZE 数の
整数倍であり、かつ0から始まって増加していく。第2
項はBLOCKSIZE が3であれば0、0、0、3、3、3、
6、6、6、…となる。
The second term in the above equation has the following meaning. The prefetch access list shall be divided into blocks each containing BLOCKSIZE lines, and each block shall be given an integer block number starting from 0. The second term is
It is equal to the block number assigned in this way multiplied by BLOCKSIZE. Therefore it is an integer multiple of the BLOCKSIZE number and starts at 0 and increases. Second
If the BLOCKSIZE is 3, the term is 0, 0, 0, 3, 3, 3,
6, 6, 6, ...

【0221】このような乱数[i]をプリフェッチアク
セスリストの各行の先頭フィールドに付与する。そして
各行を、第1フィールドの数の小さい順にソートし、さ
らに各行の先頭から乱数[i]を取り除く。こうした処
理によりBLOCKSIZE 行からなるブロックごとに、行がラ
ンダムにインターリーブされたプリフェッチアクセスリ
ストが生成される。
Such random number [i] is added to the head field of each line of the prefetch access list. Then, each row is sorted in ascending order of the number of first fields, and the random number [i] is removed from the beginning of each row. This process creates a prefetch access list with rows randomly interleaved for each block of BLOCKSIZE rows.

【0222】上述のようにこのとき、最初のプリフェッ
チアクセスリストにあった出現頻度順は、ブロックサイ
ズの粒度で保たれている。
As described above, at this time, the order of appearance frequency in the first prefetch access list is maintained at the granularity of the block size.

【0223】以下に、乱数によるプリフェッチアクセス
リスト内の各行のインターリーブの例を具体的に示す。
まずオリジナルのプリフェッチアクセスリストが次のよ
うなものであるとする。
An example of interleaving of each row in the prefetch access list by random numbers will be concretely shown below.
First, assume that the original prefetch access list is as follows.

【0224】[0224]

【表18】 [Table 18]

【0225】これをBLOCKSIZE =10として既に述べた式
に従ってそれぞれ第1フィールドに乱数を付与すると次
のようになる。
The following is obtained by assigning a random number to the first field in accordance with the above-described formula with BLOCKSIZE = 10.

【0226】[0226]

【表19】 [Table 19]

【0227】さらにこれを第1フィールドの数字の昇順
にソートすると次のようなリストが得られる。この例で
はBLOCKSIZE が10と小さいため、十分にインターリー
ブされてはいないが、各10行単位の内部で行の順番が
ランダムに入替えられていることがわかる。なおこの表
はインターリーブのための手順を示す一例にすぎないこ
とに注意されたい。
Further, if this is sorted in ascending order of the numbers in the first field, the following list is obtained. In this example, since BLOCKSIZE is as small as 10, it is not sufficiently interleaved, but it can be seen that the row order is randomly changed within each 10 row unit. It should be noted that this table is only one example showing the procedure for interleaving.

【0228】[0228]

【表20】 [Table 20]

【0229】このインターリーブ処理をした後に実施の
形態2と同様にプリフェッチ子プロセスの並列実行を行
なう。同一のサーバ計算機をアドレスとして含むファイ
ルオブジェクトがプリフェッチアクセスリスト中に連続
して表われることが避けられるため、特定のサーバ計算
機へアクセスが集中することが避けられる。その結果各
サーバ計算機に負荷が集中することなく、サーバ計算機
から迅速に必要なファイルオブジェクトをプリフェッチ
することができ、結果としてプリフェッチ処理全体の時
間を短縮化することができる。キャッシュファイルにプ
リフェッチされるキャッシュデータの量を増やすことが
できるので、キャッシュヒット率を高めることができ
る。
After this interleaving process, prefetch child processes are executed in parallel as in the second embodiment. Since it is possible to prevent file objects including the same server computer as an address from appearing consecutively in the prefetch access list, it is possible to avoid concentration of access to a specific server computer. As a result, the required file objects can be quickly prefetched from the server computer without the load being concentrated on each server computer, and as a result, the time of the entire prefetch process can be shortened. Since the amount of cache data prefetched to the cache file can be increased, the cache hit rate can be increased.

【0230】[実施の形態4]続いて実施の形態4のゲ
ートウェイ装置であるproxy サーバ装置について説明す
る。この実施の形態4は、実施の形態3をさらに改良し
たものである。実施の形態3では、プリフェッチ子プロ
セス数としてMAXPROCESS数を最大とするようなプリフェ
ッチ子プロセス数の起動の制御を行なっていた。しかし
こうした処理では、たとえばクライアント計算機からの
ファイルオブジェクトへのアクセス要求が多く発生して
いるときにも上記したMAXPROCESS数だけのプリフェッチ
子プロセス数が起動されてしまうことがあり得、その結
果クライアント計算機によるファイルオブジェクトへの
アクセス要求に対する応答が低下してしまうおそれがあ
る。この実施の形態4は、そうした問題を解決するため
の改良である。
[Fourth Embodiment] Next, a proxy server device, which is a gateway device according to the fourth embodiment, will be described. The fourth embodiment is a further improvement of the third embodiment. In the third embodiment, the activation of the number of prefetch child processes is controlled so as to maximize the MAXPROCESS number as the number of prefetch child processes. However, in such processing, the number of prefetch child processes equal to the number of MAXPROCESS described above may be activated even when there are many requests to access file objects from the client computer, and as a result, the client computer may The response to the access request to the file object may be degraded. The fourth embodiment is an improvement for solving such a problem.

【0231】実施の形態4では、クライアント計算機の
ユーザが第1のproxy プロセスを利用して外部ネットワ
ークのサーバ計算機に多数アクセスするような時間帯に
は、プリフェッチ子プロセスが起動される数を少なくす
ることにより、内部ユーザによるネットワーク利用活動
を妨げないようにしている。
In the fourth embodiment, the number of prefetch child processes to be activated is reduced during the time period when the user of the client computer uses the first proxy process to access many server computers of the external network. This prevents internal users from interfering with network usage activities.

【0232】具体的な処理手順を図6に示す。図6のフ
ローチャートは、図5に示すフローチャートのステップ
5.2.1〜5.2.4に代えてステップ5.4.1〜
5.4.4を採用したものであり、動的にプリフェッチ
子プロセスのプロセス数を制御する点に特徴がある。他
のステップは、第1〜第3の実施の形態において説明し
たものとそれぞれ同じであるので、ここではその詳細な
説明は繰返さない。
A specific processing procedure is shown in FIG. The flowchart of FIG. 6 is replaced with steps 5.2.1 to 52.4 of the flowchart shown in FIG.
It adopts 5.4.4 and is characterized in that the number of prefetch child processes is dynamically controlled. Other steps are the same as those described in the first to third embodiments, and therefore detailed description thereof will not be repeated here.

【0233】図6を参照して、ステップ5.4.1で、
プリフェッチアクセスリストに現れたファイルオブジェ
クト名称から1行を抽出する。そして第2のproxy プロ
セスを使ってそのファイルオブジェクトにアクセスする
ためのプリフェッチ子プロセスをバックグラウンドプロ
セスとして1つ起動する。
Referring to FIG. 6, in step 5.4.1,
Extract one line from the file object name that appears in the prefetch access list. Then, one prefetch child process for accessing the file object is started as a background process by using the second proxy process.

【0234】続いてステップ5.4.2で、バックグラ
ウンドで走行しているプリフェッチ子プロセスの数と、
第1のproxy プロセスにより起動されているネットワー
クアクセス中継子プロセスの数を調べ加算して、proces
ses 変数に代入する。
Subsequently, in step 5.4.2, the number of prefetch child processes running in the background,
Check the number of network access relay processes started by the first proxy process and add up
Substitute in the ses variable.

【0235】続いてステップ5.4.3で、processes
変数が、予め指定された最大プリフェッチ子プロセス数
MAXPROCESSより小さいか否かについての判定が行なわれ
る。小さければ制御はステップ4に戻り、上述した新た
なプリフェッチ子プロセス起動の処理が行なわれる。
Subsequently, in step 5.4.3, processes
Variable is the maximum number of prefetch child processes specified in advance
A determination is made as to whether it is less than MAXPROCESS. If it is smaller, the control returns to step 4, and the above-described new prefetch child process activation processing is performed.

【0236】processes 変数が、予め指定されたMAXPRO
CESS以上であれば制御はステップ5.4.3からステッ
プ5.4.4に進み、一定時間(たとえば10秒)休止
してステップ5.4.2に制御を戻す。
The processes variable is a prespecified MAXPRO
If CESS or more, control proceeds from step 5.4.3 to step 5.4.4, pauses for a fixed time (for example, 10 seconds), and returns to step 5.4.2.

【0237】図6に示すような処理手順に従って、この
実施の形態4のproxy サーバ装置は動作する。プリフェ
ッチ子プロセスの個数と、第1のproxy プロセスを利用
している内部ユーザのネットワークアクセスの中継子プ
ロセス数との「合計」が一定となるように、プリフェッ
チ子プロセスが新たに起動されるのを制御する。第1の
proxy プロセスを利用しているユーザによるネットワー
クアクセスの子プロセスがMAXPROCESS数以上であれば、
プリフェッチ子プロセスは新たには起動されず起動待ち
となる。
The proxy server device according to the fourth embodiment operates in accordance with the processing procedure as shown in FIG. A new prefetch child process is started so that the “total” of the number of prefetch child processes and the number of relay child processes of network access of internal users using the first proxy process is constant. Control. First
If the number of child processes of network access by the user using the proxy process is more than MAXPROCESS number,
The prefetch child process is not newly started and waits for start.

【0238】内部のユーザが第1のproxy プロセスを多
数利用している時間帯に上述のプリフェッチプロセスを
実行しても、プリフェッチ子プロセスには低い優先権し
か与えられないので、内部ユーザのネットワーク利用活
動を妨げないようにすることができる。プリフェッチプ
ロセスを、内部ユーザの活動時間帯に始動させても、内
部ユーザのネットワーク利用は妨げられない。またプリ
フェッチプロセスが、クライアント計算機のユーザの活
動時間に食い込んでもやはり内部ユーザのネットワーク
利用は妨げられない。
Even if the above-mentioned prefetch process is executed during a time period when many internal users are using the first proxy process, a low priority is given to the prefetch child process. You can prevent them from interfering with your activities. Starting the prefetch process during the active hours of the internal user does not prevent the internal user from using the network. In addition, even if the prefetch process breaks into the active time of the user of the client computer, it does not prevent the internal user from using the network.

【0239】その結果、プリフェッチプロセスの開始か
ら終了までより長時間を使用してプリフェッチを行なう
ことができる。そのため多くのファイルオブジェクトを
プリフェッチすることが可能になり、したがってキャッ
シュデータの量を増やすことができる。上述のキャッシ
ュデータの量とキャッシュヒット率との関係から、結果
としてキャッシュヒット率を高めることができる。
As a result, prefetching can be performed for a longer time from the start to the end of the prefetch process. Therefore, it becomes possible to prefetch many file objects, and therefore the amount of cache data can be increased. As a result, the cache hit rate can be increased from the relationship between the amount of cache data and the cache hit rate.

【0240】これは、「数1」に示された式を参照し
て、ヒット率を高めるので、平均ファイルオブジェクト
転送速度を増加させるという効果を奏する。別の見方を
すれば、このようにすることにより同じ平均ファイルオ
ブジェクト転送速度を維持しながら、内部ネットワーク
のより多くのユーザの利用を可能にするということがで
きる。
This has the effect of increasing the average file object transfer rate because the hit rate is increased with reference to the formula shown in "Equation 1". Another way to look at this is to allow more users of the internal network to use it while maintaining the same average file object transfer rate.

【0241】[実施の形態5]次に、実施の形態5のゲ
ートウェイ装置の一例であるproxy サーバ装置について
説明する。既に延べた実施の形態1〜4では、夜間など
内部ユーザが外部ネットワークを利用しない時間帯に、
n日分(=n×24時間=N時間)のプリフェッチを実
行した。キャッシュファイルについては、有効期限をM
時間であるとすると、M時間以上古いキャッシュファイ
ルについては定期的に消去していた。こうした古いキャ
ッシュファイルの消去については上述の実施の形態1〜
4では言及していない。
[Fifth Embodiment] Next, a proxy server device as an example of the gateway device of the fifth embodiment will be described. In the first to fourth embodiments that have already been extended, during the time period when the internal user does not use the external network, such as at night,
Prefetching for n days (= n × 24 hours = N hours) was executed. For cache files, the expiration date is M
If it is time, cache files older than M hours were regularly deleted. Regarding the erasure of such old cache files, the above-mentioned Embodiment 1
Not mentioned in 4.

【0242】UNIX OS であれば、一定時間以上変更のな
いファイルはfindコマンドを利用して消去可能であ
る。下に挙げるのは、毎日一定時刻に起動されるキャッ
シュ消去コマンドの一例である。cache というディレク
トリの下にある、1日以上変更のない古いファイルが、
このキャッシュ消去コマンドにより消去される。
With the UNIX OS, a file that has not been changed for a certain period of time can be deleted by using the find command. The following is an example of a cache clear command that is activated at a fixed time every day. An old file under the directory cache that has not been changed for more than a day
It is erased by this cache erase command.

【0243】[0243]

【表21】 [Table 21]

【0244】ところで、実施の形態1〜4のproxy サー
バ装置では、午後9時から翌朝午前8時までの間にプリ
フェッチを実施していた。これにより夜間のトラフィッ
クが、昼間の内部ユーザによるアクセスのn倍となる。
By the way, in the proxy server devices of the first to fourth embodiments, the prefetch is carried out from 9:00 pm to 8:00 am the next morning. This results in n times more traffic at night than access by internal users during the day.

【0245】実際には、キャッシュが有効期限を過ぎて
いる場合には、DeleGateのような一般的に使用されてい
るproxy プロセスにおいては、HTTPに従って次のよ
うなアルゴリズムが取られる。
In practice, when the cache has expired, the following algorithm is taken according to HTTP in a commonly used proxy process such as DeleGate.

【0246】(1) 外部ネットワークのサーバ計算機
に存在するファイルオブジェクトの取得要求(GET命
令)を出すときに、GET命令にキャッシュファイルの
時刻Tcache を付けて要求を出す。
(1) When issuing a request (GET command) for a file object existing in a server computer of an external network, the request is issued with the cache file time Tcache added to the GET command.

【0247】(2) この要求を受けたサーバ計算機
は、その持っている対応するファイルオブジェクトの最
終変更時刻Torg とTcache とを比較する。
(2) Upon receipt of this request, the server computer compares the last modification time Torg and Tcache of its corresponding file object.

【0248】(3) そしてTorg >Tcache のとき、
すなわちファイルオブジェクトの最終変更時刻よりもキ
ャッシュファイルの時刻のほうが古いときのみ、サーバ
計算機は当該ファイルオブジェクトをproxy サーバ装置
に対して転送する。すなわち、前回キャッシュされた時
刻以降に元のファイルオブジェクトが変更されている場
合のみ当該ファイルオブジェクトの転送が実行される。
(3) When Torg> Tcache,
That is, the server computer transfers the file object to the proxy server device only when the time of the cache file is older than the time of the last modification of the file object. That is, the transfer of the file object is executed only when the original file object has been changed since the last cached time.

【0249】(4) Torg >Tcache ではない場合に
は、サーバ計算機は当該キャッシュファイルを使えとい
う応答コードをproxy サーバ装置に返答する。
(4) If Torg> Tcache is not satisfied, the server computer returns a response code indicating that the cache file can be used to the proxy server device.

【0250】上述のアルゴリズムによれば、実際には元
のデータのうち変更されているものだけがサーバ計算機
からproxy サーバ装置に転送される。変更されていない
場合には、キャッシュファイルの当該ファイルオブジェ
クトの最終変更時刻が、そうした確認がされた時刻に更
新される。
According to the above-mentioned algorithm, only the changed original data is actually transferred from the server computer to the proxy server device. If it has not been changed, the last modification time of the file object of the cache file is updated to the time at which such confirmation was made.

【0251】実施の形態5では、proxy プロセスのこの
ようなアルゴリズムを利用することにより、ネットワー
ク上のデータ転送量を減少させる。そのためこの実施の
形態5のproxy サーバ装置では、キャッシュファイル
(有効期限M時間)のキャッシュデータのうちで、M時
間以上古いものを定期的に必ず消去してしまうのではな
く、M<N≦Eであるような時間Eを定め、これ以上古
いファイルオブジェクトのみを定期的に消去するように
している。これにより有効期限の過ぎたキャッシュファ
イルのファイルオブジェクトであっても、直ちには消去
されず、E時間内は有効に活用することができる可能性
がある。たとえばサーバ計算機に対するプリフェッチを
行なった際に、元データが変更されていないことが確認
されたデータは、改めてサーバ計算機からproxy サーバ
装置に転送する必要はない。キャッシュされているデー
タと元データとは一致しているためである。このとき、
キャッシュファイルへの書込時刻のみが更新される。結
果としてこのデータについては、プリフェッチが行なわ
れた時刻にサーバ計算機から新たに転送されたのと同じ
効果を得ることができ、プリフェッチ時のネットワーク
のデータ転送量を減少させることができる。
In the fifth embodiment, the data transfer amount on the network is reduced by using such an algorithm of the proxy process. Therefore, in the proxy server device according to the fifth embodiment, of the cache data of the cache file (expiration time M hours), data older than M hours is not always deleted regularly, but M <N ≦ E. The time E is set so that only file objects older than this are periodically deleted. As a result, even a file object of a cache file whose expiration date has passed may not be immediately deleted and may be effectively used within the E time. For example, when prefetching to the server computer, it is not necessary to transfer the data whose original data has been confirmed to have been changed from the server computer to the proxy server device. This is because the cached data matches the original data. At this time,
Only the time of writing to the cache file is updated. As a result, with respect to this data, the same effect as that newly transferred from the server computer at the time when the prefetch is performed can be obtained, and the data transfer amount of the network at the time of prefetch can be reduced.

【0252】ここで、N=Eとすると管理が簡単であ
る。時間Eとしては、キャッシュファイルが溢れない程
度であってかつなるべく大きな値を採用すればよい。N
=Eとして、Nを主体に考えてこれを大きく取る場合を
考える。Nを大きく取れば、既に延べたようにプリフェ
ッチされるべきファイルオブジェクトが増えるので、キ
ャッシュファイルの蓄積量は、増大するはずである。し
かし実際にはプリフェッチは一定時刻に強制終了される
ので、実施の形態1〜4のようにプリフェッチにおいて
必ずデータ転送を行なっても、キャッシュファイルの蓄
積量はNとともに増大するわけではない。ところがこの
実施の形態5の装置では、変更されていないファイルオ
ブジェクトについてはデータ転送を行なうことなく、か
つプリフェッチを行なったのと同じ効果を得ることがで
きる。したがって、キャッシュファイルの蓄積量は、実
は時間Eの大小に影響される。
Here, if N = E, the management is easy. As the time E, a value that does not overflow the cache file and is as large as possible may be adopted. N
= E, consider the case where N is taken as the subject and a large value is taken. If N is set to a large value, the number of file objects to be prefetched increases as already expanded, so the cache file storage amount should increase. However, actually, the prefetch is forcibly terminated at a certain time, so that even if the data transfer is always performed in the prefetch as in the first to fourth embodiments, the accumulated amount of the cache file does not increase with N. However, in the device of the fifth embodiment, it is possible to obtain the same effect as prefetching without performing data transfer for a file object that has not been changed. Therefore, the accumulated amount of the cache file is actually affected by the magnitude of the time E.

【0253】実際の測定結果によれば、E/24時間=
n=7日のときに、全プリフェッチデータのうち6%程
度しかファイルオブジェクトのキャッシュへの再ロード
を引起こしていない。キャッシュファイルの最終変更時
刻情報のついた「条件付きGET命令」による最終変更
時刻情報の転送量は、実際のファイルデータの転送と比
較して量的に無視し得るほど小さい。そのためこの実施
の形態5に従ったプリフェッチにより増加するトラフィ
ックは、サーバ計算機のファイルオブジェクトのうち、
キャッシュに格納された時刻以後に更新されたものにつ
いてのデータ転送に対するものだけである。実測例によ
ればプリフェッチによるトラフィックの増加は7日分×
0.06=0.42日分である。
According to the actual measurement result, E / 24 hours =
At the time of n = 7 days, only about 6% of all the prefetch data causes reloading of the file object to the cache. The transfer amount of the last modified time information by the “conditional GET command” with the last modified time information of the cache file is small enough to be neglected compared to the actual transfer of the file data. Therefore, the traffic increased by prefetching according to the fifth embodiment is
Only for data transfers about those updated after the time stored in the cache. According to the actual measurement example, the traffic increase due to prefetching is for 7 days ×
0.06 = 0.42 days.

【0254】この実施の形態5のproxy サーバ装置で行
なわれるプリフェッチ処理によるキャッシュのヒット率
向上により、昼間のユーザの活動による外部ネットワー
クから内部ネットワークへのファイルオブジェクト転送
量は、約20%減少していることが観察されている。し
たがって上述したプリフェッチによるトラフィックの増
加を考慮しても、1日のトータルで見れば、プリフェッ
チによる外部ネットワークからのデータ流量は量的に著
しく増えているわけではない。したがって外部ネットワ
ークのトラフィックをいたずらに増やすことなく、キャ
ッシュファイルの内容を新鮮に保つことができるという
利点が得られる。
By improving the cache hit rate by the prefetch process performed by the proxy server device of the fifth embodiment, the file object transfer amount from the external network to the internal network due to the user's activity during the daytime is reduced by about 20%. Have been observed to exist. Therefore, even considering the increase in traffic due to the prefetch described above, the total amount of data flow from the external network due to the prefetch does not increase remarkably in a total amount per day. Therefore, there is an advantage that the contents of the cache file can be kept fresh without unnecessarily increasing the traffic of the external network.

【0255】[実施の形態6]ところで、以上の実施の
形態でのアクセスログの例を数4に示してある。数4に
示したアクセスログは、第1のproxy プロセスとしてDe
leGateソフトウェアを使用する場合のアクセスログ例で
あるが、これらのうち既に説明したもの以外の部分につ
いてここで説明する。これらは、サーバ計算機の状態コ
ード、ファイルオブジェクトのデータサイズ、キャッシ
ュ状況などである。
[Embodiment 6] By the way, an example of the access log in the above embodiment is shown in Equation 4. The access log shown in Equation 4 is the De process as the first proxy process.
This is an example of an access log when using leGate software. Of these, the parts other than those already explained will be explained here. These are the status code of the server computer, the data size of the file object, the cache status, and the like.

【0256】サーバ計算機の状態コードとは、サーバ計
算機がクライアント計算機からの要求に対して発する3
桁の数字で表わされる応答である。状態コードの最初の
数字は、状態コードのカテゴリを示しており、1、2、
3、4、5が使用される。200番代の状態コードはク
ライアント計算機の要求を問題なく理解したことを示
す。たとえば状態コードが200の場合には、要求が正
常に受付けられた旨を示す。300番代の状態コードは
サーバ計算機が再転送の必要があることを示し、400
番代の状態コードはクライアント計算機のエラーを示
し、500番代の状態コードはサーバ計算機のエラーを
示している。また、100番代の状態コードは将来のた
めに予約されており、現在は使用されていない。
The status code of the server computer is 3 issued by the server computer in response to a request from the client computer.
It is a response expressed as a digit. The first number in the status code indicates the category of status code, 1, 2,
3, 4, 5 are used. The 200th status code indicates that the request from the client computer is understood without any problem. For example, when the status code is 200, it indicates that the request has been normally accepted. The 300th status code indicates that the server computer needs to be retransmitted.
The status code in the generations indicates an error in the client computer, and the status code in the generations 500 indicates an error in the server computer. Also, the 100th status code is reserved for future use and is not currently used.

【0257】ファイルオブジェクトのデータサイズと
は、ファイルオブジェクトのサイズをバイト数で示して
いる。キャッシュ状況とは、サーバ側データとキャッシ
ュ内容との関係を示すものである。キャッシュ状況が
「H」ならキャッシュヒット、「N」ならキャッシュが
存在せずに新たにキャッシュファイルにファイルオブジ
ェクトが書込まれたこと、「O」であればサーバ側デー
タがキャッシュ内容よりも新しいということを示す。
The data size of the file object indicates the size of the file object in bytes. The cache status indicates the relationship between server-side data and cache contents. If the cache status is "H", a cache hit occurs. If "N", the cache does not exist and a new file object is written in the cache file. If "O", the server side data is newer than the cache content. Indicates that.

【0258】本発明の実施の形態6のゲートウェイ装置
では、このようなファイルオブジェクト転送記録を利用
する。
The gateway device according to the sixth embodiment of the present invention uses such a file object transfer record.

【0259】実施の形態6のゲートウェイ装置は、実施
の形態1〜5をさらに改善したものである。既に述べた
本発明のゲートウェイ装置では、利用される際にはクラ
イアント計算機による利用が少ない時間帯でのプリフェ
ッチの実行を行なうことが想定されている。しかしそれ
ら時間は夜間など、限られた時間に限定される。そのた
めプリフェッチできるファイルオブジェクトの量には制
限があり、プリフェッチ対象のファイルオブジェクトを
すべてプリフェッチすることができないことがある、と
いう問題点がある。実施の形態6のゲートウェイ装置は
こうした問題を解決すべく、短い時間に効率良くファイ
ルオブジェクトをプリフェッチすることを目的としてい
る。
The gateway device of the sixth embodiment is an improvement of the first to fifth embodiments. In the above-described gateway device of the present invention, it is assumed that the prefetch is executed during a time period when the client computer is little used. However, those hours are limited to a limited time such as night. Therefore, there is a limit in the amount of file objects that can be prefetched, and there is a problem that it may not be possible to prefetch all the file objects that are the prefetch targets. The gateway device according to the sixth embodiment aims at efficiently prefetching a file object in a short time in order to solve such a problem.

【0260】図7に、本願発明の実施の形態6に係るゲ
ートウェイ装置の一例であるproxyサーバ装置54の概
略のブロック図を、proxy サーバ装置54が接続される
ネットワーク25および内部ネットワーク23とともに
示す。図7において、図1に示すproxy サーバ装置53
と同一の部品には同一の参照符号および名称を付してい
る。それらの機能も同一である。したがって、ここでは
それらについての詳しい説明は繰返さない。
FIG. 7 shows a schematic block diagram of a proxy server device 54 which is an example of a gateway device according to the sixth embodiment of the present invention, together with a network 25 and an internal network 23 to which the proxy server device 54 is connected. 7, the proxy server device 53 shown in FIG.
The same parts as those of the above are given the same reference numerals and names. Their functions are also the same. Therefore, detailed description thereof will not be repeated here.

【0261】図7に示されるproxy サーバ装置54が図
1に示されるproxy サーバ装置53と異なるのは、第2
のproxy プロセス34が、アクセスログ39にプリフェ
ッチの伝送記録を書込むこと(40)と、アクセスリス
ト30から読出したファイルオブジェクトに対して第2
のproxy プロセス34によるプリフェッチを行なわせる
点においては図1に示されるプリフェッチプロセス36
と同様であるが、この新たに設けられたアクセスログ3
9の内容を参照し、アクセスログに含まれるファイルの
変更状況を表わす情報に従って、前回のプリフェッチ時
に変更が検出されたファイルオブジェクトをアクセスリ
スト30からのファイルオブジェクトに優先してプリフ
ェッチするように第2のproxy プロセス34を制御する
ためのプリフェッチプロセス41を含んでいることであ
る。
The proxy server device 54 shown in FIG. 7 is different from the proxy server device 53 shown in FIG.
The proxy process 34 of writes the transmission record of the prefetch to the access log 39 (40), and the second process for the file object read from the access list 30
The prefetch process 36 shown in FIG.
Same as, but this new access log 3
Second, referring to the contents of No. 9, according to the information indicating the change status of the file included in the access log, the file object whose change is detected at the previous prefetch is preferentially prefetched over the file object from the access list 30. The prefetch process 41 for controlling the proxy process 34 is included.

【0262】第1のproxy プロセス14、第2のproxy
プロセス34およびプリフェッチプロセス41がいずれ
もメモリ中に置かれ、CPUによって処理されるのは実
施の形態1の装置と同様である。
First proxy process 14, second proxy
The process 34 and the prefetch process 41 are both placed in the memory and processed by the CPU, as in the device of the first embodiment.

【0263】このproxy サーバ装置54では、第2のpr
oxy プロセス34は、ファイルオブジェクトのプリフェ
ッチの結果のアクセスログ39を記録する。プリフェッ
チプロセス41は、このアクセスログ39を走査し、前
回のプリフェッチの結果、プリフェッチされたファイル
オブジェクトが、その前にプリフェッチされた時点以後
に更新されていたものの名称を抽出し、変更検出リスト
を作成する。変更検出リストを、名称順、出現頻度順に
並べることにより同一名称のものを取除いた上で、アク
セスリスト30から抽出されたプリフェッチリストの前
部にマージする。そしてこのマージされたプリフェッチ
リストに従って第2のproxy プロセス34のプリフェッ
チプロセスを実行させる。
In this proxy server device 54, the second pr
The oxy process 34 records an access log 39 resulting from the prefetch of the file object. The prefetch process 41 scans the access log 39, extracts the name of the file object prefetched as a result of the previous prefetch, which has been updated after the previous prefetch, and creates the change detection list. To do. The change detection list is arranged in the order of name and frequency of appearance to remove the same name, and then merged with the front part of the prefetch list extracted from the access list 30. Then, the prefetch process of the second proxy process 34 is executed in accordance with this merged prefetch list.

【0264】前回のプリフェッチ時に、その前のプリフ
ェッチ以後変更されていたファイルオブジェクトは、以
後も比較的頻繁に変更される可能性が高い、ということ
ができる。したがって上述のように作成されたプリフェ
ッチリストは、変更の可能性の高いファイルオブジェク
トが前部に置かれたものである。そのためこれらは、規
定時間のうちでも最初の方でプリフェッチされる。変更
の可能性の低いものは、これらの後にプリフェッチされ
ることになるが、変更の可能性が低いので、既にフェッ
チされているデータで十分である可能性が高い。そのた
め限られた時間内に、変更可能性の高いファイルオブジ
ェクトを優先的にプリフェッチすることができ、キャッ
シュファイル16の内容を新鮮に保つことができる。
It can be said that at the time of the previous prefetch, the file object changed after the previous prefetch is likely to be changed relatively frequently thereafter. Therefore, the prefetch list created as described above has the file object that is highly likely to be changed placed at the front. Therefore, these are prefetched at the beginning of the specified time. Those that are unlikely to be modified will be prefetched after these, but since the likelihood of modification is low, data that has already been fetched is likely to be sufficient. Therefore, it is possible to preferentially prefetch a file object having a high possibility of change within a limited time, and to keep the contents of the cache file 16 fresh.

【0265】以下、プリフェッチプロセス41の動作を
詳しく述べるが、その概略についてまとめておくと次の
ようになる。
The operation of the prefetch process 41 will be described in detail below. The outline of the operation is as follows.

【0266】(1) 第2のproxy プロセス34のアク
セスログ39から、過去の一定の日数分のログを集め
る。サーバ計算機側のファイルオブジェクトが、前回の
プリフェッチの結果その前のプリフェッチ以後変更され
ていたという情報を持っているファイルオブジェクトの
リストを、変更検出リストとして作成する。これらは、
前回のプリフェッチの結果、キャッシュファイルに書込
まれたファイルオブジェクトのリストでもある。
(1) Collect logs for a certain number of days in the past from the access log 39 of the second proxy process 34. A list of file objects having information that the file object on the server computer side has been changed since the previous prefetch as a result of the previous prefetch is created as a change detection list. They are,
It is also a list of file objects written to the cache file as a result of the previous prefetch.

【0267】(2) 第1のproxy プロセスのアクセス
ログファイル30をもとに、過去の一定期間のファイル
オブジェクト名称を抽出し、プリフェッチアクセスリス
トを作成する。このプリフェッチアクセスリスト自体は
実施の形態1におけるものと同様である。
(2) Based on the access log file 30 of the first proxy process, the file object name of a certain past period is extracted and a prefetch access list is created. The prefetch access list itself is the same as that in the first embodiment.

【0268】(3) (2)で作成されたプリフェッチ
アクセスリストの先頭部分に、(1)で作成された変更
検出リストをマージする。
(3) The change detection list created in (1) is merged with the head part of the prefetch access list created in (2).

【0269】(4) このようにして作成されたプリフ
ェッチアクセスリストに基づき、第2のproxy プロセス
34を利用して、外部ネットワークのサーバ計算機か
ら、プリフェッチアクセスリストにあるファイルオブジ
ェクトをプリフェッチする。
(4) Based on the prefetch access list thus created, the second proxy process 34 is used to prefetch the file objects in the prefetch access list from the server computer of the external network.

【0270】(5) これによりキャッシュファイル1
6内に、第2のproxy プロセス34によってファイルオ
ブジェクトが書込まれ、最新に維持される。このとき第
2のproxy プロセス34は、アクセス結果をアクセスロ
グ39に書込む。
(5) As a result, the cache file 1
In 6, the file object is written by the second proxy process 34 and kept up to date. At this time, the second proxy process 34 writes the access result in the access log 39.

【0271】図8および図9を参照して、このproxy サ
ーバ装置54の動作をより詳細に説明する。なお図8お
よび図9に示されるフローチャートの各ステップをたと
えば「step1」、「step5」などと記載することにす
る。
The operation of the proxy server device 54 will be described in more detail with reference to FIGS. 8 and 9. Each step of the flowcharts shown in FIGS. 8 and 9 will be described as, for example, “step 1”, “step 5”, or the like.

【0272】step1 第2のproxy プロセスのアクセスログファイルを、最近
のP日分収集する。なおアクセスログファイルは、各日
別に別々のファイルとして作成されるものとする。この
ログファイルはプリフェッチによるアクセスログであ
る。したがって、プリフェッチ時にサーバ計算機のファ
イルオブジェクトにアクセスした結果に従って、ファイ
ルオブジェクトが更新されたかどうかという情報を有し
ている。なお発明者の経験では、Pは2程度で十分であ
る。
Step 1 Collect the access log files of the second proxy process for the latest P days. The access log file shall be created as a separate file for each day. This log file is an access log by prefetch. Therefore, it has information as to whether the file object has been updated according to the result of accessing the file object of the server computer at the time of prefetching. It should be noted that, in the experience of the inventor, P of about 2 is sufficient.

【0273】第2のproxy プロセスのアクセスログファ
イル名称は、毎日名称が変わるように第2のproxy プロ
セスにより設定することができる。たとえばログファイ
ル名称の末尾に日付が入るようにすることができる。そ
の場合ファイル名称をたとえば"/usr/local/etc/delega
ted/10000.http. 日" という名称にすることができる。
例として7月1日から10日までのログファイルの名称
を示すと次のようになる。
The access log file name of the second proxy process can be set by the second proxy process so that the name changes every day. For example, the date can be added at the end of the log file name. In that case, change the file name to "/ usr / local / etc / delega
It can be named "ted / 10000.http.day".
As an example, the names of log files from July 1st to 10th are as follows.

【0274】[0274]

【表22】 [Table 22]

【0275】最新のログファイルから順番に並べるため
に、UNIX OS の下では、/bin/ls コマンドを「-t」オプ
ションで起動する。具体的には次のとおりである。
Under the UNIX OS, the / bin / ls command is started with the "-t" option in order to arrange the log files in order from the latest log file. Specifically, it is as follows.

【0276】[0276]

【表23】 [Table 23]

【0277】これにより次の結果を得ることができる。As a result, the following result can be obtained.

【0278】[0278]

【表24】 [Table 24]

【0279】既に述べたようにP=2で十分であるか
ら、このようにして並べ変えられたファイルリストから
最近の2日分のログファイル名称を抽出する。そのため
には、UNIX OS に標準的に搭載されている/usr/ucb/hea
d コマンドを用いる。headコマンドは標準入力から先頭
の指定行数を標準出力に出力するので、”|”を使い、
ls -t の標準出力をheadコマンドの標準入力とすればよ
い。そうした標準出力の接続を行なったコマンドを次の
表25に示す。
Since P = 2 is sufficient as already described, the log file names for the last two days are extracted from the file list rearranged in this way. To do this, use / usr / ucb / hea, which is standard on UNIX operating systems.
Use the d command. Since the head command outputs the specified number of lines from the standard input to the standard output, use "|"
Use the standard output of ls -t as the standard input of the head command. The following table 25 shows the commands for making such standard output connections.

【0280】[0280]

【表25】 [Table 25]

【0281】上のコマンドを実行すると次の結果が得ら
れる。
When the above command is executed, the following result is obtained.

【0282】[0282]

【表26】 [Table 26]

【0283】step2 ここで、step1で収集した第2のproxy プロセスのアク
セスログファイルを1つのファイル"obsoletelist.txt"
にまとめる。なおこの名称は一例にすぎず、運用に応じ
て適当に定めることができる。
Step2 Here, the access log file of the second proxy process collected in step1 is a single file "obsoletelist.txt".
Put together. Note that this name is only an example, and can be appropriately determined according to the operation.

【0284】このように"obsoletelist.txt"というファ
イルにアクセスログファイルをまとめるとき、ファイル
オブジェクトがproxy サーバ装置54を介してユーザに
中継された時刻と、プリフェッチを行なう時刻との間隔
に応じた重み付けを加える。すなわち、最新のアクセス
ログファイルに、古いアクセスログファイルよりも大き
な重み付けを加える。たとえば、単純にログファイルの
日付に注目して次のようにすることができる。表25に
示したコマンドの実行の結果得られる出力は、日付の新
しいログファイルから順番に並んでいる。そのためUNIX
OS に標準的に搭載されているcat コマンドを利用して
次のように"obsoletelist.txt"ファイルを作成すること
ができる。
When the access log files are put together in the file "obsoletelist.txt" in this way, weighting according to the interval between the time when the file object is relayed to the user through the proxy server device 54 and the time when the prefetch is performed. Add. That is, the latest access log file is weighted more than the old access log file. For example, you could simply focus on the date in the log file and do something like this: The output obtained as a result of executing the commands shown in Table 25 is arranged in order from the log file with the newest date. Therefore UNIX
You can create the "obsoletelist.txt" file as follows using the cat command that comes standard with the OS.

【0285】[0285]

【表27】 [Table 27]

【0286】表27のようにcat コマンドを利用するこ
とにより、プリフェッチを行なう当日に残されたアクセ
スログは2回分とカウントされるのに対して、前日分の
アクセスログは1回分とカウントされる。したがって最
近アクセスされたファイルオブジェクトの出現頻度に、
より大きな重み付けが与えられたアクセスログリストが
残される。
By using the cat command as shown in Table 27, the access log remaining on the day of prefetching is counted as two, while the access log for the previous day is counted as one. . Therefore, the appearance frequency of recently accessed file objects is
The access log list given the higher weight is left.

【0287】step3 上述のstep2で出力されたファイル"obsoletelist.txt"
の各行は、過去のプリフェッチによるアクセスファイル
オブジェクトの記録である。そこで、以下のような条件
に従ったファイルオブジェクト名称を含むアクセスログ
を選択する。
Step3 The file "obsoletelist.txt" output in step 2 above
Each row of is a record of an access file object by past prefetch. Therefore, the access log including the file object name according to the following conditions is selected.

【0288】・httpコマンド文字列がファイルオブジェ
クトリード要求(GET )であり、かつ ・ファイルオブジェクト名称のプロトコル部分がhttpで
あるもの ・特定の文字列パターンにマッチするものは除外 ・ファイルオブジェクト名称がプリフェッチに適さない
ものを除外 ・ファイルオブジェクトコードのデータサイズが巨大な
ものを除外 ・サーバ計算機の状態コードが特定のものを除外 ・ファイルオブジェクトのアクセスの結果、キャッシュ
が更新されたものをプリフェッチ 以上の条件を使ってファイルオブジェクトを抽出する。
このようにして抽出されたリストは、前回のそのファイ
ルオブジェクトのアクセスの結果キャッシュが更新され
たもののみを含むから、これをファイルオブジェクトの
変更検出リストと呼ぶことができる。この変更検出リス
トに対して、まず出現頻度順のソートを行なった上で、
同一名称のファイルオブジェクトをまとめる。またファ
イルオブジェクト名称のフィールドだけを取出して、プ
リフェッチすべきファイルオブジェクト名称からなるプ
リフェッチアクセスリストを作成する。
-The http command character string is a file object read request (GET), and-the protocol part of the file object name is http.-The object that matches a specific character string pattern is excluded.-The file object name is prefetched. Excludes files that are not suitable for the above-Excludes files with a large data size in the file object code-Excludes specific server computer status codes-Prefetch files whose cache is updated as a result of accessing the file object Use to extract the file object.
The list extracted in this way includes only those whose cache has been updated as a result of the previous access to the file object, and thus can be called the change detection list of the file object. For this change detection list, first sort by appearance frequency, then
Collect file objects with the same name. Also, only the field of the file object name is extracted and a prefetch access list composed of the file object names to be prefetched is created.

【0289】プリフェッチに適さないと考えられるファ
イルオブジェクト名称として、URL中に”? ”を含むも
のがある。”? ”を含むURL 表記は、クライアントユー
ザが文字列を手操作により入力してサーバ計算機に対し
て渡す場合などに使われる。そのためこのURL 表記を含
む名称のファイルオブジェクトをプリフェッチすると、
ユーザに代わって機械が勝手に文字を入力したことにな
ってしまうので、有害である。
As a file object name that is considered unsuitable for prefetching, there is a file object name that includes "?" In the URL. The URL notation including "?" Is used when the client user manually inputs a character string and passes it to the server computer. Therefore, if you prefetch a file object with a name that includes this URL notation,
This is harmful because the machine will have entered the characters on its behalf on behalf of the user.

【0290】このようなファイルオブジェクト名称の抽
出作業は、UNIX OS で標準で提供されている次のような
コマンド部すなわち
The extraction operation of such a file object name is performed by the following command part provided as standard in UNIX OS:

【0291】[0291]

【表28】 [Table 28]

【0292】および、C言語などを用いて記述したプロ
グラム
And a program written in C language or the like

【0293】[0293]

【表29】 [Table 29]

【0294】などを使って行なうことができる。なお表
28および表29において、左側にはコマンドおよびパ
ラメータと、プログラム読出のためのコマンドが、右側
にはそれぞれに対応する機能が、それぞれ示されてい
る。
It can be performed by using, for example. In Tables 28 and 29, the left side shows the commands and parameters, the command for program reading, and the right side shows the corresponding functions.

【0295】たとえば次のコマンドを投入することによ
り、step3の処理を経たリストが標準出力に出力され
る。
For example, by inputting the following command, the list processed in step 3 is output to the standard output.

【0296】[0296]

【表30】 [Table 30]

【0297】以下、その経過について説明する。"obsol
etelist.txt"にあるログファイルの形式は既に述べたよ
うに次のようになっている。
The process will be described below. "obsol
The format of the log file in "etelist.txt" is as described above.

【0298】[0298]

【表31】 [Table 31]

【0299】末尾のキャッシュ状況は、第2のproxy プ
ロセスのサーバ計算機へのアクセス状況によって変化す
る。具体的には次のとおりである。
The cache status at the end changes depending on the access status of the second proxy process to the server computer. Specifically, it is as follows.

【0300】「O 」:サーバ計算機のファイルオブジェ
クトの方がキャッシュのファイルオブジェクトより新し
かった場合 「S 」:サーバ計算機のファイルオブジェクトとキャッ
シュのファイルオブジェクトとの最終変更時刻の比較に
より、両者が同じものであると判明した場合キャッシュ
状況はこの他にもさまざまなあるが、これらのキャッシ
ュ状況に関する情報は、プリフェッチを中継した第2の
proxy プロセスによりアクセスログ39に書き出されて
いる。そこで、"obsoletelist.txt"を標準出力にcat コ
マンドで出力し、それをgrep 'O$' に入力することで、
行末が「O 」であるものが標準出力に出力される。なお
grepというコマンドもUNIX OS に標準的に搭載されてい
るものである。さらにこの出力を処理するためには、既
に述べたように”|”を使い、この標準出力を次のコマ
ンドの標準入力とすればよい。
"O": When the file object of the server computer is newer than the file object of the cache "S": When the file object of the server computer and the file object of the cache are compared, they are the same. If it turns out that there are various other cache statuses, information about these cache statuses can be found in the second one that relayed the prefetch.
It is written in the access log 39 by the proxy process. Therefore, by outputting "obsoletelist.txt" to the standard output with the cat command and inputting it in grep 'O $',
Line endings of "O" are printed to standard output. Note that
The command called grep is also standard in the UNIX OS. In order to further process this output, "|" is used as described above, and this standard output may be used as the standard input of the next command.

【0301】その標準出力を"grep -v" \?"の標準入力
とすることで”? ”を含まない行を抽出し、標準出力に
出力する。その出力を"grep"\"GET" の標準入力に入力
する。その結果、コマンドが「get 」である行のみが抽
出され、標準出力に出力される。
By using the standard output as the standard input of "grep -v" \? ", A line not including"? "Is extracted and output to the standard output. The output of" grep "\" GET "is output. Input to standard input, so that only lines for which the command is "get" are extracted and printed to standard output.

【0302】このようにして得られた標準出力をgrep_
datasize DATASIZE の標準入力に与える。この場合、DA
TASIZEには、予め指定されたファイルオブジェクトのデ
ータサイズの上限値が設定されている。この値はたとえ
ば実際のコマンドでは具体的な値に設定されている。こ
のコマンドの標準出力として、ファイルオブジェクトの
データサイズが定数 DATASIZE よりも小さい行のみが抽
出され標準出力に得られる。
The standard output obtained in this way is grep_
datasize DATASIZE is given to standard input. In this case, DA
In TASIZE, the upper limit value of the data size of the file object designated in advance is set. This value is set to a concrete value in an actual command, for example. As the standard output of this command, only the lines whose data size of the file object is smaller than the constant DATASIZE are extracted and the standard output is obtained.

【0303】さらにこの標準出力を、grep_response r
esponse.txt の標準入力に与える。ここで、"response.
txt"は、予め抽出されるべき、サーバ計算機の状態コー
ドが記述されているファイルである。このコマンドの実
行により、サーバ計算機の状態コードが"response.txt"
に記述されている状態コードと一致する行のみが抽出さ
れ標準出力に出力される。
Further, this standard output is grep_response r
Feed it to the standard input of esponse.txt. Where "response.
"txt" is a file that describes the status code of the server computer that should be extracted in advance. By executing this command, the status code of the server computer is "response.txt".
Only the lines that match the status code described in are extracted and output to standard output.

【0304】空白を区切りと考えると、表31に示され
るアクセスログでは、7番目のフィールドがファイルオ
ブジェクト名称に相当する。そこで上述したgrep_resp
onseresponse.txt の出力を、awk'{print $7}' の標
準入力に与えてファイルアクセスログからファイルオブ
ジェクト名称の部分のみを抽出する。
Considering a blank as a delimiter, in the access log shown in Table 31, the seventh field corresponds to the file object name. So grep_resp mentioned above
Output the onseresponse.txt to the standard input of awk '{print $ 7}' and extract only the part of the file object name from the file access log.

【0305】さらに、ファイルオブジェクト名称部分の
プロトコル名称がhttpである行のみを抽出する必要があ
る。そこで上述した出力をさらに"grep " ^http://"の
標準入力に与える。なおここで" ^" は行の先頭を示
す。以上のような処理の結果が標準出力に出力される。
なおこのようにして得られた標準出力は、次のstep4で
再び標準入力として使用される。
Further, it is necessary to extract only the line in which the protocol name of the file object name portion is http. Therefore, the output described above is further given to the standard input of "grep" ^ http: // ", where" ^ "indicates the beginning of the line.The results of the above processing are output to standard output.
The standard output thus obtained is used again as the standard input in the next step 4.

【0306】step4 次に、step3で出力されたファイルオブジェクトのリス
トから、プリフェッチに好ましくないと思われるものを
取除く。具体的には、プリフェッチするのに好ましくな
いと思われるファイルオブジェクトが有すると思われる
文字列パターンを、除外パターンリストとして"exclud
e.txt" というファイルに予め格納しておく。このリス
トの追加変更は、ゲートウェイ管理者が行なう。
Step4 Next, from the list of file objects output in step3, those which are considered unfavorable for prefetching are removed. Specifically, the string pattern that the file object that seems to be unfavorable to prefetch has as an exclusion pattern list is "exclud
Store it in a file called "e.txt" in advance. The gateway administrator can add or change this list.

【0307】具体的には、プリフェッチしてわざわざキ
ャッシュを更新する必要はないと判断されるような内容
を含むファイルオブジェクト、サイズが巨大なため、プ
リフェッチすると他のファイルオブジェクトのプリフェ
ッチの妨げになるようなファイルオブジェクト、または
サーバ計算機に異常があり、プリフェッチする上で支障
があるファイルオブジェクトなどが考えられる。この"e
xclude.txt" ファイルの記載内容の例を表32に示す。
もちろん表32に示すものは仮定の例である。表32に
示される文字列パターンと一致する文字列を有するファ
イルオブジェクトは、更新対象リストから取除かれる。
[0307] Specifically, since the file object including the contents for which it is determined that it is not necessary to update the cache by prefetching, the size is huge, so prefetching hinders prefetching of other file objects. File object, or a file object that has a problem in prefetching due to an abnormality in the server computer. This "e
Table 32 shows an example of the contents of the "xclude.txt" file.
Of course, the one shown in Table 32 is a hypothetical example. A file object having a character string that matches the character string pattern shown in Table 32 is removed from the update target list.

【0308】[0308]

【表32】 [Table 32]

【0309】ところで、step3で標準出力に出力された
情報は、複数回にわたるプリフェッチアクセスの記録で
あるから、同じファイルオブジェクト名称が何度も出現
する場合がある。そこで、このリストをさらに出現頻度
の降順にソートする。このとき同時に、同じURL につい
ては重複しないよう1つにまとめる。UNIX OS では、こ
のようなソート作業は標準的に提供されている次のコマ
ンド群を使って行なうことができる。
By the way, since the information output to the standard output in step 3 is a record of prefetch access performed a plurality of times, the same file object name may appear many times. Therefore, this list is further sorted in descending order of appearance frequency. At the same time, combine the same URLs so that they do not overlap. On the UNIX OS, this sort of work can be done using the standard commands provided below.

【0310】[0310]

【表33】 [Table 33]

【0311】そこで、次のコマンドにより上述のソート
作業を行なう。
Therefore, the above sort operation is performed by the following command.

【0312】[0312]

【表34】 [Table 34]

【0313】このコマンドの処理内容は次のとおりであ
る。まずfgrep -v -f exclude.txtでは、"exclude.txt"
ファイルに含まれる文字列パターンと一致しないファ
イルオブジェクトだけが標準出力に出力される。さらに
これをsortの標準入力とすることで、ファイルオブジェ
クト名称をアルファベット順に並べる。なおこの例で
は、単純に、URL が完全一致すべき文字列パターンのみ
を"exclude.txt" ファイルで指定しているが、以下に示
すように、URL が部分一致するべき文字列パターンを除
外するための"exclude.txt" ファイルを用意することも
考えられる。
The processing contents of this command are as follows. First, in fgrep -v -f exclude.txt, "exclude.txt"
Only file objects that do not match the string pattern contained in the file are output to standard output. By using this as the standard input of sort, the file object names are arranged in alphabetical order. In addition, in this example, only the string pattern that the URL should match exactly is specified in the "exclude.txt" file, but as shown below, exclude the string pattern that the URL should partially match. It is also possible to prepare an "exclude.txt" file for this.

【0314】[0314]

【表35】 [Table 35]

【0315】この例では、”*”は任意の文字列パター
ンを示している。そのため以下に示すURL も、除外対象
となる。
In this example, "*" indicates an arbitrary character string pattern. Therefore, the URLs shown below are also excluded.

【0316】[0316]

【表36】 [Table 36]

【0317】文字列パターンが部分一致するものを除外
するためには、表34に示したコマンドをそのまま利用
することはできない。しかし、UNIX OS に標準で用意さ
れているコマンド群やC言語で記述したプログラム等の
組合せによってこれを容易に実現することが可能であ
る。
The commands shown in Table 34 cannot be used as they are in order to exclude a character string pattern that partially matches. However, it is possible to easily realize this by combining a command group prepared as standard in the UNIX OS or a program described in C language.

【0318】ここでは、表32に示す内容が"exclude.t
xt" ファイルに格納されており、表34に記載された処
理コマンドが処理に用いられたとして以下説明を進め
る。step3の標準出力が以下のとおりであるものとす
る。
In this case, the contents shown in Table 32 are "exclude.t.
The following description will be given assuming that the processing command stored in the xt "file and described in Table 34 has been used for the processing. It is assumed that the standard output of step 3 is as follows.

【0319】[0319]

【表37】 [Table 37]

【0320】fgrep -v -f exclude.txt の処理によ
り、"exclude.txt" ファイルに格納された除外パターン
リストに含まれる文字列パターンに一致する文字列を有
する第3行と第4行とが取除かれる。その結果次のよう
な標準出力が得られる。
By the processing of fgrep -v -f exclude.txt, the 3rd and 4th lines having the character strings matching the character string patterns included in the exclusion pattern list stored in the "exclude.txt" file are obtained. Removed. As a result, the following standard output is obtained.

【0321】[0321]

【表38】 [Table 38]

【0322】さらにこれをsortの標準入力に与え、ASCI
I コード順にソートするとその結果は次のようになる。
Furthermore, this is given to the standard input of sort, and ASCI
Sorted by I code, the result is:

【0323】[0323]

【表39】 [Table 39]

【0324】さらにこの出力をuniq -c の標準入力に与
えると、同一ファイルオブジェクト名称の行が集約さ
れ、出現頻度が第1フィールドに挿入されて出力され
る。その出力はこのようになる。
Further, when this output is given to the standard input of uniq -c, the lines having the same file object name are aggregated and the appearance frequency is inserted in the first field and output. The output looks like this:

【0325】[0325]

【表40】 [Table 40]

【0326】得られたリストの各行の第1フィールド
は、出現頻度の数値と考えることができる。そこでこの
出現頻度の大きいものから順にソートするために、表4
0の内容をsort -n -rの標準入力に与えてソートするこ
とにより、このリストを出現頻度順に並べ変えることが
できる。その結果は次のようになる。
The first field of each line of the obtained list can be considered as a numerical value of the appearance frequency. Therefore, in order to sort from the one with the highest appearance frequency, Table 4
This list can be rearranged in the order of appearance frequency by giving the contents of 0 to the standard input of sort -n -r and sorting. The result is as follows.

【0327】[0327]

【表41】 [Table 41]

【0328】step5 次に第1のproxy プロセスのアクセスログファイルをn
日分収集する。この収集方法の具体的な手順は次のとお
りである。第1のproxy プロセスのアクセスログファイ
ル名称は、毎日名称が変わるように第1のproxy により
設定できる。たとえばログファイル名称の末尾に日付が
入るようにすると、第1のproxy プロセスのアクセスロ
グファイル名称は"/usr/local/etc/delegated/10000.ht
tp. 日"という名称にして毎日変わるようにすることが
できる。
Step5 Next, set the access log file of the first proxy process to n
Collect for one day. The specific procedure of this collection method is as follows. The access log file name of the first proxy process can be set by the first proxy so that the name changes every day. For example, if the date is added at the end of the log file name, the access log file name of the first proxy process is "/usr/local/etc/delegated/10000.ht.
You can name it "tp. day" and change it every day.

【0329】そうするとたとえば、7月1日から7月1
0日までのログファイルの名称が次のとおりになる。
Then, for example, from July 1st to July 1st
The names of the log files up to 0th are as follows.

【0330】[0330]

【表42】 [Table 42]

【0331】このファイルの名称リストを、日付の新し
いものから順に並べる。そのためには、UNIX OS の下で
は、/bin/ls コマンドを-tオプションで起動すればよ
い。
This file name list is arranged in order from the newest date. To do this, run the / bin / ls command with the -t option under UNIX OS.

【0332】[0332]

【数7】 [Equation 7]

【0333】これにより次の結果が得られる。As a result, the following result is obtained.

【0334】[0334]

【表43】 [Table 43]

【0335】さらにこれらのファイルリストから最近の
7日分のログファイル名称を抽出する。そのためには、
UNIX OS に標準的に搭載されている/usr/ucb/head コマ
ンドを用いて先頭の7行を抽出すればよい。headコマン
ドは、標準入力に与えられるリストから、先頭の指定行
数を抽出して標準出力に出力するものである。
Further, log file names for the last 7 days are extracted from these file lists. for that purpose,
You can extract the first 7 lines using the / usr / ucb / head command that comes standard with the UNIX OS. The head command extracts the specified number of head lines from the list given to the standard input and outputs it to the standard output.

【0336】[0336]

【数8】 [Equation 8]

【0337】この結果は次のとおりである。The results are as follows.

【0338】[0338]

【表44】 [Table 44]

【0339】step6 ここで、step5で収集した第1のproxy プロセスのアク
セスログファイルを、1つのファイル"workfile.txt"に
まとめる。このときに、各ファイルオブジェクトが最後
にユーザ中継された時刻と、プリフェッチが行なわれる
時刻との間隔に応じた重み付けを各ファイルオブジェク
トに与える。たとえば、単純にログファイルの日付に注
目すると、表43には、新しい日付のログファイルから
順番に並んでいることがわかる。そこで、UNIX OS に標
準的に搭載されているcat コマンドを利用して次の処理
を行なう。
Step 6 Here, the access log files of the first proxy process collected in Step 5 are put together into one file "workfile.txt". At this time, each file object is weighted according to the interval between the time when each file object was last relayed by the user and the time when prefetching is performed. For example, simply focusing on the dates in the log files, it can be seen in Table 43 that the log files are ordered from the newest date. Therefore, the following processing is performed using the cat command that is standardly installed in the UNIX OS.

【0340】[0340]

【表45】 [Table 45]

【0341】こうすれば、プリフェッチを行なう当日に
残されたアクセスログは7回分として、前日に残された
アクセスログは6回分として、2日前に残されたアクセ
スログは5回分として、というように、最近にアクセス
されたファイルオブジェクトの出現頻度がより高くなる
ようなアクセスログリストが残される。
In this way, the access log left on the day of the prefetch is 7 times, the access log left on the previous day is 6 times, the access log left 2 days ago is 5 times, and so on. , An access log list is left that makes the frequency of recently accessed file objects appear higher.

【0342】step7 step6で収集された"workfile.txt"ファイルは、1行ご
とに過去のアクセスファイルオブジェクトを記録したフ
ァイルである。そこでこの各行から、以下のような条件
でプリフェッチすべきファイルオブジェクト名称を含む
ものを選択する。
Step 7 The "workfile.txt" file collected in Step 6 is a file in which past access file objects are recorded line by line. Therefore, from each of these lines, one including the file object name to be prefetched under the following conditions is selected.

【0343】・httpコマンド文字列がファイルオブジェ
クトリード要求(GET)であり、かつ ・ファイルオブジェクト名称のプロトコル部分がhttpで
あるもの ・特定の文字列パターンにマッチするものを除外 ・ファイルオブジェクト名称がプリフェッチに適さない
ものを除外 ・ファイルオブジェクトのデータサイズが巨大なものを
除外 ・サーバ計算機の状態コードが特定のものを除外 以上の条件を使い、"workfile.txt"ファイルからファイ
ルオブジェクト名称を抽出したリストを作成する。さら
に、作成されたリストの各行のファイルオブジェクト名
称のフィールドだけを取出し、プリフェッチすべきファ
イルオブジェクト名称のリストを標準出力に出力する。
The http command character string is a file object read request (GET), and the protocol part of the file object name is http. Excludes those that match a specific character string pattern. Prefetches the file object name. Exclude files that are not suitable for the above-Exclude file objects with a large data size-Exclude specific server computer status codes A list of file object names extracted from the "workfile.txt" file using the above conditions To create. Further, only the file object name field of each line of the created list is taken out and the list of file object names to be prefetched is output to the standard output.

【0344】ところで、ファイルオブジェクト名称がプ
リフェッチに適さないものとしては、たとえばURL 中
に”?”を含むものなとがある。これについては既に述
べたとおりである。
By the way, a file object name that is not suitable for prefetching is, for example, one that includes "?" In the URL. This is as described above.

【0345】UNIX OS では、上に述べたようなファイル
オプション名称の抽出作業は、OSとともに提供されて
いるコマンド群
In the UNIX OS, the file option name extraction work described above is performed by the command group provided with the OS.

【0346】[0346]

【表46】 [Table 46]

【0347】と、C言語などを用いて記述したプログラ
And a program written in C or the like

【0348】[0348]

【表47】 [Table 47]

【0349】を使って行なうことができる。以下に、上
述の抽出処理を行なうコマンド例を示す。
Can be done using. The following is an example of a command for performing the above extraction process.

【0350】[0350]

【表48】 [Table 48]

【0351】上のコマンドにより行なわれる処理の経過
を説明する。"workfile.txt"ファイルにあるログの形式
は既に述べたように表31に示すとおりである。そこ
で、標準出力として得られる"workfile.txt"を"grep -
v" \?"に入力することで”?”を含まないようログを
抽出し、標準出力に出力する。それをさらに"grep"\"G
ET" の標準入力に与えることで、コマンドがget コマン
ドである行のみが抽出され標準出力に出力される。
The process performed by the above command will be described. The format of the log in the "workfile.txt" file is as shown in Table 31 as already described. Therefore, the "workfile.txt" obtained as standard output is "grep-
v By inputting "\?", the log is extracted so that "?" is not included and it is output to the standard output. Add it to "grep" \ "G
By giving it to the standard input of "ET", only the lines for which the command is the get command are extracted and output to the standard output.

【0352】"grep"\"GET" の標準出力をgrep_datasi
ze DATASIZE の標準入力に与えると、ファイルオブジェ
クトのデータサイズが、予め指定しておいた定数DATASI
ZEより小さい行のみが抽出され標準出力に出力される。
標準出力をgrep_response response.txt の標準入力に
与えると、サーバ計算機の状態コードが、予めファイ
ル"response.txt"に記述されている状態コードと一致す
る行のみが抽出され、標準出力に出力される。
The standard output of "grep" \ "GET" is grep_datasi
When given to the standard input of ze DATASIZE, the data size of the file object will be the constant DATASI specified in advance.
Only lines smaller than ZE are extracted and printed to standard output.
When the standard output is given to the standard input of grep_response response.txt, only the lines where the status code of the server computer matches the status code described in the file "response.txt" in advance are extracted and output to the standard output. .

【0353】さらに空白を区切りと考えると、各行の7
番目のフィールドがファイルオブジェクト名称に相当す
る。そこで、awk'{print $7}' を使用してファイルオ
ブジェクト名称部分のみを抽出する。さらにファイルオ
ブジェクト名称のプロトコル部分が"http"の行のみを抽
出するために"grep"^http://"でフィルタリングしてい
る(" ^" は行の先頭を示す。)。
Further, considering a space as a delimiter, 7 in each line is considered.
The second field corresponds to the file object name. Therefore, use awk '{print $ 7}' to extract only the file object name part. Furthermore, in order to extract only the line where the protocol part of the file object name is "http", it is filtered by "grep" ^ http: // "(" ^ "indicates the beginning of the line).

【0354】step8 step7で標準出力に出力されたリストは、内部ネットワ
ークの複数のクライアント計算機からの、サーバ計算機
へのアクセスの記録である。したがってこのリスト中に
は同じファイルオブジェクト名称が何度も出現する場合
がある。
Step 8 The list output to the standard output in Step 7 is a record of access to the server computer from a plurality of client computers on the internal network. Therefore, the same file object name may appear many times in this list.

【0355】そこでこのURL リストを出現頻度順にソー
トし、かつ同じURL については重複しないように1つに
まとめる。また、step4同様、好ましくないファイルオ
ブジェクト名称を取除くため、ファイル"exclude.txt"
に格納された各行の文字列パターンと一致する文字列を
有する行を削除する。UNIX OS の下では、このようなソ
ート作業は、OSとともに提供されている次のようなコ
マンド群を用いて行なうことができる。
Therefore, this URL list is sorted in order of appearance frequency, and the same URLs are put together so as not to overlap. Also, as in step 4, the file "exclude.txt" should be deleted to remove undesired file object names.
The rows having the character string that matches the character string pattern of each row stored in are deleted. Under the UNIX OS, such sort work can be performed using the following command groups provided with the OS.

【0356】[0356]

【表49】 [Table 49]

【0357】これらコマンド群を用いてたとえば次のよ
うなコマンドにより処理を行なう。
Using these command groups, processing is performed by the following commands, for example.

【0358】[0358]

【数9】 [Equation 9]

【0359】このコマンドは、前のステップの処理の標
準出力をsortの標準入力とすることにより、ファイルオ
ブジェクト名称をアルファベット順に並べる処理であ
る。
This command is a process for arranging file object names in alphabetical order by using the standard output of the process of the previous step as the standard input of sort.

【0360】なお、ファイル"exclude.txt" に、ファイ
ルオブジェクト名称のうちURL が部分一致する文字列パ
ターンを格納し、この文字列パターンと部分一致するUR
L を有するファイルオブジェクト名称を除外することも
可能である。しかしここでは、ファイル"exclude.txt"
には、URL が完全一致すべき文字列パターンが格納され
ているものとする。
The file "exclude.txt" stores a character string pattern in which the URL partially matches the file object name, and a UR that partially matches this character string pattern.
It is also possible to exclude the file object name with L. But here the file "exclude.txt"
It is assumed that contains the character string pattern that the URL must match exactly.

【0361】step7の標準出力の内容が次のとおりであ
るものとする。
It is assumed that the standard output contents of step 7 are as follows.

【0362】[0362]

【表50】 [Table 50]

【0363】すると、”step7の標準出力|sort”の結
果は、次のように表50の各行がアルファベット順にソ
ートされたものとなる。
Then, the result of "standard output | sort" of step7 is that each row of the table 50 is sorted in alphabetical order as follows.

【0364】[0364]

【表51】 [Table 51]

【0365】さらにこの出力を"uniq -c" の標準入力に
与えると、同一ファイルオブジェクト名称を有する行が
集約され、かつ同一ファイルオブジェクト名称の行の出
現頻度が第1フィールドに挿入された次のようなリスト
が出力される。
Further, when this output is given to the standard input of "uniq -c", the lines having the same file object name are aggregated, and the appearance frequency of the lines having the same file object name is inserted in the first field. A list like this will be output.

【0366】[0366]

【表52】 [Table 52]

【0367】このリストの各行の第1フィールドは、対
応するURL の出現頻度を示す数値と考えことができる。
そこでこの第1フィールドを数値として扱って、降順に
ソートするためにsort -n -rの標準入力に与える。これ
により各行を出現頻度順に並べることができる。その結
果は次のようになる。
The first field of each line of this list can be considered as a numerical value indicating the appearance frequency of the corresponding URL.
Therefore, this first field is treated as a numerical value and given to the standard input of sort -n -r to sort in descending order. This allows each row to be arranged in order of appearance frequency. The result is as follows.

【0368】[0368]

【表53】 [Table 53]

【0369】すなわち、数8として記載したコマンドの
出力は"workfile2.txt" ファイルとなるが、このファイ
ル"workfile2.txt" は、出現頻度順に1行に1個のファ
イルオブジェクト名称がリストされたプリフェッチアク
セスリストとなる。
That is, the output of the command described as the equation 8 is a "workfile2.txt" file, but this file "workfile2.txt" is a prefetch in which one file object name is listed in one line in the order of appearance frequency. It becomes an access list.

【0370】step9次に、step4の結果得られたファイ
ル"obsoletelist.txt"と、step8の結果得られたファイ
ル"workfile2.txt" とを連結して、1つのファイル"pre
fetch _url.txt"とする。その連結の順序は次のとおり
である。
Step 9 Next, the file "obsoletelist.txt" obtained as a result of step 4 and the file "workfile2.txt" obtained as a result of step 8 are concatenated into one file "pre".
fetch_url.txt ". The concatenation order is as follows.

【0371】(1) 変更検出リスト"obsoletelist.tx
t" (2) プリフェッチアクセスリスト"workfile2.txt" この処理は、UNIX OS の下では具体的には次のコマンド
を用いて行なうことができる。
(1) Change detection list "obsoletelist.tx
t "(2) Prefetch access list" workfile2.txt "This process can be performed under UNIX OS using the following command.

【0372】[0372]

【数10】 [Equation 10]

【0373】step10 続いて、プリフェッチリストのインターリーブ処理を行
なう。このインターリーブ処理とは、実施の形態3で既
に説明した処理と同じものであり、プリフェッチアクセ
スリストを、その元々の順序そのものではなく、特定の
サーバにアクセスが集中しないような順序に並べ変える
処理をいう。こうすることにより、特定のサーバ計算機
にアクセスが集中する可能性を最も低くすることができ
る。その詳細は既に実施の形態3で説明してあるので、
ここでは繰返さない。
Step10 Subsequently, interleave processing of the prefetch list is performed. This interleaving process is the same as the process already described in the third embodiment, and is a process of rearranging the prefetch access list in an order in which access is not concentrated on a specific server, instead of the original order itself. Say. By doing so, it is possible to minimize the possibility that access will be concentrated on a specific server computer. Since the details have already been described in the third embodiment,
It will not be repeated here.

【0374】step11 続いて、並列ネットワーク中継個数の最大定数を計算す
る。すなわち、次のステップ以降に示すプリフェッチ子
プロセス起動ループで使用する、並列実行の子プロセス
数の許容される最大値である数MAXPROCESSを計算する。
これまで説明した実施の形態では、並行プリフェッチの
同時実行の最大値であるMAXPROCESSは、予め定められた
固定のパラメータであった。
Step 11 Next, the maximum constant of the number of relays in the parallel network is calculated. That is, the number MAXPROCESS, which is the maximum allowable number of child processes for parallel execution, used in the prefetch child process startup loop shown in the subsequent steps is calculated.
In the embodiments described thus far, MAXPROCESS, which is the maximum value of concurrent execution of parallel prefetch, is a predetermined fixed parameter.

【0375】すなわち、これまでの実施の形態では、プ
リフェッチプロセスの並列実行の子プロセスの数は次の
式によって規制されていた。
That is, in the above embodiments, the number of parallel child processes of the prefetch process is regulated by the following formula.

【0376】[0376]

【数11】 [Equation 11]

【0377】このようにして、起動されるプリフェッチ
プロセスの並列実行の子プロセスの数を規制しておくこ
とで、他のプロセスに対するプリフェッチ子プロセスの
優先度が下がる、という効果があることはこれまでの実
施の形態の説明において既に述べたとおりである。なお
すべてのproxy ネットワーク中継プロセス数の中には、
プリフェッチ子プロセスが含まれている。
As described above, by regulating the number of child processes for parallel execution of the prefetch process to be activated, there is an effect that the priority of the prefetch child process with respect to other processes is lowered. This is as already described in the description of the embodiment. In addition, in all proxy network relay process number,
Contains the prefetch child process.

【0378】ところで、この場合次のような問題があ
る。たとえばMAXPROCESS=20と定められていたものと
する。この場合、次のステップのループ実行を始めた時
点で、クライアント計算機ユーザによるネットワーク中
継プロセスが20個以上存在している場合がある。する
とそれだけで既に、上の数11で示される条件が満たさ
れなくなる。すなわち、
In this case, however, there are the following problems. For example, assume that MAXPROCESS = 20 has been set. In this case, there may be 20 or more network relay processes by the client computer user when the loop execution of the next step is started. Then, only by that, the condition shown by the above equation 11 cannot be satisfied. That is,

【0379】[0379]

【数12】 [Equation 12]

【0380】が成立せず、そのため新たにプリフェッチ
子プロセスを起動することができない。こうした状況が
連続すれば、実質的にプリフェッチを行なうことができ
ないという事態になる。本実施の形態は、こうした問題
を回避して、ネットワーク中継プロセスの数のかかわら
ず、着実にプリフェッチが行なえるように次のような方
策をとっている。すなわち、プリフェッチ子プロセスを
起動するか否かを判断するにあたって、「その時点での
すべてのproxy ネットワーク中継個数」に「一定数MAXP
ROCESS」を加えたものを新たなMAXPROCESSとして使用し
たうえで上の数11の判断を行なっている。これによ
り、次のstep11以後のループを開始した時点ですべての
ネットワーク中継プロセスの合計数が初期定数MAXPROCE
SSを超えていても、上のようにして計算された新しい定
数MAXPROCESSが実際の比較の際には使用されるので、プ
リフェッチ用の並列子プロセスの新たな起動が可能とな
る。
Since the above condition is not established, a new prefetch child process cannot be activated. If such a situation continues, prefetching cannot be substantially performed. The present embodiment takes the following measures so as to avoid such a problem and to steadily perform prefetch regardless of the number of network relay processes. That is, when deciding whether or not to start the prefetch child process, "a certain number of MAXP
We use the one with "ROCESS" added as a new MAX PROCESS, and then make the judgment of the above equation 11. As a result, the total number of all network relay processes will be the initial constant MAXPROCE when the loop after step 11 is started.
Even if it exceeds SS, the new constant MAXPROCESS calculated as above is used in the actual comparison, so that a new parallel child process for prefetching can be newly started.

【0381】以下具体的な実施方法について説明する。
まず、ある時点でのすべてのproxyによるネットワーク
中継個数をNUMPROCESSとする。NUMPROCESSは、OSのプ
ロセステーブルから得ることができる。UNIX OS の下で
あれば次に挙げるコマンドの組合せでNUMPROCESSを計算
することができる。
A specific implementation method will be described below.
First, let NUMPROCESS be the number of network relays by all proxies at a certain point. NUMPROCESS can be obtained from the process table of the OS. Under UNIX OS, NUMPROCESS can be calculated with the following combination of commands.

【0382】[0382]

【表54】 [Table 54]

【0383】これらコマンドをたとえば次のように組合
せることでNUMPROCESSを得ることができる。
NUMPROCESS can be obtained by combining these commands as follows, for example.

【0384】[0384]

【数13】 [Equation 13]

【0385】ここでは、ネットワーク中継プロセス名称
が既に述べたように"DeleGate"であることを利用してい
る。さらに次の式によりMAXPROCESSを再計算する。
Here, the fact that the name of the network relay process is "DeleGate" as described above is used. Furthermore, MAXPROCESS is recalculated by the following formula.

【0386】[0386]

【数14】 [Equation 14]

【0387】これにより新たなMAXPROCESSを得ることが
できる。 step12 図9に示されるstep12.1とstep12.2とをここではまとめ
てstep12と呼ぶことにする。step12.1以降の処理は、st
ep10でインターリーブ化したプリフェッチリスト"prefe
tch _url.txt"の各行を1行ずつメモリ上の行バッファ
URLBUFに読込み、読込まれたURL に従ってプリフェッチ
子プロセスを起動するループ処理である。このとき、第
2のproxy を用い、当該ファイルオブジェクトをプリフ
ェッチするためのプリフェッチ子プロセスをバッググラ
ウンドプロセスとして1つ起動する。
As a result, a new MAX PROCESS can be obtained. step12 Step 12.1 and step 12.2 shown in FIG. 9 are collectively referred to as step 12 here. The process after step 12.1 is st
Prefetch list "prefe" interleaved by ep10
A line buffer in memory for each line of "tch_url.txt"
It is a loop process that reads in the URLBUF and starts the prefetch child process according to the read URL. At this time, using the second proxy, one prefetch child process for prefetching the file object is activated as a background process.

【0388】なお、ネットワークアクセスをするために
は、プリフェッチ子プロセスから直接httpプロトコルを
発生させればよい。そのために専用のプログラムを作成
しておけばよい。このプログラムの名称を仮にwebacces
s とする。
To access the network, the http protocol may be generated directly from the prefetch child process. Therefore, a dedicated program should be created. The name of this program is webacces
Let s.

【0389】プログラムwebaccess は、UNIX OS のネッ
トワーク機能の基本であるソケット機構を利用するもの
である。proxy プロセスのアドレスと、TCP/IPで使用さ
れるポート番号とを指定して、プロセス関数通信をする
ためのネットワーク接続を行なう。さらにMAXPROCESS
は、httpプロトコルにおけるGET コマンドを直接proxy
サーバに書込み、さらに応答データをメモリに読み捨て
る。読み捨てられた応答データは、proxy サーバのキャ
ッシュ機構により自動的にキャッシュファイル16(図
9参照)に蓄積される。
The program webaccess uses the socket mechanism which is the basis of the network function of UNIX OS. Make a network connection for process function communication by specifying the address of the proxy process and the port number used by TCP / IP. Further MAX PROCESS
Directly proxy GET command in http protocol
Write to the server and read the response data to memory and discard. The read response data is automatically stored in the cache file 16 (see FIG. 9) by the cache mechanism of the proxy server.

【0390】webaccess を使用する場合の実際の記述例
は次のとおりである。
An actual description example when using webaccess is as follows.

【0391】[0391]

【数15】 [Equation 15]

【0392】この場合webaccess に対して、proxy サー
バのアドレスと、使用されるポート番号とが指定され
る。webaccess はこれに応答して上記記述中に含まれる
URL にアクセスしファイルを読出して内部のメモリに読
み捨てる。proxy プロセスが利用しているマシンのネッ
トワークアドレスがproxyserver 、TCP/IPのポート番号
が10001 番とする。行バッファURLBUFに次のファイルオ
ブジェクト名称が格納されているものとする。
In this case, the address of the proxy server and the port number used are specified for webaccess. webaccess is included in the above description in response
Access the URL to read the file and discard it in the internal memory. The network address of the machine used by the proxy process is proxyserver, and the TCP / IP port number is 10001. It is assumed that the following file object names are stored in the line buffer URLBUF.

【0393】[0393]

【数16】 [Equation 16]

【0394】この場合次の命令によりwebaccess を起動
させれば、当該proxy プロセス経由で、サーバ計算機の
ファイルオブジェクト"http://www.xxx.co.jp/test/ind
ex.html"にアクセスできる。このとき中継子プロセスで
あるproxy 子プロセスができる。
In this case, if webaccess is started by the following command, the file object "http://www.xxx.co.jp/test/ind" of the server computer will be sent via the proxy process.
ex.html "can be accessed. At this time, a proxy child process that is a relay child process is created.

【0395】[0395]

【数17】 [Equation 17]

【0396】本実施の形態では、数15により記述され
る、ファイルオブジェクト(URL )についてのキャッシ
ュ更新アクセスにより、第1のproxy プロセスの管理す
るキャッシュファイル16を最新状態に保つことができ
る。なお数17で「&」が末尾に付けられているのは、
子プロセスをバックグラウンドで並列に動作させるため
である。
In this embodiment, the cache file 16 managed by the first proxy process can be kept in the latest state by the cache update access for the file object (URL) described by the equation 15. In addition, "&" is added to the end in Equation 17,
This is because the child processes operate in parallel in the background.

【0397】step13 続いて図9のstep13で、プリフェッチ子プロセスの数と
第1のproxy プロセス14のネットワーク中継子プロセ
スの数とを計測し加算して、変数processes に加える。
これらプロセス数も、step11で行なわれたのと同様、プ
ロセステーブルから得ることができる。
Step 13 Subsequently, in Step 13 of FIG. 9, the number of prefetch child processes and the number of network relay child processes of the first proxy process 14 are measured, added, and added to the variable processes.
The number of these processes can be obtained from the process table as in step 11.

【0398】step14 続いてstep14で、上述のようにして得られた変数proces
ses が、step11で計算された最大プロセス数MAXPROCESS
以下か否かについて判定する。以下であれば制御はstep
2.1 に戻り、プリフェッチアクセスリストの次の1行を
抽出し、さらにバックグラウンドでプリフェッチ子プロ
セスを起動する。
Step14 Subsequently, in step 14, the variable proces obtained as described above
ses is the maximum number of processes MAXPROCESS calculated in step 11
It is determined whether or not the following. Control is step if
Return to 2.1, extract the next line in the prefetch access list, and start the prefetch child process in the background.

【0399】step15 step14で、変数processes が最大プロセス数MAXPROCESS
よりも大きいと判定されると、処理を一定時間休止(た
とえば10秒)する。この一定時間の休止を制御すると
制御をstep13に戻し、プリフェッチ子プロセスの並列起
動の起動を再び試みる。
Step15 In step14, the variable processes is the maximum number of processes MAXPROCESS
If it is determined that the value is larger than the above, the processing is paused for a certain period of time (for example, 10 seconds). When this pause for a certain period of time is controlled, the control is returned to step 13, and the parallel start of the prefetch child process is retried.

【0400】以上のようなループ処理によって、プリフ
ェッチ子プロセスの個数と、第1のproxy プロセス14
を利用しているクライアント計算機ユーザのネットワー
ク中継子プロセスの個数との合計を制限しながら、プリ
フェッチ子プロセスの起動を制御する。この場合第1の
proxy プロセス14を利用しているユーザによるネット
ワークアクセスの子プロセスの数がMAXPROCESS以上であ
ったときにプリフェッチ子プロセスが起動待ちとなる。
By the above loop processing, the number of prefetch child processes and the first proxy process 14
The start of the prefetch child process is controlled while limiting the total number with the number of network relay child processes of the client computer user who is using. In this case the first
When the number of child processes accessing the network by the user using the proxy process 14 is equal to or more than MAXPROCESS, the prefetch child process waits for activation.

【0401】したがって、クライアント計算機のユーザ
が第1のproxy プロセス14を利用している時間帯にプ
リフェッチプロセスを実行しても、プリフェッチ子プロ
セスには低い優先権しか与えられない。そのためプリフ
ェッチプロセスの始動を内部ユーザの活動時間帯に始め
ても内部ユーザのネットワーク利用の妨げとはならな
い。また逆にプリフェッチプロセスが、クライアント計
算機のユーザの活動時間の先頭部分に多少食い込んでも
内部ユーザのネットワーク利用にはそれほど支障がな
い。
Therefore, even if the user of the client computer executes the prefetch process in the time zone in which the first proxy process 14 is used, the prefetch child process is given only a low priority. Therefore, even if the start of the prefetch process is started during the active time period of the internal user, it does not prevent the internal user from using the network. On the contrary, even if the prefetch process slightly digs into the beginning of the activity time of the user of the client computer, it does not hinder the internal user's use of the network.

【0402】したがって、プリフェッチプロセスの開始
から終了までより長時間のプリフェッチ処理を行なうこ
とが可能になる。より多くのファイルオブジェクトのプ
リフェッチができるので、キャッシュデータの量を増や
すことができる。結果としてキャッシュヒット率を高め
ることができる。これは、実施の形態1において既に述
べたのと同様に、平均ファイルオブジェクト転送速度を
増加させるという効果をもたらす。見方を変えれば、同
じ平均ファイルオブジェクト転送速度を維持しながら、
内部ネットワークのより多くのユーザがネットワーク利
用をできるようにするという効果がある。
Therefore, it becomes possible to perform the prefetch process for a longer time from the start to the end of the prefetch process. Since more file objects can be prefetched, the amount of cache data can be increased. As a result, the cache hit rate can be increased. This brings about the effect of increasing the average file object transfer rate, as in the first embodiment. From a different perspective, while maintaining the same average file object transfer rate,
This has the effect of allowing more users of the internal network to use the network.

【0403】なお、図9のstep15の後に、このプリフェ
ッチプロセスループを指定時刻に強制終了するためにO
Sタイマをセットする。OSタイマは、UNIX OS に標準
的に提供されているコマンドを利用して、指定時間に指
定の動作を実行させることで実現できる。指定時刻に上
記したプロセスを終了するためには、具体的には次のよ
うにすればよい。図8および図9に示されるプリフェッ
チプロセスには、実行時にはプロセスID番号がシステ
ムから与えられる。そこでこのプロセスID番号を使用
して、UNIX OS のkill命令を次のようにOSに与える。
It should be noted that after step 15 in FIG. 9, O is set in order to forcibly terminate this prefetch process loop at the specified time.
Set the S timer. The OS timer can be realized by executing a specified operation at a specified time by using a command provided as standard in UNIX OS. In order to end the above process at the designated time, specifically, the following may be done. The prefetch process shown in FIGS. 8 and 9 is given a process ID number from the system at the time of execution. Therefore, using this process ID number, the UNIX OS kill command is given to the OS as follows.

【0404】[0404]

【数18】 [Equation 18]

【0405】このコマンドは、プロセスID番号で指定
されたプロセスを終了させるためのkill命令を、8時0
0分に発行するようにOSに対して予約するものであ
る。
This command sends a kill command for ending the process specified by the process ID number at 08:00.
It is reserved for the OS to be issued at 0 minutes.

【0406】以上は、プリフェッチプロセスの詳細な説
明である。次に、第1のproxy プロセス14および第2
のproxy プロセス34におけるキャッシュ管理手法につ
いて説明する。本発明では、2つのproxy プロセスが図
1、図9等に示すようにキャッシュファイル16を共有
している。しかも両者ともキャッシュファイル16を、
ファイルオブジェクト単位で更新する。そのためキャッ
シュファイル16について、ファイルオブジェクト単位
で排他制御ができなければ、ネットワーク中継子プロセ
ス同士で競合が生じてしまう。そのためproxy プロセス
のキャッシュ管理手法が排他制御を備えている必要があ
る。
The above is a detailed description of the prefetch process. Then, the first proxy process 14 and the second
A cache management method in the proxy process 34 will be described. In the present invention, two proxy processes share the cache file 16 as shown in FIGS. Moreover, both cache files 16
Update in file object units. Therefore, if exclusive control cannot be performed on the cache file 16 in file object units, competition will occur between network relay processes. Therefore, the cache management method of the proxy process needs to have exclusive control.

【0407】本願の実施の形態では、公知の"DeleGate"
と呼ばれるproxy ソフトウェアを使用している。このソ
フトウェアは排他制御機能を備えており、上述したよう
な本願発明の実施の形態を実現するに十分な機能を備え
ている。
In the embodiment of the present application, the well-known "DeleGate" is used.
It uses proxy software called. This software has an exclusive control function, and has a function sufficient to realize the embodiment of the present invention as described above.

【0408】DeleGateにおけるキャッシュ管理手法は、
ソースコードの形で公開されている。したがって以下こ
のソースコードに沿ってその手法について述べる。なお
本願発明を実現するためのproxy サーバソフトウェアと
しては、このDeleGateに限定されるものではなく、同様
のキャッシュ管理手法が使われるキャッシュ機能付prox
y サーバソフトウェアであって排他制御機能を有するも
のであれば利用することができる。
The cache management method in DeleGate is
It is published in the form of source code. Therefore, the method will be described below along with this source code. Note that the proxy server software for implementing the present invention is not limited to this DeleGate, but prox with cache function that uses the same cache management method.
y Any server software that has an exclusive control function can be used.

【0409】既に述べた例に従って、proxy プロセスが
proxyserver という名称のマシン(システム)で動作し
ており、TCP/IPのポート番号10001 番でURL 取得要求を
受付けるものとする。このとき、バッファURLBUFに、指
定のURL 表記が格納されているものとする。すると、た
とえば図9に示すプリフェッチプロセス41は次のコマ
ンドを実行する。
According to the example above, the proxy process
It operates on a machine (system) named proxyserver, and accepts URL acquisition requests on TCP / IP port number 10001. At this time, it is assumed that the specified URL notation is stored in the buffer URLBUF. Then, for example, the prefetch process 41 shown in FIG. 9 executes the next command.

【0410】[0410]

【数19】 [Formula 19]

【0411】なお第2のproxy プロセス34とプリフェ
ッチプロセス41との間の通信はTCP/IPを用いて行なわ
れる。例としてバッファURLBUFに"http://www.sharp.c
o.jp/sample/test.html" という文字列が格納されてい
るものとする。
Communication between the second proxy process 34 and the prefetch process 41 is performed using TCP / IP. As an example, "http: //www.sharp.c" in the buffer URLBUF
It is assumed that the character string "o.jp/sample/test.html" is stored.

【0412】プリフェッチプロセス41が数14に示す
コマンドを実行することにより、URL 取得要求が第2の
proxy プロセス34に出される。第2のproxy プロセス
34はこれに応答して子プロセスを生成し、実際のファ
イルオブジェクトの取得処理をその子プロセスに任せ
て、自プロセスは再びプリフェッチプロセス41による
数14の実行を待ち受ける。第2のproxy プロセス34
により生成された子プロセスは、以下のような処理を実
行する。なおproxy プロセスは、キャッシュファイルと
して図7に示すキャッシュファイル16を持っている。
このキャッシュファイル16は、通常のUNIXファイルシ
ステムの一部として作られる。この場合、キャッシュ用
ディレクトリとして/cacheというパーティションを使用
するものとする。このとき、バッファURLBUFに格納され
ている文字列のうち次の文字列
By the prefetch process 41 executing the command shown in Expression 14, the URL acquisition request becomes the second
Submitted to the proxy process 34. In response to this, the second proxy process 34 creates a child process, leaves the actual process of acquiring the file object to the child process, and waits for the prefetch process 41 to execute the number 14 again. Second proxy process 34
The child process generated by executes the following processing. The proxy process has the cache file 16 shown in FIG. 7 as a cache file.
This cache file 16 is created as a part of a normal UNIX file system. In this case, the partition called / cache is used as the cache directory. At this time, the next character string among the character strings stored in the buffer URLBUF

【0413】[0413]

【数20】 [Equation 20]

【0414】は、プロトコル名称がhttp、サーバ計算機
名称がwww.sharp.co.jp 、ファイルオブジェクトの実体
部分のディレクトリおよびファイル名称はsample/text.
htmlである。このとき、キャッシュファイル16は次の
名称規則に従ってキャッシュファイルを生成しようとす
る。
The protocol name is http, the server computer name is www.sharp.co.jp, the directory of the actual part of the file object and the file name are sample / text.
html. At this time, the cache file 16 tries to generate a cache file according to the following name rule.

【0415】[0415]

【数21】 [Equation 21]

【0416】したがって"http://www.sharp.co.jp/samp
le/test.html" のディレクトリおよびファイル名は次の
ようにして指定される。
Therefore, "http://www.sharp.co.jp/samp
The directory and file name of "le / test.html" are specified as follows.

【0417】[0417]

【数22】 [Equation 22]

【0418】したがって、図10を参照して、proxy プ
ロセスは次のようにキャッシュファイル16の排他制御
を行なう。
Therefore, with reference to FIG. 10, the proxy process performs exclusive control of the cache file 16 as follows.

【0419】(1) まずキャッシュファイル16の更
新ルーチンを開始すると(A1)、指定されたURL を上
記した規則に従ってキャッシュファイル名称に変換す
る。今述べている例では上述の数22というファイル名
称が得られる(A2)。そしてこのようにして変換され
たファイル名称がキャッシュファイル16内に存在する
か否かを調べる。具体的には、OSのopen()システム
コールによって、このファイルを既存のファイルとして
オープンすることができるかどうかを調べることにより
このファイルの存在を調べる(A3)。
(1) First, when the update routine of the cache file 16 is started (A1), the specified URL is converted into the cache file name according to the above rule. In the example just described, the file name of the above formula 22 is obtained (A2). Then, it is checked whether or not the file name thus converted exists in the cache file 16. Specifically, the existence of this file is checked by checking whether this file can be opened as an existing file by the open () system call of the OS (A3).

【0420】(2) このファイルが存在しなければ
(A3でNO)、このキャッシュファイルをファイル新
規作成モードでオープンする(A4)。
(2) If this file does not exist (NO in A3), this cache file is opened in the file new creation mode (A4).

【0421】(3) さらにこのキャッシュファイルに
対して他のプロセスから書込が行なえないように排他ロ
ックする(A5)。これ以後の処理が排他制御である。
(3) Further, exclusive lock is applied to this cache file so that writing cannot be performed by other processes (A5). The process after this is exclusive control.

【0422】(4) 次にネットワーク経由で、バッフ
ァURLBUF内の文字列で指定されたファイルオブジェクト
を、指定されたサーバ計算機から取得する(A6)。
(4) Next, the file object designated by the character string in the buffer URLBUF is acquired from the designated server computer via the network (A6).

【0423】(5) このようにして取得したファイル
オブジェクトをキャッシュ更新プロセスに渡すととも
に、キャッシュファイル16に書込む(A7)。このと
きのキャッシュファイル名称は数22に示したとおりで
ある。
(5) The file object thus obtained is passed to the cache update process and written in the cache file 16 (A7). The cache file name at this time is as shown in Expression 22.

【0424】(6) 書込が完了するとキャッシュファ
イルをクローズして排他ロックを解除する(A8)。
(6) When the writing is completed, the cache file is closed and the exclusive lock is released (A8).

【0425】ステップA3でキャッシュファイルがオー
プンできた場合、すなわち指定されたキャッシュファイ
ルが既に存在した場合には次のような処理を行なう(A
9)。
If the cache file can be opened in step A3, that is, if the specified cache file already exists, the following processing is performed (A
9).

【0426】(7) キャッシュファイル/cache/http/
www.sharp.co.jp/sample/test.htmlの最終変更時刻Tmを
OSから得る。UNIXであれば、最終変更時刻はfstat
()システムコールで得られる(A10)。fstat
()システムコールは、過去から未来に向かって時間
の経過とともに単純に増加する関数である。
(7) Cache file / cache / http /
Obtain the last modification time Tm of www.sharp.co.jp/sample/test.html from the OS. On UNIX, the last modification time is fstat
() System call (A10). fstat
The () system call is a function that simply increases with the passage of time from the past to the future.

【0427】(8) 続いて現在時刻をシステムコール
を用いて読出しTnowという変数に格納する(A11)。
(8) Next, the current time is read using a system call and stored in a variable called Tonow (A11).

【0428】(9) 上記したキャッシュファイルの最
終変更時刻Tmと現在時刻Tnowとを比較し、その差がキャ
ッシュ有効期限以内かどうかを判定する(A12)。
(9) The last modification time Tm of the cache file and the current time Tnow are compared to determine whether the difference is within the cache expiration date or not (A12).

【0429】(10) キャッシュ有効期限以内であれ
ば(A12においてYES)、このキャッシュファイル
を共有排他ロックする。すなわちこのキャッシュファイ
ルに対して、他のプロセスからの書込はできないが、読
出はできるようにする(A13)。
(10) If it is within the cache expiration date (YES in A12), this cache file is shared and exclusive locked. In other words, the cache file cannot be written by other processes but can be read (A13).

【0430】(11) 続いて現在のキャッシュファイ
ルを読出し、キャッシュ更新プロセスに転送する(A1
4)。
(11) Next, the current cache file is read and transferred to the cache update process (A1
4).

【0431】(12) キャッシュファイルをクローズ
し、排他制御のロックを解除する(A8)。
(12) The cache file is closed and the exclusive control lock is released (A8).

【0432】一方、キャッシュ有効期限を過ぎている場
合(A12においてNO)、次のような処理を行なう。
On the other hand, when the cache expiration date has passed (NO in A12), the following processing is performed.

【0433】(13) キャッシュファイルを排他ロッ
クし、他のプロセスからの書込が行なわれないようにす
る(A15)。
(13) Exclusively lock the cache file to prevent writing from other processes (A15).

【0434】(14) 次にネットワーク経由で、バッ
ファURLBUFに格納された文字列で指定されたファイルオ
ブジェクトをサーバ計算機から取得する(A16)。
(14) Next, the file object designated by the character string stored in the buffer URLBUF is acquired from the server computer via the network (A16).

【0435】(15) こうして取得したファイルオブ
ジェクトをキャッシュ更新プロセスに渡すとともに、数
22で示されるキャッシュファイルに書込む(A1
7)。
(15) The file object thus obtained is passed to the cache update process and is written in the cache file shown in Eq. 22 (A1
7).

【0436】(16) 続いてキャッシュファイルをク
ローズし排他ロックを解除する(A18)。
(16) Then, the cache file is closed and the exclusive lock is released (A18).

【0437】以上が、上述の実施の形態で使用されてい
るproxy プロセスのキャッシュ制御手順である。本願発
明の各実施の形態では、このようなproxy プロセスによ
る排他制御機能を利用して、キャッシュファイルシステ
ム(たとえば図7のキャッシュファイル16)を、第1
のproxy プロセス14と第2のproxy プロセス34とで
共有している。なお第2のproxy プロセス34は、既に
述べたようにキャッシュ有効期限=0である。またキャ
ッシュファイルの最終変更時刻Tmは常に現在時刻Tnowよ
りも小さい。したがって、図10のステップA12で行
なわれる判断は、第2のproxy プロセス34経由のサー
バ計算機アクセスでは必ずNOという結果になり、キャ
ッシュファイルの更新(A16)が必ず行なわれる。
The above is the cache control procedure of the proxy process used in the above embodiment. In each of the embodiments of the present invention, the cache file system (for example, the cache file 16 in FIG. 7) is set to the first by using the exclusive control function by such a proxy process.
Shared by the proxy process 14 and the second proxy process 34. The second proxy process 34 has a cache expiration time = 0 as described above. The last modification time Tm of the cache file is always smaller than the current time Tnow. Therefore, the determination made in step A12 of FIG. 10 always results in NO in the server computer access via the second proxy process 34, and the cache file is always updated (A16).

【0438】以上のようにこの実施の形態でも、ファイ
ルオブジェクト(URL )のプリフェッチにより、第1の
proxy プロセス14の管理するキャッシュファイル16
の容量をn×24時間/m倍に増やし、かつ最新状態に
保つことが可能である。
As described above, also in this embodiment, the first object is obtained by prefetching the file object (URL).
Cache file 16 managed by proxy process 14
It is possible to increase the capacity of n × 24 hours / m times and keep the latest state.

【0439】なお本実施の形態のstep5でn日分の過去
のアクセスログファイルを集めたが、このn日という数
字は、キャッシュファイルの最大容量とファイル転送実
績とから決められるものであって、システムごとに異な
る。1GBの容量を持つキャッシュファイル装置に、1
日当り100MBのファイルオブジェクトが蓄積される
ようであれば、n=5程度、すなわちファイルオブジェ
クトが500MB程度プリフェッチされるような設定と
すれば、キャッシュファイル16が溢れることはない。
In the step 5 of this embodiment, the past access log files for n days are collected. The number of n days is determined from the maximum capacity of the cache file and the file transfer record. Different for each system. 1 for a cache file device with a capacity of 1 GB
If 100 MB of file objects are stored per day, the cache file 16 will not overflow if the setting is such that n = 5, that is, the file objects are prefetched by about 500 MB.

【0440】このようにキャッシュファイルの蓄積の実
績から、キャッシュファイルを溢れさせないnという数
字を算出するのは容易である。そのためには次のように
する。たとえば1GBの容量を有するキャッシュファイ
ル装置であれば、キャッシュ蓄積量の最小値MIN=6
0%、最大値MAX=80%と定めておく。キャッシュ
蓄積の実績量がMINを下回るようであれば、毎日のプ
リフェッチ起動時にn=n+1とする。またキャッシュ
蓄積の実績量がMAXを上回る場合には、n=n−2な
どと減らす。こうすることでキャッシュ蓄積容量をほぼ
MIN、MAXの間に保つことができる。
In this way, it is easy to calculate the number n that does not cause the cache file to overflow, from the record of cache file accumulation. To do so, do the following: For example, in the case of a cache file device having a capacity of 1 GB, the minimum value of the cache storage amount MIN = 6
It is defined that 0% and maximum value MAX = 80%. If the actual amount of cache storage falls below MIN, n = n + 1 is set at the time of daily prefetch activation. Further, when the actual amount of cache storage exceeds MAX, it is reduced to n = n-2 or the like. By doing so, the cache storage capacity can be maintained between MIN and MAX.

【0441】このようなプリフェッチプロセスは、内部
ネットワークから外部ネットワークへのクライアント計
算機ユーザのアクセスがあまりない時間帯を利用して起
動することができる。そうすることによってプリフェッ
チプロセスによるファイルオブジェクトアクセスが、内
部ネットワークユーザの外部ネットワークアクセスの妨
げにならないような運用をすることができる。上述の実
施の形態では、プリフェッチプロセスはクライアント計
算機の利用が少なくなる21時00分に起動し、翌日の
8時00分には遅くとも終了させるようにしてある。8
時00分にプリフェッチプロセスがまだ動作しているの
であれば既に述べたように強制終了をさせている。これ
により、プリフェッチリストが大きくて、プリフェッチ
に時間を要し、そのため翌日の8時までにプリフェッチ
プロセスが終了しない場合であっても、クライアント計
算機の利用が始められる時間帯にはプリフェッチプロセ
スが確実に終了される。これ以後の、内部ネットワーク
ユーザによるクライアント計算機の利用は妨げられな
い。
Such a prefetch process can be activated using a time zone when the client computer user does not access the external network from the internal network very often. By doing so, the file object access by the prefetch process can be operated so as not to interfere with the external network access of the internal network user. In the above-described embodiment, the prefetch process is started at 21:00 when the usage of the client computer is low, and ended at 8:00 the next day at the latest. 8
If the prefetch process is still operating at 0:00, it is forcibly terminated as described above. As a result, even if the prefetch list takes a long time and the prefetch process does not end by 8 o'clock the next day, the prefetch process can be surely performed during the time when the use of the client computer can be started. Will be terminated. Subsequent use of the client computer by internal network users is not hindered.

【0442】ところで、上述の実施の形態でも、第1の
proxy プロセス14のキャッシュ有効期限M=24時間
としている。そのため夜間に更新されたキャッシュデー
タの内容は、更新後翌晩の21時までは少なくとも有効
である。すなわち、キャッシュファイルのうち少なくと
も変更頻度の高いファイルオブジェクトは過去24時間
以内に更新された情報に維持される。一方で、キャッシ
ュファイルの容量は1日の平均アクセス量のn日分であ
る。キャッシュヒット率は、キャッシュの蓄積期間が2
4時間の場合と比較してn=7とすると3倍以上となる
ことが経験的にわかっているから、上述のような設定を
することでキャッシュファイルの内容を新鮮に保ちなが
らキャッシュヒット率を高めることができる。また、第
1のproxy プロセス14のキャッシュ有効期限M時間以
下の時間間隔でプリフェッチプロセスの起動が行なわれ
るから、キャッシュファイルは常に有効期限内に保たれ
る。したがってプリフェッチから次のプリフェッチまで
の間、プリフェッチの効果が有効に保たれる。
By the way, in the above embodiment as well, the first
The cache expiration date of the proxy process 14 is M = 24 hours. Therefore, the content of the cache data updated at night is at least valid until 21:00 the night after the update. That is, at least a file object that has a high change frequency in the cache file is maintained as information updated within the past 24 hours. On the other hand, the capacity of the cache file is n days of the average daily access amount. The cache hit rate is 2 when the cache accumulation period is 2
It is empirically known that it becomes three times or more when n = 7 compared with the case of 4 hours. Therefore, by setting as described above, the cache hit rate can be improved while keeping the contents of the cache file fresh. Can be increased. Further, since the prefetch process is activated at a time interval equal to or shorter than the cache expiration date M hours of the first proxy process 14, the cache file is always kept within the expiration date. Therefore, the effect of prefetch is kept effective from one prefetch to the next prefetch.

【0443】[実施の形態7]実施の形態1〜6では、
ゲートウェイ計算機とクライアント計算機とが別々の計
算機であるものとして説明した。しかしながら、図11
に示されるように、ゲートウェイ計算機55の中にクラ
イアントプロセス42を起動して、クライアント計算機
の機能を含ませても何ら問題はない。その逆にクライア
ント計算機の中にゲートウェイ計算機の機能を含ませて
も支障がないことはもちろんである。なお図11におい
て図7に示される各構成要素と同じ構成要素には同一の
参照番号および名称を付してある。それらの機能も同一
である。したがってここではそれらについての詳しい説
明は繰返さない。
[Seventh Embodiment] In the first to sixth embodiments,
It has been described that the gateway computer and the client computer are separate computers. However, FIG.
As shown in, there is no problem in activating the client process 42 in the gateway computer 55 to include the function of the client computer. On the contrary, of course, there is no problem in including the function of the gateway computer in the client computer. In FIG. 11, the same components as those shown in FIG. 7 are designated by the same reference numerals and names. Their functions are also the same. Therefore, detailed description thereof will not be repeated here.

【0444】このようにクライアント計算機とゲートウ
ェイ計算機との機能を同一の計算機内に組込むことによ
り、より多くのファイルオブジェクトのプリフェッチを
することが可能になる。そのためキャッシュデータの量
を増やすことができるので、結果としてキャッシュヒッ
ト率を高めることができる。ゲートウェイ計算機として
得られる効果は、既に述べた他の実施の形態の装置によ
り得られるものと同様である。
By thus incorporating the functions of the client computer and the gateway computer in the same computer, it becomes possible to prefetch more file objects. Therefore, the amount of cache data can be increased, and as a result, the cache hit rate can be increased. The effects obtained as the gateway computer are the same as those obtained by the devices of the other embodiments already described.

【0445】再びここで各実施の形態の効果について述
べる。実施の形態1によれば、内部ネットワークユーザ
が利用するproxy プロセスでは、キャッシュ有効期限M
がたとえば24時間というように短く設定されている。
したがってキャッシュされたファイルオブジェクトの内
容は、最近の24時間以内の内容であることが保証され
ている。すなわちキャッシュファイルのステールデータ
率は小さく抑えられている。一方、キャッシュファイル
自体にはn日分のキャッシュファイルが蓄積さている。
キャッシュの蓄積量が、プリフェッチプロセスを行なわ
ない場合と比較してn×24/M倍となるので、キャッ
シュのヒット率はキャッシュ有効期限をn日としたとき
に相当する高い値となる。
Here again, the effect of each embodiment will be described. According to the first embodiment, in the proxy process used by the internal network user, the cache expiration time M
Is set to be short, for example, 24 hours.
Therefore, the content of the cached file object is guaranteed to be within the last 24 hours. That is, the stale data rate of the cache file is kept small. On the other hand, the cache file itself stores n days worth of cache files.
Since the accumulated amount of the cache is n × 24 / M times as compared with the case where the prefetch process is not performed, the cache hit rate becomes a high value corresponding to the cache expiration date of n days.

【0446】従来のproxy サーバ装置で、キャッシュ有
効期限を24時間と設定した場合のキャッシュヒット率
は12%程度であることが観察されている。一方実施の
形態1のproxy サーバ装置によるプリフェッチ処理を実
行した場合、n=7日とすると、上述のようにキャッシ
ュヒット率が高くなることが予測され、実際にもヒット
率は35%となった。このためweb サーバへの問合せが
減少し、応答速度が向上した。
In the conventional proxy server device, it has been observed that the cache hit rate is about 12% when the cache expiration date is set to 24 hours. On the other hand, when prefetch processing is executed by the proxy server device of the first embodiment, if n = 7 days, the cache hit rate is predicted to increase as described above, and the hit rate actually becomes 35%. . This reduced the number of inquiries to the web server and improved the response speed.

【0447】実施の形態2のproxy サーバ装置では、プ
リフェッチを同時並列的に進めることで、プリフェッチ
の開始から終了までの時間を短縮することができる。指
定終了時刻までの間に、より多くのファイルオブジェク
トをプリフェッチできる。キャッシュデータの量を増や
すことができるので、結果としてキャッシュヒット率を
高めることができる。
In the proxy server device according to the second embodiment, the prefetch can be performed simultaneously in parallel to shorten the time from the start to the end of the prefetch. You can prefetch more file objects by the end time. Since the amount of cache data can be increased, the cache hit rate can be increased as a result.

【0448】実施の形態3のproxy サーバ装置では、プ
リフェッチアクセスリスト内のファイルオブジェクト名
称をインターリーブしてからプリフェッチを同時並行的
に進める。そのため特定のサーバ計算機に対してアクセ
スが集中することが避けられる。サーバ計算機の応答が
遅くなってボトルネックとなることが避けられるので、
プリフェッチの開始から終了までの時間を短縮できる。
指定終了時刻までの間により多くのファイルオブジェク
トのプリフェッチが可能になる。キャッシュデータの量
を増やすことができるので、結果としてキャッシュヒッ
ト率を高めることができる。
In the proxy server device according to the third embodiment, the file object names in the prefetch access list are interleaved, and then the prefetches are simultaneously proceeded in parallel. Therefore, it is possible to prevent the access from being concentrated on a specific server computer. Since it is possible to avoid a slow response of the server computer and become a bottleneck,
The time from the start to the end of prefetch can be shortened.
More file objects can be prefetched by the designated end time. Since the amount of cache data can be increased, the cache hit rate can be increased as a result.

【0449】実施の形態4によれば、内部のユーザが第
1のproxy プロセスを利用している時間帯にプリフェッ
チプロセスを実行しても、プリフェッチ子プロセスには
低い優先権しか与えられていないので、内部ユーザのネ
ットワーク利用活動を妨げることがないという効果があ
る。プリフェッチプロセスを、内部ユーザの活動時間帯
内に始めても、内部ユーザのネットワーク利用の妨げと
はならない。またプリフェッチプロセスの終了を、内部
ユーザの活動時間帯内までずれ込ませても内部ユーザの
ネットワーク利用の妨げとはならない。開始から終了ま
でより長時間のプリフェッチ時間を利用することが可能
になり、より多くのファイルオブジェクトをプリフェッ
チすることができる。キャッシュデータの量も応じて増
加できるので、結果としてキャッシュヒット率を高める
ことができる。
According to the fourth embodiment, even if the internal user executes the prefetch process during the time period in which the first proxy process is used, the prefetch child process is given a low priority. , There is an effect that it does not interfere with the network usage activities of internal users. Starting the prefetch process during the internal user's activity window does not interfere with the internal user's network usage. In addition, even if the end of the prefetch process is delayed until the internal user's activity time, it does not prevent the internal user from using the network. It is possible to use a longer prefetch time from the start to the end, and it is possible to prefetch more file objects. Since the amount of cache data can be increased accordingly, the cache hit rate can be increased as a result.

【0450】実施の形態5のproxy サーバ装置では、キ
ャッシュファイル中のファイルオブジェクトを消去する
ための期限はn日程度としている。この期限は、キャッ
シュファイルの有効期限よりも長く選択されており、有
効期限が過ぎたキャッシュファイルも直ちには消去され
ない。そして有効期限が過ぎたファイルオブジェクトで
あっても、アクセス要求が生じ該当するサーバ計算機の
元データの変更時刻を照会することにより、サーバ計算
機の元データが変更されていなければ再びこのキャッシ
ュされているファイルオブジェクトが有効となる。そし
てこのファイルオブジェクトのヘッダ情報の変更時刻を
更新するだけで、実際のファイルオブジェクトのデータ
転送をすることなく実質的にファイルオブジェクトのプ
リフェッチを実現できる。そのため再ロードのためのト
ラフィックを削減することができる。
In the proxy server device of the fifth embodiment, the deadline for deleting the file object in the cache file is about n days. This deadline is selected to be longer than the expiration date of the cache file, and the expired cache file is not immediately deleted. Then, even if the file object has expired, an access request is made and the modification time of the original data of the corresponding server computer is inquired. If the original data of the server computer has not been changed, it is cached again. File object is valid. Then, by only updating the modification time of the header information of this file object, it is possible to substantially realize the prefetch of the file object without actually transferring the data of the file object. Therefore, the traffic for reloading can be reduced.

【0451】プリフェッチによるキャッシュのヒット率
向上により、昼間のユーザの活動によるファイルオブジ
ェクト転送量は十分減少しており、上述のプリフェッチ
を行なってもトラフィックがいたずらに増大するおそれ
はない。またキャッシュファイルの内容は、いずれも有
効期限内に維持できるので、その内容の新鮮さを維持す
ることができる。
Since the cache hit rate is improved by prefetching, the file object transfer amount due to the user's activity during the daytime is sufficiently reduced, and even if the above-mentioned prefetching is performed, the traffic will not be unnecessarily increased. Further, since the contents of the cache files can all be maintained within the expiration date, the freshness of the contents can be maintained.

【0452】実施の形態6では、第2のproxy のログフ
ァイル中で変更があったことを示す行のみが抽出され、
第1のproxy のログファイルから抽出されたプリフェッ
チリストの先頭にマージされる。一般に、前回のプリフ
ェッチ時に変更があったファイルオブジェクトは、変更
頻度が高いということができる。したがってこれらを優
先してプリフェッチすることで、限られた時間を有効に
利用して、キャッシュファイルの状態を最新の状態に近
く維持するとが可能になる。
In the sixth embodiment, only the line indicating that there is a change in the log file of the second proxy is extracted,
It is merged at the beginning of the prefetch list extracted from the log file of the first proxy. In general, it can be said that a file object that has been changed at the time of the previous prefetch has a high change frequency. Therefore, by preferentially prefetching these, it becomes possible to effectively use the limited time and maintain the state of the cache file close to the latest state.

【0453】上述した実施の形態のいずれも、既存のpr
oxy プロセスにさらにプリフェッチプロセスを追加する
だけで実現でき、既存のproxy プロセス自体には何らの
変更も必要ではない。そのため容易にキャッシュファイ
ルのヒット率が向上したproxy サーバ装置を提供できる
という利点がある。なお、HTTPプロトコルを含めた
参考文献リストを以下に示す。
In any of the above-mentioned embodiments, the existing pr
It can be achieved by simply adding a prefetch process to the oxy process, and no changes are required to the existing proxy process itself. Therefore, there is an advantage that a proxy server device with an improved cache file hit rate can be easily provided. A list of references including the HTTP protocol is shown below.

【0454】[0454]

【表55】 [Table 55]

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明に係るゲートウェイ装置の一例であるpr
oxy サーバ装置の動作概念図である。
1 is an example of a gateway device according to the present invention, pr
It is an operation conceptual diagram of an oxy server device.

【図2】WWWサーバ内の情報頁をクライアントソフト
ウェアでブラウズしたときの表示画面を示す図である。
FIG. 2 is a diagram showing a display screen when an information page in a WWW server is browsed by client software.

【図3】実施の形態1のゲートウェイ装置であるproxy
サーバ装置で行なわれるプリフェッチプロセスの実現ア
ルゴリズムを示すフローチャートである。
FIG. 3 is a proxy which is a gateway device according to the first embodiment.
It is a flowchart which shows the implementation algorithm of the prefetch process performed by a server device.

【図4】実施の形態2のゲートウェイ装置であるproxy
サーバ装置で行なわれるプリフェッチプロセスの実現ア
ルゴリズムを示すフローチャートである。
FIG. 4 is a proxy which is a gateway device according to the second embodiment.
It is a flowchart which shows the implementation algorithm of the prefetch process performed by a server device.

【図5】実施の形態3のゲートウェイ装置であるproxy
サーバ装置で行なわれるプリフェッチプロセスの実現ア
ルゴリズムを示すフローチャートである。
FIG. 5 is a proxy which is a gateway device according to the third embodiment.
It is a flowchart which shows the implementation algorithm of the prefetch process performed by a server device.

【図6】実施の形態4のゲートウェイ装置であるproxy
サーバ装置で行なわれるプリフェッチプロセスの実現ア
ルゴリズムを示すフローチャートである。
FIG. 6 is a proxy which is a gateway device according to the fourth embodiment.
It is a flowchart which shows the implementation algorithm of the prefetch process performed by a server device.

【図7】本発明の実施の形態6に係るproxy サーバ装置
のブロック図である。
FIG. 7 is a block diagram of a proxy server device according to a sixth embodiment of the present invention.

【図8】実施の形態6のproxy サーバ装置におけるプリ
フェッチプロセスの前半部のフローチャートである。
FIG. 8 is a flowchart of the first half of a prefetch process in the proxy server device according to the sixth embodiment.

【図9】実施の形態6のproxy サーバ装置におけるプリ
フェッチプロセスの後半部のフローチャートである。
FIG. 9 is a flowchart of the latter half of the prefetch process in the proxy server device according to the sixth embodiment.

【図10】実施の形態6のproxy サーバ装置でのキャッ
シュファイル更新子プロセスのフローチャートである。
FIG. 10 is a flowchart of a cache file updater process in the proxy server device according to the sixth embodiment.

【図11】本願発明の実施の形態7のproxy サーバ装置
のブロック図である。
FIG. 11 is a block diagram of a proxy server device according to a seventh embodiment of the present invention.

【図12】従来のゲートウェイ計算機の構成を示す図で
ある。
FIG. 12 is a diagram showing a configuration of a conventional gateway computer.

【図13】proxy サーバ装置の概念図である。FIG. 13 is a conceptual diagram of a proxy server device.

【図14】proxy サーバ装置の回路構成の第1の例を示
す図である。
FIG. 14 is a diagram showing a first example of a circuit configuration of a proxy server device.

【図15】proxy サーバ装置の回路構成の第2の例を示
す図である。
FIG. 15 is a diagram showing a second example of the circuit configuration of the proxy server device.

【図16】proxy サーバ装置の回路構成の第3の例であ
って、本願発明の実施の形態proxy サーバ装置としても
使用されるproxy サーバ装置の回路構成を示す図であ
る。
FIG. 16 is a third example of the circuit configuration of the proxy server device and is a diagram showing the circuit configuration of the proxy server device which is also used as the proxy server device according to the embodiment of the present invention.

【図17】キャッシュヒット率と平均アクセス速度との
関係を示すグラフである。
FIG. 17 is a graph showing the relationship between the cache hit rate and the average access speed.

【図18】キャッシュファイルサイズとキャッシュヒッ
ト率との関係を示すグラフである。
FIG. 18 is a graph showing the relationship between cache file size and cache hit rate.

【図19】キャッシュ有効期限とキャッシュファイルの
大きさとの関係を示すグラフである。
FIG. 19 is a graph showing the relationship between the cache expiration date and the cache file size.

【符号の説明】[Explanation of symbols]

11 サーバ計算機 14 第1proxy プロセス 15 アクセスログ 16 キャッシュファイル 30 アクセスリスト 34 第2のproxy プロセス 36 プリフェッチプロセス 11 server computer 14 First proxy process 15 Access log 16 cache files 30 access list 34 Second proxy process 36 Prefetch Process

フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 12/00 G06F 13/00 Continuation of front page (58) Fields surveyed (Int.Cl. 7 , DB name) G06F 12/00 G06F 13/00

Claims (16)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 クライアント計算機が存在する第1のネ
ットワークと、サーバ計算機が存在する第2のネットワ
ークとの間に介在するように設けられるゲートウェイ装
置であって、 第1のネットワークのクライアント計算機からのファイ
ルオブジェクトに対するアクセス要求に応答して、当該
ファイルオブジェクトにより指定されるサーバ計算機に
対して、当該ファイルオブジェクトに対するアクセス要
求を行なう第1のネットワークファイル中継手段を含
み、 前記第1のネットワークファイル中継手段は、 取得したファイルオブジェクトを、所定の有効期限が経
過するまで一時的に蓄積するとともに、最終変更時刻を
ファイルオブジェクト単位で記録するためのキャッシュ
ファイル手段と、 過去の、一定期間内に行なわれたファイルオブジェクト
の転送記録を蓄積するファイル転送記録手段と、 ファイルオブジェクトに対するアクセス要求に応答し
て、当該ファイルオブジェクトの最終変更時刻を参照
し、有効期限内のファイルオブジェクトが前記キャッシ
ュファイル手段に存在するか否かを判断し、当該判断結
果に基づいて、当該ファイルオブジェクトを前記キャッ
シュファイル手段、または当該ファイルオブジェクトに
より指定されるサーバ計算機から取得してクライアント
計算機に転送するための転送手段とを含み、 前記ゲートウェイ装置はさらに、予め定められたスケジ
ュールに従って、前記転送記録中のファイルオブジェク
トをサーバ計算機からプリフェッチして、前記キャッシ
ュファイル手段に格納するための第2のネットワークフ
ァイル中継手段を含む、ゲートウェイ装置。
1. A gateway device provided so as to intervene between a first network in which a client computer exists and a second network in which a server computer exists, wherein a gateway device from a client computer in the first network is provided. In response to an access request for the file object, the server computer designated by the file object includes a first network file relay means for making an access request for the file object, wherein the first network file relay means includes , A cache file means for temporarily storing the acquired file objects until the expiration date has passed, and for recording the last modification time in file object units, and files that have been used within a certain period in the past. of File transfer recording means for accumulating the transfer record of the object, and referring to the last modification time of the file object in response to the access request to the file object, whether the file object within the expiration date exists in the cache file means And a transfer unit for acquiring the file object from the cache file unit or the server computer designated by the file object and transferring the file object to the client computer based on the determination result. The apparatus further includes a second network file relay means for prefetching the file object in the transfer record from the server computer and storing the file object in the cache file means according to a predetermined schedule. E b devices.
【請求項2】 前記第2のネットワークファイル中継手
段は、前記第2のネットワークを介して同時に複数個の
ファイルオブジェクトをサーバ計算機から同時並列的に
プリフェッチする、請求項1記載のゲートウェイ装置。
2. The gateway device according to claim 1, wherein said second network file relay means simultaneously prefetches a plurality of file objects from a server computer simultaneously in parallel via said second network.
【請求項3】 前記第2のネットワークファイル中継手
段は、同一のサーバ計算機からのプリフェッチの同時発
生を回避するように、ファイルオブジェクトのプリフェ
ッチの順序を決定する、請求項2記載のゲートウェイ装
置。
3. The gateway device according to claim 2, wherein the second network file relay means determines the prefetch order of the file objects so as to avoid simultaneous prefetch from the same server computer.
【請求項4】 前記第2のネットワークファイル中継手
段は、前記転送記録からファイルオブジェクトのリスト
を当該転送記録中の出現頻度に従って抽出し、当該リス
ト中のファイルオブジェクトの順序に従ってファイルオ
ブジェクトのプリフェッチを同時並列的に行なう、請求
項2記載のゲートウェイ装置。
4. The second network file relay means extracts a list of file objects from the transfer record according to the frequency of appearance in the transfer record, and simultaneously prefetches file objects according to the order of the file objects in the list. The gateway device according to claim 2, which is performed in parallel.
【請求項5】 前記第2のネットワークファイル中継手
段は、前記リスト中のファイルオブジェクトの順序を入
替え、当該入替られた順序に従ってファイルオブジェク
トのプリフェッチを同時並列的に行なう、請求項4記載
のゲートウェイ装置。
5. The gateway device according to claim 4, wherein the second network file relay unit swaps the order of the file objects in the list, and prefetches the file objects simultaneously in parallel according to the swapped order. .
【請求項6】 前記第2のネットワークファイル中継手
段は、前記リストを複数個のブロックに区分し、各ブロ
ックごとにファイルオブジェクトの順序を入替え、当該
順序が入替えられたリスト上での順序に従ってファイル
オブジェクトのプリフェッチを同時並列的に行なう、請
求項5記載のゲートウェイ装置。
6. The second network file relay means divides the list into a plurality of blocks, exchanges the order of the file objects for each block, and stores the files according to the order on the exchanged list. The gateway device according to claim 5, wherein prefetching of objects is performed simultaneously in parallel.
【請求項7】 前記第1のネットワークファイル中継手
段は、各々が第1のネットワークのクライアント計算機
からのファイルオブジェクトのアクセス要求を処理する
ための第1の転送プロセスを複数個、同時並列的に起動
させることが可能であり、 前記第2のネットワークファイル中継手段は、各々が1
つの前記ファイルオブジェクトのプリフェッチを行なう
ための第2の転送プロセスを複数個、同時並列的に起動
させることが可能であり、かつ前記第1の転送プロセス
の数を検知して、前記第1の転送プロセスの数と、前記
第2の転送プロセスの数との和が予め定められる上限以
下となるように前記第2の転送プロセスの新たな起動を
制御する、請求項2から6のいずれかに記載のゲートウ
ェイ装置。
7. The first network file relay means simultaneously activates a plurality of first transfer processes, each of which processes an access request for a file object from a client computer of the first network, in parallel. Each of the second network file relaying means has one
A plurality of second transfer processes for prefetching one of the file objects can be simultaneously activated in parallel, and the number of the first transfer processes is detected to detect the first transfer process. 7. The new activation of the second transfer process is controlled so that the sum of the number of processes and the number of the second transfer processes is equal to or less than a predetermined upper limit. Gateway device.
【請求項8】 前記第2のネットワークファイル中継手
段は、予め定められた時間帯でのみファイルオブジェク
トのプリフェッチを行なう、請求項1から7のいずれか
に記載のゲートウェイ装置。
8. The gateway device according to claim 1, wherein the second network file relay means prefetches a file object only in a predetermined time zone.
【請求項9】 前記第2のネットワークファイル中継手
段は、前記第1のネットワークファイル中継手段の前記
キャッシュファイルの有効期限以下の周期で定期的にフ
ァイルオブジェクトのプリフェッチを行なう、請求項1
から8のいずれかに記載のゲートウェイ装置。
9. The first network file relaying means periodically prefetches a file object at a cycle equal to or less than the expiration date of the cache file of the first network file relaying means.
9. The gateway device according to any one of 1 to 8.
【請求項10】 前記第1のネットワークファイル中継
手段の前記キャッシュファイル手段は、前記有効期限以
上の所定の消去時間が経過するまでは、当該キャッシュ
ファイル手段に格納されているファイルオブジェクトを
消去せず、 前記転送手段は、前記有効期限が経過しているが消去は
されていないファイルオブジェクトに対するアクセス要
求に応答して、対応するサーバ計算機にアクセスし、当
該サーバ計算機内の当該ファイルオブジェクトが、前回
の取得後更新されているか否かを判断し、更新されてい
ないときには前記キャッシュファイル手段内のファイル
オブジェクトを新たに取得したファイルオブジェクトと
してクライアント計算機に転送し、更新されているとき
には当該ファイルオブジェクトにより特定されるサーバ
計算機に対して当該ファイルオブジェクトの転送要求を
発して更新後の当該ファイルオブジェクトを取得し、取
得したファイルオブジェクトをクライアント計算機に転
送する、請求項1記載のゲートウェイ装置。
10. The cache file means of the first network file relay means does not delete the file object stored in the cache file means until a predetermined deletion time longer than the expiration date has passed. The transfer means accesses the corresponding server computer in response to an access request for a file object whose expiration date has passed but has not been deleted, and the file object in the server computer is After the acquisition, it is determined whether or not it has been updated, and when it is not updated, the file object in the cache file means is transferred to the client computer as a newly acquired file object, and when it is updated, it is specified by the file object. Server computer The acquires the file object after updating issues a transfer request for file object, and transfers the acquired file object to the client computer, the gateway device according to claim 1, wherein for.
【請求項11】 前記第1のネットワークファイル中継
手段は、各々が第1のネットワークのクライアント計算
機からのファイルオブジェクトのアクセス要求を処理す
るための第1の転送プロセスを複数個、同時並列的に起
動させることが可能であり、 前記第2のネットワークファイル中継手段は、各々が1
つの前記ファイルオブジェクトのプリフェッチを行なう
ための第2の転送プロセスを複数個、同時並列的に起動
させることが可能であり、前記第2の転送プロセスの起
動時において既に稼動中の転送プロセスの数を検知し
て、前記稼動中の転送プロセスの数と、起動すべき第2
の転送プロセスの数との和が、前記稼動中の転送プロセ
スの数と予め定める定数との和以下となるように前記第
2の転送プロセスの新たな起動を制御する、請求項2か
ら6のいずれかに記載のゲートウェイ装置。
11. The first network file relay means simultaneously activates a plurality of first transfer processes for processing access requests for file objects from client computers of the first network, in parallel and simultaneously. Each of the second network file relaying means has one
A plurality of second transfer processes for prefetching one of the file objects can be simultaneously started in parallel, and the number of transfer processes already in operation at the time of starting the second transfer process can be determined. The number of transfer processes that are running and the number of second
7. The new activation of the second transfer process is controlled such that the sum of the number of transfer processes of the second transfer process is less than or equal to the sum of the number of transfer processes in operation and a predetermined constant. The gateway device according to any one of the above.
【請求項12】 前記第2のネットワークファイル中継
手段は、過去の一定期間中に行なったファイルオブジェ
クトの転送記録を、転送時に当該ファイルオブジェクト
の変更が検出されたか否かを示す情報とともに蓄積する
ための第2のファイル転送記録手段をさらに含み、 前記第2のネットワークファイル中継手段は、前記第2
のファイル転送記録手段により記録された前記転送記録
中から、直前のフェッチ時において変更が検出されたフ
ァイルオブジェクトを抽出し、これらのファイルオブジ
ェクトを、前記ファイル転送記録手段の転送記録中のフ
ァイルオブジェクトよりも優先的にサーバ計算機からプ
リフェッチして前記キャッシュファイル手段に格納す
る、請求項1に記載のゲートウェイ装置。
12. The second network file relay means stores a transfer record of a file object made during a certain period in the past together with information indicating whether a change of the file object is detected at the time of transfer. Further comprising a second file transfer recording means, wherein the second network file relaying means comprises:
From the transfer recording recorded by the file transfer recording means, the file objects whose changes are detected at the last fetch are extracted, and these file objects are extracted from the file objects being transferred and recorded by the file transfer recording means. 2. The gateway device according to claim 1, further preferentially prefetching from the server computer and storing in the cache file means.
【請求項13】 前記第2のネットワークファイル中継
手段は、予め指定された文字列パターンを記憶し、前記
第2のファイル転送記録手段により記録された前記転送
記録中から、前記予め定められた文字列パターンと一致
する文字列を有するファイルオブジェクトを排除して抽
出する、請求項10に記載のゲートウェイ装置。
13. The second network file relay means stores a predetermined character string pattern, and selects the predetermined character from the transfer records recorded by the second file transfer recording means. The gateway device according to claim 10, wherein a file object having a character string that matches a column pattern is excluded and extracted.
【請求項14】 前記第2のファイル転送記録手段の蓄
積する転送記録は、取得されたファイルオブジェクトの
ファイルサイズをさらに含み、 前記第2のネットワークファイル中継手段は、転送対象
となるファイルオブジェクトサイズの最大値を特定する
情報を予め記憶し、前記第2のファイル転送記録手段に
より記録された前記転送記録中から、前記最大値より大
きなファイルサイズを有するファイルオブジェクトを排
除して抽出する、請求項10に記載のゲートウェイ装
置。
14. The transfer record accumulated by the second file transfer recording means further includes the file size of the acquired file object, and the second network file relay means stores the file object size of the transfer object. 11. The information for specifying the maximum value is stored in advance, and a file object having a file size larger than the maximum value is excluded from the transfer recording recorded by the second file transfer recording means and extracted. The gateway device according to 1.
【請求項15】 前記第2のファイル転送記録手段の蓄
積する転送記録は、取得が試行されたファイルオブジェ
クトに関するサーバ計算機の状態コードをさらに含み、 前記第2のネットワークファイル中継手段は、サーバ計
算機の特定の状態コードを予め記憶し、前記第2のファ
イル転送記録手段により記録された前記転送記録中か
ら、前記特定の状態コードと一致する状態コードを有す
るファイルオブジェクトを排除して抽出する、請求項1
0に記載のゲートウェイ装置。
15. The transfer record accumulated by the second file transfer recording means further includes a status code of the server computer relating to the file object for which acquisition is attempted, and the second network file relaying means of the server computer. A specific status code is stored in advance, and a file object having a status code that matches the specific status code is excluded and extracted from the transfer recording recorded by the second file transfer recording means. 1
0 the gateway device.
【請求項16】 前記第1のネットワークファイル中継
手段に対するクライアント計算機としての機能を実現す
るための手段をさらに含む、請求項1から15のいずれ
かに記載のゲートウェイ装置。
16. The gateway device according to claim 1, further comprising means for realizing a function of the first network file relay means as a client computer.
JP30774996A 1995-11-20 1996-11-19 Gateway device Expired - Fee Related JP3386964B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30774996A JP3386964B2 (en) 1995-11-20 1996-11-19 Gateway device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP30154095 1995-11-20
JP7-301540 1995-11-20
JP30774996A JP3386964B2 (en) 1995-11-20 1996-11-19 Gateway device

Publications (2)

Publication Number Publication Date
JPH09204347A JPH09204347A (en) 1997-08-05
JP3386964B2 true JP3386964B2 (en) 2003-03-17

Family

ID=26562724

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30774996A Expired - Fee Related JP3386964B2 (en) 1995-11-20 1996-11-19 Gateway device

Country Status (1)

Country Link
JP (1) JP3386964B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106973050A (en) * 2017-03-23 2017-07-21 山东中创软件商用中间件股份有限公司 A kind of method and device of inter-network lock information sharing

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758087A (en) * 1996-06-14 1998-05-26 International Business Machines Corporation Apparatus and method for predicted response generation
JP3481054B2 (en) * 1996-07-04 2003-12-22 シャープ株式会社 Gateway device, client computer and distributed file system connecting them
WO1999008429A1 (en) * 1997-08-06 1999-02-18 Tachyon, Inc. A distributed system and method for prefetching objects
JPH1166099A (en) * 1997-08-15 1999-03-09 Nippon Telegr & Teleph Corp <Ntt> Substitute information supply device with retrieval function and information retrieval system
US6085193A (en) * 1997-09-29 2000-07-04 International Business Machines Corporation Method and system for dynamically prefetching information via a server hierarchy
JPH11205381A (en) * 1998-01-16 1999-07-30 Nec Corp Data transfer relay system
US6085227A (en) * 1998-03-20 2000-07-04 International Business Machines Corporation System and method for operating scientific instruments over wide area networks
EP1122658A4 (en) * 1998-07-21 2005-03-09 Athena Telecom Lab Inc Method of managing change history of web information, management device, and recording medium
JP2000330856A (en) * 1999-05-21 2000-11-30 Nec Corp Information collection device and method therefor
JP3664917B2 (en) 1999-08-06 2005-06-29 シャープ株式会社 Network information display method, storage medium storing the method as a program, and computer executing the program
JP3570308B2 (en) * 1999-09-10 2004-09-29 日本電気株式会社 Communications system
JP2001273228A (en) * 2001-05-02 2001-10-05 E Japan Kk Device and method for outputting document
JP2003186785A (en) * 2001-12-14 2003-07-04 Sanyo Electric Co Ltd Local server, information delivery system and user terminal devices
JP3925542B2 (en) * 2005-04-28 2007-06-06 日本電気株式会社 Network system, cache server, cache server control method, and recording medium recording program
JP3931910B2 (en) * 2005-04-28 2007-06-20 日本電気株式会社 Network system, cache server, cache server control method, and recording medium
US10095663B2 (en) * 2012-11-14 2018-10-09 Amazon Technologies, Inc. Delivery and display of page previews during page retrieval events
JP6326785B2 (en) * 2013-11-27 2018-05-23 株式会社リコー Information processing system, terminal device, program, and method
US11169666B1 (en) 2014-05-22 2021-11-09 Amazon Technologies, Inc. Distributed content browsing system using transferred hardware-independent graphics commands
US9454515B1 (en) 2014-06-17 2016-09-27 Amazon Technologies, Inc. Content browser system using graphics commands and native text intelligence

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2958388B2 (en) * 1990-03-14 1999-10-06 富士ゼロックス株式会社 Network relay device, relay method, and server
JP2693850B2 (en) * 1990-04-27 1997-12-24 日本電気通信システム株式会社 Database access method
JPH04313126A (en) * 1991-04-11 1992-11-05 Nec Corp File input/output system for decentralized file system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106973050A (en) * 2017-03-23 2017-07-21 山东中创软件商用中间件股份有限公司 A kind of method and device of inter-network lock information sharing

Also Published As

Publication number Publication date
JPH09204347A (en) 1997-08-05

Similar Documents

Publication Publication Date Title
JP3386964B2 (en) Gateway device
US8103746B2 (en) Method and system for distributing requests for content
EP1546924B1 (en) Method, system, and program for maintaining data in distributed caches
US7103794B2 (en) Network object cache engine
US6249804B1 (en) Computer network read-ahead caching method
US6219676B1 (en) Methodology for cache coherency of web server data
US8972998B2 (en) Processing annotation requests using multithreaded constituent task and independent input/output tasks
JP4318854B2 (en) HTTP session control
CN1234086C (en) System and method for high speed buffer storage file information
US20040111443A1 (en) Apparatus and methods for caching objects using main memory and persistent memory
CN104468807B (en) Carry out processing method, high in the clouds device, local device and the system of web cache
CN101263494B (en) Method and device for monitoring affair related with object of storage network
US20010052003A1 (en) System and method for web page acquisition
JP3481054B2 (en) Gateway device, client computer and distributed file system connecting them
US7661036B1 (en) Cache for collecting events on a monitored computer
JP3833409B2 (en) Communication proxy device
JP3117003B2 (en) Wide-area distributed file system
US20020112125A1 (en) Command caching to improve network server performance
JPH1173361A (en) Distributed file system, broadcasting server device for the system and client device
US20020078162A1 (en) Program generation system, network system and agent system
JP2002511170A (en) Network object cache engine
JP2004513405A (en) System, method and program for ordered and pre-caching linked files in a client / server network
JPH11175539A (en) Method for obtaining substitute information and system therefor and storage medium for storing substitute information obtaining program
JPH10214217A (en) Network cache device and method therefor
JP2000076168A (en) Distribution method of cache updating notice and system therefor

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20021217

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

Free format text: PAYMENT UNTIL: 20080110

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090110

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees