鞠秋文
(淄博職業(yè)學(xué)院,淄博 255314)
基于Agent的P2P網(wǎng)絡(luò)管理研究
鞠秋文
(淄博職業(yè)學(xué)院,淄博 255314)
隨著因特網(wǎng)/城域網(wǎng)的規(guī)模不斷增大,P2P覆蓋網(wǎng)絡(luò)(Peer to Peer Overlay Network, P2P)的出現(xiàn),受到了產(chǎn)業(yè)界和學(xué)術(shù)界的關(guān)注。P2P網(wǎng)絡(luò)為建立在因特網(wǎng)基礎(chǔ)上的覆蓋網(wǎng)絡(luò)。和傳統(tǒng)的客戶機(jī)/服務(wù)器(Client/Server,C/S)架構(gòu)應(yīng)用相比,P2P網(wǎng)絡(luò)有許多的優(yōu)點(diǎn),如可擴(kuò)展性,自組織性,容錯(cuò)性等。然而,伴隨P2P網(wǎng)絡(luò)應(yīng)用廣泛使用,怎樣有效管理P2P網(wǎng)絡(luò)變成了P2P網(wǎng)絡(luò)發(fā)展的一個(gè)制約因素。目前因特網(wǎng)的網(wǎng)管技術(shù)手段,主要是通過(guò)SNMP及CMIP技術(shù)手段實(shí)現(xiàn)的,使用的是C/S架構(gòu)模型,其主要的管理功能在于管理者端,并且代理者與管理者兩者的操作比較固定,該類型的管理模式,具有靈活性不足、擴(kuò)展性差等一些缺點(diǎn)。當(dāng)今的網(wǎng)絡(luò)管理不但要方便、靈活高效,并且還要擁有分布式及智能化等特征。把Agent技術(shù)引入至網(wǎng)絡(luò)管理中來(lái),為網(wǎng)絡(luò)管理拓寬了新的思路。智能代理,其具備智能性與移動(dòng)性等一些優(yōu)點(diǎn),能夠極大地提高網(wǎng)絡(luò)管理的智能性與靈活性。通過(guò)其平臺(tái)無(wú)關(guān)性,能夠完成分布式計(jì)算功能,能夠完成過(guò)去的網(wǎng)絡(luò)管理模式不能解決的一些問(wèn)題,可以有效滿足復(fù)雜的大規(guī)模網(wǎng)管需求。本文的主要目的就是研究基于Agent的對(duì)于P2P網(wǎng)絡(luò)的一些拓?fù)?、體系等一些管理。
Agent可以用于對(duì)一般的軟硬件系統(tǒng)進(jìn)行說(shuō)明,其擁有很多的特性,例如:社會(huì)性,Agent與另外的Agent或人,以一種Agent語(yǔ)言實(shí)施信息的交流;自治性,Agent能夠在無(wú)其他Agent或人的干預(yù)下正常地運(yùn)行,并且還具有控制其自身行及內(nèi)部狀態(tài)的能力;能動(dòng)性,Agent不但能夠?qū)ν獠凯h(huán)境進(jìn)行一些反饋,還可以這些信息,進(jìn)行一些有目的性的行為;反應(yīng)性,Agent可以針對(duì)外部的環(huán)境,做出及時(shí)的響應(yīng)。
移動(dòng)代理(Mobile Agent),即擁有移動(dòng)性特性的智能代理,通常移動(dòng)代理系統(tǒng)的模型如圖1所示。
圖 1 移動(dòng)代理系統(tǒng)參考模型
移動(dòng)代理系統(tǒng)有4個(gè)組成部分,它們是:移動(dòng)代理部分,主機(jī)(host)部分,通信子系統(tǒng)部分,以及計(jì)算環(huán)境(Computation Environment,CE)部分。其中,host部分包括計(jì)算機(jī)及操作系統(tǒng);CE指的是運(yùn)行在主機(jī)上的服務(wù)程序,提供給代理運(yùn)行環(huán)境的支持;移動(dòng)代理能夠被動(dòng)或主動(dòng)地利用通信子系統(tǒng),搬移至不同的host上,然后CE為移動(dòng)代理建立一個(gè)新的進(jìn)程。若CE接收該代理,那么它就對(duì)其實(shí)施認(rèn)證,從而判斷其控制與存取的權(quán)限。當(dāng)建立了代理后,能夠和主機(jī)或CE進(jìn)行交互,實(shí)施遠(yuǎn)程或本地的通信。
首先介紹K+查詢樹(shù)的含義。K+查詢樹(shù)為一種自行構(gòu)建的平衡樹(shù),它是由一個(gè)L層的k查詢樹(shù)與其上一層(L-1)的k查詢樹(shù)累加產(chǎn)生的,而L層的k查詢樹(shù)通過(guò)查詢工作者與主查詢Peer產(chǎn)生的;L的上一層K查詢樹(shù)是通過(guò)候選主查詢Peer產(chǎn)生的。一個(gè)候選主查詢Peer及k個(gè)第i+1層的查詢工作者Peer,是第i層主查詢Peer進(jìn)行管理的。i層的主查詢Peer,同時(shí)也為上層查詢工作者Peer。
采用移動(dòng)代理的P2P網(wǎng)絡(luò)模型如圖2所示。P2P網(wǎng)絡(luò)的依據(jù)一定的策略,生成許多的P2P對(duì)等組,對(duì)等組內(nèi)的節(jié)點(diǎn)延遲低、可信,與JXTA中的安全對(duì)等組比較類似。組中成員時(shí)一般的Peer節(jié)點(diǎn)。所有Peer節(jié)點(diǎn)都能夠以間接或直接的方式,從其它Peer節(jié)點(diǎn)取得信息。每一個(gè)自治系統(tǒng)根據(jù)固定的策略,例如節(jié)點(diǎn)可信度等,挑選一主MSA(Master Server Agent)節(jié)點(diǎn),同時(shí)還挑選一個(gè)候選CSA節(jié)點(diǎn)(Candidate Server Agent)。MSA不但駐留本地組內(nèi)全部資源的信息目錄外,還具有收集、存儲(chǔ)網(wǎng)絡(luò)拓?fù)湟?guī)劃信息功能。挑選CSA的目的,主要是提高系統(tǒng)的魯棒性。在結(jié)構(gòu)最上層的監(jiān)控站(monitoring station),其功能和CA相似,主要時(shí)對(duì)CSA和MSA層上代理進(jìn)行管理,在安全要求高的情況下,可完成使用移動(dòng)代理的證書方式,來(lái)進(jìn)行密鑰的發(fā)放與共享等。
圖 2 應(yīng)用移動(dòng)代理的P2P網(wǎng)絡(luò)模型
在圖2基礎(chǔ)上,可以在所有的節(jié)點(diǎn)上實(shí)施智能代理設(shè)施的部署,P2P網(wǎng)絡(luò)節(jié)點(diǎn)的智能代理結(jié)構(gòu)如圖3所示。最下層主要時(shí)由操作系統(tǒng)及一些終端構(gòu)成,例如PC 、PDA等;P2P網(wǎng)絡(luò)的技術(shù)體制,是構(gòu)建在TCP/IP協(xié)議體系基礎(chǔ)上。目錄服務(wù)利用數(shù)據(jù)庫(kù)能夠獲知節(jié)點(diǎn)中可以運(yùn)行移動(dòng)代理的Peer。一致性服務(wù)主要是針對(duì)網(wǎng)絡(luò)連接、移動(dòng)代理等出現(xiàn)故障時(shí)實(shí)施的措施,例如重啟移動(dòng)代理或者設(shè)置檢查點(diǎn)。網(wǎng)絡(luò)感知服務(wù),主要是針對(duì)檢查網(wǎng)絡(luò)的一些運(yùn)行情況,例如節(jié)點(diǎn)資源的帶寬,可信度,計(jì)算力,CPU等。消息傳遞服務(wù),主要是以支持移動(dòng)代理來(lái)進(jìn)行協(xié)議的傳輸。這些信息存儲(chǔ)在數(shù)據(jù)庫(kù)里,本地節(jié)點(diǎn)規(guī)劃服務(wù)依據(jù)該信息,決定生成訪問(wèn)路線及移動(dòng)代理的數(shù)量,移動(dòng)代理可以根據(jù)路線實(shí)施搬移,當(dāng)搬移至某節(jié)點(diǎn),需要進(jìn)行資源節(jié)點(diǎn)信息的咨詢,有時(shí)還要和其他的移動(dòng)代理實(shí)施通信。代理管理服務(wù),為動(dòng)態(tài)的自構(gòu)建網(wǎng)絡(luò)路由實(shí)施方案,完成在各個(gè)移動(dòng)代理之間路由的優(yōu)化及物理拓?fù)湫畔f(xié)商。P2P網(wǎng)絡(luò)里的Peer為自治的獨(dú)立實(shí)體,自身有動(dòng)態(tài)異構(gòu)的特性,網(wǎng)絡(luò)拓?fù)浼耙?guī)模變化較快,在有必要時(shí),需要對(duì)網(wǎng)絡(luò)的狀況實(shí)施感知,以進(jìn)行自身資源、路線的調(diào)整,Agent恰好實(shí)現(xiàn)了這些要求。
圖 3 P2P節(jié)點(diǎn)中的智能代理結(jié)構(gòu)圖
對(duì)于代理,本文設(shè)計(jì)了兩種代理,即移動(dòng)代理與靜態(tài)代理。靜態(tài)代理運(yùn)行在所有的節(jié)點(diǎn)上,同時(shí)將資源的信息報(bào)告給用戶。如果一個(gè)Peer節(jié)點(diǎn)收到查詢請(qǐng)求以后,通過(guò)本地節(jié)點(diǎn)的靜態(tài)代理(task agent,TA)建立IA(information agent),在遷移至server agent層。IA首先在本地的MSA共享目錄中開(kāi)始查詢,查詢成功后就將結(jié)果返回給用戶,否則就建立探查代理(probe agent,PA),有探查代理進(jìn)行對(duì)本層的P2P網(wǎng)絡(luò)實(shí)施網(wǎng)絡(luò)拓?fù)涞膭澐?;然后依?jù)劃分的子網(wǎng)個(gè)數(shù),通過(guò)本地MSA的探查代理建立查詢代理(Search Agent,SA),同時(shí)分發(fā)至所有子網(wǎng),從而完成查詢?nèi)蝿?wù)。全部查詢代理完成任務(wù)后,把結(jié)果返回到靜態(tài)代理,最后發(fā)送給請(qǐng)求的Peer。
如果用戶的查詢請(qǐng)求沒(méi)有查詢到本地MSA的共享目錄中所需要的目標(biāo)時(shí),就由MSA建立一個(gè)探查代理,實(shí)施對(duì)本層網(wǎng)絡(luò)的拓?fù)鋭澐帧Mǔ澐值亩攘繕?biāo)準(zhǔn)由很多,例如網(wǎng)絡(luò)延遲,節(jié)點(diǎn)資源的共享數(shù)目,節(jié)點(diǎn)信任值等。網(wǎng)絡(luò)切割目標(biāo)為提高查詢效率,減少網(wǎng)絡(luò)的流量。
影響查詢響應(yīng)信息的路由延遲開(kāi)銷,有兩個(gè)方面,即網(wǎng)絡(luò)節(jié)點(diǎn)Peer的負(fù)載及拓?fù)浣Y(jié)構(gòu)。通過(guò)綜合的分析,對(duì)于任何的節(jié)點(diǎn)i,j,其延遲函數(shù)可以用yi,j= NumberjL (Si, Sj)來(lái)表示。
在上式中, 為歸一化因子,Numberj為節(jié)點(diǎn)j資源數(shù)目,L (Si, Sj)為節(jié)點(diǎn)i、j二者間的時(shí)間延遲。該函數(shù)雖然沒(méi)能直接對(duì)網(wǎng)絡(luò)的物理拓?fù)浣Y(jié)構(gòu)進(jìn)行反映,卻更加有效地滿足了查詢響應(yīng)的效率高要求。而對(duì)P2P網(wǎng)絡(luò)進(jìn)行拓?fù)鋭澐值乃惴ǎ饕獣r(shí)對(duì)MSA節(jié)點(diǎn)層實(shí)施切割,構(gòu)建出最小延遲圖,加入其中某節(jié)點(diǎn)和源節(jié)點(diǎn)間的最小延遲比預(yù)先設(shè)定的 要大,那么在探查過(guò)程中,就不予考慮這個(gè)節(jié)點(diǎn)。
針對(duì)不同自治域來(lái)說(shuō),根據(jù)相關(guān)標(biāo)準(zhǔn),將性能優(yōu)良的節(jié)點(diǎn)升級(jí)成MSA/CSA節(jié)點(diǎn),因而生成一個(gè)中間層次。此層次主要功能為管理一般的Peer節(jié)點(diǎn),而且可以方便遷移、部署移動(dòng)代理,同時(shí)以平臺(tái)的角度,提升移動(dòng)代理的安全性。針對(duì)組內(nèi)普通節(jié)點(diǎn),使用K+查詢樹(shù)實(shí)施組織,組內(nèi)的Peer節(jié)點(diǎn)可以自無(wú)組織狀態(tài)的拓?fù)浣Y(jié)構(gòu),變成K+查詢樹(shù)結(jié)構(gòu)的ad hoc網(wǎng)絡(luò)。K+樹(shù)為本文設(shè)計(jì)的針對(duì)P2P網(wǎng)絡(luò)的自構(gòu)建的任務(wù)調(diào)度拓?fù)浣Y(jié)構(gòu)。所有的Peer節(jié)點(diǎn),均能夠接受來(lái)自用戶的查詢請(qǐng)求。如果本地Peer節(jié)點(diǎn)沒(méi)能滿足用戶資源,則可以通過(guò)IA把任務(wù)遷移至MSA上。依據(jù)K+查詢樹(shù)定義,能夠分析出K+查詢樹(shù)相關(guān)性質(zhì)。若一個(gè)P2P組含有N個(gè)節(jié)點(diǎn)數(shù),其平均層高是L,那么一個(gè)主查詢Peer具有一個(gè)候選主查詢Peer,以及K個(gè)查詢工作者Peer。
綜上所述,伴隨P2P網(wǎng)絡(luò)的技術(shù)廣泛應(yīng)用,基于因特網(wǎng)/城域網(wǎng)的網(wǎng)絡(luò)流量有了很大的變化。為了降低因?yàn)橥負(fù)湔`配生成的冗余網(wǎng)絡(luò)流量,本文提出了一種新的采用移動(dòng)代理實(shí)施網(wǎng)絡(luò)拓?fù)鋬?yōu)化的自構(gòu)建P2P網(wǎng)絡(luò)模型。
[1]陳康, 鄭緯民. 云計(jì)算: 系統(tǒng)實(shí)例與研究現(xiàn)狀[J], 軟件學(xué)報(bào), 2009, 20(5): 1337-1348.
[2]呂建, 馬曉星, 陶先平.網(wǎng)構(gòu)軟件的研究與進(jìn)展[J], 中國(guó)科學(xué)E輯, 2006, 36(10): 1037-1080.
[3]夏滿民. 智能軟件Agent在分布式信息管理中的應(yīng)用[D].北京: 北京郵電大學(xué), 2007.
[4]徐鵬, 楊海濤, 等, Peer-to-Peer文件共享系統(tǒng)的測(cè)量研究[J], 軟件學(xué)報(bào), 2006, 17(10): 2131-2140.
[5]陳宏偉, 王汝傳, P2P計(jì)算中一種新的自組織任務(wù)調(diào)度拓?fù)浣Y(jié)構(gòu)——K+樹(shù)[J]. 通信學(xué)報(bào), 2005, 26(6): 24-30.
Agent-based P2P network management
JU Qiu-wen
P2P是構(gòu)建在物理網(wǎng)絡(luò)上面的點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò),它改變了Internet以大網(wǎng)站為中心的格局,但同時(shí)也因節(jié)點(diǎn)對(duì)等的思想而面臨著怎樣有效對(duì)P2P實(shí)施拓?fù)涔芾淼膯?wèn)題。本文在基于Agent的P2P網(wǎng)管模型結(jié)構(gòu)分析的基礎(chǔ)上,開(kāi)展了對(duì)P2P網(wǎng)絡(luò)管理中拓?fù)涔芾砑夹g(shù)的研究。對(duì)于當(dāng)前P2P網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的管理情況,構(gòu)建了采用移動(dòng)代理技術(shù)的P2P網(wǎng)絡(luò)網(wǎng)絡(luò)拓?fù)涔芾砟P?,從而能夠有效提高P2P網(wǎng)絡(luò)拓?fù)湫阅芄芾?。利用?gòu)建層次式網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),使用移動(dòng)代理來(lái)進(jìn)行拓?fù)涞陌l(fā)現(xiàn),以降低拓?fù)涔芾硇实拖露纬傻拇罅繑?shù)據(jù)流量。
P2P;網(wǎng)絡(luò)管理;拓?fù)涔芾?;移?dòng)代理
鞠秋文(1970-),女,山東榮成人,實(shí)驗(yàn)師,本科,主要從事電教相關(guān)研究工作。
TN915
B
1009-0134(2011)4(下)-0086-03
10.3969/j.issn.1009-0134.2011.4(下).25
2010-11-28