Distributed transactional processing system having redundant...

Electrical computers and digital processing systems: memory – Storage accessing and control – Control technique

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S141000, C707S793000

Reexamination Certificate

active

06269432

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Technical Field of the Invention
The present invention relates to a distributed transactional processing system, and in particular to a system and method of replicating data in a distributed database.
2. Background and Objects of the Invention
Today, many computing systems, such as distributed transactional processing systems, utilize cache memory in order to increase processing speeds. A cache may typically comprise random access memory (RAM) and a register which points to a location in the RAM where previously stored data resides. Cache memory may be a fraction of the size of main memory. By keeping the most frequently accessed data in the cache, memory access time approaches the access time of the cache.
High performance transactional processing systems typically possess relatively high data transaction rates and data availability characteristics. These required system characteristics have led to the architecture of system databases to both employ cache memory to achieve the high data transaction rates as well as use redundant memory devices to better ensure that data is substantially and consistently accessible to the rest of the system. For example, prior systems have employed a pair of cache memories designated as a primary cache and a secondary cache. Prior systems additionally employed a pair of disk memories designated as a primary disk memory and a secondary disk memory.
One problem associated with systems employing redundant memory devices concerns data replication, i.e., maintaining consistency throughout the memory database during system operation. Prior transactional processing systems included various synchronous protocols to replicate data between the memory devices. One such synchronous protocol, a two phase commit procedure, often causes the database and system to hang in the event access to a memory device fails. As a result, there exists a need for an improved data replication procedure for use in a transactional processing system.
It is an object of the present invention to provide a method for replicating data in a distributed transactional processing system.
It is another object of the present invention to provide such a method which better maintains database availability despite memory device failure.
SUMMARY OF THE INVENTION
The present invention overcomes the shortcomings in existing transactional processing systems and satisfies a significant need for a system and method for replicating data while maintaining high availability and performance levels.
According to a preferred embodiment of the present invention, there is provided a system and method for a distributed transactional processing system. The system includes a distributed database which provides an interface to a number of clients. The distributed database includes two memory nodes. Each memory node includes a cache memory and a memory disk. One cache memory is designated the primary cache and the other the secondary cache. Similarly, one memory disk is designated the primary disk and the other is designated the secondary disk. Each cache and disk preferably has a cache manager process and disk manager process associated therewith, respectively. The caches, cache managers, disks and disk managers are configured to perform, among other tasks, data replication within the database.
When a client associated with the database presents a transaction thereto, such as a request to update the database with a data object, the system attempts to first update the primary cache with the data object, followed by attempting to update the secondary cache. Next, an attempt is made to update the primary disk with the data object. The system then attempts to update the secondary disk with the data object. A process associated with the client monitors the success of each attempt to update the memory devices, and generates a response thereto.
In the event that the primary cache was the only memory device successfully updated, the requested transaction has failed. The client is notified of the failure. In addition, since the primary cache was successfully updated with the data object, the updated data object is deleted therefrom. The next time the data object is accessed from the database, the data object is taken from the primary disk and copied into the primary cache. In the event the data object is not successfully deleted from the primary cache, then the primary cache is marked as being out of sync and the secondary cache is designated as the primary cache. Later, attempts may be undertaken to automatically re-sync the primary cache.
In the event that only the primary cache and just one of the disks were successfully updated with the data object, then the transaction is deemed to be successfully completed. The client is notified of a successful commit. The secondary cache and the disk which failed to be updated are both marked as being out of sync.
In the event that only the secondary cache is unsuccessfully updated, then the transaction is deemed to have been successfully completed. The client is notified of the successful commit. The secondary cache is marked as being out of sync.
In the event the both the primary and the secondary disks are unsuccessfully updated, then the transaction is deemed to have been unsuccessfully completed. The client is notified of the unsuccessful commit. The data object is deleted from the primary and secondary caches. If the data object is unsuccessfully deleted from either of the caches, then the corresponding cache is marked as being out of sync.
In the event that only one of the disks was unsuccessfully updated with the data object, then the transaction is deemed to have been successfully performed. The client is notified of the successful commit. The disk which was unsuccessfully updated is marked as being out of sync.
If the data object was successfully loaded into each of the caches and disks, then the client is notified of the successfully completed transaction.


REFERENCES:
patent: 5197148 (1993-03-01), Blount et al.
patent: 5295258 (1994-03-01), Jewett et al.
patent: 6052797 (2000-04-01), Ofek et al.
patent: 6073251 (2000-06-01), Jewett et al.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Distributed transactional processing system having redundant... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Distributed transactional processing system having redundant..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Distributed transactional processing system having redundant... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2507117

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.