Claims Analysis
Total Claims: 21
Claim 1
Independent Claim
207 words
A computer-implemented method of maintaining consistency of cached data in a computerized database system of the kind that includes (a) a server having a lock manager that provides share and exclusive locks, a database memory, and a plurality of objects stored in the database memory and (b) a remotely located cache memory for storing objects for use by a first client application, each object in the cache memory corresponding with an object in the database memory, the method comprising: acquiring a cache lock on an object in the database memory that is copied into the cache, this step being performed by the lock manager, the cache lock being held by the first client application; changing the cache lock to an out-of-date lock if the object in the database memory is altered by a second client application, this step being performed by the lock manager, the first client application continuing to access objects in the cache notwithstanding the existence of any out-of-date locks on such objects; and aborting a working transaction of the first client application if said working transaction attempts to commit after having accessed a cached object that corresponds with an object in the database memory on which the lock manager has placed an out-of-date lock.
Claim 2
Dependent Claim
207 words
A computer-implemented method of maintaining consistency of cached data in a computerized database system of the kind that includes (a) a server having a lock manager that provides share and exclusive locks, a database memory, and a plurality of objects stored in the database memory and (b) a remotely located cache memory for storing objects for use by a first client application, each object in the cache memory corresponding with an object in the database memory, the method comprising: acquiring a cache lock on an object in the database memory that is copied into the cache, this step being performed by the lock manager, the cache lock being held by the first client application; changing the cache lock to an out-of-date lock if the object in the database memory is altered by a second client application, this step being performed by the lock manager, the first client application continuing to access objects in the cache notwithstanding the existence of any out-of-date locks on such objects; and aborting a working transaction of the first client application if said working transaction attempts to commit after having accessed a cached object that corresponds with an object in the database memory on which the lock manager has placed an out-of-date lock.
Claim 3
Dependent Claim
78 words
A computer-implemented method according to claim 1 wherein the step of changing the cache lock to an out-of-date lock comprises the following steps performed by the lock manager: changing the cache lock to pending lock if a working transaction of the second client application acquires an exclusive lock on the object in the database memory; and changing the pending lock to an out-of-date lock if the transaction commits and back to a cache lock if the transaction aborts.
Claim 4
Dependent Claim
42 words
A computer-implemented method according to claim 1 wherein the step of acquiring a cache lock comprises acquiring a share lock on an object in the database memory, copying the object into the cache, and changing the share lock to a cache lock.
Claim 5
Dependent Claim
199 words
A computer-implemented method of maintaining consistency of cached data in a computerized database system of the kind that includes (a) a server having a lock manager that provides share and exclusive locks, a database memory, and a plurality of objects stored in the database memory and (b) a remotely located cache memory for storing objects for use by a first client application, each object in the cache memory corresponding with an object in the database memory, the method comprising the following steps performed by the lock manager: acquiring a cache lock on an object in the database memory that has been copied into the cache for use by the first client application, the cache lock being held by the first client application; changing the cache lock to a pending lock if a working transaction of a second client application acquires an exclusive lock on the object in the database memory; and changing the pending lock to an out-of-date lock if the transaction commits and back to a cache lock if the transaction aborts, the first client application continuing to access objects in the cache prior to committing despite the existence of any pending or out-of-date locks on such objects.
Claim 6
Dependent Claim
199 words
A computer-implemented method of maintaining consistency of cached data in a computerized database system of the kind that includes (a) a server having a lock manager that provides share and exclusive locks, a database memory, and a plurality of objects stored in the database memory and (b) a remotely located cache memory for storing objects for use by a first client application, each object in the cache memory corresponding with an object in the database memory, the method comprising the following steps performed by the lock manager: acquiring a cache lock on an object in the database memory that has been copied into the cache for use by the first client application, the cache lock being held by the first client application; changing the cache lock to a pending lock if a working transaction of a second client application acquires an exclusive lock on the object in the database memory; and changing the pending lock to an out-of-date lock if the transaction commits and back to a cache lock if the transaction aborts, the first client application continuing to access objects in the cache prior to committing despite the existence of any pending or out-of-date locks on such objects.
Claim 7
Dependent Claim
127 words
A computer-implemented method according to claim 4 and further comprising the following steps performed by a working transaction of the first client application if said working transaction is ready to commit: designating any cached objects that have been accessed by said working transaction of the first client application as read or write objects; acquiring, through the lock manager, an exclusive lock on each object in the database memory that has a cache lock and that corresponds with a write object; acquiring, through the lock manager, a share lock on each object in the database memory that has a cache lock and that corresponds with a readobject; and aborting if an object in the database memory that corresponds with any read or write object has an out-of-date lock.
Claim 8
Dependent Claim
157 words
A computer-implemented method according to claim 4 and further comprising the following steps performed by a working transaction of the first client application if said working transaction is ready to commit: designating any cached objects that have been accessed by said working transaction of the first client application as read or write objects; waiting for any pending lock on an object in the database memory that corresponds with a write object to change to a cache lock or to an out-of-date lock; acquiring, through the lock manager, an exclusive lock on each object in the database memory that has a cache lock and that corresponds with a write object; acquiring, through the lock manager, a share lock on each object in the database memory that has a cache lock and that corresponds with a read object; and aborting if an object in the database memory that corresponds with any read or write object has an out-of-date lock.
Claim 9
Dependent Claim
60 words
A computer-implemented method according to claim 4 and further comprising the step, performed by the server, of including in a message from the server to the first client application a report indicating which cache locks on objects in the database memory that have been copied into the cache memory of the first client application have been changed to out-of-date locks.
Claim 10
Dependent Claim
42 words
A computer-implemented method according to claim 4 wherein the step of acquiring a cache lock comprises acquiring a share lock on an object in the database memory, copying the object into the cache, and changing the share lock to a cache lock.
Claim 11
Dependent Claim
151 words
A computer-implemented method of maintaining consistency of cached data in a computerized database system of the kind that includes (a) a server having a lock manager that provides share and exclusive locks, a database memory, and a plurality of objects stored in the database memory and (b) a remotely located cache memory for storing objects for use by a client application, each object in the cache memory corresponding with an object in the database memory, the method comprising the following steps performed by the client application: commencing an envelope transaction, the envelope transaction being operative to acquire, through the lock manager, a cache lock on any object in the database memory that is copied into the cache for use by the client application; and continuing the envelope transaction until after a plurality of working transactions of the client application have committed and until the client application no longer requires a cache.
Claim 12
Dependent Claim
151 words
A computer-implemented method of maintaining consistency of cached data in a computerized database system of the kind that includes (a) a server having a lock manager that provides share and exclusive locks, a database memory, and a plurality of objects stored in the database memory and (b) a remotely located cache memory for storing objects for use by a client application, each object in the cache memory corresponding with an object in the database memory, the method comprising the following steps performed by the client application: commencing an envelope transaction, the envelope transaction being operative to acquire, through the lock manager, a cache lock on any object in the database memory that is copied into the cache for use by the client application; and continuing the envelope transaction until after a plurality of working transactions of the client application have committed and until the client application no longer requires a cache.
Claim 13
Dependent Claim
76 words
A computer-implemented method according to claim 9 and further comprising the following steps performed by the lock manager: changing any cache lock held by the envelope transaction to a pending lock if a working transaction of a second client application acquires an exclusive lock on said object; and changing the pending lock to an out-of-date lock if said working transaction of the second client application commits and back to a cache lock if said transaction aborts.
Claim 14
Dependent Claim
42 words
A computer-implemented method according to claim 9 wherein the step of acquiring a cache lock comprises acquiring a share lock on an object in the database memory, copying the object into the cache, and changing the share lock to a cache lock.
Claim 15
Dependent Claim
354 words
A computer-implemented method of maintaining consistency of cached data in a computerized database system of the kind that includes (a) a server having a lock manager that provides share and exclusive locks, a database memory, and a plurality of objects stored in the database memory and (b) a remotely located cache memory for storing objects for use by a first client application, each object in the cache memory corresponding with an object in the database memory, the method comprising: (a) the following step performed by the first client application: acquiring, through the lock manager, a cache lock on an object in the database memory that has been copied into the cache for use by the first client application; (b) the following steps performed by the lock manager if a working transaction of a second client application acquires an exclusive lock on an object on which the first application holds a cache lock: (1) changing the cache lock to a pending lock; (2) if said working transaction of the second client application commits, changing the pending lock to an out-of-date lock; and (3) if said transaction aborts, changing the pending lock back to a cache lock; and (c) the following steps performed by a working transaction of the first client application upon requesting a commit: (1) designating as read or write objects any cached objects that said working transaction of the first client application has accessed; (2) waiting for any pending lock on an object in the database memory that corresponds with a write object to change to a cache lock or to an out-of-date lock; (3) acquiring, through the lock manager, an exclusive lock on each object in the database memory that has a cache lock and that corresponds with a write object; (4) acquiring, through the lock manager, a share lock on each object in the database memory that has a cache lock and that corresponds with a read object; (5) aborting if an object in the database memory that corresponds with any read or write object has an out-of-date lock; and (6) releasing the share and exclusive locks after committing or aborting.
Claim 16
Dependent Claim
354 words
A computer-implemented method of maintaining consistency of cached data in a computerized database system of the kind that includes (a) a server having a lock manager that provides share and exclusive locks, a database memory, and a plurality of objects stored in the database memory and (b) a remotely located cache memory for storing objects for use by a first client application, each object in the cache memory corresponding with an object in the database memory, the method comprising: (a) the following step performed by the first client application: acquiring, through the lock manager, a cache lock on an object in the database memory that has been copied into the cache for use by the first client application; (b) the following steps performed by the lock manager if a working transaction of a second client application acquires an exclusive lock on an object on which the first application holds a cache lock: (1) changing the cache lock to a pending lock; (2) if said working transaction of the second client application commits, changing the pending lock to an out-of-date lock; and (3) if said transaction aborts, changing the pending lock back to a cache lock; and (c) the following steps performed by a working transaction of the first client application upon requesting a commit: (1) designating as read or write objects any cached objects that said working transaction of the first client application has accessed; (2) waiting for any pending lock on an object in the database memory that corresponds with a write object to change to a cache lock or to an out-of-date lock; (3) acquiring, through the lock manager, an exclusive lock on each object in the database memory that has a cache lock and that corresponds with a write object; (4) acquiring, through the lock manager, a share lock on each object in the database memory that has a cache lock and that corresponds with a read object; (5) aborting if an object in the database memory that corresponds with any read or write object has an out-of-date lock; and (6) releasing the share and exclusive locks after committing or aborting.
Claim 17
Dependent Claim
117 words
A computer-implemented method according to claim 12 wherein step (c)(3) further comprises, for each object on which the working transaction of the first client application adquires an exclusive lock and on which another client application has a cache lock, the following steps performed by the lock manager: (a) changing the cache lock held by the other client application to a pending lock of said other client application, (b) if the working transaction of the first client application commits, changing the pending lock of said other client application to an out-of-date lock, and (c) if the working transaction of the first client application aborts, changing the pending lock of said other client application back to a cache lock.
Claim 18
Dependent Claim
37 words
A computer-implemented method according to claim 12 and further comprising, prior to step (a), commencing an envelope transaction for the first client application and wherein step (a), acquiring a cache lock, is performed by said envelope transaction.
Claim 19
Dependent Claim
37 words
A computer-implemented method according to claim 14 wherein the envelope transaction continues until after a plurality of working transactions of the first client application have committed and until the first client application no longer requires a cache.
Claim 20
Dependent Claim
60 words
A computer-implemented method according to claim 12 and further comprising the step, performed by the server, of including in a message from the server to the first client application a report indicating which cache locks on objects in the database memory that have been copied into the cache memory of the first client application have been changed to out-of-date locks.
Claim 21
Dependent Claim
42 words
A computer-implemented method according to claim 12 wherein the step of acquiring a cache lock comprises acquiring a share lock on an object in the database memory, copying the object into the cache, and changing the share lock to a cache lock.