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

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

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

圖3 基于移動代理的系統升級示意圖
通過研究移動代理軟件實現,包括應用需求輸入、移動代理管理、信息轉換和信息傳輸等功能,同時研究了移動代理技術在群管理中的工作流程。可以有效平衡網絡負載,降低網絡的高動態、高時延等影響,同時多個代理通過通信機制協同工作,最終實現對網絡的自動化、智能化和動態管理。
[1]肖增良,樂曉波.基于與或依賴圖的多Agent系統任務分解算法[J].計算機工程與設計,2009,40(2):267-272.
[2]劉曉明,黃傳河.一種基于移動AGENT技術的網絡管理[J].計算機應用研究,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]朱淼良,邱瑜.移動代理系統綜述[J].計算機研究與發展,2001(1):16-25.
[8]劉波,羅軍舟.網絡管理中多agent的半在線調度算法[J].計算機研究與發展,2006,40(2):51-54.
[9]王媛媛,譚獻海.移動代理系統-IBM的Aglets[D].成都:西南交通大學,2002:36-39.
[10]金黎黎,孔令富.協同設計環境中任務分解與調度的研究[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
霍永華,昌漢明,曹 毅.基于移動代理的群管理探討[J].無線電通信技術,2015,41(6):65-67,83.
2015-08-06
國防基礎科研計劃基金項目資助
霍永華(1977―),女,高級工程師,主要研究方向:通信網絡管理。昌漢明(1989―),男,碩士研究生,主要研究方向:通信網絡管理。