● 摘要
近年来,随着移动通信技术的进步和高性能智能终端的逐渐普及,移动应用的体验得到不断的丰富,移动互联网飞速发展。与此同时,移动终端能力受限、终端适配困难逐渐成为制约移动互联网行业发展的瓶颈。软件远程执行技术通过将应用程序或计算密集型的处理任务送到云环境中执行,可降低对终端资源和电能的消耗;同样,这种远程执行机制也可以打破应用程序到终端操作系统或终端硬件环境的绑定,简化终端适配问题。但是,网络延迟成为阻碍软件远程执行的一大因素,3G和广域网的延迟大且不可控严重影响了软件远程执行的用户体验。通过在离移动终端更近的地方部署云基站CloudAP,可以一定程度上缓解由广域网高延迟带来的用户体验差的问题。然而,由于移动终端的移动性特点,这种“云中心+云基站”的软件远程执行结构仍然面临着一些挑战。
本文首先分析了已有的软件远程执行系统的实现原理和关键技术,给出了“云中心+云基站”的软件远程执行体系结构所面临的挑战:移动终端位置不确定状态下如何实现软件服务的发现和便捷接入,终端移动状态下如何根据物理位置进行软件执行节点的调度,以及在执行节点发生变化时如何进行软件执行环境的迁移来保证软件执行状态的连续性。
针对上述挑战,本文设计并实现了一种面向移动终端的分布式软件远程执行系统。该系统首先设计并完善了“云中心+云基站“的分布式两级软件执行体系结构,解决了移动终端对软件服务的发现和便捷接入的问题,并实现根据移动终端的位置进行软件执行节点的调度。其次,系统采用虚拟机迁移的方式实现了软件执行环境的迁移机制,保障了移动状态下软件执行状态的连续性。最后,通过实验证明,该体系结构能够有效解决广域网延迟问题,显著提升用户体验;系统实现的软件执行环境迁移机制带来的软件中断时间达到ms级别,切换时间几十秒以内,可以保障软件执行的连续性和用户体验。