IP Library Granted Patent US 7,328,322
Granted Patent B2
US 7,328,322 · App. 11/339,180 · Granted Feb 5, 2008

System and method for optimistic caching

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,328,322
App. No.
11/339,180
Granted
Feb 5, 2008
Kind
B2
Abstract

Transactions are granted concurrent access to a data item through the use of an optimistic concurrency algorithm. Each transaction gets its own instance of the data item, such as in a cache or in an entity bean, such that it is not necessary to lock the data. The instances can come from the data or from other instances. When a transaction updates the data item, the optimistic concurrency algorithm ensures that the other instances are notified that the data item has been changed and that it is necessary to read a new instance, from the database or from an update instance.

Claims (50)

1. A computer implemented system for concurrently caching instances of a data item, comprising:

a database capable of storing a data item;

a plurality of cluster nodes capable of executing a transaction using the data item;

a cache for cluster nodes executing a transaction, the cache capable of storing an instance of the data item; and

an optimistic caching algorithm running concurrently on each of multiple cluster nodes, the algorithm capable of directing the clusters node to notify other cluster nodes when updating the data item in the database;

wherein data is not read from the database at a beginning of a transaction.

2. The computer implemented system according to claim 1 , wherein:

the cluster nodes are further capable of checking the data item in the database before updating the data item.

3. The computer implemented system according to claim 1 , wherein:

the instances of data items are stored as enterprise beans at the caches.

4. The computer implemented system according to claim 3 , wherein:

the instances of data items are stored as enterprise java beans at the caches.

5. The computer implemented system according to claim 4 , wherein:

the enterprise java beans load themselves from the database.

6. The computer implemented system according to claim 4 , wherein:

the enterprise java beans store themselves in the database.

7. The computer implemented system according to claim 1 , wherein:

a currency of the data is checked when a transaction commits.

8. The computer implemented system according to claim 1 , wherein:

a currency of the data is checked when a transaction commits.

9. A computer implemented system for concurrently caching instances of a data item, comprising:

a plurality of nodes capable of executing a transaction wherein the transaction is adapted to use an instance of a data item derived from a data item stored in a database;

at least one cache associated with the plurality of nodes being capable of storing the instance of a data item; and

an optimistic caching algorithm running concurrently on each of multiple nodes, the optimistic caching algorithm capable of directing nodes to notify other nodes when updating the data item in the database;

wherein data is not read from the database at a beginning of a transaction.

10. The system of claim 9 , further comprising:

a plurality of caches, wherein each cache is associated with one of the plurality of nodes.

11. The system of claim 9 , wherein:

the instances of data items in the plurality of caches can be updated from at least one of the data item stored in the database and the instance of the data item associated with another of said plurality of caches.

12. The computer implemented system according to claim 9 , wherein:

the cluster nodes are further capable of checking the data item in the database before updating the data item.

13. The computer implemented system according to claim 9 , wherein:

the instances of data items are stored as enterprise beans at the caches.

14. The computer implemented system according to claim 9 , wherein:

the instances of data items are stored as enterprise java beans at the caches.

15. The computer implemented system according to claim 14 , wherein:

the enterprise java beans load themselves from the database.

16. The computer implemented system according to claim 14 , wherein:

the enterprise java beans store themselves in the database.

17. A computer implemented system for concurrently caching instances of a data item, comprising:

a plurality of nodes capable of executing a transaction wherein the transaction is adapted to use an instance of a data item derived from a data item stored in a database;

at least one cache associated with the plurality of nodes being capable of storing the instance of a data item; and

an optimistic caching algorithm running concurrently on each of multiple nodes, the optimistic caching algorithm capable of directing nodes to notify other nodes when updating the data item in the database, data items are stored as enterprise beans at the at least one cache;

wherein data is not read from the database at a beginning of a transaction.

18. The computer implemented system according to claim 17 , wherein:

the instances of data items are stored as enterprise java beans at the caches.

19. The computer implemented system according to claim 18 , wherein:

the enterprise java beans load themselves from the database.

20. The computer implemented system according to claim 18 , wherein:

the enterprise java beans store themselves in the database.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2010
From: BEA SYSTEMS, INC.
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 025192/0244 →