Patent ID: 9747135
Date: 2017-08-29
CPC Classifications: G06F

Claim:
1. A method for allocating multiple resources, the method comprising: receiving, by one or more processors, a configured resource plan, wherein the configured resource plan manages clusters that contain at least a plurality of resources, wherein the plurality of resources contains a set of owned resources and a set of unowned resources; constructing, by one or more processors, a hierarchical tree from the configured resource plan, wherein the hierarchical tree has a set of top-level consumers and a set of non-top-level consumers, and wherein the set of top-level consumers and the set of non-top-level consumers contain one or more consumers within the hierarchical tree; allocating, by one or more processors, the set of unowned resources according to a usage policy that prioritizes resource allocation to the set of top-level consumers first; associating, by one or more processors, the hierarchical tree with a usage policy, and wherein the usage policy is configured such that: sending, by one or more processors, the set of unowned resources to a share pool, wherein the share pool is configured to be accessible to the one or more consumers, and wherein the share pool comprises a global pool and a local pool; determining, by one or more processors, a change in a workload demand from the one or more consumers; associating, by one or more processors, the plurality of resources with the one or more consumers, wherein the associated plurality of resources run multiple applications for the one or more consumers; running, by one or more processors, a first application and a second application among multiple applications, wherein: enabling, by one or more processors, the second consumer to use at least in part of the plurality of resources from a third consumer, wherein the third consumer is a higher level consumer than the second consumer and the first consumer, and the third consumer is not a root consumer; lending, by one or more resources, at least in part of the plurality of resources to the second consumer from the first consumer in a sequential order for future use by the second consumer, wherein the sequential order of the lending is dictated by a reverse order of preference of the first consumer for the plurality of resources; and enabling, by one or more processors, the first consumer to reclaim the at least in part of the plurality of resources lent to the second consumer.