趙曉森,徐 揚,王志謙
(北京郵電大學 網絡技術研究院 信息網絡中心,北京 100876)
隨著社會的發展、生活水平的提高,人們對于精神文化的需求快速增長。同時由于PC和手機、平板PC等智能終端的迅猛發展,人們可以接觸到的信息和應用服務越來越豐富,用戶更多地向互聯網方向靠攏。國家新聞出版廣電總局發布的中國視聽新媒體發展報告(2013)顯示,2013年北京地區電視機開機率從三年前的70%下降至30%。如何通過技術的改進創新,為用戶提供更多的應用、內容,重新獲得用戶的關注,成為廣電運營商亟待解決的問題。為此,本文提出了一種基于NGOD架構的云應用服務管理方案,該方案對現有的NGOD架構的標準進行了擴展,并采用應用虛擬化技術,使之適應云端應用的部署運行。
隨著國內三網融合與廣電網雙向改造的不斷推進,國內越來越多的家庭擁有具有雙向交互能力的數字電視機頂盒。但是由于國內廣電運營狀況比較復雜、地區之間差距大,家庭用戶機頂盒終端平臺多種多樣,而且普遍配置低、運算能力差。如果基于終端為用戶提供應用服務,需要對國內機頂盒進行整體升級,這樣耗時太長、投入太大,無法讓人接受。
一些公司提出了一種新的解決方案,通過在廣電網上搭建云平臺,為用戶提供云應用服務,突破終端造成的瓶頸[1-2]。然而,由于商業原因,這些公司都沒有公開技術細節。在此基礎上,本文提出了一種基于NGOD架構的云應用服務管理方案。
下一代交互電視架構(Next Generation On Demand,NGOD)是由美國Comcast公司提出的一種新的交互式的開放的服務網絡框架結構。該架構合理細致地劃分出了各個邏輯功能組件,全面詳盡地規定了各組件間的協議交互和通信接口。NGOD架構支持各個廠商產品之間的相互操作,有高度的可擴展性,能支持未來的多種業務功能[3]。目前,業內開始逐步地轉向使用NGOD架構進行開發和部署廣電網內的視頻點播系統。
該應用管理方案在廣電網的服務端基于NGOD架構配置應用服務器,用戶點播的應用在應用服務器上運行。用戶通過終端(也就是用戶機頂盒)選擇了應用,云端采用應用虛擬化技術將應用部署到應用服務器上,應用程序的處理、顯示圖像的渲染等在服務器上完成,運行結果以音視頻流的方式通過網絡傳送到終端,終端完成音視頻的解碼并將結果呈現。終端同時可以進行操作,用戶的操作指令通過網絡傳送到云端應用服務器上運行的應用,應用處理后再次將響應結果以音視頻的形式傳輸到終端。這樣將終端的運算能力剝離到云端,終端只需要具備基本的網絡接入、視頻解碼和交互處理能力。
該方案最大限度地屏蔽了各類型電視機頂盒終端的差異,有利于運營商開展新的增值業務,避免了大規模升級用戶機頂盒,節約了時間,減少了投入;同時實現了對用戶的統一管理,對內容的可管可控,有利于維護信息安全;由于終端接收到的是應用運行結果的音視頻流,用戶無法對應用程序進行篡改和復制,有利于維護系統安全、保障應用開發者的知識產權。
現有NGOD架構標準并沒有考慮到廣電網上應用的部署,故筆者提出對NGOD架構進行擴展,在不影響現有系統功能的基礎上使之適用于廣電網上的云應用。為此,新增加應用服務器管理器(Application Server Manag?er,ASM)和應用服務器(Application Server,AS)兩個模塊。圖1為對NGOD架構進行擴展后的部分架構圖。原有的接口無法在功能上滿足新增的兩個模塊,需要進行接口擴展,增加新的接口。現有NGOD架構標準定義了S1~S6會話管理接口,在此基礎上新增了S7接口。現有標準定義了R1~R7資源管理接口,在此基礎上新增了R8接口。現有標準定義了D1~D7發現接口,在此基礎上新增了D8接口。C2接口為新增加的點播客戶端與應用服務器的控制接口。本文主要介紹新增加的應用服務器和應用服務器管理器兩個模塊即相應新增接口,原有架構信息不再贅述。

2.2.1 應用服務器管理器(ASM)
應用服務器管理器(Application Server Manager,ASM)的功能包括資源管理功能和設備發現功能。由于NGOD架構選擇了中心和分支模式以及樂觀的資源分配策略作為強制的結構,故本文只介紹中心與分支模式下的樂觀資源分配策略。
2.2.2 S7接口及業務處理流程
ASM與SM(Session Manager,會話管理器)之間定義了S7接口,負責在應用服務器上對會話請求所需的服務器資源進行商議,該接口基于RTSP協議,術語、消息語法、方法定義和狀態碼依據于RFC 2326和NGOD官方對RTSP協議做的擴展[4]。主要包括SETUP,TEARDOWN,ANNOUNCE等消息信令。圖2為樂觀分配策略下消息交互流程。

圖2 樂觀分配策略消息交互流程
ODC(On Demand Client,點播客戶端)通過S1接口向SM發出應用服務請求后,SM首先通過S6接口向ERM(Edge Resource Manager,邊緣資源管理器)發送SETUP會話建立請求,選擇ED(Edge Device,邊緣設備)。ERM向SM返回SETUP RESPONSE消息,包括ED的IP、端口等信息。然后SM通過S3接口向ODRM(On Demand Re?source Manager,點播資源管理器)發送包括ED的IP、端口等信息的SETUP會話建立請求,選擇SS(Streaming Server,推流服務器)[5]。之后,SM作為RTSP客戶端通過S7接口向ASM發出服務器資源請求SETUP。在SETUP報文中,除了點播客戶端的信息、用戶請求的應用信息外,還包括ODRM返回的SS的信息,以便于建立會話的下行通路。ASM在選定AS(Application Server,應用服務器)部署應用之后,返回SETUP RESPONSE消息,包括選定的AS的IP和部署的應用的進程號,SM將其轉發給點播客戶端,用來建立點播客戶端到AS的上行通路。
用戶結束使用云應用服務后,點播客戶端向SM發送撤銷會話的請求,或者SM與點播客戶端之間的心跳檢測超時的情況下,SM向ASM發送TEARDOWN消息,請求釋放該會話占用的應用服務器資源。ASM在釋放服務器資源后,向SM發送TEARDOWN RESPONSE消息。
在一些異常情況下,例如ASM檢測到AS的異常,ASM會主動向已經建立會話的SM發送一些非請求消息(消息中包含發生的事件以及發生的時間等信息),這些消息一般通過RTSP ANNOUNCE Request和Response消息來實現。
2.2.3 R8接口及業務處理流程
ASM與AS之間定義了R8接口,ASM通過使用該接口,依據選定的負載均衡策略來管理應用服務器的資源。R8接口也是基于RTSP協議的,包括SETUP,TEAR?DOWN,ANNOUNCE,GET_PARAMETER,PING等信令。
當SM向ASM發出SETUP會話建立請求后,ASM結合點播客戶端的請求與各應用服務器的狀態,依據負載均衡策略,選定應用服務器來部署應用,并通過R8接口向選定的AS發送SETUP報文,包括客戶端請求的應用的信息。AS加載部署應用后,向ASM發送SETUP RE?SPONSE報文,包括IP、所部署應用的進程號。
ASM收到SM發送的TEARDOWN報文后,進行一些內部處理,例如更新AS信息表,然后向AS發送TEAR?DOWN報文告知結束會話。AS結束會話后返回TEAR?DOWN RESPONSE報文。
在會話過程中發生異常時,AS可以通過發送AN?NOUNCE報文向ASM反映異常。ASM可以通過GET_PARAMETER Request和Response來獲取和AS會話的參數消息。ASM通過周期性地向AS發送PING報文來維護會話的生命周期。在NGOD RTSP Usage Specifi?cation中,默認的會話超時時間被設為3 h。
2.2.4 D8接口及業務處理流程
ASM和AS之間定義了服務發現與注冊接口D8。AS通過該接口向ASM注冊并提供可用資源的詳細目錄。D2~D6接口實現了VREP協議,該協議是NGOD在TRIP(RFC 3219)的基礎上擴展而來的協議,為了便于與原系統兼容,D8接口采用VREP協議。
VREP協議包括4種消息類型:OPEN,UPDATE,NO?TIFICATION,KEEPALIVE。OPEN消息主要用于VREP傳輸會話的建立;UPDATE消息主要用于資源設備向其資源管理器上報自身配置參數;NOTIFICATION消息主要用于錯誤的報告;KEEPALIVE消息用來恢復和維持心跳[6]。
圖3所示為D8接口消息交互流程。

圖3 D8接口VREP協議消息交互
AS接入系統后主動向相應的ASM發起連接請求,傳輸層連接建立后,兩者首先通過OPEN消息協商參數信息,包括VREP協議版本、超時時間、VREP會話標識、支持的路由類型以及組件的收發能力等信息。OPEN消息被接收之后,向對方發送KEEPALIVE消息確認。
在通過OPEN消息對組件的收發能力協商后,AS只具備發送UPDATE消息的能力,ASM的D8接口只具備接收UPDATE消息的能力。AS通過向ASM發送UPDATE消息,報告服務器資源詳細信息,包括CPU信息和內存信息。ASM發送KEEPALIVE消息對其進行確認。
當AS和ASM在收發消息的過程中發現消息有誤時,任何一方都會利用NOTIFACATION消息報告錯誤并斷開連接。
2.2.5 擴展RTSP協議
NGOD架構對RTSP協議做了擴展[4],在此基礎上,本文對RTSP協議又進行了一些擴展,新定義了一些字段,包括:Application_Id,標示應用;Application_Type,標示應用的類型;AS_IP,應用服務器的IP地址;AS_PID,應用服務的進程號;AS_PORT_UP,應用服務器的端口,用于建立上行通路;AS_PORT_DOWN,應用服務器的端口,用于輸出流化后的音視頻到SS。會話消息類型太多,本文不一一敘述。下面是一個SM發送到ASM的SETUP的消息示例:

其中,destination指SS的IP地址或主機名,client-port指SS的輸入端口。如下是ASM發送的SETUP Response消息示例:

2.3.1 虛擬化
對云端資源虛擬化,主要有3種技術方式:服務器虛擬化、桌面虛擬化和應用虛擬化。
服務器虛擬化是將服務器物理資源抽象成邏輯資源,將CPU、內存、磁盤、I/O等硬件變成可以動態管理的“資源池”,一臺服務器變成幾臺甚至上千臺服務器。將服務器硬件資源按需分配給每臺虛擬機,虛擬機上再安裝操作系統和用戶所需的應用程序。采用服務器虛擬化方式,可以為每個用戶分配一臺虛擬機,這樣便于資源管理和用戶數據的管理,并且用戶與用戶之間有很好的隔離性。但是因為其實現方式是在系統里安裝虛擬化軟件,再在虛擬機上安裝操作系統,所以就會產生原生系統和虛擬化軟件兩層消耗。即使以Hyper-V為代表的虛擬化技術實現了跨過原生系統,直接在硬件上安裝虛擬化軟件,但虛擬機上運行操作系統本身就是很大的消耗。隨著用戶的增多,需要配置越來越多的虛擬機,這會帶來一個無法忽略的成本。另外,由于需要對每臺虛擬機進行維護、安全檢測,對系統管理員來說,工作量太大,并且可能因為無法及時對虛擬機進行維護檢測帶來很大風險。
桌面虛擬化指將計算機的桌面進行虛擬化,以達到桌面使用的安全性和靈活性。桌面虛擬化依賴于服務器虛擬化,與服務器虛擬化有著類似的優缺點。
應用虛擬化指將應用程序與操作系統解耦合,為應用程序提供一個虛擬的運行環境。在這個環境中,不僅包括應用程序的可執行文件,還包括它所需要的運行時環境。從本質上說,應用虛擬化是把應用對底層的系統和硬件的依賴抽象出來。每個通過應用虛擬化技術封裝的應用程序,在相互獨立的虛擬化環境中運行,這樣可以減少不同應用程序之間出現的沖突,提高應用程序的兼容性,同時可以實現在同一臺計算機上運行同一種應用程序的不同版本,具有很大的靈活性。應用虛擬化簡化了應用安裝過程,提高了應用部署的速度。采用應用虛擬化技術,系統管理員可以直接在服務器上對系統進行維護檢測,減少了工作量,降低了風險[7]。
綜上考慮,本文推薦采用應用虛擬化技術在應用服務器上部署應用。
2.3.2 會話通路
在原有的NGOD架構中,用戶請求視頻點播服務時,會話的上行通路是點播客戶端到推流服務器,會話的下行通路是媒體資源注入到推流服務器,推流服務器將其推流到邊緣設備,再傳輸到點播客戶端呈現。
對NGOD架構進行擴展后,用戶請求云應用服務時,會話的上行通路是點播客戶端到應用服務器,在該通路上傳輸用戶的操作指令。應用服務器將應用流化后傳輸到推流服務器,推流服務器再將其傳輸到邊緣設備,然后傳輸到點播客戶端呈現,從而構成了會話的下行通路。
由于中國國內廣電網絡的特殊,用戶端機頂盒更新緩慢、硬件配置低、功能受限,瘦客戶端方案仍是受廣電運營商關注的一種應用部署解決方案。借助趨于成熟的虛擬化技術,在NGOD架構的基礎上,擴展架構搭建對于融合于現有廣電網絡的云應用服務平臺具有重要意義。
:
[1]北京視博云[EB/OL].[2014-03-02].http://www.cybercloud.com.cn.
[2]Playcast[EB/OL].[2014-03-02].http://www.playcast-media.com/.
[3]張京立.淺析NGOD標準架構的設計理念和優點[J].有線電視技術,2011(9):98-99.
[4]Comcast.Next generation on demand(NGOD 2.0)RTSP usage spec?ification[S].2006.
[5]李永濤,胡朋,王志謙.基于NGOD架構的VOD系統邊緣資源會話管理方案[J].電視技術,2011,35(19):1-3.
[6]胡朋.基于NGOD架構的VOD系統資源管理和服務發現研究與應用[D].北京:北京郵電大學,2012.
[7]付平武.應用虛擬化技術應用與研究[J].電腦知識與技術,2013,9(20):4732-4733.