IPTV中間件技術(shù)的探討
楊崑 2007/07/26
摘要:IPTV系統(tǒng)設(shè)備和終端設(shè)備制造商為降低發(fā)展成本都提出了對中間件技術(shù)的需求,但各廠家的理解差異明顯。本文介紹了中間件技術(shù)的主要關(guān)注點,理論上預(yù)計帶來的益處,對中間件定義的探討,以及機頂盒中間件研討等等。
一、研究背景
內(nèi)容運營商和業(yè)務(wù)運營商在實際工作過程中都從不同角度提出了對中間件技術(shù)的需求;
IPTV系統(tǒng)設(shè)備和終端設(shè)備制造商為降低發(fā)展成本都提出了對中間件技術(shù)的需求,但各廠家的理解差異明顯;
中國通信標準化協(xié)會開展IPTV中間件研究報告已經(jīng)完成初稿,主要針對中間件的發(fā)展現(xiàn)狀,基本定位和解決思路;中國代表團將向國際電信聯(lián)盟已提交相應(yīng)的提案,以推動國內(nèi)標準化研究成果走向國際;
AVS-IPTV試驗出現(xiàn)瓶頸,急需解決不同廠家的終端或系統(tǒng)之間的互通問題,目前比較現(xiàn)實的方法是通過中間件的方式。
對中間件技術(shù)的主要關(guān)注點
不同廠家的IPTV終端和IPTV局端系統(tǒng)需要通過低成本、易實現(xiàn)的方式實現(xiàn)互聯(lián)互通;不同廠家的IPTV局端系統(tǒng)需要實現(xiàn)互聯(lián)和互操作;
IPTV業(yè)務(wù)運營商需要IPTV系統(tǒng)中不同位置的業(yè)務(wù)應(yīng)用模塊均可以動態(tài)加載,實現(xiàn)業(yè)務(wù)功能的平滑升級;希望業(yè)務(wù)開展過程中IPTV終端通過中間件模塊實現(xiàn)業(yè)務(wù)和管理的動態(tài)加載;
IPTV終端廠商能夠?qū)崿F(xiàn)各中間件開發(fā)平臺的API接口遵循標準統(tǒng)一的接口規(guī)范,支持自身產(chǎn)品的通用性和從而降低自身產(chǎn)品開發(fā)成本
第三方IPTV應(yīng)用開發(fā)商在IPTV系統(tǒng)業(yè)務(wù)平臺上開發(fā)各種增值應(yīng)用,并可靈活地修改和添加;
業(yè)務(wù)平臺提供商希望通過統(tǒng)一的中間件平臺和不同類型、不同需求的內(nèi)容提供商快速連接。
理論上預(yù)計帶來的益處
實現(xiàn)IPTV業(yè)務(wù)時可以跨越技術(shù)和標準的復(fù)雜性,使應(yīng)用可以運行在多種硬件和OS平臺之上;
用簡單的方法定制具有運營商特色的應(yīng)用,并且可以提高開發(fā)效率,減少開發(fā)成本,跟上技術(shù)的發(fā)展;
使整個系統(tǒng)中使用量較大產(chǎn)品的開放性和可移植性更強;
加快完整IPTV產(chǎn)業(yè)鏈的形成,能夠吸引更多的終端硬件廠商、應(yīng)用開發(fā)商和中間件開發(fā)商參與進來;
滿足大量新業(yè)務(wù)、新應(yīng)用開發(fā)的需求;
降低整個產(chǎn)業(yè)的發(fā)展成本。
二、對中間件定義的探討
IDC給出的定義:中間件是一種獨立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件借助這種軟件在不同的技術(shù)之間共享資源,中間件位于客戶機服務(wù)器的操作系統(tǒng)之上,管理計算資源和網(wǎng)絡(luò)通信。
中間件是一類軟件,而非一種軟件;
中間件不僅僅實現(xiàn)互連,還要實現(xiàn)應(yīng)用之間的互操作;
中間件是基于分布式處理的軟件,最突出特點是其網(wǎng)絡(luò)通信功能。
討論-中間件的演進
討論-中間件概念的理解
IPTV包含了大量計算機技術(shù)和概念、但同樣繼承了電信和廣播電視應(yīng)用的特點、因此IPTV系統(tǒng)的中間件將具有特殊性:
- 是否僅僅是軟件?
- 一類軟件還是一個軟件?
- 軟件集合還是相關(guān)聯(lián)的一個完整系統(tǒng)?
- 是所有系統(tǒng)中符合某一要求的全部內(nèi)容,還是局限在某個特定范圍內(nèi)?
- 針對的目標是否會逐步發(fā)生變化?
- 其概念的給出是針對外延還是針對內(nèi)涵?
- 其概念的給出應(yīng)該是針對目前的產(chǎn)品實現(xiàn)還是針對未來的功能邏輯架構(gòu)?
- 我們現(xiàn)在能定義的有哪些部分,不能定義的有哪些?
討論-中間件的定位
- 消除物理層或操作系統(tǒng)彼此間的差異軟件?
- 系統(tǒng)端發(fā)起的各種要求在用戶側(cè)的實現(xiàn)代理?
- 業(yè)務(wù)實現(xiàn)過程中包括業(yè)務(wù)流程和控制管理流程在內(nèi)的上傳下達標準接口?
- 系統(tǒng)完成靈活內(nèi)部更新(含業(yè)務(wù)、設(shè)備狀態(tài)、系統(tǒng)基本策略)或管理需要的標準化的功能塊?
- 上述全部或部分需求的綜合體?
- 何種定位描述標示了其最基本的定位?
- 是否存在分階段的基本定位問題?
討論-終端側(cè)中間件可以不包含的模塊
- 產(chǎn)品設(shè)計中操作系統(tǒng)和物理器件對需要完成過程的理解?
- 用戶認證和權(quán)限管理?
- 業(yè)務(wù)界面的下發(fā)?
- 媒體流控制?
- 基本業(yè)務(wù)實現(xiàn)過程控制?
- 增值業(yè)務(wù)實現(xiàn)過程控制?
- 媒體編解碼?
- 計費?
- 網(wǎng)管?
- 終端部分的業(yè)務(wù)功能升級?
- 終端部分支持管理的能力或狀態(tài)的升級?
討論-系統(tǒng)側(cè)中間件的分析
- 系統(tǒng)側(cè)設(shè)備的升級和演進?
- 系統(tǒng)側(cè)邏輯模塊的增加和撤銷?
- 系統(tǒng)內(nèi)不同功能模塊的連接?
- 系統(tǒng)中不同廠家的設(shè)備混合連接情況下,哪些設(shè)備共享更有價值?是否需要通過中間件方式才更好?
- 業(yè)務(wù)管理?
- 媒體交付過程的管理?
- 內(nèi)容安全的管理?
- 存儲的管理?
- EPG的傳送?
目前正在討論的階段性定義
位于IPTV設(shè)備底層系統(tǒng)資源(包括硬件、操作系統(tǒng)和網(wǎng)絡(luò)資源)和應(yīng)用程序之間的獨立的系統(tǒng)軟件或通用服務(wù)程序;
應(yīng)用程序借助這種軟件在不同的技術(shù)之間共享計算資源和網(wǎng)絡(luò)資源;
這些和IPTV相關(guān)的服務(wù)程序具有開放的標準的程序接口,它以應(yīng)用程序接口API的形式存在,能夠適用不同的操作系統(tǒng)和硬件平臺;
IPTV中間件可以有多種實現(xiàn)方式,其核心作用是將應(yīng)用程序和底層系統(tǒng)資源隔離開來,任何按照某中間件提供的應(yīng)用程序編程接口實現(xiàn)的應(yīng)用程序可以運行在該中間件之上;另一個重要的作用是實現(xiàn)應(yīng)用與應(yīng)用之間的交互。
三、IPTV中間件所處位置
四、系統(tǒng)側(cè)中間件的研究
系統(tǒng)側(cè)中間件的分歧比較大,目前還不存在達成一致意見的可能性;
造成分歧的主要原因在于明確系統(tǒng)側(cè)中間件首先需要界定其所處界面和研究出發(fā)的角度,目前包含邏輯模塊、業(yè)務(wù)實現(xiàn)、工程需求三種模式,還難以形成共識;
商業(yè)推廣引入更多的混亂,需著重強調(diào)中間件不是包裝,是一種實際的技術(shù)解決方式。
五、機頂盒中間件的研究
機頂盒是位于用戶側(cè)的核心設(shè)備,是所有IPTV業(yè)務(wù)和媒體的終點和呈現(xiàn)設(shè)備,可與IPTV系統(tǒng)設(shè)備連接實現(xiàn)如下功能;
- 可與增值業(yè)務(wù)平臺互通實現(xiàn)各種增值業(yè)務(wù)功能;
- 可與DRM系統(tǒng)連接實現(xiàn)數(shù)字版權(quán)保護功能;
- 可與網(wǎng)絡(luò)管理系統(tǒng)連接實現(xiàn)網(wǎng)絡(luò)管理功能;
- 可與下載服務(wù)器連接實現(xiàn)軟件版本升級管理功能,配置數(shù)據(jù)下載功能;
- 可與IPTV系統(tǒng)設(shè)備連接實現(xiàn)用戶認證、網(wǎng)絡(luò)安全策略、軟件認證等安全管理功能;
- 系統(tǒng)啟動和初始化功能;
- 底層資源操作管理功能;
5.1基本要求
中間件系統(tǒng)應(yīng)該以獨立的開發(fā)平臺方式提供,具有一個基本的集成開發(fā)環(huán)境;應(yīng)用開發(fā)商可以基于該平臺靈活方便地進行應(yīng)用的開發(fā);
中間件系統(tǒng)開發(fā)平臺應(yīng)該支持標準定義的所有API集合;
中間件系統(tǒng)開發(fā)平臺應(yīng)該支持以下的操作系統(tǒng):
VxWorks;
Linux;
WinCE;
5.2推薦的機頂盒中間件層結(jié)構(gòu)
中間系統(tǒng)層架構(gòu)是一個基于軟件模塊結(jié)構(gòu)的抽象層次定義;它定義了中間件模塊在機頂盒中是怎樣被組織的以及在整個機頂盒軟件體系結(jié)構(gòu)中處于什么位置;
整個機頂盒軟件模型被考慮分成三層:資源層、系統(tǒng)軟件層、應(yīng)用層,其中中間件模塊位于系統(tǒng)軟件層;
從應(yīng)用的角度來看,中間件API位于應(yīng)用層和系統(tǒng)軟件層之間,由系統(tǒng)軟件層提供一套獨立的API給應(yīng)用層調(diào)用。
5.3資源層
機頂盒平臺中的硬件實體包含許多功能,主要包括硬件資源和各種接口和設(shè)備的驅(qū)動程序,從上層來看,體現(xiàn)為硬件資源和軟件資源;在整個機頂盒平臺架構(gòu)中,硬件實體可以是多種多樣的,不同的機頂盒廠商可以提供不同的硬件平臺;
從一個抽象的觀點來看,如果把平臺的邏輯資源映射到一個或者幾個硬件實體,那從上層的應(yīng)用來看,平臺就是統(tǒng)一的了;借助系統(tǒng)軟件層的可移植層,底層資源能透明地提供給應(yīng)用層使用,任何一個應(yīng)用可以自由地把底層同類的不同的資源看作一個特定的實體元素,基于統(tǒng)一的接口,非常方便地去訪問這些資源。
硬件
硬件層屬于機頂盒中的物理層,它包含了CPU和提供不同接入及功能的各種物理接口;包括下列但不限于下列接口應(yīng)被支持:
視頻接口,詳細的視頻接口要求需要參考機頂盒規(guī)范;
音頻接口,詳細的視頻接口要求需要參考機頂盒規(guī)范;
Flash;
UART
紅外接口;
驅(qū)動
驅(qū)動負責(zé)控制所有硬件資源的操作,機頂盒中其它模塊只能通過它去控制和操作硬件資源;
對于不同的操作系統(tǒng)平臺,驅(qū)動有不同的結(jié)構(gòu)和接口,可移植層應(yīng)該屏蔽掉這一層。
5.4系統(tǒng)軟件層
應(yīng)用層不直接調(diào)用和操作資源,而是由系統(tǒng)軟件層對資源進行抽象和封裝,提供給應(yīng)用層調(diào)用。這個中間層分離了硬件和應(yīng)用層,使應(yīng)用層具有非常強的可移植性。系統(tǒng)軟件層主要包括中間件核心層模塊和可移植層模塊。
系統(tǒng)軟件層基于抽象模型的方式來實現(xiàn)所有的API:
- 播放引擎,負責(zé)媒體流的播放和控制;
- 命令和事件的分發(fā)控制;
- 操作系統(tǒng)資源,包括文件系統(tǒng)、定時器等;
- 硬件資源,包括硬盤、內(nèi)存及各種接口等;
- 網(wǎng)絡(luò)管理;
- DRM/CA;
- 啟動和初始化處理;
- 安全和認證處理;
- 下載和升級處理;
可移植層支持中間件軟件層和應(yīng)用層運行在不同的操作系統(tǒng)和硬件平臺上,例如,針對一個特定的應(yīng)用平臺,操作可以是Linux、VxWorks、WinCE等。
5.4.1可移植層
系統(tǒng)抽象層:系統(tǒng)抽象層(SAL)負責(zé)對操作系統(tǒng)進行抽象,它封裝了所有的通用操作,包括任務(wù)、定時器、消息隊列等,以及一些公共的數(shù)據(jù)結(jié)構(gòu),如隊列、堆棧等;系統(tǒng)抽象層屏蔽了操作系統(tǒng),因此它應(yīng)該能支持多種操作系統(tǒng),如VxWorks、Linux、WinCE等等。通過使用SAL層接口,應(yīng)用程序和系統(tǒng)軟件層不需要關(guān)心當前使用的是哪種操作,而且這些應(yīng)用軟件能非常容易地移植到不同地操作系統(tǒng)平臺。
接口抽象層:接口抽象層(IAL)負責(zé)對底層硬件平臺進行抽象,它封裝了所有底層硬件平臺和接口設(shè)備的操作和接口,包括Flash、RAM、鍵盤、鼠標、遙控器等等。接口抽象層維護一個來自于各種輸入設(shè)備的鍵值隊列,并且負責(zé)把這些鍵值傳送到應(yīng)用層。通過這種方式,應(yīng)用層不需要關(guān)心當前使用的是哪種輸入設(shè)備,而僅僅需要知道當前的鍵值以及怎么處理這些鍵值。為了達到這個目的,一個為所有輸入設(shè)備服務(wù)的統(tǒng)一的鍵值映射表應(yīng)該被定義。
5.4.2中間件核心層
中間件核心層基于模塊化的軟件模型結(jié)構(gòu),通過可移植層調(diào)用操作系統(tǒng)資源和底層硬件資源實現(xiàn)相應(yīng)的中間件功能。中間件核心層模塊通過中間件為上層應(yīng)用提供各種服務(wù),它包括所有相關(guān)的協(xié)議和各種客戶端操作,如媒體操作、媒體傳輸控制、用戶認證、底層資源管理、下載服務(wù)、數(shù)字版權(quán)管理、安全管理等等。雙模機頂盒應(yīng)該能基于同一個中間件API提供DVB功能。
啟動及初始化模塊
啟動及初始化是機頂盒開始工作的第一步,該模塊主要完成系統(tǒng)初始化工作,準備運行環(huán)境及上下文。啟動和初始化模塊主要應(yīng)該實現(xiàn)以下功能:
安全及認證模塊
安全及認證模塊負責(zé)整個系統(tǒng)的安全管理和控制,包括網(wǎng)絡(luò)安全、軟件升級、用戶安全認證及業(yè)務(wù)應(yīng)用安全等相關(guān)功能。安全及認證模塊具體應(yīng)該實現(xiàn)以下功能:
- 用戶認證;
- 業(yè)務(wù)應(yīng)用鑒權(quán);
- 軟件升級及下載認證;
- 網(wǎng)絡(luò)安全策略;
- 密鑰、會話令牌管理等等。
升級和下載模塊
升級和下載模塊負責(zé)底層平臺、系統(tǒng)軟件包括中間件、上層應(yīng)用及一些應(yīng)用需要的特殊數(shù)據(jù)如EPG數(shù)據(jù)的動態(tài)升級和下載。升級和下載模塊具體應(yīng)該支持以下功能:
- 底層平臺的動態(tài)升級和下載;
- 系統(tǒng)軟件包括中間件的動態(tài)升級和下載;
- 上層應(yīng)用的動態(tài)升級和下載;
- 一些特殊數(shù)據(jù)的動態(tài)升級和下載;
- 和安全及認證模塊結(jié)合,進行升級和下載的軟件及數(shù)據(jù)的有效性和合法性校驗;
- 和安全及認證模塊結(jié)合,對升級下載過程中的加密數(shù)據(jù)進行解密。
媒體播放和控制模塊
媒體播放和控制模塊向上層應(yīng)用提供音頻視頻媒體播放的核心控制功能,它是流業(yè)務(wù)的控制臺,負責(zé)流業(yè)務(wù)操作控制,如播放、停止、暫停、快進、快退等。
數(shù)字版權(quán)管理模塊
數(shù)字版權(quán)管理模塊為上層應(yīng)用提供一個獨立的接口,提供給應(yīng)用程序一個高級接口來訪問條件接入系統(tǒng),而底層的條件接入系統(tǒng)在處理例如權(quán)利控制消息和權(quán)利管理消息時,并沒有暴露給上一層的應(yīng)用程序。數(shù)字版權(quán)管理模塊屏蔽了不同的數(shù)字版權(quán)系統(tǒng)之間的差異性。
數(shù)字版權(quán)管理模塊具體應(yīng)該實現(xiàn)以下功能: License管理和密鑰管理;
和媒體控制模塊結(jié)合,可以完成媒體流和數(shù)據(jù)流的解擾;
終端管理模塊
終端管理模塊負責(zé)機頂盒的管理和配置功能,包括本地配置、遠程管理、日子管理、版本升級、異常管理、安全管理、QoS策略管理等等。終端管理模塊具體應(yīng)該支持以下功能:
- 通過SNMP或者TR069,完成機頂盒的管理和配置功能;
- 命令行功能;
- 各種組件的配置;
- 系統(tǒng)級配置如各類服務(wù)器地址的配置;
- 接入模式配置;
- 網(wǎng)絡(luò)配置;
- 音頻視頻參數(shù)配置;
- 用戶配置如網(wǎng)絡(luò)接入帳號配置、IPTV帳號配置等等。
資源管理模塊
資源管理模塊負責(zé)管理和調(diào)度應(yīng)用程序使用的各種資源及他們的狀態(tài)。任何具有有限資源的系統(tǒng)都需要某種方式管理這些有限的資源,并且保證任何資源的爭用的公平的分配和應(yīng)用程序的穩(wěn)定性。所有的應(yīng)用程序都需要注冊資源的使用狀態(tài),如果資源管理器發(fā)現(xiàn)多個應(yīng)用程序有資源使用的沖突,它將通過既定的規(guī)則進行資源調(diào)度。
5.5應(yīng)用層
應(yīng)用層實現(xiàn)各種交互式的業(yè)務(wù),它可以運行在一個或多個不同的硬件平臺上。在應(yīng)用層和系統(tǒng)軟件層之間,中間起著一個非常重要的接口的作用,從應(yīng)用層看來,它屬于系統(tǒng)軟件層的頂層。
中間件層負責(zé)來自于交互應(yīng)用的操作控制。通過中間件軟件層,我們能靈活地開發(fā)各種不同的應(yīng)用,不需要關(guān)心不同的硬件接口,不同的操作系統(tǒng)平臺。
六、ITU-TFGIPTV中間件標準進展介紹
國際電聯(lián)IPTV焦點組(ITU-TFGIPTV)第二次標準會議于2006年10月16-20日在韓國釜山進行的
第六組(中間件應(yīng)用與內(nèi)容平臺工作組)關(guān)于中間件的主要結(jié)論是:
輸出文檔中關(guān)于中間件定義:
Middleware:AsystemsoftwarefacilitatinginteractionbetweenasubscriberandtheMediaDelivery.
在WG6的輸出文檔中專門設(shè)立一章來討論IPTV終端中間件,主要結(jié)構(gòu)包括:
ScopeofFunctionality
API
確定了中間件的編輯
Mr.QuanWang,UTStarcom
Mr.DamienAlliez,NDS
在輸出文檔中確定了中間件API的部分需求
DTV/DVB對ITU中間件標準的影響
WG6的許多成員來自DTV/DVB的產(chǎn)業(yè),因此歐洲的MPH(DVB)與北美ACAP(ATSC)和OCAP(Cable-Lab)將對未來的中間件產(chǎn)生影響。2006年11月23日
WG5輸出文檔中IPTV終端的軟件架構(gòu)
通信世界網(wǎng)(www.cww.net.cn)
相關(guān)鏈接: