JP2005063192A - ウェブキャッシュ装置、ウェブキャッシュ方法及びウェブキャッシュプログラム - Google Patents
ウェブキャッシュ装置、ウェブキャッシュ方法及びウェブキャッシュプログラム Download PDFInfo
- Publication number
- JP2005063192A JP2005063192A JP2003293436A JP2003293436A JP2005063192A JP 2005063192 A JP2005063192 A JP 2005063192A JP 2003293436 A JP2003293436 A JP 2003293436A JP 2003293436 A JP2003293436 A JP 2003293436A JP 2005063192 A JP2005063192 A JP 2005063192A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- web
- content
- embedded
- web content
- 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
【課題】 通信に関わるオーバヘッドを削減するウェブキャッシュ装置を提供する。
【解決手段】 キャッシュ転送要求に対する応答として、コンテンツのキャッシュとコンテンツに関連する埋め込みコンテンツのキャッシュの集合とを受信してローカルキャッシュに格納し、テキスト解析し、コンテンツに埋め込まれたコンテンツのURLを抽出し、コンテンツのURLと抽出した埋め込みコンテンツのURLの集合とをローカルデータベースに格納する手段と、キャッシュ転送要求に含まれるコンテンツのURLをキーとし、ローカルデータベースを参照してコンテンツに関連する埋め込みコンテンツのURLの集合を取得し、このURLの集合に基づき埋め込みコンテンツのキャッシュの集合を抽出し、コンテンツのキャッシュに加えて抽出されたコンテンツに関連する埋め込みコンテンツのキャッシュの集合を他の装置に対して送信する手段とを備える。
【選択図】 図1
【解決手段】 キャッシュ転送要求に対する応答として、コンテンツのキャッシュとコンテンツに関連する埋め込みコンテンツのキャッシュの集合とを受信してローカルキャッシュに格納し、テキスト解析し、コンテンツに埋め込まれたコンテンツのURLを抽出し、コンテンツのURLと抽出した埋め込みコンテンツのURLの集合とをローカルデータベースに格納する手段と、キャッシュ転送要求に含まれるコンテンツのURLをキーとし、ローカルデータベースを参照してコンテンツに関連する埋め込みコンテンツのURLの集合を取得し、このURLの集合に基づき埋め込みコンテンツのキャッシュの集合を抽出し、コンテンツのキャッシュに加えて抽出されたコンテンツに関連する埋め込みコンテンツのキャッシュの集合を他の装置に対して送信する手段とを備える。
【選択図】 図1
Description
本発明は、多数のユーザ端末にプロキシキャッシュを配置し、分散ウェブキャッシュとして動作させるウェブキャッシュ装置、ウェブキャッシュ方法及びウェブキャッシュプログラムに関する。
ウェブコンテンツの閲覧時に発生するレイテンシ(Latency)と対外消費バンド幅の削減を目的としてウェブキャッシュ技術が広く用いられている。従来から用いられているウェブキャッシュ技術には大きく分けてブラウザキャッシュとプロキシキャッシュの二つの技術がある。ブラウザキャッシュは、閲覧したウェブコンテンツをローカルディスクに保持しておき、同じウェブコンテンツを再度閲覧する時に、ウェブサーバからウェブコンテンツを取得する代わりに、ローカルディスクからウェブコンテンツを取得するものであり、市販のウェブ閲覧ソフトなどに採用され広く用いられている。また、プロキシキャッシュは、通常LANとインターネットの境界に配置される専用サーバ上で運営され、LAN内の端末からのウェブコンテンツ取得要求を受け付け、サーバ上のローカルディスクにウェブコンテンツのキャッシュが存在すればそれを応答し、存在しなければウェブサーバからウェブコンテンツを取得し、取得要求元の端末に応答するものである。ウェブサーバから取得したウェブコンテンツはサーバ上のローカルディスクに保持され、同じウェブコンテンツに対する取得要求を受け付けた場合に使用される。
一方、多数のユーザ端末にプロキシキャッシュを配置し、分散ウェブキャッシュとして動作させる分散ウェブキャッシュ方式として、非特許文献1に記載の方式が知られている。この方式では、ブラウザからのウェブコンテンツ取得要求を受信したプロキシキャッシュは、従来のプロキシキャッシュと同様にローカルディスクからの応答を試みる。ローカルディスク上にキャッシュが存在しない場合、ウェブコンテンツのURLをキーとしてネットワーク上のデータベースからキャッシュの存在する他端末を検索する。検索された他端末に対してキャッシュ転送要求を送信する。キャッシュ転送要求を受信したプロキシキャッシュはローカルディスクからキャッシュを応答する。ネットワーク上のデータベースからルックアップに失敗した場合、あるいは、キャッシュ転送要求先の他端末からキャッシュが応答されなかった場合、ウェブコンテンツのURLに従いウェブサーバからウェブコンテンツのオリジナルを取得する。また、キャッシュ転送要求先の他端末からウェブコンテンツのキャッシュを受信した場合、あるいは、ウェブサーバからウェブコンテンツのオリジナルを取得した場合、ブラウザにウェブコンテンツを応答し、ウェブコンテンツをローカルディスクに格納し、ネットワーク上のデータベースにウェブコンテンツのURLと自端末のアドレスを関連付けて登録する。
非特許文献1に記載の方式においては、ネットワーク上のデータベースとして、非特許文献2に記載のものを採用することで、サーバによらずユーザ端末のみで構成されるスケーラブルかつ効率のよい検索を実現している。
非特許文献1に記載の方式では、以上により、ユーザ端末のみから構成される分散ウェブキャッシュにより、専用サーバと同等の性能のウェブキャッシュが実現されるとしており、専用サーバの設置およびメンテナンスにかかるコストの削減、専用サーバの存在による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)
非特許文献1に記載の方式では、以上により、ユーザ端末のみから構成される分散ウェブキャッシュにより、専用サーバと同等の性能のウェブキャッシュが実現されるとしており、専用サーバの設置およびメンテナンスにかかるコストの削減、専用サーバの存在による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)
しかしながら、非特許文献1に記載の方式では、ユーザ端末上のプロキシキャッシュは、ウェブコンテンツ取得要求を受信し、ローカルディスクにキャッシュが存在しない場合、その都度、ネットワーク上のデータベースに対する検索と、キャッシュ転送が発生するという問題がある。
本発明は、このような事情に鑑みてなされたもので、ネットワーク上のデータベースの検索回数を削減し、同時に、複数回で行われるキャッシュ転送を一括して行うことで通信に関わるオーバヘッドを削減することができるウェブキャッシュ装置、ウェブキャッシュ方法及びウェブキャッシュプログラムを提供することを目的とする。
請求項1に記載の発明は、ウェブコンテンツのキャッシュを記憶するローカルキャッシュと、ウェブコンテンツのURLとこのウェブコンテンツに関連する埋め込みコンテンツのURLの集合を構成要素とするローカルデータベースと、他のウェブキャッシュ装置に対して、URLを指定して、ウェブコンテンツのキャッシュ転送要求を送信して、この要求に対する応答として、当該ウェブコンテンツのキャッシュと当該ウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合とを一括して受信して、前記ローカルキャッシュに格納するとともに、このウェブコンテンツをテキスト解析し、該ウェブコンテンツに埋め込まれた埋め込みコンテンツのURLを抽出し、ウェブコンテンツのURLと抽出した埋め込みコンテンツのURLの集合を関連付けて前記ローカルデータベースに格納する手段と、他のウェブキャッシュ装置よりウェブコンテンツのキャッシュ転送要求を受信して、この要求に含まれるウェブコンテンツのURLをキーとして、前記ローカルデータベースを参照してウェブコンテンツに関連する埋め込みコンテンツのURLの集合を取得し、このURLの集合に基づき前記ローカルキャッシュより埋め込みコンテンツのキャッシュの集合を抽出し、ウェブコンテンツのキャッシュに加えて抽出されたウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合を一括して当該他のウェブキャッシュ装置に対して送信する手段とを備えたことを特徴とする。
請求項2に記載の発明は、ウェブコンテンツのキャッシュを記憶するローカルキャッシュと、ウェブコンテンツのURLとこのウェブコンテンツに関連する埋め込みコンテンツのURLの集合を構成要素とするローカルデータベースとを備えたウェブキャッシュ装置におけるウェブキャッシュ方法であって、他のウェブキャッシュ装置に対して、URLを指定して、ウェブコンテンツのキャッシュ転送要求を送信して、この要求に対する応答として、当該ウェブコンテンツのキャッシュと当該ウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合とを一括して受信して、前記ローカルキャッシュに格納するとともに、このウェブコンテンツをテキスト解析し、該ウェブコンテンツに埋め込まれた埋め込みコンテンツのURLを抽出し、ウェブコンテンツのURLと抽出した埋め込みコンテンツのURLの集合を関連付けて前記ローカルデータベースに格納する過程と、他のウェブキャッシュ装置よりウェブコンテンツのキャッシュ転送要求を受信して、この要求に含まれるウェブコンテンツのURLをキーとして、前記ローカルデータベースを参照してウェブコンテンツに関連する埋め込みコンテンツのURLの集合を取得し、このURLの集合に基づき前記ローカルキャッシュより埋め込みコンテンツのキャッシュの集合を抽出し、ウェブコンテンツのキャッシュに加えて抽出されたウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合を一括して当該他のウェブキャッシュ装置に対して送信する過程とを有することを特徴とする。
請求項3に記載の発明は、ウェブコンテンツのキャッシュを記憶するローカルキャッシュと、ウェブコンテンツのURLとこのウェブコンテンツに関連する埋め込みコンテンツのURLの集合を構成要素とするローカルデータベースとを備えたウェブキャッシュ装置において動作するウェブキャッシュプログラムであって、他のウェブキャッシュ装置に対して、URLを指定して、ウェブコンテンツのキャッシュ転送要求を送信して、この要求に対する応答として、当該ウェブコンテンツのキャッシュと当該ウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合とを一括して受信して、前記ローカルキャッシュに格納するとともに、このウェブコンテンツをテキスト解析し、該ウェブコンテンツに埋め込まれた埋め込みコンテンツのURLを抽出し、ウェブコンテンツのURLと抽出した埋め込みコンテンツのURLの集合を関連付けて前記ローカルデータベースに格納する処理と、他のウェブキャッシュ装置よりウェブコンテンツのキャッシュ転送要求を受信して、この要求に含まれるウェブコンテンツのURLをキーとして、前記ローカルデータベースを参照してウェブコンテンツに関連する埋め込みコンテンツのURLの集合を取得し、このURLの集合に基づき前記ローカルキャッシュより埋め込みコンテンツのキャッシュの集合を抽出し、ウェブコンテンツのキャッシュに加えて抽出されたウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合を一括して当該他のウェブキャッシュ装置に対して送信する処理とをコンピュータに行わせることを特徴とする。
請求項4に記載の発明は、ウェブコンテンツのキャッシュを記憶するローカルキャッシュと、ウェブコンテンツのURLとこのウェブコンテンツに関連する埋め込みコンテンツのURLの集合を構成要素とするローカルデータベースとを備えたウェブキャッシュ装置において動作するウェブキャッシュプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記ウェブキャッシュプログラムは、他のウェブキャッシュ装置に対して、URLを指定して、ウェブコンテンツのキャッシュ転送要求を送信して、この要求に対する応答として、当該ウェブコンテンツのキャッシュと当該ウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合とを一括して受信して、前記ローカルキャッシュに格納するとともに、このウェブコンテンツをテキスト解析し、該ウェブコンテンツに埋め込まれた埋め込みコンテンツのURLを抽出し、ウェブコンテンツのURLと抽出した埋め込みコンテンツのURLの集合を関連付けて前記ローカルデータベースに格納する処理と、他のウェブキャッシュ装置よりウェブコンテンツのキャッシュ転送要求を受信して、この要求に含まれるウェブコンテンツのURLをキーとして、前記ローカルデータベースを参照してウェブコンテンツに関連する埋め込みコンテンツのURLの集合を取得し、このURLの集合に基づき前記ローカルキャッシュより埋め込みコンテンツのキャッシュの集合を抽出し、ウェブコンテンツのキャッシュに加えて抽出されたウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合を一括して当該他のウェブキャッシュ装置に対して送信する処理とをコンピュータに行わせることを特徴とする。
本発明によれば、ユーザ端末上に分散ウェブキャッシュ装置を配置することで、サーバによらずユーザ端末のみによるウェブページのキャッシュを実現することができる。通常ブラウザがURLを閲覧する場合、URLで現されるウェブコンテンツを取得するだけでなく、画像に代表されるウェブコンテンツに埋め込まれた埋め込みコンテンツ群を引き続き取得してGUIに表示を行っている。すなわち、ブラヴザは閲覧対象のウェブコンテンツに続けてウェブコンテンツに埋め込まれた埋め込みコンテンツについても取得するため、ブラウザからのウェブコンテンツ取得要求を受け付ける分散ウェブキャッシュ装置には、ブラウザからの一連のウェブコンテンツ取得要求が終了した後では、契機となったウェブコンテンツと、そのウェブコンテンツに埋め込まれた埋め込みコンテンツのキャッシュがローカルキャッシュに必ず存在する。分散ウェブキャッシュ装置では、キャッシュ転送要求処理時に、ウェブコンテンツとそのウェブコンテンツに埋め込まれた埋め込みコンテンツが同時にローカルキャッシュに存在することを利用し、それらを一括して転送する。異なる端末上でブラウザが同一URLを閲覧する場合も、同様に、URLで現されるウェブコンテンツに続けてウェブコンテンツに埋め込まれた埋め込みコンテンツについても取得要求が出される。しかし、キャッシュ転送要求処理時に、それらは一括して転送されているため、ウェブコンテンツに埋め込まれた埋め込みコンテンツは既にローカルキャッシュに存在する。そのため、ネットワーク上のデータベース検索を省略することができる。また、キャッシュの転送がまとめられたことにより、転送データ量そのものに変わりはないが、転送回数が削減されるため、通信にかかわるオーバヘッドを削減することができる。したがって、企業内ネットワークや、キャンパスネットワークなどのある程度の規模を持ったネットワークにおいて、本来なら専用ウェブキャッシュサーバ設置にかかるコストを発生させずに、効率のよいウェブキャッシュ機能を提供することができるという効果が得られる。
以下、本発明の一実施形態による分散ウェブキャッシュ装置を図面を参照して説明する。図1は同実施形態における分散ウェブキャッシュ装置の構成を示すブロック図である。この図において、符号1は、分散ウェブキャッシェ装置である。符号11は、ブラウザからのHTTP接続によるウェブコンテンツ取得要求を受け付け、ウェブコンテンツのキャッシュを応答する端末側通信処理部である。符号12は、URLをキーとしてローカルキャッシュ12aからウェブコンテンツを取り出す、または、URLをキーとしてウェブコンテンツをローカルキャッシュ12aに格納するローカルキャッシュ処理部である。符号13は、URLをキーとしてネットワーク上のデータベースを検索するネットワークデータベース処理部である。符号14は、ネットワーク上のデータベース検索の結果得られたキャッシュ端末に対して、URLについてのキャッシュ転送要求を送信し、キャッシュ転送要求先からの応答を受信し、応答内容を解析してキャッシェ要求対象のウェブコンテンツとウェブコンテンツに埋め込まれた埋め込みコンテンツ群に分解するとともに、キャッシュ転送要求を受け付け、ローカルキャッシュ12aとローカルデータベース16aの検索結果によりキャッシュ転送要求送信元に対してキャッシュ転送要求対象のウェブコンテンツとウェブコンテンツに埋め込まれた埋め込みコンテンツ群、または、キャッシェ転送要求対象のウェブコンテンツのみ、または、キャッシェなしを応答するキャッシュ転送処理部である。符号15は、URLをキーとして、ウェブサーバからオリジナルコンテンツを取得するオリジナルコンテンツ処理部である。符号16は、ウェブコンテンツのURLをキーとして、ウェブコンテンツに埋め込まれた埋め込みコンテンツのURLの集合を検索または格納するローカルデータベース処理部である。
図2は、図1に示す分散ウェブキャッシュ装置1を、ローカルエリアネットワークN内の各ユーザ端末(A〜D)上に配置した場合を示したものである。ブラウザ2は自端末上の分散ウェブキャッシュ装置1をプロキシサーバとして指定することで分散ウェブキャッシュ装置1を利用する。ローカルエリアネットワークN上のデータベースとしては、非特許文献1に記載のSquirrelと同様にPastry(非特許文献2)やPastryと同等の機能を実現した分散ハッシュテーブル技術を利用する。
次に、図3、図4を参照して、図1に示す分散ウェブキャッシュ装置1の動作を説明する。分散ウェブキャッシュ装置1は起動後、図3に示すウェブコンテンツ取得要求処理と図4に示すキャッシュ転送要求処理を繰り返し並行して行う。初めに、図3を参照して、ウェブコンテンツ取得要求処理の動作を説明する。
まず、ブラウザ2からのHTTP接続を待ち受け、ブラウザ2からのHTTP接続を受け付けた場合、ウェブコンテンツ取得要求を解析し、取得対象であるウェブコンテンツのURLを得る(ステップS1)。そして、取得対象のウェブコンテンツのURLが得られたら、そのURLをキーとしてローカルキャッシュ12a内を検索する(ステップS2)。続いて、取得対象のウェブコンテンツがローカルキャッシュ12a内に存在するか否かを判定し(ステップS3)、URLであらわされるウェブコンテンツのキャッシュがローカルキャッシュ12a内に存在した場合、ローカルキャッシュ12aからウェブコンテンツのキャッシュを取り出し、ウェブコンテンツ取得要求元のブラウザ2に応答する(ステップS4)。
まず、ブラウザ2からのHTTP接続を待ち受け、ブラウザ2からのHTTP接続を受け付けた場合、ウェブコンテンツ取得要求を解析し、取得対象であるウェブコンテンツのURLを得る(ステップS1)。そして、取得対象のウェブコンテンツのURLが得られたら、そのURLをキーとしてローカルキャッシュ12a内を検索する(ステップS2)。続いて、取得対象のウェブコンテンツがローカルキャッシュ12a内に存在するか否かを判定し(ステップS3)、URLであらわされるウェブコンテンツのキャッシュがローカルキャッシュ12a内に存在した場合、ローカルキャッシュ12aからウェブコンテンツのキャッシュを取り出し、ウェブコンテンツ取得要求元のブラウザ2に応答する(ステップS4)。
一方、URLであらわされるウェブコンテンツのキャッシュがローカルキャッシュ12a内に存在しなかった場合、URLをキーとしてネットワーク上のデータベースを検索して(ステップS5)、キャッシュ端末があったか否かを判定する(ステップS6)。ネットワーク上のデータベースを検索した結果、ウェブコンテンツのキャッシュが存在する端末が得られた場合、その端末に対して、URLについてのキャッシュ転送要求を送信する(ステップS7)。そして、キャッシュ応答があったか否かを判定し(ステップS8)、キャッシュ転送要求先の端末よりキャッシュ応答があった場合、キャッシュ応答を解析し分解する(ステップS9)。具体的には、キャッシュ応答は、要求対象のURLであらわされるウェブコンテンツのキャッシュとウェブコンテンツに埋め込まれている埋め込みコンテンツ群について、それぞれを識別するためのURLとコンテンツ自体のデータを組として、適当な区切り子を用いて連接されているため、区切り子を認識する毎に、それぞれをURLで識別される別個のウェブコンテンツとして分解する。
次に、ネットワーク上のデータベースを検索した結果、キャッシュ端末が存在しない場合とキャッシュ応答がなかった場合に、URLから判断されるウェブサーバからウェブコンテンツのオリジナルを取得する(ステップS10)。そして、キャッシュ転送要求先から得られたウェブコンテンツのキャッシュ、あるいは、ウェブサーバから得られたウェブコンテンツのオリジナルは、URLをキーとしてローカルキャッシュ12aに格納する(ステップS11)。更に、ネットワーク上のデータベースに、URLをキーとして、自端末のアドレスを関連付けて格納する(ステップS12)。
次に、ローカルキャッシュに格納するウェブコンテンツをテキスト処理により解析し、埋め込みコンテンツのURLの集合を抽出する。埋め込みコンテンツの具体例として、ウェブページに埋め込まれる画像は、HTMLの<IMG>タグとして表現されている。埋め込みコンテンツを抽出するためのテキスト処理は、ブラウザがHTMLを解釈するために行っているテキスト処理と同様である(ステップS13)。そして、ローカルキャッシュに格納するコンテンツのURLをキーとして、抽出された埋め込みコンテンツのURLの集合をローカルデータベース16aに格納する(ステップS14)。
その後、ローカルキャッシュ12aにキャッシュが存在した場合と同様に、ブラウザ2にウェブコンテンツのキャッシュを応答する(ステップS4)。
その後、ローカルキャッシュ12aにキャッシュが存在した場合と同様に、ブラウザ2にウェブコンテンツのキャッシュを応答する(ステップS4)。
次に、図4を参照して、キャッシュ転送要求処理の動作を説明する。
まず、他端末上に配置された分散ウェブキャッシュ装置1からのキャッシュ転送要求を待ちうけ、キャッシュ転送要求を受信した場合、キャッシュ転送要求メッセージを解析し、キャッシュ転送要求対象であるウェブコンテンツのURLを得る(ステップS21)。
そして、キャッシュ転送要求対象のURLが得られたら、URLをキーとしてローカルキャッシュ12a内を検索して(ステップS22)、キャッシュがあったか否かを判定する(ステップS23)。URLであらわされるウェブコンテンツがローカルキャッシュ12a内に存在しない場合、キャッシュが存在しないことを示すメッセージで、キャッシュ転送要求送信元に応答する(ステップS24)。
まず、他端末上に配置された分散ウェブキャッシュ装置1からのキャッシュ転送要求を待ちうけ、キャッシュ転送要求を受信した場合、キャッシュ転送要求メッセージを解析し、キャッシュ転送要求対象であるウェブコンテンツのURLを得る(ステップS21)。
そして、キャッシュ転送要求対象のURLが得られたら、URLをキーとしてローカルキャッシュ12a内を検索して(ステップS22)、キャッシュがあったか否かを判定する(ステップS23)。URLであらわされるウェブコンテンツがローカルキャッシュ12a内に存在しない場合、キャッシュが存在しないことを示すメッセージで、キャッシュ転送要求送信元に応答する(ステップS24)。
一方、URLであらわされるウェブコンテンツがローカルキャッシュ12aに存在した場合、ローカルキャッシュ12aよりウェブコンテンツを取り出し、URLをキーとしてローカルデータベース16aを検索する(ステップS25)。そして、ローカルデータベース16aの検索により関連埋め込みコンテンツ群があったか否かを判定し(ステップS26)、URLであらわされるウェブコンテンツに埋め込まれた埋め込みコンテンツのURLの集合が得られた場合、URLの集合の要素であるURL毎にそれぞれであらわされるウェブコンテンツをローカルキャッシュ12aより取り出す。キャッシュ転送要求対象であるウェブコンテンツとローカルキャッシュ12aより取り出された埋め込みコンテンツ群について、それぞれを識別するためのURLとコンテンツ自体であるデータを組として、適当な区切り子を用いて結合し、キャッシュ転送要求元である他端末上に配置された分散ウェブキャッシュ装置1に応答する(ステップS27)。一方、ローカルデータベースの検索に失敗した場合、キャッシュ転送要求対象であるウェブコンテンツのみを、キャッシュ転送要求元である分散ウェブキャッシュ装置1に応答する(ステップS28)。
次に、具体例を挙げて動作を説明する。図5に、HTML(http://some.place/index.html)の一例を示す。http://some.place/index.htmlには埋め込みコンテンツとして画像が3つ埋め込まれており、それぞれ、http://some.place/e mbedded.gif、http://other.place/embedded.gif、http://another.place/embeddede.gifである。
図6は、ユーザ端末A上のブラウザ2がhttp://some.place/index.htmlを閲覧する場合のシーケンスを示す。http://some.place/index.htmlは初めて閲覧されたウェブコンテンツであるため、ユーザ端末A上の分散ウェブキャッシュ装置1のローカルキャッシュ12aにはhttp://some.place/index.htmlのキャッシュは存在しない。ネットワーク上のデータベースにも格納されていないので、図示しないウェブサーバsome.placeからオリジナルコンテンツhttp://some. place/index.htmlを取得する(ステップS31〜S36)。http://some.place/index.htmlをローカルキャッシュ12aに格納し、ネットワーク上のデータベースに対して、http://some.place /index.htmlをキーとしてユーザ端末Aのアドレスを格納する(ステップS37〜S38)。
次に、ブラウザ2と同様のテキスト解析によりhttp://some.place/index.htmlに埋め込まれた埋め込みコンテンツのURLの集合<http://some.place/embedded.gif、http://other.place/embedded.gif、http://another.place/embedded.gifを得て、ローカルデータベースに、http://some.place/index.htmlをキーとして、URLの集合<http://some.place/embedded.gif、http://other.place/embedded.gif、http://another.place/embedded.gif>を格納する(ステップS39)。
最後にブラウザに対してhttp://some.place/index.htmlを応答する(ステップS40)。ブラウザでは引き続きhttp://some.place/index.htmlに埋め込まれた埋め込みコンテンツhttp://some.place/embedded.gif、http://other.place/embedded.gif、http://another.place/embedded.gifの取得要求をプロキシサーバである分散ウェブキャッシェ装置1に送信するが、これらについてもローカルキャッシュ12aに存在せず、かつ、ネットワーク上のデータベースの検索にも失敗するため、それぞれのURLで表されるウェブサーバからオリジナルコンテンツを取得する。取得したコンテンツはローカルキャッシュ12aに格納し、ネットワーク上のデータベースに対してそれぞれのURLとユーザ端末Aのアドレスを関連付けて格納し、ウェブコンテンツはブラウザ2に応答される(ステップS41〜S49)。
図7は、ユーザ端末A上のブラウザがhttp://some.place/index.htmlを閲覧してしばらくした後で、ユーザ端末B上のブラウザで同じくhttp://some.place/index.htmlを閲覧する場合のシーケンスを示す。ユーザ端末B上ではhttp://some.place/index.htmlは初めて閲覧されたため、分散ウェブキャッシュのローカルキャッシュ12aにはキャッシュは存在しない。ネットワーク上のデータベースに対してhttp://some・place/index.htmlをキーとして検索を行った結果、ユーザ端末Aのアドレスが得られる。ユーザ端末Aに対して、http://some.place/index.htmlのキャッシュ転送要求を送信する(ステップS51〜S55)。
http://some.place/index.htmlのキャッシュ転送要求を受信したユーザ端末A上の分散ウェブキャッシュ装置1は、ローカルキャッシュ12aを検索し、http://some.place/index.htmlのキャッシュが存在するため、それを取り出す。ローカルデータベースに対してhttp://some.place/index.htmlをキーとして検索を行い、http://some.place/index.htmlに埋め込まれた埋め込みコンテンツのURLの集合<http://some.place/embedded.gif、http://other.place/embedded.gif、http://another.place/embedded.gif>を得る。得られたURLのそれぞれについても同様にローカルキャッシュ12aからキャッシュを取り出す。取り出したキャッシュについて、図8に示したXML形式を利用して一つのデータに結合し、それをキャッシュ転送要求元であるユーザ端末Bに一括して応答する(ステップS56〜S57)。
ユーザ端末Bでは、応答を解析し、それぞれのURLごとにウェブコンテンツをローカルキャッシュ12aに格納し、ネットワーク上のデータベースに対して、それぞれのURLをキーとしてユーザ端末Bのアドレスを関連付けて格納する。http://some.place/index.htmlはユーザ端末Aで行ったのと同様にテキスト解析されhttp://some.place/index.htmlに埋め込まれた埋め込みコンテンツの集合<http://some.place/embedded.gif、http://other.place/embedded.gif、http://another.place/embedded.gif>が得られ、ローカルデータベース16aにhttp://some.place/index.htmlをキーとして、URLの集合<http://some.place/embedded.gif、http://other.place/embedded.gif、http://another.place/embedded.gif>が格納される(ステップS60)。
最後にブラウザには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の取得要求が出されるが、既に分散ウェブキャッシュ装置のローカルキャッシュに存在するため、それらは即座に応答される(ステップS61〜S70)。
このように、ユーザ端末毎に分散ウェブキャッシュ装置1を配置することで、ユーザ端末の連携によるウェブページのキャッシュ機能を実現することができる。また、キャッシュ対象のウェブコンテンツを解析して、ウェブコンテンツに埋め込まれた埋め込みコンテンツのURLの集合を抽出し、ウェブコンテンツのURLとウェブコンテンツに埋め込まれた埋め込みコンテンツのURLの集合を関連付けてローカルデータベースに格納するとともに、キャッシュ転送要求受信時にローカルデータベースを検索することでウェブコンテンツに埋め込まれた埋め込みコンテンツのURLの集合を取得し、キャッシュ転送要求に応答するときにキャッシュ転送要求対象であるウェブコンテンツとウェブコンテンツに埋め込まれた埋め込みコンテンツ群を―つのデータに結合し、キャッシュ転送要求先からの応答を解析してキャッシュ転送要求対象のウェブコンテンツとウェブコンテンツに埋め込まれた埋め込みコンテンツに分解するようにしたため、埋め込みコンテンツ一括転送も可能となる。
なお、図1における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより分散ウェブキャッシュ処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
1・・・分散ウェブキャッシュ装置
11・・・端末側通信処理部
12・・・ローカルキャッシュ処理部
12a・・・ローカルキャッシュ
13・・・ネットワークデータベース処理部
14・・・キャッシュ転送処理部
15・・・オリジナルコンテンツ処理部
16・・・ローカルデータベース処理部
16a・・・ローカルデータベース
2・・・ブラウザ
A〜D・・・ユーザ端末
11・・・端末側通信処理部
12・・・ローカルキャッシュ処理部
12a・・・ローカルキャッシュ
13・・・ネットワークデータベース処理部
14・・・キャッシュ転送処理部
15・・・オリジナルコンテンツ処理部
16・・・ローカルデータベース処理部
16a・・・ローカルデータベース
2・・・ブラウザ
A〜D・・・ユーザ端末
Claims (4)
- ウェブコンテンツのキャッシュを記憶するローカルキャッシュと、
ウェブコンテンツのURLとこのウェブコンテンツに関連する埋め込みコンテンツのURLの集合を構成要素とするローカルデータベースと、
他のウェブキャッシュ装置に対して、URLを指定して、ウェブコンテンツのキャッシュ転送要求を送信して、この要求に対する応答として、当該ウェブコンテンツのキャッシュと当該ウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合とを一括して受信して、前記ローカルキャッシュに格納するとともに、このウェブコンテンツをテキスト解析し、該ウェブコンテンツに埋め込まれた埋め込みコンテンツのURLを抽出し、ウェブコンテンツのURLと抽出した埋め込みコンテンツのURLの集合を関連付けて前記ローカルデータベースに格納する手段と、
他のウェブキャッシュ装置よりウェブコンテンツのキャッシュ転送要求を受信して、この要求に含まれるウェブコンテンツのURLをキーとして、前記ローカルデータベースを参照してウェブコンテンツに関連する埋め込みコンテンツのURLの集合を取得し、このURLの集合に基づき前記ローカルキャッシュより埋め込みコンテンツのキャッシュの集合を抽出し、ウェブコンテンツのキャッシュに加えて抽出されたウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合を一括して当該他のウェブキャッシュ装置に対して送信する手段と
を備えたことを特徴とするウェブキャッシュ装置。 - ウェブコンテンツのキャッシュを記憶するローカルキャッシュと、ウェブコンテンツのURLとこのウェブコンテンツに関連する埋め込みコンテンツのURLの集合を構成要素とするローカルデータベースとを備えたウェブキャッシュ装置におけるウェブキャッシュ方法であって、
他のウェブキャッシュ装置に対して、URLを指定して、ウェブコンテンツのキャッシュ転送要求を送信して、この要求に対する応答として、当該ウェブコンテンツのキャッシュと当該ウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合とを一括して受信して、前記ローカルキャッシュに格納するとともに、このウェブコンテンツをテキスト解析し、該ウェブコンテンツに埋め込まれた埋め込みコンテンツのURLを抽出し、ウェブコンテンツのURLと抽出した埋め込みコンテンツのURLの集合を関連付けて前記ローカルデータベースに格納する過程と、
他のウェブキャッシュ装置よりウェブコンテンツのキャッシュ転送要求を受信して、この要求に含まれるウェブコンテンツのURLをキーとして、前記ローカルデータベースを参照してウェブコンテンツに関連する埋め込みコンテンツのURLの集合を取得し、このURLの集合に基づき前記ローカルキャッシュより埋め込みコンテンツのキャッシュの集合を抽出し、ウェブコンテンツのキャッシュに加えて抽出されたウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合を一括して当該他のウェブキャッシュ装置に対して送信する過程と
を有することを特徴とするウェブキャッシュ方法。 - ウェブコンテンツのキャッシュを記憶するローカルキャッシュと、ウェブコンテンツのURLとこのウェブコンテンツに関連する埋め込みコンテンツのURLの集合を構成要素とするローカルデータベースとを備えたウェブキャッシュ装置において動作するウェブキャッシュプログラムであって、
他のウェブキャッシュ装置に対して、URLを指定して、ウェブコンテンツのキャッシュ転送要求を送信して、この要求に対する応答として、当該ウェブコンテンツのキャッシュと当該ウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合とを一括して受信して、前記ローカルキャッシュに格納するとともに、このウェブコンテンツをテキスト解析し、該ウェブコンテンツに埋め込まれた埋め込みコンテンツのURLを抽出し、ウェブコンテンツのURLと抽出した埋め込みコンテンツのURLの集合を関連付けて前記ローカルデータベースに格納する処理と、
他のウェブキャッシュ装置よりウェブコンテンツのキャッシュ転送要求を受信して、この要求に含まれるウェブコンテンツのURLをキーとして、前記ローカルデータベースを参照してウェブコンテンツに関連する埋め込みコンテンツのURLの集合を取得し、このURLの集合に基づき前記ローカルキャッシュより埋め込みコンテンツのキャッシュの集合を抽出し、ウェブコンテンツのキャッシュに加えて抽出されたウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合を一括して当該他のウェブキャッシュ装置に対して送信する処理と
をコンピュータに行わせることを特徴とするウェブキャッシュプログラム。 - ウェブコンテンツのキャッシュを記憶するローカルキャッシュと、ウェブコンテンツのURLとこのウェブコンテンツに関連する埋め込みコンテンツのURLの集合を構成要素とするローカルデータベースとを備えたウェブキャッシュ装置において動作するウェブキャッシュプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記ウェブキャッシュプログラムは、
他のウェブキャッシュ装置に対して、URLを指定して、ウェブコンテンツのキャッシュ転送要求を送信して、この要求に対する応答として、当該ウェブコンテンツのキャッシュと当該ウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合とを一括して受信して、前記ローカルキャッシュに格納するとともに、このウェブコンテンツをテキスト解析し、該ウェブコンテンツに埋め込まれた埋め込みコンテンツのURLを抽出し、ウェブコンテンツのURLと抽出した埋め込みコンテンツのURLの集合を関連付けて前記ローカルデータベースに格納する処理と、
他のウェブキャッシュ装置よりウェブコンテンツのキャッシュ転送要求を受信して、この要求に含まれるウェブコンテンツのURLをキーとして、前記ローカルデータベースを参照してウェブコンテンツに関連する埋め込みコンテンツのURLの集合を取得し、このURLの集合に基づき前記ローカルキャッシュより埋め込みコンテンツのキャッシュの集合を抽出し、ウェブコンテンツのキャッシュに加えて抽出されたウェブコンテンツに関連する埋め込みコンテンツのキャッシュの集合を一括して当該他のウェブキャッシュ装置に対して送信する処理と
をコンピュータに行わせることを特徴とするウェブキャッシュプログラムを記録した記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003293436A JP2005063192A (ja) | 2003-08-14 | 2003-08-14 | ウェブキャッシュ装置、ウェブキャッシュ方法及びウェブキャッシュプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003293436A JP2005063192A (ja) | 2003-08-14 | 2003-08-14 | ウェブキャッシュ装置、ウェブキャッシュ方法及びウェブキャッシュプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005063192A true JP2005063192A (ja) | 2005-03-10 |
Family
ID=34370389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003293436A Pending JP2005063192A (ja) | 2003-08-14 | 2003-08-14 | ウェブキャッシュ装置、ウェブキャッシュ方法及びウェブキャッシュプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005063192A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013180255A1 (ja) * | 2012-05-31 | 2013-12-05 | 株式会社日立製作所 | 通信装置および方法 |
CN105787032A (zh) * | 2016-02-25 | 2016-07-20 | 广州神马移动信息科技有限公司 | 网页快照的生成方法及装置 |
JP2016170497A (ja) * | 2015-03-11 | 2016-09-23 | 富士ゼロックス株式会社 | 表示制御装置、サーバ、システムおよびプログラム |
JP2016533060A (ja) * | 2013-06-28 | 2016-10-20 | トムソン ライセンシングThomson Licensing | マルチメディアコンテンツのコンテンツ部分をクライアント端末によって取り出す方法 |
-
2003
- 2003-08-14 JP JP2003293436A patent/JP2005063192A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013180255A1 (ja) * | 2012-05-31 | 2013-12-05 | 株式会社日立製作所 | 通信装置および方法 |
JP2013250691A (ja) * | 2012-05-31 | 2013-12-12 | Hitachi Ltd | 通信装置および方法 |
JP2016533060A (ja) * | 2013-06-28 | 2016-10-20 | トムソン ライセンシングThomson Licensing | マルチメディアコンテンツのコンテンツ部分をクライアント端末によって取り出す方法 |
US10348789B2 (en) | 2013-06-28 | 2019-07-09 | Interdigital Vc Holdings, Inc. | Method for retrieving, by a client terminal, a content part of a multimedia content |
JP2016170497A (ja) * | 2015-03-11 | 2016-09-23 | 富士ゼロックス株式会社 | 表示制御装置、サーバ、システムおよびプログラム |
CN105787032A (zh) * | 2016-02-25 | 2016-07-20 | 广州神马移动信息科技有限公司 | 网页快照的生成方法及装置 |
CN105787032B (zh) * | 2016-02-25 | 2019-03-29 | 广州神马移动信息科技有限公司 | 网页快照的生成方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8312074B2 (en) | Method for multipart encoding | |
US6389422B1 (en) | Method of relaying file object, distributed file system, computer readable medium recording a program of file object relay method and gateway computer, allowing reference of one same file object among networks | |
RU2689439C2 (ru) | Улучшение производительности веб-доступа | |
JP2001519067A (ja) | ミラー保護されたウェブ・サイトに関するユーザ・ヒットをリモート・サイト運営管理者に提供する方法および装置 | |
JP2015509229A (ja) | アプリケーション駆動のcdnのプリキャッシング | |
GB2453647A (en) | Intermediate device between content server and content requestor | |
US20050144285A1 (en) | Finding of tv anytime web services | |
KR100456022B1 (ko) | 비피씨 정보단말을 위한 엑스엠엘 기반 웹 페이지 제공방법 및 그 시스템 | |
JP2000222088A (ja) | 情報提供サーバ,仲介サーバ,および閲覧端末 | |
JP2002278856A (ja) | 遠隔のネットワーク・パス・ブックマーク情報をモバイル機器に供給する方法 | |
JP2003288261A (ja) | データ転送装置、データ転送方法及びプログラム | |
US20110209051A1 (en) | Document browsing system and document conversion server | |
JPH11355759A (ja) | 遠隔監視システム | |
EP1658570A1 (en) | Method of caching data assets | |
JP2005063192A (ja) | ウェブキャッシュ装置、ウェブキャッシュ方法及びウェブキャッシュプログラム | |
EP2558961B1 (en) | Providing mobile versions of web resources | |
JP2000090000A (ja) | クライアントコンピュ―タの操作方法 | |
JP2003248613A (ja) | 情報配信システムおよびそれに用いられる配信情報生成装置 | |
EP1008065B1 (en) | A method and arrangement for browsing documents in a database | |
US7937441B2 (en) | Data-control device and method of controlling same | |
JPH10301954A (ja) | 画像検索方法及び画像検索システム | |
JP2010257447A (ja) | コンテンツ取得状況調査システム、コンテンツ取得状況調査方法 | |
JP2009176176A (ja) | ウェブページ配信装置 | |
JP4206101B2 (ja) | 遠隔監視システム | |
JPH11175447A (ja) | データ中継装置及びデータ中継プログラムを記録したコンピュータ読み取り可能な記録媒体 |