P
US7328322B2ExpiredUtilityPatentIndex 63

System and method for optimistic caching

Assignee: BEA SYSTEMS INCPriority: Jan 18, 2002Filed: Jan 25, 2006Granted: Feb 5, 2008
Est. expiryJan 18, 2022(expired)· nominal 20-yr term from priority
Inventors:WHITE SETHMESSINGER ADAMJACOBS DEAN BERNARDWOOLLEN ROB
Y10S707/99952Y10S707/99938G06F 12/0815
63
PatentIndex Score
4
Cited by
59
References
20
Claims

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

exact text as granted — not AI-modified
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.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.