IP Library Granted Patent US 8,661,131
Granted Patent B1
US 8,661,131 · App. 12/540,259 · Granted Feb 25, 2014

Managing resources in virtualization systems

Inventors: Yechiam Yemini (Alpine, NJ); Shmuel Kliger (Chappaqua, NY); Danilo Florissi (Briarcliff Manor, NY); Shai Benjamin (Zion, IL); Yuri Rabover (San Carlos, CA)
Assignee: VMTurbo, Inc.
H04L29/08144H04L29/08153H04L29/08234
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,661,131
App. No.
12/540,259
Granted
Feb 25, 2014
Kind
B1
Abstract

Methods, systems, and apparatus, including computer program products, for managing resources in virtualization systems, including multi-cloud systems. The use of supply chain economics alone and in combination with other techniques offers a unified platform to integrate, optimize or improve, and automate resource management in a virtualization system. These techniques may be used to monitor and control the delivery of service level agreements and software licenses. They may also be used to monitor and control contention of computing resources in a virtualization system, and to suspend or terminate computing resources.

Claims (38)

1. A computer-implemented method, comprising:

allocating a computer resource bundle to an application running on a virtual machine in a virtualization system, wherein the virtual machine is a software implementation of a computer that runs at least one guest operating system and executes one or more programs or applications on the guest operating system;

receiving, from a user, a target service level agreement parameter level;

determining, by an application element manager running on a data processor in the virtualization system, a service level agreement parameter level for the application based on the allocated computer resource bundle, wherein the determined parameter level represents a performance level of the application and is correlated to at least one of the transaction rate of the application, the completion time or delay of the application, and the number of transactions performed by the application;

comparing the determined service level agreement parameter level for the application to the target service level agreement parameter level;

automatically modifying the allocation of computer resources to the application depending on whether the identified service level agreement parameter level for the application is below or above the target service level agreement parameter level, wherein the automatically modifying is based at least in part on the monitoring of stochastic fluctuations; and

repeating the determining, comparing and automatically modifying steps at least once before the operation of the application in the virtualization system is suspended or terminated.

2. The computer-implemented method of claim 1 , further comprising maintaining a budget, in virtual currency units, for the application, wherein the allocation of computer resources to the application is based on payment of virtual currency units by the application according to a determined price for the allocation of computer resources.

3. The computer-implemented method of claim 2 , further comprising converting the paid virtual currency units to government issued monetary currency based on a predetermined exchange rate.

4. The computer-implemented method of claim 2 , wherein the determined price for the allocation of computer resources to the application is based at least in part on one or more auction bids for purchase of the computer resources.

5. The computer-implemented method of claim 2 , further comprising automatically adjusting the budget for the application based on the comparison of the determined service level agreement parameter level for the application to a threshold service level agreement parameter level.

6. The computer-implemented method of claim 2 , further comprising automatically adjusting the payment of virtual currency units to a virtual machine on which the application is running based on the comparison of the determined service level agreement parameter level for the application to a threshold service level agreement parameter level.

7. The computer-implemented method of claim 6 , further comprising automatically adjusting the payment of virtual currency units to a computer server by the virtual machine based on the comparison of the determined service level agreement parameter level for the application to a threshold service level agreement parameter level.

8. The computer-implemented method of claim 1 , wherein the computer resource bundle includes at least one of an allotment of computer memory, an allotment of program execution scheduling for one or more central processing units, an allotment of storage interface bandwidth, an allotment of network interface bandwidth, and an allotment of a storage array.

9. The computer-implemented method of claim 1 , wherein the application is operating in a first virtualization system, and wherein the computer resources allocated to the application are obtained from a second virtualization system.

10. A system for managing computer resources, comprising:

a virtualization system comprising an application running on a virtual machine; and

instructions stored on a computer readable medium in the first virtualization system and executable by a data processing apparatus to cause the data processing apparatus to perform operations comprising:

allocating a computer resource bundle to the application operating in the virtualization system, wherein the virtual machine is a software implementation of a computer that runs at least one guest operating system and executes one or more programs or applications on the guest operating system;

receiving, from a user, a target service level agreement parameter level;

determining, by an application element manager, a service level agreement parameter level for the application based on the allocated computer resource bundle, wherein the determined parameter level represents a performance level of the application and is correlated to at least one of the transaction rate of the application, the completion time or delay of the application, and the number of transactions performed by the application;

comparing the determined service level agreement parameter level for the application to the target service level agreement parameter level;

automatically modifying the allocation of computer resources to the application depending on whether the identified service level agreement parameter level for the application is below or above the target service level agreement parameter level, wherein the automatically modifying is based at least in part on the monitoring of stochastic fluctuations; and

repeating the determining, comparing and automatically modifying steps at least once before the operation of the application in the virtualization system is suspended or terminated.

11. The computer-implemented method of claim 10 , further comprising

maintaining a budget, in virtual currency units, for the application, wherein the allocation of computer resources to the application is based on payment of virtual currency units by the application according to a determined price for the allocation of computer resources.

12. The computer-implemented method of claim 11 , further comprising converting the paid virtual currency units to government issued monetary currency based on a predetermined exchange rate.

13. The computer-implemented method of claim 11 , further comprising automatically adjusting the budget for the application based on the comparison of the determined service level agreement parameter level for the application to a threshold service level agreement parameter level.

14. The computer-implemented method of claim 10 , wherein the computer resource bundle includes at least one of an allotment of computer memory, an allotment of program execution scheduling for one or more central processing units, an allotment of storage interface bandwidth, an allotment of network interface bandwidth, and an allotment of a storage array.

15. The computer-implemented method of claim 10 , wherein the application is operating in a first virtualization system, and wherein the computer resources allocated to the application are obtained from a second virtualization system.

16. A computer-implemented method, comprising:

purchasing a computer resource bundle, using virtual currency units, for an application running on a virtual machine in a virtualization system, wherein the virtual machine is a software implementation of a computer that runs at least one guest operating system and executes one or more programs or applications on the guest operating system;

allocating the purchased computer resource bundle to the application;

receiving, from a user, a target service level agreement parameter level;

determining, by an element manager running on a data processor in the virtualization system, a service level agreement parameter level for the application, wherein the determined parameter level represents a performance level of the application and is correlated to at least one of the transaction rate of the application, the completion time or delay of the application, and the number of transactions performed by the application;

automatically modifying the purchase of the computer resource bundle based at least in part on a comparison of the determined service level agreement parameter level to the target service level agreement parameter level, wherein the automatically modifying is based at least in part on the monitoring of stochastic fluctuations; and

repeating the determining, comparing and automatically modifying steps at least once before the operation of the application in the virtualization system is suspended or terminated.

17. The computer-implemented method of claim 16 , wherein the automatically modifying the purchase of the computer resource bundle is based at least in part on a stochastic approximation algorithm.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2022
From: TURBONOMIC, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 062202/0030 →
RELEASE OF SECURITY INTEREST Recorded Jul 5, 2022
From: SILICON VALLEY BANK
To: TURBONOMIC, INC.
Reel/Frame 060396/0411 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 23, 2019
From: TURBONOMIC, INC.
To: SILICON VALLEY BANK
Reel/Frame 050156/0150 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 23, 2019
From: TURBONOMIC, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 050156/0161 →
CHANGE OF NAME Recorded Sep 22, 2016
From: VMTURBO, INC.
To: TURBONOMIC, INC.
Reel/Frame 040114/0091 →
CORRECTIVE ASSIGNMENT TO CORRECT THE COMPANY ADDRESS PREVIOUSLY RECORDED ON REEL 023910 FRAME 0470. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 18, 2010
From: YEMINI, YECHIAM; KLIGER, SHMUEL; FLORISSI, DANILO; BENJAMIN, SHAI; RABOVER, YURI
To: VMTURBO, INC.
Reel/Frame 024101/0613 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2010
From: YEMINI, YECHIAM; KLIGER, SHMUEL; FLORISSI, DANILO; BENJAMIN, SHAI; RABOVER, YURI
To: VMTURBO, INC.
Reel/Frame 023910/0470 →
Continuity (1)
Continuation 12492890 · Jun 26, 2009