(57)【要約】  コンテンツ表示装置であって、スクリプトを含むコンテンツデータを取得するコンテンツ取得手段と、前記コンテンツデータを木構造データに展開して記憶する記憶手段と、前記木構造データから複数の子ブラウザそれぞれに表示させるデジタルコンテンツの一部に対応する部分木を判定して対応する子ブラウザに送信する判定手段と、前記スクリプトを実行する実行手段と、前記実行手段が前記木構造データにアクセスする処理を実行する場合に、当該処理をアクセス対象の部分木を保持する子ブラウザに通知して当該子ブラウザに処理を行わせ、前記子ブラウザからイベントの発生通知を受信した場合に、当該イベントに対応する処理を前記実行手段に実行させるアクセス手段と、前記子ブラウザと通信する通信手段と、を有する。
2014042158.tif 000002
【特許請求の範囲】
【請求項１】
デジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示装置であって、  スクリプトを含むコンテンツデータを取得するコンテンツ取得手段と、  前記コンテンツデータを木構造データに展開して記憶する記憶手段と、  前記木構造データから前記複数の子ブラウザそれぞれに表示させるデジタルコンテンツの一部に対応する部分木を判定して対応する子ブラウザに送信する判定手段と、  前記スクリプトを実行する実行手段と、  前記実行手段が前記木構造データにアクセスする処理を実行する場合に、当該処理をアクセス対象の部分木を保持する子ブラウザに通知して当該子ブラウザに処理を行わせ、前記子ブラウザからイベントの発生通知を受信した場合に、当該イベントに対応する処理を前記実行手段に実行させるアクセス手段と、  前記子ブラウザと通信する通信手段と、  を有することを特徴とするコンテンツ表示装置。
【請求項２】
デジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示装置であって、  スクリプトを含むコンテンツデータを取得するコンテンツ取得手段と、  前記コンテンツデータを木構造データに展開して記憶する記憶手段と、  前記木構造データから前記複数の子ブラウザそれぞれに表示させるデジタルコンテンツに対応する部分木を判定して対応する子ブラウザに送信し、状況に応じて、前記複数の子ブラウザのうちの一つである第１子ブラウザに前記部分木の全部または一部の非表示を要求するとともに、前記第１子ブラウザとは異なる第２子ブラウザに当該部分木の全部または一部を送信する判定手段と、  前記スクリプトを実行する実行手段と、  前記実行手段が前記木構造データにアクセスする処理を実行する場合に、当該処理をアクセス対象の部分木を保持する子ブラウザに通知して当該子ブラウザに処理を行わせるアクセス手段と、  前記子ブラウザと通信する通信手段と、  を有することを特徴とするコンテンツ表示装置。
【請求項３】
デジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示装置であって、  スクリプトを含むコンテンツデータを取得するコンテンツ取得手段と、  前記コンテンツデータを木構造データに展開して記憶する記憶手段と、  前記木構造データから前記複数の子ブラウザそれぞれに表示させるデジタルコンテンツに対応する部分木を判定して対応する子ブラウザに送信し、状況に応じて、前記複数の子ブラウザのうちの一つである第１子ブラウザに既に送信した前記部分木の全部または一部を前記第１子ブラウザとは異なる第２子ブラウザに送信する判定手段と、  前記スクリプトを実行する実行手段と、  前記実行手段が前記木構造データにアクセスする処理を実行する場合に、当該処理をアクセス対象の部分木を保持する子ブラウザに通知して当該子ブラウザに処理を行わせるアクセス手段と、  前記子ブラウザと通信する通信手段と、  を有することを特徴とするコンテンツ表示装置。
【請求項４】
デジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示装置であって、  スクリプトを含むコンテンツデータを取得するコンテンツ取得手段と、  前記コンテンツデータを木構造データに展開して記憶する記憶手段と、  前記木構造データから前記複数の子ブラウザそれぞれに表示させるデジタルコンテンツに対応する部分木を判定して対応する子ブラウザに送信する判定手段と、  前記スクリプトを実行する実行手段と、  前記実行手段が前記木構造データにアクセスする処理を実行する場合に、アクセス対象の部分木を保持する子ブラウザの少なくとも１つに通知して処理を行わせ、前記子ブラウザの何れかからイベントの発生通知を受信した場合に、当該イベントに対応する処理を前記実行手段に実行させるアクセス手段と、  前記子ブラウザと通信する通信手段と、  を有することを特徴とするコンテンツ表示装置。
【請求項５】
コンテンツ表示装置がデジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示システムであって、  前記コンテンツ表示装置は、    スクリプトを含むコンテンツデータを取得するコンテンツ取得手段と、    前記コンテンツデータを木構造データに展開して記憶する記憶手段と、    前記木構造データから前記複数の子ブラウザそれぞれに表示させるデジタルコンテンツの一部に対応する部分木を判定して対応する子ブラウザに送信する判定手段と、    前記スクリプトを実行する実行手段と、    前記実行手段が前記木構造データにアクセスする処理を実行する場合に、当該処理をアクセス対象の部分木を保持する子ブラウザに通知して当該子ブラウザに処理を行わせ、前記子ブラウザからイベントの発生通知を受信した場合に、当該イベントに対応する処理を前記実行手段に実行させるアクセス手段と、    前記子ブラウザと通信する通信手段と、を有し、  前記子ブラウザは、    前記部分木を受信して記憶する記憶手段と、    前記部分木に基づいて画面を表示し、操作を受け付ける表示手段と、    前記コンテンツ表示装置から前記通知を受信し、当該通知に基づいて前記部分木にアクセスする受信手段と、    前記部分木でイベントが発生した場合に、当該イベントの発生通知を前記コンテンツ表示装置に通知する通知手段と、を有すること  を特徴とするコンテンツ表示システム。
【請求項６】
デジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示装置が取得するコンテンツデータのデータ構造であって、  デジタルコンテンツを構成するエレメントが木構造で配置され、  前記複数の子ブラウザそれぞれに送信する部分木のルートとなるエレメントに前記子ブラウザに対応する属性値が設定されていること  を特徴とするデータ構造。
【請求項７】
デジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示方法であって、  スクリプトを含むコンテンツデータを取得するステップと、  前記コンテンツデータを木構造データに展開して記憶するステップと、  前記木構造データから前記複数の子ブラウザそれぞれに表示させるデジタルコンテンツの一部に対応する部分木を判定して対応する子ブラウザに送信するステップと、  前記スクリプトを実行するステップと、  前記スクリプトを実行するステップで前記木構造データにアクセスする処理を実行する場合に、当該処理をアクセス対象の部分木を保持する子ブラウザに通知して当該子ブラウザに処理を行わせるステップと、  前記子ブラウザからイベントの発生通知を受信した場合に、当該イベントに対応する処理を実行するステップと、  前記子ブラウザと通信するステップと、  を有することを特徴とするコンテンツ表示方法。
【請求項８】
コンテンツ表示装置がデジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示方法であって、  前記コンテンツ表示装置による、    スクリプトを含むコンテンツデータを取得するステップと、    前記コンテンツデータを木構造データに展開して記憶するステップと、    前記木構造データから前記複数の子ブラウザそれぞれに表示させるデジタルコンテンツの一部に対応する部分木を判定して対応する子ブラウザに送信するステップと、    前記スクリプトを実行するステップと、    前記スクリプトを実行するステップで前記木構造データにアクセスする処理を実行する場合に、当該処理をアクセス対象の部分木を保持する子ブラウザに通知して当該子ブラウザに処理を行わせるステップと、    前記子ブラウザからイベントの発生通知を受信した場合に、当該イベントに対応する処理を実行するステップと、    前記子ブラウザと通信するステップと、を有し、  前記子ブラウザによる、    前記部分木を受信して記憶するステップと、    前記部分木に基づいて画面を表示し、操作を受け付けるステップと、    前記コンテンツ表示装置から前記通知を受信し、当該通知に基づいて前記部分木にアクセスするステップと、    前記部分木でイベントが発生した場合に、当該イベントの発生通知を前記コンテンツ表示装置に通知するステップと、を有すること  を特徴とするコンテンツ表示方法。
【請求項９】
スクリプトを含む木構造データに展開可能なコンテンツデータに基づくデジタルコンテンツを、複数の子ブラウザに表示させるコンテンツ表示方法であって、  コンテンツ取得手段が、スクリプトを含む木構造データに展開可能なコンテンツデータを取得する取得ステップと、  前記複数の子ブラウザのうちの何れか１つである第１子ブラウザが、前記木構造データの一部である部分木に基づくデジタルコンテンツを表示する第１表示ステップと、  前記部分木に基づくデジタルコンテンツを前記第１子ブラウザが表示しなくなるのを契機に、前記複数の子ブラウザのうちの前記第１子ブラウザとは異なる第２子ブラウザが、当該部分木に基づくデジタルコンテンツを表示する第２表示ステップと、  を含むことを特徴とするコンテンツ表示方法。
【請求項１０】
スクリプトを含む木構造データに展開可能なコンテンツデータに基づくデジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示方法であって、  コンテンツ取得手段が、スクリプトを含む木構造データに展開可能なコンテンツデータを取得する取得ステップと、  前記複数の子ブラウザのうちの何れか１つである第１子ブラウザが、前記木構造データの一部である部分木に基づくデジタルコンテンツを表示する第１表示ステップと、  前記部分木に基づくデジタルコンテンツを、前記複数の子ブラウザのうちの前記第１子ブラウザとは異なる第２子ブラウザにも表示させるイベントを契機に、前記第２子ブラウザが、当該部分木に基づくデジタルコンテンツを表示する第２表示ステップと、  を含むことを特徴とするコンテンツ表示方法。
【請求項１１】
スクリプトを含む木構造データに展開可能なコンテンツデータに基づくデジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示方法であって、  コンテンツ取得手段が、スクリプトを含む木構造データに展開可能なコンテンツデータを取得する取得ステップと、  前記複数の子ブラウザのうちの少なくとも２つの子ブラウザが、前記木構造データの一部である部分木に基づくデジタルコンテンツをそれぞれ表示するとともに、操作を受け付けるステップと、  実行手段が、前記受け付けた操作に基づく処理を操作の発生順に実行し、前記受け付けた操作の対象となるデジタルコンテンツを表示している子ブラウザに実行結果を反映させる実行ステップと、  を含むことを特徴とするコンテンツ表示方法。
【請求項１２】
請求項１乃至４のいずれかに記載のコンテンツ表示装置としてコンピュータを動作させることを特徴とするコンテンツ表示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、デジタルコンテンツを複数のデバイスで連携して表示する技術に関する。
【背景技術】
【０００２】  近年、通信ネットワークを通じた情報提供の技術は、Ｗｅｂテクノロジと呼ばれる一連の技術により大きく進化している。Ｗｅｂテクノロジによる情報提供では、デジタル化されたコンテンツがＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）と呼ばれる形式で通信ネットワークを介して配信され、Ｗｅｂブラウザと呼ばれるソフトウェアにより利用者に対して表示され、利用者の操作を受け付ける。Ｗｅｂブラウザは主に次に述べる動作を行なっている。【０００３】  １．ＨＴＭＬデータをＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）形式と呼ばれる木構造データに変換する。【０００４】  ２．ＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ）データに基づいて、各ＤＯＭ内のエレメントに対して表示デザインを適用して画面上に表示する。【０００５】  ３．ＪａｖａＳｃｒｉｐｔ（登録商標）と呼ばれる（ＥＣＭＡｓｃｒｉｐｔとも呼ばれる）スクリプト言語により、初期表示時および各種イベント発生時（ユーザによるポインタ操作、キーボード入力、ボタンなどのＤＯＭ上のエレメントクリック、タイマー、非同期通信受信など）に、動的にＤＯＭ操作（エレメントの生成／削除／移動、属性の設定／参照、プロパティの設定／参照、メソッドの呼出など）を行うことにより、利用者とのインタラクションや画面の動的な変更を行う。【０００６】  このように、ＨＴＭＬデータ、ＪａｖａＳｃｒｉｐｔコード、およびＣＳＳデータが一体となってデジタルコンテンツデータを構成している。【０００７】  Ｗｅｂテクノロジは情報提供技術として非常に多く実施されており、Ｗｅｂテクノロジをより使いやすくするためのライブラリやツールは幅広く知られている。例えば、ｊＱｕｅｒｙとして公開されているライブラリを利用することで、ＤＯＭ操作処理や、イベントに対する処理の設定を行うためのＪａｖａＳｃｒｉｐｔを簡易に実装することが可能となっている。【０００８】  また、Ｗｅｂテクノロジを用いて複数のデバイスにデジタルコンテンツを配信する技術が開発されている。例えば、非特許文献１には、テレビ受像機とタブレット端末でＷｅｂブラウザを動作させ、テレビ受像機に表示される映像コンテンツに連動させて、タブレット端末に関連コンテンツを提示する技術が開示されている。図３４を用いてＷｅｂブラウザを連携させる技術について説明する。テレビ受像機上で動作するＷｅｂブラウザ１００Ａに動画を再生するｖｉｄｅｏエレメントを含むＨＴＭＬデータを配信し、タブレット端末上で動作するＷｅｂブラウザ１００Ｂに関連情報を表示するエレメントを含むＨＴＭＬデータを配信する。Ｗｅｂブラウザ１００Ａ，１００Ｂそれぞれに配信するＨＴＭＬデータに、ＷｅｂＳｏｃｋｅｔサーバ２００を介して必要な情報を通信するためのＪａｖａＳｃｒｉｐｔを用意する。Ｗｅｂブラウザ１００Ａが再生される動画に合わせて動画に埋め込まれたメタデータをＷｅｂＳｏｃｋｅｔサーバ２００に送信し、ＷｅｂＳｏｃｋｅｔサーバ２００が受信したメタデータに関連する情報をＷｅｂブラウザ１００Ｂに送信して、Ｗｅｂブラウザ１００Ｂに再生される動画に関連した情報が表示される。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】茂木、他２名、「ＴＶコンテンツとライフログ情報の連携を考慮したセカンドスクリーンの検討」、信学技報、社団法人電子情報通信学会、２０１１年７月、LOIS2011-9、pp.1-5
【発明の概要】
【発明が解決しようとする課題】
【００１０】  従来の方法で複数のデバイスを連携させたデジタルコンテンツを配信するためには、ＨＴＭＬデータやＪａｖａＳｃｒｉｐｔなどのデジタルコンテンツデータをデバイスごとに作成する必要があり、情報提供者にとって負担となるという問題があった。図３４の例では、動画を再生するＷｅｂブラウザ１００Ａ用のデジタルコンテンツデータと動画に関連した情報を受信して表示するＷｅｂブラウザ１００Ｂ用のデジタルコンテンツデータを別々に用意する必要がある。デジタルコンテンツデータが複数になるとＪａｖａＳｃｒｉｐｔの実行空間が異なるため、ＪａｖａＳｃｒｉｐｔは別のデジタルコンテンツデータに含まれるＨＴＭＬデータのエレメントを容易に参照することができなくなる。このように、複数のデバイスを連携させるデジタルコンテンツを提供する場合は、概念的には１つのデジタルコンテンツであったとしても、デバイスごとにデジタルコンテンツデータを分けて用意する必要が生じ、さらにデバイス間の連携手段を考慮しなければならないという問題があった。一方、通常のＷｅｂブラウザなど１つのデバイスで利用するデジタルコンテンツを提供する場合は、デジタルコンテンツデータを１つだけ用意すればよく、従来のライブラリやツールなどを利用できる。【００１１】  本発明は、上記に鑑みてなされたものであり、デジタルコンテンツデータを分割して複数のデバイスで表示させることを目的とする。
【課題を解決するための手段】
【００１２】  第１の本発明に係るコンテンツ表示装置は、デジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示装置であって、スクリプトを含むコンテンツデータを取得するコンテンツ取得手段と、前記コンテンツデータを木構造データに展開して記憶する記憶手段と、前記木構造データから前記複数の子ブラウザそれぞれに表示させるデジタルコンテンツの一部に対応する部分木を判定して対応する子ブラウザに送信する判定手段と、前記スクリプトを実行する実行手段と、前記実行手段が前記木構造データにアクセスする処理を実行する場合に、当該処理をアクセス対象の部分木を保持する子ブラウザに通知して当該子ブラウザに処理を行わせ、前記子ブラウザからイベントの発生通知を受信した場合に、当該イベントに対応する処理を前記実行手段に実行させるアクセス手段と、前記子ブラウザと通信する通信手段と、を有することを特徴とする。【００１３】  第２の本発明に係るコンテンツ表示システムは、コンテンツ表示装置がデジタルコンテンツを複数の子ブラウザにして表示させるコンテンツ表示システムであって、前記コンテンツ表示装置は、スクリプトを含むコンテンツデータを取得するコンテンツ取得手段と、前記コンテンツデータを木構造データに展開して記憶する記憶手段と、前記木構造データから前記複数の子ブラウザそれぞれに表示させるデジタルコンテンツの一部に対応する部分木を判定して対応する子ブラウザに送信する判定手段と、前記スクリプトを実行する実行手段と、前記実行手段が前記木構造データにアクセスする処理を実行する場合に、当該処理をアクセス対象の部分木を保持する子ブラウザに通知して当該子ブラウザに処理を行わせ、前記子ブラウザからイベントの発生通知を受信した場合に、当該イベントに対応する処理を前記実行手段に実行させるアクセス手段と、前記子ブラウザと通信する通信手段と、を有し、前記子ブラウザは、前記部分木を受信して記憶する記憶手段と、前記部分木に基づいて画面を表示し、操作を受け付ける表示手段と、前記コンテンツ表示装置から前記通知を受信し、当該通知に基づいて前記部分木にアクセスする受信手段と、前記部分木でイベントが発生した場合に、当該イベントの発生通知を前記コンテンツ表示装置に通知する通知手段と、を有することを特徴とする。【００１４】  第３の本発明に係るデータ構造は、デジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示装置が取得するコンテンツデータのデータ構造であって、デジタルコンテンツを構成するエレメントが木構造で配置され、前記複数の子ブラウザそれぞれに送信する部分木のルートとなるエレメントに前記子ブラウザに対応する属性値が設定されていることを特徴とする。【００１５】  第４の本発明に係るコンテンツ表示方法は、デジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示方法であって、スクリプトを含むコンテンツデータを取得するステップと、前記コンテンツデータを木構造データに展開して記憶するステップと、前記木構造データから前記複数の子ブラウザそれぞれに表示させるデジタルコンテンツの一部に対応する部分木を判定して対応する子ブラウザに送信するステップと、前記スクリプトを実行する���テップと、前記スクリプトを実行するステップで前記木構造データにアクセスする処理を実行する場合に、当該処理をアクセス対象の部分木を保持する子ブラウザに通知して当該子ブラウザに処理を行わせるステップと、前記子ブラウザからイベントの発生通知を受信した場合に、当該イベントに対応する処理を実行するステップと、前記子ブラウザと通信するステップと、を有することを特徴とする。【００１６】  第５の本発明に係るコンテンツ表示方法は、コンテンツ表示装置がデジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示方法であって、前記コンテンツ表示装置による、スクリプトを含むコンテンツデータを取得するステップと、前記コンテンツデータを木構造データに展開して記憶するステップと、前記木構造データから前記複数の子ブラウザそれぞれに表示させるデジタルコンテンツの一部に対応する部分木を判定して対応する子ブラウザに送信するステップと、前記スクリプトを実行するステップと、前記スクリプトを実行するステップで前記木構造データにアクセスする処理を実行する場合に、当該処理をアクセス対象の部分木を保持する子ブラウザに通知して当該子ブラウザに処理を行わせるステップと、前記子ブラウザからイベントの発生通知を受信した場合に、当該イベントに対応する処理を実行するステップと、前記子ブラウザと通信するステップと、を有し、前記子ブラウザによる、前記部分木を受信して記憶するステップと、前記部分木に基づいて画面を表示し、操作を受け付けるステップと、前記コンテンツ表示装置から前記通知を受信し、当該通知に基づいて前記部分木にアクセスするステップと、前記部分木でイベントが発生した場合に、当該イベントの発生通知を前記コンテンツ表示装置に通知するステップと、を有することを特徴とする。【００１７】  第６の本発明に係るコンテンツ表示プログラムは、上記コンテンツ表示装置あるいは子ブラウザとしてコンピュータを動作させることを特徴とする。
【発明の効果】
【００１８】  本発明によれば、デジタルコンテンツデータを分割して複数のデバイスで表示させることができる。
【図面の簡単な説明】
【００１９】
【図１】第１の実施の形態におけるコンテンツ表示装置を含む全体構成図である。
【図２】上記コンテンツ表示装置が取得するＨＴＭＬデータの例を示す図である。
【図３】上記コンテンツ表示装置が取得するＪａｖａＳｃｒｉｐｔコードの例を示す図である。
【図４】上記デジタルコンテンツを単一のブラウザで表示した例を示す図である。
【図５】上記ＨＴＭＬデータを変換したＤＯＭの木構造を示す図である。
【図６】上記ＤＯＭで子ブラウザそれぞれに送信する部分木を示す図である。
【図７】上記の部分木の表示例を示す図である。
【図８】上記の別の部分木の表示例を示す図である。
【図９】上記ＤＯＭにコールバックを登録した様子を示す図である。
【図１０】コンテンツ表示装置に表示部を備えたブラウザを含む全体構成図である。
【図１１】第２の実施の形態におけるコンテンツ表示装置が取得するＨＴＭＬデータの例を示す図である。
【図１２】上記ＨＴＭＬデータを変換したＤＯＭの木構造を示す図である。
【図１３】上記の部分木の表示例を示す図である。
【図１４】上記の別の部分木の表示例を示す図である。
【図１５】変更後のＨＴＭＬデータを示す図である。
【図１６】変更後のＨＴＭＬデータを変換したＤＯＭの木構造を示す図である。
【図１７】変更後の部分木の表示例を示す図である。
【図１８】変更後の別の部分木の表示例を示す図である。
【図１９】第３の実施の形態におけるコンテンツ表示装置が取得するＨＴＭＬデータの例を示す図である。
【図２０】上記ＨＴＭＬデータを変換したＤＯＭの木構造を示す図である。
【図２１】上記の部分木の表示例を示す図である。
【図２２】上記の別の部分木の表示例を示す図である。
【図２３】別の子ブラウザが通信可能となった様子を示す図である。
【図２４】上記のＤＯＭを３つの子ブラウザに割り当てた様子を示す図である。
【図２５】上記の部分木の表示例を示す図である。
【図２６】上記の別の部分木の表示例を示す図である。
【図２７】上記のさらに別の部分木の表示例を示す図である。
【図２８】第４の実施の形態におけるコンテンツ表示装置が上記のＤＯＭを３つの子ブラウザに割り当てた様子を示す図である。
【図２９】上記の部分木の表示例を示す図である。
【図３０】上記の別の部分木の表示例を示す図である。
【図３１】上記のさらに別の部分木の表示例を示す図である。
【図３２】ＤＯＭのエレメントが備える配列を説明する図である。
【図３３】第５の実施の形態におけるコンテンツ表示装置がエレメントから返却値を取得する処理の流れを示すフローチャートである。
【図３４】従来のＷｅｂブラウザを連携させる技術を説明する図である。
【発明を実施するための形態】
【００２０】  ［第１の実施の形態］  以下、第１の実施の形態について図面を用いて説明する。
【００２１】  図１は、本実施の形態におけるコンテンツ表示装置を含む全体構成図である。コンテンツ表示装置１は、Ｗｅｂサーバからデジタルコンテンツデータを取得し、取得したデジタルコンテンツデータを分割して子ブラウザ２Ａ，２Ｂそれぞれに送信し、子ブラウザ２Ａ，２Ｂそれぞれにデジタルコンテンツの一部を表示させる。同図に示すコンテンツ表示装置１は、コンテンツ取得部１１、ＤＯＭ記憶部１２、子ブラウザ判定部１３、アプリケーションスクリプト実行部１４、ＤＯＭアクセス部１５、および子ブラウザ通信部１６を備える。コンテンツ表示装置１が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムはコンテンツ表示装置１が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。以下、コンテンツ表示装置１の各部について説明する。
【００２２】  コンテンツ取得部１１は、Ｗｅｂサーバに接続し、ＨＴＴＰ等の公知のプロトコルによって、デジタルコンテンツデータをダウンロードする。デジタルコンテンツデータは、後述するＤＯＭ記憶部１２の処理によってツリー状のデータ構造に展開可能なものであれば形式は問わない。また、本発明で扱うデジタルコンテンツデータは、元来１つのデバイス（または１つのブラウザ）で利用することを意図した形式で作成されたデジタルコンテンツデータであってもよい。デジタルコンテンツデータをＨＴＭＬで作成する場合、デジタルコンテンツデータは、例えば、ＨＴＭＬデータ、ＪａｖａＳｃｒｉｐｔコード、およびＣＳＳデータを含み、これらのデータが一体となってデジタルコンテンツを構成する。ＨＴＭＬデータの中にＪａｖａＳｃｒｉｐｔコード，ＣＳＳデータが記載されている場合もあるが、別のファイルが指定されて他のデータソースから取得されることもある。例えば、＜link rel="stylesheet" href="style.css" type="text/css"＞というようなｌｉｎｋタグでデータソースを指定するものや、＜script type="text/javascript" src="script.js"＞＜/script＞というようなｓｒｃ属性でデータソースを指定するものがある。別のファイルが指定されている場合は、これらを含めて取得する。コンテンツ取得部１１により取得されたデジタルコンテンツデータのうち、ｓｃｒｉｐｔタグにより指定されるＪａｖａＳｃｒｉｐｔコードはアプリケーションスクリプト実行部１４に送られ、その他のデータはＤＯＭ記憶部１２に送られる。
【００２３】  図２にＨＴＭＬデータの例、図３にＪａｖａＳｃｒｉｐｔコードの例を示し、図４に図２，３のデジタルコンテンツを単一のブラウザで表示した例を示す。図２，３が示すデジタルコンテンツは、セレクトボックスで選択された動画を表示するものである。本実施の形態におけるコンテンツ表示装置１を用いると、動画の表示、セレクトボックスの表示を子ブラウザ２Ａ，２Ｂに分散させて、一方の子ブラウザ２Ａでは動画を表示し、別の子ブラウザ２Ｂではセレクトボックスを表示して動画の選択を受け付ける。
【００２４】  ＤＯＭ記憶部１２は、コンテンツ取得部１１が取得したＨＴＭＬデータを解析して、ツリー状のデータ構造であるＤＯＭに展開して記憶する。また、ＤＯＭ記憶部１２はコンテンツ取得部１１が取得したＣＳＳデータも記憶する。図５に、図２のＨＴＭＬデータを変換したＤＯＭの木構造を示す。図５中の四角い枠それぞれはＤＯＭのエレメントを示す。図２，５に示すように、ＨＴＭＬデータの１つのタグが１つのエレメントを構成し、タグで囲われた部分が子のエレメントとなる。なお、図５では説明に必要な属性を記載し、全ての属性については記載していない。
【００２５】  さらに、ＤＯＭ記憶部１２は、ＤＯＭの全てのエレメントを一意に識別するエレメント識別機能を備える。例えば、エレメントのＩＤ属性値を使用することが可能である。ただし、ＨＴＭＬデータで各エレメントにＩＤが必ずしも指定されているとは限らないので、ＩＤ属性値が指定されていないエレメントに対しては一意の文字列を発行して付与し、ＤＯＭ記憶部１２に記憶させる。あるいは、固有の属性を設け、払い出される連番を文字列化して各エレメントに付与してＤＯＭ記憶部１２に記憶させてもよい。
【００２６】  子ブラウザ判定部１３は、ＤＯＭ記憶部１２に記憶されたＤＯＭから子ブラウザ２Ａ，２Ｂそれぞれに表示させるデジタルコンテンツの一部に対応する部分木を判定し、そのＤＯＭの部分木を対応する子ブラウザ２Ａ，２Ｂに送信する。子ブラウザ２Ａ，２ＢにＤＯＭの部分木を送信する際にはＣＳＳデータも送信する。本実施の形態では、子ブラウザ２Ａ，２Ｂに送信する部分木を判定する方法として、ＨＴＭＬデータ中に属性値を記載しておく方法を用いる。具体的には、部分木のルートとなるエレメントにｄｅｖｉｃｅという属性を設け、その属性値に基いて子ブラウザ２Ａ，２Ｂに送信するＤＯＭの部分木を特定する。部分木のルートとなるエレメントが特定できれば、ルートから木構造データをたどることにより、ルートとなるエレメントの配下のエレメントを検索し部分木を特定することは容易である。
【００２７】  図５に示したＤＯＭには、ｄｅｖｉｃｅの属性値に“ＴＶ”，“Ｐｈｏｎｅ”が設定されているエレメントが存在する。よって、図６に示すように、ｄｅｖｉｃｅ属性に“ＴＶ”が設定されているエレメントをルートとする部分木Ａとｄｅｖｉｃｅ属性に“Ｐｈｏｎｅ”が設定されているエレメントをルートとする部分木Ｂが存在する。子ブラウザ２Ａ，２Ｂそれぞれの属性（子ブラウザ２Ａ，２Ｂの表示能力など）に基いて、これらの部分木Ａ，Ｂを送信する子ブラウザ２Ａ，２Ｂを判定して部分木Ａ，Ｂを送信する。例えば、子ブラウザ２Ａがテレビで実行されているブラウザであり、子ブラウザ２Ｂがタブレット端末で実行されているブラウザである場合は、部分木Ａを子ブラウザ２Ａに送信し、部分木Ｂを子ブラウザ２Ｂに送信する。
【００２８】  また、ＤＯＭの部分木のルートとなるエレメントを指定する方法としては、部分木のルートとなるエレメントと子ブラウザ識別子をパラメータとしてとるＪａｖａＳｃｒｉｐｔ  ＡＰＩを設けて設定する方法がある。なお、ＨＴＭＬデータにｄｅｖｉｃｅ属性を設定する方法とＡＰＩで設定する方法の両方を用いてもよい。
【００２９】  本実施の形態では、ＤＯＭ記憶部１２に記憶されたＤＯＭのエレメントはいずれかの部分木に属する（ｄｅｖｉｃｅ属性が設定されている）ことを前提としているが、ｄｅｖｉｃｅ属性が設定されていないエレメントについてはいずれの子ブラウザ２Ａ，２Ｂでも表示されないものとしてもよい。あるいは、特定の子ブラウザを１つ決めて、ｄｅｖｉｃｅ属性が設定されていないエレメントについてはその子ブラウザで表示するようにしてもよい。
【００３０】  アプリケーションスクリプト実行部１４は、ＪａｖａＳｃｒｉｐｔコードを解釈して実行する。一般にはＪａｖａＳｃｒｉｐｔエンジンと呼ばれる公知の技術であり、ＯＳＳ（Ｏｐｅｎ  Ｓｏｕｒｃｅ  Ｓｏｆｔｗａｒｅ）として広く利用可能なＪａｖａＳｃｒｉｐｔエンジンも存在する（例えば、http://code.google.com/p/v8/）。なお、本実施の形態におけるアプリケーションスクリプト実行部１４は、実行されるＪａｖａＳｃｒｉｐｔコードがＤＯＭ  ＡＰＩを通じてＤＯＭにアクセスする際には、後述するＤＯＭアクセス部１５を経由する。ＪａｖａＳｃｒｉｐｔでは、ｐｒｏｔｏｔｙｐｅを拡張する、という手法により、特定のオブジェクトに対するアクセス（メソッド呼出、プロパティ参照／設定、イベントリスナー設定）を独自の処理モジュールにより処理させることが可能であり、本実施の形態では、ＤＯＭへのアクセスをＤＯＭアクセス部１５で処理するようにアプリケーションスクリプト実行部１４を設定した。
【００３１】  ＤＯＭアクセス部１５は、アプリケーションスクリプト実行部１４がＪａｖａＳｃｒｉｐｔコードによりＤＯＭにアクセスする際に、アクセス対象のＤＯＭ（部分木）を保持する子ブラウザ２Ａ，２Ｂに通知して子ブラウザ２Ａ，２Ｂ自身が保持するＤＯＭへアクセスさせ、戻り値がある場合は戻り値を受け取る。また、ＤＯＭアクセス部１５は、子ブラウザ２Ａ，２Ｂでイベントが発生した場合に、子ブラウザ２Ａ，２Ｂからイベント発生通知を受信し、ＤＯＭ記憶部１２のＤＯＭでイベントを発生させて登録されたコールバック関数を実行させる。ＤＯＭアクセス部１５の構成方法としては、ＤＯＭにアクセスするＤＯＭ  ＡＰＩを分類し、それぞれに応じた処理を行うプログラムを本来のＤＯＭ  ＡＰＩを拡張するｐｒｏｔｏｔｙｐｅの実装とする方法がある。具体的なＤＯＭ  ＡＰＩの分類とそれぞれの処理内容については後述する。
【００３２】  子ブラウザ通信部１６は、子ブラウザ２Ａ，２Ｂとの間で通信を行いデータを送受信する。例えば、ＷｅｂＳｏｃｋｅｔとして知られている技術などを利用し、子ブラウザ通信部１６をＷｅｂＳｏｃｋｅｔサーバとして構築しておき、子ブラウザ２Ａ，２Ｂとの間にＷｅｂＳｏｃｋｅｔコネクションを確立してデータの送受信を行う。子ブラウザ２Ａ，２Ｂとの間でのデータの送受信には、子ブラウザ判定部１３によるＤＯＭの部分木の送信、ＤＯＭアクセス部１５による子ブラウザ２Ａ，２ＢへのＤＯＭアクセス要求、子ブラウザ２Ａ，２Ｂからの戻り値の受信、および子ブラウザ２Ａ，２Ｂからのイベント発生通知の受信がある。ＤＯＭの部分木の送信については、ＤＯＭの部分木をテキスト化したＨＴＭＬ断片データとＣＳＳデータをパラメータとして子ブラウザ２Ａ，２Ｂに送信する。ＤＯＭアクセス部１５による子ブラウザへのＤＯＭアクセス要求については、各処理について予め電文形式を決めておき、エレメントの指定などの必要な情報をパラメータとして子ブラウザに送信する。子ブラウザからの戻り値の受信は、戻り値をパラメータとして受信する。子ブラウザからのイベント発生通知の受信については、発生したイベントの種別、イベントが発生したエレメントの識別子などの必要な情報をパラメータとして受信する。
【００３３】  次に、子ブラウザについて説明する。
【００３４】  子ブラウザ２Ａ，２Ｂは、受信部２１、通知部２２、ＤＯＭ記憶部２３、および表示部２４を備える。
【００３５】  受信部２１は、コンテンツ表示装置１の子ブラウザ通信部１６から送信されるデータを受信し、受信したデータに応じた処理を行う。子ブラウザ通信部１６がＷｅｂＳｏｃｋｅｔサーバとして構築されている場合は、受信部２１をＷｅｂＳｏｃｋｅｔクライアントとして構築する。受信したデータに応じた処理としては、ＤＯＭの部分木のデータを受信してＤＯＭ記憶部２３に記憶させる処理、ＤＯＭ記憶部２３に記憶させたＤＯＭに対するアクセスに関する処理がある。
【００３６】  受信部２１がＤＯＭの部分木のデータ（ＨＴＭＬ断片データとＣＳＳデータ）を受信した場合は、ＤＯＭ記憶部２３を初期状態、具体的には、空のＨＴＭＬドキュメント（＜html＞＜body＞＜/body＞＜/html＞のみからなるＨＴＭＬ）のみを記憶する状態にし、ＣＳＳデータもクリアされた状態にする。そして、受信したＨＴＭＬ断片データを空のＨＴＭＬドキュメントに付加してＤＯＭを作成する。受信したＣＳＳデータもＤＯＭ記憶部２３に蓄積する。
【００３７】  受信部２１がＤＯＭに対するアクセスに関するデータを受信した場合は、受信したデータに基いてＤＯＭにアクセス（ＤＯＭの変更、属性の変更・参照、プロパティの変更・参照、メソッド呼出、イベントリスナーの登録・解除など）する。ＤＯＭに対するアクセスの戻り値がある場合は戻り値をコンテンツ表示装置１に返却する。
【００３８】  通知部２２は、ＤＯＭ記憶部２３のＤＯＭで発生したイベントをコンテンツ表示装置１に通知する。コンテンツ表示装置１からイベントリスナー登録の要求を受信した際に、イベント発生通知をコンテンツ表示装置１に送信する処理を登録することで、ＤＯＭ記憶部２３のＤＯＭでイベントが発生したとき、通知部２２がイベント発生通知を送信する処理が起動される。
【００３９】  ＤＯＭ記憶部２３は、受信したＤＯＭの部分木を記憶し、受信部２１が受信したデータに応じてアクセスされる。また、ＣＳＳデータを記憶する。
【００４０】  表示部２４は、ＤＯＭ記憶部２３に記憶されたＤＯＭに対してＣＳＳを適用して画面に表示し、利用者とのインタラクションを行う。
【００４１】  これら子ブラウザ２Ａ，２Ｂの各部は一般的なＷｅｂブラウザを用いて構成できる。受信部２１、通知部２２についてはＪａｖａＳｃｒｉｐｔで実装して構成することができる。例えば、ＷｅｂＳｏｃｋｅｔクライアントを作成してコンテンツ表示装置１のＷｅｂＳｏｃｋｅｔサーバへ接続する処理と、ＷｅｂＳｏｃｋｅｔサーバからのデータ受信時の処理としてｏｎ＿ｒｅｃｅｉｖｅ関数を登録する処理をロード時に実行するＨＴＭＬデータ、具体的には、上記の処理をｉｎｉｔ関数内に記載し、ｏｎｌｏａｄイベントでｉｎｉｔ関数を実行するＨＴＭＬデータを予め用意しておき、このＨＴＭＬデータを子ブラウザ２Ａ，２Ｂが取得することで受信部２１、通知部２２を機能させることができる。ｏｎ＿ｒｅｃｅｉｖｅ関数には、コンテンツ表示装置１から受信したデータに基づくそれぞれの処理を記載して、受信部２１に相当する機能を実現する。なお、ｏｎ＿ｒｅｃｅｉｖｅ関数内に記載する処理で、イベントリスナーを登録する処理については、イベントリスナーを登録する指定されたエレメント、イベント種別に対してｏｎ＿ｅｖｅｎｔ関数を登録する。ｏｎ＿ｅｖｅｎｔ関数には、発生したイベント種別と自エレメントの識別子を求め、求めた値をパラメータとしたイベント発生通知をコンテンツ表示装置１に送信する処理を記載して、通知部２２に相当する機能を実現する。
【００４２】  次に、ＤＯＭアクセス部１５が処理するＤＯＭ  ＡＰＩを分類し、処理内容について説明する。
【００４３】  （１）ＤＯＭの変更（エレメントの追加・削除・移動）  ＤＯＭ記憶部１２のＤＯＭに変更（エレメントの追加・削除・移動）を加える。また、対応する子ブラウザ２Ａ，２Ｂに対して、追加、削除、移動するエレメントを指定し、指定したＤＯＭの位置にエレメントを挿入、エレメントの削除、あるいはエレメントを移動させる。
【００４４】  （２）エレメントの属性変更（ｓｅｔＡｔｔｒｉｂｕｔｅ）  ＤＯＭ記憶部１２のエレメントの属性を変更する。また、対応する子ブラウザ２Ａ，２Ｂに対して、エレメントを指定し、属性を変更させる。
【００４５】  （３）エレメントの属性参照（ｇｅｔＡｔｔｒｉｂｕｔｅ）  子ブラウザ２Ａ，２Ｂ上での表示内容に合わせて取得が必要なデータ（例えば、ｏｐｔｉｏｎエレメントに対し、現在選択状態であることを示すｓｅｌｅｃｔｅｄなど）については、対応する子ブラウザ２Ａ，２Ｂに対して、エレメントを指定し、属性を参照させて、参照結果を戻させる。その他の場合は、ＤＯＭ記憶部１２のエレメントの属性を参照する。
【００４６】  （４）エレメントのプロパティ変更（ｅｌｅｍ．ｐｒｏｐ＝ｖａｌ）  ＤＯＭ記憶部１２のエレメント（ｅｌｅｍ）の対応するプロパティ（ｐｒｏｐ）に値（ｖａｌ）を設定する。また、対応する子ブラウザ２Ａ，２Ｂのエレメントのプロパティにも値を設定させる。この処理は、ＪａｖａＳｃｒｉｐｔのｓｅｔｔｅｒ（Ｏｂｊｅｃｔ．ｄｅｆｉｎｅＰｒｏｐｅｒｔｙ関数など）として定義を拡張する。なお、イベントリスナーのためのプロパティ（ｏｎｃｈａｎｇｅやｏｎｃｌｉｃｋなど）については、後述するイベントリスナー登録の処理を行う。
【００４７】  （５）エレメントのプロパティ参照（ｖａｒ  ｘ＝ｅｌｅｍ．ｐｒｏｐ）  子ブラウザ２Ａ，２Ｂ上での表示内容に合わせて取得が必要なデータ（例えば、ｖｉｄｅｏエレメントに対し、再生中のタイムスタンプを取得するｖｉｄｅｏ＿ｅｌｍ．ｃｕｒｒｅｎｔＴｉｍｅなど）については、対応する子ブラウザ２Ａ，２Ｂに対して、該当エレメントのプロパティを取得して戻り値として返却させる。その他の場合は、ＤＯＭ記憶部１２のエレメントからプロパティ値を取得する。この処理は、ＪａｖａＳｃｒｉｐｔのｇｅｔｔｅｒ（Ｏｂｊｅｃｔ．ｄｅｆｉｎｅＰｒｏｐｅｒｔｙ関数など）として定義を拡張する。
【００４８】  （６）エレメントのメソッド呼出  対応する子ブラウザ２Ａ，２Ｂに対して、エレメントのメソッドを呼び出させる。戻り値が必要な場合は、子ブラウザ２Ａ，２Ｂに戻り値を取得させて返却させる。
【００４９】  （７）イベントリスナー登録  ＤＯＭ記憶部１２のエレメントに指定されたコールバック関数を登録する。また、対応する子ブラウザ２Ａ，２Ｂに対して、該当エレメントにイベント発生通知処理を登録させる。ただし、指定されたイベント種別に関するイベントリスナーがすでに登録されている場合は、追加登録は不要である。イベント発生通知処理は、子ブラウザ２Ａ，２Ｂのエレメントにイベントが発生した際に、発生したイベント種別とイベントが発生したエレメントの識別子をコンテンツ表示装置１に通知する処理である。
【００５０】  （８）イベントリスナー解除  ＤＯＭ記憶部１２のエレメントに登録されたコールバック関数を解除する。また、対応する子ブラウザ２Ａ，２Ｂについては、登録されたコールバックが１つも存在しなくなった場合に、イベント発生通知処理を解除する。
【００５１】  以上（１）〜（８）は、子ブラウザ２Ａ，２Ｂが保持するＤＯＭへのアクセスを含む処理である。ＤＯＭアクセス部１５は、対応する子ブラウザ２Ａ，２Ｂに対して適切な電文を送信し、子ブラウザ２Ａ，２Ｂに自身が保持するＤＯＭへのアクセスを要求する。なお、どの部分木をどの子ブラウザ２Ａ，２Ｂに送信したのかをＤＯＭ記憶部１２で保持することで、対応する子ブラウザ２Ａ，２Ｂを判断することができる。エレメントを識別する方法としては、ＤＯＭ記憶部１２のエレメント識別機能により付与されたＩＤ属性値を用いることができる。
【００５２】  続いて、子ブラウザ２Ａ，２Ｂが保持するＤＯＭへのアクセスを含まない、ＤＯＭアクセス部１５によるＤＯＭ記憶部１２のＤＯＭへのアクセス処理を列挙する。
【００５３】  （９）ＤＯＭ内のトラバース（検索処理）  ＤＯＭ記憶部１２のＤＯＭ上でトラバース（エレメントの検索など）する。
【００５４】  （１０）イベント発生  子ブラウザからイベント発生通知を受信したとき、ＤＯＭ記憶部１２内の対応するエレメントにイベントを発生させる。エレメントにイベントが発生すると、そのエレメントに登録されたコールバック関数が実行される。
【００５５】  次に、本実施の形態におけるコンテンツ表示装置１の動作について説明する。
【００５６】  まず、図２，３に示すデジタルコンテンツデータを取得したときの動作について説明する。
【００５７】  コンテンツ取得部１１が図２のＨＴＭＬデータをＨＴＴＰプロトコルによりＷｅｂサーバから取得すると、取得したＨＴＭＬデータには、＜script type="text/javascript" src="Sample.js"＞というタグがあるので、図３のＪａｖａＳｃｒｉｐｔコードも取得する。
【００５８】  取得したＨＴＭＬデータは解析されてＤＯＭに変換されてＤＯＭ記憶部１２に格納される。
【００５９】  そして、子ブラウザ判定部１３が、ＤＯＭ記憶部１２に記憶されたＤＯＭから子ブラウザ２Ａ，２Ｂに送信する部分木を判定する。図６の部分木Ａ，Ｂが子ブラウザ２Ａ，２Ｂそれぞれに送信する部分木として判定される。
【００６０】  子ブラウザ判定部１３により判定された部分木Ａ，Ｂは、子ブラウザ通信部１６を通じて対応する子ブラウザ２Ａ，２Ｂに送信される。ここでは部分木Ａを子ブラウザ２Ａに、部分木Ｂを子ブラウザ２Ｂに送信するものとする。子ブラウザ２Ａ，２Ｂのそれぞれは、送信されたＤＯＭの部分木を受信してＤＯＭ記憶部２３に格納し、表示部２４で表示する。図７に部分木Ａを受信した子ブラウザ２Ａで表示される画面を示し、図８に部分木Ｂを受信した子ブラウザ２Ｂで表示される画面を示す。
【００６１】  また、コンテンツ表示装置１のアプリケーションスクリプト実行部１４では、ＨＴＭＬデータのロード時に図３のｉｎｉｔ関数が起動される。ｉｎｉｔ関数では、ａｄｄＥｖｅｎｔＬｉｓｔｅｎｅｒ関数により、ＩＤ属性が“ｓｅｌ”のエレメントに、ｃｈａｎｇｅイベントに対してｃｈａｎｇｅＶｉｄｅｏとして定義されたコールバック関数が登録される。このａｄｄＥｖｅｎｔＬｉｓｔｅｎｅｒ関数は、ＤＯＭアクセス部１５で拡張された動作を実行する。具体的には、図９に示すように、ＤＯＭ記憶部１２のＩＤ属性が“ｓｅｌ”のエレメントｅ１に、ｃｈａｎｇｅイベントに対してｃｈａｎｇｅＶｉｄｅｏ関数がコールバック関数として登録され、部分木Ｂを受信した子ブラウザ２ＢのＤＯＭ記憶部２３のエレメントｅ１にはｃｈａｎｇｅイベントに対してイベント発生通知処理が登録される。なお、図９では、後述の利用者がリストボックスを操作したときの動作の説明に用いるｓｅｌｅｃｔｅｄＩｎｄｅｘプロパティ、ｓｒｃプロパティ、ｌｏａｄメソッド，およびｐｌａｙメソッドを図示している。
【００６２】  続いて、利用者が子ブラウザ２Ｂに表示されたリストボックスを操作し、別の選択肢を選択した場合の動作について説明する。
【００６３】  利用者が子ブラウザ２Ｂに表示されたリストボックスを操作して別の選択肢を選択すると、子ブラウザ２ＢのＤＯＭ記憶部２３のエレメントｅ１にｃｈａｎｇｅイベントが発生してイベント発生通知処理が起動され、イベント発生通知がコンテンツ表示装置１に送信される。
【００６４】  子ブラウザ通信部１６がイベント発生通知を受信すると、ＤＯＭアクセス部１５は、ＤＯＭ記憶部１２のエレメントｅ１にｃｈａｎｇｅイベントを発生させる。このイベント発生により、ＤＯＭ記憶部１２のエレメントｅ１にコールバック関数として登録されていたｃｈａｎｇｅＶｉｄｅｏ関数が起動され、アプリケーションスクリプト実行部１４が図３のｃｈａｎｇｅＶｉｄｅｏ関数を実行する。
【００６５】  ｃｈａｎｇｅＶｉｄｅｏ関数には、エレメントｅ１からｓｅｌｅｃｔｅｄＩｎｄｅｘというプロパティの取得を行う処理が記載されている。この処理はＤＯＭアクセス部１５により拡張されたｇｅｔｔｅｒにより実行され、エレメントｅ１を保持する子ブラウザ２Ｂに対して、エレメントｅ１のｓｅｌｅｃｔｅｄＩｎｄｅｘプロパティを取得して返却させる要求を送信する。この処理により、コンテンツ表示装置１が、利用者の操作により子ブラウザ２Ｂで選択されたｓｅｌｅｃｔｅｄＩｎｄｅｘを取得する。
【００６６】  さらに、ｃｈａｎｇｅＶｉｄｅｏ関数には、ＩＤ属性が“ｖｉｄｅｏ”のエレメントｅ２のｓｒｃというプロパティに取得したｓｅｌｅｃｔｅｄＩｎｄｅｘの値に対応する動画を設定する処理が記載されている。この処理はＤＯＭアクセス部１５により拡張されたｓｅｔｔｅｒにより実行され、エレメントｅ２を保持する子ブラウザ２Ａに対して、エレメントｅ２のｓｒｃプロパティに選択した動画を設定させる要求を送信する。
【００６７】  また、続けて、エレメントｅ２のｌｏａｄメソッド，ｐｌａｙメソッドを呼び出す処理が記載されている。これらの処理は、ＤＯＭアクセス部１５が、エレメントｅ２を保持する子ブラウザ２Ａに対して、エレメントｅ２のｌｏａｄメソッド，ｐｌａｙメソッドを呼び出させる要求を送信することで実行される。メソッド呼出の要求を受信した子ブラウザ２Ａの表示部２４では、子ブラウザ２Ｂで選択された動画がロードされて再生が開始する。
【００６８】  以上、コンテンツ表示装置１がデジタルコンテンツデータを分割して子ブラウザ２Ａ，２Ｂそれぞれに送信し、表示させる実施例について説明したが、図１０に示すように、コンテンツ表示装置１に表示部３１を備えてブラウザ３を構成し、ＤＯＭ記憶部１２にアクセスしてコンテンツを表示する子ブラウザの一つとして動作してもよい。この場合、表示部３１は、ＤＯＭ記憶部１２のＤＯＭにイベントを発生させてコールバック関数を実行させる。
【００６９】  また、表示部３１では、ｄｅｖｉｃｅ属性が指定されたエレメントとその配下のエレメント以外のエレメント、つまり子ブラウザに送信する部分木に属さないエレメントを表示するとしてもよい。あるいは、ｄｅｖｉｃｅ属性が指定されたエレメントとその配下のエレメントは子ブラウザで表示すべき部分であるので、表示部３１では強制的に非表示にしてもよい。このように、コンテンツ表示装置１が実装されるデバイスは、図１に示すようにコンテンツの表示制御のみを行うデバイスであってもよく、あるいは、図１０に示すコンテンツ表示装置１の変形例のように、コンテンツの表示制御を行うとともにコンテンツを表示する子ブラウザとして動作するデバイスであってもよい。図１の場合、子ブラウザ２Ａ，２Ｂは、コンテンツ表示装置１とは別筐体のデバイスとなる。子ブラウザ２Ａ，２Ｂは、ブラウザを搭載することで実現される。なお、複数の子ブラウザ２Ａ，２Ｂは、それぞれ別のデバイスで動作してもよく、また、複数の子ブラウザ２Ａ，２Ｂは1つのデバイスで動作してもよい。図１０のコンテンツ表示装置１の変形例の場合においても、ブラウザ３は、１つの子ブラウザとして動作してもよく、また、複数の子ブラウザとして動作してもよい。
【００７０】  以上説明したように、本実施の形態によれば、ＨＴＭＬデータをＤＯＭに展開してＤＯＭ記憶部１２に記憶し、ＤＯＭから子ブラウザ２Ａ，２Ｂそれぞれに表示させるデジタルコンテンツの一部に対応する部分木を判定して対応する子ブラウザ２Ａ，２Ｂに送信し、アプリケーションスクリプト実行部１４がＪａｖａＳｃｒｉｐｔコードによりＤＯＭにアクセスする処理を実行する場合に、ＤＯＭアクセス部１５がアクセス対象の部分木を保持する子ブラウザ２Ａ，２ＢにＤＯＭへのアクセスを要求し、子ブラウザ２Ａ，２Ｂからイベント発生通知を受信した場合に、ＤＯＭ記憶部１２のＤＯＭでイベントを発生させてコールバック関数を実行することにより、１つのコンテンツデータを複数の子ブラウザ２Ａ，２Ｂに分割して表示させることができる。これにより、複数の子ブラウザ２Ａ，２Ｂを連携させるデジタルコンテンツを配信するために、単一のブラウザに配信するのと同等のデジタルコンテンツデータを用意し、デジタルコンテンツデータのＨＴＭＬデータのどこを子ブラウザ２Ａ，２Ｂに表示させるかを指定するだけで、複数の子ブラウザ２Ａ，２Ｂを連携させるデジタルコンテンツを配信することができる。
【００７１】  ［第２の実施の形態］  第２の実施の形態として、コンテンツ表示装置１のＤＯＭ記憶部１２に記憶されたＤＯＭに変更（エレメントの追加・削除・移動）が加えられたときの動作について具体例を用いて説明する。
【００７２】  コンテンツ表示装置１に、図１１に示すＪａｖａＳｃｒｉｐｔコード（一般的に知られるＪａｖａＳｃｒｉｐｔのライブラリ「ｊＱｕｅｒｙ」を利用した例）を含むＨＴＭＬデータがダウンロードされると、ｓｃｒｉｐｔタグにより指定されたＪａｖａＳｃｒｉｐｔコードはアプリケーションスクリプト実行部１４に送られ、その他のＨＴＭＬデータはＤＯＭに変換されてＤＯＭ記憶部１２に格納される。図１２に、図１１のＨＴＭＬデータを変換したＤＯＭの木構造を示す。
【００７３】  コンテンツ表示装置１に子ブラウザ２Ａ，２Ｂが接続されて、ｄｅｖｉｃｅ属性に“ＢｉｇＳｃｒｅｅｎ”が設定されているエレメントをルートとする部分木Ａ２が子ブラウザ２Ａに送信され、ｄｅｖｉｃｅ属性に“ＰｅｒｓｏｎａｌＴｅｒｍｉｎａｌ”が設定されているエレメントをルートとする部分木Ｂ２が子ブラウザ２Ｂに送信される。図１３に部分木Ａ２を受信した子ブラウザ２Ａで表示される画面を示し、図１４に部分木Ｂ２を受信した子ブラウザ２Ｂで表示される画面を示す。
【００７４】  ＤＯＭ記憶部１２の＜ｂｕｔｔｏｎ＞エレメントｅ３に、ａｃｔ＿ｐｏｓｔ関数がクリックイベントに対するコールバック関数として登録され、子ブラウザ２ＢのＤＯＭ記憶部２３の対応する＜ｂｕｔｔｏｎ＞エレメントｅ３にはクリックイベントに対してイベント発生通知処理が登録される。
【００７５】  子ブラウザ２Ｂで＜ｂｕｔｔｏｎ＞エレメントｅ３、つまり「ＰＯＳＴ」ボタンがクリックされると、コンテンツ表示装置１でａｃｔ＿ｐｏｓｔ関数が実行される。ａｃｔ＿ｐｏｓｔ関数では、ＩＤ属性が“ｐｒｏｐｏｓａｌ”のエレメントｅ４をＩＤ属性が“ｌｉｓｔ”のエレメントｅ５の配下に移動する処理が行われて、ＤＯＭ記憶部１２に記憶したＤＯＭの木構造が変更される。図１５に変更後のＨＴＭＬデータを示し、図１６に変更後のＤＯＭの木構造を示す。図１６の木構造に示すように、エレメントｅ４はエレメントｅ５の配下に移動される。
【００７６】  子ブラウザ判定部１３は、ＤＯＭの変更を検知し、子ブラウザ２Ｂに対しては部分木Ｂ２の一部であるエレメントｅ４を削除する要求、子ブラウザ２Ａに対してはエレメントｅ４をエレメントｅ５の配下に追加する要求を送信する。その結果、子ブラウザ２ＡのＤＯＭ記憶部２３に記憶したＤＯＭにエレメントｅ４が追加されて、コンテンツ表示装置１のＤＯＭ記憶部１２に記憶したＤＯＭの部分木Ａ２’と同じになり、子ブラウザ２ＢのＤＯＭ記憶部２３に記憶したＤＯＭからエレメントｅ４が削除されて、コンテンツ表示装置１のＤＯＭ記憶部１２に記憶したＤＯＭの部分木Ｂ２’と同じになる。図１７に子ブラウザ２Ａで表示される画面を示し、図１８に子ブラウザ２Ｂで表示される画面を示す。図１７，１８に示すように、子ブラウザ２Ｂから子ブラウザ２Ａにデジタルコンテンツの一部（エレメントｅ４）がデバイスをまたいで移動したように見せることが可能となる。
【００７７】  なお、移動するエレメントｅ４にコールバック関数が指定されている場合は、子ブラウザ２Ｂに対してはイベントリスナー解除の処理、子ブラウザ２Ａに対してはイベントリスナー登録の処理を要求する。
【００７８】  エレメントを追加する処理、エレメントを削除する処理も上記と同様に動作する。エレメントを追加した場合は、追加されたエレメントが子ブラウザの画面に新たに出現したように見せることが可能となる。エレメントを削除した場合は、子ブラウザの画面からエレメントが消えたように見せることが可能となる。
【００７９】  本実施の形態では、子ブラウザ２ＢのＤＯＭ記憶部２３に記憶した部分木Ｂ２の一部（エレメントｅ４）を子ブラウザ２Ａに移動する例を説明したが、部分木Ｂ２の全部を子ブラウザ２Ａに移動する場合も同様である。以上説明した本実施の形態における、デジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示方法では、スクリプトを含むコンテンツデータを取得して木構造データに展開するステップと、前記複数の子ブラウザのうちの一つである第１子ブラウザが前記木構造データの全部または一部の部分木に対応するデジタルコンテンツを表示するステップと、前記第１子ブラウザが前記部分木の全部または一部に対応するデジタルコンテンツを表示しなくなるとともに、前記第１子ブラウザとは異なる第２子ブラウザが当該部分木の全部または一部に対応するデジタルコンテンツを表示するステップと、を行う。
【００８０】  ［第３の実施の形態］  第３の実施の形態として、子ブラウザで表示しているＤＯＭの部分木の一部を別の子ブラウザに移動して表示させるときの動作について説明する。
【００８１】  本実施の形態では、子ブラウザ通信部１６は、子ブラウザそれぞれとの通信状態を検知し、検知した結果を子ブラウザ判定部１３に通信状態として通知する。通信状態の検知については、特定のデータ、例えば通信開始を示すデータを通信開始時に、通信終了を示すデータを通信終了時に子ブラウザから受信することで検知してもよい。
【００８２】  子ブラウザ判定部１３は、子ブラウザ通信部１６から子ブラウザそれぞれとの通信状態の通知を受けて、通知された通信状態を子ブラウザ毎に記憶する。子ブラウザが新たに通信可能となった場合、あるいは、子ブラウザが通信不可能となった場合に、子ブラウザに割り当てる部分木を判定する。
【００８３】  以下、子ブラウザ２Ａ，２Ｂが通信可能な状態でデジタルコンテンツを表示しているときに、新たに子ブラウザ２Ｃが通信可能な状態となり、子ブラウザ２Ｂで表示していたデジタルコンテンツの一部を子ブラウザ２Ｃに移動して表示させる例について説明する。
【００８４】  最初は、コンテンツ表示装置１と子ブラウザ２Ａ，２Ｂが通信可能で、子ブラウザ２Ｃとは通信不可能な状態であるとする。図１９に示すＨＴＭＬデータがコンテンツ表示装置１にダウンロードされて、図２０に示すようにＨＴＭＬデータがＤＯＭの木構造に変換される。ｄｅｖｉｃｅ属性に“ＴＶ”が設定されているエレメントをルートとする部分木Ａ３が子ブラウザ２Ａに送信され、ｄｅｖｉｃｅ属性に“ｐｈｏｎｅ”が設定されているエレメントをルートとする部分木Ｂ３が子ブラウザ２Ｂに送信される。図２１に部分木Ａ３を受信した子ブラウザ２Ａで表示される画面を示し、図２２に部分木Ｂ３を受信した子ブラウザ２Ｂで表示される画面を示す。
【００８５】  続いて、図２３に示すように、子ブラウザ２Ｃがコンテンツ表示装置１と通信可能な状態になった場合、子ブラウザ通信部１６が子ブラウザ２Ｃと通信可能になったことを検知し、その通信状態を子ブラウザ判定部１３に通知する。
【００８６】  子ブラウザ判定部１３は、通信可能になった子ブラウザ２Ｃに対応する部分木Ｃ３を判定し、部分木Ｃ３を子ブラウザ通信部１６を通じて子ブラウザ２Ｃに送信する。本実施例では、ｄｅｖｉｃｅ属性に“ｔａｂｌｅｔ”が設定されているエレメントをルートとする部分木Ｃ３を子ブラウザ２Ｃに送信する部分木として判定した。なお、部分木Ｃ３のエレメントにコールバック関数が指定されている場合は、子ブラウザ２Ｃに対してイベントリスナー登録の処理を要求する。
【００８７】  部分木Ｂ３の一部である部分木Ｃ３が子ブラウザ２Ｃに送信されるので、子ブラウザ判定部１３は、子ブラウザ通信部１６を通じて、部分木Ｂ３を既に送信した子ブラウザ２Ｂに部分木Ｃ３の非表示を要求、つまり部分木Ｃ３を削除する要求を送信する。
【００８８】  図２４に、子ブラウザ２Ａ，２Ｂ，２Ｃそれぞれに割り当てられた部分木Ａ３，Ｂ３’，Ｃ３を示す。図２５に部分木Ａ３を受信した子ブラウザ２Ａで表示される画面を示し、図２６に部分木Ｂ３’を受信した子ブラウザ２Ｂで表示される画面を示し、図２７に部分木Ｃ３を受信した子ブラウザ２Ｃで表示される画面を示す。図２２と図２６，２７を比べて分かるように、子ブラウザ２Ｂに表示されていた部分木Ｃ３に対応するデジタルコンテンツが子ブラウザ２Ｂから消えて子ブラウザ２Ｃに表示されることから、デジタルコンテンツの一部がデバイスをまたいで移動したように見える。デジタルコンテンツの一部がデバイス間を移動したように見える点では、第２の実施の形態と同じであるが、第３の実施の形態では、コンテンツ表示装置１のＤＯＭ記憶部１２に記憶したＤＯＭの木構造に変更が加えられていない点で異なる。
【００８９】  次に、コンテンツ表示装置１と子ブラウザ２Ａ，２Ｂ，２Ｃが通信可能な状態であるときに、子ブラウザ２Ｃが通信不可能な状態になったときの動作について説明する。
【００９０】  コンテンツ表示装置１と子ブラウザ２Ａ，２Ｂ，２Ｃが通信可能な状態で、子ブラウザ２Ａ，２Ｂ，２Ｃでは、図２５〜２７に示すようにデジタルコンテンツが表示されていたとする。
【００９１】  このとき、子ブラウザ２Ｃが通信不可能な状態になった場合、子ブラウザ通信部１６が子ブラウザ２Ｃと通信不可能になったことを検知し、その通信状態を子ブラウザ判定部１３に通知する。
【００９２】  子ブラウザ判定部１３は、ＤＯＭ記憶部１２に記憶したＤＯＭから子ブラウザ２Ｃに送信した部分木Ｃ３を判定する。
【００９３】  そして、子ブラウザ判定部１３は、部分木Ｃ３の直上のエレメントを表示している子ブラウザ２Ｂを判定し、子ブラウザ通信部１６を通じて、部分木Ｃ３を追加する要求を子ブラウザ２Ｂに送信する。
【００９４】  この処理が行われた後は、子ブラウザ２Ｂで表示される画面は図２２で示した画面となる。子ブラウザ２Ｃで表示されていた部分木Ｃ３に対応するデジタルコンテンツが子ブラウザ２Ｃから消えて子ブラウザ２Ｂに表示されることから、デジタルコンテンツの一部がデバイスをまたいで移動したように見える。以上説明した本実施の形態における、デジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示方法では、スクリプトを含むコンテンツデータを取得して木構造データに展開するステップと、前記複数の子ブラウザのうちの一つである第１子ブラウザが前記木構造データの全部または一部の部分木に対応するデジタルコンテンツを表示するステップと、前記第１子ブラウザが前記部分木の全部または一部に対応するデジタルコンテンツを表示しなくなるとともに、前記第１子ブラウザとは異なる第２子ブラウザが当該部分木の全部または一部に対応するデジタルコンテンツを表示するステップと、を行う。
【００９５】  ［第４の実施の形態］  第４の実施の形態として、ＤＯＭの部分木を複数の子ブラウザで共有して表示させるときの動作について具体例を用いて説明する。第３の実施の形態では、新たに子ブラウザ２Ｃが通信可能となった場合に、子ブラウザ２Ｂで表示されていたデジタルコンテンツの一部（部分木Ｃ３）を子ブラウザ２Ｂから削除して子ブラウザ２Ｃに表示させたが、第４の実施の形態では、子ブラウザ２Ｂの表示はそのままで、子ブラウザ２Ｃに部分木Ｃ３を表示させる例について説明する。
【００９６】  最初は、第３の実施の形態と同様に、コンテンツ表示装置１と子ブラウザ２Ａ，２Ｂとは通信可能で、子ブラウザ２Ｃとは通信不可能な状態であり、図１９に示すＨＴＭＬデータがコンテンツ表示装置１にダウンロードされて、図２０に示す部分木Ａ２，Ｂ２が子ブラウザ２Ａ，２Ｂに送信され、図２１，２２に示すように、子ブラウザ２Ａ，２Ｂでデジタルコンテンツが表示されていたとする。
【００９７】  続いて、図２３に示すように、子ブラウザ２Ｃがコンテンツ表示装置１と通信可能な状態になった場合、子ブラウザ判定部１３は、子ブラウザ２Ｃに対応する部分木Ｃ３を判定し、部分木Ｃ３を子ブラウザ通信部１６を通じて子ブラウザ２Ｃに送信する。このとき、子ブラウザ判定部１３は、部分木Ｂ３の一部である部分木Ｃ３を削除する要求を子ブラウザ２Ｂに送信しない。これにより、部分木Ｃ３は子ブラウザ２Ｂ，２Ｃで共有されることになる。
【００９８】  図２８に、子ブラウザ２Ａ，２Ｂ，２Ｃそれぞれに割り当てられた部分木Ａ３，Ｂ３，Ｃ３を示す。図２９に部分木Ａ３を受信した子ブラウザ２Ａで表示される画面を示し、図３０に部分木Ｂ３を受信した子ブラウザ２Ｂで表示される画面を示し、図３１に部分木Ｃ３を受信した子ブラウザ２Ｃで表示される画面を示す。図３０，３１で分かるように、子ブラウザ２Ｂ，２Ｃの両方で、部分木Ｃ３に対応するデジタルコンテンツが表示されている。
【００９９】  なお、部分木Ｃ３を子ブラウザ２Ｃに送信した後、子ブラウザ２Ｃが通信不可能となった場合でも、子ブラウザ２Ｂに対して何も行わない。以上説明した本実施の形態における、デジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示方法では、スクリプトを含むコンテンツデータを取得して木構造データに展開するステップと、前記複数の子ブラウザのうちの一つである第１子ブラウザが前記木構造データの全部または一部の部分木に対応するデジタルコンテンツを表示するステップと、前記第１子ブラウザとは異なる第２子ブラウザが前記部分木の全部または一部に対応するデジタルコンテンツを表示するステップと、を行う。  なお、本実施の形態では、コンテンツ表示装置１と子ブラウザとの通信状態の変化を契機とする、部分木に基づくデジタルコンテンツの共有（複製）を説明した。しかしながら、本発明は、これに限定されるものではなく、部分木に基づくデジタルコンテンツを、共有先（複製先）の子ブラウザにも表示させる様々なイベント（動作など）を契機に、当該子ブラウザが部分木に基づくデジタルコンテンツを表示する。共有先の子ブラウザにも表示させるイベントとしては、例えば、以下のものが挙げられる。ここでは、デジタルコンテンツの共有元（複製元）の子ブラウザ（本実施の形態の子ブラウザ２Ｂ）を「第１子ブラウザ」とし、共有先の子ブラウザ（本実施の形態の子ブラウザ２Ｃ）を「第２子ブラウザ」とし、第１子ブラウザおよび第２子ブラウザ以外の子ブラウザを「第３子ブラウザ」とする。（１）第１子ブラウザからの指示  第１子ブラウザは、利用者が入力した操作指示を受け付けて、第２子ブラウザでの表示指示を、子ブラウザ通信部１６を介して子ブラウザ判定部１３に通知する。これにより、子ブラウザ判定部１３は、第２子ブラウザに対応する部分木を第２子ブラウザに送信し、第２子ブラウザが部分木に基づくデジタルコンテンツを表示することとしてもよい。例えば、第１子ブラウザが表示しているデジタルコンテンツの中、または、第１子ブラウザ自体に、第２子ブラウザにも表示させるためのボタンなどのトリガーがあり、利用者は当該トリガーをＯＮにする。これにより、第１子ブラウザは、第２子ブラウザへの表示指示を子ブラウザ判定部１３に通知する。  また、第１子ブラウザは、自身がデジタルコンテンツを表示してから所定の時間が経過したタイミングで、第２子ブラウザへの表示指示を子ブラウザ判定部１３に自動で通知し、これを契機に第２子ブラウザが部分木に基づくデジタルコンテンツを表示することとしてもよい。（２）第２子ブラウザからの指示  第２子ブラウザは、利用者が入力した操作指示を受け付けて、自身の第２子ブラウザでの表示指示を子ブラウザ判定部１３に通知する。これにより、子ブラウザ判定部１３は、第２子ブラウザに対応する部分木を第２子ブラウザに送信し、第２子ブラウザが部分木に基づくデジタルコンテンツを表示することとしてもよい。例えば、第２子ブラウザが表示しているデジタルコンテンツの中、または、第２子ブラウザ自体に、第２子ブラウザにも表示させるためのボタンなどのトリガーがあり、利用者は当該トリガーをＯＮにする。これにより、第２子ブラウザは、��身の第２子ブラウザでの表示指示を子ブラウザ判定部１３に通知する。  また、第２子ブラウザは、自身がデジタルコンテンツの表示が可能な状態になったことを検知したタイミングで、自身の第２子ブラウザでの表示指示を子ブラウザ判定部１３に通知し、これを契機に第２子ブラウザが部分木に基づくデジタルコンテンツを表示することとしてもよい。デジタルコンテンツの表示が可能となったタイミングとしては、例えば、ネットワークに第２子ブラウザが接続されたタイミング、ディスプレイに第２子ブラウザが接続されたタイミング（ディスプレイの電源ＯＮ、ケーブル接続、スリープ状態からアクティブ状態への移行等）がある。  また、第２子ブラウザは、スクリーンセーバーのように、所定の時間、利用者の操作がなかったタイミングで、自身の第２子ブラウザでの表示指示を子ブラウザ判定部１３に通知し、これを契機に第２子ブラウザが部分木に基づくデジタルコンテンツを表示することとしてもよい。（３）第３子ブラウザからの指示  第３子ブラウザは、利用者が入力した操作指示を受け付けて、第２子ブラウザへの表示指示を子ブラウザ判定部１３に通知する。これにより、子ブラウザ判定部１３は、第２子ブラウザに対応する部分木を第２子ブラウザに送信し、第２子ブラウザが部分木に基づくデジタルコンテンツを表示することとしてもよい。例えば、第３子ブラウザが表示しているデジタルコンテンツの中、または、第３子ブラウザ自体に、第２子ブラウザにも表示させるためのボタンなどのトリガーがあり、利用者は当該トリガーをＯＮにする。これにより、第３子ブラウザは、第２子ブラウザへの表示指示を子ブラウザ判定部１３に通知する。  また、第３子ブラウザは、自身の第３子ブラウザでデジタルコンテンツが非表示になるタイミングで（例えば、第３子ブラウザの「×（閉じる）ボタン」を利用者が押下するなど）、第２子ブラウザへの表示指示を子ブラウザ判定部１３に通知し、これを契機に第２子ブラウザが部分木に基づくデジタルコンテンツを表示することとしてもよい。
【０１００】  ［第５の実施の形態］  第５の実施の形態では、ＤＯＭの部分木（エレメント）を複数の子ブラウザで共有して表示した場合について、エレメントを共有している子ブラウザを特定するデータ構造と、複数の子ブラウザで共有されているエレメントに対する操作について説明する。
【０１０１】  本実施の形態におけるコンテンツ表示装置１は、複数の子ブラウザに共有されたエレメントがどの子ブラウザで共有されているのかを特定するために、ＤＯＭの各エレメントに複数の子ブラウザ識別子を記憶するための記憶領域として配列を備える。この記憶領域は子ブラウザ判定部１３が備えてもよいし、ＤＯＭ記憶部１２に記憶領域を設けて子ブラウザ判定部１３が参照してもよい。
【０１０２】  図３２は、各エレメントが備える配列を説明するための図である。図３２の例では、図２，３で示したデジタルコンテンツについて、ＩＤ属性が“ｄｖ”のエレメントをルートとする部分木Ａを子ブラウザ２Ａ、ＩＤ属性が“ｄｃ”のエレメントをルートとする部分木Ｂを子ブラウザ２Ｂ、＜ｂｏｄｙ＞エレメントをルートとする部分木Ｃ（ＤＯＭの全体）を子ブラウザ２Ｃに割り当てて表示させた。エレメントの横に付与した枠が配列を示し、枠内の文字列（２Ａ，２Ｂ，２Ｃ）は、子ブラウザ２Ａ，２Ｂ，２Ｃそれぞれの子ブラウザ識別子を示す。図３２の例では、部分木Ａは、子ブラウザ２Ａ，２Ｃで共有されているので、部分木Ａに属する各エレメントの配列には子ブラウザ２Ａ，２Ｃの子ブラウザ識別子「２Ａ」「２Ｃ」が記憶される。同様に、部分木Ｂは、子ブラウザ２Ｂ，２Ｃで共有されているので、部分木Ｂに属する各エレメントの配列には子ブラウザ２Ｂ，２Ｃの子ブラウザ識別子「２Ｂ」「２Ｃ」が記憶される。＜ｂｏｄｙ＞エレメントは子ブラウザ２Ｃのみに割り当てられているので、＜ｂｏｄｙ＞エレメントの配列には子ブラウザ２Ｃの子ブラウザ識別子「２Ｃ」のみが記憶される。
【０１０３】  子ブラウザ判定部１３による上記の配列に対する処理には、「割当」「解除」および「参照」の３つがある。
【０１０４】  「割当」の処理では、エレメントの識別子と子ブラウザ識別子をパラメータとして受け取り、エレメントの識別子で指定されたエレメント（以下、「指定エレメント」と称する）配下の全エレメントの配列に、指定された子ブラウザ識別子（以下、「指定子ブラウザ識別子」と称する）を追加する。
【０１０５】  「解除」の処理では、エレメントの識別子と子ブラウザ識別子をパラメータとして受け取り、指定エレメント配下の全エレメントの配列から指定子ブラウザ識別子を削除する。
【０１０６】  「参照」の処理では、エレメントの識別子をパラメータとして受け取り、指定エレメントの配列に記憶された子ブラウザ識別子を返却する。
【０１０７】  指定エレメント配下の全エレメントの配列に対して指定子ブラウザ識別子を追加、削除することで、子ブラウザ判定部１３による、あるエレメントがどの子ブラウザに割り当てられたかを判定する処理の効率化を図ることができる。
【０１０８】  他にも、「割当」の処理では、指定エレメントの配列のみに指定子ブラウザ識別子を記憶させ、「解除」の処理では、指定エレメントの配列から指定子ブラウザ識別子を削除し、「参照」の処理では、指定エレメントからＤＯＭの木構造データをルートへ向かってたどりながら、エレメントの配列に記憶されている子ブラウザ識別子を収集して返却する、という方法でも配列に対する処理を実現できる。
【０１０９】  子ブラウザ判定部１３による上記の配列に対する処理は、子ブラウザ判定部１３が子ブラウザに送信するＤＯＭの部分木を判定したときや、ＪａｖａＳｃｒｉｐｔ  ＡＰＩにより子ブラウザに送信するＤＯＭの部分木のルートとなるエレメントを指定するときなどに呼び出される。ＪａｖａＳｃｒｉｐｔ  ＡＰＩにより子ブラウザ判定部１３に対してＤＯＭの部分木のルートとなるエレメントを指定することで、システム構築者が予め決めた条件やシステム利用者の操作に応じてＤＯＭ内のエレメントと子ブラウザの対応を決定するシステムの構築が可能となる。具体的な例としては、接続可能な子ブラウザとＤＯＭ記憶部１２に記憶されたＤＯＭのエレメントの識別子を画面上に表示し、子ブラウザに割り当てるエレメントを利用者に決定させるアプリケーションプログラムや、子ブラウザの持つ能力（画面サイズや表示可能な動画の形式など）に応じて割り当てるエレメントを決定するアプリケーションプログラムを構築し、子ブラウザ判定部１３に部分木のルートとなるエレメントの識別子と子ブラウザ識別子を渡して上記の処理を実行する。
【０１１０】  次に、複数の子ブラウザで共有されているエレメントに対する操作について説明する。第１の実施の形態において、ＤＯＭアクセス部１５が提供するＤＯＭ  ＡＰＩについて説明したが、ここではＤＯＭ  ＡＰＩの処理において、複数のブラウザで共有されているエレメントに対する操作で異なる点について説明する。
【０１１１】  （１）ＤＯＭの変更  （２）エレメントの属性変更  （４）エレメントのプロパティ変更  （６）エレメントのメソッド呼出（返却値がない場合）  （７）イベントリスナー登録  （８）イベントリスナー解除  以上の返却値がない処理については、操作対象のエレメントの配列に記憶されているすべての子ブラウザに対して要求を送信し、すべての子ブラウザ上で同じ動作をさせる。
【０１１２】  （３）エレメントの属性参照  （５）エレメントのプロパティ参照  （６）エレメントのメソッド呼出（返却値がある場合）  以上の返却値がある処理については、操作対象のエレメントの配列から子ブラウザを１つ選択し、選択した子ブラウザのＤＯＭ記憶部２３のエレメントから返却値を取得する。以下、子ブラウザを選択して返却値を取得する処理について説明する。
【０１１３】  図３３は、共有されているエレメントから返却値を取得する処理の流れを示すフローチャートである。
【０１１４】  この処理を行う前提として、イベント発生元の子ブラウザの識別子をＤＯＭアクセス部１５が記憶しておく必要がある。具体的には、子ブラウザ通信部１６がイベント発生通知を受信したときに、そのイベント発生通知を送信した子ブラウザの識別子を取得し、取得した子ブラウザ識別子をパラメータとして付加してＤＯＭアクセス部１５にイベントの発生を通知し、ＤＯＭアクセス部１５がその子ブラウザ識別子を一時記憶域に記憶した状態でイベントを発生させてコールバック関数を起動する。コールバック関数内で上記の（３）（５）（６）の返却値があるＤＯＭ  ＡＰＩが呼び出されたときに、以下で説明する処理が行われる。
【０１１５】  まず、子ブラウザ判定部１３に操作対象エレメントの識別子を渡して操作対象エレメントの配列Ａを取得し（ステップＳ１１）、配列Ａに１つ以上の子ブラウザ識別子が記憶されているか否か判定する（ステップＳ１２）。
【０１１６】  配列Ａに子ブラウザ識別子が記憶されていない場合（ステップＳ１２のＮｏ）、操作対象のエレメントはどの子ブラウザにも割り当てられていないので、ＤＯＭ記憶部１２上の該当エレメントに対して情報取得を行って、返却値ｖａｌに設定し（ステップＳ１９）、返却値ｖａｌを返す（ステップＳ１８）。
【０１１７】  配列Ａに子ブラウザ識別子が記憶されている場合（ステップＳ１２のＹｅｓ）、イベント発生元の子ブラウザ識別子（Ｓ＿ＩＤ）を取得する（ステップＳ１３）。なお、タイマーイベントによる契機など、子ブラウザがイベント発生元でない場合はＳ＿ＩＤ＝ｎｕｌｌとする。
【０１１８】  Ｓ＿ＩＤが配列Ａに含まれるか否か判定し（ステップＳ１４）、配列ＡにＳ＿ＩＤが含まれない場合は、配列Ａの最後に追加された子ブラウザ識別子をＳ＿ＩＤとする（ステップＳ１５）。
【０１１９】  Ｓ＿ＩＤが示す子ブラウザに情報取得のための要求を送信し（ステップＳ１６）、応答の内容を返却値ｖａｌに設定し（ステップＳ１７）、返却値ｖａｌを返す（ステップＳ１８）。
【０１２０】  ＤＯＭアクセス部１５は、起動されたコールバック関数が終了した時点で、Ｓ＿ＩＤを記憶した一時記憶域をクリアする。そのため、タイマーイベントなどのように、子ブラウザからのイベント発生通知を契機としないイベント処理時には、一時記憶域がクリアされた状態でコールバック関数が起動されるので、ステップＳ１３においてＳ＿ＩＤ＝ｎｕｌｌとすることができる。
【０１２１】  なお、ＤＯＭアクセス部１５が提供するＤＯＭ  ＡＰＩのうち、（９）ＤＯＭ内のトラバース、および（１０）イベント発生については変更する必要はない。
【０１２２】  次に、本実施の形態の動作について具体例を用いて説明する。
【０１２３】  まず、図２，３で示したデジタルコンテンツを３つの子ブラウザ２Ａ，２Ｂ，２Ｃで共有して表示させるときの動作について説明する。
【０１２４】  コンテンツ表示装置１が図２，３で示したデジタルコンテンツを読み込んだ状態で、タブレット端末として実装された子ブラウザ２Ｃが接続されたとする。子ブラウザ２Ｃの能力（比較的大きな画面サイズとタッチパネル操作可能な入力機能）から、子ブラウザ２Ｃには読み込んだデジタルコンテンツのすべてを表示すべきとアプリケーションプログラムが判断し、子ブラウザ２Ｃに＜ｂｏｄｙ＞エレメント以下の部分木Ｃ（デジタルコンテンツの全体）を割り当てて、部分木Ｃに属するすべてのエレメントの配列に子ブラウザ２Ｃの識別子「２Ｃ」が記憶される。そして、部分木Ｃが子ブラウザ２Ｃに送信されて、図４に示した画面つまりビデオを表示するビデオ表示部とビデオを選択するセレクトボックスの両方が子ブラウザ２Ｃで表示される。
【０１２５】  続いて、テレビ端末として実装された子ブラウザ２Ａが接続されたとする。子ブラウザ２Ａの能力（大きな画面サイズや赤外線リモコンなどの限定的な入力機能）から、子ブラウザ２Ａにはビデオ表示部のみ表示すべきとアプリケーションプログラムが判断し、子ブラウザ２ＡにＩＤ属性が“ｄｖ”のエレメントをルートとする部分木Ａを割り当てて、部分木Ａに属するすべてのエレメントの配列に子ブラウザ２Ａの識別子「２Ａ」が記憶される。そして、部分木Ａが子ブラウザ２Ａに送信されて、図７で示した画面つまりビデオを表示するビデオ表示部のみが子ブラウザ２Ａで表示される。このとき子ブラウザ２Ｃの表示はそのままである。利用者にとっては、子ブラウザ２Ｃに表示されていたビデオ表示部が子ブラウザ２Ａにも共有されたように見える。
【０１２６】  さらに、携帯端末として実装された子ブラウザ２Ｂが接続されたとする。子ブラウザ２Ｂの能力（小さな画面サイズやタッチパネル操作可能な入力機能）から、子ブラウザ２Ｂにはビデオコントロール部のみ表示すべきとアプリケーションプログラムが判断し、子ブラウザ２ＢにＩＤ属性が“ｄｃ”のエレメントをルートとする部分木Ｂを割り当てて、部分木Ｂに属するすべてのエレメントの配列に子ブラウザ２Ｂの識別子「２Ｂ」が記憶される。そして、部分木Ｂが子ブラウザ２Ｂに送信されて、図８で示した画面つまりビデオコントロール部のみが子ブラウザ２Ｂで表示される。このとき子ブラウザ２Ａ，２Ｃの表示はそのままである。利用者にとっては、子ブラウザ２Ｃに表示されていたリストボックスが子ブラウザ２Ｂにも共有されたように見える。
【０１２７】  以上の動作により、子ブラウザ２Ａ，２Ｂ，２Ｃにおいてデジタルコンテンツの一部が共有されて表示される。
【０１２８】  続いて、上記のように子ブラウザ２Ａ，２Ｂ，２Ｃそれぞれにデジタルコンテンツが表示された状態で、利用者が子ブラウザ２Ｃに表示されたリストボックスから動画を選択したときの動作について説明する。
【０１２９】  利用者が子ブラウザ２Ｃに表示されたリストボックスを操作して別の動画を選択すると、子ブラウザ２Ｃでｃｈａｎｇｅイベントが発生し、子ブラウザ２Ｃからイベント発生通知がコンテンツ表示装置１に送信される。
【０１３０】  子ブラウザ通信部１６は、イベント発生通知を受信すると、発生元の子ブラウザ識別子「２Ｃ」、対象エレメントのＩＤ「ｓｅｌ」、およびイベント種別「ｃｈａｎｇｅ」のパラメータとともに、イベントの発生をＤＯＭアクセス部１５に通知する。
【０１３１】  ＤＯＭアクセス部１５は、発生元の子ブラウザ識別子「２Ｃ」を一時記憶域に記憶した状態で、ＤＯＭ記憶部１２内のＩＤ属性が“ｓｅｌ”であるエレメントにｃｈａｎｇｅイベントを発生させる。このイベント発生により、ＤＯＭ記憶部１２内のエレメントに登録されていた図３のｃｈａｎｇｅＶｉｄｅｏ関数が起動される。
【０１３２】  ｃｈａｎｇｅＶｉｄｅｏ関数では、ＩＤ属性が“ｓｅｌ”のエレメントからｓｅｌｅｃｔｅｄＩｎｄｅｘというプロパティを取得する処理が実行される。ＩＤ属性が“ｓｅｌ”のエレメントの配列には、図３２に示すように、２つの子ブラウザ識別子（２Ｂ，２Ｃ）が記憶されている。図３３のフローチャートを用いて説明した処理により、ＤＯＭアクセス部１５の一時記憶域に記憶された子ブラウザ識別子「２Ｃ」の示す子ブラウザ２Ｃに対してｓｅｌｅｃｔｅｄＩｎｄｅｘの値を取得する要求が送信され、子ブラウザ２Ｃから利用者により選択されたｓｅｌｅｃｔｅｄＩｎｄｅｘの値を記載した応答が返却される。
【０１３３】  続いて、ＩＤ属性が“ｖｉｄｅｏ”のエレメントのｓｒｃというプロパティにｓｅｌｅｃｔｅｄＩｎｄｅｘに対応する動画を設定する処理が実行される。ＩＤ属性が“ｖｉｄｅｏ”のエレメントの配列には、図３２に示すように、２つの子ブラウザ識別子（２Ａ，２Ｃ）が記憶されているので、２つの子ブラウザ２Ａ，２Ｃそれぞれに対して、ＩＤ属性が“ｖｉｄｅｏ”のエレメントのｓｒｃプロパティにｓｅｌｅｃｔｅｄＩｎｄｅｘに対応する動画を設定する要求が送信される。そして、子ブラウザ２Ａ，２Ｃそれぞれで、ＩＤ属性が“ｖｉｄｅｏ”のエレメントのｓｒｃプロパティにｓｅｌｅｃｔｅｄＩｎｄｅｘに対応する動画が設定される。
【０１３４】  続いて、ＩＤ属性が“ｖｉｄｅｏ”のエレメントのｌｏａｄメソッド、ｐｌａｙメソッドを呼び出す処理が実行される。この処理でも上記と同様に、ＩＤ属性が“ｖｉｄｅｏ”のエレメントの配列に記憶された２つの子ブラウザ識別子（２Ａ，２Ｃ）の示す２つの子ブラウザ２Ａ，２Ｃそれぞれに対して、ＩＤ属性が“ｖｉｄｅｏ”のエレメントのｌｏａｄメソッド、ｐｌａｙメソッドを呼び出させる要求が送信される。これにより、子ブラウザ２Ａ，２Ｃそれぞれで、子ブラウザ２Ａで選択されたｓｅｌｅｃｔｅｄＩｎｄｅｘに対応する動画の再生が行われる。
【０１３５】  なお、利用者が子ブラウザ２Ｂでリストボックスを操作した場合も同様に、子ブラウザ２ＢのｓｅｌｅｃｔｅｄＩｎｄｅｘが評価され、子ブラウザ２Ａ，２Ｃそれぞれで利用者が子ブラウザ２Ｂで選択したｓｅｌｅｃｔｅｄＩｎｄｅｘに対応する動画の再生が行われる。
【０１３６】  このように、子ブラウザ２Ａ，２Ｃでビデオ表示部を共有し、子ブラウザ２Ｂ，２Ｃでリストボックスを共有して表示させた場合に、子ブラウザ２Ｂ，２Ｃのどちらのリストボックスで動画を選択しても子ブラウザ２Ａ，２Ｃの両方のビデオ表示部に反映させることができる。つまり、単にデジタルコンテンツが複数の子ブラウザで共有されているだけでなく、ＪａｖａＳｃｒｉｐｔにより指定されていた動作についても複数の子ブラウザで共有させることができる。以上説明した本実施の形態における、デジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示方法では、スクリプトを含むコンテンツデータを取得して木構造データに展開するステップと、前記複数の子ブラウザそれぞれで前記木構造データの全部または一部の部分木に対応するデジタルコンテンツを表示するとともに、操作を受け付けるステップと、前記複数の子ブラウザの少なくとも１つで受け付けられた操作を操作の対象となる前記木構造データの全部または一部の部分木を表示している前記複数の子ブラウザの少なくとも１つに反映させて実行するステップと、を行う。  なお、複数の子ブラウザでそれぞれ操作を受け付けた場合、受け付けた各操作に基づく処理を、操作の発生順に実行し、当該受け付けた操作の対象となるデジタルコンテンツを表示している子ブラウザに実行結果を反映させる。例えば、子ブラウザ２Ｂ，２Ｃでリストボックスを共有して表示させている場合に、子ブラウザ２Ｂ，２Ｃのそれぞれで動画を選択すると、子ブラウザ２Ｂ，２Ｃからそれぞれイベント発生通知がコンテンツ表示装置１に送信される。イベント発生通知には、操作を受け付けた時刻情報（すなわち、イベントが発生した時刻情報）が含まれていてもよい。  子ブラウザ通信部１６は、イベント発生通知を受信すると、当該イベント発生通知を受信した順に、または、イベント発生通知に操作を受け付けた時刻情報が含まれている場合は時刻情報が古い順に、当該イベント発生通知をＤＯＭアクセス部１５に送出する。ＤＯＭアクセス部１５は、子ブラウザ通信部１６からイベント発生通知を受け付けた順に、ＤＯＭ記憶部１２内にイベントを発生させる。このようにイベントを発生させることにより、ＤＯＭ記憶部１２内のエレメントに登録されていた関数は、子ブラウザ２Ｂおよび２Ｃにおいて、操作が発生した順に起動される。  すなわち、子ブラウザ２Ｃのリストボックスで選択し、その後、子ブラウザ２Ｂのリストボックスで選択する場合、子ブラウザ２Ａ，２Ｃの両方のビデオ表示部には、はじめに子ブラウザ２Ｃで選択された動画の再生が開始され、その後、子ブラウザ２Ｂで選択された動画に切り替わり再生が開始される。
【符号の説明】
【０１３７】  １…コンテンツ表示装置  １１…コンテンツ取得部  １２…ＤＯＭ記憶部  １３…子ブラウザ判定部  １４…アプリケーションスクリプト実行部  １５…ＤＯＭアクセス部  １６…子ブラウザ通信部  ２Ａ，２Ｂ，２Ｃ…子ブラウザ  ２１…受信部  ２２…通知部  ２３…ＤＯＭ記憶部  ２４…表示部  ３…ブラウザ  ３１…表示部  １００Ａ，１００Ｂ…Ｗｅｂブラウザ  ２００…ＷｅｂＳｏｃｋｅｔサーバ
【図１】
2014042158.tif 000003
【図２】
2014042158.tif 000004
【図３】
2014042158.tif 000005
【図４】
2014042158.tif 000006
【図５】
2014042158.tif 000007
【図６】
2014042158.tif 000008
【図７】
2014042158.tif 000009
【図８】
2014042158.tif 000010
【図９】
2014042158.tif 000011
【図１０】
2014042158.tif 000012
【図１１】
2014042158.tif 000013
【図１２】
2014042158.tif 000014
【図１３】
2014042158.tif 000015
【図１４】
2014042158.tif 000016
【図１５】
2014042158.tif 000017
【図１６】
2014042158.tif 000018
【図１７】
2014042158.tif 000019
【図１８】
2014042158.tif 000020
【図１９】
2014042158.tif 000021
【図２０】
2014042158.tif 000022
【図２１】
2014042158.tif 000023
【図２２】
2014042158.tif 000024
【図２３】
2014042158.tif 000025
【図２４】
2014042158.tif 000026
【図２５】
2014042158.tif 000027
【図２６】
2014042158.tif 000028
【図２７】
2014042158.tif 000029
【図２８】
2014042158.tif 000030
【図２９】
2014042158.tif 000031
【図３０】
2014042158.tif 000032
【図３１】
2014042158.tif 000033
【図３２】
2014042158.tif 000034
【図３３】
2014042158.tif 000035
【図３４】
2014042158.tif 000036
【手続補正書】
【提出日】平成27年10月15日(2015.10.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
デジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示装置であって、
スクリプトを含むコンテンツデータを取得するコンテンツ取得手段と、
前記コンテンツデータを木構造データに展開して記憶する記憶手段と、
前記木構造データから前記複数の子ブラウザそれぞれに表示させるデジタルコンテンツの一部に対応する部分木を判定して対応する子ブラウザに送信する判定手段と、
前記スクリプトを実行する実行手段と、
前記実行手段が前記木構造データにアクセスする処理を実行する場合に、当該処理をアクセス対象の部分木を保持する子ブラウザに通知して当該子ブラウザに処理を行わせ、前記子ブラウザからイベントの発生通知を受信した場合に、当該イベントに対応する処理を前記実行手段に実行させるアクセス手段と、
前記子ブラウザと通信する通信手段と、
を有することを特徴とするコンテンツ表示装置。
【請求項２】
デジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示装置であって、
スクリプトを含むコンテンツデータを取得するコンテンツ取得手段と、
前記コンテンツデータを木構造データに展開して記憶する記憶手段と、
前記木構造データから前記複数の子ブラウザそれぞれに表示させるデジタルコンテンツに対応する部分木を判定して対応する子ブラウザに送信し、状況に応じて、前記複数の子ブラウザのうちの一つである第１子ブラウザに前記部分木の全部または一部の非表示を要求するとともに、前記第１子ブラウザとは異なる第２子ブラウザに当該部分木の全部または一部を送信する判定手段と、
前記スクリプトを実行する実行手段と、
前記実行手段が前記木構造データにアクセスする処理を実行する場合に、当該処理をアクセス対象の部分木を保持する子ブラウザに通知して当該子ブラウザに処理を行わせるアクセス手段と、
前記子ブラウザと通信する通信手段と、
を有することを特徴とするコンテンツ表示装置。
【請求項３】
デジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示装置であって、
スクリプトを含むコンテンツデータを取得するコンテンツ取得手段と、
前記コンテンツデータを木構造データに展開して記憶する記憶手段と、
前記木構造データから前記複数の子ブラウザそれぞれに表示させるデジタルコンテンツに対応する部分木を判定して対応する子ブラウザに送信し、状況に応じて、前記複数の子ブラウザのうちの一つである第１子ブラウザに既に送信した前記部分木の全部または一部を前記第１子ブラウザとは異なる第２子ブラウザに送信する判定手段と、
前記スクリプトを実行する実行手段と、
前記実行手段が前記木構造データにアクセスする処理を実行する場合に、当該処理をアクセス対象の部分木を保持する子ブラウザに通知して当該子ブラウザに処理を行わせるアクセス手段と、
前記子ブラウザと通信する通信手段と、
を有することを特徴とするコンテンツ表示装置。
【請求項４】
デジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示装置であって、
スクリプトを含むコンテンツデータを取得するコンテンツ取得手段と、
前記コンテンツデータを木構造データに展開して記憶する記憶手段と、
前記木構造データから前記複数の子ブラウザそれぞれに表示させるデジタルコンテンツに対応する部分木を判定して対応する子ブラウザに送信する判定手段と、
前記スクリプトを実行する実行手段と、
前記実行手段が前記木構造データにアクセスする処理を実行する場合に、アクセス対象の部分木を保持する子ブラウザの少なくとも１つに通知して処理を行わせ、前記子ブラウザの何れかからイベントの発生通知を受信した場合に、当該イベントに対応する処理を前記実行手段に実行させるアクセス手段と、
前記子ブラウザと通信する通信手段と、
を有することを特徴とするコンテンツ表示装置。
【請求項５】
コンテンツ表示装置がデジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示システムであって、
前記コンテンツ表示装置は、
スクリプトを含むコンテンツデータを取得するコンテンツ取得手段と、
前記コンテンツデータを木構造データに展開して記憶する記憶手段と、
前記木構造データから前記複数の子ブラウザそれぞれに表示させるデジタルコンテンツの一部に対応する部分木を判定して対応する子ブラウザに送信する判定手段と、
前記スクリプトを実行する実行手段と、
前記実行手段が前記木構造データにアクセスする処理を実行する場合に、当該処理をアクセス対象の部分木を保持する子ブラウザに通知して当該子ブラウザに処理を行わせ、前記子ブラウザからイベントの発生通知を受信した場合に、当該イベントに対応する処理を前記実行手段に実行させるアクセス手段と、
前記子ブラウザと通信する通信手段と、を有し、
前記子ブラウザは、
前記部分木を受信して記憶する記憶手段と、
前記部分木に基づいて画面を表示し、操作を受け付ける表示手段と、
前記コンテンツ表示装置から前記通知を受信し、当該通知に基づいて前記部分木にアクセスする受信手段と、
前記部分木でイベントが発生した場合に、当該イベントの発生通知を前記コンテンツ表示装置に通知する通知手段と、を有すること
を特徴とするコンテンツ表示システム。
【請求項６】
デジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示方法であって、
スクリプトを含むコンテンツデータを取得するステップと、
前記コンテンツデータを木構造データに展開して記憶するステップと、
前記木構造データから前記複数の子ブラウザそれぞれに表示させるデジタルコンテンツの一部に対応する部分木を判定して対応する子ブラウザに送信するステップと、
前記スクリプトを実行するステップと、
前記スクリプトを実行するステップで前記木構造データにアクセスする処理を実行する場合に、当該処理をアクセス対象の部分木を保持する子ブラウザに通知して当該子ブラウザに処理を行わせるステップと、
前記子ブラウザからイベントの発生通知を受信した場合に、当該イベントに対応する処理を実行するステップと、
前記子ブラウザと通信するステップと、
を有することを特徴とするコンテンツ表示方法。
【請求項７】
コンテンツ表示装置がデジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示方法であって、
前記コンテンツ表示装置による、
スクリプトを含むコンテンツデータを取得するステップと、
前記コンテンツデータを木構造データに展開して記憶するステップと、
前記木構造データから前記複数の子ブラウザそれぞれに表示させるデジタルコンテンツの一部に対応する部分木を判定して対応する子ブラウザに送信するステップと、
前記スクリプトを実行するステップと、
前記スクリプトを実行するステップで前記木構造データにアクセスする処理を実行する場合に、当該処理をアクセス対象の部分木を保持する子ブラウザに通知して当該子ブラウザに処理を行わせるステップと、
前記子ブラウザからイベントの発生通知を受信した場合に、当該イベントに対応する処理を実行するステップと、
前記子ブラウザと通信するステップと、を有し、
前記子ブラウザによる、
前記部分木を受信して記憶するステップと、
前記部分木に基づいて画面を表示し、操作を受け付けるステップと、
前記コンテンツ表示装置から前記通知を受信し、当該通知に基づいて前記部分木にアクセスするステップと、
前記部分木でイベントが発生した場合に、当該イベントの発生通知を前記コンテンツ表示装置に通知するステップと、を有すること
を特徴とするコンテンツ表示方法。
【請求項８】
請求項１乃至４のいずれかに記載のコンテンツ表示装置としてコンピュータを動作させることを特徴とするコンテンツ表示プログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】削除
【補正の内容】
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
第３の本発明に係るコンテンツ表示方法は、デジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示方法であって、スクリプトを含むコンテンツデータを取得するステップと、前記コンテンツデータを木構造データに展開して記憶するステップと、前記木構造データから前記複数の子ブラウザそれぞれに表示させるデジタルコンテンツの一部に対応する部分木を判定して対応する子ブラウザに送信するステップと、前記スクリプトを実行するステップと、前記スクリプトを実行するステップで前記木構造データにアクセスする処理を実行する場合に、当該処理をアクセス対象の部分木を保持する子ブラウザに通知して当該子ブラウザに処理を行わせるステップと、前記子ブラウザからイベントの発生通知を受信した場合に、当該イベントに対応する処理を実行するステップと、前記子ブラウザと通信するステップと、を有することを特徴とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
第４の本発明に係るコンテンツ表示方法は、コンテンツ表示装置がデジタルコンテンツを複数の子ブラウザに表示させるコンテンツ表示方法であって、前記コンテンツ表示装置による、スクリプトを含むコンテンツデータを取得するステップと、前記コンテンツデータを木構造データに展開して記憶するステップと、前記木構造データから前記複数の子ブラウザそれぞれに表示させるデジタルコンテンツの一部に対応する部分木を判定して対応する子ブラウザに送信するステップと、前記スクリプトを実行するステップと、前記スクリプトを実行するステップで前記木構造データにアクセスする処理を実行する場合に、当該処理をアクセス対象の部分木を保持する子ブラウザに通知して当該子ブラウザに処理を行わせるステップと、前記子ブラウザからイベントの発生通知を受信した場合に、当該イベントに対応する処理を実行するステップと、前記子ブラウザと通信するステップと、を有し、前記子ブラウザによる、前記部分木を受信して記憶するステップと、前記部分木に基づいて画面を表示し、操作を受け付けるステップと、前記コンテンツ表示装置から前記通知を受信し、当該通知に基づいて前記部分木にアクセスするステップと、前記部分木でイベントが発生した場合に、当該イベントの発生通知を前記コンテンツ表示装置に通知するステップと、を有することを特徴とする。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
第５の本発明に係るコンテンツ表示プログラムは、上記コンテンツ表示装置あるいは子ブラウザとしてコンピュータを動作させることを特徴とする。
【国際調査報告】
2014042158.tif 000037
2014042158.tif 000038
2014042158.tif 000039
2014042158.tif 000040
2014042158.tif 000041
2014042158.tif 000042