用于提供基于消息和事件的视频服务控制平面的系统和方法

文档序号:7991848阅读:242来源:国知局
用于提供基于消息和事件的视频服务控制平面的系统和方法
【专利摘要】在一个示例实施例中,一种方法被提供并且包括在客户端和与视频系统相关联的导体元件的消息传送结构之间建立连接;利用与可扩展消息传送与呈现协议(XMPP)相关联的一组接口定义具有一组特征的服务;为服务的一组特征分配多个XML名字空间;为服务分配标识符;并且在服务目录中登记服务,以创建XML名字空间与标识符之间的映射。
【专利说明】用于提供基于消息和事件的视频服务控制平面的系统和方法
【技术领域】
[0001]本公开一般涉及通信的领域,并且更具体地涉及用于提供基于消息和事件的视频服务控制平面的系统和方法。
【背景技术】
[0002]服务提供商在为多元化的端用户群体提供视频服务时面临很困难的挑战。很多服务提供商张罗着实现它们的‘任何地方都有TV’的倡议,这可以提供当今用户所要求的一定程度的自由。这种要求的一个方面包括在任意时间并且从任意地点从任意设备访问内容的能力。提供对各种技术的有效集成并且同时考虑特定的设备选择、特定的位置可能性、特定的用户偏好、特定内容和节目编排等对于服务提供商而言是一个巨大的挑战。
【专利附图】

【附图说明】
[0003]为了提供对本公开及其特征和优点的更全面的理解,结合附图参考以下描述,其中类似的标号表示类似的部件,在附图中:
[0004]图1是根据本公开的一个实施例的用于提供视频平台的视频系统的简化框图;
[0005]图2是示出了与视频系统的一个实施例相关联的可能的示例细节的简化框图;
[0006]图3是示出了与视频系统的一个实施例相关联的可能的示例细节的简化框图;
[0007]图4是示出了与视频系统的一个实施例相关联的可能的示例细节的简化框图;
[0008]图5是示出了与视频系统的一个实施例相关联的可能的示例细节的简化框图;
[0009]图6是示出了与视频系统的一个实施例相关联的可能的示例细节的简化框图;
[0010]图7是示出了与服务策略的一个实施例相关联的可能的示例细节的简化框图;
[0011]图8是示出了与视频系统的虚拟服务和服务实例的一个实施例相关联的可能的示例细节的简化框图;以及
[0012]图9-11是示出了根据本公开的一个实施例的与视频系统相关联的可能操作的简化流程图。
【具体实施方式】
[0013]概览
[0014]一种方法在一个示例实施例中被提供,并且包括在客户端和与视频系统相关联的导体元件的消息传送结构之间建立(例如,有线的、无线的等等)连接。该方法还包括利用与可扩展消息传送与呈现协议(XMPP)相关联的一组接口(例如,硬件、软件、应用程序等)定义具有一组特征的服务。该服务可以与对视频数据的任意类型的管理、处理、递送、格式化或控制相关联。这些特征可以与跟视频相关联的任意类型的活动、操作、任务或功能相关联。所述方法还包括为服务的所述一组特征分配多个XML名字空间(包括任意类型的标识符);将标识符分配给服务;并且在服务目录中登记服务以创建XML名字空间与标识符之间的映射
[0015]在更具体的实施例中,服务披露不基于XMPP的特征以由其它协议访问。此外,所述方法可以包括利用统一资源定位符(URL)在服务目录中登记不基于XMPP的特征。在更具体的实现方式中,服务被设备调用以支持视频系统的特定特征。
[0016]在其它实现方式中,所述方法可以包括访问服务目录中的协议名字空间;检索与特定服务相关联的特定标识符;并且利用导体元件的消息传送架构传输消息。此外,虚拟服务标识符可以针对特定服务被定义。在某些示例实例中,该方法可以包括接收与特定服务相关联的消息,并且评估服务目录中的服务策略以确定与针对特定服务的消息传送相关联的许可。服务策略可以包括被用于判断特定客户端是否被允许向特定服务发送消息的匹配标准。更具体的方法可以包括评估哪些组与发送该消息的特定客户端相关联,所述服务策略可以包括与多个客户端相关联的组许可。
[0017]示例实施例
[0018]转向图1,图1是根据本公开的一个实施例的被配置用于提供集成视频平台的视频系统的简化框图。视频系统10可以包括多个后端系统15,这些后端系统可以进一步包括将订阅者管理和计费包括在内的多个提供商系统14。此外,视频系统10可以包括用于内容和元数据管理的媒体套件(suite) 18,该媒体套件18可以被耦接到用于内容处理的媒体采集22。视频系统使能的服务元件20可以被适当地链接到媒体套件18、媒体采集22和内容发布24。
[0019]此外,任意数目的网络可以适当地将内容发布24耦接到视频系统家庭34以及“移动(on the go)”组件32,该“移动”组件可以与无线活动、漫游、WiF1、更一般意义上的端用户设备等相关联。在图1中所示出的一个特定示例中,3G/4G和WiFi网络35连同有线的、xDSL、FTTH网络25 —起被用于辅助实现视频平台的活动。图1还包括导体28视频控制平面,该平面可以被适当地耦接到媒体采集22、内容发布24和端到端系统管理30。注意图1的较大块(例如,导体28、内容发布24、媒体套件18、视频系统使能的服务20、视频系统家庭34、媒体采集22等)可以被视为可以实现本公开的特定活动的逻辑套件。注意它们的功能、责任、任务、能力等可以按任何适当的方式被分配,这可以基于特定的视频需求、订阅者模型、服务提供商布置等。
[0020]根据本公开的教导,视频系统10被配置为向服务提供商提供多个有价值的特征。例如,视频系统10被配置为将视频服务扩展至从智能电话、平板电脑、iPad、个人计算机(PC)到机顶盒(例如,n-屏幕(n-screen))、有线系统等的各种设备。此外,这个视频系统10的平台被配置为将视频服务扩展至任意的IP接入网络(无约束的)。该体系结构还可以在不同设备、不同网络和不同视频服务之间提供统一的内容管理。此外,该体系结构可以提供灵活的平台和基础设施,通过利用(Ieverage)互联网协议(IP)、超文本传输协议(HTTP)/web服务、可扩展的消息传送和呈现协议(XMPP)和带有开放式接口的工作流程使能的基础设施以及客户端和服务器软件开发套装(SDK)的组合来使得现有服务能够被修改(并且新的服务被服务提供商开发)。初始的应用程序组也可以被提供(例如,线性的、时移的、点播的等等)。
[0021 ] 此外,该体系结构可以使用自适应比特率(ABR)来辅助实现视频服务递送(独立于访问)。这允许可以针对消费者的视频提供,可以提供可被绑定到订阅模型的“任意地方、任意访问”。此外,视频系统10可以很容易地支持具有为更高效的使用接入网络资源的本地缓存优化的单播和多播递送。这可以包括对内容保护的支持,从而使能对全部内容的递送(不仅仅是内容的子集)。这还包括对诸如紧急警报服务、灯火管制、地理阻塞等之类的现有关键特征的支持。还提供对广告(包括动态广告支持)的支持以及对旧有设备(主要是现有端点设备(例如,机顶盒(STB)))现有基础设施的顺利迁移的支持。
[0022]该体系结构还可以支持接入提供商要实现的混合优化(例如,为了加强他们的供给)。在该上下文中,混合指的是传统的服务提供商视频递送技术(例如,有线混合光纤同轴(HFC)环境中的通过正交幅度调制(QAM)的MPEG传输流)与纯IP视频递送技术(例如,基于HTTP的自适应比特率)的组合。
[0023]在操作中,通信系统10可以支持以下面向端用户的使用案例:1)内容发现;2)针对被管理的IP STB和未被管理的设备的线性服务(其中针对现有线性服务的迁移被同等地支持);3)针对被管理的IP STB和未被管理的设备的点播服务(其中针对现有点播服务的迁移被支持);4)时移TV服务(例如,以跨被管理的IP STB和未被管理的设备的屏幕的云DVR/时移TV的形式(其中针对现有DVR服务的迁移被支持));5)以伙伴设备的形式的交叉屏幕(cross-screen)体验,其中伙伴设备(例如,iPhone)可以被用作针对另一视频系统设备(例如,IP STB)的远程控制,或者伙伴设备可以通过价值添加/上下文或节目编排已知的元数据信息(例如,Facebook/twitter馈点、附加的节目详情、超链接等)来改进观看体验;6)屏幕切换,其中用户能够将播放变到另一设备上(例如,从iPad到TV),跨设备暂停和继续节目,或者具有多房间的DVR ;7)动态广告;以及8)价值添加应用,该应用使得服务提供商能够提供价值添加用户体验(例如,Facebook连接功能、对Olympics应用的访问等)。
[0024]注意视频服务传统上按孤立的方式被提供。线性TV服务由有线、电信或卫星公司通过具有被扩展为包括时移、点播和DVR类型服务的服务产品(offering)的旧有的不基于IP的基础设施来提供。服务只被提供给被管理的网络(例如,基于QAM的有线网络)上的被管理的设备(例如,STB)。随着具有相对较高的带宽的IP基础设施变得更加流行,第二波基于IPTV的视频系统出现了。这些系统中的共同主题是基于IP多播的线性服务、基于实时流协议(RTSP)的点播(等)服务,以及会话发起协议(SIP) /IP多媒体子系统(IMS)加RSTP控制平面,以及/或者HTTP/web服务加与通常基于HTTP/web服务的针对端用户的元数据管理(例如,电子节目指南(EPG))相耦接的基于RTSP的控制平面。IPTV内容递送一般被假设为被管理的网络上的固定比特率(支持资源预留以满足特定的服务级别或者简单地具有充足的带宽)。
[0025]新的第3波系统现在正在被考虑,这种系统的设计原则是任意内容可以在任意时间到达位于任意位置的任意设备。HTTP自适应比特率使得能够在内容传送域中实现这个模型;然而,为使服务提供商提供优质的视频服务,控制平面基础设施仍然是需要的。现有的基于IPTV的控制平面体系结构和解决方案在支持当今的基于web的环境中的以上第3波系统所需要的多个方面是欠缺的,这些方面包括:1)缺少针对基于HTTP ABR的内容递送的考虑和服务,没有关于“网络”或者云会话(例如,用于问题排查、诊断、统计、策略执行(会话的上限))等的概念;以及2)基于HTTP简单对象接入协议/代表性状态传送(REST) (SOAP/REST)的视频控制平面体系结构在一些方面是欠缺的。这包括不能通过NAT进行工作(例如,支持对客户端的通知类型的服务(紧急情况报警、运营商发起的消息传送/诊断等))。这还包括双向通信支持和供云发起的通信去往错过(例如,发生事件)的目标家庭、用户和/或特定设备的方式,以及围绕同样错过的这种云发起的通信的认证/授权考虑。此外,这样的模型用作客户端-服务器模型中的请求-响应协议,并且它们通常不是会话状态的,这对一些优质视频服务而言是需要的。这些基于HTTP的服务不保留在多个请求的持续时间内的每个用户的信息或状态。因此,当基于HTTP的web服务在大型集群上被部署时,难以跟踪用户从一个请求到另一个请求的进展,除非集中式数据库被用于跟踪该进展。
[0026]基于SIP-1MS的视频控制平面提供与双向支持和通知服务的持续连接,这解决了基于HTTP的控制平面的一些缺点。然而,基于SIP/IMS的体系结构也在一些其它方面存在欠缺(例如,它们只是为要被调用和广告的基于SIP/IMS的服务定义的)。在当今世界中,与基于HTTP和XML的服务的集成的容易度是很重要的。此外,SIP/MS是基于呼叫建立模型的,从而服务作为传入或传出会话建立的一部分而被调用。会话内部或者会话以外的事件也被支持。因此,IMS服务创建、合成和交互依赖于MS滤波器标准的概念,这些MS滤波器标准是被用于判断要调用若干个IMS应用服务器(AS)中的哪个IMS应用服务器的(统计上定义的)触发点。
[0027]多个应用服务器之间的交互由(指定的)服务能力交互管理器(SCM)功能来处理。就很多方面来说,这是过去用于电报系统的经典智能网络(IN)模型的更现代的版本。在第3波视频系统和当今日益普遍的基于web的技术的世界里,用户和服务都需要被视为同样能够发起到彼此的服务的一等组成部分(citizen)。此外,协调这些服务的开放式架构是很重要的,包括对系统中的事件的响应。
[0028]在SIP/MS围绕建立通信会话(例如,呼叫)的需求而被设计的情况下,不太适合由其自身交换作为会话的一部分的结构化数据。例如,对于大型消息的支持是用户数据报协议(UDP)上的一个问题,并且SIP代理一般不想有频繁或大量的数据通过它们被发送。然而,一些视频控制平面服务需要那种功能(例如,远程调度、伙伴设备体验、交互式诊断等)。
[0029]视频系统10的某些实施例可以提供解决以上问题的整体视频服务控制平面体系结构。根据本公开的一个示例实施方式,视频系统10可以解决前述问题(以及可能的其它问题)以提供使得服务提供商能够通过任意网络将其订阅者的任意内容提供给任意设备的云、网络和客户端功能的组合。本公开提供了支持对被管理的视频服务产品的完整补充的端到端视频平台解决方案的第一完整例示。
[0030]在图1的平台内,功能组件从逻辑上被组合为不同的套件。延伸到核心平台以外的是被假设为在服务提供商或内容提供商网络内预先存在的组件。具体而言,服务提供商业务支持系统/操作支持系统(SP BSS/0SS)代表一组预先存在的业务和操作支持系统。第3方web服务是该解决方案所利用的基于云的服务,不过是预先存在的并且可以就地被利用。内容提供商控制系统是支持将内容递送到次级分发通道的预先存在的或者将来的系统。在视频服务的递送中发挥作用的不同网络(由服务提供商管理的网络及其它网络)的集合也可以被提供。最后,该体系结构还可以包括现有的点播和线性内容源,代表所述内容源自内容提供商/广播商,以及在服务提供商的网络内获取所述内容。这一区域中的实线和虚线代表内容元数据和内容实质(实际的媒体文件等)之间的区分。
[0031]云范式可以用针对线性和时移TV的增强功能扩展媒体套件和采集套件。通信平台还引入导体和导体服务,提供可扩展的服务创建环境、公共服务功能以及可大规模扩展的和持久的客户端连接技术。还提供了三个附加套件,包括提供集成了 web广告判决服务器功能的高级广告功能的核心组的广告套件(在图1中被表示为“高级广告”)。此外,构建在QuickStart中所提供的基本软客户端功能之上的应用套件(例如,视频系统使能的服务)被提供。还提供跨被管理和未被管理的设备的核心的和价值添加的端用户应用的基本组。管理套件(例如,端到端系统管理)也被提供用于客户端和端点管理;它辅助实现对产品的整体视频平台套件的管理。
[0032]视频系统10还构建在用于将点播和线性内容高效地递送到客户端设备的分发套件功能之上。内容递送网络(⑶N)功能可以负责获取源自于内容管理/媒体处理功能的内容,并且将这些内容批量、高效且具有最小的端到端延迟地递送给客户端。CDN可以提供高部署灵活度:利用集中化的根缓存层、多个中间缓存层和靠近客户端设备的边缘缓存层使部署的规模从更集中化的部署到高度分布式部署。CDN还提供智能内容路由功能,这些功能通过网络邻近性与下层网络元件的实时路由详情捆绑在一起。这使得服务提供商即使是在网络修护期间也能够高效地递送来自最佳边缘缓存资源的内容。
[0033]该体系结构还覆盖软客户端以及被管理的设备。具体而言,该体系结构包括视频系统家庭网关以及视频系统IP STB。作为网络的延伸,家庭网关提供家庭和服务提供商云和网络基础设施内的被管理和未被管理的设备之间的有价值的链接。IP STB以及运行在未被管理的设备上的所有软客户端被设计为跨被管理和未被管理的网络环境上工作。软客户端功能可以被扩展为包括线性和时移功能,以及利用各种套件所披露的云和网络API的演进组来提供高质量的端到端用户体验。
[0034]视频系统10提出到跨越整个服务/内容生命周期的基于所有IP的视频和服务基础设施的迁移,所述整个服务/内容生命周期包括从视频内容和元数据获采集到内容和元数据准备、分发以及向端用户的递送。视频系统拥有具有用于这些功能的异构接口和实现方式的一组不同的产品/套件。整个系统遵从面向服务的体系结构(SOA)开发架构,并且从而支持通过服务编排和工作流程引擎使用的多个单独的服务。所述套件中的每个套件提供一组明确定义的服务和关联接口,并且端用户服务最终被提供的就是这些服务。端用户服务可以被定义为包括用户与之交互以提供用户可见的服务的一个或多个服务。例如,线性TV服务提供使得用户能够根据它们的订阅观看特定频道的特征和逻辑。线性TV服务通过利用多个下层视频系统服务和套件来实现这一点。应用套件服务就提供用于一个或多个服务的特定应用逻辑方面发挥特定的作用。用户也可以是机器(例如,针对面向机器到机器的类型的服务)。
[0035]在本公开的特定实现方式中,视频系统10可以利用一组基于HTTP的REST式web服务来支持基本的随地点播TV功能。由媒体套件和分发套件两者向端点披露的这些HTTP服务可以提供经证实的可扩容性、灵活性和可扩展性。在操作中,视频平台可以利用HTTPREST式的web服务和基于XMPP的服务的混合,来提供有力的组合以支持针对线性、时移TV、VOD、伙伴、及价值添加应用的高级功能。
[0036]转向图2,图2示出了多个示例内容源45 (例如,YouTube、Starz、HULU等)。设备和服务可以被分成面向客户端的组件和面向云的组件。面向客户端的组件和服务可以涉及与客户端的交互。面向云的组件和服务可以包括其它的所有事项。在任一情况下,服务提供明确定义的基于XMPP和/或HTTP的接口。基于XMPP的服务可以依赖于导体基础设施以及其所提供的特征(例如,服务虚拟化或者永久连接),而视频系统中的基于HTTP的服务可以遵从标准的web服务模型。
[0037]客户端可以直接与服务相接口或者它们可以与前端应用/服务交互,前端应用/服务进而编排和调用其它服务(例如,通过由利用服务编排提供的灵活的工作流程引擎)。类似地,服务也可以依赖后端应用逻辑来实现更高层的应用/服务,这些服务又可以依赖其它服务的服务编排。在客户端本身上,可以安装有一个或多个应用,并且应用可以包含附加模块。在任一情况下,客户端侧的应用通过一个或多个服务调用(例如,“创建记录”以安排nDVR记录的时间,这是经由HTTP或XMPP由服务或应用前端支持的)与视频系统云交互。
[0038]在操作中,媒体套件(统一的CMS、授权、元数据代理、LSMS/EPG管理器等)、分发套件(该套件是包括服务路由器、服务引擎/边缘缓存等的内容分发)、广告套件和应用套件可以披露客户端所消费的服务。面向客户端的接口可以是基于HTTP的,并且对于视频系统,它们可以继续是基于HTTP的,或者它们以及其它应用和服务可以是基于HTTP和/或XMPP的。在任一情况下,高效的机制可以被用于客户端以首先发现这些服务,选择可以最好地满足来自所述客户端的服务请求的组件的实例,并且管理有限的资源在所述服务的所有实例上的分配。视频系统可以通过导体的针对基于XMPP和HTTP两者的服务的服务目录提供统一的服务发现功能。对于基于XMPP的导体服务,服务虚拟化可以由导体基础设施本身来提供。
[0039]图3是突出显示视频系统使能的服务以及导体功能的简化框图。采集套件服务虽然不是被客户端端点直接消费的,但是向媒体套件和分发套件提供了关键的媒体处理服务,因此也被考虑。针对媒体套件、获取套件和分发套件的服务路由和服务虚拟化可以继续利用现有的实现方式。具体而言,媒体套件当前提供了用于服务虚拟化和负载平衡的全局服务器负载平衡(GSLB)/Apache web服务机制。采集套件可以通过其转码管理器服务器为视频点播(VOD)转码提供负载平衡;用于针对线性和VOD转码和封装的服务虚拟化和负载平衡的扩展机制也可以在视频系统中被提供。分发套件提供用于虚拟化和边缘缓存选择的基于服务路由器的机制。广告套件消息交换是无状态的,交易数据跨允许任意虚拟端点处理消息交换的虚拟化的服务集群被维护和复制。对于利用传统HTTP消息交换访问的服务,器具或者其它硬件负载平衡器可以被使用。或者,负载平衡器或软件负载平衡器可以符合整体视频系统体系结构地被采用。当广告套件被利用XMPP访问时,为负载平衡和高可用性,集成的视频系统导体服务虚拟化被利用。
[0040]视频系统用户可以通过它们的服务提供商订阅视频服务。一个或多个用户和设备可以与服务的账户相关联,并且与使能视频服务的个人化每个简档相关联。设备包括从IP机顶盒到诸如PC、Mac、平板电脑、智能电话等之类的各种设备上的软客户端,并且所有那些设备可以被用在服务提供商的接入网络(家庭)或者另一网络(例如,移动(on the go)网络)。用户还可以具有视频系统家庭网关,该网关可以是具有附加视频特征的住宅NAT/防火墙类型的设备,所述附加视频特征例如是媒体缓存以及多播到单播的转换以优化端用户视频体验并且减少对接入网络资源的使用(尤其是当用户有访问相同内容的多个设备时)。有线和远程通信(xDSL、光纤等)接入网络作为提供顶级体验的被管理的网络而被支持,其中与用于未被管理的接入网络相比,服务质量和策略控制使能更好的端用户视频体验。
[0041]用户和设备可以主要利用永久XMPP连接和基于无状态HTTP的web服务来连接到视频系统基础设施。导体提供XMPP基础设施,客户端(用户/设备)经由连接管理器连接到所述XMPP基础设施并且验证它们的身份,从而实现安全且个人化的服务体验。导体提供连接管理、消息传送和核心服务以及附加的服务启用功能的基本组,以允许新的服务被引入。服务和应用可以连接到导体,从而允许它们使用导体所提供的核心服务,以及通过XMPP消息传送基础设施彼此交换消息。
[0042]导体所提供的核心服务包括客户端目录,该客户端目录包含用户和设备简档信息以及发布-订阅子系统(PubSub),允许收听者订阅以及被通知关于发布者针对给定话题所生成的事件。会话状态管理器跟踪与会话(例如,观看电影时的视频会话)相关联的状态,并且资源代理允许资源(例如,网络带宽)与所述会话相关联。应用套件提供支持前端和后端应用逻辑的组以递送线性和时移TV、nDVR、点播、针对特定平台的软客户端下载、价值添加的应用以及针对点播店面的web门户电商平台。
[0043]图4是图示了视频系统云API和客户端的简化框图。在该特定示例中,视频系统云API50被提供为连接到REST式的HTTP web服务网络56。另外,视频系统云API的其它实例52,54被耦接到XMPP消息传送云58。第三方服务60的实例也被示出并且被耦接到视频系统管理的IP机顶盒62。此外,视频系统iOS平板电脑64和视频系统Android智能电话66被适当地连接到给定网络。云API可以实现一致的用户体验。此外,云API可以最佳地利用XMPP和HTTP。客户端SDK可以方便跨不同平台使用云API。此外,云API可以访问第三方服务。
[0044]图5是图示了内容分发套件和媒体采集套件的简化框图。在特定示例实现方式中,节目指南检索和媒体递送是基于HTTP的。视频递送支持自适应的比特率,并且其可以利用分发套件进行高效的、服务提供商级别的视频递送。分发套件实现了整个网络上的分布式内容缓存。对内容的HTTP请求可以首先被发送至服务路由器(SR),服务路由器利用接近性引擎(PxE)来执行对去往服务引擎(SE)的HTTP请求的基于接近性的重新定向以进行高效的媒体递送。当服务引擎接收到请求时,服务引擎根据其缓存、另一服务引擎(缓存分级结构中更高级的服务引擎)对请求提供服务,或者服务引擎联系从原始服务器(在采集套件中)检索内容的内容采集功能。分发套件可以被用于高效地递送诸如通用节目指南之类的任意可缓存的应用对象,而个人化的节目指南反而可以直接从媒体套件获取。在任一情况下,客户端可以了解利用PubSub XMPP服务可得到的新的节目指南以进行节目指南更新。
[0045]图6是图示了与媒体套件、提供商系统等相关联的附加细节的简化框图。媒体套件组件从提供被管理和未被管理的内容的多个内容提供商接收内容元数据和电子节目指南(EPG)信息。媒体套件对该信息进行规范化并产生针对相关联的内容的节目指南。这可以涉及利用LSMS/EPG管理器将内容映射到信道,遵从针对特定区域中的内容的断电指示,确定要被应用的数字权利管理(DRM)等。节目指南通常基于本地可用的内容随区域而变化,并且节目指南也可以根据每个用户而变化(个人化的节目指南)。类似的功能被提供给点播内容,所述点播内容可以是端用户可得到并且可看到的。一旦所关联的内容可用,媒体套件随后可以发布针对所述内容的节目指南和索引信息。媒体套件还支持桥接线性和点播域的多种时移TV体验;DVR CMS功能可以就此提供内容管理功能。媒体套件提供统一的授权功能,允许服务提供商提供对多个领先的DRM生态系统的支持。被管理和未被管理的个人资料文件(asset)(点播、线性频道、应用)被媒体套件发布者功能组合到产品(offer)中。例如,服务提供商可以选择提供包含被有效管理的内容和来自诸如Hulu之类的整合者的未被管理的内容的混合内容的统一的VOD索引。
[0046]与该内容相关联的元数据可以由元数据代理提供,所述元数据代理还提供与节目指南和nDVR记录相关联的服务元数据。被管理的内容可以通过服务提供商的基础设施(采集套件)被获取、转码、加密和递送,而未被管理的内容处理和递送是整合者的责任。来自这两者的资料文件可以被无缝地合并到统一的产品中并在公共索引中被呈现给用户。在被管理的内容的情况下,客户端可以与媒体套件授权管理服务器交互。如果用户被授权访问内容,则内容辨别服务器(CRS)功能决定一个或多个合适的格式以为请求的客户端提供内容;格式可以进而取决于内容策略功能所控制的特定内容策略。在未被管理的内容的情况下,客户端在资料文件重放时将直接与整合者的后端授权/递送系统接口。
[0047]在用户被允许观看特定内容之前,不管该内容是线性的还是点播的,该内容都可以成为可用的。未被管理的内容不被视频系统网络缓存和处理,而是作为任何其它IP流量在最顶层(OTT)被递送。但是,被管理的内容可以从内容提供商处被获取,并且可能按多种方式被转换。采集套件通过按可能的几种不同格式(编解码、分辨率等)对内容进行(重新)编码来担任这个角色以支持多个端用户设备和对所述内容的自适应比特率递送。VOD转码由转码管理器完成,线性转码可以由数字内容管理器(DCM)和媒体处理器完成,并且ABR格式化可以由媒体封装器处理。针对DRM的加密也可以被提供。采集套件与媒体套件彼此协调以判断要获取什么内容、内容在什么时候是可用的,并且从而可以被发布在索引中,以及应用哪个DRM。一旦内容被适当地转换,该内容可以被存储在原始服务器功能上,并且该内容随后可用于向端点分发。该内容随后可以被推出到分发套件(预先获取),或者分发套件将在需要的时候检索并缓存该内容。
[0048]尽管使用了 HTTP ABR,但是一些内容可以由多播提供;家庭网关可以在多播递送和单播HTTP ABR之间转译以优化接入网络和⑶N (分发套件)的使用。多播管理器广告静态地以及可能动态地被提供的多播会话,所述多播会话定义确定多播发送者以及对于多播树的覆盖的多播云。虚拟源服务(VOS)嵌入诸如封装、时移表示、nDVR的记录和多播缓存填充的多播起源之类的功能;服务路由器功能使能跨多个VOS实例实现高效的服务路由请求处理(例如,使用拓扑结构上近距离的VOS )。
[0049]基于节目指南信息、VOD索引等,客户端可以具有针对其想要获取的内容(例如,TV频道、点播的电影等)的HTTP URL。当客户端发出对所述内容的请求时,将需要通过授权核查以判断其是否被允许获得所请求的内容。授权核查由媒体套件执行,所述媒体套件与DRM/许可服务器相接口以使能实现对DRM保护的内容的解密的DRM生态系统专用许可密钥。
[0050]广告套件放置代理接受来自任意发起源(假设其为客户端或者云)的广告放置请求(例如,以有线电信工程师协会(SCTE) 130的第3部分放置请求消息的形式)。放置代理从内部和外部源的组合收集与内容和观看者相关的附加的目标标准。对于内容专用的元数据,媒体套件的元数据代理和/或第3方元数据源利用SCTE130内容信息服务(CSI)接口被查询。用户或内容观看者信息利用SCTE130订户信息服务(SIS)接口从内部和/或第3方源的组合被获取。示例的SIS元数据源包括视频系统的地理位置服务、导体的客户端目录服务、对服务提供商订阅者数据的间接访问或者诸如Experian之类的外部第3方。[0051]一个或多个放置时机(包括描述决定所有权、策略、广告单元结构的元数据的传统线性元素的更一般化的形式)可以从实现SCTE130放置时机信息服务(POIS)接口的组件处被获取。基于所有权和所规定的放置服务标准,放置代理应用适当的元数据可见性策略并将个体的放置时机路由到正确的广告决定服务。广告决定服务可以是第3方活动管理器的组件或者它可以是广告套件的web ADS路由器。Web ADS路由器将决定请求利用它们本身的请求格式转发到诸如DoubleClick或Freewheel之类的第3方web广告决定服务器并且接收交互广告署(IAB)视频广告服务模板(VAST)2.0响应。放置代理将全部广告放置决定进行整合并利用SCTE130PlacementResponse消息将结果返回给发起源。发起源随后利用合适的递送平台专用的组装机制(例如,针对HLS的播放清单操作或者针对客户端HSS/Smooth的播放器控制等)将娱乐内容和所选择的广告资源文件混合在一起。
[0052]放置报告器获取包括放置、播放、会话、观看者和远程控制事件的媒体会话事件,根据所规定的放置服务策略过滤这些事件,并将合适的确认报告转发给各个广告决定服务。Web ADS路由器提供跳转(proxy)到VPAID格式的附加的转发功能。放置报告器还对数据进行存档以用于以后的分析并且提供报告生成支持。
[0053]管理套件实现视频系统的管理方面(FCAPS)。设备管理器执行针对视频系统的被管理设备(即,机顶盒和家庭网关,而端点管理器以应用下载、供应、事件收集和报告等的形式支持针对所有视频系统客户端的总体管理)的基本硬件和固件设备管理。域管理器是针对每个产品套件的子系统管理器。域管理器被置于管理套件本身中或者是完成双重角色的另一套件中的产品。最后,管理器中的视频管理器(MoM)可以提供用于平台的各个管理组件的总体管理器。
[0054]视频系统体系结构定义不与任何特定套件相关联的若干个第三方元件。在视频系统盒内,认证/授权/单点登录(AA/SS0)功能提供允许不同的套件和接口之间的公用凭证和单点登录的公用后端AA和SSO解决方案。会计功能使能存储会计数据(例如,针对质量统计信息),并且DOCSIS和电信策略功能提供用于有线和电信接入网络的策略服务器功能。在视频系统盒以外,针对第三方web服务的多个第三方元件、服务提供商BSS/0SS、内容提供商(CP)控制系统以及EPG调度信息、VOD和线性内容源、集成接收器解码器(IRD)、紧急情况警报系统(EAS)和公共⑶N也被定义。
[0055]转向与本公开相关联的示例基础设施,图1的客户端可以经由某个网络与想要接收视频系统10中的数据或内容的设备、客户或者端用户相关联。术语‘客户端’包括被用于发起通信的设备,例如,接收器,计算机,机顶盒,IRD,手机,智能电话,平板电脑,远程控制,个人数字助理(PDA),Google droid, iPhone, iPad,或者能够发起视频系统10内的语音、音频、视频、媒体或数据交换的任何其它设备、组件、元件或对象。客户端还可以包括对于人类用户的合适接口,例如,显示器、键盘、触摸板、或者其它终端设备。客户端还可以是代表另一实体或元件来设法发起通信的任意设备,例如,程序、数据库、或者能够发起视频系统10内的交换的任何其它组件、设备、元件或对象。本文档中所使用的数据指任意类型的数字、语音、视频、媒体或脚本数据、或者任意类型的源或目标代码、或者采用可以从一个点被递送到另一点的任何合适的格式的任何其它适当的信息。
[0056]图1的网络可以代表用于接收和发送传播通过视频系统10的信息的分组的互连通信路径的一系列点或节点。网络可以提供在源和/或主机之间的通信接口,并且可以是任何局域网(LAN)、无线局域网(WLAN)、城域网(MAN)、内联网、外联网、WAN、虚拟私有网络(VPN)或者辅助实现网络环境中的通信的任何其它合适的体系结构或系统。网络可以包括通过通信介质被耦接到彼此(并且彼此通信)的任意数目的硬件或软件单元。
[0057]在一个特定实例中,本公开的体系结构可以与服务提供商数字订阅者线(DSL)部署相关联。在其它示例中,本公开的体系结构可以同样应用于其它通信环境,例如,任何无线配置、任何企业广域网(WAN)部署、有线情形、一般意义上的宽带、固定无线实例、光纤到X (FTTx)(这是用于在最后一英里体系结构中使用光纤的任何宽带网络体系结构的通用术语)以及缆上数据服务接口规范(DOCSIS)有线电视(CATV)。本公开的体系结构可以包括具有用于发送和/或接收网络中的分组的传输控制协议/互联网协议(TCP/IP)通信能力的配置。
[0058]套件、后端系统、导体、端到端系统管理等中的任一个可以代表可以辅助实现这里所讨论的视频管理活动的网络元件。如这里本说明书中所使用的,术语‘网络元件’意图包括之前所提到的元件以及路由器、交换机、有线电视盒、iPad、一般意义上的端用户设备、端点、网关、网桥、STB、负载平衡器、防火墙、内联服务节点、代理、服务器、处理器、模块或者可操作用于在网络环境中交换内容的任何其它合适的设备、组件、元件、专属器械或对象中的任何一个。这些网络元件可以包括辅助实现其操作的任何合适的硬件、软件、组件、模块、接口或者对象。这可以包括允许实现数据或信息的有效交换的合适的算法和通信协议。
[0059]在一个实现方式中,这些网络元件可以包括软件以实现(或促进)这里所讨论的视频管理活动。这可以包括域管理器lla-f的实例的实现方式。此外,这些元件中的每个元件可以具有内部结构(例如,处理器、存储器元件等)以辅助实现这里所描述的操作中的一些操作。在其它实施例中,这些视频管理活动可以在这些元件的外部被执行,或者被包括在某个其它网络元件中以实现所想要的功能。或者,这些网络元件可以包括可与其它网络元件协调以实现这里所描述的视频管理活动的软件(或者往复式软件)。在另外一些实施例中,一个或几个设备可以包括辅助实现其操作的任何合适的算法、硬件、软件、组件、模块、接口或对象。
[0060]转向图7,图7图示了与本公开相关联的服务策略体系结构70。该特定配置包括服务目录72、服务策略74、服务连接管理器76、客户端目录78、系统管理控制台80和Jabber会话管理器(JSM) 82。注意3GPP MS定义了意图利用滤波器标准和应用服务使能新服务的简单引入的服务基础设施。然而,它依赖更加静态的模型,其中服务被IMS滤波器标准触发并且代表用户被调用。服务发现、可扩容性、策略等不被考虑为这个范例的一部分。具体而言,IMS不针对位于不同平台上、与不同协议通信以及可能用不同的语言开发的互连服务。此外,欠缺的是服务如何登记、发现彼此并且如何在面向通用服务的平面级别提供虚拟服务体验,同时保持某些策略和安全性执行功能。此外,没有系统限定如何在灵活的工作流中将多个服务编排到虚拟服务中GMS滤波器标准和应用服务器依赖触发消息和对应用服务器的调用的固定顺序)。因此,对于服务提供商而言,想要简单快速地部署诸如社交网络服务、伙伴设备服务等之类的各种价值添加服务仍然是困难且昂贵的。类似地,其它现有的视频服务体系结构也不为端用户提供如下特征,所述特征即发现新服务和现有服务以及通知用户关于服务改变信息、可用的新服务、现有服务更新等。
[0061]图7的体系结构定义了一种服务基础设施,该服务基础设施按照与控制平面中的任何其它实体相类似的方式对待服务。该平台通过提供以下内容提供对服务的灵活、可扩展、可靠、安全和基于策略的控制:1)服务目录,该服务目录使得基于XMPP和不基于XMPP的服务能够被登记和发现并且允许那些服务被虚拟化;2)服务发布,该服务发布可以按近乎实时的方式向订阅的设备、端点、用户和服务发布新部署或新更新的基于XMPP和不基于XMPP的服务;3)服务策略,该服务策略控制服务和客户端如何彼此交互,并且通过依赖与设备、端点、用户和服务相关联的被认证的JID按统一且一致的方式被提供给这些设备、端点、用户和服务;4)服务虚拟化,该服务虚拟化允许XMPP服务调用根据服务路由策略对若干个服务实例之一透明地被完成;5)服务编排,该服务编排针对各种使用情况可以涉及针对不同虚拟服务的基于XMPP和不基于XMPP的服务;以及6)服务管理,该服务管理可以与视频服务控制平面处的服务请求/响应共享XMPP连接和消息递送基础设施,集中配置XMPP服务,管理XMPP服务的生命周期,部署XMPP服务以及更新XMPP服务。
[0062]该体系结构还提供一种适合用于视频服务控制平面的松散耦接、灵活、开放、可扩展且可靠的服务基础设施。该平台支持对具有路由到特定服务实例的灵活服务的服务的(透明)虚拟化。该平台还支持对基于XMPP和不基于XMPP的服务的简单的发布和管理。还支持全面的服务策略并且允许与客户端策略的统一集成。
[0063]注意图7的体系结构的中心是集成基于XMPP的服务和不基于XMPP的服务(例如,web服务)的XMPP消息传送结构。此外,该体系结构包括一组客户端端点/设备和用户,它们中的每一个具有被存储在客户端目录中的被认证的身份和各种信息。该体系结构还包括与每个客户端的(单一)永久连接,所述客户端支持与被连接到消息传送结构的其它实体的双向、被认证和授权的通信。
[0064]该体系结构中还包括在身份、连接、策略等方面与用户/客户端模型相类似的应用和服务模型。编排引擎被配置用于支持用于灵活的服务实现方式的工作流程和规则。发布订阅机制被提供用于到基于各种标准的一组实体(基于XMPP PubSub话题)的被触发的通信。松散耦接的面向服务的平台通过紧密地连接端用户跨多协议消息总线被提供。然后,服务可以抽象地从彼此去耦接,并且作为逻辑端点通过平台被连接在一起,所述逻辑端点作为虚拟服务被披露给端用户。该体系结构还包括采用服务目录、服务发布、服务策略、月艮务安全性、服务虚拟化、服务编排和服务管理的形式的各种服务专用特征。
[0065]在一个特定示例中,图7的范例基于使设备(物理硬件)、端点(例如,软客户端)、用户、服务等全都被分配名字(Jabber标识符(JID))的概念,根据所述名字,它们可以被标识并且消息可以被发送给它们。用户可以与一个或多个设备相关联(例如,通过登录),从而使能个人化服务以及设备专用服务。设备、端点和用户全都被登记在客户端目录中,其中简档信息与它们相关联。简档信息包括被订阅的服务、家长控制设置、针对服务所登记的设备、被支持的内容格式等。针对用户A的云DVR服务可以(例如)考虑用户A必须确定合适的格式以将针对用户A的内容记录在其中的设备。用户可以属于包括分别具有不同设置的多个用户和设备的账户(家庭)。
[0066]JID可以被认证并且从而构成用于系统中的授权和服务策略的身份基础。这普遍适用于设备、端点、用户和服务并且从而提供在控制平面内的简单一致的安全体系结构。XMPP控制平面支持多个本地服务/特征(例如,客户端目录或者发布/订阅)并且允许附加的非本地服务/特征被连接到控制平面。这些服务/特征可以是基于XMPP的或者它们可以通过使用接口适配器而基于其它协议(例如,HTTP web服务),所述接口适配器将确保那些服务按与基于XMPP的服务类似的方式被对待。所有服务可以被登记在服务目录中,其中它们可以很容易地被发现。所有非本地实体(基本平台服务以外的客户端和服务)利用连接管理器被连接到XMPP控制平面。端点、设备和用户(也被称为客户端)可以通过客户端连接管理器进行连接,而服务通过服务连接管理器进行连接。连接管理器提供并确保针对实体的单点进/出,确保路由通过必要的服务、安全性、以及控制平面内的策略执行、针对实体的被认证的身份、具有对实体的双向通信支持的永久连接。认证被进行一次,并且通过NAT的通信被支持。服务的示例包括会话管理器,该会话管理器使能对针对基于HTTP ABR的内容递送服务的基于云的会话状态的跟踪。
[0067]利用XMPP会话状态跟踪例如使能云跟踪针对用户的进行中的会话、发起诊断会话和经由所支持的外部接口与CDN基础设施进行耦接的会话。基于通知的服务通过XMPP所提供的发布-订阅功能被使能。注意这个功能怎样应用于系统中的所有实体,包括服务和软客户端(即,不仅仅是媒体设备)。
[0068]一个关键的设计原则是利用工作流程和规则引擎实现服务编排。现有技术可以被用于做到这一点,其中这些技术(被服务所使用)的使用可通过XMPP控制平面接入、可由JID寻址、并且/或者受制于控制平面所实行的控制平面服务策略。与MS服务模型(滤波标准和SCM)相比,该体系结构也是不同的,因为它不依赖于触发消息(例如,呼叫建立/SIPINVITE),它也不限制可以被支持的规则或工作流程。该体系结构的另一优点由BSS/OSS适配器示出,所述BSS/0SS适配器提供到基于订阅的服务提供商部署所常用的后台订阅者管理和计费系统的统一接口。虽然客户端目录提供了存储这样的数据的默认地方,但是服务专用数据可以更好地由各个服务存储。服务可以登记它们对这些新数据的兴趣,并且BSS/0SS适配器简单地将消息发送给表达了对这些数据的兴趣的JID。
[0069]在操作中,视频控制平面可以提供基于消息和事件的视频服务机制以使能基于HTTP ABR内容递送技术的第3波视频系统,同时支持随时随地到任意设备的任意内容。控制平面按可扩展的方式使能针对端点、设备、用户和服务的安全、被认证的个人化双向控制平面服务。系统可以按类似的方式定义和对待端点、设备、用户和服务并且利用安全性和服务策略基础设施提供一致的消息路由基础设施。控制平面按XMPP和HTTP/web服务的形式利用和组合基于开放式web的技术,支持通知服务,并且易于利用编排引擎定制和扩展。
[0070]转向图8,图8是图示了虚拟服务和服务实例架构的简化框图。图8包括被耦接到可能涉及多个特征的虚拟服务85的多个服务实例90。注意本公开的服务平台涉及以下的关键概念:服务目录、服务发布组件、服务策略、服务虚拟化、服务编排和服务管理组件。
[0071]服务互连体系结构(可以被称为导体)可以基于特征的概念。特征可以包括任何功能的集合(例如那些作为单元被广告的功能)。每个特征可以利用基于XMPP的协议被实现并且被分配协议名字空间(XML名字空间)。特征可以例如在诸如XMPP扩展协议(XEP)之类的协议文档中被定义。
[0072]服务体系结构的关键概念是特征利用基于XMPP的协议(可能通过协议适配器)被实现并且被分配(静态的)协议名字空间(XML名字空间)。在服务连接到结构之前,服务应当登记其所支持的特征的列表并披露其外部接口定义,例如,针对web服务的WSDL或者针对基于REST的web服务的WADL。服务和所支持的特征和接口定义的列表在服务目录中被跟踪。作为登记的一部分,服务可以(静态地或者动态地)与服务JID相关联。服务JID是像系统中的所有其它JID (例如,针对设备、端点和用户的JID)—样的XMPP JID并且从而系统中的所有其它实体可以向其发送消息。服务实例是服务的实际运行备份。每个服务实例还与服务实例JID相关联。服务实例JID是像系统中的所有其它JID (例如,针对设备、端点和用户的JID)—样的XMPP JID0寻找实现给定特征的服务的客户端或其它服务可以通过协议名字空间查询服务目录。服务目录可以利用匹配服务的JID答复这些名字空间的查询。
[0073]服务体系结构支持XMPP和非XMPP服务,这两种服务都通过服务连接管理器连接到导体。在非XMPP服务的情况下,完整的一组可用特征可以或者不可以通过XMPP得到。诸如可能涉及大量可缓存的数据的电子节目指南(EPG)之类的一些服务可以(例如)通过web服务接口更高效地被提供。服务目录允许那些服务和特征也登记在服务目录中。在一个或多个特征不可以通过基于XMPP的接口访问的情况下,作为代替可以映射到web服务(或者其它)接口。这提供了一种用于对系统中的服务进行标识和寻址的单一服务目录和机制。
[0074]名字空间到身份标识(JID)的映射和服务目录的使用对于实现松散耦接的服务体系结构来说是重要的。这意味着新的服务可以被开发、协议被设计、服务和客户端被授权和部署在导体系统中,同时任何导体组件都不需要理解关于所述服务所使用的协议的任何事情。这产生了服务速度和可扩展性,帮助使得所述导体不同于传统的视频中间件平台。
[0075]服务发布是视频平台的另一关键方面。在使用按一致方式支持设备、端点、用户和服务的常见消息递送结构的情况下,具有适当的机制按近乎实时的方式向其它实体发布新部署或者新更新的基于XMPP和不基于XMPP的服务是很重要的。服务策略(如图7中所示)是视频平台的下一个方面。在使用按一致方式支持设备、端点、用户和服务的常见消息递送结构的情况下,具有适当的机制以控制谁可以与谁交互以及如何交互是很重要的。
[0076]四种服务策略功能被考虑:1)策略储存库保存实际策略定义(例如,由规则构成);
2)策略决定点分析来自策略储存库的策略定义以确定给定动作是否会违背定义中的规则;
3)策略执行点通过阻止或丢弃去往或来自服务的消息执行策略决定点的决定;以及4)策略控制台允许操作者配置、查看、部署和监控策略定义。
[0077]在导体中,服务目录和客户端目录功能提供策略储存库功能,保存分别针对服务和客户端(端点、设备和用户)的策略定义。因此,在服务或事件递送级,谁可以发送或接收什么种类的信息可以从服务目录或者客户端目录被获取,并且在相应的执行点被执行。服务策略模块用作策略决定点。系统管理控制台GUI中的策略部分用作策略控制台。所有非本地服务流量都通过其被发送的服务连接管理器用作针对服务的策略执行点,而所有客户端流量都通过其被发送的Jabber会话管理器用作针对客户端的策略执行点。
[0078]每个服务具有在服务目录中的策略定义(可能利用默认策略)。策略定义由规则构成。规则可以例如包含匹配标准所遵循的许可或否决条款,并且规则可以按优先级排序。可能的匹配标准包括:1)发送实体(JID);2)发送实体组(客户端组或服务组);3)消息类型(XMPP节类型+第一子元件的名字+第一子元件的XMLNS) ;4)接收实体(JID) ;5)接收实体组(客户端组或服务组);以及6)适配器类型。由于导体架构可以具有很多服务和更多的客户端,所以群组被用于使定义和策略决定更高效。服务和客户端被分配给一个或更多群组,被服务目录和客户端目录跟踪。[0079]服务虚拟化(在图8中被示出)是视频平台的第四个重要方面。导体提供允许虚拟服务由多个服务实例提供以实现扩展和高可用性的服务虚拟化功能。服务虚拟化使得多个实例看上去像是单个虚拟服务,所以客户端只看到单个虚拟服务。
[0080]服务虚拟化由两种机制提供:服务登记(如上所述)以及将消息路由到给定虚拟服务的特定实例的服务路由。虚拟服务被分配其自己的JID并且查询与虚拟服务器相对应的协议名字空间的客户端可以在响应中看到虚拟服务JID。实际的服务实例(和它们的JID)实质上是客户端所不可见的。
[0081]当服务连接到服务连接管理器并且登记在服务储存库中时,服务登记发生。登记给定协议名字空间的所有服务被视为相同虚拟服务的实例。虚拟服务JID可以由管理者分配给每个协议名字空间。如果多于一个服务实例登记相同的协议名字空间并且虚拟服务JID未被管理者配置,则随机虚拟服务JID被系统分配。
[0082]在本公开的某些实施例中,各个服务实例不出现在服务目录中。作为替代,虚拟服务出现在服务目录中。这样,当服务消费者(客户端或其它服务)在服务目录中查找服务时,单个条目被返回给给定服务(与构成所述虚拟服务的多个实例相独立)。这允许服务消费者与单个虚拟服务交互而不是与各个实例交互。这还意味着策略和其它子系统工作在虚拟服务层并且不需要处理各个服务实例。
[0083]一旦服务的多个实例被登记并且虚拟服务JID被分配,服务路由负责将寻址到虚拟服务JID的消息路由到服务实例之一。用于路由消息的算法可以基于很多可能的服务路由策略之一。系统管理者可以为每个虚拟服务配置服务路由策略。可以提供各种路由策略,包括I)简单的或者加权的轮询;2)最少负载;3)基于接近性的;以及4)基于发送者的优先级。
[0084]服务消费者不知道正在使用的服务路由策略。就服务消费者而言,消息被发送到虚拟服务JID并且从虚拟服务JID处被接收。这允许实例被添加、移除或者出现故障,而不影响服务消费者或服务。或者,服务消费者可以指定所想要的服务路由策略。
[0085]服务虚拟化使得服务提供商不用将节点部署在任何配置中并且基于给定部署的具体需要在节点之间分发服务。基于给定服务所生成的流量模式,某些服务可以被集中并且其它服务可以被分发。
[0086]服务编排是视频平台的第五个重要方面。导体提供服务编排功能,该功能允许虚拟的经编排的服务由多个虚拟服务提供并且由服务消费者调用或者由发布系统事件触发。在导体平台上,每个服务是针对不同的商业逻辑的适当粒度化(试图使其具有最大可重用性)的自我约束的软件/应用实体。多个服务将被合成并协调以创建更高层的商业过程。编排描述服务如何在消息层与彼此交互,包括交互的商业逻辑和执行顺序。
[0087]服务编排可以通过三种机制提供:服务合成、服务调用和服务流程自动化。服务合成发生在服务登记在服务目录中时,并且利用工作流程和规则,操作者从服务目录中检索服务所支持的特征和接口定义,合成虚拟服务,该虚拟服务进而被分配虚拟服务JID并且被登记到服务目录中以供其它实体消费。因而,存在用于‘真实’服务和‘合成’服务的统一且一致的方式,所述‘真实’服务和‘合成’服务实质上对于客户端是不可见的。由于服务目录包含基于XMPP的服务和基于HTTP的服务的服务定义,所以导体可以将基于XMPP的服务和基于HTTP (或者其它)的服务合成到一个工作流程中并且将它们呈现为虚拟服务。[0088]服务调用可在两种不同的情况下发生。第一种情况是客户端或另一服务调用虚拟合成服务并且期望在短时间内接收到响应。另一种情况涉及触发虚拟合成服务但不期望接收到响应的被发布的事件。在任一情况下,消息将通过XMPP服务控制平面就像任何其它‘真实’服务一样被发送给虚拟合成服务,并且虚拟合成服务随后将通过服务虚拟化机制映射到编排引擎。当编排引擎接收到消息时,其将消息中的虚拟合成服务映射到工作流程,并且随后执行该流程。
[0089]服务流程自动化可以发生在导体编排引擎执行工作流和规则时。导体编排引擎可以通过XMPP服务控制平面的服务虚拟化和服务路由机制将服务请求自动派发到实际的服务实例。由于工作流程可以包含基于XMPP的服务和基于HTTP的服务,所以一个优点是导体编排引擎可以在工作流程执行期间自动识别服务协议,并通过适当的协议派发服务请求。所有这一切对于虚拟合成服务的调用者来说都是不可见的。
[0090]服务管理是视频平台的第六个重要方面,其与服务请求/响应消息共享XMPP连接和消息传送总线。虚拟服务及其实例的所有管理消息也通过XMPP连接被传输。因此,操作者不需要维护另一信道或基础设施以传递管理消息。操作者仍然可以集中控制来自各个点的服务和服务实例,包括创建、规定、部署、配置、生命周期、版本控制等。
[0091]就示例导体拓扑结构而言,导体28可以反映分布式消息传送和服务互连平台。导体云由一个或多个导体节点构成。节点是运行导体平台软件的物理服务器或虚拟机。每个节点提供核心消息路由功能加上一个或多个核心导体功能。节点可以经由加密的TCP插口互连。
[0092]导体系统中的服务可以被置于应用服务器上。通常有专用于与这些应用服务器互连的导体节点。这些服务互连节点可以运行一个或多个服务连接管理器(SCM)。一个SCM通常专用于单个应用服务器。导体系统中的客户端通过所支持的客户端连接协议(例如,XMPP和B0SH)进行连接。可以存在分布在网络中的专用于客户端连接的导体节点。这些分布式导体节点可以运行一个或多个客户端连接管理器(也被称为域管理器,如本说明书中在此所使用的)。
[0093]转向图9,图9是图示了与本公开的基本服务登记和查找活动相关联的示例活动的简化流程图900。该方法可以开始于901,其中具有一组或多组特征(功能的集合)的新服务利用使用XMPP的一组接口被定义。适配器也可以被用于不基于XMPP的特征。在902处,XML名字空间被分配给该服务的每个特征。在903处,服务连接到导体基础设施并且被分配JID。服务将其自身登记在导体服务目录中,并且从而创建针对其特征的(静态)XML名字空间与被分配给该服务的JID之间的映射。在904处,服务还可以披露由其它协议(例如,web服务)访问的不基于XMPP的特征。针对不基于XMPP的特征的XML名字空间像针对基于XMPP的服务的名字空间一样被登记在服务目录中;然而,映射不是到JID的映射。而是提供URL (例如,针对web服务)或其它机制。在905处,设备、用户、端点或其它服务设法调用支持特征X的服务。实体在服务目录中查找协议名字空间并且检索针对服务的JID。然后,实体简单地将消息发送到利用导体消息传送基础设施返回的JID。注意对于不基于XMPP的服务,服务可以按所返回的协议(例如,web服务)被调用。
[0094]转向图10,图10是与服务虚拟化和路由相关联的简化流程图1000。该特定流程可以开始于1001,其中服务的多个实例被提供,所有实例都支持相同的一组特征/服务。在1002处,虚拟服务JID被定义用于所讨论的服务。或者,XML名字空间被注释为用于虚拟服务。在1003处,服务S的实例(SI)向服务目录登记。服务目录将服务SI登记在其虚拟服务JID (例如,“VS”)下并且在内部将“VS”与SI相关联。如果虚拟服务JID没有被定义,则一个虚拟服务JID被分配。在1004处,服务S的另一实例(S2)向服务目录登记,使得“VS”也与S2相关联。在1005处,设备、用户、端点或其它服务需要调用支持特征X的服务,该服务(通过Sx实例)被“VS”支持。实体在服务目录中查找协议名字空间并且获取针对服务的JID (“VS”)。然后,实体简单地将消息发送到利用导体消息传送基础设施返回的JID (“VS”)。导体基础设施注释JID为虚拟JID并且利用内部服务路由逻辑将消息路由到服务的特定实例。不同的服务路由策略可以被使用(例如,轮询、最少负载、基于接近性等)。
[0095]转向图11,图11是与服务通信策略相关联的简化流程图1100。该特定流程可以开始于1101,其中客户端C (用JID “C”标识)通过导体消息递送基础设施向服务S (用JID “S”标识)发送消息。在1102处,导体基础设施查找服务策略以在服务目录中找到S来判断C是否被允许向S发送消息。在1103处,各种服务策略匹配标准可以被用于判断C是否被允许向S发送消息。服务策略还可以包括组许可;如果是这样,则导体基础设施在客户端目录中查找客户端C以判断其属于哪个组。在1104处,如果C被允许向S发送消息,则路由到S的正常的基于JID的服务路由被执行。如果不被允许,则消息被拒绝。在1105处,服务Sx (用JID “Sx”标识)通过导体消息传送基础设施向服务Sy (用JID “Sy”标识)发送消息。在1106处,导体基础设施查找服务策略以在服务目录中找到Sy来判断Sx是否被允许向Sy发送消息。在1107处,各种服务策略匹配标准可以被用于确定Sx是否被允许向Sy发送消息。
[0096]服务策略还可以包括组许可;如果是这样,则导体基础设施在服务目录中查找服务Sx以判断其属于哪个组。在1108处,如果Sx被允许向Sy发送消息,则路由到Sy的正常的基于JID的服务路由被执行。如果不被允许,则消息被拒绝。在1109处,客户端Ca (用JID “Ca”标识)通过导体消息递送基础设施向客户端Cb (用JID “Cb”标识)发送消息。在1110处,导体基础设施查找通信策略以在客户端目录中找到客户端Cb来判断Ca是否被允许向Cb发送消息。在1111处,各种服务策略匹配标准可以被用于确定这一点,包括组许可。在1112处,如果客户端Ca被允许向Cb发送消息,则路由到Cb的正常的基于JID的服务路由被执行。如果不被允许,则消息被拒绝。
[0097]如之前所标识的,网络元件可以包括软件(例如,域管理器lla-f)以实现如本文档在此所列出的视频管理操作。在某些示例实现方式中,这里所列出的视频管理功能可以由被编码在一个或多个有形的非瞬态介质中的逻辑(例如,被提供在专用集成电路[ASIC]中的嵌入式逻辑、数字信号处理[DSP]指令、要由处理器[被提供在任意套件中、导体28中、介质网关24中、旧有家庭38中的任意地方、视频系统家庭34中、后端系统15中、端到端的系统管理30中等等的处理器]执行的软件[可能包括目标代码和源代码])来实现。在这些实例中的一些实例中,存储器元件(被提供在任意套件中、导体28中、介质网关24中、旧有家庭38中的任意地方、视频系统家庭34中、后端系统15中、端到端的系统管理30中等等)可以存储用于这里所描述的操作的数据。这包括能够存储被执行以实现本说明书中所描述的活动的指令(例如,软件、代码等)的存储器元件。处理器可以执行与数据相关联的任意类型的指令以实现这里本说明书中所详述的操作。在一个示例中,处理器可以将元件或事物(例如,数据)从一个状态或事项转换为另一状态或事项。在另一示例中,这里所列出的活动可以利用固定逻辑或者可编程逻辑(例如,由处理器执行的软件/计算机指令)来实现,并且这里所标识的元件可以是某种类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列[FPGA]、可擦除的可编程只读存储器(EPROM)、电可擦除的可编程ROM (EEPROM))或者包括数字逻辑、软件、代码、电子指令或者它们的任意合适的组合的ASIC。
[0098]这些元件(例如,网络元件等)中的任意元件可以包括存储器元件,用于存储实现这里所列出的视频管理操作时要使用的信息。此外,这些设备中的每个设备可以包括处理器,该处理器可以执行软件或算法以实现本说明书中所讨论的视频管理活动。这些设备还可以将信息保存在任何合适的存储器元件[随机访问存储器(RAM)、ROM、EPROM、EEPROM、ASIC等]、软件、硬件中,或者在适当的情况下基于具体需要被保存在任何其它合适的组件、设备、元件或对象中。这里所讨论的存储器条目中的任意条目应当被诠释为被包含在广义术语‘存储器元件’内。类似地,本说明书中所描述的可能的处理元件、模块和机器中的任一个应当被诠释为被包含在广义术语‘处理器’内。每个网络元件还可以包括用于在网络环境中接收、发送和/或以其它方式传输数据或信息的合适的接口。
[0099]注意利用以上所提供的示例,可以就两个、三个或四个网络元件的形式描述交互。然而,这样做只是为了清楚和示例的目的。在某些情况下,只引用有限数目的网络元件来描述给定的一组流程的功能中的一个或多个功能可能更容易。应当理解视频系统10(及其教导)可以很容易地被扩展,并且还可以容纳大量的组件以及更复杂/精细的布置和配置。因此,所提供的示例不应当限制视频系统10的范围或者抑制可能被应用于无数其它体系结构的对视频系统10的宽泛教导。
[0100]还有很重要的一点是注意之前的附图中的步骤只图示了可以被视频系统10执行或在视频系统10内被执行的可能情形中的一些。这些步骤中的一些步骤可以在适当的情况下被删除或移除,或者这些步骤可以在不脱离本公开范围的情况下被相当大程度地修改或改变。此外,多个这些操作被描述为与一个或多个附加操作同时或者并行执行。然而,这些操作的定时可以被相当大程度地改变。`之前的操作流程为了示例和讨论的目的而被提供。视频系统10提供了相当大的灵活性,因为在不脱离本公开的教导的情况下可以提供任何合适的布置、年表、配置和定时机制。
[0101]本领域技术人员可以清楚很多其它变化、替换、变形、改变和修改并且本公开意图包括落入所附权利要求的范围内的所有这些变化、替换、变形、改变和修改。为了帮助美国专利商标局(USPTO)以及关于本申请所发布的任一专利的任意读者理解所附权利要求, 申请人:希望指出 申请人::(a)不希望所附权利要求中的任一权利要求在其出现在其递交日时援引35U.S.C.第112章节的第六段(6),除非词语“用于……的装置”或者“用于……的步骤”被专门用在特定权利要求中;并且(b)不希望用说明书中的任意表述以所附权利要求中没有反映的方式限制本公开。
【权利要求】
1.一种方法,包括: 在客户端和与视频系统相关联的导体元件的消息传送结构之间建立连接; 利用与可扩展消息传送与呈现协议(XMPP)相关联的一组接口定义具有一组特征的服务; 为所述服务的所述一组特征分配多个XML名字空间; 为所述服务分配标识符;并且 在服务目录中登记所述服务,以创建所述XML名字空间与所述标识符之间的映射。
2.如权利要求1所述的方法,其中所述服务披露要由其它协议访问的不基于XMPP的特征。
3.如权利要求1所述的方法,还包括: 利用统一资源定位符(URL)在所述服务目录中登记不基于XMPP的特征。
4.如权利要求1所述的方法,其中所述服务被设备调用,以支持所述视频系统的特定特征。
5.如权利要求1所述的方法,还包括: 访问所述服务目录中的协议名字空间; 检索与特定服务相关联的特定标识符;并且 利用所述导体元件的消息传送基础设施传输消息。
6.如权利要求1所述的方法,其中虚拟服务标识符针对特定服务被定义。
7.如权利要求1所述的方法,还包括: 接收与特定服务相关联的消息;并且 评估所述服务目录中的服务策略以确定与针对所述特定服务的消息传送相关联的许可。
8.如权利要求7所述的方法,其中所述服务策略包括被用于判断特定客户端是否被许可向所述特定服务发送消息的匹配标准。
9.如权利要求7所述的方法,还包括: 评估哪些群组与发送所述消息的特定客户端相关联,其中所述服务策略包括与多个客户端相关联的群组许可。
10.如权利要求1所述的方法,还包括: 利用针对多个虚拟服务中的每个虚拟服务的多个服务实例向所述客户端提供所述多个虚拟服务,以使得它们作为单一虚拟服务显现给所述客户端。
11.如权利要求10所述的方法,还包括: 提供服务路由以将消息路由到所述多个虚拟服务中的一个特定虚拟服务的具体实例。
12.如权利要求1所述的方法,还包括: 在所述服务目录中登记协议名字空间; 为所述协议名字空间分配虚拟服务标识符;并且 将寻址到所述虚拟服务标识符的消息路由到多个服务实例中的一个特定服务实例。
13.一种被编码在一个或多个非瞬态介质中的逻辑,所述逻辑包括用于执行的指令并且当所述指令被处理器执行时能操作用于实现以下操作,所述操作包括: 在客户端和与视频系统相关联的导体元件的消息传送结构之间建立连接;利用与可扩展消息传送与呈现协议(XMPP)相关联的一组接口定义具有一组特征的服务; 为所述服务的所述一组特征分配多个XML名字空间; 为所述服务分配标识符;并且 在服务目录中登记所述服务,以创建所述XML名字空间与所述标识符之间的映射。
14.如权利要求13所述的逻辑,其中所述服务披露要由其它协议访问的不基于XMPP的特征。
15.如权利要求13所述的逻辑,所述操作还包括: 利用统一资源定位符(URL)在所述服务目录中登记不基于XMPP的特征。
16.如权利要求13所述的逻辑,其中所述服务被设备调用,以支持所述视频系统的特定特征。
17.如权利要求13所述的逻辑,所述操作还包括: 访问所述服务目录中的协议名字空间; 检索与特定服务相关联的特定标识符;并且 利用所述导体元件的消息传送基础设施传输消息。
18.一种装置,包括: 被配直为存储指令的存储器兀件; 被耦接到所述存储器元件的处理器;以及 导体元件,其中所述装置被配置为: 在客户端和与视频系统相关联的导体元件的消息传送结构之间建立连接; 利用与可扩展消息传送与呈现协议(XMPP)相关联的一组接口定义具有一组特征的服务; 为所述服务的所述一组特征分配多个XML名字空间; 为所述服务分配标识符;并且 在服务目录中登记所述服务,以创建所述XML名字空间与所述标识符之间的映射。
19.如权利要求18所述的装置,所述服务被设备调用,以支持所述视频系统的特定特征。
20.如权利要求18所述的装置,其中所述装置还被配置为: 接收与特定服务相关联的消息;并且 评估所述服务目录中的服务策略以确定与针对所述特定服务的消息传送相关联的许可,其中所述服务策略包括被用于判断特定客户端是否被许可向所述特定服务发送消息的匹配标准。
【文档编号】H04L29/12GK103782571SQ201280043426
【公开日】2014年5月7日 申请日期:2012年7月6日 优先权日:2011年7月7日
【发明者】王琪, 杰瑞·连锁·李, 由光鑫, 佘志东, 尼克·乔治·蒲柏, 弗雷鸣·S·安德森 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1