移动主体

在计算机科学中，移动主体（）是计算机软件和数据的结合体，能够自主地从一台计算机遷移至另一台计算机，并在目标计算机上继续执行。

定义和概览

移动主体，顾名思义，是一种类型的软件主体，具有自治性，社会能力（可通信性），学习的能力，最重要的是移动性。 

具体来说，移动主体是一个程序的实例，能够将其状态从一个环境传输到另一个环境，保持数据完整，并且能够在新的环境中正确执行。移动主体决定什么时候移动，往哪里移动。移动通常是以远程过程调用的方式进行的。 正像用户指示互联网浏览器访问一个网站（浏览器只是下载了网站的一个拷贝，或动态网站的一个版本），同样地，移动主体通过数据复制完成移动。当移动主体决定移动时，移动主体首先保存它的状态，将保存的状态传输到新的主机，并在新的主机通过保存的状态恢复执行。

移动主体是移动代码的一种特殊形式，然而，与远程求值和按需代码程序设计范式相比，移动主体是主动的，因为在执行时，移动主体可以选择在不同的计算机间移动。这使得移动主体成为实现 计算机网络中的分布式应用的强大的工具。

开放的多主体系统(MAS)是指在系统中由不同利益所有者拥有的主体可以不断地进入和离开系统。

优点
相对于传统主体，移动主体具有以下优点：
减少了网络流量- 传统的客户端/服务器计算方式，需要在客户端和服务器之间进行频繁的请求和应答。而使用移动主体，则可变为可移动的数据包，移动到服务器上进行计算，降低了网络负载。
有利于并行处理 - 移动主体可以在不同的异构网络主机上的并行执行。
较强的应变能力 - 移动主体可以根据主机环境的状态作出反应，例如可以根据主机的负载状况，决定是否移动到另一个主机上。
网络容错性 - 在客户端和服务器之间的连接断开时可以进行计算。另外，在一台主机关闭时，其上的移动主体可以接受到通知，并且在一定的时间内移动到其他主机上。
 维护更灵活 - 要改变一个移动主体的动作，只有源计算机必须更新。

对于远程部署的软件，一个特别的优点是可移植性增强了，使得系统较少地受到软硬件环境的影响。

移动主体的应用
通常的应用包括：
资源可用性， 资源发现和监控
信息获取，系统信息收集，支持客户端/服务器范式的操作。
网络管理，网络吞吐量的远程手机，可用贷款监控，其他远程计算机的网络参数。
数据复制和过滤，服务器配置备份，文件搜集和分类，其他远程计算机的数据备份。
动态软件部署，远程安装监控和测量软件

参见
Aglets
Fraglets

外部链接
移动Agent: 智能化分布式计算新模型（第一部分） 
移动Agent: 智能化分布式计算新模型（第二部分） 

分散式計算架構