Approach for allocating resources to an apparatus based on preemptable resource requirements
First Claim
1. A machine-readable medium for allocating resources to a first apparatus, the machine readable medium storing instructions which, when executed by one or more processors, cause performance of the steps of:
- determining that a first resource, which satisfies a first resource requirement for said first apparatus, is not available;
determining that a second resource, which is currently allocated to a second apparatus, satisfies said first resource requirement;
determining that said second resource satisfies a second resource requirement for said second apparatus;
determining that said second resource requirement is a preemptable resource requirement characterized in that resources that currently satisfy said second resource requirement may be de-allocated from said second apparatus;
identifying an alternative resource requirement to said second resource requirement;
de-allocating said second resource from said second apparatus;
allocating said second resource to said first apparatus;
determining that a third resource, which satisfies said alternative resource requirement, is available;
allocating said third resource to said second apparatus;
establishing a first value for a first attribute that is associated with said first resource requirement;
establishing a second value for a second attribute that is associated with said second resource requirement;
establishing a third value for a third attribute that is associated with said alternative resource requirement;
based on de-allocating said second resource from said second apparatus and allocating said third resource to said second apparatus;
changing said first value for said first attribute to a fourth value;
changing said second value for said second attribute to a fifth value; and
changing said third value for said third attribute to a sixth value,wherein the first apparatus and the second apparatus each comprise at least one networked computer system.
2 Assignments
0 Petitions
Accused Products
Abstract
An approach for allocating resources to an apparatus based on preemptable resource requirements generally involves a resource allocator determining that a resource that satisfies a resource requirement for one apparatus is not available but that another resource that currently satisfies another resource requirement for another apparatus does satisfy the resource requirement. The resource allocator determines that the other resource requirement for the other apparatus is characterized in that resources that currently satisfy the other resource requirement may be de-allocated from the other apparatus, such as a preemptable resource requirement. The resource allocator de-allocates the resource from the other apparatus and allocates the resource to the one apparatus. A preemptable resource requirement can be based on a suspendable resource requirement or a set of alternative resource requirements.
181 Citations
40 Claims
-
1. A machine-readable medium for allocating resources to a first apparatus, the machine readable medium storing instructions which, when executed by one or more processors, cause performance of the steps of:
-
determining that a first resource, which satisfies a first resource requirement for said first apparatus, is not available; determining that a second resource, which is currently allocated to a second apparatus, satisfies said first resource requirement; determining that said second resource satisfies a second resource requirement for said second apparatus; determining that said second resource requirement is a preemptable resource requirement characterized in that resources that currently satisfy said second resource requirement may be de-allocated from said second apparatus; identifying an alternative resource requirement to said second resource requirement; de-allocating said second resource from said second apparatus; allocating said second resource to said first apparatus; determining that a third resource, which satisfies said alternative resource requirement, is available; allocating said third resource to said second apparatus; establishing a first value for a first attribute that is associated with said first resource requirement; establishing a second value for a second attribute that is associated with said second resource requirement; establishing a third value for a third attribute that is associated with said alternative resource requirement; based on de-allocating said second resource from said second apparatus and allocating said third resource to said second apparatus; changing said first value for said first attribute to a fourth value; changing said second value for said second attribute to a fifth value; and changing said third value for said third attribute to a sixth value, wherein the first apparatus and the second apparatus each comprise at least one networked computer system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A machine-readable medium for allocating resources to a particular networked computer system, the machine readable medium storing instructions which, when executed by one or more processors, cause performance of the steps of:
-
receiving data that specifies a plurality of resource requirements for said particular networked computer system; for each resource requirement of said plurality of resource requirement, determining whether one or more resources from a plurality of resources are available that satisfy the resource requirement; if said one or more resources are available, then allocating said one or more resources to said particular networked computer system; and if said one or more resources are not available, then not allocating said one or more resources to said particular networked computer system; for each resource requirement of said plurality of resource requirements for which said one or more resources are not available, determining whether one or more other resources, which are allocated to another networked computer system that is different than said particular networked computer system, satisfy the resource requirement; and determining that said one or more other resources satisfy a preemptable resource requirement for said other networked computer system; for said each resource requirement that is determined to be satisfied by said one or more other resources that satisfy said preemptable resource requirement, identifying an alternative resource requirement to said preemptable resource requirement; de-allocating said one or more other resources from said other networked computer system; determining that a third resource, which satisfies said alternative resource requirement, is available; allocating said third resource to said other networked computer system; allocating said one or more other resources to said particular networked computer system instead of said other networked computer system; establishing a first value for a first attribute that is associated with said each resource requirement; establishing a second value for a second attribute that is associated with said preemptable resource requirement; establishing a third value for a third attribute that is associated with said alternative resource requirement; based on de-allocating said one or more other resources from said other networked computer system and allocating said third resource to said other networked computer system; changing said first value for said first attribute to a fourth value; changing said second value for said second attribute to a fifth value; and changing said third value for said third attribute to a sixth value. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. A mechanism for allocating resources to a first apparatus, the mechanism comprising a memory storing instructions which, when executed by one or more processors, cause performance of the steps of:
-
determining that a first resource, which satisfies a first resource requirement for said first apparatus, is not available; determining that a second resource, which is currently allocated to a second apparatus, satisfies said first resource requirement; determining that said second resource requirement satisfies a second resource requirement for said second apparatus; determining that said second resource requirement is a preemptable resource requirement characterized in that resources that currently satisfy said second resource requirement may be de-allocated from said second apparatus; identifying an alternative resource requirement to said second resource requirement; de-allocating said second resource from said second apparatus; allocating said second resource to said first apparatus; determining that a third resource, which satisfies said alternative resource requirement, is available; allocating said third resource to said second apparatus; establishing a first value for a first attribute that is associated with said first resource requirement; establishing a second value for a second attribute that is associated with said second resource requirement; establishing a third value for a third attribute that is associated with said alternative resource requirement; based on de-allocating said second resource from said second apparatus and allocating said third resource to said second apparatus; changing said first value for said first attribute to a fourth value; changing said second value for said second attribute to a fifth value; and changing said third value for said third attribute to a sixth value, wherein the first apparatus and the second apparatus each comprise at least one networked computer system. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A mechanism for allocating resources to a particular networked computer system, the mechanism comprising a memory storing instructions which, when executed by one or more processors, cause performance of the steps of:
-
receiving data that specifies a plurality of resource requirements for said particular networked computer system; for each resource requirement of said plurality of resource requirements, determining whether one or more resources from a plurality of resources are available that satisfy the resource requirement; if said one or more resources are available, then allocating said one or more resources to said particular networked computer system; and if said one or more resources are not available, then not allocating said one or more resources to said particular networked computer system; for each resource requirement of said plurality of resource requirements for which said one or more resources are not available, determining whether one or more other resources, which are allocated to another networked computer system that is different than said particular networked computer system, satisfy the resource requirement; and determining that said one or more other resources satisfy a preemptable resource requirement for said other networked computer system; for said each resource requirement that is determined to be satisfied by said one or more other resources that satisfy said preemptable resource requirement, identifying an alternative resource requirement to said preemptable resource requirement; de-allocating said one or more other resources from said other networked computer system; determining that a third resource, which satisfies said alternative resource requirement, is available; allocating said third resource to said other networked computer system; allocating said one or more other resources to said particular networked computer system instead of said other networked computer system; establishing a first value for a first attribute that is associated with said each resource requirement; establishing a second value for a second attribute that is associated with said preemptable resource requirement; establishing a third value for a third attribute that is associated with said alternative resource requirement; based on de-allocating said one or more other resources from said other networked computer system and allocating said third resource to said other networked computer system; changing said first value for said first attribute to a fourth value; changing said second value for said second attribute to a fifth value; and changing said third value for said third attribute to a sixth value. - View Dependent Claims (36, 37, 38, 39, 40)
-
Specification