Patent ID: 6668270
Filing Date: 2003-12-23
Classification: G06F,Y10S

Abstract:
A method for allocating a resource in a system that includes a plurality of processes executing on a plurality of nodes, the method comprising the steps of:causing a process to obtain, prior to accessing the resource in a particular way, a first lock that grants permission for the process to access the resource in the particular way, wherein the process requests the first lock from a shadow resource object located on the same node as the process; causing the shadow resource object to obtain, prior to granting the first lock to the process, a second lock that grants permission for the shadow resource object to grant locks that grant permission for 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; maintaining master knowledge data on the same node as the process, wherein the master knowledge data indicates the information that the shadow resource object has most recently sent to the master resource object about the shadow resource object; maintaining, as local lock tracking data, data that identifies one or more processes that hold locks that: are issued by said shadow resource object, and grant permission for the one or more processes to access the resource; wherein the master knowledge data includes data that indicates a lock mode that the master resource object believes the shadow resource object to hold; and maintaining, on the same node as the process, separate from said master knowledge data and said local lock trackinig data, data that indicates a lock mode currently held by the shadow resource object.