APP下载

移动云计算体系架构及应用模型探析

2017-05-31王海涛宋丽华陈晖张国敏胡强

移动通信 2017年9期

王海涛+宋丽华+陈晖+张国敏+胡强

【摘 要】当前智能手机支持的应用服务越来越广泛,为了解决智能手机存在的计算功率、能量和内存资源严重受限等问题,通过将云计算模式扩展到移动手持设备来构建有效的移动云计算体系结构,可以充分发挥智能手机的功效和满足日益增长的应用需求,因此首先介绍了云计算基本概念,并说明了传统智能手机应用模式在支持云计算方面存在的挑战,然后研究了近年来提出的移动云计算体系架构,对现有的移动云计算应用模型进行了分类,并分析了影响移动云计算模型的重要因素,最后进行了总结并指出今后的发展方向。

【关键词】移动云计算 云体系架构 云卸载

1 引言

云计算是网格计算、服务计算、效用计算等多种计算模式的结合和发展,近年来得到大力发展和迅速普及,在因特网上提供了强大的计算、存储和信息服务,降低了企业和个人的IT投资成本,并通过解耦上层服务和底层网络基础设施提供了极大灵活性。与此同时,智能手机也日益流行并为广大用户提供了丰富的应用服务,包括图片处理、音视频服务、游戏、电子商务和在线社交网络服务等。但是,随着智能手机提供服务的日益增多,对其计算、处理、存储、带宽、能量等资源需求也随着提高,而智能手机的CPU和电池技术进展相对较慢,从而给资源受限的智能手机的应用拓展构成了极大的挑战。

一般来说,可以通过对手机的硬件和软件层面加以改进来提高智能手机的资源供给和服务提供能力,但由于尺寸和重量受限,硬件级的性能提升较慢且成本较高。相比而言,软件层次的性能提升容易一些,可以将大部分计算和处理任务转移到外部服务器或利用外部设施的资源。计算负载卸载是指将资源密集型任务从移动设备迁移到资源丰富的云中或邻近的服务器上,这种借助于云服务资源提升智能手机计算性能的方式极具吸引力和竞争力,在商务、健康医疗、教育、社交网络、文件共享和娱乐等领域都大有用处。

移动云包括两大类:基于基础设施的移动云和无基础设施(自组织)云。基础设施云中硬件基础设施通常保持静态不动,并向移动用户提供信息资源服务;自组织移动云是指由一组移动设备协同构造云设施,并向移动用户提供云服务。需要说明的是,本文主要考虑基础设施移动云。

传统的计算卸载技术由于没有考虑能量效率并且耗费带宽而不能直接移植到智能手机上,并且传统的移动应用模型仅支持开发在移动设备上运行的应用服务而没有考虑计算卸载,很少能够充分利用云资源和云服务。因此,移动智能手机需要一种有效支持计算卸载和适合移动云环境的应用模型,该模型充分考虑能量意识、设备异质性、应用迁移开销、网络数据成本等因素。本文旨在阐述近年来提出的移动云应用模型并比较分析其优缺点,对现有的移动云应用模型进行分类,并说明影响移动云模型的重要因素,最后也指出了其今后的发展方向。

2 移动云计算体系架构

云计算的主要目标之一是为小型微型企业和个人用户提供访问资源和使用服务的便捷高效方法。与此类似,移动云计算的主要目标是向移动用户提供增强的用户体验,包括计算时间、电池寿命、应用服务和设备资源等方面。相比于云计算,移动云计算面临独特的问题和挑战,如网络连接、通信负载、网络带宽、移动设备能量等。无论怎样,移动云应用模型也基于标准的云服务模型,包括IaaS、PaaS、SaaS等。移动云计算的实例包括亚马逊的弹性云计算(EC2)、谷歌的APP Engine和微软的Azure云服务。

当前的移动云计算体系架构中,移动设备可以通过两种方式访问移动服务,即通过移动电信网络或通过无线访问点,如图1所示。前者需要借助于卫星或无线基站,后者借助Wi-Fi接入点,两种方式都要最终接入因特网来获得云中的服务和资源。相比而言,基于Wi-Fi接入方式的时延、成本和能耗更低。

在将移动设备的计算任务卸载到云服务设施之前,移动云应用需做出必要的评估和决策。计算卸载过程的基本工作流程简述如下:首先移动应用检查用户的卸载许可权限,如果用户允许计算任务卸载,那么应用接下来检查到云服务的可访问性和可用的云资源。然后,移动应用还需根据用户的目标和任务需求来决定计算卸载是否有益,如果有益,则执行计算卸载;否则,应用依旧在本地执行计算任务。计算卸载的决策过程很复杂,受多种实体和因素的影响,包括用户、移动设备、网络连接、应用特性和模式以及云服务和资源等。

3 移动云计算应用模型评价标准

本节说明评价移动云应用模型优劣常用的几种指标和需要考虑的若干因素,包括情景意识、时延、带宽利用率、通用性、隐私、复杂性、安全性、编程抽象、可扩展性、执行资源和操作平台。

(1)情景意识:如前所述,应用模型的情景意识是指它了解能够影响计算卸载的实体和参数。实际上,应用模型具有情景意识能力是非常有必要的,因为并非在所有情况下计算卸载都是有益的,為此它需要根据感知的情景动态决策是否需要执行计算卸载。

(2)时延:在移动云计算中,时延是指从卸载计算任务到从云中返回计算结果的时间。时延主要由卸载数据量、网络传输速度、用户和云服务设施的相对位置、云处理速度等因素决定。

(3)带宽利用率:在应用模型中,带宽利用率是指卸载计算需要迁移到云中的数据量。如前所述,数据量越大时延也越长,因此部分数据可以提前迁移到云中以减少时延。但是,数据的迁移需要进行数据同步,同步频率高数据一致性好但通信开销也越大,需综合考虑。

(4)通用性:所谓的通用型是指应用模型能够支持各种各种的应用,包括时延容忍的应用和实时性要求较高的应用,前者包括文件检索、病毒扫描等,后者包括语音和视频类应用。

(5)隐私性:当前移动设备普遍配备了GPS并且许多应用通过要求获取用户位置信息来提供基于位置的服务。这些服务给用户带来便捷的同时,也造成了严重的隐私泄露问题,特别是用户其它相关的信息被恶意窃取时。另外,云中用户的数据隐私也是一个必须正视的重要问题,其在一定程度上限制了移动云计算应用的普及。为此,欧盟已通过了相关数据保护的法律,对存储用户数据的服务器和机房提出了严格的规范标准。为了解决隐私性问题,移动云应用模型必须提供相应的隐私保护和认证机制。

(6)复杂性:移动云应用必须能够在线或离线执行,还应该以尽量低的时延充分利用带宽。一些应用模型将应用分成可管理的和可卸载的组件,后者可以静态按计划地或动态依据情景信息按需地迁移到云中。此外,一些应用模型在云中采用并行处理来减少执行时间,但并行化能否执行依赖于云服务。不过,应用划分、动态卸载、资源监控、情景感知和并行处理都会在一定程度上增加应用模新的复杂性,导致实现困难并给移动设备带来较高负担。

(7)安全性:安全性是云计算大规模部署应用的一大障碍,因为云计算引入许多新的安全问题,除了上面提到的数据隐私性外,还包括数据访问控制、数据分发、数据完整性、用户可信性、服务可用性、通信安全性和基础设施可靠性。在移动云计算中,需要从两个方面考虑安全问题,即移动设备和云服务设施。移动设备必须时刻清除恶意代码,包括病毒、木马和蠕虫等,以避免隐私泄露和数据遭受破坏。为了清除恶意代码,移动设备上的安全应用必须定期执行扫描,但这又会增加能耗。针对这种矛盾,可以将部分资源耗费型的恶意代码扫描任务卸载到云中,以便在节省移动设备能量的同时获得较高的安全性。另一方面,存储在云中的数据可能丢失、篡改或泄露,必须使用加密保护、访问控制和数据备份机制。

(8)编程抽象:云平台支持不同的API、数据模型、查询语言和成本模型,与此类似,移动设备运行不同的操作系统,对软硬件有不同的要求。因此,移动设备和云平台的异构性使得移动云应用的开发变得非常复杂。为了便于开发移动云应用,需要新的编程抽象工具来隐藏云设施和移动设备的复杂性,如MpaReduce、Spark和Hadoop。

(9)可扩展性:可扩展性是云计算的重要特征之一,以便适应不断增长的用户需求。此外,应用模型必须能够及时集成各种新型的应用,并且对基础设施的要求尽量少。需要指出的是,可扩展性不仅依赖应用模型还依赖于云平台。举例来说,Google的AppEngine的扩展能力好于Amozon的EC2。

(10)执行资源:移动云应用可以采用两种执行方式。第一种情况是应用在虚拟云设施中执行,如个人计算机、笔记本和服务器等;第二种情况是应用在真实的云设施中执行,如EC2、AppEngine等。因此,移动运营用模型必须能够很好地支持这两种执行方式。执行资源极大影响应用模型的可扩展性和可用性,因为邻近的基础设施并非总是可用的,特别是当用户在移动的情况下尤为如此。因此,为了使应用模型可扩展并能利用虚拟的无限资源,将计算任务及时转移到真实的云平台是极好的选择。

(11)软件平台:软件平台是移动设备的应用模型运行的基础,知名的软件平台有Android、iOS、Symbian、BlackBerry等。大多数应用模型都仅支持单个平台,而且每个平台对计算卸载的支撑力度不同。例如,Android相比于iOS能更好地支持计算卸载。

4 移动云计算应用模型分类

移动云应用模型通常是为特定目标设计的,如执行本地资源不足的应用,从而可以增强移动设备的应用性能。当然,有些时候一个应用模型也可以针对多个目标设计,但是有时需要牺牲其他目标来优化主目标。基于应用模型的目标,可以将移动云应用模型分为四类,具体说明如下:

4.1 基于性能的应用模型

基于性能的应用模型的主要目标是将资源密集型的计算卸载到高速云中,通过利用云资源来增强移动设备的应用。CloneClode模型将部分计算任务卸载到云中,并对移动设备和云中的克隆设备进行及时同步,以便保证应用执行的一致性。当允许增强移动设备性能时,移动设备可以将计算任务转移到克隆设备并转入休眠状态。在CloneClode模型中,面临的最大挑战是应用程序分割和进程迁移。图2给出了应用程序分割和进程迁移的一个示例,由于在云中有完整的备份,所以移动设备数据的丢失可以很容易地得到恢复。但是,这又带来了不可回避的数据隐私和安全问题。

Zhang等人提出了一种基于弹性应用的移动云应用模型,每个弹性的应用被分割成多个称为Weblet的组件。Weblet是一种可以计算、存储和通信的独立应用单元并且保持其执行位置透明。Weblet的卸载决定依赖于CPU负载、内存、网络条件、用户喜好和电池能量等因素。基于使用的编程技术,Weblet可以是平台相关的,也可以是平台独立的。弹性应用可以分为三种模式:复制模式、分离模式和聚集模式。复制模式支持两种类型的复制,一是在云中执行Weblet的多个副本来完成单个任务,从而减少执行时间,特别适合执行大批量的类似任务,如文件扫描。二是在云中执行Weblet的多个副本,但是最先完成执行的副本首先向移动设备返回结果来减少处理时延。分离模式可以在共享的资源上执行Weblet的不同实现,通过向共享资源添加新的实现来增加应用的可扩展性。由于可以在单个设备上聚集多个服务,分离模式可以增强用户的体验。聚集模式在云中运行多个Weblet并监控用户Web账户和服务,因此一旦有账户活动出现,Weblet将聚集信息转发到移动设备上。由于数据复制往往需要在多个位置上分布式执行,因此面临着数据安全、同步和完整性等問题。

4.2 基于能量的应用模型

基于能量的应用模型旨在通过充分利用云资源来减少移动设备应用的能耗,这主要是借助计算卸载将计算密集型任务转移到云中,从而减少应用的计算开销。举例来说,uCloud模型重点关注从异质组件中组合应用来支持灵活性、可重用性和可配置性。每个组件可以在移动设备或云中执行,并且组件可以很容易地标识并松散地与输入/输出参数、私有内存和配置信息相绑定。uCloud的优点在于它支持自包含的彼此相互独立的应用组件,从而增加了灵活性和可重用性,但是需要熟练的程序员开发相关应用组件,并且没有采用相应的数据保护机制。

4.3 基于约束的应用模型

基于约束的应用模型主要是在资源受限的环境中(如移动手持设备)通过使用云资源来有效执行应用。与基于能量的应用模型类似,将资源耗费型应用转移到云中而只在移动设备上执行轻量级的应用。例如,Cloullet模型使用虚拟机的概念,通过运行在可信和资源丰富的主机上的虚拟机来实现计算卸载,此时移动设备充当瘦客户机。鉴于时延问题在移动云应用模型中非常关键,因此,Cloudlet模型可以根据需要将计算任务卸载到临近的基础设施上而不是远程的云中,以减少传输和处理时延。基于虚拟机的Cloudlet模型相比于进程迁移和软件虚拟化更为健壮,并且通用性更强,缺点是VM综合处理需要花费数秒使得这种模型不适合实时任务。

4.4 多目標应用模型

多目标应用模型的目的是同时获得包括性能和能量效率在内的多个目标并在多个目标之间进行相应的权衡。MAUI模型可以在最小化用户干预的情况下提供精细粒度的应用卸载,主要目标是最小化能耗,同时可以降低移动设备的内存耗费。在MAUI模型中,应用分区是动态的,并且卸载是分段的,以减少处理时延。Cuckoo模型支持应用的部分卸载并且目标使开发者编程更容易。此外,Cuckoo支持本地和远程方法实现,但是不支持异步回调和远程状态转移。

5 结论

本文讨论了移动云计算体系架构及云计算应用模型,通过计算卸载以缓解移动设备在资源受限的条件下的负载,提高其服务性能。但是,现有的云应用模型通常仅支持单个执行平台,限制了其可用性和通用性。为此,需要考虑标准化移动云执行平台以方便计算卸载的实现。此外,移动云计算应用今后仍需要解决多个难题,包括:数据同步、数据隐私性、模型安全性、可扩展性和多目标权衡等。

参考文献:

[1] N Vallina-Rodriguez, J Crowcroft. Energy Management Techniques in Modern Mobile Handsets[J]. IEEE Communications Surveys & Tutorials, 2013,15(1): 179-198.

[2] Atta ur Rehman Khan, Mazliza Othman. A Survey of Mobile Cloud Computing Application Models[J]. IEEE Communications Surveys & Tutorials, 2014,16(1): 393-413.

[3] C Mascolo. The Power of Mobile Computing in a Social Era[J]. IEEE Internet Computing, 2010,14(6): 76-79.

[4] D Huang. Mobile Cloud Computing[J]. IEEE COMSOC Multimedia Communications Technical Committee (MMTC) E-Letter, 2012,6(10): 27-31.

[5] C Wang, K Ren, W Lou, et al. Toward Publicly Auditable Secure Cloud Data Storage Services[J]. IEEE Network, 2010,24(4): 19-24.

[6] S Sakr, A Liu, D M Batista, et al. A Survey of Large Scaledata Management Approaches in Cloud Environments[J]. IEEE Communications Surveys & Tutorials, 2011,13(3): 311-336.

[7] X Fan, J Cao, H Mao. A Survey of Mobile Cloud Computing[J]. ZTE Communications, 2011,9(1): 4-8.

[8] P Makris, D Skoutas, C Skianis. A Survey on Context-aware Mobile and Wireless Networking: On Networking and Computing EnvironmentsIntegration[J]. IEEE Communications Surveys & Tutorials, 2012(15): 362-386.

[9] R Kemp, N Palmer, T Kielmann. Cuckoo: a Computation Offloading Framework for Smartphones, Mobile Computing, Applications and Services[J]. Springer, 2012: 59-79.

[10] J Ekanayake, G Fox. High Performance Parallel Computing with Clouds and Cloud Technologies, Cloud Computing[J]. Springer, 2010: 20-38.