IP Library Granted Patent US 8,396,807
Granted Patent B1
US 8,396,807 · App. 12/540,293 · Granted Mar 12, 2013

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.
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,396,807
App. No.
12/540,293
Granted
Mar 12, 2013
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 (50)

1. A computer-implemented method, comprising:

determining, by an application element manager running on a data processor in a virtualization system including at least one hypervisor for concurrently running at least two guest operating systems, a software license to be purchased using virtual currency units by an application running on a virtual machine in the virtualization system, wherein the virtual machine is a software implementation of a computer that runs at least one of the guest operating systems and executes one or more programs or applications on the at least one of the guest operating systems, and wherein the software license is valid for a predetermined period of time;

determining, by a licensing element manager running on a data processor in a virtualization system, the number of copies of the software license available for purchase in the virtualization system;

determining, by the licensing element manager, the purchase price for a copy of the software license;

automatically purchasing, by the application element manager, a copy of the software license for the application based at least in part on the determined purchase price for a copy of the software license;

allocating the purchased copy of the software license to the application for the predetermined period of time;

increasing, by the licensing element manager, the purchase price for the copy of the software license; and

determining, by the application element manager, whether to release the software license or to pay additional virtual currency units for continued use of the software license for the remainder of the predetermined period of time.

2. The computer-implemented method of claim 1 , wherein the determined purchase price for a copy of the software license is based at least in part on demand for the software license.

3. The computer-implemented method of claim 2 , wherein the purchase price for a copy of the software license is adjusted after the initial determination of the purchase price based on changed demand for the software license.

4. The computer-implemented method of claim 3 , wherein the purchase price for a copy of the software license is increased based on the changed demand, further comprising:

paying, after the price adjustment, additional virtual currency units by the application for continued use of the software license.

5. The computer-implemented method of claim 3 , wherein the software license is released by the application before the expiration of the predetermined period of time.

6. The computer-implemented method of claim 1 , wherein the application element manager is running in a first virtualization system, and the licensing element manager is running in a second virtualization system.

7. The computer-implemented method of claim 1 , further comprising:

maintaining a budget, in virtual currency units, for the application, wherein the allocation of the purchased copy of the software license to the application is based on payment of virtual currency units from the budget for the application to a budget for the licensing element manager based on the purchase price for a copy of the software license.

8. The computer-implemented method of claim 7 , further comprising:

determining, by the application element manager, the value of a service level agreement parameter for the application, wherein the service level agreement parameter is one of the average transaction rate of the application or the number of transactions performed by the application within a predetermined prior time period; and

adjusting the budget, in virtual currency units, for the application running on the virtual machine based at least in part on the determined value of a service level agreement parameter for the application.

9. The computer-implemented method of claim 7 , further comprising:

converting virtual currency units in the budget for the licensing element manager to government issued monetary currency based on a predetermined exchange rate.

10. A system for managing computer resources, comprising:

a computer-based virtualization system comprising an application running on a virtual machine and at least one hypervisor for concurrently running at least two guest operating systems, wherein the virtual machine is a software implementation of a computer that runs at least one of the guest operating systems and executes one or more programs or applications on the at least one of the guest operating systems; and

instructions stored on a non-transitory 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:

determining, by an application element manager running on a data processor in a virtualization system, a software license to be purchased using virtual currency units by the application operating in the virtualization system, wherein the software license is valid for a predetermined period of time;

determining, by a licensing element manager running on a data processor in the virtualization system, the number of copies of the software license available for purchase in the virtualization system;

determining, by the licensing element manager, the purchase price for a copy of the software license, based at least in part on demand for the software license;

automatically purchasing, by the application element manager, a copy of the software license for the application based at least in part on the determined purchase price for a copy of the software license;

allocating the purchased copy of the software license to the application for the predetermined period of time;

increasing, by the licensing element manager, the purchase price for the copy of the software license; and

determining, by the application element manager, whether to release the software license or to pay additional virtual currency units for continued use of the software license for the remainder of the predetermined period of time.

11. The computer-implemented method of claim 10 , wherein the determined purchase price for a copy of the software license is based at least in part on demand for the software license.

12. The computer-implemented method of claim 11 , wherein the purchase price for a copy of the software license is adjusted after the initial determination of the purchase price based on changed demand for the software license.

13. The computer-implemented method of claim 12 , wherein the purchase price for a copy of the software license is increased based on the changed demand, further comprising:

paying, after the price adjustment, additional virtual currency units by the application for continued use of the software license.

14. The computer-implemented method of claim 12 , wherein the software license is released by the application before the expiration of the predetermined period of time.

15. The computer-implemented method of claim 10 , wherein the application element manager is running in a first virtualization system, and the licensing element manager is running in a second virtualization system.

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

maintaining a budget, in virtual currency units, for the application, wherein the allocation of the purchased copy of the software license to the application is based on payment of virtual currency units from the budget for the application to a budget for the licensing element manager based on the purchase price for a copy of the software license.

17. The computer-implemented method of claim 16 , further comprising:

determining, by the application element manager, the value of a service level agreement parameter for the application, wherein the service level agreement parameter is one of the average transaction rate of the application or the number of transactions performed by the application within a predetermined prior time period; and

adjusting the budget, in virtual currency units, for the application running on the virtual machine based at least in part on the determined value of a service level agreement parameter for the application.

18. A computer program product, encoded on a non-transitory computer readable medium, operable to cause a data processing apparatus to perform operations comprising:

determining, by an application element manager running on a data processor in a virtualization system including at least one hypervisor for concurrently running at least two guest operating systems, a software license to be purchased using virtual currency units by an application running on a virtual machine in the virtualization system, wherein the virtual machine is a software implementation of a computer that runs at least one of the guest operating systems and executes one or more programs or applications on the at least one of the guest operating systems, and wherein the software license is valid for a predetermined period of time;

determining, by a licensing element manager running on a data processor in a virtualization system, the number of copies of the software license available for purchase in the virtualization system;

determining, by the licensing element manager, the purchase price for a copy of the software license;

automatically purchasing, by the application element manager, a copy of the software license for the application based at least in part on the determined purchase price for a copy of the software license;

allocating the purchased copy of the software license to the application for the predetermined period of time;

increasing, by the licensing element manager, the purchase price for the copy of the software license; and

determining, by the application element manager, whether to release the software license or to pay additional virtual currency units for continued use of the software license for the remainder of the predetermined period of time.

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 0796. 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/0940 →
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/0796 →
Continuity (1)
Continuation 12492890 · Jun 26, 2009