2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩25頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  畢業(yè)論文(設(shè)計(jì))</b></p><p>  題 目 基于移動(dòng)代理的可靠數(shù)據(jù)傳輸機(jī)制研究 </p><p>  院 系 計(jì)算機(jī)系 </p><p>  專 業(yè) 網(wǎng)絡(luò)工程 </p><p>  學(xué)生姓名 &

2、lt;/p><p>  學(xué) 號(hào) </p><p>  指導(dǎo)教師 </p><p>  職 稱 </p><p>  二O一一 年 五 月 二十日</p><p>  目 錄</p><

3、p><b>  第1章 緒論1</b></p><p><b>  1.1 引言1</b></p><p>  1.2傳輸機(jī)制現(xiàn)狀和不足之處2</p><p>  1.3 論文的研究?jī)?nèi)容及組織結(jié)構(gòu)4</p><p>  第2章 相關(guān)理論4</p><p>  

4、2.1 移動(dòng)代理和移動(dòng)代理系統(tǒng)4</p><p>  2.1.1 移動(dòng)代理簡(jiǎn)介4</p><p>  2.1.2 移動(dòng)代理的應(yīng)用及開(kāi)發(fā)7</p><p>  2.2移動(dòng)代理系統(tǒng)8</p><p>  2.3 本章小結(jié)10</p><p>  第3章 移動(dòng)代理的數(shù)據(jù)傳輸機(jī)制11</p><

5、p>  3.1 移動(dòng)代理的數(shù)據(jù)傳輸問(wèn)題11</p><p>  3.2 解決辦法分析12</p><p>  3.3 本章小結(jié)12</p><p>  第4章 一種移動(dòng)代理的可靠數(shù)據(jù)傳輸機(jī)制及應(yīng)用13</p><p>  4.1 系統(tǒng)的命名機(jī)制13</p><p>  4.2 工作流程13</p

6、><p>  4.2.1 移動(dòng)代理的創(chuàng)建13</p><p>  4.2.2 移動(dòng)代理的遷移14</p><p>  4.2.3 移動(dòng)代理遷移后注冊(cè)15</p><p>  4.2.4 移動(dòng)代理的數(shù)據(jù)傳輸16</p><p>  4.2.5 消息優(yōu)先級(jí)和超時(shí)消息的處理17</p><p>

7、  4.3 基于移動(dòng)代理可靠傳輸機(jī)制的應(yīng)用18</p><p>  4.3.1 路由的選擇18</p><p>  4.3.3 建立連接19</p><p>  4.3.3 發(fā)送數(shù)據(jù)20</p><p>  4.4 本章小結(jié)20</p><p>  第5章 總結(jié)與展望21</p><p&

8、gt;  5.1 工作小結(jié)21</p><p>  5.2 未來(lái)工作的展望21</p><p><b>  致謝21</b></p><p><b>  參考文獻(xiàn)22</b></p><p>  基于移動(dòng)代理的可靠數(shù)據(jù)傳輸機(jī)制研究</p><p>  摘要:移動(dòng)代理是

9、近年來(lái)引起研究人員關(guān)注的分布式計(jì)算模型。可靠數(shù)據(jù)傳輸是移動(dòng)代理系統(tǒng)的關(guān)鍵技術(shù)之一,系統(tǒng)通過(guò)消息交換以實(shí)現(xiàn)代理之間的數(shù)據(jù)傳輸。數(shù)據(jù)傳輸可靠性直接影響到整個(gè)移動(dòng)代理系統(tǒng)的性能,如何保證移動(dòng)代理之間能夠可靠數(shù)據(jù)傳輸是移動(dòng)代理系統(tǒng)的一個(gè)研究重點(diǎn)。本文在分析了現(xiàn)有的移動(dòng)代理傳輸機(jī)制的基礎(chǔ)上,將移動(dòng)代理名字解析機(jī)制與多郵箱機(jī)制相結(jié)合,提出一種可靠靈活的移動(dòng)代理數(shù)據(jù)傳輸機(jī)制。數(shù)據(jù)傳輸機(jī)制利用域服務(wù)器和移動(dòng)代理系統(tǒng)的數(shù)據(jù)傳輸部件相結(jié)合來(lái)實(shí)現(xiàn)移動(dòng)代理的尋

10、址,對(duì)于消息傳遞,則使用基于多郵箱的消息緩存和轉(zhuǎn)發(fā)機(jī)制來(lái)緩沖。最后總結(jié)了論文的主要工作,并提出了需要進(jìn)一步研究的問(wèn)題。</p><p>  關(guān)鍵詞:移動(dòng)代理;消息中間件;傳輸機(jī)制</p><p><b>  第1章 緒論</b></p><p><b>  1.1 引言</b></p><p>  

11、最近二十年來(lái),隨著internet的迅速發(fā)展、計(jì)算機(jī)的軟硬件技術(shù)和數(shù)據(jù)傳輸技術(shù)的顯著提高,計(jì)算機(jī)應(yīng)用從集中式、單機(jī)式系統(tǒng)走向分布式系統(tǒng)。以單一服務(wù)器為中心的客戶端、服務(wù)器端(c/s)的分布式模型已經(jīng)難以適應(yīng)用戶的要求,于是,出現(xiàn)了面向?qū)ο蟮募夹g(shù)為主要特征的第二代分布式計(jì)算技術(shù)。移動(dòng)代理作為人工智能技術(shù)與移動(dòng)計(jì)算技術(shù)發(fā)展的產(chǎn)物,提供了一種新的分布式方式。移動(dòng)代理模式主要有降低網(wǎng)絡(luò)負(fù)載、克服網(wǎng)絡(luò)延遲、包裝不同的協(xié)議、異步及自主執(zhí)行、動(dòng)態(tài)適應(yīng)

12、環(huán)境、自然的異構(gòu)性、健壯性和容錯(cuò)性等優(yōu)點(diǎn)。它克服了低帶寬、高延時(shí)對(duì)網(wǎng)絡(luò)應(yīng)用普及的限制,成為了新的研究熱點(diǎn)。</p><p>  移動(dòng)代理的運(yùn)行環(huán)境為移動(dòng)代理系統(tǒng),它為代理提供遷移、數(shù)據(jù)傳輸和安全等服務(wù)。同傳統(tǒng)的分布式計(jì)算環(huán)境一樣,通信依然是移動(dòng)代理系統(tǒng)中必須具備的基礎(chǔ)實(shí)施之一。移動(dòng)代理的遷移,移動(dòng)代理的協(xié)同工作,都需要數(shù)據(jù)傳輸?shù)闹С?,?shù)據(jù)傳輸在移動(dòng)代理系統(tǒng)中必不可少。</p><p>  

13、移動(dòng)代理可以異步的在不同結(jié)點(diǎn)運(yùn)行,任務(wù)完成后將結(jié)果傳輸給用戶。由于移動(dòng)代理典型應(yīng)用時(shí)通過(guò)計(jì)算實(shí)體的遷移來(lái)實(shí)現(xiàn)對(duì)資源的本地獲取,讓人們認(rèn)為移動(dòng)代理中比較重要的應(yīng)該是本地?cái)?shù)據(jù)傳輸,而忽視與一個(gè)遠(yuǎn)程移動(dòng)代理的數(shù)據(jù)傳輸?shù)闹匾?,認(rèn)為只需提供對(duì)資源的獲取和與本地代理的數(shù)據(jù)傳輸支撐平臺(tái)即可。而實(shí)際上,移動(dòng)代理能夠根據(jù)應(yīng)用需要自己選擇什么時(shí)候遷移到哪里,而不需要統(tǒng)一的調(diào)度。例如,用戶可以創(chuàng)建多個(gè)代理,讓它們同時(shí)在一個(gè)若干個(gè)結(jié)點(diǎn)上運(yùn)行,形成并行求解的能

14、力。當(dāng)一個(gè)任務(wù)需要多個(gè)代理協(xié)作完成時(shí),代理之間的通信就成為了解決問(wèn)題的關(guān)鍵,需要移動(dòng)代理支撐環(huán)境提供有效的遠(yuǎn)程數(shù)據(jù)傳輸機(jī)制。數(shù)據(jù)傳輸?shù)目煽啃詻Q定了任務(wù)完成的質(zhì)量。</p><p>  由此可見(jiàn),移動(dòng)代理的數(shù)據(jù)傳輸直接影響到整個(gè)移動(dòng)代理系統(tǒng)的性能,是影響移動(dòng)代理系統(tǒng)解決問(wèn)題能力的重要因素。</p><p>  1.2傳輸機(jī)制現(xiàn)狀和不足之處</p><p>  代理的協(xié)

15、同體現(xiàn)為若干個(gè)移動(dòng)代理可在網(wǎng)絡(luò)中相互協(xié)作并合作完成某一任務(wù),主要包括功能互通、協(xié)作聯(lián)盟模式和數(shù)據(jù)傳輸3個(gè)層次。功能互通涉及語(yǔ)義層次,目前的工作只停留在理論研究方面。協(xié)作聯(lián)盟模式對(duì)于多代理系統(tǒng)的構(gòu)造具有重要意義,面向應(yīng)用領(lǐng)域的協(xié)同模式的研究可能是一條有效的途徑。目前對(duì)移動(dòng)代理協(xié)同性的支持主要集中于數(shù)據(jù)傳輸機(jī)制的研究。</p><p>  由移動(dòng)代理移動(dòng)產(chǎn)生的可靠數(shù)據(jù)傳輸問(wèn)題是移動(dòng)代理系統(tǒng)特有的問(wèn)題。目前集中針對(duì)移動(dòng)

16、代理的數(shù)據(jù)傳輸研究也并不多,但一些移動(dòng)代理整體框架的設(shè)計(jì)方案或多或少涉及到了對(duì)數(shù)據(jù)傳輸機(jī)制的研究,目前用于解決數(shù)據(jù)傳輸失效的主要方法可分為兩大類(lèi),一類(lèi)是“移動(dòng)受限的方法”,另一類(lèi)是“移動(dòng)自有的方法?!毕旅鎸?duì)這二種方法進(jìn)行介紹。</p><p>  1.“移動(dòng)受限的方法”。</p><p>  移動(dòng)受限的方法將“數(shù)據(jù)傳輸”和“移動(dòng)”看作兩個(gè)互斥的過(guò)程,保證它們被“串行處理”,即在數(shù)據(jù)傳輸?shù)倪^(guò)

17、程中不發(fā)生移動(dòng),在移動(dòng)的過(guò)程中不發(fā)生數(shù)據(jù)傳輸,從而避免數(shù)據(jù)傳輸失敗。D’AGENT的早期版本Agenttcl采用該方法。</p><p>  面向會(huì)話的數(shù)據(jù)傳輸也是這種方法。面向會(huì)話的數(shù)據(jù)傳輸提出了“會(huì)話的數(shù)據(jù)傳輸”想法,采取“請(qǐng)求—應(yīng)答”方式,在一對(duì)互相知道對(duì)方地方的代理之間的數(shù)據(jù)傳輸。如果其中一方要求移動(dòng)必須等到收到應(yīng)答,會(huì)話結(jié)束以后。Mole系統(tǒng)采納了這種面向會(huì)話數(shù)據(jù)傳輸?shù)乃枷耄?duì)數(shù)據(jù)傳輸?shù)氖Ъ皩⑹?/p>

18、息就地保存,待目標(biāo)代理返回時(shí)在交付。</p><p>  南京大學(xué)的Mogent系統(tǒng)實(shí)際上也沿用了這種思想,引入了代理“狀態(tài)”的概念。Mogent的數(shù)據(jù)傳輸原理如下所示。</p><p>  Mogent的每個(gè)節(jié)點(diǎn)有communicator,還設(shè)計(jì)了一個(gè)Home模板,用于記錄在本節(jié)點(diǎn)上“出生”的代理當(dāng)前所在節(jié)點(diǎn)的地址和當(dāng)前的狀態(tài)。Communicator則為在本節(jié)點(diǎn)所有Agent記錄對(duì)應(yīng)的

19、“在途信件數(shù)”,用于表示已發(fā)送給某個(gè)Agent但仍然在途中的消息個(gè)數(shù)。A如果發(fā)送給B,首先把消息交給ca,ca向B的出生地HB,查詢B的當(dāng)前地址,如果B是“靜止態(tài)”,直接返回B的地址,并向Cb發(fā)送控制信息通知其將b對(duì)應(yīng)的“在途信件數(shù)”加1;如果b的狀態(tài)為“移動(dòng)態(tài)”,則將該請(qǐng)求放入“尋址信件等待隊(duì)列”,等到b的狀態(tài)再返回B的當(dāng)前地址。Ca得到b的地址后向Cb發(fā)送消息,Cb收到后將“在途信件數(shù)”減1,然后最終把消息交給b。如果b要移動(dòng),必須

20、向先向Hb發(fā)生遷移申請(qǐng),待Hb將B的狀態(tài)由“靜止態(tài)”改為“移動(dòng)態(tài)”并發(fā)出確認(rèn)消息后,B檢查Cb上其對(duì)應(yīng)的“在途信件數(shù)”,如果為零則可以移動(dòng)否則等待。B到達(dá)新的節(jié)點(diǎn)后立即通知Hb修改器當(dāng)前地址和狀態(tài)。</p><p>  “移動(dòng)受限的方法”能保證數(shù)據(jù)傳輸?shù)目煽啃?,但損害了移動(dòng)代理的自主性。</p><p>  圖1-1 Mogent系統(tǒng)的數(shù)據(jù)傳輸原理</p><p>

21、  2.“移動(dòng)自由的方法”。</p><p>  “移動(dòng)自由的方法”可分為廣播方式和消息轉(zhuǎn)發(fā)方式。廣播方式的工作原理,如圖所示。發(fā)送消息的代理在傳遞消息之前需要預(yù)定知道接收代理當(dāng)前所在的可能主機(jī),即需要了解接收代理的移動(dòng)規(guī)律和遷移路線。在掌握目標(biāo)主機(jī)集合后,發(fā)送代理將與發(fā)送的消息向所有這些可能的主機(jī)進(jìn)行廣播。接收代理當(dāng)前所在的主機(jī)發(fā)現(xiàn)消息的接收對(duì)象正運(yùn)行在自己的代理環(huán)境中,則接收改消息并將其轉(zhuǎn)交給目標(biāo)代理,而其余

22、主機(jī)不接受該消息。例如emerald系統(tǒng)就是采用廣播方式作為自己的數(shù)據(jù)傳輸模型。</p><p>  廣播法的最大優(yōu)點(diǎn)就是算法簡(jiǎn)單、通信速度快,發(fā)送方只需向所有可能的主機(jī)集合廣播消息即可,而無(wú)需考慮接收代理當(dāng)前所在的位子。但這也造成了其難以克服的弱點(diǎn):發(fā)送方需要預(yù)先知道接收代理的移動(dòng)路線,這就決定了此方法只能適用于小規(guī)模的應(yīng)用,因?yàn)樵诖笠?guī)模的應(yīng)用中(如Internet環(huán)境下)這一前提很難滿足。若發(fā)送方在廣播消息時(shí)

23、,接收代理正處于遷移狀態(tài),則很可能造成消息丟失。同時(shí)發(fā)送方盲目地向多少主機(jī)進(jìn)行廣播,而只有一個(gè)主機(jī)接收消息,嚴(yán)重浪費(fèi)了網(wǎng)絡(luò)帶寬,資源利用率低,并且給系統(tǒng)的安全性帶來(lái)了威脅,容易因消息被竊聽(tīng)而造成泄密。圓表示網(wǎng)絡(luò)結(jié)點(diǎn)、實(shí)線表示消息發(fā)送路徑、虛線表示代理遷移路徑。</p><p>  圖1-2廣播方式的工作原理</p><p>  1.3 論文的研究?jī)?nèi)容及組織結(jié)構(gòu)</p><

24、;p>  本文在對(duì)現(xiàn)有的移動(dòng)代理的傳輸機(jī)制進(jìn)行分析的基礎(chǔ)上,提出了一種更為合理和有效的數(shù)據(jù)傳輸機(jī)制具體工作有以下幾個(gè)方面:</p><p>  1)研究了國(guó)內(nèi)外一些典型的移動(dòng)代理數(shù)據(jù)傳輸機(jī)制,綜合分析了它們的的優(yōu)缺點(diǎn)。</p><p>  2)提出了一種新的通信機(jī)制。該機(jī)制實(shí)現(xiàn)了移動(dòng)代理的定位、透明尋址、可靠通信,并在一定程度上保證了系統(tǒng)的穩(wěn)定性。</p><p&

25、gt;  3)通過(guò)性能分析和模擬實(shí)驗(yàn),說(shuō)明了本文提出的數(shù)據(jù)傳輸機(jī)制的優(yōu)越性。</p><p>  論文的組織結(jié)構(gòu)如下:</p><p>  第一章,作為緒論,簡(jiǎn)述了概述本文的工作內(nèi)容,并闡述了本文的組織。</p><p>  第二章,給出相關(guān)的理論支持,介紹了移動(dòng)代理和其應(yīng)用。</p><p>  第三章,具體分析移動(dòng)代理的數(shù)據(jù)傳輸機(jī)制的不足

26、和解決辦法。</p><p>  第四章,論文的核心部分。提出了一種新的移動(dòng)代理可靠通信機(jī)制,分析了本機(jī)制的特點(diǎn),并在公交卡系統(tǒng)得到了應(yīng)用實(shí)踐。</p><p>  第五章,對(duì)本論文的工作做了回顧和總結(jié),并對(duì)今后的進(jìn)一步研究工作做了展望。</p><p><b>  第2章 相關(guān)理論</b></p><p>  2.1

27、移動(dòng)代理和移動(dòng)代理系統(tǒng)</p><p>  2.1.1 移動(dòng)代理簡(jiǎn)介</p><p>  (1)移動(dòng)代理的起源與概念</p><p>  代理的研究起源于人工智能領(lǐng)域,是指模擬人類(lèi)的行為與關(guān)系、具有一定智能并能夠自主運(yùn)行和提供相應(yīng)服務(wù)的程序。與現(xiàn)在流行的軟件(如對(duì)象、構(gòu)件)相比,代理的力度更大,智能化更高。20世紀(jì)90年代初General Magic公司在推出商業(yè)系

28、統(tǒng)Telescript時(shí)提出了移動(dòng)代理的概念。隨著計(jì)算機(jī)網(wǎng)絡(luò)、通信及人工智能等技術(shù)的發(fā)展,代理技術(shù)特別是移動(dòng)代理技術(shù)已經(jīng)成為網(wǎng)絡(luò)與數(shù)據(jù)傳輸領(lǐng)域十分活躍的前沿研究課題。</p><p>  移動(dòng)代理的定義如下:</p><p>  移動(dòng)代理是一獨(dú)立計(jì)算機(jī)程序,它可自主地在異構(gòu)的網(wǎng)絡(luò)上,按照一定的規(guī)程移動(dòng),尋找合適的計(jì)算資源、信息資源或軟件資源,;利用與這些資源處于同一主機(jī)或網(wǎng)絡(luò)的優(yōu)勢(shì),就近處

29、理或使用這些資源,代表用戶完成特定的任務(wù)。</p><p>  它的基本思想是將處理分布到網(wǎng)絡(luò)上,即把代碼送到數(shù)據(jù)所在的地方而不是把數(shù)據(jù)傳輸?shù)酱a所在處。與傳統(tǒng)的客戶/服務(wù)器模型相比,在移動(dòng)代理計(jì)算環(huán)境中,計(jì)算實(shí)體不是單純靜止和被動(dòng)的,而是能夠自主遷移的代理。計(jì)算任務(wù)封裝在代理的內(nèi)部,通過(guò)代理在多個(gè)位置遷移并與其他代理交換、協(xié)作來(lái)完成任務(wù)。</p><p> ?。?)移動(dòng)代理的特征<

30、/p><p>  實(shí)際上移動(dòng)代理是代理技術(shù)與分布式計(jì)算技術(shù)的混血兒。它融合了分布式計(jì)算領(lǐng)域中的分布式對(duì)象技術(shù)、軟件代理和移動(dòng)代碼技術(shù)(如java),因而突破了傳統(tǒng)的分布式計(jì)算模式的諸多限制,為分布式計(jì)算帶來(lái)了新的計(jì)算模式和思路。</p><p>  移動(dòng)代理是代碼、數(shù)據(jù)以及執(zhí)行語(yǔ)境的軟件包,可以在網(wǎng)絡(luò)中個(gè)主機(jī)之間自由移動(dòng),在某個(gè)執(zhí)行環(huán)境中被創(chuàng)建后,移動(dòng)代理可攜帶自身狀態(tài)和代碼在網(wǎng)絡(luò)中轉(zhuǎn)系到另一

31、環(huán)境中去,并可在該環(huán)境中恢復(fù)執(zhí)行。其中“狀態(tài)”是指代理在異地目標(biāo)環(huán)境中恢復(fù)執(zhí)行時(shí)所需的屬性值,而“代碼”是代理執(zhí)行的必要條件。</p><p>  移動(dòng)代理不同于遠(yuǎn)程執(zhí)行,移動(dòng)代理能夠不斷的從一個(gè)網(wǎng)絡(luò)位置移動(dòng)到另一個(gè)位置,能夠根據(jù)自己的選擇進(jìn)行移動(dòng)。移動(dòng)代理不同于進(jìn)程遷移,一般來(lái)說(shuō)進(jìn)程遷移系統(tǒng)不允許進(jìn)程選擇什么時(shí)候遷移和遷移到哪里,而移動(dòng)代理可以在客戶和服務(wù)器之間雙向移動(dòng)。</p><p>

32、;  移動(dòng)代理是一種新興的技術(shù),可有效的簡(jiǎn)化分布式系統(tǒng)的設(shè)計(jì)、實(shí)現(xiàn)和維護(hù)。移動(dòng)代理計(jì)算模式能有效地降低分布式計(jì)算中的網(wǎng)絡(luò)負(fù)載、提高通信效率、支持異步及自己交互、支持非連接互操作、可動(dòng)態(tài)自適應(yīng)。</p><p>  移動(dòng)代理的具體特征表現(xiàn)在如下幾個(gè)方面:</p><p>  (Ⅰ)節(jié)約網(wǎng)絡(luò)帶寬、克服網(wǎng)絡(luò)延遲。移動(dòng)代理的本質(zhì)是將計(jì)算移動(dòng)到數(shù)據(jù)端,直接在數(shù)據(jù)段進(jìn)行本地處理,只返回最終結(jié)果,避免了

33、大量中間數(shù)據(jù)在通信兩端的傳輸。分布式系統(tǒng)通常依賴于通信協(xié)議,這些協(xié)議在完成給定的任務(wù)的過(guò)程中涉及多次交互行為,這將導(dǎo)致網(wǎng)絡(luò)交通擁擠,如下圖所示。</p><p>  圖2-1基于rcp方式和移動(dòng)代理方式</p><p>  移動(dòng)代理一次可以攜帶多個(gè)服務(wù)請(qǐng)求移動(dòng)到服務(wù)器端進(jìn)行行本地調(diào)用,即可以將一個(gè)會(huì)話過(guò)程打包,然后將其派遣到目的主機(jī)上去進(jìn)行本地交互。避免了多次遠(yuǎn)程調(diào)用,從而節(jié)省了每次遠(yuǎn)程調(diào)

34、用的網(wǎng)絡(luò)延遲。此外當(dāng)進(jìn)行遠(yuǎn)地主機(jī)的大量數(shù)據(jù)處理時(shí),從而節(jié)省了每次遠(yuǎn)程調(diào)用的網(wǎng)絡(luò)延遲。此外當(dāng)進(jìn)行遠(yuǎn)地主機(jī)的大量數(shù)據(jù)處理時(shí),這些數(shù)據(jù)也不應(yīng)在網(wǎng)絡(luò)上大批移動(dòng),因而在本地被處理完成。因此在處理的數(shù)據(jù)量大、通信兩端交互頻繁、帶寬不足的情況下,這種把計(jì)算移動(dòng)到數(shù)據(jù)上進(jìn)行的思想大大節(jié)省了所占用的網(wǎng)絡(luò)帶寬減少的時(shí)延。</p><p> ?。á颍┲С謱?shí)時(shí)遠(yuǎn)程交互。在一些遠(yuǎn)程控制系統(tǒng)中,如工業(yè)控制、海底探測(cè)器控制、外太空探測(cè)器的控制

35、、有毒環(huán)境中的監(jiān)控,實(shí)時(shí)性非常重要,但是網(wǎng)絡(luò)的延遲使遠(yuǎn)程實(shí)時(shí)控制變得不太可能。將移動(dòng)代理發(fā)送到遠(yuǎn)端系統(tǒng),代替人在遠(yuǎn)端完成各種控制活動(dòng),可以從根本上解決網(wǎng)絡(luò)延遲問(wèn)題。</p><p> ?。á螅┓庋b網(wǎng)絡(luò)協(xié)議。任何網(wǎng)絡(luò)程序都是建立在特定的協(xié)議之上,網(wǎng)絡(luò)程序的開(kāi)發(fā)要求程序設(shè)計(jì)者深刻地理解低層的網(wǎng)絡(luò)協(xié)議。隨著Internet的發(fā)展,新的協(xié)議和數(shù)據(jù)格式不斷地產(chǎn)生,睡著網(wǎng)絡(luò)協(xié)議的升級(jí),程序需要重新編寫(xiě)、編譯,這些都給網(wǎng)絡(luò)應(yīng)用

36、的開(kāi)發(fā)和維護(hù)帶來(lái)困難移動(dòng)代理系統(tǒng)是一種中間件,位于操作系統(tǒng)和應(yīng)用程序之間他封裝了低層網(wǎng)絡(luò)協(xié)議提供移動(dòng)、通信、容錯(cuò)和安全等基本功能,開(kāi)發(fā)人員無(wú)須了解低層時(shí)間即可開(kāi)發(fā)網(wǎng)絡(luò)應(yīng)用。當(dāng)網(wǎng)絡(luò)協(xié)議升級(jí)時(shí),只需修改移動(dòng)代理系統(tǒng)中相關(guān)的功能實(shí)現(xiàn)而無(wú)需修改Ma應(yīng)用程序。</p><p> ?。á簦┲С之惒阶灾鲌?zhí)行。傳統(tǒng)分布式系統(tǒng)中異步通信機(jī)制(如異步消息隊(duì)列)可以異步地處理多個(gè)請(qǐng)求,但要求提出請(qǐng)求的客戶端必須始終在線等待并響應(yīng)請(qǐng)求的

37、回答,這對(duì)移動(dòng)客戶而言是不可行的。使用移動(dòng)代理技術(shù),用戶可以將整個(gè)任務(wù)而不是單個(gè)請(qǐng)求提交給多個(gè)代理去執(zhí)行。這些代理被發(fā)送到網(wǎng)上之后,可以獨(dú)立于發(fā)送它們的程序,異步地、自主地、協(xié)作的完成任務(wù),它們的生命周期可以長(zhǎng)于創(chuàng)建它們的程序。</p><p> ?。á酰┲С蛛x線計(jì)算由于要求移動(dòng)設(shè)備(筆記本電腦、PDA、手機(jī)等)始終保持在網(wǎng)絡(luò)連接在經(jīng)濟(jì)上是不可行的,移動(dòng)設(shè)備連接在技術(shù)上也是不可行的,無(wú)線通信的特色要求系統(tǒng)具有離線

38、計(jì)算的能力。移動(dòng)代理技術(shù)可以解決這個(gè)問(wèn)題。用戶派出代理之后,可以斷開(kāi)網(wǎng)絡(luò)連接,代理在網(wǎng)絡(luò)上自主地運(yùn)行,當(dāng)代理完成任務(wù)之后,通過(guò)轉(zhuǎn)接機(jī)制監(jiān)視用戶是否在線,當(dāng)它發(fā)現(xiàn)用戶不在線時(shí),就返回計(jì)算結(jié)果如下圖所示:</p><p>  圖2-2 移動(dòng)代理支持離線計(jì)算</p><p> ?。á觯┲С制脚_(tái)無(wú)關(guān)性。移動(dòng)代理的運(yùn)行只和其運(yùn)行環(huán)境有關(guān),和具體的網(wǎng)絡(luò)結(jié)構(gòu)、網(wǎng)絡(luò)協(xié)議、計(jì)算機(jī)設(shè)備、操作系統(tǒng)無(wú)關(guān),只要網(wǎng)絡(luò)

39、節(jié)點(diǎn)上裝有移動(dòng)代理運(yùn)行環(huán)境,移動(dòng)代理就可以實(shí)現(xiàn)跨平臺(tái)的移動(dòng)和運(yùn)行。如果所有的移動(dòng)代理系統(tǒng)都遵循移動(dòng)代理系統(tǒng)的互操作標(biāo)準(zhǔn),就可以實(shí)現(xiàn)Ma在任意移動(dòng)代理系統(tǒng)中的移動(dòng)、交互和通信,真正實(shí)現(xiàn)平臺(tái)的無(wú)關(guān)性。</p><p>  (Ⅶ)具有動(dòng)態(tài)適應(yīng)性。移動(dòng)代理和其運(yùn)行的環(huán)境進(jìn)行交互,感知環(huán)境的變化,并自主的、快速的做出反應(yīng),使整個(gè)系統(tǒng)始終保持在最優(yōu)狀態(tài)。</p><p> ?。á┨峁﹤€(gè)性化服務(wù)。來(lái)自

40、不同的民族和地區(qū),有著不同的文化背景他們對(duì)信息的需求和使用方式有著很大的差異,這就要求Internet進(jìn)行個(gè)性化服務(wù)。使用移動(dòng)代理技術(shù),用戶可以根據(jù)服務(wù)器端提供的低層操作函數(shù),編寫(xiě)滿足自己特定需要的代理,然后發(fā)送到服務(wù)器端運(yùn)行,利用服務(wù)端的數(shù)據(jù)資源或計(jì)算資源為不同的用戶服務(wù),有效的增加服務(wù)器功能的伸縮性。</p><p> ?。á┰鰪?qiáng)應(yīng)用的強(qiáng)壯性和容錯(cuò)能力。移動(dòng)代理支持離線計(jì)算,起反應(yīng)性使之能及時(shí)的感知網(wǎng)絡(luò)節(jié)點(diǎn)

41、的失效,其自主性可以使它自主地處理并修正錯(cuò)誤,更容易建立容錯(cuò)能力強(qiáng)的分布式系統(tǒng)。例如,在一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)失敗之前,在其工作的移動(dòng)代理可以立即感知,并完成相應(yīng)的備份工作,然后移動(dòng)到其他節(jié)點(diǎn),繼續(xù)原來(lái)的工作。</p><p>  2.1.2 移動(dòng)代理的應(yīng)用及開(kāi)發(fā)</p><p>  在現(xiàn)實(shí)問(wèn)題的解決方案中,代理雖然只是眾多方案中的一個(gè)備選方案,然而由于代理模型的獨(dú)特性,應(yīng)用移動(dòng)代理有如下優(yōu)點(diǎn):減少

42、網(wǎng)絡(luò)流量、降低網(wǎng)絡(luò)延遲、封裝應(yīng)用協(xié)議、異步自主的運(yùn)行、動(dòng)態(tài)適應(yīng)、健壯性。因而它非常適合應(yīng)用在下述領(lǐng)域。</p><p>  (1)電子商務(wù)。電子交易對(duì)股票價(jià)格等實(shí)時(shí)信息非常敏感。在電子交易中,通常需要實(shí)時(shí)訪問(wèn)遠(yuǎn)程的資源如庫(kù)存配額,有時(shí)甚至需要協(xié)商。在代理解決方法中,不同的代理有不同的目標(biāo),執(zhí)行不同的策略以實(shí)現(xiàn)各自的目標(biāo)。代理體現(xiàn)它的創(chuàng)建者的意圖,并代表它的創(chuàng)建者進(jìn)行商務(wù)活動(dòng)。因此,在這類(lèi)問(wèn)題中,代理是個(gè)很好的解決

43、文案。</p><p>  (2)個(gè)人助理。移動(dòng)代理具有遷移到遠(yuǎn)地機(jī)器執(zhí)行的能力,所以可以在遠(yuǎn)程主機(jī)上運(yùn)行,代表它的創(chuàng)建者在網(wǎng)絡(luò)中完成某些任務(wù),而不需要保持網(wǎng)絡(luò)一直連通。例如會(huì)議日程的安排,會(huì)議的參與者通過(guò)發(fā)送移動(dòng)代理來(lái)協(xié)商日程的安排。</p><p>  (3)安全代理。在參與協(xié)作的各方互不信任的時(shí)候,可以用代理代表參加的各方在共同信任的第三方主機(jī)進(jìn)行協(xié)作。</p><

44、;p>  (4)信息獲?。ǚ植际叫畔z索):這是移動(dòng)代理常見(jiàn)的應(yīng)用領(lǐng)域,代理派遣到遠(yuǎn)地信息源取搜索信息,并創(chuàng)建搜索索引,再把索引返回到本地,從而避免搜索引擎將大塊數(shù)據(jù)移動(dòng)到本地后才建立索引引起的數(shù)據(jù)大量傳輸,而且在離線時(shí)可以繼續(xù)搜索。</p><p>  (5)通信網(wǎng)絡(luò)管理。對(duì)于復(fù)雜的通信網(wǎng)絡(luò)管理需要?jiǎng)討B(tài)的、客戶化的配置。由于網(wǎng)絡(luò)的龐大而復(fù)雜,因而要獲得高效率是一件非常困難的事情。;利用移動(dòng)代理作為網(wǎng)絡(luò)各功

45、能部件的粘合劑可以使得網(wǎng)絡(luò)的管理既靈活又高效。</p><p>  (6)工作流系統(tǒng)(工作流應(yīng)用程序)。工作流應(yīng)用程序在本質(zhì)上是共同工作者之間的信息流動(dòng)。由于移動(dòng)代理的移動(dòng)和自治性,使得它非常適合此類(lèi)的應(yīng)用。</p><p>  (7)其實(shí)。由于移動(dòng)代理的特性,它也非常適合于監(jiān)視應(yīng)用程序、入侵檢測(cè)系統(tǒng)、GIS系統(tǒng)、移動(dòng)數(shù)據(jù)庫(kù)系統(tǒng)信息分發(fā)及并行處理以及用移動(dòng)代理來(lái)求解的一些數(shù)學(xué)問(wèn)題等。<

46、;/p><p>  總之,移動(dòng)代理特別適合于解決傳統(tǒng)方法中要么代價(jià)過(guò)于昂貴,要么就解決不了的問(wèn)題,如數(shù)據(jù)、控制、專家知識(shí)或資源分布問(wèn)題,使大量的數(shù)據(jù)處理可在數(shù)據(jù)源進(jìn)行(因?yàn)橐苿?dòng)代理是可以移動(dòng)的),只須交換少量的高層信息,就可以減少了大量原始數(shù)據(jù)傳送到遠(yuǎn)地的操作,提高了網(wǎng)絡(luò)的利用率。如需要人性化的問(wèn)題,由于移動(dòng)代理具有觀察力、主動(dòng)適應(yīng)能力,而不是通過(guò)一些預(yù)先嚴(yán)格確定的接口函數(shù)與外界進(jìn)行交互作用,能根據(jù)目標(biāo)主動(dòng)規(guī)范化自己

47、的行為,使用戶界面達(dá)到“人性化”。如需要集成的問(wèn)題,通過(guò)給舊系統(tǒng)上包裝一層代理外殼,其他系統(tǒng)可以調(diào)用舊系統(tǒng)的功能。</p><p>  運(yùn)用移動(dòng)代理技術(shù)開(kāi)發(fā)應(yīng)用系統(tǒng)一般有以下幾個(gè)步驟。</p><p>  (1)分析系統(tǒng)的特點(diǎn),選擇合適的實(shí)現(xiàn)技術(shù)。決定哪些采用移動(dòng)代理實(shí)現(xiàn),哪些采用其他方法實(shí)現(xiàn)。</p><p>  (2)進(jìn)行移動(dòng)代理的功能設(shè)計(jì)。確定系統(tǒng)中決定用代理

48、技術(shù)實(shí)現(xiàn)部分的數(shù)據(jù)和功能,移動(dòng)代理間明確分工后,應(yīng)當(dāng)根據(jù)各自功能確定內(nèi)部數(shù)據(jù)。移動(dòng)代理的內(nèi)部數(shù)據(jù)應(yīng)盡可能少,這樣可以減少移動(dòng)帶來(lái)的網(wǎng)絡(luò)負(fù)擔(dān)。</p><p>  (3)進(jìn)行代理的接口設(shè)計(jì)。代理的接口設(shè)計(jì)非常關(guān)鍵,它往往是系統(tǒng)性能好壞的關(guān)鍵。這時(shí),既要考慮系統(tǒng)中的代理間交互方式,又要考慮代理與非代理部分的交互方式。</p><p>  (4)進(jìn)行代理的詳細(xì)設(shè)計(jì)。應(yīng)了解目前移動(dòng)移動(dòng)代理平臺(tái)各自

49、的優(yōu)缺點(diǎn),選擇適合的平臺(tái)。</p><p>  (5)代理的運(yùn)行和維護(hù)。目前由于移動(dòng)代理可靠性還不高,維護(hù)工作特別重要。</p><p><b>  2.2移動(dòng)代理系統(tǒng)</b></p><p>  移動(dòng)代理結(jié)構(gòu)和一些關(guān)鍵技術(shù)</p><p><b>  (1)移動(dòng)代理系統(tǒng)</b></p>

50、<p>  移動(dòng)代理系統(tǒng)由兩部分組成:移動(dòng)代理和移動(dòng)代理服務(wù)器設(shè)施(或稱移動(dòng)代理服務(wù)器)。移動(dòng)代理服務(wù)設(shè)施基于代理傳輸協(xié)議ATP(agent transfer protocol)實(shí)現(xiàn)。代理在主機(jī)間的轉(zhuǎn)移,并為其分配執(zhí)行環(huán)境和服務(wù)接口;代理在服務(wù)設(shè)施中執(zhí)行,通過(guò)ACL(agent communication language)相互通信并訪問(wèn)服務(wù)設(shè)施提供服務(wù),如下圖所示。</p><p>  移動(dòng)代理的

51、基本特征是能夠在異構(gòu)的網(wǎng)絡(luò)節(jié)點(diǎn)間移動(dòng),并通過(guò)與服務(wù)設(shè)施和其他代理協(xié)商獲取、提供服務(wù)來(lái)完成全局目標(biāo)。因此移動(dòng)代理體系結(jié)構(gòu)必須體現(xiàn)以下需求:</p><p>  跨平臺(tái)的語(yǔ)義一致性:移動(dòng)代理移動(dòng)過(guò)程中的主機(jī)可能基于不同的硬件和軟件系統(tǒng),在這些異構(gòu)平臺(tái)上具有相同語(yǔ)義的語(yǔ)言才能保證移動(dòng)代理行為的正確性。</p><p>  支持移動(dòng)的語(yǔ)義:傳統(tǒng)的負(fù)載均衡也能夠?qū)浖M(jìn)行調(diào)度使之分布在不同主機(jī)上執(zhí)行

52、。移動(dòng)代理與之最大的區(qū)別在移動(dòng)代理的移動(dòng)自主決策的結(jié)果,而負(fù)載均衡造成的程序轉(zhuǎn)移對(duì)軟件是透明和被動(dòng)的。移動(dòng)代理的自主性體現(xiàn)在代碼中具有實(shí)現(xiàn)轉(zhuǎn)移的語(yǔ)義,類(lèi)似【move to next host】這樣的語(yǔ)句。轉(zhuǎn)移語(yǔ)義與當(dāng)前主機(jī)協(xié)商,并將控制權(quán)交給代理服務(wù)設(shè)施,由服務(wù)設(shè)施實(shí)現(xiàn)代理的封裝和轉(zhuǎn)移。</p><p>  圖2-3移動(dòng)代理環(huán)境示意圖</p><p>  持久化:移動(dòng)代理在轉(zhuǎn)移過(guò)程中必須保

53、存代碼和當(dāng)前運(yùn)行狀態(tài)才能在目標(biāo)節(jié)點(diǎn)繼續(xù)執(zhí)行,移動(dòng)代理的以步行也要求保存代理的任務(wù)求解結(jié)果。</p><p>  安全機(jī)制:移動(dòng)性產(chǎn)生的非確定性使安全性成為移動(dòng)代理的一個(gè)重要問(wèn)題,缺乏安全性會(huì)造成惡意代理在網(wǎng)絡(luò)中泛濫或受到惡意主機(jī)的侵害。移動(dòng)代理的安全機(jī)制一方而保證自身不受到攻擊,另一方保證自身是非惡性的。</p><p>  移動(dòng)代理的規(guī)模:由于幾乎全部代碼和狀態(tài)在網(wǎng)絡(luò)中傳輸,代理應(yīng)該限制

54、于中小規(guī)模,否則將喪失網(wǎng)絡(luò)資源方面的優(yōu)勢(shì)。</p><p>  (2)移動(dòng)代理系統(tǒng)的關(guān)鍵技術(shù)</p><p>  移動(dòng)代理利用先進(jìn)的網(wǎng)絡(luò)技術(shù)和基礎(chǔ)設(shè)施提供智能化的服務(wù)和任務(wù)規(guī)劃求解,為了實(shí)現(xiàn)這個(gè)目標(biāo),必須解決好以下幾個(gè)關(guān)鍵技術(shù):</p><p> ?。á瘢┮苿?dòng)代理理論模型</p><p>  目前一般基于BDI系統(tǒng),是把代理看作理論性主體,通

55、過(guò)信念(belief)、愿望(desire)或意圖(Intention)屬性來(lái)預(yù)測(cè)代理的行為。吧主體看作意識(shí)系統(tǒng)的主要好處有如下幾點(diǎn):</p><p>  A:對(duì)于設(shè)計(jì)者和分析者來(lái)說(shuō),這樣是自然的。</p><p>  B:對(duì)于描述復(fù)雜系統(tǒng)的行為提供了簡(jiǎn)潔的表達(dá),有利于理解和解釋。</p><p>  C:不可依賴具有物理實(shí)現(xiàn)就可以得到許多主機(jī)的規(guī)則和模式。<

56、/p><p>  D:可被代理自身用來(lái)相互推理。</p><p>  (Ⅱ)代理數(shù)據(jù)傳輸語(yǔ)言</p><p>  ACL基于語(yǔ)言——行為理論(speech act),定義代理及服務(wù)設(shè)施間協(xié)商過(guò)程的語(yǔ)法和語(yǔ)義,是實(shí)現(xiàn)異構(gòu)系統(tǒng)集成的前提。開(kāi)放移動(dòng)代理系統(tǒng)的ACL應(yīng)該具有以下特征:A、應(yīng)用的普遍性;B、簡(jiǎn)潔、一致的語(yǔ)法和語(yǔ)義;C、通信內(nèi)容的獨(dú)立性等。KQML和HTTP是兩種具

57、有發(fā)展?jié)摿Φ臄?shù)據(jù)傳輸語(yǔ)言,其中KQML主要應(yīng)用于知識(shí)處理領(lǐng)域,在Internet/intranet環(huán)境中HTTP具有很好的普遍性和支持能力。</p><p>  (Ⅲ)代理知識(shí)表示語(yǔ)言</p><p>  為了達(dá)到異構(gòu)移動(dòng)代理環(huán)境的集成和互操作,代理知識(shí)表示語(yǔ)言與數(shù)據(jù)信息傳輸?shù)姆蛛x式一項(xiàng)關(guān)鍵技術(shù),使面向不同領(lǐng)域的代理應(yīng)用系統(tǒng)基于同一通信語(yǔ)言從而具有潛在的集成和互操作能力。知識(shí)表示語(yǔ)言對(duì)系統(tǒng)

58、的應(yīng)用領(lǐng)域具有較強(qiáng)的依賴性,美國(guó)高級(jí)國(guó)防計(jì)劃署制定的KIF是一種中立的知識(shí)交換語(yǔ)言,正成為一種被廣泛采用的移動(dòng)代理知識(shí)表示語(yǔ)言。</p><p><b> ?。á簦┐韨鬏攨f(xié)議</b></p><p>  代理傳輸協(xié)議定義了移動(dòng)代理和傳輸?shù)恼Z(yǔ)言和語(yǔ)義,具體實(shí)現(xiàn)了移動(dòng)代理在服務(wù)設(shè)施間的移動(dòng)機(jī)制。由于移動(dòng)代理拘束的應(yīng)用剛剛起步,目前并沒(méi)有形成國(guó)際公認(rèn)的ATP標(biāo)準(zhǔn)。IBM提

59、出的ATP框架(ATP Framework)定義了一組原語(yǔ)性接口(interface)和基礎(chǔ)消息集,可以看作是一個(gè)代理傳輸協(xié)議的最小實(shí)現(xiàn)。目前研究的重點(diǎn)是可靠而實(shí)時(shí)的傳輸。</p><p>  (Ⅴ)移動(dòng)代理的路由策略</p><p>  移動(dòng)代理的效率很大程度上決定于路由策略的優(yōu)化??尚械穆酚刹呗杂袃煞N,分別為固定路由和基于規(guī)則及目錄服務(wù)的動(dòng)態(tài)路由。目前,在路由策略中引入Qos(qual

60、ity of service)是一個(gè)研究重點(diǎn)</p><p>  (Ⅵ)移動(dòng)代理實(shí)現(xiàn)語(yǔ)言</p><p>  移動(dòng)代理的跨平臺(tái)執(zhí)行為實(shí)現(xiàn)語(yǔ)言提出了一下要求:A、平臺(tái)獨(dú)立:具有跨平臺(tái)一致的語(yǔ)義,如 java。B、簡(jiǎn)潔緊湊使服務(wù)設(shè)施已最小資源代碼提供語(yǔ)言的執(zhí)行環(huán)境。C、支持移動(dòng)語(yǔ)義:具有特定的語(yǔ)法結(jié)構(gòu)來(lái)執(zhí)行轉(zhuǎn)移語(yǔ)義。D、實(shí)現(xiàn)語(yǔ)言級(jí)的安全機(jī)制能夠降低系統(tǒng)的復(fù)雜程度。E、動(dòng)態(tài)性:動(dòng)態(tài)的實(shí)現(xiàn)語(yǔ)言使代

61、理具有必要的靈活性。</p><p> ?。á鳎┫到y(tǒng)性能影響及其測(cè)試工具</p><p>  當(dāng)前的移動(dòng)代理系統(tǒng)雖然可以減少網(wǎng)絡(luò)負(fù)載和克服網(wǎng)絡(luò)延遲,但卻增加了服務(wù)方的主機(jī)負(fù)載,基于可移植性和安全性方面的原因,代理通常都是采用相對(duì)較慢的解釋性語(yǔ)言,并且當(dāng)?shù)竭_(dá)目的地后,必須置入相應(yīng)的運(yùn)行環(huán)境中才能執(zhí)行。這些原因使得移動(dòng)代理的執(zhí)行速度低于普通程序。所幸的是,以java為代表的即時(shí)編譯(Just

62、in time compilation)取得了很大的進(jìn)步,使得移動(dòng)代碼的執(zhí)行速度顯著提高。</p><p>  行能測(cè)試方面的工具目前還不很成熟,基本上沒(méi)有很好的測(cè)試工具。實(shí)際評(píng)估性能時(shí),一般利用現(xiàn)有的理論如隨機(jī)Petri網(wǎng)(把系統(tǒng)協(xié)議用隨機(jī)Petri網(wǎng)形式化描述,然后等價(jià)成Markov鏈,利用Markov更新方程或者Petri網(wǎng) 工具分析出系統(tǒng)的性能)、著色Petri網(wǎng)等。</p><p&g

63、t;<b>  (Ⅷ)容錯(cuò)策略</b></p><p>  移動(dòng)代理系統(tǒng)必須考慮到移動(dòng)過(guò)程中可能存在的網(wǎng)絡(luò)故障、服務(wù)設(shè)施故障、長(zhǎng)時(shí)間停機(jī)等情況造成的移動(dòng)代理破壞和失敗。容錯(cuò)機(jī)制是一種移動(dòng)代理服務(wù)系統(tǒng)服務(wù)質(zhì)量的重要評(píng)估標(biāo)準(zhǔn),也是移動(dòng)代理有時(shí)得以體現(xiàn)的重要手段。</p><p><b> ?。á┛刂撇呗?lt;/b></p><p&g

64、t;  必須對(duì)移動(dòng)實(shí)施有效控制,避免移動(dòng)代理失控(如不停地復(fù)制、遷移等)。另外,為了保證性能,引入負(fù)載均衡的機(jī)制很有必要。</p><p><b>  2.3 本章小結(jié)</b></p><p>  本章在介紹了代理以及移動(dòng)代理基本概念和屬性的基礎(chǔ)上,分析了移動(dòng)代理的系統(tǒng)結(jié)構(gòu)、通信語(yǔ)言、傳輸協(xié)議、容錯(cuò)策略等關(guān)鍵技術(shù),更進(jìn)一步的了解了移動(dòng)代理。從而使我們又理由相信移動(dòng)代理

65、將成為未來(lái)Internet環(huán)境中主流的網(wǎng)絡(luò)技術(shù)。</p><p>  第3章 移動(dòng)代理的數(shù)據(jù)傳輸機(jī)制</p><p>  3.1 移動(dòng)代理的數(shù)據(jù)傳輸問(wèn)題</p><p>  移動(dòng)代理最重要的特點(diǎn)就是可移動(dòng)性,因此,移動(dòng)代理技術(shù)需要解決的主要問(wèn)題之一是信息傳輸機(jī)制。本文主要從“如何支持移動(dòng)”的角度研究通信,解決移動(dòng)產(chǎn)生的特殊問(wèn)題。在數(shù)據(jù)傳輸過(guò)程中,發(fā)送方需得到接收方的

66、當(dāng)前位置才可與之傳輸。在基于移動(dòng)代理的計(jì)算機(jī)環(huán)境中,由于移動(dòng)代理的位置可能經(jīng)常變動(dòng),因此代理之間進(jìn)行數(shù)據(jù)傳輸需要考慮以下問(wèn)題:</p><p>  (1)移動(dòng)代理的命名</p><p>  即分布式環(huán)境代理標(biāo)識(shí)的一致性。</p><p>  (2)移動(dòng)代理的定位</p><p>  移動(dòng)代理的定位,即數(shù)據(jù)傳輸時(shí),發(fā)送方如何知道接收方的當(dāng)前位置

67、。</p><p> ?。?)移動(dòng)數(shù)據(jù)傳輸?shù)目煽啃?lt;/p><p>  一般而言,移動(dòng)代理系統(tǒng)通過(guò)消息交換以實(shí)現(xiàn)代理數(shù)劇傳輸。數(shù)據(jù)傳輸失效現(xiàn)象是指在特定條件約束下的信件不能到達(dá)或不能及時(shí)到達(dá)接收者的一種現(xiàn)象。在移動(dòng)代理系統(tǒng)中,由于代理的移動(dòng),容易引發(fā)數(shù)據(jù)傳輸失效問(wèn)題,即當(dāng)消息發(fā)送給目標(biāo)代理是,移動(dòng)代理發(fā)生了移動(dòng),未能接收到消息。無(wú)論接收消息的代理遷移頻率有多快,消息必須保證能夠到達(dá)這個(gè)代理

68、。但在移動(dòng)代理的數(shù)據(jù)傳輸環(huán)境中,由于代理的自主移動(dòng)特性,常會(huì)導(dǎo)致消息被發(fā)送到某一網(wǎng)絡(luò)節(jié)點(diǎn)但接收者已經(jīng)離開(kāi)而無(wú)法收到該消息。這種因?yàn)閿?shù)據(jù)傳輸主體物理位置發(fā)生變化而造成的數(shù)據(jù)傳輸不正?,F(xiàn)象,稱為移動(dòng)數(shù)據(jù)傳輸失效。值得注意的是,在代理移動(dòng)非??斓那闆r下,消息可能追隨目標(biāo)代理在網(wǎng)絡(luò)各節(jié)點(diǎn)見(jiàn)游蕩永遠(yuǎn)無(wú)法送達(dá)而產(chǎn)生消息追逐現(xiàn)象。移動(dòng)數(shù)據(jù)傳輸失效和消息追逐都與網(wǎng)絡(luò)和節(jié)點(diǎn)故障無(wú)關(guān),是純粹由代理移動(dòng)造成的,它們使得協(xié)作中的代理不能及時(shí)得到協(xié)同信息,從而導(dǎo)

69、致協(xié)作的失敗甚至造成整個(gè)系統(tǒng)崩潰,是移動(dòng)代理系統(tǒng)的致命缺陷。</p><p>  移動(dòng)代理的數(shù)據(jù)傳輸?shù)目煽啃?,包括兩個(gè)方面,一是在目標(biāo)代理移動(dòng)式,如何處理發(fā)送給它的消息,例如,如果確定了目標(biāo)代理的當(dāng)前位置以后,在把消息發(fā)送給它過(guò)程中,目標(biāo)代理又發(fā)生了移動(dòng),這時(shí)該如何處理發(fā)送過(guò)程中的消息。如何保證消息最終傳遞給目標(biāo)代理。二是,如何防止消息追逐現(xiàn)象的發(fā)生。</p><p>  (4)移動(dòng)代理的

70、數(shù)據(jù)傳輸?shù)囊苿?dòng)自由。</p><p>  移動(dòng)代理是一個(gè)自主的智能體,因此數(shù)據(jù)傳輸機(jī)制應(yīng)當(dāng)盡量少限制代理的遷移,一保證其遷移的數(shù)據(jù)傳輸自由即異步性。</p><p> ?。?)數(shù)據(jù)傳輸模型的穩(wěn)定性。</p><p>  這里指的是發(fā)生突發(fā)事件(例如某一重要節(jié)點(diǎn)突然崩潰或代理意外死亡)時(shí),數(shù)據(jù)傳輸機(jī)制如何對(duì)它進(jìn)行處理。主機(jī)離線,數(shù)據(jù)傳輸機(jī)制如何對(duì)它處理。</p&

71、gt;<p>  目前移動(dòng)代理數(shù)據(jù)傳輸機(jī)制未能很好的解決動(dòng)態(tài)移動(dòng)代理的定位,傳輸可靠性,穩(wěn)定性等問(wèn)題。廣播法嚴(yán)重占用帶寬,并且不能保證消息的可靠傳遞。遷移路徑轉(zhuǎn)發(fā)機(jī)制雖然可以實(shí)現(xiàn)不存在單點(diǎn)失效的位置透明傳輸,單數(shù)代理每遷移到下個(gè)位置都留下前指對(duì)象,系統(tǒng)資源開(kāi)銷(xiāo)較大,且追蹤時(shí)需要進(jìn)行多次轉(zhuǎn)發(fā),耗費(fèi)時(shí)間和帶寬。另外由于代理位置追蹤需依賴多個(gè)前指對(duì)象,其中任何一個(gè)丟失都將導(dǎo)致失去代理蹤跡。而且由于沒(méi)有消息緩存機(jī)制,代理遷移過(guò)程中

72、發(fā)往它的消息可能丟失,不能保證消息的可靠傳遞。而home轉(zhuǎn)發(fā)機(jī)制中,由于home故障容易導(dǎo)致數(shù)據(jù)傳輸失效而且容易造成瓶頸。</p><p>  在代理標(biāo)識(shí)的一致性和數(shù)據(jù)傳輸失效問(wèn)題上,廣播法和遷移轉(zhuǎn)發(fā)機(jī)制不能實(shí)現(xiàn)應(yīng)用級(jí)上系統(tǒng)提供的位置透明的命名和名字解析機(jī)制,home轉(zhuǎn)發(fā)機(jī)制提供了位置透明的命名和名字解析機(jī)制,但是消息只能在代理處于靜止?fàn)顟B(tài)時(shí)才能發(fā)送,這種處理方法雖能解決數(shù)據(jù)傳輸失效問(wèn)題單頁(yè)可能引起消息的丟失,并

73、會(huì)給消息發(fā)送方增加負(fù)擔(dān)。</p><p>  在穩(wěn)定性上,多數(shù)模型在這個(gè)問(wèn)題上考慮的不多,有少數(shù)模型對(duì)主機(jī)意外離線,崩潰等情況造成的無(wú)效代理用能量機(jī)制進(jìn)行了控制。能量機(jī)制的思想史,給每個(gè)代理賦予一定的能量,移動(dòng)代理只要使用系統(tǒng)軟硬件資源(如主機(jī)提供的服務(wù)、cpu時(shí)間、內(nèi)存等)時(shí),都需要消耗能量。也就是說(shuō),能量限制了移動(dòng)代理使用資源的能力。當(dāng)其能量遞減到某一域值時(shí),就會(huì)向生成主機(jī)申請(qǐng)新的能量,如果申請(qǐng)不到新的能量,

74、移動(dòng)代理就會(huì)因?yàn)槟芰亢谋M稱為孤兒而死亡。該機(jī)制雖能進(jìn)行孤兒代理檢測(cè)能力,但是由于主機(jī)軟硬件環(huán)境的不同、代理使用資源的不同,使得能量值該被賦予多少、每次使用不同的資源該減掉多少都是難以確定的問(wèn)題。</p><p>  3.2 解決辦法分析</p><p>  (1)移動(dòng)代理的命名</p><p>  本文采用全局的、與位置無(wú)關(guān)的命名方法對(duì)代理進(jìn)行統(tǒng)一命名。</p

75、><p> ?。?)移動(dòng)代理的定位</p><p>  本文尋址機(jī)制采用邏輯名到物理位置的映射機(jī)制。發(fā)送者向另一個(gè)移動(dòng)代理發(fā)送消息時(shí),不需要知道接收消息的移動(dòng)代理的物理位置,只要知道其唯一的標(biāo)識(shí)“邏輯名”即可。邏輯名到物理位置的映射過(guò)程由系統(tǒng)來(lái)完成。當(dāng)尋址成功后,保存目標(biāo)代理,與目標(biāo)代理進(jìn)行點(diǎn)對(duì)點(diǎn)通信。當(dāng)通信地址過(guò)期后,在重新尋址定位。</p><p>  (3)數(shù)據(jù)傳

76、輸?shù)目煽啃院鸵苿?dòng)自由</p><p>  本文引入了一種多郵箱存儲(chǔ)轉(zhuǎn)發(fā)機(jī)制。用郵箱來(lái)保存移動(dòng)代理遷移時(shí)發(fā)給移動(dòng)代理的消息以及發(fā)送給移動(dòng)代理的過(guò)程中移動(dòng)代理又發(fā)生遷移時(shí)的消息。同時(shí)通過(guò)設(shè)置數(shù)據(jù)傳輸頻率和遷移頻率來(lái)避免消息追逐現(xiàn)象。這樣在保證數(shù)據(jù)傳輸?shù)目煽啃缘耐瑫r(shí),最大限度地保證了移動(dòng)代理的移動(dòng)自由。</p><p>  (4)數(shù)據(jù)傳輸模型的穩(wěn)定性</p><p>  

77、本文引入步長(zhǎng)和生存時(shí)間的檢測(cè)機(jī)制,來(lái)實(shí)現(xiàn)對(duì)主機(jī)離線、崩潰的處理,同時(shí)實(shí)現(xiàn)了代理意外死亡的資源回收。逐句短期離線是的消息由域消息緩沖池緩存,主機(jī)長(zhǎng)期離線造成的無(wú)效移動(dòng)代理、郵箱和消息會(huì)因?yàn)椴介L(zhǎng)或生存時(shí)間結(jié)束而死亡,被系統(tǒng)清除。具體實(shí)現(xiàn)過(guò)程在下一章提出的數(shù)據(jù)傳輸機(jī)制中進(jìn)一步闡述。</p><p><b>  3.3 本章小結(jié)</b></p><p>  本章分析了現(xiàn)有的基

78、于移動(dòng)代理的可靠數(shù)據(jù)傳輸機(jī)制存在的問(wèn)題,并提出了解決問(wèn)題的思路。</p><p>  第4章 一種移動(dòng)代理的可靠數(shù)據(jù)傳輸機(jī)制及應(yīng)用</p><p>  4.1 系統(tǒng)的命名機(jī)制</p><p>  把移動(dòng)代理網(wǎng)絡(luò)劃分為樹(shù)狀的多個(gè)域。通常劃分的原則是保證域內(nèi)主機(jī)間的數(shù)據(jù)傳輸速度快,網(wǎng)絡(luò)帶寬高,位于一個(gè)域內(nèi)的主機(jī)之間的網(wǎng)絡(luò)連接與屬于不同域的主機(jī)之間的網(wǎng)絡(luò)連接相比,帶寬要大

79、得多,延遲要小得多,一般可以把同一個(gè)局域網(wǎng)內(nèi)的主機(jī)劃分為一個(gè)域;移動(dòng)代理到達(dá)一個(gè)域內(nèi)的主機(jī)后,訪問(wèn)該域其他主機(jī)的概率比較大。有一個(gè)域服務(wù)器DS,負(fù)責(zé)管理域內(nèi)所有代理。如代理的注冊(cè),注銷(xiāo),查詢,安全認(rèn)證等服務(wù)。域服務(wù)器可由一臺(tái)高性能主機(jī)擔(dān)任。</p><p>  系統(tǒng)使用全局的、與位置無(wú)關(guān)的命名方法對(duì)代理進(jìn)行統(tǒng)一命名。代理的標(biāo)識(shí)應(yīng)該保證其應(yīng)用范圍內(nèi)的唯一性,同時(shí)在代理的生命周期中應(yīng)保持不變,而不應(yīng)該隨其位置的改變而

80、發(fā)生變化。采用的方法是用代理所屬域名、代理主機(jī)名和一個(gè)用戶提供的字符串來(lái)標(biāo)識(shí)一個(gè)代理。代理所屬域名是創(chuàng)建代理主機(jī)所在的域名,在系統(tǒng)中唯一。代理主機(jī)名是創(chuàng)建代理的主機(jī)名,就有唯一性。這樣,在不同的域創(chuàng)建的代理不可能具有相同的標(biāo)識(shí),同一域中不同的主機(jī)上創(chuàng)建的代理也不可能具有相同的標(biāo)識(shí),而同一臺(tái)主機(jī)上創(chuàng)建的代理則由用戶提供的字符串來(lái)區(qū)分。通過(guò)這種命名方式,我們保證了移動(dòng)代理的命名的唯一性。</p><p><b&

81、gt;  4.2 工作流程</b></p><p>  4.2.1 移動(dòng)代理的創(chuàng)建</p><p>  當(dāng)需要完成某一個(gè)特定的任務(wù)或工作時(shí),用戶把有關(guān)的一些參數(shù)(代理名 <一個(gè)字符串>、生存時(shí)間TTL、步長(zhǎng)Step等)傳遞給主機(jī)Controller。Controller的創(chuàng)建機(jī)制會(huì)根據(jù)這些參數(shù),生成一個(gè)代理,并賦予代理一個(gè)全網(wǎng)唯一的邏輯名,把邏輯名,ADR,Body

82、,BirthTime,Step, TTL等信息發(fā)送給本域服務(wù)器,存儲(chǔ)到本域出生代理信息表BT中,狀態(tài)置為“在線”。</p><p>  圖4-1創(chuàng)建代理時(shí)注冊(cè)</p><p>  4.2.2 移動(dòng)代理的遷移</p><p>  移動(dòng)代理的遷移過(guò)程:</p><p> ?。?)遷移前檢查遷移估計(jì)值P是否達(dá)最高值W:如果達(dá)到,則不能馬上遷移,必須

83、接收郵箱消息直到擁有的郵箱數(shù)至少減少1才能遷移;如果還沒(méi)達(dá)到,則沒(méi)有該約束。</p><p> ?。?)遷移前檢測(cè)遷往的目標(biāo)主機(jī)是否在線。若在線,轉(zhuǎn)(3)。若離線,則定時(shí)檢測(cè)目標(biāo)主機(jī)是否在線。根據(jù)移動(dòng)代理的實(shí)際情況設(shè)置M時(shí)間,若超過(guò)M時(shí)間檢測(cè)到主機(jī)還未上線,則放棄。M時(shí)間根據(jù)移動(dòng)代理的工作狀態(tài)等可以設(shè)置的很長(zhǎng),也可以設(shè)置得很短。</p><p> ?。?)通知郵箱暫停發(fā)送消息。</p

84、><p>  (4)確保所在主機(jī)有自身郵箱的操作,即主機(jī)上的Controller查詢郵箱信息表MTable判斷移動(dòng)代理是否在主機(jī)上留有郵箱。若主機(jī)上留有該代理的郵箱,則轉(zhuǎn)(5)。若主機(jī)上沒(méi)有該代理郵箱,則新建一個(gè)該代理的郵箱,分配郵箱ID給新郵箱,并在MTable中添加一條新紀(jì)錄,紀(jì)錄該代理的邏輯名和在該機(jī)上的郵箱ID,設(shè)置郵箱生存時(shí)間TTL,并把郵箱的通信地址和生存時(shí)間保存在移動(dòng)代理的ADRMail和TTLMail

85、中。</p><p> ?。?)把AT表中的該移動(dòng)代理對(duì)應(yīng)紀(jì)錄可用標(biāo)志置為“暫不可用”。</p><p> ?。?)代理遷移到目標(biāo)主機(jī)。</p><p><b>  圖4-2遷移過(guò)程</b></p><p>  4.2.3 移動(dòng)代理遷移后注冊(cè)</p><p>  (1)若遷移不成功,或者嘗試再次遷

86、移;或者暫時(shí)放棄遷移。若放棄遷移,把主機(jī)AT表該移動(dòng)代理的可用標(biāo)志置為“可用”,并通知郵箱發(fā)送消息。</p><p>  (2)若遷移成功,則執(zhí)行下面操作。</p><p>  (3)移動(dòng)代理到達(dá)目標(biāo)主機(jī)后,向所在主機(jī)注冊(cè),在主機(jī)AT表中添加該移動(dòng)代理的紀(jì)錄。</p><p>  (4)向所在域服務(wù)器注冊(cè)。如果所在服務(wù)器為生成服務(wù)器,則更新BT表,如果不是,則更新V

87、T表。</p><p>  (5)如果移動(dòng)代理此時(shí)不在生成域,還要向生成域服務(wù)器注冊(cè)。</p><p>  (6)移動(dòng)代理通知其擁有的郵箱發(fā)送消息;通知郵箱中的消息發(fā)送者更新通信地址為移動(dòng)代理的當(dāng)前地址;遷移前所在的主機(jī)更新AT表(刪除AT表中該移動(dòng)代理紀(jì)錄)。</p><p>  (7)如果是域內(nèi)遷移,若所在域消息緩沖池有代理的消息,改為發(fā)往代理當(dāng)前地址。<

88、/p><p>  (8)如果是域間遷移,若遷移前所在域消息緩沖池有代理的消息,改為發(fā)往代理當(dāng)前地址。</p><p>  (9)如果是域間遷移且遷移前的域不是生成域,則刪除遷移前所在域服務(wù)器中該移動(dòng)代理的相關(guān)紀(jì)錄。</p><p>  圖4-2遷移后的注冊(cè)過(guò)程</p><p>  4.2.4 移動(dòng)代理的數(shù)據(jù)傳輸</p><p&

89、gt;  發(fā)送者A與移動(dòng)代理B發(fā)生數(shù)據(jù)傳輸,基本過(guò)程如下。發(fā)送者A發(fā)送消息,分為兩種情況。</p><p>  第一種情況:目標(biāo)代理不是發(fā)送者的Friend。</p><p> ?。?)A所在主機(jī)Controller首先查HDeadAgent 表,如果有紀(jì)錄,轉(zhuǎn)(7)。 </p><p>  (2)檢查代理B是否在本地。如果在AT表中找到有效的數(shù)據(jù)傳輸?shù)刂罚硎灸繕?biāo)

90、代理在本地,直接將消息放到代理B的緩沖消息隊(duì)列中,讓目標(biāo)代理B處理,轉(zhuǎn)(8);若AT中沒(méi)有找到,在MTable中找到,直接將消息放入目標(biāo)代理的郵箱,完成本地的數(shù)據(jù)傳輸,轉(zhuǎn)(8)。否則,轉(zhuǎn)(3)</p><p>  (3)向域服務(wù)器DS發(fā)出尋址消息,在尋址過(guò)程中,B可能屬于本域,也可能屬于外域,DS根據(jù)一定的名字解析機(jī)制向發(fā)送者返回尋址結(jié)果。</p><p>  (4)若返回的是“目標(biāo)已死亡

91、”,則轉(zhuǎn)(6);否則轉(zhuǎn)(5)</p><p> ?。?)若返回的數(shù)據(jù)傳輸?shù)刂匪谥鳈C(jī)在線,則可順利發(fā)送消息,轉(zhuǎn)(8);若離線,則把消息發(fā)送到目標(biāo)數(shù)據(jù)傳輸主機(jī)所在的域服務(wù)器。轉(zhuǎn)(8)。</p><p> ?。?)把該代理添加進(jìn)HDeadAgent表。</p><p> ?。?)刪除掉末發(fā)送消息,轉(zhuǎn)(9)。</p><p> ?。?)把目標(biāo)代理添

92、加為發(fā)送者的好友,保存好友的數(shù)據(jù)傳輸?shù)刂返葦?shù)據(jù)傳輸?shù)挠行r(shí)間設(shè)為T(mén)。</p><p>  (9)數(shù)據(jù)傳輸結(jié)束。</p><p>  圖4-3 數(shù)據(jù)傳輸過(guò)程1</p><p>  第二種情況:目標(biāo)代理是發(fā)送者的好友Friend。</p><p>  發(fā)送者可以利用保存的好友數(shù)據(jù)傳輸好友與目標(biāo)代理直接數(shù)據(jù)傳輸,而不需要像第一種情況一樣尋址后在數(shù)據(jù)

93、傳輸。若好友離線,則將消息發(fā)往好友所在域服務(wù)器。</p><p>  移動(dòng)代理B接收消息的過(guò)程如下。</p><p> ?。?)目標(biāo)主機(jī)從主機(jī)接收暖沖池取出消息。</p><p> ?。?)主機(jī)Controller首先查HDeadAgent表,如果有紀(jì)錄,發(fā)送“目標(biāo)已死亡”給發(fā)送者,轉(zhuǎn)(5)。否則,轉(zhuǎn)(3)。</p><p> ?。?)檢查活

94、動(dòng)代理信息表AT檢測(cè)移動(dòng)代理是否在本地。若在本地,則把消息放到代理B的緩沖消息隊(duì)列中,讓代理B處理,轉(zhuǎn)(5);否則,轉(zhuǎn)(4)。</p><p>  (4)主機(jī)Controller把消息存放到代理B的郵箱中。</p><p><b>  (5)結(jié)束。</b></p><p>  域消息緩沖池中消息的發(fā)送:</p><p>

95、  域服務(wù)器接收到消息時(shí),檢查目標(biāo)代理是否在線,若在線,則按照目標(biāo)代理當(dāng)前的數(shù)據(jù)傳輸?shù)刂钒l(fā)送消息;若離線,則放入暫緩池,并定時(shí)檢測(cè)目標(biāo)代理是否在線,目標(biāo)代理一旦在線,則根據(jù)代理的最新數(shù)據(jù)傳輸?shù)刂钒l(fā)送消息。消息如果超時(shí)則被DS刪除。</p><p>  圖4-4 數(shù)據(jù)傳輸過(guò)程2</p><p>  4.2.5 消息優(yōu)先級(jí)和超時(shí)消息的處理</p><p>  在引入步長(zhǎng)

96、和生存時(shí)間的同時(shí),還引入了消息優(yōu)先級(jí)的概念。</p><p>  在消息中設(shè)定消息優(yōu)先級(jí)屬性值。域消息緩沖池和主機(jī)消息緩沖隊(duì)列及郵箱等都是按優(yōu)先級(jí)別給消息排序。優(yōu)先級(jí)別高的消息會(huì)更快的被處理。實(shí)時(shí)性較強(qiáng)的消息可以設(shè)置高優(yōu)先級(jí),一些用于完成特殊任務(wù)的代理的消息優(yōu)先級(jí)別也可以設(shè)置高些,方便更快、更及時(shí)的完成其使命。</p><p>  用戶根據(jù)需要設(shè)定了消息生存時(shí)間,當(dāng)消息超過(guò)了生存時(shí)間,則是

97、無(wú)效消息,無(wú)效消息應(yīng)該從系統(tǒng)中刪除。域服務(wù)器,主機(jī)等一旦檢測(cè)到超時(shí)消息一律刪除,并發(fā)送“消息超時(shí)通知”給發(fā)送者。</p><p>  4.3 基于移動(dòng)代理可靠傳輸機(jī)制的應(yīng)用</p><p>  這里基于城市公交卡的實(shí)踐背景,讓我的課題研究有了很深認(rèn)識(shí),下面說(shuō)說(shuō)具體實(shí)現(xiàn):</p><p>  4.3.1 路由的選擇</p><p>  如果某個(gè)

98、采集點(diǎn)的直接上級(jí)中心發(fā)生故障時(shí) ,我們可以利用螞蟻算法 ,生成一些攜帶路由信息的 Mobile Agent,通過(guò)它們自主遷移到所有可能的分中心并最終到達(dá)總中心,然后回收,發(fā)現(xiàn)通往總中心的最佳路由。這實(shí)際上是一種簡(jiǎn)化的螞蟻算法,通過(guò)這種方法可以保證備用線路提供較好的QoS服務(wù) 。</p><p>  實(shí)際系統(tǒng)中,在采集點(diǎn)保存當(dāng)前最新的分中心IP地址列表,由應(yīng)用程序向這些地址發(fā)送 Route Agent.。Route

99、 Agent是從系統(tǒng)的基本類(lèi)Aglet派生出來(lái)的路由尋找類(lèi),它繼承Aglet的遷移能力,并增加了獲取沿某個(gè)給定路由遷移并返回所花費(fèi)的時(shí)間,以及記錄沿途經(jīng)過(guò)的節(jié)點(diǎn)的網(wǎng)絡(luò)狀態(tài)的方法。</p><p>  Routine Agent的偽代碼如下:</p><p>  Class routine Agent extends Aglet</p><p><b>  

100、{</b></p><p>  public void on Creation (Object in it) </p><p><b>  {</b></p><p>  itinerary = new Simple Itinerary(this);</p><p>  home = get Aglet Co

101、ntext( ).get Hosting URL ( ).to String( );</p><p><b>  }</b></p><p>  public void on Dispatching(Mobility Event 1)</p><p><b>  {</b></p><p>  di

102、spatch Time = System. Current Time Millis( );</p><p><b>  }</b></p><p>  public void on Arrival(Mobility Event 1) </p><p><b>  {</b></p><p>  ar

103、rive Time = System. Current Time Millis( );</p><p><b>  try</b></p><p><b>  {</b></p><p><b>  獲取當(dāng)?shù)鼐W(wǎng)絡(luò)狀況;</b></p><p>  If (已經(jīng)到達(dá)OCMS)&l

104、t;/p><p>  itinerary. go ( home, " at home" );</p><p><b>  else</b></p><p>  go to Next Node ( ) ;</p><p><b>  }</b></p><p>

105、  catch ( Except I one) </p><p><b>  {</b></p><p>  e. print Stack Trace ( ) ;</p><p><b>  }</b></p><p><b>  }</b></p><p&

106、gt;  public void at Home ( ) {</p><p>  處理獲取的網(wǎng)絡(luò)信息;</p><p><b>  }</b></p><p><b>  }</b></p><p>  待全部Route Agent返回,本地系統(tǒng)根據(jù)對(duì)其攜帶返回的各種信息的分析,就可以選定響應(yīng)時(shí)間最

107、短、最暢通的最佳路由。</p><p>  4.3.3 建立連接</p><p>  在利用Mobile Agent系統(tǒng)發(fā)現(xiàn)最佳路由之后,該采集點(diǎn)就生成一個(gè)用于建立連接的 Mobile Agent沿該最佳路由遷移,沿途在每?jī)蓪?duì)節(jié)點(diǎn)間進(jìn)行建立連接的操作。舉例來(lái)說(shuō),該Mobile Agent從采集點(diǎn)出發(fā)到達(dá)第一個(gè)分中心后,即在此中心為此采集點(diǎn)建立一個(gè)MQ消息隊(duì)列 ,負(fù)責(zé)接收該采集點(diǎn)上傳的數(shù)據(jù);

108、同時(shí)克隆生成一個(gè) Mobile Agent發(fā)送回到采集點(diǎn),通知其該分中心消息隊(duì)列的IP等配置信息,并建立本地消息隊(duì)列。兩端的Mobile Agent協(xié)同工作,完成兩地間隊(duì)列的連接工作,并啟動(dòng)數(shù)據(jù)傳輸。然后此分中心處的 Mobile Agent繼續(xù)沿最佳路由向上遷移,并進(jìn)行類(lèi)似操作,直至將數(shù)據(jù)上傳至總中心。</p><p>  在建立連接過(guò)程中,需要在兩端的主機(jī)上各自生成一個(gè)MQ 腳本,以便Mobile Agent

109、實(shí)現(xiàn)新建隊(duì)列并連接的目的。假設(shè)采集點(diǎn)和分中心的編號(hào)分別是A、B,IP地址分別是xxx.xxx.xxx.xxx、yyy.yyy.yyy.yyy則采集點(diǎn)A 上需建立的腳本conn. bat如下(注釋不包括在腳本中) :</p><p>  DEFINE QLOCAL (QX_A) USAGE ( x mit q) ;</p><p>  ∥建立本地傳輸隊(duì)列QX_A</p><

110、;p>  DEFINE QREMOTE (Q_B) RNAME (Q_B) +;</p><p>  ∥建立一個(gè)名為Q_B的遠(yuǎn)程隊(duì)列,指向遠(yuǎn)端隊(duì)列管理器</p><p>  RQMNAME (QM_B) XMITQ (QX_A) ;</p><p>  ∥QM_B上的本地隊(duì)列Q_B,使用本地傳輸隊(duì)列QX_A</p><p>  DEFI

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論