楊星華,李蜀瑜
(陜西師范大學 陜西 西安 710062)
云計算[1]服務模式和部署模型已經成熟,隨著這些技術的盛行和云計算模式[2]的衍變,云協作[3]成為關鍵問題,現在,混合云模型,互聯云,跨云和云聯盟成為熱點問題。混合云權衡可用性和私密性是重要問題,使用專有解決方案和標準,解決移植性和協作性以實現混合云。然而,互聯云和云聯盟是多個云互惠互利模式的協作,但是,云聯盟更注重以提供商商為中心的解決方案,互聯云提供了未來標準和開源接口的機會。需求策略是要通過互聯云協作解決不同云環境的的異質問題。
目前,一些跨云計算的實現雖然可用,但是他們是基于提供商的專有解決方案,例如亞馬遜的EC2,而極少有基于代理實現作為開源,例如OpenQRM,這些方案不是對提供商關閉就是與特定環境高耦合。OpenQRM是一個封閉平臺,沒有可協作性和聯盟,而OpenNebula和Nimbus僅僅與亞馬遜的EC2環境兼容。云協作中,Boto和jclouds是可用的,但是不能以標準形式編目云資源,云資源是云協作域的集成部分。
為消息交互提供一種標準機制,文獻[4]介紹了一種基于XMPP和RDF的互聯云目錄和消息交互協議,該協議利用XMPP基于UDDI的特性作為一個云注冊表模塊,這拓展了互聯云的通信能力。基于注冊的XMPP特性,該實現依賴第三方服務器管理所有互聯云節點的資源,這種解決方案成功的將互聯的云解耦,但同時又將云與關聯的注冊服務器耦合。文獻[5]介紹了一個以資源集成為目的的三階段的跨云聯盟模型,這個解決方案基于XML,利用XMPP,XACML和SAML。文獻[6]提出了以獨立控制和通信的多代理中間件系統,這個系統將DDS[4]和本體論實現相結合,基于樹的本體論結構用于定義服務質量策略,結合DDS[7],在一個特定空間中,提取通信信息,識別一個代理位置。
文中利用剛剛提到的兩種相似技術,主要針對云計算基礎設施服務模式的協作問題,解決公有云平臺下云方間基礎設施協作和云方資源編目,解除對第三方注冊的高度依賴,降低云方與云方之間,云與第三方的耦合度,給云方部署代理,稱為云方代理。為了區分云節點,本文中稱一個云節點為一個云方。因為云方協作的重點是一個云方發現另一個可協作的云方,這種發現由公有云域維護,公有云域中,代理部署在云方中,代理是基于DDS的實現,云資源敘述基于XML技術,本文主要研究云方基礎設施資源協作。
多個云方構成一個云域,相當于一個云方簇群,每一個云方都有一個云參與節點即云方代理節點注冊到一個云域。每個代理節點需要有運行DDS應用的能力。云域劃分應用,一個應用程序和一個云域存在多對一的關系,一個應用程序可以屬于多個云域,然而,數據寫者和數據讀者只歸屬于創建他們的云域,歸屬于不同云域的數據寫者和數據讀者不能交換數據,即使是在同一云方上。為了實現基于服務的云方協作,云域中創建和部署獨立的應用程序如圖1所示。

圖1 云方協作結構圖Fig.1 Structure of cloud collaboration
云域ID標識特定的云域。云方代理部署在所有云方參與節點上并創建云域參與者,擁有一致屬于云域的云域ID。每個云域參與者是每個云方的代理節點,其部署有云方代理。
圖2給出了云方代理層次圖,是一個3層的體系結構,資源層負責對云方基礎設施資源信息的詳細描述,是云方協作的橋梁,數據分發服務DDS主要為云方協作提供一種基于發布訂閱的實時高效通信模式。
基礎架構層為以上兩層提供底層支持,包括構成云方平臺的物理環境即硬件資源,還有在物理環境基礎上構建的云方平臺,提供云協作的實驗環境。
以下小節將主要介紹資源定義層和數據分發服務層。

圖2 云方代理層次圖Fig.2 The layer of cloud proxy
云方協作需要一個正式的對其云方資源信息的敘述,基于xml的文檔具有快速傳播信息資源,而且更易于檢索者查找和利用這些優點,因此本文采用以xml形式敘述資源以及資源在架構形式中的關系。云方請求協作時期,資源敘述文件作為云方發布數據的一部分供其他云方與之匹配以完成云方間的協作。雖然本文主要針對基礎設施資源進行云協作介紹,但是為了支持云協作可擴展性,不僅僅提供云方基礎設施資源協作,還要擴展其他資源的云方協作,因此基于xml的云方資源敘述結構如圖3所示:一個完整的云方資源敘述包括五個部分內容,每個資源都可以進一步進行細粒度劃分,圖中主要針對本文基礎設施資源層做了細粒度劃分,其他部分不在此做重點敘述。

圖3 云方資源結構圖Fig.3 Structure of cloud resource
核心資源敘述云方核心信息資源,核心資源可以進行細粒度劃分,細粒度劃分的核心資源諸如操作系統,集群中間件,虛擬機監控器等資源信息。
軟件資源敘述云方軟件資源信息,細粒度劃分為應用程序資源。
平臺資源敘述云方使用平臺資源信息,這個平臺資源信息可進一步細分為安全資源,管理資源,負載均衡資源,運行時刻資源等平臺資源。
基礎設施資源敘述云方基礎設施資源信息,細粒度劃分的資源信息包括計算資源,通信資源,數據存儲資源,這些資源還可以進行進一步粒度劃分,例如計算資源包含虛擬機,通信資源包含QoS。數據存儲資源包含文件系統,數據庫管理系統。
硬件資源敘述云方硬件相關資源信息,包括耗電量,數據中心管理,調度等資源。
資源敘述文件與云方代理共享,該文件能夠用于不同的云方環境之間的資源匹配的請求。根據資源匹配,成為云協作中的一方。
云方資源敘述具有兩種類型的文件形式,全局資源敘述和本地資源敘述參與云方代理實現,全局資源敘述所有存在于云域中的概念,負責云域資源的全局數據管理,云域擁有全局資源敘述文件,敘述云域中全體物理節點資源和虛擬機資源,包括云域編號,云域包含云方節點數量,云域中所有云方節點編號等全局資源信息,,本地資源敘述特定的云方部署資源,只包括與本地相關的概念,包括云方節點編號,云方節點所在云域編號和云方本地資源信息,本地資源敘述符合全局資源敘述形式。
文中主要敘述基礎設施層資源,以cup使用率,內存,存儲,網絡帶寬,操作系統os來敘述云基礎設施物理節點資源和虛擬機資源,例如,一個云方節點資源包含如下資源信息:云方物理節點信息:云方節點ID,云域ID,cpu使用率,內存使用率,磁盤容量,云方IP,虛擬資源信息:虛擬機ID,虛擬機鏡像ID,虛擬機cpu使用率,虛擬機內存使用率,磁盤ID,虛擬機IP。
DDS是一個3層的體系結構,其中兩層是本文所用,在云平臺中,這兩層能夠可擴展和及時的分發有用資源信息,一層是DCPS,以數據為中心的發布訂閱,它可以提供數據為中心,基于主題和實時的發布訂閱標準,同時提供有效,可擴展和可預測的數據分發能力。DCPS運行在RTPS層上,該層提供DDS互操作有線協議。圖4所示,DDS層主要包括具有數據通信能力的發布者,訂閱者,數據寫者,數據讀者和基于主題的通信,負責將資源層的資源敘述發布出去,并且只由注冊請求主題的發布的云方做出響應,以期完成云方協作。

圖4 數據分發服務DDS層Fig.4 The layer of DDS
與其他發布訂閱中間件相比,DDS的特色是富裕的QoS支持,由DCPS層提供。DDS能夠控制資源使用,例如,帶寬,內存,還有非功能屬性,例如可靠性和及時性。
根據資源敘述,如何利用DDS進行請求響應云方協作,圖5展示了DDS實體uml圖:
消息封裝發現可互協作的云計算環境請求和可協作云方的響應。請求和響應與常規請求和響應通信不能混淆。云域中,請求和響應實體都是發布實體。
消息類型枚舉消息的細化分類,用于判定區分請求類型,以此確定請求處理過程。例如,一個資源遷移請求或前期發送的消息處置請求,這意味著前期發送的請求是無效的,因此,需要停止和取消無效請求的處理過程。

圖5 5D云方代理DDS實體圖Fig.5 DDS entity of cloud proxy
QoS參數枚舉DDS提供的服務質量參數。QoS策略為每個發布和訂閱訂閱定義QoS參數集合。
資源敘述是對云方資源的正式定義,即是一個云方資源敘述的容器,2.1小節已對云方資源敘述進行詳細介紹。
圍繞基于DDS進行云方協作問題,分別從以下角度來剖析解決云方協作關鍵問題:
1)請求響應主題
云域中,主題是云方代理數據類型的實現和數據移動的單位。面向對象編程中,主題實例是請求和響應的實例,其中請求和響應是基于用戶定義的主題類型。一個主題的多個實例可以存在于云方代理環境中,而每個實例擁有除關鍵值之外的可變值,特定實例的一組值稱為一個樣本,云方代理可攜帶一個主題實例的多個樣本。
2)透明配置QoS
DDS利用服務質量參數控制發布和訂閱[6],參數構成QoS策略。QoS簡化發布者和訂閱者間復雜通信需求,云方代理能夠利用QoS進行創新,云域中,選取特定需求的參數,枚舉定義QoS,形成QoS策略,兩個云方進行通信,雙方 QoS策略必須兼容。
DDS通信時由發布者和訂閱者控制資源信息的QoS屬性,控制方法是給發布者和訂閱者配置QoS屬性。然而,存在著一些問題,例如,訂閱者徹底理解 QoS策略多樣范圍,避免訂閱者之間QoS沖突,因此云方代理使得訂閱者不需要處理這些問題,同時對訂閱者屏蔽DDS的存在,意味著訂閱者只負責使用DDS服務,不關心DDS。
3)發布訂閱
在云方參與節點發布和訂閱主題,通過應用程序接口使用DDS的數據寫者和數據讀者。當云方代理需要寫出一個發布主題,數據寫者對象此時被創建,相應的,當云方代理接收到一個主題時,數據讀者對象被創建。
當云方發出云方協作請求,云方代理使用數據寫者對象發送請求主題。一個數據寫者與單一請求相關;然而,多個數據寫者和主題在云方代理中可以存在。當云方代理調用數據寫者的write(),請求對象傳遞給發布對象,云域中進行實際的數據序列化。
同樣,云方代理使用數據寫者對象接收請求主題。一個數據寫者與單一請求有關,然而,多個數據讀者和主題在云方代理中可以存在。接收到數據之后,數據首先被參與節點的發布者對象反序列化,其次數據樣本被存儲在適當的數據讀者中。云方代理可以通過監聽或輪詢讀取請求。
本文實驗環境配置如下:3個節點pc,分別稱為云方A,云方B,云方C。由于OpenStack為基礎設施即服務 (簡稱IaaS)提供了開放協作的環境,符合本實驗云方基礎設施服務需求。同時openStack的Grizzly版本提供安全支持,因此,3個云方物理環境下均部署openStack Grizzly版本,并安裝虛擬機監控器KVM with libvirt,云方A依次開啟API服務,網絡服務,卷服務,對象存儲服務和調度器服務,云方B和云方C分別運行計算服務,因篇幅有限和現有資源匹配技術比較成熟,此處不再詳細介紹資源匹配算法,因此本實驗直接采用文獻[8]提出的資源匹配算法進行云方資源匹配。.
現做如下云方協作實驗:云方A發布請求將自己平臺中的虛擬機A遷徙到云方B平臺,為了實驗需求,云方B注冊請求主題,云方C不注冊請求,因此會忽略發布,云方C同時作為云域節點,負責全局數據的管理。
云方A平臺的云方代理發起虛擬機遷徙請求:以下將云方A稱為發布云方,云方B稱為響應云方。
發布云方通過創建請求主題樣本啟動處理過程。使用虛擬機遷徙需求值,如操作系統os,內存RAM,存儲容量等,初始化基于xml格式的本地云方資源敘述文件,如圖6所示,作為發布數據的一部分。 數據寫者發布擁有唯一請求ID的請求作為云域中的中的異步消息。隨后,發布云創建擁有一致請求ID的響應,注冊給讀的監聽器。請求ID是唯一標識符,響應一致的已發布的請求ID。讀的生命周期取決于時間期限,當創建響應主題時,定義QoS策略參數。

圖6 云方A資源敘述Fig.6 Resource of cloud side A
云域中,所有部署有云方代理的代理節點都能接收到發布,然而,只有已注冊請求主題的云方代理處理。如果有云方注冊訂閱,相應的數據寫者存儲和處理請求樣本。本地云方資源敘述對象被加載并與訂閱云方資源敘述對象處理匹配進行一步的評估。

圖7 虛擬機遷徙示例Fig.7 Example diagram of virtual machine
云域能夠定制資源敘述文件匹配技術和算法,參與云方可以互相商定這些技術。訂閱節點的云方代理加載本地資源庫信息,該實例的請求協作并得到響應過程如圖7所示。
加入云方代理是解決多個云方協作問題,基于DDS的發布訂閱解耦消息通信促進云方間共享工作負載。云方代理是基于DDS的實現,有效利用基于域安全性,基于主題發布訂閱,基于服務質量通信,跨平臺部署和可靠的發布訂閱消息通信模型提供異質云協作需求,云方部署有基于DDS實現的云方代理達到異構云方協作,未來工作中,將進一步研究云方資源監控的問題,同時,跨云協作將是以后研究重點。
[1]李燁.云計算的發展研究[M].北京:北京郵電大學,2011.
[2]Wikipedia,Cloud monitoring[EB/OL].2015-2-26.http://en.wikipedia.org/wiki/Cloud_computing.
[3]Niyato D,Wang P,Hossain E,et al.Game Theoretic Modeling of Cooperation Among Service Providers in Mobile Cloud Computing Environments[C]//Paris, France, 1-4 April 2012.Wireless Communications and Networking Conf.
[4]David Bernstein,Deepak Vij.Intercloud Directory and Exchange Protocol Detail using XMPP and RDF[C]//World Congress on Services,2010.
[5]Antonio Celesti,Franco Tusa,Massimo Villari,et al.How to Enhance Cloud Architectures to Enable Cross-Federation[C]//International Conference on Cloud Computing,2010.
[6]Jose L Poza,Juan L.Posadas and Jose E.Simo, “Adding an Ontology to a Standardized QoS-Based MAS Middleware,”distributed computing, artificial intelligence, ioinformatics,soft computing,and ambient assisted living[M].Lecture Notes in Computer Science,2009:83-90.
[7]Object Management Group.DDS.Data Distribution Service for Real-time Systems[S].2007.
[8]曹懷虎,牛娃,張艷梅.基于語義本體論的網格資源描述及匹配算法[J].四川大學學報,2007,39(S1):174-177.