用于内容通信的系统和方法

文档序号:7680970阅读:119来源:国知局
专利名称:用于内容通信的系统和方法
技术领域
本发明通常涉及网络通讯,更具体地,涉及经由网络的诸如一见 频信息的内容通信。
背景技术
在诸如视频点播(VOD )系统的响应客户需求的通信内容的大 型系统中,服务器带宽已经被视为主要的瓶颈。为每一个客户开放 一个信道很快就耗尽服务器带宽并且不可升级。为了保存服务器带 宽,i午多用户可以利用多4番(multicast)共享一个4言道。
多播有两种周期性广播和非周期性多播。在周期性广播的环 境中,服务器不等待服务请求。服务器循环广播内容。在视频内容 的情况下,循环广纟番不能保i正真正意义上的VOD。循环广纟番确实 保存(keep) 了特定限制内任何一个客户端体验过的最坏服务等待 时间。事实上,带宽需求不受系统用户数量的约束。然而周期性广 播的益处局限于诸如流行视频的经常需求的内容上。
对于诸如不太流行的视频的非经常需求的内容,可以使用非周 期性多播。在非周期性多播的环境中,用户向服务器发送内容请求, 服务器根据一些调度策略来为他们提供服务。被称作补丁的技术允 许新引入的请求加入正在进行的多播并且因此利用相同数据流。非 周期性多播方法可以提供真正的VOD服务。然而,这种方法,包括那些采用补丁技术的方法,在提供真正的VOD服务的同时可能 具有巨大的数据突发冲击(data burst impact )。

发明内容
本发明的一个方面包括一个认知现有的内容传递系统可能具 有诸如产生不需要的突发数据冲击的成问题的特性。本发明的另一 个方面包括传送内容的方法,该方法包括接收内容请求;生成用 于传递内容的进度表;确定进度表是否满足请求的延迟参数;以及 响应于满足延时参数的确定,{奮改进度表以延迟一部分内容的传 递。^奮改进度表可以进一步包括冲企测用于传递内容的带宽可用的 进度表的第一时间间隔,调整进度表,用于延迟发生这部分内容在 该时间间隔期间的传递。该请求乂人客户装置4妄收到并且延迟参l丈包 包括由客户装置的用户确定的延迟限度。进度表包括多个时间间 隔,该多个时间间隔包4舌第一时间间隔,该第一时间间隔期间调度 内容的一部分的传递用于传递,内容可以包括多个信息块,该部分
可包括多个信息块的第一块;以及修改进度表可以包括确定为了 在第 一间隔期间传递所述内容的所述部分需要附加带宽,延迟在附 加带宽可用的第二时间间隔期间发生第一块的传输,第二时间间隔 出现在第一时间间隔之后;以及确定由从第一间隔到第二间隔的延 迟引起的传输延迟是否超出与延迟参数相关的延迟限度。
本发明的另一个方面包括传递内容方法,该方法包括接收内 容请求;以及生成用于传递所述内容的进度表,该进度表具有用于 传递内容的初始部分的第一延迟和用于传递内容的随后部分的第 二延迟,其中,生成进度表包括选择第一延迟以最小化从接收请 求到传递内容的初始部分的时间,并选择第二延迟以满足与请求相 关的延迟参数并增加随后部分的传递的延迟。本发明的另一个方面包括接收内容方法,该方法包括请求来 自内容提供者内容;向内容提供者提供传递延迟限度;根据进度表 4妾收内容,该进度表包4舌开始传递内容的初始部分的第一时间和开 始传递内容的随后部分的第二时间,其中第一时间最小化从接收请 求到开始传递内容的初始部分的延迟,并且第二时间满足传递延迟 限度,同时还增加开始传递内容的随后部分的延迟。
本发明的另 一个方面包括传递内容的系统,该系统包括接口 , 用于接收来自请求装置的内容请求并接收来自请求装置的延迟参 数;以及调度机,耦合至接口并响应根据进度表将内容传递至请求 装置的请求,其中,调度机响应于请求装置的延迟参数而修改进度 表,用于延迟内容的一部分的传递并且确定满足延迟参数。
本发明的另 一个方面包括一种传递内容方法,该方法包括以下 步骤接收内容请求;响应于请求而生成传递内容的进度表;以及 传输指示传输内容的延迟时间的消息。该方法还可以包括确定进度 表是否满足请求的延迟参数的步骤,其中如果进度表不满足延迟参 数,该消息指示请求#1拒绝。


通过结合附图考虑下面的详细描述,可以更容易地理解本发明。
图1以结构图的形式示出了结合发明原理的系统,该系统用于 响应来自 一个或多个用户的请求而传送内容;
图2以流程图的形式示出了图1系统的一个方面,涉及4艮据本 发明的原理调度内容的传送;
7图3示出了阐明图1中系统工作的一个方面的时序图,用于才艮 据图2中的流程图调度内容通信;
图4示出了进一步阐明图1中系统工作的时序图,用于才艮据图 2和图3调度内容通信;以及
图5以流程图的形式示出了图1系统的一个方面,涉及才艮据发 明原理调度内容的传送。
为了便于理解附图和相关描述,在不同的图片中使用相同的参 考数字标识相同或相似的特征。应该理解的是,附图是为了阐明发 明方面,具体而言,是为了阐明发明的示范性实施例。可能有系统 的其它结合发明原理的结构和实施例。
具体实施例方式
为了〗更于阐述,下面将在一见频点:潘系统或VOD中描述发明原
理的示例性实施例。然而,本发明广泛地适用于在内容源和用户之 间4专送内容的不同系统中。这里描述的发明原理适用于传递和/或4妾 收所有类型内容(包括但不限于视频和/或音频)的系统。另外,可 以通过包含不同通信介质和装置的不同类型的通信网络传送内容。 例如,本发明的原理适用于为包括电话(例如,有线电话和诸如手 机的无线电话)、机顶盒、电视机、计算机等在内的装置提供内容
的有线和无线的通信网络(例如,CATV,虫奪窝网络,卫星系统等 等)。另外,本发明的各方面涉及诸如个人视频录像机(PVR)的 包括内容存储特性和/或容量的系统。例如,诸如PVR的存储容量 的有效性-使得如下所述的后来到达的客户通过緩冲其4妄收到的数 据到需要播放为止而加入将多媒体数据传递到一些早期客户的多 播流。这里描述的结合发明原理的系统的示范性实施例包括VOD月良 务模式和相关的调度多播传输方法。所述VOD系统可以为系统的 用户、顾客或客户提供识别内容列表,例如视频名称列表和各自最 早的播放时间。提供关于何时可能播放的时间信息,允许每个实体 请求内容(例如顾客、客户或用户),以设置延迟参数或延迟限度, 从而指定请求者首选的或可接受的或可容忍的延迟,例如通过请求 提供的列表中的一个内容条目或者通过在单独的通信中(例如在"i殳 置工作模式期间)为服务器提供指定可容忍的延迟的信息。通过接 收来自顾客的请求,系统才艮据可用的网络带宽和用户可容忍延迟决 定是否接受请求。
例如,图1示出了包括VOD服务器110的示例性VOD系统的 结构图。VOD月良务器110通过网络120为在图1中概括地以130 标识并且更明确的以131、 132、 133、 134标识的不同客户系统服 务。图1示出的客户系统代表诸如多媒体装置、个人计算机、机顶 盒、电视机等等不同的可能的装置。用户140经由客户系统之一(例 如客户系统132 )请求来自服务器110的内容。根据本发明的一方 面,月良务器110通过客户系统132为用户14(H是供可用内容和最早 可能播放的一个时间或多个时间的列表150。用户140经由客户装 置132提交请求列出的内容条目之一的请求160。根据本发明的另 一个方面,用户140指定确认或指明延迟值的延迟参数或延迟限度, 该延迟值是用户为了接收内容而愿意或i人为可以容忍的延迟。也就 是说,用户可以指定延迟限度或用户可接受的最大延迟。这样的可 容忍延迟的详细说明(规格)可以作为内容请求的一部分提供,或 者在确定可容忍延迟参数的工作设置模式期间提供。可选地,服务 器110可以提出可容忍延迟(例如,缺省值),用户140可以经由 客户装置132的用户界面(例如,显示的设置菜单)接受或拒绝或 修改该可容忍延迟。图1所示的系统包括用于接收来自诸如客户装置130的请求装 置的内容请求的接口 (例如,在月良务器110中),还包括耦合至接 口并且响应4艮据进度表(schedule)传递内容"i青求的调度才几 (scheduler)(例如,在月l务器110中)。根据VOD "i青求的到达安 排由图1中服务器110内的调度机建立的用于向客户提供或传输内 容的传输进度表。系统接受的每个请求与内容的调度流(scheduled stream )相对应。进度表的目的是使每个请求在最早时间开始访问 内容(例如,观看请求的视频)并且连续播放。依据本发明的一方 面,诸如一见频的内容^皮分为内容凄t据或信息的多个块或部分。内容 流提供内容特定条目的所有部分或块。对于每个流,传输进度表应 该在带宽可用之后立即传输内容(例如视频)的第一或初始的部分 或块并且尽可能晚地传输内容的相继块或随后部分,《旦不迟于它们 相对第一块的时间偏移(time offset), 4吏得内容可以连续插^文给用 户,或者至少没有不能接受的中断。例如,在视频内容的情况下, 为了 4呆持一见频平稳播方文,传输进度表应该为一见频内容的传输估夂好准 备。根据本发明的另外一个方面,调度程度可以修改或改写进度表, 例如,如下所述,通过重新排列进度表。例如,可以响应诸如用户
内容的传递。延迟可以尽可能晚地为延迟流中块的传输估文好准备, 以增加被传输的内容块被用于为多个请求服务的可能性。也就是 说,如果视频的第二请求在相同视频的第一请求后被接收,响应第 一请求的块的传输也可以用于为第二和或其它随后的请求服务。如
迟满足延迟参数之后。为了平稳播放内容,还需要进一步的考虑,
更详细地,示例性VOD系统包括两个主要组成部分VOD月l 务器110和客户系统130。 VOD服务器110公布包括视频名称和最
早访问时间的视频播放列表。动态更新最早访问时间。无论客户何 时对视频感兴趣,都可以做出请求,其中该请求包括诸如^L频名称
10和用户可容忍延迟等的信息。在接收到该请求之后,VOD服务器 根据可用的带宽和用户可容忍延迟决定是否接受这个请求。如果请 求被接受,播放延迟可以包含在确认信息中。如果请求被拒绝,最 小可能的播放延迟可以包含在确认信息中,基于此,如果需要的话 该客户可以做出另 一个合理的请求。
图2以流程图的形式示出了调度传输的示例性实施例。图2所 示的实施例可以以软件(例如,通过诸如计算机、或微处理器、控 制器、或信号处理器集成电路的装置执行)和/或硬件实现。在图2 中,调度在步骤200处开始。步骤210在步骤200之后,步骤210
期间一个或多个客户提出内容请求或服务器听、或接受该内容请 求。如下面详细描述的,当请求到达时,系统首先为该请求调度流, 然后如果需要的话,可以合并与多个请求相关的流。
为了描述图2的各方面,下面将使用一些术语。术语"块"用 于指内容体条目的一部分或子集。对于诸如视频的内容,视频逻辑
上被分为例如每块都是相等大小的N部分或块。块的大小决定进度 表的间隔尺寸(granularity )。"流"指的是表示诸如视频内容的内容 条目的块的传输序列。当诸如视频请求的内容请求到达时,系统为 该请求调度流。调度流(scheduled stream )表示将在何时传llr哪个 块。每个请求对应一个调度流。视频的"传输周期"在第一个流(对 于牙见频的第一个"i青求)开始传^r的时〗'美开始。如果在纟见频的所有现 有的流结束之前没有"i青求到达,则传^T周期结束。如果一见频^清求在 上一个传输周期结束之后到达,则新的传输周期将开始。"参考流 (reference stream ),,是传l命周期中的第 一个流。在一个4专l命周期中 只有一个参考流。"时隙"是视频块持续的时间跨度,也就是传送 内容块期间的时间间隔。在同一时隙内的视频块被同时传输。每个 时隙可以容纳特定数量的视频块,称为时隙的"容量"。如果时隙 必须容纳比其容量更多的块,以实现特殊调度,那么该时隙-陂称为"过载时隙",也就是iJL,该时隙没有可用的带宽。如果时隙具有
多余的容量,也就是说,特殊调度需要时隙容纳比其容量少的块, 因此时隙具有多余的或可用的带宽,那么该时隙被称为"欠载时隙"。
图3示出了阐明了上面定义的术语的各方面的两个传输周期的 时序图。图3中内容的块的总数为20。在传输周期l中,有2个流 S0和S1。在传输周期2中,有3个流S2、 S3、和S4。 SO是传输^ 周期1中的参考流。S2是传输周期2中的参考流。只有参考流传输 全部N个块,优选地连续地。参考流的第一块具有零参考时间,并 且每个其它块都具有与从第 一块偏移的播放时间相当的参考时间。 尽管图示了在给定的时间传输一个块,但是本发明的原理还适用于 在给定时隙同时传输几个块的情形。
除了所述的术语,这里将使用下面的符号描述
iV表示视频的总的块数;
5表示服务器带宽限度;
6表示一见频插^文速率;
《表示第/个请求的服务延迟(忽略传输延迟,也就是说,如果 一见频在7;被传输,那么该视频可以在7^皮显示,因此,服务延迟与 服务器带宽限度有关);
A表示第,'个用户可以容忍的最大服务延迟;
",表示在传输周期中第/个请求的到达时间("o,1,2,…);^表示在传输周期中第,'个流的第_/个块的传输开始时间。",和~ 的间隔尺寸就是块的持续时间。假设^=0 /。。=0,也就是说,第一
个流的第一个块具有零参考时间; 7;表示第/个流的传输时间; 71 二 + J,
工作实例。在图4中,小圓圏表示请求。实线上面的数字表示视频 块的索引号(index number )。视频中共有20个块。服务器带宽是 视频速率的三倍。i ,表示第/个请求;S表示第/个流。
对于传输周期中的第一个请求,调度机产生参考流,即正如在 传统VOD系统中那样连续地传输全部N个块,在第一个i青求i 。的
到达时间r。处开始。当第yt个请求到达时,系统将为第A个请求调度
流,该流由流&表示。下面将参考图2和图4描述详细的调度过程。
如图2中的步骤210,在接收到请求(例如第/t个请求)之后, 如图2的步骤220中指示的创建最初的或初始的进度表。系统调度 传输那些在["w,"J内传输的块。对于请求客户来说其它块是可用的, 因为它们将^皮响应先前请求的现有的流传输。所有的块在它们对于 第 一块的时间偏移处被调度传输。服务器创建指示第*个流&的块
的传输时间的初始进度表^,表示为
其中,^是第A个流中第/个块的调度传输时间。第A个流中第/ 个块没有必要是请求视频或内容的第!'个块。在创建初始进度表之后,在图2的步骤230中,为了4企测带宽 可用的时隙或时间间隔,扭J亍带宽4企测。/人时间点^开始,其带宽
高于带宽限度的一组时隙表示为//,其中/Z-"A,…,/U。每个&包
括两个特征/ ,=^,/7,2},其中&表示时隙的开始时间,;^表示这个时
隙中第个流的块的号码。&被称为i过载时隙并且&被称为过载块。 /z, (Z = 1, 2,…,w} P逸着的土曾力口4非序。
从时间点&开始,其带宽低于带宽限度的 一 组时隙表示为丄。 £ = {/p/2,...,U。每个/,包括两个特征,/,={/,,,/。},其中/,,表示时隙的开 始时间,/,2表示占用带宽和带宽限度之间的差(difference )。 /,2被称 为深度。/,(/ = 1,2,…,w}随着的增加排序。
根据本发明的一方面,在图2的步骤240处,评估带宽检测的 结果。例如,步骤240可以包括评估H。如果H为空(也就是,图 2中步骤240处为负的或"否"结果),那么在不修改初始进度表的 情况下,可用带宽足以传输流。如果这样,图2中的工作继续进行 至确认初始进度表并且根据进度表立即进行传输的步骤250。如果 在步骤240处H不为空,那么可以在图2的步骤270处修改进度表, 包括根据本发明的各方面的重新排列(rearrange )。在重新排列之前, 在步骤260处进行关于提供重新排列需要的延迟是否在请求者的容 忍限度内(也就是,满足或合乎用户特定的延迟参数或延迟限度) 的评估。如果不在,则在步骤280处拒绝请求。如果该延迟可以容 忍,那么如下面详细描述的在步骤270进行进度表修改或重新排列。
在步骤250期间,将在时间7;时传llr调度流A:,其中7;=^,这
意味着第*个请求的服务延迟为零。块的传输时间是 ^=[^={ ,^2,..., }。例如,在图4中,当请求2到达时,可用带宽足以传输流。所以流2将没有任何延迟地传输那些在K^]内被传输 的块,并且流2的第一块将在时间r,时净皮传输,其中72="2。
如果图2的步骤240处的评估指示带宽不足以支持初始进度 表,那么在步骤270处进行初始进度表的修改。根据本发明的一方 面,进度表的修改或重新排列使带宽脉冲变平坦并且保持它接近于 初始进度表。在重新排列之后,有7;>&。如果所需延迟《在等待时
间容忍限度Z),内,则请求被接受并且将根据进度表重新排列的结果 传输4见频块。否则,i青求在步骤280处^皮拒绝并且4巴最早可能的开 始时间发送回请求者。
如在步骤270中进度表调整或重新排列的示例性实施例在以下 进4亍描述,并且在图5中详细示出。进度表修改或重新排列的一方 面可以产生最小的初始延迟。另一个方面可以最大4匕后来i青求也共 享为当前请求传输的内容的程度。部分地,由所述实施例提供的增 加的共享由尽可能晚的传输块引起,但会根据用户指出的延迟容忍
限度这样做。
进度表修改的第 一 步是确定欠载时隙的集合G 。假设G由丄产 生,G = {g,,g2, ..《},其中"=|]/,2并且>1;是乙中元素的数量。G可以由
,=1
3口下方法产生
g,(; = 2,3,…,")将根据下面的规则产生
15接下来,选择m个G的元素形成集合2,其中0 = {0々2,……,24, x二c:并且w是//中元素的凄t量。
每个g,'= 《,2,......,《, }, QeG,《〃eG, z、l,2,…,;t, ;、1,2,…,附
接下来,从2中选择e,,使得下面的等式(1)成立
& — I = r:in ,人!axJ^ _ } ( 1 )
那么在^调度传输/2,2。
*接下来,为第*个流调度的所有块应该以递增序列重新排序。 块的传输进度表示为&={ , ,.. , }。所以播放时间的延迟等于
d = max{0,max{(v&
如果所需延迟在用户的等待时间容忍限度内,也就是,满足延 迟参数或限度,系统根据调度传输视频块。如果所需延迟超出等待 时间容忍限度,也就是,不满足延迟参数或限度,请求被拒绝并且 把最早的可能开始时间发送回请求者。
例如,在图4中,当请求3达到时,可用带宽不足以传输流。 并且最早开始时间是^。因此,流3将传输那些在["2,"3]内被传输的
块,并且流3的第 一块将在时间r3时被传输,其中r3 〉 a3 。
本发明的另一个方面包括选4奪合适的欠载时隙,也就是,确定
带宽可用的合适时间间隔。下面参考图5描述选择合适的欠载时隙 以修改或调整提供重新排列的进度表的示范性实施例。图5中步骤 210到250对应于图2中相同标识的步骤。如上所述,初始进度表 调整期间的考虑可以包括满足以下条件中的一个或两个条件l:提供最小的初始延迟
条件2:最大化与后来请求对特定请求的内容传输的共享,例如,通过尽可能晚地传输块。
就是说,根据条件1,进度表包括提供最小初始延迟的内容的初始部分开始传递的第一时间。另外,4艮据条件2,进度表包括内容的随后部分(例如第二块)开始传递的第二时间,这增加了随后部分的传递延迟,使其尽可能晚4旦仍满足延迟参lt或限度。
同时满足两个条件的系统的示范性实施例首先为考虑条件1估文准备,然后在满足第一个条件之后,考虑第二个条件。满足提供最小初始延迟的第 一个条件将被称为进度表修改的第一遍。在第一遍期间,进行两个步骤欠载时隙选4奪和块转移(shifting )。
为了实现最小初始延迟,也就是,在延迟容忍限度之内,如图5的步骤560,应该选4奪最早的可用欠载时隙以包含过载块。换句话说,如果被调度的流的过载块的总数量为m,那么我们应从L中选择第一批m个欠载时隙。然后,过载块将分别转移到m个所选择的欠载时隙,也就是,部分内容被延迟。
转移或延迟按如下方法进行。如果过载块/^ (在时隙&处)需要移动到欠载时隙/,,处,那么将考虑两种情况。情况1,也就是,如果/"d,.,,在直接紧随/;1之后的时隙处的块将被移动到/",并且
((1,力,1)之间所有的块应该#:依次移动到直4妄先于它自身的那个时
隙,块/ ,2 (在时隙&处)将被移动到直接先于&的那个时隙。情况2,也就是,如果/,一V,在直接先于/,,的时隙处的块将被移动到/,1,并且(/ ,1,//,)之间所有的块应该被依次移动到仅仅直4妄紧随它自身之后的时隙,块/2,2 (在时隙&处)将被移动到直接紧随&之后的时隙。接下来,可以确定最小初始延迟c/。将初始进度表之后的块的传输进度表示为"={",,"2,...,~}并将第 一遍重新制定进度表之后的块
的传输进度表示为「 = {;^2,..,、}。那么,最小延迟c/由下式确定= max{0,max{(v,.
接下来,在步骤561处,检查最小延迟以确定最小延迟是否在容忍限度内,也就是说,进度表是否能满足延迟参数或限度。如果不满足,请求将在步骤580处被拒绝。如果最小延迟可以*接受(也就是说,在容忍限度内或满足延迟参数或限度),考虑最大化数据共享的第二个条件进行进度表的第二遍制定。换句话说,响应于满
足延迟参数的确定,进行第二遍以修改进度表,以延迟至少部分内容的传递。在第一遍之后,确定进度表的最小初始延迟Z^m ,并且在步骤562处延迟初始调度流D皿n。然后,在步骤563处进行带宽才企测,并且找到所有的过载块和所有的欠载时隙。在步-骤564处乂人最后一个过载块到第一个过载块进行转移,以将过载块分别移动到位于其当前位置之前并且距其当前位置最近的欠载时隙处。该转移或延迟或重新排列将在下面详细解释。
为每个过载块对初始进度表延迟Dmin之后,有可能总是找到至少一个位于过载时隙前的欠载时隙,以"容纳"该过载块。这将按如下过一呈进4亍。
首先,通过对初始进度表延迟Z)目,以最小初始延迟调度流。换句话i兌,对于第A个流,已在[^—,,^]内传输的所有块^皮调度,以在它们相对第 一 块的时间偏移加上Z)min处传输。块的传输进度表示
为/7 = K + Dmin, "2 + Z)min,……接下来进行带宽检测。在延迟了进度表之后,时隙的带宽已经被改变。因此,为了找到所有的过载块和所有的欠载时隙,有必要再次进行带宽检测。
接下来,调度块被重新排列。重新排列类似于第一遍进度表的
重新排列。它也包括两个步骤欠载时隙选4奪和块專争移。
为了确定选择哪些欠载时隙容纳过载块,从"后"至"前"进行选择。就是说,首先确定哪个欠载时隙将容纳最后一个(在时间轴上)过载块,然后确定哪个欠载时隙将容纳倒数第二个(在时间
轴上)过载块,依次类推。对于过载块/^2 (在时隙&处),容纳/7,2的
欠载时隙/"由下式确定
&一〔,=,中
丄,—是位于&之前(小于&)的所有欠载时隙的子集。
也就是,在位于/z,,之前的所有欠载时隙中,欠载时隙/,,距离/ ,1最近。
第二遍进度表的块转移与第 一遍进度表的块转移一样。但是只存在情况1,因为所选欠载时隙在过载时隙之前,所以第二遍的块转移只有情况1。
如图5的步骤590,本发明的另一个方面包括合并内容流,使得在流合并之后, 一个或多个i青求将与 一个流相对应。流合并将4安如下方法进行。当前请求时间在前一个流的传输开始时间之前时,当前流将与前一个流合并。合并产生一个为两个i奮求月艮务的流。例如,当请求5达到时,由于对于请求5没有足够的资源,流5传输的最早开始时间定为z;。所以将以等待时间模式为请求5服务。在等待时间期间,请求5还接收到多播数据并对它们进行緩沖。然后
在请求5的开始时间之前请求6达到,^ 〉"6 (如果4吏用块间隔尺寸的持续时间,那么有,5="6)。因此请求5可以与请求6合并。在合并之后,生成新的流S 5,将对应i青求5和请求6调度新的流S5 。从图4可以看出,在周期[ ^]内到达的所有请求将被合并为一个流。
根据步骤565中的进度表将流传输给客户。有几种可以将流多播给客户的方法。 一种可能是对每个用户内容请求采用唯一的多播流。另一种可能是对所有的用户请求采用一个多播流。第一种方法的优点是用户只需要预定感兴趣的多播流,不相干的流不会到达用户。后一种方法需要在客户端过滤冗余教:据。
考虑以下结合图4描述的示例性实施例的说明,可以更好的理解本发明的上述方面。如上描述,示例性实施例包括为视频节目处理多个请求的VOD服务器。该服务器可以存储一个以上的视频节目,但是所描述的实施例特别涉及对同一视频节目的请求。该视频节目可以4皮直7见的分为N块,通信信道在一个时隙内最多可以传输M个块,并且每块可以在一个时隙内^皮传賴T。在图4中,N等于20,M等于3。当客户装置提交请求时,客户装置开始收集通信信道内所有的一见频块并且以适当的顺序4非列这些—见频块。当所i青求一见频节目的所有块都净皮^接收到时,客户装置可以开始播放所请求的—见频节S 。
在图4的实例中,描述了响应于请求R0-R6的流S0-S5。 S2 /人时隙13-17和21-25处分别开始传输块0-4和8-12。 S3在时隙16、17、 20、 21、 28、 29处分另ll开4会传东lr块0、 1、 5、 6、 13和14。 S4从时隙18-22、 25和34-36处分别开始传输块0-4、 7和15-17。 S5乂人时隙23-29、 31、 32、 42和43处分另'J开士会4专车餘块0-6、 8、 9、 18和19。并且,当请求R5到达时,图4中示出的调度结果指示S5的块O将在时隙23处开始传输。然而,由于请求6在时隙23之前到达,所以S5和S6 一寻净皮合并为一个流。
当客户装置0在时间a0或时隙0处^"求:枧频节目(图4中的请求RO)时,服务器为参考流SO创建初始进度表UO,初始进度表U0为(0, 1, 2,…,19),其指示视频的块i在时隙i处被调度传输。由于在通信信道中没有—见频节目的块传输,所以必须传输全部20个块。由于没有过载时隙,所以初始进度表UO成为最终的进度表V0而不被重新排列。尽管服务器在每个时隙内可以传输3个块,在这个实施例中,服务器在每个时隙内传输一个3见频块。尽管从块0开始顺序传输块,^f旦是由于每个客户装置可以以正确的顺序重新组合所有的块用于播;改,因此这不是必需的。
由于响应于请求O服务器在每个时隙传输一个块,所以对于其它请求来说,在每个时隙内两个块的带宽是可用的。
客户装置1在时间al或时隙8提交请求(图4中的Rl ),并且开始4妻收通信信道内的一见频块。由于通信信道内的块8-19已经可用,所以服务器只传输块0-7,块0-7是那些在时间间隔[a0,al]内传输的块。服务器为流1 Sl的块0-7创建初始进度表U1(8,9, 10,…,15)。由于没有过载时隙,所以对于流1进度表U1成为最终的进度表VI而不^皮重朝1非列。
在时间a2或时隙13处,客户装置2提交请求(图4中的R2 )。在该点,通信信道将传输块5-7和13-19。服务器只需传输块1-4和8-12,块1-4和8-12是在时间间隔[al,a2]内传输的块。月良务器为流2 (S2)创建初始进度表U2 ( 13, 14, 15, 16, 17, 21, 22, 23,24, 25 )用于传输块1-4和8-12。在初始进度表中,传输第一块的时间是接收到请求的时间。可以调度S2中的所有块以在连续的时隙内传输。然而,为了增加传输信道的带宽管理的灵活性,最好只
初始调度连续的块,以在连续的时隙内传flr。如果两个连续的块之
间的块号码存在间断,例如,块i和块i+j,并且调度传输块i以在
相应的初始进度表中的时隙k处传输,那么服务器应该初始调度块
i+j以在时隙i+j处传输。例如,在U2中,在时隙13-17处调度传车lr块0-4,在时隙21-25处调度块8-12。由于没有过载时隙,所以初始进度表U2成为最终的进度表V2而不被重新排列。
在这一点,就上述这些每个时隙内的带宽均未#皮超出的情况进行了描述,也就是,时隙是欠载时隙。在下文中,包括了当接收到请求时带宽不够的情形,也就是,过载时隙的情况。
这一 点的进度表如下所示
流0: U0=V0=(0,1,2, ...,19)分别对应于块0-19。
流1: UbVl—8,9,…,15)分别对应于块0-7。
流2: U2二V2气13,14,15,17,21,22,23,24,25)分别只于应于块0-4和块8-12。
在a3或时隙15处,接收器3提交请求(图4中的R3 )。月良务器检查在间隔[a2,a3]中传输的块,这些块是将被包含在流3 S3中的块。这些块是块O, 1, 5, 6, 13和14,并且服务器创建初始进度表U3 (15, 16, 20, 21, 28, 29)以传llr这些块。然而,在4企查完V0-V2和U3之后,服务器发现时隙15是过载的,但是时隙17以及后继(onward)时隙是欠载的。月l务器创建H列表,H列表的每个元素指示开始时隙和相应的溢出块号码。在这个情况下,H={(15,0)}。服务器还创建保存欠载时隙轨迹的L列表,这些时隙在时间上晚于接收到R3的时隙。L列表中元素的数量,w,必须至少与H表中元素的数量相同。优选地,w应该是V列表中最后的(latest)时隙号码加上视频节目中块的数量。在这个情况下,w为25+20=45。然而,为了简《更起见,在这本实例中,我们为所有带宽可用的点选择w。同样地,本实例中的L如下所示
{(17,1),(18,2),(19,2),(20,2),(21,1),(22,2),(23,2),(24,2),(25,2)}
乂人而,w=9并且G中元素的凄t量n为1+2+2+2+1+2+2+2+2或16。
在计算G中,我们注意到&=17, G的其它元素由前面描述过的下面的等式计算
如果/,2=7',那么gjg,+^…-g,屮W",其中^fX2+l
乂人而,g2=&=18, g4=g5=19, g6=g7=20, g8=21, g9=g,。=22,gn=g|2=23, g13=g14=24, 以及g,s =g16 =25 。
在产生的Q中的m索引代表H列表中条目的数量。在本实例中,m为1。同才羊i也,Q中元素的凄t目x为16,并且Q包4舌16个表,Ql-Q16。每个列表只包括一个条目并且til-gi。
那么, -使用下面的等式(1 )选择&, ^在时间上最^妄近H列表中每个元素的开始时隙。也就是
k> 一 ~' I = f I111,,人!axj^ — & I)} ( 1 )
在本实例中,选择仏,=17,这意味着将在时隙17处传输块0。在对块重新排列后,V3=(16,17,20,21,28,29),将在时隙16处传输块0并且将在时隙17处传l叙块1。块5、 6、 13、 14维持它们原来的进度表,也^ii兌,它们^)夸分别在时隙20、 21、 28、 29处^^专丰lr。
在这一点上,服务器知道一个时隙的延迟时间。如果请求需要达到 一个时隙的延迟时间,那么请求被准予并且准予消息包含延迟时间,如果请求需要小于一个时隙的延迟,那么请求被拒绝并且消息也包括延迟时间,这样用户可以-提交另 一个具有更长等待时间的请求。
i殳想这里描述的原理的不同4务改和/或扩充。例如,对于诸如VOD等应用所述系统是灵活的且可升级的,以支持更多凄t量的用户。所述进度表的l奮改可以用于减少或减弱多个请求的数据突发冲
中"合理,,的定义可以由用户指定。发明适用于包括带有用户使能的个人一见频录傳4几(PVR )的VOD系统的不同系统。例如,当PVR可用时,后来达到的客户加入到向一些早期客户传递的多々某体凄t据的多播流,緩沖它接收到的数据直至该数据需要被播放。这可以减少需要的服务器带宽。这里所述的系统可以为客户提供诸如特定内容的最早访问时间的有用的信息。例如,系统可以提供视频名称列表和它们各自的最早访问时间。最早的访问时间有助于用户做出合理的内容请求,这可以避免来自用户的无意义的请求并且增加系统的效率。所述系统按照多播传输进度表工作,该进度表是根据请求的到达、当前可用带宽和用户可容忍的延迟排列的。这个系统可以在服务器带宽和服务等待时间之间折中。它可以动态地合并流以使客户能最优化地分享数据。
权利要求
1.一种传送内容的方法,包括接收内容请求;生成用于传递所述内容的进度表;确定所述进度表是否满足所述请求的延迟参数;响应于对满足所述延迟参数的确定,修改所述进度表以延迟所述内容的一部分的传递。
2. 根据权利要求1所述的方法,其中,修改所述进度表包括检测用于传递所述内容的带宽可用的所述进度表的第一 时间间隔;以及调整所述进度表,用于延迟发生所述内容的所述部分在 所述时间间隔期间的传递。
3. 根据权利要求2所述的方法,其中,所述请求从客户装置接收, 并且所述延迟参数包括由所述客户装置的用户确定的延迟限度。
4. 根据权利要求1所述的方法,其中,所述进度表包括多个时间 间隔,所述多个时间间隔包4舌第一时间间隔,在所述第一时间 间隔期间调度所述内容的一部分的传递用于传递,所述内容包 括多个信息块,并且所述部分包括所述多个信息块中的第一 块;以及其中,修改所述进度表包括确定为了在第一间隔期间传递所述内容的所述部分需要 附加带宽;延迟在附力。带宽可用的第二时间间隔期间发生所述第一 块的传输,并且所述第二时间间隔出现在所述第一时间间隔之后;以及确定由/人所述第 一 时间间隔到所述第二时间间隔的延迟 引起的传输延迟是否超出了与所述延迟参数相关的延迟限度。
5. —种传递内容的方法,包4舌4妄收内容"i青求;以及生成用于传递所述内容的进度表,所述进度表具有用于 所述内容的初始部分的第一延迟和用于所述内容的随后部分 的第二延迟,其中,生成所述进度表包括选择所述第一延迟 以最小化乂人^接收所述请求到传递所述内容的所述初始部分的 时间,以及选4奪所述第二延迟以满足与所述i青求相关耳关的延迟 参凄t并增加所述随后部分的传递的延迟。
6. —种4妄收内容的方法,包括请求来自内容提供者的内容;向所述内容提供者提供传递延迟限度;根据进度表接收所述内容,所述进度表包括开始传递所 述内容的初始部分的第一时间和开始4专递所述内容的随后部 分的第二时间,其中所述第一时间最小化从接收所述请求到开始传递所述内容的所述初始部分的延迟,并且所述第二时间满 足所述传递延迟限度,同时还增加开始传递所述内容的所述随 后部分的延迟。
7. —种用于传递内容的系统,包括接口,用于接收来自请求装置的内容请求并且接收来自 所述请求装置的延迟参数;调度才几,耦合至所述接口并响应根据进度表向所述请求 装置传递所述内容的所述请求,其中,所述调度机响应于所述 请求装置的延迟参数而修改所述进度表,用于延迟所述内容的 一部分的传递并且确定满足所述延迟参数。
8. —种4专递内容的方法,包4舌以下步艰《接收内容请求;响应于所述请求,生成传递所述内容的进度表;以及 传输指示传输所述内容的延迟时间的消息。
9. 根据权利要求8的方法,进一步包括确定所述进度表是否满足 所述请求的延迟参lt的步骤,其中,如果所述进度表不满足所 述延迟参凄t,则所述消息指示所述请求;坡拒绝。
全文摘要
诸如多播的VOD系统的系统响应于用户的内容请求并根据适于用户特定的可接受的内容传递等待时间的进度表传送内容,例如,传递内容或接收内容。响应于用户的请求,可以修改进度表以最小化内容传递的开始。还可以修改进度表以延迟内容的随后部分尽可能晚地传递,以允许随后的请求共享内容流而不超出由用户指定的可接受的等待时间参数。
文档编号H04L12/56GK101601234SQ200780049672
公开日2009年12月9日 申请日期2007年1月11日 优先权日2007年1月11日
发明者钧 李, 延 许, 马小骏 申请人:汤姆逊许可公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1