IPTV系统设备和终端设备制造商为降低发展成本都提出了对中间件技术的需求,但各厂家的理解差异明显。本文介绍了中间件技术的主要关注点,理论上预计带来的益处,对中间件定义的探讨,以及机顶盒中间件研讨等等。
一、研究背景 内容运营商和业务运营商在实际工作过程中都从不同角度提出了对中间件技术的需求; IPTV系统设备和终端设备制造商为降低发展成本都提出了对中间件技术的需求,但各厂家的理解差异明显; 中国通信标准化协会开展IPTV中间件研究报告已经完成初稿,主要针对中间件的发展现状,基本定位和解决思路;中国代表团将向国际电信联盟已提交相应的提案,以推动国内标准化研究成果走向国际; AVS-IPTV试验出现瓶颈,急需解决不同厂家的终端或系统之间的互通问题,目前比较现实的方法是通过中间件的方式。
对中间件技术的主要关注点 不同厂家的IPTV终端和IPTV局端系统需要通过低成本、易实现的方式实现互联互通;不同厂家的IPTV局端系统需要实现互联和互操作;
IPTV业务运营商需要IPTV系统中不同位置的业务应用模块均可以动态加载,实现业务功能的平滑升级;希望业务开展过程中IPTV终端通过中间件模块实现业务和管理的动态加载;
IPTV终端厂商能够实现各中间件开发平台的API接口遵循标准统一的接口规范,支持自身产品的通用性和从而降低自身产品开发成本
第三方IPTV应用开发商在IPTV系统业务平台上开发各种增值应用,并可灵活地修改和添加;
业务平台提供商希望通过统一的中间件平台和不同类型、不同需求的内容提供商快速连接。
理论上预计带来的益处 实现IPTV业务时可以跨越技术和标准的复杂性,使应用可以运行在多种硬件和OS平台之上; 用简单的方法定制具有运营商特色的应用,并且可以提高开发效率,减少开发成本,跟上技术的发展; 使整个系统中使用量较大产品的开放性和可移植性更强; 加快完整IPTV产业链的形成,能够吸引更多的终端硬件厂商、应用开发商和中间件开发商参与进来; 满足大量新业务、新应用开发的需求; 降低整个产业的发展成本。
二、对中间件定义的探讨 IDC给出的定义:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。 中间件是一类软件,而非一种软件; 中间件不仅仅实现互连,还要实现应用之间的互操作; 中间件是基于分布式处理的软件,最突出特点是其网络通信功能。

讨论-中间件的演进

讨论-中间件概念的理解 IPTV包含了大量计算机技术和概念、但同样继承了电信和广播电视应用的特点、因此IPTV系统的中间件将具有特殊性: 是否仅仅是软件? 一类软件还是一个软件? 软件集合还是相关联的一个完整系统? 是所有系统中符合某一要求的全部内容,还是局限在某个特定范围内? 针对的目标是否会逐步发生变化? 其概念的给出是针对外延还是针对内涵? 其概念的给出应该是针对目前的产品实现还是针对未来的功能逻辑架构? 我们现在能定义的有哪些部分,不能定义的有哪些?[NextPage]
讨论-中间件的定位 消除物理层或操作系统彼此间的差异软件? 系统端发起的各种要求在用户侧的实现代理? 业务实现过程中包括业务流程和控制管理流程在内的上传下达标准接口? 系统完成灵活内部更新(含业务、设备状态、系统基本策略)或管理需要的标准化的功能块? 上述全部或部分需求的综合体? 何种定位描述标示了其最基本的定位? 是否存在分阶段的基本定位问题? 讨论-终端侧中间件可以不包含的模块 产品设计中操作系统和物理器件对需要完成过程的理解? 用户认证和权限管理? 业务界面的下发? 媒体流控制? 基本业务实现过程控制? 增值业务实现过程控制? 媒体编解码? 计费? 网管? 终端部分的业务功能升级? 终端部分支持管理的能力或状态的升级?
讨论-系统侧中间件的分析 系统侧设备的升级和演进? 系统侧逻辑模块的增加和撤销? 系统内不同功能模块的连接? 系统中不同厂家的设备混合连接情况下,哪些设备共享更有价值?是否需要通过中间件方式才更好? 业务管理? 媒体交付过程的管理? 内容安全的管理? 存储的管理? EPG的传送?
目前正在讨论的阶段性定义 位于IPTV设备底层系统资源(包括硬件、操作系统和网络资源)和应用程序之间的独立的系统软件或通用服务程序; 应用程序借助这种软件在不同的技术之间共享计算资源和网络资源; 这些和IPTV相关的服务程序具有开放的标准的程序接口,它以应用程序接口API的形式存在,能够适用不同的操作系统和硬件平台; IPTV中间件可以有多种实现方式,其核心作用是将应用程序和底层系统资源隔离开来,任何按照某中间件提供的应用程序编程接口实现的应用程序可以运行在该中间件之上;另一个重要的作用是实现应用与应用之间的交互。
三、IPTV中间件所处位置

[NextPage]
四、系统侧中间件的研究 系统侧中间件的分歧比较大,目前还不存在达成一致意见的可能性; 造成分歧的主要原因在于明确系统侧中间件首先需要界定其所处界面和研究出发的角度,目前包含逻辑模块、业务实现、工程需求三种模式,还难以形成共识; 商业推广引入更多的混乱,需着重强调中间件不是包装,是一种实际的技术解决方式。
五、机顶盒中间件的研究 机顶盒是位于用户侧的核心设备,是所有IPTV业务和媒体的终点和呈现设备,可与IPTV系统设备连接实现如下功能; 可与增值业务平台互通实现各种增值业务功能; 可与DRM系统连接实现数字版权保护功能; 可与网络管理系统连接实现网络管理功能; 可与下载服务器连接实现软件版本升级管理功能,配置数据下载功能; 可与IPTV系统设备连接实现用户认证、网络安全策略、软件认证等安全管理功能; 系统启动和初始化功能; 底层资源操作管理功能; 5.1 基本要求 中间件系统应该以独立的开发平台方式提供,具有一个基本的集成开发环境;应用开发商可以基于该平台灵活方便地进行应用的开发; 中间件系统开发平台应该支持标准定义的所有API集合; 中间件系统开发平台应该支持以下的操作系统: VxWorks; Linux; WinCE;
5.2 推荐的机顶盒中间件层结构

中间系统层架构是一个基于软件模块结构的抽象层次定义;它定义了中间件模块在机顶盒中是怎样被组织的以及在整个机顶盒软件体系结构中处于什么位置; 整个机顶盒软件模型被考虑分成三层:资源层、系统软件层、应用层,其中中间件模块位于系统软件层; 从应用的角度来看,中间件API位于应用层和系统软件层之间,由系统软件层提供一套独立的API给应用层调用。
5.3 资源层 机顶盒平台中的硬件实体包含许多功能,主要包括硬件资源和各种接口和设备的驱动程序,从上层来看,体现为硬件资源和软件资源;在整个机顶盒平台架构中,硬件实体可以是多种多样的,不同的机顶盒厂商可以提供不同的硬件平台;[NextPage]
从一个抽象的观点来看,如果把平台的逻辑资源映射到一个或者几个硬件实体,那从上层的应用来看,平台就是统一的了;借助系统软件层的可移植层,底层资源能透明地提供给应用层使用,任何一个应用可以自由地把底层同类的不同的资源看作一个特定的实体元素,基于统一的接口,非常方便地去访问这些资源。
硬件 硬件层属于机顶盒中的物理层,它包含了CPU和提供不同接入及功能的各种物理接口;包括下列但不限于下列接口应被支持: 视频接口,详细的视频接口要求需要参考机顶盒规范; 音频接口,详细的视频接口要求需要参考机顶盒规范; Flash; UART 红外接口; 驱动 驱动负责控制所有硬件资源的操作,机顶盒中其它模块只能通过它去控制和操作硬件资源; 对于不同的操作系统平台,驱动有不同的结构和接口,可移植层应该屏蔽掉这一层。
5.4 系统软件层 应用层不直接调用和操作资源,而是由系统软件层对资源进行抽象和封装,提供给应用层调用。这个中间层分离了硬件和应用层,使应用层具有非常强的可移植性。系统软件层主要包括中间件核心层模块和可移植层模块。 系统软件层基于抽象模型的方式来实现所有的API: 播放引擎,负责媒体流的播放和控制; 命令和事件的分发控制; 操作系统资源,包括文件系统、定时器等; 硬件资源,包括硬盘、内存及各种接口等; 网络管理; DRM/CA; 启动和初始化处理; 安全和认证处理; 下载和升级处理;
可移植层支持中间件软件层和应用层运行在不同的操作系统和硬件平台上,例如,针对一个特定的应用平台,操作可以是Linux、VxWorks、WinCE等。
5.4.1 可移植层 系统抽象层:系统抽象层(SAL)负责对操作系统进行抽象,它封装了所有的通用操作,包括任务、定时器、消息队列等,以及一些公共的数据结构,如队列、堆栈等;系统抽象层屏蔽了操作系统,因此它应该能支持多种操作系统,如VxWorks、Linux、WinCE等等。通过使用SAL层接口,应用程序和系统软件层不需要关心当前使用的是哪种操作,而且这些应用软件能非常容易地移植到不同地操作系统平台。
接口抽象层:接口抽象层(IAL)负责对底层硬件平台进行抽象,它封装了所有底层硬件平台和接口设备的操作和接口,包括Flash、RAM、键盘、鼠标、遥控器等等。接口抽象层维护一个来自于各种输入设备的键值队列,并且负责把这些键值传送到应用层。通过这种方式,应用层不需要关心当前使用的是哪种输入设备,而仅仅需要知道当前的键值以及怎么处理这些键值。为了达到这个目的,一个为所有输入设备服务的统一的键值映射表应该被定义。
5.4.2 中间件核心层 中间件核心层基于模块化的软件模型结构,通过可移植层调用操作系统资源和底层硬件资源实现相应的中间件功能。中间件核心层模块通过中间件为上层应用提供各种服务,它包括所有相关的协议和各种客户端操作,如媒体操作、媒体传输控制、用户认证、底层资源管理、下载服务、数字版权管理、安全管理等等。双模机顶盒应该能基于同一个中间件API提供DVB功能。[NextPage]
启动及初始化模块 启动及初始化是机顶盒开始工作的第一步,该模块主要完成系统初始化工作,准备运行环境及上下文。启动和初始化模块主要应该实现以下功能:
安全及认证模块 安全及认证模块负责整个系统的安全管理和控制,包括网络安全、软件升级、用户安全认证及业务应用安全等相关功能。安全及认证模块具体应该实现以下功能:
用户认证; 业务应用鉴权; 软件升级及下载认证; 网络安全策略; 密钥、会话令牌管理等等。
升级和下载模块 升级和下载模块负责底层平台、系统软件包括中间件、上层应用及一些应用需要的特殊数据如EPG数据的动态升级和下载。升级和下载模块具体应该支持以下功能: 底层平台的动态升级和下载; 系统软件包括中间件的动态升级和下载; 上层应用的动态升级和下载; 一些特殊数据的动态升级和下载; 和安全及认证模块结合,进行升级和下载的软件及数据的有效性和合法性校验; 和安全及认证模块结合,对升级下载过程中的加密数据进行解密。
媒体播放和控制模块 媒体播放和控制模块向上层应用提供音频视频媒体播放的核心控制功能,它是流业务的控制台,负责流业务操作控制,如播放、停止、暂停、快进、快退等。

数字版权管理模块 数字版权管理模块为上层应用提供一个独立的接口,提供给应用程序一个高级接口来访问条件接入系统,而底层的条件接入系统在处理例如权利控制消息和权利管理消息时,并没有暴露给上一层的应用程序。数字版权管理模块屏蔽了不同的数字版权系统之间的差异性。
数字版权管理模块具体应该实现以下功能: License管理和密钥管理; 和媒体控制模块结合,可以完成媒体流和数据流的解扰;
终端管理模块 终端管理模块负责机顶盒的管理和配置功能,包括本地配置、远程管理、日子管理、版本升级、异常管理、安全管理、QoS策略管理等等。终端管理模块具体应该支持以下功能: 通过SNMP或者TR069,完成机顶盒的管理和配置功能; 命令行功能; 各种组件的配置; 系统级配置如各类服务器地址的配置; 接入模式配置; 网络配置; 音频视频参数配置; 用户配置如网络接入帐号配置、IPTV帐号配置等等。
资源管理模块 资源管理模块负责管理和调度应用程序使用的各种资源及他们的状态。任何具有有限资源的系统都需要某种方式管理这些有限的资源,并且保证任何资源的争用的公平的分配和应用程序的稳定性。所有的应用程序都需要注册资源的使用状态,如果资源管理器发现多个应用程序有资源使用的冲突,它将通过既定的规则进行资源调度。
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终端的软件架构

该PPT下载地址为http://bbs.lmtw.com/dispbbs.asp?boardID=118&ID=135743&page=1
|