Resource management for cloud computing platforms
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-015/177
H04L-012/24
G06F-009/50
출원번호
US-0169923
(2011-06-27)
등록번호
US-9450838
(2016-09-20)
발명자
/ 주소
Jain, Navendu
Menache, Ishai
출원인 / 주소
Microsoft Technology Licensing, LLC
대리인 / 주소
Corie, Alin
인용정보
피인용 횟수 :
9인용 특허 :
42
초록▼
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 allocati
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.
대표청구항▼
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
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; andwhen 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. The method of claim 1, further comprising: monitoring execution of the software application to determine the actual execution speeds of the different independently executable parts of the software application. 3. The method of claim 1, wherein the one or more specified overall user response time criteria include both a specified response time for responding to the user requests and a percentage of user requests that are expected to be serviced within the specified response time. 4. The method of claim 1, wherein the different independently executable parts of the software application include an interface layer that receives the user requests and has an expected interface layer execution speed, a processing layer that processes the user requests and has an expected processing layer execution speed, and a data layer that retrieves data responsive to the user requests and has an expected data layer execution speed. 5. The method of claim 4, wherein the expected interface layer execution speed, the expected processing layer execution speed, and the expected data layer execution speed each have different values. 6. The method of claim 5, further comprising: when the one or more specified overall user response time criteria are not met but an actual execution speed of the interface layer is slower than the expected interface layer execution speed, not allocating additional virtual machine resources to the software application. 7. The method of claim 5, further comprising: when the one or more specified overall user response time criteria are not met but an actual execution speed of the processing layer is slower than the expected processing layer execution speed, not allocating additional virtual machine resources to the software application. 8. The method of claim 5, further comprising: when the one or more specified overall user response time criteria are not met but an actual execution speed of the data layer is slower than the expected data layer execution speed, not allocating additional virtual machine resources to the software application. 9. The method of claim 5, wherein the one or more specified overall user response time criteria include a response time specified in milliseconds. 10. A cloud system comprising: at least one computing device; andone 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; andwhen 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. 11. The cloud system of claim 10, wherein the computer-executable instructions, when executed by the at least one computing device, cause the at least one computing device to: determine that an individual part of the software application has an individual actual execution speed that is lower than an individual expected execution speed of the individual part of the software application;determine that a difference between the individual actual execution speed and the individual expected execution speed exceeds a threshold; andresponsive to determining that the difference exceeds the threshold, not allocate the additional cloud resources to the software application. 12. The cloud system of claim 11, wherein the computer-executable instructions, when executed by the at least one computing device, cause the at least one computing device to: send a notification to the application owner identifying the individual actual execution speed of the individual part of the software application. 13. The cloud system of claim 10, wherein the cloud resources comprise virtual machines. 14. The cloud system of claim 10, wherein the cloud resources comprise resource containers. 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; andwhen 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. 16. The one or more hardware computer-readable media of claim 15, wherein the acts further comprise: allocating the additional cloud resources to the software application when the difference between the individual actual execution speed and the individual expected execution speed does not exceed a threshold. 17. The one or more hardware computer-readable media of claim 16, wherein the acts further comprise: not allocating the additional cloud resources to the software application when the difference between the individual actual execution speed and the individual expected execution speed exceeds the threshold. 18. The one or more hardware computer-readable media of claim 15, wherein the specified overall user response time criteria requires at least a certain percentage of the user requests to receive responses within 100 milliseconds or less. 19. The one or more hardware computer-readable media of claim 15, wherein the different parts of the software application include at least a first part with an associated first expected execution speed of 10 processed user requests per second, a second part with an associated second expected execution speed of 5 processed user requests per second, and a third part with an associated third expected execution speed of 2 processed user requests per second. 20. The one or more hardware computer-readable media of claim 19, wherein the first part of the software application is an interface layer that receives the user requests, the second part of the software application is a processing layer that processes the user requests, and the third part of the software application is a data layer that retrieves data responsive to the user requests.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (42)
Sharma, Ratnesh K.; Bash, Cullen E.; Patel, Chandrakant D., Agent based control method and system for energy management.
Graybill, David P.; Iyengar, Madhusudan K; Newcomer, Jeffrey A.; Schmidt, Roger R., Airflow recirculation and cooling apparatus and method for an electronics rack.
Davis Glenn A. (Lilburn GA) Massara James M. (Dunwoody GA), Apparatus and method for controlling an electrical load and monitoring control operations and the electrical load.
Karaoguz, Jeyhan; Currivan, Bruce; Diab, Wael William; Kim, Yongbum; Ma, Kenneth; Johas Teener, Michael, Method and system for power-limited switching and/or routing in a network.
Kuelbs,Gustav P.; Kuelbs,John A.; Kuelbs,Gregory G.; Domzalski,Donald, Method of producing, selling, and distributing articles of manufacture through the automated aggregation of orders and the visual representation of standardized shipping volumes.
Ritter, Allen Michael; Harbourt, Cyrus David; Wagoner, Robert Gregory, Methods for coupling an energy storage system to a variable energy supply system.
Cherkasova, Ludmila; Tang, Wenting, System and method for determining how many servers of at least one server configuration to be included at a service provider's site for supporting an expected workload.
Belady, Christian L.; Larus, James R.; Reed, Danny A.; Borgs, Christian H.; Chayes, Jennifer Tour; Lobel, Ilan; Menache, Ishai; Nazerzadeh, Hamid; Jain, Navendu, Data center system that accommodates episodic computation.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.