用于递送自主播放的内容的系统的制作方法

文档序号:7942947阅读:108来源:国知局
专利名称:用于递送自主播放的内容的系统的制作方法
技术领域
本发明涉及用于内容递送的方法和系统。
背景技术
内容递送网络或内容分发网络(CDN)是在互联网上彼此联网的用于向客户端递 送内容(特别是媒体内容)的计算机(内容服务器)的系统。由于对内容的请求来自不同 位置以便有时遵循某些观看模式,所以内容递送网络难以控制和管理。为了优化性能, 可选择靠近客户端的内容服务器和媒体内容的位置。必须考虑许多参数以优化内容递送 网络中的媒体递送,例如-内容服务器的数量;-客户端和内容服务器的位置;-资产(媒体内容)的位置;-资产的受欢迎度;_网络中的可用带宽;-移动内容的成本。如果想要利用中央管理系统来控制全局CDN,则当涉及到用户行为时的参数的 数量和不可预测性使这个问题变得非常复杂。现有的解决方案试图以集中化方法来解决这个问题。在这些不同的解决方案中 考虑所有参数试图将内容放置在网络中的最佳位置。但是,这种环境的动态性使得算法 高度复杂,并且做出和实现全局决定要花费很长的时间。与本发明有关的另一技术领域是移动对象(又称为移动代理)。移动对象是有时 可从网络中的一个主机迁移到另一个主机并迁移到它们自己选择的地点的程序(软件)和 相关联的数据。在新的主机中,它们可接着继续运行,从而可能与本地执行环境交互。 例如,在 I"9 年 8 月的 “ACM Operating System Review” (pp 7-13)中由 Kotz 等人发表 的论文“Mobile Agents and the Future of the Internet”中论述了移动对象。在美国专利 7254608中公开了利用移动代理的示例。该专利公开了利用移动代理来管理对等网络中的 内容分发的系统和方法。在该专利中,移动代理可在行程上访问对等节点以搜索和收集 有关存储在受访对等机上的分发器内容的信息。

发明内容
本发明涉及如何避免如上所述的管理内容递送网络的缺点的问题。该问题在本发明中通过将内容本身(例如媒体文件)放置在移动对象(代理)中 来解决。本发明包括一种用于将内容递送给客户端的内容递送系统。该内容递送系统包 括至少一个移动对象,这至少一个移动对象不仅适于在内容递送系统上执行,而且还适 于在其它内容递送系统上执行。这些移动对象的特征在于,它们包括-可供客户端访问的媒体文件;
_策略数据库;以及-执行逻辑,其适于监视与客户端对媒体文件的访问有关的数据,询问策略数据 库,并且当满足存储在策略数据库中的某些条件时,向另一个内容递送系统移动或复制 该移动对象。本发明还包括一种用于将内容放置在内容递送网络中的方法。在该方法中,移动对象(如上所述,包括策略数据库和可供客户端访问的媒体 文件)在一个内容递送系统中执行。移动对象监视与客户端对媒体文件的访问有关的数 据,并且当满足存储在策略数据库中的某些条件时,移动对象将它本身移动或复制到另 一个内容递送系统。作为一个选择,移动对象从原始的内容递送系统移动到另一个系统,而不会在 原始系统中留下任何痕迹。移动对象可适于在另一个内容递送系统中开始执行时保持它 的执行状态,或者它可适于在执行之前重设执行状态。另一个选择是将原始内容递送系统中的移动对象复制到另一个系统,并且原始 系统中的移动对象继续与该另一个系统中的移动对象并行执行。本发明使得内容(例如媒体文件)变成自主性的。自主在这里的意思是,移动 对象足够智能以监视与客户端对媒体文件的访问有关的数据(例如,已经下载媒体文件 的次数、本地链路利用率测量、链路成本等),并做出合适的决定。代替利用中央服务器 (或一对服务器)来采集全局信息并做出全局决定,本发明包括基于本地信息做出本地决 定的移动对象。这将高度简化通过内容递送网络放置和控制内容的方法。因此,本发明的目的是克服上文提到的缺点。本发明具有几个优点鲁棒性;该系统之所以更具鲁棒性是因为,它以强大的故障隔离特性为特征。 移动对象是依赖于本地环境而非依赖于集中化系统的独立软件片段。向这种分布式系统 启动拒绝服务攻击变得更难。没有中心故障点;控制和管理功能性的均等分配带来良好的负荷分配,而不会 带来中心故障点。简单;通过允许基于本地认知做出本地决定而消除了传统的全局优化算法的复 杂性。更低的维护/管理成本;简单性导致整个系统的维护成本更低。现在将参考附图利用优选实施例更详细地描述本发明。


图1是示出内容递送网络的框图。图2是示出根据本发明的内容递送系统和移动对象的第一实施例的框图。图3a和3b是示出根据本发明用于在内容递送网络中分配内容的方法的流程图。图4a是示出根据本发明的内容递送系统的第二实施例的框图。图4b是示出内容递送系统的 实现的一个实施例的框图。
具体实施例方式图1示出内容递送网络CDN 100的示例。在这个示例中,CDN 100包括四个内 容服务器111、112、113和114。这些内容服务器111-114通过包括多个路由器或交换 机(switch) 121、122和123的网络互连。在内容服务器111中,存储了媒体文件1111。 在这个示例中,媒体文件1111可供五个不同的客户端131、132、133、134和135访问。 由于大多数客户端设置在较服务器111而言更靠近服务器112的位置,所以值得考虑的是 将内容(即,来自服务器111的媒体文件1111)移动到服务器112。 “更靠近”在这里 可以是基于网络的距离,例如服务器111、112与客户端131-135之间的节点跳数(number of node hops)。通过将内容移动到更靠近客户端133、134和135的位置,传输资源得以 保存在网络100中,延迟将更少,并且响应时间将更快速。在已知的现有技术中,通过中央操作和管理中心OMC 190管理内容服务器 111、112、113和114。如上所述,这个解决方案具有多个缺点。图2描述本发明的一个实施例。这里,内容递送系统是根据本发明的内容服务 器1210和移动对象212。内容服务器1210包括执行环境211和至少一个移动对象212。 移动对象212包括媒体文件213。这个媒体文件213可以是数据文件,如电影、流式视频 (streaming video) >游戏、音频文件、文档(其可在动作231中由客户端230、240访问以 供在线观看或下载)等。移动对象212还包括执行逻辑214。执行逻辑包括用于执行移动对象212的程序 代码215和数据区216。执行逻辑214还在动作231中处理来自客户端230、240的想要 访问媒体文件213的请求。优选地,程序代码215的编程语言可以是Java,它是用于实 现移动对象的最常用的编程语言,因为它与平台独立。数据区216还包括与客户端230、 240对媒体文件213的访问有关的数据,例如_(客户端230、240与移动对象212之间的)有效连接的数量;-对移动对象212的总的访问次数;-每个时间单位已经访问媒体文件213的次数(例如,每分钟的访问次数);-访问媒体文件213的客户端230、240的位置(例如,利用客户端230、240的 源IP地址);_其它服务器的位置。除了监视移动对象212的数据区216中的数据之外,执行逻辑214还适于在动作 241中监视与执行环境211有关的数据,例如-可用带宽和/或处理器负荷;-内容服务器210与客户端230、240之间的可用通信链路;-通信链路使用率(usage)和/或链路成本。移动对象212还包括策略数据库217。这个数据库217适于包括可触发移动对象 212的动作的任何种类的特定应用策略,例如-每个时间单位对媒体文件213的最大和最小可接受访问次数;-移动对象212将消耗的最大和最小可接受带宽;-传送媒体文件(213)的最大网络成本。
通过利用与媒体文件213的访问和执行环境211有关的数据216并询问策略数据库217,执行逻辑214可例如确定访问媒体文件213的大多数客户端240设置在靠近另一 个服务器、即内容服务器2220的位置。在满足存储在策略数据库217中的某些条件的情况下,执行逻辑214可在动作 250中触发将移动对象212从内容服务器1210移动到具有它自己的执行环境221的内容服 务器2220的过程。在这个过程中,移动对象212停止为来自客户端230、240的请求进行服务。暂 停与客户端230、240的有效连接。移动对象212通过利用合适的信令协议(例如,改进 的TCP)来通知客户端230、240关于此暂停。此信令通常要求来自执行环境211和基础 操作系统的一定支持。另一方面,执行环境211和221不知道移动对象212来自哪里或 它接下来要到哪里去。 在移动过程中,移动对象212从原始的内容服务器1210移动到内容服务器 2220,而不会在内容服务器1210中留下任何痕迹。在满足存储在策略数据库217中的其它条件的情况下,执行逻辑214可触发将移 动对象212从内容服务器1210复制到内容服务器2220中的新移动对象222的过程。在 此情况下,内容服务器1210中的移动对象212继续与副本222并行执行。移动对象212的副本222可适于在内容服务器2220中开始执行时保持它的执行 状态,或者它可适于在执行之前重设执行状态。为了使之前未连接的客户端找到移动对象212的新位置,禾Ij用例如DNS(域名服 务)重定向来启动名称解析过程。还可能发生的情形是,在特定时间段中只有很少(或根本没有)客户端访问媒体文 件213。这可以指示媒体文件213已经变得不那么受欢迎,或者指示客户端240设置在靠近 已经拥有媒体文件213的副本的另一个内容服务器2220的位置。在这种情况下,执行逻辑 214可做出简单地令内容服务器1210中的移动对象212 “死亡”并删除它本身的决定。图3a和3b中的流程图示出根据本发明用于在内容递送网络100中分配内容的方 法的实施例。在步骤301,移动对象212在原始服务器210中执行。在执行期间,它在 步骤302监视与客户端对媒体文件213的访问有关的数据。此数据可由移动对象本身212 收集并存储在数据区216中。该数据也可设置在执行环境211中并在动作241中供移动 对象212访问。在步骤303,检查是否可删除媒体文件213。如果特定时间段已过去而没有任何 客户端230、240访问媒体文件213或者已经很少访问媒体文件213,则在步骤304,移动 对象212可做出停止执行并删除它本身的决定。对此的条件存储在策略数据库217中。 反之,如果媒体文件213很受欢迎,但是主要由设置在更靠近另一个内容服务器220的位 置的客户端240访问,则移动对象212在步骤305做出将移动对象212移动到该另一个服 务器220的决定。但是,在步骤307中将移动对象发送给该另一个内容服务器220之前, 移动对象212在步骤306中停止对媒体文件213的访问并暂停客户端230、240与移动对 象212之间的有效连接。如果步骤305中的决定是不移动媒体文件213,则流程图在图3b中继续(圈起来 的数字“2”)。如果媒体文件213在客户端230 (靠近内容服务器1210)和客户端240 (靠近内容服务器2220)所在的区域都受欢迎,则移动对象212可在步骤308(现在转到图3b)做出在 步骤309中复制它本身而不是移动的决定。在将移动对象212的副本222发送给内容服 务器2220之前,在步骤310检查是保持还是重设存储在副本222的数据区216中的当前 的执行状态。如果要保持状态,则在步骤312将移动对象212的副本222 ( “复制品”) 发送给内容服务器2220。如果要重设状态,则在步骤311重设状态,并在步骤312发送 副本222(新“实例”)。在步骤312中发送副本222之后,过程如图3a所示整个重新 开始(圈起来的数字“1”)。如果移动对象212在步骤308决定不复制它本身,则情况 也是如此。在上述实施例中,本发明适用于从一个内容服务器210移动和/或复制到另一个 内容服务器220的移动对象212。本发明概念还允许移动对象212在具有允许执行移动对 象212的执行环境的其它内容递送系统之间迁移。这样的一个示例是对等P2P网络。图4a示出包括多个终端401、402、403、404 的P2P网络400。在这个示例中,所有终端401-404完全网状连结地彼此相连。内容递 送系统(210)在这里对应于任何终端401-404。假设移动对象405设置在终端401中,则 移动对象405可在动作407中决定将它本身移动到另一个终端404。如果需要,本发明概念还允许移动对象212在相同的内容递送系统210中移动和 /或复制它本身。本发明的又另一个方面是,可将内容递送系统220视为是在将移动对象212移动 或复制到执行环境221中时动态创建的内容递送端点(内容源)。作为一个示例,当将根 据本发明的移动对象212复制或移动到内容服务器220的执行环境221中时,原本不是内 容服务器但一般具有适于移动对象的执行环境221的服务器可变成内容服务器2220。此外,通过利用本发明 概念,技术人员可创建更适当的适合管理特定内容递送 网络的不同策略和对应的行为。图4b示出内容递送系统210的实现的示例。系统210包括设计成执行存储区 420中的软件的处理器410。这个存储区420包括执行环境430和至少一个移动对象MO 421、422、423。每个移动对象421、422、423适于与执行环境430通信。
权利要求
1.一种用于将内容递送给至少一个客户端(230)的内容递送系统(210),所述系统 (210)包括处理器(410)和存储区(420),且其特征在于,至少一个移动对象(212),所 述至少一个移动对象(212)适于存储在所述存储区(420)中并适于在所述内容递送系统(210)和在至少一个第二内容递送系统(220)中执行,并且其中所述移动对象(212)包 括-可供所述客户端(230)访问的媒体文件(213); -策略数据库(217);以及 -执行逻辑(214),适于监视与所述客户端(230)对所述媒体文件(213)的访问有关 的数据,询问所述策略数据库(217),并且当满足存储在所述策略数据库(217)中的某些 条件时,将所述移动对象(212)移动或复制到所述第二内容递送系统(220)或删除所述移 动对象(212)。
2.如权利要求1所述的内容递送系统(210),其中所述移动对象(212)中的所述执行 逻辑(214)包括程序代码(215)和数据区(216)。
3.如权利要求2所述的内容递送系统(210),其中所述移动对象(212)中的所述数据 区(216)包括与所述客户端(230)对所述媒体文件(213)的访问有关的数据。
4.如权利要求3所述的内容递送系统(210),还包括适于移动对象(212)的执行环境(211),并且其中所述移动对象(212)中的所述执行逻辑(214)还适于监视(241)与所述 执行环境(211)有关的数据。
5.如权利要求3所述的内容递送系统(210),其中所述数据区(216)包括以下数据中 的任何数据-对所述移动对象(212)的访问次数;-所述客户端(230)与所述移动对象(212)之间的有效连接(231)的数量; -每个时间单位已经访问所述媒体文件(213)的次数; -访问所述媒体文件(213)的所述客户端(230,240)的位置; -其它内容递送系统(220)的位置。
6.如权利要求4所述的内容递送系统(210),其中与所述执行环境(211)有关的所述 数据包括以下数据中的任何数据-可用带宽和/或处理器负荷;-所述内容服务器(210)与所述客户端(230,240)之间的可用通信链路; -通信链路使用率和/或链路成本。
7.如权利要求3所述的内容递送系统(210),其中所述策略数据库(217)包括以下数 据中的任何数据-每个时间单位对所述媒体文件(213)的最大和最小可接受访问次数; _所述移动对象(212)将消耗的最大和最小可接受带宽; _传送媒体文件(213)的最大网络成本。
8.如权利要求1-7中任一项所述的内容递送系统(210),其中所述系统(210)是内容 服务器。
9.一种用于将内容放置在内容递送网络(100)中的方法,其特征在于以下步骤-在第一内容递送系统(210)中执行(301)移动对象(212),所述移动对象(212)包括执行逻辑(214)、策略数据库(217)和可供至少一个客户端(230)访问的媒体文件 (213);-监视(302)与所述客户端(230)对所述媒体文件(213)的访问有关的数据;以及 -当满足存储在所述策略数据库(217)中的某些条件时,将所述移动对象(212)的副 本(222)移动(307)或发送(312)到第二内容递送系统(220),或删除(304)所述移动对 象(212)。
10.如权利要求9所述的方法,还包括以下步骤监视(302)与适于所述内容递送系 统(210)中的移动对象(212)的执行环境(211)有关的数据。
11.如权利要求9所述的方法,还包括以下步骤在将所述移动对象(212)移动(307) 到所述第二内容递送系统(220)的所述步骤之前,暂停(306)有效连接,并停止(306)执 行所述移动对象(212)。
12.如权利要求9所述的方法,包括以下步骤在将所述移动对象(212)的所述副本 (222)发送(312)到所述第二内容递送系统(220)的所述步骤之前,重设(311)所述副本 (222)中的执行状态。
13.如权利要求12所述的方法,还包括以下步骤继续(301)在所述第一内容递送系 统(210)中执行所述移动对象(212)。
14.一种用于创建内容递送系统(210)以将内容递送给至少一个客户端(230)的方 法,其特征在于以下步骤通过非内容递送系统接收包括可供所述客户端(230)访问的媒体文件(213)的移动对 象(212),所述非内容递送系统是服务器,并且具有适于移动对象的执行环境(211)。
全文摘要
当前的内容递送环境的动态性要求利用高度复杂的算法。公开一种用于在内容递送网络(100)中将内容递送给客户端(230,240)的内容递送系统(210),还包括一种用于将内容放置在内容递送网络(100)中的方法。内容递送系统(210)包括至少一个移动对象(212),这至少一个移动对象不仅适于在内容递送系统(210)上执行,而且还适于在其它内容递送系统(220)上执行。每个移动对象(212)包括媒体文件(213),并且适于监视与客户端(230,240)对媒体文件(213)的访问有关的数据。当满足某些条件时,例如当访问媒体文件(213)的许多客户端(230,240)更靠近另一个内容递送系统(220)时,移动对象(212)可决定将它本身移动或复制到这另一个内容递送系统(220)。
文档编号H04L29/06GK102017568SQ200880129139
公开日2011年4月13日 申请日期2008年6月4日 优先权日2008年5月7日
发明者V·索扎 申请人:爱立信电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1