移动服务执行中可移动组件建模:应对网络中断挑战
1. 引言
软件即服务(SaaS)在移动计算场景中具有重要意义,它能让用户无需预装过多应用,通过服务提供商访问软件,减轻了安装、更新和维护的负担。云计算基础设施为SaaS解决方案提供了支持。
然而,与固定场景不同,移动网络系统面临着诸多问题。无线介质的衰落效应、环境干扰、其他设备对无线链路的竞争以及用户在无线网络覆盖范围内的移动,都会导致链路质量不稳定,从而出现间歇性连接问题。这使得移动SaaS的可行性受到挑战。
为了解决间歇性连接问题,我们考虑将服务执行位置分为远程服务器云和移动客户端。在连接稳定时,服务部分可留在服务器,通过经典的客户端/服务器通信实现快速服务执行;而在连接较弱或频繁断开时,服务部分需移动到客户端以保持运行,但这会增加在低性能移动设备上的服务执行时间。该方法面临四个主要挑战:
1. 找到最合适的服务分解粒度以及服务组件之间的依赖关系。
2. 检测出放置服务组件的最佳时间段,例如提前预测断开连接的时间。
3. 针对特定的预测网络行为,确定服务组件的优化分配。
4. 考虑移动软件服务部分带来的开销,权衡可用性和网络开销之间的关系。
本文主要解决第三个研究问题,即通过将服务建模为多个部分(服务组件)的组合,分析这些组件分配到客户端或服务器端对性能或可靠性指标的影响。
2. 相关工作
过去几年,允许服务在不同分布式位置进行分配和执行是一个热门话题。Fuggetta等人指出,网络规模和性能的提升推动了移动代码技术的发展,不同的移动机制(如迁移、远程克隆、代码传输和代码获取)被用于满足多样化的需求。我们认为临时主动代码迁移