CN1253793C - 在计算机系统中提供卷快照相关性的方法和设备 - Google Patents

在计算机系统中提供卷快照相关性的方法和设备 Download PDF

Info

Publication number
CN1253793C
CN1253793C CNB008194653A CN00819465A CN1253793C CN 1253793 C CN1253793 C CN 1253793C CN B008194653 A CNB008194653 A CN B008194653A CN 00819465 A CN00819465 A CN 00819465A CN 1253793 C CN1253793 C CN 1253793C
Authority
CN
China
Prior art keywords
application program
correlation information
application
proxy server
service routine
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 - Lifetime
Application number
CNB008194653A
Other languages
English (en)
Other versions
CN1452737A (zh
Inventor
乔纳森·S·戈尔迪克
卢伊斯·F·卡布里拉
保罗·奥尔蒂恩
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.)
Ivalley Holding Co Ltd
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 CN1452737A publication Critical patent/CN1452737A/zh
Application granted granted Critical
Publication of CN1253793C publication Critical patent/CN1253793C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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
    • 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
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • 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)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)

Abstract

应用程序编程接口(API)协议用于向已注册应用程序作出与应用程序相关性信息有关的请求,以便可以递归地生成与目标对象有关的相关性信息表。当对于给定卷或对象同时收集到所有应用程序相关性时,可以在给定时间内保留整个卷或对象的程序和数据相关性信息。借助于对这种相关性信息的访问,计算机系统不仅有利地知道哪些文件和以哪种次序冻结或刷新与给定卷或对象的备份,诸如快照拍摄,或恢复有关的文件,而且有利地知道哪些卷或对象可以从冻结进程中排除掉。在通过服务程序请求了应用程序相关性信息之后,计算机系统可以翻译或处理相关性信息,从而在给定的一组卷或对象上安排恢复事件。可以通过联网环境把该组卷或对象同点定位和远程定位成彼此相关的。在优选实施例中,与系统和应用程序之间的叠代协作进程和用于应用程序编码接口(API)的公共协议联系在一起生成相关性信息。因此,应用程序可以把它们的外部相关性传送到含有存储部件的公共软件代理器,从而在相容瞬时保留与目标对象的应用程序相关性有关的表、列表或其它有条理信息。这个表、列表或其它有条理信息可以有利地用作诸如备份、恢复或复原进程之类的服务程序,或者,其中相容瞬时应用程序相关性信息对服务程序有用的任何服务程序的一部分。

Description

在计算机系统中提供卷快照相关性的方法和设备
技术领域
本发明涉及计算机系统方面的备份或恢复。更具体地说,本发明涉及存储有关应用程序相关性的信息,以便计算机系统可以有效地返回到与相关性信息有关的崩溃前状态的方法和设备。本发明还针对可获得备份信息那一瞬时的任何恢复操作。并且,本发明还针对最好能回退到已知的或所希望的前系统配置的环境。
背景技术
当计算机系统崩溃或系统冻结时,可能导致从微不足道到不能恢复原状的各种后果。对于独立的计算机或客户机计算机,本地系统的崩溃可能导致工作产物的丢失。例如,没有得到适当保存的任何东西都可能无法被进一步存取或使用。并且,用户可能因不得不重新启动计算机系统而感到不便,从而花费了额外时间。在网络服务器和其它计算机系统的情况下,系统崩溃甚至可以殃及四邻,影响众多用户、客户和/或顾客。随着计算机系统变得越来越复杂,总的说来,似乎程序设计人员再也不能完全消除计算机或应用程序“冻结(freeze)”或“崩溃(crash)”的系统状态了。
在“恢复到以前状态”的情况中,我们所希望的是把系统恢复到合乎需要的以前状态。这种状态含有当,例如,我们已经安装好新软件和新系统没有按预料的那样运行时的值。
在承认了系统崩溃或冻结的概率不是零的事实之后,出现了与改进把计算机系统从崩溃状态复原到稳定状态的进程有关的、称为复原的研究领域。从系统不稳定状态中复原过来已经成为许多研究和开发的主题。
一般说来,重新启动或重新进行复原的目的是在崩溃之后,让计算机系统返回到正好在崩溃之前或已知相容备份信息组那一瞬时计算机系统正在运行的以前的和认为正确的状态。由于不能保证代表与所有应用程序相关性有关的相容状态的瞬时信息,因此,一些恢复或备份服务程序可能把应用程序的状态不正确地复位成不正确的状态,或者,可能需要对计算机系统的每个进程进行与资源密切相关的强制冻结(freeze)或刷新(flush),以便为备份或恢复的应用程序、卷(volume)或其它对象复原到稳定状态。
例如,数据库系统设计者已经尝试设计出使数据丢失量、复原到崩溃前运行状态所需的工作量和在正常运行期间复原对数据库系统的性能影响达到最小的数据库恢复技术。但是,每当在恢复或备份服务程序之前,存在文件保存操作、注册表写操作、数据库存储操作、活动目录写操作等相关性时,最好复原到代表原子瞬时(atomic point in time)的崩溃前状态。
已经开发出来的一种有效备份技术利用了提供卷的快照(snapshot)的快照提供器。与每当系统崩溃时对卷进行强制逐个文件复原不同,快照使计算机系统的状态能够‘被冻结’在任意瞬时上,从而启用快得多的和与资源关系不那么密切的备份进程。一般说来,为要在时刻t0创建的快照作出请求,那个快照的创建反映了时刻t0的卷数据。在t0之后,可以备份快照本身的内容,因此,通过利用勘误数据或文件,避免了全备份,这使系统能够只根据自从前一时刻以来发生改变的数据,就可以有效地行动。
Cabrera等人在2000年2月16日提出的、名称为“支持同一卷的多个瞬时快照”的美国专用申请第09/505,447号(″Support for MultipleTemporal Snapshots of Same Volume″,U.S.Patent Appln.No.09/505,447,filed 2/16/2000,to Cabrera et al)、Golds等人在2000年2月16日提出的、名称为“基于内核的崩溃相容协调器”的美国专用申请第09/505,344号(″Kernel-based Crash-Consistency Coordinator″,U.S.Patent Appln.No.09/505,344,filed 2/16/2000,to Golds et al)和Kusters等人在2000年2月16日提出的、名称为“在快照的基卷上逐渐形成勘误文件的系统和方法”的美国专用申请第09/505,450号(″System and Method forGrowing Differential File on a Base Volume of a Snapshot″,U.S.PatentAppln.No.09/505,450,filed 2/16/2000,to Kusters et al)统统涉及到备份进程,并且针对快照拍摄系统的不同方面。这些申请作为与快照拍摄服务的措施有关的背景信息列在这里,以供参考。
但是,试图为卷、应用程序或其它对象进行备份或恢复服务时经常遇到一个困难是,对于要备份或恢复的给定对象,在原子瞬时必须知道对象的状态。因此,‘快照拍摄’时知道对象的状态的最近瞬时是可以恢复对象的最近瞬时。
类似地,如果正在提供备份或快照拍摄服务,那么,必须及时地和以适合于快照一贯地反映有关原子瞬时的信息的次序冻结要备份的对象的相关性信息。
如果在这样的单个瞬时内不能提取要备份的给定对象所依赖的应用程序、任务或其它对象的状态,那么,备份进程可能因完成一个任何的备份与完成另一个任务的备份所需的任意时间量可能破坏那些应用程序、任务或其它对象中的数据而毁掉。首先,不同任务一般需要花费不同的时间量来完成,例如,读操作一般要花费与写操作不同的时间量来完成。甚至同一个任务,诸如与文件系统有关的写操作,在动态使用系统资源时,也可以花费不同的时间来完成。并且,多个应用程序正在写,还是依赖于同一个对象可能是未知的,从而建立起备份服务程序可能意识不到的相关性。
因此,对于适合于给定卷、应用程序或对象的备份或恢复操作,可能首先需要以基于给定对象相关性的某种次序冻结(暂时不再进行与之相关的写操作)某些进程或文件。尤其与快照拍摄服务程序结合在一起,其中与原子瞬时有关的状态信息高于提供瞬时备份信息,智能确定哪些应用程序或进程、仅仅那些需要遵照(冻结)行事的应用程序或进程和什么样的次序将是有利的。
并且,提供哪些应用程序的一个有信息的确定(informeddetermination)可以被排除在以恢复操作之外是有益的,其中该恢复操作提供更有效的恢复处理,将要恢复的对象恢复到以前已知的状态。
系统崩溃或冻结往往可能只涉及到少数几个有问题文件或进程。例如,当应用程序不再作出响应时,通常,从系统的角度来看,最好只终止没有响应的应用程序,或者找出可能引起程序冻结它的响应的应用程序相关性。的确,常常出现这样的情况,应用程序A的程序设计人员不能预料为了运行应用程序A而安装到给定计算机系统上的其它应用程序B、C、D等的所有组合和排列。应用程序A的运行状态可能依赖于为了适当执行而处在应用程序A的系统空间中的某些其它应用程序、存储部件、进程和文件,并且,这些相关性可能动态地变化着。因此,通过冻结可能垂直地或水平地依赖于它们的对象,在原子瞬时上冻结应用程序A的状态的方式是有用的,并且比在快照拍摄时冻结数据的整个卷(可能比备份单个对象所需的凝结得严重得多)改进了许多。由于可能存在必须以由内嵌相关性决定的次序拆开那些相关性,因此,在备份操作之前,必须以适当次序冻结或刷新要备份的给定对象可能依赖于它们的对象。
因此,由于从资源的角度来看,计算机系统的一个对象的全备份或恢复是不合乎需要的,通过根据对象的相关性,以有选择的、有效的和适当的次序有选择地和智能地冻结某些数据,追溯性地从崩溃中复原过来或建立备份的方式将是复原领域的有用补充。
Lomet等人在1999年3月15日提出的、名称为“利用逻辑登录来扩大复原的数据库计算机系统”的美国专利申请第268,146号(″Database ComputerSystem Using Logical Logging to Extend Recovery″,U.S.Appln.No.268,146,filed 03/15/99,to Lomet et al)描述了在复原进程期间,利用逻辑登录操作来降低登录成本的技术。该申请公开了通过引入使节点对象不与刷新相关性相联系的全同操作,动态打开应用程序刷新相关性信息。因此,在系统崩溃的情况下,应用程序相关性的问题已经通过逻辑登录操作得到了解决,这样,不会遇到与拆开或打开相关性有关的复原困难。但是,这种技术没有确定根据分层对象相关性信息冻结对象的次序,因此,不能用于在给定瞬时冻结涉及所有对象相关性的对象的状态。
因此,最好能提供一种通过以有选择的、有效的和适当的次序有选择地和明确地分析应用程序相关性信息,追溯性地从崩溃中复原过来或进行备份或恢复操作的方式。并且,在给定瞬时保留有关卷快照相关性的信息,即,有关哪些应用程序依赖于可能还存在进一步的相关性等的哪些其它应用程序的分层信息也是有利的。并且,最好能利用与从崩溃中复原过来有关的卷快照相关性信息,以便可以改善从崩溃状态中复原过来的进程。并且,最好能提供应用程序可以用来传送有关应用程序依赖于它们的对象的信息的统一协议。
发明内容
本发明的目的在于:存储有关应用程序相关性的信息,以便计算机系统可以有效地返回到与相关性信息有关的崩溃前状态。
根据本发明的一方面,提供一种在计算机系统中利用应用程序相关性信息有效地进行备份服务操作的方法,该方法包括如下步骤:利用应用程序相关性应用程序编程接口(API)注册装入所述计算机系统中的应用程序,以便在应用程序、公共软件代理器、供所述代理器使用的存储部件和备份服务程序内传送应用程序相关性信息;把至少一个应用程序相关性信息存储在所述存储部件中;和把所述应用程序相关性信息从所述存储部件传送到所述备份设备。
根据本发明的另一方面,提供一种包括数据结构的计算设备,所述数据结构用于存储应用程序相关性信息,所述应用程序相关性信息包含在具有计算机可执行指令的计算机可读介质中,所述数据结构包括:标识应用程序的标识符,对于标识的应用程序,至少一个外部相关性是已知的;和代表所述至少一个外部相关性的数据。
根据本发明的另一方面,提供一种应用程序编程接口(API),其根据所述计算设备的数据结构传送与计算机系统中的应用程序有关的应用程序相关性信息。
根据本发明的另一方面,提供一种供计算机系统使用的应用程序编程接口(API),其中,所述应用程序编程接口协议使代理器能够响应通过服务程序的请求,收集、存储和封装应用程序相关性信息,此后,把所述应用程序相关性信息传送给所述服务程序,供所述服务程序作进一步处理之用。
根据本发明的另一方面,提供一种计算机系统,所述计算机系统包括:装入所述系统中的数个应用程序,其中,至少一个应用程序含有至少一个与之相联系的外部数据相关性;用于存储应用程序相关性信息的存储部件;依所述系统中的应用程序编程接口(API)的通信协议起作用的代理器,用于处理从所述代理器传送到所述应用程序编程接口的应用程序相关性信息,和用于把应用程序相关性信息存储在所述存储部件中;和向所述代理器作出有关应用程序相关性信息的请求的服务程序,其中,所述代理器响应通过服务程序的请求,收集、存储和封装所述应用程序相关性信息,此后,把所述应用程序相关性信息组传送给所述服务程序,供所述服务程序作进一步处理之用。
根据本发明,对于可能进入不稳定、冻结或崩溃状态的计算机系统,存储有关应用程序相关性的信息,以便其可以有效地返回到与相关性信息有关的崩溃前状态。在优选实施例中,应用程序编程接口(API)协议用于向已注册应用程序作出与应用程序相关性信息有关的请求,以便可以递归地生成与目标对象有关的相关性信息表。当对于给定卷或对象同时收集到所有应用程序相关性时,可以在给定时间保留整个卷或对象的程序和数据相关性信息。借助于对这种相关性信息的访问,计算机系统不仅有利地知道哪些文件和以哪种次序冻结或刷新与给定卷或对象的备份,诸如快照拍摄,或恢复有关的文件,而且有利地知道哪些卷或对象可以从冻结进程中排除掉。
在通过服务程序请求了应用程序相关性信息之后,计算机系统可以翻译或处理相关性信息,从而在给定的一组卷或对象上安排复原事件。可以通过联网环境把该组卷或对象同点定位和远程定位成彼此相关的。在优选实施例中,与系统和应用程序之间的叠代协作进程和用于应用程序编程接口(API)的公共协议联系在一起生成相关性信息。因此,应用程序可以把它们的外部相关性传送到含有存储部件的公共软件代理器,从而在相容瞬时保留与目标对象的应用程序相关性有关的表、列表或其它有条理信息。这个表、列表或其它有条理信息可以有利地用作诸如备份、恢复或复原进程之类的服务程序,或者,其中相容瞬时应用程序相关性信息对服务程序有用的任何服务程序的一部分。
附图说明
下面参照附图进一步描述提供卷快照相关性信息的系统和设备,在附图中:
图1是代表可以把本发明的各个方面合并到其中的通用计算机的方框图;
图2是代表含有与之结合在一起可以实现本发明的方法和设备的服务器的示范性网络环境的方框图;
图3A和3B是描绘根据本发明的应用程序相关性信息的示范性分层结构的方框图;
图4是用于存储根据本发明的应用程序相关性信息的示范性存储部件的方框图;
图5是用来把应用程序相关性信息传送到存储部件的、根据本发明的示范性序列的流程图;
图6是通过服务程序请求和利用存储在存储部件中的应用程序相关性信息的、根据本发明的示范性序列的流程图;和
图7是说明利用根据本发明存储的应用程序相关性信息进行备份或快照拍摄操作的优选实施例的、根据本发明的示范性序列的流程图。
具体实施方式
本发明涉及由于使用而可能导致不稳定、冻结或崩溃状态的任何计算机系统。当对于给定卷(或其它目标对象)同时收集到所有应用程序相关性时,可以在给定时间内保留整个卷的程序和数据相关性信息。借助于对这个卷相关性信息的访问,计算机系统有利地知道哪些文件要包括在内和如何把它们安排在备份、恢复或其它复原进程中。同样,还可以知道哪些文件可以从进程中排除掉。
应用程序相关性指的是与文件、注册表关键字、数据库记录、活动目录实体、IIS(因特网信息服务器)元库(metabase)的任何一个或多个有关的应用程序状态相关性信息的分层组织。
在优选实施例中,应用程序编码接口(API)相关性模块为与依赖于目标对象的某些对象有关的应用程序相关性信息请求服务。相关性信息是与系统和应用程序之间的叠代协作进程联系在一起生成的。作为协作进程的结果,应用程序可以把它们的外部相关性传送到公共软件代理器,从而在存储部件中保留与应用程序相关性有关的信息表或列表。然后,在崩溃或冻结的情况下,计算机系统可以翻译或处理卷(或目标对象)快照相关性信息,从而在给定的一组卷上安排复原事件。可以有利地把这个信息表或列表继续保存为另一个备份、恢复或复原进程的一部分,供以后重新使用之用,其中目标对象的状态和/或相关性保持不变。
在优选实施例中,备份或快照拍摄服务程序利用与服务程序的备份或快照操作有关的应用程序相关性信息。因此,备份服务程序根据相关性信息的分层结构,知道哪些应用程序和进程需要在其它的应用程序和进程之前及时得到冻结,以便成功地完成备份。类似地,快照拍摄服务程序根据相关性信息的分层结构,知道哪些应用程序和进程需要在其它的应用程序和进程之前及时得到冻结,以便成功地完成快照。由于正如在背景技术部分中所描述的,快照易感受到混乱的应用程序冻结和其它潜在的数据破坏,因此,相容瞬时的系统、卷或对象快照尤其适用于本发明。
正如上面所讨论的,本发明提供了改进的系统崩溃复原技术。本发明以几种方式解决了现有技术中的缺陷。如上所述,涉及系统崩溃复原技术方面的问题是有关卷快照相关性信息的信息不适合于与备份或恢复进程或适合于使用应用程序相关性信息的其它服务程序联系在一起使用。本发明的基础结构提供了保持与应用程序和其它对象的通信,以便可以存储应用程序相关性信息,供与让系统返回到崩溃前状态联系在一起或与备份或快照进程或其它服务程序联系在一起使用的API。
按照本发明,在给定时间与系统应用程序有关的应用程序相关性信息也可以在整个系统崩溃期间都一直保存着,并且,相关性信息可以用于最好以某种次序恢复目标对象相关性的某几个或更多个的恢复操作。例如,可以根据预定规则或其它规则定期调用服务程序,从而,服务程序请求系统为目标对象确定相容瞬时的相关性数据组。以后,在给定时间使用相关性信息可以包括,例如,在备份或崩溃复原进程之前,确定哪些应用程序冻结写操作,和以哪种次序。
图1和如下的讨论意在提供可以实现本发明的适当计算环境的概括性描述。尽管并非非要这样做不可,但是,仍然在可由诸如客户机工作站或服务器之类的计算机执行的、诸如程序模块之类的计算机可执行指令的一般背景下描述本发明。一般说来,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、部件、数据结构等。此外,本领域的普通技术人员应该认识到,本发明可以用其它计算机系统配置来实现,包括手持设备、多处理器系统、基于微处理器的或可编程消费品电子设备、网络PC(个人计算机)、微型计算机、大型计算机等。本发明也可以在由通过通信网络链接的远程处理设备执行任务的分布式计算环境中得以实现。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备两者中。
如图1所示,示范性通用计算系统包括传统个人计算机20等,传统个人计算机20包括处理单元21、系统存储器22和将包括系统存储器的各种系统部件与处理单元21耦合的系统总线23。系统总线23可以是几种类型的总线结构的任何一种,包括存储器总线或存储器控制器、外围总线和利用各种总线构造的任何一种的本地总线。系统存储器包括只读存储器(ROM)24和随机存取存储器(RAM)25。基本输入/输出系统(BIOS)26存储在ROM 24中,它包含,譬如在启动期间,有助于在个人计算机20内的各个单元之间传送信息的基本例程。个人计算机20还可以包括硬盘驱动器27,用于读写硬盘(未示出);磁盘驱动器28,用于读写可移动磁盘29和光盘驱动器30,用于读写诸如CD-ROM(只读存储光盘)或其它光介质的可移动光盘31。硬盘驱动器27、磁盘驱动器28和光盘驱动器30分别通过硬盘驱动器接口32、磁盘驱动器接口33和光盘驱动器接口34与系统总线23相连接。驱动器和它们的相关计算机可读介质为个人计算机20提供了计算机可读指令、数据结构、程序模块和其它数据的非易失性存储器件。尽管上述示范性的环境应用了硬盘、可移动磁盘29和可移动光盘31,但是,本领域的普通技术人员的应该认识到,在示范性的操作环境中也可以使用可以存储可由计算机存取的数据的其它类型计算机可读介质,譬如,盒式磁带、闪速存储卡、数字视频盘、伯努利(Bernoulli)盒式磁带、随机存取存储器(RAM)、只读存储器(ROM)等。
在硬盘、磁盘29、光盘31、ROM24或RAM25上可以存储大量程序模块,包括操作系统35、一个或多个应用程序36、其它程序模块37和程序数据38。用户可以通过诸如键盘40和定位设备42之类的输入设备,把命令和信息输入个人计算机20。其它输入设备(未示出)可能包括麦克风、操纵杆、游戏盘、碟形卫星天线、扫描仪等。这些和其它输入设备往往通过与系统总线耦合的串行端口接口46与处理单元21相连接,但是也可以通过其它接口相连接,譬如,通过并行端口、游戏端口或通用串行总线(USB)。监视器47或其它类型的显示设备也通过接口,譬如,视频适配器48与系统总线23相连接。除了监视器47之外,个人计算机通常还包括其它外围输出设备(未示出),譬如,扬声器和打印机。
个人计算机20可以在与一台或多台远程计算机,譬如,远程计算机49进行逻辑连接的联网环境下运行。远程计算机49可以是另一台个人计算机、服务器、路由器、网络PC、对等设备或其它公共网络节点,并且,尽管在图1中只显示出存储器存储设备50,但是通常包括上述与个人计算机20有关的那些单元的许多个或全部。在图1中描绘的逻辑连接包括局域网(LAN)51和广域网(WAN)52。这样的联网环境在办公室中是司空见惯的,例如,企业范围内的计算机网络、内联网和因特网。
当用在LAN联网环境中时,个人计算机20通过网络接口或适配器53与LAN 51相连接。当用在WAN联网环境中时,个人计算机20通常包括用于在广域网52,譬如,因特网上建立通信的调制解调器54或其它装置。调制解调器54可以是内置式的,也可以是外置式的,它通过串行端口接口46与系统总线23相连接。在联网环境中,针对个人计算机20描绘的程序模块,或它的一部分可以存储在远程存储器存储设备中。应该认识到,所示的网络连接是示范性的,也可以使用其它手段来建立计算机之间的通信链路。
应该注意到,上述的计算机可以作为计算机网络的一部分来部署,本发明适用于含有任意数据的存储器或存储单元和在整个任意数量的卷中存在的任意数量的应用程序和进程的任何计算机。因此,本发明可应用于含有远程或本地存储器件的、部署在网络环境中的服务器计算机和客户机计算机两者。图2显示了本发明可以应用到其中的、含有通过网络与客户机计算机进行通信的服务器的示范性网络环境。如图所示,许多服务器10a、10b等通过通信网络14(可以是LAN、WAN、内联网或因特网)与许多客户机计算机20a、20b、20c等互连。在通信网络14是,例如,因特网的网络环境中,服务器10可以是客户机20通过诸如超文本传输协议(HTTP)之类的许多已知协议的任何一种与之通信的万维网服务器。
每台客户机计算机20和服务器计算机10可以配有各种应用程序模块36、其它程序模块37和程序数据38,并且可以配有与各种存储单元或对象的连线或可以访问这些存储单元或对象。因此,每台计算机10或20可以含有与之相关的应用程序相关性信息,这种相关性可能存在于整个系统之中,包括卷内相关性、卷间相关性和/或在整个网络内的相关性,或应用程序状态从外部依赖于它的其它类型相关性。
因此,本发明可用在含有访问网络和与网络交互的客户机计算机和与客户机计算机交互的服务器计算机的计算机网络环境中。如前所述,按照本发明,API协议与应用程序(或其它对象)、公共软件代理器、注册表、存储部件和服务程序的一个或多个当中的应用程序相关性信息的传送联系在一起使用。这种API可以用各种各样的网络或系统构造来实现,因此,不应该仅限于所示和所述的例子。
图3A和3B是为了与服务程序联系在一起使用而收集在存储器件中的、反映潜在应用程序相关性信息的垂直和水平方面的状态相关性的示范性分层结构。在图3A中,应用程序X与对象Y和Z通信,从而对象Y进行对数据库400a的读访问,和对象Z进行对数据库400b的写操作。应用程序X也可以写文件对象F1和F2。服务程序可以利用这种与,例如,备份或恢复操作联系在一起瞬时收集的信息。因此,应用程序X瞬时状态相关性的知识可能对某些类型的系统服务操作带来很大好处。图3B展示了穿插在应用程序1和2中的分层信息,应用程序1和2两者都进行对数据库400c的写操作。这些写操作的一个或两个可能比另一个长,同时进行,要不然,破坏数据库400c中的数据。因此,在原子瞬时有关应用程序1和2的应用程序相关性的信息非常有助于,例如,在崩溃之后恢复应用程序1的进程。如果在试图恢复应用程序1之前没有冻结应用程序2,那么,可能导致错误。另外,分层相关性信息的知识也有助于与应用程序1和2有关的备份操作。虽然应用程序状态分层结构的这些例子包括应用程序和数据库,但是,应该明白,含有相关性的数据可以存储在许多不同类型的存储单元中,包括含有与其它这样的对象的相关性的文件、数据库记录、注册表关键字、活动目录实体、IIS元库等。
图4显示了供存储应用程序相关性信息用的、通过本发明的API使用的示范性数据结构。因此,诸如数据库或硬盘存储器之类的存储部件12可以含有存储在其中的相关性信息的列表或表。按照本发明,例如,各个列表或表可以含有首标12a和各种特征12b,譬如,分层相关性信息或收集信息的时间,以及与可以使用信息的服务程序有关的其它信息。在优选实施例中,分层相关性信息12b是用XML(可扩展标记语言)格式表述的,但是,也可以是适合于表述和传送应用程序相关性信息的任何格式。
如上所述,本发明包括系统与应用程序之间的协作进程。如图5的系统构造所示,一旦被注册(如虚线所表示的),应用程序就可以响应有关它们相关性信息的请求,把它们的外部相关性传送到公共软件代理器510。因此,服务程序500可以在给定瞬时请求目标对象的应用程序相关性信息。如果目标对象已经被注册了,代理器510就可以向目标对象请求目标对象的应用程序相关性,从而开始把与目标对象的相关性有关的信息的表或列表存储在存储部件12中。然后,通过向应用程序进一步请求相关性信息,从目标对象相关性中查找进一步的相关性。通过这种递归进程,生成目标对象相关性信息的完备列表,并且将其存储在存储部件12中。然后,通过代理器510把完备列表传送给服务程序500。服务程序500可以是为目标对象生成相容瞬时相关性列表的通用服务程序,并且可以与备份、快照或恢复服务程序分开使用,或者与它们联系在一起使用。
API协议根据收集应用程序相关性信息的服务规则,启动对有关相关性信息的应用程序的预定调用。另外,可以把应用程序注册在或安装在通过本发明的API启动的基础结构中,从而可以把最初的一组状态相关性传送到代理器,以便同时存储。每当与自身相关的状态发生改变时,应用程序就发出应用程序相关性信息在技术上也是可行的,或者可以定期调度(由代理器510或服务程序500)和收集完备相关性信息组。因此,按照本发明的API协议,应用程序能够理解它依赖于哪些其它对象或应用程序,即,应用程序意识到它自己的相关性。另外,用于在本发明的API与应用程序App1-AppN、代理器510和/或备份服务程序500之间通信的示范性格式是XML,但是,再次提醒一起,不应该局限于某一特定的格式。
图6是与服务操作联系在一起的服务程序利用存储在存储部件12中的和由代理器510管理的应用程序相关性信息的、根据本发明的示范性序列的流程图。例如,在600,可以利用通过本发明的API协议形成的基础结构注册应用程序。应用程序可以在任何时候注册或注销。在610,确定应用程序相关性信息是否是所需信息。在620,服务程序500请求与特定卷、应用程序、数据库等(目标对象)有关的相关性信息。在630,代理器510向API相关性模块请求目标对象,和与要服务的对象有关的相关性信息集。在640,代理器510向不同程度依赖于目标对象的某些已注册应用程序请求相关性信息。最好,代理器发出局限于通过服务程序请求的目标对象相关性的请求。
在640到660,把相关性信息递归地发送到遵照与完备相关性信息组有关的各种请求的代理器510,直到已经把与目标对象有关的完备相关性信息组(例如,通过图3A的应用程序X反映的分层信息)存储在存储部件12中为止。在660,由于与目标对象有关的完备相关性信息组的请求已经完成,因此,再也没有从应用程序传送而来的应用程序相关性信息。在670,代理器510把相关性信息传送给服务程序500。在优选实施例中,只有少量完成服务请求所需的相关性信息传送给服务程序500。在680,服务程序处理和利用分层相关性信息。因此,在690,完成服务请求,并且流程可选地返回到610。
尽管通过与通用设备500联系在一起已经描述了图6的示范性序列,但是,应用程序相关性信息的预期使用可广泛应用于与复原有关的进程、包含应用程序交互的进程或应用程序被认为与其它应用程序和对象的操作有关的进程。
图7是说明利用根据本发明存储的应用程序相关性信息进行备份或快照拍摄操作的优选实施例的、根据本发明的示范性备份序列的流程图。图7说明了一种特定类型的服务,诸如全备份操作的备份服务或快照拍摄服务,它们可能与图6的结构重叠。一旦描述通用设备500,也可以使用更具体的服务程序。在本发明的优选实施例中,在710,最好将应用程序相关性信息与备份服务程序相联系,和在720,请求与目标对象有关的信息。如果由于预定的相关性信息集而已经存在相关性信息,那么,流程可以跳到770,把信息传送给备份服务程序;否则,如图6所示那样执行步骤630到660。
接着,在780,根据目标对象的相关性信息确定冻结次序,并且执行冻结次序。例如,图3B所描绘的分层相关性背景可以用于说明或许与步骤780联系在一起使用的刷新或冻结次序确定和执行。例如,根据代理器510收集的和提供给备份服务程序的应用程序相关性信息,可以确定备份服务程序首先应该冻结或刷新应用程序2,然后再冻结或刷新应用程序1,以便为目标对象应用程序1进行适当的备份服务或诸如恢复操作之类的其它服务。一旦为了备份或快照拍摄服务,以适当次序已经冻结了计算机系统的对象,备份或快照拍摄服务就可以在790与应用程序相关性无关地完成它的操作。流程可以再一次返回到710,以便进行另一个服务操作。
这里所述的各种技术可以用适当的硬件或软件,或两者的组合来实现。因此,本发明的方法和设备,或它们的某些方面或部分可以采取包含在有形介质中的程序代码(即,指令)的形式,有形介质包括,例如,软盘、CD-ROM、硬盘或任何其它机器可读存储介质,其中,当把程序代码装入诸如计算机的机器中和该机器执行这样的程序代码时,该机器就变成了实现本发明的设备。如果在可编程计算机上执行程序代码,计算机一般包括处理器、可由处理器读取的存储介质(包括易失性和非易失性存储器和/或存储单元)、至少一个输入设备和至少一个输出设备。一个或多个程序最好用高级过程或面向对象的编程语言编写,以便与计算机系统通信。但是,如果需要的话,程序也可以用汇编或机器语言编写。无论如何,语言可以是编译或解释语言,并且与硬件设施结合在一起。
本发明的方法和设备还可以以在一些传输媒体上传输的程序代码的形式具体化,这些传输媒体包括,例如,在电线或电缆上、通过光纤或通过任何其它传输形式,其中,当接收到程序代码,把这样的程序代码装入诸如EPROM(电可擦除可编程只读存储器)、门阵列、可编程逻辑设备(PLD)、客户机计算机、录像机等的机器中,和该机器执行这样的程序代码时,该机器就变成了实现本发明的设备。当在通用处理器上实现时,程序代码与处理器结合在一起,变成起执行本发明的索引功能作用的独特设备。例如,本发明的存储技术和快照拍摄技术可以分别总是要与存储数据或拍摄数据的快照联系在一起使用的硬件和软件的组合。
虽然通过结合各个图所示的优选实施例已经对本发明作了描述,但是,应该明白,可以利用其它相似的实施例,并且可以对所述的实施例进行修改和补充,来执行本发明的相同功能,而不会偏离本发明的精神和范围。例如,虽然在优选实施例中,把XML用作相关性信息的通信协议,但是,应该明白,许多不同的通信和网络协议也适合于传送基于本发明的相关性信息。并且,应该强调一下,各种各样的计算机平台,包括手持设备操作系统和其它应用专用操作系统,也在考虑之列。因此,本发明不应该限于任何单个实施例,而是应该理解为基于所附权利要求书的宽度和范围。

Claims (26)

1.一种在计算机系统中利用应用程序相关性信息有效地进行备份服务操作的方法,包括如下步骤:
利用应用程序相关性应用程序编程接口(API)注册装入所述计算机系统中的应用程序,以便在应用程序、公共软件代理器、供所述代理器使用的存储部件和备份服务程序内传送应用程序相关性信息;
把至少一个应用程序相关性信息存储在所述存储部件中;和
把所述应用程序相关性信息从所述存储部件传送到所述备份设备。
2.根据权利要求1所述的方法,其中,所述备份服务程序包括快照拍摄服务程序。
3.根据权利要求1所述的方法,其中,所述备份服务程序包括应用程序冻结次序的确定。
4.根据权利要求3所述的方法,其中,所述备份服务程序包括以所确定的应用程序冻结次序反映的次序冻结应用程序的执行。
5.根据权利要求1所述的方法,还包括如下步骤:把所述应用程序相关性应用程序编程接口(API)装入所述计算机系统中。
6.根据权利要求1所述的方法,还包括如下步骤:所述备份服务程序向公共软件代理器请求应用程序相关性信息组,以便与恢复操作联系在一起使用。
7.根据权利要求6所述的方法,其中,所述应用程序相关性信息组是成功完成恢复操作的来自所述存储部件的最小信息组。
8.根据权利要求6所述的方法,还包括如下步骤:所述代理器向至少一个已注册应用程序发出与出自服务程序所请求的所述应用程序相关性信息组的信息有关的请求。
9.根据权利要求1所述的方法,还包括如下步骤:至少一个已注册应用程序响应所述代理器的请求,把信息传送到所述代理器,所述信息与所述至少一个应用程序外部相关性有关。
10.根据权利要求1所述的方法,还包括如下步骤:注销应用程序。
11.根据权利要求1所述的方法,其中,所述应用程序编程接口协议是XML协议。
12.根据权利要求1所述的方法,其中,所述代理器以反映分层应用程序相关性的列表格式把所述应用程序相关性信息存储在所述存储部件中。
13.一种包括数据结构的计算设备,所述数据结构用于存储应用程序相关性信息,所述应用程序相关性信息包含在具有计算机可执行指令的计算机可读介质中,所述数据结构包括:
标识应用程序的标识符,对于标识的应用程序,至少一个外部相关性是已知的;和
代表所述至少一个外部相关性的数据。
14.根据权利要求13所述的计算设备,其中,代表所述至少一个外部相关性的所述数据是以XML格式存储的。
15.一种供计算机系统使用的应用程序编程接口(API),其中,所述应用程序编程接口协议使代理器能够响应通过服务程序的请求,收集、存储和封装应用程序相关性信息,此后,把所述应用程序相关性信息传送给所述服务程序,供所述服务程序作进一步处理之用。
16.根据权利要求15所述的应用程序编程接口,其中,所述代理器把所述信息传送给它的服务程序是备份服务程序。
17.根据权利要求15所述的应用程序编程接口,其中,所述服务程序包括快照拍摄服务程序。
18.根据权利要求15所述的应用程序编程接口,其中,所述服务程序包括应用程序冻结次序的确定。
19.根据权利要求15所述的应用程序编程接口,其中,所述代理器以反映分层应用程序相关性的列表格式把所述应用程序相关性信息存储在所述存储部件中。
20.一种应用程序编程接口(API),其根据如下数据结构,传送与计算机系统中的应用程序有关的应用程序相关性信息,所述数据结构包括:
标识应用程序的标识符,对于标识的应用程序,至少一个外部相关性是已知的;和
代表所述至少一个外部相关性的数据。
21.一种计算机系统,包括:
装入所述系统中的数个应用程序,其中,至少一个应用程序含有至少一个与之相联系的外部数据相关性;
用于存储应用程序相关性信息的存储部件;
依所述系统中的应用程序编程接口(API)的通信协议起作用的代理器,用于处理从所述代理器传送到所述应用程序编程接口的应用程序相关性信息,和用于把应用程序相关性信息存储在所述存储部件中;和
向所述代理器作出有关应用程序相关性信息的请求的服务程序,其中,所述代理器响应通过服务程序的请求,收集、存储和封装所述应用程序相关性信息,此后,把所述应用程序相关性信息组传送给所述服务程序,供所述服务程序作进一步处理之用。
22.根据权利要求21所述的计算机系统,其中,所述代理器把所述信息传送给它的服务程序是备份服务程序。
23.根据权利要求21所述的计算机系统,其中,所述服务程序包括快照拍摄服务程序。
24.根据权利要求21所述的计算机系统,其中,所述服务程序包括应用程序冻结次序的确定。
25.根据权利要求21所述的计算机系统,其中,所述代理器以反映分层应用程序相关性的列表格式把所述应用程序相关性信息存储在所述存储部件中。
26.根据权利要求21所述的计算机系统,其中,所述应用程序相关性信息组是成功完成服务的来自所述存储部件的最小信息组。
CNB008194653A 2000-04-24 2000-06-06 在计算机系统中提供卷快照相关性的方法和设备 Expired - Lifetime CN1253793C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/557,250 2000-04-24
US09/557,250 US7363633B1 (en) 2000-04-24 2000-04-24 Registering and storing dependencies among applications and objects in a computer system and communicating the dependencies to a recovery or backup service

Publications (2)

Publication Number Publication Date
CN1452737A CN1452737A (zh) 2003-10-29
CN1253793C true CN1253793C (zh) 2006-04-26

Family

ID=24224632

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB008194653A Expired - Lifetime CN1253793C (zh) 2000-04-24 2000-06-06 在计算机系统中提供卷快照相关性的方法和设备

Country Status (8)

Country Link
US (1) US7363633B1 (zh)
EP (1) EP1277113B1 (zh)
JP (1) JP4570312B2 (zh)
CN (1) CN1253793C (zh)
AT (1) ATE313827T1 (zh)
AU (1) AU2000254655A1 (zh)
DE (1) DE60025043T2 (zh)
WO (1) WO2001082082A1 (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197120B2 (en) * 2000-12-22 2007-03-27 Openwave Systems Inc. Method and system for facilitating mediated communication
US7530076B2 (en) * 2001-03-23 2009-05-05 S2 Technologies, Inc. Dynamic interception of calls by a target device
US20030061292A1 (en) * 2001-03-23 2003-03-27 Mark Underseth System and method for providing an interface for com-compliant applications to communicate with embedded systems
EP1473906A2 (en) * 2003-04-28 2004-11-03 Matsushita Electric Industrial Co., Ltd. Service management system, and method, communications unit and integrated circuit for use in such system
US7660833B2 (en) * 2003-07-10 2010-02-09 Microsoft Corporation Granular control over the authority of replicated information via fencing and unfencing
CN1305265C (zh) * 2003-11-07 2007-03-14 清华大学 San系统中基于负载自适应的异步远程镜像方法
CN100359476C (zh) * 2004-06-03 2008-01-02 华为技术有限公司 一种快照备份的方法
CN100337208C (zh) * 2004-06-03 2007-09-12 华为技术有限公司 一种存储系统中的快照处理方法
JP4325524B2 (ja) * 2004-09-29 2009-09-02 日本電気株式会社 スイッチ装置とシステム並びにバックアップ及びリストア方法とプログラム
US7809764B2 (en) * 2004-11-01 2010-10-05 Microsoft Corporation Method and apparatus for preserving dependancies during data transfer and replication
US7472307B2 (en) 2004-11-02 2008-12-30 Hewlett-Packard Development Company, L.P. Recovery operations in storage networks
US20060106893A1 (en) * 2004-11-02 2006-05-18 Rodger Daniels Incremental backup operations in storage networks
CA2954888C (en) * 2005-06-24 2019-06-04 Catalogic Software, Inc. System and method for high performance enterprise data protection
US7707451B2 (en) * 2005-06-28 2010-04-27 Alcatel-Lucent Usa Inc. Methods and devices for recovering from initialization failures
EP1915682A4 (en) * 2005-06-29 2014-10-01 Emc Corp CREATING A UNIQUE CLIENT INSTANTANE USING A CLIENT UTILITY
DE102005032542A1 (de) * 2005-07-12 2007-01-18 Giesecke & Devrient Gmbh Verwaltung von Applikationen in einem tragbaren Datenträger
CN100369000C (zh) * 2005-08-12 2008-02-13 西安三茗科技有限责任公司 一种计算机硬盘数据多时间点快速存储与恢复方法
EP1921545A3 (en) * 2006-11-07 2013-09-04 Magix Ag Application-Specific Intelligent Backup and Restore System
US8122359B2 (en) 2007-06-05 2012-02-21 International Business Machines Corporation Apparatus, system, and method for topological display of user interface elements
US7996370B2 (en) * 2007-12-13 2011-08-09 International Business Machines Corporation System restoration apparatus and method for management of dependencies, ordering sensitivities, and database index rebuilds
US9424323B2 (en) * 2008-01-31 2016-08-23 Oracle International Corporation Application tier data dictionary
JP5263696B2 (ja) 2008-06-30 2013-08-14 インターナショナル・ビジネス・マシーンズ・コーポレーション ソフトウェア構成要素をバックアップするためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
US20100057787A1 (en) * 2008-08-28 2010-03-04 International Business Machines Corporation Method, system, and computer program product for cloning of distributed and stateful systems
CN101751593B (zh) * 2008-11-28 2013-01-02 爱思开电讯投资(中国)有限公司 智能卡及其备份与恢复方法和系统
US8484161B2 (en) * 2011-08-29 2013-07-09 Oracle International Corporation Live file system migration
US9087006B2 (en) 2012-05-29 2015-07-21 Infinidat Ltd. Destaging cached data in multiple recurrences in a storage system
CN103222220B (zh) * 2012-10-31 2015-09-09 华为技术有限公司 网络数据的回退方法及设备
US20140379981A1 (en) * 2013-06-21 2014-12-25 International Business Machines Corporation Application discovery using storage system signatures
US11150992B2 (en) * 2018-08-21 2021-10-19 International Business Machines Corporation File entity relationship management and source product backup
US11068351B2 (en) * 2018-11-19 2021-07-20 International Business Machines Corporation Data consistency when switching from primary to backup data storage
US11308267B1 (en) 2020-09-25 2022-04-19 UiPath, Inc. Artifacts reference creation and dependency tracking

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE508828C2 (sv) * 1992-12-08 1998-11-09 Ericsson Telefon Ab L M System för relationsåterhämtning av databas i händelse av fel
JP2783109B2 (ja) * 1993-03-04 1998-08-06 三菱電機株式会社 データベースシステム退避装置及びデータベースシステム復元装置及びデータベースシステム移行装置
US5590277A (en) * 1994-06-22 1996-12-31 Lucent Technologies Inc. Progressive retry method and apparatus for software failure recovery in multi-process message-passing applications
US5872979A (en) 1995-01-04 1999-02-16 International Business Machines Corporation Method and system for removing software involving shared files
DE69635409T2 (de) * 1995-03-06 2006-07-27 Intel Corp., Santa Clara Ein rechnersystem mit unbewachter auf-anfrage-verfügbarkeit
US6029160A (en) * 1995-05-24 2000-02-22 International Business Machines Corporation Method and means for linking a database system with a system for filing data
JP3708199B2 (ja) * 1996-01-17 2005-10-19 株式会社東芝 コンカレントエンジニアリング支援システム及びコンカレントエンジニアリング支援方法
US5867650A (en) * 1996-07-10 1999-02-02 Microsoft Corporation Out-of-band data transmission
US6237020B1 (en) * 1996-10-01 2001-05-22 International Business Machines Corporation Task-oriented automatic distribution of software
US5920873A (en) * 1996-12-06 1999-07-06 International Business Machines Corporation Data management control system for file and database
US5995958A (en) * 1997-03-04 1999-11-30 Xu; Kevin Houzhi System and method for storing and managing functions
US6067550A (en) * 1997-03-10 2000-05-23 Microsoft Corporation Database computer system with application recovery and dependency handling write cache
US5946698A (en) * 1997-03-10 1999-08-31 Microsoft Corporation Database computer system with application recovery
US5870763A (en) * 1997-03-10 1999-02-09 Microsoft Corporation Database computer system with application recovery and dependency handling read cache
US6031987A (en) * 1997-05-06 2000-02-29 At&T Optimistic distributed simulation based on transitive dependency tracking
US5938775A (en) * 1997-05-23 1999-08-17 At & T Corp. Distributed recovery with κ-optimistic logging
US6061678A (en) * 1997-10-31 2000-05-09 Oracle Corporation Approach for managing access to large objects in database systems using large object indexes
US6182210B1 (en) * 1997-12-16 2001-01-30 Intel Corporation Processor having multiple program counters and trace buffers outside an execution pipeline
WO1999045465A1 (en) 1998-03-03 1999-09-10 Siebel Systems, Inc. Method, system, apparatus and program product for distribution and instantiation of software upgrades
US6119129A (en) * 1998-05-14 2000-09-12 Sun Microsystems, Inc. Multi-threaded journaling in a configuration database
US6269431B1 (en) * 1998-08-13 2001-07-31 Emc Corporation Virtual storage and block level direct access of secondary storage for recovery of backup data
US6353878B1 (en) * 1998-08-13 2002-03-05 Emc Corporation Remote control of backup media in a secondary storage subsystem through access to a primary storage subsystem
CA2256934C (en) * 1998-12-23 2002-04-02 Hamid Bacha System for electronic repository of data enforcing access control on data retrieval
US6397308B1 (en) * 1998-12-31 2002-05-28 Emc Corporation Apparatus and method for differential backup and restoration of data in a computer storage system
US6820118B1 (en) * 1999-01-20 2004-11-16 International Business Machines Corporation Method and system for providing a linkage between systems management systems and applications
US6490695B1 (en) * 1999-01-22 2002-12-03 Sun Microsystems, Inc. Platform independent memory image analysis architecture for debugging a computer program
US6513019B2 (en) * 1999-02-16 2003-01-28 Financial Technologies International, Inc. Financial consolidation and communication platform
JP3728156B2 (ja) * 1999-10-21 2005-12-21 株式会社日本ウォルブロー 2行程機関の加速装置
US6633978B1 (en) * 2000-03-31 2003-10-14 Hewlett-Packard Development Company, L.P. Method and apparatus for restoring computer resources
US6313019B1 (en) * 2000-08-22 2001-11-06 Advanced Micro Devices Y-gate formation using damascene processing

Also Published As

Publication number Publication date
ATE313827T1 (de) 2006-01-15
EP1277113B1 (en) 2005-12-21
EP1277113A1 (en) 2003-01-22
AU2000254655A1 (en) 2001-11-07
DE60025043T2 (de) 2006-07-13
WO2001082082A1 (en) 2001-11-01
DE60025043D1 (de) 2006-01-26
CN1452737A (zh) 2003-10-29
US7363633B1 (en) 2008-04-22
JP4570312B2 (ja) 2010-10-27
JP2003532190A (ja) 2003-10-28

Similar Documents

Publication Publication Date Title
CN1253793C (zh) 在计算机系统中提供卷快照相关性的方法和设备
CN1229725C (zh) 提供对多个快照提供方的公共协调和管理的方法和系统
US8161321B2 (en) Virtual machine-based on-demand parallel disaster recovery system and the method thereof
US11178246B2 (en) Managing cloud-based storage using a time-series database
CN109933597B (zh) 具有数据库引擎和独立分布式存储服务的数据库系统
US9378088B1 (en) Method and system for reclamation of distributed dynamically generated erasure groups for data migration between high performance computing architectures and data storage using non-deterministic data addressing
CN107844388B (zh) 从备份系统流式恢复数据库
US11470146B2 (en) Managing a cloud-based distributed computing environment using a distributed database
US9590915B2 (en) Transmission of Map/Reduce data in a data center
US20170132091A1 (en) Log-structured distributed storage using a single log sequence number space
US9740582B2 (en) System and method of failover recovery
CN106716412B (zh) 用于支持分布式计算环境中的零拷贝二进制基数树的系统和方法
US20120072395A1 (en) System and method for variable block logging with log-ahead buffers
CN1786959A (zh) 用于基于文件优化快照操作的方法
US20030200390A1 (en) System and method for providing graph structuring for layered virtual volumes
US20110271145A1 (en) Efficient failure detection for long running data transfer jobs
US11366802B1 (en) Batch undo processing for transaction rollbacks in a multi-writer database
CN113760847A (zh) 日志数据处理方法、装置、设备及存储介质
Gadiraju et al. Recovery in the mobile wireless environment using mobile agents
Dong et al. Disaggregating RocksDB: A Production Experience
CN1833232A (zh) 用于运行时数据管理的存储系统类区别提示
CN112464044B (zh) 一种文件数据块变化信息监控管理系统及其方法
US11379463B1 (en) Atomic enforcement of cross-page data constraints in decoupled multi-writer databases
Spector Communication support in operating systems for distributed transactions
Lofstead et al. Efficient, failure resilient transactions for parallel and distributed computing

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: 20150506

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

Effective date of registration: 20150506

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

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

Effective date of registration: 20160822

Address after: Grand Cayman, Georgetown, Cayman Islands

Patentee after: IValley Holding Co., Ltd.

Address before: Washington State

Patentee before: Micro soft technique license Co., Ltd

CX01 Expiry of patent term

Granted publication date: 20060426

CX01 Expiry of patent term