JP2004038439A - Web access relay system - Google Patents
Web access relay system Download PDFInfo
- Publication number
- JP2004038439A JP2004038439A JP2002192979A JP2002192979A JP2004038439A JP 2004038439 A JP2004038439 A JP 2004038439A JP 2002192979 A JP2002192979 A JP 2002192979A JP 2002192979 A JP2002192979 A JP 2002192979A JP 2004038439 A JP2004038439 A JP 2004038439A
- Authority
- JP
- Japan
- Prior art keywords
- web
- web content
- server
- cache
- management
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、Webアクセス中継装置に関し、更に詳しくは、Webサーバから取得したWebコンテンツデータのキャッシュ方式に関する。
【0002】
【従来の技術】
インターネットが普及し、映画などのビデオ配布サービスや、これまで各種企業の営業窓口で行われてきたサービスが、インターネットを通して提供されるようになってきた。また、通信技術の進歩に従って、家庭やオフィスの端末以外に、携帯電話からも各種のサービスを享受できる環境が整ってきている。
【0003】
クライアント端末から直接Webサーバをアクセスしてサービスを要求するWebアクセス方式では、人気のあるWebサイトに対して多数のクライアントからのサービス要求が集中的に発生する。この場合、インターネットの通信回線容量やWebサーバのデータ処理能力には限界があるため、時間帯やアクセス先によっては、集中的に発生した利用者からの要求をWebサイトで処理し切れなくなり、満足な応答が返ってこないという情況が発生する。
【0004】
上記問題は、例えば、クライアント端末とWebサーバとの間に、プロキシサーバと呼ばれるアクセス中継装置を設置し、Webサーバから取得されたWebコンテンツをプロキシサーバにキャッシュデータとして蓄積しておき、利用者から要求されたWebコンテンツがキャッシュデータ中に見つかった場合は、Webサーバへのアクセスを省略し、キャッシュデータを要求元に送信することによって改善できる。
【0005】
【発明が解決しようとする課題】
然るに、プロキシサーバにも能力的な制約があるため、接続ユーザ数が増加して、Webアクセス要求が集中すると、1台のプロキシサーバではWebアクセス要求を処理し切れなくなってくる。このため、例えば、1つのWebアクセス中継装置を負荷分散装置に接続された複数のプロキシサーバで構成し、利用者からのWebアクセス要求を複数のプロキシサーバに分散することにより、オーバーフローを解消する方式が提案されている。
【0006】
負荷分散型の従来のWebアクセス中継装置では、プロキシサーバ毎に個別のキャッシュメモリ(ディスク装置)を備え、複数のプロキシサーバを互いに独立して動作させている。従って、要求されたWebコンテンツがキャッシュデータ中に見つからなかった場合は、各プロキシサーバは、独自にWebサイトをアクセスし、Webサーバから取得したWebコンテンツをそれぞれの個別キャッシュメモリに保存している。このため、1つのプロキシサーバが既にキャッシュデータとして保持しているWebコンテンツについて、別のプロキシサーバが取得要求を受付けた場合、Webサイトへのアクセスが繰り返して発生するという問題がある。
【0007】
また、同一のWebコンテンツが複数のプロキシサーバで重複して蓄積されるため、Webアクセス中継装置全体としてのキャッシュメモリの利用効率が低下するという問題がある。
【0008】
本発明の目的は、複数のプロキシサーバからなるWebアクセス中継装置において、キャッシュメモリの利用効率を向上し、Webサーバへのアクセス頻度を低減することにある。
【0009】
【課題を解決するための手段】
上記目的を達成するために、本発明のWebアクセス中継装置は、複数のプロキシサーバに共有のディスク装置を備え、各プロキシサーバが、上記ディスク装置に蓄積された共有のキャッシュデータを参照して、クライアントからのWebコンテンツ取得要求を処理するようにしたことを特徴とする。本発明によれば、キャッシュメモリが複数のプロキシサーバに共有されているため、何れかのプロキシサーバがWebサーバからWebコンテンツを取得すれば、同一Webコンテンツを全てのプロキシサーバで利用でき、Webサイトへのアクセス回数を低減できる。また、同一Webコンテンツの重複した蓄積を回避できるため、キャッシュメモリの利用効率を改善できる。
【0010】
本発明の1つの実施形態では、複数のプロキシサーバのうちの1つが、キャッシュ領域管理機能を備えた管理サーバとして動作し、蓄積済みのWebコンテンツの無効化によるキャッシュ領域の解放と、新たなWebコンテンツへのキャッシュ領域の割当てを行うことを特徴とする。
【0011】
この場合、管理サーバ以外の他のプロキシサーバは、WebサーバからWebコンテンツを取得した時、管理サーバにキャッシュ領域の割当てを要求し、管理サーバによって割当てられたキャッシュ領域にWebコンテンツを書き込む。但し、管理サーバ以外のプロキシサーバが、管理サーバに対してWebコンテンツの蓄積を依頼し、管理サーバが空きキャッシュ領域へのWebコンテンツの書き込みを行うようにしてもよい。
【0012】
本発明の1つの特徴は、管理サーバが、ディスク装置に蓄積されるWebコンテンツ毎にキャッシュデータ有効期限を指定するための手段を有し、キャッシュデータ有効期限切れとなったWebコンテンツを無効化することによって、キャッシュメモリに空きエリアを確保するようにしたことにある。
【0013】
キャッシュデータ有効期限は、本発明のWebアクセス中継装置の内部で保証するWebコンテンツの保存期限であり、Webサーバが指定するコンテンツ有効期限の範囲内で、キャッシュ登録日を基準にして算出される。キャッシュデータ有効期限は延長可能であり、要求頻度の高いWebコンテンツについては、キャッシュデータ有効期限を次々と延長することによって、長時間にわたってディスク装置内に留めることが可能となる。
【0014】
本発明の他の実施例では、上述した管理プロキシサーバに代えて、ディスク装置におけるキャッシュ領域の解放と、新たなWebコンテンツへのキャッシュ領域の割当てを行うためのディスク管理装置を備え、各プロキシサーバが、Webサーバから取得したWebコンテンツを上記ディスク管理装置と連携して上記ディスク装置に蓄積することを特徴とする。
【0015】
この場合、各プロキシサーバは、ディスク管理装置にキャッシュ領域の割当てを要求し、上記ディスク管理装置によって割当てられたキャッシュ領域に対してWebコンテンツを書き込む。但し、各プロキシサーバが、ディスク管理装置にWebコンテンツの蓄積を依頼し、ディスク管理装置が空き状態のキャッシュ領域にWebコンテンツを書き込むようにしてもよい。
【0016】
【発明の実施の形態】
以下、本発明の実施例について図面を参照して説明する。
【0017】
図1は、本発明によるWebアクセス中継装置2を含む通信ネットワークシステムの構成を示す。
【0018】
Webアクセス中継装置2は、LANまたはインターネットなどの通信網11を介して複数のクライアント端末1(1−1〜1−L)に接続され、インターネット12を介してWebサーバ3(3−1〜3−J)に接続されている。
【0019】
Webアクセス中継装置2は、通信網11およびインターネット12に接続されたパケット中継装置(ルータ)21と、該パケット中継装置21に接続された負荷分散装置22と、該負荷分散装置22に接続された複数のプロキシ(Proxy)サーバ23および24(24−1〜24−n)と、これらのプロキシサーバに接続されたディスク装置25とからなる。ディスク装置25には、後述するように、Webサーバ3−1〜3−Jから取得したWebコンテンツが複数のプロキシサーバ23、24に共有のキャッシュデータとして蓄積される。
【0020】
クライアント端末1から送信されたWebコンテンツの取得要求は、パケット中継装置21によって受信され、負荷分散装置22に転送される。負荷分散装置22は、パケット中継装置21から受け取ったWebコンテンツ取得要求を所定の負荷分散アルゴリズムに従って上記プロキシサーバ23、24−1〜24−nに次々と振り分ける。
【0021】
本実施例では、ディスク装置25を共有する複数のプロキシサーバうちの1つ、サーバ23がキャッシュ管理機能を備える。プロキシサーバ23は、キャッシュデータとしてディスク装置25に登録すべき新たなWebコンテンツが発生した時、キャッシュ領域の割当てと不要キャッシュデータの消去を行う。以下の説明では、このようなキャッシュ領域の管理機能を備えたプロキシサーバ23を「管理プロキシサーバ」と呼ぶ。
【0022】
他のプロキシサーバ24−1〜24−nは、Webサーバから新たなWebコンテンツを所得した時、管理プロキシサーバ23にキャッシュ領域の割当てを要求し、管理プロキシサーバ23から割当てられたキャッシュ領域に対してWebコンテンツの書き込みを行う。
【0023】
図2は、本発明によるアクセス中継装置2の動作シーケンスを示す。
【0024】
ここでは、説明を簡単化するために、メッセージの転送動作に関わるパケット中継装置21と負荷分散装置22を省略して、管理プロキシサーバ23と、クライアント端末1−1からのWebコンテンツ取得要求を振り分けられた任意のプロキシサーバ24−iと、Webコンテンツを提供する任意のWebサーバ3−jとの間のメッセージ送受信動作について説明する。
【0025】
例えば、負荷分散装置22を介してクライアント端末1−1からのWebコンテンツ取得要求REQ1を受信したプロキシサーバ24−iは、ディスク装置25に蓄積されたキャッシュデータをチェックし(ステップS01)、要求されたWebコンテンツがキャッシュデータとして蓄積されていた場合(S02)は、キャッシュ領域から要求Webコンテンツを読み出し(S03)、Webコンテンツを含む応答メッセージRES1を作成して、要求元のクライアント端末1−1に送信する。
【0026】
クライアント端末から要求されたWebコンテンツがディスク装置25に無かった場合、プロキシサーバ24−iは、上記Webコンテンツを提供するWebサーバ3−jに対してWebコンテンツの取得要求REQ2を送信する。Webサーバ3−jは、上記取得要求REQ2で指定されたWebコンテンツを検索し(S04)、該Webコンテンツを含む応答メッセージRES2をプロキシサーバ24−iに返送する。
【0027】
プロキシサーバ24−iは、Webサーバ3−jからの応答メッセージRES2を解析し(S05)、これを新たなキャッシュデータとしてディスク装置24に蓄積するために、管理プロキシサーバ23にキャッシュ領域割当て要求REQ3を出す。上記キャッシュ領域割当て要求REQ3は、Webコンテンツの蓄積に必要なメモリ領域のサイズを指定している。
【0028】
キャッシュ領域割当て要求REQ3を受信した管理プロキシサーバ23は、ディスク装置25に定義されたキャッシュ領域の空きエリアの中から、新たなWebコンテンツに割当てるべきキャッシュ領域を選択し(S06)、割当て結果を応答メッセージRES3によって要求元のプロキシサーバ24−iに通知する。プロキシサーバ24−iは、上記応答メッセージRES3で指定されたキャッシュ領域に対してWebコンテンツを書き込む(S07)と共に、Webコンテンツを含む応答メッセージRES1’を作成して、要求元のクライアント端末1−1に送信する。但し、クライアント端末1−1宛の応答メッセージRES1’は、破線で示すように、Webサーバからの応答メッセージRES2の受信時に直ちに送信するようにしてもよい。
【0029】
図3は、管理プロキシサーバ23の構成を示す。
【0030】
管理プロキシサーバ23は、プロセッサ231と、負荷分散装置22および他のプロキシサーバ24に接続するための通信インタフェース232と、ディスク装置25に接続するためのディスク入出力インタフェース233と、プログラム格納用のメモリ234と、データ格納用のメモリ235とからなり、これらの要素は内部バス236によって相互に接続されている。メモリ234には、プロセッサ231が実行する制御用のソフトウェアとして、通信インタフェース232を介して他の装置と通信されるパケット(メッセージ)の送受信を制御するためのパケット転送制御モジュール40と、後で図8を参照して詳述する要求処理モジュール41と、その他の制御モジュールが格納されている。
【0031】
他のプロキシサーバ24−1〜24−nも、ハードウェア的には管理プロキシサーバ23と同一の構成となっており、後述するように、メモリ234に用意されるソフトウェアとメモリ235に形成されるデータテーブルの一部に相違がある。
【0032】
図4は、ディスク装置25に形成されるデータ構造の1例を示す。
【0033】
ディスク装置25には、例えば、スーパーブロック30と、複数の管理情報ブロック33−1〜33−nが登録される管理情報テーブル32と、Webデータを格納するためのキャッシュ領域35とが形成される。キャッシュ領域35は固定長の複数のデータブロック350−1〜350−qからなり、キャッシュ領域35における空き領域(フリーデータブロック)のアドレスは、スーパーブロック30にリンクしたフリーブロックリスト31(31−1〜31−k)によって管理されている。
【0034】
管理情報テーブル32の各管理情報ブロック33は、キャッシュ領域35にキャッシュデータとして登録された個々のWebコンテンツと対応している。1つのWebコンテンツを保持するためには、キャッシュ領域35内の複数のデータブロックが必要となる。これらのデータブロックのアドレスは、各管理情報ブロック33にリンクされたデータブロックリスト34(34−1〜34−m)によって示される。
【0035】
図5は、スーパーブロック30の内容の1例を示す。
【0036】
スーパーブロック30は、図4に示したデータ構造でキャッシュデータを管理する場合に必要となる全体的な制御パラメータを示す情報ブロックである。ここに示した例では、スーパーブロック30は、ディスク装置25に用意されたデータブロックの総数301と、単位となるブロックサイズ302と、管理情報テーブル32の先頭位置(最初の管理情報ブロック33−1のアドレス)を示す管理情報テーブルポインタ(P01)303と、管理情報テーブル33に登録できる管理情報ブロックの個数304と、キャッシュ領域35の先頭位置(最初のデータブロック350−1のアドレス)を示すキャッシュ領域ポインタ(P02)305と、キャッシュ領域35に含まれるキャッシュデータブロックの個数(q)306と、フリーブロックリスト群の先頭リスト31−1を示すフリーブロックリスト先頭ポインタ(P03)307と、フリーブロックリスト群の最終リスト31−kを示すフリーブロックリスト最終ポインタ(P04)308と、フリーブロックリスト群を構成しているフリーブロックリストの個数309と、1フリーブロックリスト当たりのフリーブロック数310とを示している。
【0037】
図6は、1つの管理情報ブロック33−iと、この管理情報ブロックにリンクされるデータブロックリスト34(34−1〜34−3)の内容の1例を示す。
【0038】
管理情報ブロック33−iは、キャッシュ領域に格納されたWebコンテンツの管理情報と、キャッシュ領域からWebコンテンツを読み出す際に必要となるポインタ情報と、これらの情報が有効か否かを示す有効性表示フラグ330とを含んでいる。ここに示した例では、管理情報ブロック33−iは、Webコンテンツの管理情報として、Webコンテンツ取得要求で指定されたURL(Webコンテンツ取得要求の最終的な送信先アドレス)331と、Webコンテンツがキャッシュデータとして登録された時刻332と、Webデータ有効期限333と、システム内で保証されるキャッシュデータの有効期限334と、キャッシュデータの更新状態を示す状態フラグ335と、キャッシュデータサイズ336を含み、ポインタ情報として、データブロックリスト群の先頭ポインタ337を含んでいる。
【0039】
尚、Webデータ有効期限333は、Webサーバ3から返送される応答メッセージRES2が示すWebコンテンツデータの有効期限を意味し、キャッシュデータ有効期限334は、アクセス中継装置2が保証しているディスク装置25内でのキャッシュデータの保存期限を意味している。
【0040】
先頭ポインタ337に従って参照されるデータブロックリスト34−1は、複数のデータブロックアドレス340−1〜340−nと、次リストポインタ341とからなっている。次リストポインタ341によって更に次のデータブロックリストがリンクされる。これによって、図に示すように、1つの管理情報ブロック33−iに任意個数のデータブロックリストをリンクできる。最後のデータブロックリストの次リストポインタ341には、後続するデータブロックリストが存在しないことを示す特定の値が設定される。
【0041】
Webコンテンツには、キャッシュデータサイズ336の値に応じて、キャッシュ領域35の複数個のデータブロックが割当てられる。1つのデータブロックリスト34は、キャッシュ領域35内で連続するn個のデータブロックアドレスを指定しているため、例えば、キャッシュデータサイズ336の値がLデータブロック相当の場合、管理情報ブロック33−iにL/n個のデータブロックリストをリンクし、これらのデータブロックリスト群が示すデータブロックアドレスA01〜A0n、A11〜A1n、A21、A22、…に従って、Webコンテンツの書き込みと読み出しが行われる。
【0042】
図7は、フリーブロックリスト31−1〜31−kの内容の1例を示す。
【0043】
最初のフリーブロックリスト31−1の位置は、スーパーブロック30に含まれるポインタ(P03)307で指定され、最後のフリーブロックリスト31−kの位置は、ポインタ(P04)308で指定される。また、フリーブロックリストの個数kはスーパーブロック30に含まれるフリーブロックリスト数309で特定される。
【0044】
各フリーブロックリストは、複数のフリーブロックアドレス310−1〜310−nと、次のフリーブロックリストの位置を示す次リストポインタ311とを含んでいる。最後のフリーブロックリスト31−kの次リストポインタ319には、後続するフリーブロックリストが存在しないことを示す特定値が設定される。
【0045】
各フリーブロックリストは、図6に示したデータブロックリスト34と同一のサイズとなっている。キャッシュデータが不要となった時、データブロック領域をデータブロックリスト単位で解放し、解放されたデータブロックリストをフリーブロックリストとしてスーパーブロック30にリンクすることによって、新たなWebコンテンツ用のキャッシュ領域が確保される。
【0046】
図8は、管理プロキシサーバ23がメモリ234に備える要求処理モジュール41の詳細と、メモリ235に形成されるデータ構造の1実施例を示す。
【0047】
要求処理モジュール41は、図8の(A)に示すように、スーパーブロック・キャッシュ初期化/終了処理ルーチン50と、Webコンテンツ取得要求処理ルーチン51と、管理情報エントリ特定ルーチン52と、キャッシュ領域割当てルーチン53と、キャッシュデータ有効期限延長ルーチン54とからなっている。また、メモリ235には、図8の(B)に示すように、スーパーブロック・キャッシュ領域71と、フリーブロックリスト・キャッシュ領域72と、エントリテーブル領域73と、管理情報キャッシュ領域74とが定義される。
【0048】
スーパーブロック・キャッシュ領域71には、ディスク装置25から読み出されたスーパーブロック30の内容が記憶される。管理プロキシサーバ23は、起動時にスーパーブロック・キャッシュ初期化/終了処理ルーチン50を実行して、ディスク装置25からスーパーブロック30の内容を読み出し、これをスーパーブロック・キャッシュ領域71に保持しておく。以後、スーパーブロック・キャッシュ領域71に記憶されたデータを参照/更新することによって、ディスク装置25へのアクセスによるオーバヘッドを軽減する。システムを停止する時は、スーパーブロック・キャッシュ初期化/終了処理ルーチン50によって、スーパーブロック・キャッシュ領域71の内容をディスク装置25のスーパーブロック30に書き戻すことによって、再起動時のデータの一貫性を保つ。
【0049】
フリーブロックリスト・キャッシュ領域72には、ポインタP04で特定されるフリーブロックリスト群の最終リスト31−kの内容が格納される。このように最後のフリーブロックリスト31−kの内容をメモリ装置235に保持しておくことにより、新たなフリーブロックリストを既存のリスト群に追加する時、ディスク装置25へのアクセス回数を軽減できる。
【0050】
エントリテーブル領域73は、図9に示すように、それぞれがキャッシュデータ有効期限731と管理情報ポインタ732とを示す複数のエントリEN−1〜EN−nからなるエントリテーブル730が形成される。これらのエントリEN−1〜EN−nは、ディスク装置25に形成された管理情報テーブル32上の管理情報ブロック33−1〜33−nと位置的に対応しており、例えば、エントリEN−iのキャッシュデータ有効期限731は、管理情報テーブル32上の対応する管理情報ブロック33−iのキャッシュデータ有効期限334を示している。エントリテーブル上のキャッシュデータ有効期限731は、フリーブロックリスト31−1〜31−kの個数が不足した時、フリーブロックリストとして解放すべきデータブロックリストを選択するために参照される。
【0051】
管理情報キャッシュ領域74は、管理情報テーブル32から読み出された管理情報ブロックを一時的に保持するために利用される。管理情報キャッシュ領域74は、管理情報テーブル32よりは少ない所定個数の管理情報ブロック740−1〜740−p(p<n)を格納できるだけのメモリ容量を有し、キャッシュ領域74に保持された各管理情報ブロックは、管理情報ポインタ732によってエントリテーブル730の何れかのエントリにリンクされている。キャッシュ領域74に保持された管理情報ブロックを有効に利用することによって、管理情報テーブル32のアクセス回数を減らして、ディスク装置25からのキャッシュデータの読み出しを行うことが可能となる。
【0052】
要求処理モジュール41のうち、Webコンテンツ取得要求処理ルーチン51は、クライアント端末からWebコンテンツの取得要求を受信した時に起動され、これによって、図2で説明したステップS01〜S03、S05、S07が実行される。
【0053】
管理情報エントリ特定ルーチン52は、Webコンテンツ取得要求で指定されたURLの値に基づいて、該URLに対応するエントリテーブル730上の1つのエントリEN−iを特定するためのものである。エントリEN−iの位置は、例えば、所定のハッシュ関数を適用して、与えられたURLの値をエントリテーブル730内のアドレス値に変換することによって特定される。
【0054】
キャッシュ領域割当てルーチン53は、キャッシュデータとして登録すべき新たなWebコンテンツが発生した時、フリーブロックリスト31−1〜31−kの中から上記Webコンテンツに割当てるべきデータブロックを選択するためのものである。また、キャッシュデータ有効期限延長ルーチン54は、例えば、キャッシュデータ有効期限を過ぎたWebコンテンツに対してクライアント端末から取得要求があった時、キャッシュデータの保存期間を延長するためのものである。
【0055】
上述したソフトウェア要素のうち、スーパーブロック・キャッシュ初期化/終了処理ルーチン50、キャッシュ領域割当てルーチン53、キャッシュデータ有効期限延長ルーチン54と、スーパーブロック・キャッシュ領域71、フリーブロックリスト・キャッシュ領域72は、管理プロキシサーバ23に特有のものであり、他のプロキシサーバ24−1〜24−nは、Webコンテンツ取得要求処理ルーチン51、管理情報エントリ特定ルーチン52、エントリテーブル領域73、管理情報キャッシュ領域74を備えている。尚、プロキシサーバ24−1〜24−nは、エントリテーブル730上でキャッシュデータ有効期限731を必要としないため、エントリEN−1〜EN−nが管理情報ポインタ732のみを示すエントリテーブル構造としてもよい。
【0056】
図10は、管理プロキシサーバ23およびプロキシサーバ24−1〜24−nがクライアント端末からWebコンテンツ取得要求REQ1を受信した時に実行するWebコンテンツ取得要求処理ルーチン51のフローチャートを示す。
【0057】
Webコンテンツ取得要求処理ルーチン51では、受信した要求REQ1からURLを抽出し、エントリテーブル730上で上記URLに対応するエントリEN−iの位置を特定する(ステップ510)。エントリEN−iの位置は、REQ1から抽出されたURLの値を与えて、管理情報エントリ特定ルーチン52を実行することによって特定される。
【0058】
エントリEN−iの位置が特定されると、該エントリの管理情報ポインタ732をチェックすることによって、上記URLに対応する管理情報ブロックが管理情報キャッシュ領域74に保持されているか否かを判定する(511)。エントリEN−iに管理情報ポインタの値が設定されていた場合は、該ポインタ値に従って、キャッシュ領域74から管理情報ブロックを読み出す(512)。エントリEN−iに管理情報ポインタの値が設定されていなかった場合は、ディスク装置25の管理情報テーブル32から、上記エントリEN−iと対応する位置にある管理情報ブロックを読み込む(513)。以下の説明では、上記ステップ512または513で読み出された管理情報ブロックを特に管理情報ブロック33−iと定義する。
【0059】
次に、REQ1から抽出されたURLの値と、管理情報ブロック33−iが示すURL331の値とを比較する(514)。ここで、URLを比較する理由は、管理情報エントリ特定ルーチン52では、URLの値をハッシュ関数で圧縮することによってエントリテーブル730上のアドレスを求めているため、エントリEN−iに基づいて読み出された管理情報ブロック33−iのURLとREQ1から抽出されたURLとの間には、完全な同一性が保証されていないからである。
【0060】
URLが一致しなかった場合は、図13で詳述するWebコンテンツの取得処理518を実行し、Webサーバから取得したWebコンテンツを含む応答メッセージを要求元のクライアント端末に送信して(519)、このルーチンを終了する。URLが一致した場合は、以下に述べるキャッシュデータを利用した応答処理を行う。
【0061】
先ず、管理情報ブロック33−iが示すキャッシュデータ有効期限をチェックし、キャッシュデータが有効期限切れとなっているか否かを判定する(515)。キャッシュデータが有効期限内の場合は、管理情報ブロック33−iの状態フラグ335をチェックする(520)。状態フラグがデータ更新中を示していた場合、データ更新が終了するのを待って、次のステップ521に進む。キャッシュデータ有効期限を過ぎていた場合は、図11で詳述するキャッシュデータ有効期限の更新処理516を実行する。有効期限の更新を正常に終了できなかった場合は、キャッシュデータの問題があるものと判断して、Webコンテンツの取得処理518を実行する。
【0062】
有効期限の更新を正常に終了できた場合は、ステップ521に進み、エントリテーブルのエントリEN−iの管理情報ポインタ732をチェックする。エントリEN−iに管理情報ポインタが設定済みの場合は、ステップ525に進む。管理情報ポインタが設定されていなければ、管理情報キャッシュ領域74で空きブロックを確保し(522)、エントリテーブル730のエントリEN−iに上記空きブロックを指す管理情報ポインタを設定し(523)、管理情報キャッシュ領域74の上記空きブロックに管理情報ブロック33−iを登録する(524)。
【0063】
ステップ525では、管理情報ブロック33−iに含まれるポインタ337に従って、ディスク装置25から上記管理情報ブロックにリンクしたデータブロックリスト群34を読み込む。この後、各データブロックリストが示すデータブロックアドレスに従って、ディスク装置のキャッシュ領域35から次々とキャッシュデータ(Webコンテンツ)を読み出し(526)、Webコンテンツを含む応答メッセージを作成し(527)、要求元のクライアント端末に応答メッセージを送信する(519)。
【0064】
図11は、キャッシュデータ有効期限の更新処理516の詳細を示す。
【0065】
キャッシュデータ有効期限の更新処理516では、自分(サーバ)がキャッシュ管理機能を備えているか否かを判定する(530)。プロキシサーバ24−1〜24−nの場合は、キャッシュ管理機能を備えていないため、管理プロキシサーバ23に対してキャッシュデータ有効期限の延長を要求し(531)、応答メッセージが受信されるのを待つ(532)。
【0066】
上記キャッシュデータ有効期限の延長要求は、図12の(A)に示すように、ヘッダ部101と、パケット種別102と、URL103とを含むメッセージREQ5によって行われる。
【0067】
ヘッダ部101には、宛先アドレスとして管理プロキシサーバ23のアドレス、送信元アドレスとして自サーバのアドレスが設定される。パケット種別102には、このパケット(メッセージ)がキャッシュデータ有効期限の延長要求であることを示すコードが設定され、URL103には、Webコンテンツ取得要求REQ1に付されていたURLの値が設定される。
【0068】
管理プロキシサーバ23からの応答は、図12の(B)に示すように、ヘッダ部101と、パケット種別102と、結果104と、新たな有効期限105とからなる応答メッセージRES5によって行われる。パケット種別102には、このパケット(メッセージ)がキャッシュデータ有効期限延長要求に対する応答であることを示すコードが設定され、結果フィールド104がエラー発生を示した場合は、フィールド105の内容は無効となる。
【0069】
図11に戻って、管理プロキシサーバ23からの応答メッセージを受信すると、結果フィールド104を判定し(533)、正常終了を示している場合は、管理情報ブロック33−iのキャッシュデータ有効期限334を上記応答メッセージが示す新たな有効期限105の値に変更する(534)。結果フィールド104がエラーの発生を示していた場合は、エラーフラグをオン状態にして(535)、この処理を終了する。
【0070】
自分が管理プロキシサーバ23の場合は、ステップ530から536に進み、管理情報ブロック33−iのWebデータ有効期限333をチェックする。Webデータ有効期限を過ぎていた場合は、エラーフラグをオン状態にして(535)、この処理を終了する。Webデータ有効期限を過ぎていなければ、新たなキャッシュデータ有効期限を計算し(537)、管理情報ブロック33−iのキャッシュデータ有効期限334と、エントリテーブル730のエントリEN−iにおけるキャッシュデータ有効期限731を新たな有効期限に変更し(538)、更新された管理情報ブロック33−iをディスク装置25の管理情報テーブル32の該当位置に書き込む(539)。
【0071】
尚、新たな有効期限としては、例えば、Webデータ有効期限の範囲内で、更新日時に所定時間を加えた日時が設定される。また、図10のステップ517では、上記エラーフラグの状態から正常終了か否かが判定される。
【0072】
図13は、Webコンテンツの取得処理518の詳細を示す。
【0073】
Webコンテンツの取得処理518では、Webサーバをアクセスして、Webコンテンツの取得要求REQ2を送信し(540)、Webサーバからの応答メッセージの受信を待つ(541)。取得要求REQ2を送信してから一定時間内にWebサーバからの応答がない場合は(542)、エラーメッセージを作成し(543)、処理を終了する。
【0074】
Webサーバから応答メッセージRES2を受信すると、管理情報ブロック33−iのキャッシュデータ有効期限334をチェックする(544)。キャッシュデータ有効期限内であれば、管理情報ブロック33−iにリンクしたキャッシュデータの変更が抑制されるため、Webコンテンツを含む要求元宛の応答メッセージを作成して(554)、処理を終了する。
【0075】
キャッシュデータ有効期限を過ぎていた場合、または、管理情報ブロック33−iにキャッシュデータ有効期限の値が未設定(未使用エントリ)の場合は、自分(サーバ)がキャッシュ管理機能を備えているか否かを判定する(545)。プロキシサーバ24−1〜24−nの場合は、キャッシュ管理機能を備えていないため、管理プロキシサーバ23に対してキャッシュ領域の割当てを要求し(546)、応答メッセージが受信されるのを待つ(549)。
【0076】
上記キャッシュ領域の割当て要求は、図14の(A)に示すように、ヘッダ部101、パケット種別102、URL103、要求領域サイズ111、Webデータ有効期限112を含むメッセージREQ3によって行われる。
【0077】
ヘッダ部101には、宛先アドレスとして管理プロキシサーバ23のアドレス、送信元アドレスとして自サーバのアドレスが設定される。パケット種別102には、このパケット(メッセージ)がキャッシュ領域の割当て要求であることを示すコードが設定され、URL103には、Webコンテンツ取得要求REQ1に付されていたURLの値が設定される。また、要求領域サイズ111には、Webサーバ応答メッセージRES2に含まれるWebコンテンツのデータ長から求まるキャッシュ領域サイズが設定され、Webデータ有効期限112には、上記Webサーバ応答メッセージRES2に付されているWebデータの有効期限が設定される。
【0078】
自分が管理プロキシサーバ23の場合は、上述したURL、要求領域サイズ、Webデータ有効期限を特定(548)した後、図15で詳述するキャッシュ領域の割当て処理560を実行する。これによって、新たなデータブロックリストにリンクした新たな管理情報ブロック33−Newが生成され、ディスク装置25の管理情報テーブル32に登録される。上記管理情報ブロック33−Newの登録位置は、URLから特定されるエントリEN−iの位置と対応している。
【0079】
管理プロキシサーバ23は、ステップ546で発生する他のプロキシサーバからのキャッシュ領域の割当て要求を受けた場合も、上記キャッシュ領域の割当て処理560と同様の処理を実行し、新たに生成された管理情報ブロック33Newを管理情報テーブル32に登録する。
【0080】
管理プロキシサーバ23からの応答は、図14の(B)に示すように、ヘッダ部101、パケット種別102、キャッシュ領域割当ての可否113からなる応答メッセージRES3によって行われる。ヘッダ部101には、宛先アドレスとして要求元のプロキシサーバのアドレス、送信元アドレスとして管理プロキシサーバ23のアドレスが設定される。パケット種別102には、このパケット(メッセージ)がキャッシュ領域割当て要求に対する応答であることを示すコードが設定される。
【0081】
図13に戻って、管理プロキシサーバ23からの応答メッセージRES3を受信した時、または自サーバでキャッシュ領域の割当て処理560を終了すると、新たなWebコンテンツの格納に必要なキャッシュ領域が確保できたか否かを判定する(549)。必要なキャッシュ領域が確保できなかった場合は、ステップ554でWebコンテンツを含む要求元宛の応答メッセージを作成し、処理を終了する。
【0082】
キャッシュ領域が確保できた場合は、ディスク装置25の管理情報テーブル32からエントリEN−iと対応する管理情報ブロック33−Newを読み出し、該管理情報ブロックが示すデータブロック先頭ポインタ337と、各データブロックリストの次リストポインタ341に従って、次々とデータブロックリスト34を読み出す(550)。
【0083】
次に、管理情報テーブル32上の管理情報ブロック33−Newの状態フラグ335をデータ更新中の状態に設定し(551)、既に読み出されているデータブロックリスト34が示すデータブロックアドレスに従って、新たなWebコンテンツをキャッシュ領域35に書き込む(552)。Webコンテンツの書き込みが完了すると、管理情報ブロック33−Newの状態フラグ335を更新完了状態に設定し(553)、Webコンテンツを含む要求元宛の応答メッセージを作成し(554)、処理を終了する。
【0084】
図15は、キャッシュ領域の割当て処理560の詳細を示す。
【0085】
キャッシュ領域の割当て処理では、要求されたURLの値を管理情報エントリ特定ルーチン52に与えることによって、エントリテーブル730上で上記URLに対応するエントリEN−iの位置を特定する(561)。次に、ディスク装置25の管理情報テーブル32から、上記エントリEN−iと対応した位置の管理情報ブロック33−iを読み出し(562)、管理情報データ33−iのキャッシュデータ有効期限をチェックする(563)。キャッシュデータ有効期限内であれば、キャッシュデータを保存する必要があるため、キャッシュ領域割当て結果を示すフラグを割当て不可状態に設定して(572)、この処理を終了する。
【0086】
キャッシュデータ有効期限切れの場合は、スーパーブロック・キャッシュ領域235のフリーブロックリスト数309とリスト当たりのフリーブロック数310を参照して、フリーブロックリストに要求領域サイズを満たすフリーブロックがあるか否かを判定する(564)。フリーブロック数が不足していた場合は、エントリテーブル730のキャッシュデータ有効期限731を参照して、有効期限切れのエントリを検索する(565)。
【0087】
有効期限切れのエントリが見つかった場合は、管理情報テーブル32から上記期限切れエントリに対応する管理情報ブロックを解放し、この管理情報ブロックにリンクしていたデータブロックリストをフリーブロックリストに追加(566)した後、ステップ564に戻る。期限切れ管理情報ブロックの解放は、有効性表示フラグ330をデータ無効状態に切り換えることによって達成される。また、データブロックリストをフリーブロックリストに変更したことに伴い、スーパーブロック・キャッシュ領域235におけるフリーブロックリスト最終ポインタ(P04)308とフリーブロックリスト数309の値が更新され、フリーブロックリスト・キャッシュ領域72には新たな最終フリーブロックリストの内容が書き込まれる。
【0088】
キャッシュデータ有効期限切れの全ての管理情報ブロックを解放しても、要求領域サイズを満たすフリーブロック数が確保できない場合は、キャッシュ領域割当て結果を示すフラグを割当て不可状態に設定して(572)、この処理を終了する。
【0089】
フリーブロック数が要求領域サイズを満たした場合は、新たな管理情報ブロックを生成し(567)、要求領域サイズに見合った個数のフリーブロックリストを選択して、上記管理情報ブロックにデータブロックリストとしてリンクさせる(568)。また、フリーブロックリストの数が減少したことに伴って、スーパーブロック・キャッシュ領域71におけるフリーブロックリスト先頭ポインタ(P03)307とフリーブロックリスト数309の値を更新する(569)。上記新たな管理情報ブロックには、ステップ548で特定されたURL(331)とWebデータ有効期限(333)が設定され、キャッシュデータ登録時刻332には現在の日時が設定される。また、キャッシュデータ有効期限334には、Webデータ有効期限の範囲内で現在の日時に所定時間を加えた値が設定され、状態フラグ335は初期状態に設定される。
【0090】
上記管理情報ブロックは、エントリテーブルのエントリEN−iと対応した管理情報ブロックとして、ディスク装置25の管理情報テーブル32に書き込まれ(570)、キャッシュ領域割当て結果を示すフラグを割当て可能状態に設定して(571)、この処理が終了する。
【0091】
図16は、管理プロキシサーバ23が、他のプロキシサーバから要求メッセージREQ3を受信した時に実行するキャッシュ領域割当てルーチン53のフローチャートを示す。
【0092】
キャッシュ領域割当てルーチン53では、受信メッセージからURL、要求領域サイズ、Webデータ有効期限を特定し(575)、図15で説明したキャッシュ領域の割当て処理560を実行する。割当て処理560が終了すると、キャッシュ領域割当て結果を示すフラグの状態に応じて、図14に示した応答メッセージRES3を生成し、要求元のプロキシサーバに送信する(576)。
【0093】
図17は、管理プロキシサーバ23が、他のプロキシサーバから要求メッセージREQ5を受信した時に実行するキャッシュデータ有効期限延長ルーチン54のフローチャートを示す。
【0094】
最初に、要求メッセージREQ5で指定されたURLの値を管理情報エントリ特定ルーチン52に与えることによって、エントリテーブル730上で上記URLに対応するエントリEN−iの位置を特定する(580)。次に、ディスク装置25の管理情報テーブル32から、上記エントリEN−iと対応した位置の管理情報ブロック33−iを読み込み(581)、要求メッセージREQ5指定されたURLと上記管理情報ブロック33−iが示すURL331とを比較する(582)。URLが不一致の場合は、エラー発生を示す応答メッセージRES5を要求元のプロキシサーバに送信して(589)、このルーチンを終了する。
【0095】
URLが一致した場合は、管理情報ブロック33−iが示すWebデータ有効期限333をチェックする(583)。もし、Webデータ有効期限が期限切れとなっていた場合は、エラー発生を示す応答メッセージRES5を要求元のプロキシサーバに送信して(589)、このルーチンを終了する。
【0096】
Webデータ有効期限内となっていた場合は、管理情報ブロック33−iが示すキャッシュデータ有効期限334をチェックする(584)。キャッシュデータ有効期限が期限切れとなっていた場合は、新たな有効期限を計算し(585)、エントリテーブル730のエントリEN−iが示すキャッシュデータ有効期限731と、ディスク装置25の管理情報テーブル32における管理情報ブロック33−iのキャッシュデータ有効期限334を新たな有効期限に変更する(586)。この後、結果フィールド104が正常終了を示し、フィールド105が上記新たな有効期限を示す応答メッセージRES5を要求元のプロキシサーバに送信して(588)、このルーチンを終了する。
【0097】
キャッシュデータ有効期限が期限切れとなっていなかった場合は、現在の有効期限をそのまま新たな有効期限に設定し(587)、ステップ588を実行する。
【0098】
図18は、本発明の変形例として、管理プロキシサーバ23にフリーブロックを定期的に確保させる場合に実行するフリーブロック確保処理ルーチン55のフローチャートを示す。
【0099】
このルーチン55は、タイマ割り込みによって定期的に実行される。先ず、スーパーブロック・キャッシュ領域71に格納されているスーパーブロック30を参照し、フリーブロックリスト数309の値を閾値Thと比較する(591)。フリーブロックリスト数が閾値(Th)以上の場合は、何もせずにこのルーチンを終了する。
【0100】
フリーブロックリスト数が閾値Thよりも少ない場合は、エントリテーブル730のサーチポイントを示すパラメータiの値を初期化(592)した後、パラメータiの値をインクリメントし(593)、パラメータiの値をエントリテーブル730のエントリ数nと比較する(594)。i>nとなった場合は、このルーチンを終了し、そうでなければ、エントリテーブル730の第iエントリEN−iのキャッシュデータ有効期限731が期限切れとなっているか否かをチェックする(595)。有効期限731が期限切れとなっていなければ、ステップ593に戻り、パラメータiの値をインクリメントして、同様の処理を繰り返す。
【0101】
キャッシュデータ有効期限731が期限切れとなっていた場合は、第iエントリEN−iに対応する管理情報ブロック33−iを無効にし、この管理情報ブロックにリンクされていたデータブロックリスト群34−1〜34−mを最後のフリーブロックリスト31−kにリンクする(596)。
【0102】
尚、管理情報ブロック33−iは、有効性表示フラグ330を無効状態に設定することによって無効にできる。また、解放されたデータブロック群は、管理情報ブロック33−iが示すポインタ337の値を最後のフリーブロックリスト31−kの次リストポインタ311に設定することによって、フリーブロックリスト群にリンクできる。
【0103】
この時、スーパーブロック・キャッシュ領域71において、フリーブロックリストの最終ポインタ(P04)308に、解放された最後のデータブロックを指すポインタアドレスを設定し、解放されたフリーブロックリストの個数に応じて、フリーブロックリスト数309の値を更新しておく。更新されたフリーブロックリスト数を閾値Thと比較し(597)、フリーブロックリスト数がThに達していなければステップ593に戻り、Th以上となっていた場合は、このルーチンを終了する。
【0104】
上記実施例では、フリーブロック確保処理ルーチン55を実行した時、エントリのチェックが常にエントリテーブル730の先頭から開始されている。しかしながら、パラメータiの値がエントリ数nに達する前にフリーブロックリスト数が閾値Th以上となった場合、パラメータiの値を保存して処理を終了し、次回は、このパラメータ値を初期値として期限切れの管理情報ブロックをサーチするようにしてもよい。この場合、パラメータiの値がnを超えたら初期値1に戻すことによって、エントリテーブルを循環的にサーチし、保存された最初のパラメータ値に達した時、処理を終了する。
【0105】
このように、定期的にフリーブロックを確保しておくと、新たなWebコンテンツが発生した時、図15に示したキャッシュ領域の割当て処理560の実行中に、期限切れデータブロックリストをフリーブロックリストに変更する必要がなくなるため、クライアント端末からのWebコンテンツ取得要求に対する応答時間を短縮することが可能となる。
【0106】
上述した実施例では、プロキシサーバ24からのキャッシュ領域の割当て要求REQ3に対して管理プロキシサーバ23が応答した時、プロキシサーバ24が、ディスク装置25から新たに生成された管理情報ブロックを読み出し、これにリンクしたデータブロックリストを読み出して、Webコンテンツをキャッシュ領域に書き込んでいる。
【0107】
本発明の他の実施例として、管理プロキシサーバ23が、参照すべきデータブロックリストを応答メッセージRES3でプロキシサーバ24に通知し、プロキシサーバ24が、この応答メッセージから抽出したデータブロックリストが示すアドレスに従って、Webコンテンツをキャッシュ領域に書き込むようにしてもよい。このようにすれば、Webコンテンツ書込み動作に先行したディスク装置のアクセス回数を減らすことができるため、処理時間を短縮することが可能となる。
【0108】
図19は、本発明によるアクセス中継装置2の第2の実施例を示す。
【0109】
本実施例では、管理プロキシサーバ23の代わりに、キャッシュ管理機能を備えたディスク管理装置26が用いられる。この場合、ディスク管理装置26には、負荷分散装置22によるクライアント端末からのWebコンテンツ取得要求の割当てはなく、ディスク管理装置26は、プロキシサーバ24−1〜24−nからの要求に応じたキャッシュ領域の割当てと、有効期限の更新、有効期限切れキャッシュデータ領域の解放のための処理を担当する。
【0110】
図20は、本発明によるアクセス中継装置2の動作シーケンスの変形例として、上記第2実施例のアクセス中継装置2に適した動作シーケンスを示す。
【0111】
本実施例では、プロキシサーバ24が、Webサーバ3からWebコンテンツを含む応答メッセージRES2を受信したとき、ディスク管理装置26に対して、キャッシュ領域へのWebコンテンツの格納要求REQ4を発行する。
【0112】
ディスク管理装置26は、要求REQ4に含まれるWebコンテンツのデータ長からキャッシュ領域サイズを計算して、キャッシュ領域の割当て(S06)を行い、このキャッシュ領域に対して要求REQ4が示すWebコンテンツの書き込み(S07)を行い、処理の終了を示す応答メッセージRES3を要求元のプロキシサーバに送信する。
【0113】
プロキシサーバ24は、上記応答メッセージRES3を受信すると、Webコンテンツ要求元のクライアント端末1に、Webコンテンツを含む応答メッセージRES1’を送信する。但し、クライアント端末1への応答メッセージRES1’は、破線で示すように、ディスク管理装置26へのWebコンテンツの格納要求時に送信してもよい。
【0114】
本実施例におけるディスク管理装置26の動作は、第1実施例における管理プロキシサーバ23自身が、WEbサーバから取得したWebコンテンツをキャッシュデータとして蓄積する場合の動作に相当している。従って、ディスク管理装置26は、基本的には図13に示したWebコンテンツ取得処理518におけるステップ544以降の動作を実行すればよい。また、各プロキシサーバにとっては、自分でキャッシュデータの蓄積処理を実行する必要がないため、Webコンテンツ取得処理518において、Webサーバから応答メッセージを受信(541)した後で、要求メッセージREQ4を作成し、これをディスク管理装置26に送信すればよい。
【0115】
上述したように、キャッシュ領域の管理機能とWebコンテンツの書き込み機能を1つの装置に集中した場合、プロキシサーバ24の負荷を軽減できるため、クライアント端末への応答を迅速化することが可能となる。このような機能分担は、図1に示した実施例にも適用できる。この場合、管理プロキシサーバ23は、キャッシュデータ管理のための負荷が増加するため、クライアントからのWebコンテンツ取得要求処理の負荷を他のプロキシサーバよりも軽くする必要がある。
【0116】
以上の実施例では、要求されたWebコンテンツがキャッシュデータ中に見つかった時、Webコンテンツのキャッシュデータ有効期限が切れていた場合に有効期限を延長したが、アクセス頻度の高いWebコンテンツがキャッシュデータとして長時間保持されるように、期限切れには関係なく、キャッシュデータ読み出しの都度、Webコンテンツの有効期限を延長するようにしてもよい。
【0117】
【発明の効果】
以上の実施例から明らかなように、本発明によれば、Webサイトから取得したコンテンツが複数のプロキシサーバに共有のキャッシュデータとしてディスク装置に蓄積されるため、キャッシュデータ有効期間内のWebコンテンツについては、Webアクセス中継装置からWebサーバへの重複したアクセスを回避でき、Webサイトの負荷を軽減することが可能となる。また、キャッシュ領域を複数のプロキシサーバで共用したことによって、キャッシュ用ディスク装置のメモリ容量を有効に利用したWebアクセス中継装置を提供できる。
【図面の簡単な説明】
【図1】本発明によるWebアクセス中継装置2を含む通信ネットワークシステムの構成図。
【図2】本発明によるWebアクセス中継装置2の動作シーケンスを示す図。
【図3】Webアクセス中継装置2を構成している管理プロキシサーバ23の構成図。
【図4】Webアクセス中継装置2を構成しているディスク装置25に形成されるデータ構造の1例を示す図。
【図5】図4に示したスーパーブロックの内容の1例を示す図。
【図6】図4に示した管理情報ブロック33と、これにリンクしたデータブロックリスト34の内容の1例を示す図。
【図7】図4に示したフリーブロックリスト31の内容の1例を示す図。
【図8】管理プロキシサーバ23がメモリ装置234に備える要求処理モジュール41の詳細(図A)と、メモリ装置235に形成されるデータ構造(図B)の1例を示す図。
【図9】メモリ領域72に形成されるエントリテーブル730の内容と管理情報キャッシュ領域74との関係を説明するための図。
【図10】管理プロキシサーバ23とプロキシサーバ24が実行するWebコンテンツ取得要求処理ルーチン51の1実施例を示すフローチャート。
【図11】図10におけるキャッシュデータ有効期限更新処理516の詳細を示すフローチャート。
【図12】プロキシサーバ24から送信されるキャッシュデータ有効期限延長要求メッセージREQ5(図A)と、管理プロキシサーバ23からの応答メッセージRES5(図B)の1例を示す図。
【図13】図10におけるWebコンテンツ取得要求処理518の詳細を示すフローチャート。
【図14】プロキシサーバ24から送信されるキャッシュ領域割当て要求メッセージREQ3(図A)と、管理プロキシサーバ23からの応答メッセージRES3(図B)の1例を示す図。
【図15】図13におけるキャッシュ領域割当て処理560の詳細を示すフローチャート。
【図16】管理プロキシサーバ23が実行するキャッシュ領域割当てルーチン53の詳細を示すフローチャート。
【図17】管理プロキシサーバ23が実行するキャッシュデータ有効期限延長ルーチン54の詳細を示すフローチャート。
【図18】管理プロキシサーバ23が実行するフリーブロック確保処理ルーチン55の1実施例を示すフローチャート。
【図19】本発明によるWebアクセス中継装置2の第2の実施例を示すブロック構成図。
【図20】図19に示したWebアクセス中継装置2に適した動作シーケンスを示す図。
【符号の説明】
1:クライアント端末、2:アクセス中継装置、3:Webサーバ、
21:パケット中継装置、22:負荷分散装置、23:管理プロキシサーバ、
24:プロキシサーバ、25:ディスク装置、26:ディスク管理装置、
30:スーパーブロック、31:フリーブロックリスト、32:管理情報テーブル、34:データブロックリスト、35:データキャッシュ領域、
350:データブロック、71:スーパーブロック・キャッシュ領域、
72:フリーブロックリスト・キャッシュ領域、73:エントリテーブル領域、74:管理情報キャッシュ領域、730:エントリテーブル。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a Web access relay device, and more particularly, to a cache method for Web content data acquired from a Web server.
[0002]
[Prior art]
With the spread of the Internet, video distribution services for movies and the like, and services that have been provided at sales counters of various companies until now, have been provided through the Internet. In addition, with the progress of communication technology, an environment has been established in which various services can be enjoyed from mobile phones in addition to home and office terminals.
[0003]
In a Web access method in which a client terminal accesses a Web server directly to request a service, service requests from a large number of clients are concentrated on a popular Web site. In this case, since the communication line capacity of the Internet and the data processing capacity of the Web server are limited, it is difficult to process intensive requests from users on the Web site depending on the time of day or the access destination. A situation arises in which no response is returned.
[0004]
The above problem is caused, for example, by installing an access relay device called a proxy server between a client terminal and a Web server, storing Web contents acquired from the Web server as cache data in the proxy server, If the requested Web content is found in the cache data, it can be improved by omitting access to the Web server and transmitting the cache data to the request source.
[0005]
[Problems to be solved by the invention]
However, since the proxy server also has a capacity limitation, if the number of connected users increases and Web access requests are concentrated, one proxy server cannot process the Web access request. For this reason, for example, one Web access relay device is composed of a plurality of proxy servers connected to a load distribution device, and a Web access request from a user is distributed to the plurality of proxy servers, thereby eliminating the overflow. Has been proposed.
[0006]
In a conventional load distribution type Web access relay device, an individual cache memory (disk device) is provided for each proxy server, and a plurality of proxy servers operate independently of each other. Therefore, when the requested Web content is not found in the cache data, each proxy server accesses the Web site independently, and stores the Web content acquired from the Web server in each individual cache memory. For this reason, there is a problem that when another proxy server receives an acquisition request for Web contents already held as cache data by one proxy server, access to the Web site occurs repeatedly.
[0007]
In addition, since the same Web content is redundantly stored in a plurality of proxy servers, there is a problem that the use efficiency of the cache memory as the entire Web access relay device is reduced.
[0008]
An object of the present invention is to improve the use efficiency of a cache memory and reduce the frequency of access to a Web server in a Web access relay device including a plurality of proxy servers.
[0009]
[Means for Solving the Problems]
In order to achieve the above object, a Web access relay device of the present invention includes a disk device shared by a plurality of proxy servers, and each proxy server refers to shared cache data stored in the disk device, It is characterized by processing a Web content acquisition request from a client. According to the present invention, since the cache memory is shared by a plurality of proxy servers, if one of the proxy servers acquires the Web content from the Web server, the same Web content can be used by all the proxy servers, and the Web site can be used. Access times can be reduced. Further, since the same Web content can be prevented from being repeatedly stored, the use efficiency of the cache memory can be improved.
[0010]
In one embodiment of the present invention, one of the plurality of proxy servers operates as a management server having a cache area management function, and releases a cache area by invalidating accumulated Web contents and renewing a new Web area. It is characterized in that a cache area is allocated to contents.
[0011]
In this case, when the proxy server other than the management server obtains the Web content from the Web server, the proxy server requests the management server to allocate a cache area, and writes the Web content to the cache area allocated by the management server. However, a proxy server other than the management server may request the management server to accumulate Web contents, and the management server may write the Web contents to the empty cache area.
[0012]
One feature of the present invention is that the management server has means for designating the cache data expiration date for each Web content stored in the disk device, and invalidates the Web content whose cache data expiration date has expired. Thus, an empty area is secured in the cache memory.
[0013]
The cache data expiration date is the storage expiration date of the Web content guaranteed inside the Web access relay device of the present invention, and is calculated based on the cache registration date within the range of the content expiration date specified by the Web server. The cache data expiration date can be extended, and Web contents with a high request frequency can be retained in the disk device for a long time by extending the cache data expiration date one after another.
[0014]
In another embodiment of the present invention, each proxy server is provided with a disk management device for releasing a cache area in a disk device and allocating a cache area to new Web content, instead of the management proxy server described above. Is characterized in that the Web content acquired from the Web server is stored in the disk device in cooperation with the disk management device.
[0015]
In this case, each proxy server requests the disk management device to allocate a cache area, and writes the Web content to the cache area allocated by the disk management device. However, each proxy server may request the disk management device to accumulate Web contents, and the disk management device may write the Web contents in an empty cache area.
[0016]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0017]
FIG. 1 shows a configuration of a communication network system including a Web access relay device 2 according to the present invention.
[0018]
The Web access relay device 2 is connected to a plurality of client terminals 1 (1-1 to 1-L) via a
[0019]
The Web access relay device 2 is connected to the packet relay device (router) 21 connected to the
[0020]
The Web content acquisition request transmitted from the
[0021]
In the present embodiment, one of the plurality of proxy servers sharing the
[0022]
The other proxy servers 24-1 to 24-n request the
[0023]
FIG. 2 shows an operation sequence of the access relay device 2 according to the present invention.
[0024]
Here, in order to simplify the explanation, the
[0025]
For example, the proxy server 24-i that has received the Web content acquisition request REQ1 from the client terminal 1-1 via the
[0026]
When the Web content requested by the client terminal does not exist in the
[0027]
The proxy server 24-i analyzes the response message RES2 from the Web server 3-j (S05), and instructs the
[0028]
The
[0029]
FIG. 3 shows the configuration of the
[0030]
The
[0031]
The other proxy servers 24-1 to 24-n also have the same configuration in hardware as the
[0032]
FIG. 4 shows an example of a data structure formed in the
[0033]
In the
[0034]
Each management information block 33 of the management information table 32 corresponds to each Web content registered as cache data in the
[0035]
FIG. 5 shows an example of the contents of the
[0036]
The
[0037]
FIG. 6 shows an example of the contents of one management information block 33-i and the data block list 34 (34-1 to 34-3) linked to this management information block.
[0038]
The management information block 33-i includes management information of the Web content stored in the cache area, pointer information required when reading the Web content from the cache area, and a validity display indicating whether the information is valid.
[0039]
Note that the Web
[0040]
The data block list 34-1 referred to according to the
[0041]
A plurality of data blocks in the
[0042]
FIG. 7 shows an example of the contents of the free block lists 31-1 to 31-k.
[0043]
The position of the first free block list 31-1 is specified by the pointer (P03) 307 included in the
[0044]
Each free block list includes a plurality of free block addresses 310-1 to 310-n and a
[0045]
Each free block list has the same size as the
[0046]
FIG. 8 shows an example of the details of the
[0047]
As shown in FIG. 8A, the
[0048]
The contents of the
[0049]
The free block list cache area 72 stores the contents of the final list 31-k of the free block list group specified by the pointer P04. By holding the contents of the last free block list 31-k in the
[0050]
In the entry table area 73, as shown in FIG. 9, an entry table 730 including a plurality of entries EN-1 to EN-n each indicating a cache
[0051]
The management
[0052]
In the
[0053]
The management information entry specifying routine 52 is for specifying one entry EN-i on the entry table 730 corresponding to the URL, based on the value of the URL specified in the Web content acquisition request. The position of the entry EN-i is specified by, for example, applying a predetermined hash function to convert a given URL value into an address value in the entry table 730.
[0054]
The cache
[0055]
Among the above-mentioned software elements, the super block cache initialization /
[0056]
FIG. 10 shows a flowchart of the Web content acquisition
[0057]
In the Web content acquisition
[0058]
When the position of the entry EN-i is specified, the management information pointer 732 of the entry is checked to determine whether or not the management information block corresponding to the URL is held in the management information cache area 74 ( 511). If the value of the management information pointer has been set in the entry EN-i, the management information block is read from the
[0059]
Next, the value of the URL extracted from REQ1 is compared with the value of the
[0060]
If the URLs do not match, Web
[0061]
First, the cache data expiration date indicated by the management information block 33-i is checked to determine whether the cache data has expired (515). If the cache data has not expired, the
[0062]
If the expiration date has been successfully updated, the process proceeds to step 521, where the management information pointer 732 of the entry EN-i in the entry table is checked. If the management information pointer has been set in the entry EN-i, the process proceeds to step 525. If the management information pointer is not set, a free block is secured in the management information cache area 74 (522), and a management information pointer pointing to the free block is set in the entry EN-i of the entry table 730 (523), and the management is performed. The management information block 33-i is registered in the empty block of the information cache area 74 (524).
[0063]
In
[0064]
FIG. 11 shows details of the cache data expiration
[0065]
In the cache data expiration
[0066]
The request for extending the validity period of the cache data is performed by a message REQ5 including a
[0067]
In the
[0068]
As shown in FIG. 12B, a response from the
[0069]
Returning to FIG. 11, when the response message from the
[0070]
If it is the
[0071]
As the new expiration date, for example, a date and time obtained by adding a predetermined time to the update date and time is set within the range of the Web data expiration date. In
[0072]
FIG. 13 shows details of the Web
[0073]
In the Web
[0074]
When the response message RES2 is received from the Web server, the cache
[0075]
If the cache data expiration date has passed, or if the value of the cache data expiration date has not been set (unused entry) in the management information block 33-i, whether or not the self (server) has the cache management function Is determined (545). Since the proxy servers 24-1 to 24-n do not have a cache management function, the proxy servers 24-1 to 24-n request the
[0076]
The request for allocating the cache area is performed by a message REQ3 including a
[0077]
In the
[0078]
If it is the
[0079]
When the
[0080]
As shown in FIG. 14B, a response from the
[0081]
Returning to FIG. 13, when the response message RES3 from the
[0082]
When the cache area is secured, the management information block 33-New corresponding to the entry EN-i is read from the management information table 32 of the
[0083]
Next, the
[0084]
FIG. 15 shows details of the cache
[0085]
In the cache area allocating process, the position of the entry EN-i corresponding to the URL is specified on the entry table 730 by giving the requested URL value to the management information entry specifying routine 52 (561). Next, the management information block 33-i at a position corresponding to the entry EN-i is read from the management information table 32 of the disk device 25 (562), and the cache data expiration date of the management information data 33-i is checked ( 563). If it is within the validity period of the cache data, it is necessary to save the cache data. Therefore, the flag indicating the result of the cache area allocation is set to the non-allocatable state (572), and this processing ends.
[0086]
If the cache data has expired, reference is made to the free
[0087]
If an expired entry is found, the management information block corresponding to the expired entry is released from the management information table 32, and the data block list linked to this management information block is added to the free block list (566). Thereafter, the process returns to step 564. Release of the expired management information block is achieved by switching the
[0088]
If the number of free blocks that satisfies the requested area size cannot be secured even after releasing all management data blocks whose cache data expiration date has expired, a flag indicating the cache area allocation result is set to a non-allocation state (572). The process ends.
[0089]
If the number of free blocks satisfies the required area size, a new management information block is generated (567), and a number of free block lists commensurate with the required area size are selected as data block lists in the management information block. Link (568). Further, as the number of free block lists decreases, the values of the free block list head pointer (P03) 307 and the number of free block lists 309 in the super
[0090]
The management information block is written in the management information table 32 of the
[0091]
FIG. 16 shows a flowchart of the cache
[0092]
The cache
[0093]
FIG. 17 shows a flowchart of the cache data expiration
[0094]
First, the position of the entry EN-i corresponding to the URL is specified on the entry table 730 by giving the value of the URL specified by the request message REQ5 to the management information entry specifying routine 52 (580). Next, the management information block 33-i at the position corresponding to the entry EN-i is read from the management information table 32 of the disk device 25 (581), and the URL specified in the request message REQ5 and the management information block 33-i are read. Is compared with the URL 331 (582). If the URLs do not match, a response message RES5 indicating the occurrence of an error is transmitted to the requesting proxy server (589), and this routine ends.
[0095]
If the URLs match, the Web
[0096]
If it is within the Web data expiration date, the cache
[0097]
If the cache data expiration date has not expired, the current expiration date is set as a new expiration date (587), and step 588 is executed.
[0098]
FIG. 18 shows a flowchart of a free block securing
[0099]
This routine 55 is periodically executed by a timer interrupt. First, the value of the free
[0100]
When the number of free block lists is smaller than the threshold Th, the value of the parameter i indicating the search point of the entry table 730 is initialized (592), and then the value of the parameter i is incremented (593), and the value of the parameter i is changed. A comparison is made with the number of entries n in the entry table 730 (594). If i> n, this routine ends. Otherwise, it is checked whether the cache
[0101]
If the cache
[0102]
The management information block 33-i can be invalidated by setting the
[0103]
At this time, in the super
[0104]
In the above embodiment, when the free block securing
[0105]
As described above, if free blocks are regularly reserved, when new Web contents occur, the expired data block list is added to the free block list during the execution of the cache
[0106]
In the above embodiment, when the
[0107]
As another embodiment of the present invention, the
[0108]
FIG. 19 shows a second embodiment of the access relay device 2 according to the present invention.
[0109]
In this embodiment, a
[0110]
FIG. 20 shows an operation sequence suitable for the access relay device 2 of the second embodiment as a modification of the operation sequence of the access relay device 2 according to the present invention.
[0111]
In this embodiment, when the
[0112]
The
[0113]
Upon receiving the response message RES3, the
[0114]
The operation of the
[0115]
As described above, when the cache area management function and the Web content writing function are concentrated in one device, the load on the
[0116]
In the above embodiment, when the requested Web content is found in the cache data, the validity period is extended when the cache data validity period of the Web content has expired. However, the Web content with a high access frequency is used as the cache data. The expiration date of the Web content may be extended each time the cache data is read, regardless of the expiration, so as to be retained for a long time.
[0117]
【The invention's effect】
As is clear from the above embodiment, according to the present invention, the content acquired from the Web site is stored in the disk device as cache data shared by a plurality of proxy servers. Can avoid duplicate access to the Web server from the Web access relay device, and can reduce the load on the Web site. Further, since the cache area is shared by a plurality of proxy servers, a Web access relay device that effectively utilizes the memory capacity of the cache disk device can be provided.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a communication network system including a Web access relay device 2 according to the present invention.
FIG. 2 is a diagram showing an operation sequence of the Web access relay device 2 according to the present invention.
FIG. 3 is a configuration diagram of a
FIG. 4 is a diagram showing an example of a data structure formed in a
FIG. 5 is a view showing an example of the contents of a super block shown in FIG. 4;
FIG. 6 is a diagram showing an example of the contents of a
FIG. 7 is a view showing an example of the contents of a
FIG. 8 is a diagram showing details of a
FIG. 9 is a view for explaining a relationship between contents of an entry table 730 formed in a memory area 72 and a management
FIG. 10 is a flowchart showing one embodiment of a Web content acquisition
FIG. 11 is a flowchart showing details of a cache data expiration
FIG. 12 is a diagram showing an example of a cache data expiration date extension request message REQ5 (FIG. A) transmitted from the
FIG. 13 is a flowchart showing details of a web content
FIG. 14 is a diagram showing an example of a cache area allocation request message REQ3 (FIG. A) transmitted from the
FIG. 15 is a flowchart showing details of a cache
FIG. 16 is a flowchart showing details of a cache
FIG. 17 is a flowchart showing details of a cache data expiration
FIG. 18 is a flowchart showing one embodiment of a free block securing
FIG. 19 is a block diagram showing a second embodiment of the Web access relay device 2 according to the present invention.
FIG. 20 is a diagram showing an operation sequence suitable for the Web access relay device 2 shown in FIG.
[Explanation of symbols]
1: client terminal, 2: access relay device, 3: web server,
21: packet relay device, 22: load distribution device, 23: management proxy server,
24: proxy server, 25: disk device, 26: disk management device
30: super block, 31: free block list, 32: management information table, 34: data block list, 35: data cache area,
350: data block, 71: super block cache area,
72: free block list cache area; 73: entry table area; 74: management information cache area; 730: entry table
Claims (10)
それぞれWebコンテンツ取得要求への応答機能を備えた複数のプロキシサーバと、
Webコンテンツを上記複数のプロキシサーバに共有のキャッシュデータとして蓄積するためのディスク装置とからなり、
上記各プロキシサーバが、クライアント端末から要求されたWebコンテンツが上記ディスク装置にキャッシュデータとして蓄積されていた場合は、該ディスク装置から読み出したWebコンテンツを要求元クライアント装置に送信し、要求されたWebコンテンツがキャッシュデータとして蓄積されていない場合は、Webサーバから上記要求されたWebコンテンツを取得し、これを新たなキャッシュデータとして上記ディスク装置に蓄積すると共に、要求元のクライアント端末に送信することを特徴とするWebアクセス中継装置。A Web access relay device that accesses a Web server in response to a Web content acquisition request received from a client terminal and transmits the Web content acquired from the Web server to a requesting client terminal,
A plurality of proxy servers each having a function of responding to a Web content acquisition request,
A disk device for storing Web contents as shared cache data in the plurality of proxy servers,
When each of the proxy servers stores the Web content requested from the client terminal as cache data in the disk device, the proxy server transmits the Web content read from the disk device to the requesting client device, and transmits the requested Web content. If the content is not stored as cache data, it is necessary to acquire the requested Web content from the Web server, store this as new cache data in the disk device, and transmit it to the requesting client terminal. A web access relay device characterized by the following.
それぞれWebコンテンツ取得要求への応答機能を備えた複数のプロキシサーバと、
Webコンテンツを上記複数のプロキシサーバに共有のキャッシュデータとして蓄積するためのディスク装置と、
上記ディスク装置におけるWebコンテンツの無効化によるキャッシュ領域の解放と、新たなWebコンテンツへのキャッシュ領域の割当てを行うためのディスク管理装置とからなり、
上記各プロキシサーバが、クライアント端末から要求されたWebコンテンツが上記ディスク装置にキャッシュデータとして蓄積されていた場合は、該ディスク装置から読み出したWebコンテンツを要求元クライアント装置に送信し、要求されたWebコンテンツがキャッシュデータとして蓄積されていない場合は、Webサーバから上記要求されたWebコンテンツを取得し、これを要求元のクライアント端末に送信すると共に、上記ディスク管理装置と連携して上記ディスク装置に蓄積することを特徴とするWebアクセス中継装置。A Web access relay device that accesses a Web server in response to a Web content acquisition request received from a client terminal and transmits the Web content acquired from the Web server to a requesting client terminal,
A plurality of proxy servers each having a function of responding to a Web content acquisition request,
A disk device for storing Web contents as shared cache data in the plurality of proxy servers;
A disk management device for releasing a cache area by invalidating Web contents in the disk device and allocating a cache area to new Web contents;
When each of the proxy servers stores the Web content requested from the client terminal as cache data in the disk device, the proxy server transmits the Web content read from the disk device to the requesting client device, and transmits the requested Web content. If the content is not stored as cache data, the requested Web content is obtained from the Web server, transmitted to the requesting client terminal, and stored in the disk device in cooperation with the disk management device. Web access relay device characterized by performing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002192979A JP2004038439A (en) | 2002-07-02 | 2002-07-02 | Web access relay system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002192979A JP2004038439A (en) | 2002-07-02 | 2002-07-02 | Web access relay system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004038439A true JP2004038439A (en) | 2004-02-05 |
Family
ID=31702058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002192979A Pending JP2004038439A (en) | 2002-07-02 | 2002-07-02 | Web access relay system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004038439A (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006001507A1 (en) * | 2004-06-24 | 2006-01-05 | Nec Corporation | Information service system, information server, portable terminal, information service control program and portable terminal control program |
JP2006279933A (en) * | 2005-03-25 | 2006-10-12 | Microsoft Corp | Distributed information managing method and distributed information managing device |
JP2007215126A (en) * | 2006-02-13 | 2007-08-23 | Kyocera Mita Corp | Evaluation apparatus for network application, network application evaluation method, and control program in evaluation system for network application |
JP2008250586A (en) * | 2007-03-30 | 2008-10-16 | Hitachi Ltd | Attached url transmitting/receiving method, system and program |
JP2012059257A (en) * | 2010-09-07 | 2012-03-22 | Nhn Corp | Cache system and method of providing caching service using cache cloud construction |
US20130191435A1 (en) | 2012-01-19 | 2013-07-25 | Microsoft Corporation | Client-Side Minimal Download and Simulated Page Navigation Features |
JP2015165632A (en) * | 2014-03-03 | 2015-09-17 | 日本電気株式会社 | Information transfer device, information transfer method, and program |
US9846605B2 (en) | 2012-01-19 | 2017-12-19 | Microsoft Technology Licensing, Llc | Server-side minimal download and error failover |
US10142399B2 (en) | 2011-12-05 | 2018-11-27 | Microsoft Technology Licensing, Llc | Minimal download and simulated page navigation features |
US10579960B2 (en) | 2014-08-05 | 2020-03-03 | Alibaba Group Holding Limited | Information operation |
JP2020095340A (en) * | 2018-12-10 | 2020-06-18 | 富士通株式会社 | Information processing system, load balancing processing device, and load balancing processing program |
-
2002
- 2002-07-02 JP JP2002192979A patent/JP2004038439A/en active Pending
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006001507A1 (en) * | 2004-06-24 | 2006-01-05 | Nec Corporation | Information service system, information server, portable terminal, information service control program and portable terminal control program |
JP2006279933A (en) * | 2005-03-25 | 2006-10-12 | Microsoft Corp | Distributed information managing method and distributed information managing device |
JP2007215126A (en) * | 2006-02-13 | 2007-08-23 | Kyocera Mita Corp | Evaluation apparatus for network application, network application evaluation method, and control program in evaluation system for network application |
JP2008250586A (en) * | 2007-03-30 | 2008-10-16 | Hitachi Ltd | Attached url transmitting/receiving method, system and program |
JP2012059257A (en) * | 2010-09-07 | 2012-03-22 | Nhn Corp | Cache system and method of providing caching service using cache cloud construction |
US10142399B2 (en) | 2011-12-05 | 2018-11-27 | Microsoft Technology Licensing, Llc | Minimal download and simulated page navigation features |
KR102055024B1 (en) | 2012-01-19 | 2020-01-22 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | Client-side minimal download and simulated page navigation features |
JP2015510632A (en) * | 2012-01-19 | 2015-04-09 | マイクロソフト コーポレーション | Client-side minimal download and simulated page navigation mechanism |
US9846605B2 (en) | 2012-01-19 | 2017-12-19 | Microsoft Technology Licensing, Llc | Server-side minimal download and error failover |
KR20140117418A (en) * | 2012-01-19 | 2014-10-07 | 마이크로소프트 코포레이션 | Client-side minimal download and simulated page navigation features |
US10289743B2 (en) | 2012-01-19 | 2019-05-14 | Microsoft Technology Licensing, Llc | Client-side minimal download and simulated page navigation features |
US20130191435A1 (en) | 2012-01-19 | 2013-07-25 | Microsoft Corporation | Client-Side Minimal Download and Simulated Page Navigation Features |
JP2015165632A (en) * | 2014-03-03 | 2015-09-17 | 日本電気株式会社 | Information transfer device, information transfer method, and program |
US10579960B2 (en) | 2014-08-05 | 2020-03-03 | Alibaba Group Holding Limited | Information operation |
US11238402B2 (en) | 2014-08-05 | 2022-02-01 | Advanced New Technologies Co., Ltd. | Information operation |
JP2020095340A (en) * | 2018-12-10 | 2020-06-18 | 富士通株式会社 | Information processing system, load balancing processing device, and load balancing processing program |
JP7137072B2 (en) | 2018-12-10 | 2022-09-14 | 富士通株式会社 | Information processing system, load distribution processing device, and load distribution processing program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4178134A1 (en) | Data transmission method, proxy server, storage medium, and electronic device | |
US6374289B2 (en) | Distributed client-based data caching system | |
JP3382953B2 (en) | Client management flow control method and apparatus on finite memory computer system | |
KR100451211B1 (en) | System and method for maintaining consistency of transaction cache in mobile computing environments | |
JP4569846B2 (en) | I / O node control method and method | |
US20050102427A1 (en) | Stream contents distribution system and proxy server | |
US6611870B1 (en) | Server device and communication connection scheme using network interface processors | |
WO2014094468A1 (en) | System, method and browser client for enabling browser data synchronization | |
CN102067094A (en) | Cache optimzation | |
CN110134896B (en) | Monitoring process and intelligent caching method of proxy server | |
CN110430274A (en) | A kind of document down loading method and system based on cloud storage | |
JP2010020782A (en) | Method for transferring information | |
JP2019521576A (en) | Maintaining Messaging System Persistence | |
CN114827145B (en) | Server cluster system, metadata access method and device | |
CN106790552B (en) | A kind of content providing system based on content distributing network | |
JP2004038439A (en) | Web access relay system | |
CN108307198A (en) | flow service node dispatching method, device and scheduling node | |
CN113452808A (en) | Domain name resolution method, device, equipment and storage medium | |
CN112822299B (en) | RDMA (remote direct memory Access) -based data transmission method and device and electronic equipment | |
CN101141482A (en) | Network resource management system and method | |
WO2019052299A1 (en) | Sdn switch, and application and management method for sdn switch | |
CN114866854B (en) | Video access mode dynamic allocation method, system, electronic equipment and storage medium | |
KR20100069316A (en) | Adaptive high-performance proxy cache server and caching method | |
CN101686156B (en) | Terminal and method for realizing local caching of network service data | |
CN116996579B (en) | Method and system for improving downloading speed of fragmentation request based on multiplexing 302 address |