混合型内容分发网络(cdn)和对等(p2p)网络的利记博彩app

文档序号:6456319阅读:283来源:国知局
专利名称:混合型内容分发网络(cdn)和对等(p2p)网络的利记博彩app
技术领域
本发明 一般涉及分布式网络中的内容分发。
背景技术
分布式计算机系统在现有技术中是已知的。 一个这样的分布式计 算机系统是由服务提供商运营和管理的"内容分发网络"或"CDN"。服 务提供商通常代表第三方提供服务。这种"分布式系统"通常是指通过 网络链接起来的自治计算机的集合,以及被设计为执行各种服务的软 件、系统、协议和技术,如外包站点基础架构的内容分发或支持。通 常,"内容分发,,是指,代表内容提供商存储、緩存或传输内容、流媒 体和应用程序,包括与此一起使用的辅助技术,包括但不仅限于,DNS 处理请求、提供、数据监控和报告、内容定向、人格化、以及业务智 能。术语"外包站点基础架构"是指分布式系统和相关联的技术,其能 够使一个实体完全地或部分地代表第三方操作和/或管理第三方的网 站基础架构。
对等(P2P)网络在现有技术中也是已知的,并已经用于文件共 享及其他目的。对等(或P2P)计算机网络主要依赖网络中的参与方 的计算能量和带宽,而不是集中于专用服务器的给定集合。P2P网络 通常用于通过大规模的自组织连接来连接节点。纯粹的对等网络没有 客户端或服务器的概念,而是只有同时充当网络上的其他节点的"客户 端,,和"服务器,,的相同对等节点。 一些实体和业务模型使用混合方法,
4如对于某些任务(例如,搜索)使用客户端-服务器结构,而对于其他 任务使用对等结构。

发明内容
内容分发网络(CDN)通常包括用于将请求定向到CDN服务器 的映射系统。 一个或多个对等机器与CDN关联,然后,使用CDN映 射系统以使给定对等端能够定位P2P网络中的另一个对等端,和/或 CDN服务器。通过使用此混合方法,可以从CDN边缘网络,从P2P 网络,或从这两种网络分发CDN消费内容。在一个实施例中,将消 费内容上传到CDN,并存储在边缘网络中,或存储在与其关联的存储 网络。然后,使用CDN边缘网络启动(prime) P2P网络,该P2P网 络可以用来接管消费内容的某些内容分发要求。可以基于负载和业务 流状况决策是使用边缘网络还是使用对等网络资源来进行分发。
前面的内容概述了本发明的某些更贴切的特征。这些特征应该解 释为只是说明性的。通过以不同的方式应用所说明的发明或通过修改 如下文所述的本发明,可以获得许多其他有益的结果。


为更完整地理解本发明以及其优点,将结合附图参考以下
描述,在附图中
图l是其中可以实现这里的主题的代表性的内容分发网络; 图2是图1的内容分发网络的代表性的边缘服务器(edge
server ) 5
图3是代表性的混合型CDN-P2P网络;以及 图4是包括作为对等客户端提供的下载管理器的代表性的对 等的因特网可访问的机器。
具体实施例方式
本发明可以在诸如图1和2中所显示的内容分发网络中实现。然而,在CDN中使用不是局限性的,本发明可以在一个实体运营分布 式网络(从该分布式网络中分发第三方内容)的任何环境中实现。
在代表性的实施例中,分布式计算机系统100被配置为CDN, 并且假设它具有分布在因特网中的一组机器102a-n。通常,大多数机 器是位于因特网的边缘附近的服务器,即,位于终端用户接入网络或 与它们相邻。网络操作命令中心(NOCC) 104可以用来管理系统中 的各种机器的操作。第三方站点,如网站106,将内容(例如,HTML、 嵌入的页对象、流媒体、软件下载等等)的分发卸载到分布式计算机 系统100,具体来说,卸载到"边缘"服务器。通常,内容提供商通过
域名服务进行管理的域(例如,通过DNSCNAME),卸载它们的内 容分发。需要这种内容的终端用户可以被定向到分布式计算机系统, 以更加可靠而有效地获取该内容。虽然未详细地显示,但是,分布式 计算机系统也可以包括其他基础架构,比如分布式数据收集系统108, 其从边缘服务器收集使用情况及其他数据,聚集一个区域或几个区域 的集合上的该数据,并将该数据传递到其他后端系统110、 112、 114 和116,以促进监控、记录日志、警告、记帐、管理及其他操作和管 理功能。分布式网络代理118监控网络以及服务器负载,并向DNS 查询处理机制115提供网络、流量和负载数据,该机制115对于由CDN 进行管理的内容域是权威性的。分布式数据传输机制120可以用来向 边缘服务器分发控制信息(例如,用于管理内容、促进负载平衡的元 数据等)。如图2所示,给定机器200包括运行支持一个或多个应用 206a-n的操作系统内核(如Linux或变种)204的商品石更件(例如, Intel Pentium处理器)202。为促进内容分发服务,例如,给定机器 通常运行一组应用,比如HTTP网页代理服务器207、名称服务器208、 本地监控进程210、分布式数据收集进程212,等等。对于流媒体,根 据所支持的媒体格式的需要,机器通常包括一个或多个媒体服务器, 比如Windows Media Server ( WMS )或Flash 2.0月艮务器。
如图2所示的CDN边缘服务器被配置为提供一个或多个扩展的内容分发特征,优选地在域特定、消费者特定的基础上进行,优选地 使用通过使用配置系统分发给边缘服务器的配置文件。给定配置文件
优选是基于XML的,并且包括实现一个或多个高级内容处理特征的 一组内容处理规则和指令。配置文件可以通过分布式数据传输机制被 分发给CDN边缘服务器。美国专利No.7,111,057示出了用于分发和 管理边缘服务器内容控制信息的有用的基础架构,并且此边缘服务器 控制信息及其他边缘服务器控制信息可以由CDN服务提供商本身提 供,或(通过外部网等)由操作源服务器的内容提供商消费者提供。 然后,当边缘服务器管理器进程接收到对内容的请求时,它搜索索引 文件,以查找与与该请求相关联的消费者主机名的匹配。如果没有匹 配,则边缘服务器进程拒绝该请求。如果有匹配,则边缘服务器进程 从配置文件加载元数据,以确定它将如何处理该请求。在美国专利 No.7,240,100中描述了该处理进程。
CDN DNS查询处理才几制将每个用户请求定向到用于进行内容分 发的给定CDN服务器。在实现此机制的一种方法中,"顶级,,映射将 特定请求定向到给定的若干服务器区域中的一个,而"低级,,映射进一 步将请求定向到一个区域内的给定服务器。如此,例如,顶级映射可 以最快速地将每个因特网IP地址块与可以向该块中的客户端分发内 容的CDN服务器区域相关联。为准备生成此映射,映射代理(例如, 每个CDN服务器区域一个映射代理)可以收集下列信息(a) IP块
(当前在因特网中使用的IP地址块的列表),(b)负载(当前由CDN 处理的网页(web)负载量的每个IP块的测量值),(c)通信成本
(例如,列出了每个(IP块,CDN服务器区域》对的测量的通信成本的 表格),以及,(d)容量(例如,每个CDN服务器区域的聚合服务 器和网络容量)。可以使用不同的方法的組合来综合代表所有叶子网 络(例如,全局因特网上的端点LAN)的IP块的列表BGP对等、 从网络注册数据库(例如,RIPE、 APNIC和ARIN)收获信息、和随 机跟踪路由(traceroutes )到非常大的块中(例如,UUNET )。可以 通过从CDN内容服务器收集并聚合测量值来确定每个IP块生成的CDN上的负载。可以使用一个或多个不同的通信成本来确定IP块和 CDN服务器区域之间的通信的成本服务器区域的网络健康(例如, 指出该区域是正常运行还是停止运行的二进制度量)、该块和服务器 区域之间的ASPATH长度(例如,如BGP所提供的)、区域的映射 代理和IP块中的给定点之间的往返时间(RTT)、区域的映射代理和 IP块中的给定点之间的分组丢失率、地理距离,也许还有其他通信成 本。这些度量可以结合到每个IP块、服务器区域对的单一成本度量, 每个单个度量的优先级或权重被设置为与其在列表中的位置成正比。 可以进行两种容量测量每个区域中的总的服务器容量和每个区域中 的物理网络容量。例如,根据在一个区域当前正在运行的服务器的数 量来确定服务器容量。例如,利用分组对测量值,来确定物理网络容 量。可以作为这两个测量值的给定函数(例如,最小值)来计算区域 容量。
在此实例中,顶级映射将每个IP块映射到给定CDN服务器区域。 用于生成顶级映射的一种技术涉及识别每个IP块的若干个候选区域 (例如,基于(IP块,服务器区域}通信成本),使用所有测量的和收 集的网络信息生成二分图(例如,图的一侧代表每个IP块,另一侧代 表CDN服务器区域),然后,对该图运行最小成本流算法。给每个 IP块节点都标记了其测量的负载,这被视为来自该节点的"流"。运行 该算法导致向服务器区域最佳地分配IP块负载。此分配是顶级映射, 这是定期生成的并且然后被分发给动态DNS处理请求机制。
上面的映射生成过程只是示例性的,不对本发明构成限制。因此, 作为一种替代方法,顶级可以基于例如BGP或地理信息执行对给定边 缘服务器区域的第一委派。在给定区域内,可以进行一个或多个其他 决策。因此,例如,区域中的低级名称服务器可以使用第一映射以决 定哪一个区域应该接收请求(这可以是也可以不是顶级向其委派请求 的区域);然后,选定区域中的低级名称服务器可以使用第二映射来 选择区域内的边缘服务器网页代理服务器以处理该请求。为创建映射, 每个边缘服务器区域中的软件代理定期对公众因特网上的设备或位置进行测试(例如,ping和追踪路由)。从那些测试收集的数据被提供 到各种映射生成过程。
这里的主题描述了混合型CDN和P2P网络("混合型 CDN-P2P")。因此,例如,P2P网络的一个或多个对等端被用作CDN 的边缘服务器或边缘服务器区域;作为替代地,P2P中的给定对等端 通过利用从CDN基础架构可获得的给定特征或数据来利用CDN。作 为另一替代,如果给定对等端不能从另一个对等端定位内容,P2P网 络使用CDN作为给定内容的失效转移源。
图3显示了基本的混合型CDN-P2P网络。在此仅是代表性的实 例中,P2P网络300包括对等机器302和对等机器304,并且对等机 器302形成CDN的一部分,或具有访问并使用给定CDN基础架构或 组件或数据的能力。将对等端配置为CDN的一种方式可以如美国专 利No.7,010,578 (在此通过引用并入)中所描述的,虽然此技术不应 该一见为对这里的主题的限制。当然,P2P网络300可以具有任意数量 的对等机器,并且通常将存在很多这样的机器,不同的机器通常基于 自组织的方式进入网络和离开网络。典型的对等机器是服务器、工作 站、个人计算机或其他计算设备或不是CDN的一部分的实体,并且 具有足够的计算和带宽容量以执行CDN中的边缘服务器所需的某些 功能,或者利用给定的CDN基础架构、资源或数据。如此,通常, 对等端包括处理器,并且包括足够的内存和磁盘存储器以支持操作系 统、应用程序(在某些情况下是网页代理服务器和媒体服务器)、网 络接口、用户及其他人机接口等。任何机器的特定的硬件和软件要求
不是本发明的一个方面。
根据一个实施例,当给定对等端希望从另一个对等端获取给定内 容时,提供如上文一般性地描述的CDN映射系统(或其组件)以将 该给定对等端映射到最近的对等端(在P2P网络中)。在现有技术中, P2P网络中的对等端不能智能地定位其他对等端。根据本发明,对等 端具有访问CDN映射基础架构、组件或数据(例如,映射)的能力 以帮助对等端的定位。在图3的背景中,对等端302具有访问CDN基础架构(例如,映射机器、映射或其他类似的数据)的能力,以当
希望取得给定内容时确定附近的对等端(比如对等端304)的位置。 在这样的情况下,增强了 CDN映射体系结构,以便在CDN映射中包 括P2P网络节点。作为替代地,或除增强CDN映射基础架构之外, 为给定对等节点提供CDN映射进程或工具(例如,软件代理),从 而有助于将对等节点包括在映射生成过程中。通过这种方式,对等端 只是CDN体系结构中的节点,并成为总体映射生成过程的一部分。
根据本发明的一个方面,假设对等节点希望获取给定内容文件 (例如,图形、图像、应用、媒体文件、软件下载,或任何其他数字 数据,不管格式如何)。对等节点执行给定访问工具,比如网页浏览 器、媒体播放器、或等效物,以通常通过URL请求内容文件。该请 求(或其某些部分)被定向到CDN,在一个实施例中该CDN随后向 对等节点返回一个文件,有时简称为"元文件(metafile)"。在一个实 施例中,此元文件包括一个或多个CDN或混合型CDN-P2P域或子域, 它们随后可以供对等节点用来获取所希望的内容。如此,例如,假设 该元文件包括一组域,比如peer.aka.net、 peer.cdn.net等,其中每个 域由CDN DNS查询机制解析,该机制对于在元文件中返回的所有域 是经授权的。在此实例中,将第一个域设计成被解析为P2P网络中的 另一个对等节点,而将第二个域设计成被解析为CDN网络中的边缘
服务器(因此在此实例中充当故障转移)。此顺序只是代表性的,因 为可以切换顺序,使得该对等端是备份。不论是哪一种情况,对等节 点客户端随后对列表中的第一域或者子域进行DNS查询,并且通过 CDNDNS查询机制解析该DNS查询以(在此实例中)识别从其中可 以获取内容的P2P网络中的附近的对等端。如果此操作失败,如果该 对等端不能联络到识别出的对等端,或者如果识别出的对等端(曾经 联络到,但是没有内容),则尝试第二个域,此时,返回到CDN中 的边缘服务器。这将是附近的边缘服务器,其可能具有内容,并且不 过载。
可以看出,以这种方式,混合型CDN-P2P利用对等节点或允许
10对等节点利用CDN基础架构。
在一种替代方法中,为对等节点提供软件代理及其他智能,并包 括对对等节点或CDN边缘服务器区域或其中的边缘服务器进行更加 智能的选择的能力。在这样的情况下,给定对等节点(曾经在给定CDN 信任域内建立)具有探测其周围的网络(可以包括CDN基础架构) 以及创建局部映射的能力,该能力可用来促进更加智能的映射决策。 以此方式,CDN映射基础架构的各种组件本身分摊到信任的对等节 点,以在P2P网络实体内或在P2P网络实体之间提供有效的映射决策。
如上文所指出的,本发明的一个特点是,P2P网络(或其中的给 定节点)可以使用CDN作为在给定内容在一个或多个对等端上不可 用的情况下的故障转移。在此情况下,CDN充当止回器,以便可以获 取给定内容而最终用户无需返回到内容发布者(通常是源站点基础架 构)。这使得CDN充当比如不大可能被实时访问的"冷"内容的某些 内容的最后依靠的储存库。
混合型CDN-P2P模型提供了许多优点。通过使用此方法,P2P 模型将能够对于分发组件几乎无开销地提供较佳的性能和可用性。此 外,CDN服务提供商也可以根据需要使用P2P资源,以增强或支持 他们的边缘服务器分发功能。如此,例如,CDN边缘高速緩存可以充 当P2P网络的源, 一旦内容通过CDN变得可用就逐渐切换到P2P。 以此方式,CDN自举或进行动作以启动(prime) P2P网络分发,此 后,P2P可以接管主要的分发责任。在替代实施例中,CDN还具有分 布式存储功能,使得可以进行更完整的内容的负载分摊。因此,例如, 内容可以开始上传到CDN分布式存储器,该CDN分布式存储器充当 边缘高速緩存的初始源,随后一旦CDN启动了网络即可使用该P2P。
优选情况下,混合型CDN-P2P是支持数字版权管理(DRM )的, 以确保对等端不能以逃避支付费用的方式访问内容或以别的方式(向 其他对等端)传输内容(无论是对于原始还是下游分发)。支持DRM 的混合型CDN-P2P还将允许CDN服务提供商代表参与的内容提供商 有效地管理内容分发。在Akamai Technologies, Inc.拥有的美国公开申请No.2005/0278259中描述了在CDN的环境下使用DRM的一种技 术。
根据本发明的另一个特点,需要在系统中有两种(2)不同类型 的客户端, 一般对应于客户端服务器以及客户端播放器。在现有技术 中,这些组件是相同P2P技术的一部分;因此,如果一个实体希望从 客户端进行下载,则它也必须提供给其他客户端从它进行下载的能力。 在此实施例中,使用客户端服务器有助于P2P传输,该客户端服务器 如常规的P2P客户端那样运转,播放和提供获取的内容。然而,优选 情况下,客户端播放器是一个简单的插件(例如,ActiveX控件,虽 然这不是必需的),它与最终用户客户端浏览器接口 (或在其中运行 或作为其一部分),以(例如,从P2P服务器,而不是CDN)获取
文件。优选情况下,客户端播放器具有防火墙穿透功能,但不包括P2P 服务功能。事实上,客户端播放器不可被CDN访问或被CDN (或其 他)用来向其他对等端进行内容的P2P分发。通过按照这种方式拆分 客户端-服务器功能,客户端播放器的采纳和使用是简单的并且是普遍 存在的。因此,在代表性的实施例中,客户端播放器只是某些与其他 CDN相关的组件或其他软件,比如用于帮助从CDN进行比较大的文 件下载的下载管理器。在这样的情况下,利用适当的代码功能,加强 了常规的CDN大文件下载管理器的功能,以便它协调从常规CDN服 务器(或者,也许还包括消费源)或者P2P网络服务器的下载。加强 的下载管理器易于安装,没有不良插件等,它不使用任何资源来向其 他人提供文件。为有助于其使用,下载管理器(经过修改,提供P2P 客户端播放器)还包括适当的智能(例如, 一个或多个软件例程和适 当的数据),以帮助视情况而判断是否从CDN或P2P获取给定对象, 以及从哪些服务器获取给定对象。通常,此判断基于诸如性能、位置、 成本、内容可用性之类的一个或多个因数或尺度,或其一些组合。图 4显示了该方法。在该图中,对等端是具有浏览器的机器(运行商品 硬件和操作系统的可访问因特网的机器),下载管理器作为ActiveX 控件工作。下栽管理器根据本发明进行了增强,包括P2P客户端播放器以及如上所述的相关功能。
如上文所指出的,可以以任何方便的方式实现客户端播放器(例
如,作为浏览器插件、servlet、 applet、本机代码等等)。在优选实施 例中,其作为下载管理器(或等效物)的组件而分布,CDN用它来帮 助向发出请求的最终用户的大文件下载。图4显示了此功能。在此实 施例中,对等的可访问因特网的机器400包括存储器402、网页浏览 器404、下载管理器406,以及P2P客户端播放器408。
边缘服务器还可以将与映射相关的数据包括到向哪里提供给定 内容请求的决策中(例如,使用边缘网络和/或对等网络)。如上文所 指出的,内容分发网络跟踪网络上的给定CDN消费者的负栽信息, 并且CDN映射基础架构可以自动地将此数据发送到边缘服务器,使 得边缘服务器可以使用它来判断如何以及将什么业务流发送到边缘与 对等网络。同样,如果对等网络收集负载信息,则它也可以报告负载 及其他数据(例如,对等网络的负载情况如何,有多少对等端"活着", 这些对等端位于什么位置等)。当边缘服务器实际接收到内容请求时 (即,如上文所描述的,在CDN DNS识别出边缘服务器区域以及边 缘服务器,并且浏览器实际从边缘服务器请求了内容之后),可以由 边缘服务器进行有关使用哪个网络的判断(边缘和/或对等端)。此方 法可以利用如图4所示的客户端。具体来说,假设安装在用户的台式 机上的客户端具有向安装的浏览器的http或其他请求标题中添加签名 的功能。此签名可以添加到用户-代理请求标题、接受-语言标题等等 中。通常,可以通过基于Windows的机器上的本地注册表,修改用户 -代理或其他这样的请求标题。(替代地,可以对签名进行编码,或以 某种其他方式,比如作为URL的一部分,分发给边缘服务器)。当 边缘服务器接收到索取正在通过混合型CDN-P2P网络分发的对象的 请求时,它进行检查以查看客户端签名是否与该请求相关联。此检查 可以在比如美国专利No.7,240,100中所描述的元数据处理过程的控制 下进行,或以任何其他方便的方式进行。如果客户端请求在请求中有 签名,那么,边缘服务器可以选择如何处理该请求,即,分发对象本身,或将请求重定向到对等网络资源。如果是后一情况,对等网络资 源可以发起该分发,或者甚至将请求重定向回边缘服务器或某个其他
CDN资源。然后,如前所述,可以使用负载和业务流数据以帮助这些 决策。
已经描述了本发明,下面是权利要求书。
权利要求
1.在具有用于将请求定向到内容分发网络(CDN)服务器的映射系统的CDN中,一种分发方法包括使得一个或多个对等机器能够与所述CDN关联,其中,所述对等机器包括对等(P2P)网络;以及使用CDN映射系统以使得给定对等端能够定位下列各项中的一个P2P网络中的另一个对等端,以及CDN服务器。
2. 如权利要求1所述的方法,其中,使用CDN映射系统的步骤包括接收来自位于CDN映射系统的所述给定对等端的请求;确定P2P网络中的最近的对等端的位置;以及向所述给定对等端返回信息以使得所述给定对等端能够定位所述最近的对等端。
3. 如权利要求l所述的方法,进一步包括将所述映射系统的一个组件的负载分摊到对等机器中,以使得该对等机器能够使用所述映射系统。
4. 如权利要求l所述的方法,其中,所述使得一个或多个对等机器能够与所述CDN关联的步骤包括提供包括域的有序集合的元文件。
5. 如权利要求4所述的方法,其中,所述域的有序集合包括由CDN映射系统解析的一个或多个域。
6. 如权利要求5所述的方法,其中,所述一个或多个域包括有序集合,其中,所述集合的顺序判断给定对等端是否识别P2P网络中的另一个对等端或CDN服务器。
7. 如权利要求1所述的方法,其中,所述CDN服务器被P2P网络用来进行故障转移。
8. 在具有边缘网络的内容分发网络(CDN)中, 一种分发方法包括接收上载到所述CDN的消费内容;将所述消费内容存储在所述边缘网络或与所述边缘网络相关联的存储网络中;使得一个或多个对等机器能够与所述CDN关联,其中,所述对等机器包括对等(P2P)网络;以及使用所述边缘网络和所述P2P网络分发所述消费内容。
9. 如权利要求8所述的方法,其中,所述边缘网络用于最初分发所述消费内容,之后,所述P2P网络承担所述消费内容的主要分发责任。
10. 如权利要求8所述的方法,其中,所述P2P网络中的给定对等机器包括下载管理器,所述下载管理器包括P2P客户端組件。
11. 在具有边缘网络的内容分发网络(CDN)中, 一种分发方法包括在CDN服务器中,接收索取内容的请求;判断所述索取内容的请求是否与签名相关联,所述签名指示所述内容对使用所述边缘网络或与所述CDN相关联的对等网络进行分发来说是可用的,其中,所述对等网络包括一个或多个对等机器;如果所述索取内容的请求与签名相关联,则确定所述请求是否应该由所述边缘网络或所述对等网络进行处理;以及基于所述确定对所述请求进行处理。
12. 如权利要求11所述的方法,其中,所述签名与请求标题相关联。
全文摘要
内容分发网络(CDN)通常包括将请求定向到CDN服务器的映射系统。一个或多个对等机器(302)与该CDN关联,然后使用CDN映射系统以使给定对等端(302)能够定位P2P网络(300)中的另一个对等端(304)和/或CDN服务器。通过使用此混合方法,可以从CDN边缘网络、从P2P网络(300),或从这两种网络分发CDN消费内容。在一个实施例中,将消费内容上传到CDN中,并存储在边缘网络或与其关联的存储网络中。然后使用CDN边缘网络启动P2P网络(300),后者可以用来接管消费内容的某些内容分发要求。可以基于负载和业务流状况判断是使用边缘网络还是对等网络资源来进行内容分发。
文档编号G06F7/00GK101681331SQ200780039260
公开日2010年3月24日 申请日期2007年9月6日 优先权日2006年9月6日
发明者J·G·帕里克, M·M·阿弗甘, T·M·莱顿 申请人:阿卡麦科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1