老烟枪吧 关注:622贴子:35,854

移动Agent技术的发展、挑战与趋势

只看楼主收藏回复

刘大有  杨 博   杨 鲲
吉林大学计算机科学与技术学院
吉林大学符号计算与知识工程教育部重点实验室,长春 130012


IP属地:山东1楼2006-12-21 19:31回复
    7.1 引言
     移动Agent(Mobile Agent,也有文献将其称为Transportable Agent[1]或Itinerant Agent[2]。简记为MA)是一类特殊的Agent,它除了具有智能Agent的最基本特性-----自主性、反应性、主动性和交互性外,还具有移动性,即它可以在网络上从一台主机自主地移动到另一台主机,代表用户完成指定的任务。移动Agent可在异构的软、硬件网络环境中移动。移动Agent计算模式能有效地降低分布式计算中的网络负载。提高通信效率,支持离线计算,支持异步自主交互,可动态适应网络环境,具有安全性和容错能力。移动Agent计算模式集中了其他传统分布式技术(如客户/服务器模式、分布式对象技术、移动代码技术)的优点并结合分布式人工智能技术提供了一个普遍的(pervasive)、开放的(open)。广义的(generalized)、简便的(Simple)分布式应用开发框架[24],较之传统的网络编程方式更适合于网络应用系统的开发。MA的这些优点,决定了其广泛的应用前景,如应用于电子商务(E-Commerce)、个人助理(personal assistance)、安全代理(Secure brokering)、分布式信息查询(distributed information retrieval)、网络管理(network management)、信息监测与通告(information monitoring and notification)、信息与软件分发(Information & Software dissemintion)、并行处理(parallel processing)等领域。移动Agent受到了来自学术界、工业界的广泛关注。吸引了众多著名的大学。公司、研究机构进行研究开发工作,目前己经开发出很多MA系统,其中代表性系统主要有:General Magic公司的TeIeScript,IBM公司的Aglet,Mitsubishi公司的Concordia,Dartmouth学院的D'Agent,ObjectSpace公司的Voyager,DEC(Compaq)研究院的Obliq,Cornell大学的Tocama和Stuffgart大学的Mole等。
    虽然移动Agent具有强大的技术优势和巨大的应用前景,但它至今还没有成为计算机软件业的主流技术,这其中既有技术方面的原因,同时也有非技术方面的因素。本章回顾了移动Agent的发展过程,阐述了基本定义、关键技术和研究现状,分析了移动Agent技术目前面临的挑战,并预测了移动Agent技术的发展趋势。


    IP属地:山东2楼2006-12-21 19:31
    回复
      7.2 移动 Agent的研究背景
      移动Agent最初源于分布式系统研究领域,是分布式技术逐步发展的结果。Internet的飞速发展给移动Agent技术带来了新的机遇,在面向Internet的应用领域中,移动Agent技术越来越显示出其强大的优势和良好的发展前景。"Agent"一词将移动Agent和已经有几十年研究历史的智能Agent、多Agent系统联系在一起,使移动Agent技术成为Agent研究领域的一个重要分支。下文将从三个方面叙述移动Agent的研究背景。
      7.2.1 移动Agent是分布式技术发展的结果
      1,消息传递(message passing)
      在分布式系统中,最初的通信机制是消息传递[3]。进行通信的两个进程使用发送原语(Send)和接收原语(Receive)进行消息的发送和接收。消息传递支持同步(synchronous)和异步(asynchronous)两种方式,异步方式给通信带来了很大的灵活性,可以显著提高通信效率。但是,通信原语的使用使分布式应用的开发成为一项繁杂的工作,开发出的程序既容易出错而又难于分析和调试。
      2.远程过程调用(Remote Procedure Call,RPC)
      消息传递机制需要程序设计人员给出网络地址和同步点,通信层次太低。远程过程调用(RPC)[4]对此进行了改进,它隐蔽了网络的具体细节。使得用户使用远程服务就像进行一个本地函数调用一样,但在通信过程中需要远程与本地进行频繁的交互,如图7.1所示。


      IP属地:山东3楼2006-12-21 19:31
      回复
        ab


        IP属地:山东4楼2006-12-21 19:33
        回复
          3.远程求值(Remote Evaluation,REV)
          显然。远程过程调用正确执行的前提是:被调用的过程事先存在。这个要求限制了RPC在大型分布式系统中的应用。在很多情况下,要调用的过程在远程节点上并不存在。远程求值方式可以实现这个灵活性[5,6]。远程求值允许网络中的节点向远程节点发送子程序(subprogram)和参数信息。远程节点启动该"子程序",一些初始请求可由该子程序发出,中间结果也由该子程序处理,而不是发回源节点,子程序只是将最后的处理结果返回到源节点,如图7.2所示。


          IP属地:山东5楼2006-12-21 19:33
          回复
            ab


            IP属地:山东6楼2006-12-21 19:34
            回复
              4•、客户/服务器模式(Client/Server,C/S)
              分布式技术发展到今天,客户/服务器模式成为主流技术[7,8]。在客户/服务器通信模型中,通信的实体双方有固定、预先定义好的角色:服务器提供服务,客户使用服务。这种模式隐含了一种严格的依赖关系:客户依赖于服务器所提供的服务而工作。客户发出 嚣服务请求,然后在服务器上完成任务,最后服务器将处理结果返回到客户机,如图7.3所示。引人客户和服务器的角色,RPC模式和REV模式都是客户/服务器模式的一种。著名的C/S模式主要有:1.CORBA[9],它通过采用OO技术中的继承、重用和封装等使C/S模式更便于使用;2.分布式计算环境(DCE)RPC[10],它提供了更好的身份验证和安全机制,并通过用户级接口线程替代传统socket机制以获得更高层的通信抽象。


              IP属地:山东7楼2006-12-21 19:35
              回复
                ab


                IP属地:山东8楼2006-12-21 19:36
                回复
                  ab


                  IP属地:山东10楼2006-12-21 19:41
                  回复
                    6,移动Agent(Mobile Agent) 
                     Code-on-demand模式虽然能进行代码移动,但这种移动不是自主的,而且代码不得多次移动。MA模式克服了C/S模式和Code-on-demand模式的不足之处[13],MA可以(在一定范围内)随意移动到能提供服务的目标主机上,可以连续移动,而且这种移动是自主的。在MA模式中,原来C/S模式中的客户和服务器的界限消失了,被取而代之的是统一的"主机"的概念;原来Code-on-demand模式中代码具有了自主性,而且可以进行多次移动,典型地,Java中的applet和servlet被统一成移动Agent。这样的MA有其明显的优势。


                    IP属地:山东11楼2006-12-21 19:42
                    回复
                      ab


                      IP属地:山东12楼2006-12-21 19:43
                      回复
                        第一,MA技术能较大地减轻网络上的数据流量。通过将服务请求Agent移动到目标主机,使该MA直接访问该主机上的资源,与源主机只有较少的交互(如图7•5),从而避免了大量数据的网络传送,降低了系统对网络带宽的依赖;这同时也缩短了通信延时,提高了服务响应速度。从图7•5和图7•3两者的差别我们可以更清楚地认识到这一点。
                        第二,MA能以异步的方式自主地运行。我们可以将要完成的任务嵌入到MA中,并通过网络将其派出去,然后就可以断开源主机与目标主机的连接。此后,MA就独立于最初生成它的进程,可以异步自主地运行了。源主机可以在随后适当的时候再与目标主机连接并接收运行的结果信息。这对于移动设备或移动用户来说尤其有用。移动计算的真正意义也在于此。
                        第三,MA可以根据服务器和网络的负载动态决定移动目标,有利于负载均衡。而且,MA的智能路由减少了用户测览或搜寻时的判断。
                        第四,在进行任务处理时,可通过动态创建多个Agent并行工作提高效率并降低对任务的响应时间。
                        第五,能够克服网络隐患,在不可靠的网络中也能提供稳定的服务。例如,在远程工业实时控制系统中,通过存在隐患的网络传送控制信息,远不如将控制指令通过MA直接移动到该受控系统上执行安全。
                        总之,在网络一体化的时代,移动Agent技术较之于传统的分布式技术有着明显的优势。
                        7•移动Agent与负载平衡的比较
                        负载平衡是分布式系统中一个重要技术。负载平衡系统也允许作业或进程在网络上的重新定位或迁移,但这种移动是由05或相关的负载平衡应用程序决定的,被迁移的作业或进程根本无法知道,是完全被动的,即负载平衡系统要求迁移的透明性。移动Agent的移动性与此正好相反,移动Agent的移动是主动的,是该Agent显式请求的结果,这是由Agent的自主特性决定的。移动Agent移动的主动性要求实现移动Agent的语言具有移动语义,即要求移动Agent代码中包含形如GO<host>、JUMP<host>)或MOVE-TO<host>之类的语句或函数调用。这里。<host>是移动Agent所要访问的主机。当该语句或调用被执行时,Agent首先暂停运行,进行移动前的准备工作(如将数据、状态等信息包),然后移动到新主机上;在新主机上它被解包或重新安装,并从断点处继续执行。显然移动Agent的移动性与负载平衡系统中的移动性有着本质的不同,但利用移动Agent技术可以实现分布式系统的负载平衡。


                        IP属地:山东13楼2006-12-21 19:44
                        回复
                          ab


                          IP属地:山东15楼2006-12-21 19:45
                          回复
                            7.2.3 移动Agent是Agent研究领域的一个重要分支
                            Agent技术,特别是多Agent技术,为分布开放系统的分析、设计和实现提供了一种崭新的方法,被誉为是"软件开发的又一重大突破[16,17]",Agent技术已经被广泛应用到各个领域[15]。Agent及其相关概念和技术最早源于分布式人工智能(DAI),但从20世纪80年代末开始,Agent技术从DAI领域中拓展开来,并与许多其他领域相互借鉴和融合,在许多不同于最初DAl应用的领域得到了更为广泛的应用。面向Agent技术(AOT)作为一间设计和开发软件系统的新方法已经得到了学术界和企业界的广泛关注。
                            目前,对Agent的研究大致分为如下三个相互关联的方面:1.智能Agent[16,17,18];2.多Agent系统(MAS)[19,20];3.面向Agent的程序设计(AOP)[21,22]。智能Agent是多Agent系统研究的基础,我们也可以将智能Agent的研究统一在MAS的研究框架下,这样,智能Agent被看成MAS研究中的微观层次,主要研究Agent的理论和结构,包括Agent的概念、特性、分类,Agent的形式化表示和推理等;而有关Agent间的关系的研究则构成了MAS研究的宏观层次,它主要研究由多个Agent组成的系统中Agent的组织以及Agent间的通信、规划、协同、协作、协商与冲突消解、自组织和自学习等问题。智能Agent和MAS的成功应用要借助于Agent的应用方法(即AOP)以及AOP开发工具或平台。
                            随着网络技术和分布式技术,尤其是Internet/WWW技术的日益发展和其应用的不断深入,Agent技术在Internet上的应用及相关研究变得愈加活跃。White[23],Chess[24]等人认为移动Agent是具有移动性的智能Agent。Gilbert等人把移动Agent作为软件Agent的一个重要分支,他们在文献[25]中给出了软件Agent的分类,其中把移动性作为分类的一个标准。图7.7描述了他们给出的软件Agent的分类空间。


                            IP属地:山东17楼2006-12-21 19:46
                            回复
                              ab


                              IP属地:山东18楼2006-12-21 19:47
                              回复