版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)論文(設(shè)計)</b></p><p> 題 目 基于移動代理的可靠數(shù)據(jù)傳輸機制研究 </p><p> 院 系 計算機系 </p><p> 專 業(yè) 網(wǎng)絡(luò)工程 </p><p> 學生姓名 &
2、lt;/p><p> 學 號 </p><p> 指導教師 </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傳輸機制現(xiàn)狀和不足之處2</p><p> 1.3 論文的研究內(nèi)容及組織結(jié)構(gòu)4</p><p> 第2章 相關(guān)理論4</p><p>
4、2.1 移動代理和移動代理系統(tǒng)4</p><p> 2.1.1 移動代理簡介4</p><p> 2.1.2 移動代理的應(yīng)用及開發(fā)7</p><p> 2.2移動代理系統(tǒng)8</p><p> 2.3 本章小結(jié)10</p><p> 第3章 移動代理的數(shù)據(jù)傳輸機制11</p><
5、p> 3.1 移動代理的數(shù)據(jù)傳輸問題11</p><p> 3.2 解決辦法分析12</p><p> 3.3 本章小結(jié)12</p><p> 第4章 一種移動代理的可靠數(shù)據(jù)傳輸機制及應(yīng)用13</p><p> 4.1 系統(tǒng)的命名機制13</p><p> 4.2 工作流程13</p
6、><p> 4.2.1 移動代理的創(chuàng)建13</p><p> 4.2.2 移動代理的遷移14</p><p> 4.2.3 移動代理遷移后注冊15</p><p> 4.2.4 移動代理的數(shù)據(jù)傳輸16</p><p> 4.2.5 消息優(yōu)先級和超時消息的處理17</p><p>
7、 4.3 基于移動代理可靠傳輸機制的應(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 未來工作的展望21</p><p><b> 致謝21</b></p><p><b> 參考文獻22</b></p><p> 基于移動代理的可靠數(shù)據(jù)傳輸機制研究</p><p> 摘要:移動代理是
9、近年來引起研究人員關(guān)注的分布式計算模型。可靠數(shù)據(jù)傳輸是移動代理系統(tǒng)的關(guān)鍵技術(shù)之一,系統(tǒng)通過消息交換以實現(xiàn)代理之間的數(shù)據(jù)傳輸。數(shù)據(jù)傳輸可靠性直接影響到整個移動代理系統(tǒng)的性能,如何保證移動代理之間能夠可靠數(shù)據(jù)傳輸是移動代理系統(tǒng)的一個研究重點。本文在分析了現(xiàn)有的移動代理傳輸機制的基礎(chǔ)上,將移動代理名字解析機制與多郵箱機制相結(jié)合,提出一種可靠靈活的移動代理數(shù)據(jù)傳輸機制。數(shù)據(jù)傳輸機制利用域服務(wù)器和移動代理系統(tǒng)的數(shù)據(jù)傳輸部件相結(jié)合來實現(xiàn)移動代理的尋
10、址,對于消息傳遞,則使用基于多郵箱的消息緩存和轉(zhuǎn)發(fā)機制來緩沖。最后總結(jié)了論文的主要工作,并提出了需要進一步研究的問題。</p><p> 關(guān)鍵詞:移動代理;消息中間件;傳輸機制</p><p><b> 第1章 緒論</b></p><p><b> 1.1 引言</b></p><p>
11、最近二十年來,隨著internet的迅速發(fā)展、計算機的軟硬件技術(shù)和數(shù)據(jù)傳輸技術(shù)的顯著提高,計算機應(yīng)用從集中式、單機式系統(tǒng)走向分布式系統(tǒng)。以單一服務(wù)器為中心的客戶端、服務(wù)器端(c/s)的分布式模型已經(jīng)難以適應(yīng)用戶的要求,于是,出現(xiàn)了面向?qū)ο蟮募夹g(shù)為主要特征的第二代分布式計算技術(shù)。移動代理作為人工智能技術(shù)與移動計算技術(shù)發(fā)展的產(chǎn)物,提供了一種新的分布式方式。移動代理模式主要有降低網(wǎng)絡(luò)負載、克服網(wǎng)絡(luò)延遲、包裝不同的協(xié)議、異步及自主執(zhí)行、動態(tài)適應(yīng)
12、環(huán)境、自然的異構(gòu)性、健壯性和容錯性等優(yōu)點。它克服了低帶寬、高延時對網(wǎng)絡(luò)應(yīng)用普及的限制,成為了新的研究熱點。</p><p> 移動代理的運行環(huán)境為移動代理系統(tǒng),它為代理提供遷移、數(shù)據(jù)傳輸和安全等服務(wù)。同傳統(tǒng)的分布式計算環(huán)境一樣,通信依然是移動代理系統(tǒng)中必須具備的基礎(chǔ)實施之一。移動代理的遷移,移動代理的協(xié)同工作,都需要數(shù)據(jù)傳輸?shù)闹С?,?shù)據(jù)傳輸在移動代理系統(tǒng)中必不可少。</p><p>
13、移動代理可以異步的在不同結(jié)點運行,任務(wù)完成后將結(jié)果傳輸給用戶。由于移動代理典型應(yīng)用時通過計算實體的遷移來實現(xiàn)對資源的本地獲取,讓人們認為移動代理中比較重要的應(yīng)該是本地數(shù)據(jù)傳輸,而忽視與一個遠程移動代理的數(shù)據(jù)傳輸?shù)闹匾?,認為只需提供對資源的獲取和與本地代理的數(shù)據(jù)傳輸支撐平臺即可。而實際上,移動代理能夠根據(jù)應(yīng)用需要自己選擇什么時候遷移到哪里,而不需要統(tǒng)一的調(diào)度。例如,用戶可以創(chuàng)建多個代理,讓它們同時在一個若干個結(jié)點上運行,形成并行求解的能
14、力。當一個任務(wù)需要多個代理協(xié)作完成時,代理之間的通信就成為了解決問題的關(guān)鍵,需要移動代理支撐環(huán)境提供有效的遠程數(shù)據(jù)傳輸機制。數(shù)據(jù)傳輸?shù)目煽啃詻Q定了任務(wù)完成的質(zhì)量。</p><p> 由此可見,移動代理的數(shù)據(jù)傳輸直接影響到整個移動代理系統(tǒng)的性能,是影響移動代理系統(tǒng)解決問題能力的重要因素。</p><p> 1.2傳輸機制現(xiàn)狀和不足之處</p><p> 代理的協(xié)
15、同體現(xiàn)為若干個移動代理可在網(wǎng)絡(luò)中相互協(xié)作并合作完成某一任務(wù),主要包括功能互通、協(xié)作聯(lián)盟模式和數(shù)據(jù)傳輸3個層次。功能互通涉及語義層次,目前的工作只停留在理論研究方面。協(xié)作聯(lián)盟模式對于多代理系統(tǒng)的構(gòu)造具有重要意義,面向應(yīng)用領(lǐng)域的協(xié)同模式的研究可能是一條有效的途徑。目前對移動代理協(xié)同性的支持主要集中于數(shù)據(jù)傳輸機制的研究。</p><p> 由移動代理移動產(chǎn)生的可靠數(shù)據(jù)傳輸問題是移動代理系統(tǒng)特有的問題。目前集中針對移動
16、代理的數(shù)據(jù)傳輸研究也并不多,但一些移動代理整體框架的設(shè)計方案或多或少涉及到了對數(shù)據(jù)傳輸機制的研究,目前用于解決數(shù)據(jù)傳輸失效的主要方法可分為兩大類,一類是“移動受限的方法”,另一類是“移動自有的方法?!毕旅鎸@二種方法進行介紹。</p><p> 1.“移動受限的方法”。</p><p> 移動受限的方法將“數(shù)據(jù)傳輸”和“移動”看作兩個互斥的過程,保證它們被“串行處理”,即在數(shù)據(jù)傳輸?shù)倪^
17、程中不發(fā)生移動,在移動的過程中不發(fā)生數(shù)據(jù)傳輸,從而避免數(shù)據(jù)傳輸失敗。D’AGENT的早期版本Agenttcl采用該方法。</p><p> 面向會話的數(shù)據(jù)傳輸也是這種方法。面向會話的數(shù)據(jù)傳輸提出了“會話的數(shù)據(jù)傳輸”想法,采取“請求—應(yīng)答”方式,在一對互相知道對方地方的代理之間的數(shù)據(jù)傳輸。如果其中一方要求移動必須等到收到應(yīng)答,會話結(jié)束以后。Mole系統(tǒng)采納了這種面向會話數(shù)據(jù)傳輸?shù)乃枷?,并對?shù)據(jù)傳輸?shù)氖Ъ皩⑹?/p>
18、息就地保存,待目標代理返回時在交付。</p><p> 南京大學的Mogent系統(tǒng)實際上也沿用了這種思想,引入了代理“狀態(tài)”的概念。Mogent的數(shù)據(jù)傳輸原理如下所示。</p><p> Mogent的每個節(jié)點有communicator,還設(shè)計了一個Home模板,用于記錄在本節(jié)點上“出生”的代理當前所在節(jié)點的地址和當前的狀態(tài)。Communicator則為在本節(jié)點所有Agent記錄對應(yīng)的
19、“在途信件數(shù)”,用于表示已發(fā)送給某個Agent但仍然在途中的消息個數(shù)。A如果發(fā)送給B,首先把消息交給ca,ca向B的出生地HB,查詢B的當前地址,如果B是“靜止態(tài)”,直接返回B的地址,并向Cb發(fā)送控制信息通知其將b對應(yīng)的“在途信件數(shù)”加1;如果b的狀態(tài)為“移動態(tài)”,則將該請求放入“尋址信件等待隊列”,等到b的狀態(tài)再返回B的當前地址。Ca得到b的地址后向Cb發(fā)送消息,Cb收到后將“在途信件數(shù)”減1,然后最終把消息交給b。如果b要移動,必須
20、向先向Hb發(fā)生遷移申請,待Hb將B的狀態(tài)由“靜止態(tài)”改為“移動態(tài)”并發(fā)出確認消息后,B檢查Cb上其對應(yīng)的“在途信件數(shù)”,如果為零則可以移動否則等待。B到達新的節(jié)點后立即通知Hb修改器當前地址和狀態(tài)。</p><p> “移動受限的方法”能保證數(shù)據(jù)傳輸?shù)目煽啃裕珦p害了移動代理的自主性。</p><p> 圖1-1 Mogent系統(tǒng)的數(shù)據(jù)傳輸原理</p><p>
21、 2.“移動自由的方法”。</p><p> “移動自由的方法”可分為廣播方式和消息轉(zhuǎn)發(fā)方式。廣播方式的工作原理,如圖所示。發(fā)送消息的代理在傳遞消息之前需要預定知道接收代理當前所在的可能主機,即需要了解接收代理的移動規(guī)律和遷移路線。在掌握目標主機集合后,發(fā)送代理將與發(fā)送的消息向所有這些可能的主機進行廣播。接收代理當前所在的主機發(fā)現(xiàn)消息的接收對象正運行在自己的代理環(huán)境中,則接收改消息并將其轉(zhuǎn)交給目標代理,而其余
22、主機不接受該消息。例如emerald系統(tǒng)就是采用廣播方式作為自己的數(shù)據(jù)傳輸模型。</p><p> 廣播法的最大優(yōu)點就是算法簡單、通信速度快,發(fā)送方只需向所有可能的主機集合廣播消息即可,而無需考慮接收代理當前所在的位子。但這也造成了其難以克服的弱點:發(fā)送方需要預先知道接收代理的移動路線,這就決定了此方法只能適用于小規(guī)模的應(yīng)用,因為在大規(guī)模的應(yīng)用中(如Internet環(huán)境下)這一前提很難滿足。若發(fā)送方在廣播消息時
23、,接收代理正處于遷移狀態(tài),則很可能造成消息丟失。同時發(fā)送方盲目地向多少主機進行廣播,而只有一個主機接收消息,嚴重浪費了網(wǎng)絡(luò)帶寬,資源利用率低,并且給系統(tǒng)的安全性帶來了威脅,容易因消息被竊聽而造成泄密。圓表示網(wǎng)絡(luò)結(jié)點、實線表示消息發(fā)送路徑、虛線表示代理遷移路徑。</p><p> 圖1-2廣播方式的工作原理</p><p> 1.3 論文的研究內(nèi)容及組織結(jié)構(gòu)</p><
24、;p> 本文在對現(xiàn)有的移動代理的傳輸機制進行分析的基礎(chǔ)上,提出了一種更為合理和有效的數(shù)據(jù)傳輸機制具體工作有以下幾個方面:</p><p> 1)研究了國內(nèi)外一些典型的移動代理數(shù)據(jù)傳輸機制,綜合分析了它們的的優(yōu)缺點。</p><p> 2)提出了一種新的通信機制。該機制實現(xiàn)了移動代理的定位、透明尋址、可靠通信,并在一定程度上保證了系統(tǒng)的穩(wěn)定性。</p><p&
25、gt; 3)通過性能分析和模擬實驗,說明了本文提出的數(shù)據(jù)傳輸機制的優(yōu)越性。</p><p> 論文的組織結(jié)構(gòu)如下:</p><p> 第一章,作為緒論,簡述了概述本文的工作內(nèi)容,并闡述了本文的組織。</p><p> 第二章,給出相關(guān)的理論支持,介紹了移動代理和其應(yīng)用。</p><p> 第三章,具體分析移動代理的數(shù)據(jù)傳輸機制的不足
26、和解決辦法。</p><p> 第四章,論文的核心部分。提出了一種新的移動代理可靠通信機制,分析了本機制的特點,并在公交卡系統(tǒng)得到了應(yīng)用實踐。</p><p> 第五章,對本論文的工作做了回顧和總結(jié),并對今后的進一步研究工作做了展望。</p><p><b> 第2章 相關(guān)理論</b></p><p> 2.1
27、移動代理和移動代理系統(tǒng)</p><p> 2.1.1 移動代理簡介</p><p> (1)移動代理的起源與概念</p><p> 代理的研究起源于人工智能領(lǐng)域,是指模擬人類的行為與關(guān)系、具有一定智能并能夠自主運行和提供相應(yīng)服務(wù)的程序。與現(xiàn)在流行的軟件(如對象、構(gòu)件)相比,代理的力度更大,智能化更高。20世紀90年代初General Magic公司在推出商業(yè)系
28、統(tǒng)Telescript時提出了移動代理的概念。隨著計算機網(wǎng)絡(luò)、通信及人工智能等技術(shù)的發(fā)展,代理技術(shù)特別是移動代理技術(shù)已經(jīng)成為網(wǎng)絡(luò)與數(shù)據(jù)傳輸領(lǐng)域十分活躍的前沿研究課題。</p><p> 移動代理的定義如下:</p><p> 移動代理是一獨立計算機程序,它可自主地在異構(gòu)的網(wǎng)絡(luò)上,按照一定的規(guī)程移動,尋找合適的計算資源、信息資源或軟件資源,;利用與這些資源處于同一主機或網(wǎng)絡(luò)的優(yōu)勢,就近處
29、理或使用這些資源,代表用戶完成特定的任務(wù)。</p><p> 它的基本思想是將處理分布到網(wǎng)絡(luò)上,即把代碼送到數(shù)據(jù)所在的地方而不是把數(shù)據(jù)傳輸?shù)酱a所在處。與傳統(tǒng)的客戶/服務(wù)器模型相比,在移動代理計算環(huán)境中,計算實體不是單純靜止和被動的,而是能夠自主遷移的代理。計算任務(wù)封裝在代理的內(nèi)部,通過代理在多個位置遷移并與其他代理交換、協(xié)作來完成任務(wù)。</p><p> ?。?)移動代理的特征<
30、/p><p> 實際上移動代理是代理技術(shù)與分布式計算技術(shù)的混血兒。它融合了分布式計算領(lǐng)域中的分布式對象技術(shù)、軟件代理和移動代碼技術(shù)(如java),因而突破了傳統(tǒng)的分布式計算模式的諸多限制,為分布式計算帶來了新的計算模式和思路。</p><p> 移動代理是代碼、數(shù)據(jù)以及執(zhí)行語境的軟件包,可以在網(wǎng)絡(luò)中個主機之間自由移動,在某個執(zhí)行環(huán)境中被創(chuàng)建后,移動代理可攜帶自身狀態(tài)和代碼在網(wǎng)絡(luò)中轉(zhuǎn)系到另一
31、環(huán)境中去,并可在該環(huán)境中恢復執(zhí)行。其中“狀態(tài)”是指代理在異地目標環(huán)境中恢復執(zhí)行時所需的屬性值,而“代碼”是代理執(zhí)行的必要條件。</p><p> 移動代理不同于遠程執(zhí)行,移動代理能夠不斷的從一個網(wǎng)絡(luò)位置移動到另一個位置,能夠根據(jù)自己的選擇進行移動。移動代理不同于進程遷移,一般來說進程遷移系統(tǒng)不允許進程選擇什么時候遷移和遷移到哪里,而移動代理可以在客戶和服務(wù)器之間雙向移動。</p><p>
32、; 移動代理是一種新興的技術(shù),可有效的簡化分布式系統(tǒng)的設(shè)計、實現(xiàn)和維護。移動代理計算模式能有效地降低分布式計算中的網(wǎng)絡(luò)負載、提高通信效率、支持異步及自己交互、支持非連接互操作、可動態(tài)自適應(yīng)。</p><p> 移動代理的具體特征表現(xiàn)在如下幾個方面:</p><p> ?。á瘢┕?jié)約網(wǎng)絡(luò)帶寬、克服網(wǎng)絡(luò)延遲。移動代理的本質(zhì)是將計算移動到數(shù)據(jù)端,直接在數(shù)據(jù)段進行本地處理,只返回最終結(jié)果,避免了
33、大量中間數(shù)據(jù)在通信兩端的傳輸。分布式系統(tǒng)通常依賴于通信協(xié)議,這些協(xié)議在完成給定的任務(wù)的過程中涉及多次交互行為,這將導致網(wǎng)絡(luò)交通擁擠,如下圖所示。</p><p> 圖2-1基于rcp方式和移動代理方式</p><p> 移動代理一次可以攜帶多個服務(wù)請求移動到服務(wù)器端進行行本地調(diào)用,即可以將一個會話過程打包,然后將其派遣到目的主機上去進行本地交互。避免了多次遠程調(diào)用,從而節(jié)省了每次遠程調(diào)
34、用的網(wǎng)絡(luò)延遲。此外當進行遠地主機的大量數(shù)據(jù)處理時,從而節(jié)省了每次遠程調(diào)用的網(wǎng)絡(luò)延遲。此外當進行遠地主機的大量數(shù)據(jù)處理時,這些數(shù)據(jù)也不應(yīng)在網(wǎng)絡(luò)上大批移動,因而在本地被處理完成。因此在處理的數(shù)據(jù)量大、通信兩端交互頻繁、帶寬不足的情況下,這種把計算移動到數(shù)據(jù)上進行的思想大大節(jié)省了所占用的網(wǎng)絡(luò)帶寬減少的時延。</p><p> (Ⅱ)支持實時遠程交互。在一些遠程控制系統(tǒng)中,如工業(yè)控制、海底探測器控制、外太空探測器的控制
35、、有毒環(huán)境中的監(jiān)控,實時性非常重要,但是網(wǎng)絡(luò)的延遲使遠程實時控制變得不太可能。將移動代理發(fā)送到遠端系統(tǒng),代替人在遠端完成各種控制活動,可以從根本上解決網(wǎng)絡(luò)延遲問題。</p><p> ?。á螅┓庋b網(wǎng)絡(luò)協(xié)議。任何網(wǎng)絡(luò)程序都是建立在特定的協(xié)議之上,網(wǎng)絡(luò)程序的開發(fā)要求程序設(shè)計者深刻地理解低層的網(wǎng)絡(luò)協(xié)議。隨著Internet的發(fā)展,新的協(xié)議和數(shù)據(jù)格式不斷地產(chǎn)生,睡著網(wǎng)絡(luò)協(xié)議的升級,程序需要重新編寫、編譯,這些都給網(wǎng)絡(luò)應(yīng)用
36、的開發(fā)和維護帶來困難移動代理系統(tǒng)是一種中間件,位于操作系統(tǒng)和應(yīng)用程序之間他封裝了低層網(wǎng)絡(luò)協(xié)議提供移動、通信、容錯和安全等基本功能,開發(fā)人員無須了解低層時間即可開發(fā)網(wǎng)絡(luò)應(yīng)用。當網(wǎng)絡(luò)協(xié)議升級時,只需修改移動代理系統(tǒng)中相關(guān)的功能實現(xiàn)而無需修改Ma應(yīng)用程序。</p><p> ?。á簦┲С之惒阶灾鲌?zhí)行。傳統(tǒng)分布式系統(tǒng)中異步通信機制(如異步消息隊列)可以異步地處理多個請求,但要求提出請求的客戶端必須始終在線等待并響應(yīng)請求的
37、回答,這對移動客戶而言是不可行的。使用移動代理技術(shù),用戶可以將整個任務(wù)而不是單個請求提交給多個代理去執(zhí)行。這些代理被發(fā)送到網(wǎng)上之后,可以獨立于發(fā)送它們的程序,異步地、自主地、協(xié)作的完成任務(wù),它們的生命周期可以長于創(chuàng)建它們的程序。</p><p> ?。á酰┲С蛛x線計算由于要求移動設(shè)備(筆記本電腦、PDA、手機等)始終保持在網(wǎng)絡(luò)連接在經(jīng)濟上是不可行的,移動設(shè)備連接在技術(shù)上也是不可行的,無線通信的特色要求系統(tǒng)具有離線
38、計算的能力。移動代理技術(shù)可以解決這個問題。用戶派出代理之后,可以斷開網(wǎng)絡(luò)連接,代理在網(wǎng)絡(luò)上自主地運行,當代理完成任務(wù)之后,通過轉(zhuǎn)接機制監(jiān)視用戶是否在線,當它發(fā)現(xiàn)用戶不在線時,就返回計算結(jié)果如下圖所示:</p><p> 圖2-2 移動代理支持離線計算</p><p> ?。á觯┲С制脚_無關(guān)性。移動代理的運行只和其運行環(huán)境有關(guān),和具體的網(wǎng)絡(luò)結(jié)構(gòu)、網(wǎng)絡(luò)協(xié)議、計算機設(shè)備、操作系統(tǒng)無關(guān),只要網(wǎng)絡(luò)
39、節(jié)點上裝有移動代理運行環(huán)境,移動代理就可以實現(xiàn)跨平臺的移動和運行。如果所有的移動代理系統(tǒng)都遵循移動代理系統(tǒng)的互操作標準,就可以實現(xiàn)Ma在任意移動代理系統(tǒng)中的移動、交互和通信,真正實現(xiàn)平臺的無關(guān)性。</p><p> (Ⅶ)具有動態(tài)適應(yīng)性。移動代理和其運行的環(huán)境進行交互,感知環(huán)境的變化,并自主的、快速的做出反應(yīng),使整個系統(tǒng)始終保持在最優(yōu)狀態(tài)。</p><p> (Ⅷ)提供個性化服務(wù)。來自
40、不同的民族和地區(qū),有著不同的文化背景他們對信息的需求和使用方式有著很大的差異,這就要求Internet進行個性化服務(wù)。使用移動代理技術(shù),用戶可以根據(jù)服務(wù)器端提供的低層操作函數(shù),編寫滿足自己特定需要的代理,然后發(fā)送到服務(wù)器端運行,利用服務(wù)端的數(shù)據(jù)資源或計算資源為不同的用戶服務(wù),有效的增加服務(wù)器功能的伸縮性。</p><p> ?。á┰鰪姂?yīng)用的強壯性和容錯能力。移動代理支持離線計算,起反應(yīng)性使之能及時的感知網(wǎng)絡(luò)節(jié)點
41、的失效,其自主性可以使它自主地處理并修正錯誤,更容易建立容錯能力強的分布式系統(tǒng)。例如,在一個網(wǎng)絡(luò)節(jié)點失敗之前,在其工作的移動代理可以立即感知,并完成相應(yīng)的備份工作,然后移動到其他節(jié)點,繼續(xù)原來的工作。</p><p> 2.1.2 移動代理的應(yīng)用及開發(fā)</p><p> 在現(xiàn)實問題的解決方案中,代理雖然只是眾多方案中的一個備選方案,然而由于代理模型的獨特性,應(yīng)用移動代理有如下優(yōu)點:減少
42、網(wǎng)絡(luò)流量、降低網(wǎng)絡(luò)延遲、封裝應(yīng)用協(xié)議、異步自主的運行、動態(tài)適應(yīng)、健壯性。因而它非常適合應(yīng)用在下述領(lǐng)域。</p><p> (1)電子商務(wù)。電子交易對股票價格等實時信息非常敏感。在電子交易中,通常需要實時訪問遠程的資源如庫存配額,有時甚至需要協(xié)商。在代理解決方法中,不同的代理有不同的目標,執(zhí)行不同的策略以實現(xiàn)各自的目標。代理體現(xiàn)它的創(chuàng)建者的意圖,并代表它的創(chuàng)建者進行商務(wù)活動。因此,在這類問題中,代理是個很好的解決
43、文案。</p><p> (2)個人助理。移動代理具有遷移到遠地機器執(zhí)行的能力,所以可以在遠程主機上運行,代表它的創(chuàng)建者在網(wǎng)絡(luò)中完成某些任務(wù),而不需要保持網(wǎng)絡(luò)一直連通。例如會議日程的安排,會議的參與者通過發(fā)送移動代理來協(xié)商日程的安排。</p><p> (3)安全代理。在參與協(xié)作的各方互不信任的時候,可以用代理代表參加的各方在共同信任的第三方主機進行協(xié)作。</p><
44、;p> (4)信息獲取(分布式信息檢索):這是移動代理常見的應(yīng)用領(lǐng)域,代理派遣到遠地信息源取搜索信息,并創(chuàng)建搜索索引,再把索引返回到本地,從而避免搜索引擎將大塊數(shù)據(jù)移動到本地后才建立索引引起的數(shù)據(jù)大量傳輸,而且在離線時可以繼續(xù)搜索。</p><p> (5)通信網(wǎng)絡(luò)管理。對于復雜的通信網(wǎng)絡(luò)管理需要動態(tài)的、客戶化的配置。由于網(wǎng)絡(luò)的龐大而復雜,因而要獲得高效率是一件非常困難的事情。;利用移動代理作為網(wǎng)絡(luò)各功
45、能部件的粘合劑可以使得網(wǎng)絡(luò)的管理既靈活又高效。</p><p> (6)工作流系統(tǒng)(工作流應(yīng)用程序)。工作流應(yīng)用程序在本質(zhì)上是共同工作者之間的信息流動。由于移動代理的移動和自治性,使得它非常適合此類的應(yīng)用。</p><p> (7)其實。由于移動代理的特性,它也非常適合于監(jiān)視應(yīng)用程序、入侵檢測系統(tǒng)、GIS系統(tǒng)、移動數(shù)據(jù)庫系統(tǒng)信息分發(fā)及并行處理以及用移動代理來求解的一些數(shù)學問題等。<
46、;/p><p> 總之,移動代理特別適合于解決傳統(tǒng)方法中要么代價過于昂貴,要么就解決不了的問題,如數(shù)據(jù)、控制、專家知識或資源分布問題,使大量的數(shù)據(jù)處理可在數(shù)據(jù)源進行(因為移動代理是可以移動的),只須交換少量的高層信息,就可以減少了大量原始數(shù)據(jù)傳送到遠地的操作,提高了網(wǎng)絡(luò)的利用率。如需要人性化的問題,由于移動代理具有觀察力、主動適應(yīng)能力,而不是通過一些預先嚴格確定的接口函數(shù)與外界進行交互作用,能根據(jù)目標主動規(guī)范化自己
47、的行為,使用戶界面達到“人性化”。如需要集成的問題,通過給舊系統(tǒng)上包裝一層代理外殼,其他系統(tǒng)可以調(diào)用舊系統(tǒng)的功能。</p><p> 運用移動代理技術(shù)開發(fā)應(yīng)用系統(tǒng)一般有以下幾個步驟。</p><p> (1)分析系統(tǒng)的特點,選擇合適的實現(xiàn)技術(shù)。決定哪些采用移動代理實現(xiàn),哪些采用其他方法實現(xiàn)。</p><p> (2)進行移動代理的功能設(shè)計。確定系統(tǒng)中決定用代理
48、技術(shù)實現(xiàn)部分的數(shù)據(jù)和功能,移動代理間明確分工后,應(yīng)當根據(jù)各自功能確定內(nèi)部數(shù)據(jù)。移動代理的內(nèi)部數(shù)據(jù)應(yīng)盡可能少,這樣可以減少移動帶來的網(wǎng)絡(luò)負擔。</p><p> (3)進行代理的接口設(shè)計。代理的接口設(shè)計非常關(guān)鍵,它往往是系統(tǒng)性能好壞的關(guān)鍵。這時,既要考慮系統(tǒng)中的代理間交互方式,又要考慮代理與非代理部分的交互方式。</p><p> (4)進行代理的詳細設(shè)計。應(yīng)了解目前移動移動代理平臺各自
49、的優(yōu)缺點,選擇適合的平臺。</p><p> (5)代理的運行和維護。目前由于移動代理可靠性還不高,維護工作特別重要。</p><p><b> 2.2移動代理系統(tǒng)</b></p><p> 移動代理結(jié)構(gòu)和一些關(guān)鍵技術(shù)</p><p><b> ?。?)移動代理系統(tǒng)</b></p>
50、<p> 移動代理系統(tǒng)由兩部分組成:移動代理和移動代理服務(wù)器設(shè)施(或稱移動代理服務(wù)器)。移動代理服務(wù)設(shè)施基于代理傳輸協(xié)議ATP(agent transfer protocol)實現(xiàn)。代理在主機間的轉(zhuǎn)移,并為其分配執(zhí)行環(huán)境和服務(wù)接口;代理在服務(wù)設(shè)施中執(zhí)行,通過ACL(agent communication language)相互通信并訪問服務(wù)設(shè)施提供服務(wù),如下圖所示。</p><p> 移動代理的
51、基本特征是能夠在異構(gòu)的網(wǎng)絡(luò)節(jié)點間移動,并通過與服務(wù)設(shè)施和其他代理協(xié)商獲取、提供服務(wù)來完成全局目標。因此移動代理體系結(jié)構(gòu)必須體現(xiàn)以下需求:</p><p> 跨平臺的語義一致性:移動代理移動過程中的主機可能基于不同的硬件和軟件系統(tǒng),在這些異構(gòu)平臺上具有相同語義的語言才能保證移動代理行為的正確性。</p><p> 支持移動的語義:傳統(tǒng)的負載均衡也能夠?qū)浖M行調(diào)度使之分布在不同主機上執(zhí)行
52、。移動代理與之最大的區(qū)別在移動代理的移動自主決策的結(jié)果,而負載均衡造成的程序轉(zhuǎn)移對軟件是透明和被動的。移動代理的自主性體現(xiàn)在代碼中具有實現(xiàn)轉(zhuǎn)移的語義,類似【move to next host】這樣的語句。轉(zhuǎn)移語義與當前主機協(xié)商,并將控制權(quán)交給代理服務(wù)設(shè)施,由服務(wù)設(shè)施實現(xiàn)代理的封裝和轉(zhuǎn)移。</p><p> 圖2-3移動代理環(huán)境示意圖</p><p> 持久化:移動代理在轉(zhuǎn)移過程中必須保
53、存代碼和當前運行狀態(tài)才能在目標節(jié)點繼續(xù)執(zhí)行,移動代理的以步行也要求保存代理的任務(wù)求解結(jié)果。</p><p> 安全機制:移動性產(chǎn)生的非確定性使安全性成為移動代理的一個重要問題,缺乏安全性會造成惡意代理在網(wǎng)絡(luò)中泛濫或受到惡意主機的侵害。移動代理的安全機制一方而保證自身不受到攻擊,另一方保證自身是非惡性的。</p><p> 移動代理的規(guī)模:由于幾乎全部代碼和狀態(tài)在網(wǎng)絡(luò)中傳輸,代理應(yīng)該限制
54、于中小規(guī)模,否則將喪失網(wǎng)絡(luò)資源方面的優(yōu)勢。</p><p> ?。?)移動代理系統(tǒng)的關(guān)鍵技術(shù)</p><p> 移動代理利用先進的網(wǎng)絡(luò)技術(shù)和基礎(chǔ)設(shè)施提供智能化的服務(wù)和任務(wù)規(guī)劃求解,為了實現(xiàn)這個目標,必須解決好以下幾個關(guān)鍵技術(shù):</p><p> (Ⅰ)移動代理理論模型</p><p> 目前一般基于BDI系統(tǒng),是把代理看作理論性主體,通
55、過信念(belief)、愿望(desire)或意圖(Intention)屬性來預測代理的行為。吧主體看作意識系統(tǒng)的主要好處有如下幾點:</p><p> A:對于設(shè)計者和分析者來說,這樣是自然的。</p><p> B:對于描述復雜系統(tǒng)的行為提供了簡潔的表達,有利于理解和解釋。</p><p> C:不可依賴具有物理實現(xiàn)就可以得到許多主機的規(guī)則和模式。<
56、/p><p> D:可被代理自身用來相互推理。</p><p> ?。á颍┐頂?shù)據(jù)傳輸語言</p><p> ACL基于語言——行為理論(speech act),定義代理及服務(wù)設(shè)施間協(xié)商過程的語法和語義,是實現(xiàn)異構(gòu)系統(tǒng)集成的前提。開放移動代理系統(tǒng)的ACL應(yīng)該具有以下特征:A、應(yīng)用的普遍性;B、簡潔、一致的語法和語義;C、通信內(nèi)容的獨立性等。KQML和HTTP是兩種具
57、有發(fā)展?jié)摿Φ臄?shù)據(jù)傳輸語言,其中KQML主要應(yīng)用于知識處理領(lǐng)域,在Internet/intranet環(huán)境中HTTP具有很好的普遍性和支持能力。</p><p> ?。á螅┐碇R表示語言</p><p> 為了達到異構(gòu)移動代理環(huán)境的集成和互操作,代理知識表示語言與數(shù)據(jù)信息傳輸?shù)姆蛛x式一項關(guān)鍵技術(shù),使面向不同領(lǐng)域的代理應(yīng)用系統(tǒng)基于同一通信語言從而具有潛在的集成和互操作能力。知識表示語言對系統(tǒng)
58、的應(yīng)用領(lǐng)域具有較強的依賴性,美國高級國防計劃署制定的KIF是一種中立的知識交換語言,正成為一種被廣泛采用的移動代理知識表示語言。</p><p><b> (Ⅳ)代理傳輸協(xié)議</b></p><p> 代理傳輸協(xié)議定義了移動代理和傳輸?shù)恼Z言和語義,具體實現(xiàn)了移動代理在服務(wù)設(shè)施間的移動機制。由于移動代理拘束的應(yīng)用剛剛起步,目前并沒有形成國際公認的ATP標準。IBM提
59、出的ATP框架(ATP Framework)定義了一組原語性接口(interface)和基礎(chǔ)消息集,可以看作是一個代理傳輸協(xié)議的最小實現(xiàn)。目前研究的重點是可靠而實時的傳輸。</p><p> ?。á酰┮苿哟淼穆酚刹呗?lt;/p><p> 移動代理的效率很大程度上決定于路由策略的優(yōu)化??尚械穆酚刹呗杂袃煞N,分別為固定路由和基于規(guī)則及目錄服務(wù)的動態(tài)路由。目前,在路由策略中引入Qos(qual
60、ity of service)是一個研究重點</p><p> ?。á觯┮苿哟韺崿F(xiàn)語言</p><p> 移動代理的跨平臺執(zhí)行為實現(xiàn)語言提出了一下要求:A、平臺獨立:具有跨平臺一致的語義,如 java。B、簡潔緊湊使服務(wù)設(shè)施已最小資源代碼提供語言的執(zhí)行環(huán)境。C、支持移動語義:具有特定的語法結(jié)構(gòu)來執(zhí)行轉(zhuǎn)移語義。D、實現(xiàn)語言級的安全機制能夠降低系統(tǒng)的復雜程度。E、動態(tài)性:動態(tài)的實現(xiàn)語言使代
61、理具有必要的靈活性。</p><p> ?。á鳎┫到y(tǒng)性能影響及其測試工具</p><p> 當前的移動代理系統(tǒng)雖然可以減少網(wǎng)絡(luò)負載和克服網(wǎng)絡(luò)延遲,但卻增加了服務(wù)方的主機負載,基于可移植性和安全性方面的原因,代理通常都是采用相對較慢的解釋性語言,并且當?shù)竭_目的地后,必須置入相應(yīng)的運行環(huán)境中才能執(zhí)行。這些原因使得移動代理的執(zhí)行速度低于普通程序。所幸的是,以java為代表的即時編譯(Just
62、in time compilation)取得了很大的進步,使得移動代碼的執(zhí)行速度顯著提高。</p><p> 行能測試方面的工具目前還不很成熟,基本上沒有很好的測試工具。實際評估性能時,一般利用現(xiàn)有的理論如隨機Petri網(wǎng)(把系統(tǒng)協(xié)議用隨機Petri網(wǎng)形式化描述,然后等價成Markov鏈,利用Markov更新方程或者Petri網(wǎng) 工具分析出系統(tǒng)的性能)、著色Petri網(wǎng)等。</p><p&g
63、t;<b> (Ⅷ)容錯策略</b></p><p> 移動代理系統(tǒng)必須考慮到移動過程中可能存在的網(wǎng)絡(luò)故障、服務(wù)設(shè)施故障、長時間停機等情況造成的移動代理破壞和失敗。容錯機制是一種移動代理服務(wù)系統(tǒng)服務(wù)質(zhì)量的重要評估標準,也是移動代理有時得以體現(xiàn)的重要手段。</p><p><b> ?。á┛刂撇呗?lt;/b></p><p&g
64、t; 必須對移動實施有效控制,避免移動代理失控(如不停地復制、遷移等)。另外,為了保證性能,引入負載均衡的機制很有必要。</p><p><b> 2.3 本章小結(jié)</b></p><p> 本章在介紹了代理以及移動代理基本概念和屬性的基礎(chǔ)上,分析了移動代理的系統(tǒng)結(jié)構(gòu)、通信語言、傳輸協(xié)議、容錯策略等關(guān)鍵技術(shù),更進一步的了解了移動代理。從而使我們又理由相信移動代理
65、將成為未來Internet環(huán)境中主流的網(wǎng)絡(luò)技術(shù)。</p><p> 第3章 移動代理的數(shù)據(jù)傳輸機制</p><p> 3.1 移動代理的數(shù)據(jù)傳輸問題</p><p> 移動代理最重要的特點就是可移動性,因此,移動代理技術(shù)需要解決的主要問題之一是信息傳輸機制。本文主要從“如何支持移動”的角度研究通信,解決移動產(chǎn)生的特殊問題。在數(shù)據(jù)傳輸過程中,發(fā)送方需得到接收方的
66、當前位置才可與之傳輸。在基于移動代理的計算機環(huán)境中,由于移動代理的位置可能經(jīng)常變動,因此代理之間進行數(shù)據(jù)傳輸需要考慮以下問題:</p><p> (1)移動代理的命名</p><p> 即分布式環(huán)境代理標識的一致性。</p><p> ?。?)移動代理的定位</p><p> 移動代理的定位,即數(shù)據(jù)傳輸時,發(fā)送方如何知道接收方的當前位置
67、。</p><p> (3)移動數(shù)據(jù)傳輸?shù)目煽啃?lt;/p><p> 一般而言,移動代理系統(tǒng)通過消息交換以實現(xiàn)代理數(shù)劇傳輸。數(shù)據(jù)傳輸失效現(xiàn)象是指在特定條件約束下的信件不能到達或不能及時到達接收者的一種現(xiàn)象。在移動代理系統(tǒng)中,由于代理的移動,容易引發(fā)數(shù)據(jù)傳輸失效問題,即當消息發(fā)送給目標代理是,移動代理發(fā)生了移動,未能接收到消息。無論接收消息的代理遷移頻率有多快,消息必須保證能夠到達這個代理
68、。但在移動代理的數(shù)據(jù)傳輸環(huán)境中,由于代理的自主移動特性,常會導致消息被發(fā)送到某一網(wǎng)絡(luò)節(jié)點但接收者已經(jīng)離開而無法收到該消息。這種因為數(shù)據(jù)傳輸主體物理位置發(fā)生變化而造成的數(shù)據(jù)傳輸不正?,F(xiàn)象,稱為移動數(shù)據(jù)傳輸失效。值得注意的是,在代理移動非常快的情況下,消息可能追隨目標代理在網(wǎng)絡(luò)各節(jié)點見游蕩永遠無法送達而產(chǎn)生消息追逐現(xiàn)象。移動數(shù)據(jù)傳輸失效和消息追逐都與網(wǎng)絡(luò)和節(jié)點故障無關(guān),是純粹由代理移動造成的,它們使得協(xié)作中的代理不能及時得到協(xié)同信息,從而導
69、致協(xié)作的失敗甚至造成整個系統(tǒng)崩潰,是移動代理系統(tǒng)的致命缺陷。</p><p> 移動代理的數(shù)據(jù)傳輸?shù)目煽啃?,包括兩個方面,一是在目標代理移動式,如何處理發(fā)送給它的消息,例如,如果確定了目標代理的當前位置以后,在把消息發(fā)送給它過程中,目標代理又發(fā)生了移動,這時該如何處理發(fā)送過程中的消息。如何保證消息最終傳遞給目標代理。二是,如何防止消息追逐現(xiàn)象的發(fā)生。</p><p> ?。?)移動代理的
70、數(shù)據(jù)傳輸?shù)囊苿幼杂伞?lt;/p><p> 移動代理是一個自主的智能體,因此數(shù)據(jù)傳輸機制應(yīng)當盡量少限制代理的遷移,一保證其遷移的數(shù)據(jù)傳輸自由即異步性。</p><p> ?。?)數(shù)據(jù)傳輸模型的穩(wěn)定性。</p><p> 這里指的是發(fā)生突發(fā)事件(例如某一重要節(jié)點突然崩潰或代理意外死亡)時,數(shù)據(jù)傳輸機制如何對它進行處理。主機離線,數(shù)據(jù)傳輸機制如何對它處理。</p&
71、gt;<p> 目前移動代理數(shù)據(jù)傳輸機制未能很好的解決動態(tài)移動代理的定位,傳輸可靠性,穩(wěn)定性等問題。廣播法嚴重占用帶寬,并且不能保證消息的可靠傳遞。遷移路徑轉(zhuǎn)發(fā)機制雖然可以實現(xiàn)不存在單點失效的位置透明傳輸,單數(shù)代理每遷移到下個位置都留下前指對象,系統(tǒng)資源開銷較大,且追蹤時需要進行多次轉(zhuǎn)發(fā),耗費時間和帶寬。另外由于代理位置追蹤需依賴多個前指對象,其中任何一個丟失都將導致失去代理蹤跡。而且由于沒有消息緩存機制,代理遷移過程中
72、發(fā)往它的消息可能丟失,不能保證消息的可靠傳遞。而home轉(zhuǎn)發(fā)機制中,由于home故障容易導致數(shù)據(jù)傳輸失效而且容易造成瓶頸。</p><p> 在代理標識的一致性和數(shù)據(jù)傳輸失效問題上,廣播法和遷移轉(zhuǎn)發(fā)機制不能實現(xiàn)應(yīng)用級上系統(tǒng)提供的位置透明的命名和名字解析機制,home轉(zhuǎn)發(fā)機制提供了位置透明的命名和名字解析機制,但是消息只能在代理處于靜止狀態(tài)時才能發(fā)送,這種處理方法雖能解決數(shù)據(jù)傳輸失效問題單頁可能引起消息的丟失,并
73、會給消息發(fā)送方增加負擔。</p><p> 在穩(wěn)定性上,多數(shù)模型在這個問題上考慮的不多,有少數(shù)模型對主機意外離線,崩潰等情況造成的無效代理用能量機制進行了控制。能量機制的思想史,給每個代理賦予一定的能量,移動代理只要使用系統(tǒng)軟硬件資源(如主機提供的服務(wù)、cpu時間、內(nèi)存等)時,都需要消耗能量。也就是說,能量限制了移動代理使用資源的能力。當其能量遞減到某一域值時,就會向生成主機申請新的能量,如果申請不到新的能量,
74、移動代理就會因為能量耗盡稱為孤兒而死亡。該機制雖能進行孤兒代理檢測能力,但是由于主機軟硬件環(huán)境的不同、代理使用資源的不同,使得能量值該被賦予多少、每次使用不同的資源該減掉多少都是難以確定的問題。</p><p> 3.2 解決辦法分析</p><p> (1)移動代理的命名</p><p> 本文采用全局的、與位置無關(guān)的命名方法對代理進行統(tǒng)一命名。</p
75、><p> ?。?)移動代理的定位</p><p> 本文尋址機制采用邏輯名到物理位置的映射機制。發(fā)送者向另一個移動代理發(fā)送消息時,不需要知道接收消息的移動代理的物理位置,只要知道其唯一的標識“邏輯名”即可。邏輯名到物理位置的映射過程由系統(tǒng)來完成。當尋址成功后,保存目標代理,與目標代理進行點對點通信。當通信地址過期后,在重新尋址定位。</p><p> ?。?)數(shù)據(jù)傳
76、輸?shù)目煽啃院鸵苿幼杂?lt;/p><p> 本文引入了一種多郵箱存儲轉(zhuǎn)發(fā)機制。用郵箱來保存移動代理遷移時發(fā)給移動代理的消息以及發(fā)送給移動代理的過程中移動代理又發(fā)生遷移時的消息。同時通過設(shè)置數(shù)據(jù)傳輸頻率和遷移頻率來避免消息追逐現(xiàn)象。這樣在保證數(shù)據(jù)傳輸?shù)目煽啃缘耐瑫r,最大限度地保證了移動代理的移動自由。</p><p> ?。?)數(shù)據(jù)傳輸模型的穩(wěn)定性</p><p>
77、本文引入步長和生存時間的檢測機制,來實現(xiàn)對主機離線、崩潰的處理,同時實現(xiàn)了代理意外死亡的資源回收。逐句短期離線是的消息由域消息緩沖池緩存,主機長期離線造成的無效移動代理、郵箱和消息會因為步長或生存時間結(jié)束而死亡,被系統(tǒng)清除。具體實現(xiàn)過程在下一章提出的數(shù)據(jù)傳輸機制中進一步闡述。</p><p><b> 3.3 本章小結(jié)</b></p><p> 本章分析了現(xiàn)有的基
78、于移動代理的可靠數(shù)據(jù)傳輸機制存在的問題,并提出了解決問題的思路。</p><p> 第4章 一種移動代理的可靠數(shù)據(jù)傳輸機制及應(yīng)用</p><p> 4.1 系統(tǒng)的命名機制</p><p> 把移動代理網(wǎng)絡(luò)劃分為樹狀的多個域。通常劃分的原則是保證域內(nèi)主機間的數(shù)據(jù)傳輸速度快,網(wǎng)絡(luò)帶寬高,位于一個域內(nèi)的主機之間的網(wǎng)絡(luò)連接與屬于不同域的主機之間的網(wǎng)絡(luò)連接相比,帶寬要大
79、得多,延遲要小得多,一般可以把同一個局域網(wǎng)內(nèi)的主機劃分為一個域;移動代理到達一個域內(nèi)的主機后,訪問該域其他主機的概率比較大。有一個域服務(wù)器DS,負責管理域內(nèi)所有代理。如代理的注冊,注銷,查詢,安全認證等服務(wù)。域服務(wù)器可由一臺高性能主機擔任。</p><p> 系統(tǒng)使用全局的、與位置無關(guān)的命名方法對代理進行統(tǒng)一命名。代理的標識應(yīng)該保證其應(yīng)用范圍內(nèi)的唯一性,同時在代理的生命周期中應(yīng)保持不變,而不應(yīng)該隨其位置的改變而
80、發(fā)生變化。采用的方法是用代理所屬域名、代理主機名和一個用戶提供的字符串來標識一個代理。代理所屬域名是創(chuàng)建代理主機所在的域名,在系統(tǒng)中唯一。代理主機名是創(chuàng)建代理的主機名,就有唯一性。這樣,在不同的域創(chuàng)建的代理不可能具有相同的標識,同一域中不同的主機上創(chuàng)建的代理也不可能具有相同的標識,而同一臺主機上創(chuàng)建的代理則由用戶提供的字符串來區(qū)分。通過這種命名方式,我們保證了移動代理的命名的唯一性。</p><p><b&
81、gt; 4.2 工作流程</b></p><p> 4.2.1 移動代理的創(chuàng)建</p><p> 當需要完成某一個特定的任務(wù)或工作時,用戶把有關(guān)的一些參數(shù)(代理名 <一個字符串>、生存時間TTL、步長Step等)傳遞給主機Controller。Controller的創(chuàng)建機制會根據(jù)這些參數(shù),生成一個代理,并賦予代理一個全網(wǎng)唯一的邏輯名,把邏輯名,ADR,Body
82、,BirthTime,Step, TTL等信息發(fā)送給本域服務(wù)器,存儲到本域出生代理信息表BT中,狀態(tài)置為“在線”。</p><p> 圖4-1創(chuàng)建代理時注冊</p><p> 4.2.2 移動代理的遷移</p><p> 移動代理的遷移過程:</p><p> ?。?)遷移前檢查遷移估計值P是否達最高值W:如果達到,則不能馬上遷移,必須
83、接收郵箱消息直到擁有的郵箱數(shù)至少減少1才能遷移;如果還沒達到,則沒有該約束。</p><p> ?。?)遷移前檢測遷往的目標主機是否在線。若在線,轉(zhuǎn)(3)。若離線,則定時檢測目標主機是否在線。根據(jù)移動代理的實際情況設(shè)置M時間,若超過M時間檢測到主機還未上線,則放棄。M時間根據(jù)移動代理的工作狀態(tài)等可以設(shè)置的很長,也可以設(shè)置得很短。</p><p> ?。?)通知郵箱暫停發(fā)送消息。</p
84、><p> ?。?)確保所在主機有自身郵箱的操作,即主機上的Controller查詢郵箱信息表MTable判斷移動代理是否在主機上留有郵箱。若主機上留有該代理的郵箱,則轉(zhuǎn)(5)。若主機上沒有該代理郵箱,則新建一個該代理的郵箱,分配郵箱ID給新郵箱,并在MTable中添加一條新紀錄,紀錄該代理的邏輯名和在該機上的郵箱ID,設(shè)置郵箱生存時間TTL,并把郵箱的通信地址和生存時間保存在移動代理的ADRMail和TTLMail
85、中。</p><p> ?。?)把AT表中的該移動代理對應(yīng)紀錄可用標志置為“暫不可用”。</p><p> ?。?)代理遷移到目標主機。</p><p><b> 圖4-2遷移過程</b></p><p> 4.2.3 移動代理遷移后注冊</p><p> (1)若遷移不成功,或者嘗試再次遷
86、移;或者暫時放棄遷移。若放棄遷移,把主機AT表該移動代理的可用標志置為“可用”,并通知郵箱發(fā)送消息。</p><p> (2)若遷移成功,則執(zhí)行下面操作。</p><p> (3)移動代理到達目標主機后,向所在主機注冊,在主機AT表中添加該移動代理的紀錄。</p><p> (4)向所在域服務(wù)器注冊。如果所在服務(wù)器為生成服務(wù)器,則更新BT表,如果不是,則更新V
87、T表。</p><p> (5)如果移動代理此時不在生成域,還要向生成域服務(wù)器注冊。</p><p> (6)移動代理通知其擁有的郵箱發(fā)送消息;通知郵箱中的消息發(fā)送者更新通信地址為移動代理的當前地址;遷移前所在的主機更新AT表(刪除AT表中該移動代理紀錄)。</p><p> (7)如果是域內(nèi)遷移,若所在域消息緩沖池有代理的消息,改為發(fā)往代理當前地址。<
88、/p><p> (8)如果是域間遷移,若遷移前所在域消息緩沖池有代理的消息,改為發(fā)往代理當前地址。</p><p> (9)如果是域間遷移且遷移前的域不是生成域,則刪除遷移前所在域服務(wù)器中該移動代理的相關(guān)紀錄。</p><p> 圖4-2遷移后的注冊過程</p><p> 4.2.4 移動代理的數(shù)據(jù)傳輸</p><p&
89、gt; 發(fā)送者A與移動代理B發(fā)生數(shù)據(jù)傳輸,基本過程如下。發(fā)送者A發(fā)送消息,分為兩種情況。</p><p> 第一種情況:目標代理不是發(fā)送者的Friend。</p><p> (1)A所在主機Controller首先查HDeadAgent 表,如果有紀錄,轉(zhuǎn)(7)。 </p><p> ?。?)檢查代理B是否在本地。如果在AT表中找到有效的數(shù)據(jù)傳輸?shù)刂?,表示目?/p>
90、代理在本地,直接將消息放到代理B的緩沖消息隊列中,讓目標代理B處理,轉(zhuǎn)(8);若AT中沒有找到,在MTable中找到,直接將消息放入目標代理的郵箱,完成本地的數(shù)據(jù)傳輸,轉(zhuǎn)(8)。否則,轉(zhuǎn)(3)</p><p> ?。?)向域服務(wù)器DS發(fā)出尋址消息,在尋址過程中,B可能屬于本域,也可能屬于外域,DS根據(jù)一定的名字解析機制向發(fā)送者返回尋址結(jié)果。</p><p> ?。?)若返回的是“目標已死亡
91、”,則轉(zhuǎn)(6);否則轉(zhuǎn)(5)</p><p> ?。?)若返回的數(shù)據(jù)傳輸?shù)刂匪谥鳈C在線,則可順利發(fā)送消息,轉(zhuǎn)(8);若離線,則把消息發(fā)送到目標數(shù)據(jù)傳輸主機所在的域服務(wù)器。轉(zhuǎn)(8)。</p><p> (6)把該代理添加進HDeadAgent表。</p><p> (7)刪除掉末發(fā)送消息,轉(zhuǎn)(9)。</p><p> ?。?)把目標代理添
92、加為發(fā)送者的好友,保存好友的數(shù)據(jù)傳輸?shù)刂返葦?shù)據(jù)傳輸?shù)挠行r間設(shè)為T。</p><p> ?。?)數(shù)據(jù)傳輸結(jié)束。</p><p> 圖4-3 數(shù)據(jù)傳輸過程1</p><p> 第二種情況:目標代理是發(fā)送者的好友Friend。</p><p> 發(fā)送者可以利用保存的好友數(shù)據(jù)傳輸好友與目標代理直接數(shù)據(jù)傳輸,而不需要像第一種情況一樣尋址后在數(shù)據(jù)
93、傳輸。若好友離線,則將消息發(fā)往好友所在域服務(wù)器。</p><p> 移動代理B接收消息的過程如下。</p><p> ?。?)目標主機從主機接收暖沖池取出消息。</p><p> ?。?)主機Controller首先查HDeadAgent表,如果有紀錄,發(fā)送“目標已死亡”給發(fā)送者,轉(zhuǎn)(5)。否則,轉(zhuǎn)(3)。</p><p> ?。?)檢查活
94、動代理信息表AT檢測移動代理是否在本地。若在本地,則把消息放到代理B的緩沖消息隊列中,讓代理B處理,轉(zhuǎn)(5);否則,轉(zhuǎn)(4)。</p><p> ?。?)主機Controller把消息存放到代理B的郵箱中。</p><p><b> ?。?)結(jié)束。</b></p><p> 域消息緩沖池中消息的發(fā)送:</p><p>
95、 域服務(wù)器接收到消息時,檢查目標代理是否在線,若在線,則按照目標代理當前的數(shù)據(jù)傳輸?shù)刂钒l(fā)送消息;若離線,則放入暫緩池,并定時檢測目標代理是否在線,目標代理一旦在線,則根據(jù)代理的最新數(shù)據(jù)傳輸?shù)刂钒l(fā)送消息。消息如果超時則被DS刪除。</p><p> 圖4-4 數(shù)據(jù)傳輸過程2</p><p> 4.2.5 消息優(yōu)先級和超時消息的處理</p><p> 在引入步長
96、和生存時間的同時,還引入了消息優(yōu)先級的概念。</p><p> 在消息中設(shè)定消息優(yōu)先級屬性值。域消息緩沖池和主機消息緩沖隊列及郵箱等都是按優(yōu)先級別給消息排序。優(yōu)先級別高的消息會更快的被處理。實時性較強的消息可以設(shè)置高優(yōu)先級,一些用于完成特殊任務(wù)的代理的消息優(yōu)先級別也可以設(shè)置高些,方便更快、更及時的完成其使命。</p><p> 用戶根據(jù)需要設(shè)定了消息生存時間,當消息超過了生存時間,則是
97、無效消息,無效消息應(yīng)該從系統(tǒng)中刪除。域服務(wù)器,主機等一旦檢測到超時消息一律刪除,并發(fā)送“消息超時通知”給發(fā)送者。</p><p> 4.3 基于移動代理可靠傳輸機制的應(yīng)用</p><p> 這里基于城市公交卡的實踐背景,讓我的課題研究有了很深認識,下面說說具體實現(xiàn):</p><p> 4.3.1 路由的選擇</p><p> 如果某個
98、采集點的直接上級中心發(fā)生故障時 ,我們可以利用螞蟻算法 ,生成一些攜帶路由信息的 Mobile Agent,通過它們自主遷移到所有可能的分中心并最終到達總中心,然后回收,發(fā)現(xiàn)通往總中心的最佳路由。這實際上是一種簡化的螞蟻算法,通過這種方法可以保證備用線路提供較好的QoS服務(wù) 。</p><p> 實際系統(tǒng)中,在采集點保存當前最新的分中心IP地址列表,由應(yīng)用程序向這些地址發(fā)送 Route Agent.。Route
99、 Agent是從系統(tǒng)的基本類Aglet派生出來的路由尋找類,它繼承Aglet的遷移能力,并增加了獲取沿某個給定路由遷移并返回所花費的時間,以及記錄沿途經(jīng)過的節(jié)點的網(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> 獲取當?shù)鼐W(wǎng)絡(luò)狀況;</b></p><p> If (已經(jīng)到達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ù)對其攜帶返回的各種信息的分析,就可以選定響應(yīng)時間最
107、短、最暢通的最佳路由。</p><p> 4.3.3 建立連接</p><p> 在利用Mobile Agent系統(tǒng)發(fā)現(xiàn)最佳路由之后,該采集點就生成一個用于建立連接的 Mobile Agent沿該最佳路由遷移,沿途在每兩對節(jié)點間進行建立連接的操作。舉例來說,該Mobile Agent從采集點出發(fā)到達第一個分中心后,即在此中心為此采集點建立一個MQ消息隊列 ,負責接收該采集點上傳的數(shù)據(jù);
108、同時克隆生成一個 Mobile Agent發(fā)送回到采集點,通知其該分中心消息隊列的IP等配置信息,并建立本地消息隊列。兩端的Mobile Agent協(xié)同工作,完成兩地間隊列的連接工作,并啟動數(shù)據(jù)傳輸。然后此分中心處的 Mobile Agent繼續(xù)沿最佳路由向上遷移,并進行類似操作,直至將數(shù)據(jù)上傳至總中心。</p><p> 在建立連接過程中,需要在兩端的主機上各自生成一個MQ 腳本,以便Mobile Agent
109、實現(xiàn)新建隊列并連接的目的。假設(shè)采集點和分中心的編號分別是A、B,IP地址分別是xxx.xxx.xxx.xxx、yyy.yyy.yyy.yyy則采集點A 上需建立的腳本conn. bat如下(注釋不包括在腳本中) :</p><p> DEFINE QLOCAL (QX_A) USAGE ( x mit q) ;</p><p> ∥建立本地傳輸隊列QX_A</p><
110、;p> DEFINE QREMOTE (Q_B) RNAME (Q_B) +;</p><p> ∥建立一個名為Q_B的遠程隊列,指向遠端隊列管理器</p><p> RQMNAME (QM_B) XMITQ (QX_A) ;</p><p> ∥QM_B上的本地隊列Q_B,使用本地傳輸隊列QX_A</p><p> DEFI
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高動態(tài)移動Ad hoc網(wǎng)絡(luò)可靠數(shù)據(jù)傳輸.pdf
- 移動社交網(wǎng)絡(luò)中的數(shù)據(jù)傳輸機制研究.pdf
- 機會移動網(wǎng)絡(luò)中的數(shù)據(jù)傳輸機制研究.pdf
- 畢業(yè)論文—多點無線數(shù)據(jù)傳輸系統(tǒng)
- 基于RUDP的可靠數(shù)據(jù)傳輸研究.pdf
- 基于社區(qū)的機會網(wǎng)絡(luò)數(shù)據(jù)傳輸機制研究.pdf
- 基于數(shù)據(jù)傳輸?shù)臋C會網(wǎng)絡(luò)路由機制.pdf
- WSN基于網(wǎng)絡(luò)編碼的數(shù)據(jù)傳輸可靠技術(shù)研究.pdf
- 基于消息代理技術(shù)的數(shù)據(jù)傳輸平臺.pdf
- 基于網(wǎng)絡(luò)編碼的無線數(shù)據(jù)傳輸補償機制研究.pdf
- 機會網(wǎng)絡(luò)中基于協(xié)作機制的數(shù)據(jù)傳輸研究.pdf
- 多場景無線傳感器網(wǎng)絡(luò)可靠數(shù)據(jù)傳輸機制研究.pdf
- 移動機會網(wǎng)絡(luò)中數(shù)據(jù)傳輸優(yōu)化研究.pdf
- CMMB系統(tǒng)數(shù)據(jù)傳輸可靠性機制的研究.pdf
- 基于GPRS網(wǎng)絡(luò)的遠程數(shù)據(jù)傳輸.pdf
- 容遲移動傳感網(wǎng)絡(luò)中數(shù)據(jù)傳輸與處理機制研究.pdf
- 基于紅外數(shù)據(jù)傳輸?shù)闹悄苘囄绘i的設(shè)計-畢業(yè)論文
- 紅外無線數(shù)據(jù)傳輸系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文
- 單片機的無線數(shù)據(jù)傳輸系統(tǒng)設(shè)計【畢業(yè)論文】
- 基于編碼的片上網(wǎng)絡(luò)數(shù)據(jù)傳輸可靠性研究與設(shè)計.pdf
評論
0/150
提交評論