(57)【特許請求の範囲】
【請求項１】
複数のウェブアプリケーションにより要求されたデータをローカルデータとして格納する機能をもつウェブブラウザが動作する情報処理端末であって、
前記ローカルデータの送信を制限する条件として、スキーマ、ホスト、及びポートの組合せが特定される情報を前記ウェブブラウザに設定する設定手段と、
前記ウェブアプリケーションとは異なるネットワーク上のストレージサービスに対して、前記設定手段により設定された条件に合致する１以上のウェブアプリケーションに対応するローカルデータを除く、格納済みのローカルデータの少なくとも一部のデータを送信する送信手段と、
前記ストレージサービスから取得したデータを用いて、前記ローカルデータを更新する更新手段と、を有し、
前記ストレージサービスでは、前記ウェブブラウザを介して取得されるアカウント情報とウェブアプリケーションの情報とに関連付けて、前記送信手段により送信されてきた前記データが管理されていることを特徴とする情報処理端末。
【請求項２】
前記送信手段によるデータの送信は、前記ウェブアプリケーションに係るページのロード時、前記ウェブアプリケーションによるローカルデータの書き込み要求、及び前記ウェブアプリケーションによるローカルデータの読み出し要求の少なくとも何れかのタイミングで行われることを特徴とする請求項１に記載の情報処理端末。
【請求項３】
前記更新手段による更新は、前記ウェブアプリケーションに係るページのロード時、前記ウェブアプリケーションによるローカルデータの書き込み要求、及び前記ウェブアプリケーションによるローカルデータの読み出し要求の少なくとも何れかのタイミングで行われることを特徴とする請求項１または２に記載の情報処理端末。
【請求項４】
前記ローカルデータの更新日時と、当該ローカルデータに対応する前記ストレージサービスで管理されたデータの更新日時との比較を行う比較手段を更に有し、
前記比較の結果、前記ローカルデータの更新日時の方が新しい場合には、前記送信手段によるデータの送信が行われ、
前記比較の結果、前記ストレージサービスで管理されたデータの更新日時の方が新しい場合には、前記更新手段による前記ストレージサービスから取得したデータを用いた前記ローカルデータの更新が行われることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理端末。
【請求項５】
前記比較の結果、前記ストレージサービスで管理されたデータの更新日時の方が新しい場合に、前記ストレージサービスで管理されたデータを用いた前記ローカルデータの更新を行うかどうかを確認するための第１の画面を提供する第１の提供手段を更に有し、
前記第１の画面を介した入力に応じて、前記更新手段による前記ストレージサービスから取得したデータを用いた前記ローカルデータの更新が行われることを特徴とする請求項４に記載の情報処理端末。
【請求項６】
前記送信手段によるデータの送信を確認するための第２の画面を提供する第２の提供手段を更に有することを特徴とする請求項１乃至５の何れか１項に記載の情報処理端末。
【請求項７】
前記ストレージサービスから取得したデータをローカルデータとして格納するために、格納済みのローカルデータに含まれる一部のデータを削除する削除手段を更に有することを特徴とする請求項１乃至６の何れか１項に記載の情報処理端末。
【請求項８】
前記ストレージサービスから取得したデータに、前記ウェブブラウザがサポートしていない種類のデータが含まれていた場合に、警告を示す第３の画面を提供する第３の提供手段を更に有することを特徴とする請求項１乃至７の何れか１項に記載の情報処理端末。
【請求項９】
前記更新手段は、前記ストレージサービスから取得したデータに前記ウェブブラウザがサポートしていない種類のデータが含まれていない場合に、当該取得したデータを用いた更新を行うことを特徴とする請求項１乃至８の何れか１項に記載の情報処理端末。
【請求項１０】
前記送信手段及び前記更新手段が、前記ウェブブラウザのプラグインによる拡張された機能として実現されることを特徴とする請求項１乃至９の何れか１項に記載の情報処理端末。
【請求項１１】
前記拡張された機能により、最初に前記ローカルデータにアクセスする際に確認を促すための第４の画面を提供する第４の提供手段を更に有することを特徴とする請求項１０に記載の情報処理端末。
【請求項１２】
前記ローカルデータには、ｌｏｃａｌＳｔｏｒａｇｅ、ファイルシステム、及びＩｎｄｅｘｅｄＤＢの少なくとも何れかのデータが含まれることを特徴とする請求項１乃至１１の何れか１項に記載の情報処理端末。
【請求項１３】
複数のウェブアプリケーションにより要求されたデータをローカルデータとして記憶装置の所定の領域に格納する機能をもつウェブブラウザによる制御方法であって、
前記ローカルデータの送信を制限する条件として、スキーマ、ホスト、及びポートの組合せが特定される情報を前記ウェブブラウザに設定する設定工程と、
前記ウェブアプリケーションとは異なるネットワーク上のストレージサービスに対して、前記設定工程で設定された条件に合致する１以上のウェブアプリケーションに対応するローカルデータを除く、格納済みのローカルデータの少なくとも一部のデータを送信する送信工程と、
前記ストレージサービスから取得したデータを用いて、前記ローカルデータを更新する更新工程と、を有し、
前記ストレージサービスでは、前記ウェブブラウザを介して取得されるアカウント情報とウェブアプリケーションの情報とに関連付けて、前記送信工程で送信された前記データが管理されていることを特徴とする制御方法。
【請求項１４】
請求項１乃至１２の何れか１項に記載の手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）５におけるウェブブラウザ内のデータストレージの仕組みを実装したウェブブラウザを提供する際の技術に関する。
【背景技術】
【０００２】
ウェブアプリケーションの高機能化に伴い、ＨＴＭＬ５では各種拡張がなされている。特に、スマートフォンやタブレット等のモバイル端末の普及により、オフラインでウェブアプリケーションを動作させるための拡張が多くなされている。
【０００３】
例えば、情報処理端末内のウェブブラウザのための記憶領域に対して、ウェブサーバ上のファイルをキャッシュするアプリケーションキャッシュ機能がある。それ以外にも、ウェブブラウザのための記憶領域に対して、データを格納するためのＷｅｂＳｔｏｒａｇｅやＩｎｄｅｘｅｄＤＢ機能がある。また、ウェブブラウザのための記憶領域内のファイルを操作するためのＦｉｌｅ  Ｓｙｓｔｅｍ  ＡＰＩ機能がある。更に、ウェブブラウザが動作する情報端末のネットワークとの接続状態（オンライン／オフライン）を管理してウェブアプリケーションから参照可能とし、その状態の変化を、ウェブアプリケーションに対して通知する仕組みも提供している。
【０００４】
ここで、ブラウザ間のデータの共有システムを開示した従来技術として、例えば特許文献１がある。具体的に特許文献１では、ユーザ識別情報とＵＲＬ情報とを含む情報をサーバに送信する。サーバは受信したデータをユーザ識別情報と対応付けてデータベースに保存する。携帯端末は、ブックマークの参照時にユーザ識別情報を含む情報をサーバに送信し、サーバは、データベースに保存されたＵＲＬ情報を携帯端末に送信することにより、ブックマークの共有を実現している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−０９７２０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したウェブブラウザ内のデータストレージ機能は、ユーザのデータを、ウェブアプリケーションを提供するサーバのデータ保存機能を用いずに、ウェブブラウザ内で保存させることでウェブアプリケーションを実現するために利用される。例えば、ウェブアプリケーションは、ユーザが入力したデータをウェブブラウザのための記憶領域に記憶する。そして、次回、同ウェブアプリケーションが開かれた際には、その記憶領域に保存されたデータを利用することにより、あたかも、ウェブアプリケーションを提供するサーバ上にデータが保存されているかのうように動作することも可能となる。
【０００７】
ここで、特許文献１に記載の技術によれば、ウェブブラウザの登録情報（ブックマークなど）の共有を開示しているに過ぎない。つまり、上記のデータストレージ機能によりウェブブラウザのための記憶領域に保存されたウェブアプリケーションへの操作入力に係るデータについて、異なるウェブブラウザと共有することまでは考慮していない。そのため、例えば、同じウェブアプリケーションを、ＰＣと携帯端末とで利用していても、それぞれで当該アプリケーションに対して入力したデータまでは共有されない。また、ＰＣや携帯端末をユーザが交換した場合も、交換前のＰＣや携帯端末でウェブブラウザを介してウェブアプリケーションへ入力したデータを、新しいＰＣや携帯端末に移行することができない。
【０００８】
そこで、本発明は、ウェブブラウザのための記憶領域に記憶されたウェブアプリケーションへの入力などについてのデータを、異なるウェブブラウザとも共有するための仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記解題を解決するために、本発明における情報処理端末は、機能をもつウェブブラウザが動作する情報処理端末であって、前記ローカルデータの送信を制限する条件として、スキーマ、ホスト、及びポートの組合せが特定される情報を前記ウェブブラウザに設定する設定手段と、前記ウェブアプリケーションとは異なるネットワーク上のストレージサービスに対して、前記設定手段により設定された条件に合致する１以上のウェブアプリケーションに対応するローカルデータを除く、格納済みのローカルデータの少なくとも一部のデータを送信する送信手段と、前記ストレージサービスから取得したデータを用いて、前記ローカルデータを更新する更新手段と、を有し、前記ストレージサービスでは、前記ウェブブラウザを介して取得されるアカウント情報とウェブアプリケーションの情報とに関連付けて、前記送信手段により送信されてきた前記データが管理されていることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ウェブブラウザのための記憶領域に記憶されたウェブアプリケーションへの入力などについてのデータを、異なるウェブブラウザとも共有することができる。
【図面の簡単な説明】
【００１１】
【図１】ウェブブラウザのモジュール構成の例を示す図
【図２】モバイル端末のハードウェア構成の例を示す図
【図３】ＰＣのハードウェア構成の例を示す図
【図４】実施例１で想定するシステム構成の例を示す図
【図５】ストレージサーバが提供する機能を利用する際に表示される画面の例を示す図
【図６】ウェブブラウザが動作する情報処理端末における、ウェブページのロード時に実行される同期処理を説明するためのフローチャート
【図７】ウェブブラウザがウェブアプリケーションを実行している際に行われる処理について説明するためのフローチャート
【図８】図７のＳ７０３で呼び出される同期処理を説明するためのフローチャート
【図９】ウェブブラウザにより同期処理の際に提供される警告画面の例
【図１０】実施例２で想定するシステム構成の例を示す図
【図１１】実施例２におけるウェブページのロード時の処理のシーケンス図
【図１２】実施例２におけるウェブアプリケーションを実行している際に行われる処理のシーケンス図
【図１３】実施例２におけるウェブアプリケーションを実行している際に行われる同期処理について説明するためのフローチャート
【図１４】実施例２における拡張機能モジュールによるウェブブラウザのローカルデータへの初回アクセス時の警告画面の例
【図１５】ウェブブラウザが提供するデータの同期機能の設定に係る画面の例
【図１６】実施例２でウェブページのロード時に実行される同期処理を説明するためのフローチャート
【図１７】実施例２でウェブブラウザが提供する警告画面の例
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１３】
（実施例１）
図４は、本実施例で想定しているシステム内の構成要素の例を示す図である。
【００１４】
２０１は、モバイル端末であり、４０２は、同端末上で動作するウェブブラウザである。３０１は、パーソナルコンピュータ（以下、ＰＣ）であり、４０３は、同ＰＣ上で動作するウェブブラウザである。４０１は、ネットワークであり、例えばインターネット網を想定している。
【００１５】
４０７は、３ＧやＬＴＥ等の移動体通信の基地局であり、モバイル端末２０１は、移動体通信時は基地局４０７を介してインターネット網４０１に接続する。４０６は、ＷｉＦｉのアクセスポイントである。モバイル端末２０１は、ＷｉＦｉ通信時、アクセスポイント４０６を経由してインターネット網４０１に接続する。ＰＣ３０１はルータ等（図示せず）を経由してインターネット網４０１に接続する。
【００１６】
４０４は、ウェブアプリケーションを提供するアプリケーションサーバ、４０５は、ストレージサービス機能を提供するストレージサーバである。ウェブブラウザ４０２及び４０３は、ネットワーク上のアプリケーションサーバ４０４及びストレージサーバ４０５に接続できる。本実施例では、例えば、ウェブブラウザ４０２及び４０３の開発ベンダと、ストレージサーバ４０５で提供されるストレージサービスの提供元とが、同じ、または相互に提携していることを想定している。具体的には、ウェブブラウザ４０２において登録されたアカウント情報を、そのままストレージサービスへのアカウント情報として利用するといった、簡易な認証などが実現できる。また、ユーザが意識しなくとも、ストレージサービス、またはウェブブラウザで対応している種類のデータのみを、後述する同期処理の対象とするといったことも可能となる。
【００１７】
なお、本発明は、モバイル端末２０１やＰＣ４０３以外にも、後述するウェブブラウザで提供する機能が実行できる機器であれば適用可能である。具体的には、タブレットやスマートフォン、カーナビやカメラ、メガネや腕時計といった形態のウェアラブル端末、テレビや冷蔵庫といった家電製品などが適用対象として挙げられる。本発明では、これら機器のことを総称して、情報処理端末と呼ぶ。
【００１８】
図１は、ウェブブラウザ１０１の機能として提供されるモジュール構成の例を示すブロック図である。図４で示したウェブブラウザ４０２、４０３は、ここで説明するような構成を備えるものとする。
【００１９】
１０２は、ユーザーインターフェース（以下、ＵＩ）であり、アドレスバーや戻る／進むボタン等、ブラウザ画面のうち、ページが表示されるメインウィンドウを除くすべての部分を提供する。１０３は、ブラウザエンジンであり、ＵＩ１０２とレンダリングエンジン１０４の間の処理を整理する。１０４は、レンダリングエンジンであり、要求されたコンテンツの描画及び表示を行う。例えば、要求されたコンテンツがＨＴＭＬの場合、ＨＴＭＬとＣＳＳを解析し、解析されたコンテンツを画面に表示する。１０５は、ネットワーキングであり、ＨＴＴＰリクエストなどのネットワークの呼び出しに使用される。１０６は、ＵＩバックエンドであり、コンボボックスやウィンドウなどの基本的なウィジェットの描画に使用される。ＵＩバックエンド１０６は、プラットフォームに依存しない汎用的なインターフェースを公開し、その下ではオペレーティングシステム（以下、ＯＳ）固有の描画用メソッドを呼び出す。１０７は、ＪａｖａＳｃｒｉｐｔ（登録商標）インタプリタ（以下、ＪＳインタプリタ）であり、ＪａｖａＳｃｒｉｐｔ（登録商標）コードの解析と実行に使用される。ＪＳインタプリタ１０７は、プロットフォームに依存しないＪａｖａＳｃｒｉｐｔ（登録商標）実行部と、位置情報やオンライン情報を含むネットワーク情報等にアクセスする部分より構成される。１０８は、データストレージであり、ウェブブラウザ１０１のために用意された後述する記憶装置２０５上の記憶領域に、データを保存する。保存対象のデータとしては、クッキーといった情報のほかに、ＨＴＭＬ５の機能拡張に対応するローカルストレージデータ（例えば、ｌｏｃａｌＳｔｏｒａｇｅ、ファイルシステム、ＩｎｄｅｘｅｄＤＢといったデータ等）やアプリケーションキャッシュを想定している。
【００２０】
なお、本発明では、図１で示す機能モジュールをウェブブラウザ１０１で提供する例を説明する。しかしながら、同様の機能モジュールを機器内のＯＳで提供することも可能であるし、ＯＳとウェブブラウザとの協調動作によりそれら機能モジュールを適用することも可能である。また、ＯＳ上に同様の機能モジュールをどうさせるための独自のプラットフォームを提供することで、実現することも可能である。
【００２１】
図２は、ウェブブラウザ１０１が動作するモバイル端末２０１のハードウェア構成を示すブロック図である。モバイル端末２０１は、アプリケーションプロセッサ（以下ＡＰと記す）２０２、ＲＯＭ２０３、ＲＡＭ２０４、記憶装置２０５を備える。
【００２２】
ＡＰ２０２は、ＲＯＭ２０３や記憶装置２０５に記憶されたソフトウェアを実行し、ＡＰ２０２に接続された各デバイスを総括的に制御する。ＲＡＭ２０４は、ＡＰ２０２の主メモリあるいはワークエリアなどとして機能する。記憶装置２０５はフラッシュメモリ等からなり、オペレーティングシステム、ウェブブラウザ等の各種アプリケーション、データベースデータ、ユーザファイル等を記憶する。さらに、モバイル端末２０１において、２０６はタッチスクリーンコントローラであり、同コントローラに接続されたタッチスクリーン２０７を制御する。さらにモバイル端末２０１において、２０８は無線ＬＡＮ制御部、２０９は移動体通信制御部、２１０は近距離無線通信制御部であり、それぞれ、無線ＬＡＮ通信、移動体通信、近距離無線通信の制御を行う。さらにモバイル端末２０１において、２１１は電源制御部であり、充電池２１２への充電制御や電池残量の管理等を行う。
【００２３】
図３は、ＰＣのハードウェア構成を示すブロック図である。同図において、ＰＣ３０１は、ＣＰＵ３０２、ＲＡＭ３０３、ＲＯＭ３０４、外部記憶装置３０９を備える。
【００２４】
ＣＰＵ３０２は、ＲＯＭ３０４や外部記憶装置３０９に記憶された、或いはＬＡＮ４０３よりダウンロードしたソフトウェアを実行し、システムバス３１１に接続された各デバイスを総括的に制御する。ＲＡＭ３０３は、ＣＰＵ３０２の主メモリあるいはワークエリアなどとして機能する。外部記憶装置３０９は、ハードディスク（ＨＤ）、フロッピー（登録商標）ディスク（ＦＤ）等からなる。外部記憶装置３０９は、ブートプログラム、オペレーティングシステム、認証サーバ、認証クライアント、ウェブブラウザを含む各種のアプリケーション、データベースデータ、ユーザファイル等を記憶する。さらにＰＣ３０１において、３０６はキーボードコントローラ（ＫＢＤＣ）であり、キーボード（ＫＢＤ）３０５や図示しないポインティングデバイスからの入力情報をＣＰＵ３０２に送る。３０８はビデオコントローラ（ＶＣ）であり、ＣＲＴやＬＤＣ等からなる表示装置３０７の表示を制御する。３１０はディスクコントローラ（ＤＫＣ）であり、外部記憶装置３０９とのアクセスを制御する。３１２は通信コントローラ（ＣＯＭＭ  Ｉ／Ｆ）であり、これを介してネットワーク３１３に接続される。図示しないが、ネットワーク３１３は、ルータ等を介してインターネット４０１に接続される。
【００２５】
なお、アプリケーションサーバ４０４及びストレージサーバ４０５を構成するコンピュータについても、図３で示すようなＣＰＵ、ＲＡＭ、ＲＯＭ、ディスクコントローラ、外部記憶装置、通信コントローラなどといった同様のバードウェア構成を備えるものとする。アプリケーションサーバ４０４では、ＣＰＵがウェブアプリケーションやウェブサーバ機能を提供する所定のプログラムが実行される。また、ストレージサーバ４０５では、ＣＰＵがストレージサービスやウェブサーバ機能を提供する所定のプログラムが実行されることになる。
【００２６】
図５は、ストレージサーバが提供するストレージサービス機能を利用する際に用いる画面表示の例を示す。ここで、ウェブブラウザ１０１のデータストレージ１０８により格納されたデータを、ストレージサーバ４０５に保存（同期）するためには、ストレージサーバ４０５にアクセスするための利用者アカウントが必要である。
【００２７】
図５（ａ）は、ストレージサーバ４０５に、利用者アカウントを作成するための画面の例である。同画面は、ウェブブラウザ１０１から、ストレージサーバ４０５内のアカウント作成用ＵＲＬにアクセスすることにより、ウェブブラウザ１０１の画面に表示される。或は、ウェブブラウザ１０１とストレージサーバ４０５が連携している場合は、ウェブブラウザ１０１の設定メニューの選択により画面が表示される。
【００２８】
５０１は、ユーザの識別子としてのメールアドレス入力用のテキストボックスである。５０２は、ユーザ認証用パスワードの入力用のテキストボックスである。「アカウント作成」ボタン５０３の押下を検出すると、ウェブブラウザ１０１は、ストレージサーバ４０５に対し、入力されたメールアドレスとパスワードと共に、アカウント作成要求を送信する。ストレージサーバ４０５は、受信したメールアドレスを持つユーザが既に存在しないことを確認し、ストレージサーバ４０５内に、要求されたアカウントを作成する。或は、入力されたメールアドレスに対し、要求されたアカウントを有効にするためのＵＲＬを含むメールを送信する。
【００２９】
図５（ｂ）は、ウェブブラウザ１０１がストレージサーバ４０５にアクセスするためのアカウント情報をウェブブラウザ１０１に設定するための画面の例である。
【００３０】
５０４はユーザの識別子としてのメールアドレス入力用のテキストボックス、５０５はユーザ認証用パスワードの入力用のテキストボックスである。「サインイン」ボタン５０６の押下を検出すると、ウェブブラウザ１０１はストレージサーバ４０５にこれらの情報を送信し、アカウントの認証結果を受け取る。認証結果が正しい場合、ウェブブラウザ１０１は、アカウント情報（メールアドレスとパスワード）を記憶装置（２０５、３０９）に保存する。アカウント情報が正しくない場合、その旨を表示し、再度、図５（ｂ）のアカウント情報の入力画面を表示する。
【００３１】
以降、ウェブブラウザ１０１は、データストレージ１０８内のデータをストレージサーバ４０５と同期する際に、上記保存されたアカウント情報を用いて、ストレージサーバ４０５にアクセスする。
【００３２】
図６は、ウェブブラウザ１０１が動作するモバイル端末２０１などの情報処理端末における、ウェブページのロード時に実行される同期処理を説明するためのフローチャートを示す。本処理は、ウェブブラウザ（プログラム）をＡＰ２０２、ＣＰＵ３０２が読み出して、実行することで実現される処理である。
【００３３】
Ｓ６０１にて、ウェブブラウザ１０１は、現在のネットワークへの接続状態を確認する。確認の結果、ネットワークへ接続されている状態（オンライン状態）であればＳ６０２に進む。また、オフライン状態、即ちネットワークを介してアプリケーションサーバ４０４やストレージサーバ４０５と接続していない状態である場合には、本同期処理を終了する。なお、前述した通り、ウェブブラウザ１０１は、オフライン状態であっても、ローカルストレージデータやアプリケーションキャッシュを利用することで、ウェブアプリケーションを実行することが可能である。
【００３４】
Ｓ６０２にて、ウェブブラウザ１０１は、ストレージサーバ４０５へのアクセスの可否についての状態を確認する。具体的には、図５（ｂ）で設定したアカウント情報を用いた、ストレージサーバ４０５へのサインインの状態を確認する。ここで、アカウント情報が保存されていない、或は保存されたアカウント情報を用いたストレージサーバ４０５へのアクセスに失敗している場合には、本同期処理を終了する。一方で、保存済みのアカウント情報によりストレージサーバ４０５へのアクセスに成功している場合にはＳ６０３に進む。
【００３５】
なお、ストレージサーバ４０５で管理されるアカウント情報と、ＵＲＬとに関連付くデータを「リモートデータ」と呼ぶ。ここで、リモートデータには、ウェブブラウザ１０１のデータストレージ１０８による格納対象となる当該ＵＲＬが示すウェブアプリケーションに対応するローカルストレージデータやアプリケーションキャッシュの少なくとも一部が含まれる。アカウント情報と、ＵＲＬ以外にも、さらに、オリジンと呼ばれるプロトコルとホスト名とポートの組み合わせ毎にデータを管理してもよい。一方で、ストレージサーバ４０５に対して同期処理のために送信される情報処理端末のウェブブラウザ１０１のための記録領域に格納されたデータを「ローカルデータ」と呼ぶ。ローカルデータには、リモートデータと同様に、ウェブブラウザ１０１のデータストレージ１０８による格納対象となるローカルストレージデータやアプリケーションキャッシュの少なくとも一部が含まれる。
【００３６】
Ｓ６０３にて、ウェブブラウザ１０１は、タイムスタンプの比較処理として、リモートデータの最終更新日時と、ローカルデータの最終更新日時を比較する。そのために、ウェブブラウザ１０１は、ストレージサーバ４０５から、アカウント情報と、指定ＵＲＬをもとに、リモートデータの最終更新日時の情報を取得する。ここで、リモートデータとローカルデータの最終更新日時が等しい場合、或は、リモートデータとローカルデータが共に存在しない場合には、本同期処理を終了する。また、リモートデータの最終更新日時がローカルデータの最終更新日時よりも新しい場合、或は、リモートデータは存在するがローカルデータが存在しない場合、Ｓ６０５に進む。また、ローカルデータの最終更新日時がリモートデータの最終更新日時よりも新しい場合、或は、ローカルデータは存在するがリモートデータが存在しない場合、Ｓ６０４に進む。
【００３７】
Ｓ６０５にて、ウェブブラウザ１０１は、リモートデータで情報処理端末側のローカルデータを更新する。即ち、ウェブブラウザ１０１は、ストレージサーバ４０５よりリモートデータを取得し、取得したデータを、データストレージ１０８を介して所定の領域に上書き保存する。さらに、ローカルデータの最終更新日時に対して、リモートデータの最終更新日時に設定する。その後、本同期処理を終了する。
【００３８】
また、Ｓ６０４にて、ウェブブラウザ１０１は、ローカルデータでストレージサーバ４０５側のリモートデータを更新する。即ち、ウェブブラウザ１０１は、格納済みのローカルデータをストレージサーバ４０５に送信する。その後、ストレージサーバ４０５から、送信されてくる最終更新日時でローカルデータの最終更新日時を更新して、同期処理を終了する。一方、ストレージサーバ４０５は、情報処理端末からウェブブラウザ１０１を介してデータを受信すると、アカウント情報と、指定ＵＲＬを確認して対象となるリモートデータを、受信データで上書きする。そして、リモートデータの最終更新日時を現在時刻に設定し、リモートデータの最終更新日時をウェブブラウザ１０１に返す。
【００３９】
図７は、ウェブブラウザ１０１がウェブアプリケーションを実行している際に行われる処理について説明するためのフローチャートである。
【００４０】
図７（ａ）は、実行中のウェブアプリケーションがデータストレージ１０８を介して、ローカルデータを読み込む際の処理を示している。
【００４１】
Ｓ７０１、Ｓ７０２での処理は、図６のＳ６０１、Ｓ６０２で説明した処理と同じであるため詳細な説明を省略する。ここで、Ｓ７０１でＮＯ（オフライン状態）、或は、Ｓ７０２でＮＯ（ストレージサーバ４０５へのアクセスができない）と判定された場合は、Ｓ７０４に進む。Ｓ７０１とＳ７０２でともにＹＥＳと判定された場合は、Ｓ７０３に進む。
【００４２】
Ｓ７０３にて、ウェブブラウザ１０１は、同期処理を実行する。同期処理の詳細は図８で後述する。
【００４３】
Ｓ７０４では、ウェブブラウザ１０１は、ウェブアプリケーションから要求されたローカルデータの少なくとも一部（主に、ローカルストレージデータ）を、データストレージ１０８を介して所定の記憶領域から取得する。取得されたデータをウェブアプリケーションに渡す。
【００４４】
図７（ｂ）は、実行中のウェブアプリケーションがデータストレージ１０８を介して、ローカルデータとして、データを書き込む際の処理を示している。Ｓ７０１〜Ｓ７０３までの処理は、図７（ａ）と同様のため、その説明を省略している。ここで、Ｓ７０１でＮＯ（オフライン状態）、或は、Ｓ７０２でＮＯ（ストレージサーバ４０５へのアクセスができない）と判定された場合は、Ｓ７１１に進む。
【００４５】
Ｓ７１０では、ウェブブラウザ１０１は、ウェブアプリケーションから要求された書込みデータをストレージサーバ４０５に対して送信して、そのデータの書き込み処理を要求する。ここで書込み要求の対象となるデータは、ローカルデータの少なくとも一部（主に、ローカルストレージデータ）である。ストレージサーバ４０５では、この書き込み要求に対して、依頼されたデータの書き込み処理が行われ、さらに書き込みを行ったタイミングで、最終更新日時が更新される。その後、更新日時をウェブブラウザ１０１に返す。
【００４６】
Ｓ７１１では、ウェブブラウザ１０１は、データストレージ１０８を介して、ウェブアプリケーションから要求された書込みデータをローカルデータとして、所定の記憶領域に書き込む。この際に、Ｓ７１０にてストレージサーバ４０５から最終更新日時を取得していた場合には、その値で更新する。一方で、Ｓ７０１またはＳ７０２から直接Ｓ７１１に処理を進めた場合は、ウェブブラウザ１０１は、情報処理端末内で提供される現在日時で、最終更新日時を更新する。
【００４７】
図８は、図７のＳ７０３で呼び出される同期処理を説明するためのフローチャートである。
【００４８】
Ｓ８０１で、ウェブブラウザ１０１は、タイムスタンプの比較処理として、リモートデータの最終更新日時と、ローカルデータの最終更新日時を比較する。そのために、ウェブブラウザ１０１は、ストレージサーバ４０５から、アカウント情報と、ウェブアプリケーションに対応するＵＲＬをもとに、リモートデータの最終更新日時の情報を取得する。ここで、リモートデータとローカルデータの最終更新日時が等しい場合、或は、リモートデータとローカルデータが共に存在しない場合には、本同期処理を終了する。また、ローカルデータの最終更新日時がリモートデータの最終更新日時よりも新しい場合、或は、ローカルデータは存在するがリモートデータが存在しない場合、Ｓ８０２に進む。また、リモートデータの最終更新日時がローカルデータの最終更新日時よりも新しい場合、或は、リモートデータは存在するがローカルデータが存在しない場合、Ｓ８０３に進む。
【００４９】
Ｓ８０２では、ウェブブラウザ１０１は、ローカルデータでストレージサーバ４０５側のリモートデータを更新する。即ち、ウェブブラウザ１０１は、ローカルデータをストレージサーバ４０５に送信する。その後、ストレージサーバ４０５から、送信されてくる最終更新日時でローカルデータの最終更新日時を更新して、同期処理を終了する。一方、ストレージサーバ４０５は、情報処理端末からウェブブラウザ１０１を介してデータを受信すると、アカウント情報と、指定ＵＲＬを確認して対象となるリモートデータを、受信データで上書きする。
【００５０】
Ｓ８０３では、ウェブブラウザ１０１は、ＵＩ１０２を介して警告メッセージの表示（図９）を制御する。図９で示すメッセージは、別の端末のウェブブラウザなどにより同じウェブアプリケーションを実行したことで、当該ウェブアプリケーションが利用するローカルストレージデータなどに変更があった旨を通知することを意図している。図９で示す表示画面では、さらに、ユーザに対して、ローカルデータを採用することを指示するための「ＯＫ」ボタン９０１と、より新しいリモートデータを採用することを指示するための「キャンセル」ボタン９０２とを提供している。
【００５１】
Ｓ８０４では、ユーザ入力を受付け、「ＯＫ」ボタン９０１が押下されたか否かを判断する。ここで、「ＯＫ」ボタン９０１が押下された場合には前述のＳ８０２に進み、そうでない場合にはＳ８０５に進む。
【００５２】
Ｓ８０５では、ウェブブラウザ１０１は、ウェブアプリケーションで提供するページの再ロードを行い、処理を終了する。この際、再ロード後には、ウェブブラウザ１０１により図６に示す処理が実行される。この場合、リモートデータの更新日時がローカルデータの更新日時よりも新しいため、ローカルデータがリモートデータで更新されたうえで、ウェブブラウザ１０１でウェブページが再構成されることになる。
【００５３】
図１５は、ウェブブラウザ１０１が提供するデータの同期機能の設定に係る画面の例を示す。
【００５４】
図１５（ａ）は、データストレージ１０８により格納されるデータの同期機能に関して、ウェブブラウザ１０１が提供する設定画面の例である。
【００５５】
チェックボックス１５０１は、同期処理の対象としないウェブサイト（ウェブアプリケーション）を指定するか否かを切り換えるためのコントロールである。チェックボックス１５０１が未チェック（無効）の場合には、ウェブブラウザ１０１は、いずれのサイトであっても、データストレージ１０８を介して格納されたローカルデータを用いたストレージサーバ４０５との前述の同期処理を実行する。
【００５６】
一方で、ユーザにより、チェックボックス１５０１がチェックされた場合には、１５０２〜１５０５のコントロールが有効になる。１５０２は、現在指定されている同期処理を制限するウェブサイトのリストを示す。このリストに含まれるＵＲＬ（スキーマ、ホスト、ポート）で始まるウェブアプリケーションに対しては、ウェブブラウザ１０１は、前述したデータストレージ１０８を介して格納されたローカルデータを用いた同期処理を行わない。リストボックス１５０２でＵＲＬを選択した上で「削除」ボタン１５０３が押下された場合には、当該リストから選択されたＵＲＬが削除される。リストボックス１５０２でＵＲＬを選択した上で「編集」ボタン１５０４が押下された場合には、選択されているＵＲＬをユーザが編集するための画面（不図示）を開く。
【００５７】
「追加」ボタン１５０５の押下を検出すると、ウェブブラウザ１０１は、リストボックス１５０２に新規にＵＲＬを追加するための画面（不図示）を開く。リストボックス１５０２に登録するＵＲＬにはワイルドカードとして「＊」を使用することが可能である。例えば、「ｈｔｔｐ：／／＊．ｍｙｓｉｔｅ．ｃｏｍ：＊／」は、「ｈｔｔｐ：／／ｗｗｗ．ｍｙｓｉｔｅ．ｃｏｍ／」「ｈｔｔｐ：／／ａｐｐ．ｍｙｓｉｔｅ．ｃｏｍ：８０８０／」等に一致する。このような規則を踏まえたうえで、ユーザにより追加指示されたＵＲＬは、リストボックス１５０２に反映されることになる。
【００５８】
チェックボックス１５０６は、ウェブブラウザ１０１による同期処理の実行前に、その同期の可否を確認するための確認画面が必要か否かを設定するためのチェックボックスである。
【００５９】
チェックボックス１５０６がチェックされている（有効な）場合には、ウェブブラウザ１０１は、同期の対象となるウェブサイト（ウェブアプリケーション）での同期処理に際して確認画面（図１５（ｂ））を表示する。表示のタイミングとしては、図６や図８などの処理前などである。
【００６０】
「キャンセル」ボタン１５０７の押下を検出すると、ウェブブラウザ１０１は、設定画面上での変更をすべて破棄し、画面を閉じる。「ＯＫ」ボタン１５０８の押下を検出すると、ウェブブラウザ１０１は、設定画面上での変更を記憶装置（２０５、３０９）に保存し、画面を閉じる。保存された設定内容は、その後のウェブブラウザ１０１の処理に反映されることになる。
【００６１】
図１５（ｂ）は、チェックボックス１５０が有効な場合にウェブブラウザ１０１により提供される確認画面の例である。
【００６２】
「同期しない」ボタン１５１０の押下を検出すると、ウェブブラウザ１０１は、現在のウェブアプリケーションのＵＲＬ（例えば、スキーマ、ホストアドレス、ポートなどの組み合わせた情報）を例外リストに追加し、同期処理を行わない。「同期する」ボタン１５１１の押下を検出した場合、ウェブブラウザ１０１は、図６及び図８などで説明した同期処理を実行する。
【００６３】
（実施例２）
図１０は、実施例２におけるネットワークシステムの構成例を示す図である。ここでは、前述の実施例１と同じ構成要素に関しては、同じ符号としており、その説明を省略する。
【００６４】
１０１１及び１０１２は、実施例１で説明した情報処理端末と同様のハードウェア構成を備える端末である。情報処理端末１０１１、１０１２では、それぞれウェブブラウザ１００１、１００３が動作している。ウェブブラウザ１００１、１００３の両者は、異なるベンダにより開発された異なるウェブブラウザであったり、バージョンの異なる同じベンダにより開発されたウェブブラウザであったりする。また、ウェブブラウザ１００１、１００３を開発したベンダとは異なる提供元によりストレージサーバ４０５のストレージサービスが提供されていてもよい。なお、ウェブブラウザ１００１、１００３の基本構成としては、図１で示すものと同様である。
【００６５】
１００２及び１００４は、それぞれのウェブブラウザ上で動作する拡張機能モジュールである。拡張機能モジュール１００２、１００４は、ストレージサーバ４０５と連携した、それぞれのウェブブラウザのデータストレージにより格納されたデータの同期機能を提供する。拡張機能モジュール１００２、１００４は、例えば、前述のストレージサービスの提供元により、ウェブブラウザの機能拡張のためのプラグインプログラムとして提供される。
【００６６】
ここで、ウェブブラウザ１００１は、ローカルストレージデータとして、ＷｅｂＳｔｏｒａｇｅ、ＦｉｌｅＳｙｓｔｅｍ  ＡＰＩをサポートしている。一方で、ウェブブラウザ１００３は、ローカルストレージデータとして、ＷｅｂＳｔｏｒａｇｅ、ＦｉｌｅＳｙｓｔｅ  ＡＰＩに加え、ＩｎｄｅｘｅｄＤＢをサポートしているものとする。
【００６７】
また、アプリケーションサーバ４０４が提供するウェブアプリケーションは、ウェブブラウザがＩｎｄｅｘｅｄＤＢをサポートしている場合は、ＩｎｄｅｘｅｄＤＢにも、必要なデータの格納を要求するものとする。
【００６８】
ウェブブラウザ１００１、１００３のそれぞれは、拡張機能モジュール１００２、１００４に対して、データストレージ１０８を介したローカルデータに対するアクセスや、イベント発生時の関数の呼び出しのイベント処理を提供する。なお、拡張機能モジュール１００２、１００４を用いたストレージサーバ４０５と連携した同期処理に必要なアカウント情報の登録などについては、図５と同様であるため、その説明は省略する。
【００６９】
以降では、ウェブブラウザ１００１、１００３のそれぞれで行われる本実施例における特有な処理について説明する。両者で共通する処理に関しては、以下、ウェブブラウザ１００１及び拡張機能モジュール１００２を例に挙げて説明する。
【００７０】
図１１は、ウェブページのページロード時のウェブブラウザ１００１と拡張機能モジュール１００２の処理を説明するためのシーケンス図である。
【００７１】
Ｓ１１０１で、ウェブブラウザ１００１は、ユーザからの要求などに従うウェブページのロード処理に応じて、ページロード時のイベント処理を呼び出す。当該イベント処理は、拡張機能モジュール１００２がウェブブラウザ１００１に対して登録した処理である。Ｓ１１０２で、拡張機能モジュール１００２がページロード時のイベント処理を起動し、当該処理の中で、Ｓ１１０３で示すページロード時の同期処理（図１６）をさらに呼び出す。
【００７２】
図１６は、図１１のＳ１１０３の同期処理の詳細を説明するためのフローチャートである。
【００７３】
Ｓ１６０１〜Ｓ１６０４については、前述の図６のＳ６０１〜６０４で示すウェブブラウザ１０１による処理を、拡張機能モジュール１００２が実行している。処理の内容としては、前述と同様である。Ｓ１６０３の比較の結果、リモートデータがローカルデータよりも新しい、或は、リモートデータは存在するがローカルデータは存在しない場合、拡張機能モジュール１００２の処理が、Ｓ１６０５に進む。
【００７４】
Ｓ１６０５で、拡張機能モジュール１００２は、アカウント情報及び現在のＵＲＬをもとに、ストレージサーバ４０５側で管理されているリモートデータと、ローカルデータの比較処理をおこなう。具体的には、ウェブブラウザ１００１がローカルストレージデータとしてサポートしていない種類のデータが、リモートデータに含まれるかを検査する。ここで、検査の結果、リモートデータに含まれるデータの種類が、ウェブブラウザ１００１で完全にサポートされている場合は、Ｓ１６０６に進む。Ｓ１６０６の処理は、図６のＳ６０５の処理と同じであるため、その説明は省略する。Ｓ１６０５での、検査の結果、リモートデータにウェブブラウザ１００１でサポートしていない種類のデータ（例えば、ＩｎｄｅｘｅｄＤＢの値）が含まれていた場合には、Ｓ１６０７に進む。
【００７５】
Ｓ１６０７で、拡張機能モジュール１００２は、ウェブブラウザ１００１のＵＩ１０２を介して警告画面（図１７）を提供する。
【００７６】
図１７で示す画面を表示する前提として、拡張機能モジュール１００２及び１００４やウェブブラウザ１０１は、ストレージサーバ４０５にデータを書き込む際に、当該データ以外の情報もストレージサーバに登録するものとする。具体的な登録情報としては、ウェブブラウザに関する情報（製品名（または種類）とバージョン情報など）と、ウェブブラウザが動作する環境情報（ＯＳや情報処理端末の識別情報など）が含まれる。
【００７７】
図１７の警告画面上では、ストレージサーバ４０５にリモートデータを書き込んだ他のウェブブラウザに関する登録情報が表示される。また、リモートデータに現在のウェブブラウザではサポートしていないデータが含まれていることと、その対処方法についてもメッセージとして表示されている。さらに、図１７の警告画面には、「上書き」ボタン１７０１、「同期せずに続行」ボタン１７０２が含まれる。Ｓ１６０８で、拡張機能モジュール１００２がユーザの入力を待機して、「上書き」ボタン１７０１の押下が検出されるとＳ１６０４に進む。Ｓ１６０４の処理は、上述した通りだが、ローカルデータが存在しない場合には、リモートデータを削除する要求をストレージサーバ４０５に送信する。また、「同期せずに続行」ボタン１７０２の押下が検出されるとＳ１６０９に進む。
【００７８】
Ｓ１６０９で、拡張機能モジュール１００２は、現在のロードの対象となっているウェブページに対応するウェブサイト（ウェブアプリケーション）の同期の対象外としてウェブブラウザ１００１に登録する。ここで登録された場合には、例えば、ウェブブラウザ１００１が図１５（ａ）で示すような画面を表示する際には、リスト１５０２に当該ウェブサイトのＵＲＬに係る情報が含まれるようになる。その後、本同期処理が終了する。同期処理の終了後、または同期処理に並行して、ウェブブラウザ１００１がロードしたウェブページを、ＵＩ１０２を介して表示する。
【００７９】
以降の処理で、Ｓ１６０９で同期処理の対象外としたＵＲＬで始まるウェブアプリケーションから、ローカルデータに対する読み書きを要求された場合、拡張機能モジュール１００２はその要求に係る同期処理を行わない。
【００８０】
なお、上述の本処理の実施の形態に限らず、リモートデータにウェブブラウザ１００１でサポートしていない種類のデータが含まれていた場合にも、リモートデータの一部のデータを用いたローカルデータの同期処理をおこなってもよい。この処理に用いるデータは、ストレージサーバ４０５側で安全面を考慮して選択されてもよい。なお、図１６に示す処理では、予期せぬ問題が起きないよう安全面などを考慮して、リモートデータにウェブブラウザ１００１でサポートしていない種類のデータが含まれていた場合には、そのデータを用いたローカルデータとしての書き込みを抑制している。
【００８１】
図１２は、ウェブブラウザ１００１でウェブアプリケーションを実行している際に行われる処理のシーケンス図を示す。
【００８２】
Ｓ１２０１で、ウェブアプリケーションが、ウェブブラウザ１００１に対して、ローカルデータに対する読み出し処理、または書き込み処理の呼び出しを行う。
【００８３】
Ｓ１２０２では、この呼び出しに応じて、ウェブブラウザ１００１が予め拡張機能モジュール１００２により登録されていたイベント処理を呼び出す。Ｓ１２０３で、拡張機能モジュール１００２が、ローカルデータに対する読み出し処理前、または書き込み処理前のイベント処理を起動し、当該処理の中で、Ｓ１２０４で示す同期処理（図１３）をさらに呼び出す。
【００８４】
Ｓ１２０５で、ウェブブラウザ１００１は、Ｓ１２０３で呼び出された拡張機能モジュール１００２のイベント処理の終了後、データストレージ１０８を介して、読み出し処理、または書き込み処理を実行する。その後、呼び出し元のウェブアプリケーションに処理を返す。
【００８５】
図１３は、Ｓ１２０４の同期処理を説明するためのフローチャートである。
【００８６】
Ｓ１３０１、Ｓ１３０２の処理は、図７で示すＳ７０１、Ｓ７０２のウェブブラウザ１０１による処理を、拡張機能モジュール１００２が実行している。処理の内容としては、前述と同様である。また、Ｓ１３０３の処理は、図８で示すＳ８０１のウェブブラウザ１０１による処理を、拡張機能モジュール１００２が実行している。処理の内容としては、前述と同様である。
【００８７】
Ｓ１３０３の比較の結果、両者の更新日時が等しい、或は、ローカルデータもリモートデータも存在しない場合には、拡張機能モジュール１００２の処理はＳ１３０５に進む。
【００８８】
Ｓ１３０３の比較の結果、リモートデータがローカルデータよりも新しい、或は、リモートデータは存在するがローカルデータは存在しない場合、Ｓ１３０５に拡張機能モジュール１００２の処理が進む。Ｓ１３０３の比較の結果、ローカルデータがリモートデータよりも新しい、或は、ローカルデータは存在するがリモートデータは存在しない場合、Ｓ１３０４に拡張機能モジュール１００２の処理が進む。Ｓ１３０４〜Ｓ１３０７の処理は、図８で示すＳ８０２〜Ｓ８０５のウェブブラウザ１０１による処理を、拡張機能モジュール１００２が実行している。処理の内容としては、前述と同様である。
【００８９】
ここで、Ｓ１３０５での処理でウェブブラウザ１００１のＵＩ１０２を介して提供される警告メッセージ（図９）で、「キャンセル」ボタン９０２の押下が検出された場合には、機能拡張１００２がＳ１３０９で、ウェブページの再ロードを実行する。この再ロードに際しては、実行後に処理が呼び出し側であるウェブアプリケーションに戻らず、図１１のシーケンス図に示す処理が実行される。この処理によりローカルデータは、リモートデータで更新され、この更新データを使って、呼び出し元のウェブアプリケーションに対応するウェブページが再構成される。
【００９０】
Ｓ１３０８で、拡張機能モジュール１００２は、ウェブアプリケーションからの要求が書き込み要求か否かを検査する。ここで、書き込み要求であった場合にはＳ１３０９に進み、書き込み要求でなく読み出し要求の場合には本同期処理を終了する。
【００９１】
Ｓ１３０９、Ｓ１３１０の処理は、図７（ｂ）のＳ７１０、Ｓ７１１のウェブブラウザ１０１による処理を、拡張機能モジュール１００２が実行している。処理の内容としては、前述と同様である。
【００９２】
図１４は、拡張機能モジュール１００２が、ウェブブラウザ１００１で管理されるローカルデータに最初にアクセスする際に、ウェブブラウザ１００１がＵＩ０１２を介して提供する警告画面の例である。
【００９３】
図１４で示す警告画面では、拡張機能モジュール１００２によりローカルデータへのアクセスが行われようとしている旨のメッセージが含まれる。なお、拡張機能モジュール１００２のプログラム名をこのメッセージに表示してもよい。
【００９４】
データストレージ１０８により格納されるローカルデータには、個人情報や機密情報が含まれる可能性がある。ウェブブラウザ１００１は、拡張機能モジュール１００２がローカルデータにアクセスするためのＡＰＩを最初に呼び出した際に、この画面を表示することにより、拡張機能モジュール１００２がユーザに無許可でローカルデータにアクセスすることを防止する。
【００９５】
ウェブブラウザ１００１は、「はい」ボタン１４０１の押下を検出すると、拡張機能モジュール１００２のローカルデータへのアクセスが許可された旨を記憶すると共に、呼び出されたＡＰＩの実行を継続する。
【００９６】
一方で、「拡張機能を無効にする」ボタン１４０２の押下を検出すると、ウェブブラウザ１００１は、拡張機能モジュール１００２を無効にし、ＡＰＩを実行しない。さらに、ローカルデータへのアクセスの契機となったイベントに対応する処理の呼び出しを強制終了した後、他の処理を継続する。例えば、図１２で示すシーケンスでは、Ｓ１２０４の処理中に図１４で示す警告画面が表示される。ここで、ユーザによる「拡張機能を無効にする」ボタン１４０２の押下を検出すると、ウェブブラウザ１００１は、直ちにＳ１２０３の処理を強制終了し、Ｓ１２０２の、Ｓ１２０３の終了時点へと遷移する。即ち、拡張機能モジュール１００２によるローカルデータへのアクセスは実行されないが、ウェブアプリケーションによるローカルデータへのアクセスは実行されることになる。
【００９７】
（応用例）
実施例１及び２に記載のウェブブラウザについては、それぞれの種類に応じて、ローカルデータとして格納可能なデータサイズに上限がある。
【００９８】
ストレージサービス側にリモートデータとして格納可能なデータであっても、同期処理のタイミングでウェブブラウザのローカルデータとして格納しようとしても、その上限により格納できない場合があるかもしれない。
【００９９】
そこで、ウェブブラウザ１０１や拡張機能モジュール１００２が、リモートデータを取得する際に、上限サイズを超えるようならば、ローカルデータの中で更新日時が古いデータを削除することで同期処理を継続してもよい。なお、このような場合には、ＵＩ１０２を介して、確認画面を表示して、ユーザにローカルデータの削除を促してもよい。
【０１００】
（他の実施例）
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
【０１０１】
ここで、本発明は、上述した実施形態の機能を実現する１以上のソフトウェア（プログラム）を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の一つである。また、そのプログラムは、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給され、そのシステム或いは装置の１以上のコンピュータ（ＣＰＵやＭＰＵ等）によりそのプログラムが読み出され、実行される。つまり、本発明の一つとして、さらにそのプログラム自体、あるいは該プログラムを格納したコンピュータにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路（例えば、ＡＳＩＣ）によっても、本発明は実現可能である。
【符号の説明】
【０１０２】
１０１  ウェブブラウザ
２０１  モバイル端末
３０１  パーソナルコンピュータ
【図１】
0006482204.tif 000002
【図２】
0006482204.tif 000003
【図３】
0006482204.tif 000004
【図４】
0006482204.tif 000005
【図５】
0006482204.tif 000006
【図６】
0006482204.tif 000007
【図７】
0006482204.tif 000008
【図８】
0006482204.tif 000009
【図９】
0006482204.tif 000010
【図１０】
0006482204.tif 000011
【図１１】
0006482204.tif 000012
【図１２】
0006482204.tif 000013
【図１３】
0006482204.tif 000014
【図１４】
0006482204.tif 000015
【図１５】
0006482204.tif 000016
【図１６】
0006482204.tif 000017
【図１７】
0006482204.tif 000018