移动代理的概念及技术架构.doc

上传人:m**** 文档编号:542708400 上传时间:2023-06-02 格式:DOC 页数:10 大小:88KB
返回 下载 相关 举报
移动代理的概念及技术架构.doc_第1页
第1页 / 共10页
移动代理的概念及技术架构.doc_第2页
第2页 / 共10页
移动代理的概念及技术架构.doc_第3页
第3页 / 共10页
移动代理的概念及技术架构.doc_第4页
第4页 / 共10页
移动代理的概念及技术架构.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《移动代理的概念及技术架构.doc》由会员分享,可在线阅读,更多相关《移动代理的概念及技术架构.doc(10页珍藏版)》请在金锄头文库上搜索。

1、移动代理的概念及技术架构移动代理的概念移动代理(Mo bile Ag e n t)是90年代中期刚刚兴起的一种分布式计算模型,目的是使程序的执行尽可能靠近数据,降低网络通讯开销,节省带宽,平衡负载,加快任务的执行,从而提高分布式系统的处理效率。Agent的研究起源于人工智能领域。Agent是指模拟人类行为关系、具有一定智能并能够自主运行和提供相应服务的程序。与现在流行的软件实体(如对象、构件)相比,Agent粒度更大,智能化程序更高。随着网络技术的发展,可阻让Agent在网络中移动并执行,完成某些功能。利用资源同处一台主机和网络的优势,处理和使用这些资源,代表用户完成特定的任务,这就是移动代理

2、(Mobile Agent)的基本思想。移动Agent的概念是20世纪90年代由General Magic公司在其商业系统Telescript中提出来的。移动Agent是一个能在异构的网络中自主地从一台主机迁移到另一台主机,并与其它Agent或资源交互的程序,实际上它是Agent技术与分布式技术相结合的产物。移动Agent是一类特殊的软件Agent,它除了具有软件Agent的基本特性自治性、响应性、主动性,还具有移动性,即它可以在网络上从一台主机自主地移动到另一台主机,代表用户完成指定的任务。由于移动Agent可以在异构的软、硬件网络环境中自由移动,因此这种新的计算模式能动态适应变化了的网络环

3、境,有效地降低分布式计算中的网络负载、提高通信效率,并具有很好的安全性和容错能力。移动Agent与传统的网络计算模式有着本质的区别。它不同于远程过程调用(RPC),这是因为移动Agent能够不断地从网络中的一个节点移动到另一个节点,而且这种移动是可以根据自身需要进行选择的。移动Agent也不同于一般的进程迁移,因为一般来说进程迁移不允许进程自己选择什么时候迁移以及迁移到哪里,而移动Agent却可以在任意时刻进行移动,并且可以移动到它想去的任何地方。移动Agent 不同于Java语言中的Applet,因为Applet只能从服务器向客户机做单方向的移动,而移动Agent却可以在客户机和服务器之间进

4、行双向移动。移动代理是一种网络计算,是包含代码、数据和执行情景的一个程序,它能够自行选择运行地点和时机,根据具体情况中断自身的执行,从一个主机移动到另一个主机自动运行。就是说,移动代理执行中可以在任意挂起,把自己发送到另一主机,在新主机上从挂起点恢复运行,代表用户完成指定的任务,如检索、过滤和收集信息,并及时将有关结果返回。移动代理的技术架构移动Agent是Agent中的一种,它除了具备一般Agent所具有的共同特性之外还具有以下几个主要特点:可移动性这是它和一般Agent的本质区别所在,移动Agent的移动经常会在异构操作系统的机器之间持续迁移。由于移动的对象除了程序外还必须存有当前的运行状

5、态信息和相应的数据,因此移动Agent能够在某一台机器上暂停执行,然后根据程序用户的要求或者在动态决定了迁移路线之后,从网络上一台机器迁移到另一台机器上再次运行。自治性自治性是指代理与授权者不需要持续的网络连接和交互。自治性是移动代理模型的一个重要特性,它允许代理自主工作而不需要开放的TCP连接。移动代理本身携带其代码,具有自己的决策过程。持续性当系统网络崩溃时,移动Agent能够不受影响地重新取得有关状态信息,透明地恢复计算,它的状态信息在网络上传输时是持续的。离线计算即使用户没有接上网络,移动Agent也能继续执行分配给它们的任务并能在用户重新上网后把相应的执行结果适时地反馈给用户。移动A

6、gent系统结构不同的移动Agent系统的体系结构各不相同,但几乎所有的移动Agent系统都包括两个部分:移动Agent和移动Agent服务设施(MA环境或MAE、MA服务器)。移动Agent服务设施基于Agent传输协议ATP(Agent Transfer Protoc01)实现Agent在主机问的转移,并为其分配执行环境和服务接口;Agent在服务设施中执行,通过ACL(Agent Communication Language)相互通信并访问服务设施提供的服务。如图2-3。移动Agent服务设施为移动Agent提供安全、正确的运行环境,实现MA的移动、MA执行状态的建立、MA的启动、实施M

7、A的约束机制、容错策略、安全控制、通信机制,并提供基本服务模块。移动Agent的基本特征是能够在异构的网络节点间移动,并通过与服务设施和其它Agent协商,获取、提供服务来完成全局目标。因此移动Agent体系结构必须体现以下需求: (1)跨平台的语义一致性:移动。kgent移动过程中的主机可能基于不同的硬件和软件系统,在这些异构平台上具有相同语义的语言才能保证移动Agent行为的正确性。(2)支持移动的语义:传统的负载均衡(Load Balance)也能够对软件进行调度,使之分布在不同主机上执行。移动Agent与之最大的区别在于移动Agent的移动是自主决策的结果,而负载均衡造成的程序转移对软

8、件是透明和被动的。移动Agent移动的自主性体现在代码中具有实现转移的语义,类似Move To(next Host)这样的语句。转移语义与当前主机协商,并将控制权交给Agent服务设施,由服务设施实现Agent的封装和转移。(3)持久化(Persistence):移动Agent在转移过程中必须保存代码和当前运行状态才能在目标节点继续执行,移动Agent的异步性也要求保存Agent的任务求解结果。(4)安全机制:移动性所产生的非确定性使安全性成为移动Agent的一个重要问题,缺乏安全性会造成恶意Agent在网络中的泛滥或受到恶意主机的侵害。移动Agent的安全机制一方面保证自身不受到攻击,另一方

9、面保证自身是非恶性的。(5)移动Agem的规模:由于全部代码和状态在网络中传输,因此移动Agent应该限制于中小规模,否则将丧失网络资源方面的优势。根据以上移动Agent系统的需求,移动Agent体系结构定义为以下相互关联的模块:安全代理、环境交互模块、任务求解模块、知识库、内部状态集、约束条件和路由策略(图2-4)体系结构的最外层为安全代理,它是Agent与外界环境通讯的中介,执行Agent的安全策略,阻止外界环境对Agent的非法访问。Agent通过环境交互模块感知外部环境并作用于外部环境。环境交互模块实现ACL的语义,保证使用相同ACL的Agent和服务设施之间的正确通信和协商,而通信的

10、内容与ACL无关。Agent的任务求解模块包括Agent的运行模块及Agent任务相关的推理方法和规则。运行模块包括Agent的初始化程序和事件处理程序,前者在初始或移动到另一节点后启动事件处理线程,后者持续自主运行,感知外部环境的请求,并依据内部的规则和状态产生动作。Agent运行模块可以设计为任务独立的模块,任务相关性由不同的推理方法和规则集来实现。移动Agent服务设施负责为移动Agent建立安全、正确的运行环境,为移动Agent提供最基本的服务(包括创建、传输、执行),实施针对具体移动Agent的约束机制、容错策略、安全控制和通信机制等。一般,移动Agent服务设施至少应包括以下基本服

11、务:生命周期服务:实现Agent的创建、移动、持久化存储、执行环境分配。服务设施可以只实现生命周期服务的子集,如移动用户的服务设施可设计为只创建、发送和接收而无需提供服务,称为“客户设施”。事件服务:包括Agent传输协议和Agent通信协议,实现Agent在服务设施间的移动和服务设施与其它Agent间的事件传递。目录服务:向Agent提供一定范围内服务设施的列表及描述信息,并与gent协商形成路由选择。服务设施的目录服务可以由自身实现,也可以建立一个独立的目录设施提供目录服务。安全服务:对Agent进行身份验证和完整性检查,并在运行时提供安全的Agent执行环境来避免可能造成的系统崩溃。应用

12、服务:应用服务是任务相关的服务,在生命周期服务的基础上提供面向特定任务的服务。移动Agent关键技术移动Agent利用先进的思想提供智能化的服务和任务规划求解,为实现这个目标,必须解决好几个关键技术。1.移动Agent理论模型目前一般基于BDI系统。BDI系统也称为意识系统,是把Agent看作理性主体,通过信念(Belie)、愿望(Desire)或意图(Intention)属性来预测Agent行为。把主体看作意识系统的主要好处有:对于设计者和分析者来说,这样是自然的。对描述复杂系统的行为提供了简洁的表示,有利于理解和解释。不依赖于具体物理实现就可以得到许多主体的规则和模式。可被Agent自身用

13、来相互推理。目前大多数学者利用模态逻辑理论来研究BDI理论模型,并得出了一些有益的结论。2.Agent通信语言ACL移动Agent系统的通信机制包括Agent与移动Agent平台之间的通信以及Agent与Agent之间的通信。要实现这过程就必须建立一种适于Agent及服务设旖之间协商的语言或者协议,称之为Agent通信语言ACL。移动Agent的ACL应具有应用的普遍性、简洁致的语法和语义、通信内容的独立性、支持良好的互操作性、响应迅速等。3.Agent传输协议Agent传输协议定义了移动Agent传输的语法和语义,具体实现了移动Agent在服务设旋间的移动机制。4.路由策略移动Agent的效

14、率很大程度上决定于路由策略的优化。5.系统性能影响及其测试工具当前的移动Agent系统虽然可以减少网络负载和克服网络延迟,但却增加了服务方主机的负载,基于可移植性和安全方面的原因,Agent通常都是采用相对较慢的解释性语言,并且当到达目的地后,必须置入相应的运行环境中才能执行。这些原因使得移动Agent的执行速度低于普通程序。以java为代表的即时编译使得移动代码的执行速度显著提高。性能测试工具方面的研究目前还很不成熟,基本上没有很好的测试工具。6.容错策略移动Agent系统必须考虑到移动过程中可能存在的网络故障、长时间停机等。容错机制是移动Agent系统服务质量的重要评价标准,也是移动Age

15、nt优势得以体现的重要手段。7.互操作性互操作性是不同Agent系统协调工作的基本特征。目前,市场上移动Agent系统非常多,它们采用的技术和框架有一定的差异,这使得它们之间难于很好地协调工作。8.控制策略必须对移动实施有效的控制,避免移动Agent失控(如不停地复制、迁移等),另外,为了保证性能,引入负载均衡的机制很有必要。9.强移动性Agent移动分为弱移动和强移动。强移动是包含代码状态、数据状态和执行状态的移动,它要求Agent的实现语言提供Agent执行状态的外表化和内在化的功能,即要求移动Agent系统提供捕捉执行状态、恢复执行状态的功能。移动Agent的主要优点:(1) 节约网络带宽、克服网络延迟; (2) 支持实时远程交互(3) 封装网络协议(4) 支持异步自主执行(5) 支持离线计算(6) 支持平台无关性(7) 具有动态适应性(8) 提供个性化服务(9) 增强应用的健壮性和容错能力移动Agent的应用领域计算机智能化和网络化进程促成了Agent技术的迅速崛起和广泛应用。移动Agent技术是计算机软件技术的又一次深刻变革,它为解决复杂、动态、分布式智能应用提供了一种全新的计算手段。它的自主性、协作性、智能性以及移动性使它在电子商务、分布式信息搜索、电信网络业务、并行处理、网络安全等许多领域得到广泛应用。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号