MANAGING LOCKS AND TRANSACTIONS
First Claim
1. A system for locking, comprising:
- a processor;
a computer readable storage medium accessible to the processor; and
program logic including code causing the processor to perform;
under control of a first agent;
locking a resource controlled by a second agent with a first operation identifier; and
under control of the second agent;
(i) receiving a request to lock the resource controlled by the second agent with a second operation identifier for a client request for a client application, wherein the resource is already locked with the first operation identifier;
(ii) determining whether the first operation identifier and the second operation identifier are determined to be a same identifier;
(iii) if it is determined that the first operation identifier and the second operation identifier are the same identifier, responding to the request with an indication that the resource is locked with the same operation identifier; and
(iv) if it is determined that the first operation identifier and the second operation identifier are not the same identifier, denying the lock request.
0 Assignments
0 Petitions
Accused Products
Abstract
Under control of a first agent, a resource controlled by a second agent is locked with a first operation identifier. Under control of the second agent: a request is received to lock the resource controlled by the second agent with a second operation identifier for a client request for a client application, wherein the resource is already locked with the first operation identifier; it is determined whether the first operation identifier and the second operation identifier are determined to be a same identifier; if it is determined that the first operation identifier and the second operation identifier are the same identifier, the request is responded to with an indication that the resource is locked with the same operation identifier; and, if it is determined that the first operation identifier and the second operation identifier are not the same identifier, the lock request is denied.
147 Citations
10 Claims
-
1. A system for locking, comprising:
-
a processor; a computer readable storage medium accessible to the processor; and program logic including code causing the processor to perform; under control of a first agent; locking a resource controlled by a second agent with a first operation identifier; and under control of the second agent; (i) receiving a request to lock the resource controlled by the second agent with a second operation identifier for a client request for a client application, wherein the resource is already locked with the first operation identifier; (ii) determining whether the first operation identifier and the second operation identifier are determined to be a same identifier; (iii) if it is determined that the first operation identifier and the second operation identifier are the same identifier, responding to the request with an indication that the resource is locked with the same operation identifier; and (iv) if it is determined that the first operation identifier and the second operation identifier are not the same identifier, denying the lock request. - View Dependent Claims (2)
-
-
3. An article of manufacture including program logic for locking, wherein the program logic causes operations to be performed, the operations comprising:
-
under control of a first agent; locking a resource controlled by a second agent with a first operation identifier; and under control of the second agent; receiving a request to lock the resource controlled by the second agent with a second operation identifier for a client request for a client application, wherein the resource is already locked with the first operation identifier; determining whether the first operation identifier and the second operation identifier are determined to be a same identifier; if it is determined that the first operation identifier and the second operation identifier are the same identifier, responding to the request with an indication that the resource is locked with the same operation identifier; and if it is determined that the first operation identifier and the second operation identifier are not the same identifier, denying the lock request. - View Dependent Claims (4)
-
-
5. A system for locking, comprising:
-
under control of a first agent; means for locking a resource controlled by a second agent with a first operation identifier; and under control of the second agent; means for receiving a request to lock the resource controlled by the second agent with a second operation identifier for a client request for a client application, wherein the resource is already locked with the first operation identifier; means for determining whether the first operation identifier and the second operation identifier are determined to be a same identifier; means for, if it is determined that the first operation identifier and the second operation identifier are the same identifier, responding to the request with an indication that the resource is locked with the same operation identifier; and means for, if it is determined that the first operation identifier and the second operation identifier are not the same identifier, denying the lock request.
-
-
6. A system for deadlock management, comprising:
-
a processor; a computer readable storage medium accessible to the processor; and program logic including code causing the processor to perform; (i) receiving an indication of refusal of a lock request with a first operation identifier for a resource that is already locked with a lock associated with a second operation identifier from an agent that controls the resource, wherein the agent returns a value that determines how long the lock request is to stay on the queue; (ii) placing the lock request in a queue with a lock queue timeout period based on the value from the agent; (iii) reissuing the lock request if the lock associated with the second operation identifier has been released and the lock request reaches a position of the queue from which the lock request is processed within the lock queue timeout period; and (iv) re-queuing the lock request if the reissued lock request is not granted based on how many times the lock request has been previously placed in the queue. - View Dependent Claims (7)
-
-
8. An article of manufacture including program logic for deadlock management, wherein the program logic causes operations to be performed, the operations comprising:
-
receiving an indication of refusal of a lock request with a first operation identifier for a resource that is already locked with a lock associated with a second operation identifier from an agent that controls the resource, wherein the agent returns a value that determines how long the lock request is to stay on the queue; placing the lock request in a queue with a lock queue timeout period based on the value from the agent; reissuing the lock request if the lock associated with the second operation identifier has been released and the lock request reaches a position of the queue from which the lock request is processed within the lock queue timeout period; and re-queuing the lock request if the reissued lock request is not granted based on how many times the lock request has been previously placed in the queue. - View Dependent Claims (9)
-
-
10. A system for deadlock management, comprising:
-
means for receiving an indication of refusal of a lock request with a first operation identifier for a resource that is already locked with a lock associated with a second operation identifier from an agent that controls the resource, wherein the agent returns a value that determines how long the lock request is to stay on the queue; means for placing the lock request in a queue with a lock queue timeout period based on the value from the agent; means for, reissuing the lock request if the lock associated with the second operation identifier has been released and the lock request reaches a position of the queue from which the lock request is processed within the lock queue timeout period; and means for re-queuing the lock request if the reissued lock request is not granted based on how many times the lock request has been previously placed in the queue.
-
Specification