IP Library Granted Patent US 11,080,084
Granted Patent B1
US 11,080,084 · App. 16/789,898 · Granted Aug 3, 2021

Managing resources in virtualization systems

Inventors: Yechiam Yemini (Alpine, NJ); Shmuel Kliger (Chappaqua, NY); Danilo Florissi (Briarcliff Manor, NY); Shai Benjamin (Mevaseret Zion, IL); Yuri Rabover (San Carlos, CA); Mor Cohen (New York, NY); Enlin Xu (New York, NY); Endre Sara (Briarcliff Manor, NY)
Assignee: TURBONOMIC, INC.
G06F9/45558G06F9/45545G06Q10/0631H04L67/1023G06F2009/45579G06F2009/45595
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 11,080,084
App. No.
16/789,898
Granted
Aug 3, 2021
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 (28)

1. A computer-implemented method, comprising:

determining, by a virtual machine element manager running on a data processor in a virtualization system, a computer resource bundle to be allocated to a virtual machine in the virtualization system, the computer resource bundle comprising a plurality of computer resources each having an assigned value, 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;

identifying multiple computer resource providers in the virtualization system offering the computer resource bundle;

determining, for each of the multiple computer resource providers, a value for the computer resource bundle based on the assigned values for the plurality of the computer resources;

automatically selecting, by the virtual machine element manager, a first one of the multiple computer resource providers based at least in part on the determined value for the computer resource bundle for each of the multiple computer resource providers;

allocating the computer resource bundle from the first one of the multiple computer resource providers, by a hypervisor associated with the first one of the multiple computer resource providers, to the virtual machine;

comparing the value for the computer resource bundle determined for the first one of the multiple computer resource providers against a new value for the computer resource bundle determined for a second one of the multiple computer resource providers; and

based at least in part on the comparison, determining whether the virtual machine is to be moved from the first one of the multiple computer resource providers to the second one of the multiple computer resource providers.

2. The method of claim 1 , wherein the value is expressed in virtual currency units.

3. The method of claim 1 , wherein the value is expressed in real currency units.

4. The method of claim 1 , wherein the value is based on a measure of importance.

5. A computer-implemented method, comprising:

determining, by a virtual machine element manager running on a data processor in a virtualization system, a computer resource bundle to be allocated to a virtual machine in the virtualization system, the computer resource bundle comprising a plurality of computer resources each having an assigned value, 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;

identifying multiple computer resource providers in the virtualization system offering the computer resource bundle;

determining, for each of the multiple computer resource providers, a value for the computer resource bundle based on the assigned values for the plurality of the computer resources;

automatically selecting, by the virtual machine element manager, a first one of the multiple computer resource providers based at least in part on the determined value for the computer resource bundle for each of the multiple computer resource providers;

allocating the computer resource bundle from the first one of the multiple computer resource providers, by a hypervisor associated with the first one of the multiple computer resource providers, to the virtual machine; and

determining whether the virtual machine is to be moved from the first one of the multiple computer resource providers to a second one of the multiple computer resource providers, wherein the moving determination is based at least in part on a new value for the computer resource bundle determined for the second one of the multiple computer resource providers based on the assigned values for the plurality of the computer resources,

wherein the new value for the computer resource bundle determined for the second one of the multiple computer resource providers is based on a balance of supply and demand.

6. A computer-implemented method, comprising:

determining, by a virtual machine element manager running on a data processor in a virtualization system, a computer resource bundle to be allocated to a virtual machine in the virtualization system, the computer resource bundle comprising a plurality of computer resources each having an assigned value, 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;

identifying multiple computer resource providers in the virtualization system offering the computer resource bundle;

determining, for each of the multiple computer resource providers, a value for the computer resource bundle based on (i) the assigned values for the plurality of the computer resources and (ii) a capacity or utilization associated with the computer resource bundle;

automatically selecting, by the virtual machine element manager, a first one of the multiple computer resource providers based at least in part on the determined value for the computer resource bundle for each of the multiple computer resource providers;

allocating the computer resource bundle from the first one of the multiple computer resource providers, by a hypervisor associated with the first one of the multiple computer resource providers, to the virtual machine;

comparing the value for the computer resource bundle determined for the first one of the multiple computer resource providers against a new value for the computer resource bundle determined for a second one of the multiple computer resource providers; and

based at least in part on the comparison, determining whether the virtual machine is to be moved from the first one of the multiple computer resource providers to the second one of the multiple computer resource providers,

wherein the new value for the computer resource bundle determined for the second one of the multiple computer resource providers is based on a balance of supply and demand.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2022
From: TURBONOMIC, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 062202/0030 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2021
From: YEMINI, YECHIAM; KLIGER, SHMUEL; FLORISSI, DANILO; BENJAMIN, SHAI; RABOVER, YURI; COHEN, MOR; XU, ENLIN; SARA, ENDRE
To: VMTURBO, INC.
Reel/Frame 055471/0532 →
CHANGE OF NAME Recorded Mar 3, 2021
From: VMTURBO, INC.
To: TURBONOMIC, INC.
Reel/Frame 055474/0063 →
Continuity (6)
Continuation 15353992 · Nov 17, 2016
Division 14539973 · Nov 12, 2014
Continuation In Part 12492890 · Jun 26, 2009
Provisional Application 62077898 · Nov 10, 2014
Provisional Application 62077852 · Nov 10, 2014
Provisional Application 62077860 · Nov 10, 2014