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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

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

溫馨提示

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

評論

0/150

提交評論