Recovery from failures within data processing systems
First Claim
1. A method for recovery from failures affecting a primary copy of a data repository, for use in a data processing system in which updates applied to the data repository during normal forward processing are applied within transactional units of work, the method including the steps of:
- storing a secondary copy of data representing data items held within the data repository and updates applied to the data repository within said units of work;
in response to a failure affecting a primary copy of the data repository, identifying from said secondary copy a set of operations required for restoring said data items and applied updates to a primary copy of the data repository;
determining the state, at the time of the failure, of each unit of work corresponding to one or more operations of the identified set of restore operations; and
performing restore operations of said identified set for which said performance is consistent with the determined state of the corresponding unit of work, and discarding restore operations of said identified set for which performance is inconsistent with the determined state of the corresponding unit of work.
1 Assignment
0 Petitions
Accused Products
Abstract
Provided are methods, data processing systems, recovery components and computer programs for recovering from failures affecting data repositories. In a data processing system in which updates applied to a data repository are applied within transactional units of work, a secondary copy is stored of data items held within the data repository and updates applied to the data repository within transactional units of work. In response to a failure affecting a primary copy of the data repository, the secondary copy is used to identify a set of operations required for restoring data items and applied updates to the primary copy of the data repository. The set of operations are analyzed to determine the state, at the time of the failure, of each unit of work corresponding to one or more operations of the identified set of restore operations. Restore operations of the identified set are then performed if performance is consistent with the determined state of the corresponding unit of work, but restore operations for which performance is inconsistent with the determined state of the corresponding unit of work are disregarded. The method enables efficiency improvements for recovery processing.
1459 Citations
13 Claims
-
1. A method for recovery from failures affecting a primary copy of a data repository, for use in a data processing system in which updates applied to the data repository during normal forward processing are applied within transactional units of work, the method including the steps of:
-
storing a secondary copy of data representing data items held within the data repository and updates applied to the data repository within said units of work;
in response to a failure affecting a primary copy of the data repository, identifying from said secondary copy a set of operations required for restoring said data items and applied updates to a primary copy of the data repository;
determining the state, at the time of the failure, of each unit of work corresponding to one or more operations of the identified set of restore operations; and
performing restore operations of said identified set for which said performance is consistent with the determined state of the corresponding unit of work, and discarding restore operations of said identified set for which performance is inconsistent with the determined state of the corresponding unit of work. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A data communication system including:
-
data storage for storing a primary copy of a data repository;
secondary data storage for storing a secondary copy of data representing the data repository which secondary data is sufficient to recover the primary copy of the data repository and data held thereon;
a recovery component for controlling the operation of the data communication system to recover from a failure affecting the primary copy of the data repository, wherein the recovery component is operable to control the data communication system to perform the steps of;
in response to a failure affecting a primary copy of the data repository, identifying from said secondary copy a set of operations required for restoring said data items and applied updates to a primary copy of the data repository;
determining the state, at the time of the failure, of each unit of work corresponding to one or more operations of the identified set of restore operations; and
performing restore operations of said identified set for which said performance is consistent with the determined state of the corresponding unit of work, and discarding restore operations of said identified set for which performance is inconsistent with the determined state of the corresponding unit of work.
-
-
11. A data communication system for transferring messages between a sender and a receiver, the system including data storage for storing a primary copy of a message repository and including secondary data storage, wherein messages are held in the primary copy of the message repository following a message send operation and are retrieved from the primary copy of the message repository for delivery to the receiver, and wherein a secondary copy of the message repository is stored in the secondary data storage and log records are written to record message send and message retrieval events performed within transactional units of work since creation of the secondary copy,
the system including a recovery component adapted to control the data communication system to perform the following steps: -
in response to a failure affecting a primary copy of the message repository, identifying from said secondary copy a set of operations required for restoring said messages and reapplying message send and retrieval operations to a primary copy of the message repository;
determining the state, at the time of the failure, of each unit of work corresponding to one or more operations of the identified set of restore operations; and
performing restore operations of said identified set for which said performance is consistent with the determined state of the corresponding unit of work, and discarding restore operations of said identified set for which performance is inconsistent with the determined state of the corresponding unit of work.
-
-
12. A computer program product comprising program code recorded on a recording medium for controlling the operation of a data processing apparatus on which the program code executes to perform a method for recovering a data repository from a failure affecting a primary copy of the data repository, for use with a data processing-apparatus having a secondary data storage and having a component for maintaining a secondary copy of data in the secondary data storage which secondary copy is sufficient to recover the primary copy of the data respository and data items held thereon, and wherein updates applied to the data repository are applied within transactional units of work, the method including the steps of:
-
in response to a failure affecting a primary copy of the data repository, identifying from said secondary copy a set of operations required for restoring said data items and applied updates to a primary copy of the data repository;
determining the state, at the time of the failure, of each unit of work corresponding to one or more operations of the identified set of restore operations; and
performing restore operations of said identified set for which said performance is consistent with the determined state of the corresponding unit of work, and discarding restore operations of said identified set for which performance is inconsistent with the determined state of the corresponding unit of work.
-
-
13. A recovery component for recovering a data repository from a failure affecting a primary copy of the data repository, for use with a data processing system having primary and secondary data storage and having a component for maintaining a secondary copy of data in the secondary data storage which secondary copy is sufficient to recover the primary copy of the data respository and data items held thereon, wherein updates applied to the data repository are applied within transactional units of work, the recovery component being adapted to perform a method including the steps of:
-
in response to a failure affecting a primary copy of the data repository, identifying from said secondary copy a set of operations required for restoring said data items and applied updates to a primary copy of the data repository;
determining the state, at the time of the failure, of each unit of work corresponding to one or more operations of the identified set of restore operations; and
performing restore operations of said identified set for which said performance is consistent with the determined state of the corresponding unit of work, and discarding restore operations of said identified set for which performance is inconsistent with the determined state of the corresponding unit of work.
-
Specification