(57)【特許請求の範囲】
【請求項１】
第１のウェブブラウザが動作する第１の情報処理端末と、第２のウェブブラウザが動作する第２の情報処理端末と、共有サーバとを含むネットワークシステムであって、
前記共有サーバは、
第１のウェブブラウザでのウェブサイトにアクセスする第１のタブのアクセスデータと、当該ウェブサイトへのアクセスに際して第１のウェブブラウザのローカルで管理されるセッションストレージのデータとを、前記第１の情報処理端末に関連付けて管理する管理手段と、
前記第１のウェブブラウザの第１のタブを、前記第２のウェブブラウザで共有するための指示を受信する受信手段と、
前記指示に応じて、前記第２のウェブブラウザに対して前記第１のタブに係るアクセスデータとセッションストレージのデータとを送信する送信手段と、を有し、
前記管理手段は、前記送信されたセッションストレージのデータと前記第１の情報処理端末との関連付けを削除して、当該セッションストレージのデータと前記第２の情報処理端末とを関連付けて管理することを特徴とするネットワークシステム。
【請求項２】
前記第２のウェブブラウザは、前記指示に応じて前記送信手段により送信される前記第１のタブに係るセッションストレージのデータを、前記第２のウェブブラウザのローカルのセッションストレージとして管理し、前記第１のタブのアクセスデータに係るウェブサイトを表示することを特徴とする請求項１に記載のネットワークシステム。
【請求項３】
前記第２のウェブブラウザは、前記第１のウェブブラウザの第１のタブの表示指示を検知した場合、前記第１のウェブブラウザの第１のタブのセッションストレージのデータを前記第２のウェブブラウザの第２のタブに引き継ぐか否かの確認を行い、該引き継ぐことが確認された場合に、前記指示を前記共有サーバに送信することを特徴とする請求項２に記載のネットワークシステム。
【請求項４】
前記第２のウェブブラウザは、前記第１のウェブブラウザの第１のタブのセッションストレージのデータを前記第２のウェブブラウザの第２のタブに引き継ぐことを設定する設定手段を有し、
前記第２のウェブブラウザは、前記設定手段により前記引き継ぐ設定されている場合には、前記確認を行うことなく、前記指示を前記共有サーバに送信する、ことを特徴とする請求項３に記載のネットワークシステム。
【請求項５】
前記第１のタブに係るアクセスデータは、ＵＲＬを含むことを特徴とする請求項１乃至４のいずれか１項に記載のネットワークシステム。
【請求項６】
前記第１のウェブブラウザは、前記管理手段により、前記第２のウェブブラウザに対して送信されたセッションストレージのデータと前記第１の情報処理端末との関連付けが削除された場合、その旨をユーザに通知することを特徴とする請求項１乃至５のいずれか１項に記載のネットワークシステム。
【請求項７】
前記第１のウェブブラウザは、前記第１のウェブブラウザのローカルで管理される前記第１のタブに係るセッションストレージのデータと、前記管理手段で前記第１の情報処理端末に関連付けて管理される前記第１のタブに係るセッションストレージのデータとの比較により、前記セッションストレージのデータと前記第１の情報処理端末との関連付けが削除されたことを検知することを特徴とする請求項６に記載のネットワークシステム。
【請求項８】
第１のウェブブラウザが動作する第１の情報処理端末と、第２のウェブブラウザが動作する第２の情報処理端末と、共有サーバとを含むネットワークシステムの制御方法であって、
前記共有サーバが実行する、
第１のウェブブラウザでのウェブサイトにアクセスする第１のタブのアクセスデータと、当該ウェブサイトへのアクセスに際して第１のウェブブラウザのローカルで管理されるセッションストレージのデータとを、前記第１の情報処理端末に関連付けて管理手段が管理する記憶領域に格納するステップと、
前記第１のウェブブラウザの第１のタブを、前記第２のウェブブラウザで共有するための指示を受信する受信ステップと、
前記指示に応じて、前記第２のウェブブラウザに対して前記第１のタブに係るアクセスデータとセッションストレージのデータとを送信する送信ステップと、
前記送信されたセッションストレージのデータと前記第１の情報処理端末との関連付けを削除して、当該セッションストレージのデータと前記第２の情報処理端末とを関連付けて前記記憶領域に格納するステップと、
を有することを特徴とするネットワークシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステム、及び、ネットワークシステムの制御方法に関するものである。
【背景技術】
【０００２】
Ｗｅｂアプリケーションの高機能化に伴い、ＨＴＭＬ５では各種の機能拡張がなされている。拡張機能には、Ｗｅｂブラウザのための記憶領域に対して、データを格納するためのＷｅｂＳｔｏｒａｇｅやＩｎｄｅｘｅｄＤＢ機能がある。
【０００３】
ＷｅｂＳｔｏｒａｇｅの場合、Ｗｅｂサイトが閲覧されたタイミングで、そのサイトを提供するＷｅｂサーバ側から、データをＰＣ（Ｐｅｒｓｏｎａｌ Ｃｏｍｐｕｔｅｒ）やスマートフォンなどの情報端末の記憶領域に自動で格納することができる。このような拡張機能は、Ｗｅｂサイトを閲覧するＰＣやモバイル端末がオフラインであっても、ローカルにキャッシュしているデータを用いて、そのサイトが提供するサービスを利用可能にするものである。
【０００４】
また、近年、異なる情報端末のＷｅｂブラウザ間で開いているタブ情報を共有する技術が存在する。この技術により、例えば、タブレット端末のＷｅｂブラウザのタブで閲覧していたＷｅｂサイトを、携帯端末のＷｅｂブラウザで表示指示して閲覧することや、その逆も可能である。
【０００５】
特許文献１には、Ｗｅｂブラウザ間でデータ共有する従来技術が提案されている。
特許文献１の技術では、サーバがＷｅｂブラウザ間で共有可能と判断するデータをＷｅｂブラウザから受信し、保存する。次に、サーバは、別の情報端末のＷｅｂブラウザに対して保存したデータを転送することで、異なる情報端末のＷｅｂブラウザ間でデータの共有を実現している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−１２０６０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前述のＷｅｂＳｔｏｒａｇｅには、ＬｏｃａｌＳｔｏｒａｇｅとＳｅｓｓｉｏｎＳｔｏｒａｇｅの２種類のデータ保存形態が存在する。ＬｏｃａｌＳｔｏｒａｇｅは、情報端末上のＷｅｂブラウザの異なるタブ間で記憶領域のデータを共有する仕様である。一方、ＳｅｓｓｉｏｎＳｔｏｒａｇｅは、情報端末のＷｅｂブラウザの異なるタブ間において記憶領域のデータを共有しない仕様である。ＬｏｃａｌＳｔｏｒａｇｅとＳｅｓｓｉｏｎＳｔｏｒａｇｅとでは、このような仕様の違いがある。
【０００８】
前述したように、ＳｅｓｓｉｏｎＳｔｏｒａｇｅは、異なるタブ間においてデータ共有しない仕様である。よって、この仕様に従えば、ＳｅｓｓｉｏｎＳｔｏｒａｇｅを異なる情報処理装置の間で引き継いで共有利用することはできない。仮に、ＳｅｓｓｉｏｎＳｔｏｒａｇｅを異なる情報処理装置で共有利用するにしても、ＳｅｓｓｉｏｎＳｔｏｒａｇｅのデータを異なる情報処理装置で共有利用するのは本来の仕様に反するため、Ｗｅｂサイト側が意図した動作を実現できない可能性がある。
【０００９】
しかし、特許文献１のＷｅｂブラウザ間でデータ共有する技術では、このようなＳｅｓｓｉｏｎＳｔｏｒａｇｅ（セッションストレージ）のような、単一のＷｅｂブラウザの異なるタブ間でデータ共有しない仕様のデータに対する考慮がなされていない。このため、特許文献１の技術を利用して、ＳｅｓｓｉｏｎＳｔｏｒａｇｅのような単一のＷｅｂブラウザの異なるタブ間でデータ共有しない仕様のデータを、異なる情報処理装置のＷｅｂブラウザ間で共有利用したとしても、本来の仕様に反してしまうため、前述のように、Ｗｅｂサイト側が意図した動作を実現できない可能性があった。
【００１０】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、セッションストレージなどの単一のＷｅｂブラウザの異なるタブ間でデータ共有しない仕様のデータに対して、当該仕様を考慮したＷｅｂブラウザ間のデータ共有を実現する仕組みを提供することである。
【課題を解決するための手段】
【００１１】
本発明は、第１のウェブブラウザが動作する第１の情報処理端末と、第２のウェブブラウザが動作する第２の情報処理端末と、共有サーバとを含むネットワークシステムであって、前記共有サーバは、第１のウェブブラウザでのウェブサイトにアクセスする第１のタブのアクセスデータと、当該ウェブサイトへのアクセスに際して第１のウェブブラウザのローカルで管理されるセッションストレージのデータとを、前記第１の情報処理端末に関連付けて管理する管理手段と、前記第１のウェブブラウザの第１のタブを、前記第２のウェブブラウザで共有するための指示を受信する受信手段と、前記指示に応じて、前記第２のウェブブラウザに対して前記第１のタブに係るアクセスデータとセッションストレージのデータとを送信する送信手段と、を有し、前記管理手段は、前記送信されたセッションストレージのデータと前記第１の情報処理端末との関連付けを削除して、当該セッションストレージのデータと前記第２の情報処理端末とを関連付けて管理することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、セッションストレージなどの単一のＷｅｂブラウザの異なるタブ間でデータ共有しない仕様のデータに対して、当該仕様を考慮したＷｅｂブラウザ間のデータ共有を実現することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施例を示すネットワークシステムの構成図
【図２】Ｗｅｂブラウザの構成図
【図３】情報処理装置、データ共有サーバのハードウェア構成図
【図４】情報処理装置（タブレット等）のハードウェア構成図
【図５】ＳｅｓｓｉｏｎＳｔｏｒａｇｅのデータ構造例
【図６】異なるＷｅｂブラウザのタブの選択画面を例示する図
【図７】ＳｅｓｓｉｏｎＳｔｏｒａｇｅの引き継ぎ確認画面を例示する図
【図８】ＳｅｓｓｉｏｎＳｔｏｒａｇｅの削除通知画面を例示する図
【図９】データ共有設定画面を例示する図
【図１０】データ共有サーバで管理するデータモデルを例示する図
【図１１】データ共有サーバで管理するデータモデルのデータ例を示す図
【図１２】データ引き継ぎ後のデータモデルのデータ例を示す図
【図１３】情報処理装置で管理するデータモデルの一例
【図１４】異なるＷｅｂブラウザのタブを表示する際の処理のフローチャート
【図１５】データ共有サーバが引き継ぎ要求を受信した際の処理のフローチャート
【図１６】Ｗｅｂブラウザがデータを同期する際の処理のフローチャート
【図１７】実施例２の異なるＷｅｂブラウザのタブの選択画面を例示する図
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例１】
【００１５】
図１は、本発明の一実施例を示すネットワークシステムの構成を例示する図である。
図１において、情報処理装置１０４は、光回線などを介してプロバイダ１０３と通信し、プロバイダ１０３を介してインターネット１０２と繋がる情報処理端末であり、例えばＰＣ（パーソナルコンピュータ）などである。情報処理装置１０７は、基地局１０６と無線で通信し、コアネットワーク１０５を介してインターネット１０２と繋がる情報処理端末であり、例えばタブレット端末やスマートフォンなどである。
【００１６】
Ｗｅｂサーバ１０１は、インターネット１０２を介し、各情報処理装置にＷｅｂサイト（ウェブサイト）を提供するシステムである。データ共有サーバ１０８は、情報処理装置１０４、１０７間でデータを共有するためのサーバである。
なお、情報処理装置１０４、１０７は、図２の２０１に示すようなＷｅｂブラウザを実行可能であり、該Ｗｅｂブラウザを介してＷｅｂサーバ１０１が提供するＷｅｂサイトを閲覧可能である。
【００１７】
また、図１に示した例では、情報処理装置は１０４，１０７のみであるが、情報処理装置は何台あってもよい。さらに、情報処理装置は、１０４や１０７に示すような形態の装置に限定されるものではなく、図２の２０１に示すようなＷｅｂブラウザを実行可能なものであれば、どのような情報処理装置であってもよい。
さらに、Ｗｅｂサーバも特定のＷｅｂサーバに限定されるものではない。
【００１８】
図２は、本発明を適用可能なＷｅｂブラウザの全体構成を示すソフトウェアブロック図である。
図２において、２０１は本発明を適用可能なＷｅｂブラウザ（ウェブブラウザ）である。Ｗｅｂブラウザ２０１は、ＨＴＭＬ５におけるデータストレージの仕組みを実装したものである。
【００１９】
ユーザインタフェース（ＵＩ）２０２は、ＵＲＬ（Ｕｎｉｆｏｒｍ Ｒｅｓｏｕｒｃｅ Ｌｏｃａｔｏｒ）表示や、ブックマーク表示、Ｗｅｂブラウザの設定メニュー表示などを含むＷｅｂブラウザのＵＩである。
【００２０】
レンダリングエンジン（Ｒｅｎｄｅｒｉｎｇ Ｅｎｇｉｎｅ）２０４は、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ Ｍａｒｋｕｐ Ｌａｎｇｕａｇｅ）などの要求されたコンテンツの表示を行う。ブラウザエンジン（Ｂｒｏｗｓｅｒ Ｅｎｇｉｎｅ）２０３は、ＵＩ２０２とレンダリングエンジン２０４の間の処理を行う。
【００２１】
ネットワーキング（Ｎｅｔｗｏｒｋｉｎｇ）２０５は、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ Ｔｒａｎｓｆｅｒ Ｐｒｏｔｏｃｏｌ）リクエストなどのネットワークの呼び出しを受け付ける。ＪａｖａＳｃｒｉｐｔインタープリタ（ＪａｖａＳｃｒｉｐｔ Ｉｎｔｅｒｐｒｅｔｅｒ、以下、ＪＳインタープリタ）２０６は、ＪａｖａＳｃｒｉｐｔコードの解析と実行を行う（Ｊａｖａは登録商標）。
【００２２】
データストレージ２０７は、クッキーやＨＴＭＬ５のＦｉｌｅＳｙｓｔｅｍ、アプリケーションキャッシュ、ＷｅｂＳｔｏｒａｇｅ、ＩｎｄｅｘｅｄＤＢのデータを情報処理装置の記憶装置（例えば、図３に示すＨＤＤ３０８や図４に示す記憶装置４１６など）に保存する。なお、データストレージ２０７へのデータ保存や削除などの操作は、ＪａｖａＳｃｒｉｐｔに従い、制御可能である。
【００２３】
図３は、情報処理装置１０４、データ共有サーバ１０８、Ｗｅｂサーバ１０１のハードウェア構成を例示するブロック図である。
図３において、ＣＰＵ３０１は、ＲＡＭ３０３をワークメモリとして、ＲＯＭ３０２および記憶装置としてのハードディスクドライブ（ＨＤＤ）３０８に格納されたプログラムを実行し、システムバス３１２を介して後述する各構成を制御する。
【００２４】
ＨＤＤ３０８は、オペレーティングシステム（ＯＳ）や各種プログラムやデータを格納する。ＣＰＵ３０１は、ディスクコントローラ（ＤＫＣ）３０６を介して、ＨＤＤ３０８、ディスクドライブ３０９やネットワークインタフェイスカード（ＮＩＣ）３０７等にアクセスし、各種プログラム等をＨＤＤ３０８にインストールする。ＣＰＵ３０１は、ＮＩＣ３０７を介して、ネットワーク３１３を介した他のコンピュータ等とも通信可能である。なお、ＳＳＤ（Ｓｏｌｉｄ Ｓｔａｔｅ Ｄｒｉｖｅ）等の他の記憶装置を備えていてもよい。
【００２５】
ＣＰＵ３０１は、プログラムに従い、ビデオカード（ＶＣ）３０５を介してモニタ３１１にＵＩを表示する。ユーザは、キーボード（ＫＢ）３１０やマウスなどのポインティングデバイスを操作して、ＵＩに対する指示や入力を行なう。ＣＰＵ３０１は、キーボードコントローラ（ＫＢＣ）３０４を介してユーザ指示や入力を受け付け、ユーザ指示や入力に応じて様々な処理を実行する。
【００２６】
なお、情報処理装置１０４では、ＣＰＵ３０１がＨＤＤ３０８にインストールされたＷｅｂブラウザプログラムを実行することにより、図２に示したＷｅｂブラウザ２０１の機能を実現する。また、図３に示すハードウェア構成例は、本発明が適用可能な情報処理装置１０４の構成の一例である。従って、情報処理装置１０４に、図示以外のハードウェアを更に備えていても、また、ディスクドライブ３０９などの一部の構成が無くても、本発明に適用可能である。
【００２７】
図４は、Ｗｅｂブラウザ２０１が動作する情報処理装置１０７のハードウェア構成を例示するブロック図である。
図４に示すように、情報処理装置１０７は、アプリケーションプロセッサ（以下ＡＰ）４２０、ＲＯＭ４１４、ＲＡＭ４１５、Ｆｌａｓｈ ＳＳＤなどで構成される記憶装置４１６などを備える。
【００２８】
ＡＰ４２０は、ＲＯＭ４１４や記憶装置４１６に記憶されたプログラム（ソフトウェア）を実行し、ＡＰ４２０に接続された各デバイスを総括的に制御する。ＲＡＭ４１５は、ＡＰ４２０の主メモリあるいはワークエリアなどとして機能する。記憶装置４１６はフラッシュメモリ等からなる。記憶装置４１６は、オペレーティングシステム、Ｗｅｂブラウザ等の各種アプリケーション、データベースデータ、ユーザファイル等を記憶する。
【００２９】
さらに、情報処理装置１０７において、４２３はタッチスクリーンコントローラ（Ｔｏｕｃｈ Ｓｃｒｅｅｎ Ｃｏｎｔｒｏｌｌｅｒ）であり、同コントローラに接続されたタッチスクリーン（Ｔｏｕｃｈ Ｓｃｒｅｅｎ）４２４を制御する。
【００３０】
さらに、情報処理装置１０７において、４１７は無線ＬＡＮ制御部、４１８は移動体通信制御部、４１９は近距離無線通信制御部である。無線ＬＡＮ制御部４１７は、ＷｉＦｉ（Ｗｉｒｅｌｅｓｓ Ｆｉｄｅｌｉｔｙ）などの無線ＬＡＮ通信の制御を行う。移動体通信制御部４１８は、移動体通信（モバイル（Ｍｏｂｉｌｅ）通信など）の制御を行う。近距離無線通信制御部４１９は、近距離無線通信（ＮＦＣ；Ｎｅａｒ Ｆｉｅｌｄ Ｃｏｍｍｕｎｉｃａｔｉｏｎ）の制御を行う。
【００３１】
さらに、情報処理装置１０７において、４２１は電源制御部（Ｐｏｗｅｒ Ｃｏｎｔｒｏｌｌｅｒ）であり、充電池（Ｂａｔｔｅｒｙ）４２２への充電制御や電池残量の管理を行う。
【００３２】
なお、図４に示す例は、本発明が適用可能な情報処理装置１０７の構成の一例である。従って、情報処理装置１０７に、図示以外のネットワーク接続を提供するためのハードウェアや、カメラなどのハードウェアなどを更に備えていても、また、例えば距離無線通信制御部４１９などの一部の構成が無くても、本発明に適用可能である。
【００３３】
＜ＷｅｂＳｔｏｒａｇｅ＞
次に、ＷｅｂＳｔｏｒａｇｅの仕様について説明する。
ＷｅｂＳｔｏｒａｇｅには、ＬｏｃａｌＳｔｏｒａｇｅ（ローカルストレージ）とＳｅｓｓｉｏｎＳｔｏｒａｇｅ（セッションストレージ）の２種類のデータ保存形態が存在する。Ｗｅｂサイト上のアプリケーションは、用途に応じてこの２種類の保存形態を指定して、Ｗｅｂブラウザのデータストレージ２０７にデータを保存することができる。
【００３４】
＜ＬｏｃａｌＳｔｏｒａｇｅ＞
ＬｏｃａｌＳｔｏｒａｇｅでは、情報処理装置のＷｅｂブラウザ２０１の異なるタブ間において、データストレージ２０７に保存したＷｅｂサイトのデータを共有利用する仕様である。例えば、タブＡとタブＢで同じＷｅｂサイトを閲覧した場合、タブＡで保存したデータはタブＢでも使用できる。なお、ＬｏｃａｌＳｔｏｒａｇｅでは、Ｗｅｂブラウザ２０１やタブを終了した場合でも、データストレージ２０７に保存したＷｅｂサイトのデータの保存状態が維持される。
【００３５】
＜ＳｅｓｓｉｏｎＳｔｏｒａｇｅ＞
ＳｅｓｓｉｏｎＳｔｏｒａｇｅでは、情報処理装置のＷｅｂブラウザ２０１の異なるタブ間において、データストレージ２０７に保存したＷｅｂサイトのデータを共有利用しない仕様である。例えば、タブＡとタブＢで同じＷｅｂサイトを閲覧した場合、タブＡで保存したデータとタブＢで保存したデータはそれぞれ別々に管理される。ＳｅｓｓｉｏｎＳｔｏｒａｇｅでは、Ｗｅｂブラウザ２０１やタブを終了した時に、データストレージ２０７に保存したＷｅｂサイトのデータは削除される。
【００３６】
このような特徴から、ＳｅｓｓｉｏｎＳｔｏｒａｇｅは、一時的なデータを保存する用途で使用される。例えば、ショッピングサイトにおいて、ショッピングカートのセッションＩＤの保存や、ページ送りのある商品リストで現在表示中のページ番号の保存に使用される。ＳｅｓｓｉｏｎＳｔｏｒａｇｅでは、異なるタブ間で上記の情報を共有利用しないことで、Ｗｅｂブラウザ２０１の複数のタブで同じＷｅｂサイトを表示した際に、タブ間で情報を競合して変更し合うことを防ぐことができる。例えば、１つ目のタブで商品リストの１ページ目を表示し、商品比較のために別のタブで２ページ目を表示するようなユースケースで、２つ目のタブでページ送りの操作をしても１つ目のタブの表示に影響を与えない。
【００３７】
本実施例のネットワークシステムでは、ＳｅｓｓｉｏｎＳｔｏｒａｇｅのように、単一のＷｅｂブラウザの異なるタブ間でデータ共有しない仕様のデータを適切に移動し、複数の情報端末で実行されているＷｅｂブラウザ間で適切にタブを共有する構成について説明する。この構成により、複数の情報端末で実行されているＷｅｂブラウザ間でタブを共有する場合に、ＷｅｂＳｔｏｒａｇｅのＳｅｓｓｉｏｎＳｔｏｒａｇｅの情報まで適切に引き継ぐことが可能となる。よって、セッションストレージなどの単一のＷｅｂブラウザの異なるタブ間でデータ共有しない仕様のデータに対して、当該仕様を考慮したＷｅｂブラウザ間のデータ共有を実現することができる。
【００３８】
以下、単一のＷｅｂブラウザの異なるタブ間でデータ共有しない仕様のデータの一例として、ＳｅｓｓｉｏｎＳｔｏｒａｇｅを用いて、本発明の説明を行うが、本発明は、これに限定されるものではない。
【００３９】
＜ＳｅｓｓｉｏｎＳｔｏｒａｇｅのデータ構造＞
図５は、ＳｅｓｓｉｏｎＳｔｏｒａｇｅのデータ構造を表すＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ Ｏｂｊｅｃｔ Ｎｏｔａｔｉｏｎ）形式の一例を示す図である。
Ｗｅｂブラウザ２０１の１つのタブに対して、１つのＳｅｓｓｉｏｎＳｔｏｒａｇｅが管理される。
【００４０】
ＷｅｂＳｉｔｅ５０１は、Ｗｅｂサイトを識別する情報を表す。１つのＳｅｓｓｉｏｎＳｔｏｒａｇｅに、１つ以上のＷｅｂＳｉｔｅ５０１を管理できる。近年、１つのＷｅｂサイトにＷｅｂサイトとドメインの異なるサードパーティの広告やウィジェットを表示するＷｅｂサイトがあり、その場合、ＷｅｂＳｉｔｅ５０１は複数になる。
【００４１】
Ｓｔｏｒａｇｅ５０２は、ＷｅｂＳｉｔｅ５０１に対して保存されたデータを表し、ＫｅｙとＶａｌｕｅでデータを管理する。１つのＷｅｂＳｉｔｅ５０１に対して、０個以上のＫｅｙとＶａｌｕｅの組み合わせを管理できる。なお、管理されているＫｅｙとＶａｌｕｅの組み合わせが０個の場合は、対応するＷｅｂＳｉｔｅ５０１に対してＳｅｓｓｉｏｎＳｔｏｒａｇｅを保存していない状態を表す。
なお、ＳｅｓｓｉｏｎＳｔｏｒａｇｅのデータ構造は、図５に示すデータ構造に限定されるものではなく、さらにＪＳＯＮ形式に限定されるものでもない。
【００４２】
図６は、情報処理装置１０７のＷｅｂブラウザ２０１で開いているタブを、情報処理装置１０４から共有利用する際に、情報処理装置１０４のＷｅｂブラウザ２０１に表示される画面の一例を示す図である。
【００４３】
以下では、共有元の情報処理装置１０７を共有元情報処理装置１０７と称し、共有先として閲覧している情報処理装置１０４を閲覧情報処理装置１０４と称する。また本実施例では、情報処理装置１０７のタブ情報を情報処理装置１０４から共有利用している場合を説明しているが、情報処理装置１０４のタブ情報を情報処理装置１０７から共有利用してもよく、共有利用方法は同様である。
【００４４】
図６において、６００は、閲覧情報処理装置１０４のＷｅｂブラウザ２０１に表示される画面である。メニューボタン６０１は、Ｗｅｂブラウザ２０１の機能を呼び出すためのボタンである。メニューボタン６０１が押下されると、Ｗｅｂブラウザ２０１は、「データ共有」を含む機能一覧（不図示）を表示する。そして、機能一覧から「データ共有」が選択されると、Ｗｅｂブラウザ２０１は、データ共有カテゴリ６０２を表示する。データ共有カテゴリ６０２は、共有元情報処理装置１０７のデータを共有利用するためのメニュー（例えば６０３〜６０５）を表示する。図６の例では、「他デバイスのタブを表示」６０３、「ブックマーク」６０４、「閲覧履歴」６０５の３つのメニューを表示している。
【００４５】
なお、データ共有を行うためには、データ共有のためのアカウントを作成し、各情報処理装置１０４、１０７のＷｅｂブラウザ２０１の後述する図９に例示する画面からログイン処理を行い、データ共有サーバ１０８において、各情報処理装置１０４、１０７が同じアカウントで紐づけられて管理されている必要がある。
【００４６】
「他デバイスのタブを表示」６０３は、共有元情報処理装置１０７で開いているタブを選択して、閲覧情報処理装置１０４のＷｅｂブラウザ２０１に表示するためのものである。「他デバイスのタブを表示」６０３が選択されると、Ｗｅｂブラウザ２０１は、表示タブ一覧６０６を表示する。
【００４７】
表示タブ一覧６０６は、「タブレット」端末である共有元情報処理装置１０７で開いているタブの一覧を表示するためのもので、図６の例では、共有元情報処理装置１０７で「ショッピング」、「ブログ」、「地図サイト」を３つのタブで開いている状態である。そして、表示タブ一覧６０６の中から表示したいタブを選択することで、閲覧情報処理装置１０４のＷｅｂブラウザ２０１で所望のタブを開くことができる。
【００４８】
なお、「ブックマーク」６０４は、共有元情報処理装置１０７のブックマークを選択し、表示するためのものである。また、「閲覧履歴６０５」は、共有元情報処理装置１０７の閲覧履歴を選択し、表示するためのものである。
【００４９】
本実施例では、データ共有機能として、「他デバイスのタブを表示」６０３、「ブックマーク」６０４、「閲覧履歴」６０５を例示しているが、本発明では、データ共有機能をこれらの３つに限定するものではない。
【００５０】
「他デバイスのタブを表示」６０２により、例えば自宅のタブレット（共有元情報処理装置１０７）で閲覧したショッピングサイトを、別の場所のＰＣ（閲覧情報処理装置１０４）から閲覧することができる。しかし、前述したように、ＳｅｓｓｉｏｎＳｔｏｒａｇｅは、異なるタブ間においてデータ共有しない仕様である。よって、この仕様に従えば、前述した例において、自宅のタブレット（共有元情報処理装置１０７）で閲覧していたショッピングサイトのページ番号やショッピングカートの内容を、別の場所のＰＣ（閲覧情報処理装置１０４）で引き継いで閲覧することができない。仮に、ＳｅｓｓｉｏｎＳｔｏｒａｇｅを異なる情報処理装置で共有利用するにしても、ＳｅｓｓｉｏｎＳｔｏｒａｇｅのデータを異なる情報処理装置で共有利用するのは本来の仕様に反するため、従来の方法では、Ｗｅｂサイト側が意図した動作を実現できない可能性がある。先の例で言えば、別の場所のＰＣを継続して閲覧している際に、家族等が自宅のタブレット（共有元情報処理装置１０７）を操作すると、ＰＣ（閲覧情報処理装置１０４）側のページ番号やショッピングカートを競合して変更するため、意図しないページに遷移したり、意図しないショッピングカートの変更が行われる可能性がある。
そこで、異なるタブ間でデータ共有しないというＳｅｓｓｉｏｎＳｔｏｒａｇｅの仕様を考慮した、他デバイスのタブ表示機能が必要となる。以下、本実施例では、このような点を考慮した他デバイスのタブ表示機能について説明する。
【００５１】
図７は、閲覧情報処理装置１０４から共有元情報処理装置１０７のタブを閲覧指示した際に、閲覧情報処理装置１０４のＷｅｂブラウザ２０１に表示される、ＳｅｓｓｉｏｎＳｔｏｒａｇｅの引き継ぎ確認画面の一例を示す図である。なお、上記閲覧指示は、例えば図６の表示タブ一覧６０６から「ショッピング」、「ブログ」、「地図サイト」等を選択することにより行われる。
【００５２】
図７において、７００は、ＳｅｓｓｉｏｎＳｔｏｒａｇｅの引き継ぎ確認画面である。引き継ぎ確認画面７００は、閲覧指示された共有元情報処理装置１０７のタブがＳｅｓｓｉｏｎＳｔｏｒａｇｅにデータを保存していた場合に表示される。
【００５３】
引き継ぐボタン７０１は、共有元情報処理装置１０７のデータストレージ２０７に保存していたＳｅｓｓｉｏｎＳｔｏｒａｇｅのデータを、閲覧情報処理装置１０４のデータストレージ２０７に保存したうえで、閲覧指示したタブを表示し、さらに共有元情報処理装置１０７のデータストレージ２０７から、該当タブに紐づくＳｅｓｓｉｏｎＳｔｏｒａｇｅのデータを削除するためのものである。これにより、閲覧情報処理装置１０４から共有元情報処理装置１０７の閲覧時の状態を継続したまま閲覧指示したタブを表示することができる。さらに、共有元情報処理装置１０７のデータを削除することで、異なるタブ間でＳｅｓｓｉｏｎＳｔｏｒａｇｅのデータを共有利用しないという仕様を実現できる。したがって、例えば、閲覧情報処理装置１０４で閲覧している際に、共有元情報処理装置１０７が操作されても、閲覧情報処理装置１０４側のページ番号やショッピングカートが競合して変更されることがなく、意図しないページに遷移したり、意図しないショッピングカートの変更が行われることを防止することができる。
【００５４】
引き継がないボタン７０２は、共有元情報処理装置１０７のＳｅｓｓｉｏｎＳｔｏｒａｇｅのデータを閲覧情報処理装置１０４に引き継ぐことなく、閲覧指示したタブを表示するためのものである。キャンセルボタン７０３は、閲覧指示をキャンセルするためのものである。
【００５５】
図８は、ＳｅｓｓｉｏｎＳｔｏｒａｇｅのデータを削除された共有元情報処理装置１０７のＷｅｂブラウザ２０１に表示する削除通知画面の一例を示す図である。
図８において、８００は削除通知画面である。削除通知画面８００は、図７の引き継ぐボタン７０１で閲覧情報処理装置１０４にＳｅｓｓｉｏｎＳｔｏｒａｇｅのデータを保存し、共有元情報処理装置１０７からデータ削除した際に表示される。
【００５６】
確認ボタン８０１を押下することで、ＳｅｓｓｉｏｎＳｔｏｒａｇｅのデータが存在しない状態から、Ｗｅｂサイトを閲覧することができる。なお、削除通知画面８００には、削除指示した閲覧情報処理装置１０４の情報や、削除指示された日時などを表示してもよい。
【００５７】
図９は、情報処理装置１０４、１０７のＷｅｂブラウザ２０１に表示するデータ共有設定画面の一例を示す図である。
図９において、９００はデータ共有設定画面である。データ共有設定画面９００は、図６のメニューボタン６０１が押下され、機能一覧（不図示）から「データ共有設定」が選択された場合などに表示される。
【００５８】
アカウント入力画面９０１は、データ共有する範囲を識別するための情報で、アカウントとパスワードを入力し、認証９０２を押下することでデータ共有サーバ１０８にアカウント情報と情報処理装置とを関連付ける情報が登録される。
【００５９】
共有データ選択チェックボックス９０３は、情報処理装置の間で共有利用したいデータを選択するためのもので、ここで選択されたデータがデータ共有サーバ１０８とデータ同期される。図９の例では、ブックマーク、閲覧履歴、タブを選択できるようにしているが、これらのデータに限定されるものではない。
【００６０】
チェックボックス９０４は、ＳｅｓｓｉｏｎＳｔｏｒａｇｅを使用しているタブを選択した際に、図７の引き継ぎ確認画面７００を表示することなく常にＳｅｓｓｉｏｎＳｔｏｒａｇｅを引き継ぐ設定を行うためのものである。このチェックボックス９０４にチェックを入れることにより、ユーザは図７の引き継ぎ確認画面７００で引き継ぐボタン７０１を選択する手間を省くことができる。
【００６１】
ＯＫボタン９０６を押下すると、前述した設定がＷｅｂブラウザ２０１に保存される。キャンセルボタン９０５は、前述した設定を破棄し、本画面の表示前の状態に戻すためのものである。
【００６２】
図１０は、データ共有サーバ１０８で管理するデータモデルの一例を示す図である。なお、図中、データ間に記載した数値は、ＵＭＬ（Ｕｎｉｆｉｅｄ Ｍｏｄｅｌｉｎｇ Ｌａｎｇｕａｇｅ）で規定された多重度の表記方法であり、関連するデータの範囲を「下限．．上限（＊は無限）」の形式で定義する。例えば「０．．＊」は、０個以上のデータが紐づくことを表す。
【００６３】
アカウント情報１００１は、データ共有する範囲を識別するための情報で、アカウント情報１００１には１つ以上の情報処理装置１００２が紐づく。アカウント情報１００１に紐づく情報処理装置１００２の間で、データを共有することができる。なお、上記のデータ共有用のアカウントとは別に、Ｗｅｂブラウザ２０１がユーザ管理機能を持つ場合、同じデータ共有アカウントで、且つ同じＷｅｂブラウザユーザの範囲でデータ共有するようにしてもよい。
【００６４】
表示タブ情報１００６は、情報処理装置１００２のＷｅｂブラウザ２０１で開いているタブの情報で、情報処理装置１００２に０個以上紐づく。表示タブ情報１００６は、そのタブで開いているＷｅｂサイトのＵＲＬやページタイトル、さらに表示タブ情報１００６を更新したタイムスタンプなどの情報を含む。
【００６５】
ＳｅｓｓｉｏｎＳｔｏｒａｇｅ１００７は、表示タブ情報１００６に０個以上紐づく。なお、紐づくＳｅｓｓｉｏｎＳｔｏｒａｇｅ１００７が０個の場合は、そのタブで開いているＷｅｂサイトでＳｅｓｓｉｏｎＳｔｏｒａｇｅを使用していない状態を表す。
【００６６】
閲覧履歴情報１００４は、図６の閲覧履歴６０５のデータ共有機能で使用する情報で、情報処理装置１００２に０個以上紐づく。閲覧履歴情報１００４は、閲覧履歴に登録されたＷｅｂサイトのＵＲＬやページタイトル、さらに閲覧履歴情報１００４を更新したタイムスタンプなどの情報を含む。また、ブックマーク情報１００５は、図６のブックマーク６０４のデータ共有機能で使用する情報で、情報処理装置１００２に０個以上紐づく。ブックマーク情報１００５は、ブックマークに登録されたＷｅｂサイトのＵＲＬやページタイトル、さらにブックマーク情報１００５を更新したタイムスタンプなどの情報を含む。
【００６７】
上記の中で、閲覧履歴情報１００４、ブックマーク情報１００５、表示タブ情報１００６はそれぞれ共有データであり、情報処理装置１０４、１０７がデータ共有サーバ１０８と接続した際に、各情報処理装置のＷｅｂブラウザ２０１がそれぞれ各情報処理装置のデータストレージ２０７にデータを複製して保存する。
一方、ＳｅｓｓｉｏｎＳｔｏｒａｇｅ１００７は、前述した仕様から非共有データであり、情報処理装置１０４、１０７はデータ共有サーバ１０８と接続したとしても、各情報処理装置にデータを複製して保存しない。なお、図１０に示す例はデータモデルの一例であり、これに限定されるものではない。
【００６８】
図１１は、データ共有サーバ１０８で管理するデータモデルのデータ例を示す図である。
図１１の例では、タブレットである共有元情報処理装置１０７のＷｅｂブラウザ２０１で３つのタブを開き、ＰＣである閲覧情報処理装置１０４のＷｅｂブラウザ２０１ではタブを開いていない状態を表している。
【００６９】
アカウント情報１１０１と情報処理装置１１０２は、前述したアカウント情報１１０１と情報処理装置１１０２であり、図１１の例ではアカウント：ｕｓｅｒ０１＠ｘｘｘ．ｃｏｍに、情報処理装置：タブレットとＰＣが紐づいている。
【００７０】
タブＩＤ１１０３、ＵＲＬ１１０４、ページタイトル１１０５は、表示タブ情報１００６の一例である。タブＩＤ１１０３は、Ｗｅｂブラウザ２０１で表示しているタブを示すユニークなＩＤである。ＵＲＬ１１０４は、タブで開いているＷｅｂサイトのＵＲＬである。ページタイトルは、そのＷｅｂサイトのページタイトルである。
【００７１】
ＳｅｓｓｉｏｎＳｔｏｒａｇｅ１１０６は、ＳｅｓｓｉｏｎＳｔｏｒａｇｅ１００７の一例であり、ＳｅｓｓｉｏｎＳｔｏｒａｇｅを使用しているタブについては図５で前述した情報を管理する。一方、ＳｅｓｓｉｏｎＳｔｏｒａｇｅを使用していないタブについては空欄になっている。
【００７２】
タイムスタンプ１１０７は、データ共有サーバ１０８が各レコードを変更した日時を表す。
ブックマーク情報１００５、閲覧履歴情報１００４については、図１１には示していないが、他の情報と同様に管理されている。なお、図１１に示すデータのあくまで一例であり、データ管理方法やデータ形式はこれに限定されるものではない。
【００７３】
図１２は、データ共有サーバ１０８で管理するデータモデルのデータ引き継ぎ後のデータ例を示す図である。
図１２に示すデータ例は、図１１に例示したデータの状態から、図６の６０６で「ショッピング」を選択し、図７で引き継ぐボタン７０１を用いて、閲覧情報処理装置１０４から共有元情報処理装置１０７のＳｅｓｓｉｏｎＳｔｏｒａｇｅを引き継いだ後の状態を表す。
【００７４】
ＰＣである閲覧情報処理装置１０４から、タブレットである共有元情報処理装置１０７の１行目のタブの表示とＳｅｓｓｉｏｎＳｔｏｒａｇｅを引き継ぐ指示を受信すると、データ共有サーバ１０８は、ＰＣである閲覧情報処理装置１０４にＳｅｓｓｉｏｎＳｔｏｒａｇｅ１２０６を移動する。
【００７５】
さらに、データ共有サーバ１０８は、ＳｅｓｓｉｏｎＳｔｏｒａｇｅ１２０６の情報を変更したため、１行目と４行目のタイムスタンプ１２０７を変更日時で変更する。図１６で後述するが、タイムスタンプ１２０７に基づいて共有元情報処理装置１０７が１行目のデータを同期することで、共有元情報処理装置１０７は、共有元情報処理装置１０７のデータストレージ２０７に保存されていたＳｅｓｓｉｏｎＳｔｏｒａｇｅを削除する。
【００７６】
図１３は、情報処理装置１０４、１０７で管理するデータモデルの一例を示す図である。
図１３に示すデータ１３０１〜１３０６は、図１０で前述したデータ共有サーバ１０８のデータ１１０１〜１１０６と同じである。なお、ＳｅｓｓｉｏｎＳｔｏｒａｇｅ１３０７は非共有データであるため、他の情報処理装置の情報は保存しない。
例えば、情報処理装置１０４は、データ共有サーバ１０８で管理する情報処理装置１０４のＳｅｓｓｉｏｎＳｔｏｒａｇｅのみ保存し、情報処理装置１０７のＳｅｓｓｉｏｎＳｔｏｒａｇｅは保存しない。同様に、情報処理装置１０７は、データ共有サーバ１０８で管理する情報処理装置１０７のＳｅｓｓｉｏｎＳｔｏｒａｇｅのみ保存し、情報処理装置１０４のＳｅｓｓｉｏｎＳｔｏｒａｇｅは保存しない。
【００７７】
図１４は、閲覧情報処理装置のＷｅｂブラウザ２０１が、共有元情報処理装置のタブを表示する際の処理を例示するフローチャートである。このフローチャートに示す処理は、Ｗｅｂブラウザ２０１が動作する情報処理装置１０４のＣＰＵ３０１がＨＤＤ３０８等に格納される各プログラムを実行することにより実現される。なお、情報処理装置１０７で閲覧する場合には、ＡＰ４２０が記憶装置４１６等に格納される各プログラムを実行することにより実現される。また、図中の'Ｓ'を付した符号はステップを示す。
【００７８】
Ｗｅｂブラウザ２０１は、Ｓ１４０１において、図６の画面から他の情報処理装置のタブの表示指示（例えば図６の表示タブ一覧６０６から「ショッピング」、「ブログ」、「地図サイト」等を選択）されたことを検知すると、Ｓ１４０２に処理を進める。
Ｓ１４０２において、Ｗｅｂブラウザ２０１は、データ共有サーバ１０８に問い合わせ、上記Ｓ１４０１で表示指示されたタブでＳｅｓｓｉｏｎＳｔｏｒａｇｅ１００７が使用されているか否かを確認する。
【００７９】
なお、図５で前述したように、ＳｅｓｓｉｏｎＳｔｏｒａｇｅはサードパーティを含む複数のＷｅｂサイトの情報を保存することができる。そこで、Ｓ１４０２で確認を行う際に、表示指示されたタブのＷｅｂサイトと同じドメインのＷｅｂＳｉｔｅ５０１のＳｅｓｓｉｏｎＳｔｏｒａｇｅが存在するかを確認してもよい。これにより、表示指示されたタブのＷｅｂサイトと直接関係のない、サードパーティの広告やウィジェットがＳｅｓｓｉｏｎＳｔｏｒａｇｅを使用していた場合に、無用に引継ぎ確認を表示することを防ぐことができる。
【００８０】
次に、Ｓ１４０３において、Ｗｅｂブラウザ２０１は、上記Ｓ１４０２の確認結果に基づいて、上記Ｓ１４０１で表示指示されたタブでＳｅｓｓｉｏｎＳｔｏｒａｇｅ１００７が使用されているか否かを判定する。
【００８１】
そして、表示指示されたタブでＳｅｓｓｉｏｎＳｔｏｒａｇｅ１００７が使用されていると判定した場合（Ｓ１４０３でＹｅｓの場合）、Ｗｅｂブラウザ２０１は、Ｓ１４０４に処理を進める。
Ｓ１４０４において、Ｗｅｂブラウザ２０１は、図７のＳｅｓｓｉｏｎＳｔｏｒａｇｅを引き継ぐか否かの確認画面７００を表示し、Ｓ１４０５に処理を進める。
【００８２】
Ｓ１４０５において、Ｗｅｂブラウザ２０１は、上記Ｓ１４０４で表示した確認画面７００において引き継ぐ指示（図７の引き継ぐボタン７０１の押下）が行われたか否かを判定する。
そして、引き継ぐ指示が行われたと判定した場合（Ｓ１４０５でＹｅｓの場合）、Ｗｅｂブラウザ２０１は、Ｓ１４０６に処理を進める。
【００８３】
Ｓ１４０６において、Ｗｅｂブラウザ２０１は、データ共有サーバ１０８に、上記Ｓ１４０１で表示指示されたタブのＳｅｓｓｉｏｎＳｔｏｒａｇｅの引き継ぎ要求を送信して、該データ共有サーバ１０８から、上記Ｓ１４０１で表示指示されたタブのＳｅｓｓｉｏｎＳｔｏｒａｇｅ１００７を取得し、データストレージ２０７に保存し（ローカルで管理し）、Ｓ１４０７に処理を進める。なお、ＳｅｓｓｉｏｎＳｔｏｒａｇｅの引き継ぎ要求は、共有元情報処理装置のウェブブラウザのタブを、ＳｅｓｓｉｏｎＳｔｏｒａｇｅを引き継いで閲覧情報処理装置のウェブブラウザで共有するための指示に対応する。ＳｅｓｓｉｏｎＳｔｏｒａｇｅの引き継ぎ要求を受信したデータ共有サーバ１０８は、該ＳｅｓｓｉｏｎＳｔｏｒａｇｅの引き継ぎ要求の送信元となるＷｅｂブラウザ２０１に対して、上記Ｓ１４０１で表示指示されたタブに係るアクセスデータ（ＵＲＬ等）とＳｅｓｓｉｏｎＳｔｏｒａｇｅのデータとを送信する。このデータが、上記Ｓ１４０６においてＷｅｂブラウザ２０１で受信されるデータとなる。なお、上記データ共有サーバ１０８によるＳｅｓｓｉｏｎＳｔｏｒａｇｅの送信処理と、後述する図１５のＳ１５０２〜Ｓ１５０３の処理は、いずれの処理が先であっても、並列して実行されるものでもよい。
【００８４】
また、上記Ｓ１４０３において、表示指示されたタブでＳｅｓｓｉｏｎＳｔｏｒａｇｅ１００７が使用されていないと判定した場合（Ｓ１４０３でＮｏの場合）、Ｗｅｂブラウザ２０１は、そのままＳ１４０７に処理を進める。
また、上記Ｓ１４０５において、引き継ぐ指示が行われなかった（図７の引き継がないボタン７０２が押下された）と判定した場合（Ｓ１４０５でＮｏの場合）にも、Ｗｅｂブラウザ２０１は、そのままＳ１４０７に処理を進める。
【００８５】
Ｓ１４０７において、Ｗｅｂブラウザ２０１は、上記Ｓ１４０１で表示指示されたタブのＷｅｂサイトを表示する。この際、Ｗｅｂブラウザ２０１は、上記Ｓ１４０６でＳｅｓｓｉｏｎＳｔｏｒａｇｅを取得している場合には、該ＳｅｓｓｉｏｎＳｔｏｒａｇｅを使用して、上記表示指示されたタブのＷｅｂサイトを表示する。
なお、図示しないが、図７のキャンセルボタン７０３が押下されたと判定した場合には、Ｗｅｂブラウザ２０１は、Ｓ１４０７を実行することなく、本フローチャートの処理を終了する。
【００８６】
なお、本実施例では、上記Ｓ１４０６のＳｅｓｓｉｏｎＳｔｏｒａｇｅの取得と、上記Ｓ１４０７のＷｅｂサイトの表示をシーケンシャルに行っているが、この処理を並列に行うことで表示速度を速めるようにしてもよい。
【００８７】
また、チェックボックス９０４によりＳｅｓｓｉｏｎＳｔｏｒａｇｅを常に引き継ぐ設定がなされている場合には、Ｓ１４０３でＹｅｓと判断した場合、Ｗｅｂブラウザ２０１は、Ｓ１４０４の処理をスキップし、且つ、Ｓ１４０５でＹｅｓと判断し、Ｓ１４０６に処理を進めるものとする。
【００８８】
図１５は、データ共有サーバ１０８がＳｅｓｓｉｏｎＳｔｏｒａｇｅの引き継ぎ要求を受信した際の処理を例示するフローチャートである。このフローチャートに示す処理は、データ共有サーバ１０８のＣＰＵ３０１がＨＤＤ３０８等に格納される各プログラムを実行することにより実現される。また、図中の'Ｓ'を付した符号はステップを示す。
【００８９】
データ共有サーバ１０８は、Ｓ１５０１において、閲覧情報処理装置１０４のＷｅｂブラウザ２０１からＳｅｓｓｉｏｎＳｔｏｒａｇｅの引き継ぎ要求（ＳｅｓｓｉｏｎＳｔｏｒａｇｅを特定する情報を含む）を受信すると、Ｓ１５０２に処理を進める。
【００９０】
Ｓ１５０２において、データ共有サーバ１０８は、上記Ｓ１５０１で受信した引き継ぎ要求に対応する共有元情報処理装置１０７のＳｅｓｓｉｏｎＳｔｏｒａｇｅ１００７を、閲覧情報処理装置１０４のＳｅｓｓｉｏｎＳｔｏｒａｇｅ１００７に移動させる。この時、図１２で前述したように、共有元情報処理装置１０７から閲覧情報処理装置１０４にＳｅｓｓｉｏｎＳｔｏｒａｇｅをコピーするのではなく、データ移動することで、共有元情報処理装置１０７の該当タブからＳｅｓｓｉｏｎＳｔｏｒａｇｅ１００７を削除する。
【００９１】
最後に、Ｓ１５０３において、データ共有サーバ１０８は、データ共有サーバ１０８で管理する、共有元情報処理装置１０７と閲覧情報処理装置１０４のデータのタイムスタンプ１１０７を更新する。
【００９２】
なお、図示しないが、データ共有サーバ１０８は、上記Ｓ１５０１で受信したＳｅｓｓｉｏｎＳｔｏｒａｇｅの引き継ぎ要求の送信元に対応するＷｅｂブラウザ２０１に対して、該引き継ぎ要求に係るアクセスデータ（ＵＲＬ等）とＳｅｓｓｉｏｎＳｔｏｒａｇｅのデータとを送信する。このデータが図１４のＳ１４０６で取得されるＳｅｓｓｉｏｎＳｔｏｒａｇｅのデータとなる。このデータ共有サーバ１０８によるＳｅｓｓｉｏｎＳｔｏｒａｇｅの送信処理と、上記Ｓ１５０２〜Ｓ１５０３の処理は、いずれの処理が先であっても、並列して実行されるものでもよい。
【００９３】
図１６は、情報処理装置１０４、１０７のＷｅｂブラウザ２０１が、データ共有サーバ１０８とデータストレージ２０７のデータを同期する際の処理（データ同期処理）を例示するフローチャートである。このフローチャートの処理は、情報処理装置１０４で実行される場合、Ｗｅｂブラウザ２０１が動作する情報処理装置１０４のＣＰＵ３０１がＨＤＤ３０８等に格納される各プログラムを実行することにより実現される。また、このフローチャートの処理は、情報処理装置１０７で実行される場合、Ｗｅｂブラウザ２０１が動作する情報処理装置１０７のＡＰ４２０が記憶装置４１６等に格納される各プログラムを実行することにより実現される。
【００９４】
Ｗｅｂブラウザ２０１は、Ｓ１６０１において、当該Ｗｅｂブラウザ２０１が動作する情報処理装置がオンライン状態であるかを確認する。そして、オンライン状態であると判定した場合（Ｓ１６０１でＹｅｓの場合）、Ｗｅｂブラウザ２０１は、Ｓ１６０２に処理を進める。
【００９５】
Ｓ１６０２において、Ｗｅｂブラウザ２０１は、データ共有サーバ１０８と接続し、当該Ｗｅｂブラウザ２０１を実行している情報処理装置で管理する表示タブ情報１３０６に含まれるタイムスタンプと、データ共有サーバ１０８で管理するタイムスタンプ１００６を比較する。そして、データ共有サーバ１０８のタイムスタンプの方が新しいと判定した場合（Ｓ１６０２で「データ共有サーバが新しい」の場合）、Ｗｅｂブラウザ２０１は、Ｓ１６０３に処理を進める。
【００９６】
Ｓ１６０３では、Ｗｅｂブラウザ２０１は、取得対象のデータが当該Ｗｅｂブラウザ２０１を実行している情報処理装置と同じか否かを判定する。
そして、取得対象のデータが当該Ｗｅｂブラウザ２０１を実行している情報処理装置と異なると判定した場合（Ｓ１６０３でＮｏの場合、例えばＰＣ１０４がタブレット１０７の表示タブ情報を取得する場合等）、Ｗｅｂブラウザ２０１は、Ｓ１６０４に処理を進める。
【００９７】
Ｓ１６０４において、Ｗｅｂブラウザ２０１は、データ共有サーバ１０８の非共有データ（ＳｅｓｓｉｏｎＳｔｏｒａｇｅ１００７）を除いて表示タブ情報を取得し、データストレージ２０７を更新し、本フローチャートの処理を終了する。
【００９８】
一方、上記Ｓ１６０３において、取得対象のデータが当該Ｗｅｂブラウザ２０１を実行している情報処理装置と同じであると判定した場合（Ｓ１６０３でＹｅｓの場合、例えばＰＣ１０４がＰＣ１０４の表示タブ情報を取得する場合等）、Ｗｅｂブラウザ２０１は、Ｓ１６０５に処理を進める。
【００９９】
Ｓ１６０５において、Ｗｅｂブラウザ２０１は、非共有データ（ＳｅｓｓｉｏｎＳｔｏｒａｇｅ１００７）も含めて表示タブ情報１００６を取得し、データストレージ２０７を更新する。
【０１００】
次に、Ｓ１６０６において、Ｗｅｂブラウザ２０１は、他の情報処理装置から引き継ぎ指示によってＳｅｓｓｉｏｎＳｔｏｒａｇｅのデータが移動されたか否かを判定する。例えば、自身で保持するＳｅｓｓｉｏｎＳｔｏｒａｇｅ１３０７が、上記Ｓ１６０５で取得したＳｅｓｓｉｏｎＳｔｏｒａｇｅ１００７では存在しない場合、他の情報処理装置から引き継ぎ指示によってＳｅｓｓｉｏｎＳｔｏｒａｇｅのデータが移動されたと判断する。
【０１０１】
そして、他の情報処理装置から引き継ぎ指示によってＳｅｓｓｉｏｎＳｔｏｒａｇｅのデータが移動されたと判定した場合（Ｓ１６０６でＹｅｓの場合）、Ｗｅｂブラウザ２０１は、Ｓ１６０８に処理を進める。
Ｓ１６０８において、Ｗｅｂブラウザ２０１は、ＳｅｓｓｉｏｎＳｔｏｒａｇｅが削除されたことを表示する画面（図８の削除通知画面８００）を表示し、本フローチャートの処理を終了する。
【０１０２】
一方、上記Ｓ１６０６において、他の情報処理装置によってＳｅｓｓｉｏｎＳｔｏｒａｇｅのデータが移動されていないと判定した場合（Ｓ１６０６でＮｏの場合）、Ｗｅｂブラウザ２０１は、そのまま本フローチャートの処理を終了する。
【０１０３】
また、上記Ｓ１６０２において、情報処理装置で管理する表示タブ情報１３０６に含まれるタイムスタンプと、データ共有サーバ１０８で管理するタイムスタンプ１００６とが等しいと判定した場合（Ｓ１６０２で「等しい」の場合）、Ｗｅｂブラウザ２０１は、そのまま本フローチャートの処理を終了する。
【０１０４】
また、上記Ｓ１６０２において、情報処理装置で管理する表示タブ情報１３０６に含まれるタイムスタンプの方が新しいと判定した場合（Ｓ１６０２で「情報処理装置が新しい」の場合）、Ｗｅｂブラウザ２０１は、Ｓ１６０７に処理を進める。
Ｓ１６０７において、Ｗｅｂブラウザ２０１は、データストレージ２０７の表示タブ情報１３０６、ＳｅｓｓｉｏｎＳｔｏｒａｇｅ１３０７をデータ共有サーバ１０８に送信し、本フローチャートの処理を終了する。なお、データ共有サーバ１０８は、上記Ｓ１６０７で送信されたデータを受信し、該受信したデータに基づいて、自身が保持するデータを更新する。すなわち、データ共有サーバ１０８は、上記Ｓ１６０７で送信されたデータストレージのデータを受信し、該受信したデータを、送信元の情報処理装置に関連付けてデータ共有サーバ１０８が管理する記憶領域に格納する。
【０１０５】
また、上記Ｓ１６０１において、当該Ｗｅｂブラウザ２０１が動作する情報処理装置がオフライン状態であると判定した場合（Ｓ１６０１でＮｏの場合）、Ｗｅｂブラウザ２０１は、そのまま本フローチャートの処理を終了する。
【０１０６】
なお、図１６に示したデータ同期処理を実行するタイミングについては、定期的な実行、Ｗｅｂブラウザ２０１の起動時、情報処理装置１０４、１０７の省電力モードからの復帰時、もしくは上記の組み合わせも含めて、特に限定されるものではない。
【０１０７】
また、本実施例では、単一のＷｅｂブラウザの異なるタブ間でデータ共有しない仕様のデータとしてＳｅｓｓｉｏｎＳｔｏｒａｇｅを例に挙げて説明したが、同仕様のデータであればＳｅｓｓｉｏｎＳｔｏｒａｇｅに限定されるものではない。すなわち、単一のＷｅｂブラウザの異なるタブ間でデータ共有しない仕様のデータであれば、本発明を適用可能である。
【０１０８】
以上示したように、本実施例のネットワークシステムでは、情報処理装置で動作するＷｅｂブラウザは、異なる情報処理装置のＷｅｂブラウザで開かれているタブを共有利用する際に、該当タブでＳｅｓｓｉｏｎＳｔｏｒａｇｅを使用しているかを確認し、使用している場合には、データ共有サーバ１０８からＳｅｓｓｉｏｎＳｔｏｒａｇｅを取得し、データ共有サーバ１０８が共有元の情報処理装置から該当タブのＳｅｓｓｉｏｎＳｔｏｒａｇｅを削除する。この構成により、異なるタブ間でデータ共有しない仕様のデータ（例えばＳｅｓｓｉｏｎＳｔｏｒａｇｅ）を使用しているタブに対して、Ｗｅｂブラウザのタブ共有を使用したときに、Ｗｅｂブラウザ間でデータを複製することなく参照する仕組みを提供することができる。
【０１０９】
したがって、従来では、ＳｅｓｓｉｏｎＳｔｏｒａｇｅ（セッションストレージ）のような単一のＷｅｂブラウザの異なるタブ間でデータ共有しない仕様のデータを、異なる情報処理装置のＷｅｂブラウザ間で共有利用したとしても、本来の仕様に反するため、Ｗｅｂサイト側が意図した動作を実現できない可能性があったが、本実施例によれば、セッションストレージなどの単一のＷｅｂブラウザの異なるタブ間でデータ共有しない仕様のデータに対して、当該仕様を考慮したＷｅｂブラウザ間のデータ共有を実現することができる。
【実施例２】
【０１１０】
実施例１では、図１０で前述したようにＳｅｓｓｉｏｎＳｔｏｒａｇｅ１００７は非共有データであるため、Ｗｅｂブラウザ２０１は、ＳｅｓｓｉｏｎＳｔｏｒａｇｅ１００７を情報処理装置１０４、１０７のデータストレージ２０７に複製して保存しない構成であった。実施例２においても、ＳｅｓｓｉｏｎＳｔｏｒａｇｅのデータ自体は複製して保存しないが、実施例２のＷｅｂブラウザ２０１は、タブがＳｅｓｓｉｏｎＳｔｏｒａｇｅを使用しているか否かの使用有無を示す情報だけ、共有データとしてデータストレージ２０７に保存する。
【０１１１】
この構成で、実施例２では、図１４のＳ１４０２において、Ｗｅｂブラウザ２０１がＳｅｓｓｉｏｎＳｔｏｒａｇｅの使用有無を確認する際に、データ共有サーバ１０８に問い合わせるのではなく、データストレージ２０７内の情報（タブがＳｅｓｓｉｏｎＳｔｏｒａｇｅを使用しているか否かの使用有無を示す情報）を用いて確認する。これにより、ＳｅｓｓｉｏｎＳｔｏｒａｇｅの使用有無を確認する際に、データ共有サーバ１０８に接続する必要がないため、確認の時間を短くすることができる。さらに、共有元情報処理装置１０７のタブを選択する際に、タブを選択する前にＳｅｓｓｉｏｎＳｔｏｒａｇｅの使用有無が分かるため、図１７に示すような共有タブ表示画面を表示できる。
【０１１２】
図１７は、実施例２において、情報処理装置１０７のＷｅｂブラウザ２０１で開いているタブを、情報処理装置１０４から共有利用する際に、情報処理装置１０４のＷｅｂブラウザ２０１に表示される画面の一例を示す図である。
【０１１３】
図１７において、１７０１は、ＳｅｓｓｉｏｎＳｔｏｒａｇｅ使用アイコンである。ＳｅｓｓｉｏｎＳｔｏｒａｇｅ使用アイコン１７０１は、共有元情報処理装置１０７の該当タブでＳｅｓｓｉｏｎＳｔｏｒａｇｅを使用していることを表す。
【０１１４】
図１７に示すようなＳｅｓｓｉｏｎＳｔｏｒａｇｅ使用アイコン１７０１の表示により、ユーザは、共有元情報処理装置１０７の該当タブでＳｅｓｓｉｏｎＳｔｏｒａｇｅを使用していることを容易に認識することができる。
【実施例３】
【０１１５】
実施例１，２では、閲覧情報処理装置のＷｅｂブラウザ２０１は、ＳｅｓｓｉｏｎＳｔｏｒａｇｅの引き継ぎが指示されるとデータストレージ２０７にＳｅｓｓｉｏｎＳｔｏｒａｇｅを保存して使用する構成を説明した。実施例３では、閲覧情報処理装置のＷｅｂブラウザ２０１は、ＳｅｓｓｉｏｎＳｔｏｒａｇｅの引き継ぎを指示されてもデータストレージ２０７にＳｅｓｓｉｏｎＳｔｏｒａｇｅを保存せず、データ共有サーバ１０８に保存されたＳｅｓｓｉｏｎＳｔｏｒａｇｅにアクセスして使用するように構成する。
【０１１６】
実施例１，２では、共有元情報処理装置１０７がデータ共有サーバ１０８とデータ同期するまで、一時的に閲覧情報処理装置１０４と共有元情報処理装置１０７の両方にＳｅｓｓｉｏｎＳｔｏｒａｇｅが保存される状況が発生する。実施例３では、データ共有機能を使用する時に、ＳｅｓｓｉｏｎＳｔｏｒａｇｅは閲覧情報処理装置のデータストレージ２０７に保存されない。このため、異なるタブ間でデータ共有しないというＳｅｓｓｉｏｎＳｔｏｒａｇｅの仕様を厳密に遵守した上で、ＳｅｓｓｉｏｎＳｔｏｒａｇｅを引き継いだ閲覧が可能となる。
【０１１７】
以上示したように、本発明によれば、セッションストレージなどの単一のＷｅｂブラウザの異なるタブ間でデータ共有しない仕様のデータに対して、当該仕様を考慮したＷｅｂブラウザ間のデータ共有を実現することができる。
【０１１８】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【０１１９】
（その他の実施例）
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【図１】
0006397312.tif 000002
【図２】
0006397312.tif 000003
【図３】
0006397312.tif 000004
【図４】
0006397312.tif 000005
【図５】
0006397312.tif 000006
【図６】
0006397312.tif 000007
【図７】
0006397312.tif 000008
【図８】
0006397312.tif 000009
【図９】
0006397312.tif 000010
【図１０】
0006397312.tif 000011
【図１１】
0006397312.tif 000012
【図１２】
0006397312.tif 000013
【図１３】
0006397312.tif 000014
【図１４】
0006397312.tif 000015
【図１５】
0006397312.tif 000016
【図１６】
0006397312.tif 000017
【図１７】
0006397312.tif 000018