移動(dòng)agen通信協(xié)作模型wamen模型_第1頁
移動(dòng)agen通信協(xié)作模型wamen模型_第2頁
移動(dòng)agen通信協(xié)作模型wamen模型_第3頁
移動(dòng)agen通信協(xié)作模型wamen模型_第4頁
移動(dòng)agen通信協(xié)作模型wamen模型_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

移動(dòng)agen通信協(xié)作模型wamen模型

1wagnt通信協(xié)作模型近年來,移動(dòng)惡意軟件系統(tǒng)已成為基于互聯(lián)網(wǎng)公司應(yīng)用程序的新概念框架。這種框架的優(yōu)勢(shì):節(jié)省網(wǎng)絡(luò)帶寬、節(jié)約時(shí)間、減少延時(shí)、提供實(shí)時(shí)的遠(yuǎn)程交互、支持離線計(jì)算、負(fù)載平衡。為了使整個(gè)移動(dòng)Agent系統(tǒng)有效和正確地運(yùn)行,移動(dòng)Agent之間需要有效、可靠的通信和相互協(xié)作。移動(dòng)Agent系統(tǒng)的通信研究分為底層的消息可靠傳輸和高層的基于語義的信息交互。在移動(dòng)Agent之間透明尋址和可靠的消息傳輸是移動(dòng)Agent系統(tǒng)設(shè)計(jì)中的重要難題。這是由于移動(dòng)Agent自主遷移的特性帶來了Agent遷移和消息傳輸?shù)漠惒叫?會(huì)產(chǎn)生通信失效問題?,F(xiàn)有的移動(dòng)Agent系統(tǒng)(如IBM公司開發(fā)的Aglet,Dartmouth學(xué)院的D’Agents,Stuttgart大學(xué)的Mole系統(tǒng)等)都未給出完善的解決方案。文獻(xiàn)[2~5]提出的解決方案都存在各自問題。Murphy等人在文獻(xiàn)中提出了網(wǎng)絡(luò)快照的思想,由于采用了廣播方式,此算法代價(jià)太高,會(huì)導(dǎo)致系統(tǒng)性能的下降。文獻(xiàn)在Mogent系統(tǒng)中解決通信失效問題時(shí),要求移動(dòng)Agent處于靜止態(tài)才可以發(fā)送消息,這一點(diǎn)限制了移動(dòng)Agent的自主性、移動(dòng)性。文獻(xiàn)提出主動(dòng)通信機(jī)制,這種Agent主動(dòng)獲取發(fā)給它的信息算法存在消息延時(shí)傳遞問題。文獻(xiàn)采用了局部郵區(qū)的方法,但是郵箱的遷移會(huì)帶來通信效率問題。移動(dòng)Agent之間的協(xié)作模型可歸為4類:客戶/服務(wù)(如Aglets,D’Agents),面向會(huì)議(如Ara),基于黑板(如ffMAIN,Ambit),基于Linda模型(如PageSpace、JavaSpace)。這些模型都有各自的缺點(diǎn)。Linda模型是一種建立在共享數(shù)據(jù)基礎(chǔ)上的協(xié)作模型,利用元組空間實(shí)現(xiàn)這種數(shù)據(jù)共享。Linda模型主要通過3條指令來訪問元組空間。Linda模型不足之處:不能或很難明確表達(dá)問題空間的語義,缺乏基于語義的協(xié)作。Linda模型中的協(xié)作雙方要求事先對(duì)事物須有共同的理解,這一缺點(diǎn)顯然不利于Agent系統(tǒng)的靈活性、擴(kuò)充性和異構(gòu)性。針對(duì)上述的問題,本文提出Wagent通信協(xié)作模型。Wagent模型運(yùn)用FIPAACL進(jìn)行基于語義的信息交互的特點(diǎn)解決基于語義的協(xié)作問題,參考Linda協(xié)作模型協(xié)作雙方可以在不同時(shí)間和不同空間上進(jìn)行交互的特點(diǎn)運(yùn)用來解決通信失效問題。2移動(dòng)設(shè)備的聯(lián)合無線通信模型2.1基于語義的通信移動(dòng)Agent自主遷移的特性帶來了Agent遷移和消息傳輸?shù)漠惒叫?會(huì)產(chǎn)生通信失效問題?;贚inda模型的協(xié)作雙方通過元組空間,實(shí)現(xiàn)了在不同時(shí)間和不同空間上進(jìn)行交互,這種協(xié)作方式本質(zhì)上適合移動(dòng)性和開放性的應(yīng)用。Wagen模型參考Linda模型協(xié)作雙方在不同空間可進(jìn)行交互的特性,解決Agent自主遷移帶來的空間變化問題;參考Linda模型協(xié)作雙方在不同時(shí)間可進(jìn)行交互的特性,解決消息發(fā)送的異步性問題。Wagent模型用數(shù)據(jù)庫(kù)仿真Linda模型的元組空間,使得移動(dòng)Agent通過數(shù)據(jù)庫(kù)實(shí)現(xiàn)移動(dòng)Agent通信雙方在不同時(shí)間和不同空間上進(jìn)行交互,從而解決移動(dòng)Agent的通信失效問題。Linda模型中協(xié)作的Agent之間并不直接進(jìn)行通信,這種協(xié)作方式要求Agent之間事先對(duì)事物須有共同的理解,而這一點(diǎn)在互聯(lián)網(wǎng)開放和異構(gòu)的環(huán)境下是不現(xiàn)實(shí)的。因而Linda模型不能或很難明確表達(dá)問題空間的語義,協(xié)作雙方缺乏基于語義的協(xié)作。在基于語義的通信研究中,KQML(KnowledgeQueryandManipulationLanguage)知識(shí)查詢與操縱語言和FIPAACL是最受關(guān)注的通信語言。1999年,智能物理agen基金會(huì)(FIPA)開發(fā)了FIPAACL(AgentCommunicationLanguage)。FIPAACL是基于言語行為理論的通信語言,移動(dòng)Agent基于FIPAACL能夠進(jìn)行基于語義的信息交互。Wagent模型將FIPAACL通信消息作為協(xié)作雙方的共享數(shù)據(jù)存入元組空間,實(shí)現(xiàn)基于語義的協(xié)作,從而解決Linda模型缺乏基于語義的通信協(xié)作問題。Wagent模型用數(shù)據(jù)庫(kù)存儲(chǔ)FIPAACL通信消息,數(shù)據(jù)庫(kù)中FIPAACL通信消息記錄相當(dāng)于元組空間的元組;Wagent模型中元組由七維變量(消息類型、發(fā)送者、接受者、內(nèi)容、本體、語言、時(shí)間)構(gòu)成,設(shè)計(jì)數(shù)據(jù)庫(kù)中表結(jié)構(gòu)有7個(gè)字段,分別對(duì)應(yīng)此七維變量來存儲(chǔ)通信消息;移動(dòng)Agent之間通信的每一條消息(即數(shù)據(jù)庫(kù)表中的一條記錄)對(duì)應(yīng)元組空間中的一個(gè)元組;Linda模型中out命令對(duì)元組的操作,對(duì)應(yīng)Wagent模型向數(shù)據(jù)庫(kù)寫入一條記錄;rd命令從元組空間讀出匹配的元組,對(duì)應(yīng)Wagent模型從數(shù)據(jù)庫(kù)中讀取符合條件的記錄。KQML和FIPAACL對(duì)于語義的強(qiáng)調(diào),使人們忽視了也許是ACL成功更重要的因素:ACL和WWW技術(shù)的結(jié)合。WWW是一個(gè)巨大的信息資源庫(kù),Agent總是要和WWW發(fā)生作用。但是KQML和FIPAACL發(fā)展偏離了Internet技術(shù)和標(biāo)準(zhǔn)的主流。Wagent模型把FIPAACL與Internet技術(shù)相結(jié)合,用XML來描述FIPAACL,它的優(yōu)點(diǎn):(1)便于開發(fā)和維護(hù)分析器,易與WWW軟件工程集成??梢愿鶕?jù)XML標(biāo)記直接解析信息,并且已經(jīng)有許多現(xiàn)成的工具來解析XML;(2)增加本體知識(shí)庫(kù)和其它外部信息的連接能力。因?yàn)閄ML把鏈接集成到ACL消息中,解決了FIPAACL消息內(nèi)容中本體論說明和共享問題。此外,XML使移動(dòng)Agent更好地適應(yīng)開放和異構(gòu)的環(huán)境。Wagent模型用XML描述FIPAACL通信消息,圖1為一條消息應(yīng)用示例。2.2wagent通信合作模型綜合以上分析,本文提出Wagent通信協(xié)作模型,如圖22.2.1ent的注冊(cè)及其管理Manager是系統(tǒng)核心部分,負(fù)責(zé)移動(dòng)Agent之間的通信協(xié)作。Manager共有4個(gè)部分構(gòu)成,它們各自的分工是:Servicehandler負(fù)責(zé)監(jiān)聽是否有移動(dòng)Agent要求通信連接;Registryservice進(jìn)行移動(dòng)Agent的注冊(cè);Identifyservice負(fù)責(zé)移動(dòng)Agent的身份認(rèn)證;Communicationkernel管理移動(dòng)Agent之間的通信,負(fù)責(zé)將通信消息寫入數(shù)據(jù)庫(kù),以及從數(shù)據(jù)庫(kù)中檢索通信消息記錄等。本體(Ontologyi)提供對(duì)某個(gè)領(lǐng)域概念及概念之間關(guān)系的描述。用戶在線表(Onlineusertable)存放在線的移動(dòng)AgentID和通信的Socket端口號(hào)。一般認(rèn)為域內(nèi)移動(dòng)Agent協(xié)作需求少,主要是域與域之間移動(dòng)Agent要求協(xié)作。每個(gè)移動(dòng)Agent一旦生成,就分配給一個(gè)唯一的永遠(yuǎn)不變ID,ID依據(jù)人們身份證設(shè)計(jì)原則設(shè)計(jì)。數(shù)據(jù)庫(kù)由注冊(cè)表和消息表構(gòu)成。在數(shù)據(jù)庫(kù)中,只有發(fā)送者才有權(quán)讀寫自己發(fā)送的通信消息,接收者只有檢索和讀取其它Agent發(fā)送給自己通信消息的權(quán)利。2.2.2控制移動(dòng)agent的身份和通信此系統(tǒng)共有4個(gè)核心算法:通信注冊(cè)、通信登錄、通信、遷移。(1)通信注冊(cè)(首次使用,需要注冊(cè))1)移動(dòng)Agent通過Socket連接到Manager。2)移動(dòng)Agent輸入ID,密碼。3)RegistryService判斷此移動(dòng)Agent是否已經(jīng)注冊(cè),如已經(jīng)注冊(cè)則拒絕,否則轉(zhuǎn)4)。4)RegistryService將移動(dòng)Agent的ID,密碼,Socket端口號(hào),時(shí)間寫入注冊(cè)表,然后提示此移動(dòng)Agent注冊(cè)成功。(2)通信登錄1)移動(dòng)Agent通過Socket連接到Manager。2)移動(dòng)Agent輸入移動(dòng)Agent的ID和密碼,IndentifyService根據(jù)移動(dòng)Agent的ID和密碼到注冊(cè)表中檢索,進(jìn)行身份論證;如不正確,給出錯(cuò)誤信息提示;否則提示移動(dòng)Agent成功登錄,轉(zhuǎn)3)。3)CommunicationKernel將此移動(dòng)Agent的ID和通信的Socket端口號(hào),存入用戶在線表。4)CommunicationKernel先將消息表中所有接收者為此移動(dòng)Agent且時(shí)間發(fā)生在上一次此移動(dòng)Agent通信結(jié)束之后的消息檢索出,然后發(fā)送給此移動(dòng)Agent。5)此移動(dòng)Agent進(jìn)入通信狀態(tài),執(zhí)行算法3。(3)通信1)移動(dòng)Agent啟動(dòng)接收線程,專門監(jiān)聽是否有通信消息到來,如有,接收通信消息,繼續(xù)監(jiān)聽。2)當(dāng)移動(dòng)Agent要發(fā)送通信消息時(shí),用XML描述FIPAACL的通信內(nèi)容,在發(fā)送通信消息之前,調(diào)用IE瀏覽器對(duì)此通信消息進(jìn)行語法檢查。如語法檢查沒通過,給出錯(cuò)誤提示,移動(dòng)Agent重新描述消息;否則,轉(zhuǎn)3)。3)CommunicationKernel將此通信消息和時(shí)間寫入消息表。4)CommunicationKernel檢索用戶在線表,判斷接收的移動(dòng)Agent是否在線。如在線,立即發(fā)送給接收移動(dòng)Agent;否則不發(fā)送。5)轉(zhuǎn)(2)(4)遷移(必須在通信登錄成功之后)1)移動(dòng)Agent發(fā)出退出請(qǐng)求,Manager結(jié)束與此移動(dòng)Agent的通信,并將此移動(dòng)Agent從用戶在線表中刪除,移動(dòng)Agent記錄下此次通信的結(jié)束時(shí)間。2)移動(dòng)Agent到達(dá)新的目的地后,立即重新進(jìn)行通信登錄。3agletidv鏈及互聯(lián)網(wǎng)信息通信的實(shí)現(xiàn)IBM的Aglet平臺(tái)采用客戶/服務(wù)通信協(xié)作方式,它存在以下問題:移動(dòng)Agent之間要求有穩(wěn)定的連接;通信過程中如果Agent發(fā)生遷移,通信會(huì)失效;沒有基于語義的通信協(xié)作等。針對(duì)Aglet平臺(tái)的這些問題,本文在IBM公司的Aglet2.0.2版本系統(tǒng)平臺(tái)基礎(chǔ)上,實(shí)現(xiàn)了Wagent通信協(xié)作原型。由于移動(dòng)Agent系統(tǒng)要求接收和發(fā)送消息同時(shí)進(jìn)行,Wagent模型采用了Java的多線程技術(shù)實(shí)現(xiàn)并行操作。為了使移動(dòng)Agent之間的消息可靠傳輸,Wagent模型用Socket方式進(jìn)行網(wǎng)絡(luò)連接。Wagent模型建立Communication數(shù)據(jù)庫(kù)仿真Linda模型中的元組空間。其中Communication庫(kù)有message和id兩個(gè)表。message表結(jié)構(gòu)如下:(messagevarchar20;sendervarchar20;receivervarchar20;contentvarchar350;ontologyvarchar50;languagevarchar20;timedatetime)。id表結(jié)構(gòu)為(agletidvarchar20;passwordvarchar20;ipvarchar15;socketvarchar80;timedatetime)。用戶在線表(agletid,Socket)用Java語言提供的HashMap來實(shí)現(xiàn):agletid作為key值,移動(dòng)Agent通信的Socket端口號(hào)作為對(duì)象存入HashMap中。這樣利用HashMap快速查詢的特性,實(shí)現(xiàn)對(duì)用戶在線表的快速檢索。MultiServer類實(shí)現(xiàn)Servicehandler的功能,它使用一個(gè)ServerSocket不停地監(jiān)聽端口,一旦發(fā)現(xiàn)有移動(dòng)Agent來到,就啟動(dòng)一個(gè)線程類處理與此agent的通信,然后繼續(xù)監(jiān)聽。下面是MultiServer的部分代碼片段,如圖3。用ServerOneJabber線程類來負(fù)責(zé)處理與每一個(gè)移動(dòng)Agent通信:(1)它首先是一個(gè)線程類,這樣保證Manager與其它移動(dòng)Agent通信互相獨(dú)立,不會(huì)相互干擾。(2)registry專門處理移動(dòng)Agent注冊(cè)。(3)login處理移動(dòng)Agent登錄,如登錄成功,將其加入用戶在線表,然后把message表中接收者為此移動(dòng)Agent的消息且還未發(fā)送的消息發(fā)送給它。(4)dealmessage監(jiān)聽通信端口是否有通信消息到來,當(dāng)通信消息到來時(shí),將通信消息存入message表,再判斷接收的Agent是否在線,如果此移動(dòng)Agent在線則立即發(fā)送給它。(5)用戶在線表用HashMap實(shí)現(xiàn),并設(shè)置其為靜態(tài)變量,這樣多個(gè)移動(dòng)Agent可以同時(shí)加入其中,對(duì)HashMap的操作時(shí)要同步。ServerOneJabber的部分代碼如圖4。Wagent模型用MobileAgent類表示移動(dòng)Agent:(1)是IBM開發(fā)的Aglet的子類。(2)有一個(gè)專門的用于通信的類JabberClientmapcommunicate。它的代碼如圖5。JabberClientmapcommunicate類處理移動(dòng)Agent的通信。(1)它繼承了JFrame類。(2)專門用一個(gè)receiver線程類來監(jiān)聽端口,接收消息。(3)test過程負(fù)責(zé)進(jìn)行對(duì)通信內(nèi)容的語法檢查。(4)registry輸入注冊(cè)消息。(5)login進(jìn)行登錄。(6)發(fā)送通信消息。部分代碼如圖6。4wagnt通信協(xié)作模型的主要特點(diǎn)本文模擬互聯(lián)網(wǎng)環(huán)境,將Wagent通信協(xié)作原型應(yīng)用到網(wǎng)上購(gòu)買手機(jī)。在這一模擬過程中,采用這種通信協(xié)作機(jī)制的理由是:(1)移動(dòng)Agent系統(tǒng)適合互聯(lián)網(wǎng)開放和異構(gòu)的環(huán)境;(2)Agent之間需要通信協(xié)作,提高工作的效率;(3)較搜索引擎而言,Agent與網(wǎng)站之間交互是智能的,能準(zhǔn)確得到結(jié)果。一個(gè)典型的工作過程如下:(1)系統(tǒng)首先要設(shè)定手機(jī)性價(jià)比參數(shù)的標(biāo)準(zhǔn),這些參數(shù)包括手機(jī)的品牌、型號(hào)、價(jià)格、郵寄費(fèi)。用戶根據(jù)自己的喜好為每一個(gè)參數(shù)設(shè)定一個(gè)權(quán)重,這些權(quán)重值之和等于1,手機(jī)性價(jià)比的值越高越符合用戶要求。然后系統(tǒng)將設(shè)定的參數(shù)值賦給移動(dòng)Agent。(2)利用搜索引擎,搜索到互聯(lián)網(wǎng)上賣手機(jī)的網(wǎng)站。(3)每一個(gè)移動(dòng)Agent先確定一個(gè)未被Agent訪問的網(wǎng)站,將此網(wǎng)站標(biāo)記為正在被訪問,廣播通知其它移動(dòng)Agent此網(wǎng)站被訪問;移動(dòng)Agent移動(dòng)到此網(wǎng)站,搜集網(wǎng)站所有手機(jī)的參數(shù),根據(jù)用戶設(shè)定的權(quán)重,計(jì)算出手機(jī)性價(jià)比的值,取其中最大的值,然后與當(dāng)前所知的最大值比,如果大于已知最大值,則廣播給其他Agent,否則,放棄此網(wǎng)站信息。重復(fù)(3),直至搜索到的網(wǎng)站全部被訪問完。(4)最后得到性價(jià)比最高的手機(jī)就是用戶最需要的產(chǎn)品。從這一應(yīng)用中,可以看到Wagent通信協(xié)作模型的特點(diǎn):(1)通過用戶在線表中agletid與其通信的Socket對(duì)應(yīng)和用戶在線表的動(dòng)態(tài)更新,適應(yīng)移動(dòng)Agent的不斷移動(dòng)引起地址動(dòng)態(tài)變化,解決了移動(dòng)Agent通

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論