CN102388361B - 差别文件以及从对等点和云恢复的系统 - Google Patents

差别文件以及从对等点和云恢复的系统 Download PDF

Info

Publication number
CN102388361B
CN102388361B CN201080015305.XA CN201080015305A CN102388361B CN 102388361 B CN102388361 B CN 102388361B CN 201080015305 A CN201080015305 A CN 201080015305A CN 102388361 B CN102388361 B CN 102388361B
Authority
CN
China
Prior art keywords
network
file
version
data storage
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201080015305.XA
Other languages
English (en)
Other versions
CN102388361A (zh
Inventor
E.E.墨菲
J.D.梅尔
N.维尔克
L.M.索斯诺斯基
J.R.哈米尔顿
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN102388361A publication Critical patent/CN102388361A/zh
Application granted granted Critical
Publication of CN102388361B publication Critical patent/CN102388361B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/83Indexing scheme relating to error detection, to error correction, and to monitoring the solution involving signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

这里提供了一种用于在基于网络的备份系统中进行高效恢复的系统和方法。如这里所述,可使用基于差别的分析以便在取出备份数据之前基于签名和/或与要恢复的给定项有关的其它信息来计算新的完全差别。根据该差别,仅传输被确定为该项的当前版本与期望版本之间独有的块,此后对该块与非独有的本地存在块进行合并以获得该项的完全恢复的版本。此外,可采用混合结构,其中将签名和/或数据存储在网络之内的全球位置以及一个或多个本地对等点上。因此,备份客户端可从全球位置或者附近对等点获得要恢复所必需的信息,这可进一步降低延时和带宽消耗。

Description

差别文件以及从对等点和云恢复的系统
背景技术
因为计算设备变得更加普遍且在普通人群中广泛使用,因此这种设备所产生和使用的数据量迅速增大。例如,计算和数据存储技术的最新进步可使甚至最受外形尺寸限制的设备也能够存储各种需要大量数据的应用(诸如文档编辑、媒体处理等)的大量信息并对其进行处理。此外,通信技术的最新进步可使计算设备能够以高速率传送数据。这些进步连同其它技术一起已经导致实现了可利用位于网络上的多个位置处的计算设备实施的分布式计算服务。另外,这些进步可使得能够实现诸如基于网络的备份之类的服务,该服务允许计算设备的用户在位于网络上的远程位置处维护与计算设备相关联的数据的一个或多个备份拷贝。
现有系统和/或数据备份解决方案可使用户能够将备份信息存储在与其原始源相分离的位置和/或介质中。因此,例如,可将来自计算设备的数据从硬盘驱动器备份到诸如磁带驱动器、外部硬盘驱动器等等这样的外部介质。然而,在基于网络的备份的实现和/或可用于物理地提供用于存储备份数据的远程位置的其他解决方案中,与用户机器与远程存储位置之间的用户数据的传输和恢复相关的成本及复杂性能够显著地限制备份系统的可用性。例如,在将备份数据存储在远程网络位置处的情况下,可将与文件和/或系统映像的原始拷贝的相应版本相关联的数据传送到远程存储设备,其中可以稍后取出相应版本以便恢复。然而,在这种示例中,一般通过网络传输相当大的数据量,由此耗费昂贵的带宽。鉴于上述,期望实现效率提高的基于网络的备份技术。
发明内容
以下给出了所要求保护主题的简单概要以便提供对所请求保护的主题的一些方面的基本了解。该发明内容不是对所请求保护的主题的广泛概述。它既不用于标识出所请求保护的主题的关键或重要元素,也不划定所请求保护的主题的范围。其唯一目的是以简单形式给出所请求保护的主题的一些概念以作为对随后给出的更详细描述的前奏。
在这里提供了便于基于网络的备份系统的高效恢复技术的系统和方法。可利用基于差别的分析以便对于要恢复的项目的特定版本的给定恢复而言,在网络上传输数据之前计算一个或多个远程备份位置与备份客户端之间的新的完全差别。可通过例如对与位于备份客户端上的要恢复项目的当前版本和位于远程备份位置处的期望版本相对应的签名进行比较来在备份客户端与远程备份位置二者处计算差别。基于所计算的差别,可仅对确定为在项目的当前版本与其期望版本之间为独有的块进行传输,由此降低恢复的延时以及所消耗的网络带宽。一旦获得了,则可以将从远程备份位置所获得的独有块与存在于早已位于备份客户端上的项目的当前版本中的非独有块进行合并以获得完全恢复的版本。
根据一个方面,可采用混合体系结构,其中可以从在网络或互连网络之内(例如“云”)的全球位置以及来自与备份客户端位于其上的机器相关联的一个或多个对等点机器使进行恢复所需的签名和/或数据可用于备份客户端。相应地,备份客户端可获得要执行从云或附近对等点恢复所需的一些或所有信息,由此进一步减低延时和带宽耗费。在一个示例中,可基于诸如网络位置可用性、相对负载、网络拓扑结构等等这样的因素而以智能化和自动化方式来选择被利用用于存储和/或恢复备份信息的位置选择。
以下描述和附图详细地阐述了所请求保护的主题的某些说明性方面。然而,这些方面是对其中可以采用所请求保护主题的原则的各种方式中的少数几个的指示,并且所请求保护的主题包括所有这些方面及其等效体。根据对所请求保护的主题的以下结合附图考虑的详细说明,可显而易见地得知所请求保护主题的其它优点和区别特征。
附图说明
图1是根据各个方面的用于从备份信息进行差别恢复的系统的高级别框图。
图2是根据各个方面的用于产生备份信息的系统的框图。
图3是根据各个方面的用于产生与备份信息相对应的签名的系统的框图。
图4是根据各个方面的用于执行基于签名的差别的系统的框图。
图5是根据各个方面的用于实现混合的基于云和点对点备份存储的系统的框图。
图6是根据各个方面的用于在混合的基于云和点对点备份体系结构中进行差别恢复的系统的框图。
图7说明了可与这里所述的各个方面相结合使用的示例性网络实现。
图8是用于执行差别文件恢复的方法的流程图。
图9是用于实施文件的基于签名的差别处理的方法的流程图。
图10是用于从混合的点对点/基于云的系统获得文件段的方法的流程图。
图11是这里所述的各个方面可在其中起作用的计算系统的框图。
图12说明了示例性网络计算环境的示意框图。
具体实施方式
现在参考附图对所要求保护的主题进行描述,其中相同参考数字自始至终用于指示相同元件。在下面的描述中,为了说明的目的而对许多细节进行了阐述以便提供对所要求保护主题的透彻理解。然而,显而易见的是可以实践所要求保护的主题而不用这些细节。在其他情况下,以框图的形式示出了众所周知的结构和设备以便于对所要求保护的主题进行描述。
如在该申请中所使用的,术语“组件”、“模块”、“系统”、“接口”、“模式”、“算法”等等通常是指与计算机有关的实体,其要么为硬件、硬件和软件的组合、软件、要么为在执行中的软件。例如,组件可以是但不局限于在处理器上所运行的处理、处理器、对象、可执行应用(executable)、执行线程、程序、和/或计算机。举例来说,运行在控制器上的应用以及控制器这两者都可以是组件。一个或多个组件可以驻留在执行的处理和/或线程之内,并且可使组件位于在一个计算机上和/或分布在两个或多个计算机之间。
此外,可以使用标准程序和/或工程技术来将所请求保护的主题实现为方法、装置、或者制品以生成软件、固件、硬件、或者其任何组合以控制计算机实现所公开的主题。如这里所使用的术语“制品”意图涵盖可从任何计算机可读设备、载体、或者介质访问的计算机程序。例如,计算机可读介质包括但不局限于磁存储设备(例如硬盘、软盘、磁条...)、光盘(紧致盘片(CD)、数字多功能磁盘(DVD)...)、智能卡、以及闪速存储器设备(例如,卡、条、键驱动...)。此外,应该理解的是,可采用载波以携带诸如在发送和接收电子邮件或者访问诸如因特网或局域网(LAN)这样的网络的过程中所使用的计算机可读电子数据之类的计算机可读电子数据。当然,本领域普通技术人员会认识到可对该配置做出许多修改而不脱离所要求保护的主题的范围或精神。
此外,词语“示例”在这里用来表示充当例子、实例或说明。这里描述为“示例”的任何方面或设计不必被理解为优于其他方面或设计。相反,词语示例的使用意图给出抽象形式的概念。如在本申请中所使用的,术语“或”意图表示包括性的“或”而非排他性的“或”。也就是说,除非特别指出或从上下文清楚理解,“X采用A或B”意图表示任何自然的包括性枚举。即,如果X采用A;X采用B;或X采用A和B两者,则在任何前述实例下均满足“X采用A或B”。此外,本申请和所附权利要求中所使用的不定冠词“一”或“一个”可通常被理解为“一个或多个”,除非特别指出或从上下文清楚理解为针对单数形式。
现在参考附图,图1说明了根据这里所述的各个方面的用于实施从备份信息进行差别恢复的系统100的框图。在一个示例中,可以利用系统100以将文件、系统映像和/或其它数据从驻留在客户端机器(其实现系统100和/或否则与系统100相关联)上的当前版本恢复到驻留在备份系统上的期望版本。
根据一个方面,系统100可与基于网络的或者在线备份解决方案(例如,如在下面进一步详细描述的云备份系统)相结合地使用,其中基于网络的或者在线备份解决方案在与客户端机器相关联的网络或互连网络上的一个或多个远程存储位置处存储来自客户端机器的备份信息。传统的在线备份解决方案通过将在各个时间点从备份客户端从获得的文件集维持在远程存储位置处来进行操作。随后,通过在请求时从存储位置取出一个或多个文件来实施恢复。然而,应清楚的是,按照这种方式从在线备份系统恢复出信息可耗费过度的与从在线备份存储设备中取出完整文件相关联的时间量和/或带宽。此外,应理解的是,该系统通常取出完整文件用于恢复操作,甚至在例如仅给定文件中的很小数据部分在存储在客户端上的当前版本与远程位置上的期望版本之间已经变化了也是如此。例如,这样系统在某些情况下被配置成即使当客户端处的文件当前版本与要取出的版本仅在名称和/或元数据方面不同时也取出完整文件。
其他传统的在线备份解决方案通过例如存储信息的原始版本并且随后存储反映出原始版本的变化的增量更新而不是存储信息的多个完整版本来提供增量远程存储。然而,增量更新按照累积方式传统地存储在该系统中并从中取出,以致希望使文件或其它信息回滚过多个先前版本的备份客户端被要去取出与该信息要回滚经过的每个先前版本相对应的增量更新。在有些情况下,经过版本的变化量可以很大,这可能会导致通过网络传送大量信息以及对带宽消耗和/或时间很大的结果要求,即使当前版本与期望版本之间的净变化相对小也是如此。
因此,为了提供与从远程存储备份信息的恢复相关的增加的效率以及更低的时间和带宽消耗要求,系统100可便于信息的差别恢复。更具体地,当用户希望恢复一个或多个文件的先前版本时,可使用差别组件110以实施期望版本与用户机器目前所存储的当前版本之间的差别处理。根据一个方面,代替使在文件(多个)以及所有相关备份的生命周期上使用的增量差别更新处理反转的是,差别组件110可代之以利用一组签名和/或其它指示符以仅确定所存在的、在期望版本与当前版本之间独有的段或块而无需使任何增量处理反转。
根据另一个方面,在识别出当前文件版本与期望版本之间的独有块列表时,可以使用块位置组件120以识别出各独有块在相关联网络上的相应位置。因此,应当理解的是,通过仅仅识别、定位、和/或取出被确定为从给定文件的期望版本至其当前版本已经发生变化的文件中的各块和段,系统100所实施的恢复处理相对于传统的在线备份解决方案可提供降低的延时和带宽要求以及提高的性能。
在一个示例中,块位置组件120可利用与相关联网络上的相应块的位置有关的地图、索引、和/或其他元数据以取出被确定为在当前与期望文件版本之间不同的相应块。在另一示例中,块位置组件120以智能和/或自动方式定位块以找到用于获得相应块的阻力最小路径。因此,例如,块位置组件120可利用诸如网路可用性、负载等等这样的因素以确定用于获得各文件段或块的最有效方式。通过特定示例而言,块位置组件120可确定出给定块位于国际互联网上的云存储位置以及与局域网相关的一个或多个对等点机器处。在该示例中,块位置组件120可便于从最近的可用对等点取出该块以便于更快地取出并节省网络带宽,这只有在如果没有对等点可用的情况下后退到云。在下面进一步详细描述中提供了可用于点对点和/或基于云的存储体系结构的实现示例。
根据附加方面,在块位置组件120识别出与给定文件相对应的相应独有块的位置之后,可使用恢复组件130以从块位置组件120所给出的位置取出识别块并且根据所取出的块恢复文件的期望版本。在一个例子中,恢复组件130取出相应识别块的位置可以由块位置组件120来设置。或者,块位置组件120可提供一个或多个给定块所处的位置列表,根据该位置列表,恢复组件130可基于可用性、负载、带宽考虑和/或其他适当因素而以自动方式选择从其中取出块(多个)的位置。例如,块位置组件120可向恢复组件130提供给定块所处的一个或多个对等点以及国际互联网上的云存储系统上的相应位置,并且恢复组件130可通过侧重于在节省带宽并降低延时是可行时利用对等点机器来取出块(多个)。
在恢复组件130已取出与文件的期望版本相对应的各识别块之后,恢复组件130可通过对所取出的块与已本地存在于文件的当前版本之中的非独有块进行合并来重建文件的期望版本。可利用例如下述反转差别算法来执行对文件的期望版本的重建,在所述反转差别算法中,利用所获得的、与文件的当前版本与期望版本之间的差别相对应的块来回滚当前版本相比期望版本的变化。然而,应该理解的是,文件恢复可以由恢复组件130利用用于使当前文件版本与和期望文件版本相关的各独有文件段合并的任何适当算法来执行。此外,应理解的是,各块或文件段的构造、识别、和/或使用可以由系统100以任何适当方式来执行,并且否则除非明确说明,附加到此的权利要求不局限于文件分段或恢复的任何特定示例。
现在转到图2,其中说明了用于根据各个方面生成备份信息的系统200。如图2所示,系统200可包括备份组件210,该备份组件210可生成各文件、各系统快照、和/或与备份客户端相关联的其他信息的备份拷贝并便于对这些备份拷贝的存储。在一个示例中,备份组件210可驻留在要备份的客户端信息所处的机器上和/或从所述机器操作。另外或者替代地,备份组件210可驻留在完全不同的计算设备上(例如,作为远程执行组件)。在一个示例中,备份组件210可用于以有规律的时间间隔、在触发一个或多个事件时(例如,修改文件)和/或基于任何其他适当激活标准来对文件集和/或其他信息进行备份。
根据一个方面,备份组件210可以增量方式来实施对文件的备份以便降低要实现系统200所需的带宽和/或存储空间量。这可以由例如首先利用分段组件212将要备份的文件划分成相应文件段(例如块、大块等等)来实现。在一个示例中,对文件的分段或成块可以由分段组件212以按照便于相应文件段的去重复的方式来执行。例如,在图3中的系统300所说明的特定且非限制性示例中,分段组件310可将文件的第一版本(例如,版本A 302)划分成在图3中被表示为A1至A4的一组均匀块和/或不均匀块。随后,在检测到对文件的修改时(例如,修改至版本B 304)时,分段组件310可按照与版本A 302的分段一致的方式重新对文件进行分段以便很容易识别出从版本A 302至版本B 304的状态不同的文件中的任何块。例如,如在图3中所说明的那样,版本B 304包含从版本A 302到版本B 304发生了改变的、在版本B 304中被表示为B1的一个块。
在检测到文件的更新版本中的独有块时,分段组件310(以及类似地,系统200中的分段组件212)可便于增量存储与文件相对应的新的和/或变化的块以及与文件的相应版本之间的变化有关的其它信息。如系统300进一步说明的,还可执行在这里通常称为增量或者△更新的这些更新以便于存储与新文件块的添加(例如版本C 306中添加块C1)、除去文件块(例如,版本D 308中删除块A4)、和/或任何其它适当文件操作和/或修改有关的信息。
返回到图2中的系统200,在生成了与文件相对应的块或段时,可将与相应文件和/或文件更新相对应的各个块提供给段分发组件214。段分发组件214可接着在一个或多个网络存储位置上的一个或多个段存储设备220当中分发各块。例如,段存储设备220可与局域网中的对等点机器、云存储服务和/或其他适当的基于因特网的存储位置、和/或任何其它存储站点相关联。在下面进一步详细说明中描述了用于在各网络存储位置当中分发信息的技术。
根据一个方面,备份组件210可另外采用签名生成组件216以生成与分段组件212所分段的一个或多个文件和/或其版本相对应的签名信息。例如,如在图3中的示意图300所说明的,可使用签名生成组件320以生成与特定文件的相应版本302-308相对应的相应签名322-328。另外或者替代地,签名生成组件216所生成的签名与单个块、块组(例如,文件中的块和/或文件的增量更新)、整个文件和/或文件版本、和/或任何其它适当分组相对应。通过特定的非限制性示例,将各相应块预先配置成统一大小(例如,4千字节(kb)),并且可将相应签名配置成表示预定统一数目的块(例如12)。然而,应理解的是,可使用任何适当的块大小和/或签名结构。
在一个例子中,可使用签名生成组件216所创建的签名以识别存在于文件的给定版本之中的块或段。此外,可将分段组件212配置成在文件的相应版本上执行一致分段以便为文件的相应版本所生成的签名表示相应版本的变化。因此,如图4中的系统400所说明的那样,可识别出文件的当前版本与期望版本之间的独有块集。
如图4所说明的,差别组件420可与此相关联和/或否则被配置为获得与要恢复的文件的当前版本相对应的签名424。在确定出希望将文件恢复回到给定先前版本时,签名源410可提供与期望版本相关联的对应签名。基于与这两个版本相关联的签名,比较器部件422然后可对相应签名进行比较以获得期望版本与当前版本之间所独有的块的身份。因此,应理解的是,在一个示例中,比较器部件420可执行基于签名的差别处理以确定要成功恢复给定文件所需的相应独有块的身份。在另一示例中,签名源410可与差别组件420与之相关联的设备和/或其他适当设备(例如,云服务提供商、对等点或超对等点等等)相关联。就非限制性示例而言,签名源410可以实现为版本列表索引,其跟踪相关联系统中的信息的相应版本以及它们的相应签名。在一个示例中,这种索引可分布在相关系统中的诸如对等点、超对等点、或者云存储位置这样的多个网络位置上。然而,应该理解的是,这样的实现仅仅是可使用的实现的示例,并且除非明确说明,否则附加到此的权利要求不局限于该实现。
现在参考图5,其中说明了根据各个方面的用于实现混合的基于云和点对点备份存储的系统500的框图。如图5所说明的,系统500包括分段组件510,该分段组件510可如上所述生成与文件和/或其相应版本相对应的文件段或块。在一个示例中,可将分段组件510所生成的块提供给段分发组件520,该段分发组件520将相应块提供给一个或多个相关联存储位置。
根据一个方面,系统500可使用混合的点对点(P2P)和基于云的体系结构,以便段分发组件520可使得用于实施恢复操作的数据片和/或与此相关的签名在诸如对等点(多个)532和/或超级对等点(多个)534这样的一个或多个信任对等点上以及一个或多个云存储位置536上可用。如进一步在系统500中所说明的,对等点(多个)532、超级对等点(多个)534、和/或云存储设备536可以进一步操作来在彼此之间传送文件段、签名和/或其它信息。另外,应该理解的是,系统500的分段组件510、段分发组件520和/或任何其它组件可以另外与一个或多个对等点532、超级对等点534、或者与云存储设备536相关联的实体相关联。下面提供与可使用对等点(多个)532、超级对等点(多个)534、或者云存储设备536有关的技术进一步详情以及与混合体系结构之内的这种实体的功能有关的进一步详情。
根据另一方面,段分发组件520包括索引组件522和/或否则与索引组件522相关联,该索引组件522可维护这样的索引,该索引列出了分段组件510所生成的块与块已分发到的对应位置之间的相应映射关系。在一个示例中,将该索引与其中所表示的块一起分发给一个或多个对等点532、超级对等点534、或者云存储位置536。应理解的是,可将整个索引分发给一个或多个位置,或者索引本身可被分段并且在多个位置当中分发。
根据附加方面,段分发组件520可进一步可选地包括网络分析器组件524,该网络分析器组件524对与系统500相关联的计算网络进行分析以确定一个或多个位置以分发相应块、索引、索引段等等。在一个示例中,网络分析器组件524可基于网络负载、存储位置的可用性(例如基于设备活动级别、加电或断电状态、相应位置处的可用存储空间等)等来选择要分发的信息的一个或多个目的地。例如,可以这样做以平衡各种数据的可用性与最佳位置。
如系统500进一步说明的,网络分析器组件524可另外采用机器学习和推理(MLR)组件526以便于对相应信息的存储位置进行智能自动选择。在一个示例中,MLR组件526可利用通常为本技术领域所知的任何适当人工智能(AI)、机器学习和/或其他的算法(多种)。如在这里所描述的,术语"智能"是指例如根据与该系统有关的现有信息推断或得出(推理)与系统的当前或将来状态有关的结论这样的能力。可采用人工智能以识别出特定环境或动作,或者产生系统的特定状态的概率分布而无需人工干预。人工智能依赖于将高级数学算法(例如决策树、神经网络、回归分析、聚类分析、遗传算法、以及强化学习)应用于该系统的一组可用数据(信息)上。例如,可以采用众多方法中的一个或多个方法用于根据数据来学习并且此后从如此所构造的模型进行推论,这些模型例如为隐马尔可夫模型(HMMs)以及相关原型依存模型、例如由利用贝叶斯模型记分或近似的结构搜索所创建的诸如贝叶斯网络这样的更一般概率图模型、诸如支持向量机(SVM的)这样的线性分类器、诸如被称为"神经网络"方法这样的非线性分类器、模糊逻辑方法、以及根据实现这里所述的各个自动方面的其他方法(执行数据融合等)。
参考图6,对根据各个方面的用于在基于混合云和点对点备份体系结构中实施差别恢复的系统600进行说明。如系统600所说明的,可使用混合的P2P/云备份体系结构,其中与一个或多个计算设备相对应的备份数据在一个或多个对等点机器610或640和/或一个或多个超级对等点机器650以及一个或多个云存储位置660当中分发。
在一个示例中,对等点机器640可包括可用于接收并维护与一个或多个文件或者对相应文件的△更新相对应的块集合的相应块存储设备642。文件和/或更新(例如由分段组件510创建并且由段分发组件520分发)可与例如恢复对等点610相关联。另外,虽然在系统600中未说明,但是恢复对等点610可另外或者替代地包括用于本地存储与本地驻留在恢复对等点610上的文件和/或文件的△更新相对应的一个或多个块的块存储设备。
在另一示例中,系统600中的一个或多个超级对等点650可另外包括块存储设备652以及可提供存储在系统600之内的文件块及其相应位置(例如由索引组件522创建)的主列表的文件块索引654。虽然说明了文件块索引654位于系统600中的超级对等点650处,但是应理解的是,文件块索引654中的一些或所有可另外或者替代地位于一个或多个对等点610和/或640以及云存储设备660上。
根据一个方面,在识别出期望从驻留在恢复对等点610上的信息的版本到先前版本的恢复时,根据上述各个方面,可以实施在驻留在恢复对等点610上的版本与期望版本之间基于签名的差别处理以确定在各版本之间不匹配的一个或多个块的身份。继签名比较之后,块位置组件620可利用索引查找组件622以从文件块索引654和/或下述任何其它适当源获得元数据,所述任何其它适当源指向被确定为在位于恢复对等点610上要恢复的信息的版本与期望版本之间是独有的块的相应位置。
基于索引查找组件622所获得的位置,块位置组件620和/或恢复组件630可从块存储设备(多个)642或652、块存储器662、和/或系统600之内的任何其它适当存储位置之内的其相应位置取出各独有块。一旦获得了,则可以将各块与已存在于要恢复的信息的当前版本中的非独有块进行合并以重新创建期望版本。因此,在一个示例中,通过在当前文件版本与要恢复的文件版本之间实施基于签名的差别处理,可以通过仅取出版本之间不同的各位或块来实施恢复而与增量更新无关。在一个示例中,可确定出(例如,通过索引查找组件622或者相反)一个或多个块已本地存在于恢复对等点610处(例如,由于各块是恢复对等点610处的一个或多个其他文件的一部分)。在这种情况下,可使用所确定的本地块来代替从系统600中的一个或多个其它位置取出块。
因此,以在云存储设备660上的所说明的特定示例为例,指明为原始版本和后续版本Y和Z的文件的相应版本可与连续版本(例如,原始与Y、Y与Z等等)之间的增量更新一起存储。随后,如果用户期望从版本Z恢复出该文件的原始版本,则可使用基于签名的差别处理以仅取出原始版本与版本Z之间独有的块而无需原始版本与版本Y之间以及版本Y与版本Z之间的增量更新的全部反转或者下载整个这些更新。
在另一示例中,可采用系统600的混合P2P/云备份体系结构以使在恢复对等点610处恢复一个或多个文件所需的延时和/或带宽最小化。例如,块位置组件620可利用网络分析组件624,该网络分析组件624可对系统600进行分析并且以便从在系统600中阻力最小的路径取出相应文件段。因此,例如,如果给定块驻留在对等点640或超级对等点650上的块存储设备642或652上以及云存储设备660处,则优选首先从最近的网络节点获取出块。其结果是,对等点640和/或超级对等点650可优先于云存储设备660以使与和云存储设备660的通信相关联的延时和带宽使用最小化。
此外或者替代地,网络分析组件624可对系统600中的相应节点的可用性、相对网络负载、和/或其它因素进行分析以便于智能选择从其获得相应块的节点。因此,可将恢复对等点610配置成首先尝试从对等点机器640或超级对等点650获得块集合,仅当没有具有所需块(多个)的对等点640和/或650可用时,而后退到云存储设备660上。在另一示例中,可使用MLR组件626以便于使选择从其获得块的网络节点的处理自动化。
在替代示例中,虽然在系统600中将网络分析组件624说明为与恢复对等点610相关联,但是可以理解的是,恢复对等点610可从其访问文件块索引654的超级对等点650和/或另一实体可利用相似网络分析以便从文件块索引654所指示的相应块的多个位置当中选择相应块的最佳位置。一旦选择了,则随后可将这种位置(多个)提供给恢复对等点610。
根据一个方面,在获得了要将一个或多个文件恢复到期望版本所需的独有块时,可使用恢复对等点610处的恢复组件630以对所获得的各独有块与已本地存在于文件(多个)的当前版本中的非独有块进行合并,从而将文件(多个)恢复到期望版本。以特定的非限制性示例为例,恢复组件630可使用反转差别算法,其中从当前版本中减去当前版本与期望版本之间的一个或多个指出的差别以便回滚到期望版本。这种减法基于与相应文件版本和/或与相应文件版本有关的任何其它适当信息相对应的签名或散列。然而,应该理解的是,该算法仅仅是可利用的恢复技术的示例,而除了该算法之外或者代替该算法可使用任何其它恢复算法。
参考图7,提供了用于对可与这里所述的各方面相结合地使用的示例性网络实现进行说明的示意图700。如示意图700所说明的,网络实现可利用混合的点对点和基于云的结构,其中云服务提供商710与一个或多个超级对等点720以及一个或多个对等点730-740相交互。
根据一个方面,可利用云服务提供商710以从与超级对等点(多个)720和/或对等点(多个)730-740相关联的网络/互连网络(例如国际互联网)上的给定位置远程地实现一个或多个计算操作。云服务提供商710可以来自于一个位置,或者替代地云服务提供商710可以实现为分布式的基于国际互联网的服务提供商。在一个示例中,可利用云服务提供商710以向与云服务提供商710相关联的一个或多个对等点720-740提供备份功能。因此,云服务提供商710可以实现备份服务712和/或提供相关数据存储设备714。
在一个示例中,数据存储设备714可与超级对等点720上的备份客户端722和/或相应对等点730或740上的备份客户端732或742相交互以作为驻留在相应对等点实体720-740上的数据的中央存储位置。按照这种方式,云服务提供商710通过数据存储设备714可有效地用作位于对等点720-740上的数据的在线"保险箱"。可以理解的是,可对诸如文件(例如,文档、照片、音频、视频等等)、系统信息等这样的任何适当类型(多种)的信息实施备份。另外或者替代地,可以实现分布式网络存储,以便还将超级对等点720和/或对等点730-740配置成包括用于与相关局域网上的一个或多个机器相关联的数据备份的相应数据存储设备724,734,和/或744。在另一示例中,可使用诸如去重复、增量存储、和/或其他适当技术这样的技术以降低由示意图700所表示的网络中、用于实现基于云的备份服务的一个或多个相应实体上的数据存储设备714,724,734,和/或747所需的存储空间量。
根据另一方面,云服务提供商710可与一个或多个对等点机器720,730,和/或740相交互。如在示意图700中所说明的,一个或多个对等点720可被指定为超级对等点并且可以用作云服务提供商710与相关联局域网中的一个或多个其他对等点730-740之间的联络方。虽然在图7中未说明,但是应该理解的是,在适当情况下,任何适当对等点730和/或740以及指定的超级对等点(多个)720可以直接与云服务提供商710相交互。因此,可理解的是,云服务提供商710、超级对等点(多个)720、和/或对等点730或740可以在任何适当时间相互通信以使示意图700所说明的相应实体之间的文件或其他信息同步。
在一个示例中,超级对等点720可以是诸如内容分发网络(CDN)、企业级服务器、家庭服务器、和/或被确定为具有按照这里所述的方式而起超级对等点作用的任何其他适当计算设备(多个)这样的、在与对等点720-740相关联的网络上的中央实体。除了标准对等点功能之外,超级对等点(多个)720可负责收集、分发、和/或索引局域网中的对等点720-740当中的数据。例如,超级对等点720可维护下述存储索引726,该存储索引726可包括与对等点720-740相对应的各相应文件和/或文件段的身份以及指向其中可找到这些文件或其分段的网络和/或云数据存储设备714中的相应位置(多个)的指针(多个)。另外或者替代地,超级对等点720通过例如在指定的非高峰期经由云上传组件728将相应数据上传到云服务提供商710而可起在其他对等点730-740与云服务提供商710之间的网关的作用。在另一示例中,超级对等点720可用作"热"或"冷"数据的高速缓存,以便很可能被恢复的数据具有靠近恢复或发源对等点的备份,并且随着时间的推移将更多拷贝分发到分布式系统的"更冷"部分(例如,云服务提供商710上的数据存储设备714)。
转到图8-10,通过相应动作系列来对根据这里所给出的各种特征而可以实现的方法进行说明。应理解的是,这里所要求保护的方法并不局限于动作的顺序,因为一些动作可以不同顺序出现,或者与这里所示和所描述的其他动作同时发生。例如,对于本领域普通技术人员来说应理解和明白的是,方法可被替代地表示为诸如状态图这样的一系列相互关联的状态或事件。此外,不是需要所有说明的动作以实现这里所要求保护的方法。
参考图8,其中说明了执行差别文件恢复的方法800。在802,识别出一个或多个文件的本地可用版本与一个或多个文件将要恢复到的期望版本。在804,识别出在802所识别出的一个或多个文件中的、本地可用版本与期望版本不同的块。至少部分地通过在本地可用版本与期望版本之间实施差别处理(例如,利用差别组件110)而进行804的识别。在806,从一个或多个数据存储设备(例如,对等点532,超级对等点534和/或云存储设备536)获得在804所识别出的块(例如,通过块位置组件120和/或恢复组件130)。在808,至少部分地通过将在806所获得的块与一个或多个文件的本地可用版本中的一个或多个块进行合并来恢复在802所识别出的一个或多个文件的期望版本。
现在参考图9,提供了用于对文件实施基于签名的差别处理的方法900的流程图。在902,识别出与文件的当前版本中的相应块相对应的一个或多个签名(例如,签名424)。在904,(例如,从签名源410)接收与在902所识别出的文件要恢复到的期望版本中的相应块相对应的一个或多个签名。在906,通过对在902和904所识别出的签名进行比较(例如,经由比较器组件422)来识别出文件的当前版本与文件的期望版本之间所独有的一个或多个块。在908,从一个或多个相关联的块存储设备获得在906所识别出的独有块。
图10说明了用于从混合的点对点/基于云的系统获得各文件段的方法1000。在1002,识别出要从网络上的一组对等点(例如,对等点610或640和/或超级对等点650)和/或云存储位置(例如,云存储设备660)获得的一组文件段。在1004,根据网络负载、位置可用性、网络延时、和/或带宽利用率来选择(例如,通过网络分析组件624来确定)网络上的一个或多个位置以获得相应文件段(例如,通过块位置组件620)。在1006,从在1004所选择的位置获得文件段。
为了提供对这里所描述的各个方面的额外背景,图11及其下面的论述意图提供对其中可实现所要求保护的主题的各个方面的适当计算环境1100的简要和一般描述。另外,虽然上面已经在可以运行在一个或多个计算机上的计算机可执行指令的一般背景下对上述特征进行了描述,但是本领域普通技术人员会认识到,所述特征还可以与其它程序模块相结合和/或作为硬件和软件的组合而实现。
通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构等等。此外,本领域普通技术人员会理解,利用包括有单处理器或多处理器计算机系统、小型计算机、大型计算机、以及个人计算机,手提式计算设备、基于微处理器或可编程消费类电子设备等等(其中每一个可操作地与一个或多个相关设备相耦合)的其它计算机系统配置可实践所要求保护的主题。
还可在下述分布式计算环境中实践所说明的方面,在所述分布计算环境中,由通过通信网络链接的远程处理设备来执行某些任务。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备二者中。
计算机典型地包括各种计算机可读介质。计算机可读介质可以是计算机可访问的任何可用介质并且包括易失性和非易失性介质、可移动和不可移动介质。举例来说但不是限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质可以包括用于存储诸如计算机可读指令、数据结构、程序模块、或其它数据这样的信息的、以任何方法或技术所实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不局限于RAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、数字多功能盘片(DVD)或其他光盘存储设备、磁带盒、磁带、磁盘存储设备或其他磁存储设备、或者可用于存储期望信息并且计算机可访问的任何其他介质。
通信介质典型地包含了计算机可读指令、数据结构、程序模块、或者在诸如载波或其他传输机制这样的调制数据信号中的其他数据,并且包括任何信息传送介质。术语“调制数据信号”是指具有一个或多个其特征按照为了在信号中编码信息这样的方式进行设置和改变的信号。举例来说但不是限制,通信介质包括诸如有线网络或直接有线连接这样的有线介质以及诸如声学、射频、红外及其他无线介质这样的无线介质。上述任何组合也应包含在计算机可读介质的范围之内。
再次参考图11,用于实现这里所述的各个方面的示例性环境1100包括计算机1102,该计算机1102包括处理单元1104、系统存储器1106、以及系统总线1108。系统总线1108与各系统组件相耦合,其包括但不局限于系统存储器1106和处理单元1104。处理单元1104可以是各种市场上可买得到的处理器中的任何一种。还可采用双微处理器和其他多处理器体系结构以作为处理单元1104。
系统总线1108可以是利用各种市场上可买到的总线体系结构而进一步与存储器总线(具有或者不具有存储器控制器)、外围总线、以及本地总线互连的几类总线结构中的任何一种。系统存储器1106包括只读存储器(ROM) 1110和随机存取存储器(RAM) 1112。基本输入/输出系统(BIOS)存储在诸如ROM、EPROM、EEPROM这样的非易失性存储器1110中,其中BIOS包含有助于在诸如启动期间在计算机1102之内的元件之间传输信息的基本例程。RAM 1112还可以包括诸如静态RAM这样的用于高速缓存数据的高速RAM。
计算机1102进一步包括内部硬盘驱动器(HDD)1114(例如,EIDE,SATA,该内部硬盘驱动器1114还可以被配置成在适当机壳(未示出)中外用)、磁软盘驱动器(FDD)1116(例如,从可移动磁盘1118读取或写入到可移动磁盘1118)、以及光盘驱动器1120(例如,读取CD - ROM盘片1122,或者从诸如DVD这样的高容量光学介质中读取或写入到其中)。硬盘驱动器1114、磁盘驱动器1116、以及光盘驱动器1120可分别通过硬盘驱动器接口1124、磁盘驱动器接口1126、以及光盘驱动器接口1128与系统总线1108相连。用于外部驱动实现的接口1124包括通用串行总线(USB)和IEEE-1394接口技术中的至少一个或这两者。其它外部驱动连接技术在该主题公开的考虑之内。
驱动器及其相关的计算机可读介质提供了对数据、数据结构、计算机可执行指令等等的非易失性存储。对于计算机1102,驱动器和介质可供以适当数字格式存储任何数据。虽然上面对计算机可读介质的描述是指HDD、可移动磁性盘、以及诸如CD或DVD这样的可移动光学介质,但是本领域普通技术人员应理解的是,诸如zip驱动器、磁带盒、闪存卡、盒式磁带等等这样的计算机可读的其他类型介质也可用在该示例性操作环境中,并且此外任何这种介质可以包含用于执行这里所述的方法的计算机可执行指令。
可将包括操作系统1130、一个或多个应用程序1132、其它程序模块1134、以及程序数据1136的多个程序模块存储在各驱动器和RAM 1112中。还可将操作系统、各应用、各模块、和/或数据全部或一部分高速缓存在RAM 1112中。应理解的是,所要求保护的主题可以利用各种市场上可买到的操作系统或者操作系统的组合来实现。
用户可通过例如键盘1138以及诸如鼠标1140这样的指向设备的一个或多个有线/无线输入设备将指令和信息输入到计算机1102中。其他输入设备(未显示)可包括麦克风、IR遥控器、操纵杆、游戏手柄、记录笔、触摸屏等等。这些及其它输入设备通常通过与系统总线1108相耦合的输入设备接口1142而与处理单元1104相连,但是可通过诸如并行端口、串行端口、IEEE-1394端口、游戏端口、USB接口、IR接口等等这样的其他接口相连。
监视器1144或其他类型的显示设备也经由诸如视频适配器1146这样的接口与系统总线1108相连。除了监视器1144之外,计算机典型地包括诸如扬声器、打印机等等这样的其他外围输出设备(未显示)。
计算机1102可以在经由有线和/或无线通信而与诸如远程计算机(多个)1148这样的一个或多个远程计算机逻辑连接的联网环境中进行操作。远程计算机(多个)1148可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等点设备、或者其它常见的网络节点,并且典型地包括就计算机1102所描述的元件中的许多或全部(虽然为了简洁目的,仅说明了存储器/存储设备1150)。所述逻辑连接包括与局域网(LAN)1152和/或例如广域网(WAN)1154之类的更大网络的有线/无线连接。这种LAN和WAN网络环境在办公室和公司中很常见,并且便于诸如内部网这样的均可以与例如国际互联网这样的全球通信网相连的企业计算机网络。
当在LAN网络环境中使用时,计算机1102通过有线和/或无线通信网络接口或者适配器1156与局域网络1152相连。适配器1156可便于与LAN 1152的有线或无线通信,其还包括布置于其上的、用于与无线适配器1156进行通信的无线接入点。
当在WAN网络环境中使用时,计算机1102可以包括调制解调器1158,或者与WAN 1154上的通信服务器相连,或者具有用于通过诸如国际互联网而在WAN 1154上建立通信的其它装置。可以是内部或外部且有线或无线设备的调制解调器158经由串行端口接口1142与系统总线1108相连。在网络环境中,可将关于计算机1102而描述的程序模块或其一部分存储在远程存储器/存储设备1150中。应理解的是,所示的网络连接是示例性的并且可使用用于在计算机之间建立通信链路的其它装置。
计算机1102可操作地以与任何下述可操作地布置在无线通信中的无线设备或实体进行通信,所述无线设备或实体例如为打印机、扫描仪、台式和/或便携式计算机、便携式数据助理、通信卫星、与无线可检测的标签(例如报亭、报摊、洗手间)相关联的任何一件设备或位置以及电话。这至少包括Wi-Fi和蓝牙™无线技术。因此,通信可以是如同传统网络一样的预定结构或者简单地至少两个设备之间的特定通信。
Wi-Fi或者无线保真度是与在蜂窝电话中所使用的技术相似的无线技术,其能够使设备在基站范围内的任何地方发送和接收数据。Wi-Fi网络使用IEEE-802.11(a,b,g等等)无线电技术以提供安全、可靠、快速的无线连接。Wi-Fi网络可用于使计算机彼此相连,与国际互联网相连,并且与有线网络相连(使用IEEE-802.3或以太网)。Wi-Fi网络以例如13 Mbps的(802.11a)或54 Mbps(802.11b)的数据率或者利用包含这两个频带(双频)的产品而在未经许可的2.4和5GHz无线电频带中操作。因此,使用Wi-Fi无线技术的网络可提供与10BaseT有线以太网相似的现实世界性能。
现在参考图12,其中说明了可操作以执行该公开体系结构的示例性计算机编译系统的示意性方框图。系统1200包括一个或多个客户端(多个)1202。客户端(多个)1202可以是硬件和/或软件(例如,线程、进程、计算设备)。在一个示例中,客户端(多个)1202通过采用这里所述的一个或多个特征而容纳cookie(多个)和/或相关的上下文信息。
系统1200还包括一个或多​个服务器(多个)1204。服务器(多个)1204也可以是硬件和/或软件(例如,线程、进程、计算设备)。在一个示例中,服务器1204可容纳通过采用这里所述的一个或多个特征来进行转换的线程。客户端1202与服务器1204之间的一个可能通信可以是适于在两个或更多计算机处理之间传输的数据包的形式。例如,该数据包可以包括cookie和/或相关上下文信息。系统1200包括可被采用来便于客户端(多个)1202与服务器(多个)1204之间的通信的通信框架1206(例如,诸如国际互联网这样的全球通信网)
经由有线(包括光纤)和/或无线技术可便于进行通信。客户端(多个)1202可操作地与可被采用来存储对客户端1202而言是本地的信息(例如cookie(多个)和/或相关上下文信息)的一个或多个客户端数据存储设备1208相连。类似地,服务器(多个)1204可操作地与可被采用来存储对服务器1204而言是本地的信息的的一个或多个服务器数据存储设备1210相连。
上述已经包括了所要求保护的主题的示例。当然,不可能为了描述所要求保护的主题的目的而对每个可想得到的组件或方法的组合进行描述,但是本领域普通技术人员可以认识到进一步的组合和置换是可能的。因此,详细描述意图为了包含在所附权利要求的精神和范围之内的所有改动、修改、以及变化。
尤其是并且就上述组件、设备、电路、系统等等所执行的各种功能而言,除非另有陈述,用于对这种组件进行描述的术语(包括对"装置"的引用)意图与用于执行所述组件的特定功能(例如功能等同)的任何组件相对应,即使在结构上与用于执行这里所说明的示例性方面中的功能的公开结构不等同也是如此。在这方面,还将认识到,所述方面包括系统以及具有用于执行各种方法的动作和/或事件的计算机可执行指令的计算机可读介质。
另外,虽然就若干实现之一而公开了特定特征,但是根据期望或且对任何给定或特定应用有利时,这种特征可以与其他实现的一个或多个其他特征相结合。此外,就术语"包括"和"包含"及其变型用在详细说明或者权利要求书中所达到的程度而言,这些术语意图为与术语"包含"相似方式的非排他性。

Claims (15)

1.一种用于从备份系统恢复信息的客户端系统(100),包括:
处理器(1104),用于执行存储在计算机可读介质(1106,1114,1118,1122)上的机器可执行组件,所述组件包括:
差别组件(110,420),被配置用来,基于在客户端系统处计算的在数据项目的当前版本与数据项目的目标版本之间的第一差别以及在远离客户端系统的备份位置处计算的在数据项目的当前版本与数据项目的目标版本之间的第二差别这两者,为要恢复的数据项目识别在数据项目的当前版本与数据项目的目标版本之间不同的数据项目的一个或多个块;
位置确定组件(120,620),被配置用来确定其中存储了所识别的一个或多个块的多个网络位置(610,640,650,660)以及用来选择确定的网络位置中的一个,其中所述多个网络位置包括至少一个与云服务提供商相关联的位置;以及
恢复组件(130,630),被配置用来从选择的网络位置取出所识别的一个或多个块以及用来用取出的所识别的一个或多个块来将数据项目的当前版本恢复为数据项目的目标版本。
2.根据权利要求1所述的系统,其中所述差别组件(110,420)进一步被配置用来至少部分地通过对和数据项目的当前版本的块相关联的各相应块签名与和数据项目的目标版本的相对应块相关联的各相应块签名进行比较来识别所述一个或多个块。
3.根据权利要求1所述的系统,其中所述位置确定组件(120,620)包括索引查找组件(622),该索引查找组件被配置用来从存储在预定网络位置(610,640,650,660)上的索引(654)查找所述多个网络位置。
4.根据权利要求1所述的系统,其中所述多个网络位置(610,640,650,660)还包括:
通过广域网连接到客户端系统的远程设备的位置;以及
如下各项中的至少一个:
通过局域网连接到客户端系统的本地对等设备的位置,被配置用来存储数据项目的一个或多个部分;
通过局域网连接到客户端系统的本地超级对等设备的位置,被配置用来存储数据项目的一个或多个部分以及包括所述一个或多个部分的列表和为所述一个或多个部分中的每一个指向至少一个位置的指针的索引。
5.根据权利要求4所述的系统,其中所述位置确定组件(120,620)被进一步配置用来至少部分基于本地对等设备或超级对等设备的位置相对于远程设备的优先权选择所确定网络位置(610,640,650,660)中的一个。
6.根据权利要求1所述的系统,其中所述位置确定组件(120,620)包括网络分析组件(624),该网络分析组件被配置用来至少部分基于网络负载、网络位置可用时间、各相应网络位置接近所述客户端系统的接近度、和用于从各相应网络位置取出所识别的块的预期带宽消耗中的至少一个来选择确定的网络位置(610,640,650,660)中的一个。
7.根据权利要求1所述的系统,其中在所述多个网络位置( 610,640,650,660)中每一个网络位置处的设备被配置用来存储数据项目和对所述数据项目的一个或多个递增更新。
8.根据权利要求1所述的系统,其中所述恢复组件(130,630)被进一步配置用来通过对所取出的块与数据项目的当前版本的一个或多个块进行合并来恢复出数据项目的目标版本。
9.根据权利要求8所述的系统,其中所述恢复组件(130,630)被进一步配置用来至少部分地通过用数据项目的目标版本的相对应块来替换数据项目的当前版本的一个或多个块来对所取出的块与数据项目的当前版本的一个或多个块进行合并。
10.一种执行一个或多个文件的差别恢复的方法,包括:
识别存储在计算设备的至少一个存储器上的文件的本地可用版本;
识别所述文件的本地可用版本要被恢复到的文件的目标版本;
由所述计算设备基于所述计算设备和远离所述计算设备的备份服务器计算设备这两者的计算来识别与所述文件的本地可用版本的相对应分段不同的所述文件的目标版本中的各相应分段;
获取每个识别分段,包括对于每个识别分段:
确定能够从中取回所识别分段的多个网络数据存储设备,所述多个网络数据存储设备包括云服务提供商的至少一个网络数据存储设备;
从多个确定的网络数据存储设备中选择一个网络数据存储设备;和
由所述计算设备从所选择的网络数据存储设备获得所识别出的分段;以及
由所述计算设备从文件的本地可用版本以及从所识别的和所获得的分段中恢复文件的目标版本。
11.根据权利要求10所述的方法,其中所述识别各相应分段包括:
将与文件的目标版本的分段相关联的签名与和文件的本地可用版本的相对应分段相关联的签名进行比较。
12.根据权利要求10所述的方法,其中获得每个识别的分段还包括:
从第一网络数据存储设备获得第一识别的分段;以及
从第二网络数据存储设备获得第二识别的分段,其中第一网络数据存储设备不同于第二网络数据存储设备。
13.根据权利要求12所述的方法,其中所述网络数据存储设备包括:
云服务提供商的基于云的网络数据存储设备,所述基于云的网络数据存储设备通过广域网连接到所述计算设备;
通过局域网连接到所述计算设备的本地对等网络数据存储设备,被配置用来存储备份分段;以及
通过局域网连接到所述计算设备的本地超级对等网络数据存储设备,被配置用来存储备份分段以及包括备份分段的列表和指向从中能够取出所述备份分段的网络数据存储设备的指针的索引。
14.根据权利要求13所述的方法,其中选择一个网络数据存储设备包括至少部分基于所述计算设备和网络数据存储设备之间的网络负载、网络数据存储设备的可用性、和与从基于云的网络数据存储设备处取出所识别的分段相关联的预期带宽消耗中的至少一个来选择所述一个网络数据存储设备。
15.一种用于从混合的点对点/基于云的备份系统中恢复信息的设备,该设备包括:
装置(110,420),用于实施在文件的本地可用版本中的块与文件的目标版本中的相对应块之间的基于签名的比较,以及用于基于所述基于签名的比较以及在远程备份位置处计算的另一个基于签名的比较这两者来识别与文件的本地可用版本的任何块不完全对应的文件的目标版本的至少一个块;
装置(120,420),用于确定其中能够得到所述文件的目标版本的至少一个块以用于取出的多个网络设备以及用于选择所确定的多个网络设备中的一个作为所述文件的目标版本的至少一个块的源,其中所述多个网络设备包括云服务提供商的至少一个设备;以及
装置(732,742),用于从确定的多个网络设备中选择的一个获得所述文件的目标版本的至少一个块,以及用于将所述文件的目标版本的至少一个块与所述文件的本地可用的当前版本的一个或多个块进行合并以恢复所述文件的目标版本。
CN201080015305.XA 2009-04-03 2010-03-26 差别文件以及从对等点和云恢复的系统 Active CN102388361B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/417,992 US8805953B2 (en) 2009-04-03 2009-04-03 Differential file and system restores from peers and the cloud
US12/417992 2009-04-03
PCT/US2010/028957 WO2010114777A2 (en) 2009-04-03 2010-03-26 Differential file and system restores from peers and the cloud

Publications (2)

Publication Number Publication Date
CN102388361A CN102388361A (zh) 2012-03-21
CN102388361B true CN102388361B (zh) 2015-02-25

Family

ID=42827026

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080015305.XA Active CN102388361B (zh) 2009-04-03 2010-03-26 差别文件以及从对等点和云恢复的系统

Country Status (12)

Country Link
US (1) US8805953B2 (zh)
EP (1) EP2414933A4 (zh)
JP (1) JP5559867B2 (zh)
KR (1) KR101626186B1 (zh)
CN (1) CN102388361B (zh)
AU (1) AU2010232795B2 (zh)
BR (1) BRPI1014698A2 (zh)
CA (1) CA2756085C (zh)
MX (1) MX2011010287A (zh)
RU (1) RU2531869C2 (zh)
TW (1) TWI474164B (zh)
WO (1) WO2010114777A2 (zh)

Families Citing this family (340)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6746483B1 (en) * 2000-03-16 2004-06-08 Smith & Nephew, Inc. Sheaths for implantable fixation devices
US8959299B2 (en) 2004-11-15 2015-02-17 Commvault Systems, Inc. Using a snapshot as a data source
US8290910B2 (en) * 2005-09-21 2012-10-16 Infoblox Inc. Semantic replication
US8250030B2 (en) 2005-09-21 2012-08-21 Infoblox Inc. Provisional authority in a distributed database
US8533169B1 (en) 2005-09-21 2013-09-10 Infoblox Inc. Transactional replication
US8068433B2 (en) * 2007-11-26 2011-11-29 Microsoft Corporation Low power operation of networked devices
US8074014B2 (en) * 2008-03-31 2011-12-06 Microsoft Corporation Storage systems using write off-loading
US8484162B2 (en) 2008-06-24 2013-07-09 Commvault Systems, Inc. De-duplication systems and methods for application-specific data
US8510577B2 (en) * 2008-07-28 2013-08-13 Microsoft Corporation Reducing power consumption by offloading applications
US8930306B1 (en) 2009-07-08 2015-01-06 Commvault Systems, Inc. Synchronized data deduplication
US8874534B2 (en) * 2009-08-14 2014-10-28 Ic Manage, Inc. File state subset satellites to provide block-based version control
US20140222758A1 (en) * 2009-08-14 2014-08-07 Ic Manage, Inc. Coherent File State Maintained Among Confederated Repositories By Distributed Workspace Apparatuses Backed Up By a File State Ledgerdemain Store
WO2011021909A2 (en) 2009-08-21 2011-02-24 Samsung Electronics Co., Ltd. Method and apparatus for providing contents via network, method and apparatus for receiving contents via network, and method and apparatus for backing up data via network, backup data providing device, and backup system
US8433682B2 (en) 2009-12-31 2013-04-30 Commvault Systems, Inc. Systems and methods for analyzing snapshots
US8595191B2 (en) 2009-12-31 2013-11-26 Commvault Systems, Inc. Systems and methods for performing data management operations using snapshots
US9684563B1 (en) * 2010-01-04 2017-06-20 Veritas Technologies Llc Techniques for backup management
US9235399B2 (en) 2010-01-15 2016-01-12 Dell Products L.P. System and method for manufacturing and personalizing computing devices
US9256899B2 (en) 2010-01-15 2016-02-09 Dell Products, L.P. System and method for separation of software purchase from fulfillment
US10387927B2 (en) 2010-01-15 2019-08-20 Dell Products L.P. System and method for entitling digital assets
US9100396B2 (en) 2010-01-29 2015-08-04 Dell Products L.P. System and method for identifying systems and replacing components
US8977661B2 (en) * 2010-02-22 2015-03-10 Sookasa Inc. System, method and computer readable medium for file management
US9262643B2 (en) 2010-02-22 2016-02-16 Sookasa Inc. Encrypting files within a cloud computing environment
US8370672B2 (en) * 2010-02-26 2013-02-05 Microsoft Corporation Reducing power consumption of distributed storage systems
US8170783B2 (en) 2010-03-16 2012-05-01 Dell Products L.P. System and method for handling software activation in entitlement
US20110246721A1 (en) * 2010-03-31 2011-10-06 Sony Corporation Method and apparatus for providing automatic synchronization appliance
US9417969B2 (en) * 2010-05-13 2016-08-16 Sony Corporation Distributed network backup of multimedia files
US8707087B2 (en) * 2010-05-18 2014-04-22 Dell Products L.P. Restoration of an image backup using information on other information handling systems
US9083762B2 (en) * 2010-05-28 2015-07-14 Greg Saunders System and method for providing hybrid on demand services to a work unit
WO2012023050A2 (en) 2010-08-20 2012-02-23 Overtis Group Limited Secure cloud computing system and method
US8650159B1 (en) * 2010-08-26 2014-02-11 Symantec Corporation Systems and methods for managing data in cloud storage using deduplication techniques
US8713265B1 (en) * 2010-09-21 2014-04-29 Western Digital Technologies, Inc. Visual indicator of online backup
US8578109B2 (en) 2010-09-30 2013-11-05 Commvault Systems, Inc. Systems and methods for retaining and using data block signatures in data protection operations
US8577851B2 (en) 2010-09-30 2013-11-05 Commvault Systems, Inc. Content aligned block-based deduplication
WO2012057581A2 (ko) * 2010-10-28 2012-05-03 에스케이텔레콤 주식회사 클라우드 컴퓨팅 시스템 및 그의 데이터 동기화 방법
US8583599B2 (en) * 2010-11-29 2013-11-12 Ca, Inc. Reducing data duplication in cloud storage
US8688645B2 (en) * 2010-11-30 2014-04-01 Netapp, Inc. Incremental restore of data between storage systems having dissimilar storage operating systems associated therewith
US8656454B2 (en) 2010-12-01 2014-02-18 Microsoft Corporation Data store including a file location attribute
US9116850B2 (en) 2010-12-14 2015-08-25 Commvault Systems, Inc. Client-side repository in a networked deduplicated storage system
US9020900B2 (en) 2010-12-14 2015-04-28 Commvault Systems, Inc. Distributed deduplicated storage system
US8316057B2 (en) * 2010-12-17 2012-11-20 International Business Machines Corporation Restoring deduplicated data objects from sequential backup devices
US10262050B2 (en) 2015-09-25 2019-04-16 Mongodb, Inc. Distributed database systems and methods with pluggable storage engines
US10346430B2 (en) 2010-12-23 2019-07-09 Mongodb, Inc. System and method for determining consensus within a distributed database
US11544288B2 (en) * 2010-12-23 2023-01-03 Mongodb, Inc. Systems and methods for managing distributed database deployments
US11615115B2 (en) 2010-12-23 2023-03-28 Mongodb, Inc. Systems and methods for managing distributed database deployments
US9280550B1 (en) * 2010-12-31 2016-03-08 Emc Corporation Efficient storage tiering
US9037597B2 (en) * 2011-01-10 2015-05-19 International Business Machines Corporation Verifying file versions in a networked computing environment
US8676763B2 (en) 2011-02-08 2014-03-18 International Business Machines Corporation Remote data protection in a networked storage computing environment
US9225791B2 (en) * 2011-02-28 2015-12-29 Red Hat, Inc. Staged data migration between data sources and cloud-based storage network
US9384199B2 (en) 2011-03-31 2016-07-05 Microsoft Technology Licensing, Llc Distributed file system
US8868859B2 (en) * 2011-06-03 2014-10-21 Apple Inc. Methods and apparatus for multi-source restore
US20130138615A1 (en) * 2011-11-29 2013-05-30 International Business Machines Corporation Synchronizing updates across cluster filesystems
US9152659B2 (en) * 2011-12-30 2015-10-06 Bmc Software, Inc. Systems and methods for migrating database data
KR101429334B1 (ko) * 2012-02-02 2014-08-12 충북대학교 산학협력단 P2p 네트워크 환경에서 모바일 피어 검색을 위한 연속 범위 질의 처리 방법
US9471578B2 (en) 2012-03-07 2016-10-18 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9298715B2 (en) 2012-03-07 2016-03-29 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9342537B2 (en) 2012-04-23 2016-05-17 Commvault Systems, Inc. Integrated snapshot interface for a data storage system
US9542466B2 (en) * 2012-05-10 2017-01-10 Aetherstore Inc. Systems and methods for distributed storage
US20130339298A1 (en) 2012-06-13 2013-12-19 Commvault Systems, Inc. Collaborative backup in a networked storage system
US8949401B2 (en) 2012-06-14 2015-02-03 Dell Products L.P. Automated digital migration
US8468139B1 (en) 2012-07-16 2013-06-18 Dell Products L.P. Acceleration of cloud-based migration/backup through pre-population
US11544284B2 (en) 2012-07-26 2023-01-03 Mongodb, Inc. Aggregation framework system architecture and method
US11403317B2 (en) 2012-07-26 2022-08-02 Mongodb, Inc. Aggregation framework system architecture and method
US9779219B2 (en) 2012-08-09 2017-10-03 Dell Products L.P. Method and system for late binding of option features associated with a device using at least in part license and unique ID information
CN103873504A (zh) * 2012-12-12 2014-06-18 鸿富锦精密工业(深圳)有限公司 数据分块存储至分布式服务器的系统及方法
CN107704198B (zh) * 2012-12-17 2020-01-31 联想(北京)有限公司 信息处理的方法及电子设备
US9165001B1 (en) * 2012-12-19 2015-10-20 Emc Corporation Multi stream deduplicated backup of collaboration server data
US9015122B2 (en) * 2012-12-21 2015-04-21 Zetta, Inc. Systems and methods for minimizing network bandwidth for replication/back up
US9373001B2 (en) 2012-12-26 2016-06-21 Barracuda Networks, Inc. Distributed encryption and access control scheme in a cloud environment
TWI489889B (zh) 2012-12-28 2015-06-21 Ind Tech Res Inst 內容遞送網路及同儕網路之流量控制方法及系統
US9633033B2 (en) 2013-01-11 2017-04-25 Commvault Systems, Inc. High availability distributed deduplicated storage system
US9886346B2 (en) 2013-01-11 2018-02-06 Commvault Systems, Inc. Single snapshot for multiple agents
JP2014164614A (ja) * 2013-02-26 2014-09-08 Sony Corp 情報処理装置および方法、並びにプログラム
US8874527B2 (en) 2013-03-01 2014-10-28 Storagecraft Technology Corporation Local seeding of a restore storage for restoring a backup from a remote deduplication vault storage
US8682870B1 (en) 2013-03-01 2014-03-25 Storagecraft Technology Corporation Defragmentation during multiphase deduplication
US20140250077A1 (en) * 2013-03-01 2014-09-04 Storagecraft Technology Corporation Deduplication vault storage seeding
US8732135B1 (en) * 2013-03-01 2014-05-20 Storagecraft Technology Corporation Restoring a backup from a deduplication vault storage
US8738577B1 (en) 2013-03-01 2014-05-27 Storagecraft Technology Corporation Change tracking for multiphase deduplication
US9594643B2 (en) * 2013-03-06 2017-03-14 Quest Software Inc. Handling restores in an incremental backup storage system
US10191823B2 (en) 2014-03-11 2019-01-29 Cloudendure Ltd. System and method for restoring original machines from replicated machines in a secondary computing environment
US9582386B2 (en) 2013-03-15 2017-02-28 Cloudendure, Ltd. System and method for maintaining a copy of a cloud-based computing environment and restoration thereof
US10157107B2 (en) 2013-07-03 2018-12-18 Catalogic Software, Inc. Data backup and progressive restoration using data chunks in cloud storage and a data cache
US11630585B1 (en) 2016-08-25 2023-04-18 Pure Storage, Inc. Processing evacuation events in a storage array that includes a plurality of storage devices
CN104754007A (zh) * 2013-12-26 2015-07-01 伊姆西公司 用于管理网络附加存储的方法和装置
US9753812B2 (en) 2014-01-24 2017-09-05 Commvault Systems, Inc. Generating mapping information for single snapshot for multiple applications
US9495251B2 (en) 2014-01-24 2016-11-15 Commvault Systems, Inc. Snapshot readiness checking and reporting
US9639426B2 (en) 2014-01-24 2017-05-02 Commvault Systems, Inc. Single snapshot for multiple applications
US9632874B2 (en) 2014-01-24 2017-04-25 Commvault Systems, Inc. Database application backup in single snapshot for multiple applications
US8751454B1 (en) 2014-01-28 2014-06-10 Storagecraft Technology Corporation Virtual defragmentation in a deduplication vault
JP6269174B2 (ja) * 2014-03-05 2018-01-31 富士通株式会社 データ処理プログラム、データ処理装置及びデータ処理方法
US10380072B2 (en) 2014-03-17 2019-08-13 Commvault Systems, Inc. Managing deletions from a deduplication database
US9633056B2 (en) 2014-03-17 2017-04-25 Commvault Systems, Inc. Maintaining a deduplication database
US9852026B2 (en) 2014-08-06 2017-12-26 Commvault Systems, Inc. Efficient application recovery in an information management system based on a pseudo-storage-device driver
US11249858B2 (en) 2014-08-06 2022-02-15 Commvault Systems, Inc. Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host
US10042716B2 (en) 2014-09-03 2018-08-07 Commvault Systems, Inc. Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent
US9774672B2 (en) 2014-09-03 2017-09-26 Commvault Systems, Inc. Consolidated processing of storage-array commands by a snapshot-control media agent
US9575673B2 (en) 2014-10-29 2017-02-21 Commvault Systems, Inc. Accessing a file system using tiered deduplication
US9448731B2 (en) 2014-11-14 2016-09-20 Commvault Systems, Inc. Unified snapshot storage management
US9648105B2 (en) 2014-11-14 2017-05-09 Commvault Systems, Inc. Unified snapshot storage management, using an enhanced storage manager and enhanced media agents
US10911537B1 (en) * 2014-12-31 2021-02-02 Acronis International Gmbh Increasing speed of synchronization and restore
CN104572354A (zh) * 2015-01-22 2015-04-29 上海迈微软件科技有限公司 基于恢复服务的操作系统备份和恢复的方法及其设备
US9460181B2 (en) 2015-01-23 2016-10-04 Servicenow, Inc. Distributed computing system with resource managed database cloning
CN104639629A (zh) * 2015-01-30 2015-05-20 英华达(上海)科技有限公司 一种在客户端和云端进行文件的比较方法及比较系统
US10339106B2 (en) 2015-04-09 2019-07-02 Commvault Systems, Inc. Highly reusable deduplication database after disaster recovery
US10311150B2 (en) 2015-04-10 2019-06-04 Commvault Systems, Inc. Using a Unix-based file system to manage and serve clones to windows-based computing clients
US11102298B1 (en) 2015-05-26 2021-08-24 Pure Storage, Inc. Locally providing cloud storage services for fleet management
US20160350391A1 (en) 2015-05-26 2016-12-01 Commvault Systems, Inc. Replication using deduplicated secondary copy data
US9716755B2 (en) 2015-05-26 2017-07-25 Pure Storage, Inc. Providing cloud storage array services by a local storage array in a data center
US9594678B1 (en) 2015-05-27 2017-03-14 Pure Storage, Inc. Preventing duplicate entries of identical data in a storage device
US11503031B1 (en) 2015-05-29 2022-11-15 Pure Storage, Inc. Storage array access control from cloud-based user authorization and authentication
US9444822B1 (en) 2015-05-29 2016-09-13 Pure Storage, Inc. Storage array access control from cloud-based user authorization and authentication
US9300660B1 (en) 2015-05-29 2016-03-29 Pure Storage, Inc. Providing authorization and authentication in a cloud for a user of a storage array
US10021170B2 (en) 2015-05-29 2018-07-10 Pure Storage, Inc. Managing a storage array using client-side services
US9588691B2 (en) 2015-06-10 2017-03-07 Pure Storage, Inc. Dynamically managing control information in a storage device
US9594512B1 (en) 2015-06-19 2017-03-14 Pure Storage, Inc. Attributing consumed storage capacity among entities storing data in a storage array
US10310740B2 (en) 2015-06-23 2019-06-04 Pure Storage, Inc. Aligning memory access operations to a geometry of a storage device
US10296236B2 (en) 2015-07-01 2019-05-21 Pure Storage, Inc. Offloading device management responsibilities from a storage device in an array of storage devices
US9766825B2 (en) 2015-07-22 2017-09-19 Commvault Systems, Inc. Browse and restore for block-level backups
US9892071B2 (en) 2015-08-03 2018-02-13 Pure Storage, Inc. Emulating a remote direct memory access (‘RDMA’) link between controllers in a storage array
US9851762B1 (en) 2015-08-06 2017-12-26 Pure Storage, Inc. Compliant printed circuit board (‘PCB’) within an enclosure
US10198194B2 (en) 2015-08-24 2019-02-05 Pure Storage, Inc. Placing data within a storage device of a flash array
US11625181B1 (en) 2015-08-24 2023-04-11 Pure Storage, Inc. Data tiering using snapshots
US11294588B1 (en) 2015-08-24 2022-04-05 Pure Storage, Inc. Placing data within a storage device
US10673623B2 (en) 2015-09-25 2020-06-02 Mongodb, Inc. Systems and methods for hierarchical key management in encrypted distributed databases
US9384082B1 (en) 2015-10-23 2016-07-05 Pure Storage, Inc. Proactively providing corrective measures for storage arrays
US10514978B1 (en) 2015-10-23 2019-12-24 Pure Storage, Inc. Automatic deployment of corrective measures for storage arrays
US11360844B1 (en) 2015-10-23 2022-06-14 Pure Storage, Inc. Recovery of a container storage provider
US10284232B2 (en) 2015-10-28 2019-05-07 Pure Storage, Inc. Dynamic error processing in a storage device
US10374868B2 (en) 2015-10-29 2019-08-06 Pure Storage, Inc. Distributed command processing in a flash storage system
US9740414B2 (en) 2015-10-29 2017-08-22 Pure Storage, Inc. Optimizing copy operations
US10353777B2 (en) 2015-10-30 2019-07-16 Pure Storage, Inc. Ensuring crash-safe forward progress of a system configuration update
US11762764B1 (en) 2015-12-02 2023-09-19 Pure Storage, Inc. Writing data in a storage system that includes a first type of storage device and a second type of storage device
US9760479B2 (en) 2015-12-02 2017-09-12 Pure Storage, Inc. Writing data in a storage system that includes a first type of storage device and a second type of storage device
US11616834B2 (en) 2015-12-08 2023-03-28 Pure Storage, Inc. Efficient replication of a dataset to the cloud
US10326836B2 (en) 2015-12-08 2019-06-18 Pure Storage, Inc. Partially replicating a snapshot between storage systems
US11347697B1 (en) 2015-12-15 2022-05-31 Pure Storage, Inc. Proactively optimizing a storage system
US10162835B2 (en) 2015-12-15 2018-12-25 Pure Storage, Inc. Proactive management of a plurality of storage arrays in a multi-array system
US10346043B2 (en) 2015-12-28 2019-07-09 Pure Storage, Inc. Adaptive computing for data compression
US10592357B2 (en) 2015-12-30 2020-03-17 Commvault Systems, Inc. Distributed file system in a distributed deduplication data storage system
US9886314B2 (en) 2016-01-28 2018-02-06 Pure Storage, Inc. Placing workloads in a multi-array system
US10133639B2 (en) * 2016-02-10 2018-11-20 International Business Machines Corporation Privacy protection of media files for automatic cloud backup systems
US10572460B2 (en) 2016-02-11 2020-02-25 Pure Storage, Inc. Compressing data in dependence upon characteristics of a storage system
US9760297B2 (en) 2016-02-12 2017-09-12 Pure Storage, Inc. Managing input/output (‘I/O’) queues in a data storage system
US10296368B2 (en) 2016-03-09 2019-05-21 Commvault Systems, Inc. Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block-level pseudo-mount)
US10503753B2 (en) 2016-03-10 2019-12-10 Commvault Systems, Inc. Snapshot replication operations based on incremental block change tracking
JP6638489B2 (ja) * 2016-03-14 2020-01-29 オムロン株式会社 中継装置、中継装置の制御方法、制御プログラム、および記録媒体
US9959043B2 (en) 2016-03-16 2018-05-01 Pure Storage, Inc. Performing a non-disruptive upgrade of data in a storage system
US11995315B2 (en) 2016-03-16 2024-05-28 Pure Storage, Inc. Converting data formats in a storage system
US9891849B2 (en) 2016-04-14 2018-02-13 International Business Machines Corporation Accelerated recovery in data replication environments
US11809727B1 (en) 2016-04-27 2023-11-07 Pure Storage, Inc. Predicting failures in a storage system that includes a plurality of storage devices
US11112990B1 (en) 2016-04-27 2021-09-07 Pure Storage, Inc. Managing storage device evacuation
US9841921B2 (en) 2016-04-27 2017-12-12 Pure Storage, Inc. Migrating data in a storage array that includes a plurality of storage devices
US9811264B1 (en) 2016-04-28 2017-11-07 Pure Storage, Inc. Deploying client-specific applications in a storage system utilizing redundant system resources
US10303390B1 (en) 2016-05-02 2019-05-28 Pure Storage, Inc. Resolving fingerprint collisions in flash storage system
US10846024B2 (en) 2016-05-16 2020-11-24 Commvault Systems, Inc. Global de-duplication of virtual disks in a storage platform
US10795577B2 (en) 2016-05-16 2020-10-06 Commvault Systems, Inc. De-duplication of client-side data cache for virtual disks
US11231858B2 (en) 2016-05-19 2022-01-25 Pure Storage, Inc. Dynamically configuring a storage system to facilitate independent scaling of resources
US9507532B1 (en) 2016-05-20 2016-11-29 Pure Storage, Inc. Migrating data in a storage array that includes a plurality of storage devices and a plurality of write buffer devices
US10671496B2 (en) 2016-05-31 2020-06-02 Mongodb, Inc. Method and apparatus for reading and writing committed data
US10691567B2 (en) 2016-06-03 2020-06-23 Pure Storage, Inc. Dynamically forming a failure domain in a storage system that includes a plurality of blades
US9946617B2 (en) * 2016-06-06 2018-04-17 International Business Machines Corporation Optimized recovery in data replication environments
US10776220B2 (en) 2016-06-27 2020-09-15 Mongodb, Inc. Systems and methods for monitoring distributed database deployments
US10452310B1 (en) 2016-07-13 2019-10-22 Pure Storage, Inc. Validating cabling for storage component admission to a storage array
US11706895B2 (en) 2016-07-19 2023-07-18 Pure Storage, Inc. Independent scaling of compute resources and storage resources in a storage system
US10459652B2 (en) 2016-07-27 2019-10-29 Pure Storage, Inc. Evacuating blades in a storage array that includes a plurality of blades
US10474363B1 (en) 2016-07-29 2019-11-12 Pure Storage, Inc. Space reporting in a storage system
EP3501188B1 (en) * 2016-08-22 2022-11-30 Telefonaktiebolaget LM Ericsson (publ) Method for enabling a communication device to receive a partial modification of a resource
US10437730B2 (en) 2016-08-22 2019-10-08 International Business Machines Corporation Read cache synchronization in data replication environments
US10572245B1 (en) * 2016-08-30 2020-02-25 Amazon Technologies, Inc. Identifying versions of running programs using signatures derived from object files
US10671439B1 (en) 2016-09-07 2020-06-02 Pure Storage, Inc. Workload planning with quality-of-service (‘QOS’) integration
US11531577B1 (en) 2016-09-07 2022-12-20 Pure Storage, Inc. Temporarily limiting access to a storage device
US10908966B1 (en) 2016-09-07 2021-02-02 Pure Storage, Inc. Adapting target service times in a storage system
US10331588B2 (en) 2016-09-07 2019-06-25 Pure Storage, Inc. Ensuring the appropriate utilization of system resources using weighted workload based, time-independent scheduling
US11481261B1 (en) 2016-09-07 2022-10-25 Pure Storage, Inc. Preventing extended latency in a storage system
US10146585B2 (en) 2016-09-07 2018-12-04 Pure Storage, Inc. Ensuring the fair utilization of system resources using workload based, time-independent scheduling
US11886922B2 (en) 2016-09-07 2024-01-30 Pure Storage, Inc. Scheduling input/output operations for a storage system
US11960348B2 (en) 2016-09-07 2024-04-16 Pure Storage, Inc. Cloud-based monitoring of hardware components in a fleet of storage systems
US10235229B1 (en) 2016-09-07 2019-03-19 Pure Storage, Inc. Rehabilitating storage devices in a storage array that includes a plurality of storage devices
US10007459B2 (en) 2016-10-20 2018-06-26 Pure Storage, Inc. Performance tuning in a storage system that includes one or more storage devices
US11379132B1 (en) 2016-10-20 2022-07-05 Pure Storage, Inc. Correlating medical sensor data
US10162566B2 (en) 2016-11-22 2018-12-25 Pure Storage, Inc. Accumulating application-level statistics in a storage system
US11620075B2 (en) 2016-11-22 2023-04-04 Pure Storage, Inc. Providing application aware storage
US10198205B1 (en) 2016-12-19 2019-02-05 Pure Storage, Inc. Dynamically adjusting a number of storage devices utilized to simultaneously service write operations
US11461273B1 (en) 2016-12-20 2022-10-04 Pure Storage, Inc. Modifying storage distribution in a storage system that includes one or more storage devices
US10489307B2 (en) 2017-01-05 2019-11-26 Pure Storage, Inc. Periodically re-encrypting user data stored on a storage device
US11307998B2 (en) 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US10666707B2 (en) * 2017-01-11 2020-05-26 Microsoft Technology Licensing, Llc Nonconsecutive file downloading
US11340800B1 (en) 2017-01-19 2022-05-24 Pure Storage, Inc. Content masking in a storage system
US10503700B1 (en) 2017-01-19 2019-12-10 Pure Storage, Inc. On-demand content filtering of snapshots within a storage system
US11163624B2 (en) 2017-01-27 2021-11-02 Pure Storage, Inc. Dynamically adjusting an amount of log data generated for a storage system
US10264054B2 (en) 2017-02-10 2019-04-16 International Business Machines Corporation Predictive device to device file transfer system for local cloud storage files
US10740193B2 (en) 2017-02-27 2020-08-11 Commvault Systems, Inc. Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount
US11675520B2 (en) 2017-03-10 2023-06-13 Pure Storage, Inc. Application replication among storage systems synchronously replicating a dataset
US11089105B1 (en) 2017-12-14 2021-08-10 Pure Storage, Inc. Synchronously replicating datasets in cloud-based storage systems
US11941279B2 (en) 2017-03-10 2024-03-26 Pure Storage, Inc. Data path virtualization
US11169727B1 (en) 2017-03-10 2021-11-09 Pure Storage, Inc. Synchronous replication between storage systems with virtualized storage
US10521344B1 (en) 2017-03-10 2019-12-31 Pure Storage, Inc. Servicing input/output (‘I/O’) operations directed to a dataset that is synchronized across a plurality of storage systems
US11442825B2 (en) 2017-03-10 2022-09-13 Pure Storage, Inc. Establishing a synchronous replication relationship between two or more storage systems
US11803453B1 (en) 2017-03-10 2023-10-31 Pure Storage, Inc. Using host connectivity states to avoid queuing I/O requests
US10503427B2 (en) 2017-03-10 2019-12-10 Pure Storage, Inc. Synchronously replicating datasets and other managed objects to cloud-based storage systems
US10454810B1 (en) 2017-03-10 2019-10-22 Pure Storage, Inc. Managing host definitions across a plurality of storage systems
US9910618B1 (en) 2017-04-10 2018-03-06 Pure Storage, Inc. Migrating applications executing on a storage system
US10459664B1 (en) 2017-04-10 2019-10-29 Pure Storage, Inc. Virtualized copy-by-reference
US11249671B2 (en) * 2017-04-28 2022-02-15 Netapp, Inc. Methods for improved data replication across hybrid cloud volumes using data tagging and devices thereof
US11868629B1 (en) 2017-05-05 2024-01-09 Pure Storage, Inc. Storage system sizing service
US11592991B2 (en) 2017-09-07 2023-02-28 Pure Storage, Inc. Converting raid data between persistent storage types
US10417092B2 (en) 2017-09-07 2019-09-17 Pure Storage, Inc. Incremental RAID stripe update parity calculation
US11422731B1 (en) 2017-06-12 2022-08-23 Pure Storage, Inc. Metadata-based replication of a dataset
US10552090B2 (en) 2017-09-07 2020-02-04 Pure Storage, Inc. Solid state drives with multiple types of addressable memory
US11442669B1 (en) 2018-03-15 2022-09-13 Pure Storage, Inc. Orchestrating a virtual storage system
US10976962B2 (en) 2018-03-15 2021-04-13 Pure Storage, Inc. Servicing I/O operations in a cloud-based storage system
US11016824B1 (en) 2017-06-12 2021-05-25 Pure Storage, Inc. Event identification with out-of-order reporting in a cloud-based environment
US11210133B1 (en) 2017-06-12 2021-12-28 Pure Storage, Inc. Workload mobility between disparate execution environments
CN116431072A (zh) 2017-06-12 2023-07-14 净睿存储股份有限公司 集成到大容量存储设备的可访问快速耐久存储
US11340939B1 (en) 2017-06-12 2022-05-24 Pure Storage, Inc. Application-aware analytics for storage systems
US11989429B1 (en) 2017-06-12 2024-05-21 Pure Storage, Inc. Recommending changes to a storage system
US10853148B1 (en) 2017-06-12 2020-12-01 Pure Storage, Inc. Migrating workloads between a plurality of execution environments
US11609718B1 (en) 2017-06-12 2023-03-21 Pure Storage, Inc. Identifying valid data after a storage system recovery
US10789020B2 (en) 2017-06-12 2020-09-29 Pure Storage, Inc. Recovering data within a unified storage element
US10884636B1 (en) 2017-06-12 2021-01-05 Pure Storage, Inc. Presenting workload performance in a storage system
US10613791B2 (en) 2017-06-12 2020-04-07 Pure Storage, Inc. Portable snapshot replication between storage systems
US10664352B2 (en) 2017-06-14 2020-05-26 Commvault Systems, Inc. Live browsing of backed up data residing on cloned disks
US11561714B1 (en) 2017-07-05 2023-01-24 Pure Storage, Inc. Storage efficiency driven migration
US11477280B1 (en) 2017-07-26 2022-10-18 Pure Storage, Inc. Integrating cloud storage services
US10635632B2 (en) 2017-08-29 2020-04-28 Cohesity, Inc. Snapshot archive management
US10831935B2 (en) 2017-08-31 2020-11-10 Pure Storage, Inc. Encryption management with host-side data reduction
US11321192B2 (en) * 2017-09-07 2022-05-03 Cohesity, Inc. Restoration of specified content from an archive
US11874805B2 (en) 2017-09-07 2024-01-16 Cohesity, Inc. Remotely mounted file system with stubs
US11861423B1 (en) 2017-10-19 2024-01-02 Pure Storage, Inc. Accelerating artificial intelligence (‘AI’) workflows
US11455168B1 (en) 2017-10-19 2022-09-27 Pure Storage, Inc. Batch building for deep learning training workloads
US10360214B2 (en) 2017-10-19 2019-07-23 Pure Storage, Inc. Ensuring reproducibility in an artificial intelligence infrastructure
US10671435B1 (en) 2017-10-19 2020-06-02 Pure Storage, Inc. Data transformation caching in an artificial intelligence infrastructure
US11494692B1 (en) 2018-03-26 2022-11-08 Pure Storage, Inc. Hyperscale artificial intelligence and machine learning infrastructure
US10452444B1 (en) 2017-10-19 2019-10-22 Pure Storage, Inc. Storage system with compute resources and shared storage resources
US10509581B1 (en) 2017-11-01 2019-12-17 Pure Storage, Inc. Maintaining write consistency in a multi-threaded storage system
US10484174B1 (en) 2017-11-01 2019-11-19 Pure Storage, Inc. Protecting an encryption key for data stored in a storage system that includes a plurality of storage devices
US10817392B1 (en) 2017-11-01 2020-10-27 Pure Storage, Inc. Ensuring resiliency to storage device failures in a storage system that includes a plurality of storage devices
US10671494B1 (en) 2017-11-01 2020-06-02 Pure Storage, Inc. Consistent selection of replicated datasets during storage system recovery
US10467107B1 (en) 2017-11-01 2019-11-05 Pure Storage, Inc. Maintaining metadata resiliency among storage device failures
US10929226B1 (en) 2017-11-21 2021-02-23 Pure Storage, Inc. Providing for increased flexibility for large scale parity
US10936238B2 (en) 2017-11-28 2021-03-02 Pure Storage, Inc. Hybrid data tiering
US10990282B1 (en) 2017-11-28 2021-04-27 Pure Storage, Inc. Hybrid data tiering with cloud storage
US10795598B1 (en) 2017-12-07 2020-10-06 Pure Storage, Inc. Volume migration for storage systems synchronously replicating a dataset
US11036677B1 (en) 2017-12-14 2021-06-15 Pure Storage, Inc. Replicated data integrity
US10929031B2 (en) 2017-12-21 2021-02-23 Pure Storage, Inc. Maximizing data reduction in a partially encrypted volume
US10992533B1 (en) 2018-01-30 2021-04-27 Pure Storage, Inc. Policy based path management
US10740022B2 (en) 2018-02-14 2020-08-11 Commvault Systems, Inc. Block-level live browsing and private writable backup copies using an ISCSI server
US10942650B1 (en) 2018-03-05 2021-03-09 Pure Storage, Inc. Reporting capacity utilization in a storage system
US11861170B2 (en) 2018-03-05 2024-01-02 Pure Storage, Inc. Sizing resources for a replication target
US11150834B1 (en) 2018-03-05 2021-10-19 Pure Storage, Inc. Determining storage consumption in a storage system
US10521151B1 (en) 2018-03-05 2019-12-31 Pure Storage, Inc. Determining effective space utilization in a storage system
US11972134B2 (en) 2018-03-05 2024-04-30 Pure Storage, Inc. Resource utilization using normalized input/output (‘I/O’) operations
US10296258B1 (en) 2018-03-09 2019-05-21 Pure Storage, Inc. Offloading data storage to a decentralized storage network
US11288138B1 (en) 2018-03-15 2022-03-29 Pure Storage, Inc. Recovery from a system fault in a cloud-based storage system
US11048590B1 (en) 2018-03-15 2021-06-29 Pure Storage, Inc. Data consistency during recovery in a cloud-based storage system
US11210009B1 (en) 2018-03-15 2021-12-28 Pure Storage, Inc. Staging data in a cloud-based storage system
US10924548B1 (en) 2018-03-15 2021-02-16 Pure Storage, Inc. Symmetric storage using a cloud-based storage system
US10917471B1 (en) 2018-03-15 2021-02-09 Pure Storage, Inc. Active membership in a cloud-based storage system
US11171950B1 (en) 2018-03-21 2021-11-09 Pure Storage, Inc. Secure cloud-based storage system management
US11095706B1 (en) 2018-03-21 2021-08-17 Pure Storage, Inc. Secure cloud-based storage system management
US10838833B1 (en) 2018-03-26 2020-11-17 Pure Storage, Inc. Providing for high availability in a data analytics pipeline without replicas
US11392553B1 (en) 2018-04-24 2022-07-19 Pure Storage, Inc. Remote data management
US11436344B1 (en) 2018-04-24 2022-09-06 Pure Storage, Inc. Secure encryption in deduplication cluster
US11455409B2 (en) 2018-05-21 2022-09-27 Pure Storage, Inc. Storage layer data obfuscation
US20190354628A1 (en) 2018-05-21 2019-11-21 Pure Storage, Inc. Asynchronous replication of synchronously replicated data
US11954220B2 (en) 2018-05-21 2024-04-09 Pure Storage, Inc. Data protection for container storage
US11675503B1 (en) 2018-05-21 2023-06-13 Pure Storage, Inc. Role-based data access
US10871922B2 (en) 2018-05-22 2020-12-22 Pure Storage, Inc. Integrated storage management between storage systems and container orchestrators
JP7248267B2 (ja) * 2018-06-06 2023-03-29 Necソリューションイノベータ株式会社 ストレージ装置、復旧方法、プログラム
CN108874590A (zh) * 2018-06-16 2018-11-23 武汉商启网络信息有限公司 一种云主机自动备份与恢复的系统
US11416298B1 (en) 2018-07-20 2022-08-16 Pure Storage, Inc. Providing application-specific storage by a storage system
US11403000B1 (en) 2018-07-20 2022-08-02 Pure Storage, Inc. Resiliency in a cloud-based storage system
US11146564B1 (en) 2018-07-24 2021-10-12 Pure Storage, Inc. Login authentication in a cloud storage platform
US11954238B1 (en) 2018-07-24 2024-04-09 Pure Storage, Inc. Role-based access control for a storage system
US11632360B1 (en) 2018-07-24 2023-04-18 Pure Storage, Inc. Remote access to a storage device
US11860820B1 (en) 2018-09-11 2024-01-02 Pure Storage, Inc. Processing data through a storage system in a data pipeline
US10671302B1 (en) 2018-10-26 2020-06-02 Pure Storage, Inc. Applying a rate limit across a plurality of storage systems
US11526405B1 (en) 2018-11-18 2022-12-13 Pure Storage, Inc. Cloud-based disaster recovery
US11340837B1 (en) 2018-11-18 2022-05-24 Pure Storage, Inc. Storage system management via a remote console
US11379254B1 (en) 2018-11-18 2022-07-05 Pure Storage, Inc. Dynamic configuration of a cloud-based storage system
US10963189B1 (en) 2018-11-18 2021-03-30 Pure Storage, Inc. Coalescing write operations in a cloud-based storage system
US11010258B2 (en) 2018-11-27 2021-05-18 Commvault Systems, Inc. Generating backup copies through interoperability between components of a data storage management system and appliances for data storage and deduplication
US11698727B2 (en) 2018-12-14 2023-07-11 Commvault Systems, Inc. Performing secondary copy operations based on deduplication performance
US11650749B1 (en) 2018-12-17 2023-05-16 Pure Storage, Inc. Controlling access to sensitive data in a shared dataset
US11003369B1 (en) 2019-01-14 2021-05-11 Pure Storage, Inc. Performing a tune-up procedure on a storage device during a boot process
US11042452B1 (en) 2019-03-20 2021-06-22 Pure Storage, Inc. Storage system data recovery using data recovery as a service
US11221778B1 (en) 2019-04-02 2022-01-11 Pure Storage, Inc. Preparing data for deduplication
US11068162B1 (en) 2019-04-09 2021-07-20 Pure Storage, Inc. Storage management in a cloud data store
US20200327017A1 (en) 2019-04-10 2020-10-15 Commvault Systems, Inc. Restore using deduplicated secondary copy data
US11463264B2 (en) 2019-05-08 2022-10-04 Commvault Systems, Inc. Use of data block signatures for monitoring in an information management system
US11126364B2 (en) 2019-07-18 2021-09-21 Pure Storage, Inc. Virtual storage system architecture
US11392555B2 (en) 2019-05-15 2022-07-19 Pure Storage, Inc. Cloud-based file services
US11853266B2 (en) 2019-05-15 2023-12-26 Pure Storage, Inc. Providing a file system in a cloud environment
US11327676B1 (en) 2019-07-18 2022-05-10 Pure Storage, Inc. Predictive data streaming in a virtual storage system
CN110362429B (zh) * 2019-07-12 2021-08-06 优刻得科技股份有限公司 数据库的连续数据保护方法、系统、设备和介质
US11797197B1 (en) 2019-07-18 2023-10-24 Pure Storage, Inc. Dynamic scaling of a virtual storage system
US11487715B1 (en) 2019-07-18 2022-11-01 Pure Storage, Inc. Resiliency in a cloud-based storage system
US11093139B1 (en) 2019-07-18 2021-08-17 Pure Storage, Inc. Durably storing data within a virtual storage system
US11861221B1 (en) 2019-07-18 2024-01-02 Pure Storage, Inc. Providing scalable and reliable container-based storage services
US11526408B2 (en) 2019-07-18 2022-12-13 Pure Storage, Inc. Data recovery in a virtual storage system
TWI711288B (zh) * 2019-08-27 2020-11-21 中華電信股份有限公司 異地備份方法
US11086553B1 (en) 2019-08-28 2021-08-10 Pure Storage, Inc. Tiering duplicated objects in a cloud-based object store
US11693713B1 (en) 2019-09-04 2023-07-04 Pure Storage, Inc. Self-tuning clusters for resilient microservices
US11797569B2 (en) 2019-09-13 2023-10-24 Pure Storage, Inc. Configurable data replication
US11625416B1 (en) 2019-09-13 2023-04-11 Pure Storage, Inc. Uniform model for distinct types of data replication
US11573864B1 (en) 2019-09-16 2023-02-07 Pure Storage, Inc. Automating database management in a storage system
KR102427418B1 (ko) * 2019-09-27 2022-08-01 주식회사 데이타커맨드 백업 데이터 합성 장치 및 방법
US11669386B1 (en) 2019-10-08 2023-06-06 Pure Storage, Inc. Managing an application's resource stack
CN112685225A (zh) * 2019-10-18 2021-04-20 伊姆西Ip控股有限责任公司 用于传输数据的方法、设备和计算机程序产品
US10715524B1 (en) * 2019-11-14 2020-07-14 Snowflake Inc. External credential-less stages for data warehouse integrations
US11442896B2 (en) 2019-12-04 2022-09-13 Commvault Systems, Inc. Systems and methods for optimizing restoration of deduplicated data stored in cloud-based storage resources
US20210173945A1 (en) 2019-12-06 2021-06-10 Pure Storage, Inc. Replicating data to a storage system that has an inferred trust relationship with a client
US11709636B1 (en) 2020-01-13 2023-07-25 Pure Storage, Inc. Non-sequential readahead for deep learning training
US11733901B1 (en) 2020-01-13 2023-08-22 Pure Storage, Inc. Providing persistent storage to transient cloud computing services
US11720497B1 (en) 2020-01-13 2023-08-08 Pure Storage, Inc. Inferred nonsequential prefetch based on data access patterns
CN111309388B (zh) * 2020-02-03 2023-07-21 杭州迪普科技股份有限公司 设备的系统软件版本的自动回滚系统及其方法
US11868622B2 (en) 2020-02-25 2024-01-09 Pure Storage, Inc. Application recovery across storage systems
US11637896B1 (en) 2020-02-25 2023-04-25 Pure Storage, Inc. Migrating applications to a cloud-computing environment
US11321006B1 (en) 2020-03-25 2022-05-03 Pure Storage, Inc. Data loss prevention during transitions from a replication source
US11630598B1 (en) 2020-04-06 2023-04-18 Pure Storage, Inc. Scheduling data replication operations
US11301152B1 (en) 2020-04-06 2022-04-12 Pure Storage, Inc. Intelligently moving data between storage systems
US11494267B2 (en) 2020-04-14 2022-11-08 Pure Storage, Inc. Continuous value data redundancy
US11921670B1 (en) 2020-04-20 2024-03-05 Pure Storage, Inc. Multivariate data backup retention policies
US11687424B2 (en) 2020-05-28 2023-06-27 Commvault Systems, Inc. Automated media agent state management
US11431488B1 (en) 2020-06-08 2022-08-30 Pure Storage, Inc. Protecting local key generation using a remote key management service
US11422733B2 (en) * 2020-06-29 2022-08-23 EMC IP Holding Company LLC Incremental replication between foreign system dataset stores
US11831773B1 (en) 2020-06-29 2023-11-28 Amazon Technologies, Inc. Secured database restoration across service regions
US11349917B2 (en) 2020-07-23 2022-05-31 Pure Storage, Inc. Replication handling among distinct networks
US11442652B1 (en) 2020-07-23 2022-09-13 Pure Storage, Inc. Replication handling during storage system transportation
US11487701B2 (en) 2020-09-24 2022-11-01 Cohesity, Inc. Incremental access requests for portions of files from a cloud archival storage tier
US11397545B1 (en) 2021-01-20 2022-07-26 Pure Storage, Inc. Emulating persistent reservations in a cloud-based storage system
US11853285B1 (en) 2021-01-22 2023-12-26 Pure Storage, Inc. Blockchain logging of volume-level events in a storage system
US20220365827A1 (en) 2021-05-12 2022-11-17 Pure Storage, Inc. Rebalancing In A Fleet Of Storage Systems Using Data Science
US11816129B2 (en) 2021-06-22 2023-11-14 Pure Storage, Inc. Generating datasets using approximate baselines
US11893263B2 (en) 2021-10-29 2024-02-06 Pure Storage, Inc. Coordinated checkpoints among storage systems implementing checkpoint-based replication
US11714723B2 (en) 2021-10-29 2023-08-01 Pure Storage, Inc. Coordinated snapshots for data stored across distinct storage environments
US11914867B2 (en) 2021-10-29 2024-02-27 Pure Storage, Inc. Coordinated snapshots among storage systems implementing a promotion/demotion model
US11922052B2 (en) 2021-12-15 2024-03-05 Pure Storage, Inc. Managing links between storage objects
US11847071B2 (en) 2021-12-30 2023-12-19 Pure Storage, Inc. Enabling communication between a single-port device and multiple storage system controllers
US11860780B2 (en) 2022-01-28 2024-01-02 Pure Storage, Inc. Storage cache management
US11886295B2 (en) 2022-01-31 2024-01-30 Pure Storage, Inc. Intra-block error correction

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1838083A (zh) * 2005-03-21 2006-09-27 微软公司 联网环境中有效的数据备份系统和方法
US7330997B1 (en) * 2004-06-03 2008-02-12 Gary Odom Selective reciprocal backup

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4853843A (en) * 1987-12-18 1989-08-01 Tektronix, Inc. System for merging virtual partitions of a distributed database
US6760840B1 (en) * 1994-03-15 2004-07-06 Kabushiki Kaisha Toshiba File editing system and shared file editing system with file content secrecy, file version management, and asynchronous editing
US5765173A (en) * 1996-01-11 1998-06-09 Connected Corporation High performance backup via selective file saving which can perform incremental backups and exclude files and uses a changed block signature list
US6366930B1 (en) * 1996-04-12 2002-04-02 Computer Associates Think, Inc. Intelligent data inventory & asset management systems method and apparatus
KR970076238A (ko) * 1996-05-23 1997-12-12 포만 제프리 엘 클라이언트 데이타 화일의 다수의 복사본을 생성하고 관리하는 서버, 방법 및 그 프로그램 제품
US5797016A (en) * 1996-10-29 1998-08-18 Cheyenne Software Inc. Regeneration agent for back-up software
US5794254A (en) 1996-12-03 1998-08-11 Fairbanks Systems Group Incremental computer file backup using a two-step comparison of first two characters in the block and a signature with pre-stored character and signature sets
US6367029B1 (en) 1998-11-03 2002-04-02 Sun Microsystems, Inc. File server system tolerant to software and hardware failures
GB2353611B (en) 1999-08-24 2004-03-17 Ibm Disk image backup/restore with data preparation phase
US7574496B2 (en) * 2001-11-30 2009-08-11 Surgient, Inc. Virtual server cloud interfacing
US6990666B2 (en) * 2002-03-18 2006-01-24 Surgient Inc. Near on-line server
US7257584B2 (en) * 2002-03-18 2007-08-14 Surgient, Inc. Server file management
US6993539B2 (en) * 2002-03-19 2006-01-31 Network Appliance, Inc. System and method for determining changes in two snapshots and for transmitting changes to destination snapshot
US7139808B2 (en) * 2002-04-30 2006-11-21 Intel Corporation Method and apparatus for bandwidth-efficient and storage-efficient backups
US7334124B2 (en) 2002-07-22 2008-02-19 Vormetric, Inc. Logical access block processing protocol for transparent secure file storage
EP1537496B1 (en) * 2002-09-10 2008-07-02 Exagrid Systems, Inc. Data protection system and method
US7203711B2 (en) 2003-05-22 2007-04-10 Einstein's Elephant, Inc. Systems and methods for distributed content storage and management
US7567991B2 (en) * 2003-06-25 2009-07-28 Emc Corporation Replication of snapshot using a file system copy differential
US7275177B2 (en) * 2003-06-25 2007-09-25 Emc Corporation Data recovery with internet protocol replication with or without full resync
US20050015416A1 (en) * 2003-07-16 2005-01-20 Hitachi, Ltd. Method and apparatus for data recovery using storage based journaling
US7257257B2 (en) 2003-08-19 2007-08-14 Intel Corporation Method and apparatus for differential, bandwidth-efficient and storage-efficient backups
US7225208B2 (en) * 2003-09-30 2007-05-29 Iron Mountain Incorporated Systems and methods for backing up data files
US7315930B2 (en) * 2003-10-30 2008-01-01 Hewlett-Packard Development Company, L.P. Method of selecting heuristic class for data placement
US7383463B2 (en) * 2004-02-04 2008-06-03 Emc Corporation Internet protocol based disaster recovery of a server
JP2005301497A (ja) * 2004-04-08 2005-10-27 Hitachi Ltd ストレージ管理装置、リストア方法及びそのプログラム
JP2005301464A (ja) 2004-04-08 2005-10-27 Hitachi Ltd バックアップ方法ならびにバックアップシステム
US7555531B2 (en) 2004-04-15 2009-06-30 Microsoft Corporation Efficient algorithm and protocol for remote differential compression
US8108429B2 (en) * 2004-05-07 2012-01-31 Quest Software, Inc. System for moving real-time data events across a plurality of devices in a network for simultaneous data protection, replication, and access services
US7461100B2 (en) * 2004-05-27 2008-12-02 International Business Machines Corporation Method for fast reverse restore
US7979404B2 (en) * 2004-09-17 2011-07-12 Quest Software, Inc. Extracting data changes and storing data history to allow for instantaneous access to and reconstruction of any point-in-time data
US8364633B2 (en) * 2005-01-12 2013-01-29 Wandisco, Inc. Distributed computing systems and system components thereof
US8010498B2 (en) * 2005-04-08 2011-08-30 Microsoft Corporation Virtually infinite reliable storage across multiple storage devices and storage services
WO2007017857A1 (en) * 2005-04-15 2007-02-15 Zak Dechovich Accelerated computer recovery
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
US8041677B2 (en) * 2005-10-12 2011-10-18 Datacastle Corporation Method and system for data backup
US7653668B1 (en) * 2005-11-23 2010-01-26 Symantec Operating Corporation Fault tolerant multi-stage data replication with relaxed coherency guarantees
US20070136200A1 (en) * 2005-12-09 2007-06-14 Microsoft Corporation Backup broker for private, integral and affordable distributed storage
US20070177739A1 (en) * 2006-01-27 2007-08-02 Nec Laboratories America, Inc. Method and Apparatus for Distributed Data Replication
US7783600B1 (en) * 2006-02-27 2010-08-24 Symantec Operating Corporation Redundancy management service for peer-to-peer networks
US7529785B1 (en) * 2006-02-28 2009-05-05 Symantec Corporation Efficient backups using dynamically shared storage pools in peer-to-peer networks
US20070214198A1 (en) * 2006-03-10 2007-09-13 Nathan Fontenot Allowing state restoration using differential backing objects
US7441092B2 (en) 2006-04-20 2008-10-21 Microsoft Corporation Multi-client cluster-based backup and restore
EP3336707A1 (en) 2006-05-05 2018-06-20 Hybir Inc. Group based complete and incremental computer file backup system, process and apparatus
US7873601B1 (en) * 2006-06-29 2011-01-18 Emc Corporation Backup of incremental metadata in block based backup systems
JP2010508608A (ja) * 2006-10-31 2010-03-18 レビット・インコーポレーテッド 計算機メモリー上に記録されたデータ及びファイルディレクトリ構造の自動保護システム
US7734669B2 (en) * 2006-12-22 2010-06-08 Commvault Systems, Inc. Managing copies of data
US7685189B2 (en) 2006-12-27 2010-03-23 Microsoft Corporation Optimizing backup and recovery utilizing change tracking
JP2008197745A (ja) 2007-02-08 2008-08-28 Hitachi Ltd ストレージ仮想化システムにおける記憶制御装置
US8874518B2 (en) * 2007-06-06 2014-10-28 International Business Machines Corporation System, method and program product for backing up data
WO2008154448A2 (en) * 2007-06-08 2008-12-18 Apple Inc. Application-based backup-restore of electronic information
JP2009070143A (ja) 2007-09-13 2009-04-02 Hitachi Ltd Nas装置の差分リモートバックアップにおけるデータ復旧方法及び計算機システム
US8190836B1 (en) * 2008-04-30 2012-05-29 Network Appliance, Inc. Saving multiple snapshots without duplicating common blocks to protect the entire contents of a volume
US8108502B2 (en) * 2008-07-24 2012-01-31 Symform, Inc. Storage device for use in a shared community storage network
US8099572B1 (en) * 2008-09-30 2012-01-17 Emc Corporation Efficient backup and restore of storage objects in a version set
US8566362B2 (en) * 2009-01-23 2013-10-22 Nasuni Corporation Method and system for versioned file system using structured data representations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7330997B1 (en) * 2004-06-03 2008-02-12 Gary Odom Selective reciprocal backup
CN1838083A (zh) * 2005-03-21 2006-09-27 微软公司 联网环境中有效的数据备份系统和方法

Also Published As

Publication number Publication date
KR20120027132A (ko) 2012-03-21
CN102388361A (zh) 2012-03-21
RU2011139997A (ru) 2013-04-20
TWI474164B (zh) 2015-02-21
WO2010114777A3 (en) 2011-02-03
US20100257142A1 (en) 2010-10-07
AU2010232795A1 (en) 2011-10-20
KR101626186B1 (ko) 2016-05-31
JP2012523044A (ja) 2012-09-27
CA2756085A1 (en) 2010-10-07
EP2414933A4 (en) 2012-11-14
MX2011010287A (es) 2011-10-19
RU2531869C2 (ru) 2014-10-27
JP5559867B2 (ja) 2014-07-23
WO2010114777A2 (en) 2010-10-07
AU2010232795B2 (en) 2014-06-19
CA2756085C (en) 2017-04-25
US8805953B2 (en) 2014-08-12
TW201040713A (en) 2010-11-16
BRPI1014698A2 (pt) 2019-04-16
EP2414933A2 (en) 2012-02-08

Similar Documents

Publication Publication Date Title
CN102388361B (zh) 差别文件以及从对等点和云恢复的系统
CN102414673B (zh) 智能的备份数据分层
US8560639B2 (en) Dynamic placement of replica data
US20100274765A1 (en) Distributed backup and versioning
US20100257403A1 (en) Restoration of a system from a set of full and partial delta system snapshots across a distributed system
US20100318759A1 (en) Distributed rdc chunk store
US8275752B2 (en) Data backup method through distributed network, involves generating data segment copies to transmit to peer storage servers based on metadata with segment distribution matrix by calculating redundancy corresponding to data segments
JP2006244495A (ja) クエリベースの通知アーキテクチャ
CN105359107A (zh) 报告针对分布式对象取回的数据的降级状态
JP5487420B2 (ja) ファイル複製要否判定方法、通信装置、コンピュータプログラム及びピアツーピア型通信システム

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150612

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150612

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.