Distributed transactional processing system having redundant data
First Claim
1. A method for replicating data in a database of a processing system, the database including a primary cache memory, a secondary cache memory, a primary disk memory and a secondary disk memory, the method comprising the steps of:
- receiving a request from a client to write a data object in the database;
attempting to write the data object in the primary cache memory in response to the step of receiving the request;
attempting to write the data object in the secondary cache memory following the step of attempting to write in the primary cache memory;
attempting to write the data object in the primary disk memory following the step of attempting to write in the secondary cache memory;
attempting to write the data object in the secondary disk memory following the step of attempting to write in the primary disk memory;
checking for a successful writing of the data object in each of the primary cache memory, the secondary cache memory, the primary disk memory and the secondary disk memory;
acknowledging to the client of the successful writing of the data object upon an affirmative determination of the data object being successfully written in one of the primary cache memory and the secondary cache memory, and in one of the primary disk memory and the secondary disk memory; and
attempting to delete the data object from at least one of the primary cache memory and the secondary cache memory upon the determination of the data being unsuccessfully written to the primary disk memory and the secondary disk memory; and
following the step of attempting to delete, marking the at least one of the primary cache memory and the secondary cache memory as being out of sync upon a determination that the data object was unsuccessfully deleted therefrom.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for replicating data in a distributed transactional processing system having redundant cache memories and disk memories. The data replicating method includes updating a primary cache, followed by updating the secondary cache. Next, the primary disk memory is updated, followed by the secondary disk memory being updated. Based upon the success of each update, a determination is made as to whether the data replication is successful. In a number of instances, the data replication operation is determined to have been successfully executed despite the failure of one or more memory updates. The resulting database is highly available to the rest of the system.
-
Citations
20 Claims
-
1. A method for replicating data in a database of a processing system, the database including a primary cache memory, a secondary cache memory, a primary disk memory and a secondary disk memory, the method comprising the steps of:
-
receiving a request from a client to write a data object in the database;
attempting to write the data object in the primary cache memory in response to the step of receiving the request;
attempting to write the data object in the secondary cache memory following the step of attempting to write in the primary cache memory;
attempting to write the data object in the primary disk memory following the step of attempting to write in the secondary cache memory;
attempting to write the data object in the secondary disk memory following the step of attempting to write in the primary disk memory;
checking for a successful writing of the data object in each of the primary cache memory, the secondary cache memory, the primary disk memory and the secondary disk memory;
acknowledging to the client of the successful writing of the data object upon an affirmative determination of the data object being successfully written in one of the primary cache memory and the secondary cache memory, and in one of the primary disk memory and the secondary disk memory; and
attempting to delete the data object from at least one of the primary cache memory and the secondary cache memory upon the determination of the data being unsuccessfully written to the primary disk memory and the secondary disk memory; and
following the step of attempting to delete, marking the at least one of the primary cache memory and the secondary cache memory as being out of sync upon a determination that the data object was unsuccessfully deleted therefrom. - View Dependent Claims (2, 3, 4, 5, 6, 7)
marking the secondary cache, the primary disk memory or the secondary disk memory as being out of sync based upon the step of checking.
-
-
3. The method of claim 2, wherein:
the step of marking comprises the step of marking the secondary cache as being out of sync upon a determination that the data object was not successfully written therein.
-
4. The method of claim 2, wherein:
the step of marking comprises the step of marking the primary disk memory as being out of sync upon a determination that the data object was not successfully written therein.
-
5. The method of claim 2, wherein:
the step of marking comprises the step of marking the secondary disk memory as being out of sync upon a determination that the data object was not successfully written therein.
-
6. The method of claim 1, further including the step of:
designating the secondary cache memory as the primary cache memory.
-
7. The method of claim 1, wherein:
the step of acknowledging is performed based upon the determination that the data object was successfully written to only one of the primary disk memory and the secondary disk memory.
-
8. A database for a transactional processing system, comprising:
-
a primary cache memory;
a secondary cache memory;
a primary memory disk;
a secondary memory disk;
one or more processes, operatively associated with the primary and secondary cache memories and the primary and secondary memory disks, for receiving a request from a client to write a data object in the database, attempting to write the data object in the primary cache memory in response to receiving the request, attempting to write the data object in the secondary cache memory following the attempting to write in the primary cache memory, attempting to write the data object in the primary disk memory following the attempting to write in the secondary cache memory, attempting to write the data object in the secondary disk memory following the attempting to write in the primary disk memory, checking for a successful writing of the data object in each of the primary cache memory, the secondary cache memory, the primary disk memory and the secondary disk memory, and, acknowledging to the client of the successful writing of the data object upon an affirmative determination of the data object being successfully written in one of the primary cache memory and secondary cache memory, and in one of the primary disk memory and the secondary disk memory, attempting to delete the data object from at least one of the primary cache memory and the secondary cache memory upon the determination of the data object being unsuccessfully written to the primary disk memory and the secondary disk memory, and following the attempting to delete, marking the at least one of the primary cache memory and the secondary cache memory as being out of sync upon a determination that the data object was unsuccessfully deleted therefrom. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
mark the secondary cache, the primary disk memory or the secondary disk memory as being out of sync based upon the checking of successful writing by the means for checking.
-
-
10. The system of claim 9, wherein:
the one or more processes marks the secondary cache memory as being out of sync upon a determination that the data object was not successfully written therein.
-
11. The system of claim 9, wherein:
the one or more processes marks the primary disk memory as being out of sync upon a determination that the data object was not successfully written therein.
-
12. The system of claim 11, wherein the one or more processes operates to:
designate the secondary disk memory as the primary disk memory upon a determination that the data object was not successfully written into the primary disk memory.
-
13. The system of claim 9, wherein:
the one or more processes marks the secondary disk memory as being out of sync upon a determination that the data object was not successfully written therein.
-
14. The system of claim 8, wherein:
the one or more processes alerts the client of a failed attempt to write the data object upon an affirmative determination of the data object being unsuccessfully written to the primary disk memory and the secondary disk memory.
-
15. The method of claim 8, wherein:
the acknowledging is performed based upon the determination that the data object was successfully written to only one of the primary disk memory and the secondary disk memory.
-
16. A computer program product for a database of a transactional processing system having a plurality of caches and a plurality of disk memories, the computer program product including instructions for:
-
receiving a memory update request from a client;
sequentially attempting to update the caches;
sequentially attempting to update the disk memories;
examining the attempts to update the caches and the disk memories, and determining a result of the memory update request based upon the examining;
notifying the requesting client of the determination result;
attempting to delete the data object from at least one of the primary cache memory and the secondary cache memory upon the determination of the data object being unsuccessfully written to the primary disk memory and the secondary disk memory; and
following the attempting to delete, marking the at least one of the primary cache memory and the secondary cache memory as being out of sync upon a determination that the data object was unsuccessfully deleted therefrom. - View Dependent Claims (17, 18)
marking the caches and disk memories which were unsuccessfully updated as being out of sync.
-
-
18. The computer program product of claim 16, further including instructions for:
determining that the result is a failed memory update based upon the determination that the first cache which underwent the update attempt was not successfully updated.
-
19. A method for replicating data in a database, the database including a plurality of caches and a plurality of disk memories, the method comprising the steps of:
-
receiving a memory update request from a client;
sequentially attempting to update the caches;
sequentially attempting to update the disk memories following the step of sequentially attempting to update the caches;
examining the attempts to update the caches and the disk memories, and determining an unsuccessful memory update based upon the examining; and
notifying the requesting client of the determination attempting to delete the data from at least one of the primary cache memory and the secondary cache memory upon the determination of the data object being unsuccessfully written to the primary disk memory and the secondary disk memory; and
following the step of attempting to delete, marking the at least one of the primary cache memory and the secondary cache memory as being out of sync upon a determination that the data object was unsuccessfully deleted therefrom. - View Dependent Claims (20)
marking the caches and disk memories which were unsuccessfully updated as being out of sync.
-
Specification