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

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

Info

Publication number
CN104221003B
CN104221003B CN201380020000.1A CN201380020000A CN104221003B CN 104221003 B CN104221003 B CN 104221003B CN 201380020000 A CN201380020000 A CN 201380020000A CN 104221003 B CN104221003 B CN 104221003B
Authority
CN
China
Prior art keywords
data
peer
dictionary
stream
chunk
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201380020000.1A
Other languages
English (en)
Other versions
CN104221003A (zh
Inventor
C·E·格罗
F·T·雷赫顿
A·F·彻姆帕格内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Akamai Technologies Inc
Original Assignee
Akamai Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Akamai Technologies Inc filed Critical Akamai Technologies Inc
Publication of CN104221003A publication Critical patent/CN104221003A/zh
Application granted granted Critical
Publication of CN104221003B publication Critical patent/CN104221003B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3091Data deduplication
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6052Synchronisation of encoder and decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

利用异步数据词典在多租户共享的基础设施中的基于流的重 复数据删除
本申请基于并要求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、或具有类似工作特性的任何其它协议。
对计算实体的类型没有限制,其可以实施连接的客户端侧或服务器侧。任何计算实体(系统、机器、设备、程序、处理、工具、等)可以充当客户端或服务器。

Claims (15)

1.一种重复数据删除系统,包括:
发送对等方实体,包括第一词典和处理器执行的程序代码,该处理器执行的程序代码操作以通过检查流过发送对等方实体的数据并且利用指向第一词典的引用替换数据块,来提供基于流的重复数据删除;
接收对等方实体,包括第二词典和处理器执行的程序代码,第二词典的内容不需要与第一词典的内容同步,该处理器执行的程序代码操作以通过检查流过接收对等方实体的数据并且利用指向第二词典的引用替换所述数据的块,来提供基于流的重复数据删除;以及
一机构,其使得接收对等方实体识别并且获得接收对等方实体需要执行重复数据删除操作的一个或多个数据组块。
2.如权利要求1所述的重复数据删除系统,其中所述一个或多个数据组块是从发送对等方实体获得的。
3.如权利要求1所述的重复数据删除系统,其中数据组块是利用以下中的一个获得的:磁URI、以及由发送对等方和接收对等方商定的请求-响应协议。
4.如权利要求1所述的重复数据删除系统,其中数据组块是可高速缓存的网络对象。
5.如权利要求1所述的重复数据删除系统,其中发送对等方实体和接收对等方实体与多租户共享的基础设施相关联。
6.如权利要求1所述的重复数据删除系统,其中发送对等方实体包括用于处理所述一个或多个数据块的机构。
7.如权利要求1所述的重复数据删除系统,其中第二词典的内容被按需重新同步化到第一词典的内容。
8.一种在包括发送对等方和接收对等方的覆盖网络中操作的方法,发送对等方与租户源相关联,并且接收对等方与覆盖网络边缘相关联,所述方法包括:
与发送对等方相关联地维护第一词典;
与接收对等方相关联地维护第二词典;
通过检查流过发送对等方和接收对等方的数据并且利用指向第一词典和第二词典的引用替换所述数据的块来提供基于流的重复数据删除,所述基于流的重复数据删除是利用在发送对等方和接收对等方中的硬件元件上执行的软件执行的;
跨第一词典和第二词典实行一协议,其中,根据该协议,发送对等方假定:如果发送对等方具有给定数据块,则接收对等方具有所述给定数据块,反之亦然,不管接收对等方是否实际上在第二词典中具有所述给定数据块;以及
由接收对等方选择性地识别并且获得接收对等方需要执行重复数据删除操作的一个或多个数据组块。
9.如权利要求8所述的方法,其中所述一个或多个数据组块是从发送对等方获得的。
10.如权利要求8所述的方法,其中数据组块是利用以下中的一个获得的:磁URI、以及由发送对等方和接收对等方商定的请求-响应协议。
11.如权利要求8所述的方法,其中数据组块是可高速缓存的网络对象。
12.如权利要求8所述的方法,其中发送对等方处理所述一个或多个数据组块。
13.如权利要求8所述的方法,其中第二词典的内容被按需重新同步化到第一词典的内容。
14.一种用于父代数据处理节点和子代数据处理节点的方法,父代数据处理节点和子代数据处理节点具有不需要彼此同步的相应的库,所述方法包括:
当流穿过父代数据处理节点,将所述流打断成多个组块;
对于所述流的特定组块,在父代数据处理节点处确定子代数据处理节点已经具有所述组块的可能性;
基于所述确定,从父代数据处理节点将以下中的一个发送到子代处理节点:所述组块、和对所述组块的引用;
当所述流开始在子代数据处理节点处被解码时、并且对于所述流中的至少一个引用,确定所述引用是否与存储在与子代数据处理系统相关联的库中的组块相关联;以及
如果所述引用与存储在库中的块相关联,则将与所述组块相关联的数据合并回到所述流中;以及
如果所述引用与缺失的组块相关联,则执行按需请求以获得与所述块对应的数据。
15.一种用于父代数据处理节点和子代数据处理节点的装置,父代数据处理节点和子代数据处理节点具有不需要彼此同步的相应的库,所述装置包括:
用于当流穿过父代数据处理节点,将所述流打断成多个组块的部件;
用于对于所述流的特定组块,在父代数据处理节点处确定子代数据处理节点已经具有所述组块的可能性的部件;
用于基于所述确定,从父代数据处理节点将以下中的一个发送到子代处理节点:所述组块、和对所述组块的引用的部件;
用于当所述流开始在子代数据处理节点处被解码时、并且对于所述流中的至少一个引用,确定所述引用是否与存储在与子代数据处理系统相关联的库中的组块相关联的部件;以及
用于如果所述引用与存储在库中的块相关联,则将与所述组块相关联的数据合并回到所述流中的部件;以及
用于如果所述引用与缺失的组块相关联,则执行按需请求以获得与所述块对应的数据的部件。
CN201380020000.1A 2012-05-17 2013-05-17 利用异步数据词典在多租户共享的基础设施中的基于流的重复数据删除 Active CN104221003B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261648209P 2012-05-17 2012-05-17
US61/648,209 2012-05-17
US13/896,066 US20130311433A1 (en) 2012-05-17 2013-05-16 Stream-based data deduplication in a multi-tenant shared infrastructure using asynchronous data dictionaries
US13/896,066 2013-05-17
PCT/US2013/041550 WO2013173696A1 (en) 2012-05-17 2013-05-17 Stream-based data deduplication in a multi-tenant shared infrastructure using asynchronous data dictionaries

Publications (2)

Publication Number Publication Date
CN104221003A CN104221003A (zh) 2014-12-17
CN104221003B true CN104221003B (zh) 2017-08-11

Family

ID=49582158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380020000.1A Active CN104221003B (zh) 2012-05-17 2013-05-17 利用异步数据词典在多租户共享的基础设施中的基于流的重复数据删除

Country Status (8)

Country Link
US (1) US20130311433A1 (zh)
EP (1) EP2850534A4 (zh)
JP (1) JP6236435B2 (zh)
KR (1) KR102123933B1 (zh)
CN (1) CN104221003B (zh)
AU (2) AU2013262620A1 (zh)
CA (1) CA2873990A1 (zh)
WO (1) WO2013173696A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9699231B2 (en) 2012-12-27 2017-07-04 Akamai Technologies, Inc. Stream-based data deduplication using directed cyclic graphs to facilitate on-the-wire compression
US9420058B2 (en) 2012-12-27 2016-08-16 Akamai Technologies, Inc. Stream-based data deduplication with peer node prediction
US9430490B1 (en) * 2014-03-28 2016-08-30 Formation Data Systems, Inc. Multi-tenant secure data deduplication using data association tables
JP6302597B2 (ja) * 2014-04-18 2018-03-28 エスケーテレコム カンパニー リミテッドSk Telecom Co., Ltd. リアルタイム放送コンテンツ伝送方法及びそのための装置
US9823842B2 (en) 2014-05-12 2017-11-21 The Research Foundation For The State University Of New York Gang migration of virtual machines using cluster-wide deduplication
KR102394959B1 (ko) * 2014-06-13 2022-05-09 삼성전자주식회사 멀티미디어 데이터를 관리하는 방법 및 장치
US20170286417A1 (en) * 2014-11-04 2017-10-05 Hewlett Packard Enterprise Development Lp Deduplicating data across subtenants
US10430182B2 (en) * 2015-01-12 2019-10-01 Microsoft Technology Licensing, Llc Enhanced compression, encoding, and naming for resource strings
US10467001B2 (en) * 2015-01-12 2019-11-05 Microsoft Technology Licensing, Llc Enhanced compression, encoding, and naming for resource strings
US9521071B2 (en) 2015-03-22 2016-12-13 Freescale Semiconductor, Inc. Federation of controllers management using packet context
CN104967498B (zh) * 2015-06-11 2018-01-30 中国电子科技集团公司第五十四研究所 一种基于历史的卫星网络数据包压缩传输方法
CN104917591B (zh) * 2015-06-11 2018-03-23 中国电子科技集团公司第五十四研究所 一种适用于单向有损链路的卫星网络数据包压缩方法
WO2017022034A1 (ja) * 2015-07-31 2017-02-09 富士通株式会社 情報処理装置、情報処理方法、及び、情報処理プログラム
CN107534445B (zh) * 2016-04-19 2020-03-10 华为技术有限公司 用于分割哈希值计算的向量处理
US11403019B2 (en) 2017-04-21 2022-08-02 Pure Storage, Inc. Deduplication-aware per-tenant encryption
US12045487B2 (en) 2017-04-21 2024-07-23 Pure Storage, Inc. Preserving data deduplication in a multi-tenant storage system
US10678754B1 (en) * 2017-04-21 2020-06-09 Pure Storage, Inc. Per-tenant deduplication for shared storage
US10691653B1 (en) * 2017-09-05 2020-06-23 Amazon Technologies, Inc. Intelligent data backfill and migration operations utilizing event processing architecture
US11741051B2 (en) 2017-10-30 2023-08-29 AtomBeam Technologies Inc. System and methods for secure storage for data deduplication
US11012525B2 (en) * 2018-12-19 2021-05-18 Cisco Technology, Inc. In-flight building and maintaining dictionaries for efficient compression for IoT data
US11153385B2 (en) * 2019-08-22 2021-10-19 EMC IP Holding Company LLC Leveraging NAS protocol for efficient file transfer
CN111522803B (zh) * 2020-04-14 2023-05-19 北京仁科互动网络技术有限公司 软件服务化平台的租户交互方法、装置及电子设备
US11379281B2 (en) 2020-11-18 2022-07-05 Akamai Technologies, Inc. Detection and optimization of content in the payloads of API messages

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741536A (zh) * 2008-11-26 2010-06-16 中兴通讯股份有限公司 数据级容灾方法、系统和生产中心节点
CN102202098A (zh) * 2011-05-25 2011-09-28 成都市华为赛门铁克科技有限公司 数据处理方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080037509A1 (en) * 2006-06-30 2008-02-14 George Foti Method and communications node for creation and transmission of user specific dictionary for compression and decompression of messages
JP4031516B2 (ja) * 2007-02-13 2008-01-09 株式会社東芝 サーバ側プロキシ装置、クライアント側プロキシ装置、データ転送方法及びプログラム
US8082228B2 (en) * 2008-10-31 2011-12-20 Netapp, Inc. Remote office duplication
US8200641B2 (en) * 2009-09-11 2012-06-12 Dell Products L.P. Dictionary for data deduplication
US8510275B2 (en) * 2009-09-21 2013-08-13 Dell Products L.P. File aware block level deduplication
CN102194499A (zh) * 2010-03-15 2011-09-21 华为技术有限公司 一种压缩字典同步的方法和装置
US8250325B2 (en) * 2010-04-01 2012-08-21 Oracle International Corporation Data deduplication dictionary system
US8468135B2 (en) * 2010-04-14 2013-06-18 International Business Machines Corporation Optimizing data transmission bandwidth consumption over a wide area network
US8306948B2 (en) * 2010-05-03 2012-11-06 Panzura, Inc. Global deduplication file system
US20110307538A1 (en) * 2010-06-10 2011-12-15 Alcatel-Lucent Usa, Inc. Network based peer-to-peer traffic optimization
EP2614439A4 (en) * 2010-09-09 2014-04-02 Nec Corp STORAGE SYSTEM
US8762349B2 (en) * 2011-07-14 2014-06-24 Dell Products L.P. Intelligent deduplication data prefetching
US9703796B2 (en) * 2011-12-06 2017-07-11 Brocade Communications Systems, Inc. Shared dictionary between devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741536A (zh) * 2008-11-26 2010-06-16 中兴通讯股份有限公司 数据级容灾方法、系统和生产中心节点
CN102202098A (zh) * 2011-05-25 2011-09-28 成都市华为赛门铁克科技有限公司 数据处理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Osiris-Secure Social Backup;James Bown;《Computer Science Thipos》;20110517;第4-45页 *

Also Published As

Publication number Publication date
US20130311433A1 (en) 2013-11-21
AU2013262620A1 (en) 2014-12-11
KR20150022840A (ko) 2015-03-04
WO2013173696A1 (en) 2013-11-21
JP2015521323A (ja) 2015-07-27
CA2873990A1 (en) 2013-11-21
KR102123933B1 (ko) 2020-06-23
CN104221003A (zh) 2014-12-17
AU2018222978A1 (en) 2018-09-20
EP2850534A1 (en) 2015-03-25
JP6236435B2 (ja) 2017-11-22
EP2850534A4 (en) 2016-06-08

Similar Documents

Publication Publication Date Title
CN104221003B (zh) 利用异步数据词典在多租户共享的基础设施中的基于流的重复数据删除
US11178201B2 (en) Stream-based data deduplication using directed cyclic graphs to facilitate on-the-wire compression
US10951739B2 (en) Data differencing across peers in an overlay network
US11985190B2 (en) Stream-based data deduplication with peer node prediction
CN102355426B (zh) 实现离线文件传输的方法和系统
CN105074688B (zh) 使用对等节点图的基于流的数据去重复
US10033837B1 (en) System and method for utilizing a data reducing module for dictionary compression of encoded data
US11677793B2 (en) Stream-based data deduplication with cache synchronization
EP2795864B1 (en) Host/path-based data differencing in an overlay network using a compression and differencing engine
Yang et al. Design and Implementation of Keyword Filter System Based on Netfilter
Pengying et al. Design and Implementation of Keyword Filter System Based on Netfilter
Mhatre et al. Architecture for MTOM based file transfer

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant