定位和检索分段内容的制作方法

文档序号:7990424阅读:220来源:国知局
定位和检索分段内容的制作方法
【专利摘要】描述用于检索源自两个或更多内容分发网络的分段内容的方法和系统。该方法可以包括以下步骤:检索与所述分段内容相关联的清单文件模板,该清单文件模板包括指向所述第一内容位置数据库的数据库条目的一个或多个指针;使用所述一个或多个数据库条目来确定所述第一或第二内容分发网络中的分发节点的位置,所述分发节点被配置成分发与所述数据库条目相关联的分段;以及通过用所述确定的位置替代所述指针来生成用于定位所述分段内容的清单文件。
【专利说明】定位和检索分段内容
【技术领域】
[0001]本发明涉及定位和检索分配(distributed)在两个或更多内容分发(delivery)网络上的分段内容,并且特别地但不排他地涉及用于定位和检索分配在两个或更多内容分发网络上的分段内容的方法、控制功能模块和客户端,以及使用这种方法的计算机程序产
品O
【背景技术】
[0002]当前越来越多的视频流技术使用所谓的分段。例如,在HTTP自适应流(HAS)中,可伸缩视频编码(VCS)和空间分段的内容(例如平铺视频)使用分别以时间、质量和空间为基础的分段。在分段过程期间,将会生成所谓的清单文件,其描述不同分段之间的关系以及可能会检索到分段的位置。
[0003]分段的视频内容可以被用来动态调整带宽需求,例如通过从高质量视频流切换到低质量视频流。此外,分段的视频还可能允许受欢迎的和较不受欢迎的视频分段之间的划分。例如,与视频结束处的内容相比,与视频的开始相关联的内容通常将被更频繁地观看(更受欢迎)。类似地,与高质量内容(例如较高分辨率HAS分段或SVC增强层)相比,低比特率较低质量视频内容(例如最低分辨率HAS分段或SVC基层)将被更频繁地观看。因此,当对视频内容进行分段时,某些分段将会比其他分段更频繁(得多)地被消费者请求。被配置成向消费者分发内容的内容分发网络(CDN)可以有利地使用该性质。例如可以将与更受欢迎的内容相关联的分段存储在CDN中的多个节点处以便可以减少带宽问题并且保证高效分发。⑶N内容位置管理器可以集中管理⑶N内的可能会检索到分段的位置。
[0004]在一些情况下,与一片内容相关联的片段可以被存储在属于两个或更多不同CDN域的节点处。在这种情况下,没有中央位置管理器可用于在不同⑶N域中定位分段。因此,与第一 CDN相关联的清单文件可能仅提到其他CDN中的路由功能,因为第一 CDN不了解该分段在第二 CDN中的位置。因此,每当请求另一 CDN中的分段时,需要对该CDN的路由请求。这样的请求会生成请求-路由延迟以使得会花费较长的时间来接收到所请求的分段。
[0005]这样的路由请求可能对CDN的性能有负面影响。包括大量分段的内容可能需要对其他CDN的大量路由请求,因此大大增加了每用户的请求路由载荷。此外,路由-请求延迟还可能对客户端的性能产生负面影响,尤其当客户端允许与内容的用户交互时(例如在空间分段内容的情况下缩放和平移请求)。路由请求延迟可能引起显示某一所请求的内容的延迟,从而负面地影响用户体验。
[0006]在 http: //tools, ietf.0rg/html/draft-peterson-cdn1-strawman-QO 中描述 了不同于上述路由请求机制的CDN互连方案。在这篇文章中,基于DNS查找和HTTP重定向来提出方案。然而,这样的技术需要每个所请求的分段的多个重定向,从而引入不期望的延迟,当使用需要短响应时间以达到快速内容交互的内容服务时这些延迟是不期望的。
[0007]因此,在现有技术中存在对分配在两个或更多CDN域上的分段的高效定位的需要。特别地,存在对以下这样的方法和系统的需要,即在多个CDN域中定位分段以使得可以以最小的延迟将分段分发给客户端从而实现对内容播放设备的内容服务,该内容播放设备需要用户交互功能(例如平移、缩放、倾斜、高分辨率版本和低分辨率版本之间的无缝切换
寸寸7 ο

【发明内容】

[0008]本发明的一个目的是减少或消除现有技术中已知的缺点中的至少一个并且在本发明的第一方面中提供一种用于定位优选地分段内容或片段内容、优选地空间分段内容的方法,其中所述分段内容可以被分配在至少与第一内容位置数据库相关联的第一内容分发网络和与第二内容位置数据库相关联的第二内容分发网络上。所述方法可以包括:检索与所述分段内容相关联的清单文件模板,其包括指向所述第一内容位置数据库的数据库条目的一个或多个指针;使用所述一个或多个数据库条目来确定所述第一或第二内容分发网络中的分发节点的位置,所述分发节点被配置成分发与所述数据库条目相关联的分段;以及通过用所述确定的位置替代指针来生成用于定位所述分段内容的清单文件。
[0009]在一个实施例中,所述分段内容被分配在第一或第二内容分发网络上。
[0010]在一个实施例中,可以由第一内容分发网络来检索所述清单文件模板和/或可以由第二内容分发网络来检索所述清单文件模板。
[0011]在一个实施例中,可以响应于接收到用于定位所述分段内容的至少一部分的位置请求来检索所述清单文件模板。
[0012]在另一实施例中,所述位置请求是优选地请求分段内容的用户(或客户端)请求。在另外的其他实施例中,所述位置请求可以是来自网络中内容控制功能、优选地IPTV控制功能、可选地基于IMS的功能的请求。
[0013]在一个实施例中,该方法可以包括:针对所述数据库条目中的至少一个来确定所述第一内容分发网络还是所述第二内容分发网络最适合于分发与所述数据库条目中的至少一个相关联的分段。
[0014]在另一实施例中,该方法可以包括:向所述第二内容位置数据库发送确定分发节点在所述第二内容分发网络中的位置的请求,所述分发节点适合于分发与所述数据库条目中的至少一个相关联的分段。
[0015]在一个实施例中,发送给所述第二内容位置数据库的所述请求是转发的、可选地经修改的位置请求。
[0016]在另一实施例中,发送给所述第二内容位置数据库的所述请求可以包括部分清单文件,其包括一个或多个分段标识符。
[0017]在一个实施例中,将所述所确定的位置从第二内容分发网络传送到第一内容分发网络。
[0018]在另一实施例中,将所述所确定的位置作为优选地经更新的部分清单文件的一部分来传送。
[0019]在又一实施例中,可以基于所述位置请求、优选地基于与所述请求相关联的位置信息来确定所述优选地最适合的内容分发网络。
[0020]在一个实施例中,所述第一内容位置数据库中的包括用于定位被配置成分发分段的分发节点的一个或多个定位符的所述数据库条目可以包括指向数据库位置的指针。[0021]在另一实施例中,所述第一内容位置数据库中的包括指向所述第二内容分发节点的内容位置数据库的一个或多个指针的所述数据库条目可以包括指向数据库位置的指针。
[0022]在另一方面中,本发明可以涉及一种用于从包括第一内容位置数据库的第一内容分发网络向包括第二内容位置数据库的第二内容分发网络移动分段内容的至少一部分的方法,该方法包括:检索与所述分段内容相关联的清单文件模板,其包括指向所述第一内容位置数据库的数据库条目的一个或多个指针;为在所述清单文件模板中标识的分段的至少一部分确定分段度量;基于所述分段度量来选择移动到所述第二内容分发网络的一个或多个分段;通过用被配置成分发所述所选分段的所述第一内容分发网络中的分发节点的一个或多个位置替代与所述所选一个或多个分段相关联的所述清单文件模板中的指针来生成部分清单文件;将所述部分清单文件发送到所述第二内容分发网络。可替换地,用于将一个或多个分段移动到第二内容分发网络的选择过程不基于分段度量,而是具有另一基础。例如,随机、预定。在这样的实施例中,可以省略确定分段度量的步骤。
[0023]在一个实施例中,该方法还可以包括:请求所述第二内容分发网络获取(ingest)在所述部分清单文件中标识的分段的至少一部分。
[0024]在另一方面,本发明可以涉及用于定位分段内容的控制功能模块,所述内容被分配在至少与第一内容位置数据库相关联的第一内容分发网络和与第二内容位置数据库相关联的第二内容分发网络上,所述控制功能模块被配置成:检索包括指向所述第一内容位置数据库的数据库条目的一个或多个指针的清单文件模板;使用所述一个或多个数据库条目来确定所述第一或第二内容分发网络中的分发节点的位置,所述分发节点被配置成分发与所述数据库条目相关联的分段;以及通过用所述确定的位置替代指针来生成用于定位所述分段内容的清单文件。
[0025]在另一方面中,本发明可以涉及一种被配置成与上述控制功能模块进行通信的客户端,所述客户端被配置成:向所述控制功能模块发送定位所述分段内容的至少一部分的位置请求;接收包括与所述第一和/或第二分发网络中的分发节点相关联的位置信息的清单文件;以及基于所述位置信息向所述分发节点中的至少一个发送对分段的请求。在另外的实施例中,所述控制功能模块可以与第一内容分发网络相关联。所述客户端被配置成从第一内容分发网络或第二内容分发网络接收所述清单文件。
[0026]本发明还涉及包括软件代码部分的计算机程序产品,所述软件代码部分被配置成当在计算机的存储器中运行时执行上述方法步骤中的至少一个。
[0027]将参考示意性地示出根据本发明的实施例的附图进一步说明本发明。将会理解,不以任何方式使本发明受限于这些特定实施例。
【专利附图】

【附图说明】
[0028]图1描绘根据本发明的一个实施例的内容分发系统。
[0029]图2描绘根据本发明的一个实施例的内容位置数据库。
[0030]图3描绘根据本发明的一个实施例的清单文件或清单文件模板的通用数据结构。
[0031]图4描绘根据本发明的一个实施例的内容获取的流程图。
[0032]图5描绘根据本发明的一个实施例的内容获取的序列图。
[0033]图6描绘根据本发明的一个实施例在内容获取之后清单文件的更新。[0034]图7描绘根据本发明的一个实施例将静态MF更新到MF模板中的流程图和序列图。
[0035]图8描绘根据本发明的一个实施例更新清单文件模板的过程。
[0036]图9描绘根据本发明的一个实施例使用部分清单文件(MF)将分段从第一 CDN移动到第二⑶N的流程图。
[0037]图10描绘根据本发明的一个实施例使用部分MF将分段从第一 CDN移动到第二⑶N的序列图。
[0038]图11描绘根据本发明的一个实施例用于内容获取的部分MF的形成。
[0039]图12描绘根据本发明的一个实施例服务于用户请求的过程的流程图。
[0040]图13描绘根据本发明的一个实施例用于生成DMF的过程的序列图。
[0041]图14描绘根据本发明的一个实施例与用户请求相关联的DMF的形成。
[0042]图15描绘根据本发明的一个实施例生成与用户请求相关联的清单文件的过程的流程图。
[0043]图16描绘根据本发明的一个实施例生成与用户请求相关联的清单文件的过程的序列图。
[0044]图17描绘根据本发明的一个实施例处理从⑶N A到⑶N B的分段位置请求的流程图。
[0045]图18描绘根据本发明的一个实施例基于DMF从第一和第二 CDN检索分段内容的过程的序列图。
【具体实施方式】
[0046]图1描绘根据本发明的一个实施例用于将分段内容分发给客户端的内容分发系统100。该内容分发系统可以包括内容分发网络(⑶N)(例如第一⑶N 102和第二⑶N 104)、经由传输网络107连接到托管客户端108的一个或多个终端的内容源106。该内容源可以涉及内容提供者系统CPS、内容准备系统或另一 CDN。CPS可以被配置成将内容(例如视频字幕)提供给消费者,消费者可以使用客户端购买并且接收该内容。
[0047]终端通常涉及内容处理设备,例如(移动)内容播放设备(诸如电子平板设备、智能电话、笔记本型电脑、媒体播放器等等。在一些实施例中,终端可以是机顶盒或被配置成处理并临时存储由内容播放设备将来消耗的内容的内容存储设备。
[0048]每个⑶N可以包括分发节点110、112、114以及至少一个中央⑶N节点116、118。每个分发节点可以包括控制器120、122、124以及用于存储和缓冲内容的高速缓冲存储器126、128、130或者与控制器120、122、124以及用于存储和缓冲内容的高速缓冲存储器126、128、130相关联。每个中央CDN节点可以包括:用于控制从外部源(例如内容提供者或另一CDN)获取内容的获取节点(或内容源自功能(COF)) 125,127 ;用于保留关于内容被存储在⑶N中的哪里的信息的内容位置数据库134、136 ;以及用于控制向分发节点分配内容的一个或多个拷贝并且将客户端重定向到适当的分发节点(也被称为请求路由的过程)的CDN控制功能(CDNCF) 123、128,并且与所述获取节点125、127、内容位置数据库134、136、CDN控制功能(⑶NCF) 123、128相关联。分配可以被控制以使得在将内容分发给客户端的整个过程中确保⑶N足够带宽。在一个实施例中,⑶N可以涉及如在ETSI TS 182 019中描述的CDN。
[0049]消费者可以通过向门户网站(WP) 132发送请求来从CPS 131购买内容(例如视频字幕),所述门户网站(WP) 132被配置成提供标识可购买的内容的字幕参考。响应于所述请求,客户端可以接收来自WP的字幕参考的至少一部分以及能够分发所选内容的CDN的CDNCF的位置信息(例如URL)。
[0050]CDNCF可以发送与一个或多个被配置成向客户端分发所选内容的分发节点相关联的客户端位置信息。典型地,该CDNCF可以在CDN中选择最适合于向客户端分发所选内容的分发节点。选择分发节点的标准可以包括客户端的位置以及分发节点的处理载荷。
[0051]客户端可以使用各种已知技术(包括HTTP和/或DNS系统)来接触⑶N中的分发节点。此外,可以使用各种流协议来向客户端分发内容。这样的协议可以包括HTTP和RTP类型的流协议。在优选实施例中,可以使用自适应流协议,诸如HTTP自适应流(HAS)、DVB自适应流、DTG自适应流、MPEG DASH、ATIS自适应流、IETF HTTP直播流和相关协议。
[0052]CDN被配置成获取和分配分段内容。还没有被分段或成为片段的内容有时也被称为原始内容。已知的分段流系统可能基于时间分段(例如HTTP自适应流(HAS))、基于质量的分段(例如可伸缩视频编码(VCS))和/或空间分段(例如平铺的视频)。这些系统的共同之处是以许多分段(片或部分)来组织内容,其中可以根据已知的传输容器格式来格式化(诸如MPEG或AVI)所述分段。以更一般的方式,分段有时还被称为组块(chunk)。可以由它们自己的URL对分段单独寻址并且从文件系统的角度来看将分段存储为单个文件。在一些基于HTTP的内容流技术中,使用片段的替换术语。作为内容片段化(代替内容分段)的结果,形成作为组块的另一种形式的片段。
[0053]在具有例如用于Microsoft的平滑流的片段(或虚拟分段)的情况下,所有组块或者属于同一组块收集的片段被存储在一起,作为单个文件的一部分。尽管存在允许存储这种类型的分组块内容的许多容器格式,但是最常使用片段化的MP4。在具有片段的情况下,可以通过用唯一标识所感兴趣的组块的标识符对通用文件URL加下标、借助于时间戳、字节范围或以某一其他方式对特定组块寻址。要注意,本发明的实施例还适用于在其中使用片段而不是分段的系统或技术。因此,为了该申请的目的,可以使用术语分段来表现分段、或片段、或广义词组块,只要最适合,因为在现有技术中这些都可能碰到。
[0054]可以以特定数据结构来描述各分段之间的关系,在下文中该特定数据结构被称为清单文件,该特定数据结构可以被存储并且使用特定文件名称扩展(例如,.mf、.xml、和.m3u8)来对其进行标识。清单文件还描述一个或多个分发节点上的不同分段的位置和名称。
[0055]在特别受欢迎的分段中,可以从CDN中的多于一个分发节点检索分段。而且,在某些情况下,应该从另一 CDN域中的分发节点检索分段。CDNCF可以管理能够检索到分段的位置。在这种情况下,CDNCF可以使用内容位置数据库134、136。在一个实施例中,内容位置数据库可以涉及资产位置功能(ALF) JBETSI TS 182 019中所述。
[0056]图2描绘根据本发明的一个实施例的内容位置数据库。该内容位置数据库可以包括主位置表格202,其包括与特定类型的文件名相关联的条目。每个条目还包括指代数据库记录204-212的位置指针,该数据库记录204-212包括用于在⑶NCF的⑶N域(例如⑶N A)内或另一 CDN域(例如CDN B)内定位分发节点的一个或多个文件定位符(例如URL)。例如,与文件名Movie-2相关联的数据库条目214涉及类型为“视频文件”的文件并且包括指向包含定位与CDN A的第一和第二分发节点相关联的第一和第二高速缓冲存储器的两个URL的数据库记录的位置指针Movie-2_Location。
[0057]类似地,与文件名Movie-4相关联的数据库条目216涉及类型为“静态清单文件”的文件并且包括指向包含对于CDN A中的被配置成分发数据库条目中所标识的清单文件的分发节点的URL的记录的位置指针M0Vie-4_L0Cati0n。静态清单文件类型指代没有基于用户请求而动态自适应而是以与存储在CDN节点上的形式相同的形式分发给客户端的清单文件。静态清单文件标识许多分段,其中这些分段被存储在与清单文件本身相同的位置处。
[0058]与名称Movie-5相关联的另一数据库条目218被标识为所谓的“清单文件模板”并且包括指向包含用于定位CDN A中的被配置成分发这样的清单文件模板的分发节点的高速缓冲存储器的URL的记录的位置指针Movie-5_Location。
[0059]清单文件模板类型指代标识许多分段名称(例如Movie-5_l)的清单文件。与普通(静态)清单文件相比,清单文件模板不包括对于被配置成分发特定分段的内容分发节点的URL。而是,每一个分段名称或者分段名称的至少一部分可以与指向内容位置数据库中的数据库条目的指针相关联,例如cdncf.cdn_A.com/res/Movie-5_l.seg。指针可以被用来找到关于分段的(一个或多个)位置的信息。
[0060]如下文中将更详细描述的那样,CDN可以使用清单文件模板来生成所谓的动态清单文件(DMF)。应该注意,清单文件模板决不会被分发给最终用户,而是仅作为构建动态清单文件的基础。
[0061]动态清单文件是静态清单文件的替换并且用于定位分段内容,其中该分段可以被分配在位于一个或多个CDN域中的多个分发节点上。这样的分段分配允许存储更多分发节点上的更频繁请求(即受欢迎)的分段而不是较不频繁请求的分段,以便确保这种分段的高效分发和存储。
[0062]可以基于与用户请求相关联的信息来生成动态清单文件。例如,可以基于请求分段内容的用户的位置来生成动态清单文件。使用用户的位置信息(例如IP地址),⑶NCF可以确定哪些分发节点最适合于向用户分发分段。
[0063]关联分段类型的两个文件名称Movie_5_l和Movie_5_2的另外的数据库条目220和222包括指向包含用于定位被配置用来分发数据库条目中所标识的分段的分发节点的URL的记录的位置指针。而且,如与位置指针Movie-5_l位置相关联的记录中所指示的,位置还可以被限定为对另一⑶N域(⑶N B)的⑶NCF功能的参考。在这种情况下,这样的位置参考还将包含唯一标识另一域中的特定分段的内容标识符(在该示例中“Movie-5.1.seg”)。如下面将更详细描述的,这样的参考允许检索其他⑶N域中的分段的机制。应该注意,一个CDN域中的CDNCF将不具有对另一 CDN域的内容位置数据库的直接访问。为了获得另一 CDN域中的特定分段的位置,请求将通常将经历其他域的CDNCF功能,其中内容标识符被用于标识所请求的分段。
[0064]图3描绘根据本发明的一个实施例的清单文件(MF)或清单文件模板的通用数据结构。MF可以包括头部分304和分段部分306。头部分可以包括关于分段部分中限定的分段的全局分段信息。全局信息可以包括文件的名称、分段的类型和格式、分段的类型以及各分段之间的关系(例如各分段之间的时间或空间关系)。分段部分可以包括承载一片内容的各个分段上的局部分段信息308。局部分段信息可以包括分段的名称和大小、播放持续时间、分段中承载的内容的分辨率、分段的位置(例如时间或空间方面)以及用于在CDN域中定位分发节点的定位符。如已经参考图2所描述的,定位符可以具有指向(如例如在MF模板中使用的)内容位置数据库的数据库条目的(如例如在静态MF中使用的)URL或指针的形式。
[0065]图4和图5分别描绘根据本发明的一个实施例与获取分段(优选地空间分段)的内容的过程相关联的流程图和序列图。
[0066]图4中的过程可以以CDNCF接收到请求源自该源(例如内容提供者、CDN或另一内容处理实体)的内容获取开始(步骤402)。该请求可以包括位置信息(例如URL)和内容标识符。响应于此,CDNCF可以接收文件(步骤404),该文件可以与清单文件MF或常见内容文件有关。
[0067]如果⑶NCF检测到MF (步骤406、408),则它可以解析所接收的MF (步骤410)以便检索与该MF中列出的分段相关联的位置信息(例如URL)。CDNCF然后可以命令获取节点基于所接收的MF来执行分段的获取(步骤412)。可选地,获取节点可以对所接收的分段执行额外处理,诸如代码转换。
[0068]基于与⑶N中的分发节点相关联的处理载荷、数据业务和/或地理邻近信息(⑶N度量),CDNCF然后可以将分段分配给与一个或多个分配节点相关联的高速缓冲存储器(步骤414)。此后,CDNCF可以通过添加与分段被分配到的分发节点的位置相关联的位置信息来更新MF (步骤416)。应该注意,由⑶NCF插入到经更新的MF中的URL可以是绝对URL(包含全部URL路径)或者相对URL (仅包含相对于MF本身的位置的路径)。⑶NCF可以存储采用分发节点所更新的(修改的)MF (步骤418)并且在与CDNCF相关联的内容位置数据库中生成新条目(步骤420)。然后,⑶NCF可以向MF指定“静态清单”类型(步骤422),创建新记录以便存储可以被检索到经更新的MF的位置以供将来使用(步骤424)并且生成指向可通过⑶NCF访问的内容位置数据库中的新条目的URL (步骤426)。然后可以将该URL发送到源(步骤436)。
[0069]如果该源的源获取请求与常见内容相关联,则可以将内容分配给一个或多个所选分发节点的高速缓冲存储器(步骤428)。可以在内容位置数据库中为该文件创建新数据库条目(步骤430),包括用于存储与所存储的文件相关联的URL的记录(步骤432)以及指向数据库中的新条目的URL (步骤434)。然后可以将该URL发送到源(步骤436)。
[0070]图5的序列图更详细地描绘用于获取分段的过程。在该示例中,⑶NCF和该源可以使用基于HTTP的协议来控制内容获取。该过程可以以该源向⑶NCF发送内容获取请求来开始,其中该请求包括指向命名为Movie-4, smf的MF的URL (步骤502)。⑶NCF可以检索MF (步骤504和506)并且解析该MF (步骤508)以便检索空间分段文件位置(例如以一个或多个URL的形式)。
[0071]使用URL,⑶NCF可以指导⑶N获取节点取得MF中所标识的分段(步骤510)。在已经接收到分段之后(步骤512-518),获取节点可以向⑶NCF通知已经成功地检索到内容并且将其分配到CDN中的分发节点的高速缓冲存储器。
[0072]然后⑶NCF可以通过将分发节点的位置从可以被检索到的分段插入到MF来更新MF (步骤520)。经更新的MF可以存储有所选分发节点的高速缓冲存储器中的分段(步骤522 )。MF的位置可以被存储在与⑶NCF相关联的内容位置数据库中(步骤524)。此外,⑶NCF可以将响应发送回到该源,其中该响应可以包括指向可通过CDN的CDNCF访问的内容位置数据库中的条目的URL (步骤526)。
[0073]图6描绘在如参考图4和图5描述的分段的获取之前和之后的MF的一部分的示例。从该源接收到的静态MF 602可以具有如参考图3所述的数据结构。MF可以包括文件名、关于分段的信息,例如分段的类型(在这种情况下是空间分段)、分段的数目和各分段之间的(空间)关系。MF还可以指示四个单独的分段(Movie-4-1, seg、Movie-4-2, seg、Movie-4-3, seg 和 Movie-4-4.seg)被存储在源域中的某一位置(cache, source, com/res/)处。
[0074]在获取分段之后,⑶NCF可以生成经更新的静态MF 604,其包括采用指向第一分发节点的URL的形式的更新的分段位置(cache_l.cdn_A.com/res/),包括(空间)分段Movie-4-1.seg、Movie-4_2.seg、Movie-4_3.seg 和 Movie-4-4.seg。应该注意,在这种情况下,在多个分发节点上托管静态清单文件以及其相关联的分段并且使用绝对URL,MF将具有每一个分发节点上的不同分段URL。在使用相对URL的情况下,不同分发节点上的清单文件将是相同的。
[0075]因此,从上面得出的结论是MF允许⑶N内分段的受控获取。在获取之后,MF标识⑶N中存储分段的位置。
[0076]如之前所指示的,静态MF涉及标识预定数目的分段的位置的MF。在某种意义上,MF是静态的指的是MF不是与用户有关的而是预定的。静态MF将总是指向作为MF自身存储在相同分发节点上的分段位置,尽管这不是严格要求的。
[0077]然而,静态MF中的分段可能涉及频繁或较不频繁请求的分段。
[0078]因此,基于分段度量(例如一般的受欢迎度、或来自特定位置或区域请求的数目),可以在CDN以及可选其他CDN中的多个分配节点上重新分配分段。然后,当用户向分段内容的MF请求分发时,可以基于与该用户请求相关联的信息来生成所谓的动态MF。例如,可以生成包括内容分段在分发节点中的位置的动态MF,一些分发节点靠近用户的位置以便实现所请求的分段的高效局部分发,而其他分发节点可能因为较不经常请求内容分段而更远尚用户。
[0079]基于所谓的MF模板来生成动态MF。图7A和7B描绘根据本发明的一个实施例将静态MF更新到MF模板中的流程图和序列图。
[0080]图7A中的过程可以以收集静态MF中限定的分段的分段度量来开始。分段度量可以涉及分段被请求和观看的频率、从其请求分段的用户位置(例如IP地址)、以及确定静态MF中各分段之间的差异的任何其他度量(步骤702)。如果存在明显的差异,则可以触发创建MF模板的过程(步骤704)。该过程可以包括以下步骤:检索静态MF (步骤708)、从静态MF检索分段位置(步骤710)以及在内容位置数据库中为分段位置创建条目(步骤712)。因此,基于分段度量,CDNCF可以决定将一个或多个分段(特别地频繁请求的分段)的拷贝分配给CDN中的多于一个分配节点。因此,数据库条目可以包括用于定位被配置成分发特定分段的不同分配节点的两个或更多URL (类似于图2中的数据库条目“M0Vie-5_l”具有指向特别包含被配置成分发预定分段MoVie_-5-l.seg的两个分发节点的URL的记录的位置指针)。[0081]此后,通过用指向内容位置数据库的指针替代静态MF中的位置来将静态MF重新写入到MF模板中(步骤714和716)。可以通过将MF的“类型”改变成“清单文件模板”来完成MF模板创建过程(步骤718)。
[0082]图7B更详细地描绘MF模板的生成。该过程可以由⑶NCF检测到静态MF的分段度量中的明显差异而开始(步骤720)。⑶NCF然后可以从存储MF的一个或多个分发节点的高速缓冲存储器检索静态MF Movie-4, mf (步骤722和724)。然后,⑶NCF可以执行将分段位置输入到数据库中的过程并且将静态MF重写入到包括指向CDN的内容位置数据库的指针的MF模板(步骤726和728)。此后,将(新)MF模板发送回到一个或多个分发节点的高速缓冲存储器,在那里其替代(旧、静态)MF (步骤730-736 )。
[0083]图8描绘根据本发明的一个实施例的MF模板的形成。在参考图7描述的更新过程期间,旧的静态MF 802被更新到MF模板804,在那里用指向⑶N A的内容位置数据库中的可通过⑶NCF访问的条目的指针来替代分段位置URL。
[0084]在基于分段度量重新分配分段在⑶N (⑶N A)内的存储的过程之后,⑶NCF还可以发起将某些分段移动到另一⑶N (⑶N B)的过程。在图9中描绘该过程。在第一步骤902中,基于观看频率、请求分段的用户的位置(IP地址)以及其他相关度量来收集分段度量。
[0085]根据这些分段度量,变得例如显而易见的是位于远离⑶N A的地理位置的地理位置中的一大群用户请求某些分段。在这种情况下,CDNCF可以决定将这些分段推入到靠近那些用户的地理位置的⑶N B (步骤904)。
[0086]因此,⑶NCF可以准备并且临时存储包括⑶N A中的分发节点的分段位置的所谓的部分清单文件(部分MF)(步骤906和908)。在某种意义上,部分MF是“部分的”指的是MF模板中的数据库条目的子集被URL代替而其他数据库条目被移除。特别地,用定位CDNA中被配置成分发需要被CDN B获取的分段的分发节点的URL来替代与那些分段相关联的MF模板中的数据库条目。指向不该被CDN B获取的分段的数据库条目的指针被移除并且被标记为“空”。
[0087]随后将部分MF发送到⑶N B的⑶NCF,其可以使用部分MF中的非空分段URL来将那些分段获取到其自己的⑶N中(步骤910)。在⑶N B中获取到分段之后,⑶N A的⑶NCF从⑶N B接收到指向⑶N B的⑶NCF的URL,包括唯一标识⑶N B中获取的分段的内容标识符列表(步骤912)。⑶N A的⑶NCF利用接收到的URL更新其内容位置数据库。
[0088]可替换地,在⑶N B已经获取列在部分MF中的分段之后,⑶N B的⑶NCF不会将URL和指示所获取的分段的位置的标识符列表发送给其⑶NCF,而是URL指向由⑶N B更新的经更新的部分MF,其现在包括所获取的分段在⑶N B内的相对位置。⑶N A的⑶NCF然后可以从⑶N B检索部分MF,解析它并且利用所分配的分段的URL来填充⑶N A内容位置数据库。可替换地,⑶N A可以利用基于从⑶N B接收到的URL和分段标识符而生成为查询字符串的URL来填充其内容位置数据库。
[0089]以这种方式,⑶N A的内容位置数据库中的某些条目可以包括对于另一⑶N的URL(类似于图2中的数据库条目“Movie-5_l”具有指向⑶N B的⑶NCF的位置指针和唯一标识⑶N B中的特定分段以便在⑶N B中检索分段Movie_5-l.seg的标识符)。
[0090]图10更详细地描绘图示使用部分MF来获取从第一⑶N到第二⑶N的分段的序列图。该过程可以由⑶NCF确定应该将某些分段移动到⑶N B触发(步骤1002)。在这种情况下,⑶N A的⑶NCF可以准备部分MF cdn_B-Movie-4.mf并且将其存储在高速缓冲存储器中(步骤1004)。此后,⑶N A的⑶NCF可以将获取请求发送给⑶N B的⑶NCF (步骤1006),从而指示⑶N B的⑶NCF获取在部分MF中限定的可以由⑶N B的⑶NCF基于获取请求中的URL而定位的分段(步骤1008-1010)。可替换地,⑶N A可以包括要被发送到⑶NB的⑶NCF的获取请求主体中的部分MF。基于部分MF,⑶N B随后获取该部分MF中限定的分段。获取过程类似于参考图5所述的过程(步骤1012)。在该过程期间,CDN B可以自发地确定将哪些分发节点可以配置用于分发分段。在获取过程完成之后CDN A接收到的唯一信息是指向CDN B的CDNCF的URL和唯一标识CDN B中的分段的标识符列表,或者是指向⑶N B中被用于将来检索清单文件和分段位置的经更新的部分MF的URL (步骤1014)。
[0091]作为对CDN B实际获取到在它从CDN A接收到的部分清单文件中指示的分段的替换,⑶N B (优选地⑶N B的⑶NCF)可以向这些所标识的分段预先指定在⑶N B中的位置(高速缓冲存储器/节点),并且相应地利用这些位置来更新部分清单。然后在稍后的时刻可以由⑶N B来获取实际分段。例如当客户端基于清单文件请求这些分段时。这样的机制还被称为“拉出”模型。
[0092]图11描绘在参考图10所述的过程中用于内容获取的部分MF的形成。可以基于参考图7更详细描述的MF模板1102来构造部分MF。在这里,用对被配置用于分发分段Movie-4-1, seg和Movie_4_2.seg的分发节点进行定位的URL来替代与这些分段相关联的MF模板中的头两个数据条目。其他两个数据库条目为空以使得这些分段不会被CDN B获取。
[0093]因此,基于参考图3-10所述的过程,⑶N可以构建包括对于MF模板的条目和与存储在各种分发节点处的分段相关联的条目的内容位置数据库,所述各种分发节点可以位于CDN域和/或其他CDN的CDN域内。MF模板可以被用来响应于用户请求而创建动态MF(DMF),其中动态MF包括用于检索基于分段度量优化后的所请求的分段的位置,所述分段度量例如与请求的地理位置和频率相关联的度量。动态MF中的位置可能涉及不同CDN域中的分发节点的位置。以这种方式,动态MF允许用户高效且直接地从动态FM中指定的各种分发节点检索到分段,而不必忍耐对于存储在另一 CDN域内的每个分段的重定向延迟。在下文中参考图12-18更详细地描述该过程。
[0094]图12描绘根据本发明的一个实施例服务于用户请求的过程的流程图。该过程可以以CDNCF接收到包括内容名称或标识符的用户请求来开始(步骤1202)。该名称可以被分解成文件类型和位置。此外,可以基于IP地址来确定与用户请求相关联的用户位置。
[0095]然后CDNCF可以使用内容位置数据库来确定所分解的文件类型是否涉及MF模板(步骤1204)。如果不是这种情况,则⑶NCF可以使用各种度量(诸如用户位置和当前⑶N载荷)来确定最适合于分发所请求的内容的单个分发节点或CDN域(步骤1206)。如果分解的文件类型涉及MF模板,则⑶NCF可以使用内容位置数据库来生成包括一个或多个分发节点的URL的动态MF,它们一起都最适合于分发所请求的分段(步骤1208)。所生成的动态MF可以临时地存储有响应于用户而发送的定位DMF的URL和⑶NCF。
[0096]图13描绘根据本发明的一个实施例用于生成DMF的过程的序列图。该过程可以以从网络中的内容控制功能(例如IPTV控制功能)发送用户请求或请求开始,该用户请求或请求包括指向⑶N的内容位置数据库中的条目Moive-4.mf的URL以及采用对于⑶N A的⑶NCF的IP地址形式的用户位置(步骤1302和1304)。⑶NCF将执行数据库查找,从而确定该请求中的数据库条目与MF模板的类型有关,其中MF模板Moive-4.mf位于CDN A的特定分发节点的高速缓冲存储器处(步骤1306)。随后将检索MF模板(步骤1308和1310),并且基于MF模板,通过将数据库条目重写入到MF模板中来生成DMF (步骤1312)。随后将DMF发送给用户或内容控制功能(步骤1314)。
[0097]图14描绘根据本发明的一个实施例与用户请求相关联的DMF的形成。MF模板1402可以被用作生成与特定用户1404相关联的DMF的基础。生成DMF的过程可以确定用于将DMF中的分段分发给位于两个CDN域(即CDN A和CDN B)的用户的最适合分发节点。
[0098]图15更详细地描绘生成与如图13所述的内容控制功能或用户请求相关联的DMF的过程的流程图。该过程可以以CDNCF检索与由用户或内容控制功能所指示的内容请求相关联的MF模板来开始(步骤1502)。
[0099]此后,循环开始,其中作为对于内容位置数据库中的条目的指针的MF模板中的分段名称被分解成位置(URL)。基于用户或内容控制功能信息(例如IP地址)来确定最适合于分发分段(例如最靠近或最佳可用)的域(步骤1504)。如果该域是与用户请求或内容控制功能请求相关联的域(即⑶N A)(步骤1506),则可以选择最适合于分发分段的⑶N A中的分发节点的位置(URL)(步骤1508)。随后将该URL作为分段名称插入到MF模板中(步骤1514)。
[0100]如果确定另一域更适合于分发分段,则可以将可选地包括用户位置(例如IP地址)的请求发送给该⑶N的⑶NCF (步骤1510)。响应于该请求,可以从⑶N接收URL (步骤1512)。随后可以将该URL添加到MF模板中的分段名称(步骤1514)。
[0101]对于MF模板中的所有分段来重复该过程,由此形成临时存储在与⑶NCF相关联的高速缓冲存储器上的DMF。可以生成URL以便定位由此生成的DMF (步骤1518)。
[0102]在本发明的一个实施例中,生成DMF的⑶NCF将针对另一⑶N中的特定⑶NCF的所有位置请求捆绑成单个请求。这考虑到不同CDNS的CDNCF之间更高效的通信并且降低其他⑶N域中的⑶NCF中的载荷。这样做,⑶N A中的⑶NCF可能创建新部分MF,该新部分MF不被CDN B的CDNCF用来获取相关分段,而是告诉CDN A对特定用户来说分段的最适合位置。
[0103]图16更详细地描绘图示生成与如图13所述的内容控制功能或用户请求相关联的DMF的过程的序列图。该过程可以以触发器基于MF模板Moive-4.mf生成DMF来开始(步骤1602)。此后,可以使用参考图15所述的过程来确定MF模板中的每分段、将分段分发给内容控制功能或用户的给定位置的最佳分发节点。对于两个分段(MoVie_4-l.seg和Movie_4-2.seg),确定最佳分发节点位于⑶N B的域中(步骤1606)。对于这两个分段,⑶NCF转发包括⑶N B的⑶NCF的URL、在⑶N B中唯一标识分段的两个标识符以及用户位置的分段位置请求(步骤1608)。可替换地,如之前所述,该请求可以包括包含分段标识符的部分MF。CDN B的CDNCF可以通过检查数据库条目以及基于用户位置确定最佳服务分发节点在⑶N B中的位置(URLS)来处理位置请求(步骤1610)。由此确定的位置被返回给⑶NA的⑶NCF (步骤1612)并且被插入到MF模板中(步骤1614),如此完成动态MF。
[0104]因此,参考图16描述的过程提供允许一个⑶N从另一⑶N请求一个或多个分段的位置的CDN互连方案,其中所返回的位置可能涉及最适合于向用户或网络中的内容控制功能(诸如IPTV控制功能)分发分段的分发节点。
[0105]图17描绘根据本发明的一个实施例处理从⑶N A到⑶N B的分段位置请求的流程图。在第一步骤1702中,接收域⑶N B从原始域⑶N A接收用于定位一个或多个分段的请求。响应于该请求,⑶N B (特别地⑶N B的⑶NCF)可以将一个或多个分段标识符分解成类型和位置(例如(一个或多个)URL (集合)),其中响应于⑶N A选择并返回最适合的分发节点的位置(步骤1704)。在一个实施例中,该过程是循环的,其中⑶N B具有委托给⑶NC的一些分段,并且⑶N B执行与图15和16中所述的过程类似的过程。
[0106]图18描绘根据本发明的一个实施例基于DMF从第一和第二 CDN检索分段内容的过程的序列图。在这种情况下,用户(客户端)或内容控制功能已经从⑶N A或⑶N B接收到DMF并且确定该DMF中限定的分段的位置。例如,在图18的示例中,基于DMF中的位置,客户端可以从⑶N B中的第一和第二分发节点直接请求和接收第一和第二分段(步骤1804、1806和步骤1810、1812)并且从⑶N A的分发节点直接请求和接收第三分段(步骤1816)。
[0107]参考在与图10相关联的最后段落中描述的替换方案,在CDN-node B没有预先获取步骤1804中所请求的分段(并且该分段也没有存在于cache_5处)的情况下,步骤1804之后可以是根据步骤1806的以下步骤:cache_5从⑶N A请求“丢失的”分段并且随后在该分段被分发给客户端之前cache_5接收到该分段。这样的模型也被称为“拉出”模型。
[0108]因此,动态生成的DMF允许从不同⑶N域直接检索内容。DMF允许在DMF中限定的不同分段之间的快速切换。分段检索不需要重定向机制的类型以便在不同CDN域中定位分段,因此为分段内容提供了迅速且高效的检索机制。这样的内容检索机制可以被用在允许与内容的用户交互(例如平移、缩放、倾斜、各种流版本之间的无缝切换)的内容服务中。
[0109]要理解,关于任何一个实施例所述的任何特征可以被单独地、或者结合所述的其他特征来使用,并且还可以结合任一些其他实施例的一个或多个特征或者任一些其他实施例的任何组合来使用。
[0110]本发明的一个实施例可以被实施为与计算机系统一起使用的程序产品。程序产品的(一个或多个)程序限定实施例(包括这里所述的方法)的功能,并且可以被包含在各种各样的计算机可读存储介质上。说明性计算机可读存储介质包括但不限于:(i)信息被永久地存储在其上的非可写入存储介质(例如计算机内的只读存储器设备,诸如CD-ROM驱动器可读的CD-ROM盘、闪存存储 器、ROM芯片或任何类型的固态非易失性半导体存储器);以及(?)其上存储有可变信息的可写入存储介质(例如磁盘驱动器或硬盘驱动器内的软盘或任何类型的固态随机存取半导体存储器)。本发明不限于上述实施例,可以在所附权利要求的范围内改变本发明。
【权利要求】
1.用于定位分段内容的方法,所述分段内容被分配在至少与第一内容位置数据库相关联的第一内容分发网络和与第二内容位置数据库相关联的第二内容分发网络上,包括: 检索与所述分段内容相关联的清单文件模板,该清单文件模板包括指向所述第一内容位置数据库的数据库条目的一个或多个指针; 使用所述一个或多个数据库条目来确定所述第一或第二内容分发网络中的分发节点的位置,所述分发节点被配置成分发与所述数据库条目相关联的分段;以及 通过用所述确定的位置替代所述清单文件模板中的指针来生成用于定位所述分段内容的清单文件。
2.根据权利要求1的方法,其中响应于接收到用于定位所述分段内容的至少一部分的位置请求来检索所述清单文件模板。
3.根据权利要求1或2的方法,包括: 针对所述数据库条目中的至少一个来确定是所述第一内容分发网络还是所述第二内容分发网络最适合于分发与所述数据库条目中的至少一个相关联的分段。
4.根据权利要求1-3中的任一项的方法,包括: 向所述第二内容位置数据库发送确定分发节点在所述第二内容分发网络中的位置的请求,所述分发节点适合于分发与所述数据库条目中的至少一个相关联的分段。
5.根据权利要求3或4的方法,其中基于所述位置请求、优选地基于与所述请求相关联的位置信息来确定所述最适合的内容分发网络。
6.根据权利要求1-5中的任一项的方法,其中所述第一内容位置数据库中的包括用于定位被配置成分发分段的分发节`点的一个或多个定位符的所述数据库条目包括指向数据库位置的指针。
7.根据权利要求1-6中的任一项的方法,其中所述第一内容位置数据库中的包括指向所述第二内容分发节点的内容位置数据库的一个或多个指针的所述数据库条目包括指向数据库位置的指针。
8.用于从包括第一内容位置数据库的第一内容分发网络向包括第二内容位置数据库的第二内容分发网络移动分段内容的至少一部分的方法,该方法包括: 检索与所述分段内容相关联的清单文件模板,该清单文件模板包括指向所述第一内容位置数据库的数据库条目的一个或多个指针; 确定在所述清单文件模板中标识的分段的至少一部分的分段度量; 基于所述分段度量来选择移动到所述第二内容分发网络的一个或多个分段; 通过用被配置成分发所述所选分段的所述第一内容分发网络中的分发节点的一个或多个位置替代与所述所选一个或多个分段相关联的所述清单文件模板中的指针来生成部分清单文件; 将所述部分清单文件发送到所述第二内容分发网络。
9.根据权利要求8的方法,还包括: 请求所述第二内容分发网络获取在所述部分清单文件中标识的分段的至少一部分。
10.用于定位分段内容的控制功能模块,所述内容被分配在至少与第一内容位置数据库相关联的第一内容分发网络和与第二内容位置数据库相关联的第二内容分发网络上,所述控制功能模块被配置成:检索包括指向所述第一内容位置数据库的数据库条目的一个或多个指针的清单文件模板; 使用所述一个或多个数据库条目来确定所述第一或第二内容分发网络中的分发节点的位置,所述分发节点被配置成分发与所述数据库条目相关联的分段;以及通过用所述确定的位置替代指针来生成用于定位所述分段内容的清单文件。
11.一种被配置成与根据权利要求8的控制功能模块进行通信的客户端,所述客户端被配置成: 向所述控制功能模块发送用于定位所述分段内容的至少一部分的位置请求; 接收包括与所述第一和第二分发网络中的分发节点相关联的位置信息的清单文件;以及 基于所述位置信息向所述分发节点中的至少一个发送对分段的请求。
12.一种包括软件代码部分的计算机程序产品,所述软件代码部分被配置成当在计算机的存储器中运行时执行根据权 利要求1-11中的任一项的方法步骤。
【文档编号】H04L29/06GK103563327SQ201280027641
【公开日】2014年2月5日 申请日期:2012年6月7日 优先权日:2011年6月8日
【发明者】R.布兰登伯格范, V.M.O.德文特, O.A.尼亚穆特 申请人:皇家Kpn公司, 荷兰应用自然科学研究组织
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1