范彬
摘要:該文介紹了移動(dòng)Agent的概念和特性,并針對(duì)移動(dòng)Agent在遷移過(guò)程中的定位機(jī)制、路由規(guī)劃、遷移策略等關(guān)鍵技術(shù)進(jìn)行了研究與剖析。
關(guān)鍵詞:移動(dòng)Agent; 定位機(jī)制;路由規(guī)劃;遷移策略
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)10-2204-02
Abstract: The paper introduces the concept and characteristics of mobile Agent, and carries on the study and analysis of the mobile agent key technology of positioning mechanism, route planning, migration strategy.
Key words: Mobile Agent; Positioning mechanism; route planning; migration strategy
隨著計(jì)算機(jī)網(wǎng)絡(luò)、計(jì)算機(jī)通信技術(shù)的飛速發(fā)展,Internet應(yīng)用已深入到人們工作和生活的各個(gè)領(lǐng)域。為了獲得最佳的服務(wù),移動(dòng)Agent的概念應(yīng)運(yùn)而生。移動(dòng)Agent是能夠智能地、在異構(gòu)的網(wǎng)絡(luò)環(huán)境中按照特定地規(guī)程而獨(dú)立運(yùn)行的計(jì)算機(jī)程序,它能夠并有效利用網(wǎng)絡(luò)資源,并代表用戶完成特定的任務(wù)。移動(dòng)Agent不僅具有交互性、自主性、主動(dòng)性和反應(yīng)性等特性,還具有一個(gè)重點(diǎn)特性——移動(dòng)性。該文針對(duì)移動(dòng)Agent的“移動(dòng)性”,對(duì)其在移動(dòng)過(guò)程中的定位機(jī)制以及遷移技術(shù)等關(guān)鍵技術(shù)進(jìn)行分析與研究。
1 移動(dòng)Agent的定位機(jī)制
由于移動(dòng)Agent可根據(jù)特定的任務(wù)和路線,可在異構(gòu)的軟、硬件網(wǎng)絡(luò)環(huán)境中自主地遷移,這種隨機(jī)遷移使得其位置難以確定,從而造成了定位的困難。目前,移動(dòng)Agent的定位機(jī)制有如下3種[1]:
1) 蠻力搜索機(jī)制:在多個(gè)目的節(jié)點(diǎn)中采用并行或順序的方式來(lái)展開(kāi)全面地搜索,從而完成對(duì)移動(dòng)Agent的定位。
2) 使用日志機(jī)制:移動(dòng)Agent訪問(wèn)過(guò)的每一個(gè)節(jié)點(diǎn)都會(huì)保存其移動(dòng)軌跡,并且會(huì)定期進(jìn)行更新,針對(duì)這些信息,采用沿路跟蹤和重定向的方法來(lái)跟蹤移動(dòng)Agent,從而實(shí)現(xiàn)了移動(dòng)Agent的定位。
3) 注冊(cè)機(jī)制:該機(jī)制是指在移動(dòng)Agent的通信模型中設(shè)置一個(gè)名字服務(wù)器,用于移動(dòng)Agent的注冊(cè)、注銷或定位。當(dāng)其他Agent需要定位移動(dòng)Agent時(shí),通過(guò)這個(gè)名字服務(wù)器即可定位。在實(shí)際應(yīng)用中,進(jìn)行通信的Agent需要提前約定好一個(gè)名字服務(wù)器。如果每一個(gè)Agent服務(wù)器都相應(yīng)有一個(gè)名字服務(wù)器的話,就可以簡(jiǎn)化約定的達(dá)成。當(dāng)多個(gè)Agent來(lái)自同一臺(tái)源主機(jī)或到達(dá)同一臺(tái)目的主機(jī),它們只需簡(jiǎn)單地共享與它們的源主機(jī)或目的主機(jī)相聯(lián)系的缺省名字服務(wù)器就可以了,無(wú)需事先交換名字服務(wù)器的地址。
由上述的分析可知:蠻力搜索機(jī)制獨(dú)立于外部機(jī)制,如跟蹤信息或名字服務(wù)器等,因此在實(shí)際應(yīng)用中易于實(shí)現(xiàn)。而是用日志的機(jī)制的定位機(jī)制則需要知道移動(dòng)Agent的源主機(jī)以及其遷移路徑所遍歷的任意一臺(tái)主機(jī)才能夠準(zhǔn)確而完整地定位。注冊(cè)機(jī)制需要提供一個(gè)名字服務(wù)器,該機(jī)制典型的應(yīng)用是當(dāng)執(zhí)行同一任務(wù)的多個(gè)移動(dòng)Agent被分配到多個(gè)不同的節(jié)點(diǎn)上進(jìn)行工作,而相互之間又需要通信。此時(shí)完成移動(dòng)Agent 的定位則只需共享其源主機(jī)中名字服務(wù)器即可。
因此,對(duì)于不同的移動(dòng)Agent系統(tǒng),可以根據(jù)系統(tǒng)的實(shí)際需求來(lái)選擇適合的定位機(jī)制。
2 移動(dòng)Agent的遷移技術(shù)
移動(dòng)agent遷移技術(shù)是移動(dòng)Agent技術(shù)的核心內(nèi)容,下面主要從移動(dòng)Agent的遷移分類、路由規(guī)劃及遷移策略三個(gè)方面展開(kāi)探討。
2.1 移動(dòng)Agent的遷移分類
移動(dòng)Agent包括數(shù)據(jù)狀態(tài)信息、代碼狀態(tài)信息和執(zhí)行狀態(tài)信息,根據(jù)其遷移時(shí)所攜帶的信息的不同,可以將遷移分為兩類——強(qiáng)遷移和弱遷移[2]。
強(qiáng)遷移:指當(dāng)移動(dòng)Agent遷移時(shí),將攜帶其自身的全部信息到達(dá)目的節(jié)點(diǎn),并在到達(dá)目的地后,恢復(fù)數(shù)據(jù)、代碼和執(zhí)行狀態(tài)全部信息,并繼續(xù)從遷移之前中斷處繼續(xù)向下執(zhí)行。實(shí)現(xiàn)了在遷移前和遷移后,移動(dòng)Agent的相關(guān)信息保持不變,如NOMADA系統(tǒng)。
弱遷移:指當(dāng)移動(dòng)Agent遷移時(shí),只攜帶其代碼本身和數(shù)據(jù)狀態(tài)信息,并能夠根據(jù)實(shí)際需要有選擇地?cái)y帶移動(dòng)Agent的部分執(zhí)行狀態(tài)信息,如Aglets、MOLE等系統(tǒng)。
二者的區(qū)分在于,弱遷移在遷移過(guò)程中只攜帶的部分?jǐn)?shù)據(jù)量,因此其遷移操作開(kāi)銷較小,執(zhí)行效率較高,且便于實(shí)現(xiàn),但需要編程人員熟悉Agent的整個(gè)傳送過(guò)程,并要編寫(xiě)大量代碼。而強(qiáng)遷移的系統(tǒng)中,由于移動(dòng)Agent的傳輸過(guò)程是透明的,方便對(duì)程序的理解和錯(cuò)誤排除,也提高了系統(tǒng)可靠性與模塊化設(shè)計(jì)程度,但該方法導(dǎo)致通信流量的增大,并提高了系統(tǒng)實(shí)現(xiàn)的復(fù)雜性。
2.2 移動(dòng)agent的路由規(guī)劃
移動(dòng)Agent在網(wǎng)絡(luò)中遷移時(shí)其路由規(guī)劃通常有三種形式[3]——固定路由、可變路由和動(dòng)態(tài)路由。
固定路由是指在移動(dòng)Agent在遷移開(kāi)始前,按照一定的算法預(yù)先計(jì)算好每對(duì)節(jié)點(diǎn)之間的最佳路由,然后再構(gòu)造出一個(gè)固定的遷移路由表, 移動(dòng)Agent在其生命周期內(nèi)只能嚴(yán)格按照路由表中的固定路線進(jìn)行遷移,不能隨著網(wǎng)絡(luò)環(huán)境的變化而隨意更改路線。
可變路由是指在固定路由的基礎(chǔ)上,移動(dòng)Agent可以感知其所在的網(wǎng)絡(luò)環(huán)境的軟硬件等資源,并能夠自主地適當(dāng)調(diào)整其預(yù)先規(guī)劃好的遷移路由表,從而更好地完成其攜帶的用戶任務(wù)。
動(dòng)態(tài)路由是指移動(dòng)Agent 可以根據(jù)當(dāng)前復(fù)雜的網(wǎng)絡(luò)環(huán)境以及其任務(wù)執(zhí)行的情況完全自主地選擇其遷移路線,其誕生主機(jī)不會(huì)約束或干涉移動(dòng)Agent的路由計(jì)劃。
從上述的描述可知:固定路由和可變路由在實(shí)現(xiàn)移動(dòng)Agent遷移是其主要遷移路線都是在遷移之前就已規(guī)劃好的,很難適應(yīng)實(shí)時(shí)多變的網(wǎng)絡(luò)環(huán)境資源及用戶任務(wù),但其原理簡(jiǎn)單,易于實(shí)現(xiàn)。而動(dòng)態(tài)路由彌補(bǔ)了前兩種路由的缺陷,能夠?qū)崟r(shí)地感知網(wǎng)絡(luò)的軟硬件資源狀況,具有動(dòng)態(tài)規(guī)劃移動(dòng)Agent遷移路線的能力,從而保證安全、高效地完成用戶任務(wù),很好地適應(yīng)了當(dāng)前網(wǎng)絡(luò)流行的分布式計(jì)算系統(tǒng)。
2.3 移動(dòng)agent遷移策略
移動(dòng)Agent遷移策略是指可以根據(jù)當(dāng)前動(dòng)態(tài)的網(wǎng)絡(luò)環(huán)境、移動(dòng)Agen攜帶的任務(wù)、以及網(wǎng)絡(luò)帶寬、網(wǎng)絡(luò)延遲等約束條件為移動(dòng)agent規(guī)劃出最佳的遷移路線,并能夠確保移動(dòng)agent在開(kāi)銷最小的情況下,能夠更及時(shí)、更準(zhǔn)確地完成用戶任務(wù)。遷移策略選擇的優(yōu)劣將直接影響其任務(wù)的完成情況 [4]。
目前,很多學(xué)者在遷移策略方面進(jìn)行了大量的探索。如Aglet只提供了事件驅(qū)動(dòng)的機(jī)制,遷移策略需由用戶編程實(shí)現(xiàn),但沒(méi)有考慮硬件資源對(duì)遷移的影響;Acharya等人在實(shí)現(xiàn)移動(dòng)agent系統(tǒng)Sumatra 時(shí)已經(jīng)意識(shí)到了網(wǎng)絡(luò)環(huán)境中不同的硬件資源及其使用狀況將會(huì)對(duì)移動(dòng)agent遷移的造成一定能夠的影響,因此在系統(tǒng)實(shí)現(xiàn)時(shí)考慮到了網(wǎng)絡(luò)延遲參數(shù);Concordia 在設(shè)計(jì)時(shí)提出了旅行計(jì)劃的系列概念,從而較好地實(shí)現(xiàn)了在遷移時(shí)將移動(dòng)Agent的任務(wù)體與其遷移信息的分離, 但由于其旅行計(jì)劃中描述能力有限,限制了系統(tǒng)地靈活性;劉大有等人提出了旅行圖的概念,基于旅行圖的遷移策略考慮了網(wǎng)絡(luò)帶寬、網(wǎng)絡(luò)延遲以及價(jià)格對(duì)移動(dòng)Agent遷移策略的影響,避免了由于網(wǎng)絡(luò)節(jié)點(diǎn)失效或者網(wǎng)絡(luò)斷連引起的遷移失敗的發(fā)生,較好地確保了遷移的順利完成;張正球等人提出了一種改進(jìn)的基于遷移計(jì)劃圖的移動(dòng)Agent結(jié)構(gòu)化遷移策略,該策略考慮到了服務(wù)價(jià)格、服務(wù)質(zhì)量等因素的影響,在感知當(dāng)前網(wǎng)絡(luò)環(huán)境及其它一些負(fù)載信息的基礎(chǔ)上,根據(jù)這些信息以及一些約束條件,動(dòng)態(tài)地為移動(dòng)agent 規(guī)劃出一條最佳的遷移路線。
由此可見(jiàn),一個(gè)最佳的移動(dòng)Agent遷移策略,不僅要考慮復(fù)雜的網(wǎng)絡(luò)軟硬件資源、網(wǎng)絡(luò)傳輸資源以及主機(jī)處理能力等資源的影響,還應(yīng)該充分考慮服務(wù)速度、服務(wù)質(zhì)量、服務(wù)價(jià)格乃至移動(dòng)Agent的遷移經(jīng)驗(yàn)等因素,從而才能制定出更加完整、更加全面的移動(dòng)Agent遷移策略。
3 總結(jié)
移動(dòng)Agent是一種新型的分布式計(jì)算與網(wǎng)絡(luò)通信模型,該文對(duì)其定位機(jī)制與遷移技術(shù)進(jìn)行了較為全面的研究與闡述,為其以后在網(wǎng)絡(luò)中的廣泛應(yīng)用奠定了理論基礎(chǔ)。
參考文獻(xiàn):
[1] 黃萍,曹陽(yáng).移動(dòng)Agent系統(tǒng)中命名和尋址方案的分析與設(shè)計(jì)[J].武漢大學(xué)學(xué)報(bào)(理學(xué)版), 2002,48(1): 55-58.
[2] 王新穎.移動(dòng)Agent實(shí)現(xiàn)技術(shù)[EB/OL].http://www. China_pub.com/computers/ eBook /1391/info.htm.
[3] 駱正虎.移動(dòng)Agent系統(tǒng)若干關(guān)鍵技術(shù)問(wèn)題研究[D].合肥:合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院,2002.
[4] Lange Danny B, Dridor Yariv. Agent Transfer Protocol. IBM Tokyo Research Laboratory[EB/OL].http://www.trl.ibm.co.jp/aglets,2004.