Priority queue for exclusive locks
First Claim
Patent Images
1. A system comprising:
- a memory configured to implement a queue for managing application access to data objects in a database; and
a processor configured to;
receive a plurality of lock requests arising from a plurality of applications, respectively, for exclusively accessing a target data object stored in the database;
determine queue positions for the plurality of lock requests based on respective priority levels of the plurality of lock requests and timing of the plurality of lock requests; and
store the plurality of lock requests as queue entries at the determined queue positions in the queue,wherein the processor is further configured to determine that a queued lock request has expired based on a predetermined expiration time, modify the queue via deletion of the queued lock request from within the queue, and transmit an error notification to an application associated with the deleted lock request indicating that access to the target data object failed.
1 Assignment
0 Petitions
Accused Products
Abstract
A system includes reception of a first request for a lock on a lock object, storage of a first entry associated with the first request and the lock object in a queue, determination of a first queue position associated with the first entry based on a first priority level of the first request and on a priority level of each of a plurality of entries in the queue associated with the lock object, determination of whether a predetermined expiration time associated with the first request has expired, and, if it is determined that the predetermined expiration time has expired, deletion of the first entry from the queue.
-
Citations
16 Claims
-
1. A system comprising:
a memory configured to implement a queue for managing application access to data objects in a database; and a processor configured to; receive a plurality of lock requests arising from a plurality of applications, respectively, for exclusively accessing a target data object stored in the database; determine queue positions for the plurality of lock requests based on respective priority levels of the plurality of lock requests and timing of the plurality of lock requests; and store the plurality of lock requests as queue entries at the determined queue positions in the queue, wherein the processor is further configured to determine that a queued lock request has expired based on a predetermined expiration time, modify the queue via deletion of the queued lock request from within the queue, and transmit an error notification to an application associated with the deleted lock request indicating that access to the target data object failed. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A method comprising:
-
receiving a plurality of lock requests arising from a plurality of applications, respectively, for exclusively accessing a target data object stored in a database; determining queue positions for the plurality of lock requests based on respective priority levels of the plurality of lock requests and timing of the plurality of lock requests; and storing the plurality of lock requests as queue entries at the determined queue positions in the queue, wherein the method further comprises determining that a queued lock request has expired based on a predetermined expiration time, modifying the queue via deletion of the queued lock request from within the queue, and transmitting an error notification to an application associated with the deleted lock request indicating that access to the target data object failed. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A non-transitory computer-readable medium storing program code which when executed by a processor cases a computer system to:
-
receive a plurality of lock requests arising from a plurality of applications, respectively, for exclusively accessing a target data object stored in a database; determine queue positions for the plurality of lock requests based on respective priority levels of the plurality of lock requests and timing of the plurality of lock requests; and store the plurality of lock requests as queue entries at the determined queue positions in the queue, wherein the program code further causes the computer system to determine that a queued lock request has expired based on a predetermined expiration time, modify the queue via deletion of the queued lock request from within the queue, and transmit an error notification to an application associated with the deleted lock request indicating that access to the target data object failed. - View Dependent Claims (13, 14, 15, 16)
-
Specification