背景知识
自从六年前北美第一个有线电视VOD系统部署以来,数字视频系统的复杂度有了极大的增加,并且这种增加的趋势还在继续加快。电影点播(MOD)是数字有线系统中首先部署的VOD业务,随后又有了订阅VOD业务(SVOD)、免费点播(FOD)和采用实时编码(RTE)的网络个人录像业务(nPVR)业务。而且在最近一年内由于向HDTV高清服务过渡,和DOCSIS3.0服务之类的竞争压力驱动下,北美的MSO已经开始尝试推出交换式数字视频业务(SDV)。另外有线电视经营者也在寻找基于新的网络业务的广告收入而带来的新的收入来源,为此他们也正在准备部署VOD广告。为此MSO需要一种能够快速集成新型服务和新型服务器的开放式的视频点播服务管理平台,以便容易的扩展自身的系统以应对不断快速增加的新业务。
Timer Warner Cable部署的开放式VOD系统
为此目的,Time Warner Cable在VOD业务系统建设时充分认识到了系统开放性的重要性,为此制定了On demand interactive services Architecture。此架构的基本框图如下图所示:
在上图中可以看到Time Warner将视频点播系统总体分为3个大部分:1.用户机顶盒;2.头端系统;3.计费系统;Timer Warner cable制定了这三个大系统之间的连接接口,并且定义了头端系统中各子系统之间的接口。只要是符合其规定接口的系统,均可以快速的相互集成。
视频点播服务中头端与机顶盒的接口
在Timer Warner的视频点播系统中,机顶盒和前端系统中共有4个连接:
1.从前端视频服务器输出视频流到机顶盒,这部分采用标准的MPEG-2传输流。
2.机顶盒对视频服务器播出视频流的控制连接,这部分连接采用了LSCP(light stream control protocol)。
3.机顶盒与前端中的资源管理系统的控制连接,这部分采用SSP协议(session setup protocol)。
4.机顶盒与前端系统中的应用服务器之间的连接。TimeWarner cable并未对此部分进行规定。
由以上接口定义可以看到符合这种标准的机顶盒是与前端中所选用的视频服务器和视频点播管理系统无关。这意味着前端系统中的视频服务器和管理系统的更换或者扩展对于用户端机顶盒是一个透明的过程,这样可以确保将来在升级前端系统服务功能和扩展规模的时候,运营商不用受限于与现有机顶盒的兼容性问题。
视频点播头端系统与计费管理系统之间的关系
在Timer Warner Cable视频点播系统模型中将计费系统与视频点播头端系统分开,并且定义了专门的CBI接口. 采用这种方式的设计借鉴了电信网络系统的架构,将VOD的业务管理平台的功能主要集中在业务控制方面,而将最经常会发生改变的业务逻辑和商业逻辑交由另外的计费系统处理。采用这种设计的主要思路是将VOD作为一种底层的业务看待,当应用层服务需要进行扩展和更改时,更改的方式是将VOD这种底层业务与上层的业务逻辑和商业逻辑结合构成不同的视频点播服务。而采用这种设计带来的好处是运营商在未来的服务扩展过程中能够拥有更多的选择,而不必被某个特定的VOD软件服务提供商锁定。而且将VOD管理平台作为一个底层业务控制层面系统进行设计的另外一个好处在于越来越多的有线电视运营商正在向视频+数据+语音的全业务运营商转变,他们越来越多的将视频方面的服务与数据或语音等服务一起进行打包销售,将VOD业务控制功能和商业逻辑分开,使得运营商可以容易的把VOD业务与其他未来的交互业务进行打包处理,实现多种业务的综合商业逻辑。
在Timer Warner Cable视频点播系统模型中计费系统主要负责完成以下功能:
1.创建和管理用户帐号
2.创建和管理与用户帐号相关的接入设备
3.对于用户的购买行为进行追踪和出账
4.管理用户订阅的服务
5.为客户服务系统提供对VOD服务的管理接口。
开放式的VOD系统头端
在Timer Warner Cable视频点播系统模型中头端系统是指会话连接资源管理系统(Session Resource Management)、视频服务器,应用服务器,业务管理系统(Business Management System)和计费网关这一系列软件和硬件的组合。在这些系统部件中,业务管理系统BMS是整个开放式VOD系统中的核心处理引擎。在整个视频点播头端平台系统中设计中,BMS采用了CORBA技术。
公用对象请求代理(调度)程序体系结构(Common Object Request Broker Architecture),缩写为CORBA,是对象管理组织(Object Management Group)对应当今快速增长的软硬件的协同工作能力的要求而提出的方案。简而言之,CORBA允许应用程序和其他的应用程序通讯,而不论他们在什么地方或者由谁来设计。CORBA定义了接口定义语言(IDL)和应用编程接口(API),从而通过实现对象请求代理(ORB)来激活客户/服务器的交互。CORBA 2.0于1994年的12月发布。他定义了如何跨越不同的ORB提供者而进行通讯。
ORB是一个中间件,他在对象间建立客户-服务器的关系。通过ORB,一个客户可以很简单地使用服务器对象的方法而不论服务器是在同一机器上还是通过一个网络访问。ORB截获调用然后负责找到一个对象实现这个请求,传递参数和方法,最后返回结果。客户不用知道对象在哪里,是什么语言实现的,他的操作系统以及其他和对象接口无关的东西。
在传统的客户/服务器程序中,开发者使用他们自己设计的或者公认的标准定义设备之间的协议。协议的定义依赖于实现的语言,网络的传输和其他许许多多因素。ORB将这个过程简单化。使用ORB,协议定义是通过应用接口,而该接口是接口定义语言(IDL)的一个实现,他和使用的编程语言无关的。并且ORB提供了很大的灵活性。他让程序员选择最适当的操作系统,运行环境和设计语言来建设系统中每个组件。更重要的是,他允许集成已经存在的组件。
CORBA是在面向对象标准化和互操作性道路上的一个信号。通过CORBA,用户不必要知道软硬件的平台和他们处在企业网的什么地方就可以操作。
在系统中采用CORBA结构之前,运营商如果在系统中需要开发多种服务时不得不采用软件逻辑结构。
在前端开发的应用中每一种应用都不得不针对自身应用的后台过程进行接口开发,即使其中有能够进行软件重用的部分,但依然要对每个后台支持进程进行开发和部署。
采用CORBA技术可以在软件层面设计一个软件总线,从而在开发前端应用的过程中,开发者不必要和后台公用的服务进程进行一对一的接口开发。而且最重要的一点是在扩展系统的过程中,无论是后台公共服务进程的扩展,还是向整个系统中添加新的应用服务进程,对于整个系统不需要整个重构。
Timer Warner Cable定义了ISA结构,在此结构中定义了Customer/CustomerFactory;Terminal/TerminalFactory;Purchase/PurchaseFactory;Provider/ProviderFactory;Product/ProductFactory;Package/PackageFact