用于流媒体的会话管理的系统和方法与流程

文档序号:11964555阅读:147来源:国知局
用于流媒体的会话管理的系统和方法与流程
用于流媒体的会话管理的系统和方法本申请是申请日为2008年11月12日、申请号为200880116491.9、发明名称为“用于流媒体的会话管理的系统和方法”的专利申请的分案申请,并且本申请要求2007年11月16日向美国提交的临时申请61/003334在35U.S.C.§119下的利益。技术领域本公开一般涉及计算机图形处理和显示系统,更具体地说,涉及用于流媒体(例如,音频或视频)的会话管理的系统和方法。

背景技术:
在网络上向客户机提供信息的一种日益流行的技术被称为“流媒体”。一般说来,流媒体以流动或连续的方式向客户机呈现数据(例如,通常是音频和/或视频)。也就是说,借助于流媒体,客户机在呈现开始之前无需接收要呈现的所有信息。而是,流媒体文件中的信息的呈现可以在客户机接收到整个文件之前开始,并且随着文件的接收部分被呈现,客户机继续接收文件的进一步部分以便接着呈现。流媒体是将音频和/或视频文件从服务器传送到客户机的特别流行的技术。即使被压缩之后,音频和视频文件往往相当大。如果不使用流媒体,一般要求在客户机可以开始播放文件之前将整个文件下载到客户机。这样的下载在客户机可以开始播放文件之前可能需要令人不快长度的延迟。借助于流媒体(例如,流式音频或流式视频),客户机无需等到下载了整个文件才播放。取而代之,客户机可以在将文件下载到客户机的同时开始播放它(例如,向用户呈现视频和/或音频)。流媒体可以用于许多目的的任何一种,包括娱乐、远程教育和企业目的。娱乐公司流式传输电影、音乐、和体育赛事,远程教育公司流式传输教育内容,以及企业流式传输培训材料、产品介绍和广告。而且,媒体流可以是点播的(ondemand)或实况的。点播流长期存储在服务器上,并且在用户的请求 下可被发送。实况流只适用于一个特定时间,例如,像实况体育赛事的视频流那样。参照图1,例示了用于流媒体的传统系统100。一般说来,实况视频源102由广播中心广播。视频源或馈料(feed)作为原始视频被输入编码视频的编码服务器104。编码服务器104加密和压缩原始视频馈料,以便利用DRM(数字版权管理)保护它,并使它在网络上大小更小。然后,获取服务器106获取编码视频以便加以分配。然后,将编码视频传递给流媒体服务器108,以便将视频流式传输给至少一个用户110。用户110可以通过登录到门户112中或在门户112上作出请求启动视频的流式传输。然后,门户112将用户的请求转发给流媒体服务器108,然后,流媒体服务器108将实况视频流式传输给用户110。然后,用户110利用适当媒体播放器观看视频。另外,用户100可以请求要在例如客户计算机上观看的、来自第二信源的流式新闻馈料116。但是,需要当特定用户并发请求几种流时控制流媒体的技术。

技术实现要素:
提供了一种用于流媒体(例如,音频或视频)的会话管理的系统和方法。本公开的系统和方法验证和确认对实况或流式视频的任何请求,并针对新请求以连续核实现有视频流的有效性的方式管理流式会话。另外,记录每一个单一信道变化或新视频请求,以便使所有活动都可达到最粒度级(granularlevel)。按照本公开的一个方面,提供了一种提供视频流的方法。所述方法包括如下步骤:从客户机接收对第一视频流的第一请求;根据所述第一请求和与所述客户机相联系的至少一个参数生成令牌;根据与所述客户机相联系的至少一条预定规则确认(validate)所述令牌;和一旦确认,将所述第一视频流提供给所述客户机。按照本公开的另一方面,提供了一种提供视频流的方法。所述方法包括如下步骤:从客户机接收对第一视频流的第一请求(302);根据所述第一请求和与所述客户机相联系的至少一个参数生成令牌(304);根据与所述客户机相联系的至少一条规则确认所述令牌(306);一旦确认,向所述客户机提供所述第一视频流(312);接收对第二视频流的随后第二请求(316);根据 所述第二请求和与所述客户机相联系的至少一个参数生成第二令牌(304);基于所提供的所述第一视频流确认所述第二令牌(306);以及如果未确认所述第二令牌,则终止所述第一视频流,并将所述第二视频流提供给所述客户机(310,312)。在进一步的方面中,所述令牌的至少一个参数包括外部交易ID、用户ID、IP地址、信道号、视频质量水平、节目信息、请求日期和请求时间的至少一个。在另一个方面中,所述方法的所述生成步骤包括在URL链路中将所述令牌返回给所述客户机,和所述确认步骤包括所述客户机一旦调用URL就接收所述令牌。在更进一步的方面中,所述方法的所述提供步骤包括生成控制要发送给所述客户机的视频流的播放列表。所述播放列表提供所请求的所述第一视频流或终止所请求的所述第一视频流的错误视频。按照本公开的另一个方面,提供视频流的系统包括从客户机接收对第一视频流的第一请求的门户元件(portalelement);根据所述第一请求和与所述客户机相联系的至少一个参数生成令牌的门户元件;根据与所述客户机相联系的至少一条预定规则确认所述令牌的会话元件;和一旦确认,将所述第一视频流提供给所述客户机的流式传输元件。按照本公开的另一个方面,提供视频流的系统包括:从客户机接收对第一视频流的第一请求的门户元件(412);根据所述第一请求和与所述客户机相联系的至少一个参数而生成令牌的门户元件(412);根据与所述客户机相联系的至少一条规则确认所述令牌的会话元件(418);一旦确认,将所述第一视频流提供给所述客户机的流式传输元件(408),其中,所述门户元件(412)进一步适用于接收对第二视频流的随后第二请求并根据所述第二请求和与所述客户机相联系的至少一个参数而生成第二令牌,所述会话元件(418)根据所提供的所述第一视频流确认所述第二令牌,并且如果未确认所述第二令牌,则所述流式传输元件(408)终止所述第一视频流,并将所述第二视频流提供给所述客户机。附图说明通过结合附图对优选实施例进行如下详细描述,本公开的这些和其它方 面、特征和优点将得到描述或变得显而易见。在附图中,相同的标号自始至终表示相似的元件,其中,图1例示了用于流媒体的传统系统;图2例示了按照本公开的用于流媒体的会话管理的整个示范性系统和方法;图3是按照本公开的用于流媒体的会话管理的示范性方法的流图;图4例示了按照本公开管理流媒体的至少一个会话的系统部件之间的流图;和图5例示了按照本公开的应用在流媒体的会话管理中的令牌的数据结构。应该明白,这些附图是为了例示本公开的概念,而未必是例示本公开的唯一可能配置。具体实施方式应该明白,显示在图中的元件可以以硬件、软件、或它们的组合的各种形式实现。最好,这些元件在可能包括处理器、存储器和输入/输出接口的一个或多个适当编程通用设备上以硬件和软件的组合形式实现。本描述例示了本公开的原理。因此,应该懂得,尽管本文未明确描述或示出,但本领域的普通技术人员能够设想出体现本公开的原理并包括在其精神和范围内的各种装置。本文列举的所有例子和条件语句都是为了教授的目的,以帮助读者理解本公开的原理和本发明人对推动技术进步所贡献的概念,并应该解释成不限制这样具体列举的例子和条件。此外,本文列举本公开的原理、方面、和实施例,以及其特例的所有陈述都有意包含其结构和功能两方面的等效物。另外,这样的等效物有意包括当前已知的等效物,以及未来开发的等效物,即,与结构无关,开发出来执行相同功能的任何元件。因此,例如,本领域的普通技术人员应该懂得,本文给出的方块图代表体现本公开的原理的例示性电路的概念图。类似地,应该懂得,任何流程图、流图、状态转移图、伪码等都代表基本上可以表示在计算机可读媒体中,并因此,可以由计算机或处理器(无论是否明确示出这样的计算机或处理器) 执行的各种处理进程(process)。显示在图中的各种元件的功能可以与适当软件相联系地通过使用专用硬件以及能够执行软件的硬件来提供。当由处理器提供时,该功能可以由单个专用处理器、单个共享处理器、或其中一些可以共享的多个单独处理器提供。此外,术语“处理器”或“控制器”的明确使用不应该解释成专门指能够执行软件的硬件,而可以不受限制地隐含包括数字信号处理器(“DSP”)硬件、用于存储软件的只读存储器(“ROM”)、随机访问存储器(“RAM”)、和非易失性外部存储器。还可以包括其它传统的和/或定制的硬件。类似地,显示在图中的任何开关都只是概念性的。它们的功能可以通过程序逻辑的运算,通过专用逻辑,通过程序控制和专用逻辑的交互,或甚至手动地实现,如从上下文中更具体理解的那样,具体技术可由实现者选择。在其权利要求书中,表达成执行特定功能的手段的元件意欲包含执行那种功能的任何方式,包括,例如,a)执行那种功能的电路元件的组合,或b)任何方式的软件,因此,包括与执行那种软件的适当电路组合以执行该功能的固件、微码等。如这样的权利要求定义的本公开在于以权利要求书要求的方式将通过各种列举手段(means)提供的功能组合和集中在一起。因此,应该认为,可以提供那些功能的任何手段都等效于本文所示的那些手段。提供了一种用于流媒体(例如,音频或视频)的会话管理的系统和方法。本公开的系统和方法验证和确认对实况或流式视频的任何请求,并针对新请求以连续核实现有视频流的有效性的方式管理流式会话。通过与新请求协作地管理当前流式会话,该系统和方法能够确定哪些新请求需要验证,以及抢先断开不再有效或其验证已经终止的现有流。另外,该系统和方法提供了用于确认请求的超过DRM的许多安全级别,这些安全级别的每一个可以以高度可配置和动态的方式控制。每个请求都将伴随着包括与请求用户或客户机相联系的参数的加密令牌。参照图2和图3,其中例示了按照本公开的用于流媒体的会话管理的整个系统和方法。一般说来,会话管理从用户对视频流的请求开始(步骤S302)。用户210将访问门户网站(webportal)212,并选择实况流馈料的信道,即,视频流的请求。门户网站212将根据用户的请求和与用户有关的参数(例如,帐户或预订参数)生成令牌(步骤304)。该令牌可以包括如下参数:外部交 易ID、日期时间、IP地址、用户ID、信道号和视频质量水平。将令牌加密并发送给流媒体服务器208。在一个实施例中,加密是利用公开/秘密密钥对的RSA(加密算法),但是,可以应用其它加密形式和方法。接着,在步骤306中,确认请求。该请求由会话服务器218解密并加以确认。会话服务器218验证和确认对实况或流式视频的任何请求,并针对新请求以连续核实现有视频流的有效性的方式管理流式会话。该确认包括核实请求的内容和围绕请求本身的预定规则(譬如,有效信道、和请求的时戳(timestamp)),以及对照那个用户的现有流检验它的内容参数。应该懂得,预定规则可以按照用户的帐户或预订、对于每个用户是不同的。例如,用户可以购买允许用户预定数目并发(concurrent)视频流的计划和/或可以购买包括预定义信道的包。在步骤308中,如果确认请求是有效的,将视频流式传输给用户210(步骤312)。将请求和确认结果存储在会话管理数据库220中。如流式服务器208确定的、与那种流有关的所有未来活动由会话服务器218监控并记录在会话管理数据库220中(步骤S314)。会话服务器218将确定是否从终端用户210接收到任何随后请求(步骤316)。如果在步骤316中没有接收到随后请求,则确定是否已到当前会话超时(timeout)(步骤318)。如果已到会话超时,则将终止与用户的所有流式视频会话(步骤320);否则,会话服务器218将继续监控随后请求。会话服务器218将监控用户的活动并将活动存储在数据库服务器220中。然后,将数据发送给报告万维网服务器222加以分析。通过特定报告提供用于会话管理的实时和历史统计,以便通过操作224进行监控,用于监控系统的整体健康状况(即,正确地管理会话,并观察网络拥塞带来的问题、客户机方的问题等可能引起的任何问题)。在步骤316中,如果确定已经从用户210接收到随后请求,该方法将返回到步骤304,并生成新请求的新令牌。但是,如果在步骤308中确定请求是无效的,则会话服务器将终止在前请求的会话或拒绝随后新请求(步骤310)。可以拒绝导致可能牵涉到描述该问题的错误视频的动态生成播放列表的新请求。例如,如果有人已经在流式传输,那么,系统可能不允许新请求继续进行下去。系统可能断开现有请求以容许新请求。例如,如果用户试图在别的地方(比方说,在本地咖啡屋中在他们的膝上型电脑上)开始新流,但他们忘记了在家中断开他们的流。应该懂得,系统(服务器)可以在各种条件(即,与用户帐户相联系的至少一条预定规则)下强迫终止到客户PC210的流。例如,如果终端用户(end-user)正在尝试流式传输比他们的用户标识符/帐户所容许的数量(最大数量可在服务器端上配置)多的信道,或如果终端用户试图与朋友共享到视频流的链路,系统可能终止视频流。而且,如果容许的节目内容已经结束并再也没有内容可用于流式传输或允许使用(例如,在体育赛事结束时),运营商或广播电台可以终止用户会话。参照图4,提供了按照本公开管理流媒体的至少一个会话的系统部件之间的流图。应该懂得,显示在图4中的系统部件可以包括在单个服务器中,或可以分布在几个服务器之间。该服务器可以在各种已知计算机平台的任何一种上实现,这些计算机平台含有像一个或多个中央处理单元(CPU)那样的硬件、像随机访问存储器(RAM)和/或只读存储器(ROM)那样的存储器、和像键盘、光标控制设备(例如,鼠标或操纵杆)和显示设备那样的输入/输出(I/O)用户接口。系统总线耦合各种部件,并且可以是包括存储器总线或存储器控制器、外围总线、和使用多种总线体系结构的任何一种的局部总线的几种总线结构的任何一种。该计算机平台还包括操作系统和微指令代码。本文所述的各种处理进程和函数可以是微指令代码的一部分或经由操作系统执行的软件应用程序的一部分(或它们的组合)。在一个实施例中,软件应用程序真实地体现在程序存储设备上,可以将它上载到像图2的服务器218那样的任何适当机器并由这样的机器执行。另外,各种其它外围设备可以通过像并行端口、串行端口或通用串行总线(USB)那样的各种接口和总线结构与服务器或机器的计算机平台连接。一种这样的外围设备可以包括通信模块、元件等,例如,调制解调器、卫星中继器、无线连接等,使从服务器到各种内容服务器和各种用户PC的通信成为可能。其它外围设备可以包括附加存储设备、打印机和扫描仪。服务器可以使用与一台或多台远程计算机(例如,用户PC、内容服务器等)的逻辑连接在联网环境下工作。远程计算机可以是个人计算机、服务器、路由器、网络PC、对等设备或其它公用网络节点,并通常包括上面针对机器所述的许多或所有元件。应该懂得,网络可以是局域网(LAN)、广域网(WAN)、互联网或将多台计算机耦合在一起使经由网络消息的各种通信模式成为可能的任何已知网络。服务器可以经由任何已知通信链路(例如,拨 号、硬连线、电缆、DSL、卫星、蜂窝式、PCS、无线传输(例如,802.11a/b/g等)等)与服务器和网络通信。而且,这些设备将使用像传输控制协议/互联网协议(TCP/IP)、文件传送协议(FTP)、超文本传送协议(HTTP)等那样的各种已知协议进行通信。在购买交易期间,计算设备可以应用安全超文本传送协议(HTTPs)、安全套接字层(SSL)协议、安全电子交易(SEC)协议等。另外,服务器可以应用像实时传送协议(RTP)、实时流式传输协议(RTSP)和实时传输控制协议(RTCP)等那样支持流媒体的任何已知协议。在其它部件当中,系统400将包括编码实况原始视频馈料的编码模块、元件等406、和分配编码视频的获取模块、元件等407。操作模块、元件等424是为DRM密钥管理和为管理可用信道的信道配置而提供的。系统400进一步包括从用户410接收各种请求和根据该请求和与客户机或用户410相联系的至少一个参数而生成令牌的门户(portal)模块、元件等412。会话模块、元件等418根据与客户机相联系的至少一条预定规则确认令牌,以及流式传输模块、元件等408将视频流提供给客户机。现在参考图4描述与会话控制流和视频信号流一起的系统部件的交互。最初,用户经由终端用户PC410将登录到门户模块412,例如,销售商门户中,以请求可用信道的信道指南或列表(步骤1)。销售商门户根据从操作模块424获得的信道配置而生成信道的列表。信道配置包含具有如下可配置信息的可用于观看的信道:信道号;信道描述(或节目描述);视频源;视频播放列表排序和定时;如果允许并发会话,最大数(例如,每个用户、IP地址等);和令牌参数的强化规则(例如,通过IP地址限制/确认、确认作出请求的时间窗等)。然后,将信道配置提供给编码模块406、获取模块407、流式传输模块408和会话模块418。在步骤2中,运行在终端用户PC410上的媒体播放器客户程序将接收信道指南并向用户呈现信道指南。用户将选择信道,然后将信道请求转发回给销售商门户(步骤3)。然后,销售商门户为信道请求创建或生成利用URL链路返还给媒体播放器客户程序的加密令牌(步骤4)。在步骤5中,用户410利用加密令牌,通过调用URL链路请求视频。在流式传输模块408上接收加密令牌,作为URL中的可用查询字符串,例如:mms://stream-transaction.synccast.com//livestreaming/request1_live_directv.wsx?token=KvU...(1)其中,“mms”是媒体服务器;“stream-transaction.syncast”是域名; “request1_live_directv.wsx”是WSX文件—包装播放列表对象(WrapperPlaylistObject);和“token=”是请求中经由证书加密到令牌中的各种参数。将请求中的各种参数(例如,外部交易ID、日期时间、IP地址、用户ID、信道号和视频质量水平)组合成单个字符串,然后加以加密。加密方法是通过操作模块424提供给门户模块412(例如,销售商门户)的RSA证书实现的。然后,在步骤6中,将加密令牌传递给确认加密令牌的会话模块418。当被解密时,如图5所示,令牌500揭露如下参数:·外部交易Id(502)格式:数字。由服务提供商生成并在整个交易过程中是唯一的,例如,exttransid=123578235·用户Id(UserId)(504)格式:字母数字。由服务提供商生成并唯一地标识用户,例如,userid=Ab1Cd2eF·IP地址(506)格式:127.127.127.127。这代表用户的IP地址,例如,ip=66.23.45.12·信道号(508)格式:数字。要流式传输的所请求信道,例如,channel=6·信道质量(510)格式:字母数字。要求的质量水平(最初“低”、“中”、“高”),例如,quality=high·节目信息(512)格式:字母数字(描述限于15个字符)。只用于描述的可选字段,例如,program=redsv.blues·请求日期(514)格式:CCYY-MM-DD。像服务提供商确定的那样作出请求的GMT(格林尼治标准时间)日期,例如,date=2006-12-29·请求时间(516)格式:HH:MI:SS,其中,HH是24个小时。像服务提供商确定的那样作出请求的GMT时间,例如,time=17:58:46对在步骤7中确认令牌作出响应,会话模块418构建“动态”服务器方播放列表响应,即,所请求流或错误视频。服务器方播放列表提供了控制要流式传输的媒体的方式。在客户机方,终端用户可容易地修改播放列表,这样,提供了强化控制的拙劣手段。用户不能修改服务器方播放列表,这样,可用于保证广告的插入和各种媒体回放的长度和顺序。重要的是,服务器方播放列表隐藏视频流的真源,并且,按应用在本公开的系统和方法中的方式,服务器方播放列表可以指向相同视频流,但其中到那个流的链路表现为对于终端用户来说是唯一的,因此使得如果没有被识别成共享的就更难以与他人共享。然后,会话模块418将请求和结果记录在会话数据库中。可替代地,如果用户违反了会话规则,会话模块418对于其它流发送强制断开。会话模块418将服务器方播放列表转发给流式传输模块408,指示流式传输模块408递送要流式传输的视频内容(步骤8)。在步骤9中,流式传输模块408将实况视频(例如,编码视频)流式传输给终端用户PC410。流式传输模块408的会话监控器捕捉用户的活动(步骤10)。在步骤11中,根据会话管理规则,将允许用户的随后请求,或会话模块418将迫使流与用户断开。应该懂得,本公开的系统可以控制每个用户并发流的数量,以便系统可以使一个用户ID具有流式传输X个视频的能力。于是,会话模块418确定提供给用户或客户机的视频流的数量,确定请求是否超过客户机的视频流的预定数量,并且,如果超过视频流的预定数量,则终止至少一个视频流。而且,保证对于处在加密令牌中的IP地址使请求被满足意味着不能与其它非确认用户共享流链路。在这种情形下,会话模块418确定用户或客户机是否正在第二IP地址上接收所请求第一视频流,终止到第二IP地址的第一视频流,并将第一视频流提供给第一IP地址。另外,会话模块418也可以确认“外部交易id”是唯一的,因此,以前没有使用过。如果不是那种情况,那么,正在多次发送请求,可能指示URL和令牌的链路已经与其它用户共享或试图用在其它PC上等。除了管理到用户的并发或多个流之外,该系统和方法将强化用于流式传输视频的其它预定规则。例如,使时间帧包含在加密令牌中意味着,如果那 个时间碰巧落在基于当前时间的配置窗或时间帧之外,则不能保存链路供以后使用。会话模块418将确定令牌中请求的时间和日期,确定所请求的时间和日期是否在允许时间帧之外,并且,如果所请求的时间和日期在允许时间窗之外,终止第一视频流。应该懂得,本公开的系统和方法进一步应用DRM密钥来控制流媒体。回头参照图4,操作模块424生成DRM密钥,并将这个密钥转发给加密视频流的加密模块406(步骤12)。操作模块424还将DRM密钥提供给门户模块412(步骤13),然后,门户模块412将该密钥转发给适当终端用户410(步骤14)。然后,在终端用户的PC上应用DRM密钥来解密视频流(步骤15)。尽管本文详细显示和描述了包含本公开教义的实施例,但本领域的普通技术人员可以容易地设想出仍然包含这些教义的许多其它变通实施例。在描述了用于流媒体的会话管理的系统和方法的实施例(旨在例示而不是限制)之后,应该注意到,本领域的普通技术人员可以依照上述教义作出修改和改变。因此,应该明白,可以在如所附权利要求书所概括的本公开的范围内对本公开的特定实施例加以改变。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1