Database access with multilevel lock
First Claim
1. A method of scheduling access of a table by multiple processes, comprising:
- associating a lock level with a particular process, a higher lock level representing a larger number of other processes having priority over the particular process in accessing the table;
repeatedly attempting to associate the particular process with a lower lock level, and if the particular process has been successfully associated with the lower lock level, releasing a previous lock level associated with the particular process so that the previous lock level may be associated with other processes; and
allowing the particular process to access the table when the lock level for the particular process is equal to a preset value.
2 Assignments
0 Petitions
Accused Products
Abstract
A multi-level lock procedure is used in scheduling access of a table in a database by multiple processes running in parallel. A lock level is associated with a particular process, a higher lock level representing a larger number of other processes having priority over the particular process in accessing the table. Repeatedly attempt to associate the particular process with a lower lock level, and if the particular process has been successfully associated with the lower lock level, release a previous lock level associated with the particular process so that the previous lock level may be associated with other processes. Allow the particular process to access the table when the lock level for the particular process is equal to a preset value.
27 Citations
38 Claims
-
1. A method of scheduling access of a table by multiple processes, comprising:
-
associating a lock level with a particular process, a higher lock level representing a larger number of other processes having priority over the particular process in accessing the table;
repeatedly attempting to associate the particular process with a lower lock level, and if the particular process has been successfully associated with the lower lock level, releasing a previous lock level associated with the particular process so that the previous lock level may be associated with other processes; and
allowing the particular process to access the table when the lock level for the particular process is equal to a preset value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method comprising:
-
upon receiving a request from a first process to access a record in a database, associating a first lock level to the first process and allowing the first process to access the record, preventing other processes from accessing the record until the first process finishes accessing the record;
upon receiving a request from a second process to access the record while the first process is still accessing the record, associating a second lock level to the second process;
when the first process finishes accessing the record, releasing the first lock level and either (a) releasing the second lock level from being associated with the second process and associating the first lock level with the second process, allowing the second process to access the record but preventing other processes from accessing the record until the second process finishes accessing the record, and when the second process finishes accessing the record, releasing the first lock level from being associated with the second process, or (b) releasing a lock level from being associated with a third process and associating the first lock level with the third process, allowing the third process to access the record but preventing other processes from accessing the record until the third process finishes accessing the record, and when the third process finishes accessing the record, releasing the first lock level from being associated with the third process. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method comprising:
-
locking a record in a database at multiple levels when multiple processes running in parallel attempt to access the record;
assigning a lock level to each of the multiple processes, different processes having different lock levels; and
selectively permitting one of the multiple processes to access the record at a time. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A system comprising:
-
a database to store records; and
a queue to store information relating to lock levels of processes that attempt to access the records, different processes having different lock levels when accessing the same record, one of the processes having a particular lock level being allowed to access the record. - View Dependent Claims (20, 21)
-
-
22. A computer program product, tangibly stored on a machine-readable medium, for implementing a multi-level lock process, comprising instructions operable to cause one or more programmable processors to:
-
lock a record in a database at a first level to allow a first process to modify the record but prevent other processes from modifying the record; and
lock the record at a second level to allow a second process to modify the record after the record is unlocked at the first level but to prevent other processes from modifying the record while the record is being modified by the second process. - View Dependent Claims (23, 24, 25)
-
-
26. A computer program product, tangibly stored on a machine-readable medium, for implementing a multi-level lock process, comprising instructions operable to cause one or more programmable processors to:
-
upon receiving a request from a first process to access a record in a database, associate a first lock level to the first process and allow the first process to access the record but prevent other processes from accessing the record until the first process finishes accessing the record;
upon receiving a request from a second process to access the record while the first process is still accessing the record, associate a second lock level to the second process;
when the first process finishes accessing the record, release the first lock level from being associated with the first process, and either (a) release the second lock level from being associated with the second process and associate the first lock level with the second process, allowing the second process to access the record but preventing other processes from accessing the record until the second process finishes accessing the record, and when the second process finishes accessing the record, releasing the first lock level from being associated with the second process, or (b) release a lock level from being associated with a third process and associate the first lock level with the third process, allowing the third process to access the record but preventing other processes from accessing the record until the third process finishes accessing the record, and when the third process finishes accessing the record, releasing the first lock level from being associated with the third process. - View Dependent Claims (27, 28, 29, 30)
-
-
31. A computer program product, tangibly stored on a machine-readable medium, for scheduling access of a table by multiple processes, comprising instructions operable to cause one or more programmable processors to:
-
associate a lock level with a particular process, a higher lock level representing a larger number of other processes having priority over the particular process in accessing the table;
repeatedly attempt to associate the particular process with a lower lock level, and if the particular process has been successfully associated with the lower lock level, release a previous lock level associated with the particular process so that the previous lock level may be associated with other processes; and
allow the particular process to access the table when the lock level for the particular process is equal to a preset value. - View Dependent Claims (32, 33)
-
-
34. A computer program product, tangibly stored on a machine-readable medium, for implementing a multi-level lock process, comprising instructions operable to cause one or more programmable processors to:
-
lock a record in a database at multiple levels when multiple processes running in parallel attempt to access the record;
assign a lock level to each process, different processes having different lock levels; and
selectively allow one of the multiple processes to access the record at a time. - View Dependent Claims (35, 36, 37, 38)
-
Specification