Method and apparatus for synchronizing applications for data recovery using storage based journaling
First Claim
Patent Images
1. A method for accessing data contained in a data store comprising:
- detecting a user-request to perform an operation on an object stored in a data store and in response thereto communicating a request to the data store to perform the operation and communicating a marker request to the data store, the marker request including information indicative of the operation and the object, wherein the marker request produces a marker journal entry;
detecting a user-request to retrieve a specified marker journal entry and in response thereto communicating a request to the data store to retrieve the specified marker journal entry; and
detecting a user-request to perform a recovery operation and in response thereto communicating a recovery request to the data store to restore a data state of the data store, the user-request including information including a target time of the data state, the target time being based on a time associated with a previously retrieved marker journal entry.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed is a method to synchronize the state of an application and an application'"'"'s objects with data stored on the storage system. The storage system provides API'"'"'s to create special data, called a marker journal, and stores it on a journal volume. The marker contains application information, e.g. file name, operation on the file, timestamp, etc. Since the journal volume contains markers as well as any changed data in the chronological order, IO activities to the storage system and application activities can be synchronized.
108 Citations
30 Claims
-
1. A method for accessing data contained in a data store comprising:
-
detecting a user-request to perform an operation on an object stored in a data store and in response thereto communicating a request to the data store to perform the operation and communicating a marker request to the data store, the marker request including information indicative of the operation and the object, wherein the marker request produces a marker journal entry;
detecting a user-request to retrieve a specified marker journal entry and in response thereto communicating a request to the data store to retrieve the specified marker journal entry; and
detecting a user-request to perform a recovery operation and in response thereto communicating a recovery request to the data store to restore a data state of the data store, the user-request including information including a target time of the data state, the target time being based on a time associated with a previously retrieved marker journal entry. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for processing data on a data store comprising:
-
receiving user-requests for operations to be performed on a data store;
for each user-request, communicating one or more requests to the data store to perform the user-request;
monitoring the user-requests; and
if a user-request is a predetermined operation, then communicating a marker journal request to the data store in addition to communicating the one or more requests, thereby creating a marker journal entry to mark a time of occurrence of the predetermined operation, wherein the marker journal request includes information representative of the predetermined operation, wherein communicating a marker journal request includes invoking first application program interface (API) program code to transmit the marker journal request to the data store. - View Dependent Claims (7, 8, 9, 10)
-
-
11. Method for processing data contained in a data store comprising:
-
receiving user-requests for operations to be performed on a data store;
for each user-request, communicating one or more associated requests to the data store to perform the user-request;
for at least some of the user-requests, communicating a marker journal request to the data store in addition to communicating the one or more associated requests, thereby creating one or more marker journal entries to mark a time of occurrence of some of the user-requests;
retrieving one or more first marker journal entries from the data store, based on one or more retrieval criteria;
displaying the first marker journal entries;
receiving a user-selected one of the first marker journal entries; and
performing a recovery operation based on a target time associated with the user-selected one of the first marker journal entries. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A method for processing data in a data store comprising:
-
producing one or more snapshots of a data store;
detecting write requests directed to the data store and in response thereto producing journal entries corresponding to the write requests, wherein the journal entries can be applied to one of the snapshots to recreate one or more data states of the data store;
detecting a marker request and in response thereto producing a marker journal entry, wherein the journal entries and the marker journal entries are ordered according to the time of their respective write requests and marker requests;
detecting a request to retrieve a specified marker journal entry and in response thereto accessing the specified marker journal entry; and
detecting a request to perform a recovery operation, the request including a target time based on a time associated with a previously retrieved marker journal entry. - View Dependent Claims (18, 19)
-
-
20. Computer apparatus for processing data contained in a data store comprising:
-
a data processing component;
a communication component configured to communicate between a host device and a data store; and
computer program code configured to operate one or more of the data processing component and the communication component to perform steps of;
communicating marker journal requests to the data store, to create a plurality of marker journals;
communicating marker retrieval requests to the data store, to retrieve one or more of the marker journal entries; and
communicating a data recovery request to the data store, to perform a recovery operation to recover a data state in the data store;
wherein the computer program code is configured as an application programming interface (API) to allow an application program to perform one or more of the steps of communicating. - View Dependent Claims (21, 22, 23, 24)
-
-
25. A computer program product for processing data on a data store comprising:
-
a storage component having stored therein computer program code, the computer program code comprising an application program interface (API), the API comprising;
a first API component configured to allow execution of first program code, the first program code configured to communicate a maker journal request to a data store to create a marker journal entry, the marker journal request including marker information indicative of one or more of an object contained in the data store and an operation on an object contained in the data store, the marker information being associated with the marker journal entry;
a second API component configured to allow execution of second program code, the second program code configured to communicate a marker retrieval request to the data store to retrieve at least one marker journal entry, the marker retrieval request including retrieval criteria based on the marker information; and
a third API component configured to allow execution of third program code, the third program code configured to communicate a recovery request to the data store to recover a data state of the data store. - View Dependent Claims (26, 27, 28, 29, 30)
-
Specification