(57)【要約】【課題】複数の端末における表示データの表示状態を同期させること。【解決手段】表示端末にネットワークを介して接続可能な情報処理端末は、表示データに基づいて、ユーザによる操作に応じて表示状態が変化する画像を表示させる表示制御部と、前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成する第一の生成部と、前記命令の定義情報と、前記操作に応じて変化する、前記表示制御部によって表示されている画像の表示状態を示すデータとを、前記表示端末に送信する送信部と、を有する。【選択図】図４
2015191505.tif 000002
【特許請求の範囲】
【請求項１】
表示端末にネットワークを介して接続可能な情報処理端末であって、
表示データに基づいて、ユーザによる操作に応じて表示状態が変化する画像を表示させる表示制御部と、
前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成する第一の生成部と、
前記命令の定義情報と、前記操作に応じて変化する、前記表示制御部によって表示されている画像の表示状態を示すデータとを、前記表示端末に送信する送信部と、
を有することを特徴とする情報処理端末。
【請求項２】
前記表示端末において前記表示状態を示すデータに基づいて表示される画像に対する操作に応じ、前記命令の定義情報に基づいて、前記表示端末から送信される当該操作の発生の通知を受信する受信部と、
前記受信部による前記操作の発生の通知の受信に応じ、前記表示制御部によって表示されている画像の表示状態を変更する変更部とを有し、
前記送信部は、前記変更部による変更後の表示状態を示すデータを、前記表示端末に送信する、
ことを特徴とする請求項１記載の情報処理端末。
【請求項３】
前記命令の定義情報は、スクリプトによって記述される、
ことを特徴とする請求項１又は２記載の情報処理端末。
【請求項４】
前記第一の生成部は、前記表示データに基づいて表示される動画が前記表示端末において再生された場合に当該動画の再生状態の変更を当該情報処理端末に通知させる命令の定義情報を生成する、
ことを特徴とする請求項１乃至３いずれか一項記載の情報処理端末。
【請求項５】
前記表示端末における前記画像の表示サイズに合わせて、前記表示データに基づく画像を生成する第二の生成部と、
前記第二の生成部によって生成された画像から、当該画像を構成する表示要素の配置情報を抽出する抽出部とを有し、
前記送信部は、前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータと、前記配置情報とを、前記表示端末に送信する、
ことを特徴とする請求項１乃至４いずれか一項記載の情報処理端末。
【請求項６】
前記第二の生成部は、前記表示データを構成するＨＴＭＬファイルとＣＳＳファイルとのオリジンが異なる場合に、前記表示端末における前記画像の表示サイズに合わせて、前記表示データに基づく画像を生成する、
ことを特徴とする請求項５記載の情報処理端末。
【請求項７】
前記表示データには、当該表示データに基づいて表示される画像に対する操作に応じて当該情報処理端末が実行すべき第一の処理の定義が有効化された状態で含まれ、当該操作に応じて前記表示端末が実行すべき第二の処理の定義が無効化された状態で含まれ、
前記第一の生成部は、前記第一の処理の定義を無効化し、前記第二の処理の定義を有効化して、前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成する、
ことを特徴とする請求項１乃至６いずれか一項記載の情報処理端末。
【請求項８】
表示端末にネットワークを介して接続可能な情報処理端末であって、
表示データに基づいて、ユーザによる操作に応じて表示状態が変化する画像を表示させる表示制御部と、
前記表示データに含まれる、当該表示データに基づいて表示される画像に対する操作に応じて実行すべき処理の定義に基づいて、前記表示制御部によって表示されている画像に対する操作に応じた処理を実行する処理実行部と、
前記処理の定義と、前記表示制御部によって表示されている画像の表示状態を示すデータとを、前記表示端末に送信する送信部とを有し、
前記表示端末は、前記処理の定義において呼び出される関数に関して、当該情報処理端末が実行する処理と異なる処理を実行することにより、前記表示状態を示すデータに基づいて前記表示端末に表示される画像に対する操作に応じ、当該操作の発生を前記情報処理端末に通知する、
ことを特徴とする情報処理端末。
【請求項９】
請求項１乃至７いずれか一項記載の情報処理端末から送信される、前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータとを受信する受信部と、
前記受信部によって受信されたデータに基づく画像を表示させる表示制御部と、
前記画像に対する操作に応じ、前記命令の定義情報に基づいて、当該操作の発生を前記情報処理端末に通知する通知部と、
を有することを特徴とする表示端末。
【請求項１０】
請求項８記載の情報処理端末から送信される、前記処理の定義と、前記表示制御部によって表示されている画像の表示状態を示すデータとを受信する受信部と、
前記受信部によって受信されたデータに基づく画像を表示させる表示制御部と、
前記処理の定義において呼び出される関数に関して、当該情報処理端末が実行する処理と異なる処理を実行することにより、前記表示制御部によって表示される画像に対する操作に応じ、当該操作の発生を前記情報処理端末に通知する通知部と、
を有することを特徴とする表示端末。
【請求項１１】
表示端末にネットワークを介して接続可能な情報処理端末が、
表示データに基づいて、ユーザによる操作に応じて表示状態が変化する画像を表示させ、
前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成し、
前記命令の定義情報と、前記操作に応じて変化する、表示されている画像の表示状態を示すデータとを、前記表示端末に送信する、
処理を実行する表示方法。
【請求項１２】
表示端末が、
請求項１乃至７いずれか一項記載の情報処理端末から送信される、前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータとを受信し、
受信されたデータに基づく画像を表示させ、
前記画像に対する操作に応じ、前記命令の定義情報に基づいて、当該操作の発生を前記情報処理端末に通知する、
処理を実行する表示方法。
【請求項１３】
表示端末にネットワークを介して接続可能な情報処理端末に、
表示データに基づいて、ユーザによる操作に応じて表示状態が変化する画像を表示させ、
前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成し、
前記命令の定義情報と、前記操作に応じて変化する、表示されている画像の表示状態を示すデータとを、前記表示端末に送信する、
処理を実行させるプログラム。
【請求項１４】
表示端末に、
請求項１乃至７いずれか一項記載の情報処理端末から送信される、前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータとを受信し、
受信されたデータに基づく画像を表示させ、
前記画像に対する操作に応じ、前記命令の定義情報に基づいて、当該操作の発生を前記情報処理端末に通知する、
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理端末、表示端末、表示方法、及びプログラムに関する。
【背景技術】
【０００２】
スマートフォンやタブレット端末等の携帯端末は、携帯性に優れ、ネットワークに接続可能な場所であれば、容易にＷｅｂコンテンツを閲覧することができる。一方で、携帯端末の画面は、複数人が同時に閲覧するには小さすぎる。
【０００３】
携帯端末に表示されているＷｅｂコンテンツを、スマートテーブル又はデジタルサイネージ等の大型ディスプレイを有する表示端末に表示させることができれば、複数人でＷｅｂコンテンツを閲覧したい場合に便利である。又は、個人での閲覧であっても、携帯端末に表示されているＷｅｂコンテンツを表示端末に表示させることができれば、当該Ｗｅｂコンテンツの一覧性を向上させることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００８／０７８６８４号
【特許文献２】特開２００９−２８９２０５号公報
【特許文献３】特開２００８−１９１９２９号公報
【特許文献４】特開２００５−２４２６８２号公報
【特許文献５】特開２００７−８７３０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
携帯端末に表示されているＷｅｂコンテンツを表示端末に表示させる方法として、当該Ｗｅｂコンテンツをそのまま表示端末に転送することが考えられる。
【０００６】
しかしながら、この場合、携帯端末又は表示端末に対するユーザによる操作に応じたＷｅｂコンテンツの表示状態の変化を、他方の端末において同期させるのは困難である。Ｗｅｂコンテンツの表示状態の変化は、Ｗｅｂコンテンツを構成するＪａｖａＳｃｒｉｐｔ（登録商標）等に基づいて実現されるところ、一方の端末におけるスクリプトの実行は、他方の端末に影響を及ぼさないからである。
【０００７】
そこで、一側面では、複数の端末における表示データの表示状態を同期させることを目的とする。
【課題を解決するための手段】
【０００８】
一つの案では、表示端末にネットワークを介して接続可能な情報処理端末は、表示データに基づいて、ユーザによる操作に応じて表示状態が変化する画像を表示させる表示制御部と、前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成する第一の生成部と、前記命令の定義情報と、前記操作に応じて変化する、前記表示制御部によって表示されている画像の表示状態を示すデータとを、前記表示端末に送信する送信部と、を有する。
【発明の効果】
【０００９】
一態様によれば、複数の端末における表示データの表示状態を同期させることができる。
【図面の簡単な説明】
【００１０】
【図１】第一の実施の形態におけるシステム構成例を示す図である。
【図２】統合ディスプレイにおけるＷｅｂコンテンツの表示イメージの一例を示す図である。
【図３】第一の実施の形態における携帯端末のハードウェア構成例を示す図である。
【図４】第一の実施の形態における携帯端末及び表示端末の機能構成例を示す図である。
【図５】ＨＴＭＬ、ＤＯＭ、ＣＳＳ，及びスクリプトの関係を説明するための図である。
【図６】Ｗｅｂコンテンツのダウンロードに応じて実行される処理手順の一例を説明するためのシーケンス図である。
【図７】携帯端末における同期データ配信スクリプトの読み込みに応じて実行される処理手順の一例を説明するためのシーケンス図である。
【図８】ＤＯＭデータ及びスタイル定義データの例を示す図である。
【図９】イベントハンドラに基づくイベント通知スクリプトの生成例を示す図である。
【図１０】表示位置情報を説明するための図である。
【図１１】Ｗｅｂコンテンツに基づいて表示された画像に対するユーザによる操作に応じて実行される処理手順の一例を説明するためのシーケンス図である。
【図１２】差分データの例を示す図である。
【図１３】携帯端末によるＷｅｂコンテンツの描画処理の処理手順の一例を説明するためのフローチャートである。
【図１４】同期データ配信スクリプトの読み込みに応じて携帯端末が実行する処理手順の一例を説明するためのフローチャートである。
【図１５】初期情報生成処理の処理手順の一例を説明するためのフローチャートである。
【図１６】イベント待機処理の処理手順の一例を説明するためのフローチャートである。
【図１７】同期データ受信スクリプトが表示端末に実行させる処理手順の一例を説明するためのフローチャートである。
【図１８】イベント通知スクリプトが表示端末に実行させる処理手順の一例を説明するためのフローチャートである。
【図１９】同一生成元ポリシーを説明するための図である。
【図２０】第二の実施の形態の第一の方法による各端末の画像の表示イメージの例を示す図である。
【図２１】第二の実施の形態の第二の方法における画像の描画例を示す図である。
【図２２】第二の実施の形態の第二の方法におけるスタイル定義の抽出処理の処理手順の一例を説明するためのフローチャートである。
【図２３】第三の実施の形態における携帯端末及び表示端末の機能構成例を示す図である。
【図２４】第三の実施の形態の仕組みを説明するための図である。
【図２５】第四の実施の形態における携帯端末及び表示端末の機能構成例を示す図である。
【図２６】第四の実施の形態の仕組みを説明するための図である。
【図２７】第五の実施の形態においてスマートテーブルが実行する処理手順の一例を説明するためのフローチャートである。
【図２８】携帯端末の表示状態とスマートテーブルの表示状態との同期の例を示す図である。
【図２９】第五の実施の形態において携帯端末が実行する処理手順の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、第一の実施の形態におけるシステム構成例を示す図である。図１において、携帯端末１０は、１以上のコンテンツサーバ３０にインターネット又はＬＡＮ（Local Area Network）等のネットワークを介して接続可能である。また、携帯端末１０は、表示端末２０Ｌ及び表示端末２０Ｒの二つの表示端末２０にネットワークを介して接続可能である。携帯端末１０とコンテンツサーバ３０、及び携帯端末１０と表示端末２０との通信は、移動体通信網、無線ＬＡＮ、又は近距離無線通信等を用いて行われてもよい。
【００１２】
携帯端末１０は、携帯電話、スマートフォン、又はタブレット端末等の携帯型の端末である。携帯端末１０は、コンテンツサーバ３０からＷｅｂコンテンツをダウンロード（取得）し、Ｗｅｂコンテンツを表示する機能を有する。Ｗｅｂコンテンツとは、汎用的なＷｅｂブラウザによって閲覧可能な表示データである。Ｗｅｂコンテンツは、ＨＴＭＬ（HyperText Markup Language）、ＣＳＳ（Cascading Style Sheets）、及びスクリプト等を含む。ＣＳＳ及びスクリプトは、ＨＴＭＬファイルとは異なるファイルにおいて定義されてもよいし、ＨＴＭＬファイル内に含まれてもよい。スクリプトは、例えば、ＪａｖａＳｃｒｉｐｔ（登録商標）である。スクリプトによって、Ｗｅｂコンテンツの表示状態を動的なものとすることができる。すなわち、スクリプトによれば、新たなＷｅｂコンテンツをダウンロードすることなく（Ｗｅｂコンテンツを遷移させることなく）、各種のイベントの発生に応じて、Ｗｅｂコンテンツの表示状態を変化させることができる。Ｗｅｂコンテンツの表示状態とは、Ｗｅｂコンテンツに基づいて表示される画像（画面）の表示状態をいう。各種のイベントの一例として、Ｗｅｂコンテンツに基づいて表示される画像に対するユーザによる操作が挙げられる。どのようなイベントに応じてＷｅｂコンテンツの表示状態がどのように変化するのかについては、Ｗｅｂコンテンツの定義に依存する。なお、Ｗｅｂコンテンツは、Ｗｅｂアプリケーション又はＷｅｂページとも呼ばれる。
【００１３】
コンテンツサーバ３０は、携帯端末１０からのＷｅｂコンテンツのダウンロード要求に応じ、当該要求において指定されたＵＲＬ（Uniform Resource Locator）に対応するＷｅｂコンテンツ返信するコンピュータである。なお、携帯端末１０に予め保存されているＷｅｂコンテンツが、表示対象とされてもよい。
【００１４】
表示端末２０は、スマートテーブル、デジタルサイネージ、又は壁掛けのディスプレイ等、大型ディスプレイを有する表示端末である。各表示端末２０は、Ｗｅｂコンテンツの表示機能を有する。第一の実施の形態では、各表示端末２０のディスプレイが左右に並べて配置されることにより、ユーザに対しては、各表示端末２０のディスプレイの２倍の表示領域を有する一つのディスプレイ（以下、「統合ディスプレイ」という。）が提供される例について説明する。統合ディスプレイには、携帯端末１０において表示されているＷｅｂコンテンツが、各表示端末２０のディスプレイに跨って表示される。
【００１５】
図２は、統合ディスプレイにおけるＷｅｂコンテンツの表示イメージの一例を示す図である。図２において、ディスプレイＤ１は、携帯端末１０のディスプレイである。ディスプレイＤ２Ｌは、表示端末２０Ｌのディスプレイである。ディスプレイＤ２Ｒは、表示端末２０Ｒのディスプレイである。図２に示されるように、ディスプレイＤ２ＬとディスプレイＤ２Ｒとが構成する統合ディスプレイＤ２には、ディスプレイＤ１において表示されている画像が、二つのディスプレイに跨って表示される。
【００１６】
なお、３つ以上の表示端末２０のディスプレイが統合されてもよい。この場合、各表示端末２０は、水平方向のみならず、垂直方向に配列されてもよい。例えば、４つの表示端末２０を組み合わせる場合、図２に示される統合ディスプレイＤ２が、垂直方向に配列された構成が採用されてもよい。
【００１７】
または、携帯端末１０に表示されている画像の全部が、各表示端末２０に表示されてもよい。換言すれば、各表示端末２０のそれぞれには、同じ画像が表示されてもよい。この場合、携帯端末１０と表示端末２０との関係は、１対１でもよい。
【００１８】
本実施の形態において、表示端末２０は、ユーザからＷｅｂコンテンツの操作を受け付けるための手段を有する。例えば、表示端末２０は、タッチパネルを備えていてもよい。したがって、表示端末２０においても、Ｗｅｂコンテンツは操作される。Ｗｅｂコンテンツの操作とは、Ｗｅｂコンテンツに基づいて表示される画像の操作をいう。
【００１９】
図３は、第一の実施の形態における携帯端末のハードウェア構成例を示す図である。図３の携帯端末１０は、それぞれバスＢで相互に接続されている補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、インタフェース装置１０５、表示装置１０６、及び入力装置１０７等を有する。
【００２０】
携帯端末１０での処理を実現するプログラムは、補助記憶装置１０２にインストールされる。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００２１】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って携帯端末１０に係る機能を実現する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１０６は、ディスプレイＤ１を備え、Ｗｅｂコンテンツに基づく画像等を表示する。入力装置１０７はボタン又はタッチパネル等であり、ユーザからの操作指示を受け付ける
なお、表示端末２０についても、図３と同様のハードウェアを有していてもよい。
【００２２】
図４は、第一の実施の形態における携帯端末及び表示端末の機能構成例を示す図である。図４において、携帯端末１０は、コンテンツ取得部１１１、コンテンツ描画部１１２、イベントハンドラ抽出部１１３、スクリプト生成部１１４、ＤＯＭ抽出部１１５、スタイル抽出部１１６、変更監視部１１７、データ配信部１１８、及びイベント受信部１１９等を有する。これら各部は、携帯端末１０にインストール又はダウンロードされる１以上のプログラムが、ＣＰＵ１０４に実行させる処理により実現される。携帯端末１０は、また、表示先情報記憶部１３１を有する。表示先情報記憶部１３１は、例えば、補助記憶装置１０２等を用いて実現可能である。
【００２３】
コンテンツ取得部１１１は、コンテンツサーバ３０からＷｅｂコンテンツを取得する。コンテンツ描画部１１２は、取得されたＷｅｂコンテンツの描画処理を実行する。描画処理では、ＨＴＭＬファイル及びＣＳＳファイルの解析や、スクリプトファイルに定義されているスクリプトの実行等が行われる。ＨＴＭＬファイルの解析により、ＤＯＭツリーが生成され、メモリ装置１０３に記憶される。ＤＯＭツリーとは、Ｗｅｂコンテンツの現在の状態（構造）を保持するオブジェクト群であり、ＨＴＭＬの各要素に対するＡＰＩ（Application Program Interface）としても機能する。
【００２４】
図５は、ＨＴＭＬ、ＤＯＭ、ＣＳＳ，及びスクリプトの関係を説明するための図である。図５では、ＨＴＭＬによって、ＤＯＭツリーが初期化されることが示されている。すなわち、コンテンツサーバ３０からダウンロードされるＨＴＭＬファイルは、Ｗｅｂコンテンツに基づいて表示される画像の初期状態を格納するものである。ユーザによる画像の操作等に応じて画像の表示状態が変化した場合、変化後の表示状態は、ＤＯＭツリーにおいて保持される。換言すれば、Ｗｅｂコンテンツの表示状態の変化は、ＤＯＭ要素ツリーの変更によって実現される。なお、ＤＯＭツリーを構成する各要素を、ＤＯＭ要素という。
【００２５】
ＣＳＳは、ＤＯＭ要素の配置や修飾等に関する定義である。ＤＯＭツリーにＣＳＳが適用されることにより、画像５００が表示される。スクリプトは、ＤＯＭ要素に対する操作を検知し、ＤＯＭツリーを書き換えることができる。
【００２６】
なお、コンテンツ取得部１１１及びコンテンツ描画部１１２は、例えば、汎用的なＷｅｂブラウザプログラムがＣＰＵ１０４に実行させる処理によって実現されてもよい。
【００２７】
イベントハンドラ抽出部１１３は、Ｗｅｂコンテンツを構成するスクリプトの中からイベントハンドラを抽出する。スクリプト生成部１１４は、抽出されたイベントハンドラが監視対象とするイベントの発生を、Ｗｅｂコンテンツの表示先である表示端末２０から携帯端末１０に通知させるための定義がなされたスクリプト（以下、「イベント通知スクリプト」という。）を生成する。イベント通知スクリプトは、各表示端末２０に配信され、各表示端末２０をイベント送信部２１６として機能させる。
【００２８】
ＤＯＭ抽出部１１５は、メモリ装置１０３にロードされているＤＯＭツリーが文字列化されたデータ（以下、「ＤＯＭデータ」という。）を生成する。スタイル抽出部１１６は、ＣＳＳファイルの解析によりメモリ装置１０３にロードされているスタイル定義が文字列化されたデータ（以下、「スタイル定義データ」という。）を生成する。変更監視部１１７は、ＤＯＭツリーを構成するＤＯＭ要素の変更を監視する。
【００２９】
データ配信部１１８は、スクリプト生成部１１４によって生成されるイベント通知スクリプト、ＤＯＭ抽出部１１５によって生成されるＤＯＭデータ、スタイル抽出部１１６によって生成されるスタイル定義データ等を、各表示端末２０に配信する。また、変更監視部１１７によってＤＯＭツリーの変更が検知された場合、変更前後のＤＯＭツリーの差分を示すデータ（以下、「差分データ」という。）も、データ配信部１１８によって各表示端末２０に配信される。但し、差分データの代わりに、変更後のＤＯＭツリーの全部が文字列化されたＤＯＭデータが、配信されてもよい。
【００３０】
イベント受信部１１９は、イベント通知スクリプトに基づいて、各表示端末２０から送信される、イベントの発生の通知を受信する。当該通知に基づいて、携帯端末１０におけるＤＯＭツリーが変更される。
【００３１】
なお、本実施の形態において、イベントハンドラ抽出部１１３、スクリプト生成部１１４、ＤＯＭ抽出部１１５、スタイル抽出部１１６、変更監視部１１７、データ配信部１１８、及びイベント受信部１１９は、スクリプトがＣＰＵ１０４に実行させる処理により実現される。当該スクリプトを、以下、「同期データ配信スクリプト」という。
【００３２】
表示端末２０は、データ受信部２１１、表示領域生成部２１２、イベントハンドラ設定部２１３、表示状態適用部２１４、コンテンツ描画部２１５、及びイベント送信部２１６等を有する。これら各部は、表示端末２０にインストールされるプログラム又は表示端末２０に配信されるプログラムが、表示端末２０のＣＰＵに実行させる処理により実現される。
【００３３】
データ受信部２１１は、携帯端末１０から配信されるデータを受信する。例えば、ＤＯＭデータ、スタイル定義データ、及びスクリプトデータが受信される。また、携帯端末１０においてＤＯＭツリーが変化した場合、差分データが、データ受信部２１１によって受信される。
【００３４】
表示領域生成部２１２は、Ｗｅｂコンテンツに基づく画像の表示領域を生成する。イベントハンドラ設定部２１３は、データ受信部２１１によって受信されるイベント通知スクリプトを、当該表示領域に関して設定する。表示状態適用部２１４は、データ受信部２１１によって受信されるＤＯＭデータ及びスタイル定義データや、差分データを、当該表示領域に適用する。ＤＯＭデータ及びスタイル定義データの適用により、当該表示領域に画像が表示される。また、差分データの適用により、当該画像の表示状態が変化する。
【００３５】
コンテンツ描画部２１５は、基本的に、携帯端末１０のコンテンツ描画部１１２と同様の機能を実現する。イベント送信部２１６は、当該表示領域において表示されている画像に対する操作に応じ、当該操作を示すイベントの通知を、携帯端末１０に送信する。
【００３６】
なお、データ受信部２１１、表示領域生成部２１２、イベントハンドラ設定部２１３、及び表示状態適用部２１４は、スクリプトが、表示端末２０のＣＰＵに実行させる処理によって実現される。当該スクリプトを、以下「同期データ受信スクリプト」という。同期データ受信スクリプトは、例えば、予め表示端末２０にインストールされている。
【００３７】
以下、携帯端末１０及び表示端末２０が実行する処理手順について説明する。図６は、Ｗｅｂコンテンツのダウンロードに応じて実行される処理手順の一例を説明するためのシーケンス図である。
【００３８】
表示端末２０は、例えば、起動又はユーザによる所定の操作に応じ、同期データ受信スクリプトを読み込む（Ｓ１０１）。続いて、同期データ受信スクリプトに基づくデータ受信部２１１は、携帯端末１０からのデータの受信を待機する（Ｓ１０２）。
【００３９】
一方、携帯端末１０に対して、Ｗｅｂコンテンツの取得指示がユーザによって入力されると（Ｓ１１１）、携帯端末１０のコンテンツ取得部１１１は、Ｗｅｂコンテンツの取得要求を、当該取得指示において指定されたＵＲＬ宛に送信する（Ｓ１１２）。コンテンツサーバ３０は、当該ＵＲＬに基づいて特定されるＨＴＭＬファイルを含む応答を、コンテンツ取得部１１１に返信する（Ｓ１１３）。コンテンツ取得部１１１は、当該ＨＴＭＬファイルを受信する。
【００４０】
続いて、コンテンツ描画部１１２は、ＨＴＭＬファイルの定義内容を解析（パース）し、当該ＨＴＭＬファイルに定義されている表示要素の構成（表示構成）等を示すＤＯＭツリーを生成する（Ｓ１１４）。当該ＤＯＭツリーはメモリ装置１０３に記憶される。ＨＴＭＬファイルの解析の進行に応じて、コンテンツ描画部１１２は、ＨＴＭＬファイルから参照されているコンテンツ（以下、「参照コンテンツ」という。）の取得要求を、コンテンツサーバ３０に送信する（Ｓ１１５）。参照コンテンツは、例えば、ＣＳＳファイルやスクリプトファイル等である。続いて、コンテンツサーバ３０は、要求されたコンテンツを返信する（Ｓ１１６）。続いて、コンテンツ描画部１１２は、返信されたＣＳＳファイル又はスクリプトファイルを解釈する（Ｓ１１７）。例えば、ＣＳＳファイルに基づいて、ＤＯＭツリーによって示される表示要素のレイアウト（配置位置）が特定される。なお、参照コンテンツには、静止画コンテンツや動画コンテンツ等が含まれてもよい。
【００４１】
ステップＳ１１５〜Ｓ１１７は、参照コンテンツ分繰り返される。全ての参照コンテンツに関してＳ１１５〜Ｓ１１７が実行されると、携帯端末１０の表示装置１０６には、ＨＴＭＬファイル及び参照コンテンツが構成するＷｅｂコンテンツに基づく画像が表示される。当該Ｗｅｂコンテンツの表示のためにメモリ装置１０３に読み込まれている情報を、以下、「コンテンツ表示情報」という。コンテンツ表示情報には、ＤＯＭツリー、スタイル定義、及びスクリプト定義等が含まれる。スタイル定義は、ＤＯＭツリーが示す表示要素のレイアウトに関する定義であり、ＣＳＳファイルから読み込まれる。スクリプト定義は、スクリプトファイルから読み込まれた、スクリプトに関する定義である。
【００４２】
なお、ステップＳ１１１〜Ｓ１１７は、一般的なＷｅｂブラウザにおいて、Ｗｅｂコンテンツが表示されるまでに実行される処理手順と同様でよい。
【００４３】
図６の処理の終了後、任意のタイミングで、図７の処理が実行される。図７は、携帯端末における同期データ配信スクリプトの読み込みに応じて実行される処理手順の一例を説明するためのシーケンス図である。
【００４４】
ステップＳ１２１において、ＣＰＵ１０４は、同期データ配信スクリプトをメモリ装置１０３に読み込む。同期データ配信スクリプトは、例えば、予め補助記憶装置１０２に記憶されている。また、同期データ配信スクリプトの読み込みは、例えば、携帯端末１０に対する操作に応じて実行されてもよい。なお、図７において、ステップＳ１２１以降から伸びる、携帯端末１０に対応付く白抜きの軸は、同期データ配信スクリプトが、ＣＰＵ１０４に実行させることにより実現されるイベントハンドラ抽出部１１３、スクリプト生成部１１４、ＤＯＭ抽出部１１５、スタイル抽出部１１６、変更監視部１１７、データ配信部１１８、及びイベント受信部１１９に対応する。
【００４５】
ステップＳ１２２において、コンテンツ描画部１１２によって管理されるコンテンツ表示情報から、ＤＯＭデータ、スタイル定義、及びイベントハンドラが抽出される。ＤＯＭデータは、メモリ装置１０３内のＤＯＭツリーが文字列化されたものであり、ＤＯＭ抽出部１１５によって抽出される。スタイル定義データは、メモリ装置１０３内のスタイル定義が文字列化されたものであり、スタイル抽出部１１６によって抽出される。イベントハンドラは、イベントハンドラ抽出部１１３によって、コンテンツ表示情報を構成するスクリプト定義から抽出される。イベントハンドラは、イベントの発生に応じて実行すべき処理がスクリプトによって定義されたものである。
【００４６】
図８は、ＤＯＭデータ及びスタイル定義データの例を示す図である。図８には、ＤＯＭデータｍ１及びスタイル定義データｃ１が示されている。図８より明らかなように、ＤＯＭデータｍ１は、ＨＴＭＬの形式を有する。また、スタイル定義データｃ１は、ＣＳＳの形式を有する。したがって、ＤＯＭデータｍ１及びスタイル定義データｃ１は、一般的なＷｅｂブラウザによって解釈可能なデータ形式を有する。
【００４７】
続いて、スクリプト生成部１１４は、抽出されたイベントハンドラに基づいて、イベント通知スクリプトを生成する（Ｓ１２３）。イベント通知スクリプトは、監視対象とするイベントの検知に応じて、当該イベントの発生を、携帯端末１０に通知させるための定義がなされたスクリプトをいい、表示端末２０において利用される。すなわち、表示端末２０において、Ｗｅｂコンテンツに関して定義されたイベントハンドラに対応するイベントが発生した場合、当該イベントハンドラに関して当初に定義された処理ではなく、当該イベントの発生を携帯端末１０に通知するための処理が実行される。
【００４８】
図９は、イベントハンドラに基づくイベント通知スクリプトの生成例を示す図である。図９には、抽出されたイベントハンドラｅｈ１１及びｅｈ１２と、これらのイベントハンドラに基づいて生成されるイベント通知スクリプトｓｃ１とが示されている。なお、イベントハンドラｅｈ１１及びｅｈ１２の定義内容は、便宜的なものである。
【００４９】
イベントハンドラｅｈ１１の定義内容は、「ｔａｒｇｅｔがクリックされたら、ｔｏ要素にクリックされた座標値を表示する」というものである。イベントハンドラｅｈ１２の定義内容は、「ｆｏｒｍ上でキーが押されたら、通信等を実行する」というものである。
【００５０】
イベント通知スクリプトｓｃ１には、イベントハンドラｅｈ１１に基づいて、イベントハンドラｅｈ２１が含められ、イベントハンドラｅｈ１２に基づいて、イベントハンドラｅｈ２２が含められる。イベントハンドラｅｈ２１の定義内容は、「ｔａｒｇｅｔがクリックされたら、イベントが発生した要素及びイベントの内容を通知先に送信する」というものである。また、イベントハンドラｅｈ２２の定義内容は、「ｆｏｒｍ上でキーが押されたら、イベントが発生した要素及びイベントの内容を通知先に送信する」というものである。このように、イベント通知スクリプトｓｃ１には、スクリプト定義から抽出されたイベントハンドラごとに、当該イベントハンドラが監視対象とするイベントの発生を通知先に通知するイベントハンドラが含められる。
【００５１】
イベント通知スクリプトｓｃ１には、また、通知先に関する定義ｄ１も含められる。定義ｄ１では、通知先（ｓｅｎｄｅｒ）のＵＲＬが設定されている。当該ＵＲＬは、本実施の形態において、携帯端末１０に対するものである。
【００５２】
イベント通知スクリプトｓｃ１には、更に、ｆｏｒｍ（フォーム）要素のうち、イベントハンドラが設定されていない要素に対するイベントハンドラｅｈ２３も含められる。イベントハンドラｅｈ２３の定義内容は、「当該要素に関するイベントを、通知先に送信する」というものである。イベントハンドラｅｈ２３は、例えば、表示端末２０において表示されるＷｅｂコンテンツのフォーム上におけるテキストボックスに対する１文字ごとの入力を、携帯端末１０における表示状態に反映させるためのものである。
【００５３】
続いて、データ配信部１１８は、コンテンツ識別子を生成する（Ｓ１２４）。コンテンツ識別子は、仮に、各表示端末２０が、複数の携帯端末１０のそれぞれからのＷｅｂコンテンツを並行して表示している場合に、各表示端末２０が、各Ｗｅｂコンテンツと各携帯端末１０との対応関係を識別可能とするための識別情報である。すなわち、表示端末２０には、複数の携帯端末１０に表示されているＷｅｂコンテンツが、同時期に表示されてもよい。この場合、表示端末２０においては、一つのＷｅｂコンテンツが最前面に表示され、他のＷｅｂコンテンツが、裏側に隠れていてもよい。
【００５４】
続いて、データ配信部１１８は、各表示端末２０に対して、コンテンツ識別子、ＤＯＭデータｍ１、スタイル定義データｃ１、イベント通知スクリプトｓｃ１、及び表示位置情報等を配信する（Ｓ１２５）。コンテンツ識別子、ＤＯＭデータｍ１、及びスタイル定義データｃ１、及びイベント通知スクリプトｓｃ１は、各表示端末２０に対して同じものが送信される。表示位置情報とは、各表示端末２０において、Ｗｅｂコンテンツに基づく画像が表示される表示領域の表示位置及びサイズを示す情報である。表示位置情報は、例えば、当該表示領域の左上頂点、幅、及び高さを含む。Ｗｅｂコンテンツの表示位置は、表示端末２０ごとに異なる。換言すれば、各表示端末２０の表示位置を異ならせることで、統合ディスプレイＤ２を実現することができる。したがって、表示位置情報は、表示端末２０ごとに異なる。表示位置情報は、例えば、表示端末２０のアドレス情報等の識別情報に関連付けられて、表示先情報記憶部１３１に記憶されている。
【００５５】
図１０は、表示位置情報を説明するための図である。図１０には、図２に示したディスプレイＤ２Ｒが示されている。すなわち、図１０には、表示端末２０Ｒに送信される表示位置情報の例が示されている。当該表示位置情報は、左上頂点の座標が（−２００，１００）であり、幅が４００、高さが２００である。ここで、左上頂点の座標が、ディスプレイＤ２Ｒの座標系の範囲外とされることにより、画像５００の左半分は、ディスプレイＤ２Ｒにおいて非表示となる。その結果、ディスプレイＤ２Ｒには、画像５００の右半分が表示される。同様の原理で、ディスプレイＤ２Ｌについては、画像５００の左半分が表示されるように、表示位置が決定される。したがって、表示位置情報を調整することで、各表示端末２０に、画像５００の全部を表示させることもできる。または、各表示端末２０に表示される画像の一部が、相互に重複するように、表示位置が決定されてもよい。
【００５６】
なお、ステップＳ１２５において送信されるＤＯＭデータｍ１は、携帯端末１０における現在のＷｅｂコンテンツの表示状態を示すものである。したがって、表示状態が変化している場合、ＤＯＭデータｍ１の内容は、当該Ｗｅｂコンテンツにおいて当初ダウンロードされたＨＴＭＬファイルの定義内容と異なる。すなわち、各表示端末２０には、現在の表示状態を再現させるため、ＨＴＭＬファイルではなく、ＤＯＭデータｍ１が送信される。一方、スタイル定義データは、固定的又は静的な情報を含む。したがって、スタイル定義データに関しては、当初ダウンロードされたものがそのまま表示端末２０に送信されてもよい。
【００５７】
その後、変更監視部１１７は、メモリ装置１０３内のＤＯＭツリーの変更を監視する。ＤＯＭツリーの変更は、Ｗｅｂコンテンツの表示状態の変化によって発生する。換言すれば、ＤＯＭツリーが変更されることにより、Ｗｅｂコンテンツの表示状態が変化する。したがって、変更監視部１１７は、Ｗｅｂコンテンツの表示状態の変化を監視しているともいえる。
【００５８】
一方、各表示端末２０のデータ受信部２１１は、データ配信部１１８によって送信された、コンテンツ識別子、ＤＯＭデータｍ１、スタイル定義データｃ１、イベント通知スクリプトｓｃ１、及び表示位置情報等を受信する。続いて、Ｗｅｂコンテンツの描画が、コンテンツ描画部２１５に要求される。当該要求には、コンテンツ識別子、表示位置情報、ＤＯＭデータｍ１、及びスタイル定義データｃ１が含まれる（Ｓ１３１）。コンテンツ描画部２１５は、表示位置情報の示す位置及びサイズの表示領域に、ＤＯＭデータｍ１及びスタイル定義ｃ１に基づいて、コンテンツ描画部１１２と同様の解析処理を実行する。その結果、Ｗｅｂコンテンツに基づく画像が表示端末２０のディスプレイに表示される。すなわち、携帯端末１０に表示されている画像５００が、表示端末２０に表示される。但し、表示位置情報に応じて、画像５００のうち、各表示端末２０に表示される部分は異なりうる。なお、コンテンツ描画部２１５は、ＤＯＭデータｍ１に基づいてメモリ装置に生成されるＤＯＭツリーに、コンテンツ識別子を関連付けておく。
【００５９】
続いて、イベントハンドラ設定部２１３は、イベント通知スクリプトｓｃ１を実行する（Ｓ１３２）。その結果、イベント通知スクリプトｓ１に含まれる各イベントハンドラが、コンテンツ描画部２１５に設定される（Ｓ１３３）。
【００６０】
その後、携帯端末１０及び表示端末２０は、イベントの発生を待機する。例えば、各端末は、ユーザによる操作を待機する。
【００６１】
続いて、Ｗｅｂコンテンツに基づいて表示された画像に対するユーザによる操作に応じて実行される処理手順について説明する。図１１は、Ｗｅｂコンテンツに基づいて表示された画像に対するユーザによる操作に応じて実行される処理手順の一例を説明するためのシーケンス図である。
【００６２】
例えば、いずれかの表示端末２０のディスプレイ（タッチパネル）がタッチされる等により、表示されている画像が操作されると（Ｓ１４１）、コンテンツ描画部２１５は、当該操作に対応したイベントを発生させる（Ｓ１４２）。当該イベントは、当該イベントに対応するイベントハンドラによって検知（捕捉）される。イベントの検知に応じ、イベント送信部２１６は、当該イベントハンドラの定義に基づいて、イベントの対象とされたＤＯＭ要素及びイベントの種別を示す情報を含むイベント発生通知を、通知先（携帯端末１０）に送信する（Ｓ１４３）。携帯端末１０のイベント受信部１１９は、当該イベント発生通知を受信する。変更監視部１１７は、当該イベント発生通知の受信を検知すると、当該イベント発生通知によって通知されたイベントを、擬似的に発生させる（Ｓ１４４）。擬似的に発生されたイベントは、コンテンツ描画部１１２に通知される。
【００６３】
コンテンツ描画部１１２は、スクリプト定義に含まれているイベントハンドラの中で、擬似的に発生された当該イベントに対応するイベントハンドラの定義に基づいて、ＤＯＭツリーを変更する（Ｓ１５１）。ＤＯＭツリーの変更は、変更監視部１１７によって検知される（Ｓ１５２）。変更監視部１１７は、変更前後のＤＯＭツリーの差分を示す情報を含む差分データを抽出する（Ｓ１５３）。
【００６４】
図１２は、差分データの例を示す図である。図１２に示される差分データｄｆ１において、記述ｄｆ１１は、変更対象の要素（以下、「対象要素」という。）を示す。記述ｄｆ１２は、対象要素の５番目の子要素として、ａタグが挿入されたことを示す。記述ｄｆ１３は、対象要素の３番目の子要素が削除されたことを示す。記述ｄｆ１４は、対象要素のｓｒｃ属性の値が、「．／ｈｏｇｅ．ｐｎｇ」に変更されたことを示す。
【００６５】
続いて、データ配信部１１８は、ＤＯＭツリーが変更されたＷｅｂコンテンツに対するコンテンツ識別子と、差分データｄｆ１とを、各表示端末２０に配信する（Ｓ１５４）。各表示端末２０のデータ受信部２１１は、当該コンテンツ識別子及び差分データｄｆ１を受信する。
【００６６】
続いて、表示状態適用部２１４は、当該コンテンツ識別子及び差分データｄｆ１をコンテンツ描画部２１５に適用する（Ｓ１５５）。コンテンツ描画部２１５は、当該コンテンツ識別子に関連付けられているＤＯＭツリーを、差分データｄｆ１に基づいて変更する。その結果、各表示端末２０における表示状態も変化する。
【００６７】
なお、ステップＳ１４１〜Ｓ１５５は、表示端末２０側において、画像が操作されるたびに実行される。したがって、表示端末２０側における操作に応じて、携帯端末１０における表示状態と、表示端末２０における表示状態とが変化する。また、携帯端末１０において、画像が操作されるたびに、ステップＳ１５１〜Ｓ１５５が実行される。すなわち、この場合、携帯端末１０において、擬似的なイベントではなく、真のイベントが発生し、当該真のイベントに応じて、ステップＳ１５１以降が実行される。したがって、携帯端末１０側において操作が行われた場合も、携帯端末１０における表示状態と、表示端末２０における表示状態とが変化する。このように、本実施の形態によれば、携帯端末１０と各表示端末２０とのいずれの端末において操作が行われた場合であっても、全ての端末間において、表示状態を同期させることができる。
【００６８】
続いて、携帯端末１０及び表示端末２０が実行する処理について、更に詳細に説明する。まず、携帯端末１０が実行する処理について説明する。
【００６９】
図１３は、携帯端末によるＷｅｂコンテンツの描画処理の処理手順の一例を説明するためのフローチャートである。図１３は、図６の処理に関して携帯端末１０が実行する処理を詳細に示すものである。
【００７０】
携帯端末１０に対してＷｅｂコンテンツの取得指示がユーザによって入力されると（Ｓ２０１でＹｅｓ）、コンテンツ取得部１１１は、当該取得指示において指定されたＵＲＬに係るＨＴＭＬファイルを取得する（Ｓ２０２）。続いて、コンテンツ描画部１１２は、ＨＴＭＬファイルの定義内容を解析（パース）し、ＤＯＭツリーを構築する（Ｓ２０３）。ＤＯＭツリーは、メモリ装置１０３に記憶される。
【００７１】
続いて、ＨＴＭＬファイルから参照されている参照コンテンツごとに、ループ処理Ｌ１が実行される。ループ処理Ｌ１のステップＳ２０４において、コンテンツ描画部１１２は、参照コンテンツを取得する。続いて、コンテンツ取得部１１１ａは、取得された参照コンテンツの種別に応じて処理を分岐させる（Ｓ２０５）。取得された参照コンテンツが、スクリプトファイルである場合、コンテンツ描画部１１２は、当該スクリプトファイルに定義されているスクリプトを実行する（Ｓ２０６）。一方、取得された参照コンテンツが、ＣＳＳファイルである場合、コンテンツ描画部１１２は、当該ＣＳＳファイルに含まれているスタイル定義を、既に取得されているスタイル定義に追加する（Ｓ２０７）。
【００７２】
ループＬ１が終了すると、コンテンツ描画部１１２は、ＤＯＭツリーを構成する表示要素を、スタイル定義にしたがって描画する（Ｓ２０８）。その結果、Ｗｅｂコンテンツに基づく画像が、表示装置１０６に表示される。
【００７３】
続いて、図７の処理に関して携帯端末１０が実行する処理について詳細に説明する。図１４は、同期データ配信スクリプトの読み込みに応じて携帯端末が実行する処理手順の一例を説明するためのフローチャートである。
【００７４】
同期データ配信スクリプトの読み込みのトリガが発生すると（Ｓ２１１でＹｅｓ）、ＣＰＵ１０４は、同期データ配信スクリプトを、メモリ装置１０３に読み込む（Ｓ２１２）。同期データ配信スクリプトは、例えば、ダウンロードされたＷｅｂコンテンツのＨＴＭＬファイルから参照されていてもよい。この場合、同期データ配信スクリプトの取得が、当該スクリプトの読み込みのトリガとされてもよい。ＨＴＭＬファイルにおける同期データ配信スクリプトへ参照は、予め埋め込まれていてもよいし、コンテンツサーバ３０からＨＴＭＬファイルが返信される際に、プロキシサーバ等において挿入されてもよい。又は、同期データ配信スクリプトが、携帯端末１０のブックマークレットに登録されていてもよい。この場合、ユーザによる当該ブックマークレットの選択が、同期データ配信スクリプトの読み込みのトリガとされてもよい。
【００７５】
続いて、データ配信部１１８は、表示先情報記憶部１３１から、各表示端末２０のアドレス情報及び表示位置情報等を含む表示先情報を取得する（Ｓ２１３）。なお、各表示端末２０のアドレス情報は、例えば、携帯端末１０及び各表示端末２０と通信可能な非図示のコンピュータにおいて記憶されてもよい。例えば、各表示端末２０は、起動等に応じて、ＧＰＳ（Global Positioning System）機能等を用いて、自らの位置情報を取得し、当該位置情報と、自らのアドレス情報とを、当該コンピュータに送信する。当該コンピュータは、受信された情報を記憶する。データ配信部１１８は、当該コンピュータに記憶されている位置情報及びアドレス情報の組の取得要求を、当該コンピュータに送信する。当該取得要求には、携帯端末１０の位置情報が含められてもよい。当該コンピュータは、表示端末２０の位置情報と、携帯端末１０の位置情報との比較に基づいて、携帯端末１０に最も近いと推定される表示端末２０に係る表示先情報を携帯端末１０に返信する。
【００７６】
続いて、ＣＰＵ１０４は、初期情報生成処理を実行する（Ｓ２１４）。初期情報生成処理では、ＤＯＭデータｍ１、スタイル定義データｃ１、イベント通知スクリプトｓｃ１、及びコンテンツ識別子等が生成される。
【００７７】
続いて、データ配信部１１８は、各表示端末２０に対して、コンテンツ識別子、ＤＯＭデータｍ１、スタイル定義データｃ１、イベント通知スクリプトｓｃ１、及び表示位置情報等を配信する（Ｓ２１５）。配信先の表示端末２０は、ステップＳ２１３において取得された表示先情報に含まれているアドレス情報に基づいて特定可能である。また、表示位置情報も、ステップＳ２１３において取得された表示先情報に含まれている。
【００７８】
続いて、変更監視部１１７は、ＤＯＭツリーを構成する全てのＤＯＭに対して、ＤＯＭツリーの変更を監視するためのイベントハンドラを設定する（Ｓ２１６）。例えば、Ｗｅｂ標準で規定されている、ＤＯＭ変更時に発生するＭｕｔａｔｉｏｎＥｖｅｎｔを監視するイベントハンドラが設定されてもよい。例えば、ＤＯＭ要素の追加又は削除等が発生した場合、ＭｕｔａｔｉｏｎＥｖｅｎｔのうちＤＯＭＳｕｂｔｒｅｅＭｏｄｉｆｉｅｄイベントが発生する。また、ＤＯＭ要素の属性が変更された場合、ＤＯＭＡｔｔｒＭｏｄｉｆｉｅｄイベントが発生する。ＭｕｔａｔｉｏｎＥｖｅｎｔについては、例えば、「https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Mutation_events」において詳細に説明されている。なお、定期的にＤＯＭツリーをチェックし、差分の有無を判定することにより、ＤＯＭツリーの変更が検知されてもよい。
【００７９】
続いて、変更監視部１１７は、ＤＯＭ要素のうちのフォーム要素に対して、フォーム値の変更を監視するためのイベントハンドラを設定する（Ｓ２１７）。続いて、変更監視部１１７は、ＤＯＭ要素のうちのｖｉｄｅｏ要素に対して、動画コンテンツの再生状態の変更を監視するためのイベントハンドラを設定する（Ｓ２１７）。再生状態の変更とは、再生の開始、再生の一時停止、再生の停止、及びシーク等である。なお、ｖｉｄｅｏ要素とは、ＨＴＭＬ５において追加されたｖｉｄｅｏタグに係る要素をいう。ＨＴＭＬ５では、ｖｉｄｅｏタグを使用することで、プラグイン等をインストールすることなく、動画コンテンツの再生等を行うことができる。
【００８０】
続いて、変更監視部１１７は、各表示端末２０からのイベント発生通知の受信を監視するためのイベントハンドラを設定する（Ｓ２１９）。続いて、変更監視部１１７は、イベント待機処理を実行する（Ｓ２２０）。すなわち、変更監視部１１７は、ステップＳ２１６〜Ｓ２１９において設定したイベントハンドラに関するイベントの発生を待機する。
【００８１】
続いて、ステップＳ２１４の詳細について説明する。図１５は、初期情報生成処理の処理手順の一例を説明するためのフローチャートである。
【００８２】
ステップＳ２３１において、ＤＯＭ抽出部１１５は、コンテンツ描画部１１２を介して、コンテンツ表示情報からＤＯＭツリーを抽出し、当該ＤＯＭツリーを文字列化してＤＯＭデータｍ１を生成する。続いて、ＤＯＭ抽出部１１５は、ＤＯＭツリーを構成するＤＯＭ要素の中に、ｖｉｄｅｏ要素が有れば、ＤＯＭデータ内において、当該ｖｉｄｅｏ要素に係るパス名を、絶対パス名に変換する（Ｓ２３２）。当該ｖｉｄｅｏ要素に係るパス名とは、当該ｖｉｄｅｏ要素のｓｒｃ属性の値として設定されているパス名、又は当該ｖｉｄｅｏ要素内のｓｏｕｒｃｅタグのｓｒｃ属性の値として設定されているパス名である。当該パス名が絶対パス名に変換されるのは、表示端末２０において、当該パス名に係る動画コンテンツにアクセス可能とするためである。すなわち、動画コンテンツは、各表示端末２０においてダウンロードされる。
【００８３】
続いて、スタイル抽出部１１６は、コンテンツ描画部１１２を介して、コンテンツ表示情報からスタイル定義を抽出し、当該スタイル定義を文字列化してスタイル定義データｃ１を生成する（Ｓ２３３）。
【００８４】
続いて、ＤＯＭツリーを構成するＤＯＭ要素ごとにループ処理Ｌ２が実行される。以下、ループ処理Ｌ２において処理対象とされているＤＯＭ要素を、「対象要素」という。
【００８５】
ステップＳ２３４において、イベントハンドラ抽出部１１３は、対象要素に設定されたイベントハンドラの監視対象イベントを抽出する（Ｓ２３４）。続いて、イベントハンドラ抽出部１１３は、対象要素がフォーム要素であるか否かによって処理を分岐させる（Ｓ２３５）。対象要素がフォーム要素である場合（Ｓ２３５でＹｅｓ）、ステップＳ２３６に進む。対象要素がフォーム要素でない場合（Ｓ２３５でＮｏ）、ステップＳ２３７に進む。
【００８６】
ステップＳ２３６において、イベントハンドラ抽出部１１３は、対象要素のフォーム値の変更を監視対象イベントとするイベントハンドラが対象要素に設定されていなければ、当該監視対象イベントを、ステップＳ２３４における抽出結果に追加する。ステップＳ２３６の実行後、ステップＳ２３９に進む。
【００８７】
ステップＳ２３７において、イベントハンドラ抽出部１１３は、対象要素がｖｉｄｅｏ要素であるか否かによって処理を分岐させる。対象要素がｖｉｄｅｏ要素である場合（Ｓ２３７でＹｅｓ）、ステップＳ２３８に進む。対象要素がｖｉｄｅｏ要素でない場合（Ｓ２３７でＮｏ）、ステップＳ２３９に進む。
【００８８】
ステップＳ２３８において、イベントハンドラ抽出部１１３は、対象要素における動画の再生状態の変更を示すイベント（再生の開始イベント、再生の一時停止イベント、再生の停止イベント、又はシークイベント等）を監視対象とするイベントハンドラが対象要素に設定されていなければ、当該監視対象イベントを、ステップＳ２３４における抽出結果に追加する。ステップＳ２３８の実行後、ステップＳ２３９に進む。
【００８９】
ステップＳ２３９において、スクリプト生成部１１４は、抽出結果に含まれている監視対象イベントを、携帯端末１０に通知させるためのイベントハンドラを、イベント通知スクリプトｓｃ１に追加する（Ｓ２３９）。
【００９０】
ループ処理Ｌ２が終了すると、データ配信部１１８は、コンテンツ識別子を生成する（Ｓ２４０）。コンテンツ識別子は、例えば、乱数を利用して生成されてもよい。又は、携帯端末１０ごとの識別情報（例えば、アドレス情報等）を用いて生成されてもよい。また、携帯端末１０において同時に表示可能なＷｅｂコンテンツが一つである場合、携帯端末１０ごとの識別情報が、そのままコンテンツ識別子とされてもよい
続いて、図１４のステップＳ２２０の詳細について説明する。図１６は、イベント待機処理の処理手順の一例を説明するためのフローチャートである。
【００９１】
ＤＯＭツリーの変更を監視するためのイベントハンドラが呼び出されると（Ｓ２５１でＹｅｓ）、変更監視部１１７は、当該イベントハンドラによって検知されたイベントに関する情報（以下、「変化通知情報」という。）から、差分データを抽出する（Ｓ２５２）。すなわち、ＭｕｔａｔｉｏｎＥｖｅｎｔ内には、差分データが含まれている。
【００９２】
続いて、データ配信部１１８は、コンテンツ識別子及び差分データを、各表示端末２０に配信する（Ｓ２５３）。
【００９３】
また、いずれかの表示端末２０からのイベント発生通知の受信を監視するためのイベントハンドラが呼び出されると（Ｓ２６１でＹｅｓ）、変更監視部１１７は、当該イベント発生通知によって通知された情報に基づいて、擬似的なイベントを生成する（Ｓ２６２）。続いて、当該イベント発生通知によって示されるイベントの対象とされたＤＯＭ要素に対して、生成したイベントを発生させる（Ｓ２６３）。その結果、携帯端末１０側においてＤＯＭツリーが変更される。当該ＤＯＭツリーの変更は、ステップＳ２５１において検知される。したがって、ステップＳ２６２に続いて、ステップＳ２５２以降が実行される。すなわち、ステップＳ２５１において検知されるＤＯＭツリーの変更は、携帯端末１０における操作に起因するものと、表示端末２０における操作に起因するものとが有る。
【００９４】
また、フォーム要素のフォーム値の変更を監視するためのイベントハンドラが呼び出されると（Ｓ２７１でＹｅｓ）、変更監視部１１７は、フォーム値が変化したフォーム要素（以下、「対象要素」という。）の識別子と、変更後のフォーム値とを対象要素から抽出する（Ｓ２７２）。フォーム要素の識別子は、フォーム上における何番目の要素であるかを示す値でもよい。又は、ＣＳＳのセレクタ若しくはｘｐａｔｈ等が、当該識別子として用いられてもよい。続いて、データ配信部１１８は、フォーム値の変更命令を、各表示端末２０に配信する（Ｓ２７３）。当該命令は、コンテンツ識別子、並びに対象要素の識別子及びフォーム値を含む。その結果、各表示端末２０において、対象要素のフォーム値が変化する。
【００９５】
また、ｖｉｄｅｏ要素の動画の再生状態の変更を監視するためのイベントハンドラが呼び出されると（Ｓ２８１でＹｅｓ）、変更監視部１１７は、当該ｖｉｄｅｏ要素（以下、「対象要素」という。）の識別子と、変更後の動画の再生状態を示す情報とを、対象要素から抽出する（Ｓ２８２）。続いて、データ配信部１１８は、動画の再生状態の変更命令を、各表示端末２０に配信する（Ｓ２８３）。当該命令は、コンテンツ識別子、並びに対象要素の識別子及び動画の再生状態を示す情報等を含む。その結果、各表示端末２０において、対象要素の動画の再生状態が変化する。
【００９６】
続いて、表示端末２０が実行する処理について説明する。図１７は、同期データ受信スクリプトが表示端末に実行させる処理手順の一例を説明するためのフローチャートである。図１７では、同期データ受信スクリプトの読み込みは既に実行されていることとする。
【００９７】
データ受信部２１１は、携帯端末１０からの情報の受信を待機している（Ｓ３０１）。携帯端末１０から何らかの情報が受信されると（Ｓ３０１でＹｅｓ）、データ受信部２１１は、受信された情報が初期情報であるか否かを判定する（Ｓ３０２）。初期情報は、図１４のステップＳ２１５において、携帯端末１０から各表示端末２０に配信される、コンテンツ識別子、ＤＯＭデータｍ１、スタイル定義データｃ１、イベント通知スクリプトｓｃ１、及び表示位置情報等である。
【００９８】
初期情報が受信された場合（Ｓ３０２でＹｅｓ）、表示領域生成部２１２は、表示位置情報が示す位置及びサイズのインラインフレーム（ｉｆｒａｍｅ）を、コンテンツ描画部２１５に生成させる（Ｓ３０３）。すなわち、本実施の形態では、上記における表示領域の一例として、Ｗｅｂブラウザのウィンドウではなく、インラインフレームが用いられる。インラインフレームは、或るＷｅｂコンテンツの中に、別のＷｅｂコンテンツを表示するために用いられるフレームである。インラインフレーム内は、インラインフレーム外とは独立して画像を表示できるため、同じサイズのインラインフレームであれば、同じＤＯＭデータ、スタイル定義データに基づいて同じ表示状態の画像が再現される。したがって、例えば、統合ディスプレイＤ２（図２）を実現する際に、各ディスプレイの画像を滑らかに接続できる可能性が高いという利点が有る。但し、インラインフレームの代わりに、Ｗｅｂブラウザのウィンドウが生成されてもよい。
【００９９】
続いて、表示状態適用部２１４は、コンテンツ識別子、ＤＯＭデータｍ１、及びスタイル定義ｃ１を、コンテンツ描画部２１５（インラインフレーム）に適用する（Ｓ３０４）。その結果、Ｗｅｂコンテンツの画像が、インラインフレーム内に表示される。また、当該インラインフレームに、当該コンテンツ識別子が関連付けられる。なお、ＤＯＭデータｍ１に基づいて再現されるＤＯＭツリーにｖｉｄｅｏ要素が含まれている場合、当該ｖｉｄｅｏ要素に係る絶対パス名に基づいて、動画コンテンツが取得され、再生される。
【０１００】
続いて、イベントハンドラ設定部２１３は、イベント通知スクリプトｓｃ１を実行する（Ｓ３０５）。イベント通知スクリプトｓｃ１は、表示端末２０を、イベント送信部２１６として機能させる。
【０１０１】
一方、受信された情報が初期情報でない場合（Ｓ３０２でＮｏ）、データ受信部２１１は、受信されたのがフォーム値の変更命令であるか否かを判定する（Ｓ３０６）。フォーム値の変更命令は、図１６のステップＳ２７３において送信される。
【０１０２】
フォーム値の変更命令が受信された場合（Ｓ３０６でＹｅｓ）、表示状態適用部２１４は、当該変更命令に含まれているコンテンツ識別子に関連付けられているインラインフレームに表示されているフォーム要素のうち、当該変更命令に含まれている識別子に係るフォーム要素（以下、「対象要素」という。）に対する、フォーム値の変更を監視するためのイベントハンドラの設定を解除する（Ｓ３０７）。続いて、表示状態適用部２１４は、対象要素に対して、当該変更命令に含まれているフォーム値を適用する（Ｓ３０８）。なお、ステップＳ３０７の趣旨は、ステップＳ３０８の実行により、当該フォーム値の変更が、携帯端末１０に通知され、更に、携帯端末１０から当該フォーム値の変更が通知されるといった、イベント通知のループの発生を回避するためのである。
【０１０３】
続いて、表示状態適用部２１４は、ステップＳ３０７において設定が解除されたイベントハンドラを、対象要素に再設定する（Ｓ３０９）。
【０１０４】
動画コンテンツの再生状態の変更命令が受信された場合（Ｓ３１０でＹｅｓ）、表示状態適用部２１４は、当該変更命令に含まれているコンテンツ識別子に関連付けられているインラインフレームに表示されているｖｉｄｅｏ要素のうち、当該変更命令に含まれている識別子に係るｖｉｄｅｏ要素（以下、「対象要素」という。）に対する、動画コンテンツの再生状態の変更を監視するためのイベントハンドラの設定を解除する（Ｓ３１１）。なお、ステップＳ３１１の趣旨は、ステップＳ３０７と同様である。続いて、表示状態適用部２１４は、対象要素に対して、当該変更命令に含まれている動画コンテンツの再生状態を適用する（Ｓ３１２）。
【０１０５】
続いて、表示状態適用部２１４は、ステップＳ３１１において設定が解除されたイベントハンドラを、対象要素に再設定する（Ｓ３１３）。
【０１０６】
また、受信された情報が、差分データである場合（Ｓ３１０でＮｏ）、表示状態適用部２１４は、差分データと共に受信されたコンテンツ識別子に係るインラインフレームに対して、当該差分データを適用する（Ｓ３１４）。その結果、インラインフレーム内の画像の表示状態が、携帯端末１０の表示状態に同期される。
【０１０７】
図１８は、イベント通知スクリプトが表示端末に実行させる処理手順の一例を説明するためのフローチャートである。
【０１０８】
イベント送信部２１６は、イベントの発生を待機している（Ｓ３２１）。イベント通知スクリプトに含まれるいずれかのイベントハンドラが呼び出されると（Ｓ３２１でＹｅｓ）、イベント送信部２１６は、当該イベントハンドラの定義に従って、通知先として指定されている携帯端末１０に、イベント発生通知を送信する。イベント発生通知には、イベントの対象とされたＤＯＭ要素を示す情報及びイベントの種別を示す情報等が含まれる
なお、本実施の形態では、携帯端末１０と各表示端末２０とが直接的に通信する例について説明したが、携帯端末１０と各表示端末２０との通信は、シグナリングサーバ、ＳＴＵＮ（Simple Traversal of UDP through NATs）サーバ、又はＴＵＲＮ（Traversal Using Relay NAT）サーバ等によって仲介又は中継されてもよい。
【０１０９】
また、本実施の形態では、イベントハンドラ抽出部１１３によってイベントハンドラが抽出され、抽出されたイベントハンドラに基づいて、イベント通知スクリプトｓｃ１が生成される例を示した。しかし、これらの処理は省略されてもよい。例えば、各表示端末２０は、全てのＤＯＭ要素に対する全てのイベントを監視し、全てのイベントの発生を携帯端末１０に通知するようにしてもよい。但し、この場合、全てのイベントが携帯端末１０に通知されるため、通信量が増加する可能性が有る。換言すれば、イベントハンドラ抽出部１１３によってイベントハンドラが抽出されることにより、表示端末２０から携帯端末１０に通知されるイベントを、必要なものに限定することができ、通信量の増加を抑制することができる。
【０１１０】
また、本実施の形態では、携帯端末１０のスクリプト生成部１１４が、イベント通知スクリプトｓｃ１を生成する例を示したが、当該スクリプトの生成は、表示端末２０によって行われてもよい。この場合、携帯端末１０は、イベント通知スクリプトｓｃ１を生成するために必要な情報を、各表示端末２０に配信するようにしてもよい。斯かる情報として、イベントハンドラ抽出部１１３による抽出結果が挙げられる。
【０１１１】
また、本実施の形態では、説明の便宜上、携帯端末１０と表示端末２０との間でＷｅｂコンテンツの表示状態が同期される例を示したが、Ｗｅｂコンテンツが同期される装置は、同じ種類の装置であってもよい。例えば、表示端末２０の代わりに携帯端末１０が用いられてもよい。また、携帯端末１０の代わりに、ＰＣ（Personal Computer）等が用いられてもよい。
【０１１２】
また、携帯端末１０としての位置付けの端末は、表示装置１０６を有していなくてもよい。すなわち、当該端末は、ユーザがＷｅｂコンテンツの閲覧に利用する端末でなくてもよい。斯かる場合であっても、複数の表示端末２０間において、表示状態を同期させることができる。
【０１１３】
上述したように、第一の実施の形態によれば、複数の端末間において、いずれの端末が操作対象とされた場合でも、同じＷｅｂコンテンツの表示状態の同期を可能とすることができる。
【０１１４】
また、携帯端末１０又は表示端末２０において実行される処理は、同期データ配信スクリプト、同期データ受信スクリプト、又はイベント通知スクリプト等のスクリプトによって実現される。したがって、各端末は、汎用的なＷｅｂブラウザの機能を有していれば、本実施の形態を実施することができる。
【０１１５】
また、本実施の形態によれば、ＶＮＣ（Virtual Network Computing）等のリモートデスクトップ技術と異なり、ストリーミングによるデータ配信は行われず、ＤＯＭデータやスタイル定義等の構造データが配信される。したがって、データ処理やネットワーク通信の負荷の増加を抑制することができる。また、表示潰れ等、解像度の相違に基づく問題の発生の可能性を低減することができる。
【０１１６】
また、一つのＷｅｂコンテンツに基づいて、表示端末２０用のイベントハンドラが自動生成されるため、携帯端末１０用と表示端末２０用とのそれぞれのＷｅｂコンテンツを開発する必要性を低減することができる。
【０１１７】
次に、第二の実施の形態について説明する。第二の実施の形態では第一の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第一の実施の形態と同様でもよい。
【０１１８】
第二の実施の形態では、セキュリティ上の観点から設けられている、同一生成元ポリシー及びリファラ制限による不都合を回避可能とする例について説明する。
【０１１９】
同一生成元ポリシーとは、ＨＴＭＬファイルと異なるオリジンからダウンロードされたＣＳＳファイルから読み込まれたスタイル定義について、スクリプトからのアクセスが禁止されるという規則である。オリジンとは、ＵＲＬからパス名を除いた部分をいう。すなわち、オリジンは、スキーム、ホスト名、及びポート番号によって特定される。例えば、「ｈｔｔｐ：／／ｗｗｗ．ｗｅｂｐａｇｅ．ｃｏｍ：８８８８／ｓｔｙｌｅ．ｃｓｓ」というＵＲＬであれば、「ｈｔｔｐ」がスキームであり、「ｗｗｗ．ｗｅｂｐａｇｅ．ｃｏｍ」がホスト名であり、８８８８がポート名である。したがって、「ｈｔｔｐ：／／ｗｗｗ．ｗｅｂｐａｇｅ．ｃｏｍ：８８８８」がオリジンである。
【０１２０】
図１９は、同一生成元ポリシーを説明するための図である。図１９に示されるように、ＨＴＭＬ、ＤＯＭ、及びスタイル定義に対するスクリプトによるアクセスは、Ｗｅｂブラウザであるコンテンツ描画部１１２を介して行われる。ＨＴＭＬ及びＤＯＭについて、ブラウザは、スクリプトからのアクセス要求に応じ、アクセスを許可する。一方、スタイル定義については、ブラウザは、参照元のＨＴＭＬファイルと同じオリジンのＣＳＳファイルから読み込まれたスタイル定義に対してのみスクリプトによるアクセスを許可する。換言すれば、ブラウザは、参照元のＨＴＭＬファイルと異なるオリジンのＣＳＳファイルから読み込まれたスタイル定義に対するスクリプトによるアクセスを禁止する。具体的には、ブラウザは、スクリプトから、ＨＴＭＬファイルと異なるＣＳＳファイルに係るスタイル定義の取得が要求された場合、空の値を返却する。
【０１２１】
本実施の形態において、スタイル定義の抽出は、スタイル抽出部１１６によって実行されるが、スタイル抽出部１１６は、同期データ配信スクリプトがＣＰＵ１０４に実行させる処理によって実現される。すなわち、本実施の形態では、スクリプトによって、スタイル定義の抽出が行われる。したがって、ＨＴＭＬファイルとＣＳＳファイルとのオリジンが異なる場合、スタイル抽出部１１６は、スタイル定義を抽出することができない。そうすると、携帯端末１０は、各表示端末２０にスタイル定義を配信することができない。
【０１２２】
但し、スタイル定義は、ＤＯＭツリーと異なり静的なものである。すなわち、スタイル定義は、Ｗｅｂコンテンツに基づいて表示される画像の表示状態が変化したとしても変更されない。そこで、各表示端末２０にＣＳＳファイルのダウンロードを実行させ、当該ＣＳＳファイルからスタイル定義を取得させることが考えられる。
【０１２３】
しかしながら、リファラ制限が適用される場合、このような方法が有効でなくなる可能性が有る。リファラ制限とは、特定のＵＲＬに配置されたＨＴＭＬファイルからの、ＣＳＳファイル、スクリプトファイル、及び画像ファイルの参照を禁止するという規則である。例えば、コンテンツサーバ３０側において、リファラ制限が設けられている場合、表示端末２０に配信されたＤＯＭデータｍ１から参照されているＣＳＳファイルを、表示端末２０が取得できない可能性が有る。
【０１２４】
上記より、第一の実施の形態では、ＨＴＭＬファイルとＣＳＳファイルとのオリジンが異なる場合、表示端末２０側において、当該ＣＳＳファイルに係るスタイル定義を適用することができなくなる可能性が有る。これが、同一生成元ポリシー及びリファラ制限による不都合である。
【０１２５】
斯かる不都合を回避する方法として、以下の二つの方法が挙げられる。
【０１２６】
第一の方法として、スタイル抽出部１１６は、スタイル定義が適用されたＤＯＭツリーにアクセスして、ＤＯＭツリーからスタイル定義を抽出する。ＤＯＭツリーからは、初期状態のスタイル定義を抽出することはできないが、Ｗｅｂコンテンツの表示サイズに合わせて各表示要素の表示位置及びサイズ等が計算された後のスタイル定義を抽出することは可能である。但し、初期状態のスタイル定義において、各要素のサイズや位置等は、割合（％）によって定義されているのに対し、ＤＯＭツリーから抽出されるスタイル定義において、各要素の表示位置やサイズ等は、ピクセル単位となっている。すなわち、前者は相対値であるのに対し、後者は絶対値となっている。
【０１２７】
したがって、第一の方法によれば、携帯端末１０における画像と同じサイズの画像を、表示端末２０に表示させることはできるが、各表示端末２０において表示される画像のサイズを、各表示端末２０において生成されるインラインフレームに合わせたものとするのは困難である。
【０１２８】
図２０は、第二の実施の形態の第一の方法による各端末の画像の表示イメージの例を示す図である。図２０において、ディスプレイＤ１は、携帯端末１０のディスプレイである。ディスプレイＤ３は、大型の表示端末２０のディスプレイである。ディスプレイＤ４は、小型の表示端末２０のディスプレイである。図２０に示されるように、第一の方法では、各表示端末２０に配信されるスタイル定義が絶対値に基づくものであるため、各表示端末２０には、携帯端末１０と同じサイズの画像が表示されてしまう。
【０１２９】
第一の方法による不都合を解消可能な第二の方法について説明する。第二の方法において、コンテンツ描画部１１２は、図２１に示されるように画像を描画する。
【０１３０】
図２１は、第二の実施の形態の第二の方法における画像の描画例を示す図である。図２１に示されるように、第二の方法において、携帯端末１０では、一つのＷｅｂコンテンツに基づいて、画像５００ａ及び画像５００ｂの二つの画像が描画される。画像５００ａは、携帯端末１０のＷｅｂブラウザのウィンドウ（以下、「ブラウザ領域」という。）内、すなわち、携帯端末１０のディスプレイＤ１において表示対象となる範囲Ａ１内に生成される。
【０１３１】
一方、画像５００ｂは、ディスプレイＤ１において表示対象となる範囲Ａ１外（以下、「非表示領域」という。）に生成されるインラインフレームＡ２内に描画される。インラインフレームＡ２は、表示端末２０において生成されるインラインフレームのサイズ（高さ及び幅）を有する。スタイル抽出部１１６は、インラインフレームＡ２に対して生成されたＤＯＭツリーから、スタイル定義を抽出する。データ配信部１１８は、当該スタイル定義を、各表示端末２０に配信する。当該スタイル定義において、各表示要素の座標値は、絶対値である。ここで、当該座標値は、表示端末２０において生成されるインラインフレームと同じサイズに基づいて算出されたものである。したがって、当該スタイル定義に基づいて各表示端末２０において描画される画像５００のサイズは、各表示端末２０のディスプレイのサイズに対応したものとなる。また、画像５００ｂは、非表示領域に描画されるため、携帯端末１０における画像の表示状態には影響しない。
【０１３２】
なお、各表示端末２０におけるインラインフレームのサイズが異なる場合、それぞれのサイズの複数のインラインフレームが、非表示領域に生成されてもよい。
【０１３３】
第二の方法が採用される場合、図１５のステップＳ２３３が、例えば、図２２に示されるように変更される。
【０１３４】
図２２は、第二の実施の形態の第二の方法におけるスタイル定義の抽出処理の処理手順の一例を説明するためのフローチャートである。
【０１３５】
ステップＳ３３１において、スタイル抽出部１１６は、表示対象とされているＷｅｂコンテンツのＣＳＳファイルのＵＲＬの一覧を取得する。続いて、スタイル抽出部１１６は、当該一覧に含まれるＵＲＬの全てのオリジンが、当該ＷｅｂコンテンツのＨＴＭＬファイルのオリジンと同じであるか否かを判定する（Ｓ３３２）。全てのＵＲＬのオリジンが、当該ＨＴＭＬファイルのオリジンと同じである場合（Ｓ３３２でＹｅｓ）、スタイル抽出部１１６は、コンテンツ描画部１１２を介して、コンテンツ表示情報からスタイル定義を抽出し、当該スタイル定義を文字列化してスタイル定義データｃ１を生成する（Ｓ３３３）。
【０１３６】
一方、少なくとも一部のＣＳＳファイルのＵＲＬのオリジンが、ＨＴＭＬファイルのオリジンと異なる場合（Ｓ３３２でＮｏ）、スタイル抽出部１１６は、非表示領域へのインラインフレームの生成を、コンテンツ描画部１１２に実行させる（Ｓ３３４）。続いて、スタイル抽出部１１６は、当該インラインフレームのサイズを、表示端末２０において生成されるインラインフレームのサイズに合わせる（Ｓ３３５）。なお、表示端末２０において生成されるインラインフレームのサイズを示す情報は、例えば、表示先情報記憶部１３１において、表示端末２０ごとに記憶されていてもよい。
【０１３７】
続いて、スタイル抽出部１１６は、ブラウザ領域に対して生成されているＤＯＭツリーを取得し、当該ＤＯＭツリーをインラインフレームに適用する（Ｓ３３６）。続いて、スタイル抽出部１１６は、インラインフレームに対する各ＣＳＳファイルの適用を、コンテンツ描画部１１２に実行させる（Ｓ３３７）。なお、コンテンツ描画部１１２は、Ｗｅｂブラウザによって実現されるため、ＨＴＭＬファイルと異なるオリジンに配置されたＣＳＳファイルにアクセス可能である。
【０１３８】
続いて、スタイル抽出部１１６は、コンテンツ描画部１１２を介して、インラインフレームからスタイル定義を抽出し、当該スタイル定義を文字列化してスタイル定義データｃ１を生成する（Ｓ３３８）。すなわち、当該インラインフレームのサイズに合わせて計算された絶対値の座標値を含むスタイル定義データｃ１が生成される。
【０１３９】
上述したように、第二の実施の形態によれば、ＣＳＳファイルが、ＨＴＭＬファイルと異なるオリジンに配置される場合であっても、第一の実施の形態と同様の効果を得ることができる。
【０１４０】
次に、第三の実施の形態について説明する。第三の実施の形態では第一の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第一の実施の形態と同様でもよい。
【０１４１】
図２３は、第三の実施の形態における携帯端末及び表示端末の機能構成例を示す図である。図２３中、図４と同一部分には同一符号を付し、その説明は省略する。
【０１４２】
図２３において、携帯端末１０は、イベントハンドラ抽出部１１３及びスクリプト生成部１１４の代わりに、スクリプト取得部１２１を有する。一方、表示端末２０は、イベントハンドラ設定部２１３を有さない。
【０１４３】
スクリプト取得部１２１は、Ｗｅｂコンテンツを構成するスクリプトによる定義（以下、「スクリプト定義」という。）を、コンテンツ描画部１１２から取得する。したがって、第三の実施の形態では、データ配信部１１８によって各表示端末２０に配信される初期情報には、イベント通知スクリプトｓｃ１の代わりに、スクリプト取得部１２１によって取得されたスクリプト定義が含まれる。よって、表示端末２０は、イベント通知スクリプトｓｃ１に関する処理を実行するイベントハンドラ設定部２１３を有していなくてもよい。
【０１４４】
すなわち、第三の実施の形態では、同一のＷｅｂコンテンツに関するイベントハンドラの定義内容は、携帯端末１０と表示端末２０との間で同じとなる。このような状態において、第一の実施の形態の図１１等において説明したような処理を可能とするため、第三の実施の形態では、スクリプトにおいて呼び出される関数に対する実装部分であるライブラリが、携帯端末１０と表示端末２０とにおいて異なる。
【０１４５】
図２４は、第三の実施の形態の仕組みを説明するための図である。図２４において、携帯端末１０は、ライブラリＬ１を有し、表示端末２０は、ライブラリＬ２を有する。ライブラリＬ１及びＬ２は、それぞれ同じ関数の集合であるが、各関数の実装内容が異なる。例えば、携帯端末１０と、表示端末２０とにおいて、同一のＷｅｂコンテンツに関する画像５００が表示されているとする。この状態において、携帯端末１０に表示されている画像５００内のボタンｂ１が押下されると、コンテンツ描画部１１２は、ボタン押下時の処理定義を含むイベントハンドラｈ１１に基づく処理を実行する。イベントハンドラｈ１１内において、ライブラリＬ１に含まれるＢ１（）という名前の関数が呼び出されると、ライブラリＬ１におけるＢ１（）の実装に基づいて、ＤＯＭツリーの更新処理が実行される。
【０１４６】
一方、表示端末２０に表示されている画像５００内のボタンｂ１が押下されると、コンテンツ描画部２１５は、ボタン押下時の処理定義を含むイベントハンドラｈ１１に基づく処理を実行する。イベントハンドラｈ１１内において、ライブラリＬ１に含まれるＢ１（）という名前の関数が呼び出されると、ライブラリＬ１におけるＢ１（）の実装に基づいて、ボタン押下の通知処理が実行される。その結果、ボタンｂ１の押下が、携帯端末１０に通知される。
【０１４７】
図９を用いて更に詳しく説明すると、第三の実施の形態において、携帯端末１０におけるイベントハンドラの定義内容が、イベントハンドラｅｈ１１１及びｅｈ１１２である場合、表示端末２０におけるイベントハンドラの定義内容は、イベントハンドラｅｈ１１１及びｅｈ１１２である。すなわち、双方の端末のイベントハンドラの定義内容は同じである。第三の実施の形態では、各イベントハンドラにおいて呼びされる関数の実装が双方の端末において異なる。例えば、イベントハンドラｅｈ１１１であれば、「＄（'＃ｔｏ'）．ａｐｐｅｎｄ」に関する実装が、ライブラリＬ１とライブラリＬ２とで異なる。
【０１４８】
なお、ライブラリＬ２は、予め表示端末２０にインストールされていてもよいし、携帯端末１０から表示端末２０に送信されてもよい。
【０１４９】
上述したように、第三の実施の形態によれば、イベント通知スクリプトｓｃ１を生成する代わりに、スクリプトから呼び出される関数の実装を各端末において異ならせることで、第一の実施の形態と同様の効果を得ることができる。なお、第三の実施の形態は、第二の実施の形態と組み合わされてもよい。
【０１５０】
次に、第四の実施の形態について説明する。第四の実施の形態では第一の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第一の実施の形態と同様でもよい。
【０１５１】
図２５は、第四の実施の形態における携帯端末及び表示端末の機能構成例を示す図である。図２５中、図４と同一部分には同一符号を付し、その説明は省略する。
【０１５２】
図２３において、携帯端末１０は、イベントハンドラ抽出部１１３及びスクリプト生成部１１４の代わりに、スクリプト取得部１２１及びスクリプト編集部１２２を有する。一方、表示端末２０は、イベントハンドラ設定部２１３を有さない
スクリプト取得部１２１については、図２３において説明した通りである。スクリプト編集部１２２は、スクリプト取得部１２１によって取得されたスクリプト定義を編集する。第三の実施の形態では、データ配信部１１８によって各表示端末２０に配信される初期情報には、イベント通知スクリプトｓｃ１の代わりに、スクリプト編集部１２２によって編集されたスクリプト定義が含まれる。したがって、表示端末２０は、イベント通知スクリプトｓｃ１に関する処理を実行するイベントハンドラ設定部２１３を有していなくてもよい。
【０１５３】
第四の実施の形態において、Ｗｅｂコンテンツを構成するスクリプト定義のイベントハンドラには、携帯端末１０において実行すべき処理と、表示端末２０において実行すべき処理とが定義されている。但し、初期状態のスクリプト定義において、表示端末２０において実行すべき処理は無効化（コメントアウト）されている。
【０１５４】
スクリプト編集部１２２は、スクリプト取得部１２１によって取得されたスクリプト定義について、表示端末２０において実行すべき処理が有効化され、携帯端末１０において実行すべき処理が無効化されるように、編集を行う。その結果、表示端末２０には、各イベントハンドラにおいて、携帯端末１０にイベントを通知する処理が有効化されたスクリプト定義が配信される。なお、携帯端末１０において実行すべき処理の無効化は、当該処理に関する定義がコメントアウトされることによって行われてもよいし、当該処理に関する定義が削除されることによって行われてもよい。
【０１５５】
図２６は、第四の実施の形態の仕組みを説明するための図である。図２６中、図２４と同一部分には同一符号を付し、その説明は、省略する。
【０１５６】
図２６において、携帯端末１０に表示されている画像５００内のボタンｂ１が押下されると、コンテンツ描画部１１２は、ボタン押下時の処理定義を含むイベントハンドラｈ２１に基づく処理を実行する。イベントハンドラｈ２１においては、「ＳＢ．ｊｓ」が有効化され、「ＴＢ．ｊｓ」が無効化されている。「ＳＢ．ｊｓ」は、携帯端末１０において実行すべき処理、例えば、ＤＯＭツリーの変更処理等である。
【０１５７】
一方、表示端末２０に表示されている画像５００内のボタンｂ１が押下されると、コンテンツ描画部２１５は、ボタン押下時の処理定義を含むイベントハンドラｈ２２を実行する。イベントハンドラｈ２１においては、「ＴＢ．ｊｓ」が有効化され、「ＳＢ．ｊｓ」が無効化されている。「ＴＢ．ｊｓ」は、表示端末２０において実行すべき処理、例えば、ボタンｂ１の押下の通知処理等である。
【０１５８】
図９を用いて更に詳しく説明すると、第四の実施の形態において、イベントハンドラｅｈ１１には、「＄（'＃ｔｏ'）．ａｐｐｅｎｄ（'＜ｓｐａｎ＞'  ＋  ｅｖｅｎｔ．ｐａｇｅＸ  ＋'＜／ｓｐａｎ＞'）；」に加えて、イベントハンドラｅｈ２１の定義内容である、「sｅｎｄｅｒ．ｓｅｎｄＭｅｓｓａｇｅ（'＃ｔａｒｇｅｔ'，  ｅｖｅｎｔ）；」がコメントアウトされて含まれている。
【０１５９】
スクリプト編集部１２２は、「＄（'＃ｔｏ'）．ａｐｐｅｎｄ（'＜ｓｐａｎ＞'  ＋  ｅｖｅｎｔ．ｐａｇｅＸ  ＋'＜／ｓｐａｎ＞'）；」を無効化し、「sｅｎｄｅｒ．ｓｅｎｄＭｅｓｓａｇｅ（'＃ｔａｒｇｅｔ'，  ｅｖｅｎｔ）；」が有効化する。データ配信部１１８は、斯かる編集が行われたスクリプト定義を、各表示端末２０に配信する。その結果、表示端末２０における操作が、携帯端末１０に通知されるようになる。
【０１６０】
なお、スクリプト編集部１２２が実行する処理は、各表示端末２０において行われてもよい。但し、表示端末２０が複数の場合、複数の表示端末２０において同じ編集処理が実行される。したがって、この場合、携帯端末１０において一元的に編集処理が実行された方が、効率的である。
【０１６１】
上述したように、第四の実施の形態によれば、スクリプト定義には、携帯端末１０用の処理定義に加え、表示端末２０用の処理定義が無効化されて含まれている。表示端末２０においては、携帯端末１０用の処理定義が無効化され、表示端末２０用の処理定義が有効化されたスクリプト定義が適用されることで、第一の実施の形態と同様の効果を得ることができる。なお、第四の実施の形態は、第二の実施の形態と組み合わされてもよい。
【０１６２】
次に、第五の実施の形態について説明する。第五の実施の形態では、第一〜第四の実施の形態において説明した技術について、具体的な利用シーンへの応用例を説明する。第五の実施の形態において、スマートテーブル２０ａが表示端末２０の一例であるとする。或る会議室に、１台のスマートテーブル２０ａが配置されている状況を想定する。スマートテーブル２０ａは、第一〜第四の実施の形態のいずれかの実施の形態における表示端末２０と同様の機能構成を有する。
【０１６３】
図２７は、第五の実施の形態においてスマートテーブルが実行する処理手順の一例を説明するためのフローチャートである。
【０１６４】
スマートテーブル２０ａは、例えば、会議室内に設置されている無線ＬＡＮのアクセスポイントへの携帯端末１０の接続を待機している（Ｓ４０１）。携帯端末１０のユーザが、会議室に入ると、携帯端末１０は、無線ＬＡＮに接続される。以降において、スマートテーブル２０ａと携帯端末１０との通信は、当該無線ＬＡＮを介して行われる。スマートテーブル２０ａは、携帯端末１０による無線ＬＡＮへの接続を検知すると、スマートテーブル２０ａ対応用アプリと、１以上のＷｅｂコンテンツとを、携帯端末１０に送信する（Ｓ４０２）。スマートテーブル２０ａ対応用アプリとは、スマートテーブル２０ａとの連携のための処理を携帯端末１０に実行させるためのアプリケーションプログラムである。１以上のＷｅｂコンテンツは、例えば、会議室という場に適したＷｅｂコンテンツである。但し、Ｗｅｂコンテンツは、コンテンツサーバ３０からダウンロードされてもよい。この場合、スマートテーブル２０ａは、Ｗｅｂコンテンツの代わりに、スマートテーブル２０ａ又は会議室の識別情報を、携帯端末１０に送信してもよい。スマートテーブル対応アプリは、当該識別情報に対応するＷｅｂコンテンツのダウンロードを、携帯端末１０に実行させてもよい。
【０１６５】
続いて、スマートテーブル２０ａは、スマートテーブル２０ａへの携帯端末１０の載置を待機する（Ｓ４０３）。なお、スマートテーブル２０ａは、携帯端末１０の載置を促すメッセージを、その表示装置（タッチパネル）に表示させてもよい。
【０１６６】
スマートテーブル２０ａは、携帯端末１０が載置されたことを検知すると（Ｓ４０３でＹｅｓ）、携帯端末１０が載置された位置を検出する（Ｓ４０４）。なお、携帯端末１０の載置は、例えば、携帯端末１０からの通知に基づいて検知される。又は、スマートテーブル２０ａに備えられたセンサによって、携帯端末１０の載置が検知されてもよい。
【０１６７】
携帯端末１０の位置は、例えば、スマートテーブル対応アプリが携帯端末１０に表示させる所定のパターン（以下、「位置認識用パターン」という。）が、会議室に設置され、スマートテーブル２０ａに接続されているカメラによって認識されることにより、検出されてもよい。
【０１６８】
又は、携帯端末１０が備えたセンサによって、携帯端末１０が載置された位置が検出されてもよい。例えば、スマートテーブル２０ａ上には、複数箇所にＮＦＣ（Near field communication）タグが貼り付けられている。スマートテーブル２０ａ上に載置された携帯端末１０が備えるＮＦＣリーダによって、ＮＦＣタグのＩＤが読み込まれる。携帯端末１０は、当該ＩＤをスマートテーブル２０ａに通知することで、スマートテーブル２０ａは、携帯端末１０の位置を検出する。なお、ＮＦＣタグ上に携帯端末１０を載置してらうために、スマートテーブル２０ａは、ユーザの接近を人感センサ等で検知し、ＮＦＣタグが貼られた位置に、携帯端末１０の載置を促すメッセージ等を表示させてもよい。
【０１６９】
続いて、スマートテーブル２０ａは、携帯端末１０の位置情報を、携帯端末１０に送信する（Ｓ４０５）。位置情報は、スマートテーブル２０ａが、スマートテーブル２０ａ上の位置を認識可能な情報であればよい。例えば、位置を示すＩＤや座標値等が、位置情報であってもよい。続いて、スマートテーブル２０ａは、携帯端末１０からのウィンドウの生成要求を待機する（Ｓ４０６）。ウィンドウとは、Ｗｅｂコンテンツに基づく画像が表示されるウィンドウであり、例えば、スマートテーブル２０ａが備えるＷｅｂブラウザによって表示される。
【０１７０】
携帯端末１０からのウィンドウの生成要求が受信されると（Ｓ４０６でＹｅｓ）、スマートテーブル２０ａの表示領域生成部２１２は、当該生成要求において指定された位置に、当該生成要求において指定された個数のウィンドウを、コンテンツ描画部２１５に生成させる（Ｓ４０７）。なお、複数のウィンドウが生成される場合、各ウィンドウは、一部又は全部が重なるように配置されてもよいし、相互に重畳しないように配列されてもよい。
【０１７１】
続いて、スマートテーブル２０ａは、生成された各ウィンドウのＩＤ（以下、「ウィンドウＩＤ」という。）を、携帯端末１０に送信する（Ｓ４０８）。
【０１７２】
続いて、スマートテーブル２０ａのデータ受信部２１１は、初期情報又は差分データの受信を待機する（Ｓ４０９）。初期情報とは、第一の実施の形態、第三の実施の形態、又は第四の実施の形態において説明した初期情報である。また、差分データとは、第一の実施の形態において説明した差分データである。
【０１７３】
データ受信部２１１によって初期情報又は差分データが受信されると（Ｓ４０９でＹｅｓ）、スマートテーブル２０ａの表示状態適用部２１４は、初期情報又は差分データを、当該初期情報又は差分データと共に受信されるウィンドウＩＤに係るウィンドウに適用する（Ｓ４１０）。その結果、当該ウィンドウにおける画像の表示状態は、携帯端末１０における表示状態に同期したものとなる。
【０１７４】
図２８は、携帯端末の表示状態とスマートテーブルの表示状態との同期の例を示す図である。図２８には、スマートテーブル２０ａを上から見た図が示されている。スマートテーブル２０ａのタッチパネルＰ１の枠の部分に、携帯端末１０が載置されている。また、携帯端末１０が載置された位置に対応させて、ウィンドウＷ１が表示されている。ウィンドウＷ１に表示される画像の表示状態は、携帯端末１０における画像の表示状態と同じである。なお、図２８では、便宜上、ウィンドウが１つだけ生成された例が示されている。また、図２８では、複数の携帯端末１０における画像を、それぞれの携帯端末１０が載置された位置に同時に表示可能なように、タッチパネルＰ１の一部分にウィンドウＷ１が表示されている。但し、ウィンドウＷ１が、タッチパネルＰ１の全面に拡大されて表示されてもよい。
【０１７５】
続いて、スマートテーブル２０ａのコンテンツ描画部２１５は、ユーザによる操作入力を待機する（Ｓ４１１）。ユーザによる操作が入力されると、スマートテーブル２０ａは、当該操作の内容を示す情報を、携帯端末１０送信する（Ｓ４１２）。画像に対する操作は、第一〜第四の実施の形態において説明した仕組みによって、携帯端末１０に送信される。
【０１７６】
続いて、スマートテーブル２０ａは、当該操作がチェックアウト指示か否かを判定する（Ｓ４１３）。チェックアウト指示とは、スマートテーブル２０ａの利用の終了を示す指示であり、スマートテーブル２０ａに対する所定の操作によって入力される。チェックアウト指示が入力された場合（Ｓ４１３でＹｅｓ）、図２７の処理は終了する。
【０１７７】
一方、入力された操作がチェックアウト指示でなく、ウィンドウに表示されている画像に対する指示である場合（Ｓ４１３でＮｏ）、スマートテーブル２０ａは、ステップＳ４０９以降を継続する。
【０１７８】
続いて、携帯端末１０が実行する処理について説明する。図２９は、第五の実施の形態において携帯端末が実行する処理手順の一例を説明するためのフローチャートである。
【０１７９】
ステップＳ５０１において、携帯端末１０のコンテンツ取得部１１１は、ステップＳ４０２においてスマートテーブル２０ａから送信された、スマートテーブル対応アプリと、１以上のＷｅｂコンテンツとを受信する。
【０１８０】
続いて、携帯端末１０は、スマートテーブル対応アプリを起動する（Ｓ５０２）。続くステップＳ５０３〜Ｓ５０８は、スマートテーブル対応アプリが、ＣＰＵ１０４に実行させる。
【０１８１】
ステップＳ５０３において、携帯端末１０は、スマートテーブル２０ａへの載置を待機する（Ｓ５０３）。スマートテーブル２０ａに載置されたことが検知されると（Ｓ５０３でＹｅｓ）、携帯端末１０は、載置されたことを示す通知を、スマートテーブル２０ａに送信する（Ｓ５０４）。続いて、携帯端末１０は、位置認識用パターンを表示装置１０６に表示する（Ｓ５０５）。なお、ＮＦＣタグが用いられて携帯端末１０の位置が検出される場合、位置認識用パターンの表示は実行されなくてもよい。
【０１８２】
続いて、携帯端末１０は、位置認識用パターンを表示した状態で、スマートテーブル２０ａからの位置情報の受信を待機する（Ｓ５０６）。位置情報が受信されると（Ｓ５０６でＹｅｓ）、携帯端末１０は、当該位置情報を指定して、ウィンドウの生成要求をスマートテーブル２０ａに送信する（Ｓ５０７）。テップＳ５０６において受信されたＷｅｂコンテンツの個数を示す値も当該生成要求に含まれる。続いて、携帯端末１０は、スマートテーブル２０ａにおいて生成された各ウィンドウのウィンドウＩＤの受信を待機する（Ｓ５０８）。
【０１８３】
ウィンドウＩＤが受信されると、コンテンツ描画部１１２は、ステップＳ５０１において受信された各Ｗｅｂコンテンツについて描画処理を実行する（Ｓ５０９）。その結果、Ｗｅｂコンテンツに基づく画像が、携帯端末１０に表示される。なお、各Ｗｅｂコンテンツは、それぞれ異なるタブウィンドウに描画されてもよい。各タブウィンドウには、スマートテーブル２０ａから受信されたウィンドウＩＤが対応付けられる。
【０１８４】
続いて、データ配信部１１８は、ウィンドウＩＤとごとに、当該ウィンドウＩＤに対応するＷｅｂコンテンツの初期情報を、スマートテーブル２０ａに送信する（Ｓ５１０）。続いて、携帯端末１０のイベント受信部１１９は、スマートテーブ上での操作の内容を示す情報の受信を待機する（Ｓ５１１）。イベント受信部１１９は、当該情報を受信すると（Ｓ５１１）、当該情報が示す操作が、チェックアウト指示であるか否かを判定する（Ｓ５１２）。当該操作がチェックアウト指示である場合（Ｓ５１２でＹｅｓ）、図２９の処理は終了する。
【０１８５】
当該操作がチェックアウト指示ではなく、画像に対する操作である場合（Ｓ５１２でＮｏ）、変更監視部１１７は、当該操作に対応するイベントを、当該情報に含まれているウィンドウＩＤに対応するＤＯＭツリーに対して擬似的に発生させる。その結果、当該イベントに応じた処理、すなわち、当該イベントに対応するイベントハンドラに定義されている処理が、コンテンツ描画部１１２によって実行される（Ｓ５１３）。当該処理の実行の結果、当該ＤＯＭツリーの構成が変化する。すなわち、当該ＤＯＭツリーに係る画像の表示状態が変化する。続いて、データ配信部１１８は、当該ＤＯＭツリーの変更前後の差分データを、スマートテーブル２０ａに送信する（Ｓ５１４）。
【０１８６】
上述しように、第五の実施の形態によれば、会議室に適したＷｅｂコンテンツについて、携帯端末１０とスマートテーブル２０ａとの表示状態を同期させることができる。なお、スマートテーブル２０ａ以外の表示端末２０に関して、第五の実施の形態が適用されてもよい。例えば、屋外におけるデジタルサイネージに関して、第五の実施の形態が適用されてもよい。
【０１８７】
なお、上記各実施の形態において、携帯端末１０は、情報処理端末の一例である。Ｗｅｂコンテンツは、表示データの一例である。コンテンツ描画部１１２は、表示制御部、処理実行部、変更部、及び第二の生成部の一例である。スクリプト生成部１１４は、第一の生成部の一例である。ＤＯＭツリーは、表示状態を示すデータの一例である。データ配信部１１８は、送信部の一例である。イベント受信部１１９は、受信部の一例である。スタイル定義は、配置情報の一例である。スタイル抽出部１１６は、抽出部の一例である。請求項９及び１０に関して、データ受信部２１１は、受信部の一例である。コンテンツ描画部２１５は、表示制御部の一例である。イベント送信部２１６は、通知部の一例である。イベント通知スクリプトｓｃ１は、命令の定義情報の一例である。
【０１８８】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【０１８９】
以上の説明に関し、更に以下の項を開示する。
（付記１）
表示端末にネットワークを介して接続可能な情報処理端末であって、
表示データに基づいて、ユーザによる操作に応じて表示状態が変化する画像を表示させる表示制御部と、
前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成する第一の生成部と、
前記命令の定義情報と、前記操作に応じて変化する、前記表示制御部によって表示されている画像の表示状態を示すデータとを、前記表示端末に送信する送信部と、
を有することを特徴とする情報処理端末。
（付記２）
前記表示端末において前記表示状態を示すデータに基づいて表示される画像に対する操作に応じ、前記命令の定義情報に基づいて、前記表示端末から送信される当該操作の発生の通知を受信する受信部と、
前記受信部による前記操作の発生の通知の受信に応じ、前記表示制御部によって表示されている画像の表示状態を変更する変更部とを有し、
前記送信部は、前記変更部による変更後の表示状態を示すデータを、前記表示端末に送信する、
ことを特徴とする付記１記載の情報処理端末。
（付記３）
前記命令の定義情報は、スクリプトによって記述される、
ことを特徴とする付記１又は２記載の情報処理端末。
（付記４）
前記第一の生成部は、前記表示データに基づいて表示される動画が前記表示端末において再生された場合に当該動画の再生状態の変更を当該情報処理端末に通知させる命令の定義情報を生成する、
ことを特徴とする付記１乃至３いずれか一項記載の情報処理端末。
（付記５）
前記表示端末における前記画像の表示サイズに合わせて、前記表示データに基づく画像を生成する第二の生成部と、
前記第二の生成部によって生成された画像から、当該画像を構成する表示要素の配置情報を抽出する抽出部とを有し、
前記送信部は、前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータと、前記配置情報とを、前記表示端末に送信する、
ことを特徴とする付記１乃至４いずれか一項記載の情報処理端末。
（付記６）
前記第二の生成部は、前記表示データを構成するＨＴＭＬファイルとＣＳＳファイルとのオリジンが異なる場合に、前記表示端末における前記画像の表示サイズに合わせて、前記表示データに基づく画像を生成する、
ことを特徴とする付記５記載の情報処理端末。
（付記７）
前記表示データには、当該表示データに基づいて表示される画像に対する操作に応じて当該情報処理端末が実行すべき第一の処理の定義が有効化された状態で含まれ、当該操作に応じて前記表示端末が実行すべき第二の処理の定義が無効化された状態で含まれ、
前記第一の生成部は、前記第一の処理の定義を無効化し、前記第二の処理の定義を有効化して、前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成する、
ことを特徴とする付記１乃至６いずれか一項記載の情報処理端末。
（付記８）
表示端末にネットワークを介して接続可能な情報処理端末であって、
表示データに基づいて、ユーザによる操作に応じて表示状態が変化する画像を表示させる表示制御部と、
前記表示データに含まれる、当該表示データに基づいて表示される画像に対する操作に応じて実行すべき処理の定義に基づいて、前記表示制御部によって表示されている画像に対する操作に応じた処理を実行する処理実行部と、
前記処理の定義と、前記表示制御部によって表示されている画像の表示状態を示すデータとを、前記表示端末に送信する送信部とを有し、
前記表示端末は、前記処理の定義において呼び出される関数に関して、当該情報処理端末が実行する処理と異なる処理を実行することにより、前記表示状態を示すデータに基づいて前記表示端末に表示される画像に対する操作に応じ、当該操作の発生を前記情報処理端末に通知する、
ことを特徴とする情報処理端末。
（付記９）
付記１乃至７いずれか一項記載の情報処理端末から送信される、前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータとを受信する受信部と、
前記受信部によって受信されたデータに基づく画像を表示させる表示制御部と、
前記画像に対する操作に応じ、前記命令の定義情報に基づいて、当該操作の発生を前記情報処理端末に通知する通知部と、
を有することを特徴とする表示端末。
（付記１０）
付記８記載の情報処理端末から送信される、前記処理の定義と、前記表示制御部によって表示されている画像の表示状態を示すデータとを受信する受信部と、
前記受信部によって受信されたデータに基づく画像を表示させる表示制御部と、
前記処理の定義において呼び出される関数に関して、当該情報処理端末が実行する処理と異なる処理を実行することにより、前記表示制御部によって表示される画像に対する操作に応じ、当該操作の発生を前記情報処理端末に通知する通知部と、
を有することを特徴とする表示端末。
（付記１１）
表示端末にネットワークを介して接続可能な情報処理端末が、
表示データに基づいて、ユーザによる操作に応じて表示状態が変化する画像を表示させ、
前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成し、
前記命令の定義情報と、前記操作に応じて変化する、表示されている画像の表示状態を示すデータとを、前記表示端末に送信する、
処理を実行する表示方法。
（付記１２）
前記表示端末において前記表示状態を示すデータに基づいて表示される画像に対する操作に応じ、前記命令の定義情報に基づいて、前記表示端末から送信される当該操作の発生の通知を受信し、
前記受信する処理における前記操作の発生の通知の受信に応じ、前記表示制御部によって表示されている画像の表示状態を変更し、
前記変更する処理による変更後の表示状態を示すデータを、前記表示端末に送信する、
処理を前記情報処理端末が実行する付記１１記載の表示方法。
（付記１３）
前記命令の定義情報は、スクリプトによって記述される、
ことを特徴とする付記１１又は１２記載の表示方法。
（付記１４）
前記生成する処理は、前記表示データに基づいて表示される動画が前記表示端末において再生された場合に当該動画の再生状態の変更を当該情報処理端末に通知させる命令の定義情報を生成する、
ことを特徴とする付記１１乃至１３いずれか一項記載の表示方法。
（付記１５）
前記表示端末における前記画像の表示サイズに合わせて、前記表示データに基づく画像を生成し、
生成された画像から、当該画像を構成する表示要素の配置情報を抽出し、
前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータと、前記配置情報とを、前記表示端末に送信する、
処理を前記情報処理端末が実行する付記１１乃至１４いずれか一項記載の表示方法。
（付記１６）
前記画像を生成する処理は、前記表示データを構成するＨＴＭＬファイルとＣＳＳファイルとのオリジンが異なる場合に、前記表示端末における前記画像の表示サイズに合わせて、前記表示データに基づく画像を生成する、
ことを特徴とする付記１５記載の表示方法。
（付記１７）
前記表示データには、当該表示データに基づいて表示される画像に対する操作に応じて当該情報処理端末が実行すべき第一の処理の定義が有効化された状態で含まれ、当該操作に応じて前記表示端末が実行すべき第二の処理の定義が無効化された状態で含まれ、
前記画像を生成する処理は、前記第一の処理の定義を無効化し、前記第二の処理の定義を有効化して、前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成する、
ことを特徴とする付記１１乃至１６いずれか一項記載の表示方法。
（付記１８）
表示端末が、
付記１乃至７いずれか一項記載の情報処理端末から送信される、前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータとを受信し、
受信されたデータに基づく画像を表示させ、
前記画像に対する操作に応じ、前記命令の定義情報に基づいて、当該操作の発生を前記情報処理端末に通知する、
処理を実行する表示方法。
（付記１９）
表示端末にネットワークを介して接続可能な情報処理端末に、
表示データに基づいて、ユーザによる操作に応じて表示状態が変化する画像を表示させ、
前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成し、
前記命令の定義情報と、前記操作に応じて変化する、表示されている画像の表示状態を示すデータとを、前記表示端末に送信する、
処理を実行させるプログラム。
（付記２０）
前記表示端末において前記表示状態を示すデータに基づいて表示される画像に対する操作に応じ、前記命令の定義情報に基づいて、前記表示端末から送信される当該操作の発生の通知を受信し、
前記受信する処理における前記操作の発生の通知の受信に応じ、前記表示制御部によって表示されている画像の表示状態を変更し、
前記変更する処理による変更後の表示状態を示すデータを、前記表示端末に送信する、
処理を前記情報処理端末に実行させる付記１９記載のプログラム。
（付記２１）
前記命令の定義情報は、スクリプトによって記述される、
ことを特徴とする付記１９又は２０記載のプログラム。
（付記２２）
前記生成する処理は、前記表示データに基づいて表示される動画が前記表示端末において再生された場合に当該動画の再生状態の変更を当該情報処理端末に通知させる命令の定義情報を生成する、
ことを特徴とする付記１９乃至２１いずれか一項記載のプログラム。
（付記２３）
前記表示端末における前記画像の表示サイズに合わせて、前記表示データに基づく画像を生成し、
生成された画像から、当該画像を構成する表示要素の配置情報を抽出し、
前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータと、前記配置情報とを、前記表示端末に送信する、
処理を前記情報処理端末に実行させる付記１９乃至２２いずれか一項記載のプログラム。
（付記２４）
前記画像を生成する処理は、前記表示データを構成するＨＴＭＬファイルとＣＳＳファイルとのオリジンが異なる場合に、前記表示端末における前記画像の表示サイズに合わせて、前記表示データに基づく画像を生成する、
ことを特徴とする付記２３記載のプログラム。
（付記２５）
前記表示データには、当該表示データに基づいて表示される画像に対する操作に応じて当該情報処理端末が実行すべき第一の処理の定義が有効化された状態で含まれ、当該操作に応じて前記表示端末が実行すべき第二の処理の定義が無効化された状態で含まれ、
前記画像を生成する処理は、前記第一の処理の定義を無効化し、前記第二の処理の定義を有効化して、前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成する、
ことを特徴とする付記１９乃至２４いずれか一項記載のプログラム。
（付記２６）
表示端末に、
付記１乃至７いずれか一項記載の情報処理端末から送信される、前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータとを受信し、
受信されたデータに基づく画像を表示させ、
前記画像に対する操作に応じ、前記命令の定義情報に基づいて、当該操作の発生を前記情報処理端末に通知する、
処理を実行させるプログラム。
【符号の説明】
【０１９０】
１０          携帯端末
２０          表示端末
３０          コンテンツサーバ
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１０６        表示装置
１０７        入力装置
１１１        コンテンツ取得部
１１２        コンテンツ描画部
１１３        イベントハンドラ抽出部
１１４        スクリプト生成部
１１５        ＤＯＭ抽出部
１１６        スタイル抽出部
１１７        変更監視部
１１８        データ配信部
１１９        イベント受信部
１２１        スクリプト取得部
１２２        スクリプト編集部
１３１        表示先情報記憶部
２１１        データ受信部
２１２        表示領域生成部
２１３        イベントハンドラ設定部
２１４        表示状態適用部
２１５        コンテンツ描画部
２１６        イベント送信部
Ｂ            バス
【図１】
2015191505.tif 000003
【図２】
2015191505.tif 000004
【図３】
2015191505.tif 000005
【図４】
2015191505.tif 000006
【図５】
2015191505.tif 000007
【図６】
2015191505.tif 000008
【図７】
2015191505.tif 000009
【図８】
2015191505.tif 000010
【図９】
2015191505.tif 000011
【図１０】
2015191505.tif 000012
【図１１】
2015191505.tif 000013
【図１２】
2015191505.tif 000014
【図１３】
2015191505.tif 000015
【図１４】
2015191505.tif 000016
【図１５】
2015191505.tif 000017
【図１６】
2015191505.tif 000018
【図１７】
2015191505.tif 000019
【図１８】
2015191505.tif 000020
【図１９】
2015191505.tif 000021
【図２０】
2015191505.tif 000022
【図２１】
2015191505.tif 000023
【図２２】
2015191505.tif 000024
【図２３】
2015191505.tif 000025
【図２４】
2015191505.tif 000026
【図２５】
2015191505.tif 000027
【図２６】
2015191505.tif 000028
【図２７】
2015191505.tif 000029
【図２８】
2015191505.tif 000030
【図２９】
2015191505.tif 000031