上天入地 霧運算銜接雲到物
上天入地 霧運算銜接雲到物
范晨星 文 2017/12/17
刑偵劇中每當有案件發生,警察除了勘查案發現場,也必定會找出附近的監控攝影機,翻查案發時間前後的監控影像。如果案發時間不確定,或是監控攝影機部署的比較密集,警察們可能三天三夜還看不完所有檔案,而且這過程如同大海撈針,相當辛苦。
再設想一個情境,業務繁忙的你,清早坐上自動駕駛汽車、設定好目的地,打算在前往會議的路上小憩片刻,這時前方忽然有一個小孩衝到馬路中,而你的汽車偵測到卻……lag了!
這些都是未來智慧化、數位化、自動化的世界極有可能遇到的問題,霧運算(Fog Computing)就是在這樣的背景下應運而生。
霧 更貼近地面、水平分布的雲
物聯網(Internet of Things, IoT)的概念自2005年在「ITU網際網路報告2005:物聯網」被正式提出之後,隨著中、美各國的積極回應,在全球掀起熱潮,但許多IoT的實際應用面臨延遲、網路頻寬等挑戰,這些問題在原本採用的雲端運算架構下無法解決,而霧運算正是專門設計來滿足IoT、第五代行動通訊系統(5G)和人工智慧(AI)等資料密集應用需求的通用技術框架。
根據開放霧運算聯盟(OpenFog Consortium)定義,霧運算是一種水平的、系統級的分散式協作架構,橫跨多個垂直行業和應用領域。它從物開始延伸,包含網路邊緣、雲以及多個協議層,不只是單點或端對端,也不只有一個伺服器和基地台,而是一個從雲到物的無縫連續區域,因此它能夠將資源和服務分配到這一連續區域內的任何地方。

霧運算的必要屬性:水平結構、雲到物的連續服務、系統級的。(圖片來源/范晨星重製)資料來源:OpenFog
看到這裡可能有點霧煞煞,我們打個比方。再兩個月就要過年了,年夜飯是各家族的重頭戲,假定年夜飯是在家裡吃,那可能會出現以下兩種情況:家族長媳負責所有菜餚,或是各個小家分別帶菜來團圓。一人全包就像是雲端運算(集中式運算),長媳須具備高度料理甚至統籌管理能力,到市場(資料源)購買大量的食材(原始檔案)回家處理(運算),家裡的冰箱(儲存空間)也必須夠大,才足以存放食材。而各家帶菜則像是霧運算(分散式運算),各家到附近市場購買食材,在自己家裡(霧節點)先初步處理過再帶到吃年夜飯的家中(雲)進行料理最後一步,或者乾脆直接在家裡完成菜餚。
第一種情況中即使長媳經驗豐富,因為需要準備的菜太多,常常必須分趟買菜(頻寬不足),甚至一周前就開始前置作業以免當天手忙腳亂(延遲),費時長且體力、經濟負擔重。而第二種情況將工作向下分攤到各家,菜抵達吃年夜飯的家中時已經過處理、過濾,可減輕長媳、長媳家廚房和冰箱的壓力,有效解決上述問題。

霧運算架構圖。(圖片來源/工研院資訊與通訊研究所)
霧運算等於邊緣運算?
與霧運算的概念有點相似,邊緣運算(Edge Computing)也屬於分散式運算,將大型服務切割成小單位,移往網路邏輯上的邊緣節點處理,因為邊緣節點較雲接近資料源,所以也能加快資料處理和傳送的速度。聽起來是不是很像呢?因此有一些觀點認為兩者是相等的,或說霧運算是邊緣運算的一種。同樣是將運算、存儲能力向下延伸到物聯網,邊緣運算依賴孤島中的單獨節點,透過雲才能實現對等流量傳輸,而霧運算的節點與節點之間具有高度互用性,可對等互連。
同樣用年夜飯的比喻,單看把菜餚分給各家做,這是邊緣運算,感覺比較接近老闆分派工作,員工向老闆負責,各家獨立作業;而霧運算有一個特點——跨領域、跨應用,各家不但分工更互相合作,寄放食材、共用廚房,這整個協作的系統就是霧運算。開放霧運算聯盟測試床工作組主席(OpenFog Testbed Working Group Chair)周明拓在談到霧運算時指出,「(霧運算的)關鍵詞是水平的,它與邊緣計算有一點不一樣,霧計劃是支持跨行業、跨網頁運營的模式,其實現在物聯網非常大的痛點是碎片化很嚴重,霧計算能夠把跨網絡的資源利用起來,是無差別的對待,它的水平也可以任意部署。」國立交通大學電子工程學系教授黃經堯也表示,「邊緣運算離終端還是很遠,不可能把邊緣運算全部放到終端去,但霧運算是從終端、邊緣、雲端都可以銜接起來,因此它是一個較好的架構去滿足雲端和物聯網的整體產業發展。」
霧運算的應用
如前文所述,霧運算的應用非常廣泛,IoT、5G、AI、AR、車聯網(Internet of Vehicles)等時下最夯的科技發展都與之有關。黃經堯表示,任何在服務上有「大資料量變小資料量」和「即時反應」需求的,都適用於霧運算。我們回到文章開始的情境,看霧運算如何解決以上問題。
在傳統的雲端運算架構中,監控攝影機拍攝的檔案皆會全數傳到雲端儲存和處理,「全數」意即包括毫無價值的資料也會被傳送至雲端伺服器,且現在攝影鏡頭解析度越來越高、檔案越來越大,這樣不只浪費頻寬、增加伺服器負荷量,甚至斷線時還可能造成資料遺失。據Intel物聯網解決方案架構師莊欽龍在報導中闡述,「若能賦予攝影機更好的壓縮能力,在看到影像的同時就做智慧萃取,把真正重要的「資訊」傳送到第二站──網路錄影機(NVR)主機或閘道器(Gateway),進行更深層的運算分析匯整成「知識」後再送至雲端,既能減輕單一主機的負擔,也能提供更好的服務或取得更先進的分析結果。」如果攝影機本身就能識別錄製對象的異常動作,例如有人從背後快速擒抱他人,立即將這個時間段的視頻訊號傳至警局電腦,電腦分析出此異常行為代表可能有綁架案發生,就可以在第一時間將警示訊息發至警察手機,同時將篩選過的視訊上傳雲端。

資料處理流程示意圖。(圖片來源/范晨星製圖)
如此一來不僅節省上傳不必要檔案的時間和雲端儲存空間,更顛覆了警察辦案「事後找證據和線索」的慣例,增加即時性和主動性。
霧運算也可以解決延遲性的問題。自動駕駛汽車除了倚賴環境感測系統,行進時也須與交通控制系統、路邊傳感器甚至其他車輛彼此連線溝通,根據實時數據更新交通路線。這意味著在每趟行程中將產生數以TB(1TB=1027GB)計的資料,然而在現行的IoT系統架構中,因為「天上的雲」和「地上的物」距離太遠,無法處理具備次毫秒等級的延遲性要求。由於霧運算架構具備在資料源近端處理和即時反應的能力,因此能滿足自動駕駛車這種高敏捷性的要求。

開放霧運算分層示意圖。(圖片來源/范晨星重製)資料來源:OpenFog
霧運算並不是一個獨立、完整的新產業,它的目標是滿足在IoT等高成長的系統裡追求的服務品質,藉由強化在既有或未來規劃裡的不足,達到商業化的服務目的。