Patent ID: 7454579

Claim:
A method of managing access to shared resources, comprising: receiving a request indicating that an operation requires access to a specific shared resource of a first category and a minimum number of shared resources of a second category, the minimum number being at least one, wherein the operation is decomposed into a plurality of tasks; associating the operation with a lock in a lock queue that is associated with the specific shared resource of the first category; determining whether the specific shared resource of the first category is accessible to the operation; and determining whether the operation is ready to be executed, the determination being based at least in part on whether the minimum number of shared resources of the second category are accessible to the operation; in the event that the specific shared resource of the first category is available, gaining access to the minimum number of shared resources of the second category; beginning to execute at least one of the plurality of tasks once the minimum number of shared resources of the second category become available to the operation; and competing for additional shared resources of the second category beyond the minimum number and up to a maximum allowed number to be used by successive tasks.