Selective pessimistic locking for a concurrently updateable...

Data processing: database and file management or data structures – Database design – Data structure types

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C707S793000

Reexamination Certificate

active

06681226

ABSTRACT:

SUMMARY OF INVENTION
The present invention relates to concurrency control for updating databases and, in particular, to selective application of a pessimistic concurrency control when updating databases.
In database systems a transaction is a mechanism that allows multiple users to atomically perform in isolation database modifications that are guaranteed to be consistent and resilient when committed. With reference to database information in the form of software objects, for example, a write/write conflict occurs when an object modified in one transaction (e.g., by one user or process) is modified by another concurrent transaction (e.g., by another user or process). For example, when a transaction (e.g., by a first user) writes an object and executes complex behavior based upon the state of that object, the transaction cannot commit successfully if in the meantime another transaction (e.g., by a second user) has committed a modification of that object.
One way to prevent such concurrency conflicts is to incorporate into the database system a pessimistic concurrency control with which the database can be locked to prevent it from being accessed by more than one user or process at a time. With conventional pessimistic concurrency controls, every transaction locks the database objects being modified to prevent conflicts with other transactions. However, locking can be computationally expensive because it requires arbitration by a lock manager and deadlock detection. Locking objects also enforces an ordering of all transactions so that the database remains in a consistent state, but this comes at the cost of decreased availability of the locked objects. When a transaction locks an object, other transactions are restricted from accessing the object until the transaction releases its lock.
Another way to prevent concurrency conflicts is to incorporate into the database system an optimistic concurrency control that uses application code to avoid the conflicts in accessing a database. Logical conflict detection is used to detect conflicts and interrupt conflicting transactions, and a replay mechanism attempts to complete or commit the interrupted transaction within a predetermined number of replays or “redos.” Failure to complete the interrupted transaction within the predetermined number of replays results in a transaction failure (retryFailure). However, optimistic concurrency controls are susceptible to livelock and process starvation wherein a transaction is prevented from committing because successive other transactions are committed first.
The present invention includes software and a method for concurrently updating a database. For example, the method includes determining whether a database update conflicts with another database update, applying an optimistic concurrency control for each database update that does not conflict with another database update, and applying a pessimistic concurrency control for each database update that does conflict with another database update. This invention provides a selective locking concurrency control that selectively applies transaction serialization and locking only when transaction conflicts are detected. As a result, the selective locking concurrency control avoids livelock transaction failures and provides deterministic transaction completion without the computational expense of a conventional pessimistic concurrency control.
Additional advantages of the present invention will be apparent from the detailed description of the preferred embodiment thereof, which proceeds with reference to the accompanying drawings.


REFERENCES:
patent: 5280612 (1994-01-01), Lorie et al.
patent: 5764977 (1998-06-01), Oulid-Aissa et al.
patent: 5835757 (1998-11-01), Oulid-Aissa et al.
patent: 5920857 (1999-07-01), Rishe et al.
patent: 6363387 (2002-03-01), Ponnekanti et al.
patent: 6397227 (2002-05-01), Klein et al.
Almarode, Jay and Bretl, Robert, Reduced-Conflict Objects, JOOP —Journal of Object Oriented Programming, Jan., 1998, pp. 40-44.

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

Selective pessimistic locking for a concurrently updateable... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Selective pessimistic locking for a concurrently updateable..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Selective pessimistic locking for a concurrently updateable... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3265134

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