(57)【要約】  レンダリングプラットフォームを動作させる方法は、レンダリングエンジンにおいてレンダリング断片を受信するステップと、レンダリング断片からの命令をコールバックコンポーネントに渡すステップと、該命令に従って、前記コールバックコンポーネントから外部アプリケーションに手続き呼出しをするステップとを有する。前記方法は、好ましくは、前記レンダリングエンジンに１又はそれより多くのレンダリング装置を登録するステップと、前記レンダリングエンジンに前記コールバックコンポーネントをレンダリング装置として登録するステップとを有する。
2009507291.tif 000002
【特許請求の範囲】
【請求項１】
レンダリングエンジンにおいてレンダリング断片を受信するステップと、レンダリング断片からコールバックコンポーネントに命令を渡すステップと、該命令にしたがって前記コールバックコンポーネントから外部アプリケーションに手続き呼出しをするステップとを有する、レンダリングプラットフォームを動作させる方法。
【請求項２】
前記レンダリングエンジンに１又はそれより多くのレンダリング装置を登録するステップを更に有する、請求項１に記載の方法。
【請求項３】
前記レンダリングエンジンに前記コールバックコンポーネントを登録するステップを更に有する、請求項１又は２に記載の方法。
【請求項４】
前記コールバックコンポーネントが、レンダリング装置として前記レンダリングエンジンに登録される、請求項３に記載の方法。
【請求項５】
レンダリング装置又は前記コールバックコンポーネントを登録する前記ステップは、ＸＭＬ文書を受信するステップを有する、請求項２、３、又は４の何れか一項に記載の方法。
【請求項６】
前記コールバックコンポーネントを登録するステップが、前記外部アプリケーションからＸＭＬ文書を受信するステップを有する、請求項５に記載の方法。
【請求項７】
前記コールバックコンポーネントに渡された、前記レンダリング断片からの前記命令が、前記手続き呼出しを有する、請求項１乃至６の何れか一項に記載の方法。
【請求項８】
レンダリングエンジンと、１又はそれより多くのレンダリング装置と、コールバックコンポーネントと、外部アプリケーションとを有するデータ処理システムであって、前記レンダリングエンジンが、レンダリング断片を受信するとともに、レンダリング断片から前記コールバックコンポーネントに命令を渡すように構成され、前記コールバックコンポーネントが、該命令にしたがって、前記外部アプリケーションに対して、手続き呼出しを生成するように構成される、データ処理システム。
【請求項９】
前記レンダリングエンジン、前記レンダリング装置又は各々のレンダリング装置、及び前記コールバックコンポーネントが、レンダリングプラットフォームを有する、請求項８に記載のシステム。
【請求項１０】
前記レンダリング装置又は各々のレンダリング装置が、前記レンダリングエンジンに登録される、請求項８又は９に記載のシステム。
【請求項１１】
前記コールバックコンポーネントが、前記レンダリングエンジンに登録される、請求項８、９、又は１０の何れか一項に記載のシステム。
【請求項１２】
前記コールバックコンポーネントが、レンダリング装置として前記レンダリングエンジンに登録される、請求項１１に記載のシステム。
【請求項１３】
レンダリング装置又は前記コールバックコンポーネントの前記登録が、ＸＭＬ文書の受信を含む、請求項１０、１１、又は１２の何れか一項に記載のシステム。
【請求項１４】
前記コールバックコンポーネントの前記登録が、前記外部アプリケーションからのＸＭＬ文書の受信を含む、請求項１３に記載のシステム。
【請求項１５】
前記コールバックコンポーネントに渡される、前記レンダリング断片からの前記命令が、前記手続き呼出しを有する、請求項９乃至１４の何れか一項に記載のシステム。
【請求項１６】
レンダリングプラットフォームを動作させる、コンピュータ可読媒体上のコンピュータプログラムであって、レンダリングエンジンにおいてレンダリング断片を受信し、レンダリング断片からコールバックコンポーネントに命令を渡し、該命令にしたがって、前記コールバックコンポーネントから外部アプリケーションに手続き呼出しをする命令を有する、コンピュータプログラム。
【請求項１７】
前記レンダリングエンジンに１又はそれより多くのレンダリング装置を登録する命令を更に有する、請求項１６に記載のコンピュータプログラム。
【請求項１８】
前記レンダリングエンジンに前記コールバックコンポーネントを登録する命令を更に有する、請求項１６又は１７に記載のコンピュータプログラム。
【請求項１９】
前記コールバックコンポーネントが、レンダリング装置として前記レンダリングエンジンに登録される、請求項１８に記載のコンピュータプログラム。
【請求項２０】
レンダリング装置の登録又は前記コールバックコンポーネントの前記登録が、ＸＭＬ文書の受信を含む、請求項１７、１８、又は１９の何れか一項に記載のコンピュータプログラム。
【請求項２１】
前記コールバックコンポーネントの前記登録が、前記外部アプリケーションからのＸＭＬ文書の受信を含む、請求項２０に記載のコンピュータプログラム。
【請求項２２】
前記コールバックコンポーネントに渡される、前記レンダリング断片からの前記命令が、前記手続き呼出しを有する、請求項１６乃至２１の何れか一項に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レンダリングプラットフォームを動作させる方法、及びレンダリングプラットフォームを含むデータ処理システムに関する。本発明は、レンダリング資源（rendering  assets）による外部サービスの呼出しをサポートする。
【背景技術】
【０００２】
今日では、国際特許出願公開ＷＯ０２／０９２１８３に記載されるような分散レンダリングプラットフォームは、著者らが多入力多出力装置、例えば照明器具、扇風機、ディスプレイ等に及ぶ双方向的なメディア提示を規定することを可能にする。レンダリングプラットフォームは、「イベント」をレンダリングし、レンダリングプラットフォームが、例えばプラットフォームを規定する規格の「イベント」言語要素により、装置からの外部イベントをレンダリングすることを可能にするイベント機構がしばしば存在する。しかしながら、サードパーティアプリケーションにとって、分散されたメディア提示エンジンによりトリガされるイベントに対して反応することは、可能ではない。この問題に対する１つの可能な解決策は、レンダリングプラットフォームの内部状態を、サードパーティアプリケーションに対して晒すことであるが、これは、しばしばセキュリティの観点から望ましくない。
【０００３】
サードパーティアプリケーションは、イベントを含む（時々断片として言及される）文書を加えることができ、該文書により、レンダリングプラットフォームの状態に影響する手段を有するが、通信は、サードパーティアプリケーションからレンダリングプラットフォームへの一方向のみである。それゆえ、サードパーティアプリケーションにとって、レンダリングプラットフォームの状態の変化に対して反応することは不可能である。アプリケーションは、レンダリングプラットフォームの状態の一貫した複製を維持しようとし得るが、これは、このようなアプリケーションの多くがアクティブである非常に分散された環境においては特に望ましくない。結果として、アプリケーションは、レンダリングプラットフォームからの文書をいつ加えるか、又は撤回するかを「予想する」ことしかできない。このことは、レンダリングプラットフォームが、エンドユーザ又はサードパーティのエージェントとの制限された形態のインタラクションのみに関する比較的静的な分散メディア提示に対してのみ使用され得ることを暗示する。レンダリングプラットフォーム及び関連付けられた言語により提供され得る機能は、制限される。より複雑なレンダリング動作、例えば三次元オブジェクトに対する三次元操作に対して、ほとんどのハイパーメディアマークアップ言語は、不十分である。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
それゆえ、本発明の目的は、従来技術を改良することである。
【課題を解決するための手段】
【０００５】
本発明の第１の態様によると、レンダリングエンジンにおいてレンダリング断片を受信するステップと、レンダリング断片からコールバックコンポーネントに命令を渡すステップと、前記命令にしたがって、コールバックコンポーネントから外部アプリケーションに手続き呼出し（procedure  call）をするステップとを有する、レンダリングプラットフォームを動作する方法が提供される。
【０００６】
本発明の第２の態様によると、レンダリングエンジンと、１又はそれより多くのレンダリング装置と、コールバックコンポーネントと、外部アプリケーションとを有し、前記レンダリングエンジンが、レンダリング断片を受信するとともに、レンダリング断片から前記コールバックコンポーネントに命令を渡すように構成され、前記コールバックコンポーネントが、前記命令にしたがって、前記外部アプリケーションに対して手続き呼出しをするように構成される、データ処理システムが提供される。
【０００７】
本発明の第３の態様によると、レンダリングエンジンにおいてレンダリング断片を受信し、レンダリング断片からコールバックコンポーネントに命令を渡し、該命令に従ってコールバックコンポーネントから外部アプリケーションに手続き呼出しをする命令を含み、レンダリングプラットフォームを動作させる、コンピュータ可読媒体上のコンピュータプログラムが提供される。
【０００８】
本発明により、前記手続き呼出しがレンダリングエンジンを通過することなく、外部アプリケーションがレンダリングプラットフォーム内のコンポーネントから呼び出され得るような態様で、レンダリングプラットフォームを動作させることができる。手続き呼出しに対するコマンド、すなわちコールバックコンポーネントに渡される命令は、レンダリングエンジンを通過されるが、該レンダリングエンジンは、前記命令の内容を見るのではなく、文字列の値として扱い、適切なコールバックコンポーネントに転送する。この発明の利点は、特定のコールバックコンポーネントが各々のアプリケーションに対して書かれ得るので、いかなるタイプのアプリケーションとも連携し得るという点で、非常に汎用的であるという事実を含む。（例えばＳＯＡＰプロトコルに基づく）より汎用的なコールバックコンポーネントも可能であり、これは、レンダリングプラットフォームの変更を必要としない。必要とされる全ては、実現されるべきコールバックコンポーネントであり、レンダリングプラットフォームの内部は、公開されない。
【０００９】
本発明は、２つの部分で外部アプリケーションにアクセスする問題に対する解決策を提供する。第１に、サードパーティアプリケーションに対するコールバック機構を実現するレンダリング装置が実現される。第２に、提示言語におけるメディア資源／アイテムとしての手続き呼出しが、レンダリングエンジンに対して提出される。
【００１０】
有利なことに、前記方法は、レンダリングエンジンに１又はそれより多くのレンダリング装置を登録するステップと、レンダリングエンジンにコールバックコンポーネントを登録するステップとを更に有する。好ましくは、コールバックコンポーネントは、レンダリング装置としてレンダリングエンジンに登録される。コールバックコンポーネントをレンダリングプラットフォームのレンダリング装置のように登録することにより、レンダリングエンジンは、コールバックコンポーネントを常にレンダリング装置としてアドレス指定し、レンダリングエンジンの動作に対するいかなる修正も必要とされない。
【００１１】
好ましくは、レンダリング装置又はコールバックコンポーネントを登録するステップは、ＸＭＬ文書を受信するステップを有し、コールバックコンポーネントを登録するステップは、外部アプリケーションからＸＭＬ文書を受信するステップを有する。
【００１２】
理想的には、コールバックコンポーネントに渡されるレンダリング断片からの命令は、手続き呼出しを含む。
【００１３】
本発明の実施例は、添付の図面を参照して、単に例としてここに記載されるであろう。
【発明を実施するための最良の形態】
【００１４】
図１及び２は、レンダリングエンジン１４、レンダリング装置１６、及びコールバックコンポーネント１８からなるレンダリングプラットフォーム１２を有するデータ処理システム１０を示す。システム１０内において、レンダリングプラットフォーム１２の外部にあるアプリケーション２０が含まれる。図１において、レンダリング装置１６及びコールバックコンポーネント１８は、レンダリングエンジン１４に供給されているＸＭＬ文書により、レンダリングエンジン１４とともに登録されている。
【００１５】
自身を新たな装置として登録するために、コールバックコンポーネント１８は、レンダリングエンジン１４とともに登録しなければならない。このことは、コールバックコンポーネント１８の性能及び位置を記載した文書２２を、レンダリングエンジン１４に送信することにより達成される。コールバックコンポーネント１８を登録する文書２２は、サードパーティアプリケーション２０から始まり、これは、外部アプリケーション２０がレンダリングプラットフォーム１２から呼び出され得る方法論である。
【００１６】
以下のコードの断片は、文書２２の内容の一例である。文書２２のフォーマット及び構文は、レンダリングプラットフォーム１２の詳細に依存するであろう。
<pml>
<fragment>
<device>  callback
<capability>
<type>  external_application  </type>
</capability>
<location>  ANYWHERE  </location>
</device>
</fragment>
</pml>
【００１７】
レンダリングエンジン１４は、この文書２２を、外部アプリケーション（タイプ  external_application）において手続きを呼び出すことができるコールバック（callback）という名前の新たな装置の登録として解釈するであろう。この装置は、任意の場所（ANYWHERE）にあり得る。一度装置がレンダリングエンジン１４とともに登録されると、該装置が使用され得る。装置として自身をレンダリングすることにより、コールバックコンポーネント１８は、プラットフォームにおける他の装置のようにレンダリングエンジン１４によって取り扱われる。
【００１８】
レンダリングエンジン１４は、（図２における文書２４のような）レンダリング断片を受信し、それから、該レンダリング断片は、全体又は部分的に、レンダリング装置１６及びコールバックコンポーネント１８に分散される。コールバックコンポーネント１８は、効果的には、特別なタイプのレンダリング装置である。テキスト、音声、又はいくつかの他の様式をレンダリングする代わりに、前記コールバックコンポーネント１８は、レンダリングエンジンによって命令される場合、サードパーティアプリケーション２０上の手続きを呼び出す。従来のレンダリング装置（光、音、ビデオ等）の全てが取り除かれる場合、レンダリングエンジン１４は、コールバックコンポーネント１８のみを使用することができ、汎用のソフトウェアアプリケーションを構成することができる。レンダリングエンジン１４は、内部状態のトラックを維持し、コールバックコンポーネント１８を介して、プログラム手続きを呼び出す。コールバックコンポーネント１８を使用するレンダリングエンジン１４は、以下の態様で実施することができる。
【００１９】
レンダリングエンジン１４は、サードパーティアプリケーションであり得るソースから文書２４（通常ＸＭＬ文書）を受信し、レンダリングされるべきものをエンジン１４に伝える。文書２４は、特定のレンダリングエンジン用の断片、又はＨＴＭＬブラウザ用のＨＴＭＬ文書であり得る。レンダリングエンジン１４は、文書を読み込むとともに、レンダリング装置１６に対して（例えばメディアアイテムを再生又は停止する）命令を与える。以下のコードの断片は、国際特許出願公開ＷＯ０２／０９２１８３のシステムにおいて使用することに適したマークアップ言語の提示文書の一例を示す。
<pml>
<fragment>
<asset>  asset1
<state>  red  </state>
<type>  rgb_light  </type>
<value>  80,  0,  0  </value>
<shareable>  YES  </shareable>
</asset>
</fragment>
</pml>
【００２０】
この断片がレンダリングエンジン１４の断片のプールに加えられる場合、以下のことが起きるであろう。レンダリングエンジン１４の状態redがアクティブであり、タイプrgb_lightの利用可能な１又はそれより多くの装置１６がある場合、（各々の装置が、状態／物体redに規定されるような同じ位置属性値を有するならば）値８０，０，０が、これらの装置１６に送信されるであろう。
【００２１】
類似の態様において、サードパーティアプリケーション２０は、ある状態が真になる場合、呼び出され得る。断片２４は、以下のＸＭＬを含んでもよい。
<pml>
<fragment>
<asset>  hello
<state>  red  </state>
<type>  external_application  </type>
<value>  printHello  </value>
<shareable>  YES  </shareable>
</asset>
</fragment>
</pml>
【００２２】
（サードパーティアプリケーション２０からでもよい）この断片２４は、レンダリングエンジン１４に加えられ、それから文書２４内の命令２６printHelloが、コールバックコンポーネント１８に渡されるであろう。コールバックコンポーネント１８は、レンダリングエンジン１４における状態redが真になる場合、サードパーティアプリケーション２０に対して、手続き呼出し２８をするであろう。コールバックコンポーネント１８は、サードパーティアプリケーションが呼び出されるであろう態様を実現し、レンダリングエンジン１４のみが、「メディアアセット」helloはprintHelloという値でレンダリングされなければならないということを知る。サードパーティアプリケーション２０は、コールバックコンポーネントが手続き呼出しを呼び出すことができるように、リモート手続き呼出しインタフェースを実現していなければならず、そうでなければ、すべての外部（リモート）手続き呼出しは、失敗するであろう。
【００２３】
要約すると、タイプexternal_applicationのアセット記述をもつ文書２４は、エンジン１４に送られる。エンジン１４は、（以前この性能とともに自身を登録されたコールバックと名づけられた装置）アセットタイプを認識するとともに、状態が装置に対してredになる場合、値属性におけるコマンド文字列printHelloを送信する。コンポーネント１８は、サードパーティアプリケーション２０において（ローカルに、又はリモートに）printHello手続きを呼び出す。コマンド文字列は、コールバックコンポーネント１８がより汎用にされ得るように、完全な（リモート）手続き呼出し記述（例えばＳＯＡＰ）を含んでもよいことに留意されるべきである。
【００２４】
上述のアプローチは、多くの提示言語が、装置記述とメディア要素記述との間に区別をするので、多くの他の宣言提示言語にも適用され得る。例えばＳＭＩＬ（ウェブ上のマルチメディアに対するＷ３Ｃ標準規格）において、レイアウト部分は、（スクリーン）装置及び装置の（スクリーン）領域を特定するために存在する。音声、ビデオ、及び画像のような言語要素は、音声、ビデオ、又は画像メディアアイテムをそれぞれ特定するために、メイン部分において使用され得る。これらのメディア要素は、常に領域に関連付けられなければならず、それゆえ間接的に、常に装置につながる。それゆえ、上述のようなコールバックコンポーネントは、レイアウト部分において特定されるとともに、メイン部分において使用され得る。
【００２５】
本発明は、毎日の生活のパフォーマンスをサポートするように設計されたメディア向上環境（アンビエントインテリジェンス環境）及び一般にコンテクストを意識したシステムに適用される。
【図面の簡単な説明】
【００２６】
【図１】図１は、データ処理システムの概略図である。
【図２】図２は、図１のデータ処理システムの更なる概略図である。
【図１】
2009507291.tif 000003
【図２】
2009507291.tif 000004
【国際調査報告】
2009507291.tif 000005
2009507291.tif 000006