(57)【要約】【課題】  Ｗｅｂオブジェクトのキャッシングに関し、同一のＷｅｂオブジェクトでＵＲＬが異なる場合に代替ＵＲＬを格納しておくことにより重複してキャッシングを行うことのないキャッシュ処理プログラムとキャッシュ処理装置を提供することを目的とする。【解決手段】  ＷＷＷサーバから取得したオブジェクトがキャッシュ領域にあるか否かを判定するオブジェクト格納判定手順と、取得したオブジェクトがキャッシュ領域に格納されている場合に取得したオブジェクトのＵＲＬと格納されていたオブジェクトのＵＲＬとを対応付けて記憶領域に格納する代替ＵＲＬ格納手順とで構成する。【選択図】    図１
2005267435.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂオブジェクトのキャッシュ処理プログラムであって、
ＷＷＷサーバから取得したＷｅｂオブジェクトと同一のＷｅｂオブジェクトが、キャッシュ領域に格納されているか否かを判定するオブジェクト格納判定手順と、
前記オブジェクト格納判定手順が前記Ｗｅｂオブジェクトが格納されていると判定した場合に、前記同一と判定されたＷｅｂオブジェクトのＵＲＬと前記取得したＷｅｂオブジェクトのＵＲＬとを対応付けて記憶領域に格納する代替ＵＲＬ格納手順と
をコンピュータに実行させることを特徴としたキャッシュ処理プログラム。
【請求項２】
Ｗｅｂオブジェクトのキャッシュ処理プログラムであって、
ＷＷＷサーバから取得したＷｅｂオブジェクト中に、参照するＷｅｂオブジェクトのＵＲＬに対する別名のＵＲＬが代替ＵＲＬとして定義されているか否かを判定する代替ＵＲＬ定義判定手順と、
前記代替ＵＲＬ定義判定手順で代替ＵＲＬが定義されている場合に、該定義に基づいて前記参照するＷｅｂオブジェクトのＵＲＬと該ＵＲＬの代替ＵＲＬとを対応付けて記憶領域に格納し、該参照するＷｅｂオブジェクトがキャッシュ領域に格納されていない場合に該参照するＷｅｂオブジェクトのＵＲＬから該参照するＷｅｂオブジェクトを取得して該キャッシュ領域に格納するキャッシング手順と
をコンピュータに実行させることを特徴としたキャッシュ処理プログラム。
【請求項３】
Ｗｅｂオブジェクトを格納したキャッシュ領域と、該ＷｅｂオブジェクトのＵＲＬと該ＵＲＬとは別名の代替ＵＲＬとを対応付けて格納した記憶領域を備えるキャッシュ処理プログラムであって、
クライアント端末からのＷｅｂオブジェクトの取得要求において指定されたＵＲＬのＷｅｂオブジェクトが前記キャッシュ領域に格納されているか否かを判定するオブジェクトチェック手順と、
前記オブジェクトチェック手順で前記ＵＲＬのＷｅｂオブジェクトが格納されていない場合に、該ＵＲＬが代替ＵＲＬとして前記記憶領域に格納されているか否かを判定する代替ＵＲＬチェック手順と、
前記代替ＵＲＬチェック手順で前記代替ＵＲＬとして格納されていると判定された場合に、該代替ＵＲＬに対応したＵＲＬのＷｅｂオブジェクトを前記キャッシュ領域から前記クライアント端末に送信するオブジェクト送信手順と
をコンピュータに実行させることを特徴としたキャッシュ処理プログラム。
【請求項４】
Ｗｅｂオブジェクトのキャッシュ処理装置であって、
ＷＷＷサーバから取得したＷｅｂオブジェクトと同一のＷｅｂオブジェクトが、キャッシュ領域に格納されているか否かを判定するオブジェクト格納判定手段と、
前記オブジェクト格納判定手段が前記Ｗｅｂオブジェクトが格納されていると判定した場合に、前記同一と判定されたＷｅｂオブジェクトのＵＲＬと前記取得したＷｅｂオブジェクトのＵＲＬとを対応付けて記憶領域に格納する代替ＵＲＬ格納手段と
を有することを特徴としたキャッシュ処理装置。
【請求項５】
Ｗｅｂオブジェクトを格納したキャッシュ領域と、該ＷｅｂオブジェクトのＵＲＬと該ＵＲＬとは別名の代替ＵＲＬとを対応付けて格納した記憶領域を備えるキャッシュ処理装置であって、
クライアント端末からのＷｅｂオブジェクトの取得要求において指定されたＵＲＬのＷｅｂオブジェクトが前記キャッシュ領域に格納されているか否かを判定するオブジェクトチェック手段と、
前記オブジェクトチェック手段で前記ＵＲＬのＷｅｂオブジェクトが格納されていない場合に、該ＵＲＬが代替ＵＲＬとして前記記憶領域に格納されているか否かを判定する代替ＵＲＬチェック手段と、
前記代替ＵＲＬチェック手段で前記代替ＵＲＬとして格納されていると判定された場合に、該代替ＵＲＬに対応したＵＲＬのＷｅｂオブジェクトを前記キャッシュ領域から前記クライアント端末に送信するオブジェクト送信手段と
を有することを特徴としたキャッシュ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｐｒｏｘｙサーバのキャッシングに関し、より詳細には同一オブジェクトに対する代替ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）をキャッシングするキャッシュ処理プログラムおよびキャッシュ処理装置に関する。
【背景技術】
【０００２】
インターネットを介してＷｅｂオブジェクトを取得するとき、クライアントのコンピュータ（クライアント端末）に代わってＷｅｂオブジェクトを取得するコンピュータがＰｒｏｘｙサーバである。Ｐｒｏｘｙサーバの機能は幾つかあるが、その一つにキャッシングの機能がある。これは、Ｐｒｏｘｙサーバが過去にＷＷＷサーバから取得したＷｅｂオブジェクトをＰｒｏｘｙサーバが備えるディスクに格納して置き、クライアント端末から同じＷｅｂオブジェクトを要求されたときＷＷＷサーバにそのＷｅｂオブジェクトを取りに行くのではなく、ディスクから取り出して要求元のクライアント端末にそのＷｅｂオブジェクトを送信するものである。このようにすることにより、ＰｒｏｘｙサーバはＷＷＷサーバにアクセスせずに済むためＷＷＷサーバの負荷を軽減でき、またＰｒｏｘｙサーバとＷＷＷサーバ間のネットワークのトラフィックの軽減を図ることができる効果がある。  Ｐｒｏｘｙサーバが自身のディスクにＷｅｂオブジェクトを格納することをキャッシュまたはキャッシングと言い、この格納する領域をキャッシュ領域と言う。
【０００３】
Ｐｒｏｘｙサーバのキャッシュ領域は、Ｐｒｏｘｙサーバを利用する全クライアントに対してキャッシングを行うため大きな容量が確保されるが、有限であることに変わりはなくキャッシュ領域を有効に利用することが求められている。このＰｒｏｘｙサーバのキャッシュ容量が少なくてもよいように、クライアントのコンピュータにキャッシュしたＷｅｂオブジェクトのデータを持たせた提案がある（特許文献１）。これは、クライアント端末が要求して取得したＷｅｂオブジェクトを、そのクライアント端末のディスクに格納して置き、ＰｒｏｘｙサーバはそのＵＲＬとクライアント端末のアドレスとを記憶して置く。Ｐｒｏｘｙサーバが他のクライアント端末から該当するＷｅｂオブジェクトの要求があったとき、格納しているクライアント端末のアドレスを要求元のクライアントに通知し、クライアント端末間でＷｅｂオブジェクトの転送を行うものである。これによりＰｒｏｘｙサーバのキャッシュ容量は小さくて済み、またＰｒｏｘｙサーバとクライアント端末間のトラフィックの軽減が図れるものである。
【特許文献１】特開２００１−１５４２９０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記に示したように、Ｐｒｏｘｙサーバはクライアント端末から要求されたＷｅｂオブジェクトのキャッシングを行い、同Ｗｅｂオブジェクトに対する再度の取得要求に備えて蓄積している。しかし、同一のＷｅｂオブジェクトであってもそのＵＲＬが異なるとＵＲＬ毎にＷｅｂオブジェクトのデータのキャッシングが行われる。即ち、同一のＷｅｂオブジェクトを異なるＵＲＬで格納することになり、キャッシュ領域の容量を多量に使用していた。このため、
（１）Ｐｒｏｘｙサーバのキャッシュ領域が無駄に使用されている。
【０００５】
（２）Ｗｅｂオブジェクト取得のための負荷がＷＷＷサーバにかかる。
【０００６】
（３）ＰｒｏｘｙサーバとＷＷＷサーバ間の回線負荷が大きくなる。
【０００７】
（４）結果として、クライアントのレスポンスが低下する。
と言った問題がある。
【０００８】
本発明は、Ｐｒｏｘｙサーバにおけるヒット率を低下させずに上記問題を解決するキャッシュ処理プログラムおよびキャッシュ処理装置を提供する。
【課題を解決するための手段】
【０００９】
本発明のキャッシュ処理プログラムおよび方法は以下のように構成される。
（１）第１の発明
第１の発明は、ＷＷＷサーバから取得したＷｅｂオブジェクトがＵＲＬは異なるが同一のＷｅｂオブジェクトがキャッシュ領域に格納されているとき、両者のＵＲＬを対応付けて記憶領域に格納するキャッシュ処理プログラムである。
【００１０】
その原理を図１を用いて説明する。第１の発明は、図１に示すようにオブジェクト格納判定手順１０および代替ＵＲＬ格納手順２０で構成し、これらの手順をコンピュータに実行させるものである。
【００１１】
オブジェクト格納判定手順１０は、クライアント端末からの要求に基づいてＷＷＷサーバより取得したＷｅｂオブジェクトがキャッシュ領域にあるかどうか、を判定する。キャッシュ領域３０には、その時点より前にＷＷＷサーバから取得したＷｅｂオブジェクトが格納（キャッシング）されており、このＷｅｂオブジェクトと同一かどうかを判定する。より具体的には今回取得したＷｅｂオブジェクトとキャッシュ領域３０に格納されている１つ以上のＷｅｂオブジェクトに対してそれぞれのオブジェクトを構成するデータを個々に突き合わせ、同一のＷｅｂオブジェクトがあるかどうかを判定する。
【００１２】
代替ＵＲＬ格納手順２０は、オブジェクト格納判定手順１０で今回取得したＷｅｂオブジェクトがキャッシュ領域３０に存在すると判定されたとき、この同一と判定したＷｅｂオブジェクトのＵＲＬと今回取得したＷｅｂオブジェクトのＵＲＬとを対応付けて記憶領域４０に格納する。即ち、キャッシュ領域３０のＷｅｂオブジェクトのＵＲＬに対して今回取得したＷｅｂオブジェクトのＵＲＬは代替のＵＲＬであり、対応付けて記憶しておくことによりいづれのＵＲＬで指定されてもキャッシュ領域３０から取り出してクライアント端末に渡すことができる。  
（２）第２の発明
第２の発明は、ＷＷＷサーバから取得したＷｅｂオブジェクト中に参照するＷｅｂオブジェクトのＵＲＬとそのＵＲＬの別名である代替ＵＲＬが定義されている場合に、その定義に基づいてキャッシングを行うものである。
【００１３】
図２は、その原理を示すもので代替ＵＲＬ定義判定手順５０およびキャッシング手順６０で構成する。
【００１４】
代替ＵＲＬ定義判定手順５０は、クライアント端末からの要求でＷＷＷサーバから取得したＷｅｂオブジェクト中に、参照するＷｅｂオブジェクトのＵＲＬとそのＵＲＬに対する代替ＵＲＬが定義されているかどうか、を判定する。代替ＵＲＬは元のＵＲＬに対する別名である。
【００１５】
キャッシング手順６０は、参照するＷｅｂオブジェクトのＵＲＬに代替ＵＲＬが定義されていた場合に、定義に基づいて記憶領域４０にＵＲＬと代替ＵＲＬとを対応付けて格納する。そして、キャッシュ領域３０に参照するＷｅｂオブジェクトが格納されていなければ、その参照するＷｅｂオブジェクトのＵＲＬからＷｅｂオブジェクトを取得し、キャッシュ領域３０に格納する。
（３）第３の発明
第３の発明は、クライアント端末からＷｅｂオブジェクトの取得を要求されたとき、キャッシュ領域に要求されたＷｅｂオブジェクトが無い場合に、記憶領域を参照して代替ＵＲＬがあれば対応するＵＲＬに基づいてキャッシュ領域から要求されたＷｅｂオブジェクトをクライアント端末に送信するキャッシュ処理プログラムである。
【００１６】
図３は、その原理を示すものでオブジェクトチェック手順７０、代替ＵＲＬチェック手順８０およびオブジェクト送信手順９０で構成する。
【００１７】
オブジェクトチェック手順７０は、クライアント端末がＷｅｂオブジェクト取得の要求時に指定したＵＲＬがキャッシュ領域３０に在るかどうか、を判定する。
【００１８】
代替ＵＲＬチェック手順８０は、オブジェクトチェック手順７０においてクライアント端末がＷｅｂオブジェクト取得の要求時に指定したＵＲＬがキャッシュ領域３０になかった場合に、同ＵＲＬが記憶領域４０に在るかどうか、を判定する。
【００１９】
オブジェクト送信手順９０は、代替ＵＲＬチェック手順８０でクライアント端末がＷｅｂオブジェクト取得の要求時に指定したＵＲＬが記憶領域４０に在った場合（即ち、Ｗｅｂオブジェクト取得の要求時に指定したＵＲＬが記憶領域４０に代替ＵＲＬとして存在していたことになる）、そのＵＲＬ（即ち、代替ＵＲＬ）に対応するＵＲＬのＷｅｂオブジェクトをキャッシュ領域３０から要求元のクライアントに送信する。
（４）第４の発明
第４の発明は、第１の発明をキャッシュ処理装置として実現するものである。装置の機能は第１の発明と同様であるので説明は省略する。
（５）第５の発明
第５の発明は、第３の発明をキャッシュ処理装置として実現するものである。装置の機能は第３の発明と同様であるので説明は省略する。
【発明の効果】
【００２０】
第１の発明により、Ｗｅｂオブジェクトが同一で異なるＵＲＬを持つ場合に、Ｗｅｂオブジェクトのデータを重複して保持する必要がないキャッシングのプログラム提供ができる。
【００２１】
第２の発明により、取得したＷｅｂオブジェクトに定義された記述内容に基づいて、容易に代替ＵＲＬの格納ができるプログラムの提供ができる。
【００２２】
第３の発明により、代替ＵＲＬを利用することによりキャッシュのヒット率を維持しながらキャッシュ領域の容量を小さくできるキャッシュ処理プログラムの提供ができる。
【００２３】
第４の発明により、Ｗｅｂオブジェクトが同一で異なるＵＲＬを持つ場合に、Ｗｅｂオブジェクトのデータを重複して保持する必要がないキャッシュ処理装置の提供ができる。      
【００２４】
第５の発明により、代替ＵＲＬを利用することによりキャッシュのヒット率を維持しながらキャッシュ領域の容量を小さくできるキャッシュ処理装置の提供ができる。
【発明を実施するための最良の形態】
【００２５】
ＷＷＷサーバから取得したオブジェクトの存在を調べ、自動的に代替ＵＲＬの格納ができるように実現した。
【実施例１】
【００２６】
本発明の実施例１について図４から図７を用いて説明する。
【００２７】
図４は本発明のキャッシュ処理の機能をＰｒｏｘｙサーバ上に実装するもので、その実施例１の全体の構成を示す。即ち、Ｐｒｏｘｙサーバ１００、クライアント端末２００〜２０２、ネットワーク３００、ＷＷＷサーバ（ａ．ｃｏｍサイト）４００およびＷＷＷサーバ（ｂ．ｃｏｍサイト）４０１から構成する。
【００２８】
Ｐｒｏｘｙサーバ１００は、クライアント端末２００〜２０２からの要求に基づいてＷｅｂオブジェクト（以降、単にオブジェクトと言う）をＷＷＷサーバにアクセスしてオブジェクトを取得するか、または自身の持つキャッシュ領域から要求されたオブジェクトを取り出して要求元の端末に送信する。このＰｒｏｘｙサーバの詳細は後述するが、オブジェクトを格納するキャッシュ領域と代替ＵＲＬを格納する記憶領域とを備えている。
【００２９】
クライアント端末２００〜２０２は、Ｐｒｏｘｙサーバと例えばＬＡＮで結ばれており、このＰｒｏｘｙサーバに対してＷＷＷサーバへのアクセス要求を行い、オブジェクトの取得を指示する。これらクライアント端末２００〜２０２はブラウザを備え、Ｐｒｏｘｙサーバに対する指示やＰｒｏｘｙサーバから送信されたオブジェクトの表示はこのブラウザを用いて行う。
【００３０】
ネットワーク３００は、例えばインターネットである。
【００３１】
ＷＷＷサーバ４００、４０１はそれぞれａ．ｃｏｍ、ｂ．ｃｏｍのサイトのコンピュータで、このサイトで提供しているオブジェクトを保持している。
【００３２】
次に、本願発明のＰｒｏｘｙサーバ１００の構成を図５を用いて説明する。Ｐｒｏｘｙサーバ１００は、プログラムやデータおよび通信を制御するＣＰＵ１１０、データの送受信を制御する回線制御部１２０、キャッシュ処理を行うキャッシュ処理プログラム１３０、キャッシングされたオブジェクトを格納するキャッシュ領域１４０および代替ＵＲＬを格納する記憶領域１５０から構成する。
【００３３】
さらにキャッシュ処理プログラム１３０は、クライアント要求情報取得部１３１、オブジェクト取得部１３２、キャッシング部１３３およびオブジェクト送信部１３４から構成される。以下、キャッシュ処理プログラム１３０の各処理部の内容を説明する。
【００３４】
クライアント要求情報取得部１３１は、クライアント端末２００〜２０２から要求された情報、即ちＵＲＬを取得する。ＵＲＬにはインターネット上のコンピュータを識別するための名前であるドメイン名およびオブジェクトであるファイル名で構成され、ＵＲＬを指定することで何処のＷＷＷサーバからどの様なオブジェクトを取得すべきかが分かる。      
【００３５】
オブジェクト取得部１３２は、クライアント端末２００〜２０２から要求されたＵＲＬに基づいて、まずキャッシュ領域１４０をチェックし、そこに要求されたＵＲＬのＷｅｂオブジェクトが格納されていればこのキャッシュ記憶部から、なければ記憶領域１５０をチェックしそこに要求されたＵＲＬを見つければ対応するＵＲＬのオブジェクトをキャッシュ領域１４０から取り出し、後述するオブジェクト送信部１３４に通知する。キャッシュ領域１４０および記憶領域１５０に要求されたＵＲＬがないときは、ＷＷＷサーバ４００（４０１）にアクセスして要求されたドキュメントを取得し、オブジェクト送信部１３４に通知する（ＷＷＷサーバ４００（４０１）の記述はＷＷＷサーバ４００またはＷＷＷサーバ４０１のいずれでもよいことを意味している）。
【００３６】
キャッシング部１３３は、ＷＷＷサーバ４００（４０１）から取得したオブジェクトがキャッシュ領域１４０に格納さているかどうかをチェックし（即ち、取得したオブジェクトの内容とキャッシュ領域１４０に格納されているオブジェクトの内容を比較）、格納されていればこのオブジェクトのＵＲＬと今回ＷＷＷサーバから取得したオブジェクトのＵＲＬとを対応付けて記憶領域１５０に格納する。即ち、今回取得したオブジェクトのＵＲＬを代替ＵＲＬとして格納しておくものである。もし、キャッシュ領域１４０に今回取得したオブジェクトがなければ、このオブジェクトをキャッシュ領域１４０に格納する。これは、従来行われていたキャッシングそのものである。
【００３７】
オブジェクト送信部１３４は、オブジェクト取得部１３２およびキャッシング部１３３からの通知に基づいて指定されたオブジェクト（オブジェクト取得部１３２からはキャッシュ領域１４０から取り出したオブジェクトであり、キャッシング部１３３からはＷＷＷサーバ４００（４０１）から取得したオブジェクトである）を要求元のクライアント端末に送信する。
【００３８】
キャッシュ領域１４０は既に述べているが、ＷＷＷサーバ４００（４０１）から取得したオブジェクトをキャッシングにより格納した記憶部である。従来のキャッシュ領域と同一のものである。
【００３９】
記憶領域１５０は、キャッシュ領域１４０に格納されているオブジェクトで異なるＵＲＬを持つオブジェクトの代替ＵＲＬを元のＵＲＬと対応付けて格納している。ここでは、対応付けられたＵＲＬのみでオブジェクトのデータは格納していない。
【００４０】
次に、実施例１のＰｒｏｘｙサーバ１００の処理フローを図６を用いて説明する。
【００４１】
まず、クライアント端末２００〜２０２の何れかから要求されたＵＲＬを取得する。この取得したＵＲＬを「ＵＲＬ１」とする。この部分は、図５のクライアント要求情報取得部１３１で処理が行われる。（Ｓ１１）。
【００４２】
次に、キャッシュ領域１４０を参照して、取得したＵＲＬ１のオブジェクトが格納されているかどうかをチェックする。具体的には、キャッシュ領域１４０に格納さているオブジェクトのＵＲＬの文字列（ここでは、ＵＲＬが実質的にオブジェクト名になる）がＵＲＬ１に等しいかどうか調べる。ＵＲＬ１がキャッシュ領域１４０に格納されていればここからそのオブジェクトを取り出し、オブジェクト送信部１３４にオブジェクトの送信依頼を行う。もし、キャッシュ領域１４０にＵＲＬ１が格納されていなければ、記憶領域１５０をチェックし、ここにＵＲＬ１のＵＲＬを見つければ、ＵＲＬ１が代替ＵＲＬであるので対応するＵＲＬに読み替えて、そのＵＲＬのオブジェクトをキャッシュ領域１４０から取り出して同様にオブジェクト送信部１３４に対してオブジェクトの送信依頼を行う。記憶領域１５０にもＵＲＬ１を見つけることがなければ、Ｐｒｏｘｙサーバ１００のキャッシュ領域には要求されたオブジェクトは格納されていない、ということであるのでＷＷＷサーバ４００（４０１）にアクセスしてオブジェクトを取得する。ここまでの処理は図５のオブジェクト取得部１３２で処理が行われる。（Ｓ１２〜Ｓ１６）。
【００４３】
ＷＷＷサーバ４００（４０１）から取得したオブジェクトは、キャッシュ領域１４０に格納されているかどうか、を調べる。ここでは、ＵＲＬの文字列を調べるのではなく、取得したオブジェクトと格納されているオブジェクトのデータ同士を突き合わせ、その内容をが等しいかどうかを調べる。同一の内容のオブジェクトがあると判断されれば、取得したオブジェクトは既に異なるＵＲＬで登録されいることになるので、そのオブジェクトのＵＲＬと今回取得したオブジェクトのＵＲＬ１とを対応付けて記憶領域１５０に格納する。もし、同一内容のオブジェクトがなければ、キャッシュ領域１４０に取得したオブジェクトを格納する。従って、ＷＷＷサーバ４００（４０１）から取得したオブジェクトは、オブジェクトそのもの、または代替ＵＲＬの何れかをキャッシュ領域１４０または記憶領域１５０に格納することになる。この部分の処理は図５のキャッシング部１３３で処理される。（Ｓ１７〜Ｓ１９）。
【００４４】
キャッシング部１３３からは、ＷＷＷサーバ４００（４０１）から取得してキャッシングされたオブジェクトを、オブジェクト取得部１３２からはキャッシュ領域１４０から取り出したオブジェクトを要求元のクライアント端末２００〜２０２に送信する。この部分の処理は図５のオブジェクト送信部１３４で行う。（Ｓ２０）。
【００４５】
以上により、クライアント端末２００〜２０２で要求したオブジェクトはキャッシュ領域１４０またはＷＷＷサーバ４００（４０１）から取得して要求元に送信することができる。この処理のフローを図７を用いてより具体的に説明する。
【００４６】
図７ではクライアント端末におけるブラウザの表示画面のイメージで説明する（図中の「丸付き数字１」はここでは＜１＞で示す）。
【００４７】
まず、クライアントは表示中の画面の「ｘｘｘ．ｘｌｓのダウンロード」をクリック＜１＞してコンテンツのダウンロードをＰｒｏｘｙサーバ１００に要求する。Ｐｒｏｘｙサーバでは「ｂ．ｃｏｍ／ｘｘｘ．ｘｌｓ」のＵＲＬをクライアント端末１から取得＜２＞し、このＵＲＬがキャッシュされているかどうかをキャッシュ領域１４０および記憶領域１５０を調べる。その結果、格納されていない（キャッシュヒットしなかった）ので、「ｂ．ｃｏｍ」サイトのＷＷＷサーバ４０１にアクセス＜３＞し、ここに格納されているコンテンツ１である「ｂ．ｃｏｍ／ｘｘｘ．ｘｌｓ」をＰｒｏｘｙサーバに取り込む＜４＞。ここで、「ｂ．ｃｏｍ／ｘｘｘ．ｘｌｓ」がキャッシュ領域１４０に格納されていなかったので、ここに格納する＜５＞。また取得したコンテンツ１は要求元であるクライアント端末１に送信する＜６＞。
【００４８】
次に、クライアント端末２のブラウザが表示中の画面から「ａ．ｃｏｍ」サイトのホームページにあるコンテンツ２をクリックする＜７＞。Ｐｒｏｘｙサーバ１００は前述の＜２＞〜＜６＞と同様に＜８＞〜＜１２＞を実施する。これによりキャッシュ領域１４０には、コンテンツ２である「ａ．ｃｏｍ／ｉｎｄｅｘ．ｈｔｍｌ」が格納され（キャッシングされ）、クライアント端末２のブラウザはこのコンテンツ２を表示することになる。
【００４９】
コンテンツ２の表示画面から「ｘｘｘ．ｘｌｓ」のコンテンツを要求する＜１３＞と、Ｐｒｏｘｙサーバ１００は「ａ．ｃｏｍ／ｘｘｘ．ｘｌｓ」のＵＲＬを取得して＜１４＞キャッシュ領域１４０および記憶領域１５０をチェックする。「ａ．ｃｏｍ／ｘｘｘ．ｘｌｓ」はキャッシングされていなかったので、再び「ａ．ｃｏｍ」サイトのＷＷＷサーバ４００にアクセス＜１５＞し、コンテンツ３である「ａ．ｃｏｍ／ｘｘｘ．ｘｌｓ」を取得する＜１６＞。コンテンツ３を構成するデータとキャッシュ領域１４０に格納されているオブジェクトを構成するデータとを比較し、コンテンツ３とコンテンツ１とが同一のものであったのでこれらのＵＲＬを対応付けて記憶領域１５０に格納する＜１７＞。即ち、「ａ．ｃｏｍ／ｘｘｘ．ｘｌｓ」と「ｂ．ｃｏｍ／ｘｘｘ．ｘｌｓ」を対応付けて格納する。また、コンテンツ３は要求元であるクライアント端末２に送信する＜１８＞。
【００５０】
ここまで、同一内容のコンテンツ（オブジェクト）でありながら異なるＵＲＬであったため代替ＵＲＬが記憶領域１５０に格納される処理を示した。次に、クライアント端末３が「ａ．ｃｏｍ／ｘｘｘ．ｘｌｓ」を要求した＜１９＞とき、Ｐｒｏｘｙサーバ１００は取得した＜２０＞ＵＲＬ（即ち、「ａ．ｃｏｍ／ｘｘｘ．ｘｌｓ」）をキャッシュ領域１４０に続いて記憶領域１５０の順に格納されているかどうか、をチェックする＜２１＞。記憶領域１５０にそのＵＲＬが格納されていたので、対応するＵＲＬ（即ち、「ｂ．ｃｏｍ／ｘｘｘ．ｘｌｓ」）のオブジェクトをキャッシュ領域１４０から取り出し＜２２＞、要求元であるクライアント端末３に送信する＜２３＞。
【００５１】
以上述べたように、従来では「ｂ．ｃｏｍ／ｘｘｘ．ｘｌｓ」と「ａ．ｃｏｍ／ｘｘｘ．ｘｌｓ」のオブジェクトをそれぞれキャッシュ領域１４０に格納していたが、本願発明により代替ＵＲＬの格納だけで済ませることができる。これからも分かるように、コンテンツ（オブジェクト）そのもののデータが大きければ大きいほど、その効果は大なるものとなる。
【実施例２】
【００５２】
実施例１では、Ｐｒｏｘｙサーバ１００が取得したオブジェクトのＵＲＬを代替ＵＲＬとして格納する場合に、取得したオブジェクトと格納済のオブジェクトとのそれぞれの内容を比較して同一性をチェックしていた。実施例２では、この同一性をチェックすることなしに取得したオブジェクトに定義されている代替ＵＲＬの記述に基づいて代替ＵＲＬを格納する例である。
【００５３】
実施例２の全体構成およびＰｒｏｘｙサーバの構成は図４および図５と同様である（ただし、図５のキャッシング部１３３の処理の内容が実施例１とは異なる）。また、図６のフローではＳ１７〜Ｓ１９のキャッシング部１３３の部分を除いては同様である。
【００５４】
図８は実施例２のキャッシング部１３３のフローを示すものであるが、図６のＳ１７〜Ｓ１９の部分に置き換えて、その部分を説明する。Ｓ３１のステップでは図６のＳ１６においてＷＷＷサーバから取得したオブジェクトをキャッシュ領域１４０に格納する。即ち、Ｓ１２で既にキャッシュ領域１４０には格納されていないことが分かっているので、従来方法と同様にまずＷＷＷサーバから取得したオブジェクトをキャッシングするのである。
【００５５】
次に、取得したオブジェクトに参照するオブジェクトがあって、その参照するオブジェクトの代替ＵＲＬが定義されているか（記述されているか）どうか、を調べる。定義されていなければこのまま終了するが、定義されていればキャッシュ領域１４０にこのＵＲＬと同一のＵＲＬがあるかどうかをＵＲＬの文字列の比較で調べる（オブジェクトの内容を比較して調べるのではない）。格納されていなければ、参照するオブジェクトのＵＲＬを基にＷＷＷサーバにアクセスし、そのオブジェクトを取得してキャッシュ領域１４０に格納する。既にこの参照するオブジェクトがキャッシュ領域１４０に格納されていればこの処理は不要である。そして、定義されている内容に基づいて代替ＵＲＬを記憶領域１５０に格納する。ここでの処理は、まず定義に基づいて代替ＵＲＬを記憶領域１５０に格納し、次にキャッシュ領域１４０に参照するオブジェクトを取得して格納するようにしてもよい。（Ｓ３１〜Ｓ３５）。
【００５６】
実施例１と同様に図９を用いてより具体的に説明する。図９の内＜１＞〜＜１１＞までは図８の＜１＞〜＜１１＞と同一であるので説明は省略する。＜１２＞において、コンテンツ２に定義されている（記述されている）代替ＵＲＬを記憶領域１５０に格納する。即ち、コンテンツ２に記述された
＜Ｐｒｏｘｙｃａｓｈｅ  ｈｒｅｆ＝”ａ．ｃｏｍ／ｘｘｘ．ｘｌｓ”＞
＜ａｉｌｉａｓ  ｈｒｅｆ＝”ｂ．ｃｏｍ／ｘｘｘ．ｘｌｓ”＞
＜／Ｐｒｏｘｙｃａｓｈｅ＞
は、「ａ．ｃｏｍ／ｘｘｘ．ｘｌｓ」と「ｂ．ｃｏｍ／ｘｘｘ．ｘｌｓ」は同一オブジェクトであるが異なるＵＲＬを持つことを定義したものである。この定義を記憶領域１５０にＵＲＬ同士を対応付けて格納して置くのである。この場合、「ｂ．ｃｏｍ／ｘｘｘ．ｘｌｓ」は＜５＞で既にキャッシュ領域１４０に格納してあるので単に記憶領域１５０に代替ＵＲＬを格納するだけでよい。しかし通常は参照するコンテンツ（オブジェクト）がキャッシュ領域１４０に格納されているかどうかを調べて（ＵＲＬを調べるだけでよい）、もし格納されていないようであればそのＵＲＬのＷＷＷサーバにアクセスしてオブジェクトを取得し、格納しておく必要がある。
【００５７】
コンテンツ２に定義された参照するコンテンツおよびその代替ＵＲＬをそれぞれキャッシュ領域１４０と記憶領域１５０に格納後、コンテンツ２は要求元のクライアント端末２に送信される＜１３＞。クライアント端末２のブラウザが送信されたコンテンツ２を表示して、クライアントがその画面中の「ｘｘｘ．ｘｌｓのダウンロード」をクリックをする＜１４＞と、Ｐｒｏｘｙサーバ１００は「ａ．ｃｏｍ／ｘｘｘ．ｘｌｓ」のＵＲＬを取得し＜１５＞、そのＵＲＬがキャッシュ領域１４０に格納されているかどうか、を調べる。キャッシュ領域１４０にそのＵＲＬは格納されていないので次に記憶領域１５０を調べる＜１６＞。そして、「ａ．ｃｏｍ／ｘｘｘ．ｘｌｓ」のＵＲＬに対応する「ｂ．ｃｏｍ／ｘｘｘ．ｘｌｓ」のＵＲＬを知り＜１７＞、キャッシュ領域１４０からそのコンテンツ（即ち、ｂ．ｃｏｍ／ｘｘｘ．ｘｌｓのオブジェクト）を取り出す。取り出したコンテンツ１をクライアント端末２に送信＜１８＞する。
【００５８】
実施例２では、ＷＷＷサーバから取得したコンテンツ（オブジェクト）に代替ＵＲＬの定義がなされているので、実施例１のようにコンテンツの内容を突き合わせて調べる必要はない。
【００５９】
なお、ブラウザは、コンテンツに記述されている代替ＵＲＬの定義は無視するものとする。
【００６０】
また、実施例２では「ａ．ｃｏｍ」サイトから「ａ．ｃｏｍ／ｘｘｘ．ｘｌｓ」のＵＲＬで「ｂ．ｃｏｍ／ｘｘｘ．ｘｌｓ」のコンテンツを引き出せるようにしたが、この逆の場合は不可能とすることも必要である。即ち、「ａ．ｃｏｍ」サイトから「ｂ．ｃｏｍ／ｘｘｘ．ｘｌｓ」のＵＲＬで「ａ．ｃｏｍ／ｘｘｘ．ｘｌｓ」のコンテンツを代替させることは不可能とすることである。これは、オブジェクトの乗っ取りを防止するためである。
【００６１】
また、本実施例ではＰｒｏｘｙサーバに本発明の機能を実装するようにしたが、クライアント端末のブラウザ側に実装するようにしてもよい。
【００６２】
以上の実施形態に関し、さらに以下の付記を開示する。
（付記１）
Ｗｅｂオブジェクトのキャッシュ処理プログラムであって、
ＷＷＷサーバから取得したＷｅｂオブジェクトと同一のＷｅｂオブジェクトが、キャッシュ領域に格納されているか否かを判定するオブジェクト格納判定手順と、
前記オブジェクト格納判定手順が前記Ｗｅｂオブジェクトが格納されていると判定した場合に、前記同一と判定されたＷｅｂオブジェクトのＵＲＬと前記取得したＷｅｂオブジェクトのＵＲＬとを対応付けて記憶領域に格納する代替ＵＲＬ格納手順と
をコンピュータに実行させることを特徴としたキャッシュ処理プログラム。
（付記２）
Ｗｅｂオブジェクトのキャッシュ処理プログラムであって、
ＷＷＷサーバから取得したＷｅｂオブジェクト中に、参照するＷｅｂオブジェクトのＵＲＬに対する別名のＵＲＬが代替ＵＲＬとして定義されているか否かを判定する代替ＵＲＬ定義判定手順と、
前記代替ＵＲＬ定義判定手順で代替ＵＲＬが定義されている場合に、該定義に基づいて前記参照するＷｅｂオブジェクトのＵＲＬと該ＵＲＬの代替ＵＲＬとを対応付けて記憶領域に格納し、該参照するＷｅｂオブジェクトがキャッシュ領域に格納されていない場合に該参照するＷｅｂオブジェクトのＵＲＬから該参照するＷｅｂオブジェクトを取得して該キャッシュ領域に格納するキャッシング手順と
をコンピュータに実行させることを特徴としたキャッシュ処理プログラム。
（付記３）
Ｗｅｂオブジェクトを格納したキャッシュ領域と、該ＷｅｂオブジェクトのＵＲＬと該ＵＲＬとは別名の代替ＵＲＬとを対応付けて格納した記憶領域を備えるキャッシュ処理プログラムであって、
クライアント端末からのＷｅｂオブジェクトの取得要求において指定されたＵＲＬのＷｅｂオブジェクトが前記キャッシュ領域に格納されているか否かを判定するオブジェクトチェック手順と、
前記オブジェクトチェック手順で前記ＵＲＬのＷｅｂオブジェクトが格納されていない場合に、該ＵＲＬが代替ＵＲＬとして前記記憶領域に格納されているか否かを判定する代替ＵＲＬチェック手順と、
前記代替ＵＲＬチェック手順で前記代替ＵＲＬとして格納されていると判定された場合に、該代替ＵＲＬに対応したＵＲＬのＷｅｂオブジェクトを前記キャッシュ領域から前記クライアント端末に送信するオブジェクト送信手順と
をコンピュータに実行させることを特徴としたキャッシュ処理プログラム。
（付記４）
Ｗｅｂオブジェクトのキャッシュ処理装置であって、
ＷＷＷサーバから取得したＷｅｂオブジェクトと同一のＷｅｂオブジェクトが、キャッシュ領域に格納されているか否かを判定するオブジェクト格納判定手段と、
前記オブジェクト格納判定手段が前記Ｗｅｂオブジェクトが格納されていると判定した場合に、前記同一と判定されたＷｅｂオブジェクトのＵＲＬと前記取得したＷｅｂオブジェクトのＵＲＬとを対応付けて記憶領域に格納する代替ＵＲＬ格納手段と
を有することを特徴としたキャッシュ処理装置。
（付記５）
Ｗｅｂオブジェクトを格納したキャッシュ領域と、該ＷｅｂオブジェクトのＵＲＬと該ＵＲＬとは別名の代替ＵＲＬとを対応付けて格納した記憶領域を備えるキャッシュ処理装置であって、
クライアント端末からのＷｅｂオブジェクトの取得要求において指定されたＵＲＬのＷｅｂオブジェクトが前記キャッシュ領域に格納されているか否かを判定するオブジェクトチェック手段と、
前記オブジェクトチェック手段で前記ＵＲＬのＷｅｂオブジェクトが格納されていない場合に、該ＵＲＬが代替ＵＲＬとして前記記憶領域に格納されているか否かを判定する代替ＵＲＬチェック手段と、
前記代替ＵＲＬチェック手段で前記代替ＵＲＬとして格納されていると判定された場合に、該代替ＵＲＬに対応したＵＲＬのＷｅｂオブジェクトを前記キャッシュ領域から前記クライアント端末に送信するオブジェクト送信手段と
を有することを特徴としたキャッシュ処理装置。
（付記６）
Ｗｅｂオブジェクトのキャッシュ処理方法であって、
ＷＷＷサーバから取得したＷｅｂオブジェクトと同一のＷｅｂオブジェクトが、キャッシュ領域に格納されているか否かを判定するオブジェクト格納判定手順と、
前記オブジェクト格納判定手順が前記Ｗｅｂオブジェクトが格納されていると判定した場合に、前記同一と判定されたＷｅｂオブジェクトのＵＲＬと前記取得したＷｅｂオブジェクトのＵＲＬとを対応付けて記憶領域に格納する代替ＵＲＬ格納手順と
を有することを特徴としたキャッシュ処理方法。
（付記７）
Ｗｅｂオブジェクトを格納したキャッシュ領域と、該ＷｅｂオブジェクトのＵＲＬと該ＵＲＬとは別名の代替ＵＲＬとを対応付けて格納した記憶領域を備えるキャッシュ処理方法であって、
クライアント端末からのＷｅｂオブジェクトの取得要求において指定されたＵＲＬのＷｅｂオブジェクトが前記キャッシュ領域に格納されているか否かを判定するオブジェクトチェック手順と、
前記オブジェクトチェック手順で前記ＵＲＬのＷｅｂオブジェクトが格納されていない場合に、該ＵＲＬが代替ＵＲＬとして前記記憶領域に格納されているか否かを判定する代替ＵＲＬチェック手順と、
前記代替ＵＲＬチェック手順で前記代替ＵＲＬとして格納されていると判定された場合に、該代替ＵＲＬに対応したＵＲＬのＷｅｂオブジェクトを前記キャッシュ領域から前記クライアント端末に送信するオブジェクト送信手順と
を有することを特徴としたキャッシュ処理方法。
【図面の簡単な説明】
【００６３】
【図１】第１の発明の原理図である。
【図２】第２の発明の原理図である。
【図３】第３の発明の原理図である。
【図４】実施例１の全体構成図である。
【図５】実施例１のＰｒｏｘｙサーバの構成例である。
【図６】実施例１の処理フロー例（その１）である。
【図７】実施例１の処理フロー例（その２）である。
【図８】実施例２のキャッシング部の処理フロー例（その１）である。
【図９】実施例２の処理フロー例（その２）である。
【符号の説明】
【００６４】
１０    オブジェクト格納判定手順
２０    代替ＵＲＬ格納手順
３０    キャッシュ領域
４０    記憶領域
５０    代替ＵＲＬ定義判定手順
６０    キャッシング手順
７０    オブジェクトチェック手順
８０    代替ＵＲＬチェック手順
９０    オブジェクト送信手順
１００  Ｐｒｏｘｙサーバ
１１０  ＣＰＵ
１２０  回線制御部
１３０  キャッシュ処理プログラム
１３１  クライアント要求情報取得部
１３２  オブジェクト取得部
１３３  キャッシング部
１３４  オブジェクト送信部
１４０  キャッシュ領域
１５０  記憶領域
２００  クライアント端末１
２０１  クライアント端末２
２０２  クライアント端末ｎ
３００  ネットワーク
４００  ＷＷＷサーバ（ａ．ｃｏｍサイト）
４０１  ＷＷＷサーバ（ｂ．ｃｏｍサイト）
【図１】
2005267435.tif 000003
【図２】
2005267435.tif 000004
【図３】
2005267435.tif 000005
【図４】
2005267435.tif 000006
【図５】
2005267435.tif 000007
【図６】
2005267435.tif 000008
【図７】
2005267435.tif 000009
【図８】
2005267435.tif 000010
【図９】
2005267435.tif 000011