第40卷第2期 2017年2月 CHINESE JOURNAL OF COMPUTERS Feb.2017 移动云计算研究进展与趋势 崔勇”宋健”缪葱葱”唐俊 1)(清华大学计算机科学与技术系北京100084) 2)(解放军信息工程大学郑州450001) 摘要随着移动互联网的飞速发展,移动终端的应用已经渗透到人们工作生活的方方面面,为了满足日益复杂 的移动应用对移动终端的电池容量、计算能力、存储容量以及安全性提出的更高要求,移动云计算作为移动互联网 和云计算结合的产物,近年来得到了快速发展,也催生出了众多新的信息服务和应用模式,得到了学术界和工业界 的广泛关注移动云计算继承了云计算的应用动态部署、资源可扩展、多用户共享以及多服务整合等优势,为解决 移动终端资源受限问题提供了一种有效方式,但在用户动态移动、终端电量有限、非法访问及隐私泄漏等安全威胁 日益严重的情况下,仍然面临诸多研究挑战.文中围绕这些挑战,介绍了计算迁移、基于移动云的位置服务、移动终 端节能、数据安全与隐私保护等移动云计算技术的硏究现状,进一步对移动云存储、微云、群智服务和移动云游戏 等移动云计算的典型应用进行了深入分析,并从移动云计算功能增强、服务质量保障和安全可用性等3个方面,展 望了移动云计算未来的发展趋势和研究方向 关键词移动云计算;计算迁移;位置服务;终端节能;移动云存储 中图法分类号TP393DOI号10.11897/SP.J.1016.2017.00273 Mobile cloud computing research Progress and Trends CUI Yong SONG Jia nD MIAO Cong-Cong TANG Jun).2) 1( De partment of Com puter Science and Technology, Tsinghua University, Beijing 100084) 2>(The PLA In formation Engineering University, Zhengzhou 450001) Abstract With the rapid development of mobile Internet, the applications of mobile devices have penetrated into all aspects of people's work and life. In order to meet the requirements of complex mobile applications for mobile devices, such as battery capacity, computing power storage capacity security and privacy, mobile cloud computing as a combination of mobile Internet and cloud has been in a rapid development in recent years, brought out the new information service and application modes, which has attracted great attentions from both industry and academia. Mobile loud computing inherits the advantages of cloud computing, such as dynamic deployment resource scalability, multiple users sharing and multiple services integration. It provides an ffective way to empower the resource shortage of mobile devices. However, the inherent proble such as dynamic mobility, limited battery capacity and security threats from unauthorized access and privacy breach introduce many new challenges to the research of mobile cloud computing Firstly, based on the fundamental research problems in mobile cloud computing, we describe the research progress of this area, mainly including the computation migration technologies, cloud based location service, energy-saving technologies for mobile device, data security and privacy protection. Then we give an in-depth analysis for the typical applications of mobile cloud computing 收稿日期:2015-12-10;在线出版日期:2016-09-24.本课题得到国家自然科学基金优秀青年科学基金项目(61422206)、国家自然科学基金重 大国际合作项目(61120106008)和国家电网公司科技项目( SGRIXTJSFW[2016]377)资助.崔勇,男,1976年生,博土,教授,博士生导 师,中国计算机学会(CCF)高级会员,主要研究领域为计算机网络体系结构、无线网络与移动计算.E-mail:cuiyong@tsinghua.edu.cn 宋健(通信作者),男,1980年生,博土研究生,主要研究方向为无线网络与移动云计算.E-mail:lionsong0808@126.com.缪葱葱,男 1993年生,博士研究生,主要研究方向为无线网络与移动云计算.唐俊,男,1976年生,博士研究生,副教授,主要研方向为云计算安全 与隐私保护
书 第40卷第2期 2017年2月 计 算 机 学 报 CHINESEJOURNALOFCOMPUTERS Vol.40No.2 Feb.2017 收稿日期:20151210;在线出版日期:20160924.本课题得到国家自然科学基金优秀青年科学基金项目(61422206)、国家自然科学基金重 大国际合作项目(61120106008)和国家电网公司科技项目(SGRIXTJSFW[2016]377)资助.崔勇,男,1976年生,博士,教授,博士生导 师,中国计算机学会(CCF)高级会员,主要研究领域为计算机网络体系结构、无线网络与移动计算.Email:cuiyong@tsinghua.edu.cn. 宋健(通信作者),男,1980年生,博士研究生,主要研究方向为无线网络与移动云计算.Email:lionsong0808@126.com.缪葱葱,男, 1993年生,博士研究生,主要研究方向为无线网络与移动云计算.唐俊,男,1976年生,博士研究生,副教授,主要研方向为云计算安全 与隐私保护. 移动云计算研究进展与趋势 崔勇1) 宋健1) 缪葱葱1) 唐俊1),2) 1)(清华大学计算机科学与技术系北京100084) 2)(解放军信息工程大学郑州450001) 摘要随着移动互联网的飞速发展,移动终端的应用已经渗透到人们工作生活的方方面面.为了满足日益复杂 的移动应用对移动终端的电池容量、计算能力、存储容量以及安全性提出的更高要求,移动云计算作为移动互联网 和云计算结合的产物,近年来得到了快速发展,也催生出了众多新的信息服务和应用模式,得到了学术界和工业界 的广泛关注.移动云计算继承了云计算的应用动态部署、资源可扩展、多用户共享以及多服务整合等优势,为解决 移动终端资源受限问题提供了一种有效方式,但在用户动态移动、终端电量有限、非法访问及隐私泄漏等安全威胁 日益严重的情况下,仍然面临诸多研究挑战.文中围绕这些挑战,介绍了计算迁移、基于移动云的位置服务、移动终 端节能、数据安全与隐私保护等移动云计算技术的研究现状,进一步对移动云存储、微云、群智服务和移动云游戏 等移动云计算的典型应用进行了深入分析,并从移动云计算功能增强、服务质量保障和安全可用性等3个方面,展 望了移动云计算未来的发展趋势和研究方向. 关键词移动云计算;计算迁移;位置服务;终端节能;移动云存储 中图法分类号TP393 犇犗犐号10.11897/SP.J.1016.2017.00273 犕狅犫犻犾犲犆犾狅狌犱犆狅犿狆狌狋犻狀犵犚犲狊犲犪狉犮犺犘狉狅犵狉犲狊狊犪狀犱犜狉犲狀犱狊 CUIYong1) SONGJian1) MIAOCongCong1) TANGJun1),2) 1)(犇犲狆犪狉狋犿犲狀狋狅犳犆狅犿狆狌狋犲狉犛犮犻犲狀犮犲犪狀犱犜犲犮犺狀狅犾狅犵狔,犜狊犻狀犵犺狌犪犝狀犻狏犲狉狊犻狋狔,犅犲犻犼犻狀犵100084) 2)(犜犺犲犘犔犃犐狀犳狅狉犿犪狋犻狅狀犈狀犵犻狀犲犲狉犻狀犵犝狀犻狏犲狉狊犻狋狔,犣犺犲狀犵狕犺狅狌450001) 犃犫狊狋狉犪犮狋WiththerapiddevelopmentofmobileInternet,theapplicationsofmobiledeviceshave penetratedintoallaspectsofpeople’sworkandlife.Inordertomeettherequirementsofcomplex mobileapplicationsformobiledevices,suchasbatterycapacity,computingpowerstoragecapacity, securityandprivacy,mobilecloudcomputingasacombinationofmobileInternetandcloudcomputing hasbeeninarapiddevelopmentinrecentyears,broughtoutthenewinformationserviceand applicationmodes,whichhasattractedgreatattentionsfrombothindustryandacademia.Mobile cloudcomputinginheritstheadvantagesofcloudcomputing,suchasdynamicdeployment, resourcescalability,multipleuserssharingandmultipleservicesintegration.Itprovidesan effectivewaytoempowertheresourceshortageofmobiledevices.However,theinherentproblems suchasdynamicmobility,limitedbatterycapacityandsecuritythreatsfromunauthorizedaccess andprivacybreachintroducemanynewchallengestotheresearchofmobilecloudcomputing. Firstly,basedonthefundamentalresearchproblemsinmobilecloudcomputing,wedescribethe researchprogressofthisarea,mainlyincludingthecomputationmigrationtechnologies,cloud basedlocationservice,energysavingtechnologiesformobiledevice,datasecurityandprivacy protection.Thenwegiveanindepthanalysisforthetypicalapplicationsofmobilecloudcomputing
274 计算机学报 2017年 such as mobile cloud storage, cloudlet, group intelligence service and mobile cloud gaming, and finally prospect the research trend from the aspects of function enhancement, quality of service assurance, security and availability eywords mobile cloud computing: computation offloading: location-based service; energy efficient; mobile cloud storage 据中心上,为用户提供更加丰富高效的内容服务.对 1引言 安全性、网络延迟和能耗等方面要求更高的用户,可 以通过局域网连接本地微云,获得具备一定可扩展 随着移动互联网的飞速发展和移动应用的极大性的云服务.本地微云也可以通过 Internet连接公 丰富,移动终端已经成为人们工作生活不可或缺的有云,以进一步扩展其计算、存储能力,为移动用户 一部分.移动支付、移动医疗、移动游戏及虚拟现实提供更加丰富的资源 等日益复杂的移动应用对移动终端的计算能力、存 移动云计算由云计算发展而来,天然继承了云 储容量、电池容量以及安全性提出了更高的要求然计算的应用动态部署、资源可扩展、多用户共享以及 而,由于重量、大小和散热等因素的限制,移动终端多服务整合等优势.另外,移动云计算还具有终端资 的计算、存储资源与传统的非移动设备相比一直存源有限性、用户移动性、接入网异构性以及无线网络 在很大的差距,特别是移动终端有限的电池容量,的安全脆弱性等特有属性. 严重影响了用户的应用体验,为了突破移动终端计1.2移动云计算主要研究范畴 算、存储和电池等资源限制,为移动用户提供更加丰 移动云计算研究领域涵盖广泛,范围涉及无线 富的应用,将云计算引入移动环境口,移动云计算网络、移动计算、云计算等多个领域的相关技术目 ( Mobile Cloud Computing,MCC)作为一种新的应前已经有一些移动云计算相关技术的综述文献 用模式应运而生 Fernando等人[和 Rahimi等人给出了移动云计 1.1移动云计算的定义与特点 算的定义、体系框架,并重点介绍了移动云计算的典 移动云计算的主要目标是应用云端的计算、存型应用场景及主要的计算迁移应用 储等资源优势,突破移动终端的资源限制,为移动用 本文对当前移动云计算的主要研究工作进行归 户提供更加丰富的应用以及更好的用户体验其定类和梳理,形成如图2所示的移动云计算研究体系 义一般可以概括为移动终端通过无线网络,以按需、该研究体系分为3层:最下层是移动云计算面临的 易扩展的方式从云端获得所需的基础设施,平台、软主要挑战,包括移动终端资源受限性、用户移动性以 件等资源或信息服务的使用与交付模式[2 及一系列的安全问题;第2层对这些挑战对应的主 移动云计算的体系架构如图1所示,移动用户要关键技术及其重要研究成果进行总结与分析,主 通过基站等无线网络接入方式连接到 Internet上的 要包括计算迁移、基于移动云的位置服务、移动终端 公有云.公有云的数据中心分布部署在不同的地方, 节能以及数据安全与隐私保护等;最上层则重点介 为用户提供可扩展的计算、存储等服务.内容提供商 也可以将视频、游戏和新闻等资源部署在适当的数 绍了在这些关键技术支撑下的移动云计算新型应用 移动用户 无线接入 云端服务 移动云存储微云应用移动云游戏群智应用应用 AP本地微云 移动终端 技术的位置服务节能技术隐私保护 技才 计第存储用户移动性[终端电池适侵|挑战 网络运营商 互联网内容提供商 资源受限 隐私泄漏 (ICP) 图1移动云计算体系架构 图2移动云计算研究体系
suchasmobilecloudstorage,cloudlet,groupintelligenceserviceandmobilecloudgaming,and finallyprospecttheresearchtrendfromtheaspectsoffunctionenhancement,qualityofservice assurance,securityandavailability. 犓犲狔狑狅狉犱狊 mobilecloudcomputing;computationoffloading;locationbasedservice;energy efficient;mobilecloudstorage 1引言 随着移动互联网的飞速发展和移动应用的极大 丰富,移动终端已经成为人们工作生活不可或缺的 一部分.移动支付、移动医疗、移动游戏及虚拟现实 等日益复杂的移动应用对移动终端的计算能力、存 储容量、电池容量以及安全性提出了更高的要求.然 而,由于重量、大小和散热等因素的限制,移动终端 的计算、存储资源与传统的非移动设备相比一直存 在很大的差距,特别是移动终端有限的电池容量, 严重影响了用户的应用体验.为了突破移动终端计 算、存储和电池等资源限制,为移动用户提供更加丰 富的应用,将云计算引入移动环境[1],移动云计算 (MobileCloudComputing,MCC)作为一种新的应 用模式应运而生. 11移动云计算的定义与特点 移动云计算的主要目标是应用云端的计算、存 储等资源优势,突破移动终端的资源限制,为移动用 户提供更加丰富的应用以及更好的用户体验.其定 义一般可以概括为移动终端通过无线网络,以按需、 易扩展的方式从云端获得所需的基础设施、平台、软 件等资源或信息服务的使用与交付模式[2]. 图1移动云计算体系架构 移动云计算的体系架构如图1所示.移动用户 通过基站等无线网络接入方式连接到Internet上的 公有云.公有云的数据中心分布部署在不同的地方, 为用户提供可扩展的计算、存储等服务.内容提供商 也可以将视频、游戏和新闻等资源部署在适当的数 据中心上,为用户提供更加丰富高效的内容服务.对 安全性、网络延迟和能耗等方面要求更高的用户,可 以通过局域网连接本地微云,获得具备一定可扩展 性的云服务.本地微云也可以通过Internet连接公 有云,以进一步扩展其计算、存储能力,为移动用户 提供更加丰富的资源. 移动云计算由云计算发展而来,天然继承了云 计算的应用动态部署、资源可扩展、多用户共享以及 多服务整合等优势.另外,移动云计算还具有终端资 源有限性、用户移动性、接入网异构性以及无线网络 的安全脆弱性等特有属性. 12移动云计算主要研究范畴 移动云计算研究领域涵盖广泛,范围涉及无线 网络、移动计算、云计算等多个领域的相关技术.目 前已经有一些移动云计算相关技术的综述文献. Fernando等人[3]和Rahimi等人[4]给出了移动云计 算的定义、体系框架,并重点介绍了移动云计算的典 型应用场景及主要的计算迁移应用. 本文对当前移动云计算的主要研究工作进行归 类和梳理,形成如图2所示的移动云计算研究体系. 该研究体系分为3层:最下层是移动云计算面临的 主要挑战,包括移动终端资源受限性、用户移动性以 及一系列的安全问题;第2层对这些挑战对应的主 要关键技术及其重要研究成果进行总结与分析,主 要包括计算迁移、基于移动云的位置服务、移动终端 节能以及数据安全与隐私保护等;最上层则重点介 绍了在这些关键技术支撑下的移动云计算新型应用. 图2移动云计算研究体系 274 计 算 机 学 报 2017年
2期 崔勇等:移动云计算研究进展与趋势 计算迁移作为移动云计算的核心技术,主要端需求的轻量级安全方案.云端数据安全[2、用户 解决移动终端的计算和存储资源受限问题,它以整隐私保护[以及移动终端安全①已经成为近年来信 个应用或部分代码/数据[1等形式,将移动终息安全领域研究的重要方向 端的存储、计算等任务迁移到云端数据中心或高性 本文重点围绕计算迁移、基于移动云的位置服 能服务器上执行,是移动终端获得灵活、高效服务的务等移动云计算的支撑技术,以及移动终端节能、数 基本手段.学术界已经针对扩展移动终端的计算、存据安全与隐私保护等移动云计算涉及的主要问题, 储能力、减少服务延迟、节约终端能耗[等不介绍移动云计算的研究现状,特别是最新的研究进 同优化目标提出了一系列计算迁移方案.然而,为了展;然后对移动云计算的典型应用模式进行了深入 设计高效可靠的计算迁移系统,还需要综合考虑终分析;最后讨论了移动云计算存在的一些问题以及 端负载、任务属性、网络状况以及应用环境等多种未来的发展趋势. 测度.近年来,相关研究领域也开始得到学术界的 重视 2计算迁移技术 用户的移动性是移动云计算的重要特点之 位置服务1旨在精确高效地定位用户位置,保证 计算迁移技术的出现最早可以追溯到 Cyber 用户可以在持续移动过程中,随时随地按需获取云 Foraging3]概念的提出,通过将移动终端的计算、 端数据中心提供的丰富多样、灵活高效的个性化定存储等任务迁移到附近资源丰富的服务器执行,减 制服务].然而,传统的定位技术已经无法完全适少移动终端计算、存储和能量等资源的需求.随着云 应智能家居中的病人监护、体感游戏等移动云计算计算的发展,计算迁移开始应用于云环境中,成为移 新型应用的需求.当前学术界的研究热点已经主要动云计算的重要支撑技术.计算迁移的总体目标主 集中到室内轨迹追踪[叼与导航[1、精确定位与要包括扩展CPU处理能力、节约移动终端能耗、减 动作识别等新型位置服务方面.然而,这些新型少服务延迟和节约处理成本等 技术大多基于大量信息的收集、存储以及复杂的运 计算迁移可以概括为代理发现、环境感知、任务 算处理,这是资源受限的移动终端无法胜任的因划分、任务调度和执行控制等步骤口,然而,并不是 此,大多数解决方案都基于云计算的模式设计实现.所有计算迁移方案都包含全部步骤其中,最为核心 这些新型技术的发展必将进一步促进移动云计算应的执行控制主要涉及如何连接到一个可靠的远程代 用的丰富,但也越来越依赖云计算的资源优势. 理,传递执行所需的信息,远程执行并返回计算结 移动云计算面临的另一个主要挑战是移动终端果,其具体迁移步骤如图3所示 电池容量的限制.受移动终端体积、重量,以及电池 移动应用1)智系统类 技术水平的限制,终端可用电量很难在短期内获得 (2)保存状态 大幅提升.为了延长移动终端的可用时间,提高用户 体验,移动终端节能技术也一直得到学术界和工业 动封装应用至M级存 界的广泛关注.当前终端节能技术研究的热点主要 4)读取状态 集中在不同无线网络环境下的传输节能[223,以及 代理 定位服务等能耗密集型应用节能2等方面 (5)传输代码VM 另外,随着移动云计算应用的迅速拓展与深入 人们已经越来越习惯将通信录、照片等个人信息备 远(6)保存状态 份在云端,甚至直接应用手机完成电子支付.因此, VM实例缓存 (7) 移动云计算环境中的数据安全与隐私保护也愈发重 务 (9)读取状态 要.移动云计算环境中,不仅要保证用户外包到不可 系统类库 移动应用 信云端的数据安全性、完整性,而且要保证用户身 图3计算迁移步骤 份、访问行为等信息的隐私安全,避免移动终端由于 受到恶意代码攻击造成的信息被窃、数据丢失,还要 computingtopthreatsin2013.https://downloads Nine_Cloud_Computing- Top_ Threats-in-20l3pdrO, ecurityalliance. org/initiatives/top_threats/The_Not 考虑移动终端的资源受限等问题,设计满足移动终
计算迁移[56]作为移动云计算的核心技术,主要 解决移动终端的计算和存储资源受限问题,它以整 个应用[78]或部分代码/数据[910]等形式,将移动终 端的存储、计算等任务迁移到云端数据中心或高性 能服务器上执行,是移动终端获得灵活、高效服务的 基本手段.学术界已经针对扩展移动终端的计算、存 储能力[11]、减少服务延迟[12]、节约终端能耗[9]等不 同优化目标提出了一系列计算迁移方案.然而,为了 设计高效可靠的计算迁移系统,还需要综合考虑终 端负载、任务属性、网络状况以及应用环境等多种 测度.近年来,相关研究领域也开始得到学术界的 重视.用户的移动性是移动云计算的重要特点之一. 位置服务[1314]旨在精确高效地定位用户位置,保证 用户可以在持续移动过程中,随时随地按需获取云 端数据中心提供的丰富多样、灵活高效的个性化定 制服务[15].然而,传统的定位技术已经无法完全适 应智能家居中的病人监护、体感游戏等移动云计算 新型应用的需求.当前学术界的研究热点已经主要 集中到室内轨迹追踪[1617]与导航[1819]、精确定位与 动作识别[2021]等新型位置服务方面.然而,这些新型 技术大多基于大量信息的收集、存储以及复杂的运 算处理,这是资源受限的移动终端无法胜任的.因 此,大多数解决方案都基于云计算的模式设计实现. 这些新型技术的发展必将进一步促进移动云计算应 用的丰富,但也越来越依赖云计算的资源优势. 移动云计算面临的另一个主要挑战是移动终端 电池容量的限制.受移动终端体积、重量,以及电池 技术水平的限制,终端可用电量很难在短期内获得 大幅提升.为了延长移动终端的可用时间,提高用户 体验,移动终端节能技术也一直得到学术界和工业 界的广泛关注.当前终端节能技术研究的热点主要 集中在不同无线网络环境下的传输节能[2225],以及 定位服务等能耗密集型应用节能[2628]等方面. 另外,随着移动云计算应用的迅速拓展与深入, 人们已经越来越习惯将通信录、照片等个人信息备 份在云端,甚至直接应用手机完成电子支付.因此, 移动云计算环境中的数据安全与隐私保护也愈发重 要.移动云计算环境中,不仅要保证用户外包到不可 信云端的数据安全性、完整性,而且要保证用户身 份、访问行为等信息的隐私安全,避免移动终端由于 受到恶意代码攻击造成的信息被窃、数据丢失,还要 考虑移动终端的资源受限等问题,设计满足移动终 端需求的轻量级安全方案.云端数据安全[2931]、用户 隐私保护[32]以及移动终端安全①已经成为近年来信 息安全领域研究的重要方向. 本文重点围绕计算迁移、基于移动云的位置服 务等移动云计算的支撑技术,以及移动终端节能、数 据安全与隐私保护等移动云计算涉及的主要问题, 介绍移动云计算的研究现状,特别是最新的研究进 展;然后对移动云计算的典型应用模式进行了深入 分析;最后讨论了移动云计算存在的一些问题以及 未来的发展趋势. 2计算迁移技术 计算迁移技术的出现最早可以追溯到Cyber Foraging[33]概念的提出,通过将移动终端的计算、 存储等任务迁移到附近资源丰富的服务器执行,减 少移动终端计算、存储和能量等资源的需求.随着云 计算的发展,计算迁移开始应用于云环境中,成为移 动云计算的重要支撑技术.计算迁移的总体目标主 要包括扩展CPU处理能力、节约移动终端能耗、减 少服务延迟和节约处理成本等. 计算迁移可以概括为代理发现、环境感知、任务 划分、任务调度和执行控制等步骤[5].然而,并不是 所有计算迁移方案都包含全部步骤.其中,最为核心 的执行控制主要涉及如何连接到一个可靠的远程代 理,传递执行所需的信息,远程执行并返回计算结 果,其具体迁移步骤如图3所示. 图3计算迁移步骤 2期 崔勇等:移动云计算研究进展与趋势 275 ①Cloudcomputingtopthreatsin2013.https://downloads. cloudsecurityalliance.org/initiatives/top_threats/The_Noto rious_Nine_Cloud_Computing_Top_Threats_in_2013.pdf
计算机学报 2017年 当移动应用程序需要迁移时,应用程序向操作分成显示部分和服务部分,显示部分在移动终端运 系统类库发送暂停请求并保存当前运行时状态;系行,服务部分在存储能力和CPU计算资源丰富代 统类库向本地代理发送通知信息;本地代理读取此理服务器上运行.两部分通过应用程序定义的协议 状态,并将代码或者虚拟机( Virtual machine,VM)进行交流,如果程序包含复杂的交叉状态和显示管 迁移至远端代理中;远端代理创建新的实例,复制应理,那么程序就需要被改写,这给程序员造成了很大 用程序运行,并将处理结果返回至移动终端 的负担.另外,由于程序员不可能精确掌握程序在 计算迁移方案一般按照划分粒度进行分类,主CPU和内存上的能量消耗,而且网络状态(带宽 要包括基于进程、功能函数的细粒度计算迁移,以及RTT)也是动态变化的,因此这种静态标注的划分 基于应用程序、VM的粗粒度计算迁移等,如图4方法并不能保证程序执行的能量消耗最小化 所示 为了确保迁移决策的有效性,Li等人3提出了 基于能耗(包括通信能量和计算能量)预测的划分方 移动终端 法.通信能量消耗取决于传输数据的大小和网络带 移动应用 即服务(SaS 件、数据、信息 宽,计算能量消耗取决于程序的指令数.基于计算和 通信消耗,得到最优化的程序划分方案.对于一个给 操作系统/运行时间支持 础架构即服务(I 定的程序,通过分析计算时间和数据传输能耗构造 CPU/内存/硬盘 操作系统、存储 个消耗图,静态地将程序分为服务器任务和用户 端任务.消耗图通过基于分支定界的任务映射算法 图4移动云计算中的计算迁移方案 获得,以最小化计算和传输的总能量.该算法通过修 细粒度的计算迁移方案将应用程序中计算密集剪搜索空间以获得最优的解决方案.他们的模型用 型的部分代码或函数以进程的形式迁移到云端执到了任务开始、任务终止、数据发送和数据请求等4 行.这类方案需要程序员通过标注修改代码的方式种信息.原始的程序代码中需要进行迁移调用的部 对程序进行预先划分.程序运行时,依据迁移策略,分会依据这些信息修改远程管理也需要根据这些 只对那些能够靠远程执行节约资源的部分执行计算信息进行上下文的状态迁移 迁移.粗粒度的计算迁移将全部的程序,甚至整个程 Yang等人(提出的方案综合考虑了多种资源 序的运行环境以ⅤM的形式迁移到代理上运行.这的利用情况,包括CPU、内存和通信代价(例如带宽 类迁移方式不需要预先对应用程序的代码进行标注资源),将移动终端上的一些任务无缝地迁移到附近 修改,减少了程序员的负担.然而,这类方案的适用的资源比较丰富的笔记本(称为代理)上.这种用户 性具有一定的局限性口,例如与用户有频繁交互的服务器的迁移结构主要包括监视器,迁移引擎、类方 程序就无法应用此类方案 法等模块.资源监视器主要监控内存使用情况 2.1细粒度计算迁移 CPU的利用率和目前的无线带宽.迁移引擎将应用 细粒度的计算迁移需要对程序进行预先划分标分成一个本地划分和多个远程划分.类方法模块则 注,只迁移计算密集型代码部分,以实现尽可能少的负责将类转换为一个可以远程执行的方法模块.该 数据传输.依据迁移策略,细粒度计算迁移一般可以方案将应用程序分成(k十1)个划分,其中包括1个 分为静态划分和动态划分两类方案.在程序运行过不可以迁移的划分和k个不相交可迁移划分,并将 程中,静态划分方案依据程序员的预先标注策略实这些划分组织成一个有向图,顶点集代表Java类, 施迁移;动态划分方案则可以根据系统负载、网络带边集代表类之间的相互作用(调用和数据访问).他 宽等状态的变化,动态调整划分迁移区域,提高迁移们提出的算法可以根据该有向图给出接近最优解的 效率和可靠性 迁移方案 2.1.1静态划分方案 Misco实现了集群式服务,支持将数据分发 早期的计算迁移技术大多采用静态划分方案,到网络上多个节点并行处理应用数据,以进一步提 依靠程序员通过修改和标注,将应用程序静态地分高计算迁移的执行效率.主服务器是一个集中式监 成两个部分:一部分在移动终端执行;另一部分在远视器,负责 Map Reduce的实现.应用程序被静态地 程服务器执行.在 Protium中,程序员将应用程序切分成映射(Map)和归约( Reduce)两个部分.映射
当移动应用程序需要迁移时,应用程序向操作 系统类库发送暂停请求并保存当前运行时状态;系 统类库向本地代理发送通知信息;本地代理读取此 状态,并将代码或者虚拟机(VirtualMachine,VM) 迁移至远端代理中;远端代理创建新的实例,复制应 用程序运行,并将处理结果返回至移动终端[34]. 计算迁移方案一般按照划分粒度进行分类,主 要包括基于进程、功能函数的细粒度计算迁移,以及 基于应用程序、VM的粗粒度计算迁移等[5],如图4 所示. 图4移动云计算中的计算迁移方案 细粒度的计算迁移方案将应用程序中计算密集 型的部分代码或函数以进程的形式迁移到云端执 行.这类方案需要程序员通过标注修改代码的方式 对程序进行预先划分.程序运行时,依据迁移策略, 只对那些能够靠远程执行节约资源的部分执行计算 迁移.粗粒度的计算迁移将全部的程序,甚至整个程 序的运行环境以VM的形式迁移到代理上运行.这 类迁移方式不需要预先对应用程序的代码进行标注 修改,减少了程序员的负担.然而,这类方案的适用 性具有一定的局限性[9],例如与用户有频繁交互的 程序就无法应用此类方案. 21细粒度计算迁移 细粒度的计算迁移需要对程序进行预先划分标 注,只迁移计算密集型代码部分,以实现尽可能少的 数据传输.依据迁移策略,细粒度计算迁移一般可以 分为静态划分和动态划分两类方案.在程序运行过 程中,静态划分方案依据程序员的预先标注策略实 施迁移;动态划分方案则可以根据系统负载、网络带 宽等状态的变化,动态调整划分迁移区域,提高迁移 效率和可靠性. 2.1.1静态划分方案 早期的计算迁移技术大多采用静态划分方案, 依靠程序员通过修改和标注,将应用程序静态地分 成两个部分:一部分在移动终端执行;另一部分在远 程服务器执行.在Protium[35]中,程序员将应用程序 分成显示部分和服务部分,显示部分在移动终端运 行,服务部分在存储能力和CPU计算资源丰富代 理服务器上运行.两部分通过应用程序定义的协议 进行交流.如果程序包含复杂的交叉状态和显示管 理,那么程序就需要被改写,这给程序员造成了很大 的负担.另外,由于程序员不可能精确掌握程序在 CPU和内存上的能量消耗,而且网络状态(带宽, RTT)也是动态变化的,因此这种静态标注的划分 方法并不能保证程序执行的能量消耗最小化. 为了确保迁移决策的有效性,Li等人[36]提出了 基于能耗(包括通信能量和计算能量)预测的划分方 法.通信能量消耗取决于传输数据的大小和网络带 宽,计算能量消耗取决于程序的指令数.基于计算和 通信消耗,得到最优化的程序划分方案.对于一个给 定的程序,通过分析计算时间和数据传输能耗构造 一个消耗图,静态地将程序分为服务器任务和用户 端任务.消耗图通过基于分支定界的任务映射算法 获得,以最小化计算和传输的总能量.该算法通过修 剪搜索空间以获得最优的解决方案.他们的模型用 到了任务开始、任务终止、数据发送和数据请求等4 种信息.原始的程序代码中需要进行迁移调用的部 分会依据这些信息修改.远程管理也需要根据这些 信息进行上下文的状态迁移. Yang等人[37]提出的方案综合考虑了多种资源 的利用情况,包括CPU、内存和通信代价(例如带宽 资源),将移动终端上的一些任务无缝地迁移到附近 的资源比较丰富的笔记本(称为代理)上.这种用户 服务器的迁移结构主要包括监视器,迁移引擎、类方 法等模块.资源监视器主要监控内存使用情况, CPU的利用率和目前的无线带宽.迁移引擎将应用 分成一个本地划分和多个远程划分.类方法模块则 负责将类转换为一个可以远程执行的方法模块.该 方案将应用程序分成(犽+1)个划分,其中包括1个 不可以迁移的划分和犽个不相交可迁移划分,并将 这些划分组织成一个有向图,顶点集代表Java类, 边集代表类之间的相互作用(调用和数据访问).他 们提出的算法可以根据该有向图给出接近最优解的 迁移方案.Misco[12]实现了集群式服务,支持将数据分发 到网络上多个节点并行处理应用数据,以进一步提 高计算迁移的执行效率.主服务器是一个集中式监 视器,负责MapReduce的实现.应用程序被静态地 切分成映射(Map)和归约(Reduce)两个部分.映射 276 计 算 机 学 报 2017年
2期 崔勇等:移动云计算研究进展与趋势 函数将输人的数据进行处理,生成中间的键值《key,个程序制定迁移决策逻辑.程序运行过程中,MAUI τle)对,并将所有生成的键值对归类,组成相应数事件分析器基于收集的网络状态等信息动态决策哪 据块节点.所有数据块节点通过归约函数产生最后结些远端方法需要迁移至云端执行.代理执行模块按 果,并返回给主服务器.映射(Map)和归约( Reduce)照决策执行相应的控制和数据传输工作.该系统通 函数在应用开发过程中通过开发者确认,为移动应过向服务器发送10KB的数据的简单方法评估网络 用提供分布式平台 的平均吞吐量,对于变化剧烈的无线网络,其预测的 静态划分方案大多假设通信开销和计算时间可准确性有待提高 Think airt也是一个线程级的动 以在处理之前通过预测、统计等方法获得.划分方案态迁移方案与MAUI相比,该系统重点对服务端 旦确定,在任务处理过程中将保持不变,然而,由进行了增强,可以为迁移任务动态分配服务内存等资 于移动终端的差异性和无线网络状态的复杂性,计源,提高了系统运行的可靠性 Comett则在MAUI 算、通信等开销很难准确预知 和 Thinkair的基础上,利用分布式内存共享技术和 动态划分方案 虚拟机同步技术支持多线程的并行迁移,进一步提 为了克服静态划分方案无法适应环境动态变化高了计算迁移的性能zhou等人设计的计算迁 的不足,动态划分方案可以根据连接状态的变化调移系统,可以在程序运行时基于无线信道、云端资 整迁移划分区域,及时适应环境变化,充分利用可用源等上下文环境进行动态决策,在微云、公有云等 资源.动态迁移决策的基本原理如图5所示,a,b, 多个云端动态选择服务者,实现代码级的细粒度 为应用程序输入,r为应用程序输出,应用程序运行 过程中会经历X1,X2,X1和X这4个计算节点默计算迁移 需要注意的是,细粒度迁移导致了额外的划分 认X1和X2在移动终端执行,X3和X4在云端执行 决策的消耗,因此划分算法的优劣直接影响了迁移 根据策略设置,在网络带宽比较好的时候,系统可以效率而且并不总是能获得最优解.另外,无论是依 把X2动态迁移至云端执行 赖于程序员修改应用程序源代码方案,还是利用远 程执行管理来计算近似划分的方案,都会引入额外 的开销,导致消耗更多的CPU能量或增加程序员 计算节点 的负担 参数转移 2.2粗粒度计算迁移 粗粒度计算迁移将整个应用程序封装在VM ao.b 节点迁移 实例中发送到云端服务器执行,以此减少细粒度 计算迁移带来的程序划分、迁移决策等额外开销 移动应用 Cyber Foraging将附近计算能力较强的计算机作 图5动态迁移决策 为代理服务器,为移动终端提供计算迁移服务.在执 Chun等人(提出的解决方案综合考虑移动终行应用程序时,移动终端首先向服务搜索服务器发 端电量、网络连接状态和实时带宽等3种因素的变送迁移请求服务搜索服务器向移动终端返回可用 化,针对这3种环境的不同变化情况分别给出了解的代理服务器的IP地址和端口号.移动终端继而可 决方案,并针对迁移决策问题设计了普适性的形式以向相应的代理服务申请计算迁移服务每个代理 化模型,但并没有给出详细的系统设计与实现在此服务器运行多个独立的虚拟服务,保证为每个应用 之后,学术界又相继提出了一系列针对特定应用的程序提供孤立的虚拟服务空间 Cyber Foraging利 计算迁移系统例如,针对图像识别和语音识别应用用局域网低延迟、高带宽的特性为移动终端提供高 的 CogniServel,针对环境感知应用的 odessa,效的计算迁移服务.然而,基于代理发现和VM模 针对社交应用的 Sociablesensel以及针对云游戏板的部署方法,时间开销和资源开销都比较大 的 Kahawail4z2等 针对广域网传输延迟过长的问题, Satyanarayanan MAU的提出旨在提供一个通用的动态迁移等人印最先提出微云( Cloudlet)的概念,把微云定 方案并尽量降低开发人员的负担.程序员只需要将义为一种可信任的、资源丰富的计算设备或一群计 应用程序划分为本地方法和远端方法,而无需为每算设备向附近的移动终端提供计算资源. Cloudlet
函数将输入的数据进行处理,生成中间的键值〈犽犲狔, 狏犪犾狌犲〉对,并将所有生成的键值对归类,组成相应数 据块节点.所有数据块节点通过归约函数产生最后结 果,并返回给主服务器.映射(Map)和归约(Reduce) 函数在应用开发过程中通过开发者确认,为移动应 用提供分布式平台. 静态划分方案大多假设通信开销和计算时间可 以在处理之前通过预测、统计等方法获得.划分方案 一旦确定,在任务处理过程中将保持不变.然而,由 于移动终端的差异性和无线网络状态的复杂性,计 算、通信等开销很难准确预知. 2.1.2动态划分方案 为了克服静态划分方案无法适应环境动态变化 的不足,动态划分方案可以根据连接状态的变化调 整迁移划分区域,及时适应环境变化,充分利用可用 资源.动态迁移决策的基本原理如图5所示.犪,犫,犮 为应用程序输入,狉为应用程序输出,应用程序运行 过程中会经历犡1,犡2,犡3和犡4这4个计算节点.默 认犡1和犡2在移动终端执行,犡3和犡4在云端执行. 根据策略设置,在网络带宽比较好的时候,系统可以 把犡2动态迁移至云端执行. 图5动态迁移决策 Chun等人[38]提出的解决方案综合考虑移动终 端电量、网络连接状态和实时带宽等3种因素的变 化,针对这3种环境的不同变化情况分别给出了解 决方案,并针对迁移决策问题设计了普适性的形式 化模型,但并没有给出详细的系统设计与实现.在此 之后,学术界又相继提出了一系列针对特定应用的 计算迁移系统.例如,针对图像识别和语音识别应用 的CogniServe[39],针对环境感知应用的Odessa[40], 针对社交应用的SociableSense[41]以及针对云游戏 的Kahawai[42]等. MAUI[9]的提出旨在提供一个通用的动态迁移 方案并尽量降低开发人员的负担.程序员只需要将 应用程序划分为本地方法和远端方法,而无需为每 个程序制定迁移决策逻辑.程序运行过程中,MAUI 事件分析器基于收集的网络状态等信息动态决策哪 些远端方法需要迁移至云端执行.代理执行模块按 照决策执行相应的控制和数据传输工作.该系统通 过向服务器发送10KB的数据的简单方法评估网络 的平均吞吐量,对于变化剧烈的无线网络,其预测的 准确性有待提高.ThinkAir[10]也是一个线程级的动 态迁移方案.与MAUI相比,该系统重点对服务端 进行了增强,可以为迁移任务动态分配服务内存等资 源,提高了系统运行的可靠性.Comet[43]则在MAUI 和ThinkAir的基础上,利用分布式内存共享技术和 虚拟机同步技术支持多线程的并行迁移,进一步提 高了计算迁移的性能.Zhou等人[44]设计的计算迁 移系统,可以在程序运行时基于无线信道、云端资 源等上下文环境进行动态决策,在微云、公有云等 多个云端动态选择服务者,实现代码级的细粒度 计算迁移.需要注意的是,细粒度迁移导致了额外的划分 决策的消耗,因此划分算法的优劣直接影响了迁移 效率,而且并不总是能获得最优解.另外,无论是依 赖于程序员修改应用程序源代码方案,还是利用远 程执行管理来计算近似划分的方案,都会引入额外 的开销,导致消耗更多的CPU能量或增加程序员 的负担. 22粗粒度计算迁移 粗粒度计算迁移将整个应用程序封装在VM 实例中发送到云端服务器执行,以此减少细粒度 计算迁移带来的程序划分、迁移决策等额外开销. CyberForaging[11]将附近计算能力较强的计算机作 为代理服务器,为移动终端提供计算迁移服务.在执 行应用程序时,移动终端首先向服务搜索服务器发 送迁移请求.服务搜索服务器向移动终端返回可用 的代理服务器的IP地址和端口号.移动终端继而可 以向相应的代理服务申请计算迁移服务.每个代理 服务器运行多个独立的虚拟服务,保证为每个应用 程序提供孤立的虚拟服务空间.CyberForaging利 用局域网低延迟、高带宽的特性为移动终端提供高 效的计算迁移服务.然而,基于代理发现和VM模 板的部署方法,时间开销和资源开销都比较大. 针对广域网传输延迟过长的问题,Satyanarayanan 等人[7]最先提出微云(Cloudlet)的概念,把微云定 义为一种可信任的、资源丰富的计算设备或一群计 算设备向附近的移动终端提供计算资源.Cloudlet 2期 崔勇等:移动云计算研究进展与趋势 277