扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
1、IPTV终端中间件的作用
IPTV中间件是当前IPTV业界关注的热点之一。业界对于中间件没有确切的定义,一般认为:中间件是实现异构软件实体间互连互通的一类软件,则IPTV中间件就是实现IPTV系统中各个节点之间互连互通的一类软件。IPTV系统中的节点类型众多,包括终端、EPG(电子节目指南)服务器、内容分发系统、业务管理系统、网管监控系统、DRM(数字版权管理)、内容管理系统、头端系统等,除终端外,其他节点都可以统称为平台侧,因此IPTV中间件也可以分为平台中间件和终端中间件两类。平台中间件实现系统平台中各个应用服务器之间的互连互通,终端中间件实现IPTV终端和系统平台之间的互连互通。
IPTV系统中所有节点都通过中间件来通信,实现完全的开放和互连互通,这固然是一种理想的状态,但从产业现状来看,目前是不现实的。因为IPTV系统中的每个领域都有专业的软件提供商,定义并开发一套完整的中间件。能够与各个领域中的各个专业厂商的系统对接,搭建成一套IPTV系统,目前来说难度很大。
具有现实意义的是终端中间件。IPTV终端的数量将随着用户数的增长不断增长,同时,终端的形态、档次日趋多样化,必须引入多家终端厂商,引入多样化的硬件解决方案和基础软件解决方案,才能满足用户的个性化需求以及引入竞争,降低终端成本。终端中间件可以屏蔽终端硬件和基础软件的差异性。使不同厂商的终端快速地与系统平台对接,同时使IPTV增值业务可以快速、灵活地在终端上部署,缩短开发周期,降低开发成本。
IPTV产业链各方出于各自的利益,对于终端中间件的诉求也是不同的。应用提供商希望通过中间件降低应用开发门槛;终端厂商希望通过中间件接入多家系统平台,推广自己的产品;运营商希望通过中间件在价值链中更具聚合力,吸引更多SP,引入更多终端厂商,最终将业务做大。对于平台设备厂商,终端中间件的利益则不那么明显。
电信运营商希望通过IPTV终端中间件达到以下目标:
●实现IPTV终端与IPTV系统平台的互连互通,方便引入多家终端厂商。
●屏蔽上层应用与终端底层硬件和基础软件,使得同一应用在不同的机顶盒上提供相同的用户体验。
●为应用开发商提供一致的API(应用程序接口),方便应用的移植,缩短各种第三方应用推出的时间周期,减少开发费用。
2、IPTV终端中间件的研究及产品现状IPTV终端中间件是IPTV中间件的子集,介绍IPTV终端中间件的研究及产品现状,必须与IPTV中间件的研究及产品现状紧密结合。
2.1IPTV中间件标准的研究现状
在中国通信标准化协会的IPTV特别任务组中,中间件技术作为非常重要的问题受到关注,但目前对IPTV中间件的研究还处于起步阶段。任务组认为,由于目前各种中间件技术方案的差异性很大,因此短时间内形成一个完善的中间件技术标准并不现实,需要对目前IPTV系统中所采用的中间件技术的概念、分类、应用现状,现阶段IPTV系统中引入中间件技术的目标,实现该目标所采用的技术手段进行综合性考虑才能确定标准化工作的步骤。同时,任务组也指出,IPTV终端中间件是近期的研究重点。
国际电联已启动了对IPTV标准的专项研究,成立了IPTV焦点组(ITU-TFGIPTV),于2006年7月10~14日召开了第一次会议。ITU-TFG IPTV已将中间件和应用平台明确作为IPTV标准架构中的重要组成部分,成立了工作小组WG6(中间件应用与内容平台工作组)。在IPTV终端中间件方面,该工作组提出了“基于中间件的IPTV终端的软件架构”、“IPTV终端中间件模块的需求”、“终端中间件API的功能和分类”等文稿。
IPTV焦点组WG6工作小组的许多成员来自DTV(数字电视)/DVB(数字视频广播)产业,因此该领域中的相关标准也会对IPTV终端中间件的研究产生影响。这些标准有:欧洲DVB组织提出的MHP(multimediahomeplatform),美国的ATSC(advanced television system committee)提出的ACAP(advanced common application platform),美国的Cable-Lab提出的OCAP(open cable application platform)。
2.2IPTV中间件产品现状
迄今为止在IPTV系统中有实际应用的、具有IPTV中间件功能的产品有:Siemens公司的Myrio、Alcatel公司的OMP、Kasenna公司的LivingRoom、Orca公司的中间件产品等。它们能够将不同厂商的流媒体服务与分发系统、头端系统、认证/授权/计费系统、EPG导航系统集成在一起,同时还提供安装在用户机顶盒上的客户端,从而提供完整的IPTV直播、点播等服务。但这些产品设计、开发之时都没有预见到IPTV业务的复杂需求,在业务定制方面缺乏灵活性,例如,要为第三方增值业务提供商开放IPTV系统的音视频流服务能力,必须进行定制开发;这些中间件要与运营商原有的BSS、OSS集成,也要进行定制开发。这就对中间件产品提供商的开发支撑能力提出了很高要求,否则,运营商IPTV业务的开展反而有可能受制于中间件。这也是为什么国内运营商更多地选择了端到端的IPTV解决方案,而没有选择基于中间件产品集成的IPTV解决方案。
另一方面,这些中间件产品虽然提供了安装在机顶盒上的客户端,但这些客户端的作用仅限于实现机顶盒与IPTV中间件平台的连接,并没有考虑第三方增值业务如何在机顶盒上实现,第三方的客户端软件如何在机顶盒上加载,机顶盒仍然缺乏业务提供的灵活性。现有的中间件产品还没有达到电信运营商对终端中间件的期望值。
因此,虽然中间件架构是IPTV产品和技术的发展主流,但目前IPTV中间件架构还处于研究阶段,真正的中间件产品还没有出现。
3、IPTV终端中间件的架构
IPTV终端中间件的架构要从3方面来考虑:基于中间件方式的IPTV终端的软件架构,终端中间件的模块结构,终端中间件与服务器端的关系。
3.1基于中间件方式的IPTV终端的软件架构
如图1所示,基于中间件方式的IPTV终端的软件架构可分为4个层次,即资源层、终端中间件层、应用程序层和业务无关程序层。
图1 基于中间件方式的IPTV终端软件架构
资源层:包含操作系统和硬件驱动程序。资源层透明地将各种资源提供给终端中间件层。
终端中间件层:终端中间件层是隔离上层应用程序与底层操作系统及硬件的软件适配层,向下有针对不同操作系统和硬件的接口,即中间件可移植层;向上可提供与底层资源无关的支持各种上层业务应用的API,即中间件API层。中间件本身的功能由一组中间件核心模块实现。对中间件层的详细描述见§3.2。
中间件层提供了一个统一的底层资源层抽象视图,应用程序不直接访问资源,而是通过中间件层实现对资源的调用。
应用程序层:为用户提供IPTV的各种业务、基于机顶盒的各种应用。应用程序分成3大类:
●浏览器及B/S方式的各种应用。浏览器又分两种情况:通用浏览器及定制的浏览器。EPG的呈现可以采用通用浏览器,也可以采用定制的浏览器(如微软IPTVe的实现方式)。增值应用一般都基于通用浏览器,采用B/S方式开发,这是目前实现IPTV增值业务的最主要方式。通过对浏览器提出要求,如支持JavaScript、Flash插件,能通过插件方式调用IPTV系统的音视频播放能力等,可以丰富B/S方式应用的表现能力。但是,B/S方式可实现的功能有限,请求/应答的模式使得交互速度也受到限制,例如,很多游戏都无法通过B/S方式实现。所以,开展IPTV增值业务必须发展C/S方式的客户端程序。
●C/S方式的应用程序。C/S方式的应用程序直接与服务器端交互,实现各种应用,适合于实现无法通过B/S方式实现的游戏、证券等应用。这种方式为IPTV增值业务及融合业务的发展提供了无限的想象空间。但目前受制于机顶盒的软硬件能力,以及客户端程序在机顶盒上移植的难度,这类应用的开发周期很长,无法满足业务发展的需求。
●本地应用程序。不需与服务器端交互的本机应用,如:本机游戏、用户收藏夹、本地通信录等。
业务无关程序层:包括各种直接运行在操作系统之上,与IPTV业务无关的程序,如DHCP、PPPoE接入认证程序等。程序直接运行在OS之上,可以提高运行效率。这些程序与终端中间件软件一样,在引入新的机顶盒时要进行移植,但这些程序通常具有业务无关性,遵循通用的接口协议,因此能做到快速移植。
3.2终端中间件模块结构
IPTV终端中间件层的软件又分为以下3部分。
(1)中间件可移植层
可移植层被用来与第三方机顶盒集成,任何第三方的机顶盒,只要实现了本层软件,终端中间件和中间件层支持的所有应用程序就可以运行在该机顶盒上,不需要对不同的硬件和操作系统再进行适配。
中间件可移植层包括系统抽象层和接口抽象层。系统抽象层负责对操作系统进行抽象,封装了所有的通用操作,包括任务、定时器、消息队列等,以及一些公共的数据结构,如队列、堆栈等,屏蔽了操作系统。接口抽象层负责对底层硬件平台进行抽象,封装了所有底层硬件平台和接口设备的操作和接口,包括Flash、RAM、键盘、鼠标、遥控器等,屏蔽了底层硬件。
(2)中间件API层
API层将机顶盒中间件核心模块提供的能力封装成统一的API。开放给CP/SP,供CP/SP在开发业务应用时调用。CP/SP只需根据API实现应用,而不必去考虑机顶盒具体如何实现这些API封装的功能。API层的存在降低了CP/SP开发应用程序的门槛。
中间件API层的API分成两类:一类API将底层资源所能提供的能力进行封装;另一类API将终端中间件直接与服务器端交互的能力进行封装。
(3)中间件核心模块
根据IPTV业务开展的实际需求以及中间件架构技术实现上的需求,IPTV终端中间件至少应具有以下核心模块:
●应用程序管理器。负责应用程序的初始化,启动应用程序,管理所有应用程序的生命周期,包括彼此之间的相互操作,便于各种应用程序能够协调地执行。
●资源管理器。负责管理和调度应用程序使用的各种底层资源及它们的状态。底层资源包括:如硬盘、内存、外设等硬件资源,文件系统、定时器等软件系统资源。
●输入输出管理:与红外遥控器、键盘、USB接口、音视频输入/输出接口等有关的各种输入输出事件的管理。
●基本网络服务。调用操作系统层实现的各种网络传送协议,控制音视频数据的传送方式以及收集信息以提供服务质量(QoS)保证。
●图形用户界面(GUI)管理。为应用程序提供用户界面控制(如按钮、列表)以及图形图像绘制等图形功能。IPTV的GUI管理,应基于电视机屏幕的显示特性。综合抽象出一些通用的基本图形操作功能,以支持上层软件的调用,实现特定的显示目的,如支持分层显示,支持透明/半透明显示等。
●安全及认证管理。包括用户认证、业务应用鉴权、软件升级及下载认证、网络安全策略、密钥及会话令牌管理等功能。用户认证应支持单点登录的统一认证(SSO),软件下载认证应支持对所有下载的应用程序的合法性校验,确保只有经运营商授权的应用程序才能在终端上安装。
●软件下载及升级服务。负责底层平台(包括操作系统)、系统软件(包括中间件)、上层应用程序及一些应用需要的特殊数据,如EPG数据的下载和动态升级。
●媒体播放及控制服务。向上层应用提供音频视频媒体播放的核心控制功能,它是流业务的控制台,负责控制流业务操作,如播放、停止、暂停、快进、快退等。
●数字版权管理。与系统平台侧的DRM系统连接,实现数字版权保护功能。主要工作为:内容使用授权序列号的管理,内容密钥的管理,加密的媒体流和数据流的解密。
●终端管理。负责机顶盒的管理和配置功能,包括本地配置、远程管理、日志管理、版本升级、异常管理、安全管理、QoS策略管理等。
3.3终端中间件与服务器端的关系
终端中间件需要实现IPTV终端与系统平台之间的互连互通。根据§3.2提出的终端中间件核心模块的定义,终端中间件与系统平台侧的以下服务器存在接口:认证/授权服务器、升级服务器、下载管理服务器、流媒体服务及分发系统、DRM系统、终端管理服务器。IPTV终端中间件的开发,必须将上述接口进行封装,通过API的方式提供给上层应用程序调用。
IPTV终端与系统平台的接口,还包括浏览器(或EPG专用浏览器)与EPG服务器的接口,浏览器与Web方式的应用服务器的接口,以及C/S方式的客户端程序与应用服务器的接口。这些都属于IPTV终端的应用程序层与系统平台的接口,不包含在终端中间件与系统平台的接口之内。但是,终端中间件必须支撑浏览器、C/S方式的客户端程序的运行,这是终端中间件中应用程序管理器、资源管理器、输入输出管理、基本网络服务、图形用户界面管理等模块必须完成的工作,它们能够将底层资源透明地提供给上层应用程序调用。IPTV终端中间件与服务器端的接口如图2所示。
图2 IPTV终端中间件与服务器端的接口
4、IPTV终端中间件设计、实现、应用中的关键点
IPTV终端中间件是业界关注的热点之一,终端中间件标准领域的研究也十分活跃。但是,要使IPTV终端中间件从研究走向真正的应用,从标准变为实际的产品,还有很多问题有待解决。
从IPTV业务发展、运营的角度,IPTV终端中间件设计、实现、应用中应关注以下3点。
4.1终端中间件的开发推广需要依赖于完善的商业模式
终端中间件的商业模式的设计侧重于两方面:
●通过合理的商业模式推动软件开发商进行中间件的开发工作,推动平台厂商采纳中间件方案,配合中间件的开发。
●通过合理的商业模式引导终端厂商、应用开发商使用终端中间件。终端中间件的推广不能仅提供一个终端中间件软件,而是要推广一系列的软件、标准、工具。
在推广方面终端中间件可以参考BREW的推广策略:
●为设备制造商提供中间件客户端软件、应用程序开发平台、移植工具、测试工具、技术支持、业务开发支持以及设备规格/产品路标的相关咨询服务。
●为应用开发商和内容提供商提供SDK和开发工具,以及应用程序测试支持、应用程序发布管理、应用程序销售报告。
●为运营商提供由运营商控制和管理的应用程序下载管理系统。
4.2终端中间件产品开发的分阶段实施步骤
根据业务开展的需求,确定中间件产品开发的分阶段实施步骤,其策略是:首先考虑终端对各个增值应用的支持度。实现增值应用方便地在终端上加载,降低增值应用开发商的开发门槛;再考虑终端与平台的兼容性,实现不同终端与不同平台之间的互操作。因此,终端中间件产品开发的分阶段实施步骤可以从两个维度考虑:
●软件层次维度。首先开发中间件核心模块和实现中间件API层,第二阶段再实现中间件可移植层。即:首先保证应用程序只开发一次。使应用程序开发商不需考虑终端底层软件和硬件的差异性。此时,中间件本身需要有不同的版本,分别针对不同的终端底层软件和硬件。
●功能模块维度。首先开发应用程序管理器和软件下载及升级服务模块,以及资源管理器、图形用户界面管理等与调用底层资源密切相关的模块,实现C/S方式客户端程序的自由加载和运行。支撑IPTV增值业务的快速开发。
4.3终端中间件实现技术的选择
考察现有的中间件产品,IPTV终端中间件的实现有两种主要技术方式:采用C/C++语言,从底层开始开发,提供的中间件API也采用C/C++方式:基于现成的J2ME技术。
采用J2ME技术,优势在于:其本身就是一个已用于智能手机领域的应用开发平台,标准和产品化比较完备,提供了一套现成的API(如CLDC(connectedlimiteddeviceconfiguration)和MIDP(mobile information device profile))。Java语言也比较普及,应用程序开发的入门门槛低。不足在于:对终端设备内存要求较高,程序运行效率受到影响,对于CLDC和MIDP中未规定的API,要参照其框架自行规定。
采用C/C++自行开发方式。实现较灵活,效率高,但开发周期长,对应用程序开发人员的要求也较高。
因此,需要在对IPTV终端中间件的研究中进一步选择、确定终端中间件的实现技术。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
去集群 更超群——大容量网络演进之路
2019 IBM 中国论坛
H3C 2019 Navigate 领航者峰会
助推数据中心网络现代化转型 打造灵活可靠基础架构平台