首页>>>技术>>>融合通信

IPTV中间件技术的探讨

杨崑 2007/07/26

  摘要:IPTV系统设备和终端设备制造商为降低发展成本都提出了对中间件技术的需求,但各厂家的理解差异明显。本文介绍了中间件技术的主要关注点,理论上预计带来的益处,对中间件定义的探讨,以及机顶盒中间件研讨等等。

一、研究背景

  内容运营商和业务运营商在实际工作过程中都从不同角度提出了对中间件技术的需求;  

  IPTV系统设备和终端设备制造商为降低发展成本都提出了对中间件技术的需求,但各厂家的理解差异明显;

  中国通信标准化协会开展IPTV中间件研究报告已经完成初稿,主要针对中间件的发展现状,基本定位和解决思路;中国代表团将向国际电信联盟已提交相应的提案,以推动国内标准化研究成果走向国际;

  AVS-IPTV试验出现瓶颈,急需解决不同厂家的终端或系统之间的互通问题,目前比较现实的方法是通过中间件的方式。

对中间件技术的主要关注点

  不同厂家的IPTV终端和IPTV局端系统需要通过低成本、易实现的方式实现互联互通;不同厂家的IPTV局端系统需要实现互联和互操作;

  IPTV业务运营商需要IPTV系统中不同位置的业务应用模块均可以动态加载,实现业务功能的平滑升级;希望业务开展过程中IPTV终端通过中间件模块实现业务和管理的动态加载;

  IPTV终端厂商能够实现各中间件开发平台的API接口遵循标准统一的接口规范,支持自身产品的通用性和从而降低自身产品开发成本

  第三方IPTV应用开发商在IPTV系统业务平台上开发各种增值应用,并可灵活地修改和添加;

  业务平台提供商希望通过统一的中间件平台和不同类型、不同需求的内容提供商快速连接。

理论上预计带来的益处

  实现IPTV业务时可以跨越技术和标准的复杂性,使应用可以运行在多种硬件和OS平台之上;

  用简单的方法定制具有运营商特色的应用,并且可以提高开发效率,减少开发成本,跟上技术的发展;

  使整个系统中使用量较大产品的开放性和可移植性更强;

  加快完整IPTV产业链的形成,能够吸引更多的终端硬件厂商、应用开发商和中间件开发商参与进来;

  满足大量新业务、新应用开发的需求;

  降低整个产业的发展成本。

二、对中间件定义的探讨

  IDC给出的定义:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。

  中间件是一类软件,而非一种软件;

  中间件不仅仅实现互连,还要实现应用之间的互操作;

  中间件是基于分布式处理的软件,最突出特点是其网络通信功能。



讨论-中间件的演进


讨论-中间件概念的理解

  IPTV包含了大量计算机技术和概念、但同样继承了电信和广播电视应用的特点、因此IPTV系统的中间件将具有特殊性:  讨论-中间件的定位 讨论-终端侧中间件可以不包含的模块 讨论-系统侧中间件的分析  目前正在讨论的阶段性定义

  位于IPTV设备底层系统资源(包括硬件、操作系统和网络资源)和应用程序之间的独立的系统软件或通用服务程序;

  应用程序借助这种软件在不同的技术之间共享计算资源和网络资源;

  这些和IPTV相关的服务程序具有开放的标准的程序接口,它以应用程序接口API的形式存在,能够适用不同的操作系统和硬件平台;

  IPTV中间件可以有多种实现方式,其核心作用是将应用程序和底层系统资源隔离开来,任何按照某中间件提供的应用程序编程接口实现的应用程序可以运行在该中间件之上;另一个重要的作用是实现应用与应用之间的交互。

三、IPTV中间件所处位置


四、系统侧中间件的研究

  系统侧中间件的分歧比较大,目前还不存在达成一致意见的可能性;

  造成分歧的主要原因在于明确系统侧中间件首先需要界定其所处界面和研究出发的角度,目前包含逻辑模块、业务实现、工程需求三种模式,还难以形成共识;

  商业推广引入更多的混乱,需着重强调中间件不是包装,是一种实际的技术解决方式。

五、机顶盒中间件的研究

  机顶盒是位于用户侧的核心设备,是所有IPTV业务和媒体的终点和呈现设备,可与IPTV系统设备连接实现如下功能; 5.1基本要求

  中间件系统应该以独立的开发平台方式提供,具有一个基本的集成开发环境;应用开发商可以基于该平台灵活方便地进行应用的开发;

  中间件系统开发平台应该支持标准定义的所有API集合;

  中间件系统开发平台应该支持以下的操作系统:

  VxWorks;

  Linux;

  WinCE;

5.2推荐的机顶盒中间件层结构


  中间系统层架构是一个基于软件模块结构的抽象层次定义;它定义了中间件模块在机顶盒中是怎样被组织的以及在整个机顶盒软件体系结构中处于什么位置;

  整个机顶盒软件模型被考虑分成三层:资源层、系统软件层、应用层,其中中间件模块位于系统软件层;

  从应用的角度来看,中间件API位于应用层和系统软件层之间,由系统软件层提供一套独立的API给应用层调用。

5.3资源层

  机顶盒平台中的硬件实体包含许多功能,主要包括硬件资源和各种接口和设备的驱动程序,从上层来看,体现为硬件资源和软件资源;在整个机顶盒平台架构中,硬件实体可以是多种多样的,不同的机顶盒厂商可以提供不同的硬件平台;

  从一个抽象的观点来看,如果把平台的逻辑资源映射到一个或者几个硬件实体,那从上层的应用来看,平台就是统一的了;借助系统软件层的可移植层,底层资源能透明地提供给应用层使用,任何一个应用可以自由地把底层同类的不同的资源看作一个特定的实体元素,基于统一的接口,非常方便地去访问这些资源。

硬件

  硬件层属于机顶盒中的物理层,它包含了CPU和提供不同接入及功能的各种物理接口;包括下列但不限于下列接口应被支持:

视频接口,详细的视频接口要求需要参考机顶盒规范;

音频接口,详细的视频接口要求需要参考机顶盒规范;

Flash;

UART

红外接口;

驱动

驱动负责控制所有硬件资源的操作,机顶盒中其它模块只能通过它去控制和操作硬件资源;

对于不同的操作系统平台,驱动有不同的结构和接口,可移植层应该屏蔽掉这一层。

5.4系统软件层

  应用层不直接调用和操作资源,而是由系统软件层对资源进行抽象和封装,提供给应用层调用。这个中间层分离了硬件和应用层,使应用层具有非常强的可移植性。系统软件层主要包括中间件核心层模块和可移植层模块。

系统软件层基于抽象模型的方式来实现所有的API:    

可移植层支持中间件软件层和应用层运行在不同的操作系统和硬件平台上,例如,针对一个特定的应用平台,操作可以是Linux、VxWorks、WinCE等。

5.4.1可移植层

  系统抽象层:系统抽象层(SAL)负责对操作系统进行抽象,它封装了所有的通用操作,包括任务、定时器、消息队列等,以及一些公共的数据结构,如队列、堆栈等;系统抽象层屏蔽了操作系统,因此它应该能支持多种操作系统,如VxWorks、Linux、WinCE等等。通过使用SAL层接口,应用程序和系统软件层不需要关心当前使用的是哪种操作,而且这些应用软件能非常容易地移植到不同地操作系统平台。

  接口抽象层:接口抽象层(IAL)负责对底层硬件平台进行抽象,它封装了所有底层硬件平台和接口设备的操作和接口,包括Flash、RAM、键盘、鼠标、遥控器等等。接口抽象层维护一个来自于各种输入设备的键值队列,并且负责把这些键值传送到应用层。通过这种方式,应用层不需要关心当前使用的是哪种输入设备,而仅仅需要知道当前的键值以及怎么处理这些键值。为了达到这个目的,一个为所有输入设备服务的统一的键值映射表应该被定义。

5.4.2中间件核心层

  中间件核心层基于模块化的软件模型结构,通过可移植层调用操作系统资源和底层硬件资源实现相应的中间件功能。中间件核心层模块通过中间件为上层应用提供各种服务,它包括所有相关的协议和各种客户端操作,如媒体操作、媒体传输控制、用户认证、底层资源管理、下载服务、数字版权管理、安全管理等等。双模机顶盒应该能基于同一个中间件API提供DVB功能。

启动及初始化模块

  启动及初始化是机顶盒开始工作的第一步,该模块主要完成系统初始化工作,准备运行环境及上下文。启动和初始化模块主要应该实现以下功能:

安全及认证模块

  安全及认证模块负责整个系统的安全管理和控制,包括网络安全、软件升级、用户安全认证及业务应用安全等相关功能。安全及认证模块具体应该实现以下功能:

升级和下载模块

  升级和下载模块负责底层平台、系统软件包括中间件、上层应用及一些应用需要的特殊数据如EPG数据的动态升级和下载。升级和下载模块具体应该支持以下功能:

媒体播放和控制模块

媒体播放和控制模块向上层应用提供音频视频媒体播放的核心控制功能,它是流业务的控制台,负责流业务操作控制,如播放、停止、暂停、快进、快退等。


数字版权管理模块

  数字版权管理模块为上层应用提供一个独立的接口,提供给应用程序一个高级接口来访问条件接入系统,而底层的条件接入系统在处理例如权利控制消息和权利管理消息时,并没有暴露给上一层的应用程序。数字版权管理模块屏蔽了不同的数字版权系统之间的差异性。

  数字版权管理模块具体应该实现以下功能: License管理和密钥管理;

  和媒体控制模块结合,可以完成媒体流和数据流的解扰;

终端管理模块

  终端管理模块负责机顶盒的管理和配置功能,包括本地配置、远程管理、日子管理、版本升级、异常管理、安全管理、QoS策略管理等等。终端管理模块具体应该支持以下功能:    资源管理模块

  资源管理模块负责管理和调度应用程序使用的各种资源及他们的状态。任何具有有限资源的系统都需要某种方式管理这些有限的资源,并且保证任何资源的争用的公平的分配和应用程序的稳定性。所有的应用程序都需要注册资源的使用状态,如果资源管理器发现多个应用程序有资源使用的冲突,它将通过既定的规则进行资源调度。

5.5应用层

  应用层实现各种交互式的业务,它可以运行在一个或多个不同的硬件平台上。在应用层和系统软件层之间,中间起着一个非常重要的接口的作用,从应用层看来,它属于系统软件层的顶层。

  中间件层负责来自于交互应用的操作控制。通过中间件软件层,我们能灵活地开发各种不同的应用,不需要关心不同的硬件接口,不同的操作系统平台。

六、ITU-TFGIPTV中间件标准进展介绍

  国际电联IPTV焦点组(ITU-TFGIPTV)第二次标准会议于2006年10月16-20日在韩国釜山进行的

  第六组(中间件应用与内容平台工作组)关于中间件的主要结论是:

  输出文档中关于中间件定义:
  Middleware:AsystemsoftwarefacilitatinginteractionbetweenasubscriberandtheMediaDelivery.

  在WG6的输出文档中专门设立一章来讨论IPTV终端中间件,主要结构包括:

  ScopeofFunctionality

  API

  确定了中间件的编辑

  Mr.QuanWang,UTStarcom

  Mr.DamienAlliez,NDS

  在输出文档中确定了中间件API的部分需求

  DTV/DVB对ITU中间件标准的影响

  WG6的许多成员来自DTV/DVB的产业,因此欧洲的MPH(DVB)与北美ACAP(ATSC)和OCAP(Cable-Lab)将对未来的中间件产生影响。2006年11月23日

  WG5输出文档中IPTV终端的软件架构

通信世界网(www.cww.net.cn)



相关链接:
中国IPTV何时突破“雪崩点” 2007-07-26
电信研究院:IPTV内容管理标准化任重道远 2007-07-23
北美IPTV新动向 2007-07-19
增值服务拓宽视频通信发展空间 2007-07-17
中国电信“号码百事通”业务发展策略探析 2007-07-17

分类信息:  增值电信_与_IPTV     热点专题_增值电信_文摘   热点专题_IPTV_文摘