US2005022213A1PendingUtilityA1
Method and apparatus for synchronizing applications for data recovery using storage based journaling
Est. expiryJul 25, 2023(expired)· nominal 20-yr term from priority
Inventors:Kenji Yamagami
Y10S707/99954G06F 2201/84G06F 11/1471
34
PatentIndex Score
0
Cited by
0
References
0
Claims
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.
Claims
exact text as granted — not AI-modified1 . 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.
2 . The method of claim 1 wherein the user-request to retrieve a specified marker journal entry includes information indicating at least one of a target time, an operation, and an object name.
3 . The method of claim 1 further comprising obtaining the previously retrieved marker journal entry based on one of an operation on an object and an object name.
4 . The method of claim 1 further comprising retrieving a plurality of marker journal entries and presenting one or more of the marker journal entries to a user, wherein the previously retrieved marker journal entry is a user selected one of the marker journal entries.
5 . The method of claim 1 wherein the marker journal entries are retrieved periodically over a span of time.
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.
7 . The method of claim 6 further comprising receiving a user-request to retrieve a marker journal entry and in response thereto communicating a marker retrieval request to the data store, wherein the marker retrieval request includes one or more retrieval criteria, wherein the communicating includes invoking second API program code to transmit the marker retrieval request to the data store.
8 . The method of claim 7 further comprising receiving a retrieved marker journal entry from the data store and storing the retrieved marker journal entry, wherein the retrieved marker journal entry satisfies the one or more retrieval criteria.
9 . The method of claim 8 further comprising communicating additional marker retrieval requests to the data store and storing additional retrieved marker journal entries.
10 . The method of claim 6 further comprising receiving user-information indicative of one of more predetermined operations to be monitored.
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.
12 . The method of claim 11 wherein communicating a marker journal request includes invoking first API program code to communicate with the data store.
13 . The method of claim 12 wherein retrieving one or more first marker journal entries includes performing one or more invocations of second API program code to communicate with the data store.
14 . The method of claim 13 wherein performing a recovery operation includes performing one or more invocations of third API program code to communicate with the data store.
15 . The method of claim 11 further comprising receiving user-information representative of the at least some of the user-requests.
16 . The method of claim 15 wherein the user-information includes one or more of an operation to be performed in the data store and an object contained in the data store.
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.
18 . The method of claim 17 further comprising assigning a sequence number to each journal entry and to the marker journal entry in the order in which the entries are produced.
19 . The method of claim 17 wherein the marker request is detected as part of performing a predetermined operation on an object stored on the data store.
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.
21 . The computer apparatus of claim 20 wherein each marker journal request includes information indicative of one of an object contained in the data store and an operation to be performed on an object contained in the data store.
22 . The computer apparatus of claim 20 wherein the marker retrieval requests are based on information associated with the marker journal entries.
23 . The computer apparatus of claim 20 wherein the data recovery request includes a target time indicative of the data state to be recovered.
24 . The computer apparatus of claim 23 wherein the target time is based on a time associated with a previously retrieved marker journal entry.
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.
26 . The computer program product of claim 25 wherein the recovery request includes a target time that is based on a time associated with a previously retrieved marker journal entry.
27 . The computer program product of claim 25 wherein the API further comprises a fourth API component configured to allow execution of fourth program code, the fourth program code configured to monitor one or more operations on one or more objects contained in the data store.
28 . The computer program product of claim 27 wherein the API further comprises a fifth API component configured to allow execution of fifth program code, the fifth program code configured to communicate a marker retrieval request to the data store to retrieve a marker journal entry.
29 . The computer program product of claim 28 wherein the fifth program code is further configured to communicate a plurality of marker retrieval requests to retrieve a plurality of retrieved marker journal entries, wherein the recovery request includes a target time that is based on a time associated with one of the retrieved marker journal entries.
30 . The computer program product of claim 27 wherein the API further comprises:
a fifth API component configured to allow execution of fifth program code, the fifth program code configured to communicate a plurality of marker retrieval requests to the data store to retrieve a plurality of marker journal entries; and a sixth API component configured to allow execution of sixth program code, the sixth program code configured to display the plurality of marker journal entries, wherein the recovery request includes a target time that is based on a time associated with one of the retrieved marker journal entries.Join the waitlist — get patent alerts
Track US2005022213A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.