Approach for allocating resources to an apparatus based on resource requirements
First Claim
1. A non-transitory machine-readable medium for allocating resources to an apparatus, the machine readable medium carrying instructions which, when executed by one or more processors, cause performance of the steps of:
- receiving a request that specifies a plurality of resource requirements for the apparatus, wherein the plurality of resource requirements comprises a first resource requirement, a second resource requirement, a third resource requirement, and a fourth resource requirement;
in response to receiving the request, generating a traversable hierarchical resource requirements tree based on the plurality of resource requirements,wherein the traversable hierarchical resource requirements tree comprises a plurality of nodes representing the plurality of resource requirements, wherein, within the traversable hierarchical resource requirements tree, each branch between a parent node and a child node indicates that a resource requirement represented by the parent node is dependent on a resource requirement represented by the child node, and that the resource requirement represented by the child node is dependent on the resource requirement represented by the parent node,wherein a first parent node of the plurality of nodes represents the first resource requirement,wherein a first child node of the plurality of nodes represents the second resource requirement,wherein a second parent node of the plurality of nodes represents the third resource requirement,wherein a second child node of the plurality of nodes represents the fourth resource requirement,wherein the first parent node and the second parent node are children of a root node,wherein the first child node and the second child node are children of the first parent node;
evaluating the first parent node by determining whether a first resource is available that satisfies the first resource requirement;
upon determining that the first resource is available;
evaluating the first child node by determining whether a second resource is available that satisfies the second resource requirement;
upon determining that the second resource is available;
allocating the first resource to the first resource requirement;
allocating the second resource to the second resource requirement;
indicating that the first resource requirement and the second resource requirement are fulfilled;
upon determining that the second resource is not available;
indicating that the first resource requirement and the second resource requirement are not fulfilled; and
without evaluating the second child node, evaluating the second parent node by determining whether the third resource requirement is satisfied.
2 Assignments
0 Petitions
Accused Products
Abstract
An approach for allocating resources to an apparatus based on resource requirements generally involves a resource allocator receiving a request that specifies resource requirements for the apparatus. A resource allocator determines whether resources are available that satisfy the resource requirements. If resources are available that satisfy a resource requirement, the resource allocator indicates that the resource requirement is fulfilled and the resources are allocated to the apparatus. If resources are not available that satisfy a resource requirement, the resource allocator indicates that the resource requirement is not fulfilled and the resources are not allocated to the apparatus. The apparatus is implemented based on the allocated resources.
-
Citations
9 Claims
-
1. A non-transitory machine-readable medium for allocating resources to an apparatus, the machine readable medium carrying instructions which, when executed by one or more processors, cause performance of the steps of:
-
receiving a request that specifies a plurality of resource requirements for the apparatus, wherein the plurality of resource requirements comprises a first resource requirement, a second resource requirement, a third resource requirement, and a fourth resource requirement; in response to receiving the request, generating a traversable hierarchical resource requirements tree based on the plurality of resource requirements, wherein the traversable hierarchical resource requirements tree comprises a plurality of nodes representing the plurality of resource requirements, wherein, within the traversable hierarchical resource requirements tree, each branch between a parent node and a child node indicates that a resource requirement represented by the parent node is dependent on a resource requirement represented by the child node, and that the resource requirement represented by the child node is dependent on the resource requirement represented by the parent node, wherein a first parent node of the plurality of nodes represents the first resource requirement, wherein a first child node of the plurality of nodes represents the second resource requirement, wherein a second parent node of the plurality of nodes represents the third resource requirement, wherein a second child node of the plurality of nodes represents the fourth resource requirement, wherein the first parent node and the second parent node are children of a root node, wherein the first child node and the second child node are children of the first parent node; evaluating the first parent node by determining whether a first resource is available that satisfies the first resource requirement; upon determining that the first resource is available; evaluating the first child node by determining whether a second resource is available that satisfies the second resource requirement; upon determining that the second resource is available; allocating the first resource to the first resource requirement; allocating the second resource to the second resource requirement; indicating that the first resource requirement and the second resource requirement are fulfilled; upon determining that the second resource is not available; indicating that the first resource requirement and the second resource requirement are not fulfilled; and without evaluating the second child node, evaluating the second parent node by determining whether the third resource requirement is satisfied. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory machine-readable medium for allocating resources to an apparatus, the machine readable medium carrying instructions which, when executed by one or more processors, cause performance of the steps of:
-
receiving a request that specifies a plurality of resource requirements for the apparatus, wherein the plurality of resource requirements comprises a first resource requirement, a second resource requirement, a third resource requirement, and a fourth resource requirement; in response to receiving the request, generating a traversable hierarchical resource requirements tree based on the plurality of resource requirements, wherein the traversable hierarchical resource requirements tree comprises a plurality of nodes representing the plurality of resource requirements, wherein, within the traversable hierarchical resource requirements tree, each branch between a parent node and a child node indicates that a resource requirement represented by the parent node is dependent on a resource requirement represented by the child node, and that the resource requirement represented by the child node is dependent on the resource requirement represented by the parent node, wherein a first child node of the plurality of nodes represents the first resource requirement, wherein a second child node of the plurality of nodes represents the second resource requirement, wherein a first parent node of the plurality of nodes represents the third resource requirement, wherein a second parent node of the plurality of nodes represents the fourth resource requirement, wherein the first parent node and the second parent node are children of a root node, wherein the first child node is a child of the first parent node, wherein the second child node is a child of the second parent node; determining that second resource requirement is referentially dependent upon the first resource requirement; evaluating the first child node by determining whether a first resource is available that satisfies the first resource requirement; upon determining that the first resource is available and that the second resource requirement is referentially dependent upon the first resource requirement; allocating the first resource to the apparatus; evaluating the second child node by determining whether a second resource is available that satisfies the second resource requirement; upon determining that the second resource is available; allocating the second resource to the apparatus; and upon determining that the first resource is not available and that the second resource requirement is referentially dependent upon the first resource requirement; without evaluating the second child node by determining whether the second resource requirement is satisfied, not allocating both the first resource to the first resource requirement and the second resource to the second resource requirement. - View Dependent Claims (9)
-
Specification