CN102057358B - 用于对卷的改变进行跟踪的系统与方法 - Google Patents

用于对卷的改变进行跟踪的系统与方法 Download PDF

Info

Publication number
CN102057358B
CN102057358B CN200980121918.9A CN200980121918A CN102057358B CN 102057358 B CN102057358 B CN 102057358B CN 200980121918 A CN200980121918 A CN 200980121918A CN 102057358 B CN102057358 B CN 102057358B
Authority
CN
China
Prior art keywords
snapshot
volume
window
change
altered
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
CN200980121918.9A
Other languages
English (en)
Other versions
CN102057358A (zh
Inventor
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.)
NortonLifeLock Inc
Original Assignee
Symantec 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 Symantec Corp filed Critical Symantec Corp
Publication of CN102057358A publication Critical patent/CN102057358A/zh
Application granted granted Critical
Publication of CN102057358B publication Critical patent/CN102057358B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

在此披露了一种用于跟踪卷的改变的计算机实施的方法。该方法可包括:1)识别一个卷的一个第一快照,2)识别创建了该第一快照的一个窗口,该窗口开始于已知在该第一快照之前已经发生的一个第一点并且结束于已知在该第一快照之后已经发生的一个第二点,3)识别在该窗口中发生的该卷的至少一个改变,并且4)将在该窗口中发生的该至少一个改变与该第一快照以及在该第一快照后创建的一个第二快照二者相关联。在此还披露了相应的系统以及计算机可读媒质。

Description

用于对卷的改变进行跟踪的系统与方法
背景技术
一些用于数据备份的常规方法可能涉及基于一个计算系统的一个或者多个卷的一个快照来创建备份。例如,一种常规的、基于卷的备份程序可以基于卷的一个初始快照来创建该卷的一个基本(或者完整的)备份。当该卷的多个数据块发生变化时,这种常规的、基于卷的备份程序可以通过以下步骤来创建该卷的一个增量备份(不同于一个额外的完整备份):1)取得一个新的快照,2)识别自上次快照以来该卷的已经改变的每一个数据块(例如,每个扇区或者簇),3)捕获每一个改变的数据块。
在某些情况下,备份程序的开发人员们可能希望将他们的程序与一个或者多个第三方快照供应器整合在一起,以便利用由第三方快照供应器所提供的专门的特征或者优点。例如,基于软件的备份程序的开发人员们可能希望使用并支持由基于硬件并且脱离主机的快照供应器所提供的快照,以便得益于由基于硬件并脱离主机的快照所提供的性能优势。
不幸的是,常规的备份程序也许不能使用或者完全支持第三方的快照,因为常规的备份程序典型地是不能识别何时创建了一个第三方快照的准确时间点。例如,因为许多第三方的快照供应器(例如基于硬件并且脱离主机的快照供应器)并不跟踪或者识别自一个先前的快照被创建以来已经改变了的一个卷的这些数据块,所以常规的备份程序典型地是不能够从第三方的快照来创建增量备份的。这样,常规的基于卷的备份程序也许只能使用并支持从由第三方快照供应器提供的快照来创建完整的备份(不同于增量备份)。
发明内容
正如以下将要更加详细说明,本披露总体上涉及用于对一个卷的改变进行跟踪的系统与方法。在一个实例中,这些系统与方法可以使得一个备份程序能够支持由多个第三方快照供应器所提供的多个快照。例如,正如以下将要更加详细说明的,本披露可以使得一个基于软件的备份程序能够从基于硬件的快照来创建增量备份。
在一个实例中,一种用于对卷的改变进行跟踪的方法可以包括:1)识别一个卷的一个第一快照(例如,由一个第三方快照程序所创建),2)识别一个窗口,其中创建了该第一快照;3)识别在该窗口中改变了的该卷的每一个数据块,并且然后4)针对在该窗口中改变了的该卷的每一个数据块,将一个参引项加入与该第一快照相关联的一个第一列表以及与在该第一快照之后创建的一个第二快照相关联的一个第二列表二者之中。
在一个实例中,该窗口可以开始于已知在创建该第一快照之前已经发生的一个第一点(即,在创建该第一快照之前确切地发生了的一个时间点)并且结束于已知在创建该第一快照之后已经发生的一个第二点(即,在创建该第一快照之后确切地发生了的一个时间点)。针对先于该窗口的开始所发生的多个数据块变化的参引项可以被加入与该第一快照相关联的该第一列表之中,而针对在该窗口结束之后发生的多个数据块变化的参引项可以被加入与该第二快照相关联的第二列表之中。在某些实例中,与该第一与第二快照相关联的第一与第二列表可以被用于创建该卷的完整的或者增量的备份。
在此还披露了对应于上述这些方法的多个系统以及计算机可读媒质。来自上述任一实施方案的多种特征可根据在此说明的通用原理彼此相互结合使用。通过结合附图和权利要求来阅读以下的详细说明,将会更加全面地理解这些以及其他的实施方案、特征、以及优点。
附图说明
这些附图展示了多个示例性实施方案并且是本说明书的一部分。这些附图与以下说明一起展现并解释了本披露的不同原理。
图1是根据至少一个实施方案的用于对卷的改变进行跟踪的一个示例性系统的框图。
图2是根据至少一个实施方案的用于对卷的改变进行跟踪的一个示例性网络化环境的框图。
图3是根据一个附加实施方案的用于对卷的改变进行跟踪的一个示例性虚拟环境的框图。
图4是根据至少一个实施方案的用于对卷的改变进行跟踪的一种示例性的计算机实施方法的流程图。
图5是根据一个实施方案的用于对卷的改变进行跟踪的一个示例性的时序图。
图6是根据至少一个实施方案的一个示例性的计算机实施方法的流程图,该方法用于为多个快照创建列表,这些列表识别了对一个卷所作的多个改变。
图7是一个示例性的计算系统的框图,该系统能够实施在此说明和/或展示的这些实施方案中的一个或多个。
贯穿这些附图,相同的参考符号以及说明表示相似的但并不一定完全相同的要素。虽然在此说明的这些示例性实施方案可接受不同的修改以及多种替代形式,在此于附图中以举例的方式示出多个具体的实施方案并且对其进行详细的说明。然而,在此说明的这些示例性实施方案并非旨在被限于所披露的这些特定形式。相反,本披露覆盖了落入所附权利要求范围内的所有修改、等效物、以及替代方案。
具体实施方式
正如以下将要更加详细说明的,本披露总体上涉及用于对卷的改变进行跟踪的多种系统与方法。在一个实例中,此类系统与方法可以使得一个备份程序能够支持由多个第三方快照供应器创建的多个快照。例如,正如以下将要详细说明的,本披露可以使得一个基于软件的备份程序能够从一些基于硬件的多个快照来创建多个增量备份。
以下将参照图1至图3给出用于对一个卷的改变进行跟踪的多个示例性系统的详细说明。还将结合图5给出用于对一个卷的改变进行跟踪的时序图的说明。还将结合图4与6给出对应的多种示例性计算机实施方法的说明。此外,将结合图7来给出能够实施在此说明或者展示的这些实施方案中的一个或多个的一种示例性计算系统的说明。
图1是用于对一个卷的改变进行跟踪的示例性系统100的框图。如在此所使用的,术语“卷”泛指一个计算系统的任何类型或者形式的物理的、逻辑的、或者虚拟化的卷。如图1所示,示例性系统100可以包括用于执行一个或者多个任务的一个或者多个模块102。例如,示例性系统100可以包括一个快照识别模块104,用于识别一个卷的多个快照(在某些情况下,它们可以是由第三方快照供应器创建的)。
示例性系统100还可以包括一个跟踪变化的模块106,用于跟踪对一个卷的多次改变,这将在以下更加详细地说明。此外,示例性系统100可以包括一个备份创建模块108,用于创建一个计算系统的一个备份(在某些情况下,基于多个第三方快照)。如在此所使用的,术语“备份”可以是指一个文件、一个程序、或者一个计算系统的卷的至少一部分的任何类型或者形式的备份。此外,如在此所使用的,术语“快照”泛指数据在一个时间点上的复本。在某些实例中,一个快照可以作为一个向导用于创建一个计算装置的备份。
如图1所示,示例性系统100还可以包括一个或者多个数据库120。例如,示例性系统100可以包括一个变化列表数据库122,用于存储多个列表(“变化列表”),这些列表识别对一个卷做出的多次改变。示例性系统100还可以包括一个备份数据库123,用于存储对于一个或者多个计算系统的多个备份。虽然被展示为多个分离的装置,但是图1的数据库120中一个或多个可以代表一个单一数据库或一个单一计算装置的多个部分。
在某些实施方案中,一个或多个模块102可以代表一个或者多个应用软件或者程序,这些应用软件或程序在由一个计算装置执行时可以致使该计算装置执行一个或者多个任务,该任务是用于跟踪对一个卷所做的改变所要求的。例如,正如以下将要详细说明的,一个或多个模块102可以代表被配置为用于在一个或者多个计算装置上运行的多个软件模块,例如图2(例如,客户端202、服务器206、以及多个存储装置208(1)-(N)、图3(例如,虚拟机服务器302、虚拟机客户端304、虚拟卷305、存储装置308、以及代理服务器310)、以及图7(例如,计算系统710)中所示的多种计算装置。一个或多个模块102还可以代表被配置为用于执行一个或者多个任务的一台或者多台专用计算机的全部或者一部分,这些任务是用于跟踪一个卷的改变所要求的。
此外,图1中的一个或多个数据库120可代表一个或多个计算装置的一部分。例如,一个或多个数据库120可以代表图2、3和7中所示的示例性计算系统的一部分。可替代地,一个或多个数据库120可以代表一个或者多个能够被计算装置访问的物理上分离的装置,例如图2、3和7中所示的这些示例性计算装置。
图4是用于对一个卷的改变进行跟踪的一种示例性计算机实施方法400的流程图。如图所示,在步骤402中,可以识别一个卷的一个第一快照。例如,图1中的快照识别模块104可以确定一个第三方快照供应器已经创建了一个快照。
在步骤404,该系统可以识别一个窗口,在该窗口中创建了步骤402中识别的第一快照。在一个实例中,这一窗口可以开始于已知的在步骤402中所识别的该第一快照被创建之前已经发生的一个第一点(即,确切地在创建该第一快照之前发生的一个时间点)并且结束于已知的在该第一快照被创建之后已经发生的一个第二点(即,确切地在创建该第一快照之后发生的一个时间点)。
图5是一个时序图的图示,该时序图用于识别在其中创建了一个卷的快照的一个窗口。如图所示,用于一个第一快照504的第一快照窗口512可以通过识别已知的在创建该第一快照504之前已经发生的一个第一点A1和已知的在创建该第一快照504之后已经发生的一个第二点B1来进行识别。回到图4,在步骤406,该系统可以识别在该窗口中发生了该卷的至少一个改变。例如,跟踪变化的模块106可以识别在图5的第一快照窗口512中改变了的该卷的每一个数据块。如在此所使用的,术语“数据块”可以是指一个卷中最低级别的可寻址空间。在多个附加实例中,由跟踪变化的模块106所识别的多个数据块可以是在该窗口中改变了的一个卷的多个扇区、文件、部分的文件、簇、簇的部分、或者类似的数据块。
在步骤408,该系统可以将在406中识别的改变与第一快照以及第一快照之后创建的一个第二快照二者相关联。例如,图1中的跟踪变化的模块106可以将图5中的第一快照窗口512中发生的所有改变与第一快照504以及第二快照506二者相关联。在某些实例中,这样一种关联可能仅代表一种逻辑上的关联,因为这些快照(它们可以是由一个第三方快照供应器提供的)可能无法知悉这样一种关联。
图4中的步骤408能够以多种方式来执行。例如,步骤408可以包括针对在步骤404识别的窗口中改变了的该卷的每一个数据块将一个参引项加入该第一快照以及该第二快照二者之中。在一个替代实施方案中,步骤408可以包括针对在步骤404所识别的窗口中改变了的卷的每一个数据块将一个参引项加入与该第一快照相关联的一个第一变化列表以及与该第二快照相关联的一个第二变化列表二者之中。
例如,跟踪变化的模块106可以针对在第一快照窗口512中改变了的卷的每一个数据块将一个参引项加入与第一快照504相关联的第一变化列表508以及与第二快照506相关联的第二变化列表510二者之中。如以上所详述,在此所使用的术语“变化列表”可以是指识别出自一个先前的快照以来对一个卷所作的多次改变的一个列表。多个变化列表能够以多种方式来识别对一个卷的多次改变。例如,一个变化列表可以代表用于已经改变了的一个卷的多个数据块的索引的一种分类列表。在一个附加实例中,一个变化列表可以代表一幅位图,该位图包括对于一个卷中的每一数据块的一个位。初始地,该位图中的所有的位可以都是逻辑零(0)。然而,当识别了对于一个数据块的改变时,对应于每个改变了的数据块的一个位可以被设为一个逻辑一(1)。
因此,在至少一个实施方案中,多个变化列表508和510可以识别自一个先前的快照以来在一个卷上已经改变了的多个数据块。在某些实例中,多个变化列表508和510可以用于创建一个卷的增量备份。在完成图4中的步骤408时,图4中的示例性方法可以结束。
如以上详细说明的,图5中的变化列表508与510可以识别自一个卷的一个先前的快照以来的对于该卷的多次改变。图6是用于为一个卷创建多个变化列表的一种示例性计算机实施方法600的流程图。在至少一个实施方案中,可以在图4中的步骤408完成时开始步骤602。如图6所示,该系统可以在步骤602识别已知的在创建第一快照之前的一个先前的快照之前已经发生的一个点(即,确切地在创建该先前的快照之前发生的一个时间点)。例如,图1中的跟踪变化的模块106可以识别图5中已知在一个先前的快照502之前已经发生的一个点A0,该快照502被创建于第一快照504之前。
在步骤604,该系统可以识别在点A0(即,已知在图5的先前的快照502之前已经发生的点)与点B1(即,已知在第一快照504之后已经发生的一个点)之间一个卷中改变了的每一个数据块。
在步骤606,该系统可以针对在点A0与点B1之间改变了的该卷的每一个数据块将一个参引项加入与第一快照504相关联的第一变化列表508之中。
在步骤608,该系统可以识别已知在第一快照504之前已经发生的一个第三点和已知在第二快照506之后已经发生的一个第四点(即,确切地在第二快照506的创建之后发生的一个时间点)。例如,图1中的跟踪变化的模块106可以识别一个点A1作为已知在第一快照504之前已经发生的第三点,以及点B2作为已知在图5的第二快照506之后已经发生的第四点。
在步骤610,该系统可以识别图5中的点A1与点B2之间改变了的该卷的每一个数据块。在步骤612,针对点A1与点B2之间改变了的该卷的每一个数据块可以将一个参引项加入与第二快照506相关联的一个第二变化列表510之中。如以上详细说明的,在某些实例中变化列表508与510可以被用于创建一个卷的一个增量快照或者备份。在完成图6中的步骤612时,示例性方法600可以结束。
正如以上详细说明的,在此所说明的这些示例性系统与方法可以使一个备份程序能够支持多个第三方快照,即使该备份程序不能识别何时一个第三方快照被创建的准确时间点。例如,在此所说明的这些示例性系统与方法可以使基于软件备份程序的开发人员们能够利用并支持由多个基于硬件并且脱离主机的快照供应器所提供的多个快照,以便得益于由基于硬件并脱离主机的快照所提供的性能优势。
而且,由于现代计算系统的速度,在其中创建一个第三方快照的窗口可以缩减到一个非常小的时间段。这样,在这种窗口中改变的一个卷上的数据块的数目可以是相对较小的。无论如何,即使如果自该先前的快照以来实际上未发生改变的多个数据块被不必要地加入一个增量备份之中,这些额外的数据块也绝不会影响所生成的备份的有效性,因为自最近的快照以来改变了的该卷的每个数据块仍然被包括在该备份中。
在此所说明的这些示例性系统与方法能够以多种方式来使用。例如,图1中的示例性系统100的全部或者一部分可代表能够创建多个基于硬件的快照的一种网络化系统(如图2中的示例性网络化系统200)的多个部分,。如该图中所展示的,示例性系统200可以包括通过网络204与一台服务器206和一台代理服务器207进行通信的一个客户端202。
客户端302广义地代表能够执行计算机可读指令的任何类型或形式的客户端计算装置。在某些实例中,客户端202可以包括一个卷203。卷203可以广义地代表任何类型或者形式的能够存储数据和/或计算机可读指令的存储装置或者媒质。卷203的实例包括,但不限于,物理卷、逻辑卷、以及虚拟卷。在某些实例中,客户端202可以包括图1中的示例性系统100的一个或者多个部分。例如,图1中的一个或多个模块102可以被存储并且被配置为用于在客户端202上运行。类似地,图1中的一个或多个数据库120可以代表图2中的客户端202的多个部分。
在至少一个实施方案中,客户端202可以通过网络204与服务器206和代理服务器207进行通信。网络204广义地代表任何类型或者形式的通信或计算网络;包括,例如,一种内部网、一种广域网(WAN)、一种局域网(LAN)、一种个人局域网(PAN)、或者互联网。
服务器206广义地代表任何类型或者形式的服务器端计算装置。在某些实施方案中,服务器206可以代表被配置为用于创建并存储客户端202的卷203的多个硬件快照的一种SAN装置。在某些实施方案中,服务器206可以包括图1中的示例性系统100的一个或者多个部分。例如,图1中的一个或多个模块102可以被存储或者被配置为用于在服务器206上运行。类似地,服务器206可以包括图1中的一个或多个数据库120。
代理服务器207广义地代表任何类型或者形式的服务器端计算装置。在某些实施方案中,代理服务器207可以访问由服务器206创建并且在其上存储的卷203的多个硬件快照。在本实例中,代理服务器207可以根据由服务器206所提供的卷203的多个硬件快照来创建卷203的多个备份。
如图2所示,示例性系统203还可以包括一个或者多个存储装置208(1)-(N).存储装置208(1)-(N)广义地代表任何类型或者形式的能够存储数据和/或其他计算机可读指令的存储装置或媒质。在某些实施方案中,存储装置208(1)-(N)可以存储计算系统的一个卷(如客户端202的卷203)的多个快照或者多个备份。
如以上详细说明的,在此说明的这些示例性系统与方法可以使得一个基于软件的备份程序能够从多个基于硬件的快照来创建多个增量备份。例如,参见图4中的示例性方法400,在图4的步骤402中,图1中的快照识别模块104可以识别图2中的卷203的一个第一硬件快照。在某些实施方案中,卷203的这个第一硬件快照可以存储在存储装置208(1)-(N)上。
在图4的步骤404,图1的跟踪变化的模块106可以识别一个窗口,在该窗口中创建了卷203的第一硬件快照(在步骤402中识别)。例如,跟踪变化的模块106可以识别一个第一点,已知该点在步骤402中识别的该第一硬件快照被创建之前已经发生(即,确切地在该第一硬件快照的创建之前发生的一个时间点),以及一个第二点,已知该点在该第一硬件快照被创建之后已经发生(即,确切地在该第一硬件快照的创建之后发生的一个时间点)。
在图4的步骤406,图1中的跟踪变化的模块106通过对在步骤404中识别的窗口中改变的卷203的每一个数据块进行识别而可以识别出对图2中的卷203的至少一次改变。在步骤408,图1的跟踪变化的模块106(针对在该窗口中改变的图2中的卷203的每一个数据块)可以将一个参引项加入与该第一硬件快照相关联的一个第一变化列表以及与在该第一硬件快照之后创建的一个第二硬件快照相关联的一个第二列表二者之中。在至少一个实例中,图1中的备份创建模块108可以使用第一与第二变化列表来创建卷203的多个增量备份。
在一个附加实例中,图1中的示例性系统100的全部或者一部分可以代表能够创建多个脱离主机的快照的一种虚拟环境(如图3中的示例性虚拟环境300)的多个部分。如图中所示,虚拟环境300可以包括一个虚拟机服务器302、虚拟机客户端304、SAN光纤通道306、一个存储装置308、以及一个代理服务器310。虚拟机302广义地代表任何类型或者形式的能够向一个或者多个虚拟机客户端(如虚拟机客户端304)进行服务或者提供访问途径的装置。在某些实施方案中,虚拟机服务器302可以代表一台单一服务器,它通过使处理器、内存、存储器、以及网络资源抽象化而被划分为多个虚拟机。虚拟机服务器302的实例可以包括,但不限于,VMWARE ESX、MICROSOFT HYPERV、或者类似的服务器。
如图3所示,虚拟机服务器302可以包括至少一个虚拟机客户端304。虚拟机客户端304广义地代表任何类型或者形式的虚拟机环境。在某些实施方案中,虚拟机客户端304可以包括一个虚拟卷305。卷305广义地代表任何类型或者形式的用于存储数据和/或计算机可读指令的虚拟存储器。虚拟卷305的实例可以包括,但不限于,逻辑卷以及虚拟卷。
如图3所示,虚拟机服务器302可以与SAN光纤通道306进行通信。SAN光纤通道306广义地代表能够协助多个存储装置之间互相通信的任何类型或形式的计算机网络或体系结构。在图3所示的实例中,SAN光纤通道306可以协助在虚拟机服务器302、存储装置308、和/或代理服务器310之间的通信。在一个实例中,SAN光纤通道306可以使得虚拟机服务器302与代理服务器310能够安装并访问存储装置308。
类似于图2中的存储装置208(1)-(N),存储装置308广义地代表任何类型或者形式的能够存储数据和/或计算机可读指令的存储装置或媒质。在一个实例中,存储装置308可以存储虚拟机客户端304的虚拟卷305。图3的代理服务器310广义地代表任何类型或者形式的能够访问由虚拟机服务器302保持在该存储装置308上的快照的代理服务器。代理服务器310的一个实例包括,但不限于,VMWARE’sVIRTUAL CONSOLIDATED BACKUP(VCB)。
在某些实施方案中,来自图1的一个或多个模块102可以被存储并且被配置为用于在虚拟环境300的一个或者多个部分上运行。例如,一个或多个模块102可以被存储并且被配置为用于在虚拟机服务器302、虚拟机客户端304、存储装置308、和/或代理服务器310上运行。类似地,虚拟机服务器302、虚拟机客户端304、虚拟卷305、存储装置308、和/或代理服务器310可以包括图1中的一个或多个数据库120。
在这个实例中,(并且潜在地在图2所示的实例中),多个模块102可以使得一个基于软件的备份程序能够支持多个脱离主机的增量备份(即,通过多个快照在不同于正在进行备份的计算机系统的一个计算机系统上创建的多个备份,这些快照是在正在进行备份的机器上的一个卷所创建的、并且对于执行该备份的机器是可访问的)。例如,参见图4中的示例性方法400,在步骤402,图1中的快照识别模块104可以识别图3中存储在存储装置308上的虚拟机客户端304的一个虚拟卷305的一个第一脱离主机的快照。
在步骤404,图1中的跟踪变化的模块106可以识别出一个窗口,在该窗口中创建了(在步骤402中识别的)虚拟机客户端304的虚拟卷305的该第一脱离主机的快照。例如,跟踪变化的模块106可以识别出一个第一点,已知该点在创建于步骤402中的脱离主机的第一快照之前已经发生(即,确切地在创建该第一脱离主机的快照之前发生的一个时间点),以及一个第二点,已知该点在该脱离主机的第一快照被创建之后已经发生(即,确切地在创建该第一脱离主机的快照之后发生的一个时间点)。
可以通过不同的方式来识别出这个窗口。例如,正如在本技术领域所知的,跟踪变化的模块106通过监控虚拟机客户端304上的驱动器堆栈中的通信记录和/或通过使用由虚拟机客户端304用于使数据静默的快照之前和之后的脚本可以识别出这一窗口。
在步骤406,图1中的跟踪变化的模块106可以识别出在步骤404中所识别的窗口中发生的对于图3中的虚拟机客户端304的虚拟卷305的每一次改变。在步骤408,图1中的跟踪变化的模块106可以针对在该窗口中发生的虚拟机客户端304的虚拟卷305的每一改变,将一个参引项加入与该脱离主机的第一快照相关联的一个第一变化列表、以及与在该第一脱离主机的快照之后创建的一个脱离主机的第二快照相关联的一个第二变化列表二者之中。在某些实施方案中,这些列表可以使用由虚拟机客户端304使用的快照之前和之后的脚本来发送给代理服务器310。在至少一个实例中,图1中的备份创建模块108可以使用这些第一与第二变化列表来创建虚拟机客户端304的虚拟卷305的多个增量备份。
图7是一个示例性的计算系统710的框图,该系统能够实施在此说明和/或展示的这些实施方案中的一个或多个。计算系统710广义地代表能够执行计算机可读指令的任何单处理器或多处理器的计算装置或系统。计算系统710的多个实例包括,但不限于,工作站、膝上电脑、客户侧终端、服务器、分布式计算系统、手持装置、或任何其他计算系统或装置。在其最基本的配置中,计算系统710可以包括至少一个处理器714以及系统内存716。
处理器714广义地代表能够处理数据或解释并执行多个指令的任何类型或形式的处理单元。在某些实施方案中,处理器714可以从一个软件应用程序或模块中接收指令。这些指令可致使处理器714执行在此所说明和/或展示的一个或多个示例性实施方案的多个功能。例如,处理器714可以(单独地或者与其他元件相结合地)执行和/或作为一种手段来执行在此所说明的识别、关联、添加、以及创建步骤中的一个或者多个。处理器714还可以执行和/或作为一种手段来执行在此所说明和/或展示的任何其他步骤、方法、或进程。
系统内存716广义地代表能够存储数据和/或其他计算机可读指令的任何类型或形式的易失性或非易失性存储装置或媒质。系统内存716的多个实例包括,但不限于,随机存取存储器(RAM)、只读存储器(ROM)、闪存、或任何其他适当的存储装置。尽管并不要求,在某些实施方案中计算系统710可以包括一个易失性内存单元(例如像系统内存716)以及一个非易失性存储装置(例如像下面详细说明的主存储装置732)二者。
在某些实施方案中,示例性计算系统710在处理器714和系统内存716之外还可以包括一个或多个部件或元件。例如,如图7所示,计算系统710可以包括一个内存控制器718、一个输入/输出(I/O)控制器720、以及一个通信接口722,它们各自均可通过一个通信基础结构712相互连接。通信基础结构712广义地代表能够协助计算装置的一个或多个部件之间的通信的任何类型或形式的基础结构。通信基础结构712的多个实例包括,但不限于,一种通信总线(例如ISA、PCI、PCIe、或类似总线)和一个网络。
内存控制器718广义地代表能够处理内存或数据或者能够控制计算系统710的一个或多个部件之间通信的任何类型或形式的装置。例如,在某些实施方案中,内存控制器718可以通过通信基础结构712来控制处理器714、系统内存716、以及I/O控制器720之间的通信。在某些实施方案中,内存控制器718可以(单独地或者与其他元件相结合地)执行和/或作为一种手段来执行在此所说明和/或展示的一个或者多个步骤或特征,如识别、关联、添加、和/或创建。
I/O控制器720广义地代表能够协调和/或控制一种计算装置的输入和输出功能的任何类型或形式的模块。例如,在某些实施方案中I/O控制器720可以控制或协助计算系统710的一个或多个元件,如处理器714、系统内存716、通信接口722、显示适配器726、输入接口730、以及存储接口734之间的数据传输。例如,I/O控制器720可以用于执行和/或作为一种手段用于执行在此所说明的识别、关联、添加、以及创建步骤。I/O控制器720还可用于执行和/或作为一种手段用于执行本披露中提出的其他步骤和特征。
通信接口722广义地代表能够协助示例性计算系统710与一个或多个附加装置之间进行通信的任何类型或形式的通信装置或适配器。例如,在某些实施方案中,通信接口722可以协助计算系统710与包括多个附加计算系统的一个私人或公共网络之间的通信。通信接口722的实例包括,但不限于,一种有线网络接口(例如一种网络接口卡)、一种无线网络接口(例如一种无线网络接口卡)、一种调制解调器、以及任何其他合适的接口。在至少一个实施方案中,通信接口722可以通过到一个网络(如互联网)的一种直接连接来提供到一台远程服务器的直接连接。例如,通信接口722还可以通过局域网(如一个以太网或者一个无线IEEE 802.11网络)、个人局域网(如蓝牙或者IEEE 802.15网)、电话或者有线网络、蜂窝电话连接、卫星数据连接、或者任何其他合适的连接来间接地提供这样一种连接。
在某些实施方案中,通信接口722还可以代表一种主机适配器,它被配置为用于通过一个外部总线或通信信道协助计算系统710与一个或多个附加网络或存储装置之间的通信。主机适配器的实例包括,但不限于,SCSI主机适配器、USB主机适配器、IEEE 1394主机适配器、SATA和eSATA主机适配器、ATA和PATA主机适配器、光纤通道接口适配器、以太网适配器、或类似适配器。通信接口722还可以允许计算系统710参与分布式计算或远程计算。例如,通信接口722可以接收来自一个远程装置的指令或向一个远程装置发送用于执行的指令。在某些实施方案中,通信接口722可以(单独地或者结合其他元件地)执行和/或作为一种手段来执行在此所披露的识别、关联、添加、以及创建步骤中的一个或者多个。通信接口722还可用于执行和/或作为一种手段用于执行本披露中提出的其他步骤和特征。
如图7所示,计算系统710还可以包括通过一种显示适配器726连接到通信基础结构712上的至少一个显示装置724。显示装置724广义地代表能够视觉上显示由适配器726发来的信息的任何类型或形式的装置。类似地,显示适配器726广义地代表被配置为用于传送来自通信基础结构712(或来自一个帧缓冲器,如本领域中已知的)的图形、文本、以及其他数据用于在显示装置724上进行显示的任何类型或形式的装置。
如图7所示,示例性的计算系统710还可以包括通过一个输入接口730连接到通信基础结构712上的至少一个输入装置728。输入装置728广义地代表能够将计算机或者人所产生的输入提供到示例性计算系统710上的任何类型或者形式的输入装置。输入装置728的实例包括,但不限于,一种键盘、一种指点装置、一种语音识别装置、或任何其他输入装置。在至少一个实施方案中,输入装置728可以(单独地或者与其他元件结合地)执行和/或作为一种手段用于执行在此所披露的识别、关联、添加、以及创建步骤中的一个或者多个。输入装置728还可以用于执行和/或作为一种手段来执行本披露中提出的其他步骤和特征。
如图7所示,示例性的计算系统710还可以包括通过一个存储接口734连接到通信基础结构712上的一个主存储装置732和一个备份存储装置733。存储装置732和733广义地代表能够存储数据和/或其他计算机可读指令的任何类型或形式的存储装置或媒质。例如,存储装置732与733可以是一种磁盘驱动器(例如,一种所谓的硬盘驱动器)、一种软盘驱动器、一种磁带驱动器、一种光盘驱动器、一种闪存驱动器、或者类似装置。存储接口734广义地代表用于在存储装置732和733与计算系统710的其他部件之间传送数据的任何类型或形式的接口或装置。
在某些实施方案中,存储装置732和733可以被配置为用于读取自和/或写入到一个可拆卸的存储单元,该可拆卸存储单元被配置为用于存储计算机软件、数据、或其他计算机可读信息。合适的可拆卸存储单元的实例包括,但不限于,一种软盘、一种磁带、一种光盘、一种闪存装置、或类似装置。存储装置732和733还可以包括允许将计算机软件、数据、或其他计算机可读指令载入计算系统710的其他类似的结构或装置。例如,存储装置732和733可以被配置为用于读取和写入软件、数据、或其他计算机可读信息。存储装置732和733还可以作为计算系统710的一部分或可以是通过其他接口系统访问的一个分离的装置。
例如,存储装置732与733还可以(单独地或者与其他元件结合地)用于执行和/或作为一种手段用于执行在此所披露的识别、关联、添加、以及创建步骤中的一个或者多个。存储装置732和733还可被用于执行和/或作为一种手段用于执行本披露提出的其他步骤和特征。
许多其他装置或子系统可被连接到计算系统710上。相反,并不是图7所示的所有部件和装置都必须存在以实施在此所说明的和/或展示的实施方案。以上提到的这些装置和子系统还能够以不同于图7中所示的方式进行互联。计算系统710还可以使用任何数目的软件、固件、和/或硬件配置。例如,在此披露的一个或多个示例性实施方案可以作为一种计算机可读媒质上的计算机程序(还可称为计算机软件、软件应用程序、计算机可读指令、或计算机控制逻辑)进行编码。短语“计算机可读媒质”广义地是指能够存储或携带计算机可读指令的任何形式的装置、载体、或媒质。计算机可读媒质的实例包括,但不限于,传输型媒质,如载波,以及物理媒质,如磁性存储媒质(例如硬盘驱动器和软盘驱动器)、光学存储媒质(例如CD-ROM或DVD-ROM)、电子存储媒质(例如固态驱动器和闪存媒质),以及其他分布式系统。
包括计算机程序的计算机可读媒质可被装载到计算系统710中。然后在计算机可读媒质上存储的全部或部分计算机程序可被存储到系统内存716和/或存储装置732和733的不同部分中。当由处理器714执行时,载入到计算系统710中的一个计算机程序可致使处理器714执行和/或作为一种手段用于执行在此所说明和/或展示的一个或多个示例性实施方案的功能。额外地或可替代地,在此所说明和/或展示的一个或多个示例性实施方案可以在固件和/或硬件中实施。例如,计算系统710可被配置作为一种专用集成电路(ASIC),它被适配为用于执行在此所说明的一个或多个示例性实施方案。
正如以上详细说明的,计算系统710可以(单独地或者与其他元件结合地)用于执行和/或作为一种手段用于执行在此所披露和/或展示的多个示例性方法的一个或者多个步骤。例如,用于跟踪对一个卷所作的修改的一种计算机实施的方法可以包括识别该卷的一个第一快照。该第一快照可以包括一个软件和/或硬件的快照。该方法还包括识别一个窗口,其中创建了该第一快照在。该窗口可以开始于已知在该第一快照之前已经发生的一个第一点并结束于已知在该第一快照之后已经发生的一个第二点。
该方法可以进一步包括识别在该窗口中发生的该卷的至少一个改变并且将该窗口中发生的这些改变与该第一快照和一个第二快照二者相关联。该第二快照可以在该第一快照之后被创建。在某些实施方案中,识别该卷的至少一个改变可以包括识别在该窗口中改变了的该卷的每一个数据块。
在某些实施方案中,该方法可以进一步包括:1)识别一个点,已知该点在先于该第一快照的一个先前的快照之前已经发生,2)识别在该点与该第二点之间改变了的该卷的每一个数据块,已知该点在该先前的快照之前已经发生,并且然后3)针对在该已知于该先前的快照之前已经发生的点与该第二点之间改变了的该卷的每一个数据块,将一个参引项添加到与该第一快照相关联的一个第一列表之中。然后可以使用该先前的快照来创建该卷的一个完整备份。类似地,使用该第一列表可以创建该卷的一个第一增量备份。
在某些实施方案中,该方法可以进一步包括识别一个已知在该第二快照之后已经发生的第三点,并且识别在该第一点与该第三点之间改变了的该卷的每一个数据块。针对在该第一点与第三点之间改变了的该卷的每一个数据块,可以将一个参引项添加到与该第二快照相关联的一个第二列表之中。所提及的将针对多个改变数据块的多个参引项加入多个对应列表的过程可以包括创建该第一与第二列表。
在至少一个实施方案中,在将该窗口中发生的该至少一个改变与该第一和第二快照二者相关联时,该方法可以包括将针对在该窗口中改变了的该卷的每一个数据块的一个参引项加入该第一与第二列表二者之中。在其他实施方案中,使用该第一列表可以创建该卷的一个第一增量备份。同样地,使用该第二列表可以创建该卷的一个第二增量备份。
在多个附加实施方案中,用于在一个网络化环境中跟踪一个卷的多个改变的一种系统包括至少一个客户端,该客户端包括至少一个卷。一台服务器可以与该客户端进行通信。该服务器还可以包括一个跟踪改变的模块,该模块被配置为用于识别一个窗口,在该窗口中创建了该卷的一个第一快照。该窗口可以开始于已知在该第一快照之前已经发生的一个第一点并结束于已知在该第一快照之后已经发生的一个第二点。
该跟踪改变的模块还可以被配置为用于识别在该窗口中发生的对于该卷的至少一个改变并且将在该窗口中发生的至少一个改变与该第一快照以及一个第二快照二者相关联。该第二快照可以创建于该第一快照之后。
在某些实施方案中,该跟踪改变的模块可以被配置为用于识别一个点,已知该点在先于该第一快照的一个先前的快照之前已经发生。该跟踪改变的模块还可以被配置为用于识别在该已知于该先前的快照之前已经发生的点与该第二点之间改变了的该卷的每一个数据块。在某些实施方案中,该跟踪改变的模块可以进一步被配置为用于针对在该已知于该先前的快照之前已经发生的点与该第二点之间改变了的该卷的每一个数据块将一个参引项加入一个第一列表。该第一列表可以是与该第一快照相关联的。
在其他实施方案中,该跟踪改变的模块可以被配置为用于识别一个第三点,已知该第三点在该第二快照之后已经发生。该跟踪改变的模块可以进一步被配置为用于识别在该第一点与第三点之间改变了的该卷的每一个数据块。针对在该第一点与第三点之间改变了的该卷的每一个数据块,可以将一个参引项加入一个第二列表。该第二列表可以是与该第二快照相关联的。该跟踪改变的模块可以将在该窗口中发生的该至少一个改变与该第一以及该第二快照二者相关联。所述关联可以包括将针对在该窗口中改变了的该卷的每一个数据块的一个参引项加入该第一列表以及该第二列表二者之中。
在不同的实施方案中,该跟踪改变的模块可以包括一个备份创建模块。该备份创建模块可以被配置为用于使用该先前的快照创建该卷的一个完整备份。该备份创建模块还可以被配置为用于使用该第一列表和/或该第一快照来创建该卷的一个第一增量备份。
在多个附加实施方案中,用于在一个虚拟环境中跟踪一个卷的改变的一种系统可以包括一个虚拟机服务器,该虚拟机服务器包括至少一个虚拟机客户端。该系统还可以包括一个与该虚拟机服务器通信的存储区网络。另外,该系统可以包括一个跟踪改变的模块,该模块被配置为用于识别一个窗口,在该窗口中创建了该虚拟机客户端的一个第一快照。所述窗口可以开始于已知在该第一快照之前已经发生的一个第一点并且结束于已知在该第一快照之后已经发生的一个第二点。
该跟踪改变的模块可以进一步被配置为用于识别在该窗口中发生的该虚拟机客户端的至少一个改变并且将该至少一个改变与该第一快照以及该第二快照二者相关联。该第二快照可以在该第一快照之后被创建。
在至少一个实施方案中,该跟踪改变的模块可以被配置为用于:1)识别一个点,该点在先于该第一快照的一个先前的快照之前发生,2)识别在该已知于该先前的快照之前已经发生点与该第二点之间发生的该虚拟机客户端的每一个改变,并且3)针对所述多个改变将多个参引项加入与该第一快照相关联的一个第一列表之中。
在某些实施方案中,该跟踪改变的模块可以包括与该存储网络通信的一台代理服务器。与该存储网络通信的代理服务器可以进一步包括一个备份创建模块。该备份创建模块可以被配置为用于使用该先前的快照创建该虚拟机客户端的一个完整备份。该备份创建模块可以进一步被配置为用于使用该第一列表创建该虚拟机客户端的一个第一增量备份。
在某些实施方案中,该跟踪改变的模块可以被配置为用于识别一个第三点,已知该第三点在该第二快照之后已经发生。该跟踪改变的模块还可以被配置为用于识别在该第一点与第三点之间发生的该虚拟机客户端的每一个改变。针对在该第一点与第三点之间发生的该虚拟机客户端的每一个改变,可以将一个参引项加入与该第二快照相关联的一个第二列表中。而且,该跟踪改变的模块可以将在该窗口中发生的该至少一个改变与该第一快照以及该第二快照二者相关联。所述关联可以包括将针对在该窗口中发生的该虚拟机客户端的每一个改变的一个参引项加入该第一列表以及该第二列表二者之中。
虽然以上披露了使用多个具体的框图、时序图、流程图、以及实例阐明了不同的实施方案,在此说明和/或展示的每个框图部件、流程图步骤、操作、和/或部件都可以单独地和/或共同地使用一个大范围的硬件、软件、或者固件(或者它们的任何组合)配置来实施。另外,在其他部件中所包括的任何部件的披露都应该看作本质上是示例性的,因为可以实施许多其他的体系结构来实现同样的功能。
在此说明和/或展示的进程的参数以及步骤的顺序仅仅是以举例的方式给出并且可以按希望来更改。例如,虽然在此展示和/或说明的这些步骤可以按照一个具体的顺序来示出或讨论,但这些步骤并非必须按照所展示或者所讨论的顺序来执行。在此说明和/或展示的不同的示例性方法还可以省略在此说明或展示的一个或者多个步骤或者还可以包括除所披露的那些之外的额外步骤。
此外,虽然不同的实施方案在此已经在全功能性计算系统的背景下进行了说明和/或展示,这些示例性实施方案中的一个或者多个能够以多种形式作为一种程序产品来分发,不管实际用于进行该分发的计算机可读媒质的具体形式如何。在此披露的这些实施方案还可以通过使用执行某些特定任务的软件模块来实施。这些软件模块可以包括脚本、成批文件、或者其他可执行文件,它们可以存储在一种计算机可读的存储媒质上或者在一种计算系统中。在某些实施方案中,这些软件模块可以将一个计算系统配置为用于实施在此披露的一个或者多个示例性的实施方案。
已经提供了以上说明用于使本领域的其他普通技术人员能够最好地使用在此披露的这些示例性实施方案的不同方面。这种示例性说明并非旨在是穷尽性的或者被限制在所披露的任何准确的形式上。许多修改与变更都是可能的而不背离本披露的精神与范围。应该认为在此披露的这些实施方案在所有方面是展示性的而非限制性的。应该参考所附权利要求及其等效物来确定本披露的范围。
除非另外说明,在本说明书与权利要求中使用时,术语“一个/一种”应被解释为含义是“至少一个”。此外,为便于使用,在本说明书以及权利要求中使用时,单词“包括”和“具有”与单词“包含”是可以互换的并且它们具有与单词“包含”相同的含义。

Claims (15)

1.一种用于跟踪对卷所作的修改的计算机实施的方法,该方法包括:
识别该卷的一个第一快照;
识别在其中创建了该第一快照的一个窗口,该窗口开始于已知在该第一快照之前已经发生的一个第一点并且结束于已知在该第一快照之后已经发生的一个第二点;
识别在该窗口中发生的对于该卷的至少一个改变;
将在该窗口中发生的该至少一个改变与该第一快照以及在该第一快照后创建的一个第二快照二者相关联。
2.如权利要求1所述的方法,其中识别该卷的该至少一个改变包括识别在该窗口中改变了的该卷的每一数据块。
3.如权利要求2所述的方法,进一步包括:
识别一个点,该点已知在先于该第一快照的一个先前的快照之前已经发生;
识别在该已知在该先前的快照之前已经发生的点与该第二点之间改变了的该卷的每一数据块;
将针对在该已知在该先前的快照之前已经发生的点与该第二点之间改变了的该卷的每一数据块的一个参引项加入与该第一快照相关联的一个第一列表中。
4.如权利要求3所述的方法,进一步包括:
使用该先前的快照创建该卷的一个完整备份;
使用该第一列表与该第一快照中的至少一个来创建该卷的一个第一增量备份。
5.如权利要求3所述的方法,进一步包括:
识别已知在该第二快照之后已经发生的一个第三点;识别在该第一点与该第三点之间改变了的该卷的每一数据块;
将针对在该第一点与该第三点之间改变了的该卷的每一数据块的一个参引项加入与该第二快照相关联的一个第二列表中。
6.如权利要求5所述的方法,其中将在该窗口中发生的该至少一个改变与该第一快照以及该第二快照二者相关联包括将针对在该窗口中改变了的该卷的每一数据块的一个参引项加入该第一列表以及该第二列表二者中。
7.如权利要求5所述的方法,进一步包括:
创建该第一列表;
创建该第二列表。
8.如权利要求5所述的方法,进一步包括:
使用该第一列表与该第一快照中的至少一个来创建该卷的一个第一增量备份;
使用该第二列表与该第二快照中的至少一个来创建该卷的一个第二增量备份。
9.如权利要求1所述的方法,其中该第一快照包括:
一个软件快照;
一个硬件快照。
10.一种用于在网络环境中跟踪卷的改变的系统,该系统包括:
至少一个客户端,该客户端包括至少一个卷;
与该客户端通信的一个服务器;
该服务器上的一个跟踪改变的模块,该跟踪改变的模块被配置为用于:
识别在其中创建了该卷的一个第一快照的一个窗口,该窗口开始于已知在该第一快照之前已经发生的一个第一点并且结束于已知在该第一快照之后已经发生的一个第二点;
识别在该窗口中发生的对于该卷的至少一个改变;
将在该窗口中发生的该至少一个改变与该第一快照以及在该第一快照之后创建的一个第二快照二者相关联。
11.如权利要求10所述的系统,其中该跟踪改变的模块被进一步配置为用于:
识别一个点,已知该点在先于该第一快照的一个先前的快照之前已经发生;
识别在该已知在该先前的快照之前已经发生的点与该第二点之间改变了的该卷的每一数据块;
将针对在该已知在该先前的快照之前已经发生的点与该第二点之间改变了的该卷的每一数据块的一个参引项加入与该第一快照相关联的一个第一列表中。
12.如权利要求11所述的系统,进一步包括一个备份创建模块,该备份创建模块被配置为用于:
使用该先前的快照来创建该卷的一个完整备份;
使用该第一列表与该第一快照中的至少一个来创建该卷的一个第一增量备份。
13.如权利要求11所述的系统,其中该跟踪改变的模块被进一步配置为用于:
识别一个第三点,该第三点已知在该第二快照后已经发生;识别在该第一点与该第三点之间改变了的该卷的每一数据块;
将针对在该第一点与该第三点之间改变了的该卷的每一数据块的一个参引项加入与该第二快照相关联的一个第二列表中。
14.如权利要求13所述的系统,其中该跟踪改变的模块通过将针对在该窗口中改变了的该卷的每一数据块的一个参引项加入该第一列表以及该第二列表二者中来将在该窗口中发生的该至少一个改变与该第一快照以及该第二快照二者相关联。
15.如权利要求13所述的系统,进一步包括一个备份创建模块,该备份创建模块被配置为用于:
使用该第一列表与该第一快照中的至少一个来创建该卷的一个第一增量备份;
使用该第二列表与该第二快照中的至少一个来创建该卷的一个第二增量备份。
CN200980121918.9A 2008-06-30 2009-06-16 用于对卷的改变进行跟踪的系统与方法 Active CN102057358B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US12/164458 2008-06-30
US12/164,458 US8065272B2 (en) 2008-05-30 2008-06-30 Systems and methods for tracking changes to a volume
US12/164,458 2008-06-30
PCT/US2009/047494 WO2010002582A1 (en) 2008-06-30 2009-06-16 Systems and methods for tracking changes to a volume

Publications (2)

Publication Number Publication Date
CN102057358A CN102057358A (zh) 2011-05-11
CN102057358B true CN102057358B (zh) 2013-09-11

Family

ID=40975428

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980121918.9A Active CN102057358B (zh) 2008-06-30 2009-06-16 用于对卷的改变进行跟踪的系统与方法

Country Status (5)

Country Link
US (1) US8065272B2 (zh)
EP (1) EP2318927B1 (zh)
JP (1) JP5547727B2 (zh)
CN (1) CN102057358B (zh)
WO (1) WO2010002582A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8499297B2 (en) 2008-10-28 2013-07-30 Vmware, Inc. Low overhead fault tolerance through hybrid checkpointing and replay
US8538919B1 (en) 2009-05-16 2013-09-17 Eric H. Nielsen System, method, and computer program for real time remote recovery of virtual computing machines
US9535907B1 (en) * 2010-01-22 2017-01-03 Veritas Technologies Llc System and method for managing backup operations of virtual machines
US8886609B2 (en) * 2010-12-17 2014-11-11 Microsoft Corporation Backup and restore of data from any cluster node
US9128943B1 (en) * 2011-09-29 2015-09-08 Emc Corporation Method and system for tracking re-sizing and re-creation of volumes created for making incremental backups
US9098452B2 (en) * 2011-12-19 2015-08-04 International Business Machines Corporation Selecting files to backup in a block level backup
US9378096B1 (en) 2012-06-30 2016-06-28 Emc Corporation System and method for cache management
US9430164B1 (en) * 2013-02-08 2016-08-30 Emc Corporation Memory efficient sanitization of a deduplicated storage system
US9317218B1 (en) 2013-02-08 2016-04-19 Emc Corporation Memory efficient sanitization of a deduplicated storage system using a perfect hash function
US10614047B1 (en) * 2013-09-24 2020-04-07 EMC IP Holding Company LLC Proxy-based backup and restore of hyper-V cluster shared volumes (CSV)
US10628200B2 (en) 2017-11-02 2020-04-21 Red Hat Israel, Ltd. Base state for thin-provisioned volumes
US10936428B2 (en) * 2019-01-22 2021-03-02 EMC IP Holding Company LLC System and method to implement automated application consistent virtual machine image backup
US11886298B2 (en) * 2021-03-31 2024-01-30 Cohesity, Inc. Using a storage log to generate an incremental backup
US11954066B2 (en) 2021-07-21 2024-04-09 Cohesity, Inc. Coalescing storage log entries

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101087406A (zh) * 2007-06-19 2007-12-12 中兴通讯股份有限公司 一种监控系统即时快照的方法和系统
CN101132446A (zh) * 2006-08-23 2008-02-27 上海万纬信息技术有限公司 网页智能快照系统及其方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0798634A (ja) * 1993-09-29 1995-04-11 Hitachi Ltd 磁気テープ媒体の切替え方式
US5835953A (en) 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
JP3856855B2 (ja) 1995-10-06 2006-12-13 三菱電機株式会社 差分バックアップ方式
US6269381B1 (en) 1998-06-30 2001-07-31 Emc Corporation Method and apparatus for backing up data before updating the data and for restoring from the backups
US7296125B2 (en) * 2001-11-29 2007-11-13 Emc Corporation Preserving a snapshot of selected data of a mass storage system
WO2004034197A2 (en) * 2002-10-07 2004-04-22 Commvault Systems, Inc. System and method for managing stored data
US8037264B2 (en) * 2003-01-21 2011-10-11 Dell Products, L.P. Distributed snapshot process
US7343518B2 (en) 2004-06-23 2008-03-11 Intel Corporation Method for data backup of computing platforms that are occasionally connected
WO2006012449A2 (en) * 2004-07-23 2006-02-02 Emc Corporation Tracking objects modified between backup operations
US7284150B2 (en) 2004-09-22 2007-10-16 International Business Machines Corporation System and method for reliably storing data and providing efficient incremental backup and asynchronous mirroring by preferentially handling new data
US20060080362A1 (en) * 2004-10-12 2006-04-13 Lefthand Networks, Inc. Data Synchronization Over a Computer Network
US7716171B2 (en) * 2005-08-18 2010-05-11 Emc Corporation Snapshot indexing
US20080140963A1 (en) 2006-12-11 2008-06-12 Thomason Ronald G Methods and systems for storage system generation and use of differential block lists using copy-on-write snapshots

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101132446A (zh) * 2006-08-23 2008-02-27 上海万纬信息技术有限公司 网页智能快照系统及其方法
CN101087406A (zh) * 2007-06-19 2007-12-12 中兴通讯股份有限公司 一种监控系统即时快照的方法和系统

Also Published As

Publication number Publication date
US20090300080A1 (en) 2009-12-03
WO2010002582A1 (en) 2010-01-07
JP5547727B2 (ja) 2014-07-16
EP2318927A1 (en) 2011-05-11
CN102057358A (zh) 2011-05-11
JP2012527656A (ja) 2012-11-08
EP2318927B1 (en) 2015-02-25
US8065272B2 (en) 2011-11-22

Similar Documents

Publication Publication Date Title
CN102057358B (zh) 用于对卷的改变进行跟踪的系统与方法
CN102782639B (zh) 使复制目标能够回收瘦供给存储系统上未使用的存储空间的系统和方法
CN102591909B (zh) 在去重复存储系统中提供增强的可扩展性的系统及方法
CN100470492C (zh) 生成最优恢复计划的系统和方法
CN102640118B (zh) 用于高效文件存储的具有多个索引的去重复存储系统
CN102754104B (zh) 在相关计算系统之间共享计算操作结果的系统和方法
CN102918487A (zh) 去重复数据系统中垃圾收集的系统和方法
CN102945201A (zh) 已验证数据集合的非易失性介质日志记录
CN104040481A (zh) 用于融合、存储和检索增量式备份数据的方法和系统
CN103262043A (zh) 从差异备份中执行数据库的精细恢复的方法和系统
CN103198122B (zh) 重启内存数据库的方法和装置
CN101960442B (zh) 使用虚拟技术输入/输出数据的方法和设备
US20160085445A1 (en) Method operating raid system and data storage systems using write command log
CN108027757A (zh) 用于从不透明数据备份流恢复数据的系统和方法
US9823976B2 (en) Optimization to permit block based incremental backup across system reboot or crash
KR101643729B1 (ko) 시간 기반 데이터에 대한 백업, 리스토어, 및 마운트를 위한 데이터 관리 시스템 및 방법
CN103617097A (zh) 文件恢复方法及装置
CN103514216A (zh) 基于数据库系统的流水号生成方法
CN105183388A (zh) 一种硬盘物理序列号的获取方法、装置以及系统
CN105247492A (zh) 对使用时间序列建模的用户行为的检测
CN103140839A (zh) 在能够进行高速缓存的存储装置上进行高效顺序记录的系统和方法
US20050154786A1 (en) Ordering updates in remote copying of data
US9910747B2 (en) Parallel mirrored copying with write consistency
CN103678608A (zh) 日志管理方法和装置
US11809298B2 (en) System and method of grouping information handling systems for software updates

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