◆王 茵 劉 毅
(海軍計算技術研究所 北京 100841)
移動云計算與普適云計算
◆王 茵 劉 毅
(海軍計算技術研究所 北京 100841)
隨著移動智能終端的普及和通信技術的不斷提升,云計算平臺得到巨大發展。本文深入研究云計算兩大最新熱點——移動云計算和普適云計算,指出其未來發展中亟待解決的一系列問題。研究表明,雖然虛擬機遷移和計算負載均衡等技術可以解決云計算發展中問題,但多設備之間的訪問互聯,節點的異構化等都會帶來新的挑戰。
云計算; 移動云計算; 普適云計算
經過多年的發展,云計算技術已取得了巨大進步[1]。與此同時,近年來隨著電子技術水平的進一步提升,移動設備也獲得了迅猛發展,從智能手機、平板到目前不斷涌現的可穿戴設備,這些移動設備的性能都有了顯著提高。特別是,移動終端的智能化水平不斷提升,其不但可以自由收發郵件、瀏覽網頁,而且還能使用即時通訊軟件參與社交網絡[2][3]。可以預見,未來隨著無線網絡技術的發展,移動設備通過無線網絡的應用更加廣泛,智能終端的大量軟硬件資源在閑置時間也可以被充分利用起來,由此其將從云計算平臺的主要消費節點發展為平臺的貢獻節點[4]。一方面,節點的可移動性將會導致云平臺的底層網絡拓撲易變,而若仍采用常規云服務的模式(從客戶端到云端固定訪問的模式)則難以適應新的需求。另一方面,新的智能化設備不斷發展,比如智能手環、谷歌眼鏡、以及可穿戴設備等智能化嵌入式節點大量涌現,而網絡技術的進步,促使這些新設備與網絡進一步融合,促使互聯網的觸角延伸到物理世界——物聯網。若在閑暇時充分利用起這些節點組成云平臺則將提供更多服務,而這類云節點的異構型也為云計算的發展帶來新的挑戰[5]。本文簡述了云計算平臺的基本概念,進而從云節點拓撲的多變性和節點的異構性兩方面介紹了云計算技術的最新進展,提出了發展過程中遇到新的挑戰,展望了云技術的未來發展。
目前,云計算已經可以為企業/個人用戶提供廣泛的服務。參照Li等[1]的研究,云服務的模式主要分為軟件即服務(SaaS)、平臺即服務(PaaS)和基礎設施即服務(IaaS)三大主要類別。采用這種分類形式主要是為了可以給用戶靈活的提供業務并且可以更好的管理供應商的IT基礎設施成本。在需要的時候,這三種服務也可以組合起來提供復合云服務來滿足企業用戶的工作需求。云計算帶來了很多便利和優勢的同時,也帶來了許多新的問題,最主要的是信息安全的問題,而用戶對于云服務隨時訪問的需求也在不斷提高,迅速發展的移動設備作為云的節點可以應對這個需求[6]。
當前,移動智能終端(如智能手機、平板等)都具有強大的功能,內部也具有良好的網絡協議后臺,可通過諸如 WIFI,3G等無線網絡技術,輕松實現瀏覽網頁、訪問郵件、即時通訊及地圖導航等功能[7]。同時它們的便攜性和靈活性讓用戶可以攜帶設備任意移動,這就促使用戶對于隨時隨地的云服務的需求越來越大,而節點的移動性改變了傳統云計算的固定通信服務的模式,導致網絡拓撲的變化,因而新的云服務模式——移動云計算(Mobile Cloud Computing, MCC)應運而生。其中移動終端受限于自身軟硬件資源,遇到一些麻煩,例如:
(1)處理性能限制:盡管智能手機等設備的CPU性能得到大幅提升,但是用在掌上設備的微處理器對于復雜的任務處理能力仍然是不足的;
(2)容量限制:移動設備使用的存儲器大多數為閃存,在數據爆炸的今天,其容量還是難以支持用戶的巨大存儲需求[8];
(3)電量限制:電池一直是制約智能設備微型化發展的關鍵因素之一,在盡可能做到“瘦身”的情況下,保證移動設備長久續航能力始終是個難題;
(4)網絡限制:移動設備要隨時隨地訪問云平臺,對網絡連接的穩定性和網絡的帶寬,都有極高的需求。
為了應對以上問題,很多研究者提出了一些研究思路以補充移動云平臺架構。

表1 MCC研究方向及對策
平臺負載:將計算資源消耗相對較大的任務轉移到云端處理,并且將信息量較大的數據轉存到云存儲中心。相對小型的任務直接在移動客戶端處理,而大任務移動客戶端只保留簡單的程序接口,移動端僅負責數據輸入和結果的查詢,具體處理都交付云中心[9][10][11]。
虛擬程序分區:通過虛擬機節點代替云節點負載所有的計算需求,這個結構將應用程序所要執行的任務進行劃分,并決定哪些應用程序的任務需要在移動設備本地執行,哪些負載到云中執行。該分區是在離線模式下進行的,其中決定如何分區是基于一套標準,比如網絡特性、處理能力、能耗、計算強度等[12]。分區服務是并行執行的,并且在應用程序執行的生命周期期間可以暫停和捕捉這些分區任務的執行。
數據同步:移動云服務系統中,用戶對數據和服務一體化需求不斷提高,Mobius等[13]提出了為移動云服務提供一致的數據信息服務。用戶在不同的網絡環境中改變了位置,數據需要同步,因此Baliga[14]提出虛擬移動體系結構來應對這個問題,Bifulco等[15]通過提出一種稱為 Follow-Me-Cloud(FMC)的可擴展架構的云來推進云服務的虛擬化問題。FMC的概念是當用戶當下的網絡連接丟失或者出現應用程序故障時,暫停執行中的移動終端應用程序,之后在另一個連接穩定的環境中恢復應用程序狀態。但當用戶處在網絡不通暢狀態時,或者更換網絡環境時,在無線網絡中為移動設備分配的 IP地址會隨著用戶在可用網絡之間的切換,或者改變位置而改變。因此,在執行層,FMC由網絡基礎設施實現的虛擬機遷移來實現,而 FMC對于設備內部采用同一個虛擬的 IP地址來保證服務的通暢性。這有助于在任何移動設備所在的網絡內,數據的每一道進程透明的傳輸。使用這種方法可以有效克服TCP/IP中阻礙移動端-服務器端數據交換時的通信故障。
緩存預送:Dong等[16]設計了RFS用來在移動云系統中共享文件。在移動網絡中,為了降低移動端與云端的訪問延遲,RFS在移動終端提供一個高速緩存組件與后端云同步。RFS的特點是在文件同步過程中適應于特定的網絡協議。因此,若移動設備通過脆弱的網絡設置連接到云,同步過程將遵循“預取”原則。“預取”是指“云”記錄用戶的請求,當類似的用戶請求再發出后,系統將自動調用之前已經嘗試過的請求,即使這些請求是之前沒有被用戶顯式調出的。RFS還有“預推送”服務,它的功能類似于“預取”,但在這種情況下,服務器基于用戶的歷史記錄和訪問習慣,記錄那些可能被用戶需要的請求,同時服務器會推送這些文件到客戶端節點,即使用戶沒有嘗試請求數據。在RFS中的“預取”和“預推送”技術的結合,使得系統對實時文件的處理使用更少的能源損耗。
上述功能的完善給MCC帶來了很多好處,比如:
(1)延長電池的壽命:將許多應用程序等大數據處理放在云端,終端并不直接參與過多信息處理,通過客戶端訪問結果,這樣可大幅度減少信息的處理,節省電量。相關實驗表明,通過遠程應用程序任務遷移和遠程處理移動終端的節能更顯著。例如,使用存儲器算術單元和接口(MAUI)類的手機游戲可比在手機端執行節省27%的能耗,而國際象棋游戲類則可節省45%[17];
(2)提高容量和加快數據處理能力:研究表明,托管在云端的程序處理速度比手機CPU處理有大幅度提高。“云”中的存儲空間更便利于用戶的需求,比如,亞馬遜[18]的簡單云存儲服務中的照片同步功能,使得用戶隨時隨地可以將自己的照片上傳到云端,并且可以通過任何設備直接訪問。而類似于FACEBOOK等[19]托管在云端的社交網絡,使得便捷的社交、溝通都獲得巨大成功;
(3)提高了網絡的利用率:這些中間件的結構通過推送等功能,降低了移動設備與云互聯的延遲,盡快的將信息傳遞到用戶的設備,降低對不穩定網絡的依賴。
隨著越來越多的智能終端日趨小型化、便攜化和普及化,對于MCC的研究逐步轉向無所不在的普適云計算(Ubiquitous Cloud Computing, UCC)[20]。一方面,用戶個人擁有的移動智能設備越來越多,普通用戶擁有多個智能化移動終端已屢見不鮮,不僅有筆記本電腦、智能手機、平板設備等,還會配備智能化的眼鏡、手表、健康監護儀等各類可穿戴智能設備。這些設備的功能非常強大,通常單個智能設備就可以作為一個云節點支持多種云服務。而如今,擁有這些設備的用戶會同時利用自身擁有的這些設備來訪問云服務,因此,移動云計算的模式也慢慢從單用戶、單設備向單用戶、多設備的方向轉變,多個設備同時訪問云服務將會對數據信息的一致性有更高的要求[21]。
另一方面,新興的電子設備,如智能手環、智能眼鏡等產品的出現,已遠不同于傳統的移動設備,將會導致移動云節點的異構化。同時,智能節點的迅速發展,尤其計算性能和存儲性能的提升,以及物聯網思想日趨深入人心,智能節點已不再孤立的作為一個單獨的終端模塊,而是不斷整合構成一套系統,提供一類特定的服務。例如,醫療云[22]中用到的心臟起搏器等終端設備,相對而言功能較單一,多為專職專用,但其對信息的實時性、一致性需求更高[23]。
為保證互聯通暢和數據一致性,Koukoumidis等[24]通過提出了Pocket Cloudlets的研究思路。Pocket Cloudlets是支撐使用者的多個設備訪問云托管服務,每個移動節點將保持那些云服務托管的副本。它的特性是:(1)在網絡受損情況下,訪問本地部分的云服務;(2)由于用戶設備不需要一直請求云連接,因此可大大減少訪問流量;(3)駐留在移動裝置的服務可以根據設備、用戶和環境進行個性化設置;(4)個人信息能夠在網絡攻擊中安全地存放而無后顧之憂,這些移動設備可以通過廣泛的網絡通信方式(如藍牙、Wi-Fi、紅外、NFC等)來訪問云平臺。所以,多數情況下遇到網絡連接丟失的狀況,一般指沒有Wi-Fi或GSM訪問,而其他的網絡接口,例如,藍牙等是可以使用的。因此,當無法連接到云服務時,利用其他由移動設備支持的網絡接口從其它對等設備接入服務[25]。
近年來,云計算技術的發展已不斷完善,而且隨著越來越多的企業投入云平臺建設,越來越多的用戶參與使用,未來必將迎來云計算發展的大繁榮。然而,我們也注意到,目前的發展仍然存在著很多挑戰和問題。
首先,移動設備的性能制約。這是困擾相關云平臺發展的重要因素之一,雖然智能設備一直都在不斷提升性能(存儲、計算和電池),然而用戶始終會對其處理能力和續航能力有更高的追求。要滿足用戶的需求,不但要提升設備自身的軟硬件水平,更重要是要靠移動云計算對任務進行合理的統籌規劃,Rudenko等[26]提出了對任務進行分配和規劃思想,從而提高任務的分配和處理效率,減少移動設備的功耗。隨著MCC和UCC應用場景的普及,未來用戶對終端應用響應服務的需求還會進一步提升,因此可以繼續開展類似工作的研究。
其次,網絡資源受限。在MCC和UCC場景中,由于終端的設備受限,因而大量的業務都在“云”端執行,因此終端實時性的需求就顯得十分突出。為滿足實時性,最重要的因素就是確保網絡的穩定性,其次是保證有充足的帶寬。未來除了在公共設施方面不斷升級提高網絡覆蓋率以外,還得依靠數據遷移、緩存預取等措施,以及充分借助其他近距離通信方式(例如藍牙、紅外等)與其他設備協同以獲得更穩定的網絡資源。
第三,“云”接口的標準化問題。鑒于普適設備的多樣性,不同的設備想要整合到統一的云中,需要統一成標準的接口。而移動終端的底層操作系統是不同的,因此它們支持的開發語言也不同[27]。例如,支持IOS的相關設備支持Objective-C作為開發語言;支持Android的設備則采用Java語言;黑莓手機支持微型版的Java,諾基亞和Windows Phone支持C#或Python。若實現兼容上述終端的平臺則意味著部署 UCC服務時需了解這些開發平臺信息。此外,若某個應用程序要后續升級,這些升級必須單獨地施加在每一個移動終端。最近,HTML5和其他基于Web的框架(例如jQuery mobile和jQtouch等)的發展,可通過使用獨立代碼庫利用本機應用程序來解決這個問題。獨立代碼庫可以按照網絡標準寫,而且移動 Web應用程序與傳統網站的不同,其僅僅依靠 Web技術服務提供應用程序服務。開發人員現在可以建混合應用程序,但是新的嵌入式異構化的移動設備也會帶來新的問題,這就需要進一步構建統一的標準接口來實現。
第四,隱私保護與訪問控制問題。由于設備自身的局限性,部分終端設備要通過連接到其他設備來訪問云,而這將會產生一系列隱私保護與訪問控制的問題。終端如何能察覺到其他設備對本機的訪問,對于設備訪問的許可、訪問設備的權限設定,此外還有用戶自身的隱私與信息安全的保護等問題。
第五,信息同步問題。用戶的多個設備同時連接云服務,帶來了對于用戶數據的同步和一致性問題的挑戰,比如信息的更新、信息的時效性等。Mao等[28]采用時間戳形式來管理信息更新,采用信息更新標識對部分信息進行比對更新,提高更新的速度和效率。
第六,新環境下建立可信云計算平臺的問題。通過網絡訪問云服務,已有很多研究者對于可信的云計算進行研究[29]。而在新發展情況下,新設備的融入將會帶來新的可信問題。
第七,提升設備利用率的問題。在云環境中大多數設備大部分時間處于閑置狀態,如何充分利用全部設備,比如在閑置時協同完成一些公共計算工作,也是一個很有趣的研究領域。
第八,終端設備的安全。作為終端節點,大部分與實物直接相連,除了需要確保信息安全外,設備自身安全也是一個問題。作為整個云平臺的一部分,當設備發生故障時,將會對整個環境構成威脅,由此可能還會對人身財產安全構成威脅。因此,在自身遭遇故意、無意的攻擊時,如何自動切斷與整個平臺的連接也是一個重要的研究課題。
云計算數十年的發展,已經取得重大突破。隨著云計算技術的不斷完善,物聯網與移動設備性能的大幅提升,以及移動設備的靈活性、便攜性,使得用戶可以通過移動終端隨時隨地的訪問云服務。MCC已受到越來越多的研究人員的關注,云服務的模式從逐步從供應商提供服務為主導,轉變為用戶對移動的需求為主導,供應商目標是提供更好的服務以滿足用戶的需求。雖然移動設備性能、容量、電池的限制,網絡不穩定、延遲等問題在一定程度上制約了MCC的發展,但研究人員已嘗試提出了一系列方法和措施來解決此類問題。同時,隨著個人占有智能終端設備的增加,UCC也逐漸發展起來,且將向著以用戶為中心的“個人云”方向發展。可以預見,隨著云計算、通信技術和智能化設備的不斷提升,未來將會出現涵蓋平臺架構、信息安全、設備安全等多個方面的問題需要我們探索。
[1]Li H,Sedayao J,Hahn-Steichen J,Jimison E,Spence C,Chahal S. Developing an Enterprise Cloud Computing Strategy[EB/OL].http://www.intel.ua/content/ dam/ doc/white-paper/intel-it-developing-cloud-computing-strategy-p aper.pdf.
[2]Lomotey R K,Jamal S,Deters R.SOPHRA: A Mobile Web Services Hosting Infrastructure in mHealth[C]. 2012 IEEE First International Conference on Mobile Services (MS),2012.
[3]Zhang X,Kunjithapatham A,Jeong S,Gibbs S.Towards an Elastic Application Model for Augmenting the Computing Capabilities of Mobile Devices with Cloud Computing[J].Mobile Networks and Applications,2011.
[4]Meads A,Roughton A,Warren I,Weerasinghe T.Mobile Service Provisioning Middleware for Multihomed Devices[C].IEEE International Conference on Wireless and Mobile Computing,Networking and Communications,2009.
[5]Dash S K,Mishra D P,Mishra R,Dash S.Privacy preserving K-Medoids clustering: an approach towards securing data in Mobile cloud architecture. International Conference on Computational Science,2012.
[6]Mohiuddin K, Islam A,Alam A,Ali A.mobile cloud access[C].In Proceedings of the CUBE International Information Technology Conference ,2012.
[7]Gibbs C.The Rise of Tablets in the Enterprise[J].GigaOM Pro,June,2011.
[8]Dev D, Baishnab K L.A Review and Research Towards Mobile Cloud Computing[C].Mobile Cloud Computing,Services,and Engineering (MobileCloud), 2014 2nd IEEE International Conference on.IEEE,2014.
[9]Huerta-Canepa G.,Lee D.A virtual cloud computing provider for mobile devices[C].Proceedings of Acm Workshop on Mobile Cloud Computing & Services,2010.
[10]Ge Y,Zhang Y,Qiu Q,Lu Y H.A game theoretic resource allocation for overall energy minimization in mobile cloud computing system[C].In Proceedings of the 2012 ACM/IEEE international symposium on Low power electronics and design,2012.
[11]Gember A,Dragga C,Akella A.ECOS:leveraging software-defined networks to support mobile application offloading[C].In Proceedings of the eighth ACM/IEEE symposium on Architectures for networking and communications systems,2012.
[12]Chun B G.,Ihm S,Maniatis P,Naik M,Patti A.CloneCloud:elastic execution between mobile device and cloud[C]. In Proceedings of the sixth conference on Computer systems (EuroSys '11),ACM,New York,NY,US A,2011.
[13]Chun B G,Curino C,Sears R,Shraer A,Madden A,Ramakrishnan R.Mobius: unified messaging and data serving for mobile apps[C]. In Proceedings of the 10th international conference on Mobile systems, applications,and services (MobiSys'12).ACM,New York,NY,USA,2012.
[14]Baliga A, Chen X, Coskun B, Reyes G, Lee S,Mathur S, Van der Merwe J E. VPMN: virtual private mobile network towards mobility-as-a-service[C].In Proceedings of the second international workshop on Mobile cloud computing and services (MCS '11). ACM,New York,NY,USA,2011.
[15]Bifulco R,Brunner M,Canonico R,Hasselmeyer P,Mir F.Scalability of a mobile cloud management system[C].In Proceedings of the first edition of the MCC workshop on Mobile cloud computing.ACM,New York,NY,USA,2012.
[16]Dong Y,Zhu H,Peng J,Wang F,Mesnier M P,Wang D,Chan S C.RFS:a network file system for mobile devices and the cloud[J].Acm Sigops Operating Systems Review,2011.
[17]Cuervo E. Balasubramanian A,Dae-kiCho,WolmanA,Saroiu S.MAUI:Making Smartphones Last Longer with Code offload[C].International Conference on Mobile Systems,2010.
[18]Amazon Simple Storage Service[EB/OL].http://aws.amazon.com/s3/,2017.
[19]Giurgiu I.Understanding performance modeling for modular mobile-cloud applications[C].In Proceedings of the third joint WOSP/SIPEW international conference on Performance Engineering (ICPE '12).ACM,New York,NY,USA,2012.
[20]Van der Merwe J,Ramakrishnan K K,Fairchild M, Flavel A.Towards a ubiquitous cloud computing infrastructure[C].2010 17th IEEE Workshop on Local and Metropolitan Area Networks,2010.
[21]Cantara M. Hype Cycle for Cloud Services Brokerage,2012 [EB/OL].Gartner Report,ID:G00234256.July 2012. https://www.gartner.com.
[22]Ahuja S P,Mani S,Zambrano1 J. A survey of the state of cloud computing in healthcare[J]. Network & Communication Technologies,2012.
[23]Abbas A,Khan S U.A Review on the State-of-the-Art Privacy-Preserving Approaches in the e-Health Clouds[J].Biomedical and Health Informatics,IEEE Journal of,2014.
[24]Koukoumidis E.,Lymberopoulos D,Strauss K,Liu J.Pocket cloudlets[C].In Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems,2011.
[25]Miluzzo E,C á ceres R,Chen Y.Vision:mClouds computing on clouds of mobile devices. In Proceedings of the third ACM workshop on Mobile cloud computing and services.ACM,New York,NY,USA,2012.
[26]Rudenko A,Reiher P,Popek G.J,Kuenning G H.Saving portable computer battery power through remote process execution[J].Journal of ACM SIGMOBILE on Mobile Computing and Communications Review,1998.
[27]Lomotey R K,Deters R.Architectural Designs from Mobile Cloud Computing to Ubiquitous Cloud Computing-Survey[C].Services (SERVICES),2014 IEEE World Congress on.IEEE,2014.
[28]Mao H,Xiao N,Shi W,Lu Y.Wukong:Toward a Cloud-Oriented File Service for Mobile Devices[C].In Proceedings of the 2010 IEEE International Conference on Services Computing,Washington,DC,USA,2010.
[29]Raj G,Sarfaraz M,Singh D.Survey on trust establishment in cloud computing[C].Confluence The Next Generation Information Technology Summit (Confluence),2014 5th International Conference-.IEEE,2014.