胡 朋,李永濤,王志謙
(北京郵電大學a.網絡技術研究院;b.網絡與教育技術服務中心,北京 100876)
隨著時代的進步和社會的發展,人們對精神文化和信息的需求逐步增長,質量要求越來越高,高清電視和數字電視的交互式服務正在成為服務提供商積極開展的業務。在HFC(Hybrid Fiber-Coaxial)網絡中,數字電視交互業務的不斷推廣,業務運營規模不斷擴大,使IPQAM數量不斷擴大[1];互聯網業務、SDV(Switched Digital Video)業務等新型業務的出現,使IPQAM資源使用日趨復雜。因此邊緣資源管理系統(Eagle Resource Manager,ERM)的開發及使用勢在必行。
邊緣資源管理系統ERM,作為視頻點播等電視交互業務系統中的一個組件,主要用于管理和監控每個會話(Session)所需的邊緣資源。它位于資源使用者會話管理系統(Session Manager,SM)和資源提供者IPQAM之間,在SM向ERM發起會話請求并提供對所需資源帶寬等要求和一系列候選QAM名字后,ERM要根據一定的算法為該會話分配一個QAM資源。ERM除了要為每個會話分配合適的邊緣資源,還要完成對邊緣設備的發現、注冊和統一管理。
整個系統在初始階段,或者在有新的邊緣資源接入系統時,ERM要能發現進入其控制范圍的邊緣資源,并通過與邊緣設備的交互接口了解該設備的能力及狀態信息,完成對QAM資源的注冊。對邊緣設備的統一管理主要體現在對資源各項信息的維護和管理,包括邊緣設備輸入和QAM節目輸出的對應關系及每個會話的狀態等信息。邊緣資源管理系統還需要滿足一些必要的性能要求,比如在邊緣設備注冊完成后,ERM必須隨時監控邊緣設備的狀態,在邊緣設備出現突發狀況時應及時做出應對舉措,在分配資源時通過適當的算法保障邊緣設備的負載平衡,以保證在大用戶量的情形下也可以盡可能地傳輸高比特率視頻流。
另外,當在交互系統中IPQAM資源數量過多時,為提高管理效率,可以設置ERM路由器(ERM Router),幫助SM選擇不同的ERM為其提供服務。在這種情況下,ERM還需要完成統計自身管理的所有邊緣資源數據并將其轉發給ERMR的工作。
2.1.1 ISA
交互服務架構ISA(Interactive Services Architecture)[2],是美國有線運營商Time Warner Cable為以視頻點播(Video on Demand,VOD)為代表的交互式服務提出的網絡框架結構,是現行交互服務使用最廣泛的架構。
ISA架構中定義的主要模塊是業務管理系統BMS(Business Management System)和會話及資源管理系統SRM(Session and Resource Manager)[3],其中 SRM 負責邊緣資源的管理和分配。在會話網關(Session Gateway)向SRM發送SARR(Server Add Resource Request)提出資源請求后,SRM會按一定算法為會話分配QAM資源。在大多基于ISA架構的交互式服務系統中,SRM對IPQAM資源的管理采用了靜態方式,即僅利用自身維護的邊緣資源信息對QAM進行分配和管理,而對被分配資源的實時狀態等信息不進行監控。
2.1.2 NGOD
下一代交互電視架構NGOD(Next Generation On Demand)[4]是美國有線運營商COMCAST公司提出的另一種交互式服務網絡框架結構。NGOD架構中為了更好的管理和分配邊緣資源,特意提出了ERM組件。該組件利用S6接口對SM提出的資源請求進行處理回應,在與邊緣資源之間借助D6接口發現注冊QAM資源,借助R6接口對邊緣資源進行動態分配。另外,NGOD中的ERM還定義了N接口,便于網絡運營商通過網絡管理工具對網絡進行管理。圖1為NGOD架構中的邊緣組件架構圖[5]。

圖1 NGOD邊緣架構
ISA架構中對邊緣資源分配的方案,由于放棄了與IPQAM資源的實時交互,在為會話提供資源時更快捷,但也正是由于缺少動態交互,若邊緣設備發生意外情況而SRM未監測到,失效資源就可能被分配而導致錯誤。NGOD架構標準中對邊緣架構的設計,充分考慮了對邊緣資源的管理和監控,并實現了對邊緣資源的動態分配,使系統中的QAM資源得到更好的管理和使用。
通過對比兩種交互式服務的架構,不難得出,NGOD架構比ISA架構在對邊緣資源管理上有很大的優勢。雖然ISA的處理方案比NGOD更加快捷,但是在對邊緣設備的動態管理上不及NGOD考慮的周全。因此,在NGOD架構的ERM基礎上對邊緣資源管理系統進行開發設計。在NGOD架構中,ERM通過D6接口[6]完成對邊緣資源的發現和注冊,獲知邊緣資源的詳細信息,了解邊緣設備的實際拓撲結構,及時發現失效邊緣設備。下面主要介紹該接口的設計實現。
D6接口是基于VREP(Video Registration Protocol)協議(在TRIP協議[7]基礎上進行了必要的擴展)實現的。邊緣設備利用該接口向管理自身的ERM注冊更新各項邊緣資源信息,以方便ERM的管理和分配。D6接口消息的交互過程如圖2。

圖2 D6時序圖
VREP協議中包含4種消息:OPEN消息,UPDATE消息,KEEPALIVE消息,NOTIFACATION消息。OPEN消息用于初始化ERM和QAM間的TRIP會話;UPDATE消息用于邊緣設備向ERM報告參數信息;NOTIFACATION消息用于發現并報告錯誤;KEEPALIVE消息用于維持連接心跳。整個系統初始化時,每個邊緣設備都會處于空閑狀態,一直試圖與管理自己的ERM建立TCP連接。ERM啟動后,D6接口在服務器端等待QAM資源的連接請求,IPQAM主動發起連接請求,與ERM建立連接,并進入已連接狀態。之后的消息交互流程如下:
1)處于已連接狀態的邊緣資源向ERM發送第一個消息——OPEN消息,消息體內為QAM資源與ERM需要協商的一些參數信息,比如版本號、超時時間、支持路由類型等。消息發送后,邊緣設備等待ERM的回應消息。
2)ERM在收到OPEN消息,根據自身情況,同樣通過D6接口向該QAM資源發送含協商參數信息的OPEN消息。
3)邊緣設備收到回復的OPEN消息后,發送KEEPALIVE消息表明協商信息已經收到。通過管理系統和邊緣設備互發的OPEN消息,一些需要協商的參數得以商定,ERM和IPQAM都會了解并記錄對方的基本信息。
4)雙方協商結束后,ERM會等待邊緣設備向其報告邊緣資源的詳細信息,邊緣設備中的每個QAM資源,會逐一向ERM發送UPDATE消息,消息體內包含該QAM資源的全部基本信息,這些信息將來會被ERM用來作為分配QAM的依據。ERM收到UPDATE消息后,會將消息體內的信息保存至數據庫。
5)每當ERM收到邊緣設備發過來的消息(NOTIFACATION消息除外),如果能正確解析消息,并且消息體內的參數沒有問題,它都會以KEEPALIVE消息進行回應。在邊緣設備的所有QAM都向ERM報告完畢自己信息之后,如果沒有其他消息要發送,邊緣設備和ERM會在規定時限內互相發送KEEPALIVE消息來保持心跳,以保證他們之間連接的正常。
當然,在邊緣設備參數等信息發生改變后,IPQAM會利用其與ERM之間維護的連接向邊緣資源管理系統再次發送UPDATE消息報告改變后的信息。另外,ERM和邊緣設備在收發消息過程中當發現信息有誤時,任何一方都會隨時利用NOTIFACATION消息報告錯誤并斷連。互相發送消息的時間間隔限制是雙方在OPEN消息中商定的超時時間HoldTime的1/3,若任何一方在規定時間內沒有收到心跳消息,會再次發送KEEPALIVE消息,但在重發3次后還是沒有收到回應,則可以認定對方設備出現問題,即刻斷連,回到初始狀態。
根據D6接口功能,將其劃分成消息解析模塊、組包模塊和主流程模塊分別實現。
2.3.1 消息解析模塊
該模塊主要負責對邊緣資源發送來的消息進行解析。通過解析,提取出所收到消息的所有信息,將其放入預先定義的結構體內以供主流程處理。在解析過程中如果遇到消息體錯誤等問題,向主流程匯報錯誤原因,方便主流程做出相應處理。
根據VREP協議,D6接口可能收到的消息類型有4種:OPEN消息、UPDATE消息、KEEPALIVE消息和NOTIFACATION消息。解析模塊首先根據消息頭中的Type字段,判斷要解析消息的種類,然后將其交給相應的解析函數處理。OPEN消息體內除了包含交互雙方需要協商的參數信息,如超時時間HoldTime、協議版本Version等,還包括邊緣設備向ERM匯報的設備信息,如其支持的路由類型Route Types Supported、收發能力Send Receive Capability等。UPDATE消息體內包含邊緣資源的詳細信息(如QAMNames,AvailableBandwidth,QAMParameters,UDPMap 等)。NOTIFACATION消息體內包含錯誤代碼、子代碼及錯誤原因描述等信息。KEEPALIVE消息體是一個只有3 byte的短消息。
2.3.2 組包模塊
該模塊主要負責依據VREP協議規定將ERM準備發送給邊緣QAM的信息組織成合法的消息體。D6接口需要發送的消息類型可能有3種:OPEN消息、KEEPALIVE消息和NOTIFACATION消息。組包模塊根據要打包消息的不同種類分別調用相應的組包函數。具體打包過程依據協議規定操作。
2.3.3 主流程模塊
該模塊主要負責與邊緣設備建立連接,實現上文提到的消息交互流程,合理應對可能出現的錯誤:
1)啟動TCP服務端,等待邊緣設備的連接。
2)接收邊緣設備連接請求,派生線程與該邊緣設備進行交互(先生成子進程,子進程再派生線程,具體策略不作介紹),主進程繼續監聽。
3)接收發自邊緣QAM的消息,調用消息解析模塊對其進行解析。連接建立后的第一個消息應該是OPEN消息,解析結果若有問題,斷開連接。
4)根據解析的OPEN消息體內的信息與ERM自身的情況,決定協商參數,調用組包模塊打包一個OPEN消息,發送給邊緣設備。
5)收到回復的KEEPALIVE消息后,同樣以KEEPALIVE消息回應。
6)循環等待接收邊緣設備向ERM發送的UPDATE消息,調用解析模塊將攜帶信息解出,同時組包KEEPALIVE消息進行回應。
7)若解析到的消息為KEEPALIVE消息,同樣組包KEEPALIVE消息進行回應(保持心跳)。
8)無論何時,一旦發現解析的消息有誤,即刻組包NOTIFACATION消息(由錯誤原因確定錯誤代碼)發送給邊緣設備,并斷開連接。如果收到邊緣設備發送的NOTIFACATION消息,同樣斷開連接,查看錯誤原因。
NGOD架構中ERM在管理邊緣資源方面的實現方案最大的缺陷在于,由于考慮到邊緣資源管理系統要對邊緣資源實施動態管理和分配,NGOD規定ERM和邊緣設備之間要保持長連接。因此,ERM不但要維護各類會話信息,記錄邊緣設備輸入和QAM節目輸出的對應關系,還要負責維護管理與眾多邊緣設備之間的連接,維護這些長連接的巨大開銷使服務器壓力很大,導致一個ERM設備支持的QAM管理數量有限。
ERM與邊緣設備保持長連接主要有兩個用途:其一,兩者保持心跳可以保證及時發現錯誤的存在。假設有一個邊緣設備突然失效,ERM會通過心跳停止來判斷該設備或與該設備連接的網絡出現了致命的問題,立即做出為使用該邊緣設備的會話更改資源的補救措施,同時在數據庫里做好記錄,防止再將其分配給其他會話。實際工程中,ERM還會根據長連接的斷開及時定位出現問題的邊緣設備,以方便工作人員整修。其二,兩者保持長連接,在邊緣資源參數發生改變時,邊緣設備可以更方便快捷地使用該連接向ERM匯報,使ERM維護的邊緣資源信息及時可靠。若為了減輕ERM壓力而不使用長連接,同時又要盡量實現以上兩個功能,可以考慮邊緣設備向ERM定時報告和修改時報告相結合的機制。
所謂定時報告,即邊緣設備定時向ERM發送消息。因為要放棄長連接,為了保證ERM管理的QAM資源都是在線的,邊緣設備需要每隔一定時間向ERM發送KEEPALIVE消息,此時間間隔的選擇可以根據開銷最優化計算得出。為了減少頻繁建立關閉連接的開銷,定時報告消息可選擇利用UDP協議傳輸。修改時報告是指在邊緣設備注冊結束后,TCP連接可以斷開。當邊緣設備參數信息改動后需要再次發送UPDATE消息時,重新與ERM建立連接。
要實現以上機制,需要對D6接口和VREP協議做適當的修改。首先,VREP協議的消息流程有一定改動:在邊緣設備匯報完更新信息后(即發完UPDATE消息后),不需要持續發送KEEPALIVE消息保持心跳,而是斷開連接。在此機制下,TCP服務器在與邊緣QAM建立連接后,收到的第一個消息不一定是OPEN消息,所以服務器的主流程模塊需要做適當修改:收到第一個消息后,若解析為OPEN消息,則打包OPEN消息回應,若為其他消息(NOTIFACATION消息除外),則回應KEEPALIVE消息。因為定時報告消息采用UDP協議傳輸,ERM可以啟動一個UDP服務器接收消息。由于ERM端采用了TCP服務器和UDP服務器分別管理邊緣設備的注冊更新和在線維護,這就帶來了對設備超時時間的管理問題。可以采用兩個服務器共同維護一個超時時間表的方法來解決該問題。ERM中建立一張包含所有其管理的QAM的表用來記錄超時時間,每個邊緣設備表項都擁有一個定時器。在邊緣設備向ERM注冊第一次建立連接時,TCP服務器將該設備加入到邊緣設備表,并啟動定時器。每次TCP服務器或者UDP服務器接收到一個邊緣設備發來的消息時,都要將設備表中該邊緣資源的定時器清零。如果設備表中有表項的定時器到了規定的超時時間,即認定該設備連接出現錯誤。
以上修改方案適用于邊緣設備出錯概率相對較低的系統中應用。該方案的缺陷是一旦邊緣設備或者網絡出現異常,用戶受到的影響時間可能會比NGOD架構規定的方案長,而它的優勢在于很大程度上減輕了ERM的管理壓力,增加了ERM管理QAM資源的數量,使邊緣系統更加輕便。
數字電視互動服務中,由于ERM的引入,大量的邊緣資源得到了更好的管理和利用,這使整個邊緣系統運行更有序、更方便。基于NGOD架構的ERM設計實現方案,尤其是在邊緣資源管理方面,相比于ISA架構來說,提高了對邊緣資源管理的準確性和有效性,為將來不斷擴展的數字電視互動服務提供了邊緣設備方面的支持。
[1]甘育裕,商彬,陳銘灝.視頻點播系統核心設備研究與設計[J].電視技術,2007,31(8):63 -64.
[2]Time Warner Cable.Pegasus interactive services architecture:Version 1.4[EB/OL].[2010 -10 -30].http://www.interactiveservices.org.
[3]Time Warner Cable.Pegasus Overall Flow:Movie Delivery:Version 1.0[EB/OL].[2010 -10 -30].http://www.interactiveservices.org.
[4]Comcast.NGOD:overall architecture:version 2.0[S].2006.
[5]Comcast.NGOD:edge architecture:version 2.0[S].2006.
[6]Comcast.NGOD:service discovery & registration interface:version 2.0[S].2006.
[7]ROSENBERG J,SALAMA H,SQUIRE M.Telephony routing over IP[EB/OL].[2010 -10 -30].http://www.ietf.org/rfc/rfc3219.txt.