CN102317938A - 用于复制内容可寻址存储集群的异步分布式去重 - Google Patents

用于复制内容可寻址存储集群的异步分布式去重 Download PDF

Info

Publication number
CN102317938A
CN102317938A CN2009801569708A CN200980156970A CN102317938A CN 102317938 A CN102317938 A CN 102317938A CN 2009801569708 A CN2009801569708 A CN 2009801569708A CN 200980156970 A CN200980156970 A CN 200980156970A CN 102317938 A CN102317938 A CN 102317938A
Authority
CN
China
Prior art keywords
index
duplicate
equipment
storage cluster
heavy
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
Application number
CN2009801569708A
Other languages
English (en)
Other versions
CN102317938B (zh
Inventor
贾·达图阿什维利
亚历山大·克塞尔曼
亚历山大·德罗贝切夫
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Priority to CN201410306908.5A priority Critical patent/CN104166673B/zh
Publication of CN102317938A publication Critical patent/CN102317938A/zh
Application granted granted Critical
Publication of CN102317938B publication Critical patent/CN102317938B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, 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)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种方法由分布式数据复制系统中的设备组中的设备执行。该方法包括将对象的索引存储在分布式数据复制系统中,所述索引在对象由分布式数据复制系统中的多个设备本地存储时被复制。该方法还包括进行对索引的至少一部分的扫描,以及基于对索引的扫描来识别对象中的至少一个的冗余复制品。该方法进一步包括对冗余复制品进行去重,以及对索引进行更新以反映冗余复制品的状态。

Description

用于复制内容可寻址存储集群的异步分布式去重
背景技术
企业计算局面经历了存储体系结构的根本性转变,因为中央服务体系结构已经让位于分布式存储集群。随着企业寻求增加存储效率的方式,从商品计算机构建的存储集群可以以与庞大盘阵列相比的成本的一小部分,为新的数据密集型应用提供高性能、可用性和可伸缩性。为了开启存储集群的全部潜力,跨多个地理位置复制数据,从而增加可用性,并且减少距客户端的网络距离。
数据去重(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)或另一种类型的动态存储设备。ROM 340可以包括可以存储用于处理器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″和″Handle 41″,可以看到类似的数据记录。
当在存储集群中请求对象时,存储集群可以使用对象的内容句柄来在复制的全局索引中查找复制品位置,并且从“最佳”(例如,最接近)集群取得复制品。例如,假设在存储集群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 (23)

1.一种由分布式数据复制系统中的多个设备中的设备执行的方法,所述方法包括:
将对象的索引存储在所述分布式数据复制系统中,所述索引是在所述对象的复制品由所述分布式数据复制系统中的所述多个设备本地存储时被复制的;
进行对所述索引的至少一部分的扫描;
基于对所述索引的所述扫描来识别所述对象中的至少一个的冗余复制品;以及
通过将去重记录写入所述索引的一部分来对所述冗余复制品进行去重。
2.根据权利要求1所述的方法,其中使用所述分布式数据复制系统的基础复制层来复制对所述索引的改变。
3.根据权利要求1所述的方法,其中所述设备是负责减少在所述索引的特定子集内的对象的冗余复制品的专门设备。
4.根据权利要求1所述的方法,其中所述索引是包括在所述索引内的每一个对象的内容句柄的内容可寻址索引。
5.根据权利要求4所述的方法,进一步包括:
将数据记录或删除请求记录写入与所述对象的所述内容句柄相关联的所述索引的一部分;以及
将与所述对象的所述内容句柄相关联的所述索引的一部分复制到所述多个设备中的一个或多个其它设备。
6.根据权利要求1所述的方法,进一步包括:
接收对包括在所述索引中的另一个对象的请求;
基于所述索引来确定从其检索所述另一个对象的复制品的设备,所述设备从所述多个设备中选择;以及
从所选择的设备检索所述另一个对象的所述复制品。
7.根据权利要求1所述的方法,其中所述识别所述冗余复制品进一步基于区别两个或多个复制品之间的偏好的标准。
8.根据权利要求1所述的方法,其中所述索引独立于所述设备内的所述复制品被存储。
9.一种在分布式数据复制系统中的多个设备中的设备,所述设备包括:
用于将对象的索引存储在所述分布式数据复制系统中的装置;
用于将改变写入所述索引以指定所述对象中的一个的复制品的状态的装置;
用于将对所述索引的所述改变复制到所述分布式数据复制系统中的所述多个设备的装置;
用于进行对所述索引的至少一部分的扫描的装置;
用于基于对所述索引的所述扫描来识别所述对象中的所述一个的冗余复制品的装置;以及
用于对所述冗余复制品进行去重的装置。
10.根据权利要求9所述的系统,进一步包括:
用于对所述索引进行更新以反映去重复制品的所述状态的装置。
11.一种系统,包括:
存储器,所述存储器用来存储指令、对象的数据存储以及所述数据存储中的所述对象的索引;以及
处理器,所述处理器用来执行所述存储器中的所述指令来:
识别所述数据存储中的对象的状态,所述状态与所述对象是否具有复制品以及删除请求是否与所述对象相关联有关,
基于所述对象的所述状态将去重指定记录写入所述索引,
将具有所述去重指定记录的所述索引复制到一个或多个设备,以及
从所述一个或多个设备中的一个接收与所述对象相关联的其它去重指定记录,
其中所述去重指定记录和所述其它去重指定记录为对所述对象的一个或多个复制品的删除提供基础。
12.根据权利要求11所述的系统,其中所述去重指定记录和所述其它去重指定记录使用分布式多主站数据复制环境中的复制层来交换。
13.根据权利要求11所述的系统,其中所述处理器被进一步配置为:
进行对所述索引的一部分的扫描以识别所述对象的冗余复制品。
14.根据权利要求11所述的系统,其中所述设备单独负责对所述索引内的对象的子集的去重。
15.根据权利要求11所述的系统,其中所述去重指定记录包括:
存储所述对象的所述设备的集群标识;
所述对象在所述设备内的存储位置的位置标识;以及
所述对象的去重状态的指定部分。
16.根据权利要求15所述的系统,其中所述指定部分包括以下的一个:
指示所述对象的活复制品的数据指定;
指示对复制品的正在进行的删除请求的删除请求指定;以及
指示已被选择用于去重的复制品的去重指定符。
17.一种由一个或多个设备执行的方法,包括:
将对象的索引存储在分布式数据复制系统内的多个设备中,以及在本地存储所述对象时遍及所述分布式数据复制系统复制所述索引,其中每一个设备负责所述索引的特定子集内的所述对象的去重;
进行对所述索引的所述子集中的每一个的扫描以基于所述扫描来识别冗余复制品;
对所述冗余复制品进行去重;以及
自动将对象从带有具有正在进行的删除请求的复制品的设备拷贝到带有先前已被去重的复制品的设备。
18.根据权利要求17所述的方法,进一步包括:
将改变写入与所述对象中的一个相关联的所述索引的一部分,所述改变包括所述对象的复制品的数据记录、删除请求记录或去重记录。
19.根据权利要求17所述的方法,进一步包括:
使用所述分布式数据复制系统的基础复制层来对所述索引的所述改变进行复制。
20.根据权利要求17所述的方法,其中所述索引是包括在所述索引内的每一个对象的内容句柄的内容可寻址索引。
21.一种包括计算机可执行的指令的计算机可读存储器,所述计算机可读存储器包括:
用来进行对分布式数据复制系统中的对象的索引的一部分的扫描的一个或多个指令;
用来基于对所述索引的所述一部分的所述扫描来识别所述对象中的一个的冗余复制品的一个或多个指令;以及
用来对所述冗余复制品进行去重的一个或多个指令。
22.根据权利要求21所述的计算机可读存储器,进一步包括:
用来将改变写入与所述冗余复制品相关联的所述索引的一部分的一个或多个指令,所述改变包括所述冗余复制品的去重记录。
23.根据权利要求21所述的计算机可读存储器,进一步包括:
用来接收对包括在所述索引中的另一个对象的请求的一个或多个指令;
用来基于所述索引来选择从其检索所述另一个对象的复制品的存储集群的一个或多个指令;以及
用来从所选择的存储集群检索所述另一个对象的所述复制品的一个或多个指令。
CN200980156970.8A 2008-12-22 2009-12-22 用于复制内容可寻址存储集群的异步分布式去重 Active CN102317938B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410306908.5A CN104166673B (zh) 2008-12-22 2009-12-22 用于复制内容可寻址存储集群的异步分布式去重

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13985708P 2008-12-22 2008-12-22
US61/139,857 2008-12-22
PCT/US2009/069234 WO2010075407A1 (en) 2008-12-22 2009-12-22 Asynchronous distributed de-duplication for replicated content addressable storage clusters

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201410306908.5A Division CN104166673B (zh) 2008-12-22 2009-12-22 用于复制内容可寻址存储集群的异步分布式去重

Publications (2)

Publication Number Publication Date
CN102317938A true CN102317938A (zh) 2012-01-11
CN102317938B CN102317938B (zh) 2014-07-30

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 Before (1)

Application Number Title Priority Date Filing Date
CN201410306908.5A Active CN104166673B (zh) 2008-12-22 2009-12-22 用于复制内容可寻址存储集群的异步分布式去重

Country Status (9)

Country Link
US (4) 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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103491124A (zh) * 2012-06-14 2014-01-01 中兴通讯股份有限公司 一种对彩信数据进行处理的方法及分布式缓存系统

Families Citing this family (237)

* Cited by examiner, † Cited by third party
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
US9098495B2 (en) 2008-06-24 2015-08-04 Commvault Systems, Inc. Application-aware and remote single instance data management
US8219524B2 (en) * 2008-06-24 2012-07-10 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
DE202009019139U1 (de) * 2008-12-22 2017-01-20 Google Inc. Asynchron verteilte Deduplizierung für replizierte inhaltsadressierte Speichercluster
US8401996B2 (en) 2009-03-30 2013-03-19 Commvault Systems, Inc. Storing a variable number of instances of data objects
US20100281077A1 (en) * 2009-04-30 2010-11-04 Mark David Lillibridge Batching requests for accessing differential data stores
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
US8578120B2 (en) * 2009-05-22 2013-11-05 Commvault Systems, Inc. Block-level single instancing
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US20120309363A1 (en) 2011-06-03 2012-12-06 Apple Inc. Triggering notifications associated with tasks items that represent tasks to perform
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
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
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
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
US10672399B2 (en) 2011-06-03 2020-06-02 Apple Inc. Switching between text data and audio data based on a mapping
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
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
US8504595B2 (en) * 2011-12-07 2013-08-06 Jeffrey Tofano De-duplication for a global coherent de-duplication repository
US20130151483A1 (en) * 2011-12-07 2013-06-13 Quantum Corporation Adaptive experience based De-duplication
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
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
EP3809407A1 (en) 2013-02-07 2021-04-21 Apple Inc. Voice trigger for a digital assistant
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
AU2014233517B2 (en) 2013-03-15 2017-05-25 Apple Inc. Training an at least partial voice command system
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
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
KR101922663B1 (ko) 2013-06-09 2018-11-28 애플 인크. 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
JP2016521948A (ja) 2013-06-13 2016-07-25 アップル インコーポレイテッド 音声コマンドによって開始される緊急電話のためのシステム及び方法
US20160188397A1 (en) * 2013-07-29 2016-06-30 Hewlett-Packard Development Company, L.P. Integrity of frequently used de-duplication objects
AU2014306221B2 (en) 2013-08-06 2017-04-06 Apple Inc. Auto-activating smart responses based on activities from remote devices
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
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
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
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
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
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
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
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
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
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 北京国双科技有限公司 字符串处理方法和装置
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
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
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
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
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179309B1 (en) 2016-06-09 2018-04-23 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
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
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
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
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
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
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION 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
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
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
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
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
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
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
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
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
US10496705B1 (en) 2018-06-03 2019-12-03 Apple Inc. Accelerated task performance
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
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
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
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
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
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
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
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
CN114610227B (zh) * 2020-12-09 2024-03-19 戴尔产品有限公司 将存储系统集群化以共享用于去重的数据模式
US11740811B2 (en) 2021-03-31 2023-08-29 Netapp, Inc. Reseeding a mediator of a cross-site storage solution
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
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
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
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
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
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
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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438562B1 (en) * 1999-08-24 2002-08-20 Oracle Corporation Parallel index maintenance
CN1461438A (zh) * 2000-04-26 2003-12-10 计算机合作者思维公司 在分布计算机系统中保持数据完整性的方法与设备
US20050193024A1 (en) * 2004-02-27 2005-09-01 Beyer Kevin S. Asynchronous peer-to-peer data replication
CN1726446A (zh) * 2002-12-19 2006-01-25 国际商业机器公司 用于对等授权的方法和系统
CN101080710A (zh) * 2004-08-24 2007-11-28 塞门铁克操作公司 映象数据存储装置写时间映射

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2583010B2 (ja) * 1993-01-07 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 多層インデックス構造におけるローカルインデックステーブル及び大域インデックステーブルの間の一貫性を維持する方法
AU6500596A (en) * 1995-07-20 1997-02-18 Novell, Inc. Transaction log management in a disconnectable computer and network
US6412017B1 (en) * 1996-07-01 2002-06-25 Microsoft Corporation Urgent replication facility
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
US5812773A (en) * 1996-07-12 1998-09-22 Microsoft Corporation System and method for the distribution of hierarchically structured data
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
US7573500B2 (en) 2003-03-24 2009-08-11 Sensormatic Electronics Corporation System and method for communicating data in a video system
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
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 コンテンツ分散配置システム、端末及びコンテンツ分散配置システムの動作方法
US7574443B2 (en) * 2005-07-25 2009-08-11 Parascale, Inc. Scalable clustered storage system
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
US7783604B1 (en) * 2007-12-31 2010-08-24 Emc Corporation Data de-duplication and offsite SaaS backup and archiving
US8190835B1 (en) * 2007-12-31 2012-05-29 Emc Corporation Global de-duplication in shared architectures
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
US8346730B2 (en) * 2008-04-25 2013-01-01 Netapp. Inc. Deduplication of data on disk devices based on a threshold number of sequential blocks
US7908436B1 (en) * 2008-04-25 2011-03-15 Netapp, Inc. Deduplication of data on disk devices using low-latency random read memory
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
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
US8108353B2 (en) * 2008-06-11 2012-01-31 International Business Machines Corporation Method and apparatus for block size optimization in de-duplication
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
DE202009019139U1 (de) * 2008-12-22 2017-01-20 Google Inc. Asynchron verteilte Deduplizierung für replizierte inhaltsadressierte Speichercluster
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
JP2016524220A (ja) * 2013-05-14 2016-08-12 アクテフィオ,インク. 効率的なデータ複製及びガベージコレクション予測
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438562B1 (en) * 1999-08-24 2002-08-20 Oracle Corporation Parallel index maintenance
CN1461438A (zh) * 2000-04-26 2003-12-10 计算机合作者思维公司 在分布计算机系统中保持数据完整性的方法与设备
CN1726446A (zh) * 2002-12-19 2006-01-25 国际商业机器公司 用于对等授权的方法和系统
US20050193024A1 (en) * 2004-02-27 2005-09-01 Beyer Kevin S. Asynchronous peer-to-peer data replication
CN101080710A (zh) * 2004-08-24 2007-11-28 塞门铁克操作公司 映象数据存储装置写时间映射

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MATTHIAS WIESMANN ET AL: "《Database Replication Techniques: a Three Parameter Classification》", 《RELIABLE DISTRIBUTED SYSTEM,2000.SRDS-2000.PROCEEDINGS THE 19TH IEEE SYMPOSIUM ON》 *
RICHARD G. GUY ET AL: "《Implementation of the Ficus Replicated File System》", 《PROCEEDINGS OF THE SUMMER USENIX CONFERENCE ANAHEIM,CA》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103491124A (zh) * 2012-06-14 2014-01-01 中兴通讯股份有限公司 一种对彩信数据进行处理的方法及分布式缓存系统
CN103491124B (zh) * 2012-06-14 2018-08-14 南京中兴软件有限责任公司 一种对彩信数据进行处理的方法及分布式缓存系统

Also Published As

Publication number Publication date
BRPI0922990B1 (pt) 2020-11-10
US20190268411A1 (en) 2019-08-29
JP5579195B2 (ja) 2014-08-27
JP2014139824A (ja) 2014-07-31
AU2009330073A1 (en) 2011-07-07
CN102317938B (zh) 2014-07-30
CN104166673B (zh) 2017-09-19
JP5902222B2 (ja) 2016-04-13
AU2009330073B2 (en) 2012-11-15
BRPI0922990A2 (pt) 2016-01-26
US10291699B2 (en) 2019-05-14
CA2747746A1 (en) 2010-07-01
EP2368199B1 (en) 2018-10-31
JP2012513640A (ja) 2012-06-14
US20160134696A1 (en) 2016-05-12
EP2368199A1 (en) 2011-09-28
WO2010075407A1 (en) 2010-07-01
US11943290B2 (en) 2024-03-26
CN104166673A (zh) 2014-11-26
DE202009019139U1 (de) 2017-01-20
CA2747746C (en) 2015-08-11
US8712974B2 (en) 2014-04-29
US20140236888A1 (en) 2014-08-21
US20100161554A1 (en) 2010-06-24

Similar Documents

Publication Publication Date Title
CN102317938B (zh) 用于复制内容可寻址存储集群的异步分布式去重
CN109564564B (zh) 克隆目录对象
CA2758518C (en) Asynchronous distributed object uploading for replicated content addressable storage clusters
CN106687911B (zh) 不损害数据完整性的在线数据移动
CN102317939A (zh) 用于复制的存储集群的异步分布式垃圾收集
Luo et al. A RAMCloud storage system based on HDFS: Architecture, implementation and evaluation
US20200364239A1 (en) Asynchronous replication of in-scope table data
Salunkhe et al. In search of a scalable file system state-of-the-art file systems review and map view of new Scalable File system
WO2017156855A1 (en) Database systems with re-ordered replicas and methods of accessing and backing up databases
Yan et al. Hmfs: efficient support of small files processing over HDFS
Wang et al. Deister: A light-weight autonomous block management in data-intensive file systems using deterministic declustering distribution
Bui et al. ROARS: a scalable repository for data intensive scientific computing
Moise et al. Improving the Hadoop map/reduce framework to support concurrent appends through the BlobSeer BLOB management system
ELomari et al. New data placement strategy in the HADOOP framework
JP6680897B2 (ja) 計算機システム及び分析ソースデータ管理方法
Hammoud et al. DecStore: a Blockchain-based File Storage System With Autoscaling
JP2021114137A (ja) データ分析を支援するシステム及び方法
Sharma et al. Nosql and hadoop technologies on oracle cloud
Computing ΕΠΛ 602: Foundations of Internet Technologies

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
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.