APP下载

基于移动代理的群管理探讨

2015-06-23霍永华昌汉明

无线电通信技术 2015年6期
关键词:代理成员传输

霍永华,昌汉明,曹 毅

(1.中国电子科技集团公司第五十四研究所,河北 石家庄 050081;2.西安电子科技大学,陕西 西安 710071;3.总参信息化部石家庄地区军事代表室,河北 石家庄 050000)

基于移动代理的群管理探讨

霍永华1,昌汉明2,曹 毅3

(1.中国电子科技集团公司第五十四研究所,河北 石家庄 050081;2.西安电子科技大学,陕西 西安 710071;3.总参信息化部石家庄地区军事代表室,河北 石家庄 050000)

研究了智能移动代理在网管领域的应用优势,包括降低网络负载和延时、自主执行、动态适应环境、异构性、协作性等方面。接着设计了移动代理软件,移动代理软件由应用接口模块、移动代理模块、信息转换模块和信息传输模块组成。具有应用需求输入、移动代理管理功能,同时基于JAVA语言开发,具有跨平台能力。并将移动代理与群管理相结合,研究了工作原理。最后附实例验证。

移动代理;代理迁移;代理传输协议;群首;群成员

0 引言

软件代理和分布式计算技术相结合引入了智能移动代理技术,为网络管理的发展提供了新的思路。智能移动Agent[1,2]的最大特点就是对移动性的加强,它被抽象地定义为能够自动完成用户任务的程序,可以不固定开始运行的系统,具有能将自身在网络上传输并在目的系统上继续执行的特性。将智能移动Agent定义为具有跨地址空间的、可持续运行的Agent,以区别于传统的固定代理。已有大量文献研究把智能移动Agent应用到网络管理领域,这与它在网络管理方面应用优势是分不开的。

1 移动代理的作用

移动代理具有协作性、快速反应性和易重构性[3,4]。在复杂的网络系统中能自主地从一台主机移动到另一台主机,该程序能够选择何时、何地移动。在移动时,该程序可以根据要求挂起其运行,然后转移到网络的其他地方重新开始或继续其执行,最后返回结果和消息。

①降低网络负载:传统的网络管理中,管理系统要完成一个操作,往往需要多个操作,意味着在管理者和被管节点之间进行多次通信。应用智能移动Agent后,只要创建一个智能移动Agent,将其发送到被管节点,在当地执行完后,只需返回执行结果。这样大大减少传输的流量,降低了网络的负载;

②异步和自主执行功能[5,6]:移动设备通常依赖网络连接而进行工作。而一些任务要求移动设备与网络之间必须保持持续的连接,但这并不可行。要解决这个难题,可以将任务嵌入到智能移动代理之中,派遣到网络上,智能移动代理独立创建它的进程,异步、自主地完成任务;移动设备则可以在这之后再连接上网络,收回代理,取得服务结果;

③克服网络延时:在一些系统应用中,对于环境做出实时反应是及其重要的。对此智能移动代理技术提供了一个很好的解决方案,通过由中央处理器将智能移动代理派遣到系统局部,直接执行控制器的指令,从而消除网络延迟所带来的隐患;

④动态适应环境:智能移动代理具有感知运行环境和对其变化做出自主反应的能力。多个代理可以拥有在网络上各主机之间合理分布的能力,以维持解决某一特定问题的最优配置;

⑤自然的异构性:开放分布式计算各平台之间往往从硬件到软件都是异质的。由于智能移动代理往往独立于特定的主机和传输层协议,而仅仅依赖于它们的执行环境,因而为进行无缝的系统集成提供了极为有利的条件;

⑥协作性:网络管理系统中,管理实体仅能对其管理域进行管理,当管理问题涉及到多个管理域时,必然需要管理节点之间交换管理信息并进行管理任务的协商(negotiation)、协调(coordination)、和协作(cooperation)。智能移动agent具有协作性;

⑦健壮性和容错性:由于智能移动代理具有能针对不利情况和事件动态做出反应的能力,因此减少了建立健壮和容错的分布式系统的难度。

2 软件模块设计

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操作系统;中标麒麟操作系统。

3 实例验证

移动代理管理软件在实际网管中得到了应用。某大型计算机网络管理中心,总控制中心需要定期对各个分控制中心进行系统升级和维护。如果基于原有系统而不引入移动代理,则系统维护人员需要分别到实地去对各个分控制中心的服务器进行升级更新,花费大量的人力和时间,且效率很低。使用移动代理管理软件可以解决上述问题。

首先将总控制中心和各个分控制中心进行组网,如图2所示,形成以总控制中心为群首,各个分控制中心为群成员的群组网络。

图2 群组网示意图

然后在总控制中心和分控制中心分别安装移动代理管理软件。移动代理可以携带新的软件组件和安装升级包。

移动代理携带的信息包括:

①升级软件包,

②群首和群成员的IP地址,

③认证信息。

工作流程如下:

①群首(总控制中心)将系统的升级程序打包到移动代理中;②群首根据各个分控制中心(群成员)的服务器地址制定代理的“行程表”;③群成员根据“行程表”自主移动到第一个群成员A;④群成员A与移动代理进行信息交互,更新升级软件;⑤移动代理继续移动,根据“行程表”移动至群成员B;⑥以此类推,移动代理根据“行程表”继续移动,直至遍历所有需要更新系统的群成员;⑦最后移动代理携带执行结果返回群首。

通过移动代理携带升级软件进行流转,当群成员的软件需要发生改变或进行升级维护时,如图3所示,只需群首把新的服务程序发送到相应的群成员节点上,而无需人工逐个节点进行安装,节约了大量的时间与人力,大大提高了管理效率。

图3 基于移动代理的系统升级示意图

4 结束语

通过研究移动代理软件实现,包括应用需求输入、移动代理管理、信息转换和信息传输等功能,同时研究了移动代理技术在群管理中的工作流程。可以有效平衡网络负载,降低网络的高动态、高时延等影响,同时多个代理通过通信机制协同工作,最终实现对网络的自动化、智能化和动态管理。

[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―),男,硕士研究生,主要研究方向:通信网络管理。

猜你喜欢

代理成员传输
主编及编委会成员简介
主编及编委会成员简介
主编及编委会成员简介
主编及编委会成员简介
混合型随机微分方程的传输不等式
牵引8K超高清传输时代 FIBBR Pure38K
代理圣诞老人
关于无线电力传输的探究
代理手金宝 生意特别好
支持长距离4K HDR传输 AudioQuest Pearl、 Forest、 Cinnamon HDMI线