US2011302136A1PendingUtilityA1

Recoverable execution

47
Assignee: LAKSHMINATH ANANDPriority: Oct 10, 2005Filed: Aug 12, 2011Published: Dec 8, 2011
Est. expiryOct 10, 2025(expired)· nominal 20-yr term from priority
G06F 9/466G06F 16/2358G06F 16/2365
47
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Systems and methods for providing a one-step API that executes a series of atomic transactions in a database system. In one implementation, each atomic transaction is associated with a forward block of code that effects changes, an undo block of code that reverses the changes made by the forward block, and a state block of code that mimics successful execution of the forward block by setting internal states. In the event of a failure, the forward blocks, undo blocks, and state blocks can be used to roll forward or roll back changes as a whole. In one implementation, a one-step API for replicating data in a database is provided.

Claims

exact text as granted — not AI-modified
1 . A computer implemented method for replicating data, comprising:
 using at least one processor of a computing system to execute a process, the process comprising:   identifying or generating a propagation rule;   identifying or generating a capture rule; and   capturing a data record at the first database based at least in part upon the capture rule;   propagating the data record that is captured at the first database to a database based at least in part upon the propagation rule.   
     
     
         2 . The computer implemented method of  claim 1 , in which the database comprises the first database or the second database. 
     
     
         3 . The computer implemented method of  claim 1 , the process further comprising:
 identifying or generating an apply rule, wherein the apply rule specifies how the data record is applied to the database; and   performing the action of propagating the data record to the database based further at least in part upon the apply rule.   
     
     
         4 . The computer implemented method of  claim 1 , wherein the database comprises a second database, the action of propagating the data record constituting an atomic operation that further synchronizes the data record on the first database and a replicated copy of the data record on the second database based at least in part upon the apply rule, in which the replicated copy of the data record includes a change made to the data record on the first database. 
     
     
         5 . The computer implemented method of  claim 4 , the action of propagating the data record further comprising:
 identifying the change made to the data record on the first database;   capturing the change in a log record based at least in part upon the capture rule; and   effecting the change on the database based at least in part upon the apply rule.   
     
     
         6 . The computer implemented method of  claim 5 , the action of capturing the change comprising:
 translating the log record from a first format into a second format;   placing a representation of the log record in the second format after translation into a queue; and   storing the representation in a first queue. {the propagation process read from the streams queue; the logical rep is stored in the streams queue; }   
     
     
         7 . The computer implemented method of  claim 6 , the process further comprising:
 applying the propagation rule to the representation; and   storing a result of the action of applying the propagation rule in a second queue.   
     
     
         8 . The method of  claim 1 , the process further comprising:
 initiating a first queue; {streams queue}   examining the first database to generate a first examination result; and   performing the action of identifying or generating the capture rule based at least in part upon the first examination result.   
     
     
         9 . The method of  claim 8 , the process further comprising:
 initiating a second queue; {apply queue}   examining the database to generate a second examination result; and   performing the action of identifying or generating the apply rule based at least in part upon the second examination result.   
     
     
         10 . The method of  claim 1 , the process further comprising:
 identifying a set of recovery block of code; and   applying at least a part of the set of recovery block of code to the database to set a state of each of one or more variables for the database.   
     
     
         11 . A computer program product comprising a non-transitory computer accessible storage medium having executable code which, when executed by at least one processor, causes the at least one processor to execute a method for replicating data, the method comprising:
 using at least one processor of a computing system to execute a process, the process comprising:   identifying or generating a propagation rule;   identifying or generating a capture rule; and   capturing a data record at the first database based at least in part upon the capture rule;   propagating the data record that is captured at the first database to a database based at least in part upon the propagation rule.   
     
     
         12 . The computer program product of  claim 11 , the process further comprising:
 identifying or generating an apply rule, wherein the apply rule specifies how the data record is applied to the database; and   performing the action of propagating the data record to the database based further at least in part upon the apply rule.   
     
     
         13 . The computer program product of  claim 11 , the action of propagating the data record further comprising:
 identifying the change made to the data record on the first database;   capturing the change in a log record based at least in part upon the capture rule; and   effecting the change on the database based at least in part upon the apply rule.   
     
     
         14 . The computer program product of  claim 13 , wherein the database comprises the second database, the action of propagating the data record constituting an atomic operation that further synchronizes the data record on the first database and a replicated copy of the data record on the second database based at least in part upon the apply rule, in which the replicated copy of the data record includes a change made to the data record on the first database, the action of capturing the change comprising:
 translating the log record from a first format into a second format;   placing a representation of the log record in the second format after translation into a queue;   storing the representation in a first queue;   applying the propagation rule to the representation; and   storing a result of the action of applying the propagation rule in a second queue.   
     
     
         15 . The computer program product of  claim 11 , the process further comprising:
 initiating a first queue;   examining the first database to generate a first examination result;   performing the action of identifying or generating the capture rule based at least in part upon the first examination result;   initiating a second queue;   examining the database to generate a second examination result; and   performing the action of identifying or generating the apply rule based at least in part upon the second examination result.   
     
     
         16 . An apparatus for replicating data, comprising:
 at least one processor of a computing system that is to:   identify or generate a propagation rule;   identify or generate a capture rule; and   capture a data record at the first database based at least in part upon the capture rule;   propagate the data record that is captured at the first database to a database based at least in part upon the propagation rule.   
     
     
         17 . The apparatus of  claim 16 , wherein the at least one processor is further to:
 identify or generate an apply rule, wherein the apply rule specifies how the data record is applied to the database; and   perform the action of propagating the data record to the database based further at least in part upon the apply rule.   
     
     
         18 . The apparatus of  claim 16 , wherein the at least one processor that is to propagate the data record is further to:
 identify the change made to the data record on the first database;   capture the change in a log record based at least in part upon the capture rule; and   effect the change on the database based at least in part upon the apply rule.   
     
     
         19 . The apparatus of  claim 18 , wherein the database comprises the second database, and the at least one processor that is to propagate the data record constituting an atomic operation is further to synchronize the data record on the first database and a replicated copy of the data record on the second database based at least in part upon the apply rule, and the replicated copy of the data record includes a change made to the data record on the first database, the at least one processor to capture the change being further to:
 translate the log record from a first format into a second format;   place a representation of the log record in the second format after translation into a queue;   store the representation in a first queue;   apply the propagation rule to the representation; and   store a result of the action of applying the propagation rule in a second queue.   
     
     
         20 . The apparatus of  claim 16 , the at least one processor is further to:
 initiate a first queue;   examine the first database to generate a first examination result;   perform the action of identifying or generating the capture rule based at least in part upon the first examination result;   initiate a second queue;   examine the database to generate a second examination result; and   perform the action of identifying or generating the apply rule based at least in part upon the second examination result.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.