節點間實現的中間件技術
對于IPTV業務平臺內部或業務平臺和內容平臺之間的節點連接中間件,目前國內IPTV標準中推薦采用API接口實現,但沒有提出具體的要求。標準中縱向API接口的定義方式釋放了業務的開放性,任何內容業務提供商或者內容運營商如果要提供新的業務與應用給終用戶,只需在內容層開發相關的業務應用模塊。
中間件軟件層次按目前對業務系統的理解可以將層次結構劃分為系統資源、中間件平臺與應用程序三層組成。
中間件平臺實現體現在不同業務節點的連接上,業務節點泛指IPTV業務層上的服務器或機頂盒設備。業務節點之間的關系可以是客戶機服務器模式或者是P2P模式。
系統資源包括本地資源、操作系統和網絡協議。本地資源包括CPU、音視頻處理、輸入輸出資源、顯示資源、存儲資源等;操作系統是指業務節點(服務器或者機頂盒)所采用的操作系統,如Window、Linux、Unix等;網絡協議是基于IP的用于業務節點的通信的各類網絡協議。本地資源可以被本地資源API所調用,而其他業務節點的資源可以通過網絡資源API和網絡協議所調用。
該參考模型中包含了應用軟件接口(API)和中間件執行平臺,API又可以分成調用本地資源的AP和調用網絡資源的API,中間件執行平臺還包括應用程序管理器。應用程序不直接調用系統資源,而是通過一系列的本地或者網絡API來調用的,也就是說API屏蔽了業務節點系統資源層的多樣性和復雜性,并將系統資源以統一的接口界面呈現給應用程序。中間件執行平臺主要負責將應用程序和API程序編譯(解釋)成本地CPU可以執行的本地機器代碼,然后由本地CPU執行,這樣,應用程序就可以實現與業務節點的軟硬件平臺無關,它適合于運營商或者應用開發者獨立地開發業務應用,而這些應用可以通過遠程方式加載在各業務節點上。中間件執行平臺的例子如SUN公司的虛擬機(JVM)。應用程序管理器負責啟動應用程序,管理所有應用程序的生命周期,包括彼此之間的相互操作,便于各種應用程序能夠協調地執行。
應用程序是指在IPTV平臺上運行的實現某種業務功能的程序,如播放業務、電視商務、信息服務、遠處教育等。它可以由運營商或者應用開發者獨立地開發,并通過遠程方式加載在各業務節點上。
基于中間件的功能模塊的具體實現將依賴于具有計算、儲存和通信功能的計算機系統來實現(包括各類機頂盒與服務器),這些計算機系統在這里統稱為IPTV的業務節點,這樣兩個功能模塊的之間接口(或者參考點)的實現變成IPTV業務節點互通的問題。采用中間件方式實現兩個功能模塊的之間接口,將通過定義一系列統一的、標準的應用程序接口(API),屏蔽相關業務節點底層資源(操作系統和硬件平臺)的差異性,使得基于各功能模塊業務能力而開發的應用可以獨立于底層資源,使業務應用具有開放性和可移植性,為業務應用的開發提供了一個相對穩定的高層應用環境。
從中間件管理計算資源和網絡通信的作用以及采用的技術角度出發,API可以分為以下幾類:數據訪問API、消息API、遠程過程調用API、事物處理API以及基于對象請求代理API。數據訪問A允許應用程序和本地或者異地的數據庫進行通信。遠程過程調用API用于應用程序之間的同步通信。消息API支持分布式環境下多個進程之間進行可靠的數據傳送,實現客戶端和服務器之間同步或異步的消息傳輸,跟蹤事務。事務處理API適用于保證分布式環境中多業務節點交易處理結果的一致性以及交易響應的及時性。基于對象請求代理API用于滿足分布式環境中非結構化或非關系型的客戶端和服務器之間的過程調用及數據通信。
兩個業務節點可由兩個不同廠商提供,業務節點底層的系統資源層(硬件和操作系統等)也可能相互異構。例如,業務節點X為了實現另一個業務節點Y的互通,業務節點X的提供廠商必須依照所需要實現功能模塊的功能要求和業務流程,提供相應的API(應用程序接口)軟件,該API軟件將被移植在業務節點Y的系統資源層之上,由于業務節點X和Y的系統資源層可能相互異構,業務節點X所提供的API軟件在被移植到業務節點Y之前,須根據業務節點Y的系統資源層的特征進行必要的軟件適配,以便該API軟件能夠調用業務節點Y的系統資源層的資源(包括網絡協議),達到與業務節點Y與業務節點X互通的目的,實現兩個功能模塊的之間接口。
機頂盒設計中的中間件
在機頂盒的設計中可以采用中間件平臺將應用程序與系統資源相分離,使應用程序具備可移植性。中間件平臺包括中間件執行平臺、中間件可移植層、應用程序管理器和應用程序接口(API)。
中間件執行平臺:應用程序調用中間件API產生服務請求,中間件執行平臺通過對底層系統資源的調用,完成對該服務請求的解釋,實現應用程序通過中間件與底層系統資源的隔離。
中間件可移植層:對不同系統資源與中間件平臺進行適配。
應用程序管理器:負責啟動應用程序,管理所有應用程序的生命周期,包括彼此之間的相互操作,便于各種應用程序能夠協調地執行。
應用程序接口(API):應用程序不直接調用系統資源,而是通過一系列API調用,也就是說API屏蔽了業務節點系統資源層的多樣性和復雜性,并將系統資源以統一的接口界面呈現給應用程序。常用的API包括:
*資源管理器API負責對機頂盒中所有應用程序使用資源的調度,管理應用程序的使用狀態,并負責上報給應用程序管理器。
*安全認證API包括接入認證、對應用程序的鑒權和安全策略。安全機制的一方面就是對應用程序的鑒權。運營商對應用程序進行合法性校驗,客戶端中間件將下載的應用程序進行合法性檢查,確保應用程序沒有被篡改。
*下載服務API支持應用程序的動態下載。
*媒體控制API支持處理流媒體播放控制。
*圖形用戶界面API為應用程序提供用戶界面控制(如按鈕、列表)以及圖形圖象繪制等圖形功能。圖形顯示包括各種幾何圖形和圖象的顯示。它是基于IPTV接收設備平臺的屏幕顯示功能,及綜合抽象出來的一組通用的基本圖形操作功能,以支持上層軟件的調用,實現特定的顯示目的。
*DRM/CAAPI目前還沒有成熟的定義。
*網絡傳輸控制API支持各種網絡傳送協議,控制音視頻數據的傳送方式以及收集信息以提供服務質量保證(QoS)。
IPTV中間件標準尚不成熟
IPTV特別任務組已經啟動了關于IPTV系統中應用的中間件技術的研究,由于目前中間件的應用還沒有形成較為成熟和統一的方案,因此目前的研究將不會將系統中間件技術的標準化作為重點。
這包括目前IPTV系統中所采用的中間件技術的概念、分類、應用現狀;現階段IPTV系統中引入中間件技術的目標、實現該目標所采用的技術手段:IPTV系統平臺中間件的分類和具體技術類型;IPTV終端中間件采用的技術,包括對MHP技術構架的研究分析,IPTV終端中間件與業務擴展性研究,IPTV終端中間件體系結構研究IPTV中間件API研究;IPTV技術提供商中間件應用現狀分析。