PRIORITIZED LOCK REQUESTS TO REDUCE BLOCKING
First Claim
1. In a transactional computing environment, a method of requesting a lock on a resource, the method comprising:
- requesting a lock on a resource, wherein the request for the lock on the resource is specified as a low priority non-blocking request that does not block one or more other requests such that one or more other requests can request a lock on the resource and obtain the lock on the resource in priority to the low priority non-blocking request including when the one or more other requests are made after the low priority non-blocking request;
based on the low priority request, maintaining the low priority request in a non-blocking fashion until a predetermined condition occurs; and
as a result of the predetermined condition occurring, handling the low priority request such that it is no longer treated as a low priority non-blocking request.
3 Assignments
0 Petitions
Accused Products
Abstract
A method includes requesting a lock on a resource. The request for the lock on the resource is specified as a low priority non-blocking request that does not block one or more other requests such that one or more other requests can request a lock on the resource and obtain the lock on the resource in priority to the low priority non-blocking request. Based on the low priority request, the method includes maintaining the low priority request in a non-blocking fashion until a predetermined condition occurs. As a result of the predetermined condition occurring, the method includes handling the low priority request such that it is no longer treated as a low priority non-blocking request. Embodiments may further include a kill request which kills any operations on the resource, aborts any transactions having a lock on the resource, and locks the resource.
-
Citations
20 Claims
-
1. In a transactional computing environment, a method of requesting a lock on a resource, the method comprising:
-
requesting a lock on a resource, wherein the request for the lock on the resource is specified as a low priority non-blocking request that does not block one or more other requests such that one or more other requests can request a lock on the resource and obtain the lock on the resource in priority to the low priority non-blocking request including when the one or more other requests are made after the low priority non-blocking request; based on the low priority request, maintaining the low priority request in a non-blocking fashion until a predetermined condition occurs; and as a result of the predetermined condition occurring, handling the low priority request such that it is no longer treated as a low priority non-blocking request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 17, 18, 19, 20)
-
-
12. In a transactional computing environment, a method of requesting a lock on a resource, the method comprising:
-
identify a resource; issuing a kill lock request as single command, wherein issuing the kill lock request comprises; killing any operations being performed on the resource; aborting any transactions having a lock on the resource; and locking the resource to prevent other agents from operating on the resource or requesting a lock on the resource.
-
-
13. A system for requesting a lock on a resource, the system comprising
one or more processors; -
one or more computer readable media, wherein the one or more computer readable media comprise computer executable instructions that when executed by at least one of the one or more processors cause at least one of the one or more processors to perform the following; requesting a lock on a resource, wherein the request for the lock on the resource is specified as a low priority non-blocking request that does not block one or more other requests such that one or more other requests can request a lock on the resource and obtain the lock on the resource in priority to the low priority non-blocking request including when the one or more other requests are made after the low priority non-blocking request; based on the low priority request, maintaining the low priority request in a non-blocking fashion until a predetermined condition occurs; and as a result of the predetermined condition occurring, handling the low priority request such that it is no longer treated as a low priority non-blocking request; and
.a plurality of queues, the plurality of queues comprising; a grant queue, wherein the grant queue stores all the locks which are currently granted for a particular resource a kill queue, wherein the kill queue stores high priority requests which may be granted by killing any operations being performed on a resource, aborting any transactions having a lock on a resource, and locking the resource to prevent other agents from operating on the resource or requesting a lock on the resource; a convert queue, wherein the convert queue stores all lock requests for a particular resource which are waiting to be granted, but were made by transactions which are already holding a lock on a resource and need to upgrade to a more exclusive lock; a wait queue, wherein the wait queue stores all new normal priority lock requests for a particular resource which are waiting to be granted; a low priority wait queue, wherein the low priority wait queue stores requests that have to wait for all high priority requests, normal priority requests, and existing low priority requests; and a low priority convert queue, wherein the low priority convert queue stores requests that have to wait for existing high priority requests and normal priority requests but do not have to wait for existing low priority requests. - View Dependent Claims (16)
-
Specification