摘要:提出了一種基于移動代理的可復(fù)用網(wǎng)管系統(tǒng)模型。這一模型的核心內(nèi)容是任務(wù)代理、導(dǎo)航代理和代理池,通過這三個部分的協(xié)同工作來實(shí)現(xiàn)系統(tǒng)對于子網(wǎng)的透明性,即系統(tǒng)的可復(fù)用性;提出了多代理協(xié)作和多代理分組傳輸?shù)膬?yōu)化方法,通過優(yōu)化,改善該模型下系統(tǒng)的運(yùn)行性能。實(shí)驗(yàn)結(jié)果表明,該模型有效地屏蔽了子網(wǎng)差異性,提高了網(wǎng)管系統(tǒng)的運(yùn)行效率。
關(guān)鍵詞:移動代理; 可復(fù)用性; 網(wǎng)絡(luò)管理; 多代理協(xié)作
中圖分類號:TP393.07文獻(xiàn)標(biāo)志碼:A
文章編號:1001-3695(2008)03-0876-02
在網(wǎng)絡(luò)管理系統(tǒng)的研究中,傳統(tǒng)的解決方式是管理者/代理模式。這種模式擴(kuò)展性較差,且管理者與代理之間的通信頻繁,網(wǎng)絡(luò)通信量較大,影響系統(tǒng)運(yùn)行性能;同時也不支持離線狀態(tài)下的系統(tǒng)運(yùn)維。在移動代理技術(shù)發(fā)展和相對成熟以后,應(yīng)用移動代理技術(shù)實(shí)現(xiàn)的網(wǎng)管系統(tǒng)較傳統(tǒng)模式要優(yōu)秀得多。首先,移動代理作為一段獨(dú)立的程序具有一定的智能性和重構(gòu)性,大大提高了網(wǎng)管系統(tǒng)的可擴(kuò)展性;其次,移動代理的遷移特性使得管理站與被管節(jié)點(diǎn)之間的通信次數(shù)、通信量減少,大大提高了系統(tǒng)運(yùn)行效率;同時還保證了系統(tǒng)在離線狀態(tài)下的運(yùn)維。
基于移動代理的網(wǎng)管系統(tǒng)發(fā)展至今,也經(jīng)歷了幾個階段。最早的模型是一種扁平式的移動代理網(wǎng)絡(luò)結(jié)構(gòu),后來有學(xué)者提出分域概念,使網(wǎng)絡(luò)結(jié)構(gòu)出現(xiàn)層次化,而將這種模式進(jìn)一步發(fā)展,出現(xiàn)了真正的層次化基于移動代理的網(wǎng)絡(luò)結(jié)構(gòu),也有效地兼容了已有網(wǎng)管系統(tǒng)。所有的這些模式的不同都體現(xiàn)在管理站對被管節(jié)點(diǎn)的直接或間接的管理方式上的不同,從而達(dá)到提高系統(tǒng)運(yùn)行效率和適應(yīng)大型網(wǎng)絡(luò)能力的目的。對于大型網(wǎng)絡(luò)中異構(gòu)子網(wǎng)的支持卻較少提到。本文結(jié)合以上所述的系統(tǒng)模型,提出了一種構(gòu)建可復(fù)用于異構(gòu)子網(wǎng)的基于移動代理的網(wǎng)管系統(tǒng)解決方案,并提出建立層次化的移動代理運(yùn)行環(huán)境,更有效地完成了復(fù)雜的網(wǎng)絡(luò)管理任務(wù)[1, 2]。
1 可復(fù)用的基于移動代理的網(wǎng)絡(luò)管理系統(tǒng)模型
可復(fù)用的基于移動代理的網(wǎng)管系統(tǒng)模型采用層次化網(wǎng)絡(luò)結(jié)構(gòu),在管理站、網(wǎng)關(guān)和被管節(jié)點(diǎn)中植入移動代理運(yùn)行環(huán)境(mobile agent execution environment,MAEE),在管理站中引入任務(wù)代理,在網(wǎng)關(guān)中引入代理池和導(dǎo)航代理,如圖1所示。
管理站包含一個用于網(wǎng)絡(luò)管理的圖形用戶界面(GUI)、一個完成各種網(wǎng)絡(luò)管理任務(wù)的移動代理代碼庫以及一個裝配工廠用于將移動代理和一定的策略配置如路由等裝配起來以發(fā)送到目標(biāo)子網(wǎng)完成管理任務(wù)。
MAEE 是支持移動代理的重要平臺,它完成移動代理的創(chuàng)建、運(yùn)行、傳送、認(rèn)證、接收和保護(hù)等功能,為移動代理提供位置透明、便于控制、安全可靠的運(yùn)行環(huán)境。因?yàn)槿蝿?wù)代理、導(dǎo)航代理和代理池之間的主從性、包含性、繼承性很復(fù)雜,所以在本模型中,MAEE要符合層次化設(shè)計。層次化是指一個移動代理可以被另一個移動代理所包含,被包含的移動代理稱為子代理,包含子代理的移動代理稱為父代理,子代理也可稱為父代理的內(nèi)部代理。系統(tǒng)中的任務(wù)代理就是子代理,導(dǎo)航代理則是父代理。父代理可攜帶子代理在網(wǎng)間節(jié)點(diǎn)作遷移;同時,父代理還可以調(diào)用子代理的方法,這些方法包括信息管理接口、遷移至其他節(jié)點(diǎn)的接口以及銷毀接口,相反,子代理不可調(diào)用父代理的任何方法[3, 4]。
在這樣一個網(wǎng)絡(luò)結(jié)構(gòu)中,真正使網(wǎng)管系統(tǒng)具備可復(fù)用性的核心部分是任務(wù)代理、導(dǎo)航代理和代理池。任務(wù)代理、導(dǎo)航代理和代理池是移動代理的三種類型,它們都具備移動代理的全部特性,同時又有不同的作用。任務(wù)代理是與具體管理任務(wù)相關(guān)的代理,它可以在被訪問節(jié)點(diǎn)上執(zhí)行它的管理任務(wù)。任務(wù)代理可以由一個子網(wǎng)遷移到另一個子網(wǎng),而無須了解所到子網(wǎng)的拓樸結(jié)構(gòu);導(dǎo)航代理是與遷移路徑相關(guān)的代理,不具有任何具體的管理任務(wù)應(yīng)用程序。它裝載并指引一個或多個任務(wù)代理在多個目的節(jié)點(diǎn)間遷移;代理池安裝在目標(biāo)子網(wǎng)的網(wǎng)關(guān)上,完成導(dǎo)航代理的生成、克隆、保存、銷毀和路線預(yù)定義等功能,如圖2所示。
當(dāng)用戶通過GUI發(fā)動一個網(wǎng)絡(luò)管理操作時,管理站會根據(jù)請求指令在移動代理代碼庫中尋找相匹配的移動代理程序。如果代碼庫中沒有此類代理程序,則由MAEE生成一個特定的移動代理,并裝配上相應(yīng)的管理任務(wù),形成一個任務(wù)代理。此代理程序可隨即寫入代碼庫中,以備下次使用。
如圖2(a)所示,當(dāng)任務(wù)代理遷移至目標(biāo)子網(wǎng)的網(wǎng)關(guān)時,網(wǎng)關(guān)中的代理池會尋找或生成一個特定遷移路徑的空閑導(dǎo)航代理,將任務(wù)代理裝載到導(dǎo)航代理中;圖2(b)描述了導(dǎo)航代理攜帶著任務(wù)代理,按照代理池預(yù)設(shè)的遷移路徑,逐一到達(dá)目的節(jié)點(diǎn),從而完成網(wǎng)管任務(wù)。
這樣,任務(wù)代理與導(dǎo)航代理職責(zé)分開,任務(wù)代理只注重于管理任務(wù)的完成,不去管在目標(biāo)子網(wǎng)中該如何遷移,而導(dǎo)航代理注重按照代理池預(yù)設(shè)的路徑在子網(wǎng)中遷移,不必在意在這些節(jié)點(diǎn)上執(zhí)行哪些操作。管理者可以在不考慮各個子網(wǎng)之間差異性的情況下分派任務(wù)代理,完成網(wǎng)絡(luò)管理任務(wù),從而實(shí)現(xiàn)了系統(tǒng)的可復(fù)用性。
2性能優(yōu)化
2.1多代理協(xié)作
層次化的移動代理運(yùn)行環(huán)境的代理層次和代理間遷移的特性有效地實(shí)現(xiàn)了網(wǎng)管系統(tǒng)的可復(fù)用性。多代理協(xié)作可以進(jìn)一步提高網(wǎng)管系統(tǒng)的運(yùn)行效率。當(dāng)任務(wù)代理到達(dá)目標(biāo)子網(wǎng)后,在導(dǎo)航代理的指引下,按照一定的路線在子網(wǎng)節(jié)點(diǎn)間遷移,最后匯總所采集的信息,然而這樣做比較浪費(fèi)通信帶寬,具有較大的延遲,使系統(tǒng)運(yùn)行效率降低。為了解決這一問題,可采用多代理協(xié)作的原則。將任務(wù)代理需要遍歷的多個節(jié)點(diǎn)分成若干組,針對每一個組生成一個從代理,這個從代理繼承自任務(wù)代理(此時的任務(wù)代理可稱為主代理),可完成主代理的所有指定任務(wù),不同的是它的遍歷節(jié)點(diǎn)較少。這樣,多個從代理在各自的節(jié)點(diǎn)間遷移,完成管理任務(wù),最后上報給主代理[5, 6],從而有效地節(jié)省了系統(tǒng)運(yùn)行的時間,如圖3所示。
此優(yōu)化方法會增加一定的通信量,但對系統(tǒng)的運(yùn)行時間并不會造成大的影響,因?yàn)槎啻硎窃谧泳W(wǎng)內(nèi)部協(xié)作,而子網(wǎng)的帶寬較大,所增加的通信量對系統(tǒng)運(yùn)行時間影響很小,遠(yuǎn)遠(yuǎn)小于所節(jié)省下來的時間。在后面的實(shí)驗(yàn)結(jié)果可以證實(shí)此結(jié)論。
當(dāng)任務(wù)代理要完成的任務(wù)存在多個節(jié)點(diǎn)間的因果關(guān)系時,任務(wù)代理則必須依次在節(jié)點(diǎn)間遷移,不可同時執(zhí)行,也不可變換遷移次序。這種情況下,不可以采用多代理協(xié)作的機(jī)制。
2.2多代理分組傳輸
經(jīng)過對網(wǎng)絡(luò)帶寬實(shí)際情況的廣泛細(xì)致研究發(fā)現(xiàn),通常情況下,子網(wǎng)作為更小一些的網(wǎng)絡(luò)單元,網(wǎng)絡(luò)帶寬相對較寬,通信數(shù)據(jù)量的增大對通信效率影響不大,可以承受較大的通信量;而如圖1所示的模型中,從管理站到子網(wǎng)網(wǎng)關(guān)之間的網(wǎng)絡(luò),通常帶寬相對較窄,通信數(shù)據(jù)量的變化較明顯地影響通信效率,甚至?xí)霈F(xiàn)網(wǎng)絡(luò)擁塞。不僅如此,任務(wù)代理在派遣至子網(wǎng)時的體積雖然不大,但在子網(wǎng)中完成管理任務(wù)后,通常會攜帶大量任務(wù)反饋信息,在窄帶寬的網(wǎng)間傳輸數(shù)據(jù)量大的數(shù)據(jù)包很容易出現(xiàn)擁塞現(xiàn)象。
針對這一問題,本文依照分組傳輸?shù)臋C(jī)制,將攜帶大量信息的任務(wù)代理分組分成若干體積較小的代理包,每個代理包也是一個移動代理,只是攜帶的數(shù)據(jù)量小很多,因此可以順利完成遷移。傳輸完畢后,在管理站中重新組合各個代理包,以讀取反饋信息,如圖4所示。同時,分組傳輸還有助于實(shí)現(xiàn)斷點(diǎn)續(xù)傳的功能[7]。
此方法可以有效地減少擁塞現(xiàn)象,但是分組越多,在管理站一側(cè)系統(tǒng)的處理時間會增加。管理站的計算能力遠(yuǎn)比移動代理的計算能力大得多,所以與單代理傳輸相比,總體性能還是得到提高,且分組越多,提高越明顯。在后面的實(shí)現(xiàn)結(jié)果中可以證實(shí)此結(jié)論。
3實(shí)驗(yàn)驗(yàn)證與結(jié)果分析
3.1網(wǎng)絡(luò)設(shè)置
本節(jié)以網(wǎng)絡(luò)管理中的故障管理為實(shí)驗(yàn)實(shí)例,收集子網(wǎng)中各節(jié)點(diǎn)的故障日志。網(wǎng)絡(luò)規(guī)模由1個管理者節(jié)點(diǎn)、1個子網(wǎng)網(wǎng)關(guān)節(jié)點(diǎn)和20個子網(wǎng)網(wǎng)內(nèi)節(jié)點(diǎn)組成。實(shí)驗(yàn)比較了基于管理者/代理模式的網(wǎng)管模型、未使用優(yōu)化的基于移動代理的可復(fù)用網(wǎng)管模型和使用了上述兩種優(yōu)化方法的基于移動代理的可復(fù)用網(wǎng)管模型的系統(tǒng)運(yùn)行性能。每一個網(wǎng)內(nèi)節(jié)點(diǎn)所產(chǎn)生的故障日志為1 MB,子網(wǎng)為10 Mbps的以太局域網(wǎng)。多代理分組上限為500 KB,即每500 KB的數(shù)據(jù)量劃分一個代理包。
3.2性能參數(shù)
本文通過系統(tǒng)運(yùn)行時間(t)這一性能參數(shù)來分析網(wǎng)管系統(tǒng)運(yùn)行性能。系統(tǒng)運(yùn)行時間(t)是指從管理者節(jié)點(diǎn)向子網(wǎng)網(wǎng)關(guān)節(jié)點(diǎn)發(fā)送網(wǎng)管任務(wù)請求開始,到最終收集到子網(wǎng)網(wǎng)內(nèi)所有節(jié)點(diǎn)的故障日志為止所歷經(jīng)的總時間。
3.3實(shí)驗(yàn)結(jié)果
圖5描述了子網(wǎng)網(wǎng)內(nèi)節(jié)點(diǎn)個數(shù)變化時,三種模型的網(wǎng)管系統(tǒng)運(yùn)行時間的變化情況。隨時節(jié)點(diǎn)數(shù)目的增加,三種模型的系統(tǒng)運(yùn)行時間都增大,但是基于管理者/代理模式的網(wǎng)管模型增加的幅度最大,使用優(yōu)化后的基于移動代理的可復(fù)用網(wǎng)管模型幅度最小。這是由于在管理者/代理模式下,每收集一個節(jié)點(diǎn)的日志,管理者均需要向該節(jié)點(diǎn)發(fā)送指令,等結(jié)果返回后再向下一個節(jié)點(diǎn)發(fā)送指令,這樣使得交互過于頻繁,從而導(dǎo)致網(wǎng)絡(luò)通信量的增大,系統(tǒng)運(yùn)行時間也會增大;而基于移動代理的網(wǎng)管模型則只需要管理者發(fā)送一次指令,即可完成所有節(jié)點(diǎn)的結(jié)果返回,大大減小了網(wǎng)絡(luò)通信量,節(jié)省了網(wǎng)絡(luò)帶寬,縮短了系統(tǒng)運(yùn)行時間。在不使用優(yōu)化方法時,一個代理遍歷所有節(jié)點(diǎn),使代理在節(jié)點(diǎn)間遷移時攜帶的日志信息量逐漸增大,當(dāng)節(jié)點(diǎn)數(shù)量較大時,會大大占用網(wǎng)絡(luò)帶寬,影響系統(tǒng)運(yùn)行性能;而使用優(yōu)化方法后,多代理有效地分割了大信息量,降低了網(wǎng)絡(luò)帶寬占有量,提高了網(wǎng)管系統(tǒng)的運(yùn)行效率,進(jìn)而縮短系統(tǒng)運(yùn)行時間。
4結(jié)束語
本文提出了一種在異構(gòu)網(wǎng)絡(luò)環(huán)境下可復(fù)用的基于移動代理的網(wǎng)絡(luò)管理系統(tǒng)模型。在將移動代理分為導(dǎo)航代理、任務(wù)代理和代理池三種類型的情況下,進(jìn)一步使用了多代理協(xié)作和多代理分組傳輸?shù)膬?yōu)化方法,從而改善系統(tǒng)運(yùn)行性能。通過實(shí)驗(yàn)比較了基于服務(wù)器/代理模式的網(wǎng)管模型和基于移動代理的可復(fù)用網(wǎng)管模型的系統(tǒng)運(yùn)行性能。實(shí)驗(yàn)結(jié)果表明,采用了本文提出的基于移動代理的可復(fù)用網(wǎng)關(guān)模型的系統(tǒng)運(yùn)行效率得到了改善。
圖4多代理分組傳輸示意圖圖5實(shí)驗(yàn)結(jié)果數(shù)據(jù)圖
參考文獻(xiàn):
[1]SATOH I. A framework for building reusable mobile agents for network management[C]//Proc of Network Operations and Management Symposium.[S.l.]: IEEE/IFIP, 2002:51-64.
[2]BREUGST M, BUSSE I, COVACI S, et al. A mobile agent platform for IN based service environments[C]//Proc of the 7th IEEE Intelligent Network Workshop.1998:279-290.
[3]SATOH I. A formalism for hierarchical mobile agents[C]//Proc of International Symposium on.Software Engineering for Parallel and Distributed Systems, 2000 :165172.
[4]SATOH I. Building ceusable mobile agents for network management[J]. IEEE Trans on Systems, Man and Cybernetics, 2003,33(3):350-357.
[5]QU Wenyu, SHEN Hong. Mobile agentbased execution modeling[C]//Proc of the 4th International Conference on Hybrid Intelligent Systems. 2004:148153.
[6]SATOH I. Selection of mobile agents[C]//Proc of the 24th International Conference on Distributed Computing Systems. 2004:484-493.
[7]于海燕, 李焱, 張霞. 一個企業(yè)內(nèi)部網(wǎng)絡(luò)的移動代理平臺的設(shè)計與實(shí)現(xiàn)[J]. 計算機(jī)應(yīng)用研究,2004,21(3):188190.
“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文”