A system and method for managing the allocation of resources and locks to client
computer systems. The system and method provides server-side control features related
to resource requests for locked resources, such as establishing an expected lifetime
property so that the sever may notify requesting clients as to the expected lifetime
of a lock to improve client-side polling methods. The system and method relates
to blocking a resource or otherwise maintaining subscriptions to lock-related events
to effectively allow for asynchronous grants of a lock based on the time of the
request to alleviate lock starvation. Another feature relates to a server-side
lock function of breaking an existing lock or at least modifying/reducing a lock
timeout period to prevent lost resources.