霍永華,昌漢明,曹 毅
(1.中國(guó)電子科技集團(tuán)公司第五十四研究所,河北 石家莊 050081;2.西安電子科技大學(xué),陜西 西安 710071;3.總參信息化部石家莊地區(qū)軍事代表室,河北 石家莊 050000)
基于移動(dòng)代理的群管理探討
霍永華1,昌漢明2,曹 毅3
(1.中國(guó)電子科技集團(tuán)公司第五十四研究所,河北 石家莊 050081;2.西安電子科技大學(xué),陜西 西安 710071;3.總參信息化部石家莊地區(qū)軍事代表室,河北 石家莊 050000)
研究了智能移動(dòng)代理在網(wǎng)管領(lǐng)域的應(yīng)用優(yōu)勢(shì),包括降低網(wǎng)絡(luò)負(fù)載和延時(shí)、自主執(zhí)行、動(dòng)態(tài)適應(yīng)環(huán)境、異構(gòu)性、協(xié)作性等方面。接著設(shè)計(jì)了移動(dòng)代理軟件,移動(dòng)代理軟件由應(yīng)用接口模塊、移動(dòng)代理模塊、信息轉(zhuǎn)換模塊和信息傳輸模塊組成。具有應(yīng)用需求輸入、移動(dòng)代理管理功能,同時(shí)基于JAVA語(yǔ)言開發(fā),具有跨平臺(tái)能力。并將移動(dòng)代理與群管理相結(jié)合,研究了工作原理。最后附實(shí)例驗(yàn)證。
移動(dòng)代理;代理遷移;代理傳輸協(xié)議;群首;群成員
軟件代理和分布式計(jì)算技術(shù)相結(jié)合引入了智能移動(dòng)代理技術(shù),為網(wǎng)絡(luò)管理的發(fā)展提供了新的思路。智能移動(dòng)Agent[1,2]的最大特點(diǎn)就是對(duì)移動(dòng)性的加強(qiáng),它被抽象地定義為能夠自動(dòng)完成用戶任務(wù)的程序,可以不固定開始運(yùn)行的系統(tǒng),具有能將自身在網(wǎng)絡(luò)上傳輸并在目的系統(tǒng)上繼續(xù)執(zhí)行的特性。將智能移動(dòng)Agent定義為具有跨地址空間的、可持續(xù)運(yùn)行的Agent,以區(qū)別于傳統(tǒng)的固定代理。已有大量文獻(xiàn)研究把智能移動(dòng)Agent應(yīng)用到網(wǎng)絡(luò)管理領(lǐng)域,這與它在網(wǎng)絡(luò)管理方面應(yīng)用優(yōu)勢(shì)是分不開的。
移動(dòng)代理具有協(xié)作性、快速反應(yīng)性和易重構(gòu)性[3,4]。在復(fù)雜的網(wǎng)絡(luò)系統(tǒng)中能自主地從一臺(tái)主機(jī)移動(dòng)到另一臺(tái)主機(jī),該程序能夠選擇何時(shí)、何地移動(dòng)。在移動(dòng)時(shí),該程序可以根據(jù)要求掛起其運(yùn)行,然后轉(zhuǎn)移到網(wǎng)絡(luò)的其他地方重新開始或繼續(xù)其執(zhí)行,最后返回結(jié)果和消息。
①降低網(wǎng)絡(luò)負(fù)載:傳統(tǒng)的網(wǎng)絡(luò)管理中,管理系統(tǒng)要完成一個(gè)操作,往往需要多個(gè)操作,意味著在管理者和被管節(jié)點(diǎn)之間進(jìn)行多次通信。應(yīng)用智能移動(dòng)Agent后,只要?jiǎng)?chuàng)建一個(gè)智能移動(dòng)Agent,將其發(fā)送到被管節(jié)點(diǎn),在當(dāng)?shù)貓?zhí)行完后,只需返回執(zhí)行結(jié)果。這樣大大減少傳輸?shù)牧髁浚档土司W(wǎng)絡(luò)的負(fù)載;
②異步和自主執(zhí)行功能[5,6]:移動(dòng)設(shè)備通常依賴網(wǎng)絡(luò)連接而進(jìn)行工作。而一些任務(wù)要求移動(dòng)設(shè)備與網(wǎng)絡(luò)之間必須保持持續(xù)的連接,但這并不可行。要解決這個(gè)難題,可以將任務(wù)嵌入到智能移動(dòng)代理之中,派遣到網(wǎng)絡(luò)上,智能移動(dòng)代理獨(dú)立創(chuàng)建它的進(jìn)程,異步、自主地完成任務(wù);移動(dòng)設(shè)備則可以在這之后再連接上網(wǎng)絡(luò),收回代理,取得服務(wù)結(jié)果;
③克服網(wǎng)絡(luò)延時(shí):在一些系統(tǒng)應(yīng)用中,對(duì)于環(huán)境做出實(shí)時(shí)反應(yīng)是及其重要的。對(duì)此智能移動(dòng)代理技術(shù)提供了一個(gè)很好的解決方案,通過(guò)由中央處理器將智能移動(dòng)代理派遣到系統(tǒng)局部,直接執(zhí)行控制器的指令,從而消除網(wǎng)絡(luò)延遲所帶來(lái)的隱患;
④動(dòng)態(tài)適應(yīng)環(huán)境:智能移動(dòng)代理具有感知運(yùn)行環(huán)境和對(duì)其變化做出自主反應(yīng)的能力。多個(gè)代理可以擁有在網(wǎng)絡(luò)上各主機(jī)之間合理分布的能力,以維持解決某一特定問(wèn)題的最優(yōu)配置;
⑤自然的異構(gòu)性:開放分布式計(jì)算各平臺(tái)之間往往從硬件到軟件都是異質(zhì)的。由于智能移動(dòng)代理往往獨(dú)立于特定的主機(jī)和傳輸層協(xié)議,而僅僅依賴于它們的執(zhí)行環(huán)境,因而為進(jìn)行無(wú)縫的系統(tǒng)集成提供了極為有利的條件;
⑥協(xié)作性:網(wǎng)絡(luò)管理系統(tǒng)中,管理實(shí)體僅能對(duì)其管理域進(jìn)行管理,當(dāng)管理問(wèn)題涉及到多個(gè)管理域時(shí),必然需要管理節(jié)點(diǎn)之間交換管理信息并進(jìn)行管理任務(wù)的協(xié)商(negotiation)、協(xié)調(diào)(coordination)、和協(xié)作(cooperation)。智能移動(dòng)agent具有協(xié)作性;
⑦健壯性和容錯(cuò)性:由于智能移動(dòng)代理具有能針對(duì)不利情況和事件動(dòng)態(tài)做出反應(yīng)的能力,因此減少了建立健壯和容錯(cuò)的分布式系統(tǒng)的難度。
2.1 軟件組成
移動(dòng)代理軟件由應(yīng)用接口模塊、移動(dòng)代理模塊、信息轉(zhuǎn)換模塊和信息傳輸模塊組成,如圖1所示。

圖1 移動(dòng)代理軟件組成
2.2 軟件功能設(shè)計(jì)
軟件功能設(shè)計(jì)如下所述:
①應(yīng)用接口模塊設(shè)計(jì):提供客戶與移動(dòng)代理的應(yīng)用接口,采用面向客戶的可視化需求模板,用戶可以通過(guò)可視化模板操作將任務(wù)需求輸入到系統(tǒng)中,系統(tǒng)接收后轉(zhuǎn)化為可以執(zhí)行的需求信息,從而將任務(wù)分配到各個(gè)群成員上;
②移動(dòng)代理管理模塊設(shè)計(jì):主要功能是將需要執(zhí)行的來(lái)自應(yīng)用接口的任務(wù)需求打包在移動(dòng)代理中。包括移動(dòng)代理生命周期管理功能設(shè)計(jì)、通信功能設(shè)計(jì)、代理遷移功能設(shè)計(jì)等。
移動(dòng)代理生命周期管理設(shè)計(jì),控制移動(dòng)代理的創(chuàng)建、執(zhí)行、掛起、重新執(zhí)行、停止和毀壞。在實(shí)施認(rèn)證檢查后,移動(dòng)代理控制器決定移動(dòng)代理是否可以在系統(tǒng)中運(yùn)行。在注冊(cè)階段,移動(dòng)代理控制器通告移動(dòng)代理初始化事件,更新遷移歷史,一旦初始化完成,控制器將啟動(dòng)代理。
移動(dòng)代理通信功能設(shè)計(jì):移動(dòng)代理與其他的移動(dòng)代理合作,并提供相應(yīng)的定位服務(wù)。因?yàn)橐苿?dòng)代理能在網(wǎng)絡(luò)遷移,所以當(dāng)移動(dòng)代理要與其他的移動(dòng)代理通信時(shí),需要制定一種定位目標(biāo)代理的機(jī)制,包括定位本地和遠(yuǎn)程的目標(biāo)代理。這種機(jī)制的基礎(chǔ)是一個(gè)移動(dòng)代理數(shù)據(jù)庫(kù),移動(dòng)代理數(shù)據(jù)庫(kù)是一個(gè)目錄,通過(guò)它能識(shí)別移動(dòng)代理位置以及執(zhí)行狀態(tài)等屬性。
移動(dòng)代理遷移功能設(shè)計(jì):提供代理遷移能力。在基于任務(wù)的遷移中,因此只需要遷移代碼到目標(biāo)主機(jī),這樣就不用保存和傳輸大量的執(zhí)行狀態(tài)信息。對(duì)于遷移路徑,設(shè)計(jì)采用“行程表”的方法,行程表記錄了代理遷移的路徑及其在每個(gè)主機(jī)上初始執(zhí)行的方法入口點(diǎn)。在創(chuàng)建代理時(shí)需要給代理一個(gè)初始的行程表,在代理開始運(yùn)行后,它能夠隨時(shí)對(duì)這個(gè)行程表進(jìn)行修改以適應(yīng)應(yīng)用需求及分布環(huán)境動(dòng)態(tài)變化的需要;
③信息轉(zhuǎn)換模塊設(shè)計(jì):代理中代碼和狀態(tài)信息需要在網(wǎng)絡(luò)中進(jìn)行傳輸,信息轉(zhuǎn)換模塊的作用就是將代理中的狀態(tài)信息與代碼轉(zhuǎn)換成序列化的字節(jié)數(shù)組。因?yàn)樵诰W(wǎng)絡(luò)傳輸中可以傳輸字符串,也可以傳輸對(duì)象,傳字符串的時(shí)候接收方很容易解析出來(lái),但是如果傳一個(gè)對(duì)象的話,對(duì)方讀完字節(jié)流后并不知道傳的什么對(duì)象,所以就沒(méi)有辦法轉(zhuǎn)換成原來(lái)的對(duì)象并解析對(duì)象的屬性,所以這時(shí)候就需要序列化和反序列化;
④信息傳輸模塊設(shè)計(jì):實(shí)現(xiàn)代理在網(wǎng)絡(luò)上的移動(dòng),會(huì)將字節(jié)數(shù)組附上相關(guān)的系統(tǒng)信息,如系統(tǒng)名稱以及移動(dòng)代理的id等,并通過(guò)代理傳輸協(xié)議實(shí)現(xiàn)代理在網(wǎng)絡(luò)上的移動(dòng),并為其分配執(zhí)行環(huán)境和服務(wù)接口。
如今網(wǎng)絡(luò)上常用的代理傳輸協(xié)議是由IBM提出的ATP框架結(jié)構(gòu)[7,8],ATP定義了移動(dòng)代理傳輸?shù)恼Z(yǔ)法和語(yǔ)義,具體實(shí)現(xiàn)了移動(dòng)代理在執(zhí)行環(huán)境之間的移動(dòng)機(jī)制。在ATP協(xié)議的基礎(chǔ)上,對(duì)其進(jìn)行了一定的改進(jìn),形成了新的代理傳輸協(xié)議(Agent Transport Agreement,ATA),ATA定義了一組原語(yǔ)性的接口和基礎(chǔ)消息集,使其不僅能提供字節(jié)流的傳輸,還能提供數(shù)據(jù)報(bào)以及代理的傳輸,ATA采用“盡力重傳”的策略,即上層還沒(méi)有將一個(gè)尚未接收的報(bào)文或者代理滑出接收窗口,ATA[9,10]就會(huì)超時(shí)重傳這個(gè)報(bào)文或者代理,這樣就能保證代理傳輸過(guò)程中的可靠性。
2.3 工作原理
在實(shí)際應(yīng)用中,群首可以向網(wǎng)絡(luò)發(fā)出一個(gè)或多個(gè)移動(dòng)代理,該代理按照特定的路線(用戶預(yù)定義,或由代理動(dòng)態(tài)確定)在網(wǎng)絡(luò)中漫游并與各群成員節(jié)點(diǎn)交互,完成任務(wù)后攜帶處理結(jié)果返回代理發(fā)起者或者群首。
移動(dòng)代理體現(xiàn)了Internet上的“推”模型。移動(dòng)代理可以帶著新的軟件組件和安裝過(guò)程或者任務(wù)包直接前往用戶的個(gè)人計(jì)算機(jī),進(jìn)行自動(dòng)升級(jí)和任務(wù)執(zhí)行。
當(dāng)群首A打算運(yùn)行一段任務(wù)的程序,但這段應(yīng)用程序所需要的數(shù)據(jù)在群成員B時(shí),為了節(jié)省帶寬,避免數(shù)據(jù)的多次流動(dòng),群首A可以通過(guò)移動(dòng)代理軟件將任務(wù)分配到群成員B運(yùn)行,群成員B運(yùn)行完成后只需要將結(jié)果返回給群首A即可。
首先群首A通過(guò)應(yīng)用接口輸入想要運(yùn)行的任務(wù)代碼程序,任務(wù)代碼程序會(huì)進(jìn)入移動(dòng)代理,創(chuàng)建新的移動(dòng)代理。在實(shí)施認(rèn)證檢查后,移動(dòng)代理控制器通告移動(dòng)代理初始化事件,更新遷移歷史,初始化完成后,控制器將啟動(dòng)代理,然后由代理通信模塊和遷移模塊提供目標(biāo)定位和遷移路徑。
然后移動(dòng)代理會(huì)對(duì)信息轉(zhuǎn)換模塊發(fā)出請(qǐng)求,接著轉(zhuǎn)換層將代理的狀態(tài)信息與代碼轉(zhuǎn)換成序列化的字節(jié)數(shù)組。這時(shí)如果成功,代理會(huì)將字節(jié)數(shù)組傳送至信息傳輸模塊,由信息傳輸模塊在字節(jié)數(shù)組附上相關(guān)的系統(tǒng)信息,如系統(tǒng)名稱以及代理的id等,并應(yīng)用ATA協(xié)議通過(guò)網(wǎng)絡(luò)傳至群成員B,群成員B通過(guò)ATA接口,接收到系統(tǒng)傳來(lái)的字節(jié)數(shù)組及系統(tǒng)信息;最后,轉(zhuǎn)換層對(duì)字節(jié)數(shù)組反序列化,得到移動(dòng)代理的狀態(tài)信息與代碼,此時(shí)任務(wù)代碼便可以在群成員B上執(zhí)行,完成了任務(wù)分配的工作,當(dāng)群成員B執(zhí)行完成后便可以將處理結(jié)果打包到代理返回群首A。
2.4 開發(fā)環(huán)境
開發(fā)語(yǔ)言:JAVA;
運(yùn)行環(huán)境:Windows XP操作系統(tǒng);中標(biāo)麒麟操作系統(tǒng)。
移動(dòng)代理管理軟件在實(shí)際網(wǎng)管中得到了應(yīng)用。某大型計(jì)算機(jī)網(wǎng)絡(luò)管理中心,總控制中心需要定期對(duì)各個(gè)分控制中心進(jìn)行系統(tǒng)升級(jí)和維護(hù)。如果基于原有系統(tǒng)而不引入移動(dòng)代理,則系統(tǒng)維護(hù)人員需要分別到實(shí)地去對(duì)各個(gè)分控制中心的服務(wù)器進(jìn)行升級(jí)更新,花費(fèi)大量的人力和時(shí)間,且效率很低。使用移動(dòng)代理管理軟件可以解決上述問(wèn)題。
首先將總控制中心和各個(gè)分控制中心進(jìn)行組網(wǎng),如圖2所示,形成以總控制中心為群首,各個(gè)分控制中心為群成員的群組網(wǎng)絡(luò)。

圖2 群組網(wǎng)示意圖
然后在總控制中心和分控制中心分別安裝移動(dòng)代理管理軟件。移動(dòng)代理可以攜帶新的軟件組件和安裝升級(jí)包。
移動(dòng)代理攜帶的信息包括:
①升級(jí)軟件包,
②群首和群成員的IP地址,
③認(rèn)證信息。
工作流程如下:
①群首(總控制中心)將系統(tǒng)的升級(jí)程序打包到移動(dòng)代理中;②群首根據(jù)各個(gè)分控制中心(群成員)的服務(wù)器地址制定代理的“行程表”;③群成員根據(jù)“行程表”自主移動(dòng)到第一個(gè)群成員A;④群成員A與移動(dòng)代理進(jìn)行信息交互,更新升級(jí)軟件;⑤移動(dòng)代理繼續(xù)移動(dòng),根據(jù)“行程表”移動(dòng)至群成員B;⑥以此類推,移動(dòng)代理根據(jù)“行程表”繼續(xù)移動(dòng),直至遍歷所有需要更新系統(tǒng)的群成員;⑦最后移動(dòng)代理攜帶執(zhí)行結(jié)果返回群首。
通過(guò)移動(dòng)代理攜帶升級(jí)軟件進(jìn)行流轉(zhuǎn),當(dāng)群成員的軟件需要發(fā)生改變或進(jìn)行升級(jí)維護(hù)時(shí),如圖3所示,只需群首把新的服務(wù)程序發(fā)送到相應(yīng)的群成員節(jié)點(diǎn)上,而無(wú)需人工逐個(gè)節(jié)點(diǎn)進(jìn)行安裝,節(jié)約了大量的時(shí)間與人力,大大提高了管理效率。

圖3 基于移動(dòng)代理的系統(tǒng)升級(jí)示意圖
通過(guò)研究移動(dòng)代理軟件實(shí)現(xiàn),包括應(yīng)用需求輸入、移動(dòng)代理管理、信息轉(zhuǎn)換和信息傳輸?shù)裙δ埽瑫r(shí)研究了移動(dòng)代理技術(shù)在群管理中的工作流程。可以有效平衡網(wǎng)絡(luò)負(fù)載,降低網(wǎng)絡(luò)的高動(dòng)態(tài)、高時(shí)延等影響,同時(shí)多個(gè)代理通過(guò)通信機(jī)制協(xié)同工作,最終實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)的自動(dòng)化、智能化和動(dòng)態(tài)管理。
[1]肖增良,樂(lè)曉波.基于與或依賴圖的多Agent系統(tǒng)任務(wù)分解算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,40(2):267-272.
[2]劉曉明,黃傳河.一種基于移動(dòng)AGENT技術(shù)的網(wǎng)絡(luò)管理[J].計(jì)算機(jī)應(yīng)用研究,2004,12(1):65-69.
[3]Rydstrom L B.Software Fault Content and Reliability Esti-mations for Telecommunications System[J].IEEE Trans. Selected Areas in Communications,1990,8(2):262-271.
[4]Thomas Downs,Anthony Scott.Evaluating the Performance idSoftwareReliabilityModels[J].IEEETrans. Reliability,1992,41(4):12-16.
[5]Zahedi F,Ashrafi N.Software Reliability Allocation Based on Structure Utility,Price and Cost[J].IEEE Trans.Soft-ware Eng,1991,17(21):345-356.
[6]Beaumont O,Casanova H,Legrand A.Scheduling divisible loads onStar and Tree Networks:Results and Open Prob-lems[J].IEEE Transon Parallel and Distributed Systems,2005,l6(3):207-218.
[7]朱淼良,邱瑜.移動(dòng)代理系統(tǒng)綜述[J].計(jì)算機(jī)研究與發(fā)展,2001(1):16-25.
[8]劉波,羅軍舟.網(wǎng)絡(luò)管理中多agent的半在線調(diào)度算法[J].計(jì)算機(jī)研究與發(fā)展,2006,40(2):51-54.
[9]王媛媛,譚獻(xiàn)海.移動(dòng)代理系統(tǒng)-IBM的Aglets[D].成都:西南交通大學(xué),2002:36-39.
[10]金黎黎,孔令富.協(xié)同設(shè)計(jì)環(huán)境中任務(wù)分解與調(diào)度的研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(22):5291-5293.
Cluster Management Based on Mobile Agent
HUO Yong-hua1,CHANG Han-ming2,CAO Yi3
(1.The 54th Research Institute of CETC,Shijiazhuang Hebei 050081,China;2.Xidian University,Xi’an Shaanxi 710071,China;3.Military Representative Office of General Staff Headquarters Informationization Department Shijiazhuang Hebei 050081,China)
Firstly,some advantages of intelligent mobile agent in network management are studied,including reduction of network load and delay,autonomous executing,dynamical adaptivity to environment,heterogeneity and coordination.A mobile agent software is designed,composed of the API module,mobile agent module,information conversion module and information transmission module.The software developed in JAVA has the ability like application requirements inputting and the cross-platform management based on mobile agent.Combining mobile agent with cluster management,this paper discusses its operation principles,and verifies them with instances.
mobile agent;agent migration;agent transport agreement;cluster head;cluster member
TP393
A
1003-3114(2015)06-65-3
10.3969/j.issn.1003-3114.2015.06.17
霍永華,昌漢明,曹 毅.基于移動(dòng)代理的群管理探討[J].無(wú)線電通信技術(shù),2015,41(6):65-67,83.
2015-08-06
國(guó)防基礎(chǔ)科研計(jì)劃基金項(xiàng)目資助
霍永華(1977―),女,高級(jí)工程師,主要研究方向:通信網(wǎng)絡(luò)管理。昌漢明(1989―),男,碩士研究生,主要研究方向:通信網(wǎng)絡(luò)管理。