CN100462929C - 使用基于时间线的计算环境恢复数据的方法和系统 - Google Patents

使用基于时间线的计算环境恢复数据的方法和系统 Download PDF

Info

Publication number
CN100462929C
CN100462929C CNB2005100637294A CN200510063729A CN100462929C CN 100462929 C CN100462929 C CN 100462929C CN B2005100637294 A CNB2005100637294 A CN B2005100637294A CN 200510063729 A CN200510063729 A CN 200510063729A CN 100462929 C CN100462929 C CN 100462929C
Authority
CN
China
Prior art keywords
application program
saved
data
time
file
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.)
Expired - Fee Related
Application number
CNB2005100637294A
Other languages
English (en)
Other versions
CN1677356A (zh
Inventor
U·埃林松
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 Corp
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 CN1677356A publication Critical patent/CN1677356A/zh
Application granted granted Critical
Publication of CN100462929C publication Critical patent/CN100462929C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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
    • G06F11/1469Backup restoration techniques
    • 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/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

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

Abstract

描述一种使用基于时间线的计算环境恢复数据的技术。定期地保存应用程序的数据项目,以使得被保存的数据项目可以用于在项目被保存的时间点恢复应用程序。结果,提供通过基于时间的计算环境的搜索,用于在不同的时间点恢复应用程序。然后,带有被保存数据项目的应用程序可以在指定的时间点被恢复。每个被保存数据项目可以与元数据一起被索引,元数据被用于引导搜索,依照在被索引的元数据和用户选择的变量之间的匹配,产生数据项目的一个列表。而且,当应用程序是具有多个消息的通信客户机时,保存指示通信客户机中的消息是否是垃圾信息的索引数据。然后,使用该索引数据,可以进行包括或排除垃圾信息消息的搜索。因此,使用基于时间线的计算环境,提供了一个更加用户友好的、有效的和便于管理的恢复数据的改良的方法和系统。

Description

使用基于时间线的计算环境恢复数据的方法和系统
技术领域
本发明一般涉及计算环境中数据的恢复,尤其涉及使用基于时间线的方式使用、存档和恢复数据和应用程序的方法。
背景技术
在最近几年中,用户在职业的和个人的通信中已经变得高度依赖于计算机。结果,用户每天都使用计算机交换有价值的信息,这些有价值的信息不仅局限于文本,而且还包括在计算机上的声音、图像、音乐和视频。然而,这种信息的海洋存储在计算机上,用户往往发现难以管理如此大量的数据。而且,当信息的数量和价值在一个扩展的时间长度上增长时,数据的可恢复性变得更加重要。尽管越来越多的人正在计算机环境中处理他们的个人和商务信息中的大部分,与此同时,计算机和软件应用程序的脆弱性还没有完全解决。例如,若非勤勉地使用备份机制,信息很容易丢失。然而,备份机制的问题在于恢复所必需的时间和努力通常很多。近几年来蠕虫和病毒活动的大量增加与潜在数据损失的危险进一步混合起来。
因此,像操作系统或应用程序那样的信息处理软件可能陷入信息再也不能被检索的不可用状态。状态通常是指信息处理软件的当前配置、属性、状况或信息内容。而且,因为信息财富往往随着时间的过去不断累积,用户最后再也不能以对他们有意义的方法保存他们的信息。结果,用户可能难以发现特定的所需要的信息片段。达到那样的程度,像按照名字或时间列出所有文件或时间那样的全局目录以及分级归类不能提供足够的上下文信息以便将所需要的项目和其他项目区分开来。索引器同样不能解决问题,部分地是因为用户与数据的视觉层联系最密切。使事情变得更坏的是,备份在实际上可能加剧这个问题,因为如果用户在相同的命名空间中存储备份作为真实的信息,许多具有相似名字和内容的不同版本将随着时间的过去而累积。此外,不同的变异同样容易导致相同文件或数据项目的多个版本,这会增加所需要的信息实际上所处的位置的全面混乱。
一种使用以时间为中心的方式的用于存档文件的已知方法包括拖曳文件到桌面上以备存档。当不再需要文件时,用户可以使用在桌面上的垃圾桶删除文件。然而,当用户后来需要一个已经被删除的文件时,可以通过指定文件处于桌面上的时刻并从该时刻还原桌面来恢复已经被删除的文件。结果,用户通过简单地把文件拖曳到桌面来存档文件,而不是使用一个分级的文件夹系统。
这种方法的一种变异还包括一个基于以时间为基础的在应用程序之间的通信的系统。该方法在本质上有三个特征:(1)每个软件应用程序都有“当前时间”的概念,(2)当一个应用程序的“当前时间”被改变时,该应用程序通知其他应用程序这个被改变的时间,以及作为结果(3)其他应用程序依照这一信息改变他们的“当前时间”状态。利用这些特征,可以操纵基于时间的桌面系统来改变与桌面上的一个文档相关的任何应用程序的时间,以保证文档适当地打开。
这两个方法的问题在于它们只与用户保持跟踪其文件的一种方法有关,该方法是现有的分级文件夹结构的替代品,即以时间为基础的方式。充其量,这些方法不过以当前时间为基础提供一种取出已经被删除文件的方法或一种易于保存文件的方法。然而,这些方法既不提供从先前的时间点恢复应用程序的方法,也不提供存档应用程序状态的方法。而且,该方法并不针对那些没有对用户视觉化了的一致的已保存文档的应用程序。因此,需要一种用于存档和恢复数据的改良的方法和系统。
发明内容
本发明涉及在计算环境中存档和恢复数据的方法,更具体地,涉及使用以时间线为基础的方式来存档和恢复应用程序。
本发明提供了一种使用基于时间线的计算环境的恢复应用程序的方法,该方法包括以下步骤:定期地保存所述应用程序的数据项目以备恢复,其中所述被保存的数据项目允许在所述项目被保存的时间点恢复所述应用程序;搜索一个基于时间的被保存数据项目的档案库;指定要恢复应用程序的时间点;显示在指定的时间点被保存的数据项目以及使用在所显示的指定的时间点被保存的数据项目恢复应用程序;其中定期地保存数据项目进一步包括以下步骤:作出所述应用程序是否是不需要退出所述应用程序而保存一致的工作文件的类型的第一判断;当所述第一判断是真时观察应用程序并捕捉一致的工作文件;当所述第一判断是非真时作出所述应用程序是否是不需要退出而保存一致的恢复文件但必须退出以保存一致的工作文件的第二判断;当所述第二判断是真时观察应用程序的任何被保存的恢复文件并捕捉所保存的恢复文件;捕捉所捕捉的恢复文件和一致的工作文件之间的映射;当所述第二判断是非真时作出在保存一致的工作文件之前所述应用程序是否必须退出的第三判断;当所述第三判断是真时,创建所述应用程序的一个克隆;向所述应用程序的克隆发送一退出命令以便启动一保存文件命令;捕捉响应所述保存文件命令的任何被保存的文件;当所述第三判断是非真时作出是否有充足的空间来捕捉机器状态的第四判断;当有充足的空间捕捉所述机器状态时,运行一虚拟机;在所述虚拟机中执行所述应用程序;以及捕捉所述时间点的虚拟机状态。
此外,本发明还提供了一种使用基于时间线的计算环境恢复应用程序的计算机系统,该系统包括:用于定期地保存所述应用程序的数据项目以备恢复的装置,其中所述被保存的数据项目允许在所述项目被保存的时间点恢复所述应用程序;用于搜索一个基于时间的被保存的数据项目的档案库的装置;用于指定恢复应用程序的时间点的装置;用于显示在指定的时间点被保存的数据项目以及使用在所显示的指定的时间点被保存的数据项目恢复应用程序的装置;其中所述用于定期地保存数据项目的装置进一步包括:用于作出所述应用程序是否是不需要退出所述应用程序而保存一致的工作文件的类型的第一判断的装置;用于当所述第一判断是真时观察应用程序并捕捉一致的工作文件的装置;用于当所述第一判断是非真时作出所述应用程序是否是不需要退出而保存一致的恢复文件但必须退出以保存一致的工作文件的第二判断的装置;用于当所述第二判断是真时观察应用程序的任何被保存的恢复文件并捕捉所保存的恢复文件的装置;用于捕捉所捕捉的恢复文件和一致的工作文件之间的映射的装置;用于当所述第二判断是非真时作出在保存一致的工作文件之前所述应用程序是否必须退出的第三判断的装置;用于当所述第三判断是真时创建所述应用程序的一个克隆的装置;用于向所述应用程序的克隆发送一退出命令以便启动一保存文件命令的装置;用于捕捉响应所述保存文件命令的任何被保存的文件的装置;用于当所述第三判断是非真时作出是否有充足的空间来捕捉机器状态的第四判断的装置;用于当有充足的空间捕捉所述机器状态时运行一虚拟机的装置;用于在所述虚拟机中执行所述应用程序的装置;以及用于捕捉所述时间点的虚拟机状态的装置
在本发明的实施例中,显示恢复应用程以及该应用程序的工作文件的方法和系统。尤其是,在一个实施例中,应用程序的数据项目被定期地保存以备恢复,其中被保存的数据项目允许从项目被保存的时间点用其工作文件恢复应用程序。然后,可以进行基于时间线的归档搜索,以在不同的时间点恢复应用程序。在已经指定这样一个时间点之后,在该指定的时间点可以使用应用程序的被保存数据项目恢复该应用程序。而且,在本发明的实施例中,在当前时间,来自被恢复的应用程序的数据可以被拷贝和粘贴到应用程序中以备使用。在另一个实施例中,每个被保存项目的元数据都可以被编入索引,对该元数据的搜索可以与用户选择的搜索变量一起进行。从搜索中,可以产生依照在被保存的元数据和用户选择的搜索变量之间的一个匹配的数据项目的一个列表以备选择。
在又一个实施例中,其中应用程序是一个具有多个消息的通信客户机,保存索引数据以便指示通信客户机中的一个消息是否是垃圾信息,如主动提供的电子邮件或其他信息,然后这些索引数据可以用于使用用户选择的搜索变量的搜索,该搜索不查找已经被指示为垃圾信息的消息。依照在被搜寻的消息和用户选择的搜索变量之间的一个匹配,从搜索中产生消息的一个列表。与通信客户机有关的一个备选实施例被修改为标记索引数据以便指示消息是否是垃圾信息,被指示为垃圾信息的消息在保存客户机的任何数据项目之前被清除。
通过这些不同的实施例,已经提供了一种使用以时间线为基础的方式的恢复数据的方法。本发明给恢复数据提供用户友好的、有效的和便于管理的改良的技术。结果,用户可以从早先的时间点恢复数据,支持从毁损状态恢复以及在所创建和使用的上下文中恢复重要信息。因为以时间线为基础的方式往往比当前的文件夹分级更加直观,本发明提供一个容易理解的范例,该范例考虑了用于恢复数据的简单直观的图形化表示和终端用户界面。为支持这一范例,在本发明的实施例中执行用户计算环境和上下文的连续自动捕捉,正如所述的那样。
本发明另外的特征和优点将会从下面参照附图进行的对示例性实施例的详细描述中变得显而易见。
附图说明
尽管权利要求书精确地阐明了本发明的特征,然而可以从下面结合附图的详细描述中很好地理解本发明及其目标和优点,附图为:
图1是一般例示装置体系结构示例的框图,本发明实施例的全部或一部分可以在该装置体系结构中实现;
图2是显示示例性计算环境的全部结构的示意图,本发明实施例的全部或一部分可以在该示例性计算环境中实现;
图3是显示由应用程序在一时间线上产生的示例性数据结构的示意图,该示例性数据用于实现本发明的一实施例;以及
图4是例示根据本发明一实施例用于保存应用程序的可恢复数据的步骤的流程图。
具体实施方式
此处揭示一种使用基于时间线的方式恢复应用程序的技术。具体地,应用程序的数据项目被定期地保存以备恢复,以使得被保存的数据项目可以用于恢复该项目被保存时的应用程序及其工作文件。结果,提供对一个基于时间的档案库的搜索,用于在不同的时间点恢复应用程序。从而,通过使用被保存的信息,应用程序及其文件可以在指定的时间点被恢复。因此,在使用以时间线为基础的方式时,已经提供了一个更加用户友好的、有效的和便于管理的恢复数据的改良的方法和系统。
本发明可以在计算环境中工作。在本发明的一个实施例中,所描述的进程在一个或多个计算设备的集合上工作。首先参照图1描述可用于实现本发明全部或一些方面的一个适当的计算设备,然后将更加完整地描述依照本发明的特定实施例的网络环境。
尽管有适用于实现本发明的许多计算设备,下面参照图1讨论计算设备的一些示例性类型。应该明白,给出这一解释是为了帮助理解而并不是限制本发明的范围。
尽管并非必需,将在由计算机执行的像程序模块那样的计算机可执行指令的一般上下文中描述本发明。一般地,程序模块包括完成特定的任务或实现特定的抽象数据类型的例程、程序、对象、数据结构等等。而且,那些本领域中的技术人员应该明白,本发明可以与其他的计算机系统配置一起实践,包括手持式设备、多处理器系统、基于微处理器或可编程的消费性电子产品、网络PC、小型计算机、大型计算机等等。本发明可以在分布式计算环境中实践,在分布式计算环境中任务由通过一个通信网络连接的远程处理设备执行。在一个分布式计算环境中,程序模块可以位于本地和远程的存储器设备。
参见图1,以常规计算机20的形式显示了一个通用计算设备,包括处理单元21、系统存储器22以及系统总线23,系统总线23把包括系统存储器在内的各种系统组件耦合至处理单元21。系统总线23包括使用多种总线体系结构中的任一种的存储器总线或存储器控制器、外围总线、以及本地总线在内的若干总线结构类型中的任一种的一个或多个物理总线。系统存储器包括只读存储器(ROM)24和随机存取储存器(RAM)25。基本输入/输出系统(BIOS)26存储在ROM24中,它包含帮助在计算机24内的部件之间传输信息的基本例程,比如在启动过程中。计算机20还包括一个用于从中读取和向其写入硬盘60的硬盘驱动器27、一个用于从中读取和写入可移动磁盘29的磁盘驱动器28、一个用于从中读取和向其写入可移动光盘31如CD ROM或其他光学介质的光盘驱动器30。
硬盘驱动器27、磁盘驱动器28和光盘驱动器30分别通过硬盘驱动器接口32、磁盘驱动器接口33和光盘驱动器接口34连接到系统总线23。驱动器及其相关的计算机可读介质为计算机20提供计算机可读的指令、数据结构、程序模块和其他数据的非易失性存储。尽管在此描述的示例性环境使用一个硬盘60、一个可移动的磁盘29和一个可移动的光盘31,但那些本领域中的技术人员应该明白,可以存储计算机可访问的数据的其他类型的计算机可读介质,如盒式磁带、闪存卡、数字视频盘、伯努利磁带盒、随机存取存储器、只读存储器、存储区域网络等等,也可以用于示例性的操作环境。一些程序模块可以存储在硬盘60、磁盘29、光盘31、ROM24和/或RAM25中,包括操作系统35、一个或多个应用程序36、其它程序模块37和程序数据38。
用户可以通过输入设备如一个键盘40和一个定位设备42向计算机20输入命令和信息。其它输入设备(未显示)可以包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其他的输入设备通常通过耦合至系统总线的串行端口接口46连接至处理单元21,但是也可以通过其它接口连接,如并行端口、游戏端口、通用串行总线(USB)或网络接口卡。监视器47或其他类型的显示设备也通过接口如视频适配器48连接至系统总线23。除了监视器之外,计算机可以包括其他外围输出设备(未显示),如扬声器和打印机等等。
计算机20工作在或者可以工作在使用到一个或多个远程计算机如远程计算机49的逻辑连接的网络化环境内。远程计算机49可以是域控制器、服务器、路由器、网络PC、个人计算机、对等设备或其他普通网络节点,并且通常包括与计算机20相关的许多或所有上述部件,尽管图1中仅例示了存储器存储设备50。图1中所描述的逻辑连接可以包括局域网(LAN)51和广域网(WAN)52。这些网络环境常见于办公室、企业范围内的计算机网络、企业内部互联网和因特网。
当用于LAN网络环境时,计算机20通过网络接口或适配器53连到局域网51。当用于WAN网络环境时,计算机20通常包括调制解调器54或其他用于在广域网52上建立通信的装置。可以内置或外置的调制解调器54经过串行端口接口46连接到系统总线23。若有远程存储器存储设备,与计算机20相关的所述程序模块描述或其部分可以存储在远程存储器存储设备中。应该明白,所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他方式。
在此将参照动作和由一个或多个计算机执行的操作的符号化表示来一般化地描述本发明,除非另作说明。同样应该理解,这些动作和操作有时是指被计算机执行,包括计算机处理单元对代表结构化格式中的数据的电子信号的操纵。该操纵在计算机系统存储器的位置上转换或维持数据,这会以一种可以被那些本领域中的技术人员很容易理解的方式来配置或改变计算机的操作。维持数据所处的数据结构是具有由数据格式定义的特定属性的存储器的物理位置。然而,当在前面的上下文中描述本发明时,并不意味着限制,那些本领域中的技术人员将会明白,在下文中所描述的各种动作和操作也可以在硬件中实现。在下面的讨论中,诸如客户机、域控制器、服务器等等的计算设备可以采用上面参照图1所描述的关于计算机20和/或远程计算机49的体系结构。在此所描述的计算机操作按照由计算机或计算设备从计算机可读介质中读取计算机可执行指令的方式来执行。计算机可读介质包括光的、磁的和电的和其他类型的介质以及存储介质、传输介质等等。
参见图2,本发明可以在包括多个应用程序102、104和数据库106的计算环境100中实现。在本发明的实施例中,基于时间线108和110跟踪应用程序102和104以备恢复。具体地,时间线108和110分别与应用程序A102和应用程序B104相关联。可以使用触发保存数据到数据库中的多个实施例,依赖于应用程序的类型。例如,一个实施例可以包括当应用程序A102中发生改变时保存数据112、114和116到数据库106中。在另一个实施例中,来自应用程序B104的数据118、120和122在预先定义的持续时间期间可以被保存到数据库106中。可以通过首先保存数据到一个临时位置、如果所保存的数据不同于数据库中的最新数据再至少更新数据库,来改变这两个实施例中的任何一个以减少其数据库存储需求。数据包括在应用程序的数据被保存的时间点恢复应用程序所需的任何信息。因此,数据可以包括但不限于应用程序的工作文件、恢复文件、临时文件、数据库条目、注册密钥、存储器状态、屏幕截图和/或其他预先定义的应用程序状态。工作文件是永久地保存在稳态存储器中的一致的用户文件,而恢复文件是一致的文件,该一致的文件可以是临时文件或者永久地保存在稳态存储器中,作为工作文件的备份或可恢复的文件。这些从应用程序和被保存的数据类型中捕捉数据的各种实现可以依赖于应用程序的类型和计算环境的存储容量。
此外,图2中显示的应用程序102和104中的每一个可以是操作系统或用户应用程序,依赖于需要和实现的使用。尽管本发明对像电子邮件客户机、笔记记录应用程序或协作应用程序那样的信息工作应用程序特别有用,本发明可以用于任何类型的应用程序。事实上,本发明的一个实施例创建嵌套的计算环境,每个嵌套计算环境都有其关联的时间线,以使得最外面的环境可以是现代操作系统。因此,本发明仔细考虑保存与包括用户应用程序和子应用程序或者简化为在操作系统中工作的单个用户应用程序的整个操作系统有关的数据的一个实现。并且,这些各种实现相当依赖于需要以及用户和系统类型的使用。
在本发明一个实施例中,图3显示连续自动捕捉应用程序产生的数据,并在150中一般地指示。如图所示,来自应用程序的数据152、154、156、158和160随着时间的过去由于用户使用或应用程序使用而发生改变。图3中所显示的数据可以包括在一个时间点与应用程序有关的任何信息。该信息可以包括但不限于应用程序在特定时间点的工作文件、恢复文件、临时文件、数据库条目、注册密钥、存储器状态、屏幕截图和/或其他预先定义的应用程序状态。在所显示的实施例中,这些数据项目中的一个或多个所发生的改变被保存到数据库中。具体地,在增量Δ162、164、166和168所指示的数据之间的改变是以时间线170为基础的。对由增量Δ162、164、166和168,所发生的改变被保存到日志172。在所显示的这个实施例中,所发生的改变随着时间的过去被连续地自动地追加到日志172。换句话说,在时刻i的数据152和在时刻j的数据154之间所发生的改变(例如增量Δ162)被追加到日志172,包括在时刻j的数据154和在时刻k的数据156之间所发生的改变的增量Δ162也被追加到日志172。同样地,增量Δ166指示在时刻k的数据156和在时刻l的数据158之间所发生的改变,增量Δ168指示在时刻l的数据158和在时刻m的数据160之间所发生的改变。
使用保存在日志172的信息如在不同时间点的屏幕截图,本发明可以提供一个例示来自特定时间点的屏幕截图的图形化应用程序程序窗口。用户可以通过检查屏幕截图识别所需要的时间点。一旦用户识别所需要的时间点,就可以使用保存在日志172的信息再造该时间点的应用程序。因此,用户可以与时间线交互,以在不同的时间点恢复他们的工作环境。
可以给用户提供用户界面,包括具有指示不同时间点的指针的应用程序窗口图形化状态的表示。在用户界面上,用户可以物理地移动时间线上的指针,以选择恢复的时间点。在一个实施例中,当用户正在向时间线的指针移动时,使用应用程序窗口图形化状态的低分辨率的紧缩表示。然而,一旦用户在所选择的时间点停止移动指针,较佳的是从基本状态中以完全分辨率再造应用程序窗口图形化状态,特别是使用了被保存在日志172的数据项目。所记录的时间线除了可以存储应用程序窗口的状态之外,还可以存储任何其他上下文信息。例如,所记录的时间线可以在每个时间点跟踪用户或计算机的地理位置(例如,用于快速识别商务旅行中在不同地方所做的工作)。其他上下文信息可以包括用户的一幅图像或由附加到计算机上的数码相机拍摄的环境或用户工作模式(例如,他们工作了多少、在什么时间、关于什么类型的信息等等)。当用户移动移动时间线的指针时,该信息可以图形化地显示。正如所显示的那样,用记录的时间线要包括的上下文信息类型是无界限的,因此本发明并不限于这些示例性的上下文信息。其他各种上下文信息因此被仔细考虑,并且他们是在本发明的范围内。
而且,本发明不限于单个线性时间,也可以考虑任意分叉以便提供备选视图。分叉可以用于创建其起点在给定时间点的备选时间线的直观表示,该给定时间点或者是在初始时间线,或者是在另一个分叉时间线。因此,分叉是来自特定点的用户活动的一系列应用程序状态。这些分叉可以在时间线上图形化地显示。作为例子,当用户向后滚动到不同的时间点时,就给用户显示该分叉的图形化表示。当应用程序正在工作时,可以在时间线上产生一个分叉,以便给用户指示应用程序在某些方面已经被修改。在分叉中,可以增加进一步的注解来描述应用程序,如在应用程序上所做的工作或所使用的文件标题。换句话说,在一个实施例中,当用户在给定的时间点向后滚动以便在应用程序中工作时,自动地创建一个分叉。
一个实施例中的这些分叉是暂态的或易失性的,并且不能保存到允许过去的信息永久不变的永久性存储器。然而,分叉的备选实施例可以在那个过去的时间点永久地保存对应用程序所做的工作。在那个过去的时间点与应用程序当时的改变有关的信息也可以被包括在用户参考内。而且,这些状态系列可以保存在数据库中,作为备选时间线的关于用户所做工作的持久视觉图像。利用各种与使用分叉的应用程序有关的被保存信息,这些涉及时间点的分叉的图形化表示可以显示给用户。结果,当用户正在时间线中滚动时,依照用户所进行的早先操作,给用户提供一个更熟悉并且更新型的时间线。
通过使用日志,也提供另一个机制以便允许实现在不同的时间点之间移动信息项目,称之为频带外消息传递机制。使用这一机制,如果一个用户希望从早先的时刻检索并修改信息项目,用户可以移动到时刻x的窗口图形化状态并将所选择的项目拷贝到一个剪贴板,然后再移回到当前时间点的应用程序并把所选择的数据粘贴到当时时间点的应用程序以便修改。结果,用户可以检索过去的数据并且在当前使用过去的数据,而同时使数据保持永久不变以避免任何对过去的数据的改变。这样的机制可以通过使用当前的复制和粘贴的剪贴板机制来实现。而且,为了保证过去的数据不被改变,当对过去的时间点的应用程序工作时,图形化表示向用户指示,他们正在“只读模式”下操作。还有,当用户在附近移动时间线时,时间线不需要是严格线性的,指针也不需要等速移动。相反,时间线可以是高度动态的,给用户提供对于基本保存状态的有形触感,如改变的程度和类型、数据卷、不连续性或其他工作模式等等。
在另一个实施例中,通常涉及描述内容、性质、状况和/或数据的其他特征的数据的元数据可以被索引并保存到日志172。有很多产生元数据的方法。在一个实施例中,元数据可以是预先定义的用户操作的结果,如将消息保存文件夹中。在另一个实施例中,也可以通过使用应用程序的上下文信息自动地产生元数据,诸如选择相关的关键文本、基于对图像内容分析的分类图像或确定预先定义的消息准则。结果,用户不但可以通过基于时间线的界面来恢复数据,还可以通过搜索元数据如名字或关键词来恢复数据。因此,本发明仔细考虑了代表性的(例如,以基于元数据的恢复搜索)和线性的(例如,基于时间线的恢复搜索)恢复范例。
尤其是,日志172较佳的是包括每个数据项目的概要和指针信息的只可追加的日志。概要可以包含足够的数据,以帮助在非结构化的项目海洋中查找数据项目。在文本的情况中,以索引为基础的搜索的文本中所有的词可以是数据文件的简短表示,而指针可以允许用户到达数据项目所处的时间点。在日志172中通常代表每个数据项目的最终版本。然而,给定项目可以有许多最终版本。例如,当用户返回并检索旧项目以备进一步修改时,日志可以用于维持指向所有这类项目的指针并表示这些项目如何得来。正如所显示的那样,各种信息类型可以保存到日志172,所保存信息的数据结构可以用多种方式实现。因此,本发明不限于所显示的实施例,本领域中的技术人员可以容易地理解的其他实现被仔细考虑并且处于本发明范围内。
参见图4,显示了一个例示依照本发明的一个实施例的、用于保存应用程序的可恢复信息的步骤的流程图,在200中一般地指示。通过在步骤204捕捉应用程序的屏幕截图,进程开始于步骤202。如图2和3中所讨论,使用允许用户在搜索过程中以低分辨率查看屏幕截图的方法捕捉屏幕截图,在选择指定的时间点之后,与屏幕截图相对的活动的应用程序本身可以被显示给用户。
参考图3,在时刻i,应用程序的屏幕截图可以被捕捉并和数据152一起被保存,但在下一个时刻j保存全部屏幕截图可能是不必要的,因为时刻j的屏幕截图所需的许多数据通常可以在时刻i捕捉屏幕截图时找到。因此,需要被保存的信息是重建屏幕截图所需的时刻i和时刻j之间的改变增量Δ162。结果,可以使用最少的计算机资源而更有效率地捕捉如屏幕截图那样的数据。
在步骤204已经捕捉屏幕截图之后,在步骤205保存与应用程序有关的上下文的信息。尤其是,与该时间点有关的上下文信息正在被保存。换句话说,上下文信息可以是有助于用户记住该时间点的任何信息。因此,正如所讨论的那样,上下文信息可以包括用户或计算机在每个时间点的地理位置、用户的一幅图像或被拍照的环境、用户工作模式或相关的关键词。
其次,在步骤206,进程确定应用程序是否具有不需要退出应用程序就可以保存一致的工作文件的类型。电子邮件程序通常使用一致的工作文件以防止万一出现失效时丢失用户当前的草稿。如果应用程序是不需要退出就可以保存一致的工作文件的类型,进程较佳地在步骤208观察应用程序,捕捉并且存档在步骤210被应用程序保存的一致的工作文件。
另一方面,如果在步骤206应用程序不具有不需要退出就可以保存一致的工作文件的类型,在步骤212,进程确定应用程序是否具有不需要退出就可以创建一致的恢复文件但必须退出才能保存一致的工作文件的类型。当文字处理程序从出现失效时的文件退出以保存用户文档时,文字处理程序通常保存一致的恢复文件。当文字处理程序正在工作时通常也保存一致的恢复文件。如果应用程序是如步骤212中所描述的应用程序,进程在步骤214再次观察该应用程序,以便在步骤216捕捉被应用程序保存的一致的恢复文件。在步骤218,当应用程序退出时在被捕捉的恢复文件和被保存的一致的工作文件之间创建之间一个映射。
然而,如果应用程序不是一个具有在步骤212不需要退出就可以保存一致的恢复文件但必须退出才能保存一致的工作文件的类型的应用程度,进程其次在步骤220确定应用程序是否具有一个必须退出才能保存系统中的一致的工作文件的类型。如果是,应用程序可以在步骤222被分叉以便创建应用程序的克隆。然后在步骤224向所克隆的应用程序发送退出命令。当应用程序退出时,保存一致的工作文件。结果,进程可以在步骤226捕捉被保存的文件以备恢复,即使用户正在与之交互的应用程序的拷贝以所期望的方式继续工作。
再参见步骤220,然而,如果应用程序不具有必须退出才可以保存一致的工作文件的类型,在步骤228,进程确定是否有充足的空间来捕捉操作系统或者总体计算设备的整个状态。如果没有,进程在步骤230简单地结束,因为已经用尽了保存应用程序信息以备恢复的各种可用选项。但是如果有充足的空间捕捉整个状态,进程可以在步骤232执行一虚拟机。为了保存应用程序运行时所在的系统的状态,虚拟机较佳地在执行应用程序之前被运行,以使得应用程序可以在工作机所创建的虚拟环境的上下文中运行。在步骤234捕捉虚拟机的整个状态,包括与应用程序的最后状态有关的全部所需信息。一个备选的实施例简单地捕捉操作系统的全部状态或整个计算系统。然而,因为虚拟机的状态常常可以只通过仅保存虚拟机所创建的一些文件就可以保存,前面的进程可以更有效率。
当存档恢复系统中的数据时,主要关心的是需要用于保存数据的资源的数量。结果,一个通常包括大量消息的通信客户机可能存在问题,因为存储这样的应用程序状态往往会使磁盘空间和系统资源负担过重。这样的机制较佳地被实现为减少在进程中被保存的无用信息。一个这样的例子是通信客户机的垃圾信息消息。在一个实施例中,为了避免保存垃圾信息消息,指示每个消息是否是垃圾信息可以包括具有另外的数据的索引。这样的实现可以包括两种不同的搜索以便给用户提供一些灵活性。具体地,当恢复数据时,用户可以在不搜索垃圾信息索引数据的快速搜索和包括垃圾信息索引数据的较慢搜索之间选择。而且,因为垃圾信息指示符是索引数据的一部份,通常推荐给用户提供标记或取消标记消息是或不是垃圾信息的方法,或者最起码,应用程序设置可以包括自动的用户默认值。
在一个备选的实施例中,在通信客户机的状态被保存之前,也可以强制通信客户机清除垃圾信息。例如,在客户机可以退出之前,可以自动地或手动地清除垃圾信息消息。结果,数据的恢复较佳地紧跟在垃圾信息消息已经被清除之后。不幸的是,尽管不太可能保存无用信息,但用户还是要冒着丢失被错误地标记为垃圾信息消息的有价值信息的危险。
因此,可以理解,已经描述了使用基于时间线的计算环境恢复数据的改良的系统和方法。鉴于本发明的原理应用于许多可能的实施例,应该认识到,在此参照附图所描述的实施例仅作为例示,而不应该被认为是限制本发明的范围。例如,本领域中的技术人员应该认识到,在软件中显示的所示实施例的一些元素可在硬件中实现,反之亦然,或者可以修改所示实施例的排列或细节而不背离本发明的精神。此外,可以稍微地修改和重新组织所示进程而不背离本发明的精神。因此,在此所述的本发明仔细考虑所有处于权利要求书及其等效方案的范围之内的这些实施例。

Claims (10)

1.一种使用基于时间线的计算环境的恢复应用程序的方法,所述方法包括以下步骤:
定期地保存所述应用程序的数据项目以备恢复,其中所述被保存的数据项目允许在所述项目被保存的时间点恢复所述应用程序;
搜索一个基于时间的被保存数据项目的档案库;
指定要恢复应用程序的时间点;
显示在指定的时间点被保存的数据项目以及使用在所显示的指定的时间点被保存的数据项目恢复应用程序;
其中定期地保存数据项目进一步包括以下步骤:
作出所述应用程序是否是不需要退出所述应用程序而保存一致的工作文件的类型的第一判断;
当所述第一判断是真时观察应用程序并捕捉一致的工作文件;
当所述第一判断是非真时作出所述应用程序是否是不需要退出而保存一致的恢复文件但必须退出以保存一致的工作文件的第二判断;
当所述第二判断是真时观察应用程序的任何被保存的恢复文件并捕捉所保存的恢复文件;
捕捉所捕捉的恢复文件和一致的工作文件之间的映射;
当所述第二判断是非真时作出在保存一致的工作文件之前所述应用程序是否必须退出的第三判断;
当所述第三判断是真时,创建所述应用程序的一个克隆;
向所述应用程序的克隆发送一退出命令以便启动一保存文件命令;
捕捉响应所述保存文件命令的任何被保存的文件;
当所述第三判断是非真时,作出是否有充足的空间来捕捉机器状态的第四判断;
当有充足的空间捕捉所述机器状态时,运行一虚拟机;
在所述虚拟机中执行所述应用程序;以及
捕捉所述时间点的虚拟机状态。
2.如权利要求1所述的使用基于时间线的计算环境的恢复应用程序的方法,其特征在于,还包括保存与所述数据项目被保存的时间点有关的上下文信息的步骤。
3.如权利要求1所述的使用基于时间线的计算环境的恢复应用程序的方法,其特征在于,还包括在指定的时间点产生所述被恢复的应用程序的一个分叉以备使用的步骤。
4.如权利要求3所述的使用基于时间线的计算环境的恢复应用程序的方法,其特征在于,所述被产生的分叉是一个反映所述被恢复的应用程序的新使用的备选时间线。
5.如权利要求1所述的使用基于时间线的计算环境的恢复应用程序的方法,其特征在于,还包括以下步骤:
拷贝来自在指定的时间点被恢复的所述应用程序的数据;
返回到当前时间点;以及
在所述当前时间点粘贴所述应用程序的所述被拷贝数据。
6.一种使用基于时间线的计算环境恢复应用程序的计算机系统,该系统包括:
用于定期地保存所述应用程序的数据项目以备恢复的装置,其中所述被保存的数据项目允许在所述项目被保存的时间点恢复所述应用程序;
用于搜索一个基于时间的被保存的数据项目的档案库的装置;
用于指定恢复应用程序的时间点的装置;
用于显示在指定的时间点被保存的数据项目以及使用在所显示的指定的时间点被保存的数据项目恢复应用程序的装置;
其中所述用于定期地保存数据项目的装置进一步包括:
用于作出所述应用程序是否是不需要退出所述应用程序而保存一致的工作文件的类型的第一判断的装置;
用于当所述第一判断是真时观察应用程序并捕捉一致的工作文件的装置;
用于当所述第一判断是非真时作出所述应用程序是否是不需要退出而保存一致的恢复文件但必须退出以保存一致的工作文件的第二判断的装置;
用于当所述第二判断是真时观察应用程序的任何被保存的恢复文件并捕捉所保存的恢复文件的装置;
用于捕捉所捕捉的恢复文件和一致的工作文件之间的映射的装置;
用于当所述第二判断是非真时作出在保存一致的工作文件之前所述应用程序是否必须退出的第三判断的装置;
用于当所述第三判断是真时创建所述应用程序的一个克隆的装置;
用于向所述应用程序的克隆发送一退出命令以便启动一保存文件命令的装置;
用于捕捉响应所述保存文件命令的任何被保存的文件的装置;
用于当所述第三判断是非真时作出是否有充足的空间来捕捉机器状态的第四判断的装置;
用于当有充足的空间捕捉所述机器状态时运行一虚拟机的装置;
用于在所述虚拟机中执行所述应用程序的装置;以及
用于捕捉所述时间点的虚拟机状态的装置。
7.如权利要求6所述的使用基于时间线的计算环境恢复应用程序的计算机系统,其特征在于,还包括用于保存与所述数据项目被保存时的时间点有关的上下文信息的装置。
8.如权利要求6所述的使用基于时间线的计算环境恢复应用程序的计算机系统,其特征在于,还包括用于在指定的时间点产生所述被恢复的应用程序的一个分叉以备使用的装置。
9.如权利要求8所述的使用基于时间线的计算环境恢复应用程序的计算机系统,其特征在于,所述被产生的分叉是一个反映所述被恢复的应用程序的新使用的备选时间线。
10.如权利要求6所述的使用基于时间线的计算环境恢复应用程序的计算机系统,其特征在于,还包括:
用于拷贝来自在指定的时间点被恢复的所述应用程序的数据的装置;
用于返回到一个当前时间点的装置;以及
用于在所述当前时间点粘贴所述应用程序的所述被拷贝数据的装置。
CNB2005100637294A 2004-03-24 2005-03-24 使用基于时间线的计算环境恢复数据的方法和系统 Expired - Fee Related CN100462929C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/808,099 US7353241B2 (en) 2004-03-24 2004-03-24 Method, medium and system for recovering data using a timeline-based computing environment
US10/808,099 2004-03-24

Publications (2)

Publication Number Publication Date
CN1677356A CN1677356A (zh) 2005-10-05
CN100462929C true CN100462929C (zh) 2009-02-18

Family

ID=34887653

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100637294A Expired - Fee Related CN100462929C (zh) 2004-03-24 2005-03-24 使用基于时间线的计算环境恢复数据的方法和系统

Country Status (7)

Country Link
US (1) US7353241B2 (zh)
EP (1) EP1582982B1 (zh)
JP (1) JP4847709B2 (zh)
KR (1) KR101130366B1 (zh)
CN (1) CN100462929C (zh)
AT (1) ATE397250T1 (zh)
DE (1) DE602005007088D1 (zh)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8949395B2 (en) 2004-06-01 2015-02-03 Inmage Systems, Inc. Systems and methods of event driven recovery management
US8868858B2 (en) * 2006-05-19 2014-10-21 Inmage Systems, Inc. Method and apparatus of continuous data backup and access using virtual machines
US7640454B1 (en) * 2004-06-28 2009-12-29 Symantec Operating Corporation System and method for point-in-time recovery of application resource sets
US8495023B1 (en) * 2004-09-01 2013-07-23 Symantec Operating Corporation Delta catalogs in a backup system
US7814367B1 (en) * 2004-11-12 2010-10-12 Double-Take Software Canada, Inc. Method and system for time addressable storage
JP4055769B2 (ja) * 2004-12-10 2008-03-05 ブラザー工業株式会社 設定データ伝送プログラム、設定データ伝送方法、設定データ伝送システム、および設定データ伝送装置
CN101313279A (zh) * 2005-10-14 2008-11-26 塞门铁克操作公司 一种在数据存储器中用于时间线压缩的技术
KR100770163B1 (ko) 2006-03-02 2007-10-26 엔에이치엔(주) 스팸 지수 산정 방법 및 시스템
KR100775648B1 (ko) 2006-03-03 2007-11-13 엔에이치엔(주) 스팸 지수를 이용한 스팸 리스트 관리 방법 및 시스템
US20070300179A1 (en) * 2006-06-27 2007-12-27 Observe It Ltd. User-application interaction recording
US7853567B2 (en) * 2006-08-04 2010-12-14 Apple Inc. Conflict resolution in recovery of electronic data
US7860839B2 (en) 2006-08-04 2010-12-28 Apple Inc. Application-based backup-restore of electronic information
US8311988B2 (en) 2006-08-04 2012-11-13 Apple Inc. Consistent back up of electronic information
US7853566B2 (en) * 2006-08-04 2010-12-14 Apple Inc. Navigation of electronic backups
US9009115B2 (en) 2006-08-04 2015-04-14 Apple Inc. Restoring electronic information
US7856424B2 (en) 2006-08-04 2010-12-21 Apple Inc. User interface for backup management
US7809688B2 (en) * 2006-08-04 2010-10-05 Apple Inc. Managing backup of content
US8370853B2 (en) 2006-08-04 2013-02-05 Apple Inc. Event notification management
US7809687B2 (en) * 2006-08-04 2010-10-05 Apple Inc. Searching a backup archive
US8166415B2 (en) 2006-08-04 2012-04-24 Apple Inc. User interface for backup management
US7606842B2 (en) * 2006-09-27 2009-10-20 Hewlett-Packard Development Company, L.P. Method of merging a clone file system with an original file system
US7747575B2 (en) * 2006-11-07 2010-06-29 Magix Ag Application-specific intelligent backup and restore system
US8307004B2 (en) 2007-06-08 2012-11-06 Apple Inc. Manipulating electronic backups
US20080307017A1 (en) 2007-06-08 2008-12-11 Apple Inc. Searching and Restoring of Backups
US8099392B2 (en) * 2007-06-08 2012-01-17 Apple Inc. Electronic backup of applications
EP2372553B1 (en) 2007-06-08 2013-01-30 Apple Inc. Application-based backup-restore of electronic information
US8725965B2 (en) 2007-06-08 2014-05-13 Apple Inc. System setup for electronic backup
US8429425B2 (en) 2007-06-08 2013-04-23 Apple Inc. Electronic backup and restoration of encrypted data
US8010900B2 (en) * 2007-06-08 2011-08-30 Apple Inc. User interface for electronic backup
US8468136B2 (en) 2007-06-08 2013-06-18 Apple Inc. Efficient data backup
US8745523B2 (en) * 2007-06-08 2014-06-03 Apple Inc. Deletion in electronic backups
DK200801750A (en) * 2008-03-04 2009-09-05 Konus Group Aps Computer system with selective installation of an operating system
US8028194B2 (en) * 2008-07-25 2011-09-27 Inmage Systems, Inc Sequencing technique to account for a clock error in a backup system
KR101523979B1 (ko) * 2008-10-02 2015-05-29 삼성전자주식회사 휴대 단말기 및 그 휴대 단말기에서 기능 수행 방법
US8332365B2 (en) 2009-03-31 2012-12-11 Amazon Technologies, Inc. Cloning and recovery of data volumes
KR101615646B1 (ko) * 2009-08-25 2016-04-27 삼성전자 주식회사 컴퓨터시스템, 그 제어방법과, 그 컴퓨터프로그램이 저장된 기록매체
US20110252208A1 (en) * 2010-04-12 2011-10-13 Microsoft Corporation Express-full backup of a cluster shared virtual machine
US8983870B2 (en) 2010-08-18 2015-03-17 Snap-On Incorporated Apparatus and method for managing software applications using partitioned data storage devices
US8984029B2 (en) 2011-01-14 2015-03-17 Apple Inc. File system management
US8943026B2 (en) 2011-01-14 2015-01-27 Apple Inc. Visual representation of a local backup
CN102662798A (zh) * 2012-04-12 2012-09-12 青岛海信移动通信技术股份有限公司 一种android系统恢复数据的方法及终端
KR101678561B1 (ko) * 2013-10-18 2016-11-22 주식회사 아신아이 변경정보 유지 및 선택 기능을 구비한 정보통신장치 복원방법
US9785510B1 (en) 2014-05-09 2017-10-10 Amazon Technologies, Inc. Variable data replication for storage implementing data backup
US9734021B1 (en) 2014-08-18 2017-08-15 Amazon Technologies, Inc. Visualizing restoration operation granularity for a database
US9167047B1 (en) 2014-09-24 2015-10-20 Oracle International Corporation System and method for using policies to support session recording for user account management in a computing environment
US9185175B1 (en) 2014-09-24 2015-11-10 Oracle International Corporation System and method for optimizing visual session recording for user account management in a computing environment
US9166897B1 (en) 2014-09-24 2015-10-20 Oracle International Corporation System and method for supporting dynamic offloading of video processing for user account management in a computing environment
US9148454B1 (en) 2014-09-24 2015-09-29 Oracle International Corporation System and method for supporting video processing load balancing for user account management in a computing environment
US9558078B2 (en) 2014-10-28 2017-01-31 Microsoft Technology Licensing, Llc Point in time database restore from storage snapshots
US10078440B2 (en) * 2015-03-25 2018-09-18 Ebay Inc. Media discovery and content storage within and across devices
CN106469087B (zh) * 2015-08-19 2020-06-05 阿里巴巴集团控股有限公司 元数据输出方法、客户端和元数据服务器
US10567500B1 (en) 2015-12-21 2020-02-18 Amazon Technologies, Inc. Continuous backup of data in a distributed data store
US10423493B1 (en) 2015-12-21 2019-09-24 Amazon Technologies, Inc. Scalable log-based continuous data protection for distributed databases
US10810088B1 (en) * 2016-05-13 2020-10-20 NortonLifeLock Inc. System and method of dynamic backup policy generation
US10754844B1 (en) 2017-09-27 2020-08-25 Amazon Technologies, Inc. Efficient database snapshot generation
US10990581B1 (en) 2017-09-27 2021-04-27 Amazon Technologies, Inc. Tracking a size of a database change log
US11182372B1 (en) 2017-11-08 2021-11-23 Amazon Technologies, Inc. Tracking database partition change log dependencies
US11042503B1 (en) 2017-11-22 2021-06-22 Amazon Technologies, Inc. Continuous data protection and restoration
US11269731B1 (en) 2017-11-22 2022-03-08 Amazon Technologies, Inc. Continuous data protection
US10621049B1 (en) 2018-03-12 2020-04-14 Amazon Technologies, Inc. Consistent backups based on local node clock
US11126505B1 (en) 2018-08-10 2021-09-21 Amazon Technologies, Inc. Past-state backup generator and interface for database systems
US11042454B1 (en) 2018-11-20 2021-06-22 Amazon Technologies, Inc. Restoration of a data source

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5713024A (en) * 1994-06-10 1998-01-27 Exabyte Corporation Cold boot data backup system
WO2000010251A1 (en) * 1998-08-13 2000-02-24 Microchip Technology Incorporated A binary counter and method for counting to extend lifetime of storage cells
US6480944B2 (en) * 2000-03-22 2002-11-12 Interwoven, Inc. Method of and apparatus for recovery of in-progress changes made in a software application
US20030167380A1 (en) * 2002-01-22 2003-09-04 Green Robbie A. Persistent Snapshot Management System

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP3279201B2 (ja) * 1996-05-17 2002-04-30 富士ゼロックス株式会社 情報処理装置
JP2000267912A (ja) * 1999-03-15 2000-09-29 Fuji Xerox Co Ltd ファイル管理装置及び記録媒体
US6725241B1 (en) * 1999-03-31 2004-04-20 International Business Machines Corporation Method and apparatus for freeing memory in a data processing system
EP1194850A1 (en) 1999-06-30 2002-04-10 Microsoft Corporation System and method for protecting shared system files
JP2003058534A (ja) * 2001-08-09 2003-02-28 Casio Comput Co Ltd データ処理装置およびプログラム
US7475098B2 (en) 2002-03-19 2009-01-06 Network Appliance, Inc. System and method for managing a plurality of snapshots
US7093086B1 (en) * 2002-03-28 2006-08-15 Veritas Operating Corporation Disaster recovery and backup using virtual machines

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5713024A (en) * 1994-06-10 1998-01-27 Exabyte Corporation Cold boot data backup system
WO2000010251A1 (en) * 1998-08-13 2000-02-24 Microchip Technology Incorporated A binary counter and method for counting to extend lifetime of storage cells
US6480944B2 (en) * 2000-03-22 2002-11-12 Interwoven, Inc. Method of and apparatus for recovery of in-progress changes made in a software application
US20030167380A1 (en) * 2002-01-22 2003-09-04 Green Robbie A. Persistent Snapshot Management System

Also Published As

Publication number Publication date
JP4847709B2 (ja) 2011-12-28
KR20060044692A (ko) 2006-05-16
KR101130366B1 (ko) 2012-03-27
EP1582982A3 (en) 2006-09-06
DE602005007088D1 (de) 2008-07-10
US7353241B2 (en) 2008-04-01
US20050216527A1 (en) 2005-09-29
EP1582982B1 (en) 2008-05-28
CN1677356A (zh) 2005-10-05
ATE397250T1 (de) 2008-06-15
EP1582982A2 (en) 2005-10-05
JP2005276223A (ja) 2005-10-06

Similar Documents

Publication Publication Date Title
CN100462929C (zh) 使用基于时间线的计算环境恢复数据的方法和系统
US8806379B2 (en) Method and system for displaying group relationships in a graphical user interface
RU2417401C2 (ru) Пользовательский интерфейс переноса и фиксации по новому месту с широкими возможностями
CN1938673B (zh) 动态生成可选择搜索扩展的系统和方法
US7822759B2 (en) Query-driven sharing and syndication
US8301994B1 (en) Synchronizing multiple hierarchal data structures
CN100524296C (zh) 利用虚拟文件夹的系统和方法
US8775426B2 (en) Interface to navigate and search a concept hierarchy
CN103150082B (zh) 用于恢复数字数据的方法和系统
US8037049B2 (en) System for automatic data retrieval based on context-traversal history
US20090043646A1 (en) System and Method for the Automated Capture and Clustering of User Activities
JP4844636B2 (ja) 文書管理システム、文書管理方法および文書管理プログラム
US20080307347A1 (en) Application-Based Backup-Restore of Electronic Information
US8452788B2 (en) Information retrieval system, registration apparatus for indexes for information retrieval, information retrieval method and program
US7788267B2 (en) Image metadata action tagging
JP2013505500A (ja) コンテキスト上関連するタスクアイテムの自動発見
JP2008541261A (ja) オートリストを用いたクエリ組成
KR20100037040A (ko) 시간-기반 행위 정보의 수집 및 제공
MX2008000520A (es) Indice y busqueda de contenedor inteligente.
JP2006244493A (ja) データベース内で表現されるファイル・システム
JP2005190139A (ja) テープ記録媒体へのバックアップシステム及び方法
US20080033948A1 (en) Storage apparatus and method therefor
US20080033949A1 (en) Electronic apparatus and method therefor
US20080059538A1 (en) Method and system for synchronizing offline records
US9430527B2 (en) Keyword-based content management

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090218

Termination date: 20130324