在电脑科学中,移动主体(英语:mobile agent)是电脑软件和数据的结合体,能够自主地从一台电脑迁移至另一台电脑,并在目标电脑上继续执行。
定义和概览
移动主体,顾名思义,是一种类型的软件主体,具有自治性,社会能力(可通信性),学习的能力,最重要的是移动性。
具体来说,移动主体是一个程序的实例,能够将其状态从一个环境传输到另一个环境,保持数据完整,并且能够在新的环境中正确执行。移动主体决定什么时候移动,往哪里移动。移动通常是以远程过程调用的方式进行的。 正像用户指示互联网浏览器访问一个网站(浏览器只是下载了网站的一个拷贝,或动态网站的一个版本),同样地,移动主体通过数据复制完成移动。当移动主体决定移动时,移动主体首先保存它的状态,将保存的状态传输到新的主机,并在新的主机通过保存的状态恢复执行。
移动主体是移动代码的一种特殊形式,然而,与远程求值和按需代码程式设计范式相比,移动主体是主动的,因为在执行时,移动主体可以选择在不同的电脑间移动。这使得移动主体成为实现 电脑网络中的分布式应用的强大的工具。
开放的多主体系统(MAS)是指在系统中由不同利益所有者拥有的主体可以不断地进入和离开系统。
优点
相对于传统主体,移动主体具有以下优点:
- 减少了网络流量- 传统的客户端/伺服器计算方式,需要在客户端和伺服器之间进行频繁的请求和应答。而使用移动主体,则可变为可移动的数据包,移动到伺服器上进行计算,降低了网络负载。
- 有利于并行处理 - 移动主体可以在不同的异构网络主机上的并行执行。
- 较强的应变能力 - 移动主体可以根据主机环境的状态作出反应,例如可以根据主机的负载状况,决定是否移动到另一个主机上。
- 网络容错性 - 在客户端和伺服器之间的连接断开时可以进行计算。另外,在一台主机关闭时,其上的移动主体可以接受到通知,并且在一定的时间内移动到其他主机上。
- 维护更灵活 - 要改变一个移动主体的动作,只有源电脑必须更新。
对于远程部署的软件,一个特别的优点是可移植性增强了,使得系统较少地受到软硬件环境的影响。
移动主体的应用
通常的应用包括:
- 资源可用性, 资源发现和监控
- 资讯获取,系统资讯收集,支持客户端/伺服器范式的操作。
- 网络管理,网络吞吐量的远程手机,可用贷款监控,其他远程电脑的网络参数。
- 数据复制和过滤,伺服器配置备份,文件搜集和分类,其他远程电脑的数据备份。
- 动态软件部署,远程安装监控和测量软件
参见
- Aglets
- Fraglets