Patent ID: 9264376
Filing Date: 2016-02-16
CPC Classification: G06F,H04L

Claim Text:
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.