黃寥若,沈慶國,張高明,賈連祥
(1.解放軍理工大學(xué) 通信工程學(xué)院,江蘇 南京210007;2.中國人民解放軍66287部隊(duì),河北 易縣074200)
在基于策略網(wǎng)絡(luò)系統(tǒng) (policy-based network system)中,如何將高層近自然語言描述的策略,精化分解為底層可執(zhí)行策略,一直是研究的熱點(diǎn)之一。其中比較受到認(rèn)可的方法有,基于目標(biāo)需求分解的精化方法、專家系統(tǒng)方法等。在目前的研究成果中,策略精化方法普遍缺少自動(dòng)推理機(jī)制,仍然需要較多的人工干預(yù),大大制約了策略精化的自動(dòng)化水平。部分學(xué)者提出將本體知識(shí)系統(tǒng)引入策略網(wǎng)絡(luò)管理,利用本體良好的語義表達(dá)能力和知識(shí)推理能力實(shí)現(xiàn)策略的自動(dòng)精化,然而,如何設(shè)計(jì)并實(shí)現(xiàn)本體驅(qū)動(dòng)的策略精化機(jī)制卻始終未能得到解決。本文在以往研究成果的基礎(chǔ)上,針對(duì)QoS區(qū)分服務(wù)的具體應(yīng)用環(huán)境,對(duì)策略元素進(jìn)行了語義描述,利用本體知識(shí)推理實(shí)現(xiàn)了策略的精化過程,并利用實(shí)驗(yàn)對(duì)該方法進(jìn)行了驗(yàn)證,表明了該方法的有效性。
策略精化是指:為了滿足策略的可執(zhí)行性,將近自然語言描述的高級(jí)策略,自動(dòng)分解和細(xì)化為設(shè)備可執(zhí)行的底層策略,從而對(duì)設(shè)備進(jìn)行管理的方法。如何自動(dòng)化的實(shí)現(xiàn)策略精化,減少管理員的干預(yù),一直是基于策略網(wǎng)絡(luò)系統(tǒng)領(lǐng)域的研究熱點(diǎn)之一,也是制約該系統(tǒng)廣泛應(yīng)用的主要因素之一。2004年,Bandara和Lupu等提出了基于目標(biāo)需求分解 (KAOS)的策略精化方法,之后部分學(xué)者提出利用線性時(shí)態(tài)邏輯 (linear temporal logic)和事件積分 (event calculus)來實(shí)現(xiàn)目標(biāo)和事件的形式化描述[1],使得該方法成為了傳統(tǒng)方法中使用較為廣泛的一種。但是,該方法在目標(biāo)分解階段需要較多的專家知識(shí),實(shí)現(xiàn)起來比較復(fù)雜和繁瑣,并且缺少工具支持,制約了該方法的實(shí)用性。Antonio Guerrero等人在文獻(xiàn) [2]中提出了將本體引入策略精化過程的方法,闡述了使用本體知識(shí)推理實(shí)現(xiàn)策略精化的優(yōu)勢和基本思路。但是,作者并沒有給出通用的網(wǎng)絡(luò)本體模型,也沒有描述如何實(shí)現(xiàn)本體驅(qū)動(dòng)的策略精化機(jī)制。之后,Cataldo Basile等在文獻(xiàn) [3,4]中對(duì)本體精化機(jī)制進(jìn)行了研究,在安全管理領(lǐng)域,實(shí)現(xiàn)了對(duì)于安全管理策略的本體精化。但是作者提出的本體模型和實(shí)現(xiàn)機(jī)制均是基于安全管理域的特定知識(shí),很難應(yīng)用于其他場景。而Farhad Mardukhi等學(xué)者則在文獻(xiàn) [5]中提出了利用策略精化機(jī)制實(shí)現(xiàn)動(dòng)態(tài)服務(wù)的方法,研究了本體精化機(jī)制如何在面向服務(wù)的系統(tǒng)中工作。至于使用本體對(duì)其他領(lǐng)域策略的精化方法研究,例如在QoS 中的策略精化,則未受到廣泛的關(guān)注。
實(shí)現(xiàn)策略精化的難點(diǎn)主要在于,首先,缺少一種統(tǒng)一的知識(shí)表示方法,使得系統(tǒng)和系統(tǒng)用戶對(duì)網(wǎng)絡(luò)知識(shí)缺少準(zhǔn)確一致的認(rèn)識(shí),限制了策略作用的范圍,割裂了不同層次間策略之間的聯(lián)系;其次,高層策略與底層策略之間缺少映射和推理機(jī)制,使得策略的精化過程需要較多的人工干預(yù)。將本體引入策略控制系統(tǒng),可以在一定程度上解決上述問題,本體是共享概念模型的明確的形式化規(guī)范說明[6],它不僅可以為系統(tǒng)知識(shí)提供統(tǒng)一,規(guī)范的形式化描述,還能夠?qū)χR(shí)之間的關(guān)系和約束等隱性關(guān)系進(jìn)行刻畫,從而使系統(tǒng)知識(shí)具備豐富的語義。本體知識(shí)推理,是在本體知識(shí)的基礎(chǔ)上,借助相應(yīng)的推理規(guī)則,在推理引擎的幫助下,推理出新的本體知識(shí),并對(duì)原本體進(jìn)行更新的過程。網(wǎng)頁本體語言 (Web ontology language,OWL)是目前廣泛使用的本體描述語言,能夠在語義Web 規(guī)則描述語言 (semantic Web rule language,SWRL)的配合下,進(jìn)行基于概念和規(guī)則的推理。
圖1 本體知識(shí)推理的總體框架
通過對(duì)之前研究成果的對(duì)比和總結(jié),本文提出了一種基于本體知識(shí)推理實(shí)現(xiàn)策略精化的方法。該方法利用本體對(duì)策略行為進(jìn)行語義刻畫,使得策略行為具備執(zhí)行的前提與效果,使得行為可以根據(jù)目前的環(huán)境條件決定是否執(zhí)行,而環(huán)境可以根據(jù)行為的執(zhí)行結(jié)果進(jìn)行更新,從而可以根據(jù)系統(tǒng)狀態(tài)和高層抽象行為,確定底層可執(zhí)行行為。這種方法與之前的方法相比,通過本體知識(shí)推理,提供了一種高層策略到底層策略的自動(dòng)映射機(jī)制,提高了自動(dòng)化程度;同時(shí),由于對(duì)于策略行為的語義刻畫是分布式的,不需要系統(tǒng)的設(shè)計(jì)者具備完備的領(lǐng)域知識(shí),而是可以通過多個(gè)專家或團(tuán)體的協(xié)作,來完成知識(shí)庫的構(gòu)建,減少了對(duì)于領(lǐng)域?qū)<抑R(shí)的依賴。
IETF和DMTF提出了PBNM 的基本模型,這一模型由策略決策點(diǎn) (policy decision point,PDP),策略執(zhí)行代理 (policy enforcement point agent),策略執(zhí)行點(diǎn) (policy enforcement point,PEP),策略管理工具 (policy management tool,PMT),策略庫 (policy repository,PR)和連接以上各個(gè)部分的通信協(xié)議組成。本文所利用的本體模型主要存在于PDP中,研究的策略精化機(jī)制,也主要在PDP中實(shí)現(xiàn),在本文的研究過程中,我們利用protégé進(jìn)行本體建模,利用Jess推理機(jī)進(jìn)行知識(shí)推理。其中,protégé是由斯坦福大學(xué)開發(fā)的本體建模工具,Jess是由美國Sandia國家實(shí)驗(yàn)室開發(fā),利用Java編寫的SWRL 推理機(jī)。系統(tǒng)的總體框架如1所示。
用戶在PMT 中生成策略之后,高層策略首先被映射到本體知識(shí)庫,其中本體知識(shí)庫是對(duì)系統(tǒng)知識(shí)及策略知識(shí)的本體建模,然后根據(jù)SWRL 推理規(guī)則庫中預(yù)先定義的策略精化規(guī)則,在Jess推理機(jī)的幫助下進(jìn)行知識(shí)推理,得到新的本體知識(shí),從而更新本體,然后將新的策略本體翻譯為底層可執(zhí)行策略,進(jìn)行策略存儲(chǔ)和策略分發(fā)。本文研究的重點(diǎn)在于,如何建立合適的規(guī)則,在PDP中推理機(jī)制的幫助下,實(shí)現(xiàn)策略的自動(dòng)精化過程。
策略精化過程的關(guān)鍵在于找到一組合適的底層行為集,使之執(zhí)行的結(jié)果能夠滿足高層策略的需求[7]。然而,在不同的應(yīng)用層次上,對(duì)于策略行為的理解往往是不同的。例如在業(yè)務(wù)層次上,高層策略的形式往往是以用戶需求的形式表達(dá)的,如SLS,策略行為則是蘊(yùn)含了具體服務(wù)指標(biāo)的抽象行為,而在IP承載層次上,策略行為是具體的、能夠被網(wǎng)絡(luò)設(shè)備識(shí)別和執(zhí)行的具體操作。因此,在本文的研究中,主要對(duì)底層策略行為進(jìn)行語義描述。
根據(jù)上述要求,對(duì)策略行為的語義刻畫主要包括3個(gè)方面:“行為作用類”(ReactClass),“執(zhí)行條件”(PreCondition)與 “執(zhí)行效果”(PostCondtion)。
其中行為作用類指示的是策略行為作用于哪種對(duì)象,如數(shù)據(jù)流,數(shù)據(jù)包,被管設(shè)備等,指示了策略行為的作用粒度。執(zhí)行條件指示的是,策略動(dòng)作能夠被執(zhí)行的必要條件,通過對(duì)動(dòng)作執(zhí)行條件的定義,使得系統(tǒng)能夠從當(dāng)前狀態(tài)和目標(biāo)狀態(tài)2個(gè)方面,判斷一個(gè)動(dòng)作能否被執(zhí)行,以及在何時(shí)被執(zhí)行,確保了底層策略動(dòng)作執(zhí)行順序的正確性。執(zhí)行效果指示的是,策略行為在執(zhí)行之后,系統(tǒng)或者服務(wù)對(duì)象的屬性及狀態(tài)變化,通過對(duì)執(zhí)行效果的定義,使得可以通過評(píng)估動(dòng)作的執(zhí)行效果,來判斷高層策略是否被滿足,以及是否有新的動(dòng)作被觸發(fā)。通過對(duì)執(zhí)行條件和效果的定義,可以據(jù)此判斷不同動(dòng)作間的組合、分解、關(guān)聯(lián)等關(guān)系。需要注意的是,執(zhí)行條件和執(zhí)行效果是基于網(wǎng)絡(luò)管理領(lǐng)域的基本知識(shí)與基本機(jī)制,與策略客體和服務(wù)對(duì)象的具體狀態(tài)無關(guān),因此在對(duì)策略行為進(jìn)行語義刻畫時(shí),不涉及具體的參數(shù)和數(shù)值。由于SWRL 具有良好的邏輯表達(dá)能力,并能在本體知識(shí)推理過程中作為規(guī)則匹配,因此本文中采用SWRL對(duì)策略行為進(jìn)行描述。
SWRL規(guī)則的一般形式是 “前提→結(jié)論”,其中前提是若干個(gè)一元謂詞和二元謂詞的和,當(dāng)所有的謂詞判斷為真時(shí)前提才為真,同時(shí)結(jié)論為真。SWRL 規(guī)則中的謂詞,均來源于本體模型中定義的類和屬性,形式為class(?c)和property(?c,?p),其中class和property分別為類名和屬性名,“?c”代表的是某個(gè)非確定實(shí)例,當(dāng)利用該規(guī)則進(jìn)行推理時(shí),則推理機(jī)將對(duì)所有實(shí)例分別匹配該規(guī)則。例如對(duì)setDSCP行為的語義描述如下:
這條SWRL 規(guī)則的意義是:如果數(shù)據(jù)包的類型和某PHB適用的類型相同,則為數(shù)據(jù)包打上該P(yáng)HB 的標(biāo)記。在以上例子中,并不涉及具體的PHB,也不涉及數(shù)據(jù)包具體的類別,只是對(duì)它們之間的關(guān)聯(lián)關(guān)系進(jìn)行了描述,因此這條規(guī)則實(shí)際上是對(duì)setDSCP 動(dòng)作的抽象和總結(jié)。在實(shí)際推理中,系統(tǒng)將遍歷所有的系統(tǒng)實(shí)例,根據(jù)實(shí)際的需求,生成具體的數(shù)值,因此,策略行為的語義描述規(guī)則將對(duì)策略行為的定性分析和定量分析區(qū)分開來,使得描述規(guī)則可以在策略精化系統(tǒng)中得到重用。
進(jìn)行高層策略的精化,首先需要將策略行為分解和細(xì)化為設(shè)備可以理解和執(zhí)行的底層行為,然后,需要根據(jù)高層策略的要求和服務(wù)對(duì)象的屬性,確定使用哪些底層行為。通過對(duì)相應(yīng)的行為編輯正確的執(zhí)行前提與效果,可以建立對(duì)象屬性和采取動(dòng)作之間的聯(lián)系,因此,可以在推理的過程中,自動(dòng)匹配出需要執(zhí)行的正確行為。
通過定義策略動(dòng)作的執(zhí)行條件和執(zhí)行效果,為策略動(dòng)作之間的比較和關(guān)聯(lián)創(chuàng)造了條件,由以上的例子可以看出,對(duì)于一個(gè)底層動(dòng)作的語義定義主要包含3 個(gè)部分,因此,可以將底層動(dòng)作表示為以下邏輯表達(dá)式
其中Ai表示策略行為,Si表示行為作用類的謂詞表達(dá)式,Prei和Posti為若干謂詞表達(dá)式的集合,其中 “∧”表示謂詞表達(dá)式的與,“→”表示邏輯推出。
在此我們有如下定義:
定義1 動(dòng)作的并行執(zhí)行:若有Ai:Si∧Prei→Posti,Ai:Si∧Prei→Posti,且有Si∧Sj∧Prei∧Prej→Posti∧Postj,則稱2個(gè)動(dòng)作Ai和Aj可以并行執(zhí)行,以符號(hào) “∪”表示。
該定義的意義是:如果2個(gè)動(dòng)作可以并行執(zhí)行,那么2個(gè)動(dòng)作的執(zhí)行條件為它們執(zhí)行條件的和,執(zhí)行效果為它們執(zhí)行效果的和。
定義2 動(dòng)作的串行執(zhí)行:若有Ai:Si∧Prei→Posti,Ai:Si∧Prei→Posti,且Si∧Sj∧Prei→Postj,則稱2個(gè)動(dòng)作Ai和Aj可以串行執(zhí)行,以符號(hào) “∩”表示2個(gè)動(dòng)作的串行執(zhí)行,
該定義的意義是:如果2個(gè)動(dòng)作可以串行執(zhí)行,那么2個(gè)動(dòng)作的執(zhí)行條件為其中一個(gè)動(dòng)作的執(zhí)行條件,執(zhí)行效果為另一個(gè)動(dòng)作的執(zhí)行效果。
此外還需要對(duì)謂詞邏輯表達(dá)式間的關(guān)系進(jìn)行定義:
定義4 行為作用類間的關(guān)系:以符號(hào) “∈”表示2個(gè)行為作用類的關(guān)系,有2個(gè)行為作用類Ci,Cj;當(dāng)且僅當(dāng)Ci為Cj的子類時(shí),Ci∈Cj。
由定義4可以得出如下定義:
定理 若有Ai:Si∧Prei→Posti,若有Si∈Sj,則Sj∧Prei→Posti亦成立。
該定義的意義是:如果一個(gè)動(dòng)作作用在某個(gè)類上,那么它一定也作用在該類的父類上。
根據(jù)以上定義,若有3 個(gè)不同的策略行為A1,A2,A3,則可得到以下動(dòng)作細(xì)化規(guī)則。
規(guī)則1:S1∈S3,S2∈S3,Pre1,Pre2,Post1,Post2兩兩沒有包含關(guān)系,且有Pre3=Pre1∧Pre2,Post3=Post1∧Post2,則有A3=A1∪A2。
證明:由對(duì)動(dòng)作的定義可得A1:S1∧Pre1→Post1,A2:S2∧Pre2→Post2,又因?yàn)镻re1,Pre2,Post1,Post2兩兩沒有包含關(guān)系,所以A1∪A2:S1∧S2∧Pre1∧Pre2→Post1∧Post2(*)成立;又因?yàn)镾1∈S3,S2∈S3,所以S1∧S2∈S3;又有Pre3=Pre1∧Pre2,Post3=Post1∧Post2,所以由定理5,(*)式即為S3∧Pre3→Post3,即A3=A1∪A2,證畢。規(guī)則1的有向圖如圖2所示。
圖2 規(guī)則1有向圖
該規(guī)則的意義為,某個(gè)高層動(dòng)作可以分解為若干個(gè)并行執(zhí)行的底層動(dòng)作,例如在訪問控制策略中,當(dāng)高層策略為 “禁止外部用戶訪問服務(wù)器”,則該策略可以分解為底層的若干條具體的訪問控制策略,如 “禁止源地址在10.1.1.0/24網(wǎng)段的用戶訪問服務(wù)器”等,這些策略中的動(dòng)作通過并行執(zhí)行,達(dá)到高層的策略的訪問控制目標(biāo)。
規(guī)則2:S1∈S3,S2∈S3,且有Pre3=Pre1,Post3=Post2,Pre2Post1,則有A3=A1∩A2。
證明:因?yàn)锳1:S1∧Pre1→Post1,所以S1∧S2∧Pre1→Post1∧S2,因?yàn)镻re2Post1,則可得Post1∧S2→Pre2∧S2→Post2,即A1∩A2:S1∧S2∧Pre1→Post2(*)成立;又S1∈S3,S2∈S3,所以S1∧S2∈S3;又因?yàn)镻re3=Pre1,Post3=Post2,則 (*)即為S3∧Pre3→Post3,即A3=A1∩A2,證畢。規(guī)則2的有向圖如圖3所示。
該規(guī)則的意義為某個(gè)高層動(dòng)作,可以分解為若干個(gè)串行執(zhí)行的底層動(dòng)作,例如在QoS服務(wù)策略中,高層策略為“保證語音流量F的吞吐量不少于520kbps”,則該策略可以分解為底層的標(biāo)記策略和資源分配策略,如 “將語音流F標(biāo)記為EF”, “為目標(biāo)流F分配520kbps帶寬”等。這些策略中的動(dòng)作通過順序執(zhí)行,達(dá)到高層策略的性能目標(biāo)。
圖3 規(guī)則2有向圖
通過以上2條規(guī)則,可以基本完成對(duì)于系統(tǒng)中策略動(dòng)作的細(xì)化,但是為了滿足高層策略的需求,如SLS等,則還需要對(duì)細(xì)化后的動(dòng)作進(jìn)行篩選,從而組織正確的底層動(dòng)作序列,使之執(zhí)行的效果,能夠滿足高層策略的需求。
將策略動(dòng)作進(jìn)行細(xì)化之后,則需要根據(jù)服務(wù)的屬性和流量的需求,挑選正確的動(dòng)作,利用SWRL 規(guī)則進(jìn)行策略精化的核心在于,根據(jù)高層用戶需求和服務(wù)屬性,與行為規(guī)則的前提進(jìn)行匹配和推理,從而篩選出正確底層行為的過程。策略精化算法流程如圖4所示。
圖4 策略精化算法流程
在策略精化的過程中,輸入行為規(guī)則,根據(jù)當(dāng)前的系統(tǒng)狀態(tài),資源需求,對(duì)象屬性等,篩選可以被執(zhí)行,并且不與當(dāng)前系統(tǒng)狀態(tài)相沖突的行為,并根據(jù)行為的執(zhí)行結(jié)果,對(duì)系統(tǒng)狀態(tài)和對(duì)象狀態(tài)進(jìn)行更新,進(jìn)而判斷選取的行為集是否滿足用戶需求,直到所有可執(zhí)行的策略行為被挑選出來之后,策略精化過程結(jié)束。
通過4.1的行為分解,確保了挑選出來的策略行為都是可以被底層設(shè)備理解和執(zhí)行的,則可設(shè)如下集合,其中集合中的元素是包含了具體對(duì)象實(shí)例和數(shù)值的謂詞表達(dá)式:系統(tǒng)狀態(tài)集合S (S1,S2,…,Sn),其中Si為系統(tǒng)的某個(gè)屬性,如可用資源,用戶數(shù)量等;對(duì)象屬性集合F (F1,F(xiàn)2,…,F(xiàn)n),其中Fi為服務(wù)對(duì)象的某個(gè)屬性,如應(yīng)用類別,服務(wù)端口等;用戶需求集合R (R1,R2,…,Rn),其中Ri為SLA 中規(guī)定的資源和需求,如帶寬供應(yīng),突發(fā)速率等;底層動(dòng)作集合A (A1,A2,…,An),其中Ai為4.1中經(jīng)過分解和細(xì)化的底層行為;對(duì)象狀態(tài)集合P (P1,P2,…,Pn),其中Pi為服務(wù)對(duì)象的當(dāng)前狀態(tài),如流量的標(biāo)記,被分配的資源等;目標(biāo)行為集合 A* (A1,A2,…,An),其中Ai為篩選出來,可以滿足高層策略需求的底層行為。各個(gè)集合中的元素為在本體中定義的對(duì)象實(shí)例或具體數(shù)值,可以代入謂詞表達(dá)式中進(jìn)行判斷。
定義5 若有Sj,F(xiàn)j,Rj滿足Prej,使得Aj:Prej∧Sj→Postj成立,則Aj被篩選出來,Pj為Postj中推理得出的對(duì)象屬性值,則Pj∈P。
該定義的意義是:若存在集合S、F、R 中的元素,使得Aj的執(zhí)行前提為真,則Ai被加入集合A*,同時(shí)Posti中的PJ被加入集合P。
定義6 若對(duì)于狀態(tài)集合P 均為真時(shí),用戶需求R 可以被滿足,則稱P能滿足R,記為P→R;
該定義的意義是:當(dāng)P能滿足R 時(shí),若對(duì)象的屬性與P中的元素一致時(shí),對(duì)服務(wù)對(duì)象的服務(wù)水平可以滿足用戶需求。
則根據(jù)定義5和定義6,可以得到以下結(jié)論:
結(jié)論:若存在一個(gè)行為集合A’,通過執(zhí)行A’中的所有行為,可以使得P能滿足R,則必有A’A*;
該結(jié)論的意義是:若存在一個(gè)行為集合可以滿足用戶需求,那么一定包含在算法選出的行為集A*中。
證明:設(shè)行為集合A+=A-A*,則根據(jù)定義5,A+中的行為在當(dāng)前狀態(tài)下不具備執(zhí)行的條件,或與系統(tǒng)參數(shù)和狀態(tài)沖突。則假設(shè)存在A’,使得P能滿足R,同時(shí)至少存在Ak∈A’,同時(shí)Ak∈A+且AkA*,則根據(jù)算法,Ak不能被執(zhí)行,因此與題設(shè)矛盾,假設(shè)不成立。
通過以上結(jié)論可以得出,若存在行為集合能夠滿足用戶的目標(biāo),則必可以通過該算法找出該行為集合。
在本文的研究過程中,我們將某個(gè)設(shè)備在網(wǎng)絡(luò)中所處的位置和所起的作用,抽象為 “角色”概念,通過角色概念,一方面可以向系統(tǒng)屏蔽具體的被管對(duì)象的細(xì)節(jié),使得對(duì)于系統(tǒng)的管控更加方便;另一方面,可以在具體的策略行為執(zhí)行主體和策略行為之間建立聯(lián)系。在對(duì)于策略行為的語義描述過程中,還需要將策略行為與行為的執(zhí)行角色之間建立聯(lián)系,這一聯(lián)系的依據(jù)是某個(gè)行為是由某一類設(shè)備執(zhí)行的,例如QoS的標(biāo)記行為,則通常是由邊界節(jié)點(diǎn)執(zhí)行的,則可以在標(biāo)記行為和邊界節(jié)點(diǎn)之間建立聯(lián)系,從而在策略精化的過程中,確定策略的執(zhí)行主體。
確定策略執(zhí)行主體的過程如圖5所示。
圖5 主體確定方法
該過程表示了,對(duì)于某個(gè)行為,我們可以找到它的執(zhí)行角色。在策略作用域中,由于設(shè)備所處的不同位置,或發(fā)揮的不同作用,可以確定某個(gè)設(shè)備的角色。將兩者匹配,則可以通過策略行為,找到具體的被管對(duì)象,以及它的引址或IP地址。
本文應(yīng)用OWL語言進(jìn)行本體建模,在OWL 中共定義了以下幾種概念:類,屬性,實(shí)例,約束。其中類是對(duì)某個(gè)對(duì)象的抽象描述,使用owl:Class來定義一個(gè)類。屬性有2種,一種為對(duì)象屬性,描述的是2 個(gè)類之間的關(guān)系,使用owl:ObjectProperty來定義對(duì)象屬性;另一種為數(shù)據(jù)類型屬性,描述的是一個(gè)類與某個(gè)具體數(shù)值的關(guān)系,使用owl:DatatypeProperty來定義數(shù)據(jù)類型屬性。約束有屬性約束、個(gè)數(shù)約束等,它用來描述類的具有個(gè)數(shù)或?qū)傩缘募s束條件,定義形式有owl:allValuesFrom,owl:maxCardinality等。下文利用UML圖對(duì)本體模型進(jìn)行描述,需要指出的是,為了簡單起見下文僅對(duì)骨干類別和屬性進(jìn)行了描述,在實(shí)際使用中,需要根據(jù)具體的應(yīng)用對(duì)模型進(jìn)行擴(kuò)展和細(xì)化。
在文獻(xiàn) [8]中,對(duì)于ECA 策略的建模方法及內(nèi)容進(jìn)行了研究。本文依據(jù)該建模方法,將本體模型分為3個(gè)部分:策略模型、環(huán)境模型、領(lǐng)域模型。策略建模依據(jù)的是PCIM 及PCIMe策略模型,對(duì)策略,策略規(guī)則,策略構(gòu)件和策略組等進(jìn)行了描述,定義了策略的基本結(jié)構(gòu)和組成方式,其中不包含任何特定域的知識(shí),從而使得策略知識(shí)可以在多個(gè)應(yīng)用場景中得到重用。
策略本體模型如圖6所示。
環(huán)境建模依據(jù)的是實(shí)際應(yīng)用場景中的網(wǎng)絡(luò)元素、概念、事件等,對(duì)網(wǎng)絡(luò)環(huán)境中的具體概念,邏輯實(shí)體,被管對(duì)象等進(jìn)行了描述,定義了網(wǎng)絡(luò)的上下文信息,是整個(gè)本體知識(shí)庫的基礎(chǔ)部分,其中的概念,可以被其他模型作為組件調(diào)用。
環(huán)境本體模如圖7所示。
圖6 策略本體模型
圖7 環(huán)境本體模型
其中領(lǐng)域建模依據(jù)是QoS區(qū)分服務(wù)的領(lǐng)域知識(shí)以及QPIM 模型,根據(jù)QoS應(yīng)用場景中的具體知識(shí),刻畫了在QoS區(qū)分服務(wù)領(lǐng)域內(nèi)的知識(shí)[9],如QoS 的需求,行為,事件等,領(lǐng)域模型可以看作是前2 個(gè)模型的繼承與擴(kuò)充。
領(lǐng)域本體模型如圖8所示。
圖8 領(lǐng)域本體模型
在實(shí)際的使用中,需要將以上3個(gè)模型相互融合和鏈接,形成一個(gè)統(tǒng)一的本體知識(shí)庫,從而在具體的環(huán)境中得到使用。
對(duì)于上述策略精化機(jī)制,利用JAVA 在eclipse中進(jìn)行了軟件實(shí)現(xiàn),利用protegeAPI基本實(shí)現(xiàn)了設(shè)計(jì)的功能,并編寫了相應(yīng)的測試環(huán)境,測試了該精化方法的執(zhí)行效率。在實(shí)驗(yàn)中,以實(shí)時(shí)語音業(yè)務(wù)的QoS 策略為例,對(duì)簽訂的SLS高層策略進(jìn)行了策略精化[10]。
在實(shí)驗(yàn)中,為了簡單起見,僅對(duì)SLS中的吞吐量,丟包率,時(shí)延等指標(biāo)進(jìn)行了體現(xiàn)。以下是一個(gè)高層SLS策略的例子:
PolicyName:HighLevel_SLS ServiceObjectAttribute:SourceIP:1.1.1.1 DestinIP:2.2.2.2 SourcePort:21 DestinPort:22 Protocol:UDP ValidTime:12:00<currentTime<23:00 Application:VoIP ServiceIndex:Throughput:>=4000000bps Delay:<=0.1s Lost:<=0.1%
通過改變SLS中的指標(biāo)要求,生成多條高層策略,并將這些策略導(dǎo)入如下策略精化測試環(huán)境中。策略精化的測試環(huán)境為Intel Core Q8400 2.66Ghz,3G 內(nèi)存計(jì)算機(jī),并利用路由器搭建簡易網(wǎng)絡(luò),對(duì)底層策略的正確性和可執(zhí)行性進(jìn)行了驗(yàn)證。
軟件測試環(huán)境如圖9所示。
圖9 軟件測試環(huán)境
由高層SLS策略生成的底層可執(zhí)行策略首先存儲(chǔ)在本體知識(shí)庫中,作為本體知識(shí)的一部分,可以利用protégé等工具進(jìn)行查看,修改和調(diào)用,并能夠以PonderTalk 等策略描述語言的形式輸出。策略精化過程結(jié)束后,可以通過查看本體中ServiceObject類的屬性,確定對(duì)于服務(wù)對(duì)象的資源分配是否滿足要求,從而確定策略求精的結(jié)果是否正確,同時(shí),將生成的策略應(yīng)用與搭建的簡單網(wǎng)絡(luò)中,證明了策略精化結(jié)果的正確性,說明了本文研究的精化方法滿足了策略精化過程,對(duì)于“保證策略精化正確性可檢驗(yàn)”的要求。
策略精化效率如圖10、圖11所示。
通過實(shí)驗(yàn),可以證明本文設(shè)計(jì)的策略精化算法,首先,可以通過本體知識(shí)推理得到正確的底層策略;其次,策略精化過程的效率能夠滿足大多數(shù)應(yīng)用的需求;最后,生成的底層策略可以以多種形式輸出,具有較好的靈活性。
圖10 策略精化總體用時(shí)
圖11 策略精化平均用時(shí)
本文研究的策略精化方法,在對(duì)策略和網(wǎng)絡(luò)知識(shí)進(jìn)行統(tǒng)一定義的基礎(chǔ)上,利用知識(shí)推理機(jī)制,使得策略精化過程實(shí)現(xiàn)了自動(dòng)化,基本滿足了策略精化的實(shí)際需求。
在利用規(guī)則進(jìn)行知識(shí)推理的過程中,需要對(duì)全體規(guī)則庫中的規(guī)則進(jìn)行一一匹配,這樣的機(jī)制導(dǎo)致了不必要的計(jì)算開銷,下一步的研究過程中,可以對(duì)規(guī)則推理過程進(jìn)行一定的篩選,減少系統(tǒng)的算法復(fù)雜度。同時(shí),為了使策略系統(tǒng)能夠在較廣泛的應(yīng)用領(lǐng)域中得到應(yīng)用,一個(gè)完備的本體知識(shí)庫是必不可少的,因此,本體知識(shí)庫還需要進(jìn)一步的補(bǔ)充和完善。
[1]Rubio-Loyola J,Serrat J,Charalambides M,et al.A functional solution for goal-oriented policy refinement [C]//Seventh IEEE International Workshop on Policies for Distributed Systems and Networks.IEEE,2006:133-144.
[2]Guerrero A,Villagra VA,de Vergara JEL,et al.Ontologybased policy refinement using SWRL rules for management information definitions in OWL [G].LNCS 4269:Large Scale Management of Distributed Systems.Berlin:Springer Berlin Heidelberg,2006:227-232.
[3]Basile C,Lioy A,Scozzi S,et al.Ontology-based security policy translation [J].Journal of Information Assurance and Security,2010,5:437-445.
[4]Basile C,Lioy A,Scozzi S,et al.Ontology-based policy translation[C]//Computational Intelligence in Security for Information Systems.Springer Berlin Heidelberg,2009:117-126.
[5]Mardukhi F,Nematbakhsh N,Zamanifar K.An adaptive service choreography approach based on ontology-driven policy refinement [J].International Journal of Web & Semantic Technology,2011,2 (2):59-76.
[6]Hu H,Ahn GJ,Kulkarni K.Ontology-based policy anomaly management for autonomic computing [C]//7th International Conference on Collaborative Computing:Networking,Applications and Worksharing (CollaborateCom),2011:487-494.
[7]Rubio-Loyola J,Serrat J,Charalambides M,et al.A methodological approach toward the refinement problem in policybased management systems [J].Communications Magazine,2006,44 (10):60-68.
[8]Romeikat R,Bauer B,Sanneck H.Modeling of domain-specific ECA policies[C]//23rd International Conference on Software Engineering and Knowledge Engineering,2011:52-58.
[9]Bandara AK,Lupu EC,Russo A,et al.Policy refinement for IP differentiated services quality of service management [J].IEEE Transactions on Network and Service Management,2006,3 (2):2-13.
[10]Djarallah NB,Pouyllau H.Algorithms for SLA composition to provide inter-domain services [C]//IFIP/IEEE International Symposium on Integrated Network Management,2009:460-467.