ColoredLock synchronization object, allowing flow specific policy of lock canceling
First Claim
Patent Images
1. A method of allowing a flow specific policy of lock canceling, the method comprising:
- receiving a request for a lock object, the request received at a storage system from a calling thread, the request including a color attribute that indicates a type of flow associated with the calling thread;
passing the request with the color attribute to an extended lock object application programming interface (API) at the storage system; and
performing, at the storage system, selective termination of requests that are waiting on the lock object, the selective termination based on the color attribute, and the requests including the request for the lock object;
wherein the extended lock object API includes calls comprising;
a lock call including the lock object and the color attribute;
an unlock call including the lock object;
a cancel lock by color call including the lock object and a colors mask attribute; and
a clear color mask call including the lock object.
7 Assignments
0 Petitions
Accused Products
Abstract
Aspects for operating a computer system include a colored lock synchronization object allowing flow specific policy of lock canceling. An extended lock object Application Programming Interface (API) including a color attribute is utilized. A color attribute is passed to the extended lock API, whereby the color attribute reflects a type of flow or thread that called a colored lock object. Selective termination of requests waiting on a colored lock object can be utilized to prevent a potential deadlock condition.
-
Citations
16 Claims
-
1. A method of allowing a flow specific policy of lock canceling, the method comprising:
-
receiving a request for a lock object, the request received at a storage system from a calling thread, the request including a color attribute that indicates a type of flow associated with the calling thread; passing the request with the color attribute to an extended lock object application programming interface (API) at the storage system; and performing, at the storage system, selective termination of requests that are waiting on the lock object, the selective termination based on the color attribute, and the requests including the request for the lock object; wherein the extended lock object API includes calls comprising; a lock call including the lock object and the color attribute; an unlock call including the lock object; a cancel lock by color call including the lock object and a colors mask attribute; and a clear color mask call including the lock object. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
a processor; and memory storing computer program code that when executed on the processor causes the processor to operate a storage system, the storage system operable to perform the operations of; receiving a request for a lock object, the request received at a storage system from a calling thread, the request including a color attribute that indicates a type of flow associated with the calling thread; passing the request with the color attribute to an extended lock object application programming interface (API) at the storage system; and performing, at the storage system, selective termination of requests that are waiting on the lock object, the selective termination based on the color attribute, and the requests including the request for the lock object; wherein the extended lock object API includes calls comprising; a lock call including the lock object and the color attribute; an unlock call including the lock object; a cancel lock by color call including the lock object and a colors mask attribute; and a clear color mask call including the lock object attribute. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A computer program product including a non-transitory computer readable storage medium having computer program code encoded thereon for allowing a flow specific policy of lock canceling that when executed on a processor of a computer causes the computer to operate a storage system, the computer program product comprising for performing operations, the operations comprising:
-
receiving a request for a lock object, the request received at a storage system from a calling thread, the request including a color attribute that indicates a type of flow associated with the calling thread; passing the request with the color attribute to an extended lock object application programming interface (API) at the storage system; and performing, at the storage system, selective termination of requests that are waiting on the lock object, the selective termination based on the color attribute, and the requests including the request for the lock object; wherein the extended lock object API includes calls comprising; a lock call including the lock object and the color attribute; an unlock call including the lock object; a cancel lock by color call including the lock object and a colors mask attribute; and a clear color mask call including the lock object. - View Dependent Claims (15, 16)
-
Specification