JPH1115718A - 分散ファイルシステムおよびその分散ファイルシステムで用いられるゲートウェイ計算機 - Google Patents
分散ファイルシステムおよびその分散ファイルシステムで用いられるゲートウェイ計算機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
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【課題】 キャッシュヒット率が高くかつアクセス速度
の速い分散ファイルシステムを提供する。 【解決手段】 分散ファイルシステム2は、サーバ計算
機4と、ゲートウェイ計算機6と、クライアント計算機
8、10と、サーバ計算機4およびゲートウェイ計算機
6を接続する外部ネットワーク36と、ゲートウェイ計
算機6およびクライアント計算機8、10を接続する内
部ネットワーク38とを含む。ゲートウェイ計算機6の
キャッシュ配送制御部18は、アクセスログファイル1
4を監視し、ファイルオブジェクト取得を行なったクラ
イアント計算機8以外のクライアント計算機10のクラ
イアントproxy サーバプロセス30にファイルオブジェ
クト取得要求を送信する。クライアントproxy サーバプ
ロセス30は、取得要求をマスタproxy サーバプロセス
30に送信し、ファイルオブジェクトを受信する。
の速い分散ファイルシステムを提供する。 【解決手段】 分散ファイルシステム2は、サーバ計算
機4と、ゲートウェイ計算機6と、クライアント計算機
8、10と、サーバ計算機4およびゲートウェイ計算機
6を接続する外部ネットワーク36と、ゲートウェイ計
算機6およびクライアント計算機8、10を接続する内
部ネットワーク38とを含む。ゲートウェイ計算機6の
キャッシュ配送制御部18は、アクセスログファイル1
4を監視し、ファイルオブジェクト取得を行なったクラ
イアント計算機8以外のクライアント計算機10のクラ
イアントproxy サーバプロセス30にファイルオブジェ
クト取得要求を送信する。クライアントproxy サーバプ
ロセス30は、取得要求をマスタproxy サーバプロセス
30に送信し、ファイルオブジェクトを受信する。
Description
【0001】
【発明の属する技術分野】本発明は、ネットワーク上に
分散したサーバ計算機と複数のクライアント計算機とが
ゲートウェイ計算機を介して相互に接続されている分散
ファイルシステムおよびその分散ファイルシステムで用
いられるゲートウェイ計算機に関し、特に、キャッシュ
ヒット率が高く、かつアクセス速度が速い分散ファイル
システムおよびその分散ファイルシステムで用いられる
ゲートウェイ計算機に関する。
分散したサーバ計算機と複数のクライアント計算機とが
ゲートウェイ計算機を介して相互に接続されている分散
ファイルシステムおよびその分散ファイルシステムで用
いられるゲートウェイ計算機に関し、特に、キャッシュ
ヒット率が高く、かつアクセス速度が速い分散ファイル
システムおよびその分散ファイルシステムで用いられる
ゲートウェイ計算機に関する。
【0002】
【従来の技術】従来の分散ファイルシステムにおいて
は、複数のクライアント計算機からのサーバ計算機上の
ファイルオブジェクトに対する読出要求は、一旦途中の
ゲートウェイ計算機で中継されている。なお、ここでフ
ァイルオブジェクトとは、ファイルシステムの利用する
ネットワークプロトコルとネットワークアドレス(サー
バ計算機の名称)とファイル名称とファイルの実体との
組をいう。このうち、ネットワークプロトコルとネット
ワークアドレスとファイル名称との組をファイルオブジ
ェクト名称という。
は、複数のクライアント計算機からのサーバ計算機上の
ファイルオブジェクトに対する読出要求は、一旦途中の
ゲートウェイ計算機で中継されている。なお、ここでフ
ァイルオブジェクトとは、ファイルシステムの利用する
ネットワークプロトコルとネットワークアドレス(サー
バ計算機の名称)とファイル名称とファイルの実体との
組をいう。このうち、ネットワークプロトコルとネット
ワークアドレスとファイル名称との組をファイルオブジ
ェクト名称という。
【0003】従来の分散ファイルシステムとして、特開
平4−313126号公報に開示される分散ファイルシ
ステムのファイル入出力方式がある。この方式では、ゲ
ートウェイ計算機が、サーバ計算機から読出したファイ
ルオブジェクトは、クライアント計算機に中継されると
ともに、ゲートウェイ計算機内部のキャッシュファイル
(ディスク、半導体メモリなど)に蓄積される。同一の
ファイルオブジェクトのアクセス要求がクライアント計
算機からあった場合は、ゲートウェイ計算機のキャッシ
ュファイルに記憶されているファイルオブジェクトとサ
ーバ計算機に記憶されているファイルオブジェクトとの
最終変更時刻を比較し、キャッシュファイルに記憶され
ているファイルオブジェクトの内容が古く、サーバ計算
機に記憶されているキャッシュファイルの方が新しけれ
ば、サーバ計算機からファイルオブジェクトを取出す。
そのファイルオブジェクトをクライアント計算機に中継
するとともに、ゲートウェイ計算機のキャッシュファイ
ルを更新する。従来はこのような制御方式が行なわれて
いる。ファイルオブジェクトがキャッシュファイルに記
憶されていない場合は、サーバ計算機からファイルオブ
ジェクトを中継転送するとともに、キャッシュファイル
にファイルオブジェクトの書込を行ない、次回に同一フ
ァイルオブジェクトのアクセス要求があった場合にキャ
ッシュファイルから取出すことで中継アクセスの高速化
を図っている。
平4−313126号公報に開示される分散ファイルシ
ステムのファイル入出力方式がある。この方式では、ゲ
ートウェイ計算機が、サーバ計算機から読出したファイ
ルオブジェクトは、クライアント計算機に中継されると
ともに、ゲートウェイ計算機内部のキャッシュファイル
(ディスク、半導体メモリなど)に蓄積される。同一の
ファイルオブジェクトのアクセス要求がクライアント計
算機からあった場合は、ゲートウェイ計算機のキャッシ
ュファイルに記憶されているファイルオブジェクトとサ
ーバ計算機に記憶されているファイルオブジェクトとの
最終変更時刻を比較し、キャッシュファイルに記憶され
ているファイルオブジェクトの内容が古く、サーバ計算
機に記憶されているキャッシュファイルの方が新しけれ
ば、サーバ計算機からファイルオブジェクトを取出す。
そのファイルオブジェクトをクライアント計算機に中継
するとともに、ゲートウェイ計算機のキャッシュファイ
ルを更新する。従来はこのような制御方式が行なわれて
いる。ファイルオブジェクトがキャッシュファイルに記
憶されていない場合は、サーバ計算機からファイルオブ
ジェクトを中継転送するとともに、キャッシュファイル
にファイルオブジェクトの書込を行ない、次回に同一フ
ァイルオブジェクトのアクセス要求があった場合にキャ
ッシュファイルから取出すことで中継アクセスの高速化
を図っている。
【0004】インターネットにおけるproxy サーバ装置
は、このようなキャッシュ機構を有したゲートウェイ計
算機である。インターネットはその基本として、TCP/IP
(transmission control protocol/internet protocol
)を利用したグローバルなネットワークである。TCP/I
Pを利用したネットワークである地域分散型マルチメデ
ィア情報提供システムは、World Wide Web(WWW )と呼
ばれる。WWW はネットワーク上に分散したファイルオブ
ジェクトを扱うことができる。これらのファイルオブジ
ェクトは、単なるテキストだけでなく、画像、音声、ビ
デオ画像などさまざまなデータがあり、情報提供側にと
っても情報利用者(ユーザ)にとっても魅力的であるた
め、ネットワーク上をWWW のトラフィックが爆発的に流
れるようになってきた。WWW システムではクライアント
計算機のユーザは、グラフィカルユーザインタフェース
を持ったブラウザソフトをクライアント計算機に搭載し
て使うだけでネットワーク上に分散したサーバ計算機の
保持するファイルオブジェクトで構成された情報を次々
とアクセスできる。その簡単さのために普及してきてお
り、企業内部の情報システムのインフラの基本としても
普及してきている。たとえば社内の規格、規則、通達事
項などもサーバ計算機にWWW のファイルオブジェクトと
して掲載され、従業員はそれを閲覧ソフトウェアを使っ
てアクセスすることが可能である。
は、このようなキャッシュ機構を有したゲートウェイ計
算機である。インターネットはその基本として、TCP/IP
(transmission control protocol/internet protocol
)を利用したグローバルなネットワークである。TCP/I
Pを利用したネットワークである地域分散型マルチメデ
ィア情報提供システムは、World Wide Web(WWW )と呼
ばれる。WWW はネットワーク上に分散したファイルオブ
ジェクトを扱うことができる。これらのファイルオブジ
ェクトは、単なるテキストだけでなく、画像、音声、ビ
デオ画像などさまざまなデータがあり、情報提供側にと
っても情報利用者(ユーザ)にとっても魅力的であるた
め、ネットワーク上をWWW のトラフィックが爆発的に流
れるようになってきた。WWW システムではクライアント
計算機のユーザは、グラフィカルユーザインタフェース
を持ったブラウザソフトをクライアント計算機に搭載し
て使うだけでネットワーク上に分散したサーバ計算機の
保持するファイルオブジェクトで構成された情報を次々
とアクセスできる。その簡単さのために普及してきてお
り、企業内部の情報システムのインフラの基本としても
普及してきている。たとえば社内の規格、規則、通達事
項などもサーバ計算機にWWW のファイルオブジェクトと
して掲載され、従業員はそれを閲覧ソフトウェアを使っ
てアクセスすることが可能である。
【0005】このような、WWW システムでは、TCP/IPプ
ロトコルの上に構築されたHypertext Transfer Protoco
l (HTTP)と呼ばれるプロトコルを用いたファイルオブ
ジェクトが転送される。HTTPを用いたファイルオブジェ
クトの転送の方法として、特開平4−313126号公
報に開示されるゲートウェイ計算機のようにファイルオ
ブジェクトを中継転送することが広く行なわれている。
中継転送されるファイルオブジェクトはゲートウェイ装
置にてキャッシュされる。このようなネットワーク上の
ファイルオブジェクトのアクセスを高速化し、インター
ネットのトラフィックを低減させるゲートウェイ計算機
は特に「proxy サーバ装置」と呼ばれている。proxy サ
ーバ装置のproxy とは代理という意味であるが、その名
のとおりクライアント計算機がネットワーク上のWWW サ
ーバ計算機のファイルオブジェクトにアクセスする場合
に、そのアクセス要求を代理して受付け、ファイルオブ
ジェクトの転送を中継するものである。
ロトコルの上に構築されたHypertext Transfer Protoco
l (HTTP)と呼ばれるプロトコルを用いたファイルオブ
ジェクトが転送される。HTTPを用いたファイルオブジェ
クトの転送の方法として、特開平4−313126号公
報に開示されるゲートウェイ計算機のようにファイルオ
ブジェクトを中継転送することが広く行なわれている。
中継転送されるファイルオブジェクトはゲートウェイ装
置にてキャッシュされる。このようなネットワーク上の
ファイルオブジェクトのアクセスを高速化し、インター
ネットのトラフィックを低減させるゲートウェイ計算機
は特に「proxy サーバ装置」と呼ばれている。proxy サ
ーバ装置のproxy とは代理という意味であるが、その名
のとおりクライアント計算機がネットワーク上のWWW サ
ーバ計算機のファイルオブジェクトにアクセスする場合
に、そのアクセス要求を代理して受付け、ファイルオブ
ジェクトの転送を中継するものである。
【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とを含む。
おける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とを含む。
【0007】proxy サーバ装置112を実現する方法と
して、W3C httpd やDeleGateなどのproxy サーバプロセ
ス12をネットワーク接続されたUNIX OS (X/Openの商
標)の動くコンピュータでプロセスとして走らせること
が一般に行なわれている。なお、UNIX OS は、マルチプ
ロセスでマルチユーザを実現するOS(Operating Syste
m)である。
して、W3C httpd やDeleGateなどのproxy サーバプロセ
ス12をネットワーク接続されたUNIX OS (X/Openの商
標)の動くコンピュータでプロセスとして走らせること
が一般に行なわれている。なお、UNIX OS は、マルチプ
ロセスでマルチユーザを実現するOS(Operating Syste
m)である。
【0008】図2を参照して、proxy サーバ装置112
は、UNIX OS を実行するためのCPU42と、メモリ44
と、I/O 部46と、ファイル装置50と、ネットワーク
I/O部48とを含む。ファイル装置50は、前述したア
クセスログファイル14と、キャッシュファイル16
と、各種ワークファイルとを含む。
は、UNIX OS を実行するためのCPU42と、メモリ44
と、I/O 部46と、ファイル装置50と、ネットワーク
I/O部48とを含む。ファイル装置50は、前述したア
クセスログファイル14と、キャッシュファイル16
と、各種ワークファイルとを含む。
【0009】まず内部ネットワークのクライアント計算
機8が、サーバ計算機4内のファイルオブジェクトを取
得するために、proxy サーバ装置112に対してファイ
ルオブジェクトの読出要求(アクセス要求)を出す。こ
れをproxy サーバ装置112内で動作しているソフトウ
ェアであるマスタproxy サーバプロセス12が受取る。
マスタproxy サーバプロセス12は、キャッシュファイ
ル16をアクセスし、読出要求されたファイルオブジェ
クトの有無をチェックする。ファイルオブジェクトがキ
ャッシュされていれば、マスタproxy サーバプロセス1
2に固有のキャッシュファイル有効期限と、キャッシュ
されたオブジェクトファイルの最終変更時刻を比較し、
ファイルオブジェクトが有効であればキャッシュファイ
ル16から読出し、内部ネットワーク38内のクライア
ント計算機8に送信する。
機8が、サーバ計算機4内のファイルオブジェクトを取
得するために、proxy サーバ装置112に対してファイ
ルオブジェクトの読出要求(アクセス要求)を出す。こ
れをproxy サーバ装置112内で動作しているソフトウ
ェアであるマスタproxy サーバプロセス12が受取る。
マスタproxy サーバプロセス12は、キャッシュファイ
ル16をアクセスし、読出要求されたファイルオブジェ
クトの有無をチェックする。ファイルオブジェクトがキ
ャッシュされていれば、マスタproxy サーバプロセス1
2に固有のキャッシュファイル有効期限と、キャッシュ
されたオブジェクトファイルの最終変更時刻を比較し、
ファイルオブジェクトが有効であればキャッシュファイ
ル16から読出し、内部ネットワーク38内のクライア
ント計算機8に送信する。
【0010】また、キャッシュファイル16にファイル
オブジェクトが存在しないか、または存在しても有効期
限が過ぎている場合には、外部ネットワーク36内のサ
ーバ計算機4に対してファイルオブジェクトの読出要求
を送信する。
オブジェクトが存在しないか、または存在しても有効期
限が過ぎている場合には、外部ネットワーク36内のサ
ーバ計算機4に対してファイルオブジェクトの読出要求
を送信する。
【0011】ファイルオブジェクトの読出要求を受信し
たサーバ計算機4は、ファイルオブジェクトを自身のフ
ァイルより読出し、マスタproxy サーバプロセス12に
送信する。ファイルオブジェクトを受信したproxy サー
バ装置112内のマスタproxy サーバプロセス12は、
クライアント計算機名称と、アクセス日時と、ファイル
オブジェクト名称(すなわち、ネットワークプロトコル
と、サーバ計算機のネットワークアドレスと、ファイル
名称との組)とをアクセスログとしてアクセスログファ
イル14に書込む。
たサーバ計算機4は、ファイルオブジェクトを自身のフ
ァイルより読出し、マスタproxy サーバプロセス12に
送信する。ファイルオブジェクトを受信したproxy サー
バ装置112内のマスタproxy サーバプロセス12は、
クライアント計算機名称と、アクセス日時と、ファイル
オブジェクト名称(すなわち、ネットワークプロトコル
と、サーバ計算機のネットワークアドレスと、ファイル
名称との組)とをアクセスログとしてアクセスログファ
イル14に書込む。
【0012】また、同時に内部ネットワーク38のクラ
イアント計算機8にファイルオブジェクトを含むデータ
を転送し、かつキャッシュファイル16にファイルオブ
ジェクトを書込む。このとき、転送のHTTPヘッダ情報
と、ファイルオブジェクトの書込日付と、アクセス日時
とがキャッシュファイル16に記録される。
イアント計算機8にファイルオブジェクトを含むデータ
を転送し、かつキャッシュファイル16にファイルオブ
ジェクトを書込む。このとき、転送のHTTPヘッダ情報
と、ファイルオブジェクトの書込日付と、アクセス日時
とがキャッシュファイル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) と近似できる。
の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) と近似できる。
【0014】一方、キャッシュファイル16を持たない
proxy サーバ装置を考えると、クライアント計算機8か
ら読出要求のあったファイルオブジェクトは、すべてサ
ーバ計算機4より転送されるため、ファイルオブジェク
トをクライアント計算機8に転送する際の平均転送時間
Tm2 は、 Tm2 =Tx (3) となる。
proxy サーバ装置を考えると、クライアント計算機8か
ら読出要求のあったファイルオブジェクトは、すべてサ
ーバ計算機4より転送されるため、ファイルオブジェク
トをクライアント計算機8に転送する際の平均転送時間
Tm2 は、 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%待ち時間が短縮
されることになる。
バ装置112においては、キャッシュファイル16を持
たないproxy サーバの平均転送時間Tm2 を1とすると、
(1-H )に時間が短縮されている。たとえばヒット率が
50%(H =0.5)であれば、100%−50%=5
0%に短縮される。また、ヒット率が30%であれば1
00%−30%=70%となり、30%待ち時間が短縮
されることになる。
【0016】キャッシュヒット率を向上させるには、で
きるだけ大きな容量のファイル装置50に多数のファイ
ルオブジェクトをキャッシュしておくことが必要であ
る。これにより、再度同一ファイルオブジェクトが利用
される確率が高まる。
きるだけ大きな容量のファイル装置50に多数のファイ
ルオブジェクトをキャッシュしておくことが必要であ
る。これにより、再度同一ファイルオブジェクトが利用
される確率が高まる。
【0017】我々の経験によれば、キャッシュファイル
16の容量が0MB(Mega Bytes)ではキャッシュヒット
率は0%であるが、100MB程度で30%、300MBで
40%、1GB程度で50%程度のキャッシュヒット率が
得られることが知られている。
16の容量が0MB(Mega Bytes)ではキャッシュヒット
率は0%であるが、100MB程度で30%、300MBで
40%、1GB程度で50%程度のキャッシュヒット率が
得られることが知られている。
【0018】これはあるユーザがアクセスするファイル
オブジェクトは既に他のユーザがアクセスしておりゲー
トウェイ計算機にキャッシュされている確率が高いから
である。
オブジェクトは既に他のユーザがアクセスしておりゲー
トウェイ計算機にキャッシュされている確率が高いから
である。
【0019】これらのproxy サーバ装置112は、多段
にネットワーク接続することも可能である。またキャッ
シュファイル16付きproxy サーバ装置112はプロセ
スとしてクライアント計算機8内部にて動作させること
も行なわれている。たとえばクライアント計算機8で利
用されるファイルオブジェクト閲覧用のブラウザソフト
ウェア24であるNetscape Navigator(Netscape Commu
nications 社の商標)では、ブラウザキャッシュを保有
している。その最大蓄積容量として5MB程度が標準的に
設定されている。これは文章にして100頁程度保存可
能な容量である。また、ユーザがアクセスしたブラウザ
キャッシュに記憶されているデータのみが再利用の対象
となる。
にネットワーク接続することも可能である。またキャッ
シュファイル16付きproxy サーバ装置112はプロセ
スとしてクライアント計算機8内部にて動作させること
も行なわれている。たとえばクライアント計算機8で利
用されるファイルオブジェクト閲覧用のブラウザソフト
ウェア24であるNetscape Navigator(Netscape Commu
nications 社の商標)では、ブラウザキャッシュを保有
している。その最大蓄積容量として5MB程度が標準的に
設定されている。これは文章にして100頁程度保存可
能な容量である。また、ユーザがアクセスしたブラウザ
キャッシュに記憶されているデータのみが再利用の対象
となる。
【0020】ここでWWW システムの用語について説明を
行なう。WWW システムではネットワーク上に分散したフ
ァイルオブジェクト名称はUniform Resource Locator
(URL)と呼ばれる形式で表現され、特定される。
行なう。WWW システムではネットワーク上に分散したフ
ァイルオブジェクト名称はUniform Resource Locator
(URL)と呼ばれる形式で表現され、特定される。
【0021】URL の例を示す。 http://www.xxx.co.jp/test/index.html httpは使用するプロトコルを示す。www.xxx.co.jp はネ
ットワーク上のサーバ計算機(HTTPサーバ計算機)4の
アドレスを示すものであり、ネットワーク上で同一のも
のはないように選ばれている。/test/index.htmlはサー
バ計算機4のファイル名称を示す。
ットワーク上のサーバ計算機(HTTPサーバ計算機)4の
アドレスを示すものであり、ネットワーク上で同一のも
のはないように選ばれている。/test/index.htmlはサー
バ計算機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番台の状態コードは
将来のために予約されており、現在は使用されていな
い。
ルオブジェクトの中継記録としてコモンログフォーマッ
トと呼ばれる形式に従ったアクセスログ(ファイルオブ
ジェクト転送記録)を生成する。これはファイルオブジ
ェクトのアクセス要求を送信したのクライアント計算機
の名称、時刻、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番台の状態コードは
将来のために予約されており、現在は使用されていな
い。
【0023】ファイルオブジェクトのデータサイズとは
その名のとおりファイルオブジェクトのバイト数を示
す。
その名のとおりファイルオブジェクトのバイト数を示
す。
【0024】このように、従来の分散ファイルシステム
においては、ファイルオブジェクトをproxy サーバ装置
112内のキャッシュファイル16にキャッシュするこ
とにより、キャッシュヒット率の向上を図っている。
においては、ファイルオブジェクトをproxy サーバ装置
112内のキャッシュファイル16にキャッシュするこ
とにより、キャッシュヒット率の向上を図っている。
【0025】
【発明が解決しようとする課題】しかし、ビジネスアワ
ー(特に、休憩時間)においては、クライアント計算機
8からのアクセスがproxy サーバ装置112に集中する
傾向が顕著である。この場合、内部ネットワーク38内
での通信が混雑し、十分高速とは言えなくなる。このた
め、式(1)の第2項目の値が増大し、式(2)の近似
が成り立たなくなる。一方、proxy サーバ装置112に
対する負荷も高まり、ファイルオブジェクトをキャッシ
ュファイル16から読出す際の応答速度が低下する。し
たがって、できるだけクライアント計算機8にファイル
オブジェクトを蓄積しておき、内部ネットワークの負荷
を減らすことが必要となる。
ー(特に、休憩時間)においては、クライアント計算機
8からのアクセスがproxy サーバ装置112に集中する
傾向が顕著である。この場合、内部ネットワーク38内
での通信が混雑し、十分高速とは言えなくなる。このた
め、式(1)の第2項目の値が増大し、式(2)の近似
が成り立たなくなる。一方、proxy サーバ装置112に
対する負荷も高まり、ファイルオブジェクトをキャッシ
ュファイル16から読出す際の応答速度が低下する。し
たがって、できるだけクライアント計算機8にファイル
オブジェクトを蓄積しておき、内部ネットワークの負荷
を減らすことが必要となる。
【0026】一方、クライアント計算機8のブラウザキ
ャッシュにキャッシュされたファイルオブジェクトは、
そのクライアント計算機8のユーザがアクセスしたデー
タだけである。このため、proxy サーバ装置112のよ
うに多数のクライアント計算機8によって利用されるも
のと比べて圧倒的にキャッシュ蓄積量が少ない。また、
他のユーザがアクセスしたデータが蓄積されていないの
でヒット率を高くすることができない。
ャッシュにキャッシュされたファイルオブジェクトは、
そのクライアント計算機8のユーザがアクセスしたデー
タだけである。このため、proxy サーバ装置112のよ
うに多数のクライアント計算機8によって利用されるも
のと比べて圧倒的にキャッシュ蓄積量が少ない。また、
他のユーザがアクセスしたデータが蓄積されていないの
でヒット率を高くすることができない。
【0027】本発明は、これらのような問題点を解決す
るためになされたもので、請求項1〜2、4に記載の発
明の目的は、キャッシュヒット率の高く、かつアクセス
速度が速い分散ファイルシステムを提供することであ
る。
るためになされたもので、請求項1〜2、4に記載の発
明の目的は、キャッシュヒット率の高く、かつアクセス
速度が速い分散ファイルシステムを提供することであ
る。
【0028】請求項3に記載の発明の目的は、請求項1
〜2のいずれかに記載の発明の目的に加えて、あるクラ
イアント計算機にキャッシュされたファイルオブジェク
トを別のクライアント計算機で使用可能な分散ファイル
システムを提供することである。
〜2のいずれかに記載の発明の目的に加えて、あるクラ
イアント計算機にキャッシュされたファイルオブジェク
トを別のクライアント計算機で使用可能な分散ファイル
システムを提供することである。
【0029】請求項5に記載の発明の目的は、請求項2
に記載の発明の目的に加えて、クライアント計算機の欲
しないファイルオブジェクトの配送を抑制することがで
きる分散ファイルシステムを提供することである。
に記載の発明の目的に加えて、クライアント計算機の欲
しないファイルオブジェクトの配送を抑制することがで
きる分散ファイルシステムを提供することである。
【0030】請求項6〜9に記載の発明の目的は、請求
項2に記載の発明の目的に加えて、効率良くファイルオ
ブジェクトの送信を行なうことのできる分散ファイルシ
ステムを提供することである。
項2に記載の発明の目的に加えて、効率良くファイルオ
ブジェクトの送信を行なうことのできる分散ファイルシ
ステムを提供することである。
【0031】請求項10に記載の発明の目的は、請求項
2に記載の発明の目的に加えて、動的に生成されたファ
イルオブジェクトをゲートウェイ計算機にキャッシュす
ることが可能な分散ファイルシステムを提供することで
ある。
2に記載の発明の目的に加えて、動的に生成されたファ
イルオブジェクトをゲートウェイ計算機にキャッシュす
ることが可能な分散ファイルシステムを提供することで
ある。
【0032】請求項11〜13に記載の発明の目的は、
キャッシュヒット率の高く、かつアクセス速度の速い分
散ファイルシステムで用いられるゲートウェイ計算機を
提供することである。
キャッシュヒット率の高く、かつアクセス速度の速い分
散ファイルシステムで用いられるゲートウェイ計算機を
提供することである。
【0033】請求項14に記載の発明の目的は、請求項
12に記載の発明の目的に加えて、クライアント計算機
の欲しないファイルオブジェクトの配送を抑制すること
ができる分散ファイルシステムで用いられるゲートウェ
イ計算機を提供することである。
12に記載の発明の目的に加えて、クライアント計算機
の欲しないファイルオブジェクトの配送を抑制すること
ができる分散ファイルシステムで用いられるゲートウェ
イ計算機を提供することである。
【0034】請求項15〜18に記載の発明の目的は、
請求項12に記載の発明の目的に加えて、効率良くファ
イルオブジェクトの送信を行なうことのできる分散ファ
イルシステムで用いられるゲートウェイ計算機を提供す
ることである。
請求項12に記載の発明の目的に加えて、効率良くファ
イルオブジェクトの送信を行なうことのできる分散ファ
イルシステムで用いられるゲートウェイ計算機を提供す
ることである。
【0035】請求項19に記載の発明の目的は、請求項
12に記載の発明の目的に加えて、動的に生成されたフ
ァイルオブジェクトをキャッシュすることが可能な分散
ファイルシステムで用いられるゲートウェイ計算機を提
供することである。
12に記載の発明の目的に加えて、動的に生成されたフ
ァイルオブジェクトをキャッシュすることが可能な分散
ファイルシステムで用いられるゲートウェイ計算機を提
供することである。
【0036】
【課題を解決するための手段】請求項1に記載の発明に
係る分散ファイルシステムは、アクセス要求を受け、上
記アクセス要求に応じたファイルオブジェクトを送信す
るためのサーバ計算機と、複数のクライアント計算機
と、ゲートウェイ計算機と、上記サーバ計算機と上記複
数のクライアント計算機とを上記ゲートウェイ計算機を
介して相互に接続するための通信回線とを含み、上記複
数のクライアント計算機の各々は、上記ファイルオブジ
ェクトを一時的に保持するためのクライアントキャッシ
ュファイルと、上記ゲートウェイ計算機に接続され、上
記ファイルオブジェクトを取得するための上記アクセス
要求を送信し、上記ファイルオブジェクトを受信し、上
記クライアントキャッシュファイルに書込むための第1
のファイルオブジェクト受信手段とを含み、上記ゲート
ウェイ計算機は、上記ファイルオブジェクトを一時的に
保持するためのキャッシュファイルと、上記サーバ計算
機から上記ファイルオブジェクトを受信する際の受信記
録情報を保持するためのアクセスログファイルと、前記
アクセスログファイルに接続され、上記複数のクライア
ント計算機の各々より上記アクセス要求を受信し、上記
キャッシュファイルまたは上記サーバ計算機より上記フ
ァイルオブジェクトを取得し、上記アクセス要求を送信
した上記クライアント計算機ならびに前記受信記録情報
および所定の選択方法により選択された上記クライアン
ト計算機に送信し、必要に応じて上記キャッシュファイ
ルに書込み、上記受信記録情報を上記アクセスログファ
イルに書込むためのファイルオブジェクト分配手段とを
含む。
係る分散ファイルシステムは、アクセス要求を受け、上
記アクセス要求に応じたファイルオブジェクトを送信す
るためのサーバ計算機と、複数のクライアント計算機
と、ゲートウェイ計算機と、上記サーバ計算機と上記複
数のクライアント計算機とを上記ゲートウェイ計算機を
介して相互に接続するための通信回線とを含み、上記複
数のクライアント計算機の各々は、上記ファイルオブジ
ェクトを一時的に保持するためのクライアントキャッシ
ュファイルと、上記ゲートウェイ計算機に接続され、上
記ファイルオブジェクトを取得するための上記アクセス
要求を送信し、上記ファイルオブジェクトを受信し、上
記クライアントキャッシュファイルに書込むための第1
のファイルオブジェクト受信手段とを含み、上記ゲート
ウェイ計算機は、上記ファイルオブジェクトを一時的に
保持するためのキャッシュファイルと、上記サーバ計算
機から上記ファイルオブジェクトを受信する際の受信記
録情報を保持するためのアクセスログファイルと、前記
アクセスログファイルに接続され、上記複数のクライア
ント計算機の各々より上記アクセス要求を受信し、上記
キャッシュファイルまたは上記サーバ計算機より上記フ
ァイルオブジェクトを取得し、上記アクセス要求を送信
した上記クライアント計算機ならびに前記受信記録情報
および所定の選択方法により選択された上記クライアン
ト計算機に送信し、必要に応じて上記キャッシュファイ
ルに書込み、上記受信記録情報を上記アクセスログファ
イルに書込むためのファイルオブジェクト分配手段とを
含む。
【0037】請求項1に記載の発明によると、ファイル
オブジェクト分配手段は、ファイルオブジェクトを取得
するためのアクセス要求を送信したクライアント計算機
にファイルオブジェクトを送信すると共に、受信記録情
報および所定の選択方法により選択された、そのクライ
アント計算機以外のクライアント計算機にも同じファイ
ルオブジェクトを送信する。よって、他のクライアント
計算機に次々とファイルオブジェクトがキャッシュされ
る。このため、クライアント計算機を別ネットワークに
持ち運んでもゲートウェイ計算機のキャッシュが存在す
るのと同様となり、キャッシュヒット率の高く、かつア
クセス速度が速い分散ファイルシステムを提供すること
ができる。
オブジェクト分配手段は、ファイルオブジェクトを取得
するためのアクセス要求を送信したクライアント計算機
にファイルオブジェクトを送信すると共に、受信記録情
報および所定の選択方法により選択された、そのクライ
アント計算機以外のクライアント計算機にも同じファイ
ルオブジェクトを送信する。よって、他のクライアント
計算機に次々とファイルオブジェクトがキャッシュされ
る。このため、クライアント計算機を別ネットワークに
持ち運んでもゲートウェイ計算機のキャッシュが存在す
るのと同様となり、キャッシュヒット率の高く、かつア
クセス速度が速い分散ファイルシステムを提供すること
ができる。
【0038】請求項2に記載の発明に係る分散ファイル
システムは、請求項1に記載の発明の構成に加えて、上
記ファイルオブジェクト分配手段は、上記複数のクライ
アント計算機の各々より上記アクセス要求を受信し、上
記キャッシュファイルまたは上記サーバ計算機より上記
ファイルオブジェクトを取得し、上記アクセス要求を送
信した上記クライアント計算機に送信し、必要に応じて
上記キャッシュファイルに書込み、上記受信記録情報を
上記アクセスログファイルに書込むためのファイルオブ
ジェクト取得代理手段と、上記アクセスログファイルに
接続され、上記複数のクライアント計算機の内、上記受
信記録情報および所定の選択方法に従って選択されたク
ライアント計算機に上記アクセス要求を送信するための
ファイルオブジェクトアクセス要求送信手段とを含み、
上記第1のファイルオブジェクト受信手段は、上記ファ
イルオブジェクトアクセス要求送信手段からの上記アク
セス要求を受信し、上記ファイルオブジェクト取得代理
手段に送信するための手段を含む。
システムは、請求項1に記載の発明の構成に加えて、上
記ファイルオブジェクト分配手段は、上記複数のクライ
アント計算機の各々より上記アクセス要求を受信し、上
記キャッシュファイルまたは上記サーバ計算機より上記
ファイルオブジェクトを取得し、上記アクセス要求を送
信した上記クライアント計算機に送信し、必要に応じて
上記キャッシュファイルに書込み、上記受信記録情報を
上記アクセスログファイルに書込むためのファイルオブ
ジェクト取得代理手段と、上記アクセスログファイルに
接続され、上記複数のクライアント計算機の内、上記受
信記録情報および所定の選択方法に従って選択されたク
ライアント計算機に上記アクセス要求を送信するための
ファイルオブジェクトアクセス要求送信手段とを含み、
上記第1のファイルオブジェクト受信手段は、上記ファ
イルオブジェクトアクセス要求送信手段からの上記アク
セス要求を受信し、上記ファイルオブジェクト取得代理
手段に送信するための手段を含む。
【0039】請求項2に記載の発明によると、請求項1
に記載の発明の作用、効果に加えて、ファイルオブジェ
クトアクセス要求送信手段が受信記録情報および所定の
選択方法にしたがって選択されたクライアント計算機に
アクセス要求を送信する。クライアント計算機の第1の
ファイルオブジェクト受信手段がそのアクセス要求を受
取り、ファイルオブジェクト代理手段に送信することに
より、他のクライアント計算機が取得したファイルオブ
ジェクトをキャッシュすることができる。このため、キ
ャッシュヒット率の高い分散ファイルシステムを提供す
ることができる。請求項3に記載の発明に係る分散ファ
イルシステムは、請求項1〜2のいずれかに記載の発明
の構成に加えて、上記クライアントキャッシュファイル
は、取外し可能な記憶媒体である。
に記載の発明の作用、効果に加えて、ファイルオブジェ
クトアクセス要求送信手段が受信記録情報および所定の
選択方法にしたがって選択されたクライアント計算機に
アクセス要求を送信する。クライアント計算機の第1の
ファイルオブジェクト受信手段がそのアクセス要求を受
取り、ファイルオブジェクト代理手段に送信することに
より、他のクライアント計算機が取得したファイルオブ
ジェクトをキャッシュすることができる。このため、キ
ャッシュヒット率の高い分散ファイルシステムを提供す
ることができる。請求項3に記載の発明に係る分散ファ
イルシステムは、請求項1〜2のいずれかに記載の発明
の構成に加えて、上記クライアントキャッシュファイル
は、取外し可能な記憶媒体である。
【0040】請求項3に記載の発明によると、請求項1
〜2に記載の発明の作用、効果に加えて、クライアント
キャッシュファイルは取外し可能であるため、あるクラ
イアント計算機のキャッシュファイルに記憶されている
ファイルオブジェクトを別のクライアント計算機で使用
することが可能である。
〜2に記載の発明の作用、効果に加えて、クライアント
キャッシュファイルは取外し可能であるため、あるクラ
イアント計算機のキャッシュファイルに記憶されている
ファイルオブジェクトを別のクライアント計算機で使用
することが可能である。
【0041】請求項4に記載の発明に係る分散ファイル
システムは、請求項2に記載の発明の構成に加えて、上
記ファイルオブジェクトアクセス要求送信手段は、上記
受信記録情報に記録されたファイルオブジェクト名称の
出現頻度順に、上記ファイルオブジェクトを取得するた
めの上記アクセス要求を送信する。
システムは、請求項2に記載の発明の構成に加えて、上
記ファイルオブジェクトアクセス要求送信手段は、上記
受信記録情報に記録されたファイルオブジェクト名称の
出現頻度順に、上記ファイルオブジェクトを取得するた
めの上記アクセス要求を送信する。
【0042】請求項4に記載の発明によると、請求項2
に記載の発明の作用、効果に加えて、ファイルオブジェ
クトアクセス要求送信手段は、アクセスの多いファイル
オブジェクトから順にクライアント計算機にキャッシュ
されるようにアクセス要求を送信する。このため、より
ヒット率の高いファイルオブジェクトをクライアント計
算機にキャッシュすることができる。よって、キャッシ
ュヒット率の高い分散ファイルシステムを提供すること
ができる。
に記載の発明の作用、効果に加えて、ファイルオブジェ
クトアクセス要求送信手段は、アクセスの多いファイル
オブジェクトから順にクライアント計算機にキャッシュ
されるようにアクセス要求を送信する。このため、より
ヒット率の高いファイルオブジェクトをクライアント計
算機にキャッシュすることができる。よって、キャッシ
ュヒット率の高い分散ファイルシステムを提供すること
ができる。
【0043】請求項5に記載の発明に係る分散ファイル
システムは、請求項2に記載の発明の構成に加えて、上
記ファイルオブジェクトアクセス要求送信手段は、所定
の文字列を含む上記受信記録情報に記録された上記ファ
イルオブジェクト名称を排除して、上記ファイルオブジ
ェクトを取得するための上記アクセス要求を送信する。
システムは、請求項2に記載の発明の構成に加えて、上
記ファイルオブジェクトアクセス要求送信手段は、所定
の文字列を含む上記受信記録情報に記録された上記ファ
イルオブジェクト名称を排除して、上記ファイルオブジ
ェクトを取得するための上記アクセス要求を送信する。
【0044】請求項5に記載の発明によると、請求項2
に記載の発明の作用、効果に加えて、ファイルオブジェ
クトアクセス要求送信手段は、所定の文字列を含むファ
イルオブジェクト名称以外のファイルオブジェクトを取
得するためのアクセス要求を送信する。よって、クライ
アント計算機の欲しないファイルオブジェクトの配送を
抑制することができる。
に記載の発明の作用、効果に加えて、ファイルオブジェ
クトアクセス要求送信手段は、所定の文字列を含むファ
イルオブジェクト名称以外のファイルオブジェクトを取
得するためのアクセス要求を送信する。よって、クライ
アント計算機の欲しないファイルオブジェクトの配送を
抑制することができる。
【0045】請求項6に記載の発明に係る分散ファイル
システムは、請求項2に記載の発明の構成に加えて、上
記ファイルオブジェクトアクセス要求送信手段は、上記
受信記録情報に基づき、上記受信代理手段を通じて上記
ファイルオブジェクトを取得したクライアント計算機以
外のクライアント計算機に上記アクセス要求を送信す
る。
システムは、請求項2に記載の発明の構成に加えて、上
記ファイルオブジェクトアクセス要求送信手段は、上記
受信記録情報に基づき、上記受信代理手段を通じて上記
ファイルオブジェクトを取得したクライアント計算機以
外のクライアント計算機に上記アクセス要求を送信す
る。
【0046】請求項6に記載の発明によると、請求項2
に記載の発明の作用、効果に加えて、ファイルオブジェ
クトアクセス要求送信手段は、受信代理手段を通じてフ
ァイルオブジェクトを既に取得しているクライアント計
算機に対しては、アクセス要求を送信しない。これによ
り、クライアント計算機が重複してファイルオブジェク
トを取得することがなくなり、効率良くファイルオブジ
ェクトの送信を行なうことができる。
に記載の発明の作用、効果に加えて、ファイルオブジェ
クトアクセス要求送信手段は、受信代理手段を通じてフ
ァイルオブジェクトを既に取得しているクライアント計
算機に対しては、アクセス要求を送信しない。これによ
り、クライアント計算機が重複してファイルオブジェク
トを取得することがなくなり、効率良くファイルオブジ
ェクトの送信を行なうことができる。
【0047】請求項7に記載の発明に係る分散ファイル
システムは、請求項2に記載の発明の構成に加えて、上
記ファイルオブジェクトアクセス要求送信手段は、上記
受信記録情報に基づき、所定の文字列を含む上記クライ
アント計算機がアクセス要求を行なった上記ファイルオ
ブジェクトを取得するための上記アクセス要求を送信す
る。
システムは、請求項2に記載の発明の構成に加えて、上
記ファイルオブジェクトアクセス要求送信手段は、上記
受信記録情報に基づき、所定の文字列を含む上記クライ
アント計算機がアクセス要求を行なった上記ファイルオ
ブジェクトを取得するための上記アクセス要求を送信す
る。
【0048】請求項7に記載の発明によると、請求項2
に記載の発明の作用、効果に加えて、ゲートウェイ計算
機は、所定のクライアント計算機がアクセス要求を行な
ったファイルオブジェクトのみをクライアント計算機に
送信する。よって、効率良くファイルオブジェクトの送
信を行なうことができる。
に記載の発明の作用、効果に加えて、ゲートウェイ計算
機は、所定のクライアント計算機がアクセス要求を行な
ったファイルオブジェクトのみをクライアント計算機に
送信する。よって、効率良くファイルオブジェクトの送
信を行なうことができる。
【0049】請求項8に記載の発明に係る分散ファイル
システムは、請求項2に記載の発明の構成に加えて、上
記ゲートウェイ計算機は、上記キャッシュファイルに接
続され、上記ファイルオブジェクトが保持されているか
否かを判断するための保持判断手段をさらに含み、上記
ファイルオブジェクトアクセス要求送信手段は、上記保
持判断手段に接続され、上記ファイルオブジェクトが上
記キャッシュファイルに保持されている場合のみ、上記
ファイルオブジェクトを取得するための上記アクセス要
求を送信するように制御を行なうための手段を含む。
システムは、請求項2に記載の発明の構成に加えて、上
記ゲートウェイ計算機は、上記キャッシュファイルに接
続され、上記ファイルオブジェクトが保持されているか
否かを判断するための保持判断手段をさらに含み、上記
ファイルオブジェクトアクセス要求送信手段は、上記保
持判断手段に接続され、上記ファイルオブジェクトが上
記キャッシュファイルに保持されている場合のみ、上記
ファイルオブジェクトを取得するための上記アクセス要
求を送信するように制御を行なうための手段を含む。
【0050】請求項8に記載の発明によると、請求項2
に記載の発明の作用、効果に加えて、ファイルオブジェ
クトアクセス要求送信手段は、ファイルオブジェクトが
キャッシュファイルに保持されている場合にのみファイ
ルオブジェクトを取得するためのアクセス要求をクライ
アント計算機に送信する。これにより、無駄なアクセス
要求が生じず、効率良くファイルオブジェクトの送信を
行なうことができる。
に記載の発明の作用、効果に加えて、ファイルオブジェ
クトアクセス要求送信手段は、ファイルオブジェクトが
キャッシュファイルに保持されている場合にのみファイ
ルオブジェクトを取得するためのアクセス要求をクライ
アント計算機に送信する。これにより、無駄なアクセス
要求が生じず、効率良くファイルオブジェクトの送信を
行なうことができる。
【0051】請求項9に記載の発明に係る分散ファイル
システムは、請求項2に記載の発明の構成に加えて、上
記ファイルオブジェクト分配手段は、所定の並列配送数
以内で上記ファイルオブジェクトの送信を並列に行なう
よう制御を行なうための手段をさらに含む。
システムは、請求項2に記載の発明の構成に加えて、上
記ファイルオブジェクト分配手段は、所定の並列配送数
以内で上記ファイルオブジェクトの送信を並列に行なう
よう制御を行なうための手段をさらに含む。
【0052】請求項9に記載の発明によると、請求項2
に記載の発明の作用、効果に加えて、ファイルオブジェ
クト分配手段は、ファイルオブジェクトの送信を所定の
並列配送数以内で並列に行なう。これにより、効率良く
オブジェクトの送信を行なうことができる。
に記載の発明の作用、効果に加えて、ファイルオブジェ
クト分配手段は、ファイルオブジェクトの送信を所定の
並列配送数以内で並列に行なう。これにより、効率良く
オブジェクトの送信を行なうことができる。
【0053】請求項10に記載の発明に係る分散ファイ
ルシステムは、請求項2に記載の発明の構成に加えて、
上記ゲートウェイ計算機は、上記ファイルオブジェクト
分配手段に接続され、上記ファイルオブジェクトのうち
動的なファイルオブジェクトを一時的に保持するための
一時キャッシュファイルと、上記複数のクライアント計
算機の各々より上記動的なファイルオブジェクトを取得
するためのアクセス要求を受信し、上記一時キャッシュ
ファイルより上記動的なファイルオブジェクトを読出
し、上記アクセス要求を送信したクライアント計算機に
送信するための動的ファイルオブジェクト送信手段とを
さらに含み、上記受信記録情報は、上記サーバ計算機か
ら受信する上記ファイルオブジェクトが上記動的なファ
イルオブジェクトか否かを示す情報を含み、上記キャッ
シュファイルは、上記ファイルオブジェクトのうち動的
でないファイルオブジェクトを一時的に保持し、上記フ
ァイルオブジェクト分配手段は、上記サーバ計算機より
取得した上記ファイルオブジェクトが上記動的なファイ
ルオブジェクトであれば上記一時キャッシュファイルに
書込むための手段をさらに含み、上記ファイルオブジェ
クトアクセス要求送信手段は、上記アクセスログファイ
ルに接続され、上記受信記録情報を参照し、上記サーバ
計算機より取得した上記ファイルオブジェクトが上記動
的なファイルオブジェクトであれば、上記複数のクライ
アント計算機の内、上記受信記録情報および所定の選択
方法に従って選択されたクライアント計算機に上記動的
なファイルオブジェクトを取得するためのアクセス要求
を送信するための動的ファイルオブジェクトアクセス要
求送信手段と、上記アクセスログファイルに接続され、
上記受信記録情報を参照し、上記サーバ計算機より取得
した上記ファイルオブジェクトが上記動的でないファイ
ルオブジェクトであれば、上記複数のクライアント計算
機の内、上記受信記録情報および所定の選択方法に従っ
て選択されたクライアント計算機に上記動的でないファ
イルオブジェクトを取得するためのアクセス要求を送信
するための静的ファイルオブジェクトアクセス要求送信
手段とを含み、上記複数のクライアント計算機の各々
は、上記動的ファイルオブジェクトアクセス要求送信手
段に接続され、上記アクセス要求を送信し、上記動的フ
ァイルオブジェクトを受信し、上記クライアントキャッ
シュファイルに書込むための第2のファイルオブジェク
ト受信手段をさらに含む。
ルシステムは、請求項2に記載の発明の構成に加えて、
上記ゲートウェイ計算機は、上記ファイルオブジェクト
分配手段に接続され、上記ファイルオブジェクトのうち
動的なファイルオブジェクトを一時的に保持するための
一時キャッシュファイルと、上記複数のクライアント計
算機の各々より上記動的なファイルオブジェクトを取得
するためのアクセス要求を受信し、上記一時キャッシュ
ファイルより上記動的なファイルオブジェクトを読出
し、上記アクセス要求を送信したクライアント計算機に
送信するための動的ファイルオブジェクト送信手段とを
さらに含み、上記受信記録情報は、上記サーバ計算機か
ら受信する上記ファイルオブジェクトが上記動的なファ
イルオブジェクトか否かを示す情報を含み、上記キャッ
シュファイルは、上記ファイルオブジェクトのうち動的
でないファイルオブジェクトを一時的に保持し、上記フ
ァイルオブジェクト分配手段は、上記サーバ計算機より
取得した上記ファイルオブジェクトが上記動的なファイ
ルオブジェクトであれば上記一時キャッシュファイルに
書込むための手段をさらに含み、上記ファイルオブジェ
クトアクセス要求送信手段は、上記アクセスログファイ
ルに接続され、上記受信記録情報を参照し、上記サーバ
計算機より取得した上記ファイルオブジェクトが上記動
的なファイルオブジェクトであれば、上記複数のクライ
アント計算機の内、上記受信記録情報および所定の選択
方法に従って選択されたクライアント計算機に上記動的
なファイルオブジェクトを取得するためのアクセス要求
を送信するための動的ファイルオブジェクトアクセス要
求送信手段と、上記アクセスログファイルに接続され、
上記受信記録情報を参照し、上記サーバ計算機より取得
した上記ファイルオブジェクトが上記動的でないファイ
ルオブジェクトであれば、上記複数のクライアント計算
機の内、上記受信記録情報および所定の選択方法に従っ
て選択されたクライアント計算機に上記動的でないファ
イルオブジェクトを取得するためのアクセス要求を送信
するための静的ファイルオブジェクトアクセス要求送信
手段とを含み、上記複数のクライアント計算機の各々
は、上記動的ファイルオブジェクトアクセス要求送信手
段に接続され、上記アクセス要求を送信し、上記動的フ
ァイルオブジェクトを受信し、上記クライアントキャッ
シュファイルに書込むための第2のファイルオブジェク
ト受信手段をさらに含む。
【0054】請求項10に記載の発明によると、請求項
2に記載の発明の作用、効果に加えて、動的なファイル
オブジェクトを一時キャッシュファイルに保持し、クラ
イアント計算機に送信する。よって、動的に生成された
ファイルオブジェクトをゲートウェイ計算機にキャッシ
ュすることができる。
2に記載の発明の作用、効果に加えて、動的なファイル
オブジェクトを一時キャッシュファイルに保持し、クラ
イアント計算機に送信する。よって、動的に生成された
ファイルオブジェクトをゲートウェイ計算機にキャッシ
ュすることができる。
【0055】請求項11に記載の発明に係るゲートウェ
イ計算機は、アクセス要求を受け、上記アクセス要求に
応じたファイルオブジェクトを送信するためのサーバ計
算機と、上記アクセス要求を送信し、上記ファイルオブ
ジェクトを受信するための複数のクライアント計算機
と、ゲートウェイ計算機と、上記サーバ計算機と上記複
数のクライアント計算機とを上記ゲートウェイ計算機を
介して相互に接続するための通信回線とを含む分散ファ
イルシステムで用いられるゲートウェイ計算機であっ
て、上記ファイルオブジェクトを一時的に保持するため
のキャッシュファイルと、上記サーバ計算機から上記フ
ァイルオブジェクトを受信する際の受信記録情報を保持
するためのアクセスログファイルと、上記複数のクライ
アント計算機の各々より上記アクセス要求を受信し、上
記キャッシュファイルまたは上記サーバ計算機より上記
ファイルオブジェクトを取得し、前記受信記録情報およ
び所定の選択方法により選択された上記クライアント計
算機に送信し、必要に応じて上記キャッシュファイルに
書込み、上記受信記録情報を上記アクセスログファイル
に書込むためのファイルオブジェクト分配手段とを含
む。
イ計算機は、アクセス要求を受け、上記アクセス要求に
応じたファイルオブジェクトを送信するためのサーバ計
算機と、上記アクセス要求を送信し、上記ファイルオブ
ジェクトを受信するための複数のクライアント計算機
と、ゲートウェイ計算機と、上記サーバ計算機と上記複
数のクライアント計算機とを上記ゲートウェイ計算機を
介して相互に接続するための通信回線とを含む分散ファ
イルシステムで用いられるゲートウェイ計算機であっ
て、上記ファイルオブジェクトを一時的に保持するため
のキャッシュファイルと、上記サーバ計算機から上記フ
ァイルオブジェクトを受信する際の受信記録情報を保持
するためのアクセスログファイルと、上記複数のクライ
アント計算機の各々より上記アクセス要求を受信し、上
記キャッシュファイルまたは上記サーバ計算機より上記
ファイルオブジェクトを取得し、前記受信記録情報およ
び所定の選択方法により選択された上記クライアント計
算機に送信し、必要に応じて上記キャッシュファイルに
書込み、上記受信記録情報を上記アクセスログファイル
に書込むためのファイルオブジェクト分配手段とを含
む。
【0056】請求項11に記載の発明によると、ファイ
ルオブジェクト分配手段は、ファイルオブジェクトを取
得するためのアクセス要求を送信したクライアント計算
機にファイルオブジェクトを送信すると共に、そのクラ
イアント計算機以外の受信記録情報および所定の選択方
法により選択されたクライアント計算機にも同じファイ
ルオブジェクトを送信する。よって、他のクライアント
計算機に次々とファイルオブジェクトがキャッシュされ
る。このため、キャッシュヒット率の高く、かつアクセ
ス速度が速い分散ファイルシステムで用いられるゲート
ウェイ計算機を提供することができる。
ルオブジェクト分配手段は、ファイルオブジェクトを取
得するためのアクセス要求を送信したクライアント計算
機にファイルオブジェクトを送信すると共に、そのクラ
イアント計算機以外の受信記録情報および所定の選択方
法により選択されたクライアント計算機にも同じファイ
ルオブジェクトを送信する。よって、他のクライアント
計算機に次々とファイルオブジェクトがキャッシュされ
る。このため、キャッシュヒット率の高く、かつアクセ
ス速度が速い分散ファイルシステムで用いられるゲート
ウェイ計算機を提供することができる。
【0057】請求項12に記載の発明に係るゲートウェ
イ計算機は、請求項11に記載の発明の構成に加えて、
上記ファイルオブジェクト分配手段は、上記複数のクラ
イアント計算機の各々より上記アクセス要求を受信し、
上記キャッシュファイルまたは上記サーバ計算機より上
記ファイルオブジェクトを取得し、上記アクセス要求を
送信した上記クライアント計算機に送信し、必要に応じ
て上記キャッシュファイルに書込み、上記受信記録情報
を上記アクセスログファイルに書込むためのファイルオ
ブジェクト取得代理手段と、上記アクセスログファイル
に接続され、上記複数のクライアント計算機の内、上記
受信記録情報および所定の選択方法に従って選択された
クライアント計算機に上記アクセス要求を送信するため
のファイルオブジェクトアクセス要求送信手段とを含
む。
イ計算機は、請求項11に記載の発明の構成に加えて、
上記ファイルオブジェクト分配手段は、上記複数のクラ
イアント計算機の各々より上記アクセス要求を受信し、
上記キャッシュファイルまたは上記サーバ計算機より上
記ファイルオブジェクトを取得し、上記アクセス要求を
送信した上記クライアント計算機に送信し、必要に応じ
て上記キャッシュファイルに書込み、上記受信記録情報
を上記アクセスログファイルに書込むためのファイルオ
ブジェクト取得代理手段と、上記アクセスログファイル
に接続され、上記複数のクライアント計算機の内、上記
受信記録情報および所定の選択方法に従って選択された
クライアント計算機に上記アクセス要求を送信するため
のファイルオブジェクトアクセス要求送信手段とを含
む。
【0058】請求項12に記載の発明によると、請求項
11に記載の発明の作用、効果に加えて、ファイルオブ
ジェクトアクセス要求送信手段が受信記録情報および所
定の選択方法にしたがって選択されたクライアント計算
機にアクセス要求を送信する。クライアント計算機がそ
のアクセス要求を受取り、ファイルオブジェクト代理手
段に送信することにより、他のクライアント計算機が取
得したファイルオブジェクトをキャッシュすることがで
きる。このため、キャッシュヒット率の高い分散ファイ
ルシステムで用いられるゲートウェイ計算機を提供する
ことができる。
11に記載の発明の作用、効果に加えて、ファイルオブ
ジェクトアクセス要求送信手段が受信記録情報および所
定の選択方法にしたがって選択されたクライアント計算
機にアクセス要求を送信する。クライアント計算機がそ
のアクセス要求を受取り、ファイルオブジェクト代理手
段に送信することにより、他のクライアント計算機が取
得したファイルオブジェクトをキャッシュすることがで
きる。このため、キャッシュヒット率の高い分散ファイ
ルシステムで用いられるゲートウェイ計算機を提供する
ことができる。
【0059】請求項13に記載の発明に係るゲートウェ
イ計算機は、請求項12に記載の発明の構成に加えて、
上記ファイルオブジェクトアクセス要求送信手段は、上
記受信記録情報に記録されたファイルオブジェクト名称
の出現頻度順に、上記ファイルオブジェクトを取得する
ための上記アクセス要求を送信する。
イ計算機は、請求項12に記載の発明の構成に加えて、
上記ファイルオブジェクトアクセス要求送信手段は、上
記受信記録情報に記録されたファイルオブジェクト名称
の出現頻度順に、上記ファイルオブジェクトを取得する
ための上記アクセス要求を送信する。
【0060】請求項13に記載の発明によると、請求項
12に記載の発明の作用、効果に加えて、ファイルオブ
ジェクトアクセス要求送信手段は、アクセスの多いファ
イルオブジェクトから順にクライアント計算機にキャッ
シュされるようにアクセス要求を送信する。このため、
よりヒット率の高いファイルオブジェクトをクライアン
ト計算機にキャッシュすることができる。よって、キャ
ッシュヒット率の高い分散ファイルシステムで用いられ
るゲートウェイ計算機を提供することができる。
12に記載の発明の作用、効果に加えて、ファイルオブ
ジェクトアクセス要求送信手段は、アクセスの多いファ
イルオブジェクトから順にクライアント計算機にキャッ
シュされるようにアクセス要求を送信する。このため、
よりヒット率の高いファイルオブジェクトをクライアン
ト計算機にキャッシュすることができる。よって、キャ
ッシュヒット率の高い分散ファイルシステムで用いられ
るゲートウェイ計算機を提供することができる。
【0061】請求項14に記載の発明に係るゲートウェ
イ計算機は、請求項12に記載の発明の構成に加えて、
上記ファイルオブジェクトアクセス要求送信手段は、上
記受信記録情報に記録された所定の文字列を含む上記フ
ァイルオブジェクト名称を排除して、上記ファイルオブ
ジェクトを取得するための上記アクセス要求を送信す
る。
イ計算機は、請求項12に記載の発明の構成に加えて、
上記ファイルオブジェクトアクセス要求送信手段は、上
記受信記録情報に記録された所定の文字列を含む上記フ
ァイルオブジェクト名称を排除して、上記ファイルオブ
ジェクトを取得するための上記アクセス要求を送信す
る。
【0062】請求項14に記載の発明によると、請求項
12に記載の発明の作用、効果に加えて、ファイルオブ
ジェクトアクセス要求送信手段は、所定の文字列を含む
ファイルオブジェクト名称以外のファイルオブジェクト
を取得するためのアクセス要求を送信する。よって、ク
ライアント計算機の欲しないファイルオブジェクトの配
送を抑制することができる。
12に記載の発明の作用、効果に加えて、ファイルオブ
ジェクトアクセス要求送信手段は、所定の文字列を含む
ファイルオブジェクト名称以外のファイルオブジェクト
を取得するためのアクセス要求を送信する。よって、ク
ライアント計算機の欲しないファイルオブジェクトの配
送を抑制することができる。
【0063】請求項15に記載の発明に係るゲートウェ
イ計算機は、請求項12に記載の発明の構成に加えて、
上記ファイルオブジェクトアクセス要求送信手段は、上
記受信記録情報に基づき、上記受信代理手段を通じて上
記ファイルオブジェクトを取得したクライアント計算機
以外のクライアント計算機に上記アクセス要求を送信す
る。
イ計算機は、請求項12に記載の発明の構成に加えて、
上記ファイルオブジェクトアクセス要求送信手段は、上
記受信記録情報に基づき、上記受信代理手段を通じて上
記ファイルオブジェクトを取得したクライアント計算機
以外のクライアント計算機に上記アクセス要求を送信す
る。
【0064】請求項15に記載の発明によると、請求項
12に記載の発明の作用、効果に加えて、ファイルオブ
ジェクトアクセス要求送信手段は、受信代理手段を通じ
てファイルオブジェクトを既に取得しているクライアン
ト計算機に対しては、アクセス要求を送信しない。これ
により、クライアント計算機が重複してファイルオブジ
ェクトを取得することがなくなり、効率良くファイルオ
ブジェクトの送信を行なうことができる。
12に記載の発明の作用、効果に加えて、ファイルオブ
ジェクトアクセス要求送信手段は、受信代理手段を通じ
てファイルオブジェクトを既に取得しているクライアン
ト計算機に対しては、アクセス要求を送信しない。これ
により、クライアント計算機が重複してファイルオブジ
ェクトを取得することがなくなり、効率良くファイルオ
ブジェクトの送信を行なうことができる。
【0065】請求項16に記載の発明に係るゲートウェ
イ計算機は、請求項12に記載の発明の構成に加えて、
上記ファイルオブジェクトアクセス要求送信手段は、上
記受信記録情報に基づき、所定の文字列を含む上記クラ
イアント計算機がアクセス要求を行なった上記ファイル
オブジェクトを取得するための上記アクセス要求を送信
する。
イ計算機は、請求項12に記載の発明の構成に加えて、
上記ファイルオブジェクトアクセス要求送信手段は、上
記受信記録情報に基づき、所定の文字列を含む上記クラ
イアント計算機がアクセス要求を行なった上記ファイル
オブジェクトを取得するための上記アクセス要求を送信
する。
【0066】請求項16に記載の発明によると、請求項
12に記載の発明の作用、効果に加えて、ゲートウェイ
計算機は、所定のクライアント計算機がアクセス要求を
行なったファイルオブジェクトのみをクライアント計算
機に送信する。よって、効率良くファイルオブジェクト
の送信を行なうことができる。
12に記載の発明の作用、効果に加えて、ゲートウェイ
計算機は、所定のクライアント計算機がアクセス要求を
行なったファイルオブジェクトのみをクライアント計算
機に送信する。よって、効率良くファイルオブジェクト
の送信を行なうことができる。
【0067】請求項17に記載の発明に係るゲートウェ
イ計算機は、請求項12に記載の発明の構成に加えて、
上記キャッシュファイルに接続され、上記ファイルオブ
ジェクトが保持されているか否かを判断するための保持
判断手段をさらに含み、上記ファイルオブジェクトアク
セス要求送信手段は、上記保持判断手段に接続され、上
記ファイルオブジェクトが上記キャッシュファイルに保
持されている場合のみ、上記ファイルオブジェクトを取
得するための上記アクセス要求を送信するように制御を
行なうための手段を含む。
イ計算機は、請求項12に記載の発明の構成に加えて、
上記キャッシュファイルに接続され、上記ファイルオブ
ジェクトが保持されているか否かを判断するための保持
判断手段をさらに含み、上記ファイルオブジェクトアク
セス要求送信手段は、上記保持判断手段に接続され、上
記ファイルオブジェクトが上記キャッシュファイルに保
持されている場合のみ、上記ファイルオブジェクトを取
得するための上記アクセス要求を送信するように制御を
行なうための手段を含む。
【0068】請求項17に記載の発明によると、請求項
12に記載の発明の作用、効果に加えて、ファイルオブ
ジェクトがキャッシュファイルに保持されている場合に
のみファイルオブジェクトを取得するためのアクセス要
求をクライアント計算機に送信する。これにより、無駄
なアクセス要求が生じず、効率良くファイルオブジェク
トの送信を行なうことができる。
12に記載の発明の作用、効果に加えて、ファイルオブ
ジェクトがキャッシュファイルに保持されている場合に
のみファイルオブジェクトを取得するためのアクセス要
求をクライアント計算機に送信する。これにより、無駄
なアクセス要求が生じず、効率良くファイルオブジェク
トの送信を行なうことができる。
【0069】請求項18に記載の発明に係るゲートウェ
イ計算機は、請求項12に記載の発明の構成に加えて、
上記ファイルオブジェクト取得代理手段は、所定の並列
配送数以内で上記ファイルオブジェクトの送信を並列に
行なうよう制御を行なうための手段をさらに含む。
イ計算機は、請求項12に記載の発明の構成に加えて、
上記ファイルオブジェクト取得代理手段は、所定の並列
配送数以内で上記ファイルオブジェクトの送信を並列に
行なうよう制御を行なうための手段をさらに含む。
【0070】請求項18に記載の発明によると、請求項
12に記載の発明の作用、効果に加えて、ファイルオブ
ジェクト分配手段は、ファイルオブジェクトの送信を所
定の並列配送数以内で並列に行なう。これにより、効率
良くオブジェクトの送信を行なうことができる。
12に記載の発明の作用、効果に加えて、ファイルオブ
ジェクト分配手段は、ファイルオブジェクトの送信を所
定の並列配送数以内で並列に行なう。これにより、効率
良くオブジェクトの送信を行なうことができる。
【0071】請求項19に記載の発明に係るゲートウェ
イ計算機は、請求項12に記載の発明の構成に加えて、
上記ファイルオブジェクト分配手段に接続され、上記フ
ァイルオブジェクトのうち動的なファイルオブジェクト
を一時的に保持するための一時キャッシュファイルと、
上記複数のクライアント計算機の各々より上記動的なフ
ァイルオブジェクトを取得するためのアクセス要求を受
信し、上記一時キャッシュファイルより上記動的なファ
イルオブジェクトを読出し、上記アクセス要求を送信し
たクライアント計算機に送信するための動的ファイルオ
ブジェクト送信手段とをさらに含み、上記受信記録情報
は、上記サーバ計算機から受信する上記ファイルオブジ
ェクトが上記動的なファイルオブジェクトか否かを示す
情報を含み、上記キャッシュファイルは、上記ファイル
オブジェクトのうち動的でないファイルオブジェクトを
一時的に保持し、上記ファイルオブジェクト分配手段
は、上記サーバ計算機より取得した上記ファイルオブジ
ェクトが上記動的なファイルオブジェクトであれば上記
一時キャッシュファイルに書込むための手段をさらに含
み、上記ファイルオブジェクトアクセス要求送信手段
は、上記アクセスログファイルに接続され、上記受信記
録情報を参照し、上記サーバ計算機より取得した上記フ
ァイルオブジェクトが上記動的なファイルオブジェクト
であれば、上記複数のクライアント計算機の内、上記受
信記録情報および所定の選択方法に従って選択されたク
ライアント計算機に上記動的なファイルオブジェクトを
取得するための上記アクセス要求を送信するための動的
ファイルオブジェクトアクセス要求送信手段と、上記ア
クセスログファイルに接続され、上記受信記録情報を参
照し、上記サーバ計算機より取得した上記ファイルオブ
ジェクトが上記動的でないファイルオブジェクトであれ
ば、上記複数のクライアント計算機の内、上記受信記録
情報および所定の選択方法に従って選択されたクライア
ント計算機に上記動的でないファイルオブジェクトを取
得するための上記アクセス要求を送信するための静的フ
ァイルオブジェクトアクセス要求送信手段とを含む。
イ計算機は、請求項12に記載の発明の構成に加えて、
上記ファイルオブジェクト分配手段に接続され、上記フ
ァイルオブジェクトのうち動的なファイルオブジェクト
を一時的に保持するための一時キャッシュファイルと、
上記複数のクライアント計算機の各々より上記動的なフ
ァイルオブジェクトを取得するためのアクセス要求を受
信し、上記一時キャッシュファイルより上記動的なファ
イルオブジェクトを読出し、上記アクセス要求を送信し
たクライアント計算機に送信するための動的ファイルオ
ブジェクト送信手段とをさらに含み、上記受信記録情報
は、上記サーバ計算機から受信する上記ファイルオブジ
ェクトが上記動的なファイルオブジェクトか否かを示す
情報を含み、上記キャッシュファイルは、上記ファイル
オブジェクトのうち動的でないファイルオブジェクトを
一時的に保持し、上記ファイルオブジェクト分配手段
は、上記サーバ計算機より取得した上記ファイルオブジ
ェクトが上記動的なファイルオブジェクトであれば上記
一時キャッシュファイルに書込むための手段をさらに含
み、上記ファイルオブジェクトアクセス要求送信手段
は、上記アクセスログファイルに接続され、上記受信記
録情報を参照し、上記サーバ計算機より取得した上記フ
ァイルオブジェクトが上記動的なファイルオブジェクト
であれば、上記複数のクライアント計算機の内、上記受
信記録情報および所定の選択方法に従って選択されたク
ライアント計算機に上記動的なファイルオブジェクトを
取得するための上記アクセス要求を送信するための動的
ファイルオブジェクトアクセス要求送信手段と、上記ア
クセスログファイルに接続され、上記受信記録情報を参
照し、上記サーバ計算機より取得した上記ファイルオブ
ジェクトが上記動的でないファイルオブジェクトであれ
ば、上記複数のクライアント計算機の内、上記受信記録
情報および所定の選択方法に従って選択されたクライア
ント計算機に上記動的でないファイルオブジェクトを取
得するための上記アクセス要求を送信するための静的フ
ァイルオブジェクトアクセス要求送信手段とを含む。
【0072】請求項19に記載の発明によると、請求項
12に記載の発明の作用、効果に加えて、動的なファイ
ルオブジェクトを一時キャッシュファイルに保持し、ク
ライアント計算機に送信する。よって、動的に生成され
たファイルオブジェクトをゲートウェイ計算機にキャッ
シュすることができる。
12に記載の発明の作用、効果に加えて、動的なファイ
ルオブジェクトを一時キャッシュファイルに保持し、ク
ライアント計算機に送信する。よって、動的に生成され
たファイルオブジェクトをゲートウェイ計算機にキャッ
シュすることができる。
【0073】
【発明の実施の形態】図1を参照して、本発明の実施の
形態に係る分散ファイルシステム2は、ファイルオブジ
ェクトを記憶するためのサーバ計算機4と、ファイルオ
ブジェクトを中継転送するためのゲートウェイ計算機6
と、クライアント計算機8および10と、クライアント
計算機8および10とゲートウェイ計算機6とを相互に
接続するための内部ネットワーク38と、ゲートウェイ
計算機6とサーバ計算機4とを相互に接続するための外
部ネットワーク36とを含む。クライアント計算機8
は、ファイルオブジェクトの読出要求の送信、ゲートウ
ェイ計算機6よりファイルオブジェクトを含む種々のデ
ータの受信、および受信したデータのユーザへの提示を
行なう処理を実行するためのブラウザソフトウェア24
を含む。クライアント計算機10は、データのユーザへ
の提示を行なう処理を実行するためのブラウザソフトウ
ェア26と、ゲートウェイ計算機6からのファイルオブ
ジェクトおよびアクセス要求の受信制御を行なうための
受信制御部28とを含む。
形態に係る分散ファイルシステム2は、ファイルオブジ
ェクトを記憶するためのサーバ計算機4と、ファイルオ
ブジェクトを中継転送するためのゲートウェイ計算機6
と、クライアント計算機8および10と、クライアント
計算機8および10とゲートウェイ計算機6とを相互に
接続するための内部ネットワーク38と、ゲートウェイ
計算機6とサーバ計算機4とを相互に接続するための外
部ネットワーク36とを含む。クライアント計算機8
は、ファイルオブジェクトの読出要求の送信、ゲートウ
ェイ計算機6よりファイルオブジェクトを含む種々のデ
ータの受信、および受信したデータのユーザへの提示を
行なう処理を実行するためのブラウザソフトウェア24
を含む。クライアント計算機10は、データのユーザへ
の提示を行なう処理を実行するためのブラウザソフトウ
ェア26と、ゲートウェイ計算機6からのファイルオブ
ジェクトおよびアクセス要求の受信制御を行なうための
受信制御部28とを含む。
【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を持たないものとする。
0をproxy サーバ装置として働かせるためのプロセスで
あるクライアントproxy サーバプロセス30および一時
キャッシュ更新用クライアントproxy サーバプロセス3
4と、ファイルオブジェクトを一時的に記憶するための
クライアントキャッシュファイル32とを含む。ゲート
ウェイ計算機6は、ファイルオブジェクトの転送処理を
実行するためのマスタproxy サーバプロセス12と、サ
ーバ計算機4へのアクセスログを記憶するためのアクセ
スログファイル14と、ファイルオブジェクトを一時的
に記憶するためのキャッシュファイル16と、アクセス
ログファイル14に接続され、アクセスログファイルの
内容に応じてファイルオブジェクトのアクセス要求をク
ライアント計算機10に送信し、ファイルオブジェクト
を受信するためのキャッシュ配送制御部18と、動的フ
ァイルオブジェクトを一時的に記憶するための一時キャ
ッシュファイル20と、動的ファイルオブジェクトの転
送処理を実行するための一時キャッシュ更新用マスタpr
oxy サーバプロセス22とを含む。クライアント計算機
8は、受信制御部28を持たないものとする。
【0075】クライアント計算機10は、ノート型パー
ソナルコンピュータであり、1GB(Giga Bytes)程度の
ディスク装置と、イーサネットなどの高速ネットワーク
に接続するための装置と、電話回線など比較的低速なネ
ットワークに接続するための装置(モデム等)とを持っ
ているとする。現在ノート型パーソナルコンピュータの
ディスク装置は1GB以上が普通になってきており、今後
も容量は増加するものと思われる。また工場出荷時に予
めOSやアプリケーションソフトウェアなどがディスクに
格納されているが、それでも未使用領域は500MB以上
存在する。
ソナルコンピュータであり、1GB(Giga Bytes)程度の
ディスク装置と、イーサネットなどの高速ネットワーク
に接続するための装置と、電話回線など比較的低速なネ
ットワークに接続するための装置(モデム等)とを持っ
ているとする。現在ノート型パーソナルコンピュータの
ディスク装置は1GB以上が普通になってきており、今後
も容量は増加するものと思われる。また工場出荷時に予
めOSやアプリケーションソフトウェアなどがディスクに
格納されているが、それでも未使用領域は500MB以上
存在する。
【0076】クライアント計算機10は、この空きエリ
アをキャッシュ(以下、「クライアントキャッシュファ
イル32」という。)として利用する。また、他のクラ
イアント計算機8のユーザがアクセスしているファイル
オブジェクトをゲートウェイ計算機6から受け、クライ
アントキャッシュファイル32の空きエリアに格納する
ことでクライアント計算機10のキャッシュヒット率を
向上させるものである。
アをキャッシュ(以下、「クライアントキャッシュファ
イル32」という。)として利用する。また、他のクラ
イアント計算機8のユーザがアクセスしているファイル
オブジェクトをゲートウェイ計算機6から受け、クライ
アントキャッシュファイル32の空きエリアに格納する
ことでクライアント計算機10のキャッシュヒット率を
向上させるものである。
【0077】図2を参照して、ゲートウェイ計算機6
は、UNIX OS あるいはWindows95 あるいはWindowsNT な
どのネットワーク制御のできるOSを搭載した計算機であ
り、CPU 42と、メモリ44と、I/O 部46と、クライ
アントキャッシュファイル32、配送クライアント計算
機のリスト、中継ファイル名称の記録ファイル、配送リ
スト一時記憶バッファ、クライアント計算機名称登録パ
ターン、排除パターン、格納バッファ、合致パターン記
憶バッファ、および転送量管理記憶バッファなどを記憶
するためのファイル装置50と、ネットワークI/O 部4
8と、これらを相互に接続するための内部バス49とを
含む。ファイル装置50に記憶されるファイルについて
は、メモリ44に記憶されていても良いものとし、その
意味については後述する。
は、UNIX OS あるいはWindows95 あるいはWindowsNT な
どのネットワーク制御のできるOSを搭載した計算機であ
り、CPU 42と、メモリ44と、I/O 部46と、クライ
アントキャッシュファイル32、配送クライアント計算
機のリスト、中継ファイル名称の記録ファイル、配送リ
スト一時記憶バッファ、クライアント計算機名称登録パ
ターン、排除パターン、格納バッファ、合致パターン記
憶バッファ、および転送量管理記憶バッファなどを記憶
するためのファイル装置50と、ネットワークI/O 部4
8と、これらを相互に接続するための内部バス49とを
含む。ファイル装置50に記憶されるファイルについて
は、メモリ44に記憶されていても良いものとし、その
意味については後述する。
【0078】クライアント計算機10は前述したゲート
ウェイ計算機6と同様、CPU 42と、メモリ44と、I/
O 部46と、ファイル装置50と、ネットワークI/O 部
48などとを含む。クライアント計算機10に内蔵され
た受信制御部28はキャッシュ機能付きproxy ソフトウ
ェアをCPU42 上で実行させることにより実現される。
ウェイ計算機6と同様、CPU 42と、メモリ44と、I/
O 部46と、ファイル装置50と、ネットワークI/O 部
48などとを含む。クライアント計算機10に内蔵され
た受信制御部28はキャッシュ機能付きproxy ソフトウ
ェアをCPU42 上で実行させることにより実現される。
【0079】図3および図4を参照して、分散ファイル
システム2の動作を説明する。図3を参照して、ユーザ
がクライアント計算機8に搭載されたブラウザソフトウ
ェアを使って、サーバ計算機4に記憶されたファイルオ
ブジェクトhttp://www.sharp.co.jp/ をアクセスすると
する。アクセスはゲートウェイ計算機6を経由して行な
われる。クライアント計算機8は、サーバ計算機4に記
憶されたファイルオブジェクトをゲートウェイ計算機6
を経由して受取る。
システム2の動作を説明する。図3を参照して、ユーザ
がクライアント計算機8に搭載されたブラウザソフトウ
ェアを使って、サーバ計算機4に記憶されたファイルオ
ブジェクトhttp://www.sharp.co.jp/ をアクセスすると
する。アクセスはゲートウェイ計算機6を経由して行な
われる。クライアント計算機8は、サーバ計算機4に記
憶されたファイルオブジェクトをゲートウェイ計算機6
を経由して受取る。
【0080】図4を参照して、ゲートウェイ計算機6内
のキャッシュ配送制御部18が、http://www.sharp.co.
jp/ データをクライアント計算機10a、10bおよび
10cにも配送する。すなわち、クライアント計算機8
がアクセスしたファイルオブジェクトが他のクライアン
トにも自動的に配送される。
のキャッシュ配送制御部18が、http://www.sharp.co.
jp/ データをクライアント計算機10a、10bおよび
10cにも配送する。すなわち、クライアント計算機8
がアクセスしたファイルオブジェクトが他のクライアン
トにも自動的に配送される。
【0081】上述したように我々の経験では、ゲートウ
ェイ計算機6のキャッシュヒット率はキャッシュファイ
ル16の容量が0MBでは0%であるが、100MB程度で
30%、300MBで40%、1GB程度で50%ぐらいと
キャッシュサイズの増大に従ってゆっくり増大すること
が知られている。
ェイ計算機6のキャッシュヒット率はキャッシュファイ
ル16の容量が0MBでは0%であるが、100MB程度で
30%、300MBで40%、1GB程度で50%ぐらいと
キャッシュサイズの増大に従ってゆっくり増大すること
が知られている。
【0082】したがって、前述のようにクライアント計
算機の空きディスクエリアに、自分以外の他のクライア
ント計算機の利用者の利用したファイルオブジェクトを
受信し、自己のクライアントキャッシュを新鮮なデータ
で300MB程度満たしておけばクライアントキャッシュ
でのヒット率は40%以上得られる。
算機の空きディスクエリアに、自分以外の他のクライア
ント計算機の利用者の利用したファイルオブジェクトを
受信し、自己のクライアントキャッシュを新鮮なデータ
で300MB程度満たしておけばクライアントキャッシュ
でのヒット率は40%以上得られる。
【0083】クライアント計算機10は、proxy 動作を
行なう受信制御部28を有し、ブラウザソフトウェア2
6は受信制御部28を経由してマスタproxy サーバプロ
セス12に中継ネットワークアクセスを行なう。
行なう受信制御部28を有し、ブラウザソフトウェア2
6は受信制御部28を経由してマスタproxy サーバプロ
セス12に中継ネットワークアクセスを行なう。
【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を利用しないように動作させる。これについては後述
する。
ェイ計算機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を利用しないように動作させる。これについては後述
する。
【0085】ゲートウェイ計算機6は複数のクライアン
ト計算機に接続されているものとする。複数のクライア
ント計算機は、受信制御部28を備えたクライアント計
算機10と受信制御部28を備えていないクライアント
計算機8とを含む。
ト計算機に接続されているものとする。複数のクライア
ント計算機は、受信制御部28を備えたクライアント計
算機10と受信制御部28を備えていないクライアント
計算機8とを含む。
【0086】ゲートウェイ計算機6は、マスタproxy サ
ーバプロセス12と、キャッシュ配送制御部18とを含
む。これらは、CPU 42上で動作するプロセスである。
マスタproxy サーバプロセス12は、市場から容易に入
手できるソフトウェアを実行することにより実現され
る。ユーザがブラウザソフトウェア24を搭載したクラ
イアント計算機8に、サーバ計算機4内のファイルオブ
ジェクトの取得要求をする。クライアント計算機8は、
ゲートウェイ計算機6に対し、サーバ計算機4内のファ
イルオブジェクトを取得するよう依頼を送信する。依頼
を受信したゲートウェイ計算機6内のマスタproxy サー
バプロセス12は、サーバ計算機4に対して、依頼を送
信する。
ーバプロセス12と、キャッシュ配送制御部18とを含
む。これらは、CPU 42上で動作するプロセスである。
マスタproxy サーバプロセス12は、市場から容易に入
手できるソフトウェアを実行することにより実現され
る。ユーザがブラウザソフトウェア24を搭載したクラ
イアント計算機8に、サーバ計算機4内のファイルオブ
ジェクトの取得要求をする。クライアント計算機8は、
ゲートウェイ計算機6に対し、サーバ計算機4内のファ
イルオブジェクトを取得するよう依頼を送信する。依頼
を受信したゲートウェイ計算機6内のマスタproxy サー
バプロセス12は、サーバ計算機4に対して、依頼を送
信する。
【0087】次に、マスタproxy サーバプロセス12の
動作を説明する。ファイルオブジェクトは、前述したよ
うにプロトコル名称と、サーバ計算機のネットワークア
ドレス名称と、ファイルオブジェクトの名称と、ファイ
ルデータの実体との組から構成されている。
動作を説明する。ファイルオブジェクトは、前述したよ
うにプロトコル名称と、サーバ計算機のネットワークア
ドレス名称と、ファイルオブジェクトの名称と、ファイ
ルデータの実体との組から構成されている。
【0088】マスタproxy サーバプロセス12は、メモ
リ44に記憶されたproxy プログラムをCPU 42で実行
されることにより実現される。マスタproxy サーバプロ
セス12は、クライアント計算機8からのファイルオブ
ジェクト送信要求を受取る。I/O 部46を経由してファ
イル装置50に存在するキャッシュファイル16をアク
セスし、ファイルオブジェクト名称をキャッシュファイ
ル16から抽出し、ファイルオブジェクト送信要求のフ
ァイルオブジェクト名称と比較する。ファイルオブジェ
クト名称が一致していれば、ファイルオブジェクトの最
終変更時刻を読出し、現在の時刻と比較する。キャッシ
ュの有効期限時間内であればキャッシュファイル16か
らファイルオブジェクトを抽出してネットワークI/O 部
48を経由してクライアント計算機8にファイルオブジ
ェクトを返す。
リ44に記憶されたproxy プログラムをCPU 42で実行
されることにより実現される。マスタproxy サーバプロ
セス12は、クライアント計算機8からのファイルオブ
ジェクト送信要求を受取る。I/O 部46を経由してファ
イル装置50に存在するキャッシュファイル16をアク
セスし、ファイルオブジェクト名称をキャッシュファイ
ル16から抽出し、ファイルオブジェクト送信要求のフ
ァイルオブジェクト名称と比較する。ファイルオブジェ
クト名称が一致していれば、ファイルオブジェクトの最
終変更時刻を読出し、現在の時刻と比較する。キャッシ
ュの有効期限時間内であればキャッシュファイル16か
らファイルオブジェクトを抽出してネットワークI/O 部
48を経由してクライアント計算機8にファイルオブジ
ェクトを返す。
【0089】キャッシュファイル16に、該当するファ
イルオブジェクトのコピーが存在しないか、または、キ
ャッシュの有効期限が切れていれば、ネットワークI/O
部48を経由して、外部ネットワーク36上のサーバ計
算機4にファイルオブジェクトの転送要求を送信する。
サーバ計算機4からファイルオブジェクトを読出し、キ
ャッシュファイル16にファイルオブジェクトを書込
み、ファイルオブジェクトの最終変更時刻を更新する。
また、ネットワークI/O 部48を通じて、クライアント
計算機8にファイルオブジェクトを転送する。
イルオブジェクトのコピーが存在しないか、または、キ
ャッシュの有効期限が切れていれば、ネットワークI/O
部48を経由して、外部ネットワーク36上のサーバ計
算機4にファイルオブジェクトの転送要求を送信する。
サーバ計算機4からファイルオブジェクトを読出し、キ
ャッシュファイル16にファイルオブジェクトを書込
み、ファイルオブジェクトの最終変更時刻を更新する。
また、ネットワークI/O 部48を通じて、クライアント
計算機8にファイルオブジェクトを転送する。
【0090】マスタproxy サーバプロセス12は、ファ
イルオブジェクトの転送と同時に、1つのURL を中継す
るごとにアクセスログファイル14にアクセスログとし
てファイルオブジェクト送信要求を行なったクライアン
ト計算機名称、(最終変更)時刻、ファイルオブジェク
ト名称、サーバ計算機からの状態コード、転送バイト数
などを記録する。通常このフォーマットはコモンログフ
ォーマットとしてしられる標準的なものであり、どの商
用または公開proxy ソフトウェアにおいても利用でき
る。
イルオブジェクトの転送と同時に、1つのURL を中継す
るごとにアクセスログファイル14にアクセスログとし
てファイルオブジェクト送信要求を行なったクライアン
ト計算機名称、(最終変更)時刻、ファイルオブジェク
ト名称、サーバ計算機からの状態コード、転送バイト数
などを記録する。通常このフォーマットはコモンログフ
ォーマットとしてしられる標準的なものであり、どの商
用または公開proxy ソフトウェアにおいても利用でき
る。
【0091】図1を参照して、クライアント計算機8の
ユーザが、ゲートウェイ計算機6にサーバ計算機4内の
ファイルオブジェクトの取得要求を送信したとする。キ
ャッシュファイル16にはファイルオブジェクトはな
く、初めてサーバ計算機4にアクセスするものとする。
ユーザが、ゲートウェイ計算機6にサーバ計算機4内の
ファイルオブジェクトの取得要求を送信したとする。キ
ャッシュファイル16にはファイルオブジェクトはな
く、初めてサーバ計算機4にアクセスするものとする。
【0092】まずブラウザソフトウェア24が、ゲート
ウェイ計算機6内のマスタproxy サーバプロセス12に
対してネットワーク接続を行ない、GET 命令を送信す
る。
ウェイ計算機6内のマスタproxy サーバプロセス12に
対してネットワーク接続を行ない、GET 命令を送信す
る。
【0093】GET 命令を受取ったマスタproxy サーバプ
ロセス12が、サーバ計算機4に対してネットワーク接
続を行ない、GET 命令を送信する。
ロセス12が、サーバ計算機4に対してネットワーク接
続を行ない、GET 命令を送信する。
【0094】マスタproxy サーバプロセス12は、サー
バ計算機4よりファイルオブジェクトを読出す。読出し
たファイルオブジェクトをキャッシュファイル16に書
込むとともに、アクセスログをアクセスログファイル1
4に書出す。また、ブラウザソフトウェア24はファイ
ルオブジェクトをマスタproxy サーバプロセス12から
読出す。以上が中継動作である。
バ計算機4よりファイルオブジェクトを読出す。読出し
たファイルオブジェクトをキャッシュファイル16に書
込むとともに、アクセスログをアクセスログファイル1
4に書出す。また、ブラウザソフトウェア24はファイ
ルオブジェクトをマスタproxy サーバプロセス12から
読出す。以上が中継動作である。
【0095】キャッシュ配送制御部18はアクセスログ
ファイル14よりアクセスログを読出し、クライアント
計算機8以外の受信制御部を有するクライアント計算機
10のクライアントproxy サーバプロセス30にネット
ワーク接続して、GET 命令を送信する。クライアントpr
oxy サーバプロセス30はマスタproxy サーバプロセス
12を上流マスタproxy とするクライアントproxy であ
るので、マスタproxyサーバプロセス12に対してGET
命令を送信する。
ファイル14よりアクセスログを読出し、クライアント
計算機8以外の受信制御部を有するクライアント計算機
10のクライアントproxy サーバプロセス30にネット
ワーク接続して、GET 命令を送信する。クライアントpr
oxy サーバプロセス30はマスタproxy サーバプロセス
12を上流マスタproxy とするクライアントproxy であ
るので、マスタproxyサーバプロセス12に対してGET
命令を送信する。
【0096】マスタproxy サーバプロセス12はキャッ
シュファイル16からファイルオブジェクトを読出し、
クライアントproxy サーバプロセス30に送信する。
シュファイル16からファイルオブジェクトを読出し、
クライアントproxy サーバプロセス30に送信する。
【0097】クライアントproxy サーバプロセス30
は、これをクライアントキャッシュファイル32に蓄積
する。以上によりクライアント計算機8のユーザがアク
セスしたオブジェクトファイルがクライアントキャッシ
ュファイル32にもキャッシュされた。よって、クライ
アント計算機10のユーザがブラウザソフトウェア26
を使って、受信制御部28のクライアントproxy サーバ
プロセス30経由でサーバ計算機4のファイルオブジェ
クトをアクセスした場合、事前にマスタproxy サーバプ
ロセス12より受信し、クライアントキャッシュファイ
ル32に保持されているファイルオブジェクトを利用す
ることができる。
は、これをクライアントキャッシュファイル32に蓄積
する。以上によりクライアント計算機8のユーザがアク
セスしたオブジェクトファイルがクライアントキャッシ
ュファイル32にもキャッシュされた。よって、クライ
アント計算機10のユーザがブラウザソフトウェア26
を使って、受信制御部28のクライアントproxy サーバ
プロセス30経由でサーバ計算機4のファイルオブジェ
クトをアクセスした場合、事前にマスタproxy サーバプ
ロセス12より受信し、クライアントキャッシュファイ
ル32に保持されているファイルオブジェクトを利用す
ることができる。
【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.最大並列プロセス数 が記述されているものとする。これらの意味については
後述する。
細な動作説明を行なう。マスタ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.最大並列プロセス数 が記述されているものとする。これらの意味については
後述する。
【0099】これらの引数を読出したプロセス60は、
登録されたキャッシュ配送対象のクライアント計算機の
それぞれに対応した子プロセス76および78をバック
グラウンドプロセスとして起動する。それぞれ子プロセ
ス76および78にclients.txt 内のデータを引数とし
て渡す。
登録されたキャッシュ配送対象のクライアント計算機の
それぞれに対応した子プロセス76および78をバック
グラウンドプロセスとして起動する。それぞれ子プロセ
ス76および78にclients.txt 内のデータを引数とし
て渡す。
【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 においても引数の書式
は同じである。
ぞれ /usr/locol/cachecast/cachecastw と /usr/locol/cachecast/cachecastwc である。起動時の引数は、 cachecastw -h 配送クライアント計算機名称 -p ポート番号 \ -s 開始時刻 -e 終了時刻 -r 毎時最大転送バイト数 \ -i URL 合致パターンファイル名称 \ -x URL 排除パターンファイル名称 \ -m 最大並列プロセス数 \ -c クライアント名称合致パターンファイル名称 \ -X クライアント名称排除パターンファイル名称 という形式である。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でサービスを受付けて
いることを示す。
が配送対象であれば、以下の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でサービスを受付けて
いることを示す。
【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が読出している行に設定される。
ト名称合致パターンファイル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が読出している行に設定される。
【0103】読出したURL 名称をURLBUFと呼ぶメモリ変
数に格納する。上記フォーマットであれば7番目のフィ
ールドがURL 名称(http://naragw.sharp.co.jp/S2.gi
f)である。またクライアント計算機名称はCLIENTと呼
ぶ変数に格納する。上記フォーマットであれば1番目の
フィールドがそれに相当する。
数に格納する。上記フォーマットであれば7番目のフィ
ールドがURL 名称(http://naragw.sharp.co.jp/S2.gi
f)である。またクライアント計算機名称はCLIENTと呼
ぶ変数に格納する。上記フォーマットであれば1番目の
フィールドがそれに相当する。
【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 利用方法を使って取得する。
グを読出す際、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 利用方法を使って取得する。
【0105】このネットワークアクセスの実現方法とし
ては、UNIX OS のネットワーク機能の基本であるソケッ
ト機構を利用する。これはクライアント計算機8がゲー
トウェイ計算機6に対し、ファイルオブジェクトを取得
するためにネットワーク接続する方法と同じである。
ては、UNIX OS のネットワーク機能の基本であるソケッ
ト機構を利用する。これはクライアント計算機8がゲー
トウェイ計算機6に対し、ファイルオブジェクトを取得
するためにネットワーク接続する方法と同じである。
【0106】キャッシュ配送制御部18は、socket()
システムコールにより得たsocketであるsdファイルディ
スクリプタを使って、指定されたゲートウェイ計算機6
のマシン名称とTCP/IPのポート番号10080との間
で、connect ()システムコールを発生してコネクショ
ンを確立する。
システムコールにより得たsocketであるsdファイルディ
スクリプタを使って、指定されたゲートウェイ計算機6
のマシン名称とTCP/IPのポート番号10080との間
で、connect ()システムコールを発生してコネクショ
ンを確立する。
【0107】次に、sdを使った通常のファイルのread/w
riteと同様に$URLBUF にて指定されたサーバ計算機4の
ファイルオブジェクトを読出すためのGET メソッドをwr
iteし、データをreadする。
riteと同様に$URLBUF にて指定されたサーバ計算機4の
ファイルオブジェクトを読出すためのGET メソッドをwr
iteし、データをreadする。
【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]に戻る。
コードで表わされる改行コードとして、 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]に戻る。
【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としてバックグラウンドプロセスとして起動す
る。
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としてバックグラウンドプロセスとして起動す
る。
【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
のバッファリングが行なわれ、一定時間ごとに集計され
て、出現頻度の高いものだけが配送されることになる。
動作説明を[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
のバッファリングが行なわれ、一定時間ごとに集計され
て、出現頻度の高いものだけが配送されることになる。
【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 変数に転送バイト数を加算する。
)が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 変数に転送バイト数を加算する。
【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を加算する。
数で与えられた毎時最大転送バイト数を超えるか、また
は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を加算する。
【0113】webcnt <= webcnt + 1 [step2−15]と合わせると、常に配送子プロセ
スwebaccess の実行個数は、webcntに格納されているこ
とになり、最大並列プロセス数以下になるように保たれ
る。次に、[step2−15]に戻る。
スwebaccess の実行個数は、webcntに格納されているこ
とになり、最大並列プロセス数以下になるように保たれ
る。次に、[step2−15]に戻る。
【0114】図10を参照して、キャッシュファイル1
6にファイルオブジェクトがキャッシュされている場合
の配送子プロセス(/usr/local/cachecast/webaccess)
動作を説明する。 [step3−1]webaccess スタート キャッシュ配送対象のクライアント計算機10において
はクライアントキャッシュファイル32を管理するクラ
イアントproxy サーバプロセス30が、webaccss起動時
に引数で指定されたクライアントポート番号で動いてい
るものとする。このクライアントproxy サーバプロセス
30は、その上流にゲートウェイ計算機6で動作してい
るマスタproxy サーバプロセス12に多段接続されてい
るものとする。
6にファイルオブジェクトがキャッシュされている場合
の配送子プロセス(/usr/local/cachecast/webaccess)
動作を説明する。 [step3−1]webaccess スタート キャッシュ配送対象のクライアント計算機10において
はクライアントキャッシュファイル32を管理するクラ
イアントproxy サーバプロセス30が、webaccss起動時
に引数で指定されたクライアントポート番号で動いてい
るものとする。このクライアントproxy サーバプロセス
30は、その上流にゲートウェイ計算機6で動作してい
るマスタproxy サーバプロセス12に多段接続されてい
るものとする。
【0115】したがってURL アクセス子プロセスwebacc
ess が起動されるとクライアントproxy サーバプロセス
30には指定URL のファイルオブジェクトの取得要求が
送られる。このネットワークアクセスの実現方法は、
[step1−6]で説明したものと同じであり、UNIX
OS のネットワーク機能の基本であるソケット機構を利
用する。これはクライアント計算機8がゲートウェイ計
算機6にファイルオブジェクトを取得するためにネット
ワーク接続する方法と同じである。
ess が起動されるとクライアントproxy サーバプロセス
30には指定URL のファイルオブジェクトの取得要求が
送られる。このネットワークアクセスの実現方法は、
[step1−6]で説明したものと同じであり、UNIX
OS のネットワーク機能の基本であるソケット機構を利
用する。これはクライアント計算機8がゲートウェイ計
算機6にファイルオブジェクトを取得するためにネット
ワーク接続する方法と同じである。
【0116】配送子プロセスwebaccess は、socket()
システムコールにより得たsocketであるsdファイルディ
スクリプタを使って、指定されたゲートウェイ計算機6
のマシン名称と、TCP/IPのクライアントポート番号との
間で、connect ()システムコールを発生してコネクシ
ョンを確立する。 [step3−2]sdを使った通常のファイルのread/w
riteと同様に$URLBUF にて指定されたサーバ計算機4の
ファイルオブジェクトを取得するGET メソッドをwrite
し、データをreadする。
システムコールにより得たsocketであるsdファイルディ
スクリプタを使って、指定されたゲートウェイ計算機6
のマシン名称と、TCP/IPのクライアントポート番号との
間で、connect ()システムコールを発生してコネクシ
ョンを確立する。 [step3−2]sdを使った通常のファイルのread/w
riteと同様に$URLBUF にて指定されたサーバ計算機4の
ファイルオブジェクトを取得するGET メソッドをwrite
し、データをreadする。
【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 では利用しない
ので読捨て、処理を終了する。
コードで表わされる改行コードとして、 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 では利用しない
ので読捨て、処理を終了する。
【0118】以上の動作により、ゲートウェイ計算機6
にキャッシュされていたURL のファイルオブジェクトが
クライアント計算機10のクライアントproxy サーバプ
ロセス30のクライアントキャッシュファイル32に転
送された。
にキャッシュされていたURL のファイルオブジェクトが
クライアント計算機10のクライアントproxy サーバプ
ロセス30のクライアントキャッシュファイル32に転
送された。
【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を起動し、キャッシュ配送動作を行なう。
ブジェクトがキャッシュされていない場合の動作を説明
する。キャッシュされていない場合には、[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を起動し、キャッシュ配送動作を行なう。
【0120】ゲートウェイ計算機6の配送制御部は、一
時キャッシュファイル20の内容を各クライアント計算
機10に配送する。
時キャッシュファイル20の内容を各クライアント計算
機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と共有しているものとする。
umを経由して起動される配送子プロセス/usr/local/cac
hecast/webaccessの動作を説明する。 [step4−1]webaccess スタート キャッシュ配送対象のクライアント計算機10において
は、クライアントキャッシュファイル32を管理する一
時キャッシュ更新用クライアントproxy サーバプロセス
34が、webaccess 起動時に引数で指定された一時キャ
ッシュ用ポート番号で動いているものとする。一例とし
て一時キャッシュ用ポート番号を8090番とする。こ
こでクライアントキャッシュファイル32は、上記[s
tep3−1]で説明したクライアントproxy サーバプ
ロセス30と共有しているものとする。
【0122】この一時キャッシュ更新用クライアントpr
oxy サーバプロセス34は上流のゲートウェイ計算機6
で動作している一時キャッシュ更新用マスタproxy サー
バプロセス22に多段接続されているものとする。この
一時キャッシュ更新用マスタproxy サーバプロセス22
は10090番のポートで動作しているものとする。一
時キャッシュ更新用マスタproxy サーバプロセス22は
/usr/spool/cachecast/tmp/http/以下をキャッシュとし
て使用しているものとする。
oxy サーバプロセス34は上流のゲートウェイ計算機6
で動作している一時キャッシュ更新用マスタproxy サー
バプロセス22に多段接続されているものとする。この
一時キャッシュ更新用マスタproxy サーバプロセス22
は10090番のポートで動作しているものとする。一
時キャッシュ更新用マスタproxy サーバプロセス22は
/usr/spool/cachecast/tmp/http/以下をキャッシュとし
て使用しているものとする。
【0123】したがってURL アクセス子プロセス(配送
子プロセス)webaccess が起動されると、一時キャッシ
ュ更新用クライアントproxy サーバプロセス34には指
定URL のファイルオブジェクトの取得要求GET が送られ
る。さらに一時キャッシュ更新用クライアントproxy サ
ーバプロセス34から一時キャッシュ更新用マスタprox
y サーバプロセス22への接続が行なわれ、/usr/spool
/cachecast/tmp/http/以下の一時キャッシュファイル2
0のデータが一時キャッシュ更新用クライアントproxy
サーバプロセス34へ転送される。
子プロセス)webaccess が起動されると、一時キャッシ
ュ更新用クライアントproxy サーバプロセス34には指
定URL のファイルオブジェクトの取得要求GET が送られ
る。さらに一時キャッシュ更新用クライアントproxy サ
ーバプロセス34から一時キャッシュ更新用マスタprox
y サーバプロセス22への接続が行なわれ、/usr/spool
/cachecast/tmp/http/以下の一時キャッシュファイル2
0のデータが一時キャッシュ更新用クライアントproxy
サーバプロセス34へ転送される。
【0124】このネットワークアクセスの実現方法は、
[step3−1]−[step3−3]で説明したの
と全く同じであり、UNIX OS のネットワーク機能の基本
であるソケット機構を利用する。これはクライアント計
算機8がゲートウェイ計算機6にファイルオブジェクト
の取得要求送信のためネットワーク接続する方法と同じ
である。
[step3−1]−[step3−3]で説明したの
と全く同じであり、UNIX OS のネットワーク機能の基本
であるソケット機構を利用する。これはクライアント計
算機8がゲートウェイ計算機6にファイルオブジェクト
の取得要求送信のためネットワーク接続する方法と同じ
である。
【0125】webaccess 子プロセスは、socket()シス
テムコールにより得たsocketであるsdファイルディスク
リプタを使って、指定されたゲートウェイ計算機6のマ
シン名称と、TCP/IPの一時キャッシュ用ポート番号との
間で、connect ()システムコールを発生してコネクシ
ョンを確立する。 [step4−2]GET メソッド実行 次に、sdを使った通常のファイルのread/writeと同様に
$URLBUF にて指定されたサーバ計算機4のファイルオブ
ジェクトを取得するGET メソッドをwrite し、データを
readする。
テムコールにより得たsocketであるsdファイルディスク
リプタを使って、指定されたゲートウェイ計算機6のマ
シン名称と、TCP/IPの一時キャッシュ用ポート番号との
間で、connect ()システムコールを発生してコネクシ
ョンを確立する。 [step4−2]GET メソッド実行 次に、sdを使った通常のファイルのread/writeと同様に
$URLBUF にて指定されたサーバ計算機4のファイルオブ
ジェクトを取得するGET メソッドをwrite し、データを
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 では利用しないので読捨て、処理を終了する。
コードで表わされる改行コードとして、 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 では利用しないので読捨て、処理を終了する。
【0127】以上の動作によりゲートウェイ計算機6の
一時キャッシュファイル20に一時的にキャッシュされ
ていたURL のファイルオブジェクトがクライアント計算
機10の一時キャッシュ更新用クライアントproxy サー
バプロセス34のクライアントキャッシュファイル32
に転送された。
一時キャッシュファイル20に一時的にキャッシュされ
ていたURL のファイルオブジェクトがクライアント計算
機10の一時キャッシュ更新用クライアントproxy サー
バプロセス34のクライアントキャッシュファイル32
に転送された。
【0128】図12を参照して、クライアント計算機1
0上で受信制御を行なうクライアントproxy サーバプロ
セス30の動作を説明する。これは、従来技術で述べた
proxy サーバ動作を行なう。クライアントproxy サーバ
プロセス30はクライアント計算機10で動作するキャ
ッシュ付きproxy サーバであり、ネットワーク層を経由
してユーザの使用するブラウザソフトウェア26の接続
を中継する。また同一ポート番号でゲートウェイ計算機
6で動作するキャッシュ配送制御部18からの中継要求
も受入れる。また接続先は上流のマスタproxy サーバプ
ロセス12(ポート番号10080番)とする。
0上で受信制御を行なうクライアントproxy サーバプロ
セス30の動作を説明する。これは、従来技術で述べた
proxy サーバ動作を行なう。クライアントproxy サーバ
プロセス30はクライアント計算機10で動作するキャ
ッシュ付きproxy サーバであり、ネットワーク層を経由
してユーザの使用するブラウザソフトウェア26の接続
を中継する。また同一ポート番号でゲートウェイ計算機
6で動作するキャッシュ配送制御部18からの中継要求
も受入れる。また接続先は上流のマスタproxy サーバプ
ロセス12(ポート番号10080番)とする。
【0129】ブラウザソフトウェア26のproxy 設定は
localhost の8080番のポートを使用するように設定
する。クライアントproxy サーバプロセス30は、ブラ
ウザソフトウェア26からの中継要求であってもゲート
ウェイ計算機の配送制御部の中継要求であっても同じ処
理を行なう。
localhost の8080番のポートを使用するように設定
する。クライアントproxy サーバプロセス30は、ブラ
ウザソフトウェア26からの中継要求であってもゲート
ウェイ計算機の配送制御部の中継要求であっても同じ処
理を行なう。
【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 サーバプロセスに設定して
おく。
上流のゲートウェイ計算機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 サーバプロセスに設定して
おく。
【0131】t - T1 > EXPIRE であれば、キャッシュされたファイルオブジェクトが有
効期限を過ぎているので[step5−5]に進む。 [step5−9]キャッシュが有効期限を過ぎていな
ければ、クライアントキャッシュファイル32からファ
イルオブジェクトを読出し、中継要求を出した側に転送
する。
効期限を過ぎているので[step5−5]に進む。 [step5−9]キャッシュが有効期限を過ぎていな
ければ、クライアントキャッシュファイル32からファ
イルオブジェクトを読出し、中継要求を出した側に転送
する。
【0132】以上のような構成により、ブラウザソフト
ウェア26からアクセスする場合は通常のキャッシュ付
きproxy サーバプロセスとして機能する。また、ゲート
ウェイ計算機6のキャッシュ配送制御部18から見る
と、クライアントproxy サーバプロセス30の上流がマ
スタproxy サーバプロセス12である。このため、キャ
ッシュ配送制御部18が、単純にGET メソッドを発行す
るだけで、マスタproxyサーバプロセス12のキャッシ
ュファイル16がアクセスされ、ファイルオブジェクト
がクライアントproxy サーバプロセス30に転送される
ことが実現できている。
ウェア26からアクセスする場合は通常のキャッシュ付
きproxy サーバプロセスとして機能する。また、ゲート
ウェイ計算機6のキャッシュ配送制御部18から見る
と、クライアントproxy サーバプロセス30の上流がマ
スタproxy サーバプロセス12である。このため、キャ
ッシュ配送制御部18が、単純にGET メソッドを発行す
るだけで、マスタproxyサーバプロセス12のキャッシ
ュファイル16がアクセスされ、ファイルオブジェクト
がクライアントproxy サーバプロセス30に転送される
ことが実現できている。
【0133】この他、クライアント計算機では8090
番のポート番号で動作する一時キャッシュ更新用クライ
アントproxy サーバプロセス34が動作している。これ
は、上流の接続先がゲートウェイ計算機6のポート番号
10090番で動作している一時キャッシュ更新用マス
タproxy サーバプロセス22になっている。その他の動
作は[step5−1]以降に説明したものと同じ動作
をするproxy サーバであるので説明を繰返さない。
番のポート番号で動作する一時キャッシュ更新用クライ
アントproxy サーバプロセス34が動作している。これ
は、上流の接続先がゲートウェイ計算機6のポート番号
10090番で動作している一時キャッシュ更新用マス
タproxy サーバプロセス22になっている。その他の動
作は[step5−1]以降に説明したものと同じ動作
をするproxy サーバであるので説明を繰返さない。
【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に送り出され
る。このため、動的に生成されたファイルオブジェクト
であってもネットワークから切断された環境で利用でき
る。
スは、[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に送り出され
る。このため、動的に生成されたファイルオブジェクト
であってもネットワークから切断された環境で利用でき
る。
【0135】なお、この分散ファイルシステム2におい
て、ゲートウェイ計算機6を経由したサーバ計算機4へ
のアクセスにより同一ファイルオブジェクトが複数のク
ライアント計算機10に同時に配送される性質を利用
し、特定のクライアント計算機8から定期的にサーバ計
算機4の特定のファイルオブジェクトをゲートウェイ計
算機6を経由して機械的にアクセスすることにより、特
定のファイルオブジェクトを複数のクライアント計算機
10に配送することもできる。
て、ゲートウェイ計算機6を経由したサーバ計算機4へ
のアクセスにより同一ファイルオブジェクトが複数のク
ライアント計算機10に同時に配送される性質を利用
し、特定のクライアント計算機8から定期的にサーバ計
算機4の特定のファイルオブジェクトをゲートウェイ計
算機6を経由して機械的にアクセスすることにより、特
定のファイルオブジェクトを複数のクライアント計算機
10に配送することもできる。
【0136】これによりたとえばあるクライアント計算
機8のユーザが意図的に他のクライアント計算機10の
ユーザに必要と思われるファイルオブジェクトデータを
強制的に配送することが可能になる。たとえば管理職の
クライアント計算機8が、営業に必要な情報をアクセス
しておけば、部下のクライアント計算機10に営業に必
要な資料が自然にキャッシュとして蓄積される。
機8のユーザが意図的に他のクライアント計算機10の
ユーザに必要と思われるファイルオブジェクトデータを
強制的に配送することが可能になる。たとえば管理職の
クライアント計算機8が、営業に必要な情報をアクセス
しておけば、部下のクライアント計算機10に営業に必
要な資料が自然にキャッシュとして蓄積される。
【0137】またこの分散ファイルシステム2におい
て、クライアント計算機10の受信制御部28は、一定
時間ごとにディスク装置の空きエリア容量を検出し、空
きエリアの一定割合までをクライアントキャッシュファ
イル32として使うようにすることができる。これによ
り、クライアントキャッシュファイル32のキャッシュ
容量の最大値を動的に設定し、これを超えると古いファ
イルオブジェクトや未使用のファイルオブジェクトを消
去し、空きエリアを最大値以内に収めるよう制御するこ
ともできる。
て、クライアント計算機10の受信制御部28は、一定
時間ごとにディスク装置の空きエリア容量を検出し、空
きエリアの一定割合までをクライアントキャッシュファ
イル32として使うようにすることができる。これによ
り、クライアントキャッシュファイル32のキャッシュ
容量の最大値を動的に設定し、これを超えると古いファ
イルオブジェクトや未使用のファイルオブジェクトを消
去し、空きエリアを最大値以内に収めるよう制御するこ
ともできる。
【0138】これによりたとえばあるクライアント計算
機10のディスク装置の空きエリアがクライアントキャ
ッシュファイル32として大部分活用でき、かつ他のア
プリケーションがディスク装置を消費し始めるとクライ
アントキャッシュファイルのキャッシュエリアが縮小す
るため、ユーザはキャッシュサイズの設定作業をする必
要がなくなる。
機10のディスク装置の空きエリアがクライアントキャ
ッシュファイル32として大部分活用でき、かつ他のア
プリケーションがディスク装置を消費し始めるとクライ
アントキャッシュファイルのキャッシュエリアが縮小す
るため、ユーザはキャッシュサイズの設定作業をする必
要がなくなる。
【0139】この分散ファイルシステム2において、ゲ
ートウェイ計算機6のキャッシュ配送制御部18が一定
時間ごとに送信データのアクセスログを作成し、アクセ
スログに出現頻度を付記した送信リストをクライアント
計算機10の受信制御部28に送信し、ユーザに提示す
ることもできる。
ートウェイ計算機6のキャッシュ配送制御部18が一定
時間ごとに送信データのアクセスログを作成し、アクセ
スログに出現頻度を付記した送信リストをクライアント
計算機10の受信制御部28に送信し、ユーザに提示す
ることもできる。
【0140】これにより、ファイルオブジェクトに関す
るユーザの人気情報の概要を知ることができる。
るユーザの人気情報の概要を知ることができる。
【0141】この分散ファイルシステム2において、ク
ライアント計算機10の受信制御部28はゲートウェイ
計算機6以外に複数のゲートウェイ計算機を上流の接続
先に指定できる。そのうちのいずれにも接続できない場
合は、直接サーバ計算機4に接続を試み、さらにこれも
接続できない場合は、クライアントキャッシュファイル
32からデータを取出す制御方式をとることもできる。
これによりゲートウェイ計算機のいずれかが不調であっ
たり、ネットワークの切断事故などが起きた場合であっ
ても、クライアントキャッシュファイル32からデータ
を取出すことが可能になる。
ライアント計算機10の受信制御部28はゲートウェイ
計算機6以外に複数のゲートウェイ計算機を上流の接続
先に指定できる。そのうちのいずれにも接続できない場
合は、直接サーバ計算機4に接続を試み、さらにこれも
接続できない場合は、クライアントキャッシュファイル
32からデータを取出す制御方式をとることもできる。
これによりゲートウェイ計算機のいずれかが不調であっ
たり、ネットワークの切断事故などが起きた場合であっ
ても、クライアントキャッシュファイル32からデータ
を取出すことが可能になる。
【0142】またこの分散ファイルシステム2におい
て、クライアント計算機10の受信制御部28が一定時
間ごとに受信アクセスログを作成し、これをもとに集計
した受信リストをユーザに提出することもできる。これ
により受信したファイルオブジェクトに関しての情報の
概要をユーザに通知することができる。クライアント計
算機10は選択的にそのファイルオブジェクトをアクセ
スすることができる。
て、クライアント計算機10の受信制御部28が一定時
間ごとに受信アクセスログを作成し、これをもとに集計
した受信リストをユーザに提出することもできる。これ
により受信したファイルオブジェクトに関しての情報の
概要をユーザに通知することができる。クライアント計
算機10は選択的にそのファイルオブジェクトをアクセ
スすることができる。
【0143】また、図1を参照して、ゲートウェイ計算
機6のキャッシュ配送制御部18は、クライアント計算
機10の受信制御部28に対して、GET メソッドを送信
している。このため、キャッシュ配送制御部18は、受
信制御部28からファイルオブジェクトを受信する。こ
のファイルオブジェクトはゲートウェイ計算機6のキャ
ッシュファイル16に保持されているファイルオブジェ
クトをクライアント計算機10のクライアントキャッシ
ュファイル32にコピーする目的のものであり、キャッ
シュ配送制御部18では使用しないため、無駄なトラフ
ィックが生じる。そこで、クライアントの受信制御部2
8ではキャッシュ配送制御部18からのGET メソッドに
対してはファイルオブジェクトの実体を送信しないこと
で無駄なトラフィックの発生を抑制できる。
機6のキャッシュ配送制御部18は、クライアント計算
機10の受信制御部28に対して、GET メソッドを送信
している。このため、キャッシュ配送制御部18は、受
信制御部28からファイルオブジェクトを受信する。こ
のファイルオブジェクトはゲートウェイ計算機6のキャ
ッシュファイル16に保持されているファイルオブジェ
クトをクライアント計算機10のクライアントキャッシ
ュファイル32にコピーする目的のものであり、キャッ
シュ配送制御部18では使用しないため、無駄なトラフ
ィックが生じる。そこで、クライアントの受信制御部2
8ではキャッシュ配送制御部18からのGET メソッドに
対してはファイルオブジェクトの実体を送信しないこと
で無駄なトラフィックの発生を抑制できる。
【0144】図1において、クライアント計算機10に
キャッシュ配送制御部を設置し、クライアントproxy サ
ーバプロセス30においてアクセスログを発生させ、こ
のキャッシュ配送制御部がアクセスログを参照するよう
にすれば、クライアントproxy サーバプロセス30もキ
ャッシュ配送機能を有することができる。1台のゲート
ウェイ計算機6ではキャッシュ配送対象のクライアント
計算機10が10台程度しかサポートできない場合は、
クライアント計算機10の下にさらにキャッシュ配送を
受けるクライアント計算機を複数台配置することも可能
である。これは一種のリピータといえる。
キャッシュ配送制御部を設置し、クライアントproxy サ
ーバプロセス30においてアクセスログを発生させ、こ
のキャッシュ配送制御部がアクセスログを参照するよう
にすれば、クライアントproxy サーバプロセス30もキ
ャッシュ配送機能を有することができる。1台のゲート
ウェイ計算機6ではキャッシュ配送対象のクライアント
計算機10が10台程度しかサポートできない場合は、
クライアント計算機10の下にさらにキャッシュ配送を
受けるクライアント計算機を複数台配置することも可能
である。これは一種のリピータといえる。
【0145】図1において、ゲートウェイ計算機6のキ
ャッシュ配送制御部18はアクセスログファイル14を
監視しながらキャッシュ配送を行なっているが、これは
URLを記述したファイルであればアクセスログファイル
14以外でもよい。指定のファイルにURL リストを保持
しておき、それをもとに毎日バッチ的にキャッシュ配送
することもできる。
ャッシュ配送制御部18はアクセスログファイル14を
監視しながらキャッシュ配送を行なっているが、これは
URLを記述したファイルであればアクセスログファイル
14以外でもよい。指定のファイルにURL リストを保持
しておき、それをもとに毎日バッチ的にキャッシュ配送
することもできる。
【0146】図13を参照して、ファイルオブジェクト
を受信したクライアント計算機10cが高速な内部ネッ
トワーク38から切離され、移動先において有線モデム
または無線モデムなどの機器を用いて電話回線などの低
速ネットワーク99経由でサーバ計算機4に接続する場
合を考える。この場合、クライアントキャッシュファイ
ル32を利用して高いヒット率を得ることで、見掛け上
低速ネットワーク99の転送時間を短縮する加速装置と
して利用することもできる。
を受信したクライアント計算機10cが高速な内部ネッ
トワーク38から切離され、移動先において有線モデム
または無線モデムなどの機器を用いて電話回線などの低
速ネットワーク99経由でサーバ計算機4に接続する場
合を考える。この場合、クライアントキャッシュファイ
ル32を利用して高いヒット率を得ることで、見掛け上
低速ネットワーク99の転送時間を短縮する加速装置と
して利用することもできる。
【0147】この分散ファイルシステム2ではノート型
パーソナルコンピュータに受信制御部28を搭載し、職
場などでは内部ネットワーク38に接続し、ゲートウェ
イ計算機6との間で通信を行ない、移動先などでは低速
ネットワーク99に接続し、サーバ計算機4との間で通
信を行なうことができる。高速な内部ネットワーク38
は、10Mbps(Mega bits/second)のイーサネットまたは
無線通信ネットワークなどからなる。
パーソナルコンピュータに受信制御部28を搭載し、職
場などでは内部ネットワーク38に接続し、ゲートウェ
イ計算機6との間で通信を行ない、移動先などでは低速
ネットワーク99に接続し、サーバ計算機4との間で通
信を行なうことができる。高速な内部ネットワーク38
は、10Mbps(Mega bits/second)のイーサネットまたは
無線通信ネットワークなどからなる。
【0148】図14を参照して、クライアント計算機1
0bのクライアントキャッシュファイル32として取外
し可能な光磁気ディスク等の大容量(600MB程度)媒
体100を用ることができる。これにより、大容量媒体
100だけを持ち歩くことにより、受信制御部28を備
えた別のクライアント計算機10cのクライアントキャ
ッシュファイル32として使用することでアクセスの高
速化をクライアント計算機10cでも実現することがで
きる。
0bのクライアントキャッシュファイル32として取外
し可能な光磁気ディスク等の大容量(600MB程度)媒
体100を用ることができる。これにより、大容量媒体
100だけを持ち歩くことにより、受信制御部28を備
えた別のクライアント計算機10cのクライアントキャ
ッシュファイル32として使用することでアクセスの高
速化をクライアント計算機10cでも実現することがで
きる。
【0149】また、この分散ファイルシステム2をディ
ジタル衛星放送などに応用して、クライアントproxy サ
ーバプロセス30は、衛星などから無線を通じて一方向
で情報(ファイルオブジェクト)を受取り、必要な場合
のみマスタproxy サーバプロセス12との間で有線を通
じて双方向通信を行ない、ファイルオブジェクトを取得
することもできる。
ジタル衛星放送などに応用して、クライアントproxy サ
ーバプロセス30は、衛星などから無線を通じて一方向
で情報(ファイルオブジェクト)を受取り、必要な場合
のみマスタproxy サーバプロセス12との間で有線を通
じて双方向通信を行ない、ファイルオブジェクトを取得
することもできる。
【0150】以上のような分散ファイルシステム2によ
り、他のクライアント計算機8のユーザがアクセスした
ファイルオブジェクトを自身のクライアント計算機10
のクライアントキャッシュファイル32に蓄積すること
ができる。よって、キャッシュヒット率を向上させるこ
とができる。かつ、内部ネットワーク38が混雑してい
る場合や低速ネットワーク99内でクライアント計算機
10を使用する際にも、快適なアクセス速度を得ること
ができる。
り、他のクライアント計算機8のユーザがアクセスした
ファイルオブジェクトを自身のクライアント計算機10
のクライアントキャッシュファイル32に蓄積すること
ができる。よって、キャッシュヒット率を向上させるこ
とができる。かつ、内部ネットワーク38が混雑してい
る場合や低速ネットワーク99内でクライアント計算機
10を使用する際にも、快適なアクセス速度を得ること
ができる。
【図1】本発明の実施の形態に係る分散ファイルシステ
ムの構成を示すブロック図である。
ムの構成を示すブロック図である。
【図2】ゲートウェイ計算機の構成を示すブロック図で
ある。
ある。
【図3】ゲートウェイ計算機のファイルオブジェクト転
送を説明する図である。
送を説明する図である。
【図4】ゲートウェイ計算機のファイルオブジェクト転
送を説明する図である。
送を説明する図である。
【図5】キャッシュ配送制御部の構成を示すブロック図
である。
である。
【図6】プロセスcachecastdの処理を説明するフロー図
である。
である。
【図7】プロセスcachecastwの処理を説明するフロー図
である。
である。
【図8】プロセスcachecastwにおける割込処理を説明す
るフロー図である。
るフロー図である。
【図9】プロセスccwsumの処理を説明するフロー図であ
る。
る。
【図10】プロセスwebaccess の処理を説明するフロー
図である。
図である。
【図11】プロセスwebaccess の処理を説明するフロー
図である。
図である。
【図12】クライアント計算機上で受信制御を行なうク
ライアントproxy サーバプロセスの処理を説明するフロ
ー図である。
ライアントproxy サーバプロセスの処理を説明するフロ
ー図である。
【図13】低速ネットワークに接続されたクライアント
計算機を説明する図である。
計算機を説明する図である。
【図14】取外し可能な大容量媒体を有するクライアン
ト計算機を説明する図である。
ト計算機を説明する図である。
【図15】従来のWWW システムの構成を示すブロック図
である。
である。
2 分散ファイルシステム 4 サーバ計算機 6 ゲートウェイ計算機 8,10 クライアント計算機 12 マスタproxy サーバプロセス 14 アクセスログファイル 16 キャッシュファイル 18 キャッシュ配送制御部 20 一時キャッシュファイル 22 一時キャッシュ更新用マスタproxy サーバプロセ
ス 24,26 ブラウザソフトウェア 28 受信制御部 30 クライアントproxy サーバプロセス 32 クライアントキャッシュファイル 34 一時キャッシュ更新用クライアントproxy サーバ
プロセス
ス 24,26 ブラウザソフトウェア 28 受信制御部 30 クライアントproxy サーバプロセス 32 クライアントキャッシュファイル 34 一時キャッシュ更新用クライアントproxy サーバ
プロセス
Claims (19)
- 【請求項1】 アクセス要求を受け、前記アクセス要求
に応じたファイルオブジェクトを送信するためのサーバ
計算機と、 複数のクライアント計算機と、 ゲートウェイ計算機と、 前記サーバ計算機と前記複数のクライアント計算機とを
前記ゲートウェイ計算機を介して相互に接続するための
通信回線とを含み、 前記複数のクライアント計算機の各々は、前記ファイル
オブジェクトを一時的に保持するためのクライアントキ
ャッシュファイルと、 前記ゲートウェイ計算機に接続され、前記ファイルオブ
ジェクトを取得するための前記アクセス要求を送信し、
前記ファイルオブジェクトを受信し、前記クライアント
キャッシュファイルに書込むための第1のファイルオブ
ジェクト受信手段とを含み、 前記ゲートウェイ計算機は、前記ファイルオブジェクト
を一時的に保持するためのキャッシュファイルと、 前記サーバ計算機から前記ファイルオブジェクトを受信
する際の受信記録情報を保持するためのアクセスログフ
ァイルと、 前記アクセスログファイルに接続され、前記複数のクラ
イアント計算機の各々より前記アクセス要求を受信し、
前記キャッシュファイルまたは前記サーバ計算機より前
記ファイルオブジェクトを取得し、前記アクセス要求を
送信した前記クライアント計算機ならびに前記受信記録
情報および所定の選択方法により選択された前記クライ
アント計算機に送信し、必要に応じて前記キャッシュフ
ァイルに書込み、前記受信記録情報を前記アクセスログ
ファイルに書込むためのファイルオブジェクト分配手段
とを含む、分散ファイルシステム。 - 【請求項2】 前記ファイルオブジェクト分配手段は、
前記複数のクライアント計算機の各々より前記アクセス
要求を受信し、前記キャッシュファイルまたは前記サー
バ計算機より前記ファイルオブジェクトを取得し、前記
アクセス要求を送信した前記クライアント計算機に送信
し、必要に応じて前記キャッシュファイルに書込み、前
記受信記録情報を前記アクセスログファイルに書込むた
めのファイルオブジェクト取得代理手段と、 前記アクセスログファイルに接続され、前記複数のクラ
イアント計算機の内、前記受信記録情報および所定の選
択方法に従って選択されたクライアント計算機に前記ア
クセス要求を送信するためのファイルオブジェクトアク
セス要求送信手段とを含み、 前記第1のファイルオブジェクト受信手段は、前記ファ
イルオブジェクトアクセス要求送信手段からの前記アク
セス要求を受信し、前記ファイルオブジェクト取得代理
手段に送信するための手段を含む、請求項1に記載の分
散ファイルシステム。 - 【請求項3】 前記クライアントキャッシュファイル
は、取外し可能な記憶媒体である請求項1〜2のいずれ
かに記載の分散ファイルシステム。 - 【請求項4】 前記ファイルオブジェクトアクセス要求
送信手段は、前記受信記録情報に記録されたファイルオ
ブジェクト名称の出現頻度順に、前記ファイルオブジェ
クトを取得するための前記アクセス要求を送信する、請
求項2に記載の分散ファイルシステム。 - 【請求項5】 前記ファイルオブジェクトアクセス要求
送信手段は、所定の文字列を含む前記受信記録情報に記
録された前記ファイルオブジェクト名称を排除して、前
記ファイルオブジェクトを取得するための前記アクセス
要求を送信する、請求項2に記載の分散ファイルシステ
ム。 - 【請求項6】 前記ファイルオブジェクトアクセス要求
送信手段は、前記受信記録情報に基づき、前記受信代理
手段を通じて前記ファイルオブジェクトを取得したクラ
イアント計算機以外のクライアント計算機に前記アクセ
ス要求を送信する、請求項2に記載の分散ファイルシス
テム。 - 【請求項7】 前記ファイルオブジェクトアクセス要求
送信手段は、前記受信記録情報に基づき、所定の文字列
を含む前記クライアント計算機がアクセス要求を行なっ
た前記ファイルオブジェクトを取得するための前記アク
セス要求を送信する、請求項2に記載の分散ファイルシ
ステム。 - 【請求項8】 前記ゲートウェイ計算機は、前記キャッ
シュファイルに接続され、前記ファイルオブジェクトが
保持されているか否かを判断するための保持判断手段を
さらに含み、 前記ファイルオブジェクトアクセス要求送信手段は、前
記保持判断手段に接続され、前記ファイルオブジェクト
が前記キャッシュファイルに保持されている場合のみ、
前記ファイルオブジェクトを取得するための前記アクセ
ス要求を送信するように制御を行なうための手段を含
む、請求項2に記載の分散ファイルシステム。 - 【請求項9】 前記ファイルオブジェクト分配手段は、
所定の並列配送数以内で前記ファイルオブジェクトの送
信を並列に行なうよう制御を行なうための手段をさらに
含む、請求項2に記載の分散ファイルシステム。 - 【請求項10】 前記ゲートウェイ計算機は、前記ファ
イルオブジェクト分配手段に接続され、前記ファイルオ
ブジェクトのうち動的なファイルオブジェクトを一時的
に保持するための一時キャッシュファイルと、 前記複数のクライアント計算機の各々より前記動的なフ
ァイルオブジェクトを取得するためのアクセス要求を受
信し、前記一時キャッシュファイルより前記動的なファ
イルオブジェクトを読出し、前記アクセス要求を送信し
たクライアント計算機に送信するための動的ファイルオ
ブジェクト送信手段とをさらに含み、 前記受信記録情報は、前記サーバ計算機から受信する前
記ファイルオブジェクトが前記動的なファイルオブジェ
クトか否かを示す情報を含み、 前記キャッシュファイルは、前記ファイルオブジェクト
のうち動的でないファイルオブジェクトを一時的に保持
し、 前記ファイルオブジェクト分配手段は、前記サーバ計算
機より取得した前記ファイルオブジェクトが前記動的な
ファイルオブジェクトであれば前記一時キャッシュファ
イルに書込むための手段をさらに含み、 前記ファイルオブジェクトアクセス要求送信手段は、前
記アクセスログファイルに接続され、前記受信記録情報
を参照し、前記サーバ計算機より取得した前記ファイル
オブジェクトが前記動的なファイルオブジェクトであれ
ば、前記複数のクライアント計算機の内、前記受信記録
情報および所定の選択方法に従って選択されたクライア
ント計算機に前記動的なファイルオブジェクトを取得す
るための前記アクセス要求を送信するための動的ファイ
ルオブジェクトアクセス要求送信手段と、 前記アクセスログファイルに接続され、前記受信記録情
報を参照し、前記サーバ計算機より取得した前記ファイ
ルオブジェクトが前記動的でないファイルオブジェクト
であれば、前記複数のクライアント計算機の内、前記受
信記録情報および所定の選択方法に従って選択されたク
ライアント計算機に前記動的でないファイルオブジェク
トを取得するための前記アクセス要求を送信するための
静的ファイルオブジェクトアクセス要求送信手段とを含
み、 前記複数のクライアント計算機の各々は、前記動的ファ
イルオブジェクトアクセス要求送信手段に接続され、前
記アクセス要求を送信し、前記動的ファイルオブジェク
トを受信し、前記クライアントキャッシュファイルに書
込むための第2のファイルオブジェクト受信手段をさら
に含む、請求項2に記載の分散ファイルシステム。 - 【請求項11】 アクセス要求を受け、前記アクセス要
求に応じたファイルオブジェクトを送信するためのサー
バ計算機と、 前記アクセス要求を送信し、前記ファイルオブジェクト
を受信するための複数のクライアント計算機と、 ゲートウェイ計算機と、 前記サーバ計算機と前記複数のクライアント計算機とを
前記ゲートウェイ計算機を介して相互に接続するための
通信回線とを含む分散ファイルシステムで用いられるゲ
ートウェイ計算機であって、 前記ファイルオブジェクトを一時的に保持するためのキ
ャッシュファイルと、 前記サーバ計算機から前記ファイルオブジェクトを受信
する際の受信記録情報を保持するためのアクセスログフ
ァイルと、 前記アクセスログファイルに接続され、前記複数のクラ
イアント計算機の各々より前記アクセス要求を受信し、
前記キャッシュファイルまたは前記サーバ計算機より前
記ファイルオブジェクトを取得し、前記受信記録情報お
よび所定の選択方法により選択された前記クライアント
計算機に送信し、必要に応じて前記キャッシュファイル
に書込み、前記受信記録情報を前記アクセスログファイ
ルに書込むためのファイルオブジェクト分配手段とを含
む、ゲートウェイ計算機。 - 【請求項12】 前記ファイルオブジェクト分配手段
は、前記複数のクライアント計算機の各々より前記アク
セス要求を受信し、前記キャッシュファイルまたは前記
サーバ計算機より前記ファイルオブジェクトを取得し、
前記アクセス要求を送信した前記クライアント計算機に
送信し、必要に応じて前記キャッシュファイルに書込
み、前記受信記録情報を前記アクセスログファイルに書
込むためのファイルオブジェクト取得代理手段と、 前記アクセスログファイルに接続され、前記複数のクラ
イアント計算機の内、前記受信記録情報および所定の選
択方法に従って選択されたクライアント計算機に前記ア
クセス要求を送信するためのファイルオブジェクトアク
セス要求送信手段とを含む、請求項11に記載のゲート
ウェイ計算機。 - 【請求項13】 前記ファイルオブジェクトアクセス要
求送信手段は、前記受信記録情報に記録されたファイル
オブジェクト名称の出現頻度順に、前記ファイルオブジ
ェクトを取得するための前記アクセス要求を送信する、
請求項12に記載のゲートウェイ計算機。 - 【請求項14】 前記ファイルオブジェクトアクセス要
求送信手段は、所定の文字列を含む前記受信記録情報に
記録された前記ファイルオブジェクト名称を排除して、
前記ファイルオブジェクトを取得するための前記アクセ
ス要求を送信する、請求項12に記載のゲートウェイ計
算機。 - 【請求項15】 前記ファイルオブジェクトアクセス要
求送信手段は、前記受信記録情報に基づき、前記受信代
理手段を通じて前記ファイルオブジェクトを取得したク
ライアント計算機以外のクライアント計算機に前記アク
セス要求を送信する、請求項12に記載のゲートウェイ
計算機。 - 【請求項16】 前記ファイルオブジェクトアクセス要
求送信手段は、前記受信記録情報に基づき、所定の文字
列を含む前記クライアント計算機がアクセス要求を行な
った前記ファイルオブジェクトを取得するための前記ア
クセス要求を送信する、請求項12に記載のゲートウェ
イ計算機。 - 【請求項17】 前記キャッシュファイルに接続され、
前記ファイルオブジェクトが保持されているか否かを判
断するための保持判断手段をさらに含み、 前記ファイルオブジェクトアクセス要求送信手段は、前
記保持判断手段に接続され、前記ファイルオブジェクト
が前記キャッシュファイルに保持されている場合のみ、
前記ファイルオブジェクトを取得するための前記アクセ
ス要求を送信するように制御を行なうための手段を含
む、請求項12に記載のゲートウェイ計算機。 - 【請求項18】 前記ファイルオブジェクト取得代理手
段は、所定の並列配送数以内で前記ファイルオブジェク
トの送信を並列に行なうよう制御を行なうための手段を
さらに含む、請求項12に記載のゲートウェイ計算機。 - 【請求項19】 前記ファイルオブジェクト分配手段に
接続され、前記ファイルオブジェクトのうち動的なファ
イルオブジェクトを一時的に保持するための一時キャッ
シュファイルと、 前記複数のクライアント計算機の各々より前記動的なフ
ァイルオブジェクトを取得するためのアクセス要求を受
信し、前記一時キャッシュファイルより前記動的なファ
イルオブジェクトを読出し、前記アクセス要求を送信し
たクライアント計算機に送信するための動的ファイルオ
ブジェクト送信手段とをさらに含み、 前記受信記録情報は、前記サーバ計算機から受信する前
記ファイルオブジェクトが前記動的なファイルオブジェ
クトか否かを示す情報を含み、 前記キャッシュファイルは、前記ファイルオブジェクト
のうち動的でないファイルオブジェクトを一時的に保持
し、 前記ファイルオブジェクト分配手段は、前記サーバ計算
機より取得した前記ファイルオブジェクトが前記動的な
ファイルオブジェクトであれば前記一時キャッシュファ
イルに書込むための手段をさらに含み、 前記ファイルオブジェクトアクセス要求送信手段は、前
記アクセスログファイルに接続され、前記受信記録情報
を参照し、前記サーバ計算機より取得した前記ファイル
オブジェクトが前記動的なファイルオブジェクトであれ
ば、前記複数のクライアント計算機の内、前記受信記録
情報および所定の選択方法に従って選択されたクライア
ント計算機に前記動的なファイルオブジェクトを取得す
るための前記アクセス要求を送信するための動的ファイ
ルオブジェクトアクセス要求送信手段と、 前記アクセスログファイルに接続され、前記受信記録情
報を参照し、前記サーバ計算機より取得した前記ファイ
ルオブジェクトが前記動的でないファイルオブジェクト
であれば、前記複数のクライアント計算機の内、前記受
信記録情報および所定の選択方法に従って選択されたク
ライアント計算機に前記動的でないファイルオブジェク
トを取得するための前記アクセス要求を送信するための
静的ファイルオブジェクトアクセス要求送信手段とを含
む、請求項12に記載のゲートウェイ計算機。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9162363A JPH1115718A (ja) | 1997-06-19 | 1997-06-19 | 分散ファイルシステムおよびその分散ファイルシステムで用いられるゲートウェイ計算機 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9162363A JPH1115718A (ja) | 1997-06-19 | 1997-06-19 | 分散ファイルシステムおよびその分散ファイルシステムで用いられるゲートウェイ計算機 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH1115718A true JPH1115718A (ja) | 1999-01-22 |
Family
ID=15753149
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9162363A Withdrawn JPH1115718A (ja) | 1997-06-19 | 1997-06-19 | 分散ファイルシステムおよびその分散ファイルシステムで用いられるゲートウェイ計算機 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH1115718A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002542542A (ja) * | 1999-04-19 | 2002-12-10 | オラクル コーポレーション | 問合せ可能なダイナミック・キャッシュを有するウェブサーバ |
| EP2621143A1 (en) | 2012-01-27 | 2013-07-31 | Fujitsu Limited | Information processing apparatus, distributed processing system, and distributed processing method |
| JP2022064720A (ja) * | 2020-10-14 | 2022-04-26 | 富士通クライアントコンピューティング株式会社 | キャッシュ管理装置及びプログラム |
-
1997
- 1997-06-19 JP JP9162363A patent/JPH1115718A/ja not_active Withdrawn
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002542542A (ja) * | 1999-04-19 | 2002-12-10 | オラクル コーポレーション | 問合せ可能なダイナミック・キャッシュを有するウェブサーバ |
| 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 |
| JP2022064720A (ja) * | 2020-10-14 | 2022-04-26 | 富士通クライアントコンピューティング株式会社 | キャッシュ管理装置及びプログラム |
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 | |
| US6801927B1 (en) | Network adaptor card with reverse proxy and cache and method implemented therewith | |
| JP5220974B2 (ja) | ハードウェア実行又はオペレーティングシステム機能の加速のための装置及び方法 | |
| JP3613550B2 (ja) | ウェブページ取得サービスシステム、サーバ、ウェブページ取得方法、記憶媒体及びプログラム伝送装置 | |
| US20040240435A1 (en) | Obtaining a destination address so that a network interface device can write network data without headers directly into host memory | |
| WO1999019988B1 (en) | Method and system for network access over a low bandwidth link | |
| JP2000057072A (ja) | データ転送方式 | |
| US8539112B2 (en) | TCP/IP offload device | |
| JPH1115718A (ja) | 分散ファイルシステムおよびその分散ファイルシステムで用いられるゲートウェイ計算機 | |
| JPH11234328A (ja) | 通信装置及びその通信方法 | |
| JP2001036581A (ja) | 通信帯域設定システムと方法 | |
| JP2002163185A (ja) | コンテンツ配信方法及びコンテンツ配信装置 | |
| JPH11249977A (ja) | データ転送ネットワークシステム | |
| JPH10177510A (ja) | クライアント・サーバ・システム | |
| WO2002035366A1 (en) | System and method for managing connections between clients and a server using cache memory to store server responses | |
| JPH05268291A (ja) | デ−タバッファ管理システム | |
| JP2001005715A (ja) | Webデータのキャッシュ更新方法およびキャッシュ更新システム | |
| JPH11196097A (ja) | データ通信制御装置、及びデータ通信制御方法 | |
| JP2001237887A (ja) | 通信システムおよびそのオンデマンド通信方法ならびに記録媒体 | |
| JP2001308939A (ja) | スループットを制御する通信システムおよび方法 | |
| JP2001202216A (ja) | プリンタサーバレス方式を用いたプリンタ自動選択システム | |
| JP2003110648A (ja) | 通信負荷制御システム | |
| JP2001290726A (ja) | 通信ネットワークを介して検索可能なデータファイルを転送する方法および装置 | |
| JPH1165953A (ja) | ファイル転送システム |
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 |