專利名稱:動(dòng)態(tài)設(shè)備簡(jiǎn)檔接口的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及遞送上下文接口的使用。具體地,本發(fā)明涉及
一種應(yīng)用編程接口 (API),其允許通過(guò)創(chuàng)建可以在會(huì)話期間的任何 點(diǎn)被發(fā)送到服務(wù)器的動(dòng)態(tài)設(shè)備簡(jiǎn)檔(profile)來(lái)允許從遞送上下文接 口訪問(wèn)動(dòng)態(tài)設(shè)備信息。
背景技術(shù):
本節(jié)意在提供權(quán)利要求書中所引證的發(fā)明的背景或者上下文。這 里的描述可能包括可以實(shí)行的概念,但是未必是先前已經(jīng)設(shè)想或者實(shí) 行的概念。因此,除非在此特別指明,否則本小節(jié)中所描述的內(nèi)容不 是相對(duì)于本申請(qǐng)的說(shuō)明書和權(quán)利要求書的現(xiàn)有技術(shù),并且包含在本小
節(jié)中并不意味著其是現(xiàn)有技術(shù)。
隨著改進(jìn)的連接速度和訪問(wèn)技術(shù),移動(dòng)信息訪問(wèn)正在變得日益重 要,這導(dǎo)致了內(nèi)容豐富的應(yīng)用的激增以及增強(qiáng)的用戶體驗(yàn)。移動(dòng)性方 面也已經(jīng)為應(yīng)用開發(fā)開啟了嶄新的前景,因?yàn)橐苿?dòng)設(shè)備被認(rèn)為始終跟 隨用戶,提供關(guān)于用戶意圖和用戶環(huán)境的可靠線索。為了被證明為有 用的,下一代移動(dòng)應(yīng)用必須利用設(shè)備的該移動(dòng)方面并將其與上下文感 知相結(jié)合,以提供定制的服務(wù)和用戶接口。因此,在應(yīng)用開發(fā)中包含 上下文必然成為規(guī)范。此外,對(duì)上下文的這種利用必須符合遞送上下 文訪問(wèn)的統(tǒng)一才莫式。
大多數(shù)的現(xiàn)有網(wǎng)頁(yè)和基于web的應(yīng)用是針對(duì)標(biāo)準(zhǔn)的桌面瀏覽器 開發(fā)的。因此,在將內(nèi)容提供和呈現(xiàn)給桌面?zhèn)€人計(jì)算機(jī)(PC)或者機(jī) 器時(shí),其需要很小的適應(yīng)性(如果有的話)。然而,當(dāng)通過(guò)資源有限 的設(shè)備(諸如移動(dòng)電話)來(lái)訪問(wèn)相同的內(nèi)容和應(yīng)用時(shí),該內(nèi)容的呈現(xiàn) 以及與該內(nèi)容的交互出現(xiàn)了問(wèn)題。而且,這些設(shè)備的特性可能在不同設(shè)備制造商之間、甚至是在同 一 制造商所制造的不同設(shè)備模型之間變 化很大,諸如屏幕大小、小鍵盤類型、屏幕朝向以及處理速度和能力。 因此,利用現(xiàn)有技術(shù),創(chuàng)建對(duì)于每個(gè)設(shè)備配置而言都是最優(yōu)的網(wǎng)頁(yè)是 不現(xiàn)實(shí)的,甚至幾乎是不可能的。
除了特定于設(shè)備的內(nèi)容自適應(yīng)性之外,運(yùn)行時(shí)期間的應(yīng)用同樣應(yīng) 當(dāng)能夠訪問(wèn)系統(tǒng)和環(huán)境數(shù)據(jù)。這種數(shù)據(jù)包括位置信息、電池壽命、網(wǎng) 絡(luò)信號(hào)強(qiáng)度、傳感器數(shù)據(jù)等。這適用于移動(dòng)應(yīng)用和非移動(dòng)應(yīng)用二者, 因?yàn)榧词故欠且苿?dòng)應(yīng)用,也期望其在不同的環(huán)境中發(fā)揮作用。例如, 設(shè)備配置、用戶偏好和環(huán)境條件可能改變,而應(yīng)用應(yīng)當(dāng)適應(yīng)這些改變。
自適應(yīng)的多模態(tài)(multimodal)界面構(gòu)成了使用設(shè)備上下文信息 將是有益的另 一領(lǐng)域。多模態(tài)瀏覽使用戶能夠使用諸如圖形用戶界面 (GUI)、語(yǔ)音、觸摸、視覺(jué)或者其他交互模式的不同模態(tài)來(lái)瀏覽多 模態(tài)網(wǎng)頁(yè)。用于每個(gè)模態(tài)的處理器可以駐留于客戶端終端(也即,設(shè) 備)或者網(wǎng)絡(luò)。例如,設(shè)備可以建立與諸如基于網(wǎng)絡(luò)的自動(dòng)語(yǔ)音識(shí)別 器(ASR)的遠(yuǎn)程服務(wù)的web會(huì)話,并且需要將該信息遞送給設(shè)備上 運(yùn)行的應(yīng)用,其中基于網(wǎng)絡(luò)的ASR具有比駐留于設(shè)備的ASR更好的 能力。用戶和模態(tài)處理器之間的交互是由稱為交互管理器(IM)的組 件來(lái)協(xié)調(diào)的。應(yīng)當(dāng)注意,除了模態(tài)處理器之外,對(duì)話流也可以通過(guò)如 上所述的諸如設(shè)備狀態(tài)、網(wǎng)絡(luò)狀態(tài)、用戶偏好等的次要資源來(lái)實(shí)現(xiàn)。
為了解決設(shè)備上下文信息的動(dòng)態(tài)發(fā)現(xiàn)以及消費(fèi)者訪問(wèn),萬(wàn)維網(wǎng)聯(lián) 盟(W3C)已經(jīng)開展了對(duì)被稱為遞送上下文接口 (DCI)的機(jī)制進(jìn)行 標(biāo)準(zhǔn)化的工作。DCI允許應(yīng)用使用文檔對(duì)象模型(DOM)之類的接口 來(lái)訪問(wèn)遞送上下文信息。應(yīng)用可以在特性節(jié)點(diǎn)上注冊(cè)事件監(jiān)聽(tīng)器,節(jié) 點(diǎn)根據(jù)特性改變或者其他改變來(lái)廣播事件。然而,除了DCI之外,需 要一種用于將設(shè)備中動(dòng)態(tài)發(fā)生的任何改變通知服務(wù)器的機(jī)制。
目前,上下文訪問(wèn)和自適應(yīng)性技術(shù)已經(jīng)得到了工業(yè)界和學(xué)術(shù)界進(jìn) 行的平臺(tái)和服務(wù)開發(fā)的關(guān)注。某些較早的工作已經(jīng)示范了移動(dòng)平臺(tái)上 的上下文感知計(jì)算應(yīng)用的使用。 一種方法描述了用于上下文感知應(yīng)用 的框架,其基于無(wú)所不在的環(huán)境中有感知能力的對(duì)象而開發(fā)。在上下文表示形式方面已經(jīng)進(jìn)行了大量工作,這些工作描述了執(zhí)行基于上下 文的推理和行為的智能代理所使用的上下文表示框架。此外,已經(jīng)提
出,可以實(shí)現(xiàn)基于資源描述框架(RDF) /可擴(kuò)展標(biāo)記語(yǔ)言(XML) 的動(dòng)態(tài)設(shè)備簡(jiǎn)檔。智能環(huán)境中基于本體的上下文模型也已被提出。工 業(yè)界也已經(jīng)大力投入到產(chǎn)生上下文表示模型和模式,以及將設(shè)備數(shù)據(jù) 用于應(yīng)用自適應(yīng)性。
諸如開放移動(dòng)聯(lián)盟(OMA)和W3C的標(biāo)準(zhǔn)機(jī)構(gòu)正在致力于自適 應(yīng)性和上下文訪問(wèn)的獨(dú)立于設(shè)備的技術(shù)和方法。 一 種呈現(xiàn)自適應(yīng)性的 方法是通過(guò)使用層級(jí)樣式表單(CSS)媒介查詢,其根據(jù)訪問(wèn)網(wǎng)頁(yè)的 媒介類型(例如,桌面計(jì)算機(jī)、PDA等)來(lái)選擇特定的樣式表單。媒 介查詢通常在客戶端設(shè)備進(jìn)行處理,但是服務(wù)器或者響應(yīng)路徑上的中 間媒介也可以使用基于媒介查詢的呈現(xiàn)自適應(yīng)性。另一標(biāo)準(zhǔn),即同步 多媒體整合語(yǔ)言(SMIL),也提供了用于檢查系統(tǒng)特性的有限支持, 其中動(dòng)態(tài)值由運(yùn)行時(shí)環(huán)境來(lái)提供。這種基于客戶端的運(yùn)行時(shí)檢查有助 于自適應(yīng)的呈現(xiàn),但是由于所支持的有限特性集以及數(shù)據(jù)發(fā)現(xiàn)機(jī)制, 其無(wú)法利用更多的動(dòng)態(tài)設(shè)備特性。OMA的用戶代理簡(jiǎn)檔(UAProf) 使用RDF之上的UAProf詞匯來(lái)描述設(shè)備特性。
無(wú)線通用資源文件(WURFL)是另一種資源描述機(jī)制,其列出 所有已知的設(shè)備能力作為單個(gè)配置文件。這需要開發(fā)者自己來(lái)更新配 置信息,并且沒(méi)有通過(guò)任何單一實(shí)體來(lái)管理這些更新。所有這些機(jī)制 的基礎(chǔ)原理在于自適應(yīng)性實(shí)體查詢客戶端的能力簡(jiǎn)檔,并且相應(yīng)地 對(duì)內(nèi)容進(jìn)行自適應(yīng)調(diào)整。然而,這些簡(jiǎn)檔所描述的特性不一定是靜態(tài) 的。用戶可能決定在設(shè)備中安裝瀏覽器的新版本或者全新的瀏覽器。 可以有附加設(shè)備,諸如提高網(wǎng)絡(luò)互連能力的藍(lán)牙連接器或者用于位置 信息的全球定位系統(tǒng)(GPS)設(shè)備。這種改變沒(méi)有反應(yīng)在這些靜態(tài)簡(jiǎn) 檔中,其在多數(shù)情況下趨向于過(guò)時(shí)??蛻舳嗽O(shè)備總是保持最新的信息, 并且需要一種通過(guò)自適應(yīng)性實(shí)體來(lái)請(qǐng)求這種信息的機(jī)制。
除了服務(wù)器側(cè)的內(nèi)容自適應(yīng)性之外,在客戶端設(shè)備上運(yùn)行的瀏覽 器應(yīng)用可以使用上下文信息來(lái)增強(qiáng)用戶體驗(yàn)以及驅(qū)動(dòng)新型的依賴于
9上下文的應(yīng)用。目前,瀏覽器應(yīng)用依賴于提供設(shè)備上下文信息(諸如,
位置、存在等)的外部服務(wù)。應(yīng)用通過(guò)使用HTTP請(qǐng)求、Web服務(wù)(如 果設(shè)備支持的話)以及其他訂制機(jī)制來(lái)與這些服務(wù)建立獨(dú)立的會(huì)話。 應(yīng)用還必須依賴于用于設(shè)備特性的所有權(quán)訪問(wèn)方法(通常是通過(guò) JavaScript擴(kuò)展),其必須得到瀏覽器以及設(shè)備制造商的支持。為了 使用這種能力,應(yīng)用必須經(jīng)過(guò)定制以便在這種平臺(tái)上運(yùn)行。上下文訪 問(wèn)方法也是特定于特性的,并且沒(méi)有一種用于在將內(nèi)容自適應(yīng)性擴(kuò)展 給上下文消費(fèi)者的同時(shí)動(dòng)態(tài)添加新特性的機(jī)制。
除了上述提議甚至是上文所討論的簡(jiǎn)檔擴(kuò)展之外,使用DCI樹來(lái) 生成動(dòng)態(tài)設(shè)備筒檔的客戶端側(cè)API仍將是有益的。
發(fā)明內(nèi)容
本發(fā)明的各種實(shí)施方式提供了使用DCI樹來(lái)生成動(dòng)態(tài)設(shè)備簡(jiǎn)檔 的客戶端側(cè)API。 DCI樹表示節(jié)點(diǎn)的層級(jí),每個(gè)層級(jí)表示設(shè)備特性。 上下文提供者可以經(jīng)由DCI樹來(lái)將上下文數(shù)據(jù)提供給設(shè)備簡(jiǎn)檔生成 器組件。設(shè)備簡(jiǎn)檔生成器組件繼而創(chuàng)建動(dòng)態(tài)設(shè)備簡(jiǎn)檔,諸如web瀏覽 器應(yīng)用的應(yīng)用使用該動(dòng)態(tài)設(shè)備簡(jiǎn)檔來(lái)生成設(shè)備遞送上下文(也即,完 全的DCI樹或者部分DCI樹)的串行化。將該設(shè)備遞送上下文發(fā)送
覽器應(yīng)用的用戶體驗(yàn)適合于一個(gè)或多個(gè)用戶設(shè)備的特定特性、偏好等 的應(yīng)用會(huì)話。
本發(fā)明的各種實(shí)施方式允許應(yīng)用作者控制何時(shí)以及在何處具有 內(nèi)容自適應(yīng)。此外,可以定義所有權(quán)串行化協(xié)議,使得僅有相關(guān)的應(yīng) 用服務(wù)器需要理解該協(xié)議。這是有益的,因?yàn)槟壳拔炊x動(dòng)態(tài)的簡(jiǎn)檔 詞匯。因?yàn)槎鄶?shù)web瀏覽器已經(jīng)提供了基于DOM的腳本支持,因此 集成DCI機(jī)制是易于實(shí)現(xiàn)的。DCI還可以作為獨(dú)立于web瀏覽器的 單獨(dú)應(yīng)用來(lái)提供,并且可以與其他交互式組件進(jìn)行集成,例如與具有 多模態(tài)交互框架的交互管理器(IM)組件集成。此外,本發(fā)明的各種 實(shí)施方式實(shí)現(xiàn)了現(xiàn)有的靜態(tài)設(shè)備簡(jiǎn)檔內(nèi)容自適應(yīng)調(diào)整,諸如UAProf和WURFL。
在結(jié)合附圖閱讀下文的詳細(xì)描述時(shí),本發(fā)明的這些和其他優(yōu)點(diǎn)和 特征及其操作的組織和方式將變得易見(jiàn),其中貫穿下文描述的多個(gè)附 圖,類似的元素具有類似的標(biāo)號(hào)。
圖1是可在其中實(shí)現(xiàn)本發(fā)明的系統(tǒng)的總體框圖; 圖2是可以在本發(fā)明的實(shí)現(xiàn)中使用的移動(dòng)電話的透視圖; 圖3是圖2的移動(dòng)電話的電話電路的示意性表示; 圖4是可以通過(guò)其來(lái)實(shí)現(xiàn)本發(fā)明各種實(shí)施方式的設(shè)備上下文訪問(wèn) 和內(nèi)容自適應(yīng)架構(gòu)的表示;
結(jié)構(gòu)的樹形框圖;以及
圖6是使用本發(fā)明實(shí)施方式的應(yīng)用的截屏。
具體實(shí)施例方式
本發(fā)明提供了一種解決客戶端側(cè)動(dòng)態(tài)簡(jiǎn)檔創(chuàng)建問(wèn)題的API。該 API使應(yīng)用作者能夠訂制于設(shè)備特性并且根據(jù)系統(tǒng)改變來(lái)生成設(shè)備簡(jiǎn)
檔。;,—、 '、 《、、、、、 、…、
括可以通過(guò)網(wǎng)絡(luò)進(jìn)行通信的多個(gè)電子設(shè)備。系統(tǒng)IO可以包括有線或 無(wú)線網(wǎng)絡(luò)的任意組合,其中這些網(wǎng)絡(luò)包括但不限于移動(dòng)電話網(wǎng)絡(luò)、無(wú) 線局域網(wǎng)(LAN)、藍(lán)牙個(gè)人局域網(wǎng)、以太網(wǎng)LAN、令牌環(huán)LAN、 廣域網(wǎng)、互聯(lián)網(wǎng)等。系統(tǒng)10可以包括有線電子設(shè)備和無(wú)線電子設(shè)備
備簡(jiǎn)檔。
例如,圖1中所示系統(tǒng)10包括移動(dòng)電話網(wǎng)絡(luò)11和互聯(lián)網(wǎng)28。通 往互聯(lián)網(wǎng)28的連接可以包括但不限于遠(yuǎn)程無(wú)線連接、短程無(wú)線連接、 以及各種有線連接,有線連接包括但不限于電話線、電纜線路、電力線等。
系統(tǒng)10的示例性電子設(shè)備可以包括但不限于移動(dòng)電話12、組合 式PDA和移動(dòng)電話14、 PDA16、集成消息傳遞設(shè)備(IMD) 18、臺(tái) 式計(jì)算機(jī)20,以及筆記本計(jì)算機(jī)22。電子設(shè)備可以是固定的或者在 由行進(jìn)中的人攜帶時(shí)是移動(dòng)的。電子設(shè)備還可以處于交通模式中,包 括但不限于汽車、卡車、出租車、公共汽車、船、飛機(jī)、自行車、摩 托車等。電子設(shè)備的一些或全部可以通過(guò)通往基站24的無(wú)線連接25 發(fā)送和接收呼叫和消息,并且通過(guò)通往基站24的無(wú)線連接25與服務(wù) 提供商進(jìn)行通信?;?4可以連接至網(wǎng)絡(luò)服務(wù)器26,該服務(wù)器26 允許移動(dòng)電話網(wǎng)絡(luò)11和互聯(lián)網(wǎng)28之間的通信。系統(tǒng)IO可以包括附 加的電子設(shè)備和不同類型的電子設(shè)備。
電子設(shè)備可以使用各種傳輸技術(shù)進(jìn)行通信,包括但不限于,碼分 多址(CDMA)、全球移動(dòng)通信系統(tǒng)(GSM)、通用移動(dòng)通信系統(tǒng) (UMTS)、時(shí)分多址(TDMA)、頻分多址(FDMA)、傳輸控制 協(xié)議/互聯(lián)網(wǎng)協(xié)議(TCP/IP)、短消息傳遞服務(wù)(SMS)、多媒體消息 傳遞服務(wù)(MMS)、電子郵件、即時(shí)消息傳遞服務(wù)(IMS)、藍(lán)牙、 IEEE 802.il等。通信設(shè)備可以使用各種介質(zhì)進(jìn)行通信,包括但不限 于無(wú)線電、紅外、激光、線纜連接等。
圖2和圖3示出了一個(gè)代表性電子設(shè)備12,通過(guò)本發(fā)明的各種實(shí) 施方式其靜態(tài)和動(dòng)態(tài)特性可以用于創(chuàng)建動(dòng)態(tài)設(shè)備簡(jiǎn)檔。然而,應(yīng)當(dāng)理 解,本發(fā)明不旨在限于一種特定類型的電子設(shè)備。圖2和圖3的電子 設(shè)備12包括外殼30、液晶顯示器形式的顯示器32、小鍵盤34、麥克 風(fēng)36、耳機(jī)38、電池40、紅外端口 42、天線44、根據(jù)本發(fā)明一個(gè)實(shí) 施方式的UICC形式的智能卡46、讀卡器48、無(wú)線接口電路52、編 解碼器電路54、控制器56以及存儲(chǔ)器58。單獨(dú)的電路和元件可以是 本領(lǐng)域^^知的所有類型,例如Nokia的移動(dòng)電話系列。
圖4中示出了用于設(shè)備上下文訪問(wèn)和內(nèi)容自適應(yīng)的架構(gòu)。如上所 述,圖5中用于上下文訪問(wèn)的DCI樹內(nèi)的根節(jié)點(diǎn)(下文描述)是DCI 組件400。 DCI提供者接口 410提供API集,用于上下文提供者將數(shù)據(jù)提供給DCI樹。瀏覽器應(yīng)用460使用動(dòng)態(tài)設(shè)備簡(jiǎn)檔組件420來(lái)生成 客戶端設(shè)備遞送上下文的XML/RDF串行化,客戶端i殳備遞送上下文 被發(fā)送到執(zhí)行設(shè)備特定內(nèi)容自適應(yīng)的自適應(yīng)服務(wù)器或者代理。當(dāng)瀏覽 器應(yīng)用460接收到來(lái)自自適應(yīng)服務(wù)器或者代理的響應(yīng)時(shí),按照適合于 設(shè)備遞送上下文的方式將內(nèi)容呈現(xiàn)給瀏覽器應(yīng)用460的用戶。應(yīng)當(dāng)理 解,任何應(yīng)用都可以使用DCI上下文提供系統(tǒng)來(lái)訪問(wèn)設(shè)備數(shù)據(jù)。 一個(gè) 示例是在多模態(tài)會(huì)話中使用DCI服務(wù)的IM。
DCI會(huì)話管理器430負(fù)責(zé)管理DCI組件400與外部設(shè)備或者特性 之間的訪問(wèn)機(jī)制。DCI會(huì)話管理器430使用用于提供訪問(wèn)的不同機(jī)制, 這些機(jī)制是依賴于平臺(tái)的。備選地,DCI會(huì)話管理器430可以使用協(xié) 議棧440來(lái)與上下文提供者(例如,為L(zhǎng)inux、 Windows等)或者適 于與Symbian平臺(tái)結(jié)合使用的服務(wù)器/客戶端機(jī)制進(jìn)行通信。訪問(wèn)控
控制,這將在下文結(jié)合圖5更詳細(xì)地討論。動(dòng)態(tài)設(shè)備簡(jiǎn)檔420提供任 意時(shí)間點(diǎn)的DCI樹快照,并且被用于服務(wù)器側(cè)的內(nèi)容自適應(yīng)。下面將 詳細(xì)描述圖4中所示的各個(gè)組件。
如上所述,DCI是W3C(具體地,設(shè)備獨(dú)立性工作組(DIWG)) 采取的新方法,其被作為用于設(shè)備靜態(tài)特性和動(dòng)態(tài)特性的訪問(wèn)機(jī)制。 由于所提供的通用性和可擴(kuò)展性,這是一種非常適合web應(yīng)用、而且 還可以適于與其他框架結(jié)合工作的機(jī)制。DIWG提倡將該方法作為對(duì) 其用于服務(wù)器側(cè)內(nèi)容自適應(yīng)的合成能力/偏好簡(jiǎn)檔(CC/PP )模型以及 用于對(duì)作為遞送上下文(DCO) —部分的特性進(jìn)行查詢和更新的遞送 上下文方法的補(bǔ)充^4)J。
作為基于客戶端的機(jī)制,DCI可以安置在內(nèi)容自適應(yīng)框架內(nèi),在 該框架內(nèi)可以根據(jù)設(shè)備的能力對(duì)web內(nèi)容進(jìn)行自適應(yīng)調(diào)整。但是,除 了內(nèi)容自適應(yīng)之外,應(yīng)用本身也可以使用DCI來(lái)收集上下文數(shù)據(jù)并且 通過(guò)簡(jiǎn)單的訪問(wèn)方法來(lái)提供應(yīng)用自適應(yīng)性,由此降低了對(duì)提供相同信 息的外部服務(wù)的依賴。DCI平臺(tái)的廣泛使用支持執(zhí)行智能的、基于客 戶端的自適應(yīng)服務(wù)的新一代類型的應(yīng)用,這將帶來(lái)下一代的用戶體驗(yàn),尤其是對(duì)于移動(dòng)設(shè)備而言。
W3C的文檔對(duì)象模型(DOM)是一種平臺(tái)和語(yǔ)言無(wú)關(guān)的API, 其允許程序(腳本)動(dòng)態(tài)地訪問(wèn)和更新文檔的內(nèi)容、結(jié)構(gòu)和樣式。在 此使用的術(shù)語(yǔ)"文檔,,是指在表示可以存儲(chǔ)在各種系統(tǒng)中的不同類型 信息的、基于XML的方法中所使用的表示對(duì)象。DOM模型是這樣的 機(jī)制,通過(guò)該機(jī)制,文檔(HTML/xHTML)作為對(duì)象模型外露給應(yīng) 用程序。通過(guò)DOM模型,腳本將文檔視為層級(jí)或者視為與格式良好 的XML文檔內(nèi)的每個(gè)元素相對(duì)應(yīng)的DOM節(jié)點(diǎn)。DOMAPI用來(lái)遍歷 和操作文檔對(duì)象。DOM還支持事件系統(tǒng),該事件系統(tǒng)包括事件傳播 機(jī)制以及用于監(jiān)聽(tīng)和捕獲所廣播事件的處理機(jī)。DCI采用類似的方法 來(lái)按照層級(jí)化的方式表示設(shè)備特性。使用該方法主要是因?yàn)镈OM機(jī) 制在應(yīng)用開發(fā)者之中的普及性和熟悉程度,以及其與支持DOM的當(dāng) 前瀏覽器的兼容性。DCI通過(guò)擴(kuò)展標(biāo)準(zhǔn)DOM接口以及使用與DOM 相同的事件機(jī)制來(lái)提供用于特性訪問(wèn)的API。應(yīng)當(dāng)理解,DCI需要最 新推薦的DOM級(jí)別和DOM事件^見(jiàn)范,其分別可以在 www.w3.org/DOM/DOMTR和
www.w3.org/TR/2000/REC-DOM-Level-2國(guó)Events-2000113/處找到,在 此通過(guò)引用并入二者。
參考圖5,將所有特性(靜態(tài)的和動(dòng)態(tài)的)表示為樹層級(jí)中的 DC/尸ra; er(y ( DCI特性)節(jié)點(diǎn),其中DC/Cowpo"eW 500構(gòu)成了根節(jié) 點(diǎn)。特性(例如,軟件510、硬件520和位置530 )在邏輯類別下聚 合,以行程層級(jí)模式。新特性根據(jù)特性類型添加到樹內(nèi)的特定類別下。 DCI通過(guò)用于搜索和檢查特性的方法對(duì)DOM節(jié)點(diǎn)接口進(jìn)行了擴(kuò)展。 為接口定義了附加屬性,包括指明與特性相關(guān)的元數(shù)據(jù),其中腳本可 以使用該元數(shù)據(jù)來(lái)確定要查找的特性值的類型。
屬性"特性類型"是"OM^h^屬性,其可以用來(lái)定義新的特性 類型,從而可以(基于特性類型)對(duì)標(biāo)準(zhǔn)的DCI接口集進(jìn)行擴(kuò)展,以 添加特定于特性的方法。示例包括但不限于用于初始化特性和值變化 更新率的方法。DCI還提供對(duì)特性名稱命名空間的支持。這允許在
14DCI樹上主控(host)來(lái)自多個(gè)供應(yīng)商的相同特性。具有相同名稱的 節(jié)點(diǎn)可以通過(guò)其命名空間屬性以及元數(shù)據(jù)信息加以區(qū)分,例如XYZ: GPS節(jié)點(diǎn)540和ABC: GPS節(jié)點(diǎn)550。
DCI還使用DOM事件模型來(lái)通知?jiǎng)討B(tài)值和結(jié)構(gòu)性改變。其跟隨 DOM捕獲、起泡(bubble )和目標(biāo)事件階段。實(shí)現(xiàn)DOM Avew^^eww 接口的模塊(諸如瀏覽器或者IM)可以注冊(cè)為DCI/DOM樹上的監(jiān)聽(tīng) 器,并且在目標(biāo)特性的事件路徑中的任意點(diǎn)監(jiān)聽(tīng)事件。在廣播事件時(shí), 調(diào)用針對(duì)特定事件和傳播階段而注冊(cè)的所有事件處理機(jī)。
參考圖4,想要向DCI樹提供數(shù)據(jù)的任何上下文提供者聯(lián)系DCI 會(huì)話管理器430??梢酝ㄟ^(guò)諸如會(huì)話發(fā)起協(xié)議(SIP)或者其他過(guò)程調(diào) 用的服務(wù)發(fā)現(xiàn)機(jī)制來(lái)發(fā)現(xiàn)DCI會(huì)話管理器430。 DCI會(huì)話管理器430 提供轉(zhuǎn)換和會(huì)話管理,并且一旦上下文提供者能夠聯(lián)系DCI會(huì)話管理 器430, DCI會(huì)話管理器430便向DCI提供者接口 410查詢會(huì)話ID。 如果上下文提供者經(jīng)過(guò)了訪問(wèn)控制模塊450的授權(quán),則生成會(huì)話ID。 訪問(wèn)控制模塊450處理訪問(wèn)控制策略,并且被消費(fèi)者API ( DCI 400 ) 和提供者API (DCI提供者接口 410) 二者使用。策略可以指明哪些 消費(fèi)者和提供者具有對(duì)DCI樹的訪問(wèn)權(quán)以及具有修改權(quán)。 一旦生成了 會(huì)話ID,由DCI會(huì)話管理器430來(lái)管理與上下文提供者的會(huì)話。上
生成的唯一會(huì)話ID。
DCI提供者接口 410提供了一組方法,用于 搜索DCI樹內(nèi)特性的位置; 檢查特性; 添加新特性; 移除已有特性; 設(shè)置特性值;
得到和設(shè)置特性的元數(shù)據(jù);以及 設(shè)置針對(duì)XPath使用的命名空間前綴。 此外,DCI提供者接口 410支持XML路徑語(yǔ)言(XPath)表達(dá)式的使用,以便尋址DCI樹中的節(jié)點(diǎn)。XPath是簡(jiǎn)要的非XML語(yǔ)法, 用于尋址XML文檔的部分。使用XPath表達(dá)式的需要在于該表達(dá) 式在DCI上下文內(nèi)應(yīng)當(dāng)是可解析的。DCI提供者接口 410支持對(duì)用于 命名空間統(tǒng)一資源標(biāo)識(shí)符(URI)的前綴的初始設(shè)置,從而使得前綴 可以與提供者使用的相同XPath表達(dá)式結(jié)合使用。這消除了對(duì)命名空 間解析機(jī)制的需要。如上所述,命名空間前綴僅對(duì)特定的提供者有效, 并且是根據(jù)在會(huì)話建立期間所生成的唯一會(huì)話ID而被標(biāo)識(shí)的。應(yīng)當(dāng) 注意,必須在調(diào)用使用命名空間前綴的任何方法之前設(shè)置前綴。
DCI會(huì)話管理器430還意在支持上下文訂制機(jī)制。使用上下文訂 制機(jī)制,消費(fèi)者可以根據(jù)其使用的平臺(tái)所支持的協(xié)議棧來(lái)訂制遠(yuǎn)程特 性。訂制模型可以通過(guò)擴(kuò)展DCI接口發(fā)生。
自適應(yīng)機(jī)制(位于代理、自適應(yīng)服務(wù)器或者內(nèi)容服務(wù)器本身)使 用設(shè)備簡(jiǎn)檔來(lái)根據(jù)設(shè)備的能力及其所在的操作環(huán)境來(lái)對(duì)內(nèi)容進(jìn)行自 適應(yīng)調(diào)整。目前最普及的簡(jiǎn)檔機(jī)制是OMA開發(fā)的用戶代理簡(jiǎn)檔 (UAProf)。下面描述使用DCI架構(gòu)的web應(yīng)用可以生成的動(dòng)態(tài)簡(jiǎn) 檔的創(chuàng)建。該機(jī)制突出示出了使用DCI作為上下文提供機(jī)制以及以內(nèi) 容自適應(yīng)為目標(biāo)的動(dòng)態(tài)簡(jiǎn)檔的來(lái)源。
參考圖4,動(dòng)態(tài)設(shè)備簡(jiǎn)檔模塊420支持客戶端側(cè)的DCI 400 API 在會(huì)話期間的任意點(diǎn)創(chuàng)建可以發(fā)送給服務(wù)器(例如,服務(wù)器主控的瀏 覽器應(yīng)用460)的簡(jiǎn)檔。客戶端側(cè)DCI400 API的關(guān)鍵特征是
應(yīng)用/服務(wù)器可以定義其自己的串行化協(xié)議,因此其無(wú)需等待動(dòng)
態(tài)設(shè)備簡(jiǎn)檔被標(biāo)準(zhǔn)化;
客戶端可以具有多個(gè)可用的串行器,并且應(yīng)用可以選擇使用哪 個(gè)串行器;
應(yīng)用作者可以根據(jù)腳本控制來(lái)確定何時(shí)將動(dòng)態(tài)設(shè)備簡(jiǎn)檔發(fā)送給 服務(wù)器;
支持用于動(dòng)態(tài)通知的事件機(jī)制;
盡可能地保持與標(biāo)準(zhǔn)DOM機(jī)制的一致;以及
提供了篩選器機(jī)制,用于僅得到那些需要的節(jié)點(diǎn)。上述特征是通過(guò)一系列接口來(lái)實(shí)現(xiàn)的。串行器接口提供了串行化
方法,其輸入是一組DC/iVo; eWy節(jié)點(diǎn),并且提供D(9MS化77g輸出。 這需要通過(guò)先前的方法調(diào)用來(lái)設(shè)置活躍串行器。應(yīng)用提供篩選器接 口,其確定需要將DCI樹內(nèi)的哪些節(jié)點(diǎn)添加到將要串行化的列表。由 此,用于篩選特性的邏輯是由應(yīng)用來(lái)處理的。響應(yīng)處理機(jī)接口也是應(yīng) 用提供的處理機(jī)。只要簡(jiǎn)檔已經(jīng)發(fā)送,該接口負(fù)責(zé)處理來(lái)自服務(wù)器的 響應(yīng)。如果應(yīng)用不支持該接口,則可以有用于處理響應(yīng)的默認(rèn)實(shí)現(xiàn)行 為。串行化列表接口提供用于創(chuàng)建節(jié)點(diǎn)列表以便串行化的方法。該接 口擴(kuò)展了 i)C7/Vo;^r0^^接口 ,并且添加了用于向列表附加特性節(jié) 點(diǎn)和從列表移除特性節(jié)點(diǎn)的附加方法。主接口是動(dòng)態(tài)設(shè)備簡(jiǎn)檔接口 , 其提供了對(duì)添加、移除、激活串行器的支持,并且提供了用于設(shè)置響 應(yīng)處理機(jī)以及使用基于ZX)M5Vn'wg的方法標(biāo)識(shí)符來(lái)將筒檔提交給服 務(wù)器的方法。還定義了與串行器的移除相關(guān)的附加的異常。 實(shí)際DCI API的一個(gè)實(shí)施方式實(shí)現(xiàn)如下
#include dom,idl 弁include dci.idl
Module DDP {
〃串行化接口用來(lái)對(duì)列表參數(shù)中存在的特性進(jìn)行串行化。串行化方法使用的 //串行器將是活躍串行器。這返回經(jīng)過(guò)串行化的簡(jiǎn)檔
Interface serializer {
DOMString serialize (DCIPropertyList list); 〃如果出錯(cuò),則返回空
};
〃該篩選器在DCI樹中迭代,并且確定需要添加哪些節(jié)點(diǎn)進(jìn)行串行化。篩選 〃器實(shí)現(xiàn)由應(yīng)用提供Interface DDpFilter {
Boolean includeProperty (in DCIPrope'rty property);
Z/串行化列表接口 。該接口用來(lái)向串行化列表添加特性節(jié)點(diǎn)或者從串行化列表 〃移除特性節(jié)點(diǎn)
Interface DDpSerializationList extends DCIProperty.List { append:Property (in DCl:Property); :removeProperty (in :DC.IP:roperty);
〃響應(yīng)處理機(jī)只要?jiǎng)討B(tài)簡(jiǎn)檔已經(jīng)發(fā)送,則該接口負(fù)責(zé)處理來(lái)自服務(wù)器的響應(yīng)。 〃其由應(yīng)用來(lái)提供。如果接口不是由應(yīng)用提供,可以有獨(dú)立于實(shí)現(xiàn)的默認(rèn)行為
Interface D:DPResponseHandler {
Void handleServerResponse (in DOMStringURI uriResponse);
〃動(dòng)態(tài)設(shè)備簡(jiǎn)檔接口 Interface DDp {
〃可用串行器的列表
Readonly attribute DOMStringList serializers;
〃激活用于該會(huì)話的特定串行器 activateDDpSei'ializer (DOMString slString);〃得到活躍串行器-返回活躍串行器的標(biāo)識(shí)符
■DOMString getActiveSerializer 0;
〃調(diào)用該方法以設(shè)置應(yīng)用定義的串行器。需要提供標(biāo)識(shí)串行器的標(biāo)識(shí)符 setDDpSerializer (in DOMString identifier, in Serializer NewSerializer);
〃該方法在傳遞標(biāo)識(shí)符字符串的同時(shí)返回串行器對(duì)象 serializer getDDpSerializer(DOMString identifier);
〃該方法用來(lái)從串行器列表移除串行器。如果調(diào)用應(yīng)用無(wú)權(quán)移除串行器,則該 〃方法拋出異常
removeDDpSerializer (in DOMString identifier) raises DDpException;
〃將應(yīng)用定義的篩選器附加至當(dāng)前串行器 DOMString serialize'WithFilter (in DDpFilter filter);
〃創(chuàng)建空的串行化列表 DDpSerializationList createSerializationList ();
〃調(diào)用該方法以通過(guò)調(diào)用當(dāng)前活躍串行器來(lái)串行化該列表 DOMString serializePropertyList (in DDpSerializationList list);
〃調(diào)用該方法以將設(shè)備簡(jiǎn)檔提交給由URI標(biāo)識(shí)的服務(wù)器。方法參數(shù)確定用于 〃提交的協(xié)議類型。返回值的行為將取決于該協(xié)議。這是立即返回的異步方法。 〃來(lái)自服務(wù)器的響應(yīng)將由應(yīng)用所設(shè)置的響應(yīng)處理機(jī)來(lái)處理,參見(jiàn) 〃"setResponseHandler"方法。
submitDDp (in DOMString method, in DOMString uri, in DOMString ddpString);
19〃響應(yīng)處理機(jī)由當(dāng)服務(wù)器發(fā)回響應(yīng)時(shí)將被調(diào)用的應(yīng)用來(lái)設(shè)置。處理機(jī)繼而將根 〃據(jù)響應(yīng)來(lái)確定將做什么,例如重載頁(yè)面。
〃如果沒(méi)有指定,則將是一些獨(dú)立實(shí)現(xiàn)的默認(rèn)行為,或者可以默認(rèn)假設(shè)為HTTP setResponseHandler (DDP:ResponseHandler handler);
〃動(dòng)態(tài)設(shè)備簡(jiǎn)檔異常
DDP:Exceptions {
DEFAULT _ SERIALIZER-REMOVE一EXCEPT薩=1;
W3C DCI規(guī)范沒(méi)有提及應(yīng)用如何獲取DCI對(duì)象,將這個(gè)決定留 給了 DCI API的具體實(shí)現(xiàn)。參考回圖5, DCI對(duì)象是"C7Com; o"eW 500。獲取DC/Compo^W 500的一種方法是通過(guò)DOM文檔接口 "getFeature"方法調(diào)用。在本發(fā)明的一個(gè)實(shí)施方式中,將該方法調(diào)用 實(shí)現(xiàn)為JavaScript調(diào)用
在另一實(shí)施方式中,可以在允許直"t妄訪問(wèn)實(shí)際ZXYCom/ o"eW 500的 瀏覽器應(yīng)用內(nèi)提供DCI對(duì)象。應(yīng)當(dāng)注意,可以按照相同的方式來(lái)獲得 動(dòng)態(tài)設(shè)備簡(jiǎn)檔對(duì)象。
圖6中示出了實(shí)現(xiàn)基于DCI的上下文感知邏輯的一個(gè)示例,其中 在Firefox瀏覽器上運(yùn)行的Google Map應(yīng)用配備有DCI擴(kuò)展。Google Map應(yīng)用使用基于JavaScript的DCI上下文訪問(wèn)來(lái)獲取GPS坐標(biāo), 以便將用戶的行動(dòng)路徑繪制在地圖上。參考圖5,在從"C/Com; o"e"〃 根節(jié)點(diǎn)500遍歷之后,首先獲取DCI樹中ABC: GPS節(jié)點(diǎn)550的句柄。 繼而將事件處理機(jī)附加至該節(jié)點(diǎn),其監(jiān)聽(tīng)表示特性值改變的 "dci_prop_change,,事件。只要GPS值改變就調(diào)用該事件處理機(jī),并 且處理機(jī)讀取新值。繼而使用該新值作為當(dāng)前坐標(biāo),并使用Google Map應(yīng)用提供的多叉線(polyline)功能對(duì)其進(jìn)行繪制。第二個(gè)示例是這樣的應(yīng)用,其中使用JavaScript實(shí)現(xiàn)了簡(jiǎn)單的基 于瀏覽器的動(dòng)態(tài)設(shè)備配置查看器。腳本在DCI樹中迭代,根據(jù)DCI 樹中存在的節(jié)點(diǎn)以層級(jí)化方式在使用瀏覽器查看的網(wǎng)頁(yè)上創(chuàng)建文本 框。如果存在值屬性,應(yīng)用將添加處理機(jī),其中值變化將反應(yīng)在相應(yīng) 的文本框中。如果創(chuàng)建并添加了新節(jié)點(diǎn),同樣將在應(yīng)用中動(dòng)態(tài)地反應(yīng) 該變化。
在方法步驟的一般背景下對(duì)本發(fā)明進(jìn)行了描述,在一個(gè)實(shí)施方式 中,這些方法步驟可以通過(guò)程序產(chǎn)品來(lái)實(shí)現(xiàn),該程序產(chǎn)品包括在網(wǎng)絡(luò) 互連環(huán)境中由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令,諸如程序代碼。通常, 程序模塊包括例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等,用于執(zhí)行具體 任務(wù)或者實(shí)現(xiàn)特定的抽象數(shù)據(jù)類型。計(jì)算機(jī)可執(zhí)行指令、相關(guān)數(shù)據(jù)結(jié)
示例。這種可執(zhí)行指令或者相關(guān)數(shù)據(jù)結(jié)構(gòu)的特定序列代表了用于實(shí)現(xiàn) 在這種步驟中描述的功能的對(duì)應(yīng)動(dòng)作的示例。
本發(fā)明的軟件和web實(shí)現(xiàn)能夠利用標(biāo)準(zhǔn)編程技術(shù)來(lái)完成,利用基 于規(guī)則的邏輯以及其他邏輯來(lái)實(shí)現(xiàn)各種數(shù)據(jù)庫(kù)搜索步驟、相關(guān)步驟、 比較步驟和決策步驟。還應(yīng)當(dāng)注意的是,此處以及權(quán)利要求書中使用 的詞語(yǔ)"組件"和"模塊"意在包括使用 一行或者更多行軟件代碼的實(shí)現(xiàn) 和/或硬件實(shí)現(xiàn)和/或用于接收手動(dòng)輸入的設(shè)備。
出于示例和描述的目的,已經(jīng)給出了本發(fā)明實(shí)施方式的前述說(shuō) 明。前述說(shuō)明并非是窮舉性的也并非要將本發(fā)明限制到所公開的確切 形式,根據(jù)上述教導(dǎo)還可能存在各種變形和修改,或者是可能從本發(fā) 明的實(shí)踐中得到各種變形和修改。選擇和描述這些實(shí)施方式是為了說(shuō) 明本發(fā)明的原理及其實(shí)際應(yīng)用,以使得本領(lǐng)域的技術(shù)人員能夠以適合 于構(gòu)思的特定用途來(lái)以各種實(shí)施方式和各種修改而利用本發(fā)明。
權(quán)利要求
1.一種通過(guò)應(yīng)用編程接口來(lái)訪問(wèn)設(shè)備的上下文并對(duì)用于所述設(shè)備的內(nèi)容進(jìn)行自適應(yīng)調(diào)整的方法,所述方法包括生成所述設(shè)備的動(dòng)態(tài)設(shè)備簡(jiǎn)檔的串行化;將所述設(shè)備的動(dòng)態(tài)設(shè)備簡(jiǎn)檔的串行化發(fā)送給自適應(yīng)服務(wù)器;從所述自適應(yīng)服務(wù)器接收響應(yīng),所述響應(yīng)反應(yīng)了由所述自適應(yīng)服務(wù)器執(zhí)行的特定于上下文的內(nèi)容自適應(yīng)調(diào)整,以及在從所述自適應(yīng)服務(wù)器接收到響應(yīng)之后,使用來(lái)自所述響應(yīng)的信息,按照適于所述設(shè)備的上下文的方式來(lái)呈現(xiàn)所述內(nèi)容。
2. 根據(jù)權(quán)利要求1所述的方法,其中,使用用于對(duì)事件進(jìn)行廣播 的文檔對(duì)象模型事件來(lái)實(shí)時(shí)更新所述設(shè)備的動(dòng)態(tài)設(shè)備簡(jiǎn)檔,以指明所 述設(shè)備的動(dòng)態(tài)設(shè)備簡(jiǎn)檔的實(shí)時(shí)改變。
3. 根據(jù)權(quán)利要求1所述的方法,其中,所述動(dòng)態(tài)設(shè)備簡(jiǎn)檔的串行 化的生成是由瀏覽器應(yīng)用執(zhí)行的。
4. 根據(jù)權(quán)利要求3所述的方法,其中,所述動(dòng)態(tài)設(shè)備簡(jiǎn)檔的串行 化是可擴(kuò)展標(biāo)記語(yǔ)言串行化。
5. 根據(jù)權(quán)利要求3所述的方法,其中,所述動(dòng)態(tài)設(shè)備簡(jiǎn)檔的串行 化是資源描述框架串行化。
6. 根據(jù)權(quán)利要求3所述的方法,還包括將遞送上下文接口樹與 駐留在所述瀏覽器應(yīng)用內(nèi)的設(shè)備簡(jiǎn)檔生成器組件相關(guān)聯(lián),所述動(dòng)態(tài)設(shè) 備簡(jiǎn)檔反應(yīng)由遞送上下文接口組件表示的所述設(shè)備的上下文。
7. 根據(jù)權(quán)利要求1所述的方法,還包括將遞送上下文接口樹與遞 送上下文接口組件相關(guān)聯(lián),所述動(dòng)態(tài)設(shè)備簡(jiǎn)檔反應(yīng)由所述遞送上下文 4妻口組件表示的所述上下文。
8. 根據(jù)權(quán)利要求7所述的方法,還包括通過(guò)會(huì)話管理器來(lái)提供至 少 一個(gè)上下文提供者與所述遞送上下文接口組件之間的通信。
9. 根據(jù)權(quán)利要求8所述的方法,其中,訪問(wèn)控制模塊控制對(duì)所述 遞送上下文4妾口組件的訪問(wèn),以由所述i殳備的用戶以及所述至少 一個(gè)上下文提供者修改所述遞送上下文接口樹。
10. 根據(jù)權(quán)利要求8所述的方法,其中,所述會(huì)話管理器使用獨(dú)立于平臺(tái)的訪問(wèn)機(jī)制在所述至少一個(gè)上下文提供者與所述遞送上下 文4妄口之間進(jìn)4亍通信。
11. 根據(jù)權(quán)利要求8所述的方法,其中,所述會(huì)話管理器使用協(xié) 議棧在所述至少 一個(gè)上下文提供者與所述遞送上下文接口之間進(jìn)行通信。
12. 根據(jù)權(quán)利要求8所述的方法,其中,所述會(huì)話管理器使用客 戶端服務(wù)器訪問(wèn)機(jī)制在所述至少一個(gè)上下文提供者與所述遞送上下 文接口之間進(jìn)行通信。
13. —種包含在計(jì)算機(jī)可讀介質(zhì)中的應(yīng)用編程接口 ,用于使用應(yīng) 用在會(huì)話期間訪問(wèn)設(shè)備的設(shè)備上下文以及對(duì)用于所述設(shè)備的內(nèi)容進(jìn) 行自適應(yīng)調(diào)整,所述應(yīng)用編程接口包括多個(gè)接口 ,用于對(duì)所述設(shè)備的動(dòng)態(tài)設(shè)備簡(jiǎn)檔進(jìn)行串行化;可用串行器的列表;激活命令,用于在所述會(huì)話期間從可用串行器的所述列表中激活 所述可用串行器之一;多個(gè)命令,被配置用于設(shè)置應(yīng)用定義的串行器,返回串行器對(duì)象,從可用串行器的所述列表中移除串行器,附加應(yīng)用定義的篩選器,創(chuàng) 建空的串行器列表,通過(guò)調(diào)用當(dāng)前活躍串行器來(lái)對(duì)空串行化列表進(jìn)行 串行化,以及提交所述動(dòng)態(tài)設(shè)備簡(jiǎn)檔;響應(yīng)處理才幾;以及至少 一個(gè)動(dòng)態(tài)設(shè)備簡(jiǎn)檔異常。
14. 根據(jù)權(quán)利要求13所述的應(yīng)用編程接口 ,其中所述多個(gè)接口包括串行化列表接口 ,用于將至少一個(gè)特性節(jié)點(diǎn)添加至串行化列表以 及將至少一個(gè)特性節(jié)點(diǎn)從串行化列表移除,其中所述至少一個(gè)特性節(jié) 點(diǎn)表示設(shè)備上下文接口樹中的所述設(shè)備的特性;串行化接口 ,用于對(duì)由所述串行化列表中的至少一個(gè)特性節(jié)點(diǎn)表示的所述設(shè)備的特性進(jìn)行串行化,并返回經(jīng)過(guò)串行化的簡(jiǎn)檔,其中,選擇活躍串行器來(lái)執(zhí)行所述串行化;篩選器接口,用于在所述設(shè)備上下文接口樹中進(jìn)行迭代,已確定將要串行化哪些特性節(jié)點(diǎn);以及動(dòng)態(tài)設(shè)備簡(jiǎn)檔接口 ,用于允許對(duì)所述設(shè)備的動(dòng)態(tài)設(shè)備簡(jiǎn)檔的訪問(wèn)。
15. 根據(jù)權(quán)利要求13所述的應(yīng)用編程接口 ,其中,所述激活命令 獲得所述活躍串行器,并且返回所述活躍串行器的標(biāo)識(shí)符。
16. 根據(jù)權(quán)利要求15所述的應(yīng)用編程接口,其中,用于設(shè)置應(yīng)用 定義的串行器的多個(gè)命令之一在所述活躍串行器的標(biāo)識(shí)符被返回之 后設(shè)置所述應(yīng)用定義的串行器。
17. 根據(jù)權(quán)利要求15所述的應(yīng)用編程接口 ,其中,用于返回串行 器對(duì)象的多個(gè)命令之一在傳遞所述活躍串行器的標(biāo)識(shí)符時(shí)返回所述 串行器對(duì)象,所述標(biāo)識(shí)符由標(biāo)識(shí)符字符串表示。
18. 根據(jù)權(quán)利要求13所述的應(yīng)用編程接口 ,其中,用于從可用串 行器的所述列表中移除串行器的多個(gè)命令之 一 在所述應(yīng)用無(wú)權(quán)移除 至少一個(gè)所述可用串行器的情況下拋出異常。
19. 根據(jù)權(quán)利要求13所述的應(yīng)用編程接口,其中,用于提交所述 動(dòng)態(tài)設(shè)備簡(jiǎn)檔的多個(gè)命令之一將所述動(dòng)態(tài)設(shè)備簡(jiǎn)檔提交給由統(tǒng)一 資 源標(biāo)識(shí)符標(biāo)識(shí)的自適應(yīng)服務(wù)器,所述自適應(yīng)服務(wù)器執(zhí)行特定于上下文 的內(nèi)容自適應(yīng)調(diào)整,并且其中,方法參數(shù)確定用于提交的協(xié)議類型。
20. 根據(jù)權(quán)利要求19所述的應(yīng)用編程接口 ,其中,所述響應(yīng)處理 機(jī)由所述自適應(yīng)服務(wù)器在所述動(dòng)態(tài)設(shè)備協(xié)議的提交后向所述應(yīng)用發(fā) 送響應(yīng)時(shí)將要調(diào)用的應(yīng)用來(lái)設(shè)置,所述響應(yīng)處理機(jī)根據(jù)對(duì)所述應(yīng)用的 響應(yīng)來(lái)確定要采取的動(dòng)作。
21. —種包含在計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品,用于通過(guò) 應(yīng)用編程接口來(lái)訪問(wèn)設(shè)備的設(shè)備上下文以及對(duì)用于所述設(shè)備的內(nèi)容 進(jìn)行自適應(yīng)調(diào)整,所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)代碼,用于生成所述設(shè)備的動(dòng)態(tài)設(shè)備簡(jiǎn)檔的串行化;適應(yīng)服務(wù)器;其中,所述自適應(yīng)服務(wù)器執(zhí)行特定于上下文的內(nèi)容自適 應(yīng)調(diào)整;以及計(jì)算機(jī)代碼,用于在從所述自適應(yīng)服務(wù)器接收到響應(yīng)之后,按照
22. 根據(jù)權(quán)利要求21所述的計(jì)算機(jī)程序產(chǎn)品,其中,使用用于對(duì) 事件進(jìn)行廣播的文檔對(duì)象模型事件來(lái)實(shí)時(shí)更新所述設(shè)備的動(dòng)態(tài)設(shè)備 簡(jiǎn)檔,以指明所述設(shè)備的動(dòng)態(tài)設(shè)備簡(jiǎn)檔的實(shí)時(shí)改變。
23. 根據(jù)權(quán)利要求21所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述動(dòng)態(tài)設(shè) 備簡(jiǎn)檔的串行化的生成是由瀏覽器應(yīng)用執(zhí)行的。
24. 根據(jù)權(quán)利要求23所述的計(jì)算機(jī)程序產(chǎn)品,還包括計(jì)算機(jī)代 碼,用于將遞送上下文接口樹與駐留在所述瀏覽器應(yīng)用內(nèi)的設(shè)備簡(jiǎn)檔 生成器組件相關(guān)聯(lián),所述動(dòng)態(tài)設(shè)備簡(jiǎn)檔反應(yīng)由遞送上下文接口組件表 示的所述設(shè)備的上下文。
25. 根據(jù)權(quán)利要求21所述的計(jì)算機(jī)程序產(chǎn)品,還包括計(jì)算機(jī)代 碼,用于將遞送上下文接口樹與遞送上下文接口組件相關(guān)聯(lián),所述動(dòng) 態(tài)設(shè)備簡(jiǎn)檔反應(yīng)由所述遞送上下文接口組件表示的所述上下文。
26. 根據(jù)權(quán)利要求25所述的計(jì)算機(jī)程序產(chǎn)品,還包括計(jì)算機(jī)代 碼,用于通過(guò)會(huì)話管理器來(lái)提供至少一個(gè)上下文提供者與所述遞送上 下文4妄口組件之間的通信。
27. 根據(jù)權(quán)利要求26所述的計(jì)算機(jī)程序產(chǎn)品,其中,訪問(wèn)控制模 塊控制對(duì)所述遞送上下文接口組件的訪問(wèn),以由所述設(shè)備的用戶以及 所述至少 一 個(gè)上下文提供者修改所述遞送上下文接口樹。
28. —種電子設(shè)備,包括 處理器;以及存儲(chǔ)器單元,其可操作地與所述處理器連接,并且包括 計(jì)算機(jī)代碼,用于生成所述設(shè)備的動(dòng)態(tài)設(shè)備簡(jiǎn)檔的串行化; 計(jì)算機(jī)代碼,用于將所述設(shè)備的動(dòng)態(tài)設(shè)備簡(jiǎn)檔的串行化發(fā)送到自應(yīng)調(diào)整;以及計(jì)算機(jī)代碼,用于在從所述自適應(yīng)服務(wù)器接收到響應(yīng)之后,按照 適于所述設(shè)備的上下文的方式來(lái)呈現(xiàn)所述內(nèi)容。
29. —種架構(gòu),允許通過(guò)應(yīng)用編程接口來(lái)訪問(wèn)設(shè)備的設(shè)備上下文 以及對(duì)用于所述設(shè)備的內(nèi)容進(jìn)行自適應(yīng)調(diào)整,所述架構(gòu)包括 瀏覽器應(yīng)用,其被配置用于生成所述設(shè)備的動(dòng)態(tài)設(shè)備簡(jiǎn)檔的串行化,其中所述設(shè)備的動(dòng) 態(tài)設(shè)備簡(jiǎn)檔可以通過(guò)動(dòng)態(tài)設(shè)備簡(jiǎn)檔組件來(lái)訪問(wèn);將所述設(shè)備的動(dòng)態(tài)設(shè)備簡(jiǎn)檔的串行化發(fā)送到自適應(yīng)服務(wù)器; 從所述自適應(yīng)服務(wù)器接收響應(yīng),所述響應(yīng)反應(yīng)了由所述自適 應(yīng)服務(wù)器執(zhí)行的特定于設(shè)備的內(nèi)容自適應(yīng)調(diào)整;以及使用來(lái)自所述響應(yīng)的信息,按照適于所述設(shè)備的上下文的方 式來(lái)呈現(xiàn)所述內(nèi)容;與遞送上下文接口一對(duì)相關(guān)聯(lián)的遞送上下文4妾口組件,其中,所述 動(dòng)態(tài)設(shè)備簡(jiǎn)檔反應(yīng)由所述遞送上下文接口組件表示的所述設(shè)備的上 下文;會(huì)話管理器,其被配置用于通過(guò)協(xié)議棧、獨(dú)立于平臺(tái)的訪問(wèn)機(jī)制 和客戶端服務(wù)器訪問(wèn)機(jī)制中的至少 一 個(gè)來(lái)提供至少 一 個(gè)上下文提供 者與所述遞送上下文接口組件之間的通信;以及訪問(wèn)控制模塊,其被配置用于控制對(duì)所述遞送上下文接口組件的 訪問(wèn),以由所述i殳備的用戶4吏用所述遞送上下文4妄口組件以及由所述 至少一個(gè)上下文提供者使用提供者遞送上下文接口來(lái)修改所述遞送 上下文接口樹。
全文摘要
一種用于上下文提供的架構(gòu),特別適合于使用由W3C發(fā)布的遞送上下文接口(DCI)規(guī)范的web應(yīng)用??蛻舳藗?cè)應(yīng)用編程接口(API)使用DCI樹來(lái)生成動(dòng)態(tài)設(shè)備簡(jiǎn)檔,該動(dòng)態(tài)設(shè)備簡(jiǎn)檔在瀏覽器應(yīng)用會(huì)話期間動(dòng)態(tài)地提供遞送上下文信息(DCI)的快照??蛻舳藗?cè)API提供支持應(yīng)用作者定于DCI樹中表示的各種設(shè)備特性,以及根據(jù)特性變化來(lái)生成動(dòng)態(tài)設(shè)備簡(jiǎn)檔。
文檔編號(hào)G06F17/30GK101553812SQ200780026382
公開日2009年10月7日 申請(qǐng)日期2007年7月10日 優(yōu)先權(quán)日2006年7月11日
發(fā)明者O·珀塔伊, S·薩特希施 申請(qǐng)人:諾基亞公司