周悅芝 張迪
云計算自從在2007年由IBM公司提出以來,得到了IBM、谷歌、亞馬遜以及微軟等大型商業公司的大力推進。近幾年來,云計算及其服務在諸多領域得到了廣泛應用,受到了人們的普遍認可,也產生了巨大的商業價值。2016年,亞馬遜云計算業務營收達到了122億美元。微軟預測其云計算業務營收在2018年前將達到200億美元。近年來,計算機軟硬件和網絡通信技術的蓬勃發展,一方面促進了云計算的發展,但另外一方面也使得云計算本身固有的問題和缺陷開始顯現出來。因此,為了應對云計算發展和應用所面臨的問題,人們已經開始探索后云計算時代的新型網絡計算模式。
首先,普適化智能終端技術發展迅速,出現了各式各樣的新型智能終端設備,并得到了廣泛應用。以智能移動終端(智能手機等)為例,截至到2011年,全球智能移動終端的出貨量已經超過PC終端。2016年,全球移動用戶的總量已經達到70億,我國移動互聯網用戶在2016年突破了9億。根據摩爾定律,這些智能移動終端的能力發展迅速,比如華為P10手機,其CPU具有8個核:4個2.4 GHz核心和4個1.8 GHz核心,已經超過一些PC終端。再以智能穿戴設備為例,智能手表、智能手環等智能穿戴設備近年來也得到了飛速發展。此外,城市、社區、甚至山河湖泊也都普遍部署了各種具有不同處理能力的智能或非智能傳感設備,如雷達、攝像頭、水質/火災傳感器等。這些普適化智能或非智能的終端,在處理和存儲、網絡連接以及能耗等方面差異非常大。集中式的云計算是否能夠適應這些移動終端的特點并最大潛力地發揮這些不同終端設備的能力,這是云計算普遍應用需要考慮的難題。
其次,泛在化網絡技術得到了進一步快速發展和部署。4G-LTE、LTE-A、WiFi等無線寬帶技術已經得到廣泛使用,5G和D2D(device to device)技術正在迅速發展中,有望在未來幾年得到商業部署。無線寬帶技術的發展,雖然加快了用戶訪問云服務的速度,提高了用戶體驗。但是,用戶的訪問速度和需求還仍然得不到滿足。以在線視頻應用為例,移動在線視頻播放不但要消耗大量帶寬,而且網絡延遲對用戶體驗的影響極大。旨在提高用戶帶寬和訪問速度的5G和D2D技術的發展,既為云計算帶來了新的發展動力,同時也給云計算能否充分利用不斷更新的網絡設備和技術,進一步提高用戶體驗帶來了新的挑戰。
與此同時,隨著軟件定義網絡SDN(software defined networking)和網絡功能虛擬化NFV(network functions virtualization)等新興網絡技術的發展和應用,邊緣的網絡接入設備甚至核心路由設備的處理和存儲能力不斷地增強,而且其功能可以根據用戶需求進行擴展和增值。這與集中式的云計算理念不完全一致,也為云計算的進一步發展和應用帶來了挑戰。進一步,普適化智能終端和泛在化網絡技術的快速發展,也催生了豐富多彩的新型網絡應用和服務。物聯網(Internet of things,IoT)、車聯網(Internet of vehicles,IoV)、萬物網(Internet of everything,IoE)、智慧地球(smart planet)、智慧城市(smart city)、智能電網(smart gird),以及社交網絡(social networks)、未來網絡(content/media/service oriented networking)等這些應用也逐漸被大眾所熟知。近年來,虛擬現實(virtual reality,VR)/增強現實(augmented reality,AR),無人駕駛(self-driving vehicle/unmanned aerial vehicle)等新型網絡應用和服務不斷涌現。集中式的云計算模式能否滿足所有這些新型網絡應用和服務快速增長的不同需求,這是云計算發展面臨的另外一個重要挑戰。
綜上所述,不難看出,普適化智能終端、泛在化網絡技術以及新型網絡應用和服務日新月異的發展,使得以集中式計算和存儲為根本性特征的云計算模式難以普遍適應諸多的技術和應用場景的需要。為此,產業界和學術界從2011年就開始了對后云計算時代網絡計算模式的思考和探索,并且取得了初步的成果。霧計算(fog/mist computing)、移動邊緣計算(mobile edge computing,MEC)、邊緣計算(edge computing)等多種新型網絡計算模式被相繼提出來并開始得到初步研究和應用。鑒于網絡計算模式發展對整個計算機甚至通訊產業的發展具有極其重要的作用和意義,本文試圖對后云計算時代的網絡計算模式進行初步的分析和總結,以推動這一領域的研究和發展。
當前的幾種新型網絡計算模式,雖然被提出時所考慮的技術和應用的出發點有些差異,但是其基本思想和核心理念是一致的:即都是試圖將云計算中心的設備部署在物理或邏輯上距離終端和用戶較近的基礎設施上,從而利用這些較近的基礎設施所擁有的計算和存儲等資源來完成終端和用戶想要完成的計算、存儲和網絡等各類任務。因為這些附近的基礎設施一般具有更低的延遲,所以任務的響應時間可以很大程度上被降低,相應的也就可以提高用戶的體驗。因此,為了表述方便,同時也為了概括計算和存儲等任務在距離終端和用戶較近的基礎設施上完成這一特點,本文將最近提出的新型網絡計算模式統一地稱為“近端云計算”(near-end cloud computing)。相應地,因為距離終端和用戶較遠,傳統意義上的云計算被稱為“遠端云計算”。本文將首先從更加廣泛的意義上對近端云計算的體系結構進行總結分析,以便于理解和洞察近端云計算的基本內涵,從而把握近端云計算與傳統云計算的區別。另外,為了便于讀者深入了解各種近端云計算模式的思想和概念以及它們之間的區別,本文將詳細地介紹幾種近端云計算模式,包括霧計算、移動邊緣計算、邊緣計算等。這些近端云計算模式分別由網絡設備廠商Cisco公司、歐洲電信標準化協會(European Telecommunications Standards Institute,ETSI)和學術界提出,在基本理念一致的前提下,它們各有側重點。因此,本文也將對這些近端云計算模式的側重點進行分析和比較。
無論是產業界還是學術界提出的近端云計算模式,它們能否得到廣泛的接受和發展,取決于諸多因素的綜合作用。雖然目前很難預測哪一種近端云計算模式將占據主導地位,但是可以肯定的一點是:近端云計算在不遠的將來將會得到大力的發展。然而,近端云計算的發展在面臨許多機遇的同時,也面臨著諸多技術挑戰。因此,本文還試圖從不同角度對近端云計算的發展機遇和技術挑戰作一個初步分析和總結。
本文第2節對云計算發展遇到的問題進行了概要分析,揭示了云計算的基本特征及其發展演化的必然趨勢。第3節介紹了最近出現的近端云計算模式,并總結了這些近端云計算模式的基本特征。第4節較詳細地分析、比較和總結了幾種近端云計算模式。第5節通過一些具體的應用例子,總結了近端云計算發展的機遇。第6節討論了近端云計算發展將面臨的一些技術挑戰。最后展望了近端云計算的未來發展。
隨著計算機軟硬件技術和網絡通信技術的蓬勃迅速發展,計算模式也經歷了不同時期的變革。回顧歷史,最初的計算模式為大型主機模式。在大型主機模式中,計算和存儲等任務通過主機直接完成,而終端設備僅負責輸入和輸出的交互任務。因此,從本質上來說,大型主機模式是一種集中式的計算模式。隨著計算機小型化和普及化的不斷發展,計算模式從大型主機模式跨入了PC計算模式。不同于大型主機模式,PC計算模式中的計算和存儲等任務可以分散在不同的PC計算機上來完成,而這些PC計算機又是相互獨立的。所以,PC計算模式實質上是一種分散式的計算模式。隨著網絡技術在20世紀60到70年代興起和發展之后,計算模式又再一次踏入了網絡計算模式的時代。通過利用網絡技術,原本相互獨立的PC計算機能夠相互連接起來,并且還可以與具備特殊功能的服務器一起完成指定的任務。在網絡計算模式時代,有很多網絡計算模式被相繼提出,包括網格計算、服務計算、自主計算、透明計算和云計算等。目前,云計算是吸引了普遍的關注并且得到了大范圍的應用。云計算的基本特征是將原本分散在很多PC計算機上的計算和存儲等任務通過集中式的數據中心來處理。盡管從表現形態和技術特征來看,云計算與大型主機之間差異很大,但本質上云計算延續了大型主機的集中式處理特點,是集中式計算模式的螺旋式的歷史輪回。
追溯計算模式的發展歷程,可以看出無論是集中還是分散的模式,它們都有本身獨特的優劣勢。在不同的歷史時期,由于應用場景需求的變化和技術發展的不同特點,它們分別取得不同程度的主導地位,并且這種發展呈現出了一種螺旋式循環的歷史規律。目前,雖然云計算取得了比較大的成功,但隨著應用場景需求和技術發展趨勢的變化,云計算本質上的集中式特征使得其本身固有的缺陷和瓶頸逐漸表現出來。下面將從3個方面對云計算發展過程中面臨的問題進行分析總結。
首先,隨著普適化智能終端的發展,出現了各式各樣異構的智能或非智能化的網絡終端設備,如智能手機、智能可穿戴設備(手表、手環、眼鏡等)、智能電器、智能儀表、智能傳感器等大小、形狀、能力不一的各類終端設備。一方面,由于摩爾等定律的持續作用,雖然這些終端設備的體積變得越來越小,但他們的計算和存儲等方面的資源卻變得越來越強大。這就在一定程度上導致了終端設備資源的過剩和閑置。另外一個方面,其他一些終端設備的計算和存儲資源由于應用場景或者技術的要求等原因則顯得仍然無法滿足需求,例如物聯網智能傳感器的計算和存儲等方面的資源總表現的明顯不足。在云計算中,由于終端設備只是進行輸入和輸出的人機交互任務。因此,一些終端設備較強的計算和存儲資源往往不能得到充分地利用,這也就在一定程度上造成了終端設備資源的浪費。更重要的是,在云計算中,其他一些自身資源不足的終端設備卻無法通過利用附近其他具有空閑資源的終端設備來擴展自身有限的資源,從而使得它們能夠完成需要消耗較多資源的任務。因此,從多個終端設備的整體來說,終端設備的計算和存儲等資源無法得到有效的利用。
其次,目前的智能終端,尤其是智能移動終端,大都裝備或具有某種或多種傳感器,能夠感知自身的位置(如GPS)或者周圍的環境狀態。這些位置或者環境信息的采集,將產生大量的傳感數據。如果將這些超大規模的傳感數據均上傳到云計算的大型數據中心進行處理,不但費時費力,甚至會因為數據處理不及時而變得失去利用的意義和價值。
再次,隨著硬件技術的發展,邊緣網絡設備能力也變得更強大。邊緣網絡接入或者路由設備的處理和存儲能力的增強,使得用戶利用邊緣網絡設備來實現自己所需要的增值服務已經完全成為一種可能。通過軟件定義網絡和網絡功能虛擬化技術,網絡邊緣設備的能力可以得到充分發揮。在5G網絡中,基站的增值服務功能得到進一步擴展,用戶可以利用基站提供的專門服務器來定制和實現自己所需要的計算、存儲或者通信等功能。
隨著泛在化網絡技術(ubiquitous network technology)的快速發展,不僅有線寬帶網絡的速度和帶寬得到了很大的提升,無線網絡更是變得隨時隨地都可以接入。雖然網絡技術的迅速發展一方面為云計算的發展和應用提供了技術支撐和保障。但是,另外一方面,云計算的集中式的處理特性也因為網絡技術而限制了其應用的性能和范圍。
首先,移動互聯網和物聯網的快速發展,使得智能移動終端和無線寬帶訪問已經變得非常普及。移動終端、用戶和服務已經成為當前計算和應用服務的主流,這使得云計算在移動用戶訪問場景下受到挑戰。例如,移動終端用戶希望在不同地域、不同時間和不同服務提供者之間能夠得到無縫的服務訪問體驗,這對于缺乏服務提供商之間相互操作支持的云服務而言是難以有效支持的。
其次,在傳統的云計算模式中,終端設備和集中的云計算數據中心之間通常需要跨越遠距離的廣域網絡以及各類異質的無線網絡。雖然長距離廣域網絡的帶寬和速度在一直被改善,但由于網絡內容的快速增長所造成的網絡擁塞以及網絡數據包處理而造成的延遲等原因使得長距網絡的性能和可靠性保障仍然不能滿足很多應用的需求。更嚴重的是,因為網絡技術本身所需要的路由路徑選擇、網絡路由節點的數據包處理以及網絡內容安全監管等原因使得長距網絡的的性能問題很難在短期內得到解決,而且甚至在未來很長的一段時期也可能無法得到明顯的改觀。另外,無線網絡由于其技術本身固有的廣播特性,使得其很容易受到干擾或者被網絡容量的影響,也就導致了無線網絡的服務質量也很難得到有效地保障。
據文獻[11]可知,在交互式應用中,如果響應延遲達到150 ms以上,人們就會感覺到不滿意,在1 s以上人們就會感到非常的厭煩。在云計算中,計算和存儲等任務都是在遠距離的數據中心中進行集中處理,而長距網絡的性能和延遲問題以及無線接入網絡的干擾等問題使得云計算很難滿足交互式實時應用的需求。目前云計算應用的現狀似乎也驗證了這一點問題。當前,從終端用戶來看,日常云計算應用較多的是云存儲,例如百度云盤、360云盤、騰訊微云等,以數據/文件存儲和共享為主要應用。而云桌面等云計算典型應用則部署和應用的非常少。因此,長距離的網絡瓶頸,使得云計算的應用范圍和效果被限制。
隨著泛在化網絡技術和普適化終端的快速發展,各類新型的網絡應用和服務層出不同,令人應接不暇。例如,物聯網、5G網絡、智能電網、無人機等。這些復雜化的新型網絡應用和服務在終端設備的能力、延遲和性能需求等要求各有差異,這使得云計算的在廣泛的適用性方面面臨很大的技術挑戰。下面,本節將以物聯網和5G網絡為代表來總結分析云計算在適應新型網絡應用和服務方面所存在的不足之處。
首先,以物聯網應用場景為例進行分析。物聯網應用場景實際上涵蓋了一系列應用和服務,如車聯網或車車網(connected vehicle)、智慧電網、智慧城市,以及更加廣泛的無線傳感器和執行器網絡(wireless sensors and actuators networks,WSANs)等。云計算主要在以下幾個方面無法滿足物聯網應用場景的需求。
無線接入:如前所述,無線接入不穩定的性能和延遲特性,使得云計算的集中式處理很難滿足那些低延遲應用需求,如游戲(gaming)、視頻流(video streaming)、增強現實等。
移動支持和位置及環境感知:在物聯網應用中,節點可移動,并且具有位置和環境感知功能,這些都要求應用能夠具有利用這些位置和環境信息進行及時動態調整的功能。
傳感節點數據的及時和快速處理:物聯網,例如智能電網中,具有大規模傳感節點和大規模地理分布的傳感器網負責收集來自應用和自然環境的大數據,這些數據需要進行及時和快速的處理,而不是云計算擅長的批數據處理。
節點異構、互操作以及協作:一些物聯網服務,如視頻流或數據流,要求在異構節點間進行無縫連接和遷移,這可能就需要節點之間進行互操作和協作,以提供更好的服務。
實時處理:在帶有執行器或控制器功能的應用中,來自傳感器的數據必須在保護或者控制功能決策中得到實時處理,否則就會造成重要的經濟和社會損失。
其次,以5G應用場景為例進行分析。5G網絡的主要特點是:范圍更廣、帶寬更寬(gigabit)、延遲更短(毫秒級)、軟件定義無線電、D2D通信等。因此,5G網絡可以支持的應用范圍更廣,除了IoT和IoE,也將可以支持一些任務關鍵服務(mission critical service)、工廠制造、政府決策、教育、醫療等多種多樣的應用。這些需求也給云計算帶來了極大的挑戰。簡要分析如下。
內容高效分發:數據分發,尤其是媒體內容分發,占據和使用了互聯網的大部分帶寬。由于媒體內容的同一性,使得集中式的分發模式實際上造成巨大的帶寬浪費,也給支持更大規模的用戶、更優質的大規模數據分發服務帶來困難。
代碼/計算/數據/網絡卸載(code/computation/data/networking offloading):由于智能移動終端和可穿戴式設備在計算、存儲以及網絡能力等方面受限,因此如何利用云計算或者周圍其他相鄰設備的資源來輔助完成其自身所需要的計算、存儲或者聯網功能,是一條克服移動終端資源受限的良好途徑。然而,由于這些卸載的用戶體驗嚴重依賴于延遲,因此這些卸載不太適合部署到遠端云計算中心來執行。
移動大數據分析:智能移動設備的大量應用產生了大量數據,對這些大數據的分析和處理可以對企業市場和產品應用進行精準的定位。傳統的依賴于大型數據中心的批量或者流式數據處理將帶來高帶寬和延遲。
智能交通/政務/醫療:如果這些智能領域應用,如交通信息發布、流量調度、事故和應急處理等都在遠程數據中心進行集中處理,則很可能會因為計算或傳輸延遲而錯過最佳處理時機。
端端協作與應用:通過5G在無線電級別提供的D2D功能,端端實時通信和協作成為可能。利用鄰近節點和服務(proximity node/service)提供的上下文環境信息,道路交通事故和遠程機器人急救等應用將可以提供更精準快速的處理。
從上述分析可以看出,集中式的云計算,由于網絡傳輸和延遲瓶頸的存在,很難滿足終端異構化、普適化和網絡高速化、泛在化條件下涌現的復雜應用和服務的需求,尤其是物聯網/萬物網以及各類實時交互式應用等。這就在一定程度上延緩了新型網絡應用研發的速度。因此,探索和研究新的網絡計算模式以彌補云計算存在的不足已經成為一種亟需。
計算固有的集中式處理特性,并不能很好地滿足日新月異的普適化終端、泛在化網絡技術和新型網絡化應用和服務的發展需求。因此,產業界和學術界已經開始對計算模式進行新的探索和研究。從2011年Cisco公司提出霧計算以來,后云計算時代相似計算模式理念以不同的名詞形式被相繼提出,如移動邊緣計算、露計算和邊緣計算等。
這些新型網絡計算模式雖然是由不同的組織從不同的出發點和角度提出來的,但是它們具有相似的基本原理和思想,也即“拉近云計算中心與終端用戶之間的距離”。具體來說,原本集中部署的距離終端和用戶較遠的數據中心被延伸到了距離較近的網絡邊緣。這在一定程度上解決了長距網絡和異構無線網絡延遲的影響。從具體的技術實現來說,網絡邊緣不僅可以邊緣路由器、通信基站和服務器等,也可以是專門部署的服務器或者小型的數據中心等,甚至也可以是其他具有有空閑資源的終端設備。很顯然,這些新型網絡計算模式并非與云計算迥乎不同,而是云計算由集中式處理模式向分散式和小型集中式模式的一種自然延伸。從歷史上看,這其實是分散式PC計算模式的歷史輪回。
為了方便分析不同的計算模式的特點,以及它們之間的演變規律,在近端云計算模式尚未有統一明確定義的前提下,本文試圖從體系結構層數、計算和存儲方式、執行地點和順序等方面比較和分析不同的計算模式。
云計算的體系結構包括終端設備和云計算中心兩層。而新興的網絡計算模式區別于現有云計算。以霧計算為例來說,根據OpenFoG聯盟對霧計算的定義(參見4.1節),可以知道霧計算的資源和服務部署在云到物之間的任何地方。因此,霧計算在云計算中心和終端設備中間擴展了一層甚至多層霧計算中心或者服務器,將云計算的兩層架構延伸到了三層甚至更多層。這些中間層次的霧計算中心或服務器可以根據需要采用不同的結構或者規模來實現不同的功能。例如,在智能電網中,電網傳感設備采集到的數據首先會傳輸到微電網進行處理。在此之后,電網數據被傳輸到小規模的電站或者更大的電網進行進一步的處理。最后,傳感數據被傳輸到云計算中心進行處理。電網傳感設備和云計算中心之間可以根據地域范圍和行政管理的需要部署多級霧計算處理中心。
在云計算中,所有計算和存儲操作都在云計算數據中心上進行,終端只是向云發出請求并接收和展示處理結果。從這個意義上來說,云計算中計算和存儲的執行方式是一種集中式的方式,與PC計算中計算和存儲在每臺PC上分散進行相對應。霧計算集中了附近的終端節點的計算和存儲處理,因此是一種小規模的集中式計算模式。
從計算和存儲的執行順序來看,在云計算中,所有的任務均需要在集中的云計算數據中心進行處理。因此,只有從云計算數據中心獲得處理結果之后,終端設備才能開始執行接下來的任務。因而,從終端和云計算中心之間涉及的計算和存儲任務的執行順序上看,其是一種串行執行的順序。而在霧計算中,由于一層甚至或者多層霧計算中心的存在,再加上遠端的云計算中心,使得任務可以在多個霧計算中心上進行并行處理,因而存在一種并行執行的順序。
霧計算中的多層架構與混合云中的公有云和私有云組成的混和結構相區分。因為在混合云中私有云由企業自己負責運營和使用,而霧計算基礎設施由不同的第三方負責運營并主要提供給移動用戶使用。
通過上面的分析,考慮到端和云兩個極點,為了便于描述,本文將這些最近提出的幾種新型網絡計算模式統稱為“近端云計算”。它從3個方面對云計算模式進行擴展:一是從體系結構上,將云計算的2層架構提升至多層架構,即在端和云之間可以設置多個不同的近端或者遠端云計算中心;二是計算、存儲、網絡連接等任務除了可以在近端或遠端網絡/計算設備或者微型計算/數據中心上執行外,還可以在終端本身或者周圍鄰近終端上進行;三是除了小型集中式之外,多個終端設備還可以通過共享資源并形成對等的小范圍的協作網絡,從而能夠完成單個終端設備無法完成的更加復雜任務。
為了方便不同讀者對近端云計算和傳統云計算的區別進行更加深入的了解,對近端云計算和云計算的不同進行了比較。
從上述的比較和總結可以看出,近端云計算并非是傳統云計算模式的簡單擴展,其在體系結構模型、服務任務執行方式、任務執行地點、服務質量保障等很多方面都區別于傳統的云計算。它是傳統云計算模式從集中式計算模式到分散式和小型集中式的自然提升和演化。然而,也正是由于這些根本性區別的存在,可以預見近端云計算模式在面臨巨大發展機遇的同時,也將面臨著來自商業和技術方面的巨大挑戰。本文在對當前幾種近端云計算模式做進一步介紹后,也將對近端云計算的機遇和挑戰進行初步的分析,以促進該領域相關研究和應用的發展。
從第3節的分析可以看出,目前出現的近端云計算模式在目標用戶、目標場景、以及體系結構和實現技術等方面并不相同。為此,將在這一節較詳細地介紹和分析幾種近端云計算模式的背景、定義以及相關研究進展。
霧計算的提出主要是為了克服云計算在物聯網場景中的不足。如第3節中所述,物聯網設備分布的廣泛性以及數據處理所需要的實時性使得傳統云計算的集中式處理和存儲面臨巨大的挑戰。
霧計算的概念最早由網絡設備廠商Cisco公司在2011年提出,在2012年MCC(mobile cloud computing)會議上以論文形式進行了較詳細的闡述。該論文提出的霧計算定義如下。
定義1霧計算是一個高度虛擬化的平臺,在終端設備和傳統云計算數據中心之間提供計算、存儲和網絡服務,通常但又不完全位于網絡邊緣。
在該文中,作者還給出了IoT應用的理想模式和計算體系結構(三層結構)。最底層是由百萬量級的智能物體(傳感器等嵌入式設備或系統)組成的智能物聯網層,主要完成數據和信息的采集。中間是由數萬智能霧服務器組成的邊界服務層,完成數據的初步處理。最上層是由數千服務器構成的核心服務層,最終完成數據的核心分析和應用。從這里可以看出,霧計算是云計算的一種擴展。當然,霧計算也并不是云計算的簡單擴展和應用。為了適應物聯網應用所需要的位置服務、上下文感知等特征,霧計算引入了一些特殊的性質和特征,比如:1)位于網絡邊緣位置,位置感知,低延遲;2)地理位置的廣泛分布;3)支持內在需要分布式計算和存儲資源的大規模傳感器網和智能電網等;4)支持節點異構和移動;5)支持超大規模的網絡節點;6)實時交互;7)無線訪問為主;8)支持服務提供者的互操作和聯盟;9)支持在線分析以及與后端云計算的結合。
從上述分析可以看出,Cisco公司初始給出的霧計算定義是比較粗糙的,它只是對云計算在物聯網應用中遇到的問題進行了分析,并簡單地將云計算的虛擬化平臺移動到網絡邊緣設備上進行擴展性的應用。
為了推動霧計算的研究和產業發展,2015年11月,ARM、Cisco、Dell、Intel、Microsoft 以及Princeton University Edge Computin GLaboratory聯合發起成立了OpenFoG聯盟(OpenFoG Consortium),現已有來自15國家的53個成員。OpenFoG聯盟對霧計算的定義如下。
定義2霧計算是一個系統級的水平體系結構,它將計算、存儲、控制和網絡的資源和服務部署在云到物之間的任何地方。
其主要特點如下。
水平體系結構:支持多個行業垂直和應用領域為用戶和公司提供智能和服務。
云到物體的連續服務:將服務和應用程序部署到更接近物體,以及云和物體之間的任何地方。
系統級:從物體,到網絡邊緣,再到云,跨多個協議層,不只是無線接入系統,也不只是協議層,更不只是端到端系統的一部分,而是跨越物到云之間的系統。
從上述定義可以看出,該定義還是將霧計算的應用主要集中在物聯網或萬物網,只不過在端與云的連接通路上進行了服務提供的連續化。
需要提醒讀者注意的是,目前關于霧計算并沒有一個統一的達成共識的定義,因此本文給出的定義,只是霧計算初始提出時給出的定義,其他研究人員和組織還對霧計算的含義進行了自己的闡釋或者延伸,由于篇幅的關系,不在本文中一一贅述,有興趣的讀者可進一步參閱文獻[14,15,16]。
從霧計算的提出和發展,可以看出,隨著物聯網應用的普遍增多和發展,滿足不同物聯網應用場景需要的各種智能霧服務器將會被開發出來并得到應用。鑒于物聯網設備的分散性,這些智能服務器將具備多種傳感器,并將通信、計算和存儲等功能集合成為一體,可以獨立為物聯網應用提供場區范圍的無線網絡接入服務、位置服務、數據緩沖和中繼服務等。通過智能霧服務器之間的協作和溝通,為各種物聯網應用提供強大的支撐平臺。
隨著通信、計算和存儲技術的發展,智能霧服務器體積和功能的集約化將會得到發展,使得智能霧服務器的部署變得更加廣泛,就像現實中的霧一樣,彌散在智能物體周圍,為其提供便捷快速的各式服務。
多通路邊緣計算(multi-access edge computing,MEC)是2016年9月由移動邊緣計算(mobile edge computing,MEC)演變和改名而來。移動邊緣計算提出的初衷是針對移動蜂窩場景,尤其是5G應用場景下如何克服云計算面臨的挑戰而提出的。隨著移動邊緣計算概念的發展,訪問通路已經不僅僅局限于移動蜂窩網絡,還包括WiFi網絡以及有線網絡。因此在保持英文MEC縮寫的基礎上,ETSI將其概念改名為多通路邊緣計算。
MEC的概念最早由ETSI在2014年9月提出。ETSI ISG MEC(industry specification groups,mobile edge computing)的倡導者包括:Nokia、Huawei、IBM、Intel、NTT DoCoMo、Vodafone。現今成員已有53家,包括中國的華為和中興公司。與霧計算的提出不同,MEC主要是由通信設備廠商提出和倡導的近端云計算模式,因此其目的當然會側重對通信和應用的支持。MEC的初始定義如下。
定義3MEC 在移動網絡的邊緣為應用程序開發者和內容提供商提供云計算功能和IT服務環境。這種環境的特點是具有超低延遲和高帶寬,并且應用程序可以實時訪問無線網絡信息。
其商業上的主要特點如下。
基于創新和商業價值的新價值鏈和充滿活力的生態系統。
運營商可以向第三方授權組織開放其無線接入網絡邊緣,允許他們靈活快速地部署創新應用和服務。
為移動用戶、企業和垂直細分市場提供新的創新應用和服務。
很顯然,ETSI ISGMEC 給出的MEC 定義主要側重于商業和利益方面,對于技術內容沒有過多地涉及。MEC主要是針對移動通信場景需求提出的,旨在聯合通信和IT等信息產業,在無線接入網絡RAN(radio access network)中增加IT和云計算服務能力,為用戶提供更多的可供選擇的增值服務。
MEC提出時主要是針對3G/4G/5G等蜂窩網絡應用場景,同時也支持有線網絡和WiFi等無線網絡,其潛在應用包括計算卸載、協作計算、Web服務內容優化、內容緩存和快速訪問等。與霧計算類似,MEC可以為連接基站的移動終端提供低延遲的訪問服務、位置感知服務、就近的計算和存儲服務。從分布上說,MEC服務器主要部署在網絡邊緣的基站中。這一點與霧服務器可以連續部署在從智能物體到遠端云計算中心的路徑上不同。
為了實現MEC,可以在LTE macro base station(eNB)、3G radio network controller(RNC)站點,或者多種通信技術(3G/LTE)蜂窩聚合站點(multi-technology [LTE/3G]cell aggregation site)部署MEC服務器。由于多技術蜂窩聚合站點既可以安裝在企業內部(室內),又可以安裝在特定的公眾場合(室外)進行特定的場景覆蓋,因此可以從基站集群中直接為用戶提供本地的快速服務。ETSI ISG EMC給出的MEC服務器平臺包括一個MEC托管基礎設施(MEC hosting infrastructure)和一個MEC 應用平臺(MEC application platform)。
MEC托管基礎設施包括底層的硬件資源以及虛擬化層,當然也包括到無線網元(eNB或RNC)或網絡的連接。但是該體系結構并不關心如何將服務器集成在無線接入網絡內部。實現托管基礎設施的硬件組件和細節對于托管在該平臺上的應用而言應該是接口化的和抽象化的。
MEC應用平臺,由應用虛擬化管理器(application virtualization manager)和應用平臺服務(application platform service)組成,可以為托管的應用提供各種能力。應用虛擬化管理器將基礎設施以IaaS(Infrastructure as a service)方式為應用提供靈活高效、多租戶、運行時和托管環境服務。IaaS控制器提供安全和資源沙箱功能。應用以虛擬機鏡像(virtual machine images)方式打包并傳送到IaaS上作為虛擬應用(virtual appliance)運行。需要注意的是,未來MEC也可能會支持以PaaS(platform as a service)方式提供服務。MEC應用平臺服務為托管在MEC平臺上的應用提供一系列中間件應用服務和基礎設施服務,具體包括:1)基礎設施服務,如通信和服務注冊服務;2)無線網絡信息服務(radio network information services)以及流量卸載服務(traffic offload function)。
當然,利用MEC提供的服務器平臺可以支持和提供豐富多彩的移動通信增值服務和應用,比如:主動設備位置、增強現實內容傳輸、視頻分析、RAN感知的內容優化、分布式內容和DNS 緩存等。因為篇幅限制,本文不再贅述,讀者可以自行參閱ESTI網站的內容。
隨著5G技術的發展和應用,5G基站將集成大量邊緣計算服務器,為5G網絡提供豐富的增值服務,如位置服務、流量卸載、計算卸載、內容傳輸優化等。由于MEC服務器已經具備基站的通信和定位功能,因此從功能和形態上來看,多通路邊緣采用普通服務器的可能性遠高于霧計算。由此可以預見到,隨著5G技術的商業化應用和發展,當前MEC服務器所采用的IaaS和虛擬機技術,將發展為采用PaaS和SaaS(software as a service)技術。與此同時,各種目前人們還未曾想到的移動增值服務將被開發出來,從而為人們提供更加豐富多彩的在線服務。
與霧計算和多通路邊緣計算主要由產業界提出和倡導不同,邊緣計算、露計算、透明計算等主要由學術界提出和倡導。
邊緣計算主要由美國卡內基·梅隆大學(Carnegie Mellon University,CMU)在2015年所倡導,旨在從學術研究層面提出一個比霧計算和移動邊緣計算更加具有廣泛描述意義的計算模式。
2015年6月,卡內基·梅隆大學聯合Vodafone和Intel等公司成立了開放邊緣計算倡議組織(Open Edge Computing Initiative)。目前該組織包括CMU、Intel、Nokia、NTT等7家成員。該組織對邊緣計算的定義如下。
定義4邊緣計算是一種提供相互連接起來的計算和存儲資源的新式網絡功能。這種網絡功能位于用戶所在位置的附近。
邊緣計算的主要特點是通過極低延遲提高用戶體驗,以及通過邊緣服務減少數據流量。
文獻[19]提出了一種實現邊緣計算的體系結構。在該結構中,由移動設備、Cloudlet以及云三層構成。Cloudlet位于云和終端設備之間,直接與終端設備通過無線連接的方式連接,廣泛部署在互聯網架構上,以虛擬機的方式向終端設備提供服務。通過實例化Cloudlet上自定義的虛擬機,終端設備以瘦客戶端的方式運行和訪問所需的應用軟件。
另外,從上述定義可以看出,邊緣計算與多通路邊緣計算類似,實質上只是將移動邊緣計算部署的位置從原來的基站擴展到家庭寬帶調制解調器、WiFi無線接入點設備、以及邊緣路由器等設備上。
除了邊緣計算,學術界還提出了露計算和透明計算,簡單介紹如下。
露計算由學術界在2012年提出,在2015年以論文的形式闡述了露計算的基礎架構“云-露”架構。“云-露”架構最初提出的目的是為了使得Web站點可以在沒有互聯網連接的情況下也可以被訪問。與傳統的客戶端-服務器架構相比,“云-露”架構增加了露服務器。露服務器是部署在用戶本地電腦上的Web服務器。在“云-露”架構中,用戶的數據不僅保存在云端,還保存在用戶的本地。因此,“云-露”架構可以實現在沒有互聯網連接時的Web訪問。
在初始定義的基礎上,文獻[21]和[22]又對露計算的定義和層次結構進行了進一步的修訂和擴展,將涉及的計算設備從“個人電腦”(personal computers)擴展到更加通用的“內部部署的計算機”(on-premise computers),并將露計算作為云計算和霧計算之下的另一層次。
透明計算是由國內研究人員在2005年提出的一種網絡計算模式。在透明計算中,距離固定終端較近的透明服務器執行操作系統和應用軟件的集中管理和流式調度運行,因此終端用戶可以選擇所需要運行的操作系統和應用軟件,而不需考慮本地的存儲空間和軟件安裝等管理和維護問題。
文獻[23]和[24]對透明計算的概念和結構進行了擴展,將其從固定終端和固定網絡擴展到移動智能終端和異構網絡環境,在本地智能終端、相鄰終端、近端服務器以及遠端云計算服務器之間統一進行資源管理和指令的流式調度執行,克服了云計算單一中心運行模式所帶來的問題。
不同于霧計算和多通路邊緣計算主要由產業界支持和推動,邊緣計算、露計算和透明計算主要由學術界的一些研究人員在推進。因此,相對來說,邊緣計算、露計算和透明計算的發展相對緩慢。
綜上所述,雖然近端云計算的實質是把云計算基礎設施小型化后部署在距離終端和用戶較近的地方,但是由于提出時針對的應用場景不同,不同的近端云計算模式在體系結構和實現方式上并不一致。為了使讀者清楚地把握這些近端云計算模式的異同,接下來將通過表格的形式詳細地比較不同的近端云計算模式。
為了便于讀者對不同的近端云計算模式的差異有一個總體清晰地把握,詳細地總結了不同近端云計算模式的區別。
綜合對比幾種近端云計算模式可以發現,每種計算模式都有各自的特點。霧計算更加側重物聯網和數據信息的收集分發。移動邊緣計算主要從通信運營商的角度出發,側重于無線接入網絡,并沒有關注端設備的對等協作。邊緣計算則是希望將移動邊緣計算進一步擴展到更多網絡應用場景。露計算和透明計算主要側重于終端能力的發揮,以及端設備和云計算之間的協作,而對于邊緣路由和無線接入網絡并沒有給予太多的關注。
從上述對不同近端云計算模式的介紹、分析和比較,不難看出,這些近端云計算模式提出時針對的應用場景、體系結構、特性實現都存在一定的區別。但是隨著近端云計算的發展,這些近端云計算模式會在一定程度上相互借鑒,呈現出融合或者互補發展的趨勢。由此可以預見:第一,由于不同應用場景具有不同的特征和需求,因此針對不同場景提出的近端云計算模式、體系結構或者實現特性上不會完全統一,這與傳統云計算采用大致相同的體系結構和實現特性有所區別;第二,不同的近端云計算模式在發展中會相互借鑒,融合發展,這將使得不同近端云計算模式間具有更多的共同特征,可能會形成通用的基礎性近端云計算結構和技術;第三,在具體應用和實現方式上,近端云計算會呈現出更加豐富多彩的樣式和風格,并將在通用的基礎性架構和技術上衍生出不同的特定實現架構和技術。
近端云計算由于其靠近終端設備、分散與集中相結合的計算模式,以及支持終端相互協作等特性使得其在物聯網、5G、智能電網、虛擬/增強現實、無人機等諸多應用領域面臨巨大的發展機遇。
首先,由于在物理上很接近用戶,近端云計算可以克服云計算的響應瓶頸問題,特別是對于一些交互式的應用和用戶對于延遲要求比較高的應用來說,近端云計算可以在很大程度上降低網絡延遲的影響,從而提高用戶體驗。其次,近端云計算可以彌補單個終端設備在計算、存儲、網絡、電池等資源的不足。一方面,近端云計算支持分散與集中相結合的計算模式,因而終端不僅可以利用近端云計算設施的資源,還可以利用遠端云計算中心的資源;另一方面,近端云計算支持鄰近終端之間的相互協作,這使得終端設備之間可以共享空閑的計算、存儲以及傳感等資源。因此,近端云計算可以從多個方面克服終端的資源和能力瓶頸。再次,近端云計算動態靈活的多層次架構,使得其能夠適應更多復雜的應用場景。近端云計算通過端與端的對等協作以及近端云計算設施與遠端云計算中心相結合的多層次處理架構,可以從延遲、規模、范圍等不同的方面滿足復雜網絡應用的多樣化需求,克服云計算在滿足新型網絡應用場景的不足。
下面通過具體例子來介紹近端云計算的發展機遇。
物聯網是通過智能和非智能的傳感器把各類不同的物體與互聯網連接起來,從而實現信息收集、環境監測、健康管理等智能化應用的網絡。物聯網的基本核心是物體與物體以及人與物體之間的信息交互,它把人們在信息與通信技術世界里溝通的維度從任何時間、任何地點、連接任何人,擴展到了連接任何物體。萬物通過互聯網連接起來就形成了物聯網。
物聯網的用途非常廣泛,遍及智能交通、環境保護、政府工作、公共安全、環境監測、工業監測、個人監測、敵情偵查、情報收集等多個領域。隨著物聯網的迅速發展,越來越多的設備接入互聯網。據統計,截止到2016年底,已經有64億個“物體”接入互聯網。預計到2020年,將有200多億個“物體”接入互聯網。數十億以前沒有接入互聯網的設備每天產生著EB級的數據。
如前所述,霧計算就是為解決云計算在物聯網領域應用的不足而提出來的。因此,物聯網將是近端云計算應用的重要領域之一。以智慧城市為例,通過采集來自各式各樣傳感器的數據并進行集中分析和利用,物聯網可以解決現代城市發展所面臨的重大問題,如可持續發展問題。文獻[28]分析了霧計算在可持續化智能城市中的應用前景,包括智慧交通、智慧健康、智慧水和垃圾管理、智慧零售等。利用分布在網絡邊緣的霧服務器,智慧城市中各種傳感器采集的數據可以在網絡邊緣進行初步分析和及時處理,然后再通過數據聚合,上傳到城市數據中心進行進一步的全局處理,為政府機關、社會團體和市民提供信息各種服務和服務。
其次,近端云計算也可以為車聯網提供更好的服務。例如,在車聯網的路基單元(road side unit,RSU)中植入霧計算處理能力,車與車(V2V)之間產生的交通信息數據在路基單元就可以進行語義層面的數據分析,并提供服務發現和附近聯網車輛的管理,而不需要通過遠程的云計算數據中心的處理。通過將智能電網與5G網絡的集成,利用霧計算和云計算基礎設施,可以將電動車智能充電等服務請求的時間降低一半多。這種響應時間的縮短,對于便捷的智能充電服務是非常必要的。
此外,物聯網中的智能物體,如智能手表等可穿戴設備,其計算、存儲和電池續航能力一般都比較弱,不能完成復雜的功能。為了完成復雜的計算和功能,這些智能物體可以將計算任務交給近端云計算服務器來完成,這樣既能豐富智能物體的功能,降低服務請求的響應時間,又能降低可穿戴設備的能耗,延長續航時間。此外,利用近端云設施提供的強大的計算和處理能力,物聯網網關可以執行先進的認知、學習和其他人工智能算法和功能,例如自動識別物聯網應用并進行自適應資源的優化調度。
因此,利用近端云計算可以降低物聯網數據處理的規模和能力,提高服務請求的響應速度,增強物聯網和智能物體的功能,從而豐富和促進物聯網技術的發展和應用。
如前所述,移動邊緣計算是為了克服在移動計算和5G應用場景下云計算的不足而產生的。因此5G將成為多通路邊緣計算等近端云計算模式發展與應用的重要領域。
2017年4月,3GPP(3rd generation partnership project)在技術規范文檔中把支持邊緣計算作為5G系統的高層特征。這意味著邊緣計算將成為5G標準和規范的一部分,在未來的移動蜂窩基站(eNB或RNC)中將內置邊緣云計算服務器或微型數據中心。結合5G網絡本身的高帶寬和低延遲特性,邊緣云計算可以為端到端應用提供實時處理和服務,在端和云之間最大化事務處理的速率。同時,本地通信和處理可以提供穩定的性能以及較高的隱私和安全性。這些都將極大地提高5G網絡的增值服務能力,衍生出更多豐富多彩的應用。
以在線直播場景為例,在現場可以部署拍攝角度不同的攝像機。很顯然,這將產生大量的視頻數據,要在目前的4G網絡中將這些數據通過遠程云數據中心處理之后再傳輸給現場或者非現場觀眾是非常困難的。在5G網絡中,可以利用基站直接提供的計算和存儲服務來提高用戶的體驗。首先,將這些視頻數據傳遞給基站內部署的近端云服務器。在這些服務器上,可以對采集的視頻數據進行合成和處理,形成不同高低分辨率的視頻數據,讓不同的用戶進行選擇和觀看。
同時,利用近端云服務器提供的存儲能力,熱門視頻可以被緩存在這些服務器上供終端用戶使用,這不僅會減少用戶的下載延遲,也會減少主干網的傳輸壓力。與現有優化視頻分享的CDN(content delivery network)技術需要部署專門服務器然而卻離用戶還有幾跳距離相比,利用5G基站中緩存的視頻分發加速效果將更加顯著。
再以提高智能移動終端計算能力的代碼或計算卸載為例。由于智能移動終端和可穿戴式設備在計算和存儲資源等方面的能力有限,因此如何利用云計算的強大功能來幫助完成自身所需要的計算或存儲任務,是一條解決智能移動終端資源受限問題的良好途徑。然而,由于這些卸載的用戶體驗嚴重依賴于網絡延遲,因此這些卸載任務不太適合部署到遠端云計算中心來執行。但是利用近端云計算設施來實現代碼卸載,不僅可以提高執行效率,還能節約智能終端的能耗。在4G LTE網絡下,把智能手機上的Tesseract-OCR代碼遷移到Cloudlet平臺執行,與在Amazon EC2-West上執行相比,不但速度得到提高,而且能耗降低一半多。顯而易見,能耗的降低對于智能移動終端而言是非常具有吸引力的一個特性。
5G網絡將支持D2D通信,即兩個終端設備可以不經過基站的轉發而直接進行設備間通信,以降低基站的通信處理壓力。利用這一特性,FemtoClouds可以在多個終端設備間通過相互協作而組成一個動態和自我配置的“毫微云”。FemtoClouds利用附近未使用的終端設備在網絡邊緣提供計算服務,從而減少了把計算卸載到傳統云數據中心帶來的網絡延遲。在FemtoClouds中,終端設備通過網絡加入終端集群,并將設備信息(包括計算可用性、可共享的計算、使用歷史等)和共享策略發送到集群中,進而可以向其他終端發送計算代碼和輸入數據來卸載計算密集型的任務。
智能電網(smart grid)是一個自動化、智能化的電力輸送網絡,它保證了電力從發電廠產生直到被用戶電器設備消耗的整個電力傳輸過程中電力的智能化監控和管理。智能電網集成了分布式系統、網絡通信技術以及自動控制理論等來保證電能市場交易的實時進行和電網上各成員的無縫連接及實時互動。智能電網有3個層面的含義:首先是通過傳感設備,對發電、輸電、配電和供電等過程中的關鍵設備進行實時監控;然后將監控獲得的電網數據通過網絡系統進行收集并整合;最后通過對監控數據的挖掘分析,實現對整個電力系統的優化。
近端云計算可以很容易地解決智能電網發展過程中遇到的問題并使其獲益。相對于現有的集中式的以及完全分布式的智能電網模型,利用近端云計算模式,智能電網中集中的數據采集與監控系統(supervisory control and data acquisition,SCADA)可以通過分布式的智能電表(smart meters)和微電網(micro-grids)進行補充,這不僅可以改善智能電網的可擴展性、成本、安全性以及電網系統的響應時間,還可以將一些可再生能源和分布式能源(例如,風電場、太陽能光伏電場等)接入到主干電網。
在近端云計算模式中,智能電網將變成一個層次之間相互作用的層次化系統。第一層是電網傳感層,負責收集數據、處理一些要求實時響應的數據以及觸發執行器的控制命令。同時,它還會過濾要在本地進行處理的數據,并將其余的數據發送到更高層;第二層是微電網層,負責數據的可視化和報告(人與機器之間的交互)、系統之間的交互以及數據的處理(機器與機器之間的交互)。第三層是SCADA和遠端云計算中心層,負責長時間的數據存儲和商業智能分析。在這樣一個層次化的系統中,層次越高意味著地理覆蓋面積越大,相互交互的時間延遲越長。因為層次之間交互的時間可能從秒到分鐘(實時分析),甚至數天(事務分析),這要求利用近端云計算的智能電網系統需要在低層支持數據的臨時存儲,在高層支持數據的半永久存儲。
近年來,隨著計算機視覺、人工智能、大數據分析以及計算和存儲技術的發展,虛擬現實、增強現實以及混合現實等沉浸式技術得到了快速發展和應用。這些技術可以實時地將一個世界的不同視覺景象、聲音以及情感以高分辨率的聲光傳遞并轉換到另一個世界。雖然現階段虛擬現實技術主要應用在游戲、商業會議以及殘疾人輔助等方面,但是可以預見在不遠的將來,虛擬現實或者混合現實等技術將會應用到我們日常生活的多個方面,例如遠程聊天,社交活動等等。
然而,目前的虛擬現實技術和系統還不能進行大量復雜的計算和數據處理,例如,捕獲和處理用戶面部的表情和感覺細節。同時,虛擬世界的呈現需要傳輸大量的視頻幀數據,因此只能利用高速的有線網絡進行視頻數據傳輸。無線網絡的低帶寬和高延遲還難以滿足虛擬現實系統的需要,這在一定程度上限制了虛擬現實應用的廣度和深度。
近端云計算為解決虛擬現實等沉浸式技術的應用障礙提供了一條非常有用的途徑。首先,近端云基礎設施能彌補虛擬現實設備的計算和存儲能力的不足。虛擬現實設備可以將用戶面部表情細節處理等需要大計算量的任務交由近端云服務器來完成。其次,通過在近端云服務器上緩存與遠程用戶互動過程中產生的視頻和其他數據,可以減少網絡數據的傳輸量并提高響應速度。同時,利用近端云基礎設施提供的短距離的終端到終端的超高無線近距離傳輸通道,虛擬現實系統將不但可以擺脫有線網絡的限制,而且可以利用無處不在的無線網絡技術,實現虛擬現實設備和系統間的無縫連接,從而實現虛擬現實和物理現實的融合。
文獻[40]提出了一種利用相鄰智能移動終端的GPU 來幫助進行圖像渲染的系統,通過把渲染任務交付給相鄰智能設備來執行,不但可以實現高分辨率的圖像渲染效果,提高用戶體驗,而且可以節省能耗,提高終端的續航能力。這在一定程度上說明雖然在虛擬/增強現實領域利用近端云計算還需要克服一些具體的技術障礙,但是其應用前景非常廣闊。
無人駕駛飛機(unmanned aerial vehicle),簡稱無人機,是指利用無線電遙控設備和自有程序控制裝置操控的不載人飛機。無人機在軍事和民用領域有非常廣泛的應用。在軍事領域,無人機可以作為偵察機和靶機等使用。在民用領域,無人機的應用更加廣泛,包括航拍、災難救援、快遞運輸、測繪、新聞報道、野生動物保護等。基于其廣闊的應用前景,無人機的應用開發正在如火如荼的進行中。例如,在快遞領域,無人機可以實現精準及時的快遞配送,有效地節省資源。因此,國內的順豐以及國外的谷歌、亞馬遜等公司都在研發測試自己的無人機快遞服務。
盡管無人機的應用前景非常廣闊,但其并未得到大規模的應用。這主要是由于無人機在技術、安全和監管方面面臨著諸多尚未解決的問題。在技術方面,無人機對于網絡延遲的要求比較高,而基于云計算的處理數據模式延遲比較大,因而很難滿足其要求。例如,無人機在進入停機位的過程中,一些無人機的速度非常高(可以達到10英里每小時)。所有消息通過集中的云計算中心處理將產生較大的延遲,等到無人機報告問題時,可能已經錯過處理的最佳時間。其次,無人機面臨著嚴峻的安全問題。同一空域可能同時出現執行不同任務的不同公司的無人機,而且還可能存在飛鳥以及高層建筑等,如何避免無人機與無人機以及與其他空中物體之間的相互碰撞,是需要重點解決的安全問題。最后,無人機還面臨著復雜的監管問題。在一些敏感區域或者民航飛機航道上,各地的航空管理局是禁止無人機飛行的。因此,無人機需要在復雜的監管環境中進行飛行。如何根據地理位置有效地控制無人機的飛行是監管無人機首要解決的一個問題。
針對無人機應用面臨的挑戰,近端云計算給出了可行的解決方案。首先,近端云計算可以滿足無人機低延遲的需求。根據任務的延遲需求,近端云計算可以在不同的層次進行數據處理,滿足不同延遲的消息處理需求。例如,將一部分無人機收集的視頻數據的處理任務卸載到邊緣云數據中心上,可以很大程度上減小數據處理的延遲。其次,近端云計算可以從無人機自身、相鄰無人機、近端云計算設施(例如,在無人機航線或高層建筑物上部署的節點)、遠端云計算中心多個層次來保證無人機的安全。最后,近端云計算可以實現基于地理位置的無人機監管服務。對于禁飛區域,可以在近端云計算設施進行配置,當無人機接近禁飛的近端云計算設施時,實現主動避讓。另外,還可以在近端云計算設施和遠端云計算中心對無人機飛行的狀況和軌跡進行監控,通過對區域內無人機的信息進行集中地整理,監管部門可以有效地管理區域內的無人機。
反過來,無人機也可以作為一種實現近端云計算的平臺或技術。例如,無人機可以為終端設備提供通信中繼服務。在需要臨時增加網絡覆蓋或者發生過自然災害后通信被破壞的地區,無人機可以作為飛行的基站與衛星或者其他通信基站進行通信來保證所在區域內的通信服務。無人機還可以作為一個移動的朵云平臺,為其他的無線終端設備提供一個小型的云計算平臺,使得計算等任務可以從終端設備卸載到無人機上。在無線傳感器網絡中,無人機可以作為一個移動的數據收集平臺,將各類傳感器采集的數據統一地收集起來。因此,相信隨著無人機與近端云計算技術的不斷發展,更多實際的應用問題可以通過無人機與近端云計算技術的相結合而得到有效解決。
盡管近端云計算擁有廣闊的應用前景和發展機遇,能夠解決云計算所面臨的難題,但是實現和部署近端云計算也面臨著諸多挑戰,包括商業挑戰和技術挑戰等。商業挑戰主要由公司來推動和解決,本文不做分析。本文主要分析近端云計算面臨的技術挑戰。理清技術挑戰有助于知道哪些方面是實現近端云計算模式需要重點解決的問題,從而為以后近端云計算的研究指明方向。
本節將從體系結構和模型、網絡接入和管理、資源管理和調度、定價和激勵機制、安全和隱私保護等方面分別介紹近端云計算面臨的技術挑戰。
體系結構和模型是實現及應用近端云計算模式的基礎。因此,首先需要研究近端云計算的體系結構和模型。
6.1.1 體系結構
相對于集中部署的云計算來說,近端云計算的體系結構更加復雜。首先,近端云計算中資源的種類更多,既包括集中部署在數據中心中的資源,也包括分布在網絡上的資源(例如,路由器、邊緣服務器等),以及動態移動的終端資源等。其次,資源是分布式和小型集中式相結合的,這些資源的地理位置分布范圍很廣。資源之間相互連接的方式不僅包括有線,還包括各種無線連接方式(例如,WiFi、Wi-Max、藍牙、3G、LTE等)。然而,這些連接方式的傳輸速率和延遲各異。最后,近端云計算模式中各類資源往往是異構的,而且能力差異大。如何在這些分布式、異構、能力各異的資源上構建一個可實施部署的體系結構非常具有挑戰性。
現有的針對霧計算和露計算的體系結構研究工作,只是給出了簡單的層次劃分,并沒有給出可實施部署的體系結構。雖然針對移動邊緣計算的體系結構研究相對較多,但與具有普遍意義的近端云計算相比,移動邊緣計算沒有考慮終端設備的協作。
近端云計算的體系結構研究,可以參考現有的云計算體系結構和移動邊緣計算的體系結構,將原有的體系結構向近端設備(例如,路由器、邊緣服務器)和終端設備進行擴展和擴充,并考慮終端設備之間的相互協作。針對近端云計算體系結構的研究,可以先設計一個較為通用的體系結構模型標準。在此基礎上,再針對特定的應用場景研究適合不同應用場景需求的體系結構。
6.1.2 編程模型
對于近端云計算來說,研究類似于云計算中的MapReduce編程模型是非常必須的。因為統一的編程模型可以隱藏近端云計算模式中的復雜管理功能,讓開發人員不用考慮近端云計算模式中動態、異構、層次化的各類資源,只需要關注應用本身的邏輯,從而加快近端云計算模式應用的開發。但是,和云計算相比,近端云計算的編程模型更加的復雜。首先,計算資源的種類繁多,而計算可以在任何資源節點上進行,如何協調同一計算任務的執行地點,并匯總計算結果是一項具有挑戰性的任務;其次,近端云計算中節點的連接方式各異,而且存在移動的節點。因此,在任務分發之后,一些計算節點在返回結果之前可能已經無法訪問。如何根據節點的連接方式和移動特征,選擇合適的參與節點也非常具有挑戰性。
HonG等針對未來互聯網應用提出了一種高級編程模型,該模型具有可按需擴展以及大規模地理位置分布和延遲敏感的特點。然而,其中的計算節點是固定的。Orsini等提出的CloudAware通過一個上下文管理器來估計網絡的連接狀態,并通過求解優化問題(例如,最小化計算時間)來切分應用和執行卸載策略。不過,CloudAware只是一個抽象的編程模型。Foglets支持發現與應用程序需求匹配的資源,并可以根據傳感器的移動特征和動態的計算需求對應用程序的組件進行遷移。MCEP通過實時遷移,能夠根據位置信息按需動態地配置計算資源,從而降低延遲、網絡利用率和處理開銷。但是Foglets和MCEP都是基于自己定義的數據模型和應用程序接口。FogFlow利用標準化的應用程序接口來實現云和邊緣之間的編程模型。不過,目前FogFlow只針對智慧城市,如果應用到其他的場景中,還需要進行適當的修改。IOx提供了一個可以無縫跨越不同網絡邊緣設備的應用程序支持框架和計算平臺。IOx通過開放式的應用程序開發環境向開發者提供了對應用程序整個生命周期(包括:開發、分發、部署、托管、監視和管理)的管控。但是IOx并不開放而且依賴于很昂貴的硬件。ParaDrop是一種邊緣計算框架,它可以使第三方開發者利用距離終端最近的接入設備(例如,WiFi接入點或家用機頂盒等)上的計算資源。ParaDrop通過開發者API支持服務的動態安裝,并且支持基于策略的資源管理。但是ParaDrop主要針對輕量化的應用程序。
為了加快近端云計算模式的應用,需要研究結合近端云計算模式特征的通用編程模型。這種通用編程模型可以根據計算任務的需求(例如,延遲要求等),能夠在端、相鄰端、近端云計算設施和遠端云計算中心中選擇一個或者多個節點執行計算任務。具體在哪里執行,開發人員可以自己定義,也可以根據一定的匹配算法或者機器學習的方法,綜合考慮任務的需求讓任務自動地選擇執行節點。
和傳統云計算相比,近端云計算的網絡更加復雜多變。首先,近端云計算的網絡往往是異構的,既包括穩定可靠的有線連接,也包括存在不確定性的無線連接;其次,近端云計算的網絡由于端設備的移動,使得端設備連接的網絡會隨著位置的變化而變化,而且端設備連接的網絡存在斷開的可能;再者,近端云計算支持端設備之間的相互協作,這要求端設備可以在不依賴于其他網絡基礎設施的情況下構建協作網絡,而且網絡需要支持節點的加入、離開和移動。管理這樣一個異構、復雜、多變的網絡,保證網絡的聯通性,并在其上提供服務非常具有挑戰性。
最近一些新興的網絡技術,例如軟件定義網絡(SDN)和網絡功能虛擬化(NFV),為創建靈活且易于管理的網絡提供了解決方案。將SDN和NFV技術應用于近端云計算模式可以簡化網絡實施和管理的復雜度,增加網絡的可擴展性并降低成本。ETSI ISG MEC建議通過SDN和NFV管理網絡資源,不僅可以減少部署開銷,還可以提供一個通用的業務流程管理基礎架構。在近端云計算中,集成SDN技術最大的挑戰是如何適應終端設備的移動性以及不可靠的無線網絡連接。Ku等提出了用于移動/車載自組織網絡(MANET/VANET)的基于SDN的移動云架構,其基于SDN的頻率選擇架構可以適應異構的無線網絡接口,并支持特權業務預留和調頻通信等應用。除此之外,如何放置不同的網絡控制器(包括持久連接的邊緣設備和間歇連接的終端設備)以及在哪里部署網絡控制器也是在近端云計算中應用SDN需要解決的問題。解決這些問題需要根據具體的近端云計算應用的需求,研究針對性的SDN架構和系統。
NFV可以通過虛擬化近端云計算中的網關、交換機、防火墻等設備來增強近端云計算中網絡資源管理的靈活性。NFV已經在數據中心網絡、蜂窩核心網絡中得到了應用。相比之下,這些網絡中的設備具有豐富的計算資源,而近端云計算中很多終端設備的資源非常的有限。因此,在近端云計算應用NFV需要重點考慮有限的資源問題和虛擬化網絡設備的性能,同時也需要結合近端云計算應用和服務的特定需求。
資源管理和調度是各類應用程序在近端云計算系統中運行的基礎。本節從資源隔離、資源發現、共享和配置、資源調度3個方面來介紹近端云計算資源管理和調度面臨的挑戰。
6.3.1 資源隔離
為了利用各類計算設備的資源,需要解決資源的隔離問題。首先,因為不同計算設備的軟硬件是異構的,要想把這些異構的資源利用起來,就需要屏蔽設備在操作系統和硬件上的差異;其次,同一計算設備上往往會運行多個應用,這些應用會共享設備的資源。為了避免因為一個應用程序的失敗而造成其他應用或者整個系統的崩潰,就需要將這些應用隔離開來;最后,在設備上,特別是在終端設備上,往往存儲著用戶的隱私數據。為了保護用戶的隱私和安全,往往需要隔離開第三方的應用程序。
虛擬化技術是實現資源隔離的一種有效手段。常用的虛擬化技術包括虛擬機監控器(hypervisor)和容器(container)。虛擬機監控器可以實現系統級的虛擬化,是云計算中常用的虛擬化技術。Cloudlets就利用了這種虛擬化技術。相對于虛擬機監控器來說,容器是更輕量級的虛擬化技術。ParaDrop則采用了容器虛擬化技術。因為容器是在操作系統層實現的虛擬化技術,因此相對于虛擬機監控器來說,其靈活性更低。Condroid是一種基于容器的輕量級虛擬化技術,使得一個android設備可以托管多個獨立的android虛擬機。但即便如此,虛擬機監控器和容器這些系統級的虛擬化技術仍然無法支持一些資源更少的設備(例如,IoT等)的資源隔離需求。FlowFence通過構建一些隔離模塊并在sandbox中操作敏感數據,從而可以實現對IoT應用中敏感數據的有效控制。但是,支持FlowFence需要按照FlowFence 的邏輯重寫相應的IoT應用。
因為近端云計算中設備的能力差異很大,具體采用哪種資源隔離技術,還需要根據設備的計算能力和應用場景的需求進行綜合考量。此外,訪問控制可以通過隔離第三方應用可訪問的內容,從而有效地解決資源隔離的問題。
6.3.2 資源發現、共享和配置
資源發現和共享(resource discovery and sharing)是終端設備實現對等協作以及利用近端云計算設施中資源的基礎。因為終端設備的位置會變化,在位置變化之后,終端設備需要能夠及時發現附近可用的其他終端設備以及近端云計算設施。而且,終端設備也需要能夠在新的位置將自身空閑的資源共享給其他設備使用。Liu等提出了一種自適應的資源發現方法,該方法根據網絡環境的不同自動地在集中式和洪泛策略之間進行切換,以節省能耗。Nishio等提出了一種異構資源共享框架,通過將諸如CPU、通信帶寬和存儲等異構資源映射成“時間”資源。因此,資源共享問題可以形式化成一個最大化面向服務的效用函數問題。不過,這里的效用函數只考慮了延遲因素。然而,在近端云計算中,資源發現和共享除了需要考慮能耗和延遲因素外,還需要考慮設備的移動、服務的可用性甚至收益等因素。
資源配置(resource provisioning)是在用戶請求資源時向用戶分配其所需的資源。Aazam等提出了一種基于資源需求預測的資源配置方法。通過綜合考慮用戶的需求、服務的類型和價格模型定義支出函數,從而提前為用戶分配資源。然而,對于很多應用來說,很難準確預測其需求的資源量。Skarlat等提出了一個霧計算資源配置的概念框架,通過形式化一個優化問題在運行時進行資源配置。但是,由于優化模型所考慮因素的限制,使得這個框架的通用性非常有限。近端云計算的資源配置需要綜合考慮應用的需求和資源的存儲、計算、網絡帶寬以及價格等因素。除此之外,近端云計算的資源配置需要滿足應用延遲的要求,因此還需要考慮延遲因素。此外,近端云計算的資源配置還需要考慮設備的移動性。因為終端設備的移動會造成可用資源的狀態和網絡延遲產生變化。
6.3.3 資源調度
近端云計算中的資源調度之所以具有挑戰性,一方面是因為近端云計算中計算、存儲等功能可以在端設備本身、相鄰端設備、近端云計算設施和遠端云計算中心中的任何一處執行,可供選擇的執行位置較多;另一方面是因為近端云計算中資源調度除了需要考慮計算或存儲等任務完成所需要的資源因素外,還需要考慮終端的移動性、延遲等因素。要解決近端云計算中的資源調度問題需要解決這些問題:如何實現端與端之間的對等協作,以及終端和近端云計算設施、遠端云計算中心之間的資源調度;在不同的層次之間選擇什么樣的調度粒度;如何切分應用程序,使其可以在端設備、近端云計算設施和遠端云計算中心之間實現并發和同步;如何執行調度決策,使得調度能夠動態地適應端設備、網絡、資源等因素的變化。
彈性資源調度是云計算最主要的特征之一。因此,作為云計算向終端設備的擴展,近端云計算也應當能夠支持資源的彈性調度。Zhan等總結了云計算中彈性資源調度方法。Kavvadia等提出了一種基于無容量限制設施選址的彈性虛擬機放置方法。Liu等提出了一種激進式的資源調度方法,通過激進的資源分配策略來保證服務質量。這些彈性資源調度方法大都以虛擬機為粒度進行資源調度。相比之下,近端云計算則需要考慮更加細粒度的彈性資源調度,而且在資源調度的過程中需要結合設備的位置信息、延遲要求等多種因素。
計算卸載(computation offloading)也是資源調度的一種形式,通過將一部分任務遷移到其他設備執行來擴展終端設備的能力,從而有效地解決終端設備資源有限問題。Chun等提出了應用程序在端設備和云之間遷移的方法CloneCloud,它使用靜態代碼分析器在應用程序字節碼中自動標記可能遷移的點。Barbera等研究了移動終端利用云平臺進行計算卸載以降低移動終端的帶寬和能量消耗的方法。Kosta等提出了一個卸載手機應用到云平臺的計算架構ThinkAir。這些計算卸載方法也可以應用到近端云計算的計算卸載中。和上述現有的計算卸載方法相比,近端云計算中的計算卸載需要考慮計算執行的位置、端設備的移動性和延遲需求等多種因素,以使得應用和服務能夠通過計算卸載以充分利用近端云計算的優勢。
從已有近端云計算的相關研究工作可以知道,近端云計算的參與者包括:1)云服務提供商,希望將自己的服務擴展到終端設備上;2)互聯網服務提供商和無線網絡運營商,可以構建近端服務設施來連接云服務提供商和終端用戶;3)終端用戶,可以共享自己空閑的計算、存儲和網絡等資源,也可以通過利用其他終端或者服務提供商提供的資源以擴充自身設備的能力。為了保證各個參與者的利益,實現類似于云計算的“隨用隨付”(pay-as-you-go)的原則,首先需要解決的就是定價問題。例如,如何為不同參與者的資源進行定價,以及如何在不同的參與者之間進行收益的分配等。另外,還可以參考云計算中的動態定價機制,動態地給近端云計算的資源服務進行定價,以最大限度地提高收益和資源利用率。再者,近端云計算支持端設備之間組件自組織的協作網絡,因此還需要結合近端云計算應用的特點研究不依賴于第三方或者基站協助的定價機制。
激勵機制(incentive mechanism)可以激勵終端用戶參與到近端云計算系統中。因此,為了加速近端云計算的實現和部署,需要研究有效的激勵機制。但是,因為終端用戶的存在,使得近端云計算中影響參與者參與的因素不再是單純的經濟收益。例如,如果終端用戶共享自己的資源可以幫助自己的親人或者朋友,終端用戶參與的積極性會提高。因此,近端云計算的激勵機制可以結合用戶的社交屬性來激勵更多的用戶參與到資源的共享合作中來。再者,如果終端用戶的參與可以提高自身的計算體驗的話,終端用戶也會非常樂意參與到近端云計算中。因此,在近端云計算的激勵機制研究中要充分考慮各個參與者的特點,通過挖掘各個參與者的參與動機從而激勵用戶參與到近端云計算中。另外,還可以結合應用場景的特點,將激勵轉換成虛擬貨幣等較為通用的激勵,使得用戶可以利用通用的虛擬貨幣來換取自身所需的資源。
隨著人們安全和隱私保護意識的增強,安全和隱私保護變得越來越重要。與云計算相比,近端云計算既具有在本地或近端解決安全和隱私保護問題的優勢,也同時面臨著更加嚴峻的安全和隱私保護問題。首先,近端云計算涵蓋了很多終端設備,而這些終端設備存在潛在的安全問題。以android設備為例來說,有82%的android設備存在25個安全漏洞中的至少一個;其次,近端云計算中終端設備接入的網絡多種多樣,而這些網絡的安全性難以保障,使其更容易受到攻擊。以WiFi網絡為例,據統計,49%的家用WiFi是不安全的,80%的家用路由器使用的是默認密碼;89%的公共WiFi熱點是不安全的。最后,在近端云計算中,節點的分布橫跨了端、網絡(近端)和云(遠端),跨域實施安全和隱私保護的難度更大。而且,一些傳感設備的資源非常有限,這就造成現有的很多安全保護技術無法被直接使用,因為它們所需要的資源無法得到滿足。下面討論一些可以用于實現近端云計算安全和隱私保護的技術。
6.5.1 身份認證
身份認證是安全保護的第一道防線。近端云計算中的身份認證面臨著如下挑戰。首先,近端云計算支持端設備的相互協作,因此需要支持不依賴第三方認證設施的身份認證技術;其次,近端云計算中很多終端設備的資源是有限的,因此輕量級的身份認證技術是非常必要的;再次,近端云計算支持地理位置的服務,如何實現基于地理位置的身份認證,以及實現在用戶位置切換之后,不需要用戶重新進行身份認證也是一個問題;最后,如何在近端云計算的多個架構層次之間完成身份認證。已有的身份認證技術很多,部分可以應用到近端云計算中來克服上述挑戰。Toosi等對云計算中的身份認證技術進行了總結。Ibrahim等提出了一種身份認證系統Octopus,允許任何霧計算用戶和霧計算節點相互認證,但是這種方法中的霧計算節點存儲了信任域內所有用戶的憑據信息。Bouzefrane等使用近場通信(near field communication,NFC)來驗證終端設備是否能將任務卸載到已認證的本地云中。Yang等則提出了一種允許終端用戶從一個區域遷移到另一個區域的身份認證技術。除此之外,還可以借鑒云計算和P2P網絡中的身份認證技術,通過在這些現有的身份認證技術中增加位置等信息來使得其更加適合于近端云計算的應用場景。例如,在認證過程中增加諸如時間、所在位置、設備等狀態信息,不僅可以增強認證的安全性,還可以簡化某些情況下的認證過程。
6.5.2 訪問控制
訪問控制在身份認證的基礎上,根據身份的合法性對資源訪問請求加以控制。訪問控制技術已經成為了云計算可靠的安全保障措施之一。Almutairi等提出了一種應用于多云環境的基于角色控制策略的分布式訪問控制框架,以支持域角色映射和限制驗證。Dsouza等提出了可以用于霧計算的基于策略的資源訪問控制方法,以支持異構資源之間的安全協作和互操作。在近端云計算中應用訪問控制技術還需要解決下面這些問題:如何明確近端云計算中的用戶角色以及權限范圍;如何結合近端云計算的地理位置特征,實現基于地理位置的訪問控制;如何在不同的層次中分發權限控制策略以滿足不同層的目標和資源限制需求等。解決以上這些問題需要結合具體的近端云計算應用場景的特點,針對性地設計訪問控制策略。
6.5.3 隱私保護
和云計算相比,近端云計算由于覆蓋了各種各樣的用戶終端設備,使得應用可以更容易地收集用戶的敏感數據。另外,端設備的資源往往非常有限,而隱私保護算法往往都需要消耗很多的資源,這就需要將很多用戶的敏感數據傳輸到近端或者遠端云計算中心進行處理。如果在網絡上明文傳輸敏感數據,會造成用戶的隱私泄露。同態加密(homomorphic encryption)技術可以實現在不解密的情況下對敏感數據進行處理,因此可以實現在近端或者遠端云計算中心處理敏感數據的同時保護用戶的隱私。另外,差分隱私(differential privacy)可以用于確保在統計查詢的情況下不泄露數據集中任意單個條目的隱私。除了數據隱私外,使用隱私和位置隱私也是近端云計算隱私保護的重要內容。例如,因為終端設備使用附近近端云計算設施中的資源,使得近端云計算設施可以很容易地根據自身的位置,以及用戶的使用時間和使用模式等信息來推測出用戶的地理位置信息和使用隱私。使用隱私和位置隱私最有效的保護方式是匿名和身份混淆,即便近端云計算設施知道用戶在附近,但也無法識別出該用戶。另外,用戶在選擇近端云計算設施時,可以不單純地根據位置信息進行決策,而是結合延遲、用戶評價等多種因素動態地選擇近端云計算設施,以避免近端云計算設施通過其本身的位置推測出用戶的位置。
本文討論了云計算在發展過程中所遇到的瓶頸,揭示了云計算的基本特征及其發展演化的必然趨勢。在此基礎上,對后云計算時代出現的新型網絡計算模式進行了簡單介紹,并總結了這些網絡計算模式的基本特征。接著,對幾種近端云計算模式,即霧計算、移動邊緣計算和邊緣計算等進行了詳細地分析、比較和總結,使讀者能夠掌握它們各自的特點以及細微區別。另外,為了使讀者能夠清晰地了解近端云計算的發展前景及其面臨的困難,本文還通過一些具體的應用例子分析和總結了近端云計算發展所面臨的機遇和技術挑戰。相信隨著云計算問題的日益突出以及近端云計算實踐經驗的不斷積累,在不久的將來,近端云計算無疑會成為后云計算時代產業界和學術界開發和研究的一個新熱點。