IP Library Granted Patent US 8,433,801
Granted Patent B1
US 8,433,801 · App. 12/540,298 · Granted Apr 30, 2013

Managing resources in virtualization systems

Inventors: Yechiam Yemini (Alpine, NJ); Shmuel Kliger (Chappaqua, NY); Danilo Florissi (Briarcliff Manor, NY); Shai Benjamin (Mevaseret, 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,433,801
App. No.
12/540,298
Granted
Apr 30, 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 (59)

1. A computer-implemented method, comprising:

allocating, from a computer server in a virtualization system, a computer resource bundle to a virtual machine 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;

determining, by a virtual machine element manager running on a data processor in the virtualization system, a productivity score of the virtual machine, wherein the productivity score is based at least in part on a comparison of revenues to costs associated with the virtual machine over a period of time;

determining that the productivity score of the virtual machine is below a threshold productivity score; and

automatically initiating, by the virtual machine element manager, at least one of a suspension sequence and a termination sequence for the virtual machine based at least in part on the determination that the productivity score of the virtual machine is below a threshold level;

wherein the automatically initiating is based at least in part on a determination that the virtual machine is to be moved to a different computer server;

wherein the determination that the virtual machine is to be moved to the different computer server is based at least in part on the price of one or more computer resources being provided by the different computer server;

wherein the suspension sequence or termination sequence respectively results in the suspension or termination of the guest operating system running on the virtual machine.

2. The computer-implemented method of claim 1 , wherein the productivity score is based at least in part on the existing number of applications running on the virtual machine.

3. The computer-implemented method of claim 1 , wherein the productivity score is based at least in part on an existing budget, in virtual currency units, for the virtual machine.

4. The computer-implemented method of claim 1 , wherein the productivity score is based at least in part on the number of virtual machines operating in the virtualization system.

5. The computer-implemented method of claim 1 , wherein the automatically initiating comprises initiating the suspension sequence, and wherein the suspension sequence comprises:

storing state data corresponding to one or more applications running on the virtual machine.

6. The computer-implemented method of claim 1 , wherein the automatically initiating comprises initiating the suspension sequence, further comprising:

after a predetermined period of time, determining that the termination sequence for the virtual machine is to be initiated.

7. The computer-implemented method of claim 1 , wherein the automatically initiating comprises initiating the suspension sequence, further comprising:

after a predetermined period of time, determining that a re-activation sequence for the virtual machine is to be initiated.

8. The computer-implemented method of claim 7 , wherein the determining that a re-activation sequence for the virtual machine is to be initiated is based on the receipt of an initialize signal.

9. The computer-implemented method of claim 1 , wherein the automatically initiating comprises initiating the termination sequence, and wherein the termination sequence comprises:

terminating one or more active applications running on the virtual machine;

terminating one or more operating systems running on the virtual machine following termination of the one or more active applications; and

terminating the virtual machine following termination of the one or more operating systems.

10. A system for managing computer resources, comprising:

a virtualization system comprising a virtual machine; and

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

allocating, from a computer server in the virtualization system, a computer resource bundle to the virtual machine 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;

determining, by a virtual machine element manager running on a data processor in the virtualization system, a productivity score of the virtual machine, wherein the productivity score is based at least in part on a comparison of revenues to costs associated with the virtual machine over a period of time;

determining that the productivity score of the virtual machine is below a threshold productivity score; and

automatically initiating, by the virtual machine element manager, at least one of a suspension sequence and a termination sequence for the virtual machine based at least in part on the determination that the productivity score of the virtual machine is below a threshold level, wherein the suspension sequence or termination sequence respectively results in the suspension or termination of the guest operating system running on the virtual machine;

wherein the automatically initiating is based at least in part on a determination that the virtual machine is to be moved to a different computer server;

wherein the determination that the virtual machine is to be moved to the different computer server is based at least in part on the price of one or more computer resources being provided by the different computer server.

11. A computer-implemented method, comprising:

allocating a computer resource bundle to a computer server operating in a virtualization system that includes a virtual machine, 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;

determining, by a computer server element manager running on a data processor in the virtualization system, a productivity score of the computer server, wherein the productivity score is based at least in part on a comparison of revenues to costs associated with the computer server over a period of time;

determining that the productivity score of the computer server is below a threshold productivity score; and

automatically initiating, by the computer server element manager, at least one of a suspension sequence and a termination sequence for the computer server based at least in part on the determination that the productivity score of the computer server is below a threshold level;

wherein the automatically initiating is based at least in part on a determination that the virtual machine running on the computer server is to be moved to a different computer server;

wherein the determination that the virtual machine running on the computer server is to be moved to the different computer server is based at least in part on the price of one or more computer resources being provided by the different computer server.

12. The computer-implemented method of claim 11 , wherein the productivity score is based at least in part on the cost of purchasing computer resources for continued operation of the computer server.

13. The computer-implemented method of claim 11 , wherein the productivity score is based at least in part on the existing number of virtual machines running on the computer server.

14. The computer-implemented method of claim 11 , wherein the productivity score is based at least in part on an existing budget, in virtual currency units, for the computer server.

15. The computer-implemented method of claim 11 , wherein the automatically initiating comprises initiating the suspension sequence, and wherein the suspension sequence comprises:

storing state data corresponding to one or more virtual machines running on the computer server; and

suspending at least one guest operating system running on one of the one or more virtual machines.

16. The computer-implemented method of claim 11 , wherein the automatically initiating comprises initiating the suspension sequence, further comprising:

after a predetermined period of time, determining that the termination sequence for the computer server is to be initiated.

17. The computer-implemented method of claim 11 , wherein the automatically initiating comprises initiating the suspension sequence, further comprising:

after a predetermined period of time, determining that a re-activation sequence for the computer server is to be initiated.

18. The computer-implemented method of claim 17 , wherein the determining that a re-activation sequence for the computer server is to be initiated is based on the receipt of an initialize signal.

19. The computer-implemented method of claim 11 , wherein the automatically initiating comprises initiating the termination sequence, and wherein the termination sequence comprises:

terminating one or more active virtual machines running on the computer server; and

terminating the computer server following termination of the one or more virtual machines.

20. The computer-implemented method of claim 19 , wherein the terminating one or more active virtual machines comprises, for each virtual machine:

terminating one or more active applications running on the virtual machine;

terminating one or more guest operating systems running on the virtual machine following termination of the one or more active applications; and

terminating the virtual machine following termination of the one or more guest operating systems.

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

determining that a re-activation sequence for the virtual machine is to be initiated based on a re-activation condition being met.

22. The computer-implemented method of claim 21 , wherein the automatically initiating at least one of a suspension sequence and a termination sequence comprises re-activation of the virtual machine on a different computer server.

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