对多个内容分发网络上的流媒体文件进行分区的制作方法
【专利说明】对多个内容分发网络上的流媒体文件进行分区
[0001] 对相关申请的夺叉引用
[0002] 本申请要求于2012年10月17日提交的美国专利申请序列号13/645, 301的权益, 其全部内容通过引用合并于此。
【背景技术】
[0003] 发明的领域
[0004] 本发明的实施例一般涉及流媒体服务。更具体地,本发明的实施例涉及用于对容 宿于多个内容分发网络上的流式媒体文件进行分区的技术。
[0005] 对相关技术的描述
[0006] 流媒体服务一般允许用户通过数据通信网络来消费点播媒体内容。服务提供商被 配置为存储对用户可用的媒体文件(或者"流(提供到媒体文件的访问)。例如,流媒体 服务提供商可以使用各种分发网络来容宿流媒体标题的库。每个流可以提供由经记录的视 频捕获的舞台或实时事件、长片电影、电视节目、体育事件等等的数字版本。流也可以包括 专门为在线分发而创建的媒体内容。
[0007] 由客户端设备执行的媒体回放通常被称为"流送"是因为分发网络之一被用于将 媒体文件的多个部分传输至客户端设备,客户端设备接着解码并且发起回放而不用等待整 个流被接收。考虑到通信网络内变化的延迟和带宽,客户端设备上的内容缓冲器将流的进 入部分排在队列中实际上正被播放的部分之前。在(导致较低可用带宽的)瞬时网络拥塞 期间,较少的数据被添加到缓冲器,由于数据正被移出队列以支持以某比特率进行的回放, 数据可能被排空。然而在瞬时高网络带宽期间,缓冲器被重新补充并且额外的缓冲时间被 添加,直到缓冲器再次基本被充满为止。
[0008] 随着高带宽互联网通信的可用性的增长,通过互联网流送编码的视听(AV)节目 已变得流行。从技术的立场来看,各种不同的流媒体协议可用于向客户端传输媒体流。尽 管这些协议中的许多被设计用于从服务器向诸如典型台式PC或膝上型计算机、或家庭影 院PC(HTPC)之类的传统计算系统传输媒体流,流送方式也正用于向(包括例如移动电话、 平板计算机和上网本计算设备、控制台和手持视频游戏系统、数字视频记录器(DVR)、DVD 播放器、连接的数字电视、以及专用流媒体设备(例如Roku?:机顶盒)等等的)最终用户 客户端设备传输流媒体。
【发明内容】
[0009] 本发明的一个实施例包括一种用于向客户端设备提供流媒体标题的计算机实现 方法。该方法一般可以包括:从所述客户端设备接收对所述流媒体标题的请求并且生成内 容分发网络(CDN)偏好(preference)列表,该内容分发网络(CDN)偏好列表针对多个CDN 中的每个包括到流媒体标题的一个或多个链接,并且以将媒体标题流送至客户端设备的偏 好的顺序对列表中的CDN进行排名。与CDN中的至少一个相关联的排名至少部分地基于流 媒体标题的一个或多个特性,例如基于与所述流媒体标题相关联的标题ID。
[0010] 其它实施例包括但不限于:包括指令的计算机可读存储介质,这些指令使得处理 器单元能够实现所公开的方法的一个或多个方面;以及被配置为实现所公开的方法的一个 或多个方面的系统。
【附图说明】
[0011] 从而以上面记载的本发明的特征能够被详细地理解的方式,通过参考(其中一些 在附图中被示出的)实施例,可以获得对上面简要概括的
【发明内容】
的具体描述。然而要指 出的是,附图仅示出了本发明的典型实施例,并且由于本发明可以许可其它等效的实施例, 因此附图不应被理解为限制其范围。
[0012] 图1根据本发明的一个实施例示出了被配置为使用多个内容分发网络(CDN)来向 客户端设备提供流媒体内容的计算基础设施。
[0013] 图2根据本发明的一个实施例示出了被配置为容宿流媒体内容的内容分发网络 的示例。
[0014] 图3根据本发明的一个实施例示出了流媒体主机服务器的示例。
[0015] 图4根据本发明的一个实施例示出了用于观看流媒体内容的客户端设备的示例。
[0016] 图5根据本发明的一个实施例示出了用于观看流媒体内容的计算系统的示例。
[0017] 图6根据本发明的一个实施例示出了至少部分基于所请求的媒体内容的、对可用 于流媒体内容的多个CDN进行排名的偏好列表。
[0018] 图7根据本发明的一个实施例示出了流媒体服务提供商响应于客户端的请求来 流送媒体内容的方法。
[0019] 图8根据本发明的一个实施例示出了客户端从多个CDN中选择要从其获取流媒体 内容的一个⑶N的方法。
[0020] 图9根据本发明的一个实施例示出了流媒体标题的曲线图,其包括被分配给CDN 分区的标题组以及未被分配给CDN分区的标题组。
【具体实施方式】
[0021] 为了对媒体内容进行流送(stream),流媒体客户端设备可以从多个内容分发网络 (content distribution network,(DN)中选择。例如,在订户已向服务提供商认证账户之 后,客户端设备可以请求流送给定的媒体标题。作为响应,服务提供商可以向客户端发送链 接的列表,这些链接指向不同CDN,从这些CDN可以获得媒体内容。列表可以被排序,以指示 每个⑶N的偏好排名(preference ranking)。例如,服务提供商可以具有两个⑶N的安排 以使得60%的流送流量由一个⑶N处理,剩下的40%由另一个处理。在这样的情况下,提 供商可以生成这样的偏好排名:该偏好排名对于60%的流送请求给予第一 CDN较高的偏好 并对于40%的流送请求给予第二CDN较高的偏好。随后客户端基于把偏好排名和客户端对 CDN性能的测量进行组合来选择CDN。在可选实施例中,每个CDN被与权重或概率相关联, 并且客户端根据这些概率来选出⑶N。
[0022] 注意,在此上下文中⑶N-般指在各种位置本地地连接到互联网的计算服务器的 分布式网络。即CDN是指以在连接性上与内容服务器的另一集群有实际的或潜在的区别的 方式连接到互联网的一个或多个内容服务器的集群,以使得使用来自一个集群或另一集群 的服务器可造成流送客户端的不同性能(performance)机会。服务器集群可以由提供流送 服务的单一实体操作(产生多个虚拟CDN),或者由多个服务提供商独立操作。此外,这样的 服务器集群可以由被称为CDN或CDN提供商的商业实体操作,但不是必须的。
[0023] 使用不同CDN服务器集群的一个结果是,任何给定的标题位于一个CDN的边缘服 务器的本地缓存器中的可能性和其位于另外的CDN的边缘服务器的本地缓存器中的可能 性相同。即不同CDN中的边缘服务器将趋向于缓存内容的相同子集。由于当内容在本地 缓存器中已经可用时,针对给定客户端的CDN性能较高(并且因此用户体验质量可能也更 好),内容存在于CDN边缘服务器的本地缓存器中是有利的。增加缓存命中的概率的一种方 法是提供大量的缓存存储设备,但这种方式意味着额外的成本(以提供和操作额外的存储 设备)。此外,由于CDN可以由第三方操作,流媒体服务提供商可能没有对由给定CDN所管 理的硬件的直接控制权。
[0024] 本发明的实施例提供了用于增加缓存命中的概率、而不增加成本或者不同CDN的 内容缓存器的实际缓存器大小的技术,更具体的,本发明的实施例使用响应于内容请求而 被生成的⑶N偏好排名来对跨不同⑶N的流媒体内容进行分区(partitioning)。例如,流 媒体提供商可以确定媒体内容的固定子集,偏好将针对该子集被设定至给定CDN。这样的分 区可以被称为"软(soft) "分区,因为情况可能是所有流媒体内容仍可从每个CDN获得。即 对跨CDN的内容的分区可以不是绝对的,以使得任意内容项都可以被从任意CDN请求。这 样做可以确保即使在针对给定内容项的优选CDN失效(或者只是遭受了一段时间的性能降 低、或针对特定用户性能不佳)的情况下,内容仍保持可用。类似地,在偏好排名为每个CDN 提供概率的情况下,在每个CDN处存储内容确保客户端可以根据概率来选择CDN。在其它情 况下,分区也可以被执行,以使得一些内容项在一些⑶N上是不可用的。例如,每个内容项 可以在恰好两个CDN上是可用的。
[0025] 当向订户提供流内容的库时,少量当时流行的标题可能占用由订户参与的流送活 动的主要部分。在一个实施例中,指定数目的流行内容项未被分配到CDN分区。即由于跨 CDN的多样性对于可扩展性是可贵的,流行的标题没有被分配到具体CDN的"软"分区。这 样做允许给定内容项保持可以从作为不同CDN而操作的各个服务器集群(无论是由流媒体 服务提供商操作还是以其它方式操作)获得。同时,对分配给特定CDN分区的内容项的请 求被优选地从该分区供应。注意,项是否"流行"可以以许多方式来确定,例如基于当前被 认定为流行的项的明确规制列表、或者基于相对其它项给定内容项在最近时间段内已被请 求的频率的试探测量。
[0026] 在下文的描述中,列出了众多具体细节以提供对本发明的更透彻的理解。然而对 本领域技术人员来说是显而易见的是,在没有这些具体细节中的一个或多个的情况下也可 以实践本发明。在其它实例中,为了避免模糊本发明,没有描述已知的特征。
[0027] 此外,使用在用于通过数据通信网络流送电影、音乐、电视节目等的个人计算机上 运行的web浏览器描述了本发明的特定实施例。然而应当理解,本发明可适用于流送使用 各种能感知/支持网络的消费电子设备(例如DVD播放器、Blu-ray?·播放器、基于web的 接口、机顶盒、移动电话、游戏平台、便携式音乐播放器、家庭媒体系统等)流送访问的视频 服务。据此,包括对由Web浏览器运行的流媒体客户端的引用是