英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料
毕业设计 (论文)
外文文献翻译
移动云计算:应用模型的比较
Dejan Kovachev, Yiwei Cao and Ralf Klamma
Information Systems amp; Database Technologies
RWTH Aachen University
Ahornstr. 55, 52056 Aachen Germany
{kovachev, cao, klamma}@dbis.rwth-aachen.de
摘要 云计算是一个结合许多计算领域的新兴的概念。云计算的基础是在互联网上提供服务,软件以及处理能力,降低成本,增加存储,自动化系统,从底层技术的服务交付脱钩,并提供信息的灵活性和流动性。然而,实际上实现这些好处远远不如实现移动应用程序以及打开许多新的研究问题更现实一些。 为了更好地理解如何促进基于云的移动应用程序的构建,我们通过云计算的原则棱镜调查了在移动计算方面现有的工作。我们给出了移动云计算的定义,并且提供了本文结果的概述,特别是移动云应用模型。我们还强调了在移动云计算领域的研究挑战,最后,我们总结出如何更好地理解移动云计算可以帮助建立更强大的移动应用程序。
关键字 云计算;移动计算;远程执行;分布式系统;自动卸载
- 引言
移动设备允许用户执行那些利用其日益普及的内置传感器和更好的数据交换能力而运行的强大的应用程序。因此,移动应用程序的实时数据流和Web 2应用程序之间无缝集成,如聚合、开放协作、社会网络和移动商务等[ 1 ]、[ 2 ]。移动执行平台被越来越多的任务所使用,例如,用于玩游戏;捕获、编辑、注释和上传视频;财务处理;管理个人健康,小额支付,购票,无处不在的计算基础架构间的交互。即使移动设备的硬件和移动网络的不断发展和完善,移动设备也永远是资源贫乏,安全性较低,伴随着不稳定的连接,以及较少的能量,因为它们是由电池供电。资源贫困成为了许多应用的主要障碍[3]。因此,在移动设备上的计算将总会涉及一些妥协。
移动设备可以被看作是云在线服务的入口点和接口。最近,已经讨论过云计算真正意味着什么。Vaquero等人[ 4 ] 使用与云计算相关的主要特征研究了20多个定义。云计算模式往往被混淆其能力,描述为几乎包括任何种类的托管和计算资源外包的总称。根据NIST对云计算的定义[ 5 ],云计算是一种能够通过网络以便利的、按需付费的方式获取计算资源的模型,这些资源能够快速供应并释放,使管理资源的工作量减小到最低限度。
云计算、无线通信基础设施、移动计算设备、基于位置的服务、移动网络等的结合,奠定了一种新的计算模式,称为移动云计算,它允许用户在网上获得无限的计算能力和存储空间。根据云计算在移动领域的功能,我们定义:
“移动云计算是一种使移动设备功能实现透明弹性增强的模型,它通过无处不在的无线接入到云存储和计算资源,可根据操作条件的改变而进行上下文动态的卸载调整,同时还保留了移动设备现有的传感和交互能力。”
例如Onlive[ 6 ]执行了云视频游戏,并且在不中断游戏体验的前提下向资源匮乏的客户提供视频流。在许多其他的例子中,云使移动设备实现例如病毒扫描,移动文件系统索引和增强现实应用等功能,可被预见。
在这次调查中,我们认为智能移动设备指的是能够连续连接到互联网,通常以手持的形式,具备高品质的图形显示能力,以及具有显著却有限的计算能力的移动设备。
为了使这一愿景超越简单的服务而成为现实,移动云计算还要克服许多障碍。现有的云计算工具只能处理一些具体的问题,例如并行处理海量数据[ 7 ],灵活的虚拟机(VM)管理[ 8 ],或大数据存储[ 9 ]。然而这些工具很少支持移动云。如果计算和存储都卸载到云中,但同时不会伤害用户的交互性,引入延迟或限制应用的可能性,那么移动应用程序的全部潜力才能被释放出来。应用程序受益于丰富的内置传感器,这些传感器打开了通向更智能的移动应用的新大门。移动云计算需要解决移动约束问题从而成功支持应用程序的“无限”计算能力。这种模式应该适用于不同的场景。该研究面临的挑战包括如何抽象复杂的底层技术,如何对各种影响应用程序性能和交互性的不同参数进行建模,如何在不同的约束条件下达到最佳的约束,如何将计算和存储与云整合,同时保护隐私和安全。
在本文中,我们给出了基于云计算理念的移动应用程序模型的系统的、比较性的描述。调查结果表明,目前相关项目只覆盖了所需的移动云特性的不同子集。因此,为了使移动应用程序能够与云进行操作,我们需要采用一种新的体系结构设计模型。
在接下来的内容中,我们主要阐述移动和云计算之间的联系。首先,我们简要地回顾一下当前移动应用程序模型的状态以及缺点(第二节),接下来,我们对那些适合移动云计算模式的新的有前景的不同应用模型进行分类、研究和对比(第三节)。在下一节,我们将概述未来的研究挑战(第四节)。最后一节,我们对论文进行总结。
- 移动应用现状
一些研究人员[ 10 ]- [ 12 ]已经确定了移动计算存在的基本挑战。移动计算环境的特点是严重的资源约束和操作条件的频繁变化。移动设备固有地拥有有限的资源,表现在处理能力,内存容量,显示屏大小以及输入形式等方面。这些一直都是现有移动应用程序处理方式的形成因素。
- 离线应用
大多数现代移动设备上的应用程序都属于这一类。它们作为胖客户端,从后端系统下载数据,处理本地移动设备上表示层和业务逻辑层的各种数据。客户端和后端系统之间有周期性的同步。胖客户端是一种网络化的应用程序,大多数资源可以存放在本地,而不是像瘦客户端一样分布在网络上。
离线应用程序,通常也被称为本地应用程序,它提供了:
- 与设备功能的良好集成,以及对其特性的访问
- 针对特定的硬件和多任务处理的性能优化
- 即使没有网络连接也总是可用的能力
另一方面,本机应用程序也存在许多缺点:
- 无法移植到其他平台
- 复杂的代码编写
- 增加了产品上市时间
- 要求开发人员学习新的编程语言
- 在线应用
在线应用假定在大部分时间下移动设备和后端系统之间的连接都是可用的。智能手机因其应用程序的功效性而广为流行,但也存在着诸如跨平台的问题。Web技术可以克服这些困难;基于Web技术的应用程序强大到可以替代本地应用程序。
移动之所以能够克服一些离线应用的缺点,是因为:
- 多平台
- 允许从任何地方直接访问
- 大多数开发人员都具备Web技术方面的知识,大大减少了启动创建移动应用程序所需的学习曲线
然而,移动Web应用程序也存在缺点:
- 对实时响应引入了太多的延迟(即便是30毫秒的延迟都会影响交互性能[ 3 ])
- 无法访问设备的功能,例如相机或运动检测程序
- 在处理需要长时间保持通信会话的复杂情况下的困难
- 脱机与联机下移动应用中存在的问题
目前的应用程序是静态分区,即大多数的执行都发生在设备上或后端系统中。然而,当移动客户端访问远程数据和服务时,很可能在网络环境和本地资源的可用性上,面临广泛而快速的变化。因此,一种分区模型不能满足所有的应用类型和设备。为了使应用程序和系统能够继续在这样的动态环境中运行,移动云应用必须视情况而定,对移动设备与云之间的计算功能的动态调整做出相应的反应。换句话说,客户端与云之间的计算必须具备自适应地响应移动环境变化的能力。
- 新的移动云计算应用模型
移动云计算可以说是在移动生态系统中提供云计算服务,即世界范围内的分布式存储系统,它超越了传统的移动设备的能力,并降低了处理、存储和安全等方面的困难。要充分利用移动云计算的全部潜力,我们需要考虑现有体系结构的能力和限制。
- 增强执行
增强执行是指一种用于克服智能手机在计算、记忆和电池方面的限制的技术。Chun和 Maniatis [14]提出了一种体系结构用来解决这些挑战,主要通过从手机端无缝地卸载执行到计算机基础架构(云),其中智能手机软件的副本仍在不停地运行着。
移动手机承载着计算能力和有内存要求的应用程序。然而一些甚至是全部的任务都卸载在云中,其中设备的克隆系统图像在不断运行着。增强执行的结果是一旦完成便重新整合。这种卸载密集型计算的方法在云端采用了松散性同步虚拟或仿真的移动设备的复制品。因此,它提出了这样一种假想:移动用户将拥有比在现实生活中更强大、功能更丰富的设备,并且应用程序开发人员在设计更强大的设备时,再也无需手动分区应用程序或提供代理了。
图1. 克隆云类增强执行(来自[ 14 ])
图1显示了移动手机可能的增强执行的分类:(1)主要功能外包——更像是一个客户端-服务器应用程序,(2)后台增强——有利于在后台运行的独立分离的过程,例如病毒扫描,(3)主线——介于初级和后台增强之间,(4)硬件——副本在更强大的仿真虚拟机上运行,(5)复合度——有助于并行执行。
Satyanarayanan[ 3 ]等人也提出了类似的方法:使用虚拟机(VM)技术来执行计算移动设备上的密集型软件。在这种体系结构下,移动用户可利用虚拟机在附近的微云中快速实例化定制服务软件,并通过WLAN使用这些服务。微云是指可信赖的、资源丰富的一台或一组计算机,它与网络连接并且能够被附近的移动设备使用。移动客户端为瘦客户端,所有重要的计算都发生在附近的微云中。这种方法依赖于被称为动态虚拟机合成的技术(参见图2)。移动设备向微云基础设施提供小型的虚拟机覆盖,这些基础设施大多已经拥有了从该覆盖网导出的基础虚拟机。基础设置覆盖到基础虚拟机上,用以得到在它暂停的这个精确状态下才开始执行的虚拟机。
图2. 动态虚拟机合成时间线(来自[ 3 ])
- 弹性分区/模块化应用
在异构的不断变化的环境中运行的应用程序,如移动云中,需要动态分区应用程序并远程执行一些组件。应用程序可以通过在资源丰富的云基础设施中委派应用的一部分进行远程执行,从而提高自身的性能。
Giurgiu等人[ 16 ]开发了一种应用程序的中间件,它可以在优化延迟、数据传输和成本等参数的同时,自动地分布到介于设备和服务器之间的应用程序的不同层。Giurgiu等人使用阿尔弗雷多[ 17 ]框架来进行移动电话和服务器之间的应用程序模块的分布。尽管数据层始终保持在服务器端,但阿尔弗雷多框架却能使开发人员分解和分发应用程序的表示层和逻辑层。此外,Rellermeyer等人[ 18 ]说明了这种模块化的应用模型是如何支持弹性的。
图3. 阿尔弗雷多架构(来自[16])
阿尔弗雷多基于R-OSGi [ 19 ],R-OSGi是OSGi中间件模型的概念扩展,允许java应用软件模块的分解。图3显示了主要的概念。在建立连接后,客户端请求应用程序。然后开始计算应用程序的最佳部署。基于该决定,应用程序描述和要获取的服务列表发送给客户端的呈现器。呈现器根据描述生成相应的UI。此外,对于那些决定运行在客户端服务,相对应的服务捆绑就要被取回(如图3,服务S1)。否则,对于决定运行在服务器上的服务,在客户端就要创建本地代理作为这些服务的接口(如服务S2和S3)。
Zhang等人[ 20 ],[ 22 ]开发了一种参考框架,用于将单个应用程序划分为具有动态执行结构的弹性组件。这些组件,又叫做weblets,是独立的平台,可以在不同的计算设施上透明地执行,包括移动设备或IaaS的(基础设施即服务)云服务提供商,如亚马逊的EC2和S3[8]。应用程序被拆分为UI组件,weblets,以及一份描述应用程序的清单(参见图4)。使用weblets这种独立功能的单元,具有超过AlfredO和R-OSGi的优势:weblets允许更广泛的应用范围,并不依赖于某一种特定的编程语言或规范。
图4. 弹性应用参考架构(来自[20])
- 应用程序迁移
移动云通过不同设备来进行访问。为了提供无缝的用户体验,一些相同的应用程序需要在不同的设备上运行。应用程序的移动性在促进新一代移动应用程序上起着至关重要的作用。从根本上说,应用程序迁移是指将正在运行的应用程序状态从一个设备迁移到另一个用户可以立即访问的设备[ 23 ],[ 24 ]。应用程序移动性与进程迁移密切相关。然而,应用程序移动性不仅仅涉及进程迁移,例如还包括到不同架构的迁移任务或用户界面的适配。
Satyanarayanan等人[ 26 ]采用了一种被称为互联网挂起/恢复(ISR)的机制,允许在互联网网站上逻辑挂起一台机器,前往其他一些网站,然后在另一台机器上无缝地
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[28790],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。