JP2015191505A - 情報処理端末、表示端末、表示方法、及びプログラム - Google Patents
情報処理端末、表示端末、表示方法、及びプログラム Download PDFInfo
- Publication number
- JP2015191505A JP2015191505A JP2014069150A JP2014069150A JP2015191505A JP 2015191505 A JP2015191505 A JP 2015191505A JP 2014069150 A JP2014069150 A JP 2014069150A JP 2014069150 A JP2014069150 A JP 2014069150A JP 2015191505 A JP2015191505 A JP 2015191505A
- Authority
- JP
- Japan
- Prior art keywords
- display
- terminal
- image
- definition
- information processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 76
- 238000000034 method Methods 0.000 title claims description 165
- 230000005540 biological transmission Effects 0.000 claims abstract description 19
- 238000013515 script Methods 0.000 claims description 153
- 230000008569 process Effects 0.000 claims description 118
- 230000008859 change Effects 0.000 claims description 85
- 238000012545 processing Methods 0.000 claims description 60
- 238000000605 extraction Methods 0.000 claims description 56
- 230000004044 response Effects 0.000 claims description 32
- 239000000284 extract Substances 0.000 claims description 15
- 238000009826 distribution Methods 0.000 description 41
- 238000012544 monitoring process Methods 0.000 description 38
- 230000001360 synchronised effect Effects 0.000 description 31
- 238000010586 diagram Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 21
- 238000003860 storage Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011330 nucleic acid test Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000001404 mediated effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/003—Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
- G09G5/005—Adapting incoming signals to the display format of the display terminal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/02—Networking aspects
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/16—Use of wireless transmission of display information
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Between Computers (AREA)
- Digital Computer Display Output (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【課題】複数の端末における表示データの表示状態を同期させること。
【解決手段】表示端末にネットワークを介して接続可能な情報処理端末は、表示データに基づいて、ユーザによる操作に応じて表示状態が変化する画像を表示させる表示制御部と、前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成する第一の生成部と、前記命令の定義情報と、前記操作に応じて変化する、前記表示制御部によって表示されている画像の表示状態を示すデータとを、前記表示端末に送信する送信部と、を有する。
【選択図】図4
【解決手段】表示端末にネットワークを介して接続可能な情報処理端末は、表示データに基づいて、ユーザによる操作に応じて表示状態が変化する画像を表示させる表示制御部と、前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成する第一の生成部と、前記命令の定義情報と、前記操作に応じて変化する、前記表示制御部によって表示されている画像の表示状態を示すデータとを、前記表示端末に送信する送信部と、を有する。
【選択図】図4
Description
本発明は、情報処理端末、表示端末、表示方法、及びプログラムに関する。
スマートフォンやタブレット端末等の携帯端末は、携帯性に優れ、ネットワークに接続可能な場所であれば、容易にWebコンテンツを閲覧することができる。一方で、携帯端末の画面は、複数人が同時に閲覧するには小さすぎる。
携帯端末に表示されているWebコンテンツを、スマートテーブル又はデジタルサイネージ等の大型ディスプレイを有する表示端末に表示させることができれば、複数人でWebコンテンツを閲覧したい場合に便利である。又は、個人での閲覧であっても、携帯端末に表示されているWebコンテンツを表示端末に表示させることができれば、当該Webコンテンツの一覧性を向上させることができる。
携帯端末に表示されているWebコンテンツを表示端末に表示させる方法として、当該Webコンテンツをそのまま表示端末に転送することが考えられる。
しかしながら、この場合、携帯端末又は表示端末に対するユーザによる操作に応じたWebコンテンツの表示状態の変化を、他方の端末において同期させるのは困難である。Webコンテンツの表示状態の変化は、Webコンテンツを構成するJavaScript(登録商標)等に基づいて実現されるところ、一方の端末におけるスクリプトの実行は、他方の端末に影響を及ぼさないからである。
そこで、一側面では、複数の端末における表示データの表示状態を同期させることを目的とする。
一つの案では、表示端末にネットワークを介して接続可能な情報処理端末は、表示データに基づいて、ユーザによる操作に応じて表示状態が変化する画像を表示させる表示制御部と、前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成する第一の生成部と、前記命令の定義情報と、前記操作に応じて変化する、前記表示制御部によって表示されている画像の表示状態を示すデータとを、前記表示端末に送信する送信部と、を有する。
一態様によれば、複数の端末における表示データの表示状態を同期させることができる。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、第一の実施の形態におけるシステム構成例を示す図である。図1において、携帯端末10は、1以上のコンテンツサーバ30にインターネット又はLAN(Local Area Network)等のネットワークを介して接続可能である。また、携帯端末10は、表示端末20L及び表示端末20Rの二つの表示端末20にネットワークを介して接続可能である。携帯端末10とコンテンツサーバ30、及び携帯端末10と表示端末20との通信は、移動体通信網、無線LAN、又は近距離無線通信等を用いて行われてもよい。
携帯端末10は、携帯電話、スマートフォン、又はタブレット端末等の携帯型の端末である。携帯端末10は、コンテンツサーバ30からWebコンテンツをダウンロード(取得)し、Webコンテンツを表示する機能を有する。Webコンテンツとは、汎用的なWebブラウザによって閲覧可能な表示データである。Webコンテンツは、HTML(HyperText Markup Language)、CSS(Cascading Style Sheets)、及びスクリプト等を含む。CSS及びスクリプトは、HTMLファイルとは異なるファイルにおいて定義されてもよいし、HTMLファイル内に含まれてもよい。スクリプトは、例えば、JavaScript(登録商標)である。スクリプトによって、Webコンテンツの表示状態を動的なものとすることができる。すなわち、スクリプトによれば、新たなWebコンテンツをダウンロードすることなく(Webコンテンツを遷移させることなく)、各種のイベントの発生に応じて、Webコンテンツの表示状態を変化させることができる。Webコンテンツの表示状態とは、Webコンテンツに基づいて表示される画像(画面)の表示状態をいう。各種のイベントの一例として、Webコンテンツに基づいて表示される画像に対するユーザによる操作が挙げられる。どのようなイベントに応じてWebコンテンツの表示状態がどのように変化するのかについては、Webコンテンツの定義に依存する。なお、Webコンテンツは、Webアプリケーション又はWebページとも呼ばれる。
コンテンツサーバ30は、携帯端末10からのWebコンテンツのダウンロード要求に応じ、当該要求において指定されたURL(Uniform Resource Locator)に対応するWebコンテンツ返信するコンピュータである。なお、携帯端末10に予め保存されているWebコンテンツが、表示対象とされてもよい。
表示端末20は、スマートテーブル、デジタルサイネージ、又は壁掛けのディスプレイ等、大型ディスプレイを有する表示端末である。各表示端末20は、Webコンテンツの表示機能を有する。第一の実施の形態では、各表示端末20のディスプレイが左右に並べて配置されることにより、ユーザに対しては、各表示端末20のディスプレイの2倍の表示領域を有する一つのディスプレイ(以下、「統合ディスプレイ」という。)が提供される例について説明する。統合ディスプレイには、携帯端末10において表示されているWebコンテンツが、各表示端末20のディスプレイに跨って表示される。
図2は、統合ディスプレイにおけるWebコンテンツの表示イメージの一例を示す図である。図2において、ディスプレイD1は、携帯端末10のディスプレイである。ディスプレイD2Lは、表示端末20Lのディスプレイである。ディスプレイD2Rは、表示端末20Rのディスプレイである。図2に示されるように、ディスプレイD2LとディスプレイD2Rとが構成する統合ディスプレイD2には、ディスプレイD1において表示されている画像が、二つのディスプレイに跨って表示される。
なお、3つ以上の表示端末20のディスプレイが統合されてもよい。この場合、各表示端末20は、水平方向のみならず、垂直方向に配列されてもよい。例えば、4つの表示端末20を組み合わせる場合、図2に示される統合ディスプレイD2が、垂直方向に配列された構成が採用されてもよい。
または、携帯端末10に表示されている画像の全部が、各表示端末20に表示されてもよい。換言すれば、各表示端末20のそれぞれには、同じ画像が表示されてもよい。この場合、携帯端末10と表示端末20との関係は、1対1でもよい。
本実施の形態において、表示端末20は、ユーザからWebコンテンツの操作を受け付けるための手段を有する。例えば、表示端末20は、タッチパネルを備えていてもよい。したがって、表示端末20においても、Webコンテンツは操作される。Webコンテンツの操作とは、Webコンテンツに基づいて表示される画像の操作をいう。
図3は、第一の実施の形態における携帯端末のハードウェア構成例を示す図である。図3の携帯端末10は、それぞれバスBで相互に接続されている補助記憶装置102、メモリ装置103、CPU104、インタフェース装置105、表示装置106、及び入力装置107等を有する。
携帯端末10での処理を実現するプログラムは、補助記憶装置102にインストールされる。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って携帯端末10に係る機能を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。表示装置106は、ディスプレイD1を備え、Webコンテンツに基づく画像等を表示する。入力装置107はボタン又はタッチパネル等であり、ユーザからの操作指示を受け付ける
なお、表示端末20についても、図3と同様のハードウェアを有していてもよい。
なお、表示端末20についても、図3と同様のハードウェアを有していてもよい。
図4は、第一の実施の形態における携帯端末及び表示端末の機能構成例を示す図である。図4において、携帯端末10は、コンテンツ取得部111、コンテンツ描画部112、イベントハンドラ抽出部113、スクリプト生成部114、DOM抽出部115、スタイル抽出部116、変更監視部117、データ配信部118、及びイベント受信部119等を有する。これら各部は、携帯端末10にインストール又はダウンロードされる1以上のプログラムが、CPU104に実行させる処理により実現される。携帯端末10は、また、表示先情報記憶部131を有する。表示先情報記憶部131は、例えば、補助記憶装置102等を用いて実現可能である。
コンテンツ取得部111は、コンテンツサーバ30からWebコンテンツを取得する。コンテンツ描画部112は、取得されたWebコンテンツの描画処理を実行する。描画処理では、HTMLファイル及びCSSファイルの解析や、スクリプトファイルに定義されているスクリプトの実行等が行われる。HTMLファイルの解析により、DOMツリーが生成され、メモリ装置103に記憶される。DOMツリーとは、Webコンテンツの現在の状態(構造)を保持するオブジェクト群であり、HTMLの各要素に対するAPI(Application Program Interface)としても機能する。
図5は、HTML、DOM、CSS,及びスクリプトの関係を説明するための図である。図5では、HTMLによって、DOMツリーが初期化されることが示されている。すなわち、コンテンツサーバ30からダウンロードされるHTMLファイルは、Webコンテンツに基づいて表示される画像の初期状態を格納するものである。ユーザによる画像の操作等に応じて画像の表示状態が変化した場合、変化後の表示状態は、DOMツリーにおいて保持される。換言すれば、Webコンテンツの表示状態の変化は、DOM要素ツリーの変更によって実現される。なお、DOMツリーを構成する各要素を、DOM要素という。
CSSは、DOM要素の配置や修飾等に関する定義である。DOMツリーにCSSが適用されることにより、画像500が表示される。スクリプトは、DOM要素に対する操作を検知し、DOMツリーを書き換えることができる。
なお、コンテンツ取得部111及びコンテンツ描画部112は、例えば、汎用的なWebブラウザプログラムがCPU104に実行させる処理によって実現されてもよい。
イベントハンドラ抽出部113は、Webコンテンツを構成するスクリプトの中からイベントハンドラを抽出する。スクリプト生成部114は、抽出されたイベントハンドラが監視対象とするイベントの発生を、Webコンテンツの表示先である表示端末20から携帯端末10に通知させるための定義がなされたスクリプト(以下、「イベント通知スクリプト」という。)を生成する。イベント通知スクリプトは、各表示端末20に配信され、各表示端末20をイベント送信部216として機能させる。
DOM抽出部115は、メモリ装置103にロードされているDOMツリーが文字列化されたデータ(以下、「DOMデータ」という。)を生成する。スタイル抽出部116は、CSSファイルの解析によりメモリ装置103にロードされているスタイル定義が文字列化されたデータ(以下、「スタイル定義データ」という。)を生成する。変更監視部117は、DOMツリーを構成するDOM要素の変更を監視する。
データ配信部118は、スクリプト生成部114によって生成されるイベント通知スクリプト、DOM抽出部115によって生成されるDOMデータ、スタイル抽出部116によって生成されるスタイル定義データ等を、各表示端末20に配信する。また、変更監視部117によってDOMツリーの変更が検知された場合、変更前後のDOMツリーの差分を示すデータ(以下、「差分データ」という。)も、データ配信部118によって各表示端末20に配信される。但し、差分データの代わりに、変更後のDOMツリーの全部が文字列化されたDOMデータが、配信されてもよい。
イベント受信部119は、イベント通知スクリプトに基づいて、各表示端末20から送信される、イベントの発生の通知を受信する。当該通知に基づいて、携帯端末10におけるDOMツリーが変更される。
なお、本実施の形態において、イベントハンドラ抽出部113、スクリプト生成部114、DOM抽出部115、スタイル抽出部116、変更監視部117、データ配信部118、及びイベント受信部119は、スクリプトがCPU104に実行させる処理により実現される。当該スクリプトを、以下、「同期データ配信スクリプト」という。
表示端末20は、データ受信部211、表示領域生成部212、イベントハンドラ設定部213、表示状態適用部214、コンテンツ描画部215、及びイベント送信部216等を有する。これら各部は、表示端末20にインストールされるプログラム又は表示端末20に配信されるプログラムが、表示端末20のCPUに実行させる処理により実現される。
データ受信部211は、携帯端末10から配信されるデータを受信する。例えば、DOMデータ、スタイル定義データ、及びスクリプトデータが受信される。また、携帯端末10においてDOMツリーが変化した場合、差分データが、データ受信部211によって受信される。
表示領域生成部212は、Webコンテンツに基づく画像の表示領域を生成する。イベントハンドラ設定部213は、データ受信部211によって受信されるイベント通知スクリプトを、当該表示領域に関して設定する。表示状態適用部214は、データ受信部211によって受信されるDOMデータ及びスタイル定義データや、差分データを、当該表示領域に適用する。DOMデータ及びスタイル定義データの適用により、当該表示領域に画像が表示される。また、差分データの適用により、当該画像の表示状態が変化する。
コンテンツ描画部215は、基本的に、携帯端末10のコンテンツ描画部112と同様の機能を実現する。イベント送信部216は、当該表示領域において表示されている画像に対する操作に応じ、当該操作を示すイベントの通知を、携帯端末10に送信する。
なお、データ受信部211、表示領域生成部212、イベントハンドラ設定部213、及び表示状態適用部214は、スクリプトが、表示端末20のCPUに実行させる処理によって実現される。当該スクリプトを、以下「同期データ受信スクリプト」という。同期データ受信スクリプトは、例えば、予め表示端末20にインストールされている。
以下、携帯端末10及び表示端末20が実行する処理手順について説明する。図6は、Webコンテンツのダウンロードに応じて実行される処理手順の一例を説明するためのシーケンス図である。
表示端末20は、例えば、起動又はユーザによる所定の操作に応じ、同期データ受信スクリプトを読み込む(S101)。続いて、同期データ受信スクリプトに基づくデータ受信部211は、携帯端末10からのデータの受信を待機する(S102)。
一方、携帯端末10に対して、Webコンテンツの取得指示がユーザによって入力されると(S111)、携帯端末10のコンテンツ取得部111は、Webコンテンツの取得要求を、当該取得指示において指定されたURL宛に送信する(S112)。コンテンツサーバ30は、当該URLに基づいて特定されるHTMLファイルを含む応答を、コンテンツ取得部111に返信する(S113)。コンテンツ取得部111は、当該HTMLファイルを受信する。
続いて、コンテンツ描画部112は、HTMLファイルの定義内容を解析(パース)し、当該HTMLファイルに定義されている表示要素の構成(表示構成)等を示すDOMツリーを生成する(S114)。当該DOMツリーはメモリ装置103に記憶される。HTMLファイルの解析の進行に応じて、コンテンツ描画部112は、HTMLファイルから参照されているコンテンツ(以下、「参照コンテンツ」という。)の取得要求を、コンテンツサーバ30に送信する(S115)。参照コンテンツは、例えば、CSSファイルやスクリプトファイル等である。続いて、コンテンツサーバ30は、要求されたコンテンツを返信する(S116)。続いて、コンテンツ描画部112は、返信されたCSSファイル又はスクリプトファイルを解釈する(S117)。例えば、CSSファイルに基づいて、DOMツリーによって示される表示要素のレイアウト(配置位置)が特定される。なお、参照コンテンツには、静止画コンテンツや動画コンテンツ等が含まれてもよい。
ステップS115〜S117は、参照コンテンツ分繰り返される。全ての参照コンテンツに関してS115〜S117が実行されると、携帯端末10の表示装置106には、HTMLファイル及び参照コンテンツが構成するWebコンテンツに基づく画像が表示される。当該Webコンテンツの表示のためにメモリ装置103に読み込まれている情報を、以下、「コンテンツ表示情報」という。コンテンツ表示情報には、DOMツリー、スタイル定義、及びスクリプト定義等が含まれる。スタイル定義は、DOMツリーが示す表示要素のレイアウトに関する定義であり、CSSファイルから読み込まれる。スクリプト定義は、スクリプトファイルから読み込まれた、スクリプトに関する定義である。
なお、ステップS111〜S117は、一般的なWebブラウザにおいて、Webコンテンツが表示されるまでに実行される処理手順と同様でよい。
図6の処理の終了後、任意のタイミングで、図7の処理が実行される。図7は、携帯端末における同期データ配信スクリプトの読み込みに応じて実行される処理手順の一例を説明するためのシーケンス図である。
ステップS121において、CPU104は、同期データ配信スクリプトをメモリ装置103に読み込む。同期データ配信スクリプトは、例えば、予め補助記憶装置102に記憶されている。また、同期データ配信スクリプトの読み込みは、例えば、携帯端末10に対する操作に応じて実行されてもよい。なお、図7において、ステップS121以降から伸びる、携帯端末10に対応付く白抜きの軸は、同期データ配信スクリプトが、CPU104に実行させることにより実現されるイベントハンドラ抽出部113、スクリプト生成部114、DOM抽出部115、スタイル抽出部116、変更監視部117、データ配信部118、及びイベント受信部119に対応する。
ステップS122において、コンテンツ描画部112によって管理されるコンテンツ表示情報から、DOMデータ、スタイル定義、及びイベントハンドラが抽出される。DOMデータは、メモリ装置103内のDOMツリーが文字列化されたものであり、DOM抽出部115によって抽出される。スタイル定義データは、メモリ装置103内のスタイル定義が文字列化されたものであり、スタイル抽出部116によって抽出される。イベントハンドラは、イベントハンドラ抽出部113によって、コンテンツ表示情報を構成するスクリプト定義から抽出される。イベントハンドラは、イベントの発生に応じて実行すべき処理がスクリプトによって定義されたものである。
図8は、DOMデータ及びスタイル定義データの例を示す図である。図8には、DOMデータm1及びスタイル定義データc1が示されている。図8より明らかなように、DOMデータm1は、HTMLの形式を有する。また、スタイル定義データc1は、CSSの形式を有する。したがって、DOMデータm1及びスタイル定義データc1は、一般的なWebブラウザによって解釈可能なデータ形式を有する。
続いて、スクリプト生成部114は、抽出されたイベントハンドラに基づいて、イベント通知スクリプトを生成する(S123)。イベント通知スクリプトは、監視対象とするイベントの検知に応じて、当該イベントの発生を、携帯端末10に通知させるための定義がなされたスクリプトをいい、表示端末20において利用される。すなわち、表示端末20において、Webコンテンツに関して定義されたイベントハンドラに対応するイベントが発生した場合、当該イベントハンドラに関して当初に定義された処理ではなく、当該イベントの発生を携帯端末10に通知するための処理が実行される。
図9は、イベントハンドラに基づくイベント通知スクリプトの生成例を示す図である。図9には、抽出されたイベントハンドラeh11及びeh12と、これらのイベントハンドラに基づいて生成されるイベント通知スクリプトsc1とが示されている。なお、イベントハンドラeh11及びeh12の定義内容は、便宜的なものである。
イベントハンドラeh11の定義内容は、「targetがクリックされたら、to要素にクリックされた座標値を表示する」というものである。イベントハンドラeh12の定義内容は、「form上でキーが押されたら、通信等を実行する」というものである。
イベント通知スクリプトsc1には、イベントハンドラeh11に基づいて、イベントハンドラeh21が含められ、イベントハンドラeh12に基づいて、イベントハンドラeh22が含められる。イベントハンドラeh21の定義内容は、「targetがクリックされたら、イベントが発生した要素及びイベントの内容を通知先に送信する」というものである。また、イベントハンドラeh22の定義内容は、「form上でキーが押されたら、イベントが発生した要素及びイベントの内容を通知先に送信する」というものである。このように、イベント通知スクリプトsc1には、スクリプト定義から抽出されたイベントハンドラごとに、当該イベントハンドラが監視対象とするイベントの発生を通知先に通知するイベントハンドラが含められる。
イベント通知スクリプトsc1には、また、通知先に関する定義d1も含められる。定義d1では、通知先(sender)のURLが設定されている。当該URLは、本実施の形態において、携帯端末10に対するものである。
イベント通知スクリプトsc1には、更に、form(フォーム)要素のうち、イベントハンドラが設定されていない要素に対するイベントハンドラeh23も含められる。イベントハンドラeh23の定義内容は、「当該要素に関するイベントを、通知先に送信する」というものである。イベントハンドラeh23は、例えば、表示端末20において表示されるWebコンテンツのフォーム上におけるテキストボックスに対する1文字ごとの入力を、携帯端末10における表示状態に反映させるためのものである。
続いて、データ配信部118は、コンテンツ識別子を生成する(S124)。コンテンツ識別子は、仮に、各表示端末20が、複数の携帯端末10のそれぞれからのWebコンテンツを並行して表示している場合に、各表示端末20が、各Webコンテンツと各携帯端末10との対応関係を識別可能とするための識別情報である。すなわち、表示端末20には、複数の携帯端末10に表示されているWebコンテンツが、同時期に表示されてもよい。この場合、表示端末20においては、一つのWebコンテンツが最前面に表示され、他のWebコンテンツが、裏側に隠れていてもよい。
続いて、データ配信部118は、各表示端末20に対して、コンテンツ識別子、DOMデータm1、スタイル定義データc1、イベント通知スクリプトsc1、及び表示位置情報等を配信する(S125)。コンテンツ識別子、DOMデータm1、及びスタイル定義データc1、及びイベント通知スクリプトsc1は、各表示端末20に対して同じものが送信される。表示位置情報とは、各表示端末20において、Webコンテンツに基づく画像が表示される表示領域の表示位置及びサイズを示す情報である。表示位置情報は、例えば、当該表示領域の左上頂点、幅、及び高さを含む。Webコンテンツの表示位置は、表示端末20ごとに異なる。換言すれば、各表示端末20の表示位置を異ならせることで、統合ディスプレイD2を実現することができる。したがって、表示位置情報は、表示端末20ごとに異なる。表示位置情報は、例えば、表示端末20のアドレス情報等の識別情報に関連付けられて、表示先情報記憶部131に記憶されている。
図10は、表示位置情報を説明するための図である。図10には、図2に示したディスプレイD2Rが示されている。すなわち、図10には、表示端末20Rに送信される表示位置情報の例が示されている。当該表示位置情報は、左上頂点の座標が(−200,100)であり、幅が400、高さが200である。ここで、左上頂点の座標が、ディスプレイD2Rの座標系の範囲外とされることにより、画像500の左半分は、ディスプレイD2Rにおいて非表示となる。その結果、ディスプレイD2Rには、画像500の右半分が表示される。同様の原理で、ディスプレイD2Lについては、画像500の左半分が表示されるように、表示位置が決定される。したがって、表示位置情報を調整することで、各表示端末20に、画像500の全部を表示させることもできる。または、各表示端末20に表示される画像の一部が、相互に重複するように、表示位置が決定されてもよい。
なお、ステップS125において送信されるDOMデータm1は、携帯端末10における現在のWebコンテンツの表示状態を示すものである。したがって、表示状態が変化している場合、DOMデータm1の内容は、当該Webコンテンツにおいて当初ダウンロードされたHTMLファイルの定義内容と異なる。すなわち、各表示端末20には、現在の表示状態を再現させるため、HTMLファイルではなく、DOMデータm1が送信される。一方、スタイル定義データは、固定的又は静的な情報を含む。したがって、スタイル定義データに関しては、当初ダウンロードされたものがそのまま表示端末20に送信されてもよい。
その後、変更監視部117は、メモリ装置103内のDOMツリーの変更を監視する。DOMツリーの変更は、Webコンテンツの表示状態の変化によって発生する。換言すれば、DOMツリーが変更されることにより、Webコンテンツの表示状態が変化する。したがって、変更監視部117は、Webコンテンツの表示状態の変化を監視しているともいえる。
一方、各表示端末20のデータ受信部211は、データ配信部118によって送信された、コンテンツ識別子、DOMデータm1、スタイル定義データc1、イベント通知スクリプトsc1、及び表示位置情報等を受信する。続いて、Webコンテンツの描画が、コンテンツ描画部215に要求される。当該要求には、コンテンツ識別子、表示位置情報、DOMデータm1、及びスタイル定義データc1が含まれる(S131)。コンテンツ描画部215は、表示位置情報の示す位置及びサイズの表示領域に、DOMデータm1及びスタイル定義c1に基づいて、コンテンツ描画部112と同様の解析処理を実行する。その結果、Webコンテンツに基づく画像が表示端末20のディスプレイに表示される。すなわち、携帯端末10に表示されている画像500が、表示端末20に表示される。但し、表示位置情報に応じて、画像500のうち、各表示端末20に表示される部分は異なりうる。なお、コンテンツ描画部215は、DOMデータm1に基づいてメモリ装置に生成されるDOMツリーに、コンテンツ識別子を関連付けておく。
続いて、イベントハンドラ設定部213は、イベント通知スクリプトsc1を実行する(S132)。その結果、イベント通知スクリプトs1に含まれる各イベントハンドラが、コンテンツ描画部215に設定される(S133)。
その後、携帯端末10及び表示端末20は、イベントの発生を待機する。例えば、各端末は、ユーザによる操作を待機する。
続いて、Webコンテンツに基づいて表示された画像に対するユーザによる操作に応じて実行される処理手順について説明する。図11は、Webコンテンツに基づいて表示された画像に対するユーザによる操作に応じて実行される処理手順の一例を説明するためのシーケンス図である。
例えば、いずれかの表示端末20のディスプレイ(タッチパネル)がタッチされる等により、表示されている画像が操作されると(S141)、コンテンツ描画部215は、当該操作に対応したイベントを発生させる(S142)。当該イベントは、当該イベントに対応するイベントハンドラによって検知(捕捉)される。イベントの検知に応じ、イベント送信部216は、当該イベントハンドラの定義に基づいて、イベントの対象とされたDOM要素及びイベントの種別を示す情報を含むイベント発生通知を、通知先(携帯端末10)に送信する(S143)。携帯端末10のイベント受信部119は、当該イベント発生通知を受信する。変更監視部117は、当該イベント発生通知の受信を検知すると、当該イベント発生通知によって通知されたイベントを、擬似的に発生させる(S144)。擬似的に発生されたイベントは、コンテンツ描画部112に通知される。
コンテンツ描画部112は、スクリプト定義に含まれているイベントハンドラの中で、擬似的に発生された当該イベントに対応するイベントハンドラの定義に基づいて、DOMツリーを変更する(S151)。DOMツリーの変更は、変更監視部117によって検知される(S152)。変更監視部117は、変更前後のDOMツリーの差分を示す情報を含む差分データを抽出する(S153)。
図12は、差分データの例を示す図である。図12に示される差分データdf1において、記述df11は、変更対象の要素(以下、「対象要素」という。)を示す。記述df12は、対象要素の5番目の子要素として、aタグが挿入されたことを示す。記述df13は、対象要素の3番目の子要素が削除されたことを示す。記述df14は、対象要素のsrc属性の値が、「./hoge.png」に変更されたことを示す。
続いて、データ配信部118は、DOMツリーが変更されたWebコンテンツに対するコンテンツ識別子と、差分データdf1とを、各表示端末20に配信する(S154)。各表示端末20のデータ受信部211は、当該コンテンツ識別子及び差分データdf1を受信する。
続いて、表示状態適用部214は、当該コンテンツ識別子及び差分データdf1をコンテンツ描画部215に適用する(S155)。コンテンツ描画部215は、当該コンテンツ識別子に関連付けられているDOMツリーを、差分データdf1に基づいて変更する。その結果、各表示端末20における表示状態も変化する。
なお、ステップS141〜S155は、表示端末20側において、画像が操作されるたびに実行される。したがって、表示端末20側における操作に応じて、携帯端末10における表示状態と、表示端末20における表示状態とが変化する。また、携帯端末10において、画像が操作されるたびに、ステップS151〜S155が実行される。すなわち、この場合、携帯端末10において、擬似的なイベントではなく、真のイベントが発生し、当該真のイベントに応じて、ステップS151以降が実行される。したがって、携帯端末10側において操作が行われた場合も、携帯端末10における表示状態と、表示端末20における表示状態とが変化する。このように、本実施の形態によれば、携帯端末10と各表示端末20とのいずれの端末において操作が行われた場合であっても、全ての端末間において、表示状態を同期させることができる。
続いて、携帯端末10及び表示端末20が実行する処理について、更に詳細に説明する。まず、携帯端末10が実行する処理について説明する。
図13は、携帯端末によるWebコンテンツの描画処理の処理手順の一例を説明するためのフローチャートである。図13は、図6の処理に関して携帯端末10が実行する処理を詳細に示すものである。
携帯端末10に対してWebコンテンツの取得指示がユーザによって入力されると(S201でYes)、コンテンツ取得部111は、当該取得指示において指定されたURLに係るHTMLファイルを取得する(S202)。続いて、コンテンツ描画部112は、HTMLファイルの定義内容を解析(パース)し、DOMツリーを構築する(S203)。DOMツリーは、メモリ装置103に記憶される。
続いて、HTMLファイルから参照されている参照コンテンツごとに、ループ処理L1が実行される。ループ処理L1のステップS204において、コンテンツ描画部112は、参照コンテンツを取得する。続いて、コンテンツ取得部111aは、取得された参照コンテンツの種別に応じて処理を分岐させる(S205)。取得された参照コンテンツが、スクリプトファイルである場合、コンテンツ描画部112は、当該スクリプトファイルに定義されているスクリプトを実行する(S206)。一方、取得された参照コンテンツが、CSSファイルである場合、コンテンツ描画部112は、当該CSSファイルに含まれているスタイル定義を、既に取得されているスタイル定義に追加する(S207)。
ループL1が終了すると、コンテンツ描画部112は、DOMツリーを構成する表示要素を、スタイル定義にしたがって描画する(S208)。その結果、Webコンテンツに基づく画像が、表示装置106に表示される。
続いて、図7の処理に関して携帯端末10が実行する処理について詳細に説明する。図14は、同期データ配信スクリプトの読み込みに応じて携帯端末が実行する処理手順の一例を説明するためのフローチャートである。
同期データ配信スクリプトの読み込みのトリガが発生すると(S211でYes)、CPU104は、同期データ配信スクリプトを、メモリ装置103に読み込む(S212)。同期データ配信スクリプトは、例えば、ダウンロードされたWebコンテンツのHTMLファイルから参照されていてもよい。この場合、同期データ配信スクリプトの取得が、当該スクリプトの読み込みのトリガとされてもよい。HTMLファイルにおける同期データ配信スクリプトへ参照は、予め埋め込まれていてもよいし、コンテンツサーバ30からHTMLファイルが返信される際に、プロキシサーバ等において挿入されてもよい。又は、同期データ配信スクリプトが、携帯端末10のブックマークレットに登録されていてもよい。この場合、ユーザによる当該ブックマークレットの選択が、同期データ配信スクリプトの読み込みのトリガとされてもよい。
続いて、データ配信部118は、表示先情報記憶部131から、各表示端末20のアドレス情報及び表示位置情報等を含む表示先情報を取得する(S213)。なお、各表示端末20のアドレス情報は、例えば、携帯端末10及び各表示端末20と通信可能な非図示のコンピュータにおいて記憶されてもよい。例えば、各表示端末20は、起動等に応じて、GPS(Global Positioning System)機能等を用いて、自らの位置情報を取得し、当該位置情報と、自らのアドレス情報とを、当該コンピュータに送信する。当該コンピュータは、受信された情報を記憶する。データ配信部118は、当該コンピュータに記憶されている位置情報及びアドレス情報の組の取得要求を、当該コンピュータに送信する。当該取得要求には、携帯端末10の位置情報が含められてもよい。当該コンピュータは、表示端末20の位置情報と、携帯端末10の位置情報との比較に基づいて、携帯端末10に最も近いと推定される表示端末20に係る表示先情報を携帯端末10に返信する。
続いて、CPU104は、初期情報生成処理を実行する(S214)。初期情報生成処理では、DOMデータm1、スタイル定義データc1、イベント通知スクリプトsc1、及びコンテンツ識別子等が生成される。
続いて、データ配信部118は、各表示端末20に対して、コンテンツ識別子、DOMデータm1、スタイル定義データc1、イベント通知スクリプトsc1、及び表示位置情報等を配信する(S215)。配信先の表示端末20は、ステップS213において取得された表示先情報に含まれているアドレス情報に基づいて特定可能である。また、表示位置情報も、ステップS213において取得された表示先情報に含まれている。
続いて、変更監視部117は、DOMツリーを構成する全てのDOMに対して、DOMツリーの変更を監視するためのイベントハンドラを設定する(S216)。例えば、Web標準で規定されている、DOM変更時に発生するMutationEventを監視するイベントハンドラが設定されてもよい。例えば、DOM要素の追加又は削除等が発生した場合、MutationEventのうちDOMSubtreeModifiedイベントが発生する。また、DOM要素の属性が変更された場合、DOMAttrModifiedイベントが発生する。MutationEventについては、例えば、「https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Mutation_events」において詳細に説明されている。なお、定期的にDOMツリーをチェックし、差分の有無を判定することにより、DOMツリーの変更が検知されてもよい。
続いて、変更監視部117は、DOM要素のうちのフォーム要素に対して、フォーム値の変更を監視するためのイベントハンドラを設定する(S217)。続いて、変更監視部117は、DOM要素のうちのvideo要素に対して、動画コンテンツの再生状態の変更を監視するためのイベントハンドラを設定する(S217)。再生状態の変更とは、再生の開始、再生の一時停止、再生の停止、及びシーク等である。なお、video要素とは、HTML5において追加されたvideoタグに係る要素をいう。HTML5では、videoタグを使用することで、プラグイン等をインストールすることなく、動画コンテンツの再生等を行うことができる。
続いて、変更監視部117は、各表示端末20からのイベント発生通知の受信を監視するためのイベントハンドラを設定する(S219)。続いて、変更監視部117は、イベント待機処理を実行する(S220)。すなわち、変更監視部117は、ステップS216〜S219において設定したイベントハンドラに関するイベントの発生を待機する。
続いて、ステップS214の詳細について説明する。図15は、初期情報生成処理の処理手順の一例を説明するためのフローチャートである。
ステップS231において、DOM抽出部115は、コンテンツ描画部112を介して、コンテンツ表示情報からDOMツリーを抽出し、当該DOMツリーを文字列化してDOMデータm1を生成する。続いて、DOM抽出部115は、DOMツリーを構成するDOM要素の中に、video要素が有れば、DOMデータ内において、当該video要素に係るパス名を、絶対パス名に変換する(S232)。当該video要素に係るパス名とは、当該video要素のsrc属性の値として設定されているパス名、又は当該video要素内のsourceタグのsrc属性の値として設定されているパス名である。当該パス名が絶対パス名に変換されるのは、表示端末20において、当該パス名に係る動画コンテンツにアクセス可能とするためである。すなわち、動画コンテンツは、各表示端末20においてダウンロードされる。
続いて、スタイル抽出部116は、コンテンツ描画部112を介して、コンテンツ表示情報からスタイル定義を抽出し、当該スタイル定義を文字列化してスタイル定義データc1を生成する(S233)。
続いて、DOMツリーを構成するDOM要素ごとにループ処理L2が実行される。以下、ループ処理L2において処理対象とされているDOM要素を、「対象要素」という。
ステップS234において、イベントハンドラ抽出部113は、対象要素に設定されたイベントハンドラの監視対象イベントを抽出する(S234)。続いて、イベントハンドラ抽出部113は、対象要素がフォーム要素であるか否かによって処理を分岐させる(S235)。対象要素がフォーム要素である場合(S235でYes)、ステップS236に進む。対象要素がフォーム要素でない場合(S235でNo)、ステップS237に進む。
ステップS236において、イベントハンドラ抽出部113は、対象要素のフォーム値の変更を監視対象イベントとするイベントハンドラが対象要素に設定されていなければ、当該監視対象イベントを、ステップS234における抽出結果に追加する。ステップS236の実行後、ステップS239に進む。
ステップS237において、イベントハンドラ抽出部113は、対象要素がvideo要素であるか否かによって処理を分岐させる。対象要素がvideo要素である場合(S237でYes)、ステップS238に進む。対象要素がvideo要素でない場合(S237でNo)、ステップS239に進む。
ステップS238において、イベントハンドラ抽出部113は、対象要素における動画の再生状態の変更を示すイベント(再生の開始イベント、再生の一時停止イベント、再生の停止イベント、又はシークイベント等)を監視対象とするイベントハンドラが対象要素に設定されていなければ、当該監視対象イベントを、ステップS234における抽出結果に追加する。ステップS238の実行後、ステップS239に進む。
ステップS239において、スクリプト生成部114は、抽出結果に含まれている監視対象イベントを、携帯端末10に通知させるためのイベントハンドラを、イベント通知スクリプトsc1に追加する(S239)。
ループ処理L2が終了すると、データ配信部118は、コンテンツ識別子を生成する(S240)。コンテンツ識別子は、例えば、乱数を利用して生成されてもよい。又は、携帯端末10ごとの識別情報(例えば、アドレス情報等)を用いて生成されてもよい。また、携帯端末10において同時に表示可能なWebコンテンツが一つである場合、携帯端末10ごとの識別情報が、そのままコンテンツ識別子とされてもよい
続いて、図14のステップS220の詳細について説明する。図16は、イベント待機処理の処理手順の一例を説明するためのフローチャートである。
続いて、図14のステップS220の詳細について説明する。図16は、イベント待機処理の処理手順の一例を説明するためのフローチャートである。
DOMツリーの変更を監視するためのイベントハンドラが呼び出されると(S251でYes)、変更監視部117は、当該イベントハンドラによって検知されたイベントに関する情報(以下、「変化通知情報」という。)から、差分データを抽出する(S252)。すなわち、MutationEvent内には、差分データが含まれている。
続いて、データ配信部118は、コンテンツ識別子及び差分データを、各表示端末20に配信する(S253)。
また、いずれかの表示端末20からのイベント発生通知の受信を監視するためのイベントハンドラが呼び出されると(S261でYes)、変更監視部117は、当該イベント発生通知によって通知された情報に基づいて、擬似的なイベントを生成する(S262)。続いて、当該イベント発生通知によって示されるイベントの対象とされたDOM要素に対して、生成したイベントを発生させる(S263)。その結果、携帯端末10側においてDOMツリーが変更される。当該DOMツリーの変更は、ステップS251において検知される。したがって、ステップS262に続いて、ステップS252以降が実行される。すなわち、ステップS251において検知されるDOMツリーの変更は、携帯端末10における操作に起因するものと、表示端末20における操作に起因するものとが有る。
また、フォーム要素のフォーム値の変更を監視するためのイベントハンドラが呼び出されると(S271でYes)、変更監視部117は、フォーム値が変化したフォーム要素(以下、「対象要素」という。)の識別子と、変更後のフォーム値とを対象要素から抽出する(S272)。フォーム要素の識別子は、フォーム上における何番目の要素であるかを示す値でもよい。又は、CSSのセレクタ若しくはxpath等が、当該識別子として用いられてもよい。続いて、データ配信部118は、フォーム値の変更命令を、各表示端末20に配信する(S273)。当該命令は、コンテンツ識別子、並びに対象要素の識別子及びフォーム値を含む。その結果、各表示端末20において、対象要素のフォーム値が変化する。
また、video要素の動画の再生状態の変更を監視するためのイベントハンドラが呼び出されると(S281でYes)、変更監視部117は、当該video要素(以下、「対象要素」という。)の識別子と、変更後の動画の再生状態を示す情報とを、対象要素から抽出する(S282)。続いて、データ配信部118は、動画の再生状態の変更命令を、各表示端末20に配信する(S283)。当該命令は、コンテンツ識別子、並びに対象要素の識別子及び動画の再生状態を示す情報等を含む。その結果、各表示端末20において、対象要素の動画の再生状態が変化する。
続いて、表示端末20が実行する処理について説明する。図17は、同期データ受信スクリプトが表示端末に実行させる処理手順の一例を説明するためのフローチャートである。図17では、同期データ受信スクリプトの読み込みは既に実行されていることとする。
データ受信部211は、携帯端末10からの情報の受信を待機している(S301)。携帯端末10から何らかの情報が受信されると(S301でYes)、データ受信部211は、受信された情報が初期情報であるか否かを判定する(S302)。初期情報は、図14のステップS215において、携帯端末10から各表示端末20に配信される、コンテンツ識別子、DOMデータm1、スタイル定義データc1、イベント通知スクリプトsc1、及び表示位置情報等である。
初期情報が受信された場合(S302でYes)、表示領域生成部212は、表示位置情報が示す位置及びサイズのインラインフレーム(iframe)を、コンテンツ描画部215に生成させる(S303)。すなわち、本実施の形態では、上記における表示領域の一例として、Webブラウザのウィンドウではなく、インラインフレームが用いられる。インラインフレームは、或るWebコンテンツの中に、別のWebコンテンツを表示するために用いられるフレームである。インラインフレーム内は、インラインフレーム外とは独立して画像を表示できるため、同じサイズのインラインフレームであれば、同じDOMデータ、スタイル定義データに基づいて同じ表示状態の画像が再現される。したがって、例えば、統合ディスプレイD2(図2)を実現する際に、各ディスプレイの画像を滑らかに接続できる可能性が高いという利点が有る。但し、インラインフレームの代わりに、Webブラウザのウィンドウが生成されてもよい。
続いて、表示状態適用部214は、コンテンツ識別子、DOMデータm1、及びスタイル定義c1を、コンテンツ描画部215(インラインフレーム)に適用する(S304)。その結果、Webコンテンツの画像が、インラインフレーム内に表示される。また、当該インラインフレームに、当該コンテンツ識別子が関連付けられる。なお、DOMデータm1に基づいて再現されるDOMツリーにvideo要素が含まれている場合、当該video要素に係る絶対パス名に基づいて、動画コンテンツが取得され、再生される。
続いて、イベントハンドラ設定部213は、イベント通知スクリプトsc1を実行する(S305)。イベント通知スクリプトsc1は、表示端末20を、イベント送信部216として機能させる。
一方、受信された情報が初期情報でない場合(S302でNo)、データ受信部211は、受信されたのがフォーム値の変更命令であるか否かを判定する(S306)。フォーム値の変更命令は、図16のステップS273において送信される。
フォーム値の変更命令が受信された場合(S306でYes)、表示状態適用部214は、当該変更命令に含まれているコンテンツ識別子に関連付けられているインラインフレームに表示されているフォーム要素のうち、当該変更命令に含まれている識別子に係るフォーム要素(以下、「対象要素」という。)に対する、フォーム値の変更を監視するためのイベントハンドラの設定を解除する(S307)。続いて、表示状態適用部214は、対象要素に対して、当該変更命令に含まれているフォーム値を適用する(S308)。なお、ステップS307の趣旨は、ステップS308の実行により、当該フォーム値の変更が、携帯端末10に通知され、更に、携帯端末10から当該フォーム値の変更が通知されるといった、イベント通知のループの発生を回避するためのである。
続いて、表示状態適用部214は、ステップS307において設定が解除されたイベントハンドラを、対象要素に再設定する(S309)。
動画コンテンツの再生状態の変更命令が受信された場合(S310でYes)、表示状態適用部214は、当該変更命令に含まれているコンテンツ識別子に関連付けられているインラインフレームに表示されているvideo要素のうち、当該変更命令に含まれている識別子に係るvideo要素(以下、「対象要素」という。)に対する、動画コンテンツの再生状態の変更を監視するためのイベントハンドラの設定を解除する(S311)。なお、ステップS311の趣旨は、ステップS307と同様である。続いて、表示状態適用部214は、対象要素に対して、当該変更命令に含まれている動画コンテンツの再生状態を適用する(S312)。
続いて、表示状態適用部214は、ステップS311において設定が解除されたイベントハンドラを、対象要素に再設定する(S313)。
また、受信された情報が、差分データである場合(S310でNo)、表示状態適用部214は、差分データと共に受信されたコンテンツ識別子に係るインラインフレームに対して、当該差分データを適用する(S314)。その結果、インラインフレーム内の画像の表示状態が、携帯端末10の表示状態に同期される。
図18は、イベント通知スクリプトが表示端末に実行させる処理手順の一例を説明するためのフローチャートである。
イベント送信部216は、イベントの発生を待機している(S321)。イベント通知スクリプトに含まれるいずれかのイベントハンドラが呼び出されると(S321でYes)、イベント送信部216は、当該イベントハンドラの定義に従って、通知先として指定されている携帯端末10に、イベント発生通知を送信する。イベント発生通知には、イベントの対象とされたDOM要素を示す情報及びイベントの種別を示す情報等が含まれる
なお、本実施の形態では、携帯端末10と各表示端末20とが直接的に通信する例について説明したが、携帯端末10と各表示端末20との通信は、シグナリングサーバ、STUN(Simple Traversal of UDP through NATs)サーバ、又はTURN(Traversal Using Relay NAT)サーバ等によって仲介又は中継されてもよい。
なお、本実施の形態では、携帯端末10と各表示端末20とが直接的に通信する例について説明したが、携帯端末10と各表示端末20との通信は、シグナリングサーバ、STUN(Simple Traversal of UDP through NATs)サーバ、又はTURN(Traversal Using Relay NAT)サーバ等によって仲介又は中継されてもよい。
また、本実施の形態では、イベントハンドラ抽出部113によってイベントハンドラが抽出され、抽出されたイベントハンドラに基づいて、イベント通知スクリプトsc1が生成される例を示した。しかし、これらの処理は省略されてもよい。例えば、各表示端末20は、全てのDOM要素に対する全てのイベントを監視し、全てのイベントの発生を携帯端末10に通知するようにしてもよい。但し、この場合、全てのイベントが携帯端末10に通知されるため、通信量が増加する可能性が有る。換言すれば、イベントハンドラ抽出部113によってイベントハンドラが抽出されることにより、表示端末20から携帯端末10に通知されるイベントを、必要なものに限定することができ、通信量の増加を抑制することができる。
また、本実施の形態では、携帯端末10のスクリプト生成部114が、イベント通知スクリプトsc1を生成する例を示したが、当該スクリプトの生成は、表示端末20によって行われてもよい。この場合、携帯端末10は、イベント通知スクリプトsc1を生成するために必要な情報を、各表示端末20に配信するようにしてもよい。斯かる情報として、イベントハンドラ抽出部113による抽出結果が挙げられる。
また、本実施の形態では、説明の便宜上、携帯端末10と表示端末20との間でWebコンテンツの表示状態が同期される例を示したが、Webコンテンツが同期される装置は、同じ種類の装置であってもよい。例えば、表示端末20の代わりに携帯端末10が用いられてもよい。また、携帯端末10の代わりに、PC(Personal Computer)等が用いられてもよい。
また、携帯端末10としての位置付けの端末は、表示装置106を有していなくてもよい。すなわち、当該端末は、ユーザがWebコンテンツの閲覧に利用する端末でなくてもよい。斯かる場合であっても、複数の表示端末20間において、表示状態を同期させることができる。
上述したように、第一の実施の形態によれば、複数の端末間において、いずれの端末が操作対象とされた場合でも、同じWebコンテンツの表示状態の同期を可能とすることができる。
また、携帯端末10又は表示端末20において実行される処理は、同期データ配信スクリプト、同期データ受信スクリプト、又はイベント通知スクリプト等のスクリプトによって実現される。したがって、各端末は、汎用的なWebブラウザの機能を有していれば、本実施の形態を実施することができる。
また、本実施の形態によれば、VNC(Virtual Network Computing)等のリモートデスクトップ技術と異なり、ストリーミングによるデータ配信は行われず、DOMデータやスタイル定義等の構造データが配信される。したがって、データ処理やネットワーク通信の負荷の増加を抑制することができる。また、表示潰れ等、解像度の相違に基づく問題の発生の可能性を低減することができる。
また、一つのWebコンテンツに基づいて、表示端末20用のイベントハンドラが自動生成されるため、携帯端末10用と表示端末20用とのそれぞれのWebコンテンツを開発する必要性を低減することができる。
次に、第二の実施の形態について説明する。第二の実施の形態では第一の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第一の実施の形態と同様でもよい。
第二の実施の形態では、セキュリティ上の観点から設けられている、同一生成元ポリシー及びリファラ制限による不都合を回避可能とする例について説明する。
同一生成元ポリシーとは、HTMLファイルと異なるオリジンからダウンロードされたCSSファイルから読み込まれたスタイル定義について、スクリプトからのアクセスが禁止されるという規則である。オリジンとは、URLからパス名を除いた部分をいう。すなわち、オリジンは、スキーム、ホスト名、及びポート番号によって特定される。例えば、「http://www.webpage.com:8888/style.css」というURLであれば、「http」がスキームであり、「www.webpage.com」がホスト名であり、8888がポート名である。したがって、「http://www.webpage.com:8888」がオリジンである。
図19は、同一生成元ポリシーを説明するための図である。図19に示されるように、HTML、DOM、及びスタイル定義に対するスクリプトによるアクセスは、Webブラウザであるコンテンツ描画部112を介して行われる。HTML及びDOMについて、ブラウザは、スクリプトからのアクセス要求に応じ、アクセスを許可する。一方、スタイル定義については、ブラウザは、参照元のHTMLファイルと同じオリジンのCSSファイルから読み込まれたスタイル定義に対してのみスクリプトによるアクセスを許可する。換言すれば、ブラウザは、参照元のHTMLファイルと異なるオリジンのCSSファイルから読み込まれたスタイル定義に対するスクリプトによるアクセスを禁止する。具体的には、ブラウザは、スクリプトから、HTMLファイルと異なるCSSファイルに係るスタイル定義の取得が要求された場合、空の値を返却する。
本実施の形態において、スタイル定義の抽出は、スタイル抽出部116によって実行されるが、スタイル抽出部116は、同期データ配信スクリプトがCPU104に実行させる処理によって実現される。すなわち、本実施の形態では、スクリプトによって、スタイル定義の抽出が行われる。したがって、HTMLファイルとCSSファイルとのオリジンが異なる場合、スタイル抽出部116は、スタイル定義を抽出することができない。そうすると、携帯端末10は、各表示端末20にスタイル定義を配信することができない。
但し、スタイル定義は、DOMツリーと異なり静的なものである。すなわち、スタイル定義は、Webコンテンツに基づいて表示される画像の表示状態が変化したとしても変更されない。そこで、各表示端末20にCSSファイルのダウンロードを実行させ、当該CSSファイルからスタイル定義を取得させることが考えられる。
しかしながら、リファラ制限が適用される場合、このような方法が有効でなくなる可能性が有る。リファラ制限とは、特定のURLに配置されたHTMLファイルからの、CSSファイル、スクリプトファイル、及び画像ファイルの参照を禁止するという規則である。例えば、コンテンツサーバ30側において、リファラ制限が設けられている場合、表示端末20に配信されたDOMデータm1から参照されているCSSファイルを、表示端末20が取得できない可能性が有る。
上記より、第一の実施の形態では、HTMLファイルとCSSファイルとのオリジンが異なる場合、表示端末20側において、当該CSSファイルに係るスタイル定義を適用することができなくなる可能性が有る。これが、同一生成元ポリシー及びリファラ制限による不都合である。
斯かる不都合を回避する方法として、以下の二つの方法が挙げられる。
第一の方法として、スタイル抽出部116は、スタイル定義が適用されたDOMツリーにアクセスして、DOMツリーからスタイル定義を抽出する。DOMツリーからは、初期状態のスタイル定義を抽出することはできないが、Webコンテンツの表示サイズに合わせて各表示要素の表示位置及びサイズ等が計算された後のスタイル定義を抽出することは可能である。但し、初期状態のスタイル定義において、各要素のサイズや位置等は、割合(%)によって定義されているのに対し、DOMツリーから抽出されるスタイル定義において、各要素の表示位置やサイズ等は、ピクセル単位となっている。すなわち、前者は相対値であるのに対し、後者は絶対値となっている。
したがって、第一の方法によれば、携帯端末10における画像と同じサイズの画像を、表示端末20に表示させることはできるが、各表示端末20において表示される画像のサイズを、各表示端末20において生成されるインラインフレームに合わせたものとするのは困難である。
図20は、第二の実施の形態の第一の方法による各端末の画像の表示イメージの例を示す図である。図20において、ディスプレイD1は、携帯端末10のディスプレイである。ディスプレイD3は、大型の表示端末20のディスプレイである。ディスプレイD4は、小型の表示端末20のディスプレイである。図20に示されるように、第一の方法では、各表示端末20に配信されるスタイル定義が絶対値に基づくものであるため、各表示端末20には、携帯端末10と同じサイズの画像が表示されてしまう。
第一の方法による不都合を解消可能な第二の方法について説明する。第二の方法において、コンテンツ描画部112は、図21に示されるように画像を描画する。
図21は、第二の実施の形態の第二の方法における画像の描画例を示す図である。図21に示されるように、第二の方法において、携帯端末10では、一つのWebコンテンツに基づいて、画像500a及び画像500bの二つの画像が描画される。画像500aは、携帯端末10のWebブラウザのウィンドウ(以下、「ブラウザ領域」という。)内、すなわち、携帯端末10のディスプレイD1において表示対象となる範囲A1内に生成される。
一方、画像500bは、ディスプレイD1において表示対象となる範囲A1外(以下、「非表示領域」という。)に生成されるインラインフレームA2内に描画される。インラインフレームA2は、表示端末20において生成されるインラインフレームのサイズ(高さ及び幅)を有する。スタイル抽出部116は、インラインフレームA2に対して生成されたDOMツリーから、スタイル定義を抽出する。データ配信部118は、当該スタイル定義を、各表示端末20に配信する。当該スタイル定義において、各表示要素の座標値は、絶対値である。ここで、当該座標値は、表示端末20において生成されるインラインフレームと同じサイズに基づいて算出されたものである。したがって、当該スタイル定義に基づいて各表示端末20において描画される画像500のサイズは、各表示端末20のディスプレイのサイズに対応したものとなる。また、画像500bは、非表示領域に描画されるため、携帯端末10における画像の表示状態には影響しない。
なお、各表示端末20におけるインラインフレームのサイズが異なる場合、それぞれのサイズの複数のインラインフレームが、非表示領域に生成されてもよい。
第二の方法が採用される場合、図15のステップS233が、例えば、図22に示されるように変更される。
図22は、第二の実施の形態の第二の方法におけるスタイル定義の抽出処理の処理手順の一例を説明するためのフローチャートである。
ステップS331において、スタイル抽出部116は、表示対象とされているWebコンテンツのCSSファイルのURLの一覧を取得する。続いて、スタイル抽出部116は、当該一覧に含まれるURLの全てのオリジンが、当該WebコンテンツのHTMLファイルのオリジンと同じであるか否かを判定する(S332)。全てのURLのオリジンが、当該HTMLファイルのオリジンと同じである場合(S332でYes)、スタイル抽出部116は、コンテンツ描画部112を介して、コンテンツ表示情報からスタイル定義を抽出し、当該スタイル定義を文字列化してスタイル定義データc1を生成する(S333)。
一方、少なくとも一部のCSSファイルのURLのオリジンが、HTMLファイルのオリジンと異なる場合(S332でNo)、スタイル抽出部116は、非表示領域へのインラインフレームの生成を、コンテンツ描画部112に実行させる(S334)。続いて、スタイル抽出部116は、当該インラインフレームのサイズを、表示端末20において生成されるインラインフレームのサイズに合わせる(S335)。なお、表示端末20において生成されるインラインフレームのサイズを示す情報は、例えば、表示先情報記憶部131において、表示端末20ごとに記憶されていてもよい。
続いて、スタイル抽出部116は、ブラウザ領域に対して生成されているDOMツリーを取得し、当該DOMツリーをインラインフレームに適用する(S336)。続いて、スタイル抽出部116は、インラインフレームに対する各CSSファイルの適用を、コンテンツ描画部112に実行させる(S337)。なお、コンテンツ描画部112は、Webブラウザによって実現されるため、HTMLファイルと異なるオリジンに配置されたCSSファイルにアクセス可能である。
続いて、スタイル抽出部116は、コンテンツ描画部112を介して、インラインフレームからスタイル定義を抽出し、当該スタイル定義を文字列化してスタイル定義データc1を生成する(S338)。すなわち、当該インラインフレームのサイズに合わせて計算された絶対値の座標値を含むスタイル定義データc1が生成される。
上述したように、第二の実施の形態によれば、CSSファイルが、HTMLファイルと異なるオリジンに配置される場合であっても、第一の実施の形態と同様の効果を得ることができる。
次に、第三の実施の形態について説明する。第三の実施の形態では第一の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第一の実施の形態と同様でもよい。
図23は、第三の実施の形態における携帯端末及び表示端末の機能構成例を示す図である。図23中、図4と同一部分には同一符号を付し、その説明は省略する。
図23において、携帯端末10は、イベントハンドラ抽出部113及びスクリプト生成部114の代わりに、スクリプト取得部121を有する。一方、表示端末20は、イベントハンドラ設定部213を有さない。
スクリプト取得部121は、Webコンテンツを構成するスクリプトによる定義(以下、「スクリプト定義」という。)を、コンテンツ描画部112から取得する。したがって、第三の実施の形態では、データ配信部118によって各表示端末20に配信される初期情報には、イベント通知スクリプトsc1の代わりに、スクリプト取得部121によって取得されたスクリプト定義が含まれる。よって、表示端末20は、イベント通知スクリプトsc1に関する処理を実行するイベントハンドラ設定部213を有していなくてもよい。
すなわち、第三の実施の形態では、同一のWebコンテンツに関するイベントハンドラの定義内容は、携帯端末10と表示端末20との間で同じとなる。このような状態において、第一の実施の形態の図11等において説明したような処理を可能とするため、第三の実施の形態では、スクリプトにおいて呼び出される関数に対する実装部分であるライブラリが、携帯端末10と表示端末20とにおいて異なる。
図24は、第三の実施の形態の仕組みを説明するための図である。図24において、携帯端末10は、ライブラリL1を有し、表示端末20は、ライブラリL2を有する。ライブラリL1及びL2は、それぞれ同じ関数の集合であるが、各関数の実装内容が異なる。例えば、携帯端末10と、表示端末20とにおいて、同一のWebコンテンツに関する画像500が表示されているとする。この状態において、携帯端末10に表示されている画像500内のボタンb1が押下されると、コンテンツ描画部112は、ボタン押下時の処理定義を含むイベントハンドラh11に基づく処理を実行する。イベントハンドラh11内において、ライブラリL1に含まれるB1()という名前の関数が呼び出されると、ライブラリL1におけるB1()の実装に基づいて、DOMツリーの更新処理が実行される。
一方、表示端末20に表示されている画像500内のボタンb1が押下されると、コンテンツ描画部215は、ボタン押下時の処理定義を含むイベントハンドラh11に基づく処理を実行する。イベントハンドラh11内において、ライブラリL1に含まれるB1()という名前の関数が呼び出されると、ライブラリL1におけるB1()の実装に基づいて、ボタン押下の通知処理が実行される。その結果、ボタンb1の押下が、携帯端末10に通知される。
図9を用いて更に詳しく説明すると、第三の実施の形態において、携帯端末10におけるイベントハンドラの定義内容が、イベントハンドラeh111及びeh112である場合、表示端末20におけるイベントハンドラの定義内容は、イベントハンドラeh111及びeh112である。すなわち、双方の端末のイベントハンドラの定義内容は同じである。第三の実施の形態では、各イベントハンドラにおいて呼びされる関数の実装が双方の端末において異なる。例えば、イベントハンドラeh111であれば、「$('#to').append」に関する実装が、ライブラリL1とライブラリL2とで異なる。
なお、ライブラリL2は、予め表示端末20にインストールされていてもよいし、携帯端末10から表示端末20に送信されてもよい。
上述したように、第三の実施の形態によれば、イベント通知スクリプトsc1を生成する代わりに、スクリプトから呼び出される関数の実装を各端末において異ならせることで、第一の実施の形態と同様の効果を得ることができる。なお、第三の実施の形態は、第二の実施の形態と組み合わされてもよい。
次に、第四の実施の形態について説明する。第四の実施の形態では第一の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第一の実施の形態と同様でもよい。
図25は、第四の実施の形態における携帯端末及び表示端末の機能構成例を示す図である。図25中、図4と同一部分には同一符号を付し、その説明は省略する。
図23において、携帯端末10は、イベントハンドラ抽出部113及びスクリプト生成部114の代わりに、スクリプト取得部121及びスクリプト編集部122を有する。一方、表示端末20は、イベントハンドラ設定部213を有さない
スクリプト取得部121については、図23において説明した通りである。スクリプト編集部122は、スクリプト取得部121によって取得されたスクリプト定義を編集する。第三の実施の形態では、データ配信部118によって各表示端末20に配信される初期情報には、イベント通知スクリプトsc1の代わりに、スクリプト編集部122によって編集されたスクリプト定義が含まれる。したがって、表示端末20は、イベント通知スクリプトsc1に関する処理を実行するイベントハンドラ設定部213を有していなくてもよい。
スクリプト取得部121については、図23において説明した通りである。スクリプト編集部122は、スクリプト取得部121によって取得されたスクリプト定義を編集する。第三の実施の形態では、データ配信部118によって各表示端末20に配信される初期情報には、イベント通知スクリプトsc1の代わりに、スクリプト編集部122によって編集されたスクリプト定義が含まれる。したがって、表示端末20は、イベント通知スクリプトsc1に関する処理を実行するイベントハンドラ設定部213を有していなくてもよい。
第四の実施の形態において、Webコンテンツを構成するスクリプト定義のイベントハンドラには、携帯端末10において実行すべき処理と、表示端末20において実行すべき処理とが定義されている。但し、初期状態のスクリプト定義において、表示端末20において実行すべき処理は無効化(コメントアウト)されている。
スクリプト編集部122は、スクリプト取得部121によって取得されたスクリプト定義について、表示端末20において実行すべき処理が有効化され、携帯端末10において実行すべき処理が無効化されるように、編集を行う。その結果、表示端末20には、各イベントハンドラにおいて、携帯端末10にイベントを通知する処理が有効化されたスクリプト定義が配信される。なお、携帯端末10において実行すべき処理の無効化は、当該処理に関する定義がコメントアウトされることによって行われてもよいし、当該処理に関する定義が削除されることによって行われてもよい。
図26は、第四の実施の形態の仕組みを説明するための図である。図26中、図24と同一部分には同一符号を付し、その説明は、省略する。
図26において、携帯端末10に表示されている画像500内のボタンb1が押下されると、コンテンツ描画部112は、ボタン押下時の処理定義を含むイベントハンドラh21に基づく処理を実行する。イベントハンドラh21においては、「SB.js」が有効化され、「TB.js」が無効化されている。「SB.js」は、携帯端末10において実行すべき処理、例えば、DOMツリーの変更処理等である。
一方、表示端末20に表示されている画像500内のボタンb1が押下されると、コンテンツ描画部215は、ボタン押下時の処理定義を含むイベントハンドラh22を実行する。イベントハンドラh21においては、「TB.js」が有効化され、「SB.js」が無効化されている。「TB.js」は、表示端末20において実行すべき処理、例えば、ボタンb1の押下の通知処理等である。
図9を用いて更に詳しく説明すると、第四の実施の形態において、イベントハンドラeh11には、「$('#to').append('<span>' + event.pageX +'</span>');」に加えて、イベントハンドラeh21の定義内容である、「sender.sendMessage('#target', event);」がコメントアウトされて含まれている。
スクリプト編集部122は、「$('#to').append('<span>' + event.pageX +'</span>');」を無効化し、「sender.sendMessage('#target', event);」が有効化する。データ配信部118は、斯かる編集が行われたスクリプト定義を、各表示端末20に配信する。その結果、表示端末20における操作が、携帯端末10に通知されるようになる。
なお、スクリプト編集部122が実行する処理は、各表示端末20において行われてもよい。但し、表示端末20が複数の場合、複数の表示端末20において同じ編集処理が実行される。したがって、この場合、携帯端末10において一元的に編集処理が実行された方が、効率的である。
上述したように、第四の実施の形態によれば、スクリプト定義には、携帯端末10用の処理定義に加え、表示端末20用の処理定義が無効化されて含まれている。表示端末20においては、携帯端末10用の処理定義が無効化され、表示端末20用の処理定義が有効化されたスクリプト定義が適用されることで、第一の実施の形態と同様の効果を得ることができる。なお、第四の実施の形態は、第二の実施の形態と組み合わされてもよい。
次に、第五の実施の形態について説明する。第五の実施の形態では、第一〜第四の実施の形態において説明した技術について、具体的な利用シーンへの応用例を説明する。第五の実施の形態において、スマートテーブル20aが表示端末20の一例であるとする。或る会議室に、1台のスマートテーブル20aが配置されている状況を想定する。スマートテーブル20aは、第一〜第四の実施の形態のいずれかの実施の形態における表示端末20と同様の機能構成を有する。
図27は、第五の実施の形態においてスマートテーブルが実行する処理手順の一例を説明するためのフローチャートである。
スマートテーブル20aは、例えば、会議室内に設置されている無線LANのアクセスポイントへの携帯端末10の接続を待機している(S401)。携帯端末10のユーザが、会議室に入ると、携帯端末10は、無線LANに接続される。以降において、スマートテーブル20aと携帯端末10との通信は、当該無線LANを介して行われる。スマートテーブル20aは、携帯端末10による無線LANへの接続を検知すると、スマートテーブル20a対応用アプリと、1以上のWebコンテンツとを、携帯端末10に送信する(S402)。スマートテーブル20a対応用アプリとは、スマートテーブル20aとの連携のための処理を携帯端末10に実行させるためのアプリケーションプログラムである。1以上のWebコンテンツは、例えば、会議室という場に適したWebコンテンツである。但し、Webコンテンツは、コンテンツサーバ30からダウンロードされてもよい。この場合、スマートテーブル20aは、Webコンテンツの代わりに、スマートテーブル20a又は会議室の識別情報を、携帯端末10に送信してもよい。スマートテーブル対応アプリは、当該識別情報に対応するWebコンテンツのダウンロードを、携帯端末10に実行させてもよい。
続いて、スマートテーブル20aは、スマートテーブル20aへの携帯端末10の載置を待機する(S403)。なお、スマートテーブル20aは、携帯端末10の載置を促すメッセージを、その表示装置(タッチパネル)に表示させてもよい。
スマートテーブル20aは、携帯端末10が載置されたことを検知すると(S403でYes)、携帯端末10が載置された位置を検出する(S404)。なお、携帯端末10の載置は、例えば、携帯端末10からの通知に基づいて検知される。又は、スマートテーブル20aに備えられたセンサによって、携帯端末10の載置が検知されてもよい。
携帯端末10の位置は、例えば、スマートテーブル対応アプリが携帯端末10に表示させる所定のパターン(以下、「位置認識用パターン」という。)が、会議室に設置され、スマートテーブル20aに接続されているカメラによって認識されることにより、検出されてもよい。
又は、携帯端末10が備えたセンサによって、携帯端末10が載置された位置が検出されてもよい。例えば、スマートテーブル20a上には、複数箇所にNFC(Near field communication)タグが貼り付けられている。スマートテーブル20a上に載置された携帯端末10が備えるNFCリーダによって、NFCタグのIDが読み込まれる。携帯端末10は、当該IDをスマートテーブル20aに通知することで、スマートテーブル20aは、携帯端末10の位置を検出する。なお、NFCタグ上に携帯端末10を載置してらうために、スマートテーブル20aは、ユーザの接近を人感センサ等で検知し、NFCタグが貼られた位置に、携帯端末10の載置を促すメッセージ等を表示させてもよい。
続いて、スマートテーブル20aは、携帯端末10の位置情報を、携帯端末10に送信する(S405)。位置情報は、スマートテーブル20aが、スマートテーブル20a上の位置を認識可能な情報であればよい。例えば、位置を示すIDや座標値等が、位置情報であってもよい。続いて、スマートテーブル20aは、携帯端末10からのウィンドウの生成要求を待機する(S406)。ウィンドウとは、Webコンテンツに基づく画像が表示されるウィンドウであり、例えば、スマートテーブル20aが備えるWebブラウザによって表示される。
携帯端末10からのウィンドウの生成要求が受信されると(S406でYes)、スマートテーブル20aの表示領域生成部212は、当該生成要求において指定された位置に、当該生成要求において指定された個数のウィンドウを、コンテンツ描画部215に生成させる(S407)。なお、複数のウィンドウが生成される場合、各ウィンドウは、一部又は全部が重なるように配置されてもよいし、相互に重畳しないように配列されてもよい。
続いて、スマートテーブル20aは、生成された各ウィンドウのID(以下、「ウィンドウID」という。)を、携帯端末10に送信する(S408)。
続いて、スマートテーブル20aのデータ受信部211は、初期情報又は差分データの受信を待機する(S409)。初期情報とは、第一の実施の形態、第三の実施の形態、又は第四の実施の形態において説明した初期情報である。また、差分データとは、第一の実施の形態において説明した差分データである。
データ受信部211によって初期情報又は差分データが受信されると(S409でYes)、スマートテーブル20aの表示状態適用部214は、初期情報又は差分データを、当該初期情報又は差分データと共に受信されるウィンドウIDに係るウィンドウに適用する(S410)。その結果、当該ウィンドウにおける画像の表示状態は、携帯端末10における表示状態に同期したものとなる。
図28は、携帯端末の表示状態とスマートテーブルの表示状態との同期の例を示す図である。図28には、スマートテーブル20aを上から見た図が示されている。スマートテーブル20aのタッチパネルP1の枠の部分に、携帯端末10が載置されている。また、携帯端末10が載置された位置に対応させて、ウィンドウW1が表示されている。ウィンドウW1に表示される画像の表示状態は、携帯端末10における画像の表示状態と同じである。なお、図28では、便宜上、ウィンドウが1つだけ生成された例が示されている。また、図28では、複数の携帯端末10における画像を、それぞれの携帯端末10が載置された位置に同時に表示可能なように、タッチパネルP1の一部分にウィンドウW1が表示されている。但し、ウィンドウW1が、タッチパネルP1の全面に拡大されて表示されてもよい。
続いて、スマートテーブル20aのコンテンツ描画部215は、ユーザによる操作入力を待機する(S411)。ユーザによる操作が入力されると、スマートテーブル20aは、当該操作の内容を示す情報を、携帯端末10送信する(S412)。画像に対する操作は、第一〜第四の実施の形態において説明した仕組みによって、携帯端末10に送信される。
続いて、スマートテーブル20aは、当該操作がチェックアウト指示か否かを判定する(S413)。チェックアウト指示とは、スマートテーブル20aの利用の終了を示す指示であり、スマートテーブル20aに対する所定の操作によって入力される。チェックアウト指示が入力された場合(S413でYes)、図27の処理は終了する。
一方、入力された操作がチェックアウト指示でなく、ウィンドウに表示されている画像に対する指示である場合(S413でNo)、スマートテーブル20aは、ステップS409以降を継続する。
続いて、携帯端末10が実行する処理について説明する。図29は、第五の実施の形態において携帯端末が実行する処理手順の一例を説明するためのフローチャートである。
ステップS501において、携帯端末10のコンテンツ取得部111は、ステップS402においてスマートテーブル20aから送信された、スマートテーブル対応アプリと、1以上のWebコンテンツとを受信する。
続いて、携帯端末10は、スマートテーブル対応アプリを起動する(S502)。続くステップS503〜S508は、スマートテーブル対応アプリが、CPU104に実行させる。
ステップS503において、携帯端末10は、スマートテーブル20aへの載置を待機する(S503)。スマートテーブル20aに載置されたことが検知されると(S503でYes)、携帯端末10は、載置されたことを示す通知を、スマートテーブル20aに送信する(S504)。続いて、携帯端末10は、位置認識用パターンを表示装置106に表示する(S505)。なお、NFCタグが用いられて携帯端末10の位置が検出される場合、位置認識用パターンの表示は実行されなくてもよい。
続いて、携帯端末10は、位置認識用パターンを表示した状態で、スマートテーブル20aからの位置情報の受信を待機する(S506)。位置情報が受信されると(S506でYes)、携帯端末10は、当該位置情報を指定して、ウィンドウの生成要求をスマートテーブル20aに送信する(S507)。テップS506において受信されたWebコンテンツの個数を示す値も当該生成要求に含まれる。続いて、携帯端末10は、スマートテーブル20aにおいて生成された各ウィンドウのウィンドウIDの受信を待機する(S508)。
ウィンドウIDが受信されると、コンテンツ描画部112は、ステップS501において受信された各Webコンテンツについて描画処理を実行する(S509)。その結果、Webコンテンツに基づく画像が、携帯端末10に表示される。なお、各Webコンテンツは、それぞれ異なるタブウィンドウに描画されてもよい。各タブウィンドウには、スマートテーブル20aから受信されたウィンドウIDが対応付けられる。
続いて、データ配信部118は、ウィンドウIDとごとに、当該ウィンドウIDに対応するWebコンテンツの初期情報を、スマートテーブル20aに送信する(S510)。続いて、携帯端末10のイベント受信部119は、スマートテーブ上での操作の内容を示す情報の受信を待機する(S511)。イベント受信部119は、当該情報を受信すると(S511)、当該情報が示す操作が、チェックアウト指示であるか否かを判定する(S512)。当該操作がチェックアウト指示である場合(S512でYes)、図29の処理は終了する。
当該操作がチェックアウト指示ではなく、画像に対する操作である場合(S512でNo)、変更監視部117は、当該操作に対応するイベントを、当該情報に含まれているウィンドウIDに対応するDOMツリーに対して擬似的に発生させる。その結果、当該イベントに応じた処理、すなわち、当該イベントに対応するイベントハンドラに定義されている処理が、コンテンツ描画部112によって実行される(S513)。当該処理の実行の結果、当該DOMツリーの構成が変化する。すなわち、当該DOMツリーに係る画像の表示状態が変化する。続いて、データ配信部118は、当該DOMツリーの変更前後の差分データを、スマートテーブル20aに送信する(S514)。
上述しように、第五の実施の形態によれば、会議室に適したWebコンテンツについて、携帯端末10とスマートテーブル20aとの表示状態を同期させることができる。なお、スマートテーブル20a以外の表示端末20に関して、第五の実施の形態が適用されてもよい。例えば、屋外におけるデジタルサイネージに関して、第五の実施の形態が適用されてもよい。
なお、上記各実施の形態において、携帯端末10は、情報処理端末の一例である。Webコンテンツは、表示データの一例である。コンテンツ描画部112は、表示制御部、処理実行部、変更部、及び第二の生成部の一例である。スクリプト生成部114は、第一の生成部の一例である。DOMツリーは、表示状態を示すデータの一例である。データ配信部118は、送信部の一例である。イベント受信部119は、受信部の一例である。スタイル定義は、配置情報の一例である。スタイル抽出部116は、抽出部の一例である。請求項9及び10に関して、データ受信部211は、受信部の一例である。コンテンツ描画部215は、表示制御部の一例である。イベント送信部216は、通知部の一例である。イベント通知スクリプトsc1は、命令の定義情報の一例である。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
以上の説明に関し、更に以下の項を開示する。
(付記1)
表示端末にネットワークを介して接続可能な情報処理端末であって、
表示データに基づいて、ユーザによる操作に応じて表示状態が変化する画像を表示させる表示制御部と、
前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成する第一の生成部と、
前記命令の定義情報と、前記操作に応じて変化する、前記表示制御部によって表示されている画像の表示状態を示すデータとを、前記表示端末に送信する送信部と、
を有することを特徴とする情報処理端末。
(付記2)
前記表示端末において前記表示状態を示すデータに基づいて表示される画像に対する操作に応じ、前記命令の定義情報に基づいて、前記表示端末から送信される当該操作の発生の通知を受信する受信部と、
前記受信部による前記操作の発生の通知の受信に応じ、前記表示制御部によって表示されている画像の表示状態を変更する変更部とを有し、
前記送信部は、前記変更部による変更後の表示状態を示すデータを、前記表示端末に送信する、
ことを特徴とする付記1記載の情報処理端末。
(付記3)
前記命令の定義情報は、スクリプトによって記述される、
ことを特徴とする付記1又は2記載の情報処理端末。
(付記4)
前記第一の生成部は、前記表示データに基づいて表示される動画が前記表示端末において再生された場合に当該動画の再生状態の変更を当該情報処理端末に通知させる命令の定義情報を生成する、
ことを特徴とする付記1乃至3いずれか一項記載の情報処理端末。
(付記5)
前記表示端末における前記画像の表示サイズに合わせて、前記表示データに基づく画像を生成する第二の生成部と、
前記第二の生成部によって生成された画像から、当該画像を構成する表示要素の配置情報を抽出する抽出部とを有し、
前記送信部は、前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータと、前記配置情報とを、前記表示端末に送信する、
ことを特徴とする付記1乃至4いずれか一項記載の情報処理端末。
(付記6)
前記第二の生成部は、前記表示データを構成するHTMLファイルとCSSファイルとのオリジンが異なる場合に、前記表示端末における前記画像の表示サイズに合わせて、前記表示データに基づく画像を生成する、
ことを特徴とする付記5記載の情報処理端末。
(付記7)
前記表示データには、当該表示データに基づいて表示される画像に対する操作に応じて当該情報処理端末が実行すべき第一の処理の定義が有効化された状態で含まれ、当該操作に応じて前記表示端末が実行すべき第二の処理の定義が無効化された状態で含まれ、
前記第一の生成部は、前記第一の処理の定義を無効化し、前記第二の処理の定義を有効化して、前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成する、
ことを特徴とする付記1乃至6いずれか一項記載の情報処理端末。
(付記8)
表示端末にネットワークを介して接続可能な情報処理端末であって、
表示データに基づいて、ユーザによる操作に応じて表示状態が変化する画像を表示させる表示制御部と、
前記表示データに含まれる、当該表示データに基づいて表示される画像に対する操作に応じて実行すべき処理の定義に基づいて、前記表示制御部によって表示されている画像に対する操作に応じた処理を実行する処理実行部と、
前記処理の定義と、前記表示制御部によって表示されている画像の表示状態を示すデータとを、前記表示端末に送信する送信部とを有し、
前記表示端末は、前記処理の定義において呼び出される関数に関して、当該情報処理端末が実行する処理と異なる処理を実行することにより、前記表示状態を示すデータに基づいて前記表示端末に表示される画像に対する操作に応じ、当該操作の発生を前記情報処理端末に通知する、
ことを特徴とする情報処理端末。
(付記9)
付記1乃至7いずれか一項記載の情報処理端末から送信される、前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータとを受信する受信部と、
前記受信部によって受信されたデータに基づく画像を表示させる表示制御部と、
前記画像に対する操作に応じ、前記命令の定義情報に基づいて、当該操作の発生を前記情報処理端末に通知する通知部と、
を有することを特徴とする表示端末。
(付記10)
付記8記載の情報処理端末から送信される、前記処理の定義と、前記表示制御部によって表示されている画像の表示状態を示すデータとを受信する受信部と、
前記受信部によって受信されたデータに基づく画像を表示させる表示制御部と、
前記処理の定義において呼び出される関数に関して、当該情報処理端末が実行する処理と異なる処理を実行することにより、前記表示制御部によって表示される画像に対する操作に応じ、当該操作の発生を前記情報処理端末に通知する通知部と、
を有することを特徴とする表示端末。
(付記11)
表示端末にネットワークを介して接続可能な情報処理端末が、
表示データに基づいて、ユーザによる操作に応じて表示状態が変化する画像を表示させ、
前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成し、
前記命令の定義情報と、前記操作に応じて変化する、表示されている画像の表示状態を示すデータとを、前記表示端末に送信する、
処理を実行する表示方法。
(付記12)
前記表示端末において前記表示状態を示すデータに基づいて表示される画像に対する操作に応じ、前記命令の定義情報に基づいて、前記表示端末から送信される当該操作の発生の通知を受信し、
前記受信する処理における前記操作の発生の通知の受信に応じ、前記表示制御部によって表示されている画像の表示状態を変更し、
前記変更する処理による変更後の表示状態を示すデータを、前記表示端末に送信する、
処理を前記情報処理端末が実行する付記11記載の表示方法。
(付記13)
前記命令の定義情報は、スクリプトによって記述される、
ことを特徴とする付記11又は12記載の表示方法。
(付記14)
前記生成する処理は、前記表示データに基づいて表示される動画が前記表示端末において再生された場合に当該動画の再生状態の変更を当該情報処理端末に通知させる命令の定義情報を生成する、
ことを特徴とする付記11乃至13いずれか一項記載の表示方法。
(付記15)
前記表示端末における前記画像の表示サイズに合わせて、前記表示データに基づく画像を生成し、
生成された画像から、当該画像を構成する表示要素の配置情報を抽出し、
前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータと、前記配置情報とを、前記表示端末に送信する、
処理を前記情報処理端末が実行する付記11乃至14いずれか一項記載の表示方法。
(付記16)
前記画像を生成する処理は、前記表示データを構成するHTMLファイルとCSSファイルとのオリジンが異なる場合に、前記表示端末における前記画像の表示サイズに合わせて、前記表示データに基づく画像を生成する、
ことを特徴とする付記15記載の表示方法。
(付記17)
前記表示データには、当該表示データに基づいて表示される画像に対する操作に応じて当該情報処理端末が実行すべき第一の処理の定義が有効化された状態で含まれ、当該操作に応じて前記表示端末が実行すべき第二の処理の定義が無効化された状態で含まれ、
前記画像を生成する処理は、前記第一の処理の定義を無効化し、前記第二の処理の定義を有効化して、前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成する、
ことを特徴とする付記11乃至16いずれか一項記載の表示方法。
(付記18)
表示端末が、
付記1乃至7いずれか一項記載の情報処理端末から送信される、前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータとを受信し、
受信されたデータに基づく画像を表示させ、
前記画像に対する操作に応じ、前記命令の定義情報に基づいて、当該操作の発生を前記情報処理端末に通知する、
処理を実行する表示方法。
(付記19)
表示端末にネットワークを介して接続可能な情報処理端末に、
表示データに基づいて、ユーザによる操作に応じて表示状態が変化する画像を表示させ、
前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成し、
前記命令の定義情報と、前記操作に応じて変化する、表示されている画像の表示状態を示すデータとを、前記表示端末に送信する、
処理を実行させるプログラム。
(付記20)
前記表示端末において前記表示状態を示すデータに基づいて表示される画像に対する操作に応じ、前記命令の定義情報に基づいて、前記表示端末から送信される当該操作の発生の通知を受信し、
前記受信する処理における前記操作の発生の通知の受信に応じ、前記表示制御部によって表示されている画像の表示状態を変更し、
前記変更する処理による変更後の表示状態を示すデータを、前記表示端末に送信する、
処理を前記情報処理端末に実行させる付記19記載のプログラム。
(付記21)
前記命令の定義情報は、スクリプトによって記述される、
ことを特徴とする付記19又は20記載のプログラム。
(付記22)
前記生成する処理は、前記表示データに基づいて表示される動画が前記表示端末において再生された場合に当該動画の再生状態の変更を当該情報処理端末に通知させる命令の定義情報を生成する、
ことを特徴とする付記19乃至21いずれか一項記載のプログラム。
(付記23)
前記表示端末における前記画像の表示サイズに合わせて、前記表示データに基づく画像を生成し、
生成された画像から、当該画像を構成する表示要素の配置情報を抽出し、
前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータと、前記配置情報とを、前記表示端末に送信する、
処理を前記情報処理端末に実行させる付記19乃至22いずれか一項記載のプログラム。
(付記24)
前記画像を生成する処理は、前記表示データを構成するHTMLファイルとCSSファイルとのオリジンが異なる場合に、前記表示端末における前記画像の表示サイズに合わせて、前記表示データに基づく画像を生成する、
ことを特徴とする付記23記載のプログラム。
(付記25)
前記表示データには、当該表示データに基づいて表示される画像に対する操作に応じて当該情報処理端末が実行すべき第一の処理の定義が有効化された状態で含まれ、当該操作に応じて前記表示端末が実行すべき第二の処理の定義が無効化された状態で含まれ、
前記画像を生成する処理は、前記第一の処理の定義を無効化し、前記第二の処理の定義を有効化して、前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成する、
ことを特徴とする付記19乃至24いずれか一項記載のプログラム。
(付記26)
表示端末に、
付記1乃至7いずれか一項記載の情報処理端末から送信される、前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータとを受信し、
受信されたデータに基づく画像を表示させ、
前記画像に対する操作に応じ、前記命令の定義情報に基づいて、当該操作の発生を前記情報処理端末に通知する、
処理を実行させるプログラム。
(付記1)
表示端末にネットワークを介して接続可能な情報処理端末であって、
表示データに基づいて、ユーザによる操作に応じて表示状態が変化する画像を表示させる表示制御部と、
前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成する第一の生成部と、
前記命令の定義情報と、前記操作に応じて変化する、前記表示制御部によって表示されている画像の表示状態を示すデータとを、前記表示端末に送信する送信部と、
を有することを特徴とする情報処理端末。
(付記2)
前記表示端末において前記表示状態を示すデータに基づいて表示される画像に対する操作に応じ、前記命令の定義情報に基づいて、前記表示端末から送信される当該操作の発生の通知を受信する受信部と、
前記受信部による前記操作の発生の通知の受信に応じ、前記表示制御部によって表示されている画像の表示状態を変更する変更部とを有し、
前記送信部は、前記変更部による変更後の表示状態を示すデータを、前記表示端末に送信する、
ことを特徴とする付記1記載の情報処理端末。
(付記3)
前記命令の定義情報は、スクリプトによって記述される、
ことを特徴とする付記1又は2記載の情報処理端末。
(付記4)
前記第一の生成部は、前記表示データに基づいて表示される動画が前記表示端末において再生された場合に当該動画の再生状態の変更を当該情報処理端末に通知させる命令の定義情報を生成する、
ことを特徴とする付記1乃至3いずれか一項記載の情報処理端末。
(付記5)
前記表示端末における前記画像の表示サイズに合わせて、前記表示データに基づく画像を生成する第二の生成部と、
前記第二の生成部によって生成された画像から、当該画像を構成する表示要素の配置情報を抽出する抽出部とを有し、
前記送信部は、前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータと、前記配置情報とを、前記表示端末に送信する、
ことを特徴とする付記1乃至4いずれか一項記載の情報処理端末。
(付記6)
前記第二の生成部は、前記表示データを構成するHTMLファイルとCSSファイルとのオリジンが異なる場合に、前記表示端末における前記画像の表示サイズに合わせて、前記表示データに基づく画像を生成する、
ことを特徴とする付記5記載の情報処理端末。
(付記7)
前記表示データには、当該表示データに基づいて表示される画像に対する操作に応じて当該情報処理端末が実行すべき第一の処理の定義が有効化された状態で含まれ、当該操作に応じて前記表示端末が実行すべき第二の処理の定義が無効化された状態で含まれ、
前記第一の生成部は、前記第一の処理の定義を無効化し、前記第二の処理の定義を有効化して、前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成する、
ことを特徴とする付記1乃至6いずれか一項記載の情報処理端末。
(付記8)
表示端末にネットワークを介して接続可能な情報処理端末であって、
表示データに基づいて、ユーザによる操作に応じて表示状態が変化する画像を表示させる表示制御部と、
前記表示データに含まれる、当該表示データに基づいて表示される画像に対する操作に応じて実行すべき処理の定義に基づいて、前記表示制御部によって表示されている画像に対する操作に応じた処理を実行する処理実行部と、
前記処理の定義と、前記表示制御部によって表示されている画像の表示状態を示すデータとを、前記表示端末に送信する送信部とを有し、
前記表示端末は、前記処理の定義において呼び出される関数に関して、当該情報処理端末が実行する処理と異なる処理を実行することにより、前記表示状態を示すデータに基づいて前記表示端末に表示される画像に対する操作に応じ、当該操作の発生を前記情報処理端末に通知する、
ことを特徴とする情報処理端末。
(付記9)
付記1乃至7いずれか一項記載の情報処理端末から送信される、前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータとを受信する受信部と、
前記受信部によって受信されたデータに基づく画像を表示させる表示制御部と、
前記画像に対する操作に応じ、前記命令の定義情報に基づいて、当該操作の発生を前記情報処理端末に通知する通知部と、
を有することを特徴とする表示端末。
(付記10)
付記8記載の情報処理端末から送信される、前記処理の定義と、前記表示制御部によって表示されている画像の表示状態を示すデータとを受信する受信部と、
前記受信部によって受信されたデータに基づく画像を表示させる表示制御部と、
前記処理の定義において呼び出される関数に関して、当該情報処理端末が実行する処理と異なる処理を実行することにより、前記表示制御部によって表示される画像に対する操作に応じ、当該操作の発生を前記情報処理端末に通知する通知部と、
を有することを特徴とする表示端末。
(付記11)
表示端末にネットワークを介して接続可能な情報処理端末が、
表示データに基づいて、ユーザによる操作に応じて表示状態が変化する画像を表示させ、
前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成し、
前記命令の定義情報と、前記操作に応じて変化する、表示されている画像の表示状態を示すデータとを、前記表示端末に送信する、
処理を実行する表示方法。
(付記12)
前記表示端末において前記表示状態を示すデータに基づいて表示される画像に対する操作に応じ、前記命令の定義情報に基づいて、前記表示端末から送信される当該操作の発生の通知を受信し、
前記受信する処理における前記操作の発生の通知の受信に応じ、前記表示制御部によって表示されている画像の表示状態を変更し、
前記変更する処理による変更後の表示状態を示すデータを、前記表示端末に送信する、
処理を前記情報処理端末が実行する付記11記載の表示方法。
(付記13)
前記命令の定義情報は、スクリプトによって記述される、
ことを特徴とする付記11又は12記載の表示方法。
(付記14)
前記生成する処理は、前記表示データに基づいて表示される動画が前記表示端末において再生された場合に当該動画の再生状態の変更を当該情報処理端末に通知させる命令の定義情報を生成する、
ことを特徴とする付記11乃至13いずれか一項記載の表示方法。
(付記15)
前記表示端末における前記画像の表示サイズに合わせて、前記表示データに基づく画像を生成し、
生成された画像から、当該画像を構成する表示要素の配置情報を抽出し、
前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータと、前記配置情報とを、前記表示端末に送信する、
処理を前記情報処理端末が実行する付記11乃至14いずれか一項記載の表示方法。
(付記16)
前記画像を生成する処理は、前記表示データを構成するHTMLファイルとCSSファイルとのオリジンが異なる場合に、前記表示端末における前記画像の表示サイズに合わせて、前記表示データに基づく画像を生成する、
ことを特徴とする付記15記載の表示方法。
(付記17)
前記表示データには、当該表示データに基づいて表示される画像に対する操作に応じて当該情報処理端末が実行すべき第一の処理の定義が有効化された状態で含まれ、当該操作に応じて前記表示端末が実行すべき第二の処理の定義が無効化された状態で含まれ、
前記画像を生成する処理は、前記第一の処理の定義を無効化し、前記第二の処理の定義を有効化して、前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成する、
ことを特徴とする付記11乃至16いずれか一項記載の表示方法。
(付記18)
表示端末が、
付記1乃至7いずれか一項記載の情報処理端末から送信される、前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータとを受信し、
受信されたデータに基づく画像を表示させ、
前記画像に対する操作に応じ、前記命令の定義情報に基づいて、当該操作の発生を前記情報処理端末に通知する、
処理を実行する表示方法。
(付記19)
表示端末にネットワークを介して接続可能な情報処理端末に、
表示データに基づいて、ユーザによる操作に応じて表示状態が変化する画像を表示させ、
前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成し、
前記命令の定義情報と、前記操作に応じて変化する、表示されている画像の表示状態を示すデータとを、前記表示端末に送信する、
処理を実行させるプログラム。
(付記20)
前記表示端末において前記表示状態を示すデータに基づいて表示される画像に対する操作に応じ、前記命令の定義情報に基づいて、前記表示端末から送信される当該操作の発生の通知を受信し、
前記受信する処理における前記操作の発生の通知の受信に応じ、前記表示制御部によって表示されている画像の表示状態を変更し、
前記変更する処理による変更後の表示状態を示すデータを、前記表示端末に送信する、
処理を前記情報処理端末に実行させる付記19記載のプログラム。
(付記21)
前記命令の定義情報は、スクリプトによって記述される、
ことを特徴とする付記19又は20記載のプログラム。
(付記22)
前記生成する処理は、前記表示データに基づいて表示される動画が前記表示端末において再生された場合に当該動画の再生状態の変更を当該情報処理端末に通知させる命令の定義情報を生成する、
ことを特徴とする付記19乃至21いずれか一項記載のプログラム。
(付記23)
前記表示端末における前記画像の表示サイズに合わせて、前記表示データに基づく画像を生成し、
生成された画像から、当該画像を構成する表示要素の配置情報を抽出し、
前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータと、前記配置情報とを、前記表示端末に送信する、
処理を前記情報処理端末に実行させる付記19乃至22いずれか一項記載のプログラム。
(付記24)
前記画像を生成する処理は、前記表示データを構成するHTMLファイルとCSSファイルとのオリジンが異なる場合に、前記表示端末における前記画像の表示サイズに合わせて、前記表示データに基づく画像を生成する、
ことを特徴とする付記23記載のプログラム。
(付記25)
前記表示データには、当該表示データに基づいて表示される画像に対する操作に応じて当該情報処理端末が実行すべき第一の処理の定義が有効化された状態で含まれ、当該操作に応じて前記表示端末が実行すべき第二の処理の定義が無効化された状態で含まれ、
前記画像を生成する処理は、前記第一の処理の定義を無効化し、前記第二の処理の定義を有効化して、前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成する、
ことを特徴とする付記19乃至24いずれか一項記載のプログラム。
(付記26)
表示端末に、
付記1乃至7いずれか一項記載の情報処理端末から送信される、前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータとを受信し、
受信されたデータに基づく画像を表示させ、
前記画像に対する操作に応じ、前記命令の定義情報に基づいて、当該操作の発生を前記情報処理端末に通知する、
処理を実行させるプログラム。
10 携帯端末
20 表示端末
30 コンテンツサーバ
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
106 表示装置
107 入力装置
111 コンテンツ取得部
112 コンテンツ描画部
113 イベントハンドラ抽出部
114 スクリプト生成部
115 DOM抽出部
116 スタイル抽出部
117 変更監視部
118 データ配信部
119 イベント受信部
121 スクリプト取得部
122 スクリプト編集部
131 表示先情報記憶部
211 データ受信部
212 表示領域生成部
213 イベントハンドラ設定部
214 表示状態適用部
215 コンテンツ描画部
216 イベント送信部
B バス
20 表示端末
30 コンテンツサーバ
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
106 表示装置
107 入力装置
111 コンテンツ取得部
112 コンテンツ描画部
113 イベントハンドラ抽出部
114 スクリプト生成部
115 DOM抽出部
116 スタイル抽出部
117 変更監視部
118 データ配信部
119 イベント受信部
121 スクリプト取得部
122 スクリプト編集部
131 表示先情報記憶部
211 データ受信部
212 表示領域生成部
213 イベントハンドラ設定部
214 表示状態適用部
215 コンテンツ描画部
216 イベント送信部
B バス
Claims (14)
- 表示端末にネットワークを介して接続可能な情報処理端末であって、
表示データに基づいて、ユーザによる操作に応じて表示状態が変化する画像を表示させる表示制御部と、
前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成する第一の生成部と、
前記命令の定義情報と、前記操作に応じて変化する、前記表示制御部によって表示されている画像の表示状態を示すデータとを、前記表示端末に送信する送信部と、
を有することを特徴とする情報処理端末。 - 前記表示端末において前記表示状態を示すデータに基づいて表示される画像に対する操作に応じ、前記命令の定義情報に基づいて、前記表示端末から送信される当該操作の発生の通知を受信する受信部と、
前記受信部による前記操作の発生の通知の受信に応じ、前記表示制御部によって表示されている画像の表示状態を変更する変更部とを有し、
前記送信部は、前記変更部による変更後の表示状態を示すデータを、前記表示端末に送信する、
ことを特徴とする請求項1記載の情報処理端末。 - 前記命令の定義情報は、スクリプトによって記述される、
ことを特徴とする請求項1又は2記載の情報処理端末。 - 前記第一の生成部は、前記表示データに基づいて表示される動画が前記表示端末において再生された場合に当該動画の再生状態の変更を当該情報処理端末に通知させる命令の定義情報を生成する、
ことを特徴とする請求項1乃至3いずれか一項記載の情報処理端末。 - 前記表示端末における前記画像の表示サイズに合わせて、前記表示データに基づく画像を生成する第二の生成部と、
前記第二の生成部によって生成された画像から、当該画像を構成する表示要素の配置情報を抽出する抽出部とを有し、
前記送信部は、前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータと、前記配置情報とを、前記表示端末に送信する、
ことを特徴とする請求項1乃至4いずれか一項記載の情報処理端末。 - 前記第二の生成部は、前記表示データを構成するHTMLファイルとCSSファイルとのオリジンが異なる場合に、前記表示端末における前記画像の表示サイズに合わせて、前記表示データに基づく画像を生成する、
ことを特徴とする請求項5記載の情報処理端末。 - 前記表示データには、当該表示データに基づいて表示される画像に対する操作に応じて当該情報処理端末が実行すべき第一の処理の定義が有効化された状態で含まれ、当該操作に応じて前記表示端末が実行すべき第二の処理の定義が無効化された状態で含まれ、
前記第一の生成部は、前記第一の処理の定義を無効化し、前記第二の処理の定義を有効化して、前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成する、
ことを特徴とする請求項1乃至6いずれか一項記載の情報処理端末。 - 表示端末にネットワークを介して接続可能な情報処理端末であって、
表示データに基づいて、ユーザによる操作に応じて表示状態が変化する画像を表示させる表示制御部と、
前記表示データに含まれる、当該表示データに基づいて表示される画像に対する操作に応じて実行すべき処理の定義に基づいて、前記表示制御部によって表示されている画像に対する操作に応じた処理を実行する処理実行部と、
前記処理の定義と、前記表示制御部によって表示されている画像の表示状態を示すデータとを、前記表示端末に送信する送信部とを有し、
前記表示端末は、前記処理の定義において呼び出される関数に関して、当該情報処理端末が実行する処理と異なる処理を実行することにより、前記表示状態を示すデータに基づいて前記表示端末に表示される画像に対する操作に応じ、当該操作の発生を前記情報処理端末に通知する、
ことを特徴とする情報処理端末。 - 請求項1乃至7いずれか一項記載の情報処理端末から送信される、前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータとを受信する受信部と、
前記受信部によって受信されたデータに基づく画像を表示させる表示制御部と、
前記画像に対する操作に応じ、前記命令の定義情報に基づいて、当該操作の発生を前記情報処理端末に通知する通知部と、
を有することを特徴とする表示端末。 - 請求項8記載の情報処理端末から送信される、前記処理の定義と、前記表示制御部によって表示されている画像の表示状態を示すデータとを受信する受信部と、
前記受信部によって受信されたデータに基づく画像を表示させる表示制御部と、
前記処理の定義において呼び出される関数に関して、当該情報処理端末が実行する処理と異なる処理を実行することにより、前記表示制御部によって表示される画像に対する操作に応じ、当該操作の発生を前記情報処理端末に通知する通知部と、
を有することを特徴とする表示端末。 - 表示端末にネットワークを介して接続可能な情報処理端末が、
表示データに基づいて、ユーザによる操作に応じて表示状態が変化する画像を表示させ、
前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成し、
前記命令の定義情報と、前記操作に応じて変化する、表示されている画像の表示状態を示すデータとを、前記表示端末に送信する、
処理を実行する表示方法。 - 表示端末が、
請求項1乃至7いずれか一項記載の情報処理端末から送信される、前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータとを受信し、
受信されたデータに基づく画像を表示させ、
前記画像に対する操作に応じ、前記命令の定義情報に基づいて、当該操作の発生を前記情報処理端末に通知する、
処理を実行する表示方法。 - 表示端末にネットワークを介して接続可能な情報処理端末に、
表示データに基づいて、ユーザによる操作に応じて表示状態が変化する画像を表示させ、
前記画像が前記表示端末において表示された場合に当該画像に対する操作の発生を当該情報処理端末に通知させる命令の定義情報を生成し、
前記命令の定義情報と、前記操作に応じて変化する、表示されている画像の表示状態を示すデータとを、前記表示端末に送信する、
処理を実行させるプログラム。 - 表示端末に、
請求項1乃至7いずれか一項記載の情報処理端末から送信される、前記命令の定義情報と、前記操作に応じて変化する前記表示状態を示すデータとを受信し、
受信されたデータに基づく画像を表示させ、
前記画像に対する操作に応じ、前記命令の定義情報に基づいて、当該操作の発生を前記情報処理端末に通知する、
処理を実行させるプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014069150A JP2015191505A (ja) | 2014-03-28 | 2014-03-28 | 情報処理端末、表示端末、表示方法、及びプログラム |
EP15151802.4A EP2937796A1 (en) | 2014-03-28 | 2015-01-20 | Information processing terminal, display terminal, and display method |
US14/602,574 US20150279310A1 (en) | 2014-03-28 | 2015-01-22 | Information processing terminal, display terminal, and display method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014069150A JP2015191505A (ja) | 2014-03-28 | 2014-03-28 | 情報処理端末、表示端末、表示方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015191505A true JP2015191505A (ja) | 2015-11-02 |
Family
ID=52396491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014069150A Pending JP2015191505A (ja) | 2014-03-28 | 2014-03-28 | 情報処理端末、表示端末、表示方法、及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20150279310A1 (ja) |
EP (1) | EP2937796A1 (ja) |
JP (1) | JP2015191505A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018045308A (ja) * | 2016-09-12 | 2018-03-22 | 株式会社日立製作所 | 転送制御装置および転送制御方法 |
JP2019010863A (ja) * | 2017-06-29 | 2019-01-24 | キヤノン株式会社 | 画像処理装置及びその制御方法、並びにプログラム |
US11467789B2 (en) | 2017-06-29 | 2022-10-11 | Canon Kabushiki Kaisha | Image processing apparatus and method for digital signage |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9412187B2 (en) * | 2013-12-20 | 2016-08-09 | Documill Oy | Delayed rendering of content |
JP6459814B2 (ja) * | 2015-07-17 | 2019-01-30 | スター精密株式会社 | プリンタの設定状態更新システム |
US10528647B2 (en) | 2016-06-10 | 2020-01-07 | Ebay Inc. | Optimization for browser rendering during navigation |
US10839147B1 (en) * | 2019-09-24 | 2020-11-17 | Intersections Inc. | Method, a system and a machine-readable data carrier for classifying input fields and groups of input fields of a webpage |
US11132421B1 (en) * | 2020-09-30 | 2021-09-28 | Fujitsu Limited | Enhanced information extraction from web pages |
US11429957B1 (en) | 2020-10-26 | 2022-08-30 | Wells Fargo Bank, N.A. | Smart table assisted financial health |
US11727483B1 (en) | 2020-10-26 | 2023-08-15 | Wells Fargo Bank, N.A. | Smart table assisted financial health |
US11572733B1 (en) | 2020-10-26 | 2023-02-07 | Wells Fargo Bank, N.A. | Smart table with built-in lockers |
US11397956B1 (en) | 2020-10-26 | 2022-07-26 | Wells Fargo Bank, N.A. | Two way screen mirroring using a smart table |
US11457730B1 (en) * | 2020-10-26 | 2022-10-04 | Wells Fargo Bank, N.A. | Tactile input device for a touch screen |
US11741517B1 (en) | 2020-10-26 | 2023-08-29 | Wells Fargo Bank, N.A. | Smart table system for document management |
US11740853B1 (en) | 2020-10-26 | 2023-08-29 | Wells Fargo Bank, N.A. | Smart table system utilizing extended reality |
US11699024B2 (en) * | 2021-09-01 | 2023-07-11 | Salesforce, Inc. | Performance perception when browser's main thread is busy |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004178268A (ja) * | 2002-11-27 | 2004-06-24 | Nec Corp | リアルタイムウェブ共有システム |
JP2010206349A (ja) * | 2009-03-02 | 2010-09-16 | Nec Corp | 動画コンテンツの再生制御方法、動画コンテンツ再生システム、コンピュータ端末、サーバ、及びプログラム |
WO2014042158A1 (ja) * | 2012-09-11 | 2014-03-20 | 日本電信電話株式会社 | コンテンツ表示装置、コンテンツ表示システム、データ構造、コンテンツ表示方法及びコンテンツ表示プログラム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7178106B2 (en) * | 1999-04-21 | 2007-02-13 | Sonic Solutions, A California Corporation | Presentation of media content from multiple media sources |
JP3805776B2 (ja) | 2004-02-26 | 2006-08-09 | 三菱電機株式会社 | グラフィカルプログラミング装置及びプログラマブル表示器 |
JP4432866B2 (ja) | 2005-09-26 | 2010-03-17 | 日本電気株式会社 | Wwwブラウザ、htmlページ共有システムおよびhtmlページ共有方法 |
US20100031139A1 (en) | 2006-12-25 | 2010-02-04 | Access Co., Ltd | Network system |
JP2008191929A (ja) | 2007-02-05 | 2008-08-21 | Mitsubishi Electric Corp | コンテンツ利用システム、コンテンツ表示装置、端末装置及び利用待ち状況表示方法並びにプログラム |
JP5014259B2 (ja) | 2008-05-30 | 2012-08-29 | パナソニック株式会社 | 表示制御装置および表示制御方法 |
JP6064381B2 (ja) * | 2012-06-13 | 2017-01-25 | 株式会社リコー | 情報共有システム |
-
2014
- 2014-03-28 JP JP2014069150A patent/JP2015191505A/ja active Pending
-
2015
- 2015-01-20 EP EP15151802.4A patent/EP2937796A1/en not_active Withdrawn
- 2015-01-22 US US14/602,574 patent/US20150279310A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004178268A (ja) * | 2002-11-27 | 2004-06-24 | Nec Corp | リアルタイムウェブ共有システム |
JP2010206349A (ja) * | 2009-03-02 | 2010-09-16 | Nec Corp | 動画コンテンツの再生制御方法、動画コンテンツ再生システム、コンピュータ端末、サーバ、及びプログラム |
WO2014042158A1 (ja) * | 2012-09-11 | 2014-03-20 | 日本電信電話株式会社 | コンテンツ表示装置、コンテンツ表示システム、データ構造、コンテンツ表示方法及びコンテンツ表示プログラム |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018045308A (ja) * | 2016-09-12 | 2018-03-22 | 株式会社日立製作所 | 転送制御装置および転送制御方法 |
JP2019010863A (ja) * | 2017-06-29 | 2019-01-24 | キヤノン株式会社 | 画像処理装置及びその制御方法、並びにプログラム |
US11467789B2 (en) | 2017-06-29 | 2022-10-11 | Canon Kabushiki Kaisha | Image processing apparatus and method for digital signage |
Also Published As
Publication number | Publication date |
---|---|
US20150279310A1 (en) | 2015-10-01 |
EP2937796A1 (en) | 2015-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2015191505A (ja) | 情報処理端末、表示端末、表示方法、及びプログラム | |
US11112942B2 (en) | Providing content via multiple display devices | |
US10831858B2 (en) | Mobile enablement of existing web sites | |
US9984408B1 (en) | Method, medium, and system for live video cooperative shopping | |
JP6291961B2 (ja) | 情報処理システム、情報処理端末、コンテンツ管理装置、及び情報処理方法 | |
KR101340780B1 (ko) | 데이터 공유 시스템 및 방법 | |
US8245125B1 (en) | Hybrid rendering for webpages | |
US20220129620A1 (en) | Systems and methods for co-browsing | |
JP2014522517A (ja) | マークアップベースの文書中でのデータの分割の通知 | |
US20170097749A1 (en) | Integrating applications in a portal | |
EP3761182A1 (en) | Webpage translation system, webpage translation device, webpage provision device, and webpage translation method | |
US10042419B2 (en) | Method and apparatus for providing additional information of digital signage content on a mobile terminal using a server | |
KR20140093849A (ko) | Dom 변이 이벤트 기반 웹 화면 스트리밍 방법 및 시스템 | |
JP6445050B2 (ja) | クラウドストリーミングサービス提供方法、そのための装置及びシステム、並びにそのためのクラウドストリーミング用スクリプトコードを記録したコンピュータ読み取り可能な記録媒体 | |
CN102981877A (zh) | 图片工具条加载方法和装置 | |
CN103020178A (zh) | 一种浏览器加载图片工具条的方法和装置 | |
JP2016009260A (ja) | コンテンツ提供装置、コンテンツ提供方法及びプログラム | |
US20200104024A1 (en) | Communication terminal, information sharing system, display control method, and non-transitory computer-readable medium | |
KR20180101913A (ko) | 디지털 컨텐츠의 공유를 위한 웹 서버, 스크린 샷 서버, 웹 브라우저 및 대상 단말의 동작 방법 | |
US11758016B2 (en) | Hosted application as web widget toolkit | |
KR101743765B1 (ko) | 3d 컨텐트 제공장치, 3d 컨텐트 제공방법 및 기록매체 | |
KR101845181B1 (ko) | 다수의 디바이스에 걸친 액티비티 디스플레이 | |
JP6591470B2 (ja) | サイネージ提示システム | |
JP6572249B2 (ja) | コンテンツ変換装置、コンテンツ変換方法、プログラム及び記録媒体 | |
JP6378601B2 (ja) | コンテンツ解析装置、コンテンツ解析方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171016 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171107 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180508 |