在计算机科学中,移动主体(英语:mobile agent)是计算机软件和数据的结合体,能够自主地从一台计算机迁移至另一台计算机,并在目标计算机上继续执行。
定义移动主体,顾名思义,是一种类型的软件主体,具有自治性,社会能力(可通信性),学习的能力,最重要的是移动性。
具体来说,移动主体是一个程序的实例,能够将其状态从一个环境传输到另一个环境,保持数据完整,并且能够在新的环境中正确执行。移动主体决定什么时候移动,往哪里移动。移动通常是以远程过程调用的方式进行的。 正像用户指示互联网浏览器访问一个网站(浏览器只是下载了网站的一个拷贝,或动态网站的一个版本),同样地,移动主体通过数据复制完成移动。当移动主体决定移动时,移动主体首先保存它的状态,将保存的状态传输到新的主机,并在新的主机通过保存的状态恢复执行。
移动主体是移动代码的一种特殊形式,然而,与远程求值和按需代码程序设计范式相比,移动主体是主动的,因为在执行时,移动主体可以选择在不同的计算机间移动。这使得移动主体成为实现计算机网络中的分布式应用的强大的工具。
开放的多主体系统(MAS)是指在系统中由不同利益所有者拥有的主体可以不断地进入和离开系统。1
优点相对于传统主体,移动主体具有以下优点:
减少了网络流量- 传统的客户端/服务器计算方式,需要在客户端和服务器之间进行频繁的请求和应答。而使用移动主体,则可变为可移动的数据包,移动到服务器上进行计算,降低了网络负载。
有利于并行处理 - 移动主体可以在不同的异构网络主机上的并行执行。
较强的应变能力 - 移动主体可以根据主机环境的状态作出反应,例如可以根据主机的负载状况,决定是否移动到另一个主机上。
网络容错性 - 在客户端和服务器之间的连接断开时可以进行计算。另外,在一台主机关闭时,其上的移动主体可以接受到通知,并且在一定的时间内移动到其他主机上。
维护更灵活 - 要改变一个移动主体的动作,只有源计算机必须更新。
对于远程部署的软件,一个特别的优点是可移植性增强了,使得系统较少地受到软硬件环境的影响。2
移动主体的应用通常的应用包括:
资源可用性, 资源发现和监控
信息获取,系统信息收集,支持客户端/服务器范式的操作。
网络管理,网络吞吐量的远程手机,可用贷款监控,其他远程计算机的网络参数。
数据复制和过滤,服务器配置备份,文件搜集和分类,其他远程计算机的数据备份。
动态软件部署,远程安装监控和测量软件1
应用分布信息检索现代信息系统的特点是,信息分布在异构的和不可靠的网络中。移动主体的移动性使得它适合于分布信息环境,而它的智能性使得它适合于知识发现。利用移动主体可以达到浏览、搜寻和组织分布信息的目的。
移动主体分布信息检索是查询代码靠近分布数据,而不是传统的数据靠近代码。这种方式的显著优点是:从知识发现的角度上看,移动主体是对大量的分布信息的原始过滤,为进一步的知识发现提供了低量、高质的信息源。从运行效率上看,移动主体始终是与分布信息维护主体进行着高效的本地交互,这必将提高检索任务的执行速度。从网络的信息流量来看,移动主体只返回查询的最终结果,而不是中间数据,所以大大降低对网络带宽的要求。从系统的可靠性来看,移动主体只是在其移动时对网络可靠性有要求,所以整个系统的可靠性提高。从系统的灵活性看,移动主体的分布信息检索并不要求信息维护主体提供功能丰富的操作,而只要提供标准的操作原语,移动主体本身具有使用这些原语进行知识发现的智能性。从移动主体的网络运行环境来看,主体代码是跨平台的,适应于异构的网络环境。所以移动主体为分布知识发现提供了智能的程序设计范型。1
移动计算移动计算机的特点是与网络的间歇性连接,那么支持移动计算的关键是移动主体不回因为移动计算与网络的断接而死亡或丢失,其主要支持技术为移动主体的停靠机制。1
本词条内容贡献者为:
李岳阳 - 副教授 - 江南大学