JPH1115718A - Distributed file system and gateway computer used in the distributed file system - Google Patents

Distributed file system and gateway computer used in the distributed file system

Info

Publication number
JPH1115718A
JPH1115718A JP9162363A JP16236397A JPH1115718A JP H1115718 A JPH1115718 A JP H1115718A JP 9162363 A JP9162363 A JP 9162363A JP 16236397 A JP16236397 A JP 16236397A JP H1115718 A JPH1115718 A JP H1115718A
Authority
JP
Japan
Prior art keywords
file
file object
access request
computer
client
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.)
Withdrawn
Application number
JP9162363A
Other languages
Japanese (ja)
Inventor
Katsuyoshi Doi
克良 土居
Hiroyo Wakabayashi
広世 若林
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 JP9162363A priority Critical patent/JPH1115718A/en
Publication of JPH1115718A publication Critical patent/JPH1115718A/en
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To provide a distributed file system which has a high cache hit ratio and also a fast access speed. SOLUTION: A distributed file system 2 includes a server computer 4, a gateway computer 6, client computers 8 and 10, an external network 36 which connects the computers 4 and 6 and an internal network 38 which connects the computer 6 and the computers 8 and 10. A cache distribution controlling part 18 of the computer 6 supervises an access log file 14 and sends a file object acquisition request to a client proxy server process 30 of the computer 10 except the computer 8 that performs file object acquisition. The process 30 sends an acquisition request to a master proxy server process 12 and receives a file object.

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 server computer and a plurality of client computers distributed on a network are interconnected via a gateway computer, and a gateway computer used in the distributed file system. In particular, the present invention relates to a distributed file system having a high cache hit rate and a high access speed, and a gateway computer used in the distributed file system.

【0002】[0002]

【従来の技術】従来の分散ファイルシステムにおいて
は、複数のクライアント計算機からのサーバ計算機上の
ファイルオブジェクトに対する読出要求は、一旦途中の
ゲートウェイ計算機で中継されている。なお、ここでフ
ァイルオブジェクトとは、ファイルシステムの利用する
ネットワークプロトコルとネットワークアドレス(サー
バ計算機の名称)とファイル名称とファイルの実体との
組をいう。このうち、ネットワークプロトコルとネット
ワークアドレスとファイル名称との組をファイルオブジ
ェクト名称という。
2. Description of the Related Art In a conventional distributed file system, a read request for a file object on a server computer from a plurality of client computers is relayed once by a gateway computer on the way. Here, the file object refers to a set of a network protocol used by the file system, a network address (name of the server computer), a file name, and a file entity. Of these, a set of a network protocol, a network address, and a file name is called a file object name.

【0003】従来の分散ファイルシステムとして、特開
平4−313126号公報に開示される分散ファイルシ
ステムのファイル入出力方式がある。この方式では、ゲ
ートウェイ計算機が、サーバ計算機から読出したファイ
ルオブジェクトは、クライアント計算機に中継されると
ともに、ゲートウェイ計算機内部のキャッシュファイル
(ディスク、半導体メモリなど)に蓄積される。同一の
ファイルオブジェクトのアクセス要求がクライアント計
算機からあった場合は、ゲートウェイ計算機のキャッシ
ュファイルに記憶されているファイルオブジェクトとサ
ーバ計算機に記憶されているファイルオブジェクトとの
最終変更時刻を比較し、キャッシュファイルに記憶され
ているファイルオブジェクトの内容が古く、サーバ計算
機に記憶されているキャッシュファイルの方が新しけれ
ば、サーバ計算機からファイルオブジェクトを取出す。
そのファイルオブジェクトをクライアント計算機に中継
するとともに、ゲートウェイ計算機のキャッシュファイ
ルを更新する。従来はこのような制御方式が行なわれて
いる。ファイルオブジェクトがキャッシュファイルに記
憶されていない場合は、サーバ計算機からファイルオブ
ジェクトを中継転送するとともに、キャッシュファイル
にファイルオブジェクトの書込を行ない、次回に同一フ
ァイルオブジェクトのアクセス要求があった場合にキャ
ッシュファイルから取出すことで中継アクセスの高速化
を図っている。
As a conventional distributed file system, there is a file input / output method of a distributed file system disclosed in Japanese Patent Application Laid-Open No. 4-313126. In this method, the file object read from the server computer by the gateway computer is relayed to the client computer and stored in a cache file (disk, semiconductor memory, etc.) inside the gateway computer. When an access request for the same file object is received from the client computer, the last modification time of the file object stored in the cache file of the gateway computer is compared with the last modification time of the file object stored in the server computer. If the content of the stored file object is old and the cache file stored in the server computer is newer, the file object is extracted from the server computer.
The file object is relayed to the client computer, and the cache file of the gateway computer is updated. Conventionally, such a control method is performed. If the file object is not stored in the cache file, the file object is relay-transferred from the server computer, and the file object is written in the cache file. The speed of the relay access is improved by taking out from the relay.

【0004】インターネットにおけるproxy サーバ装置
は、このようなキャッシュ機構を有したゲートウェイ計
算機である。インターネットはその基本として、TCP/IP
(transmission control protocol/internet protocol
)を利用したグローバルなネットワークである。TCP/I
Pを利用したネットワークである地域分散型マルチメデ
ィア情報提供システムは、World Wide Web(WWW )と呼
ばれる。WWW はネットワーク上に分散したファイルオブ
ジェクトを扱うことができる。これらのファイルオブジ
ェクトは、単なるテキストだけでなく、画像、音声、ビ
デオ画像などさまざまなデータがあり、情報提供側にと
っても情報利用者(ユーザ)にとっても魅力的であるた
め、ネットワーク上をWWW のトラフィックが爆発的に流
れるようになってきた。WWW システムではクライアント
計算機のユーザは、グラフィカルユーザインタフェース
を持ったブラウザソフトをクライアント計算機に搭載し
て使うだけでネットワーク上に分散したサーバ計算機の
保持するファイルオブジェクトで構成された情報を次々
とアクセスできる。その簡単さのために普及してきてお
り、企業内部の情報システムのインフラの基本としても
普及してきている。たとえば社内の規格、規則、通達事
項などもサーバ計算機にWWW のファイルオブジェクトと
して掲載され、従業員はそれを閲覧ソフトウェアを使っ
てアクセスすることが可能である。
A proxy server device on the Internet is a gateway computer having such a cache mechanism. The Internet is based on TCP / IP
(Transmission control protocol / internet protocol
) Is a global network. TCP / I
A regional distributed multimedia information providing system, which is a network using P, is called the World Wide Web (WWW). WWW can handle file objects distributed on the network. These file objects are not only text, but also various data such as images, voices, and video images. They are attractive for both information providers and information users (users), so that WWW traffic on the network Is exploding. In a WWW system, a user of a client computer can access information constituted by file objects held by server computers distributed over a network one after another simply by using browser software having a graphical user interface mounted on the client computer. It has become popular because of its simplicity, and it has also become popular as the basis for information system infrastructure inside a company. For example, in-house standards, rules, and notices are also posted as WWW file objects on server computers, and employees can access them using viewing software.

【0005】このような、WWW システムでは、TCP/IPプ
ロトコルの上に構築されたHypertext Transfer Protoco
l (HTTP)と呼ばれるプロトコルを用いたファイルオブ
ジェクトが転送される。HTTPを用いたファイルオブジェ
クトの転送の方法として、特開平4−313126号公
報に開示されるゲートウェイ計算機のようにファイルオ
ブジェクトを中継転送することが広く行なわれている。
中継転送されるファイルオブジェクトはゲートウェイ装
置にてキャッシュされる。このようなネットワーク上の
ファイルオブジェクトのアクセスを高速化し、インター
ネットのトラフィックを低減させるゲートウェイ計算機
は特に「proxy サーバ装置」と呼ばれている。proxy サ
ーバ装置のproxy とは代理という意味であるが、その名
のとおりクライアント計算機がネットワーク上のWWW サ
ーバ計算機のファイルオブジェクトにアクセスする場合
に、そのアクセス要求を代理して受付け、ファイルオブ
ジェクトの転送を中継するものである。
[0005] In such a WWW system, the Hypertext Transfer Protocol built on the TCP / IP protocol is used.
l File objects are transferred using a protocol called (HTTP). As a method of transferring a file object using HTTP, relay transfer of a file object is widely performed like a gateway computer disclosed in Japanese Patent Application Laid-Open No. 4-313126.
The relayed file object is cached in the gateway device. Such a gateway computer that speeds up access to file objects on a network and reduces Internet traffic is particularly called a “proxy server device”. proxy The proxy of the server means proxy, but as the name implies, when a client computer accesses a file object of a WWW server computer on a network, it accepts the access request on behalf of the server and transfers the file object. It relays.

【0006】図15を参照して、WWW システム110に
おけるproxy サーバ装置112について説明する。WWW
システム110は、ファイルオブジェクトを記憶するサ
ーバ計算機4と、ファイルオブジェクトを中継転送する
ためのproxy サーバ装置(ゲートウェイ計算機)112
と、クライアント計算機8と、クライアント計算機8と
proxy サーバ装置112とを相互に接続するための内部
ネットワーク38と、proxy サーバ装置112とサーバ
計算機4とを相互に接続するための外部ネットワーク3
6とを含む。クライアント計算機8は、ファイルオブジ
ェクトの読出要求の送信、proxy サーバ装置112より
ファイルオブジェクトを含む種々のデータの受信、およ
び受信したデータのユーザへの提示を行なう処理を実行
するためのブラウザソフトウェア24を含む。proxy サ
ーバ装置112は、ファイルオブジェクトの転送処理を
実行するためのマスタproxy サーバプロセス12と、サ
ーバ計算機4へのアクセスログを記憶するためのアクセ
スログファイル14と、ファイルオブジェクトを一時的
に記憶するためのキャッシュファイル16とを含む。
Referring to FIG. 15, the proxy server device 112 in the WWW system 110 will be described. WWW
The system 110 includes a server computer 4 for storing file objects, and a proxy server device (gateway computer) 112 for relaying and transferring file objects.
And the client computer 8 and the client computer 8
An internal network 38 for connecting the proxy server device 112 to each other, and an external network 3 for connecting the proxy server device 112 and the server computer 4 to each other.
6 is included. The client computer 8 includes browser software 24 for executing a process of transmitting a read request for a file object, receiving various data including a file object from the proxy server device 112, and presenting the received data to a user. . The proxy server device 112 is a master proxy server process 12 for executing a file object transfer process, an access log file 14 for storing an access log to the server computer 4, and for temporarily storing a file object. Cache file 16.

【0007】proxy サーバ装置112を実現する方法と
して、W3C httpd やDeleGateなどのproxy サーバプロセ
ス12をネットワーク接続されたUNIX OS (X/Openの商
標)の動くコンピュータでプロセスとして走らせること
が一般に行なわれている。なお、UNIX OS は、マルチプ
ロセスでマルチユーザを実現するOS(Operating Syste
m)である。
[0007] As a method of realizing the proxy server device 112, a proxy server process 12 such as W3C httpd or DeleGate is generally run as a process on a computer running a UNIX OS (trademark of X / Open) connected to a network. ing. The UNIX OS is an operating system (OS) that realizes multi-user by multi-process.
m).

【0008】図2を参照して、proxy サーバ装置112
は、UNIX OS を実行するためのCPU42と、メモリ44
と、I/O 部46と、ファイル装置50と、ネットワーク
I/O部48とを含む。ファイル装置50は、前述したア
クセスログファイル14と、キャッシュファイル16
と、各種ワークファイルとを含む。
Referring to FIG. 2, proxy server device 112
Is a CPU 42 for executing a UNIX OS and a memory 44
, I / O unit 46, file device 50, network
And an I / O unit 48. The file device 50 stores the access log file 14 and the cache file 16 described above.
And various work files.

【0009】まず内部ネットワークのクライアント計算
機8が、サーバ計算機4内のファイルオブジェクトを取
得するために、proxy サーバ装置112に対してファイ
ルオブジェクトの読出要求(アクセス要求)を出す。こ
れをproxy サーバ装置112内で動作しているソフトウ
ェアであるマスタproxy サーバプロセス12が受取る。
マスタproxy サーバプロセス12は、キャッシュファイ
ル16をアクセスし、読出要求されたファイルオブジェ
クトの有無をチェックする。ファイルオブジェクトがキ
ャッシュされていれば、マスタproxy サーバプロセス1
2に固有のキャッシュファイル有効期限と、キャッシュ
されたオブジェクトファイルの最終変更時刻を比較し、
ファイルオブジェクトが有効であればキャッシュファイ
ル16から読出し、内部ネットワーク38内のクライア
ント計算機8に送信する。
First, the client computer 8 of the internal network issues a file object read request (access request) to the proxy server device 112 in order to obtain the file object in the server computer 4. This is received by the master proxy server process 12, which is software running in the proxy server device 112.
The master proxy server process 12 accesses the cache file 16 and checks whether there is a file object requested to be read. If the file object is cached, master proxy server process 1
2. Compare the expiration date specific to the cache file with the last modification time of the cached object file
If the file object is valid, it is read from the cache file 16 and transmitted to the client computer 8 in the internal network 38.

【0010】また、キャッシュファイル16にファイル
オブジェクトが存在しないか、または存在しても有効期
限が過ぎている場合には、外部ネットワーク36内のサ
ーバ計算機4に対してファイルオブジェクトの読出要求
を送信する。
If the file object does not exist in the cache file 16 or the expiration date has passed even if it exists, a read request for the file object is transmitted to the server computer 4 in the external network 36. .

【0011】ファイルオブジェクトの読出要求を受信し
たサーバ計算機4は、ファイルオブジェクトを自身のフ
ァイルより読出し、マスタproxy サーバプロセス12に
送信する。ファイルオブジェクトを受信したproxy サー
バ装置112内のマスタproxy サーバプロセス12は、
クライアント計算機名称と、アクセス日時と、ファイル
オブジェクト名称(すなわち、ネットワークプロトコル
と、サーバ計算機のネットワークアドレスと、ファイル
名称との組)とをアクセスログとしてアクセスログファ
イル14に書込む。
The server computer 4 having received the file object read request reads the file object from its own file and sends it to the master proxy server process 12. The master proxy server process 12 in the proxy server device 112 that has received the file object,
The client computer name, the access date and time, and the file object name (that is, a set of the network protocol, the network address of the server computer, and the file name) are written in the access log file 14 as an access log.

【0012】また、同時に内部ネットワーク38のクラ
イアント計算機8にファイルオブジェクトを含むデータ
を転送し、かつキャッシュファイル16にファイルオブ
ジェクトを書込む。このとき、転送のHTTPヘッダ情報
と、ファイルオブジェクトの書込日付と、アクセス日時
とがキャッシュファイル16に記録される。
At the same time, the data including the file object is transferred to the client computer 8 of the internal network 38, and the file object is written in the cache file 16. At this time, the HTTP header information of the transfer, the writing date of the file object, and the access date and time are recorded in the cache file 16.

【0013】proxy サーバ装置112の性能を示す指針
の1つとしてキャッシュヒット率がある。これは、アク
セスするファイルオブジェクトがキャッシュファイル1
6内に存在する割合を示す。キャッシュヒット率をH と
する。サーバ計算機4に存在するファイルオブジェクト
をクライアント計算機8に転送する際の平均の転送時間
をTxとし、キャッシュファイル16に存在するファイル
オブジェクトをクライアント計算機8に転送する際の平
均の転送時間をTiとすると、ファイルオブジェクトをク
ライアント計算機8に転送する際の平均の転送時間Tm
は、 Tm=(1−H )×Tx+H ×Ti (1) となる。ここで、通常内部ネットワーク38内での転送
速度は十分高速である。このため、Tiは0とみなせるの
で、 Tm=(1−H )×Tx (2) と近似できる。
One of the guidelines indicating the performance of the proxy server device 112 is a cache hit ratio. This is because the file object to be accessed is cache file 1
6 shows the ratio present in 6. Let the cache hit rate be H. Assuming that an average transfer time when transferring a file object existing in the server computer 4 to the client computer 8 is Tx, and an average transfer time when transferring the file object existing in the cache file 16 to the client computer 8 is Ti. , Average transfer time Tm for transferring file objects to client computer 8
Is as follows: Tm = (1−H) × Tx + H × Ti (1) Here, the transfer speed in the internal network 38 is usually sufficiently high. Therefore, since Ti can be regarded as 0, it can be approximated as Tm = (1−H) × Tx (2).

【0014】一方、キャッシュファイル16を持たない
proxy サーバ装置を考えると、クライアント計算機8か
ら読出要求のあったファイルオブジェクトは、すべてサ
ーバ計算機4より転送されるため、ファイルオブジェク
トをクライアント計算機8に転送する際の平均転送時間
Tm2 は、 Tm2 =Tx (3) となる。
On the other hand, there is no cache file 16
Considering a proxy server device, since all file objects requested to be read from the client computer 8 are transferred from the server computer 4, the average transfer time when transferring the file objects to the client computer 8 is considered.
Tm2 becomes Tm2 = Tx (3).

【0015】キャッシュファイル16を持つproxy サー
バ装置112においては、キャッシュファイル16を持
たないproxy サーバの平均転送時間Tm2 を1とすると、
(1-H )に時間が短縮されている。たとえばヒット率が
50%(H =0.5)であれば、100%−50%=5
0%に短縮される。また、ヒット率が30%であれば1
00%−30%=70%となり、30%待ち時間が短縮
されることになる。
In the proxy server device 112 having the cache file 16, if the average transfer time Tm2 of the proxy server having no cache file 16 is 1,
The time has been reduced to (1-H). For example, if the hit rate is 50% (H = 0.5), 100% −50% = 5
It is reduced to 0%. If the hit rate is 30%, 1
00% -30% = 70%, and the waiting time is reduced by 30%.

【0016】キャッシュヒット率を向上させるには、で
きるだけ大きな容量のファイル装置50に多数のファイ
ルオブジェクトをキャッシュしておくことが必要であ
る。これにより、再度同一ファイルオブジェクトが利用
される確率が高まる。
In order to improve the cache hit rate, it is necessary to cache a large number of file objects in the file device 50 having a capacity as large as possible. This increases the probability that the same file object will be used again.

【0017】我々の経験によれば、キャッシュファイル
16の容量が0MB(Mega Bytes)ではキャッシュヒット
率は0%であるが、100MB程度で30%、300MBで
40%、1GB程度で50%程度のキャッシュヒット率が
得られることが知られている。
According to our experience, the cache hit rate is 0% when the capacity of the cache file 16 is 0 MB (Mega Bytes), but is about 30% at about 100 MB, 40% at 300 MB, and about 50% at about 1 GB. It is known that a cache hit rate can be obtained.

【0018】これはあるユーザがアクセスするファイル
オブジェクトは既に他のユーザがアクセスしておりゲー
トウェイ計算機にキャッシュされている確率が高いから
である。
This is because there is a high probability that a file object accessed by a certain user has already been accessed by another user and is cached in the gateway computer.

【0019】これらのproxy サーバ装置112は、多段
にネットワーク接続することも可能である。またキャッ
シュファイル16付きproxy サーバ装置112はプロセ
スとしてクライアント計算機8内部にて動作させること
も行なわれている。たとえばクライアント計算機8で利
用されるファイルオブジェクト閲覧用のブラウザソフト
ウェア24であるNetscape Navigator(Netscape Commu
nications 社の商標)では、ブラウザキャッシュを保有
している。その最大蓄積容量として5MB程度が標準的に
設定されている。これは文章にして100頁程度保存可
能な容量である。また、ユーザがアクセスしたブラウザ
キャッシュに記憶されているデータのみが再利用の対象
となる。
These proxy server devices 112 can be connected to a network in multiple stages. The proxy server device 112 with the cache file 16 is also operated as a process inside the client computer 8. For example, Netscape Navigator (Netscape Commutor) which is browser software 24 for browsing file objects used in the client computer 8
nications trademark) has a browser cache. About 5 MB is standardly set as the maximum storage capacity. This is a capacity capable of storing about 100 pages of sentences. Also, only data stored in the browser cache accessed by the user is to be reused.

【0020】ここでWWW システムの用語について説明を
行なう。WWW システムではネットワーク上に分散したフ
ァイルオブジェクト名称はUniform Resource Locator
(URL)と呼ばれる形式で表現され、特定される。
Here, terms of the WWW system will be described. In a WWW system, file object names distributed on a network are called Uniform Resource Locator.
(URL) is specified and specified.

【0021】URL の例を示す。 http://www.xxx.co.jp/test/index.html httpは使用するプロトコルを示す。www.xxx.co.jp はネ
ットワーク上のサーバ計算機(HTTPサーバ計算機)4の
アドレスを示すものであり、ネットワーク上で同一のも
のはないように選ばれている。/test/index.htmlはサー
バ計算機4のファイル名称を示す。
An example of a URL is shown below. http://www.xxx.co.jp/test/index.html http indicates the protocol to be used. www.xxx.co.jp indicates the address of the server computer (HTTP server computer) 4 on the network, and is selected so that there is no identical one on the network. /test/index.html indicates the file name of the server computer 4.

【0022】マスタproxy サーバプロセス12はファイ
ルオブジェクトの中継記録としてコモンログフォーマッ
トと呼ばれる形式に従ったアクセスログ(ファイルオブ
ジェクト転送記録)を生成する。これはファイルオブジ
ェクトのアクセス要求を送信したのクライアント計算機
の名称、時刻、HTTPメソッド(ファイル取得要求)、サ
ーバ計算機4の状態コード、ファイルオブジェクトのデ
ータサイズからなる。アクセスログはアクセスログファ
イル14に記憶される。アクセスログファイルの例を以
下に示す。 クライアント計算機名称 - -[時刻]“GET http://nar
agw.sharp.co.jp/oldindex.html HTTP/1.0” 200 1717 クライアント計算機名称 - -[時刻]“GET http://nar
agw.sharp.co.jp/sharpcolor.gif HTTP/1.0 ” 200 173
0 クライアント計算機名称 - -[時刻]“GET http://nar
agw.sharp.co.jp/isg.mono.gif HTTP/1.0 ” 200 3331 クライアント計算機名称 - -[時刻]“GET http://nar
agw.sharp.co.jp/Shoin.gif HTTP/1.0” 200 17936 クライアント計算機名称 - -[時刻]“GET http://nar
agw.sharp.co.jp/Zaurus.gif HTTP/1.0 ” 200 16859 クライアント計算機名称 - -[時刻]“GET http://nar
agw.sharp.co.jp/Prostation.gif HTTP/1.0 ” 200 163
45 クライアント計算機名称 - -[時刻]“GET http://nar
agw.sharp.co.jp/isg.gif HTTP/1.0” 200 20782 クライアント計算機名称 - -[時刻]“GET http://nar
agw.sharp.co.jp/S2.gifHTTP/1.0 ” 200 11635 サーバ計算機4の状態コードとは、サーバ計算機4がク
ライアント計算機8からの要求に対して発する3桁の数
字で表わされる応答である。たとえば、状態コードが2
00の場合は、要求が正常に受付けられた旨を示す。状
態コードの最初の数字は、カテゴリを示しており、1、
2、3、4、5のいずれかの数字が使用される。200
番台の状態コードはクライアント計算機8の要求を問題
なく理解したことを表わす。300番台の状態コードは
サーバ計算機4からファイルオブジェクトを再転送する
必要があることを表わす。400番台の状態コードは、
存在しないURL をクライアント計算機8がアクセスした
ことを表わす。500番台の状態コードはサーバ計算機
4のエラーを表わす。また、100番台の状態コードは
将来のために予約されており、現在は使用されていな
い。
The master proxy server process 12 generates an access log (file object transfer record) according to a format called a common log format as a relay record of the file object. It includes the name of the client computer that sent the file object access request, the time, the HTTP method (file acquisition request), the status code of the server computer 4, and the data size of the file object. The access log is stored in the access log file 14. An example of an access log file is shown below. Client computer name--[Time] "GET http: // nar
agw.sharp.co.jp/oldindex.html HTTP / 1.0 ”200 1717 Client computer name--[Time]“ GET http: // nar
agw.sharp.co.jp/sharpcolor.gif HTTP / 1.0 ”200 173
0 Client computer name--[Time] “GET http: // nar
agw.sharp.co.jp/isg.mono.gif HTTP / 1.0 ”200 3331 Client computer name--[Time]“ GET http: // nar
agw.sharp.co.jp/Shoin.gif HTTP / 1.0 ”200 17936 Client computer name--[Time]“ GET http: // nar
agw.sharp.co.jp/Zaurus.gif HTTP / 1.0 ”200 16859 Client computer name--[Time]“ GET http: // nar
agw.sharp.co.jp/Prostation.gif HTTP / 1.0 ”200 163
45 Client computer name--[Time] “GET http: // nar
agw.sharp.co.jp/isg.gif HTTP / 1.0 ”200 20782 Client computer name--[Time]“ GET http: // nar
agw.sharp.co.jp/S2.gifHTTP/1.0 "200 11635 The status code of the server computer 4 is a response represented by a three-digit number issued by the server computer 4 to a request from the client computer 8. For example, if the status code is 2
00 indicates that the request has been successfully accepted. The first digit of the status code indicates the category, 1,
Any number of 2, 3, 4, 5 is used. 200
The status code in the series indicates that the request of the client computer 8 has been understood without any problem. A status code in the 300s indicates that the file object needs to be retransferred from the server computer 4. The 400s status code is
This indicates that the client computer 8 has accessed a non-existent URL. Status codes in the 500s indicate errors of the server computer 4. Also, status codes in the hundreds are reserved for future use and are not currently used.

【0023】ファイルオブジェクトのデータサイズとは
その名のとおりファイルオブジェクトのバイト数を示
す。
The data size of the file object indicates the number of bytes of the file object as the name implies.

【0024】このように、従来の分散ファイルシステム
においては、ファイルオブジェクトをproxy サーバ装置
112内のキャッシュファイル16にキャッシュするこ
とにより、キャッシュヒット率の向上を図っている。
As described above, in the conventional distributed file system, the cache object 16 is cached in the cache file 16 in the proxy server device 112 to improve the cache hit rate.

【0025】[0025]

【発明が解決しようとする課題】しかし、ビジネスアワ
ー(特に、休憩時間)においては、クライアント計算機
8からのアクセスがproxy サーバ装置112に集中する
傾向が顕著である。この場合、内部ネットワーク38内
での通信が混雑し、十分高速とは言えなくなる。このた
め、式(1)の第2項目の値が増大し、式(2)の近似
が成り立たなくなる。一方、proxy サーバ装置112に
対する負荷も高まり、ファイルオブジェクトをキャッシ
ュファイル16から読出す際の応答速度が低下する。し
たがって、できるだけクライアント計算機8にファイル
オブジェクトを蓄積しておき、内部ネットワークの負荷
を減らすことが必要となる。
However, during business hours (especially during breaks), access from the client computer 8 tends to concentrate on the proxy server device 112. In this case, the communication within the internal network 38 becomes congested, and the speed cannot be said to be sufficiently high. Therefore, the value of the second item of Expression (1) increases, and the approximation of Expression (2) does not hold. On the other hand, the load on the proxy server device 112 also increases, and the response speed when reading the file object from the cache file 16 decreases. Therefore, it is necessary to accumulate file objects in the client computer 8 as much as possible to reduce the load on the internal network.

【0026】一方、クライアント計算機8のブラウザキ
ャッシュにキャッシュされたファイルオブジェクトは、
そのクライアント計算機8のユーザがアクセスしたデー
タだけである。このため、proxy サーバ装置112のよ
うに多数のクライアント計算機8によって利用されるも
のと比べて圧倒的にキャッシュ蓄積量が少ない。また、
他のユーザがアクセスしたデータが蓄積されていないの
でヒット率を高くすることができない。
On the other hand, the file object cached in the browser cache of the client computer 8 is
Only the data accessed by the user of the client computer 8. Therefore, the cache storage amount is overwhelmingly smaller than that used by a large number of client computers 8 such as the proxy server device 112. Also,
The hit rate cannot be increased because data accessed by other users is not stored.

【0027】本発明は、これらのような問題点を解決す
るためになされたもので、請求項1〜2、4に記載の発
明の目的は、キャッシュヒット率の高く、かつアクセス
速度が速い分散ファイルシステムを提供することであ
る。
The present invention has been made to solve these problems, and an object of the present invention is to provide a distributed cache having a high cache hit rate and a high access speed. It is to provide a file system.

【0028】請求項3に記載の発明の目的は、請求項1
〜2のいずれかに記載の発明の目的に加えて、あるクラ
イアント計算機にキャッシュされたファイルオブジェク
トを別のクライアント計算機で使用可能な分散ファイル
システムを提供することである。
The object of the invention described in claim 3 is that of claim 1
Another object of the present invention is to provide a distributed file system in which a file object cached in one client computer can be used by another client computer.

【0029】請求項5に記載の発明の目的は、請求項2
に記載の発明の目的に加えて、クライアント計算機の欲
しないファイルオブジェクトの配送を抑制することがで
きる分散ファイルシステムを提供することである。
The object of the invention described in claim 5 is that of claim 2
Another object of the present invention is to provide a distributed file system capable of suppressing the delivery of a file object that a client computer does not want.

【0030】請求項6〜9に記載の発明の目的は、請求
項2に記載の発明の目的に加えて、効率良くファイルオ
ブジェクトの送信を行なうことのできる分散ファイルシ
ステムを提供することである。
An object of the invention described in claims 6 to 9 is to provide a distributed file system capable of efficiently transmitting a file object in addition to the object of the invention described in claim 2.

【0031】請求項10に記載の発明の目的は、請求項
2に記載の発明の目的に加えて、動的に生成されたファ
イルオブジェクトをゲートウェイ計算機にキャッシュす
ることが可能な分散ファイルシステムを提供することで
ある。
An object of the invention described in claim 10 is, in addition to the object of the invention described in claim 2, to provide a distributed file system capable of caching a dynamically generated file object in a gateway computer. It is to be.

【0032】請求項11〜13に記載の発明の目的は、
キャッシュヒット率の高く、かつアクセス速度の速い分
散ファイルシステムで用いられるゲートウェイ計算機を
提供することである。
The object of the invention described in claims 11 to 13 is
An object of the present invention is to provide a gateway computer used in a distributed file system having a high cache hit rate and a high access speed.

【0033】請求項14に記載の発明の目的は、請求項
12に記載の発明の目的に加えて、クライアント計算機
の欲しないファイルオブジェクトの配送を抑制すること
ができる分散ファイルシステムで用いられるゲートウェ
イ計算機を提供することである。
The object of the invention described in claim 14 is, in addition to the object of the invention described in claim 12, a gateway computer used in a distributed file system capable of suppressing the delivery of a file object that a client computer does not want. It is to provide.

【0034】請求項15〜18に記載の発明の目的は、
請求項12に記載の発明の目的に加えて、効率良くファ
イルオブジェクトの送信を行なうことのできる分散ファ
イルシステムで用いられるゲートウェイ計算機を提供す
ることである。
The objects of the invention described in claims 15 to 18 are as follows:
Another object of the present invention is to provide a gateway computer used in a distributed file system capable of efficiently transmitting a file object.

【0035】請求項19に記載の発明の目的は、請求項
12に記載の発明の目的に加えて、動的に生成されたフ
ァイルオブジェクトをキャッシュすることが可能な分散
ファイルシステムで用いられるゲートウェイ計算機を提
供することである。
The object of the invention described in claim 19 is, in addition to the object of the invention described in claim 12, a gateway computer used in a distributed file system capable of caching dynamically generated file objects. It is to provide.

【0036】[0036]

【課題を解決するための手段】請求項1に記載の発明に
係る分散ファイルシステムは、アクセス要求を受け、上
記アクセス要求に応じたファイルオブジェクトを送信す
るためのサーバ計算機と、複数のクライアント計算機
と、ゲートウェイ計算機と、上記サーバ計算機と上記複
数のクライアント計算機とを上記ゲートウェイ計算機を
介して相互に接続するための通信回線とを含み、上記複
数のクライアント計算機の各々は、上記ファイルオブジ
ェクトを一時的に保持するためのクライアントキャッシ
ュファイルと、上記ゲートウェイ計算機に接続され、上
記ファイルオブジェクトを取得するための上記アクセス
要求を送信し、上記ファイルオブジェクトを受信し、上
記クライアントキャッシュファイルに書込むための第1
のファイルオブジェクト受信手段とを含み、上記ゲート
ウェイ計算機は、上記ファイルオブジェクトを一時的に
保持するためのキャッシュファイルと、上記サーバ計算
機から上記ファイルオブジェクトを受信する際の受信記
録情報を保持するためのアクセスログファイルと、前記
アクセスログファイルに接続され、上記複数のクライア
ント計算機の各々より上記アクセス要求を受信し、上記
キャッシュファイルまたは上記サーバ計算機より上記フ
ァイルオブジェクトを取得し、上記アクセス要求を送信
した上記クライアント計算機ならびに前記受信記録情報
および所定の選択方法により選択された上記クライアン
ト計算機に送信し、必要に応じて上記キャッシュファイ
ルに書込み、上記受信記録情報を上記アクセスログファ
イルに書込むためのファイルオブジェクト分配手段とを
含む。
According to a first aspect of the present invention, there is provided a distributed file system comprising: a server computer for receiving an access request and transmitting a file object corresponding to the access request; and a plurality of client computers. , A gateway computer, and a communication line for interconnecting the server computer and the plurality of client computers via the gateway computer, wherein each of the plurality of client computers temporarily stores the file object. A client cache file for holding, and a first for connecting to the gateway computer, transmitting the access request for acquiring the file object, receiving the file object, and writing the file object in the client cache file.
Wherein the gateway computer includes a cache file for temporarily storing the file object, and an access for storing reception record information when the file object is received from the server computer. A log file, the client connected to the access log file, receiving the access request from each of the plurality of client computers, acquiring the file object from the cache file or the server computer, and transmitting the access request To transmit the received record information to the client computer selected by a computer and the received record information and a predetermined selection method, write to the cache file as needed, and write the received record information to the access log file And a file object distribution means.

【0037】請求項1に記載の発明によると、ファイル
オブジェクト分配手段は、ファイルオブジェクトを取得
するためのアクセス要求を送信したクライアント計算機
にファイルオブジェクトを送信すると共に、受信記録情
報および所定の選択方法により選択された、そのクライ
アント計算機以外のクライアント計算機にも同じファイ
ルオブジェクトを送信する。よって、他のクライアント
計算機に次々とファイルオブジェクトがキャッシュされ
る。このため、クライアント計算機を別ネットワークに
持ち運んでもゲートウェイ計算機のキャッシュが存在す
るのと同様となり、キャッシュヒット率の高く、かつア
クセス速度が速い分散ファイルシステムを提供すること
ができる。
According to the first aspect of the present invention, the file object distribution means transmits the file object to the client computer which has transmitted the access request for acquiring the file object, and uses the reception record information and a predetermined selection method. The same file object is transmitted to the selected client computer other than the client computer. Therefore, the file objects are cached one after another in other client computers. Therefore, even if the client computer is carried to another network, it is the same as the cache of the gateway computer, and a distributed file system with a high cache hit rate and a high access speed can be provided.

【0038】請求項2に記載の発明に係る分散ファイル
システムは、請求項1に記載の発明の構成に加えて、上
記ファイルオブジェクト分配手段は、上記複数のクライ
アント計算機の各々より上記アクセス要求を受信し、上
記キャッシュファイルまたは上記サーバ計算機より上記
ファイルオブジェクトを取得し、上記アクセス要求を送
信した上記クライアント計算機に送信し、必要に応じて
上記キャッシュファイルに書込み、上記受信記録情報を
上記アクセスログファイルに書込むためのファイルオブ
ジェクト取得代理手段と、上記アクセスログファイルに
接続され、上記複数のクライアント計算機の内、上記受
信記録情報および所定の選択方法に従って選択されたク
ライアント計算機に上記アクセス要求を送信するための
ファイルオブジェクトアクセス要求送信手段とを含み、
上記第1のファイルオブジェクト受信手段は、上記ファ
イルオブジェクトアクセス要求送信手段からの上記アク
セス要求を受信し、上記ファイルオブジェクト取得代理
手段に送信するための手段を含む。
In the distributed file system according to the second aspect of the present invention, in addition to the configuration of the first aspect, the file object distribution unit receives the access request from each of the plurality of client computers. Obtaining the file object from the cache file or the server computer, transmitting the file object to the client computer that transmitted the access request, writing the cache file if necessary, and storing the reception record information in the access log file. File object acquisition proxy means for writing, and for transmitting the access request to a client computer selected according to the reception record information and a predetermined selection method among the plurality of client computers connected to the access log file. File objects And a preparative access request transmitting means,
The first file object receiving means includes means for receiving the access request from the file object access request transmitting means and transmitting the access request to the file object acquisition proxy means.

【0039】請求項2に記載の発明によると、請求項1
に記載の発明の作用、効果に加えて、ファイルオブジェ
クトアクセス要求送信手段が受信記録情報および所定の
選択方法にしたがって選択されたクライアント計算機に
アクセス要求を送信する。クライアント計算機の第1の
ファイルオブジェクト受信手段がそのアクセス要求を受
取り、ファイルオブジェクト代理手段に送信することに
より、他のクライアント計算機が取得したファイルオブ
ジェクトをキャッシュすることができる。このため、キ
ャッシュヒット率の高い分散ファイルシステムを提供す
ることができる。請求項3に記載の発明に係る分散ファ
イルシステムは、請求項1〜2のいずれかに記載の発明
の構成に加えて、上記クライアントキャッシュファイル
は、取外し可能な記憶媒体である。
According to the invention described in claim 2, according to claim 1
In addition to the functions and effects of the invention described in (1), the file object access request transmitting means transmits the access request to the client computer selected according to the reception record information and the predetermined selection method. The first file object receiving means of the client computer receives the access request and transmits it to the file object proxy means, so that the file object acquired by another client computer can be cached. Therefore, a distributed file system having a high cache hit rate can be provided. According to a third aspect of the present invention, in addition to the configuration of the first or second aspect, the client cache file is a removable storage medium.

【0040】請求項3に記載の発明によると、請求項1
〜2に記載の発明の作用、効果に加えて、クライアント
キャッシュファイルは取外し可能であるため、あるクラ
イアント計算機のキャッシュファイルに記憶されている
ファイルオブジェクトを別のクライアント計算機で使用
することが可能である。
According to the invention of claim 3, according to claim 1,
In addition to the functions and effects of the inventions described in (1) to (2), since the client cache file is removable, the file object stored in the cache file of one client computer can be used by another client computer. .

【0041】請求項4に記載の発明に係る分散ファイル
システムは、請求項2に記載の発明の構成に加えて、上
記ファイルオブジェクトアクセス要求送信手段は、上記
受信記録情報に記録されたファイルオブジェクト名称の
出現頻度順に、上記ファイルオブジェクトを取得するた
めの上記アクセス要求を送信する。
According to a fourth aspect of the present invention, in the distributed file system according to the second aspect of the present invention, the file object access request transmitting means includes a file object name recorded in the reception record information. The access request for acquiring the file object is transmitted in the order of the appearance frequency of.

【0042】請求項4に記載の発明によると、請求項2
に記載の発明の作用、効果に加えて、ファイルオブジェ
クトアクセス要求送信手段は、アクセスの多いファイル
オブジェクトから順にクライアント計算機にキャッシュ
されるようにアクセス要求を送信する。このため、より
ヒット率の高いファイルオブジェクトをクライアント計
算機にキャッシュすることができる。よって、キャッシ
ュヒット率の高い分散ファイルシステムを提供すること
ができる。
According to the invention described in claim 4, according to claim 2,
In addition to the functions and effects of the invention described in (1), the file object access request transmitting means transmits an access request such that the file objects are cached in the client computer in order from the most accessed file object. Therefore, a file object with a higher hit rate can be cached in the client computer. Therefore, a distributed file system having a high cache hit rate can be provided.

【0043】請求項5に記載の発明に係る分散ファイル
システムは、請求項2に記載の発明の構成に加えて、上
記ファイルオブジェクトアクセス要求送信手段は、所定
の文字列を含む上記受信記録情報に記録された上記ファ
イルオブジェクト名称を排除して、上記ファイルオブジ
ェクトを取得するための上記アクセス要求を送信する。
According to a fifth aspect of the present invention, in the distributed file system according to the second aspect of the present invention, the file object access request transmitting means transmits the received record information including a predetermined character string to the received record information. The access request for acquiring the file object is transmitted while excluding the recorded file object name.

【0044】請求項5に記載の発明によると、請求項2
に記載の発明の作用、効果に加えて、ファイルオブジェ
クトアクセス要求送信手段は、所定の文字列を含むファ
イルオブジェクト名称以外のファイルオブジェクトを取
得するためのアクセス要求を送信する。よって、クライ
アント計算機の欲しないファイルオブジェクトの配送を
抑制することができる。
According to the invention described in claim 5, according to claim 2,
In addition to the functions and effects of the invention described in (1), the file object access request transmitting unit transmits an access request for acquiring a file object other than a file object name including a predetermined character string. Therefore, it is possible to suppress the delivery of the file object that the client computer does not want.

【0045】請求項6に記載の発明に係る分散ファイル
システムは、請求項2に記載の発明の構成に加えて、上
記ファイルオブジェクトアクセス要求送信手段は、上記
受信記録情報に基づき、上記受信代理手段を通じて上記
ファイルオブジェクトを取得したクライアント計算機以
外のクライアント計算機に上記アクセス要求を送信す
る。
According to a sixth aspect of the present invention, in the distributed file system according to the second aspect of the present invention, the file object access request transmitting unit transmits the reception proxy unit based on the reception record information. The access request is transmitted to a client computer other than the client computer that has acquired the file object through the above.

【0046】請求項6に記載の発明によると、請求項2
に記載の発明の作用、効果に加えて、ファイルオブジェ
クトアクセス要求送信手段は、受信代理手段を通じてフ
ァイルオブジェクトを既に取得しているクライアント計
算機に対しては、アクセス要求を送信しない。これによ
り、クライアント計算機が重複してファイルオブジェク
トを取得することがなくなり、効率良くファイルオブジ
ェクトの送信を行なうことができる。
According to the invention described in claim 6, according to claim 2,
In addition to the functions and effects of the invention described in (1), the file object access request transmitting means does not transmit the access request to the client computer which has already acquired the file object through the receiving proxy means. As a result, the client computer does not repeatedly acquire the file object, and the file object can be transmitted efficiently.

【0047】請求項7に記載の発明に係る分散ファイル
システムは、請求項2に記載の発明の構成に加えて、上
記ファイルオブジェクトアクセス要求送信手段は、上記
受信記録情報に基づき、所定の文字列を含む上記クライ
アント計算機がアクセス要求を行なった上記ファイルオ
ブジェクトを取得するための上記アクセス要求を送信す
る。
According to a seventh aspect of the present invention, in the distributed file system according to the second aspect of the present invention, the file object access request transmitting unit transmits a predetermined character string based on the reception record information. The client computer sends the access request for acquiring the file object for which the access request has been made.

【0048】請求項7に記載の発明によると、請求項2
に記載の発明の作用、効果に加えて、ゲートウェイ計算
機は、所定のクライアント計算機がアクセス要求を行な
ったファイルオブジェクトのみをクライアント計算機に
送信する。よって、効率良くファイルオブジェクトの送
信を行なうことができる。
According to the invention described in claim 7, claim 2 is provided.
In addition to the functions and effects of the invention described in (1), the gateway computer transmits only the file object for which the predetermined client computer has made an access request to the client computer. Therefore, the file object can be transmitted efficiently.

【0049】請求項8に記載の発明に係る分散ファイル
システムは、請求項2に記載の発明の構成に加えて、上
記ゲートウェイ計算機は、上記キャッシュファイルに接
続され、上記ファイルオブジェクトが保持されているか
否かを判断するための保持判断手段をさらに含み、上記
ファイルオブジェクトアクセス要求送信手段は、上記保
持判断手段に接続され、上記ファイルオブジェクトが上
記キャッシュファイルに保持されている場合のみ、上記
ファイルオブジェクトを取得するための上記アクセス要
求を送信するように制御を行なうための手段を含む。
In the distributed file system according to the present invention, in addition to the configuration of the present invention, whether the gateway computer is connected to the cache file and holds the file object The file object access request transmitting means is further connected to the holding determination means, and only when the file object is held in the cache file, is the file object access request transmitting means connected to the holding judgment means. Means for controlling to transmit the access request for acquisition is included.

【0050】請求項8に記載の発明によると、請求項2
に記載の発明の作用、効果に加えて、ファイルオブジェ
クトアクセス要求送信手段は、ファイルオブジェクトが
キャッシュファイルに保持されている場合にのみファイ
ルオブジェクトを取得するためのアクセス要求をクライ
アント計算機に送信する。これにより、無駄なアクセス
要求が生じず、効率良くファイルオブジェクトの送信を
行なうことができる。
According to the invention described in claim 8, according to claim 2,
In addition to the functions and effects of the invention described in (1), the file object access request transmitting unit transmits an access request for acquiring the file object to the client computer only when the file object is held in the cache file. As a result, unnecessary access requests do not occur, and the file object can be transmitted efficiently.

【0051】請求項9に記載の発明に係る分散ファイル
システムは、請求項2に記載の発明の構成に加えて、上
記ファイルオブジェクト分配手段は、所定の並列配送数
以内で上記ファイルオブジェクトの送信を並列に行なう
よう制御を行なうための手段をさらに含む。
In the distributed file system according to the ninth aspect of the present invention, in addition to the configuration of the second aspect, the file object distribution means transmits the file object within a predetermined parallel delivery number. Means for performing control so as to perform the operations in parallel are further included.

【0052】請求項9に記載の発明によると、請求項2
に記載の発明の作用、効果に加えて、ファイルオブジェ
クト分配手段は、ファイルオブジェクトの送信を所定の
並列配送数以内で並列に行なう。これにより、効率良く
オブジェクトの送信を行なうことができる。
According to the invention of claim 9, according to claim 2,
In addition to the functions and effects of the invention described in (1), the file object distribution means performs the transmission of the file object in parallel within a predetermined parallel delivery number. As a result, the object can be transmitted efficiently.

【0053】請求項10に記載の発明に係る分散ファイ
ルシステムは、請求項2に記載の発明の構成に加えて、
上記ゲートウェイ計算機は、上記ファイルオブジェクト
分配手段に接続され、上記ファイルオブジェクトのうち
動的なファイルオブジェクトを一時的に保持するための
一時キャッシュファイルと、上記複数のクライアント計
算機の各々より上記動的なファイルオブジェクトを取得
するためのアクセス要求を受信し、上記一時キャッシュ
ファイルより上記動的なファイルオブジェクトを読出
し、上記アクセス要求を送信したクライアント計算機に
送信するための動的ファイルオブジェクト送信手段とを
さらに含み、上記受信記録情報は、上記サーバ計算機か
ら受信する上記ファイルオブジェクトが上記動的なファ
イルオブジェクトか否かを示す情報を含み、上記キャッ
シュファイルは、上記ファイルオブジェクトのうち動的
でないファイルオブジェクトを一時的に保持し、上記フ
ァイルオブジェクト分配手段は、上記サーバ計算機より
取得した上記ファイルオブジェクトが上記動的なファイ
ルオブジェクトであれば上記一時キャッシュファイルに
書込むための手段をさらに含み、上記ファイルオブジェ
クトアクセス要求送信手段は、上記アクセスログファイ
ルに接続され、上記受信記録情報を参照し、上記サーバ
計算機より取得した上記ファイルオブジェクトが上記動
的なファイルオブジェクトであれば、上記複数のクライ
アント計算機の内、上記受信記録情報および所定の選択
方法に従って選択されたクライアント計算機に上記動的
なファイルオブジェクトを取得するためのアクセス要求
を送信するための動的ファイルオブジェクトアクセス要
求送信手段と、上記アクセスログファイルに接続され、
上記受信記録情報を参照し、上記サーバ計算機より取得
した上記ファイルオブジェクトが上記動的でないファイ
ルオブジェクトであれば、上記複数のクライアント計算
機の内、上記受信記録情報および所定の選択方法に従っ
て選択されたクライアント計算機に上記動的でないファ
イルオブジェクトを取得するためのアクセス要求を送信
するための静的ファイルオブジェクトアクセス要求送信
手段とを含み、上記複数のクライアント計算機の各々
は、上記動的ファイルオブジェクトアクセス要求送信手
段に接続され、上記アクセス要求を送信し、上記動的フ
ァイルオブジェクトを受信し、上記クライアントキャッ
シュファイルに書込むための第2のファイルオブジェク
ト受信手段をさらに含む。
The distributed file system according to the tenth aspect of the present invention has the structure of the second aspect,
The gateway computer is connected to the file object distribution means, and a temporary cache file for temporarily holding a dynamic file object among the file objects, and the dynamic file from each of the plurality of client computers. Receiving an access request for acquiring an object, reading the dynamic file object from the temporary cache file, and transmitting the access request to a client computer that has transmitted the access request. The reception record information includes information indicating whether the file object received from the server computer is the dynamic file object, and the cache file is a non-dynamic file object of the file objects. Temporarily storing the file object, and the file object distribution means further includes means for writing to the temporary cache file if the file object obtained from the server computer is the dynamic file object, The object access request transmitting means is connected to the access log file, refers to the reception record information, and, if the file object obtained from the server computer is the dynamic file object, among the plurality of client computers, Dynamic file object access request transmitting means for transmitting an access request for acquiring the dynamic file object to the client computer selected according to the reception record information and a predetermined selection method; Is connected to Le,
Referring to the reception record information, if the file object obtained from the server computer is the non-dynamic file object, a client selected according to the reception record information and a predetermined selection method among the plurality of client computers. A static file object access request transmitting unit for transmitting an access request for acquiring the non-dynamic file object to a computer, wherein each of the plurality of client computers includes the dynamic file object access request transmitting unit. And a second file object receiving means for transmitting the access request, receiving the dynamic file object, and writing the dynamic file object in the client cache file.

【0054】請求項10に記載の発明によると、請求項
2に記載の発明の作用、効果に加えて、動的なファイル
オブジェクトを一時キャッシュファイルに保持し、クラ
イアント計算機に送信する。よって、動的に生成された
ファイルオブジェクトをゲートウェイ計算機にキャッシ
ュすることができる。
According to the tenth aspect, in addition to the effects and advantages of the second aspect, a dynamic file object is stored in a temporary cache file and transmitted to the client computer. Therefore, the dynamically generated file object can be cached in the gateway computer.

【0055】請求項11に記載の発明に係るゲートウェ
イ計算機は、アクセス要求を受け、上記アクセス要求に
応じたファイルオブジェクトを送信するためのサーバ計
算機と、上記アクセス要求を送信し、上記ファイルオブ
ジェクトを受信するための複数のクライアント計算機
と、ゲートウェイ計算機と、上記サーバ計算機と上記複
数のクライアント計算機とを上記ゲートウェイ計算機を
介して相互に接続するための通信回線とを含む分散ファ
イルシステムで用いられるゲートウェイ計算機であっ
て、上記ファイルオブジェクトを一時的に保持するため
のキャッシュファイルと、上記サーバ計算機から上記フ
ァイルオブジェクトを受信する際の受信記録情報を保持
するためのアクセスログファイルと、上記複数のクライ
アント計算機の各々より上記アクセス要求を受信し、上
記キャッシュファイルまたは上記サーバ計算機より上記
ファイルオブジェクトを取得し、前記受信記録情報およ
び所定の選択方法により選択された上記クライアント計
算機に送信し、必要に応じて上記キャッシュファイルに
書込み、上記受信記録情報を上記アクセスログファイル
に書込むためのファイルオブジェクト分配手段とを含
む。
A gateway computer according to the invention of claim 11 receives a request for access, a server computer for transmitting a file object corresponding to the access request, transmits the access request, and receives the file object. A gateway computer used in a distributed file system including a plurality of client computers, a gateway computer, and a communication line for interconnecting the server computer and the plurality of client computers via the gateway computer. A cache file for temporarily holding the file object, an access log file for holding reception record information when the file object is received from the server computer, and each of the plurality of client computers. Yo Receives the access request, obtains the file object from the cache file or the server computer, transmits the received record information and the client computer selected by a predetermined selection method, and transmits the received file information to the cache file as necessary. File object distribution means for writing the received record information in the access log file.

【0056】請求項11に記載の発明によると、ファイ
ルオブジェクト分配手段は、ファイルオブジェクトを取
得するためのアクセス要求を送信したクライアント計算
機にファイルオブジェクトを送信すると共に、そのクラ
イアント計算機以外の受信記録情報および所定の選択方
法により選択されたクライアント計算機にも同じファイ
ルオブジェクトを送信する。よって、他のクライアント
計算機に次々とファイルオブジェクトがキャッシュされ
る。このため、キャッシュヒット率の高く、かつアクセ
ス速度が速い分散ファイルシステムで用いられるゲート
ウェイ計算機を提供することができる。
According to the eleventh aspect of the present invention, the file object distribution means transmits the file object to the client computer which has transmitted the access request for acquiring the file object, and receives the reception record information other than the client computer. The same file object is transmitted to the client computer selected by the predetermined selection method. Therefore, the file objects are cached one after another in other client computers. Therefore, it is possible to provide a gateway computer used in a distributed file system having a high cache hit rate and a high access speed.

【0057】請求項12に記載の発明に係るゲートウェ
イ計算機は、請求項11に記載の発明の構成に加えて、
上記ファイルオブジェクト分配手段は、上記複数のクラ
イアント計算機の各々より上記アクセス要求を受信し、
上記キャッシュファイルまたは上記サーバ計算機より上
記ファイルオブジェクトを取得し、上記アクセス要求を
送信した上記クライアント計算機に送信し、必要に応じ
て上記キャッシュファイルに書込み、上記受信記録情報
を上記アクセスログファイルに書込むためのファイルオ
ブジェクト取得代理手段と、上記アクセスログファイル
に接続され、上記複数のクライアント計算機の内、上記
受信記録情報および所定の選択方法に従って選択された
クライアント計算機に上記アクセス要求を送信するため
のファイルオブジェクトアクセス要求送信手段とを含
む。
The gateway computer according to the twelfth aspect of the present invention provides the gateway computer according to the eleventh aspect of the present invention,
The file object distribution means receives the access request from each of the plurality of client computers,
Obtain the file object from the cache file or the server computer, transmit the file object to the client computer that transmitted the access request, write the cache file if necessary, and write the reception record information to the access log file. And a file connected to the access log file for transmitting the access request to a client computer selected according to the reception record information and a predetermined selection method among the plurality of client computers. Object access request transmission means.

【0058】請求項12に記載の発明によると、請求項
11に記載の発明の作用、効果に加えて、ファイルオブ
ジェクトアクセス要求送信手段が受信記録情報および所
定の選択方法にしたがって選択されたクライアント計算
機にアクセス要求を送信する。クライアント計算機がそ
のアクセス要求を受取り、ファイルオブジェクト代理手
段に送信することにより、他のクライアント計算機が取
得したファイルオブジェクトをキャッシュすることがで
きる。このため、キャッシュヒット率の高い分散ファイ
ルシステムで用いられるゲートウェイ計算機を提供する
ことができる。
According to the twelfth aspect of the present invention, in addition to the functions and effects of the eleventh aspect of the present invention, the client computer selected by the file object access request transmitting means in accordance with the reception record information and a predetermined selection method. Send an access request to. When the client computer receives the access request and transmits it to the file object proxy means, the file object acquired by another client computer can be cached. Therefore, it is possible to provide a gateway computer used in a distributed file system having a high cache hit rate.

【0059】請求項13に記載の発明に係るゲートウェ
イ計算機は、請求項12に記載の発明の構成に加えて、
上記ファイルオブジェクトアクセス要求送信手段は、上
記受信記録情報に記録されたファイルオブジェクト名称
の出現頻度順に、上記ファイルオブジェクトを取得する
ための上記アクセス要求を送信する。
The gateway computer according to the thirteenth aspect of the present invention provides the gateway computer according to the twelfth aspect of the present invention,
The file object access request transmitting unit transmits the access request for acquiring the file object in the order of appearance frequency of the file object name recorded in the reception record information.

【0060】請求項13に記載の発明によると、請求項
12に記載の発明の作用、効果に加えて、ファイルオブ
ジェクトアクセス要求送信手段は、アクセスの多いファ
イルオブジェクトから順にクライアント計算機にキャッ
シュされるようにアクセス要求を送信する。このため、
よりヒット率の高いファイルオブジェクトをクライアン
ト計算機にキャッシュすることができる。よって、キャ
ッシュヒット率の高い分散ファイルシステムで用いられ
るゲートウェイ計算機を提供することができる。
According to the thirteenth aspect, in addition to the effects and advantages of the twelfth aspect, the file object access request transmitting means is configured to cache the file objects in the client computer in order from the most frequently accessed file objects. Send an access request to. For this reason,
A file object having a higher hit rate can be cached in the client computer. Therefore, it is possible to provide a gateway computer used in a distributed file system having a high cache hit rate.

【0061】請求項14に記載の発明に係るゲートウェ
イ計算機は、請求項12に記載の発明の構成に加えて、
上記ファイルオブジェクトアクセス要求送信手段は、上
記受信記録情報に記録された所定の文字列を含む上記フ
ァイルオブジェクト名称を排除して、上記ファイルオブ
ジェクトを取得するための上記アクセス要求を送信す
る。
A gateway computer according to a fourteenth aspect of the present invention provides the gateway computer according to the twelfth aspect of the present invention,
The file object access request transmitting unit transmits the access request for acquiring the file object by excluding the file object name including a predetermined character string recorded in the reception record information.

【0062】請求項14に記載の発明によると、請求項
12に記載の発明の作用、効果に加えて、ファイルオブ
ジェクトアクセス要求送信手段は、所定の文字列を含む
ファイルオブジェクト名称以外のファイルオブジェクト
を取得するためのアクセス要求を送信する。よって、ク
ライアント計算機の欲しないファイルオブジェクトの配
送を抑制することができる。
According to the fourteenth aspect of the invention, in addition to the functions and effects of the twelfth aspect, the file object access request transmitting means transmits a file object other than a file object name including a predetermined character string. Send an access request to get it. Therefore, it is possible to suppress the delivery of the file object that the client computer does not want.

【0063】請求項15に記載の発明に係るゲートウェ
イ計算機は、請求項12に記載の発明の構成に加えて、
上記ファイルオブジェクトアクセス要求送信手段は、上
記受信記録情報に基づき、上記受信代理手段を通じて上
記ファイルオブジェクトを取得したクライアント計算機
以外のクライアント計算機に上記アクセス要求を送信す
る。
The gateway computer according to the invention of claim 15 provides the gateway computer according to the invention of claim 12,
The file object access request transmission unit transmits the access request to a client computer other than the client computer that has acquired the file object through the reception proxy unit based on the reception record information.

【0064】請求項15に記載の発明によると、請求項
12に記載の発明の作用、効果に加えて、ファイルオブ
ジェクトアクセス要求送信手段は、受信代理手段を通じ
てファイルオブジェクトを既に取得しているクライアン
ト計算機に対しては、アクセス要求を送信しない。これ
により、クライアント計算機が重複してファイルオブジ
ェクトを取得することがなくなり、効率良くファイルオ
ブジェクトの送信を行なうことができる。
According to the fifteenth aspect of the present invention, in addition to the functions and effects of the twelfth aspect, the file object access request transmitting means transmits the client computer which has already acquired the file object through the receiving proxy means. Do not transmit an access request. As a result, the client computer does not repeatedly acquire the file object, and the file object can be transmitted efficiently.

【0065】請求項16に記載の発明に係るゲートウェ
イ計算機は、請求項12に記載の発明の構成に加えて、
上記ファイルオブジェクトアクセス要求送信手段は、上
記受信記録情報に基づき、所定の文字列を含む上記クラ
イアント計算機がアクセス要求を行なった上記ファイル
オブジェクトを取得するための上記アクセス要求を送信
する。
The gateway computer according to the sixteenth aspect of the present invention provides the gateway computer according to the twelfth aspect of the present invention,
The file object access request transmission means transmits the access request for acquiring the file object for which the client computer has made an access request, including a predetermined character string, based on the reception record information.

【0066】請求項16に記載の発明によると、請求項
12に記載の発明の作用、効果に加えて、ゲートウェイ
計算機は、所定のクライアント計算機がアクセス要求を
行なったファイルオブジェクトのみをクライアント計算
機に送信する。よって、効率良くファイルオブジェクト
の送信を行なうことができる。
According to the sixteenth aspect of the present invention, in addition to the function and effect of the twelfth aspect of the present invention, the gateway computer transmits only the file object for which the predetermined client computer has made an access request to the client computer. I do. Therefore, the file object can be transmitted efficiently.

【0067】請求項17に記載の発明に係るゲートウェ
イ計算機は、請求項12に記載の発明の構成に加えて、
上記キャッシュファイルに接続され、上記ファイルオブ
ジェクトが保持されているか否かを判断するための保持
判断手段をさらに含み、上記ファイルオブジェクトアク
セス要求送信手段は、上記保持判断手段に接続され、上
記ファイルオブジェクトが上記キャッシュファイルに保
持されている場合のみ、上記ファイルオブジェクトを取
得するための上記アクセス要求を送信するように制御を
行なうための手段を含む。
The gateway computer according to the seventeenth aspect of the present invention provides the gateway computer according to the twelfth aspect of the present invention,
The storage device further includes a holding determination unit connected to the cache file to determine whether or not the file object is stored.The file object access request transmission unit is connected to the storage determination unit, and Means for controlling to transmit the access request for acquiring the file object only when the file object is held in the cache file.

【0068】請求項17に記載の発明によると、請求項
12に記載の発明の作用、効果に加えて、ファイルオブ
ジェクトがキャッシュファイルに保持されている場合に
のみファイルオブジェクトを取得するためのアクセス要
求をクライアント計算機に送信する。これにより、無駄
なアクセス要求が生じず、効率良くファイルオブジェク
トの送信を行なうことができる。
According to the seventeenth aspect, in addition to the effects and advantages of the twelfth aspect, an access request for acquiring a file object only when the file object is held in a cache file is provided. To the client computer. As a result, unnecessary access requests do not occur, and the file object can be transmitted efficiently.

【0069】請求項18に記載の発明に係るゲートウェ
イ計算機は、請求項12に記載の発明の構成に加えて、
上記ファイルオブジェクト取得代理手段は、所定の並列
配送数以内で上記ファイルオブジェクトの送信を並列に
行なうよう制御を行なうための手段をさらに含む。
The gateway computer according to the eighteenth aspect of the present invention provides, in addition to the configuration of the twelfth aspect of the present invention,
The file object acquisition proxy unit further includes a unit for controlling transmission of the file object in parallel within a predetermined parallel delivery number.

【0070】請求項18に記載の発明によると、請求項
12に記載の発明の作用、効果に加えて、ファイルオブ
ジェクト分配手段は、ファイルオブジェクトの送信を所
定の並列配送数以内で並列に行なう。これにより、効率
良くオブジェクトの送信を行なうことができる。
According to the eighteenth aspect, in addition to the effects and advantages of the twelfth aspect, the file object distribution means performs the transmission of the file objects in parallel within a predetermined parallel delivery number. As a result, the object can be transmitted efficiently.

【0071】請求項19に記載の発明に係るゲートウェ
イ計算機は、請求項12に記載の発明の構成に加えて、
上記ファイルオブジェクト分配手段に接続され、上記フ
ァイルオブジェクトのうち動的なファイルオブジェクト
を一時的に保持するための一時キャッシュファイルと、
上記複数のクライアント計算機の各々より上記動的なフ
ァイルオブジェクトを取得するためのアクセス要求を受
信し、上記一時キャッシュファイルより上記動的なファ
イルオブジェクトを読出し、上記アクセス要求を送信し
たクライアント計算機に送信するための動的ファイルオ
ブジェクト送信手段とをさらに含み、上記受信記録情報
は、上記サーバ計算機から受信する上記ファイルオブジ
ェクトが上記動的なファイルオブジェクトか否かを示す
情報を含み、上記キャッシュファイルは、上記ファイル
オブジェクトのうち動的でないファイルオブジェクトを
一時的に保持し、上記ファイルオブジェクト分配手段
は、上記サーバ計算機より取得した上記ファイルオブジ
ェクトが上記動的なファイルオブジェクトであれば上記
一時キャッシュファイルに書込むための手段をさらに含
み、上記ファイルオブジェクトアクセス要求送信手段
は、上記アクセスログファイルに接続され、上記受信記
録情報を参照し、上記サーバ計算機より取得した上記フ
ァイルオブジェクトが上記動的なファイルオブジェクト
であれば、上記複数のクライアント計算機の内、上記受
信記録情報および所定の選択方法に従って選択されたク
ライアント計算機に上記動的なファイルオブジェクトを
取得するための上記アクセス要求を送信するための動的
ファイルオブジェクトアクセス要求送信手段と、上記ア
クセスログファイルに接続され、上記受信記録情報を参
照し、上記サーバ計算機より取得した上記ファイルオブ
ジェクトが上記動的でないファイルオブジェクトであれ
ば、上記複数のクライアント計算機の内、上記受信記録
情報および所定の選択方法に従って選択されたクライア
ント計算機に上記動的でないファイルオブジェクトを取
得するための上記アクセス要求を送信するための静的フ
ァイルオブジェクトアクセス要求送信手段とを含む。
The gateway computer according to the nineteenth aspect of the present invention provides the gateway computer according to the twelfth aspect of the present invention,
A temporary cache file which is connected to the file object distribution means and temporarily holds a dynamic file object among the file objects;
An access request for acquiring the dynamic file object is received from each of the plurality of client computers, the dynamic file object is read from the temporary cache file, and transmitted to the client computer that transmitted the access request. Dynamic file object transmission means for receiving, the reception record information includes information indicating whether the file object received from the server computer is the dynamic file object, the cache file, The file objects that are not dynamic among the file objects are temporarily stored, and the file object distribution unit is configured to temporarily store the temporary cache files if the file objects acquired from the server computer are the dynamic file objects. The file object access request transmission means is connected to the access log file, refers to the reception record information, and converts the file object acquired from the server computer into the dynamic file. In the case of a file object, an operation for transmitting the access request for acquiring the dynamic file object to a client computer selected according to the reception record information and a predetermined selection method among the plurality of client computers. A file object access request transmitting means, connected to the access log file, referring to the reception record information, and if the file object obtained from the server computer is the non-dynamic file object, the plurality of client computers Within And a static file object access request transmitting means for transmitting the access request to obtain the file object is not a dynamic above the client computer which has been selected according to the received recording information and a predetermined selection method.

【0072】請求項19に記載の発明によると、請求項
12に記載の発明の作用、効果に加えて、動的なファイ
ルオブジェクトを一時キャッシュファイルに保持し、ク
ライアント計算機に送信する。よって、動的に生成され
たファイルオブジェクトをゲートウェイ計算機にキャッ
シュすることができる。
According to the nineteenth aspect, in addition to the functions and effects of the twelfth aspect, a dynamic file object is stored in a temporary cache file and transmitted to the client computer. Therefore, the dynamically generated file object can be cached in the gateway computer.

【0073】[0073]

【発明の実施の形態】図1を参照して、本発明の実施の
形態に係る分散ファイルシステム2は、ファイルオブジ
ェクトを記憶するためのサーバ計算機4と、ファイルオ
ブジェクトを中継転送するためのゲートウェイ計算機6
と、クライアント計算機8および10と、クライアント
計算機8および10とゲートウェイ計算機6とを相互に
接続するための内部ネットワーク38と、ゲートウェイ
計算機6とサーバ計算機4とを相互に接続するための外
部ネットワーク36とを含む。クライアント計算機8
は、ファイルオブジェクトの読出要求の送信、ゲートウ
ェイ計算機6よりファイルオブジェクトを含む種々のデ
ータの受信、および受信したデータのユーザへの提示を
行なう処理を実行するためのブラウザソフトウェア24
を含む。クライアント計算機10は、データのユーザへ
の提示を行なう処理を実行するためのブラウザソフトウ
ェア26と、ゲートウェイ計算機6からのファイルオブ
ジェクトおよびアクセス要求の受信制御を行なうための
受信制御部28とを含む。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Referring to FIG. 1, a distributed file system 2 according to an embodiment of the present invention includes a server computer 4 for storing file objects and a gateway computer for relaying and transferring file objects. 6
An internal network 38 for interconnecting the client computers 8 and 10, the gateway computer 6, and an external network 36 for interconnecting the gateway computer 6 and the server computer 4. including. Client computer 8
Is browser software 24 for executing a process of transmitting a read request for a file object, receiving various data including a file object from the gateway computer 6, and presenting the received data to a user.
including. The client computer 10 includes browser software 26 for executing a process of presenting data to a user, and a reception control unit 28 for controlling reception of a file object and an access request from the gateway computer 6.

【0074】受信制御部28は、クライアント計算機1
0をproxy サーバ装置として働かせるためのプロセスで
あるクライアントproxy サーバプロセス30および一時
キャッシュ更新用クライアントproxy サーバプロセス3
4と、ファイルオブジェクトを一時的に記憶するための
クライアントキャッシュファイル32とを含む。ゲート
ウェイ計算機6は、ファイルオブジェクトの転送処理を
実行するためのマスタproxy サーバプロセス12と、サ
ーバ計算機4へのアクセスログを記憶するためのアクセ
スログファイル14と、ファイルオブジェクトを一時的
に記憶するためのキャッシュファイル16と、アクセス
ログファイル14に接続され、アクセスログファイルの
内容に応じてファイルオブジェクトのアクセス要求をク
ライアント計算機10に送信し、ファイルオブジェクト
を受信するためのキャッシュ配送制御部18と、動的フ
ァイルオブジェクトを一時的に記憶するための一時キャ
ッシュファイル20と、動的ファイルオブジェクトの転
送処理を実行するための一時キャッシュ更新用マスタpr
oxy サーバプロセス22とを含む。クライアント計算機
8は、受信制御部28を持たないものとする。
The reception control unit 28 controls the client computer 1
Client proxy server process 30 and client proxy server process 3 for updating the temporary cache, which are processes for making 0 work as a proxy server device.
4 and a client cache file 32 for temporarily storing file objects. The gateway computer 6 includes a master proxy server process 12 for executing a file object transfer process, an access log file 14 for storing an access log to the server computer 4, and a temporary storage for the file object. A cache delivery control unit 18 connected to the cache file 16 and the access log file 14 for transmitting a file object access request to the client computer 10 in accordance with the contents of the access log file and receiving the file object; A temporary cache file 20 for temporarily storing file objects, and a temporary cache update master pr for executing dynamic file object transfer processing
and an oxy server process 22. It is assumed that the client computer 8 does not have the reception control unit 28.

【0075】クライアント計算機10は、ノート型パー
ソナルコンピュータであり、1GB(Giga Bytes)程度の
ディスク装置と、イーサネットなどの高速ネットワーク
に接続するための装置と、電話回線など比較的低速なネ
ットワークに接続するための装置(モデム等)とを持っ
ているとする。現在ノート型パーソナルコンピュータの
ディスク装置は1GB以上が普通になってきており、今後
も容量は増加するものと思われる。また工場出荷時に予
めOSやアプリケーションソフトウェアなどがディスクに
格納されているが、それでも未使用領域は500MB以上
存在する。
The client computer 10 is a notebook personal computer, and connects to a disk device of about 1 GB (Giga Bytes), a device for connecting to a high-speed network such as Ethernet, and a relatively low-speed network such as a telephone line. Device (such as a modem). At present, the disk device of notebook personal computers has become more than 1 GB, and the capacity is expected to increase in the future. In addition, an OS, application software, and the like are stored in the disk in advance at the time of shipment from the factory, but there is still an unused area of 500 MB or more.

【0076】クライアント計算機10は、この空きエリ
アをキャッシュ(以下、「クライアントキャッシュファ
イル32」という。)として利用する。また、他のクラ
イアント計算機8のユーザがアクセスしているファイル
オブジェクトをゲートウェイ計算機6から受け、クライ
アントキャッシュファイル32の空きエリアに格納する
ことでクライアント計算機10のキャッシュヒット率を
向上させるものである。
The client computer 10 uses this free area as a cache (hereinafter, referred to as “client cache file 32”). Further, a file object being accessed by a user of another client computer 8 is received from the gateway computer 6 and stored in an empty area of the client cache file 32, thereby improving the cache hit rate of the client computer 10.

【0077】図2を参照して、ゲートウェイ計算機6
は、UNIX OS あるいはWindows95 あるいはWindowsNT な
どのネットワーク制御のできるOSを搭載した計算機であ
り、CPU 42と、メモリ44と、I/O 部46と、クライ
アントキャッシュファイル32、配送クライアント計算
機のリスト、中継ファイル名称の記録ファイル、配送リ
スト一時記憶バッファ、クライアント計算機名称登録パ
ターン、排除パターン、格納バッファ、合致パターン記
憶バッファ、および転送量管理記憶バッファなどを記憶
するためのファイル装置50と、ネットワークI/O 部4
8と、これらを相互に接続するための内部バス49とを
含む。ファイル装置50に記憶されるファイルについて
は、メモリ44に記憶されていても良いものとし、その
意味については後述する。
Referring to FIG. 2, gateway computer 6
Is a computer equipped with a UNIX OS or an OS capable of network control such as Windows 95 or Windows NT. The computer 42 has a CPU 42, a memory 44, an I / O unit 46, a client cache file 32, a list of delivery client computers, and a relay file. A file device 50 for storing a name recording file, a delivery list temporary storage buffer, a client computer name registration pattern, an exclusion pattern, a storage buffer, a matched pattern storage buffer, a transfer amount management storage buffer, and the like; and a network I / O unit 4
8 and an internal bus 49 for interconnecting them. The file stored in the file device 50 may be stored in the memory 44, and its meaning will be described later.

【0078】クライアント計算機10は前述したゲート
ウェイ計算機6と同様、CPU 42と、メモリ44と、I/
O 部46と、ファイル装置50と、ネットワークI/O 部
48などとを含む。クライアント計算機10に内蔵され
た受信制御部28はキャッシュ機能付きproxy ソフトウ
ェアをCPU42 上で実行させることにより実現される。
As in the gateway computer 6 described above, the client computer 10 has a CPU 42, a memory 44,
It includes an O unit 46, a file device 50, a network I / O unit 48, and the like. The reception control unit 28 incorporated in the client computer 10 is realized by executing proxy software with a cache function on the CPU 42.

【0079】図3および図4を参照して、分散ファイル
システム2の動作を説明する。図3を参照して、ユーザ
がクライアント計算機8に搭載されたブラウザソフトウ
ェアを使って、サーバ計算機4に記憶されたファイルオ
ブジェクトhttp://www.sharp.co.jp/ をアクセスすると
する。アクセスはゲートウェイ計算機6を経由して行な
われる。クライアント計算機8は、サーバ計算機4に記
憶されたファイルオブジェクトをゲートウェイ計算機6
を経由して受取る。
The operation of the distributed file system 2 will be described with reference to FIGS. Referring to FIG. 3, it is assumed that the user accesses the file object http://www.sharp.co.jp/ stored in the server computer 4 using the browser software installed in the client computer 8. Access is performed via the gateway computer 6. The client computer 8 transfers the file object stored in the server computer 4 to the gateway computer 6
Receive via.

【0080】図4を参照して、ゲートウェイ計算機6内
のキャッシュ配送制御部18が、http://www.sharp.co.
jp/ データをクライアント計算機10a、10bおよび
10cにも配送する。すなわち、クライアント計算機8
がアクセスしたファイルオブジェクトが他のクライアン
トにも自動的に配送される。
Referring to FIG. 4, cache delivery control unit 18 in gateway computer 6 operates at http://www.sharp.co.
The jp / data is also delivered to the client computers 10a, 10b and 10c. That is, the client computer 8
The file objects accessed by are automatically delivered to other clients.

【0081】上述したように我々の経験では、ゲートウ
ェイ計算機6のキャッシュヒット率はキャッシュファイ
ル16の容量が0MBでは0%であるが、100MB程度で
30%、300MBで40%、1GB程度で50%ぐらいと
キャッシュサイズの増大に従ってゆっくり増大すること
が知られている。
As described above, according to our experience, the cache hit rate of the gateway computer 6 is 0% when the capacity of the cache file 16 is 0 MB, but is 30% at about 100 MB, 40% at 300 MB, and 50% at about 1 GB. It is known that it increases slowly as the cache size increases.

【0082】したがって、前述のようにクライアント計
算機の空きディスクエリアに、自分以外の他のクライア
ント計算機の利用者の利用したファイルオブジェクトを
受信し、自己のクライアントキャッシュを新鮮なデータ
で300MB程度満たしておけばクライアントキャッシュ
でのヒット率は40%以上得られる。
Therefore, as described above, a file object used by a user of another client computer other than the user can be received in the free disk area of the client computer, and its own client cache can be filled with about 300 MB of fresh data. For example, a hit rate of 40% or more can be obtained in the client cache.

【0083】クライアント計算機10は、proxy 動作を
行なう受信制御部28を有し、ブラウザソフトウェア2
6は受信制御部28を経由してマスタproxy サーバプロ
セス12に中継ネットワークアクセスを行なう。
The client computer 10 has a reception control unit 28 for performing a proxy operation.
6 makes a relay network access to the master proxy server process 12 via the reception control unit 28.

【0084】通常クライアント計算機10は、ゲートウ
ェイ計算機6をproxy サーバ装置として利用するように
設定されるが、ここでは、受信制御部28として、prox
y サーバプロセスをクライアント計算機にも内蔵(以
下、「クライアントproxy サーバプロセス30」とい
う。)する。ブラウザソフトウェア26が、サーバ計算
機4が保持するファイルオブジェクトの取得要求を行な
った場合には、クライアントproxy サーバプロセス30
がproxy サーバ装置として動作するように設定を行な
う。また、クライアントproxy サーバプロセス30は、
上流のゲートウェイ計算機6のマスタproxy サーバプロ
セス12を利用するように設定する。クライアントprox
y サーバプロセス30がマスタproxy サーバプロセス1
2に対してファイルオブジェクトの取得要求を行なった
際に応答がないときは、マスタproxy サーバプロセス1
2を利用しないように動作させる。これについては後述
する。
Normally, the client computer 10 is set to use the gateway computer 6 as a proxy server device.
y The server process is incorporated in the client computer (hereinafter, referred to as “client proxy server process 30”). When the browser software 26 issues a request to acquire a file object held by the server computer 4, the client proxy server process 30
Is set to operate as a proxy server device. Also, the client proxy server process 30
The setting is made to use the master proxy server process 12 of the upstream gateway computer 6. Client prox
y server process 30 is the master proxy server process 1
If there is no response when a file object acquisition request is made to the master proxy server process 1
2 so as not to use it. This will be described later.

【0085】ゲートウェイ計算機6は複数のクライアン
ト計算機に接続されているものとする。複数のクライア
ント計算機は、受信制御部28を備えたクライアント計
算機10と受信制御部28を備えていないクライアント
計算機8とを含む。
It is assumed that the gateway computer 6 is connected to a plurality of client computers. The plurality of client computers include the client computer 10 having the reception control unit 28 and the client computer 8 not having the reception control unit 28.

【0086】ゲートウェイ計算機6は、マスタproxy サ
ーバプロセス12と、キャッシュ配送制御部18とを含
む。これらは、CPU 42上で動作するプロセスである。
マスタproxy サーバプロセス12は、市場から容易に入
手できるソフトウェアを実行することにより実現され
る。ユーザがブラウザソフトウェア24を搭載したクラ
イアント計算機8に、サーバ計算機4内のファイルオブ
ジェクトの取得要求をする。クライアント計算機8は、
ゲートウェイ計算機6に対し、サーバ計算機4内のファ
イルオブジェクトを取得するよう依頼を送信する。依頼
を受信したゲートウェイ計算機6内のマスタproxy サー
バプロセス12は、サーバ計算機4に対して、依頼を送
信する。
The gateway computer 6 includes a master proxy server process 12 and a cache delivery control unit 18. These are processes that run on the CPU 42.
The master proxy server process 12 is realized by executing software easily available from the market. The user requests the client computer 8 equipped with the browser software 24 to acquire the file object in the server computer 4. The client computer 8
A request is sent to the gateway computer 6 to acquire the file object in the server computer 4. The master proxy server process 12 in the gateway computer 6 that has received the request transmits the request to the server computer 4.

【0087】次に、マスタproxy サーバプロセス12の
動作を説明する。ファイルオブジェクトは、前述したよ
うにプロトコル名称と、サーバ計算機のネットワークア
ドレス名称と、ファイルオブジェクトの名称と、ファイ
ルデータの実体との組から構成されている。
Next, the operation of the master proxy server process 12 will be described. As described above, the file object is composed of a set of the protocol name, the network address name of the server computer, the file object name, and the file data entity.

【0088】マスタproxy サーバプロセス12は、メモ
リ44に記憶されたproxy プログラムをCPU 42で実行
されることにより実現される。マスタproxy サーバプロ
セス12は、クライアント計算機8からのファイルオブ
ジェクト送信要求を受取る。I/O 部46を経由してファ
イル装置50に存在するキャッシュファイル16をアク
セスし、ファイルオブジェクト名称をキャッシュファイ
ル16から抽出し、ファイルオブジェクト送信要求のフ
ァイルオブジェクト名称と比較する。ファイルオブジェ
クト名称が一致していれば、ファイルオブジェクトの最
終変更時刻を読出し、現在の時刻と比較する。キャッシ
ュの有効期限時間内であればキャッシュファイル16か
らファイルオブジェクトを抽出してネットワークI/O 部
48を経由してクライアント計算機8にファイルオブジ
ェクトを返す。
The master proxy server process 12 is realized by the CPU 42 executing a proxy program stored in the memory 44. The master proxy server process 12 receives the file object transmission request from the client computer 8. The cache file 16 existing in the file device 50 is accessed via the I / O unit 46, the file object name is extracted from the cache file 16, and compared with the file object name of the file object transmission request. If the file object names match, the last modification time of the file object is read and compared with the current time. If it is within the validity period of the cache, the file object is extracted from the cache file 16 and returned to the client computer 8 via the network I / O unit 48.

【0089】キャッシュファイル16に、該当するファ
イルオブジェクトのコピーが存在しないか、または、キ
ャッシュの有効期限が切れていれば、ネットワークI/O
部48を経由して、外部ネットワーク36上のサーバ計
算機4にファイルオブジェクトの転送要求を送信する。
サーバ計算機4からファイルオブジェクトを読出し、キ
ャッシュファイル16にファイルオブジェクトを書込
み、ファイルオブジェクトの最終変更時刻を更新する。
また、ネットワークI/O 部48を通じて、クライアント
計算機8にファイルオブジェクトを転送する。
If there is no copy of the file object in the cache file 16 or if the cache has expired, the network I / O
The transfer request of the file object is transmitted to the server computer 4 on the external network 36 via the unit 48.
The file object is read from the server computer 4, the file object is written in the cache file 16, and the last modification time of the file object is updated.
Further, the file object is transferred to the client computer 8 through the network I / O unit 48.

【0090】マスタproxy サーバプロセス12は、ファ
イルオブジェクトの転送と同時に、1つのURL を中継す
るごとにアクセスログファイル14にアクセスログとし
てファイルオブジェクト送信要求を行なったクライアン
ト計算機名称、(最終変更)時刻、ファイルオブジェク
ト名称、サーバ計算機からの状態コード、転送バイト数
などを記録する。通常このフォーマットはコモンログフ
ォーマットとしてしられる標準的なものであり、どの商
用または公開proxy ソフトウェアにおいても利用でき
る。
The master proxy server process 12 simultaneously transfers the file object and, each time one URL is relayed, requests the client computer to send a file object transmission request to the access log file 14 as an access log, the (last change) time, The file object name, status code from the server computer, the number of transfer bytes, etc. are recorded. This format is a standard, commonly referred to as the common log format, and can be used in any commercial or public proxy software.

【0091】図1を参照して、クライアント計算機8の
ユーザが、ゲートウェイ計算機6にサーバ計算機4内の
ファイルオブジェクトの取得要求を送信したとする。キ
ャッシュファイル16にはファイルオブジェクトはな
く、初めてサーバ計算機4にアクセスするものとする。
Referring to FIG. 1, it is assumed that the user of client computer 8 has transmitted a request for obtaining a file object in server computer 4 to gateway computer 6. It is assumed that the cache file 16 has no file object and accesses the server computer 4 for the first time.

【0092】まずブラウザソフトウェア24が、ゲート
ウェイ計算機6内のマスタproxy サーバプロセス12に
対してネットワーク接続を行ない、GET 命令を送信す
る。
First, the browser software 24 makes a network connection to the master proxy server process 12 in the gateway computer 6, and sends a GET command.

【0093】GET 命令を受取ったマスタproxy サーバプ
ロセス12が、サーバ計算機4に対してネットワーク接
続を行ない、GET 命令を送信する。
The master proxy server process 12 having received the GET command makes a network connection to the server computer 4 and transmits the GET command.

【0094】マスタproxy サーバプロセス12は、サー
バ計算機4よりファイルオブジェクトを読出す。読出し
たファイルオブジェクトをキャッシュファイル16に書
込むとともに、アクセスログをアクセスログファイル1
4に書出す。また、ブラウザソフトウェア24はファイ
ルオブジェクトをマスタproxy サーバプロセス12から
読出す。以上が中継動作である。
The master proxy server process 12 reads out a file object from the server computer 4. The read file object is written in the cache file 16 and the access log is written in the access log file 1.
Write to 4. The browser software 24 reads the file object from the master proxy server process 12. The above is the relay operation.

【0095】キャッシュ配送制御部18はアクセスログ
ファイル14よりアクセスログを読出し、クライアント
計算機8以外の受信制御部を有するクライアント計算機
10のクライアントproxy サーバプロセス30にネット
ワーク接続して、GET 命令を送信する。クライアントpr
oxy サーバプロセス30はマスタproxy サーバプロセス
12を上流マスタproxy とするクライアントproxy であ
るので、マスタproxyサーバプロセス12に対してGET
命令を送信する。
The cache delivery control unit 18 reads the access log from the access log file 14, connects to the client proxy server process 30 of the client computer 10 having a reception control unit other than the client computer 8, and transmits a GET command. Client pr
Since the oxy server process 30 is a client proxy that uses the master proxy server process 12 as the upstream master proxy, the GET to the master proxy server process 12 is performed.
Send instructions.

【0096】マスタproxy サーバプロセス12はキャッ
シュファイル16からファイルオブジェクトを読出し、
クライアントproxy サーバプロセス30に送信する。
The master proxy server process 12 reads a file object from the cache file 16 and
It is transmitted to the client proxy server process 30.

【0097】クライアントproxy サーバプロセス30
は、これをクライアントキャッシュファイル32に蓄積
する。以上によりクライアント計算機8のユーザがアク
セスしたオブジェクトファイルがクライアントキャッシ
ュファイル32にもキャッシュされた。よって、クライ
アント計算機10のユーザがブラウザソフトウェア26
を使って、受信制御部28のクライアントproxy サーバ
プロセス30経由でサーバ計算機4のファイルオブジェ
クトをアクセスした場合、事前にマスタproxy サーバプ
ロセス12より受信し、クライアントキャッシュファイ
ル32に保持されているファイルオブジェクトを利用す
ることができる。
Client proxy server process 30
Accumulates this in the client cache file 32. As described above, the object file accessed by the user of the client computer 8 is also cached in the client cache file 32. Therefore, the user of the client computer 10 can use the browser software 26
When the file object of the server computer 4 is accessed via the client proxy server process 30 of the reception control unit 28 by using, the file object received in advance from the master proxy server Can be used.

【0098】図5および図6を参照して、各制御部の詳
細な動作説明を行なう。マスタproxy サーバプロセス1
2の動作は既に述べた。これは10080番のポートで
動作しているものとする。キャッシュ配送制御部18
は、/usr/local/cachecast/cachecastd と呼ばれるプロ
セス60を実行することにより実現される。 [step1−1]プロセス60は動作開始時に、clie
nts.txt と呼ばれるファイル62をファイル装置50か
ら読出す。このファイル62には予めキャッシュ(ファ
イルオブジェクト)を配送するクライアント計算機の名
称(IPアドレスに対応するもの)が格納されている。ま
た、クライアント計算機ごとに 1.配送開始時刻 2.配送終了時刻 3.受信ポート番号 4.毎時間あたりの最大転送バイト数 5.クライアント名称合致パターンファイル名称 6.クライアント名称排除パターンファイル名称 7.URL 合致パターンリストファイル名称 8.URL 排除パターンリストファイル名称 9.最大並列プロセス数 が記述されているものとする。これらの意味については
後述する。
Referring to FIG. 5 and FIG. 6, the detailed operation of each control unit will be described. Master proxy server process 1
Operation 2 has already been described. It is assumed that this is operating on port 10080. Cache delivery control unit 18
Is implemented by executing a process 60 called / usr / local / cachecast / cachecastd. [Step 1-1] At the start of the operation, the process 60
The file 62 called nts.txt is read from the file device 50. The name (corresponding to the IP address) of the client computer that delivers the cache (file object) is stored in the file 62 in advance. Also, for each client computer: Delivery start time 2. Delivery end time 3. Receiving port number 4. Maximum number of bytes transferred per hour 5. Client name matching pattern file name 6. Client name exclusion pattern file name 7. URL matching pattern list file name 8. URL exclusion pattern list file name It is assumed that the maximum number of parallel processes is described. The meaning of these will be described later.

【0099】これらの引数を読出したプロセス60は、
登録されたキャッシュ配送対象のクライアント計算機の
それぞれに対応した子プロセス76および78をバック
グラウンドプロセスとして起動する。それぞれ子プロセ
ス76および78にclients.txt 内のデータを引数とし
て渡す。
The process 60 that has read these arguments is
The child processes 76 and 78 corresponding to the registered client computers to be cached are activated as background processes. The data in clients.txt is passed as an argument to child processes 76 and 78, respectively.

【0100】子プロセス76および78の名称は、それ
ぞれ /usr/locol/cachecast/cachecastw と /usr/locol/cachecast/cachecastwc である。起動時の引数は、 cachecastw -h 配送クライアント計算機名称 -p ポート番号 \ -s 開始時刻 -e 終了時刻 -r 毎時最大転送バイト数 \ -i URL 合致パターンファイル名称 \ -x URL 排除パターンファイル名称 \ -m 最大並列プロセス数 \ -c クライアント名称合致パターンファイル名称 \ -X クライアント名称排除パターンファイル名称 という形式である。cachecastwc においても引数の書式
は同じである。
The names of the child processes 76 and 78 are / usr / locol / cachecast / cachecastw and / usr / locol / cachecast / cachecastwc, respectively. Arguments at startup are: cachecastw -h delivery client computer name -p port number \ -s start time -e end time -r maximum transfer bytes per hour \ -i URL matching pattern file name \ -x URL exclusion pattern file name \ -m Maximum number of parallel processes \ -c Client name matching pattern file name \ -X Client name exclusion pattern file name The format of the argument is the same for cachecastwc.

【0101】例を挙げると、4台のクライアント計算機
が配送対象であれば、以下の8つのプロセスを起動す
る。 cachecastw -h client1 -p 8080 -s 9:00 -e 17:00 \ -i /usr/local/cachecast/client1/pattern.txt \ -x /client1/exclude.txt -c /usr/local/cachecast/cpattern.txt \ -X /usr/local/cacahecast/cexclude.txt & cachecastw -h client2 -p 8080 -s 9:00 -e 17:00 \ -i /usr/local/cachecast/client2/pattern.txt \ -x /client2/exclude.txt -c /usr/local/cachecast/cpattern.txt \ -X /usr/local/cacahecast/cexclude.txt & cachecastw -h client3 -p 8080 -s 9:00 -e 17:00 \ -i /usr/local/cachecast/client3/pattern.txt \ -x /client3/exclude.txt -c /usr/local/cachecast/cpattern.txt \ -X /usr/local/cacahecast/cexclude.txt & cachecastw -h client4 -p 8080 -s 9:00 -e 17:00 \ -i /usr/local/cachecast/client4/pattern.txt \ -x /client4/exclude.txt -c /usr/local/cachecast/cpattern.txt \ -X /usr/local/cacahecast/cexclude.txt & cachecastwc -h client1 -p 8080 -s 9:00 -e 17:00 \ -i /usr/local/cachecast/client1/pattern.txt \ -x /client1/exclude.txt -c /usr/local/cachecast/cpattern.txt\ -X /usr/local/cacahecast/cexclude.txt & cachecastwc -h client2 -p 8080 -s 9:00 -e 17:00 \ -i /usr/local/cachecast/client2/pattern.txt \ -x /client2/exclude.txt -c /usr/local/cachecast/cpattern.txt \ -X /usr/local/cacahecast/cexclude.txt & cachecastwc -h client3 -p 8080 -s 9:00 -e 17:00 \ -i /usr/local/cachecast/client3/pattern.txt \ -x /client3/exclude.txt -c /usr/local/cachecast/cpattern.txt \ -X /usr/local/cacahecast/cexclude.txt & cachecastwc -h client4 -p 8080 -s 9:00 -e 17:00 \ -i /usr/local/cachecast/client4/pattern.txt \ -x /client4/exclude.txt -c /usr/local/cachecast/cpattern.txt \ -X /usr/local/cacahecast/cexclude.txt & このプロセスにより、4台のクライアント計算機10に
対して9時から17時までの間キャッシュの配送を行な
う。このときクライアント計算機10の受信制御部28
は、TCP/IPのポート番号8080でサービスを受付けて
いることを示す。
For example, if four client computers are to be delivered, the following eight processes are started. cachecastw -h client1 -p 8080 -s 9:00 -e 17:00 \ -i /usr/local/cachecast/client1/pattern.txt \ -x /client1/exclude.txt -c / usr / local / cachecast / cpattern.txt \ -X /usr/local/cacahecast/cexclude.txt & cachecastw -h client2 -p 8080 -s 9:00 -e 17:00 \ -i /usr/local/cachecast/client2/pattern.txt \ -x /client2/exclude.txt -c /usr/local/cachecast/cpattern.txt \ -X /usr/local/cacahecast/cexclude.txt & cachecastw -h client3 -p 8080 -s 9:00 -e 17: 00 \ -i /usr/local/cachecast/client3/pattern.txt \ -x /client3/exclude.txt -c /usr/local/cachecast/cpattern.txt \ -X /usr/local/cacahecast/cexclude.txt & cachecastw -h client4 -p 8080 -s 9:00 -e 17:00 \ -i /usr/local/cachecast/client4/pattern.txt \ -x /client4/exclude.txt -c / usr / local / cachecast /cpattern.txt \ -X /usr/local/cacahecast/cexclude.txt & cachecastwc -h client1 -p 8080 -s 9:00 -e 17:00 \ -i /usr/local/cachecast/client1/pattern.txt \ -x /client1/exclude.txt -c /usr/local/cachecast/cpattern.txt \ -X /usr/local/cacahecast/cexclude.txt & cachecastw c -h client2 -p 8080 -s 9:00 -e 17:00 \ -i /usr/local/cachecast/client2/pattern.txt \ -x /client2/exclude.txt -c / usr / local / cachecast / cpattern.txt \ -X /usr/local/cacahecast/cexclude.txt & cachecastwc -h client3 -p 8080 -s 9:00 -e 17:00 \ -i /usr/local/cachecast/client3/pattern.txt \ -x /client3/exclude.txt -c /usr/local/cachecast/cpattern.txt \ -X /usr/local/cacahecast/cexclude.txt & cachecastwc -h client4 -p 8080 -s 9:00 -e 17: 00 \ -i /usr/local/cachecast/client4/pattern.txt \ -x /client4/exclude.txt -c /usr/local/cachecast/cpattern.txt \ -X /usr/local/cacahecast/cexclude.txt & By this process, the cache is delivered to the four client computers 10 from 9:00 to 17:00. At this time, the reception control unit 28 of the client computer 10
Indicates that the service is being received on the TCP / IP port number 8080.

【0102】4つのファイルcpattern.txt(クライアン
ト名称合致パターンファイル66)、cexclude.txt(ク
ライアント名称排除パターンファイル64)、pattern.
txt(URL 合致パターンファイル68)、exclude.txt
(URL 排除パターンファイル70)については次のステ
ップ以後に意味と利用方法を示す。 [step1−2]アクセスログファイル14の末尾へ
ファイルポインタをseekする。 [step1−3]アクセスログファイル読出 アクセスログファイル14には、ゲートウェイ計算機6
で動作するマスタproxy サーバプロセス12が、クライ
アント計算機8からのユーザアクセスによりURL で指定
されたファイルオブジェクトの中継を行なった際の情報
が時事刻々以下のようなフォーマットで書込まれてい
る。 クライアント計算機名 - -[日時 時間オフセット]
“GET http://naragw.sharp.co.jp/S2.gif HTTP/1.0 ”
状態コード データサイズ キャッシュ配送制御部18は、アクセスログファイル1
4を1行づつFIFOバッファを経由して読出す。FIFOバッ
ファはOS内部にあり、書込ポインタはマスタproxy サー
バプロセス12がアクセスログファイル14にアクセス
ログを書込んだ行を示しており、読出ポインタはキャッ
シュ配送制御部18が読出している行に設定される。
The four files cpattern.txt (client name matching pattern file 66), cexclude.txt (client name exclusion pattern file 64), and pattern.
txt (URL matching pattern file 68), exclude.txt
For (URL exclusion pattern file 70), the meaning and usage method will be described after the next step. [Step 1-2] Seek the file pointer to the end of the access log file 14. [Step 1-3] Read access log file The access log file 14 contains the gateway computer 6
The information obtained when the master proxy server process 12 operating under the condition that the file object specified by the URL is relayed by user access from the client computer 8 is written in the following format every moment. Client computer name--[Date and time offset]
“GET http://naragw.sharp.co.jp/S2.gif HTTP / 1.0”
Status code data size cache delivery control unit 18
4 is read out one line at a time via the FIFO buffer. The FIFO buffer is inside the OS, the write pointer indicates the line in which the master proxy server process 12 has written the access log in the access log file 14, and the read pointer is set in the line read by the cache delivery control unit 18. Is done.

【0103】読出したURL 名称をURLBUFと呼ぶメモリ変
数に格納する。上記フォーマットであれば7番目のフィ
ールドがURL 名称(http://naragw.sharp.co.jp/S2.gi
f)である。またクライアント計算機名称はCLIENTと呼
ぶ変数に格納する。上記フォーマットであれば1番目の
フィールドがそれに相当する。
The read URL name is stored in a memory variable called URLBUF. In the above format, the seventh field is the URL name (http://naragw.sharp.co.jp/S2.gi
f). The client computer name is stored in a variable called CLIENT. In the above format, the first field corresponds to it.

【0104】アクセスログファイル14よりアクセスロ
グを読出す際、GET メソッド(GEThttp:// )を含む行
のみを読出す。これは、GET メソッドが、マスタproxy
サーバプロセス12がファイルオブジェクトをキャッシ
ュファイル16にキャッシュしていることを示している
からである。よって、他のPOSTメソッド、HEADメソッド
などは読み飛ばす。GET メソッドに該当するものがなけ
れば、[step1−3]に戻り、次のアクセスログの
発生を待つ。 [step1−4]状態コードチェック アクセスログの状態コードが302であるかまたは40
0以上であれば、ファイルオブジェクトがサーバ計算機
4に存在しないか、再度アクセスを行なう必要があるか
のいずれかであるので、この条件に一致すれば[ste
p1−3]に戻る。 [step1−5]URL チェック アクセスログに含まれるURL がクライアント計算機10
にファイルオブジェクト配送するための条件を満足して
いるか否かをチェックする。URL 中に「? 」文字や、特
定の文字列(cgi-bin やhtbin など)を含む場合には、
[step1−3]に戻る。「? 」や「cgi-bin 」、
「htbin 」という文字を含むものはクライアント計算機
からサーバ計算機に情報を伝えるために動的に生成され
るファイルオブジェクトであり、ファイルサイズが不明
である。このため、キャッシュされず、キャッシュを配
送する目的に合致しない。 [step1−6]オブジェクトリード 目的とするファイルオブジェクトがキャッシュファイル
16にキャッシュされているオブジェクトか否かを判断
する。マスタproxy サーバプロセス12がポート番号1
0080で動作しているならば、このポート番号に対し
て該当URL を通常のproxy 利用方法を使って取得する。
When reading the access log from the access log file 14, only the line including the GET method (GEThttp: //) is read. This is because the GET method is the master proxy
This is because the server process 12 has cached the file object in the cache file 16. Therefore, other POST method, HEAD method, etc. are skipped. If there is no corresponding GET method, the process returns to [step 1-3] and waits for generation of the next access log. [Step 1-4] Status Code Check The status code of the access log is 302 or 40
If it is 0 or more, it means that the file object does not exist in the server computer 4 or it needs to be accessed again.
p1-3]. [Step 1-5] URL check The URL included in the access log is the client computer 10
Check whether the conditions for delivering the file object to the server are satisfied. If the URL contains the "?" Character or certain strings (such as cgi-bin or htbin)
Return to [step 1-3]. "?", "Cgi-bin",
Those containing the characters "htbin" are dynamically generated file objects for transmitting information from the client computer to the server computer, and the file size is unknown. Therefore, it is not cached and does not match the purpose of delivering the cache. [Step 1-6] Object Read It is determined whether or not the target file object is an object cached in the cache file 16. Master proxy server process 12 has port number 1
If it is operating on 0080, the corresponding URL is obtained for this port number using the normal proxy usage method.

【0105】このネットワークアクセスの実現方法とし
ては、UNIX OS のネットワーク機能の基本であるソケッ
ト機構を利用する。これはクライアント計算機8がゲー
トウェイ計算機6に対し、ファイルオブジェクトを取得
するためにネットワーク接続する方法と同じである。
As a method for realizing this network access, a socket mechanism which is the basis of the network function of the UNIX OS is used. This is the same as the method in which the client computer 8 makes a network connection to the gateway computer 6 to obtain a file object.

【0106】キャッシュ配送制御部18は、socket()
システムコールにより得たsocketであるsdファイルディ
スクリプタを使って、指定されたゲートウェイ計算機6
のマシン名称とTCP/IPのポート番号10080との間
で、connect ()システムコールを発生してコネクショ
ンを確立する。
The cache delivery control unit 18 uses socket ()
Using the sd file descriptor, which is the socket obtained by the system call, the specified gateway computer 6
A connect () system call is generated between the machine name and the TCP / IP port number 10080 to establish a connection.

【0107】次に、sdを使った通常のファイルのread/w
riteと同様に$URLBUF にて指定されたサーバ計算機4の
ファイルオブジェクトを読出すためのGET メソッドをwr
iteし、データをreadする。
Next, read / w of a normal file using sd
GET method to read the file object of server computer 4 specified by $ URLBUF as in rite
ite and read the data.

【0108】すなわち、\r=0x0t \n=0x0aというヘキサ
コードで表わされる改行コードとして、 GET URL 名称 HTTP/1.0\r\n\r\n をこのファイルディスクリプタsdにwrite する。sdより
EOF (エンドオブファイル)までデータを読出し、マス
タproxy サーバプロセス12から指定URL のファイルオ
ブジェクトのヘッダとデータ部とを読出す。HTTPの規定
によりヘッダとデータ部との間は\r\n\r\nで区切られて
いる。読出したヘッダおよびデータを一時キャッシュフ
ァイル20に保存する。一時キャッシュファイル20の
ファイル名称は、たとえば、URL 名称がhttp://naragw.
sharp.co.jp/S2.gifの場合、/usr/spool/cachecast/tmp
/http/naragw.sharp.co.jp/S2.gif とする。 [step1−7]キャッシュ有無の判定 [step1−6]で読出したヘッダ部に、通常データ
部の長さを表わすContent-Length: フィールドがあれば
キャッシュファイル16に該当するファイルオブジェク
トがキャッシュされている。これはユーザごとに異なる
ページ内容をファイルオブジェクトとして提供するサー
バ計算機4において生成されるヘッダ部の特徴である。
一般にゲートウェイ計算機(proxy サーバ装置)6では
複数のクライアント計算機の利用を前提としている。Co
ntent-Length: フィールドが無いヘッダを有するファイ
ルオブジェクトはクライアント計算機に中継されるだけ
でキャッシュファイル16にはキャッシュされない。キ
ャッシュされていれば[step1−8]へ分岐し、キ
ャッシュされていなければ[step1−9]へ分岐す
る。 [step1−8]キャッシュありの処理 ファイル72(ファイル名称/usr/spool/cachecast/tmp
/url.log)に、以下のコモンログフォーマットでデータ
を書込む。 クライアント計算機名称 - - [日時 時刻オフセッ
ト] “GET URL名称 HTTP/1.0” 状態コード バイ
ト数 また、一時キャッシュファイル20は不要であるので消
去し、[step1−3]へ戻る。 [step1−9]キャッシュなしの処理 ファイル74(ファイル名称/usr/spool/cachecast/tmp
/url.c.log)に、以下のコモンログフォーマットでデー
タを書込み、[step1−3]に戻る。 クライアント計算機名称 - - [日時 時刻オフセッ
ト] “GET URL名称 HTTP/1.0” 状態コード バイ
ト数 図7を参照して、子プロセスcachecastwの動作について
説明する。[step1−1]で起動した複数のcachec
astwプロセスは実際にURL ファイルオブジェクトの配送
を担当する。そのうちの1つの動作を順を追って説明す
る。子プロセスcachecastwはクライアント計算機1台あ
たり1つのプロセスが割当てられている。cachecastw
は、以下のフォーマットで起動される。 cachecastw -h 配送クライアント計算機名称 -p ポート番号 \ -s 開始時刻 -e 終了時刻 \ -r 毎時最大転送バイト数 \ -i URL 合致パターンファイル名称 \ -x URL 排除パターンファイル名称 \ -m 最大並列プロセス数 \ -c クライアント名称合致パターンファイル名称 \ -X クライアント名称排除パターンファイル名称 以下の説明では、配送クライアント計算機名称は$RECEI
VER 、ポート番号は$PORT なる変数名で参照されるとす
る。 [step2−1]起動 cachecastwは起動されると指定の開始時刻をすぎている
か否かを調べる。現在の時刻はOSのシステムコールから
得られる。開始時刻以前であれば開始時刻までsleep し
て待機する。開始時刻になれば[step2−2]に進
む。配送クライアント名称を$RECEIVER という変数に格
納しておく。 [step2−2]タイマ設定と初期化 1時間後にソフトウェア割込が発生するようOSタイマを
セットする。変数であるブロック数blkcntを0に初期化
する。 [step2−3]ファイルポインタseek ファイル72(ファイル名称/usr/spool/cachecast/tmp
/url.log)をオープンし、ファイルポインタをファイル
の末尾までseekする。 /usr/spool/cachacast/tmp/url.$RECEIVER.$blkcnt.log というファイル名称で新しく一時URL 集計用バッファ8
0を生成する。一定時間後(たとえば1時間後)に[s
tep2−11]以降の処理を実行するようにOSタイマ
をセットする。 [step2−4]1行読込 /usr/spool/cachecast/tmp/url.logから1行読出す。こ
のファイルの1行あたりのデータは、前述したように以
下のようになっている。 クライアント計算機名称、 - -、 [日時 時刻オフセ
ット]、 “GET URL名称 HTTP/1.0” 状態コード
転送バイト数 次に、URL 名称を$URLBUF という変数に格納する。クラ
イアント計算機名称を$CLIENT という変数に格納する。 [step2−5]クライアント排除 次にcachecastwプロセス起動時に引数で指定されたクラ
イアント名称排除ファイル64(cexclude.txt)に含ま
れる文字列とクライアント計算機名称($CLIENT )との
比較を行ない、合致するパターンがあればキャッシュ配
送を行なわないので[step2−4]に戻る。たとえ
ばcexclude.txtの内容が、 badboy others であり、クライアント計算機名称がbadboy.foo.co.jpで
あれば、このクライアント計算機8が利用したURL ファ
イルオブジェクトのキャッシュ配送を行なわない。これ
により管理者は特定のクライアント計算機8がアクセス
するURL のファイルオブジェクトの配送を抑止すること
ができる。 [step2−6]クライアント合致 次にプロセスcachecastw起動時に引数で指定されたクラ
イアント名称合致ファイル66(cpattern.txt)に含ま
れる文字列とクライアント計算機名称との比較を行な
い、合致するパターンが1つでもあればURL ファイルオ
ブジェクトのキャッシュ配送を行なうので次に進む。そ
うでなければ[step2−4]に戻る。たとえばcpat
tern.txtの内容が goodboy friends であり、クライアント計算機名称がgoodboy.foo.co.jp
であれば、このクライアントが利用したURL ファイルオ
ブジェクトのキャッシュ配送を行なう。これにより管理
者は特定のクライアント計算機8がアクセスするURL の
ファイルオブジェクトのみを明示的に配送許可すること
ができる。クライアント名称合致ファイル66(cpatte
rn.txt)の内容が“* ”であれば、すべてのクライアン
ト計算機が利用したURL ファイルオブジェクトのキャッ
シュ配送を行なう。 [step2−7]URL 排除 次にcachecastwプロセス起動時に引数で指定されたURL
排除パターンファイル70(exclude.txt )に含まれる
文字列とURL 名称との比較を行ない、合致するパターン
があればキャッシュ配送を行なわないので[step2
−4]に戻る。たとえばexclude.txt の内容が playboy penthouse であり、URL 名称がhttp://www.playboy.foo.com/page.
gif であれば、キャッシュ配送を行なわない。これによ
りクライアント計算機10の望まないURL の配送を抑止
する。 [step2−8]配送排除 クライアント計算機名称$CLIENT と配送クライアント計
算機名称$RECEIVER とが一致しているかどうかを調べ、
一致していればキャッシュ配送を行なわないので[st
ep2−4]に戻る。
That is, the GET URL name HTTP / 1.0 \ r \ n \ r \ n is written to this file descriptor sd as a line feed code represented by a hexadecimal code of \ r = 0x0t \ n = 0x0a. by sd
Data is read up to EOF (end of file), and the header and data part of the file object of the specified URL are read from the master proxy server process 12. According to the HTTP specification, the header and the data section are separated by \ r \ n \ r \ n. The read header and data are stored in the temporary cache file 20. The file name of the temporary cache file 20 is, for example, the URL name is http: // naragw.
For sharp.co.jp/S2.gif, / usr / spool / cachecast / tmp
/http/naragw.sharp.co.jp/S2.gif [Step 1-7] Judgment of Cache Existence If the header read in [Step 1-6] has a Content-Length: field indicating the length of the normal data part, the file object corresponding to the cache file 16 is cached. . This is a feature of the header generated in the server computer 4 that provides different page contents for each user as a file object.
Generally, it is assumed that the gateway computer (proxy server device) 6 uses a plurality of client computers. Co
A file object having a header with no ntent-Length: field is relayed only to the client computer and is not cached in the cache file 16. If it is cached, the process branches to [step 1-8]. If it is not cached, the process branches to [step 1-9]. [Step 1-8] Processing with cache file 72 (file name / usr / spool / cachecast / tmp
/url.log) and write data in the following common log format. Client computer name--[Date and time offset] "GET URL name HTTP / 1.0" Status code Number of bytes Since the temporary cache file 20 is unnecessary, delete it and return to [step 1-3]. [Step 1-9] Processing without cache file 74 (file name / usr / spool / cachecast / tmp
/url.c.log), write data in the following common log format, and return to [step 1-3]. Client computer name--[Date and time offset] "GET URL name HTTP / 1.0" Status code Number of bytes The operation of the child process cachecastw will be described with reference to FIG. Multiple cachec started in [step1-1]
The astw process is actually responsible for delivering the URL file object. One of the operations will be described step by step. One process is allocated to the child process cachecastw for each client computer. cachecastw
Is invoked in the following format: cachecastw -h Delivery client computer name -p Port number \ -s Start time -e End time \ -r Maximum transfer bytes per hour \ -i URL match pattern file name \ -x URL exclusion pattern file name \ -m Maximum parallel process Number \ -c Client name matching pattern file name \ -X Client name exclusion pattern file name In the following description, the delivery client computer name is $ RECEI
It is assumed that the VER and the port number are referred to by a variable name of $ PORT. [Step 2-1] Startup When started, cachecastw checks whether or not the specified start time has passed. The current time is obtained from the OS system call. If it is before the start time, sleep until the start time and wait. When the start time comes, the process proceeds to [step 2-2]. Store the delivery client name in the variable $ RECEIVER. [Step 2-2] Timer setting and initialization An OS timer is set so that a software interrupt occurs one hour later. The number of blocks blkcnt, which is a variable, is initialized to zero. [Step 2-3] File pointer seek file 72 (file name / usr / spool / cachecast / tmp
/url.log) and seek the file pointer to the end of the file. A new temporary URL totaling buffer 8 with a file name of /usr/spool/cachacast/tmp/url.$RECEIVER.$blkcnt.log
Generate 0. After a certain time (for example, one hour), [s
Step 2-11]: An OS timer is set so as to execute the processing after step 2. [Step 2-4] Read one line Read one line from /usr/spool/cachecast/tmp/url.log. The data per line of this file is as follows as described above. Client computer name,--, [Date and time offset], "GET URL name HTTP / 1.0" Status code
Next, store the URL name in the variable $ URLBUF. Store the client computer name in a variable called $ CLIENT. [Step 2-5] Client exclusion Next, the character string included in the client name exclusion file 64 (cexclude.txt) specified by the argument when the cachecastw process is started is compared with the client computer name ($ CLIENT), and a matching pattern is found. If there is, cache delivery is not performed, and the process returns to [step 2-4]. For example, if the content of cexclude.txt is badboy others and the client computer name is badboy.foo.co.jp, cache delivery of the URL file object used by the client computer 8 is not performed. As a result, the administrator can suppress the delivery of the file object of the URL accessed by the specific client computer 8. [Step 2-6] Client Matching Next, the character string included in the client name matching file 66 (cpattern.txt) specified by the argument when the process cachecastw is started is compared with the client computer name, and even if there is at least one matching pattern If so, proceed with the cache file delivery of the URL file object. If not, the process returns to [step 2-4]. For example cpat
The content of tern.txt is goodboy friends and the client computer name is goodboy.foo.co.jp
If so, perform cache delivery of the URL file object used by this client. As a result, the administrator can explicitly permit only the file object of the URL accessed by the specific client computer 8 to be delivered. Client name match file 66 (cpatte
If the content of (rn.txt) is "*", cache delivery of the URL file object used by all client computers is performed. [Step 2-7] URL exclusion Next, the URL specified by the argument when starting the cachecastw process
The character string included in the exclusion pattern file 70 (exclude.txt) is compared with the URL name. If there is a matching pattern, cache delivery is not performed.
-4]. For example, the content of exclude.txt is playboy penthouse, and the URL name is http://www.playboy.foo.com/page.
If it is a gif, do not perform cache delivery. As a result, the delivery of an undesired URL of the client computer 10 is suppressed. [Step 2-8] Exclude delivery Check if the client computer name $ CLIENT matches the delivery client computer name $ RECEIVER,
If they match, cache delivery is not performed, so [st
ep2-4].

【0109】たとえば配送クライアント計算機名称がcl
ient1 であるとする。次のようなurl.log のうち1行目
はクライアント計算機名称と配送クライアント計算機名
称が一致するのでキャッシュ配送しない。 client1 [時刻 日時オフセット] “GET http://n
aragw.sharp.co.jp/index.html HTTP/1.0 ” 200 1717 client2 [時刻 日時オフセット] “GET http://n
aragw.sharp.co.jp/sharpcolor.gif HTTP/1.0 ” 200 1
370 1行目は、クライアント計算機(client1 )から実アク
セスが発生していることを意味している。このため、既
にクライアント計算機(client1 )のクライアントキャ
ッシュファイルには該当のURL のファイルオブジェクト
がキャッシュされているはずであり重複したキャッシュ
配送を防止することができる。 [step2−9]プロセスcachecastw起動時に引数で
指定されたURL 合致パターンファイル68(pattern.tx
t )の内容とURL 名称との比較を行ない、合致するパタ
ーンがなければキャッシュ配送を行なわないため[st
ep2−4]に戻る。なおURL 合致パターンファイル6
8の内容が“* ”であれば、すべてのURL 名称のファイ
ルオブジェクトをキャッシュ配送することとする。 [step2−10]以上のフィルタリングを通過した
URL を以下のファイル名称のファイル80に書込み、
[step2−4]に戻る。 /usr/local/cachecast/tmp/url.$RECEIVER.$blkcnt.log 図8を参照して、[step2−3]でセットしたOSタ
イマによる定時タイマ割込で発生する配送制御実行プロ
セスについて説明する。配送制御実行プロセスは、アク
セスログファイル14からURL 名称のみを集計し、頻度
順にしたものを作り、それを先頭から順次配送処理す
る。配送処理においては、転送バイト数を累計し、指定
の毎時最大転送量を超えた場合に終了する。 [step2−11]定時割込処理 ファイル80(/usr/local/cachecast/tmp/url.$RECEIV
ER.$blkcnt.log)をクローズする。ブロック数($blkcn
t )を1増やす。したがって配送クライアント計算機名
称がgoodboy であれば、 /usr/local/cachecast/tmp/url.goodboy.1.log /usr/local/cachecast/tmp/url.goodboy.2.log /usr/local/cachecast/tmp/url.goodboy.3.log /usr/local/cachecast/tmp/url.goodboy.4.log ; ; というファイル名称のファイル80が毎時間生成されて
いく。このファイル80は次の処理プロセスに渡され
る。 [step2−12]タイマ処理終了 ファイル80(/usr/local/cachecast/tmp/url.$RECEIV
ER.$blkcnt.log)をオープンする。また、定時タイマ割
込を1時間後に設定する。以下の処理を集計子プロセス
ccwsumとしてバックグラウンドプロセスとして起動す
る。
For example, if the delivery client computer name is cl
Let it be ient1. The first line of the following url.log is not cache-distributed because the client computer name matches the delivery client computer name. client1 [time date / time offset] “GET http: // n
aragw.sharp.co.jp/index.html HTTP / 1.0 ”200 1717 client2 [time and date offset]“ GET http: // n
aragw.sharp.co.jp/sharpcolor.gif HTTP / 1.0 ”200 1
The first line 370 indicates that a real access has occurred from the client computer (client1). For this reason, the file object of the corresponding URL must already be cached in the client cache file of the client computer (client1), and duplicate cache delivery can be prevented. [Step 2-9] URL matching pattern file 68 (pattern.tx
t) is compared with the URL name, and cache delivery is not performed if there is no matching pattern.
ep2-4]. URL matching pattern file 6
If the content of No. 8 is "*", the file objects of all URL names are cached and delivered. [Step 2-10] passed filtering
Write the URL to file 80 with the following file name,
It returns to [step2-4]. /usr/local/cachecast/tmp/url.$RECEIVER.$blkcnt.log With reference to FIG. 8, a description will be given of the delivery control execution process that occurs when the OS timer set in [step 2-3] interrupts the regular timer. . The delivery control execution process counts only the URL names from the access log file 14, creates a file in order of frequency, and performs delivery processing sequentially from the top. In the delivery process, the number of transfer bytes is accumulated, and the process is terminated when the specified hourly maximum transfer amount is exceeded. [Step 2-11] Scheduled interruption processing file 80 (/usr/local/cachecast/tmp/url.$RECEIV
ER. $ Blkcnt.log). Number of blocks ($ blkcn
t) is increased by one. Therefore, if the delivery client computer name is goodboy, /usr/local/cachecast/tmp/url.goodboy.1.log /usr/local/cachecast/tmp/url.goodboy.2.log / usr / local / cachecast / tmp / url.goodboy.3.log /usr/local/cachecast/tmp/url.goodboy.4.log; A file 80 with a file name of ;; is generated every hour. This file 80 is passed to the next processing process. [Step 2-12] Timer processing end file 80 (/usr/local/cachecast/tmp/url.$RECEIV
ER. $ Blkcnt.log). Also, the scheduled timer interrupt is set one hour later. The following process is an aggregator process
Start as a background process as ccwsum.

【0110】図9を参照して、集計子プロセスccwsumの
動作説明を[step2−13]以後に行なう。 [step2−13]ccwsum URL出現頻度順処理 ファイル名称/usr/local/cachecast/tmp/url.$RECEIVE
R. ($blkcnt-1 )logのファイル80をオープンし、UR
L 名称をその出現頻度順でソートし、出現頻度順にURL
を並べる処理を行なう。たとえばUNIXであればsort、un
iq、awk を使って以下のようなコマンドで実現すること
ができる。 cat /usr/local/cachecast/tmp/url.$RECEIVER.1.log \ | awk ‘{print $7 “ ” $10 }’ \ | sort | uniq -c | sort -n -r \ | awk ‘{print $2 “ ” $3 }’ たとえば、以下のように出現頻度順にURL 名称とバイト
数とが出力される。 http://www.sharp.co.jp/index.html 2300 http://www.sharp.co.jp/a.gif 5423 ; ; この出力をURL 頻度順一時ファイル82 /usr/local/cachecast/tmp/url.$RECEIVER. ($blkcnt-
1 ).pop に書込む。またこのファイルのファイルポインタを先頭
に戻す。以上の処理により、アクセスログファイル14
のバッファリングが行なわれ、一定時間ごとに集計され
て、出現頻度の高いものだけが配送されることになる。
Referring to FIG. 9, the operation of tally child process ccwsum will be described after [step 2-13]. [Step 2-13] ccwsum URL appearance frequency order processing File name / usr / local / cachecast / tmp / url. $ RECEIVE
R. ($ blkcnt-1) Open the log file 80 and UR
L Sort names in order of appearance frequency, and URL in order of appearance frequency
Are arranged. For example, UNIX, sort, un
It can be realized by the following commands using iq and awk. cat /usr/local/cachecast/tmp/url.$RECEIVER.1.log \ │ awk '{print $ 7 “” $ 10}' \ | sort | uniq -c | sort -n -r \ | awk '{print $ 2 “” $ 3} 'For example, the URL name and the number of bytes are output in the order of appearance frequency as follows. http://www.sharp.co.jp/index.html 2300 http://www.sharp.co.jp/a.gif 5423 ; ; This output is the URL frequency order temporary file 82 / usr / local / cachecast / tmp / url. $ RECEIVER. ($ blkcnt-
1) Write to .pop. Also returns the file pointer of this file to the beginning. With the above processing, the access log file 14
Are buffered and counted at regular intervals, and only those with a high appearance frequency are delivered.

【0111】配送クライアント計算機名称($RECEIVER
)がgoodboy であれば /usr/local/cachecast/tmp/url.goodboy.1.pop /usr/local/cachecast/tmp/url.goodboy.2.pop /usr/local/cachecast/tmp/url.goodboy.3.pop /usr/local/cachecast/tmp/url.goodboy.4.pop ; ; というファイルが毎時間生成されてゆく。 [step2−14]初期化部 URL 頻度順一時ファイル82(/usr/local/cachecast/t
mp/url.$RECEIVER. ($blkcnt-1 ).pop)の先頭にファ
イルポインタをseekしておく。配送子プロセス個数を表
わす変数をwebcntとし、webcntを0に初期化する。配送
子プロセスについては後述する。次に、転送バイト総量
を表わす変数bytecnt を0に初期化する。 [step2−15]プロセス数比較部 wait3 ()システムコールを使って、子プロセスの終了
を調べる。子プロセスの終了があればwebcntを1デクリ
メントする。 [step2−16]最大並列プロセス数チェック 配送子プロセスの個数(変数webcntの値)とプロセス7
6(cashecastw)起動時に引数で与えられた最大並列プ
ロセス数とを比較する。配送子プロセスの個数が最大並
列プロセス数以下であれば[step2−17]に進
む。そうでなければ1秒程度sleep ()で休止し、slee
p ()が終了すれば再び[step2−15]を実行す
る。 [step2−17]URL サイズ管理部 URL 頻度順一時ファイル82(/usr/local/cachecast/t
mp/url.$RECEIVER. ($blkcnt-1 ).pop)から1行読出
す。これは配送URL 名称と転送バイト数とを含むファイ
ルである。そこで、これから転送バイト数を切出し、by
tecnt 変数に転送バイト数を加算する。
Delivery client computer name ($ RECEIVER
) Is goodboy /usr/local/cachecast/tmp/url.goodboy.1.pop /usr/local/cachecast/tmp/url.goodboy.2.pop /usr/local/cachecast/tmp/url.goodboy .3.pop /usr/local/cachecast/tmp/url.goodboy.4.pop ; ;; [Step 2-14] Initialization unit URL frequency order temporary file 82 (/ usr / local / cachecast / t
Seek the file pointer at the beginning of mp / url. $ RECEIVER. ($ blkcnt-1) .pop). A variable representing the number of delivery child processes is set to webcnt, and webcnt is initialized to 0. The delivery child process will be described later. Next, a variable bytecnt representing the total amount of transfer bytes is initialized to zero. [Step 2-15] The number-of-processes comparison unit wait3 () Uses the system call to check the end of the child process. If the child process ends, webcnt is decremented by one. [Step 2-16] Maximum number of parallel processes check Number of delivery child processes (value of variable webcnt) and process 7
6 (cashecastw) Compares with the maximum number of parallel processes given by the argument at the time of startup. If the number of delivery child processes is equal to or less than the maximum number of parallel processes, the process proceeds to [step 2-17]. Otherwise, sleep () for about 1 second, sleep
When p () ends, [step 2-15] is executed again. [Step 2-17] URL size management section URL frequency order temporary file 82 (/ usr / local / cachecast / t
Read one line from mp / url. $ RECEIVER. ($ blkcnt-1) .pop). This is a file containing the delivery URL name and the number of bytes transferred. Therefore, the number of transfer bytes will be extracted from now on, by
Add the number of transfer bytes to the tecnt variable.

【0112】bytecnt <= bytecnt + 転送バイト数 [step2−18]転送バイト数チェック このbytecnt がプロセス76(cachecastw)起動時の引
数で与えられた毎時最大転送バイト数を超えるか、また
は1時間経過していれば直ちにこのプロセスを終了す
る。それ以外は、[step2−19]に進む。たとえ
ば、現在時刻が13:40で、毎時最大転送バイト数が
50MBであり、bytecnt が52MBになったとすると、直
ちにプロセス76を終了する。結果として、毎時最大転
送バイト数を超えないようクライアント計算機10への
キャッシュ配送が抑制される。 [step2−19]配送子プロセス起動 該当URL をキャッシュ配送対象のクライアント計算機1
0のクライアントキャッシュファイル32に書込むURL
アクセス子プロセス(配送子プロセス)/usr/local/cac
hecast/webaccessをバックグラウンドプロセスとして起
動する。このときキャッシュステータス(状態コード)
に応じて、引数が異なる。キャッシュファイル16にフ
ァイルオブジェクトがキャッシュされているならば起動
時のオプションは、以下のようになる。 /usr/local/cachecast/webaccess -p $PORT $RECEIV
ER $URLBUF webaccess プロセスの並列動作数を制御するために同時
実行数として、変数webcntの値に1を加算する。
Bytecnt <= bytecnt + transfer byte count [step 2-18] transfer byte count check This bytecnt exceeds the maximum transfer byte count per hour given by the argument at the time of starting the process 76 (cachecastw), or one hour has elapsed. If so, end this process immediately. Otherwise, proceed to [step 2-19]. For example, if the current time is 13:40, the maximum number of bytes transferred per hour is 50 MB, and bytecnt reaches 52 MB, the process 76 is immediately terminated. As a result, cache delivery to the client computer 10 is suppressed so as not to exceed the maximum transfer byte count every hour. [Step 2-19] Delivery child process activation Client computer 1 to which the relevant URL is to be cached
URL to write to client cache file 32 of 0
Access child process (delivery child process) / usr / local / cac
Start hecast / webaccess as a background process. At this time, the cache status (status code)
Depends on the argument. If the file object is cached in the cache file 16, the options at the time of startup are as follows. / usr / local / cachecast / webaccess -p $ PORT $ RECEIV
ER $ URLBUF Add 1 to the value of the variable webcnt as the number of concurrent executions to control the number of parallel operations of the webaccess process.

【0113】webcnt <= webcnt + 1 [step2−15]と合わせると、常に配送子プロセ
スwebaccess の実行個数は、webcntに格納されているこ
とになり、最大並列プロセス数以下になるように保たれ
る。次に、[step2−15]に戻る。
When combined with webcnt <= webcnt + 1 [step 2-15], the number of executions of the delivery child process webaccess is always stored in webcnt, and is kept to be less than the maximum number of parallel processes. . Next, the process returns to [step 2-15].

【0114】図10を参照して、キャッシュファイル1
6にファイルオブジェクトがキャッシュされている場合
の配送子プロセス(/usr/local/cachecast/webaccess)
動作を説明する。 [step3−1]webaccess スタート キャッシュ配送対象のクライアント計算機10において
はクライアントキャッシュファイル32を管理するクラ
イアントproxy サーバプロセス30が、webaccss起動時
に引数で指定されたクライアントポート番号で動いてい
るものとする。このクライアントproxy サーバプロセス
30は、その上流にゲートウェイ計算機6で動作してい
るマスタproxy サーバプロセス12に多段接続されてい
るものとする。
Referring to FIG. 10, cache file 1
Delivery child process when file object is cached in 6 (/ usr / local / cachecast / webaccess)
The operation will be described. [Step 3-1] webaccess start In the client computer 10 to be cached, the client proxy server process 30 that manages the client cache file 32 is operating at the client port number specified by the argument when webaccss is started. It is assumed that the client proxy server process 30 is connected in multiple stages to the master proxy server process 12 running on the gateway computer 6 upstream thereof.

【0115】したがってURL アクセス子プロセスwebacc
ess が起動されるとクライアントproxy サーバプロセス
30には指定URL のファイルオブジェクトの取得要求が
送られる。このネットワークアクセスの実現方法は、
[step1−6]で説明したものと同じであり、UNIX
OS のネットワーク機能の基本であるソケット機構を利
用する。これはクライアント計算機8がゲートウェイ計
算機6にファイルオブジェクトを取得するためにネット
ワーク接続する方法と同じである。
Accordingly, the URL access child process webacc
When ess is started, a request to obtain a file object of the specified URL is sent to the client proxy server process 30. The way to achieve this network access is
The same as described in [step 1-6], UNIX
Uses the socket mechanism that is the basis of the OS network function. This is the same as the method in which the client computer 8 makes a network connection to the gateway computer 6 to obtain a file object.

【0116】配送子プロセスwebaccess は、socket()
システムコールにより得たsocketであるsdファイルディ
スクリプタを使って、指定されたゲートウェイ計算機6
のマシン名称と、TCP/IPのクライアントポート番号との
間で、connect ()システムコールを発生してコネクシ
ョンを確立する。 [step3−2]sdを使った通常のファイルのread/w
riteと同様に$URLBUF にて指定されたサーバ計算機4の
ファイルオブジェクトを取得するGET メソッドをwrite
し、データをreadする。
The delivery child process webaccess uses socket ()
Using the sd file descriptor, which is the socket obtained by the system call, the specified gateway computer 6
A connect () system call is generated between the machine name of the client and the TCP / IP client port number to establish a connection. [Step3-2] read / w of normal file using sd
Write GET method to get the file object of server computer 4 specified by $ URLBUF as in rite
And read the data.

【0117】すなわち、\r=0x0t \n=0x0aというヘキサ
コードで表わされる改行コードとして、 GET URL 名称 HTTP/1.0\r\n\r\n をこのファイルディスクリプタsdにwrite する。 [step3−3]クライアントproxy サーバプロセス
30は、ゲートウェイ計算機6のキャッシュ付きマスタ
proxy サーバプロセス12に多段接続されているので、
さらにGETメソッドをマスタproxy サーバプロセス12
に送信する。クライアントproxy サーバプロセス30
は、通常のproxy 機能を実現し、マスタproxy サーバプ
ロセス12からファイルオブジェクトのヘッダとデータ
部とを取得し、クライアントキャッシュファイル32に
書込む。このクライアントproxy サーバプロセス30動
作については後述する。 [step3−4]配送子プロセス(webaccess )は、
次にEOF (エンドオブファイル)までsdよりデータを読
出す。このデータは、クライアントproxy サーバプロセ
ス30からの指定のURL のファイルオブジェクトのヘッ
ダおよびデータ部であるが、webaccess では利用しない
ので読捨て、処理を終了する。
That is, the GET URL name HTTP / 1.0 \ r \ n \ r \ n is written to this file descriptor sd as a line feed code represented by the hexadecimal code of \ r = 0x0t \ n = 0x0a. [Step 3-3] The client proxy server process 30 is a master with a cache of the gateway computer 6.
Since it is connected to the proxy server process 12 in multiple stages,
Further, the GET method is set to the master proxy server process 12
Send to Client proxy server process 30
Implements a normal proxy function, obtains the header and data part of the file object from the master proxy server process 12, and writes it in the client cache file 32. The operation of the client proxy server process 30 will be described later. [Step 3-4] The delivery child process (webaccess)
Next, data is read from sd until EOF (end of file). This data is the header and data part of the file object of the specified URL from the client proxy server process 30, but is not used in webaccess, so it is discarded and the process ends.

【0118】以上の動作により、ゲートウェイ計算機6
にキャッシュされていたURL のファイルオブジェクトが
クライアント計算機10のクライアントproxy サーバプ
ロセス30のクライアントキャッシュファイル32に転
送された。
With the above operation, the gateway computer 6
Has been transferred to the client cache file 32 of the client proxy server process 30 of the client computer 10.

【0119】次にキャッシュファイル16にファイルオ
ブジェクトがキャッシュされていない場合の動作を説明
する。キャッシュされていない場合には、[step1
−1]で起動された子プロセスcachecastwc が子プロセ
スcachecastwと同様の動作を行なう。cachecastwc はca
checastwと比較して、openするファイルが/usr/local/c
achecast/tmp/url.logではなく/usr/local/cachecast/t
mp/url.c.logになる以外は同じである。cachecastwc は
ccwsumを起動し、ccwsumが/usr/local/cachecast/webac
cessを起動し、キャッシュ配送動作を行なう。
Next, the operation when the file object is not cached in the cache file 16 will be described. If it is not cached, [step1
-1], the child process cachecastwc performs the same operation as the child process cachecastw. cachecastwc is ca
The file to open is / usr / local / c compared to checastw
/ usr / local / cachecast / t instead of achecast / tmp / url.log
Same except for mp / url.c.log. cachecastwc is
Start ccwsum and ccwsum is / usr / local / cachecast / webac
Invoke cess to perform cache delivery operation.

【0120】ゲートウェイ計算機6の配送制御部は、一
時キャッシュファイル20の内容を各クライアント計算
機10に配送する。
The delivery control unit of the gateway computer 6 delivers the contents of the temporary cache file 20 to each client computer 10.

【0121】図11を参照して、cachecastwc からccws
umを経由して起動される配送子プロセス/usr/local/cac
hecast/webaccessの動作を説明する。 [step4−1]webaccess スタート キャッシュ配送対象のクライアント計算機10において
は、クライアントキャッシュファイル32を管理する一
時キャッシュ更新用クライアントproxy サーバプロセス
34が、webaccess 起動時に引数で指定された一時キャ
ッシュ用ポート番号で動いているものとする。一例とし
て一時キャッシュ用ポート番号を8090番とする。こ
こでクライアントキャッシュファイル32は、上記[s
tep3−1]で説明したクライアントproxy サーバプ
ロセス30と共有しているものとする。
Referring to FIG. 11, from cachecastwc to ccws
Delivery child process started via um / usr / local / cac
Explain the operation of hecast / webaccess. [Step 4-1] webaccess start In the client computer 10 to be cached, the temporary cache update client proxy server process 34 that manages the client cache file 32 operates with the temporary cache port number specified in the argument when webaccess is started. It is assumed that As an example, the port number for the temporary cache is set to 8090. Here, the client cache file 32 stores the above [s
[step 3-1] is shared with the client proxy server process 30.

【0122】この一時キャッシュ更新用クライアントpr
oxy サーバプロセス34は上流のゲートウェイ計算機6
で動作している一時キャッシュ更新用マスタproxy サー
バプロセス22に多段接続されているものとする。この
一時キャッシュ更新用マスタproxy サーバプロセス22
は10090番のポートで動作しているものとする。一
時キャッシュ更新用マスタproxy サーバプロセス22は
/usr/spool/cachecast/tmp/http/以下をキャッシュとし
て使用しているものとする。
The temporary cache updating client pr
The oxy server process 34 is the upstream gateway computer 6
It is assumed that the multi-stage connection is established with the temporary cache updating master proxy server process 22 running on This temporary cache update master proxy server process 22
Is operating on port 10090. The master proxy server process 22 for updating the temporary cache
It is assumed that / usr / spool / cachecast / tmp / http / is used as a cache.

【0123】したがってURL アクセス子プロセス(配送
子プロセス)webaccess が起動されると、一時キャッシ
ュ更新用クライアントproxy サーバプロセス34には指
定URL のファイルオブジェクトの取得要求GET が送られ
る。さらに一時キャッシュ更新用クライアントproxy サ
ーバプロセス34から一時キャッシュ更新用マスタprox
y サーバプロセス22への接続が行なわれ、/usr/spool
/cachecast/tmp/http/以下の一時キャッシュファイル2
0のデータが一時キャッシュ更新用クライアントproxy
サーバプロセス34へ転送される。
Therefore, when the URL access child process (delivery child process) webaccess is started, a request GET for acquiring the file object of the specified URL is sent to the temporary cache updating client proxy server process 34. Further, the temporary proxy cache updating proxy proxy process 34
y The connection to the server process 22 is made and / usr / spool
Temporary cache file 2 under / cachecast / tmp / http /
0 data is a temporary cache update client proxy
Transferred to server process 34.

【0124】このネットワークアクセスの実現方法は、
[step3−1]−[step3−3]で説明したの
と全く同じであり、UNIX OS のネットワーク機能の基本
であるソケット機構を利用する。これはクライアント計
算機8がゲートウェイ計算機6にファイルオブジェクト
の取得要求送信のためネットワーク接続する方法と同じ
である。
The method for realizing this network access is as follows.
This is exactly the same as described in [step 3-1]-[step 3-3], and uses the socket mechanism which is the basis of the network function of the UNIX OS. This is the same as the method in which the client computer 8 makes a network connection to the gateway computer 6 to transmit a file object acquisition request.

【0125】webaccess 子プロセスは、socket()シス
テムコールにより得たsocketであるsdファイルディスク
リプタを使って、指定されたゲートウェイ計算機6のマ
シン名称と、TCP/IPの一時キャッシュ用ポート番号との
間で、connect ()システムコールを発生してコネクシ
ョンを確立する。 [step4−2]GET メソッド実行 次に、sdを使った通常のファイルのread/writeと同様に
$URLBUF にて指定されたサーバ計算機4のファイルオブ
ジェクトを取得するGET メソッドをwrite し、データを
readする。
The webaccess child process uses the sd file descriptor, which is the socket obtained by the socket () system call, to exchange the specified machine name of the gateway computer 6 with the TCP / IP temporary cache port number. , Connect () system call to establish a connection. [Step 4-2] GET method execution Next, similar to normal file read / write using sd
Write the GET method to get the file object of server computer 4 specified by $ URLBUF and write the data
read.

【0126】すなわち、\r=0x0d \n=0x0aというヘキサ
コードで表わされる改行コードとして、 GET URL 名称 HTTP/1.0\r\n\r\n をこのファイルディスクリプタsdにwrite する。 [step4−3]データ読出 一時キャッシュ更新用クライアントproxy サーバプロセ
ス34は、ゲートウェイ計算機6の一時キャッシュ更新
用マスタproxy サーバプロセス22に多段接続されてい
るので、さらにGET メソッドを一時キャッシュ更新用マ
スタproxy サーバプロセス22に送信する。一時キャッ
シュ更新用クライアントproxy サーバプロセス34は通
常のproxy 機能を利用し一時キャッシュ更新用マスタpr
oxy サーバプロセス22からファイルオブジェクトのヘ
ッダとデータ部とを取得し、クライアントキャッシュフ
ァイル32に書込む。この一時キャッシュ更新用クライ
アントproxy サーバプロセス34の動作については後述
する。 [step4−4]配送子プロセス(webaccess )は、
次にEOF (エンドオブファイル)までsdよりデータを読
出す。このデータは、一時キャッシュ更新用クライアン
トproxy サーバプロセス34からの指定URL のファイル
オブジェクトのヘッダおよびデータ部であるが、webacc
ess では利用しないので読捨て、処理を終了する。
That is, the GET URL name HTTP / 1.0 \ r \ n \ r \ n is written to this file descriptor sd as a line feed code represented by the hexadecimal code \ r = 0x0d \ n = 0x0a. [Step 4-3] Data reading Since the temporary cache updating client proxy server process 34 is connected in multiple stages to the temporary cache updating master proxy server process 22 of the gateway computer 6, the temporary cache updating master proxy server is further executed. Send to process 22. The temporary cache updating client proxy server process 34 uses a normal proxy function to execute the temporary cache updating master proxy.
The header and data part of the file object are obtained from the oxy server process 22 and written into the client cache file 32. The operation of the temporary cache updating client proxy server process 34 will be described later. [Step 4-4] The delivery child process (webaccess)
Next, data is read from sd until EOF (end of file). This data is the header and data part of the file object of the specified URL from the client proxy server process 34 for updating the temporary cache.
It is not used in ess, so it is discarded and the process ends.

【0127】以上の動作によりゲートウェイ計算機6の
一時キャッシュファイル20に一時的にキャッシュされ
ていたURL のファイルオブジェクトがクライアント計算
機10の一時キャッシュ更新用クライアントproxy サー
バプロセス34のクライアントキャッシュファイル32
に転送された。
By the above operation, the file object of the URL temporarily cached in the temporary cache file 20 of the gateway computer 6 becomes the client cache file 32 of the client proxy server process 34 for updating the temporary cache of the client computer 10.
Was transferred to

【0128】図12を参照して、クライアント計算機1
0上で受信制御を行なうクライアントproxy サーバプロ
セス30の動作を説明する。これは、従来技術で述べた
proxy サーバ動作を行なう。クライアントproxy サーバ
プロセス30はクライアント計算機10で動作するキャ
ッシュ付きproxy サーバであり、ネットワーク層を経由
してユーザの使用するブラウザソフトウェア26の接続
を中継する。また同一ポート番号でゲートウェイ計算機
6で動作するキャッシュ配送制御部18からの中継要求
も受入れる。また接続先は上流のマスタproxy サーバプ
ロセス12(ポート番号10080番)とする。
Referring to FIG. 12, client computer 1
The operation of the client proxy server process 30 that performs reception control on the server 0 will be described. This is described in the prior art
Perform proxy server operation. The client proxy server process 30 is a proxy server with a cache that operates on the client computer 10, and relays the connection of the browser software 26 used by the user via the network layer. Also, a relay request from the cache delivery control unit 18 operating on the gateway computer 6 with the same port number is accepted. The connection destination is the upstream master proxy server process 12 (port number 10080).

【0129】ブラウザソフトウェア26のproxy 設定は
localhost の8080番のポートを使用するように設定
する。クライアントproxy サーバプロセス30は、ブラ
ウザソフトウェア26からの中継要求であってもゲート
ウェイ計算機の配送制御部の中継要求であっても同じ処
理を行なう。
The proxy setting of the browser software 26 is
Set to use port 8080 of localhost. The client proxy server process 30 performs the same process whether the request is a relay request from the browser software 26 or a relay request from the delivery control unit of the gateway computer.

【0130】クライアントproxy サーバプロセス30は
上流のゲートウェイ計算機6のマシン名称とマスタprox
y サーバプロセス12のポート番号とその接続状態と最
終接続時刻とを保持したテーブルproxy.tbl とを持つ。
たとえばproxy.tbl には、以下のデータが保持されてい
る。 master 8080 C 199611101130 第1フィールドはマシン名称、第2フィールドはポート
番号を示す。第3フィールドは接続状態(C は接続状
態、N は接続不可)を示す。第4フィールドは接続状態
が判明した時刻を示す。たとえば、199611101130は19
96年11月10日11時30分という意味である。 [step5−1]GET メソッド受付 クライアントproxy サーバプロセス30はポート番号8
080でサービスを受入れるため、待機状態に入る。 [step5−2]コネクション確立 特定のURL の中継要求が8080番のポート番号に対し
て行なわれる場合、キャッシュ配送制御部18とのコネ
クションを確立する。 [step5−3]スレッド生成 クライアントproxy サーバプロセス30はこれを受入れ
るとスレッド(子プロセス)を生成して以下の処理を任
せ、自身は[step5−1]に戻る。 [step5−4]キャッシュチェック スレッドでの動作を開始する。要求する側(ゲートウェ
イ計算機6)の手順は[step1−6]などで説明し
たものと同様である。すなわち\r=0x0d \n=0x0aという
ヘキサコードで表わされる改行コードとして、以下の取
得要求をクライアント計算機10に送信する。 GET URL名称 HTTP/1.0\r\n\r\n そこで、クライアント計算機10のクライアントproxy
サーバプロセス30のスレッドはクライアントキャッシ
ュファイル32にファイルオブジェクトが存在するか否
かを調べる。URL がHTTP://www.sharp.co.jp/test/inde
x.htmlというURLならば具体的には、 C:\proxy\cache\http\www.sharp.co.jp\test\index.htm
l というファイルがあるか否かを調べる。ファイルがなけ
れば[step5−5]へ、ファイルがあれば[ste
p5−7]へ進む。 [step5−5]コネクション確立 proxy.tbl のデータより、接続不可の状態になって3分
以内の場合には、マスタproxy サーバプロセス12との
コネクションの確立を行なわない。接続可能条件を満た
していれば、ゲートウェイ計算機6のマスタproxy サー
バプロセス12のサービスポート番号10080番にコ
ネクションの確立を試みる。さらに接続状態と時刻とを
proxy.tbl に書込み更新する。コネクションが30秒以
内にできない場合proxy.tbl の状態を更新する。コネク
ションできない場合は、エラーメッセージを出力して終
了する。 [step5−6]データ読出とキャッシュ書込 上記手順で確立したいずれかのコネクションを使って、
マスタproxy サーバプロセス12、別のproxy サーバプ
ロセス、サーバ計算機4のいずれかにGET メソッドを送
信し、ヘッダとデータ部とからなるファイルオブジェク
トを読出す。これをクライアントキャッシュファイル3
2に書込む。具体的には、 C:\proxy\cache\http\www.sharp.co.jp\test\index.htm
l にファイルオブジェクトを書込む。また中継要求を出し
た側にもファイルオブジェクトを転送する。HTTPの規定
によりクライアントキャッシュファイル32にはサーバ
計算機4でのファイルオブジェクト作成時刻がLast-Mod
ified:フィールドに記録されている他、クライアント計
算機10のファイルシステム自体にファイル最終変更時
刻が記録されている。このスレッドはこれで終了する。 [step5−7]データ長確認 クライアントキャッシュファイル32のヘッダ部にCont
ent-Length: があるか否かを調べる。Content-Length:
があれば[step5−8]へ分岐する。Content-Leng
th: がなければ、これは動的に生成された一時キャッシ
ュファイルであるのでネットワークから最新のファイル
オブジェクトを得ることができるように[step5−
5]へ進む。 [step5−8]有効期限判断 該当URL のファイルオブジェクトの最終変更時刻T1を読
出し、現在時刻t と比較する。予めキャッシュ有効期限
EXPIREをクライアントproxy サーバプロセスに設定して
おく。
The client proxy server process 30 sends the machine name of the upstream gateway computer 6 and the master proxy
y It has a table proxy.tbl that holds the port number of the server process 12, its connection state, and the last connection time.
For example, the following data is stored in proxy.tbl. master 8080 C 199611101130 The first field shows the machine name, and the second field shows the port number. The third field indicates the connection status (C is connection status, N is connection impossible). The fourth field indicates the time at which the connection state was determined. For example, 199611101130 is 19
It means 11:30 on November 10, 1996. [Step 5-1] GET method reception Client proxy server process 30 has port number 8
At 080, the apparatus enters a standby state to accept the service. [Step 5-2] Connection Establishment When a relay request for a specific URL is made to the port number 8080, a connection with the cache delivery control unit 18 is established. [Step 5-3] Thread Generation Upon receipt of this, the client proxy server process 30 generates a thread (child process) and entrusts the following processing, and returns to [step 5-1]. [Step 5-4] Cache check Start operation in the thread. The procedure on the requesting side (gateway computer 6) is the same as that described in [step 1-6] and the like. That is, the following acquisition request is transmitted to the client computer 10 as a line feed code represented by a hexadecimal code of \ r = 0x0d \ n = 0x0a. GET URL name HTTP / 1.0 \ r \ n \ r \ n Therefore, the client proxy of the client computer 10
The thread of the server process 30 checks whether a file object exists in the client cache file 32. URL is HTTP://www.sharp.co.jp/test/inde
If the URL is x.html, specifically, C: \ proxy \ cache \ http \ www.sharp.co.jp \ test \ index.htm
Check if there is a file called l. If there is no file, go to [step 5-5]. If there is a file, go to [step 5-5].
p5-7]. [Step 5-5] Connection establishment According to the data of proxy.tbl, if the connection is not possible within 3 minutes, the connection with the master proxy server process 12 is not established. If the connectable condition is satisfied, an attempt is made to establish a connection with the service port number 10080 of the master proxy server process 12 of the gateway computer 6. In addition, the connection status and time
Write and update in proxy.tbl. If connection cannot be established within 30 seconds, update the state of proxy.tbl. If the connection cannot be established, an error message is output and the processing ends. [Step 5-6] Data read and cache write Using any of the connections established in the above procedure,
A GET method is transmitted to any one of the master proxy server process 12, another proxy server process, and the server computer 4, and a file object including a header and a data portion is read. This is the client cache file 3
Write to 2. Specifically, C: \ proxy \ cache \ http \ www.sharp.co.jp \ test \ index.htm
Write a file object to l. The file object is also transferred to the side that issued the relay request. According to the HTTP specification, the file object creation time in the server computer 4 is stored in the client cache file 32 as Last-Mod.
In addition to being recorded in the ified: field, the file last modification time is recorded in the file system of the client computer 10 itself. This thread is now finished. [Step 5-7] Data length confirmation Cont is added to the header of the client cache file 32.
Check if ent-Length: is present. Content-Length:
If there is, branch to [step 5-8]. Content-Leng
If th: is not present, this is a dynamically generated temporary cache file so that the latest file object can be obtained from the network [step5-
5]. [Step 5-8] Validity period judgment The last modification time T1 of the file object of the corresponding URL is read and compared with the current time t. Cache expiration date in advance
EXPIRE is set in the client proxy server process.

【0131】t - T1 > EXPIRE であれば、キャッシュされたファイルオブジェクトが有
効期限を過ぎているので[step5−5]に進む。 [step5−9]キャッシュが有効期限を過ぎていな
ければ、クライアントキャッシュファイル32からファ
イルオブジェクトを読出し、中継要求を出した側に転送
する。
If t-T1> EXPIRE, the cached file object has passed its expiration date, and the process proceeds to [step 5-5]. [Step 5-9] If the cache has not expired, the file object is read from the client cache file 32 and transferred to the side that issued the relay request.

【0132】以上のような構成により、ブラウザソフト
ウェア26からアクセスする場合は通常のキャッシュ付
きproxy サーバプロセスとして機能する。また、ゲート
ウェイ計算機6のキャッシュ配送制御部18から見る
と、クライアントproxy サーバプロセス30の上流がマ
スタproxy サーバプロセス12である。このため、キャ
ッシュ配送制御部18が、単純にGET メソッドを発行す
るだけで、マスタproxyサーバプロセス12のキャッシ
ュファイル16がアクセスされ、ファイルオブジェクト
がクライアントproxy サーバプロセス30に転送される
ことが実現できている。
With the above configuration, when accessed from the browser software 26, it functions as a normal proxy server process with a cache. As seen from the cache delivery control unit 18 of the gateway computer 6, the master proxy server process 12 is upstream of the client proxy server process 30. Therefore, the cache delivery control unit 18 simply accesses the cache file 16 of the master proxy server process 12 and issues a file object to the client proxy server process 30 by simply issuing the GET method. I have.

【0133】この他、クライアント計算機では8090
番のポート番号で動作する一時キャッシュ更新用クライ
アントproxy サーバプロセス34が動作している。これ
は、上流の接続先がゲートウェイ計算機6のポート番号
10090番で動作している一時キャッシュ更新用マス
タproxy サーバプロセス22になっている。その他の動
作は[step5−1]以降に説明したものと同じ動作
をするproxy サーバであるので説明を繰返さない。
In addition, the client computer uses
A temporary cache update client proxy server process 34 that operates on the port number is running. The upstream connection destination is the temporary cache update master proxy server process 22 operating on the port number 10090 of the gateway computer 6. Other operations are the same as those of the proxy server described in [step 5-1] and thereafter, and thus description thereof will not be repeated.

【0134】一時キャッシュ更新用proxy サーバプロセ
スは、[step4−1]以降に説明したwebaccess の
要求を受けて、上流の一時キャッシュ更新用マスタprox
y サーバプロセス22のポート10090番にアクセス
しゲートウェイ計算機の/usr/spool/cachecast/tmp/htt
p/www.sharp.co.jp/test/index.html をアクセスするこ
とにより、一時キャッシュファイル20に保持されてい
るファイルオブジェクトのデータを一時キャッシュ更新
用クライアントproxy サーバプロセス34のクライアン
トキャッシュファイル32 C:\proxy\cache\http\www.sharp.co.jp\test\index.htm
l にコピーすることができる。したがって、ユーザがブラ
ウザソフトウェア26を使ってhttp://www.sharp.co.jp
/test/index.htmlをアクセスし、かつゲートウェイ計算
機6への接続やサーバ計算機4への接続ができない状況
では、この一時キャッシュファイル20にあるファイル
オブジェクトがブラウザソフトウェア26に送り出され
る。このため、動的に生成されたファイルオブジェクト
であってもネットワークから切断された環境で利用でき
る。
The proxy server process for updating the temporary cache receives the web access request described in [Step 4-1] and thereafter, and receives the request for the master cache for updating the temporary cache on the upstream side.
y Access port 10090 of the server process 22 and access / usr / spool / cachecast / tmp / htt of the gateway computer.
By accessing p / www.sharp.co.jp / test / index.html, the data of the file object held in the temporary cache file 20 is transferred to the client cache file 32 C of the client proxy server process 34 for updating the temporary cache. : \ proxy \ cache \ http \ www.sharp.co.jp \ test \ index.htm
l can be copied to Therefore, the user can use the browser software 26 to http://www.sharp.co.jp
In a situation where /test/index.html is accessed and connection to the gateway computer 6 or connection to the server computer 4 is not possible, the file object in the temporary cache file 20 is sent to the browser software 26. Therefore, even a dynamically generated file object can be used in an environment disconnected from the network.

【0135】なお、この分散ファイルシステム2におい
て、ゲートウェイ計算機6を経由したサーバ計算機4へ
のアクセスにより同一ファイルオブジェクトが複数のク
ライアント計算機10に同時に配送される性質を利用
し、特定のクライアント計算機8から定期的にサーバ計
算機4の特定のファイルオブジェクトをゲートウェイ計
算機6を経由して機械的にアクセスすることにより、特
定のファイルオブジェクトを複数のクライアント計算機
10に配送することもできる。
In this distributed file system 2, the same file object is simultaneously delivered to a plurality of client computers 10 by accessing the server computer 4 via the gateway computer 6, and a specific client computer 8 is used. By periodically accessing a specific file object of the server computer 4 via the gateway computer 6 mechanically, the specific file object can be delivered to a plurality of client computers 10.

【0136】これによりたとえばあるクライアント計算
機8のユーザが意図的に他のクライアント計算機10の
ユーザに必要と思われるファイルオブジェクトデータを
強制的に配送することが可能になる。たとえば管理職の
クライアント計算機8が、営業に必要な情報をアクセス
しておけば、部下のクライアント計算機10に営業に必
要な資料が自然にキャッシュとして蓄積される。
As a result, for example, a user of a certain client computer 8 can intentionally forcibly deliver file object data deemed necessary to a user of another client computer 10. For example, if the manager's client computer 8 accesses information necessary for sales, materials required for sales are naturally stored as a cache in the subordinate client computer 10.

【0137】またこの分散ファイルシステム2におい
て、クライアント計算機10の受信制御部28は、一定
時間ごとにディスク装置の空きエリア容量を検出し、空
きエリアの一定割合までをクライアントキャッシュファ
イル32として使うようにすることができる。これによ
り、クライアントキャッシュファイル32のキャッシュ
容量の最大値を動的に設定し、これを超えると古いファ
イルオブジェクトや未使用のファイルオブジェクトを消
去し、空きエリアを最大値以内に収めるよう制御するこ
ともできる。
In the distributed file system 2, the reception control unit 28 of the client computer 10 detects the free area capacity of the disk device at fixed time intervals, and uses up to a certain percentage of the free area as the client cache file 32. can do. Thereby, the maximum value of the cache capacity of the client cache file 32 is dynamically set, and when it exceeds this, old file objects and unused file objects are erased, and control is performed so that the free area is kept within the maximum value. it can.

【0138】これによりたとえばあるクライアント計算
機10のディスク装置の空きエリアがクライアントキャ
ッシュファイル32として大部分活用でき、かつ他のア
プリケーションがディスク装置を消費し始めるとクライ
アントキャッシュファイルのキャッシュエリアが縮小す
るため、ユーザはキャッシュサイズの設定作業をする必
要がなくなる。
As a result, for example, the free area of the disk device of a certain client computer 10 can be mostly used as the client cache file 32, and when another application starts consuming the disk device, the cache area of the client cache file is reduced. The user does not need to set the cache size.

【0139】この分散ファイルシステム2において、ゲ
ートウェイ計算機6のキャッシュ配送制御部18が一定
時間ごとに送信データのアクセスログを作成し、アクセ
スログに出現頻度を付記した送信リストをクライアント
計算機10の受信制御部28に送信し、ユーザに提示す
ることもできる。
In the distributed file system 2, the cache delivery control unit 18 of the gateway computer 6 creates an access log of the transmission data at regular time intervals, and transmits the transmission list in which the appearance frequency is added to the access log to the reception control of the client computer 10. It can also be transmitted to the unit 28 and presented to the user.

【0140】これにより、ファイルオブジェクトに関す
るユーザの人気情報の概要を知ることができる。
Thus, an overview of the user's popularity information on the file object can be obtained.

【0141】この分散ファイルシステム2において、ク
ライアント計算機10の受信制御部28はゲートウェイ
計算機6以外に複数のゲートウェイ計算機を上流の接続
先に指定できる。そのうちのいずれにも接続できない場
合は、直接サーバ計算機4に接続を試み、さらにこれも
接続できない場合は、クライアントキャッシュファイル
32からデータを取出す制御方式をとることもできる。
これによりゲートウェイ計算機のいずれかが不調であっ
たり、ネットワークの切断事故などが起きた場合であっ
ても、クライアントキャッシュファイル32からデータ
を取出すことが可能になる。
In the distributed file system 2, the reception control unit 28 of the client computer 10 can designate a plurality of gateway computers other than the gateway computer 6 as upstream connection destinations. If it cannot be connected to any of them, an attempt is made to directly connect to the server computer 4, and if it is not possible to connect any further, a control method of taking out data from the client cache file 32 can be adopted.
Thus, even if one of the gateway computers is malfunctioning or a network disconnection accident occurs, data can be extracted from the client cache file 32.

【0142】またこの分散ファイルシステム2におい
て、クライアント計算機10の受信制御部28が一定時
間ごとに受信アクセスログを作成し、これをもとに集計
した受信リストをユーザに提出することもできる。これ
により受信したファイルオブジェクトに関しての情報の
概要をユーザに通知することができる。クライアント計
算機10は選択的にそのファイルオブジェクトをアクセ
スすることができる。
In the distributed file system 2, the reception control unit 28 of the client computer 10 can also create a reception access log at regular intervals, and submit a totalized reception list to the user. As a result, the user can be notified of the outline of the information on the received file object. The client computer 10 can selectively access the file object.

【0143】また、図1を参照して、ゲートウェイ計算
機6のキャッシュ配送制御部18は、クライアント計算
機10の受信制御部28に対して、GET メソッドを送信
している。このため、キャッシュ配送制御部18は、受
信制御部28からファイルオブジェクトを受信する。こ
のファイルオブジェクトはゲートウェイ計算機6のキャ
ッシュファイル16に保持されているファイルオブジェ
クトをクライアント計算機10のクライアントキャッシ
ュファイル32にコピーする目的のものであり、キャッ
シュ配送制御部18では使用しないため、無駄なトラフ
ィックが生じる。そこで、クライアントの受信制御部2
8ではキャッシュ配送制御部18からのGET メソッドに
対してはファイルオブジェクトの実体を送信しないこと
で無駄なトラフィックの発生を抑制できる。
Referring to FIG. 1, the cache delivery control unit 18 of the gateway computer 6 transmits a GET method to the reception control unit 28 of the client computer 10. Therefore, the cache delivery control unit 18 receives the file object from the reception control unit 28. This file object is for the purpose of copying the file object held in the cache file 16 of the gateway computer 6 to the client cache file 32 of the client computer 10, and is not used by the cache delivery control unit 18. Occurs. Therefore, the reception control unit 2 of the client
In No. 8, the generation of useless traffic can be suppressed by not transmitting the substance of the file object to the GET method from the cache delivery control unit 18.

【0144】図1において、クライアント計算機10に
キャッシュ配送制御部を設置し、クライアントproxy サ
ーバプロセス30においてアクセスログを発生させ、こ
のキャッシュ配送制御部がアクセスログを参照するよう
にすれば、クライアントproxy サーバプロセス30もキ
ャッシュ配送機能を有することができる。1台のゲート
ウェイ計算機6ではキャッシュ配送対象のクライアント
計算機10が10台程度しかサポートできない場合は、
クライアント計算機10の下にさらにキャッシュ配送を
受けるクライアント計算機を複数台配置することも可能
である。これは一種のリピータといえる。
In FIG. 1, a cache delivery control unit is installed in the client computer 10, an access log is generated in the client proxy server process 30, and if the cache delivery control unit refers to the access log, the client proxy server Process 30 can also have a cache delivery function. If one gateway computer 6 can support only about 10 client computers 10 to be cached,
It is also possible to arrange a plurality of client computers that receive cache delivery under the client computer 10. This is a kind of repeater.

【0145】図1において、ゲートウェイ計算機6のキ
ャッシュ配送制御部18はアクセスログファイル14を
監視しながらキャッシュ配送を行なっているが、これは
URLを記述したファイルであればアクセスログファイル
14以外でもよい。指定のファイルにURL リストを保持
しておき、それをもとに毎日バッチ的にキャッシュ配送
することもできる。
In FIG. 1, the cache delivery control unit 18 of the gateway computer 6 performs cache delivery while monitoring the access log file 14.
Any file other than the access log file 14 may be used as long as the file describes a URL. You can also store a URL list in a specified file, and then use it to cache and deliver daily batches.

【0146】図13を参照して、ファイルオブジェクト
を受信したクライアント計算機10cが高速な内部ネッ
トワーク38から切離され、移動先において有線モデム
または無線モデムなどの機器を用いて電話回線などの低
速ネットワーク99経由でサーバ計算機4に接続する場
合を考える。この場合、クライアントキャッシュファイ
ル32を利用して高いヒット率を得ることで、見掛け上
低速ネットワーク99の転送時間を短縮する加速装置と
して利用することもできる。
Referring to FIG. 13, client computer 10c receiving the file object is disconnected from high-speed internal network 38, and uses a low-speed network 99 such as a telephone line at a destination using a device such as a wired or wireless modem. It is assumed that the server computer 4 is connected to the server computer 4 via a server. In this case, by using the client cache file 32 to obtain a high hit rate, it can also be used as an acceleration device that apparently reduces the transfer time of the low-speed network 99.

【0147】この分散ファイルシステム2ではノート型
パーソナルコンピュータに受信制御部28を搭載し、職
場などでは内部ネットワーク38に接続し、ゲートウェ
イ計算機6との間で通信を行ない、移動先などでは低速
ネットワーク99に接続し、サーバ計算機4との間で通
信を行なうことができる。高速な内部ネットワーク38
は、10Mbps(Mega bits/second)のイーサネットまたは
無線通信ネットワークなどからなる。
In the distributed file system 2, a reception control unit 28 is mounted on a notebook personal computer, connected to an internal network 38 at work or the like, communicates with the gateway computer 6, and operates at a low speed network 99 at a destination. To communicate with the server computer 4. High-speed internal network 38
Is composed of a 10 Mbps (Mega bits / second) Ethernet or wireless communication network.

【0148】図14を参照して、クライアント計算機1
0bのクライアントキャッシュファイル32として取外
し可能な光磁気ディスク等の大容量(600MB程度)媒
体100を用ることができる。これにより、大容量媒体
100だけを持ち歩くことにより、受信制御部28を備
えた別のクライアント計算機10cのクライアントキャ
ッシュファイル32として使用することでアクセスの高
速化をクライアント計算機10cでも実現することがで
きる。
Referring to FIG. 14, client computer 1
A large-capacity (about 600 MB) medium 100 such as a removable magneto-optical disk can be used as the 0b client cache file 32. Thus, by carrying only the large-capacity medium 100, the client computer 10c having the reception control unit 28 can use the client cache file 32 as a client cache file 32, thereby realizing high-speed access even in the client computer 10c.

【0149】また、この分散ファイルシステム2をディ
ジタル衛星放送などに応用して、クライアントproxy サ
ーバプロセス30は、衛星などから無線を通じて一方向
で情報(ファイルオブジェクト)を受取り、必要な場合
のみマスタproxy サーバプロセス12との間で有線を通
じて双方向通信を行ない、ファイルオブジェクトを取得
することもできる。
Further, by applying the distributed file system 2 to digital satellite broadcasting or the like, the client proxy server process 30 receives information (file object) in one direction from a satellite or the like via radio, and only when necessary, the master proxy server process. It is also possible to perform two-way communication with the process 12 through a wire to obtain a file object.

【0150】以上のような分散ファイルシステム2によ
り、他のクライアント計算機8のユーザがアクセスした
ファイルオブジェクトを自身のクライアント計算機10
のクライアントキャッシュファイル32に蓄積すること
ができる。よって、キャッシュヒット率を向上させるこ
とができる。かつ、内部ネットワーク38が混雑してい
る場合や低速ネットワーク99内でクライアント計算機
10を使用する際にも、快適なアクセス速度を得ること
ができる。
According to the distributed file system 2 as described above, the file object accessed by the user of another client computer 8 can be transferred to its own client computer 10.
In the client cache file 32. Therefore, the cache hit rate can be improved. Moreover, even when the internal network 38 is congested or when the client computer 10 is used in the low-speed network 99, a comfortable access speed can be obtained.

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

【図1】本発明の実施の形態に係る分散ファイルシステ
ムの構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a distributed file system according to an embodiment of the present invention.

【図2】ゲートウェイ計算機の構成を示すブロック図で
ある。
FIG. 2 is a block diagram illustrating a configuration of a gateway computer.

【図3】ゲートウェイ計算機のファイルオブジェクト転
送を説明する図である。
FIG. 3 is a diagram illustrating file object transfer of a gateway computer.

【図4】ゲートウェイ計算機のファイルオブジェクト転
送を説明する図である。
FIG. 4 is a diagram illustrating file object transfer of a gateway computer.

【図5】キャッシュ配送制御部の構成を示すブロック図
である。
FIG. 5 is a block diagram illustrating a configuration of a cache delivery control unit.

【図6】プロセスcachecastdの処理を説明するフロー図
である。
FIG. 6 is a flowchart illustrating a process of a process cachecastd.

【図7】プロセスcachecastwの処理を説明するフロー図
である。
FIG. 7 is a flowchart illustrating a process of a process cachecastw.

【図8】プロセスcachecastwにおける割込処理を説明す
るフロー図である。
FIG. 8 is a flowchart illustrating an interrupt process in a process cachecastw.

【図9】プロセスccwsumの処理を説明するフロー図であ
る。
FIG. 9 is a flowchart illustrating a process of a process ccwsum.

【図10】プロセスwebaccess の処理を説明するフロー
図である。
FIG. 10 is a flowchart illustrating processing of a process webaccess.

【図11】プロセスwebaccess の処理を説明するフロー
図である。
FIG. 11 is a flowchart illustrating a process of a process webaccess.

【図12】クライアント計算機上で受信制御を行なうク
ライアントproxy サーバプロセスの処理を説明するフロ
ー図である。
FIG. 12 is a flowchart illustrating processing of a client proxy server process that performs reception control on a client computer.

【図13】低速ネットワークに接続されたクライアント
計算機を説明する図である。
FIG. 13 is a diagram illustrating a client computer connected to a low-speed network.

【図14】取外し可能な大容量媒体を有するクライアン
ト計算機を説明する図である。
FIG. 14 is a diagram illustrating a client computer having a removable large-capacity medium.

【図15】従来のWWW システムの構成を示すブロック図
である。
FIG. 15 is a block diagram showing a configuration of a conventional WWW system.

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

2 分散ファイルシステム 4 サーバ計算機 6 ゲートウェイ計算機 8,10 クライアント計算機 12 マスタproxy サーバプロセス 14 アクセスログファイル 16 キャッシュファイル 18 キャッシュ配送制御部 20 一時キャッシュファイル 22 一時キャッシュ更新用マスタproxy サーバプロセ
ス 24,26 ブラウザソフトウェア 28 受信制御部 30 クライアントproxy サーバプロセス 32 クライアントキャッシュファイル 34 一時キャッシュ更新用クライアントproxy サーバ
プロセス
2 distributed file system 4 server computer 6 gateway computer 8,10 client computer 12 master proxy server process 14 access log file 16 cache file 18 cache delivery control unit 20 temporary cache file 22 temporary proxy update master proxy server process 24, 26 browser software 28 reception control unit 30 client proxy server process 32 client cache file 34 temporary client update client proxy server process

Claims (19)

【特許請求の範囲】[Claims] 【請求項1】 アクセス要求を受け、前記アクセス要求
に応じたファイルオブジェクトを送信するためのサーバ
計算機と、 複数のクライアント計算機と、 ゲートウェイ計算機と、 前記サーバ計算機と前記複数のクライアント計算機とを
前記ゲートウェイ計算機を介して相互に接続するための
通信回線とを含み、 前記複数のクライアント計算機の各々は、前記ファイル
オブジェクトを一時的に保持するためのクライアントキ
ャッシュファイルと、 前記ゲートウェイ計算機に接続され、前記ファイルオブ
ジェクトを取得するための前記アクセス要求を送信し、
前記ファイルオブジェクトを受信し、前記クライアント
キャッシュファイルに書込むための第1のファイルオブ
ジェクト受信手段とを含み、 前記ゲートウェイ計算機は、前記ファイルオブジェクト
を一時的に保持するためのキャッシュファイルと、 前記サーバ計算機から前記ファイルオブジェクトを受信
する際の受信記録情報を保持するためのアクセスログフ
ァイルと、 前記アクセスログファイルに接続され、前記複数のクラ
イアント計算機の各々より前記アクセス要求を受信し、
前記キャッシュファイルまたは前記サーバ計算機より前
記ファイルオブジェクトを取得し、前記アクセス要求を
送信した前記クライアント計算機ならびに前記受信記録
情報および所定の選択方法により選択された前記クライ
アント計算機に送信し、必要に応じて前記キャッシュフ
ァイルに書込み、前記受信記録情報を前記アクセスログ
ファイルに書込むためのファイルオブジェクト分配手段
とを含む、分散ファイルシステム。
A server computer for receiving an access request and transmitting a file object corresponding to the access request; a plurality of client computers; a gateway computer; and the gateway computer comprising the server computer and the plurality of client computers. A communication line for connecting to each other via a computer, wherein each of the plurality of client computers is a client cache file for temporarily holding the file object; and Sending the access request to obtain an object,
A first file object receiving unit for receiving the file object and writing the file object in the client cache file, wherein the gateway computer has a cache file for temporarily holding the file object, and the server computer An access log file for holding reception record information when receiving the file object from, and connected to the access log file, receiving the access request from each of the plurality of client computers,
The file object is obtained from the cache file or the server computer, and transmitted to the client computer that transmitted the access request and the reception record information and the client computer selected by a predetermined selection method, and the client computer selected as necessary. File object distribution means for writing to the cache file and writing the reception record information to the access log file.
【請求項2】 前記ファイルオブジェクト分配手段は、
前記複数のクライアント計算機の各々より前記アクセス
要求を受信し、前記キャッシュファイルまたは前記サー
バ計算機より前記ファイルオブジェクトを取得し、前記
アクセス要求を送信した前記クライアント計算機に送信
し、必要に応じて前記キャッシュファイルに書込み、前
記受信記録情報を前記アクセスログファイルに書込むた
めのファイルオブジェクト取得代理手段と、 前記アクセスログファイルに接続され、前記複数のクラ
イアント計算機の内、前記受信記録情報および所定の選
択方法に従って選択されたクライアント計算機に前記ア
クセス要求を送信するためのファイルオブジェクトアク
セス要求送信手段とを含み、 前記第1のファイルオブジェクト受信手段は、前記ファ
イルオブジェクトアクセス要求送信手段からの前記アク
セス要求を受信し、前記ファイルオブジェクト取得代理
手段に送信するための手段を含む、請求項1に記載の分
散ファイルシステム。
2. The file object distribution means,
Receiving the access request from each of the plurality of client computers, acquiring the file object from the cache file or the server computer, transmitting the file object to the client computer that transmitted the access request, and, if necessary, the cache file And a file object obtaining proxy unit for writing the reception record information to the access log file, and connected to the access log file, among the plurality of client computers, according to the reception record information and a predetermined selection method. File object access request transmitting means for transmitting the access request to the selected client computer, wherein the first file object receiving means transmits the access request from the file object access request transmitting means. Receiving a Seth request comprises means for transmitting to said file object acquisition proxy means, distributed file system according to claim 1.
【請求項3】 前記クライアントキャッシュファイル
は、取外し可能な記憶媒体である請求項1〜2のいずれ
かに記載の分散ファイルシステム。
3. The distributed file system according to claim 1, wherein the client cache file is a removable storage medium.
【請求項4】 前記ファイルオブジェクトアクセス要求
送信手段は、前記受信記録情報に記録されたファイルオ
ブジェクト名称の出現頻度順に、前記ファイルオブジェ
クトを取得するための前記アクセス要求を送信する、請
求項2に記載の分散ファイルシステム。
4. The file object access request transmitting unit transmits the access request for acquiring the file object in the order of appearance frequency of the file object name recorded in the reception record information. Distributed file system.
【請求項5】 前記ファイルオブジェクトアクセス要求
送信手段は、所定の文字列を含む前記受信記録情報に記
録された前記ファイルオブジェクト名称を排除して、前
記ファイルオブジェクトを取得するための前記アクセス
要求を送信する、請求項2に記載の分散ファイルシステ
ム。
5. The file object access request transmitting unit transmits the access request for acquiring the file object by excluding the file object name recorded in the reception record information including a predetermined character string. 3. The distributed file system according to claim 2, wherein
【請求項6】 前記ファイルオブジェクトアクセス要求
送信手段は、前記受信記録情報に基づき、前記受信代理
手段を通じて前記ファイルオブジェクトを取得したクラ
イアント計算機以外のクライアント計算機に前記アクセ
ス要求を送信する、請求項2に記載の分散ファイルシス
テム。
6. The file object access request transmitting unit according to claim 2, wherein the file object access request transmitting unit transmits the access request to a client computer other than the client computer that has acquired the file object through the reception proxy unit, based on the reception record information. Distributed file system as described.
【請求項7】 前記ファイルオブジェクトアクセス要求
送信手段は、前記受信記録情報に基づき、所定の文字列
を含む前記クライアント計算機がアクセス要求を行なっ
た前記ファイルオブジェクトを取得するための前記アク
セス要求を送信する、請求項2に記載の分散ファイルシ
ステム。
7. The file object access request transmitting unit transmits the access request for acquiring the file object for which the client computer has made an access request, including a predetermined character string, based on the reception record information. The distributed file system according to claim 2, wherein
【請求項8】 前記ゲートウェイ計算機は、前記キャッ
シュファイルに接続され、前記ファイルオブジェクトが
保持されているか否かを判断するための保持判断手段を
さらに含み、 前記ファイルオブジェクトアクセス要求送信手段は、前
記保持判断手段に接続され、前記ファイルオブジェクト
が前記キャッシュファイルに保持されている場合のみ、
前記ファイルオブジェクトを取得するための前記アクセ
ス要求を送信するように制御を行なうための手段を含
む、請求項2に記載の分散ファイルシステム。
8. The gateway computer further includes a holding determination unit connected to the cache file for determining whether or not the file object is stored, wherein the file object access request transmitting unit is configured to store the file object. Connected to the judging means, and only when the file object is held in the cache file,
3. The distributed file system according to claim 2, further comprising means for controlling transmission of the access request for acquiring the file object.
【請求項9】 前記ファイルオブジェクト分配手段は、
所定の並列配送数以内で前記ファイルオブジェクトの送
信を並列に行なうよう制御を行なうための手段をさらに
含む、請求項2に記載の分散ファイルシステム。
9. The file object distribution means,
3. The distributed file system according to claim 2, further comprising means for controlling transmission of said file objects in parallel within a predetermined number of parallel deliveries.
【請求項10】 前記ゲートウェイ計算機は、前記ファ
イルオブジェクト分配手段に接続され、前記ファイルオ
ブジェクトのうち動的なファイルオブジェクトを一時的
に保持するための一時キャッシュファイルと、 前記複数のクライアント計算機の各々より前記動的なフ
ァイルオブジェクトを取得するためのアクセス要求を受
信し、前記一時キャッシュファイルより前記動的なファ
イルオブジェクトを読出し、前記アクセス要求を送信し
たクライアント計算機に送信するための動的ファイルオ
ブジェクト送信手段とをさらに含み、 前記受信記録情報は、前記サーバ計算機から受信する前
記ファイルオブジェクトが前記動的なファイルオブジェ
クトか否かを示す情報を含み、 前記キャッシュファイルは、前記ファイルオブジェクト
のうち動的でないファイルオブジェクトを一時的に保持
し、 前記ファイルオブジェクト分配手段は、前記サーバ計算
機より取得した前記ファイルオブジェクトが前記動的な
ファイルオブジェクトであれば前記一時キャッシュファ
イルに書込むための手段をさらに含み、 前記ファイルオブジェクトアクセス要求送信手段は、前
記アクセスログファイルに接続され、前記受信記録情報
を参照し、前記サーバ計算機より取得した前記ファイル
オブジェクトが前記動的なファイルオブジェクトであれ
ば、前記複数のクライアント計算機の内、前記受信記録
情報および所定の選択方法に従って選択されたクライア
ント計算機に前記動的なファイルオブジェクトを取得す
るための前記アクセス要求を送信するための動的ファイ
ルオブジェクトアクセス要求送信手段と、 前記アクセスログファイルに接続され、前記受信記録情
報を参照し、前記サーバ計算機より取得した前記ファイ
ルオブジェクトが前記動的でないファイルオブジェクト
であれば、前記複数のクライアント計算機の内、前記受
信記録情報および所定の選択方法に従って選択されたク
ライアント計算機に前記動的でないファイルオブジェク
トを取得するための前記アクセス要求を送信するための
静的ファイルオブジェクトアクセス要求送信手段とを含
み、 前記複数のクライアント計算機の各々は、前記動的ファ
イルオブジェクトアクセス要求送信手段に接続され、前
記アクセス要求を送信し、前記動的ファイルオブジェク
トを受信し、前記クライアントキャッシュファイルに書
込むための第2のファイルオブジェクト受信手段をさら
に含む、請求項2に記載の分散ファイルシステム。
10. The gateway computer is connected to the file object distribution means, and a temporary cache file for temporarily storing a dynamic file object among the file objects; Dynamic file object transmitting means for receiving an access request for acquiring the dynamic file object, reading the dynamic file object from the temporary cache file, and transmitting the read dynamic file object to the client computer that transmitted the access request The reception record information further includes information indicating whether the file object received from the server computer is the dynamic file object, and the cache file is a dynamic file object among the file objects. Temporarily holding file objects that do not exist, the file object distribution means further includes means for writing to the temporary cache file if the file object obtained from the server computer is the dynamic file object, The file object access request transmitting unit is connected to the access log file, refers to the reception record information, and if the file object acquired from the server computer is the dynamic file object, the plurality of client computers A dynamic file object access request transmitting means for transmitting the access request for acquiring the dynamic file object to a client computer selected according to the reception record information and a predetermined selection method; If the file object obtained from the server computer, which is connected to the access log file and refers to the reception record information, is the non-dynamic file object, the reception record information and the predetermined Static file object access request transmission means for transmitting the access request to obtain the non-dynamic file object to the client computer selected according to the selection method, wherein each of the plurality of client computers, A requester connected to the dynamic file object access request transmitting means for transmitting the access request, receiving the dynamic file object, and writing the dynamic file object in the client cache file; Distributed file system according to claim 2.
【請求項11】 アクセス要求を受け、前記アクセス要
求に応じたファイルオブジェクトを送信するためのサー
バ計算機と、 前記アクセス要求を送信し、前記ファイルオブジェクト
を受信するための複数のクライアント計算機と、 ゲートウェイ計算機と、 前記サーバ計算機と前記複数のクライアント計算機とを
前記ゲートウェイ計算機を介して相互に接続するための
通信回線とを含む分散ファイルシステムで用いられるゲ
ートウェイ計算機であって、 前記ファイルオブジェクトを一時的に保持するためのキ
ャッシュファイルと、 前記サーバ計算機から前記ファイルオブジェクトを受信
する際の受信記録情報を保持するためのアクセスログフ
ァイルと、 前記アクセスログファイルに接続され、前記複数のクラ
イアント計算機の各々より前記アクセス要求を受信し、
前記キャッシュファイルまたは前記サーバ計算機より前
記ファイルオブジェクトを取得し、前記受信記録情報お
よび所定の選択方法により選択された前記クライアント
計算機に送信し、必要に応じて前記キャッシュファイル
に書込み、前記受信記録情報を前記アクセスログファイ
ルに書込むためのファイルオブジェクト分配手段とを含
む、ゲートウェイ計算機。
11. A server computer for receiving an access request and transmitting a file object corresponding to the access request, a plurality of client computers for transmitting the access request and receiving the file object, and a gateway computer A gateway computer used in a distributed file system including a communication line for interconnecting the server computer and the plurality of client computers via the gateway computer, wherein the file object is temporarily stored. A cache file for receiving the file object from the server computer; and an access log file for holding reception record information when receiving the file object from the server computer. Access request,
Obtain the file object from the cache file or the server computer, transmit the received record information and the client computer selected by a predetermined selection method to the client computer, and if necessary, write the received record information to the cache file. A file object distributing means for writing the access log file.
【請求項12】 前記ファイルオブジェクト分配手段
は、前記複数のクライアント計算機の各々より前記アク
セス要求を受信し、前記キャッシュファイルまたは前記
サーバ計算機より前記ファイルオブジェクトを取得し、
前記アクセス要求を送信した前記クライアント計算機に
送信し、必要に応じて前記キャッシュファイルに書込
み、前記受信記録情報を前記アクセスログファイルに書
込むためのファイルオブジェクト取得代理手段と、 前記アクセスログファイルに接続され、前記複数のクラ
イアント計算機の内、前記受信記録情報および所定の選
択方法に従って選択されたクライアント計算機に前記ア
クセス要求を送信するためのファイルオブジェクトアク
セス要求送信手段とを含む、請求項11に記載のゲート
ウェイ計算機。
12. The file object distribution means receives the access request from each of the plurality of client computers, acquires the file object from the cache file or the server computer,
A file object acquisition proxy unit for transmitting the access request to the client computer, writing the cache file as necessary, and writing the reception record information to the access log file, and connecting to the access log file 12. The file object access request transmitting means for transmitting the access request to a client computer selected according to the reception record information and a predetermined selection method among the plurality of client computers. Gateway calculator.
【請求項13】 前記ファイルオブジェクトアクセス要
求送信手段は、前記受信記録情報に記録されたファイル
オブジェクト名称の出現頻度順に、前記ファイルオブジ
ェクトを取得するための前記アクセス要求を送信する、
請求項12に記載のゲートウェイ計算機。
13. The file object access request transmitting unit transmits the access request for acquiring the file object in the order of appearance frequency of the file object name recorded in the reception record information.
The gateway computer according to claim 12.
【請求項14】 前記ファイルオブジェクトアクセス要
求送信手段は、所定の文字列を含む前記受信記録情報に
記録された前記ファイルオブジェクト名称を排除して、
前記ファイルオブジェクトを取得するための前記アクセ
ス要求を送信する、請求項12に記載のゲートウェイ計
算機。
14. The file object access request transmitting unit excludes the file object name recorded in the reception record information including a predetermined character string,
The gateway computer according to claim 12, wherein the access request for acquiring the file object is transmitted.
【請求項15】 前記ファイルオブジェクトアクセス要
求送信手段は、前記受信記録情報に基づき、前記受信代
理手段を通じて前記ファイルオブジェクトを取得したク
ライアント計算機以外のクライアント計算機に前記アク
セス要求を送信する、請求項12に記載のゲートウェイ
計算機。
15. The file object access request transmitting unit transmits the access request to a client computer other than the client computer that has acquired the file object through the reception proxy unit based on the reception record information. The described gateway calculator.
【請求項16】 前記ファイルオブジェクトアクセス要
求送信手段は、前記受信記録情報に基づき、所定の文字
列を含む前記クライアント計算機がアクセス要求を行な
った前記ファイルオブジェクトを取得するための前記ア
クセス要求を送信する、請求項12に記載のゲートウェ
イ計算機。
16. The file object access request transmitting unit transmits the access request for acquiring the file object for which the client computer has made an access request, including a predetermined character string, based on the reception record information. The gateway computer according to claim 12, wherein:
【請求項17】 前記キャッシュファイルに接続され、
前記ファイルオブジェクトが保持されているか否かを判
断するための保持判断手段をさらに含み、 前記ファイルオブジェクトアクセス要求送信手段は、前
記保持判断手段に接続され、前記ファイルオブジェクト
が前記キャッシュファイルに保持されている場合のみ、
前記ファイルオブジェクトを取得するための前記アクセ
ス要求を送信するように制御を行なうための手段を含
む、請求項12に記載のゲートウェイ計算機。
17. Connected to the cache file,
The file object access request transmitting unit further includes a holding determination unit for determining whether the file object is held, and the file object access request transmitting unit is connected to the holding determination unit, and the file object is held in the cache file. Only if
13. The gateway computer according to claim 12, further comprising means for controlling transmission of the access request for acquiring the file object.
【請求項18】 前記ファイルオブジェクト取得代理手
段は、所定の並列配送数以内で前記ファイルオブジェク
トの送信を並列に行なうよう制御を行なうための手段を
さらに含む、請求項12に記載のゲートウェイ計算機。
18. The gateway computer according to claim 12, wherein said file object acquisition proxy means further includes means for controlling transmission of said file objects in parallel within a predetermined parallel delivery number.
【請求項19】 前記ファイルオブジェクト分配手段に
接続され、前記ファイルオブジェクトのうち動的なファ
イルオブジェクトを一時的に保持するための一時キャッ
シュファイルと、 前記複数のクライアント計算機の各々より前記動的なフ
ァイルオブジェクトを取得するためのアクセス要求を受
信し、前記一時キャッシュファイルより前記動的なファ
イルオブジェクトを読出し、前記アクセス要求を送信し
たクライアント計算機に送信するための動的ファイルオ
ブジェクト送信手段とをさらに含み、 前記受信記録情報は、前記サーバ計算機から受信する前
記ファイルオブジェクトが前記動的なファイルオブジェ
クトか否かを示す情報を含み、 前記キャッシュファイルは、前記ファイルオブジェクト
のうち動的でないファイルオブジェクトを一時的に保持
し、 前記ファイルオブジェクト分配手段は、前記サーバ計算
機より取得した前記ファイルオブジェクトが前記動的な
ファイルオブジェクトであれば前記一時キャッシュファ
イルに書込むための手段をさらに含み、 前記ファイルオブジェクトアクセス要求送信手段は、前
記アクセスログファイルに接続され、前記受信記録情報
を参照し、前記サーバ計算機より取得した前記ファイル
オブジェクトが前記動的なファイルオブジェクトであれ
ば、前記複数のクライアント計算機の内、前記受信記録
情報および所定の選択方法に従って選択されたクライア
ント計算機に前記動的なファイルオブジェクトを取得す
るための前記アクセス要求を送信するための動的ファイ
ルオブジェクトアクセス要求送信手段と、 前記アクセスログファイルに接続され、前記受信記録情
報を参照し、前記サーバ計算機より取得した前記ファイ
ルオブジェクトが前記動的でないファイルオブジェクト
であれば、前記複数のクライアント計算機の内、前記受
信記録情報および所定の選択方法に従って選択されたク
ライアント計算機に前記動的でないファイルオブジェク
トを取得するための前記アクセス要求を送信するための
静的ファイルオブジェクトアクセス要求送信手段とを含
む、請求項12に記載のゲートウェイ計算機。
19. A temporary cache file connected to the file object distribution means for temporarily storing a dynamic file object among the file objects, and the dynamic file from each of the plurality of client computers. Dynamic file object transmitting means for receiving an access request for obtaining an object, reading the dynamic file object from the temporary cache file, and transmitting the read dynamic file object to the client computer that transmitted the access request. The reception record information includes information indicating whether the file object received from the server computer is the dynamic file object, and the cache file includes a non-dynamic file object among the file objects. Temporarily holding the file object, wherein the file object distribution means further includes a means for writing to the temporary cache file if the file object acquired from the server computer is the dynamic file object; The request transmission unit is connected to the access log file, refers to the reception record information, and if the file object obtained from the server computer is the dynamic file object, the request transmission unit includes, among the plurality of client computers, Dynamic file object access request transmission means for transmitting the access request for acquiring the dynamic file object to the client computer selected according to the reception record information and a predetermined selection method; and the access log file Connected, referencing the reception record information, if the file object obtained from the server computer is the non-dynamic file object, select the plurality of client computers according to the reception record information and a predetermined selection method. 13. The gateway computer according to claim 12, further comprising: a static file object access request transmitting unit configured to transmit the access request for acquiring the non-dynamic file object to the client computer.
JP9162363A 1997-06-19 1997-06-19 Distributed file system and gateway computer used in the distributed file system Withdrawn JPH1115718A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9162363A JPH1115718A (en) 1997-06-19 1997-06-19 Distributed file system and gateway computer used in the distributed file system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9162363A JPH1115718A (en) 1997-06-19 1997-06-19 Distributed file system and gateway computer used in the distributed file system

Publications (1)

Publication Number Publication Date
JPH1115718A true JPH1115718A (en) 1999-01-22

Family

ID=15753149

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9162363A Withdrawn JPH1115718A (en) 1997-06-19 1997-06-19 Distributed file system and gateway computer used in the distributed file system

Country Status (1)

Country Link
JP (1) JPH1115718A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002542542A (en) * 1999-04-19 2002-12-10 オラクル コーポレーション Web server with dynamic cache that can be queried
EP2621143A1 (en) 2012-01-27 2013-07-31 Fujitsu Limited Information processing apparatus, distributed processing system, and distributed processing method
JP6916456B1 (en) * 2020-10-14 2021-08-11 富士通クライアントコンピューティング株式会社 Cache management device and program

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002542542A (en) * 1999-04-19 2002-12-10 オラクル コーポレーション Web server with dynamic cache that can be queried
EP2621143A1 (en) 2012-01-27 2013-07-31 Fujitsu Limited Information processing apparatus, distributed processing system, and distributed processing method
US9483523B2 (en) 2012-01-27 2016-11-01 Fujitsu Limited Information processing apparatus, distributed processing system, and distributed processing method
JP6916456B1 (en) * 2020-10-14 2021-08-11 富士通クライアントコンピューティング株式会社 Cache management device and program
JP2022064720A (en) * 2020-10-14 2022-04-26 富士通クライアントコンピューティング株式会社 Cache management device and program

Similar Documents

Publication Publication Date Title
US6308238B1 (en) System and method for managing connections between clients and a server with independent connection and data buffers
US9009326B2 (en) System and method for managing connections between a client and a server
JP5220974B2 (en) Apparatus and method for acceleration of hardware execution or operating system functions
US6801927B1 (en) Network adaptor card with reverse proxy and cache and method implemented therewith
US7461160B2 (en) Obtaining a destination address so that a network interface device can write network data without headers directly into host memory
US5265239A (en) Method for remotely accessing service programs of a local processing system supporting multiple protocol stacks and multiple device drivers
JP3613550B2 (en) Web page acquisition service system, server, web page acquisition method, storage medium, and program transmission device
US6895590B2 (en) Method and system enabling both legacy and new applications to access an InfiniBand fabric via a socket API
JP2002512411A (en) Access control method and device
JP2000057072A (en) Data transfer system
US20110280243A1 (en) TCP/IP Offload Device
JP2003141002A (en) Url length conversion system and program
JPH1115718A (en) Distributed file system and gateway computer used in the distributed file system
KR20020031224A (en) Method Of Dispersion Service Of Contents And The System
JPH11234328A (en) Equipment and method for communication
US20090043776A1 (en) System and method for direct file transfer in a computer network
JP2002163185A (en) Method and device for contents distribution
JPH11249977A (en) Data transfer network system
JP2001005715A (en) Method and system for renewing cache of web data
JP2001237887A (en) Communication system and its on-demand communication method and recoding medium
JP2001308939A (en) Communication system and method for controlling throughput
US20080228895A1 (en) Direct file transfer host processor
JP2001290726A (en) Method and device for transferring data file retrieable through communication network
JPH1165953A (en) File transfer system
KR20010059623A (en) Multi-path accessed personal information management system and method

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040907