專利名稱:用于提供上下文模型的事件方案的方法、裝置和計算機程序產(chǎn)品的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的實施例一般性地涉及通信接口技術(shù),并且更具體地涉及用于諸如遞送上下文客戶端接口(DCCI :Delivery Context Client Interface)模型之類的上下文模型的事件方案的方法、裝置和計算機程序產(chǎn)品。
背景技術(shù):
作為萬維網(wǎng)聯(lián)盟(W3C)規(guī)范的遞送上下文客戶端接口(DCCI)是一種應(yīng)用可以通過其使用例如類似文檔對象模型(DOM)的接口訪問諸如遞送上下文信息之類的設(shè)備數(shù)據(jù)的機制。這樣,DCCI可以充當(dāng)web應(yīng)用(消費者)的消費者接口和向樹狀接口提供數(shù)據(jù)的提供者。由于上下文數(shù)據(jù)所呈現(xiàn)的固有關(guān)系,所以可以以樹結(jié)構(gòu)來表示上下文數(shù)據(jù)。樹結(jié)構(gòu)呈現(xiàn)不同的上下文屬性之間的層級關(guān)系,其中每個屬性可以形成樹中的節(jié)點,并且DCCI 是這樣的結(jié)構(gòu)的例子。然而,也可以對于消費者接口采用除了樹狀結(jié)構(gòu)之外的其他拓撲結(jié)構(gòu)。雖然DCCI可能在向應(yīng)用提供關(guān)于設(shè)備狀態(tài)的信息方面是有用的,但DCCI當(dāng)前可能被一些人視作有局限,這是由于其對DOM的依賴。對此,由W3C特別地對于上下文模型所采用的當(dāng)前事件模型(例如DCCI)傾向于在處理(諸如支持用于同一目的的全部事件階段)方面較繁重并且依賴于一些不需要的DOM特征(諸如冗余事件階段、對文檔事件的支持、用戶接口(UI)事件、突發(fā)(mutation)以及不適合于上下文模型的其他特征)。進一步地,DOM事件可能對在一些情況下的使用來說太復(fù)雜并且可能缺少期望的功能,諸如對數(shù)據(jù)提供者和數(shù)據(jù)消費者之間的雙向通信的支持以及不依賴于拓撲的事件傳播。據(jù)此,可能期望提供用于解決上面所討論的問題中的至少一些問題的框架。
發(fā)明內(nèi)容
因此,對于上下文模型的事件方案提供了方法、裝置和計算機程序產(chǎn)品。此外,本發(fā)明的一些實施例可以包括向事件階段提供新的語義和額外功能的模型。據(jù)此,例如,可以避免冗余的處理同時提供高效且影響小的解決方案來支持多個拓撲(例如不僅是樹結(jié)構(gòu)) 以及提供直觀且高效的事件處理。在一個示例實施例中,提供了提供上下文模型的事件方案的方法。該方法可以包括定義包括至少兩個階段的事件方案以及提供所述事件方案以用于不依賴于拓撲的上下文模型。所定義的至少兩個階段中的一個可以使得能夠提供從消費者應(yīng)用到數(shù)據(jù)提供者的通知,而所述至少兩個階段中的另一個可以使得能夠提供從所述數(shù)據(jù)提供者到所述消費者應(yīng)用的通知。所述上下文模型可以被配置為提供由消費者應(yīng)用經(jīng)由所述上下文模型對數(shù)據(jù)提供者的屬性信息的訪問。在另一示例實施例中,提供了用于提供上下文模型的事件方案的計算機程序產(chǎn)品。該計算機程序產(chǎn)品包括其中存儲有計算機可執(zhí)行程序代碼指令的至少一個計算機可讀存儲介質(zhì)。所述計算機可執(zhí)行程序代碼指令可以包括用于以下操作的程序代碼指令定義包括至少兩個階段的事件方案以及提供所述事件方案以用于不依賴于拓撲的上下文模型。 所定義的至少兩個階段中的一個可以使得能夠提供從消費者應(yīng)用到數(shù)據(jù)提供者的通知,而所述至少兩個階段中的另一個可以使得能夠提供從所述數(shù)據(jù)提供者到所述消費者應(yīng)用的通知。所述上下文模型可以被配置為提供由消費者應(yīng)用經(jīng)由所述上下文模型對數(shù)據(jù)提供者的屬性信息的訪問。在另一示例實施例中,提供了用于提供上下文模型的事件方案的裝置。該裝置可以包括處理器和存儲可執(zhí)行指令的存儲器,所述指令響應(yīng)于由所述處理器的執(zhí)行而使得所述裝置至少執(zhí)行包括以下的操作定義包括至少兩個階段的事件方案以及提供所述事件方案以用于不依賴于拓撲的上下文模型。所定義的至少兩個階段中的一個可以使得能夠提供從消費者應(yīng)用到數(shù)據(jù)提供者的通知,而所述至少兩個階段中的另一個可以使得能夠提供從所述數(shù)據(jù)提供者到所述消費者應(yīng)用的通知。所述上下文模型可以被配置為提供由消費者應(yīng)用經(jīng)由所述上下文模型對數(shù)據(jù)提供者的屬性信息的訪問。本發(fā)明的實施例可以提供用于在基于web的操作環(huán)境或基于其他網(wǎng)絡(luò)的操作環(huán)境中采用的方法、裝置和計算機程序產(chǎn)品。作為結(jié)果,例如,設(shè)備用戶可以享受關(guān)于經(jīng)由設(shè)備可訪問的應(yīng)用和服務(wù)的改進的能力。
已經(jīng)這樣以一般性的術(shù)語描述了本發(fā)明的實施例,現(xiàn)在將參考附圖,所述附圖不一定按比例繪制,其中圖1為根據(jù)本發(fā)明的示例實施例的通信系統(tǒng)的示意性框圖;圖2為根據(jù)本發(fā)明的示例實施例的用于提供上下文模型的事件方案的裝置的示意性框圖;以及圖3為與根據(jù)本發(fā)明的示例實施例的用于提供上下文模型的事件方案的示例方法相應(yīng)的框圖。
具體實施例方式現(xiàn)在將參照附圖在下文中更完整地描述本發(fā)明的實施例,在所述附圖中示出本發(fā)明的一些但不是全部實施例。實際上,可以以許多不同的形式實施本發(fā)明的實施例,并且本發(fā)明不應(yīng)被理解為限于這里所陳述的實施例,而是提供這些實施例以使得本公開滿足適用的法律要求。貫穿全文,相似的參考標(biāo)號指代相似的元件。如這里所使用的術(shù)語“數(shù)據(jù)”、“內(nèi)容”、“信息”和類似的術(shù)語可以可交換地使用以指代根據(jù)本發(fā)明的實施例的能夠被發(fā)送、接收和/或存儲的數(shù)據(jù)。此外,如這里所使用的術(shù)語“示例”不被提供為傳達任何定性評估, 而是僅傳達對例子的例示。從而,對任何這樣的術(shù)語的使用不應(yīng)被理解為限制本發(fā)明的實施例的精神和范圍。電子設(shè)備在它們的通信能力方面正快速地發(fā)展。隨著這樣的設(shè)備的能力增加,對設(shè)備的所述能力敏感的應(yīng)用也得到發(fā)展。從而,例如,對設(shè)備的當(dāng)前操作狀態(tài)或上下文敏感的應(yīng)用得到發(fā)展。設(shè)備經(jīng)常能夠確定、保持和傳送關(guān)于它們自身的當(dāng)前操作狀態(tài)的信息。 例如,電量等級、可用帶寬,特定設(shè)備設(shè)置、硬件和軟件能力、局部環(huán)境光等級和許多其他與狀態(tài)相關(guān)的信息片段可以被確定和/或被傳送至其他設(shè)備。為了向各種應(yīng)用(諸如與訪問 web相關(guān)聯(lián)的應(yīng)用)傳送關(guān)于設(shè)備操作狀態(tài)的信息,可以提供接口。這樣的接口的例子是作為萬維網(wǎng)聯(lián)盟(W3C)規(guī)范的遞送上下文客戶端接口(DCCI)。DCCI可以使得被稱作上下文信息的上下文信息能夠?qū)υO(shè)備上的瀏覽器內(nèi)的web頁面中所運行的腳本可用。上下文一般地被定義為可以用于表征實體的狀況的任何信息。上下文參數(shù)可以包括與例如環(huán)境上下文、社會上下文、時空上下文、任務(wù)上下文、個人上下文、終端上下文、服務(wù)上下文、訪問上下文和/或類似上下文相關(guān)的參數(shù)。上下文可以用于描述設(shè)備、網(wǎng)絡(luò)、用戶偏好和可以應(yīng)用于設(shè)備和應(yīng)用(例如web應(yīng)用)之間的交互的其他方面的特性的集合。 上下文的各方面可以是靜態(tài)的或動態(tài)的。靜態(tài)方面可以包括顏色分辨率、顯示尺寸、鍵盤布局或設(shè)備的其他固定屬性。動態(tài)方面可以包括可以隨時間改變的設(shè)備的屬性,諸如當(dāng)前電量等級、設(shè)備方向、設(shè)備位置、正在運行的其他應(yīng)用以及許多其他相似的特性。如上面所指示的那樣,DCCI可以是一種應(yīng)用可以通過其使用例如類似DOM的接口訪問上下文信息的機制。據(jù)此,應(yīng)用可以在屬性節(jié)點上注冊事件監(jiān)聽者,所述事件監(jiān)聽者基于屬性或其他改變而啟動事件。對此,DCCI提供對利用上下文信息的應(yīng)用的接口。DCCI提供可以以符合一些標(biāo)準(zhǔn)本體論(例如遞送上下文本體論(DCO))的層級方式表示的設(shè)備上的上下文數(shù)據(jù)的樹狀表示。由于上下文信息可能呈現(xiàn)的固有關(guān)系,上下文信息可以被表示為樹結(jié)構(gòu)。樹結(jié)構(gòu)可以呈現(xiàn)不同上下文屬性之間的層級關(guān)系,其中每個屬性可以形成樹結(jié)構(gòu)中的節(jié)點。DCCI 是這樣的樹結(jié)構(gòu)的一個例子,但應(yīng)當(dāng)理解本發(fā)明的實施例延伸超越這一個例子,并且可以延伸至規(guī)定數(shù)據(jù)對象之間的關(guān)系和/或它們怎樣可以被高效地分布和共享的許多其他數(shù)據(jù)結(jié)構(gòu),諸如單骨干結(jié)構(gòu)和混合骨干-樹結(jié)構(gòu)。單骨干結(jié)構(gòu)可以是其中存在單個消息總線并且上下文節(jié)點(例如提供者)直接與消息總線連接的結(jié)構(gòu)的例子。在這樣的結(jié)構(gòu)中,業(yè)務(wù)流過消息總線和對總線進行監(jiān)聽的節(jié)點。在混合骨干-樹結(jié)構(gòu)中,例如可以存在遠離中央總線定向的消息總線的分支。在可能存在對特定的屬性集合的一些層級指示的情況下, 可以采用混合骨干-樹結(jié)構(gòu)。利用骨干層級,可以在元數(shù)據(jù)內(nèi)而不是通過它們的連接來包含屬性之間的關(guān)系。同時,利用混合骨干-樹結(jié)構(gòu),可以大部分地通過元數(shù)據(jù)來表達關(guān)系, 但也可以存在特定類型的屬性之間的連接。例如可以基于對各種上下文參數(shù)的確定來確定上下文。DCCI使用上下文信息來使得能夠具有允許與各種應(yīng)用交互同時考慮設(shè)備上下文的適應(yīng)性。在一些情況下,當(dāng)使設(shè)備在特定網(wǎng)絡(luò)(諸如智能空間)中彼此鄰近時,可以期望地在這樣的設(shè)備之間共享上下文信息(例如關(guān)于設(shè)備能力的信息)以使得每個設(shè)備可以接收關(guān)于另一設(shè)備的能力的一些信息。本發(fā)明的一些實施例提供一種機制,通過其可以對所表示的每個對象提供多維數(shù)據(jù)空間。另外,一些實施例提供對應(yīng)于所提供的多維空間的操縱功能。雖然以下將在與DCCI相關(guān)的環(huán)境的上下文中描述實施例,但應(yīng)當(dāng)理解,實施例也可以與其他基于對象的模型環(huán)境相關(guān)。DOM事件意圖與文檔操縱相聯(lián)系使用并且因此不是特別適合于與上下文模型相聯(lián)系使用。據(jù)此,當(dāng)當(dāng)前DCCI采用DOM事件時,可能存在將期望減輕或消除的、對功能的不希望的限制和所引入的低效率。據(jù)此,本發(fā)明的實施例可以提供與和上下文模型一同采用的事件方案相關(guān)聯(lián)的事件模型。本發(fā)明的示例實施例的事件模型可以提供更高效和動態(tài)的上下文模型。
圖1圖示了通用系統(tǒng)圖,其中在示例通信環(huán)境中示出了諸如移動終端10之類的設(shè)備。如圖1中所示,根據(jù)本發(fā)明的示例實施例的系統(tǒng)的實施例可以包括能夠經(jīng)由網(wǎng)絡(luò)30彼此通信的第一通信設(shè)備(例如移動終端10)和第二通信設(shè)備20。在一些情況下,本發(fā)明的實施例可以進一步包括一個或多個額外的通信設(shè)備,其中一個在圖1中作為第三通信設(shè)備 25而描繪。在一些實施例中,不是采用本發(fā)明的實施例的全部系統(tǒng)都可能包括這里所圖示和/或所描述的全部設(shè)備。雖然可以出于示例的目的圖示并且在下文中描述移動終端10 和/或第二通信設(shè)備20和第三通信設(shè)備25的若干實施例,但諸如便攜數(shù)字助理(PDA)、傳呼機、移動電視、移動電話、游戲設(shè)備、膝上型計算機、照相機、視頻錄像機、音頻/視頻播放器、收音機、全球定位系統(tǒng)(GPQ設(shè)備或前述的任何組合之類的其他類型的終端,以及其他類型的語音和文本通信系統(tǒng)可以容易地采用本發(fā)明的實施例。進一步地,諸如服務(wù)器或個人計算機之類的不是移動的設(shè)備也可以容易地采用本發(fā)明的實施例。網(wǎng)絡(luò)30可以包括可以經(jīng)由對應(yīng)的有線和/或無線接口彼此通信的各種不同節(jié)點 (第二通信設(shè)備20和第三通信設(shè)備25可以是其例子)、設(shè)備或功能的總集。這樣,圖1的圖示應(yīng)當(dāng)被理解為系統(tǒng)的特定元件的廣義的視圖的例子,而不是系統(tǒng)或網(wǎng)絡(luò)30的所有包含性的或詳細的視圖。雖然不是必要的,但在一些實施例中,網(wǎng)絡(luò)30可能能夠支持根據(jù)大量的第一代(IG)、第二代(2G)、2. 5G、第三代(3G)、3. 5G、3.9G、第四代(4G)移動通信協(xié)議、 長期演進(LTE)等中的一種或多種的通信。在一些實施例中,網(wǎng)絡(luò)30可以是P2P網(wǎng)絡(luò)。諸如移動終端10以及第二通信設(shè)備20和第三通信設(shè)備25之類的一個或多個通信終端可以經(jīng)由網(wǎng)絡(luò)30彼此通信,并且其中每個可以包括用于向基站點發(fā)送信號和從基站點接收信號的一個或多個天線,所述基站點例如可以是作為一個或多個蜂窩或移動網(wǎng)絡(luò)的一部分的基站或可以與數(shù)據(jù)網(wǎng)絡(luò)(諸如局域網(wǎng)(LAN)、城域網(wǎng)(MAN)和/或諸如因特網(wǎng)之類的廣域網(wǎng)(WAN))耦合的接入點。反過來,諸如處理元件之類的其他設(shè)備(例如個人計算機、服務(wù)器計算機等)可以經(jīng)由網(wǎng)絡(luò)30與移動終端10以及第二通信設(shè)備20和第三通信設(shè)備25耦合。通過將移動終端10以及第二通信設(shè)備20和第三通信設(shè)備25 (和/或其他設(shè)備)直接或間接地與網(wǎng)絡(luò)30連接,可以使得移動終端10以及第二通信設(shè)備20和第三通信設(shè)備25能夠根據(jù)許多通信協(xié)議(包括超文本傳輸協(xié)議(HTTP)和/或類似的通信協(xié)議)而與其他設(shè)備通信或彼此通信,從而分別執(zhí)行移動終端10以及第二通信設(shè)備20和第三通信設(shè)備25的各種通信或其他功能。進一步地,雖然未在圖1中示出,但移動終端10以及第二通信設(shè)備20和第三通信設(shè)備25可以根據(jù)例如射頻(RF)、藍牙(BT)、紅外(IR)或大量不同的有線或無線通信技術(shù) (包括LAN、無線LAN(WLAN)、微波存取全球互通(WiMAX)、WiFi、超寬帶(UWB)、Wibree技術(shù)和/或類似技術(shù))中的任意一種或多種來通信。這樣,可以使得移動終端10以及第二通信設(shè)備20和第三通信設(shè)備25能夠通過許多不同的訪問機制中的任意一種來與網(wǎng)絡(luò)30通信以及彼此通信。例如,可以支持諸如寬帶碼分多址(W-CDMA)、CDMA2000、全球移動通信系統(tǒng)(GSM)、通用分組無線服務(wù)(GPRQ和/或類似機制之類的移動接入機制,以及諸如WLAN、 WiMAX和/或類似機制之類的無線接入機制和諸如數(shù)字用戶線(DSL)、線纜調(diào)制解調(diào)器、以太網(wǎng)和/或類似機制之類的固定接入機制。在示例實施例中,網(wǎng)絡(luò)30可以是被布置為智能空間的自組織(ad hoc)網(wǎng)絡(luò)或分布式網(wǎng)絡(luò)。從而,設(shè)備可以進入和/或離開網(wǎng)絡(luò)30并且網(wǎng)絡(luò)30的設(shè)備能夠基于其他設(shè)備的進入和/或退出來調(diào)節(jié)操作以考慮相應(yīng)設(shè)備或節(jié)點及其對應(yīng)的能力的添加或減去。在示例實施例中,與網(wǎng)絡(luò)30通信的設(shè)備中的一個或多個可以采用上下文模型來輔助提供應(yīng)用 (例如運行在移動終端10上并且充當(dāng)消費者的web應(yīng)用)和提供者(例如以網(wǎng)絡(luò)節(jié)點的形式的數(shù)據(jù)提供者,諸如第二通信設(shè)備20和/或第三通信設(shè)備2 之間的接口。這樣,例如, 消費者應(yīng)用可以從網(wǎng)絡(luò)30內(nèi)的提供者請求信息,并且移動終端10或第二通信設(shè)備20和第三通信設(shè)備25中的任意一個可以存放(host)消費者應(yīng)用,而移動終端10或第二通信設(shè)備 20和第三通信設(shè)備25中的任意其他的一個充當(dāng)對于消費者應(yīng)用的提供者,并且向相應(yīng)的消費者應(yīng)用提供諸如上下文信息之類的信息。上下文模型可以是基于對象的模型,其中每個提供者具有模型中的對象表示。從而,上下文模型可以向消費者應(yīng)用提供對諸如動態(tài)數(shù)據(jù)之類的上下文數(shù)據(jù)的訪問。圖2圖示了根據(jù)本發(fā)明的示例實施例的用于使得能夠提供上下文模型的事件方案的裝置的示意框圖。現(xiàn)在將參照圖2描述本發(fā)明的示例實施例,在圖2中顯示了用于提供上下文模型的事件方案的裝置50的特定元件。例如可以在移動終端10(和/或第二通信設(shè)備20或第三通信設(shè)備2 上采用圖2的裝置50。可替代地,可以在網(wǎng)絡(luò)30的網(wǎng)絡(luò)設(shè)備上實現(xiàn)裝置50。然而,可以可替代地在移動和固定兩者的多種其他設(shè)備(諸如上面所列出的設(shè)備中的任意一個)處實現(xiàn)裝置50。在一些情況下,可以在設(shè)備的組合上采用實施例。 據(jù)此,本發(fā)明的一些實施例可以完全在單個設(shè)備(例如移動終端10)處實施、由多個設(shè)備以分布式的方式(例如在P2P網(wǎng)絡(luò)中的一個或多個設(shè)備上)實施、或由在處于客戶端/服務(wù)器關(guān)系中的多個設(shè)備實施。進一步地,應(yīng)當(dāng)注意,下面所描述的設(shè)備或元件可能不是必不可少的,并且從而在特定實施例中可以省略其中一些?,F(xiàn)在參考圖2,提供了用于提供上下文模型的事件方案的裝置50。裝置50可以包括處理器70、用戶接口 72、通信接口 74和存儲器設(shè)備76,或另外與處理器70、用戶接口 72、 通信接口 74和存儲器設(shè)備76通信。存儲器設(shè)備76例如可以包括易失性或非易失性存儲器。存儲器設(shè)備76可以被配置為存儲信息、數(shù)據(jù)、應(yīng)用、指令等以使得裝置能夠執(zhí)行根據(jù)本發(fā)明的示例實施例的各種功能。例如,存儲器設(shè)備76可以被配置為緩沖輸入數(shù)據(jù)以供處理器70處理。附加地或可替代地,存儲器設(shè)備76可以被配置為存儲指令以供處理器70執(zhí)行。 作為又一替代,存儲器設(shè)備76可以是存儲信息和/或媒體內(nèi)容的多個數(shù)據(jù)庫中的一個??梢砸詳?shù)種不同的方式實現(xiàn)處理器70。例如,可以作為諸如處理元件、協(xié)處理器、 控制器或各種其他處理設(shè)備(包括諸如ASIC (專用集成電路),FPGA (現(xiàn)場可編程門陣列)、 硬件加速器等的集成電路)之類的各種處理裝置來實現(xiàn)處理器70。在示例實施例中,處理器70可以被配置為執(zhí)行存儲在存儲器設(shè)備76中或以其他方式對處理器70可訪問的指令。 這樣,不管通過硬件或軟件方法或通過其組合來配置,處理器70都可以表示能夠執(zhí)行根據(jù)本發(fā)明的實施例的操作同時由此配置的實體(例如在電路中物理地實現(xiàn))。從而,例如,當(dāng)作為ASIC、FPGA等來實現(xiàn)處理器70時,處理器70可以是用于進行這里所描述的操作的具體配置的硬件??商娲?,作為另一例子,當(dāng)作為軟件指令的執(zhí)行者來實現(xiàn)處理器70時,指令可以具體地配置處理器70以執(zhí)行這里所描述的算法和操作,如果處理器70不是用于由指令所提供的具體配置,則處理器70還可以是通用處理元件或其他功能可配置的電路。然而,在一些情況下,通過由用于執(zhí)行這里所描述的算法和操作的指令進一步配置處理器70, 處理器70可以是適合于采用本發(fā)明的實施例的具體設(shè)備(例如移動終端)的處理器。
同時,通信接口 74可以是被配置為從網(wǎng)絡(luò)和/或與裝置50通信的任何其他設(shè)備或模塊接收數(shù)據(jù)以及/或者向網(wǎng)絡(luò)和/或與裝置50通信的任何其他設(shè)備或模塊發(fā)送數(shù)據(jù)的、諸如在硬件、軟件或硬件和軟件的組合中實現(xiàn)的設(shè)備或電路之類的任何裝置。對此,通信接口 74例如可以包括用于使得能夠與無線通信網(wǎng)絡(luò)(例如網(wǎng)絡(luò)30)進行通信的天線 (或多個天線)以及支持硬件和/或軟件。在固定環(huán)境中,通信接口 74可以可替代地支持有線通信或也支持有線通信。這樣,通信接口 74可以包括用于支持經(jīng)由線纜、數(shù)字用戶線 (DSL)、通用串行總線(USB)、以太網(wǎng)或其他機制的通信的通信調(diào)制解調(diào)器和/或其他硬件/ 軟件。用戶接口 72可以與處理器70通信以接收用戶接口 72處的用戶輸入的指示和/ 或向用戶提供聽覺、視覺、機械或其他輸出。這樣,用戶接口 72例如可以包括鍵盤、鼠標(biāo)、操縱桿、顯示器、觸摸屏、麥克風(fēng)、揚聲器或其他輸入/輸出機制。在作為服務(wù)器或一些其他網(wǎng)絡(luò)設(shè)備來實現(xiàn)裝置的示例實施例中,用戶接口 72可以是受限的、位于遠端、或被消除。在示例實施例中,處理器70可以被實現(xiàn)為包括或以其它方式控制上下文建模器 80。上下文建模器80可以是諸如根據(jù)軟件操作或以其它方式在硬件或硬件和軟件的組合中實現(xiàn)的設(shè)備或電路之類的任何裝置(例如在軟件控制下操作的處理器70、作為被具體配置以執(zhí)行這里所描述的操作的ASIC或FPGA來實現(xiàn)的處理器70、或其組合)從而配置設(shè)備或電路執(zhí)行如下面所描述的上下文建模器80的對應(yīng)功能。從而,在采用軟件的例子中,執(zhí)行軟件的設(shè)備或電路(例如一個例子中的處理器70)形成與這樣的裝置相關(guān)聯(lián)的結(jié)構(gòu)。對此,例如,上下文建模器80可以被配置為提供上下文模型的生成(包括提供上下文模型的事件方案)以及其他功能。這樣,上下文建模器80可以構(gòu)建上下文模型84,所述上下文模型84可以用于提供對象的模型表示以使得可以向正在調(diào)用的應(yīng)用提供關(guān)于各種對象的上下文的信息。此外,上下文建模器80可以定義由上下文模型84提供的事件方案的階段,以使得所述階段支持許多類型的拓撲,諸如基于樹的層級拓撲、基于單個骨干的拓撲和/或基于混合骨干-樹的拓撲。在一些實施例中,上下文建模器80可以與充當(dāng)消費者的一個或多個應(yīng)用(例如應(yīng)用8 關(guān)于所提供的設(shè)備上下文信息而進行通信。應(yīng)用82可以是web應(yīng)用或一些其他網(wǎng)絡(luò)應(yīng)用,對于該應(yīng)用來說關(guān)于與圖2的裝置50相關(guān)聯(lián)的屬性的信息可能是有用的。這樣, 在一些情況下,應(yīng)用82可以經(jīng)由通信接口 74(和/或經(jīng)由處理器70)與上下文建模器80 通信。在示例實施例中,上下文建模器84可以充當(dāng)數(shù)據(jù)提供者(例如數(shù)據(jù)提供者8 和應(yīng)用82之間的通信接口。數(shù)據(jù)提供者85可以是可以充當(dāng)數(shù)據(jù)源的本地提供者或遠程提供者 (例如第二通信設(shè)備20和第三通信設(shè)備25中的一個)。像應(yīng)用82那樣,數(shù)據(jù)提供者85可以與上下文建模器80 (和/或上下文模型84)直接通信,或可以建立經(jīng)由通信接口 74或處理器70的這樣的通信。在示例實施例中,可以在計算機程序產(chǎn)品中作為存儲在通信設(shè)備(例如移動終端 10和/或第二通信設(shè)備20和第三通信設(shè)備2 的存儲器中并且由處理器70執(zhí)行的指令來實現(xiàn)上下文建模器80。可替代地,可以作為形成中間件的一部分或安裝在中間件上的軟件來實現(xiàn)上下文建模器80,所述中間件例如為通信設(shè)備的中間件。作為另一替代,可以作為處理器70(例如作為FPGA、ASIC等)來實現(xiàn)上下文建模器80。上下文建模器80可以被配置為構(gòu)建包括與通信設(shè)備(例如移動終端10和/或第二通信設(shè)備20和第三通信設(shè)備25)通信的多個(在一些情況下為全部)設(shè)備的模型表示的上下文模型(例如上下文模型84)。 據(jù)此,當(dāng)例如在移動終端10與第二通信設(shè)備20和/或第三通信設(shè)備25之間建立通信會話時,上下文建模器80可以被配置為確定針對每個對應(yīng)的設(shè)備的內(nèi)容和特性的第二通信設(shè)備20和/或第三通信設(shè)備25的模型表示。這樣,例如,如果第二通信設(shè)備20是移動電話, 則上下文模型可以包括移動電話的能力和其他特性。上下文模型可以包括對象注冊表(例如對象模型),所述對象注冊表包括在對應(yīng)的設(shè)備中所存儲的每個對應(yīng)對象的對象表示。據(jù)此,對于在對應(yīng)的設(shè)備處所創(chuàng)建的每個對象,可以由上下文建模器80確定關(guān)于特性、能力、 數(shù)據(jù)結(jié)構(gòu)、制造商、版本號和其他類似信息的信息。在示例實施例中,當(dāng)應(yīng)用(例如應(yīng)用82) 使用或請求上下文數(shù)據(jù)時,上下文建模器80被配置為能夠利用上下文模型84來通過與上下文建模器80相關(guān)聯(lián)的值接口提供上下文值。然而,根據(jù)一些實施例的上下文建模器80進一步被配置為提供事件方案以支持上下文模型的拓撲(例如基于樹、單個骨干、混合骨干-樹等)。這樣,根據(jù)本發(fā)明的一些實施例的上下文建模器80可以提供相對與典型的DCCI實施方式相關(guān)聯(lián)的那些DOM事件階段的修改的事件方案階段。對此,根據(jù)示例實施例,上下文建模器80可以被配置為定義至少兩個新的事件階段中的一個或多個。在一些情況下,對于上下文模型84,由上下文建模器 80定義的新的事件階段可以替代與DOM相關(guān)聯(lián)的事件階段(例如捕捉階段、目標(biāo)階段和冒泡階段)。在DOM中,捕捉階段、目標(biāo)階段和冒泡階段可以全部用于至少一個共同的目的,即向節(jié)點(數(shù)據(jù)提供者)通知改變。然而,由根據(jù)示例實施例的上下文建模器80定義的階段可以提供具有獨特的目的的階段,同時也簡化上下文模型84并且使得能夠進行相反方向的通知(例如從消費者到數(shù)據(jù)提供者)。作為例子,上下文建模器80可以被配置為定義不嚴(yán)格地對應(yīng)于DOM階段的新的事件階段。在示例實施例中,新的事件階段可以被稱作“SUB”階段和“NOTIFY”階段。然而, 階段的名稱相對于相應(yīng)階段的功能來說不重要。這樣,雖然在下文中將用它們相應(yīng)的名稱來指代每個階段,但只出于用清晰的術(shù)語來簡化對階段的描述的目的而提供名稱,而名稱本身不是限制性的。SUB階段可以不嚴(yán)格地對應(yīng)于DOM事件中的捕捉階段,而NOTIFY階段可以不嚴(yán)格地對應(yīng)于冒泡階段。然而,訂戶可以使用SUB階段來向特定屬性(或若干屬性)的特定的數(shù)據(jù)提供者(或多個提供者)發(fā)送通知。在一些實施例中,SUB階段可以僅由消費者屬性使用并且在根節(jié)點被發(fā)射(fire)。SUB階段可以被從根節(jié)點發(fā)送并且一直傳播至底葉節(jié)點,除非識別了特定的屬性節(jié)點。響應(yīng)于對特定屬性節(jié)點的識別,事件傳播可以在所識別的特定屬性節(jié)點處停止,但經(jīng)過到特定屬性節(jié)點的路徑上的全部節(jié)點。路徑自身和事件怎樣傳播的細節(jié)可以依賴于由上下文模型84所采用的拓撲。然而,對于SUB階段和NOTIFY階段,可以對于可能由其采用該階段的每種拓撲來定義(例如在規(guī)范中)每個階段的路徑。從而, 例如,對于基于單個骨干的模型,事件可以經(jīng)過中央骨干,除非它首先遇到所識別的屬性或到達在骨干的底端連接的最后節(jié)點。屬性的提供者可以使用NOTIFY階段來向直到對應(yīng)的上下文拓撲的根節(jié)點(例如消費者)的一個或多個事件監(jiān)聽者發(fā)送通知。對于NOTIFY階段,全部事件起源于屬性節(jié)點并且NOTIFY階段被沿預(yù)定的路徑發(fā)射直到階段終結(jié)的根節(jié)點。沿路徑附接的事件處理者 (handler)可以檢查事件,但事件處理者不能停止事件向根節(jié)點的傳播。在一些情況下,依賴于實施方式,可以由輔助的安全組件通過將到根節(jié)點的路徑上的特定節(jié)點指定為對于特定類型的事件或通過特定屬性發(fā)射的輔助根節(jié)點,來停止事件的傳播。在指定了輔助根節(jié)點的情形下,該指定可以被用作后門以改善效率。然而,為了保護應(yīng)用,沒有任何應(yīng)用事件處理者可以被使得能夠停止事件的傳播。而是只有指定的節(jié)點可以被使得能夠停止事件傳播。據(jù)此,DOM事件的階段僅可以用于向消費者通知,而本發(fā)明的一些實施例提供用于向提供者通知的一個特定階段(例如SUB階段)以及用于向消費者通知的另一單獨的階段(例如NOTIFY階段)。本發(fā)明的一些實施例的另一技術(shù)特性是利用單個事件方案來支持多個拓撲類型。進一步地,本發(fā)明的實施例提供了傳播路徑的改進以及對從提供者到消費者的事件流的防止,這從而提供不被DOM支持的事件流方向。對此,在從消費者到提供者的通知(例如SUB階段)中,傳播可以從根通過到底葉節(jié)點。從而,在骨干風(fēng)格拓撲中,不需要路徑預(yù)計算,以使得減少處理功率、存儲器資源和計算時間。另外,與從提供者到消費者的通知(例如NOTIFY階段)相關(guān),只有根節(jié)點或指定的輔助根節(jié)點可以停止傳播,這從而可以防止一些惡意處理者停止事件傳播。在一些實施例中,對于SUB階段,只有向特定節(jié)點發(fā)射事件的消費者節(jié)點可以被使得能夠通過在路徑上注冊的額外的事件處理者停止到特定節(jié)點的傳播。對這樣的修改的利用可以由所采用的實施方式機制決定。在示例實施例中, 根據(jù)特定拓撲的事件流中所規(guī)定的信息,相同的應(yīng)用可以被使得能夠停止SUB階段中的傳播,但可替代地沒有節(jié)點可以停止傳播。下面將通過例子而不是限制來描述可以由上下文建模器80定義的基本發(fā)送事件方法的示例格式。示例基本發(fā)送事件方法格式可以如下sendEvent (String eventName,可選的 eventType, Node TargetNode,可選的 PropertyType,可選的 NameSpace,可選的 TypeAny eventParameters)在一些實施例中,如果上下文模型支持,則可選的ftOpertyType (屬性類型)可以允許事件發(fā)送者將一個事件發(fā)送至可以屬于相同的屬性類型的多個屬性。NameSpace(名稱空間)可選屬性可以允許向滿足該名稱空間的全部屬性發(fā)送相同的事件。三個屬性 TargetNode,PropertyType和Namespace可以彼此結(jié)合使用以識別特定的節(jié)點(例如充當(dāng)屬性的間接過濾器)。在示例實施例中,sendEvent (發(fā)送事件)總在起源節(jié)點處被調(diào)用并且創(chuàng)建經(jīng)過預(yù)定路徑到目標(biāo)節(jié)點的事件結(jié)構(gòu)。這允許方法調(diào)用的簡化以及提供模型的額外的安全級別。根據(jù)示例實施例,事件本身可以包括結(jié)構(gòu),該結(jié)構(gòu)包括以下參數(shù)Enum String EventPhase values SUB or NOTIFY
String EventName
可選的 TypeAnyeventParameters
String OriginNode (如果階段為 SUB 則為 ROOT)
String TargetNode (如果階段為NOTIFY則可選)
}如果eventPhase (事件階段)是SUB階段,則OriginNode (源節(jié)點)可以是可選的,但OriginNode總是ROOT(根)節(jié)點。對于SUB階段如此事件總在ROOT節(jié)點起源并且向下傳播至TargetNode(目標(biāo)節(jié)點)。SUB階段中的TargetNode可以被賦予參數(shù)“*”, 這表示廣播模式。在廣播模式中,向樹的全部屬性通知事件。在廣播模式中,事件的傳播將在全部葉節(jié)點處終結(jié)。傳播的模式依賴于上下文模型的拓撲。同時,如果eventPhase是 NOTIFY階段,則TargetNode是可選的,但如果由發(fā)射該事件的屬性節(jié)點設(shè)置則其值必須是 ROOT節(jié)點。在NOTIFY階段中,屬性可以僅僅發(fā)射將在ROOT節(jié)點或輔助ROOT節(jié)點終結(jié)的事件。在一些情況下,也可以檢查可選參數(shù)和ROOT節(jié)點以確定對應(yīng)的事件的階段。可選的 eventType (事件類型)可以被保留以供將來使用(在諸如將事件類型分組之類的需要的情況下)。與事件監(jiān)聽者注冊相關(guān),事件監(jiān)聽者的示例格式可以遵循以下格式addListener(functionCallback fnEventCalIBack, String EventName, String EventPhase,可選的 propertyName,可選的 propertyNameSpace,可選的 Boolean matchAll,可選的 Boolean singleAttach)Boolean matchAll指示是否向匹配name (名稱)禾口 namespace (名稱空間)屬性以及event name (事件名稱)和phase (階段)的全部屬性應(yīng)用準(zhǔn)則。如果Boolean matchAll被設(shè)置為真,則這將在匹配的全部屬性處附接處理者。如果Boolean matchAll不被設(shè)置為真,則這將向所找到的第一實例附接。對于所找到的第一實例的確定可以依賴于實施方式和拓撲。Boolean singleAttach是效率增加參數(shù)。如果matchAll被設(shè)置為真并且singleAttach也為真,則代替在每個屬性處附接相同的eventHandler (事件處理者),實施方式可以確定通過其全部事件都符合所述準(zhǔn)則的層級中最接近的節(jié)點,并且在所確定的最接近的節(jié)點處附接單個事件處理者。如果不能找到特定的節(jié)點,則實施方式可以使用滿足上面規(guī)定的準(zhǔn)則的節(jié)點集合的最小公共節(jié)點,而在其他節(jié)點處附接直接事件處理者,從而增加通知的效率。圖3為根據(jù)本發(fā)明的示例實施例的方法和程序產(chǎn)品的流程圖。將理解,流程圖的每個塊或步驟以及流程圖中的塊的組合可以通過各種手段實施,所述各種手段諸如硬件、 固件、處理器、電路和/或與包括一個或多個計算機程序指令的軟件的執(zhí)行相關(guān)聯(lián)的其他設(shè)備。例如,可以通過計算機程序指令來實現(xiàn)上面所描述的過程中的一個或多個。對此,實現(xiàn)上面所描述的過程的計算機程序指令可以由移動終端或網(wǎng)絡(luò)設(shè)備的存儲器設(shè)備存儲,并且由移動終端或網(wǎng)絡(luò)設(shè)備中的處理器執(zhí)行。如將理解的那樣,可以將任何這樣的計算機程序指令加載在計算機或其他可編程裝置(即硬件)上以產(chǎn)生機器,使得在計算機或其他可編程裝置上執(zhí)行的指令創(chuàng)建用于實施流程圖塊或步驟中所規(guī)定的功能的裝置。這些計算機程序指令也可以被存儲在計算機可讀存儲器中,所述計算機可讀存儲器可以引導(dǎo)計算機或其他可編程裝置以特定的方式工作,以使得存儲在計算機可讀存儲器中的指令產(chǎn)生包括實施在流程圖塊或步驟中所規(guī)定的功能的指令裝置的產(chǎn)品。也可以將計算機程序指令加載至計算機或其他可編程裝置中以使得在計算機或其他可編程裝置上執(zhí)行一系列操作步驟以產(chǎn)生計算機實施的處理,使得在計算機或其他可編程裝置上執(zhí)行的指令提供用于實施流程圖塊或步驟中所規(guī)定的功能的步驟。據(jù)此,流程圖的塊或步驟支持用于執(zhí)行所規(guī)定的功能的裝置的組合,用于執(zhí)行所規(guī)定的功能的步驟的組合以及用于執(zhí)行所規(guī)定的功能的程序指令裝置。還將理解,可以由執(zhí)行所規(guī)定的功能或步驟的專用的基于硬件的計算機系統(tǒng)或?qū)S糜布陀嬎銠C指令的組合來實施流程圖的一個或多個塊或步驟以及流程圖中的塊或步驟的組合。對此,如圖3中所示的根據(jù)本發(fā)明的一個實施例的方法可以包括處理器和存儲可執(zhí)行指令的存儲器,所述可執(zhí)行指令響應(yīng)于由處理器的執(zhí)行而使得裝置至少執(zhí)行包括以下的操作在操作100處定義包括至少兩個階段的事件方案以及在操作110處提供所述事件方案以用于不依賴于拓撲的上下文模型。所定義的至少兩個階段中的一個可以使得能夠提供從消費者應(yīng)用到數(shù)據(jù)提供者的通知,而所述至少兩個階段中的另一個可以使得能夠提供從數(shù)據(jù)提供者到消費者應(yīng)用的通知。上下文模型可以被配置為提供由消費者應(yīng)用經(jīng)由上下文模型對數(shù)據(jù)提供者的屬性信息的訪問。在一些實施例中,可以如下所述修改或進一步擴增以上操作中的特定的一些操作。應(yīng)當(dāng)理解,可以單獨地或與這里所描述的特征中的任何其他特征組合而與以上操作一同包括以下修改或擴增中的每一種。對此,例如,提供所述事件方案以用于不依賴于拓撲的上下文模型可以包括提供所述事件方案以用于與基于樹的拓撲、基于單個骨干的拓撲或基于混合骨干-樹的拓撲中的任意一種相關(guān)聯(lián)的遞送上下文客戶端接口上下文模型。在一些情況下,定義使得能夠進行從消費者應(yīng)用到數(shù)據(jù)提供者的通知的階段的事件方案可以包括定義除非識別了特定的屬性節(jié)點否則使得能夠提供從拓撲中的根節(jié)點傳播至底葉節(jié)點的通知的階段。響應(yīng)于特定屬性節(jié)點的識別,定義事件方案可以包括定義使得能夠提供通知的階段以包括定義對通過路徑上的全部節(jié)點到所識別的特定屬性節(jié)點的事件傳播以及在所識別的特定屬性節(jié)點處停止事件傳播的使能。在一些實施例中,定義事件方案包括對于每個相應(yīng)的階段定義特定于拓撲的事件傳播路徑。在示例實施例中,定義使得能夠進行從數(shù)據(jù)提供者到消費者應(yīng)用的通知的階段的事件方案可以包括定義輔助根節(jié)點,所述輔助根節(jié)點響應(yīng)于沿通知的傳播的傳播路徑遇到輔助根節(jié)點而停止傳播;和/或由屬性的數(shù)據(jù)提供者利用階段向直至對應(yīng)的上下文拓撲的消費者應(yīng)用的一個或多個事件監(jiān)聽者發(fā)送通知。
在示例實施例中,用于執(zhí)行以上圖3的方法的裝置可以包括被配置為執(zhí)行上面所描述的操作(100-110)中的一些或每個的處理器(例如處理器70)。處理器例如可以被配置為通過執(zhí)行硬件實施的邏輯功能、執(zhí)行所存儲的指令、或執(zhí)行用于執(zhí)行每個操作的算法來執(zhí)行操作(100-110)。可替代地,裝置可以包括用于執(zhí)行上面所描述的每個操作的裝置。 對此,根據(jù)示例實施例,用于執(zhí)行操作100-110的裝置的例子例如可以包括處理器70、上下文建模器80和/或用于執(zhí)行指令或執(zhí)行如上所述的用于處理信息的算法的設(shè)備或電路。受益于以上描述和相關(guān)聯(lián)的附圖中所呈現(xiàn)的教導(dǎo)的本發(fā)明相關(guān)領(lǐng)域的技術(shù)人員將想到這里所陳述的本發(fā)明的許多修改和其他實施例。因此,應(yīng)當(dāng)理解,本發(fā)明不限于所公開的具體實施例,并且修改和其他實施例意圖被包括在所附權(quán)利要求的范圍內(nèi)。此外,雖然以上描述和相關(guān)聯(lián)的附圖在元件和/或功能的特定示例組合的上下文中描述了示例實施例,但應(yīng)當(dāng)理解,可以由可替代的實施例提供元件和/或功能的不同的組合,而不偏離所附權(quán)利要求的范圍。對此,例如,與在上面明確描述的元件和/或功能的組合不同的組合也被視作在所附權(quán)利要求中的一些中陳述。雖然這里采用具體的術(shù)語,但只在通用的和描述性的意義下而不出于限制的目的使用它們。
權(quán)利要求
1.一種裝置,包括處理器和存儲可執(zhí)行指令的存儲器,所述指令響應(yīng)于由所述處理器的執(zhí)行而使得所述裝置至少執(zhí)行以下操作定義包括至少兩個階段的事件方案,所述至少兩個階段中的一個階段使得能夠提供從消費者應(yīng)用到數(shù)據(jù)提供者的通知,而所述至少兩個階段中的另一個階段使得能夠提供從數(shù)據(jù)提供者到消費者應(yīng)用的通知;以及提供所述事件方案以用于不依賴于拓撲的上下文模型,所述上下文模型被配置為提供由消費者應(yīng)用經(jīng)由所述上下文模型對數(shù)據(jù)提供者的屬性信息的訪問。
2.如權(quán)利要求1所述的裝置,其中所述指令進一步使得所述裝置提供所述事件方案以用于不依賴于拓撲的上下文模型包括提供所述事件方案以用于在與基于樹的拓撲、基于單個骨干的拓撲或基于混合骨干-樹的拓撲中的任意一種拓撲相關(guān)聯(lián)的遞送上下文客戶端接口上下文模型內(nèi)使用。
3.如權(quán)利要求1所述的裝置,其中所述指令進一步使得所述裝置定義使得能夠進行從消費者應(yīng)用到數(shù)據(jù)提供者的通知的階段的事件方案包括定義除非識別了特定屬性節(jié)點否則使得能夠提供從拓撲中的根節(jié)點傳播至底葉節(jié)點的通知的階段。
4.如權(quán)利要求3所述的裝置,其中響應(yīng)于所述特定屬性節(jié)點的識別,所述指令進一步使得所述裝置定義所述事件方案包括定義使得能夠提供通知的階段以包括定義對通過路徑上的全部節(jié)點到所識別的特定屬性節(jié)點的事件傳播以及在所識別的特定屬性節(jié)點處停止事件傳播的使能。
5.如權(quán)利要求1所述的裝置,其中所述指令進一步使得所述裝置定義所述事件方案包括對于每個相應(yīng)的階段定義特定于拓撲的事件傳播路徑。
6.如權(quán)利要求5所述的裝置,其中所述指令進一步使得所述裝置定義所述事件方案以使得僅有向特定節(jié)點發(fā)射事件的消費者應(yīng)用能夠通過在路徑上注冊的額外的事件處理者來停止到所述特定節(jié)點的傳播。
7.如權(quán)利要求1所述的裝置,其中所述指令進一步使得所述裝置定義使得能夠進行從數(shù)據(jù)提供者到消費者應(yīng)用的通知的階段的事件方案包括定義輔助根節(jié)點,所述輔助根節(jié)點響應(yīng)于沿通知的傳播的傳播路徑遇到所述輔助根節(jié)點而停止傳播。
8.如權(quán)利要求1所述的裝置,其中所述指令進一步使得所述裝置定義使得能夠進行從數(shù)據(jù)提供者到消費者應(yīng)用的通知的階段的事件方案包括由屬性的數(shù)據(jù)提供者利用所述階段向直至對應(yīng)的上下文拓撲的消費者應(yīng)用的一個或多個事件監(jiān)聽者發(fā)送通知。
9.如權(quán)利要求1所述的裝置,其中所述指令進一步使得所述裝置定義所述事件方案以使得事件發(fā)送者能夠向?qū)儆谟伤錾舷挛哪P椭С值耐粚傩灶愋偷亩鄠€屬性發(fā)送一個事件。
10.如權(quán)利要求1所述的裝置,其中所述指令進一步使得所述裝置定義所述事件方案以使得事件發(fā)送者能夠向滿足特定的名稱空間準(zhǔn)則的多個屬性發(fā)送一個事件。
11.如權(quán)利要求1所述的裝置,其中所述指令進一步使得所述裝置定義所述事件方案以使得事件發(fā)送者能夠向滿足預(yù)定參數(shù)準(zhǔn)則的組合的多個屬性發(fā)送一個事件。
12.如權(quán)利要求1所述的裝置,其中所述指令進一步使得所述裝置定義所述事件方案以使得事件發(fā)送者能夠通過采用廣播模式來通知樹結(jié)構(gòu)中的全部屬性。
13.一種方法,包括定義包括至少兩個階段的事件方案,所述至少兩個階段中的一個階段使得能夠提供從消費者應(yīng)用到數(shù)據(jù)提供者的通知,而所述至少兩個階段中的另一個階段使得能夠提供從數(shù)據(jù)提供者到消費者應(yīng)用的通知;以及提供所述事件方案以用于不依賴于拓撲的上下文模型,所述上下文模型被配置為提供由消費者應(yīng)用經(jīng)由所述上下文模型對數(shù)據(jù)提供者的屬性信息的訪問。
14.如權(quán)利要求13所述的方法,其中提供所述事件方案以用于不依賴于拓撲的上下文模型包括提供所述事件方案以用于在與基于樹的拓撲、基于單個骨干的拓撲或基于混合骨干-樹的拓撲中的任意一種拓撲相關(guān)聯(lián)的遞送上下文客戶端接口上下文模型內(nèi)使用。
15.如權(quán)利要求13所述的方法,其中定義使得能夠進行從消費者應(yīng)用到數(shù)據(jù)提供者的通知的階段的事件方案包括定義除非識別了特定屬性節(jié)點否則使得能夠提供從拓撲中的根節(jié)點傳播至底葉節(jié)點的通知的階段。
16.如權(quán)利要求13所述的方法,其中響應(yīng)于所述特定屬性節(jié)點的識別,定義所述事件方案包括定義使得能夠提供通知的階段以包括定義對通過路徑上的全部節(jié)點到所識別的特定屬性節(jié)點的事件傳播以及在所識別的特定屬性節(jié)點處停止事件傳播的使能。
17.如權(quán)利要求13所述的方法,其中定義使得能夠進行從數(shù)據(jù)提供者到消費者應(yīng)用的通知的階段的事件方案包括定義輔助根節(jié)點,響應(yīng)于沿通知的傳播的傳播路徑遇到所述輔助根節(jié)點而停止傳播。
18.如權(quán)利要求13所述的方法,其中定義使得能夠進行從數(shù)據(jù)提供者到消費者應(yīng)用的通知的階段的事件方案包括由屬性的數(shù)據(jù)提供者利用所述階段向直至對應(yīng)的上下文拓撲的消費者應(yīng)用的一個或多個事件監(jiān)聽者發(fā)送通知。
19.一種計算機程序產(chǎn)品,包括其中存儲有計算機可執(zhí)行程序代碼指令的至少一個計算機可讀存儲介質(zhì),所述計算機可執(zhí)行程序代碼指令包括用于定義包括至少兩個階段的事件方案的程序代碼指令,所述至少兩個階段中的一個階段使得能夠提供從消費者應(yīng)用到數(shù)據(jù)提供者的通知,而所述至少兩個階段中的另一個階段使得能夠提供從數(shù)據(jù)提供者到消費者應(yīng)用的通知;以及用于提供所述事件方案以用于不依賴于拓撲的上下文模型的程序代碼指令,所述上下文模型被配置為提供由消費者應(yīng)用經(jīng)由所述上下文模型對數(shù)據(jù)提供者的屬性信息的訪問。
20.如權(quán)利要求19所述的計算機程序產(chǎn)品,其中用于提供所述事件方案以用于不依賴于拓撲的上下文模型的程序代碼指令包括用于提供所述事件方案以用于在與基于樹的拓撲、基于單個骨干的拓撲或基于混合骨干-樹的拓撲中的任意一種拓撲相關(guān)聯(lián)的遞送上下文客戶端接口上下文模型內(nèi)使用的指令。
全文摘要
一種用于提供上下文模型的事件方案的裝置,其可以包括處理器和存儲可執(zhí)行指令的存儲器,所述指令響應(yīng)于由所述處理器的執(zhí)行而使得所述裝置至少執(zhí)行包括以下的操作定義包括至少兩個階段的事件方案以及提供所述事件方案以用于不依賴于拓撲的上下文模型。所定義的至少兩個階段中的一個可以使得能夠提供從消費者應(yīng)用到數(shù)據(jù)提供者的通知,而所述至少兩個階段中的另一個可以使得能夠提供從所述數(shù)據(jù)提供者到所述消費者應(yīng)用的通知。所述上下文模型可以被配置為提供由消費者應(yīng)用經(jīng)由所述上下文模型對數(shù)據(jù)提供者的屬性信息的訪問。
文檔編號H04W8/22GK102342138SQ201080010688
公開日2012年2月1日 申請日期2010年3月4日 優(yōu)先權(quán)日2009年3月5日
發(fā)明者S·K·薩希施 申請人:諾基亞公司