存储和分发电子内容的方法和系统的制作方法

文档序号:7749628阅读:141来源:国知局
专利名称:存储和分发电子内容的方法和系统的制作方法
技术领域
本发明涉及一种经由网络对电子内容进行分发、存储和获取(retrieve)的方法 和系统。具体地,本发明涉及高效地放置被划分为片段(fragment)的内容的不同部分。
背景技术
为了清楚和简要的目的,以下的说明书涉及视频点播(VoD)服务。然而,本发明还 可以应用于提供文件所使用的任何一般的网络。具体地,所述文件不一定是视频文件。最近已经引入了仅仅基于在网络中分布的机顶盒的、通过内容递送网络(CDN)的 点播视频递送。通常,在VoD服务中,一组也被称为机顶盒的管理设备能够存储视频内容。 机顶盒还能够将该内容上载到其他机顶盒。每个视频被划分为多个也被称为子流的互补 (complementary)片段。为了再现视频,机顶盒需要下载缺失的子流,直到所有的子流在该 特定的机顶盒处可得到。可以在网络的机顶盒中随机地存储片段或者子流。为了获取文件,将来自客户机 的请求重定向到存储所请求的文件的片段的最近的机顶盒。请求文件的客户机可以完全地 下载文件的所有片段,或者,例如在要对视频文件进行流传输的情形下,可以请求以按顺序 的(ordered)方式来对每个各自的片段进行流传输。然而,文件片段的随机分发可能导致向机顶盒分配片段的低效率,这又可能导致 递送所请求的文件的增加的成本。例如,视频文件的一个片段与相同视频的其他片段相 比,被放置在距离请求的客户机的更远处,同时相对靠近请求的客户机的两个机顶盒容纳 (host)同样的片段。在该示例中,两个容纳同样片段的邻近的机顶盒不能够从彼此下载缺 失的片段,而不得不从很可能非常远的另一机顶盒下载内容。该情境与其中与请求的客户 机邻近的机顶盒能够提供文件的全部所需片段的情境相比,将在请求的客户机与位于非常 远处的机顶盒之间产生一些不必要的网络流量。具体地,当必须穿过多个集线器或路由器 时,或者当必须穿过不同的域(domain)来路由网络流量时,到相对遥远的主机的网络流量 可能占据稀缺的网络资源。除非另外标明,在以下说明书中通篇可互换地使用表述“距离”来表示地理距离、 网络距离,所述网络距离例如以路由器中继段(router hop)、可用带宽、或者传送延迟来表 示。术语距离还可以指代网络成本,即,从容纳文件片段的网络设备到请求该文件或文件片 段的网络设备传输数据的成本。可以通过考虑穿过路由器级别的域的成本或者考虑穿越的 路由器的数量来计算网络成本。该成本还可以与“网络负荷”有关,即,当各个盒之间的数 据路径中的网络节点的数量增加时,该成本也增加。网络成本还可以依赖于一日中的时段 或者当前通过网络的部分(segment)交换的数据量而动态地改变。—种已知的用于在内容分发网络内放置内容的算法被称为k-PUFLP,或者“多产 品选址问题”算法。该算法例如在 A.Klose,A. Drexl 的 “Facility locationmodels for distribution system design", European Journal of Operational Research, vol.162, no. 1,pp. 4-29,2005中公开。k-PUFLP算法是“集中式”算法,S卩,中央实体知道网络内所有机顶盒的位置。每当新的机顶盒被添加到网络中,需要对所有的机顶盒重新计算各机顶 盒之间的文件的分发。由于放置、替换和重新安排(reshuffle)机顶盒中的内容成本也很 高,因此该k-PUFLP算法不太适合其中机顶盒充当客户机和主机的内容分发网络中高效的 内容放置。

发明内容
期望提供一种用于优化的和分布式的数据放置的方法和系统,使得每个机顶盒将 通过采用正确的决策而参与到整个放置处理中,而不必依赖于中央控制实例。下文中,与机 顶盒互换地使用术语网络站点。假设所有机顶盒的位置是已知的,本发明的一个目的是提供一种用于将“好的”子 流或者片段分配到每个机顶盒以便最小化这种内容分发服务的整体成本的方法。用于内容放置的本发明的方法考虑了盒之间的网络成本/距离。具体地,对机顶 盒的子流或片段的分发考虑了到其邻近的盒的网络距离/成本以及这些邻近的盒已经存 储了什么内容。本发明的方法的结果是通过为本地存储装置选择适当的子流或者片段来最 小化每个机顶盒的本地成本。根据本发明的一个或多个实施例,例如考虑到有限的存储容量,假设每个机顶盒 仅仅存储子流或片段的总数量中的一个子流或片段。然而,子流或片段的大小可以变化。另 外,子流或者片段不必由文件的连续的要素或部分的序列组成。本发明的方法可以用于在具有至少两个网络站点的网络上分发电子内容。所述网 络站点适配于存储内容和获取所存储的内容。按文件来组织所存储的内容,其中文件被划 分为片段。给定文件的全部片段是重构该给定文件所需要的。给定文件的一个或多个片段 被存储在各个不同的网络站点中。根据该方法,当另一网络站点被添加到该网络中时,所添 加的网络站点确定从网络的位于预定最大距离内的其他网络站点中可得到给定文件的哪 些片段。表述“给定文件”用于指示唯一的和明确的可识别的文件。这不是意味着将本发 明限制于一个特定的文件或一种特定的文件类型。在从网络的位于预定最大距离内的一个 或多个网络站点处给定文件的所有片段不都可得到的情况下,所添加的另一网络站点从比 预定最大距离还要远的另一网络站点处下载给定文件的一组缺失的片段中的随机片段。在 从网络的位于预定最大距离内的一个或多个其他网络站点处可得到给定文件的所有片段 情况下,所添加的网络站点确定位于预定最大距离内的一组网络站点。被这样确定的该组 网络站点包含位置最靠近所添加的网络站点的那些网络站点,同时被这样确定的该组网络 站点的全体使得重构完整的文件所需要的给定文件的所有片段可得到。然后所添加的网络 站点从之前确定的该组网络站点中位置最远的网络站点下载给定文件的片段。在本发明的方法的一个实施例中,所添加的另一网络站点确定它是否已存储了文 件的片段,以及它目前存储了文件的哪些片段。在本发明的方法的另一实施例中,所添加的另一网络站点初始地完全没有包含存 储的内容。在本发明的方法的另一实施例中,没有一个网络站点存储给定文件的所有片段。应注意,比预定最大距离还要远的网络站点可能是容纳了文件的所有片段的内容 服务器,或者是网络站点的另一编组中的一个或多个网络站点。
在本发明的方法的另一实施例中,内容服务器在网络初始化(initialisation) 时确定要由哪个网络站点来存储哪些片段。可以将初始化处理视作在内容服务器的控制 下对内容的预推送(pre-push)。一旦网络的初始化终止,内容的进一步分发可能依赖于来 自机顶盒的各个请求。内容的进一步分布还可以被视作是在各个机顶盒的控制下的预提取 (pre-fetch)0根据本发明的电子内容分发系统包括具有至少两个网络站点的网络。所述网络站 点适配于执行上述的方法。根据本发明的电子内容分发系统的网络站点可以包括用于发送和接收命令和数 据的网络接口。所述网络站点还可以包括微处理器以及程序和数据存储器。数据存储器可 以包括易失性以及非易失性存储器,具体地可以包括闪存和磁盘或光盘存储装置。网络站 点的程序存储器可以被编程为执行上述的方法步骤。在本发明的一个实施例中,网络站点适配于以及时的和按顺序的方式来流传输给 定文件的片段。另外,根据本发明的网络站点可以适配于接收给定文件的片段以用于重现 或者重构该文件。在优选实施例中,网络站点适配于在重现或重构已经接收的部分的同时 对给定文件的接收的片段进行缓冲。本发明的方法导致如此放置片段以使得对于被任意选择的任何机顶盒,到存储补 足文件所需的片段的其他机顶盒的距离最小化。对要本地地存储哪个片段的选择基于邻近 的机顶盒已经存储的片段。在一个实施例中,该方法考虑新添加的机顶盒关于邻近机顶盒的受限制的知识 (awareness)以及它们各自存储的内容。然而,新添加的机顶盒知道重构给定文件需要多少 个片段。新添加的机顶盒确定哪些片段在其相应的紧邻的相邻者处是可得到的,并且下载 一个或多个缺失的片段用于本地存储。被选择的所述一个或多个片段可以从中央服务器处 下载,或者从位置更远的其他机顶盒处下载。在每个机顶盒存储文件的仅仅一个片段的情 况下,该决策所考虑的相邻者的数量是文件的片段的数量减1。片段可以是以字节为单位基本上大小相等,或者在视频或音频文件的情况下,可 以根据回放的持续时间来选择片段,即,将片段选择为具有基本上相等的回放持续时间。然 而,具有较大的存储装置,或者较高的带宽,或者较低的用于上载的整体成本的机顶盒可以 取得较大的片段来存储。该决策依赖于要优化哪个参数,例如,网络负荷分布、每机顶盒或 者每网络部分的网络流量成本等等。


以下将参照附图来描述本发明,其中图1示出根据本发明的示例性系统;图2示意性地示出向新添加的机顶盒的文件片段的分发;以及图3示出根据本发明的示例性机顶盒的框图。在图中,利用相同的参考标记来指代相同或类似的元素。
具体实施例方式图1示出根据本发明的系统的一个示例。该系统包括内容服务器101、跟踪器102和多个机顶盒103、104。内容服务器101负责准备、存储内容并将内容发送给机顶盒103、 104。内容服务器101可以是中央服务器以及通用的内容递送网络服务。在该图中示出的示 例性实施例中,假设类似BitTorrent的对等体发现跟踪器102负责通过向所有的机顶盒 发送活动的机顶盒的列表来连接所有的机顶盒。然而,可以使用任何其他的发现协议。还 假设机顶盒103、104初始时不存储任何子流。应注意,机顶盒103、104当然可以在初始化 之前存储内容,例如这是由于网络内的机顶盒的位置的改变所引起的。机顶盒103、104必 须遵从所定义的协议来决定其应存储哪个子流,然后下载被这样确定的子流。当新的机顶盒104加入网络时,它向跟踪器102发送请求。在图中加入网络的新的 机顶盒104被标记为“盒b”。如以上所注明的,在示例性实施例中,新添加的机顶盒104的 本地存储装置初始时是空的。由被标记为“1”的虚线箭头来指示对跟踪器102的请求。当 在机顶盒中存储的子流之一变为废弃(obsolete)时,也可以发送该请求。在这种情形中, 该机顶盒也需要请求新的子流来替换废弃的子流。类似于BitTorrent协议,示例性系统中的跟踪器102负责连接所有的机顶盒。为 此,它可以维护所有活动的机顶盒的索引。当跟踪器102从新添加的机顶盒104接收到请求 时,它发送回活动的机顶盒103的列表。在图中由被标记为“2”的虚线箭头来指示发送回 活动的机顶盒103的列表。这导致建立机顶盒103、104的重叠(overlay)网络。应注意, 还可以使用没有跟踪器的架构,例如,分布式哈希表(DHT)或者纯分布式架构。一旦新添加的机顶盒104 (盒b)接收到活动的机顶盒103的列表时,“盒b”测量 它与该列表中的所有机顶盒103的距离,并且检查其他机顶盒103实际存储了哪个子流。机 顶盒104然后确定3元组(tuple)数据集合,该3元组数据集合包括每个机顶盒103的唯一 的标识符(boxID)、距离和/或成本的值,以及列表中每个机顶盒103容纳的子流。如以上 提到的,网络距离或成本的定义取决于优化的目标。例如,如果要减少网络流量,则路由器 级别或者AS级别中继段的数量可以指示网络距离。AS是“自治系统(AutonomousSystem) ” 的缩写,即,虽然是自足的(self-contained)但允许访问其他自治系统的系统。新添加的 机顶盒104基于邻近的机顶盒103的距离和内容可用性这两者的知识来确定要本地地存储 哪个子流。应注意,机顶盒104自身设置的对3元组数据集合的确定也可以被机顶盒104外 部的第三方服务所替换。例如,可以设想当新添加的机顶盒104发出请求时,跟踪器102将 该服务集成并且直接提供例如作为活动的机顶盒103的列表的一部分的测量结果。还可以 使用如Vivaldi或者Meridian的分布式距离估算协议。优选地,距离测量考虑了在实际数据下载期间使用的路由策略。例如,两个机顶 盒103可以位于两个直接连接的AS (自治系统)中,但是不幸的是,在这两个AS之间的 链路成本非常高。当ASl从AS2下载内容时,实际使用通过第三AS的另一路由(例如, AS1-AS3-AS2)而不是直接链路来用于数据分组。在这种情形下,应该使用经由AS3从ASl 到AS2的路由来进行距离计算。新添加的机顶盒104基于在之前的步骤中获得的测量结果来决定它应该下载哪 个子流。为了限制计算的复杂性并减少由测量自身造成的网络流量,设置阈值ο可能是 有用的。所有位于比ο大的距离的机顶盒103将不被测量并且在进行决策时将不被考虑。
在所有所考虑的机顶盒103中,变量C表示这些机顶盒103的全体已经存储的子 流的集合。变量k表示完整数据文件或视频文件的子流的数量。一旦C被计算,则存在两 种可能的情境C| <k:这意味着C没有包含所有必需的子流。在这种情形下,新添加的机顶盒 104从不是所考虑的机顶盒103的一部分的任何源下载C的所有缺失的子流中的随机子流。C| = k 在机顶盒104的邻近处可以找到视频或数据文件的所有子流。在这种 情形下,机顶盒104将下载并存储“最远的”子流。“最远的”子流被定义为如果机顶盒104 想要使用预定的路由协议获取其副本(replica),将产生最大成本的那一个子流。应注意, “最远的”子流可以不同于最远的盒存储的子流。图2示出了被添加了新的机顶盒的示例性网络,并且在下文中该示例性网络将用 于阐明确定要下载并存储哪个片段的处理。 在所示出的示例中,假设文件X的片段总数为k = 2,S卩,文件X被划分为2个子流 或者片段1/2、2/2。该系统包括机顶盒1031和1032,两个机顶盒都存储文件X的片段1/2。 机顶盒1034存储文件X的片段2/2。新的机顶盒1033被添加并且发现其三个相邻者,机顶 盒1031、1032和1034。如上提到的,它们中的每一个已经容纳一个子流。新的机顶盒1033 测量到它的相邻者的距离并且还检查它们存储哪些子流。然后,新的机顶盒1033运行本发 明的方法来决定要本地地存储哪个子流。根据本发明,它将选择最远的子流(在该示例中 为子流2/2)而不是子流1/2。这是因为机顶盒1031已经存储了子流1/2并且位置靠近机 顶盒1033,而存储子流2/2的机顶盒1034比机顶盒1031相对更远。虽然机顶盒1032位 置比机顶盒1034还要远,但存储子流1/2的另一拷贝将不会减少所有需要的子流的整个距 罔。机顶盒1033然后可以从内容服务器和存储该子流的其他活动的盒并行地下载所 选择的子流。一旦下载结束,就完成了新添加的机顶盒1033所发送的请求。前面描述的步骤表示一个机顶盒怎样选择给定文件的一个子流。可以在相同的机 顶盒中存储不同文件的子流。根据本发明的一个方面,独立的服务可以确定在每个机顶盒 中要存储的文件的集合。该服务还可以考虑文件的受欢迎程度、用户的偏好等等。一旦确 定文件的集合,就根据本说明书中描述的方法在机顶盒中放置相应的片段。图3示出根据本发明的机顶盒103的框图。机顶盒包括用于发送和接收数据和命 令或请求的网络接口 1103。另外,提供适配于执行本发明的方法的微处理器2103。存储器 3103可以伴随微处理器来执行程序。存储器可以包括闪存、SRAM、SDRAM或者光或磁的存储 装置,或者它们的组合。前面描述的本发明提供了一种改进的用于内容分发网络(CDN)的内容分配/放置 的方法,该内容分发网络是所谓的“以盒为动力的”,即,使用分布式的用户机顶盒来存储和 分发。本发明有利地提高了分发和相关联的流量的效率。此外,本发明有利地允许内容分 发的分布式管理。另外,本发明的方法是高度自适应的。服务提供商可以定义不同的自身 的距离/成本参数并且实现完全定制的优化。
权利要求
用于在网络上分发电子内容的方法,所述网络包括至少两个网络站点,所述至少两个网络站点适配于存储内容和获取所存储的内容,其中按文件来组织所存储的内容,其中文件被划分为片段,给定文件的全部片段是重构该给定文件所需要的,其中给定文件的一个或多个片段被存储在各个不同的网络站点中,当向该网络添加网络站点时,所述方法包括以下步骤-所添加的网络站点确定从网络的位于预定最大距离内的其他网络站点中可得到给定文件的哪些片段;其中,在从网络的位于预定最大距离内的一个或多个其他网络站点处给定文件的所有片段不都可得到的情况下,所述方法进一步包括以下步骤-所添加的网络站点从位置比预定最大距离更远的另一网络站点处下载给定文件的一组缺失的片段中的随机片段;其中,在从网络的位于预定最大距离内的一个或多个其他网络站点处可得到给定文件的所有片段的情况下,所述方法进一步包括以下步骤-所添加的网络站点确定位于预定最大距离内的一组网络站点,所确定的组包含位置最靠近所添加的网络站点而同时使得可得到重构完整文件所需要的给定文件的所有片段的那些网络站点;-所添加的网络站点从所确定的该组网络站点中位于最远处的网络站点下载给定文件的片段。
2.根据权利要求1的方法,其中没有一个网络站点存储给定文件的所有片段。
3.根据权利要求1的方法,其中所述片段具有预定的最大尺寸。
4.根据权利要求1的方法,其中在一个网络站点上存储的文件的片段可以表示相应总 的文件的连续的或非连续的部分。
5.根据权利要求1的方法,其中所添加的网络站点确定它当前已存储了文件的哪些片段。
6.根据权利要求1的方法,其中所添加的网络站点初始时未存储内容。
7.根据权利要求1的方法,其中所述比预定最大距离更远的网络站点包括容纳文件的 所有片段的内容服务器。
8.根据权利要求1的方法,其中,当初始化网络时,内容服务器确定要由哪些网络站点 存储哪些片段。
9.根据权利要求1的方法,其中距离的计算基于网络成本、路由器中继段、传送等待时 间、传送延迟,或者它们的组合。
10.电子内容分发系统的网络站点,所述网络站点包括用于发送和接收命令和数据的 网络接口、微处理器以及程序和数据存储器,其中所述网络站点适配于在被添加到网络时 执行根据权利要求1-9中的任一项的方法。
11.根据权利要求10的网络站点,其中所述网络站点适配于以及时的和按顺序的方式 来流传输文件的片段,和/或适配于在重现在该网络站点上已经可得到的文件的部分的同 时接收文件的片段并且对所接收的片段进行缓冲。
12.电子内容分发系统,包括具有至少两个根据权利要求10或11所述网络站点的网
全文摘要
内容分发网络,具有至少两个适配于存储和获取内容的网络站点。内容被划分为分散在不同网络站点上的片段。当将另一网络站点添加到该网络时,它确定从预定最大距离内的其他网络站点中可得到所期望的内容的哪些片段。在从预定最大距离内的其他网络站点所期望的内容的所有片段不可都得到的情况下,所添加的网络站点从比预定最大距离更远的网络站点下载所期望的内容的一组缺失的片段中的随机片段。否则,所添加的网络站点确定位于预定最大距离内具有与所添加的网络站点的最靠近的距离、同时它们的全体使得可得到重构完整文件所需要的期望的内容的所有片段的一组网络站点。然后所添加的网络站点从之前确定的该组网络站点中位于最远处的网络站点下载所期望的内容的片段。
文档编号H04L29/06GK101888403SQ20101018079
公开日2010年11月17日 申请日期2010年5月13日 优先权日2009年5月15日
发明者吉勒斯·斯特劳布, 格温达尔·西蒙, 陈宜平 申请人:汤姆森特许公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1