发明名称 |
Prioritized lock requests to reduce blocking |
摘要 |
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. |
申请公布号 |
US9164793(B2) |
申请公布日期 |
2015.10.20 |
申请号 |
US201213723854 |
申请日期 |
2012.12.21 |
申请人 |
Microsoft Technology Licensing, LLC |
发明人 |
Antonopoulos Panagiotis;Kodavalla Hanumantha Rao;Prakash Naveen |
分类号 |
G06F12/00;G06F9/46;G06F9/52 |
主分类号 |
G06F12/00 |
代理机构 |
|
代理人 |
Gabryjelski Henry;Barker Doug;Minhas Micky |
主权项 |
1. A computer-implemented method of requesting a lock on a resource in a manner which permits the lock to be prioritized by a user when requesting the lock, the computer-implemented method being performed by one or more processors executing computer executable instructions for the computer-implemented method, and the computer-implemented method comprising:
presenting at a transaction computing environment a request for a lock, the requested lock being based on one of at least first and second options which define priority for a requested lock on a resource provided in the transaction computing environment, the first option being a high priority kill lock request, and the second option being a low priority non-blocking lock request; if the lock request is specified as a low priority non-blocking lock request,
the low priority lock request is a 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 non-blocking lock request, the low priority non-blocking lock request is maintained in a non-blocking fashion until a predetermined condition occurs; andas a result of the predetermined condition occurring, handling the low priority non-blocking lock request such that it is no longer treated as a low priority non-blocking lock request by either aborting the low priority non-blocking lock request, or renewing the low priority non-blocking lock request as a high priority kill request; if the lock request is specified as a high priority kill lock request either initially or a as a result of renewing the low priority non-blocking lock request as a high priority kill lock request,
killing any operations being performed on the resource;aborting any transactions having a lock on the resource; andlocking the resource to prevent other agents from operating on the resource or requesting a lock on the resource. |
地址 |
Redmond WA US |