Resource management for cloud computing platforms
First Claim
Patent Images
1. A method performed by at least one computing device, the method comprising:
- receiving one or more specified overall user response time criteria for responding to user requests received during execution of a software application, wherein the software application is provided by an application owner to execute on cloud resources of a cloud computing platform operated by a cloud operator;
identifying different independently executable parts of the software application having corresponding expected execution speeds;
allocating virtual machine resources to the different independently executable parts of the software application, the virtual machine resources being anticipated to meet the one or more specified overall user response time criteria;
determining whether the different independently executable parts of the software application have corresponding actual execution speeds that are slower than the expected execution speeds; and
when the one or more specified overall user response time criteria are not met when executing the software application on the cloud resources, allocating additional virtual machine resources to the software application provided the actual execution speeds are not less than the expected execution speeds.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for managing allocation of resources based on service level agreements between application owners and cloud operators. Under some service level agreements, the cloud operator may have responsibility for managing allocation of resources to the software application and may manage the allocation such that the software application executes within an agreed performance level. Operating a cloud computing platform according to such a service level agreement may alleviate for the application owners the complexities of managing allocation of resources and may provide greater flexibility to cloud operators in managing their cloud computing platforms.
-
Citations
20 Claims
-
1. A method performed by at least one computing device, the method comprising:
-
receiving one or more specified overall user response time criteria for responding to user requests received during execution of a software application, wherein the software application is provided by an application owner to execute on cloud resources of a cloud computing platform operated by a cloud operator; identifying different independently executable parts of the software application having corresponding expected execution speeds; allocating virtual machine resources to the different independently executable parts of the software application, the virtual machine resources being anticipated to meet the one or more specified overall user response time criteria; determining whether the different independently executable parts of the software application have corresponding actual execution speeds that are slower than the expected execution speeds; and when the one or more specified overall user response time criteria are not met when executing the software application on the cloud resources, allocating additional virtual machine resources to the software application provided the actual execution speeds are not less than the expected execution speeds. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A cloud system comprising:
-
at least one computing device; and one or more computer-readable storage media storing computer-executable instructions which, when executed by the at least one computing device, cause the at least one computing device to; receive one or more specified overall user response time criteria for responding to user requests received during execution of a software application, wherein the software application is provided by an application owner to execute on cloud resources of the cloud system; identify different parts of the software application having corresponding expected execution speeds, wherein the different parts of the software application are independently executable; allocate individual cloud resources to the different parts of the software application, the individual cloud resources being anticipated to allow the software application to meet the one or more specified overall user response time criteria; and when the one or more specified overall user response time criteria are not met when executing the software application on the individual cloud resources, perform further allocation of additional cloud resources to the software application based at least in part on whether the different parts of the software application have corresponding actual execution speeds that match the expected execution speeds. - View Dependent Claims (11, 12, 13, 14)
-
-
15. One or more hardware computer-readable media storing instructions which, when executed by one or more processors, cause the one or more processors to perform acts comprising:
-
receiving one or more specified overall user response time criteria for responding to user requests received during execution of a software application, wherein the software application is provided by an application owner to execute on cloud resources of a cloud system; identifying different parts of the software application having corresponding expected execution speeds, wherein the different parts of the software application are independently executable; allocating individual cloud resources to the different parts of the software application, the individual cloud resources being anticipated to allow the software application to meet the one or more specified overall user response time criteria; determining a difference between an individual actual execution speed of an individual part of the software application and an individual expected execution speed of the individual part of the software application; and when the one or more specified overall user response time criteria are not met when executing the software application on the individual cloud resources, performing further allocation of additional cloud resources to the software application based at least in part on the difference between the individual actual execution speed of the individual part of the software application and the individual expected execution speed of the individual part of the software application. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification