Patent ID: 6618744
Filing Date: 2003-09-09
Classification: G06F,Y10S

Abstract:
A method for allocating a resource in a system that includes a plurality of first processes executing on a plurality of nodes, the method comprising the steps of:causing a first process to obtain, prior to accessing the resource in a particular way, a first lock that grants permission for the first process to access the resource in the particular way, wherein the first process requests the first lock from a shadow resource object located on the same node as the first process; causing the shadow resource object to obtain, prior to granting the first lock to the first process, a second lock that grants permission for the shadow resource object to grant locks that grant permission for first processes to access the resource in the particular way, wherein the shadow resource object requests the second lock from a master resource object stored on a different node than said shadow resource object; wherein said first process is the only process that currently holds any lock that requires said shadow resource object to retain said second lock; in response to said first process downgrading said first lock, determining whether to proactively downgrade said second lock without first receiving a request to downgrade said second lock; and wherein the step of determining is performed while a second process holds another lock on said resource granted by said shadow resource object.