IP Library Granted Patent US 8,255,906
Granted Patent B2
US 8,255,906 · App. 12/196,044 · Granted Aug 28, 2012

Modeling overhead for a plurality of virtualization technologies in a computer system

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,255,906
App. No.
12/196,044
Granted
Aug 28, 2012
Kind
B2
Abstract

An interactive virtualization management system provides an assessment of proposed or existing virtualization schemes. A Virtual Technology Overhead Profile (VTOP) is created for each of a variety of configurations of host computer systems and virtualization technologies by measuring the overhead experienced under a variety of conditions. The multi-variate overhead profile corresponding to each target configuration being evaluated is used by the virtualization management system to determine the overhead that is to be expected on the target system, based on the particular set of conditions at the target system. Based on these overhead estimates, and the parameters of the jobs assigned to each virtual machine on each target system, the resultant overall performance of the target system for meeting the performance criteria of each of the jobs in each virtual machine is determined, and over-committed virtual machines and computer systems are identified.

Claims (61)

1. A virtualization management system comprising:

a database embodied on a non-transitory computer readable medium that includes a plurality of multi-variate overhead profiles corresponding to amounts of overhead associated with running tasks on one or more virtual machines on one or more measured computer systems,

an input element that is configured to receive an allocation of target virtual machines among one or more target computer systems, and an assignment of tasks to each of the target virtual machines,

a selector element that is configured to select and receive one or more target profiles of the plurality of overhead profiles corresponding to the one or more target computer systems from the database,

a performance modeling engine that includes a processing device that is configured to estimate an overhead measure associated with each target computer system based on the one or more target profiles, the allocation of virtual machines to the target computer system, and the assignment of tasks to each of the target virtual machines, and

an output element that is configured to provide the overhead measure associated with each target computer system;

wherein the plurality of overhead profiles includes profiles based on a plurality of virtualization technologies, each virtualization technology providing a different technique for dividing resources of a computer into multiple execution environments.

2. The system of claim 1 , wherein:

the input element is configured to receive an alternative allocation of target virtual machines among the one or more target systems,

the selector element and performance modeling system are configured to estimate an alternative overhead measure based on this alternative allocation, and

the output element is configured to provide the alternative overhead measure.

3. The system of claim 1 , wherein the performance modeling engine is configured to estimate the overhead measure based on a multi-variate interpolation of the one or more target profiles.

4. The system of claim 3 , wherein the performance modeling engine is configured to estimate the overhead measure based on a performance ratio based on a performance measure of each target computer system and its corresponding measured computer system.

5. The system of claim 1 , wherein the performance modeling engine is configured to estimate the overhead measure based on a performance ratio based on a performance measure of each target computer system and its corresponding measured computer system.

6. The system of claim 1 , wherein the plurality of virtualization technologies includes at least two of: Hyper-threaded Processor, VMware ESX, AIX Micropartition, Microsoft Virtual Machine Technology, Sun N1, HP nPar, HP vPar, and IBM PR/SM virtualization technologies.

7. The system of claim 1 , wherein the plurality of virtualization technologies includes each of VMware ESX and AIX Micropartition virtualization technologies.

8. The system of claim 1 , wherein variables of the multi-variate overhead profiles include at least two of: number of virtual machines, utilization of each virtual machine, number of physical processors, core per processor, threads per core, CPU speed, priority scheme, and memory size.

9. The system of claim 1 , wherein variables of the multi-variate overhead profiles include each of: number of virtual machines, utilization of each virtual machine, number of physical processors, core per processor, and threads per core.

10. The system of claim 1 , wherein the output element is configured to identify virtual machines that do not satisfy one or more performance criteria.

11. The system of claim 10 , wherein the performance criteria includes a minimum service level associated with each of one or more of the virtual machines.

12. The system of claim 10 , wherein the performance criteria includes a response time associated with each of one or more tasks.

13. The system of claim 1 , wherein the input element is configured to facilitate the allocation of target virtual machines among one or more target computer systems by allowing a user to drag an icon of a select task and drop the icon into a graphic object corresponding to the target computing system.

14. The system of claim 1 , wherein the database is modifiable by the user, including additions and deletions of overhead profiles.

15. The system of claim 1 , wherein the input element is configured to facilitate the additions and deletions of overhead profiles.

16. A method comprising:

providing a plurality of overhead profiles on a non-transitory computer readable medium, each overhead profile being based on measures of overhead for a given virtualization technology on a given computer system,

defining an allocation of tasks on one or more virtual machines on a target computer system that is using a target virtualization technology,

identifying a select overhead profile of the plurality of overhead profiles corresponding to the target computer system and target virtualization technology, and

determining, by a processing device, an overhead associated with the target computer system based on the select overhead profile and a plurality of operating parameters associated with the tasks and the target computer system

wherein the plurality of overhead profiles includes profiles based on a plurality of virtualization technologies, each virtualization technology providing a different technique for dividing resources of a computer into multiple execution environments.

17. The method of claim 16 , including determining a resultant performance measure for each of the tasks based on the overhead associated with the target computer system.

18. The method of claim 17 , including identifying a performance criteria associated with at least one of the tasks, and determining whether the performance criteria is satisfied based on the resultant performance measure of the at least one task.

19. The method of claim 16 , wherein the plurality of virtualization technologies includes technologies selected from a set that includes: Hyper-threaded Processor, VMware ESX, AIX Micropartition, Microsoft Virtual Machine Technology, Sun N1, HP nPar, HP vPar, and IBM PR/SM virtualization technologies.

20. The method of claim 16 , wherein the plurality of virtualization technologies includes VMware ESX and AIX Micropartition virtualization technologies.

21. The method of claim 16 , wherein the plurality of operating parameters includes at least two of: number of virtual machines, utilization of each virtual machine, number of physical processors, core per processor, threads per core, priority scheme, and memory size.

22. The method of claim 16 , wherein the plurality of operating parameters includes each of: number of virtual machines, utilization of each virtual machine, number of physical processors, core per processor, and threads per core.

23. A method comprising:

for each virtualization technology of a plurality of virtualization technologies:

implementing the virtualization technology on a physical computer system having a first configuration,

partitioning the computer system into a plurality of groups of virtual machines using the virtualization technology, wherein each group contains a different number of virtual machines,

for each group of virtual machines, determining a measure of overhead for each utilization of a plurality of utilizations, and

providing an overhead profile for the virtualization technology based on the measures of overhead for each group of virtual machines and each utilization to facilitate determining a measure of overhead for a target system using the virtualization technology on a similar computer system having the first configuration,

wherein each virtualization technology of the plurality of virtualization technologies provides a different technique for partitioning the computer system into the plurality of numbers of virtual machines.

24. The method of claim 23 , including changing the computer system to a second configuration, and augmenting the overhead profile for one or more of the virtualization technologies by repeating the partitioning and determining to determine the measures of overhead for each group of virtual machines and each utilization to facilitate determining an other measure of overhead for an other target system using the virtualization technology on an other similar computer system having the second configuration.

25. The method of claim 23 , including repeating the method of claim 23 for one or more of the virtualization technologies on a second computer system to provide another overhead profile for the one or more virtualization technologies.

26. The method of claim 23 , wherein the plurality of virtualization technologies includes at least two of: Hyper-threaded Processor, VMware ESX, AIX Micropartition, Microsoft Virtual Machine Technology, Sun N1, HP nPar, HP vPar, IBM PR/SM, VMware ESX, and AIX Micropartition virtualization technologies.

27. A non-transitory computer readable medium that includes a computer program that, when executed, causes a processor to:

define an allocation of tasks on one or more virtual machines on a target computer system that is using a target virtualization technology of a plurality of virtualization technologies, wherein each virtualization technology provides a different technique for dividing resources of the target computer system into multiple virtual machines,

identify a select overhead profile of a plurality of overhead profiles corresponding to the target computer system and target virtualization technology, each overhead profile of the plurality of overhead profiles being based on measures of overhead for each of the plurality of virtualization technologies on a given computer system,

determine an overhead associated with the target computer system based on the select overhead profile and a plurality of operating parameters associated with the tasks and the target computer system, and

create one or more reports based on the overhead.

28. The medium of claim 27 , wherein the program causes the processor to determine a resultant performance measure for each of the tasks based on the overhead associated with the target computer system, and at least one of the one or more reports is based on one or more of the performance measures.

29. The medium of claim 28 , wherein the at least one of the one or more reports includes an indication of whether a performance criteria associated with at least one of the tasks is satisfied, based on the performance measure associated with the at least one of the tasks.

30. The medium of claim 27 , wherein the plurality of virtualization technologies includes at least two of: Hyper-threaded Processor, VMware ESX, AIX Micropartition, Microsoft Virtual Machine Technology, Sun N1, HP nPar, HP vPar, and IBM PR/SM virtualization technologies.

31. The medium of claim 27 , wherein the plurality of virtualization technologies includes each of VMware ESX and AIX Micropartition virtualization technologies.

32. A non-transitory computer readable medium that includes a computer program that, when executed, causes a processor to:

receive an identification of a computer system having a first configuration,

determine a measure of overhead for each utilization of a plurality of utilizations for each of a number of virtual machines on the computer system created by each virtualization technology of a plurality of virtualization technologies, and

provide an overhead profile based on the measures of overhead for each number of virtual machines and each utilization to facilitate determining a measure of overhead for a target system using the virtualization technology on a similar computer system having the first configuration,

wherein each virtualization technology provides a different technique for dividing resources of the computer system into multiple execution environments.

33. The medium of claim 32 , wherein the program causes the processor to augment the overhead profile by determining the measures of overhead for each of a number of virtual machines and each of a plurality of utilizations for a second configuration of the computer system, to facilitate determining an other measure of overhead for an other target system using the virtualization technology on an other similar computer system having the second configuration.

Assignments (21)
RELEASE OF SECURITY INTEREST Recorded Aug 11, 2023
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC; RIVERBED HOLDINGS, INC.
Reel/Frame 064673/0739 →
CHANGE OF NAME Recorded Feb 18, 2022
From: RIVERBED TECHNOLOGY, INC.
To: RIVERBED TECHNOLOGY LLC
Reel/Frame 059232/0551 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0108 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0169 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0046 →
SECURITY INTEREST Recorded Dec 10, 2021
From: RIVERBED TECHNOLOGY LLC (FORMERLY RIVERBED TECHNOLOGY, INC.); ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
Reel/Frame 058486/0216 →
PATENT SECURITY AGREEMENT Recorded Oct 27, 2021
From: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 057943/0386 →
PATENT SECURITY AGREEMENT SUPPLEMENT - FIRST LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 057810/0502 →
PATENT SECURITY AGREEMENT SUPPLEMENT - SECOND LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 057810/0559 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORED AT REEL 056397, FRAME 0750 Recorded Oct 13, 2021
From: MACQUARIE CAPITAL FUNDING LLC
To: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 057983/0356 →
SECURITY INTEREST Recorded May 26, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MACQUARIE CAPITAL FUNDING LLC
Reel/Frame 056397/0750 →
PATENT SECURITY AGREEMENT Recorded Mar 5, 2021
From: RIVERBED TECHNOLOGY, INC.
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 055514/0249 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY NAME PREVIOUSLY RECORDED ON REEL 035521 FRAME 0069. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST IN PATENTS. Recorded Jun 2, 2015
From: JPMORGAN CHASE BANK, N.A.
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035807/0680 →
SECURITY INTEREST Recorded May 1, 2015
From: RIVERBED TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 035561/0363 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 28, 2015
From: BARCLAYS BANK PLC
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035521/0069 →
PATENT SECURITY AGREEMENT Recorded Dec 27, 2013
From: RIVERBED TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032421/0162 →
RELEASE OF PATENT SECURITY INTEREST Recorded Dec 26, 2013
From: MORGAN STANLEY & CO. LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 032113/0425 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2013
From: OPNET TECHNOLOGIES LLC
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 030459/0372 →
CHANGE OF NAME Recorded May 14, 2013
From: OPNET TECHNOLOGIES, INC.
To: OPNET TECHNOLOGIES LLC
Reel/Frame 030411/0310 →
SECURITY AGREEMENT Recorded Dec 20, 2012
From: RIVERBED TECHNOLOGY, INC.; OPNET TECHNOLOGIES, INC.
To: MORGAN STANLEY & CO. LLC
Reel/Frame 029646/0060 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2008
From: DING, YIPING; CARTER, DAVID; ANANTHANARAYANAN, SHANKAR
To: OPNET TECHNOLOGIES, INC
Reel/Frame 021426/0185 →