节点间实现的中间件技术
对于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技术提供商中间件应用现状分析。
(责任编辑:城尘 68476636-8003)