(57)【要約】【課題】Ｗｅｂブラウザを搭載しない機器に対しても、コンテンツを分散し、連携する。【解決手段】コンテンツ分散制御システム７は、機器２に対応する、木構造データの部分木の処理の識別子と、当該処理に対応する機器の入出力データとを対応づける変換データ２４と、機器２が入出力データを出力すると、変換データ２４から、機器２が出力した入出力データに対応する部分木の処理の識別子を抽出して、イベントの発生通知としてＤＯＭアクセス部１５に出力する変換部２３を備える。コンテンツ分散制御装置１のＤＯＭアクセス部１５は、イベントの発生通知を受信した場合、当該イベントに対応する処理をアプリケーションスクリプト実行部１４に実行させる。【選択図】図１
2015130107.tif 000002
【特許請求の範囲】
【請求項１】
機器と、コンテンツデータを複数の機器に分散して連携するコンテンツ分散制御装置と、を備えるコンテンツ分散制御システムであって、
コンテンツ分散制御装置は、
スクリプトを含むコンテンツデータを取得するコンテンツ取得手段と、
前記コンテンツデータを木構造データに展開して記憶する木構造記憶手段と、
前記スクリプトを実行する実行手段と、
前記実行手段が前記木構造データに関連する処理を実行する場合、当該処理の実行対象の部分木に対応する機器に向けて当該機器の実行対象の部分木の処理を通知して、当該機器に処理させ、
イベントの発生通知を受信した場合、当該イベントに対応する処理を前記実行手段に実行させるアクセス手段を備え、
機器は、
後記変換手段が出力した入出力データに従って情報を出力するとともに、当該機器が取得した入出力データを後記変換手段に出力し、
コンテンツ分散制御システムは、
前記機器に対応する、前記木構造データの部分木の処理の識別子と、当該処理に対応する前記機器の入出力データとを対応づける変換データを記憶する変換データ記憶手段と、
前記アクセス手段が、前記機器の前記実行対象の部分木の処理を通知すると、前記変換データから、通知された部分木の処理に対応する入出力データを抽出して、前記機器に出力するとともに、
前記機器が入出力データを出力すると、前記変換データから、前記機器が出力した入出力データに対応する前記部分木の処理の識別子を抽出して、イベントの発生通知として前記アクセス手段に出力する変換手段とを備える
ことを特徴とするコンテンツ分散制御システム。
【請求項２】
コンテンツデータを複数の機器に分散して連携するコンテンツ分散制御装置であって、
スクリプトを含むコンテンツデータを取得するコンテンツ取得手段と、
前記コンテンツデータを木構造データに展開して記憶する木構造記憶手段と、
前記スクリプトを実行する実行手段と、
前記実行手段が前記木構造データに関連する処理を実行する場合、当該処理の実行対象の部分木に対応する機器に向けて実行対象の部分木の処理を通知して、当該機器に処理させ、
イベントの発生通知を受信した場合、当該イベントに対応する処理を前記実行手段に実行させるアクセス手段と、
前記機器に対応する、前記木構造データの部分木の処理の識別子と、当該処理に対応する前記機器の入出力データとを対応づける変換データを記憶する変換データ記憶手段と、
前記アクセス手段が、前記機器の前記実行対象の部分木の処理を通知すると、前記変換データから、通知された部分木の処理に対応する入出力データを抽出して、前記機器に出力するとともに、
前記機器が入出力データを出力すると、前記変換データから、前記機器が出力した入出力データに対応する前記部分木の処理の識別子を抽出して、イベントの発生通知として前記アクセス手段に出力する変換手段と、
を備えることを特徴とするコンテンツ分散制御装置。
【請求項３】
コンテンツデータを木構造データに展開して処理するコンテンツ分散制御装置と連携して、前記木構造データの部分木に基づいて処理する機器であって、
入出力データに基づいて情報を入出力する入出力装置と、
機器に対応する、木構造データの部分木の処理の識別子と、当該処理に対応する前記入出力装置の入出力データとを対応づける変換データを記憶する変換データ記憶手段と、
コンテンツ分散制御装置が、当該機器の実行対象の部分木の処理を通知すると、前記変換データから、通知された部分木の処理に対応する入出力データを抽出して、前記入出力装置に出力するとともに、
前記入出力装置が入出力データを出力すると、前記変換データから、前記入出力装置が出力した入出力データに対応する前記部分木の処理の識別子を抽出して、イベントの発生通知として前記コンテンツ分散制御装置に出力する変換手段と、
を備えることを特徴とする機器。
【請求項４】
コンテンツデータを木構造データに展開して処理するコンテンツ分散制御装置と連携して、前記木構造データの部分木に対応する入出力データに基づいて、機器が情報を入出力するコンテンツ分散制御方法であって、
コンピュータが、機器に対応する、木構造データの部分木の処理の識別子と、当該処理に対応する前記機器の入出力データとを対応づける変換データを記憶するステップと、
コンテンツ分散制御装置が、前記機器に向けて当該機器の実行対象の部分木の処理を通知すると、前記コンピュータが、前記変換データから、通知された部分木の処理に対応する入出力データを抽出して、前記機器に出力するステップと、
前記機器が入出力データを出力すると、前記コンピュータが、前記変換データから、前記機器が出力した入出力データに対応する前記部分木の処理の識別子を抽出して、イベントの発生通知として前記コンテンツ分散制御装置に出力するステップ
を備えることを特徴とするコンテンツ分散制御方法。
【請求項５】
コンテンツデータを木構造データに展開して処理するコンテンツ分散制御装置と連携して、前記木構造データの部分木に対応する入出力データに基づいて、機器が情報を入出力するコンテンツ分散制御プログラムであって、
コンピュータに、
機器に対応する、木構造データの部分木の処理の識別子と、当該処理に対応する前記機器の入出力データとを対応づける変換データを記憶するステップと、
コンテンツ分散制御装置が、前記機器に向けて当該機器の実行対象の部分木の処理を通知すると、前記変換データから、通知された部分木の処理に対応する入出力データを抽出して、前記機器に出力するステップと、
前記機器が入出力データを出力すると、前記変換データから、前記機器が出力した入出力データに対応する前記部分木の処理の識別子を抽出して、イベントの発生通知として前記コンテンツ分散制御装置に出力するステップ
を実行させることを特徴とするコンテンツ分散制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
コンテンツデータを複数の機器に分散して連携するコンテンツ分散制御システム、コンテンツ分散制御装置、機器、コンテンツ分散制御方法およびコンテンツ分散制御プログラムに関する。
【背景技術】
【０００２】
近年、通信ネットワークを通じた情報提供の技術は、Ｗｅｂテクノロジと呼ばれる一連の技術により大きく進化している。Ｗｅｂテクノロジによる情報提供において、デジタル化されたコンテンツは、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）と呼ばれる形式で、通信ネットワークを介して配信される。配信されたコンテンツは、Ｗｅｂブラウザと呼ばれるソフトウェアにより、利用者に対して表示され、利用者の操作を受け付ける。Ｗｅｂブラウザは主に、次に述べる動作を行う。
【０００３】
１．ＨＴＭＬデータをＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）形式と呼ばれる木構造データに変換する。
【０００４】
２．ＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ）データに基づいて、各ＤＯＭ内のエレメントに対して表示デザインを適用して画面上に表示する。
【０００５】
３．ＪａｖａＳｃｒｉｐｔ（登録商標）と呼ばれる（ＥＣＭＡｓｃｒｉｐｔとも呼ばれる）スクリプト言語により、初期表示時および各種イベント発生時（ユーザによるポインタ操作、キーボード入力、ボタンなどのＤＯＭ上のエレメントクリック、タイマー、非同期通信受信など）に、動的にＤＯＭ操作（エレメントの生成／削除／移動、属性の設定／参照、プロパティの設定／参照、メソッドの呼出など）を行うことにより、利用者とのインタラクションや画面の動的な変更を行う。
【０００６】
このように、ＨＴＭＬデータ、ＪａｖａＳｃｒｉｐｔコード、およびＣＳＳデータが一体となってデジタルコンテンツデータを構成している。
【０００７】
Ｗｅｂテクノロジは、情報提供技術として非常に多く実施されており、Ｗｅｂテクノロジをより使いやすくするためのライブラリやツールも、幅広く知られている。例えば、ｊＱｕｅｒｙとして公開されているライブラリを利用することで、ＤＯＭ操作処理や、イベントに対する処理の設定を行うためのＪａｖａＳｃｒｉｐｔを簡易に実装することが可能となる。
【０００８】
一方、Ｗｅｂブラウザを搭載したデバイスとして、多種多様なタイプが登場しており、これらのデバイス環境に適応して、コンテンツを出し分けるマルチデバイス対応のサービスも普及している。このようなマルチデバイス対応のサービスにおいて、各デバイスに配信されるコンテンツを１ページに集約し、中間ブラウザが、接続されたデバイスを一元管理する方法がある（例えば、非特許文献１参照。）。この非特許文献１に記載の方法では、中間ブラウザは、各デバイスに適した部分コンテンツを分割して配置するとともに、デバイス間の通信を担ってデバイスごとのコンテンツを同期する。
【０００９】
非特許文献１に記載の技術によれば、各クライアントデバイスにはＨＴＭＬ５ブラウザが起動しており、中間ブラウザと各デバイスは、ＷｅｂＳｏｃｋｅｔ等の非同期通信によって通信する。このような中間ブラウザを用いた、複数端末の連携サービスにおいて、コンテンツプロバイダは、ＨＴＭＬ、ＣＳＳ、ＪａｖａＳｃｒｉｐｔ（登録商標）などの、一つのデジタルコンテンツを用意する。中間ブラウザは、デバイス毎にコンテンツ処理プログラムを用意したり、通信制御プログラムやサーバを用意したりすることなく、端末連携サービスを実現することができる。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】中茂  睦裕、 宮崎  泰彦、渡邊  大喜、槙  優一、徳永  徹郎、“中間ブラウザによるマルチデバイス連携技術の提案”、研究報告グループウェアとネットワークサービス（ＧＮ）、２０１３年３月１１日、第2013-GN-87巻、第６号、ｐ．１−６
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、非特許文献１に記載の技術において、各デバイスは、ＨＴＭＬ５対応のＷｅｂブラウザが起動していることを前提とする。従って非特許文献１に記載の技術は、表示ディスプレイを持たず、Ｗｅｂブラウザが搭載されていない機器とでコンテンツを同期することができない。
【００１２】
具体的には、中間ブラウザとデバイス間において、ＤＯＭデータやそのアクセス、イベントの通知に関連する通信データは、ＨＴＭＬ、ＣＳＳデータや、ＪａｖａＳｃｒｉｐｔオブジェクトをテキスト化して送受信される。従って非特許文献１に記載の技術は、これらのデータを解読できないデバイスに対して、他のデバイスと同様に、コンテンツを同期することはできなかった。
【００１３】
またこのようなデバイスと中間ブラウザが連携するために、新たに異なる方式で非ブラウザ機器と連携する通信制御プログラムを有したサーバを構築し、中間ブラウザで実行されるデジタルコンテンツと通信させる方法も考えられる。しかしながらこのような方法は、Ｗｅｂブラウザを搭載した機器と、Ｗｅｂブラウザを搭載しない機器との間で、異なる制御が必要となり、開発に関するコストがかかるなどの問題が生じる場合がある。
【００１４】
従って本発明の目的は、Ｗｅｂブラウザを搭載しない機器に対しても、コンテンツを分散し、連携することを可能とするコンテンツ分散制御システム、コンテンツ分散制御装置、機器、コンテンツ分散制御方法およびコンテンツ分散制御プログラムを提供することである。
【課題を解決するための手段】
【００１５】
上記課題を解決するために、本発明の第１の特徴は、機器と、コンテンツデータを複数の機器に分散して連携するコンテンツ分散制御装置と、を備えるコンテンツ分散制御システムに関する。第１の特徴に係るコンテンツ分散制御システムにおいて、コンテンツ分散制御装置は、スクリプトを含むコンテンツデータを取得するコンテンツ取得手段と、コンテンツデータを木構造データに展開して記憶する木構造記憶手段と、スクリプトを実行する実行手段と、実行手段が木構造データに関連する処理を実行する場合、当該処理の実行対象の部分木に対応する機器に向けて当該機器の実行対象の部分木の処理を通知して、当該機器に処理させ、イベントの発生通知を受信した場合、当該イベントに対応する処理を実行手段に実行させるアクセス手段を備える。機器は、後記変換手段が出力した入出力データに従って情報を出力するとともに、当該機器が取得した入出力データを後記変換手段に出力する。このような第１の特徴に係るコンテンツ分散制御システムは、機器に対応する、木構造データの部分木の処理の識別子と、当該処理に対応する機器の入出力データとを対応づける変換データを記憶する変換データ記憶手段と、アクセス手段が、機器の実行対象の部分木の処理を通知すると、変換データから、通知された部分木の処理に対応する入出力データを抽出して、機器に出力するとともに、機器が入出力データを出力すると、変換データから、機器が出力した入出力データに対応する部分木の処理の識別子を抽出して、イベントの発生通知としてアクセス手段に出力する変換手段とを備える。
【００１６】
本発明の第２の特徴は、コンテンツデータを複数の機器に分散して連携するコンテンツ分散制御装置に関する。本発明の第２の特徴に係るコンテンツ分散制御装置は、スクリプトを含むコンテンツデータを取得するコンテンツ取得手段と、コンテンツデータを木構造データに展開して記憶する木構造記憶手段と、スクリプトを実行する実行手段と、実行手段が木構造データに関連する処理を実行する場合、当該処理の実行対象の部分木に対応する機器に向けて実行対象の部分木の処理を通知して、当該機器に処理させ、イベントの発生通知を受信した場合、当該イベントに対応する処理を実行手段に実行させるアクセス手段と、機器に対応する、木構造データの部分木の処理の識別子と、当該処理に対応する機器の入出力データとを対応づける変換データを記憶する変換データ記憶手段と、アクセス手段が、機器の実行対象の部分木の処理を通知すると、変換データから、通知された部分木の処理に対応する入出力データを抽出して、機器に出力するとともに、機器が入出力データを出力すると、変換データから、機器が出力した入出力データに対応する部分木の処理の識別子を抽出して、イベントの発生通知としてアクセス手段に出力する変換手段と、を備える。
【００１７】
本発明の第３の特徴は、コンテンツデータを木構造データに展開して処理するコンテンツ分散制御装置と連携して、木構造データの部分木に基づいて処理する機器に関する。本発明の第３の特徴に係るコンテンツ分散制御装置は、入出力データに基づいて情報を入出力する入出力装置と、機器に対応する、木構造データの部分木の処理の識別子と、当該処理に対応する入出力装置の入出力データとを対応づける変換データを記憶する変換データ記憶手段と、コンテンツ分散制御装置が、当該機器の実行対象の部分木の処理を通知すると、変換データから、通知された部分木の処理に対応する入出力データを抽出して、入出力装置に出力するとともに、入出力装置が入出力データを出力すると、変換データから、入出力装置が出力した入出力データに対応する部分木の処理の識別子を抽出して、イベントの発生通知としてコンテンツ分散制御装置に出力する変換手段と、を備える。
【００１８】
本発明の第４の特徴は、コンテンツデータを木構造データに展開して処理するコンテンツ分散制御装置と連携して、木構造データの部分木に対応する入出力データに基づいて、機器が情報を入出力するコンテンツ分散制御方法に関する。本発明の第４の特徴に係るコンテンツ分散制御方法は、コンピュータが、機器に対応する、木構造データの部分木の処理の識別子と、当該処理に対応する機器の入出力データとを対応づける変換データを記憶するステップと、コンテンツ分散制御装置が、機器に向けて当該機器の実行対象の部分木の処理を通知すると、コンピュータが、変換データから、通知された部分木の処理に対応する入出力データを抽出して、機器に出力するステップと、機器が入出力データを出力すると、コンピュータが、変換データから、機器が出力した入出力データに対応する部分木の処理の識別子を抽出して、イベントの発生通知としてコンテンツ分散制御装置に出力するステップを備える。
【００１９】
本発明の第５の特徴は、コンテンツデータを木構造データに展開して処理するコンテンツ分散制御装置と連携して、木構造データの部分木に対応する入出力データに基づいて、機器が情報を入出力するコンテンツ分散制御プログラムに関する。第５の特徴に係るコンテンツ分散制御プログラムは、コンピュータに、機器に対応する、木構造データの部分木の処理の識別子と、当該処理に対応する機器の入出力データとを対応づける変換データを記憶するステップと、コンテンツ分散制御装置が、機器に向けて当該機器の実行対象の部分木の処理を通知すると、変換データから、通知された部分木の処理に対応する入出力データを抽出して、機器に出力するステップと、機器が入出力データを出力すると、変換データから、機器が出力した入出力データに対応する部分木の処理の識別子を抽出して、イベントの発生通知としてコンテンツ分散制御装置に出力するステップを実行させる。
【発明の効果】
【００２０】
本発明によれば、Ｗｅｂブラウザを搭載しない機器に対しても、コンテンツを分散し、連携することを可能とするコンテンツ分散制御システム、コンテンツ分散制御装置、機器、コンテンツ分散制御方法およびコンテンツ分散制御プログラムを提供することができる。
【図面の簡単な説明】
【００２１】
【図１】第１の実施の形態に係るコンテンツ分散制御システムのシステム構成と、コンテンツ分散制御装置および機器の機能ブロックを説明する図である。
【図２】第２の実施の形態に係るコンテンツ分散制御システムのシステム構成と、機器の機能ブロック図を説明する図である。
【図３】第２の実施の形態に係るコンテンツ分散制御システムのＤＯＭの一例を説明する図である。
【図４】第２の実施の形態に係るコンテンツ分散制御システムの変換データの一例を説明する図である。
【図５】第２の実施の形態に係るコンテンツ分散制御システムにおけるスクリプトの処理を説明するフローチャートである。
【図６】第３の実施の形態に係るコンテンツ分散制御システムのシステム構成と、機器の機能ブロック図を説明する図である。
【図７】第３の実施の形態に係るコンテンツ分散制御システムの変換データの一例を説明する図である。
【図８】第５の実施の形態に係るコンテンツ分散制御システムのシステム構成と、コンテンツ分散制御装置および機器の機能ブロックを説明する図である。
【発明を実施するための形態】
【００２２】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
【００２３】
（第１の実施の形態）
図１を参照して、本発明の実施の形態に係るコンテンツ分散制御システム７を説明する。コンテンツ分散制御システム７は、コンテンツ分散制御装置１、機器２および機器３を備える。
【００２４】
コンテンツ分散制御装置１は、従来のコンテンツ分散制御方法によって、中間ブラウザとして機能する。コンテンツ分散制御装置１は、ウェブサーバ（図示せず）などからデジタルコンテンツデータを取得する。コンテンツ分散制御装置１は、デジタルコンテンツデータのＨＴＭＬデータ内のＤＯＭ構造を解析し、機器２および機器３に指定されたＤＯＭを、デジタルコンテンツデータから分割する。中間ブラウザは、ＷｅｂＳｏｃｋｅｔで、機器２および機器３に向けて、分割したコンテンツデータを、それぞれ分散して送信し、機器２および機器３にそれぞれ処理させる。
【００２５】
機器２および機器３は、コンテンツ分散制御装置１から送信されたデータに基づいて、コンテンツ分散制御装置１と連携して動作する。機器２および３は、表示装置、アクチュエーター、表示ライトなどによる出力装置や、センサ、マウス、タッチパネルなどによる入力装置などを備える。機器３は、Ｗｅｂブラウザを搭載することにより子ブラウザとして機能する。一方機器２は、Ｗｅｂブラウザを搭載していないものの、本発明の実施の形態に係るコンテンツ分散制御方法に基づいて動作することにより、子ブラウザと同様の機能を実現する。
【００２６】
図１に示すコンテンツ分散制御システム７が、Ｗｅｂブラウザを搭載した一つの機器２と、Ｗｅｂブラウザを搭載しない一つの機器３を備える場合を説明するが、各機器の数は問わない。また、コンテンツ分散制御装置１は、一つのコンピュータにより実現される場合を説明するが、複数のコンピュータにより実現されても良い。
【００２７】
（コンテンツ分散制御装置）
コンテンツ分散制御装置１は、コンテンツデータを複数の機器に分散して連携する。コンテンツ分散制御装置１は、コンテンツ取得部（コンテンツ取得手段）１１、ＤＯＭ記憶部（木構造記憶手段）１２、判定部１３、アプリケーションスクリプト実行部（実行手段）１４、ＤＯＭアクセス部（アクセス手段）１５、通信部１６、および表示部１７を備える。コンテンツ分散制御装置１が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成され、各部の処理がプログラムによって実行されるものとしてもよい。このプログラム（コンテンツ分散制御プログラム）は、コンテンツ分散制御装置１が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。以下、コンテンツ分散制御装置１の各部について説明する。
【００２８】
コンテンツ取得部１１は、Ｗｅｂサーバ（図示せず）に接続し、ＨＴＴＰ等の公知のプロトコルによって、デジタルコンテンツデータをダウンロードするなどにより、スクリプトを含むデジタルコンテンツデータを取得する。デジタルコンテンツデータは、ＨＴＭＬデータ、ＪａｖａＳｃｒｉｐｔコード、およびＣＳＳデータを含み、これらのデータが一体となってデジタルコンテンツを構成する。ＨＴＭＬデータの中にＪａｖａＳｃｒｉｐｔコード，ＣＳＳデータが記載されている場合もあるが、別のファイルが指定されて他のデータソースから取得されることもある。例えば、＜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＞のみからなるＨＴＭＬ）のみを記憶する状態にし、ＣＳＳデータもクリアされた状態にする。そして、受信したＨＴＭＬ断片データを空のＨＴＭＬドキュメントに付加してＤＯＭを作成する。受信したＣＳＳデータもＤＯＭ記憶部３３に蓄積する。
【００５８】
受信部３１がＤＯＭに対するアクセスに関するデータを受信した場合、受信したデータに基づいてＤＯＭにアクセス（ＤＯＭの変更、属性の変更・参照、プロパティの変更・参照、メソッド呼出、イベントリスナーの登録・解除など）する。ＤＯＭに対するアクセスの戻り値がある場合、受信部３１は、戻り値をコンテンツ分散制御装置１に返却する。
【００５９】
通知部３２は、ＤＯＭ記憶部３３のＤＯＭで発生したイベントをコンテンツ分散制御装置１に通知する。コンテンツ分散制御装置１からイベントリスナー登録の要求を受信した際に、イベント発生通知をコンテンツ分散制御装置１に送信する処理を登録する。これにより、ＤＯＭ記憶部３３のＤＯＭでイベントが発生したとき、通知部３２においてイベント発生通知を送信する処理が、起動される。
【００６０】
ＤＯＭ記憶部３３は、受信したＤＯＭの部分木を記憶し、受信部２１が受信したデータに応じてアクセスされる。またＤＯＭ記憶部３３は、ＣＳＳデータを記憶する。
【００６１】
入出力部３４は、ＤＯＭ記憶部３３に記憶されたＤＯＭに対してＣＳＳを適用して画面に表示し、利用者とのインタラクションを行う。
【００６２】
図１の機器３に示す各部は、一般的なＷｅｂブラウザを用いて構成することができる。受信部３１および通知部３２は、ＪａｖａＳｃｒｉｐｔで実装して構成することができる。例えば、ＷｅｂＳｏｃｋｅｔクライアントを作成してコンテンツ分散制御装置１のＷｅｂＳｏｃｋｅｔサーバへ接続する処理と、ＷｅｂＳｏｃｋｅｔサーバからのデータ受信時の処理としてｏｎ＿ｒｅｃｅｉｖｅ関数を登録する処理をロード時に実行するＨＴＭＬデータ、具体的には、上記の処理をｉｎｉｔ関数内に記載し、ｏｎｌｏａｄイベントでｉｎｉｔ関数を実行するＨＴＭＬデータを予め用意しておき、このＨＴＭＬデータを機器３が取得することで受信部３１および通知部３２を機能させることができる。ｏｎ＿ｒｅｃｅｉｖｅ関数に、コンテンツ分散制御装置１から受信したデータに基づくそれぞれの処理を記載して、受信部３１に相当する機能を実現する。なお、ｏｎ＿ｒｅｃｅｉｖｅ関数内に記載する処理のうち、イベントリスナーを登録する処理については、イベントリスナーを登録する、指定されたエレメントおよびイベント種別に対してｏｎ＿ｅｖｅｎｔ関数を登録する。ｏｎ＿ｅｖｅｎｔ関数には、発生したイベント種別と自エレメントの識別子を求め、求めた値をパラメータとしたイベント発生通知をコンテンツ分散制御装置１に送信する処理を記載して、通知部３２に相当する機能を実現する。
【００６３】
（ブラウザ非搭載機器）
機器２は、図１に示すように、受信部２１、通知部２２、変換部（変換手段）２３、変換データ２４および入出力装置２５を備える。機器２は、ブラウザを搭載することなく、ブラウザを搭載した機器３と同様の機能を実現する。
【００６４】
機器２が備える受信部２１、通知部２２および変換部２３は、演算処理装置、記憶装置等を備えたコンピュータにより構成され、各部の処理がプログラムによって実行されるものとしてもよい。このプログラム（コンテンツ分散制御プログラム）は、機器２が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。また機器２が備える記憶装置は、変換データ２４を記憶する変換データ記憶手段としても機能する。
【００６５】
以下、機器２の各部について説明する。
【００６６】
入出力装置２５は、コンテンツ分散制御装置１から配信されたコンテンツに従って、利用者に情報を認識させるための、中間ブラウザの出力部として機能するとともに、利用者の指示などの情報を取得するための、中間ブラウザの入力部として機能する。具体的には入出力装置２５は、変換部２３から入力された入出力データに従って情報を出力するとともに、当該入出力装置２５が取得した入出力データを変換部２３に出力する。
【００６７】
本発明の実施の形態において機器２の入出力装置２５は、センサやアクチュエーターなどを想定する。アクチュエーターは、変換部２３から入力された入出力データに従って稼働することにより情報を出力し、利用者などに情報を認識させる。またセンサは、検知により取得した情報を変換部２３に出力することにより、利用者に関連する情報の入力を可能とする。
【００６８】
受信部２１および通知部２２は、ブラウザを搭載した機器３の受信部３１および通知部３２と同様に機能する。ここで受信部２１は、コンテンツ分散制御装置１の判定部１３からＤＯＭの部分木のデータ（ＨＴＭＬ断片データとＣＳＳデータ）を受信した場合、受信したデータに基づいて、変換データ２４を生成し記憶しても良い。また受信部２１は、ＤＯＭに対するアクセスに関するデータを受信した場合、受信したデータを変換部２３に入力する。ここでＤＯＭに対するアクセスは、例えば、ＤＯＭの変更、属性の変更・参照、プロパティの変更・参照、メソッド呼出、イベントリスナーの登録・解除などである。通知部３２は、機器２に対応するＤＯＭに関連して発生したイベントを、コンテンツ分散制御装置１に通知する。
【００６９】
変換データ２４は、機器２に対応する部分木の処理の識別子と、当該処理に対応する入出力装置２５の入出力データとを対応づける。変換データ２４は、図４および図７に示すように、入出力装置２５に対応する部分木の処理の識別子と、この処理に対応する入出力データとを対応づける。機器２に対応する部分木の処理の識別子は、この部分木の処理に対して、他の機器と連携する処理を一意に識別できればよく、どのような処理でも構わない。例えば、部分木の処理の識別子は、Ｗ３Ｃ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ）標準に従って設定されても良いし、Ｗ３Ｃ標準に従わないカスタムイベントとして設定されても良い。
【００７０】
変換データ２４は、受信部２１がコンテンツ分散制御装置１から部分木に関連するデータを受信した際、生成され記憶される。また変換データ２４は、入出力装置２５に対応するｄｅｖｉｃｅ属性のエレメントに関連して、コンテンツ分散制御装置１からの部分木のデータの送信とは非同期に、予め生成され記憶されても良い。
【００７１】
変換部２３は、変換データ２４を参照して、コンテンツ分散制御装置１とでやりとりされるＤＯＭのアクセスに関連するデータを、入出力装置２５の入出力データに変換して中継する。
【００７２】
具体的には変換部２３は、コンテンツ分散制御装置１のＤＯＭアクセス部１５が、この機器２に向けて実行対象の部分木の処理を通知すると、変換データ２４から、通知された部分木の処理に対応する入出力データを抽出する。さらに変換部２３は、抽出した入出力データを、入出力装置２５に出力する。これにより入出力装置２５は、コンテンツ分散制御装置１からの指示に従って動作することができる。
【００７３】
また入出力装置２５が入出力データを出力すると、変換部２３は、変換データ２４から、入出力装置２５が出力した入出力データに対応する部分木の処理の識別子を抽出する。さらに変換部２３は、抽出した処理の識別子を、イベントの発生通知としてコンテンツ分散制御装置１のＤＯＭアクセス部１５に出力する。これにより入出力装置２５は、コンテンツ分散制御装置１に情報を送信し動作させることができる。
【００７４】
このような本発明の第１の実施の形態に係るコンテンツ分散制御システム７は、ＨＴＭＬデータ、ＣＳＳデータ、ＪａｖａＳｃｒｉｐｔ（登録商標）オブジェクトなどを、ブラウザを搭載しない機器２で解釈可能に変換する変換部２３と変換データ２４を設ける。この変換部２３が、ＷｅｂＳｏｃｋｅｔの通信する内容を、ブラウザを搭載しない機器で認識可能な形式に変換する。これにより中間ブラウザは、ブラウザを搭載しない機器２を、ブラウザを搭載する機器３と同様の子ブラウザとして認識することができる。このようなブラウザを搭載しない機器２は、コンテンツ分散制御装置１に接続できればよく、表示ディスプレイの搭載の要否を問わない。
【００７５】
すなわち、第１の実施の形態に係るコンテンツ分散制御システム７において中間ブラウザを担うコンテンツ分散制御装置１は、ブラウザを搭載しない機器２を、ブラウザを搭載する機器３と同様に、連携する機器の配下に加えて制御することを可能とする。これにより第１の実施の形態に係るコンテンツ分散制御システム７は、Ｗｅｂブラウザを搭載しない機器に対しても、コンテンツの分散を可能とする。
【００７６】
（第２の実施の形態）
第２の実施の形態においては、図１で説明したコンテンツ分散制御システム７を適用して、薬箱２８の開閉の情報を、複数の機器で共有し連携する例を説明する。第２の実施の形態は、患者が薬箱２８を開閉したか否かを、薬箱２８に取り付けた加速度センサの値によって判断し、その結果を遠隔地の機器に出力する。これにより、患者の薬の飲み忘れを、遠隔地にいながら監視することを可能とする。
【００７７】
第２の実施の形態に係るコンテンツ分散制御システム７ａは、図２に示すように、薬箱２８の開閉を検知する機器２はブラウザを搭載しない機器であって、この薬箱２８の開閉を、ブラウザを搭載する機器３ａおよび３ｂに表示する。図２に示すコンテンツ分散制御装置１は、図１に示すコンテンツ分散制御装置１と同様の構成を備える。また図２に示す機器３ａおよび３ｂは、図１に示す機器３と同様の構成を備え、それぞれブラウザを搭載したｐｃおよびテレビである。
【００７８】
このようなコンテンツ分散制御システム７ａにおけるＤＯＭの木構造は、図３に示すように、部分木Ａおよび部分木Ｂを備える。部分木Ａは、ｄｅｖｉｃｅの属性値に“ＰＣ”が設定されており、機器３ａに対応する部分木である。部分木Ｂは、ｄｅｖｉｃｅの属性値に“ＴＶ”が設定されており、機器３ｂに対応する部分木である。
【００７９】
どの機器にどのエレメントが配置されるかは、デジタルコンテンツデータに含まれるＪａｖａＳｃｒｉｐｔによって制御される。例えば、機器３ａおよび機器３ｂは、それぞれ割り振られたユニークなＩＤによって識別される。ＰＣとＴＶがそれぞれ搭載する子ブラウザに、＜ｄｉｖ  ｄｅｖｉｃｅ＝”ＰＣ”＞および＜ｄｉｖ  ｄｅｖｉｃｅ＝”ＴＶ”＞と指定されたＤＯＭエレメントを表示領域として、配置する。
【００８０】
ブラウザを搭載しない機器２は、受信部２１、通知部２２、変換部２３、変換データ２４および入出力装置２５を備える。受信部２１、通知部２２および変換部２３は、図１に示した各部と同様である。
【００８１】
本発明の第２の実施の形態において、変換データ２４は、図４に示すように、入出力データと、この入出力データに対応する処理の識別子を対応づけたデータである。この入出力データは、入出力装置２５が認識可能なデータである。また処理の識別子は、中間ブラウザを担うコンテンツ分散制御装置１のＤＯＭアクセス部１５が、ＤＯＭ記憶部１２にアクセス可能なデータである。換言すると、図４に示す処理の識別子は、コンテンツ分散制御装置１が取得するデジタルコンテンツデータのＪａｖａＳｃｒｉｐｔのオブジェクト情報やＤＯＭ情報であって、入出力装置２５に対応する部分木の処理の識別子である。
【００８２】
入出力装置２５は、通信部２６および入出力部２７を備える。入出力部２７は、加速度センサであり、薬箱２８の蓋に取り付けられるなどにより、薬箱２８の開閉を検知する。入出力部２７が、薬箱２８の開閉を検知すると、その旨の入出力データを、通信部２６に入力する。通信部２６は、入出力部２７から入力された入出力データを、変換部２３に入力する。
【００８３】
変換部２３は、変換データ２４を読み出して、入出力部２７から入力された入出力データを、処理の識別子に変換する。変換部２３は、コンテンツ分散制御装置１が、当該機器２の実行対象の部分木の処理を通知すると、変換データ２４から、通知された部分木の処理に対応する入出力データを抽出して、入出力装置２５に出力する。さらに変換部２３は、入出力装置２５が入出力データを出力すると、変換データ２４から、入出力装置２５が出力した入出力データに対応する部分木の処理の識別子を抽出する。変換部２３は、抽出した部分木の処理の識別子を、通知部２２を介して、イベントの発生通知としてコンテンツ分散制御装置１に出力する。
【００８４】
変換部２３が、入出力データに基づいてコンテンツ分散制御装置１にイベントの発生通知を出力する例を、説明する。変換部２３は、入力された入出力データが「『閉じる』を検知する」データの場合、変換部２３は、処理の識別子として、「キーボード『ｑ』をｋｅｙｄｏｗｎしたイベントオブジェクトを発火」を抽出する。これにより変換部２３は、薬箱２８の開閉の情報を、ＤＯＭ情報やＪａｖａＳｃｒｉｐｔのオブジェクト情報に変換することを可能とする。
【００８５】
本発明の第２の実施の形態において変換部２３は、入出力データを、ＪａｖａＳｃｒｉｐｔオブジェクトのうち、キーボードイベントオブジェクトとして変換する。例えば、薬箱２８の開情報をキーボードの「ｑ」を押下するイベントとして変換する場合、Ｗ３Ｃ標準に従って、ＫｅｙｂｏａｒｄＥｖｅｎｔオブジェクトの形式で、オブジェクトを生成する。具体的には変換部２３は、ｔｙｐｅプロパティをｋｅｙｄｏｗｎとして、ｋｅｙＣｏｄｅプロパティを「８１」として設定したオブジェクトを、テキスト形式で生成する。
【００８６】
一方、薬箱２８の閉情報をキーボードの「ｗ」を押下するイベントとして変換する場合、Ｗ３Ｃ標準に従って、ＫｅｙｂｏａｒｄＥｖｅｎｔオブジェクトの形式で、オブジェクトを生成する。具体的には変換部２３は、ｔｙｐｅプロパティをｋｅｙｄｏｗｎとして、ｋｅｙＣｏｄｅプロパティを「８７」として設定したオブジェクトを、テキスト形式で生成する。
【００８７】
このように、変換部２３がテキスト形式のオブジェクトの情報に変換すると、通知部２２を介して、コンテンツ分散制御装置１に送信される。コンテンツ分散制御装置１は、送信されたオブジェクトの情報に基づいて、図５のように処理される。
【００８８】
図５のステップＳ１に示すように、予め、ＤＯＭ記憶部１２には、キーボードイベントのリスナーが設定される。コンテンツ分散制御装置１が取得するデジタルコンテンツデータには、キーボード「ｑ」および「ｗ」のイベントリスナーがそれぞれ登録されており、これに基づいて、ＤＯＭ記憶部１２がＤＯＭを記憶する。
【００８９】
機器２において、薬箱２８の開情報が検知されると、ステップＳ２に示すように、キーボードの「ｑ」を押下するイベントオブジェクトのデータが、コンテンツ分散制御装置１に送信される。コンテンツ分散制御装置１は、機器２において、キーボード「ｑ」が押下されたと認識して、ＪａｖａＳｃｒｉｐｔのイベントハンドラを実行し、ステップＳ４において、Ｃｌａｓｓが“ｏｐｅｎ”のエレメントを表示する。具体的には、図３に示すように、ｄｅｖｉｃｅの属性値が“ＰＣ”と設定された部分木ＡのＣｌａｓｓ＝“ｏｐｅｎ”のエレメントに基づいて、図２の機器３ａは、「薬箱が開きました」と表示する。同様に、ｄｅｖｉｃｅの属性値が“ＴＶ”と設定された部分木ＢのＣｌａｓｓ＝“ｏｐｅｎ”のエレメントに基づいて、図２の機器３ｂは、「薬箱が開きました」と表示する。ステップＳ５に示すように、５秒などの所定時間が経過した場合、当該エレメントを非表示に戻すよう制御されても良い。
【００９０】
機器２において、薬箱２８の閉情報が検知されると、ステップＳ３に示すように、キーボードの「ｗ」を押下するイベントオブジェクトのデータが、コンテンツ分散制御装置１に送信される。コンテンツ分散制御装置１は、機器２において、キーボード「ｗ」が押下されたと認識して、ＪａｖａＳｃｒｉｐｔのイベントハンドラを実行し、ステップＳ６において、Ｃｌａｓｓが“ｃｌｏｓｅ”のエレメントを表示する。具体的には、図３に示すように、ｄｅｖｉｃｅの属性値が“ＰＣ”と設定された部分木ＡのＣｌａｓｓ＝“ｃｌｏｓｅ”のエレメントに基づいて、図２の機器３ａは、「薬箱が閉じました」と表示する。同様に、ｄｅｖｉｃｅの属性値が“ＴＶ”と設定された部分木ＢのＣｌａｓｓ＝“ｃｌｏｓｅ”のエレメントに基づいて、図２の機器３ｂは、「薬箱が閉じました」と表示する。ステップＳ７に示すように、５秒などの所定時間が経過した場合、当該エレメントを非表示に戻すよう制御されても良い。
【００９１】
（第３の実施の形態）
第２の実施の形態においては、機器２が、入出力装置２５、変換部２３および変換データ２４を備える場合を説明したが、第３の実施の形態においては、図６に示すように、機器５とは別の筐体の中継機器４が、変換部４３および変換データ４４を備える場合を説明する。
【００９２】
第３の実施の形態において機器５は、ネットワーク家電などのブラウザを持たない家電２９の入出力データを、中継機器４に送信する。中継機器４が、入出力データを中間ブラウザが解読可能な処理の識別子に変換して、コンテンツ分散制御装置１に入力する。更にコンテンツ分散制御装置１は、中継機器４から入力された処理に基づいて、ブラウザを持つ機器３ａ及び機器３ｂに処理させる。
【００９３】
第３の実施の形態に係るコンテンツ分散制御システム７ｂにおいて、ＥＣＨＯＮＥＴ  Ｌｉｔｅなどの既存の通信プロトコルを活用することができる。ＥＣＨＯＮＥＴ  Ｌｉｔｅは、ネットワークに接続された家電２９の状態をセンシングする仕組みを提供する。第３の実施の形態において、家電２９の状態をセンシングする機器５、および中継機器４により、家電２９は、中間ブラウザの子ブラウザと同様に機能することを可能とする。ここで、中継機器４は、例えば、ＥＣＨＯＮＥＴ  Ｌｉｔｅのホームゲートウェイ装置であってもよいし、ホームゲートウェイ装置が接続するアプリケーションサーバであっても良い。
【００９４】
機器５は、通信部５１および入出力装置５２を備える。入出力装置５２は、センシングにより取得した入出力データを、通信部５１を介して中継機器４に送信する。
【００９５】
中継機器４は、受信部４１、通知部４２、変換部４３、変換データ４４および入出力制御部４５を備える。受信部４１、通知部４２および変換部４３は、図２を参照して説明した各部と同様である。入出力制御部４５は、機器５から送信された入出力データを受信し、変換部４３に入力する。
【００９６】
図７に示す変換データ４４は、図４を参照して説明した第２の実施の形態の変換データ２４と同様の構成を持つが、設定される処理が異なる。第２の実施の形態においては、Ｗ３Ｃ標準に従って、キーボードイベントにより開閉の通知イベントが設定されていた。これに対し第３の実施の形態において、入出力データに対応する処理として、Ｗ３Ｃ標準に準拠しないイベントオブジェクトを、カスタムイベントとして定義し、発火させる処理を対応づける。
【００９７】
ＪａｖａＳｃｒｉｐｔの標準規格ＥＣＭＡＳｃｒｉｐｔで、開発者が自由にイベントを定義し利用する事ができる仕様が標準化されているので、第３の実施の形態においては、この仕様を活用して、カスタムイベントを定義する。
【００９８】
機器５が、「洗濯の開始」を検知すると、機器５は、「洗濯の開始」を検知したことを示す入出力データを中継機器４に送信する。中継機器４の変換部４３は、図７に示す変換データ４４を参照して、この入出力データを、「Ｗｉｎｄｏｗオブジェクトに対してカスタムイベント“ｗａｓｈＳｔａｒｔ”を発火」するイベントオブジェクトのデータに変換して、コンテンツ分散制御装置１に送信する。
【００９９】
機器５が、「洗濯の終了」を検知すると、機器５は、「洗濯の終了」を検知したことを示す入出力データを中継機器４に送信する。中継機器４の変換部４３は、図７に示す変換データ４４を参照して、この入出力データを、「Ｗｉｎｄｏｗオブジェクトに対してカスタムイベント“ｗａｓｈＤｏｎｅ”を発火」するイベントオブジェクトのデータに変換して、コンテンツ分散制御装置１に送信する。
【０１００】
ここでコンテンツ分散制御装置１のＤＯＭ記憶部１２には、予め、Ｗｉｎｄｏｗオブジェクトに対してカスタムイベントのリスナーが設定される。コンテンツ分散制御装置１が取得するデジタルコンテンツデータには、“ｗａｓｈＳｔａｒｔ”および“ｗａｓｈＤｏｎｅ”のイベントリスナーがそれぞれ登録されており、これに基づいて、ＤＯＭ記憶部１２がＤＯＭを記憶する。さらに、コンテンツ分散制御装置１のＤＯＭアクセス部１５は、“ｗａｓｈＤｏｎｅ”のイベントリスナーを検知すると、ＪａｖａＳｃｒｉｐｔのイベントハンドラを実行する。コンテンツ分散制御装置１は、機器３ａおよび３ｂの部分木の処理に基づいて、図６に示すように、機器３ａおよび機器３ｂに、「洗濯が終わりました」と表示する。
【０１０１】
第３の実施の形態に示すように、変換部４３および変換データ４４は、機器５とは異なる筐体の機器に実装されても良い。
【０１０２】
また、第３の実施の形態に示すように、変換データ４４は、Ｗ３Ｃ標準に準拠しないカスタムイベントを対応付けても良い。第２の実施の形態においては、コンテンツ分散制御装置１に接続される、ブラウザを搭載しない機器が増えることによるキーの割り当てが複雑になるおそれがある。これに対し第３の実施の形態においては、カスタムイベントを定義するので、ブラウザを搭載しないより多くの機器を、子ブラウザと同様に制御することができる。
【０１０３】
（第４の実施の形態）
第２の実施の形態および第３の実施の形態においては、入出力装置が取得した入出力データを、変換部が処理に変換してコンテンツ分散制御装置１に送信する場合を説明したが、これに限られない。変換部が、コンテンツ分散制御装置１から通知された処理の識別子を、入出力データに変換して情報を出力する場合も考えられる。
【０１０４】
例えば、入出力装置がアクチュエーターの場合を想定する。この場合変換データは、コンテンツ分散制御装置１から通知される処理の識別子と、アクチュエーターを動作させるための入出力データと、を対応づける。ここでコンテンツ分散制御装置１から通知される処理の識別子は、第２の実施の形態および第３の実施の形態で説明した通り、Ｗ３Ｃ標準に準拠するイベントでも良いし、Ｗ３Ｃ標準に準拠しないカスタムイベントでも良い。
【０１０５】
変換部は、コンテンツ分散制御装置１から通知された処理の識別子を、アクチュエーターが解読可能な入出力データに変換し、変換された入出力データをアクチュエーターに入力する。これにより、他の機器で入力された情報に基づいて、アクチュエーターを動作させ、連携することができる。このように本発明の実施の形態によれば、ブラウザを搭載する機器と、ブラウザを搭載しない機器とを、双方向に連携させることができる。
【０１０６】
（第５の実施の形態）
第１ないし第３の実施の形態においては、変換部および変換データを、機器や、機器およびコンテンツ分散制御装置と異なる筐体である中継装置が実装する場合を説明したがこれに限られない。第５の実施の形態においては、図８に示すように、コンテンツ分散制御装置１ｃが変換部１８および変換データ１９を備える場合を説明する。
【０１０７】
コンテンツ分散制御装置１ｃの通信部１６は、ブラウザを搭載しない機器６への処理の通知を、変換部１８に入力して、変換部１８に、機器６に対応する入出力データに変換させる。通信部１６は、変換後の入出力データを機器６に入力する。また通信部１６は、ブラウザを搭載しない機器６から入出力データを受信すると、受信した入出力データを、変換部１８に入力し、変換部１８に、ＤＯＭ記憶部１２に対応する処理の識別子に変換させる。通信部１６ｓは、変換後の処理の識別子をＤＯＭアクセス部１５に入力する。
【０１０８】
変換部１８は、通信部１６から入力されたデータを、変換データ１９を参照して変換する。変換データ１９は、機器６に対応する、ＤＯＭの部分木の処理の識別子と、当該処理に対応する機器６の入出力データとを対応づけるデータである。
【０１０９】
ＤＯＭアクセス部１５が機器６の実行対象の部分木の処理を通知すると、変換部１８が、変換データ１９から、通知された部分木の処理に対応する入出力データを抽出して、機器に出力する。また機器６が入出力データを出力すると、変換部１８は、変換データ１９から、機器６が出力した入出力データに対応する部分木の処理の識別子を抽出して、イベントの発生通知としてＤＯＭアクセス部１５に出力する。
【０１１０】
図８に示す例において機器６は、通信部６１および入出力装置６２を備える。通信部６１は、コンテンツ分散制御装置１ｃとの間で、入出力データを送受信する。入出力装置６２は、コンテンツ分散制御装置１ｃから取得した入出力データに基づいて動作する。また入出力装置６２は、センシングなどにより取得した入出力データを、通信部６１を介して、コンテンツ分散制御装置１ｃに出力する。
【０１１１】
このように、変換部および変換データは、コンテンツ分散制御システムで、ブラウザを搭載しない機器を子ブラウザとして動作させることが可能であれば、いずれのコンピュータに実装されても良い。
【０１１２】
（その他の実施の形態）
上記のように、本発明の第１の実施の形態とないし第５の実施の形態によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
【０１１３】
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【符号の説明】
【０１１４】
１  コンテンツ分散制御装置
２、３、５、６  機器
４  中継機器
７  コンテンツ分散制御システム
１１  コンテンツ取得部
１２  ＤＯＭ記憶部
１３  判定部
１４  アプリケーションスクリプト実行部
１５  ＤＯＭアクセス部
１６、２６、５１、６１  通信部
１７  表示部
１８、２３、４３  変換部
１９、２４、４４  変換データ
２１、３１  受信部
２２、３２、４２  通知部
２５、５２、６２  入出力装置
２７、３４  入出力部
２８  薬箱
２９  家電
３３  ＤＯＭ記憶部
【図１】
2015130107.tif 000003
【図２】
2015130107.tif 000004
【図３】
2015130107.tif 000005
【図４】
2015130107.tif 000006
【図５】
2015130107.tif 000007
【図６】
2015130107.tif 000008
【図７】
2015130107.tif 000009
【図８】
2015130107.tif 000010