專利名稱:操作再現(xiàn)平臺的數(shù)據(jù)處理系統(tǒng)和方法
操作再現(xiàn)平臺的數(shù)據(jù)處理系統(tǒng)和方法本發(fā)明涉及一種操作再現(xiàn)平臺的方法并且涉及一種包括再現(xiàn)平臺的 數(shù)據(jù)處理系統(tǒng)。本發(fā)明支持借助再現(xiàn)資產(chǎn)進行外部服務(wù)的調(diào)用。今天,分布式再現(xiàn)(rendering)平臺,比如W002/092183中介紹的那 種分布式再現(xiàn)平臺,使得程序設(shè)計者能夠定義跨越多種輸入/輸出裝置 (比如燈、風(fēng)扇、顯示器等)的交互式媒體呈現(xiàn)(presentation)。再現(xiàn)平 臺再現(xiàn)"事件",并且通常存在一種事件機制,使得再現(xiàn)平臺能夠借助定 義該平臺的技術(shù)規(guī)范中的'事件'語言元素再現(xiàn)例如來自裝置的外部事 件。不過,對于第三方應(yīng)用程序來說,不可能對由分布式媒體呈現(xiàn)引擎 觸發(fā)的事件做出反應(yīng)。這一問題的一種可行的解決方案是將再現(xiàn)平臺的 內(nèi)部狀態(tài)透露給第三方應(yīng)用程序,但是從安全的角度來說通常不希望這 么做。笫三方應(yīng)用程序能夠添加包含事件的文檔(有時稱作片段),從而 具有影響再現(xiàn)平臺狀態(tài)的手段,但是通信僅僅是單向的,即從第三方應(yīng) 用程序到再現(xiàn)平臺。因此第三方應(yīng)用程序不可能對再現(xiàn)平臺狀態(tài)的變化 做出反應(yīng)。該應(yīng)用程序可能會試圖保存再現(xiàn)平臺狀況的一致副本,但是 這樣做并不理想,尤其是在可能有很多這樣的應(yīng)用程序起作用的高度分 布的環(huán)境下。結(jié)果,應(yīng)用程序僅能夠'猜測M可時添加文檔或從再現(xiàn)平臺 撤回文檔。這意味著再現(xiàn)平臺只能用于相對靜態(tài)的分布式媒體呈現(xiàn),這 種分布式媒體呈現(xiàn)僅僅包含與最終用戶或第三方代理進行有限形式的交 互??捎稍佻F(xiàn)平臺和相關(guān)語言提供的功能是有限的。對于更為復(fù)雜的再 現(xiàn)操作,例如對三維對象的三維操控,大多數(shù)超媒體置標語言都有欠缺。因此本發(fā)明的目的是對已知技術(shù)加以改進。按照本發(fā)明的第一個方面,給出了一種操作再現(xiàn)平臺的方法,該方 法包括在再現(xiàn)引擎處接收再現(xiàn)片段,將來自再現(xiàn)片段的指令傳遞到回調(diào) 部件,和按照該指令從回調(diào)部件向外部應(yīng)用程序進行過程(procedure call) 調(diào)用。按照本發(fā)明的第二個方面,給出了一種數(shù)據(jù)處理系統(tǒng),包括再現(xiàn)引擎、 一個或多個再現(xiàn)裝置、回調(diào)部件和外部應(yīng)用程序,再現(xiàn)引擎安排成 用于接收再現(xiàn)片段和將來自再現(xiàn)程度段的指令傳遞到回調(diào)部件,并且回 調(diào)部件安排成用于按照該指令對外部應(yīng)用程序進行過程調(diào)用。按照本發(fā)明的第三個方面,給出了一種計算機可讀介質(zhì)上的計算機 程序產(chǎn)品,用于操作再現(xiàn)平臺并且包括用于在再現(xiàn)引擎處接收再現(xiàn)片段、 將來自再現(xiàn)片段的指令傳遞到回調(diào)部件和按照該指令從回調(diào)部件向外部 應(yīng)用程序進行過程調(diào)用的指令。由于本發(fā)明,可以以這樣一種方式操作再現(xiàn)平臺可以從再現(xiàn)平臺 內(nèi)的部件調(diào)用外部應(yīng)用程序,而不需要該程序調(diào)用通過再現(xiàn)引擎。用于 過程調(diào)用的命令,傳遞給回調(diào)部件的指令,是通過再現(xiàn)引擎?zhèn)鬟f的,不 過再現(xiàn)引擎并不關(guān)注該指令的內(nèi)容,而是將其視為串值并且將其轉(zhuǎn)送到 適當?shù)幕卣{(diào)部件。本發(fā)明的優(yōu)點包括這一事實它是高度通用的,這是 由于它會對任何類型的應(yīng)用程序起作用,因為可以為各種應(yīng)用程序編寫 專用的回調(diào)部件。更為通用的回調(diào)部件(例如基于SOAP協(xié)議)也是可以 的,其并不需要改變再現(xiàn)平臺。全部所需的僅僅是實現(xiàn)回調(diào)部件,并且 不會泄漏再現(xiàn)平臺的內(nèi)容。本發(fā)明分兩部分給出了針對訪問外部應(yīng)用程序的問題的解決方案。 首先,實現(xiàn)了實施針對第三方應(yīng)用程序的回調(diào)機制的再現(xiàn)裝置。其次, 用呈現(xiàn)語言將過程調(diào)用作為媒體資產(chǎn)/項目提交給再現(xiàn)引擎。有益地,本發(fā)明此外還包括將一個或多個再現(xiàn)裝置注冊在再現(xiàn)^ 1擎 上和將回調(diào)部件注冊在再現(xiàn)引擎上。最好,將回調(diào)部件作為再現(xiàn)裝置注 冊在再現(xiàn)引擎上。通過將回調(diào)部件注冊為看起來是再現(xiàn)平臺內(nèi)的再現(xiàn)裝 置,再現(xiàn)引擎將會總是將回調(diào)部件當作再現(xiàn)裝置尋址,并且不需要對再 現(xiàn)引擎的操作進行修改。最好,再現(xiàn)裝置或回調(diào)部件的注冊包括接收XML文檔,并且回調(diào)部件 的注冊包括從外部應(yīng)用程序接收XML文檔。理想地,傳遞到回調(diào)部件的來自再現(xiàn)片段的指令包括過程調(diào)用?,F(xiàn)在將參照附圖僅以舉例的方式介紹本發(fā)明的實施方式,其中附圖l數(shù)據(jù)處理系統(tǒng)的示意圖,附圖2是附
圖1的數(shù)據(jù)處理系統(tǒng)的另一個示意圖。附圖1和2表示數(shù)據(jù)處理系統(tǒng)10,該系統(tǒng)包括再現(xiàn)平臺12,再現(xiàn)平臺 12由再現(xiàn)引擎14、再現(xiàn)裝置16和回調(diào)部件18組成。在系統(tǒng)10內(nèi)包含有應(yīng) 用程序20,該應(yīng)用程序20處于再現(xiàn)平臺12外部。在附圖l中,借助于提供 給再現(xiàn)引擎U的XML文檔22將再現(xiàn)裝置16和回調(diào)部件18注冊到再現(xiàn)引擎 14。為了將它自己注冊為新的裝置,回調(diào)部件18必須向再現(xiàn)引擎"注冊。 這是通過向再現(xiàn)引擎14發(fā)送一個介紹回調(diào)部件18的能力及其位置的文檔 22來完成的。對回調(diào)部件18進行注冊的文檔22是由第三方應(yīng)用程序20發(fā) 起的,這是從再現(xiàn)平臺12調(diào)用外部應(yīng)用程序2O所利用的方法。下面的代碼片段是文檔22內(nèi)容的實例。文檔22的格式和語法取決于 再現(xiàn)平臺12的具體情況。 <pml> <fragmerrt> <device> callback <capability> <type> external—application </type> </capabirrty><location> ANYWHERE </location> </device> </fragment> </pml>再現(xiàn)引擎14將會把這個文檔22解譯注冊一個名為callback (回調(diào))的 新裝置,其具有調(diào)用外部應(yīng)用程序(類型external—application)上的過程 的能力。該裝置可以處于ANYWHERE (任何位置)。 一旦將該裝置向再現(xiàn) 引擎14進行了注冊,就可以使用它了。通過將它自己再現(xiàn)為裝置,回調(diào) 部件18被再現(xiàn)引擎14視為該平臺內(nèi)的任意另 一裝置。再現(xiàn)引擎H將會接收到再現(xiàn)片段(比如附圖2中的文檔24),然后將 這些片段整個地或部分地分發(fā)給再現(xiàn)裝置16和回調(diào)部件l 8 ?;卣{(diào)部件l 8 實際上是一種特殊類型的再現(xiàn)裝置。它并不再現(xiàn)文本、音頻或某種其它 形態(tài),而是在接到再現(xiàn)引擎14的指示時調(diào)用第三方應(yīng)用程序20上的過程。 如杲取消了所有常規(guī)的再現(xiàn)裝置(燈光、聲音、視頻等等),則再現(xiàn)引擎 14能夠單獨使用回調(diào)部件18并且能夠編排通用軟件應(yīng)用程序。再現(xiàn)引擎 14跟蹤內(nèi)部狀態(tài),并且經(jīng)由回調(diào)部件18調(diào)用程序過程??梢砸韵铝蟹绞綄崿F(xiàn)使用回調(diào)部件18的再現(xiàn)引擎14。再現(xiàn)引擎14從源(可以是第三方應(yīng)用程序20)接收說明24 (典型地 是XML文檔),該說明24告訴引擎14應(yīng)當再現(xiàn)什么。對于特殊的再現(xiàn)引擎 來說,說明24可以是片段,對于HTML瀏覽器來說,說明24可以是HTML文 檔。再現(xiàn)引擎14閱讀該說明并且對再現(xiàn)裝置16發(fā)出命令(例如,播放或 停止媒體項目)。下面的代碼片段表示適合用在WO02/092183的系統(tǒng)中的用置標語言寫成的呈現(xiàn)說明的實例。 <pml> <fragment> <asset> asset1<state> red </state><type> rgbjight </type><v3lue> 80, 0, 0 </value><shareable> YES </shareable></asset></fragment></pml>如果將這個片段添加到再現(xiàn)引擎14中的片段庫中,則將會發(fā)生下面 的事情。如果狀態(tài)red (紅)在再現(xiàn)引擎14中生效并且有一個或多個類型 為rgb—light的可用裝置16,則將值80、 0、 O發(fā)送給(這些)裝置16 (只 要各個裝置具有與針對狀態(tài)/對象red而定義的位置屬性值相同的位置屬 性值)。按照類似的方式,如果某一狀態(tài)變?yōu)檎?,則現(xiàn)在就可以調(diào)用第三方 應(yīng)用程序20了。片I殳M可以包括下面的XML:<pml> <fragment> <ass6t> hello<state> red </state><type> extemsLapplication </type><value> printHello </value><shareable> YES </shareable> </3sset> 《/fragment> </pml>如杲將這個片段24 (該片段可以來自第三方應(yīng)用程序20)添加到再 現(xiàn)引擎14中,則將會把文檔24內(nèi)的指令26 printHello傳遞到回調(diào)部件18。 當狀態(tài)red在再現(xiàn)引擎14中變?yōu)檎鏁r,回調(diào)部件18將會對第三方應(yīng)用程序 20進行過程調(diào)用28?;卣{(diào)部件18實施如何調(diào)用第三方應(yīng)用程序20,而再 現(xiàn)引擎14僅僅知道'士某體資產(chǎn)'hello必須按照值printHello來加以'再現(xiàn) '。第三方應(yīng)用程序20必須已經(jīng)實現(xiàn)了遠程過程調(diào)用對接,才能使得回調(diào) 部件能夠發(fā)起過程調(diào)用,否則所有的外部(遠程)過程調(diào)用都會失敗??偟貋韎兌,是將具有externa1—application類型的資產(chǎn)說明的文檔 24發(fā)送給引擎14。引擎14識別該資產(chǎn)類型(之前將其自己注冊為具有這 種能力的名為回調(diào)的裝置)并且在狀態(tài)變?yōu)閞ed時將value屬性中的命令 串printHello發(fā)送給該裝置。部件18調(diào)用第三方應(yīng)用程序20中的 printHello過程(本地地或遠程地)。注意,該命令串可以包含完整的 (遠程)過程調(diào)用說明(例如,在SOAP中),從而使得回調(diào)部件18更為 通用。前面介紹的辦法也可以應(yīng)用于4艮多其它的i^明性呈現(xiàn)語言,因為4艮 多呈現(xiàn)語言會區(qū)分裝置說明和媒體元素說明。例如在SMIL (針對網(wǎng)上多 々某體的W3C標準)中,存在指定(屏幕)裝置和裝置上的(屏幕)區(qū)域的 布局段落??梢栽谥饕糠种惺褂弥T如音頻、視頻和圖像之類的語言要 素來分別指定音頻、視頻或圖像媒體項目。這些媒體元素必須總是要與 一個區(qū)域相關(guān),因此,間接地,總是與裝置關(guān)聯(lián)。因此,可以在布局部 分中規(guī)定前面討論的回調(diào)部件并且在主要部分中使用。本發(fā)明總地來說適用于媒體增強生活環(huán)境,其被設(shè)計用來支持曰常 生活行為(周圍智能環(huán)境)和語境感知系統(tǒng)。
權(quán)利要求
1.一種操作再現(xiàn)平臺(12)的方法,包括在再現(xiàn)引擎(14)處接收再現(xiàn)片段(24),將來自再現(xiàn)片段(24)的指令(26)傳遞到回調(diào)部件(18),和按照該指令(26)從回調(diào)部件(18)向外部應(yīng)用程序(20)進行過程調(diào)用(28)。
2. 按照權(quán)利要求l所述的方法,此外還包括在再現(xiàn)引擎(14)上注 冊一個或多個再現(xiàn)裝置(16)。
3. 按照權(quán)利要求l所述的方法,此外還包括在再現(xiàn)引擎(14)上注 冊一個或多個回調(diào)部件(18)。
4. 按照權(quán)利要求3所述的方法,其中將回調(diào)部件(18)作為再現(xiàn)裝 置注冊在再現(xiàn)引擎(l4)上。
5. 按照權(quán)利要求2、 3或4所述的方法,其中再現(xiàn)裝置(16)或回調(diào) 部件(18)的注冊包括接收XML文檔(")。
6. 按照權(quán)利要求5所述的方法,其中回調(diào)部件(18)的注冊包括從 外部應(yīng)用程序(20)接收XML文檔(22)。
7. 按照前述任何一項權(quán)利要求所述的方法,其中,傳遞到回調(diào)部件 (18)的、來自再現(xiàn)片段(24)的指令(26)包括過程調(diào)用(28)。
8. —種數(shù)據(jù)處理系統(tǒng),包括再現(xiàn)引擎(14), 一個或多個再現(xiàn)裝置 (16),回調(diào)部件(l8),和外部應(yīng)用程序(20),再現(xiàn)引擎(l4)安排成用于接收再現(xiàn)片段(24)和將來自再現(xiàn)程度段(24)的指令(26) 傳遞到回調(diào)部件(18 ),并且回調(diào)部件(18 )安排成用于按照該指令(26 ) 對外部應(yīng)用程序(20)進行過程調(diào)用。
9. 按照權(quán)利要求8所述的系統(tǒng),其中,再現(xiàn)引擎(14)、所述或各 個再現(xiàn)裝置(16)和回調(diào)部件(18)包括再現(xiàn)平臺(12)。
10. 按照權(quán)利要求8或9所述的系統(tǒng),其中所述或各個再現(xiàn)裝置(16) 安排成用于在再現(xiàn)引擎(14)上注冊。
11. 按照權(quán)利要求8、 9或10所述的系統(tǒng),其中回調(diào)部件(18)安排 成用于在再現(xiàn)引擎(14)上注冊。
12. 按照權(quán)利要求ll所述的系統(tǒng),其中回調(diào)部件(18)安排成作為 再現(xiàn)裝置注冊在再現(xiàn)引擎(14)上。
13,按照權(quán)利要求IO、 11或12所述的系統(tǒng),其中再現(xiàn)裝置(16)或回調(diào)部件(18)的注冊包^"接收XML文檔(22)。
14. 按照權(quán)利要求13所迷的系統(tǒng),其中回調(diào)部件(18)的注冊包括 從外部應(yīng)用程序U0)接收XML文檔(")。
15. 按照權(quán)利要求9到14中任何一項所述的系統(tǒng),其中,傳遞到回調(diào) 部件(18)的、來自再現(xiàn)片段U4)的指令(26)包括過程調(diào)用(28)。
16. —種計算機可讀介質(zhì)上的計算機程序產(chǎn)品,用于操作再現(xiàn)平臺 U2)并且包括用于在再現(xiàn)引擎(")處接收片段(24)、將來自再現(xiàn)片段(24)的指令(26)傳遞到回調(diào)部件(18)和按照該指令(26)從 回調(diào)部件(18)向外部應(yīng)用程序(20)進行過程調(diào)用(28)的指令。
17,按照權(quán)利要求16所迷的計算機程序產(chǎn)品,此外還包括用于在再 現(xiàn)引擎(14)上注冊一個或多個再現(xiàn)裝置(16)的指令。
18. 按照權(quán)利要求16或17所述的計算積i程序產(chǎn)品,此外還包括用于 在再現(xiàn)引擎(14)上注冊回調(diào)部件(18)的指令。
19. 按照權(quán)利要求18所迷的計算機程序產(chǎn)品,其中將回調(diào)部件(18)作為再現(xiàn)裝置注冊在再現(xiàn)引擎(")上。
20. 按照權(quán)利要求17、 18或19所述的計算機程序產(chǎn)品,其中再現(xiàn)裝 置(16)或回調(diào)部件(18)的注冊包括接收XML文檔(")。
21. 按照權(quán)利要求20所述的計算機程序產(chǎn)品,其中回調(diào)部件U8) 的注冊包括從外部應(yīng)用程序(20)接收XML文檔(22)。
22. 按照權(quán)利要求16到21中任何一項所述的計算才幾程序產(chǎn)品,其 中,傳遞到回調(diào)部件(18)的、來自再現(xiàn)片段(24)的指令(26)包括 過程調(diào)用(28)。
全文摘要
一種操作再現(xiàn)平臺的方法包括在再現(xiàn)引擎處接收再現(xiàn)片段,將來自再現(xiàn)片段的指令傳遞到回調(diào)部件,和按照該指令從回調(diào)部件向外部應(yīng)用程序進行過程調(diào)用。該方法最好包括在再現(xiàn)引擎上注冊一個或多個再現(xiàn)裝置和將回調(diào)部件作為再現(xiàn)裝置注冊在再現(xiàn)引擎上。
文檔編號G06T15/00GK101331455SQ200680031773
公開日2008年12月24日 申請日期2006年8月31日 優(yōu)先權(quán)日2005年9月1日
發(fā)明者M·G·L·M·范多恩 申請人:皇家飛利浦電子股份有限公司