专利名称:用于控制可从内容分发点获得的信息的方法和设备的制作方法
技术领域:
本发明涉及通信网络的领域,具体地涉及内容分发网络。
背景技术:
互联网协议(ip )电视(iptv )是一项通过在分组分发网络上利用ip 数据流传输^l频内容来将视频内容分发给用户的技术。可能包括多种不同 的tv频道、点播电影和其他内容的iptv分发网络的内容数据流是从视 频服务器被传输给用户的。视频内容数据流通过视频服务器与用户之间的 一个或多个网络单元(其可能作为频道选择点来操作)而^皮传输。在iptv 分发网络中,视频服务器和频道选择点通常以分层的方式来安排,视频服 务器在层级顶端而用户在层级底端,并且一级或多级频道选择点位于视频 服务器与用户之间。
在iptv分发网络中,为了请求可从视频服务器获得的特定频道,用 户向频道选择点发起频道请求,这是从最接近于用户位置的频道选择点开 始的。如果最接近于用户位置的频道选择点不能处理该请求(即频道在该 频道选择点不可获),则该频道选择点在iptv分发网络的网络单元层级 中上行转发用户请求(即转发至视频服务器)。来自用户的频道请求继续 被上行转发,直到到达能处理该请求的网络单元(即另一频道选择点或视 频服务器)。处理该请求的网络单元将所请求的频道传送给用户。提供商 网络上的iptv分发尝试将来自作为iptv频道源的视频服务器的全部 iptv频道提供给尽可能接近于用户位置的频道选择点。由于iptv分发网 络通常是分层网络,因此(处理用户的电视频道请求的)频道选择点越接近于可从其获得所请求的电视频道的视频服务器,iptv分发网络就变得 越成问题。
首先,由于iptv分发网络通常包括多个层级,并且在不同层级的频 道选择点的数目从视频服务器到用户的方向上是增加的,因此更接近于视 频服务器的频道选择点通常需要比更接近于用户的频道选择点更大的带宽 (即更接近于视频服务器的频道选择点比更接近于用户的频道选择点支持 更多的电视频道,因为激活的电视频道朝向视频服务器是累加的)。出于 经济上的考虑,iptv分发网络运营商不能负担从视频服务器向位于较低 层级的多个频道选择点递送所有可用频道所需要的链路容量。其次,对于 离用户较远的频道选择点所处理的频道选择请求而言,用户与频道选择点 之间的信令时延增加,这通常会导致不可接受的频道切换性能。此外,这 种不可接受的频道切换性能还会导致用户在之前的频道请求完成之前继续 发出对其他频道的请求。在之前的频道请求被处理之前所发出的这些对其 他频道的附加请求进一步恶化了频道切换性能问题。
不利地,频道选择点目前缺乏关于哪些频道应当可从频道选择点获得 的任何智能。结果,频道请求经常不能由最接近于有关用户的频道选择点 来处理,这由此导致网络对频道选择作出反应所需要的反应时间增加、低 效的频道替换(即在多个频道被提供给用户的情况下对于待中断频道的选 择的低效性)、信令开销的显著增加、以及当服务于用户的频道选择点离 开用户位置时所造成的其他问题。
发明内容
通过本发明的用于控制在分层网络中的网络单元处可获的信息的方法 和设备解决了现有技术中的各种缺陷。所述信息可以包括任何可从服务器 分发给用户终端的信息,包括从服务器传送至用户的完整流式传输媒体内 容(例如iptv广播多々某体内容、广播音频内容等)、利用用于控制々某体 内容至用户的递送定时的一个或多个网络緩冲器从服务器分发给用户的部 分流式传输^某体内容(例如iptv视频点播(vod)内容、音频点播内容等)、非流式传输信息(例如数据文件、软件补丁等)等等,以及其各种 组合。提供了一种用于控制在位于信息分发网络的第一层级的网络单元处
可获的信息的方法。在一个实施例中,所述方法包括利用内容预测信息 确定内容子集;将所确定的内容子集与在位于第一层级的网络单元可获得 的内容子集相比较;响应于所确定的内容子集与可获得的内容子集之间的 差异而生成适于修改可获得的内容子集的请求;以及,将所生成的请求传 播给位于内容分发网络的笫二层级的网络单元,其中所述第 一和第二层级 是不同的。如这里描述的那样,根据实施本发明的背景,所确定的内容子 集和可获得的内容子集可以包括任何信息,例如内容频道、内容对象等(其 可以更一般地在这里称作内容项)。
通过阅读下面结合附图的详细描述,可以更好地理解本发明的教学, 其中
图1示出了通信网络的高层框图2示出了包括从内容服务器至用户终端的内容分发(说明性地是广 播视频流的分发)的图1网络的高层框图3示出了才艮据本发明一个实施例的方法;和
图4示出了适于执行这里描述的至少一部分功能的通用计算机的高层 框图。
为了便于理解,附图中使用相同的参考符号来表示相同的元件。
具体实施例方式
尽管这里主要就从内容服务器向用户终端提供iptv广播电视频道的 iptv分发网络而进行了描述,然而本发明可以用于控制来自分层网络中 的网络单元的许多其他类型的信息的分发和可用性(例如流式传输音频内 容、视频点播内容、数据文件、软件补丁等,以及其各种组合)。换言之, 这里描述的本发明的关于流式传输广播电视频道的各种能力同样可以应用于分发上述其他信息的分层网络,由此控制从分层网络的网络单元可获的 所述其他信息的可用性和分发。图l示出了通信网络的高层框图。具体地,
图1的通信网络100包括内容服务器(cs) 102、内容分发网络(cdn) 110以及多个用户终端(st) 120广120n (总体为st 120) 。 cdn 110包括 多个利用多个通信链路(cl ) 114 (总体为cl 114 )通信的网络单元(ne ) 112r1127 (总体为ne112)。尽管主要就特定数目和配置的内容服务器、 网络单元和用户终端进行了描述,然而本发明可以使用其他数目和配置的 内容服务器、网络单元和用户终端。cs 102包括^f壬何适于通过cdn 110 提供内容给st120的服务器。在一个实施例中,cs102经由cdn100中 的网络单元(总体为ne 112)、作为内容流(其可以称作内容频道)而提 供内容给st 120。在一个这种实施例中,cs 102可以通过构成一个或多个 适于将内容频道的内容流式传送至st 120的组播树来提供内容频道上的 内容。在一个实施例中,cs 120提供内容给cdn ioo中的网络单元(说 明性地是ne 112),该网络单元可以緩存/存储该内容以分发给st 120。
容,例如数据、音频、视频等,以及其各种组合。例如,在一个cs 102 是iptv网络中的视频服务器的实施例中,cs 102流式传输关联于各个电 视频道的广播视频。st 120适于接收、处理及可选地呈现来自cdn 110 的内容。st120还适于向cdn110中的ne 112发起对信息的请求(例如 内容频道、vod^l频、软件补丁等)。例如,在iptv分发网络中,st120 可以发起电一见频道间的频道更改操作(例如从cbs到nbc )。例如,st 120 包括计算机、电视等,以及关联于这种用户终端的各种部件(例如用于计 算机的鼠标、监视器等,用于电视的遥控器、机顶盒等,以及其各种组合)。 st 120可以包括各种其他适于请求、处理及可选地呈现来自分层内容分发 网络的内容的用户设备。
cdn 110包括适于将来自内容服务器(说明性地是cs 102 )的内容分 发给用户终端(说明性地是st 120)的网络。ne 112包括任何适于促进 从cs 102至st 120的内容分发的网络单元。例如,ne112可以包括路由器、时分复用交换机、光交换机及类似的网络单元,以及其各种组合。类
似地,cl114可以包括任何适于在ne112之间传送内容的通信链路。ne 112用作内容选择点(以及可以更具体地称作频道选择点,因为本发明主 要是就iptv广播网络来描述的),其用于处理来自st 120的关于从cs 102 可获的内容的请求。
在一个实施例中,如参考图2所描述的那样,ne 112可以关于从cs 102至st 120的内容分发而被分层配置。参考图2可以更好地理解图1的 通信网络100作为分层内容分发网络的操作。此外,根据本发明,ne112 收集内容预测信息(其可以更具体地称作频道预测信息,因为本发明主要 就iptv广播网络而描述的)并且利用该内容预测信息修改从ne 112可获 的内容。参考图3可以更好地理解ne 112之一为获得预测信息以及使用 该预测信息来优化从ne 112可获的内容而进行的操作。
图2示出了通信网络(说明性地是图1的通信网络100)的高层框图, 该网络被配置成用作用于从内容服务器(说明性地是cs102)向频道选择 点(说明性地是ne112)分发内容频道的分层网络。尽管这里就分发内容 频道(例如流式传输iptv广播流)的分层网络进行了描述,然而根据本 发明的分层网络可以分发各种其他类型的信息(例如vod视频、数据文件、 软件补丁等,以及其各种组合),如这里描述的那样。
如图2所示,分层内容分发网络200被安排成树形层级,其中cs102 构成树根而st 120构成树叶。cs 102耦合到ne 112,。 cs 102耦合到ne 1122,该ne 1122又耦合到ne 1124和ne 1125。 ne 1124耦合到st 120,。 ne 1125耦合到st 1202和1203。 cs 102耦合到ne 1123,该ne 1123又耦 合到ne 1126和1127。 ne 1126耦合到st 1204。 ne 1127耦合到st 120n。 ne 112位于各个不同的层级。为了清楚地描述本发明,cs 102可以被看 作是在最高层级,而st 120可以被看作是在最低层级。类似地,距cs 102 比第二 ne 112更近(即就跳数而言)的第一 ne 112可以被看作是在比第 二ne 112更高的层级。
如图2所示,ne 1122和1123属于一个层级,其中cs 102构成ne 1122和1123之上的层级,而ne1124、 1125、 1126和1127构成ne 1122和1123 之下的层级。ne 1124、 1125、 1126和1127属于一个层级,其中ne 1122 和1123构成ne 1124、 1125、 1126和1127之上的层级,而st120构成ne 1124、 1125、 1126和1127之下的层级。尽管这里就通信网络200的特定层 级进行了描述,然而由于cdn 110的ne 112至少构成半网状网络(如这 里参考图1所描述的那样),通信网络200因而可以被配置成支持各种其 他层级,多个分层的叠加等,以及其各种组合。
如图2所述, 一组内容频道可从cs102获得,其中每个内容频道适于 利用合适的流式传输技术(例如利用ip数据流)将内容传送至st 120。 在一个实施例中,可从cs 102获得的内容频道可以被分发给ne 112以利 用组播流而递送至st 120,所述组播流可以利用各种组播能力而被建立、 #~改、端4妄及类似地净皮控制。cs 102和ne 112合作以在构成用于传送内 容至st 120的单独的内容流之前、将可从尽可能近的cs 102获得的内容 频道传送至st 120,由此减少了内容频道对网络资源的消耗以及降低了由 于内容频道更改请求而造成的时延。如这里描述的那样, 一组内容频道可 从cs 102获得。可从cs 102获得的内容频道子集响应于来自ne 112的 关于内容频道子集的请求而被提供给ne 112。由于内容频道是以分层的方 式从cs 102向下游提供的,因此如果内容频道可从第二层级(在第 一层级 之上)中的ne 112获得则该内容频道只能从第一层级中的ne 112获得。 在这种分层分发网络中,关于内容频道的请求4皮上行传送至cs 102直到这 种内容频道请求到达可从其获得所请求的内容频道的ne 112(或cs 102 )。 例如,假设可从cs102获得的一组内容频道包括五个内容频道a、 b、 c、 d和e。在这个例子中,假i殳内容频道a、 b和c,皮提供给ne 1122。在 这个例子中,ne 1124对内容频道<:的请求可以由ne 1122处理,然而, ne 1124对内容频道d的请求必须从ne 11224皮转发至cs 102。在这个例 子中,假设频道b、 c、 d和e被提供给ne 1123。在这个例子中,ne1127 对内容频道c的请求可以由ne 1123处理,然而,ne 1124对内容频道a 的请求必须从ne 1123被转发至cs 102。参考图2所述的示例性内容频道可以更好地理解通信网络200中的内容频道分发。
如图2.所示,内容频道202 (传送相关内容,例如流式传输广播电视 节目、流式传输广播无线电节目、sw补丁等,以及其各种组合)从cs102 被提供给ne1122。内容频道202从ne 1122被提供给ne 1125,以使得内 容频道202可从cs 102、 ne 1122和ne 1125获得,然而这假设内容频道 202最初没有从ne1122被提供给ne 1124。如图2所示,假设st12(h从 ne 1125请求内容频道202,而内容频道202可从ne 1125获得,ne1125 可以处理来自st 1202的请求,将关联于内容频道202的内容流式传输至 st 1202以递送至关联于st 1202的一个或多个用户。
关于内容频道202,还假设st 1202从ne 1124请求内容频道202,由 于内容频道202现在可从ne 1125获得,ne 1125因而处理该请求而不必将 对内容频道202的请求转发至ne 1122。关于内容频道202,还假设st 120, 从ne 1124请求内容频道202,由于内容频道202当前不可从ne 1124获得, 因此ne 1124将对内容频道202的请求转发给处理该请求的ne 1122。换 言之, 一旦内容频道被提供给ne 112以分发给一个st 120,从ne 112 请求该内容频道的其他st 120就可以由ne 112服务(无须对位于较高层 级的ne 112进4亍上行请求)。
如图2所述,内容频道204 (传送关联的内容,例如流式传输广播电 视节目,流式传输广播无线电节目等,以及其各种组合)从cs 102被提供 给ne1123。内容频道204从ne 1123被提供给ne 1126和1127,以使得内 容频道202可从cs 102、 ne1123、 ne 1126和ne 1127获得。如图2所示, 假设st 1204和120n分別从ne 1126和1127请求内容频道204, ne 1126 和1127可以处理分别来自st 1204和120n的请求(无须向ne 1123上行发 起关于提供内容频道204的请求)。ne 1126和1127将关联于内容频道204 的内容传输至st 1204和120n以呈递给关联于st 1204和120n中每一个的 一个或多个用户。
从这里对内容频道202和204的讨论可知,提供源自尽可能接近于st 120的cs 102的内容频道的各种优点变得清楚。由于内容频道202是在来自st 1202的关于内容频道202的请求之前、从ne 1122被提供给ne 1125 的,因此st 1202是由ne 1125服务的而不是由ne 1122 (其需要通过多条 链路传输内容频道202 ),由此减少了服务来自st12(h的请求所消耗的网 络资源。由于来自st 1204和120n的关于内容频道204的请求是由与st 1204和120n直接逸接的ne 1126和1127处理的,而来自st12(h的关于内 容流202的请求是由ne 1122处理的(即该请求被转发给ne 1122,因为 内容频道202不可从ne 1125获得),因此st 1204和120]n的用户所经历 的频道选择时延要小于st 1202的用户所经历的时延。
在下文中,由于从尽可能接近用户终端的频道选择点处理对内容频道 的请求是有益的,因此对(从一组可从内容服务器获得的频道中选出的) 在频道选择点可用的频道子集进行优化是有益的,这是因为这种优化增加 了用户终端请求的内容频道是由接近于用户的频道选择点来处理(而不是 被上行转发至距用户较远的频道选择点)的可能性。本发明实现了对在给 定频道选择点可用的频道子集的优化。参考图3可以更好地理解ne 112 在选择从该ne 112可用的频道子集时所进行的操作。
类似地,关于本发明的更宽泛应用,由于从尽可能接近于用户终端的 内容选择点处理对任何内容(即不仅仅从iptv广播电视网络中的频道选 择点处理频道请求)的请求是有益的,优化在内容选择点可用的内容子集 (例如内容频道(例如流式传输视频或音频频道)、内容对象(例如点播 内容(例如视频点播、音频点播等)、数据文件、软件补丁等)等等,以 及其各种组合)因而是有益的,这是因为这种优化增加了用户终端所请求
的内容由接近于用户的内容选择点来处理(而不是被上行转发至离该用户 较远的内容选择点)的可能性。换言之,本发明实现了对在给定内容选择 点(或更宽泛地说是内容分发点或信息分发点)可用的内容项(或更宽泛 地说是内容或信息)子集的优化。
此外,尽管为了清楚而在图2上省略,层级的不同分支中的ne 112 (在层级中的同一级以及不同级)可以为了共享由每个ne在选择从cs 102可获得内容子集(例如内容频道、内容对象及类似的内容项)时使用的预测信息(例如频道预测信息)而进行通信。例如,尽管ne 1125与1126 之间的通信在通信网络200中被省略(因为通信网络200是分层表示的通 信网络ioo,即网状网络),然而ne 1125与1126可以为了交换频道预测 信息而通信。参考图3可以更好地理解ne 112在从其他ne 112和st 120 获得频道预测信息时所进行的操作。
图3示出了才艮据本发明一个实施例的方法。具体地,方法300包括用 于使得网络单元(说明性地是内容频道选择点)能够确定可从内容服务器 获得的频道子集的方法,该频道子集应当可从该网络单元获得。尽管主要 就内容频道选择点和相关内容频道进行了描述,然而方法300可以更宽泛 地应用于使得内容选择点(其可以更一般地称作内容分发点或信息分发点) 能够确定从内容服务器可获的内容子集。尽管这里主要按照顺次执行而进 行了描述,然而方法300的各步骤中的至少一部分可以同时执行、或以与 图3所示不同的顺序执行。方法300开始于步骤302并且进行到步骤304。
在步骤304,收到频道预测信息。该频道预测信息由频道选择点(说 明性地是ne 112之一)接收。在一个实施例中,频道选择点可以自动接 收各种形式的频道预测信息,或可由频道选择点处理以生成相关频道预测 信息的其他信息。在一个实施例中,频道选择点可以从各种其他网络单元 (例如用户终端、其他频道选择点、其他网络单元等,以及其各种组合) 请求各种形式的频道预测信息。
如这皇所描述的,频道选择点处理该频道预测信息以确定应当在该频 道选择点可用的一组内容频道。应当在该频道选择点可用的这组频道包括 可从一个或多个内容服务器(说明性地是内容服务器102)获得的内容子 集。该频道预测信息(包括频道预测信息源、频道预测信息类型等,以及 其各种组合)在下文中将被详细描述。
在一个实施例中,频道预测信息可以从频道选择点本地获得(即从针 对其而确定频道子集的频道选择点)。在一个实施例中,从频道选择点本 地获得的频道预测信息的至少一部分包括由频道选择点接收(例如接收自 用户终端、频道选择点、管理系统等以及其各种組合,如这里所描迷的)和存储的频道预测信息。在一个实施例中,从频道选择点本地获得的频道
预测信息的至少一部分包括由频道选择点(例如通过处理由频道选择点收
集的原始信息、接收自其他网络单元的原始信息等,以及其各种组合)本
地确定的频道预测信息。
在一个实施例中,频道预测信息可以由频道选择点利用由该频道选择
点收集的其他信息来本地确定。在一个实施例中,频道预测信息可以由频
道选择点利用由该频道选择点收集的趋势数据来确定。在一个实施例中,
由频道选择点收集的、用于确定频道预测信息的趋势数据可以包括在该频
道选择点接收的频道选择请求(例如接收自用户终端、其他频道选择点等
的频道选择请求,以及其各种组合)。尽管这里就由频道选择点收集和处
理的特定趋势数据进行了描述,然而各种其他形式的趋势数据可以由频道 选择点收集和处理以生成频道预测信息。
在一个实施例中,频道预测信息可以在频道选择点从关联于该频道选 择点的用户终端^皮接收。在一个实施例中,用户终端发送频道喜好信息给 频道选择点(例如与用户终端直接关联的频道选择点、在每个用户终端与 内容服务器之间的分发路径中的所有频道选择点等等)。在一个实施例中, 用户终端周期性地发送频道喜好信息给一个或多个频道选择点。在一个实 施例中,用户终端响应于对频道喜好信息的一个或多个请求而发送频道喜 好信息给一个或多个频道选择点。
在一个实施例中,接收自用户终端的频道喜好信息包括处理的喜好信 息(例如频道喜好得分,其可以用来就喜好对一个或多个频道分级,由用 户终端利用由用户终端收集的原始频道喜好信息来计算)。在一个实施例 中,接收自用户终端的频道喜好信息可以包括(除了或代替处理的频道喜 好信息)原始频道喜好信息。在一个这样的实施例中,频道选择点处理原 始频道喜好信息以生成适合用作频道预测信息的频道喜好得分。
在一个实施例中,由用户终端收集的原始频道喜好信息包括一组或多 组由用户终端的一个或多个用户配置的用户喜好(例如"最喜爱频道,,列 表)。在一个实施例中,由用户终端收集的频道喜好信息包括由用户终端的一个或多个用户所做出的选择。在一个这样的实施例中,这种选择信息 可以包括频道选择趋势数据,该数据例如基于用户切换至特定频道所持续 的时间、用户通过关联于用户终端的用户接口选择特定频道的次数、指示
由用户安排的、待利用相关数字视频录像机(dvr)被记录的节目的信息 等等,以及其各种组合。尽管就特定频道选择趋势数据进行了描述,然而 各种其他形式的频道选择趋势数据可以由用户终端收集以递送至频道选择 点。
在一个实施例中,频道预测信息可以在频道选择点从一个或多个其他 频道选择点被接收。由第一频道选择点从第二频道选择点接收的频道预测 信息可以包括与当前可从该第二频道选择点获得的内容频道相关联的信 息、与被安排成将来可从该第二频道选择点获得的内容频道相关联的信息、
由该第二频道选择点获得的部分频道预测信息等等,以及其各种组合。如 这里所描述的那样,由频道选择点从其他频道选择点获得的频道预测信息 可以从网络层级中的各个不同的层级的频道选择中获得。
在一个实施例中,频道预测信息可以在频道选择点从一个或多个层级 中较低的频道选择点被接收(在层级同 一分支内以及来自层级的不同分 支)。由于频道请求被上行传送,处理来自层级中较低的其他频道选择点 的请求的频道选择点可以提供与最可能被层级中较低的一个或多个频道选 择点请求的内容频道有关的有价值的信息。例如,ne 1122可以受益于从 ne 1124和1125 (在层级中的同一分支内)以及从ne 1126和1127 (在层 级中的不同分支中)接收频道预测信息。
在一个实施例中,频道预测信息可以在频道选择点从一个或多个层级 中同 一级别的频道选择点被接收(在层级同 一分支内以及在层级不同分支 中)。由于频道请求趋势可能跨地理区域而是相似的,因此位于层级内同 一级别的频道选择点可以提供与最可能被关联于该频道选择点的用户终端 (或层级中较低的其他频道选择点)请求的内容频道有关的有价值的信息。 例如,ne 1124可以受益于从ne 1125、 1126和1127接收频道预测信息, ne 1122可以受益于从ne 1123接收频道预测信息等等。例如,假设ne 1125和1126服务于美国东部的用户,ne 1125和1126 可能检测到对于东部夏令时(edt)下午8点播出的特定节目的未预期的 大量请求。在这个例子中,还假设ne1122和1123服务于美国西部的用户, ne 1125和1126可以(自动地,或响应于分别来自ne 1122和1123的请求) 提供指示对该节目的未预期大量请求的预测信息给ne 1122和1123。在这 个例子中,ne 1122和1123然后可以使用接收自ne 1125和1126的预测信 息以及各种其他预测信息,如这里描述的那样,以确保播放该节目的电视 频道可以在要在美国西部播出的节目播出的时候从ne 1122和1123获得。
在一个实施例中,频道预测信息可以在频道选择点从一个或多个与分 层内容分发网络关联的其他系统被接收。在一个这样的实施例中,频道预 测信息可以从一个或多个关联于分层内容分发网络的管理系统被接收。例 如,频道预测信息可以包括接收自管理系统的节目安排,指示对特定内容 频道的请求的信息(例如由一个或多个管理系统在与内容分发网络的频道 选择点通信时来确定、由一个或多个管理员通过一个或多个管理系统来输 入等等,以及其各种组合)。
除了上面描述的不同频道预测信息之外,其他信息也可以由频道选择 点接收和处理以确定最佳的内容频道子集。例如,频道预测信息可以包括 电视节目安排、本地和/或地区特征(例如稳定的频道喜好偏爱)、测量的 频道选择可能性(例如在整个频道选择点上、在所选择的与频道选择点关 联的客户端链路上,等等)、所观测的频道选择设置(例如在不同的日期 和时间)、频道选择概率、其他频道选择点为选择高效网络路径而采用的 阈值等等,以及其各种组合。
在一个实施例中,频道预测信息可以,皮用来创建频道预测历史配置文 件。例如,频道预测历史配置文件可以针对特定时期,皮创建(例如在每天 的美国东部时间下午8点到9点、在星期二的美国东部时间下午8点到9 点、在每月第二个星期三的下午1点到3点,等等,以及其各种组合)。 在一个实施例中,新的频道预测历史配置文件可以利用一个或多个之前创 建的频道预测历史配置文件和/或其他频道预测信息而纟皮创建。在一个实施例中,之前创建的历史配置文件可以利用近期收集的频道预测信息而被更 新。
尽管主要就频道预测历史配置文件进行了描述,然而由于其他预测历 史配置文件也可以被创建"艮据所分发的内容),频道预测历史配置文件 因而可以更一般地称作内容预测历史配置文件。换言之,内容预测历史配 置文件可以是针对各种不同类型的内容或信息中的任一种而^皮确定的历史 配置文件,包括内容频道(例如广播视频频道或音频频道)、内容对象(例 如点播内容(例如视频点播、音频点播等)、数据文件、软件补丁等)等 等,以及其各种组合。
在一个实施例中,频道预测信息可以由内容分发网络中的各种部件利 用一个或多个适合的学习算法来连续地交换和处理。在一个实施例中,这 种适合的学习算法能够自动地处理、分析和关联各种形式的频道预测信息, 以及可被转换成频道预测信息的原始数据,从而持续地优化可从内容分发 网络中的频道选择点获得的频道子集。在一个实施例中,合适的学习算法 可以按照频道预测信息的至少一部分而被修改。
在步骤306中,第一频道子集利用频道预测信息(其可以可选地称作 所确定的频道子集)而被确定。第一频道子集包括应当在频道选择点可用 的频道(以分发给其他用户终端或者在分发层级中位于该频道选择点之下 的一个或多个其他频道选择点)。第一频道子集中包含的内容频道的数目 可能受限于若干因素,包括针对其而确定第一频道子集的频道选择点的能 力、通过其而提供内容频道给频道选择点的分发网络的能力和类似的因素, 以及其各种组合。
在 一个实施例中,为了确保当前可从频道选择点获得的内容频道在重 新配置可从该频道选择点获得的频道之后继续可从该频道选择点获得,当 前可从该频道选择点获得的内容频道可以自动包含于第一频道子集中。在 一个这样的实施例中,包含于第一频道子集中的附加内容频道可以包括可 从一个或多个服务于该频道选择点的内容服务器获得的任何其他内容频 道。在一个实施例中,应当在频道选择点可用的内容频道子集包括最可能 关联于频道选择(或直接关联于频道选择点,或经由一个或多个其他位于 该频道选择点与用户终端之间的频道选择点而间接关联于该频道选择点) 的用户终端所请求的频道。在一个这样的实施例中,按照对从内容服务器 可获得的每个频道的预期请求来确定频道子集,其中对从内容服务器可获 的每个频道的预期请求是利用频道预测信息来被确定的。
在一个实施例中,预期请求(或其他类似测量或类似测量的组合,例 如内容频道被选择的概率、预期请求内容频道的用户终端数目等等,以及 其各种组合)是针对该频道选择点可用的每个内容频道(即针对从服务于 网络的内容服务器可获得的整个内容频道集合中的每个内容频道)来被确 定的。在一个这样的实施例中,应当在频道选择点可用的内容频道子集包 括具有最高预期请求内容频道。在这个实施例中,为包含于频道子集中而 选出的内容频道的数目等于(或可能小于)频道选择点能够支持的频道数 目。
在一个实例中,假i殳五个内容频道可从cs102获得(内容频道a、 b、 c、 d和e),在这个例子中,假设内容频道优化方法300由ne 1125执行, 还假设关联于ne 1125的用户当前没有请求任何频道。利用频道预测信息, ne 112s可以确定对内容频道a、 b、 c、 d和e的预期请求(例如就预期 请求该内容频道的用户终端数目而言)分别是120、 97、 42、 232和68。 在这个例子中,4叚设ne 1125能够支持三个内容频道,由ne112s标识的 第一频道子集包括内容频道a、 b和d。
在另一个例子中,其中另一测量被用来评估用于包含于应当可从ne 1125获得的第一频道子集内的内容频道,假设五个内容频道可从cs 102 获得(内容频道a、 b、 c、 d和e)。在这个例子中,^i殳内容频道优化 方法300由ne 1125来执行,并且假设两个内容频道(a和c)当前可被 提供给关联于ne 1125的用户。在这个例子中,假设内容频道是按照每个 内容频道被一个或多个用户请求的预期概率来被评估的,并且ne 1125利 用频道预测信息来计算分别针对内容频道a、 b、 c、 d和e的预期概率100%、 62%、 100%、 87%和45% (其中内容频道a和c的预期概率为 100。/。是因为这两个频道当前正被提供给关联于ne112s的用户终端)。在 这个例子中,假i殳ne 1125能够支持三个内容频道,由ne112s标识的第 一频道子集包含内容频道a、 c和d。
在一个实施例中,频道子集可以包括频道选择点能支持的最大频道数 目。在其他实施例中,可以用另一种方式来确定要包含于频道子集中的频 道数目。在一个实施例中,例如,可以确立阈值用来确定要包含于频道子 集中的内容频道数目(例如与预期请求、选择概率和其他可用于评估待包 含于频道子集中的内容频道的类似测量有关的阈值)。在这个实施例中, 用于评估待包含于频道子集中的内容频道的基于测量的阈值可以与频道选 择点能够支持的频道阈值数目相结合地被使用(例如以使得针对包含于频 道子集中而选出的内容频道数目不超出频道选择点的能力)。
在步骤308,标识第二频道子集(其也可以可选地称作可选频道子集)。 该第二频道子集由频道选择点标识。在一个实施例中,该第二频道子集包 括当前可从频道选择点获得的频道。在一个实施例中,当与数据帧有关的 频道在频道选择点被接收时认为该频道是可获得的。在另一实施例中,当 与数据帧有关的频道仅在频道选择点被部分地接收时认为该频道是可获得 的。在另一个实施例中,当未接收到与数据帧有关的频道但是缺陷指示信 号通知缺陷阻止了与数据帧有关的频道的接收时,认为该频道是可获得的。 尽管就指示频道被认为是可获得的特定条件进行了描述,然而在各种其他 条件下也可以认为频道是可获得的。
在步骤310,就第一频道子集和第二频道子集是否不同而做出判定。 如果第一频道子集和第二频道子集是相同的,则第二频道子集包括第一频 道子集中标识的每个内容频道,并且因此方法300进行到步骤326,在该 步骤方法300结束。如果第一频道子集和第二频道子集不同,则第二频道 子集不包括第一频道子集中标识的每个内容频道,并且因此方法300进行 到步骤312。
继续描述上面的例子,其中预期请求被用来评估待包含于第一频道子集中的内容频道,ne 1125所标识的第二频道子集是空集(因为在之前的 例子中,当前没有内容频道可从ne 1125获得)。在这个例子中,由于第 二频道子集不包括任何内容频道,并且第一频道子集包括内容频道a、 b 和d,第一和第二频道子集之间的差异因而包括内容频道a、 b和d。 ne 112s可以修改可从ne 1125获得的第二频道子集以包含内容频道a、 b和 d。参考图3的步骤312至328可以更好地理解用于修改可从频道选择点 (例如ne 1125)获得的内容频道的过程。
继续描述上面的例子,其中预期概率被用来评估待包含于第 一频道子 集中的内容频道,由ne 112s标识的第二频道子集包括内容频道a和c。 在这个例子中,由于第二频道子集包括内容频道a和c,并且第一频道子 集包括内容频道a、 c和d,第一和第二频道子集之间的差异包括内容频 道d。ne 1125可以修改可从ne 112s获得的第二频道子集以包含内容频道 d (除了已经从ne 112s可获的内容频道a和c之外)。参考图3的步骤 312至328可以更好地理解用于修改可从频道选择点(例如ne 1125)可获 的内容频道的过程。
在步骤312,就是否存在频道选择点可用的足够传输带宽而做出判定 (即可用来支持可能包含比第二频道子集更多数目的频道的第一频道子集 中的每个频道,该第二频道子集包括当前可从频道选择点获得的频道)。 如果不存在足够的传输带宽,则方法300进行到步骤318,在该步骤频道 选择点尝试获得附加的传输带宽,如下文描述的那样。如果存在足够的传 输带宽,则方法300进行到步骤314。
在步骤314,就可用于频道选择点的传输带宽(即可用来支持第二频 道子集中的每个频道)是否过大(即存在超出支持第二频道子集中的频道 所需的传输带宽)而做出判定。如果可用于频道选择点的传输带宽并未超 量,则方法300进行到步骤322,在该步骤生成适于修改第二频道子集的 完整请求。如果可用于频道选择点的传输带宽过大,则方法300进行到步 骤316。
在步骤316,频道选择点发起对释放未使用传输带宽的尝试。在一个实施例中,对释放未使用传输带宽的尝试是通过向 一个或多个能降低可用 于频道选择点的带宽的系统(例如一个或多个管理系统)发起请求来进行
的。从步骤316开始,方法300进行到步骤322,在该步骤生成适于修改 第二频道子集的完整请求。尽管所描述的对释放未使用传输带宽的尝试的 发起是在生成用于修改第二频道子集的请求之前进行的,然而由于第二频 道子集的修改并不取决于未使用传输带宽的释放,因此在其他实施例中, 频道选择点可以在生成和发起用于修改第二频道子集的请求的同时(或甚 至可能是之后)、发起降低传输带宽的请求。
在步骤318,进行对于获得附加传输带宽的尝试(即增加可用于频道 选择点的传输带宽量以使得该频道选择点能够接收第一频道子集中标识的 全部频道,该第 一频道子集可能包括比当前可从频道选择点获得的第二频 道子集中所标识的更多的频道)。在一个实施例中,对获得附加传输带宽 的尝试是通过向一个或多个适于分配附加带宽以支持附加内容频道的系统 (例如一个或多个管理系统)发起请求来实现的。方法300从步骤318进 行到步骤320。
在步骤320,就是否获得附加传输带宽而做出判定。如果获得附加传 输带宽,则方法300进行到步骤322,在该步骤生成适于修改第二频道子 集的完整请求。由于已获得所需要的带宽,该完整请求因而包括对第一频 道子集中所标识的、未在第二频道子集中的所有内容频道的请求。如果未 获得附加传输带宽,则方法300进行到步骤324,在该步骤可以生成适于 修改第二频道子集的部分请求。由于还未获得所需要的带宽,因此该部分 请求包括对第 一频道子集中所标识的、未在第二频道子集中的内容频道中 的一部分的请求。方法300从步骤322和324进行到步骤326。
由频道选择点生成适于修改第二频道子集的请求(即,如果必需带宽 可用于频道选择点则是"完整"请求;如果必需带宽中仅有一部分可用于 频道选择点则是"部分"请求)。该请求是针对上游频道选择点的(或如 果内容服务器是该频道选择点的父节点,则最终是内容服务器)。如这里 描述的那样,所述请求可以包括关于添加一个或多个内容频道至当前被提供给频道选择点的内容频道列表中(即修改当前可从频道选择点获得的第 二频道子集)的请求。
例如,假设频道选择点当前支持每个都具有10 mbps的平均数据速率 的四个频道(a、 b、 c和d),以使得在使用具有50mbps容量的stsl 传输容器的频道选择点可使用40mbps。如果(利用频道预测信息确定的) 笫一频道子集指示频道e、 f、 g、 h和i (每个也具有10mbps的平均数 据速率)也应当可从该频道选择点获得(除频道a、 b、 c和d之外), 而附加频道e可以通过现有sts1传输容器中的剩余10 mbps容量来支持, 则频道选择点可以请求提供第二 50 mbps的sts1传输容器来支持附加的 频道f、 g、 h和i。
继续描述这个例子,假设频道选择点向关联于该频道选择点的 dslam发起对第二 sts1容器的请求,则dslam能够或者不能够提供 所请求的sts1传输容器。如果dslam可以提供该第二 sts1容器,则 频道选择点将生成对完整的附加频道集合的请求,即频道e、 f、 g、 h和 i (即称作"完整"请求)。如果dslam不能提供第二sts1容器,则频 道选择点将生成对于可由现有sts1传输容器支持的附加频道的一部分的 请求,即对于频道e、 f、 g、 h和i之一的请求(即称作"部分"请求), 因为仅有一个附加频道可以由现有sts1传输容器支持。如这里关于步骤 326和328描述的那样,频道选择点可以请求附加的一个或多个频道。
尽管主要就这样的实施例进行了描述其中(l)现有带宽足以支持每 个附加频道、(2)获得附加带宽以使之能够支持每个附加频道、或(3) 现有带宽足以支持附加频道中的至少一个(其中附加带宽不能由频道选择 点立即获得),然而在其中现有带宽不足以支持甚至是一个附加频道并且 附加带宽不能由频道选择点获得的实施例中,频道选择点不生成适于修改 第二频道子集的请求(即方法300结束而不生成和发送请求)。
在步骤326,所生成的请求(即或者是"完整"请求、或者是"部分" 请求)^c上行发送给至少另一个节点。该至少另一个节点可以包括在该频 道选择点上游的一个或多个频道选择点或者一个或多个内容服务器(如果该频道选择点与分发层级中的一个或多个内容服务器相邻)。如这里描述 的那样,如果该请求不能由接收该请求的第一频道选择点处理,则该第一 频道选择点将该请求上行转发给另一频道选择点,等等,直到该请求到达 能处理它的频道选择点(或内容服务器)。
在步舉328,在所生成的请求中指定的所请求的一个或多个内容频道 在频道选择点被接收。当在生成和发送该请求的频道选择点收到所请求的 一个或多个内容频道时,该一个或多个内容频道变得在处理请求(例如来 自用户终端的请求,以及可能地来自其他频道选择点的请求,这取决于这 个频道选择点在层级中的位置)的这个频道选择点可用。此外,如果该请 求包含关于丢弃一个或多个内容频道的请求,则所丢弃的一个或多个内容 频道不再能够从响应请求的这个频道选择点获得。在步骤330,方法300 结束。
尽管就单个请求进行了描述,然而可以由内容选择点生成和发送多个 请求(例如由这里参考图3描述的频道选择点)。在一个实施例中,多个 请求可以被生成以发送给单个上行节点(即频道选择点或内容服务器)。 在一个实施例中,多个请求可以被生成以传送给一个或多个上行节点(即 一个或多个频道选择点, 一个或多个内容服务器等等,以及其各种组合)。
尽管就其中请求附加传输带宽的实施例进行了描述,然而在其他实施 例中,内容选择/分发点(例如这里参考图3描述的频道选择点)可以评估 在附加带宽可用于支持分发附加内容之前应当可从内容选择点获得的内容 (例如内容频道、内容对象和类似的内容项或其他信息,这取决于本发明
的应用)。在所述实施例中,附加传输带宽可以;陂安排成在将来变为可用, 而不是实时地提供附加传输带宽。在附加传输带宽变为可用之后,内容选 择点可以请求频道流式传输,如这里描述的那样。
尽管未就可以执行内容预测的时期进行描述,然而本发明可以用来确 定在内容选择点对于任何时期都可用的内容子集(例如内容频道、内容对 象和类似内容项或其他信息,这取决于本发明的应用)。在一个实施例中, 本发明可以用于执行可从内容选择点获得的内容子集的实时优化。在一个实施例中,本发明可以用来安排将来可从内容选择点获得的将来的内容子 集。确定内容安排的时期可以是任何时期,例如一秒、 一分钟、 一小时、 一天、 一星期、 一个月等,以及其各种组合。
如这里描述的那样,本发明可以用于对可从频道选择点获得的内容子 集(例如内容频道、内容对象和类似内容项)进行实时优化。在这个实施
例中,步骤310至328可以在步骤304、 306和308之后被立即执行。这样, 内容选择点可以(例如利用至上游内容选择点的一个或多个请求)被修改 以使得当前被确定为最佳的内容集合变得当前可从内容选择点获得。例如, 内容选择优化算法300可以每秒执行一次、每分钟执行一次、每小时执行 一次、每天执行一次、每星期执行一次、每月执行一次等等。
如这里描述的那样,本发明可以用来安排可从频道选择点获得的将来 的内容频道子集。在这个实施例中,步骤310至324可以;陂安排成在步骤 304、 306和308之后的特定时间执行。这样,频道选择点可以(例如利用 至上游内容选择点的一个或多个请求)被修改以使得在将来时期被认为是 最佳的内容频道集合变得可在将来时期从该频道选择点获得。将来时期可 以是任何时间长度,例如一小时、 一天、 一星期、 一个月等,以及其各种 组合。尽管主要就确定在单个内容选择点可用的内容子集进行了描述,然 而内容选择优化算法300可以在分层内容分发网络中的多个内容选择点被 执行,以使得能够以趋于作为自优化神经网络的形式操作分层内容分发网 络的方式、来执行内容选择点之间的关于内容预测信息、可获的/安排的内 容信息等以及其各种组合的通信,由此导致了跨分层内容分发网络的内容 可获性的持续优化。
尽管这里主要描述成由内容分发层级中的网络单元(即例如ne 112 的内容频道选择点)执行,然而在其他实施例中,这里描述的由分层内容 分发网络中的网络单元执行的各种不同的功能可以由一个或多个与分层内 容分发网络关联的管理系统来执行。在一个这样的实施例中,管理系统可 以使用内容预测信息来确定应当在分层内容分发网络中的各网络单元可获 的内容子集。在这个实施例中,管理系统可以分发所确定的内容子集(例如内容频道、内容对象和类似内容项)给各个网络单元,由此使得网络单 元能从其他网络单元请求标识的内容,如这里描述的那样。
尽管主要就流式传输广播内容(例如广播音频流、广播iptv视频流 和类似流式传输内容)进行了描述,然而在其他实施例中,本发明可以用 来提供其他类型信息的改进的分发和可获性,包括部分流式传输的内容(例 如内容从服务器被流式传输至网络緩存器且从网络緩存器被流式传输至用 户以使得数据it^网络緩存器的读取时间不同于数据离开网络緩存器的写 入时间,例如iptv视频点播内容)、非流式传输内容(例如数据文件、 软件补丁和其他内容对象),等等,以及其各种组合。本发明可以被用来 控制任何类型网络内的任何网络单元的任何类型信息的可获性。
在一个实施例中,提供改进的其他类型信息的分发可以包括一种用于 控制可从位于网络第一层级的内容分发节点(更一般地称作信息分发节点/ 点)获得的信息的方法,该方法包括利用内容预测信息确定内容对象子 集;比较所确定的内容对象子集与对于位于第一层级的网络单元可获的多 个内容对象;响应于所确定的对象子集和可获得的对象子集之间的差异而 生成适于修改可获得的内容对象的请求;以及向位于内容分发网络中的第 二层级的网络单元传播请求,其中所述第一和第二层级是不同的。所述内 容对象(更一般地是信息对象)可以包括任何非流式传输内容(例如数据 文件、软件补丁等,以及其各种组合)。
在一个这样的实施例中,即例如通过确定多个软件补丁(例如 microsoft windows xp软件补丁、 microsoft windows 2000软件补丁 等)中的哪些补丁最有可能被不同的用户(利用软件补丁预测信息)请求 或要求来提供改进的其他类型信息(即除广播iptv内容流之外)的分发, 最有可能被用户请求或要求的那些软件补丁可以被分发给最接近于用户的 内容选择点(其可以可选地在本说明书中称作信息分发点)。尽管主要就 软件补丁进行了描述,然而各种其他类型的信息可以利用本发明而被分发。
如这里描述的那样,本发明提供对现有信息分发网络的改进。本发明 增加了用户满意度,因为对频道的请求可以以更高的成功概率和减少的时延而被处理。本发明增加了网络效率和稳定性,因为只有较少的频道请求 必须被上行转发至位于较高内容分发层级的频道选择点,并且由频道选择 点按照频道预测信息发起的频道请求可以在所述频道被用户终端请求的实 际时间之前^j1起。此外,本发明带来了对内容频道在所有地理范围内的 优化分发。
图4示出了适于执行这里描述的功能的通用计算机的高层框图。如图 4所示,系统400包括处理器元件402 (例如cpu )、存储器404 (例如随 机访问存储器(ram)和/或只读存储器(rom))、内容频道评估才莫块 405和各种输入/输出设备406 (例如存储设备,包括但不限于磁带机、软 盘驱动器、硬盘驱动器或光盘驱动器、接收器、发送器、扬声器、显示器、 输出端口以及用户输入设备(例如键盘、键区、鼠标等))。
本发明可以例如利用专用集成电路(asic)、通用计算机或任何其他 等效硬件来以软件和/或软件和硬件的組合而实现。在一个实施例中,所述 内容频道评估模块或处理器405可以被栽入存储器404并且由处理器402 执行以实现上述各个功能。因此,本发明的内容频道评估处理器405 (包 括关联的数据结构)可以被存储在计算机可读介质或载体中,例如ram 存储器、磁盘机或光驱或磁盘等。
尽管这里已经详细显示和描述了包含本发明教学的各种实施例,然而 本领域技术人员可以容易地设想也包含这些教学的许多其他变型实施例。
权利要求
1.一种用于控制在位于内容分发网络中第一层级的网络单元可获得的内容的方法,包括利用频道预测信息确定频道子集;将所确定的频道子集与在位于所述第一层级的网络单元可获得的频道子集相比较;响应于所确定的频道子集与所述可获得的频道子集之间的差异而生成适于修改所述可获得的频道子集的请求;和将所述请求传播至位于所述内容分发网络中第二层级的网络单元,其中所述第一和第二层级是不同的。
2. 根据权利要求1所述的方法,其中,所述频道预测信息包 括至少一个频道预测历史配置文件。
3. 根据权利要求1所述的方法,其中,所述频道预测信息的 至少一部分是利用学习算法被确定的。
4. 根据权利要求1所述的方法,其中,所述频道预测信息的 至少一部分是从与位于所述第一层级的网络单元相关联的多个用 户终端被接收的,或者是根据接收自与位于所述第 一层级的网络 单元相关联的多个用户终端的趋势信息而被确定的。
5. 根据权利要求1所述的方法,其中,确定所述第一频道子 集包括利用所述频道预测信息计算可从关联于所述内容分发网 络的内容服务器获得的多个频道中的每一个的得分;以及利用所 计算的得分来选择可从所述内容服务器获得的频道中的至少一 个。
6. 根据权利要求1所述的方法,还包括响应于对于可用来 支持所确定的频道子集中的每个频道的传输带宽不足的确定,请 求附加传输带宽。
7. 根据权利要求6所述的方法,还包括响应于附加传输带 宽被提供而生成完整请求,该完整请求标识了包含于所确定的频 道子集中而未包含于所述可获得的频道子集中的频道中的每一个;或者响应于附加传输带宽不可获得而确定是否生成部分请求, 该部分请求标识了包含于所确定的频道子集中而未包含于所述可 获得的频道子集中的频道的一部分。
8. 根据权利要求1所述的方法,还包括响应于对于可用来 支持所确定的频道子集中的每个频道的传输带宽过大的确定,请 求释放未使用的传输带宽。
9. 一种用于控制在位于内容分发网络中第一层级的网络单 元可获得的频道的设备,包括用于利用频道预测信息确定频道 子集的装置;用于将所确定的频道子集与在位于所述第一层级的 网络单元可获得的频道子集相比较的装置;用于响应于所确定的 频道子集与所迷可获得的频道子集之间的差异而生成适于修改所 述可获得的频道子集的请求的装置;和用于将所述请求传播至位 于所述内容分发网络中第二层级的网络单元的装置,其中,所述 第一和第二层级是不同的。
10. —种用于控制从位于网络的第一层级的信息分发点可获 得的信息的方法,包括利用内容预测信息确定内容项子集;将 所确定的内容项子集与从位于所述第一层级的网络单元可获得的 内容项子集相比较;响应于所确定的内容项子集与所述可获得的 内容项子集之间的差异而生成适于修改所述可获得的内容项子集 的请求;和将所述请求传播至位于所述内容分发网络中第二层级 的网络单元,其中所述第一和第二层级是不同的。
全文摘要
本发明包括一种用于控制在位于内容分发网络中第一层级的网络单元(1121,…,1127)可获得的信息的方法和设备。所述方法包括利用内容预测信息确定内容子集;将所确定的内容子集与在位于所述第一层级的网络单元可获得的内容子集相比较;响应于所确定的内容子集与所述可获得的内容子集之间的差异而生成适于修改所述可获得的内容子集的请求;和将所述请求传播至位于所述内容分发网络中第二层级的网络单元,其中所述第一和第二层级是不同的。所述内容可以包括适于从服务器(102)被分发给用户终端(1201,…,120n)的任何信息(例如广播多媒体内容、点播内容、非流式传输内容(例如文件和软件补丁)等等,以及其各种组合)。
文档编号h04l29/06gk101529863sq200780040225
公开日2009年9月9日 申请日期2007年10月12日 优先权日2006年10月30日
发明者c·赫尔姆斯梅尔, d·斯托尔, w·托马斯 申请人:朗讯科技公司