2 移动Agent技术

移动Agent是一个代替人或其它程序执行某种任务的程序,它在复杂的网络系统中能自主地从一台主机移动到另一台主机,该程序能够选择何时、何地移动,在移动时该程序可以根据要求挂起其运行,然后转移到网络的其它地方重新开始或继续执行,最后返回结果和消息。移动Agent具有自治性、移动性、智能性、异步计算性等特性。

从实现技术的角度看,移动Agent系统主要由移动Agent平台(MAE)和移动Agent(MA) 组成。移动Agent平台是一个虚拟机,通常被称为移动Agent服务器,为移动Agent的移动和执行提供执行环境,为移动Agent的发射、接收、恢复、安全管理和服务调用等提供基础设备设施。移动Agent携带完成计算任务所需的代码和数据以及Agent的运行状态,在网络上不同主机之间迁移并完成相应的动作,移动Agent迁移示意图如图1。

基于移动Agent虚拟机平台在嵌入式移动数据库中的应用研究

将移动Agent技术应用于嵌入式移动数据库主要具有如下一些优势:

1)移动Agent可以减少通信网上的流量。将任务请求通过Agent移动到服务器端执行,使得Agent不经过网络传输这个中间环节而直接访问服务器资源,任务在远地执行完后直接返回结果,从而降低系统对网络带宽的依赖,这恰好适合移动计算环境所具有的断接性的特点;2)移动Agent可以异步计算。移动Agent不需要统一的调度,由用户创建的移动Agent可以异步的在不同网络节点上运行,对于相对复杂的任务,用户还可以创建多个Agent,同时在相同或不同的节点上运行,不需要客户端与主机永久连接。也恰好适合移动计算环境所具有的低带宽和弱可靠性的特点;3)移动Agent可以方便的访问异构数据库。在数据库系统中存在一些异构的环境,此时如果采用传统的数据库访问方式,往往需要客户端预先安装多种类型的数据库连接驱动程序,并在访问时执行这些连接驱动程序,这会大大增加移动终端的负载[2],因此,传统的数据库访问方式很难适用于移动计算环境中移动数据库的访问,但由于移动Agent本身的特性却使得访问异构数据库较其他方式更加方便;4)移动Agent可以方便的实现负载平衡。移动Agent能携带自身的代码从一个平台移动到另一个平台,在目的主机上也无需预先安装就能运行,因此移动Agent可以方便的实现负载平衡。