專利名稱:使用抽象服務(wù)的語義管理應(yīng)用程序間的沖突的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
根據(jù)本發(fā)明的方法和系統(tǒng)廣泛涉及應(yīng)用程序之間的沖突管理,更具體地說,涉及通過使用用于組上下文信息管理的抽象服務(wù)的語義來檢測和解決上下文感知應(yīng)用程序之間的沖突。
背景技術(shù):
上下文感知技術(shù)是普適計算的一種關(guān)鍵技術(shù),通過收集涉及用戶的位置、環(huán)境和狀態(tài)的信息向用戶提供想要和期望的服務(wù)。上下文感知應(yīng)用程序指的是通過使用上下文感知技術(shù)在沒有來自用戶的明確請求的情況下向用戶提供想要的服務(wù)的應(yīng)用程序。
對上下文感知應(yīng)用程序的研究已經(jīng)成功,通過精確地捕捉用戶的上下文信息、處理并管理該上下文信息以使應(yīng)用程序可利用該上下文信息而有效地滿足至少一些用戶的要求。然而,不顧及在成員一起居住在像家一樣的地方的這樣的環(huán)境下的其它用戶的上下文感知應(yīng)用程序可能引起這樣的情形,即,某用戶的應(yīng)用程序的服務(wù)侵犯了其它用戶的權(quán)益。引起這樣的情形是因為上下文信息對于即使在相同環(huán)境中的各個用戶而言,也被不同地解釋。
通過在上下文感知應(yīng)用程序的開發(fā)階段考慮其它附近用戶的上下文信息,傳統(tǒng)的上下文感知應(yīng)用程序已被開發(fā)以避免不期望的情形。然而,這樣的方法急劇地增加了開發(fā)上下文感知應(yīng)用程序的復(fù)雜性。此外,由于具有高的用戶移動性和頻繁的環(huán)境變化的普適計算的特征,所以事實上不可能檢測并解決潛在沖突。因此,為了在普適環(huán)境中實現(xiàn)傳統(tǒng)個性化上下文感知應(yīng)用程序的無沖突執(zhí)行,需要一種功能,在該功能中,沖突將在中間件而不是在應(yīng)用程序被動態(tài)地檢測并被解決。
用于上下文感知應(yīng)用程序之間的沖突的檢測和解決的傳統(tǒng)方法包括Gaia系統(tǒng)和CARISMA系統(tǒng)。Gaia系統(tǒng)以規(guī)則的形式定義依賴上下文的應(yīng)用程序的行為并將優(yōu)先級賦予這些規(guī)則。當多于兩個規(guī)則在相同的情形下被同時激活時,Gaia系統(tǒng)通過執(zhí)行具有更高優(yōu)先級的應(yīng)用程序來解決上下文感知應(yīng)用程序之間的沖突。然而,Gaia系統(tǒng)不能總是滿足所有用戶,這是因為規(guī)則的優(yōu)先級應(yīng)該在上下文感知應(yīng)用程序的開發(fā)階段被預(yù)定義,并且根據(jù)規(guī)則的優(yōu)先級僅僅一個激活的規(guī)則可被執(zhí)行。
關(guān)于CARISMA系統(tǒng),假定當在一個上下文感知應(yīng)用程序中滿足給定情形的多個用戶策略被同時激活(概況內(nèi)(intra-profile))時,以及當多個用戶的上下文感知應(yīng)用程序共享服務(wù)來協(xié)作,諸如閑聊火視頻會議,但是該服務(wù)被不同的策略(概況間(inter-profile))使用時,引起沖突。此外,開發(fā)了一種算法來動態(tài)地調(diào)整應(yīng)用程序以基于質(zhì)量項和用戶對質(zhì)量項的偏好來最大程度地滿足所有用戶的要求,而不用為檢測到的沖突預(yù)定義沖突解決方法。然而,不利的是,CARISMA系統(tǒng)不能檢測由于其它用戶而獨立開發(fā)的上下文感知應(yīng)用程序之間的沖突。
同樣,僅當多個用戶策略同時響應(yīng)給定的上下文信息時以及當多個應(yīng)用程序使用相同的服務(wù)彼此交互并對給定的上下文信息使用不同的策略時,上下文感知應(yīng)用程序的傳統(tǒng)沖突檢測和解決才假定應(yīng)用程序中的沖突。然而,不僅當應(yīng)用程序的用戶策略同時響應(yīng)給定的情形時,而且當由先前用戶策略改變的上下文信息被另一用戶的用戶策略修改或破壞時,也可引起沖突。傳統(tǒng)方法不能檢測這樣的沖突。
此外,傳統(tǒng)方法通過基于在應(yīng)用程序的開發(fā)時為檢測到的沖突規(guī)定的優(yōu)先級或用戶策略的用戶偏好,選擇引起沖突的用戶策略中的任何一個來解決沖突。因此,傳統(tǒng)方法不能滿足所有用戶。此外,因為僅僅規(guī)定的沖突可被檢測和解決,所以不可能檢測和解決意外的沖突。然而,因為由于在普適環(huán)境中存在具有高用戶移動性的多個用戶而幾乎不可能預(yù)定義所有可能的沖突,所以傳統(tǒng)方法不是實用的解決方案。
發(fā)明內(nèi)容
提供本發(fā)明來解決發(fā)生在傳統(tǒng)安排中的上述和其它問題和缺點。本發(fā)明的說明性的非限制性的實施例可克服以上缺點和以上沒有描述的其它缺點。本發(fā)明不一定需要克服上述的任何確定,本發(fā)明的說明性的非限制性的實施例可能無法克服上述的所有問題。應(yīng)該參考權(quán)利要求來確定本發(fā)明的真正范圍。
本發(fā)明提供一種管理應(yīng)用程序之間的沖突的方法和系統(tǒng),該方法和系統(tǒng)通過管理應(yīng)用程序的行為、對上下文的影響的類型以及行為的有效時間周期對上下文信息的影響,確定一個用戶的應(yīng)用程序的行為是否損害其他用戶,并且動態(tài)地檢測并解決沖突。
根據(jù)本發(fā)明的一方面,提供一種管理和解決上下文感知應(yīng)用程序之間的沖突的方法。該方法包括從應(yīng)用程序接收服務(wù)請求;分析請求的服務(wù)的語義并將其注冊到數(shù)據(jù)結(jié)構(gòu);確定被注冊到所述數(shù)據(jù)結(jié)構(gòu)的服務(wù)行為之間是否發(fā)生沖突;當發(fā)生沖突時,從所述數(shù)據(jù)結(jié)構(gòu)中去除沖突的服務(wù)行為的語義,并為該沖突產(chǎn)生解決策略;和根據(jù)所述解決策略請求新的服務(wù)。
所述方法還可包括當沒發(fā)生沖突時執(zhí)行請求的服務(wù)。
所述數(shù)據(jù)結(jié)構(gòu)可以是本體,其表示應(yīng)用程序的行為對上下文信息的影響的類型,以及被影響的上下文信息。
所述方法還可包括檢測上下文信息的改變,以及從所述數(shù)據(jù)結(jié)構(gòu)中去除不滿足給定上下文信息的服務(wù)行為的語義。
通過檢測根據(jù)用戶策略的應(yīng)用程序的有效行為是否關(guān)于相同的上下文信息在所述數(shù)據(jù)結(jié)構(gòu)中具有矛盾的語義,可確定沖突的發(fā)生。
所述方法還可包括基于沒有預(yù)先預(yù)定義在所述數(shù)據(jù)結(jié)構(gòu)中的行為對上下文信息的影響的類型而不考慮應(yīng)用程序的行為的名稱或類型,確定沒有預(yù)先預(yù)定義在所述數(shù)據(jù)結(jié)構(gòu)中的行為之間的沖突。
根據(jù)本發(fā)明的一方面,提供一種檢測和解決上下文感知應(yīng)用程序之間的沖突的系統(tǒng),該系統(tǒng)包括上下文消費器,從應(yīng)用程序接收服務(wù)請求;行為語義管理器,分析請求的服務(wù)的語義,將該語義注冊到數(shù)據(jù)結(jié)構(gòu),或從數(shù)據(jù)結(jié)構(gòu)去除該語義;和服務(wù)交互代理程序,確定被注冊到所述數(shù)據(jù)結(jié)構(gòu)的服務(wù)行為之間是否發(fā)生沖突,當發(fā)生沖突時,請求行為語義管理器從所述數(shù)據(jù)結(jié)構(gòu)中去除沖突的服務(wù)行為的語義,并為該沖突產(chǎn)生解決策略,以及根據(jù)所述解決策略請求新的服務(wù)。所述數(shù)據(jù)結(jié)構(gòu)可以是本體,其表示應(yīng)用程序的行為對上下文信息的影響的類型,以及被影響的上下文信息。
通過下面結(jié)合附圖對示例性實施例進行的描述,本發(fā)明的以上和/或其他方面將會變得清楚和更易于理解,其中圖1是示出根據(jù)本發(fā)明的示例性非限制性的實施例的用于控制上下文感知應(yīng)用程序之間的沖突的中間件模塊的示圖;圖2是根據(jù)本發(fā)明示例性非限制性的實施例的用于管理應(yīng)用程序之間的沖突的系統(tǒng)的框圖;圖3是示出根據(jù)本發(fā)明示例性非限制性的實施例的用于抽象和表示對上下文信息具有影響的應(yīng)用程序的行為的行為語義本體的示圖;圖4示出根據(jù)本發(fā)明示例性非限制性的實施例的使用行為語義管理功能的程序;圖5是概括根據(jù)本發(fā)明示例性非限制性的實施例的管理應(yīng)用程序之間的沖突的方法的流程圖;圖6是示出根據(jù)本發(fā)明示例性非限制性的實施例的燈服務(wù)中的服務(wù)行為的語義定義的示圖;和圖7是示出根據(jù)本發(fā)明示例性非限制性的實施例的在畫中畫(PIP)顯示中的服務(wù)行為的語義定義的示圖。
具體實施例方式
現(xiàn)在,將參照附圖更詳細地描述本發(fā)明的特定示例性實施例。
在下面的描述中,即使在不同的圖中,相同的圖標號也指示類似的部件。提供在描述中定義的內(nèi)容,諸如詳細結(jié)構(gòu)和部件描述,以幫助更全面地理解本發(fā)明。此外,由于眾所周知的功能或結(jié)構(gòu)會在不必要的細節(jié)上使本發(fā)明模糊,所以不描述它們。
在本發(fā)明的示例性非限制性實施例中,提供上下文感知應(yīng)用程序之間的組上下文信息中的沖突的管理。開發(fā)上下文感知應(yīng)用程序以支持當多個用戶共存于一個空間中時考慮其他用戶的個體并且動態(tài)地檢測在應(yīng)用程序中預(yù)定義的沖突。
本發(fā)明的示例性實施例假定,在普適環(huán)境下對于多個用戶,獨立的上下文感知應(yīng)用程序在不考慮其他用戶的情況下為各個用戶進行開發(fā),并在相同的地方被一起執(zhí)行。當多個用戶存在于相同的地方時,應(yīng)用程序的行為可能影響其他用戶。具體地說,由于應(yīng)用程序獨立于除了指定的特定用戶之外的其他用戶,所以通過偶然地引起對于其他用戶不想要的行為,該應(yīng)用程序的行為可引起對其他用戶的損害。在這些情況下,在應(yīng)用程序開發(fā)階段不可預(yù)測特定用戶在何時何地如何影響其他用戶。因此,需要一種沖突檢測和解決模型,該模型將動態(tài)地檢測并解決沖突,而無須在應(yīng)用程序的開發(fā)期間預(yù)定義沖突。
有必要保證應(yīng)用程序之間的沖突對開發(fā)者的透明性,并且通過將沖突檢測和解決模型與應(yīng)用程序開發(fā)環(huán)境分離以及將該模型委托給中間件來降低應(yīng)用程序開發(fā)的復(fù)雜性,從而開發(fā)者可以在不需要考慮其他用戶的應(yīng)用程序的情況下開發(fā)應(yīng)用程序。此外,不僅需要檢測支持多個用戶的一個應(yīng)用程序或者協(xié)作的多個用戶的應(yīng)用程序中的沖突,而且需要檢測執(zhí)行他們各自獨立的操作的多個用戶的應(yīng)用程序之間的沖突。僅當滿足這樣的要求時,遺產(chǎn)(legacy)上下文感知應(yīng)用程序可在普適環(huán)境中正常工作。
圖1是描述用于管理上下文感知應(yīng)用程序之間的沖突的中間件模塊。被安裝在例如家庭服務(wù)器上的中間件包括上下文管理模塊10。如圖1所示,上下文管理模塊10包括沖突管理模塊12。沖突管理模塊12包括沖突表示模塊14、沖突檢測模塊16、和沖突解決模塊18。
沖突表示模塊14根據(jù)用作應(yīng)用程序的行為的服務(wù)對上下文信息的影響定義用于抽象和表示所述服務(wù)的本體(ontology)。沖突檢測模塊16將根據(jù)用戶策略執(zhí)行的應(yīng)用程序的行為表示為本體中的抽象語義,并管理這些行為的有效期。對于來自應(yīng)用程序的由用戶定義的行為的每個請求,沖突檢測模塊16修改本體中請求的行為的語義。當兩個不同的行為都有效但對于特定上下文信息具有相互矛盾的影響時,沖突檢測單元16將此情形檢測為沖突。沖突解決模塊18為檢測到的沖突建立解決策略。
根據(jù)本發(fā)明示例性實施例的管理應(yīng)用程序之間的沖突的方法不僅以當在給定情形下被同時激活的依賴上下文的用戶策略彼此沖突時的沖突檢測為目的,而且以當通過情形改變而被激活的用戶策略修改或破壞其策略被先前激活并且即使在情形改變時仍然有效的另一用戶的用戶策略時的檢測沖突為目的。為此,產(chǎn)生對這樣的模塊的需求,該模塊用于動態(tài)地管理用戶策略和由用戶策略執(zhí)行的服務(wù),所述用戶策略在給定情形下被激活并影響上下文信息。
此外,為了動態(tài)地檢測沖突而無須逐個描述服務(wù)之間的沖突,需要一種數(shù)據(jù)結(jié)構(gòu)用于通過服務(wù)行為對上下文信息或服務(wù)的狀態(tài)信息的影響來抽象和表示服務(wù)行為的語義,以及用于在執(zhí)行期間管理和存儲信息。
當開發(fā)者描述在給定情形下用戶想要的服務(wù)的請求時,使用基于遠程過程調(diào)用(JAX-RPC)的可擴展標記語言的Java應(yīng)用程序接口的動態(tài)調(diào)用接口(DII)。中間件負責用于上下文檢測的服務(wù)行為的語義管理。因此,對上下文沖突透明的開發(fā)環(huán)境可被提供給開發(fā)者。為了提供對上下文沖突透明的開發(fā)環(huán)境,需要中間件在執(zhí)行服務(wù)行為時根據(jù)服務(wù)行為的名稱和因數(shù)分析所述服務(wù)行為的語義,修改將在下面被更詳細地解釋的行為語義本體,以及通過檢測上下文信息的改變,使行為語義本體中不再滿足給定上下文信息的服務(wù)行為的語義無效。
圖2是根據(jù)本發(fā)明示例性實施例的用于應(yīng)用程序之間的沖突管理的系統(tǒng)的框圖。參照圖2,該沖突管理系統(tǒng)包括上下文解釋器100、上下文消費器110、服務(wù)交互代理程序120、行為語義管理器130、行為語義確定器140、沖突管理器150、沖突檢測器160、和上下文管理器170。服務(wù)交互代理程序120包括沖突處理器122。行為語義管理器130包括行為語義無效器132和行為語義注冊器134。行為語義確定器140包括行為語義本體142。
當在應(yīng)用程序的上下文信息有改變時,上下文解釋器100檢查給定的情形是否匹配用戶想要的情形。當兩個情形匹配時,上下文解釋器100通過發(fā)送事件將情形匹配通知上下文消費器110。上下文消費器110是應(yīng)用程序的模板并具有用于表示服務(wù)的消息對象。當接收到在給定情形匹配用戶想要的情形時來自上下文解釋器100的事件時,上下文消費器110經(jīng)由應(yīng)用程序接口(API)向中間件請求服務(wù),或者請求使先前請求的服務(wù)無效。
服務(wù)交互代理程序120中的沖突處理器122從上下文消費器110傳送的應(yīng)用程序中解釋服務(wù)請求,從而服務(wù)交互代理程序120可在服務(wù)執(zhí)行之前檢查是否存在沖突。來自應(yīng)用程序的服務(wù)請求以例如簡單對象訪問協(xié)議(SOAP)消息的形式被轉(zhuǎn)遞給擔當通信信道的沖突處理器122。沖突處理器122通過使用行為語義管理器130分析服務(wù)的語義并請求更新行為語義本體142。
行為語義管理器130中的行為語義注冊器134當服務(wù)請求被從應(yīng)用程序接收時分析服務(wù)的語義,并將它們注冊在行為語義本體142中。行為語義無效器132檢測上下文信息的改變并將不滿足給定上下文信息的服務(wù)行為的語義從行為語義本體142中去除。當服務(wù)的語義被行為語義管理器130添加到行為語義本體142中時,沖突處理器122請求沖突管理器150推斷請求的服務(wù)是否引起沖突。沖突管理器150詢問沖突檢測器160以確定請求的服務(wù)是否引起沖突。沖突檢測器160在由行為語義確定器140注冊在行為語義本體142中的服務(wù)語義中搜索對于相同的上下文信息或服務(wù)狀態(tài)信息的矛盾的服務(wù)行為。當根據(jù)搜索的結(jié)果檢測到?jīng)_突時,沖突檢測器160通知沖突管理器150存在沖突。沖突管理器150請求行為語義管理器130從行為語義本體142中去除沖突的服務(wù)語義,在沖突解決模塊產(chǎn)生新的服務(wù)請求消息,以及使用產(chǎn)生的消息控制沖突檢測過程,該過程被遞歸地執(zhí)行。相反,當未檢測到?jīng)_突時,服務(wù)請求消息被轉(zhuǎn)遞給服務(wù)交互代理程序120以執(zhí)行服務(wù)。
圖3描述根據(jù)本發(fā)明示例性實施例的行為語義本體142的示例。本體是對詞匯表或概念的定義或說明,并且表示對應(yīng)于系統(tǒng)的內(nèi)容的組件(概念)。在本發(fā)明的示例性實施例中,通過指示行為對上下文信息的影響,本體抽象并表示由應(yīng)用程序的行為定義的服務(wù)。具體地說,如圖4所示,本發(fā)明的示例性實施例定義本體以表示服務(wù)行為的影響,并且按服務(wù)行為各自對上下文信息和服務(wù)狀態(tài)信息的影響來抽象服務(wù)行為。
此外,如圖4所示,根據(jù)用戶策略執(zhí)行的應(yīng)用程序的行為使用行為語義管理功能被表示為本體中的抽象語義,并且行為的有效期被管理。因此,對于由用于應(yīng)用程序的用戶策略定義的每個請求的行為,請求的行為的語義在本體142中被修改。當兩個矛盾的行為對于特定上下文信息都有效時,沖突被檢測到。
如圖3和圖4所示,當應(yīng)用程序響應(yīng)于給定的上下文信息,通過使用與在“行為語義管理功能”的服務(wù)開發(fā)時被描述的服務(wù)方法相關(guān)的抽象信息來請求執(zhí)行服務(wù)方法時,該抽象信息被記錄在本體中。服務(wù)行為的影響被表現(xiàn)為相應(yīng)值的增加或減少。在本發(fā)明的示例性實施例中,用行為定義服務(wù),所述行為通過使用狀態(tài)信息改變狀態(tài)信息的值。服務(wù)定義符合通用即插即用(UPNP)的服務(wù)模型。服務(wù)行為改變由服務(wù)管理的狀態(tài)信息。此時,服務(wù)語義可被總是設(shè)置成一個,或者被設(shè)置得與因數(shù)的特征或者與因數(shù)和狀態(tài)信息之間的關(guān)系無關(guān)。簡而言之,服務(wù)語義不固定。
例如,“LightService”的‘turnON’行為總是起到增加變量“LoadLevelState”的作用,而‘AudioService’的‘a(chǎn)ddVolume’當因數(shù)為正時增加變量‘Volume’,當因數(shù)為負時減少該變量。因此,服務(wù)行為可被分類為僅有一個不變語義的‘行為(Action)’型、和具有根據(jù)因數(shù)的可變語義的‘條件行為(ConditionalAction)’型。
對于‘條件行為’型,取決于因數(shù)的特征,語義對于每次調(diào)用被不同地解釋。相關(guān)規(guī)則被服務(wù)開發(fā)者或應(yīng)用程序開發(fā)者定義為如圖4所示的規(guī)則表達式。服務(wù)行為不僅改變由服務(wù)管理的狀態(tài)信息,而且改變與服務(wù)被執(zhí)行的環(huán)境相關(guān)的上下文信息的值。例如,在應(yīng)用程序請求‘LightService’的‘turnON’行為的情況下,該行為還改變房間的量度以及作為‘LightService’的狀態(tài)信息的‘LoadLevelState’。因此,類似于‘上下文(Context)’,‘行為’可建立與‘狀態(tài)(State)’的關(guān)系。服務(wù)行為的這樣的語義不僅允許檢測矛盾地改變用于相同服務(wù)的狀態(tài)信息的兩個行為之間的沖突,而且即使在不同的服務(wù)中也允許檢測影響狀態(tài)信息的矛盾行為之間的沖突。
圖5是概括根據(jù)本發(fā)明示例性實施例的管理應(yīng)用程序之間的沖突的方法的流程圖。參照圖5,當從應(yīng)用程序接收到服務(wù)請求時(S200),服務(wù)語義被分析并被注冊到行為語義本體中(S205)。接下來,進行確定在行為語義本體中是否存在引起關(guān)于相同的上下文信息或服務(wù)信息的沖突的矛盾的服務(wù)行為(S210)。根據(jù)在操作S210確定的結(jié)果,當沖突的服務(wù)行為存在時,從行為語義本體中去除沖突的服務(wù)的行為語義(S215)。接下來,為沖突的服務(wù)行為產(chǎn)生沖突解決策略(S220)。根據(jù)該沖突解決策略請求新的服務(wù)(S225)。相反,當根據(jù)在操作S210中的確定,沒有沖突的服務(wù)行為時,請求的服務(wù)被執(zhí)行(S230)。此過程被重復(fù),直到?jīng)]有沖突的服務(wù)行為。
圖6描述燈服務(wù)行為的語義。如前所述,在用作應(yīng)用程序的行為的服務(wù)的開發(fā)階段,描述被服務(wù)的方法所影響的上下文信息的類型以及對上下文信息的影響(增加或減少)的類型。
例如,如圖6所示,當執(zhí)行服務(wù)‘Dimming’的方法‘StartLampToLevel,時,上下文信息‘亮度(Brightness)’增加。當執(zhí)行‘StopLamp’方法時,‘亮度’減小。因此,當用戶睡著時,通過關(guān)閉來調(diào)節(jié)燈的應(yīng)用程序請求執(zhí)行‘Dimming’或‘StopLamp’方法以響應(yīng)用戶的狀態(tài)信息。所述請求被傳送到行為語義管理模塊,并在本體中產(chǎn)生‘StopLamp’節(jié)點和‘亮度’節(jié)點之間的‘減少(decrease)’關(guān)系。該關(guān)系被認為有效并被管理,直到用戶的狀態(tài)信息改變。
當另一用戶進入房間時,通過開啟燈來調(diào)節(jié)燈光的應(yīng)用程序響應(yīng)于另一用戶的位置信息檢測到另一用戶的進入,并請求執(zhí)行‘Dimming’服務(wù)的‘StartLampToLevel’方法。如先前所述,該請求在本體中產(chǎn)生從‘StartLampToLevel’節(jié)點到‘亮度’節(jié)點的‘增加(increase)’關(guān)系。結(jié)果,當另一用戶進入前述用戶正在睡覺的房間時,‘增加’關(guān)系在‘減少’關(guān)系仍然有效時被產(chǎn)生。當這樣的矛盾的語義關(guān)系對于相同的狀態(tài)信息同時有效時,通過基于執(zhí)行‘檢測(detect)’方法期間的本體的推斷,用于狀態(tài)信息的矛盾的語義模式可被發(fā)現(xiàn)并因此檢測到?jīng)_突。即,服務(wù)‘Dimming’的兩個行為(‘StopLamp’和‘StartLampToLevel’)以矛盾的方式影響服務(wù)‘LoadLevelStatus’的狀態(tài)。因此,檢測到?jīng)_突。
圖7描述根據(jù)本發(fā)明示例性實施例在畫中畫(PIP)顯示中的服務(wù)行為的語義。參照圖7,關(guān)于‘MainDisplaySize’,‘MainDisplayShow’的‘增加’與‘SubDisplayShow’的‘減少’沖突。此外,關(guān)于‘SubDisplaySize’,‘MainDisplayShow’的‘減少’與‘SubDisplayShow’的‘增加’沖突。還提供了‘MainDisplayOff’行為和‘SubDisplayOff’行為。當請求‘SubDisplayOff時,‘MainDisplaySize’增加,‘SubDisplaySize’減小。當請求‘MainDisplayOff’時,‘MainDisplaySize’減小,‘SubDisplaySize’增加。
在本發(fā)明的示例性實施例中,在使用本體的推斷中,僅僅使用在上下文信息中被表示的關(guān)系的語義。因此,沖突可被動態(tài)地檢測并解決,而無須在服務(wù)開發(fā)階段為每個服務(wù)特別地描述其它的沖突服務(wù)。
如上所述,本發(fā)明的示例性實施例不僅可檢測被傳統(tǒng)上下文感知應(yīng)用程序支持的沖突,即當多個用戶策略同時響應(yīng)于給定的情形時的沖突,而且可檢測這樣的情形下的沖突,即,盡管多個用戶策略不同時響應(yīng),但當先前的用戶策略仍然有效而另一用戶策略嘗試修改或去除已被先前的用戶策略更改的上下文信息時的沖突。因此,上下文感知應(yīng)用程序的沖突檢測范圍可被擴展。此外,無須在應(yīng)用程序的開發(fā)階段特別地描述哪個用戶策略在給定情形下沖突,根據(jù)用戶策略和影響的類型,僅通過使用被應(yīng)用程序的行為影響的上下文信息的類型,沖突可被動態(tài)地檢測。因此,在開發(fā)階段,在不用考慮與其它應(yīng)用程序的用戶策略的沖突的情況下,可開發(fā)應(yīng)用程序。結(jié)果,應(yīng)用程序開發(fā)者的負擔可被減輕,應(yīng)用程序開發(fā)的復(fù)雜性可被降低。
盡管已參照附圖具體描述了本發(fā)明的示例性實施例,但是本領(lǐng)域的技術(shù)人員應(yīng)該理解,在不脫離由權(quán)利要求定義的本發(fā)明的精神和范圍的情況下,可對其進行形式和細節(jié)的各種改變。
權(quán)利要求
1.一種管理和解決上下文感知應(yīng)用程序之間的沖突的方法,該方法包括從應(yīng)用程序接收服務(wù)請求;分析請求的服務(wù)的語義并將其注冊到數(shù)據(jù)結(jié)構(gòu);確定被注冊到所述數(shù)據(jù)結(jié)構(gòu)的服務(wù)行為之間是否發(fā)生沖突;和如果發(fā)生沖突,則從所述數(shù)據(jù)結(jié)構(gòu)中去除沖突的服務(wù)行為的語義,并為該沖突產(chǎn)生解決策略,以及根據(jù)所述解決策略請求新的服務(wù)。
2.如權(quán)利要求1所述的方法,還包括如果沒發(fā)生沖突,則執(zhí)行請求的服務(wù)。
3.如權(quán)利要求1所述的方法,其中,所述數(shù)據(jù)結(jié)構(gòu)是本體,其表示應(yīng)用程序的服務(wù)行為對上下文信息的影響的類型,以及被影響的上下文信息。
4.如權(quán)利要求1所述的方法,還包括檢測上下文信息的改變,以及從所述數(shù)據(jù)結(jié)構(gòu)中去除不滿足給定上下文信息的服務(wù)行為的語義。
5.如權(quán)利要求1所述的方法,其中,基于根據(jù)用戶策略的應(yīng)用程序的有效行為是否關(guān)于相同的上下文信息在所述數(shù)據(jù)結(jié)構(gòu)中具有矛盾的語義來確定沖突。
6.如權(quán)利要求1所述的方法,還包括基于被服務(wù)行為影響的上下文信息的類型以及服務(wù)行為的影響的類型而不管應(yīng)用程序的行為的名稱和類型,確定沒有預(yù)先預(yù)定義在所述數(shù)據(jù)結(jié)構(gòu)中的行為之間的沖突。
7.一種檢測和解決上下文感知應(yīng)用程序之間的沖突的系統(tǒng),該系統(tǒng)包括上下文消費器,從應(yīng)用程序中接收服務(wù)請求;行為語義管理器,分析請求的服務(wù)的語義,注冊請求的服務(wù),或從數(shù)據(jù)結(jié)構(gòu)去除該語義;和服務(wù)交互代理程序,確定被注冊到所述數(shù)據(jù)結(jié)構(gòu)的服務(wù)行為之間是否發(fā)生沖突,如果發(fā)生沖突,則請求行為語義管理器從所述數(shù)據(jù)結(jié)構(gòu)中去除沖突的服務(wù)行為的語義,并為該沖突產(chǎn)生解決策略,以及根據(jù)所述解決策略請求新的服務(wù)。
8.如權(quán)利要求7所述的系統(tǒng),其中,所述數(shù)據(jù)結(jié)構(gòu)是本體,其表示應(yīng)用程序的行為對上下文信息的影響的類型,以及被影響的上下文信息。
9.如權(quán)利要求7所述的系統(tǒng),其中,如果沒發(fā)生沖突,則服務(wù)交互代理程序執(zhí)行請求的服務(wù)。
10.如權(quán)利要求7所述的系統(tǒng),其中,所述服務(wù)交互代理程序基于根據(jù)用戶策略的應(yīng)用程序的有效行為是否關(guān)于相同的上下文信息在所述數(shù)據(jù)結(jié)構(gòu)中具有矛盾的語義來確定沖突是否發(fā)生。
11.如權(quán)利要求7所述的系統(tǒng),其中,所述服務(wù)交互代理程序基于被服務(wù)行為影響的上下文信息的類型以及服務(wù)行為的影響的類型而不管應(yīng)用程序的行為的名稱和類型,確定沒有預(yù)先預(yù)定義在所述數(shù)據(jù)結(jié)構(gòu)中的行為之間的沖突。
全文摘要
一種通過使用用于組上下文信息管理的抽象服務(wù)的語義來管理上下文感知應(yīng)用程序之間的沖突的方法和系統(tǒng)。該方法包括檢測并解決上下文感知應(yīng)用程序之間的沖突;在從應(yīng)用程序接收到服務(wù)請求時,分析請求的服務(wù)的語義;和將該語義注冊到數(shù)據(jù)結(jié)構(gòu)。對在所述數(shù)據(jù)結(jié)構(gòu)中服務(wù)行為之間是否發(fā)生沖突進行確定,當沖突發(fā)生時,從所述數(shù)據(jù)結(jié)構(gòu)中去除沖突的服務(wù)行為的語義。當根據(jù)用戶策略的應(yīng)用程序的有效行為與所述數(shù)據(jù)結(jié)構(gòu)中的相同上下文信息矛盾時引起服務(wù)行為之間的沖突。在從所述數(shù)據(jù)結(jié)構(gòu)中去除所述服務(wù)行為的語義之后,用于該沖突的解決策略被產(chǎn)生,并且根據(jù)該解決策略請求新的服務(wù)。
文檔編號G06Q50/00GK1821966SQ20061000739
公開日2006年8月23日 申請日期2006年2月13日 優(yōu)先權(quán)日2005年2月14日
發(fā)明者樸慶豪, 姜友植, 樸寅錫, 李東萬, 玄淳周 申請人:三星電機株式會社