專利名稱::用于聚合、分析和使用上下文信息的上下文平臺(tái)框架的制作方法用于聚合、分析和使用上下文信息的上下文平臺(tái)框架
背景技術(shù):
:上下文知曉系統(tǒng)或設(shè)備關(guān)注上下文的獲取(例如,使用傳感器來(lái)察覺(jué)情形(situation))、上下文的理解(例如,將所察覺(jué)的傳感器激勵(lì)與上下文匹配)以及基于所識(shí)別的上下文的應(yīng)用行為(例如,基于上下文觸發(fā)動(dòng)作)。上下文知曉設(shè)備的目標(biāo)在于適配它們的行為,做出決策或以用戶的名義采取動(dòng)作而不需要明確的用戶輸入。例如,上下文知曉移動(dòng)電話可以知道其當(dāng)前在會(huì)議室中以及用戶已經(jīng)坐下。該移動(dòng)電話可以推斷出該用戶當(dāng)前正在會(huì)議中,并且自動(dòng)地拒絕任何不重要的電話呼叫。近期,各種新傳感器已經(jīng)變?yōu)樵谑袌?chǎng)上可以獲得。相應(yīng)的一組新應(yīng)用和使用同樣正在變得可以獲得。然而,上下文知曉設(shè)備的現(xiàn)今實(shí)現(xiàn)方式示出傳感器的較窄使用,其中特定傳感器導(dǎo)致特定使用。此種方案不允許更廣地使用傳感器。圖1例示了用于聚合、分析和使用上下文信息的上下文平臺(tái)框架(framework)的一個(gè)實(shí)施例;圖2例示了上下文引擎的一個(gè)實(shí)施例;圖3例示了策略引擎的一個(gè)實(shí)施例;圖4例示了上下文引擎的邏輯組件之間的依賴性的一個(gè)實(shí)施例;圖5例示了上下文模式(schema)的一個(gè)實(shí)施例;圖6例示了本發(fā)明的環(huán)境的一個(gè)實(shí)施例;圖7例示了用于例示如何向聚合器提供上下文信息的邏輯流程圖的一個(gè)實(shí)施例;圖8例示了用于例示客戶機(jī)如何訪問(wèn)聚合器中的上下文數(shù)據(jù)的邏輯流程圖的一個(gè)實(shí)施例;圖9例示了用于例示客戶機(jī)如何向分析器提供分析規(guī)則的邏輯流程圖的一個(gè)實(shí)施例;圖IO例示了策略引擎的操作的邏輯流程圖的一個(gè)實(shí)施例。具體實(shí)施例方式本發(fā)明的實(shí)施例提供了用于聚合、分析和使用上下文信息的上下文平臺(tái)框架。在實(shí)施例中,上下文引擎對(duì)上下文客戶機(jī)隱藏傳感器特有的特性,并且為客戶機(jī)提供統(tǒng)一的機(jī)制來(lái)訪問(wèn)不同的上下文源。在實(shí)施例中,傳感器可以包括物理傳感器和軟傳感器(例如,基于軟件的源)兩者。上下文引擎的聚合器通過(guò)聚合上下文信息來(lái)使上下文信息的源與上下文信息的用戶(即,客戶機(jī))解耦。在實(shí)施例中,上下文引擎的分析器可以對(duì)所聚合的上下文信息進(jìn)行分析,以計(jì)算具有更有用的本性(nature)的新的上下文信息,如客戶機(jī)所察覺(jué)到的。同樣,上下文引擎的實(shí)施例促進(jìn)由客戶機(jī)另外執(zhí)行的對(duì)上下文信息的帶外處理。本發(fā)明的實(shí)施例使得上下文客戶機(jī)免于進(jìn)行上下文信息獲取、聚合、監(jiān)測(cè)和分析的連續(xù)任務(wù),并且使得客戶機(jī)能夠關(guān)注它們的主要任務(wù)或者根據(jù)需要甚至進(jìn)入功率節(jié)省睡眠狀態(tài)。在實(shí)施例中,如可由客戶機(jī)經(jīng)由上下文引擎的分析器所使用的分析規(guī)則而定制的,當(dāng)出現(xiàn)"在上下文上重要的"事件或情形時(shí)可以觸發(fā)客戶機(jī)。策略引擎可以基于所聚合的上下文信息中的變化、所計(jì)算出的上下文信息中的變化以及控制策略規(guī)則來(lái)觸發(fā)實(shí)現(xiàn)上下文平臺(tái)框架的物理平臺(tái)內(nèi)部或者其周圍中的可觸知?jiǎng)幼?。在?shí)施例中,由上下文平臺(tái)框架根據(jù)上下文模式來(lái)存儲(chǔ)和處理上下文信息。描述和要求了其它實(shí)施例。不同實(shí)施例可以包括一個(gè)或多個(gè)元件或組件。元件可以包括被配置來(lái)執(zhí)行確定操作的任何結(jié)構(gòu)。如針對(duì)給定組設(shè)計(jì)參數(shù)或性能限制所期望的,每個(gè)元件可以被實(shí)現(xiàn)為硬件、軟件或其任何組合。盡管可以通過(guò)例示來(lái)利用特定的拓?fù)渲械挠邢迶?shù)目的元件來(lái)描述實(shí)施例,但是如針對(duì)給定實(shí)現(xiàn)方式所期望的,該實(shí)施例可以包括替換拓?fù)渲械母嗷蚋僭V档米⒁獾氖牵?一個(gè)實(shí)施例"或"實(shí)施例"的任何引用意味著結(jié)合該實(shí)施例描述的特定特征、結(jié)構(gòu)或特性可以包括在至少一個(gè)實(shí)施例中。短語(yǔ)"在一個(gè)實(shí)施例中"在說(shuō)明書中的不同位置處的出現(xiàn)不必都指同一實(shí)施例。圖1例示了用于聚合、分析和使用上下文信息的上下文平臺(tái)框架100的一個(gè)實(shí)施例。在一個(gè)實(shí)施例中,上下文平臺(tái)框架100包括上下文引擎102和策略引擎104。上下文平臺(tái)框架100還包括一個(gè)或多個(gè)提供者106-l-n,其中n是任意正整數(shù);一個(gè)或多個(gè)客戶機(jī)108-l-m,其中m是任意正整數(shù);以及一個(gè)或多個(gè)激勵(lì)器110-l-p,其中p是任意正整數(shù)。在實(shí)施例中,上下文平臺(tái)框架100的組件是"使用不可知的"。盡管提供者106和客戶機(jī)108通常都是依賴于使用域的,但是框架100的設(shè)計(jì)和實(shí)現(xiàn)都不進(jìn)行任何關(guān)于使用框架100的使用域的假設(shè)。在一個(gè)實(shí)施例中,在上層,上下文引擎102經(jīng)由提供者106連續(xù)地接收源自物理傳感器或基于軟件的源的上下文數(shù)據(jù)。提供者106經(jīng)由提供者應(yīng)用程序接口(API)112將上下文數(shù)據(jù)發(fā)送到上下文引擎102。上下文引擎102獲取、處理和維護(hù)上下文信息。上下文引擎102使上下文信息的源與客戶機(jī)108解耦。上下文引擎102可以使用所接收的數(shù)據(jù)作為"上下文",并且使得它可為客戶機(jī)108獲得。在實(shí)施例中,上下文引擎102還可以對(duì)所述上下文信息進(jìn)行分析,以生成附加上下文信息,與經(jīng)由提供者106接收的原始上下文信息相比,該附加上下文信息具有對(duì)客戶機(jī)108更為有用的本性??蛻魴C(jī)108可以提供定制的分析規(guī)則,該定制的分析規(guī)則被上下文引擎102存儲(chǔ)和使用。上下文引擎102和客戶機(jī)108經(jīng)由上下文客戶機(jī)API114進(jìn)行通信??蛻魴C(jī)108還可以使用策略API118來(lái)指定或調(diào)整策略引擎104所使用的平臺(tái)行為策略。下面參考圖2和圖4來(lái)更詳細(xì)地描述上下文引擎102。上下文引擎102還與策略引擎104進(jìn)行通信。策略引擎104可以被視為上下文引擎102的特定客戶機(jī)。策略引擎104基于所聚合的上下文信息的變化、所計(jì)算出的上下文信息中的變化以及控制策略規(guī)則,觸發(fā)實(shí)現(xiàn)上下文平臺(tái)框架100的物理平臺(tái)內(nèi)部或者其周圍內(nèi)的可觸知?jiǎng)幼???蛻魴C(jī)108可以提供定制的控制策略規(guī)則,該定制的控制策略規(guī)則被策略引擎104存儲(chǔ)和使用。下面參考圖3來(lái)更詳細(xì)地描述策略引擎104。策略引擎104經(jīng)由激勵(lì)器API116來(lái)向激勵(lì)器110發(fā)送控制命令和數(shù)據(jù)。激勵(lì)器110能夠控制所述設(shè)備內(nèi)部和其周圍中的硬件和軟件組件。在實(shí)施例中,上下文平臺(tái)框架100根據(jù)上下文模式存儲(chǔ)和處理上下文信息。上下文模式包括類和關(guān)聯(lián)性,其表示上下文信息的基本元素。所述模式類形成在上下文引擎102中出現(xiàn)的處理動(dòng)作的基礎(chǔ)。上下文模式的主要類包括上下文標(biāo)識(shí)符、上下文項(xiàng)、上下文組和上下文數(shù)據(jù)。所述模式的上下文標(biāo)識(shí)符表示上下文信息的特定類型(例如,"溫度"類型)。上下文引擎102可以同時(shí)維護(hù)和處理多種類型的上下文信息??蛻魴C(jī)108可以通過(guò)指定上下文標(biāo)識(shí)符對(duì)象來(lái)請(qǐng)求上下文項(xiàng)。所述模式的上下文項(xiàng)中的每個(gè)表示與上下文標(biāo)識(shí)符對(duì)應(yīng)的上下文信息的樣本(例如,溫度讀取)。典型地,上下文引擎102將為特定的上下文標(biāo)識(shí)符維護(hù)多個(gè)上下文項(xiàng)對(duì)象。上下文客戶機(jī)API114使得客戶機(jī)108能夠從上下文引擎102訪問(wèn)上下文項(xiàng)對(duì)象。所述模式的上下文組表示一個(gè)或多個(gè)上下文標(biāo)識(shí)符的集合??蛻魴C(jī)108可以通過(guò)指定上下文組對(duì)象來(lái)請(qǐng)求一組上下文項(xiàng)。所述模式的上下文數(shù)據(jù)表示上下文項(xiàng)的一個(gè)值。在一些情形下,上下文項(xiàng)被允許同時(shí)具有多個(gè)有效值。因此,在該類中抽象出值表示。下面相對(duì)圖5來(lái)更加詳細(xì)地描述所述模式中的這些和其它可能的類。接下來(lái),將更為詳細(xì)地描述圖1中的每個(gè)元件或組件。在不同實(shí)施例中,上下文平臺(tái)框架100可以被實(shí)現(xiàn)為無(wú)線系統(tǒng)、有線系統(tǒng)或兩者的組合。當(dāng)被實(shí)現(xiàn)為無(wú)線系統(tǒng)時(shí),框架100可以包括適于在無(wú)線共享媒體上通信的組件和接口,比如一個(gè)或多個(gè)天線、發(fā)射機(jī)、接收機(jī)、收發(fā)信機(jī)、放大器、濾波器、控制邏輯等。無(wú)線共享媒體的實(shí)例可以包括部分無(wú)線頻譜,比如RF譜等。當(dāng)被實(shí)現(xiàn)為有線系統(tǒng)時(shí),框架100可以包括適于在有線通信媒體上通信的組件和接口,比如輸入/輸出(I/O)適配器、用于將I/O適配器與相應(yīng)的有線通信媒體相連的物理連接器、網(wǎng)絡(luò)接口卡(NIC)、盤控制器、視頻控制器、音頻控制器等。有線通信媒體的實(shí)例可以包括電線、線纜、金屬引線、印刷電路板(PCB)、背板、交換結(jié)構(gòu)、半導(dǎo)體材料、雙絞線、同軸線、光纖等。在實(shí)施例中,提供者106可以是能夠經(jīng)由提供者API112收集并向上下文引擎102提供數(shù)據(jù)以用作"上下文"的任何類型的實(shí)體(軟件、硬件或硬件/軟件組合)??梢越?jīng)由提供者106連續(xù)地收集實(shí)時(shí)數(shù)據(jù)。提供者106還可以經(jīng)由集成長(zhǎng)期存儲(chǔ)設(shè)備(例如,閃存存儲(chǔ)器)存儲(chǔ)實(shí)時(shí)數(shù)據(jù),并在稍后的時(shí)間將該數(shù)據(jù)發(fā)送到上下文引擎102。所述集成長(zhǎng)期存儲(chǔ)設(shè)備有助于確保如果引擎102當(dāng)前沒(méi)有可獲得的連接,則沒(méi)有收集到的數(shù)據(jù)丟失。作為非限制性的實(shí)例,提供者106可以并入比如平臺(tái)傳感器之類的物理本性(例如,電池充電、有源無(wú)線電等)的傳感器、環(huán)境傳感器(例如,經(jīng)由全球定位系統(tǒng)(GPS)技術(shù)的位置信息、濕度、災(zāi)害附近、設(shè)備附近等)、生理傳感器等。生理傳感器可以包括一個(gè)或多個(gè)用于測(cè)量寬心血管特性陣列(例如,心率變化、ECG幅度、ST段分析、QT間隔等)的ECG、用于測(cè)量氧合水平的脈沖血氧計(jì)單元、用于測(cè)量活動(dòng)水平和方位的多軸加速度計(jì)、用于測(cè)量溫度水平的溫度傳感器、用于測(cè)量皮膚電反應(yīng)(galvanicskinresponse)的單元、用于監(jiān)測(cè)血壓的脈沖波速度監(jiān)測(cè)器、用于測(cè)量血糖的最小入侵或非入侵式血糖(glucometry)監(jiān)測(cè)單元、用于測(cè)量肺活量的單元、用于測(cè)量呼吸速率的單元、用于測(cè)量語(yǔ)音特性(包括音量、與壓力相關(guān)的語(yǔ)音特性、語(yǔ)音節(jié)奏、延遲時(shí)間、停頓長(zhǎng)度、語(yǔ)音差別、單詞變換、語(yǔ)音韻律學(xué)和這些語(yǔ)音特性中的影響和變化的指示)的單元、用于測(cè)量打字速度和錯(cuò)誤的單元,用于測(cè)量荷爾蒙水平的單元(例如,EMG設(shè)備)、用于測(cè)量熱量消耗的單元,用于測(cè)量溫度水平的單元,用于測(cè)量肌肉張力的單元(例如,皮質(zhì)醇(Cortisol))等。作為非限制性的實(shí)例,提供者106可以并入用于從各種"軟源"(例如,軟件源)獲得數(shù)據(jù)的裝置。在實(shí)施例中,所述軟件源可以包括對(duì)應(yīng)用中的所存儲(chǔ)的上下文信息(例如,用戶的下一約定,所需要的無(wú)線電類型,所期望的顯示分辨率等)的感測(cè);對(duì)比如操作系統(tǒng)中的動(dòng)態(tài)上下文信息(例如,存儲(chǔ)器使用,CPU負(fù)載等)的感測(cè);對(duì)比如因特網(wǎng)的實(shí)體中可得到的上下文信息(例如,交通狀況、天氣狀況、購(gòu)物等)的感測(cè);對(duì)用戶喜好(例如,使用歷史等)的感測(cè)等。在實(shí)施例中,提供者106可以具有一個(gè)或多個(gè)下述責(zé)任對(duì)上下文引擎102隱藏傳感器的特性及其接口細(xì)節(jié);在必要時(shí),對(duì)原始傳感器數(shù)據(jù)進(jìn)行處理以提取有用的上下文信息;在被請(qǐng)求時(shí)向上下文引擎102提供上下文信息;使用事件通知機(jī)制來(lái)以異步方式向上下文引擎102發(fā)送上下文信息;當(dāng)相應(yīng)的上下文標(biāo)識(shí)符未使用時(shí),將傳感器和相關(guān)的系統(tǒng)組件置于低功率模式;如上下文引擎102所規(guī)定的,支持(adhereto)提供者API112等。上下文引擎102暴露出一組接口來(lái)管理它與提供者106和相關(guān)組件(比如,提供者安裝工具)之間的交互。該組接口在這里被統(tǒng)稱為提供者API112。在實(shí)施例中,提供者API112可以支持一個(gè)或多個(gè)下述功能將新的提供者動(dòng)態(tài)地附接到上下文引擎102;從上下文引擎102動(dòng)態(tài)地移除現(xiàn)有的提供者;將一個(gè)或多個(gè)上下文標(biāo)識(shí)符的細(xì)節(jié)信息從提供者傳送到上下文引擎102;促進(jìn)來(lái)自上下文引擎102的同步呼叫(例如,請(qǐng)求上下文項(xiàng)對(duì)象的呼叫);促進(jìn)從提供者106到上下文引擎102的通知(例如,指示與上下文標(biāo)識(shí)符對(duì)應(yīng)的更新后的上下文項(xiàng)可得到的通知);促進(jìn)從上下文引擎102到提供者106的命令(例如,請(qǐng)求提供者啟動(dòng)/禁止源出與一個(gè)或多個(gè)上下文標(biāo)識(shí)符對(duì)應(yīng)的上下文項(xiàng)的命令)等。在實(shí)施例中,提供者API112允許提供者106指定上下文訪問(wèn)規(guī)則。所述上下文訪問(wèn)規(guī)則可以將對(duì)確定上下文信息的訪問(wèn)限制到確定類的客戶機(jī)108。上下文引擎102實(shí)施所述上下文訪問(wèn)規(guī)則。該機(jī)制確??蛻魴C(jī)108可以訪問(wèn)可公開(kāi)得到的上下文信息或者被授權(quán)由特定客戶機(jī)或一類客戶機(jī)訪問(wèn)的上下文信息。在實(shí)施例中,所述訪問(wèn)限制是域特有(domain-specific)的,并且可以是在設(shè)備內(nèi)預(yù)先配置的或者經(jīng)由所述上下文訪問(wèn)規(guī)則動(dòng)態(tài)指定或編輯的。這是如何模塊化上下文平臺(tái)框架100以及其組件可動(dòng)態(tài)加載的實(shí)例。作為非限制性的實(shí)例,假設(shè)客戶機(jī)是用于存儲(chǔ)和提供對(duì)病人信息的訪問(wèn)的醫(yī)院中的應(yīng)用。此種信息可以包括病人計(jì)費(fèi)信息、該病人的當(dāng)前醫(yī)療狀況以及該病人的歷史或過(guò)去醫(yī)療信息。這里,所述提供者可以向引擎102提供關(guān)于什么類型的人員可以訪問(wèn)不同類型的病人信息的上下文訪問(wèn)規(guī)則。例如,一個(gè)上下文訪問(wèn)規(guī)則可以將醫(yī)院管理者限制到病人計(jì)費(fèi)信息。另一個(gè)上下文訪問(wèn)規(guī)則可以將病人的護(hù)士限制到病人的當(dāng)前醫(yī)療狀況,而另一個(gè)上下文訪問(wèn)規(guī)則可以將病人的醫(yī)生限制到訪問(wèn)病人的當(dāng)前和歷史醫(yī)療信息。在實(shí)施例中,客戶機(jī)108可以是能夠從上下文信息獲益的任何應(yīng)用(具有或不具有用戶接口)。客戶機(jī)108經(jīng)由上下文客戶機(jī)API114與上下文引擎102進(jìn)行交互。當(dāng)與上下文引擎102交互時(shí),客戶機(jī)108負(fù)責(zé)支持(adhereto)客戶機(jī)API114。客戶機(jī)108還可以是其它軟件組件,比如操作系統(tǒng)、平臺(tái)功用、平臺(tái)工具、中間件庫(kù)、使用上下文信息來(lái)向其它模塊提供增值服務(wù)的"中間"軟件模塊等。在實(shí)施例中,客戶機(jī)108中的大部分通常是域特有的。客戶機(jī)108可以經(jīng)由客戶機(jī)API114按照不同的方式來(lái)訪問(wèn)經(jīng)由上下文引擎102生成的上下文信息。例如,客戶機(jī)108可以經(jīng)由同步事件和/或異步事件來(lái)訪問(wèn)上下文信息。利用同步事件,當(dāng)客戶機(jī)108需要時(shí),客戶機(jī)108從上下文引擎102請(qǐng)求和接收信息。利用異步事件,客戶機(jī)108請(qǐng)求當(dāng)可獲得時(shí)或在滿足確定條件時(shí)發(fā)送的該更新后的上下文信息。這里,上下文引擎102可以向合適的客戶機(jī)發(fā)送通知事件。上下文引擎102暴露出一組接口來(lái)管理它與客戶機(jī)108和相關(guān)外部組件之間的交互。該組接口在這里被統(tǒng)稱為上下文客戶機(jī)API114。在實(shí)施例中,上下文客戶機(jī)API114可以支持一個(gè)或多個(gè)下述功能檢査一個(gè)或多個(gè)上下文標(biāo)識(shí)符的可獲得性;通過(guò)指定新的上下文組的成員上下文標(biāo)識(shí)符來(lái)定義新的上下文組;訪問(wèn)關(guān)于上下文標(biāo)識(shí)符和上下文組的細(xì)節(jié);訪問(wèn)與上下文標(biāo)識(shí)符對(duì)應(yīng)的上下文項(xiàng);訪問(wèn)與上下文組對(duì)應(yīng)的上下文項(xiàng);訪問(wèn)與時(shí)間和/或位置對(duì)應(yīng)的上下文項(xiàng);指定和編輯分析規(guī)則等。在實(shí)施例中,上下文客戶機(jī)API114促進(jìn)客戶機(jī)認(rèn)證和對(duì)上下文信息的受控訪問(wèn)。該機(jī)制幫助確??蛻魴C(jī)108可以僅僅訪問(wèn)為所有客戶機(jī)可公開(kāi)得到的上下文信息或者被授權(quán)由特定客戶機(jī)或一類客戶機(jī)訪問(wèn)的上下文信息。在實(shí)施例中,上下文引擎102使用的訪問(wèn)策略指定上下文標(biāo)識(shí)符級(jí)的訪問(wèn)許可,并且是針對(duì)個(gè)體上下文項(xiàng)。在實(shí)施例中,客戶機(jī)108還可以使用策略API118來(lái)指定或調(diào)整策略引擎104所使用的平臺(tái)行為策略。當(dāng)與策略引擎104交互時(shí),客戶機(jī)108負(fù)責(zé)支持(adhereto)策略API118。在實(shí)施例中,策略API118可以支持用于指定和編輯策略引擎104中的平臺(tái)策略的功能。激勵(lì)器110能夠控制上下文平臺(tái)框架100內(nèi)和其周圍中的硬件和軟件組件。作為非限制性的實(shí)例,激勵(lì)器110可以控制硬件組件來(lái)操作上下文知曉設(shè)備的各方面,改變計(jì)算機(jī)屏幕的分辨率,操作器具(例如,溫度調(diào)節(jié)裝置、電燈器具等),在用戶接口模態(tài)之間切換,尋呼醫(yī)生等。上下文平臺(tái)框架110暴露出一組用于策略引擎104和激勵(lì)器110之間的交互的接口。該組接口在這里被統(tǒng)稱為激勵(lì)器API116??梢越?jīng)由不同機(jī)制來(lái)實(shí)現(xiàn)提供者API112、客戶機(jī)API114、激勵(lì)器API116和策略API118中的所有。在實(shí)施例中,這些不同機(jī)制可以包括一種或多種標(biāo)準(zhǔn)初級(jí)語(yǔ)言(比如C+十),管理語(yǔ)言(比如Java)和基于協(xié)議的機(jī)制(比如,網(wǎng)絡(luò)服務(wù))?,F(xiàn)在參考圖2,例示了上下文引擎102的實(shí)施例。上下文引擎102獲取、處理和維護(hù)上下文信息。上下文引擎102可以包括聚合器202、分析器204、上下文數(shù)據(jù)庫(kù)206和分析器規(guī)則數(shù)據(jù)庫(kù)208。接下來(lái),將更詳細(xì)地描述這些組件中的每個(gè)。在實(shí)施例中,聚合器202可以促進(jìn)下述任務(wù)維護(hù)從不同源(例如,提供者106和分析器204)接收的上下文信息;實(shí)施與所述上下文信息相關(guān)的訪問(wèn)策略;將上下文信息提供給客戶機(jī)108;將上下文信息提供給分析器204;管理由所述客戶機(jī)指定的上下文標(biāo)識(shí)符組等。在實(shí)施例中,上下文引擎102的執(zhí)行實(shí)例可以包括最多聚合器202的一個(gè)實(shí)例。聚合器202從提供者106接收上下文信息。聚合器202還可以接收由分析器204計(jì)算出的上下文信息。聚合器202收集所述上下文信息并將所述上下文信息存儲(chǔ)在上下文數(shù)據(jù)庫(kù)206中。聚合器202或上下文數(shù)據(jù)庫(kù)206可以使用上下文高速緩存機(jī)制來(lái)允許聚合器202快速地取回?cái)?shù)據(jù)。所述上下文高速緩存準(zhǔn)則可以具有不同的類型。例如,上下文高速緩存準(zhǔn)則可以包括高速緩存所訪問(wèn)的最后項(xiàng)、高速緩存最近n個(gè)項(xiàng)、高速緩存在最近1個(gè)小時(shí)期間接收的項(xiàng)等中的一個(gè)或多個(gè)。可以同時(shí)使用一個(gè)或多個(gè)所述上下文高速緩存準(zhǔn)則。聚合器202使所述上下文信息的源與客戶機(jī)108解耦。在實(shí)施例中,當(dāng)接收到上下文項(xiàng)對(duì)象時(shí),聚合器202使時(shí)間戳和位置戳參考與所有上下文項(xiàng)對(duì)象相關(guān)聯(lián)??蛻魴C(jī)108可以通過(guò)指定所述時(shí)間戳和/或位置濾波器,經(jīng)由上下文客戶機(jī)API104來(lái)訪問(wèn)特定上下文項(xiàng)。該機(jī)制導(dǎo)致上下文訪問(wèn)的時(shí)間偏移模式和位置偏移模式。這里,客戶機(jī)108可以請(qǐng)求適合于不同時(shí)間和/或位置的上下文信息(例如,從現(xiàn)在開(kāi)始3個(gè)月的特定城市的天氣預(yù)報(bào))。在實(shí)施例中,聚合器202所使用的上下文組定義通常是域特有的??梢栽跇?gòu)建上下文知曉設(shè)備時(shí)建立上下文組定義。其它實(shí)施例允許客戶機(jī)108在運(yùn)行時(shí)動(dòng)態(tài)地指定和修改所述上下文組定義??蛻魴C(jī)108可以訪問(wèn)作為單獨(dú)項(xiàng)或作為多個(gè)項(xiàng)的集合存儲(chǔ)的上下文信息。如上所述,一些實(shí)施例允許客戶機(jī)108在運(yùn)行時(shí)動(dòng)態(tài)地指定和修改所述上下文組定義。一個(gè)實(shí)例,不是意在限制本發(fā)明,可以包括在上下文數(shù)據(jù)庫(kù)206中存儲(chǔ)的上下文模式的多個(gè)上下文標(biāo)識(shí)符。這些實(shí)例上下文標(biāo)識(shí)符中的每個(gè)可以涉及天氣狀況,包括"亮度狀況(brightnesscondition)"、"濕度系數(shù)"等??蛻魴C(jī)108可以定義上下文項(xiàng)組,并將其稱為"天氣"。這里,所定制的上下文項(xiàng)組"天氣"可以包括在上下文數(shù)據(jù)庫(kù)206中存儲(chǔ)的所有上下文標(biāo)識(shí)符,所述上下文標(biāo)識(shí)符包括比如"亮度狀況"、"濕度系數(shù)"等的相關(guān)天氣數(shù)據(jù)。在實(shí)施例中,分析器204可以促進(jìn)下述任務(wù)在客戶機(jī)108的控制下接收和維護(hù)分析規(guī)則;監(jiān)測(cè)在聚合器202中維護(hù)的上下文信息;當(dāng)遇到上下文訪問(wèn)規(guī)則所特有的輸入條件時(shí)執(zhí)行分析規(guī)則;當(dāng)聚合器202請(qǐng)求分析規(guī)則時(shí)執(zhí)行分析規(guī)則;在執(zhí)行分析規(guī)則之前從聚合器202獲得所要求的上下文信息;將利用分析規(guī)則計(jì)算出的新的上下文信息發(fā)送到聚合器202等。在實(shí)施例中,上下文引擎102的執(zhí)行實(shí)例可以包括最多分析器204的一個(gè)實(shí)例。在實(shí)施例中,分析器204可以總是活動(dòng)的,并且當(dāng)一個(gè)客戶機(jī)108要求分析器功能時(shí),可以動(dòng)態(tài)地加載分析器204。當(dāng)動(dòng)態(tài)地加載分析器204時(shí),還要?jiǎng)討B(tài)地激活與所述分析器204相關(guān)的所有必需的連接。分析器204部分依賴于聚合器202以及動(dòng)態(tài)地加載和卸載分析器204的兩個(gè)允許之間的接口。這是如何模塊化上下文平臺(tái)框架100以及其組件可動(dòng)態(tài)加載的一個(gè)實(shí)例。在實(shí)施例中,分析器204可以對(duì)上下文信息進(jìn)行分析,以計(jì)算出新的上下文信息,與從提供者106接收的原始上下文信息相比,該新的上下文信息具有更有用的本性。所述分析可以采取若干形式,比如閾值化、模式檢測(cè)、推斷、信號(hào)處理、歷史相關(guān)等。相應(yīng)地,分析器204(通常和上下文引擎102)可以充當(dāng)"智能引擎",并且可以包括人工智能(AI)技術(shù)的一個(gè)或多個(gè)方面來(lái)幫助促進(jìn)對(duì)上下文信息的分析。在實(shí)施例中,分析器204使用由客戶機(jī)108提供的分析規(guī)則來(lái)進(jìn)行對(duì)所述上下文信息的分析,以生成附加的上下文信息。所述分析算法可以例如在構(gòu)建時(shí)由設(shè)備配置器提供或在運(yùn)行時(shí)由客戶機(jī)108提供。所述分析算法可以存儲(chǔ)在分析器規(guī)則數(shù)據(jù)庫(kù)208和其相關(guān)高速緩存中。所計(jì)算出的上下文信息被發(fā)送到聚合器202來(lái)進(jìn)行存儲(chǔ),并且進(jìn)一步由客戶機(jī)108或分析器204訪問(wèn)。作為非限制性的實(shí)例,分析器204可以執(zhí)行兩種分析算法模式。一種分析算法模式可以包括基于腳本的分析規(guī)則,如在專家系統(tǒng)中所公知的。另一種分析算法模式可以包括以二進(jìn)制形式提供的預(yù)編譯規(guī)則。在實(shí)施例中,分析規(guī)則通常是依賴于使用域的。上下文引擎102的實(shí)施例通過(guò)使分析器204執(zhí)行通常由客戶機(jī)108執(zhí)行的分析來(lái)提供對(duì)上下文信息的帶外分析。客戶機(jī)108免于進(jìn)行上下文信息獲取、聚合、監(jiān)測(cè)和分析的連續(xù)任務(wù)。這使得客戶機(jī)108能夠關(guān)注它們的主要任務(wù)或者根據(jù)需要甚至進(jìn)入睡眠狀態(tài)。在實(shí)施例中,如可由客戶機(jī)108經(jīng)由分析器204所使用的分析規(guī)則而定制的,僅僅當(dāng)出現(xiàn)"在上下文上重要的"事件或情形時(shí)可以觸發(fā)客戶機(jī)108。下面將會(huì)參照?qǐng)D4來(lái)描述聚合器202和分析器204的邏輯組件之間的依賴性的實(shí)施例。如上所述,上下文引擎102還與策略引擎104通信。參見(jiàn)圖3,例示了策略引擎104的實(shí)施例。策略引擎104可以包括控制器302和策略數(shù)據(jù)庫(kù)304??刂破?02負(fù)責(zé)基于所聚合的上下文信息、所計(jì)算出的上下文信息和策略數(shù)據(jù)庫(kù)304中存儲(chǔ)的控制策略規(guī)則,觸發(fā)實(shí)現(xiàn)上下文平臺(tái)框架100的物理平臺(tái)內(nèi)部和/或其周圍中的可觸知?jiǎng)幼???刂破?02經(jīng)由激勵(lì)器API116向激勵(lì)器110發(fā)送控制命令和數(shù)據(jù)。激勵(lì)器110能夠控制實(shí)現(xiàn)上下文平臺(tái)框架100的物理平臺(tái)內(nèi)部和/或其周圍中的硬件和軟件組件。如上所討論的,客戶機(jī)108可以定制由上下文引擎102處理的上下文信息的多個(gè)方面,以滿足特定的域要求。例如,客戶機(jī)108可以向策略引擎104提供與特定應(yīng)用程序相關(guān)的一個(gè)或多個(gè)控制策略規(guī)則。這些定制的控制策略規(guī)則可以被并入到控制策略規(guī)則集中。在實(shí)施例中,策略引擎104可以充當(dāng)"智能引擎",并且可以包括人工智能(AI)功能來(lái)幫助促進(jìn)基于所聚合的上下文信息、所計(jì)算出的上下文信息和策略數(shù)據(jù)庫(kù)304中存儲(chǔ)的控制策略規(guī)則,觸發(fā)實(shí)現(xiàn)上下文平臺(tái)框架100的物理平臺(tái)內(nèi)部和/或其周圍中的可觸知?jiǎng)幼?。在?shí)施例中,策略引擎104可以總是活動(dòng)的,或者當(dāng)要求策略引擎功能時(shí),可以動(dòng)態(tài)地加載策略引擎104。當(dāng)動(dòng)態(tài)地加載策略引擎104時(shí),還要?jiǎng)討B(tài)地激活與所述策略引擎104相關(guān)的所有必需的連接。這是如何模塊化上下文平臺(tái)框架100以及其組件可動(dòng)態(tài)加載的一個(gè)實(shí)例。圖4例示了上下文引擎102的邏輯組件或封裝之間的依賴性的一個(gè)實(shí)施例。在實(shí)施例中,如統(tǒng)一建模語(yǔ)言(UNL)中所定義的一樣使用術(shù)語(yǔ)"依賴性"。參見(jiàn)圖4,聚合器202可以具有下述邏輯組件上下文聚合器402、訪問(wèn)策略實(shí)施器404、訪問(wèn)策略存儲(chǔ)設(shè)備406、提供者處理機(jī)408、上下文存儲(chǔ)設(shè)備410和上下文模式412。分析器204可以具有下述邏輯組件上下文分析器414、分析規(guī)則訪問(wèn)416、分析規(guī)則存儲(chǔ)設(shè)備418、基于腳本的規(guī)則420和以二進(jìn)制形式提供的預(yù)編譯規(guī)則422。根據(jù)本發(fā)明的一個(gè)實(shí)施例,圖4的定向箭頭例示了邏輯組件之間的依賴性。例如,參見(jiàn)圖4,提供者處理機(jī)408和上下文分析器414依賴于上下文聚合器402,以便將新的上下文信息添加到上下文貯藏器(repository)中。上下文聚合器402依賴于上下文存儲(chǔ)設(shè)備410來(lái)使用數(shù)據(jù)庫(kù)存儲(chǔ)和取回工具。上下文模式412包括類和關(guān)聯(lián)性,其代表上下文信息的基本元素。所述模式類形成在上下文引擎102中發(fā)生的處理動(dòng)作的基礎(chǔ)。上下文模式的主類包括上下文標(biāo)識(shí)符、上下文項(xiàng)、上下文組和上下文數(shù)據(jù)。下面參照?qǐng)D5來(lái)更詳細(xì)地描述上下文模式的實(shí)施例。重要的是注意圖4中例示的所有組件依賴于或使用上下文模式412。在實(shí)施例中,上下文存儲(chǔ)設(shè)備410維護(hù)上下文信息的存儲(chǔ)器內(nèi)實(shí)例(例如,高速緩存),以供上下文引擎102中的其它邏輯組件有效訪問(wèn)。這里,最近使用的或經(jīng)常使用的上下文信息通常被維護(hù)在高速緩存中。通常期望上下文存儲(chǔ)設(shè)備410使用非易失性存儲(chǔ)機(jī)制(例如,關(guān)系數(shù)據(jù)庫(kù)(RDBMS)引擎)來(lái)存儲(chǔ)上下文信息,但是本發(fā)明的實(shí)施例并不限于此。例如,可能存在上下文引擎102不需要非易失性存儲(chǔ)設(shè)備的實(shí)例。訪問(wèn)策略存儲(chǔ)設(shè)備406和訪問(wèn)策略實(shí)施器404負(fù)責(zé)滿足客戶機(jī)108對(duì)上下文信息的請(qǐng)求。在實(shí)施例中,主要責(zé)任可以包括使上下文信息可以為客戶機(jī)108獲得,在暴露上下文信息時(shí)實(shí)施客戶機(jī)級(jí)訪問(wèn)限制,維護(hù)每客戶機(jī)的通知請(qǐng)求,以及當(dāng)所請(qǐng)求的上下文項(xiàng)變?yōu)榭梢垣@得時(shí)發(fā)送通知。提供者處理機(jī)108經(jīng)由提供者API112與提供者106進(jìn)行交互,并且接收上下文引擎102所使用的上下文信息。分析規(guī)則訪問(wèn)416允許客戶機(jī)108管理上下文引擎102中的分析規(guī)則。這里,客戶機(jī)108可以對(duì)分析規(guī)則執(zhí)行各種操作,包括但不限于,添加、移除、激活等。當(dāng)新的上下文項(xiàng)變得在上下文存儲(chǔ)設(shè)備410中可以獲得時(shí),上下文分析器414可以執(zhí)行零個(gè)或多個(gè)分析規(guī)則。分析規(guī)則存儲(chǔ)設(shè)備418表示其中維護(hù)所有分析規(guī)則的貯藏器。基于腳本的規(guī)則420和/或二進(jìn)制形式的預(yù)編譯規(guī)則422是上下文分析器414支持的分析規(guī)則的種類的兩種可能類型。接下來(lái),將參照?qǐng)D5來(lái)更為詳細(xì)地描述上下文模式500的實(shí)施例。在實(shí)施例中,利用統(tǒng)一建模語(yǔ)言(UML)來(lái)定義圖5中的所有圖標(biāo)。參見(jiàn)圖5,上下文模式500可以包括上下文組502、上下文標(biāo)識(shí)符504、上下文項(xiàng)506和上下文數(shù)據(jù)508的類。圖5中示出的示例上下文模式500是一種可能的模式,但并不意味著限制本發(fā)明。上下文組502表示一個(gè)或多個(gè)上下文標(biāo)識(shí)符504的集合。上下文標(biāo)識(shí)符504表示上下文信息的特定類型(例如,"溫度"類型)。每個(gè)上下文項(xiàng)506表示與上下文標(biāo)識(shí)符對(duì)應(yīng)的上下文信息的一個(gè)實(shí)例(比如,溫度讀取)。通常,上下文引擎102將為特定上下文標(biāo)識(shí)符504維護(hù)多個(gè)上下文項(xiàng)506。上下文數(shù)據(jù)508表示上下文項(xiàng)506的一個(gè)值。在一些情形中,允許上下文項(xiàng)506同時(shí)具有多個(gè)有效值。因此,在該類中抽象出值表示。接下來(lái),將更為詳細(xì)地描述每個(gè)所述類。上下文標(biāo)識(shí)符504是上下文引擎102中的上下文類型的核心表示。通常,上下文標(biāo)識(shí)符504指定上下文類型的特性,包括如何表示和解釋其值。上下文類型的附加特性的表示是可能的,并且是本發(fā)明的實(shí)施例所設(shè)想的。在實(shí)施例中,客戶機(jī)108通過(guò)指定上下文標(biāo)識(shí)符504來(lái)訪問(wèn)或請(qǐng)求上下文項(xiàng)506。訪問(wèn)上下文項(xiàng)506的其它間接機(jī)制也是可能的,并且是本發(fā)明的實(shí)施例所設(shè)想的。在實(shí)施例中,可以通過(guò)各種源來(lái)提供新的上下文標(biāo)識(shí)符。一個(gè)源是經(jīng)由提供者106。這里,作為提供者注冊(cè)過(guò)程的一部分,提供者提供它能夠提供的所有上下文標(biāo)識(shí)符的定義。新的上下文標(biāo)識(shí)符的另一個(gè)源是經(jīng)由客戶機(jī)108。這里,客戶機(jī)可以將新的上下文標(biāo)識(shí)符定義為指定新的上下文分析規(guī)則的一部分。上下文引擎102可以維護(hù)它所知的所有上下文標(biāo)識(shí)符504的列表。隨著從提供者106接收到新的上下文標(biāo)識(shí)符504,可以相對(duì)于已知的上下文標(biāo)識(shí)符來(lái)檢査所述新的上下文標(biāo)識(shí)符。按照類似的方式,分析器204可以在(例如,在基于腳本的規(guī)則420中)添加新的分析器規(guī)則時(shí),指定新的上下文標(biāo)識(shí)符504。參見(jiàn)圖5,上下文標(biāo)識(shí)符504的實(shí)施例具有四個(gè)主要屬性:Context-name(上下文名稱)、Description(描述)、value-schema(值-模式)禾卩multi-valued(多值)。另外,在實(shí)施例中,上下文標(biāo)識(shí)符504具有與圖中示出的關(guān)聯(lián)性對(duì)應(yīng)的成員屬性。下面的表1例示了主要屬性的可能描述<table>tableseeoriginaldocumentpage19</column></row><table>multi-value表示為浮點(diǎn)數(shù)以及被解釋為作為測(cè)量單位的華氏度數(shù)。值模式屬性可以將這指定為:"<華氏,浮點(diǎn)32>"。作為另一實(shí)例,在實(shí)施例中,"會(huì)議后勤"上下文的值可以被表示為多個(gè)元素的組合。值模式屬性可以將這指定為"<房間號(hào)字符串>,<開(kāi)始時(shí)間=時(shí)間>,<結(jié)束時(shí)間=時(shí)間>,<出席者數(shù)=1^111>"。在實(shí)施例中,該屬性可以被實(shí)現(xiàn)為XML格式的字符串。另外,針對(duì)與特定使用域?qū)?yīng)的上下文標(biāo)識(shí)符綜合(comprehensive)組,可以指定和標(biāo)準(zhǔn)化值-模式。指示與當(dāng)前上下文標(biāo)識(shí)符504對(duì)應(yīng)的上下文項(xiàng)506是否可能同時(shí)具有多個(gè)有效上下文數(shù)據(jù)508對(duì)象。在實(shí)施例中,該屬性可以被實(shí)現(xiàn)為布爾標(biāo)志。表l上下文組502表示兩個(gè)或多個(gè)上下文標(biāo)識(shí)符的集合。所述集合通常是在創(chuàng)建該集合的域中有意義??梢栽谌魏螘r(shí)候向上下文引擎102添加或從上下文引擎102中移除上下文組502。在實(shí)施例中,客戶機(jī)108可以動(dòng)態(tài)地將上下文組502對(duì)象添加到上下文引擎102中和從上下文引擎102中移除。但是典型地,將在把設(shè)備部署在特定使用域中時(shí)創(chuàng)建上下文組502。在實(shí)施例中,組成員資格是通過(guò)引用得到的,這意味著組成上下文組502的上下文標(biāo)識(shí)符504是單獨(dú)存在的并且上下文組的刪除不能從上下文引擎102中移除該成員上下文標(biāo)識(shí)符。上下文標(biāo)識(shí)符504可以是多個(gè)上下文組502的成員(例如,在其中引用)。上下文組502可以包含其它上下文組(僅僅非-循環(huán)關(guān)系)。而且,上下文組502可以是多個(gè)其它上下文組502的一部分。參考圖5,上下文組502的實(shí)施例可以具有兩個(gè)主要屬性GroupName(組名稱)和Description(描述)。另外,在實(shí)施例中,上下文組502具有與圖中示出的關(guān)聯(lián)性對(duì)應(yīng)的成員屬性。下面的表2例示了主要屬性的可能描述<table>tableseeoriginaldocumentpage20</column></row><table><table>tableseeoriginaldocumentpage21</column></row><table>表2上下文項(xiàng)506表示與上下文標(biāo)識(shí)符504對(duì)應(yīng)的上下文信息的特定樣本。在一些上下文類型的情況下,上下文項(xiàng)對(duì)象可以同時(shí)具有多個(gè)有效值。因此,可以在不同的類上下文數(shù)據(jù)508中抽象出上下文項(xiàng)類的值表示。參考圖5,上下文項(xiàng)506的實(shí)施例可以具有三個(gè)主要屬性IsProjected(是計(jì)劃的),Location(位置)禾BTime(時(shí)間)。另外,在實(shí)施例中,上下文項(xiàng)506具有與圖中示出的關(guān)聯(lián)性對(duì)應(yīng)的成員屬性。下面的表3例示了主要屬性的可能描述<table>tableseeoriginaldocumentpage21</column></row><table><table>tableseeoriginaldocumentpage22</column></row><table>表3上下文數(shù)據(jù)508表示上下文項(xiàng)506的一個(gè)值。在一些實(shí)施例中,上下文項(xiàng)被允許同時(shí)具有多個(gè)有效值。因此,在該類中抽象出值表示。上下文標(biāo)識(shí)符504指示它的相應(yīng)上下文項(xiàng)506是否可以同時(shí)具有多個(gè)有效值。在實(shí)施例中,利用與類上下文標(biāo)識(shí)符504的布爾屬性"multi-valued"來(lái)對(duì)多值的可能性進(jìn)行標(biāo)志。參考圖5,上下文數(shù)據(jù)508的實(shí)施例可以具有三個(gè)主要屬性:Value(值)、Validityduration(有效期)禾卩Certainty(確定性)。下面的表4例示了這些屬性的可能描述Value這是上下文項(xiàng)的實(shí)際值。在實(shí)施例中,該字段可以被表示為XML格式的字符串。與所述對(duì)象相關(guān)聯(lián)的上下文標(biāo)識(shí)符包含如何解釋該值的信息。Validityduration該數(shù)據(jù)值應(yīng)該被認(rèn)為有效的持續(xù)時(shí)間。該字段提供關(guān)于該數(shù)據(jù)值在指定時(shí)間戳之后在相應(yīng)的上下文對(duì)象中的有用性的暗示。在該有效期過(guò)去之后,該數(shù)據(jù)值的可靠性較低。Certainty與該值的正確性相關(guān)的可能性(例如,確信)。在實(shí)施例中,該確定性值可以被表示為-100到+100的范圍中的整數(shù),其中+100:值毫無(wú)疑問(wèn)正確-100:值毫無(wú)疑問(wèn)不可能當(dāng)使用其它上下文參數(shù)的算法分析來(lái)計(jì)算上下文值時(shí),該屬性特別有用。例如(1)交通信息上下文的提供者可以指示兩個(gè)地點(diǎn)之間的估計(jì)駕駛時(shí)間為20分鐘,其確定性值為+70。(2)分析器204中的分析值可以確定用戶的當(dāng)前私人狀態(tài)的值為"單獨(dú)",其確定性為-80;以及"在其_l他人的5英尺內(nèi)",其確定性為+70。_表4在一個(gè)實(shí)施例中,上下文引擎102和/或策略引擎104可以被并入到能夠執(zhí)行這里所描述的功能的任何移動(dòng)設(shè)備中。引擎102和/或104可以被實(shí)現(xiàn)為有線通信系統(tǒng)、無(wú)線通信系統(tǒng)或兩者組合的一部分。在一個(gè)實(shí)施例中,例如,引擎102和/或104可以被實(shí)現(xiàn)為具有無(wú)線能力的移動(dòng)計(jì)算設(shè)備。移動(dòng)計(jì)算設(shè)備可以指例如具有處理系統(tǒng)和比如一個(gè)或多個(gè)電池的移動(dòng)電源或電力供應(yīng)的任何設(shè)備。在其它實(shí)施例中,上下文平臺(tái)框架IOO(例如,上下文引擎102和/或策略引擎104)還可以部署在固定計(jì)算設(shè)備上,比如臺(tái)式PC、后端服務(wù)器等??梢赃m于包括本發(fā)明的功能的移動(dòng)計(jì)算設(shè)備的實(shí)施例的實(shí)例包括膝上型計(jì)算機(jī)、超膝上型計(jì)算機(jī)、便攜式計(jì)算機(jī)、手持計(jì)算機(jī)、掌上型計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)、蜂窩電話、蜂窩電話/PDA組合、智能電話、尋呼機(jī)、單向?qū)ず魴C(jī)、雙向?qū)ず魴C(jī)、消息設(shè)備、數(shù)據(jù)通信設(shè)備等。此種移動(dòng)計(jì)算設(shè)備的實(shí)例還可以包括被配置來(lái)被個(gè)人佩戴的計(jì)算機(jī),比如,腕式計(jì)算機(jī)、指上型計(jì)算機(jī)、指環(huán)型計(jì)算機(jī)、眼鏡型計(jì)算機(jī)、腰帶夾型計(jì)算機(jī)、臂帶式計(jì)算機(jī)、鞋式計(jì)算機(jī)、衣服型計(jì)算機(jī)以及其它佩戴型計(jì)算機(jī)。圖6中示出了本發(fā)明的實(shí)施例的更為詳細(xì)的描述。參見(jiàn)圖6,設(shè)備600可以包括外殼602、顯示器604、一個(gè)或多個(gè)輸入/輸出設(shè)備606、一個(gè)或多個(gè)傳感器607、天線608、導(dǎo)航按鈕610、上下文引擎102和策略引擎104。上下文引擎102和/或策略引擎104可以直接集成到設(shè)備600中或可以經(jīng)由連接(例如,無(wú)線、有線或兩者的組合)耦合到設(shè)備600。注意,盡管引擎102和104的功能性在這里被描述為被分為兩個(gè)組件,這并不意味著限制本發(fā)明。實(shí)際上,該功能可以被合并為一個(gè)組件或分為三個(gè)或更多個(gè)組件。接下來(lái),將詳細(xì)地描述圖6中的每個(gè)組件。外殼602可以包括任何合適的外殼,但對(duì)于設(shè)備600,該外殼通常具有小的形狀因子,以便容易運(yùn)輸。顯示器604可以包括任何合適的顯示單元,用于顯示適合于引擎102和/或104的功能的信息。顯示器604被本發(fā)明的實(shí)施例使用來(lái)幫助輸入設(shè)備600,比如定制的控制策略規(guī)則(如上所述)等。I/O設(shè)備606可以包括任何適合的I/O設(shè)備,用于將信息輸入到設(shè)備600中,或者從設(shè)備600接收信息。這里,1/0設(shè)備可以用來(lái)從提供者輸入數(shù)據(jù),向客戶機(jī)108發(fā)送上下文信息,將定制的控制策略規(guī)則輸入策略引擎104和分析器204中等。1/O設(shè)備606的實(shí)例可以包括觸摸屏接口、具有圖標(biāo)選擇的簡(jiǎn)單菜單、對(duì)設(shè)備的手勢(shì)操作、合適的字母數(shù)字鍵盤、數(shù)字鍵盤、觸摸墊、輸入鍵、按鈕、開(kāi)關(guān)、翹板開(kāi)關(guān)、麥克風(fēng)、揚(yáng)聲器、語(yǔ)音識(shí)別設(shè)備和軟件、以及所有如上所述的生理感測(cè)等??梢酝ㄟ^(guò)麥克風(fēng)將信息輸入設(shè)備600。可以利用語(yǔ)音識(shí)別設(shè)備對(duì)此種信息進(jìn)行數(shù)字化。所述實(shí)施例并不限于此。傳感器607可以包括任何合適傳感器,用于收集上下文引擎102所使用的上下文信息。實(shí)例傳感器607可以包括一個(gè)或多個(gè)如上參照?qǐng)D1描述的傳感器。天線608用于促進(jìn)利用本發(fā)明的實(shí)施例進(jìn)行的無(wú)線通信。在一個(gè)實(shí)施例中,導(dǎo)航按鈕610包括向上導(dǎo)航按鈕、向下導(dǎo)航按鈕、向左導(dǎo)航按鈕和向右導(dǎo)航按鈕。導(dǎo)航按鈕610還可以包括用于執(zhí)行設(shè)備600上的特定功能的選擇按鈕。還可以參考下述圖形和所附實(shí)例來(lái)進(jìn)一步描述上述實(shí)施例的操作。所述圖形中的部分圖形可以包括邏輯流程圖。盡管這里呈現(xiàn)的此種圖形可以包括特定邏輯流程圖,但是可以明白的是,所述邏輯流程圖僅僅提供如何實(shí)現(xiàn)這里所述的通用功能的實(shí)例。此外,除非另外指出,所給出的邏輯流程圖不必必須按照所呈現(xiàn)的順序來(lái)執(zhí)行。另外,所給出的邏輯流程圖可以利用硬件元件、由處理器執(zhí)行的軟件元件或它們的任意組合來(lái)實(shí)現(xiàn)。圖7-圖10例示了可以表示由這里描述的一個(gè)或多個(gè)實(shí)施例執(zhí)行的操作,例如由上下文平臺(tái)框架100執(zhí)行的操作,的邏輯流程圖的實(shí)施例。圖7例示了用于例示如何向聚合器202提供上下文信息的邏輯流程圖700的一個(gè)實(shí)施例。參見(jiàn)圖7,經(jīng)由一個(gè)或多個(gè)提供者106收集上下文信息,并且經(jīng)由提供者API112將上下文信息發(fā)送到聚合器202(塊702)。聚合器202將時(shí)間戳和/或位置戳置于所述上下文信息上(塊704)。聚合器202將所述上下文信息存儲(chǔ)在上下文存儲(chǔ)設(shè)備中(塊706)。聚合器202觸發(fā)分析器204中的合適的分析規(guī)則(塊708)。圖8例示了用于例示客戶機(jī)108如何訪問(wèn)聚合器202中的上下文數(shù)據(jù)的邏輯流程圖800的一個(gè)實(shí)施例。參見(jiàn)圖8,客戶機(jī)108使用客戶機(jī)API114來(lái)向聚合器202進(jìn)行自身認(rèn)證(塊802)。如果客戶機(jī)108被認(rèn)證,則允許客戶機(jī)108通過(guò)指定上下文項(xiàng)506的上下文標(biāo)識(shí)符504來(lái)向聚合器202請(qǐng)求上下文項(xiàng)506(塊804)。如果在上下文存儲(chǔ)設(shè)備中可獲得所請(qǐng)求的上下文項(xiàng),則聚合器202從所述上下文存儲(chǔ)設(shè)備中取回上下文項(xiàng),并經(jīng)由客戶機(jī)API114將上下文項(xiàng)發(fā)送到客戶機(jī)108(塊806)。如果在上下文存儲(chǔ)設(shè)備中不能獲得所請(qǐng)求的上下文項(xiàng),則聚合器202可以從一個(gè)或多個(gè)提供者106請(qǐng)求該上下文項(xiàng)。聚合器202還可以請(qǐng)求分析器204來(lái)計(jì)算上下文項(xiàng)506。上下文項(xiàng)506被存儲(chǔ)在上下文存儲(chǔ)設(shè)備中,并經(jīng)由客戶機(jī)API114發(fā)送到客戶機(jī)108(塊808)。圖9例示了用于例示客戶機(jī)108如何向分析器204提供分析規(guī)則的邏輯流程圖900的一個(gè)實(shí)施例。參見(jiàn)圖9,客戶機(jī)108定義分析規(guī)則(塊902)??蛻魴C(jī)108經(jīng)由客戶機(jī)API114將分析規(guī)則提供給分析器204(塊904)。分析器204注冊(cè)所述分析規(guī)則,編譯所述分析規(guī)則并且將所述分析規(guī)則存儲(chǔ)在分析規(guī)則存儲(chǔ)設(shè)備中(塊906)。圖10例示了策略引擎104的操作的邏輯流程圖1000的一個(gè)實(shí)施例。參見(jiàn)圖10,提供者106向聚合器202提供觸發(fā)策略引擎104中的動(dòng)作的上下文信息(塊1002)。策略引擎104使用其自身的控制策略規(guī)則來(lái)確定動(dòng)作(塊1004)。策略引擎104經(jīng)由激勵(lì)器API116來(lái)指示激勵(lì)器110執(zhí)行所述動(dòng)作(塊1006)??梢允褂糜布?、軟件元件或兩者的組合來(lái)實(shí)現(xiàn)各個(gè)實(shí)施例。硬件元件的實(shí)例可以包括處理器、微處理器、電路、電路元件(例如,晶體管、電阻器、電容器、電感器等)、集成電路、專用集成電路(ASIC)、可編程邏輯設(shè)備(PLD)、數(shù)字信號(hào)處理器(DSP)、現(xiàn)場(chǎng)可編程門陣列(FPGA)、邏輯門、寄存器、半導(dǎo)體設(shè)備、芯片、微芯片、芯片組等。軟件的實(shí)例可以包括軟件組件、程序、應(yīng)用、計(jì)算機(jī)程序、應(yīng)用程序、系統(tǒng)程序、機(jī)器程序、操作系統(tǒng)軟件、中間件、固件、軟件模塊、例程、子例程、功能、方法、步驟、軟件接口、應(yīng)用程序接口(API)、指令集、計(jì)算代碼、計(jì)算機(jī)代碼、代碼段、計(jì)算機(jī)代碼段、單詞、值、符號(hào)或者它們的任意組合。確定是否使用硬件元件和/或軟件元件來(lái)實(shí)現(xiàn)實(shí)施例,這可以根據(jù)任意數(shù)目的因素而改變,比如期望的計(jì)算速率、功率電平、耐熱性、處理循環(huán)預(yù)算、輸入數(shù)據(jù)速率、輸出數(shù)據(jù)速率、存儲(chǔ)器資源、數(shù)據(jù)總線速度和其它設(shè)計(jì)或性能限制。可以使用術(shù)語(yǔ)"耦合"和"連接"以及它們的派生詞來(lái)描述一些實(shí)施例。這些術(shù)語(yǔ)并不意在彼此互為同義詞。例如,一些實(shí)施例可以使用術(shù)語(yǔ)"連接"和/或"耦合"來(lái)指示兩個(gè)或多個(gè)元件彼此直接物理接觸或電氣接觸。然而,術(shù)語(yǔ)"耦合"還可以意味著兩個(gè)或多個(gè)元件彼此不直接接觸,但是仍然合作或彼此交互。一些實(shí)施例可以使用例如機(jī)器可讀介質(zhì)或者計(jì)算機(jī)可讀介質(zhì)或者產(chǎn)品來(lái)實(shí)現(xiàn),所述機(jī)器可讀介質(zhì)或者計(jì)算機(jī)可讀介質(zhì)或者產(chǎn)品可以存儲(chǔ)指令或者指令集,當(dāng)所述指令或者指令集被機(jī)器執(zhí)行時(shí),可以使得該機(jī)器執(zhí)行根據(jù)上述實(shí)施例的方法和/或者操作。這種機(jī)器可以包括,例如,任意合適的處理平臺(tái)、計(jì)算平臺(tái)、計(jì)算設(shè)備、處理設(shè)備、計(jì)算系統(tǒng)、處理系統(tǒng)、計(jì)算機(jī)、處理器等,并且可以使用硬件和/或者軟件的任意合適的組合來(lái)實(shí)現(xiàn)。該機(jī)器可讀介質(zhì)或者產(chǎn)品可以包括,例如,任何適合類型的存儲(chǔ)器單元、存儲(chǔ)器設(shè)備、存儲(chǔ)器產(chǎn)品、存儲(chǔ)器介質(zhì)、存儲(chǔ)設(shè)備,存儲(chǔ)產(chǎn)品、存儲(chǔ)介質(zhì)和/或存儲(chǔ)單元,例如,存儲(chǔ)器、可移動(dòng)或者不可移動(dòng)介質(zhì)、可擦除或者不可擦除介質(zhì)、可寫或者可重寫介質(zhì)、數(shù)字或者模擬介質(zhì)、硬盤、軟盤、壓縮盤只讀存儲(chǔ)器(CD-ROM)、可記錄壓縮盤(CD-R)、可重寫壓縮盤(CD-RW)、光盤、磁盤、磁光盤、可移動(dòng)存儲(chǔ)卡或者盤、各種類型的數(shù)字多功能盤(DVD)、磁帶、盒式磁帶等等。所述指令可以包含任何合適類型的代碼,例如源代碼、經(jīng)過(guò)編譯的代碼、經(jīng)過(guò)解釋的代碼、可執(zhí)行代碼、靜態(tài)代碼、動(dòng)態(tài)代碼、經(jīng)過(guò)加密的代碼等等。所述指令可以使用任何合適的高級(jí)、低級(jí)、面向?qū)ο蟮摹⒖梢暤?、?jīng)過(guò)編譯的和/或者經(jīng)過(guò)解釋的編程語(yǔ)言來(lái)實(shí)現(xiàn)。除非以其它方式特別說(shuō)明,要明白的是,比如"處理"、"計(jì)算"、"運(yùn)算"、"確定"之類的術(shù)語(yǔ)可以指計(jì)算機(jī)或計(jì)算系統(tǒng)或類似電子計(jì)算設(shè)備的動(dòng)作和/或過(guò)程,該計(jì)算機(jī)或計(jì)算系統(tǒng)或類似電子計(jì)算設(shè)備將被表示為計(jì)算系統(tǒng)的寄存器和/或存儲(chǔ)器內(nèi)的物理量(例如電子)的數(shù)據(jù)處理和變換為類似表示為計(jì)算系統(tǒng)的存儲(chǔ)器和寄存器、或其它此種信息存儲(chǔ)設(shè)備、發(fā)送或顯示設(shè)備內(nèi)的物理量的其它數(shù)據(jù)。本實(shí)施例并不限于此。為了提供對(duì)實(shí)施例的全面理解,在這里給出了多個(gè)特定的細(xì)節(jié),然而,本領(lǐng)域技術(shù)人員將意識(shí)到所述實(shí)施例可以在沒(méi)有這些特定細(xì)節(jié)的情況下實(shí)現(xiàn)。在其它實(shí)例中,為了不使實(shí)施例混淆,對(duì)公知的操作、組件和電路不進(jìn)行詳細(xì)地描述??梢哉J(rèn)識(shí)到的是,這里所公開(kāi)的特定結(jié)構(gòu)和功能細(xì)節(jié)是代表性,并不必限制實(shí)施例的范圍。盡管已經(jīng)按照結(jié)構(gòu)特征和/或方法邏輯動(dòng)作特有的語(yǔ)言描述了所述主題,但是要理解的是,在所附權(quán)利要求中所限定的主題不必限制到如上所述的特定特征或動(dòng)作。相反,如上所述的特定特征和動(dòng)作被公開(kāi)作為實(shí)現(xiàn)權(quán)利要求的實(shí)例形式。權(quán)利要求1、一種方法,包括經(jīng)由提供者應(yīng)用程序接口(API)從多個(gè)提供者接收上下文信息;聚合所述接收的上下文信息;分析所述接收的上下文信息和聚合的上下文信息,以生成計(jì)算出的上下文信息;以及基于所述聚合的上下文信息、所述計(jì)算出的上下文信息和一個(gè)或者多個(gè)分析規(guī)則,觸發(fā)多個(gè)客戶機(jī)中的至少一個(gè)客戶機(jī)的動(dòng)作,其中與所述多個(gè)客戶機(jī)的通信是經(jīng)由客戶機(jī)API來(lái)完成的。2、如權(quán)利要求l所述的方法,其中,所述多個(gè)客戶機(jī)中的每個(gè)和所述多個(gè)提供者中的每個(gè)是域特有的。3、如權(quán)利要求l所述的方法,其中,所述分析規(guī)則可以由所述多個(gè)客戶機(jī)定制。4、如權(quán)利要求l所述的方法,其中,聚合所述接收的上下文信息使得所述接收的上下文信息與其源解耦。5、如權(quán)利要求l所述的方法,其中,所述接收的上下文信息是基于所述多個(gè)客戶機(jī)提供的準(zhǔn)則來(lái)聚合的。6、如權(quán)利要求l所述的方法,其中,所述多個(gè)提供者中的每個(gè)是環(huán)境傳感器、平臺(tái)傳感器、生理傳感器和軟件源中之一。7、如權(quán)利要求l所述的方法,其中,所述接收的上下文信息、所述聚合的上下文信息和所述計(jì)算出的上下文信息是根據(jù)上下文模式來(lái)處理的。8、如權(quán)利要求7所述的方法,其中,所述上下文模式包括上下文標(biāo)識(shí)符類、上下文項(xiàng)類、上下文組類、上下文數(shù)據(jù)類,以及所述上下文標(biāo)識(shí)符類、所述上下文項(xiàng)類、所述上下文組類和所述上下文數(shù)據(jù)類之間的一個(gè)或多個(gè)關(guān)聯(lián)性。9、如權(quán)利要求l所述的方法,其中,所述多個(gè)客戶機(jī)可以基于時(shí)間戳和位置戳來(lái)請(qǐng)求上下文信息。10、如權(quán)利要求1所述的方法,還包括基于一個(gè)或多個(gè)控制策略規(guī)則來(lái)觸發(fā)動(dòng)作。11、如權(quán)利要求10所述的方法,其中,所述多個(gè)客戶機(jī)可以定制所述一個(gè)或多個(gè)控制策略規(guī)則。12、一個(gè)系統(tǒng),包括-聚合器,用于經(jīng)由提供者應(yīng)用程序接口(API)從多個(gè)提供者接收上下文信息,并且其中所述聚合器聚合所述接收的上下文信息;以及分析器,用于分析所述接收的上下文信息和所述聚合的上下文信息,以生成計(jì)算出的上下文信息;其中基于所述聚合的上下文信息、所述計(jì)算出的上下文信息和一個(gè)或者多個(gè)分析規(guī)則,所述聚合器和所述分析器中至少一個(gè)觸發(fā)多個(gè)客戶機(jī)中的至少一個(gè)客戶機(jī)的動(dòng)作,其中與所述多個(gè)客戶機(jī)的通信是經(jīng)由客戶機(jī)API來(lái)完成的。13、如權(quán)利要求12所述的系統(tǒng),其中,所述多個(gè)客戶機(jī)中的每個(gè)和所述多個(gè)提供者中的每個(gè)是域特有的。14、如權(quán)利要求12所述的系統(tǒng),其中,所述分析規(guī)則可以由所述多個(gè)客戶機(jī)定制。15、如權(quán)利要求12所述的系統(tǒng),其中,聚合所述接收的上下文信息使得所述接收的上下文信息與其源解耦。16、如權(quán)利要求12所述的系統(tǒng),其中,所述接收的上下文信息是基于所述多個(gè)客戶機(jī)提供的準(zhǔn)則來(lái)聚合的。17、如權(quán)利要求12所述的系統(tǒng),其中,所述多個(gè)提供者中的每個(gè)是環(huán)境傳感器、平臺(tái)傳感器、生理傳感器和軟件源中之一。18、如權(quán)利要求12所述的系統(tǒng),其中,所述接收的上下文信息、所述聚合的上下文信息和所述計(jì)算出的上下文信息是根據(jù)上下文模式來(lái)處理的。19、如權(quán)利要求18所述的系統(tǒng),其中,所述上下文模式包括上下文標(biāo)識(shí)符類、上下文項(xiàng)類、上下文組類、上下文數(shù)據(jù)類,以及所述上下文標(biāo)識(shí)符類、所述上下文項(xiàng)類、所述上下文組類和所述上下文數(shù)據(jù)類之間的一個(gè)或多個(gè)關(guān)聯(lián)性。20、如權(quán)利要求12所述的系統(tǒng),其中,所述多個(gè)客戶機(jī)基于時(shí)間戳和位置戳來(lái)請(qǐng)求上下文信息。21、如權(quán)利要求12所述的系統(tǒng),還包括策略引擎,用于基于一個(gè)或多個(gè)控制策略規(guī)則來(lái)觸發(fā)動(dòng)作。22、如權(quán)利要求21所述的系統(tǒng),其中,所述多個(gè)客戶機(jī)可以定制所述一個(gè)或多個(gè)控制策略規(guī)則。23、一種包含指令的機(jī)器可讀存儲(chǔ)介質(zhì),當(dāng)由處理系統(tǒng)執(zhí)行時(shí),所述指令使得所述處理系統(tǒng)執(zhí)行方法,所述方法包括經(jīng)由提供者應(yīng)用程序接口(API)從多個(gè)提供者接收上下文信息;聚合所述接收的上下文信息;分析所述接收的上下文信息和所述聚合的上下文信息,以生成計(jì)算出的上下文信息;以及基于所述聚合的上下文信息、所述計(jì)算出的上下文信息和一個(gè)或者多個(gè)分析規(guī)則,觸發(fā)多個(gè)客戶機(jī)中的至少一個(gè)客戶機(jī)的動(dòng)作,其中與所述多個(gè)客戶機(jī)的通信是經(jīng)由客戶機(jī)API來(lái)完成的。24、如權(quán)利要求23所述的機(jī)器可讀存儲(chǔ)介質(zhì),其中,所述多個(gè)客戶機(jī)中的每個(gè)和所述多個(gè)提供者中的每個(gè)是域特有的。25、如權(quán)利要求23所述的機(jī)器可讀存儲(chǔ)介質(zhì),其中,所述分析規(guī)則可以由所述多個(gè)客戶機(jī)定制。26、如權(quán)利要求23所述的機(jī)器可讀存儲(chǔ)介質(zhì),其中,聚合所述接收的上下文信息使得所述接收的上下文信息與其源解耦。27、如權(quán)利要求23所述的機(jī)器可讀存儲(chǔ)介質(zhì),其中,所述接收的上下文信息是基于所述多個(gè)客戶機(jī)提供的準(zhǔn)則來(lái)聚合的。28、如權(quán)利要求23所述的機(jī)器可讀存儲(chǔ)介質(zhì),其中,所述多個(gè)提供者中的每個(gè)是環(huán)境傳感器、平臺(tái)傳感器、生理傳感器和軟件源中之一。29、如權(quán)利要求23所述的機(jī)器可讀存儲(chǔ)介質(zhì),其中,所述接收的上下文信息、所述聚合的上下文信息和所述計(jì)算出的上下文信息是根據(jù)上下文模式來(lái)處理的。30、如權(quán)利要求29所述的機(jī)器可讀存儲(chǔ)介質(zhì),其中,所述上下文模式包括上下文標(biāo)識(shí)符類、上下文項(xiàng)類、上下文組類、上下文數(shù)據(jù)類,以及所述上下文標(biāo)識(shí)符類、所述上下文項(xiàng)類、所述上下文組類和所述上下文數(shù)據(jù)類之間的一個(gè)或多個(gè)關(guān)聯(lián)性。31、如權(quán)利要求23所述的機(jī)器可讀存儲(chǔ)介質(zhì),其中,所述多個(gè)客戶機(jī)可以基于時(shí)間戳和位置戳來(lái)請(qǐng)求上下文信息。32、如權(quán)利要求23所述的機(jī)器可讀存儲(chǔ)介質(zhì),還包括基于一個(gè)或多個(gè)控制策略規(guī)則來(lái)觸發(fā)動(dòng)作。33、如權(quán)利要求32所述的機(jī)器可讀存儲(chǔ)介質(zhì),其中,所述多個(gè)客戶機(jī)可以定制所述一個(gè)或多個(gè)控制策略規(guī)則。全文摘要描述了一種用于聚合、分析和使用上下文信息的上下文平臺(tái)框架。系統(tǒng)的實(shí)施例包括聚合器,用于經(jīng)由提供者應(yīng)用程序接口(API)從多個(gè)提供者接收上下文信息;其中所述聚合器用于聚合所述接收的上下文信息。所述系統(tǒng)還包括分析器,用于分析所述接收的上下文信息和所述聚合的上下文信息,以生成計(jì)算出的上下文信息。隨后,基于所述聚合的上下文信息、所述計(jì)算出的上下文信息和一個(gè)或者多個(gè)分析規(guī)則,所述聚合器和所述分析器中至少一個(gè)觸發(fā)多個(gè)客戶機(jī)中的至少一個(gè)客戶機(jī)的動(dòng)作,其中與所述多個(gè)客戶機(jī)的通信是經(jīng)由客戶機(jī)API來(lái)完成的。描述和要求了其它實(shí)施例。文檔編號(hào)G06F9/44GK101393520SQ20081016562公開(kāi)日2009年3月25日申請(qǐng)日期2008年9月19日優(yōu)先權(quán)日2007年9月20日發(fā)明者A·N·哈塔卡爾,D·A·桑德奇,J·L·梅莫特申請(qǐng)人:英特爾公司