首页> 中国专利> 利用异步数据词典在多租户共享的基础设施中的基于流的重复数据删除

利用异步数据词典在多租户共享的基础设施中的基于流的重复数据删除

摘要

在多租户共享的基础设施中提供基于流的重复数据删除,而不需要具有同步的数据词典的“配对的”端点。在此方法中,由重复数据删除功能处理的数据对象被当做可以根据需要取得的对象对待。因为压缩的对象被仅仅当做对象对待,所以解码对等方不需要维护对于源对称的库。相反地,如果对等方在高速缓存中不具有它需要的组块,则它遵循传统的内容递送网络(CDN)程序以检索它们。以这种方式,如果发送和接收对等方对之间的词典不同步,则相关的部分被按需重新同步化。该方法不要求在特定对发送和接收对等方处保持的库是相同的。相反地,该技术能够使得对等方实际上在空闲时“回填”它的词典。

著录项

  • 公开/公告号CN104221003A

    专利类型发明专利

  • 公开/公告日2014-12-17

    原文格式PDF

  • 申请/专利权人 阿卡麦科技公司;

    申请/专利号CN201380020000.1

  • 申请日2013-05-17

  • 分类号G06F15/16;

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人李晓芳

  • 地址 美国马萨诸塞

  • 入库时间 2023-12-17 03:45:10

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-08-11

    授权

    授权

  • 2015-04-22

    实质审查的生效 IPC(主分类):G06F15/16 申请日:20130517

    实质审查的生效

  • 2014-12-17

    公开

    公开

说明书

本申请基于并要求2012年5月17日提交的序列号No. 61/648,209的优先权。

技术领域

本申请一般涉及通过网络的数据通信。

背景技术

分布式计算机系统在现有技术中是公知的。一个这样的分布式计 算机系统是通常由服务提供者操作并管理的“内容递送网络”或 “CDN”。服务提供者通常代表使用服务提供者的共享基础设施的第 三方(用户)提供内容递送服务。此类型的分布式系统有时被称为“覆 盖网络”并且通常是指由网络或网络链接在一起的独立计算机与软 件、系统、协议和技术的集合,所述技术被设计以便于各种服务,诸 如内容递送、网络应用加速、或外包源站点基础设施的其它支持。CDN 服务提供者通常经由数字资产(诸如网站)提供服务递送,其被提供 在用户门户中并且然后被布置到网络。

数据差异化是在服务器与客户端之间利用资源的共享先前实例, 在压缩术语中也称为共享词典之内的数据版本,的公知的技术和方 法;所述处理通过仅仅发送差异或自从那些先前实例以来出现的改变 而工作。数据差异化涉及压缩,但是它是稍微有差别的构思。具体地, 直观地,差异(“diff””)是一种压缩形式。只要接收者与发送者 具有相同的初始文件,那些发送者可以给接收者diff而不是整个新文 件。diff实际上说明如何从旧文件创建新文件。它通常远小于整个新 文件并且因此是一种压缩形式。文档的第一版本与前述文档的第二版 本之间的diff是数据差异;数据差异是利用文档的第一版本作为预设 词典的文档的第二版本的压缩结果。

基于流的重复数据删除(“重复数据删除”)系统在现有技术中 也是公知的。一般,基于流的重复数据删除系统通过检查流过连接的 发送对等方的数据和用指到每个对等方关于给定块已经同步的共享 词典中的参考来替换数据块进行工作。引用本身远小于数据并且通常 是它的散列或指纹。当接收对等方接收修改的流时,它利用原始数据 替换引用以再一次做出整个流。例如,考虑一个系统,其中指纹是用 单个字母变量表示的唯一散列。发送对等方的词典然后可以如图3所 示。接收对等方的词典可以如图4所示。然后,例如,如果发送对等 方被认为发送诸如“Hello,how are you?Akamai is Awesome!”之类 的串,则重复数据删除系统将处理数据并且发送以下消息:“He[X]re  you?[T][M]ome!”。接收对等方利用它的词典解码消息。注意,在 此示例中,发送对等方并不利用引用[O]替换“ome!”。这是因为, 虽然发送对等方具有指纹和在它的高速缓存中存储它的块,但是对等 方知道(通过机制)接收对等方并不具有。因此,发送对等方在发送 它之前不在消息中插入引用。此类型的系统通常以若干公知方式填充 是对称的词典。在一个方法中,当数据流流过数据处理器时以固定长 度的块(例如,每块具有15个符号的长度)填充词典。第一次数据 经过发送和接收对等方时,并且假定它们都以同样的方式构成词典, 则两个对等方以具有包含相同的条目的词典终止。但是,此方法不是 最优的,因为它常遭受被称为“偏移”问题的问题,其可以不利地影 响生成的指纹并且破坏整个方案。

可替换方法利用以滚动方式计算的散列使用可变长度的块。在基 于被称为Rabin指纹技术的公知的解决方案中,系统在指纹处理期间 跨数据流滑过特定大小(例如,48字节)的窗口。在Muthitacharoen 等的标题为“A Low-Bandwidth Network File System”(LBFS)的 论文中描述该技术的实施方式,并且结果实现可变大小的抗偏移块。

当前供应基于流的重复数据删除产品和服务的厂家通过配对设 备解决词典发现的问题(知道什么信息处于对等方的词典中)。因此, 例如,电器/盒子厂家依赖于在每个末端上的一对设备或处理以彼此通 信以维护让每个端知道什么引用存在于配对的对等方中的表。但是, 这类解决方案仅仅在处理表示“路径中”对的各个盒子与单元时工作。

但是,路径中配对的解决方案在诸如CDN之类的覆盖网络的背 景中是不实际的,其中节点的分布更接近地类似树。因此,例如,在 代表性的实施方式中,并且参考特定源服务器(或,一般地说,“租 户”位于“根”处),覆盖网络可以具有更接近于根的父层服务器, 和更接近于叶节点的客户端边缘服务器。换句话说,替换需要知道一 个或多个对等方盒子(诸如在公知的盒子厂家解决方案中)的小集合 的盒子,父层服务器可以需要与数十、数百乃至数千的边缘区域联系, 每个都可能包含许多服务器。在这个背景下,每个机器表不能衡量。

因此,仍然需要提供在覆盖网络背景中用于重复数据删除的增强 的技术。

发明内容

互联网基础设施递送平台(例如,由服务提供者操作的)提供覆 盖网络(“多租户共享基础设施”)。特定租户具有关联的源。根据 此公开,接近租户源的一个或多个覆盖网络服务器安装有提供重复数 据删除的重复数据删除引擎。这些服务器是用于该源的重复数据删除 高速缓存父代,因为它们接收来自于覆盖网络高速缓存子代,通常位 于靠近终端用户接入网络的边缘服务器,的请求。边缘服务器也包括 重复数据删除引擎。当对源内容的请求从覆盖网络边缘服务器到达 时,请求被经由用于源的重复数据删除高速缓存父代路由。高速缓存 父代检索内容(或许从源)并且然后执行传统的重复数据删除操作。 具体地,高速缓存父代首先针对源查找它的“库”(或“词典”)并 且看它是否可以通过用已被分派给它已经看见的字节组块的名称替 换那些组块来进行压缩对象。此操作以公知的方式“压缩”对象。高 速缓存父代然后将压缩的对象发送到覆盖网络边缘服务器,其中它由 边缘服务器重复数据删除引擎处理。但是,在此递送环外,重复数据 删除高速缓存父代也处理对象以存储新看见的字节组块,并且把新的 组块输入到它维护的库(或“词典”)中。当在覆盖网络边缘服务器 处接收到压缩的流时,边缘服务器通过寻找由名称(或“指纹”)替 换的组块来处理压缩流,并且然后利用指纹作为到它自己词典中的关 键字来检索原始的块。

如果边缘服务器在高速缓存中不具有它需要的组块,则它遵循传 统的CDN方法以检索它们(例如,经由高速缓存分层结构等),必 要时最终从重复数据删除高速缓存父代检索它们。因此,如果发送和 接收对等方对之间的词典不同步,则相关的部分按需被重新同步。该 方法不需要(或需要保证)在一对特定发送和接收对等方处保持的库 是相同的(即,同步的)。相反,该技术使得对等方实际上能够与实 际事务相关联地在空闲时“回填(backfill)”它的词典。此方法是高 度可升级的,并且它对于任何类型的内容,并且通过任何类型网络工 作。

上文已经概述本主题的一些更多相关特征。这些特征应当被解释 为仅仅说明性的。可以通过以不同的方式应用公开的主题或通过修改 将描述的主题获得许多其它有利的结果。

附图说明

为了更完全地理解本主题和它的优点,现在结合附图参考以下描 述,其中:

图1是示出了配置为内容递送网络(CDN)的公知的分布式计 算机系统的方框图;

图2是代表性的CDN边缘机器配置;

图3是在数据差异化处理中发送对等方词典;

图4是在数据差异化处理中接收对等方词典;

图5是用于实施此公开的异步数据词典方法的示范性广域网 (WAN)结构;以及

图6是在覆盖网络和客户私有网络之内实施的具体实施例。

具体实施方式

图1示出了由这里的技术扩展(如下面描述的)的公知的分布式 计算机系统。

在公知的系统中,诸如图1所示,分布式计算机系统100被配置 为CDN并且假定具有绕着互联网分布的一组机器102a-n。通常,大 部分机器是接近互联网的边缘设置的服务器,即,在终端用户接入网 络处或与其相邻。网络操作命令中心(NOCC)104管理系统中各个 机器的操作。诸如网站106之类的第三方站点将内容(例如,HTML、 嵌入的页对象、流媒体、软件下载、等等)的递送卸载到分布式计算 机系统100,并且具体地到“边缘”服务器。通常,内容提供者通过 将给定内容提供者域或子域别名(例如,由DNS CNAME)为由服务 提供者的权威性域名服务管理的域来卸载他们的内容递送。期望内容 的终端用户定向到分布式计算机系统以更安全并且高效地获得该内 容。尽管未详细地示出,但是分布式计算机系统也可以包括其它基础 设施,诸如分布式数据收集系统108,其收集来自于边缘服务器的使 用和其它数据,跨区域或区域集合聚集数据,并且将数据传递到其它 后端系统110、112、114和116以便于监控、记录、提醒、计费、管 理和其它操作和管理职能。分布式网络代理118监控网络以及服务器 负载并提供网络、业务和负载数据到DNS查询处理机制115,其对于 由CDN管理的内容域是权威性的。分布式数据传输机制120可以用 来将控制信息(例如,管理内容、便于负载均衡的元数据,等等)分 布到边缘服务器。

如图2所示,给定机器200包括运行支持一个或多个应用206a-n 的操作系统内核(诸如Linux或变体)204的商品硬件(例如,Intel 奔腾处理器)202。为了便于内容递送服务,例如,给定机器通常运 行应用的集合,诸如HTTP(网络)代理207、名称服务器208、本 地监控处理210、分布式数据收集处理212,等等。对于流媒体,机 器通常包括一个或多个媒体服务器,诸如窗口媒体服务器(WMS) 或Flash服务器,根据支持的媒体格式。

CDN边缘服务器被配置为提供一个或多个扩展的内容递送特 征,优选在特定于域、特定于用户的基础上,优选利用使用配置系统 分布给边缘服务器的配置文件。给定配置文件优选是基于XML的并 且包括便于一个或多个高级内容处理特征的一组内容处理规则和指 令。配置文件可以经由数据传送机制被递送到CDN边缘服务器。美 国专利No.7,111,057示出了用于递送并管理边缘服务器内容控制信息 的有用基础设施,并且这和其它边缘服务器控制信息可以由CDN服 务提供者本身、或操作源服务器的内容提供者用户提供(经由外联网 等)。

因为CDN基础设施由多个第三方共享,所以在这里它有时被称 为多租户共享基础设施。CDN处理可以位于可在互联网上公开路由的 节点处、位于移动网络中的节点内或与其相邻、在基于企业的私有网 络中或与其相邻、或在任何它们的组合中。

元数据可配置的覆盖网网络代理(诸如图2中的代理207)这里 有时被称为全局主机或GHost处理。

CDN可以包括存储子系统,诸如在美国专利No.7,472,178中描 述的,其公开被通过引用合并于此。

CDN可以操作服务器高速缓存分层结构以提供用户内容的中间 高速缓存;在美国专利No.7,376,716中描述了一个这样的高速缓存分 层结构子系统,其的公开被通过引用合并于此。

CDN可以在客户端浏览器、边缘服务器和用户源服务器当中以 在美国公开No.20040093419中描述的方式提供安全的内容递送。在 其中描述的安全的内容递送一方面在客户端与边缘服务器处理之间、 另一方面在边缘服务器处理与源服务器处理之间实施基于SSL的链 接。这使得SSL保护的网页和/或它的组件被经由边缘服务器递送。

作为覆盖,CDN资源可以用来便于企业数据中心(其可以被私 有地管理)与第三方软件作为服务(SaaS)提供者之间的广域网 (WAN)加速服务。

在典型操作中,内容提供者识别内容提供者域或它期望由CDN 服务的子域。CDN服务提供者关联(例如,经由规范名称、或CNAME) 内容提供者域与边缘网络(CDN)主机名,并且CDN提供者然后向 内容提供者提供该边缘网络主机名。当向内容提供者域或子域的DNS 查询在内容提供者的域名服务器处被接收时,那些服务器通过返回边 缘网络主机名进行响应。边缘网络主机名指向CDN,并且边缘网络主 机名然后经由CDN名称服务被解析。所以,CDN名称服务返回一个 或多个IP地址。请求客户端浏览器然后对与IP地址相关联的边缘服 务器做出内容请求(例如,经由HTTP或HTTPS)。请求包括主机 报头,其包括源内容提供者域或子域。在接收到具有主机报头的请求 时,边缘服务器检查它的配置文件以确定请求的内容域或子域是否实 际上由CDN处理。如果是的话,边缘服务器将它的内容处理规则和 指令应用于在配置中指定的域或子域。这些内容处理规则和指令可以 位于基于XML的“元数据”配置文件内。

如同附加背景,在美国专利No.6,820,133和7,660,296中描述的 技术可以用来便于在诸如图1所示的覆盖网络中边缘与转发代理之间 的数据包递送。

利用异步数据词典的基于流的重复数据删除

利用以上作为背景,现在描述本公开的方法。与通过配对解决词 典发现(知道什么信息处于对等方的词典中)的问题的公知的基于流 的重复数据删除产品和服务相反,这里的技术根据不同的模式操作。

具体地,并且对于某些大小的对象,对等方节点被“假设”具有 与指纹相关联的块,不管它实际上是不是。在此方法中,技术不需要 (或者需要保证)在(任何一对特定的发送和接收对等方的)任一末 端保持的库是相同的。相反,在此方法中,创建库,并且库被允许是 可访问的(例如,通过网络)。库可以位于任何地方。如将看到的, 此方法使得标准的CDN功能和特征被利用,因此为终端用户(包括 在固定线路和非固定线路网络上的那些,并且不管应用类型)提供重 复数据删除以及由覆盖网络技术提供的那些益处。在此可替换方法 中,如果对等方不具有与给定指纹相关联的块,则对等方向发送代理 做出请求以请求它。在一个实施例中,每个块具有随其关联的特定 URI,诸如磁类型的URI。磁URI是指可用于经由缩减形式的它的内 容的描述(例如,内容的加密散列值)下载的资源。利用磁URI的替 换方式是让解码(接收或子代)对等方向编码(发送或父代)对等方 (或对等方区域)做出请求并且请求原始数据用于然后不可用于解码 对等方进行解码的任何组块-利用某些商定的协议。优选地,在解码器 端上的数据处理是非常快的,并且因此缺失的组块被检测并且请求在 某一小的处理开销时间之内被发送回到编码器。

优选地,特别注意对于缺失的块避免回到发送对等方的额外往 返。因此,在一个实施例中,例如,非常小并且在一个初始拥塞窗口 (CWND)中发送的文件不被重复数据删除,因为当块存在于接收对 等方处时块高速缓存未中的风险大于支出。这是因为到网络I/O卡中 的串行化延迟显著地小于可能出现在高速缓存未中上的延迟。因此, 优选地只有那些其中利用重复数据删除存在任何优点的统计概率的 响应(甚至面临由于缺失块引起的可能的额外延迟)应当被考虑。

因此,根据此公开,重复数据删除系统使用按需高速缓存同步协 议,其可以包含对等方明确地彼此通信,并且包含对等方做出关于另 一个对等方可能具有什么的某些假设,或相反。根据此协议,存在如 下假设:如果本地编码对等方已经具有给定数据块,则解码对等方具 有它,和如下假设:如果本地编码对等方不具有给定数据块则解码对 等方实体没有。此外,系统解决了在对等方之间的高速缓存中的失配。 如果这出现,则失配被解决。为此,每当某些数据(已被在流中看见 的对象、组块、组块的集合等等)不可用于解码时,解码对等方对编 码对等方(或对等方区域)做出请求并且请求需要的原始数据。如上 所述,在解码器端上的数据处理是非常快的,并且因此缺失的数据被 检测到并且请求在仅仅小的处理开销时间之内被发送回编码器。此方 法保证,不管什么高速缓存同步协议正在被利用,存在回退机制以保 证事务可以完成。因此缺失数据支持处理完整的高速缓存未中的可能 性,并且它可以结合上面描述的高速缓存同步方法使用。

图5所示用于实施此类型的重复数据删除方法的代表性结构。为 简单起见,客户端500被示出与边缘GHost处理502交互,其随后与 接近租户源506设置的转发GHost处理504进行通信(通常通过 WAN)。每个GHost处理502和504具有与其关联的重复数据删除 引擎508,用于词典的相关数据存储器,和其它有关的处理。总起来 说,这些元件有时被称为重复数据删除模块。高速缓存父代也可以实 施其它技术,诸如前端优化(FEO)。GHost通过某些接口与重复数 据删除模块通信。在可替换实施例中,重复删除功能被自然地实施在 GHost中。当对源内容的请求从处理502到达时,请求被经由用于源 的重复数据删除高速缓存父代504路由。高速缓存父代504检索内容 (或许从源)并且然后利用它的重复数据删除引擎508执行传统的重 复数据删除操作。具体地,高速缓存父代首先查找它的库并且看它是 否可以通过用已被分派给它已经看到的字节组块的名称替换那些组 块来压缩对象。优选地,库被在多个CDN用户共享;在可替换实施 例中,库特定于特定源。高速缓存父代504然后将压缩的对象发送到 边缘服务器处理502,其中它由边缘服务器重复数据删除引擎508处 理。但是,在此递送环外,重复数据删除高速缓存父代504也处理对 象以存储新看见的字节组块,将新的块输入到它的库中。当在边缘服 务器处理502处接收到压缩的流时,边缘服务器通过寻找由名称(或 “指纹”)替换的组块来处理压缩的对象,并且然后利用名称检索原 始的组块。

图6示出更具体的实施例。在此情况中,终端用户600已经经由 覆盖网络DNS以常见的方式与边缘服务器机器602相关联。“终端 用户”是运行在客户端机器(例如,桌上型计算机、膝上型、移动设 备、平板计算机、等)上的网络浏览器用户代理或运行在此类设备上 的移动应用(app)。“终端用户”经由HTTP或HTTPS与边缘服 务器机器通信,并且此类通信可以穿越其它网络、系统、和设备。边 缘服务器机器运行由覆盖网络提供商管理的元数据可配置的网络代 理处理(GHost)604,和关联的基于流的重复数据删除处理606。如 将描述的,重复数据删除处理理论上对来自于所有CDN用户的所有 文件中的所有块执行数据压缩。在此方法中,来自于不同URI的一个 文件的片断可以用来执行重复数据删除,以及同时来自于多个文件的 片断。边缘服务器机器602可以是对一个或多个“父代”节点的“子 代”,诸如运行在另一个覆盖服务器设备(未示出)上的父代GHost 处理608。在此示例中,GHost处理608是“穿越”并且不提供差异 化功能;它可以被省略。

如还有在图6中看到的,来自于客户端方的请求被定向到“源” 服务器612。源(或目标)服务器612是通常在覆盖网络用户基础设 施(或也许一些其它托管的环境,诸如第三方基于云的基础设施)中 执行的服务器。通常,源服务器612提供到网站的基于网络的前端或 期望利用覆盖网络基础设施被加速的可网络访问的用户应用。在此示 例情况中,不意指限制,源服务器612在用户自己的私有网络614中 运行。用户私有网络614包括物理机器615。该机器(或在用户网络 中的一些其它机器)可以支持另一个网络代理处理618,和关联的重 复数据删除处理620。网络代理618不需要是元数据可配置的,它也 不需要由覆盖网络主动地管理。以上示出的结构不意指限制,而是仅 仅作为示例提供。

以下是端到端流程的描述。在此情况中,如上所述,“GHost” 是指运行在覆盖网络中边缘设备上的元数据可配置的网络代理处理, “ATS”是指运行在用户网络或基础设施但是不同于覆盖网络内的设 备上的覆盖网络网络代理处理,并且重复数据删除处理可以对来自于 特定用户的网络(在此示例实施例)本地的所有文件的所有块执行重 复数据删除。如上所述,并且根据采用的网络结构,库也可以被共享 以使得关联的重复数据删除处理可以对来自于所有(或某些数目的) 覆盖网络用户的所有块执行重复数据删除。在示出的实施例中,GHost (或ATS)处理视情况可以经由接口(例如本地主机)与关联的重复 数据删除处理进行通信。

在如图6所示的代表性(但是非限制)实施方式中,覆盖网络提 供者提供在用户的基础设施(私有网络)之内运行的软件,例如,作 为虚拟机(VM)或“边缘设备”。边缘设备610优选地位于DMZ 中或者在企业防火墙后面并且它可以运行在由覆盖网络用户支持并 管理的超控制器(例如,VMware ESXi(v.4.0+)616上。在一个优 选实施例中,边缘设备被分布为经由覆盖网络用户门户(外联网)下 载的64-比特虚拟设备。每个边缘设备需要至少一个可公开路由的IP 地址并且可以被覆盖网络优选地通过安全连接配置。

因此,根据以上方法,与租户源相关联的至少一个服务器被装备 (或关联)有重复数据删除引擎。当对于内容的请求从边缘服务器中 到来时,请求被经由用于源的重复数据删除高速缓存父代路由。高速 缓存父代检索内容(或许从源)并且然后,根据内容大小和任何适用 的配置参数执行重复数据删除。如果重复数据删除出现,则父代高速 缓存检查它的词典;如果它可以压缩对象(通过用已被分派给它已经 看到的字节组块的名称替换那些组块),则它这样做。高速缓存父代 然后将压缩的对象发送到边缘服务器。单独地,重复数据删除高速缓 存父代处理对象以存储新看到的字节组块,将它们输入到它维护的库 中。如上所述,当在边缘服务器处接收到压缩的对象时,边缘服务器 通过寻找由名称替换的组块并且然后利用名称检索原始组块来处理 压缩对象,如同已经描述的。

根据此公开,归纳为流经过/穿越父节点,父节点把流打断成为 组块。对于每个组块,父代然后做出实际上是“猜测”,关于流正在 被发送到的子节点是否具有该组块。所述“猜测”可以以任何方式被 告知,例如,它可以是统计的、概率性的、基于某些启发的、基于运 行算法得出的、基于子代的相对位置的、基于负载、延迟、数据包损 失、或其它数据的、或以一些其它的方式确定的。如果父代的信念是 子代不具有组块,则它发送实际数据。但是,如果父代的信念是子代 有可能具有组块,则父代仅仅发送名称/指纹。因为子代获得编码的流 并且开始解码流,所以对于每个组块引用/名称,子代在它自己的本地 库/词典里查找名称。如果组块在那里,则子代重新扩展它。但是,如 果组块不存在,则子代对组块执行按需请求(例如,到编码对等方/ 区域),请求实际数据。

利用此方法,利用CDN的所有公知的益处(例如,负载均衡、 高速缓存、WAN加速,等等)。重要地,边缘服务器不需要维护用 于源的对称库。当然,边缘服务器可能在高速缓存中具有组块,但是 如果它不具有,则它遵循常见的CDN-类似的程序以检索它们(例如, 经由高速缓存分层结构等),必要时最终从重复数据删除高速缓存父 代检索它们。

GHost处理具有确定请求是否将要被重复数据删除处理处理的 能力。用于做出此确定的一个技术使用特定于租户的元数据和在U.S. 专利No.7,240,100中描述的技术。

重复数据删除模块可以作为合作处理或参考GHost的处理中的 库运行。GHost和模块之间的通信机制可以在共享的存储器、本地主 机、TCP、UDS等上。在可替换实施例中,客户端重复数据删除模块 本身可以被直接放置在客户端设备上,诸如终端用户客户端(EUC) 网络机器、移动设备手持机等。

优选地,重复数据删除是否开启可以由元数据配置控制,优选地 基于每个租户。

如上所述,优选地,对于太小的文件,重复数据删除机制不被调 用。小对象排斥支持因此提供智能地避免执行冒险的重复数据删除操 作的方式,否则其可能引起高速缓存未中上的额外RTT。在一个方法 中,这可以通过让GHost对于POST绕开重复数据删除操作以及包括 在某个阈值下的“内容长度”报头的响应来实现。但是,大部分动态 内容使用组块的转移编码,其意味着对象的大小不是预先已知的。因 此,在不存在基于其它标准避免重复数据删除的某些确定时,GHost 应当经由描述的机制传递请求。

此外,优选地仅仅在存在另一方可以具有数据的很好的保证时发 送指纹。因此,优选地仅仅在相同的流中看到块时发送指纹。

某些文件格式(像Huffman编码)被严重压缩以及混乱。商业 的重复数据删除系统通常在他们的重复数据删除引擎之内提供在执 行指纹和成块之前将那些文件类型解码成为更重复数据删除友好的 格式的系统。这里也可以实施此类方法。具体地,每个端(不管在 GHost或在重复数据删除模块本身中)可以每个文件格式实施解压缩 过滤器以最佳确保高速缓存的块命中。

这里描述的GHost/重复数据删除模块解决方案也可以与协议终 止器互操作。协议终止器是终止协议(诸如CIFS或MAPI)并且将 它转换成例如http或http(s)的软件片断。

重复数据删除模块可以与其它CDN机制,诸如FEO技术互操 作。

如图6所示,如这里描述的1重复数据删除模块可以位于企业 网内,诸如在与位于企业DMZ中的覆盖网络相关联的机器中。

还有图6所示,如这里描述的重复数据删除模块可以位于与使用 覆盖网络或与其互操作的企业相关联的虚拟机(VM)内。但是,此 结构不是限制,因为转发代理不需要被放置在企业(或其它用户私有 网络)之内。

这里描述的重复数据删除技术可以与一个或多个其他CDN服务 提供相关联地使用,以便于CDN节点到节点的通信(网络内重复数 据删除),等。

GHost和重复数据删除模块被作为专门化机器实施在一个或多 个处理器中执行的软件中。

对可以由描述的技术处理的数据的类型没有限制。实际上,对于 某些数据类型(诸如PII),诸如这里描述的重复数据删除与单独高 速缓存相比具有显著的优点。

重复数据删除功能可以被实施在守护程序处理中,即作为由硬件 处理器运行的指令集合。守护程序可以用作上面描述的基于HTTP的 协议中的客户端和服务器。优选地,它被分流到在覆盖网络内的通信 的高延迟分支的终端处的服务器(例如,GHost)中或服务器上。如 上所述,优选地元数据配置数据确定特定请求(在连接的发送端上) 是否应当被认为应当利用协议被加速的请求。

一般,根据这里描述的方法使覆盖服务器能够消除它在网络上的 对等方之间发送的冗余数据,代之以发送小得多的指纹。这彻底地减 小了用于具有大量复制数据的事务的线上数据的总大小,因此减小用 于递送到终端用户的时间量。此外,减小的数据导致在网络上降低的 操作成本,因为传输的信息量和带宽需要减少。

以上描述的方法是高度可升级的,并且它为任何类型的内容,并 且通过任何类型的网络工作。客户端是传统的桌上型计算机、膝上型 或运行网络浏览器或其它呈现引擎(诸如移动应用)的其它互联网可 访问的机器。客户端也可以是移动设备。如这里使用的,移动设备是 任何无线的客户端设备,例如,蜂窝电话机、传呼机、个人数字助理 (PDA,例如,具有GPRS NIC)、具有智能电话机客户端的便携式 计算机,等。其中可以实践该技术的其他移动设备包括任何使能访问 协议的设备(例如,基于iOSTM的设备、基于AndroidTM的设备,等), 其能够以无线方式利用无线协议发送和接收数据。典型的无线协议 是:WiFi、GSM/GPRS、CDMA或WiMax。这些协议实施在其上建 立传统网络栈的ISO/OSI物理和数据链路层(层1&2),利用IP、 TCP、SSL/TLS和HTTP完成。在代表性的实施例中,移动设备是通 过GPRS(通用分组无线电服务)操作的蜂窝电话,其是用于GSM 网络的数据技术。这里使用的移动设备可以是包括作为携带用户特定 信息的智能卡的用户身份模块(SIM)的3G-(或下一代)适应设备、 移动式设备(例如,无线电和关联的信号处理设备)、人机接口(MMI)、 和到外部设备(例如,计算机、PDA,等等)的一个或多个接口。这 里公开的技术不限于供使用特定访问协议的移动设备使用。移动设备 通常也具有对无线局域网(WLAN)技术,诸如Wi-Fi的支持。WLAN 基于IEEE802.11标准。

一般地说,利用一起便于或提供上面描述的功能的一个或多个计 算有关的实体(系统、机器、处理、程序、库、功能、等)的集合提 供这里描述的技术。在典型的实施方式中,软件在其上运行的代表性 的机器包括商品硬件、操作系统、应用运行时环境、和应用或处理和 关联数据的集合,其提供给定系统或子系统的功能。如描述的,功能 可以在独立的机器中、或跨分布式的机器集合实施。功能可以被提供 为服务,例如,作为SaaS解决方案。

虽然以上描述由本发明的某些实施例执行的操作的特定顺序,但 是应当理解这样的顺序是示范性,因为可替换实施例可以以不同的顺 序执行操作、组合某些操作、重叠某些操作,等。说明书中对给定实 施例的引用指示描述的实施例可以包括特定特征、结构、或特性,但 是每个实施例可以不必然包括所述特定特征、结构、或特性。

虽然在方法或处理的上下文中已经描述公开的主题,但是本公开 也涉及用于执行这里操作的装置。此装置可以被专门地构成以用于需 要的目的,或它可以包括由存储在计算机中的计算机程序选择性地激 活或重新配置的通用计算机。此类计算机程序可以被存储在计算机可 读存储介质中,诸如但是不局限于任何类型的盘,包括光盘、 CD-ROM、和磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、 磁或光卡、或适合于存储电子指令的任何类型的介质,并且每个耦接 到计算机系统总线。

虽然已经单独地描述系统的给定组件,但是普通技术人员将理 解,一些功能可以被组合或分享在给定指令、程序序列、代码部分, 等等中。

优选地,功能在应用层解决方案中实施,尽管这不是限制,但是 因为识别的功能部分可以被建立在操作系统等中。

功能可以被利用除HTTP之外的其它应用层协议实施,诸如SSL  VPN、或具有类似工作特性的任何其它协议。

对计算实体的类型没有限制,其可以实施连接的客户端侧或服务 器侧。任何计算实体(系统、机器、设备、程序、处理、工具、等) 可以充当客户端或服务器。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号