王朝百科
分享
 
 
 

移动Agent

王朝百科·作者佚名  2010-01-22  
宽屏版  字体: |||超大  

移动Agent

图2. 移动Agent系统 (右侧)

随着Internet应用的逐步深入,特别是信息搜索、分布式计算以及电子商务的蓬勃发展,人们越来越希望在整个Internet范围内获得最佳的服务,渴望将整个网络虚拟成为一个整体,使软件Agent能够在整个网络中自由移动,移动Agent的概念随即孕育而生。

20世纪90年代初,General Magic公司在推出其商业系统Telescript时第一次提出了移动Agent的概念,即一个能在异构网络环境中自主地从一台主机迁移到另一台主机,并可与其它Agent或资源交互的软件实体。移动Agent是一类特殊的软件Agent,它除了具有软件Agent的基本特性--自治性、响应性、主动性和推理性外,还具有移动性,即它可以在网络上从一台主机自主地移动到另一台主机,代表用户完成指定的任务。由于移动Agent可以在异构的软、硬件网络环境中自由移动,因此这种新的计算模式能有效地降低分布式计算中的网络负载、提高通信效率、动态适应变化了的网络环境,并具有很好的安全性和容错能力。

移动Agent可以看成是软件Agent技术与分布式计算技术相结合的产物,它与传统网络计算模式有着本质上的区别。移动Agent不同于远程过程调用(RPC),这是因为移动Agent能够不断地从网络中的一个节点移动到另一个节点,而且这种移动是可以根据自身需要进行选择的。移动Agent也不同于一般的进程迁移,因为一般来说进程迁移系统不允许进程自己选择什么时候迁移以及迁移到哪里,而移动Agent却可以在任意时刻进行移动,并且可以移动到它想去的任何地方。移动Agent更不同于Java语言中的Applet,因为Applet只能从服务器向客户机做单方向的移动,而移动Agent却可以在客户机和服务器之间进行双向移动。

虽然目前不同移动Agent系统的体系结构各不相同,但几乎所有的移动Agent系统都包含移动Agent(简称MA)和移动Agent服务设施(简称MAE)两个部分,如图2所示。

MAE负责为MA建立安全、正确的运行环境,为MA提供最基本的服务(包括创建、传输、执行),实施针对具体MA的约束机制、容错策略、安全控制和通信机制等。MA的移动性和问题求解能力很大程度上取取于MAE所提供的服务,一般来讲,MAE至少应包括以下基本服务:

事务服务 实现移动Agent的创建、移动、持久化和执行环境分配;

事件服务 包含Agent传输协议和Agent通信协议,实现移动Agent间的事件传递;

目录服务 提供移动Agent的定位信息,形成路由选择;

安全服务 提供安全的执行环境;

应用服务 提供面向特定任务的服务接口。

通常情况下,一个MAE只位于网络中的一台主机上,但如果主机间是以高速网络进行互联的话,一个MAE也可以跨越多台主机而不影响整个系统的运行效率。MAE利用Agent传输协议(Agent Transfer Protocol,ATP)实现MA在主机间的移动,并为其分配执行环境和服务接口。MA在MAE中执行,通过Agent通信语言(Agent Communication Language,ACL)相互通信并访问MAE提供的各种服务。

在移动Agent系统的体系结构中,MA可以细分为用户Agent(User Agent,UA)和服务Agent(Server Agent,SA)。UA可以从一个MAE移动到另一个MAE,它在MAE中执行,并通过ACL与其它MA通信或访问MAE提供的服务。UA的主要作用是完成用户委托的任务,它需要实现移动语义、安全控制、与外界的通信等功能。SA不具有移动能力,其主要功能是向本地的MA或来访的MA提供服务,一个MAE上通常驻有多个SA,分别提供不同的服务。由于SA是能不移动的,并且只能由它所在MAE的管理员启动和管理,这就保证了SA不会是"恶意的"。UA不能直接访问系统资源,只能通过SA提供的接口访问受控的资源,从而避免恶意Agent对主机的攻击,这是移动Agent系统经常采用的安全策略。

移动Agent是一个全新的概念,虽然目前还没有统一的定义,但它至少具有如下一些基本特征:

身份唯一性

移动Agent必须具有特定的身份,能够代表用户的意愿。

移动自主性

移动Agent必须可以自主地从一个节点移动到另一个节点,这是移动Agent最基本的特征,也是它区别与其他Agent的标志。

运行连续性

移动Agent必须能够在不同的地址空间中连续运行,即保持运行的连续性。具体说来就是当移动Agent转移到另一节点上运行时,其状态必须是在上一节点挂起时那一刻的状态。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有