王海濤+宋麗華+陳暉+張國敏+胡強(qiáng)


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