本發(fā)明涉及一種移動(dòng)普適計(jì)算環(huán)境中的服務(wù)準(zhǔn)備方法,尤其是涉及一種移動(dòng)普適計(jì)算環(huán)境中基于情境信息的服務(wù)準(zhǔn)備方法。
背景技術(shù):
近年來(lái),無(wú)線(xiàn)網(wǎng)絡(luò)和微電子技術(shù)的快速發(fā)展使得移動(dòng)設(shè)備,尤其是智能手機(jī)和pad的性?xún)r(jià)比得到不斷提高,移動(dòng)設(shè)備因此得以大量普及。同時(shí),伴隨著移動(dòng)開(kāi)發(fā)技術(shù)的成熟和移動(dòng)服務(wù)分發(fā)市場(chǎng)的健全,移動(dòng)服務(wù)也開(kāi)始出現(xiàn),從原有的語(yǔ)音、短信/彩信和簡(jiǎn)單游戲,快速擴(kuò)展到電子支付、社交網(wǎng)絡(luò)和健康管理等日常生活和學(xué)習(xí)工作的各個(gè)方面的服務(wù),這些移動(dòng)服務(wù)的出現(xiàn)已經(jīng)深刻地改變了人們的生活方式。一個(gè)以移動(dòng)設(shè)備、傳感器和無(wú)線(xiàn)網(wǎng)絡(luò)為基礎(chǔ)的移動(dòng)普適計(jì)算及其應(yīng)用景象越發(fā)清晰的呈現(xiàn)在人們面前。與此同時(shí),電信和網(wǎng)絡(luò)運(yùn)營(yíng)商、軟件開(kāi)發(fā)商也在順應(yīng)著這種計(jì)算模式的巨大轉(zhuǎn)變趨勢(shì),積極地嘗試和拓展新的業(yè)務(wù)和商業(yè)盈利模式。但由于缺乏有效的普適計(jì)算服務(wù)準(zhǔn)備(serviceprovisioning)方法,要真正實(shí)現(xiàn)普適計(jì)算服務(wù)場(chǎng)景,能夠隨時(shí)隨地的為用戶(hù)提供滿(mǎn)意的服務(wù),還是一個(gè)很困難的任務(wù)。近年來(lái),研究者們圍繞著服務(wù)描述、服務(wù)質(zhì)量(qos)模型和服務(wù)選擇等方面展開(kāi)工作,并取得了一些成果。但這些研究工作多是基于webservices的qos模型和靜態(tài)服務(wù)質(zhì)量評(píng)估標(biāo)準(zhǔn),并要求用戶(hù)預(yù)先安裝服務(wù)代理軟件,因此這些方法都不太適用于移動(dòng)多變、資源受限的普適計(jì)算環(huán)境,嚴(yán)重制約了普適計(jì)算環(huán)境中服務(wù)準(zhǔn)備的研究和應(yīng)用。另外普適計(jì)算與以往的計(jì)算模式顯著不同之處在于用戶(hù)成為整個(gè)計(jì)算環(huán)境真正的核心,普適計(jì)算的目標(biāo)是將計(jì)算系統(tǒng)融入人們的日常生活中,以隱形的或更加自然的方式為人們提供服務(wù),這就要求一種新型的、適合普適計(jì)算環(huán)境的服務(wù)準(zhǔn)備方法,能夠根據(jù)動(dòng)態(tài)變化的情境信息(context)自適應(yīng)對(duì)服務(wù)進(jìn)行評(píng)估和選擇,為用戶(hù)提供既滿(mǎn)足其需求和個(gè)人偏好,又與便攜式設(shè)備能力相匹配的信息服務(wù)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種移動(dòng)普適計(jì)算環(huán)境中基于情境信息的服務(wù)準(zhǔn)備方法。
本發(fā)明的目的可以通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn):
一種移動(dòng)普適計(jì)算環(huán)境中基于情境信息的服務(wù)準(zhǔn)備方法,用于向移動(dòng)用戶(hù)提供滿(mǎn)意的信息服務(wù),該方法包括以下步驟:
1)采集至少一種情境信息,并采用統(tǒng)一的六元組情境信息模型表示所述的情境信息;
2)將采集的情境信息進(jìn)行分類(lèi),分為布爾型情境信息和模糊型情境信息;
3)搜集移動(dòng)用戶(hù)當(dāng)前可訪(fǎng)問(wèn)的服務(wù),解析其服務(wù)描述文件,對(duì)每個(gè)服務(wù)分別建立適合普適計(jì)算環(huán)境的層狀服務(wù)滿(mǎn)意度模型,所述的層狀服務(wù)滿(mǎn)意度模型中的各節(jié)點(diǎn)映射與該服務(wù)相應(yīng)的情境信息;
4)根據(jù)各服務(wù)的層狀服務(wù)滿(mǎn)意度模型和采集的情境信息,對(duì)布爾型情境信息采用一階謂詞邏輯推理方法,對(duì)模糊型情境信息采用模糊邏輯方法計(jì)算出相應(yīng)服務(wù)的服務(wù)滿(mǎn)意度值,并選擇向用戶(hù)提供的服務(wù)集合。
步驟1)中的六元組情境信息模型具體表示為:context(category,subject,relater,value,metric,time);
其中,category為普適計(jì)算環(huán)境中與情境信息相關(guān)聯(lián)的實(shí)體的類(lèi)型名稱(chēng);subject為情境信息描述的與某一特定category相關(guān)的主體名稱(chēng);relater用于描述subject和value之間的關(guān)系;value描述與情境信息主體狀態(tài)相關(guān)的值,metric用于對(duì)情境信息主體值的不同度量標(biāo)準(zhǔn)進(jìn)行標(biāo)記;time表示情境信息生成的時(shí)刻,或情境信息主體保持某一特定狀態(tài)值的時(shí)間段,或是情境謂詞保持為真的時(shí)間段。
步驟3)中所述的服務(wù)描述文件包括加載和執(zhí)行該服務(wù)的資源需求和提供該服務(wù)的約束條件。
所述的步驟4)具體包括以下子步驟:
201)根據(jù)各服務(wù)的層狀滿(mǎn)意度模型,建立服務(wù)評(píng)估函數(shù)并計(jì)算相應(yīng)服務(wù)的服務(wù)滿(mǎn)意度值,所述的服務(wù)評(píng)估函數(shù)為:
ψ(si)=h(si)·e(si),i∈[1,m],
其中,si為第i個(gè)服務(wù),h(si)為第i個(gè)服務(wù)中的布爾型情境信息的服務(wù)滿(mǎn)意度評(píng)價(jià)函數(shù),e(si)為第i個(gè)服務(wù)中的模糊型情境信息的服務(wù)滿(mǎn)意度評(píng)價(jià)函數(shù),m為用戶(hù)當(dāng)前可訪(fǎng)問(wèn)的服務(wù)的總個(gè)數(shù);
202)判斷ψ(si)是否大于設(shè)定的服務(wù)滿(mǎn)意度閥值λ,若是則將服務(wù)si列入向用戶(hù)提供的服務(wù)集合,否則舍棄該服務(wù),其中λ∈[0,1]。
所述的步驟201)中若
所述的步驟201)中h(si)具體為:
其中s為用戶(hù)當(dāng)前可訪(fǎng)問(wèn)的服務(wù)的集合,c是與服務(wù)si相關(guān)的布爾型情境信息的集合,ck為集合c中的第k個(gè)布爾型情境信息,hk為一階謂詞邏輯推理函數(shù)。
所述的步驟201)中計(jì)算模糊型情境信息的服務(wù)滿(mǎn)意度評(píng)價(jià)函數(shù)e(si)前還需要對(duì)模糊型情境信息進(jìn)行量化處理,具體為:若模糊型情境信息具有連續(xù)性,則通過(guò)線(xiàn)性曲線(xiàn)模型進(jìn)行量化,若模糊型情境信息具有離散特性,則通過(guò)非線(xiàn)性飽和曲線(xiàn)模型來(lái)進(jìn)行量化。
所述的e(si)通過(guò)層次化模糊評(píng)估算法獲取。
所述的線(xiàn)性曲線(xiàn)模型為:
其中,qv為需要量化的模糊型情境信息的實(shí)際值,qvmax為需要量化的模糊型情境信息的最大值,而qvmin為需要量化的模糊型情境信息的最小值,qv'為需要量化的模糊型情境信息的量化值。
所述的非線(xiàn)性飽和曲線(xiàn)模型為:
其中,qv為需要量化的模糊型情境信息的實(shí)際值,qvmax為需要量化的模糊型情境信息的最大值,而qvmin為需要量化的模糊型情境信息的最小值,qv'為需要量化的模糊型情境信息的量化值。
在上述服務(wù)準(zhǔn)備結(jié)束后,將選擇的向用戶(hù)提供的服務(wù)集合中的服務(wù)以按服務(wù)滿(mǎn)意度值降序的服務(wù)列表的形式定時(shí)向移動(dòng)用戶(hù)進(jìn)行推送,并通過(guò)消息或用戶(hù)界面提醒用戶(hù)新服務(wù)列表和服務(wù)更新情況。移動(dòng)用戶(hù)可以自主選擇或是通過(guò)設(shè)定自動(dòng)運(yùn)行服務(wù)滿(mǎn)意度值較高的服務(wù)。
與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點(diǎn):
(1)該發(fā)明引入服務(wù)層狀服務(wù)滿(mǎn)意度模型,并將模型中各層映射到相應(yīng)的情境信息,當(dāng)情境信息發(fā)生變化時(shí),能實(shí)時(shí)計(jì)算更新服務(wù)滿(mǎn)意度值,從而為用戶(hù)提供滿(mǎn)意的服務(wù);
(2)該方法適合移動(dòng)多變、資源受限的普適計(jì)算環(huán)境。
附圖說(shuō)明
圖1為本發(fā)明的服務(wù)準(zhǔn)備方法流程圖;
圖2為具有情境感知的服務(wù)準(zhǔn)備模型的結(jié)構(gòu)示意圖;
圖3為加入請(qǐng)求信息(jri)的編碼格式;
圖4為加入聲明信息(jdi)的編碼格式;
圖5為服務(wù)列表(servicelist)的編碼格式;
圖6為層次化模糊評(píng)估樹(shù)的結(jié)構(gòu)示意圖;
圖7為具有情境感知的服務(wù)準(zhǔn)備模型中各部件交互過(guò)程結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
實(shí)施例
如圖1所示為一種移動(dòng)普適計(jì)算環(huán)境中基于情境信息的服務(wù)準(zhǔn)備方法,所述的服務(wù)準(zhǔn)備特指“服務(wù)系統(tǒng)通過(guò)感知情境信息,評(píng)估可獲得信息服務(wù)以及向用戶(hù)提供個(gè)性化的和令人滿(mǎn)意的信息服務(wù)的過(guò)程”。為了便于說(shuō)明,本發(fā)明中把每一對(duì)終端用戶(hù)和他/她的便攜式設(shè)備稱(chēng)為一個(gè)移動(dòng)節(jié)點(diǎn)(mobilepeer,縮寫(xiě)為mp),當(dāng)有多個(gè)移動(dòng)節(jié)點(diǎn)在系統(tǒng)中時(shí),將第i個(gè)移動(dòng)節(jié)點(diǎn)記為mpi。該服務(wù)準(zhǔn)備方法通過(guò)搜集和分析處理包括用戶(hù)的位置、喜好和計(jì)劃行程,以及移動(dòng)設(shè)備和當(dāng)前可訪(fǎng)問(wèn)的服務(wù)的狀態(tài)等情境信息,設(shè)計(jì)適合普適計(jì)算環(huán)境的服務(wù)滿(mǎn)意度模型,引入服務(wù)滿(mǎn)意度概念和度量指標(biāo),應(yīng)用一階邏輯和模糊邏輯對(duì)當(dāng)前可用的服務(wù)進(jìn)行層次化評(píng)估和選擇,向用戶(hù)準(zhǔn)確、及時(shí)的進(jìn)行服務(wù)推送,從而滿(mǎn)足個(gè)性化服務(wù)的需求并提高服務(wù)滿(mǎn)意度。具體的實(shí)現(xiàn)步驟如下:
執(zhí)行步驟1:建立普適計(jì)算環(huán)境下服務(wù)評(píng)估和選擇的度量標(biāo)準(zhǔn)。
在研究了傳統(tǒng)的服務(wù)質(zhì)量定義的基礎(chǔ)上,結(jié)合普適計(jì)算的服務(wù)特性,本發(fā)明提出了一個(gè)針對(duì)普適計(jì)算應(yīng)用、面向移動(dòng)節(jié)點(diǎn)的概念—“服務(wù)滿(mǎn)意度”(degreeofservicesatisfaction,縮寫(xiě)為dss),用于表明一個(gè)服務(wù)獲得移動(dòng)節(jié)點(diǎn)的滿(mǎn)意程度。最重要的是,在本發(fā)明提出的的服務(wù)準(zhǔn)備模型中,一個(gè)服務(wù)的dss值被看作衡量該服務(wù)與環(huán)境密切相關(guān)的移動(dòng)節(jié)點(diǎn)相匹配的程度,并作為進(jìn)行服務(wù)選擇的主要指標(biāo)。具體來(lái)說(shuō):1)一個(gè)服務(wù)的dss可以被量化和度量,一般用一個(gè)在0和1之間的實(shí)數(shù)表示dss的值,同一服務(wù)對(duì)于不同的移動(dòng)節(jié)點(diǎn)會(huì)有不同的dss值,第i個(gè)服務(wù)對(duì)于第j個(gè)移動(dòng)節(jié)點(diǎn)(mpj)的dss值被記為dssi,j,dssi,j越大說(shuō)明第i服務(wù)獲得mpj滿(mǎn)意度越高,也意味著第i服務(wù)越適合提供給mpj;2)為了獲得設(shè)計(jì)的靈活性和可擴(kuò)展性,將dss設(shè)計(jì)為一個(gè)層次結(jié)構(gòu),例如,一個(gè)dss模型包含有服務(wù)的可用性、便攜式設(shè)備的能力以及無(wú)線(xiàn)網(wǎng)絡(luò)狀態(tài)三個(gè)子因素,進(jìn)一步,每一個(gè)子因素又包含各自的子因素:如便攜式設(shè)備的能力包含電池的壽命、設(shè)備顯示屏的尺寸和顏色深度三個(gè)子因素。
執(zhí)行步驟2:采集至少一種情境信息,并采用統(tǒng)一的六元組情境信息模型表示所述的情境信息。
為了及時(shí)獲得計(jì)算環(huán)境的情況,移動(dòng)服務(wù)系統(tǒng)需要通過(guò)傳感器定時(shí)搜集情境信息。移動(dòng)設(shè)備中各種物理傳感器(gps、運(yùn)動(dòng)和光敏等傳感器)是搜集原始情境信息的主要信息源,而一些軟件組件作為虛擬傳感器負(fù)責(zé)搜集用戶(hù)行程、個(gè)人喜好和天氣情況等情境信息??紤]到普適計(jì)算的應(yīng)用系統(tǒng)具有異構(gòu)特性,如各種不同品牌的便攜式設(shè)備,使用多種計(jì)算機(jī)語(yǔ)言開(kāi)發(fā)的而且運(yùn)行在不同系統(tǒng)上的服務(wù)組件和服務(wù)器等。為了充分利用和共享情境信息,本發(fā)明建立了一個(gè)統(tǒng)一的、六元組情境信息模型:context(category,subject,relater,value,metric,time),其中category代表普適計(jì)算中與情境信息相關(guān)聯(lián)的實(shí)體的類(lèi)型名稱(chēng),它表示情境信息來(lái)源的不同,例如:普適計(jì)算中與用戶(hù)(user)相關(guān)的、與服務(wù)(service)相關(guān)的以及與設(shè)備(device)相關(guān)的情境信息分屬不同的category;subject表示情境信息所要描述的與某一特定category相關(guān)的主體名稱(chēng),例如:對(duì)于user類(lèi)型的情境來(lái)說(shuō),情境信息的主體可能是用戶(hù)的姓名、身份證和位置等;而對(duì)于service類(lèi)型的情境信息來(lái)說(shuō),主體則可能包括服務(wù)的運(yùn)行時(shí)的內(nèi)存需求、電量消耗以及服務(wù)的延遲時(shí)間等;relater描述了subject和value之間的關(guān)系,它可能是一個(gè)關(guān)系運(yùn)算符(例如,>,>=,<和<=等),一個(gè)動(dòng)詞或是一個(gè)前置詞;value是用來(lái)描述與情境信息主體狀態(tài)相關(guān)的一個(gè)值,它可能是一個(gè)字符串、單個(gè)數(shù)值或多個(gè)數(shù)值,例如:應(yīng)用系統(tǒng)可以用一個(gè)字符串來(lái)表示用戶(hù)的身份證的id值,也可以用一個(gè)介于0和1之間的數(shù)值表示便攜式設(shè)備上cpu的利用率,甚至可以是一組模糊數(shù)來(lái)表示的某個(gè)服務(wù)的用戶(hù)滿(mǎn)意程度等;metric主要作用是對(duì)于情境信息主體值的不同度量標(biāo)準(zhǔn)進(jìn)行標(biāo)記,從而幫助應(yīng)用系統(tǒng)應(yīng)對(duì)普適計(jì)算中不同類(lèi)型的情境信息,主要度量標(biāo)準(zhǔn)包括布爾型(boolean)、模糊型(fuzzy)和概率型(probability);time可以表示情境信息生成的某一時(shí)刻,或情境信息主體保持某一特定狀態(tài)值的時(shí)間段,亦或是情境謂詞保持為真的時(shí)間段。
執(zhí)行步驟3:對(duì)采集的情境信息進(jìn)行分類(lèi)和量化處理。
通過(guò)分析,情境信息可分為兩種不同的類(lèi)型,它們對(duì)服務(wù)評(píng)估和選擇的影響呈現(xiàn)出不同特點(diǎn),需要采用不同的處理方法以便計(jì)算服務(wù)的dss值:1)布爾類(lèi)型情境信息(booleantypecontext,簡(jiǎn)稱(chēng)btc):btc特指那些要么滿(mǎn)足,要么不滿(mǎn)足服務(wù)約束條件的情境信息,例如:假設(shè)一個(gè)打印服務(wù)只能為處于一定物理范圍內(nèi)的mp提供服務(wù),那么對(duì)于打印服務(wù)來(lái)說(shuō),mp的物理位置就是一個(gè)btc,在這種情況下,系統(tǒng)可以應(yīng)用一階謂詞邏輯推理來(lái)計(jì)算服務(wù)的可用性。這個(gè)情況可以被形式化描述如下:dssbtc(printservice)=fopl(locationofthemp,locationspecificationofprintservice)→{0,1},這里{0,1}中的0和1分別代表布爾常量的true和false,其中1表示的物理位置滿(mǎn)足打印服務(wù)的描述文件中有關(guān)服務(wù)覆蓋物理范圍的要求,0則表示不滿(mǎn)足。系統(tǒng)可以應(yīng)用一階謂詞邏輯推理(來(lái)計(jì)算服務(wù)的可用性)函數(shù)fopl()來(lái)計(jì)算打印服務(wù)對(duì)于mp的dss值,從而確定該服務(wù)對(duì)于處于當(dāng)前物理位置的mp的可用性;2)模糊型情境信息(fuzzytypecontext,縮寫(xiě)為ftc):ftc體現(xiàn)出服務(wù)評(píng)估和選擇的模糊特性,事實(shí)上,在人們的感官印象中,大多數(shù)的情境信息是模糊的,而不是清晰的,這些情況下,可以采用模糊邏輯方法來(lái)計(jì)算一個(gè)服務(wù)對(duì)于mp的dss值,這個(gè)過(guò)程可以被形式化描述如下:dssftc(service)=fe(setofftc,fuzzypredicatesoftheservice)→α,這里α∈[0,1],fe()是一個(gè)模糊評(píng)價(jià)函數(shù),它會(huì)根據(jù)當(dāng)前所有與服務(wù)相關(guān)的ftc進(jìn)行綜合模糊評(píng)價(jià),而模糊謂詞(fuzzyprediccate)則是參與模糊評(píng)價(jià)的ftc相關(guān)的隸屬度函數(shù)。
由于不同情境信息可能有不同的特點(diǎn)和不同的取值范圍,為了便于計(jì)算,需要對(duì)情境信息進(jìn)行量化處理。本發(fā)明采取兩種方法來(lái)進(jìn)行量化:
(1)對(duì)于像網(wǎng)絡(luò)帶寬和傳輸延遲這樣具有連續(xù)特性的情境信息,可以通過(guò)線(xiàn)性曲線(xiàn)模型來(lái)量化:
其中,qv為需要量化的模糊型情境信息的實(shí)際值表示源自信息解釋器的ftc的值。qvmax表示是某個(gè)需要量化的情境信息的最大值,而qvmin表示ftc的最小值。qv'和qv之間的關(guān)系是線(xiàn)性增加或是減少取決于該ftc是屬于成本型還是屬于效益型。例如,網(wǎng)絡(luò)傳輸延遲屬于成本型ftc,而電池壽命屬于效益型ftc。
(2)對(duì)于像色彩深度和屏幕尺寸等具有離散特性的ftc,可以采用非線(xiàn)性飽和曲線(xiàn)模型來(lái)進(jìn)行量化:
其中,qv表示一個(gè)有離散特性的ftc的值,如顏色深度的量化曲線(xiàn)。相似的,qv'和qv的增加或減少關(guān)系也是由ftc的類(lèi)型來(lái)決定。
執(zhí)行步驟4:搜集移動(dòng)用戶(hù)當(dāng)前可訪(fǎng)問(wèn)的服務(wù),解析其服務(wù)描述文件,對(duì)每個(gè)服務(wù)分別建立適合普適計(jì)算環(huán)境的層狀服務(wù)滿(mǎn)意度模型,所述的層狀服務(wù)滿(mǎn)意度模型中的各節(jié)點(diǎn)映射與該服務(wù)相應(yīng)的情境信息。通過(guò)服務(wù)目錄(servicedirectory)和服務(wù)倉(cāng)庫(kù)(servicerespository)可以查詢(xún)獲取當(dāng)前可訪(fǎng)問(wèn)服務(wù)的描述文件。服務(wù)描述文件主要包括加載和執(zhí)行該服務(wù)的資源需求(如網(wǎng)絡(luò)帶寬、cpu的可利用率和可用內(nèi)存等)以及提供該服務(wù)的約束條件(如服務(wù)消費(fèi)者的物理位置和提供服務(wù)的時(shí)間等),所有這些資源需求和提供服務(wù)的約束條件都與當(dāng)前的計(jì)算情境信息密切相關(guān)。描述文件中的關(guān)系操作符(如“and”和“or”)可以用來(lái)說(shuō)明基于btc的復(fù)雜資源需求和約束條件描述,每一個(gè)btresource或btconstraint條目會(huì)被翻譯成一條一階謂詞邏輯推理規(guī)則;而其中的ftresource或ftconstraint條目則可以用來(lái)生成一個(gè)模糊評(píng)估樹(shù):每個(gè)ftresource或ftconstraint條目會(huì)映射為dss樹(shù)根節(jié)點(diǎn)下的子節(jié)點(diǎn),而每個(gè)btc或ftc則會(huì)映射相應(yīng)的葉子節(jié)點(diǎn)。此外,通過(guò)描述文件構(gòu)建模糊評(píng)估樹(shù)的同時(shí)也生成了一系列的模糊謂詞,用來(lái)評(píng)估在多個(gè)級(jí)別上ftc。
執(zhí)行步驟5:根據(jù)各服務(wù)的層狀服務(wù)滿(mǎn)意度模型和采集的情境信息,對(duì)布爾型情境信息采用一階謂詞邏輯推理方法,對(duì)模糊型情境信息采用模糊邏輯方法計(jì)算出相應(yīng)服務(wù)的服務(wù)滿(mǎn)意度值,并選擇向用戶(hù)提供的服務(wù)集合。
服務(wù)選擇是根據(jù)服務(wù)的層狀滿(mǎn)意度模型、當(dāng)前的情境信息以及服務(wù)運(yùn)行的資源要求和交付約束條件等,來(lái)綜合評(píng)估和選擇出具有較高服務(wù)滿(mǎn)意度值(dss值)的服務(wù)集合。假設(shè)把移動(dòng)用戶(hù)當(dāng)前可訪(fǎng)問(wèn)的服務(wù)和當(dāng)前系統(tǒng)中的移動(dòng)節(jié)點(diǎn)mp集合分別表示為s和mps:s={s1,s2,…,sm},mps={mp1,mp2,…,mpn},其中m和n分別是移動(dòng)用戶(hù)當(dāng)前可訪(fǎng)問(wèn)的服務(wù)總數(shù)量和mp的數(shù)量。整個(gè)服務(wù)選擇過(guò)程可以被形式化描述如下:
γ(s)=|ψ(s1),ψ(s2),…,ψ(sm)|
這里,γ(s)是最終被選出的服務(wù)集合,ψ(si)是一個(gè)根據(jù)層狀服務(wù)滿(mǎn)意度模型、針對(duì)ftc和btc相關(guān)的質(zhì)量指標(biāo)進(jìn)行評(píng)估的函數(shù),可以把ψ(si)細(xì)化表述為如下形式:
ψ(si)=h(si)·e(si),i∈[1,m](1)
其中,si為第i個(gè)服務(wù),h(si)為第i個(gè)服務(wù)中的布爾型情境信息的服務(wù)滿(mǎn)意度評(píng)價(jià)函數(shù),e(si)為第i個(gè)服務(wù)中的模糊型情境信息的服務(wù)滿(mǎn)意度評(píng)價(jià)函數(shù)。這里e(si)通過(guò)層次化模糊評(píng)估算法獲取;h(si)也可以進(jìn)一步細(xì)化表示為:
其中s為用戶(hù)當(dāng)前可訪(fǎng)問(wèn)的服務(wù)的集合,c是與服務(wù)si相關(guān)的布爾型情境信息的集合,ck為集合c中的第k個(gè)布爾型情境信息,hk為一階謂詞邏輯推理函數(shù)。
通過(guò)式(1)計(jì)算出ψ(si)后判斷ψ(si)是否大于設(shè)定的服務(wù)滿(mǎn)意度閥值λ,若是則將服務(wù)si列入向用戶(hù)提供的服務(wù)集合,否則舍棄該服務(wù),其中λ∈[0,1]。
在計(jì)算ψ(si)過(guò)程中??蛇m用一個(gè)策略來(lái)來(lái)進(jìn)行優(yōu)化計(jì)算過(guò)程,從而優(yōu)化計(jì)算γ(s)的過(guò)程:
首先記:
l(s)={si|h(si)=1∧si∈s}(3)
根據(jù)公式(1)和(3),如果
γ(s)={si∈l(s)|e(si)≥λandλ∈[0,1]}(4)
一般來(lái)說(shuō),閥值λ要根據(jù)應(yīng)用經(jīng)驗(yàn)來(lái)設(shè)置。在初始化階段,系統(tǒng)需要采用兩個(gè)步驟為每個(gè)移動(dòng)節(jié)點(diǎn)計(jì)算γ(s)。而在運(yùn)行階段,如果所有新收到信息都是ftc,系統(tǒng)僅需進(jìn)行模糊評(píng)估計(jì)算;否則系統(tǒng)就需要重新計(jì)算l(s),然后計(jì)算γ(s)。
最后,在完成上述服務(wù)準(zhǔn)備后,將服務(wù)列表(servicelist)推送至移動(dòng)用戶(hù)以供用戶(hù)進(jìn)行選擇。
對(duì)于每一移動(dòng)節(jié)點(diǎn),計(jì)算出的服務(wù)集合γ(s)定時(shí)以按服務(wù)滿(mǎn)意度值降序的服務(wù)列表的形式,其中包括服務(wù)名稱(chēng)、服務(wù)滿(mǎn)意度值、服務(wù)位置和訪(fǎng)問(wèn)格式等信息,由后端通過(guò)網(wǎng)絡(luò)發(fā)送給移動(dòng)用戶(hù),并通過(guò)消息或用戶(hù)界面提醒用戶(hù)新服務(wù)列表和服務(wù)更新情況。用戶(hù)可以自主選擇或是通過(guò)設(shè)定自動(dòng)運(yùn)行服務(wù)滿(mǎn)意度值較高的服務(wù)。
根據(jù)上述服務(wù)準(zhǔn)備方法構(gòu)建了一個(gè)具有情境感知的服務(wù)準(zhǔn)備模型(context-awareserviceprovisioningmodel,縮寫(xiě)為caspm),具體結(jié)構(gòu)如圖2所示,以該模型作為案例的基礎(chǔ)來(lái)說(shuō)明整個(gè)服務(wù)準(zhǔn)備過(guò)程。caspm共有三層結(jié)構(gòu),包括移動(dòng)客戶(hù)端層(mpclayer,縮寫(xiě)為mpcl),服務(wù)管理層(servicemanagementlayer,縮寫(xiě)為sml),服務(wù)提供者層(serviceproviderlayer,縮寫(xiě)為spl)。
a)移動(dòng)客戶(hù)端層(mpcl)
移動(dòng)客戶(hù)端層包括許多移動(dòng)節(jié)點(diǎn),它們?cè)谙到y(tǒng)中是信息服務(wù)的消費(fèi)者,事實(shí)上,每一個(gè)移動(dòng)節(jié)點(diǎn)mp與一個(gè)被稱(chēng)為移動(dòng)節(jié)點(diǎn)客戶(hù)端(mpclient,縮寫(xiě)為mpc)的軟件組件相關(guān)聯(lián)。mpc通常運(yùn)行并駐留在用戶(hù)的便攜式設(shè)備上,根據(jù)用戶(hù)的請(qǐng)求,mpc一般扮演信息服務(wù)請(qǐng)求的發(fā)起者、服務(wù)準(zhǔn)備結(jié)果的接收者,有時(shí)通過(guò)用戶(hù)界面(userinterface)承擔(dān)某個(gè)特定信息服務(wù)的調(diào)用者。在初始化階段,每一個(gè)mpc會(huì)首先向本地的信息服務(wù)系統(tǒng)發(fā)出加入請(qǐng)求信息(joiningrequestinformation,jri),其編碼格式如圖3所示:其中inf-tag=1,opt-type=0,deviceid是國(guó)際標(biāo)準(zhǔn)的15位(字節(jié))移動(dòng)設(shè)備識(shí)別碼imei;mpc在獲得系統(tǒng)準(zhǔn)許后,通過(guò)發(fā)送自己的userid和deviceid聲明信息(joiningdeclarationinformation,jdi),編碼格式見(jiàn)圖4:其中inf-tag=1,opt-type=1,userid是用戶(hù)在系統(tǒng)中的18位(字節(jié))唯一身份標(biāo)識(shí)符,從而加入系統(tǒng)。這里假設(shè)信息服務(wù)系統(tǒng)能夠根據(jù)userid和deviceid獲得用戶(hù)偏好和設(shè)備的能力。隨后mpc會(huì)向本地的服務(wù)代理發(fā)送一個(gè)服務(wù)請(qǐng)求,在系統(tǒng)為它做好服務(wù)準(zhǔn)備后,最終它會(huì)接受并可以顯示可以使用的服務(wù)列表,其編碼格式如圖5所示:inf-tag=2,opt-type=0表示傳送servcielist信息,service-number表示推送列表中服務(wù)個(gè)數(shù);length則表示每個(gè)服務(wù)條目占用字節(jié)數(shù);其后是服務(wù)條目,每個(gè)dss-value[i]表示第i個(gè)服務(wù)的dss值,而seviceinvocationinformation則包含用來(lái)服務(wù)名稱(chēng)、調(diào)用接口、參數(shù)和類(lèi)型等信息。當(dāng)系統(tǒng)的計(jì)算環(huán)境發(fā)生變化時(shí),例如有服務(wù)提供者(serviceprovider)加入或退出系統(tǒng)時(shí),系統(tǒng)會(huì)重新進(jìn)行服務(wù)準(zhǔn)備計(jì)算,從而更新服務(wù)列表,相應(yīng)的,每一個(gè)mpc會(huì)接收到一個(gè)包含新服務(wù)列表的通知。
在caspm中,mpc還包含情境信息收集器(contextcollector),它會(huì)每隔100ms定時(shí)收集諸如mp的位置、當(dāng)前的無(wú)線(xiàn)網(wǎng)絡(luò)的帶寬情況以及當(dāng)前設(shè)備的電池壽命等情境信息,發(fā)送給后端的情境信息解釋器(contextinterpreter)去處理,其編碼格式。其中inf-tag=3表示傳送情境信息,opt-type=0表示的底層原始情境信息(rawcontext),opt-type=1表示抽象的高層次情境信息(abstractedcontext)。category值為0表示用戶(hù)相關(guān)的情境信息;為1表示與服務(wù)相關(guān)的;為2表示與設(shè)備相關(guān)的,其他值暫保留。sub-opt表示與category相關(guān)的主體名稱(chēng)。relater-opt是subject和value之間的關(guān)系選項(xiàng),主要表示一個(gè)關(guān)系運(yùn)算符,如>,>=,<和<=等,或是一個(gè)動(dòng)詞和一個(gè)前置詞。val-type表示contextvalue的類(lèi)型,選項(xiàng)可以是字符、實(shí)數(shù)和模糊數(shù)等;val-occupation表示相應(yīng)類(lèi)型占用的字節(jié)數(shù),如字符是1個(gè)字節(jié),而實(shí)數(shù)可以是4個(gè)或8個(gè)字節(jié);val-length表示contextvalue的數(shù)值個(gè)數(shù),如溫度用1個(gè)實(shí)數(shù)值表示,而坐標(biāo)則需要2維或3維的多個(gè)數(shù)值。value[0]~value[n-1]是contextvalue的數(shù)值表示部分。metric表示context度量選擇項(xiàng),metric=0表示boolean型,1表示fuzzy型,2表示probability型。time部分表示context產(chǎn)生的時(shí)間信息,t=0,表示緊隨其后是context產(chǎn)生的時(shí)刻,t=1表示后面的是context保持某一特定狀態(tài)值,亦或是情境謂詞保持為真的時(shí)間段。
b)服務(wù)管理層(sml)
sml是整個(gè)caspm中最重要的組成部分,它承擔(dān)mpcl和spl之間的橋梁作用,體現(xiàn)了面向服務(wù)體系結(jié)構(gòu)的設(shè)計(jì)思想。其中服務(wù)組件管理器(componentmanager)負(fù)責(zé)服務(wù)發(fā)現(xiàn)和查詢(xún)的功能。服務(wù)代理(servicebroker)則負(fù)責(zé)接收來(lái)自mpc的服務(wù)請(qǐng)求,當(dāng)服務(wù)管理層計(jì)算出可提供給mpc的服務(wù)后,它負(fù)責(zé)發(fā)送可提供的服務(wù)清單給mpc,同時(shí)服務(wù)代理還負(fù)責(zé)在mpc第一次調(diào)用某服務(wù)時(shí)將該服務(wù)或服務(wù)代理下載到mp。contextinterpreter作為spl的一個(gè)重要部件,它主要負(fù)責(zé)將rawcontext融合為abstractedcontext。例如,當(dāng)一個(gè)mp進(jìn)入某個(gè)房間時(shí),獲取房門(mén)上的rfid物理信號(hào)并將它通過(guò)contextcollector發(fā)送給spl。contextinterpreter接收到此信號(hào)后,經(jīng)過(guò)映射處理得到此信號(hào)對(duì)應(yīng)的房間號(hào),從而獲得該mp的當(dāng)前位置信息。如前所述,caspm中的情境信息被分成清晰和模糊兩大類(lèi),相應(yīng)的對(duì)每一服務(wù)都要應(yīng)用一階謂詞邏輯和模糊邏輯進(jìn)行評(píng)估,而且每一服務(wù)都有一個(gè)相關(guān)聯(lián)的服務(wù)評(píng)估模型(evaluationmodel),這個(gè)評(píng)價(jià)模型主要包括一階謂詞邏輯規(guī)則庫(kù)(firstorderlogicrulebases)和模糊變量(fuzzyvariables)集合,為決策引擎(decisionengine)提供數(shù)據(jù)支持。該模型是通過(guò)解析每一個(gè)服務(wù)的描述文件(serviceprofiles)中包含的運(yùn)行資源需求和提供服務(wù)的約束信息,由描述文件解析器(profileparser)生成并維護(hù)的。具體解析過(guò)程包括由btcontext條目生成一階邏輯規(guī)則庫(kù),用來(lái)判斷服務(wù)的可用性;ftcontext條目主要生成模糊變量和層次化模糊評(píng)估樹(shù),如圖6所示,該模糊評(píng)估樹(shù)支持dss的模糊評(píng)估計(jì)算。具體地,基于xml格式的服務(wù)描述文件如下:
由btcontext條目生成一階邏輯規(guī)則庫(kù)如下:
在contextinterpreter和evaluationmodel的支持下,decisionengine應(yīng)用一階謂詞邏輯和模糊邏輯推理機(jī),負(fù)責(zé)評(píng)估spl發(fā)現(xiàn)的每一個(gè)服務(wù),并在此基礎(chǔ)上為每個(gè)mp計(jì)算出可提供的服務(wù)列表,通過(guò)服務(wù)代理發(fā)送給mpc。
c)服務(wù)提供者層(spl)
設(shè)計(jì)方案中,引入w3c關(guān)于服務(wù)的定義:服務(wù)是一個(gè)實(shí)現(xiàn)了某種特定功能的邏輯實(shí)體,可以通過(guò)服務(wù)模板定義服務(wù)并通過(guò)服務(wù)組件的組合來(lái)實(shí)現(xiàn)某個(gè)服務(wù)。一般情況下,在spl,服務(wù)由服務(wù)提供者(serviceprovider)通過(guò)網(wǎng)絡(luò)以描述文件的形式向外界公布,它描述了服務(wù)運(yùn)行所需要的資源和提供該服務(wù)的約束條件。服務(wù)提供者可以添加,刪除和更新的服務(wù),將提供相應(yīng)的服務(wù)模板和描述文件。服務(wù)管理者和服務(wù)提供者之間采用訂閱/通知的機(jī)制,以保證服務(wù)管理者及時(shí)的獲得最新的描述文件。
該模型中各部件的交互過(guò)程如圖7所示。