CN104166673A - 用于复制内容可寻址存储集群的异步分布式去重 - Google Patents
用于复制内容可寻址存储集群的异步分布式去重 Download PDFInfo
- Publication number
- CN104166673A CN104166673A CN201410306908.5A CN201410306908A CN104166673A CN 104166673 A CN104166673 A CN 104166673A CN 201410306908 A CN201410306908 A CN 201410306908A CN 104166673 A CN104166673 A CN 104166673A
- Authority
- CN
- China
- Prior art keywords
- duplicate
- storage cluster
- index
- data
- storage
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 56
- 230000004044 response Effects 0.000 claims description 3
- 230000010076 replication Effects 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 41
- 238000010586 diagram Methods 0.000 description 13
- 238000012217 deletion Methods 0.000 description 12
- 230000037430 deletion Effects 0.000 description 12
- 238000013500 data storage Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/184—Distributed file systems implemented as replicated file system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
- G06F16/24556—Aggregation; Duplicate elimination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及用于复制内容可寻址存储集群的异步分布式去重。一种方法由分布式数据复制系统中的设备组中的设备执行。该方法包括将对象的索引存储在分布式数据复制系统中,所述索引在对象由分布式数据复制系统中的多个设备本地存储时被复制。该方法还包括进行对索引的至少一部分的扫描,以及基于对索引的扫描来识别对象中的至少一个的冗余复制品。该方法进一步包括对冗余复制品进行去重,以及对索引进行更新以反映冗余复制品的状态。
Description
分案说明
本申请属于申请日为2009年12月22日的中国专利申请200980156970.8的分案申请。
背景技术
企业计算局面经历了存储体系结构的根本性转变,因为中央服务体系结构已经让位于分布式存储集群。随着企业寻求增加存储效率的方式,从商品计算机构建的存储集群可以以与庞大盘阵列相比的成本的一小部分,为新的数据密集型应用提供高性能、可用性和可伸缩性。为了开启存储集群的全部潜力,跨多个地理位置复制数据,从而增加可用性,并且减少距客户端的网络距离。
数据去重(de-duplication)可以识别重复的对象,并且通过移除副本来减少所需的存储空间。结果,数据去重对于存储业变得日益重要,并且正由会包含许多副本的大型系统的需求推动。
发明内容
根据一个实施方式,一种方法可以由分布式数据复制系统中的设备组中的设备执行。该方法可以包括将对象的索引存储在分布式数据复制系统中,所述索引是在对象的复制品由分布式数据复制系统中的多个设备本地存储时被复制。该方法还可以包括进行对索引的至少一部分的扫描,以及基于对索引的扫描来识别对象中的至少一个的冗余复制品。该方法可以进一步包括通过将去重记录写入索引的一部分来对冗余复制品进行去重。
根据另一个实施方式,分布式数据复制系统中的设备组中的设备可以包括:用于将对象的索引存储在分布式数据复制系统中的装置;用于将改变写入索引以指定对象中的一个的复制品的状态的装置;用于将对索引的改变复制到分布式数据复制系统中的多个设备的装置;用于进行对索引的至少一部分的扫描的装置;用于基于对索引的扫描来识别对象中的一个的冗余复制品的装置;以及用于对冗余复制品进行去重的装置。
根据又一个实施方式,一种系统可以包括存储器,其用来存储指令、对象的数据存储以及数据存储中的对象的索引;以及处理器。处理器可以执行存储器中的指令来:识别数据存储中的对象的状态,所述状态与对象是否具有复制品以及删除请求是否与对象相关联有关;基于对象的状态将去重指定记录写入索引;将具有去重指定记录的索引复制到一个或多个设备;以及从一个或多个设备中的一个接收与对象相关联的其它去重指定记录,其中去重指定记录和其它去重指定记录为对对象的一个或多个复制品的删除提供基础。
根据又一个实施方式,一种由一个或多个设备执行的方法可以包括:将对象的索引存储在分布式数据复制系统内的多个设备中,以及在本地存储对象时遍及分布式数据复制系统复制索引,其中每一个设备对索引的特定子集内的对象的去重负责;进行对索引的子集中的每一个的扫描以基于扫描来识别冗余复制品;对冗余进行去重;以及自动将对象从带有具有正在进行的删除请求的复制品的设备拷贝到带有先前已被去重的复制品的设备。
根据进一步实施方式,一种计算机可读存储器可以包括计算机可执行的指令。该计算机可读存储器可以包括:用来进行对分布式数据复制系统中的对象的索引的一部分的扫描的一个或多个指令;用来基于对索引的一部分的扫描来识别对象中的一个的冗余复制品的一个或多个指令;用来对冗余复制品进行去重的一个或多个指令。
附图说明
合并入并且构成本说明书的一部分的附图图示了在此描述的一个或多个实施例,并且与描述一起说明了这些实施例。在附图中:
图1是在其中可以实现在此描述的系统和方法的示例性网络的图;
图2是图1的文件系统的示例性配置的图;
图3是图1的存储集群的示例性组件的图;
图4是图1的示例性存储集群的功能框图;
图5是可以在分布式多主站数据复制系统的索引内使用的示例性记录结构的图;
图6A-6B是用于管理客户端发起的上载/删除操作的示例性过程的流程图;
图7是用于在分布式多主站数据复制系统中执行去重的示例性过程的流程图;
图8是用于管理删除请求的示例性过程的流程图;
图9是用于移除重复复制品的示例性过程的流程图;
图10是用于在分布式多主站数据复制系统中优化带宽消耗以及减少时延的示例性过程的流程图;以及
图11是根据在此描述的一个实施方式图示了示例性全局索引的一部分的图。
具体实施方式
下面的详细描述参考附图。在不同附图中的相同参考数字可以识别相同或相似元素。并且,下面的详细描述不限制本发明。
在此描述的系统和/或方法可以为复制的存储集群提供异步分布式去重算法,其为不可变对象提供可用性、活性以及一致性保证。在此描述的实施方式可以使用分布式多主站数据复制系统的基础复制层来在不同的存储集群之间复制内容可寻址索引(在此也被称为“全局索引”)。全局索引的每一个对象可以具有唯一内容句柄(例如,哈希值或数字签名)。在此描述的实施方式中,对冗余复制品的移除过程可以保持至少一个复制品存活。
示例性网络配置
图1是在其中可以实现在此描述的系统和方法的示例性系统100的图。系统100可以包括经由网络130连接的客户端110-1至110-N(统称为客户端110,以及分别称为客户端110)以及存储集群120-1至120-M(统称为存储集群120,以及分别称为存储集群120)。存储集群120可以形成文件系统140(如图1中虚线所示)。
网络130可以包括一个或多个网络,诸如局域网(LAN)、广域网(WAN)、电话网络(例如,公共交换电话网络(PSTN))、内联网、因特网、相似或相异网络、或网络的组合。客户端110和存储集群120可以经由有线和/或无线连接连接到网络130。
客户端110可以包括一种或多种类型的设备,诸如个人计算机、无线电话、个人数字助理(PDA)、膝上型计算机或另一种类型的通信设备、和/或运行于这些设备中的一个上的线程或进程。在一个实施方式中,客户端110包括或被联接到应用,在所述应用代表下客户端110与存储集群120通信以读取或修改(例如,写)文件数据。
存储集群120可以包括一个或多个服务器设备、或其它类型的计算或通信设备,其可以以在此描述的方式存储、处理、搜索和/或提供信息。在一个实施方式中,存储集群120可以包括能够为文件维护大型、随机读/写访问数据存储的一个或多个服务器(例如,计算机系统和/或应用)。如果发生改变,则存储集群120的数据存储可以允许索引系统快速更新索引的部分。存储集群120的数据存储可以包括一个或多个表(例如,可以包括每统一资源定位符(URL)一行的文档表、由URL之外的值作为键的辅助表等)。在一个示例中,存储集群120可以被包括在用于管理结构化数据(例如,文档的随机存取存储集群)的分布式存储系统(例如,如在第七届OSDI论文集(2006年11月)、第205-218页、Chang等人的“Bigtable:A Distributed Storage System forStructured Data(Bigtable:用于结构化数据的分布式存储系统)”中阐述的"Bigtable")中,所述结构化数据可以被设计为缩放到非常大的大小(例如,跨数千服务器的千兆兆字节的数据)。
尽管在图1中未示出,但是系统100可以包括多种其它组件,诸如一个或多个专用客户服务器或集线器。客户服务器例如可以存储来自一个或多个存储集群120的数据存储的只读副本以供客户端110访问。集线器例如可以存储来自一个或多个存储集群120的数据存储的只读副本以分发到一个或多个客户服务器。
示例性存储集群配置
图2是文件系统140的示例性配置的图。如图2中所示,文件系统140可以包括存储集群120-1、120-2、120-3以及120-4。在一个实施方式中,文件系统140可以是分布式多主站数据复制系统,其中存储集群120-1、120-2、120-3以及120-4中的每一个对于其它存储集群可以充任主服务器。在文件系统140中,可以跨存储集群120-1、120-2、120-3以及120-4(例如,在多个地理位置)复制数据以增加数据可用性以及减少距客户端(例如,客户端110)的网络距离。通常,可以在不同的存储集群120中动态地创建、变异、克隆以及删除分布式对象和引用,以及基础数据复制层(未示出)维护写顺序保真度以确保所有存储集群120以数据的相同版本结束。因此,数据复制层重视对单个对象的相同复制品的写顺序。
可以将分布式多主站数据复制系统中的所有对象的全局索引与每一个存储集群120进行关联。每一个已存储的对象可以由全局索引中的唯一内容句柄(诸如哈希值、数字签名等)列出。所选择的存储集群每一个可以被分配为负责全局索引中的不同范围的内容句柄。例如,单个存储集群120可以负责对与特定内容句柄相关联的对象的去重。可以将一个存储集群作出的对全局索引的改变复制到其它存储集群。
尽管图2示出了文件系统140的示例性功能组件,但是在其它实施方式中,文件系统140可以包含比在图2中所描绘的更少、另外、不同或不同布置的组件。在另外其它实施方式中,文件系统140的一个或多个组件可以执行被描述为由文件系统140的一个或多个其它组件执行的一个或多个任务。
图3是存储集群120的示例性组件的图。存储集群120可以包括总线310、处理器320、主存储器330、只读存储器(ROM)340、存储设备350、输入设备360、输出设备370以及通信接口380。总线310可以包括允许在存储集群120的组件之间的通信的一个或多个导线。
处理器320可以包括可以解释并且执行指令的任何类型的处理器或微处理器。主存储器330可以包括可以存储用于处理器320执行的信息和指令的随机存取存储器(RAM)或另一种类型的动态存储设备。ROM340可以包括可以存储用于处理器320使用的静态信息和指令的ROM设备或另一种类型的静态存储设备。存储设备350可以包括磁和/或光记录介质以及其对应的驱动。例如,存储设备350可以包括提供持久存储的一个或多个本地盘355。在一个实施方式中,存储集群120可以在诸如主存储器330和/或存储设备350的一个或多个计算机可读介质内为存储在文件系统140中的对象维护元数据。例如,存储集群120可以将用于存储在分布式多主站数据复制系统内的所有对象的全局索引存储在存储设备350内。
输入设备360可以包括允许操作者向存储集群120输入信息的一个或多个机制,诸如键盘、键区、按钮、鼠标、笔等。输出设备370可以包括向操作者输出信息的一个或多个机制,包括显示、发光二极管(LED)等。通信接口380可以包括使存储集群120能够与其它设备和/或系统通信的任何类收发器机制。例如,通信接口380可以包括用于与其它存储集群120和/或客户端110通信的机制。
图4图示了存储集群120的功能框图。如图4中所示,存储集群120可以包括数据存储410和去重逻辑420。在一个实施方式中,如图4中所图示的,数据存储410可以在存储集群120内提供。在其它实施方式中,数据存储410中的部分或全部可以被存储在与存储集群120通信的系统100的一个或多个其它设备内,诸如外部存储器设备或与索引系统(未示出)相关联的设备。
数据存储410可以包括复制的索引存储412和本地对象存储414。复制的索引存储412可以作为分布式多主站数据复制系统的复制层的一部分被包括。复制的索引存储412可以存储与全局索引相关联的信息。复制的索引存储412的至少一部分可以在多个存储集群120上被复制。每一个复制的索引存储412的复制品的数量可以是用户可配置的。本地对象存储414可以将对象本地存储在存储集群120内。本地对象存储414可以包括文件,诸如客户端(例如,客户端110)上载的图像或视频。
去重逻辑420可以包括从分布式多主站数据复制系统内的存储集群(例如,存储集群120-1、120-2、120-3以及120-4)移除冗余复制品的逻辑。用于每一个参与的存储集群的去重逻辑420可以被分配为负责全局索引的特定部分。例如,去重逻辑420可以被分配给全局索引的特定范围的内容句柄。因此,分布式多主站数据复制系统内的仅仅一个存储集群可以能够对系统内的复制对象执行破坏性操作(例如,对复制品的删除)。
为了便于去重,记录可以由去重逻辑420生成,并且附于与特定内容句柄相关联的全局索引的一部分。记录例如可以包括用于启用活复制品的“Data”指定符、用于指示对复制品的正在进行的删除请求的“DeleteRequest”指定符以及用于指示已为去重选择的复制品的“Deduped”指定符。在下面更加详细地描述了记录格式和用途。
尽管图4示出了存储集群120的示例性功能组件,但是在其它实施方式中,存储集群120可以包含比在图4中所描绘的更少、另外、不同或不同布置的功能组件。在另外其它实施方式中,存储集群120的一个或多个功能组件可以执行被描述为由一个或多个其它功能组件执行的一个或多个其它任务。
示例性记录结构
图5提供了在一个示例性实施方式中,可以被写入全局索引的去重指定记录的示例性记录结构500的图示。在全局索引中,可以将去重指定记录与对象复制品的特定内容句柄进行关联。如图5中所示,记录结构500可以包括存储集群标识符(“ID”)部分510、存储位置部分520以及指定部分530。存储集群标识部分510可以包括存储为之写记录的对象复制品的存储集群120的唯一标识(例如,“集群ID”)。位置部分520可以包括复制品在存储集群标识部分510所识别的存储集群120内的位置的地址。指定部分530例如可以包括"Data"指定符、"DeleteRequest"指定符或"Deduped"指定符。
记录结构500可以以"ClusterID:Location:Designation(集群ID:位置:指定)"的形式列出。例如,复制品的记录可以由存储集群120-1以记录"01:234523/2000:DeleteRequest"添加到全局索引,其中“01”是存储集群120-1的集群ID,“234523/2000”是在存储集群120-1内的存储复制品的位置,以及“DeleteRequest”是指定符。存储集群120-2中的相同对象的另一个复制品的记录可以是"02:234544/1000:Data",其中“02”是存储集群120-2的集群ID,“234544/1000”是在存储集群120-2内的位置,以及“Data”是指定符。
示例性过程流程
图6A-6B是用于管理客户端发起的上载/删除操作的示例性过程的流程图。图6A描绘了从客户端上载对象的示例性过程600的流程图。图6B描绘了移除客户端所删除的对象的示例性过程650的流程图。在一个实施方式中,过程600和650可以由存储集群120中的一个来执行。过程600和650可以响应于客户端(例如,客户端110)活动来实现。对于在下面描述的过程600和650的特定示例,可以参考文件系统140的存储集群120-1,其中存储集群120-1包括集群ID“01”。
参考图6A,当从客户端接收上载的文件(块610)时,过程600可以开始。例如,存储集群120-1可以从客户端110中的一个接收新的文件。可以存储上载的文件(块620),以及可以将用于上载的文件的“Data”指定符写入全局索引(块630)。例如,存储集群120-1可以将上载的文件存储在存储器(例如,存储设备350)中,并且将对象的内容句柄添加到全局索引。存储集群120-1还可以将数据记录(例如,"01:Location:Data")写入由对象的内容句柄寻址的复制的全局索引。
参考图6B,当接收删除的文件的通知(块660)时,过程650可以开始。例如,存储集群120-1可以接收客户端110中的一个删除了文件的指示。可以发起删除请求(块670),以及可以将用于删除的文件的“DeleteRequest”指定符写入全局索引(块680)。例如,存储集群120-1可以发起删除请求以从文件系统140异步移除删除的文件。存储设备120-1还可以将"DeleteRequest"记录(例如,"01:Location:DeleteReqeust")写入由对象的内容句柄寻址的复制的全局索引。
图7是用于在分布式多主站数据复制系统(例如,文件系统140)中执行去重的示例性过程700的流程图。在一个实施方式中,过程700可以由存储集群120中的一个来执行。在另一个实施方式中,过程700的部分或全部可以由另一个设备或设备组—包括或排除存储集群120—来执行。过程700可以在每一个存储集群120中周期性实现,以及可以包括对存储集群120中的对象的全部或一部分的扫描。对于在下面描述的过程700的特定示例,可以参考文件系统140的存储集群120-1和120-2,其中存储集群120-1包括集群ID“01”,以及存储集群120-2包括集群ID“02”。
如图7中所图示的,过程700可以以进行对全局索引的扫描(块710)开始。例如,(例如,使用去重逻辑420的)存储集群120-1可以进行对在全局索引中列出的对象的全部或一部分的扫描。扫描可以识别例如被标记用于删除的多个复制品和/或对象。
可以确定是否遇到删除请求(块720)。例如,存储集群120-1可以遇到全局索引中的包括来自另一个存储集群(例如,来自存储集群120-2)的删除请求指定符(例如,"02:Location:DeleteReqeust")的对象。如果确定遇到删除请求(块720-是),则可以对删除请求进行处理(块730)。例如,存储集群120-1可以如参考图8更加详细描述的来对删除请求进行处理。
如果确定没有遇到删除请求(块720-否),则可以确定是否存在冗余复制品(块740)。冗余复制品可以是在不同位置的没有对对象的未解决的(outstanding)删除请求的复制对象。例如,存储集群120-1可以识别与存储集群120-1负责的内容句柄相对应的相同对象的多个复制品。例如,多个复制品可以被存储在不同的存储集群(例如,存储集群120-1和存储集群120-2)中或在相同存储集群内的不同位置中。
如果确定存在冗余复制品(块740-是),则可以移除冗余复制品(块750)。例如,存储集群120-1可以如参考图9更加详细描述的来移除冗余复制品。如果确定不存在冗余复制品(块740-否),则过程可以返回到块710,其中可以进行对全局索引的另一个扫描(块710)。
图8图示了与图6的块660的对删除请求的处理相关联的示例性操作。可以遇到对对象的删除请求(块810)。例如,存储集群120-1进行的扫描可以识别全局索引中的带有先前由存储集群120-1写入、删除某一存储集群中的复制品的删除请求指定符(例如,"02:Location:DeleteRequest")的内容句柄。假设存储集群120-1负责该内容句柄,则存储集群120-1可以应用操作来确定现在是否可以对复制品进行去重。
可以确定是否存在去重指定符(块820)。例如,存储集群120-1可以查看全局索引中的与内容句柄相关联的其它记录来确定是否存在去重指定符(例如,"02:Location:Deduped")。如果确定存在去重指定符(块820-是),则可以对复制品和全局索引中的相关记录进行去重(块830)。例如,存储集群120-1可以发起删除请求以删除存储集群120-2中的复制品(如果存在的话),以及从全局索引删除与关于删除的复制品的内容句柄有关的任何记录(例如,"02:Location:*",其中“*”可以是任何指定符)。
如果确定不存在去重指定符(块820-否),则可以确定是否存在另一个活复制品(块840)。例如,存储集群120-1可以查看用于全局索引的内容句柄以确定对于该对象,是否存在另一个活复制品。全局索引例如可以包括关于该内容句柄的来自另一个存储集群的数据记录(例如,"03:Location:Data")。
如果存在另一个活复制品(块840-是),则可以如在上面参考块830所描述地对复制品进行去重。如果不存在另一个活复制品(块840-否),则可以确定所有复制品是否具有删除请求(块850)。例如,存储集群120-1可以查看用于全局索引的内容句柄以确定与内容句柄相关联的所有复制品是否具有未解决的删除请求(例如,"*:*:DeleteRequest",其中“*”分别可以是任何集群ID和任何位置)。
如果确定所有复制品具有删除请求(块850-是),则可以如在上面参考块830所描述地对复制品进行去重。如果确定所有复制品均没有删除请求(块850-否),则可以将对象从发起删除请求的存储集群拷贝到不同的存储集群,以及可以更新全局索引(块860)。例如,响应于记录"02:Location:DeleteRequest",存储集群120-1可以将对象从存储集群120-2拷贝到另一个存储集群120-3,对于存储集群120-3存在去重记录(例如,"03:Location:Deduped")并且没有未解决的删除请求。存储集群120-1可以删除与复制品相关联的先前去重记录(例如,"03:Location:Deduped"),并且将数据指定符(例如,"03:Location:Data")写入全局索引中的对象的对应内容句柄。
图9图示了与图7的块750的对重复引用的移除相关联的示例性操作。可以识别不带删除请求的多个复制品(块910)。例如,存储集群120-1可以查看全局索引,并且识别没有与存储集群120-1负责的内容句柄相对应的未解决的删除请求的两个或多个复制品。
可以应用确定复制品待被去重的标准(块920)。例如,存储集群120-1可以应用标准来对可以被存储在存储集群120-1内的冗余复制品进行去重。对冗余复制品进行去重的标准可以基于多种因素,诸如复制品的地理接近性、在存储集群处的可用存储能力或其它因素。(例如,使用去重逻辑420的)存储集群120-1可以将标准应用于在上面识别的没有未解决的删除请求的两个或多个复制品。在一些实施方式中,多个复制品可以被识别来待被去重。在其它实施方式中,存储集群120-1可以留下多于一个活复制品(例如,未被标记用于去重的复制品)。
可以对全局索引进行更新以将去重的复制品指定为"Deduped"(块930)。例如,对于每一个去重的复制品,存储集群120-1可以删除与复制品相关联的先前数据记录(例如,"02:Location:Data"),并且将去重指定符(例如,"02:Location:Deduped")写入全局索引中的对应的内容句柄。
对冗余复制品的去重可以使用被复制为全局索引的一部分的去重消息来完成。被标记用于去重的复制品可以被存储在存储集群120-1或另一个存储集群(例如,存储集群120-2、120-3、120-4等)内。在一个实施方式中,存储集群120-1可以删除本地存储的复制品以及从全局索引删除对应的"01:Location:Data"记录,并且将"01:Location:Deduped"添加到全局索引。存储集群120-1还可以使用复制的全局索引,发起删除消息来删除存储在其它集群中的复制品。
图10提供了用于在分布式多主站数据复制系统(例如,文件系统140)中优化带宽消耗以及减少时延的示例性过程1000的流程图。在一个实施方式中,过程1000可以由存储集群120中的一个来执行。在另一个实施方式中,过程1000的部分或全部可以由另一个设备或设备组—包括或排除存储集群120—来执行。对于在下面描述的过程1000的特定示例,可以参考文件系统140的存储集群120-1,其中存储集群120-1包括集群ID“01”。
如图1000中所图示,过程1000可以以接收对对象的请求(块1010)开始。例如,存储集群120-1可以从客户端(例如,客户端110-1)接收获取对象的请求。
可以在全局索引中查找对象位置(块1020)。例如,存储集群120-1可以使用对象的内容句柄来在复制的全局索引中查找对象的复制品位置。
可以识别“最佳”复制品位置(块1030)。例如,假设多于一个复制品可用,存储集群120-1可以确定待检索的“最佳”复制品以最小化网络资源。例如,“最佳”复制品可以是具有与存储集群120-1最接近的地理位置的复制品。在其它实施方式中,“最佳”复制品可以基于可用网络连通性、地理位置和/或其它标准的组合。因此,在一些实施方式中,对象的“最佳”复制品可以被本地存储在存储集群120-1内。
可以从所识别的位置检索对象(块1040)。例如,存储集群120-1可以向最接近的可用存储集群请求“最佳”复制品,并且接收满足客户端请求的复制品。存储集群120-1然后可以将复制品发送给客户端。
示例
图11提供了根据在此描述的一个实施方式的示例性全局索引的一部分1100。除其它信息外,索引可以包括内容句柄列1110和去重指定记录列1120。假设,在示例性索引部分1100中,分布式多主站数据复制系统包括三个存储集群XX、YY和ZZ。去重算法可以在存储集群XX、YY和ZZ的每一个中周期性地运行,以及可以扫描全局索引的全部或一部分。并且,与特定对象内容句柄相关联的记录(例如,Data、DeleteRequest和Deduped)可以由存储集群XX、YY和ZZ中的一个写入全局索引。对全局索引的修改可以被复制到所有其它参与的集群(例如,存储集群XX、YY和ZZ的剩余者)。
如图11中所示,索引部分1100包括四个对象的内容句柄和相关联的删除指定记录。“Handle11”具有分别指示复制品被存储在存储集群XX处的记录("XX:Location01:Data")和被存储在存储集群YY处的记录("YY:Location01:Data")。“Handle21”具有指示复制品被存储在存储集群XX处的记录("XX:Location02:Data")以及指示在存储集群YY处的另一个复制品具有正在进行的删除请求的记录("YY:Location02:DeleteRequest")。“Handle31”具有分别指示复制品被存储在存储集群YY处的记录("XX:Location03:Data")和被存储在存储集群ZZ处的记录("ZZ:Location01:Data")。“Handle31”还具有以下两个记录:指示在存储集群YY处的复制品具有正在进行的删除请求的记录("YY:Location03:DeleteRequest")和指示在存储集群ZZ处的复制品具有正在进行的删除请求的记录("ZZ:Location01:DeleteRequest")。"Handle41"具有指示复制品被存储在存储集群YY处的记录("XX:Location04:Data")以及指示在存储集群YY处的复制品具有正在进行的删除请求的记录("YY:Location04:DeleteRequest")。Handle41还具有一个指示对复制品的去重已经发生的记录("ZZ:Location02:Deduped")。存储集群所使用的去重算法可以使用与在此描述的原理一致的导则来操作。假设存储集群XX被分配为负责包括"Handle11"、"Handle21"、"Handle31"以及"Handle41"的全局索引的部分。
当对象被完全上载于存储集群中时,存储集群可以将数据记录(例如,"ClusterID:Location:Data")写入由对象的内容句柄寻址的复制的全局索引。例如,"XX:Location01:Data"和"YY:Location01:Data"说明了关于"Handle11"的复制品的数据记录。并且,"XX:Location02:Data"说明了关于"Handle21"的复制品的数据记录。对于"Handle31"和"Handle41",可以看到类似的数据记录。
当在存储集群中请求对象时,存储集群可以使用对象的内容句柄来在复制的全局索引中查找复制品位置,并且从“最佳”(例如,最接近)集群取得复制品。例如,假设在存储集群ZZ处请求与"Handle11"相对应的对象,以及存储集群YY比存储集群XX更接近于存储集群ZZ,存储集群ZZ可以向存储集群YY请求对应于"Handle11"的对象复制品。
当在存储集群中删除对象时,存储集群可以将"ClusterID:Location:DeleteRequest"写入由对象的内容句柄寻址的复制的全局索引。例如,"YY:Location02:DeleteRequest"说明了关于在存储集群YY中的"Handle21"的删除的复制品的记录。类似地,"YY:Location03:DeleteRequest"和"ZZ:Location01:DeleteRequest"分别说明了关于对存储集群YY和ZZ而言的"Handle31"的删除的复制品的记录。
如果在存储集群中的扫描遇到没有与存储集群负责的内容句柄相对应的未解决的删除请求的多个复制品,则存储集群可以删除对象的冗余复制品(可能留下多于一个活复制品)。对于另一个存储集群中的每一个删除的复制品,存储集群可以删除数据记录并且写入去重记录。例如,在存储集群XX中的扫描可以识别"Handle11"具有分别指示复制品被存储在存储集群XX的记录("XX:Location01:Data")和被存储在存储集群YY的记录("YY:Location01:Data")。基于为移除冗余引用而提供的标准,存储集群XX可以发起删除在存储集群YY处的复制品。存储集群XX可以删除图11中所示的记录"YY:Location01:Data",并且替代地写入"YY:Location01:Deduped"。
如果在存储集群XX中的扫描遇到与存储集群XX负责的内容句柄相对应的、对另一个存储集群(例如,存储集群YY或ZZ)中的复制品的删除请求(例如,"ClusterID:Location:DeleteRequest"),则存储集群XX可以应用下面的分析。如果对于与删除请求相同的存储集群和位置,存在"Deduped"记录,如果存在对象的另一个活复制品、或如果所有的复制品均具有未解决的删除请求,则存储集群XX可以删除存储集群YY或ZZ中的对象的复制品(如果存在的话),并且删除记录"YY:Location:*"或"ZZ:Location:*"。例如,在存储集群YY中的"Handle21"的复制品和记录"YY:Location02:DeleteRequest"可以由存储集群XX删除,因为存在另一个活对象(由记录"XX:Location02:Data"指示)。类似地,在存储集群YY中的"Handle31"的复制品和记录"YY:Location:03:DeleteRequest"可以由存储集群XX删除,因为存储集群YY和存储集群ZZ中的两个复制品均具有未解决的删除请求。
如果存储集群XX不能删除存储集群YY或ZZ中的对象的复制品(例如,不存在"Deduped"记录或对象的另一个活复制品、以及所有的复制品均没有未解决的删除请求),则存储集群XX可以将对象从YY或ZZ拷贝到另一个存储集群,对于该另一个存储集群存在去重记录并且没有未解决的删除请求、删除去重记录以及写入数据记录。例如,存储集群YY中的"Handle41"的复制品("YY:Location04:DeleteRequest")可以触发存储集群XX将与"Handle41"相关联的对象拷贝到存储集群ZZ。存储集群XX可以更新全局索引以将"ZZ:Location02:Deduped"改变为"ZZ:Location02:Data"。
算法的正确性是直截了当的,因为对对象的所有删除操作仅仅由在负责其内容句柄的存储集群中的扫描过程来执行。算法还透明地处理相同集群中的、具有不同位置(例如,XX:Locationl和XX:Location2)的多个对象复制品。
结论
在此描述的系统和/或方法可以将对象的全局索引存储在分布式数据复制系统中,以及遍及分布式数据复制系统复制全局索引和部分对象。存储集群可以被分配为在全局索引的特定子集内的去重的责任实体。存储集群可以进行对全局索引的子集的扫描,并且基于扫描来识别冗余复制品。存储集群可以对本地存储或存储在远程存储集群中的冗余复制品进行去重。
对实施方式的前面的描述提供了说明和描述,但是并不意在穷举或将本发明限制在所公开的精确形式。修改和变化根据上述教导是可能的或可以从本发明的实践获得。
例如,在另一个实施方式中,可以使用去重算法的同步版本,其中不同的存储集群直接而不是使用在分布式数据复制系统内的复制层来通信。
并且,虽然关于图6A-10来描述了块系列,但是在其它实施方式中,可以修改块的顺序。此外,可以并行执行非依赖性的块。
将显而易见的是,在此描述的实施例可以以在附图中所图示的实施方式中的软件、固件以及硬件的许多不同形式实现。用于实现在此描述的实施例的实际软件代码或专用控制硬件并不是对本发明的限制。因此,没有参考特定软件代码描述了实施例的操作和行为—应该理解的是,软件和控制硬件可以基于在此的描述被设计来实现实施例。
此外,在此描述的某些实施方式可以被实现为执行一个或多个功能的“逻辑”或“组件”。该逻辑或组件可以包括:硬件,诸如处理器、微处理器、专用集成电路或现场可编程门阵列;或硬件和软件(例如,由处理器执行的软件)的组合。
应当强调的是,词语“包括”在本说明书中使用时被采用来明确说明所述特征、完整物、步骤或组件的存在,但是并不排除一个或多个其它特征、完整物、步骤、组件或其组群的存在或添加。
尽管在权利要求书中记载和/或在说明书中公开了特征的特定组合,但是这些组合并不意在限制本发明的公开。实际上,可以以未在权利要求书中明确记载和/或未在说明书中明确公开的方式对这些特征中的许多特征进行组合。
除非明确描述如此,在本申请的描述中使用的元素、动作或指令均不应当被解释为对本发明是关键的或至关重要的。同时,如在此所使用的,不加数量词的项意指包括一个或多个项。在意指仅仅一个项时,使用词语“一个”或类似语言。此外,除非另外明确说明,如在此所使用的,短语“基于”意在表示“至少部分基于”。
Claims (1)
1.一种计算机实现的方法,包括:
在分布式存储系统的多个设备中的第一设备处,其中所述第一设备包括一个或多个处理器以及存储用于由所述一个或多个处理器执行的程序的存储器:
访问存储在所述分布式存储系统中的对象的索引,其中所述索引被存储在所述第一设备处;
扫描所述索引的第一部分;
响应于所述扫描,识别所述对象中的一个对象的冗余复制品;
将新的记录写入对应于所述冗余复制品的所述索引的所述第一部分,其中所述新的记录包括去重指定符;以及
在所述写入操作之后,将所述索引的所述第一部分复制到所述多个设备以指定所述冗余复制品用于去重。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13985708P | 2008-12-22 | 2008-12-22 | |
US61/139,857 | 2008-12-22 | ||
CN200980156970.8A CN102317938B (zh) | 2008-12-22 | 2009-12-22 | 用于复制内容可寻址存储集群的异步分布式去重 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980156970.8A Division CN102317938B (zh) | 2008-12-22 | 2009-12-22 | 用于复制内容可寻址存储集群的异步分布式去重 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104166673A true CN104166673A (zh) | 2014-11-26 |
CN104166673B CN104166673B (zh) | 2017-09-19 |
Family
ID=41719028
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410306908.5A Active CN104166673B (zh) | 2008-12-22 | 2009-12-22 | 用于复制内容可寻址存储集群的异步分布式去重 |
CN200980156970.8A Active CN102317938B (zh) | 2008-12-22 | 2009-12-22 | 用于复制内容可寻址存储集群的异步分布式去重 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980156970.8A Active CN102317938B (zh) | 2008-12-22 | 2009-12-22 | 用于复制内容可寻址存储集群的异步分布式去重 |
Country Status (9)
Country | Link |
---|---|
US (5) | US8712974B2 (zh) |
EP (1) | EP2368199B1 (zh) |
JP (2) | JP5579195B2 (zh) |
CN (2) | CN104166673B (zh) |
AU (1) | AU2009330073B2 (zh) |
BR (1) | BRPI0922990B1 (zh) |
CA (1) | CA2747746C (zh) |
DE (1) | DE202009019139U1 (zh) |
WO (1) | WO2010075407A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114610227A (zh) * | 2020-12-09 | 2022-06-10 | 戴尔产品有限公司 | 将存储系统集群化以共享用于去重的数据模式 |
Families Citing this family (238)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US8190742B2 (en) * | 2006-04-25 | 2012-05-29 | Hewlett-Packard Development Company, L.P. | Distributed differential store with non-distributed objects and compression-enhancing data-object routing |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
CA2705379C (en) * | 2006-12-04 | 2016-08-30 | Commvault Systems, Inc. | Systems and methods for creating copies of data, such as archive copies |
US7840537B2 (en) | 2006-12-22 | 2010-11-23 | Commvault Systems, Inc. | System and method for storing redundant information |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US10002189B2 (en) | 2007-12-20 | 2018-06-19 | Apple Inc. | Method and apparatus for searching using an active ontology |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US8103628B2 (en) * | 2008-04-09 | 2012-01-24 | Harmonic Inc. | Directed placement of data in a redundant data storage system |
US10496753B2 (en) | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US8219524B2 (en) * | 2008-06-24 | 2012-07-10 | Commvault Systems, Inc. | Application-aware and remote single instance data management |
US9098495B2 (en) | 2008-06-24 | 2015-08-04 | Commvault Systems, Inc. | Application-aware and remote single instance data management |
US8166263B2 (en) | 2008-07-03 | 2012-04-24 | Commvault Systems, Inc. | Continuous data protection over intermittent connections, such as continuous data backup for laptops or wireless devices |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
WO2010036754A1 (en) | 2008-09-26 | 2010-04-01 | Commvault Systems, Inc. | Systems and methods for managing single instancing data |
US9015181B2 (en) | 2008-09-26 | 2015-04-21 | Commvault Systems, Inc. | Systems and methods for managing single instancing data |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US8412677B2 (en) * | 2008-11-26 | 2013-04-02 | Commvault Systems, Inc. | Systems and methods for byte-level or quasi byte-level single instancing |
WO2010067118A1 (en) | 2008-12-11 | 2010-06-17 | Novauris Technologies Limited | Speech recognition involving a mobile device |
JP5579195B2 (ja) * | 2008-12-22 | 2014-08-27 | グーグル インコーポレイテッド | 複製されたコンテンツアドレス可能ストレージクラスタのための非同期分散型重複排除 |
US8401996B2 (en) | 2009-03-30 | 2013-03-19 | Commvault Systems, Inc. | Storing a variable number of instances of data objects |
US9141621B2 (en) | 2009-04-30 | 2015-09-22 | Hewlett-Packard Development Company, L.P. | Copying a differential data store into temporary storage media in response to a request |
US20100281077A1 (en) * | 2009-04-30 | 2010-11-04 | Mark David Lillibridge | Batching requests for accessing differential data stores |
US8578120B2 (en) | 2009-05-22 | 2013-11-05 | Commvault Systems, Inc. | Block-level single instancing |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US10706373B2 (en) | 2011-06-03 | 2020-07-07 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US8572137B2 (en) * | 2009-09-08 | 2013-10-29 | International Business Machines Corporation | Data de-duplication in a distributed network |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US9135016B1 (en) * | 2010-05-14 | 2015-09-15 | Emc Corporation | Methods and apparatus for managing replication of objects in a storage environment |
WO2012045023A2 (en) | 2010-09-30 | 2012-04-05 | Commvault Systems, Inc. | Archiving data objects using secondary copies |
US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US8433681B2 (en) | 2011-05-12 | 2013-04-30 | Dell Products L.P. | System and method for managing replication in an object storage system |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US10672399B2 (en) | 2011-06-03 | 2020-06-02 | Apple Inc. | Switching between text data and audio data based on a mapping |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
US9286052B1 (en) * | 2011-09-15 | 2016-03-15 | Emc Corporation | Upgrading software on a pair of nodes in a clustered environment |
US20130073286A1 (en) * | 2011-09-20 | 2013-03-21 | Apple Inc. | Consolidating Speech Recognition Results |
US8468138B1 (en) | 2011-12-02 | 2013-06-18 | International Business Machines Corporation | Managing redundant immutable files using deduplication in storage clouds |
US8682868B2 (en) * | 2011-12-02 | 2014-03-25 | International Business Machines Corporation | Removal of data remanence in deduplicated storage clouds |
US20130151483A1 (en) * | 2011-12-07 | 2013-06-13 | Quantum Corporation | Adaptive experience based De-duplication |
US8504595B2 (en) * | 2011-12-07 | 2013-08-06 | Jeffrey Tofano | De-duplication for a global coherent de-duplication repository |
KR101583748B1 (ko) * | 2011-12-08 | 2016-01-19 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 사용자 간의 중복제거를 허용하기 위한 저장소 할인 |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US9483461B2 (en) | 2012-03-06 | 2016-11-01 | Apple Inc. | Handling speech synthesis of content for multiple languages |
US8732124B1 (en) * | 2012-03-26 | 2014-05-20 | Emc Corporation | Multisite replication with coordinated cycle switching |
US9020890B2 (en) | 2012-03-30 | 2015-04-28 | Commvault Systems, Inc. | Smart archiving and data previewing for mobile devices |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US8984028B2 (en) | 2012-05-29 | 2015-03-17 | Recommind, Inc. | Systems and methods for storing data and eliminating redundancy |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
CN103491124B (zh) * | 2012-06-14 | 2018-08-14 | 南京中兴软件有限责任公司 | 一种对彩信数据进行处理的方法及分布式缓存系统 |
US9495129B2 (en) | 2012-06-29 | 2016-11-15 | Apple Inc. | Device, method, and user interface for voice-activated navigation and browsing of a document |
US9086819B2 (en) * | 2012-07-25 | 2015-07-21 | Anoosmar Technologies Private Limited | System and method for combining deduplication and encryption of data |
US20140067775A1 (en) * | 2012-09-05 | 2014-03-06 | salesforce.com,inc | System, method and computer program product for conditionally performing de-duping on data |
US9576574B2 (en) | 2012-09-10 | 2017-02-21 | Apple Inc. | Context-sensitive handling of interruptions by intelligent digital assistant |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
US9633022B2 (en) | 2012-12-28 | 2017-04-25 | Commvault Systems, Inc. | Backup and restoration for a deduplicated file system |
KR20240132105A (ko) | 2013-02-07 | 2024-09-02 | 애플 인크. | 디지털 어시스턴트를 위한 음성 트리거 |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
WO2014144579A1 (en) | 2013-03-15 | 2014-09-18 | Apple Inc. | System and method for updating an adaptive speech recognition model |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
AU2014233517B2 (en) | 2013-03-15 | 2017-05-25 | Apple Inc. | Training an at least partial voice command system |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
KR101772152B1 (ko) | 2013-06-09 | 2017-08-28 | 애플 인크. | 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스 |
EP3008964B1 (en) | 2013-06-13 | 2019-09-25 | Apple Inc. | System and method for emergency calls initiated by voice command |
EP3028157A1 (en) * | 2013-07-29 | 2016-06-08 | Hewlett Packard Enterprise Development LP | Integrity of frequently used de-duplication objects |
DE112014003653B4 (de) | 2013-08-06 | 2024-04-18 | Apple Inc. | Automatisch aktivierende intelligente Antworten auf der Grundlage von Aktivitäten von entfernt angeordneten Vorrichtungen |
US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
US10324897B2 (en) | 2014-01-27 | 2019-06-18 | Commvault Systems, Inc. | Techniques for serving archived electronic mail |
US9430490B1 (en) * | 2014-03-28 | 2016-08-30 | Formation Data Systems, Inc. | Multi-tenant secure data deduplication using data association tables |
US9620105B2 (en) | 2014-05-15 | 2017-04-11 | Apple Inc. | Analyzing audio input for efficient speech and music recognition |
US10592095B2 (en) | 2014-05-23 | 2020-03-17 | Apple Inc. | Instantaneous speaking of content on touch devices |
US9502031B2 (en) | 2014-05-27 | 2016-11-22 | Apple Inc. | Method for supporting dynamic grammars in WFST-based ASR |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9734193B2 (en) | 2014-05-30 | 2017-08-15 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
US10289433B2 (en) | 2014-05-30 | 2019-05-14 | Apple Inc. | Domain specific language for encoding assistant dialog |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
CN110797019B (zh) | 2014-05-30 | 2023-08-29 | 苹果公司 | 多命令单一话语输入方法 |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
GB2529859A (en) | 2014-09-04 | 2016-03-09 | Ibm | Device and method for storing data in a distributed file system |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10789041B2 (en) | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
US11095715B2 (en) | 2014-09-24 | 2021-08-17 | Ebay Inc. | Assigning storage responsibility in a distributed data storage system with replication |
US9800575B1 (en) * | 2014-09-24 | 2017-10-24 | Ebay Inc. | Assigning storage responsibility in a distributed data storage system with replication |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US10552013B2 (en) | 2014-12-02 | 2020-02-04 | Apple Inc. | Data detection |
US9711141B2 (en) | 2014-12-09 | 2017-07-18 | Apple Inc. | Disambiguating heteronyms in speech synthesis |
CN104462396B (zh) * | 2014-12-10 | 2017-12-19 | 北京国双科技有限公司 | 字符串处理方法和装置 |
US10152299B2 (en) | 2015-03-06 | 2018-12-11 | Apple Inc. | Reducing response latency of intelligent automated assistants |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
US10324914B2 (en) | 2015-05-20 | 2019-06-18 | Commvalut Systems, Inc. | Handling user queries against production and archive storage systems, such as for enterprise customers having large and/or numerous files |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US10127220B2 (en) | 2015-06-04 | 2018-11-13 | Apple Inc. | Language identification from short strings |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
CN105187517A (zh) * | 2015-08-20 | 2015-12-23 | 浪潮(北京)电子信息产业有限公司 | 一种实现元数据集群的方法及元数据集群 |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10089358B2 (en) * | 2015-09-21 | 2018-10-02 | The Nielsen Company (Us), Llc | Methods and apparatus to partition data |
US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10042885B2 (en) * | 2015-10-29 | 2018-08-07 | International Business Machines Corporation | Index table based routing for query resource optimization |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179588B1 (en) | 2016-06-09 | 2019-02-22 | Apple Inc. | INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
DK201770383A1 (en) | 2017-05-09 | 2018-12-14 | Apple Inc. | USER INTERFACE FOR CORRECTING RECOGNITION ERRORS |
US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
DK201770428A1 (en) | 2017-05-12 | 2019-02-18 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
US20180336275A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Intelligent automated assistant for media exploration |
DK179549B1 (en) | 2017-05-16 | 2019-02-12 | Apple Inc. | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
US10489087B2 (en) | 2017-05-24 | 2019-11-26 | International Business Machines Corporation | Using a space release data structure to indicate tracks to release for a space release command to release space of tracks in a consistency group being formed |
US10528256B2 (en) | 2017-05-24 | 2020-01-07 | International Business Machines Corporation | Processing a space release command to free release space in a consistency group |
US10896097B1 (en) * | 2017-05-25 | 2021-01-19 | Palantir Technologies Inc. | Approaches for backup and restoration of integrated databases |
US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
US20190034475A1 (en) * | 2017-07-28 | 2019-01-31 | Enigma Technologies, Inc. | System and method for detecting duplicate data records |
US10445429B2 (en) | 2017-09-21 | 2019-10-15 | Apple Inc. | Natural language understanding using vocabularies with compressed serialized tries |
US10755051B2 (en) | 2017-09-29 | 2020-08-25 | Apple Inc. | Rule-based natural language processing |
US10789002B1 (en) * | 2017-10-23 | 2020-09-29 | EMC IP Holding Company LLC | Hybrid data deduplication for elastic cloud storage devices |
US10636424B2 (en) | 2017-11-30 | 2020-04-28 | Apple Inc. | Multi-turn canned dialog |
US11086823B2 (en) | 2017-12-28 | 2021-08-10 | Dropbox, Inc. | File deduplication using signature information |
US10733982B2 (en) | 2018-01-08 | 2020-08-04 | Apple Inc. | Multi-directional dialog |
US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
DK179822B1 (da) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS |
US11076039B2 (en) | 2018-06-03 | 2021-07-27 | Apple Inc. | Accelerated task performance |
US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
US10649676B1 (en) | 2018-12-28 | 2020-05-12 | Microsoft Technology Licensing, Llc | Memory compression for immutable data structures |
US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
CN111814003B (zh) * | 2019-04-12 | 2024-04-23 | 伊姆西Ip控股有限责任公司 | 用于建立元数据索引的方法、电子设备和计算机程序产品 |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
DK201970511A1 (en) | 2019-05-31 | 2021-02-15 | Apple Inc | Voice identification in digital assistant systems |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | USER ACTIVITY SHORTCUT SUGGESTIONS |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
WO2021056255A1 (en) | 2019-09-25 | 2021-04-01 | Apple Inc. | Text detection using global geometry estimators |
US11429573B2 (en) | 2019-10-16 | 2022-08-30 | Dell Products L.P. | Data deduplication system |
US11360867B1 (en) | 2021-03-31 | 2022-06-14 | Netapp, Inc. | Re-aligning data replication configuration of primary and secondary data serving entities of a cross-site storage solution after a failover event |
US11709743B2 (en) | 2021-03-31 | 2023-07-25 | Netapp, Inc. | Methods and systems for a non-disruptive automatic unplanned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system |
US11550679B2 (en) | 2021-03-31 | 2023-01-10 | Netapp, Inc. | Methods and systems for a non-disruptive planned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system |
US11934670B2 (en) | 2021-03-31 | 2024-03-19 | Netapp, Inc. | Performing various operations at the granularity of a consistency group within a cross-site storage solution |
US11481139B1 (en) | 2021-03-31 | 2022-10-25 | Netapp, Inc. | Methods and systems to interface between a multi-site distributed storage system and an external mediator to efficiently process events related to continuity |
US11740811B2 (en) | 2021-03-31 | 2023-08-29 | Netapp, Inc. | Reseeding a mediator of a cross-site storage solution |
US11409622B1 (en) | 2021-04-23 | 2022-08-09 | Netapp, Inc. | Methods and systems for a non-disruptive planned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system without using an external mediator |
US11893261B2 (en) | 2021-05-05 | 2024-02-06 | Netapp, Inc. | Usage of OP logs to synchronize across primary and secondary storage clusters of a cross-site distributed storage system and lightweight OP logging |
US11537314B1 (en) | 2021-10-07 | 2022-12-27 | Netapp, Inc. | Resynchronization of individual volumes of a consistency group (CG) within a cross-site storage solution while maintaining synchronization of other volumes of the CG |
US11892982B2 (en) | 2021-10-20 | 2024-02-06 | Netapp, Inc. | Facilitating immediate performance of volume resynchronization with the use of passive cache entries |
US11907562B2 (en) | 2022-07-11 | 2024-02-20 | Netapp, Inc. | Methods and storage nodes to decrease delay in resuming input output (I/O) operations after a non-disruptive event for a storage object of a distributed storage system by utilizing asynchronous inflight replay of the I/O operations |
Family Cites Families (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2583010B2 (ja) * | 1993-01-07 | 1997-02-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 多層インデックス構造におけるローカルインデックステーブル及び大域インデックステーブルの間の一貫性を維持する方法 |
US6192365B1 (en) * | 1995-07-20 | 2001-02-20 | Novell, Inc. | Transaction log management in a disconnectable computer and network |
US5897664A (en) * | 1996-07-01 | 1999-04-27 | Sun Microsystems, Inc. | Multiprocessor system having mapping table in each node to map global physical addresses to local physical addresses of page copies |
US6412017B1 (en) * | 1996-07-01 | 2002-06-25 | Microsoft Corporation | Urgent replication facility |
US5812773A (en) * | 1996-07-12 | 1998-09-22 | Microsoft Corporation | System and method for the distribution of hierarchically structured data |
US6438562B1 (en) * | 1999-08-24 | 2002-08-20 | Oracle Corporation | Parallel index maintenance |
CN1232914C (zh) * | 2000-04-26 | 2005-12-21 | 计算机合作者思维公司 | 在分布计算机系统中保持数据完整性的方法与设备 |
JP4096147B2 (ja) * | 2000-10-25 | 2008-06-04 | 株式会社日立製作所 | 分散型計算機システムにおける重複配置複製データの複製方式 |
US7231391B2 (en) * | 2001-02-06 | 2007-06-12 | Quest Software, Inc. | Loosely coupled database clusters with client connection fail-over |
US20020161907A1 (en) * | 2001-04-25 | 2002-10-31 | Avery Moon | Adaptive multi-protocol communications system |
US6988124B2 (en) * | 2001-06-06 | 2006-01-17 | Microsoft Corporation | Locating potentially identical objects across multiple computers based on stochastic partitioning of workload |
US7451217B2 (en) | 2002-12-19 | 2008-11-11 | International Business Machines Corporation | Method and system for peer-to-peer authorization |
US7573500B2 (en) * | 2003-03-24 | 2009-08-11 | Sensormatic Electronics Corporation | System and method for communicating data in a video system |
US7296008B2 (en) * | 2004-08-24 | 2007-11-13 | Symantec Operating Corporation | Generation and use of a time map for accessing a prior image of a storage device |
US7685384B2 (en) * | 2004-02-06 | 2010-03-23 | Globalscape, Inc. | System and method for replicating files in a computer network |
US7200604B2 (en) * | 2004-02-17 | 2007-04-03 | Hewlett-Packard Development Company, L.P. | Data de-duplication |
US8688634B2 (en) | 2004-02-27 | 2014-04-01 | International Business Machines Corporation | Asynchronous peer-to-peer data replication |
US7206790B2 (en) * | 2004-07-13 | 2007-04-17 | Hitachi, Ltd. | Data management system |
US7778984B2 (en) * | 2004-11-19 | 2010-08-17 | Microsoft Corporation | System and method for a distributed object store |
JP2006185041A (ja) * | 2004-12-27 | 2006-07-13 | Matsushita Electric Ind Co Ltd | コンテンツ分散配置システム、端末及びコンテンツ分散配置システムの動作方法 |
US7571168B2 (en) * | 2005-07-25 | 2009-08-04 | Parascale, Inc. | Asynchronous file replication and migration in a storage network |
US7584338B1 (en) * | 2005-09-27 | 2009-09-01 | Data Domain, Inc. | Replication of deduplicated storage system |
US7788223B2 (en) * | 2005-12-05 | 2010-08-31 | Microsoft Corporation | Resource freshness and replication |
JP4920979B2 (ja) | 2006-01-25 | 2012-04-18 | 株式会社日立製作所 | ストレージ装置及びその制御方法 |
US7921077B2 (en) * | 2006-06-29 | 2011-04-05 | Netapp, Inc. | System and method for managing data deduplication of storage systems utilizing persistent consistency point images |
US7747584B1 (en) * | 2006-08-22 | 2010-06-29 | Netapp, Inc. | System and method for enabling de-duplication in a storage system architecture |
US8635194B2 (en) * | 2006-10-19 | 2014-01-21 | Oracle International Corporation | System and method for data compression |
JP4945232B2 (ja) * | 2006-12-21 | 2012-06-06 | 株式会社日立製作所 | アクセス制御方法、計算機システム、及びオブジェクト複製プログラム |
US7840537B2 (en) * | 2006-12-22 | 2010-11-23 | Commvault Systems, Inc. | System and method for storing redundant information |
JP4951331B2 (ja) * | 2006-12-26 | 2012-06-13 | 株式会社日立製作所 | ストレージシステム |
US8719375B2 (en) * | 2007-03-22 | 2014-05-06 | Microsoft Corporation | Remote data access techniques for portable devices |
US7873809B2 (en) * | 2007-03-29 | 2011-01-18 | Hitachi, Ltd. | Method and apparatus for de-duplication after mirror operation |
US8768895B2 (en) * | 2007-04-11 | 2014-07-01 | Emc Corporation | Subsegmenting for efficient storage, resemblance determination, and transmission |
US8204866B2 (en) * | 2007-05-18 | 2012-06-19 | Microsoft Corporation | Leveraging constraints for deduplication |
US8315984B2 (en) * | 2007-05-22 | 2012-11-20 | Netapp, Inc. | System and method for on-the-fly elimination of redundant data |
US7827168B2 (en) * | 2007-05-30 | 2010-11-02 | Red Hat, Inc. | Index clustering for full text search engines |
US7669023B2 (en) * | 2007-07-10 | 2010-02-23 | Hitachi, Ltd. | Power efficient storage with data de-duplication |
US8793226B1 (en) * | 2007-08-28 | 2014-07-29 | Netapp, Inc. | System and method for estimating duplicate data |
WO2009032710A2 (en) * | 2007-08-29 | 2009-03-12 | Nirvanix, Inc. | Filing system and method for data files stored in a distributed communications network |
US7822939B1 (en) * | 2007-09-25 | 2010-10-26 | Emc Corporation | Data de-duplication using thin provisioning |
US7870409B2 (en) * | 2007-09-26 | 2011-01-11 | Hitachi, Ltd. | Power efficient data storage with data de-duplication |
US8548953B2 (en) * | 2007-11-12 | 2013-10-01 | F5 Networks, Inc. | File deduplication using storage tiers |
US7870105B2 (en) * | 2007-11-20 | 2011-01-11 | Hitachi, Ltd. | Methods and apparatus for deduplication in storage system |
US7949622B2 (en) * | 2007-12-13 | 2011-05-24 | Yahoo! Inc. | System and method for generating a classifier model for classifying web content |
US8135918B1 (en) * | 2007-12-31 | 2012-03-13 | Emc Corporation | Data de-duplication for iSCSI |
US8190835B1 (en) * | 2007-12-31 | 2012-05-29 | Emc Corporation | Global de-duplication in shared architectures |
US7783604B1 (en) * | 2007-12-31 | 2010-08-24 | Emc Corporation | Data de-duplication and offsite SaaS backup and archiving |
US20090204636A1 (en) * | 2008-02-11 | 2009-08-13 | Microsoft Corporation | Multimodal object de-duplication |
US7962706B2 (en) * | 2008-02-14 | 2011-06-14 | Quantum Corporation | Methods and systems for improving read performance in data de-duplication storage |
US7814074B2 (en) * | 2008-03-14 | 2010-10-12 | International Business Machines Corporation | Method and system for assuring integrity of deduplicated data |
US7984022B2 (en) * | 2008-04-18 | 2011-07-19 | International Business Machines Corporation | Space recovery with storage management coupled with a deduplicating storage system |
US7908436B1 (en) * | 2008-04-25 | 2011-03-15 | Netapp, Inc. | Deduplication of data on disk devices using low-latency random read memory |
US8346730B2 (en) * | 2008-04-25 | 2013-01-01 | Netapp. Inc. | Deduplication of data on disk devices based on a threshold number of sequential blocks |
US7930306B2 (en) * | 2008-04-30 | 2011-04-19 | Msc Intellectual Properties B.V. | System and method for near and exact de-duplication of documents |
US8645333B2 (en) * | 2008-05-29 | 2014-02-04 | International Business Machines Corporation | Method and apparatus to minimize metadata in de-duplication |
US7996371B1 (en) * | 2008-06-10 | 2011-08-09 | Netapp, Inc. | Combining context-aware and context-independent data deduplication for optimal space savings |
US8108353B2 (en) * | 2008-06-11 | 2012-01-31 | International Business Machines Corporation | Method and apparatus for block size optimization in de-duplication |
US8682850B2 (en) * | 2008-06-11 | 2014-03-25 | International Business Machines Corporation | Method of enhancing de-duplication impact by preferential selection of master copy to be retained |
US8484162B2 (en) * | 2008-06-24 | 2013-07-09 | Commvault Systems, Inc. | De-duplication systems and methods for application-specific data |
US8335776B2 (en) * | 2008-07-02 | 2012-12-18 | Commvault Systems, Inc. | Distributed indexing system for data storage |
US8788466B2 (en) * | 2008-08-05 | 2014-07-22 | International Business Machines Corporation | Efficient transfer of deduplicated data |
US7814149B1 (en) * | 2008-09-29 | 2010-10-12 | Symantec Operating Corporation | Client side data deduplication |
US8495032B2 (en) * | 2008-10-01 | 2013-07-23 | International Business Machines Corporation | Policy based sharing of redundant data across storage pools in a deduplicating system |
JP5579195B2 (ja) * | 2008-12-22 | 2014-08-27 | グーグル インコーポレイテッド | 複製されたコンテンツアドレス可能ストレージクラスタのための非同期分散型重複排除 |
US8356017B2 (en) * | 2009-08-11 | 2013-01-15 | International Business Machines Corporation | Replication of deduplicated data |
US8868508B2 (en) * | 2010-02-09 | 2014-10-21 | Google Inc. | Storage of data in a distributed storage system |
CA2912394A1 (en) * | 2013-05-14 | 2014-11-20 | Actifio, Inc. | Efficient data replication and garbage collection predictions |
US9928248B2 (en) * | 2013-07-08 | 2018-03-27 | International Business Machines Corporation | Self-healing by hash-based deduplication |
US9817865B2 (en) * | 2015-12-07 | 2017-11-14 | International Business Machines Corporation | Direct lookup for identifying duplicate data in a data deduplication system |
-
2009
- 2009-12-22 JP JP2011542576A patent/JP5579195B2/ja active Active
- 2009-12-22 BR BRPI0922990-6A patent/BRPI0922990B1/pt active IP Right Grant
- 2009-12-22 AU AU2009330073A patent/AU2009330073B2/en active Active
- 2009-12-22 EP EP09799831.4A patent/EP2368199B1/en active Active
- 2009-12-22 CN CN201410306908.5A patent/CN104166673B/zh active Active
- 2009-12-22 US US12/644,693 patent/US8712974B2/en active Active
- 2009-12-22 WO PCT/US2009/069234 patent/WO2010075407A1/en active Application Filing
- 2009-12-22 DE DE202009019139.7U patent/DE202009019139U1/de not_active Expired - Lifetime
- 2009-12-22 CN CN200980156970.8A patent/CN102317938B/zh active Active
- 2009-12-22 CA CA2747746A patent/CA2747746C/en active Active
-
2014
- 2014-03-25 JP JP2014061617A patent/JP5902222B2/ja active Active
- 2014-04-29 US US14/265,298 patent/US20140236888A1/en not_active Abandoned
-
2016
- 2016-01-13 US US14/995,171 patent/US10291699B2/en active Active
-
2019
- 2019-04-22 US US16/390,613 patent/US11943290B2/en active Active
-
2024
- 2024-03-07 US US18/598,041 patent/US20240251012A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114610227A (zh) * | 2020-12-09 | 2022-06-10 | 戴尔产品有限公司 | 将存储系统集群化以共享用于去重的数据模式 |
CN114610227B (zh) * | 2020-12-09 | 2024-03-19 | 戴尔产品有限公司 | 将存储系统集群化以共享用于去重的数据模式 |
Also Published As
Publication number | Publication date |
---|---|
EP2368199B1 (en) | 2018-10-31 |
CA2747746C (en) | 2015-08-11 |
US8712974B2 (en) | 2014-04-29 |
DE202009019139U1 (de) | 2017-01-20 |
US11943290B2 (en) | 2024-03-26 |
US20140236888A1 (en) | 2014-08-21 |
BRPI0922990B1 (pt) | 2020-11-10 |
AU2009330073B2 (en) | 2012-11-15 |
CN102317938B (zh) | 2014-07-30 |
CN104166673B (zh) | 2017-09-19 |
WO2010075407A1 (en) | 2010-07-01 |
JP2012513640A (ja) | 2012-06-14 |
US10291699B2 (en) | 2019-05-14 |
EP2368199A1 (en) | 2011-09-28 |
US20100161554A1 (en) | 2010-06-24 |
US20240251012A1 (en) | 2024-07-25 |
JP5902222B2 (ja) | 2016-04-13 |
CN102317938A (zh) | 2012-01-11 |
JP2014139824A (ja) | 2014-07-31 |
AU2009330073A1 (en) | 2011-07-07 |
CA2747746A1 (en) | 2010-07-01 |
JP5579195B2 (ja) | 2014-08-27 |
US20160134696A1 (en) | 2016-05-12 |
BRPI0922990A2 (pt) | 2016-01-26 |
US20190268411A1 (en) | 2019-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102317938B (zh) | 用于复制内容可寻址存储集群的异步分布式去重 | |
CA2758518C (en) | Asynchronous distributed object uploading for replicated content addressable storage clusters | |
US9495433B2 (en) | Data transfer optimization | |
CN102317939B (zh) | 用于复制的存储集群的异步分布式垃圾收集 | |
Aggarwal et al. | Small files’ problem in Hadoop: A systematic literature review | |
Wang et al. | Deister: A light-weight autonomous block management in data-intensive file systems using deterministic declustering distribution | |
Moise et al. | Improving the Hadoop map/reduce framework to support concurrent appends through the BlobSeer BLOB management system | |
Chen et al. | Integration experiences and performance studies of a COTS parallel archive system | |
ELomari et al. | New data placement strategy in the HADOOP framework |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: American California Patentee after: Google limited liability company Address before: American California Patentee before: Google Inc. |
|
CP01 | Change in the name or title of a patent holder |