李永濤,胡 朋,王志謙
(北京郵電大學a.網絡技術研究院;b.網絡與教育技術服務中心,北京 100876)
責任編輯:閆雯雯
中國有線數字電視接入和應用業(yè)務正處于良性高速發(fā)展階段。隨著交互業(yè)務的推廣,業(yè)務運營規(guī)模的擴大,IPQAM的數量也在不斷擴大,對QAM資源的使用也日趨復雜,使用傳統的邊緣資源管理方案,不僅可能造成服務器資源、帶寬資源大量浪費,而且使服務質量難以控制,難以滿足流媒體業(yè)務需要。為此,筆者提出基于NGOD架構的邊緣資源管理的會話處理方案。
下一代視頻點播架構NGOD(Next Generation On Demand Video Architecture),是由有線電視服務商美國康卡斯特電信公司(Comcast Corp.)提出的一種網絡框架結構。針對邊緣資源的管理,NGOD提出邊緣架構的概念,邊緣架構如圖1所示。邊緣架構中定義的主要模塊有邊緣資源管理器(ERM),邊緣資源管理重定向器(ERMR)和邊緣設備(ED)。其中,ERM負責管理ED中的QAM資源,ERMR服務于上層的會話管理器(SM),當存在多個ERM時負責ERM的重定向。筆者將主要介紹ERM的功能。
圖1 NGOD系統邊緣架構圖
ERM是NGOD架構標準中的一個模塊,主要用于有效管理和調度邊緣QAM資源,當點播客戶端發(fā)起點播請求時,通過會話管理器SM(Session Manager,符合NGOD架構的BO中的一個模塊,用于建立和撤銷會話)建立一個會話,SM則會向ERM發(fā)起資源請求,ERM則會收集符合標準的IPQAM的資源信息返回給SM。當SM收到資源信息后會結合資源的其他情況完成會話過程,使得視頻服務器能和IPQAM有效配合完成點播。
在NGOD架構中,ERM有積極和消極兩種資源請求模式。在積極模式中,SM會發(fā)送包含多個QAM Name的資源請求給ERM,ERM會從收到的QAM中根據一定的算法選擇唯一合適的資源返回給SM,ERM具有決定資源權;在消極模式中,SM發(fā)送包含多個QAM Name的資源請求給ERM,ERM會從中根據算法返回一系列(至少一個)資源信息,并保留這些資源,SM再從保留的資源中根據其他的資源管理器來選擇其中合適的資源并告知ERM,然后ERM釋放其他不需要的資源。
這兩種分發(fā)模式各有利弊。首先,積極模式的優(yōu)點是SM和ERM的交互過程比較少,對服務器維護會話鏈接的壓力比較小;積極模式的缺點是因為只有SM能和流媒體服務器進行交互,ERM并不能保證返回的唯一QAM資源和流媒體服務器的鏈接暢通,所以不能保證流媒體服務器能向指定的QAM推流。相反,悲觀模式彌補了積極模式的缺點,在ERM選擇合適的資源并保留后,SM利用其他資源管理器檢查保留的資源和流媒體服務器的鏈接是否暢通,再確定最好的資源發(fā)給ERM,這樣就保證了業(yè)務的完整性;但相對積極模式,該模式的業(yè)務流程比較復雜,對服務器的壓力比較大。
一般多服務運營商(MSO)要求ERM必須對這兩種模式都能支持,這樣MSO可以根據自身流媒體服務器和邊緣設備的鏈接情況進行選擇,制定最符合自身利益的方案。
2.3.1 S6接口及業(yè)務處理流程
S6接口用于SM和ERM之間進行資源請求的Session信令交互,此接口基于RTSP協議,應包括Setup/Teardown/Announce信令。點播客戶端發(fā)起點播請求時,SM會建立會話,并通過S6接口向ERM發(fā)送資源請求Setup,ERM選擇好合適的資源后會給SM發(fā)送Response回應。
S6接口悲觀模式下會話Setup流程圖如圖2所示。
圖2 S6接口悲觀模式下會話Setup流程圖
在悲觀模式下,SM表現為RTSP客戶端和服務器(具體情況在下面指明),ERM表現為RTSP代理。具體的消息流程如下:1)SM(這時SM表現為RTSP客戶端)通過S6接口向ERM發(fā)送資源請求Setup(1)消息,該消息中包括一組QAM的信息和會話建立所需要的帶寬信息;2)當收到SM發(fā)過來的Setup(1)消息后,ERM從Setup(1)消息中解析出QAM名字列表,根據一定算法從該名字列表中選擇一個或多個QAM,并預留這些QAM資源,最后查詢QAM對應的IP信息并通過Setup(2)消息發(fā)送給SM(這時SM表現為RTSP服務器);3)當SM收到ERM發(fā)送的Setup(2)消息后,SM通過和點播資源管理器交互檢查ERM選擇QAM和流媒體服務器的鏈路是否暢通。當選擇好最佳的QAM后,SM(這時SM表現為RTSP客戶端)發(fā)送攜帶QAM IP信息的Setup Response(3)消息給ERM;4)當ERM收到SM發(fā)送的Setup Response(3)信息后,ERM確認該QAM資源并返回Setup Response(4)消息給SM(這時SM為RTSP服務器),該消息攜帶機頂盒所需要的頻點和節(jié)目號信息。
S6接口積極模式下會話Setup流程圖如圖3所示。
圖3 S6接口積極模式下會話Setup流程圖
在積極模式下,SM表現為RTSP客戶端,ERM表現為RTSP服務器。交互過程相對悲觀模式比較簡單,具體消息流程如下:1)SM向ERM發(fā)送Setup消息,該消息包括一組QAM的信息和會話建立所需要的帶寬信息,該消息跟悲觀模式下Setup(1)相同;2)當收到SM發(fā)送來的Setup消息后,ERM從解析出的QAM名字列表中根據一定的算法選擇唯一的QAM資源并確定該資源,最后查詢QAM對應的IP信息和頻點、節(jié)目號信息,通過Setup Response消息發(fā)送給SM。
會話建立后,在會話過程中,ERM也會實時發(fā)送Announce消息給SM反映QAM資源情況。
當客戶端發(fā)起中斷點播命令或者出現突發(fā)情況時,SM也會發(fā)起Teardown消息給ERM,以告知釋放資源。
S6接口會話Teardown流程圖如圖4所示。
Teardown具體的消息流程如下:1)SM向ERM發(fā)送Teardown(1)消息;2)ERM作為代理將Teardown(2)消息發(fā)給SM;3)SM收到ERM的Teardown(2)消息,SM釋放通知流媒體服務器釋放資源,作為確認消息向ERM發(fā)送Teardown Response(3)消息;4)ERM收到SM的Teardown Response(3)消息,ERM釋放會話中的QAM資源,并作為確認消息向SM發(fā)送Teardown Response(4)。
圖4 S6接口會話Teardown流程圖
2.3.2 R6接口及業(yè)務處理流程
R6接口也是基于RTSP協議,用于ERM和IPQAM之間的Session信令交互接口,也應包括Setup/Teardown/Announce/Get_Parameter/Session keep-alive信令。
當SM初始化一個會話并要求ERM來建立一個點播會話時,ERM將向邊緣IPQAM發(fā)送一個會話建立消息,邊緣IPQAM可以使用R6提供消息信息建立數據平臺,ERM也可要求邊緣IPQAM在沒有被提供節(jié)目的情況下停止數據檢查、注入以及流保護,ERM決定資源不再需要時也會通過R6通知IPQAM。
R6接口會話Setup流程如圖5所示。
圖5 R6接口會話Setup流程圖
對于Setup,ERM通過R6和IPQAM進行信令交互的過程如下:1)ERM發(fā)送RTSP會話建立請求給IPQAM,如果超時將會發(fā)送teardown;2)IPQAM收到ERM發(fā)送來的RTSP Setup請求;3)ERM接收IPQAM的回應,并保存Session ID;4)ERM接收SM發(fā)送的RTSP會話建立請求;5)ERM發(fā)送RTSP會話建立請求給IPQAM,并同時攜帶Session ID和StartChecking消息頭;6)ERM接收RTSP Setup回應。
R6接口會話Teardown流程如圖6所示。
對于Teardown,ERM通過如下步驟進行:1)SM發(fā)送teardown請求,ERM接收;2)ERM完成內部處理后回應SM;3)ERM告知IPQAM終止會話;4)ERM接收終止會話回應。
圖6 R6接口會話Teardown流程圖
另外,在會話過程中出現問題時,QAM會發(fā)送Announce消息給ERM反映QAM資源情況。ERM也可通過Get_Parameter消息獲取會話的相關信息,并可通過Ping請求保證會話的鏈接可靠性。
在ERM的實現過程中,發(fā)現NGOD架構中對會話消息流中有些異常處理描述的不是很詳細。例如:在R6協議中規(guī)定,在ERM向邊緣設備發(fā)送provision消息后開啟定時器,如果超時后未收到response認為會話建立失敗,這時ERM重發(fā)provision消息并重啟定時器;如果超時后收到response也認為會話建立失敗,但這時邊緣設備已預分配QAM資源,因此要求ERM向邊緣設備發(fā)送teardown消息釋放該資源。在這種情況下,并不能判斷超時后收到的response消息是先發(fā)送的provision消息的回復還是超時后重發(fā)的provision消息的回復。為了解決這種問題,可以判斷超時后收到的response消息中的序列號CSeq與provision消息中的CSeq是否匹配,如果response消息中的CSeq和首先發(fā)送的provision消息中的CSeq匹配,則需要發(fā)送teardown消息把資源釋放掉;如果response消息中的CSeq和重發(fā)的provision消息中的CSeq匹配,如果未超時則認為QAM資源分配成功。
另外,在ERM的實現過程中,發(fā)現MSO現在采用的業(yè)務系統有可能不直接提供QAM名字列表,而是提供Service Group的信息,相當于提供一組QAM信息,但是在NGOD架構中并不存在Service Group的概念,因此并不能在Service Group和QAM名字列表間建立映射關系。為了實現ERM對多業(yè)務系統的支持,滿足MSO對ERM支持多業(yè)務的要求,可采用通過SM查詢ERM的數據庫表并建立自己的映射關系來解決。
在NGOD架構中利用邊緣資源管理器(ERM)管理邊緣資源,可實現資源的動態(tài)分配,避免了不必要的帶寬浪費,能更好地處理用戶的請求,實現了對邊緣資源更方便、更高效的管理和使用。ERM還能同時支持VOD,SDV,M-CMTS等多業(yè)務系統,為多業(yè)務間邊緣資源的共享提供了解決方案,有利于有線電視產業(yè)的發(fā)展。
[1]甘育裕,商彬,陳銘灝.視頻點播系統核心設備研究與設計[J].電視技術,2007,31(8):63-64.
[2]Comcast Corp.NGOD Overall Architecture Version 2.0[G].[S.l.]:Comcast Corp,2006.
[3]Comcast Corp.NGOD Edge Architecture Version 2.0[G].[S.l.]:Comcast Corp,2006.
[4]Comcast Corp.NGOD Session & Edge Resource Interface-S6 Version 2.0[G].[S.l.]:Comcast Corp,2006.
[5]Comcast Corp.NGOD Edge Resource Interface-R6 Version 2.0 [G].[S.l.]:Comcast Corp,2006.
[6]SCHULZRINNE H,RAO A,LANPHIER R.RFC-2326 Real Time Streaming Protocol[S].1998.
[7]Comcast Corp.NGOD RTSP Usage Specification Version 2.0[G].[S.l.]:Comcast Corp,2006.
[8]Cable Television Laboratories DOCSIS,Inc.Edge Resource Manager Interface Specification[EB/OL].(2008-11-12)[2011-01-05].http://www.cablelabs.com/specifications/CM-SP-ERMI-I03-081107.pdf.