(57)【要約】【課題】  Ｗｅｂブラウザ内のデータストレージへのデータ格納やデータ同期の状態をユーザーに知らせることが可能なＷｅｂブラウザを提供する。【解決手段】  本発明における情報端末は、アクセスしたウェブアプリケーションにより指示されたデータをブラウザストレージに対して、ウェブアプリケーションごとに格納する機能をもつウェブブラウザが動作し、ウェブアプリケーションのブラウザストレージを利用する通信の状態を判定する判定手段と、前記判定手段による判定に従う、前記ウェブアプリケーションの利用に関する表示を行うための表示制御手段と、を有することを特徴とする。【選択図】  図６
2015228066.tif 000002
【特許請求の範囲】
【請求項１】
アクセスしたウェブアプリケーションにより指示されたデータをブラウザストレージに対して、ウェブアプリケーションごとに格納する機能をもつウェブブラウザが動作する情報端末であって、
ウェブアプリケーションのブラウザストレージを利用する通信の状態を判定する判定手段と、
前記判定手段による判定に従う、前記ウェブアプリケーションの利用に関する表示を行うための表示制御手段と、を有することを特徴とする情報端末。
【請求項２】
前記表示制御手段は、前記ウェブアプリケーションの利用に関する表示として、前記情報端末がネットワークに接続していない状態であるオフライン状態で、当該ウェブアプリケーションを利用できるか否かを示す表示を行うことを特徴とする請求項１に記載の情報端末。
【請求項３】
前記表示制御手段は、前記ウェブアプリケーションの利用に関する表示として、当該ウェブアプリケーションを提供するウェブサーバーに対する前記ブラウザストレージのデータの同期処理が完了したことをユーザーが確認できる表示を行うことを特徴とする請求項１または２に記載の情報端末。
【請求項４】
アクセスしたウェブアプリケーションにより指示されたデータをブラウザストレージに対して、ウェブアプリケーションごとに格納する機能をもつウェブブラウザが動作する情報端末であって、
ウェブアプリケーションのブラウザストレージを利用する通信の状態を判定する判定手段と、
前記判定手段による判定に従う、前記ウェブアプリケーションの利用に関する表示を行うための表示制御手段と、を有し、
前記表示制御手段は、前記ウェブアプリケーションの利用に関する表示として、前記情報端末がネットワークに接続していない状態であるオフライン状態で、当該ウェブアプリケーションを利用できるか否かを示す表示を行うことを特徴とする情報端末。
【請求項５】
前記判定手段は、前記ウェブアプリケーションの通知に従い、前記ブラウザストレージを利用する通信の状態を判定することを特徴とする請求項４に記載の情報端末。
【請求項６】
前記ウェブアプリケーションの通知には、該ウェブアプリケーションに指示されたデータの前記ブラウザストレージに対する格納のための通信の開始を示す通知、及び該ウェブアプリケーションに指示されたデータの前記ブラウザストレージに対する格納のための通信の完了を示す通知が含まれることを特徴とする請求項５に記載の情報端末。
【請求項７】
前記表示制御手段は、前記判定手段による前記格納のための通信の完了を示す通知に基づく判定に従い、前記ウェブアプリケーションの利用に関する表示として、前記オフライン状態で、当該ウェブアプリケーションを利用できることを示す表示を行うことを特徴とする請求項６に記載の情報端末。
【請求項８】
前記ウェブアプリケーションの通知には、該ウェブアプリケーションを提供するウェブサーバーに対する前記ブラウザストレージのデータの同期処理のための通信の開始を示す通知、及び該ウェブアプリケーションを提供するウェブサーバーに対する前記ブラウザストレージのデータの同期処理のための通信の完了を示す通知が含まれることを特徴とする請求項５乃至７のいずれか１項に記載の情報端末。
【請求項９】
前記表示制御手段は、前記判定手段による前記同期処理のための通信の完了を示す通知に基づく判定に従い、前記ウェブアプリケーションの利用に関する表示として、さらに、当該ウェブアプリケーションを提供するウェブサーバーに対する前記ブラウザストレージのデータの同期処理が完了したことをユーザーが確認できる表示を行うことを特徴とする請求項８に記載の情報端末。
【請求項１０】
前記判定手段は、前記ウェブアプリケーションの前記ブラウザストレージを利用する通信の状態を判定するために、当該ウェブアプリケーションによる前記ブラウザストレージへのアクセスと、当該アクセスの終了を検知することを特徴とする請求項４乃至９いずれか１項に記載の情報端末。
【請求項１１】
前記表示制御手段は、前記判定手段による前記ウェブアプリケーションによる前記ブラウザストレージへのアクセスの終了を検知した際の判定に従い、前記ウェブアプリケーションの利用に関する表示として、前記オフライン状態で、当該ウェブアプリケーションを利用できることを示す表示を行うことを特徴とする請求項１０に記載の情報端末。
【請求項１２】
前記表示制御手段は、前記ウェブブラウザの終了、または前記情報端末のオフライン状態への移行に従い、前記ウェブアプリケーションによる前記ブラウザストレージへのアクセスが中断された場合に、該ウェブアプリケーションが前記オフライン状態で利用できない可能性があることを示す警告表示を行うことを特徴とする請求項４乃至１１のいずれか１項に記載の情報端末。
【請求項１３】
前記ウェブブラウザの終了の指示を検知した場合に、前記ブラウザストレージを利用する通信を継続すべきかに関する設定を行う設定手段と、
前記設定手段による設定に従い、前記ウェブブラウザの終了を制御する制御手段と、をさらに有することを特徴とする請求項１乃至１２のいずれか１項に記載の情報端末。
【請求項１４】
前記制御手段は、前記設定手段により前記ウェブブラウザの終了の指示を検知した際にも前記ウェブアプリケーションによる前記ブラウザストレージを利用する通信を継続する設定が行われていた場合には、該ウェブアプリケーションによる前記ブラウザストレージを利用する通信が完了した後に、前記ウェブブラウザの終了するよう制御することを特徴とする請求項１３に記載の情報端末。
【請求項１５】
アクセスしたウェブアプリケーションにより指示されたデータを情報端末内のブラウザストレージに対して、ウェブアプリケーションごとに格納する機能をもつウェブブラウザの制御方法であって、
ウェブアプリケーションのブラウザストレージを利用する通信の状態を判定する判定工程と、
前記判定に従う、前記ウェブアプリケーションの利用に関する表示を行うための表示制御工程と、を有することを特徴とする制御方法。
【請求項１６】
前記表示制御工程では、前記ウェブアプリケーションの利用に関する表示として、前記情報端末がネットワークに接続していない状態であるオフライン状態で、当該ウェブアプリケーションを利用できるか否かを示す表示が行われることを特徴とする請求項１５に記載の制御方法。
【請求項１７】
前記表示制御工程では、前記ウェブアプリケーションの利用に関する表示として、当該ウェブアプリケーションを提供するウェブサーバーに対する前記ブラウザストレージのデータの同期処理が完了したことをユーザーが確認できる表示が行われることを特徴とする請求項１５または１６に記載の制御方法。
【請求項１８】
アクセスしたウェブアプリケーションにより指示されたデータを情報端末内のブラウザストレージに対して、ウェブアプリケーションごとに格納する機能をもつウェブブラウザの制御方法であって、
ウェブアプリケーションのブラウザストレージを利用する通信の状態を判定する判定工程と、
前記判定に従う、前記ウェブアプリケーションの利用に関する表示を行うための表示制御工程と、を有し、
前記表示制御工程では、前記ウェブアプリケーションの利用に関する表示として、前記情報端末がネットワークに接続していない状態であるオフライン状態で、当該ウェブアプリケーションを利用できるか否かを示す表示が行われることを特徴とする制御方法。
【請求項１９】
前記判定工程では、前記ウェブアプリケーションの通知に従い、前記ブラウザストレージを利用する通信の状態が判定されることを特徴とする請求項１８に記載の制御方法。
【請求項２０】
前記ウェブアプリケーションの通知には、該ウェブアプリケーションに指示されたデータの前記ブラウザストレージに対する格納のための通信の開始を示す通知、及び該ウェブアプリケーションに指示されたデータの前記ブラウザストレージに対する格納のための通信の完了を示す通知が含まれることを特徴とする請求項１９に記載の制御方法。
【請求項２１】
前記表示制御工程では、前記判定工程での前記格納のための通信の完了を示す通知に基づく判定に従い、前記ウェブアプリケーションの利用に関する表示として、前記オフライン状態で、当該ウェブアプリケーションを利用できることを示す表示が行われることを特徴とする請求項２０に記載の制御方法。
【請求項２２】
前記ウェブアプリケーションの通知には、該ウェブアプリケーションを提供するウェブサーバーに対する前記ブラウザストレージのデータの同期処理のための通信の開始を示す通知、及び該ウェブアプリケーションを提供するウェブサーバーに対する前記ブラウザストレージのデータの同期処理のための通信の完了を示す通知が含まれることを特徴とする請求項１９乃至２１のいずれか１項に記載の制御方法。
【請求項２３】
前記表示制御工程では、前記判定工程での前記同期処理のための通信の完了を示す通知に基づく判定に従い、前記ウェブアプリケーションの利用に関する表示として、さらに、当該ウェブアプリケーションを提供するウェブサーバーに対する前記ブラウザストレージのデータの同期処理が完了したことをユーザーが確認できる表示が行われることを特徴とする請求項２２に記載の制御方法。
【請求項２４】
前記ウェブアプリケーションの通知には、前記オフライン状態でウェブアプリケーションを利用できることを示す通知が含まれることを特徴とする請求項１９乃至２３のいずれか１項に記載の制御方法。
【請求項２５】
前記表示制御工程では、前記判定工程での前記オフライン状態でウェブアプリケーションを利用できることを示す通知に基づく判定に従い、前記ウェブアプリケーションの利用に関する表示として、前記オフライン状態で、当該ウェブアプリケーションを利用できることを示す表示が行われることを特徴とする請求項２４に記載の制御方法。
【請求項２６】
前記判定工程では、前記ウェブアプリケーションの前記ブラウザストレージを利用する通信の状態を判定するために、当該ウェブアプリケーションによる前記ブラウザストレージへのアクセスと、当該アクセスの終了が検知されることを特徴とする請求項１８乃至２５いずれか１項に記載の制御方法。
【請求項２７】
前記表示制御工程では、前記ウェブアプリケーションによる前記ブラウザストレージへのアクセスの終了を検知した際の判定に従い、前記ウェブアプリケーションの利用に関する表示として、前記オフライン状態で、当該ウェブアプリケーションを利用できることを示す表示が行われることを特徴とする請求項２６に記載の制御方法。
【請求項２８】
前記ブラウザストレージには、ウェブブラウザの終了に際してデータが削除されるセッションストレージと、ウェブブラウザの終了に際してデータが削除されない領域と、が含まれ、
前記表示制御工程では、前記判定工程での前記ウェブアプリケーションによる前記ブラウザストレージにおける前記セッションストレージ以外へのアクセスが行われていないとの判定に従い、前記ウェブアプリケーションの利用に関する表示として、前記オフライン状態で、当該ウェブアプリケーションを利用できることを示す表示が行われることを特徴とする請求項２６または２７に記載の制御方法。
【請求項２９】
前記表示制御工程では、前記ウェブブラウザの終了、または前記情報端末のオフライン状態への移行に従い、前記ウェブアプリケーションによる前記ブラウザストレージへのアクセスが中断された場合に、該ウェブアプリケーションが前記オフライン状態で利用できない可能性があることを示す警告表示が行われることを特徴とする請求項１８乃至２８のいずれか１項に記載の制御方法。
【請求項３０】
前記ウェブブラウザの終了の指示を検知した場合に、前記ブラウザストレージを利用する通信を継続すべきかに関する設定を行う設定工程と、
前記設定に従い、前記ウェブブラウザの終了を制御する制御工程と、をさらに有することを特徴とする請求項１８乃至２９のいずれか１項に記載の制御方法。
【請求項３１】
前記制御工程では、前記ウェブブラウザの終了の指示を検知した際にも前記ウェブアプリケーションによる前記ブラウザストレージを利用する通信を継続する設定が行われていた場合には、該ウェブアプリケーションによる前記ブラウザストレージを利用する通信が完了した後に、前記ウェブブラウザの終了するよう制御が行われることを特徴とする請求項３０に記載の制御方法。
【請求項３２】
前記設定工程では、前記ウェブブラウザの終了の指示を検知した際に継続すべき通信として、前記ブラウザストレージのデータを用いた同期処理が設定されることを特徴とする請求項３０または３１に記載の制御方法。
【請求項３３】
前記設定工程では、前記ウェブブラウザの終了の指示を検知した際に通信を継続すべきウェブアプリケーションに関する情報が設定されることを特徴とする請求項３０乃至３２のいずれか１項に記載の制御方法。
【請求項３４】
請求項１５乃至１７のいずれか１項に記載の制御方法に含まれる各工程を実行するためのプログラム。
【請求項３５】
請求項１８乃至３３のいずれか１項に記載の制御方法に含まれる各工程を実行するためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＨＴＭＬ５におけるＷｅｂブラウザ内のデータストレージおよびオフラインＷｅｂアプリケーションの仕組みを実装したＷｅｂブラウザを提供する際の技術に関する。
【背景技術】
【０００２】
Ｗｅｂアプリケーションの高機能化に伴い、ＨＴＭＬ５では各種機能拡張がなされている。例えば、スマートフォンやタブレット等の端末が、ネットワークに接続されていない場合にも、Ｗｅｂアプリケーションを動作させるための拡張機能が存在する。
【０００３】
具体的には、Ｗｅｂサイト（Ｗｅｂアプリケーション）にアクセスした際に、ネットワークからファイルをＷｅｂブラウザが動作する情報端末内の所定の記憶領域にキャッシュするＡｐｐｌｉｃａｔｉｏｎ  Ｃａｃｈｅ機能がある。この所定の記憶領域は、Ｗｅｂブラウザが利用するために確保される領域である。ほかにも、Ｗｅｂアプリケーションに従う必要なデータを、Ｗｅｂブラウザのための記憶領域に格納するためのＷｅｂ  ＳｔｏｒａｇｅあるいはＩｎｄｅｘｅｄＤＢ機能などがある。さらに、Ｗｅｂブラウザのために確保された記憶領域において、Ｗｅｂブラウザを介してファイルを操作するためのＦｉｌｅ  Ｓｙｓｔｅｍ  ＡＰＩ機能がある。これらの仕組みにより格納されるデータは、オリジンと呼ばれるプロトコルとホスト名とポートの組み合わせごとに設けられたＷｅｂアプリケーションごとの領域に保管される。以下では、Ａｐｐｌｉｃａｔｉｏｎ  Ｃａｃｈｅ、Ｗｅｂ  Ｓｔｏｒａｇｅ、ＩｎｄｅｘｅｄＤＢ、Ｆｉｌｅ  Ｓｙｓｔｅｍ  ＡＰＩなどの機能により、データなどが格納される記憶領域を、ブラウザストレージと呼ぶ。
【０００４】
また、別の拡張機能として、時間のかかる処理などをバックグラウンドで実行するためのＷｅｂ  ｗｏｒｋｅｒｓ機能がある。さらに、Ｗｅｂブラウザが動作する情報処理端末のネットワークへの接続状態を通知する機能もある。この機能は、ネットワークに接続中を示すオンライン状態と、非接続を示すオフライン状態を、Ｗｅｂアプリケーションより参照可能したり、状態が変化した場合にＷｅｂアプリケーションに対してその変化を通知したりする。
【０００５】
ここで、従来技術として、特許文献１には、ネットワークを介した、コンテンツファイルのバックグラウンドでのダウンロードの開始や進捗を、ユーザーに知らせることができる電子機器の技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−４１３７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
オフライン状態でＷｅｂアプリケーションを動作させるためには、オフライン状態に移行する前にブラウザストレージへのデータ格納を完了する必要がある。ブラウザストレージには、従来のＷｅｂブラウザで管理するキャッシュ機能に比べ、容量の大きなデータを格納することができる。しかし、容量の大きなデータをブラウザストレージに格納するためには時間がかかる。よって、ブラウザストレージへのデータ格納処理は、上記した従来技術にもあるような、Ｗｅｂページの表示とは別スレッドでのバックグラウンド処理として実行することが考えられる。
【０００８】
ここで、前述したように、Ｗｅｂブラウザのブラウザストレージへのデータ格納といった処理は、Ｗｅｂアプリケーションからの指示によって実現されることになる。ユーザーに対しては、ブラウザストレージについてのデータの格納処理などについて、その進捗などを適切に通知することが望まれる。しかしながら、上述の特許文献１は、電子機器自身が開始したバックグラウンドの処理の開始や進捗をユーザーに知らせる仕組みしか開示していない。つまり、ブラウザストレージへのデータ操作はＷｅｂアプリケーションからの指示によって実現されるため、特許文献１に記載される技術だけでは適切な通知が行えるシステムが提供できない。
【０００９】
そこで、本発明は、Ｗｅｂブラウザのブラウザストレージへのデータ格納や同期といった処理の状態を、適切に通知することが可能な仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の情報端末は、アクセスしたウェブアプリケーションにより指示されたデータをブラウザストレージに対して、ウェブアプリケーションごとに格納する機能をもつウェブブラウザが動作する情報端末であって、ウェブアプリケーションのブラウザストレージを利用する通信の状態を判定する判定手段と、前記判定手段による判定に従う、前記ウェブアプリケーションの利用に関する表示を行うための表示制御手段と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、前述のブラウザストレージへのデータ格納や同期といった処理の状態を、適切に通知することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明のシステム構成の一例を示す図
【図２】Ｗｅｂブラウザの機能構成の一例を示すブロック図
【図３】情報端末１０１のハードウェア構成の一例を示すブロック図
【図４】情報端末１０２のハードウェア構成の一例を示すブロック図
【図５】Ｗｅｂブラウザで管理するＷｅｂサイトのアクセス状態情報テーブルの例を示す図
【図６】Ｗｅｂブラウザによる、Ｗｅｂサイトのブラウザストレージへのアクセス状態の表示画面の一例を示す図
【図７】Ｗｅｂアプリケーションからの変更通知の受信時の処理の手順例を示すフローチャート
【図８】ブラウザストレージへのアクセス開始時の処理の手順例を示すフローチャート
【図９】ブラウザストレージへのアクセス終了時の処理の手順例を示すフローチャート
【図１０】Ｗｅｂブラウザの終了指示の検知時の処理の手順例を示すフローチャート
【図１１】ブラウザストレージへのアクセス処理に関する設定画面の一例を示す図
【図１２】ブラウザストレージへのアクセス処理の継続判定処理の詳細を示すフローチャート
【図１３】アクセス処理の継続の要否を確認するための確認画面の一例を示す図
【図１４】オフライン移行検知時の処理の手順例を示すフローチャート
【図１５】オフライン利用開始時の処理の手順例を示すフローチャート
【図１６】オフライン状態での警告画面の一例を示す図
【図１７】実施例２におけるブラウザストレージへのアクセス開始時の処理の手順例を示すフローチャート
【図１８】実施例２におけるブラウザストレージへのアクセス終了時の処理の手順例を示すフローチャート
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１４】
（実施例１）
＜システム構成の説明＞
図１は、本発明のシステム構成の一例を示す模式図である。
【００１５】
図１において、１０１は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などの情報端末である。１０２は、スマートフォンなどの情報端末である。１０３は、各情報端末にＷｅｂページを提供するウェブサーバーである。情報端末１０１と１０２、Ｗｅｂサーバー１０３はインターネット１０４などの既知の技術により相互に通信可能に接続されている。なお、情報端末１０２は無線で通信することが可能である。図示していないが、情報端末１０１、１０２は複数存在する。また、本発明が適用可能な情報端末としては、タブレットコンピュータ、カーナビやデジタルテレビなど、様々な機器が挙げられる。
【００１６】
＜Ｗｅｂブラウザの機能構成＞
図２は、図１に示した情報端末１０１、１０２で動作するＷｅｂブラウザ２０１の機能構成の一例を示すブロック図である。
【００１７】
２０２は、ユーザーインターフェース（ＵＩ）であり、アドレスバーや戻る／進むボタン、Ｗｅｂブラウザの設定画面等を含む、Ｗｅｂページが表示されるウィンドウを除くすべての部分である。２０３は、ブラウザエンジンであり、ＵＩ２０２とレンダリングエンジン２０４の間の処理を行う。２０４は、レンダリングエンジンであり、ＨＴＭＬなどの要求されたコンテンツの表示を行う。２０５は、ネットワーキングであり、ＨＴＴＰリクエストなどのネットワークの呼び出しを行う。２０６は、ＪａｖａＳｃｒｉｐｔ（登録商標）インタプリタであり、ＪａｖａＳｃｒｉｐｔ（登録商標）コードを解析し、実行する。Ｗｅｂブラウザ２０１は、ＪａｖａＳｃｒｉｐｔ（登録商標）インタプリタ２０６（以下、インタプリタとも記す）のインスタンスを作成し、実行することで、後述するようは本発明に係る処理を実行する。しかしながら、後述の本発明に係る処理については、Ｗｅｂブラウザ２０１の機能として提供されれば、ほかの実装形態であってもよい。
【００１８】
２０７は、データストレージであり、クッキーやＨＴＭＬ５のＡｐｐｌｉｃａｔｉｏｎ  Ｃａｃｈｅ、Ｗｅｂ  Ｓｔｏｒａｇｅ、ＩｎｄｅｘｅｄＤＢ、Ｆｉｌｅ  Ｓｙｓｔｅｍ  ＡＰＩなどの仕組みにより格納されるデータを記憶装置３１１や４０４に保存する。本実施例では、データストレージによる格納対象となる領域をブラウザストレージと呼ぶ。ブラウザストレージは、情報端末１０１、１０２で動作するＷｅｂブラウザごとに情報端末１０１、１０２で確保されることになる。ブラウザストレージへのデータ格納などの操作は、例えば、ＪａｖａＳｃｒｉｐｔ（登録商標）によって行われる。
【００１９】
＜情報端末１０１のハードウェア構成＞
図３は、Ｗｅｂブラウザ２０１が動作する情報端末１０１のハードウェア構成の一例を示すブロック図である。
【００２０】
情報端末１０１は、ＲＯＭ３０２あるいは記憶装置であるハードディスクドライブ（ＨＤＤ）３１１に記憶されたソフトウェアを実行するＣＰＵ３０１を備える。ＣＰＵ３０１はシステムバス３０５に接続される各ハードウェアを総括的に制御する。３０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。３０４はネットワークインターフェースカード（ＮＩＣ）で、ネットワークを介して、他のノードと双方向にデータをやりとりする。３０６はキーボードコントローラーで、ＰＣに備えられたキーボード３０９からの指示入力を制御する。３０７はディスプレイコントローラーで、例えば液晶ディスプレイなどで構成される表示モジュール３１０の表示を制御する。３０８はディスクコントローラーであり、大容量記憶装置であるハードディスクドライブ（ＨＤＤ）３１１を制御する。
【００２１】
＜情報端末１０２のハードウェア構成＞
図４は、Ｗｅｂブラウザ２０１が動作する情報端末１０２のハードウェア構成の一例を示すブロック図である。
【００２２】
情報端末１０２は、ＲＯＭ４０２や記憶装置４０４に記憶されたソフトウェアを実行するアプリケーションプロセッサ（以下ＡＰと記す）４０１を備える。ＡＰ４０１は、接続された各ハードウェアを総括的に制御する。４０３はＲＡＭで、ＡＰ４０１の主メモリ、ワークエリア等として機能する。４０４は記憶装置であり、フラッシュメモリ等からなる。記憶装置４０４は、オペレーティングシステム、Ｗｅｂブラウザ等の各種アプリケーション、データベースデータ、ユーザファイル等を記憶する。４０５はタッチスクリーンコントローラであり、同コントローラに接続されたタッチスクリーン（表示モジュール）４０６を制御する。４０７は無線ＬＡＮ制御部、４０８は移動体通信制御部、４０９は近距離無線通信制御部であり、それぞれ、無線ＬＡＮ通信、移動体通信、近距離無線通信の制御を行う。
【００２３】
＜Ｗｅｂサイトのアクセス状態情報テーブル＞
図５は、ウェブブラウザが管理するＷｅｂサイトのアクセス状態情報テーブルの例を示す図である。この図は、ウェブアプリケーションのブラウザストレージへのアクセス状態情報を示す。
【００２４】
ここで、Ｗｅｂアプリケーション（Ｗｅｂサイト）がブラウザストレージへアクセスしているか否かの状態を、アクセス状態として示すこととする。アクセス状態の種類として、Ｗｅｂアプリケーションがブラウザストレージへアクセスしている状態を通信中とし、アクセスしていない状態を通信完了とする。
【００２５】
なお、本実施例では、Ｗｅｂアプリケーション（Ｗｅｂサイト）が、ブラウザストレージへアクセスする際に、Ｗｅｂブラウザに通知を行う仕組みを有することも特徴の１つとする。このアクセス状態の変更に係る通知のことを変更通知と呼ぶ。また、このＷｅｂアプリケーションによる仕組みを変更通知機能と呼ぶ。なお、本発明では、変更通知機能を持つＷｅｂアプリケーションと、変更通知機能を持たないＷｅｂアプリケーションが混在する環境についても説明する。
【００２６】
図５において、５０１の列は、ＷｅｂサイトＩＤであり、ＷｅｂサイトをＷｅｂブラウザで構築するシステム内で一意に識別するＩＤを示す。本実施例では、Ｗｅｂサイトの区別方法としては、オリジン領域の区別方法を使用する。オリジンとは、プロトコルとホスト名とポートといった情報の組み合わせである。ブラウザストレージでは、Ｗｅｂアプリケーションのオリジンごとに所定の領域が割り当てられ、Ｗｅｂアプリケーションの指示に従いデータの操作が行われることになる。なお、本テーブルにおいては、Ｗｅｂサイトがブラウザストレージを利用した際に、レコードが追加されるものとする。
【００２７】
５０２の列は、Ｗｅｂサイト名であり、Ｗｅｂサイトの名称を示す。本実施例では、ホスト名をＷｅｂサイト名としている。５０３の列は、前述したＷｅｂサイトの変更通知機能の有無を示す。変更通知機能を持つＷｅｂサイトの場合はＴｒｕｅ、変更通知機能を持たないＷｅｂサイトの場合はＦａｌｓｅを設定する。なお、デフォルトはＦａｌｓｅである。本項目の設定方法については後述する。５０４の列は、前述したブラウザストレージへのアクセス状態を示す。本項目の設定方法については後述する。
【００２８】
５０５の列は、Ｗｅｂサイトのオフライン利用可否情報であり、Ｗｅｂサイトがオフラインで利用可能な状態の場合はＯＫ、オフラインで利用不可能な状態の場合はＮＧを設定する。本項目の設定方法については後述する。
【００２９】
５０６の列は、同期処理情報であり、ブラウザストレージへのアクセスが同期処理の場合はＴｒｕｅ、同期処理ではなく通常のデータ格納などの場合はＦａｌｓｅを設定する。本項目の設定方法については後述する。
【００３０】
＜Ｗｅｂサイトのアクセス状態の表示画面例＞
図６は、本発明の特徴的な表示制御の一例を示すもので、Ｗｅｂブラウザ２０１における、Ｗｅｂサイトのブラウザストレージへのアクセス状態の表示画面を示す図である。本画面では、Ｗｅｂブラウザ２０１が提供するブラウジングのための画面上に、図５に示したＷｅｂサイトのアクセス状態情報テーブルを参照した追加表示が行われている。また、定期的にＷｅｂサイトのアクセス状態情報テーブルを参照して内容を更新する。
【００３１】
６０１は、現在表示しているＷｅｂサイトのブラウザストレージへのアクセス状態の表示例である。ここでは、図５を参照して、現在、有効となっているタブに対応するＷｅｂサイト“ａａａ．ｃｏｍ”のアクセス状態が“通信中”となっていることを示す。
【００３２】
６０２は、ブラウザストレージを利用しているＷｅｂサイトのブラウザストレージへのアクセス状態の一覧表示の例である。一覧表示６０２は、例えば６０１をクリックすることで表示される。一覧表示６０２では、Ｗｅｂサイト単位で、Ｗｅｂサイト名６０３、アクセス状態６０４、オフライン利用可否情報６０５を表示する。これらの情報は、図５に示したＷｅｂサイトのアクセス状態情報テーブルのＷｅｂサイト名５０２、アクセス状態５０４、オフライン利用可否情報５０５を参照して表示する。
【００３３】
例えば、Ｗｅｂブラウザ２０１の動作する情報端末を利用するユーザーは、オフライン利用可否情報６０５が“ＯＫ”を示している場合には、該情報端末をオフライン状態にしてもＷｅｂサイトを利用できることを把握できる。つまり、ユーザーは、この表示を確認した上で、ネットワーク接続ができない場所などに移動を開始して、移動先で、Ｗｅｂブラウザ２０１でＷｅｂサイトを利用することができる。他にも、ユーザーは、省電力のために、Ｗｉ−Ｆｉ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ）などの情報端末の無線ＬＡＮ通信の機能を、適宜オフするなどしつつ、Ｗｅｂブラウザ２０１でＷｅｂサイトを利用することができる。
【００３４】
ボタン６１０は、Ｗｅｂブラウザ２０１自体を終了するための終了ボタンを示す。
【００３５】
＜Ｗｅｂアプリケーションからの変更通知の受信処理＞
図７は、Ｗｅｂブラウザ２０１がＷｅｂアプリケーション（Ｗｅｂサイト）から変更通知を受信した際に実行する処理を説明するためのフローチャートである。本処理では、変更通知機能を持つＷｅｂアプリケーションであるＷｅｂサイトに関して、図５に示したＷｅｂサイトのアクセス状態情報テーブルの情報を更新する。Ｗｅｂブラウザ２０１は、ＪａｖａＳｃｒｉｐｔ（登録商標）インタプリタ２０６（以下、インタプリタと記す）のインスタンスを作成し、本処理を実行する。
【００３６】
本実施例における変更通知機能を持つＷｅｂアプリケーション（Ｗｅｂサイト）は、ブラウザストレージに対してデータ格納などのアクセスをする際に変更通知を送信する。この変更通知は、ブラウザストレージへのデータ格納などの操作と同様に、Ｗｅｂアプリケーションに含まれるＪａｖａＳｃｒｉｐｔ（登録商標）によって送信される。変更通知の種類としては、通信開始、通信完了、オフライン利用可能が含まれる。通信開始は、ブラウザストレージへのデータ格納を開始する際に通知する。通信完了は、ブラウザストレージへのデータ格納が完了した際に通知する。オフライン利用可能は、オフライン状態でＷｅｂアプリケーションを利用するためのデータについて、ブラウザストレージへの格納が完了した際に通知する。さらに、通知の種類として、同期開始、同期完了を含めても良い。同期開始は、オンライン状態におけるブラウザストレージのデータをＷｅｂサーバーと同期する処理を開始した際に通知する。同期完了は、ブラウザストレージのデータをＷｅｂサーバーと同期する処理が完了した際に通知する。通常は、ブラウザストレージへのデータ格納やデータ同期は、Ｗｅｂサイトからの指示によって行われるため、Ｗｅｂブラウザは、いつ処理が開始または完了したかがわからない。しかし、Ｗｅｂサイトからの変更通知により、Ｗｅｂブラウザ２０１は、いつ処理が開始または完了したかを把握できるようになる。
【００３７】
本処理が開始されると、Ｓ７０１で、インタプリタ２０６は、通知元のＷｅｂサイトの変更通知機能５０３をＴｒｕｅに設定する。Ｓ７０２で、インタプリタ２０６は、受信した変更通知が通知開始であるか否かを判定する。ここで、インタプリタ２０６が、受信した変更通知が通知開始であると判定した場合はＳ７０３に進む。一方、インタプリタ２０６が、受信した変更通知が通知開始ではないと判定した場合はＳ７０５に進む。
【００３８】
Ｓ７０３で、インタプリタ２０６は、通知元のＷｅｂサイトのアクセス状態５０４を通信中に設定する。続いて、Ｓ７０４で、インタプリタ２０６は、通知元のＷｅｂサイトのオフライン利用可否情報５０５をＮＧに設定し、本処理を終了する。
【００３９】
Ｓ７０５で、インタプリタ２０６は、受信した変更通知が通知完了であるか否かを判定する。ここで、インタプリタ２０６が、受信した変更通知が通知完了であると判定した場合はＳ７０６に進む。一方、インタプリタ２０６が、受信した変更通知が通知完了ではないと判定した場合はＳ７０８に進む。
【００４０】
Ｓ７０６で、インタプリタ２０６は、通知元のＷｅｂサイトのアクセス状態５０４を通信完了に設定する。続いて、Ｓ７０７で、インタプリタ２０６は、通知元のＷｅｂサイトのオフライン利用可否情報５０５をＯＫに設定し、本処理を終了する。
【００４１】
Ｓ７０８で、インタプリタ２０６は、受信した変更通知が同期開始であるか否かを判定する。ここで、インタプリタ２０６が、受信した変更通知が同期開始であると判定した場合はＳ７０９に進む。一方、インタプリタ２０６が、受信した変更通知が同期開始ではないと判定した場合はＳ７１２に進む。
【００４２】
Ｓ７０９で、インタプリタ２０６は、通知元のＷｅｂサイトのアクセス状態５０４を通信中に設定する。続いて、Ｓ７１０で、インタプリタ２０６は、通知元のＷｅｂサイトのオフライン利用可否情報５０５をＮＧに設定する。続いて、Ｓ７１１で、インタプリタ２０６は、通知元のＷｅｂサイトの同期処理情報５０６をＴｒｕｅに設定し、本処理を終了する。
【００４３】
Ｓ７１２で、インタプリタ２０６は、受信した変更通知が同期完了であるか否かを判定する。ここで、インタプリタ２０６が、受信した変更通知が同期完了であると判定した場合はＳ７１３に進む。一方、インタプリタ２０６が、受信した変更通知が同期完了ではないと判定した場合はＳ７１５に進む。
【００４４】
Ｓ７１３で、インタプリタ２０６は、通知元のＷｅｂサイトのアクセス状態５０４を通信完了に設定する。続いて、Ｓ７１４で、インタプリタ２０６は、通知元のＷｅｂサイトのオフライン利用可否情報５０５をＯＫに設定する。続いて、Ｓ７１５で、インタプリタ２０６は、通知元のＷｅｂサイトの同期処理情報５０６をＦａｌｓｅに設定し、本処理を終了する。
【００４５】
Ｓ７１６で、インタプリタ２０６は、受信した変更通知がオフライン利用可能であるか否かを判定する。ここで、インタプリタ２０６が、受信した変更通知がオフライン利用可能であると判定した場合はＳ７１７に進む。一方、インタプリタ２０６が、受信した変更通知がオフライン利用可能ではないと判定した場合は、本処理を終了する。続いて、Ｓ７１７で、インタプリタ２０６は、通知元のＷｅｂサイトのオフライン利用可否情報５０５をＯＫに設定し、本処理を終了する。
【００４６】
＜ブラウザストレージへのアクセス開始時処理＞
図８は、Ｗｅｂブラウザ２０１が、ブラウザストレージへのアクセスの開始に際して実行する処理を説明するためのフローチャートである。本処理では、変更通知機能を持たないＷｅｂサイトに関して、図５に示したＷｅｂサイトのアクセス状態情報テーブルの情報を更新する。アクセス開始は、例えば、図５で示すテーブルの新しいエントリとなるＷｅｂサイトや、通信完了状態であったＷｅｂサイトのブラウザストレージへのアクセスを検出した際に、Ｗｅｂブラウザ２０１で検出されることになる。Ｗｅｂブラウザ２０１は、インタプリタ２０６のインスタンスを作成し、本処理を実行する。
【００４７】
Ｓ８０１で、ブラウザストレージへのアクセスの開始に際して、インタプリタ２０６は、アクセス先オリジンのＷｅｂサイトの変更通知機能５０３がＦａｌｓｅか否か（変更通知機能を持たないか否か）を判定する。ここで、インタプリタ２０６が、変更通知機能５０３がＦａｌｓｅであると判定した場合はＳ８０２に進む。一方、インタプリタ２０６が、変更通知機能５０３がＦａｌｓｅではないと判定した場合は、本処理を終了する。
【００４８】
Ｓ８０２で、インタプリタ２０６は、アクセス先オリジンのＷｅｂサイトのアクセス状態５０４を通信中に設定する。続いて、Ｓ８０３で、インタプリタ２０６は、アクセス先オリジンのＷｅｂサイトのオフライン利用可否情報５０５をＮＧに設定し、本処理を終了する。つまり、変更通知機能を持たないＷｅｂサイトについては、ブラウザストレージへアクセスしている場合は通信中であり、かつ、オフライン利用もできないと判断する。
【００４９】
＜ブラウザストレージへのアクセス終了時処理＞
図９は、Ｗｅｂブラウザ２０１が、ブラウザストレージへのアクセスの終了時に実行する処理を説明するためのフローチャートである。本処理は、図８でのブラウザストレージへのアクセスが終了したと判定した場合の処理であり、変更通知機能を持たないＷｅｂサイトに関して、図５に示したＷｅｂサイトのアクセス状態情報テーブルの情報が更新される。Ｗｅｂブラウザ２０１は、インタプリタ２０６のインスタンスを作成し、本処理を実行する。
【００５０】
Ｓ９０１で、インタプリタ２０６は、アクセス先オリジンのＷｅｂサイトの変更通知機能５０３がＦａｌｓｅか否か（変更通知機能を持たないか否か）を判定する。ここで、インタプリタ２０６が、変更通知機能５０３がＦａｌｓｅであると判定した場合はＳ９０２に進む。一方、インタプリタ２０６が、変更通知機能５０３がＦａｌｓｅではないと判定した場合は、本処理を終了する。
【００５１】
Ｓ９０２で、インタプリタ２０６は、アクセス先オリジンのＷｅｂサイトについて、ブラウザストレージへのアクセス処理が行われていないか否かを判定する。本判定は、本処理の開始のきっかけとなったブラウザストレージを利用するデータとは異なる種類データについて、アクセス処理を終了していないものが本当に無いかを確認するために行われる。具体的には、Ｗｅｂ  Ｓｔｏｒａｇｅに関するブラウザストレージへのアクセスは終了しているが、そのほかのＩｎｄｅｘｅｄＤＢなどに関するブラウザストレージへのアクセス処理が終了していない場合には、Ｓ９０２ではＮｏと判定されることになる。ここで、インタプリタ２０６が、ブラウザストレージへのアクセス処理が行われていないと判定した場合（Ｙｅｓ）はＳ９０３に進む。一方、インタプリタ２０６が、ブラウザストレージへのアクセス処理が行われていると判定した場合（Ｎｏ）は、本処理を終了する。
【００５２】
Ｓ９０３で、インタプリタ２０６は、アクセス先オリジンのＷｅｂサイトのアクセス状態５０４を通信完了に設定する。続いて、Ｓ９０４で、インタプリタ２０６は、アクセス先オリジンのＷｅｂサイトのオフライン利用可否情報５０５をＯＫに設定する。つまり、変更通知機能を持たないＷｅｂサイトについては、ブラウザストレージへアクセスしていない場合は通信完了であり、かつ、オフライン利用できると判断する。続いて、Ｓ９０５で、インタプリタ２０６は、アクセス先オリジンのＷｅｂサイトの同期処理情報５０６をＦａｌｓｅに設定し、本処理を終了する。
【００５３】
＜Ｗｅｂブラウザへの終了指示の検知時の処理＞
図１０は、ユーザーなどによってＷｅｂブラウザ２０１への終了指示が行われた際に実行する処理を説明するためのフローチャートである。Ｗｅｂブラウザへの終了指示は、図６のボタン６１０をユーザーにより押下されるなどに従い行われる。Ｗｅｂブラウザ２０１は、インタプリタ２０６のインスタンスを作成し、本処理を実行する。
【００５４】
本処理では、Ｗｅｂブラウザ終了時に、ブラウザストレージへのアクセス処理をしているＷｅｂサイトについて、アクセス処理を継続するか否かなどを判定する。アクセス処理を継続すると判定した場合はＷｅｂブラウザを終了せずに、アクセス処理完了まで待機する。この際には、図６で示すＷｅｂブラウザが提供する画面自体は、情報端末の表示モジュール上から消去してしまってもよい。一方、アクセス処理を継続しないと判定した場合はアクセス処理を中断する。
【００５５】
Ｗｅｂブラウザ２０１への終了指示が行われた際に、Ｓ１００１で、インタプリタ２０６は、ネットワークがオンライン状態か否かを判定する。ここで、インタプリタ２０６が、オンライン状態であると判定した場合はＳ１００２に進む。一方、インタプリタ２０６が、オンライン状態ではない、つまりオフライン状態であると判定した場合はＳ１０１１に進む。
【００５６】
Ｓ１００２で、インタプリタ２０６は、図５に示したＷｅｂサイトのアクセス状態情報テーブルから、ブラウザストレージを利用しているＷｅｂサイトの情報を取得する。続いて、インタプリタ２０６は、Ｓ１００２で取得したＷｅｂサイトのそれぞれを処理対象として、Ｓ１００３〜Ｓ１００９までに示す処理を繰り返す。
【００５７】
Ｓ１００４で、インタプリタ２０６は、処理対象のＷｅｂサイトの情報について、アクセス状態５０４が通信中か否かを判定する。ここで、インタプリタ２０６が、アクセス状態５０４が通信中であると判定した場合はＳ１００５に進む。一方、インタプリタ２０６が、アクセス状態５０４が通信中ではないと判定した場合はＳ１００９に進む。
【００５８】
Ｓ１００５で、インタプリタ２０６は、ブラウザストレージへのアクセス処理を継続するか否かの判定処理を行う。ブラウザストレージへのアクセス処理の継続判定処理の詳細については、図１２などを用いて後述する。Ｓ１００６で、インタプリタ２０６は、処理対象のＷｅｂサイトがＳ１００５で継続すると判定されたか否か（処理継続の要否を示す変数がＴｒｕｅか否か）を判定する。ここで、インタプリタ２０６が、ブラウザストレージへのアクセス処理を継続すること（Ｔｒｕｅ）を示すと判定した場合はＳ１００９に進む。一方、インタプリタ２０６が、ブラウザストレージへのアクセス処理を継続しないと判定されたと判定した場合はＳ１００７に進む。
【００５９】
Ｓ１００７で、インタプリタ２０６は、処理対象のＷｅｂサイトのブラウザストレージへのアクセス処理を中断する。続いて、Ｓ１００８で、インタプリタ２０６は、処理対象のＷｅｂサイトのアクセス状態５０４を通信完了に設定する。
【００６０】
Ｓ１００９で、インタプリタ２０６は、Ｓ１００３〜Ｓ１００８の処理を行っていないＷｅｂサイトがあるか否かを判定する。インタプリタ２０６が、Ｓ１００３〜Ｓ１００８の処理を行っていないＷｅｂサイトがないと判定した場合はＳ１０１０に進む。
【００６１】
Ｓ１０１０で、インタプリタ２０６は、アクセス処理を継続すると判定されたすべてのＷｅｂサイトのアクセス処理が完了するまで待機する。続いて、Ｓ１０１１で、インタプリタ２０６は、Ｗｅｂブラウザを終了し、本処理を終了する。
【００６２】
＜ブラウザストレージへのアクセス処理の設定画面例＞
図１１は、Ｗｅｂブラウザ２０１における、ブラウザストレージへのアクセス処理に関する設定画面の一例を示す図である。本画面を介して、ユーザーは、Ｗｅｂブラウザ２０１の終了時のブラウザストレージへのアクセス処理の制御について設定することができる。Ｓ１００５では、本画面の設定内容に従って、ブラウザストレージへのアクセス処理を継続するか否かの判定を行う。
【００６３】
１１０１、１１０２、１１０３は、Ｗｅｂブラウザ２０１終了時にブラウザストレージへのアクセス処理を継続するか否かを設定するためのラジオボタンである。１１０１が選択された場合は、Ｗｅｂブラウザ２０１終了時にブラウザストレージへのアクセス処理を継続する。１１０２が選択された場合は、Ｗｅｂブラウザ２０１終了時にブラウザストレージへのアクセス処理を継続するか否かを確認するための画面を追加表示し、その都度、ユーザーに選択させる。１１０３が選択された場合は、Ｗｅｂブラウザ２０１終了時にブラウザストレージへのアクセス処理を継続しないで中断する。
【００６４】
１１０４、１１０５は、Ｗｅｂブラウザ２０１終了時に継続対象とするブラウザストレージへのアクセス処理の内容を設定するためのラジオボタンである。１１０４が選択された場合は、すべてのブラウザストレージへのアクセス処理を継続対象とする。１１０５が選択された場合は、ブラウザストレージ内のデータのＷｅｂサイトへの同期処理のみを継続対象とする。
【００６５】
１１０６、１１０７は、本画面の設定に従うＷｅｂサイトを指定するためのラジオボタンである。１１０６が選択された場合は、すべてのＷｅｂサイトについて、本画面のここまでの設定に従った制御を行う。１１０７が選択された場合は、ＵＲＬリスト１１０８で指定されたＵＲＬが含まれるＷｅｂサイトのみについて、本画面のここまでの設定に従った制御を行う。１１０９は、ＵＲＬリスト１１０８にＵＲＬを追加するためのボタンである。追加ボタン１１０９が押下されると、ＵＲＬを入力するための画面を表示し、入力されたＵＲＬをＵＲＬリスト１１０８に追加する。現在、Ｗｅｂブラウザ２０１で表示されている（タブが有効になっている）ＷｅｂサイトのＵＲＬが入力された状態で入力画面が表示されてもよい。１１１０は、ＵＲＬリスト１１０８のＵＲＬを削除するためのボタンである。削除ボタン１１１０が押下されると、ＵＲＬリスト１１０８から選択されているＵＲＬを削除する。
【００６６】
本実施例では、ブラウザストレージへのアクセス処理に関して設定画面を利用して設定する例を示したが、Ｗｅｂブラウザ２０１が本設定内容を予め保持する構成でも良い。
【００６７】
＜ブラウザストレージへのアクセス処理の継続判定処理＞
図１２は、図１０に示したＳ１００５で実行するブラウザストレージへのアクセス処理の継続判定処理の詳細を示すフローチャートである。本処理では、図１１に示したブラウザストレージへのアクセス処理の設定画面の設定内容に従い、ブラウザストレージへのアクセス処理を継続するか否かを判定する。
【００６８】
Ｓ１２０１で、インタプリタ２０６は、処理対象のＷｅｂサイトが、アクセス処理の継続対象として設定されているか否かを判定する。本判定は、図１０の１１０６〜１１０８の設定に従って行う。また、図１０の１１０３が選択されている場合は、１１０６〜１１０８の設定に関わらず、アクセス処理の継続対象ではないと判定する。ここで、インタプリタ２０６が、処理対象のＷｅｂサイトが、継続対象であると判定した場合はＳ１２０２に進み、継続対象ではないと判定した場合はＳ１２０７に進む。
【００６９】
Ｓ１２０２で、インタプリタ２０６は、処理対象のＷｅｂサイトが実行中のアクセス処理が、継続対象の処理であるか否かを判定する。本判定は、図１０の１１０４と１１０５の設定に従って行う。また、実行中のアクセス処理が同期処理であるか否かの判定は、処理対象のＷｅｂサイトの同期処理情報５０６をもとに判定する。処理対象のＷｅｂサイトの同期処理情報５０６がＴｒｕｅの場合は、実行中のアクセス処理が同期処理であると判定する。処理対象のＷｅｂサイトの同期処理情報５０６がＦａｌｓｅの場合は、実行中のアクセス処理は同期処理ではないと判定する。ここで、インタプリタ２０６が、実行中のアクセス処理が継続対象の処理であると判定した場合はＳ１２０３に進む。一方、インタプリタ２０６が、実行中のアクセス処理が継続対象の処理ではないと判定した場合はＳ１２０７に進む。
【００７０】
Ｓ１２０３で、インタプリタ２０６は、アクセス処理を継続するか否かを確認するための確認画面を表示するか否かを判定する。本判定では、図１０の１１０２が選択されている場合に確認画面を表示すると判定する。ここで、インタプリタ２０６が、確認画面を表示すると判定した場合はＳ１２０４に進み、確認画面を表示しないと判定した場合はＳ１２０６に進む。Ｓ１２０４で、インタプリタ２０６は、図１３の確認画面を表示する。ここで、図１３は、ブラウザストレージへのアクセス処理を継続するか否かを確認するための確認画面の一例を示す図である。図１３の確認画面において、ボタン１３０１が押下された場合は、アクセス処理を継続すると選択されたと判定する。一方、ボタン１３０２が押下された場合は、アクセス処理を継続しないと選択されたと判定する。Ｓ１２０５で、インタプリタ２０６は、図１３の確認画面を介した選択に従い、アクセス処理を継続するか否かを判定する。ここで、アクセス処理を継続すると選択された場合はＳ１２０６に進み、継続しないと選択された場合にはＳ１２０７に進む。
【００７１】
Ｓ１２０６で、インタプリタ２０６は、処理継続の要否を示す変数にＴｒｕｅを設定し、本処理を終了する。一方、Ｓ１２０７で、インタプリタ２０６は、処理継続の要否を示す変数にＦａｌｓｅを設定し、本処理を終了する。
【００７２】
＜オフライン移行検知時の処理＞
図１４は、Ｗｅｂブラウザ２０１が、情報端末のネットワークへの接続状態が変化して、オンライン状態からオフライン状態になったことを検知した際に実行する処理を説明するためフローチャートである。Ｗｅｂブラウザ２０１は、インタプリタ２０６のインスタンスを作成し、本処理を実行する。
【００７３】
Ｓ１４０１で、インタプリタ２０６は、図５に示したＷｅｂサイトのアクセス状態情報テーブルから、ブラウザストレージを利用しているＷｅｂサイトの情報を取得する。インタプリタ２０６は、Ｓ１４０１で取得したＷｅｂサイトのそれぞれを処理対象として、Ｓ１４０２〜Ｓ１４０６の処理を繰り返す。
【００７４】
Ｓ１４０３で、インタプリタ２０６は、処理対象のＷｅｂサイトの情報について、アクセス状態５０４が通信中か否かを判定する。ここで、インタプリタ２０６が、アクセス状態５０４が通信中であると判定した場合はＳ１４０４に進む。一方、インタプリタ２０６が、アクセス状態５０４が通信中ではないと判定した場合はＳ１４０６に進む。Ｓ１４０４で、インタプリタ２０６は、ネットワークがオフライン状態になったことにより、処理対象のＷｅｂサイトのブラウザストレージへのアクセス処理が中断されたか否かを判定する。ここで、インタプリタ２０６が、ブラウザストレージへのアクセス処理が中断されたと判定した場合はＳ１４０５に進む。一方、インタプリタ２０６が、ブラウザストレージへのアクセス処理が中断されていないと判定した場合はＳ１４０６に進む。Ｓ１４０５で、インタプリタ２０６は、処理対象のＷｅｂサイトのアクセス状態５０４を通信完了に更新する。
【００７５】
Ｓ１４０６で、インタプリタ２０６は、Ｓ１４０２〜Ｓ１４０５の処理を行っていないＷｅｂサイトがないと判定した場合に本処理を終了する。
【００７６】
＜オフライン利用開始時処理＞
図１５は、Ｗｅｂブラウザ２０１が、情報端末のネットワークへの接続状態がオフライン状態でＷｅｂアプリケーション（Ｗｅｂサイト）の利用を開始したことを検知した際に実行する処理を説明するためのフローチャートである。Ｗｅｂブラウザ２０１は、インタプリタ２０６のインスタンスを作成し、本処理を実行する。
【００７７】
Ｗｅｂブラウザの終了やオフライン状態への移行などにより、ブラウザストレージへのアクセス処理が中断された場合、Ｗｅｂアプリケーションがオフライン状態で正常に利用できない可能性がある。本処理は、Ｗｅｂアプリケーションがオフライン状態で正常に利用できない可能性がある場合に、警告表示するための処理である。
【００７８】
Ｓ１５０１で、インタプリタ２０６は、図５に示したＷｅｂサイトのアクセス状態情報テーブルから、オフライン利用を開始したＷｅｂサイトの情報を取得する。Ｓ１５０２で、インタプリタ２０６は、Ｓ１５０１で取得したＷｅｂサイト情報のオフライン利用可否情報５０５がＮＧか否かを判定する。ここで、インタプリタ２０６が、オフライン利用可否情報５０５がＮＧであると判定した場合はＳ１５０３に進む。一方、インタプリタ２０６が、オフライン利用可否情報５０５がＮＧではないと判定した場合はＳ１５０４に進む。Ｓ１５０３で、インタプリタ２０６は、Ｗｅｂアプリケーションがオフライン状態で正常に利用できない可能性があることをユーザーに知らせるために、図１６で示す警告１６０１を表示する。ここで、図１６は、Ｗｅｂブラウザ２０１が提供する画面上における、Ｗｅｂアプリケーションがオフライン状態で正常に利用できない可能性があることを警告するための画面の一例を示す図である。
【００７９】
Ｓ１５０４で、インタプリタ２０６は、Ｓ１５０１で取得したＷｅｂサイトの変更通知機能５０３がＦａｌｓｅか否か（変更通知機能を持たないか否か）を判定する。ここで、インタプリタ２０６が、変更通知機能５０３がＦａｌｓｅであると判定した場合はＳ１５０５に進む。一方、インタプリタ２０６が、変更通知機能５０３がＦａｌｓｅではないと判定した場合は、本処理を終了する。続いて、Ｓ１５０５で、インタプリタ２０６は、Ｓ１５０１で取得したＷｅｂサイトの同期処理情報５０６をＴｒｕｅに設定し、本処理を終了する。
【００８０】
本処理が動作する場合は、つまり、オフライン状態でＷｅｂアプリケーション（Ｗｅｂサイト）が利用され、ブラウザストレージのデータが操作された場合である。この操作の後にオンライン状態へ移行した際のブラウザストレージへのアクセス処理は、Ｗｅｂアプリケーションを提供するＷｅｂサーバーとの同期処理であると考えられる。そのため、本処理は、Ｗｅｂアプリケーションが変更通知機能を持たない場合には、オンライン状態へ移行後のブラウザストレージへのアクセス処理が同期処理であると判断するための情報をＳ１５０５で設定している。
【００８１】
＜同期処理が完了した際の通知処理＞
オフライン状態からオンライン状態に変化した際に、ユーザーがＷｅｂブラウザで図６に示す表示を参照することで、Ｗｅｂアプリケーション（Ｗｅｂサイト）ごとに同期処理による通信が実行中であるか、完了したかを確認できる。
【００８２】
ここで、Ｗｅｂブラウザは、Ｓ７１５などで同期処理が完了したことを検出することが可能である。そこで、図１６と同様の通知方法により、ユーザーに対して同期処理の完了を通知してもよい。具体的には、メッセージ領域に、“ａａａ．ｃｏｍの同期処理が完了しました。”といったメッセージを表示することで完了通知が行える。
【００８３】
（実施例２）
実施例１では、変更通知機能を持たないＷｅｂサイトについて、ブラウザストレージへアクセスしている場合は通信中であり、かつ、オフライン利用もできないと判断していた。また、ブラウザストレージへアクセスしていない場合は通信完了であり、かつ、オフライン利用できると判断していた。
【００８４】
ここで、ブラウザストレージに含まれる格納領域の一種であるＷｅｂ  Ｓｔｏｒａｇｅの特徴として、ｌｏｃａｌＳｔｏｒａｇｅとｓｅｓｓｉｏｎＳｔｏｒａｇｅ（セッションストレージ）と呼ばれる２種類の領域がある。ｌｏｃａｌＳｔｏｒａｇｅに格納したデータは、Ｗｅｂブラウザを閉じても記憶領域にデータが残る。つまり、次回、Ｗｅｂブラウザ起動時に再度、利用することが可能である。一方、ｓｅｓｓｉｏｎＳｔｏｒａｇｅに格納したデータは、Ｗｅｂブラウザを閉じた際にデータが削除される。
【００８５】
以下では、ｓｅｓｓｉｏｎＳｔｏｒａｇｅのような一時的な記憶領域を総称して、一時領域と呼ぶ。本発明では、このような一時領域に、オフライン状態でのＷｅｂアプリケーションの動作に必要なデータは格納しない。
【００８６】
実施例２は、変更通知機能を持たないＷｅｂサイトについて、一時領域の特徴を利用し、オフライン利用可能か否かの判定の精度を向上させる。なお、以下では実施例１との差分について説明する。
【００８７】
＜ブラウザストレージへのアクセス時の処理＞
図１７は、実施例２における、ブラウザストレージへのアクセス時の処理を説明するためのフローチャートである。本処理は、実施例１の図８で示した処理を拡張したものであり、一時領域へのアクセスのみであるか否かの判断などを加えている。Ｗｅｂブラウザ２０１は、インタプリタ２０６のインスタンスを作成し本処理を実行する。
【００８８】
Ｓ１７０１で、インタプリタ２０６は、アクセス先オリジンのＷｅｂサイトについて、一時領域以外へのアクセス処理が行われていないか否かを判定する。ここで、インタプリタ２０６が、一時領域以外へのアクセス処理が行われていないと判定した場合はＳ１７０２に進み、そうでないと判定した場合はＳ１７０３に進む。
【００８９】
Ｓ１７０２で、インタプリタ２０６は、アクセス先オリジンのＷｅｂサイトのオフライン利用可否情報５０５をＯＫに設定し、本処理を終了する。つまり、ブラウザストレージへアクセスしているためアクセス状態は通信中と判断するが、一時領域のみへのアクセスであるため、オフライン状態での利用は既に可能であると判断している。一方、Ｓ１７０３で、インタプリタ２０６は、アクセス先オリジンのＷｅｂサイトのオフライン利用可否情報５０５をＮＧに設定し、本処理を終了する。
【００９０】
＜ブラウザストレージへのアクセス終了時処理＞
図１８は、実施例２における、ブラウザストレージへのアクセス終了時の処理の手順例を示すフローチャートである。本処理は、実施例１の図９で示す処理を拡張したものであり、一時領域へのアクセスのみであるか否かの判断を加えている。Ｗｅｂブラウザ２０１は、インタプリタ２０６のインスタンスを作成し、本処理を実行する。
【００９１】
Ｓ９０２でＮｏと判定された場合に、Ｓ１８０１で、インタプリタ２０６は、アクセス先オリジンのＷｅｂサイトについて、一時領域以外へのアクセス処理が行われていないか否かを判定する。ここで、インタプリタ２０６が、一時領域以外へのアクセス処理が行われていないと判定した場合はＳ９０４に進み、そうでないと判定した場合には本処理を終了する。ここでも、図１７の処理と同様に、一時領域のみへのアクセスであるため、オフライン状態での利用は既に可能であると判断している。
【００９２】
（本発明の変形例）
本発明においては、上記実施例を用いて、変更通知機能を持つＷｅｂサイトと、持たないＷｅｂサイトのそれぞれの通信の進捗などを管理することができるＷｅｂブラウザについて説明した。
【００９３】
しかしながら、本発明の変形例として、いずれかの管理機能のみを有するＷｅｂブラウザを実現することも可能である。Ｗｅｂブラウザの具体例としては、Ｗｅｂアプリケーションの変更通知機能を前提とせずに、変更通知機能を持たないＷｅｂサイトのための管理機能である図８や図９などの処理のみを実装することになる。この場合には、図５の５０３で管理する情報や、図８のＳ８０１や、図９のＳ９０１といった一部の機能や処理を省略したうえで、最低限、必要な処理のみを実装することも可能である。一方で、Ｗｅｂアプリケーションの変更通知機能を前提として、図７に示す処理に係る機能のみをＷｅｂブラウザに実装することも可能である。
【００９４】
（他の実施例）
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
【００９５】
ここで、本発明は、上述した実施形態の機能を実現する１以上のソフトウェア（プログラム）を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の一つである。また、そのプログラムは、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給され、そのシステム或いは装置の１以上のコンピュータ（ＣＰＵやＭＰＵ等）によりそのプログラムが読み出され、実行される。つまり、本発明の一つとして、さらにそのプログラム自体、あるいは該プログラムを格納したコンピュータにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路（例えば、ＡＳＩＣ）によっても、本発明は実現可能である。
【符号の説明】
【００９６】
１０１  情報端末
１０２  情報端末
１０３  Ｗｅｂサーバー
２０１  Ｗｅｂブラウザ
２０６  ＪａｖａＳｃｒｉｐｔ（登録商標）インタプリタ
２０７  データストレージ
【図１】
2015228066.tif 000003
【図２】
2015228066.tif 000004
【図３】
2015228066.tif 000005
【図４】
2015228066.tif 000006
【図５】
2015228066.tif 000007
【図６】
2015228066.tif 000008
【図７】
2015228066.tif 000009
【図８】
2015228066.tif 000010
【図９】
2015228066.tif 000011
【図１０】
2015228066.tif 000012
【図１１】
2015228066.tif 000013
【図１２】
2015228066.tif 000014
【図１３】
2015228066.tif 000015
【図１４】
2015228066.tif 000016
【図１５】
2015228066.tif 000017
【図１６】
2015228066.tif 000018
【図１７】
2015228066.tif 000019
【図１８】
2015228066.tif 000020