论文部分内容阅读
摘要:目前的网络管理在系统的可靠性、伸缩性、灵活性等方面存在诸多不足,该文以JADE为平台研究了智能网络管理系统的模型构建。
关键词:AGENT;JADE;建模
中图分类号:TP18文献标识码:A文章编号:1009-3044(2009)22-0000-00
计算机技术和通信技术的快速发展使计算机网络结构和规模日趋复杂,逐渐趋向于大规模、异质(不同功能、不同协议、不同拓扑结构)网络互联的复杂结构,组网技术越来越灵活,网络设备网络终端的种类越来越多样化。但是,网络管理体系结构仍然以集中式结构为主,不能很好地适应网络结构的发展需求。因此,借助于AGENT技术在JADE平台上建构网络管理系统,使管理模型结构灵活,对于单个网络资源具有一定的独立性,而对于系统整体来说具有更好的系统扩展性。
1 网络管理系统
JADE是一个开放和分布式的软件,它非常适合开发基于分布式并且系统中存在着主体间交互的系统。作为一种中间件,JADE提供了很多Agent基础类以及调试和配置Agent的工具,包括一套图形界面工具来管理和监控Agent的配置参数和状态。JADE为MAS系统提供了以下功能:(1)Agent管理系统(Agent Management System,简称AMS),负责控制平台内Agent的活动、生存周期及外部应用程序与平台的交互,规范Agent在平台上用独一无二的名字来标识;(2)目录服务器(Directory Facilitator,简称DF),负责对平台内的Agent提供黄页服务,注册服务类型以供查找;(3)消息传送系统,也称为Agent交流通道(Agent Communication Channel,简称ACC),控制平台内或不同平台之间的消息传输、消息编码、消息解析等。
为了保证Agent的分布式计算和协作机制,Jade构建行为池(Behaviour Pool)来存储所有添加的Behaviour,这些Behaviour呈队列排列,按照进入行为池的顺序依次被调用。Behaviour方法被调用时,首先执行Action方法,然后判断Done函数返回的布尔值,如果为真则将Behaviour移出行为池,继续下一个Behaviour的执行。Jade提供了这样一个基类,其他Agent所需要做的是重载setup,action,done,takeDown这几个方法来实现特定的功能模块[6]。
3 网络管理系统设计
现行的计算机网络管理存在的主要现象是缺乏智能性,灵活行差,可靠性差,管理活动受限,管理效率低下。将AGENT技术引入网络管理系统,借助于AGENT的特性改变网络管理系统结构的现状。当网络将要发生拥塞时,AGENT可预见性使系统在这之前采取相关的行动,避免拥塞的发生。在每个网络设备上建立各自我管理的网络管理AGENT,这样各个网络设备都拥有各自独立的管理机制,又可以与其它网络管理agent进行交互协作,协同处理拥塞和故障以解决整个网络的状态。各网络管理AGENT无法解决自身问题时,可以协同其他AGENT解决也能在无法解决时提交网络管理总AGENT,由网络管理员来进行响应解决。
网络设备包括路由器、交换机、服务器和工作站等硬件设施,针对每个网络硬件设备建立独立的网络设备管理AGENT负责相应网络资源的本地控制和管理等,根据地理环境或使用局域范围建立协同AGENT,协同AGENT负责网络局域内的各个网络管理AGENT之间的协同管理网络管理总AGENT负责统一管理所有网络管理AGENT,网络管理总AGENT同时也是网络管理员和系统之间的交互接口。网络管理系统的结构设计如图2所示。
网络管理AGENT:负责对单个的网络设备进行监督,在网络设备状态发生改变时,向网络管理总AGENT发出事件信号,如果是引起故障发生的事件,先有网络管理AGENT自己根据本地资源信息判断是否问题根源所在,并且进行自我排除,如无法自我排除则通知给协同AGENT。网络管理员根据网络运行的情况,将会适当地产生一些管理策略,通过与总控制器之间进行人机交互,使得总控制器掌握了管理策略,并用形式化的描述发布出去,各个本地控制器在时钟事件的触发下,更新了管理策略。网络管理AGENT的逻辑图如图3所示。
协同Agent:负责对管理任务进行推理和分解,管理区域范围内的网络资源。接收区域内的各个网络设备的管理AGENT提交的故障事件,进行各网络设备协同分析解决故障。如果无法解决,则上交网络管理总AGENT。
网络管理总Agent:负责对网络系统异常情况的产生机制以及对异常情况的处理机制进行部署。监控整个网络的性能和负责网络设备的配置,接收各个网络管理AGENT提交的局域范围内无法协调解决的问题,在整个系统范围内进行资源调配解决。该AGENT还向网络管理员提供管理系统的界面。网络管理员根据网络运行情况,制定管理策略,通过与网络管理总AGENT之间进行人机交互。网络管理总AGENT将管理员的管理策略转化成具体的信息发布给各网络管理AGENT,有必要的话也传播给各个协同AGENT。各网络管理AGENT在时钟事件的触发下,按照接收到的信息进行对相应的网络管理AGENT进行管理策略的更新,从而保证整个网络系统的功能和性能。
4 系统实现
本系统是主要开发工具包括JDK,JSP,JADE。本系统采用Tomcat5.5作为运行时的服务器,Tomcat可以提供JSP服务器的功能同时也支持Servlet。
在JADE平台中,建立一个完成特定任务的Agent需要使用jade.core包中两个重要的类,即Agent类和Behaviour类[7]。Agent类定义了JADE系统中Agent的公共基类,提供了收发消息,Agent的生存期状态管理等方法。开发Agent就是设计一个继承jade.core.Agent的类,设计Agent的行为实现特定的功能。Agent的状态有8个,包括初始(AP_INITIATED) 、活动 (AP_ACTIVE) 、悬挂(AP_SUSPENDED) 、等待(AP_WAITING) 、已删除(AP_DELETED) 、迁移 (AP_TRANSIT) 、克隆(AP_COPY) 、离开(AP_GONE) 。只有在AP_ACTIVE 状态下,Agent 的行为才能被执行。
Behaviour类:Agent提供的每个功能/服务是通过一个或多个行为实现的。在定义行为类时需要定义action()方法和done()方法(循环行为CyclicBehaviour没有done()方法)。当线程进入action()方法运行时,占用CPU直到action()方法返回,才能将CPU让给其它行为。对于单个步骤执行时间较长的操作,应该将其分解成一些子操作,Agent行为的线程总是从action()开始运行,使用一个开关语句每次执行其中的一个子操作,这样可以避免影响其它任务的并行执行。当done()方法返回true 时,行为的action()方法不再执行。
5 结束语
本文对网络管理系统的建模进行了研究,使用了JADE开发架构。JADE架构提供了构造多Agent系统的机制,使Agent的执行和通信实现变的更加容易,为Agent技术和JADE平台的融合进行了应用研究,系统只是实现了网络管理部分功能,网络管理系统的完善、网络的安全性还有待于进一步的研究。
参考文献
[1] 岑贤道.网络管理协议及应用开发[M].北京:清华大学出版社,1998:1-215.
[2] Kahani M,Beadle H W.Decentralised Approaches Network Management[J].Communications Review.ACM SIGCOMM,1997(3):36-47.
[3] 郭军.网络管理[M].北京:北京邮电大学出版社,2001.
[4] 沈洁,许有志,罗建利.基于MAS的本体在企业知识管理中的应用研究[J].计算机工程与设计,2005,26(11):2963-2965.
[5] Bellifemine F,Caire G,Poggi A,et al.JADE A White Paper[Z].2003.
[6] Tutorial for beginners[EB/OL].http://jade.tilab.com/JADEProgramming Tutorial for beginners.pdf.
关键词:AGENT;JADE;建模
中图分类号:TP18文献标识码:A文章编号:1009-3044(2009)22-0000-00
计算机技术和通信技术的快速发展使计算机网络结构和规模日趋复杂,逐渐趋向于大规模、异质(不同功能、不同协议、不同拓扑结构)网络互联的复杂结构,组网技术越来越灵活,网络设备网络终端的种类越来越多样化。但是,网络管理体系结构仍然以集中式结构为主,不能很好地适应网络结构的发展需求。因此,借助于AGENT技术在JADE平台上建构网络管理系统,使管理模型结构灵活,对于单个网络资源具有一定的独立性,而对于系统整体来说具有更好的系统扩展性。
1 网络管理系统
JADE是一个开放和分布式的软件,它非常适合开发基于分布式并且系统中存在着主体间交互的系统。作为一种中间件,JADE提供了很多Agent基础类以及调试和配置Agent的工具,包括一套图形界面工具来管理和监控Agent的配置参数和状态。JADE为MAS系统提供了以下功能:(1)Agent管理系统(Agent Management System,简称AMS),负责控制平台内Agent的活动、生存周期及外部应用程序与平台的交互,规范Agent在平台上用独一无二的名字来标识;(2)目录服务器(Directory Facilitator,简称DF),负责对平台内的Agent提供黄页服务,注册服务类型以供查找;(3)消息传送系统,也称为Agent交流通道(Agent Communication Channel,简称ACC),控制平台内或不同平台之间的消息传输、消息编码、消息解析等。
为了保证Agent的分布式计算和协作机制,Jade构建行为池(Behaviour Pool)来存储所有添加的Behaviour,这些Behaviour呈队列排列,按照进入行为池的顺序依次被调用。Behaviour方法被调用时,首先执行Action方法,然后判断Done函数返回的布尔值,如果为真则将Behaviour移出行为池,继续下一个Behaviour的执行。Jade提供了这样一个基类,其他Agent所需要做的是重载setup,action,done,takeDown这几个方法来实现特定的功能模块[6]。
3 网络管理系统设计
现行的计算机网络管理存在的主要现象是缺乏智能性,灵活行差,可靠性差,管理活动受限,管理效率低下。将AGENT技术引入网络管理系统,借助于AGENT的特性改变网络管理系统结构的现状。当网络将要发生拥塞时,AGENT可预见性使系统在这之前采取相关的行动,避免拥塞的发生。在每个网络设备上建立各自我管理的网络管理AGENT,这样各个网络设备都拥有各自独立的管理机制,又可以与其它网络管理agent进行交互协作,协同处理拥塞和故障以解决整个网络的状态。各网络管理AGENT无法解决自身问题时,可以协同其他AGENT解决也能在无法解决时提交网络管理总AGENT,由网络管理员来进行响应解决。
网络设备包括路由器、交换机、服务器和工作站等硬件设施,针对每个网络硬件设备建立独立的网络设备管理AGENT负责相应网络资源的本地控制和管理等,根据地理环境或使用局域范围建立协同AGENT,协同AGENT负责网络局域内的各个网络管理AGENT之间的协同管理网络管理总AGENT负责统一管理所有网络管理AGENT,网络管理总AGENT同时也是网络管理员和系统之间的交互接口。网络管理系统的结构设计如图2所示。
网络管理AGENT:负责对单个的网络设备进行监督,在网络设备状态发生改变时,向网络管理总AGENT发出事件信号,如果是引起故障发生的事件,先有网络管理AGENT自己根据本地资源信息判断是否问题根源所在,并且进行自我排除,如无法自我排除则通知给协同AGENT。网络管理员根据网络运行的情况,将会适当地产生一些管理策略,通过与总控制器之间进行人机交互,使得总控制器掌握了管理策略,并用形式化的描述发布出去,各个本地控制器在时钟事件的触发下,更新了管理策略。网络管理AGENT的逻辑图如图3所示。
协同Agent:负责对管理任务进行推理和分解,管理区域范围内的网络资源。接收区域内的各个网络设备的管理AGENT提交的故障事件,进行各网络设备协同分析解决故障。如果无法解决,则上交网络管理总AGENT。
网络管理总Agent:负责对网络系统异常情况的产生机制以及对异常情况的处理机制进行部署。监控整个网络的性能和负责网络设备的配置,接收各个网络管理AGENT提交的局域范围内无法协调解决的问题,在整个系统范围内进行资源调配解决。该AGENT还向网络管理员提供管理系统的界面。网络管理员根据网络运行情况,制定管理策略,通过与网络管理总AGENT之间进行人机交互。网络管理总AGENT将管理员的管理策略转化成具体的信息发布给各网络管理AGENT,有必要的话也传播给各个协同AGENT。各网络管理AGENT在时钟事件的触发下,按照接收到的信息进行对相应的网络管理AGENT进行管理策略的更新,从而保证整个网络系统的功能和性能。
4 系统实现
本系统是主要开发工具包括JDK,JSP,JADE。本系统采用Tomcat5.5作为运行时的服务器,Tomcat可以提供JSP服务器的功能同时也支持Servlet。
在JADE平台中,建立一个完成特定任务的Agent需要使用jade.core包中两个重要的类,即Agent类和Behaviour类[7]。Agent类定义了JADE系统中Agent的公共基类,提供了收发消息,Agent的生存期状态管理等方法。开发Agent就是设计一个继承jade.core.Agent的类,设计Agent的行为实现特定的功能。Agent的状态有8个,包括初始(AP_INITIATED) 、活动 (AP_ACTIVE) 、悬挂(AP_SUSPENDED) 、等待(AP_WAITING) 、已删除(AP_DELETED) 、迁移 (AP_TRANSIT) 、克隆(AP_COPY) 、离开(AP_GONE) 。只有在AP_ACTIVE 状态下,Agent 的行为才能被执行。
Behaviour类:Agent提供的每个功能/服务是通过一个或多个行为实现的。在定义行为类时需要定义action()方法和done()方法(循环行为CyclicBehaviour没有done()方法)。当线程进入action()方法运行时,占用CPU直到action()方法返回,才能将CPU让给其它行为。对于单个步骤执行时间较长的操作,应该将其分解成一些子操作,Agent行为的线程总是从action()开始运行,使用一个开关语句每次执行其中的一个子操作,这样可以避免影响其它任务的并行执行。当done()方法返回true 时,行为的action()方法不再执行。
5 结束语
本文对网络管理系统的建模进行了研究,使用了JADE开发架构。JADE架构提供了构造多Agent系统的机制,使Agent的执行和通信实现变的更加容易,为Agent技术和JADE平台的融合进行了应用研究,系统只是实现了网络管理部分功能,网络管理系统的完善、网络的安全性还有待于进一步的研究。
参考文献
[1] 岑贤道.网络管理协议及应用开发[M].北京:清华大学出版社,1998:1-215.
[2] Kahani M,Beadle H W.Decentralised Approaches Network Management[J].Communications Review.ACM SIGCOMM,1997(3):36-47.
[3] 郭军.网络管理[M].北京:北京邮电大学出版社,2001.
[4] 沈洁,许有志,罗建利.基于MAS的本体在企业知识管理中的应用研究[J].计算机工程与设计,2005,26(11):2963-2965.
[5] Bellifemine F,Caire G,Poggi A,et al.JADE A White Paper[Z].2003.
[6] Tutorial for beginners[EB/OL].http://jade.tilab.com/JADEProgramming Tutorial for beginners.pdf.