(57)【要約】【課題】Ｗｅｂページの転送時間を短縮すること。【解決手段】実施形態に係る制御システムは、上位ファイルとオブジェクトファイルとを含むＷｅｂページの送受信を制御する。サーバの送信部は、オブジェクトファイルを更新毎の版単位で一意に識別する識別情報を上位ファイルに埋め込み、送信する。クライアントの識別情報記憶部は、キャッシュに記憶された所定の版のオブジェクトファイルに対応する識別情報を記憶する。判定部は、サーバから受信した上位ファイルから取り出した識別情報と、識別情報記憶部に記憶された識別情報とを比較し、上位ファイルから取り出した識別情報によって識別される版のオブジェクトファイルがキャッシュに記憶済みであるか否かを判定する。要求部は、キャッシュに記憶済みでないと判定された場合に、オブジェクトファイルの送信をサーバに要求する。【選択図】図１
2013178676.tif 000002
【特許請求の範囲】
【請求項１】
上位ファイルと、該上位ファイルに取得先が記述されたオブジェクトファイルとを含むＷｅｂページを送信するサーバと、Ｗｅｂページの送信を要求するクライアントとを備えた制御システムであって、
前記サーバは、
前記オブジェクトファイルを更新毎の版単位で一意に識別する識別情報を前記上位ファイルに埋め込み、前記クライアントに該上位ファイルを送信する送信部を備え、
前記クライアントは、
前記サーバから受信した所定の版のオブジェクトファイルを記憶するキャッシュと、
前記キャッシュに記憶された所定の版のオブジェクトファイルに対応する前記識別情報を記憶する識別情報記憶部と、
前記サーバから前記上位ファイルを受信すると、該上位ファイルから前記識別情報を取り出して、取り出した識別情報と前記識別情報記憶部に記憶された識別情報とを比較し、該上位ファイルから取り出した識別情報によって識別される版のオブジェクトファイルが前記キャッシュに記憶済みであるか否かを判定する判定部と、
前記オブジェクトファイルが前記キャッシュに記憶済みでないと判定された場合に、前記上位ファイルに記述された取得先を用いて、該オブジェクトファイルの送信を前記サーバに要求する要求部と
を備えたことを特徴とする制御システム。
【請求項２】
前記送信部は、乱数情報を前記上位ファイルに埋め込んで前記クライアントに送信し、
前記判定部は、前記上位ファイルから取り出した乱数情報と前記識別情報記憶部に記憶された乱数情報とが一致するか否かを比較して、該上位ファイルから取り出した乱数情報によって識別される版のオブジェクトファイルが前記キャッシュに記憶済みであるか否かを判定することを特徴とする請求項１に記載の制御システム。
【請求項３】
前記送信部は、前記オブジェクトファイルの更新時刻を示す更新情報を前記上位ファイルに埋め込んで前記クライアントに送信し、
前記判定部は、前記上位ファイルから取り出した更新情報と前記識別情報記憶部に記憶された更新情報とを比較して、該上位ファイルから取り出した更新情報が示す更新時刻が、前記識別情報記憶部に記憶された更新情報が示す更新時刻よりも新しいか否かを判定することによって、該上位ファイルから取り出した更新情報によって識別される版のオブジェクトファイルが前記キャッシュに記憶済みであるか否かを判定することを特徴とする請求項１に記載の制御システム。
【請求項４】
上位ファイルと、該上位ファイルに取得先が記述されたオブジェクトファイルとを含むＷｅｂページを送信するサーバと、Ｗｅｂページの送信を要求するクライアントとを備えた制御システムで実行される制御方法であって、
前記サーバが、前記オブジェクトファイルを更新毎の版単位で一意に識別する識別情報を前記上位ファイルに埋め込み、前記クライアントに該上位ファイルを送信する送信工程を含み、
前記クライアントは、前記サーバから受信した所定の版のオブジェクトファイルを記憶するキャッシュと、前記キャッシュに記憶された所定の版のオブジェクトファイルに対応する前記識別情報を記憶する識別情報記憶部とを備え、
前記制御方法は、
前記クライアントが、前記サーバから前記上位ファイルを受信すると、該上位ファイルから前記識別情報を取り出して、取り出した識別情報と前記識別情報記憶部に記憶された識別情報とを比較し、該上位ファイルから取り出した識別情報によって識別される版のオブジェクトファイルが前記キャッシュに記憶済みであるか否かを判定する判定工程と、
前記オブジェクトファイルが前記キャッシュに記憶済みでないと判定された場合に、前記上位ファイルに記述された取得先を用いて、該オブジェクトファイルの送信を前記サーバに要求する要求工程と
を含むことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、制御システム及び制御方法に関する。
【背景技術】
【０００２】
近年、クラウドコンピューティング（cloud  computing）の発展に伴い、無線回線経由でスマートフォン（smart  phone）からＷｅｂブラウジング（browsing）するケースや、国際回線経由で海外サイトをＷｅｂブラウジングするケースなどが増えている。もっとも、このような無線回線経由や国際回線経由の場合、Ｗｅｂページの転送に時間がかかり、エンドユーザの体感品質に影響を及ぼすことがある。
【０００３】
このため、ＨＴＴＰ（Hypertext  Transfer  Protocol）を利用するＷｅｂシステムは、クライアント側にキャッシュの機能を備える構成などによって、リロードや同じサイト内を移動した場合のレスポンスタイムの改善を試みている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】R.Fielding, et al., “Hypertext Transfer Protocol-HTTP/1.1”, ［online］、［平成24年2月20日検索］、インターネット<URL：http://www.w3.org/Protocols/rfc2616/rfc2616.html>
【非特許文献２】R.Fielding, et al., “HTTP/1.1, part 6: Caching”, IETF, ［online］、［平成24年2月20日検索］、インターネット<URL：http://tools.ietf.org/html/draft-ietf-httpbis-p6-cache-18>
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の技術においては、依然としてＷｅｂページの転送に時間がかかる場合がある。
【課題を解決するための手段】
【０００６】
実施形態に係る制御システムは、上位ファイルと、該上位ファイルに取得先が記述されたオブジェクトファイルとを含むＷｅｂページの送受信を制御する。サーバは、送信部を備える。前記送信部は、前記オブジェクトファイルを更新毎の版単位で一意に識別する識別情報を前記上位ファイルに埋め込み、前記Ｗｅｂページの送信を要求するクライアントに該上位ファイルを送信する。前記クライアントは、キャッシュと、識別情報記憶部と、判定部と、要求部とを備える。前記キャッシュは、前記サーバから受信した所定の版のオブジェクトファイルを記憶する。前記識別情報記憶部は、前記キャッシュに記憶された所定の版のオブジェクトファイルに対応する前記識別情報を記憶する。前記判定部は、前記サーバから前記上位ファイルを受信すると、該上位ファイルから前記識別情報を取り出して、取り出した識別情報と前記識別情報記憶部に記憶された識別情報とを比較し、該上位ファイルから取り出した識別情報によって識別される版のオブジェクトファイルが前記キャッシュに記憶済みであるか否かを判定する。前記要求部は、前記オブジェクトファイルが前記キャッシュに記憶済みでないと判定された場合に、前記上位ファイルに記述された取得先を用いて、該オブジェクトファイルの送信を前記サーバに要求する。
【発明の効果】
【０００７】
実施形態に係る制御システム及び制御方法によれば、Ｗｅｂページの転送時間を短縮することができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、本実施形態に係るＷｅｂシステムの構成を示す図である。
【図２】図２は、本実施形態に係るＨＴＭＬ（HyperText  Markup  Language）ファイルを説明するための図である。
【図３】図３は、本実施形態に係るキャッシュ制御情報を説明するための図である。
【図４】図４は、本実施形態に係るＨＴＭＬファイルを説明するための図である。
【図５】図５は、本実施形態におけるキャッシュ判定を説明するための図である。
【図６】図６は、本実施形態に係るＷｅｂサーバ又はＷｅｂクライアントと同様の機能を実現するプログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【０００９】
以下、実施形態に係る制御システム及び制御方法を説明する。なお、以下の実施形態により本発明が限定されるものではない。
【００１０】
図１は、本実施形態に係るＷｅｂシステム１０（「制御システム」とも称する）の構成を示す図である。図１に示すように、Ｗｅｂシステム１０は、Ｗｅｂサーバ１００と、Ｗｅｂクライアント２００とを備える。Ｗｅｂサーバ１００は、ＨＴＭＬファイル解析部１１０と、キャッシュ制御情報埋め込み部１２０と、ＨＴＭＬファイルレスポンス部１３０と、オブジェクトファイルレスポンス部１４０とを備える。また、Ｗｅｂクライアント２００は、キャッシュ２１０と、キャッシュ制御情報記憶部２２０と、ＨＴＭＬファイルリクエスト部２３０と、キャッシュ制御情報取り出し部２４０と、キャッシュ判定部２５０と、オブジェクトファイルリクエスト部２６０とを備える。
【００１１】
また、本実施形態において、Ｗｅｂページは、ＨＴＭＬファイルと、ＨＴＭＬファイルに取得先が記述されたオブジェクトファイルとを含み、上位のＨＴＭＬファイルと下位のオブジェクトファイルとが依存関係を持つ階層構造となっている。このため、Ｗｅｂクライアント２００は、まずＨＴＭＬファイルをＷｅｂサーバ１００から取得した後に、ＨＴＭＬファイルに記述された取得先を用いてオブジェクトファイルをＷｅｂサーバ１００から取得することで、Ｗｅｂページを取得する。また、Ｗｅｂクライアント２００は、Ｗｅｂサーバから取得した所定の版のオブジェクトファイルをキャッシュ２１０に格納する。また、Ｗｅｂクライアント２００は、キャッシュ２１０に格納した所定の版のオブジェクトファイルに対応するキャッシュ制御情報をキャッシュ制御情報記憶部２２０に格納する。なお、キャッシュ制御情報については後述する。
【００１２】
このような構成の下、本実施形態においては、キャッシュ２１０に格納済みのオブジェクトファイルが最新のオブジェクトファイルであるか否かをＷｅｂクライアント２００側で判定することで、Ｗｅｂページの転送時間を短縮する。
【００１３】
すなわち、従来のＷｅｂシステムにおいては、Ｗｅｂクライアントが、Ｗｅｂクライアントのキャッシュに格納済みのオブジェクトファイルが最新のオブジェクトファイルであるか否かを、Ｗｅｂサーバに１つ１つ問い合わせていた。そして、Ｗｅｂサーバが、１つ１つの問い合わせを判定し、最新のオブジェクトファイルでないと判定した場合に、最新のオブジェクトファイルをＷｅｂクライアントに送信していた。この場合、ＷｅｂクライアントからＷｅｂサーバへの問い合わせ（１つの問い合わせは、例えば０．２ＫＢ程度）が、ＨＴＭＬファイルに取得先が記述されたオブジェクトの数分、大量かつ個別に発生することになる。この大量かつ個別に発生する問い合わせが無線回線や海外回線など遅延の大きいネットワークを介してＷｅｂサーバに送信され、また、Ｗｅｂサーバ側で１つ１つの問い合わせを判定することが、Ｗｅｂページの転送時間を長くする原因と考えられる。
【００１４】
この点、本実施形態に係るＷｅｂシステム１０は、最新のオブジェクトファイルであるか否かをＷｅｂクライアント２００側で一括して判定し、必要なオブジェクトファイルのみＷｅｂサーバ１００側に要求する。すると、大量かつ個別に発生していた問い合わせは大幅に削減されることになり、Ｗｅｂページの転送時間を短縮することが可能になる。
【００１５】
Ｗｅｂページのダウンロード１回目を説明する。まず、Ｗｅｂクライアント２００のＨＴＭＬファイルリクエスト部２３０が、Ｗｅｂサーバ１００に対してＷｅｂページのリクエストを送信する。例えば、ＨＴＭＬファイルリクエスト部２３０は、Ｗｅｂブラウザに対するＵＲＬ（Uniform  Resource  Locator）「http://www.ntt.co.jp/index.html」の入力を受け付け、受け付けたＵＲＬを用いてＷｅｂサーバ１００にアクセスする。
【００１６】
一方、Ｗｅｂサーバ１００のＨＴＭＬファイル解析部１１０は、Ｗｅｂクライアント２００からリクエストを受信すると、リクエストされたＨＴＭＬファイルを解析し、このＨＴＭＬファイル内に取得先が記述されたオブジェクトファイルを特定する。
【００１７】
図２は、本実施形態に係るＨＴＭＬファイルを説明するための図である。例えば、図２の矢印ａの行に「href=”./css/2011/import_common.css”」といったhref属性の記述があるが、この記述が、オブジェクトファイルとその取得先とを示す。同様に、例えば、図２の矢印ｂの行に「src=”./js/2011/import_lib.jis”」といったsrc属性の記述があるが、この記述も、オブジェクトファイルとその取得先とを示す。例えば、ＨＴＭＬファイル解析部１１０は、ＨＴＭＬファイル「index.html」を解析して、このようなhref属性やsrc属性に記述されたオブジェクトファイルを特定する。
【００１８】
続いて、キャッシュ制御情報埋め込み部１２０が、ＨＴＭＬファイル解析部１１０によって特定された各オブジェクトファイルについて、キャッシュ制御情報を生成し、生成したキャッシュ制御情報をＨＴＭＬファイルに埋め込む。ここで、キャッシュ制御情報とは、各オブジェクトファイルを更新毎の版単位で一意に識別するための識別情報である。例えば、キャッシュ制御情報は、オブジェクトファイルが更新される毎に割り当てられる乱数情報（例えばEtagのような情報）や、オブジェクトファイルの更新時刻を示す更新情報（例えばLast−Modifiedのような情報）である。
【００１９】
例えば、キャッシュ制御情報埋め込み部１２０は、図２に示すように、
./css/2011/import_common.css  Etag100
./css/2011/import_lib.jis  Etag110
./css/2011/import_common2.css  Etag120
./css/2011/import_common3.css  Etag130
./css/2011/import_common4.css  Etag140
./css/2011/import_common5.css  Etag150・・・
といった識別情報の一覧を生成し、ＨＴＭＬファイル「index.html」の任意の場所に埋め込む。なお、例えば、「./css/2011/import_common.css」は、「Etag100」の識別情報によって識別されるオブジェクトファイルがどのオブジェクトファイルであるかを示す情報である。
【００２０】
なお、本実施形態においては、キャッシュ制御情報埋め込み部１２０が、ＨＴＭＬファイルを解析してオブジェクトファイルを特定したタイミングで、新たにキャッシュ制御情報を生成する手法を記載したが、実施形態はこれに限られるものではない。例えば、Ｗｅｂサーバ１００は、Ｗｅｂクライアント２００とのやりとりとは別に、別途オブジェクトファイルの生成や更新を行う場合があるが、この生成や更新の際に、オブジェクトファイルと対応付けて識別情報を生成している場合がある。そこで、キャッシュ制御情報埋め込み部１２０は、既に生成済みの識別情報を流用し、流用した識別情報を一覧にすることで、キャッシュ制御情報を生成してもよい。あるいは、Ｗｅｂサーバ１００が、Ｗｅｂページ毎に、識別情報の一覧としてのキャッシュ制御情報を生成済みである場合には、キャッシュ制御情報埋め込み部１２０は、ＨＴＭＬファイルを解析することなく、生成済みのキャッシュ制御情報を流用してもよい。
【００２１】
図１に戻り、Ｗｅｂサーバ１００のＨＴＭＬファイルレスポンス部１３０は、キャッシュ制御情報埋め込み部１２０によってキャッシュ制御情報が埋め込まれたＨＴＭＬファイルを、Ｗｅｂクライアント２００に送信する。
【００２２】
一方、Ｗｅｂクライアント２００のキャッシュ制御情報取り出し部２４０は、Ｗｅｂサーバ１００から受信したＨＴＭＬファイルからキャッシュ制御情報を取り出す。そして、キャッシュ判定部２５０が、キャッシュ制御情報取り出し部２４０によって取り出されたキャッシュ制御情報と、キャッシュ制御情報記憶部２２０に記憶されたキャッシュ制御情報とを比較し、ＨＴＭＬファイルから取り出したキャッシュ制御情報によって識別される版のオブジェクトファイルがキャッシュ２１０に記憶済みであるか否かを判定する。
【００２３】
ここではＷｅｂページのダウンロード１回目であるので、ＨＴＭＬファイルから取り出したキャッシュ制御情報によって識別される版のオブジェクトファイルは未だキャッシュ２１０に格納済みではない。よって、キャッシュ制御情報記憶部２２０にも、ＨＴＭＬファイルから取り出したキャッシュ制御情報と同一のキャッシュ制御情報は記憶されていない。結局、キャッシュ判定部２５０は、ＨＴＭＬファイルから取り出した全てのキャッシュ制御情報によって識別される全てのオブジェクトファイルについて、キャッシュ２１０に記憶済みでない（キャッシュヒットしない）と判定する。
【００２４】
このため、オブジェクトファイルリクエスト部２６０は、全てのオブジェクトファイルについて、ＨＴＭＬファイルに記述された取得先を用いて、その送信をＷｅｂサーバ１００に要求する。すると、Ｗｅｂサーバ１００のオブジェクトファイルレスポンス部１４０は、オブジェクトファイルリクエスト部２６０からの要求に応答して、オブジェクトファイルを送信する。例えば、オブジェクトファイルレスポンス部１４０は、「200  OK」のレスポンスとともに、該当するオブジェクトファイルをＷｅｂクライアント２００に送信する。
【００２５】
すると、オブジェクトファイルリクエスト部２６０は、Ｗｅｂサーバ１００から受信した所定の版のオブジェクトファイルをキャッシュ２１０に格納するとともに、キャッシュ２１０に格納したオブジェクトファイルに対応するキャッシュ制御情報を、キャッシュ制御情報記憶部２２０に格納する。この場合、オブジェクトファイルリクエスト部２６０は、ＨＴＭＬファイルから取り出した全てのキャッシュ制御情報をキャッシュ制御情報記憶部２２０に格納すればよい。
【００２６】
図３は、本実施形態に係るキャッシュ制御情報を説明するための図である。こうして、Ｗｅｂページのダウンロード１回目の後、キャッシュ制御情報記憶部２２０は、図３に示すように、
./css/2011/import_common.css  Etag100
./css/2011/import_lib.jis  Etag110
./css/2011/import_common2.css  Etag120
./css/2011/import_common3.css  Etag130
./css/2011/import_common4.css  Etag140
./css/2011/import_common5.css  Etag150・・・
といった識別情報の一覧を記憶する。
【００２７】
次に、Ｗｅｂページのダウンロード２回目を説明する。例えば、Ｗｅｂクライアント２００の利用者によってリロードされるなど、同じＷｅｂページを再びダウンロードする場合、ＨＴＭＬファイルリクエスト部２３０は、再び、Ｗｅｂサーバ１００に対してリクエストを送信する。
【００２８】
Ｗｅｂサーバ１００側も同様に、再び、ＨＴＭＬファイル解析部１１０がＨＴＭＬファイルを解析して、ＨＴＭＬファイル内に取得先が記述されたオブジェクトファイルを特定し、キャッシュ制御情報埋め込み部１２０が、キャッシュ制御情報をＨＴＭＬファイルに埋め込む。もっとも、キャッシュ制御情報埋め込み部１２０は、この段階で最新のキャッシュ制御情報を埋め込む。すなわち、例えばあるオブジェクトファイルが更新された場合、更新されたオブジェクトファイルには、更新されたことに対応して新たな識別情報が付与されるので、識別情報の一覧としてのキャッシュ制御情報も、新たなキャッシュ制御情報となる。
【００２９】
図４は、本実施形態に係るＨＴＭＬファイルを説明するための図である。例えば、図４に示すように、「Etag110」で識別されていたオブジェクトファイルが更新されて、新たな版を一意に識別する識別情報「Etag115」が付与されたとする。また、「Etag140」で識別されていたオブジェクトファイルが更新されて、新たな版を一意に識別する識別情報「Etag145」が付与されたとする。そこで、キャッシュ制御情報埋め込み部１２０は、図４に示すように、
./css/2011/import_common.css  Etag100
./css/2011/import_lib.jis  Etag115
./css/2011/import_common2.css  Etag120
./css/2011/import_common3.css  Etag130
./css/2011/import_common4.css  Etag145
./css/2011/import_common5.css  Etag150・・・
といった識別情報の一覧を生成し、ＨＴＭＬファイル「index.html」の任意の場所に埋め込む。
【００３０】
続いて、ＨＴＭＬファイルレスポンス部１３０が、キャッシュ制御情報が埋め込まれたＨＴＭＬファイルをＷｅｂクライアント２００に送信すると、Ｗｅｂクライアント２００のキャッシュ制御情報取り出し部２４０が、Ｗｅｂサーバ１００から受信したＨＴＭＬファイルからキャッシュ制御情報を取り出す。そして、キャッシュ判定部２５０が、再び、ＨＴＭＬファイルから取り出したキャッシュ制御情報によって識別されるオブジェクトファイルがキャッシュ２１０に記憶済みであるか否かを判定する。
【００３１】
今度はＷｅｂページのダウンロード２回目であるので、ＨＴＭＬファイルから取り出したキャッシュ制御情報によって識別されるオブジェクトファイルの一部、すなわち、ダウンロード１回目の後、更新されなかったオブジェクトファイルについては、キャッシュ２１０に格納済みである。よって、キャッシュ制御情報記憶部２２０にも、ＨＴＭＬファイルから取り出したキャッシュ制御情報の一部については、同一のキャッシュ制御情報が記憶されている。
【００３２】
図５は、本実施形態におけるキャッシュ判定を説明するための図である。例えば、キャッシュ判定部２５０は、ＨＴＭＬファイルから取り出したキャッシュ制御情報、
./css/2011/import_common.css  Etag100
./css/2011/import_lib.jis  Etag115
./css/2011/import_common2.css  Etag120
./css/2011/import_common3.css  Etag130
./css/2011/import_common4.css  Etag145
./css/2011/import_common5.css  Etag150・・・
と、キャッシュ制御情報記憶部２２０に記憶されたキャッシュ制御情報、
./css/2011/import_common.css  Etag100
./css/2011/import_lib.jis  Etag110
./css/2011/import_common2.css  Etag120
./css/2011/import_common3.css  Etag130
./css/2011/import_common4.css  Etag140
./css/2011/import_common5.css  Etag150・・・
とが一致するか否かを比較し、「Etag115」及び「Etag145」と同一のキャッシュ制御情報は記憶されていないと判定する。すなわち、キャッシュ判定部２５０は、「Etag115」及び「Etag145」それぞれによって識別される版のオブジェクトファイルについて、キャッシュ２１０に記憶済みでない（キャッシュヒットしない）と判定する。
【００３３】
すると、オブジェクトファイルリクエスト部２６０は、キャッシュ判定部２５０によってキャッシュヒットしないと判定されたオブジェクトファイルについてのみ、ＨＴＭＬファイルに記述された取得先を用いて、その送信をＷｅｂサーバ１００に要求する。例えば、オブジェクトファイルリクエスト部２６０は、「Etag115」に対応するオブジェクトファイル「./css/2011/import_lib.jis」と、「Etag145」に対応するオブジェクトファイル「./css/2011/import_common4.css」とを、Ｗｅｂサーバ１００に要求する。すると、Ｗｅｂサーバ１００のオブジェクトファイルレスポンス部１４０は、オブジェクトファイルリクエスト部２６０からの要求に応答して、オブジェクトファイルを送信する。
【００３４】
なお、オブジェクトファイルリクエスト部２６０は、Ｗｅｂサーバ１００から新たに受信したオブジェクトファイルをキャッシュ２１０に格納するとともに、キャッシュ２１０に格納したオブジェクトファイルに対応するキャッシュ制御情報を、キャッシュ制御情報記憶部２２０に格納する。例えば、オブジェクトファイルリクエスト部２６０は、「Etag115」及び「Etag145」をキャッシュ制御情報記憶部２２０に格納すればよい。
【００３５】
このように、上述した実施形態によれば、最新のオブジェクトファイルであるか否かをＷｅｂクライアント２００側で一括して判定し、必要なオブジェクトファイルのみＷｅｂサーバ１００側に要求する。すると、大量かつ個別に発生していた問い合わせは大幅に削減されることになり、Ｗｅｂページの転送時間を短縮することが可能になる。すなわち、上述した実施形態によれば、最上位のオブジェクトであるＨＴＭＬファイルにキャッシュ制御情報を埋め込み、Ｗｅｂクライアント２００が、ネットワークを介さずにローカルでキャッシュ判定を行うので、Ｗｅｂページの転送時間を短縮することが可能になる。
【００３６】
例えば、あるＷｅｂページ（例えば、http://www.ntt.co.jp/index.htmlのＵＲＬで示されるＷｅｂページ）をリロードする場合を検討する。例えば、従来のＷｅｂシステムにおいては、ＷｅｂクライアントがＷｅｂサーバに約８６回の問い合わせを行い、Ｗｅｂページの転送時間は約９．８０４秒、データの転送量は約１５ＫＢであったとする。従来のＷｅｂシステムによれば、例えば更新されたオブジェクトファイルが２つであったとしても、２回目のダウンロード時にも、理論上、Ｗｅｂクライアントは再びＷｅｂサーバに約８６回の問い合わせを行うので、Ｗｅｂページの転送時間やデータの転送量は１回目とあまり変わらないことになる。これに対し、上述した実施形態によれば、２回目のダウンロード時、理論上、Ｗｅｂクライアントは、２つのオブジェクトファイルを取得するために２回のリクエストを行えば済むことになり、理論上、その転送時間は１．７秒程度、データの転送量は０．５ＫＢ程度になると考えられる。また、例えば、Ｗｅｂクライアントが、複数のオブジェクトファイルを取得するためのリクエストを１回で行う場合には、１回のリクエストを行えば済むことになり、理論上、その転送時間は１．３秒程度、データの転送量は０．２ＫＢ程度になると考えられる。
【００３７】
そうであるとすると、上述した実施形態を適用した場合、Ｗｅｂサーバに対するリクエストは９７〜９８％の削減率、転送時間は８２〜８７％の削減率、データの転送量は９６〜９８％の削減率になる。
【００３８】
（他の実施形態）
なお、上述したＷｅｂシステム１０は、上述した実施形態以外にも種々の異なる形態にて実施されてよい。
【００３９】
例えば、上述したＷｅｂシステム１０においては、キャッシュ制御情報として、オブジェクトファイルが更新される毎に割り当てられる乱数情報（例えばEtagのような情報）を利用する手法を説明したが、実施形態はこれに限られるものではない。例えば、キャッシュ制御情報として、オブジェクトファイルの更新時刻を示す更新情報（例えばLast−Modifiedのような情報）を利用してもよい。この場合、キャッシュ判定部２５０は、オブジェクトファイル毎に、ＨＴＭＬファイルから取り出した更新情報と、キャッシュ制御情報記憶部２２０に記憶された更新情報とを比較し、両者が一致しない場合（通常、ＨＴＭＬファイルから取り出した更新情報が示す更新時刻が、キャッシュ制御情報記憶部２２０に記憶された更新情報が示す更新時刻よりも新しい場合）、キャッシュヒットしないと判定する。
【００４０】
また、例えば、上述した実施形態に係るＷｅｂサーバ１００やＷｅｂクライアント２００が実行する処理を、コンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上述した実施形態と同様の効果を得ることができる。更に、かかるプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより、上述の実施形態と同様の処理を実現してもよい。以下、図１に示したＷｅｂサーバ１００やＷｅｂクライアント２００と同様の機能を実現するプログラムを実行するコンピュータの一例を説明する。
【００４１】
図６は、本実施形態に係るＷｅｂサーバ１００又はＷｅｂクライアント２００と同様の機能を実現するプログラムを実行するコンピュータを示す図である。図６に示すように、コンピュータは、例えば、メモリと、ＣＰＵ（Central  Processing  Unit）と、ハードディスクドライブインタフェースと、ディスクドライブインタフェースと、シリアルポートインタフェースと、ビデオアダプタと、ネットワークインタフェースとを有し、これらの各部はバスによって接続される。
【００４２】
メモリは、図６に示すように、ＲＯＭ（Read  Only  Memory）及びＲＡＭ（Random  Access  Memory）を含む。ＲＯＭは、例えば、ＢＩＯＳ（Basic  Input  Output  System）などのブートプログラムを記憶する。ハードディスクドライブインタフェースは、図６に示すように、ハードディスクドライブに接続される。ディスクドライブインタフェースは、図６に示すように、ディスクドライブに接続される。例えば磁気ディスクや光ディスクなどの着脱可能な記憶媒体が、ディスクドライブに挿入される。シリアルポートインタフェースは、図６に示すように、例えばマウス、キーボードに接続される。ビデオアダプタは、図６に示すように、例えばディスプレイに接続される。
【００４３】
ここで、図６に示すように、ハードディスクドライブは、例えば、ＯＳ（Operating  System）、アプリケーションプログラム、プログラムモジュール、プログラムデータを記憶する。すなわち、上述のプログラムは、コンピュータによって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブに記憶される。例えば、ＨＴＭＬファイル解析部１１０と同様の処理を実行する処理手順と、キャッシュ制御情報埋め込み部１２０と同様の処理を実行する処理手順と、ＨＴＭＬファイルレスポンス部１３０と同様の処理を実行する処理手順と、オブジェクトファイルレスポンス部１４０と同様の処理を実行する処理手順とが記述されたプログラムモジュールが、ハードディスクドライブに記憶される。また、例えば、ＨＴＭＬファイルリクエスト部２３０と同様の処理を実行する処理手順と、キャッシュ制御情報取り出し部２４０と同様の処理を実行する処理手順と、キャッシュ判定部２５０と同様の処理を実行する処理手順と、オブジェクトファイルリクエスト部２６０と同様の処理を実行する処理手順とが記述されたプログラムモジュールが、ハードディスクドライブに記憶される。
【００４４】
また、上述した実施形態で説明したＷｅｂサーバ１００やＷｅｂクライアント２００が保持する各種データは、プログラムデータとして、例えばメモリやハードディスクドライブに記憶される。そして、ＣＰＵが、メモリやハードディスクドライブに記憶されたプログラムモジュールやプログラムデータを必要に応じてＲＡＭに読み出し、各手順を実行する。
【００４５】
なお、上述のプログラムに係るプログラムモジュールやプログラムデータは、ハードディスクドライブに記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブなどを介してＣＰＵによって読み出されてもよい。あるいは、上述のプログラムに係るプログラムモジュールやプログラムデータは、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）など）を介して接続された他のコンピュータに記憶され、ネットワークインタフェースを介してＣＰＵによって読み出されてもよい。
【符号の説明】
【００４６】
１００  Ｗｅｂサーバ
１１０  ＨＴＭＬファイル解析部
１２０  キャッシュ制御情報埋め込み部
１３０  ＨＴＭＬファイルレスポンス部
１４０  オブジェクトファイルレスポンス部
２００  Ｗｅｂクライアント
２１０  キャッシュ
２２０  キャッシュ制御情報記憶部
２３０  ＨＴＭＬファイルリクエスト部
２４０  キャッシュ制御情報取り出し部
２５０  キャッシュ判定部
２６０  オブジェクトファイルリクエスト部
【図１】
2013178676.tif 000003
【図２】
2013178676.tif 000004
【図３】
2013178676.tif 000005
【図４】
2013178676.tif 000006
【図５】
2013178676.tif 000007
【図６】
2013178676.tif 000008