JP2015230564A - 情報処理端末、キャッシュ制御方法及びウェブシステム - Google Patents

情報処理端末、キャッシュ制御方法及びウェブシステム Download PDF

Info

Publication number
JP2015230564A
JP2015230564A JP2014116209A JP2014116209A JP2015230564A JP 2015230564 A JP2015230564 A JP 2015230564A JP 2014116209 A JP2014116209 A JP 2014116209A JP 2014116209 A JP2014116209 A JP 2014116209A JP 2015230564 A JP2015230564 A JP 2015230564A
Authority
JP
Japan
Prior art keywords
web browser
processing terminal
information processing
cache
manifest
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.)
Granted
Application number
JP2014116209A
Other languages
English (en)
Other versions
JP6327959B2 (ja
Inventor
祐貴 白河
Yuki Shirakawa
祐貴 白河
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2014116209A priority Critical patent/JP6327959B2/ja
Publication of JP2015230564A publication Critical patent/JP2015230564A/ja
Application granted granted Critical
Publication of JP6327959B2 publication Critical patent/JP6327959B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】HTML5の仕様ではマニフェストは1つのHTMLにつき1つだけしか指定することができない。そのため、単一ページから構成されるようなWebサイトにおいては、端末やWebブラウザに応じて、ファイルを選択してキャッシュする、特定のファイルをキャッシュしないといったキャッシュ制御を行うことが難しい。
【解決手段】マニフェストのコメントアウト行に制御文を記述しておくことで、Webブラウザ201がその制御文で指定された条件に合致するようマニフェストの内容を書き換え、ユーザの端末やWebブラウザ、利用方針に適したキャッシュ制御を行う。
【選択図】図9

Description

本発明は、例えばHTML5等における新たなウェブブラウザ用のデータストレージの仕組みを提供する技術に関する。
Webアプリケーションの高機能化に伴い、HTML5では各種機能拡張がなされている。特に、スマートフォンやタブレットなどの携帯端末の普及により、オフラインでWebアプリケーションを動作させるための拡張が多くなされている。例えば、サーバ上のファイルをWebブラウザ内にキャッシュするアプリケーションキャッシュ機能、Webブラウザ内にデータを格納するためのWeb StorageあるいはIndexedDB機能がある。キャッシュさせたいファイルなどを記述したキャッシュマニフェスト(以下、単にマニフェストと呼ぶ)をWebサーバから取得し、Webブラウザがそのマニフェストにしたがってキャッシュすることで、オフライン時でもWebサイトの閲覧を可能にする。しかし、この機能により特定のWebサイトだけでアプリケーションキャッシュやWeb Storageなどのデータの領域を専有してしまう可能性がある。これに対処するために、Webサイトごとにキャッシュできる容量の上限が決まっており、また、指定したWebサイトのキャッシュを削除する機能も提供されている。
ここで、アプリケーションキャッシュ機能でファイルをキャッシュする際の制御方法に関する従来技術として特許文献1がある。特許文献1の技術は、アプリケーションキャッシュ機能を有するWebブラウザが、サーバから提供されるマニフェストを検知すると、それを視覚的にユーザに通知し、キャッシュするかどうかの判断を求めるものである。
特表2012−501498号公報
前述したHTML5での拡張機能について、Webブラウザのアプリケーションキャッシュにファイルをキャッシュさせるためには、サービス提供者があらかじめ、マニフェストをWebサーバ上に配置する必要がある。その上で、HTML(HyperText Markup Language)要素の属性として当該マニフェストを指定することで、アプリケーションキャッシュに対応したWebブラウザであれば、キャッシュを行うことができる。また、このマニフェストは1つのHTML要素につき1つだけ指定することができる。
昨今、異なる端末、異なるWebブラウザからのアクセスに対応すべく、レスポンシブルWebデザインを採用するWebサイトがあり、そのようなWebサイトは単一のHTMLファイルで構成されている場合が多い。そのため、現在のアプリケーションキャッシュ機能の仕様だと、端末やブラウザに適した異なるファイルをキャッシュさせることができない。例えば、端末の画面に見合わない過大な画像ファイルやWebブラウザによっては再生できないファイルフォーマットの動画ファイルなど、不要・不適切なファイルをキャッシュさせてしまうという課題がある。
上記特許文献1は、ファイルのキャッシュ処理の前に、ユーザが明示的にファイルをキャッシュさせるか否かの判断ができた。しかし、従来技術は、マニフェストに書かれたファイルを全てキャッシュさせるか全てキャッシュさせないかという選択しかできない。そのため、個々のファイルに対してキャッシュさせるかさせないか、あるいは例えば代替のファイルを選択できるようにするか、といったキャッシュ制御ができないという問題があった。
本発明は、上記問題を解決するためになされたものであり、Webサイトからアプリケーションキャッシュにキャッシュを行う際に、端末やWebブラウザに応じてキャッシュさせるファイルを制御する手法を提供することを目的とする
上記目的を達成するために本発明は以下の構成を有する。すなわち、ウェブブラウザが動作する情報処理端末であって、前記ウェブブラウザによりアクセスしたウェブサイトが提供するマニフェストファイルを解析する解析手段と、前記マニフェストファイルに従って前記ウェブブラウザのための保存領域へデータをキャッシュデータとして格納する格納制御手段とを有し、前記格納制御手段は、前記情報処理端末の環境情報及び前記ウェブブラウザのポリシー設定情報の少なくとも何れかに基づき、前記解析手段による前記マニフェストファイルの解析の結果に従って、前記キャッシュデータとして格納すべきデータを決定する。
本発明によれば、条件に応じたキャッシュ制御が可能となり、不要・不適切なファイルのキャッシュを回避できる。
ネットワーク構成図 Webブラウザの構成を示すブロック図 情報端末104のハードウェア構成の一例を示すブロック図 情報端末107のハードウェア構成の一例を示すブロック図 一般的なマニフェストの記述例を示す図 Webブラウザ201による書き換え前後のマニフェストの例を示す図 アプリケーションキャッシュの内容の例を示す図 アプリケーションキャッシュへのキャッシュ手順例を示すフローチャート マニフェストを制御文にしたがって書き換える手順例を示すフローチャート キャッシュポリシによるキャッシュ制御のための設定画面の一例を示す図 キャッシュポリシによるキャッシュ制御のためのマニフェストの記述例を示す図 キャッシュポリシが適用されたときの通知画面の一例を示す図
以下、本発明を実施するための形態について図面を用いて説明する。
[実施例1]
<ウェブシステムの構成>
図1は、本システムのネットワーク構成例を示す図である。情報処理装置104は、光回線などでプロバイダ103と通信し、プロバイダ103を介してインターネット102と繋がるPC(パーソナルコンピュータ(Personal Computer))などである。情報処理端末107は基地局106と無線で通信し、コアネットワーク105を介してインターネット102と繋がる端末で、例えばタブレットやスマートフォンなどである。情報処理端末107には、デスクトップPCなども含まれる。Webサーバ101(ウェブサーバ)は、インターネット102を介し、各情報処理端末にWebサイト(ウェブサイト)を提供するシステムである。
図2は、本発明を実施したWebブラウザ(ウェブブラウザ)201の全体構成を示すブロック図である。
ユーザインターフェース(UI)202は、URL表示や、ブックマーク表示、Webブラウザの設定メニュー表示などを含むWebブラウザのUIである。レンダリングエンジン204は、HTMLなどの要求されたコンテンツの表示を行う。ブラウザエンジン203は、UI202とレンダリングエンジン204の間の処理を行う。ネットワーキング205は、HTTP(Hypertext Transfer Protocol)リクエストなどのネットワークの呼び出しを受け付ける。JAVA(登録商標)スクリプトインタープリタ(以下、JSインタープリタ)206は、JAVAスクリプトコードの解析と実行を行う。
データストレージ207は、クッキーやHTML5に係るストレージの仕様に基づくアプリケーションキャッシュ、ウェブストレージ(WebStorage)、IndexedDBのデータを記憶装置の保存領域に保存する制御を行う。データストレージ207によるデータ保存や削除などの操作は、JAVAスクリプトにしたがい、制御可能である。
図3は、情報処理装置104のハードウェア構成を示すブロック図である。CPU301は、RAM303をワークメモリとして、ROM302および記憶装置としてのハードディスクドライブ(HDD)308に格納されたプログラムを実行し、システムバス312を介して後述する各構成を制御する。HDD308は、オペレーティングシステム(OS)や各種プログラムやデータを格納する。CPU301は、ディスクコントローラ(DKC)306を介して、HDD308およびディスクドライブ309にアクセスし、各種プログラムなどをHDD308にインストールする。CPU301は、ネットワークインタフェイスカード(NIC)307を介して、ネットワーク313を介した他のコンピュータなどとも通信可能である。
CPU301は、プログラムにしたがい、ビデオカード(VC)305を介してモニタ311にUIを表示する。ユーザは、キーボード(KB)310やマウスなどのポインティングデバイスを操作して、UIに対する指示や入力を行なう。CPU301は、キーボードコントローラ(KBC)304を介してユーザ指示や入力を受け付け、ユーザ指示や入力に応じて様々な処理を実行する。
図4は、Webブラウザ201が動作することが可能な情報処理端末107のハードウェア構成を示すブロック図である。図4において、情報処理端末107は、アプリケーションプロセッサ(以下、AP)407、ROM401、RAM402、フラッシュSSDなどで構成される記憶装置403を備える。AP407は、ROM401や記憶装置403に記憶されたソフトウェア(すなわちプログラム)を実行し、AP407に接続された各デバイスを総括的に制御する。RAM402は、AP407の主メモリあるいはワークエリアなどとして機能する。記憶装置403は、オペレーティングシステム、Webブラウザなどの各種アプリケーション、データベースデータ、ユーザファイルなどを記憶する。410は、タッチスクリーンコントローラであり、同コントローラに接続されたタッチスクリーン411を制御する。
無線LAN制御部404、移動体通信制御部405、近距離無線通信制御部406は、それぞれ、WiFi(Wireless Fidelity)などの無線LAN通信、移動体通信(モバイル通信など)、近距離無線通信の制御を行う。さらに情報処理端末107において、電源制御部408は、充電池409への充電制御や電池残量の管理を行う。
図4は、本発明が適用可能な情報処理端末107の構成の一例である。したがって、情報処理端末107に、図示以外のネットワーク接続を提供するためのハードウェアや、カメラなどのハードウェアなどを更に備えていてもよい。また、例えば近距離無線通信制御部406などの一部の構成が無くても、本発明に適用可能である。
<マニフェストファイルの構成>
図5はマニフェストファイル(以下単にマニフェストと呼ぶ。)の一例である。マニフェストの先頭に文字列「CACHE MANIFEST」を記述する必要がある。これに続いて、CACHEヘッダ、NETWORKヘッダ、FALLBACKヘッダが順に記述される。
「CACHE:」ヘッダの後に列挙したファイルは、Webサイトに初めてアクセスしてマニフェストがダウンロードされた後に、明示的にWebブラウザ201のアプリケーションキャッシュに保存される。
「NETWORK:」ヘッダの後に列挙するのは、Webサーバへの接続を必要とするファイルである。ここで指定されたファイルについては、Webブラウザはオフラインキャッシュではなく常にWebサーバ上のファイルを参照する。
「FALLBACK:」ヘッダの後には、Webブラウザ201がファイルにアクセスできない場合に表示するページが記述される。
「#」で始まる行はコメントアウト行である。コメントアウト行は従来のWebブラウザにおいては解釈の対象とならないが、Webブラウザ201においては解釈の対象とする。
アプリケーションキャッシュが更新されるのは、Webサイトを運営する管理者などによりマニフェスト自身が変更された時だけである。そのため、画像ファイルをファイル名はそのままで編集した場合など、キャッシュ対象のファイルが変更されてもマニフェストが変更されない限りは、そのファイルは再キャッシュされない。その場合、コメント行に更新日付やバージョン番号などを記載して更新することにより、新しいファイルがキャッシュされるようになる。
ユーザが再度Webサイトを閲覧した際に、Webブラウザ201はマニフェストにしたがって、キャッシュしたファイルを使用するように記述されているファイルは、Webサーバから再度取得せずにキャッシュを使用するようになる。
このようにして、ネットワークがオフラインになった場合でも、Webブラウザ201で管理されるキャッシュを使用することで、Webサイトが提供するサービスを利用することができる。
図6(a)は、Webブラウザ201が解釈できる制御文をマニフェストのコメントアウト行に記述した例を示す図である。この制御文をWebブラウザ201が解釈することにより、キャッシュ制御を行う。キャッシュ制御とは、Webブラウザ201が、マニフェストに記述された個々のファイルに対して、本来キャッシュするファイル、すなわちキャッシュデータとして保存するファイルの代替ファイルをキャッシュすることや、キャッシュしないことなどを指す。マニフェストのコメントアウト行に制御文を記述することで、制御文を解釈できないWebブラウザであっても、通常通りにマニフェストの内容を解釈することが可能である。Webブラウザ201は、Webブラウザ201が生成するユーザエージェントに応じて、マニフェストの制御文の条件に一致するファイルのキャッシュ制御を行う。ユーザエージェントには、たとえばWebブラウザ名や、デバイスの種類等の環境を示す情報が含まれている。制御文で使用する項目名(Webブラウザ名やデバイス種類を示す項目名)は、それらの情報と関連付けられており、項目名にしたがって関連付けられた情報が参照される。また本例に示す制御文は、条件を示す「if」「else」等の文字列と、それらに続く条件(丸かっこで記述される)、条件に応じて実行される動作(波かっこで記述される)とで構成される。
例として、使用している端末がPCで、且つ、使用しているWebブラウザ201の名前が「browserB」である場合について説明する。制御文601の一行目の実行条件は、「device」(端末の意)が「PC」であって、且つ、「browser」(使用しているWebブラウザ201の名前)が「browserA」であることである。使用しているWebブラウザ201が、この条件に一致すると判断した場合、script.jsの代わりにscript_browserA_pc.jsを代わりにキャッシュする。今回の例では、Webブラウザ201は、制御文601の一行目の実行条件に一致しないと判断する。制御文601の二行目は、Webブラウザ201が、制御文601の一行目の条件に一致しないと判断した場合に実行される制御文である。この制御文にはさらに実行条件が記述されており、その実行条件は、使用しているWebブラウザ201の名前が「browserB」であることである。使用しているWebブラウザ201が、この条件に一致すると判断した場合、script.jsの代わりにscript_browserB.jsを代わりにキャッシュする。今回の例では、Webブラウザ201は、制御文601の二行目の実行条件に一致すると判断する。同様に、制御文602では、使用しているWebブラウザ201が「browserB」であればmovie.flvを、それ以外のWebブラウザ201であればmovie.mp4をキャッシュしないようにしている。今回の例では、使用しているWebブラウザ201が「browserB」であるため、Webブラウザ201は、movie.flvをキャッシュしないようにしている。この図6(a)の例では、カレントパスのディレクトリにある、図6(a)のマニフェストを指定したHTMLファイルと、同じディレクトリに置かれたJPEGイメージファイルimage.jpg、音声ファイルmusic.mp3、スタイルシートstyle.cssがキャッシュされる。また制御文により、JAVA(登録商標)スクリプトファイルscript.jsに関しては、条件に応じたファイルが代わりにキャッシュされ、映像ファイルmovie.flvおよびmovie.mp4については条件に応じてキャッシュされない。
以上のように、マニフェストに記述した制御文の解釈により、端末あるいはWebブラウザに適したキャッシュ制御が可能になる。厳密には、Webブラウザ201が、図6(a)の制御文を解釈し、マニフェストを書き換え、その書き換えたマニフェストにしたがってキャッシュしている。今回の例では、使用している端末が「PC」で、且つ、使用しているWebブラウザ201が「browserB」であるため、図6(a)は図6(b)のように書き換えられる。すなわち、文字列script.jsは、script_browserB.jsに置換され、文字列movie.flvは削除される。
なお、制御文の条件判断に用いる情報は、Webブラウザ201により生成される情報であれば、ユーザエージェントに限定しない。また、コメントアウト行に記述できる制御文は図6(a)で使用したスクリプト言語に限定されず、Webブラウザ201が解釈できる文字列であればよい。
<アプリケーションキャッシュの例>
図7は、アプリケーションキャッシュの内容の例を示す図である。オリジナルマニフェスト名701はWebブラウザ201に書き換えられる前のオリジナルのマニフェストを示し、変更済マニフェスト名702はWebブラウザ201に制御文にしたがって書き換えられたマニフェストを示している。まず、Webブラウザ201は、サーバから提供されるオリジナルのマニフェストをオリジナルマニフェスト名701で示すマニフェスト(以下マニフェスト701と呼ぶ)として保存する。次に、Webブラウザ201は、このオリジナルのマニフェスト701に記述された制御文にしたがってマニフェスト701を書き換え、変更済マニフェスト名702で示すマニフェスト(以下、マニフェスト702あるいは変更済マニフェストファイルと呼ぶ)として保存する。そして、Webブラウザ201は、書き換えたマニフェスト702にしたがってアプリケーションキャッシュにファイルをキャッシュする。例えば、Webブラウザ201は、制御文601で一致した条件により703のように代替ファイルをキャッシュし、制御文602で一致した条件により704のようにファイルをキャッシュしないようにする。
なお、キャッシュを更新することを考慮して、Webブラウザ201は、オリジナルのマニフェスト701を保持しておく。Webブラウザ201によるキャッシュの更新方法は後述する。
<キャッシュ手順>
図8は、アプリケーションキャッシュへのキャッシュ手順例を示すフローチャートである。本処理は、アプリケーションキャッシュ機能を有し、格納制御手段として機能するWebブラウザ201が、Webサイトへアクセスしたときのアプリケーションキャッシュに関する処理である。したがって図8の手順は、ソフトウェア上はWebブラウザ201が、ハードウェア上はCPU301が主体となって実行する。
Webブラウザ201でWebサイト(すなわち指定したURI)にアクセスすると、S801でアプリケーションキャッシュに当該Webサイトの最新のキャッシュが存在するかどうかを判定する。この判定は、Webブラウザ201が、Webサイトに配置されているマニフェストをダウンロードして、WebサイトからダウンロードしたマニフェストとWebブラウザ201が保持しているオリジナルのマニフェスト701とを比較することで行う。例えばこれらマニフェストの内容に相違があればWebサイトに配置された(すなわちダウンロードした)マニフェストが最新であり、最新ではないマニフェストに基づいたアプリケーションキャッシュは最新ではないと判断する。アプリケーションキャッシュが最新でなかった場合や、そもそもアプリケーションキャッシュにキャッシュデータがなにも保存されていない場合はS808へ進む。一方、アプリケーションキャッシュが最新である場合、すなわちダウンロードしたマニフェストとWebブラウザ201が保持していたマニフェスト701とが一致した場合は、S802へ進む。Webブラウザ201がオフライン状態の場合は、Webサイトにアクセスすることができないため、Webブラウザ201が保持しているマニフェスト701を最新のものと判断し、S802へ進む。
S802〜S806では、アプリケーションキャッシュからキャッシュしていたファイルをロードする。マニフェストに記述されたファイルのうち、アプリケーションキャッシュからロードが未完了のファイルに対してS802〜S806の処理を繰り返す。
続いてS803で、Webブラウザ201は、Webブラウザ201が保持するマニフェストに記述されたファイルをアプリケーションキャッシュあるいはネットワーク越しに参照できるか試みる。参照できる場合はS804へ進み、参照できない場合はS805へ進む。
S804では、Webブラウザ201はマニフェストのCACHEヘッダに記述されたファイルであればアプリケーションキャッシュから、NETWORKヘッダに記述されたファイルであればネットワーク越しにファイルをロードする。
S805では、Webブラウザ201は参照できなかったファイルの代わりにFALLBACKヘッダに記述されたファイルをロードする。
続いてS806で、Webブラウザ201はマニフェストに記述された全てのファイルに対してS804あるいはS805の処理が行われたかどうか判断する。処理が行われていないファイルが存在すると判断すれば、S802に戻り処理を繰り返す。一方、Webブラウザ201がマニフェストに記述された全てのファイルに対して処理が行われたと判断すれば、S807に進む。
続いてS807では、Webブラウザ201が、アプリケーションキャッシュからロードしたファイルを、UI202を介してモニタ311に表示することで、Webサイトの利用を可能にする。
S808では、Webブラウザ201はWebブラウザ201のネットワーク状態を確認し、オンラインであれば、キャッシュするファイルのダウンロード処理(S809)に進む。一方、オフラインであれば、キャッシュするファイルのダウンロードもWebサイトの表示もできないため、Webサイトへのアクセスは失敗する。
図9は、図8におけるキャッシュするファイルのダウンロード時の処理(S809)の手順例を示すフローチャートである。本処理は、Webブラウザ201が、オリジナルのマニフェストに記述された制御文、特にその条件と、ユーザエージェント等に含まれたパラメータにしたがってマニフェストを書き換え(すなわち編集し)、書き換えた後に作成されるマニフェストにしたがってファイルをキャッシュする処理である。すなわち、マニフェストファイルの解析した結果、そこに含まれた制御文と環境情報などの条件とに従ってキャッシュするデータを決定し、マニフェストを書き換える。
キャッシュするファイルのダウンロード処理が開始されると、Webブラウザ201はS901で、Webサイトからダウンロードした最新のマニフェスト(対象マニフェストと呼ぶ)を解析する。
続いてS902で、Webブラウザ201は対象マニフェストの解析が正常に終了したかどうかの判断をする。Webブラウザ201がコメントアウト行の構文を解釈できなかった場合は、そのコメントアウト行のみ制御文ではなく、通常のコメントアウト行として扱う。正常に終了するとS903に進む。一方、対象マニフェストのコメントアウト行以外の箇所での構文の誤りや、存在しないファイルを指定しているなど、解析が正常に終了しなかった場合は、キャッシュするファイルのダウンロード処理を終了する。この場合、S807に進むが、キャッシュはされずWebサイトが表示されるだけである。
S903では、Webブラウザ201が対象マニフェストのコメントアウト行に、図6に例示したようなWebブラウザ201が解釈できる制御文が記述されていたかどうかの判断を行う。記述されていれば、S904に進む。一方、記述されていなければ、S905に進む。
S904では、Webブラウザ201は対象マニフェストに記述された制御文にしたがってマニフェストの書き換えを行う。ユーザが使用している端末が「PC」で、且つ、使用しているWebブラウザ201が「browserB」の場合のマニフェストの書き換え前後の例は、図6の通りである。対象マニフェストに制御文が記述されているが1つも条件に当てはまらなかった場合、Webブラウザ201は、書き換え処理を行う必要はないが、書き換えたマニフェストを変更済マニフェストとして保存しておく。なお条件判定に用いるブラウザ名等のステータス情報は例えばオペレーティングシステム等により提供される。
続いてS905で、Webブラウザ201は、書き換えた変更済マニフェストにしたがって、アプリケーションキャッシュに変更済マニフェストで指定されているファイルをダウンロードする。同時に、オリジナルである対象マニフェストを、オリジナルのマニフェスト701としてアプリケーションキャッシュに保存する。S904にてWebブラウザ201が、マニフェストを書き換えた場合は、書き換えた後の変更済マニフェストもマニフェスト702としてアプリケーションキャッシュに保存する。なおステップS905におけるファイルのダウンロードは、上述したように、Webブラウザが生成したユーザエージェントにより実行してもよい。
なお、本実施例ではWebブラウザ201が、オリジナルであるマニフェスト701を書き換えることで、代替ファイルをキャッシュするような例を説明した。しかし、Webブラウザ201がマニフェストを書き換えずとも、同様のキャッシュ制御を行う方法もある。例えば、Webブラウザ201が、HTMLなどに記述したソースファイルのパスの整合性を取るために、単に代替ファイルをリネームしてからキャッシュする方法が考えられる。また、同様の理由で、代替前のファイル名から代替ファイルを辿るためのリンクを作成してからキャッシュする方法も考えられる。したがって、キャッシュ制御のための手順は、本実施例で述べた手順例に限らない。
以上の構成及び手順により、本実施形態によれば、キャッシュ対象のファイルを、条件付きで指定することができる。本実施形態では特に、Webブラウザや装置などの実行環境に関する条件に該当するキャッシュ対象のファイルと、無条件のファイルとを指定できる。このため、不要なファイルあるいは、Webブラウザの機能によっては使用できない不適切なファイルのキャッシュを回避できる。
[実施例2]
実施例1では、端末やWebブラウザに応じてキャッシュ制御を行うための処理手順を説明した。実施例1で説明したWebブラウザ201が制御文に従って判断する条件は主に端末・Webブラウザの種類などの環境であったが、ユーザ自身の情報や利用形態については考慮できていない。そこで、実施例2ではWebサイトが許可する範囲内でユーザの意図を反映したキャッシュ制御を実現する手法について説明する。以下、Webサイトが、Webブラウザ201にファイルをキャッシュさせる際のユーザの意図の反映であるポリシー設定情報を便宜的にキャッシュポリシと呼ぶことにする。
図10は、キャッシュポリシによるキャッシュ制御のための設定画面の一例を示す図である。本設定画面では、Webブラウザ201でキャッシュポリシによるキャッシュ制御を行うための設定ができる。設定画面はWebブラウザ201から呼び出す。
ラジオボタン1001、1002は、Webサイトがキャッシュポリシに対応していた場合、キャッシュポリシを適用するか否かを設定するためのラジオボタンである。設定画面で、ラジオボタン1001が選択された場合は、URLリスト1003とキャッシュポリシの設定項目リスト1006が設定できるようになり、それらの設定に応じてキャッシュ制御が実行される。
URLリスト1003はキャッシュポリシを適用しないWebサイトのリストである。ユーザがラジオボタン1001によりキャッシュポリシを適用していたとしても、URLリスト1003に登録されているWebサイトにはキャッシュポリシを適用しない。ボタン1004によりURLリスト1003からWebサイトを削除することができ、ボタン1005によりURLを追加することが可能である。
設定項目リスト1006はキャッシュポリシのリストである。キャッシュポリシによるキャッシュ制御は、これら設定項目の設定値に当てはまる条件で、且つ、Webサイトがキャッシュポリシに対応している場合に適用される。
OKボタン1007を押下すると、前回の設定値の保存処理から変更された設定値を保存すると共に、本設定画面を閉じる。キャンセルボタン1008を押下すると、前回の設定値の保存処理から変更された設定値を破棄すると共に、本設定画面を閉じる。適用ボタン1009を押下すると、前回の設定値の保存処理から変更された設定値を保存する。
なお、実施例1で説明した、Webブラウザ201が生成するユーザエージェントなどに応じてキャッシュ制御を行うための設定、例えばブラウザ名やデバイス種類等も、本設定画面が提供する設定項目に含めることができる。また、設定項目リスト1006は、キャッシュポリシのほんの一例であり、拡張することができる。
図11は、キャッシュポリシによるキャッシュ制御のためのマニフェストの記述例を示す図である。マニフェストのコメントアウト行に制御文を記述する方法は、実施例1と同様である。また、実施例2においても、図8、図9のフローチャートと同様の処理手順が適用される。そのため、実施例2においても、Webブラウザ201は、S904でキャッシュポリシを適用したマニフェスト701の書き換えを行い、S905で書き換えたマニフェスト702にしたがってファイルをダウンロードする。本実施例においても、実施例1と同様、制御文で使用する項目名は、対応する情報と関連付けられており、制御文に記述された項目名にしたがって関連付けられた情報が参照される。本例では、項目名と対応する情報との関連付けは、ユーザエージェントに含まれた設定から、さらにキャッシュポリシで定義される設定まで拡張されている。たとえば項目名"image"が制御文に表れれば、対応する情報として、キャッシュポリシ設定画面において「サイズの小さい画像ファイルをキャッシュする」という項目で設定された情報を参照する。
ここで、Webブラウザ201を使用して、図11のマニフェストに従って、図10のような設定を行った場合のキャッシュ制御について説明する。まず、Webブラウザ201は、制御文1102を読むと、条件として記述された項目名"image"に対応する情報である設定項目1010により設定された情報(以下単に設定項目と呼ぶ。)を参照し、条件が一致すると、すなわち参照した情報が、条件値"small"と一致すると判断した場合、通常のフォントサイズであるstyle.cssの代わりに同じディレクトリに置かれたフォントサイズの大きいstyle_large.cssをキャッシュする。なお、設定項目1012がチェックされると、その項目の情報として値"small"がセットされるものとする。以下、制御文ごとに同様の判断を行うが、判断の詳細については省略して説明する。
次に、Webブラウザ201は、設定項目1011と制御文1103の条件が一致すると判断し、年齢制限コンテンツであるadvの代わりにコンテンツadv_U18をネットワークからロードするようにする。最後に、Webブラウザ201は、設定項目1012と制御文1101の条件が一致すると判断し、image.jpgの代わりに小さいサイズの画像ファイルimage_small.jpgをキャッシュする。Webブラウザ201は、設定項目1013を適用しているが、図11に記載されている制御文に該当する条件がないため、適用しない。この例では、マニフェストを書き換えずに、制御文を解釈実行してキャッシュするように説明したが、実施例1のようにマニフェストを書き換えてから変更後マニフェストを解釈実行してもよい。
図10に示したように、ポリシー設定情報には、フォントサイズ、オブジェクト配置を前記情報処理端末に合わせる設定、赤みを抑える設定、年齢制限、画像ファイルをキャッシュしない設定、サイズの小さい画像ファイルをキャッシュする設定、音声ファイルをキャッシュしない設定、サイズの小さい音声ファイルをキャッシュする設定、映像ファイルをキャッシュしない設定などが含まれている。
図12は、Webブラウザ201を使用してキャッシュポリシに対応しているWebサイトに初めてアクセスし、キャッシュポリシを適用したファイルのダウンロード処理が終了したときの通知画面例である。
メッセ―ジ表示部1201は、最新のキャッシュポリシを適用した際に表示されるため、二度目以降のアクセス(キャッシュからのロード)では表示されない。キャッシュポリシに変更があった場合は、Webブラウザ201は、書き換えたマニフェスト702を保有するWebサイトのオリジナルのマニフェスト701を参照し、再キャッシュを行う。この場合も、S904でキャッシュポリシを適用したマニフェスト701の書き換えを行い、S905で書き換えたマニフェスト702にしたがってファイルをダウンロードする。
ボタン1202は、当該Webサイトのキャッシュの際に、Webブラウザ201が、その時点で適用されているキャッシュポリシの設定でキャッシュを行うか否かの確認のためのボタンである。ボタン1202を押下することで、Webブラウザ201は、その時点で適用されているキャッシュポリシで当該Webサイトのキャッシュを行うことを確定する。
ボタン1203は、初めて参照するマニフェストに対して、その時点でのキャッシュポリシを適用したくない場合に、キャッシュポリシの変更を行うためのボタンである。ボタン1203を押下すると、図10の設定画面が開き、再設定を行うことができる。図10で再設定を行い、設定値を保存してから設定画面を閉じると、Webブラウザ201は、再度キャッシュを行う。なお、メッセージ表示部1201、ボタン1202、ボタン1203は表示しないことも可能である。
通常、Webサイトにアクセスすると、キャッシュを行うと共にWebサイトを表示するため、初回アクセス時はアプリケーションキャッシュからロードを行わない場合が多い。しかし、キャッシュポリシが適用されるのは、あくまでキャッシュからロードしたファイルであるため、初回アクセス時はキャッシュポリシの適用されていないWebサイトが表示される可能性がある。そこで、本設定画面で所定の設定を行うことで、初回アクセス時でもキャッシュからロードするように設定することも可能である。また、ユーザの希望に応じて、管理者しかキャッシュポリシの設定が行えないようにすることも可能である。
また実施例1では、Webブラウザがキャッシュしているマニフェストファイルと、Webサイトがあるマニフェストファイルとが相違していればアプリケーションキャッシュは最新ではないものと判断したが、本例ではそれに加えて、更新されたキャッシュポリシが適用されるWebサイトにアクセスした場合に、アプリケーションキャッシュは最新ではないと判断してもよい。更新されたキャッシュポリシが適用されたか否かはWebサイトごとに異なるため、例えばWebサイトごとに、適用したキャッシュポリシのバージョンや更新日時等を記録しておき、当該Webサイトにアクセスした際に、記録したキャッシュポリシと現在のキャッシュポリシのバージョンや更新日時等を比較し、相違があればアプリケーションキャッシュは最新ではないと判断して、その更新手順を行ってもよい。
以上のようにして本実施形態によれば、ユーザが設定可能なキャッシュポリシの設定を条件として、当該条件に応じたファイルをキャッシュすることができる。このため、環境に応じて不要なデータや不適切なデータのキャッシュを防止するのみならず、ユーザの意思を反映したデータのキャッシュが可能となる。
[その他の実施例]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
104 情報処理端末、107 情報処理端末、201 Webブラウザ、207 データストレージ

Claims (13)

  1. ウェブブラウザが動作する情報処理端末であって、
    前記ウェブブラウザによりアクセスしたウェブサイトが提供するマニフェストファイルを解析する解析手段と、
    前記マニフェストファイルに従って前記ウェブブラウザのための保存領域へデータをキャッシュデータとして格納する格納制御手段と
    を有し、
    前記格納制御手段は、前記情報処理端末の環境情報及び前記ウェブブラウザのポリシー設定情報の少なくとも何れかに基づき、前記解析手段による前記マニフェストファイルの解析の結果に従って、前記キャッシュデータとして格納すべきデータを決定することを特徴とする情報処理端末。
  2. 前記格納制御手段は、オリジナルのマニフェストファイルを、前記情報処理端末の環境情報および前記ウェブブラウザのポリシー設定の少なくとも何れかに基づき、前記解析手段による解析の結果に従って編集して変更済マニフェストファイルを作成し、前記変更済マニフェストファイルを前記キャッシュデータとして格納することを特徴とする請求項1に記載の情報処理端末。
  3. 前記格納制御手段は、前記変更済マニフェストファイルに従って前記ウェブブラウザのための保存領域へキャッシュデータを格納することを特徴とする請求項2に記載の情報処理端末。
  4. 前記解析手段は、オリジナルのマニフェストファイルの中のコメント行として記載される条件を解析して、前記格納制御手段は、前記情報処理端末の環境情報及び前記ウェブブラウザのポリシー設定情報の少なくとも何れかに基づき、前記条件に従い、前記キャッシュデータとして格納すべきデータを決定することを特徴とする請求項1に記載の情報処理端末。
  5. 前記環境情報には情報処理端末の種類、ウェブブラウザの種類の少なくとも何れかが含まれることを特徴とする請求項1乃至4のいずれか一項に記載の情報処理端末。
  6. 前記ポリシー設定情報には、フォントサイズ、オブジェクト配置を前記情報処理端末に合わせる設定、赤みを抑える設定、年齢制限、画像ファイルをキャッシュしない設定、サイズの小さい画像ファイルをキャッシュする設定、音声ファイルをキャッシュしない設定、サイズの小さい音声ファイルをキャッシュする設定、映像ファイルをキャッシュしない設定の少なくともいずれかが含まれることを特徴とする請求項1乃至5のいずれか一項に記載の情報処理端末。
  7. 前記情報処理端末の環境情報及び前記ウェブブラウザのポリシー設定情報の少なくとも何れかに基づく前記格納制御手段による制御が行われた場合に、前記ウェブブラウザを介して、当該制御が行われたことの通知を行うことを特徴する請求項1乃至6のいずれか一項に記載の情報処理端末。
  8. 前記解析手段及び前記格納制御手段は、前記ウェブブラウザにより提供されることを特徴とする請求項1乃至7のいずれか一項に記載の情報処理端末。
  9. 前記ウェブブラウザによりアクセスしたウェブサイトが提供するマニフェストファイルを解析する解析手段と、
    前記マニフェストファイルに従って前記ウェブブラウザのための保存領域へデータをキャッシュデータとして格納する格納制御手段と
    してコンピュータを機能させるためのプログラムであって、
    前記格納制御手段は、前記情報処理端末の環境情報及び前記ウェブブラウザのポリシー設定情報の少なくとも何れかに基づき、前記解析手段による前記マニフェストファイルの解析の結果に従って、前記キャッシュデータとして格納すべきデータを決定することを特徴とするプログラム。
  10. 前記プログラムは、コンピュータをさらにウェブブラウザとして機能させるためのプログラムであることを特徴とする請求項9に記載のプログラム。
  11. ウェブブラウザが動作する情報処理端末であって、
    前記ウェブブラウザによりアクセスしたウェブサイトが提供する、前記情報処理端末の環境情報及び前記ウェブブラウザのポリシー設定情報の少なくとも何れかについて条件付きのデータの指定を含み得るマニフェストファイルを解析する解析手段と、
    前記マニフェストファイルの解析の結果に従って、指定された条件に該当するデータを、前記ウェブブラウザのための保存領域へキャッシュデータとして格納する格納制御手段と
    を有することを特徴とする情報処理端末。
  12. ウェブブラウザが動作する情報処理端末におけるキャッシュ制御方法であって、
    前記ウェブブラウザによりアクセスしたウェブサイトが提供するマニフェストファイルを解析する解析工程と、
    前記マニフェストファイルに従って前記ウェブブラウザのための保存領域へデータをキャッシュデータとして格納する格納制御工程と
    を有し、
    前記格納制御工程では、前記情報処理端末の環境情報及び前記ウェブブラウザのポリシー設定情報の少なくとも何れかに基づき、前記解析工程による前記マニフェストファイルの解析の結果に従って、前記キャッシュデータとして格納すべきデータを決定することを特徴とするキャッシュ制御方法。
  13. 請求項1乃至8のいずれか一項に記載の情報処理端末と、
    前記情報処理端末からのアクセスに応じて、前記情報処理端末の環境情報及び前記ウェブブラウザのポリシー設定情報の少なくとも何れかについて条件付きのデータの指定を含み得るマニフェストファイルを前記情報処理端末に提供するウェブサーバと
    を有することを特徴とするウェブシステム。
JP2014116209A 2014-06-04 2014-06-04 情報処理端末、キャッシュ制御方法及びウェブシステム Active JP6327959B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014116209A JP6327959B2 (ja) 2014-06-04 2014-06-04 情報処理端末、キャッシュ制御方法及びウェブシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014116209A JP6327959B2 (ja) 2014-06-04 2014-06-04 情報処理端末、キャッシュ制御方法及びウェブシステム

Publications (2)

Publication Number Publication Date
JP2015230564A true JP2015230564A (ja) 2015-12-21
JP6327959B2 JP6327959B2 (ja) 2018-05-23

Family

ID=54887310

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014116209A Active JP6327959B2 (ja) 2014-06-04 2014-06-04 情報処理端末、キャッシュ制御方法及びウェブシステム

Country Status (1)

Country Link
JP (1) JP6327959B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018117108A1 (ja) * 2016-12-20 2018-06-28 株式会社ミロク情報サービス キャッシュ管理プログラム、キャッシュ管理装置及びキャッシュ管理方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009187466A (ja) * 2008-02-08 2009-08-20 Ntt Docomo Inc プロキシシステム及び中継方法
JP2009277182A (ja) * 2008-05-19 2009-11-26 Ntt Docomo Inc プロキシサーバおよび通信中継プログラム、並びに通信中継方法
JP2012129847A (ja) * 2010-12-16 2012-07-05 Mega Chips Corp 画像処理システム、画像処理システムの動作方法、ホスト装置、プログラム、およびプログラムの作成方法
US20120311020A1 (en) * 2011-06-03 2012-12-06 Research In Motion Limited Pre-Caching Resources Based on A Cache Manifest
WO2013042411A1 (ja) * 2011-09-22 2013-03-28 九州日本電気ソフトウェア株式会社 アプリケーション管理装置、アプリケーション管理方法、及びコンピュータ読み取り可能な記録媒体
JP2013526743A (ja) * 2010-05-17 2013-06-24 トムソン ライセンシング キャッシュメモリ管理を最適化する方法、およびそれに対応する装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009187466A (ja) * 2008-02-08 2009-08-20 Ntt Docomo Inc プロキシシステム及び中継方法
JP2009277182A (ja) * 2008-05-19 2009-11-26 Ntt Docomo Inc プロキシサーバおよび通信中継プログラム、並びに通信中継方法
JP2013526743A (ja) * 2010-05-17 2013-06-24 トムソン ライセンシング キャッシュメモリ管理を最適化する方法、およびそれに対応する装置
JP2012129847A (ja) * 2010-12-16 2012-07-05 Mega Chips Corp 画像処理システム、画像処理システムの動作方法、ホスト装置、プログラム、およびプログラムの作成方法
US20120311020A1 (en) * 2011-06-03 2012-12-06 Research In Motion Limited Pre-Caching Resources Based on A Cache Manifest
WO2013042411A1 (ja) * 2011-09-22 2013-03-28 九州日本電気ソフトウェア株式会社 アプリケーション管理装置、アプリケーション管理方法、及びコンピュータ読み取り可能な記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018117108A1 (ja) * 2016-12-20 2018-06-28 株式会社ミロク情報サービス キャッシュ管理プログラム、キャッシュ管理装置及びキャッシュ管理方法

Also Published As

Publication number Publication date
JP6327959B2 (ja) 2018-05-23

Similar Documents

Publication Publication Date Title
US9503499B1 (en) Concealing latency in display of pages
AU2011101576B4 (en) Method and systems for generating and displaying a preview image of a content area
US10120847B2 (en) Methods for transforming requests for web content and devices thereof
US20090240698A1 (en) Computing environment platform
US20100070887A1 (en) Method and apparatus for providing an application canvas framework
WO2015069429A1 (en) Dynamically optimized content display
US11677722B2 (en) Implementing a client-side policy on client-side logic
US9363335B2 (en) Method and apparatus that enables a web-based client-server application to be used offline
WO2013085595A1 (en) Selective image loading in mobile browsers
US8706778B2 (en) Methods and systems for an action-based interface for files and other assets
US20150347612A1 (en) Information terminal and control method
WO2017092458A1 (zh) 一种移动终端浏览器文件传输方法及移动终端
CN113656005B (zh) 应用组件库构建方法、应用组件配置方法及相关装置
JP6482204B2 (ja) 情報処理端末、その制御方法及びプログラム
JP6555860B2 (ja) 情報処理端末、制御方法及びプログラム
US20150312122A1 (en) Information processing terminal and control method
WO2015058614A1 (zh) 一种书签存储方法及装置、确定待浏览书签的方法及装置
JP6327959B2 (ja) 情報処理端末、キャッシュ制御方法及びウェブシステム
JP5393242B2 (ja) データ提供方法および中間サーバ装置
CN114816637B (zh) 一种嵌入小程序上的应用显示方法、装置及系统
US20230019933A1 (en) User interface controls for visual software modification
US10193950B2 (en) Network system and control method
US20190004918A1 (en) Processing file modifications in a networked storage system
JPWO2013042411A1 (ja) アプリケーション管理装置、アプリケーション管理方法、及びプログラム
JP6385157B2 (ja) 情報処理端末、制御方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170519

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180312

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180417

R151 Written notification of patent or utility model registration

Ref document number: 6327959

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151