當前位置:
首頁 > 最新 > 新型服務計算的研究進展與趨勢

新型服務計算的研究進展與趨勢

CCF於1月11日發布了最新一期《中國計算機科學技術發展報告》,對可群智協同計算、軟體智能化開發技術等11個方向的研究進展做了詳細介紹和討論。我們將分期分享報告中的精彩內容,加入CCF會員登錄CCF官網,可在數字圖書館欄目下載和瀏覽。

1 引言

服務計算 (Service Computing 或者Service-oriented Computing) 是一門研究和發展支持廣義 服務的計算抽象、架構、技術和工具的學科,它是軟體工程與分散式計算的前沿發展方向,具有重要的科學意義和應用價值[1]。雲計算、物聯網、微服務等技術的廣泛應用使得軟體功能、硬體資源和設備能力被大規模地服務化,這給服務計算帶來了廣闊的應用前景。

縱觀服務計算的十餘年的發展與應用,我們可以大致將其發展過程劃分為三個階段,即模型建立階段、方法設計階段和技術應用階段[2]。(1)模型建立階段:該階段屬於服務計算髮展初期,其核心問題是服務的認知、服務模型的建立和服務語言的設計等。學術界與工業界圍繞Web Service、SOA展開討論,提出了WSDL、SOAP、UDDI、OWL-S、SCA/SDO等標準;在此期間,IEEE 計算機學會成立了服務計算技術委員會;ACM發布了服務計算知識體系,明確了服務計算研究的主題和邊界。(2)方法設計階段:該階段屬於服務計算技術快速發展的階段,其核心問題是如何快速、高效的使用服務,國內外一大批學者圍繞服務使能問題展開了如火如荼的研究,在服務發現、推薦、選擇、組合、驗證等方面出現了大量研究成果。這些成果在推動服務技術在現代服務業各行業應用中的實踐起到了至關重要的作用。(3)技術應用階段:該階段屬於服務計算應用深化和推廣的重要階段,其核心問題在於如何跨越業務服務與IT服務的鴻溝,基於前一階段形成的各種服務使能技術,為各種創新的服務模式和應用場景提供技術和方法,使得服務過程更為便捷和高效,從而快速實現服務價值共創和傳遞。

目前,雲計算、物聯網、移動互聯網、大數據為代表的新一代信息技術與傳統服務業的融合創新,催生了以共享經濟、跨界經濟、平台經濟、體驗經濟為代表的多種創新模式。這些創新模式的推廣與應用使得服務形式更為多樣、服務應用更加泛化、服務的內涵和外延也隨之被不斷拓展,並給服務計算帶了新的挑戰和要求[3],這也成為第三階段服務計算研究的熱點。本文結合大數據、移動計算、物聯網等新型服務計算,探討服務計算髮展的最新現狀與趨勢。

2 大數據驅動的服務計算研究進展與趨勢

2.1 數據即服務

在雲計算時代,隨著可植入設備、可穿戴設備、便攜設備和網路化物理系統 (Cyber-Physical Systems, CPS) 持續增多,設備數據和行為數據正經歷著前所未有的增長,無論是數據的尺度規模還是涉及IT系統的廣度均導致了數據管理的複雜程度不斷增加。如何在正確的時間將正確的數據傳輸到正確的位置?如何將困在應用系統中的數據進行聚合以便揭示更深層的業務價值?如何在數據複雜度以及數據量不斷增長的情況下,依然能夠在擁有高可靠性和安全性要求的前提下保持較低的運維成本?這些問題促進了數據即服務(Data-as-a-Service,DaaS)[4-7]這一概念的發展。

通過對數據資源的集中化存儲、清洗、聚合、質量管理、分析挖掘,以雲服務模式交付給不同的系統或用戶而無需考慮這些數據來自於哪些數據源,DaaS在提高資源利用率和業務響應速度、減低運營成本和管理難度方面起到積極地作用[7,8]。將數據以服務的形式提供給外部應用使用起源於Web混搭[9, 10], 隨著各種物聯網設備和無線感測網路採集的海量異構感測數據爆炸式增長,通過雲計算的方式對複雜的大規模數據集進行存儲和利用已成為當前的主流做法。

通過將資料庫資源池化並以服務的形式藉助網路交付給,使得不具有資料庫運維技術能力的用戶都可以輕易地創建、使用、擴容和銷毀資料庫實例,資料庫即服務(Database-as-a-Service,DBaaS)[11-13],也稱雲資料庫[14],向用戶提供與其他雲服務相類似的優勢:一個靈活的、可擴展的、低成本的按需服務平台。該平台以自助服務和便捷管理為導向,不需要關注資料庫的部署、配置、監控和管理等繁瑣工作,讓用戶能夠將精力聚焦到他們的核心業務上去,或者極大的提升傳統IT部門和業務部門的生產力。

基於自身在數據中心等基礎設施方面的實力,亞馬遜、Microsoft、Oracle、阿里、騰訊等均推出多種定價策略,涵蓋容災、備份、恢復、監控、遷移等方面的雲資料庫解決方案;在金融服務、電信以及公共部門、醫療、保險、零售、製造、電子商務以及媒體娛樂等行業湧現出眾多的DaaS應用案例[15, 16]。Sorokine等人[17]基於大數據即服務的思想構建了一個城市信息系統(Urban Information System, UrbIS),針對異構離散的海量城市信息提供數據管理、元數據搜索、空間搜索、集成建模與分析、地學可視化等功能,進而對跨越多個城市的大數據進行深度的挖掘和分析以便探究城市地區和周圍的環境氣候變化間的相互影響。Chang等[18]以資料庫即服務的方式存儲醫療保健系統中可穿戴設備收集的海量生理信號數據,並提供數據隱私鑒權和訪問控制。

大數據的價值不在於簡單的存儲和訪問,而是取決於以智能的、富有洞察的方式分析數據,以便為業務運營、產品和觀點提供數據支持。分析即服務(Analytics as a service,AaaS)可看做是大數據、雲計算和軟體即服務的自然彙集[19-21],通過Web介面向用戶提供面向大數據的分析軟體及操作,如在智慧城市CityPulse1項目中數據分析工具被封裝為Web服務,使用者利用簡單的HTTP請求就可以實現數據處理和分析[22],而在MERRA2(Modern-Era Retrospective Analysis for Research and Applications) 數據集基礎上,MERRA 分析服務 (MERRA/AS)[23]向研究者提供氣候變化方面的數據支持。在商業領域,眾多公司已推出了自己的大數據分析平台,如IBM Bluemix數據分析、 騰訊移動分析等等。

總之,可靠存儲和獲取物聯網(Internet of Things,IoT)設備所產生大數據的通用平台,將是大數據應用的基礎;而基於大數據的分析及服務則簡便高效的向用戶展示大數據內在價值,是更好的理解業務和決策支持的關鍵。跟目前其他雲服務的局限類似,當用戶將數據放入雲端時會遭遇到無法控制的網路性能問題,除此之外,還存在數據隱私和安全保護方面的嚴重挑戰[24]。

2.2 面向交通大數據的服務計算

隨著物聯網技術特別是交通相關的感知、監測技術的發展,各類智能交通系統在實踐應用中不斷產生並積累了大量的交通數據,這些通過各種交通感測設備(如全球定位系統感測器、車牌識別感測器、交通流量感測器、路況感測器、車況感測器等)實時採集並集中匯聚的交通大數據逐漸成為智能交通系統中一類新的、關鍵的數據內容,基於交通大數據提供更加精確、全面、智能的交通管理及信息服務(如交通信號智能控制、城市車輛管理、複雜路網空間及交通流分析等)成為當前智能交通系統中的研發熱點。交通大數據以及相關的處理需求表現出了多源性和多樣性、面向對象和時空相關、海量性和實時性、複雜性和動態性等特性。具有這些特性的交通大數據及其處理需求對智能交通系統的建設帶來了巨大的挑戰,如何面向交通大數據提供可擴展、實時、連續的計算支持以滿足複雜、多樣、動態變化的交通數據處理需求成為其中的一個核心問題[25, 26]。

針對該問題,近些年興起的以MapReduce[27]為代表的大數據批處理計算、以Storm[28]及Spark Streaming[29]為代表的流式計算可以在一定程度上滿足具有前文所述需求特徵的交通大數據實時處理的需求,它們也被眾多研究者應用到交通大數據處理的研究工作中[30, 31]。然而這些計算模型和相應的系統由於抽象層次過高,缺乏對具有對交通大數據的有效抽象和直接支持,在編寫交通大數據處理應用時不能提供對具有上述特徵的交通大數據的有效刻畫和組織,也難以在多樣化的交通大數據處理應用間實現數據及處理功能的共享以優化應用的構造和執行,因此它們在應對具有前文所述特徵的交通大數據流式計算時尚存在諸多不足。另一方面,服務、面向服務的架構及「軟體即服務」作為一種面向複雜系統集成與協同的抽象模型、技術架構及雲計算環境下靈活、性價比較高的軟體交付模型,可以用來提高交通大數據計算應用開發的靈活性,一定程度上彌補上述不足。近年來,國內外很多研究機構和學者,結合交通大數據及其處理需求的特徵分析,從服務計算的角度對交通大數據處理的相關理論、技術展開研究,並取得了一些突破。

(1)面向交通大數據的「軟體即服務」

「軟體即服務」是經典服務計算在雲計算環境中的延伸。採用「軟體即服務」的服務提供方式,將對交通大數據進行處理和分析的功能進行管理、部署和運營的任務託管給雲基礎設施進行,並將相關的數據管理與分析功能作為雲數據服務交付給用戶使用。近幾年,出現了許多「軟體即服務」模式的交通大數據服務研究工作,主要包括存儲即服務、預處理及計算服務和分析服務三類。在存儲即服務方面,GoogleDrive的STACEE系統[32]採用P2P模型及C/S模型結合的方式提供交通數據的存儲服務; WhereStore[33]則將用戶任務調度到本地存儲副本附近來優化數據存儲和訪問性能。StreamLoader支持用戶通過Web方式進行流式數據的抽取轉換和載入預處理服務[34];CaaaS則提供一種對交通流式大數據進行持續查詢的雲服務[35];微軟亞洲研究院的鄭宇團隊採用「雲+端」的服務模式實現了一種基於浮動車數據進行快速車路線設計的方法[36]。在分析服務方面,法國國立電信學院的張大慶團隊提出移動預測即服務模型(mobility prediction as a service, MPaaS),支持大規模的移動位置預測[37];天津大學馮志勇團隊根據移動對象的軌跡數據發現計程車乘客熱點區域,並提供離線的預測及在線的載客地點推薦服務[38]。

(2)交通數據服務抽象

數據服務是服務計算領域封裝數據資源和構造數據集成類應用的一種有效抽象形式,其適於應用集成背景下多源、多樣化數據的抽象與共享。國內外有研究者在數據服務模型方面開展了不同程度的研究工作和實踐[39, 40],包括「數據服務」(Data Services)以及「數據密集型服務」(Data-intensive Services)的工作。而針對流式計算中涉及的流數據,其模型和數據服務模型類似,都將數據作為服務描述的「一級實體」。已有研究工作提出了流數據服務模型支持規模大、實時、持續不間斷的流數據訪問和查詢等。Stream Feeds工作建立了基於RESTful 服務模型的流數據服務,將來自感測器的流數據變為Web 上可直接訪問的資源[41]。Victor W. Chu等人還特別針對時空軌跡流數據,在傳統實體-關係模型的基礎上提出了一種能夠刻畫時空變化及它們與移動對象之間關係的數據模型,並基於此數據模型設計了交通流數據分析服務以捕捉交通流在不同情境下的變化[42]。北方工業大學韓燕波團隊提出一種流數據服務模型,支持基於車牌識別數據的流數據服務定義及實現方法,用於在社區中發現潛在的拼車夥伴等場景[43]。

(3)交通數據服務組合

交通數據服務的目標是面向不同類型應用的需求,在以服務方式提供對移動對象數據連續查詢、分析等的能力的基礎上,支持用戶通過組合大粒度服務及應用的編程和構造來實現交通大數據處理與分析的靈活定製。在近年來交通數據應用構造的研究中,基於服務組合的編程模型得到廣泛採用。其主要思想是將現實世界中的交通感知數據抽象為服務,並將其與交通環境及參與者的情景信息相關聯,從而實現靈活的智能服務,能夠感知現實交通情況並主動做出響應。與傳統的服務不同,原始採集的交通數據是基於計算能力有限的感測器設備提供的,其數量多、變化快,因此在其服務編程方法中,需儘可能減小服務執行和註冊的開銷,同時對根據情境信息動態發現服務並主動按需向用戶提供服務的能力具有更突出的要求。當前與此相關的研究主要針對流數據進行服務的發現、組合與編程,SOCRADES提出了一種流數據服務發現、選取及按需提供的方法[44]。Thing-REST提出了一種mashup基本結構來生成智能mashup應用[45]。當前該方面的研究還比較初步,未來應回答如何對傳統服務編程的方法加以改進,使其符合交通數據服務自身的特點並滿足相關應用特有的需求。

(4)交通數據服務執行優化

不同於傳統服務計算的應用領域,由於交通數據的海量性和處理需求的複雜性,對封裝交通數據的服務及應對不同處理需求的組合服務在實現層面提出了更高的性能要求,為此特別需要對交通數據服務(包括組合服務)的執行提供不同方面的優化手段。軌跡數據的查詢服務是一種重要的交通數據服務,特別是一些高級查詢操作,例如skyline查詢、K最近鄰查詢、相似軌跡查詢等。已有研究工作針對這些查詢服務採用劃分的方法將高速到達的大規模流數據進行有效劃分以分配到各個並行計算節點上,並利用各節點的並行來提高服務的性能[46]。此外,在組合服務執行方面,Chuan Lei等人將分散式流處理建模為可參數化的查詢服務優化問題(通過多維參數空間模型對流數據的不確定性進行表示,包括流數據速率、操作選擇度等),在此基礎上可通過服務化實現計算任務負載的動態分布[47];Silva等人通過提供一組服務介面允許用戶對流處理應用進行運行時調整,用戶可以通過編寫對註冊事件(如系統狀態、內置的系統指標、用戶定製的指標等的變化)的處置程序來實現動態執行優化能力[48]。

面向交通大數據的服務計算作為一個新興的交叉方向正隨著智能交通系統的發展而得到越來越多的關注,但其仍面臨著交通大數據環境下的數據服務識別、數據服務建模、數據服務組合以及數據服務執行優化等新問題和挑戰,需要結合交通大數據的特徵和應用需求開展深入研究,其中值得關注的研究內容包括:支持多尺度表達的數據服務模型,以實現對交通大數據自身在空間、時間、對象、使用者等方面的特徵以及交通大數據在分散式流式計算系統中空間分布(跨節點存儲情況)、共享情況、訪問負載等方面的特徵的刻畫;面向不確定性交通分析的互動式服務組合,通過支持反覆迭代的人機交互,以適應交通大數據分析時從數據中發現、抽象「未知」信息的過程,實現一種支持探索式構造的服務組合編程模型;基於數據服務的交通數據處理執行優化,從交通數據服務內(數據服務自身)和數據服務間(數據服務組合)兩個層次對基於數據服務的交通數據處理應用進行執行優化,以保證交通大數據處理的實時性。

2.3 面向醫學大數據的服務計算

隨著先進儀器裝備與信息技術等越來越廣泛和深入的整合到生物技術中來,生物醫學研究中越來越頻繁的涉及到大數據存儲和分析等信息技術。大數據時代下,生物醫學研究正面臨著一個重要的發展趨勢——有假設驅動向數據驅動的轉變。在這樣的趨勢下,生物醫學數據迅速積累(如圖1 GenBank SRA資料庫的數據量增長情況所示),並湧現出了大量的醫學數據共享服務資源(數據API)和醫學計算平台資源(平台服務)。

圖1. GenBank SRA資料庫的數據量增長情況

在大數據共享平台建設方面,以生命組學數據為核心的數據平台建設推動了數據共享服務發展,美國NCBI、歐洲EMBL-EBI、日本DDBJ等發展成為代表性的生命科學資料庫;在組學數據標準化方面,上述幾個數據共享平台分別制定了各類組學數據文件格式、序列表示和特徵描述標準,以支持數據的存儲、提交、解讀與檢索;在臨床數據標準描述方面,初步建立了臨床數據標準與信息結構標準,如國際疾病分類標準 (ICD-11)、醫學語言系統(UMLS)和臨床術語(SNOMED CT) 、電子病歷信息模型(HL7 RIM)等;在數據處理分析方面,DNANexus生物信息處理平台為數據管理及分析提供了解決方案,GenomeSpace平台整合了多種生物信息學軟體工具和資源;在數據融合集成應用方面,臨床數據與組學數據的結合分析已經在醫學診療中初見成效,Kaplan-Meier通過測序數據和臨床數據相結合篩選出了多種生物標誌物,腫瘤的雲數據存儲和分析平台OncologyCloud可找出對腫瘤治療有價值的數據。

「十二五」期間我國啟動了生物大數據開發與利用關鍵技術研究計劃,如組學大數據中心和知識庫建設、疾病大數據處理分析與應用和基於區域醫療與健康大數據處理分析與應用等,取得了一些成果。解放軍總醫院與協和醫院聯合承擔了國家臨床數據中心共享平台建設,成為國內最大的臨床共享數據資源庫;華大基因籌建了首個國家基因庫,並與阿里雲合作建立基因組數據分析雲計算平台BGI Online;葯明康德與華為攜手打造精準醫療雲平台;博奧生物開發了健康大數據標準和健康大數據知識庫,建立了多個應用於慢病預測、預警和診斷的計算模型。表1列舉出了近年來國內外進行了醫學大數據存儲、分析挖掘的相關平台和信息系統,以及它們的應用情況。

表1 近年來國內外醫學大數據相關平台和信息系統

縱觀現有的醫學大數據相關的研究來看,服務於新一代生物醫學研究的信息化技術,需要對極端高通量、多來源、異質性的數據進行高效準確的處理,如數據質量評價、新舊數據比較、數據多角度多層次的多元分析、異質性數據的深度融合等。這就要求相關的平台具有強大的存儲能力、計算能力、協同能力、無限拓展能力。另外,面向醫學大數據的服務計算還需要做到對於生物醫學數據的實時分析和臨床處理、醫學問題的挖掘和知識發現、生物個體數據的個性化分析、預測和安全保存、服務於公共衛生和公共安全(構造醫藥大數據生態系統,包含人體基因、人體微生物群落等數據,以及人體飲食、環境等元數據)。圖2展示了大數據驅動下面向生物醫學的服務計算的研究方向。

圖2 大數據驅動下面向生物醫學的服務計算的研究方向

綜上所述,目前,我國的醫學和生物數據共享服務在資源規模、種類多樣性和深度的數據分析處理方面仍存在較大差距,主要表現在:異構異質數據融合缺少統一的信息標準,各類生命科學數據分析技術工具尚待研發,臨床表型和生命組學數據及其複雜關聯語義的檢索和分析方法等難以滿足精準醫療需求,生命組學與臨床數據缺少一體化共享平台。

大數據只有轉變為服務才能充分顯示其價值。隨著大數據的發展與應用,大數據服務將成為未來最為重要的服務形態和使能技術,支撐面向用戶的大數據存儲、分析和應用,實現數據產業價值的放大和增值。以交通、醫學和生物數據為代表的大數據驅動的服務計算將呈現如下趨勢:

1)可持續性服務計算技術

隨著未來無論是底層大數據規模尺度還是上層業務應用複雜性方面不斷增加,需要研究並構建支持業務持續性發展的服務計算技術,促進業務層面的流程演化和持續性發展,進一步發揮大數據蘊含的價值。如面向不確定性交通分析的互動式服務組合,通過支持反覆迭代的人機交互,以適應交通大數據分析時從數據中發現、抽象「未知」信息的過程,實現一種支持探索式構造的服務組合編程模型;基於數據服務的交通數據處理執行優化,從交通數據服務內(數據服務自身)和數據服務間(數據服務組合)兩個層次對基於數據服務的交通數據處理應用進行執行優化,以保證交通大數據處理的實時性。

2)個性化、可定製的數據分析及應用服務

用於上層業務應用需求的不確定性和多樣性,大數據驅動的服務計算需進一步研究並支持多尺度表達的數據服務模型,以實現對大數據自身在空間、時間、對象、使用者等方面的特徵以及大數據在分散式流式計算系統中空間分布(跨節點存儲情況)、共享情況、訪問負載等方面的特徵的刻畫。

3)基於服務的資源集成與動態協同技術

針對服務平台的多樣性、數據規模的高速增長帶來的擴展性、服務集成的對象不同帶來的兼容性、以及上層複雜業務需要底層異構多源數據支持等問題,基於服務的資源池化和動態集成技術成為克服上述挑戰的關鍵。例如在醫療大數據方面進一步支持生命組學與臨床表型數據深度融合,建立綜合化數據共享服務平台,集成各類處理分析和數據挖掘工具,實現高效便捷的跨庫檢索與智能搜索,實現醫療機構與生物信息分析機構數據互聯互通。

3. 移動服務計算的研究進展與趨勢

近年來,移動通信技術得到了飛躍式發展,移動互聯網業務也隨之成為繼寬頻技術之後互聯網發展的又一個重大推動力量。國際知名信息技術戰略諮詢公司Gartner公布的 十大戰略技術中,移動計算技術高居首位。

雲計算與移動互聯網的結合使得人們通過智能手機等移動終端設備訪問各類雲端服務成為主流趨勢。而以iOS和Android系統為代表的智能手機平台上,各類移動應用和服務數量呈爆炸式增長。移動應用與服務數量的劇增給用戶的服務選擇帶來了巨大挑戰。如何針對用戶個性化需求,從門類繁多、屬性各異、數量巨大的服務海洋中選擇服務,並進一步實現服務組合以完成較為複雜的業務,成為當前服務計算領域的熱點問題。另一方面,隨著移動設備自身的計算能力和計算資源的提高,移動設備可以通過無線通信技術(WLAN、藍牙、紅外、近場通訊)以服務的方式發布、共享自身的計算能力、資源、應用、數據、外接設備和感測器等。移動設備提供服務的方式具有方便、快捷、不受地域和網路限制等優點,目前已在GPS共享、熱點共享、感測器數據應用、群體計算等方面得到廣泛應用。而移動邊際計算模式的出現,使得移動設備可以調用邊際設備(網路基站、Wi-Fi接入點、路由器等)上的服務,而無需通過網路與雲伺服器交互,實現高性能、低延遲與高帶寬的服務交互體驗。

移動服務是以移動通信技術為基礎,以移動設備為載體,通過移動網路互聯,向移動終端用戶交付內容並完成服務交互過程的應用模式,具備計算主體移動、計算資源受限、計算情景位置感知等特點。移動網路中的服務選擇和組合主要涉及「雲-管-端」,其中「雲」是指提供移動服務的雲端伺服器;「管」指用於完成服務信息傳輸的移動通信網路;「端」指任何可以接入並完成服務交互的移動智能終端設備。根據移動服務的不同組織與交互方式,將移動網路中的服務應用總結為如圖3所示的三種典型模式,即「雲-端」模式、「端-端」模式和混合模式[49]:1)「雲-端」模式:在該模式中,服務被部署在固定的雲端伺服器上,移動用戶通過手機等移動終端對服務進行調用。服務請求通過移動網路傳輸到雲端伺服器,雲端伺服器在收到用戶請求後進行相應的服務處理並將計算結果返回給終端用戶。移動邊際計算的出現使得服務調用所需的數據、數據處理和應用程序可以部署在網路邊際設備中,移動用戶可以直接與邊際伺服器交互進行服務調用。邊際伺服器收到用戶請求後直接執行服務並將結果返回給移動終端用戶,實現高性能、低延遲與高帶寬的服務交互體驗。2)「端-端」模式:隨著移動設備的計算、存儲、通訊等能力的大幅提升,用戶利用移動設備完成複雜和連續的任務成為可能。「端-端」模式就是移動用戶為協作完成特定任務,共享各自的應用服務、計算能力和存儲能力等。每個用戶既可以提供服務,也可以請求服務,用戶通過設備間直接的服務交互協作完成任務。3)混合模式:該模式將上述兩種應用模式結合在一起,移動用戶既可以調用雲端提供的服務,也可以調用局部範圍內其他移動用戶在移動設備上開放的服務。根據用戶的不同需求將兩種模式有機的結合起來能為用戶提供更加高效可靠的個性化服務。

圖3. 移動網路中的三種服務應用模式[49]

3.1 面向移動環境的服務選擇與組合

移動應用與服務數量的劇增給用戶的服務選擇帶來了巨大挑戰。如何針對用戶個性化需求,從門類繁多、屬性各異、數量巨大的服務海洋中選擇服務,並進一步實現服務組合以完成較為複雜的業務,一直以來都是服務計算領域的熱點問題。傳統的服務選擇的研究主要集中在QoS 感知的服務選擇、服務組合效率、語義Web服務等方面。 移動環境下,移動網路動態變化、用戶位置頻繁移動、移動設備能力受限等因素使得移動環境中的服務選擇的優化目標發生變化。移動網路的動態變化和用戶位置的頻繁變動大大降低了移動環境下服務交互的可靠性,而移動設備能力受限使得設備的能耗成為移動環境下服務選擇的又一重要指標。因此,移動環境下的服務選擇和與組合的研究主要集中在QoS驅動的服務選擇與組合、可靠性驅動的服務選擇與組合和能耗驅動的服務選擇與組合三個方面。

3.1.1 QoS驅動的服務選擇與組合

QoS一直以來都是服務選擇與組合的重要指標。隨著服務數量的不斷增多,用戶對QoS的關注程度日趨增高。移動環境下,網路的動態變化和用戶位置的頻繁變動對服務的響應時間等QoS屬性造成了極大的不確定性,這使得移動環境下QoS驅動的服務選擇與組合不同於傳統固網環境下的QoS驅動的服務選擇與組合,如何描述這些不確定性因素(特別是網路的不確定性)對QoS的影響、如何度量和分析不確定環境下的QoS、如何根據用戶體驗質量來選擇與組合服務均成為移動環境下服務計算的難點。

加州大學爾灣分校研究團隊提出了一種新的框架[50]將移動環境中的服務建模為位置-時間任務工作流,將其描述為NP-難問題,並提出了一種有效的啟發式演算法來解決此問題,該方法既能在用戶數量多時展現出良好的可擴展性,又可以保證用戶調用服務時可以得到較高的QoS。德國雷根斯堡大學研究團隊研究移動環境中服務組合中的服務環境對服務QoS的影響,引入狀態的概念描述服務選擇的環境信息,對服務的環境參數進行了定量描述,並據此對組合服務的QoS進行計算以獲取 QoS最優的服務組合[51] 。

在國內,華中科技大學研究團隊從移動用戶的角度對服務的體驗服務質量進行了建模描述,提出了一種基於眾包的QoS感知的移動雲服務框架對雲服務進行選擇和組合來滿足不同移動用戶的不同QoS需求[52]。他們採用眾包的方式對與服務進行智能、高效和可靠的選擇,並開發了原型系統對方法進行驗證。南京大學研究團隊針對「雲-端」模式提出了新的QoS模型[53],該模型綜合所有用戶的交互記錄,而不是僅針對某一個體得出。在該模型的基礎上,他們提出了兩個啟發式演算法對該問題進行求解。浙江大學研究團隊 針對用戶移動特性以及隨著用戶位置變化而變化的移動網路質量,建立了一個可計算的移動模型[54]。基於該移動模型,他們提出了移動感知的服務質量計算規則,將移動服務組合問題轉化為以移動感知服務質量為目標的優化問題, 基於「教」與「學」優化方法的服務組合選擇方法獲取近似最優的服務組合結果,以此提高移動環境下服務組合的QoS。

3.1.2 可靠性驅動的服務選擇與組合

傳統固網環境下的服務組合多部署在處理能力強、計算資源充足的伺服器上執行,而移動環境下的服務組合要在移動終端上執行。由於移動終端自身存在能力受限的缺陷,加之移動網路的動態變化,如何進行服務的選擇與組合以實現服務組合的優化部署和調度,保障移動服務組合的可靠執行,成為面向移動環境的服務選擇與組合的一個的重要研究問題。

悉尼大學研究團隊針對移動ad-hoc網路環境下的服務選擇設計了一種新的中間件[55]。該中間件在用戶端執行,通過設備之間的連接性收集用戶的環境信息,並根據這些信息對用戶的請求進行安全等級分類。當網路可用時,基於用戶請求的不同安全分類採用不同的服務選擇方法對服務進行選擇。弗吉尼亞理工學院研究團隊將移動環境中可靠性驅動的服務選擇問題描述為一個多目標優化問題[56],以最大化服務的可靠性為組合目標,提出了一種多維信賴演算法,該方法可以有效檢測有攻擊行為的惡意服務,並通過降低其信用有效地將這些惡意服務淘汰。 喬治亞理工大學研究團隊[57]研究移動設備計算卸載服務的選擇問題,設計了COSMOS系統,可以在提高移動設備的性能的同時降低服務提供者的開銷,除此之外,服務選擇過程中重點考慮了移動環境中動態網路連接和程序執行的不確定性。

在國內, 香港城市大學研究團隊提出了一種利用移動預測的服務組合方法[58]。該方法考慮了服務提供者的移動性並對其進行建模,旨在為移動用戶選擇最可靠的一套組合服務。北京郵電大學研究團隊在服務選擇時將服務載體的狀態和歷史數據考慮在內,提出了一種移動服務的狀態和穩定性驅動的服務選擇方法,採用優化的雲模型對服務載體的穩定性進行評價,並提出了一種最優移動服務的選擇演算法[59]。浙江大學研究團隊針對移動設備的計算能力受限、能耗敏感帶來的運行風險,提出了移動環境下服務交互的質量模型和能耗模型,並基於該模型設計了組合服務的服務選擇策略[60];在選擇過程中,針對服務調用失效點、交互失敗點,設計了容錯方案和恢復機制,該機制可以降低組合服務執行的風險,提升移動設備上的組合服務運行效率。 針對移動環境下服務對象與服務載體的頻繁移動,引發服務失效的運行風險,建立了移動服務調用的風險模型和計算方法,並優先確保運行風險最小的前提下,動態構造性能最佳的組合服務[61];並進一步提出了面向移動服務社區的服務提供框架與組合策略[62],從組合服務構造的角度顯著降低了潛在的運行風險。

3.1.3 能耗驅動的服務選擇與組合

移動環境中,服務的消費載體是移動設備,能耗是移動設備待機時長的決定因素,因此,能耗是移動環境中用戶關注的重要指標。在服務交互的過程中,移動終端的能耗來自數據通信會產生的能耗和設備待機產生的能耗,如何對這兩部分能耗進行建模運算,並據此對服務進行選擇以降低移動終端的能耗開銷成為移動環境中服務選擇與組合的重要問題。

墨爾本大學研究團隊提出了一種環境感知的服務選擇演算法為移動設備選擇卸載服務,其中考慮了環境因素對服務選擇的影響,提出了一種通用的計算模型對任務執行的能耗進行計算[63]。佩斯大學研究團隊為了減少移動設備的能耗浪費,提出了一種動態能耗感知的移動雲計算模型,基於雲片的模型動態地為移動設備選擇就近而高效的雲服務,以此減少通訊過程中額外的能耗開銷[64]。

國內方面,東南大學的研究團隊針對當前服務組合方法只考慮組合服務QoS的優化而不考慮組合服務的能耗優化提出了兩種服務能耗模型[65],並在基於工作流的服務組合環境下,提出了一種能耗感知的多路徑服務組合方法。浙江大學研究團隊發將服務的能耗分為服務交互過程中的輸入參數傳輸、輸出參數傳輸和設備待機所產生的能耗,分別給出了其簡化計算模型,其中綜合考慮了設備的移動速度、服務交互地點的網路信號強度、調用服務的參數大小、響應時間以及設備待機功率等參數。針對組合服務的不同結構,給出了組合服務的簡化能耗計算模型。並將遺傳演算法應用到節能驅動的服務選擇中,實現了一種節能驅動的服務選優方法[66]。

3.2 面向移動邊際計算的任務分載

隨著移動設備的快速化發展,越來越多的移動應用嘗試完成更加複雜的邏輯功能,諸如人工智慧、增強現實、大型遊戲等。然而,電池技術的停滯不前限制了移動設備的應用場景和能力,成為影響用戶體驗的重要因素[67]。針對這一問題,除了對電池技術本身的研究之外,軟體技術層面的研究也嘗試對移動設備能耗進行優化,如代碼優化[68]、漏洞檢測和消除[69]等。但是,這僅能在一定程度上緩解移動終端設備的能耗問題[70]。

計算分載為移動終端設備能耗問題提供了一個全新的解決方案。在計算分載中,移動設備通過把移動應用中的工作負載分載到雲端,利用雲端收集、存儲和處理數據,實現對雲端計算、存儲和網路資源的利用,減輕了移動設備本身的資源負擔,減少了移動設備的程序執行時間,提高了應用性能,並降低了移動設備能耗[71]。下面將介紹計算分載的國內外研究進展。

3.2.1 國外研究進展

杜克大學研究團隊[72]在2010年提出的MAUI是最早的計算分載實現模型。MAUI在微軟公司.NET公共語言運行時(.NET CLR)上實現代碼和計算的運行時分載,支持在應用運行時細粒度地決定將哪些代碼分載至雲端執行。MAUI設計了一個簡單的開發框架,開發人員在該框架下將那些可以分載到雲端運行的方法標註為「Remoteable」。在應用運行時,通過自省技術對標註為「Remoteable」的方法進行辨識,當某個「Remoteable」方法被調用並且有可用的雲資源時,MAUI的決策引擎通過分析分載的成本與收益、評估帶寬和延遲等,決定是否要分載該「Remoteable」方法到雲端執行。MAUI移動設備端主要包括三個組件:客戶端代理,負責傳輸待分載方法的狀態信息;分析器,負責分析分載的成本和收益;決策引擎,為了降低能耗,它實際運行在MAUI伺服器上。MAUI伺服器主要包括四個組件:服務端代理和分析器,與移動設備上相應的組件功能一致;決策引擎,定期對方法是否需要分載進行決策;MAUI控制器,用於對方法分載請求進行身份驗證和資源分配。

由於MAUI對代碼可分載性的判斷依賴於開發人員手工進行,一方面為開發人員帶來了額外負擔,另一方面開發人員可能錯誤地將不可分載的代碼指定為可分載,為了解決這些問題,英特爾伯克利實驗室提出CloneCloud[73]計算分載模型。CloneCloud通過使用靜態代碼分析和動態環境分析相結合的方法,對應用代碼進行劃分。CloneCloud先在雲端為移動設備創建克隆的虛擬機實例,在應用運行過程中,如果遇到一個分載節點,那麼正在運行的線程會被暫時掛起,它的相關狀態信息被發送到雲端的克隆虛擬機中,由雲端繼續運行該線程。本地應用的其他線程不會受到影響,但如果它們試圖訪問分載到雲端的線程的相關狀態信息,就會進入暫時掛起狀態。當分載到雲端的線程執行完畢時,相關的狀態信息被發送回本地,合併到本地被掛起的線程中去,本地被掛起的線程被喚醒並繼續執行。

喬治亞理工學院研究團隊提出的COSMOS是以風險控制方式進行分載決策[74]。在COSMOS中,移動設備的擴展資源來自傳統的遠端雲,執行流程與以往的分載方案類似。COSMOS可以有效地分配分載請求,以解決雲資源爭用問題;以風險控制的方式進行分載決策,以解決由可變網路連接和程序執行所引起的不確定性問題。雲資源通常以虛擬機實例的形式提供,為了使用虛擬機實例,用戶需要在虛擬機上安裝操作系統並啟動它,這兩者都會導致延遲。用戶可以基於一個時間量租賃虛擬機實例,一個雲提供商通常會提供具有不同屬性和價格的各種類型的虛擬機實例。

卡耐基梅隆大學研究團隊[75]在2009年提出利用Cloudlet擴展移動設備的能力,Cloudlet是在移動用戶附近的、可信的、資源豐富的計算機集群。Cloudlet是廣泛分布的互聯網基礎設施,一個Cloudlet可以被視為一個雲端。Cloudlet能夠實現自我管理,功率小,能夠連接到Internet,能夠進行訪問控制設置,與移動設備之間僅有一跳的距離。這種資源管理模式使Cloudlet可以很方便地被部署在諸如咖啡店、圖書館、商場、醫院等場所。為了保證部署的安全性,可以通過第三方遠程監控把Cloudlet封裝在一個防篡改或防拆封的機櫃中。在利用Cloudlet時,移動設備充當瘦客戶端,所有重要且複雜的計算都分載到附近的Cloudlet中。如果移動設備附近沒有可用的Cloudlet,則移動設備可以使用傳統的遠端雲或者僅使用移動設備本身的資源。

另外,德國電信實驗室研究團隊[76]提出的ThinkAir在雲端提供完整的安卓虛擬機環境,以執行從移動設備分載而來的計算任務。密歇根大學研究團隊[77]提出的COMET允許線程根據工作負載在機器之間進行分載,同時實現分散式內存模型,從而提高應用程序的執行速度。里昂大學研究團隊[78]提出一組臨近的移動設備可以通過自組織協作的方式進行任務分載,移動設備之間可以通過中間件進行交互。

3.2.2 國內研究進展

CloneCloud支持自動地對代碼進行劃分並在運行時完成方法粒度的計算分載,這一技術需要修改應用運行底層的虛擬機,將計算線程掛起,獲取狀態信息,在運行時恢複合並。CloneCloud由於對底層機制進行了修改,從而限制了其適用場景,降低了用戶接受度,同時帶來了一些安全性問題和可維護性問題[79]。為了解決這些問題,北京大學研究團隊[80]提出基於應用自動化重構工具DPartner實現計算分載。安卓應用本質上是由許多類組成的Java程序,一項計算任務被實現為類中的某個方法,可以被本類或其他類中的方法調用,因此安卓應用計算任務分載可以實現為包含該計算任務的某個類的遠程部署和調用。該工作首先提出一種支持安卓應用計算任務按需遠程執行的程序結構,它主要包含兩個核心元素:NProxy和Endpoint。它將調用者X和被調用者N之間的直接內存調用以及通過遠程通信服務的遠程調用都轉換成了經由NProxy和Endpoint進行的間接調用。NProxy本身不執行任何實際的計算操作,只負責將方法調用轉發到N執行。Endpoint負責獲取N當前的位置並提供N的引用供X使用。然後,利用Dpartner自動地對安卓應用進行重構以符合程序結構。最後,對安卓應用中的類進行分類、聚類和封裝,生成兩部分製品,一部分是轉換後留在本地運行的應用,另一部分是轉換後的Movable類組成的集合,部署到雲端以供遠程調用。

為了解決雲端和終端運行環境的異構問題,南京大學研究團隊提出CoseDroid框架[81],採用比以往更激進的方式實現計算分載:讓計算分載發生在臨近的移動終端之間。由於不同終端可能存在完全相同或部分相同的運行環境,因此可分載部分顯得更為寬鬆。在CoseDroid框架下,一個計算過程是否可被分載需要滿足兩點:代碼在執行過程中無須在兩個設備之間進行消息傳遞;方法在本地和遠程設備上執行結果狀態保持一致。CoseDroid通過Soot工具靜態分析代碼並尋找滿足這兩個條件的方法,通過代碼插樁將這部分代碼和序列化的對象狀態從當前設備發送到另一個終端設備以實現計算分載。

計算分載通過將複雜計算分載到雲端伺服器,能夠有效減小移動終端的計算負荷,而且基本不會帶來附加的時延,因此可以有效節省移動終端的能耗。計算分載為移動終端節能提供了更好的解決方案,也帶來了新的挑戰:(1)分載點的異構性:多個用戶的計算分載可能導致負載均衡和調度問題,需要考慮多個分載點的不同特徵。(2)最優劃分:為了提高遠程執行效率,僅僅分載被請求的數據,應當最小化冗餘數據傳輸。(3)時延:按需進行資源分配,但是由於虛擬機的啟動、重新恢復和同步等操作會導致額外的時延。(4)複雜性:為了增強計算分載的性能,分析、分割等處理過程可能變得更複雜而難以實現,從而導致額外開銷。

3.3移動互聯網環境下的Web服務交互體驗優化

目前,通過對RESTful Web API的復用和組裝來開發Web應用已經成為互聯網軟體主流開發方式之一。特別地, HTML5、CSS和JavaScript等Web應用前端開發技術的發展,基於服務的Web應用已經能夠為用戶提供更加豐富的功能和體驗。近年來,隨著移動終端成為用戶接入互聯網的主要設備,移動Web應用得到了廣泛關注,不僅可以通過瀏覽器直接訪問,很多原生應用(Native App)也嵌入瀏覽器提供內容服務。但是,由於終端設備的軟硬體資源能力存在很大的異構性(例如市面上在售的Android設備超過2萬種),以及用戶所處的網路環境高度動態可變等,移動用戶在進行Web瀏覽時,經常會遇到載入時間過長、無法打開頁面和非預期流量和電量消耗問題。

由於開發者很難預知Web應用的客戶端運行環境並保障所有用戶總能夠享受到一致和良好的交互體驗,在移動終端瀏覽器上優化Web應用的交互體驗就成為一個自然的解決途徑,成為近年來網路系統和移動計算領域的研究熱點問題之一。近年來,包括斯坦福大學、密歇根大學、伊利諾伊香檳分校、華盛頓大學在內的多個知名學術團隊在頂級學術期刊TMC、TWEB等和會議SOSP、OSDI、NSDI、MobiCom、MobiSys、WWW、ICWS等均有相關工作發表。總體而言,從萬維網應用體系結構來看,現有工作從客戶端、雲端/伺服器端和邊緣端三個方面來嘗試解決移動互聯網環境下Web服務體驗優化問題。

3.3.1 客戶端

Web瀏覽器是Web服務的主要客戶端運行環境瀏覽器,負責提供網路連接的建立管理、服務調用請求的解析、終端用戶界面的渲染生成等。但是,現在的主流的瀏覽器,如Chrome,FireFox等,結構極其複雜,運行時涉及到多類操作系統級的資源調度,如何精確地度量瀏覽器上服務交互體驗、定位到性能瓶頸並開展優化是公認極具挑戰性的技術難題[82]。

萊斯大學研究團隊發表在WWW』12的工作[83],在Webkit的基礎上實現了支持推測式載入機制的瀏覽器——Tempo。對於各個網站,Tempo構造維護一個資源關係圖,每個頁面是其中一個節點。使用這種結構的原因是由於在同一個網站里,多個網頁會共享相同的資源。當用戶再次訪問相同的頁面時,Tempo可以直接預取圖中的子資源;如果訪問新頁面,則會查找對應的子資源。同時,通過定時更新機制,在一個頁面打開之後會更新一些子節點,同時也會去除一些很久不用的資源。通過模擬實驗,發現Tempo對速度的提升達到了理論上限的70%左右。

威廉瑪麗大學研究團隊發表於UbiComp』13的文章[84]設計了一個Android系統服務——CacheKeeper。通過對1000個安卓應用的網路數據分析,該工作總結了頁面內緩存的實現問題和頁面間資源的冗餘傳輸。是CacheKeeper的架構,在系統內核層設置專門的緩存管理模塊來處理HTTP請求。實驗數據表明,CacheKeeper能夠減少42%的網路流量,在3G環境下提速2倍。

北京大學研究團隊通過數百萬行瀏覽器內核源代碼分析、大量網路度量和用戶實驗,深入剖析了移動Web瀏覽的工作機理,在WWW『15[85]的工作中提出了一種跨層(Cross-Layer)的RESTful服務調用性能剖面模型,設計了基於主動傳播路徑的細粒度資源計量(Accounting)方法,精確地度量了瀏覽器上端到端(End-to-End)的交互體驗;基於該模型,發表在TMC上工作[86]揭示了目前主流WebKit瀏覽器內核上RESTful服務調用機制中影響交互體驗的多個設計缺陷(如緩存設置時間失配導致冗餘數據傳輸、JavaScript的動態數據獲取導致同一內容的重複請求等),並在WebKit源代碼中精確定位到相關實現。在此基礎上,借鑒原生應用(Native App)的資源管理與更新特點,該團隊在TMC上的工作提出了新的Web編程模型和部署框架ReWAP[87],實現了終端設備計算能力驅動的預測式服務數據打包推送方法,在細粒度上準確預測Web網頁的數據更新並進行優先順序排序,將冗餘數據流量減少51%。

3.3.2 雲端/伺服器端

移動設備通過狀態機模型來維持通信信號:在設備沒有網路行為時,處於idle狀態,功率很低;在網路傳輸時,功率會急劇升高到某個比較穩定的值;如果超過了某個特定的閾值,又會進入另一個狀態,功率會繼續升高。針對當前Web頁面資源的複雜性,芬蘭阿爾託大學研究團隊發表於Computer Networks的工作[88]提出通過代理預取所需資源,然後打包發送到移動設備上,進而加速頁面載入,節省電量。該系統包括兩個機制:1)對請求和響應的壓縮,壓縮請求的重要原因是希望不會超過閾值,從而讓移動設備穩定在一個較低的功耗狀態;2)打包,將所有返回的資源放在一起返回給瀏覽器,這樣移動設備就不用多次請求,也就可以在更多的時間停留在低功耗狀態。同時,在發出和接受請求這段時間裡,移動設備也是處於低功耗的。EEP系統包含本地和伺服器的兩個代理,移動端和伺服器代理端用來解析HTML和JavaScript的瀏覽器則是用Qt實現。瀏覽器與本地代理通過HTTP連接,本地代理和伺服器代理用自定義的協議連接(實現了打包和壓縮)和傳輸,伺服器代理和原伺服器採用標準HTTP協議通信。通過在不同的RTT條件下對比普通的預期機制和EEP系統,發現EEP系統可以節省電量和載入時間,並且RTT越大節省越多。

加州大學河濱分校研究團隊發表於MobiCom』15的工作[89]研究了Web架構中的內容壓縮代理對移動Web瀏覽體驗的影響。內容壓縮代理通過對文本內容的壓縮和圖片壓縮,以減少Web資源的網路傳輸量,從而提高頁面載入速度。目前的許多瀏覽器(如Android Chrome)都具備這樣的功能。但是,現有的內容壓縮代理是一種「all or nothing」的策略,即要麼所有請求都通過代理,要麼都不通過代理。文章通過一組測量實驗,發現網路情況良好的時候通過內容壓縮代理獲取Web資源實際上對瀏覽體驗是有損害的:由於路由跳數的增加和代理伺服器的處理開銷導致頁面載入時間變長。根據這一發現,論文提出了一種網路感知(Network aware)的內容壓縮代理技術FlexiWeb。網路感知具體體現在兩個方面:一是根據網路情況來選擇某個資源請求是否通過代理伺服器,二是權衡網路傳輸開銷和用戶體驗損耗來選擇最優的圖片壓縮率。論文修改了Android Chrome瀏覽器進行了初步實現,修改了Chrome提供的Mod_Speed Apache模塊實現了內容壓縮代理,通過抓取Alexa Top 500的網頁作為測試數據集。實驗結果表明,FlexiWeb能夠減少35%-42%的頁面載入時間。

除了學術界的研究工作,為了提升移動Web的瀏覽體驗,一些商業移動瀏覽器通過在伺服器端對網頁進行預處理,從而優化Web資源的調度。

Opera Mini是一款為移動設備開發的瀏覽器[90]。用戶使用Opera Mini瀏覽網頁時,Opera公司的伺服器首先對所訪問的網頁進行壓縮和優化,縮小文件大小,以便於傳遞,使之適合於手機瀏覽,再於手機上顯示,傳輸中信息使用SSL協議進行加密。可以看到,用戶手機發送請求,通過移動通信網路網關轉到Opera的代理伺服器,然後Opera代理伺服器將轉發請求到原網站的伺服器。伺服器正常響應後,Opera代理伺服器解析標記和樣式表,執行 JavaScript,然後把數據轉碼成Opera Binary Markup Language(OBML),再返回給客戶端。OBML數據在用戶的設備上通過Opera Mini逐步載入。OBML 對用戶和載體非常有好處,它能夠節省90%的數據傳輸。

Google為Android開發的Chrome Beta瀏覽器[91]中加入了伺服器端數據壓縮代理機制(Data Compression Proxy,DCP)。當用戶使用Chrome Beta瀏覽頁面時,瀏覽器會與運行在Google數據中心的代理伺服器建立連接,將所有的非加密HTTP請求都通過這個連接發送,因而DCP可以獲取對傳輸的數據進行優化,主要包括圖片轉碼(轉化為WebP格式比JPG和PNG格式的圖片小很多從而節省流量)、內容感知的壓縮(將HTML、CSS和JavaScript資源中與頁面渲染無關的的空格和注釋刪除)等。

3.3.3 邊緣端

雲計算已經成為以互聯網為主幹,移動互聯網、物聯網等深度融合形成的複雜網路環境下的最為主要的計算模式。作為雲計算的重要延伸和拓展--邊緣計算,近年來得到了學術界和工業界的廣泛關注。基於邊緣計算模式的移動Web服務交互體驗優化也取得了一些進展。微軟研究團隊發表於ASPLOS』11的工作[92],研究了在移動操作系統上支持Cloudlet的可能性,提出了Pocket Cloudlet架構。通過移動設備訪問雲服務的延遲很大,並且受到電池電量的限制。移動設備的非易失性存儲(NVM)的增長非常迅速,可以用來解決雲服務訪問的問題。這篇文章提出了通過NVM來搭建Cloudlet,展示Pocket Cloudlet架構。在底層,每個雲服務都有一個專門的存儲空間,將服務的訪問結果存儲在其中,由於數據量巨大,而且在斷電後應該保留在設備上,所以可存儲在NAND快閃記憶體中。同時,每個雲服務還需要在快速存儲介質(如DRAM)中存儲一個索引,該索引可以支持快速查找數據結果。該團隊後續發表於ASPLOS』12的文章[93]中,作者研究了如何將Pocket Cloudlet應用到移動Web瀏覽,提出了PocketWeb系統。Web訪問的動態性增加了緩存的難度,於是這篇文章主要研究用戶訪問Web的行為,進而提出了一個預測模型來預測合理的預取時間。通過對8000個用戶Web訪問歷史數據的分析,文章發現Web訪問呈現出一種與用戶相關的時空特性。進而提出使用機器學習的方法來建立基於用戶的預測模型。實驗結果表明,該模型對於80%-90%的用戶能在其訪問2分鐘前抓取60%的資源。

加州大學河濱分校研究團隊發表於NSDI』15的文章[94]提出了根據用戶偏好來優先載入資源的系統KLOSKI,作為移動Web加速的雲服務而存在,不需要對客戶端做任何改動。KLOSKI後端利用測量終端離線地獲取頁面依賴關係和動態信息。對於每一個獲取的頁面,測量終端記錄資源獲取的依賴關係、資源大小、載入順序和資源在顯示界面上的位置;進而通過匯總同樣頁面的不同測量數據(不同設備的長時間記錄)來生成一個指紋記錄。指紋記錄是一個有向無環圖,記錄資源之間的關係信息。KLOSKI前端作為一個代理存在,它會將用戶可能優先需要的資源優先返回。它採用現有的HTTP協議與原伺服器進行通信,採用SPDY協議與客戶端通信。當前端收到頁面請求時,KLOSKI會根據指紋記錄計算出需要優先載入的資源並通過SPDY的推送機制返回。實驗結果表明KLOSKI能夠將2秒內使用的資源率從25%提高到約60%。

採用類似的邊緣計算思想,北京大學研究團隊引入基於個人雲的中間層(MiddleBox),分別從計算和數據兩個角度進行Web服務調用優化。發表在TOIT上工作,針對計算密集型Web任務優化設計實現了i-Jacob系統[95],通過動態程序切片和雲端分載(Offloading)執行的方式提高頁面計算和渲染速度,可將單元計算速度最高提高近50倍,電量平均節省約40%。發表在TMC上的工作,針對數據密集型Web應用優化設計實現了SWAROVsky系統[96],通過用戶瀏覽行為學習、頁面預取壓縮、同服務域數據多路鏈接復用等技術,減少數據冗餘傳輸,可將載入時間平均提升57%,數據流量傳輸減少58%。

工業界也出現了基於類似思想的產品。Amazon Silk是Amazon Kindle Fire電子書閱讀器上的瀏覽器。與傳統瀏覽器不同,Silk的各個子系統——包括網路處理、HTML、CSS、呈現等——的執行在平板和雲之間分離開來,瀏覽器動態判斷哪些在AWS上執行,哪些在本地執行。AWS被看做無限大的緩存,用來存儲用戶將會使用Silk載入的頁面圖像、JavaScript和CSS文件。AWS服務把頁面傳回Silk之前,會準備頁面的內容。以圖像為例,AWS會根據將要展示的屏幕大小,自動縮減圖片尺寸,因此文件變小,傳送和載入更快。瀏覽器保持與Amazon伺服器的單一打開連接,隨時準備請求更多內容。

4 物聯網中的服務計算研究進展與趨勢

網際網路從PC終端互聯網發展到了移動互聯網,目前已經開始逐步地發展和拓展到物聯網領域。根據IDC預測,2020年全球物聯網設備數將達到281億,全球物聯網市場總量將達7.1萬億美元;Garter預測2020年物聯網設備數將達260億,全球經濟價值將達1.9萬億;Machina Research 則預測2020年全球M2M(machine to machine)連接數將達250億,全球產業機會將達1.2萬億美元。物聯網不僅僅是一堆連接上互聯網的物理設備,隨著物聯網技術的不斷發展與成熟,各種物聯網應用不斷湧現,以滿足不同的特定需求,「物聯網即服務」正成為共識。當物聯網成為一種服務,消費者就不會再擔心各種零部件和技術問題,而商家對其產品和服務的定位也會更加明確。

4.1 面向服務的物聯網架構特點

4.1.1 面向服務的可迭代架構

服務化是產生商業價值的必由之路,對於物聯網。物聯網架構應該指導使用者如何組織具有實際服務能力的物聯網體系、並具有根據實際反饋進行迭代和演進的能力。這一方面最重要的兩個特徵如下:

(a)開放性。開放性指物聯網架構與其他技術體系的兼容程度。具有高開放性的架構能夠允許其他信息技術與物聯網技術結合形成新的服務。新的服務將會具備綜合性高、功能性強以及演化可能性多等特點。比如架構中提供人工智慧的接入解決方案,則可能形成智能化的獨特服務,產生新的價值點。並且這一價值點還會隨著技術演進而獲得進一步升值。

(b)場景化。物聯網架構本身不應受制於場景,但必須允許場景化的實際應用實現。或者說,物聯網架構本身一旦被實現,就應該是天然具有產品化、服務化傾向的實體系統,而不僅僅簡單只是技術範疇內的產物。比如架構中如果提供業務流程的整合方案,儘管可能不同業務將表現出不同的屬性和特徵,但這已經說明該系統將具備支撐某方面業務的屬性,甚至可以提前評估優劣,最終對物聯網服務化提供推動作用。

4.1.2架構層次化與模塊化

架構層次化指通過不同視角描述系統體系。每個視角將獲得物聯網系統的一個完整的層的描述。實際上,一個視角就是一個具體的業務切入方向,尤其對於物聯網體系而言,其組織結構龐大複雜,從單一視角入手是實際落地的良好選擇。比如,從網路結構的視角出發,可以獲得物聯網網路組織層的描述,這一描述可能包括了其組網方式、網路拓撲、網路規模、動態演化、SDN等等相關方向,擅長這些方向的使用者可以從這個層出發建立屬於自己的商業物聯網模型。

架構模塊化則使得使用者可按需組裝實際系統。每一層實際上由多個模塊組成。一般而言,好的架構模塊具有獨立性、完備性和冗餘性。獨立性指模塊間不存在交集,相互之間單獨運行、互不干擾;完備性指每一層一定被劃分成足夠完整形成該層的所有模塊;冗餘性則指該層有些模塊可能可以相互取代,或者暫時去除而不影響層的功能,或者說不影響使用者需要保障的某部分能力。

對物聯網架構而言,每層的下屬模塊通常具備高獨立性和完備性,而冗餘性較低。這是由於物聯網作為網路組織,基本結構和範式已經確定,因此每層下的模塊行為較為確定。但這並不代表物聯網架構變化程度單一:其模塊內部實際上可以使用多種具體不同的解決方案實現。比如,考慮一個協議層的視角,可能會存在一個獨立模塊稱為通信協議。通信協議本身是不可取代的,但其實現方式可能多種多樣:有線或無線、局域或廣域、低功耗或高帶寬等。

4.2 輕服務

一般來說,作為基礎平台,物聯網系統只需設備和組件就足夠完備了。但儘管如此,真正價值化的物聯網必定需要安裝應用程序,以提供各類有價值的服務。考慮到應用的可重用性和可維護性,構建所謂的「輕型服務」的小型一般應用是必要的。它們的目的不在於直接實現業務價值,而是通過完成某些簡單的任務來形成構建應用程序的基石。確切的說,物聯網輕服務是基於物聯網網路的、最多只有一個邏輯判斷和開放介面、並執行通用應用中常見的一種功能或者在操作系統中重複使用的服務

4.2.1檢測和執行輕服務

這類服務允許應用直接訪問物聯網設備並利用其能力。一般來說,它們是物聯網的基本服務,與硬體緊密相關。

檢測服務實現了物聯網感知世界及其本身或其他設備和網路的方式。它們包括感測器驅動服務、終端監控服務和物聯網自檢服務。感測器驅動服務喚醒終端的特定感測器,並以標準形式獲取感測數據。終端監控服務讀取某一終端設備的實時描述,主要涉及其功率、基本功能和工作狀態。 物聯網自檢服務報告物聯網的狀態,包括設備規模、網路負載、雲伺服器狀態、通信協議、可用介面等。

執行服務控制執行器和虛擬執行資源,包括執行器驅動服務、終端刷新服務和虛擬執行服務。執行器驅動服務控制特定的執行器,以實現對世界的真正影響。終端刷新服務允許終端重置或刷新其結構或存儲器。虛擬執行服務命令物聯網的虛擬執行器部分,例如一組用戶自定義的攝像頭組合的聯合驅動服務。

4.2.2控制輕服務

這些服務提供了控制終端和邏輯網路的方法。根據許可權等級,控制服務可以劃分為系統服務、應用服務和用戶服務。

系統服務面向操作系統或物聯網管理員進行物聯網管理,如設備管理服務、資源管理服務、安全服務等。應用服務為應用程序提供相對低許可權的功能,如設備調用服務、資源請求服務等。用戶服務是許可權最低的,它們相關的具體功能主要通過應用程序的定製服務或物聯網的一些互動服務來實現。

4.2.3通信輕服務

基於協議中設置的通信規則,通信服務允許用戶、設備、操作系統和其他應用程序進行通信,而不必關心具體的技術問題。

在物聯網中,通信服務主要起讀寫服務、資料庫和文件服務、應用通信服務(ACS)和數據分析服務的作用。 讀寫服務是最基本的I / O服務,而資料庫和文件服務則提供高級的資料庫和文件操作方式。 ACS在實時和離線模式之間的通用應用程序(用戶,設備,操作系統,其他應用程序等)間傳輸消息。數據分析服務實際上是通過與物聯網連接或涉及OS的開放API與能提供決策分析服務的人工智慧系統通信的特殊ACS。

4.3 物聯網網路結構、支撐環境與交付模式

物聯網組網的核心目標是為用戶提供功能更強大的網路實體。這一網路實體的能力不僅僅基於網路各層面的能力提升,更需要對傳統網路拓撲結構的顛覆。這需要先進的服務計算技術形成可靠的支撐環境,最終構造先進的服務交付模式。下文將討論兩類網路結構對應的物聯網特性,以及其支撐技術和服務交付模式。

(1)中心化網路

早ne期網際網路組網目標僅僅在於提供節點間信息互聯的通道,與此不同的是,物聯網組網要求網路具有自身的管理和計算能力。一種解決方案是提供中心化的層次網路結構,並在各層中心實現網路管理和計算。

雲計算技術在一定程度上滿足了這種類型物聯網對計算中心的絕大部分需求。主要包括三個方面。其一,物聯網終端設備較弱,需要網路中存在高性能的中央節點用於處理終端所不能實現的服務需求。雲計算技術可使網路具備這類遠程處理能力。其二,物聯網終端節點可能隨時連斷,這導致其服務請求所需的計算能力變化不定。雲計算依靠虛擬技術可以根據任務水平彈性分配計算資源,對物聯網的伸縮性提供最大程度的支持。其三,物聯網終端的數據採集量非常龐大,對計算能力提出了非常高的要求。雲計算技術在這一方面同樣具有相當的優勢:一方面它能整合許多計算資源滿足海量數據處理過程,另一方面它儘可能地將計算任務按數據存儲位置分配給各個計算節點(比如Map-reduce體系),避免了因傳輸大量基本數據的導致的網路帶寬擁堵和存儲資源浪費。這些特性使得雲計算技術成為未來物聯網發展的核心支撐技術之一。

值得注意的是,中心化網路的弱點在於網路整體對中心依賴過強。一旦網路中心被破壞或者聯繫中斷,整個網路就會趨於癱瘓。彌補這一缺陷的方式是弱化中心能力或者建立層次結構型的中心網路。弱化中心能力即相當於將部分計算任務儘可能地推到網路邊緣,即其終端節點上實現。這一處理方式稱為邊緣計算。層次結構型的中心化網路即指在區域網上搭載強大處理功能的網關或專門的計算節點,完成小範圍內的計算處理工作。這一技術也被稱為霧計算技術。

中心化網路結構的物聯網所實現的服務交付模式類似於傳統的客戶端/伺服器模式(也可以是B/S模式或者S/M模式)。用戶所需要的服務通過端設備提交向網路中心,在中心整合數據處理後再反饋回來服務結果。這一模式能夠利用網路中心的強大功能和海量數據支持為用戶提供超乎想像的服務。並且,不同的服務與服務之間的耦合可以通過中心變得更為緊密乃至產生增值效應。這一架構的物聯網適合於發展各類智能物聯網路。目前大多數物聯網平台均為此類型架構,比如Thunder IoT of SalesForce, Predix IoT of GE, Watson IoT of IBM and Azure IoT Suite of MS等等。

(b)去中心化網路

另一種物聯網網路結構是去中心化網路。注意這種網路結構依然需要滿足物聯網網路所需要的自治功能,而非如基礎網際網路一般僅能承載通信。

實現這類網路的一類技術是區塊鏈技術。區塊鏈技術使單個對象維護所有對象的所有行為信息的資料庫,從而保證網路信息的公平有效。這一技術實際上沒有提升物聯網的計算能力,但極大地增加了物聯網自我管理的能力。主要包括三個方面。其一,物聯網的可分割性。無中心化後,網路的任一部分可以自由地切割組合而不會損傷其他部分的性能。其二,物聯網的安全性。區塊鏈中的每個區塊都是物聯網「歷史」的證明,而這些區塊被存儲在每個終端對象中(也可能是區域網絡中),足夠多數量的對象可以極大地降低真實「歷史」被篡改的可能。其三,物聯網的可靠性。假定物聯網因為意外而遭到物理破壞或者網路中斷。此時承載區塊鏈的那些對象實際上才是物聯網的管理節點,只要這些節點有一個倖存,整個物聯網就可以持續有效地運行,或者至少可以及時給出危險反饋。

去中心化網路結構的物聯網的服務交付模式即類似於對等網路的交付模式。用戶提起的請求不會由某個中心伺服器處理,而是可能會直接交付給附近的其他終端乃至自身。更為特別的是,這些服務信息可能會被所有承載區塊鏈的對象所記錄。從這個意義上說,物聯網本身將不能提供超出單個或者少部分終端處理能力的服務,但是可以保證服務的安全可靠。這一類型網路結構的物聯網非常適用於小範圍、低計算能力要求、高安全性要求的網路。比如一輛各部件物聯的車內物聯網,或是一個小型的金融交易系統。當然,這種類型網路也可以通過只處理需要加密和認證的少量數據而搭載在中心化網路結構中,促使二者實現良好的互補。目前採用這一結構的實際物聯網平台有ADEPT of IBM & Samsung, AllJoyn open source project, IoT of Filament, ePlug IoT of Ken Code等等。

4.4 物聯網數據結構和智能

物聯網產生大量數據。處理和利用這樣龐大的數據成為一個很大的挑戰。妥善準備的物聯網數據架構有助於解決問題。從數據生命周期的角度來看,架構必須覆蓋以下幾個方面。

4.4.1數據標準化

最初,不同格式的數據來自物聯網中的不同設備和源。在使用它們之前,物聯網需要通過歸一化來識別它們。歸一化意味著每個物聯網層只有一種特定格式的數據。例如,考慮到組件層,如果一個終端通過TCP / IP協議通信,其他終端應該遵循相同的規則,否則實際上它們在組件層中已經斷開連接。如果不同格式存在於物聯網的某一層中,則必須應用能夠規範化數據格式的中間件或其他類似技術的解決方案。數據的統一格式也是構建靈活物聯網的基礎。

數據的預處理對於物聯網也很重要。物聯網的感測器或終端可以從環境或用戶處收集微不足道或甚至錯誤的信息。這些消息將佔用物聯網的大量資源。從根本上處理數據的解決方案是必要的。濾波器或其他簡單規則可以應用於物聯網的終端,而更複雜的演算法可以添加到具有更強大處理器的計算中心。當物聯網的某一部分接收到所有數據時,應立即進行預處理。

4.4.2儲存與管理

物聯網中的數據量可能會達到非常誇張的程度,例如PB或甚至EB。建議的解決方案是將它們分為兩部分,使用不同的管理方法:暫時需要的數據(TRD)和永久需要的數據(PRD)。它們的屬性是不同的。

首先,面向的人群不同。物聯網客戶可能需要TRD,而物聯網服務提供商則需要PRD。第二,PRD沒有時間限制,但TRD需要立即處理。第三,TRD可以在一段時間之後刷新,而PRD需要長期穩定的存儲環境。第四,PRD來自TRD。

以手機打車為例。這一網路中的 TRD可能包括汽車的位置、乘客路線和每次行程的價格。對於乘客和司機,這些數據是透明的。他們發生互動但這些數據僅僅暫時有效。某旅程的信息可能會在每一個可能的時間由乘客修改,但在旅途結束後,旅行的具體屬性將變得無用。PRD可能包括用戶的信息、所有行程的記錄和所有行業的歷史現金流。他們實際上是TRD的一些結論(某種聚類)。物聯網服務提供商可能需要這些歷史信息來幫助他們改善業務。

因此,為TRD和PRD需提供不同的解決方案。 TRD需要資料庫管理系統(DBMS),而PRD需要數據倉庫系統(DWS)(ADENDORFF,M.,2001)。傳統的DBMS構建了一個組織良好的系統來處理數據。然而,當數據量在一定程度上增長時,系統會失去效率。開發高效率分散式資料庫系統的物聯網技術,降低TRD總量是典型的解決方案。 DWS提供的功能比DBMS少,但可用於管理海量數據,適合處理PRD。

4.4.3知識獲取

知識獲取最初是描述人類的活動。如今,它是物聯網的目標:學習和改進自身。基於最近的技術,計算機從邏輯上總括學到的經驗。也就是說,物聯網的知識獲取基於數據。其實現方法如下。

首先是數據分析。數據分析由人類驅動,採用數學和統計方法來描述物聯網中數據的特徵。它的範圍並不確定:簡單的SUM_ALL函數是數據分析,而在線分析處理(OLAP)(ABELLó,A.,2009)也是數據分析。只不過他們都要求人為的操縱,具有相當的目的性和針對性。數據分析可以回答某些具體問題並找到解決方案。

二是自動學習。自動學習物聯網可以自動從資料庫中得出模式和結果。它可以用數據挖掘技術或人工智慧來實現。例如,健康護理手錶可以收集人們的健康數據,並自動發現某種疾病的特徵。這些特徵和結論可能成為重要的診斷標準。

第三是物聯網進化。物聯網能夠通過「考慮」其數據來擴展自身並調整服務。例如,在智能城市的物聯網中,交通燈系統將通過從攝像機系統學習數據來調整自身,以減少交通堵塞和事故。該過程實際上將多個自動學習過程與多個數據資源相結合。

5 結束語

2017年4月,澳大利亞墨爾本RMIT大學的Athman Bouguettaya教授聯合18位學者(包括4位IEEE Fellow)在《Communications of the ACM》上發表論文《服務計算宣言:下一個十年》,指出「服務計算具有良好的發展前景,極大推動著移動計算、雲計算、大數據和社會計算等新興計算領域的進步」[1]。綜合前述服務計算的最新研究進展,我們認為服務計算將呈現如下重要趨勢:

1)大數據服務與服務大數據相互引領,將推動數據與服務產業的快速發展:服務是繼數據、信息、知識之後的最高計算形態[1],大數據只有轉變為服務才能充分顯示其價值。隨著大數據的發展與應用,大數據服務將成為未來最為重要的服務形態;與此同時,隨著各類服務的不斷湧現,服務的靜態數據、產生的運行時數據、日誌數據等也將構成服務大數據,如何挖掘和利用服務大數據,為服務的運行與管理提供全方位的數據診斷,進而提升服務能力也將成為服務大數據的研究熱點。

2)移動邊緣計算的興起,將為服務計算提供更為廣闊與實際的應用場景:作為下一代通信技術的核心,移動邊緣計算利用無線接入網路就近為用戶提供雲端內容、服務和計算能力,並創造出一個高性能、低延遲與高帶寬的服務環境,讓移動用戶享有高質量服務體驗。隨著運營商、設備製造商、學術界的積極推動,移動邊緣計算將迎來快速發展機遇,應用前景廣闊。如何在移動邊緣環境下實現高效可靠的服務供應,以及最優化、個性化的服務選用將成為服務計算應用的關鍵問題。

3)軟體定義的一切(SDX)給服務計算帶來新的發展機遇:服務計算是支持軟體定義的核心使能支撐技術。一方面,我們要關注輕量級、細粒度的開放API開發方法和管理框架,這其中微服務得到廣泛關注,應重點研究基於微服務的事件驅動的開發運行一體化(DevOps)基礎設施架構、細粒度基礎資源及其狀態監控、在線測試和快速部署、容錯等關鍵技術;另一方面,服務計算需要研究面向遺產系統的服務化重建、API自動構造,以支持對這些系統資源的開放共享和互操作。

4)物聯網服務將進一步延伸服務概念,拓展服務能力:服務計算原有領域集中在互聯網服務的實現和價值化,而今後通過物聯網的部署和實現,線下數據大量湧現,服務從原來的互聯網服務逐步與傳統服務融合。很多傳統服務都將逐步實現智能化、網路化,從而創造更高的價;物聯網提供海量的數據,而這些數據用於深度學習、數據挖掘後,可以為多個領域多個方向提供指導性的知識。服務計算通過提取這些知識價值,融入服務中,可以獲得比過去更強大的服務能力。

總而言之,服務計算在經歷了十餘年的快速發展,當一系列基礎的理論、方法、技術和平台相繼成熟之後,將伴隨大數據、雲計算、物聯網的興起而將迎來新一輪的發展和應用,為信息產業的發展,特別是軟體服務產業的發展提供支撐。

1http://www.ict-citypulse.eu/page/

2https://climatedataguide.ucar.edu/climate-data/nasa-merra

參考文獻

[1]Bouguettaya, A., Singh, M. P., et al. A service computing manifesto: the next 10 years. Commun. ACM 60(4): 64-72, 2017.

[2]Wu, Z., Deng, S., Wu, J. Service Computing: Concepts, Methods and Technology. Elsevier. 2014.

[3]吳朝暉, 鄧水光. 跨界服務:現代服務業的創新服務模 式. 中國計算機學會通訊. 8(8): 1~4. 2012.

[4]Data as a service, https://en.wikipedia.org/wiki/Data_as_a_service.

[5]Olson, J.A., Data as a service: are we in the clouds? Journal of Map & Geography Libraries, 2009. 6(1): p. 76-78.

[6]Machan, D., DaaS: The new information goldmine. Wall Street Journal, 2009: p. 1-3.

[7]Badidi, E., H. Routaib, and M. El Koutbi, Towards Data-as-a-Service Provisioning with High-Quality Data, in Advances in Ubiquitous Networking 2. 2017, Springer. p. 611-623.

[8]Chethan, S., Compendious study of Big Data as a Service (BDaaS). International Journal of Control Theory and Applications, 2017. 10(14): p. 59-63.

[9]Jhingran, A. Enterprise information mashups: integrating information, simply. in Proceedings of the 32nd international conference on Very large data bases. 2006. VLDB Endowment.

[10]Benslimane, D., S. Dustdar, and A. Sheth, Services mashups: The new generation of web applications. IEEE Internet Computing, 2008. 12(5).

[11]Seibold, M. and A. Kemper, Database as a Service. Datenbank-Spektrum, 2012. 12(1): p. 59-62.

[12]Curino, C., et al., Relational cloud: A database-as-a-service for the cloud. 2011.

[13]Hacigumus, H., B. Iyer, and S. Mehrotra. Providing database as a service. in Data Engineering, 2002. Proceedings. 18th International Conference on. 2002. IEEE.

[14]Cloud database, https://en.wikipedia.org/wiki/Cloud_database.

[15]Salbaroli, E., et al. Database as a service in a public administration datacenter. in Black Sea Conference on Communications and Networking (BlackSeaCom), 2016 IEEE International. 2016. IEEE.

[16]Gogawale, A., et al. Database-as-a-Service for IoT. in Computing for Sustainable Global Development (INDIACom), 2016 3rd International Conference on. 2016. IEEE.

[17]Sorokine, A., et al. Big data as a service from an urban information system. in Proceedings of the 5th ACM SIGSPATIAL International Workshop on Analytics for Big Geospatial Data. 2016. ACM.

[18]Chang, H.-T. and T.-H. Lin, A Database as a Service for the Healthcare System to Store Physiological Signal Data. PloS one, 2016. 11(12): p. e0168935.

[19]Martin, P., et al. Analytics-as-a-service: confluence of big data, cloud computing and software-as-a-service. in Proceedings of the 2013 Conference of the Center for Advanced Studies on Collaborative Research. 2013. IBM Corp.

[20]Delen, D. and H. Demirkan, Data, information and analytics as services. 2013, lsevier.

[21]Zulkernine, F., et al. Towards cloud-based analytics-as-a-service (claaas) for big data analytics in the cloud. in Big Data (BigData Congress), 2013 IEEE International Congress on. 2013. IEEE.

[22]Ahrabian, A., et al. Data analysis as a web service: A case study using IoT sensor data. in Acoustics, Speech and Signal Processing (ICASSP), 2017 IEEE International Conference on. 2017. IEEE.

[23]Schnase, J.L., et al., MERRA analytic services: meeting the big data challenges of climate science through cloud-enabled climate analytics-as-a-service. Computers, Environment and Urban Systems, 2017. 61: p. 198-211.

[24]Munir, K. Security model for cloud database as a service (DBaaS). in Cloud Technologies and Applications (CloudTech), 2015 International Conference on. 2015. IEEE.

[25]Meng X, Ding Z, Xu J. Moving Objects Management: Models, Techniques and Applications. Springer Publishing Company, 2014.

[26]Biem A, Bouillet E, Feng H, et al. IBM InfoSphere Streams for Scalable, Real-Time, Intelligent Transportation Services. In Proceedings of the 2010 ACM SIGMOD International Conference on Management of data, 2010, pp. 1093-1104.

[27]Dean J, Ghemawat S. MapReduce: Simplified Data Processing on Large Clusters. ACM Communication, 2008, 51(1):107-113.

[28]Toshniwal A, Taneja S, Shukla A, et al. Storm @Twitter. In Proceedings of 2014 ACM International Conference on Management of Data (SIGMOD), New York, USA, 2014, pp. 147-156.

[29]Zaharia M, Das T, Li H, et al. Discretized streams: an efficient and fault-tolerant model for stream processing on large clusters. The 4th USENIX conference on Hot Topics in Cloud Computing, USENIX Association Berkeley, CA, USA, 2012.

[30]崔星燦, 禹曉輝, 劉洋, 呂朝陽. 分散式流處理技術綜述. 計算機研究與發展, 2015, 52(2): 318-332.

[31]孫大為, 張廣艷, 鄭緯民. 大數據流式計算:關鍵技術及系統實例. 軟體學報, 2014, 25(4): 839-862.

[32]Neumann D, Bodenstein C, Rana O F, Krishnaswamy R. STACEE: enhancing storage clouds using edge devices. The 1st IEEE/ACM Workshop on Autonomic Computing for Economics (ACE 2011), Karlsruhe, Germany, 2011, pp. 19-26.

[33]Stuedi P, Mohomed I, Terry D. WhereStore: Location-based data storage for mobile devices interacting with the cloud. The 1st ACM Workshop on Mobile Cloud Computing & Services: Social Networks and Beyond, 2010, pp. 1-8.

[34]Mesiti M, Ferrari L, Valtolina S, et al. StreamLoader: an event-driven ETL system for the on-line processing of heterogeneous sensor data. International Conference on Extending Database Technology, 2016: 628-631.

[35]Chen Q, Hsu M, Zeller H, et al. Experience in Continuous analytics as a Service (CaaaS). International Conference on Extending Database Technology, 2011: 509-514.

[36]Pan B, Zheng Y, Wilkie D, Shahabi C. Crowd sensing of traffic anomalies based on human mobility and social media. ACM GIS 2013, pp. 344-353.

[37]Xiong H, Zhang D, Zhang D, et al. MPaaS: Mobility prediction as a service in telecom cloud. Information Systems Frontiers, 2014, 16(1): 59-75.

[38]Zhang K, Feng Z, Chen S, Huang K and Wang G. A Framework for Passengers Demand Prediction and Recommendation. 2016 IEEE International Conference on Services Computing (SCC), San Francisco, CA, 2016, pp. 340-347.

[39]Carey M J, Onose N, Petropoulos M, et al.. Data Services. Commun. ACM, 2012, 55(6): 86-97.

[40]Deng S, Huang L, Wu B, Xiong L. Parallel Optimization for Data-intensive Service Composition. Journal of Internet Technology, 2013, 14(5): 817-824.

[41]Dickerson R, Lu J, Whitehouse K. Stream feeds-an abstraction for the world wide sensor web. First International Conference on IOT 2008, Zurich, Switzerland, 2008, pp. 360-375.

[42]Chu V W, Wong R K, Liu W, Chen F, Perng C S. Traffic Analysis as a Service via a Unified Model. 2014 IEEE International Conference on Services Computing (SCC), IEEE, 2014, pp. 195-202

[43]Han Y, Wang G, Yu J, et al. A Service-Based Approach to Traffic Sensor Data Integration and Analysis to Support Community-Wide Green Commute in China. IEEE Trans. Intelligent Transportation Systems, 2016, 17(9): 2648-2657.

[44]Guinard D, Trifa V, Pham T, Liechti O. Towards physical mashups in the web of things. IEEE Sixth International Conference on Networked Sensing Systems (INSS), Pittsburgh, USA, 2009, pp. 1-4.

[45]He J, Zhang Y, Huang G, Cao J. A smart Web service based on the context of things. ACM Transactions on Internet Technology (TOIT), 2012, 11(3): 1-23.

[46]Wu S, Kumar V, Wu K-L, Ooi B C. Parallelizing stateful operators in a distributed stream processing system: how, should you and how much. Proceedings of the 6th ACM International Conference on Distributed Event-Based Systems: ACM, 2012, pp. 278-289.

[47]Chuan L, Rundensteiner A, and Guttman D. Robust Distributed Stream Processing. In Proceedings of IEEE 29th International Conference on Data Engineering (ICDE 2013), Brisbane, Australia, 2013, pp.817-828.

[48]Silva G, Gedik B, Wagle R. Building User-defined Runtime Adaptation Routines for Stream Processing Applications. PVLDB, 2012, 5(12): 1826-1837.

[49]Deng S, Huang L, Wu H, et al. Toward Mobile Service Computing: Opportunities and Challenges. IEEE Cloud Computing, 2016, 3(4): 32-41.

[50]Rahimi, M. Reza, Nalini Venkatasubramanian, and Athanasios V. Vasilakos. "MuSIC: Mobility-aware optimal service allocation in mobile cloud computing." Cloud Computing (CLOUD), 2013 IEEE Sixth International Conference on. IEEE, 2013.

[51]Heinrich, Bernd, and Lars Lewerenz. "Decision support for the usage of mobile information services: A context-aware service selection approach that considers the effects of context interdependencies." Journal of Decision Systems 24.4 (2015): 406-432.

[52]Yao, D., Yu, C., Yang, L., & Jin, H. (2015). Using Crowdsourcing to Provide QoS for Mobile Cloud Computing. IEEE Transactions on Cloud Computing.

[53]Li X, Qian Z, You I. Towards cost efficient mobile service and information management in ubiquitous environment with cloud resource scheduling. International Journal of Information Management. 2014, 34(3): 319-328.

[54]Deng S, Huang L, Hu D, Zhao L, Wu Z, Mobility-enabled service selection for composite services, IEEE Transactions on Services Computing, 2016, 9(3): 394-407.

[55]Surobhi N. and Jamalipour A., 「A context-aware M2M-based middle- ware for service selection in mobile ad-hoc networks,」 IEEE Trans. Parallel and Distrib. Syst., vol. 25, no. 12, pp. 3056–3065, Dec. 2014.

[56]Wang, Yating, et al. "Trust-based Service Composition and Binding with Multiple Objective Optimization in Service-Oriented Mobile Ad Hoc Networks." IEEE Transactions on Services Computing (2015).

[57]Shi, Cong, et al. "Cosmos: computation offloading as a service for mobile devices." Proceedings of the 15th ACM international symposium on Mobile ad hoc networking and computing. ACM, 2014.

[58]Wang J. Exploiting mobility prediction for dependable service composition in wireless mobile ad hoc networks. IEEE Transactions on Services Computing, 2011, 4(1): 44-55.

[59]Zhou, Ao, et al. "Optimal mobile device selection for mobile cloud service providing." The Journal of Supercomputing 72.8 (2016): 3222-3235.

[60]Deng,S., Huang, L., et al. Computation Offloading for Service Workflow in Mobile Cloud Computing. IEEE Transactions on Parallel and Distributed Systems, 26(12): 3317-3329, 2015.

[61]Deng,S., Huang, L., et al.. Towards Risk Reduction for Mobile Service Composition. IEEE Transactions on Cybernetics. 46(8): 1807-1816, 2016.

[62]Deng,S., Huang, L., et al.. Mobility-aware Service Composition in Mobile Communities. IEEE Transactions on Systems, Man, and Cybernetics: Systems. 7(3): 555-568, 2017.

[63]Heinrich, Bernd, and Lars Lewerenz. "Decision support for the usage of mobile information services: A context-aware service selection approach that considers the effects of context interdependencies." Journal of Decision Systems 24.4 (2015): 406-432.

[64]Gai, Keke, et al. "Dynamic energy-aware cloudlet-based mobile cloud computing model for green computing." Journal of Network and Computer Applications 59 (2016): 46-54.

[65]朱勇,羅軍舟,李偉. 一種工作流環境下能耗感知的多路徑服務組合方法. 計算機學報, 2012, 35(3): 627-638.

[66]Deng,S., Huang, L., et al.. "Mobile service selection for composition: an energy consumption perspective." IEEE Transactions on Automation Science and Engineering, 14(3): 1478-1490 2017.

[67]Palacin, M. R. Recent advances in rechargeable battery materials: a chemist』s perspective. Chemical Society Reviews, 38(9): 2565-2575, 2009.

[68]Li, D. and Halfond, W. G. J.. An investigation into energy-saving programming practices for android smartphone app development. In Proceedings of the 3rd International Workshop on Green and Sustainable Software. ACM, pp.46-53, 2014.

[69]Banerjee, A., Chong, L. K., Chattopadhyay, S. , and Roychoudhury, A. Detecting energy bugs and hotspots in mobile apps. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM, pp.588-598, 2014.

[70]吳松,牛超,金海. 面向雲-端融合的移動容器雲平台. 中國計算學會通訊, 12(11): 28-34,2016.

[71]Kumar, K., Liu, J., Lu, Y. H., Bhargava, B. A survey of computation offloading for mobile systems. Mobile Networks and Applications, 18(1): 129-140, 2013.

[72]Cuervo, E., Balasubramanian, A., et al. MAUI: making smartphones last longer with code offload. In Proceedings of the 8th international conference on Mobile systems, applications, and services. ACM, pp.49-62, 2010.

[73]Chun, B.G., Ihm, S., Maniatis, P., et al. Clonecloud: elastic execution between mobile device and cloud. In Proceedings of the sixth conference on Computer systems. ACM, pp.301-314, 2011.

[74]Shi C., Habak K., Pandurangan P., et al. Cosmos: computation offloading as a service for mobile devices. In Proceedings of the 15th ACM international symposium on Mobile ad hoc networking and computing. ACM, pp.287-296, 2014.

[75]Satyanarayanan M., Bahl P., Caceres R., Davies N. The case for vm-based cloudlets in mobile computing. IEEE pervasive Computing, 8(4):14-23, 2009.

[76]Kosta S., Aucinas A., Hui P., et al. Thinkair: Dynamic resource allocation and parallel execution in the cloud for mobile code offloading. In Proceedings of Infocom. IEEE, pp. 945-953, 2012.

[77]Gordon M. S., Jamshidi D. A., Mahlke S., et al. Comet:Code offload by migrating execution transparently. In Proceedings of the 10th USENIX Symposium on Operating Systems Design and Implementation, pp.93-106, 2012.

[78]Golchay R., Mou?l F. L., Ponge J., Stouls N. Spontaneous proximity clouds: making mobile devices to collaborate for resource and data sharing. In Proceedings of the 12th International Conference on Collaborative Computing, pp 480-489, 2016.

[79]曹春,陸子凌,馬曉星. 雲-端融合下的端設備能耗優化. 中國計算學會通訊, 12(11): 35-42,2016.

[80]Zhang Y., Huang G., Liu X.Z., et al. Refactoring android java code for on-demand computation offloading. In Proceedings of the ACM international conference on Object oriented programming systems languages and applications. ACM, 47(10): 233-248, 2012.

[81]Wu X. Y., Xu C., Lu Z.L., et al. Cosedroid: Effective computation-and sensing-offloading for Android apps. In Proceedings of 39th Annual Computer Software and Applications Conference. IEEE, 2: 632-637, 2015.

[82]Wang X., Balasubramanian A., Krishnamurthy A., and Wetherall D. Demystifying page load performance with Wprof. In Proceedings of the 10th USENIX Conference on Networked Systems Design and Implementation (NSDI 2013), pp. 473-486, 2013.

[83]Wang Z., Lin F., Zhong L., and Chishtie M. How far can client-only solutions go for mobile browser speed? In Proceedings of the 21st International Conference on World Wide Web (WWW 2012), pp. 31-40, 2012.

[84]Zhang Y., Tan C. and Qun L. CacheKeeper: a system-wide web caching service for smartphones. In Proceedings of the 2013 ACM International joint Conference on Pervasive and Ubiquitous Computing (UbiComp 2013), pp. 265-274, 2013.

[85]Ma Y., Liu X., Zhang S., et al. Measurement and Analysis of Mobile Web Cache Performance. In Proceedings of the 24th International Conference on World Wide Web, (WWW 2015), pp 691-701. Florence, Italy, May 2015.

[86]Liu X., Ma Y., Liu Y., et al. Demystifying the Imperfect Client-Side Cache Performance of Mobile Web Browsing. IEEE Transactions on Mobile Computing. 15(9): 2206-2220 (2016).

[87]Liu X., Ma Y., Dong S., et al. ReWAP: Reducing Redundant Transfers for Mobile Web Browsing via App-Specific Resource Packaging. IEEE Transactions on Mobile Computing. Accepted to appear.

[88]Wang L. and Manner J.. Energy-efficient mobile Web in a bundle. Computer Networks, vol. 57, pp. 3581-3600, 2013.

[89]Singh S., Madhyastha H., Krishnamurthy S., and Govindan R.. FlexiWeb: Network-aware compaction for accelerating mobile Web transfers. In Proceedings of the 21st Annual International Conference on Mobile Computing and Networking (MobiCom 2015), pp. 604-616, 2015.

[90]Opera Mini Browser. http://www.opera.com/mobile/mini/iphone.

[91]Google Chrome Beta Browser. https://www.google.com/chrome/browser/beta.html.

[92]Koukoumidis E., Lymberopoulos D., Strauss K., Liu J., and Burger D.. Pocket cloudlets. In Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating System (ASPLOS 2011), pp. 171-184, 2011.

[93]Lymberopoulos D., Riva O., Strauss K., Mittal A., and Ntoulas A. PocketWeb: instant web browsing for mobile devices. In Proceedings of the 17th International Conference on Architectural Support for Programming Languages and Operating System (ASPLOS 2012), pp. 1-12, 2012.

[94]Butkiewicz M., Wang D., Wu Z., Madhyastha H. V., and Sekar V. KLOTSKI: Reprioritizing web content to improve user experience on mobile devices. In Proceedings of the 12th USENIX Symposium on Networked Systems Design and Implementation (NSDI 2015), pp. 439-453, 2015.

[95]Liu X., Ma Y., et al. i-Jacob: An Internetware-Oriented Approach to Optimizing Computation-Intensive Mobile Web Browsing. ACM Transactions on Internet Technology. Accepted to appear.

[96]Liu X., Ma Y., Wang X., et al. SWAROVsky: Optimizing Resource Loading for Mobile Web Browsing. IEEE Transactions on Mobile Computing. Accepted to appear.


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 中國計算機學會 的精彩文章:

CCCF專欄:黃鐵軍 也談強人工智慧
52名專家當選2017年CCF傑出演講者

TAG:中國計算機學會 |