Patent ID: 7810098

Claim:
A method of allocating resources in a hierarchical distributed data processing system comprising: representing, in a tree corresponding to the hierarchical data processing system, a plurality of data processing systems, each of the plurality of data processing systems forming a node in the tree, and each resource in the hierarchical distributed data processing system being controlled by a corresponding node; submitting at a node data processing system a request of execution of an operation requiring a set of selected resources, each selected resource being controlled by a node in an ordered path in the tree, a selected resource at a node in the tree being one of (i) a local resource of the node in the tree if the node in the tree can allocate the selected resource, and (ii) a global resource if a parent node of the node in the tree can allocate the selected resource for use by an operation at the node in the tree; maintaining an allocation queue and a reservation queue at the node in the tree, the allocation queue containing information of a resource allocated to a job that is enabled, the reservation queue containing information of a second resource being requested by a second job that is not enabled; recording, responsive to the request, information of a subset of the selected resources in the reservation queue at the node in the ordered path; allocating the subset of the selected resources at the node in the ordered path, the allocating causing the information of the subset of the selected resources to be (i) deleted from the reservation queue and (ii) recorded in the allocation queue of the node in the ordered path; and enabling execution of the operation in response to the allocation of all the selected resources, the selected resources controlled by each node in the ordered path being allocated only when all the selected resources controlled by each previous node in the ordered path have been allocated.