王海濤+宋麗華+陳暉+張國敏+胡強
【摘 要】當前智能手機支持的應用服務越來越廣泛,為了解決智能手機存在的計算功率、能量和內存資源嚴重受限等問題,通過將云計算模式擴展到移動手持設備來構建有效的移動云計算體系結構,可以充分發(fā)揮智能手機的功效和滿足日益增長的應用需求,因此首先介紹了云計算基本概念,并說明了傳統(tǒng)智能手機應用模式在支持云計算方面存在的挑戰(zhàn),然后研究了近年來提出的移動云計算體系架構,對現(xiàn)有的移動云計算應用模型進行了分類,并分析了影響移動云計算模型的重要因素,最后進行了總結并指出今后的發(fā)展方向。
【關鍵詞】移動云計算 云體系架構 云卸載
1 引言
云計算是網(wǎng)格計算、服務計算、效用計算等多種計算模式的結合和發(fā)展,近年來得到大力發(fā)展和迅速普及,在因特網(wǎng)上提供了強大的計算、存儲和信息服務,降低了企業(yè)和個人的IT投資成本,并通過解耦上層服務和底層網(wǎng)絡基礎設施提供了極大靈活性。與此同時,智能手機也日益流行并為廣大用戶提供了豐富的應用服務,包括圖片處理、音視頻服務、游戲、電子商務和在線社交網(wǎng)絡服務等。但是,隨著智能手機提供服務的日益增多,對其計算、處理、存儲、帶寬、能量等資源需求也隨著提高,而智能手機的CPU和電池技術進展相對較慢,從而給資源受限的智能手機的應用拓展構成了極大的挑戰(zhàn)。
一般來說,可以通過對手機的硬件和軟件層面加以改進來提高智能手機的資源供給和服務提供能力,但由于尺寸和重量受限,硬件級的性能提升較慢且成本較高。相比而言,軟件層次的性能提升容易一些,可以將大部分計算和處理任務轉移到外部服務器或利用外部設施的資源。計算負載卸載是指將資源密集型任務從移動設備遷移到資源豐富的云中或鄰近的服務器上,這種借助于云服務資源提升智能手機計算性能的方式極具吸引力和競爭力,在商務、健康醫(yī)療、教育、社交網(wǎng)絡、文件共享和娛樂等領域都大有用處。
移動云包括兩大類:基于基礎設施的移動云和無基礎設施(自組織)云?;A設施云中硬件基礎設施通常保持靜態(tài)不動,并向移動用戶提供信息資源服務;自組織移動云是指由一組移動設備協(xié)同構造云設施,并向移動用戶提供云服務。需要說明的是,本文主要考慮基礎設施移動云。
傳統(tǒng)的計算卸載技術由于沒有考慮能量效率并且耗費帶寬而不能直接移植到智能手機上,并且傳統(tǒng)的移動應用模型僅支持開發(fā)在移動設備上運行的應用服務而沒有考慮計算卸載,很少能夠充分利用云資源和云服務。因此,移動智能手機需要一種有效支持計算卸載和適合移動云環(huán)境的應用模型,該模型充分考慮能量意識、設備異質性、應用遷移開銷、網(wǎng)絡數(shù)據(jù)成本等因素。本文旨在闡述近年來提出的移動云應用模型并比較分析其優(yōu)缺點,對現(xiàn)有的移動云應用模型進行分類,并說明影響移動云模型的重要因素,最后也指出了其今后的發(fā)展方向。
2 移動云計算體系架構
云計算的主要目標之一是為小型微型企業(yè)和個人用戶提供訪問資源和使用服務的便捷高效方法。與此類似,移動云計算的主要目標是向移動用戶提供增強的用戶體驗,包括計算時間、電池壽命、應用服務和設備資源等方面。相比于云計算,移動云計算面臨獨特的問題和挑戰(zhàn),如網(wǎng)絡連接、通信負載、網(wǎng)絡帶寬、移動設備能量等。無論怎樣,移動云應用模型也基于標準的云服務模型,包括IaaS、PaaS、SaaS等。移動云計算的實例包括亞馬遜的彈性云計算(EC2)、谷歌的APP Engine和微軟的Azure云服務。
當前的移動云計算體系架構中,移動設備可以通過兩種方式訪問移動服務,即通過移動電信網(wǎng)絡或通過無線訪問點,如圖1所示。前者需要借助于衛(wèi)星或無線基站,后者借助Wi-Fi接入點,兩種方式都要最終接入因特網(wǎng)來獲得云中的服務和資源。相比而言,基于Wi-Fi接入方式的時延、成本和能耗更低。
在將移動設備的計算任務卸載到云服務設施之前,移動云應用需做出必要的評估和決策。計算卸載過程的基本工作流程簡述如下:首先移動應用檢查用戶的卸載許可權限,如果用戶允許計算任務卸載,那么應用接下來檢查到云服務的可訪問性和可用的云資源。然后,移動應用還需根據(jù)用戶的目標和任務需求來決定計算卸載是否有益,如果有益,則執(zhí)行計算卸載;否則,應用依舊在本地執(zhí)行計算任務。計算卸載的決策過程很復雜,受多種實體和因素的影響,包括用戶、移動設備、網(wǎng)絡連接、應用特性和模式以及云服務和資源等。
3 移動云計算應用模型評價標準
本節(jié)說明評價移動云應用模型優(yōu)劣常用的幾種指標和需要考慮的若干因素,包括情景意識、時延、帶寬利用率、通用性、隱私、復雜性、安全性、編程抽象、可擴展性、執(zhí)行資源和操作平臺。
(1)情景意識:如前所述,應用模型的情景意識是指它了解能夠影響計算卸載的實體和參數(shù)。實際上,應用模型具有情景意識能力是非常有必要的,因為并非在所有情況下計算卸載都是有益的,為此它需要根據(jù)感知的情景動態(tài)決策是否需要執(zhí)行計算卸載。
(2)時延:在移動云計算中,時延是指從卸載計算任務到從云中返回計算結果的時間。時延主要由卸載數(shù)據(jù)量、網(wǎng)絡傳輸速度、用戶和云服務設施的相對位置、云處理速度等因素決定。
(3)帶寬利用率:在應用模型中,帶寬利用率是指卸載計算需要遷移到云中的數(shù)據(jù)量。如前所述,數(shù)據(jù)量越大時延也越長,因此部分數(shù)據(jù)可以提前遷移到云中以減少時延。但是,數(shù)據(jù)的遷移需要進行數(shù)據(jù)同步,同步頻率高數(shù)據(jù)一致性好但通信開銷也越大,需綜合考慮。
(4)通用性:所謂的通用型是指應用模型能夠支持各種各種的應用,包括時延容忍的應用和實時性要求較高的應用,前者包括文件檢索、病毒掃描等,后者包括語音和視頻類應用。
(5)隱私性:當前移動設備普遍配備了GPS并且許多應用通過要求獲取用戶位置信息來提供基于位置的服務。這些服務給用戶帶來便捷的同時,也造成了嚴重的隱私泄露問題,特別是用戶其它相關的信息被惡意竊取時。另外,云中用戶的數(shù)據(jù)隱私也是一個必須正視的重要問題,其在一定程度上限制了移動云計算應用的普及。為此,歐盟已通過了相關數(shù)據(jù)保護的法律,對存儲用戶數(shù)據(jù)的服務器和機房提出了嚴格的規(guī)范標準。為了解決隱私性問題,移動云應用模型必須提供相應的隱私保護和認證機制。
(6)復雜性:移動云應用必須能夠在線或離線執(zhí)行,還應該以盡量低的時延充分利用帶寬。一些應用模型將應用分成可管理的和可卸載的組件,后者可以靜態(tài)按計劃地或動態(tài)依據(jù)情景信息按需地遷移到云中。此外,一些應用模型在云中采用并行處理來減少執(zhí)行時間,但并行化能否執(zhí)行依賴于云服務。不過,應用劃分、動態(tài)卸載、資源監(jiān)控、情景感知和并行處理都會在一定程度上增加應用模新的復雜性,導致實現(xiàn)困難并給移動設備帶來較高負擔。
(7)安全性:安全性是云計算大規(guī)模部署應用的一大障礙,因為云計算引入許多新的安全問題,除了上面提到的數(shù)據(jù)隱私性外,還包括數(shù)據(jù)訪問控制、數(shù)據(jù)分發(fā)、數(shù)據(jù)完整性、用戶可信性、服務可用性、通信安全性和基礎設施可靠性。在移動云計算中,需要從兩個方面考慮安全問題,即移動設備和云服務設施。移動設備必須時刻清除惡意代碼,包括病毒、木馬和蠕蟲等,以避免隱私泄露和數(shù)據(jù)遭受破壞。為了清除惡意代碼,移動設備上的安全應用必須定期執(zhí)行掃描,但這又會增加能耗。針對這種矛盾,可以將部分資源耗費型的惡意代碼掃描任務卸載到云中,以便在節(jié)省移動設備能量的同時獲得較高的安全性。另一方面,存儲在云中的數(shù)據(jù)可能丟失、篡改或泄露,必須使用加密保護、訪問控制和數(shù)據(jù)備份機制。
(8)編程抽象:云平臺支持不同的API、數(shù)據(jù)模型、查詢語言和成本模型,與此類似,移動設備運行不同的操作系統(tǒng),對軟硬件有不同的要求。因此,移動設備和云平臺的異構性使得移動云應用的開發(fā)變得非常復雜。為了便于開發(fā)移動云應用,需要新的編程抽象工具來隱藏云設施和移動設備的復雜性,如MpaReduce、Spark和Hadoop。
(9)可擴展性:可擴展性是云計算的重要特征之一,以便適應不斷增長的用戶需求。此外,應用模型必須能夠及時集成各種新型的應用,并且對基礎設施的要求盡量少。需要指出的是,可擴展性不僅依賴應用模型還依賴于云平臺。舉例來說,Google的AppEngine的擴展能力好于Amozon的EC2。
(10)執(zhí)行資源:移動云應用可以采用兩種執(zhí)行方式。第一種情況是應用在虛擬云設施中執(zhí)行,如個人計算機、筆記本和服務器等;第二種情況是應用在真實的云設施中執(zhí)行,如EC2、AppEngine等。因此,移動運營用模型必須能夠很好地支持這兩種執(zhí)行方式。執(zhí)行資源極大影響應用模型的可擴展性和可用性,因為鄰近的基礎設施并非總是可用的,特別是當用戶在移動的情況下尤為如此。因此,為了使應用模型可擴展并能利用虛擬的無限資源,將計算任務及時轉移到真實的云平臺是極好的選擇。
(11)軟件平臺:軟件平臺是移動設備的應用模型運行的基礎,知名的軟件平臺有Android、iOS、Symbian、BlackBerry等。大多數(shù)應用模型都僅支持單個平臺,而且每個平臺對計算卸載的支撐力度不同。例如,Android相比于iOS能更好地支持計算卸載。
4 移動云計算應用模型分類
移動云應用模型通常是為特定目標設計的,如執(zhí)行本地資源不足的應用,從而可以增強移動設備的應用性能。當然,有些時候一個應用模型也可以針對多個目標設計,但是有時需要犧牲其他目標來優(yōu)化主目標。基于應用模型的目標,可以將移動云應用模型分為四類,具體說明如下:
4.1 基于性能的應用模型
基于性能的應用模型的主要目標是將資源密集型的計算卸載到高速云中,通過利用云資源來增強移動設備的應用。CloneClode模型將部分計算任務卸載到云中,并對移動設備和云中的克隆設備進行及時同步,以便保證應用執(zhí)行的一致性。當允許增強移動設備性能時,移動設備可以將計算任務轉移到克隆設備并轉入休眠狀態(tài)。在CloneClode模型中,面臨的最大挑戰(zhàn)是應用程序分割和進程遷移。圖2給出了應用程序分割和進程遷移的一個示例,由于在云中有完整的備份,所以移動設備數(shù)據(jù)的丟失可以很容易地得到恢復。但是,這又帶來了不可回避的數(shù)據(jù)隱私和安全問題。
Zhang等人提出了一種基于彈性應用的移動云應用模型,每個彈性的應用被分割成多個稱為Weblet的組件。Weblet是一種可以計算、存儲和通信的獨立應用單元并且保持其執(zhí)行位置透明。Weblet的卸載決定依賴于CPU負載、內存、網(wǎng)絡條件、用戶喜好和電池能量等因素?;谑褂玫木幊碳夹g,Weblet可以是平臺相關的,也可以是平臺獨立的。彈性應用可以分為三種模式:復制模式、分離模式和聚集模式。復制模式支持兩種類型的復制,一是在云中執(zhí)行Weblet的多個副本來完成單個任務,從而減少執(zhí)行時間,特別適合執(zhí)行大批量的類似任務,如文件掃描。二是在云中執(zhí)行Weblet的多個副本,但是最先完成執(zhí)行的副本首先向移動設備返回結果來減少處理時延。分離模式可以在共享的資源上執(zhí)行Weblet的不同實現(xiàn),通過向共享資源添加新的實現(xiàn)來增加應用的可擴展性。由于可以在單個設備上聚集多個服務,分離模式可以增強用戶的體驗。聚集模式在云中運行多個Weblet并監(jiān)控用戶Web賬戶和服務,因此一旦有賬戶活動出現(xiàn),Weblet將聚集信息轉發(fā)到移動設備上。由于數(shù)據(jù)復制往往需要在多個位置上分布式執(zhí)行,因此面臨著數(shù)據(jù)安全、同步和完整性等問題。
4.2 基于能量的應用模型
基于能量的應用模型旨在通過充分利用云資源來減少移動設備應用的能耗,這主要是借助計算卸載將計算密集型任務轉移到云中,從而減少應用的計算開銷。舉例來說,uCloud模型重點關注從異質組件中組合應用來支持靈活性、可重用性和可配置性。每個組件可以在移動設備或云中執(zhí)行,并且組件可以很容易地標識并松散地與輸入/輸出參數(shù)、私有內存和配置信息相綁定。uCloud的優(yōu)點在于它支持自包含的彼此相互獨立的應用組件,從而增加了靈活性和可重用性,但是需要熟練的程序員開發(fā)相關應用組件,并且沒有采用相應的數(shù)據(jù)保護機制。
4.3 基于約束的應用模型
基于約束的應用模型主要是在資源受限的環(huán)境中(如移動手持設備)通過使用云資源來有效執(zhí)行應用。與基于能量的應用模型類似,將資源耗費型應用轉移到云中而只在移動設備上執(zhí)行輕量級的應用。例如,Cloullet模型使用虛擬機的概念,通過運行在可信和資源豐富的主機上的虛擬機來實現(xiàn)計算卸載,此時移動設備充當瘦客戶機。鑒于時延問題在移動云應用模型中非常關鍵,因此,Cloudlet模型可以根據(jù)需要將計算任務卸載到臨近的基礎設施上而不是遠程的云中,以減少傳輸和處理時延。基于虛擬機的Cloudlet模型相比于進程遷移和軟件虛擬化更為健壯,并且通用性更強,缺點是VM綜合處理需要花費數(shù)秒使得這種模型不適合實時任務。
4.4 多目標應用模型
多目標應用模型的目的是同時獲得包括性能和能量效率在內的多個目標并在多個目標之間進行相應的權衡。MAUI模型可以在最小化用戶干預的情況下提供精細粒度的應用卸載,主要目標是最小化能耗,同時可以降低移動設備的內存耗費。在MAUI模型中,應用分區(qū)是動態(tài)的,并且卸載是分段的,以減少處理時延。Cuckoo模型支持應用的部分卸載并且目標使開發(fā)者編程更容易。此外,Cuckoo支持本地和遠程方法實現(xiàn),但是不支持異步回調和遠程狀態(tài)轉移。
5 結論
本文討論了移動云計算體系架構及云計算應用模型,通過計算卸載以緩解移動設備在資源受限的條件下的負載,提高其服務性能。但是,現(xiàn)有的云應用模型通常僅支持單個執(zhí)行平臺,限制了其可用性和通用性。為此,需要考慮標準化移動云執(zhí)行平臺以方便計算卸載的實現(xiàn)。此外,移動云計算應用今后仍需要解決多個難題,包括:數(shù)據(jù)同步、數(shù)據(jù)隱私性、模型安全性、可擴展性和多目標權衡等。
參考文獻:
[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.