论文部分内容阅读
Mobile Agent,译为移动代理,又译为移动智能体,移动代理是由计算机软件和数据组成,它能够从一个节点自治地迁移到其他的计算机节点,并在目标机器上继续它的执行过程。移动云计算是当前云计算领域研究的一项热点,而面向Android平台如何实现移动代理的迁移成为了瓶颈。为了解决这一问题,JADE推出JaCa-Android来支持移动设备,但是认真研究它只是进行逻辑上的迁移,也就是说,并没有真正意义上的在设备上运行。为了使移动代理能够在传统JVM和Android中Dalvik VM虚拟机之间跨平台运行,针对网络通信、操作系统API与传统Java环境的差异性,研究支持移动设备的移动代理体系结构,设计并实现屏蔽差异性的服务性移动服务代理虚拟机,从而使得移动代理代码可以在Android平台下无缝运行。首先,针对Dalvik VM虚拟机不支持Java RMI远程方法调用的问题,提出了一种替代方案——基于Restful的移动代理远程过程调用方法,从而使得不同平台无缝远程调用;其次,移动代理的关键问题之一是通信机制,本文研究适应于移动设备的代理通信机制,(1)移动代理消息通信(2)移动代理SOCKET通信;再次,移动代理的关键问题之二是迁移策略,合适的迁移策略可以避免当前或者潜在的拥塞,提高网络性能,本文针对云端和移动终端之间的差别,提出了一种结构化迁移模式,保证代理高效完成计算任务。本文所实现的移动代理系统实现了对云端与移动终端之间的跨平台、跨区域支持,它能够在各种不同的平台无缝地进行迁移。我们提供了agent开发接口,对移动代理的迁移提供支持,开发人员可以采用这些开发接口,创建自己的移动代理。实践证明,该移动代理系统达到了很好的效果。