(57)【要約】【課題】  通信に関わるオーバヘッドを削減するウェブキャッシュ装置を提供する。【解決手段】  キャッシュ転送要求に対する応答として、コンテンツのキャッシュとコンテンツに関連する埋め込みコンテンツのキャッシュの集合とを受信してローカルキャッシュに格納し、テキスト解析し、コンテンツに埋め込まれたコンテンツのＵＲＬを抽出し、コンテンツのＵＲＬと抽出した埋め込みコンテンツのＵＲＬの集合とをローカルデータベースに格納する手段と、キャッシュ転送要求に含まれるコンテンツのＵＲＬをキーとし、ローカルデータベースを参照してコンテンツに関連する埋め込みコンテンツのＵＲＬの集合を取得し、このＵＲＬの集合に基づき埋め込みコンテンツのキャッシュの集合を抽出し、コンテンツのキャッシュに加えて抽出されたコンテンツに関連する埋め込みコンテンツのキャッシュの集合を他の装置に対して送信する手段とを備える。【選択図】    図１
2005063192.tif 000002
【特許請求の範囲】
【請求項１】
ウェブコンテンツのキャッシュを記憶するローカルキャッシュと、
ウェブコンテンツのＵＲＬとこのウェブコンテンツに関連する埋め込みコンテンツのＵＲＬの集合を構成要素とするローカルデータベースと、
他のウェブキャッシュ装置に対して、ＵＲＬを指定して、ウェブコンテンツのキャッシュ転送要求を送信して、この要求に対する応答として、当該ウェブコンテンツのキャッシュと当該ウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合とを一括して受信して、前記ローカルキャッシュに格納するとともに、このウェブコンテンツをテキスト解析し、該ウェブコンテンツに埋め込まれた埋め込みコンテンツのＵＲＬを抽出し、ウェブコンテンツのＵＲＬと抽出した埋め込みコンテンツのＵＲＬの集合を関連付けて前記ローカルデータベースに格納する手段と、
他のウェブキャッシュ装置よりウェブコンテンツのキャッシュ転送要求を受信して、この要求に含まれるウェブコンテンツのＵＲＬをキーとして、前記ローカルデータベースを参照してウェブコンテンツに関連する埋め込みコンテンツのＵＲＬの集合を取得し、このＵＲＬの集合に基づき前記ローカルキャッシュより埋め込みコンテンツのキャッシュの集合を抽出し、ウェブコンテンツのキャッシュに加えて抽出されたウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合を一括して当該他のウェブキャッシュ装置に対して送信する手段と
を備えたことを特徴とするウェブキャッシュ装置。
【請求項２】
ウェブコンテンツのキャッシュを記憶するローカルキャッシュと、ウェブコンテンツのＵＲＬとこのウェブコンテンツに関連する埋め込みコンテンツのＵＲＬの集合を構成要素とするローカルデータベースとを備えたウェブキャッシュ装置におけるウェブキャッシュ方法であって、
他のウェブキャッシュ装置に対して、ＵＲＬを指定して、ウェブコンテンツのキャッシュ転送要求を送信して、この要求に対する応答として、当該ウェブコンテンツのキャッシュと当該ウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合とを一括して受信して、前記ローカルキャッシュに格納するとともに、このウェブコンテンツをテキスト解析し、該ウェブコンテンツに埋め込まれた埋め込みコンテンツのＵＲＬを抽出し、ウェブコンテンツのＵＲＬと抽出した埋め込みコンテンツのＵＲＬの集合を関連付けて前記ローカルデータベースに格納する過程と、
他のウェブキャッシュ装置よりウェブコンテンツのキャッシュ転送要求を受信して、この要求に含まれるウェブコンテンツのＵＲＬをキーとして、前記ローカルデータベースを参照してウェブコンテンツに関連する埋め込みコンテンツのＵＲＬの集合を取得し、このＵＲＬの集合に基づき前記ローカルキャッシュより埋め込みコンテンツのキャッシュの集合を抽出し、ウェブコンテンツのキャッシュに加えて抽出されたウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合を一括して当該他のウェブキャッシュ装置に対して送信する過程と
を有することを特徴とするウェブキャッシュ方法。
【請求項３】
ウェブコンテンツのキャッシュを記憶するローカルキャッシュと、ウェブコンテンツのＵＲＬとこのウェブコンテンツに関連する埋め込みコンテンツのＵＲＬの集合を構成要素とするローカルデータベースとを備えたウェブキャッシュ装置において動作するウェブキャッシュプログラムであって、
他のウェブキャッシュ装置に対して、ＵＲＬを指定して、ウェブコンテンツのキャッシュ転送要求を送信して、この要求に対する応答として、当該ウェブコンテンツのキャッシュと当該ウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合とを一括して受信して、前記ローカルキャッシュに格納するとともに、このウェブコンテンツをテキスト解析し、該ウェブコンテンツに埋め込まれた埋め込みコンテンツのＵＲＬを抽出し、ウェブコンテンツのＵＲＬと抽出した埋め込みコンテンツのＵＲＬの集合を関連付けて前記ローカルデータベースに格納する処理と、
他のウェブキャッシュ装置よりウェブコンテンツのキャッシュ転送要求を受信して、この要求に含まれるウェブコンテンツのＵＲＬをキーとして、前記ローカルデータベースを参照してウェブコンテンツに関連する埋め込みコンテンツのＵＲＬの集合を取得し、このＵＲＬの集合に基づき前記ローカルキャッシュより埋め込みコンテンツのキャッシュの集合を抽出し、ウェブコンテンツのキャッシュに加えて抽出されたウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合を一括して当該他のウェブキャッシュ装置に対して送信する処理と
をコンピュータに行わせることを特徴とするウェブキャッシュプログラム。
【請求項４】
ウェブコンテンツのキャッシュを記憶するローカルキャッシュと、ウェブコンテンツのＵＲＬとこのウェブコンテンツに関連する埋め込みコンテンツのＵＲＬの集合を構成要素とするローカルデータベースとを備えたウェブキャッシュ装置において動作するウェブキャッシュプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記ウェブキャッシュプログラムは、
他のウェブキャッシュ装置に対して、ＵＲＬを指定して、ウェブコンテンツのキャッシュ転送要求を送信して、この要求に対する応答として、当該ウェブコンテンツのキャッシュと当該ウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合とを一括して受信して、前記ローカルキャッシュに格納するとともに、このウェブコンテンツをテキスト解析し、該ウェブコンテンツに埋め込まれた埋め込みコンテンツのＵＲＬを抽出し、ウェブコンテンツのＵＲＬと抽出した埋め込みコンテンツのＵＲＬの集合を関連付けて前記ローカルデータベースに格納する処理と、
他のウェブキャッシュ装置よりウェブコンテンツのキャッシュ転送要求を受信して、この要求に含まれるウェブコンテンツのＵＲＬをキーとして、前記ローカルデータベースを参照してウェブコンテンツに関連する埋め込みコンテンツのＵＲＬの集合を取得し、このＵＲＬの集合に基づき前記ローカルキャッシュより埋め込みコンテンツのキャッシュの集合を抽出し、ウェブコンテンツのキャッシュに加えて抽出されたウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合を一括して当該他のウェブキャッシュ装置に対して送信する処理と
をコンピュータに行わせることを特徴とするウェブキャッシュプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多数のユーザ端末にプロキシキャッシュを配置し、分散ウェブキャッシュとして動作させるウェブキャッシュ装置、ウェブキャッシュ方法及びウェブキャッシュプログラムに関する。
【背景技術】
【０００２】
ウェブコンテンツの閲覧時に発生するレイテンシ（Latency）と対外消費バンド幅の削減を目的としてウェブキャッシュ技術が広く用いられている。従来から用いられているウェブキャッシュ技術には大きく分けてブラウザキャッシュとプロキシキャッシュの二つの技術がある。ブラウザキャッシュは、閲覧したウェブコンテンツをローカルディスクに保持しておき、同じウェブコンテンツを再度閲覧する時に、ウェブサーバからウェブコンテンツを取得する代わりに、ローカルディスクからウェブコンテンツを取得するものであり、市販のウェブ閲覧ソフトなどに採用され広く用いられている。また、プロキシキャッシュは、通常ＬＡＮとインターネットの境界に配置される専用サーバ上で運営され、ＬＡＮ内の端末からのウェブコンテンツ取得要求を受け付け、サーバ上のローカルディスクにウェブコンテンツのキャッシュが存在すればそれを応答し、存在しなければウェブサーバからウェブコンテンツを取得し、取得要求元の端末に応答するものである。ウェブサーバから取得したウェブコンテンツはサーバ上のローカルディスクに保持され、同じウェブコンテンツに対する取得要求を受け付けた場合に使用される。
【０００３】
一方、多数のユーザ端末にプロキシキャッシュを配置し、分散ウェブキャッシュとして動作させる分散ウェブキャッシュ方式として、非特許文献１に記載の方式が知られている。この方式では、ブラウザからのウェブコンテンツ取得要求を受信したプロキシキャッシュは、従来のプロキシキャッシュと同様にローカルディスクからの応答を試みる。ローカルディスク上にキャッシュが存在しない場合、ウェブコンテンツのＵＲＬをキーとしてネットワーク上のデータベースからキャッシュの存在する他端末を検索する。検索された他端末に対してキャッシュ転送要求を送信する。キャッシュ転送要求を受信したプロキシキャッシュはローカルディスクからキャッシュを応答する。ネットワーク上のデータベースからルックアップに失敗した場合、あるいは、キャッシュ転送要求先の他端末からキャッシュが応答されなかった場合、ウェブコンテンツのＵＲＬに従いウェブサーバからウェブコンテンツのオリジナルを取得する。また、キャッシュ転送要求先の他端末からウェブコンテンツのキャッシュを受信した場合、あるいは、ウェブサーバからウェブコンテンツのオリジナルを取得した場合、ブラウザにウェブコンテンツを応答し、ウェブコンテンツをローカルディスクに格納し、ネットワーク上のデータベースにウェブコンテンツのＵＲＬと自端末のアドレスを関連付けて登録する。
【０００４】
非特許文献１に記載の方式においては、ネットワーク上のデータベースとして、非特許文献２に記載のものを採用することで、サーバによらずユーザ端末のみで構成されるスケーラブルかつ効率のよい検索を実現している。
非特許文献１に記載の方式では、以上により、ユーザ端末のみから構成される分散ウェブキャッシュにより、専用サーバと同等の性能のウェブキャッシュが実現されるとしており、専用サーバの設置およびメンテナンスにかかるコストの削減、専用サーバの存在によるsingle point of failureの解消が期待される。
【非特許文献１】Sitaram lyer, Antony Rowstrom, and Peter Druschel,, Squirrel: A decentralized peer-to-peer web cache, ACM PODC 2002
【非特許文献２】Druschel, P., and Rowstron, A Pastry Scalable,distributed object location and routing for large-scale peer-to-peer systems, 18th IFIP/ACM International Conference on Distrituted Systems Platforms (2001)
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、非特許文献１に記載の方式では、ユーザ端末上のプロキシキャッシュは、ウェブコンテンツ取得要求を受信し、ローカルディスクにキャッシュが存在しない場合、その都度、ネットワーク上のデータベースに対する検索と、キャッシュ転送が発生するという問題がある。
【０００６】
本発明は、このような事情に鑑みてなされたもので、ネットワーク上のデータベースの検索回数を削減し、同時に、複数回で行われるキャッシュ転送を一括して行うことで通信に関わるオーバヘッドを削減することができるウェブキャッシュ装置、ウェブキャッシュ方法及びウェブキャッシュプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
請求項１に記載の発明は、ウェブコンテンツのキャッシュを記憶するローカルキャッシュと、ウェブコンテンツのＵＲＬとこのウェブコンテンツに関連する埋め込みコンテンツのＵＲＬの集合を構成要素とするローカルデータベースと、他のウェブキャッシュ装置に対して、ＵＲＬを指定して、ウェブコンテンツのキャッシュ転送要求を送信して、この要求に対する応答として、当該ウェブコンテンツのキャッシュと当該ウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合とを一括して受信して、前記ローカルキャッシュに格納するとともに、このウェブコンテンツをテキスト解析し、該ウェブコンテンツに埋め込まれた埋め込みコンテンツのＵＲＬを抽出し、ウェブコンテンツのＵＲＬと抽出した埋め込みコンテンツのＵＲＬの集合を関連付けて前記ローカルデータベースに格納する手段と、他のウェブキャッシュ装置よりウェブコンテンツのキャッシュ転送要求を受信して、この要求に含まれるウェブコンテンツのＵＲＬをキーとして、前記ローカルデータベースを参照してウェブコンテンツに関連する埋め込みコンテンツのＵＲＬの集合を取得し、このＵＲＬの集合に基づき前記ローカルキャッシュより埋め込みコンテンツのキャッシュの集合を抽出し、ウェブコンテンツのキャッシュに加えて抽出されたウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合を一括して当該他のウェブキャッシュ装置に対して送信する手段とを備えたことを特徴とする。
【０００８】
請求項２に記載の発明は、ウェブコンテンツのキャッシュを記憶するローカルキャッシュと、ウェブコンテンツのＵＲＬとこのウェブコンテンツに関連する埋め込みコンテンツのＵＲＬの集合を構成要素とするローカルデータベースとを備えたウェブキャッシュ装置におけるウェブキャッシュ方法であって、他のウェブキャッシュ装置に対して、ＵＲＬを指定して、ウェブコンテンツのキャッシュ転送要求を送信して、この要求に対する応答として、当該ウェブコンテンツのキャッシュと当該ウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合とを一括して受信して、前記ローカルキャッシュに格納するとともに、このウェブコンテンツをテキスト解析し、該ウェブコンテンツに埋め込まれた埋め込みコンテンツのＵＲＬを抽出し、ウェブコンテンツのＵＲＬと抽出した埋め込みコンテンツのＵＲＬの集合を関連付けて前記ローカルデータベースに格納する過程と、他のウェブキャッシュ装置よりウェブコンテンツのキャッシュ転送要求を受信して、この要求に含まれるウェブコンテンツのＵＲＬをキーとして、前記ローカルデータベースを参照してウェブコンテンツに関連する埋め込みコンテンツのＵＲＬの集合を取得し、このＵＲＬの集合に基づき前記ローカルキャッシュより埋め込みコンテンツのキャッシュの集合を抽出し、ウェブコンテンツのキャッシュに加えて抽出されたウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合を一括して当該他のウェブキャッシュ装置に対して送信する過程とを有することを特徴とする。
【０００９】
請求項３に記載の発明は、ウェブコンテンツのキャッシュを記憶するローカルキャッシュと、ウェブコンテンツのＵＲＬとこのウェブコンテンツに関連する埋め込みコンテンツのＵＲＬの集合を構成要素とするローカルデータベースとを備えたウェブキャッシュ装置において動作するウェブキャッシュプログラムであって、他のウェブキャッシュ装置に対して、ＵＲＬを指定して、ウェブコンテンツのキャッシュ転送要求を送信して、この要求に対する応答として、当該ウェブコンテンツのキャッシュと当該ウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合とを一括して受信して、前記ローカルキャッシュに格納するとともに、このウェブコンテンツをテキスト解析し、該ウェブコンテンツに埋め込まれた埋め込みコンテンツのＵＲＬを抽出し、ウェブコンテンツのＵＲＬと抽出した埋め込みコンテンツのＵＲＬの集合を関連付けて前記ローカルデータベースに格納する処理と、他のウェブキャッシュ装置よりウェブコンテンツのキャッシュ転送要求を受信して、この要求に含まれるウェブコンテンツのＵＲＬをキーとして、前記ローカルデータベースを参照してウェブコンテンツに関連する埋め込みコンテンツのＵＲＬの集合を取得し、このＵＲＬの集合に基づき前記ローカルキャッシュより埋め込みコンテンツのキャッシュの集合を抽出し、ウェブコンテンツのキャッシュに加えて抽出されたウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合を一括して当該他のウェブキャッシュ装置に対して送信する処理とをコンピュータに行わせることを特徴とする。
【００１０】
請求項４に記載の発明は、ウェブコンテンツのキャッシュを記憶するローカルキャッシュと、ウェブコンテンツのＵＲＬとこのウェブコンテンツに関連する埋め込みコンテンツのＵＲＬの集合を構成要素とするローカルデータベースとを備えたウェブキャッシュ装置において動作するウェブキャッシュプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記ウェブキャッシュプログラムは、他のウェブキャッシュ装置に対して、ＵＲＬを指定して、ウェブコンテンツのキャッシュ転送要求を送信して、この要求に対する応答として、当該ウェブコンテンツのキャッシュと当該ウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合とを一括して受信して、前記ローカルキャッシュに格納するとともに、このウェブコンテンツをテキスト解析し、該ウェブコンテンツに埋め込まれた埋め込みコンテンツのＵＲＬを抽出し、ウェブコンテンツのＵＲＬと抽出した埋め込みコンテンツのＵＲＬの集合を関連付けて前記ローカルデータベースに格納する処理と、他のウェブキャッシュ装置よりウェブコンテンツのキャッシュ転送要求を受信して、この要求に含まれるウェブコンテンツのＵＲＬをキーとして、前記ローカルデータベースを参照してウェブコンテンツに関連する埋め込みコンテンツのＵＲＬの集合を取得し、このＵＲＬの集合に基づき前記ローカルキャッシュより埋め込みコンテンツのキャッシュの集合を抽出し、ウェブコンテンツのキャッシュに加えて抽出されたウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合を一括して当該他のウェブキャッシュ装置に対して送信する処理とをコンピュータに行わせることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ユーザ端末上に分散ウェブキャッシュ装置を配置することで、サーバによらずユーザ端末のみによるウェブページのキャッシュを実現することができる。通常ブラウザがＵＲＬを閲覧する場合、ＵＲＬで現されるウェブコンテンツを取得するだけでなく、画像に代表されるウェブコンテンツに埋め込まれた埋め込みコンテンツ群を引き続き取得してＧＵＩに表示を行っている。すなわち、ブラヴザは閲覧対象のウェブコンテンツに続けてウェブコンテンツに埋め込まれた埋め込みコンテンツについても取得するため、ブラウザからのウェブコンテンツ取得要求を受け付ける分散ウェブキャッシュ装置には、ブラウザからの一連のウェブコンテンツ取得要求が終了した後では、契機となったウェブコンテンツと、そのウェブコンテンツに埋め込まれた埋め込みコンテンツのキャッシュがローカルキャッシュに必ず存在する。分散ウェブキャッシュ装置では、キャッシュ転送要求処理時に、ウェブコンテンツとそのウェブコンテンツに埋め込まれた埋め込みコンテンツが同時にローカルキャッシュに存在することを利用し、それらを一括して転送する。異なる端末上でブラウザが同一ＵＲＬを閲覧する場合も、同様に、ＵＲＬで現されるウェブコンテンツに続けてウェブコンテンツに埋め込まれた埋め込みコンテンツについても取得要求が出される。しかし、キャッシュ転送要求処理時に、それらは一括して転送されているため、ウェブコンテンツに埋め込まれた埋め込みコンテンツは既にローカルキャッシュに存在する。そのため、ネットワーク上のデータベース検索を省略することができる。また、キャッシュの転送がまとめられたことにより、転送データ量そのものに変わりはないが、転送回数が削減されるため、通信にかかわるオーバヘッドを削減することができる。したがって、企業内ネットワークや、キャンパスネットワークなどのある程度の規模を持ったネットワークにおいて、本来なら専用ウェブキャッシュサーバ設置にかかるコストを発生させずに、効率のよいウェブキャッシュ機能を提供することができるという効果が得られる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の一実施形態による分散ウェブキャッシュ装置を図面を参照して説明する。図１は同実施形態における分散ウェブキャッシュ装置の構成を示すブロック図である。この図において、符号１は、分散ウェブキャッシェ装置である。符号１１は、ブラウザからのＨＴＴＰ接続によるウェブコンテンツ取得要求を受け付け、ウェブコンテンツのキャッシュを応答する端末側通信処理部である。符号１２は、ＵＲＬをキーとしてローカルキャッシュ１２ａからウェブコンテンツを取り出す、または、ＵＲＬをキーとしてウェブコンテンツをローカルキャッシュ１２ａに格納するローカルキャッシュ処理部である。符号１３は、ＵＲＬをキーとしてネットワーク上のデータベースを検索するネットワークデータベース処理部である。符号１４は、ネットワーク上のデータベース検索の結果得られたキャッシュ端末に対して、ＵＲＬについてのキャッシュ転送要求を送信し、キャッシュ転送要求先からの応答を受信し、応答内容を解析してキャッシェ要求対象のウェブコンテンツとウェブコンテンツに埋め込まれた埋め込みコンテンツ群に分解するとともに、キャッシュ転送要求を受け付け、ローカルキャッシュ１２ａとローカルデータベース１６ａの検索結果によりキャッシュ転送要求送信元に対してキャッシュ転送要求対象のウェブコンテンツとウェブコンテンツに埋め込まれた埋め込みコンテンツ群、または、キャッシェ転送要求対象のウェブコンテンツのみ、または、キャッシェなしを応答するキャッシュ転送処理部である。符号１５は、ＵＲＬをキーとして、ウェブサーバからオリジナルコンテンツを取得するオリジナルコンテンツ処理部である。符号１６は、ウェブコンテンツのＵＲＬをキーとして、ウェブコンテンツに埋め込まれた埋め込みコンテンツのＵＲＬの集合を検索または格納するローカルデータベース処理部である。
【００１３】
図２は、図１に示す分散ウェブキャッシュ装置１を、ローカルエリアネットワークＮ内の各ユーザ端末（Ａ〜Ｄ）上に配置した場合を示したものである。ブラウザ２は自端末上の分散ウェブキャッシュ装置１をプロキシサーバとして指定することで分散ウェブキャッシュ装置１を利用する。ローカルエリアネットワークＮ上のデータベースとしては、非特許文献１に記載のSquirrelと同様にPastry（非特許文献２）やPastryと同等の機能を実現した分散ハッシュテーブル技術を利用する。
【００１４】
次に、図３、図４を参照して、図１に示す分散ウェブキャッシュ装置１の動作を説明する。分散ウェブキャッシュ装置１は起動後、図３に示すウェブコンテンツ取得要求処理と図４に示すキャッシュ転送要求処理を繰り返し並行して行う。初めに、図３を参照して、ウェブコンテンツ取得要求処理の動作を説明する。
まず、ブラウザ２からのＨＴＴＰ接続を待ち受け、ブラウザ２からのＨＴＴＰ接続を受け付けた場合、ウェブコンテンツ取得要求を解析し、取得対象であるウェブコンテンツのＵＲＬを得る（ステップＳ１）。そして、取得対象のウェブコンテンツのＵＲＬが得られたら、そのＵＲＬをキーとしてローカルキャッシュ１２ａ内を検索する（ステップＳ２）。続いて、取得対象のウェブコンテンツがローカルキャッシュ１２ａ内に存在するか否かを判定し（ステップＳ３）、ＵＲＬであらわされるウェブコンテンツのキャッシュがローカルキャッシュ１２ａ内に存在した場合、ローカルキャッシュ１２ａからウェブコンテンツのキャッシュを取り出し、ウェブコンテンツ取得要求元のブラウザ２に応答する（ステップＳ４）。
【００１５】
一方、ＵＲＬであらわされるウェブコンテンツのキャッシュがローカルキャッシュ１２ａ内に存在しなかった場合、ＵＲＬをキーとしてネットワーク上のデータベースを検索して（ステップＳ５）、キャッシュ端末があったか否かを判定する（ステップＳ６）。ネットワーク上のデータベースを検索した結果、ウェブコンテンツのキャッシュが存在する端末が得られた場合、その端末に対して、ＵＲＬについてのキャッシュ転送要求を送信する（ステップＳ７）。そして、キャッシュ応答があったか否かを判定し（ステップＳ８）、キャッシュ転送要求先の端末よりキャッシュ応答があった場合、キャッシュ応答を解析し分解する（ステップＳ９）。具体的には、キャッシュ応答は、要求対象のＵＲＬであらわされるウェブコンテンツのキャッシュとウェブコンテンツに埋め込まれている埋め込みコンテンツ群について、それぞれを識別するためのＵＲＬとコンテンツ自体のデータを組として、適当な区切り子を用いて連接されているため、区切り子を認識する毎に、それぞれをＵＲＬで識別される別個のウェブコンテンツとして分解する。
【００１６】
次に、ネットワーク上のデータベースを検索した結果、キャッシュ端末が存在しない場合とキャッシュ応答がなかった場合に、ＵＲＬから判断されるウェブサーバからウェブコンテンツのオリジナルを取得する（ステップＳ１０）。そして、キャッシュ転送要求先から得られたウェブコンテンツのキャッシュ、あるいは、ウェブサーバから得られたウェブコンテンツのオリジナルは、ＵＲＬをキーとしてローカルキャッシュ１２ａに格納する（ステップＳ１１）。更に、ネットワーク上のデータベースに、ＵＲＬをキーとして、自端末のアドレスを関連付けて格納する（ステップＳ１２）。
【００１７】
次に、ローカルキャッシュに格納するウェブコンテンツをテキスト処理により解析し、埋め込みコンテンツのＵＲＬの集合を抽出する。埋め込みコンテンツの具体例として、ウェブページに埋め込まれる画像は、ＨＴＭＬの＜ＩＭＧ＞タグとして表現されている。埋め込みコンテンツを抽出するためのテキスト処理は、ブラウザがＨＴＭＬを解釈するために行っているテキスト処理と同様である（ステップＳ１３）。そして、ローカルキャッシュに格納するコンテンツのＵＲＬをキーとして、抽出された埋め込みコンテンツのＵＲＬの集合をローカルデータベース１６ａに格納する（ステップＳ１４）。
その後、ローカルキャッシュ１２ａにキャッシュが存在した場合と同様に、ブラウザ２にウェブコンテンツのキャッシュを応答する（ステップＳ４）。
【００１８】
次に、図４を参照して、キャッシュ転送要求処理の動作を説明する。
まず、他端末上に配置された分散ウェブキャッシュ装置１からのキャッシュ転送要求を待ちうけ、キャッシュ転送要求を受信した場合、キャッシュ転送要求メッセージを解析し、キャッシュ転送要求対象であるウェブコンテンツのＵＲＬを得る（ステップＳ２１）。
そして、キャッシュ転送要求対象のＵＲＬが得られたら、ＵＲＬをキーとしてローカルキャッシュ１２ａ内を検索して（ステップＳ２２）、キャッシュがあったか否かを判定する（ステップＳ２３）。ＵＲＬであらわされるウェブコンテンツがローカルキャッシュ１２ａ内に存在しない場合、キャッシュが存在しないことを示すメッセージで、キャッシュ転送要求送信元に応答する（ステップＳ２４）。
【００１９】
一方、ＵＲＬであらわされるウェブコンテンツがローカルキャッシュ１２ａに存在した場合、ローカルキャッシュ１２ａよりウェブコンテンツを取り出し、ＵＲＬをキーとしてローカルデータベース１６ａを検索する（ステップＳ２５）。そして、ローカルデータベース１６ａの検索により関連埋め込みコンテンツ群があったか否かを判定し（ステップＳ２６）、ＵＲＬであらわされるウェブコンテンツに埋め込まれた埋め込みコンテンツのＵＲＬの集合が得られた場合、ＵＲＬの集合の要素であるＵＲＬ毎にそれぞれであらわされるウェブコンテンツをローカルキャッシュ１２ａより取り出す。キャッシュ転送要求対象であるウェブコンテンツとローカルキャッシュ１２ａより取り出された埋め込みコンテンツ群について、それぞれを識別するためのＵＲＬとコンテンツ自体であるデータを組として、適当な区切り子を用いて結合し、キャッシュ転送要求元である他端末上に配置された分散ウェブキャッシュ装置１に応答する（ステップＳ２７）。一方、ローカルデータベースの検索に失敗した場合、キャッシュ転送要求対象であるウェブコンテンツのみを、キャッシュ転送要求元である分散ウェブキャッシュ装置１に応答する（ステップＳ２８）。
【００２０】
次に、具体例を挙げて動作を説明する。図５に、ＨＴＭＬ（http://some.place/index.html）の一例を示す。http://some.place/index.htmlには埋め込みコンテンツとして画像が３つ埋め込まれており、それぞれ、http://some.place/e mbedded.gif、http://other.place/embedded.gif、http://another.place/embeddede.gifである。
【００２１】
図６は、ユーザ端末Ａ上のブラウザ２がhttp://some.place/index.htmlを閲覧する場合のシーケンスを示す。http://some.place/index.htmlは初めて閲覧されたウェブコンテンツであるため、ユーザ端末Ａ上の分散ウェブキャッシュ装置１のローカルキャッシュ１２ａにはhttp://some.place/index.htmlのキャッシュは存在しない。ネットワーク上のデータベースにも格納されていないので、図示しないウェブサーバsome.placeからオリジナルコンテンツhttp://some. place/index.htmlを取得する（ステップＳ３１〜Ｓ３６）。http://some.place/index.htmlをローカルキャッシュ１２ａに格納し、ネットワーク上のデータベースに対して、http://some.place /index.htmlをキーとしてユーザ端末Ａのアドレスを格納する（ステップＳ３７〜Ｓ３８）。
【００２２】
次に、ブラウザ２と同様のテキスト解析によりhttp://some.place/index.htmlに埋め込まれた埋め込みコンテンツのＵＲＬの集合＜http://some.place/embedded.gif、http://other.place/embedded.gif、http://another.place/embedded.gifを得て、ローカルデータベースに、http://some.place/index.htmlをキーとして、ＵＲＬの集合＜http://some.place/embedded.gif、http://other.place/embedded.gif、http://another.place/embedded.gif＞を格納する（ステップＳ３９）。
【００２３】
最後にブラウザに対してhttp://some.place/index.htmlを応答する（ステップＳ４０）。ブラウザでは引き続きhttp://some.place/index.htmlに埋め込まれた埋め込みコンテンツhttp://some.place/embedded.gif、http://other.place/embedded.gif、http://another.place/embedded.gifの取得要求をプロキシサーバである分散ウェブキャッシェ装置１に送信するが、これらについてもローカルキャッシュ１２ａに存在せず、かつ、ネットワーク上のデータベースの検索にも失敗するため、それぞれのＵＲＬで表されるウェブサーバからオリジナルコンテンツを取得する。取得したコンテンツはローカルキャッシュ１２ａに格納し、ネットワーク上のデータベースに対してそれぞれのＵＲＬとユーザ端末Ａのアドレスを関連付けて格納し、ウェブコンテンツはブラウザ２に応答される（ステップＳ４１〜Ｓ４９）。
【００２４】
図７は、ユーザ端末Ａ上のブラウザがhttp://some.place/index.htmlを閲覧してしばらくした後で、ユーザ端末Ｂ上のブラウザで同じくhttp://some.place/index.htmlを閲覧する場合のシーケンスを示す。ユーザ端末Ｂ上ではhttp://some.place/index.htmlは初めて閲覧されたため、分散ウェブキャッシュのローカルキャッシュ１２ａにはキャッシュは存在しない。ネットワーク上のデータベースに対してhttp://some・place/index.htmlをキーとして検索を行った結果、ユーザ端末Ａのアドレスが得られる。ユーザ端末Ａに対して、http://some.place/index.htmlのキャッシュ転送要求を送信する（ステップＳ５１〜Ｓ５５）。
【００２５】
http://some.place/index.htmlのキャッシュ転送要求を受信したユーザ端末Ａ上の分散ウェブキャッシュ装置１は、ローカルキャッシュ１２ａを検索し、http://some.place/index.htmlのキャッシュが存在するため、それを取り出す。ローカルデータベースに対してhttp://some.place/index.htmlをキーとして検索を行い、http://some.place/index.htmｌに埋め込まれた埋め込みコンテンツのＵＲＬの集合＜http://some.place/embedded.gif、http://other.place/embedded.gif、http://another.place/embedded.gif＞を得る。得られたＵＲＬのそれぞれについても同様にローカルキャッシュ１２ａからキャッシュを取り出す。取り出したキャッシュについて、図８に示したＸＭＬ形式を利用して一つのデータに結合し、それをキャッシュ転送要求元であるユーザ端末Ｂに一括して応答する（ステップＳ５６〜Ｓ５７）。
【００２６】
ユーザ端末Ｂでは、応答を解析し、それぞれのＵＲＬごとにウェブコンテンツをローカルキャッシュ１２ａに格納し、ネットワーク上のデータベースに対して、それぞれのＵＲＬをキーとしてユーザ端末Ｂのアドレスを関連付けて格納する。http://some.place/index.htmlはユーザ端末Ａで行ったのと同様にテキスト解析されhttp://some.place/index.htmlに埋め込まれた埋め込みコンテンツの集合＜http://some.place/embedded.gif、http://other.place/embedded.gif、http://another.place/embedded.gif＞が得られ、ローカルデータベース１６ａにhttp://some.place/index.htmlをキーとして、ＵＲＬの集合＜http://some.place/embedded.gif、http://other.place/embedded.gif、http://another.place/embedded.gif＞が格納される（ステップＳ６０）。
【００２７】
最後にブラウザにはhttp://some.place/index.htmlが応答される。ブラウザからは引き続きhttp://some.place/index.htmlに埋め込まれた埋め込みコンテンツhttp://some.place/embedded.gif、http://other.place/embedded.gif、http://another.place/embedded.gifの取得要求が出されるが、既に分散ウェブキャッシュ装置のローカルキャッシュに存在するため、それらは即座に応答される（ステップＳ６１〜Ｓ７０）。
【００２８】
このように、ユーザ端末毎に分散ウェブキャッシュ装置１を配置することで、ユーザ端末の連携によるウェブページのキャッシュ機能を実現することができる。また、キャッシュ対象のウェブコンテンツを解析して、ウェブコンテンツに埋め込まれた埋め込みコンテンツのＵＲＬの集合を抽出し、ウェブコンテンツのＵＲＬとウェブコンテンツに埋め込まれた埋め込みコンテンツのＵＲＬの集合を関連付けてローカルデータベースに格納するとともに、キャッシュ転送要求受信時にローカルデータベースを検索することでウェブコンテンツに埋め込まれた埋め込みコンテンツのＵＲＬの集合を取得し、キャッシュ転送要求に応答するときにキャッシュ転送要求対象であるウェブコンテンツとウェブコンテンツに埋め込まれた埋め込みコンテンツ群を―つのデータに結合し、キャッシュ転送要求先からの応答を解析してキャッシュ転送要求対象のウェブコンテンツとウェブコンテンツに埋め込まれた埋め込みコンテンツに分解するようにしたため、埋め込みコンテンツ一括転送も可能となる。
【００２９】
なお、図１における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより分散ウェブキャッシュ処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００３０】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【図面の簡単な説明】
【００３１】
【図１】本発明の一実施形態の構成を示すブロック図である。
【図２】ローカルエリアネットワーク上の各ユーザ端末に分散ウェブキャッシュ装置１を配置した場合を示す説明図である。
【図３】分散ウェブキャッシュ装置１のウェブコンテンツ取得要求処理の動作を示すフローチャートである。
【図４】分散ウェブキャッシュ装置１のキャッシュ転送要求処理の動作を示すフローチャートである。
【図５】ＨＴＭＬの一例を示す説明図である。
【図６】ユーザ端末Ａ上のブラウザがhttp://some.place/index.htmlを閲覧する場合のシーケンス図である。
【図７】ユーザ端末Ｂ上のブラウザがhttp://some.place/index.htmlを閲覧する場合のシーケンス図である。
【図８】ウェブコンテンツとウェブコンテンツに埋め込まれた埋め込みコンテンツ群を一括して転送する場合に用いるＸＭＬを利用したデータ構造を示す説明図である。
【符号の説明】
【００３２】
１・・・分散ウェブキャッシュ装置
１１・・・端末側通信処理部
１２・・・ローカルキャッシュ処理部
１２ａ・・・ローカルキャッシュ
１３・・・ネットワークデータベース処理部
１４・・・キャッシュ転送処理部
１５・・・オリジナルコンテンツ処理部
１６・・・ローカルデータベース処理部
１６ａ・・・ローカルデータベース
２・・・ブラウザ
Ａ〜Ｄ・・・ユーザ端末
【図１】
2005063192.tif 000003
【図２】
2005063192.tif 000004
【図３】
2005063192.tif 000005
【図４】
2005063192.tif 000006
【図５】
2005063192.tif 000007
【図６】
2005063192.tif 000008
【図７】
2005063192.tif 000009
【図８】
2005063192.tif 000010