Systems and methods for optimization of data element utilization using demographic data
US-12014212-B2 · Jun 18, 2024 · US
US9264376B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9264376-B2 |
| Application number | US-201414330042-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 14, 2014 |
| Priority date | Oct 18, 2010 |
| Publication date | Feb 16, 2016 |
| Grant date | Feb 16, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
In general, the embodiments of the present invention provide an approach for rebalancing/reallocating cloud resource capacities between resource pools that provide variable customer assurances and delivery penalties when assurances are not met. The variables that are considered hereunder include, overall ‘reservations’, total current capacity, remaining capacity against unused reservations and penalties that apply for failing to satisfy ‘reservation’ commitments. The approach uses a rate of capacity consumption to calculate the risk of consuming the available capacity in each resource pool (e.g., resource pools allocated to satisfy different levels of service with different SLA failure penalties). Based on the relative available capacity in each pool (as determined by the pool rate of consumption), resources are reallocated to maximize revenue (e.g., reduce financial penalty) across a resource pool set.
Opening claim text (preview).
What is claimed is: 1. A method for reallocating resource capacity among resource pools in a cloud computing environment, comprising: receiving a request for an instance of a virtual machine; classifying the request based on details of the request and an applicable set of Service Level Agreement (SLA) terms; determining a rate of consumption and a saturation point of a set of resource pools based on fulfillment of the request, the set of resource pools comprising a reservation based pool and an on-demand based pool; determining a potential penalty for failing to fulfill future requests for instances in the reservation based pool, the future requests being predicted based on the rate of consumption; calculating a risk of failure to the fulfill future requests among the set of resource pools based on at least one of a rate of instance de-provisioning, a rate of instance-provisioning, a rate of consumption, a reserved capacity, a reservation capacity, and an on-demand capacity; calculating an amount of resource capacity necessary for the reservation based pool based on the risk, the rate of consumption, the saturation point, and the potential penalty so that the potential penalty is minimized; estimating an amount of resource capacity that will potentially be consumed in the reservation based pool, in addition to the calculated amount of resource capacity necessary for the reservation based pool, between a time of a reallocation of the calculated amount of resource capacity and a time of another reallocation; calculating an amount of a capacity required to be transferred from the on-demand based pool to the reservation based pool to fulfill the calculated amount of resource capacity and the estimated amount of resource capacity; initiating a transfer of resource capacity from the on-demand based pool to the reservation based pool; discontinuing on-demand provisioning until sufficient capacity has been transferred if the on-demand based pool does not have adequate capacity to achieve the capacity transfer; and providing bandwidth in accordance with the distribution of the resource capacity among the on-demand based pool and the reservation based pool. 2. The method of claim 1 , the resource capacity comprising at least one of the following: a Central Processing Unit (CPU) capacity, a memory capacity, a storage capacity, a virtual machine capacity, or a network location. 3. The method of claim 1 , further comprising selecting a resource pool from the set of resource pools for fulfilling the request. 4. The method of claim 1 , the potential penalty comprising a financial penalty. 5. The method of claim 1 , further comprising: determining a provisioning rate and a de-provisioning rate of the set of resource pools; and using the provisioning rate and the de-provisioning rate to determine the rate of consumption and the saturation point. 6. The method of claim 1 , wherein a service solution provider provides a computer infrastructure that performs the method for one or more consumers. 7. The method of claim 1 , the set of resource pools comprising at least three resource pools. 8. The method of claim 1 , the reallocating being performed asynchronous with a processing of the request. 9. The method of claim 1 , the reallocation occurring from the on-demand based resource pool to the reservation based resource pool so the potential penalty can be minimized. 10. A system for reallocating resource capacity among resource pools in a cloud computing environment, comprising: a bus; a processor coupled to the bus; and a memory medium coupled to the bus, the memory medium comprising instructions to: receive a request for an instance of a virtual machine; classify the request based on details of the request and an applicable set of Service Level Agreement (SLA) terms; determine a rate of consumption and a saturation point of a set of resource pools based on fulfillment of the request, the set of resource pools comprising a reservation based pool and an on-demand based pool; determine a potential penalty for failing to fulfill future requests for instances in the reservation based pool, the future requests being predicted based on the rate of consumption; calculate a risk of failure to the fulfill future requests among the set of resource pools based on at least one of a rate of instance de-provisioning, a rate of instance-provisioning, a rate of consumption, a reserved capacity, a reservation capacity, and an on-demand capacity; calculate an amount of resource capacity necessary for the reservation based pool based on the risk, the rate of consumption, the saturation point, and the potential penalty so that the potential penalty is minimized; estimate an amount of resource capacity that will potentially be consumed in the reservation based pool, in addition to the calculated amount of resource capacity necessary for the reservation based pool, between a time of a reallocation of the calculated amount of resource capacity and a time of another reallocation; calculate an amount of a capacity required to be transferred from the on-demand based pool to the reservation based pool to fulfill the calculated amount of resource capacity and the estimated amount of resource capacity; initiate a transfer of resource capacity from the on-demand based pool to the reservation based pool; discontinue on-demand provisioning until sufficient capacity has been transferred if the on-demand based pool does not have adequate capacity to achieve the capacity transfer; and provide bandwidth in accordance with the distribution of the resource capacity among the on-demand based pool and the reservation based pool. 11. The system of claim 10 , the resource capacity comprising at least one of the following: a Central Processing Unit (CPU) capacity, a memory capacity, a storage capacity, a virtual machine capacity, or a network location. 12. The system of claim 10 , the memory medium further comprising instructions to select a resource pool from the set of resource pools for fulfilling the request. 13. The system of claim 10 , the potential penalty comprising a financial penalty. 14. The system of claim 10 , the memory medium further comprising instructions to: determine a provisioning rate and a de-provisioning rate of the set of resource pools; and use the provisioning rate and the de-provisioning rate to determine the rate of consumption and the saturation point. 15. A computer program product for reallocating resource capacity among resource pools in a cloud computing environment, the computer program product comprising a computer readable storage media, and program instructions stored on the computer readable storage media, to: receive a request for an instance of a virtual machine; classify the request based on details of the request and an applicable set of Service Level Agreement (SLA) terms; determine a rate of consumption and a saturation point of a set of resource pools based on fulfillment of the request, the set of resource pools comprising a reservation based pool and an on-demand based pool; determine a potential penalty for failing to fulfill future requests for instances in the reservation based pool, the future requests being predicted based on the rate of consumption; calculate a risk of failure to the fulfill future requests among the set of resource pools based on at least one of a rate of instance de-provisioning, a rate of instance-provisioning, a rate of consumption, a reserved capacity, a reservation capacity, and an on-demand capacity; calculate an amount of resource capacity necessary for the res
the resources being hardware resources other than CPUs, Servers and Terminals · CPC title
Pool · CPC title
using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions · CPC title
based on usage prediction · CPC title
in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.