欢迎来到天天文库
浏览记录
ID:10998495
大小:88.00 KB
页数:10页
时间:2018-07-09
《移动代理的概念及技术架构》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、移动代理的概念及技术架构移动代理的概念移动代理(MobileAgent)是90年代中期刚刚兴起的一种分布式计算模型,目的是使程序的执行尽可能靠近数据,降低网络通讯开销,节省带宽,平衡负载,加快任务的执行,从而提高分布式系统的处理效率。Agent的研究起源于人工智能领域。Agent是指模拟人类行为关系、具有一定智能并能够自主运行和提供相应服务的程序。与现在流行的软件实体(如对象、构件)相比,Agent粒度更大,智能化程序更高。随着网络技术的发展,可阻让Agent在网络中移动并执行,完成某些功能。利用资源同处一台主机和网络的优势,处理和使用
2、这些资源,代表用户完成特定的任务,这就是移动代理(MobileAgent)的基本思想。移动Agent的概念是20世纪90年代由GeneralMagic公司在其商业系统Telescript中提出来的。移动Agent是一个能在异构的网络中自主地从一台主机迁移到另一台主机,并与其它Agent或资源交互的程序,实际上它是Agent技术与分布式技术相结合的产物。移动Agent是一类特殊的软件Agent,它除了具有软件Agent的基本特性——自治性、响应性、主动性,还具有移动性,即它可以在网络上从一台主机自主地移动到另一台主机,代表用户完成指定的任
3、务。由于移动Agent可以在异构的软、硬件网络环境中自由移动,因此这种新的计算模式能动态适应变化了的网络环境,有效地降低分布式计算中的网络负载、提高通信效率,并具有很好的安全性和容错能力。移动Agent与传统的网络计算模式有着本质的区别。它不同于远程过程调用(RPC),这是因为移动Agent能够不断地从网络中的一个节点移动到另一个节点,而且这种移动是可以根据自身需要进行选择的。移动Agent也不同于一般的进程迁移,因为一般来说进程迁移不允许进程自己选择什么时候迁移以及迁移到哪里,而移动Agent却可以在任意时刻进行移动,并且可以移动到它
4、想去的任何地方。移动Agent不同于Java语言中的Applet,因为Applet只能从服务器向客户机做单方向的移动,而移动Agent却可以在客户机和服务器之间进行双向移动。移动代理是一种网络计算,是包含代码、数据和执行情景的一个程序,它能够自行选择运行地点和时机,根据具体情况中断自身的执行,从一个主机移动到另一个主机自动运行。就是说,移动代理执行中可以在任意挂起,把自己发送到另一主机,在新主机上从挂起点恢复运行,代表用户完成指定的任务,如检索、过滤和收集信息,并及时将有关结果返回。移动代理的技术架构移动Agent是Agent中的一种,
5、它除了具备一般Agent所具有的共同特性之外还具有以下几个主要特点:●可移动性这是它和一般Agent的本质区别所在,移动Agent的移动经常会在异构操作系统的机器之间持续迁移。由于移动的对象除了程序外还必须存有当前的运行状态信息和相应的数据,因此移动Agent能够在某一台机器上暂停执行,然后根据程序用户的要求或者在动态决定了迁移路线之后,从网络上一台机器迁移到另一台机器上再次运行。●自治性自治性是指代理与授权者不需要持续的网络连接和交互。自治性是移动代理模型的一个重要特性,它允许代理自主工作而不需要开放的TCP连接。移动代理本身携带其代
6、码,具有自己的决策过程。●持续性当系统网络崩溃时,移动Agent能够不受影响地重新取得有关状态信息,透明地恢复计算,它的状态信息在网络上传输时是持续的。●离线计算即使用户没有接上网络,移动Agent也能继续执行分配给它们的任务并能在用户重新上网后把相应的执行结果适时地反馈给用户。移动Agent系统结构不同的移动Agent系统的体系结构各不相同,但几乎所有的移动Agent系统都包括两个部分:移动Agent和移动Agent服务设施(MA环境或MAE、MA服务器)。移动Agent服务设施基于Agent传输协议ATP(AgentTransfer
7、Protoc01)实现Agent在主机问的转移,并为其分配执行环境和服务接口;Agent在服务设施中执行,通过ACL(AgentCommunicationLanguage)相互通信并访问服务设施提供的服务。如图2-3。移动Agent服务设施为移动Agent提供安全、正确的运行环境,实现MA的移动、MA执行状态的建立、MA的启动、实施MA的约束机制、容错策略、安全控制、通信机制,并提供基本服务模块。移动Agent的基本特征是能够在异构的网络节点间移动,并通过与服务设施和其它Agent协商,获取、提供服务来完成全局目标。因此移动Agent体
8、系结构必须体现以下需求:.(1)跨平台的语义一致性:移动。kgent移动过程中的主机可能基于不同的硬件和软件系统,在这些异构平台上具有相同语义的语言才能保证移动Agent行为的正确性。(2)支持移动的语义:
此文档下载收益归作者所有