(57)【要約】【課題】ＨＴＭＬ５の仕様ではマニフェストは１つのＨＴＭＬにつき１つだけしか指定することができない。そのため、単一ページから構成されるようなＷｅｂサイトにおいては、端末やＷｅｂブラウザに応じて、ファイルを選択してキャッシュする、特定のファイルをキャッシュしないといったキャッシュ制御を行うことが難しい。【解決手段】マニフェストのコメントアウト行に制御文を記述しておくことで、Ｗｅｂブラウザ２０１がその制御文で指定された条件に合致するようマニフェストの内容を書き換え、ユーザの端末やＷｅｂブラウザ、利用方針に適したキャッシュ制御を行う。【選択図】図９
2015230564.tif 000002
【特許請求の範囲】
【請求項１】
ウェブブラウザが動作する情報処理端末であって、
前記ウェブブラウザによりアクセスしたウェブサイトが提供するマニフェストファイルを解析する解析手段と、
前記マニフェストファイルに従って前記ウェブブラウザのための保存領域へデータをキャッシュデータとして格納する格納制御手段と
を有し、
前記格納制御手段は、前記情報処理端末の環境情報及び前記ウェブブラウザのポリシー設定情報の少なくとも何れかに基づき、前記解析手段による前記マニフェストファイルの解析の結果に従って、前記キャッシュデータとして格納すべきデータを決定することを特徴とする情報処理端末。
【請求項２】
前記格納制御手段は、オリジナルのマニフェストファイルを、前記情報処理端末の環境情報および前記ウェブブラウザのポリシー設定の少なくとも何れかに基づき、前記解析手段による解析の結果に従って編集して変更済マニフェストファイルを作成し、前記変更済マニフェストファイルを前記キャッシュデータとして格納することを特徴とする請求項１に記載の情報処理端末。
【請求項３】
前記格納制御手段は、前記変更済マニフェストファイルに従って前記ウェブブラウザのための保存領域へキャッシュデータを格納することを特徴とする請求項２に記載の情報処理端末。
【請求項４】
前記解析手段は、オリジナルのマニフェストファイルの中のコメント行として記載される条件を解析して、前記格納制御手段は、前記情報処理端末の環境情報及び前記ウェブブラウザのポリシー設定情報の少なくとも何れかに基づき、前記条件に従い、前記キャッシュデータとして格納すべきデータを決定することを特徴とする請求項１に記載の情報処理端末。
【請求項５】
前記環境情報には情報処理端末の種類、ウェブブラウザの種類の少なくとも何れかが含まれることを特徴とする請求項１乃至４のいずれか一項に記載の情報処理端末。
【請求項６】
前記ポリシー設定情報には、フォントサイズ、オブジェクト配置を前記情報処理端末に合わせる設定、赤みを抑える設定、年齢制限、画像ファイルをキャッシュしない設定、サイズの小さい画像ファイルをキャッシュする設定、音声ファイルをキャッシュしない設定、サイズの小さい音声ファイルをキャッシュする設定、映像ファイルをキャッシュしない設定の少なくともいずれかが含まれることを特徴とする請求項１乃至５のいずれか一項に記載の情報処理端末。
【請求項７】
前記情報処理端末の環境情報及び前記ウェブブラウザのポリシー設定情報の少なくとも何れかに基づく前記格納制御手段による制御が行われた場合に、前記ウェブブラウザを介して、当該制御が行われたことの通知を行うことを特徴する請求項１乃至６のいずれか一項に記載の情報処理端末。
【請求項８】
前記解析手段及び前記格納制御手段は、前記ウェブブラウザにより提供されることを特徴とする請求項１乃至７のいずれか一項に記載の情報処理端末。
【請求項９】
前記ウェブブラウザによりアクセスしたウェブサイトが提供するマニフェストファイルを解析する解析手段と、
前記マニフェストファイルに従って前記ウェブブラウザのための保存領域へデータをキャッシュデータとして格納する格納制御手段と
してコンピュータを機能させるためのプログラムであって、
前記格納制御手段は、前記情報処理端末の環境情報及び前記ウェブブラウザのポリシー設定情報の少なくとも何れかに基づき、前記解析手段による前記マニフェストファイルの解析の結果に従って、前記キャッシュデータとして格納すべきデータを決定することを特徴とするプログラム。
【請求項１０】
前記プログラムは、コンピュータをさらにウェブブラウザとして機能させるためのプログラムであることを特徴とする請求項９に記載のプログラム。
【請求項１１】
ウェブブラウザが動作する情報処理端末であって、
前記ウェブブラウザによりアクセスしたウェブサイトが提供する、前記情報処理端末の環境情報及び前記ウェブブラウザのポリシー設定情報の少なくとも何れかについて条件付きのデータの指定を含み得るマニフェストファイルを解析する解析手段と、
前記マニフェストファイルの解析の結果に従って、指定された条件に該当するデータを、前記ウェブブラウザのための保存領域へキャッシュデータとして格納する格納制御手段と
を有することを特徴とする情報処理端末。
【請求項１２】
ウェブブラウザが動作する情報処理端末におけるキャッシュ制御方法であって、
前記ウェブブラウザによりアクセスしたウェブサイトが提供するマニフェストファイルを解析する解析工程と、
前記マニフェストファイルに従って前記ウェブブラウザのための保存領域へデータをキャッシュデータとして格納する格納制御工程と
を有し、
前記格納制御工程では、前記情報処理端末の環境情報及び前記ウェブブラウザのポリシー設定情報の少なくとも何れかに基づき、前記解析工程による前記マニフェストファイルの解析の結果に従って、前記キャッシュデータとして格納すべきデータを決定することを特徴とするキャッシュ制御方法。
【請求項１３】
請求項１乃至８のいずれか一項に記載の情報処理端末と、
前記情報処理端末からのアクセスに応じて、前記情報処理端末の環境情報及び前記ウェブブラウザのポリシー設定情報の少なくとも何れかについて条件付きのデータの指定を含み得るマニフェストファイルを前記情報処理端末に提供するウェブサーバと
を有することを特徴とするウェブシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＨＴＭＬ５等における新たなウェブブラウザ用のデータストレージの仕組みを提供する技術に関する。
【背景技術】
【０００２】
Ｗｅｂアプリケーションの高機能化に伴い、ＨＴＭＬ５では各種機能拡張がなされている。特に、スマートフォンやタブレットなどの携帯端末の普及により、オフラインでＷｅｂアプリケーションを動作させるための拡張が多くなされている。例えば、サーバ上のファイルをＷｅｂブラウザ内にキャッシュするアプリケーションキャッシュ機能、Ｗｅｂブラウザ内にデータを格納するためのＷｅｂ ＳｔｏｒａｇｅあるいはＩｎｄｅｘｅｄＤＢ機能がある。キャッシュさせたいファイルなどを記述したキャッシュマニフェスト（以下、単にマニフェストと呼ぶ）をＷｅｂサーバから取得し、Ｗｅｂブラウザがそのマニフェストにしたがってキャッシュすることで、オフライン時でもＷｅｂサイトの閲覧を可能にする。しかし、この機能により特定のＷｅｂサイトだけでアプリケーションキャッシュやＷｅｂ Ｓｔｏｒａｇｅなどのデータの領域を専有してしまう可能性がある。これに対処するために、Ｗｅｂサイトごとにキャッシュできる容量の上限が決まっており、また、指定したＷｅｂサイトのキャッシュを削除する機能も提供されている。
【０００３】
ここで、アプリケーションキャッシュ機能でファイルをキャッシュする際の制御方法に関する従来技術として特許文献１がある。特許文献１の技術は、アプリケーションキャッシュ機能を有するＷｅｂブラウザが、サーバから提供されるマニフェストを検知すると、それを視覚的にユーザに通知し、キャッシュするかどうかの判断を求めるものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１２−５０１４９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前述したＨＴＭＬ５での拡張機能について、Ｗｅｂブラウザのアプリケーションキャッシュにファイルをキャッシュさせるためには、サービス提供者があらかじめ、マニフェストをＷｅｂサーバ上に配置する必要がある。その上で、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）要素の属性として当該マニフェストを指定することで、アプリケーションキャッシュに対応したＷｅｂブラウザであれば、キャッシュを行うことができる。また、このマニフェストは１つのＨＴＭＬ要素につき１つだけ指定することができる。
【０００６】
昨今、異なる端末、異なるＷｅｂブラウザからのアクセスに対応すべく、レスポンシブルＷｅｂデザインを採用するＷｅｂサイトがあり、そのようなＷｅｂサイトは単一のＨＴＭＬファイルで構成されている場合が多い。そのため、現在のアプリケーションキャッシュ機能の仕様だと、端末やブラウザに適した異なるファイルをキャッシュさせることができない。例えば、端末の画面に見合わない過大な画像ファイルやＷｅｂブラウザによっては再生できないファイルフォーマットの動画ファイルなど、不要・不適切なファイルをキャッシュさせてしまうという課題がある。
【０００７】
上記特許文献１は、ファイルのキャッシュ処理の前に、ユーザが明示的にファイルをキャッシュさせるか否かの判断ができた。しかし、従来技術は、マニフェストに書かれたファイルを全てキャッシュさせるか全てキャッシュさせないかという選択しかできない。そのため、個々のファイルに対してキャッシュさせるかさせないか、あるいは例えば代替のファイルを選択できるようにするか、といったキャッシュ制御ができないという問題があった。
【０００８】
本発明は、上記問題を解決するためになされたものであり、Ｗｅｂサイトからアプリケーションキャッシュにキャッシュを行う際に、端末やＷｅｂブラウザに応じてキャッシュさせるファイルを制御する手法を提供することを目的とする
【課題を解決するための手段】
【０００９】
上記目的を達成するために本発明は以下の構成を有する。すなわち、ウェブブラウザが動作する情報処理端末であって、前記ウェブブラウザによりアクセスしたウェブサイトが提供するマニフェストファイルを解析する解析手段と、前記マニフェストファイルに従って前記ウェブブラウザのための保存領域へデータをキャッシュデータとして格納する格納制御手段とを有し、前記格納制御手段は、前記情報処理端末の環境情報及び前記ウェブブラウザのポリシー設定情報の少なくとも何れかに基づき、前記解析手段による前記マニフェストファイルの解析の結果に従って、前記キャッシュデータとして格納すべきデータを決定する。
【発明の効果】
【００１０】
本発明によれば、条件に応じたキャッシュ制御が可能となり、不要・不適切なファイルのキャッシュを回避できる。
【図面の簡単な説明】
【００１１】
【図１】ネットワーク構成図
【図２】Ｗｅｂブラウザの構成を示すブロック図
【図３】情報端末１０４のハードウェア構成の一例を示すブロック図
【図４】情報端末１０７のハードウェア構成の一例を示すブロック図
【図５】一般的なマニフェストの記述例を示す図
【図６】Ｗｅｂブラウザ２０１による書き換え前後のマニフェストの例を示す図
【図７】アプリケーションキャッシュの内容の例を示す図
【図８】アプリケーションキャッシュへのキャッシュ手順例を示すフローチャート
【図９】マニフェストを制御文にしたがって書き換える手順例を示すフローチャート
【図１０】キャッシュポリシによるキャッシュ制御のための設定画面の一例を示す図
【図１１】キャッシュポリシによるキャッシュ制御のためのマニフェストの記述例を示す図
【図１２】キャッシュポリシが適用されたときの通知画面の一例を示す図
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。
［実施例１］
＜ウェブシステムの構成＞
図１は、本システムのネットワーク構成例を示す図である。情報処理装置１０４は、光回線などでプロバイダ１０３と通信し、プロバイダ１０３を介してインターネット１０２と繋がるＰＣ（パーソナルコンピュータ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ））などである。情報処理端末１０７は基地局１０６と無線で通信し、コアネットワーク１０５を介してインターネット１０２と繋がる端末で、例えばタブレットやスマートフォンなどである。情報処理端末１０７には、デスクトップＰＣなども含まれる。Ｗｅｂサーバ１０１（ウェブサーバ）は、インターネット１０２を介し、各情報処理端末にＷｅｂサイト（ウェブサイト）を提供するシステムである。
【００１３】
図２は、本発明を実施したＷｅｂブラウザ（ウェブブラウザ）２０１の全体構成を示すブロック図である。
ユーザインターフェース（ＵＩ）２０２は、ＵＲＬ表示や、ブックマーク表示、Ｗｅｂブラウザの設定メニュー表示などを含むＷｅｂブラウザのＵＩである。レンダリングエンジン２０４は、ＨＴＭＬなどの要求されたコンテンツの表示を行う。ブラウザエンジン２０３は、ＵＩ２０２とレンダリングエンジン２０４の間の処理を行う。ネットワーキング２０５は、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）リクエストなどのネットワークの呼び出しを受け付ける。ＪＡＶＡ（登録商標）スクリプトインタープリタ（以下、ＪＳインタープリタ）２０６は、ＪＡＶＡスクリプトコードの解析と実行を行う。
【００１４】
データストレージ２０７は、クッキーやＨＴＭＬ５に係るストレージの仕様に基づくアプリケーションキャッシュ、ウェブストレージ（ＷｅｂＳｔｏｒａｇｅ）、ＩｎｄｅｘｅｄＤＢのデータを記憶装置の保存領域に保存する制御を行う。データストレージ２０７によるデータ保存や削除などの操作は、ＪＡＶＡスクリプトにしたがい、制御可能である。
【００１５】
図３は、情報処理装置１０４のハードウェア構成を示すブロック図である。ＣＰＵ３０１は、ＲＡＭ３０３をワークメモリとして、ＲＯＭ３０２および記憶装置としてのハードディスクドライブ（ＨＤＤ）３０８に格納されたプログラムを実行し、システムバス３１２を介して後述する各構成を制御する。ＨＤＤ３０８は、オペレーティングシステム（ＯＳ）や各種プログラムやデータを格納する。ＣＰＵ３０１は、ディスクコントローラ（ＤＫＣ）３０６を介して、ＨＤＤ３０８およびディスクドライブ３０９にアクセスし、各種プログラムなどをＨＤＤ３０８にインストールする。ＣＰＵ３０１は、ネットワークインタフェイスカード（ＮＩＣ）３０７を介して、ネットワーク３１３を介した他のコンピュータなどとも通信可能である。
【００１６】
ＣＰＵ３０１は、プログラムにしたがい、ビデオカード（ＶＣ）３０５を介してモニタ３１１にＵＩを表示する。ユーザは、キーボード（ＫＢ）３１０やマウスなどのポインティングデバイスを操作して、ＵＩに対する指示や入力を行なう。ＣＰＵ３０１は、キーボードコントローラ（ＫＢＣ）３０４を介してユーザ指示や入力を受け付け、ユーザ指示や入力に応じて様々な処理を実行する。
【００１７】
図４は、Ｗｅｂブラウザ２０１が動作することが可能な情報処理端末１０７のハードウェア構成を示すブロック図である。図４において、情報処理端末１０７は、アプリケーションプロセッサ（以下、ＡＰ）４０７、ＲＯＭ４０１、ＲＡＭ４０２、フラッシュＳＳＤなどで構成される記憶装置４０３を備える。ＡＰ４０７は、ＲＯＭ４０１や記憶装置４０３に記憶されたソフトウェア（すなわちプログラム）を実行し、ＡＰ４０７に接続された各デバイスを総括的に制御する。ＲＡＭ４０２は、ＡＰ４０７の主メモリあるいはワークエリアなどとして機能する。記憶装置４０３は、オペレーティングシステム、Ｗｅｂブラウザなどの各種アプリケーション、データベースデータ、ユーザファイルなどを記憶する。４１０は、タッチスクリーンコントローラであり、同コントローラに接続されたタッチスクリーン４１１を制御する。
【００１８】
無線ＬＡＮ制御部４０４、移動体通信制御部４０５、近距離無線通信制御部４０６は、それぞれ、ＷｉＦｉ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ）などの無線ＬＡＮ通信、移動体通信（モバイル通信など）、近距離無線通信の制御を行う。さらに情報処理端末１０７において、電源制御部４０８は、充電池４０９への充電制御や電池残量の管理を行う。
【００１９】
図４は、本発明が適用可能な情報処理端末１０７の構成の一例である。したがって、情報処理端末１０７に、図示以外のネットワーク接続を提供するためのハードウェアや、カメラなどのハードウェアなどを更に備えていてもよい。また、例えば近距離無線通信制御部４０６などの一部の構成が無くても、本発明に適用可能である。
【００２０】
＜マニフェストファイルの構成＞
図５はマニフェストファイル（以下単にマニフェストと呼ぶ。）の一例である。マニフェストの先頭に文字列「ＣＡＣＨＥ  ＭＡＮＩＦＥＳＴ」を記述する必要がある。これに続いて、ＣＡＣＨＥヘッダ、ＮＥＴＷＯＲＫヘッダ、ＦＡＬＬＢＡＣＫヘッダが順に記述される。
「ＣＡＣＨＥ：」ヘッダの後に列挙したファイルは、Ｗｅｂサイトに初めてアクセスしてマニフェストがダウンロードされた後に、明示的にＷｅｂブラウザ２０１のアプリケーションキャッシュに保存される。
「ＮＥＴＷＯＲＫ：」ヘッダの後に列挙するのは、Ｗｅｂサーバへの接続を必要とするファイルである。ここで指定されたファイルについては、Ｗｅｂブラウザはオフラインキャッシュではなく常にＷｅｂサーバ上のファイルを参照する。
「ＦＡＬＬＢＡＣＫ：」ヘッダの後には、Ｗｅｂブラウザ２０１がファイルにアクセスできない場合に表示するページが記述される。
「＃」で始まる行はコメントアウト行である。コメントアウト行は従来のＷｅｂブラウザにおいては解釈の対象とならないが、Ｗｅｂブラウザ２０１においては解釈の対象とする。
【００２１】
アプリケーションキャッシュが更新されるのは、Ｗｅｂサイトを運営する管理者などによりマニフェスト自身が変更された時だけである。そのため、画像ファイルをファイル名はそのままで編集した場合など、キャッシュ対象のファイルが変更されてもマニフェストが変更されない限りは、そのファイルは再キャッシュされない。その場合、コメント行に更新日付やバージョン番号などを記載して更新することにより、新しいファイルがキャッシュされるようになる。
【００２２】
ユーザが再度Ｗｅｂサイトを閲覧した際に、Ｗｅｂブラウザ２０１はマニフェストにしたがって、キャッシュしたファイルを使用するように記述されているファイルは、Ｗｅｂサーバから再度取得せずにキャッシュを使用するようになる。
【００２３】
このようにして、ネットワークがオフラインになった場合でも、Ｗｅｂブラウザ２０１で管理されるキャッシュを使用することで、Ｗｅｂサイトが提供するサービスを利用することができる。
【００２４】
図６（ａ）は、Ｗｅｂブラウザ２０１が解釈できる制御文をマニフェストのコメントアウト行に記述した例を示す図である。この制御文をＷｅｂブラウザ２０１が解釈することにより、キャッシュ制御を行う。キャッシュ制御とは、Ｗｅｂブラウザ２０１が、マニフェストに記述された個々のファイルに対して、本来キャッシュするファイル、すなわちキャッシュデータとして保存するファイルの代替ファイルをキャッシュすることや、キャッシュしないことなどを指す。マニフェストのコメントアウト行に制御文を記述することで、制御文を解釈できないＷｅｂブラウザであっても、通常通りにマニフェストの内容を解釈することが可能である。Ｗｅｂブラウザ２０１は、Ｗｅｂブラウザ２０１が生成するユーザエージェントに応じて、マニフェストの制御文の条件に一致するファイルのキャッシュ制御を行う。ユーザエージェントには、たとえばＷｅｂブラウザ名や、デバイスの種類等の環境を示す情報が含まれている。制御文で使用する項目名（Ｗｅｂブラウザ名やデバイス種類を示す項目名）は、それらの情報と関連付けられており、項目名にしたがって関連付けられた情報が参照される。また本例に示す制御文は、条件を示す「ｉｆ」「ｅｌｓｅ」等の文字列と、それらに続く条件（丸かっこで記述される）、条件に応じて実行される動作（波かっこで記述される）とで構成される。
【００２５】
例として、使用している端末がＰＣで、且つ、使用しているＷｅｂブラウザ２０１の名前が「ｂｒｏｗｓｅｒＢ」である場合について説明する。制御文６０１の一行目の実行条件は、「ｄｅｖｉｃｅ」（端末の意）が「ＰＣ」であって、且つ、「ｂｒｏｗｓｅｒ」（使用しているＷｅｂブラウザ２０１の名前）が「ｂｒｏｗｓｅｒＡ」であることである。使用しているＷｅｂブラウザ２０１が、この条件に一致すると判断した場合、ｓｃｒｉｐｔ．ｊｓの代わりにｓｃｒｉｐｔ＿ｂｒｏｗｓｅｒＡ＿ｐｃ．ｊｓを代わりにキャッシュする。今回の例では、Ｗｅｂブラウザ２０１は、制御文６０１の一行目の実行条件に一致しないと判断する。制御文６０１の二行目は、Ｗｅｂブラウザ２０１が、制御文６０１の一行目の条件に一致しないと判断した場合に実行される制御文である。この制御文にはさらに実行条件が記述されており、その実行条件は、使用しているＷｅｂブラウザ２０１の名前が「ｂｒｏｗｓｅｒＢ」であることである。使用しているＷｅｂブラウザ２０１が、この条件に一致すると判断した場合、ｓｃｒｉｐｔ．ｊｓの代わりにｓｃｒｉｐｔ＿ｂｒｏｗｓｅｒＢ．ｊｓを代わりにキャッシュする。今回の例では、Ｗｅｂブラウザ２０１は、制御文６０１の二行目の実行条件に一致すると判断する。同様に、制御文６０２では、使用しているＷｅｂブラウザ２０１が「ｂｒｏｗｓｅｒＢ」であればｍｏｖｉｅ．ｆｌｖを、それ以外のＷｅｂブラウザ２０１であればｍｏｖｉｅ．ｍｐ４をキャッシュしないようにしている。今回の例では、使用しているＷｅｂブラウザ２０１が「ｂｒｏｗｓｅｒＢ」であるため、Ｗｅｂブラウザ２０１は、ｍｏｖｉｅ．ｆｌｖをキャッシュしないようにしている。この図６（ａ）の例では、カレントパスのディレクトリにある、図６（ａ）のマニフェストを指定したＨＴＭＬファイルと、同じディレクトリに置かれたＪＰＥＧイメージファイルｉｍａｇｅ．ｊｐｇ、音声ファイルｍｕｓｉｃ．ｍｐ３、スタイルシートｓｔｙｌｅ．ｃｓｓがキャッシュされる。また制御文により、ＪＡＶＡ（登録商標）スクリプトファイルｓｃｒｉｐｔ．ｊｓに関しては、条件に応じたファイルが代わりにキャッシュされ、映像ファイルｍｏｖｉｅ．ｆｌｖおよびｍｏｖｉｅ．ｍｐ４については条件に応じてキャッシュされない。
【００２６】
以上のように、マニフェストに記述した制御文の解釈により、端末あるいはＷｅｂブラウザに適したキャッシュ制御が可能になる。厳密には、Ｗｅｂブラウザ２０１が、図６（ａ）の制御文を解釈し、マニフェストを書き換え、その書き換えたマニフェストにしたがってキャッシュしている。今回の例では、使用している端末が「ＰＣ」で、且つ、使用しているＷｅｂブラウザ２０１が「ｂｒｏｗｓｅｒＢ」であるため、図６（ａ）は図６（ｂ）のように書き換えられる。すなわち、文字列ｓｃｒｉｐｔ．ｊｓは、ｓｃｒｉｐｔ＿ｂｒｏｗｓｅｒＢ．ｊｓに置換され、文字列ｍｏｖｉｅ．ｆｌｖは削除される。
【００２７】
なお、制御文の条件判断に用いる情報は、Ｗｅｂブラウザ２０１により生成される情報であれば、ユーザエージェントに限定しない。また、コメントアウト行に記述できる制御文は図６（ａ）で使用したスクリプト言語に限定されず、Ｗｅｂブラウザ２０１が解釈できる文字列であればよい。
【００２８】
＜アプリケーションキャッシュの例＞
図７は、アプリケーションキャッシュの内容の例を示す図である。オリジナルマニフェスト名７０１はＷｅｂブラウザ２０１に書き換えられる前のオリジナルのマニフェストを示し、変更済マニフェスト名７０２はＷｅｂブラウザ２０１に制御文にしたがって書き換えられたマニフェストを示している。まず、Ｗｅｂブラウザ２０１は、サーバから提供されるオリジナルのマニフェストをオリジナルマニフェスト名７０１で示すマニフェスト（以下マニフェスト７０１と呼ぶ）として保存する。次に、Ｗｅｂブラウザ２０１は、このオリジナルのマニフェスト７０１に記述された制御文にしたがってマニフェスト７０１を書き換え、変更済マニフェスト名７０２で示すマニフェスト（以下、マニフェスト７０２あるいは変更済マニフェストファイルと呼ぶ）として保存する。そして、Ｗｅｂブラウザ２０１は、書き換えたマニフェスト７０２にしたがってアプリケーションキャッシュにファイルをキャッシュする。例えば、Ｗｅｂブラウザ２０１は、制御文６０１で一致した条件により７０３のように代替ファイルをキャッシュし、制御文６０２で一致した条件により７０４のようにファイルをキャッシュしないようにする。
【００２９】
なお、キャッシュを更新することを考慮して、Ｗｅｂブラウザ２０１は、オリジナルのマニフェスト７０１を保持しておく。Ｗｅｂブラウザ２０１によるキャッシュの更新方法は後述する。
【００３０】
＜キャッシュ手順＞
図８は、アプリケーションキャッシュへのキャッシュ手順例を示すフローチャートである。本処理は、アプリケーションキャッシュ機能を有し、格納制御手段として機能するＷｅｂブラウザ２０１が、Ｗｅｂサイトへアクセスしたときのアプリケーションキャッシュに関する処理である。したがって図８の手順は、ソフトウェア上はＷｅｂブラウザ２０１が、ハードウェア上はＣＰＵ３０１が主体となって実行する。
【００３１】
Ｗｅｂブラウザ２０１でＷｅｂサイト（すなわち指定したＵＲＩ）にアクセスすると、Ｓ８０１でアプリケーションキャッシュに当該Ｗｅｂサイトの最新のキャッシュが存在するかどうかを判定する。この判定は、Ｗｅｂブラウザ２０１が、Ｗｅｂサイトに配置されているマニフェストをダウンロードして、ＷｅｂサイトからダウンロードしたマニフェストとＷｅｂブラウザ２０１が保持しているオリジナルのマニフェスト７０１とを比較することで行う。例えばこれらマニフェストの内容に相違があればＷｅｂサイトに配置された（すなわちダウンロードした）マニフェストが最新であり、最新ではないマニフェストに基づいたアプリケーションキャッシュは最新ではないと判断する。アプリケーションキャッシュが最新でなかった場合や、そもそもアプリケーションキャッシュにキャッシュデータがなにも保存されていない場合はＳ８０８へ進む。一方、アプリケーションキャッシュが最新である場合、すなわちダウンロードしたマニフェストとＷｅｂブラウザ２０１が保持していたマニフェスト７０１とが一致した場合は、Ｓ８０２へ進む。Ｗｅｂブラウザ２０１がオフライン状態の場合は、Ｗｅｂサイトにアクセスすることができないため、Ｗｅｂブラウザ２０１が保持しているマニフェスト７０１を最新のものと判断し、Ｓ８０２へ進む。
【００３２】
Ｓ８０２〜Ｓ８０６では、アプリケーションキャッシュからキャッシュしていたファイルをロードする。マニフェストに記述されたファイルのうち、アプリケーションキャッシュからロードが未完了のファイルに対してＳ８０２〜Ｓ８０６の処理を繰り返す。
【００３３】
続いてＳ８０３で、Ｗｅｂブラウザ２０１は、Ｗｅｂブラウザ２０１が保持するマニフェストに記述されたファイルをアプリケーションキャッシュあるいはネットワーク越しに参照できるか試みる。参照できる場合はＳ８０４へ進み、参照できない場合はＳ８０５へ進む。
【００３４】
Ｓ８０４では、Ｗｅｂブラウザ２０１はマニフェストのＣＡＣＨＥヘッダに記述されたファイルであればアプリケーションキャッシュから、ＮＥＴＷＯＲＫヘッダに記述されたファイルであればネットワーク越しにファイルをロードする。
【００３５】
Ｓ８０５では、Ｗｅｂブラウザ２０１は参照できなかったファイルの代わりにＦＡＬＬＢＡＣＫヘッダに記述されたファイルをロードする。
【００３６】
続いてＳ８０６で、Ｗｅｂブラウザ２０１はマニフェストに記述された全てのファイルに対してＳ８０４あるいはＳ８０５の処理が行われたかどうか判断する。処理が行われていないファイルが存在すると判断すれば、Ｓ８０２に戻り処理を繰り返す。一方、Ｗｅｂブラウザ２０１がマニフェストに記述された全てのファイルに対して処理が行われたと判断すれば、Ｓ８０７に進む。
【００３７】
続いてＳ８０７では、Ｗｅｂブラウザ２０１が、アプリケーションキャッシュからロードしたファイルを、ＵＩ２０２を介してモニタ３１１に表示することで、Ｗｅｂサイトの利用を可能にする。
【００３８】
Ｓ８０８では、Ｗｅｂブラウザ２０１はＷｅｂブラウザ２０１のネットワーク状態を確認し、オンラインであれば、キャッシュするファイルのダウンロード処理（Ｓ８０９）に進む。一方、オフラインであれば、キャッシュするファイルのダウンロードもＷｅｂサイトの表示もできないため、Ｗｅｂサイトへのアクセスは失敗する。
【００３９】
図９は、図８におけるキャッシュするファイルのダウンロード時の処理（Ｓ８０９）の手順例を示すフローチャートである。本処理は、Ｗｅｂブラウザ２０１が、オリジナルのマニフェストに記述された制御文、特にその条件と、ユーザエージェント等に含まれたパラメータにしたがってマニフェストを書き換え（すなわち編集し）、書き換えた後に作成されるマニフェストにしたがってファイルをキャッシュする処理である。すなわち、マニフェストファイルの解析した結果、そこに含まれた制御文と環境情報などの条件とに従ってキャッシュするデータを決定し、マニフェストを書き換える。
【００４０】
キャッシュするファイルのダウンロード処理が開始されると、Ｗｅｂブラウザ２０１はＳ９０１で、Ｗｅｂサイトからダウンロードした最新のマニフェスト（対象マニフェストと呼ぶ）を解析する。
【００４１】
続いてＳ９０２で、Ｗｅｂブラウザ２０１は対象マニフェストの解析が正常に終了したかどうかの判断をする。Ｗｅｂブラウザ２０１がコメントアウト行の構文を解釈できなかった場合は、そのコメントアウト行のみ制御文ではなく、通常のコメントアウト行として扱う。正常に終了するとＳ９０３に進む。一方、対象マニフェストのコメントアウト行以外の箇所での構文の誤りや、存在しないファイルを指定しているなど、解析が正常に終了しなかった場合は、キャッシュするファイルのダウンロード処理を終了する。この場合、Ｓ８０７に進むが、キャッシュはされずＷｅｂサイトが表示されるだけである。
【００４２】
Ｓ９０３では、Ｗｅｂブラウザ２０１が対象マニフェストのコメントアウト行に、図６に例示したようなＷｅｂブラウザ２０１が解釈できる制御文が記述されていたかどうかの判断を行う。記述されていれば、Ｓ９０４に進む。一方、記述されていなければ、Ｓ９０５に進む。
【００４３】
Ｓ９０４では、Ｗｅｂブラウザ２０１は対象マニフェストに記述された制御文にしたがってマニフェストの書き換えを行う。ユーザが使用している端末が「ＰＣ」で、且つ、使用しているＷｅｂブラウザ２０１が「ｂｒｏｗｓｅｒＢ」の場合のマニフェストの書き換え前後の例は、図６の通りである。対象マニフェストに制御文が記述されているが１つも条件に当てはまらなかった場合、Ｗｅｂブラウザ２０１は、書き換え処理を行う必要はないが、書き換えたマニフェストを変更済マニフェストとして保存しておく。なお条件判定に用いるブラウザ名等のステータス情報は例えばオペレーティングシステム等により提供される。
【００４４】
続いてＳ９０５で、Ｗｅｂブラウザ２０１は、書き換えた変更済マニフェストにしたがって、アプリケーションキャッシュに変更済マニフェストで指定されているファイルをダウンロードする。同時に、オリジナルである対象マニフェストを、オリジナルのマニフェスト７０１としてアプリケーションキャッシュに保存する。Ｓ９０４にてＷｅｂブラウザ２０１が、マニフェストを書き換えた場合は、書き換えた後の変更済マニフェストもマニフェスト７０２としてアプリケーションキャッシュに保存する。なおステップＳ９０５におけるファイルのダウンロードは、上述したように、Ｗｅｂブラウザが生成したユーザエージェントにより実行してもよい。
【００４５】
なお、本実施例ではＷｅｂブラウザ２０１が、オリジナルであるマニフェスト７０１を書き換えることで、代替ファイルをキャッシュするような例を説明した。しかし、Ｗｅｂブラウザ２０１がマニフェストを書き換えずとも、同様のキャッシュ制御を行う方法もある。例えば、Ｗｅｂブラウザ２０１が、ＨＴＭＬなどに記述したソースファイルのパスの整合性を取るために、単に代替ファイルをリネームしてからキャッシュする方法が考えられる。また、同様の理由で、代替前のファイル名から代替ファイルを辿るためのリンクを作成してからキャッシュする方法も考えられる。したがって、キャッシュ制御のための手順は、本実施例で述べた手順例に限らない。
【００４６】
以上の構成及び手順により、本実施形態によれば、キャッシュ対象のファイルを、条件付きで指定することができる。本実施形態では特に、Ｗｅｂブラウザや装置などの実行環境に関する条件に該当するキャッシュ対象のファイルと、無条件のファイルとを指定できる。このため、不要なファイルあるいは、Ｗｅｂブラウザの機能によっては使用できない不適切なファイルのキャッシュを回避できる。
［実施例２］
実施例１では、端末やＷｅｂブラウザに応じてキャッシュ制御を行うための処理手順を説明した。実施例１で説明したＷｅｂブラウザ２０１が制御文に従って判断する条件は主に端末・Ｗｅｂブラウザの種類などの環境であったが、ユーザ自身の情報や利用形態については考慮できていない。そこで、実施例２ではＷｅｂサイトが許可する範囲内でユーザの意図を反映したキャッシュ制御を実現する手法について説明する。以下、Ｗｅｂサイトが、Ｗｅｂブラウザ２０１にファイルをキャッシュさせる際のユーザの意図の反映であるポリシー設定情報を便宜的にキャッシュポリシと呼ぶことにする。
【００４７】
図１０は、キャッシュポリシによるキャッシュ制御のための設定画面の一例を示す図である。本設定画面では、Ｗｅｂブラウザ２０１でキャッシュポリシによるキャッシュ制御を行うための設定ができる。設定画面はＷｅｂブラウザ２０１から呼び出す。
【００４８】
ラジオボタン１００１、１００２は、Ｗｅｂサイトがキャッシュポリシに対応していた場合、キャッシュポリシを適用するか否かを設定するためのラジオボタンである。設定画面で、ラジオボタン１００１が選択された場合は、ＵＲＬリスト１００３とキャッシュポリシの設定項目リスト１００６が設定できるようになり、それらの設定に応じてキャッシュ制御が実行される。
【００４９】
ＵＲＬリスト１００３はキャッシュポリシを適用しないＷｅｂサイトのリストである。ユーザがラジオボタン１００１によりキャッシュポリシを適用していたとしても、ＵＲＬリスト１００３に登録されているＷｅｂサイトにはキャッシュポリシを適用しない。ボタン１００４によりＵＲＬリスト１００３からＷｅｂサイトを削除することができ、ボタン１００５によりＵＲＬを追加することが可能である。
【００５０】
設定項目リスト１００６はキャッシュポリシのリストである。キャッシュポリシによるキャッシュ制御は、これら設定項目の設定値に当てはまる条件で、且つ、Ｗｅｂサイトがキャッシュポリシに対応している場合に適用される。
【００５１】
ＯＫボタン１００７を押下すると、前回の設定値の保存処理から変更された設定値を保存すると共に、本設定画面を閉じる。キャンセルボタン１００８を押下すると、前回の設定値の保存処理から変更された設定値を破棄すると共に、本設定画面を閉じる。適用ボタン１００９を押下すると、前回の設定値の保存処理から変更された設定値を保存する。
【００５２】
なお、実施例１で説明した、Ｗｅｂブラウザ２０１が生成するユーザエージェントなどに応じてキャッシュ制御を行うための設定、例えばブラウザ名やデバイス種類等も、本設定画面が提供する設定項目に含めることができる。また、設定項目リスト１００６は、キャッシュポリシのほんの一例であり、拡張することができる。
【００５３】
図１１は、キャッシュポリシによるキャッシュ制御のためのマニフェストの記述例を示す図である。マニフェストのコメントアウト行に制御文を記述する方法は、実施例１と同様である。また、実施例２においても、図８、図９のフローチャートと同様の処理手順が適用される。そのため、実施例２においても、Ｗｅｂブラウザ２０１は、Ｓ９０４でキャッシュポリシを適用したマニフェスト７０１の書き換えを行い、Ｓ９０５で書き換えたマニフェスト７０２にしたがってファイルをダウンロードする。本実施例においても、実施例１と同様、制御文で使用する項目名は、対応する情報と関連付けられており、制御文に記述された項目名にしたがって関連付けられた情報が参照される。本例では、項目名と対応する情報との関連付けは、ユーザエージェントに含まれた設定から、さらにキャッシュポリシで定義される設定まで拡張されている。たとえば項目名"ｉｍａｇｅ"が制御文に表れれば、対応する情報として、キャッシュポリシ設定画面において「サイズの小さい画像ファイルをキャッシュする」という項目で設定された情報を参照する。
【００５４】
ここで、Ｗｅｂブラウザ２０１を使用して、図１１のマニフェストに従って、図１０のような設定を行った場合のキャッシュ制御について説明する。まず、Ｗｅｂブラウザ２０１は、制御文１１０２を読むと、条件として記述された項目名"ｉｍａｇｅ"に対応する情報である設定項目１０１０により設定された情報（以下単に設定項目と呼ぶ。）を参照し、条件が一致すると、すなわち参照した情報が、条件値"ｓｍａｌｌ"と一致すると判断した場合、通常のフォントサイズであるｓｔｙｌｅ．ｃｓｓの代わりに同じディレクトリに置かれたフォントサイズの大きいｓｔｙｌｅ＿ｌａｒｇｅ．ｃｓｓをキャッシュする。なお、設定項目１０１２がチェックされると、その項目の情報として値"ｓｍａｌｌ"がセットされるものとする。以下、制御文ごとに同様の判断を行うが、判断の詳細については省略して説明する。
【００５５】
次に、Ｗｅｂブラウザ２０１は、設定項目１０１１と制御文１１０３の条件が一致すると判断し、年齢制限コンテンツであるａｄｖの代わりにコンテンツａｄｖ＿Ｕ１８をネットワークからロードするようにする。最後に、Ｗｅｂブラウザ２０１は、設定項目１０１２と制御文１１０１の条件が一致すると判断し、ｉｍａｇｅ．ｊｐｇの代わりに小さいサイズの画像ファイルｉｍａｇｅ＿ｓｍａｌｌ．ｊｐｇをキャッシュする。Ｗｅｂブラウザ２０１は、設定項目１０１３を適用しているが、図１１に記載されている制御文に該当する条件がないため、適用しない。この例では、マニフェストを書き換えずに、制御文を解釈実行してキャッシュするように説明したが、実施例１のようにマニフェストを書き換えてから変更後マニフェストを解釈実行してもよい。
図１０に示したように、ポリシー設定情報には、フォントサイズ、オブジェクト配置を前記情報処理端末に合わせる設定、赤みを抑える設定、年齢制限、画像ファイルをキャッシュしない設定、サイズの小さい画像ファイルをキャッシュする設定、音声ファイルをキャッシュしない設定、サイズの小さい音声ファイルをキャッシュする設定、映像ファイルをキャッシュしない設定などが含まれている。
【００５６】
図１２は、Ｗｅｂブラウザ２０１を使用してキャッシュポリシに対応しているＷｅｂサイトに初めてアクセスし、キャッシュポリシを適用したファイルのダウンロード処理が終了したときの通知画面例である。
【００５７】
メッセ―ジ表示部１２０１は、最新のキャッシュポリシを適用した際に表示されるため、二度目以降のアクセス（キャッシュからのロード）では表示されない。キャッシュポリシに変更があった場合は、Ｗｅｂブラウザ２０１は、書き換えたマニフェスト７０２を保有するＷｅｂサイトのオリジナルのマニフェスト７０１を参照し、再キャッシュを行う。この場合も、Ｓ９０４でキャッシュポリシを適用したマニフェスト７０１の書き換えを行い、Ｓ９０５で書き換えたマニフェスト７０２にしたがってファイルをダウンロードする。
【００５８】
ボタン１２０２は、当該Ｗｅｂサイトのキャッシュの際に、Ｗｅｂブラウザ２０１が、その時点で適用されているキャッシュポリシの設定でキャッシュを行うか否かの確認のためのボタンである。ボタン１２０２を押下することで、Ｗｅｂブラウザ２０１は、その時点で適用されているキャッシュポリシで当該Ｗｅｂサイトのキャッシュを行うことを確定する。
【００５９】
ボタン１２０３は、初めて参照するマニフェストに対して、その時点でのキャッシュポリシを適用したくない場合に、キャッシュポリシの変更を行うためのボタンである。ボタン１２０３を押下すると、図１０の設定画面が開き、再設定を行うことができる。図１０で再設定を行い、設定値を保存してから設定画面を閉じると、Ｗｅｂブラウザ２０１は、再度キャッシュを行う。なお、メッセージ表示部１２０１、ボタン１２０２、ボタン１２０３は表示しないことも可能である。
【００６０】
通常、Ｗｅｂサイトにアクセスすると、キャッシュを行うと共にＷｅｂサイトを表示するため、初回アクセス時はアプリケーションキャッシュからロードを行わない場合が多い。しかし、キャッシュポリシが適用されるのは、あくまでキャッシュからロードしたファイルであるため、初回アクセス時はキャッシュポリシの適用されていないＷｅｂサイトが表示される可能性がある。そこで、本設定画面で所定の設定を行うことで、初回アクセス時でもキャッシュからロードするように設定することも可能である。また、ユーザの希望に応じて、管理者しかキャッシュポリシの設定が行えないようにすることも可能である。
【００６１】
また実施例１では、Ｗｅｂブラウザがキャッシュしているマニフェストファイルと、Ｗｅｂサイトがあるマニフェストファイルとが相違していればアプリケーションキャッシュは最新ではないものと判断したが、本例ではそれに加えて、更新されたキャッシュポリシが適用されるＷｅｂサイトにアクセスした場合に、アプリケーションキャッシュは最新ではないと判断してもよい。更新されたキャッシュポリシが適用されたか否かはＷｅｂサイトごとに異なるため、例えばＷｅｂサイトごとに、適用したキャッシュポリシのバージョンや更新日時等を記録しておき、当該Ｗｅｂサイトにアクセスした際に、記録したキャッシュポリシと現在のキャッシュポリシのバージョンや更新日時等を比較し、相違があればアプリケーションキャッシュは最新ではないと判断して、その更新手順を行ってもよい。
【００６２】
以上のようにして本実施形態によれば、ユーザが設定可能なキャッシュポリシの設定を条件として、当該条件に応じたファイルをキャッシュすることができる。このため、環境に応じて不要なデータや不適切なデータのキャッシュを防止するのみならず、ユーザの意思を反映したデータのキャッシュが可能となる。
【００６３】
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００６４】
１０４  情報処理端末、１０７  情報処理端末、２０１  Ｗｅｂブラウザ、２０７  データストレージ
【図１】
2015230564.tif 000003
【図２】
2015230564.tif 000004
【図３】
2015230564.tif 000005
【図４】
2015230564.tif 000006
【図５】
2015230564.tif 000007
【図６】
2015230564.tif 000008
【図７】
2015230564.tif 000009
【図８】
2015230564.tif 000010
【図９】
2015230564.tif 000011
【図１０】
2015230564.tif 000012
【図１１】
2015230564.tif 000013
【図１２】
2015230564.tif 000014