(57)【特許請求の範囲】
【請求項１】
クライアント端末とサーバとの間の通信路上に設置され、クライアント端末から要求があったサーバへのアクセスにおいて、サーバから送られてきたデータを記憶装置にキャッシュしておき、既にキャッシュされたデータへのアクセスがクライアント端末から要求された場合には、キャッシュされたデータをクライアント端末に返す通信プロキシ装置であって、
上記記憶装置のキャッシュ用の領域は、論理的に分割された複数のキャッシュ領域から構成され、
サーバから送られてきたデータを上記記憶装置にキャッシュする際に、予め定められた選択基準に応じて、上記複数のキャッシュ領域のうちのいずれか１つのキャッシュ領域を選択するキャッシュ領域選択手段を有し、
サーバから送られるデータのうちの予め定められたデータに、上記複数のキャッシュ領域のうちのいずれのキャッシュ領域を使用するかを示すキャッシュ領域選択情報を付加しておき、
上記キャッシュ領域選択手段は、サーバから送られてきたデータを記憶装置にキャッシュする際に、該データに付加されているキャッシュ領域選択情報が示すキャッシュ領域を選択する、
ことを特徴とする通信プロキシ装置。
【請求項２】
請求項１記載の通信プロキシ装置であって、
上記キャッシュ領域選択手段は、サーバから送られてきたデータが、上記キャッシュ領域選択情報が付加されていないデータであるならば、上記複数のキャッシュ領域のうちの、そのようなデータをキャッシュするために予め定められた共通キャッシュ領域を選択するか、または、いずれのキャッシュ領域も選択せず、該データをキャッシュしないようにする、
ことを特徴とする通信プロキシ装置。
【請求項３】
クライアント端末とサーバとの間の通信路上に設置され、クライアント端末から要求があったサーバへのアクセスにおいて、サーバから送られてきたデータを記憶装置にキャッシュしておき、既にキャッシュされたデータへのアクセスがクライアント端末から要求された場合には、キャッシュされたデータをクライアント端末に返す通信プロキシ装置において、サーバから送られてきたデータを上記記憶装置にキャッシュする際の動作を制御するプログラムであって、
上記記憶装置のキャッシュ用の領域を、複数のキャッシュ領域に論理的に分割して管理することと、
サーバから送られてきたデータを上記記憶装置にキャッシュする際に、予め定められた選択基準に応じて、上記複数のキャッシュ領域のうちのいずれか１つのキャッシュ領域を選択することとを、上記通信プロキシ装置に実行させ、
サーバから送られるデータのうちの予め定められたデータに、上記複数のキャッシュ領域のうちのいずれのキャッシュ領域を使用するかを示すキャッシュ領域選択情報を付加しておき、
サーバから送られてきたデータを記憶装置にキャッシュする際に、該データに付加されているキャッシュ領域選択情報が示すキャッシュ領域を選択することを、さらに上記通信プロキシ装置に実行させる、
ことを特徴とするプログラム。
【請求項４】
請求項３記載のプログラムを記録したことを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＷＷＷ（World Wide Web）等、サーバ装置上にあるデータを、クライアント端末からアクセスするネットワークシステムにおいて、クライアント端末とサーバとの間の通信路上に設置される通信プロキシ装置に関する。
【０００２】
【従来の技術】
従来の通信プロキシ装置は、１９９８年発行の「Ｗｅｂプロキシサーバ」（アリ・ルオトネン著、前田奈美訳、ピアソン・エデュケーション）の第２章に記載されているように、クライアント端末とサーバとの間の通信を仲介する装置であって、クライアント端末から要求があったサーバへのアクセスにおいて、サーバから送られてきたデータを記憶装置にキャッシュしておき、既にキャッシュされたデータへのアクセスがクライアント端末から要求された場合（キャッシュヒット）には、キャッシュされたデータをクライアント端末に返すことにより、クライアント端末への高速な返信とネットワークの負荷軽減とを実現する通信装置である。
【０００３】
この際、通信プロキシ装置内の記憶領域がキャッシュデータで飽和すると、新たにやり取りされるデータをキャッシュするために、一般に、既に記憶されているデータのうち、アクセスされた時期が最も古いデータを破棄し、代わりに、新たなデータをキャッシュするようになっている。従って、記憶領域から破棄されたデータがクライアント端末より新たに要求された場合、通信プロキシ装置は、サーバより新たにデータを取得し、キャッシュ処理を行うこととなる。
【０００４】
【発明が解決しようとする課題】
従来の通信プロキシ装置を用いて大規模な通信システムを構築した場合、クライアント端末から要求されるデータの種類が多く、記憶領域が飽和した際のキャッシュ入れ替えが頻繁に発生し、結果として、全体のキャッシュヒット率が低下してしまい、通信プロキシ装置を用いた通信システムの特徴である負荷軽減の効果が期待できなくなってしまう。
【０００５】
また、重要な利用者やデータであっても、他の利用者やデータと同じ扱いとなり、重要な利用者やデータに対してキャッシュヒット率を上げるといったようなサービス要求を満足させることができない。
【０００６】
そこで、本発明の目的は、サーバやクライアント端末を変更せずに、特定の利用者やデータについてのキャッシュヒット率を向上させることが可能な通信プロキシ装置を提供することにある。
【０００７】
【課題を解決するための手段】
上記目的を達成するために、本発明の通信プロキシ装置は、サーバから送られてきたデータをキャッシュする記憶装置について、キャッシュ用の領域を、論理的に分割された複数のキャッシュ領域から構成されるようにし、サーバから送られてきたデータを記憶装置にキャッシュする際に、複数のキャッシュ領域のうちのいずれか１つのキャッシュ領域を選択するキャッシュ領域選択機構を有するようにしており、このキャッシュ領域選択機構が、クライアント端末の利用者、クライアント端末の端末アドレス、または、サーバのアドレスに応じて、キャッシュ領域を選択することを特徴とするものである。
【０００８】
これにより、クライアント端末の利用者（データ利用者）ごとやサーバ（データ提供者）ごとに、キャッシュ領域を設定することができ、特定の利用者が利用するデータや特定のサーバが提供するデータについてのキャッシュヒット率を向上させることが可能となる。
【０００９】
また、本発明の通信プロキシ装置は、サーバから送られるデータのうちの予め定められたデータに、上記複数のキャッシュ領域のうちのいずれのキャッシュ領域を使用するかを示すキャッシュ領域選択情報タグを付加しておき、上記キャッシュ領域選択機構が、サーバから送られてきたデータに付加されているキャッシュ領域選択情報タグが示すキャッシュ領域を選択することを特徴とするものである。
【００１０】
これにより、データごとにキャッシュ領域を設定することができ、特定のデータについてのキャッシュヒット率を向上させることが可能となる。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
【００１２】
まず、各図面を簡単に説明し、続いて、図面に基づき具体的に説明する。
【００１３】
図１２は、従来の通信プロキシ装置の基本構成を示した図である。
【００１４】
図１２に示すように、従来の通信プロキシ装置１２０１は、クライアント端末１０１からのアクセス要求に対してサーバ１０２から送られてきたデータ１０４をキャッシュデータ１０６としてキャッシュしておく記憶装置１０５と、クライアント端末１０１とサーバ１０２との間で送受信されるデータの解析等の処理を行うデータ処理装置１２０２と、外部との間でデータの通信を制御する通信制御装置１２０３と、記憶装置１０５にキャッシュするデータの管理を行うキャッシュ管理機構１２０４と、外部からの指示や情報を入力する入力装置１２０５と、内部通信回線１２０６と、外部通信回線１２０７とを備えて構成されている。
【００１５】
従来の通信プロキシ装置１２０１の処理手順は、図１６に示す通りである。
【００１６】
すなわち、従来の通信プロキシ装置１２０１は、図１６に示すように、まず、クライアント端末１０１からのデータ取得要求を外部通信回線１２０７を介して受信すると（Ｓ１３０１）、データ処理装置１２０２によって、サーバ１０３からデータ１０４を取得する（Ｓ１３０２）。次に、サーバ１０３から取得したデータ１０４をクライアント端末１０１へ送信し（Ｓ１３０３）、キャッシュ管理機構１２０４によって、クライアント端末１０１へ送信したデータ１０４のコピーを、記憶装置１０５内に、キャッシュデータ１０６としてキャッシュする（Ｓ１６０１）。
【００１７】
図１は、本発明の通信プロキシ装置を用いた通信システムの基本構成を示す図である。
【００１８】
図１に示すように、本通信システムは、クライアント端末１０１と、サーバ１０２と、通信プロキシ装置１０３とから構成され、通信プロキシ装置１０３は、従来の通信プロキシ装置１２０１の構成要素に加えて、論理的に分割された記憶装置１０５内の複数のキャッシュ領域のうちから１つのキャッシュ領域１０７を選択するキャッシュ領域選択機構１０８を備えている。
【００１９】
以下、キャッシュ領域選択機構１０８がキャッシュ領域１０７をどのように選択するかに応じて、３つの実施形態を挙げる。
【００２０】
図２は、第１の実施形態を説明する図である。
【００２１】
図２に示すように、第１の実施形態においては、図１に加えて、クライアント端末１０１を利用する利用者情報２０１（または、クライアント端末１０１の端末アドレス２０２）を利用し、クライアント端末１０１からのアクセス要求に対してどのキャッシュ領域１０７を使うべきかを対応付けた利用者別キャッシュ領域情報２０３を、通信プロキシ装置１０３の内部（または、別の情報処理装置２０４）に追加した構成となっている。
【００２２】
図３は、第２の実施形態を説明する図である。
【００２３】
図３に示すように、第２の実施形態においては、図１に加えて、サーバ１０２のサーバアドレス３０１を利用し、サーバ１０２からのデータ１０４に対してどのキャッシュ領域１０７を使うべきかを対応付けたサーバ別キャッシュ領域情報３０２を、通信プロキシ装置１０３の内部（または、別の情報処理装置２０４）に追加した構成となっている。
【００２４】
図４は、第３の実施形態を説明する図である。
【００２５】
図４に示すように、第３の実施形態においては、図１に加えて、サーバ１０２からのデータ１０４に、どのキャッシュ領域１０７を使うべきかを示すキャッシュ領域選択情報タグ４０１が追加された構成となっている。
【００２６】
図５は、図２における利用者情報２０１の一例を示す図であり、図５の例では、利用者情報２０１は、ユーザＩＤ５０１およびパスワード５０２とから構成されている。
【００２７】
図６は、図２における端末アドレス２０２の一例を示す図である。
【００２８】
図７は、図２における利用者情報２０１を利用した場合の、利用者別キャッシュ領域情報２０３の一例を示す図であり、利用者情報２０１に対応するキャッシュ領域情報７０１が記述されている。
【００２９】
図８は、図２における端末アドレス２０２を利用した場合の、利用者別キャッシュ領域情報２０３の一例を示す図であり、端末アドレス２０２に対応するキャッシュ領域情報７０１が記述されている。
【００３０】
図９は、図３におけるサーバアドレス３０１を利用した場合の、サーバ別キャッシュ領域情報３０２の一例を示す図であり、サーバアドレス３０１に対応するキャッシュ領域情報９０１が記述されている。
【００３１】
図１０は、図４におけるキャッシュ領域選択情報タグ４０１の一例を示す図であり、データ１０４に対応するキャッシュ領域情報１００１が記述されている。
【００３２】
図１１は、本発明の通信プロキシ装置１０３の物理構成を示した図である。
【００３３】
図１１に示すように、本発明の通信プロキシ装置１０３は、全ての処理を実行するプロセッサ１１０１と、実行するプログラムやデータを読み込んで一時的に保持したり、キャッシュ領域として使用されるメモリ装置１１０２と、外部からの指示や情報を入力するための入力装置１１０３と、プログラムの実体、指示、情報等を格納したり、キャッシュ領域として使用されるディスク装置１１０４と、通信プロキシ装置１０３の内部と外部との間でデータのやり取りを制御する通信制御装置１１０５と、通信プロキシ装置１０３の内部でデータのやり取りを行うための内部バス１１０６と、通信プロキシ装置１０３の内部と外部との間でデータのやり取りを行うための外部通信回線１１０７とを備えて構成されている。
【００３４】
図１の記憶装置１０５は、図１１では、メモリ装置１１０２またはディスク装置１１０４に相当し、図１のキャッシュ領域選択機構１０８は、図１１では、ディスク装置１１０４に置かれ、プロセッサ１１０１によりディスク装置１１０４からメモリ装置１１０２に読み込まれて実行されるプログラムに相当する。また、図２の利用者別キャッシュ領域情報２０３、および、図３のサーバ別キャッシュ領域情報は３０２は、共に、入力装置１１０３から入力され、ディスク装置１１０４に保持される。
【００３５】
図１３、図１４、図１５は、各々、第１の実施形態、第２の実施形態、第３の実施形態の処理手順を示したフローチャートであり、その詳細については後述する。
【００３６】
（第１の実施形態）
まず、第１の実施形態について、図２、図５、図６、図７、図８、図１３を用いて説明する。
【００３７】
第１の実施形態は、キャッシュ領域選択機構１０８が、図２に示したように、クライアント端末１０１を利用する利用者情報２０１（または、クライアント端末１０１の端末アドレス２０２）を利用して、キャッシュ領域１０７を選択する実施形態である。すなわち、キャッシュ領域選択機構１０８が、図７に示した利用者別キャッシュ領域情報２０３（または、図８に示した利用者別キャッシュ領域情報２０３）を用いて、キャッシュ領域１０７を選択する実施形態である。
【００３８】
第１の実施形態において、クライアント端末１０１が、通信プロキシ装置１０３を介してサーバ１０２にあるデータ１０４へのアクセスを要求する場合、図１３に示すように、通信プロキシ装置１０３は、クライアント端末１０１からのデータ取得要求を受信すると（Ｓ１３０１）、要求されたデータ１０４をサーバ１０２から取得し（Ｓ１３０２）、取得したデータ１０４をクライアント端末１０１へ送信する（Ｓ１３０３）。
【００３９】
そして、キャッシュ領域選択機構１０８によって、記憶装置１０５のうちの適切なキャッシュ領域１０７を選択し、選択したキャッシュ領域１０７に、クライアント端末１０１へ送信したデータ１０４を、キャッシュデータ１０６としてキャッシュする。
【００４０】
この際、キャッシュ領域選択機構１０８は、データ１０４へのアクセスを要求したクライアント端末１０１の利用者情報２０１を取得しておき、利用者別キャッシュ領域情報２０３と取得した利用者情報２０１とを照合し（Ｓ１３０４）、利用者別キャッシュ領域情報２０３中に当該利用者情報２０１が記述されていれば、それに対応するキャッシュ領域情報７０１が示すキャッシュ領域１０７に、データ１０４をキャッシュする（Ｓ１３０５）。また、利用者別キャッシュ領域情報２０３中に当該利用者情報２０１が記述されていなければ、そのようなデータをキャッシュすべき領域として予め定められた共通キャッシュ領域へキャッシュするか、または、データ１０４をキャッシュせずに破棄するようにする（Ｓ１３０６）。
【００４１】
なお、利用者情報２０１は、図５および図７の例では、ＨＴＴＰ（Hypertext Transfer Protocol）／１.１で規定されているヘッダの、Proxy-Authorizationフィールドの情報等を使用し、ユーザＩＤ５０１とパスワード５０２との対で表現されるようにしている。
【００４２】
また、キャッシュ領域１０７を選択する際に、図５および図７に示したような、利用者情報２０１を利用した利用者別キャッシュ領域情報２０３ではなく、図６および図８に示したような、端末アドレス２０２を利用した利用者別キャッシュ領域情報２０３を用いるようにする場合には、キャッシュ領域選択機構１０８は、データ１０４へのアクセスを要求したクライアント端末１０１の端末アドレス２０２を取得しておき、利用者別キャッシュ領域情報２０３と取得した端末アドレス２０２とを照合し（Ｓ１３０４）、利用者別キャッシュ領域情報２０３中に当該端末アドレス２０２が記述されていれば、それに対応するキャッシュ領域情報７０１が示すキャッシュ領域１０７に、データ１０４をキャッシュする（Ｓ１３０５）。また、利用者別キャッシュ領域情報２０３中に当該端末アドレス２０２が記述されていなければ、そのようなデータをキャッシュすべき領域として予め定められた共通キャッシュ領域へキャッシュするか、または、データ１０４をキャッシュせずに破棄するようにする（Ｓ１３０６）。
【００４３】
第１の実施形態によれば、クライアント端末１０１の利用者（データ利用者）ごとにキャッシュ領域１０７を設定することができ、設定したキャッシュ領域１０７に、特定の利用者からアクセスが要求されたデータをキャッシュすることにより、特定の利用者が利用するデータについてのキャッシュヒット率を向上させることが可能となる。
【００４４】
（第２の実施形態）
次に、第２の実施形態について、図３、図９、図１４を用いて説明する。
【００４５】
第２の実施形態は、キャッシュ領域選択機構１０８が、図３に示したように、サーバ１０２のサーバアドレス３０１を利用して、キャッシュ領域１０７を選択する実施形態である。すなわち、キャッシュ領域選択機構１０８が、図９に示したサーバ別キャッシュ領域情報３０２を用いて、キャッシュ領域１０７を選択する実施形態である。
【００４６】
第２の実施形態において、クライアント端末１０１が、通信プロキシ装置１０３を介してサーバ１０２にあるデータ１０４へのアクセスを要求する場合、図１４に示すように、通信プロキシ装置１０３は、クライアント端末１０１からのデータ取得要求を受信すると（Ｓ１３０１）、要求されたデータ１０４をサーバ１０２から取得し（Ｓ１３０２）、取得したデータ１０４をクライアント端末１０１へ送信する（Ｓ１３０３）。
【００４７】
そして、キャッシュ領域選択機構１０８によって、記憶装置１０５のうちの適切なキャッシュ領域１０７を選択し、選択したキャッシュ領域１０７に、クライアント端末１０１へ送信したデータ１０４を、キャッシュデータ１０６としてキャッシュする。
【００４８】
この際、キャッシュ領域選択機構１０８は、アクセスが要求されたデータ１０４のあるサーバ１０２のアドレス３０１を取得しておき、サーバ別キャッシュ領域情報３０２と取得したサーバアドレス３０１とを照合し（Ｓ１４０１）、サーバ別キャッシュ領域情報３０２中に当該サーバアドレス３０１が記述されていれば、それに対応するキャッシュ領域情報９０１が示すキャッシュ領域１０７に、データ１０４をキャッシュする（Ｓ１４０２）。また、サーバ別キャッシュ領域情報３０２中に当該サーバアドレス３０１が記述されていなければ、そのようなデータをキャッシュすべき領域として予め定められた共通キャッシュ領域へキャッシュするか、または、データ１０４をキャッシュせずに破棄するようにする（Ｓ１３０６）。
【００４９】
第２の実施形態によれば、サーバ１０２（データ提供者）ごとにキャッシュ領域１０７を設定することができ、設定したキャッシュ領域１０７に、特定のサーバ１０２からのデータをキャッシュすることにより、特定のサーバ１０２が提供するデータについてのキャッシュヒット率を向上させることが可能となる。
【００５０】
（第３の実施形態）
次に、第３の実施形態について、図４、図１０、図１５を用いて説明する。
【００５１】
第３の実施形態は、キャッシュ領域選択機構１０８が、図４および図１０に示したように、サーバ１０２からのデータ１０４に付加されているキャッシュ領域選択情報タグ４０１を利用して、キャッシュ領域１０７を選択する実施形態である。
【００５２】
第３の実施形態において、クライアント端末１０１が、通信プロキシ装置１０３を介してサーバ１０２にあるデータ１０４へのアクセスを要求する場合、図１５に示すように、通信プロキシ装置１０３は、クライアント端末１０１からのデータ取得要求を受信すると（Ｓ１３０１）、要求されたデータ１０４をサーバ１０２から取得し（Ｓ１３０２）、取得したデータ１０４にキャッシュ領域選択情報タグ４０１が付加されているか否かをチェックする（Ｓ１５０１）。
【００５３】
取得したデータ１０４にキャッシュ領域選択情報タグ４０１が付加されていれば（Ｓ１５０１）、取得したデータ１０４を、キャッシュ領域選択情報タグ４０１を取り除いてから、クライアント端末１０１へ送信する（Ｓ１５０２）。
【００５４】
そして、キャッシュ領域選択機構１０８によって、キャッシュ領域選択情報タグ４０１に記述されているキャッシュ領域情報１００１が示すキャッシュ領域１０７に、データ１０４をキャッシュする（Ｓ１５０３）。
【００５５】
また、取得したデータ１０４にキャッシュ領域選択情報タグ４０１が付加されていなければ（Ｓ１５０１）、取得したデータ１０４をクライアント端末１０１へ送信し（Ｓ１３０３）、そのようなデータをキャッシュすべき領域として予め定められた共通キャッシュ領域へキャッシュするか、または、データ１０４をキャッシュせずに破棄するようにする（Ｓ１３０６）。
【００５６】
第３の実施形態によれば、データごとにキャッシュ領域１０７を設定することができ、設定したキャッシュ領域１０７に、特定のデータをキャッシュすることにより、特定のデータについてのキャッシュヒット率を向上させることが可能となる。
【００５７】
なお、キャッシュ領域選択情報タグ４０１は、予め、サーバ１０２側で、アクセス要求が高いと予想されるデータに付加しておくようにする。
【００５８】
【発明の効果】
以上説明したように、本発明によれば、特定の利用者やデータについてのキャッシュヒット率を向上させることが可能となる。
【図面の簡単な説明】
【図１】本発明の通信プロキシ装置を利用した通信システムの基本構成図。
【図２】第１の実施形態の通信プロキシ装置の説明図。
【図３】第２の実施形態の通信プロキシ装置の説明図。
【図４】第３の実施形態の通信プロキシ装置の説明図。
【図５】第１の実施形態における利用者情報の例を示す説明図。
【図６】第１の実施形態における端末アドレスの例を示す説明図。
【図７】第１の実施形態における利用者別キャッシュ領域情報の例を示す説明図。
【図８】第１の実施形態における利用者別キャッシュ領域情報の例を示す説明図。
【図９】第２の実施形態におけるサーバ別キャッシュ領域情報の例を示す説明図。
【図１０】第３の実施形態におけるキャッシュ領域選択情報タグの例を示す説明図。
【図１１】本発明の通信プロキシ装置の物理構成図。
【図１２】従来の通信プロキシ装置の基本構成図。
【図１３】第１の実施形態の通信プロキシ装置の処理手順を示すフローチャート。
【図１４】第２の実施形態の通信プロキシ装置の処理手順を示すフローチャート。
【図１５】第３の実施形態の通信プロキシ装置の処理手順を示すフローチャート。
【図１６】従来の通信プロキシ装置の処理手順を示すフローチャート。
【符号の説明】
１０１：クライアント端末
１０２：サーバ
１０３：通信プロキシ装置
１０４：データ
１０５：記憶装置
１０６：キャッシュデータ
１０７：キャッシュ領域
１０８：キャッシュ領域選択機構
２０１：利用者情報
２０２：端末アドレス
２０３：利用者別キャッシュ領域情報
２０４：情報処理装置
３０１：サーバアドレス
３０２：サーバ別キャッシュ領域情報
４０１：キャッシュ領域選択情報タグ
５０１：ユーザＩＤ
５０２：パスワード
７０１：利用者情報／端末アドレスに対応するキャッシュ領域情報
９０１：サーバアドレスに対応するキャッシュ領域情報
１００１：キャッシュ領域選択情報タグに対応するキャッシュ領域情報
１１０１：プロセッサ
１１０２：メモリ装置
１１０３：入力装置
１１０４：ディスク装置
１１０５：通信制御装置
１１０６：内部バス
１１０７：外部通信回線
１２０１：従来の通信プロキシ装置
１２０２：データ処理装置
１２０３：通信制御装置
１２０４：キャッシュ管理機構
１２０５：入力装置
１２０６：内部通信回線
１２０７：外部通信回線
【図１】
0004688312.tif 000002
【図２】
0004688312.tif 000003
【図３】
0004688312.tif 000004
【図４】
0004688312.tif 000005
【図５】
0004688312.tif 000006
【図６】
0004688312.tif 000007
【図７】
0004688312.tif 000008
【図８】
0004688312.tif 000009
【図９】
0004688312.tif 000010
【図１０】
0004688312.tif 000011
【図１１】
0004688312.tif 000012
【図１２】
0004688312.tif 000013
【図１３】
0004688312.tif 000014
【図１４】
0004688312.tif 000015
【図１５】
0004688312.tif 000016
【図１６】
0004688312.tif 000017