(57)【要約】【課題】操作画面を最初に表示する際にその操作画面のリソースを転送プロトコル経由で読み込んでキャッシュに記憶する方式と比べて、その最初の表示の際の操作画面の表示に要する時間を短縮する。【解決手段】機器内の不揮発性記憶装置３０には、機器内のウェブサーバがブラウザに提供する操作画面データ３６に加え、ブラウザがその操作画面データ３６から作成するキャッシュデータと同じデータ内容のキャッシュ用データベース３８があらかじめ格納されている。機器が起動されると、ＣＰＵ１０がブートプログラム４０を実行する。実行されたブートプログラム４０は、不揮発性記憶装置３０内のキャッシュ用データベース３８を、ブラウザのキャッシュにコピーした後、ブラウザを起動する。【選択図】図１
2018132807.tif 000002
【特許請求の範囲】
【請求項１】
転送プロトコルを介して転送元から転送されたリソース群から機器の操作画面を生成する画面生成手段が前記リソース群のうちキャッシュに記憶して再利用する再利用リソースを示す再利用対象情報と、前記再利用リソースと、を記憶する不揮発性の記憶手段と、
前記画面生成手段が起動される前に、前記記憶手段に記憶された前記再利用リソースを、前記画面生成手段が用いる前記キャッシュにコピーし、前記画面生成手段を起動する起動手段と、
を有する機器。
【請求項２】
追加アプリケーションのインストール指示を受けた場合に、前記追加アプリケーションが利用するリソース群のうち前記画面生成手段が前記キャッシュに記憶して再利用する第２再利用リソースを示す第２再利用対象情報を生成して前記記憶手段に記憶すると共に、前記第２再利用リソースを前記転送プロトコルを介して取得して前記記憶手段に記憶する手段と、
前記追加アプリケーションが起動される前に、前記記憶手段に記憶された前記第２再利用リソースを前記キャッシュにコピーする手段と、
を更に有する請求項１に記載の機器。
【請求項３】
機器が有するコンピュータを、
転送プロトコルを介して転送元から転送されたリソース群から機器の操作画面を生成する画面生成手段が起動される前に、前記機器が有する不揮発性の記憶手段から、前記リソース群のうちキャッシュに記憶して再利用するものとして再利用対象情報に記述された再利用リソースを、前記画面生成手段が用いる前記キャッシュにコピーし、前記画面生成手段を起動する起動手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器及びプログラムに関する。
【背景技術】
【０００２】
一般的なウェブブラウザのキャッシュ機能に改良を加えたものとして、ＨＴＭＬ（Hypertext Markup Language）５の「アプリケーションキャッシュ機能」がある。この機能では、ウェブページのリソースの一つとして、マニフェストファイルを作成しておき、そこに記述したファイルパスにおけるファイルについては、一旦ウェブサーバからネットワークを介して取得した後は、ブラウザのローカルストレージ領域にキャッシュ用のデータベースを作成し、マニフェストファイルに記述したファイルパスとファイル実体を関連付けてキャッシュする。次回以降のＨＴＴＰ（Hypertext Transfer Protocol）リクエストについては、まずブラウザ内のローカルデータベースに問い合わせを行い、該当のファイルがキャッシュ上に存在していれば、ウェブサーバへの問い合わせを行うことなくファイルをキャッシュから取得する。したがって、一旦キャッシュを作成した後はオフライン状態であってもウェブページの表示が可能となる。キャッシュの更新を行うには、マニフェストファイルを修正するだけでよい。
【０００３】
特許文献１には、マニフェストは１つのＨＴＭＬにつき１つだけしか指定することができないというＨＴＭＬ５の仕様でも、単一ページから構成されるウェブサイトについて、端末やウェブブラウザに応じたキャッシュ制御を可能とする技術が開示される。この技術では、マニフェストのコメントアウト行に制御文を記述しておくことで、ウェブブラウザがその制御文で指定された条件に合致するようマニフェストの内容を書き換え、ユーザの端末やウェブブラウザ、利用方針に適したキャッシュ制御を行う。
【０００４】
特許文献２に開示されたシステムでは、店舗内で、ローカルデータベースから無線ＬＡＮを介してスマートホンのローカルストレージに顧客情報を取り込む。次に、店舗外で、この顧客情報をスマートホンのブラウザ上でウェブアプリケーションに取り込んで表示する。これにより、ウェブアプリケーションに取り込んで利用する顧客情報は、インターネット上を流れることなく、ローカルデータベースから無線ＬＡＮを介してスマートホンのローカルストレージに取り込まれる。
【０００５】
特許文献３に開示された装置は、キャッシュ転送要求に対する応答として、コンテンツのキャッシュとコンテンツに関連する埋め込みコンテンツのキャッシュの集合とを受信してローカルキャッシュに格納し、テキスト解析し、コンテンツに埋め込まれたコンテンツのＵＲＬを抽出し、コンテンツのＵＲＬと抽出した埋め込みコンテンツのＵＲＬの集合とをローカルデータベースに格納する手段と、キャッシュ転送要求に含まれるコンテンツのＵＲＬをキーとし、ローカルデータベースを参照してコンテンツに関連する埋め込みコンテンツのＵＲＬの集合を取得し、このＵＲＬの集合に基づき埋め込みコンテンツのキャッシュの集合を抽出し、コンテンツのキャッシュに加えて抽出されたコンテンツに関連する埋め込みコンテンツのキャッシュの集合を他の装置に対して送信する手段とを備える。
【０００６】
また、プリンタ、スキャナ、ファクシミリ、又はそれらの機能を併せ持つ複合機等の機器の操作画面を、ウェブ技術を用いて構成することが行われている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１５−２３０５６４号公報
【特許文献２】特開２０１６−１０５２７１号公報
【特許文献３】特開２００５−０６３１９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
たとえば、ＨＴＭＬ５のアプリケーションキャッシュ機能のようなキャッシュ機能を利用するためには、ＨＴＴＰ等の転送プロトコルを用いて転送元からリソース群をいったん読み込んでキャッシュに記憶させる必要があるため、一度目のアクセスでは画面を表示するまでに時間がある程度かかってしまう。
【０００９】
機器の操作画面を上述のキャッシュ機能を含んだウェブ技術で実現した場合でも同様の問題が生じる。操作画面の情報は機器にとって既知であるにもかかわらず、例えば機器の電源投入時に、操作画面を構成するのに必要なリソースをキャッシュに記憶させるために転送プロトコル経由で読み込む必要があり、このために操作画面が表示されるまでにある程度の時間を要することとなる。
【００１０】
本発明は、操作画面を最初に表示する際にその操作画面のリソースを転送プロトコル経由で読み込んでキャッシュに記憶する方式と比べて、その最初の表示の際の操作画面の表示に要する時間を短縮することを目的とする。
【課題を解決するための手段】
【００１１】
請求項１に係る発明は、転送プロトコルを介して転送元から転送されたリソース群から機器の操作画面を生成する画面生成手段が前記リソース群のうちキャッシュに記憶して再利用する再利用リソースを示す再利用対象情報と、前記再利用リソースと、を記憶する不揮発性の記憶手段と、前記画面生成手段が起動される前に、前記記憶手段に記憶された前記再利用リソースを、前記画面生成手段が用いる前記キャッシュにコピーし、前記画面生成手段を起動する起動手段と、を有する機器である。
【００１２】
請求項２に係る発明は、追加アプリケーションのインストール指示を受けた場合に、前記追加アプリケーションが利用するリソース群のうち前記画面生成手段が前記キャッシュに記憶して再利用する第２再利用リソースを示す第２再利用対象情報を生成して前記記憶手段に記憶すると共に、前記第２再利用リソースを、前記転送プロトコルを介して取得して前記記憶手段に記憶する手段と、前記追加アプリケーションが起動される前に、前記記憶手段に記憶された前記第２再利用リソースを前記キャッシュにコピーする手段と、を更に有する請求項１に記載の機器である。
【００１３】
請求項３に係る発明は、機器が有するコンピュータを、転送プロトコルを介して転送元から転送されたリソース群から機器の操作画面を生成する画面生成手段が起動される前に、前記機器が有する不揮発性の記憶手段から、前記リソース群のうちキャッシュに記憶して再利用するものとして再利用対象情報に記述された再利用リソースを、前記画面生成手段が用いる前記キャッシュにコピーし、前記画面生成手段を起動する起動手段、として機能させるためのプログラムである。
【発明の効果】
【００１４】
請求項１又は３に係る発明によれば、操作画面を最初に表示する際にその操作画面のリソースを転送プロトコル経由で読み込んでキャッシュに記憶する方式と比べて、その最初の表示の際の操作画面の表示に要する時間を短縮することができる。
【００１５】
請求項２に係る発明によれば、機器に追加アプリケーションがインストールされた場合に、起動後最初に画面生成手段が、その追加アプリケーションを実行する際に第２再利用リソースを転送プロトコル経由で読み込んでキャッシュに記憶する方式と比べて、その最初の実行に要する時間を短縮することができる。
【図面の簡単な説明】
【００１６】
【図１】実施形態の機器のハードウエア構成の一例を示す図である。
【図２】機器の操作画面の例を模式的に示す図である。
【図３】ウェブサーバ内の操作画面のリソースのディレクトリ構造の例を示す図である。
【図４】操作画面のうちのホーム画面のＨＴＭＬデータの例を示す図である。
【図５】ホーム画面のＨＴＭＬデータに宣言されたマニフェストのデータ内容の例を示す図である。
【図６】ブラウザが用いるキャッシュエントリの例を示す図である。
【図７】ブラウザが用いるキャッシュデータの例を示す図である。
【図８】機器の起動時に実行される処理手順の例の前半部を示す図である。
【図９】機器の起動時に実行される処理手順の例の後半部を示す図である。
【図１０】追加アプリインストーラの処理手順の例を示す図である。
【発明を実施するための形態】
【００１７】
図１を参照して、本実施形態の機器を例示する。機器は、ユーザに何らかの機能を提供する装置であり、情報処理を実行するコンピュータを内蔵している。例えば、プリンタ、スキャナ、ファクシミリ装置、複合機がその一例である。以下では、一例として、機器が複合機である場合を説明する。
【００１８】
機器は、バス８０に接続されたＣＰＵ（中央演算装置）１０及びメモリ２０を有する。ＣＰＵ１０は、後述するウェブブラウザプログラム３２等、機器の組み込みシステムを構成するプログラムを実行する。メモリ２０はＲＡＭ（Random Access Memory）であり、ＣＰＵ１０がプログラムを実行する際の作業用の記憶領域として利用される。
【００１９】
また機器は、それぞれ対応するインタフェースを介してバス８０に接続された不揮発性記憶装置、ＵＩパネル５０、プリンタ６０、スキャナ７０を有する。
【００２０】
ＵＩ（ユーザインタフェース）パネル５０は、後述するウェブブラウザが生成した操作画面を表示する表示装置である。ＵＩパネル５０は、例えばタッチパネルとして構成されていてもよい。プリンタ６０は画像を用紙に印刷する装置であり、スキャナ７０は原稿画像を光学的に読み取って画像データを生成する装置である。ＣＰＵ１０が実行する制御プログラムは、プリンタ６０及びスキャナ７０を制御することで、機器が提供する印刷機能やスキャン機能、コピー機能を実現する。
【００２１】
不揮発性記憶装置３０は、ＲＯＭ（Read Only Memory）、ＳＳＤ（ソリッドステートドライブ）やＨＤＤ（ハードディスクドライブ）等、電力供給が断たれても記憶を保持できる記憶装置である。以下では、一例として、不揮発性記憶装置３０は、新たなデータの書き込みや、記憶しているデータの書き換えが可能なタイプのものであるとする。
【００２２】
不揮発性記憶装置３０には、ウェブブラウザプログラム３２、ウェブサーバプログラム３４、操作画面データ３６、キャッシュ用データベース３８、ブートプログラム４０、及び追加アプリインストーラ４２が記憶されている。
【００２３】
ウェブブラウザプログラム３２は、ＣＰＵ１０により実行されることでウェブブラウザ（以下単に「ブラウザ」とも言う）として機能する。このウェブブラウザは、機器の操作画面を生成するのに用いられる。ブラウザは、機器の操作画面を生成する画面生成手段の一例である。
【００２４】
ウェブサーバプログラム３４は、ＣＰＵ１０により実行されることでウェブサーバとして機能する。このウェブサーバは、機器の操作画面を規定するＨＴＭＬファイル等、操作画面データ３６を、ＨＴＴＰ経由でブラウザに提供する。すなわちこの例では、機器がウェブサーバとブラウザの両方を有しており、ブラウザは機器内のウェブサーバから、ＨＴＴＰを用いて、操作画面を構成するリソース群を取得する。なお、これはあくまで一例であり、機器のブラウザに操作画面のリソース群を提供するウェブサーバは、機器の外のネットワーク上に設けられていてもよい。
【００２５】
操作画面データ３６は、機器の操作画面を構成するためのリソース群のデータであり、ウェブサーバプログラム３４により利用される。機器の操作画面は、機器を操作するユーザに対して機器が提供する、ユーザインタフェース用の画面である。操作画面を構成するリソース群には、操作画面（ウェブページ）を表すＨＴＭＬファイル、操作画面中に現れる画像や動画、音声等のファイル、操作画面内の表示要素に関する情報処理を表すスクリプトやプログラムのファイル、等が含まれ得る。また、そのリソース群には、ＨＴＭＬ５のアプリケーションキャッシュ機能に用いるマニフェストのファイルが含まれていてもよい。このマニフェストは、ブラウザがキャッシュに記憶して再利用するリソースを示す再利用対象情報の一例である。
【００２６】
キャッシュ用データベース３８は、操作画面データ３６のうちアプリケーションキャッシュ機能によるキャッシュ記憶の対象となるリソース群を、ブラウザがアプリケーションキャッシュ機能によりキャッシュに記憶した場合と同じデータ構造で表したデータベースである。すなわち、このキャッシュ用データベース３８をブラウザ管理下のキャッシュにコピーすれば、そのコピーは、ブラウザ自身（特にアプリケーションキャッシュ機能）がＨＴＴＰ経由でウェブサーバから読み込んだリソース群から作成するキャッシュデータとまったく同じものとなる。
【００２７】
操作画面データ３６及びキャッシュ用データベース３８は、例えば、機器の出荷前に工場等で不揮発性記憶装置３０に書き込まれる。また、操作画面データ３６及びキャッシュ用データベース３８を含む不揮発性記憶装置３０内のデータやプログラムは、機器の出荷後や販売後に自動（例えばネットワーク経由）又は手動（例えば保守サービス員によって）でアップデート可能としてもよい。
【００２８】
ブートプログラム４０は、その機器の組み込みシステム（前述のウェブサーバやウェブブラウザ、その他機器の各部を制御するプログラム等を含む）を起動するためのブート処理を表すプログラムである。ブートプログラム４０は、機器に電源が投入された際等に最初にＣＰＵ１０により実行され、これにより組み込みシステムのうちの必要な部分がメモリ２０にロードされる。特に、ブートプログラム４０は、キャッシュ用データベース３８をブラウザのキャッシュにコピーする。１つの例では、ブラウザのアプリケーションキャッシュ機能で用いるキャッシュは、メモリ２０内に設けたＲＡＭディスク内の所定のパス（このパスがキャッシュ先としてブラウザに設定されている）に設けるので、ブートプログラム４０は、そのパスにキャッシュ用データベース３８をコピーする。ただし、これは一例に過ぎず、ブラウザのキャッシュは、不揮発性記憶装置３０内に設けてもよい。
【００２９】
追加アプリインストーラ４２は、ウェブシステムとして構成されたアプリケーション（以下「追加アプリ」と呼ぶ）を組み込みシステムにインストールする。特に追加アプリインストーラ４２は、追加アプリをインストールする際に、追加アプリについて、前述の操作画面データに対するキャッシュ用データベース３８に相当するキャッシュ用のデータベースを作成する。
【００３０】
具体的な操作画面の構成と、それに対応する操作画面データ３６及びキャッシュ用データベース３８の例を、図２〜図７を参照して説明する。
【００３１】
例えば機器の操作画面が図２に模式的に示したホーム画面１００、コピー画面１１０及びスキャン画面１２０から構成されているとする。例示したホーム画面１００には、機器がローカルのユーザに提供するサービスであるコピー（Copy）の画面を呼び出すためのＧＵＩ（グラフィカルユーザーインタフェース）のボタン１０２と、スキャン（Scan）の画面を呼び出すためのボタン１０４が表示される。ユーザがＵＩパネル５０に表示されたホーム画面１００上のコピーのボタン１０２を押すと、ブラウザはＵＩパネル５０にコピー画面１１０を表示する。また、ユーザがボタン１０４を押すと、ブラウザはＵＩパネル５０にスキャン画面１２０を表示する。コピー画面１１０には、コピーに関する各種設定項目の確認・入力のための表示要素が配置されている。スキャン画面１２０には、スキャンに関する各種設定項目の確認・入力のための表示要素が配置されている。
【００３２】
図３に、ウェブサーバにおける図２の操作画面群の情報のディレクトリ構成を示す。また図４に図２の操作画面のうちのホーム画面１００を表すＨＴＭＬファイルのデータ内容を例示する。
【００３３】
図３のディレクトリ構成のうち「index.html」はホーム画面１００を表すＨＴＭＬファイルである。また「app.appcache」は、図４の「index.html」の１行目でマニフェストファイルに指定されているファイルである。また「image」フォルダ内の「copyIcon.png」及び「scanIcon.png」は、ホーム画面１００内のボタン１０２及び１０４の画像ファイルである。また「copy」フォルダ内の「index.html」及び「scan」フォルダ内の「index.html」は、それぞれコピー画面１１０及びスキャン画面１２０を表すＨＴＭＬファイルである。なお、「copy」フォルダ及び「scan」フォルダには、他にも、コピー画面１１０及びスキャン画面１２０の中にある個々の表示要素を表すファイルが含まれる。コピー画面１１０及びスキャン画面１２０のＨＴＭＬ記述の例は省略する。
【００３４】
図２に例示した操作画面を提供するウェブサーバプログラム３４を機器にインストールする際に、図３に示したディレクトリ構成が不揮発性記憶装置３０内に構成される。
【００３５】
図５に、ホーム画面１００のＨＴＭＬファイル（図４）にマニフェストファイルとして記述された「app.appcache」のデータ内容を例示する。マニフェストの１行目は、このファイルがＨＴＭＬ５のアプリケーションキャッシュ機能のマニフェストであることの宣言である。２行目の「CACHE:」はローカルにキャッシュするリソースを列挙するセクションの見出しである。この見出しの次の行から次の見出しまでのパスのリストが、キャッシュ対象のリソース（この場合はＨＴＭＬファイルや画像ファイル）のリストである。図示例では、キャッシュ対象のリストには、ホーム画面１００のＨＴＭＬファイル、コピー及びスキャンのボタン１０２及び１０４の画像ファイル、コピー画面１１０及びスキャン画面１２０のＨＴＭＬファイルのパスが記述されている。ＨＴＭＬ５の規約では、これらキャッシュ対象のファイルは最初にダウンロードされたときにブラウザによりキャッシュされる。次の見出し「NETWORK:」はネットワーク経由（すなわちＨＴＴＰ経由）で取得するリソースのセクションの見出しである。このセクションに列挙されたリソース群は、ネットワーク経由で取得され、ローカルにはキャッシュされない。図示例では、ネットワークのセクションに含まれるリソースはない。
【００３６】
図６及び図７は、図２〜図５を用いて説明した操作画面のリソース群について、ブラウザが作成するであろうキャッシュのデータ内容を示す。
【００３７】
図６は、キャッシュエントリを示しており、キャッシュに保持されている各リソースのｉｄ（識別情報）に対応付けて、そのリソースのＵＲＬ（Uniform Resource Locator）、MIME（Multipurpose Internet Mail Extension）タイプ（mimetype）、及びヘッダ（headers）の情報を含んでいる。
【００３８】
図７は、キャッシュデータの実体であり、キャッシュエントリのｉｄに対応付けて、当該エントリに係るリソースの実体データ（図示例ではASCIIコードのテキストデータとして表現）を含んでいる。
【００３９】
既に説明したように、本実施形態では、ブラウザが作成する前に、ブートプログラム４０が、不揮発性記憶装置３０内にあるそのキャッシュと同等の情報をブラウザのキャッシュにコピーする。すなわち、図６及び図７に示したキャッシュのデータベースは、不揮発性記憶装置３０内にキャッシュ用データベース３８として予め格納されており、これが機器の起動時にブートプログラム４０によりブラウザのキャッシュにコピーされる。従って、本実施形態では、ブラウザは、そのキャッシュのデータベースの作成は行わず、そのデータベースを利用するのみである。
【００４０】
次に、図８及び図９を参照して、本実施形態の機器の起動時の処理手順を例示する。
【００４１】
機器に電源が投入される（あるいは再起動が指示されたとき）には、ブートプログラム４０がＣＰＵ１０により実行される。実行されたブートプログラムは、まずＲＯＭ（不揮発性記憶装置３０）内にキャッシュ用データベース３８が存在するか否かを調べる（Ｓ１０）。キャッシュ用データベース３８が存在する場合、ブートプログラム４０は、そのキャッシュ用データベース３８を、ブラウザのキャッシュにコピーする（Ｓ１２）。すなわち、この後起動されるブラウザがキャッシュを作成する予定のパス（このパスはブラウザに設定されており、既知である）に、そのキャッシュ用データベース３８をコピーする。この後、ブートプログラム４０は、ブラウザを起動する（Ｓ１４）。なお、Ｓ１０でＲＯＭ内にキャッシュ用データベース３８がないと判定した場合、ブートプログラム４０は、Ｓ１２をスキップして、Ｓ１４にてブラウザを起動する。
【００４２】
起動されたブラウザは、操作画面を構成するリソース群のリクエストの発行を開始する（Ｓ１６）。まず、ブラウザは、自身に設定されている操作画面のホームページ（例えば図２のホーム画面１００）のＵＲＬを用いて、そのホームページのＨＴＭＬファイルをＨＴＴＰ経由で取得する（Ｓ１８）。図１（及び図６）の例では、そのＵＲＬは、機器自身の中に構成されるウェブサーバ内のリソースを指すので、ブラウザはそのウェブサーバに対してそのＵＲＬのリソースを要求し、取得する。
【００４３】
次にブラウザは、取得したホームページのＨＴＭＬデータ（図４参照）の記述の中に、アプリケーションキャッシュ機能を利用する旨の記述があるかどうかを調べる（Ｓ２０）。例えば図４のＨＴＭＬ記述の場合、マニフェストを指定する記述（１行目）を含むので、キャッシュを利用するものと判定される。
【００４４】
キャッシュを利用すると判定した場合、ブラウザは、まずそのＨＴＭＬデータに指定されているマニフェストを、ＨＴＴＰ経由で機器内のウェブサーバから読み込む（Ｓ２２）。そして、マニフェストが正常に読み込めたかどうかを判定し（Ｓ２４）、読み込めた場合、ブラウザは、そのマニフェストからキャッシュ対象のリソースのリストを検索する（Ｓ２６）。そして、処理は図９に示すＳ２８に進む。
【００４５】
なお、Ｓ２０の判定結果がＮｏの場合、及びＳ２４の判定結果がＮｏの場合、処理は図９のＳ３８に進む。
【００４６】
図９を参照して説明を続ける。ブラウザは、操作画面を表示するために、ホーム画面１００のＨＴＭＬ記述に含まれる各リソースのリクエストを行う。このとき、実際にＨＴＴＰリクエストを発する前に、そのリクエストの対象のリソースが、マニフェストにキャッシュ対象として挙げられたものか否かを判定する（Ｓ２８）。リクエスト対象のリソースがキャッシュ対象であれば、ブラウザが、そのリソースが、自身の管理しているキャッシュの中にあるかどうかを調べる（Ｓ３０）。リソースがキャッシュ内にあれば、ブラウザはそのリソースをキャッシュから読み出す（Ｓ３２）。そして、読み出したリソースを描画（画面に表示）する（Ｓ４０）。
【００４７】
Ｓ３０の判定結果がＮｏの場合、リクエスト対象のリソースがキャッシュにないので、ブラウザはＨＴＴＰ経由でウェブサーバからそのリソースを読み込み（Ｓ３４）、そのリソースを描画する（Ｓ４０）。またブラウザは、バックグラウンドでそのリソースをキャッシュに保存する（Ｓ３６）。
【００４８】
Ｓ２０、Ｓ２４又はＳ２８の判定結果がＮｏの場合、ブラウザは、ＨＴＴＰ経由でウェブサーバからリソースを読み込み（Ｓ３８）、描画する（Ｓ４０）。読み込んだリソースはキャッシュしない。
【００４９】
以上に説明したように、本実施形態では、操作画面のＵＲＬにアクセスしたブラウザが作成するはずのキャッシュデータが不揮発性記憶装置３０内にあらかじめ記憶されており、それが機器のブート時に、ブラウザがキャッシュ対象のリソースをウェブサーバにリクエストする前に不揮発性記憶装置３０からブラウザのキャッシュにコピーされる。したがって、機器が起動してブラウザが操作画面のそのリソースをリクエストする時点では、ブラウザはそのリソースをキャッシュから入手できるので、ウェブサーバからＨＴＴＰ経由で取得する必要がない。図１の例のようにウェブサーバが同じシステム内で動作している場合でも、ＨＴＴＰに従ってそのリソースのリクエストを送りこれに対するレスポンスを受け取るには相応の時間を要し、この時間はブラウザ内のキャッシュからそのリソースを取得するのに要する時間よりもはるかに長い。ウェブサーバが機器の外にある場合には、更にネットワーク経由の通信に要する時間だけリソースの取得が遅くなる。本実施形態では、機器の起動の直後にブラウザが最初に操作画面表示のためにウェブサーバにアクセスしようとする時点で既にキャッシュからそのリソースを取得できるので、最初のアクセス時にウェブサーバからリソースを取得してキャッシュに保存する従来の一般的な方式よりも、機器起動時の操作画面の表示が早くなる。
【００５０】
更に図１の例では、ブラウザのキャッシュを、メモリ２０内に構成したＲＡＭディスク２２内に構築するので、キャッシュの格納場所を二次記憶（一般的にはＨＤＤやＳＳＤ等の不揮発性記憶装置）に構築する場合と比べて、キャッシュからのリソースの読み込みが更に早くなる。
【００５１】
機器内に事前に用意した操作画面のキャッシュデータを機器起動時にブラウザのキャッシュにコピーするという上述の方式は、工場出荷後の機器の組み込みシステムに追加的にインストールされる、ウェブシステムとして構築された追加アプリにも適用可能である。
【００５２】
図１の例では、追加アプリインストーラ４２が、追加アプリを組み込みシステムにインストールする際、その追加アプリを構成するリソース群のキャッシュデータを生成し、不揮発性記憶装置３０に記憶する。そして、機器の起動後かつ追加アプリが起動される前に、そのキャッシュデータがブラウザのキャッシュにコピーされる。このため、実行される追加アプリがそれらリソースを利用する際には、ＨＴＴＰを経由せずに、キャッシュからそれらリソースを入手する。
【００５３】
図１０に、追加アプリインストーラ４２が実行する処理手順を例示する。この手順では、追加アプリインストーラ４２は、追加アプリのインストール処理を行い（Ｓ５０）、バックグラウンドで追加アプリ（これはウェブサーバとして機器にインストール中である）のＨＴＭＬファイルを読み込む（Ｓ５２）。次に、読み込んだＨＴＭＬファイルの記述の中に、アプリケーションキャッシュ機能を利用する旨の記述があるかどうかを調べる（Ｓ５４）。この判定結果がＹｅｓの場合、追加アプリインストーラ４２は、そのＨＴＭＬファイルに記述された各リソース（その中にマニフェストも含まれる）をＨＴＴＰ経由で読み込み、読み込んだリソースのうち、マニフェストにキャッシュ対象として列挙されたリソースについては、キャッシュ用データベース３８に追加登録する（Ｓ５６）。すなわち、それら各リソースにｉｄを付与してそのＵＲＬ等をキャッシュ用データベース３８内のキャッシュエントリ（図６参照）に登録すると共に、そのリソースの実体データをキャッシュ用データベース３８内のキャッシュデータにそのｉｄと対応付けて登録する。ＨＴＭＬ５の規約上、ブラウザはキャッシュのデータベースを１つしか持てないので、追加アプリのリソースの情報を唯一のキャッシュ用データベース３８に追加する。なお、追加アプリのＨＴＭＬファイルにキャッシュ利用の旨の記述がない場合は、Ｓ５６はスキップされる。このようにしてアップデートされたキャッシュ用データベース３８は、機器の起動時等にブラウザのキャッシュにコピーされる。したがって、追加アプリが起動された時点では、追加アプリで利用されるキャッシュ対象のリソースはブラウザのキャッシュに保持されているので、ブラウザはキャッシュからそのリソースを取得して用いる。
【符号の説明】
【００５４】
１０  ＣＰＵ、２０  メモリ、２２  ＲＡＭディスク、３０  不揮発性記憶装置、３２  ウェブブラウザプログラム、３４  ウェブサーバプログラム、３６  操作画面データ、３８  キャッシュ用データベース、４０  ブートプログラム、４２  追加アプリインストーラ、５０  パネル、６０  プリンタ、７０  スキャナ、８０  バス。
【図１】
2018132807.tif 000003
【図２】
2018132807.tif 000004
【図３】
2018132807.tif 000005
【図４】
2018132807.tif 000006
【図５】
2018132807.tif 000007
【図６】
2018132807.tif 000008
【図７】
2018132807.tif 000009
【図８】
2018132807.tif 000010
【図９】
2018132807.tif 000011
【図１０】
2018132807.tif 000012