背景知識
自從六年前北美第一個有線電視VOD系統部署以來,數字視頻系統的復雜度有了極大的增加,并且這種增加的趨勢還在繼續加快。電影點播(MOD)是數字有線系統中首先部署的VOD業務,隨后又有了訂閱VOD業務(SVOD)、免費點播(FOD)和采用實時編碼(RTE)的網絡個人錄像業務(nPVR)業務。而且在最近一年內由于向HDTV高清服務過渡,和DOCSIS3.0服務之類的競爭壓力驅動下,北美的MSO已經開始嘗試推出交換式數字視頻業務(SDV)。另外有線電視經營者也在尋找基于新的網絡業務的廣告收入而帶來的新的收入來源,為此他們也正在準備部署VOD廣告。為此MSO需要一種能夠快速集成新型服務和新型服務器的開放式的視頻點播服務管理平臺,以便容易的擴展自身的系統以應對不斷快速增加的新業務。
Timer Warner Cable部署的開放式VOD系統
為此目的,Time Warner Cable在VOD業務系統建設時充分認識到了系統開放性的重要性,為此制定了On demand interactive services Architecture。此架構的基本框圖如下圖所示:
在上圖中可以看到Time Warner將視頻點播系統總體分為3個大部分:1.用戶機頂盒;2.頭端系統;3.計費系統;Timer Warner cable制定了這三個大系統之間的連接接口,并且定義了頭端系統中各子系統之間的接口。只要是符合其規定接口的系統,均可以快速的相互集成。
視頻點播服務中頭端與機頂盒的接口
在Timer Warner的視頻點播系統中,機頂盒和前端系統中共有4個連接:
1.從前端視頻服務器輸出視頻流到機頂盒,這部分采用標準的MPEG-2傳輸流。
2.機頂盒對視頻服務器播出視頻流的控制連接,這部分連接采用了LSCP(light stream control protocol)。
3.機頂盒與前端中的資源管理系統的控制連接,這部分采用SSP協議(session setup protocol)。
4.機頂盒與前端系統中的應用服務器之間的連接。TimeWarner cable并未對此部分進行規定。
由以上接口定義可以看到符合這種標準的機頂盒是與前端中所選用的視頻服務器和視頻點播管理系統無關。這意味著前端系統中的視頻服務器和管理系統的更換或者擴展對于用戶端機頂盒是一個透明的過程,這樣可以確保將來在升級前端系統服務功能和擴展規模的時候,運營商不用受限于與現有機頂盒的兼容性問題。
視頻點播頭端系統與計費管理系統之間的關系
在Timer Warner Cable視頻點播系統模型中將計費系統與視頻點播頭端系統分開,并且定義了專門的CBI接口. 采用這種方式的設計借鑒了電信網絡系統的架構,將VOD的業務管理平臺的功能主要集中在業務控制方面,而將最經常會發生改變的業務邏輯和商業邏輯交由另外的計費系統處理。采用這種設計的主要思路是將VOD作為一種底層的業務看待,當應用層服務需要進行擴展和更改時,更改的方式是將VOD這種底層業務與上層的業務邏輯和商業邏輯結合構成不同的視頻點播服務。而采用這種設計帶來的好處是運營商在未來的服務擴展過程中能夠擁有更多的選擇,而不必被某個特定的VOD軟件服務提供商鎖定。而且將VOD管理平臺作為一個底層業務控制層面系統進行設計的另外一個好處在于越來越多的有線電視運營商正在向視頻+數據+語音的全業務運營商轉變,他們越來越多的將視頻方面的服務與數據或語音等服務一起進行打包銷售,將VOD業務控制功能和商業邏輯分開,使得運營商可以容易的把VOD業務與其他未來的交互業務進行打包處理,實現多種業務的綜合商業邏輯。
在Timer Warner Cable視頻點播系統模型中計費系統主要負責完成以下功能:
1.創建和管理用戶帳號
2.創建和管理與用戶帳號相關的接入設備
3.對于用戶的購買行為進行追蹤和出賬
4.管理用戶訂閱的服務
5.為客戶服務系統提供對VOD服務的管理接口。
開放式的VOD系統頭端
在Timer Warner Cable視頻點播系統模型中頭端系統是指會話連接資源管理系統(Session Resource Management)、視頻服務器,應用服務器,業務管理系統(Business Management System)和計費網關這一系列軟件和硬件的組合。在這些系統部件中,業務管理系統BMS是整個開放式VOD系統中的核心處理引擎。在整個視頻點播頭端平臺系統中設計中,BMS采用了CORBA技術。
公用對象請求代理(調度)程序體系結構(Common Object Request Broker Architecture),縮寫為CORBA,是對象管理組織(Object Management Group)對應當今快速增長的軟硬件的協同工作能力的要求而提出的方案。簡而言之,CORBA允許應用程序和其他的應用程序通訊,而不論他們在什么地方或者由誰來設計。CORBA定義了接口定義語言(IDL)和應用編程接口(API),從而通過實現對象請求代理(ORB)來激活客戶/服務器的交互。CORBA 2.0于1994年的12月發布。他定義了如何跨越不同的ORB提供者而進行通訊。
ORB是一個中間件,他在對象間建立客戶-服務器的關系。通過ORB,一個客戶可以很簡單地使用服務器對象的方法而不論服務器是在同一機器上還是通過一個網絡訪問。ORB截獲調用然后負責找到一個對象實現這個請求,傳遞參數和方法,最后返回結果。客戶不用知道對象在哪里,是什么語言實現的,他的操作系統以及其他和對象接口無關的東西。
在傳統的客戶/服務器程序中,開發者使用他們自己設計的或者公認的標準定義設備之間的協議。協議的定義依賴于實現的語言,網絡的傳輸和其他許許多多因素。ORB將這個過程簡單化。使用ORB,協議定義是通過應用接口,而該接口是接口定義語言(IDL)的一個實現,他和使用的編程語言無關的。并且ORB提供了很大的靈活性。他讓程序員選擇最適當的操作系統,運行環境和設計語言來建設系統中每個組件。更重要的是,他允許集成已經存在的組件。
CORBA是在面向對象標準化和互操作性道路上的一個信號。通過CORBA,用戶不必要知道軟硬件的平臺和他們處在企業網的什么地方就可以操作。
在系統中采用CORBA結構之前,運營商如果在系統中需要開發多種服務時不得不采用軟件邏輯結構。
在前端開發的應用中每一種應用都不得不針對自身應用的后臺過程進行接口開發,即使其中有能夠進行軟件重用的部分,但依然要對每個后臺支持進程進行開發和部署。
采用CORBA技術可以在軟件層面設計一個軟件總線,從而在開發前端應用的過程中,開發者不必要和后臺公用的服務進程進行一對一的接口開發。而且最重要的一點是在擴展系統的過程中,無論是后臺公共服務進程的擴展,還是向整個系統中添加新的應用服務進程,對于整個系統不需要整個重構。
Timer Warner Cable定義了ISA結構,在此結構中定義了Customer/CustomerFactory;Terminal/TerminalFactory;Purchase/PurchaseFactory;Provider/ProviderFactory;Product/ProductFactory;Package/PackageFact